blob: 70be1db82cc8a0dd0d8b76b1a98e96f5a2268937 [file] [log] [blame]
# Maintainer: Mario Emmenlauer <memmenlauer@biodataanalysis.de>
# Contributor: Andrew Sun <adsun701@gmail.com>
_realname=protobuf
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=3.16.0
pkgrel=1
pkgdesc="Protocol Buffers - Google's data interchange format (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32')
url='https://developers.google.com/protocol-buffers/'
license=('BSD')
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
"${MINGW_PACKAGE_PREFIX}-zlib")
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-ninja")
options=('strip' '!debug' 'staticlibs')
source=(https://github.com/protocolbuffers/${_realname}/releases/download/v${pkgver}/${_realname}-all-${pkgver}.tar.gz
0001-protobuf-3.1.0-gcc6.2.0-tests.patch
0002-windres-invocation.patch)
sha256sums=('d7371dc2d46fddac1af8cb27c0394554b068768fc79ecaf5be1a1863e8ff3392'
'cb64be6aadaaf3c13a92343827c07254124bcdbfebef2d42c4b54079ed204ed8'
'21c4cddfc1010178f2e4cc25c8cd17cb916186379adcc1c20c49c93408b734ee')
prepare() {
cd "${srcdir}/${_realname}-${pkgver}"
patch -p1 -i ${srcdir}/0001-protobuf-3.1.0-gcc6.2.0-tests.patch
patch -p1 -i ${srcdir}/0002-windres-invocation.patch
}
build() {
declare -a _extra_config
if check_option "debug" "n"; then
_extra_config+=("-DCMAKE_BUILD_TYPE=Release")
else
_extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
fi
echo "Building static library"
[[ -d "${srcdir}/build-${CARCH}-static" ]] && rm -rf "${srcdir}/build-${CARCH}-static"
cp -rf "${srcdir}/${_realname}-${pkgver}" "${srcdir}/build-${CARCH}-static"
cd "${srcdir}/build-${CARCH}-static"
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake.exe \
-Wno-dev \
-G"Ninja" \
-DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \
"${_extra_config[@]}" \
-DCMAKE_SKIP_RPATH="ON" \
-Dprotobuf_MSVC_STATIC_RUNTIME="ON" \
-DBUILD_SHARED_LIBS="OFF" \
-Dprotobuf_BUILD_TESTS="OFF" \
-Dprotobuf_WITH_ZLIB="ON" \
cmake
${MINGW_PREFIX}/bin/cmake.exe --build ./
echo "Building shared library"
[[ -d "${srcdir}/build-${CARCH}-shared" ]] && rm -rf "${srcdir}/build-${CARCH}-shared"
cp -rf "${srcdir}/${_realname}-${pkgver}" "${srcdir}/build-${CARCH}-shared"
cd "${srcdir}/build-${CARCH}-shared"
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake.exe \
-Wno-dev \
-G"Ninja" \
-DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \
"${_extra_config[@]}" \
-DCMAKE_SKIP_RPATH="ON" \
-Dprotobuf_MSVC_STATIC_RUNTIME="ON" \
-DBUILD_SHARED_LIBS="ON" \
-Dprotobuf_BUILD_TESTS="OFF" \
-Dprotobuf_WITH_ZLIB="ON" \
cmake
${MINGW_PREFIX}/bin/cmake.exe --build ./
}
package() {
cd "${srcdir}/build-${CARCH}-static"
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --build ./ --target install
cd "${srcdir}/build-${CARCH}-shared"
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --build ./ --target install
install -Dm644 "${srcdir}/${_realname}-${pkgver}/LICENSE" "${pkgdir}/${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE"
}