Files
nixpkgs/pkgs/by-name/sa/sawfish/package.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

103 lines
2.2 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
gdk-pixbuf-xlib,
gettext,
gtk2-x11,
libICE,
libSM,
libxcrypt,
libXinerama,
libXrandr,
libXtst,
librep,
makeWrapper,
pango,
pkg-config,
rep-gtk,
texinfo,
which,
versionCheckHook,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "sawfish";
version = "1.13.0";
src = fetchFromGitHub {
owner = "SawfishWM";
repo = "sawfish";
tag = "sawfish-${finalAttrs.version}";
hash = "sha256-4hxws3afDN9RjO9JCEjEgG4/g6bSycrmiJzRoyNnl3s=";
};
nativeBuildInputs = [
autoreconfHook
gettext
librep
makeWrapper
pkg-config
texinfo
which
];
buildInputs = [
gdk-pixbuf-xlib
gtk2-x11
libICE
libSM
libxcrypt
libXinerama
libXrandr
libXtst
librep
pango
rep-gtk
];
postPatch = ''
sed -e 's|REP_DL_LOAD_PATH=|REP_DL_LOAD_PATH=$(REP_DL_LOAD_PATH):|g' -i Makedefs.in
sed -e 's|$(repexecdir)|$(libdir)/rep|g' -i src/Makefile.in
'';
strictDeps = true;
enableParallelBuilding = true;
postInstall = ''
for file in $out/lib/sawfish/sawfish-menu \
$out/bin/sawfish-about \
$out/bin/sawfish-client \
$out/bin/sawfish-config \
$out/bin/sawfish; do
wrapProgram $file \
--prefix REP_DL_LOAD_PATH : "$out/lib/rep" \
--set REP_LOAD_PATH "$out/share/sawfish/lisp"
done
'';
nativeInstallCheckInputs = [
versionCheckHook
];
doInstallCheck = true;
versionCheckProgramArg = "--version";
versionCheckProgram = "${placeholder "out"}/bin/${finalAttrs.meta.mainProgram}";
meta = {
homepage = "http://sawfish.tuxfamily.org/";
description = "Extensible, Lisp-based window manager";
longDescription = ''
Sawfish is an extensible window manager using a Lisp-based scripting
language. Its policy is very minimal compared to most window managers. Its
aim is simply to manage windows in the most flexible and attractive manner
possible. All high-level WM functions are implemented in Lisp for future
extensibility or redefinition.
'';
license = lib.licenses.gpl2Plus;
maintainers = [ ];
platforms = lib.platforms.unix;
mainProgram = "sawfish";
};
})