From e0586a7936356494d65fbccf76808c84ac7e6e9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 1 Jun 2009 00:03:08 +0000 Subject: [PATCH] gpsd: Fix client programs. svn path=/nixpkgs/trunk/; revision=15812 --- pkgs/servers/gpsd/default.nix | 26 ++++++++++++++++++++++---- pkgs/top-level/all-packages.nix | 10 +++++++--- 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 {