We require API compatibility in the ngspice library because we
dynamically load the library and assign function pointers to specific
names/signatures. This should be consistent for all versions of the the
library until the soversion changes.
Fixes https://gitlab.com/kicad/code/kicad/issues/8878
(cherry picked from commit 17a17586a6)
The config.h header for ngspice is not packaged with all platforms so
use pkg-config to fetch the version information when available. When
pkg-config is not available, check if the ngspice/config.h file is
installed on the system before including it to build the ngspice version
string. If neither pkg-config or ngspice/config.h is available set the
version string to "unknown".
Fixes https://gitlab.com/kicad/code/kicad/issues/4851
Taken from downstream Fedora commit.
Original author info:
Charalampos Stratakis <cstratak@redhat.com> 2020-05-28 12:26:59
Downstream commit: a2677c159ad529
(cherry-picked from 7fd661f06b)
CHANGED: Update the Linux appdata file to include new tags
* Include version tags (and others) in the appdata file
* Refactor the version string generation to clean it up
Cherry-pick of:
3370e89967e54c954aed
eeschema cpp files consume generated header files that have targets in
the common directory, so no dependencies get created from eeschema. We
add the dependencies in common to force the setting through libraries.
Fixes: lp:1831643
* https://bugs.launchpad.net/kicad/+bug/1831643
Building custom targets that depend on custom commands such as our
keyword lexer requires two layers of indirection to pick up changes
properly and not overwrite the same file in parallel builds.
Fixes: lp:1831643
* https://bugs.launchpad.net/kicad/+bug/1831643
(cherry picked from commit c6af38477d)
Some developer scripts ended up in the demonstration scripts directory
that was bundled with builds. This moves them to the build_tools
directory and updates the associated Documentation
Fixes: lp:1815891
* https://bugs.launchpad.net/kicad/+bug/1815891