felixaszx 24fe4a3311
db: update to 6.2.32 (#24868)
* db: update to 6.2.32

* db: update patch files

* update dependencies

* db: update license

* gnucobol: wron release number

* gnucobol: fall back to gnu17

* jack2: rebuild

---------

Co-authored-by: Christoph Reiter <reiter.christoph@gmail.com>
2025-07-18 13:19:01 +02:00

265 lines
11 KiB
Bash

# Maintainer: Matthias Gondan <Matthias.Gondan-Rochon@uibk.ac.at>
_realname=swi-prolog
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}-full" "${MINGW_PACKAGE_PREFIX}-${_realname}-core" "${MINGW_PACKAGE_PREFIX}-${_realname}-packages" "${MINGW_PACKAGE_PREFIX}-${_realname}-archive" "${MINGW_PACKAGE_PREFIX}-${_realname}-bdb" "${MINGW_PACKAGE_PREFIX}-${_realname}-pcre2" "${MINGW_PACKAGE_PREFIX}-${_realname}-yaml" "${MINGW_PACKAGE_PREFIX}-${_realname}-ssl" "${MINGW_PACKAGE_PREFIX}-${_realname}-x" "${MINGW_PACKAGE_PREFIX}-${_realname}-python" "${MINGW_PACKAGE_PREFIX}-${_realname}-doc" "${MINGW_PACKAGE_PREFIX}-${_realname}-examples" "${MINGW_PACKAGE_PREFIX}-${_realname}-tests")
pkgver=9.3.24
pkgrel=3
pkgdesc="Prolog environment (mingw-w64)"
arch=(any)
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
url="https://www.swi-prolog.org/"
msys2_references=("cpe: cpe:/a:swi-prolog:swi-prolog")
license=('spdx:BSD-2-Clause')
depends=("${MINGW_PACKAGE_PREFIX}-cc-libs"
"${MINGW_PACKAGE_PREFIX}-gmp"
"${MINGW_PACKAGE_PREFIX}-libwinpthread"
"${MINGW_PACKAGE_PREFIX}-zlib")
optdepends=("${MINGW_PACKAGE_PREFIX}-readline: support for readline")
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
"${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-ninja"
"${MINGW_PACKAGE_PREFIX}-pkgconf"
"${MINGW_PACKAGE_PREFIX}-readline"
"${MINGW_PACKAGE_PREFIX}-libarchive"
"${MINGW_PACKAGE_PREFIX}-pcre2"
"${MINGW_PACKAGE_PREFIX}-db"
"${MINGW_PACKAGE_PREFIX}-libyaml"
"${MINGW_PACKAGE_PREFIX}-openssl"
"${MINGW_PACKAGE_PREFIX}-openjpeg2"
"${MINGW_PACKAGE_PREFIX}-python")
source=("https://www.swi-prolog.org/download/devel/src/swipl-${pkgver}.tar.gz")
sha256sums=('c1d570c30564a4b8db4d4bbf467c5c6c0da82664ec9ea09cd6f0415df1f505d5')
build() {
mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}"
declare -a extra_config
if check_option "debug" "n"; then
extra_config+=("-DCMAKE_BUILD_TYPE=Release")
else
extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
fi
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
"${MINGW_PREFIX}"/bin/cmake \
-G Ninja \
-DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \
-DCMAKE_DLL_NAME_WITH_SOVERSION=ON \
-DMSYS2=1 \
"${extra_config[@]}" \
-DUSE_GMP=ON \
-DSWIPL_PACKAGES_JAVA=OFF \
-DSWIPL_PACKAGES_ODBC=OFF \
-DBUILD_TESTING=ON \
-DINSTALL_TESTS=ON \
-DSWIPL_{SHARED,STATIC}_LIB=ON \
-DPython_EXECUTABLE=${MINGW_PREFIX}/bin/python \
../swipl-${pkgver}
"${MINGW_PREFIX}"/bin/cmake.exe --build .
}
check() {
cd "${srcdir}"/build-${MSYSTEM}
PYTHONHOME="${MINGW_PREFIX}" "${MINGW_PREFIX}"/bin/ctest
}
package_swi-prolog-core() {
pkgdesc="SWI-Prolog core system and compiler"
conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}<9.2.6")
cd "${srcdir}/build-${MSYSTEM}"
DESTDIR="${pkgdir}" "${MINGW_PREFIX}"/bin/cmake -DCMAKE_INSTALL_COMPONENT=Core_system -P cmake_install.cmake
# Remove tests, they are in a separate package
rm -Rf "${pkgdir}${MINGW_PREFIX}/lib/swipl/test"
# Remove path reference in cmake and .pc files
local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX})
for _f in "${pkgdir}${MINGW_PREFIX}"/lib/cmake/**/*.cmake; do
sed -e "s|${PREFIX_WIN}|\$\{_IMPORT_PREFIX\}|g" -i ${_f}
sed -e "s|${MINGW_PREFIX}|\$\{_IMPORT_PREFIX\}|g" -i ${_f}
done
for pcfile in "${pkgdir}${MINGW_PREFIX}"/share/pkgconfig/*.pc; do
sed -s "s|${MINGW_PREFIX}/lib|\${prefix}/lib|g" -i "${pcfile}"
done
install -Dm644 "${srcdir}"/swipl-${pkgver}/LICENSE "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE
}
package_swi-prolog-packages() {
pkgdesc="Base packages for SWI-Prolog"
conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}<9.2.6")
depends=("${MINGW_PACKAGE_PREFIX}-${_realname}-core")
cd "${srcdir}/build-${MSYSTEM}"
DESTDIR="${pkgdir}" "${MINGW_PREFIX}"/bin/cmake -DCMAKE_INSTALL_COMPONENT=Core_packages -P cmake_install.cmake
# Remove tests, they are in a separate package
rm -Rf "${pkgdir}${MINGW_PREFIX}/lib/swipl/test"
}
package_swi-prolog-archive() {
depends=("${MINGW_PACKAGE_PREFIX}-${_realname}-core"
"${MINGW_PACKAGE_PREFIX}-libarchive")
conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}<9.2.6")
pkgdesc="Libarchive binding for SWI-Prolog"
cd "${srcdir}/build-${MSYSTEM}"
DESTDIR="${srcdir}"/Archive_interface "${MINGW_PREFIX}"/bin/cmake -DCMAKE_INSTALL_COMPONENT=Archive_interface -P cmake_install.cmake
mkdir -p "${pkgdir}${MINGW_PREFIX}/lib/swipl"
cp -R "${srcdir}/Archive_interface${MINGW_PREFIX}"/lib/swipl/* "${pkgdir}${MINGW_PREFIX}"/lib/swipl/
}
package_swi-prolog-python() {
depends=("${MINGW_PACKAGE_PREFIX}-${_realname}-core"
"${MINGW_PACKAGE_PREFIX}-python")
conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}<9.2.6")
pkgdesc="Python binding for SWI-Prolog"
cd "${srcdir}/build-${MSYSTEM}"
DESTDIR="${srcdir}"/Python_interface "${MINGW_PREFIX}"/bin/cmake -DCMAKE_INSTALL_COMPONENT=Python_interface -P cmake_install.cmake
mkdir -p "${pkgdir}${MINGW_PREFIX}/lib/swipl"
cp -R "${srcdir}/Python_interface${MINGW_PREFIX}"/lib/swipl/* "${pkgdir}${MINGW_PREFIX}"/lib/swipl/
}
package_swi-prolog-x() {
depends=("${MINGW_PACKAGE_PREFIX}-${_realname}-core"
"${MINGW_PACKAGE_PREFIX}-openjpeg2")
conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}<9.2.6")
pkgdesc="Graphics subsystem for SWI-Prolog"
cd "${srcdir}/build-${MSYSTEM}"
DESTDIR="${srcdir}"/Graphics_subsystem "${MINGW_PREFIX}"/bin/cmake -DCMAKE_INSTALL_COMPONENT=Graphics_subsystem -P cmake_install.cmake
mkdir -p "${pkgdir}${MINGW_PREFIX}/lib/swipl"
cp -R "${srcdir}/Graphics_subsystem${MINGW_PREFIX}"/lib/swipl/* "${pkgdir}${MINGW_PREFIX}"/lib/swipl/
}
package_swi-prolog-bdb() {
depends=("${MINGW_PACKAGE_PREFIX}-db"
"${MINGW_PACKAGE_PREFIX}-${_realname}-core")
conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}<9.2.6")
pkgdesc="Berkeley DB interface for SWI-Prolog"
cd "${srcdir}/build-${MSYSTEM}"
DESTDIR="${srcdir}"/BerkeleyDB_interface "${MINGW_PREFIX}"/bin/cmake -DCMAKE_INSTALL_COMPONENT=BerkeleyDB_interface -P cmake_install.cmake
mkdir -p "${pkgdir}${MINGW_PREFIX}/lib/swipl"
cp -R "${srcdir}/BerkeleyDB_interface${MINGW_PREFIX}"/lib/swipl/* "${pkgdir}${MINGW_PREFIX}"/lib/swipl/
}
package_swi-prolog-pcre2() {
depends=("${MINGW_PACKAGE_PREFIX}-${_realname}-core"
"${MINGW_PACKAGE_PREFIX}-pcre2")
conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}<9.2.6")
pkgdesc="Regular expressions for SWI-Prolog"
cd "${srcdir}/build-${MSYSTEM}"
DESTDIR="${srcdir}"/Perl_regex "${MINGW_PREFIX}"/bin/cmake -DCMAKE_INSTALL_COMPONENT=Perl_regex -P cmake_install.cmake
mkdir -p "${pkgdir}${MINGW_PREFIX}/lib/swipl"
cp -R "${srcdir}/Perl_regex${MINGW_PREFIX}"/lib/swipl/* "${pkgdir}${MINGW_PREFIX}"/lib/swipl/
}
package_swi-prolog-yaml() {
depends=("${MINGW_PACKAGE_PREFIX}-${_realname}-core"
"${MINGW_PACKAGE_PREFIX}-libyaml")
conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}<9.2.6")
pkgdesc="YAML support in SWI-Prolog"
cd "${srcdir}/build-${MSYSTEM}"
DESTDIR="${srcdir}"/YAML_support "${MINGW_PREFIX}"/bin/cmake -DCMAKE_INSTALL_COMPONENT=YAML_support -P cmake_install.cmake
mkdir -p "${pkgdir}${MINGW_PREFIX}/lib/swipl"
cp -R "${srcdir}/YAML_support${MINGW_PREFIX}"/lib/swipl/* "${pkgdir}${MINGW_PREFIX}"/lib/swipl/
}
package_swi-prolog-ssl() {
depends=("${MINGW_PACKAGE_PREFIX}-${_realname}-core"
"${MINGW_PACKAGE_PREFIX}-${_realname}-packages"
"${MINGW_PACKAGE_PREFIX}-openssl")
conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}<9.2.6")
pkgdesc="OpenSSL/LibreSSL binding for SWI-Prolog"
cd "${srcdir}/build-${MSYSTEM}"
DESTDIR="${srcdir}"/OpenSSL_interface "${MINGW_PREFIX}"/bin/cmake -DCMAKE_INSTALL_COMPONENT=OpenSSL_interface -P cmake_install.cmake
mkdir -p "${pkgdir}${MINGW_PREFIX}/lib/swipl"
cp -R "${srcdir}/OpenSSL_interface${MINGW_PREFIX}"/lib/swipl/* "${pkgdir}${MINGW_PREFIX}"/lib/swipl/
}
package_swi-prolog-doc() {
depends=("${MINGW_PACKAGE_PREFIX}-${_realname}-core"
"${MINGW_PACKAGE_PREFIX}-${_realname}-packages")
conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}<9.2.6")
pkgdesc="Documentation for SWI-Prolog"
cd "${srcdir}/build-${MSYSTEM}"
DESTDIR="${srcdir}"/Documentation "${MINGW_PREFIX}"/bin/cmake -DCMAKE_INSTALL_COMPONENT=Documentation -P cmake_install.cmake
mkdir -p "${pkgdir}${MINGW_PREFIX}/lib/swipl"
cp -R "${srcdir}/Documentation${MINGW_PREFIX}"/lib/swipl/* "${pkgdir}${MINGW_PREFIX}"/lib/swipl/
}
package_swi-prolog-examples() {
depends=("${MINGW_PACKAGE_PREFIX}-${_realname}-core"
"${MINGW_PACKAGE_PREFIX}-${_realname}-packages")
conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}<9.2.6")
pkgdesc="Examples for SWI-Prolog"
cd "${srcdir}/build-${MSYSTEM}"
DESTDIR="${srcdir}"/Examples "${MINGW_PREFIX}"/bin/cmake -DCMAKE_INSTALL_COMPONENT=Examples -P cmake_install.cmake
mkdir -p "${pkgdir}${MINGW_PREFIX}/lib/swipl"
cp -R "${srcdir}/Examples${MINGW_PREFIX}"/lib/swipl/* "${pkgdir}${MINGW_PREFIX}"/lib/swipl/
}
package_swi-prolog-tests() {
depends=("${MINGW_PACKAGE_PREFIX}-${_realname}-core"
"${MINGW_PACKAGE_PREFIX}-${_realname}-packages")
conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}<9.2.6")
pkgdesc="Unit tests for SWI-Prolog"
cd "${srcdir}/build-${MSYSTEM}"
DESTDIR="$srcdir/install-tests" "${MINGW_PREFIX}"/bin/cmake.exe --install .
mkdir -p "${pkgdir}${MINGW_PREFIX}/lib/swipl"
rm -Rf "$srcdir/install-tests${MINGW_PREFIX}/lib/swipl/test/packages/swipy/tests/__pycache__"
rm -Rf "$srcdir/install-tests${MINGW_PREFIX}/lib/swipl/test/packages/swipy/xsb_tests/__pycache__"
mv "$srcdir/install-tests${MINGW_PREFIX}/lib/swipl/test" "${pkgdir}${MINGW_PREFIX}/lib/swipl/"
}
package_swi-prolog-full() {
depends=("${MINGW_PACKAGE_PREFIX}-${_realname}-core"
"${MINGW_PACKAGE_PREFIX}-${_realname}-packages"
"${MINGW_PACKAGE_PREFIX}-${_realname}-archive"
"${MINGW_PACKAGE_PREFIX}-${_realname}-bdb"
"${MINGW_PACKAGE_PREFIX}-${_realname}-pcre2"
"${MINGW_PACKAGE_PREFIX}-${_realname}-yaml"
"${MINGW_PACKAGE_PREFIX}-${_realname}-ssl"
"${MINGW_PACKAGE_PREFIX}-${_realname}-x"
"${MINGW_PACKAGE_PREFIX}-${_realname}-python"
"${MINGW_PACKAGE_PREFIX}-${_realname}-doc"
"${MINGW_PACKAGE_PREFIX}-${_realname}-examples"
"${MINGW_PACKAGE_PREFIX}-${_realname}-tests")
provides=("${MINGW_PACKAGE_PREFIX}-${_realname}")
conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}")
replaces=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgdesc="SWI-Prolog (full installation)"
}
# template start; name=mingw-w64-splitpkg-wrappers; version=1.0;
# vim: set ft=bash :
# generate wrappers
for _name in "${pkgname[@]}"; do
_short="package_${_name#${MINGW_PACKAGE_PREFIX}-}"
_func="$(declare -f "${_short}")"
eval "${_func/#${_short}/package_${_name}}"
done
# template end;