| # Maintainer: Junjie Mao <eternal.n08@gmail.com> |
| |
| |
| _realname=flexdll |
| pkgbase=mingw-w64-${_realname} |
| pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") |
| pkgver=0.34 |
| pkgrel=2 |
| pkgdesc="An implementation of a dlopen-like API for Windows (mingw-w64)" |
| arch=('any') |
| mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') |
| url='http://alain.frisch.fr/flexdll.html' |
| license=('zlib/libpng License') |
| makedepends=("${MINGW_PACKAGE_PREFIX}-ocaml") |
| source=("http://alain.frisch.fr/flexdll/${_realname}-${pkgver}.tar.gz" |
| "0001-Fix-the-List.hd-exception.patch" |
| "0002-Add-path-to-libcrt2.o-into-the-default-library-searc.patch" |
| "0003-Remove-the-usages-of-stdout-to-workaround-the-missin.patch" |
| "0004-use-lib-flexdll-as-the-default-library-path.patch") |
| sha256sums=('db5e2e97c17ddc9dbb12835b9265e59eeab892fd62d15dcc13f176730b875117' |
| '58df96e5459605342fc6e60a442e23de3841a50743cb2e5a36d3be78d7015fe1' |
| '74aaa64d7c7309393092f64fbd7daf6d6f07f300c98ad1194a028d8d89ae96f7' |
| '3d9470049d1e8070861cf344b6e31caca89c98ab9801483b48d69e81a45c1d1e' |
| 'c5e6d9891557866d1dfaed3a693dfaa294babfbecec1970ac2f51ae9eabc10d8') |
| |
| if [ "${CARCH}" == "i686" ]; then |
| chain="mingw" |
| else |
| chain="mingw64" |
| fi |
| |
| prepare() { |
| cd ${srcdir}/${_realname} |
| |
| patch -p1 -i ${srcdir}/0001-Fix-the-List.hd-exception.patch |
| patch -p1 -i ${srcdir}/0002-Add-path-to-libcrt2.o-into-the-default-library-searc.patch |
| patch -p1 -i ${srcdir}/0003-Remove-the-usages-of-stdout-to-workaround-the-missin.patch |
| patch -p1 -i ${srcdir}/0004-use-lib-flexdll-as-the-default-library-path.patch |
| } |
| |
| build() { |
| [[ -d ${srcdir}/build-${MINGW_CHOST} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST} |
| cp -rf ${_realname} build-${MINGW_CHOST} |
| cd ${srcdir}/build-${MINGW_CHOST} |
| |
| unset FLEXDIR |
| unset OCAMLLIB |
| make flexlink.exe -j1 |
| make build_${chain} -j1 |
| } |
| |
| check() { |
| # The test demo works on x86_64 but fails on i686. Root causes of the failure |
| # is still unknown, but the tool is good enough to be used in other |
| # applications such as ocaml and coq. |
| plain "skip" |
| } |
| |
| package() { |
| cd ${srcdir}/build-${MINGW_CHOST} |
| |
| install -Dm755 flexlink.exe ${pkgdir}${MINGW_PREFIX}/bin/flexlink.exe |
| for f in flexdll_${chain}.o flexdll_initer_${chain}.o flexdll.h flexdll.c flexdll_initer.c default.manifest default_amd64.manifest; do |
| install -D ${f} ${pkgdir}${MINGW_PREFIX}/lib/flexdll/${f} |
| done |
| [ -f LICENSE ] && install -Dm644 LICENSE ${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE |
| [ -f CHANGES ] && install -Dm644 CHANGES ${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/CHANGES |
| } |