mirror of
https://codeberg.org/icewind/vbsp-to-gltf.git
synced 2026-06-03 10:14:08 +02:00
overlay
This commit is contained in:
parent
16d20a5faf
commit
78abe9bb27
6 changed files with 48 additions and 18 deletions
|
|
@ -36,6 +36,7 @@ cgmath = "0.18.0"
|
||||||
bytemuck = { version = "1.14.0", features = ["derive"] }
|
bytemuck = { version = "1.14.0", features = ["derive"] }
|
||||||
texpresso = { version = "2.0.1", features = ["rayon"] }
|
texpresso = { version = "2.0.1", features = ["rayon"] }
|
||||||
serde = "1.0.193"
|
serde = "1.0.193"
|
||||||
|
ahash = "0.8.6"
|
||||||
|
|
||||||
url = { version = "2.5.0", optional = true, features = ["serde"] }
|
url = { version = "2.5.0", optional = true, features = ["serde"] }
|
||||||
toml = { version = "0.8.8", optional = true }
|
toml = { version = "0.8.8", optional = true }
|
||||||
|
|
@ -45,10 +46,9 @@ reqwest = { version = "0.11.23", optional = true, default-features = false, feat
|
||||||
async-tempfile = { version = "0.5.0", optional = true }
|
async-tempfile = { version = "0.5.0", optional = true }
|
||||||
tower-http = { version = "0.5.0", optional = true, features = ["cors"] }
|
tower-http = { version = "0.5.0", optional = true, features = ["cors"] }
|
||||||
http = { version = "1.0.0", optional = true }
|
http = { version = "1.0.0", optional = true }
|
||||||
ahash = { version = "0.8.6", optional = true }
|
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
server = ["url", "toml", "axum", "tokio", "reqwest", "async-tempfile", "tower-http", "http", "ahash"]
|
server = ["url", "toml", "axum", "tokio", "reqwest", "async-tempfile", "tower-http", "http"]
|
||||||
|
|
||||||
[profile.dev.package."*"]
|
[profile.dev.package."*"]
|
||||||
opt-level = 2
|
opt-level = 2
|
||||||
|
|
|
||||||
9
assets.nix
Normal file
9
assets.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
{fetchSteam}:
|
||||||
|
fetchSteam {
|
||||||
|
name = "tf2-vpks";
|
||||||
|
appId = "440";
|
||||||
|
depotId = "441";
|
||||||
|
manifestId = "5382461088476630278"; # 22 December 2023 – 00:13:59 UTC
|
||||||
|
hash = "sha256-p8waSdyFTKSo7CKQAjAGhL4hGiacjU0M59z47VH1NwM=";
|
||||||
|
fileList = ["regex:(tf2|hl2)_(misc|textures)_.*\.vpk"];
|
||||||
|
}
|
||||||
28
flake.nix
28
flake.nix
|
|
@ -11,7 +11,7 @@
|
||||||
cross-naersk.inputs.nixpkgs.follows = "nixpkgs";
|
cross-naersk.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
cross-naersk.inputs.naersk.follows = "naersk";
|
cross-naersk.inputs.naersk.follows = "naersk";
|
||||||
steam-fetcher = {
|
steam-fetcher = {
|
||||||
# url = "github:nix-community/steam-fetcher";
|
# url = "github:nix-community/steam-fetcher";
|
||||||
url = "github:icewind1991/steam-fetcher/filelist";
|
url = "github:icewind1991/steam-fetcher/filelist";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
@ -30,6 +30,7 @@
|
||||||
overlays = [
|
overlays = [
|
||||||
steam-fetcher.overlays.default
|
steam-fetcher.overlays.default
|
||||||
(import rust-overlay)
|
(import rust-overlay)
|
||||||
|
(import ./overlay.nix)
|
||||||
];
|
];
|
||||||
pkgs = (import nixpkgs) {
|
pkgs = (import nixpkgs) {
|
||||||
inherit system overlays;
|
inherit system overlays;
|
||||||
|
|
@ -99,26 +100,20 @@
|
||||||
});
|
});
|
||||||
server = naersk'.buildPackage (nearskOpt
|
server = naersk'.buildPackage (nearskOpt
|
||||||
// {
|
// {
|
||||||
pname = "vbsp-server";
|
pname = "vbsp-server";
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
cargo_build_options="--features server $cargo_build_options"
|
cargo_build_options="--features server $cargo_build_options"
|
||||||
'';
|
'';
|
||||||
GLTFPACK = "${pkgs.meshoptimizer}/bin/gltfpack";
|
GLTFPACK = "${pkgs.meshoptimizer}/bin/gltfpack";
|
||||||
});
|
});
|
||||||
assets = pkgs.fetchSteam {
|
assets = pkgs.vbsp-server-assets;
|
||||||
name = "tf2-vpks";
|
|
||||||
appId = "440";
|
|
||||||
depotId = "441";
|
|
||||||
manifestId = "5382461088476630278"; # 22 December 2023 – 00:13:59 UTC
|
|
||||||
hash = "sha256-p8waSdyFTKSo7CKQAjAGhL4hGiacjU0M59z47VH1NwM=";
|
|
||||||
fileList = ["regex:(tf2|hl2)_(misc|textures)_.*\.vpk"];
|
|
||||||
};
|
|
||||||
server-with-assets = server.overrideAttrs (old: {
|
server-with-assets = server.overrideAttrs (old: {
|
||||||
buildInputs = server.buildInputs ++ [ pkgs.makeWrapper ];
|
buildInputs = server.buildInputs ++ [pkgs.makeWrapper];
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
wrapProgram "$out/bin/vbsp-server" --set TF_DIR "${assets}"
|
wrapProgram "$out/bin/vbsp-server" --set TF_DIR "${assets}"
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
vbsp-server = pkgs.vbsp-server;
|
||||||
default = vbsp-to-gltf;
|
default = vbsp-to-gltf;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -142,5 +137,8 @@
|
||||||
nativeBuildInputs = [msrvToolchain] ++ tools;
|
nativeBuildInputs = [msrvToolchain] ++ tools;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
});
|
})
|
||||||
|
// {
|
||||||
|
overlays.default = import ./overlay.nix;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
4
overlay.nix
Normal file
4
overlay.nix
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
prev: final: {
|
||||||
|
vbsp-server = final.callPackage ./package.nix {};
|
||||||
|
vbsp-server-assets = final.callPackage ./assets.nix {};
|
||||||
|
}
|
||||||
19
package.nix
Normal file
19
package.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
stdenv,
|
||||||
|
rustPlatform,
|
||||||
|
lib,
|
||||||
|
}: let
|
||||||
|
inherit (lib.sources) sourceByRegex;
|
||||||
|
src = sourceByRegex ./. ["Cargo.*" "(src|derive|benches|tests|examples.*)(/.*)?"];
|
||||||
|
in
|
||||||
|
rustPlatform.buildRustPackage rec {
|
||||||
|
name = "vbsp-server";
|
||||||
|
version = "0.1.0";
|
||||||
|
|
||||||
|
inherit src;
|
||||||
|
|
||||||
|
cargoLock = {
|
||||||
|
lockFile = ./Cargo.lock;
|
||||||
|
};
|
||||||
|
buildFeatures = [ "server" ];
|
||||||
|
}
|
||||||
|
|
@ -44,7 +44,7 @@ fn default_port() -> u16 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Error)]
|
#[derive(Debug, Error)]
|
||||||
enum ServerError {
|
pub enum ServerError {
|
||||||
#[error(transparent)]
|
#[error(transparent)]
|
||||||
Convert(#[from] vbsp_to_gltf::Error),
|
Convert(#[from] vbsp_to_gltf::Error),
|
||||||
#[error(transparent)]
|
#[error(transparent)]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue