| # Maintainer: Some One <some.one@some.email.com> |
| |
| _realname=z3 |
| pkgbase=mingw-w64-${_realname} |
| pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") |
| pkgver=4.8.9 |
| pkgrel=2 |
| pkgdesc="Z3 is a high-performance theorem prover being developed at Microsoft Research (mingw-w64)" |
| arch=('any') |
| mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') |
| url="https://github.com/Z3Prover/z3" |
| license=('MIT') |
| makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" |
| "${MINGW_PACKAGE_PREFIX}-python3") |
| options=('strip' 'staticlibs') |
| source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/Z3Prover/z3/archive/z3-${pkgver}.tar.gz" |
| 001-mingw-fixes.patch |
| 003-fix-dll-exports.patch |
| 004-fix-python-bindings-install.patch |
| 005-fix-clang.patch) |
| sha256sums=('c9fd04b9b33be74fffaac3ec2bc2c320d1a4cc32e395203c55126b12a14ff3f4' |
| '78554202e1071d5686aed96336ad1020d6249f6d9080c2a7862cb7f72b51379c' |
| 'ce01668afae8e60c32a0d7937d3f8f67a7dc23aa4270913d157e676d061dfe6a' |
| '7c73e0b6afac99948ca383a709668ae753b8034139332503c8f2d0e310382ac6' |
| '51c2d1071845efbe29e2b38124d7ce7ef210e8441294cd2d53df65348874118a') |
| |
| apply_patch_with_msg() { |
| for _fname in "$@" |
| do |
| msg2 "Applying ${_fname}" |
| patch -Nbp1 -i "${srcdir}"/${_fname} |
| done |
| } |
| |
| prepare() { |
| cd "${srcdir}"/${_realname}-${_realname}-${pkgver} |
| apply_patch_with_msg \ |
| 001-mingw-fixes.patch \ |
| 003-fix-dll-exports.patch \ |
| 004-fix-python-bindings-install.patch \ |
| 005-fix-clang.patch |
| } |
| |
| build() { |
| local -a extra_config |
| |
| if check_option "debug" "y"; then |
| extra_config+=(-DCMAKE_BUILD_TYPE=Debug) |
| VERBOSE="VERBOSE=1" |
| else |
| extra_config+=(-DCMAKE_BUILD_TYPE=Release) |
| fi |
| |
| [[ -d "${srcdir}"/build-${CARCH}-static ]] && rm -rf "${srcdir}"/build-${CARCH}-static |
| mkdir -p "${srcdir}"/build-${CARCH}-static && cd "${srcdir}"/build-${CARCH}-static |
| |
| msg "Build static z3" |
| MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ |
| ${MINGW_PREFIX}/bin/cmake.exe \ |
| -G"MSYS Makefiles" \ |
| -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ |
| -DZ3_BUILD_LIBZ3_SHARED=OFF \ |
| -DPYTHON_EXECUTABLE=${MINGW_PREFIX}/bin/python3.exe \ |
| "${extra_config[@]}" \ |
| ../${_realname}-${_realname}-${pkgver} |
| |
| make |
| |
| [[ -d "${srcdir}"/build-${CARCH}-shared ]] && rm -rf "${srcdir}"/build-${CARCH}-shared |
| mkdir -p "${srcdir}"/build-${CARCH}-shared && cd "${srcdir}"/build-${CARCH}-shared |
| |
| msg "Build shared z3" |
| MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ |
| ${MINGW_PREFIX}/bin/cmake.exe \ |
| -G"MSYS Makefiles" \ |
| -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ |
| -DZ3_BUILD_LIBZ3_SHARED=ON \ |
| -DBUILD_PYTHON_BINDINGS=ON \ |
| -DPYTHON_EXECUTABLE=${MINGW_PREFIX}/bin/python3.exe \ |
| "${extra_config[@]}" \ |
| ../${_realname}-${_realname}-${pkgver} |
| |
| make |
| } |
| |
| check() { |
| cd "${srcdir}"/build-${CARCH}-shared |
| make test-z3 || true |
| } |
| |
| package() { |
| cd "${srcdir}"/build-${CARCH}-static |
| make install DESTDIR="${pkgdir}" |
| |
| cd "${srcdir}"/build-${CARCH}-shared |
| make install DESTDIR="${pkgdir}" |
| |
| install -Dm644 ${srcdir}/${_realname}-${_realname}-${pkgver}/LICENSE.txt ${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE.txt |
| } |