92 lines
2.9 KiB
Bash
92 lines
2.9 KiB
Bash
# Maintainer: Nazar Mishturak <nazar m x at gmail dot com>
|
|
|
|
_realname=libbotan
|
|
pkgbase="mingw-w64-${_realname}"
|
|
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
|
|
pkgver=3.9.0
|
|
pkgrel=1
|
|
pkgdesc='Crypto and TLS Library for Modern C++ (mingw-w64)'
|
|
arch=('any')
|
|
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clangarm64')
|
|
url='https://botan.randombit.net/'
|
|
msys2_repository_url='https://github.com/randombit/botan'
|
|
msys2_references=(
|
|
'archlinux: botan'
|
|
"cpe: cpe:/a:botan_project:botan"
|
|
)
|
|
license=('spdx:BSD-2-Clause')
|
|
depends=("${MINGW_PACKAGE_PREFIX}-cc-libs"
|
|
"${MINGW_PACKAGE_PREFIX}-boost"
|
|
"${MINGW_PACKAGE_PREFIX}-bzip2"
|
|
"${MINGW_PACKAGE_PREFIX}-sqlite3"
|
|
"${MINGW_PACKAGE_PREFIX}-zlib"
|
|
"${MINGW_PACKAGE_PREFIX}-xz")
|
|
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
|
|
"${MINGW_PACKAGE_PREFIX}-ninja"
|
|
"${MINGW_PACKAGE_PREFIX}-python")
|
|
source=("https://botan.randombit.net/releases/Botan-${pkgver}.tar.xz"{,.asc}
|
|
'002-winsock-link.patch'
|
|
'003-no-pthread.patch')
|
|
noextract=("Botan-${pkgver}.tar.xz")
|
|
sha256sums=('8c3f284b58ddd42e8e43e9fa86a7129d87ea7c3f776a80d3da63ec20722b0883'
|
|
'SKIP'
|
|
'cf9974f076d91e8f58f7d9688b7ab78cc790720923c73b293871fc7b83fd55c6'
|
|
'080efa1f4c1d004a5055201e67b5c57b62953fcdf87e5a8313da0a2ad108c320')
|
|
validpgpkeys=('621DAF6411E1851C4CF9A2E16211EBF1EFBADFBC') # Botan Distribution Key
|
|
|
|
prepare() {
|
|
cd "${srcdir}"
|
|
# Tarball contains Botan-${pkgver}.tgz/.travis.yml symlink
|
|
bsdtar -xJf "Botan-${pkgver}.tar.xz" || true
|
|
cd "Botan-${pkgver}"
|
|
|
|
patch -p1 -i "${srcdir}/002-winsock-link.patch"
|
|
# https://github.com/randombit/botan/pull/3934#issuecomment-2864372252
|
|
patch -p1 -i "${srcdir}/003-no-pthread.patch"
|
|
}
|
|
|
|
build() {
|
|
[[ -d "${srcdir}"/build-${MSYSTEM} ]] && rm -rf "${srcdir}"/build-${MSYSTEM}
|
|
cp -rf "${srcdir}"/Botan-${pkgver} "${srcdir}"/build-${MSYSTEM} && cd "${srcdir}"/build-${MSYSTEM}
|
|
|
|
local BUILD_TYPE_FLAGS=''
|
|
if check_option 'debug' 'y'; then
|
|
BUILD_TYPE_FLAGS='--with-debug-info'
|
|
fi
|
|
|
|
# See https://github.com/randombit/botan/issues/2582 for an explanation
|
|
# on why --disable-modules=thread_utils is here.
|
|
MSYS2_ARG_CONV_EXCL="--prefix=;--libdir=;--bindir=" \
|
|
${MINGW_PREFIX}/bin/python configure.py \
|
|
--build-tool=ninja \
|
|
--disable-modules=thread_utils \
|
|
--os=mingw \
|
|
--cc=${CC} \
|
|
--prefix=${MINGW_PREFIX} \
|
|
--cpu=${CARCH} \
|
|
${BUILD_TYPE_FLAGS} \
|
|
--link-method=copy \
|
|
--with-boost \
|
|
--with-bzip2 \
|
|
--with-lzma \
|
|
--with-sqlite3 \
|
|
--with-zlib
|
|
|
|
ninja
|
|
}
|
|
|
|
check() {
|
|
cd "${srcdir}/build-${MSYSTEM}"
|
|
./botan-test
|
|
}
|
|
|
|
package() {
|
|
cd "${srcdir}/build-${MSYSTEM}"
|
|
MSYS2_ARG_CONV_EXCL="--prefix=;--libdir=;--bindir=" \
|
|
DESTDIR="${pkgdir}" \
|
|
ninja install
|
|
|
|
MSYS2_ARG_CONV_EXCL="-p" python -m compileall \
|
|
-o 0 -o 1 -q -s"${pkgdir}" -p"/" "${pkgdir}${MINGW_PREFIX}/lib/python"*
|
|
}
|