kicad swig 4.0.0 compatibility

This commit is contained in:
layman 2019-07-15 12:27:43 +02:00
parent 1a0a393070
commit 0dfe6c9adf
20 changed files with 401 additions and 163 deletions

View File

@ -1,2 +0,0 @@
DIST kicad-footprints-5.0.2.tar.gz 5101567 BLAKE2B 9c12e28526ba543fd9ce1d48a5b183b2dfd5e91dd8ee95d6a149749c23dc67b7d4dbec2f547ce561fd871f33830ca81fe1cd93ea72e2566341e0c33425d4881c SHA512 b7c58ef9b80973d358ab9149de811023828627d1870e25f4476b4994a5416d5aa9dc14b15d0f91820d0819fc529501e689b34311f88d1f115119581602291ad7
EBUILD kicad-footprints-5.0.2.ebuild 456 BLAKE2B b49fd1584b037aa4cf93ddc7b86ae699914c1c5838c4cdfeb3a09c11e346e0de0a8f37a01ec01cc975d959c84da0a7c1e311294b6927ff47385062e8987e639f SHA512 c16d4558d3e37f60382c05c18aba6fefc431a2c884d4c1a93685f394c5ab42cc423770d518d65ab62007d10ad6d64047ee7a517c953388c0d9b19e75a11e4429

View File

@ -1,18 +0,0 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit cmake-utils
DESCRIPTION="Electronic Schematic and PCB design tools footprint libraries"
HOMEPAGE="https://kicad.github.io/footprints/"
SRC_URI="https://github.com/KiCad/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="CC-BY-SA-4.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE=""
DEPEND=""
RDEPEND=">=sci-electronics/kicad-5.0.0"

View File

@ -1,2 +0,0 @@
DIST kicad-i18n-5.0.2.tar.gz 4075257 BLAKE2B 280eed9d1fbd35bf55ac0e2b3fad5fbac6875f3174b6ce170fd85b0046c73a0a154f37ca0f9f31c9890199c82b238498296e3928d36834fa2a7d0324258233d2 SHA512 e46009080aa164eaa2d65d875f8abfa5a28343c60beb5abc752755e94540d9450ad78b18291834919c01e6ed2723e0888d068a20f162568c6afd524e47c92204
EBUILD kicad-i18n-5.0.2.ebuild 471 BLAKE2B 4ead8d717ce3a8c3b4f9451b806812647787507a4ccaa8d925aa2f81539c21468cf4a63b37c3cb017f9d938f17f036f11cd25e41309f41ccad22d3ea2f01222b SHA512 93715c5579ae737a6418597f87e1fb57cc75bbc9085faf84dfde5302f8d01b599602ac403145faa6b29feb73f9f2ab0934669b9a6e9c16f401530ef0a9e58a63

View File

@ -1,18 +0,0 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit cmake-utils
DESCRIPTION="Electronic Schematic and PCB design tools GUI translations."
HOMEPAGE="https://github.com/KiCad/kicad-i18n"
SRC_URI="https://github.com/KiCad/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="CC-BY-SA-4.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE=""
DEPEND="sys-devel/gettext"
RDEPEND=">=sci-electronics/kicad-5.0.0"

View File

@ -1 +0,0 @@
EBUILD kicad-meta-5.0.2.ebuild 591 BLAKE2B 1f52fce0c46a80c94ea7238bf0140bcb04bd044c8f64d531e2569aab6cc13ec1ed5a54d213ad0774f300a37ced3ee847cb4422249095d43c1476bea0dd13e51b SHA512 84e49d76c6bc1a6f764f660c57046e4f338e322cd44077934ed4e9b17827cfc510bd105741022fc76fac8e04f7aac83f853163ee479ea5096a11cf6f963ba7b1

View File

@ -1,27 +0,0 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Electronic Schematic and PCB design tools (meta package)"
HOMEPAGE="http://www.kicad-pcb.org"
SRC_URI=""
LICENSE="metapackage"
SLOT="0"
KEYWORDS="~amd64"
IUSE="doc nls"
RDEPEND="
>=sci-electronics/kicad-5.0.2
>=sci-electronics/kicad-symbols-5.0.2
>=sci-electronics/kicad-footprints-5.0.2
>=sci-electronics/kicad-packages3d-5.0.2
>=sci-electronics/kicad-templates-5.0.2
doc? (
>=app-doc/kicad-doc-5.0.2
)
nls? (
>=sci-electronics/kicad-i18n-5.0.2
)
"

View File

@ -1,2 +0,0 @@
DIST kicad-packages3d-5.0.2.tar.gz 842963977 BLAKE2B dec6c4cf8d6846689fa371bd28be4e4b99b1a3983645d6e3ee05b6d04f96375864b88b131bd192ac3e224046624dfb1c747dd810588b7f6e5aac247a0eff9241 SHA512 3a02fce096623b5e7e951708a6c5a29725474ddce2e5b0f11c08a8742d0de9136ecd0ac7dc49e239a256eccd38b0806a1c0f4b78c0d14e6889a701f876947fce
EBUILD kicad-packages3d-5.0.2.ebuild 514 BLAKE2B 80b528282e29b8a74614deb630665c648469fda01d74c6d297eb6ba8f23daaa8bfcc79353dddeb30c248e03ba6421af032e772aa4e15fe04d7fbc57f8b9fb9f6 SHA512 dd0312120c4b7bb61ccc1efe8819a70f77279bd20696c603679ba8c21a4691f2e0b4292b35460912a09944d3966ae454a38184a157726cd0eb63871fca383449

View File

@ -1,21 +0,0 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit check-reqs cmake-utils
DESCRIPTION="Electronic Schematic and PCB design tools 3D package libraries"
HOMEPAGE="https://kicad.github.io/packages3d/"
SRC_URI="https://github.com/KiCad/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="CC-BY-SA-4.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""
DEPEND=""
RDEPEND=">=sci-electronics/kicad-5.0.0[oce]"
CHECKREQS_DISK_BUILD="9G"
S="${WORKDIR}/${P/3d/3D}"

View File

@ -1,2 +0,0 @@
DIST kicad-symbols-5.0.2.tar.gz 2737047 BLAKE2B c2650be12b1ab801ec640a4ce58ee34006cf9b98193f9d06054a90b5c484570d3c0e8e082907f03ab62ffe9dd7d135a0465337309cabb5209d4f4cec3d807780 SHA512 bcef99f582125e9452e7ba39b65da17952bf933be3cfd5b138bede502b8749c3f76a2a9b71ffa4305205b2969d62518b034c38da531c2d0148bbc2eb0c5a46d3
EBUILD kicad-symbols-5.0.2.ebuild 450 BLAKE2B c0fda1a73122892636ada55e4c7d63cc667f71f02516bc7847dd10e42de2a5799b7d750ca03c0781113e725db0403a7eb8a35f60d9a8df7daba4b6e8f96f7c41 SHA512 930424dac84702ff3cac707dbd3768b4bc66c991310f6be275ca658c5768e4bcac66d18eaa32e5e4643efec4e2d752bfac0f265c2a239ecb1e92eec3e246f1f0

View File

@ -1,18 +0,0 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit cmake-utils
DESCRIPTION="Electronic Schematic and PCB design tools symbol libraries"
HOMEPAGE="https://kicad.github.io/symbols/"
SRC_URI="https://github.com/KiCad/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="CC-BY-SA-4.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE=""
DEPEND=""
RDEPEND=">=sci-electronics/kicad-5.0.0"

View File

@ -1,2 +0,0 @@
DIST kicad-templates-5.0.2.tar.gz 1620726 BLAKE2B 4b4bb887a52e1c31f18660766cdef2e4f478141764e946a5b7f552ca80154f28352d46cba7f6f5d2f6c2f7ab1c9043c7aff276d5352a5a91abdf580750a27d69 SHA512 a5a1722914477bb0cd1d3b0536906fd406846579a929dc30c5425deb09a39594375920e19d30f3255b0509f66d6094202bd07281dbcf91ad68205339116ea51f
EBUILD kicad-templates-5.0.2.ebuild 459 BLAKE2B d79ddb7dd35b96c1739f4e785c90c35654a982f5f4ef62d2e7e1334e9aa17597b87da0661934680e5b32ee20d99e67165cd0d92c8991a0e620f718fd2db1d1d0 SHA512 8de9ec54219987cd1bd69641c171fb5da3ae76f98bd7aeceb004bba444dd6e6d766597d61b85c46058a67f7748c5262f3fd3d9acc06e44d215c1866ab46ee625

View File

@ -1,18 +0,0 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit cmake-utils
DESCRIPTION="Electronic Schematic and PCB design tools project templates"
HOMEPAGE="https://github.com/kicad/kicad-templates"
SRC_URI="https://github.com/KiCad/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="CC-BY-SA-4.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE=""
DEPEND=""
RDEPEND=">=sci-electronics/kicad-5.0.0"

View File

@ -1,2 +1,5 @@
DIST kicad-5.0.2.tar.xz 14257576 BLAKE2B 4b7f295b8c8563d4300cac47f81aa38083259b24a054dd42bf6d2c5089c627263ec329c319a82c01a82154ca2b3867db2099e90bad5149b6ba32250db9e7cc4f SHA512 54fc92238e23e3dd3287f6df797e53561e6a0e9c5cfa50066ffd92883f79af94f26db611f6fe658eeabf2199b76cd763633326c89b3f34194bd8fd9094f5fd21
EBUILD kicad-5.0.2.ebuild 3506 BLAKE2B 04e721a0ffd962296257b9defc4a12fe11cb9a8dbd7b053a7986458f2077aebe0c0f373686a2bc07019e979d54313034d4062043c4a7bd35729bd159364aadfd SHA512 11a06b0bfdd9616c8571323e0b2350e21c1e727e8abde5663335b62b1120beeab9c72e6cde2aa590c16ed17bf6fca68b950c8aeeede279adaa2794848685ae07
AUX kicad-5.1.0-help.patch 4690 BLAKE2B 5459e3e7fde22590f4357ec3981c9bc2d784f533cc0370befb6851fb01954923722c815aaafa4dcd37f15c74bc31fd3b711ac106301abeb195dedc8086965c47 SHA512 ed5c70b0157ff4db152e2374df669210b194147655c7c5083ffb2f5ce56358c30c4cb2aaff2368f3a34757e5a5021b335ce169727eaaf511b12d1ceb3fb9a350
AUX kicad-5.1.2-swig-4.0.0.patch 706 BLAKE2B 0dcab79c868f49cde152e36d38bd75039a2e4f30ab34adad635b95b9317555adfb769382e175a27852fb60dcfd80c0acb5679595cafba256644b58982b5fdcc4 SHA512 1074ad1a6681688554743962f14f2f34e69b2b3662b5d5e7d59fda462272a5d8c20da89e0c21a8e64abcdd0b97f68e12d7ae9802d842905368f7d2f413573019
DIST kicad-5.1.2.tar.xz 14191500 BLAKE2B f25de921a8f412dd52ad7afe31c95e3db5d497126925cb024ba31519b1bc1acdc573c4465aaee0b4acf73002100361bb95e4ca325b5199717f1827480d7e1f6e SHA512 5280be13d82d675aecab208f6d05ac8ac31a8f4d620c541748a1c519f8587b0250f189d8c5cdc0d7fa19b52780e5c68bb3e1956a3f303bb183bfb4c59062be1b
EBUILD kicad-5.1.2.ebuild 3615 BLAKE2B 1e926ab90c3ddf7c1d40fe9cf6f8fb27e4fad43fce4c5aed8fb8d824f3134294c7cef085e784dfaf66dc0b1bd04c098613fbef1c92c470a69510bb74e6ffa5ab SHA512 1e7607850795a9aab333c57a1d79789cc159b2b1a009402d88030526a26ab0a53e3881979ff4afc4436088af4d57ab7519f85e621e199d5d6fc33b0a6a767057
MISC metadata.xml 1181 BLAKE2B dadb380f3a2c422a93f349ede59cd4a6bf03dac69306357df08ef88931f76329669e5713f741507ce37ec4bb10445351ed293ed13174ed38de6c284e2234e2f8 SHA512 60c76ec7d665f273fb538c10e4993ac6d30c567d9cb8c0c862175c63a59d45cc9fdeacbb2ba6a3cff12e722124ef6c7466828ea792ddd405c587bd0bac65472c

View File

@ -0,0 +1,117 @@
diff -Naur /tmp/kicad-5.1.0-orig/CMakeLists.txt kicad-5.1.0/CMakeLists.txt
--- /tmp/kicad-5.1.0-orig/CMakeLists.txt 2019-03-08 04:31:50.000000000 -0800
+++ kicad-5.1.0/CMakeLists.txt 2019-03-24 16:16:58.287376258 -0700
@@ -427,6 +427,10 @@
set( KIFACE_PREFIX "_" )
#message( STATUS "KIFACE_SUFFIX:${KIFACE_SUFFIX} KIFACE_PREFIX:${KIFACE_PREFIX}" )
+# KICAD_HELP is the location of the help files accessed from the UI
+# (usually provided via kicad-doc package)
+set ( KICAD_HELP share/doc/kicad
+ CACHE PATH "Alternative location of KiCad help files.")
#================================================
# Locations for install targets.
diff -Naur /tmp/kicad-5.1.0-orig/CMakeModules/config.h.cmake kicad-5.1.0/CMakeModules/config.h.cmake
--- /tmp/kicad-5.1.0-orig/CMakeModules/config.h.cmake 2019-03-08 04:31:50.000000000 -0800
+++ kicad-5.1.0/CMakeModules/config.h.cmake 2019-03-24 16:16:58.287376258 -0700
@@ -59,6 +59,10 @@
/// The install prefix defined during CMake configuration or fall back to CMAKE_INSTALL_PREFIX.
#define DEFAULT_INSTALL_PATH "@DEFAULT_INSTALL_PATH@"
+/// KiCad help files path can be different on some systems allow adding alternative,
+/// search path for them. Defaults to CMAKE_INSTALL_PREFIX/share/doc/kicad
+#define KICAD_HELP "@KICAD_HELP@"
+
/// The wxPython version found during configuration.
#if defined( KICAD_SCRIPTING_WXPYTHON )
#define WXPYTHON_VERSION "@WXPYTHON_VERSION@"
diff -Naur /tmp/kicad-5.1.0-orig/common/searchhelpfilefullpath.cpp kicad-5.1.0/common/searchhelpfilefullpath.cpp
--- /tmp/kicad-5.1.0-orig/common/searchhelpfilefullpath.cpp 2019-03-08 04:31:50.000000000 -0800
+++ kicad-5.1.0/common/searchhelpfilefullpath.cpp 2019-03-24 16:17:31.527588523 -0700
@@ -25,7 +25,7 @@
#include <pgm_base.h>
#include <common.h>
-#include <config.h> // to define DEFAULT_INSTALL_PATH
+#include <config.h> // to define DEFAULT_INSTALL_PATH and KICAD_HELP
#include <macros.h>
#include <trace_helpers.h>
@@ -69,6 +69,10 @@
wxArrayString subdirs;
wxArrayString altsubdirs;
SEARCH_STACK ss = aSStack;
+#if ! defined(__WXMAC__) // && defined(__linux__)
+ SEARCH_STACK altss;
+ wxArrayString moresubdirs;
+#endif
// It might already be in aSStack, but why depend on other code
// far away when it's so easy to add it again (to our copy) as the first place to look.
@@ -76,6 +80,7 @@
// This is CMAKE_INSTALL_PREFIX unless DEFAULT_INSTALL_PATH was defined during
// build configuration:
ss.AddPaths( wxT( DEFAULT_INSTALL_PATH ), 0 );
+ altss.AddPaths( wxT( KICAD_HELP ), 0 );
#if defined(__WXMAC__)
ss.AddPaths( GetOSXKicadMachineDataDir() );
@@ -104,16 +109,17 @@
// Based on kicad-doc.bzr/CMakeLists.txt, line 20, the help files are
// installed into "<CMAKE_INSTALL_PREFIX>/share/doc/kicad/help" for linux.
- // This is ${KICAD_HELP} var in that CMakeLists.txt file.
// Below we account for an international subdirectory.
subdirs.Add( "share" );
subdirs.Add( "doc" );
subdirs.Add( "kicad" );
subdirs.Add( "help" );
+ // For custom help path installations via ${KICAD_HELP}
+ moresubdirs.Add( "help" );
+
// Based on kicad-doc.bzr/CMakeLists.txt, line 35, the help files are
// installed into "<CMAKE_INSTALL_PREFIX>/doc/help" for Windows.
- // This is ${KICAD_HELP} var in that CMakeLists.txt file.
// Below we account for an international subdirectory.
altsubdirs.Add( "doc" );
altsubdirs.Add( "help" );
@@ -159,6 +165,9 @@
{
subdirs.Add( locale_name_dirs[ii] );
altsubdirs.Add( locale_name_dirs[ii] );
+#if ! defined(__WXMAC__) // && defined(__linux__)
+ moresubdirs.Add( locale_name_dirs[ii] );
+#endif
fn = FindFileInSearchPaths( ss, aBaseName + wxT( ".html" ), &altsubdirs );
@@ -188,8 +197,27 @@
if( !fn.IsEmpty() )
break;
+#if ! defined(__WXMAC__) // && defined(__linux__)
+ fn = FindFileInSearchPaths( altss, aBaseName + wxT( ".html" ), &moresubdirs );
+
+ if( !fn.IsEmpty() )
+ {
+ // Prepend URI protocol since we will open in a browser
+ fn = wxT( "file://" ) + fn;
+ break;
+ }
+
+ fn = FindFileInSearchPaths( altss, aBaseName + wxT( ".pdf" ), &moresubdirs );
+
+ if( !fn.IsEmpty() )
+ break;
+#endif
+
subdirs.RemoveAt( subdirs.GetCount() - 1 );
altsubdirs.RemoveAt( altsubdirs.GetCount() - 1 );
+#if ! defined(__WXMAC__) // && defined(__linux__)
+ moresubdirs.RemoveAt( altsubdirs.GetCount() - 1 );
+#endif
}
return fn;

View File

@ -0,0 +1,14 @@
diff --git a/scripting/build_tools/fix_swig_imports.py b/scripting/build_tools/fix_swig_imports.py
index 160d7e2d9..4f97df079 100644
--- a/scripting/build_tools/fix_swig_imports.py
+++ b/scripting/build_tools/fix_swig_imports.py
@@ -40,6 +40,9 @@ if (len(lines)<4000):
txt = b""
for l in lines:
+ if l.startswith(b"if _swig_python_version_info < (2, 7, 0):"): # ok with swig version >= 4.0.0
+ l = l.replace(b"_swig_python_version_info < (2, 7, 0)", b"False")
+ doneOk = True
if l.startswith(b"if _swig_python_version_info >= (2, 7, 0):"): # ok with swig version >= 3.0.10
l = l.replace(b"_swig_python_version_info >= (2, 7, 0)", b"False")
doneOk = True

View File

@ -1,20 +1,21 @@
# Copyright 1999-2018 Gentoo Authors
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Can switch to EAPI=7 when wxwidgets eclass also supports it
EAPI=6
PYTHON_COMPAT=( python2_7 )
PYTHON_COMPAT=( python3_{5,6} )
WX_GTK_VER="3.0"
WX_GTK_VER="3.0-gtk3"
inherit check-reqs cmake-utils eapi7-ver eutils gnome2-utils python-single-r1 toolchain-funcs wxwidgets xdg
inherit check-reqs cmake-utils eapi7-ver eutils gnome2-utils python-single-r1 toolchain-funcs wxwidgets xdg-utils
DESCRIPTION="Electronic Schematic and PCB design tools"
HOMEPAGE="http://www.kicad-pcb.org"
SRC_URI="https://launchpad.net/${PN}/$(ver_cut 1-2)/${PV}/+download/${P}.tar.xz"
SRC_URI="https://launchpad.net/${PN}/5.0/${PV}/+download/${P}.tar.xz"
LICENSE="GPL-2+ GPL-3+ Boost-1.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
KEYWORDS="~amd64 ~x86"
IUSE="doc examples github +ngspice occ +oce openmp +python"
REQUIRED_USE="
@ -22,14 +23,15 @@ REQUIRED_USE="
?? ( occ oce )
"
COMMON_DEPEND=">=x11-libs/wxGTK-3.0.2:${WX_GTK_VER}[X,opengl]
COMMON_DEPEND="x11-libs/wxGTK:${WX_GTK_VER}[X,opengl]
python? (
dev-python/wxpython:${WX_GTK_VER}[opengl,${PYTHON_USEDEP}]
dev-python/wxpython:4.0[${PYTHON_USEDEP}]
${PYTHON_DEPS}
)
>=dev-libs/boost-1.61[context,nls,threads,python?,${PYTHON_USEDEP}]
github? ( net-misc/curl:=[ssl] )
media-libs/glew:0=
<=media-libs/glm-0.9.9.2
media-libs/glm
media-libs/freeglut
media-libs/mesa
ngspice? (
@ -41,14 +43,16 @@ COMMON_DEPEND=">=x11-libs/wxGTK-3.0.2:${WX_GTK_VER}[X,opengl]
>=x11-libs/pixman-0.30"
DEPEND="${COMMON_DEPEND}
doc? ( app-doc/doxygen )
github? ( net-misc/curl:=[ssl] )
python? ( >=dev-lang/swig-3.0:0 )"
RDEPEND="${COMMON_DEPEND}
sci-electronics/electronics-menu
"
CHECKREQS_DISK_BUILD="800M"
#PATCHES=( "${FILESDIR}"/"${PN}-5.0.0-curl.patch" )
PATCHES=(
"${FILESDIR}"/"${PN}-5.1.0-help.patch"
"${FILESDIR}"/"${PN}-5.1.2-swig-4.0.0.patch"
)
pkg_setup() {
use python && python-single-r1_pkg_setup
@ -57,24 +61,18 @@ pkg_setup() {
check-reqs_pkg_setup
}
src_prepare() {
xdg_src_prepare
cmake-utils_src_prepare
# fix application categories in desktop files
while IFS="" read -d $'\0' -r f; do
sed -i.bkp '/Categories/s/Development;//' "${f}"
done < <(find "${S}" -type f -name "*.desktop" -print0)
}
src_configure() {
xdg_environment_reset
local mycmakeargs=(
-DKICAD_DOCS="/usr/share/doc/${PF}"
-DKICAD_DOCS="${EPREFIX}/usr/share/doc/${P}"
-DKICAD_HELP="${EPREFIX}/usr/share/doc/${PN}-doc-${PV}"
-DBUILD_GITHUB_PLUGIN="$(usex github)"
-DKICAD_SCRIPTING="$(usex python)"
-DKICAD_SCRIPTING_MODULES="$(usex python)"
-DKICAD_SCRIPTING_WXPYTHON="$(usex python)"
-DKICAD_SCRIPTING_WXPYTHON_PHOENIX="$(usex python)"
-DKICAD_SCRIPTING_PYTHON3="$(usex python)"
-DKICAD_SCRIPTING_ACTION_MENU="$(usex python)"
-DKICAD_SPICE="$(usex ngspice)"
-DKICAD_USE_OCC="$(usex occ)"
@ -87,7 +85,10 @@ src_configure() {
-DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
-DPYTHON_LIBRARY="$(python_get_library_path)"
)
use occ && mycmakeargs+=( -DOCC_LIBRARY_DIR="${CASROOT}"/lib )
use occ && mycmakeargs+=(
-DOCC_INCLUDE_DIR="${CASROOT}"/include/opencascade
-DOCC_LIBRARY_DIR="${CASROOT}"/lib
)
cmake-utils_src_configure
}
@ -109,10 +110,6 @@ src_install() {
fi
}
pkg_preinst() {
xdg_pkg_preinst
}
pkg_postinst() {
optfeature "Component symbols library" sci-electronics/kicad-symbols
optfeature "Component footprints library" sci-electronics/kicad-footprints
@ -122,11 +119,13 @@ pkg_postinst() {
optfeature "Extended documentation" app-doc/kicad-doc
optfeature "Creating 3D models of components" media-gfx/wings
xdg_pkg_postinst
xdg_desktop_database_update
xdg_mimeinfo_database_update
gnome2_icon_cache_update
}
pkg_postrm() {
xdg_pkg_postrm
xdg_desktop_database_update
xdg_mimeinfo_database_update
gnome2_icon_cache_update
}

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>zoltan@sinustrom.info</email>
<name>Zoltan Puskas</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<use>
<flag name="github">Add github support into PCB editor</flag>
<flag name="i18n">Allow GUI internationalization through l10n_* use flags</flag>
<flag name="minimal">Build only binaries without parts library and examples</flag>
<flag name="ngspice">Enable circuit simulation</flag>
<flag name="occ">Enable viewing 3D rendering of designs via opencascade</flag>
<flag name="oce">Enable viewing 3D rendering of designs via OCE</flag>
<flag name="python">Enable python scripting support</flag>
</use>
<longdescription>
Kicad is an open source (GPL) software for the creation of electronic
schematic diagrams and printed circuit board artwork.
</longdescription>
<upstream>
<remote-id type="github">KiCad/kicad-i18n</remote-id>
<remote-id type="launchpad">kicad</remote-id>
</upstream>
</pkgmetadata>

View File

@ -0,0 +1,4 @@
DIST ngspice-30-manual.pdf 2131163 BLAKE2B a60d00bf00b179e610d3a031bfb342134038f8bf77aa79eaeb58113f54bf6391700f21b277cb1df6434df2c27a0922c2a685135ebf8dce2e7a48e27c2d174c15 SHA512 920953cc36d6f3d2e7751d9ed10e147d4c0a9955ddcca52941d6a30ccb56fec8c15481274726bc718a9617992b5eddee253205e4af9b798b80f54f6e6c45c9d5
DIST ngspice-30.tar.gz 7147044 BLAKE2B 497e6867c590b11139c16d3de1cd8114e5a68fd6edb7dcd1adb8759fc2e10af376fa1daf43b61dc465b5989bae25cfafa7c8d155db5055b4a648499c8f39d7ec SHA512 baa67527a05586b6da19e96203889fe013eb19a9e60b159ab9e3828dd5bb865f44bd683e622b256c3c434d77fe7adb5fe1badab75bdeaa9f24faafe7aaaae2e2
EBUILD ngspice-30.ebuild 4086 BLAKE2B d0469b3344d9f54c594c31002d575400baaebc86370d89563d509222954d7c44c9978d7bab8d80eee580ccd008741a01bd08fb7a0b337decb1ac0d6fe01d6614 SHA512 61423bd5aa91c87fd0cbfc31bc2b7e190d2c4927c588752c73952aaa51a52d5989749bcc97e9ec4f58ac988521cbea02b8a954800a04a07219851c88eaac7461
MISC metadata.xml 613 BLAKE2B 658a1ccd1c1149c4b3626b482b1c80845502b80d0cd9316117f433edc4d2e5106ac92b97c3bebc23c43a82247592cc85068b08eea3caa859f976548f2a890a73 SHA512 791dc0311699db360c5e013f33786fb546119010cb8bbc36fc91ac6a522f1642f4297d8ffb945291ee20ce337647777d06e463083ac6ca0888d36ff0e1a71dcc

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-electronics@gentoo.org</email>
<name>Gentoo Electronics Project</name>
</maintainer>
<longdescription>
Ngspice is a mixed-level/mixed-signal circuit simulator. Its code is based on
three open source software packages: Spice3f5, Cider1b1 and Xspice.
</longdescription>
<use>
<flag name="shared">Build ngspice as a shared library</flag>
</use>
<upstream>
<remote-id type="sourceforge">ngspice</remote-id>
</upstream>
</pkgmetadata>

View File

@ -0,0 +1,185 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools multibuild toolchain-funcs
DESCRIPTION="The Next Generation Spice (Electronic Circuit Simulator)"
SRC_URI="mirror://sourceforge/ngspice/${P}.tar.gz
doc? ( mirror://sourceforge/ngspice/${P}-manual.pdf )"
HOMEPAGE="http://ngspice.sourceforge.net"
LICENSE="BSD GPL-2"
SLOT="0"
IUSE="X debug doc examples fftw openmp readline +shared tcl"
KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~x64-macos"
DEPEND="sys-libs/ncurses:0=
X? ( x11-libs/libXaw
x11-libs/libXt
x11-libs/libX11 )
fftw? ( sci-libs/fftw:3.0 )
readline? ( sys-libs/readline:0= )
tcl? ( dev-lang/tcl:0
dev-tcltk/blt )"
RDEPEND="${DEPEND}
X? ( sci-visualization/xgraph )"
DOCS=(
ANALYSES
AUTHORS
BUGS
ChangeLog
DEVICES
NEWS
README
Stuarts_Poly_Notes
)
pkg_setup() {
MULTIBUILD_VARIANTS=( "binaries" )
use shared && MULTIBUILD_VARIANTS+=( "shared" )
use tcl && MULTIBUILD_VARIANTS+=( "tcl" )
use openmp && tc-check-openmp
}
src_prepare() {
default
if use tcl; then
if use examples; then
find examples/tclspice -type f -iname \*tcl |
while read s
do
sed -i -e 's@../../../src/.libs/libspice.so@libspice.so@g' \
-e 's@package require BLT@package require Tk\npackage require BLT@g' \
-e "s@spice::codemodel \(.*\)/\(.*\).cm@spice::codemodel /usr/$(get_libdir)/ngspice/\2.cm@g" \
"${s}" || die "sed failed"
done
fi
fi
eautoreconf
}
src_configure() {
multibuild_copy_sources
multibuild_foreach_variant ngspice_configure
}
ngspice_configure() {
pushd "${BUILD_DIR}"
local myconf
if use debug; then
myconf="--enable-debug \
--enable-ftedebug \
--enable-cpdebug \
--enable-sensdebug \
--enable-asdebug \
--enable-stepdebug \
--enable-pzdebug"
else
myconf="--disable-debug \
--disable-ftedebug \
--disable-cpdebug \
--disable-sensdebug \
--disable-asdebug \
--disable-stepdebug \
--disable-pzdebug"
fi
# As of December 2017, these do not compile
myconf="${myconf} \
--disable-blktmsdebug \
--disable-smltmsdebug"
myconf="${myconf} \
--enable-xspice \
--enable-cider \
--disable-xgraph \
--disable-dependency-tracking \
--disable-rpath \
$(use_enable openmp) \
$(use_with fftw fftw3) \
$(use_with readline)"
if [ "${MULTIBUILD_VARIANT}" == "shared" ]; then
myconf="${myconf} \
--with-ngshared"
elif [ "${MULTIBUILD_VARIANT}" == "tcl" ]; then
myconf="${myconf} \
--with-tcl"
else
myconf="${myconf} \
$(use_with X x)"
fi
econf ${myconf}
}
src_compile() {
multibuild_foreach_variant ngspice_compile
}
ngspice_compile() {
pushd "${BUILD_DIR}"
default
}
src_install() {
multibuild_foreach_variant ngspice_install
# merge the installations of all variants
for v in "${MULTIBUILD_VARIANTS[@]}" ; do
cp -a "${D}_${v}"/* "${D}" || die "Failed to combine multibuild installations"
rm -rf "${D}_${v}"
done
use tcl && DOCS+=( README.tcl )
use doc && DOCS+=( "${DISTDIR}"/${P}-manual.pdf )
default
# We don't need ngmakeidx to be installed
rm -f "${D}"/usr/bin/ngmakeidx
rm -f "${D}"/usr/share/man/man1/ngmakeidx.1
if use examples; then
use tcl || rm -rf examples/tclspice
insinto /usr/share/${PN}
doins -r examples
fi
}
ngspice_install() {
pushd "${BUILD_DIR}"
emake DESTDIR="${D}_${MULTIBUILD_VARIANT}" install
# Strip shared-library and Tcl-module builds to the bare minimum;
# all the support files will have been handled by the 'binaries' build.
if [ "${MULTIBUILD_VARIANT}" != "binaries" ]; then
rm -rf "${D}_${MULTIBUILD_VARIANT}"/usr/bin{,.debug}
rm -rf "${D}_${MULTIBUILD_VARIANT}"/usr/share
rm -rf "${D}_${MULTIBUILD_VARIANT}"/usr/$(get_libdir)/*.la
rm -rf "${D}_${MULTIBUILD_VARIANT}"/usr/$(get_libdir)/ngspice/*.cm{,.debug}
fi
}
src_test() {
if ! use debug; then
multibuild_foreach_variant ngspice_test
else
# https://sourceforge.net/p/ngspice/bugs/353/
ewarn
ewarn "Skipping tests because they are known to fail in debug mode"
ewarn
fi
}
ngspice_test() {
pushd "${BUILD_DIR}"
default
}