mirror of
https://github.com/termux-pacman/termux-packages.git
synced 2026-01-08 20:03:20 +00:00
fix(main/{libprotobuf,protobuf-static}): fix conflicts and provide licenses
- `libprotobuf`: - conflict with `protobuf-static` (because of `libupb.a`) - add license file for `libutf8-range` - `protobuf-static`: - align `TERMUX_PKG_REVISION` with `libprotobuf` - conflict with `libprotobuf` (because of `libupb.a`) - provide its own `libutf8-range` and `protoc` (because of conflict with `libprotobuf` preventing it from depending on `protobuf` [which is `protoc`]) - add license file for `libutf8-range`
This commit is contained in:
@@ -2,28 +2,32 @@ TERMUX_PKG_HOMEPAGE=https://github.com/protocolbuffers/protobuf
|
||||
TERMUX_PKG_DESCRIPTION="Protocol buffers C++ library"
|
||||
# utf8_range is licensed under MIT
|
||||
TERMUX_PKG_LICENSE="BSD 3-Clause, MIT"
|
||||
TERMUX_PKG_LICENSE_FILE="LICENSE"
|
||||
TERMUX_PKG_LICENSE_FILE="
|
||||
LICENSE
|
||||
third_party/utf8_range/LICENSE
|
||||
"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
# When bumping version:
|
||||
# - update SHA256 checksum for $_PROTOBUF_ZIP in
|
||||
# $TERMUX_SCRIPTDIR/scripts/build/setup/termux_setup_protobuf.sh
|
||||
# - ALWAYS bump revision of reverse dependencies and rebuild them.
|
||||
TERMUX_PKG_VERSION="2:30.0"
|
||||
TERMUX_PKG_REVISION=1
|
||||
TERMUX_PKG_REVISION=2
|
||||
TERMUX_PKG_SRCURL=https://github.com/protocolbuffers/protobuf/archive/v${TERMUX_PKG_VERSION#*:}.tar.gz
|
||||
TERMUX_PKG_SHA256=9df0e9e8ebe39f4fbbb9cf7db3d811287fe3616b2f191eb2bf5eaa12539c881f
|
||||
TERMUX_PKG_AUTO_UPDATE=false
|
||||
TERMUX_PKG_DEPENDS="abseil-cpp, libc++, zlib"
|
||||
TERMUX_PKG_BREAKS="libprotobuf-dev, protobuf-static (<< ${TERMUX_PKG_VERSION#*:}), libutf8-range"
|
||||
TERMUX_PKG_REPLACES="libprotobuf-dev, libutf8-range"
|
||||
TERMUX_PKG_BREAKS="libprotobuf-dev, protobuf-static, libutf8-range"
|
||||
TERMUX_PKG_REPLACES="libprotobuf-dev, protobuf-static, libutf8-range"
|
||||
TERMUX_PKG_CONFLICTS="protobuf-static"
|
||||
TERMUX_PKG_FORCE_CMAKE=true
|
||||
TERMUX_PKG_NO_STATICSPLIT=true
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
|
||||
-Dprotobuf_ABSL_PROVIDER=package
|
||||
-Dprotobuf_BUILD_TESTS=OFF
|
||||
-DBUILD_SHARED_LIBS=ON
|
||||
-DCMAKE_INSTALL_LIBDIR=lib
|
||||
"
|
||||
TERMUX_PKG_NO_STATICSPLIT=true
|
||||
|
||||
termux_step_post_get_source() {
|
||||
# Version guard
|
||||
@@ -35,9 +39,6 @@ termux_step_post_get_source() {
|
||||
}
|
||||
|
||||
termux_step_post_make_install() {
|
||||
install -Dm600 -t $TERMUX_PREFIX/share/doc/libutf8-range \
|
||||
$TERMUX_PKG_SRCDIR/third_party/utf8_range/LICENSE
|
||||
|
||||
# Copy lib/*.cmake to opt/protobuf-cmake/shared for future use
|
||||
mkdir -p $TERMUX_PREFIX/opt/protobuf-cmake/shared
|
||||
cp $TERMUX_PREFIX/lib/cmake/protobuf/protobuf-targets{,-release}.cmake \
|
||||
|
||||
@@ -5,4 +5,3 @@ lib/libprotoc.so*
|
||||
lib/pkgconfig/protobuf-lite.pc
|
||||
"
|
||||
TERMUX_SUBPKG_DESCRIPTION="Compiler for protocol buffer definition files"
|
||||
|
||||
|
||||
@@ -1,23 +1,22 @@
|
||||
TERMUX_PKG_HOMEPAGE=https://github.com/protocolbuffers/protobuf
|
||||
TERMUX_PKG_DESCRIPTION="Protocol buffers C++ library (static)"
|
||||
TERMUX_PKG_LICENSE="BSD 3-Clause"
|
||||
# utf8_range is licensed under MIT
|
||||
TERMUX_PKG_LICENSE="BSD 3-Clause, MIT"
|
||||
TERMUX_PKG_LICENSE_FILE="
|
||||
LICENSE
|
||||
third_party/utf8_range/LICENSE
|
||||
"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
# Please align the version with `libprotobuf` package.
|
||||
# Please align the version and revision with `libprotobuf` package.
|
||||
TERMUX_PKG_VERSION=30.0
|
||||
TERMUX_PKG_REVISION=2
|
||||
TERMUX_PKG_SRCURL=https://github.com/protocolbuffers/protobuf/archive/v${TERMUX_PKG_VERSION}.tar.gz
|
||||
TERMUX_PKG_SHA256=9df0e9e8ebe39f4fbbb9cf7db3d811287fe3616b2f191eb2bf5eaa12539c881f
|
||||
v_proto_version_shared=$(. $TERMUX_SCRIPTDIR/packages/libprotobuf/build.sh; echo ${TERMUX_PKG_VERSION})
|
||||
v_proto_version_revision=$(TERMUX_PKG_REVISION=0; . $TERMUX_SCRIPTDIR/packages/libprotobuf/build.sh; echo ${TERMUX_PKG_REVISION})
|
||||
v_proto_extract_version="${v_proto_version_shared}-${v_proto_version_revision}"
|
||||
if [ "$v_proto_version_revision" = 0 ]; then
|
||||
v_proto_extract_version="${v_proto_version_shared}"
|
||||
fi
|
||||
TERMUX_PKG_DEPENDS="abseil-cpp, protobuf (= ${v_proto_extract_version})"
|
||||
unset v_proto_version_shared v_proto_version_revision v_proto_extract_version
|
||||
TERMUX_PKG_BUILD_DEPENDS="libc++, zlib"
|
||||
TERMUX_PKG_BREAKS="libprotobuf (<< 2:21.12)"
|
||||
TERMUX_PKG_REPLACES="libprotobuf (<< 2:21.12)"
|
||||
TERMUX_PKG_CONFLICTS="protobuf-dev"
|
||||
TERMUX_PKG_AUTO_UPDATE=false
|
||||
TERMUX_PKG_DEPENDS="abseil-cpp, libc++, zlib"
|
||||
TERMUX_PKG_BREAKS="libprotobuf"
|
||||
TERMUX_PKG_REPLACES="libprotobuf"
|
||||
TERMUX_PKG_CONFLICTS="libprotobuf, protobuf-dev"
|
||||
TERMUX_PKG_NO_STATICSPLIT=true
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
|
||||
-Dprotobuf_ABSL_PROVIDER=package
|
||||
@@ -35,33 +34,9 @@ termux_step_post_get_source() {
|
||||
fi
|
||||
}
|
||||
|
||||
termux_step_pre_configure() {
|
||||
# Version guard
|
||||
local ver_shared=$(. $TERMUX_SCRIPTDIR/packages/libprotobuf/build.sh; echo ${TERMUX_PKG_VERSION#*:})
|
||||
local ver_static=${TERMUX_PKG_VERSION#*:}
|
||||
if [ "${ver_shared}" != "${ver_static}" ]; then
|
||||
termux_error_exit "Version mismatch between libprotobuf and protobuf-static."
|
||||
fi
|
||||
}
|
||||
|
||||
termux_step_post_make_install() {
|
||||
# Copy lib/*.cmake to opt/protobuf-cmake/static for future use
|
||||
mkdir -p $TERMUX_PREFIX/opt/protobuf-cmake/static
|
||||
cp $TERMUX_PREFIX/lib/cmake/protobuf/protobuf-targets{,-release}.cmake \
|
||||
$TERMUX_PREFIX/opt/protobuf-cmake/static/
|
||||
}
|
||||
|
||||
termux_step_post_massage() {
|
||||
find . ! -type d \
|
||||
! -wholename "./lib/*.a" \
|
||||
! -wholename "./lib/cmake/protobuf/protobuf-targets-release.cmake" \
|
||||
! -wholename "./lib/cmake/protobuf/protobuf-targets.cmake" \
|
||||
! -wholename "./opt/protobuf-cmake/static/protobuf-targets-release.cmake" \
|
||||
! -wholename "./opt/protobuf-cmake/static/protobuf-targets.cmake" \
|
||||
! -wholename "./share/doc/$TERMUX_PKG_NAME/*" \
|
||||
-exec rm -f '{}' \;
|
||||
find . ! -type d \
|
||||
-wholename "./lib/libutf8_*" \
|
||||
-exec rm -f '{}' \;
|
||||
find . -type d -empty -delete
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user