diff options
Diffstat (limited to 'nixpkgs/pkgs/by-name/fr/frankenphp/package.nix')
-rw-r--r-- | nixpkgs/pkgs/by-name/fr/frankenphp/package.nix | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/nixpkgs/pkgs/by-name/fr/frankenphp/package.nix b/nixpkgs/pkgs/by-name/fr/frankenphp/package.nix index 3bc94389d67f..cfeb35882191 100644 --- a/nixpkgs/pkgs/by-name/fr/frankenphp/package.nix +++ b/nixpkgs/pkgs/by-name/fr/frankenphp/package.nix @@ -5,6 +5,9 @@ , php , testers , frankenphp +, darwin +, pkg-config +, makeBinaryWrapper , runCommand , writeText }: @@ -13,19 +16,22 @@ let phpEmbedWithZts = php.override { embedSupport = true; ztsSupport = true; + staticSupport = stdenv.isDarwin; + zendSignalsSupport = false; + zendMaxExecutionTimersSupport = stdenv.isLinux; }; phpUnwrapped = phpEmbedWithZts.unwrapped; phpConfig = "${phpUnwrapped.dev}/bin/php-config"; pieBuild = stdenv.hostPlatform.isMusl; in buildGoModule rec { pname = "frankenphp"; - version = "1.0.0-rc.4"; + version = "1.0.0"; src = fetchFromGitHub { owner = "dunglas"; repo = "frankenphp"; rev = "v${version}"; - hash = "sha256-4jNCKHt4eYI1BNaonIdS1Eq2OnJwgrU6qWZoiSpeIYk="; + hash = "sha256-QgLCcZUDjeEdo8ijUXeubRkLI9DDlMctzHlGSjDCZoc="; }; sourceRoot = "source/caddy"; @@ -36,6 +42,7 @@ in buildGoModule rec { vendorHash = "sha256-Lgj/pFtSQIgjrycajJ1zNY3ytvArmuk0E3IjsAzsNdM="; buildInputs = [ phpUnwrapped ] ++ phpUnwrapped.buildInputs; + nativeBuildInputs = [ makeBinaryWrapper ] ++ lib.optionals stdenv.isDarwin [ pkg-config darwin.cctools darwin.autoSignDarwinBinariesHook ]; subPackages = [ "frankenphp" ]; @@ -52,7 +59,18 @@ in buildGoModule rec { export CGO_CFLAGS="$(${phpConfig} --includes)" export CGO_LDFLAGS="-DFRANKENPHP_VERSION=${version} \ $(${phpConfig} --ldflags) \ - -Wl,--start-group $(${phpConfig} --libs) -Wl,--end-group" + $(${phpConfig} --libs)" + '' + lib.optionalString stdenv.isDarwin '' + # replace hard-code homebrew path + substituteInPlace ../frankenphp.go \ + --replace "-L/opt/homebrew/opt/libiconv/lib" "-L${darwin.libiconv}/lib" + ''; + + preFixup = '' + mkdir -p $out/lib + ln -s "${phpEmbedWithZts}/lib/php.ini" "$out/lib/php.ini" + + wrapProgram $out/bin/frankenphp --set-default PHP_INI_SCAN_DIR $out/lib ''; doCheck = false; @@ -82,7 +100,7 @@ in buildGoModule rec { homepage = "https://github.com/dunglas/frankenphp"; license = licenses.mit; mainProgram = "frankenphp"; - maintainers = with maintainers; [ gaelreyrol ]; - platforms = platforms.linux; + maintainers = with maintainers; [ gaelreyrol shyim ]; + platforms = platforms.linux ++ platforms.darwin; }; } |