| 18 Aug 2025 |
QuadRadical (Ping) | ill add it later | 21:11:33 |
Artturin | Seems like an oversight that the config can't be created by the hook without a cargoDeps attr | 21:13:23 |
Artturin | In reply to @quadradical:federated.nexus ill add it later It hasn't needed it before | 21:14:39 |
Artturin | Try this in postPatch
cat >> .cargo/config.toml <<'EOF'
${rustPlatform.cargoSetupHook.cargoConfig}
EOF
| 21:19:43 |
Artturin | Try that path and /build/.cargo and the cargo-home | 21:20:37 |
QuadRadical (Ping) | adding just that did nothing | 21:43:52 |
QuadRadical (Ping) | okay | 21:43:57 |
QuadRadical (Ping) | nothing worked | 22:36:50 |
QuadRadical (Ping) | as far as i can see | 22:36:52 |
| 19 Aug 2025 |
QuadRadical (Ping) | if anyone has an idea on how to fix this id be most appreciative :) | 00:38:08 |
Artturin | On my pc now and looking at the failed | 00:38:35 |
Artturin | * On my pc now and looking at the failed dir | 00:38:42 |
Artturin | the src includes a vendor and .cargo dir | 00:39:02 |
QuadRadical (Ping) | cargo should be picking this up | 00:39:15 |
Artturin | That's why specifying cargoDeps hasn't been necessary | 00:39:16 |
QuadRadical (Ping) | i see | 00:39:21 |
Artturin | cargoVendorDir = "vendor" is enough to fix it :P | 00:53:39 |
Artturin | diff --git a/pkgs/by-name/gl/glycin-loaders/package.nix b/pkgs/by-name/gl/glycin-loaders/package.nix
index 06bc12716d63..c0a237512fec 100644
--- a/pkgs/by-name/gl/glycin-loaders/package.nix
+++ b/pkgs/by-name/gl/glycin-loaders/package.nix
@@ -20,6 +20,7 @@
ninja,
pkg-config,
rustc,
+ rustPlatform,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -47,8 +48,11 @@ stdenv.mkDerivation (finalAttrs: {
ninja
pkg-config
rustc
+ rustPlatform.cargoSetupHook
];
+ cargoVendorDir = "vendor";
+
buildInputs = [
gtk4 # for GdkTexture
cairo
@@ -68,6 +72,13 @@ stdenv.mkDerivation (finalAttrs: {
strictDeps = true;
+ postPatch = ''
+ substituteInPlace loaders/meson.build \
+ --replace-fail "cargo_target_dir / rust_target / loader," "cargo_target_dir / '${stdenv.hostPlatform.rust.cargoShortTarget}' / rust_target / loader,"
+ '';
+
+ env.CARGO_BUILD_TARGET = stdenv.hostPlatform.rust.rustcTargetSpec;
+
passthru = {
updateScript = gnome.updateScript {
attrPath = "glycin-loaders";
| 00:53:42 |
Artturin | * cargoVendorDir = "vendor" with the hook is enough to fix it :P | 00:54:13 |
QuadRadical (Ping) | oh awesome! | 00:54:32 |
QuadRadical (Ping) | thank you so so much for the help! | 00:54:48 |
Artturin |  Download image.png | 00:56:59 |
QuadRadical (Ping) | im almost there i think :) | 00:57:05 |
Artturin | https://github.com/NixOS/nixpkgs/pull/434878 | 00:59:09 |
QuadRadical (Ping) | hmm so i added an overlay:
glycin-loaders = super.glycin-loaders.overrideAttrs (old: {
postPatch = lib.optionalString (super.stdenv.buildPlatform != super.stdenv.hostPlatform) ''
substituteInPlace loaders/meson.build \
--replace-fail "cargo_target_dir / rust_target / loader," "cargo_target_dir / '${super.stdenv.hostPlatform.rust.cargoShortTarget}' / rust_target / loader,"
'';
nativeBuildInputs = (old.nativeBuildInputs or []) ++ [super.rustPlatform.cargoSetupHook];
cargoVendorDir = "vendor";
env.CARGO_BUILD_TARGET = super.stdenv.hostPlatform.rust.rustcTargetSpec;
});
But it still fails with the old error | 01:02:45 |
Artturin | --keep-failed and see if /build/.cargo/config.toml matches what I sent in the SS | 01:08:53 |
Artturin | * --keep-failed and see if /build/.cargo/config.toml matches what I sent in the screenshot | 01:08:58 |
QuadRadical (Ping) | /build/.cargo doesnt exist | 01:10:49 |
Artturin | Does the build log have the cargoSetupHooks at the start | 01:11:35 |
Artturin | Running phase: unpackPhase
@nix { "action": "setPhase", "phase": "unpackPhase" }
unpacking source archive /nix/store/ics3xr1jgfmagn18jax3h5nva7g5smys-glycin-1.2.3.tar.xz
source root is glycin-1.2.3
Executing cargoSetupPostUnpackHook
Finished cargoSetupPostUnpackHook
| 01:11:37 |