commit a43ef4358ef5e1f584a5daec5c01db9e3b071cbc0ec82958270f667d0c076111 Author: Jan Engelhardt Date: Wed Aug 14 15:10:03 2024 +0000 [info=886f7ca20986506a0ce975d3f4116af94f2638637d9e56e93997ede39e0add53] OBS-URL: https://build.opensuse.org/package/show/science/xxhash?expand=0&rev=28 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_scmsync.obsinfo b/_scmsync.obsinfo new file mode 100644 index 0000000..0928910 --- /dev/null +++ b/_scmsync.obsinfo @@ -0,0 +1,4 @@ +mtime: 1723648376 +commit: 886f7ca20986506a0ce975d3f4116af94f2638637d9e56e93997ede39e0add53 +url: https://src.opensuse.org/jengelh/xxhash +revision: master diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..e4a7a4d --- /dev/null +++ b/baselibs.conf @@ -0,0 +1 @@ +libxxhash0 diff --git a/build.specials.obscpio b/build.specials.obscpio new file mode 100644 index 0000000..98a0160 --- /dev/null +++ b/build.specials.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca6c917c6f73cfe058cdfe749d68f47a05eb27431f24b2f3609db0871aa8cc43 +size 256 diff --git a/test-tools-do-not-override-cflags.patch b/test-tools-do-not-override-cflags.patch new file mode 100644 index 0000000..cf6250a --- /dev/null +++ b/test-tools-do-not-override-cflags.patch @@ -0,0 +1,16 @@ +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 + + .PHONY: test-tools + test-tools: +- CFLAGS=-Werror $(MAKE) -C tests/bench +- CFLAGS=-Werror $(MAKE) -C tests/collisions ++ $(MAKE) -C tests/bench ++ $(MAKE) -C tests/collisions + + .PHONY: test-xxh-nnn-sums + test-xxh-nnn-sums: xxhsum_and_links diff --git a/xxHash-0.8.2.tar.gz b/xxHash-0.8.2.tar.gz new file mode 100644 index 0000000..7a46e9e --- /dev/null +++ b/xxHash-0.8.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:baee0c6afd4f03165de7a4e67988d16f0f2b257b51d0e3cb91909302a26a79c4 +size 1141188 diff --git a/xxhash.changes b/xxhash.changes new file mode 100644 index 0000000..d8ee869 --- /dev/null +++ b/xxhash.changes @@ -0,0 +1,159 @@ +------------------------------------------------------------------- +Wed Aug 14 15:06:38 UTC 2024 - Jan Engelhardt + +- Build hwcap_libs (x86-64-v3) for xxhash, apparently there is + something to gain. + +------------------------------------------------------------------- +Sun May 5 19:35:03 UTC 2024 - Bruno Pitrus + +- Fix ftbfs with gcc14: + * use correct optflags also in %check + * add test-tools-do-not-override-cflags.patch +- Execute more tests + +------------------------------------------------------------------- +Thu Nov 30 14:43:11 UTC 2023 - Guillaume GARDET + +- Make use of openSUSE build flags + +------------------------------------------------------------------- +Fri Nov 3 10:00:32 UTC 2023 - Jan Engelhardt + +- Update to release 0.8.2 + * ARM NEON speed improvements; on M1 Pro it is +20% speed for + XXH3 and XXH128 (from 30.0 GB/s to 36 GB/s). + * Added support for ARM's SVE vector extension. + * Resolved some issues with XXH3's s390x vector implementation. +- Delete xxhash-avoid-armv6-unaligned-access.patch (should be + fixed by c0dd448b), delete 836f4e735cf368542f14005e41d2f84ec29dfd60.patch + (merged), delete 15ce80f9f2760609d8cc68cea76d3f3217ab70e1.patch + (merged) + +------------------------------------------------------------------- +Wed Mar 8 21:28:23 UTC 2023 - Michael Gorse + +- Add 15ce80f9f2760609d8cc68cea76d3f3217ab70e1.patch: fix build + failure on ppc64le when using gcc 7 (boo#1208794). + +------------------------------------------------------------------- +Mon Dec 20 10:27:32 UTC 2021 - Dirk Müller + +- fix racy check execution + +------------------------------------------------------------------- +Thu Dec 2 22:20:24 UTC 2021 - Dirk Müller + +- update to 0.8.1: + * perf : much improved performance for XXH3 streaming variants, notably on + gcc and msvc + * perf : improved XXH64 speed and latency on small inputs + * perf : small XXH32 speed and latency improvement on small inputs of random + size + * perf : minor stack usage improvement for XXH32 and XXH64 + * api : new experimental variants XXH3_*_withSecretandSeed() + * api : update XXH3_generateSecret(), can no generate secret of any size (>= + XXH3_SECRET_SIZE_MIN) + * cli : xxhsum can now generate and check XXH3 checksums, using command `-H3` + * build: can build xxhash without XXH3, with new build macro XXH_NO_XXH3 + * build: fix xxh_x86dispatch build with MSVC, by @apankrat + * build: XXH_INLINE_ALL can always be used safely, even after XXH_NAMESPACE + or a previous XXH_INLINE_ALL + * build: improved PPC64LE vector support + * install: fix pkgconfig + * install: compatibility with Haiku + * doc : code comments made compatible with doxygen + * misc : XXH_ACCEPT_NULL_INPUT_POINTER is no longer necessary, all functions + can accept NULL input pointers, as long as size == 0 + * misc : complete refactor of CI tests on Github Actions, offering much + larger coverage + * misc : xxhsum code base split into multiple specialized units, within + directory cli/ +- add 836f4e735cf368542f14005e41d2f84ec29dfd60.patch (fix manpage installation) + +------------------------------------------------------------------- +Tue Jul 6 17:15:34 CEST 2021 - ro@suse.de + +- add patch xxhash-avoid-armv6-unaligned-access.patch + do not expect unaligned accesses to work on armv6, it breaks + in our build setup using aarch64 kernels + +------------------------------------------------------------------- +Mon Aug 3 05:43:31 UTC 2020 - Ismail Dönmez + +- Update to version 0.8.0 + * api : stabilize XXH3 + * cli : xxhsum can produce BSD-style lines, with command --tag + * cli : xxhsum can parse and check BSD-style lines, using command --check + * cli : xxhsum - accepts console input + * cli : xxhsum accepts -- separator + * cli : fix : print correct default algo for symlinked helpers +- Add BR on c++_compiler, needed for test programs + +------------------------------------------------------------------- +Wed Dec 18 23:57:43 UTC 2019 - Stefan Brüns + +- Enable test suite run in %check + +------------------------------------------------------------------- +Tue Dec 17 13:17:59 UTC 2019 - Michał Rostecki + +- Update to version 0.7.2 + * Fixed collision ratio of XXH128 for some specific input lengths + * Improved VSX and NEON variants + * Improved performance of scalar code path (XXH_VECTOR=0), + * xxhsum: can generate 128-bit hash with command -H2 (note: for + experimental purposes only! XXH128 is not yet frozen) + * xxhsum: option -q removes status notifications + +------------------------------------------------------------------- +Thu Sep 26 10:06:43 UTC 2019 - simmphonie@opensuse.org + +- update to version 0.7.1 + - XXH3 updates: + * Secret first : the algorithm computation can be altered by + providing a "secret", which is any blob of bytes, of + size >= XXH3_SECRET_SIZE_MIN. + * seed is still available, and acts as a secret generator + * As a consequence of these changes, note that new return + values of XXH3 are not compatible with v0.7.0 + * updated ARM NEON variant + * Streaming implementation is available + * Improve compatibility and performance with Visual Studio + * Better integration when using XXH_INLINE_ALL : do not pollute + host namespace, use its own macros, such as XXH_ASSERT(), XXH_ALIGN, etc. + * 128-bits variant provide helper function, for comparison of hashes. + - general improvements: + * Better clang generation of rotl instruction + * XXH_REROLL build macro, to reduce binary size + * Improved cmake script + * Full benchmark program provided in /tests/bench + +- update to version 0.7.0 + - Add XXH3 hash algorithm + +------------------------------------------------------------------- +Thu Dec 6 09:25:19 UTC 2018 - Michał Rostecki + +- Remove false information from description - xxHash does not + derive from Argon2 algorithm. + +------------------------------------------------------------------- +Mon Dec 3 21:20:05 UTC 2018 - Jan Engelhardt + +- Trim bias from description + +------------------------------------------------------------------- +Tue Oct 16 20:10:06 UTC 2018 - t.gruner@katodev.de + +- update to version 0.6.5 + - Improved performance on small keys, thanks to suggestions from Jens Bauer + - New build macro, XXH_INLINE_ALL, extremely effective for small keys of fixed length (see this article for details) + - XXH32() : better performance on OS-X clang by disabling auto-vectorization + - Improved benchmark measurements accuracy on small keys + - Included xxHash specification document + +------------------------------------------------------------------- +Sun Jan 21 18:49:27 UTC 2018 - bugs@vdm-design.de + +- Initial package of version 0.6.4 diff --git a/xxhash.spec b/xxhash.spec new file mode 100644 index 0000000..1b9ece8 --- /dev/null +++ b/xxhash.spec @@ -0,0 +1,106 @@ +# +# spec file for package xxhash +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: xxhash +Version: 0.8.2 +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 +Source9: baselibs.conf +Patch1: test-tools-do-not-override-cflags.patch +BuildRequires: gcc-c++ +BuildRequires: pkg-config +%{?suse_build_hwcaps_libs} + +%description +xxHash is a hash algorithm. It completes the SMHasher test suite which +evaluates collision, dispersion and randomness qualities of hash functions. +Hashes are identical on all platforms. + +%package -n libxxhash0 +Summary: Non-cryptographic hash algorithm +License: BSD-2-Clause +Group: System/Libraries + +%description -n libxxhash0 +xxHash is a hash algorithm. It completes the SMHasher test suite which +evaluates collision, dispersion and randomness qualities of hash functions. +Hashes are identical on all platforms. + +%package devel +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} + +%description devel +Headers and other development files for xxHash. + +%prep +%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 CXXFLAGS="$CFLAGS" +export LDFLAGS="%{?build_ldflags}" +%make_build prefix=%{_prefix} libdir=%{_libdir} + +%install +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 + +%check +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 +%make_build -j1 test test-unicode listL120 trailingWhitespace test-xxh-nnn-sums + +%ldconfig_scriptlets -n libxxhash0 + +%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.* + +%files -n libxxhash0 +%{_libdir}/libxxhash.so.* + +%files devel +%{_includedir}/xxhash.h +%{_includedir}/xxh3.h +%{_libdir}/pkgconfig/libxxhash.pc +%{_libdir}/libxxhash.so + +%changelog