summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/applications/window-managers/vwm/default.nix31
-rw-r--r--pkgs/applications/window-managers/vwm/signal.patch22
-rw-r--r--pkgs/development/libraries/libpseudo/default.nix26
-rw-r--r--pkgs/development/libraries/libviper/default.nix26
-rw-r--r--pkgs/top-level/all-packages.nix15
5 files changed, 120 insertions, 0 deletions
diff --git a/pkgs/applications/window-managers/vwm/default.nix b/pkgs/applications/window-managers/vwm/default.nix
new file mode 100644
index 00000000000..fa2e6efb30c
--- /dev/null
+++ b/pkgs/applications/window-managers/vwm/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchurl, ncurses, pkgconfig, glib, libviper, libpseudo, gpm}:
+
+stdenv.mkDerivation {
+  name = "vwm-2.0.1";
+ 
+  src = fetchurl {
+    url = mirror://sourceforge/vwm/vwm-2.0.1.tar.gz;
+    sha256 = "1kn1ga35kvl10s3xvgr5ys18gd4pp0gwah4pnvmfkvg0xazjrc0h";
+  };
+
+  prePatch = ''
+    sed -i -e s@/usr/local@$out@ \
+      -e s@/usr/lib@$out/lib@ \
+      -e 's@tic vwmterm@tic -o '$out/lib/terminfo' vwmterm@' \
+      -e /ldconfig/d Makefile modules/*/Makefile vwm.h
+  '';
+
+  patches = [ ./signal.patch ];
+
+  preInstall = ''
+    ensureDir $out/bin $out/include
+  '';
+ 
+  buildInputs = [ ncurses pkgconfig glib libviper libpseudo gpm];
+ 
+  meta = {
+    homepage = http://vwm.sourceforge.net/;
+    description = "Dynamic window manager for the console";
+    license="GPLv2+";
+  };
+}
diff --git a/pkgs/applications/window-managers/vwm/signal.patch b/pkgs/applications/window-managers/vwm/signal.patch
new file mode 100644
index 00000000000..b6cac4d262a
--- /dev/null
+++ b/pkgs/applications/window-managers/vwm/signal.patch
@@ -0,0 +1,22 @@
+diff --git a/modules/vwmterm2/signals.c b/modules/vwmterm2/signals.c
+index 239e7f2..07d78fd 100644
+--- a/modules/vwmterm2/signals.c
++++ b/modules/vwmterm2/signals.c
+@@ -1,4 +1,5 @@
+ #include <vwm.h>
++#include <signal.h>
+ 
+ struct sigaction* vwmterm_sigset(int signum,sighandler_t handler)
+ {
+diff --git a/vwm_private.h b/vwm_private.h
+index 2d48ebf..46457bd 100644
+--- a/vwm_private.h
++++ b/vwm_private.h
+@@ -2,6 +2,7 @@
+ #define _H_VWM_PRIVATE_
+ 
+ #include <glib.h>
++#include <signal.h>
+ 
+ #ifdef _VIPER_WIDE
+ #include <ncursesw/curses.h>
diff --git a/pkgs/development/libraries/libpseudo/default.nix b/pkgs/development/libraries/libpseudo/default.nix
new file mode 100644
index 00000000000..c200a379187
--- /dev/null
+++ b/pkgs/development/libraries/libpseudo/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl, pkgconfig, glib, ncurses}:
+stdenv.mkDerivation {
+  name = "libpseudo-1.1.0";
+
+  src = fetchurl {
+    url = mirror://sourceforge/libpseudo/libpseudo-1.1.0.tar.gz;
+    sha256 = "0fp64c6sbdrp4gs4a7rnh5zwis73p7zg04basdn91byshvs1giwv";
+  };
+
+  patchPhase = ''
+    sed -i -e s@/usr/local@$out@ -e /ldconfig/d Makefile
+  '';
+
+  preInstall = ''
+    ensureDir $out/include
+    ensureDir $out/lib
+  '';
+
+  buildInputs = [pkgconfig glib ncurses];
+
+  meta = {
+    homepage = http://libpseudo.sourceforge.net/;
+    description = "Simple, thread-safe messaging between threads";
+    license="GPLv2+";
+  };
+}
diff --git a/pkgs/development/libraries/libviper/default.nix b/pkgs/development/libraries/libviper/default.nix
new file mode 100644
index 00000000000..10dee7d5638
--- /dev/null
+++ b/pkgs/development/libraries/libviper/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl, pkgconfig, glib, ncurses, gpm}:
+stdenv.mkDerivation {
+  name = "libviper-1.2.2";
+
+  src = fetchurl {
+    url = mirror://sourceforge/libviper/libviper-1.4.2.tar.gz;
+    sha256 = "06ff9i914cxi3ifnr5xfpfbvz46kx150jaxvr6rcha6ylglw48c9";
+  };
+
+  patchPhase = ''
+    sed -i -e s@/usr/local@$out@ -e /ldconfig/d -e '/cd vdk/d' Makefile
+  '';
+
+  preInstall = ''
+    ensureDir $out/include
+    ensureDir $out/lib
+  '';
+
+  buildInputs = [pkgconfig glib ncurses gpm];
+
+  meta = {
+    homepage = http://libviper.sourceforge.net/;
+    description = "Simple window creation and management facilities for the console";
+    license="GPLv2+";
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index ccdffd6633c..a71072fc5f2 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3539,6 +3539,11 @@ let
     inherit fetchurl stdenv zlib;
   };
 
+  libpseudo = import ../development/libraries/libpseudo {
+    inherit fetchurl stdenv pkgconfig ncurses;
+    inherit (gtkLibs) glib;
+  };
+
   /*libscdFun = lib.sumArgs (selectVersion ../development/libraries/libscd "0.4.2") {
     inherit stdenv fetchurl builderDefs libextractor perl pkgconfig;
   };
@@ -3600,6 +3605,11 @@ let
       libXinerama libXrandr randrproto libXtst;
   };
 
+  libviper = import ../development/libraries/libviper {
+    inherit fetchurl stdenv pkgconfig ncurses gpm;
+    inherit (gtkLibs) glib;
+  };
+
   libvorbis = import ../development/libraries/libvorbis {
     inherit fetchurl stdenv libogg;
   };
@@ -6888,6 +6898,11 @@ let
       speex flac;
   };
 
+  vwm = import ../applications/window-managers/vwm {
+    inherit fetchurl stdenv ncurses pkgconfig libviper libpseudo gpm;
+    inherit (gtkLibs) glib;
+  };
+
   w3m = import ../applications/networking/browsers/w3m {
     inherit fetchurl stdenv ncurses openssl boehmgc gettext zlib;
     graphicsSupport = false;