diff --git a/mingw-w64-tiledb/PKGBUILD b/mingw-w64-tiledb/PKGBUILD new file mode 100644 index 0000000000..2d3c18ec55 --- /dev/null +++ b/mingw-w64-tiledb/PKGBUILD @@ -0,0 +1,81 @@ +_realname=tiledb +pkgbase=mingw-w64-${_realname} +pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" +pkgver=2.2.4 +pkgrel=1 +pkgdesc="Storage management library for sparse and dense array data (mingw-w64)" +arch=("any") +url="https://tiledb.com/" +license=("MIT") +depends=("${MINGW_PACKAGE_PREFIX}-aws-sdk-cpp" + "${MINGW_PACKAGE_PREFIX}-lz4" + "${MINGW_PACKAGE_PREFIX}-bzip2" + "${MINGW_PACKAGE_PREFIX}-zlib" + "${MINGW_PACKAGE_PREFIX}-zstd") +makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" + "${MINGW_PACKAGE_PREFIX}-gcc" + "${MINGW_PACKAGE_PREFIX}-curl") +options=("staticlibs" "strip") + +source=(${_realname}-${pkgver}.tar.gz::"https://github.com/TileDB-Inc/TileDB/archive/${pkgver}.tar.gz") +sha256sums=("a9d1050dc51dcdf9bf1f59961bc957552bc39f51eb01000bf40487dd076c00e2") +noextract=(${_realname}-${pkgver}.tar.gz) + +prepare() { + # Workaround for symlinks in tarball + MSYS="winsymlinks:lnk" tar -xf ${srcdir}/${_realname}-${pkgver}.tar.gz + cd "${srcdir}/${_realname}-${pkgver}" +} + +build() { + # Enable SSE2 (required) on i686 (these are enabled by default on x64) + if [ "$CARCH" == "i686" ]; then + export CFLAGS="-mfpmath=sse -msse2" + export CXXFLAGS="-mfpmath=sse -msse2" + fi + + echo "Building static library" + [[ -d "${srcdir}/build-${CARCH}-static" ]] && rm -rf "${srcdir}/build-${CARCH}-static" + mkdir -p "${srcdir}/build-${CARCH}-static" && cd "${srcdir}/build-${CARCH}-static" + + export MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" + ${MINGW_PREFIX}/bin/cmake.exe \ + -G"MSYS Makefiles" \ + -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + -DCMAKE_BUILD_TYPE=Release \ + -DTILEDB_STATIC=ON \ + -DTILEDB_S3=ON \ + -DBUILD_SHARED_LIBS=OFF \ + ../${_realname}-${pkgver} + + make + make -C tiledb + + echo "Building shared library" + [[ -d "${srcdir}/build-${CARCH}-shared" ]] && rm -rf "${srcdir}/build-${CARCH}-shared" + mkdir -p "${srcdir}/build-${CARCH}-shared" && cd "${srcdir}/build-${CARCH}-shared" + + export MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" + ${MINGW_PREFIX}/bin/cmake.exe \ + -G"MSYS Makefiles" \ + -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + -DCMAKE_BUILD_TYPE=Release \ + -DTILEDB_STATIC=ON \ + -DTILEDB_S3=ON \ + -DBUILD_SHARED_LIBS=ON \ + ../${_realname}-${pkgver} + + make + make -C tiledb +} + +package() { + cd "${srcdir}/build-${CARCH}-static" + make DESTDIR="${pkgdir}" -C tiledb install + + cd "${srcdir}/build-${CARCH}-shared" + make DESTDIR="${pkgdir}" -C tiledb install + + cd "${srcdir}/${_realname}-${pkgver}" + install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE" +}