diff --git a/kicad.spec b/kicad.spec index bb0db15..00c4410 100644 --- a/kicad.spec +++ b/kicad.spec @@ -1,6 +1,6 @@ Name: kicad Version: 6.0.8 -Release: 3%{?dist} +Release: 4%{?dist} Epoch: 1 Summary: EDA software suite for creation of schematic diagrams and PCBs @@ -14,6 +14,8 @@ Source3: https://gitlab.com/kicad/libraries/kicad-symbols/-/archive/%{ver Source4: https://gitlab.com/kicad/libraries/kicad-footprints/-/archive/%{version}/kicad-footprints-%{version}.tar.gz Source5: https://gitlab.com/kicad/libraries/kicad-packages3D/-/archive/%{version}/kicad-packages3D-%{version}.tar.gz +Patch1: swig.patch + # https://gitlab.com/kicad/code/kicad/-/issues/237 ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le @@ -91,6 +93,8 @@ Documentation for KiCad. %prep %setup -q -a 1 -a 2 -a 3 -a 4 -a 5 +%patch1 -p1 + %build @@ -223,6 +227,9 @@ appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml %changelog +* Thu Oct 20 2022 Steven A. Falco - 1:6.0.8-4 +- Patch for SWIG 4.1.0 + * Thu Oct 20 2022 Steven A. Falco - 1:6.0.8-3 - Move pcbnew.so a different way diff --git a/swig.patch b/swig.patch new file mode 100644 index 0000000..fe46644 --- /dev/null +++ b/swig.patch @@ -0,0 +1,199 @@ +From 705570923e9c9e4516c3f3a2f98fd44ca44a607f Mon Sep 17 00:00:00 2001 +From: jean-pierre charras +Date: Thu, 20 Oct 2022 17:12:57 +0200 +Subject: Fix some outdated things (mainly about fix_swig_imports.py, useless + with swig version 4) From Master, commit 397a9302. Fixes #12414 + + +diff --git a/pcbnew/CMakeLists.txt b/pcbnew/CMakeLists.txt +index 06c80c5917..c57e4dbfad 100644 +--- a/pcbnew/CMakeLists.txt ++++ b/pcbnew/CMakeLists.txt +@@ -487,9 +487,12 @@ add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/pcbnew_wrap.cxx + COMMAND ${SWIG_EXECUTABLE} + ${SWIG_OPTS} -o ${CMAKE_CURRENT_BINARY_DIR}/pcbnew_wrap.cxx ${CMAKE_SOURCE_DIR}/pcbnew/python/swig/pcbnew.i + +- COMMAND ${PYTHON_EXECUTABLE} +- ${CMAKE_SOURCE_DIR}/scripting/build_tools/fix_swig_imports.py +- ${CMAKE_CURRENT_BINARY_DIR}/pcbnew.py ++ # was needed only with SWIG version < 4 to disable a python section "def swig_import_helper()" ++ # found in pcbnew.py but not existing in SWIG version >= 4 ++ # So it is left here for documentation purpose ++ #COMMAND ${PYTHON_EXECUTABLE} ++ # ${CMAKE_SOURCE_DIR}/tools/build/fix_swig_imports.py ${CMAKE_CURRENT_BINARY_DIR}/pcbnew.py ++ + + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + ) +diff --git a/scripting/build_tools/fix_swig_imports.py b/scripting/build_tools/fix_swig_imports.py +index a869d6dcf6..6c393cd985 100644 +--- a/scripting/build_tools/fix_swig_imports.py ++++ b/scripting/build_tools/fix_swig_imports.py +@@ -1,13 +1,15 @@ + #!/usr/bin/env python + + # the purpose of this script is rewriting the swig_import_helper +-# call so it will not load _xxxxx.so/dso from inside a kicad executable ++# call added by Swig version < 4.0 in pcbnew.py so it will not load ++# _xxxxx.so/dso from inside a kicad executable + # because the kicad executable itself sill provide an _xxxxx module + # that's linked inside itself. + # + # for the normal module import it should work the same way with this + # fix in the swig_import_helper + # ++# For Swig version >= 4.0 this method does not exist so nothing useful is made + + from __future__ import print_function + +diff --git a/scripting/build_tools/get_libngspice_so.sh b/scripting/build_tools/get_libngspice_so.sh +deleted file mode 100755 +index f69f775ca4..0000000000 +--- a/scripting/build_tools/get_libngspice_so.sh ++++ /dev/null +@@ -1,145 +0,0 @@ +-#!/bin/bash +- +-# author: Maciej Suminski +-# contributors: madworm, imcinerney, dimtass +- +-# Set to 1 to pull the tag given by NGSPICE_GIT_TAG +-# Set to 0 to pull the commit with the has given by NGSPICE_GIT_HASH +-USE_GIT_TAG=1 +- +-NGSPICE_GIT_TAG="ngspice-31.3" +-NGSPICE_GIT_HASH="33985ae1e5eff44065a52bea45489a1dba0af8f3" +- +-NGSPICE_GIT="https://git.code.sf.net/p/ngspice/ngspice" +- +-BUILD_DIR="/tmp/libngspice_so" +-SRC_DIR="${BUILD_DIR}/ngspice" +- +-NPROC=1 +- +-if [ -n "${MINGW_PREFIX}" ]; then +- OSTYPE="mingw" +-fi +- +-case "${OSTYPE}" in +- "linux"*) +- CFG_OPTIONS="--enable-openmp" +- ;; +- +- "darwin"*) # OS X +- # ngspice requires bison 2.7, the one in /usr/bin is 2.3 +- export PATH="$(find /usr/local/Cellar/bison -name bin):${PATH}" +- ;; +- +- "mingw"*) +- CFG_OPTIONS="--prefix ${MINGW_PREFIX} --enable-openmp" +- ;; +- +- *) +- echo "ERROR: Could not detect the operating system type." +- echo +- echo "Run:" +- echo "OSTYPE=type ${0}" +- echo "where 'type' is linux (Linux), darwin (OSX) or mingw (MinGW)" +- exit 1 +- ;; +-esac +- +-while getopts "c:ah" option; do +- case "${option}" +- in +- c) NPROC=${OPTARG};; # number of cores +- a) NPROC=$(nproc);; # all threads +- h) cat <" +-echo "contributors: madworm, imcinerney, dimtass" +-echo +-echo "PREREQUISITES: autoconf automake bison flex gcc git libtool make" +-echo +- +-echo "*** Downloading ngspice source code.. ***" +-git clone ${NGSPICE_GIT} +- +-if [ $? != 0 ]; then +- echo "*** An error occurred when downloading the source code ***" +- exit 1 +-fi +- +-if [ -d ${SRC_DIR} ]; then +- cd "${SRC_DIR}" +-else +- echo "*** An error occurred when downloading the source code ***" +- exit 1 +-fi +- +-echo "*** Building libngspice shared library using ${NPROC} core(s).. ***" +-if [ $USE_GIT_TAG == 1 ]; then +- echo "*** Checking out tag ${NGSPICE_GIT_TAG} ***" +- git checkout tags/${NGSPICE_GIT_TAG} +-else +- echo "*** Checking out git commit ${NGSPICE_GIT_HASH} ***" +- git checkout ${NGSPICE_GIT_HASH} +-fi +- +-./autogen.sh +-./configure --with-ngshared --enable-xspice --enable-cider ${CFG_OPTIONS} +-make -j${NPROC} +- +-if [ $? != 0 ]; then +- echo "*** Build failed ***" +- exit 1 +-fi +- +-echo +-echo "*** ngspice shared library has been built successfully! ***" +-echo +-echo "Now, to finish the installation run the script as root with 'install' parameter:" +-echo "sudo $0 install" +-echo +-echo "It can be uninstalled with 'uninstall' parameter:" +-echo "sudo $0 uninstall"