flake reorg

This commit is contained in:
Robin Appelman 2024-12-14 15:05:46 +01:00
commit 47989fd39c
10 changed files with 147 additions and 232 deletions

View file

@ -13,34 +13,8 @@ jobs:
with:
name: ci
instance: https://cache.icewind.me
authToken: '${{ secrets.ATTIC_TOKEN }}'
- run: nix build .#check
clippy:
runs-on: ubuntu-latest
needs: check
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v27
- uses: icewind1991/attic-action@v1
with:
name: ci
instance: https://cache.icewind.me
authToken: '${{ secrets.ATTIC_TOKEN }}'
- run: nix build .#clippy
test:
runs-on: ubuntu-latest
needs: check
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v27
- uses: icewind1991/attic-action@v1
with:
name: ci
instance: https://cache.icewind.me
authToken: '${{ secrets.ATTIC_TOKEN }}'
- run: nix build .#test
authToken: "${{ secrets.ATTIC_TOKEN }}"
- run: nix flake check
semver:
runs-on: ubuntu-latest
@ -49,16 +23,3 @@ jobs:
- uses: actions/checkout@v4
- name: Check semver
uses: obi1kenobi/cargo-semver-checks-action@v2
msrv:
runs-on: ubuntu-latest
needs: check
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v27
- uses: icewind1991/attic-action@v1
with:
name: ci
instance: https://cache.icewind.me
authToken: '${{ secrets.ATTIC_TOKEN }}'
- run: nix build .#msrv

102
Cargo.lock generated
View file

@ -277,7 +277,7 @@ checksum = "0cc8b54b395f2fcfbb3d90c47b01c7f444d94d05bdeb775811dec868ac3bbc26"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
"syn 2.0.90",
]
[[package]]
@ -296,7 +296,7 @@ dependencies = [
"log",
"nix 0.25.1",
"slotmap",
"thiserror",
"thiserror 1.0.63",
"vec_map",
]
@ -398,7 +398,7 @@ dependencies = [
"heck",
"proc-macro2",
"quote",
"syn 2.0.76",
"syn 2.0.90",
]
[[package]]
@ -936,7 +936,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
"syn 2.0.90",
]
[[package]]
@ -1058,7 +1058,7 @@ dependencies = [
"inflections",
"proc-macro2",
"quote",
"syn 2.0.76",
"syn 2.0.90",
]
[[package]]
@ -1305,7 +1305,7 @@ checksum = "7d990301996c856ea07a84bc291e76f1273db52683663efc05c8d355976897e5"
dependencies = [
"pest",
"pest_derive",
"thiserror",
"thiserror 1.0.63",
]
[[package]]
@ -1319,7 +1319,7 @@ dependencies = [
"paste",
"regex",
"serde",
"thiserror",
"thiserror 1.0.63",
]
[[package]]
@ -1425,7 +1425,7 @@ dependencies = [
"proc-macro2",
"quote",
"regex-syntax 0.8.4",
"syn 2.0.76",
"syn 2.0.90",
]
[[package]]
@ -1492,7 +1492,7 @@ dependencies = [
"supports-unicode",
"terminal_size",
"textwrap",
"thiserror",
"thiserror 1.0.63",
"unicode-width",
]
@ -1504,7 +1504,7 @@ checksum = "dcf09caffaac8068c346b6df2a7fc27a177fd20b39421a39ce0a211bde679a6c"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
"syn 2.0.90",
]
[[package]]
@ -1549,7 +1549,7 @@ dependencies = [
"ndk-sys",
"num_enum 0.5.11",
"raw-window-handle 0.5.2",
"thiserror",
"thiserror 1.0.63",
]
[[package]]
@ -1686,7 +1686,7 @@ dependencies = [
"proc-macro-crate 3.1.0",
"proc-macro2",
"quote",
"syn 2.0.76",
"syn 2.0.90",
]
[[package]]
@ -1812,7 +1812,7 @@ dependencies = [
"regex",
"regex-syntax 0.7.5",
"structmeta 0.2.0",
"syn 2.0.76",
"syn 2.0.90",
]
[[package]]
@ -1826,7 +1826,7 @@ dependencies = [
"regex",
"regex-syntax 0.8.4",
"structmeta 0.3.0",
"syn 2.0.76",
"syn 2.0.90",
]
[[package]]
@ -1848,7 +1848,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95"
dependencies = [
"memchr",
"thiserror",
"thiserror 1.0.63",
"ucd-trie",
]
@ -1872,7 +1872,7 @@ dependencies = [
"pest_meta",
"proc-macro2",
"quote",
"syn 2.0.76",
"syn 2.0.90",
]
[[package]]
@ -1984,9 +1984,9 @@ dependencies = [
[[package]]
name = "proc-macro2"
version = "1.0.86"
version = "1.0.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0"
dependencies = [
"unicode-ident",
]
@ -2061,7 +2061,7 @@ checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43"
dependencies = [
"getrandom",
"libredox",
"thiserror",
"thiserror 1.0.63",
]
[[package]]
@ -2200,7 +2200,7 @@ checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
"syn 2.0.90",
]
[[package]]
@ -2223,7 +2223,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
"syn 2.0.90",
]
[[package]]
@ -2378,7 +2378,7 @@ dependencies = [
"proc-macro2",
"quote",
"structmeta-derive 0.2.0",
"syn 2.0.76",
"syn 2.0.90",
]
[[package]]
@ -2390,7 +2390,7 @@ dependencies = [
"proc-macro2",
"quote",
"structmeta-derive 0.3.0",
"syn 2.0.76",
"syn 2.0.90",
]
[[package]]
@ -2401,7 +2401,7 @@ checksum = "a60bcaff7397072dca0017d1db428e30d5002e00b6847703e2e42005c95fbe00"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
"syn 2.0.90",
]
[[package]]
@ -2412,7 +2412,7 @@ checksum = "152a0b65a590ff6c3da95cabe2353ee04e6167c896b28e3b14478c2636c922fc"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
"syn 2.0.90",
]
[[package]]
@ -2449,9 +2449,9 @@ dependencies = [
[[package]]
name = "syn"
version = "2.0.76"
version = "2.0.90"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "578e081a14e0cefc3279b0472138c513f37b41a08d5a3cca9b6e4e8ceb6cd525"
checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31"
dependencies = [
"proc-macro2",
"quote",
@ -2507,7 +2507,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "326290157536076fb15061d8c070966bc7fddc43a17c24f444cfcc4cb11ac7a1"
dependencies = [
"steamlocate",
"thiserror",
"thiserror 1.0.63",
"tracing",
"vpk",
]
@ -2518,7 +2518,16 @@ version = "1.0.63"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724"
dependencies = [
"thiserror-impl",
"thiserror-impl 1.0.63",
]
[[package]]
name = "thiserror"
version = "2.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93605438cbd668185516ab499d589afb7ee1859ea3d5fc8f6b0755e1c7443767"
dependencies = [
"thiserror-impl 2.0.7",
]
[[package]]
@ -2529,7 +2538,18 @@ checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
"syn 2.0.90",
]
[[package]]
name = "thiserror-impl"
version = "2.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e1d8749b4531af2117677a5fcd12b1348a3fe2b81e36e61ffeac5c4aa3273e36"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.90",
]
[[package]]
@ -2557,7 +2577,7 @@ dependencies = [
"instant",
"serde",
"serde-wasm-bindgen",
"thiserror",
"thiserror 1.0.63",
"three-d-asset",
"wasm-bindgen",
"web-sys",
@ -2572,7 +2592,7 @@ checksum = "8aa137288dbd9866715cb5dbd0a3eebfed5fa06de8c620fa20904fc9533b5e27"
dependencies = [
"cgmath",
"half",
"thiserror",
"thiserror 1.0.63",
"web-sys",
]
@ -2669,7 +2689,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
"syn 2.0.90",
]
[[package]]
@ -2777,7 +2797,7 @@ dependencies = [
"miette",
"parse-display 0.9.1",
"serde",
"thiserror",
"thiserror 1.0.63",
]
[[package]]
@ -2813,7 +2833,7 @@ dependencies = [
"num_enum 0.7.3",
"static_assertions",
"tf-asset-loader",
"thiserror",
"thiserror 2.0.7",
"three-d",
"tracing",
"tracing-subscriber",
@ -2830,7 +2850,7 @@ dependencies = [
"miette",
"serde",
"serde_repr",
"thiserror",
"thiserror 1.0.63",
"vdf-reader",
]
@ -2842,7 +2862,7 @@ checksum = "60ec10e731515f58d5494d472f027d9c6fc8500fcb790ff55751031bcad87b6b"
dependencies = [
"ahash",
"binrw",
"thiserror",
"thiserror 1.0.63",
]
[[package]]
@ -2897,7 +2917,7 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
"syn 2.0.76",
"syn 2.0.90",
"wasm-bindgen-shared",
]
@ -2919,7 +2939,7 @@ checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
"syn 2.0.90",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@ -3361,7 +3381,7 @@ checksum = "125139de3f6b9d625c39e2efdd73d41bdac468ccd556556440e322be0e1bbd91"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
"syn 2.0.90",
]
[[package]]
@ -3372,7 +3392,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.76",
"syn 2.0.90",
]
[[package]]

View file

@ -6,11 +6,11 @@ description = "Rust parser for valve model files."
repository = "https://github.com/icewind1991/vmdl"
license = "MIT"
exclude = ["data"]
rust-version = "1.70.0"
rust-version = "1.74.0"
[dependencies]
arrayvec = "0.7.6"
thiserror = "1.0.63"
thiserror = "2.0.7"
static_assertions = "1.1.0"
bitflags = "2.6.0"
itertools = "0.13.0"

105
flake.lock generated
View file

@ -1,60 +1,98 @@
{
"nodes": {
"naersk": {
"crane": {
"locked": {
"lastModified": 1733688869,
"narHash": "sha256-KrhxxFj1CjESDrL5+u/zsVH0K+Ik9tvoac/oFPoxSB8=",
"owner": "ipetkov",
"repo": "crane",
"rev": "604637106e420ad99907cae401e13ab6b452e7d9",
"type": "github"
},
"original": {
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"flakelight": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1721727458,
"narHash": "sha256-r/xppY958gmZ4oTfLiHN0ZGuQ+RSTijDblVgVLFi1mw=",
"lastModified": 1733748390,
"narHash": "sha256-UqTETFjEkwu7WAtlRJPoM7rZpkMnvM9LeupKes+Breg=",
"owner": "nix-community",
"repo": "naersk",
"rev": "3fb418eaf352498f6b6c30592e3beb63df42ef11",
"repo": "flakelight",
"rev": "3b6d1f0651f7cf4f4dc17c45e12782778a11520b",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "naersk",
"repo": "flakelight",
"type": "github"
}
},
"mill-scale": {
"inputs": {
"crane": "crane",
"flakelight": [
"flakelight"
],
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1734188451,
"narHash": "sha256-bLsT74oXirSNn2oaSRd61/V/+OZ4jRKEkdBpzSZkBbM=",
"owner": "icewind1991",
"repo": "mill-scale",
"rev": "d8e263916aa788a98e28fce06e26940001f38d5b",
"type": "github"
},
"original": {
"owner": "icewind1991",
"repo": "mill-scale",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1724316499,
"narHash": "sha256-Qb9MhKBUTCfWg/wqqaxt89Xfi6qTD3XpTzQ9eXi3JmE=",
"lastModified": 1733808091,
"narHash": "sha256-KWwINTQelKOoQgrXftxoqxmKFZb9pLVfnRvK270nkVk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "797f7dc49e0bc7fab4b57c021cdf68f595e47841",
"rev": "a0f3e10d94359665dba45b71b4227b0aeb851f8e",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-24.05",
"ref": "nixos-24.11",
"type": "indirect"
}
},
"root": {
"inputs": {
"naersk": "naersk",
"nixpkgs": "nixpkgs",
"rust-overlay": "rust-overlay",
"utils": "utils"
"flakelight": "flakelight",
"mill-scale": "mill-scale",
"nixpkgs": "nixpkgs"
}
},
"rust-overlay": {
"inputs": {
"nixpkgs": [
"mill-scale",
"flakelight",
"nixpkgs"
]
},
"locked": {
"lastModified": 1724638882,
"narHash": "sha256-ap2jIQi/FuUHR6HCht6ASWhoz8EiB99XmI8Esot38VE=",
"lastModified": 1733884434,
"narHash": "sha256-8GXR9kC07dyOIshAyfZhG11xfvBRSZzYghnZ2weOKJU=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "19b70f147b9c67a759e35824b241f1ed92e46694",
"rev": "d0483df44ddf0fd1985f564abccbe568e020ddf2",
"type": "github"
},
"original": {
@ -62,39 +100,6 @@
"repo": "rust-overlay",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
}
},
"root": "root",

View file

@ -1,90 +1,16 @@
{
inputs = {
nixpkgs.url = "nixpkgs/nixos-24.05";
utils.url = "github:numtide/flake-utils";
naersk.url = "github:nix-community/naersk";
naersk.inputs.nixpkgs.follows = "nixpkgs";
rust-overlay.url = "github:oxalica/rust-overlay";
rust-overlay.inputs.nixpkgs.follows = "nixpkgs";
nixpkgs.url = "nixpkgs/nixos-24.11";
flakelight = {
url = "github:nix-community/flakelight";
inputs.nixpkgs.follows = "nixpkgs";
};
mill-scale = {
url = "github:icewind1991/mill-scale";
inputs.flakelight.follows = "flakelight";
};
};
outputs = { mill-scale, ... }: mill-scale ./. {
extraPaths = [ ./data ];
};
outputs = {
self,
nixpkgs,
utils,
naersk,
rust-overlay,
}:
utils.lib.eachDefaultSystem (system: let
overlays = [ (import rust-overlay) ];
pkgs = (import nixpkgs) {
inherit system overlays;
};
lib = pkgs.lib;
msrv = (fromTOML (readFile ./Cargo.toml)).package.rust-version;
inherit (builtins) fromTOML readFile;
toolchain = pkgs.rust-bin.stable.latest.default;
msrvToolchain = pkgs.rust-bin.stable."${msrv}".default;
naersk' = pkgs.callPackage naersk {
rustc = toolchain;
cargo = toolchain;
};
msrvNaersk = pkgs.callPackage naersk {
rustc = msrvToolchain;
cargo = msrvToolchain;
};
src = lib.sources.sourceByRegex (lib.cleanSource ./.) ["Cargo.*" "(src|benches|tests|examples|data)(/.*)?"];
nearskOpt = {
pname = "vmdl";
root = src;
};
exampleBuildInputs = with pkgs; [
freetype
pkg-config
cmake
fontconfig
xorg.libX11
xorg.libXcursor
xorg.libXrandr
xorg.libXi
glew-egl
egl-wayland
libGL
openssl
];
in rec {
packages = {
check = naersk'.buildPackage (nearskOpt // {
mode = "check";
});
clippy = naersk'.buildPackage (nearskOpt // {
mode = "clippy";
});
test = naersk'.buildPackage (nearskOpt // {
release = false;
mode = "test";
nativeBuildInputs = exampleBuildInputs;
});
msrv = msrvNaersk.buildPackage (nearskOpt // {
mode = "check";
});
};
devShells.default = pkgs.mkShell {
nativeBuildInputs = with pkgs; [
toolchain
bacon
cargo-edit
cargo-outdated
clippy
cargo-audit
cargo-msrv
cargo-semver-checks
] ++ exampleBuildInputs;
LD_LIBRARY_PATH = with pkgs; "/run/opengl-driver/lib/:${lib.makeLibraryPath ([libGL libGLU])}";
};
});
}

View file

@ -4,19 +4,22 @@
nixpkgs.url = "nixpkgs/release-22.11";
};
outputs = {
self,
nixpkgs,
utils,
}:
utils.lib.eachDefaultSystem (system: let
outputs =
{ self
, nixpkgs
, utils
,
}:
utils.lib.eachDefaultSystem (system:
let
pkgs = (import nixpkgs) {
inherit system;
};
in rec {
in
rec {
# `nix develop`
devShell = pkgs.mkShell {
nativeBuildInputs = with pkgs; [rustup cargo-edit cargo-fuzz];
nativeBuildInputs = with pkgs; [ rustup cargo-edit cargo-fuzz ];
};
});
}

View file

@ -5,4 +5,4 @@ fn fuzz(data: &[u8]) {
let _ = vmdl::Mdl::read(data).ok();
}
fuzz_target!(|data: &[u8]| {fuzz(data)});
fuzz_target!(|data: &[u8]| { fuzz(data) });

View file

@ -5,4 +5,4 @@ fn fuzz(data: &[u8]) {
let _ = vmdl::Vtx::read(data).ok();
}
fuzz_target!(|data: &[u8]| {fuzz(data)});
fuzz_target!(|data: &[u8]| { fuzz(data) });

View file

@ -5,4 +5,4 @@ fn fuzz(data: &[u8]) {
let _ = vmdl::Vvd::read(data).ok();
}
fuzz_target!(|data: &[u8]| {fuzz(data)});
fuzz_target!(|data: &[u8]| { fuzz(data) });