| 8 Nov 2023 |
matthewcroughan - nix.how | and in this case I have a dist but it is still trying to use cmake, and I'm trying to get rid of cmake | 22:30:36 |
adisbladis | Upstream has some buggy dependency definitions, like all other crappy "data science" packages | 22:30:44 |
matthewcroughan - nix.how | it's not in the propagatedBuildInputs, and I can't remove it from native because something in the list doesn't have pname | 22:30:51 |
adisbladis | The thing in the list that doesn't have pname is probably cmake which you just set to null | 22:31:18 |
adisbladis | matthewcroughan - nix.how: I think you'd benefit from calming down a bit and try and understand why the dependencies exist | 22:31:52 |
matthewcroughan - nix.how | I'm not angry? Lol | 22:31:58 |
adisbladis | No, but very hurried | 22:32:04 |
matthewcroughan - nix.how | Do you blame me? Is Python calming for you? | 22:32:31 |
matthewcroughan - nix.how | I had this thing working, then I found out about poetry groups, now I have 10 more overrides to make :D | 22:33:00 |
adisbladis | I think the dependency relations here are fairly obvious, and so is the fix | 22:33:00 |
matthewcroughan - nix.how | you can't set cmake to null because then it makes the filter function fail in the poetry overrides, this is a tricky one for me | 22:36:25 |
matthewcroughan - nix.how | cmake = null;
triton = super.triton.overridePythonAttrs
(
old: {
propagatedBuildInputs = builtins.filter (e: e != null) old.propagatedBuildInputs;
dontUseCmakeConfigure = true;
}
);
| 22:36:44 |
adisbladis | That will fail with the same error message because of the bundled poetry2nix overrides | 22:37:26 |
matthewcroughan - nix.how | that's what I am suggesting | 22:37:35 |
adisbladis | Remove cmake = null & do:
propagatedBuildInputs = builtins.filter (e: e.pname != "cmake") old.propagatedBuildInputs;
| 22:38:20 |
matthewcroughan - nix.how | Oh, that's what I originally did | 22:38:45 |
matthewcroughan - nix.how | In reply to @matthewcroughan:defenestrate.it guess it's not in propagated, native maybe I was saying here that it didn't work, maybe it's in both native and propagated, I need to get the nix debugger out | 22:39:07 |
matthewcroughan - nix.how | error: builder for '/nix/store/1kf280p1mh03w4g82a5vr77yzmgs13sl-python3.11-cmake-3.27.7.drv' failed with exit code 2;
last 10 log lines:
> File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
> File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
> File "<frozen importlib._bootstrap>", line 1126, in _find_and_load_unlocked
> File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
> File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
> File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
> File "<frozen importlib._bootstrap>", line 1140, in _find_and_load_unlocked
> ModuleNotFoundError: No module named 'setuptools'
>
>
For full logs, run 'nix log /nix/store/1kf280p1mh03w4g82a5vr77yzmgs13sl-python3.11-cmake-3.27.7.drv'.
error: 1 dependencies of derivation '/nix/store/55kkq5vpl67cra471pn2d4dxrcamyi8v-python3.11-llama-cpp-python-0.2.13.drv' failed to build
| 22:40:12 |
matthewcroughan - nix.how | if I read that, does it mean that llama-cpp-python depends on cmake? | 22:40:33 |
matthewcroughan - nix.how | error: 1 dependencies of derivation '/nix/store/55kkq5vpl67cra471pn2d4dxrcamyi8v-python3.11-llama-cpp-python-0.2.13.drv' failed to build
error: 1 dependencies of derivation '/nix/store/qn5mh0b6ji41c1kkmignsmr2097vnvzw-python3.11-pybind11-2.11.1.drv' failed to build
error: 1 dependencies of derivation '/nix/store/adx39f490pi607q9c8x1nsd5v8dgax30-python3.11-triton-2.0.0.drv' failed to build
error: 1 dependencies of derivation '/nix/store/nlpanilzzlhnrlk96dq4r7van66ld16q-python3.11-contourpy-1.2.0.drv' failed to build
error: 1 dependencies of derivation '/nix/store/vbgsgrmbr96gyk5dzj3jqrk55lc8mg2f-python3.11-scipy-1.11.3.drv' failed to build
error: 1 dependencies of derivation '/nix/store/imm7lh350jabxp5vnh8fr9mg01rxxb70-python3.11-torch-2.0.0.drv' failed to build
error: 2 dependencies of derivation '/nix/store/qlvyfl87wwpqv44mqqk6xasrds4irh09-python3.11-matplotlib-3.8.1.drv' failed to build
error: 1 dependencies of derivation '/nix/store/sp3viv34zk4xdhkvp4kx9hllknk5c3h2-python3.11-scikit-learn-1.3.2.drv' failed to build
error: 1 dependencies of derivation '/nix/store/pmc273f198zjg0k9hz66ld8rw7y0w18v-python3.11-torchvision-0.15.1.drv' failed to build
error: 1 dependencies of derivation '/nix/store/rxf4m1grj3m67lb4dvxims5iynm90svp-python3.11-gradio-3.50.2.drv' failed to build
error: 4 dependencies of derivation '/nix/store/319dhdc5d7rqm1r041mvsgmg531wlly6-python3.11-sentence-transformers-2.2.2.drv' failed to build
error: 12 dependencies of derivation '/nix/store/ry31z7w9nrxiz8bfpm454mx70a9wiwj3-python3-3.11.5-env.drv' failed to build
| 22:41:16 |
matthewcroughan - nix.how | hmm.. tricky, I now need to figure out what else is depending on cmake | 22:44:10 |
matthewcroughan - nix.how | nix-tree can probably tell me, though I don't have to do this that often | 22:44:24 |
matthewcroughan - nix.how | adisbladis: https://github.com/nix-community/poetry2nix/blob/master/overrides/default.nix#L2997-L3000 | 22:56:46 |
matthewcroughan - nix.how | I ran into this case just now where I had to set the preConfigure for scipy to "", because it doesn't work with the newer version, is that a common thing that has to be done? | 22:57:10 |
matthewcroughan - nix.how | Without saying if version x then do x else y, that's going to be unavoidable, like is done for the Linux kernel in Nixpkgs | 22:57:59 |
| 9 Nov 2023 |
adisbladis | In reply to @matthewcroughan:defenestrate.it I ran into this case just now where I had to set the preConfigure for scipy to "", because it doesn't work with the newer version, is that a common thing that has to be done? Trying to make a package set that works is hard, trying to make one that works with ranges of versions even more so. | 02:54:18 |
adisbladis | https://github.com/adisbladis/pdm2nix/blob/master/tests/trivial/default.nix 🎉 | 04:00:25 |
matthewcroughan - nix.how | In reply to @adis:blad.is Trying to make a package set that works is hard, trying to make one that works with ranges of versions even more so. Is it sustainable to have people vendor cargo.locks when the cargo.locks are already present in the srcs? | 14:09:22 |
matthewcroughan - nix.how | These are the two main problems I've encountered when using poetry2nix, having to vendor cargo.locks redundantly, and fighting with existing overrides | 14:10:05 |
adisbladis | Doing ifd by default is not an option | 14:10:27 |