depot/third_party/nixpkgs/pkgs/development/libraries/gnome-desktop/default.nix
Default email ae2dc6aea6 Project import generated by Copybara.
GitOrigin-RevId: 4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0
2024-10-11 07:15:48 +02:00

105 lines
2 KiB
Nix

{ lib
, stdenv
, fetchurl
, substituteAll
, pkg-config
, libxslt
, ninja
, gnome
, gtk3
, gtk4
, glib
, gettext
, libxml2
, xkeyboard_config
, libxkbcommon
, isocodes
, meson
, wayland
, libseccomp
, systemd
, udev
, bubblewrap
, gobject-introspection
, gtk-doc
, docbook-xsl-nons
, gsettings-desktop-schemas
, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd
}:
stdenv.mkDerivation rec {
pname = "gnome-desktop";
version = "44.0";
outputs = [ "out" "dev" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/gnome-desktop/${lib.versions.major version}/${pname}-${version}.tar.xz";
sha256 = "sha256-QsdzdF2EuhS8HPHExvRgYUiAOlzTN5QcY5ZHlfPFnUI=";
};
patches = lib.optionals stdenv.hostPlatform.isLinux [
(substituteAll {
src = ./bubblewrap-paths.patch;
bubblewrap_bin = "${bubblewrap}/bin/bwrap";
inherit (builtins) storeDir;
})
];
nativeBuildInputs = [
pkg-config
meson
ninja
gettext
libxslt
libxml2
gobject-introspection
gtk-doc
docbook-xsl-nons
glib
];
buildInputs = [
xkeyboard_config
libxkbcommon # for xkbregistry
isocodes
gtk3
gtk4
glib
] ++ lib.optionals withSystemd [
systemd
] ++ lib.optionals stdenv.hostPlatform.isLinux [
bubblewrap
wayland
libseccomp
udev
];
propagatedBuildInputs = [
gsettings-desktop-schemas
];
mesonFlags = [
"-Dgtk_doc=true"
"-Ddesktop_docs=false"
(lib.mesonEnable "systemd" withSystemd)
] ++ lib.optionals (!stdenv.hostPlatform.isLinux) [
"-Dudev=disabled"
];
separateDebugInfo = stdenv.hostPlatform.isLinux;
passthru = {
updateScript = gnome.updateScript {
packageName = "gnome-desktop";
};
};
meta = with lib; {
description = "Library with common API for various GNOME modules";
homepage = "https://gitlab.gnome.org/GNOME/gnome-desktop";
license = with licenses; [ gpl2Plus lgpl2Plus ];
platforms = platforms.unix;
maintainers = teams.gnome.members;
};
}