You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/x11-misc/colord/colord-1.3.5.ebuild

186 lines
4.9 KiB

# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
GNOME2_EAUTORECONF="yes"
VALA_USE_DEPEND="vapigen"
inherit bash-completion-r1 check-reqs gnome2 systemd udev vala multilib-minimal toolchain-funcs
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 arm64 ~hppa ~ia64 ~mips ppc ppc64 ~sparc x86"
# 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 )
"
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? (
dev-libs/libgudev:=[${MULTILIB_USEDEP}]
virtual/libudev:=[${MULTILIB_USEDEP}]
virtual/udev
)
"
RDEPEND="${DEPEND}
acct-group/colord
acct-user/colord
!<=media-gfx/colorhug-client-0.1.13
!media-gfx/shared-color-profiles
"
BDEPEND="
acct-group/colord
acct-user/colord
dev-libs/libxslt
>=dev-util/gtk-doc-am-1.9
>=dev-util/intltool-0.35
>=sys-devel/gettext-0.17
virtual/pkgconfig
extra-print-profiles? ( media-gfx/argyllcms )
vala? ( $(vala_depend) )
"
# These dependencies are required to build native build-time programs.
BDEPEND="${BDEPEND}
dev-libs/glib:2
media-libs/lcms
"
# 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
}
src_prepare() {
# Adapt to Gentoo paths
sed -i -e 's/spotread/argyll-spotread/' \
src/sensors/cd-sensor-argyll.c \
configure.ac || die
use vala && vala_src_prepare
gnome2_src_prepare
multilib_copy_sources
}
multilib_src_configure() {
if multilib_is_native_abi && tc-is-cross-compiler; then
mkdir -p "${S}-native"
pushd "${S}-native" >/dev/null 2>&1 || die
ECONF_SOURCE="${S}" econf_build --enable-static \
--disable-{argyllcms-sensor,print-profiles,shared,udev} \
{BASH_COMPLETION,GUDEV,GUSB,POLKIT,SQLITE,UDEV}_{CFLAG,LIB}S=-DSKIP
popd >/dev/null 2>&1 || die
fi
# 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
if tc-is-cross-compiler; then
emake -C "${S}-native/lib/colord" libcolord.la
emake -C "${S}-native/client" cd-create-profile cd-it8
emake \
CD_CREATE_PROFILE="${S}-native/client/cd-create-profile" \
CD_IT8="${S}-native/client/cd-it8"
else
emake
fi
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
}