| 6 Aug 2025 |
cleverca22 | on one machine where it breaks, i get:
$ nix flake info github:grumpycoders/pcsx-redux
warning: 'nix flake info' is a deprecated alias for 'nix flake metadata'
warning: ignoring the client-specified setting 'netrc-file', because it is a restricted setting and you are not a trusted user
Resolved URL: github:grumpycoders/pcsx-redux
Locked URL: github:grumpycoders/pcsx-redux/1b0cbe5e4a535def2e3e3279551e6665cdc102ae?narHash=sha256-W3/sZlI418gsHUmRR%2BBjdfX7t64FSlnqqXeX2bMkk5Y%3D
Description: PlayStation 1 emulator and debugger
Path: /nix/store/9390g9s13a3g5g9bdjigiwzqwnqzhg9z-source
Revision: 1b0cbe5e4a535def2e3e3279551e6665cdc102ae
Last modified: 2025-08-05 04:14:09
Fingerprint: 91f3ea382c280dd77235708bb70b037675c989efae867e9f02532390d2fa4ad8
Inputs:
├───nix-github-actions: github:nix-community/nix-github-actions/f4158fa080ef4503c8f4c820967d946c2af31ec9?narHash=sha256-F1G5ifvqTpJq7fdkT34e/Jy9VCyzd5XfJ9TO8fHhJWE%3D (2025-01-21 00:44:53)
│ └───nixpkgs follows input 'nixpkgs'
└───nixpkgs: github:nixos/nixpkgs/f675531bc7e6657c10a18b565cfebd8aa9e24c14?narHash=sha256-gbl9hE39nQRpZaLjhWKmEu5ejtQsgI5TWYrIVVJn30U%3D (2025-04-09 21:06:01)
but on the machine where it works, i get:
$ nix flake info github:grumpycoders/pcsx-redux
warning: 'nix flake info' is a deprecated alias for 'nix flake metadata'
Resolved URL: github:grumpycoders/pcsx-redux
Locked URL: github:grumpycoders/pcsx-redux/1b0cbe5e4a535def2e3e3279551e6665cdc102ae?narHash=sha256-TJTaSRKwAYYwSA3voWLtKcpB%2BT6Wt9dI9QKgOorsPYY%3D
Description: PlayStation 1 emulator and debugger
Path: /nix/store/3vbn1ah1nfkgqapfvj0akj34qdg77phb-source
Revision: 1b0cbe5e4a535def2e3e3279551e6665cdc102ae
Last modified: 2025-08-05 04:14:09
Fingerprint: 91f3ea382c280dd77235708bb70b037675c989efae867e9f02532390d2fa4ad8
Inputs:
├───nix-github-actions: github:nix-community/nix-github-actions/f4158fa080ef4503c8f4c820967d946c2af31ec9?narHash=sha256-F1G5ifvqTpJq7fdkT34e/Jy9VCyzd5XfJ9TO8fHhJWE%3D (2025-01-21 00:44:53)
│ └───nixpkgs follows input 'nixpkgs'
└───nixpkgs: github:nixos/nixpkgs/f675531bc7e6657c10a18b565cfebd8aa9e24c14?narHash=sha256-gbl9hE39nQRpZaLjhWKmEu5ejtQsgI5TWYrIVVJn30U%3D (2025-04-09 21:06:01)
| 02:59:29 |
cleverca22 | i can see that the narhash and Path: have changed, yet they are the same git revision | 02:59:48 |
cleverca22 | infact, if i just rm -rf ~/.cache/nix/ i can get the above command to produce a different narhash&path! | 03:06:38 |
dramforever | omg i think i get it | 03:55:06 |
dramforever | nix assumed that the tarball generated from a git hash is reproducible | 03:55:29 |
dramforever | however it's not, if you generate a tarball from git+file submodules become nothing, if you grab a tarball from github submodules become empty directories | 03:55:54 |
cleverca22 | but its more crazy then that if you clone the repo, and nix build .# it fails if you edit any file, even a comment, it works if you check out anything that isnt HEAD it works if you try to bisect, every commit works except HEAD | 04:01:43 |
dramforever | try grabbing commits other than HEAD from github | 04:02:11 |
dramforever | they share the same cache afaict | 04:02:20 |
cleverca22 | nix build github:grumpycoders/pcsx-redux/1b0cbe5e4a535def2e3e3279551e6665cdc102ae will sometimes work and sometimes fail | 04:02:38 |
cleverca22 | depends on what the fetch cache happens to contain | 04:02:47 |
cleverca22 | ive yet to find a reliable way to trigger both cases | 04:03:01 |
dramforever | so according to my theory, all starting from empty fetch cache | 04:03:09 |
dramforever | if you get it from github first, it breaks | 04:03:19 |
dramforever | if you get it from git+file first it works | 04:03:26 |
cleverca22 | your right! | 04:03:55 |
cleverca22 | the secondary problem, is that the bash script within the repo, isnt liking this | 04:06:30 |
cleverca22 | cp -ru --no-preserve=all /nix/store/wpk39xy9ybc888cihcf6kiwswnvj1yp5-source source/third_party/imgui | 04:06:55 |
dramforever | just don't use github: for this for now is what i would say | 04:07:03 |
dramforever | as a workaround | 04:07:10 |
cleverca22 | if you first fetched via github, source/third_party/imgui will exist so it then copies the source to source/third_party/imgui/wpk39xy9ybc888cihcf6kiwswnvj1yp5-source | 04:07:18 |
cleverca22 | but if you first fetched via a git clone, it wont exist, so it renames as it copies to source/third_party/imgui | 04:07:37 |
cleverca22 | then everything falls apart, because the submodules are at the wrong place | 04:08:20 |
cleverca22 | nix build https://github.com/grumpycoders/pcsx-redux/archive/1b0cbe5e4a535def2e3e3279551e6665cdc102ae.tar.gz seems to work, and it will likely work as a flake input as well... | 04:09:44 |
cleverca22 | ah wait nope | 04:09:50 |
cleverca22 | it fetches, but its the same botched fetch | 04:09:56 |
cleverca22 | cant seem to craft a valid url that clones it correctly | 04:11:14 |
dramforever | git+https://github.com/grumpycoders/pcsx-redux.git?ref=refs/heads/main i'd say | 04:15:33 |
dramforever | and it's imo arguable which one is correct | 04:16:00 |
cleverca22 | [clever@amd-nixos:~/apps/vali/pcsx-redux]$ rm -rf ~/.cache/nix
[clever@amd-nixos:~/apps/vali/pcsx-redux]$ nix build 'git+https://github.com/grumpycoders/pcsx-redux.git?ref=refs/heads/main&rev=1b0cbe5e4a535def2e3e3279551e6665cdc102ae'
error: builder for '/nix/store/5v3fjh1s5pdr385as5fjir17jvwy06xx-pcsx-redux-0.99test.drv' failed with exit code 2;
last 25 log lines:
> | ^~~~~~~~~~
> compilation terminated.
> In file included from patches/remove_ChgclrPAD_2.c:30:
> /build/source/src/mips/openbios/sio0/pad.h:30:10: fatal error: stdlib.h: No such file or directory
> 30 | #include <stdlib.h>
> | ^~~~~~~~~~
| 04:16:39 |