about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2009-06-01 00:03:08 +0000
committerLudovic Courtès <ludo@gnu.org>2009-06-01 00:03:08 +0000
commite0586a7936356494d65fbccf76808c84ac7e6e9a (patch)
treecbf4f7f570a0d7d089755f6ed2e05724678867b1
parentb179d2c4809ad76ee3c60407e72680c7acd94fe3 (diff)
downloadnixlib-e0586a7936356494d65fbccf76808c84ac7e6e9a.tar
nixlib-e0586a7936356494d65fbccf76808c84ac7e6e9a.tar.gz
nixlib-e0586a7936356494d65fbccf76808c84ac7e6e9a.tar.bz2
nixlib-e0586a7936356494d65fbccf76808c84ac7e6e9a.tar.lz
nixlib-e0586a7936356494d65fbccf76808c84ac7e6e9a.tar.xz
nixlib-e0586a7936356494d65fbccf76808c84ac7e6e9a.tar.zst
nixlib-e0586a7936356494d65fbccf76808c84ac7e6e9a.zip
gpsd: Fix client programs.
svn path=/nixpkgs/trunk/; revision=15812
-rw-r--r--pkgs/servers/gpsd/default.nix26
-rw-r--r--pkgs/top-level/all-packages.nix10
2 files changed, 29 insertions, 7 deletions
diff --git a/pkgs/servers/gpsd/default.nix b/pkgs/servers/gpsd/default.nix
index 523a126e9398..067e7c4446b2 100644
--- a/pkgs/servers/gpsd/default.nix
+++ b/pkgs/servers/gpsd/default.nix
@@ -1,5 +1,6 @@
 { fetchurl, stdenv, python, pkgconfig, dbus, dbus_glib
-, ncurses, libXt, libXpm, libxslt, xmlto, gpsdUser ? "gpsd" }:
+, ncurses, libX11, libXt, libXpm, libXaw, libXext, makeWrapper
+, libxslt, xmlto, gpsdUser ? "gpsd" }:
 
 stdenv.mkDerivation rec {
   name = "gpsd-2.39";
@@ -10,14 +11,31 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    python pkgconfig dbus dbus_glib ncurses libXt libXpm
-    libxslt xmlto
+    python pkgconfig dbus dbus_glib ncurses
+    libX11 libXt libXpm libXaw libXext
+    makeWrapper libxslt xmlto
   ];
 
-  configureFlags = "--enable-dbus --enable-gpsd-user=${gpsdUser}";
+  configureFlags = "--enable-dbus --enable-gpsd-user=${gpsdUser} "
+
+    # Make sure `xgpsspeed' has libXt and libX11 in its RPATH.
+    + "LDFLAGS=-Wl,--rpath=${libXt}/lib:${libX11}/lib";
 
   doCheck = true;
 
+  postInstall = ''
+    for prog in "$out/bin"/*
+    do
+      if grep -q python "$prog"
+      then
+          echo "patching \`$prog'..."
+          wrapProgram "$prog"                                                   \
+            --prefix PATH ":" "${python}/bin"                                   \
+            --prefix PYTHONPATH ":" "$out/lib/${python.libPrefix}/site-packages"
+      fi
+    done
+  '';
+
   meta = {
     description = "`gpsd', a GPS service daemon";
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index a6f522888e45..eb66a57f0a9f 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2228,6 +2228,7 @@ let
   };
 
   python25Full = python25Base.passthru.function {
+    # FIXME: We lack ncurses support, needed, e.g., for `gpsd'.
     db4 = if getConfig ["python" "db4Support"] true then db4 else null;
     sqlite = if getConfig ["python" "sqliteSupport"] true then sqlite else null;
     readline = if getConfig ["python" "readlineSupport"] true then readline else null;
@@ -6328,9 +6329,12 @@ let
   };
 
   gpsd = import ../servers/gpsd {
-    inherit fetchurl stdenv python pkgconfig dbus dbus_glib
-      ncurses libxslt xmlto;
-    inherit (xlibs) libXt libXpm;
+    inherit fetchurl stdenv pkgconfig dbus dbus_glib
+      ncurses makeWrapper libxslt xmlto;
+    inherit (xlibs) libX11 libXt libXpm libXaw libXext;
+
+    # We need a Python with NCurses bindings.
+    python = pythonFull;
   };
 
   gv = import ../applications/misc/gv {