# Template file for 'protobuf'
pkgname=protobuf
version=3.7.1
revision=1
build_style=gnu-configure
hostmakedepends="pkg-config automake libtool"
makedepends="zlib-devel"
short_desc="Protocol buffers compiler"
maintainer="Michael Aldridge <maldridge@voidlinux.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=f1748989842b46fa208b2a6e4e2785133cfcc3e4d43c17fecb023733f0f5443f

if [ "$CROSS_BUILD" ]; then
	# needs host protoc
	hostmakedepends+=" protobuf"
	configure_args+=" --with-protoc=/usr/bin/protoc"
fi

case "$XBPS_TARGET_MACHINE" in
	armv[56]*|mips*|ppc|ppc-musl)
		makedepends+=" libatomic-devel"
		LDFLAGS+=" -latomic"
		;;
esac

pre_configure() {
	autoreconf -fi
}

post_install() {
	vlicense LICENSE
}

libprotobuf18_package() {
	short_desc="Protocol buffers C++ library"
	pkg_install() {
		vmove "usr/lib/libprotobuf.so.*"
		vlicense LICENSE
	}
}

libprotobuf-lite18_package() {
	short_desc="Protocol buffers C++ library (lite version)"
	pkg_install() {
		vmove "usr/lib/libprotobuf-lite.so.*"
		vlicense LICENSE
	}
}

libprotoc18_package() {
	short_desc="Protocol buffers compiler library"
	pkg_install() {
		vmove "usr/lib/libprotoc*.so.*"
		vlicense LICENSE
	}
}

libprotoc-devel_package() {
	depends="libprotoc18-${version}_${revision}"
	short_desc="Protocol buffers compiler library - development files"
	pkg_install() {
		vmove usr/lib/libprotoc.a
		vmove usr/lib/libprotoc.so
		vmove usr/include/google/protobuf/compiler
	}
}

protobuf-devel_package() {
	depends="zlib-devel
	 libprotobuf18-${version}_${revision}
	 libprotobuf-lite18-${version}_${revision}"
	short_desc+="Protocol buffers C++ library - development files"
	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-lite_package() {
	build_style=meta
	short_desc="Protocol buffers C++ library (lite version)"
	depends="libprotobuf-lite18-${version}_${revision}"
	archs=noarch
}
