summary refs log tree commit diff
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2014-10-13 17:50:46 +0400
committerMichael Raskin <7c6f434c@mail.ru>2014-10-13 17:50:46 +0400
commit2ef0a17561e464fe1f785b979fa6ef410f8f833b (patch)
tree3e6e702bbfd903e58c1ff5cfe798ec85864bfd87
parent1f2fe452bef5d31ab99aa246db21666ef49b85a6 (diff)
parent7b81cd68b7b459727dd3d403c78acb6a6805ac89 (diff)
downloadnixpkgs-2ef0a17561e464fe1f785b979fa6ef410f8f833b.tar
nixpkgs-2ef0a17561e464fe1f785b979fa6ef410f8f833b.tar.gz
nixpkgs-2ef0a17561e464fe1f785b979fa6ef410f8f833b.tar.bz2
nixpkgs-2ef0a17561e464fe1f785b979fa6ef410f8f833b.tar.lz
nixpkgs-2ef0a17561e464fe1f785b979fa6ef410f8f833b.tar.xz
nixpkgs-2ef0a17561e464fe1f785b979fa6ef410f8f833b.tar.zst
nixpkgs-2ef0a17561e464fe1f785b979fa6ef410f8f833b.zip
Merge pull request #4387 from 1126/refactor-stumpwm
stumpwm: update and refactoring
-rw-r--r--nixos/modules/services/x11/window-managers/default.nix3
-rw-r--r--nixos/modules/services/x11/window-managers/stumpwm.nix30
-rw-r--r--pkgs/applications/window-managers/stumpwm/contrib.nix31
-rw-r--r--pkgs/applications/window-managers/stumpwm/default.nix41
-rw-r--r--pkgs/development/lisp-modules/lisp-packages.nix2
-rw-r--r--pkgs/development/lisp-modules/stumpwm/default.nix36
-rw-r--r--pkgs/top-level/all-packages.nix3
7 files changed, 106 insertions, 40 deletions
diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix
index 45a4e947e0a..4f2a2309b60 100644
--- a/nixos/modules/services/x11/window-managers/default.nix
+++ b/nixos/modules/services/x11/window-managers/default.nix
@@ -18,6 +18,7 @@ in
       ./i3.nix
       ./herbstluftwm.nix
       ./bspwm.nix
+      ./stumpwm.nix
     ];
 
   options = {
@@ -60,4 +61,4 @@ in
   config = {
     services.xserver.displayManager.session = cfg.session;
   };
-}
+}
\ No newline at end of file
diff --git a/nixos/modules/services/x11/window-managers/stumpwm.nix b/nixos/modules/services/x11/window-managers/stumpwm.nix
new file mode 100644
index 00000000000..a876f13fd21
--- /dev/null
+++ b/nixos/modules/services/x11/window-managers/stumpwm.nix
@@ -0,0 +1,30 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.xserver.windowManager.stumpwm;
+in
+
+{
+  options = {
+    services.xserver.windowManager.stumpwm = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        example = true;
+        description = "Enable the stumpwm tiling window manager.";
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    services.xserver.windowManager.session = singleton {
+      name = "stumpwm";
+      start = "
+        ${pkgs.stumpwm}/bin/stumpwm
+      ";
+    };
+    environment.systemPackages = [ pkgs.stumpwm ];
+  };
+}
diff --git a/pkgs/applications/window-managers/stumpwm/contrib.nix b/pkgs/applications/window-managers/stumpwm/contrib.nix
new file mode 100644
index 00000000000..dc707983811
--- /dev/null
+++ b/pkgs/applications/window-managers/stumpwm/contrib.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchgit }:
+
+let
+  tag = "0.9.8";
+in
+
+stdenv.mkDerivation rec {
+ name = "stumpwmContrib-${tag}";
+
+ src = fetchgit {
+   url = "https://github.com/stumpwm/stumpwm";
+   rev = "refs/tags/${tag}";
+   sha256 = "0a0lwwlly4hlmb30bk6dmi6bsdsy37g4crvv1z24gixippyv1qzm";
+ };
+
+  phases = [ "unpackPhase" "installPhase" ];
+
+  installPhase = ''
+   mkdir -p $out/bin
+   cp -a $src/contrib $out/
+   cp -a $src/contrib/stumpish $out/bin
+ '';
+
+  meta = with stdenv.lib; {
+    description = "Extension modules for the StumpWM";
+    homepage    = https://github.com/stumpwm/;
+    license     = licenses.gpl2Plus;
+    maintainers = with maintainers; [ _1126 ];
+    platforms   = platforms.linux;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/window-managers/stumpwm/default.nix b/pkgs/applications/window-managers/stumpwm/default.nix
new file mode 100644
index 00000000000..7fe28b1678a
--- /dev/null
+++ b/pkgs/applications/window-managers/stumpwm/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, pkgs, fetchgit, autoconf, sbcl, lispPackages, xdpyinfo, texinfo4, makeWrapper, stumpwmContrib }:
+
+let
+  tag = "0.9.8";
+in
+
+stdenv.mkDerivation rec {
+ name = "stumpwm-${tag}";
+
+ src = fetchgit {
+   url = "https://github.com/stumpwm/stumpwm";
+   rev = "refs/tags/${tag}";
+   sha256 = "0a0lwwlly4hlmb30bk6dmi6bsdsy37g4crvv1z24gixippyv1qzm";
+ };
+
+ buildInputs = [ texinfo4 autoconf lispPackages.clx lispPackages.cl-ppcre sbcl makeWrapper stumpwmContrib ];
+
+ phases = [ "unpackPhase" "preConfigurePhase" "configurePhase" "installPhase" ];
+
+ preConfigurePhase = ''
+   $src/autogen.sh
+   mkdir -pv $out/bin
+ '';
+
+ configurePhase = ''
+   ./configure --prefix=$out --with-contrib-dir=${pkgs.stumpwmContrib}/contrib
+ '';
+
+ installPhase = ''
+   make
+   make install
+ '';
+
+  meta = with stdenv.lib; {
+    description = "A tiling window manager for X11";
+    homepage    = https://github.com/stumpwm/;
+    license     = licenses.gpl2Plus;
+    maintainers = with maintainers; [ _1126 ];
+    platforms   = platforms.linux;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/lisp-modules/lisp-packages.nix b/pkgs/development/lisp-modules/lisp-packages.nix
index 14c996fa05a..d9359da0a6a 100644
--- a/pkgs/development/lisp-modules/lisp-packages.nix
+++ b/pkgs/development/lisp-modules/lisp-packages.nix
@@ -44,8 +44,6 @@ let lispPackages = rec {
     };
   };
 
-  stumpwm = callPackage ./stumpwm {};
-
   alexandria = buildLispPackage rec {
     baseName = "alexandria";
     version = "git-20131029";
diff --git a/pkgs/development/lisp-modules/stumpwm/default.nix b/pkgs/development/lisp-modules/stumpwm/default.nix
deleted file mode 100644
index ae0dab1ec9d..00000000000
--- a/pkgs/development/lisp-modules/stumpwm/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{pkgs, nixLib, clwrapper, cl-ppcre, clx, buildLispPackage}:
-buildLispPackage rec {
-  baseName = "stumpwm";
-  version = "2013-09";
-  src = pkgs.fetchgit {
-    url = "https://github.com/sabetts/stumpwm";
-    sha256 = "0dd69myssfn2bsdx3xdp65mjrvs9x81dl3y3659pyf1avnjlir7h";
-    rev = "565ef58f04f59e1667ec1da4087f1a43a32cd67f";
-  };
-  description = "Tiling window manager for X11";
-  deps = [cl-ppcre clx];
-  buildInputs = with pkgs; [texinfo4 autoconf which makeWrapper];
-  meta = {
-    maintainers = [nixLib.maintainers.raskin];
-    platforms = nixLib.platforms.linux;
-  };
-  overrides = x: {
-    preConfigure = ''
-      ${x.deployConfigScript}
-      export CL_SOURCE_REGISTRY="$CL_SOURCE_REGISTRY:$PWD/"
-      ./autogen.sh
-      configureFlags=" --with-lisp=$NIX_LISP --with-$NIX_LISP=$(which common-lisp.sh) --with-contrib-dir=$out/lib/common-lisp/stumpwm/contrib/"
-    '';
-    installPhase = with pkgs; x.installPhase + ''
-      make install
-
-      if [ "$NIX_LISP" = "sbcl" ]; then
-        wrapProgram "$out"/bin/stumpwm --set SBCL_HOME "${clwrapper.lisp}/lib/sbcl"
-      fi;
-
-      mv $out/lib/common-lisp/stumpwm/contrib/stumpish $out/bin/stumpish
-      wrapProgram "$out"/bin/stumpish --prefix PATH : "${xlibs.xprop}/bin:${coreutils}/bin:${gnugrep}/bin:${gnused}/bin:${rlwrap}/bin:${ncurses}/bin"
-    '';
-    postInstall = ''false'';
-  };
-}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 502c2f565e5..b32f941073d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -10305,7 +10305,8 @@ let
 
   stp = callPackage ../applications/science/logic/stp {};
 
-  stumpwm = lispPackages.stumpwm;
+  stumpwm = callPackage ../applications/window-managers/stumpwm {};
+  stumpwmContrib = callPackage ../applications/window-managers/stumpwm/contrib.nix {};
 
   sublime = callPackage ../applications/editors/sublime { };