62 lines
1.7 KiB
Nix
62 lines
1.7 KiB
Nix
args :
|
|
let
|
|
lib = args.lib;
|
|
fetchurl = args.fetchurl;
|
|
noDepEntry = args.noDepEntry;
|
|
fullDepEntry = args.fullDepEntry;
|
|
|
|
buildInputs = lib.attrVals ["clisp" "texinfo"] args;
|
|
version = lib.attrByPath ["version"] "0.9.7" args;
|
|
|
|
pkgName = "stumpwm";
|
|
in
|
|
rec {
|
|
src = fetchurl {
|
|
url = "mirror://savannah/stumpwm/${pkgName}-${version}.tgz";
|
|
sha256 = "a0793d22ef90731d34f84e51deafb4bc2095a357c70b9505dc57516f481cdf78";
|
|
};
|
|
|
|
inherit buildInputs;
|
|
configureFlags = ["--with-lisp=clisp"];
|
|
envVars = noDepEntry (''
|
|
export HOME="$NIX_BUILD_TOP";
|
|
'');
|
|
|
|
installation = fullDepEntry (''
|
|
mkdir -p $out/bin
|
|
mkdir -p $out/share/stumpwm/doc
|
|
mkdir -p $out/share/info
|
|
mkdir -p $out/share/stumpwm/lisp
|
|
|
|
cp stumpwm $out/bin
|
|
cp contrib/stumpish $out/bin || true
|
|
cp sample-stumpwmrc.lisp $out/share/stumpwm/doc
|
|
cp stumpwm.info $out/share/info
|
|
|
|
cp -r {.,cl-ppcre}/*.{lisp,fas,lib,asd} contrib $out/share/stumpwm/lisp
|
|
cd $out/share/stumpwm/lisp
|
|
cat << EOF >init-stumpwm.lisp
|
|
(require "asdf")
|
|
(asdf:operate 'asdf:load-op :cl-ppcre)
|
|
(asdf:operate 'asdf:load-op :stumpwm)
|
|
EOF
|
|
clisp -K full -i init-stumpwm.lisp
|
|
cat << EOF >init-stumpwm.lisp
|
|
(require "asdf")
|
|
(asdf:operate 'asdf:load-source-op :cl-ppcre)
|
|
(asdf:operate 'asdf:load-source-op :stumpwm)
|
|
EOF
|
|
'') ["minInit" "defEnsureDir" "addInputs" "doMake"];
|
|
|
|
/* doConfigure should be specified separately */
|
|
phaseNames = ["envVars" "doConfigure" "doMake" "installation"];
|
|
|
|
name = "${pkgName}-" + version;
|
|
meta = {
|
|
description = "Common Lisp-based ratpoison-like window manager.";
|
|
maintainers = [args.lib.maintainers.raskin];
|
|
platforms = with args.lib.platforms;
|
|
linux ++ freebsd;
|
|
};
|
|
}
|