void-packages/srcpkgs/protobuf26/template

125 lines
3.2 KiB
Bash

# Template file for 'protobuf26'
pkgname=protobuf26
version=3.15.8
revision=1
wrksrc="protobuf-${version}"
build_style=gnu-configure
hostmakedepends="pkg-config automake libtool"
makedepends="zlib-devel"
short_desc="Protocol buffers compiler"
maintainer="Andrew J. Hesford <ajh@sideband.org>"
license="BSD-3-Clause"
homepage="https://developers.google.com/protocol-buffers/"
changelog="https://raw.githubusercontent.com/google/protobuf/master/CHANGES.txt"
distfiles="https://github.com/protocolbuffers/protobuf/archive/v${version}.tar.gz"
checksum=0cbdc9adda01f6d2facc65a22a2be5cecefbefe5a09e5382ee8879b522c04441
# Switch to versioned package
conflicts="protobuf18>=0 protobuf23>=0 protobuf24>=0 protobuf25>=0"
replaces="protobuf<=3.11.4_1 ${conflicts}"
if [ "$CROSS_BUILD" ]; then
# needs host protoc
hostmakedepends+=" ${pkgname}"
configure_args+=" --with-protoc=/usr/bin/protoc"
fi
if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
makedepends+=" libatomic-devel"
LDFLAGS+=" -latomic"
fi
pre_configure() {
autoreconf -fi
}
do_configure() {
# configure doesn't set proper linker flags when discovering pthread
PTHREAD_LIBS="-pthread" PTHREAD_CFLAGS="-pthread" ./configure ${configure_args}
}
post_install() {
vlicense LICENSE
}
libprotobuf26_package() {
short_desc="Protocol buffers C++ library"
pkg_install() {
vmove "usr/lib/libprotobuf.so.*"
vlicense LICENSE
}
}
libprotobuf26-lite_package() {
short_desc="Protocol buffers C++ library (lite version)"
pkg_install() {
vmove "usr/lib/libprotobuf-lite.so.*"
vlicense LICENSE
}
}
libprotoc26_package() {
short_desc="Protocol buffers compiler library"
pkg_install() {
vmove "usr/lib/libprotoc.so.*"
vlicense LICENSE
}
}
libprotoc26-devel_package() {
depends="libprotoc26-${version}_${revision}"
short_desc="Protocol buffers compiler library - development files"
# Switch to versioned package
conflicts="libprotoc18-devel>=0 libprotoc23-devel>=0
libprotoc24-devel>=0 libprotoc25-devel>=0"
replaces="libprotoc-devel<=3.11.4_1 ${conflicts}"
pkg_install() {
vmove usr/lib/libprotoc.a
vmove usr/lib/libprotoc.so
vmove usr/include/google/protobuf/compiler
}
}
protobuf26-devel_package() {
depends="zlib-devel
libprotobuf26-${version}_${revision}
libprotobuf26-lite-${version}_${revision}"
short_desc="Protocol buffers C++ library - development files"
# Switch to versioned package
conflicts="protobuf18-devel>=0 protobuf23-devel>=0
protobuf24-devel>=0 protobuf25-devel>=0"
replaces="protobuf-devel<=3.11.4_1 ${conflicts}"
pkg_install() {
vmove usr/include
vmove usr/lib/libprotobuf.a
vmove usr/lib/libprotobuf-lite.a
vmove usr/lib/libprotobuf.so
vmove usr/lib/libprotobuf-lite.so
vmove usr/lib/pkgconfig
}
}
protobuf_package() {
build_style=meta
short_desc="Protocol buffers compiler (meta package)"
depends="protobuf26"
}
protobuf-devel_package() {
build_style=meta
short_desc="Protocol buffers C++ library - development files (meta package)"
depends="protobuf26-devel"
}
protobuf-lite_package() {
build_style=meta
short_desc="Protocol buffers C++ library - lite version (meta package)"
depends="libprotobuf26-lite"
}
libprotoc-devel_package() {
build_style=meta
short_desc="Protocol buffers compiler library - development files (meta package)"
depends="libprotoc26-devel"
}