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