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. svn path=/nixpkgs/trunk/; revision=27657
This commit is contained in:
parent
ebefce41aa
commit
80713bcc75
@ -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}:
|
{stdenv, fetchurl, emacs, gmp, pcre}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
name = "ledger-2.6.3";
|
||||||
pname = "ledger";
|
|
||||||
version = "2.6.3";
|
|
||||||
name = "${pname}-${version}";
|
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
inherit name;
|
inherit name;
|
||||||
|
|
||||||
src = fetchurl {
|
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";
|
sha256 = "05zpnypcwgck7lwk00pbdlcwa347xsqifxh4zsbbn01m98bx1v5k";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ emacs gmp pcre ];
|
buildInputs = [ emacs gmp pcre ];
|
||||||
|
|
||||||
patches = [ ./const.patch ];
|
configureFlags = "CPPFLAGS=-DNDEBUG CFLAGS=-O3 CXXFLAGS=-O3";
|
||||||
|
dontPatchELF = true;
|
||||||
# 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
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description =
|
homepage = "http://ledger-cli.org/";
|
||||||
"A double-entry accounting system with a command-line reporting interface";
|
description = "A double-entry accounting system with a command-line reporting interface";
|
||||||
|
license = "BSD";
|
||||||
|
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
Ledger is a powerful, double-entry accounting system that is accessed
|
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
|
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
|
no flashy UI, but for those who want unparalleled reporting access to
|
||||||
their data, there really is no alternative.
|
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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user