| 20 Nov 2023 |
Wanja Hentze | In reply to @adis:blad.is Cool :) Hah, it doesn't work (at least not out of the box) but not for the reasons I was thinking of | 16:08:31 |
Wanja Hentze | we have a .npmrc to do bearer auth against a private gitlab registry and we hacked support for that into our npmlock2nix fork | 16:09:10 |
Wanja Hentze | after porting that over (in an even hackier manner), the next issue seems to be that we have packageRoot != src. That makes the npm-config-hook.sh unhappy. Looks like it's being run in src, not in packageRoot for some reason. | 17:04:37 |
Wanja Hentze | debugging a little bit, I found that $npmRoot is not set at this point: https://github.com/adisbladis/buildNodeModules/blob/master/hooks/npm-config-hook.sh#L6 | 17:09:42 |
Wanja Hentze | am I still expected to pass sourceRoot to mkDerivation for this to work? | 17:17:07 |
Wanja Hentze | so atm I have 2 questions adisbladis
- if I cleaned up the code to parse
.npmrc and pass auth headers based on it into fetchurl, would you be willing to take it?
- is
src != packageRoot supposed to work, or is it an unsupported configuration?
| 17:30:49 |
Wanja Hentze | the src/sourceRoot/npmRoot/packageRoot situation is quite confusing to me. no combination I've tried seems to work. | 17:46:59 |
| 21 Nov 2023 |
ris_ | fetchYarnDeps is failing for me with unable to get local issuer certificate for basically everything | 21:57:51 |
Lily Foster | In reply to @r_i_s:matrix.org
fetchYarnDeps is failing for me with unable to get local issuer certificate for basically everything https://github.com/NixOS/nixpkgs/pull/269061 | 22:12:57 |
| 22 Nov 2023 |
| thiloho set a profile picture. | 14:58:10 |
hexa | offline> building '/nix/store/646wyw911xp06k2lpjz6fdiwfwbq00il-offline.drv'
offline> patching sources
offline> updateAutotoolsGnuConfigScriptsPhase
offline> configuring
offline> no configure script, doing nothing
offline> building
offline> SyntaxError: Unknown token: { line: 3, col: 2, type: 'INVALID', value: undefined } 3:2 in lockfile
offline> at Parser.unexpected (/nix/store/z58x3lknjdhqkph4s95bk6y24xz9a0a8-prefetch-yarn-deps/libexec/yarnpkg-lockfile.js:5064:11)
offline> at Parser.parse (/nix/store/z58x3lknjdhqkph4s95bk6y24xz9a0a8-prefetch-yarn-deps/libexec/yarnpkg-lockfile.js:5193:14)
offline> at parse (/nix/store/z58x3lknjdhqkph4s95bk6y24xz9a0a8-prefetch-yarn-deps/libexec/yarnpkg-lockfile.js:5262:17)
offline> at module.exports.exports.default (/nix/store/z58x3lknjdhqkph4s95bk6y24xz9a0a8-prefetch-yarn-deps/libexec/yarnpkg-lockfile.js:4835:96)
offline> at prefetchYarnDeps (/nix/store/z58x3lknjdhqkph4s95bk6y24xz9a0a8-prefetch-yarn-deps/libexec/index.js:135:28)
offline> at main (/nix/store/z58x3lknjdhqkph4s95bk6y24xz9a0a8-prefetch-yarn-deps/libexec/index.js:189:9)
| 15:11:18 |
hexa | for https://github.com/pyinsteon/insteon-panel/blob/0.4.0/yarn.lock | 15:11:23 |
hexa | I'm looking for advice on this error | 15:11:47 |
hexa | src = fetchFromGitHub {
owner = "pyinsteon";
repo = "insteon-panel";
rev = "refs/tags/${version}";
hash = "sha256-jpfRgME6MJdItrOldeN12W+bCeIi9ACH7oQ0GFyFqzo=";
};
nativeBuildInputs = [
nodejs
setuptools
yarn
];
yarnDeps = fetchYarnDeps {
yarnLock = src + "/yarn.lock";
hash = "";
};
| 15:12:13 |
hexa | this is roughly what I have | 15:12:17 |
Lily Foster | that fetcher only does v1 lockfiles rn | 15:12:41 |
Lily Foster | (if i could scam someone to join the nixpkgs node.js team, we could probably make more progress on getting it working with yarn-berry 👉🏻👈🏻 ) | 15:14:14 |
hexa | ah cool | 15:16:41 |
hexa | that lock file should say version: 2 somewhere | 15:16:50 |
Wanja Hentze | wait, the stuff in nixpkgs reads lockfiles? | 15:16:54 |
hexa | instead it says __metadata.version: 6 | 15:17:05 |
Wanja Hentze | I thought it didn't, and that's why one has to prefetch | 15:17:10 |
@janne.hess:helsinki-systems.de | In reply to @hexa:lossy.network instead it says __metadata.version: 6 Take a look at the hedgedoc package, I hacked it together there as well and it seems to work well enough | 15:18:58 |
hexa | thanks, but I suddenly lost interest 😄 | 15:19:40 |
hexa | will keep that in mind, if something worthy comes along | 15:19:50 |
Marie | In reply to @whentze:matrix.org I thought it didn't, and that's why one has to prefetch prefetch-npm-deps fetches the dependencies from a package-lock.json and produces the cache format npm uses so npm can do an offline install using the cache | 15:57:55 |
Wanja Hentze | right but that has to run outside of the sandbox | 16:37:15 |
Wanja Hentze | I'm looking for a pure solution like npmlock2nix (but with support for more insane bullshit) | 16:37:45 |
Lily Foster | no? fetchers run in the sandbox in general | 16:37:48 |
Wanja Hentze | yes but pre fetchers don't | 16:38:05 |