mirror of
https://codeberg.org/spire/nix.git
synced 2026-06-03 09:54:19 +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: {
|
||||
hl2sdk = (import ./hl2sdk.nix) {inherit (final) fetchFromGitHub;};
|
||||
hl2sdk = (import ./hl2sdk.nix) {
|
||||
inherit (final) fetchFromGitHub;
|
||||
inherit (final.stdenvNoCC) mkDerivation;
|
||||
};
|
||||
ambuild = final.python3Packages.callPackage ./ambuild.nix {};
|
||||
metamod-source = final.callPackage ./metamod-source.nix {};
|
||||
sourcemod = final.callPackage ./sourcemod.nix {};
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{fetchFromGitHub}: let
|
||||
{fetchFromGitHub, mkDerivation}: let
|
||||
inherit (builtins) mapAttrs;
|
||||
revisions = {
|
||||
csgo = {rev = "4e0975afe5b2994c76ec9b40951b6347b8788463"; sha256 = "sha256-Z5LD3I4uPKGIXTeSC3yQcJl6455XFwQVuiitND8ULEQ=";};
|
||||
|
|
@ -32,4 +32,13 @@
|
|||
owner = "alliedmodders";
|
||||
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
|
||||
inherit (builtins) attrNames concatStringsSep;
|
||||
{ stdenv, multiStdenv, fetchFromGitHub, ambuild, metamod-source, symlinkJoin, sdks ? {} }: let
|
||||
inherit (builtins) concatStringsSep attrNames attrValues;
|
||||
sdkNames = attrNames sdks;
|
||||
links = map (sdk: "ln -s ${sdks.${sdk}} hl2sdk-${sdk}") sdkNames;
|
||||
metamod-sdks = metamod-source.override {inherit sdks;};
|
||||
combinedSdks = symlinkJoin {
|
||||
name = "hl2sdk-${concatStringsSep "-" (attrNames sdks)}";
|
||||
paths = attrValues sdks;
|
||||
};
|
||||
in multiStdenv.mkDerivation rec {
|
||||
pname = "sourcemod";
|
||||
version = "1.10";
|
||||
|
|
@ -17,19 +19,16 @@ in multiStdenv.mkDerivation rec {
|
|||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
nativeBuildInputs = [
|
||||
ambuild
|
||||
git
|
||||
];
|
||||
|
||||
hardeningDisable = [ "all" ];
|
||||
|
||||
configurePhase = ''
|
||||
${concatStringsSep "\n" links}
|
||||
ln -s ${metamod-sdks.src} metamod-source
|
||||
mkdir 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 = ''
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue