Fixes a bug where the build system tried to call `git` to embed the
release tag revision into the binary, which isn't allowed. Easily fixed
with `substituteInPlace`.
Also updates the expression to be a little closer to "standard"
expressions (e.g. consistent indentation, importing `stdenv` instead of
`lib` and `mkDerivation`, etc.)
Signed-off-by: Austin Seipp <aseipp@pobox.com>
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.