1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 19:47:34 +00:00

Ports: Add abseil and protobuf

Abseil's Serenity support is a little limited:
- No support for any timezone shenanigans since protobuf hopefully
  doesn't use those. For now, abseil will always believe to be in UTC on
  Serenity.
- In most places where explicit platforms need to be added to a list of
  supported platforms, Serenity will be missing. Again I only added the
  ones that are required for protobuf.
This commit is contained in:
kleines Filmröllchen 2023-10-03 13:32:23 +02:00 committed by Tim Schumacher
parent 68b4a75ad2
commit 181cd8fb0c
9 changed files with 261 additions and 0 deletions

29
Ports/protobuf/package.sh Executable file
View file

@ -0,0 +1,29 @@
#!/usr/bin/env -S bash ../.port_include.sh
port='protobuf'
useconfigure='true'
version='24.3'
depends=(
'abseil'
'zlib'
)
configopts=(
"-DCMAKE_TOOLCHAIN_FILE=${SERENITY_BUILD_DIR}/CMakeToolchain.txt"
'-Dprotobuf_BUILD_TESTS=OFF'
# Don't use Protobuf's internal abseil, which is missing from the archive anyways.
'-Dprotobuf_ABSL_PROVIDER=package'
)
files=(
"git+https://github.com/protocolbuffers/protobuf.git#v${version}"
)
configure() {
run cmake -B build -G Ninja . "${configopts[@]}"
}
build() {
run cmake --build build
}
install() {
run cmake --install build
}