summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2018-11-26 18:00:08 -0600
committerMatthew Bauer <mjbauer95@gmail.com>2018-11-28 20:14:29 -0600
commitfd78464de91d5d64dda217397586996e0b7ff37f (patch)
treee92b770ec2159c039a294674fe1cbb69b5e1c65b /pkgs/development
parent2d2f85876ae4b4c794e07ccaa00cba4425c47449 (diff)
downloadnixpkgs-fd78464de91d5d64dda217397586996e0b7ff37f.tar
nixpkgs-fd78464de91d5d64dda217397586996e0b7ff37f.tar.gz
nixpkgs-fd78464de91d5d64dda217397586996e0b7ff37f.tar.bz2
nixpkgs-fd78464de91d5d64dda217397586996e0b7ff37f.tar.lz
nixpkgs-fd78464de91d5d64dda217397586996e0b7ff37f.tar.xz
nixpkgs-fd78464de91d5d64dda217397586996e0b7ff37f.tar.zst
nixpkgs-fd78464de91d5d64dda217397586996e0b7ff37f.zip
premake: add setup-hook
Adds a configure phase for packages using premake.
premakeConfigurePhase runs the correct premake version for the premake
you are using (see premake_cmd).
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/tools/misc/premake/3.nix3
-rw-r--r--pkgs/development/tools/misc/premake/5.nix3
-rw-r--r--pkgs/development/tools/misc/premake/default.nix7
-rw-r--r--pkgs/development/tools/misc/premake/setup-hook.sh19
4 files changed, 30 insertions, 2 deletions
diff --git a/pkgs/development/tools/misc/premake/3.nix b/pkgs/development/tools/misc/premake/3.nix
index 77f61386874..8b02bf96fd5 100644
--- a/pkgs/development/tools/misc/premake/3.nix
+++ b/pkgs/development/tools/misc/premake/3.nix
@@ -18,6 +18,9 @@ stdenv.mkDerivation {
     install -Dm755 bin/premake $out/bin/premake
   '';
 
+  premake_cmd = "premake3";
+  setupHook = ./setup-hook.sh;
+
   meta = {
     homepage = http://industriousone.com/premake;
     description = "A simple build configuration and project generation tool using lua";
diff --git a/pkgs/development/tools/misc/premake/5.nix b/pkgs/development/tools/misc/premake/5.nix
index 93220a02e2d..8ceb3d4a436 100644
--- a/pkgs/development/tools/misc/premake/5.nix
+++ b/pkgs/development/tools/misc/premake/5.nix
@@ -31,6 +31,9 @@ stdenv.mkDerivation rec {
     install -Dm755 bin/release/premake5 $out/bin/premake5
   '';
 
+  premake_cmd = "premake5";
+  setupHook = ./setup-hook.sh;
+
   meta = {
     homepage = https://premake.github.io;
     description = "A simple build configuration and project generation tool using lua";
diff --git a/pkgs/development/tools/misc/premake/default.nix b/pkgs/development/tools/misc/premake/default.nix
index 770c8071095..99bf8cac81f 100644
--- a/pkgs/development/tools/misc/premake/default.nix
+++ b/pkgs/development/tools/misc/premake/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
     sha256 = "1017rd0wsjfyq2jvpjjhpszaa7kmig6q1nimw76qx3cjz2868lrn";
   };
 
-  buildInputs = [ unzip ];
+  nativeBuildInputs = [ unzip ];
 
   buildPhase = ''
     make -C build/gmake.unix/
@@ -22,11 +22,14 @@ stdenv.mkDerivation {
     install -Dm755 bin/release/premake4 $out/bin/premake4
   '';
 
+  premake_cmd = "premake4";
+  setupHook = ./setup-hook.sh;
+
   meta = with stdenv.lib; {
     homepage = http://industriousone.com/premake;
     description = "A simple build configuration and project generation tool using lua";
     license = stdenv.lib.licenses.bsd3;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/development/tools/misc/premake/setup-hook.sh b/pkgs/development/tools/misc/premake/setup-hook.sh
new file mode 100644
index 00000000000..ba06ea2c761
--- /dev/null
+++ b/pkgs/development/tools/misc/premake/setup-hook.sh
@@ -0,0 +1,19 @@
+premakeConfigurePhase() {
+    runHook preConfigure
+
+    local flagsArray=(
+        ${premakefile:+--file=$premakefile}
+        $premakeFlags ${premakeFlagsArray[@]}
+        ${premakeBackend:-gmake}
+    )
+
+    echoCmd 'configure flags' "${flagsArray[@]}"
+
+    @premake_cmd@ "${flagsArray[@]}"
+
+    runHook postConfigure
+}
+
+if [ -z "$configurePhase" ]; then
+    configurePhase=premakeConfigurePhase
+fi