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
Fix configure time error:
...
ImportError: No module named wx
CMake Error at CMakeModules/FindwxPython.cmake:52 (message):
wxPython/Phoenix does not appear to be installed on the system
Only build tested.
Fixes: f7e28bf5d8 ("Split buildPythonPackage into setup hooks")
This moves module definition into passthru. Otherwise building kicad
would still require all modules to be built first even if they are not
used.
Also this drops preferLocalBuild from packages3d. hydraPlatforms should
do what we need to. preferLocalBuild would addtitionaly disable remote
builders, which is probably not what we want.
This splits the KiCad package in several derivations:
- original package (main KiCad package)
- internationalization package
- templates
- schematic symbols libraries
- PCB footprints libraries
- 3D models libraries
From these derivations, 2 packages are exposed in top level:
- `kicad` (main KiCad package + all libraries except 3D models)
- `kicad-with-3dpackages` (kicad + all libraries)
The 3D models can also be installed separately with `kicad.packages3d`.
This prevents a new compilation of KiCad, but the user must set the
`KISYS3DMOD` environment variable or option accordingly.
This makes the command ‘nix-env -qa -f. --arg config '{skipAliases =
true;}'’ work in Nixpkgs.
Misc...
- qtikz: use libsForQt5.callPackage
This ensures we get the right poppler.
- rewrites:
docbook5_xsl -> docbook_xsl_ns
docbook_xml_xslt -> docbook_xsl
diffpdf: fixup
It turns out that the build system does not support building both the
command-line tool and the shared library at the same time. Consequently
the ngspice derivation has not provided the command-line tools since the
shared library was enabled in #31166.