about summary refs log tree commit diff
path: root/pkgs/applications/window-managers/ratpoison
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2012-07-09 07:11:10 +0200
committerPeter Simons <simons@cryp.to>2012-07-09 07:16:07 +0200
commit172f03517eda4829938583b3994ea93dc40c6277 (patch)
tree4635050d893de780cb0b356b290fd901a0926fca /pkgs/applications/window-managers/ratpoison
parent9abd2194cef1b5f807db49dae7e11ca01017c604 (diff)
downloadnixlib-172f03517eda4829938583b3994ea93dc40c6277.tar
nixlib-172f03517eda4829938583b3994ea93dc40c6277.tar.gz
nixlib-172f03517eda4829938583b3994ea93dc40c6277.tar.bz2
nixlib-172f03517eda4829938583b3994ea93dc40c6277.tar.lz
nixlib-172f03517eda4829938583b3994ea93dc40c6277.tar.xz
nixlib-172f03517eda4829938583b3994ea93dc40c6277.tar.zst
nixlib-172f03517eda4829938583b3994ea93dc40c6277.zip
ratpoison: install ratpoison.el into $out/share/emacs/site-lisp directory where Emacs can find it
Also, copy the glibc patch into Nixpkgs to avoid errors with changing hashes
from cgit.
Diffstat (limited to 'pkgs/applications/window-managers/ratpoison')
-rw-r--r--pkgs/applications/window-managers/ratpoison/default.nix53
-rw-r--r--pkgs/applications/window-managers/ratpoison/glibc-fix.patch22
2 files changed, 48 insertions, 27 deletions
diff --git a/pkgs/applications/window-managers/ratpoison/default.nix b/pkgs/applications/window-managers/ratpoison/default.nix
index 77a998b9f74c..262b46190fbb 100644
--- a/pkgs/applications/window-managers/ratpoison/default.nix
+++ b/pkgs/applications/window-managers/ratpoison/default.nix
@@ -9,44 +9,43 @@ stdenv.mkDerivation rec {
     sha256 = "7391079db20b8613eecfd81d64d243edc9d3c586750c8f2da2bb9db14d260f03";
   };
 
-  patches =
-    [ (fetchurl {
-         url = "http://git.savannah.gnu.org/cgit/ratpoison.git/patch/?id=4ad0b38fb53506d613c4b4f7268dadfcedae9b8e";
-         sha256 = "118c5b481fa22b8fefbe34e3dbb157f621a3bf5de0c7beb540001c99ff403a5f";
-       })
-    ];
-
-  preConfigure = "autoreconf -vf";	# needed because of the patch above
-
-  NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2"; # urgh
-  
   buildInputs =
     [ libX11 inputproto libXt libXpm libXft fontconfig freetype libXtst
       xextproto readline libXi pkgconfig perl autoconf automake
     ];
 
-  meta = {
-    description = "Ratpoison, a simple mouse-free tiling window manager";
-    longDescription =
-      '' Ratpoison is a simple window manager with no fat library
-         dependencies, no fancy graphics, no window decorations, and no
-         rodent dependence.  It is largely modelled after GNU Screen which
-         has done wonders in the virtual terminal market.
+  NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2"; # urgh
+
+  preConfigure = "autoreconf -vf";      # needed because of the patch above
 
-         The screen can be split into non-overlapping frames.  All windows
-         are kept maximized inside their frames to take full advantage of
-         your precious screen real estate.
+  patches = [ ./glibc-fix.patch ];
 
-         All interaction with the window manager is done through keystrokes.
-         Ratpoison has a prefix map to minimize the key clobbering that
-         cripples Emacs and other quality pieces of software.
-      '';
+  postInstall = ''
+    mkdir -p $out/share/emacs/site-lisp
+    mv "$out/share/ratpoison/"*.el $out/share/emacs/site-lisp/
+  '';
 
+  meta = {
+    homepage = "http://www.nongnu.org/ratpoison/";
+    description = "Ratpoison, a simple mouse-free tiling window manager";
     license = "GPLv2+";
 
-    homepage = http://www.nongnu.org/ratpoison/;
+    longDescription = ''
+       Ratpoison is a simple window manager with no fat library
+       dependencies, no fancy graphics, no window decorations, and no
+       rodent dependence.  It is largely modelled after GNU Screen which
+       has done wonders in the virtual terminal market.
+
+       The screen can be split into non-overlapping frames.  All windows
+       are kept maximized inside their frames to take full advantage of
+       your precious screen real estate.
+
+       All interaction with the window manager is done through keystrokes.
+       Ratpoison has a prefix map to minimize the key clobbering that
+       cripples Emacs and other quality pieces of software.
+    '';
 
     maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.simons ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/window-managers/ratpoison/glibc-fix.patch b/pkgs/applications/window-managers/ratpoison/glibc-fix.patch
new file mode 100644
index 000000000000..c779d5af795e
--- /dev/null
+++ b/pkgs/applications/window-managers/ratpoison/glibc-fix.patch
@@ -0,0 +1,22 @@
+From 4ad0b38fb53506d613c4b4f7268dadfcedae9b8e Mon Sep 17 00:00:00 2001
+From: Shawn Betts <sabetts@gmail.com>
+Date: Mon, 13 Jul 2009 01:23:25 +0000
+Subject: check for getline in configure.in
+
+This fixes a build error encountered on glibc 2.10 systems
+---
+diff --git a/configure.in b/configure.in
+index 0c1b42c..08f4ee8 100644
+--- a/configure.in
++++ b/configure.in
+@@ -146,7 +146,7 @@ AC_CHECK_HEADERS(unistd.h stdarg.h)
+ dnl Checks for typedefs, structures, and compiler characteristics.
+ 
+ dnl Checks for library functions.
+-AC_CHECK_FUNCS(getopt getopt_long setsid setpgid setpgrp putenv vsnprintf usleep)
++AC_CHECK_FUNCS(getopt getopt_long setsid setpgid setpgrp putenv vsnprintf usleep getline)
+ 
+ AC_TYPE_SIGNAL
+ 
+--
+cgit v0.9.0.2