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