Author: simons
Date: Thu Jul  7 22:48:36 2011
New Revision: 27657
URL: https://svn.nixos.org/websvn/nix/?rev=27657&sc=1

Log:
ledger: fixed build

 * Patchelf doesn't work for this program. Fortunately, we don't need patchelf,
   because libtool takes care of hard-coding the proper rpaths.

 * Updated home page address.

 * Build with more aggressive optimization flags.

 * Drop the obsolete const-fix patch.

Modified:
   nixpkgs/trunk/pkgs/applications/office/ledger/default.nix

Modified: nixpkgs/trunk/pkgs/applications/office/ledger/default.nix
==============================================================================
--- nixpkgs/trunk/pkgs/applications/office/ledger/default.nix   Thu Jul  7 
22:19:52 2011        (r27656)
+++ nixpkgs/trunk/pkgs/applications/office/ledger/default.nix   Thu Jul  7 
22:48:36 2011        (r27657)
@@ -1,48 +1,52 @@
-# TODO: fix a problem with patchelf(?)
+# Patchelf fails to hard-code the library paths to ledger's
+# libamounts.so and libledger-2.6.3 shared objects:
+#
+# $ ldd ~/.nix-profile/bin/ledger
+#         linux-vdso.so.1 =>  (0x00007fff513ff000)
+#         libamounts.so.0 => not found
+#         libledger-2.6.3.so => not found
+#         libstdc++.so.6 => 
/nix/store/3r8kfi33y3lbrsvlx8vzwm74h8178y35-gcc-4.5.1/lib/../lib64/libstdc++.so.6
 (0x00007f1f0feee000)
+#         libpcre.so.0 => 
/nix/store/kfhy189arpj3wrfzpgw8p9ac4g4hfgca-pcre-8.10/lib/libpcre.so.0 
(0x00007f1f0fcd3000)
+#         libgmp.so.3 => 
/nix/store/ji6py9m9w2ray1bmpkmgig9llj1i2ggf-gmp-4.3.2/lib/libgmp.so.3 
(0x00007f1f0fa7f000)
+#         libm.so.6 => 
/nix/store/vxycd107wjbhcj720hzkw2px7s7kr724-glibc-2.12.2/lib/libm.so.6 
(0x00007f1f0f7fd000)
+#         libgcc_s.so.1 => 
/nix/store/3r8kfi33y3lbrsvlx8vzwm74h8178y35-gcc-4.5.1/lib/../lib64/libgcc_s.so.1
 (0x00007f1f0f5e8000)
+#         libc.so.6 => 
/nix/store/vxycd107wjbhcj720hzkw2px7s7kr724-glibc-2.12.2/lib/libc.so.6 
(0x00007f1f0f27d000)
+#         
/nix/store/vxycd107wjbhcj720hzkw2px7s7kr724-glibc-2.12.2/lib/ld-linux-x86-64.so.2
 (0x00007f1f101ef000)
+#
+# Fortunately, libtools builds the program with proper paths hard-coded
+# alread, so we don't need patchelf. Phew!
 
 {stdenv, fetchurl, emacs, gmp, pcre}:
 
 let
-
-  pname = "ledger";
-  version = "2.6.3";
-  name = "${pname}-${version}";
-
+  name = "ledger-2.6.3";
 in
-
 stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
-    url = 
"https://github.com/downloads/jwiegley/ledger/ledger-${version}.tar.gz";;
+    url = "https://github.com/downloads/jwiegley/ledger/${name}.tar.gz";;
     sha256 = "05zpnypcwgck7lwk00pbdlcwa347xsqifxh4zsbbn01m98bx1v5k";
   };
 
   buildInputs = [ emacs gmp pcre ];
 
-  patches = [ ./const.patch ];
-
-  # Something goes wrong with pathelf...
-  # this is a small workaround: adds a small shell script for
-  # setting LD_LIBRARY_PATH
-  postInstall = ''
-    cd $out/bin
-    mv ledger ledger.bin
-    echo "#!/bin/sh" > ledger
-    echo "LD_LIBRARY_PATH=$out/lib $out/bin/ledger.bin "'"$@"' >> ledger
-    chmod +x ledger
-  '';
+  configureFlags = "CPPFLAGS=-DNDEBUG CFLAGS=-O3 CXXFLAGS=-O3";
+  dontPatchELF = true;
 
   meta = {
-    description =
-     "A double-entry accounting system with a command-line reporting 
interface";
+    homepage = "http://ledger-cli.org/";;
+    description = "A double-entry accounting system with a command-line 
reporting interface";
+    license = "BSD";
+
     longDescription = ''
       Ledger is a powerful, double-entry accounting system that is accessed
       from the UNIX command-line. This may put off some users, as there is
       no flashy UI, but for those who want unparalleled reporting access to
       their data, there really is no alternative.
     '';
-    homepage = http://wiki.github.com/jwiegley/ledger;
-    license = "BSD";
+
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits

Reply via email to