173 lines
6.1 KiB
Bash
173 lines
6.1 KiB
Bash
# Contributor: Mehdi Chinoune <mehdi.chinoune@hotmail.com>
|
|
|
|
_realname=gnatcoll-bindings
|
|
pkgbase=mingw-w64-${_realname}
|
|
pkgname=(${MINGW_PACKAGE_PREFIX}-gnatcoll-gmp
|
|
${MINGW_PACKAGE_PREFIX}-gnatcoll-iconv
|
|
${MINGW_PACKAGE_PREFIX}-gnatcoll-lzma
|
|
${MINGW_PACKAGE_PREFIX}-gnatcoll-omp
|
|
${MINGW_PACKAGE_PREFIX}-gnatcoll-python
|
|
${MINGW_PACKAGE_PREFIX}-gnatcoll-readline
|
|
${MINGW_PACKAGE_PREFIX}-gnatcoll-zlib)
|
|
pkgver=25.0.0
|
|
pkgrel=3
|
|
pkgdesc="GNAT Components Collection - Language and library bindings. (mingw-w64)"
|
|
arch=('any')
|
|
mingw_arch=('mingw64' 'ucrt64')
|
|
url="https://github.com/AdaCore/gnatcoll-bindings"
|
|
msys2_references=(
|
|
'aur: gnatcoll-bindings'
|
|
'gentoo: dev-ada/gnatcoll-bindings'
|
|
)
|
|
license=('spdx:GPL-3.0-or-later WITH GCC-exception-3.1')
|
|
depends=("${MINGW_PACKAGE_PREFIX}-gcc-ada"
|
|
"${MINGW_PACKAGE_PREFIX}-gcc-libs"
|
|
"${MINGW_PACKAGE_PREFIX}-gnatcoll-core")
|
|
makedepends=("${MINGW_PACKAGE_PREFIX}-gprbuild"
|
|
"${MINGW_PACKAGE_PREFIX}-gmp"
|
|
"${MINGW_PACKAGE_PREFIX}-libiconv"
|
|
"${MINGW_PACKAGE_PREFIX}-omp"
|
|
"${MINGW_PACKAGE_PREFIX}-python-setuptools"
|
|
"${MINGW_PACKAGE_PREFIX}-readline"
|
|
"${MINGW_PACKAGE_PREFIX}-xz"
|
|
"${MINGW_PACKAGE_PREFIX}-zlib")
|
|
source=("https://github.com/AdaCore/gnatcoll-bindings/archive/v${pkgver}/gnatcoll-bindings-${pkgver}.tar.gz"
|
|
'001-Fix-setup.py-for-cross-volume-builds.patch')
|
|
sha256sums=('80ddd7f20adf45f0e155cd43e0a5ba752020616af0b0700447563776acd688a3'
|
|
'93254d329f0ce785b62d43e772b972b8717ff5536ae960de31dfe796cfc46d01')
|
|
|
|
prepare() {
|
|
cd "${srcdir}/gnatcoll-bindings-${pkgver}"
|
|
|
|
# Fix setup.py, which caused the CI pipeline in github.com/MSYS2/MINGW-packages to fail
|
|
# when the MSYS2 installation and package sources were on different volumes:
|
|
#
|
|
# Traceback:
|
|
# ...
|
|
# File "C:/_/B/src/gnatcoll-bindings-24.0.0/python3/setup.py", line 45, in relocate
|
|
# rel_path = os.path.relpath(path, build_prefix)
|
|
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
# File "<frozen ntpath>", line 778, in relpath
|
|
# ValueError: path is on mount 'D:', start on mount 'C:'
|
|
#
|
|
patch -p1 -i "${srcdir}/001-Fix-setup.py-for-cross-volume-builds.patch"
|
|
|
|
rm -r python && mv python3 python
|
|
|
|
echo "${pkgver}" > "${srcdir}/gnatcoll-bindings-${pkgver}/version_information"
|
|
}
|
|
|
|
build() {
|
|
[[ -d "${srcdir}"/build-${MSYSTEM} ]] && rm -rf "${srcdir}"/build-${MSYSTEM}
|
|
cp -r "${srcdir}/${_realname}-${pkgver}" "${srcdir}"/build-${MSYSTEM}
|
|
cd "${srcdir}"/build-${MSYSTEM}
|
|
|
|
for _lib in gmp iconv lzma omp python zlib; do
|
|
cd ${_lib}
|
|
${MINGW_PREFIX}/bin/python setup.py build --jobs="$(nproc)" --reconfigure
|
|
cd ..
|
|
done
|
|
|
|
cd readline
|
|
${MINGW_PREFIX}/bin/python setup.py build --accept-gpl --jobs="$(nproc)" --reconfigure
|
|
}
|
|
|
|
package_gnatcoll-gmp() {
|
|
pkgdesc="GNAT Components Collection - Bindings to GMP (mingw-w64)"
|
|
depends+=("${MINGW_PACKAGE_PREFIX}-gmp")
|
|
|
|
cd "${srcdir}"/build-${MSYSTEM}/gmp
|
|
|
|
${MINGW_PREFIX}/bin/python setup.py install --prefix="${pkgdir}${MINGW_PREFIX}"
|
|
|
|
install -Dm644 -t "${pkgdir}${MINGW_PREFIX}/share/licenses/gnatcoll-gmp" \
|
|
"${srcdir}/gnatcoll-bindings-${pkgver}"/COPYING*
|
|
}
|
|
|
|
package_gnatcoll-iconv() {
|
|
pkgdesc="GNAT Components Collection - Bindings to Iconv (mingw-w64)"
|
|
depends+=("${MINGW_PACKAGE_PREFIX}-libiconv")
|
|
|
|
cd "${srcdir}"/build-${MSYSTEM}/iconv
|
|
|
|
${MINGW_PREFIX}/bin/python setup.py install --prefix="${pkgdir}${MINGW_PREFIX}"
|
|
|
|
install -Dm644 -t "${pkgdir}${MINGW_PREFIX}/share/licenses/gnatcoll-iconv" \
|
|
"${srcdir}/gnatcoll-bindings-${pkgver}"/COPYING*
|
|
}
|
|
|
|
package_gnatcoll-lzma() {
|
|
pkgdesc="GNAT Components Collection - Bindings to LZMA (mingw-w64)"
|
|
depends+=("${MINGW_PACKAGE_PREFIX}-xz")
|
|
|
|
cd "${srcdir}"/build-${MSYSTEM}/lzma
|
|
|
|
${MINGW_PREFIX}/bin/python setup.py install --prefix="${pkgdir}${MINGW_PREFIX}"
|
|
|
|
install -Dm644 -t "${pkgdir}${MINGW_PREFIX}/share/licenses/gnatcoll-lzma" \
|
|
"${srcdir}/gnatcoll-bindings-${pkgver}"/COPYING*
|
|
}
|
|
|
|
package_gnatcoll-omp() {
|
|
pkgdesc="GNAT Components Collection - Bindings to OpenMP (mingw-w64)"
|
|
depends+=("${MINGW_PACKAGE_PREFIX}-omp")
|
|
|
|
cd "${srcdir}"/build-${MSYSTEM}/omp
|
|
|
|
${MINGW_PREFIX}/bin/python setup.py install --prefix="${pkgdir}${MINGW_PREFIX}"
|
|
|
|
install -Dm644 -t "${pkgdir}${MINGW_PREFIX}/share/licenses/gnatcoll-omp" \
|
|
"${srcdir}/gnatcoll-bindings-${pkgver}"/COPYING*
|
|
}
|
|
|
|
package_gnatcoll-python() {
|
|
pkgdesc="GNAT Components Collection - Bindings to Python (mingw-w64)"
|
|
depends+=("${MINGW_PACKAGE_PREFIX}-python")
|
|
|
|
cd "${srcdir}"/build-${MSYSTEM}/python
|
|
|
|
${MINGW_PREFIX}/bin/python setup.py install --prefix="${pkgdir}${MINGW_PREFIX}"
|
|
|
|
PREFIX_WIN=$(cygpath -m ${MINGW_PREFIX})
|
|
sed -e "s|\"-L${PREFIX_WIN}/lib\", ||g" -i "${pkgdir}"${MINGW_PREFIX}/share/gpr/gnatcoll_python.gpr
|
|
sed -e "s|-I${PREFIX_WIN}/include|-I../../include|g" -i "${pkgdir}"${MINGW_PREFIX}/share/gpr/gnatcoll_python.gpr
|
|
|
|
install -Dm644 -t "${pkgdir}${MINGW_PREFIX}/share/licenses/gnatcoll-python" \
|
|
"${srcdir}/gnatcoll-bindings-${pkgver}"/COPYING*
|
|
}
|
|
|
|
package_gnatcoll-readline() {
|
|
pkgdesc="GNAT Components Collection - Bindings to readline (mingw-w64)"
|
|
depends+=("${MINGW_PACKAGE_PREFIX}-readline")
|
|
|
|
cd "${srcdir}"/build-${MSYSTEM}/readline
|
|
|
|
${MINGW_PREFIX}/bin/python setup.py install --prefix="${pkgdir}${MINGW_PREFIX}"
|
|
|
|
install -Dm644 -t "${pkgdir}${MINGW_PREFIX}/share/licenses/gnatcoll-readline" \
|
|
"${srcdir}/gnatcoll-bindings-${pkgver}"/COPYING*
|
|
}
|
|
|
|
package_gnatcoll-zlib() {
|
|
pkgdesc="GNAT Components Collection - Bindings to Zlib (mingw-w64)"
|
|
depends+=("${MINGW_PACKAGE_PREFIX}-zlib")
|
|
|
|
cd "${srcdir}"/build-${MSYSTEM}/zlib
|
|
|
|
${MINGW_PREFIX}/bin/python setup.py install --prefix="${pkgdir}${MINGW_PREFIX}"
|
|
|
|
install -Dm644 -t "${pkgdir}${MINGW_PREFIX}/share/licenses/gnatcoll-zlib" \
|
|
"${srcdir}/gnatcoll-bindings-${pkgver}"/COPYING*
|
|
}
|
|
|
|
# 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;
|