* update leveldb to 1.23-4

This commit is contained in:
Alexander Baldeck 2024-12-17 14:36:14 +01:00
parent 71ed66056e
commit f971c94451
3 changed files with 46 additions and 41 deletions

View File

@ -1,5 +1,3 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f8285b8..352ba35 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -296,20 +296,12 @@ if(LEVELDB_BUILD_TESTS)

View File

@ -0,0 +1,13 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -72,8 +72,8 @@ else(CMAKE_CXX_COMPILER_ID STREQUAL "MSV
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions")
# Disable RTTI.
- string(REGEX REPLACE "-frtti" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
+ #string(REGEX REPLACE "-frtti" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
endif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
# Test whether -Wthread-safety is available. See

View File

@ -1,59 +1,53 @@
# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
# Maintainer: Dave Reisner <dreisner@archlinux.org>
# Maintainer : Daniel Bermond <dbermond@archlinux.org>
# Contributor: Dave Reisner <dreisner@archlinux.org>
# Contributor: feydaykyn <feydaykyn@yahoo.fr>
pkgname=leveldb
pkgver=1.23
pkgrel=3.1
pkgrel=4
pkgdesc="A fast and lightweight key/value database library"
arch=(x86_64 powerpc64le powerpc)
url="https://github.com/google/leveldb"
license=('BSD')
arch=(x86_64 powerpc64le powerpc64 powerpc riscv64)
url='https://github.com/google/leveldb/'
license=('BSD-3-Clause')
depends=('snappy')
makedepends=('cmake')
checkdepends=('gmock' 'benchmark')
source=("$pkgname-$pkgver.tar.gz::https://github.com/google/leveldb/archive/$pkgver.tar.gz"
leveldb-unbundle-gtest-benchmark.patch
leveldb-1.23-remove-benchmark-dep.patch)
makedepends=('cmake' 'gmock' 'benchmark')
source=("https://github.com/google/leveldb/archive/${pkgver}/${pkgname}-${pkgver}.tar.gz"
'010-leveldb-unbundle-gtest-and-benchmark.patch'
'020-leveldb-do-not-disable-rtti.patch')
sha256sums=('9a37f8a6174f09bd622bc723b55881dc541cd50747cbd08831c2a82d620f6d76'
'4183dc3b5c17a0cb5fb66ada179b9bd2b43e997d3a9c854d19cf892ea6e524b9'
'c718da146ae57fabb541cc85cbf46a6acbf5a9e048a04aed5f1ed4165c2add31')
'5625cd79df19ef4444a05a222b51be20c91da28d15389b929c6d5475f5fabbd1'
'2046e9c93ce1df09715b432d7205dbdd7036049a079663d5c973a7d67eaab02d')
prepare() {
patch -d $pkgname-$pkgver -p1 < leveldb-1.23-remove-benchmark-dep.patch
patch -d $pkgname-$pkgver -p1 < leveldb-unbundle-gtest-benchmark.patch # Unbundle GTest and benchmark
sed -e '/fno-rtti/d' -i $pkgname-$pkgver/CMakeLists.txt # Don't disable RTTI, needed for ceph
patch -d "${pkgname}-${pkgver}" -Np1 -i "${srcdir}/010-leveldb-unbundle-gtest-and-benchmark.patch"
# don't disable RTTI, needed for ceph
patch -d "${pkgname}-${pkgver}" -Np1 -i "${srcdir}/020-leveldb-do-not-disable-rtti.patch"
}
build() {
case "${CARCH}" in
powerpc*|riscv64)
_cmake_options=(-DLEVELDB_BUILD_BENCHMARKS=OFF -DLEVELDB_BUILD_TESTS=OFF)
;;
esac
cmake -B build -S $pkgname-$pkgver \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_SHARED_LIBS=1 ${_cmake_options[@]}
cmake --build build
cmake -B build -S "${pkgname}-${pkgver}" \
-G 'Unix Makefiles' \
-DCMAKE_BUILD_TYPE:STRING='None' \
-DCMAKE_INSTALL_PREFIX:PATH='/usr' \
-DCMAKE_CXX_STANDARD:STRING='17' \
-DBUILD_SHARED_LIBS:BOOL='1' \
-Wno-dev
cmake --build build
}
check() {
case "${CARCH}" in
powerpc*|riscv64) ;;
*)
cmake --build build --target test
;;
esac
ctest --test-dir build --output-on-failure
}
package() {
DESTDIR="$pkgdir" cmake --install build
# documentation
install -dm755 "$pkgdir"/usr/share/doc/$pkgname
cp -dr --no-preserve=ownership $pkgname-$pkgver/doc/* "$pkgdir"/usr/share/doc/$pkgname
# license
install -Dm644 $pkgname-$pkgver/LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname
DESTDIR="$pkgdir" cmake --install build
# documentation
install -d -m755 "${pkgdir}/usr/share/doc/${pkgname}"
cp -dr --no-preserve='ownership' "${pkgname}-${pkgver}/doc"/* "${pkgdir}/usr/share/doc/${pkgname}"
# license
install -D -m644 "${pkgname}-${pkgver}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}"
}