From: Sergey Matveev Date: Fri, 21 Mar 2025 11:25:19 +0000 (+0300) Subject: Update BLAKE3 to multithreaded version X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=9ba98bcd5ee952bc87794587fbbaeab1be85b8a234658351ce87d4acddba74bd;p=bass.git Update BLAKE3 to multithreaded version --- diff --git a/build/distfiles/.gitignore b/build/distfiles/.gitignore index e4aca4d..ace25a4 100644 --- a/build/distfiles/.gitignore +++ b/build/distfiles/.gitignore @@ -5,8 +5,6 @@ /angie-1.5.0.tar.gz /apr-1.7.4.tar.bz2 /apr-util-1.6.3.tar.bz2 -/libargparse-81998ffafb9c2ac8cf488d31e536a2e6fd6b3fdf.tar.zst -/libargparse.git/ /aria2-1.37.0.tar.xz /at-spi2-atk-2.38.0.tar.xz /at-spi2-core-2.52.0.tar.xz @@ -14,7 +12,7 @@ /autoconf-2.72.tar.xz /automake-1.16.5.tar.xz /b2sum-20190724-12-ged1974e.tar.zst -/b3sum-1.5.0.tar.gz +/b3sum-1.7.0.tar.gz /bash-5.2.21.tar.gz /bfs-3.1.3.tar.zst /bfs.git/ @@ -107,6 +105,8 @@ /less-668.tar.gz /lftp-4.9.3.tar.xz /libao-1.2.0.tar.gz +/libargparse-81998ffafb9c2ac8cf488d31e536a2e6fd6b3fdf.tar.zst +/libargparse.git/ /libass-0.17.2.tar.gz /libassuan-3.0.1.tar.bz2 /libavif-v1.1.1-255-g086e7e12.tar.zst @@ -189,6 +189,8 @@ /npth-1.7.tar.bz2 /nsxiv-v32-11-g420a0a2.tar.zst /nsxiv.git +/oneTBB-v2022.0.0.tar.zst +/oneTBB.git /oniguruma-v6.9.9.tar.zst /oniguruma.git/ /openjpeg-2.5.2.tar.gz diff --git a/build/distfiles/b3sum-1.5.0.tar.gz.meta4 b/build/distfiles/b3sum-1.5.0.tar.gz.meta4 deleted file mode 100644 index 49f5c66..0000000 --- a/build/distfiles/b3sum-1.5.0.tar.gz.meta4 +++ /dev/null @@ -1,18 +0,0 @@ - - - - 86450f3209815a43b4c9dfb0019e31a5a57201c6f25e36488885435ff1c104a0 - 374ded3103f95d7600c6ee0e1af223f6011672a0c7da6c8c24750fda0eecbf9b2ab78f88a471d9eb55935266a1133821d4d65ae34fd96b550e47021c32d78bea - c9ac826d357d8e808b01446c17067f90015870048f136c6bd8e105fd4d98984a - 471a12c64edba1309ad5fd3e161ffc98ceedae68ad72e62c081ca93b7be54f128d458a929ef64ba52f46094387e3c0a38bba40080d20e9a03a0d5bb2718b0df5 - 147e305905126092dce200abb1d293e16d3c43af773104e597b2476ec677304b - 2a5efc12d009e2aeb6c95d2c279a2578241a8aadfc87d59f6913f93614c8da7394509cc708127e14ac6082f2b9ad6c23b6b45253b05dec7fda6f503e4473ce7c - 00aa4121539ef49fb2014a3c6b08feaa1f1e8973c339a0dcf7c91eaccfd6c470ead73adbd29490cb8644691a83f989d33891e4b0e67493ceec2ef6c94ee74856 - cd57cc5058b46a0e2504fde2c0502c50ef9b3183236046089b0e791853d29901 - 63c8a6f38c64f562e0e777cfb957883febc0c38e7cddfda65833f5f4b84b6b466bc0c9db212a1ecacd24be5f5ea52eb94bf795a6c9e29298fdb99fd018eb65ab - 47de94382baa5cada2629c8158345ae66c8ba7c15bb3a9ef47094d48e49d48b4 - 395de69e9538139a482b023c3f1563e3 - 228913 - https://api.github.com/repos/BLAKE3-team/BLAKE3/tarball/1.5.0 - - diff --git a/build/distfiles/b3sum-1.7.0.tar.gz.meta4 b/build/distfiles/b3sum-1.7.0.tar.gz.meta4 new file mode 100644 index 0000000..8ba5271 --- /dev/null +++ b/build/distfiles/b3sum-1.7.0.tar.gz.meta4 @@ -0,0 +1,16 @@ + + + + 3c19a15e6cfe2c94428d8c677963f9fd5cacd89d27056d38c8ad5b0e6a5b91ff + 026303ae6561a6ff212c51762fc1c7e6429604fdb4b45e7c909dcd5786a39d244a830537eed504eaca670b763adc980e31c598fad71cc3342a50aabb153b376a + e7baea416249889d56a8f553f58381d7e5f3a2ea9ef9462fccd5580cb5d7044b + 32f368c41fdad85b50a0d57ccecb8e67ccfd40e4bbc05c27ce4ed0b86874cb3e66a816e0719a64ddd02c50a0b080e9635c2c8c863114c3ce7bdb77d39ca234ca + b2b35fd4fa8a47b8a29347cea4729240bcd6ef052378c3b895e0b7a4a91ad3c5678fb81caec0c3d429766d0974a4c46feaa65811dd16f550130eb1b357c355d3 + 9a2a5f55ce0026cfdae99842c66f8e5e4c8cbe5442a1b45686376f34ca47ec51 + 98601e7a6de5c8a99d449a999742ccfc7cd92f7cb76499190201da399dcebd6ec61f16ea306fdb081c715f1c7ad47dc067f927d9c6b1c60ccc90f55920bcf08a + e7be4d7c4eede843f9652fc52cae3ac90e006fcb11c1f3fb145772a4b55227e4 + ba86b48562c4c5a9f549765693ddddb0 + 256860 + https://api.github.com/repos/BLAKE3-team/BLAKE3/tarball/1.7.0 + + diff --git a/build/distfiles/oneTBB-v2022.0.0.tar.zst.do b/build/distfiles/oneTBB-v2022.0.0.tar.zst.do new file mode 100644 index 0000000..c1e60ca --- /dev/null +++ b/build/distfiles/oneTBB-v2022.0.0.tar.zst.do @@ -0,0 +1,7 @@ +[ -n "$BASS_ROOT" ] || BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../.. +sname=$1.do . "$BASS_ROOT"/lib/rc +[ -d oneTBB.git ] || git clone --depth 1 --bare https://github.com/uxlfoundation/oneTBB.git >&2 +cd oneTBB.git +commit=0c0ff192a2304e114bc9e6557582dfba101360ff +git fetch origin $commit >&2 +git archive --prefix=${1%.tar.zst}/ $commit | $COMPRESSOR diff --git a/build/skel/devel/oneTBB-v2022.0.0.do b/build/skel/devel/oneTBB-v2022.0.0.do new file mode 100644 index 0000000..7b76acd --- /dev/null +++ b/build/skel/devel/oneTBB-v2022.0.0.do @@ -0,0 +1,23 @@ +[ -n "$BASS_ROOT" ] || BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../.. +sname=$1.do . "$BASS_ROOT"/lib/rc +. "$BASS_ROOT"/build/skel/common.rc + +bdeps="rc-paths stow archivers/zstd devel/cmake-3.28.3" +redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.zst +hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH) +. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc +"$BASS_ROOT"/build/bin/pkg-inst $bdeps +. ./rc +$TAR xf "$DISTFILES"/$NAME.tar.zst +"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh + +cd $NAME +mkdir build +cd build +cmake -DCMAKE_INSTALL_PREFIX="$SKELBINS"/$ARCH/$NAME-$hsh \ + -DTBB_TEST=OFF -DTBBMALLOC_BUILD=OFF .. >&2 +cmake --build . >&2 +cmake --install . >&2 + +cd "$SKELBINS"/$ARCH +"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh diff --git a/build/skel/security/b3sum-1.5.0.do b/build/skel/security/b3sum-1.5.0.do deleted file mode 100644 index d03764b..0000000 --- a/build/skel/security/b3sum-1.5.0.do +++ /dev/null @@ -1,33 +0,0 @@ -[ -n "$BASS_ROOT" ] || BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../.. -sname=$1.do . "$BASS_ROOT"/lib/rc -. "$BASS_ROOT"/build/skel/common.rc - -bdeps="rc-paths stow archivers/zstd" -redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz -hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH) -. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc -"$BASS_ROOT"/build/bin/pkg-inst $bdeps -. ./rc -$TAR xf "$DISTFILES"/$NAME.tar.gz -"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh - -cd BLAKE3-team-BLAKE3-5aa53f0/c -mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh/bin -cc -s -fPIC -O3 -o "$SKELBINS"/$ARCH/$NAME-$hsh/bin/b3sum \ - example.c blake3.c blake3_dispatch.c blake3_portable.c \ - blake3_sse2_x86-64_unix.S \ - blake3_sse41_x86-64_unix.S \ - blake3_avx2_x86-64_unix.S \ - blake3_avx512_x86-64_unix.S || -{ - cc -c -fPIC -O3 -msse2 -o blake3_sse2.o blake3_sse2.c - cc -c -fPIC -O3 -msse4.1 -o blake3_sse41.o blake3_sse41.c - cc -c -fPIC -O3 -mavx2 -o blake3_avx2.o blake3_avx2.c - cc -c -fPIC -O3 -mavx512f -mavx512vl -o blake3_avx512.o blake3_avx512.c - cc -s -fPIC -static -O3 -o "$SKELBINS"/$ARCH/$NAME-$hsh/bin/b3sum \ - example.c blake3.c blake3_dispatch.c blake3_portable.c \ - blake3_avx2.o blake3_avx512.o blake3_sse41.o blake3_sse2.o -} - -cd "$SKELBINS"/$ARCH -"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh diff --git a/build/skel/security/b3sum-1.7.0.do b/build/skel/security/b3sum-1.7.0.do new file mode 100644 index 0000000..8952af6 --- /dev/null +++ b/build/skel/security/b3sum-1.7.0.do @@ -0,0 +1,30 @@ +[ -n "$BASS_ROOT" ] || BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../.. +sname=$1.do . "$BASS_ROOT"/lib/rc +. "$BASS_ROOT"/build/skel/common.rc + +bdeps="rc-paths stow archivers/zstd" +rdeps=devel/oneTBB-v2022.0.0 +redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz $rdeps +hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH) +. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc +"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps +. ./rc +$TAR xf "$DISTFILES"/$NAME.tar.gz +"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh + +cd BLAKE3-team-BLAKE3-a9e9298/c +# I do not know is it safe or not, but seems working +perl -i -npe 's/(TBB_USE_EXCEPTIONS ==) 0/$1 1/' blake3_tbb.cpp >&2 +mkdir build +cd build +cmake -DCMAKE_INSTALL_PREFIX="$SKELBINS"/$ARCH/$NAME-$hsh \ + -DBLAKE3_USE_TBB=1 -DBLAKE3_EXAMPLES=1 .. >&2 +cmake --build . >&2 +cmake --install . >&2 +cd "$SKELBINS"/$ARCH/$NAME-$hsh/bin +mv blake3-example b3sum +mv blake3-example-tbb b3sum-tbb + +cd "$SKELBINS"/$ARCH +"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps +"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh diff --git a/build/skel/security/hashers.do b/build/skel/security/hashers.do index 5ac84fb..016b917 100644 --- a/build/skel/security/hashers.do +++ b/build/skel/security/hashers.do @@ -4,7 +4,7 @@ sname=$1.do . "$BASS_ROOT"/lib/rc hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH) deps=" -security/b3sum-1.5.0 +security/b3sum-1.7.0 security/gosha3-v1.0.0 security/xxhash-v0.8.3 " diff --git a/build/skel/slave-base.do b/build/skel/slave-base.do index f6a869e..f836e8b 100644 --- a/build/skel/slave-base.do +++ b/build/skel/slave-base.do @@ -8,7 +8,7 @@ deps=" stow archivers/zstd - security/b3sum-1.5.0 + security/b3sum-1.7.0 sysutils/daemontools-encore-1.11 sysutils/tmux-3.3 shells/zsh-5.9