mirror of
https://codeberg.org/spire/nix.git
synced 2026-06-03 18:04:10 +02:00
improve sdk handling
This commit is contained in:
parent
7ef99e89d7
commit
f695af20ce
3 changed files with 23 additions and 12 deletions
|
|
@ -1,5 +1,8 @@
|
||||||
final: prev: {
|
final: prev: {
|
||||||
hl2sdk = (import ./hl2sdk.nix) {inherit (final) fetchFromGitHub;};
|
hl2sdk = (import ./hl2sdk.nix) {
|
||||||
|
inherit (final) fetchFromGitHub;
|
||||||
|
inherit (final.stdenvNoCC) mkDerivation;
|
||||||
|
};
|
||||||
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 {};
|
||||||
sourcemod = final.callPackage ./sourcemod.nix {};
|
sourcemod = final.callPackage ./sourcemod.nix {};
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{fetchFromGitHub}: let
|
{fetchFromGitHub, mkDerivation}: let
|
||||||
inherit (builtins) mapAttrs;
|
inherit (builtins) mapAttrs;
|
||||||
revisions = {
|
revisions = {
|
||||||
csgo = {rev = "4e0975afe5b2994c76ec9b40951b6347b8788463"; sha256 = "sha256-Z5LD3I4uPKGIXTeSC3yQcJl6455XFwQVuiitND8ULEQ=";};
|
csgo = {rev = "4e0975afe5b2994c76ec9b40951b6347b8788463"; sha256 = "sha256-Z5LD3I4uPKGIXTeSC3yQcJl6455XFwQVuiitND8ULEQ=";};
|
||||||
|
|
@ -32,4 +32,13 @@
|
||||||
owner = "alliedmodders";
|
owner = "alliedmodders";
|
||||||
repo = "hl2sdk";
|
repo = "hl2sdk";
|
||||||
};
|
};
|
||||||
in mapAttrs (key: sdk: fetchRev sdk) revisions
|
buildSdk = sdkName: sdk: mkDerivation rec {
|
||||||
|
name = "hl2sdk-${sdkName}";
|
||||||
|
src = fetchRev sdk;
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out
|
||||||
|
cp -r $src $out/${name}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
sdks = mapAttrs buildSdk revisions;
|
||||||
|
in sdks
|
||||||
|
|
@ -1,8 +1,10 @@
|
||||||
{ multiStdenv, fetchFromGitHub, ambuild, metamod-source, git, sdks ? {} }: let
|
{ stdenv, multiStdenv, fetchFromGitHub, ambuild, metamod-source, symlinkJoin, sdks ? {} }: let
|
||||||
inherit (builtins) attrNames concatStringsSep;
|
inherit (builtins) concatStringsSep attrNames attrValues;
|
||||||
sdkNames = attrNames sdks;
|
sdkNames = attrNames sdks;
|
||||||
links = map (sdk: "ln -s ${sdks.${sdk}} hl2sdk-${sdk}") sdkNames;
|
combinedSdks = symlinkJoin {
|
||||||
metamod-sdks = metamod-source.override {inherit sdks;};
|
name = "hl2sdk-${concatStringsSep "-" (attrNames sdks)}";
|
||||||
|
paths = attrValues sdks;
|
||||||
|
};
|
||||||
in multiStdenv.mkDerivation rec {
|
in multiStdenv.mkDerivation rec {
|
||||||
pname = "sourcemod";
|
pname = "sourcemod";
|
||||||
version = "1.10";
|
version = "1.10";
|
||||||
|
|
@ -17,19 +19,16 @@ in multiStdenv.mkDerivation rec {
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
nativeBuildInputs = [
|
||||||
ambuild
|
ambuild
|
||||||
git
|
|
||||||
];
|
];
|
||||||
|
|
||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
${concatStringsSep "\n" links}
|
|
||||||
ln -s ${metamod-sdks.src} metamod-source
|
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
python ../configure.py --sdks present --no-mysql --disable-auto-versioning
|
python ../configure.py --sdks present --no-mysql --disable-auto-versioning --mms-path=${metamod-source.src} --hl2sdk-root=${combinedSdks}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue