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
+5 -2
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
@@ -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;
@@ -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
@@ -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
}
+29
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>