summary refs log tree commit diff
path: root/pkgs/applications/window-managers
diff options
context:
space:
mode:
authorRobert Glossop <robgssp@gmail.com>2015-11-04 09:15:52 -0500
committerRobert Glossop <robgssp@gmail.com>2015-11-08 18:49:40 -0500
commit5623e1b145a8c1b42c41c5dd163804cca0064b75 (patch)
tree288b04e4823a1aaa4bcc2bad407b5437e7cfe2c3 /pkgs/applications/window-managers
parent6fa6ff9e2517dbc28fd0744b493c8a6b672dfa2c (diff)
downloadnixpkgs-5623e1b145a8c1b42c41c5dd163804cca0064b75.tar
nixpkgs-5623e1b145a8c1b42c41c5dd163804cca0064b75.tar.gz
nixpkgs-5623e1b145a8c1b42c41c5dd163804cca0064b75.tar.bz2
nixpkgs-5623e1b145a8c1b42c41c5dd163804cca0064b75.tar.lz
nixpkgs-5623e1b145a8c1b42c41c5dd163804cca0064b75.tar.xz
nixpkgs-5623e1b145a8c1b42c41c5dd163804cca0064b75.tar.zst
nixpkgs-5623e1b145a8c1b42c41c5dd163804cca0064b75.zip
Add the CLFSWM window manager
Diffstat (limited to 'pkgs/applications/window-managers')
-rw-r--r--pkgs/applications/window-managers/clfswm/default.nix43
-rw-r--r--pkgs/applications/window-managers/clfswm/require-clx.patch13
2 files changed, 56 insertions, 0 deletions
diff --git a/pkgs/applications/window-managers/clfswm/default.nix b/pkgs/applications/window-managers/clfswm/default.nix
new file mode 100644
index 00000000000..6eb55348e60
--- /dev/null
+++ b/pkgs/applications/window-managers/clfswm/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, pkgs, fetchgit, autoconf, sbcl, lispPackages, xdpyinfo, texinfo4
+, makeWrapper , rlwrap, gnused, gnugrep, coreutils, xprop
+, extraModulePaths ? [] }:
+
+stdenv.mkDerivation rec {
+  name = "clfswm";
+
+  src = fetchgit {
+    url = "https://gitlab.common-lisp.net/clfswm/clfswm.git";
+    rev = "refs/heads/master";
+    sha256 = "1hkm6bn5xww932w34l13bg87m5hsnwnd0i1lka6sw0cq8whndya0";
+  };
+
+  buildInputs = [
+    texinfo4 makeWrapper autoconf
+    sbcl
+    lispPackages.clx
+    lispPackages.cl-ppcre
+    xdpyinfo
+  ];
+
+  patches = [ ./require-clx.patch ];
+
+  # Stripping destroys the generated SBCL image
+  dontStrip = true;
+
+  installPhase = ''
+    mkdir -pv $out/bin
+    make DESTDIR=$out install
+
+    # Paths in the compressed image $out/bin/clfswm are not
+    # recognized by Nix. Add explicit reference here.
+    mkdir $out/nix-support
+    echo ${xdpyinfo} ${lispPackages.clx} ${lispPackages.cl-ppcre} > $out/nix-support/depends
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A(nother) Common Lisp FullScreen Window Manager";
+    homepage    = https://common-lisp.net/project/clfswm/;
+    license     = licenses.gpl3;
+    platforms   = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/clfswm/require-clx.patch b/pkgs/applications/window-managers/clfswm/require-clx.patch
new file mode 100644
index 00000000000..ae2234461d2
--- /dev/null
+++ b/pkgs/applications/window-managers/clfswm/require-clx.patch
@@ -0,0 +1,13 @@
+diff --git a/load.lisp b/load.lisp
+index c8c4cf0..8c9ca2e 100644
+--- a/load.lisp
++++ b/load.lisp
+@@ -111,6 +111,8 @@ from $XDG_CONFIG_HOME/clfswm/clfswmrc")
+ ;;;------------------
+ (load-info "Requiring CLX")
+ 
++(require 'clx)
++
+ ;;; Loading clisp dynamic module. This part needs clisp >= 2.50
+ ;;#+(AND CLISP (not CLX))
+ ;;(when (fboundp 'require)