bzip2: Get rid of the custom builder.sh.

Everything the builder.sh did can be done with the generic builder which
makes it easier to override attributes and also easier to read.

The reason I've done this is because of #10820, which tries to override
the preBuild hook, but the latter is hardcoded in the builder.sh of
bzip2.

I have compared the output of this against the previous version and the
only things that were different were timestamps in libbz2.a.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
This commit is contained in:
aszlig 2015-11-17 16:16:14 +01:00
parent cc86857601
commit 96648a8526
No known key found for this signature in database
GPG Key ID: D0EBD0EC8C2DC961
2 changed files with 33 additions and 33 deletions

View File

@ -1,24 +0,0 @@
source $stdenv/setup
installFlags="PREFIX=$out"
if test -n "$sharedLibrary"; then
preBuild() {
make -f Makefile-libbz2_so
}
preInstall() {
mkdir -p $out/lib
mv libbz2.so* $out/lib
(cd $out/lib && ln -s libbz2.so.1.0.? libbz2.so && ln -s libbz2.so.1.0.? libbz2.so.1);
}
fi
postInstall() {
rm $out/bin/bunzip2* $out/bin/bzcat*
ln -s bzip2 $out/bin/bunzip2
ln -s bzip2 $out/bin/bzcat
}
genericBuild

View File

@ -1,12 +1,14 @@
{ stdenv, fetchurl, linkStatic ? false }:
let version = "1.0.6"; in
let
version = "1.0.6";
stdenv.mkDerivation {
sharedLibrary = !stdenv.isDarwin && !(stdenv ? isStatic)
&& stdenv.system != "i686-cygwin" && !linkStatic;
in stdenv.mkDerivation {
name = "bzip2-${version}";
builder = ./builder.sh;
src = fetchurl {
url = "http://www.bzip.org/${version}/bzip2-${version}.tar.gz";
sha256 = "1kfrc7f0ja9fdn6j1y6yir6li818npy6217hvr3wzmnmzhs8z152";
@ -23,14 +25,36 @@ stdenv.mkDerivation {
'';
};
sharedLibrary =
!stdenv.isDarwin && !(stdenv ? isStatic) && stdenv.system != "i686-cygwin" && !linkStatic;
preBuild = stdenv.lib.optionalString sharedLibrary ''
make -f Makefile-libbz2_so
'';
patchPhase = stdenv.lib.optionalString stdenv.isDarwin "substituteInPlace Makefile --replace 'CC=gcc' 'CC=clang'";
preInstall = stdenv.lib.optionalString sharedLibrary ''
mkdir -p $out/lib
mv libbz2.so* $out/lib
( cd $out/lib &&
ln -s libbz2.so.1.0.? libbz2.so &&
ln -s libbz2.so.1.0.? libbz2.so.1
)
'';
preConfigure = "substituteInPlace Makefile --replace '$(PREFIX)/man' '$(PREFIX)/share/man'";
installFlags = [ "PREFIX=$(out)" ];
makeFlags = if linkStatic then "LDFLAGS=-static" else "";
postInstall = ''
rm $out/bin/bunzip2* $out/bin/bzcat*
ln -s bzip2 $out/bin/bunzip2
ln -s bzip2 $out/bin/bzcat
'';
patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
substituteInPlace Makefile --replace 'CC=gcc' 'CC=clang'
'';
preConfigure = ''
substituteInPlace Makefile --replace '$(PREFIX)/man' '$(PREFIX)/share/man'
'';
makeFlags = stdenv.lib.optional linkStatic "LDFLAGS=-static";
inherit linkStatic;