Files
LFS-PKGBUILDs/dev-libs/protobuf-31.1.PKGBUILD

59 lines
1.9 KiB
Bash

pkgname=protobuf
pkgver=31.1
pkgdesc="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
homepage="https://protobuf.dev/"
license=("BSD")
depends=(abseil-cpp zlib)
_patches=("${pkgname}-30.0-findJsonCpp.patch")
_patch_sums=("e3212111ada7f0a9dba717c70a9257b366a9cb6dfecfbcb67cf76645dcecf653cfb23b99ac394be16fa9c3baa8439be59ef5fa64631f31263da6c82c875665a5")
sources=("${pkgname}-${pkgver}.tar.gz"
"FindJsonCpp.cmake"
"${_patches[@]}"
)
urls=("https://github.com/protocolbuffers/protobuf/releases/download/v${pkgver}/${sources[0]}"
"FindJsonCpp.cmake"
"${_patches[@]}"
)
sha512sums=("5bf730e37183defcb29cf4831128f536ad8bcdce2b2b46b297d95f3de4a037b9ff3b6c57df66a039256dcefd828ba9d43c32b01a7a82aa5c881a9ae12cadb643"
"4a824ac0a73eebf622f999c4a78add515fea92eb44e6a1bc754343567e747f5258ca0d1c600644c67691583779a9cad814a6daf983e666c389fcaa90a2ec0aa6"
"${_patch_sums[@]}"
)
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
for _patch in ${_patches[@]}; do
patch -p1 -i ${filedir}/${_patch}
done
cp "${filedir}/FindJsonCpp.cmake" cmake
}
src_build() {
local cmake_args=(
-D CMAKE_BUILD_TYPE=release
-D CMAKE_INSTALL_PREFIX=/usr
-D protobuf_BUILD_CONFORMANCE=no
-D protobuf_BUILD_LIBPROTOC=yes
-D protobuf_BUILD_LIBUPB=yes
-D protobuf_BUILD_PROTOBUF_BINARIES=yes
-D protobuf_BUILD_PROTOC_BINARIES=yes
-D protobuf_BUILD_SHARED_LIBS="yes"
-D protobuf_BUILD_TESTS=no
-D protobuf_DISABLE_RTTI="no"
-D protobuf_INSTALL="yes"
-D protobuf_TEST_XML_OUTDIR=no
-D protobuf_WITH_ZLIB=yes
-D protobuf_VERBOSE=no
-D CMAKE_MODULE_PATH="cmake"
-D protobuf_LOCAL_DEPENDENCIES_ONLY="yes"
)
cmake -B build "${cmake_args[@]}"
cmake --build build
}
src_install() {
DESTDIR="$pkgdir" cmake --install build
install -vDm644 editors/proto.vim -t "${pkgdir}"/usr/share/vim/vimfiles/syntax
}
# vim:ft=sh syn=sh et sw=2: