106 lines
2.2 KiB
Nix
106 lines
2.2 KiB
Nix
{
|
|
fetchFromGitHub,
|
|
glib,
|
|
gobject-introspection,
|
|
gtk3,
|
|
libgnomekbd,
|
|
gdk-pixbuf,
|
|
cairo,
|
|
xorg,
|
|
meson,
|
|
ninja,
|
|
pkg-config,
|
|
python3,
|
|
lib,
|
|
stdenv,
|
|
vala,
|
|
wrapGAppsHook3,
|
|
file,
|
|
inxi,
|
|
mate,
|
|
dbus,
|
|
libdbusmenu-gtk3,
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "xapp";
|
|
version = "2.8.7";
|
|
|
|
outputs = [
|
|
"out"
|
|
"dev"
|
|
];
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "linuxmint";
|
|
repo = pname;
|
|
rev = version;
|
|
hash = "sha256-PMTsaY04rML2vmVIOWArYqWmGvpTtA1DpFw3ZAtu+oU=";
|
|
};
|
|
|
|
# Recommended by upstream, which enables the build of xapp-debug.
|
|
# https://github.com/linuxmint/xapp/issues/169#issuecomment-1574962071
|
|
mesonBuildType = "debugoptimized";
|
|
|
|
nativeBuildInputs = [
|
|
meson
|
|
ninja
|
|
pkg-config
|
|
python3
|
|
vala
|
|
wrapGAppsHook3
|
|
gobject-introspection
|
|
];
|
|
|
|
buildInputs = [
|
|
(python3.withPackages (
|
|
ps: with ps; [
|
|
pygobject3
|
|
setproctitle # mate applet
|
|
]
|
|
))
|
|
libgnomekbd
|
|
gdk-pixbuf
|
|
xorg.libxkbfile
|
|
python3.pkgs.pygobject3 # for .pc file
|
|
mate.mate-panel # for gobject-introspection
|
|
dbus
|
|
libdbusmenu-gtk3
|
|
];
|
|
|
|
# Requires in xapp.pc
|
|
propagatedBuildInputs = [
|
|
gtk3
|
|
cairo
|
|
glib
|
|
];
|
|
|
|
mesonFlags = [
|
|
"-Dpy-overrides-dir=${placeholder "out"}/${python3.sitePackages}/gi/overrides"
|
|
];
|
|
|
|
postPatch = ''
|
|
chmod +x schemas/meson_install_schemas.py # patchShebangs requires executable file
|
|
patchShebangs schemas/meson_install_schemas.py
|
|
|
|
# Used in cinnamon-settings
|
|
substituteInPlace scripts/upload-system-info \
|
|
--replace-fail "'/usr/bin/pastebin'" "'$out/bin/pastebin'" \
|
|
--replace-fail "'inxi'" "'${inxi}/bin/inxi'"
|
|
|
|
# Used in x-d-p-xapp
|
|
substituteInPlace scripts/xfce4-set-wallpaper \
|
|
--replace-fail "file --mime-type" "${file}/bin/file --mime-type"
|
|
'';
|
|
|
|
# Fix gtk3 module target dir. Proper upstream solution should be using define_variable.
|
|
env.PKG_CONFIG_GTK__3_0_LIBDIR = "${placeholder "out"}/lib";
|
|
|
|
meta = with lib; {
|
|
homepage = "https://github.com/linuxmint/xapp";
|
|
description = "Cross-desktop libraries and common resources";
|
|
license = licenses.lgpl3;
|
|
platforms = platforms.linux;
|
|
maintainers = teams.cinnamon.members;
|
|
};
|
|
}
|