nixpkgs/pkgs/desktops/budgie/budgie-session/default.nix
Bobby Rong 1d3d0d6a89
budgie: add myself (bobby285271) as maintainer
Let's hope this package set is not too hard to maintain.
2024-03-14 12:29:36 +08:00

102 lines
2.0 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, substituteAll
, meson
, ninja
, pkg-config
, gnome
, glib
, gtk3
, gsettings-desktop-schemas
, gnome-desktop
, dbus
, json-glib
, libICE
, xmlto
, docbook_xsl
, docbook_xml_dtd_412
, python3
, libxslt
, gettext
, makeWrapper
, systemd
, xorg
, libepoxy
, bash
}:
stdenv.mkDerivation (finalAttrs: {
pname = "budgie-session";
version = "0.9.1";
src = fetchFromGitHub {
owner = "BuddiesOfBudgie";
repo = "budgie-session";
rev = "v${finalAttrs.version}";
hash = "sha256-mz+Yh3NK2Tag+MWVofFFXYYXspxhmYBD6YCiuATpZSI=";
};
patches = [
(substituteAll {
src = ./fix-paths.patch;
gsettings = "${glib.bin}/bin/gsettings";
dbusLaunch = "${dbus.lib}/bin/dbus-launch";
bash = "${bash}/bin/bash";
})
];
nativeBuildInputs = [
meson
ninja
pkg-config
gettext
makeWrapper
xmlto
libxslt
docbook_xsl
docbook_xml_dtd_412
python3
dbus # for DTD
];
buildInputs = [
glib
gtk3
libICE
gnome-desktop
json-glib
xorg.xtrans
gnome.adwaita-icon-theme
gnome.gnome-settings-daemon
gsettings-desktop-schemas
systemd
libepoxy
];
postPatch = ''
chmod +x meson_post_install.py # patchShebangs requires executable file
patchShebangs meson_post_install.py
'';
# `bin/budgie-session` will reset the environment when run in wayland, we
# therefor wrap `libexec/budgie-session-binary` instead which is the actual
# binary needing wrapping
preFixup = ''
wrapProgram "$out/libexec/budgie-session-binary" \
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
--suffix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" \
--suffix XDG_CONFIG_DIRS : "${gnome.gnome-settings-daemon}/etc/xdg"
'';
separateDebugInfo = true;
meta = {
description = "Session manager for Budgie";
homepage = "https://github.com/BuddiesOfBudgie/budgie-session";
license = lib.licenses.gpl2Plus;
maintainers = lib.teams.budgie.members;
platforms = lib.platforms.linux;
};
})