2008-08-09 20:21:33 +00:00
|
|
|
args :
|
|
|
|
let
|
|
|
|
lib = args.lib;
|
|
|
|
fetchurl = args.fetchurl;
|
|
|
|
noDepEntry = args.noDepEntry;
|
2009-05-19 23:25:58 +00:00
|
|
|
fullDepEntry = args.fullDepEntry;
|
2008-08-09 20:21:33 +00:00
|
|
|
|
|
|
|
buildInputs = lib.attrVals ["clisp" "texinfo"] args;
|
2010-08-23 19:31:28 +00:00
|
|
|
version = lib.attrByPath ["version"] "0.9.7" args;
|
2008-08-09 20:21:33 +00:00
|
|
|
|
|
|
|
pkgName = "stumpwm";
|
|
|
|
in
|
|
|
|
rec {
|
|
|
|
src = fetchurl {
|
|
|
|
url = "http://download.savannah.gnu.org/releases/stumpwm/${pkgName}-${version}.tgz";
|
2010-08-23 19:31:28 +00:00
|
|
|
sha256 = "a0793d22ef90731d34f84e51deafb4bc2095a357c70b9505dc57516f481cdf78";
|
2008-08-09 20:21:33 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
inherit buildInputs;
|
|
|
|
configureFlags = ["--with-lisp=clisp"];
|
|
|
|
envVars = noDepEntry (''
|
|
|
|
export HOME="$NIX_BUILD_TOP";
|
|
|
|
'');
|
|
|
|
|
2009-05-19 23:25:58 +00:00
|
|
|
installation = fullDepEntry (''
|
2008-08-09 20:21:33 +00:00
|
|
|
ensureDir $out/bin
|
|
|
|
ensureDir $out/share/stumpwm/doc
|
|
|
|
ensureDir $out/share/info
|
2008-08-09 22:10:46 +00:00
|
|
|
ensureDir $out/share/stumpwm/lisp
|
2008-08-09 20:21:33 +00:00
|
|
|
|
|
|
|
cp stumpwm $out/bin
|
2008-08-25 17:55:09 +00:00
|
|
|
cp contrib/stumpish $out/bin || true
|
2008-08-09 20:21:33 +00:00
|
|
|
cp sample-stumpwmrc.lisp $out/share/stumpwm/doc
|
|
|
|
cp stumpwm.info $out/share/info
|
2008-08-09 22:10:46 +00:00
|
|
|
|
|
|
|
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"];
|
2008-08-09 20:21:33 +00:00
|
|
|
|
|
|
|
/* doConfigure should be specified separately */
|
|
|
|
phaseNames = ["envVars" "doConfigure" "doMake" "installation"];
|
|
|
|
|
|
|
|
name = "${pkgName}-" + version;
|
|
|
|
meta = {
|
|
|
|
description = "Common Lisp-based ratpoison-like window manager.";
|
2009-07-07 15:05:15 +00:00
|
|
|
maintainers = [args.lib.maintainers.raskin];
|
2009-09-17 05:21:49 +00:00
|
|
|
platforms = with args.lib.platforms;
|
|
|
|
linux ++ freebsd;
|
2008-08-09 20:21:33 +00:00
|
|
|
};
|
|
|
|
}
|