python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / development / libraries / gnome-desktop / default.nix
blob6b58b171f7d3e7acaa5f7ac5ae757317e330070b
1 { lib
2 , stdenv
3 , fetchurl
4 , substituteAll
5 , pkg-config
6 , libxslt
7 , ninja
8 , gnome
9 , gtk3
10 , gtk4
11 , glib
12 , gettext
13 , libxml2
14 , xkeyboard_config
15 , libxkbcommon
16 , isocodes
17 , meson
18 , wayland
19 , libseccomp
20 , systemd
21 , bubblewrap
22 , gobject-introspection
23 , gtk-doc
24 , docbook-xsl-nons
25 , gsettings-desktop-schemas
28 stdenv.mkDerivation rec {
29   pname = "gnome-desktop";
30   version = "43";
32   outputs = [ "out" "dev" "devdoc" ];
34   src = fetchurl {
35     url = "mirror://gnome/sources/gnome-desktop/${lib.versions.major version}/${pname}-${version}.tar.xz";
36     sha256 = "sha256-PW4VMxdIYVdZaqOAL4dnZBTFcHOPRQqUoEH+iDVCCmk=";
37   };
39   patches = lib.optionals stdenv.isLinux [
40     (substituteAll {
41       src = ./bubblewrap-paths.patch;
42       bubblewrap_bin = "${bubblewrap}/bin/bwrap";
43       inherit (builtins) storeDir;
44     })
45   ];
47   nativeBuildInputs = [
48     pkg-config
49     meson
50     ninja
51     gettext
52     libxslt
53     libxml2
54     gobject-introspection
55     gtk-doc
56     docbook-xsl-nons
57     glib
58   ];
60   buildInputs = [
61     xkeyboard_config
62     libxkbcommon # for xkbregistry
63     isocodes
64     gtk3
65     gtk4
66     glib
67   ] ++ lib.optionals stdenv.isLinux [
68     bubblewrap
69     wayland
70     libseccomp
71     systemd
72   ];
74   propagatedBuildInputs = [
75     gsettings-desktop-schemas
76   ];
78   mesonFlags = [
79     "-Dgtk_doc=true"
80     "-Ddesktop_docs=false"
81   ] ++ lib.optionals (!stdenv.isLinux) [
82     "-Dsystemd=disabled"
83     "-Dudev=disabled"
84   ];
86   separateDebugInfo = stdenv.isLinux;
88   passthru = {
89     updateScript = gnome.updateScript {
90       packageName = "gnome-desktop";
91     };
92   };
94   meta = with lib; {
95     description = "Library with common API for various GNOME modules";
96     homepage = "https://gitlab.gnome.org/GNOME/gnome-desktop";
97     license = with licenses; [ gpl2Plus lgpl2Plus ];
98     platforms = platforms.unix;
99     maintainers = teams.gnome.members;
100   };