From dd117a6fc33399c22f6e7352b8796f91ebe3cc436fa84f61556b5e66266b5976 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Mon, 30 Dec 2024 20:53:13 +0100 Subject: [PATCH] xxhash 0.8.3 --- inline.patch | 14 ++++---- test-tools-do-not-override-cflags.patch | 16 ++++++--- v0.8.3.tar.gz | 3 ++ xxHash-0.8.2.tar.gz | 3 -- xxhash.changes | 9 +++++ xxhash.spec | 46 +++++++++++-------------- 6 files changed, 50 insertions(+), 41 deletions(-) create mode 100644 v0.8.3.tar.gz delete mode 100644 xxHash-0.8.2.tar.gz diff --git a/inline.patch b/inline.patch index 17111e2..b455760 100644 --- a/inline.patch +++ b/inline.patch @@ -17,16 +17,16 @@ In function 'void XXH3_hashLong_internal_loop(xxh_u64*, const xxh_u8*, size_t, c xxhash.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: xxHash-0.8.2/xxhash.h +Index: xxHash-0.8.3/xxhash.h =================================================================== ---- xxHash-0.8.2.orig/xxhash.h -+++ xxHash-0.8.2/xxhash.h -@@ -2107,7 +2107,7 @@ static void* XXH_memcpy(void* dest, cons +--- xxHash-0.8.3.orig/xxhash.h ++++ xxHash-0.8.3/xxhash.h +@@ -2421,7 +2421,7 @@ static void* XXH_memcpy(void* dest, cons # define XXH_NO_INLINE static /* enable inlining hints */ #elif defined(__GNUC__) || defined(__clang__) --# define XXH_FORCE_INLINE static __inline__ __attribute__((always_inline, unused)) -+# define XXH_FORCE_INLINE static __inline__ __attribute__((unused)) - # define XXH_NO_INLINE static __attribute__((noinline)) +-# define XXH_FORCE_INLINE static __inline__ __attribute__((__always_inline__, __unused__)) ++# define XXH_FORCE_INLINE static __inline__ __attribute__((__unused__)) + # define XXH_NO_INLINE static __attribute__((__noinline__)) #elif defined(_MSC_VER) /* Visual Studio */ # define XXH_FORCE_INLINE static __forceinline diff --git a/test-tools-do-not-override-cflags.patch b/test-tools-do-not-override-cflags.patch index cf6250a..ce3fed1 100644 --- a/test-tools-do-not-override-cflags.patch +++ b/test-tools-do-not-override-cflags.patch @@ -1,16 +1,22 @@ From: Bruno Pitrus Date: 2024-05-05 19:35:03+0000 ---- xxHash-0.8.2/Makefile.old 2023-07-21 12:01:35.000000000 +0200 -+++ xxHash-0.8.2/Makefile 2024-05-05 21:19:32.265851133 +0200 -@@ -450,8 +450,8 @@ test-all: test test32 test-unicode clang +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: xxHash-0.8.3/Makefile +=================================================================== +--- xxHash-0.8.3.orig/Makefile ++++ xxHash-0.8.3/Makefile +@@ -483,8 +483,8 @@ test-all: test test32 test-unicode clang .PHONY: test-tools test-tools: - CFLAGS=-Werror $(MAKE) -C tests/bench -- CFLAGS=-Werror $(MAKE) -C tests/collisions +- CFLAGS=-Werror $(MAKE) -C tests/collisions check + $(MAKE) -C tests/bench -+ $(MAKE) -C tests/collisions ++ $(MAKE) -C tests/collisions check .PHONY: test-xxh-nnn-sums test-xxh-nnn-sums: xxhsum_and_links diff --git a/v0.8.3.tar.gz b/v0.8.3.tar.gz new file mode 100644 index 0000000..55b7564 --- /dev/null +++ b/v0.8.3.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aae608dfe8213dfd05d909a57718ef82f30722c392344583d3f39050c7f29a80 +size 1147630 diff --git a/xxHash-0.8.2.tar.gz b/xxHash-0.8.2.tar.gz deleted file mode 100644 index 7a46e9e..0000000 --- a/xxHash-0.8.2.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:baee0c6afd4f03165de7a4e67988d16f0f2b257b51d0e3cb91909302a26a79c4 -size 1141188 diff --git a/xxhash.changes b/xxhash.changes index 4eecbe6..9807500 100644 --- a/xxhash.changes +++ b/xxhash.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Mon Dec 30 19:52:02 UTC 2024 - Jan Engelhardt + +- Update to release 0.8.3 + * Corrects an edge case in ``XXH3_128bits_withSecretandSeed`` + that could generate invalid results. + * xxhash now knows command-line arguments ``--filelist``, + ``--files-from``. + ------------------------------------------------------------------- Tue Sep 3 02:11:09 UTC 2024 - Jan Engelhardt diff --git a/xxhash.spec b/xxhash.spec index a1bf827..6a93a28 100644 --- a/xxhash.spec +++ b/xxhash.spec @@ -17,17 +17,18 @@ Name: xxhash -Version: 0.8.2 +Version: 0.8.3 Release: 0 Summary: Non-cryptographic hash algorithm License: BSD-2-Clause AND GPL-2.0-only Group: Productivity/Security URL: https://github.com/Cyan4973/xxHash -Source0: https://github.com/Cyan4973/xxHash/archive/v%{version}.tar.gz#/xxHash-%{version}.tar.gz +Source: https://github.com/Cyan4973/xxHash/archive/v%version.tar.gz Patch1: test-tools-do-not-override-cflags.patch Patch2: inline.patch BuildRequires: gcc-c++ BuildRequires: pkg-config +BuildRequires: time %{?suse_build_hwcaps_libs} %description @@ -49,36 +50,36 @@ Hashes are identical on all platforms. Summary: Headers for xxHash, a non-cryptographic hash algorithm License: BSD-2-Clause Group: Development/Libraries/C and C++ -Requires: %{name} = %{version} -Requires: libxxhash0 = %{version} +Requires: %name = %version +Requires: libxxhash0 = %version %description devel Headers and other development files for xxHash. %prep -%autosetup -p1 -n xxHash-%{version} +%autosetup -p1 -n xxHash-%version %build # ALLOW_AVX just means "we guarantee we policed our %%optflags". -export CFLAGS="%{optflags} -DXXH_X86DISPATCH_ALLOW_AVX=1" +export CFLAGS="%optflags -DXXH_X86DISPATCH_ALLOW_AVX=1" export CXXFLAGS="$CFLAGS" export LDFLAGS="%{?build_ldflags}" # DISPATCH=1 if you want AVX2/AVX512. But it does not seem to perform any # better than the lowest-denomimation code on at least the 1135G7 and 5950X # CPUs, and for both LP64 as well as ILP32 — it seems to be all within margin # of error. -%make_build prefix=%{_prefix} libdir=%{_libdir} +%make_build prefix=%_prefix libdir=%_libdir %install -export CFLAGS="%{optflags} -DXXH_X86DISPATCH_ALLOW_AVX=1" -export CXXFLAGS="%{optflags}" +export CFLAGS="%optflags -DXXH_X86DISPATCH_ALLOW_AVX=1" +export CXXFLAGS="%optflags" export LDFLAGS="%{?build_ldflags}" -%make_install prefix=%{_prefix} libdir=%{_libdir} -rm -rf %{buildroot}%{_libdir}/libxxhash.a +%make_install prefix=%_prefix libdir=%_libdir +rm -rf %buildroot%_libdir/libxxhash.a %check -export CFLAGS="%{optflags}" -export CXXFLAGS="%{optflags}" +export CFLAGS="%optflags" +export CXXFLAGS="%optflags" export LDFLAGS="%{?build_ldflags}" # not safe for parallel execution as it removes xxhash.o and recreates it with different flags # the list is taken from test-all with non-working/irrelevant ones (such as ones that change the toolchain) removed @@ -89,22 +90,15 @@ export LDFLAGS="%{?build_ldflags}" %files %license LICENSE %doc README.md -%{_bindir}/xxhsum -%{_bindir}/xxh32sum -%{_bindir}/xxh64sum -%{_bindir}/xxh128sum -%{_mandir}/man1/xxh32sum.* -%{_mandir}/man1/xxh64sum.* -%{_mandir}/man1/xxh128sum.* -%{_mandir}/man1/xxhsum.* +%_bindir/xxh* +%_mandir/man1/xxh* %files -n libxxhash0 -%{_libdir}/libxxhash.so.* +%_libdir/libxxhash.so.* %files devel -%{_includedir}/xxhash.h -%{_includedir}/xxh3.h -%{_libdir}/pkgconfig/libxxhash.pc -%{_libdir}/libxxhash.so +%_includedir/*.h +%_libdir/pkgconfig/*.pc +%_libdir/libxxhash.so %changelog