mirror of
https://codeberg.org/spire/nix.git
synced 2026-08-02 12:25:00 +02:00
sourcemod-addon-socket from source
This commit is contained in:
parent
b9ca632c6d
commit
7eeba3211f
9 changed files with 117 additions and 22 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -1,4 +1,4 @@
|
||||||
result
|
result*
|
||||||
.direnv
|
.direnv
|
||||||
tmp
|
tmp
|
||||||
depots
|
depots
|
||||||
|
|
|
||||||
|
|
@ -58,9 +58,9 @@
|
||||||
"srcds-tf2"
|
"srcds-tf2"
|
||||||
"sourcemod-addon-curl"
|
"sourcemod-addon-curl"
|
||||||
"sourcemod-addon-steamworks"
|
"sourcemod-addon-steamworks"
|
||||||
|
"sourcemod-addon-socket"
|
||||||
"sourcemod-plugin-soap-tf2dm"
|
"sourcemod-plugin-soap-tf2dm"
|
||||||
"sourcemod-plugin-progressive-ruleset-timer"
|
"sourcemod-plugin-progressive-ruleset-timer"
|
||||||
"sourcemod-plugin-socket"
|
|
||||||
"sourcemod-plugin-tf2-comp-fixes"
|
"sourcemod-plugin-tf2-comp-fixes"
|
||||||
"sourcemod-plugin-mapdownloader"
|
"sourcemod-plugin-mapdownloader"
|
||||||
"sourcemod-plugin-whitelist"
|
"sourcemod-plugin-whitelist"
|
||||||
|
|
@ -83,6 +83,7 @@
|
||||||
plugins = with pkgs; [
|
plugins = with pkgs; [
|
||||||
sourcemod-addon-curl
|
sourcemod-addon-curl
|
||||||
sourcemod-addon-steamworks
|
sourcemod-addon-steamworks
|
||||||
|
sourcemod-addon-socket
|
||||||
sourcemod-plugin-mapdownloader
|
sourcemod-plugin-mapdownloader
|
||||||
sourcemod-plugin-whitelist
|
sourcemod-plugin-whitelist
|
||||||
sourcemod-plugin-nocheats
|
sourcemod-plugin-nocheats
|
||||||
|
|
|
||||||
38
nix/sourcemod/amtl.nix
Normal file
38
nix/sourcemod/amtl.nix
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenvNoCC,
|
||||||
|
fetchFromGitHub,
|
||||||
|
nix-update-script,
|
||||||
|
}:
|
||||||
|
stdenvNoCC.mkDerivation {
|
||||||
|
pname = "amtl";
|
||||||
|
version = "2.2-unstable-2026-06-06";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "alliedmodders";
|
||||||
|
repo = "amtl";
|
||||||
|
rev = "bfede4005e4eb1ce5e4cfeb34da4f2c6a379b85a";
|
||||||
|
hash = "sha256-XMW6Pb/ez6N49VPWIFi3a+fx2paYrzZuHL0TDq7PmVo=";
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out
|
||||||
|
cp -r amtl $out/include
|
||||||
|
ln -s $out/include $out/include/amtl
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
updateScript = nix-update-script {
|
||||||
|
extraArgs = [
|
||||||
|
"--flake"
|
||||||
|
"--version=branch"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/alliedmodders/amtl";
|
||||||
|
description = "AlliedModders C++ Template Library";
|
||||||
|
license = licenses.bsd3;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -17,6 +17,8 @@ in
|
||||||
pname = "metamod-source";
|
pname = "metamod-source";
|
||||||
version = "1.12.0.1224";
|
version = "1.12.0.1224";
|
||||||
|
|
||||||
|
outputs = ["out" "dev"];
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = "-Wno-error=format-truncation -Wno-error=ignored-attributes -Wno-error=template-id-cdtor";
|
NIX_CFLAGS_COMPILE = "-Wno-error=format-truncation -Wno-error=ignored-attributes -Wno-error=template-id-cdtor";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
|
|
@ -50,5 +52,9 @@ in
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mv package $out
|
mv package $out
|
||||||
|
|
||||||
|
mkdir $dev
|
||||||
|
cp -r $src/public $dev/public
|
||||||
|
ln -s $dev/public $dev/include
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,11 @@ final: prev:
|
||||||
inherit (final) fetchFromGitHub lib nix-update-script;
|
inherit (final) fetchFromGitHub lib nix-update-script;
|
||||||
inherit (final.stdenvNoCC) mkDerivation;
|
inherit (final.stdenvNoCC) mkDerivation;
|
||||||
};
|
};
|
||||||
|
amtl = final.callPackage ./amtl.nix {};
|
||||||
ambuild = final.python3Packages.callPackage ./ambuild.nix {};
|
ambuild = final.python3Packages.callPackage ./ambuild.nix {};
|
||||||
metamod-source = final.callPackage ./metamod-source.nix {} {};
|
metamod-source = final.callPackage ./metamod-source.nix {} {
|
||||||
|
sdk2013 = final.hl2sdk.sdk2013;
|
||||||
|
};
|
||||||
metamod-source-builder = final.callPackage ./metamod-source.nix {};
|
metamod-source-builder = final.callPackage ./metamod-source.nix {};
|
||||||
sourcemod = final.callPackage ./sourcemod.nix {} {};
|
sourcemod = final.callPackage ./sourcemod.nix {} {};
|
||||||
sourcemod-builder = final.callPackage ./sourcemod.nix {};
|
sourcemod-builder = final.callPackage ./sourcemod.nix {};
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,9 @@ final: prev: {
|
||||||
mkSpirePlugin = final.callPackage ./builder/spire-plugin.nix {};
|
mkSpirePlugin = final.callPackage ./builder/spire-plugin.nix {};
|
||||||
sourcemod-addon-curl = final.callPackage ./curl.nix {};
|
sourcemod-addon-curl = final.callPackage ./curl.nix {};
|
||||||
sourcemod-addon-steamworks = final.callPackage ./steamworks.nix {};
|
sourcemod-addon-steamworks = final.callPackage ./steamworks.nix {};
|
||||||
|
sourcemod-addon-socket = final.callPackage ./socket.nix {};
|
||||||
sourcemod-plugin-soap-tf2dm = final.callPackage ./soap-tf2dm.nix {};
|
sourcemod-plugin-soap-tf2dm = final.callPackage ./soap-tf2dm.nix {};
|
||||||
sourcemod-plugin-progressive-ruleset-timer = final.callPackage ./progressive-ruleset-timer.nix {};
|
sourcemod-plugin-progressive-ruleset-timer = final.callPackage ./progressive-ruleset-timer.nix {};
|
||||||
sourcemod-plugin-socket = final.callPackage ./socket.nix {};
|
|
||||||
sourcemod-plugin-tf2-comp-fixes = final.callPackage ./tf2-comp-fixes.nix {};
|
sourcemod-plugin-tf2-comp-fixes = final.callPackage ./tf2-comp-fixes.nix {};
|
||||||
sourcemod-plugin-mapdownloader = final.callPackage ./mapdownloader.nix {};
|
sourcemod-plugin-mapdownloader = final.callPackage ./mapdownloader.nix {};
|
||||||
sourcemod-plugin-whitelist = final.callPackage ./whitelist.nix {};
|
sourcemod-plugin-whitelist = final.callPackage ./whitelist.nix {};
|
||||||
|
|
|
||||||
|
|
@ -1,27 +1,63 @@
|
||||||
{
|
{
|
||||||
|
fetchFromGitHub,
|
||||||
fetchzip,
|
fetchzip,
|
||||||
stdenvNoCC,
|
stdenv,
|
||||||
writeScript,
|
writeScript,
|
||||||
}:
|
amtl,
|
||||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
sourcemod,
|
||||||
pname = "sourcemod-plugin-socket";
|
metamod-source,
|
||||||
version = "3.0.1";
|
sourcepawn,
|
||||||
src = fetchzip {
|
boost186,
|
||||||
url = "https://codeberg.org/spire/docker-comp-server/raw/branch/master/socket_${finalAttrs.version}.zip";
|
}: let
|
||||||
sha256 = "sha256-EDCEyzSynz8Uotgx6xVmEiGgXf1FBtOzW1YNfsOad+U=";
|
msinttypes = fetchzip {
|
||||||
|
url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/msinttypes/msinttypes-r26.zip";
|
||||||
|
hash = "sha256-uMSuHXikaHQSt35FQ3o5uUjTjyP950O0DYTtQstbBvo=";
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
};
|
};
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "sourcemod-addon-socket";
|
||||||
|
version = "3.0.1";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "nefarius";
|
||||||
|
repo = "sm-ext-socket";
|
||||||
|
rev = "ed6bf7a12bd3f801610592301e12062b367fa27b";
|
||||||
|
hash = "sha256-M13Nt58tlXXBO1fB2Y3vQLyD4Wlzrwd6mHWSf5JTUwY=";
|
||||||
|
};
|
||||||
|
|
||||||
installPhase = ''
|
postPatch = ''
|
||||||
runHook preInstall
|
substituteInPlace Makefile \
|
||||||
|
--replace-fail " -m32" "" \
|
||||||
|
--replace-fail "LINK = -lpthread -Wl,-Bstatic -static-libgcc -lboost_thread -lboost_system -lstdc++ -Wl,-Bdynamic" \
|
||||||
|
"LINK = -lpthread -lboost_thread -lstdc++" \
|
||||||
|
|
||||||
mkdir $out
|
substituteInPlace Socket.cpp \
|
||||||
mv addons $out/
|
--replace-fail "boost::system::posix_error" "boost::system::errc"
|
||||||
|
'';
|
||||||
|
|
||||||
runHook postInstall
|
nativebuildInputs = [
|
||||||
'';
|
boost186
|
||||||
|
];
|
||||||
|
|
||||||
passthru = {
|
buildInputs = [
|
||||||
updateScript = writeScript "update-null" "";
|
boost186
|
||||||
};
|
sourcemod.dev
|
||||||
})
|
amtl
|
||||||
|
msinttypes
|
||||||
|
sourcepawn.dev
|
||||||
|
metamod-source.dev
|
||||||
|
];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p $out/addons/sourcemod/extensions/x64
|
||||||
|
cp Release/socket.ext.so $out/addons/sourcemod/extensions/x64
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
updateScript = writeScript "update-null" "";
|
||||||
|
};
|
||||||
|
})
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,8 @@ in
|
||||||
pname = "sourcemod";
|
pname = "sourcemod";
|
||||||
version = "1.12.0.7239";
|
version = "1.12.0.7239";
|
||||||
|
|
||||||
|
outputs = ["out" "dev"];
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "alliedmodders";
|
owner = "alliedmodders";
|
||||||
repo = finalAttrs.pname;
|
repo = finalAttrs.pname;
|
||||||
|
|
@ -64,6 +66,10 @@ in
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mv package $out
|
mv package $out
|
||||||
|
|
||||||
|
mkdir $dev
|
||||||
|
cp -r $src/public $dev/public
|
||||||
|
ln -s $dev/public $dev/include
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru.updateScript = writeScript "update-sourcemod" ''
|
passthru.updateScript = writeScript "update-sourcemod" ''
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,8 @@
|
||||||
pname = "sourcepawn";
|
pname = "sourcepawn";
|
||||||
version = "1.12";
|
version = "1.12";
|
||||||
|
|
||||||
|
outputs = ["out" "dev"];
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare -Wno-error=unused-but-set-variable -Wno-error=maybe-uninitialized -Wno-error=ignored-attributes -Wno-error=deprecated-declarations";
|
NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare -Wno-error=unused-but-set-variable -Wno-error=maybe-uninitialized -Wno-error=ignored-attributes -Wno-error=deprecated-declarations";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
|
|
@ -45,6 +47,9 @@
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
cp spcomp/*/spcomp spshell/*/spshell verifier/*/verifier $out/bin
|
cp spcomp/*/spcomp spshell/*/spshell verifier/*/verifier $out/bin
|
||||||
|
|
||||||
|
mkdir $dev
|
||||||
|
cp -r $src/include $dev/include
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue