1 |
commit: e3813844624d2d93ebff79fcd800fe6e516d9063 |
2 |
Author: Jonathan Scruggs <j.scruggs <AT> gmail <DOT> com> |
3 |
AuthorDate: Sat Sep 3 16:13:01 2016 +0000 |
4 |
Commit: David Seifert <soap <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Sep 4 20:14:09 2016 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e3813844 |
7 |
|
8 |
app-misc/ddctool: New package |
9 |
|
10 |
ddctool primarily uses DDC/CI (Display Data Channel Command Interface) |
11 |
to communicate with monitors implementing MCCS (Monitor Control Command |
12 |
Set) over I2C. Normally, the video driver for the monitor exposes the |
13 |
I2C channel as devices named /dev/i2c-n. Alternatively, there is initial |
14 |
support for monitors (such as Apple displays) that implement MCCS using |
15 |
a USB connection. |
16 |
|
17 |
Package-Manager: portage-2.3.0 |
18 |
|
19 |
Signed-off-by: Jonathan Scruggs (j.scruggs <AT> gmail.com) |
20 |
Closes: https://github.com/gentoo/gentoo/pull/2201 |
21 |
Signed-off-by: David Seifert <soap <AT> gentoo.org> |
22 |
|
23 |
app-misc/ddctool/Manifest | 1 + |
24 |
app-misc/ddctool/ddctool-0.4.2.ebuild | 79 +++++++++++++++++++++++++++++++++++ |
25 |
app-misc/ddctool/metadata.xml | 32 ++++++++++++++ |
26 |
3 files changed, 112 insertions(+) |
27 |
|
28 |
diff --git a/app-misc/ddctool/Manifest b/app-misc/ddctool/Manifest |
29 |
new file mode 100644 |
30 |
index 00000000..d413b27 |
31 |
--- /dev/null |
32 |
+++ b/app-misc/ddctool/Manifest |
33 |
@@ -0,0 +1 @@ |
34 |
+DIST ddctool-0.4.2.tar.gz 739613 SHA256 742465d74247c21a87247e3a386d0cbcf95808cde9fc88efae21f21c12ae9748 SHA512 7b86ae475f877ff4e66a51e0612fe505479e88b6221c74e7951e10537a3d9720f0f7c82cbbaaa990aa6daef7e1aabf493f6eb59e908af61a8f1159b9d9ac16a8 WHIRLPOOL 4d32cf667c9a61790c5ac1a02338349b085d8922b3b89e28814b394bb975c74452dd7dd8d2f14561256d724ac10f032debab8b686700783beba4dbc00b3b4238 |
35 |
|
36 |
diff --git a/app-misc/ddctool/ddctool-0.4.2.ebuild b/app-misc/ddctool/ddctool-0.4.2.ebuild |
37 |
new file mode 100644 |
38 |
index 00000000..e64c579 |
39 |
--- /dev/null |
40 |
+++ b/app-misc/ddctool/ddctool-0.4.2.ebuild |
41 |
@@ -0,0 +1,79 @@ |
42 |
+# Copyright 1999-2016 Gentoo Foundation |
43 |
+# Distributed under the terms of the GNU General Public License v2 |
44 |
+# $Id$ |
45 |
+ |
46 |
+EAPI=6 |
47 |
+ |
48 |
+inherit linux-info udev user |
49 |
+ |
50 |
+DESCRIPTION="Program for querying and changing monitor settings" |
51 |
+HOMEPAGE="http://www.ddctool.com/" |
52 |
+ |
53 |
+MY_GIT_COMMIT="9712e9b54693872cd390476a7606fc8d13b66034" |
54 |
+SRC_URI="https://github.com/rockowitz/ddctool/raw/${MY_GIT_COMMIT}/${P}.tar.gz" |
55 |
+ |
56 |
+# Binary drivers need special instructions compared to the open source counterparts. |
57 |
+# If a user switches drivers, they will need to set different use flags for |
58 |
+# Xorg or Wayland or Mesa, so this will trigger the rebuild against |
59 |
+# the different drivers. |
60 |
+IUSE="udev-i2c udev-usb video_cards_fglrx video_cards_nvidia" |
61 |
+ |
62 |
+LICENSE="GPL-2" |
63 |
+SLOT="0" |
64 |
+KEYWORDS="~amd64 ~x86" |
65 |
+ |
66 |
+RDEPEND="x11-libs/libXrandr" |
67 |
+DEPEND="video_cards_fglrx? ( x11-libs/amd-adl-sdk ) |
68 |
+ udev-usb? ( virtual/libusb ) |
69 |
+ virtual/udev |
70 |
+ virtual/pkgconfig |
71 |
+ ${RDEPEND}" |
72 |
+ |
73 |
+pkg_pretend() { |
74 |
+ # This program needs /dev/ic2-* devices to communicate with the monitor. |
75 |
+ CONFIG_CHECK="~I2C_CHARDEV" |
76 |
+ ERROR_I2C_CHARDEV="You must enable I2C_CHARDEV in your kernel to continue" |
77 |
+ if use udev-usb; then |
78 |
+ CONFIG_CHECK="~USB_HIDDEV" |
79 |
+ ERROR_I2C_CHARDEV="USB_HIDDEV is needed to support USB monitors" |
80 |
+ fi |
81 |
+} |
82 |
+ |
83 |
+src_configure() { |
84 |
+ econf $(usex video_cards_fglrx "--with-adl-headers=/usr/include/ADL" "") |
85 |
+} |
86 |
+ |
87 |
+src_install() { |
88 |
+ default |
89 |
+ use udev-i2c && udev_dorules data/etc/udev/rules.d/45-ddctool-i2c.rules |
90 |
+ use udev-usb && udev_dorules data/etc/udev/rules.d/45-ddctool-usb.rules |
91 |
+} |
92 |
+ |
93 |
+pkg_postinst() { |
94 |
+ if use udev-i2c; then |
95 |
+ enewgroup i2c |
96 |
+ udev_reload |
97 |
+ einfo "To allow non-root users access to the /dev/i2c-* devices, add those" |
98 |
+ einfo "users to the i2c group: usermod -aG i2c user" |
99 |
+ einfo "Restart the computer or reload the i2c-dev module to activate" |
100 |
+ einfo "the new udev rule." |
101 |
+ einfo "For more information read: http://www.ddctool.com/i2c_permissions/" |
102 |
+ fi |
103 |
+ |
104 |
+ if use udev-usb; then |
105 |
+ enewgroup video |
106 |
+ udev_reload |
107 |
+ einfo "To allow non-root users access to the USB monitor, add those users" |
108 |
+ einfo "to the video group: usermod -aG video user" |
109 |
+ einfo "Restart the computer, reload the hiddev module, or replug the monitor" |
110 |
+ einfo "to activate the new udev rule." |
111 |
+ einfo "For more information read: http://www.ddctool.com/usb/" |
112 |
+ fi |
113 |
+ |
114 |
+ if use video_cards_nvidia; then |
115 |
+ einfo "==================================================================" |
116 |
+ einfo "Please read the following webpage on proper usage with the nVidia " |
117 |
+ einfo "binary drivers, or it may not work: http://www.ddctool.com/nvidia/" |
118 |
+ einfo "==================================================================" |
119 |
+ fi |
120 |
+} |
121 |
|
122 |
diff --git a/app-misc/ddctool/metadata.xml b/app-misc/ddctool/metadata.xml |
123 |
new file mode 100644 |
124 |
index 00000000..7b3b1c0 |
125 |
--- /dev/null |
126 |
+++ b/app-misc/ddctool/metadata.xml |
127 |
@@ -0,0 +1,32 @@ |
128 |
+<?xml version="1.0" encoding="UTF-8"?> |
129 |
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
130 |
+<pkgmetadata> |
131 |
+ <maintainer type="person"> |
132 |
+ <email>j.scruggs@×××××.com</email> |
133 |
+ <name>Jonathan Scruggs</name> |
134 |
+ </maintainer> |
135 |
+ <maintainer type="project"> |
136 |
+ <email>proxy-maint@g.o</email> |
137 |
+ <name>Proxy Maintainers</name> |
138 |
+ </maintainer> |
139 |
+ <longdescription> |
140 |
+ ddctool primarily uses DDC/CI (Display Data Channel Command Interface) |
141 |
+ to communicate with monitors implementing MCCS (Monitor Control Command |
142 |
+ Set) over I2C. Normally, the video driver for the monitor exposes the |
143 |
+ I2C channel as devices named /dev/i2c-n. Alternatively, there is initial |
144 |
+ support for monitors (such as Apple displays) that implement MCCS using |
145 |
+ a USB connection. |
146 |
+ </longdescription> |
147 |
+ <use> |
148 |
+ <flag name="udev-i2c"> |
149 |
+ Adds a udev rule to allow non-root users in the i2c group to |
150 |
+ access the /dev/i2c-* devices. Otherwise, only root will be |
151 |
+ able to use ddctool. |
152 |
+ </flag> |
153 |
+ <flag name="udev-usb"> |
154 |
+ Adds a udev rule to allow non-root users in the video group to |
155 |
+ access USB connected monitors. Otherwise, only root will be |
156 |
+ able to use ddctool. |
157 |
+ </flag> |
158 |
+ </use> |
159 |
+</pkgmetadata> |