xlnt: Remove unwanted version file in third-party.

This commit is contained in:
Biswapriyo Nath
2021-05-04 23:25:53 +05:30
parent dc9a5c99b4
commit 2fa17a38f9

View File

@@ -4,54 +4,77 @@ _realname=xlnt
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.5.0
pkgrel=1
pkgrel=2
pkgdesc="User-friendly xlsx library for C++14 (mingw-w64)"
url="https://github.com/tfussell/xlnt"
license=('MIT')
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64')
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs")
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
"${MINGW_PACKAGE_PREFIX}-cmake"
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-ninja"
"unzip")
options=('strip' '!debug' 'staticlibs')
source=("${_realname}-${pkgver}.zip"::"https://github.com/tfussell/xlnt/archive/v${pkgver}.zip")
noextract=("${_realname}-${pkgver}.zip") # bsdtar fails extracting the symlinks
sha256sums=('27db56b53745bf40e94edc531eb54ef67a75a40c9acc47609f0d8c8950b46d4c')
prepare() {
unzip -oq "${_realname}-${pkgver}.zip" -d ${srcdir}
# Causes error in clang, not so important
cd "${srcdir}/${_realname}-${pkgver}"
rm "third-party/libstudxml/version"
}
build() {
[[ -d ${srcdir}/build-${MINGW_CHOST} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST}
mkdir ${srcdir}/build-${MINGW_CHOST}
cd ${srcdir}/build-${MINGW_CHOST}
declare -a extra_config
declare -a _extra_config
if check_option "debug" "n"; then
extra_config+=("-DCMAKE_BUILD_TYPE=Release")
_extra_config+=("-DCMAKE_BUILD_TYPE=Release")
else
extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
_extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
fi
for _static in "ON" "OFF"; do
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake \
-G"MSYS Makefiles" \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
"${extra_config[@]}" \
-DSTATIC=${_static} \
-DTESTS=OFF \
../${_realname}-${pkgver}
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"
make
done
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake.exe \
-G "Ninja" \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
-DCMAKE_PREFIX_PATH=${MINGW_PREFIX} \
"${_extra_config[@]}" \
-DSTATIC=ON \
-DTESTS=OFF \
../${_realname}-${pkgver}
${MINGW_PREFIX}/bin/cmake.exe --build ./
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"
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake.exe \
-G "Ninja" \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
-DCMAKE_PREFIX_PATH=${MINGW_PREFIX} \
"${_extra_config[@]}" \
-DSTATIC=OFF \
-DTESTS=OFF \
../${_realname}-${pkgver}
${MINGW_PREFIX}/bin/cmake.exe --build ./
}
package() {
cd ${srcdir}/build-${MINGW_CHOST}
make DESTDIR="${pkgdir}" install
install -Dm644 "source/libxlnt.a" "${pkgdir}${MINGW_PREFIX}/lib/libxlnt.a"
cd "${srcdir}/build-${CARCH}-static"
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --build ./ --target install
install -Dm644 "${srcdir}/${_realname}-${pkgver}/LICENSE.md" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE"
cd "${srcdir}/build-${CARCH}-shared"
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --build ./ --target install
cd "${srcdir}/${_realname}-${pkgver}"
install -Dm644 LICENSE.md "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE"
}