evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / co / colord / package.nix
blobda893702d9d53b08aa01c6f1fc7e1984083b9d8c
1 { lib
2 , stdenv
3 , fetchurl
4 , nixosTests
5 , bash-completion
6 , glib
7 , polkit
8 , pkg-config
9 , gettext
10 , gusb
11 , lcms2
12 , sqlite
13 , udev
14 , systemd
15 , enableSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd
16 , dbus
17 , gobject-introspection
18 , argyllcms
19 , meson
20 , mesonEmulatorHook
21 , ninja
22 , vala
23 , libgudev
24 , wrapGAppsNoGuiHook
25 , shared-mime-info
26 , sane-backends
27 , docbook_xsl
28 , docbook_xsl_ns
29 , docbook_xml_dtd_412
30 , gtk-doc
31 , libxslt
32 , enableDaemon ? true
35 stdenv.mkDerivation rec {
36   pname = "colord";
37   version = "1.4.6";
39   outputs = [ "out" "dev" "devdoc" "man" "installedTests" ];
41   src = fetchurl {
42     url = "https://www.freedesktop.org/software/colord/releases/colord-${version}.tar.xz";
43     sha256 = "dAdjGie/5dG2cueuQndwAcEF2GC3tzkig8jGMA3ojm8=";
44   };
46   patches = [
47     # Put installed tests into its own output
48     ./installed-tests-path.patch
49   ];
51   postPatch = ''
52     for file in data/tests/meson.build lib/colord/cd-test-shared.c lib/colord/meson.build; do
53         substituteInPlace $file --subst-var-by installed_tests_dir "$installedTests"
54     done
55   '';
57   mesonFlags = [
58     "--localstatedir=/var"
59     "-Dinstalled_tests=true"
60     "-Dlibcolordcompat=true"
61     "-Dsane=true"
62     "-Dvapi=true"
63     "-Ddaemon=${lib.boolToString enableDaemon}"
64     "-Ddaemon_user=colord"
65     (lib.mesonBool "systemd" enableSystemd)
67     # The presence of the "udev" pkg-config module (as opposed to "libudev")
68     # indicates whether rules are supported.
69     (lib.mesonBool "udev_rules" (lib.elem "udev" udev.meta.pkgConfigModules))
70   ];
72   nativeBuildInputs = [
73     docbook_xml_dtd_412
74     docbook_xsl
75     docbook_xsl_ns
76     gettext
77     gobject-introspection
78     gtk-doc
79     libxslt
80     meson
81     ninja
82     pkg-config
83     shared-mime-info
84     vala
85     wrapGAppsNoGuiHook
86   ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
87     mesonEmulatorHook
88   ];
90   buildInputs = [
91     argyllcms
92     bash-completion
93     dbus
94     glib
95     gusb
96     lcms2
97     libgudev
98     sane-backends
99     sqlite
100     udev
101   ] ++ lib.optionals enableSystemd [
102     systemd
103   ] ++ lib.optionals enableDaemon [
104     polkit
105   ];
107   postInstall = ''
108     glib-compile-schemas $out/share/glib-2.0/schemas
109   '';
111   PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system";
112   PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "${placeholder "out"}/lib/systemd/user";
113   PKG_CONFIG_SYSTEMD_TMPFILESDIR = "${placeholder "out"}/lib/tmpfiles.d";
114   PKG_CONFIG_BASH_COMPLETION_COMPLETIONSDIR = "${placeholder "out"}/share/bash-completion/completions";
115   PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev";
117   passthru = {
118     tests = {
119       installedTests = nixosTests.installed-tests.colord;
120     };
121   };
123   meta = with lib; {
124     description = "System service to manage, install and generate color profiles to accurately color manage input and output devices";
125     homepage = "https://www.freedesktop.org/software/colord/";
126     license = licenses.lgpl2Plus;
127     maintainers = [ maintainers.marcweber ] ++ teams.freedesktop.members;
128     platforms = platforms.linux;
129   };