Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
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 26}: 27 28stdenv.mkDerivation rec { 29 pname = "gnome-desktop"; 30 version = "44.0"; 31 32 outputs = [ "out" "dev" "devdoc" ]; 33 34 src = fetchurl { 35 url = "mirror://gnome/sources/gnome-desktop/${lib.versions.major version}/${pname}-${version}.tar.xz"; 36 sha256 = "sha256-QsdzdF2EuhS8HPHExvRgYUiAOlzTN5QcY5ZHlfPFnUI="; 37 }; 38 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 ]; 46 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 ]; 59 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 ]; 73 74 propagatedBuildInputs = [ 75 gsettings-desktop-schemas 76 ]; 77 78 mesonFlags = [ 79 "-Dgtk_doc=true" 80 "-Ddesktop_docs=false" 81 ] ++ lib.optionals (!stdenv.isLinux) [ 82 "-Dsystemd=disabled" 83 "-Dudev=disabled" 84 ]; 85 86 separateDebugInfo = stdenv.isLinux; 87 88 passthru = { 89 updateScript = gnome.updateScript { 90 packageName = "gnome-desktop"; 91 }; 92 }; 93 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 }; 101}