diff --git a/pills/08-generic-builders.xml b/pills/08-generic-builders.xml index 2a34f71..fe70c11 100644 --- a/pills/08-generic-builders.xml +++ b/pills/08-generic-builders.xml @@ -34,7 +34,7 @@ GNU hello world, despite its name, is a simple yet complete project which uses autotools. Fetch the latest tarball here: - https://ftp.gnu.org/gnu/hello/hello-2.10.tar.gz. + https://ftp.gnu.org/gnu/hello/hello-2.12.1.tar.gz. @@ -297,7 +297,7 @@ Out of this pill we managed to create a generic builder for autotools - projects, and a function mkDerivation that composes by default + projects, and a function mymkDerivation that composes by default the common components used in autotools projects instead of repeating them in all the packages we would write. diff --git a/pills/08/autotools-nix.txt b/pills/08/autotools-nix.txt index 43264e1..fda44fa 100644 --- a/pills/08/autotools-nix.txt +++ b/pills/08/autotools-nix.txt @@ -1,9 +1,8 @@ pkgs: attrs: - with pkgs; let defaultAttrs = { - builder = "${bash}/bin/bash"; + builder = "${pkgs.bash}/bin/bash"; args = [ ./builder.sh ]; - baseInputs = [ gnutar gzip gnumake gcc coreutils gawk gnused gnugrep binutils.bintools ]; + baseInputs = with pkgs; [ gnutar gzip gnumake gcc coreutils gawk gnused gnugrep binutils.bintools ]; buildInputs = []; system = builtins.currentSystem; }; diff --git a/pills/08/hello-builder.txt b/pills/08/hello-builder.txt index 14787f4..3ad635e 100644 --- a/pills/08/hello-builder.txt +++ b/pills/08/hello-builder.txt @@ -1,6 +1,6 @@ export PATH="$gnutar/bin:$gcc/bin:$gnumake/bin:$coreutils/bin:$gawk/bin:$gzip/bin:$gnugrep/bin:$gnused/bin:$bintools/bin" tar -xzf $src -cd hello-2.10 +cd hello-2.12.1 ./configure --prefix=$out make make install diff --git a/pills/08/hello-nix-darwin.txt b/pills/08/hello-nix-darwin.txt index 735d816..79e8b1f 100644 --- a/pills/08/hello-nix-darwin.txt +++ b/pills/08/hello-nix-darwin.txt @@ -1,11 +1,13 @@ -with (import {}); -derivation { - name = "hello"; - builder = "${bash}/bin/bash"; - args = [ ./hello_builder.sh ]; - inherit gnutar gzip gnumake coreutils gawk gnused gnugrep; - gcc = clang; - bintools = clang.bintools.bintools_bin; - src = ./hello-2.10.tar.gz; - system = builtins.currentSystem; -} +let + pkgs = import {}; +in + derivation { + name = "hello"; + builder = "${pkgs.bash}/bin/bash"; + args = [ ./hello_builder.sh ]; + inherit (pkgs) gnutar gzip gnumake coreutils gawk gnused gnugrep; + gcc = pkgs.clang; + bintools = pkgs.clang.bintools.bintools_bin; + src = ./hello-2.12.1.tar.gz; + system = builtins.currentSystem; + } diff --git a/pills/08/hello-nix-rev-1.txt b/pills/08/hello-nix-rev-1.txt index 053e715..67b5efd 100644 --- a/pills/08/hello-nix-rev-1.txt +++ b/pills/08/hello-nix-rev-1.txt @@ -1,9 +1,11 @@ -with (import {}); -derivation { - name = "hello"; - builder = "${bash}/bin/bash"; - args = [ ./builder.sh ]; - buildInputs = [ gnutar gzip gnumake gcc coreutils gawk gnused gnugrep binutils.bintools ]; - src = ./hello-2.10.tar.gz; - system = builtins.currentSystem; -} +let + pkgs = import {}; +in + derivation { + name = "hello"; + builder = "${pkgs.bash}/bin/bash"; + args = [ ./builder.sh ]; + buildInputs = with pkgs; [ gnutar gzip gnumake gcc coreutils gawk gnused gnugrep binutils.bintools ]; + src = ./hello-2.12.1.tar.gz; + system = builtins.currentSystem; + } diff --git a/pills/08/hello-nix-rev-2.txt b/pills/08/hello-nix-rev-2.txt index c216fb1..403b783 100644 --- a/pills/08/hello-nix-rev-2.txt +++ b/pills/08/hello-nix-rev-2.txt @@ -1,7 +1,8 @@ let pkgs = import {}; mkDerivation = import ./autotools.nix pkgs; -in mkDerivation { - name = "hello"; - src = ./hello-2.10.tar.gz; -} +in + mkDerivation { + name = "hello"; + src = ./hello-2.12.1.tar.gz; + } diff --git a/pills/08/hello-nix.txt b/pills/08/hello-nix.txt index 80377bc..ba7f10a 100644 --- a/pills/08/hello-nix.txt +++ b/pills/08/hello-nix.txt @@ -1,10 +1,12 @@ -with (import {}); -derivation { - name = "hello"; - builder = "${bash}/bin/bash"; - args = [ ./hello_builder.sh ]; - inherit gnutar gzip gnumake gcc coreutils gawk gnused gnugrep; - bintools = binutils.bintools; - src = ./hello-2.10.tar.gz; - system = builtins.currentSystem; -} +let + pkgs = import {}; +in + derivation { + name = "hello"; + builder = "${pkgs.bash}/bin/bash"; + args = [ ./hello_builder.sh ]; + inherit (pkgs) gnutar gzip gnumake gcc coreutils gawk gnused gnugrep; + bintools = pkgs.binutils.bintools; + src = ./hello-2.12.1.tar.gz; + system = builtins.currentSystem; + }