commit: 51d002c1fe7d924464b0e2758515400c0c48a1a2 Author: Matt Whitlock <gentoo <AT> mattwhitlock <DOT> name> AuthorDate: Fri Feb 6 02:19:42 2026 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Wed Feb 11 07:15:20 2026 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=51d002c1
dev-libs/libsecp256k1: bump to 0.7.1 See: https://github.com/bitcoin-core/secp256k1/releases/tag/v0.7.1 Signed-off-by: Matt Whitlock <gentoo <AT> mattwhitlock.name> Part-of: https://github.com/gentoo/gentoo/pull/45652 Signed-off-by: Sam James <sam <AT> gentoo.org> dev-libs/libsecp256k1/Manifest | 1 + dev-libs/libsecp256k1/libsecp256k1-0.7.1.ebuild | 84 +++++++++++++++++++++++++ 2 files changed, 85 insertions(+) diff --git a/dev-libs/libsecp256k1/Manifest b/dev-libs/libsecp256k1/Manifest index a046e13c5d20..3ca76631b52e 100644 --- a/dev-libs/libsecp256k1/Manifest +++ b/dev-libs/libsecp256k1/Manifest @@ -1,3 +1,4 @@ DIST libsecp256k1-0.5.1.tar.gz 1962518 BLAKE2B edff454529755c5de4f7a5192235b7e461426cc05da83ba1be03a3f9f4327397ae96b11bbf4250cd09165a1a6bd5383b928d4374713c47ef930de0af11cfc772 SHA512 5cba94794ac9c0e9a72111958562690bfb79b1ccd3071e0aaa22c4c6a4fe4007b87e402c00bbab1bdc93f31490d4b528d7ac368870ac05de12ee76db8313e510 DIST libsecp256k1-0.6.0.tar.gz 1996783 BLAKE2B 6c8ec26bd3d10f463ac4aeed4aa092718a8101012d9ae0b8931166a4bec717f9d5bdc2c8ef21395f6ce2285828871deefa1e47299654d19634c9398d7447acea SHA512 bccaa15295b0633e1fe5a4a4d7a80be812e40c8ed815be4f0d3f3348a5e185633c599cd50b7461a3584f89aea94f6d5321772876c5146553e2732df8b72becc2 DIST libsecp256k1-0.7.0.tar.gz 2143012 BLAKE2B 5255c1740812bdf3248c87c40f4efaf63bdd0cdc61b863961bc313dde3e95f1804a3634c78dd06551ed62b770d2664966c10aee98e4c4fe2902b2d7300d6d043 SHA512 1e07587df5e693b59410b019e6ece961891faa234ebf91577a0cee4307f6fa18d7bf87873410e74693990b9464eb46157d0bdfb527a11bf679a8a579e01443fe +DIST libsecp256k1-0.7.1.tar.gz 2154599 BLAKE2B 85364a592f60633e4aa90da18d565014567b4a952334781bd2e7e081c678b16a4fd7bd62341f94a7eaff7b9809cbf25c4cd10fa64defd97ba2d5acba831fe6b9 SHA512 747bda9276c02a87511c2d3275ec8894db1b7b99dcc9ab9a48497659c2eb512c555cc5f5f2c0269b00237e7177aa3790a5c7cf635ee695f2d440f0ddcb8672ab diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.7.1.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.7.1.ebuild new file mode 100644 index 000000000000..3d971ae39214 --- /dev/null +++ b/dev-libs/libsecp256k1/libsecp256k1-0.7.1.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake edo toolchain-funcs + +MyPN=secp256k1 +DESCRIPTION="Optimized C library for EC operations on curve secp256k1" +HOMEPAGE="https://github.com/bitcoin-core/secp256k1" +SRC_URI="https://github.com/bitcoin-core/secp256k1/archive/v${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${MyPN}-${PV}" + +LICENSE="MIT" +SLOT="0/6" # subslot is "$((_LIB_VERSION_CURRENT-_LIB_VERSION_AGE))" from configure.ac +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" +IUSE="asm +ecdh +ellswift experimental +extrakeys lowmem musig +recovery +schnorr test test-full valgrind" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + asm? ( || ( amd64 arm ) arm? ( experimental ) ) + musig? ( schnorr ) + schnorr? ( extrakeys ) + test-full? ( test ) +" +BDEPEND=" + >=dev-build/cmake-3.22 + virtual/pkgconfig + valgrind? ( dev-debug/valgrind ) +" + +PATCHES=( +) + +DOCS=( + README.md + doc/safegcd_implementation.md +) + +src_prepare() { + cmake_src_prepare + + # Generation of the precomputed tables has not been migrated to CMake. + rm -f src/precomputed_ecmult.c src/precomputed_ecmult_gen.c || die + local precompute_defines=( + # These magic numbers come from configure.ac. + -DECMULT_WINDOW_SIZE=$(usex lowmem 4 15) + -DCOMB_BLOCKS=$(usex lowmem 2 43) + -DCOMB_TEETH=$(usex lowmem 5 6) + -DVERIFY + ) + tc-env_build emake -C src precompute_ecmult{,_gen} CPPFLAGS+="${precompute_defines[*]}" + edo src/precompute_ecmult + edo src/precompute_ecmult_gen +} + +src_configure() { + local mycmakeargs=( + -DSECP256K1_BUILD_BENCHMARK=OFF + -DSECP256K1_EXPERIMENTAL=$(usex experimental) + -DSECP256K1_BUILD_TESTS=$(usex test) + -DSECP256K1_BUILD_EXHAUSTIVE_TESTS=$(usex test-full) + -DSECP256K1_ENABLE_MODULE_ECDH=$(usex ecdh) + -DSECP256K1_ENABLE_MODULE_ELLSWIFT=$(usex ellswift) + -DSECP256K1_ENABLE_MODULE_EXTRAKEYS=$(usex extrakeys) + -DSECP256K1_ENABLE_MODULE_MUSIG=$(usex musig) + -DSECP256K1_ENABLE_MODULE_RECOVERY=$(usex recovery) + -DSECP256K1_ENABLE_MODULE_SCHNORRSIG=$(usex schnorr) + -DSECP256K1_ASM=$(usex asm "$(usex arm arm32 AUTO)" OFF) + -DSECP256K1_VALGRIND=$(usex valgrind ON OFF) + ) + use lowmem && mycmakeargs+=( + -DSECP256K1_ECMULT_WINDOW_SIZE=4 + -DSECP256K1_ECMULT_GEN_KB=2 + ) + cmake_src_configure +} + +src_install() { + use ellswift && DOCS+=( doc/ellswift.md ) + use musig && DOCS+=( doc/musig.md ) + + cmake_src_install +}
