diff options
Diffstat (limited to 'nixpkgs/pkgs/development/tools/misc/premake')
5 files changed, 166 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/tools/misc/premake/3.nix b/nixpkgs/pkgs/development/tools/misc/premake/3.nix new file mode 100644 index 000000000000..c05581f5591a --- /dev/null +++ b/nixpkgs/pkgs/development/tools/misc/premake/3.nix @@ -0,0 +1,27 @@ +{lib, stdenv, fetchurl, unzip}: + +stdenv.mkDerivation rec { + pname = "premake"; + version = "3.7"; + + src = fetchurl { + url = "mirror://sourceforge/sourceforge/premake/premake-src-${version}.zip"; + sha256 = "b59841a519e75d5b6566848a2c5be2f91455bf0cc6ae4d688fcbd4c40db934d5"; + }; + + nativeBuildInputs = [ unzip ]; + + installPhase = '' + install -Dm755 bin/premake $out/bin/premake + ''; + + premake_cmd = "premake"; + setupHook = ./setup-hook.sh; + + meta = { + homepage = "https://premake.github.io/"; + description = "A simple build configuration and project generation tool using lua"; + license = lib.licenses.bsd3; + platforms = lib.platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/development/tools/misc/premake/5.nix b/nixpkgs/pkgs/development/tools/misc/premake/5.nix new file mode 100644 index 000000000000..a42d4c1a7b6e --- /dev/null +++ b/nixpkgs/pkgs/development/tools/misc/premake/5.nix @@ -0,0 +1,51 @@ +{ lib, stdenv, fetchFromGitHub, libuuid, cacert, Foundation, readline }: + +stdenv.mkDerivation rec { + pname = "premake5"; + version = "5.0.0-beta2"; + + src = fetchFromGitHub { + owner = "premake"; + repo = "premake-core"; + rev = "v${version}"; + sha256 = "sha256-2R5gq4jaQsp8Ny1oGuIYkef0kn2UG9jMf20vq0714oY="; + }; + + buildInputs = [ libuuid ] ++ lib.optionals stdenv.isDarwin [ Foundation readline ]; + + patches = [ ./no-curl-ca.patch ]; + postPatch = '' + substituteInPlace contrib/curl/premake5.lua \ + --replace "ca = nil" "ca = '${cacert}/etc/ssl/certs/ca-bundle.crt'" + '' + lib.optionalString stdenv.isDarwin '' + substituteInPlace premake5.lua \ + --replace -mmacosx-version-min=10.4 -mmacosx-version-min=10.5 + '' + lib.optionalString stdenv.hostPlatform.isStatic '' + substituteInPlace \ + binmodules/example/premake5.lua \ + binmodules/luasocket/premake5.lua \ + --replace SharedLib StaticLib + ''; + + buildPhase = + if stdenv.isDarwin then '' + make -f Bootstrap.mak osx + '' else '' + make -f Bootstrap.mak linux + ''; + + installPhase = '' + 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"; + license = lib.licenses.bsd3; + platforms = lib.platforms.darwin ++ lib.platforms.linux; + broken = stdenv.isDarwin && stdenv.isAarch64; + }; +} diff --git a/nixpkgs/pkgs/development/tools/misc/premake/default.nix b/nixpkgs/pkgs/development/tools/misc/premake/default.nix new file mode 100644 index 000000000000..e3c4aef87bd3 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/misc/premake/default.nix @@ -0,0 +1,33 @@ +{ lib, stdenv, fetchurl, unzip }: + +stdenv.mkDerivation rec { + pname = "premake"; + version = "4.3"; + + src = fetchurl { + url = "mirror://sourceforge/premake/premake-${version}-src.zip"; + sha256 = "1017rd0wsjfyq2jvpjjhpszaa7kmig6q1nimw76qx3cjz2868lrn"; + }; + + nativeBuildInputs = [ unzip ]; + + buildPhase = '' + make -C build/gmake.unix/ + ''; + + installPhase = '' + install -Dm755 bin/release/premake4 $out/bin/premake4 + ''; + + premake_cmd = "premake4"; + setupHook = ./setup-hook.sh; + + meta = with lib; { + description = "A simple build configuration and project generation tool using lua"; + homepage = "https://premake.github.io/"; + license = lib.licenses.bsd3; + maintainers = [ maintainers.bjornfor ]; + mainProgram = "premake4"; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/development/tools/misc/premake/no-curl-ca.patch b/nixpkgs/pkgs/development/tools/misc/premake/no-curl-ca.patch new file mode 100644 index 000000000000..a1c9c1cfa18e --- /dev/null +++ b/nixpkgs/pkgs/development/tools/misc/premake/no-curl-ca.patch @@ -0,0 +1,36 @@ +From a26e36d55cd2447488e01b2ff4ac65e2596862cd Mon Sep 17 00:00:00 2001 +From: Ellie Hermaszewska <git@monoid.al> +Date: Mon, 3 Oct 2022 16:50:33 +0800 +Subject: [PATCH] Do not set CURL_CA_BUNDLE + +--- + contrib/curl/premake5.lua | 13 ------------- + 1 file changed, 13 deletions(-) + +diff --git a/contrib/curl/premake5.lua b/contrib/curl/premake5.lua +index 474f5cfa..553bbd02 100644 +--- a/contrib/curl/premake5.lua ++++ b/contrib/curl/premake5.lua +@@ -32,19 +32,6 @@ project "curl-lib" + + -- find the location of the ca bundle + local ca = nil +- for _, f in ipairs { +- "/etc/ssl/certs/ca-certificates.crt", +- "/etc/pki/tls/certs/ca-bundle.crt", +- "/usr/share/ssl/certs/ca-bundle.crt", +- "/usr/local/share/certs/ca-root.crt", +- "/usr/local/share/certs/ca-root-nss.crt", +- "/etc/certs/ca-certificates.crt", +- "/etc/ssl/cert.pem" } do +- if os.isfile(f) then +- ca = f +- break +- end +- end + if ca then + defines { 'CURL_CA_BUNDLE="' .. ca .. '"' } + end +-- +2.37.2 + diff --git a/nixpkgs/pkgs/development/tools/misc/premake/setup-hook.sh b/nixpkgs/pkgs/development/tools/misc/premake/setup-hook.sh new file mode 100644 index 000000000000..6e65e9e8c73f --- /dev/null +++ b/nixpkgs/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 |