media-libs/ddcutil: Version bump to 0.7.0
authorJonathan Scruggs <j.scruggs@gmail.com>
Sat, 7 Jan 2017 16:14:20 +0000 (16:14 +0000)
committerDavid Seifert <soap@gentoo.org>
Sun, 15 Jan 2017 11:14:16 +0000 (12:14 +0100)
* 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

app-misc/ddcutil/Manifest
app-misc/ddcutil/ddcutil-0.7.0.ebuild [new file with mode: 0644]
app-misc/ddcutil/metadata.xml

index c224ff23bbdb0ea5063fc72b014d7f8d3ed6d18e..bf05b2f61c7e34b7b95be741f0fad7f9e9a0d507 100644 (file)
@@ -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 (file)
index 0000000..0c4565a
--- /dev/null
@@ -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
+}
index 6d0486ba8ad640a6a91ae60406540f8f9b57b423..d40fbb05a57ec298ccae75edae2665a894eafd72 100644 (file)
@@ -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