summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorGonzalo Exequiel Pedone2025-03-18 15:49:44 -0300
committerGonzalo Exequiel Pedone2025-03-18 15:49:44 -0300
commit4aa538c2ca71790a22024a6fe7483ddbc30106aa (patch)
tree1afaa5c81da41acd54d57e89fe3bb60d3cbc31fa
downloadaur-android-riscv64-snappy.tar.gz
New package.
-rw-r--r--.SRCINFO24
-rw-r--r--.gitignore6
-rw-r--r--0001-Add-pkgconfig.patch24
-rw-r--r--0002-Disable-neon.patch18
-rw-r--r--PKGBUILD76
-rw-r--r--snappy.pc.in10
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}