DavHau
17a8993d88
feat(lock): several features
...
- don't allow nested fields in lock file (can lead to infinite recursion)
- don't modify FOD
- shortcut if output is cached -> inherit hash from drv
2023-03-23 14:27:25 +08:00
DavHau
f2b02bc056
chore(v1): remove some packages from checks (temporarily)
2023-03-22 23:30:58 +08:00
DavHau
694d895f2c
fix(nixpkgs-overrides): fix attrs from nixpkgs not applied
2023-03-22 23:17:55 +08:00
phaer
bd4b8b36a6
fix(fetchPip): re-add requirements.txt support
2023-03-22 23:17:55 +08:00
phaer
fa58684291
fix(eval-cache): prevent infinite recursion in doc
2023-03-22 23:17:55 +08:00
phaer
a47ec7511a
fix(nixpkgs-overrides): only extract existing pkgs
2023-03-22 23:17:55 +08:00
phaer
eb9e70bdd2
feat(fetch-python-reqs): read egg-info, not...
...
...requirements.txt. The latter was a dirty hack as its meant for
environments and doesn't really include package metadata.
egg-info + dist info seems to cover most of pypi.
2023-03-22 23:17:55 +08:00
DavHau
dce1cbc2ef
feat(updateFODHash): fixes + rename to compureFODHash
2023-03-22 23:09:08 +08:00
DavHau
a984457902
fix(lock): fix config.name refs and makeDrv
2023-03-22 12:50:03 +08:00
phaer
2f162e68e8
chore(lock): move updateFODHash to lock part
2023-03-22 12:03:41 +08:00
phaer
530a05eec0
fix(lock): simplify & clarify log msg...
...
We don't need to build dependencies separately anymore, as we now check
the drv_path in the nix build log.
Also, the hash found does not have to be "new", it could be the same as
before.
2023-03-22 12:03:41 +08:00
phaer
7ba5d4abc9
feat(lock): re-implement in python...
...
as discussed during the last weekly, where we've implemented a
prototype, this replaces the nix + jq magic with python.
it requires more SLOCs and error handling could further be improved,
but i think it helps readability and makes the logic of parsing
nix build logs a bit more robust by checking that we get a hash
for the drv_path we expected.
Empty hash is replaced by l.fakeSha256 to silence a nix warning.
2023-03-22 12:03:41 +08:00
DavHau
8a85ff2904
feat(lock): init lock module for generic locking via json file
2023-03-22 12:03:41 +08:00
DavHau
58e6e18ce4
chore(fetchPip): remove unused args
2023-03-22 10:53:55 +08:00
DavHau
f04f032418
Handle zip files in write-dependency-tree
...
Authored-by: @phaer
2023-03-21 12:53:50 +07:00
DavHau
b1b5887ce8
chore(fetchPythonRequirements): rename to fetchPip
2023-03-21 12:44:05 +07:00
DavHau
a677084257
chore(fetchPythonRequirements): refactor code
...
- add and improve comments
- reduce nesting in several places
- move requirementsFiles flag logic to python
- MAX_DATE -> maxDate
- respect column 80 wherever possible
2023-03-21 12:35:54 +07:00
DavHau
4aa6e86907
chore(v1): move name & version to top-level
2023-03-19 14:46:59 +07:00
phaer
0007206ea1
feat: merge attrs-from-... into nixpkgs-overrides
2023-03-15 14:12:48 +01:00
DavHau
e8e2978bd4
chore(v1/drvs): update json cache files
2023-03-13 13:38:35 +07:00
DavHau
2404e5e449
fix(v1/eval-cache): several fixes
2023-03-13 13:36:52 +07:00
DavHau
fe667757c8
chore(v1/docs): add doc comments to some flake-parts modules
2023-03-13 12:46:11 +07:00
DavHau
7f2d9e53fa
fix(format): reformat write-dependency-tree.py
2023-03-13 12:46:11 +07:00
DavHau
182cdf306d
fix(v1/packages): update FOD hashes for all python packages
2023-03-13 12:46:11 +07:00
DavHau
969847352f
fix(v1/packages): only output for x86_64-linux
2023-03-13 12:46:11 +07:00
DavHau
d152844a15
fix(fetchPythonRequirements): output sorted dict
2023-03-13 12:46:11 +07:00
DavHau
600a2cbecc
chore(formatting): reformat v1 code - python files
2023-03-13 12:46:11 +07:00
DavHau
d96e7234e3
chore(formatting): format v1 code with alejandra
2023-03-13 12:46:11 +07:00
DavHau
ac63eb584f
feat: integrate v1 into top-level fake
2023-03-13 12:46:11 +07:00
DavHau
93102e5fdf
feat(mach-nix): init module nixpkgs-overrides
2023-03-13 12:46:11 +07:00
DavHau
6210b38ef3
chore: switch nixpkgs to nixos-22.11 and update FOD hashes
2023-03-13 12:46:11 +07:00
phaer
71c396138c
feat(mach-nix): use drv-parts for dependencies.
2023-03-13 12:46:11 +07:00
phaer
52a6fc802a
style(mach-nix): add makeModuleFromDerivation
2023-03-13 12:46:11 +07:00
phaer
d1ff045a1b
style(mach-nix): manualSetupDeps -> mkWheelDist
2023-03-13 12:46:11 +07:00
phaer
173d76b688
feat(mach-nix): wip, split nixpkgsAttrs -> module
2023-03-13 12:46:11 +07:00
phaer
169da1c545
style(mach-nix): refactor wheel preparation
2023-03-13 12:46:11 +07:00
phaer
61c0f29e86
style(mach-nix): reorder, consolidate distDir...
...
..naming, inline isWheel
2023-03-13 12:46:11 +07:00
phaer
6fd4c8a93b
chore(mach-nix): inline only use of getDistDir
2023-03-13 12:46:11 +07:00
DavHau
c04a8a7ea7
chore: adapt to apache-airflow to new interface
2023-03-13 12:46:11 +07:00
DavHau
30e04b5316
feat(mach-nix): cache dependency tree
2023-03-13 12:46:11 +07:00
DavHau
faec8a4156
feat: add buildPythonPackage module
2023-03-13 12:46:11 +07:00
DavHau
39cc8d24f4
update FOD hash of apache-airflow
2023-03-13 12:46:11 +07:00
DavHau
2cdc1aa0e0
feat: use dependency tree only for sdist builds
2023-03-13 12:46:11 +07:00
DavHau
8ea18aa69a
fix(python): nativeBuildInputs not applied
2023-03-13 12:46:11 +07:00
phaer
123e6cfe7a
wip: use new drv-parts mkDerivation interface
2023-03-13 12:46:11 +07:00
phaer
b2024ad22e
move dependency analysis to fetch-python-reqs...
...
..to require only one IFD
2023-03-13 12:46:11 +07:00
phaer
e5a8cd6e69
chore, mach-nix-xs: use dict for dep tree
2023-03-13 12:46:11 +07:00
phaer
5427ea668e
fetch-python-requirements: make more robust...
...
...and handle packages which might not even contain
a PKG_INFO. They could still include requirements.txt, otherwise
no dependencies are assumed.
2023-03-13 12:46:11 +07:00
phaer
724ed96702
use drv-parts.derivationFromModules for deps
2023-03-13 12:46:11 +07:00
phaer
907f9a9003
proof-of-concept: granular python builder
2023-03-13 12:46:11 +07:00