mirror of
https://codeberg.org/spire/nix.git
synced 2026-08-02 12:25:00 +02:00
89 lines
2.1 KiB
Nix
89 lines
2.1 KiB
Nix
{
|
|
fetchFromGitHub,
|
|
stdenv,
|
|
nix-update-script,
|
|
sourcemod,
|
|
metamod-source,
|
|
curl,
|
|
gsasl,
|
|
curl-3-compat,
|
|
sourcepawn,
|
|
sourcemod-includes,
|
|
sourcemod-include-curl,
|
|
system,
|
|
lib,
|
|
}: let
|
|
inherit (lib) optionalString;
|
|
in
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "sourcemod-addon-curl";
|
|
version = "2.0.1-beta1";
|
|
src = fetchFromGitHub {
|
|
owner = "sapphonie";
|
|
repo = "SM-neocurl-ext";
|
|
rev = "v${finalAttrs.version}";
|
|
hash = "sha256-R4DnH8oJ1dsh/NfCNRHx8/yTSAo7liWrbQALk4u2esI=";
|
|
};
|
|
|
|
postPatch = ''
|
|
substituteInPlace extension/Makefile \
|
|
--replace-fail "../build/mm-1.11" ${metamod-source.src} \
|
|
--replace-fail "../build/sm-1.11" ${sourcemod.src} \
|
|
--replace-fail " -m32" "" \
|
|
--replace-fail "-lbrotlidec-static -lbrotlienc-static -lbrotlicommon-static" "-lbrotlidec -lbrotlienc -lbrotlicommon"
|
|
rm -r extension/lib extension/curl
|
|
|
|
substituteInPlace extension/curlmanager.cpp \
|
|
--replace-fail "CURLSSLBACKEND_OPENSSL" "CURLSSLBACKEND_GNUTLS"
|
|
'';
|
|
|
|
buildInputs = [gsasl curl-3-compat.dev];
|
|
|
|
nativeBuildInputs = [
|
|
(
|
|
sourcepawn.buildEnv [sourcemod-includes sourcemod-include-curl]
|
|
)
|
|
];
|
|
|
|
buildPhase = ''
|
|
runHook preBuild
|
|
|
|
mkdir -p build/extensions build/scripting build/plugins
|
|
|
|
pushd extension
|
|
make
|
|
mv Release/curl.ext.so ../build/extensions/ -v
|
|
|
|
popd
|
|
|
|
cp -Rfv pawn/* build/
|
|
|
|
spcomp build/scripting/curl_self_test.sp
|
|
mv curl_self_test.smx build/plugins
|
|
|
|
runHook postBuild
|
|
'';
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p $out/addons/sourcemod
|
|
mv build/* $out/addons/sourcemod/
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
postInstall = optionalString (system == "x86_64-linux") ''
|
|
mkdir -p $out/addons/sourcemod/extensions/x64
|
|
mv $out/addons/sourcemod/extensions/curl.ext.so $out/addons/sourcemod/extensions/x64
|
|
'';
|
|
|
|
passthru = {
|
|
updateScript = nix-update-script {
|
|
extraArgs = [
|
|
"--flake"
|
|
"--version=unstable"
|
|
];
|
|
};
|
|
};
|
|
})
|