forked from mirrors/nixpkgs
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:
parent
cc86857601
commit
96648a8526
|
@ -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
|
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in a new issue