diff --git a/pkgs/development/tools/build-managers/tup/default.nix b/pkgs/development/tools/build-managers/tup/default.nix index ca25a6584fd..09420cb7058 100644 --- a/pkgs/development/tools/build-managers/tup/default.nix +++ b/pkgs/development/tools/build-managers/tup/default.nix @@ -37,6 +37,8 @@ stdenv.mkDerivation rec { cp tup.1 $out/share/man/man1/ ''; + setupHook = ./tup/setup-hook.sh; + meta = with stdenv.lib; { description = "A fast, file-based build system"; longDescription = '' diff --git a/pkgs/development/tools/build-managers/tup/setup-hook.sh b/pkgs/development/tools/build-managers/tup/setup-hook.sh new file mode 100644 index 00000000000..5bf64ae59d3 --- /dev/null +++ b/pkgs/development/tools/build-managers/tup/setup-hook.sh @@ -0,0 +1,44 @@ +#!/bin/sh + +tupConfigurePhase() { + runHook preConfigure + + echo -n CONFIG_TUP_ARCH= >> tup.config + case "$system" in + "i686-*") echo i386 >> tup.config;; + "x86_64-*") echo x86_64 >> tup.config;; + "powerpc-*") echo powerpc >> tup.config;; + "powerpc64-*") echo powerpc64 >> tup.config;; + "ia64-*") echo ia64 >> tup.config;; + "alpha-*") echo alpha >> tup.config;; + "sparc-*") echo sparc >> tup.config;; + "aarch64-*") echo arm64 >> tup.config;; + "arm*") echo arm >> tup.config;; + esac + + echo "${tupConfig-}" >> tup.config + + tup init + tup generate tupBuild.sh + + runHook postConfigure +} + +if [ -z "${dontUseTupConfigure-}" -a -z "${configurePhase-}" ]; then + configurePhase=tupConfigurePhase +fi + + +tupBuildPhase() { + runHook preBuild + + pushd . + . tupBuild.sh + popd + + runHook postBuild +} + +if [ -z "${dontUseTupBuild-}" -a -z "${buildPhase-}" ]; then + buildPhase=tupBuildPhase +fi