#!/bin/bash # # kicad.SlackBuild is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License as published by the Free Software # Foundation; either version 2 of the License, or any later version. # # kicad.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along with # this program; if not, write to the Free Software Foundation, Inc., 59 Temple # Place - Suite 330, Boston, MA 02111-1307, USA # # default settings PACKAGE="kicad" PACKAGE_EXT="bz2" VERSION=${VERSION:=7.0.11} BUILD=${BUILD:=1} if [ -f ~/.slackbuildrc ]; then . ~/.slackbuildrc elif [ -f ../../runtime/slackbuildrc ]; then . ../../runtime/slackbuildrc fi check_required # unixODBC conflicts with libiodbc which is an official Slackware package. # We need unixODBC and if libiodbc is installed too, the build will complete # but the eeschema program will not work. So, during build it needs to be # removed. Building kicad is becoming a dependency hell. found=0 SHORT="$(package_name libiodbc)" for installed_package in /var/log/packages/$SHORT* ; do if [ "$(package_name $installed_package)" = "$SHORT" ]; then # found one found=1 break fi done if [ $found == 1 ]; then echo "Conflicting package libiodbc is installed, remove it during this build." echo "Then, reinstall unixODBC" exit 1 fi SRC="kicad-$VERSION.tar.$PACKAGE_EXT" URL="https://gitlab.com/kicad/code/kicad/-/archive/$VERSION/$SRC" get_source $SRC $URL unpack_source $SRC kicad-$VERSION # Build with KICAD_SCRIPTING_WXPYTHON=OFF because the error: # Could not determine wxPython version. Python plugins will not be available. # Upstream blames unsupported distro's but this error popups everywhere, so # it is just some bad programming somewhere in the code. # What can we do when morons do the bugs support and ignore their own faults. # So we disable scripting that we didn't need in previous versions too. echo "compiling source code..." cmake \ -B build \ -G Ninja \ -D CMAKE_BUILD_TYPE=Release \ -D CMAKE_INSTALL_PREFIX=/usr \ -D KICAD_DOCS=/usr/doc/$PACKAGE-$VERSION \ -D KICAD_PLUGINS=/usr/lib${LIBDIRSUFFIX}/$PACKAGE/plugins \ -D KICAD_SCRIPTING_WXPYTHON=OFF \ -D KICAD_USE_EGL=ON \ -D KICAD_BUILD_I18N=ON \ -D KICAD_I18N_UNIX_STRICT_PATH=ON \ -D KICAD_BUILD_QA_TESTS=OFF \ -D KICAD_INSTALL_DEMOS=OFF \ -D KICAD_SPICE=ON \ -W no-dev cmake --build build DESTDIR=$PKG cmake --install build # Add docs to the proper location mkdir -p $DOCS cp -a AUTHORS.txt LICENSE* *.md $DOCS fixup_package $PKG # Clean up the extra stuff: set +u if [ "$1" = "--cleanup" ]; then rm -rf $TMP/$PACKAGE-$VERSION rm -rf $PKG fi