summaryrefslogtreecommitdiff
path: root/app-misc/ddcutil
diff options
context:
space:
mode:
authorJonathan Scruggs <j.scruggs@gmail.com>2017-01-07 16:14:20 +0000
committerDavid Seifert <soap@gentoo.org>2017-01-15 12:14:16 +0100
commitdd4559fe50fce623f6507857a68695a40446a4a3 (patch)
tree07df92f318c9cbdc99dbb360106e191c42388e2a /app-misc/ddcutil
parent8fab9ae188879d604935d56ea95594a96df535b5 (diff)
downloadgentoo-dd4559fe50fce623f6507857a68695a40446a4a3.tar.gz
gentoo-dd4559fe50fce623f6507857a68695a40446a4a3.tar.xz
media-libs/ddcutil: Version bump to 0.7.0
* Added use flag to enable the new C/C++ API * Python API is in flux and upstream recommends not using it. It will be enabled when it's more stable. Closes: https://github.com/gentoo/gentoo/pull/3360
Diffstat (limited to 'app-misc/ddcutil')
-rw-r--r--app-misc/ddcutil/Manifest1
-rw-r--r--app-misc/ddcutil/ddcutil-0.7.0.ebuild105
-rw-r--r--app-misc/ddcutil/metadata.xml3
3 files changed, 109 insertions, 0 deletions
diff --git a/app-misc/ddcutil/Manifest b/app-misc/ddcutil/Manifest
index c224ff23bbd..bf05b2f61c7 100644
--- a/app-misc/ddcutil/Manifest
+++ b/app-misc/ddcutil/Manifest
@@ -1 +1,2 @@
DIST ddcutil-0.6.0.tar.gz 323380 SHA256 ae435699578297cdb40006471e046576e825d971c6c867822568660d815e966a SHA512 ab5882c22e7cbf17f8513a80443a25b2d1698e45b2fd3bf6f163fd86691808a5244830da2664b882ddc6592a9228afbd9f4c8f6821115167fd28b114c986e172 WHIRLPOOL 37a334a0075b08f0b6e01cc721d414aedb9e06f36fc295698662616c5fbf98ca4c256eba91344748409766fa9139173335d14b8243bc0ee7404c2914a10b38c6
+DIST ddcutil-0.7.0.tar.gz 400076 SHA256 3da9be53ecba1b3000cf859bb4b212649bb6255526866c528d9d5b03eec77f93 SHA512 c81783fdfdfeeb88e81ee107e3bf3dfbf34541e83b4c8291816e547a1ff83b10767aec2a6db1c691895f38f6f81aba608a51cf6b6461761d756d916ad19343cf WHIRLPOOL ef5f1695c742f1617daef7f55c37ba8c8ae627b87b2ef9ea75334dad985a3ba91104f1d928d2aebe9a3ec13bfc605f07b6a93441c7d9a337fd86aa918635c03d
diff --git a/app-misc/ddcutil/ddcutil-0.7.0.ebuild b/app-misc/ddcutil/ddcutil-0.7.0.ebuild
new file mode 100644
index 00000000000..0c4565a58a5
--- /dev/null
+++ b/app-misc/ddcutil/ddcutil-0.7.0.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit autotools linux-info udev user
+
+DESCRIPTION="Program for querying and changing monitor settings"
+HOMEPAGE="http://www.ddcutil.com/"
+
+SRC_URI="https://github.com/rockowitz/ddcutil/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+# Binary drivers need special instructions compared to the open source counterparts.
+# If a user switches drivers, they will need to set different use flags for
+# Xorg or Wayland or Mesa, so this will trigger the rebuild against
+# the different drivers.
+IUSE="enable-api-libs usb-monitor user-permissions video_cards_fglrx video_cards_nvidia"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="x11-libs/libXrandr
+ x11-libs/libX11
+ dev-libs/glib:2
+ sys-apps/i2c-tools
+ virtual/udev
+ usb-monitor? (
+ dev-libs/hidapi
+ virtual/libusb:1
+ sys-apps/usbutils )"
+DEPEND="video_cards_fglrx? ( x11-libs/amd-adl-sdk )
+ virtual/pkgconfig
+ ${RDEPEND}"
+
+pkg_pretend() {
+ # This program needs /dev/ic2-* devices to communicate with the monitor.
+ CONFIG_CHECK="~I2C_CHARDEV"
+ ERROR_I2C_CHARDEV="You must enable I2C_CHARDEV in your kernel to continue"
+ if use usb-monitor; then
+ CONFIG_CHECK+="~HIDRAW ~USB_HIDDEV"
+ ERROR_HIDRAW="HIDRAW is needed to support USB monitors"
+ ERROR_I2C_CHARDEV="USB_HIDDEV is needed to support USB monitors"
+ fi
+
+ # Now do the actual checks setup above
+ check_extra_config
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # Python API is still very experimental. Upstream recommends not using it.
+ local myeconfargs=(
+ $(use_enable enable-api-libs)
+ $(use_enable usb-monitor usb)
+ $(usex video_cards_fglrx "--with-adl-headers=/usr/include/ADL" "")
+ --disable-swig
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ if use user-permissions; then
+ udev_dorules data/etc/udev/rules.d/45-ddcutil-i2c.rules
+ if use usb-monitor; then
+ udev_dorules data/etc/udev/rules.d/45-ddcutil-usb.rules
+ fi
+ fi
+}
+
+pkg_postinst() {
+ if use user-permissions; then
+ enewgroup i2c
+ einfo "To allow non-root users access to the /dev/i2c-* devices, add those"
+ einfo "users to the i2c group: usermod -aG i2c user"
+ einfo "Restart the computer or reload the i2c-dev module to activate"
+ einfo "the new udev rule."
+ einfo "For more information read: http://www.ddcutil.com/i2c_permissions/"
+
+ if use usb-monitor; then
+ enewgroup video
+ einfo "To allow non-root users access to USB monitors, add those users"
+ einfo "to the video group: usermod -aG video user"
+ einfo "Restart the computer, reload the hiddev and hidraw modules, or replug"
+ einfo "the monitor to activate the new udev rule."
+ einfo "For more information read: http://www.ddcutil.com/usb/"
+ fi
+
+ udev_reload
+ fi
+
+ if use video_cards_nvidia; then
+ einfo "=================================================================="
+ einfo "Please read the following webpage on proper usage with the nVidia "
+ einfo "binary drivers, or it may not work: http://www.ddcutil.com/nvidia/"
+ einfo "=================================================================="
+ fi
+}
diff --git a/app-misc/ddcutil/metadata.xml b/app-misc/ddcutil/metadata.xml
index 6d0486ba8ad..d40fbb05a57 100644
--- a/app-misc/ddcutil/metadata.xml
+++ b/app-misc/ddcutil/metadata.xml
@@ -19,6 +19,9 @@
</longdescription>
<use>
+ <flag name="enable-api-libs" restrict="&gt;=app-misc/ddcutil-0.7.0">
+ Enables the C/C++ API.
+ </flag>
<flag name="user-permissions">
Adds a udev rules to allow non-root users in the i2c group to
access the /dev/i2c-* devices. If usb-monitor is selected, users