| # Copyright 1999-2016 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| 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 |
| } |