This commit is contained in:
Gerben Jan Dijkman 2021-04-21 15:31:22 +02:00
parent 49d070baaa
commit 8ac610a82e
4 changed files with 230 additions and 0 deletions

2
x11-misc/colord/Manifest Normal file
View File

@ -0,0 +1,2 @@
DIST colord-1.3.5.tar.xz 1263488 BLAKE2B de70f3f76e81d3cec826f444e4c6a1603c03b7d97fedcd04a0b9e1977d1e487d7e1327c8b2738b3cf74e9717fb6803d543786c749d3a244faa1a6480e77e3436 SHA512 a0084ad2c08ae88c8023b8bade68f6cf25e13c77a6a37ef127b2914e86b06e6a7a783f9ab3585243d975dbbe1120d5daae13bdb586aefe519bf675458683025f
DIST colord-1.4.5.tar.xz 1869084 BLAKE2B 34c886bade6f71b0b81bbed216695d839873fba46423f6422b80ef2f62e88a403edd1686bb705ef78bcaeb352477e0581d784ccd388961cd42d880661b4b31ab SHA512 b6cc8087ceff4a99b7d764087208cc72e1219d9f6bb52bd3e3eb13bb62e3c1e99aefef36237dceff46925ab7680c76795f59057b7a4d1c8a123de6270708e03c

View File

@ -0,0 +1,136 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
VALA_USE_DEPEND="vapigen"
inherit bash-completion-r1 meson multilib-minimal systemd udev vala
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="~amd64 ~x86 ~arm ~arm64"
IUSE="gtk-doc argyllcms examples extra-print-profiles +introspection scanner systemd test +udev vala"
RESTRICT="!test? ( test ) test" # Tests try to read and write files in /tmp
REQUIRED_USE="
scanner? ( udev )
vala? ( introspection )
"
DEPEND="
>=dev-libs/glib-2.58.0:2[${MULTILIB_USEDEP}]
>=media-libs/lcms-2.6:2=[${MULTILIB_USEDEP}]
dev-db/sqlite:3=[${MULTILIB_USEDEP}]
>=dev-libs/libgusb-0.2.7[${MULTILIB_USEDEP}]
udev? (
dev-libs/libgudev:=[${MULTILIB_USEDEP}]
virtual/libudev:=[${MULTILIB_USEDEP}]
virtual/udev
)
systemd? ( >=sys-apps/systemd-44:0= )
scanner? (
media-gfx/sane-backends
sys-apps/dbus
)
>=sys-auth/polkit-0.104
argyllcms? ( media-gfx/argyllcms )
introspection? ( >=dev-libs/gobject-introspection-0.9.8:= )
"
RDEPEND="${DEPEND}
acct-group/colord
acct-user/colord
"
BDEPEND="
acct-group/colord
acct-user/colord
app-text/docbook-xsl-ns-stylesheets
dev-libs/libxslt
>=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
"
PATCHES=(
"${FILESDIR}"/${PV}-tests-Don-t-use-exact-floating-point-comparisons.patch
"${FILESDIR}"/${PV}-build-Fix-building-without-vapi.patch
)
src_prepare() {
default
use vala && vala_src_prepare
# Test requires a running session
# https://github.com/hughsie/colord/issues/94
sed -i -e "/test('colord-test-daemon'/d" lib/colord/meson.build || die
# Adapt to Gentoo paths
sed -i \
-e "s|find_program('spotread'|find_program('argyll-spotread'|" \
-e "s|find_program('colprof'|find_program('argyll-colprof'|" \
meson.build || die
# meson gnome.generate_vapi properly handles VAPIGEN and other vala
# environment variables. It is counter-productive to check for an
# unversioned vapigen, as that breaks versioned VAPIGEN usages.
sed -i -e "/find_program('vapigen')/d" meson.build || die
}
multilib_src_configure() {
local emesonargs=(
-Ddaemon=$(multilib_is_native_abi && echo true || echo false)
-Dexamples=false
-Dbash_completion=false
$(meson_use udev udev_rules)
-Dsystemd=$(multilib_native_usex systemd true false)
-Dlibcolordcompat=true
-Dargyllcms_sensor=$(multilib_native_usex argyllcms true false)
-Dreverse=false
-Dsane=$(multilib_native_usex scanner true false)
-Dvapi=$(multilib_native_usex vala true false)
-Dprint_profiles=$(multilib_native_usex extra-print-profiles true false)
$(meson_use test tests)
-Dinstalled_tests=false
-Ddaemon_user=colord
-Dman=true
$(meson_use gtk-doc docs)
--localstatedir="${EPREFIX}"/var
)
meson_src_configure
}
multilib_src_compile() {
meson_src_compile
}
multilib_src_test() {
meson_src_test
}
multilib_src_install() {
meson_src_install
}
multilib_src_install_all() {
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
}

View File

@ -0,0 +1,53 @@
From 2bbcefa35225ba836b1672449f1de59ce9a90078 Mon Sep 17 00:00:00 2001
From: Matt Turner <mattst88@gmail.com>
Date: Sun, 18 Apr 2021 16:46:52 -0400
Subject: [PATCH] build: Fix building without vapi
---
lib/colord/meson.build | 2 +-
lib/colorhug/meson.build | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/lib/colord/meson.build b/lib/colord/meson.build
index dbb3d19..3126046 100644
--- a/lib/colord/meson.build
+++ b/lib/colord/meson.build
@@ -146,6 +146,7 @@ pkgg.generate(
description : 'colord is a system daemon for managing color devices',
)
+if get_option('vapi')
libcolord_girtarget = gnome.generate_gir(colord,
sources : [
'cd-client.c',
@@ -203,7 +204,6 @@ libcolord_girtarget = gnome.generate_gir(colord,
libcolord_gir = libcolord_girtarget[0]
libcolord_typelib = libcolord_girtarget[1]
-if get_option('vapi')
gnome.generate_vapi('colord',
sources: libcolord_girtarget[0],
packages: ['gio-2.0'],
diff --git a/lib/colorhug/meson.build b/lib/colorhug/meson.build
index 9526ea4..9f17553 100644
--- a/lib/colorhug/meson.build
+++ b/lib/colorhug/meson.build
@@ -73,6 +73,7 @@ pkgg.generate(
description : 'ColorHug is a simple display hardware colorimeter',
)
+if get_option('vapi')
libcolorhug_gir = gnome.generate_gir(colorhug,
sources : [
'ch-common.c',
@@ -107,6 +108,7 @@ libcolorhug_gir = gnome.generate_gir(colorhug,
],
install : true
)
+endif
if get_option('tests')
e = executable(
--
2.26.3

View File

@ -0,0 +1,39 @@
From d68cd11cd31d379e4f3bb4c964b17fd50c8c54a6 Mon Sep 17 00:00:00 2001
From: Christopher James Halse Rogers <raof@ubuntu.com>
Date: Wed, 11 Nov 2020 17:13:19 +1100
Subject: [PATCH] tests: Don't use exact floating point comparisons.
The tests asserting that cd_icc_get_version are exactly equal to 3.4 or
2.09 fail on (at least) i386, armel, and s390x because floating point is
hateful.
Signed-off-by: Christopher James Halse Rogers <raof@ubuntu.com>
---
lib/colord/cd-test-private.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/colord/cd-test-private.c b/lib/colord/cd-test-private.c
index 4b16ca5..231c4ae 100644
--- a/lib/colord/cd-test-private.c
+++ b/lib/colord/cd-test-private.c
@@ -1494,7 +1494,7 @@ colord_icc_func (void)
/* check profile properties */
g_assert_cmpint (cd_icc_get_size (icc), ==, 25244);
g_assert_cmpstr (cd_icc_get_checksum (icc), ==, "9ace8cce8baac8d492a93a2a232d7702");
- g_assert_cmpfloat (cd_icc_get_version (icc), ==, 3.4);
+ g_assert_cmpfloat_with_epsilon (cd_icc_get_version (icc), 3.4, 0.01);
g_assert (g_str_has_suffix (cd_icc_get_filename (icc), "ibm-t61.icc"));
g_assert_cmpint (cd_icc_get_kind (icc), ==, CD_PROFILE_KIND_DISPLAY_DEVICE);
g_assert_cmpint (cd_icc_get_colorspace (icc), ==, CD_COLORSPACE_RGB);
@@ -1727,7 +1727,7 @@ colord_icc_save_func (void)
g_object_unref (file);
/* verify changed values */
- g_assert_cmpfloat (cd_icc_get_version (icc), ==, 2.09);
+ g_assert_cmpfloat_with_epsilon (cd_icc_get_version (icc), 2.09, 0.001);
g_assert_cmpint (cd_icc_get_kind (icc), ==, CD_PROFILE_KIND_OUTPUT_DEVICE);
g_assert_cmpint (cd_icc_get_colorspace (icc), ==, CD_COLORSPACE_XYZ);
g_assert_cmpstr (cd_icc_get_metadata_item (icc, "SelfTest"), ==, "true");
--
2.26.3