diff options
author | Gonzalo Exequiel Pedone | 2025-03-18 15:49:44 -0300 |
---|---|---|
committer | Gonzalo Exequiel Pedone | 2025-03-18 15:49:44 -0300 |
commit | 4aa538c2ca71790a22024a6fe7483ddbc30106aa (patch) | |
tree | 1afaa5c81da41acd54d57e89fe3bb60d3cbc31fa | |
download | aur-android-riscv64-snappy.tar.gz |
New package.
-rw-r--r-- | .SRCINFO | 24 | ||||
-rw-r--r-- | .gitignore | 6 | ||||
-rw-r--r-- | 0001-Add-pkgconfig.patch | 24 | ||||
-rw-r--r-- | 0002-Disable-neon.patch | 18 | ||||
-rw-r--r-- | PKGBUILD | 76 | ||||
-rw-r--r-- | snappy.pc.in | 10 |
6 files changed, 158 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..04e19845361f --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,24 @@ +pkgbase = android-riscv64-snappy + pkgdesc = A fast compressor/decompressor library (Android riscv64) + pkgver = 1.2.1 + pkgrel = 1 + url = https://google.github.io/snappy/ + arch = any + groups = android-snappy + license = BSD + makedepends = android-cmake + depends = android-ndk + options = !strip + options = !buildflags + options = staticlibs + options = !emptydirs + source = https://github.com/google/snappy/archive/1.2.1/snappy-1.2.1.tar.gz + source = snappy.pc.in + source = 0001-Add-pkgconfig.patch + source = 0002-Disable-neon.patch + md5sums = dd6f9b667e69491e1dbf7419bdf68823 + md5sums = 52264b05925281c591daea10f937424d + md5sums = de6ce2e289d166971edd67748eedaf3f + md5sums = 8714d144e2b3e3cf9727fcee26b751f7 + +pkgname = android-riscv64-snappy diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..b5b03b115225 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +pkg +src +*.tar.xz +*.tar.gz +*.tar.bz2 +*.asc diff --git a/0001-Add-pkgconfig.patch b/0001-Add-pkgconfig.patch new file mode 100644 index 000000000000..6c3952bdf11e --- /dev/null +++ b/0001-Add-pkgconfig.patch @@ -0,0 +1,24 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -187,6 +187,12 @@ + "${PROJECT_BINARY_DIR}/config.h" + ) + ++configure_file( ++ "${CMAKE_CURRENT_SOURCE_DIR}/snappy.pc.in" ++ "${CMAKE_CURRENT_BINARY_DIR}/snappy.pc" ++ @ONLY ++) ++ + # We don't want to define HAVE_ macros in public headers. Instead, we use + # CMake's variable substitution with 0/1 variables, which will be seen by the + # preprocessor as constants. +@@ -395,4 +401,8 @@ + "${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" + ) ++ install( ++ FILES "${PROJECT_BINARY_DIR}/snappy.pc" ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" ++ ) + endif(SNAPPY_INSTALL) diff --git a/0002-Disable-neon.patch b/0002-Disable-neon.patch new file mode 100644 index 000000000000..04ba74e23805 --- /dev/null +++ b/0002-Disable-neon.patch @@ -0,0 +1,18 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -191,15 +191,6 @@ + return _bzhi_u32(0, 1); + }" SNAPPY_HAVE_BMI2) + +-check_cxx_source_compiles(" +-#include <arm_neon.h> +-int main() { +- uint8_t val = 3, dup[8]; +- uint8x16_t v = vld1q_dup_u8(&val); +- vst1q_u8(dup, v); +- return 0; +-}" SNAPPY_HAVE_NEON) +- + include(CheckSymbolExists) + check_symbol_exists("mmap" "sys/mman.h" HAVE_FUNC_MMAP) + check_symbol_exists("sysconf" "unistd.h" HAVE_FUNC_SYSCONF) diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..ecde2651cd43 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,76 @@ +# Maintainer: Gonzalo Exequiel Pedone <hipersayan DOT x AT gmail DOT com> +# Contributor: Dave Reisner <dreisner@archlinux.org> +# Contributor: Antony Male <antony dot male at geemail dot com>> + +_android_arch=riscv64 + +pkgname=android-${_android_arch}-snappy +pkgver=1.2.1 +pkgrel=1 +arch=('any') +pkgdesc="A fast compressor/decompressor library (Android ${_android_arch})" +url="https://google.github.io/snappy/" +license=('BSD') +groups=('android-snappy') +depends=('android-ndk') +makedepends=('android-cmake') +options=(!strip !buildflags staticlibs !emptydirs) +source=("https://github.com/google/snappy/archive/${pkgver}/snappy-${pkgver}.tar.gz" + 'snappy.pc.in' + '0001-Add-pkgconfig.patch' + '0002-Disable-neon.patch') +md5sums=('dd6f9b667e69491e1dbf7419bdf68823' + '52264b05925281c591daea10f937424d' + 'de6ce2e289d166971edd67748eedaf3f' + '8714d144e2b3e3cf9727fcee26b751f7') + +prepare() { + cd "${srcdir}/snappy-${pkgver}" + source android-env ${_android_arch} + + cp ../snappy.pc.in . + patch -Np1 -i ../0001-Add-pkgconfig.patch + patch -Np1 -i ../0002-Disable-neon.patch + sed -i 's|cmake_minimum_required(VERSION 3.1)|cmake_minimum_required(VERSION 3.6)|g' CMakeLists.txt +} + +build() { + cd "${srcdir}/snappy-${pkgver}" + source android-env ${_android_arch} + + # compile without assertions + export CFLAGS="${CFLAGS} -DNDEBUG" + export CXXFLAGS="${CXXFLAGS} -DNDEBUG" + + android-${_android_arch}-cmake \ + -S . \ + -B build-shared \ + -DBUILD_SHARED_LIBS=ON \ + -DSNAPPY_BUILD_TESTS=OFF \ + -DSNAPPY_BUILD_BENCHMARKS=OFF \ + -DSNAPPY_USE_BUNDLED_GTEST=OFF \ + -DSNAPPY_USE_BUNDLED_BENCHMARK_LIB=OFF \ + -Wno-dev + make -C build-shared $MAKEFLAGS + + android-${_android_arch}-cmake \ + -S . \ + -B build-static \ + -DBUILD_SHARED_LIBS=OFF \ + -DSNAPPY_BUILD_TESTS=OFF \ + -DSNAPPY_BUILD_BENCHMARKS=OFF \ + -DSNAPPY_USE_BUNDLED_GTEST=OFF \ + -DSNAPPY_USE_BUNDLED_BENCHMARK_LIB=OFF \ + -Wno-dev + make -C build-static $MAKEFLAGS +} + +package() { + cd "${srcdir}/snappy-${pkgver}" + source android-env ${_android_arch} + + make -C build-shared DESTDIR="${pkgdir}" install + make -C build-static DESTDIR="${pkgdir}" install + ${ANDROID_STRIP} -g --strip-unneeded "${pkgdir}/${ANDROID_PREFIX_LIB}"/*.so + ${ANDROID_STRIP} -g "${pkgdir}/${ANDROID_PREFIX_LIB}"/*.a +} diff --git a/snappy.pc.in b/snappy.pc.in new file mode 100644 index 000000000000..9c1a3478ee4b --- /dev/null +++ b/snappy.pc.in @@ -0,0 +1,10 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include + +Name: snappy +Description: Fast compressor/decompressor library. +Version: @PROJECT_VERSION@ +Libs: -L${libdir} -lsnappy +Cflags: -I${includedir} |