about summary refs log tree commit diff
path: root/pkgs/development/tools/build-managers
diff options
context:
space:
mode:
authorEmery Hemingway <ehmry@posteo.net>2020-06-13 10:56:20 +0530
committerEmery Hemingway <ehmry@posteo.net>2020-06-13 10:56:20 +0530
commit3065ab3a925a8a9654e904e44f5c4cb2ae4184c4 (patch)
tree71fef349238cd6cf04dabb695cfa07fcc09c6b55 /pkgs/development/tools/build-managers
parent896959cf66f0b1ba4072f5297363801817c0a061 (diff)
downloadnixlib-3065ab3a925a8a9654e904e44f5c4cb2ae4184c4.tar
nixlib-3065ab3a925a8a9654e904e44f5c4cb2ae4184c4.tar.gz
nixlib-3065ab3a925a8a9654e904e44f5c4cb2ae4184c4.tar.bz2
nixlib-3065ab3a925a8a9654e904e44f5c4cb2ae4184c4.tar.lz
nixlib-3065ab3a925a8a9654e904e44f5c4cb2ae4184c4.tar.xz
nixlib-3065ab3a925a8a9654e904e44f5c4cb2ae4184c4.tar.zst
nixlib-3065ab3a925a8a9654e904e44f5c4cb2ae4184c4.zip
tup: add setupHook
Diffstat (limited to 'pkgs/development/tools/build-managers')
-rw-r--r--pkgs/development/tools/build-managers/tup/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/tup/setup-hook.sh44
2 files changed, 46 insertions, 0 deletions
diff --git a/pkgs/development/tools/build-managers/tup/default.nix b/pkgs/development/tools/build-managers/tup/default.nix
index ca25a6584fd5..09420cb7058b 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 000000000000..5bf64ae59d35
--- /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