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>
Adapted the patches and took a commit from upstream master branch to
allow the migration to Qt5.15.
Had to copy the patch because of the custom sourceRoot.
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.