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
switch source to gitlab as that's the new upstream source
use wrapper variables for everything but i18n
add sym and fp templates to template path
update meta to reflect kicad's own language
set license to AGPLv3, according to the source's LICENSE.README
reduce diff between default and unstable in preparation of merging
on debian gets "no module named 'math'"
pcbnew 3d viewer is unusable (at least on my T410)
make unstable use kicad-libraries
still using a link in $out..., not sure that's a bad thing
this allows setting that path in makeWrapperArgs
can't use $out there
kicad-with-packages3d -> kicad and kicad-small
default to OCCT, OCE is outdated
enforce OCCT on aarch64, where OCE is broken
withOCE flag allows using OCE on non-aarch64