diff --git a/x11-misc/colord/Manifest b/x11-misc/colord/Manifest new file mode 100644 index 0000000..b954e9b --- /dev/null +++ b/x11-misc/colord/Manifest @@ -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 diff --git a/x11-misc/colord/colord-1.4.5.ebuild b/x11-misc/colord/colord-1.4.5.ebuild new file mode 100644 index 0000000..7599850 --- /dev/null +++ b/x11-misc/colord/colord-1.4.5.ebuild @@ -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 +} diff --git a/x11-misc/colord/files/1.4.5-build-Fix-building-without-vapi.patch b/x11-misc/colord/files/1.4.5-build-Fix-building-without-vapi.patch new file mode 100644 index 0000000..cbf79a8 --- /dev/null +++ b/x11-misc/colord/files/1.4.5-build-Fix-building-without-vapi.patch @@ -0,0 +1,53 @@ +From 2bbcefa35225ba836b1672449f1de59ce9a90078 Mon Sep 17 00:00:00 2001 +From: Matt Turner +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 + diff --git a/x11-misc/colord/files/1.4.5-tests-Don-t-use-exact-floating-point-comparisons.patch b/x11-misc/colord/files/1.4.5-tests-Don-t-use-exact-floating-point-comparisons.patch new file mode 100644 index 0000000..de56fe1 --- /dev/null +++ b/x11-misc/colord/files/1.4.5-tests-Don-t-use-exact-floating-point-comparisons.patch @@ -0,0 +1,39 @@ +From d68cd11cd31d379e4f3bb4c964b17fd50c8c54a6 Mon Sep 17 00:00:00 2001 +From: Christopher James Halse Rogers +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 +--- + 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 +