# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 GNOME2_LA_PUNT="yes" VALA_USE_DEPEND="vapigen" inherit autotools bash-completion-r1 check-reqs gnome2 user systemd udev vala multilib-minimal DESCRIPTION="System service to accurately color manage input and output devices" HOMEPAGE="https://www.freedesktop.org/software/colord/" SRC_URI="https://www.freedesktop.org/software/colord/releases/${P}.tar.xz" LICENSE="GPL-2+" SLOT="0/2" # subslot = libcolord soname version KEYWORDS="alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc x86 ~x86-fbsd" # We prefer policykit enabled by default, bug #448058 IUSE="argyllcms examples extra-print-profiles +gusb +introspection +policykit scanner systemd +udev vala" REQUIRED_USE=" gusb? ( udev ) scanner? ( udev ) vala? ( introspection ) " COMMON_DEPEND=" dev-db/sqlite:3=[${MULTILIB_USEDEP}] >=dev-libs/glib-2.44.0:2[${MULTILIB_USEDEP}] >=media-libs/lcms-2.6:2=[${MULTILIB_USEDEP}] argyllcms? ( media-gfx/argyllcms ) gusb? ( >=dev-libs/libgusb-0.2.7[introspection?,${MULTILIB_USEDEP}] ) introspection? ( >=dev-libs/gobject-introspection-0.9.8:= ) policykit? ( >=sys-auth/polkit-0.104 ) scanner? ( media-gfx/sane-backends sys-apps/dbus ) systemd? ( >=sys-apps/systemd-44:0= ) udev? ( virtual/udev virtual/libgudev:=[${MULTILIB_USEDEP}] virtual/libudev:=[${MULTILIB_USEDEP}] ) " RDEPEND="${COMMON_DEPEND} !media-gfx/shared-color-profiles !<=media-gfx/colorhug-client-0.1.13 " DEPEND="${COMMON_DEPEND} dev-libs/libxslt >=dev-util/gtk-doc-am-1.9 >=dev-util/intltool-0.35 >=sys-devel/gettext-0.17 virtual/pkgconfig[${MULTILIB_USEDEP}] extra-print-profiles? ( media-gfx/argyllcms ) vala? ( $(vala_depend) ) " # FIXME: needs pre-installed dbus service files RESTRICT="test" # According to upstream comment in colord.spec.in, building the extra print # profiles requires >=4G of memory CHECKREQS_MEMORY="4G" pkg_pretend() { use extra-print-profiles && check-reqs_pkg_pretend } pkg_setup() { use extra-print-profiles && check-reqs_pkg_setup enewgroup colord enewuser colord -1 -1 /var/lib/colord colord } src_prepare() { # Adapt to Gentoo paths sed -i -e 's/spotread/argyll-spotread/' \ src/sensors/cd-sensor-argyll.c \ configure.ac || die eautoreconf use vala && vala_src_prepare gnome2_src_prepare multilib_copy_sources } multilib_src_configure() { # Reverse tools require gusb # bash-completion test does not work on gentoo local myconf=( --disable-bash-completion --disable-examples --disable-static --enable-libcolordcompat --with-daemon-user=colord --localstatedir="${EPREFIX}"/var $(multilib_native_use_enable argyllcms argyllcms-sensor) $(multilib_native_use_enable extra-print-profiles print-profiles) $(multilib_native_usex extra-print-profiles COLPROF="$(type -P argyll-colprof)" "") $(use_enable gusb) $(multilib_native_use_enable gusb reverse) $(multilib_native_use_enable introspection) $(multilib_native_use_enable policykit polkit) $(multilib_native_use_enable scanner sane) $(multilib_native_use_enable systemd systemd-login) $(use_enable udev) --with-udevrulesdir="$(get_udevdir)"/rules.d $(multilib_native_use_enable vala) --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" ) ECONF_SOURCE=${S} \ gnome2_src_configure "${myconf[@]}" } multilib_src_compile() { if multilib_is_native_abi; then gnome2_src_compile else emake -C lib/colord use gusb && emake -C lib/colorhug emake -C lib/compat fi } multilib_src_test() { if multilib_is_native_abi; then default else emake -C lib/colord check use gusb && emake -C lib/colorhug check emake -C lib/compat check fi } multilib_src_install() { if multilib_is_native_abi; then gnome2_src_install else gnome2_src_install -j1 -C lib/colord use gusb && gnome2_src_install -j1 -C lib/colorhug gnome2_src_install -j1 -C lib/compat gnome2_src_install -j1 -C contrib/session-helper install-libcolord_includeHEADERS fi } multilib_src_install_all() { einstalldocs newbashcomp data/colormgr colormgr # Ensure config and profile directories exist and /var/lib/colord/* # is writable by colord user keepdir /var/lib/color{,d}/icc fowners colord:colord /var/lib/colord{,/icc} if use examples; then docinto examples dodoc examples/*.c fi }