commit:     d513d3e24448922f589dace818e6830bb6d85205
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Jan  5 01:32:49 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jan  5 04:37:45 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d513d3e2

dev-libs/libsecp256k1: add 0.2.0

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-libs/libsecp256k1/Manifest                  |  1 +
 dev-libs/libsecp256k1/libsecp256k1-0.2.0.ebuild | 79 +++++++++++++++++++++++++
 profiles/arch/amd64/package.use.mask            |  5 ++
 profiles/arch/base/package.use.mask             |  5 ++
 4 files changed, 90 insertions(+)

diff --git a/dev-libs/libsecp256k1/Manifest b/dev-libs/libsecp256k1/Manifest
index 5d4a61eeda99..9b2e6807476f 100644
--- a/dev-libs/libsecp256k1/Manifest
+++ b/dev-libs/libsecp256k1/Manifest
@@ -1,2 +1,3 @@
+DIST libsecp256k1-0.2.0.tar.gz 2456096 BLAKE2B 
9160ea9977ddc08daf8881cdcb98cd223024c938ab09c0dab9fc4cd67d355018f339bab7701bbb895345fa858e5673006ab81e027da109a7c9d470e2052eecdf
 SHA512 
a345ffd69c5587777dc834a9f86f89971090158695507cf08cd12efc3b136ff5eff54a7bd789354a5e6e11229e1b2839f706458d64cdf7561519245c5be31a9f
 DIST libsecp256k1-v0.1_pre20190401.tgz 166663 BLAKE2B 
68c9fc3fda6af56452f32edeae5dcb5a92f68bc3fb39a397c532951c6392347df14ea0347bbe05cab43158512e0d9f5ea87bd8f69bece1b04440860ebb8065ee
 SHA512 
8c4945e93cb5ff241482ba4426b25162a7ae3b26860edc10c91d06b1c396887202ad971f4d38e035828352531b87fc29087a12b675e43da44f23c9ea3b6c0cc8
 DIST libsecp256k1-v0.1_pre20201028.tgz 200051 BLAKE2B 
90d636049b411e02703feb2661006900a55f952f60e76e2b7147a5afe8e391a06a80d6ae1489b1e7f2382176c7ea831526465a85bca09156dc6d37b417fcb33b
 SHA512 
54a0fa21b64dd6836e4227de51f3539afe06e0e2f352683397d6adb5dd0508af443d2e25f91e90e1ae366b261965fe7d438292314705baee799cf37421644958

diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.2.0.ebuild 
b/dev-libs/libsecp256k1/libsecp256k1-0.2.0.ebuild
new file mode 100644
index 000000000000..56a8ea20c441
--- /dev/null
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.2.0.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MY_PN=${PN##lib}
+
+DESCRIPTION="Optimized C library for EC operations on curve secp256k1"
+HOMEPAGE="https://github.com/bitcoin-core/secp256k1";
+if [[ ${PV} == *_p* ]] ; then
+       MY_COMMIT="3967d96bf184519eb98b766af665b4d4b072563e"
+       
SRC_URI="https://github.com/bitcoin-core/${MyPN}/archive/${COMMITHASH}.tar.gz 
-> ${P}.tar.gz"
+       S="${WORKDIR}"/${MY_PN}-${MY_COMMIT}
+else
+       
SRC_URI="https://github.com/bitcoin-core/secp256k1/archive/refs/tags/v${PV}.tar.gz
 -> ${P}.tar.gz"
+       S="${WORKDIR}"/${MY_PN}-${PV}
+fi
+
+LICENSE="MIT"
+SLOT="0/1"
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+asm ecdh experimental +extrakeys lowmem precompute-ecmult +schnorr 
+recovery test valgrind"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+       ?? ( lowmem precompute-ecmult )
+       asm? (
+               || ( amd64 arm )
+       )
+       schnorr? ( extrakeys )
+"
+
+BDEPEND="
+       virtual/pkgconfig
+       test? ( dev-libs/openssl )
+       valgrind? ( dev-util/valgrind )
+"
+
+src_prepare() {
+       default
+       eautoreconf
+}
+
+src_configure() {
+       local asm_opt
+       if use asm; then
+               if use arm; then
+                       asm_opt=arm
+               else
+                       asm_opt=auto
+               fi
+       else
+               asm_opt=no
+       fi
+
+       local myeconfargs=(
+               --disable-benchmark
+               $(use_enable experimental)
+               $(use_enable test tests)
+               $(use_enable test exhaustive-tests)
+               $(use_enable ecdh module-ecdh)
+               $(use_enable extrakeys module-extrakeys)
+               --with-asm=${asm_opt}
+               $(use_enable recovery module-recovery)
+               $(use_enable schnorr module-schnorrsig)
+               $(usev lowmem '--with-ecmult-window=2 
--with-ecmult-gen-precision=2')
+               $(usev precompute-ecmult '--with-ecmult-window=24 
--with-ecmult-gen-precision=8')
+               $(use_with valgrind)
+       )
+
+       econf "${myeconfargs[@]}"
+}
+
+src_install() {
+       default
+
+       find "${ED}" -name '*.la' -delete || die
+}

diff --git a/profiles/arch/amd64/package.use.mask 
b/profiles/arch/amd64/package.use.mask
index 12787fac0489..b0e7ddb895b8 100644
--- a/profiles/arch/amd64/package.use.mask
+++ b/profiles/arch/amd64/package.use.mask
@@ -17,6 +17,11 @@
 
 #--- END OF EXAMPLES ---
 
+# Sam James <[email protected]> (2023-01-05)
+# asm is only available for amd64 and arm, but for arm, is gated
+# behind an experimental flag.
+>=dev-libs/libsecp256k1-0.2.0 -asm
+
 # Sam James <[email protected]> (2022-12-11)
 # net-libs/rustls-ffi is keyworded here
 net-misc/curl -rustls -curl_ssl_rustls

diff --git a/profiles/arch/base/package.use.mask 
b/profiles/arch/base/package.use.mask
index 0a693ccb366d..fd4c6198dddb 100644
--- a/profiles/arch/base/package.use.mask
+++ b/profiles/arch/base/package.use.mask
@@ -1,6 +1,11 @@
 # Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
+# Sam James <[email protected]> (2023-01-05)
+# asm is only available for amd64 and arm, but for arm, is gated
+# behind an experimental flag.
+>=dev-libs/libsecp256k1-0.2.0 asm
+
 # Sam James <[email protected]> (2022-12-11)
 # Unkeyworded dependencies
 net-misc/curl rustls curl_ssl_rustls

Reply via email to