From 96648a8526e8e9a8dc7d56a1572cea717ec20403 Mon Sep 17 00:00:00 2001 From: aszlig Date: Tue, 17 Nov 2015 16:16:14 +0100 Subject: 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 --- pkgs/tools/compression/bzip2/builder.sh | 24 ------------------ pkgs/tools/compression/bzip2/default.nix | 42 +++++++++++++++++++++++++------- 2 files changed, 33 insertions(+), 33 deletions(-) delete mode 100644 pkgs/tools/compression/bzip2/builder.sh (limited to 'pkgs/tools/compression/bzip2') diff --git a/pkgs/tools/compression/bzip2/builder.sh b/pkgs/tools/compression/bzip2/builder.sh deleted file mode 100644 index a598dfcf808c..000000000000 --- a/pkgs/tools/compression/bzip2/builder.sh +++ /dev/null @@ -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 diff --git a/pkgs/tools/compression/bzip2/default.nix b/pkgs/tools/compression/bzip2/default.nix index 74da91431a43..a485bf5eab68 100644 --- a/pkgs/tools/compression/bzip2/default.nix +++ b/pkgs/tools/compression/bzip2/default.nix @@ -1,11 +1,13 @@ { stdenv, fetchurl, linkStatic ? false }: -let version = "1.0.6"; in +let + version = "1.0.6"; -stdenv.mkDerivation { - name = "bzip2-${version}"; + sharedLibrary = !stdenv.isDarwin && !(stdenv ? isStatic) + && stdenv.system != "i686-cygwin" && !linkStatic; - builder = ./builder.sh; +in stdenv.mkDerivation { + name = "bzip2-${version}"; src = fetchurl { url = "http://www.bzip.org/${version}/bzip2-${version}.tar.gz"; @@ -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 + ''; + + 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 + ) + ''; + + installFlags = [ "PREFIX=$(out)" ]; + + 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'"; + patchPhase = stdenv.lib.optionalString stdenv.isDarwin '' + substituteInPlace Makefile --replace 'CC=gcc' 'CC=clang' + ''; - preConfigure = "substituteInPlace Makefile --replace '$(PREFIX)/man' '$(PREFIX)/share/man'"; + preConfigure = '' + substituteInPlace Makefile --replace '$(PREFIX)/man' '$(PREFIX)/share/man' + ''; - makeFlags = if linkStatic then "LDFLAGS=-static" else ""; + makeFlags = stdenv.lib.optional linkStatic "LDFLAGS=-static"; inherit linkStatic; -- cgit 1.4.1