Previously, these library locations were set absolutely. This
prevented overriding their locations with environment variables. Now,
setting the corresponding environment variable will override the
setting in the environment wrapper. For instance, I can set
KISYSMOD=/some/path/to/footprints
and this will be used as my footprint library instead of the default
footprint library in the nix store. This feature is particularly
useful for having kicad libraries which are writable.
Also: Use assertions instead of silently ignoring arguments that don't cooperate
(occ+oce) / won't compile (aarch64 + oce).
base.nix no longer provides default argument values since these are
provided by default.nix.
Notes:
* fritzing still needs an older version of libgit2
* releases no longer directly correspond to tags in the git repository, they are
using build numbers instead
* the fritzing-parts repository is no longer versioned at all, the master branch
contains the latest stable release
* a `parts.db` file needs to be generated from the fritzing-parts files during
the build
Related:
- 9fc5e7e473
- 593e11fd94
- 508ae42a0f
Since the last time I ran this script, the Repology API changed, so I had to
adapt the script used in the previous PR. The new API should be more robust, so
overall this is a positive (no more grepping the error messages for our relevant
data but just a nice json structure).
Here's the new script I used:
```sh
curl https://repology.org/api/v1/repository/nix_unstable/problems \
| jq -r '.[] | select(.type == "homepage_permanent_https_redirect") | .data | "s@\(.url)@\(.target)@"' \
| sort | uniq | tee script.sed
find -name '*.nix' | xargs -P4 -- sed -f script.sed -i
```
I will also add this script to `maintainers/scripts`.
The build would previously fail due to a change in bison's behavior (see
5b699c1be7
for more information). Updating to a more recent version fixes this
issue.
disable scripting support as 92261 broke wxPython_4_0
and i haven't managed to get wxPython 4.1 to work
something caused makeWrapper to have to be added on its own
not sure where it came from before...
and some cleanup
Add the Python bindings for kicad.
Following now functions
$ nix run "(import ./. {}).python3.withPackages(ps: with ps; [ kicad ])" -c python3 -c "import pcbnew"
Have not tested this any further.
the -small packages depend on all hydra buildable dependencies
the non-small ones depend on packages3d which exceeds hydra's limit
set platforms to all (kicad is cross-platform)
clarify package differences in the description
set maintainers on just the top level derivation
switch -unstable to not save debug symbols
indicate patch in version string
note broken dependencies
The hydraPlatforms have to be set on the kicad package itself, that can be
checked using:
echo ":p { inherit kicad kicad-small kicad-unstable; }" | nix repl ./pkgs/top-level/release.nix
This commit disables build of all kicad variants that require downloading
packages3d, which currently fail on hydra with the "Output limit exceeded"
status. This leaves Hydra with only building the kicad-small, which will allow
us to cache the build of kicad-base as well as all libraries except of
packages3d.
update.sh generates version.nix
by default only updates kicad-unstable
several options (can be combined)
all, update to latest tag and master
clean, generate versions.sh from scratch
commit, make a git commit
minor simplification, fix base version
split i18n and get from gitlab
correct wrapper pythonpath, cleanup build output
update & fake git describe
correct base.nix to fit contributing.md