summaryrefslogtreecommitdiff
path: root/dev-libs
diff options
context:
space:
mode:
authormirror@stealer.net <mirror@stealer.net>2025-07-23 03:00:24 +0000
committermirror@stealer.net <mirror@stealer.net>2025-07-23 03:00:24 +0000
commit52bc587a17c863a17d76a37b26c0c36f5e7a179c (patch)
tree570795be41128f5c009ef83b7d8a2aeaccdec870 /dev-libs
parentff219cd15a1c2dde0b5feda9ac5a7ee5dd28b5b5 (diff)
2025-07-23 02:40:44+00:00
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/Ice/Ice-3.7.10-r1.ebuild9
-rw-r--r--dev-libs/Ice/Ice-3.7.10-r2.ebuild9
-rw-r--r--dev-libs/Ice/Manifest5
-rw-r--r--dev-libs/Ice/files/Ice-3.7.8-python3.13.patch96
-rw-r--r--dev-libs/Manifest.gzbin99207 -> 99203 bytes
-rw-r--r--dev-libs/granite/Manifest4
-rw-r--r--dev-libs/granite/granite-7.6.0.ebuild41
-rw-r--r--dev-libs/granite/metadata.xml25
-rw-r--r--dev-libs/libsecp256k1/Manifest4
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.7.0.ebuild84
-rw-r--r--dev-libs/libsecp256k1/metadata.xml1
11 files changed, 257 insertions, 21 deletions
diff --git a/dev-libs/Ice/Ice-3.7.10-r1.ebuild b/dev-libs/Ice/Ice-3.7.10-r1.ebuild
index af91b98a02722..e06d4fc78b781 100644
--- a/dev-libs/Ice/Ice-3.7.10-r1.ebuild
+++ b/dev-libs/Ice/Ice-3.7.10-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{11..14} )
RUBY_OPTIONAL="yes"
USE_RUBY="ruby32"
@@ -14,14 +14,15 @@ PHP_EXT_ZENDEXT="no"
PHP_EXT_OPTIONAL_USE=php
-USE_PHP="php8-2 php8-3"
+USE_PHP="php8-2 php8-3 php8-4"
inherit php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
DESCRIPTION="ICE middleware C++ library and generator tools"
-HOMEPAGE="https://zeroc.com/products/ice"
+HOMEPAGE="https://zeroc.com/ice"
SRC_URI="https://github.com/zeroc-ice/ice/archive/v${PV}.tar.gz -> ${P}.tar.gz
doc? ( https://download.zeroc.com/Ice/$(ver_cut 1-2)/${PN}-3.7.1.pdf )"
+S="${WORKDIR}/${P,}"
LICENSE="GPL-2"
SLOT="0/37"
KEYWORDS="amd64 ~arm ~arm64 x86"
@@ -47,11 +48,11 @@ DEPEND="${RDEPEND}
# Maintainer notes:
# TODO: java bindings
-S="${WORKDIR}/${P,}"
PHP_EXT_S="${S}/php"
PATCHES=(
"${FILESDIR}/${PN}-3.7.8-fix-musl-build.patch"
+ "${FILESDIR}/${PN}-3.7.8-python3.13.patch"
)
pkg_setup() {
diff --git a/dev-libs/Ice/Ice-3.7.10-r2.ebuild b/dev-libs/Ice/Ice-3.7.10-r2.ebuild
index dba8bcadec637..7a133a6ff8369 100644
--- a/dev-libs/Ice/Ice-3.7.10-r2.ebuild
+++ b/dev-libs/Ice/Ice-3.7.10-r2.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{11..14} )
RUBY_OPTIONAL="yes"
USE_RUBY="ruby33"
@@ -14,14 +14,15 @@ PHP_EXT_ZENDEXT="no"
PHP_EXT_OPTIONAL_USE=php
-USE_PHP="php8-2 php8-3"
+USE_PHP="php8-2 php8-3 php8-4"
inherit php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
DESCRIPTION="ICE middleware C++ library and generator tools"
-HOMEPAGE="https://zeroc.com/products/ice"
+HOMEPAGE="https://zeroc.com/ice"
SRC_URI="https://github.com/zeroc-ice/ice/archive/v${PV}.tar.gz -> ${P}.tar.gz
doc? ( https://download.zeroc.com/Ice/$(ver_cut 1-2)/${PN}-3.7.1.pdf )"
+S="${WORKDIR}/${P,}"
LICENSE="GPL-2"
SLOT="0/37"
KEYWORDS="amd64 ~arm ~arm64 x86"
@@ -47,11 +48,11 @@ DEPEND="${RDEPEND}
# Maintainer notes:
# TODO: java bindings
-S="${WORKDIR}/${P,}"
PHP_EXT_S="${S}/php"
PATCHES=(
"${FILESDIR}/${PN}-3.7.8-fix-musl-build.patch"
+ "${FILESDIR}/${PN}-3.7.8-python3.13.patch"
)
pkg_setup() {
diff --git a/dev-libs/Ice/Manifest b/dev-libs/Ice/Manifest
index b44d38620e83d..02ad73e75f81f 100644
--- a/dev-libs/Ice/Manifest
+++ b/dev-libs/Ice/Manifest
@@ -1,6 +1,7 @@
AUX Ice-3.7.8-fix-musl-build.patch 568 BLAKE2B e320641208d46b27acc68d932aed336bf74407e3db8351e59b43172be771fe80ba813e01812a40b2cd57bd8002a0fe707f9a32fdef3f7b323c8a764f7f1c5c97 SHA512 be19a21ff3d4ddafb9d1b9c866f392b3eb081e450b9a061884485b7713f06ad5a7c58a0275328de8bdf39d0bfb2fcc085583105f47cae51e6cae42651a04ed3e
+AUX Ice-3.7.8-python3.13.patch 3714 BLAKE2B b960a40046147bdcb4423a8d03d2c6ba22848615071147cbcab28c308f1e5519d72237e03484ada747abeaaca74c3d81d348d1ea528e208b791047150377351d SHA512 c321d363b4a9a3d195de25238e71dd72b75faa05915deb3cb59739c9deec3cc2bbd3b8dd2a0c4acc6c0a1ae8fd4f1c09bd6f4193a31fea256aeb15ef19309f55
DIST Ice-3.7.1.pdf 9351739 BLAKE2B 527f2c37aea19aedbfc580efd93ce4fae2eb7264342bb485822593e2da6fb75a61eea2b1a46187898af07f138d10bf9a213d0b2a0685c18cd1d4c624709a935b SHA512 199b59f14b87b2896ba970bf5aa32f6fd858cbd3fed18eac93acafe4e296db1361ca2d2000ed49f3390ed66c1d4ff8c1fcd3f14ab8197d7804c87fce422c8486
DIST Ice-3.7.10.tar.gz 10120858 BLAKE2B a39a693975c53b7d1b1431f211e9682e8b8ffea62c63005c5158354a54807fc6966cff83f94ed6f86de1e5a2104cee3ac43eb12b9e9f406b67f9e77ffc78a800 SHA512 638ca8721db1559aae80c43663a1210ba9c8f72d58003f2d9457048c9100bee74036910917d1d10bf5b998ba49f0878177e094b436c83d3deb63613f9075483d
-EBUILD Ice-3.7.10-r1.ebuild 5995 BLAKE2B 5571c372a3ffd987696fb9bedde4e88ae91815fb9ec52e0c65cc7b9cb8bcfc99e32b2ff137d991f823ddbdc9eb164877e40269a02d4323462df0eae0a1907aaf SHA512 9053075f41c82be90cdda7c7719d3c5ad5dd25f349aa9657153670698b0438819b79bc90bbe52baac34174a7fad1c3b8076d7d8f70b7ef86851bf3d2a934d5cc
-EBUILD Ice-3.7.10-r2.ebuild 5995 BLAKE2B a2e89752fdbc6f09cabef3b1a6eb922fee37053496ef1ad9b02688e4ed30065378c799aab32efb81b34f3fa3fb07939d62a0380e0634ea210c32a359f371d5e2 SHA512 30f58cd6434c4d2425dab5d86067e730a737e6f3f1f20abafeb61e744cfd7f05fdb28c9894b410801f9392040c8b21f1fbe7ab221b547dc50f0f93504072c66d
+EBUILD Ice-3.7.10-r1.ebuild 6037 BLAKE2B 6d31c26f16787b5a0c536504413f7186954ea76d79157b5d072e6b143e0182bd80754a16821f1adfa3f4b319ac7bcecae6700792b14721e580eec8f097dd3cd4 SHA512 2fc1dba724dd3d04234c6ba4e3048176d13b07e21c3ad9ce1df85fdded9c3f59b7319f981d935500eea5ad5fc0ddbbf733137d2326a30567d54c36d424db4235
+EBUILD Ice-3.7.10-r2.ebuild 6037 BLAKE2B 91fe85063bdc7c4f8a3edfb4caaeda44a9bf17707e1bfb8ba14d877ea7f30203ff2f41ca4f0935b5d8e45be71ec4f87a05f78048959d041fa2570732b1a1aa83 SHA512 1165474dd0b604c804ef4f74d914c6170d95e572305c404c12506d3de9c5f93ea8bf3379ed2b4581af3ed3617c435ab261b13df35967c8c700ec652f528d4c6b
MISC metadata.xml 471 BLAKE2B 50fef5d9314fcf793c140c97016a5af4ecb2b1aa5cc86e8cd1f961beb1e55aeb23d1228bf9dcccb10d54458b72766eba80c9b18d9add7928fdd4197577e58971 SHA512 65d2e51347c27ee6414f07a69ecd886d9eb6a18b3419a80e0e7022bdf127b03fca0cdb954c5a3d46dba29e40dc7973a7c5d6b8388af36702c3874e02589cad56
diff --git a/dev-libs/Ice/files/Ice-3.7.8-python3.13.patch b/dev-libs/Ice/files/Ice-3.7.8-python3.13.patch
new file mode 100644
index 0000000000000..dfca89be44f86
--- /dev/null
+++ b/dev-libs/Ice/files/Ice-3.7.8-python3.13.patch
@@ -0,0 +1,96 @@
+Description: Python 3.13 build fixes
+Author: Jose <jose@zeroc.com>
+Origin: backport
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1092441
+Applied-Upstream: https://github.com/zeroc-ice/ice/commit/019976e2db4899a5ac30f497aa45b51335b024ec
+Reviewed-by: Simon Quigley <tsimonq2@debian.org>
+Last-Update: 2025-02-24
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/python/modules/IcePy/Types.cpp
++++ b/python/modules/IcePy/Types.cpp
+@@ -455,14 +455,7 @@ IcePy::StreamUtil::setSlicedDataMember(P
+ assert(_sliceInfoType);
+ }
+
+- IcePy::PyObjectHandle args = PyTuple_New(0);
+- if(!args.get())
+- {
+- assert(PyErr_Occurred());
+- throw AbortMarshaling();
+- }
+-
+- PyObjectHandle sd = PyEval_CallObject(_slicedDataType, args.get());
++ PyObjectHandle sd{PyObject_CallObject(_slicedDataType, nullptr)};
+ if(!sd.get())
+ {
+ assert(PyErr_Occurred());
+@@ -488,7 +481,7 @@ IcePy::StreamUtil::setSlicedDataMember(P
+ int i = 0;
+ for(vector<Ice::SliceInfoPtr>::const_iterator p = slicedData->slices.begin(); p != slicedData->slices.end(); ++p)
+ {
+- PyObjectHandle slice = PyEval_CallObject(_sliceInfoType, args.get());
++ PyObjectHandle slice{PyObject_CallObject(_sliceInfoType, nullptr)};
+ if(!slice.get())
+ {
+ assert(PyErr_Occurred());
+@@ -1669,18 +1662,17 @@ IcePy::SequenceInfo::marshal(PyObject* p
+ Py_ssize_t sz = 0;
+ if(p != Py_None)
+ {
+- const void* buf = 0;
+- if(PyObject_AsReadBuffer(p, &buf, &sz) == 0)
++ Py_buffer pybuf;
++ if (pi && PyObject_GetBuffer(p, &pybuf, PyBUF_SIMPLE | PyBUF_FORMAT) == 0)
+ {
+- if(pi->kind == PrimitiveInfo::KindString)
+- {
+- PyErr_Format(PyExc_ValueError, STRCAST("expected sequence value"));
+- throw AbortMarshaling();
+- }
++ // Strings are handled as variable length types above.
++ assert(pi->kind != PrimitiveInfo::KindString);
++ sz = pybuf.len;
++ PyBuffer_Release(&pybuf);
+ }
+ else
+ {
+- PyErr_Clear(); // PyObject_AsReadBuffer sets an exception on failure.
++ PyErr_Clear(); // PyObject_GetBuffer sets an exception on failure.
+
+ PyObjectHandle fs;
+ if(pi)
+@@ -1906,7 +1898,7 @@ IcePy::SequenceInfo::marshalPrimitiveSeq
+ if(pi->kind != PrimitiveInfo::KindString)
+ {
+ //
+- // With Python 3 and greater we marshal sequences of pritive types using the new
++ // With Python 3 and greater we marshal sequences of primitive types using the new
+ // buffer protocol when possible, for older versions we use the old buffer protocol.
+ //
+ #if PY_VERSION_HEX >= 0x03000000
+@@ -2030,7 +2022,7 @@ IcePy::SequenceInfo::marshalPrimitiveSeq
+ }
+ else
+ {
+- PyErr_Clear(); // PyObject_GetBuffer/PyObject_AsReadBuffer sets an exception on failure.
++ PyErr_Clear(); // PyObject_GetBuffer sets an exception on failure.
+ }
+ }
+
+--- a/python/modules/IcePy/Util.cpp
++++ b/python/modules/IcePy/Util.cpp
+@@ -729,12 +729,7 @@ PyObject*
+ IcePy::createExceptionInstance(PyObject* type)
+ {
+ assert(PyExceptionClass_Check(type));
+- IcePy::PyObjectHandle args = PyTuple_New(0);
+- if(!args.get())
+- {
+- return 0;
+- }
+- return PyEval_CallObject(type, args.get());
++ return PyObject_CallObject(type, nullptr);
+ }
+
+ static void
diff --git a/dev-libs/Manifest.gz b/dev-libs/Manifest.gz
index c7467dfa58bf5..e7ae8e945bc53 100644
--- a/dev-libs/Manifest.gz
+++ b/dev-libs/Manifest.gz
Binary files differ
diff --git a/dev-libs/granite/Manifest b/dev-libs/granite/Manifest
index f3475fa434115..c2f64ad3eebfc 100644
--- a/dev-libs/granite/Manifest
+++ b/dev-libs/granite/Manifest
@@ -1,3 +1,5 @@
DIST granite-6.2.0.tar.gz 462780 BLAKE2B bb0df3649eab212e36a20ebd365521fc4ad87d1d10e54155905585fdb39874525b3a59ec2b9a1fd19a427c9a67a94bc6e4df433560a6208370dd90d27125e24f SHA512 4d9c21a653505812c8d99508166b411d1931bd251bf51c4bff8e6a0d905b5efc60832f3e7fbf6f8d52b67b55edf299969865542db33a8276b90e05b3b4731a87
+DIST granite-7.6.0.tar.gz 420711 BLAKE2B 4045070b529d64dc1188555d9495486c282495f9cb9312e112cf78d4aafac466c2810a623e81793fb2319311209fe7d18632c0020df278aca4ceba561290be82 SHA512 0a3ab1aa9d648578d80877beaab52eebd1b77981f54f9ca0b9c88e44c9a832738e4bd52357e6537b783d64ac6a7812c8a73331dfe759d12e1f3ea212ba111f5f
EBUILD granite-6.2.0.ebuild 803 BLAKE2B 07972628486e6978a1801bc5de0ab06264b952e32b58af4ae82890a201d6dfbc6be0e34c3eeeac3210b6b13a591a4db456e794006f442dcd31d7057956be7249 SHA512 5af3483713894ebeb21201e3cb4228c986db0305d2c499f9fdccddb72fdde09d271e356b4b44cb909b866170d9eb5a57bcc1cf2e1dda3b2c2a10f2ed2e051fec
-MISC metadata.xml 484 BLAKE2B 0b56407ec0118795843ac13ae707945da367e808b60dc690cdd5321a4fbcd75ce5bdc9b0f6a4d92ac09e3130a205f479f634119f13055350acaee5ecb916179c SHA512 c6f54c31c4f915fac10b50c0cf20eaa1ded22abe5d80b73e29fd008d29f327e6163950bee28872fa5a376109dff74ce6b561e884a91ecbd762849329b3797611
+EBUILD granite-7.6.0.ebuild 808 BLAKE2B d04d9fb0fdddb1226e24d2e1270729596bbc26fec514f4e1cf6393c09be6671bc50452c884a66cca2220ed687d987c9e1e93c52d75f1e3bdf5da53e4cc3c5025 SHA512 9cf60656192f4eb1e76cc00223cb3a53df77aa479839bfe3ce33c4ecf0d705b63a3ea1b9a34cc6e1e1c351e0c0668d35cfa041bb9bac30c0359ba629a9c43613
+MISC metadata.xml 690 BLAKE2B b1b6a580a42126f4c27334c167403215c02711b6e2fe07f3b2ca8c18f3270ed5ae7037dd1e4901fcbfdb94aa284f526b63df8f18333148102fcdaca94b078e23 SHA512 2428496660abfa9314f42d15c61bae2c788ac0ca48cae4b605222d9ba1e02ca826a3798e87f87c9cac106c3028db73db61c28a04ca63564b6d93039a9bd3396a
diff --git a/dev-libs/granite/granite-7.6.0.ebuild b/dev-libs/granite/granite-7.6.0.ebuild
new file mode 100644
index 0000000000000..21eed3a0da8e4
--- /dev/null
+++ b/dev-libs/granite/granite-7.6.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+BUILD_DIR="${WORKDIR}/${P}-build"
+
+inherit meson vala xdg
+
+DESCRIPTION="Elementary OS library that extends GTK+"
+HOMEPAGE="https://github.com/elementary/granite"
+SRC_URI="https://github.com/elementary/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3+"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~x86"
+
+BDEPEND="
+ $(vala_depend)
+ virtual/pkgconfig
+"
+DEPEND="
+ dev-lang/sassc
+ >=dev-libs/glib-2.50:2
+ dev-libs/libgee:0.8[introspection]
+ gui-libs/gtk:4[introspection]
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ default
+ vala_setup
+}
+
+src_configure() {
+ # docs disabled due to: https://github.com/elementary/granite/issues/482
+ local emesonargs=(
+ -Ddocumentation=false
+ )
+ meson_src_configure
+}
diff --git a/dev-libs/granite/metadata.xml b/dev-libs/granite/metadata.xml
index b44c37948b52b..81a7576bb39ff 100644
--- a/dev-libs/granite/metadata.xml
+++ b/dev-libs/granite/metadata.xml
@@ -2,13 +2,20 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
- <longdescription>
- Granite is a companion library for GTK+ and GLib.
- Among other things, it provides complex widgets and convenience
- functions designed for use in apps built for elementary OS.
- </longdescription>
- <upstream>
- <remote-id type="github">elementary/granite</remote-id>
- </upstream>
+ <maintainer type="person" proxied="yes">
+ <email>freijon@pm.me</email>
+ <name>Jonas Frei</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ Granite is a companion library for GTK+ and GLib.
+ Among other things, it provides complex widgets and convenience
+ functions designed for use in apps built for elementary OS.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">elementary/granite</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libsecp256k1/Manifest b/dev-libs/libsecp256k1/Manifest
index cc5fd8ab35570..5889dc402ff31 100644
--- a/dev-libs/libsecp256k1/Manifest
+++ b/dev-libs/libsecp256k1/Manifest
@@ -1,6 +1,8 @@
AUX 0.4.0-fix-cross-compile.patch 4361 BLAKE2B a42a42404477cb69ffef4f6d2fb92efb1f7c09153c65dcbf467a9c756ef1e0e4df8bfbc06068aaff9e1e494d1d280a6f3f836c655c23b5d4fe4162add2bf4596 SHA512 28ae55f9b0ca02173bbb159b5232b4531fa6149d7888e5ff860f4a0e85e4c64e9544a8007452382e6615d1c922dc6d42cdaebebe0b82a2cad93b0c3ccb279839
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
EBUILD libsecp256k1-0.5.1.ebuild 1779 BLAKE2B eb6f72bdc047ee4130bb6be33a1abfc3561236f23ae1152199253ee15f380bc14c5a891fe99df9396708f48b81cb5c39d5acf15c5ba032a18c1b76ae8dde8816 SHA512 003a75b03e23056c037aab4ac26fe45f67291427e85b234f1d626bcf74681b1ae8ec431b64db32203cb28d8d2ec2702ac1a370057b3c7c55ca11f0358dc80612
EBUILD libsecp256k1-0.6.0.ebuild 1972 BLAKE2B 34e9790070cc053adfc6799858e7631a83a3eba8e83056225c9d079f9efc467f33210e7fb4c2a796a58337e36d351e52109536a0fb28a16bf7cf770b19033e01 SHA512 2747dd81cd805b86e02ba419bc86e76b3d6d2cf7e1302c0aab6b7a861cfed246dbbc623d115565567e3f5bcd199d8d7e6f698faf34978f4c3b12a6e131ac29df
-MISC metadata.xml 1243 BLAKE2B df52851a4c0c3ac5d14e609abb8b43fea01a56436e4824171713262e1cfb5828d7e91e060eb48196ddd72fce90bdfb823f51772c399172963721de1561f4a5a7 SHA512 3a4ba1d15a7b1e9b126f2ac7d5e6453c8836f3203acd4d76bb13cdec60e1de1e39ac6e90e1ee380f051c1740fd6be48d3a1a8780cc248cb06f46186395bbf754
+EBUILD libsecp256k1-0.7.0.ebuild 2406 BLAKE2B 3695a783b00bf4e918ba39397134a6269b7c117ff9161593eb6d253acbc0d7b2aab005c05826cc6898a85d3b446463321069a6ab9bbe7fb99d5942456908d9a2 SHA512 994b3c1908a3c6782ba408c39ed0273474b20448d984a62c6f5043e1a98e0dc116a79f70d27b2ab75ba2df0aadd7c4c3e84a1128a601cd6ffec8c7777a02ca15
+MISC metadata.xml 1301 BLAKE2B d966b904847a20657df2cb7914dba531727e3b619cb957e93476a81517a6453572d318ca16f1aa8e370e6349595109c34ba7f478a00053b69a35934cf3a4ec6d SHA512 12b93df919ee5ab5c2bd561809a05b98dac25286c27df1fd45ec8c1ad1d546693c5a80de0b771fa8ac62d9dfcdd50c45e2b1390cd4c502fcfe05e5e580cb6835
diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.7.0.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.7.0.ebuild
new file mode 100644
index 0000000000000..895524e947738
--- /dev/null
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.7.0.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2025 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 ~amd64-linux ~x86-linux"
+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
+}
diff --git a/dev-libs/libsecp256k1/metadata.xml b/dev-libs/libsecp256k1/metadata.xml
index 08a4e16cdf19f..345fcd6e1c01d 100644
--- a/dev-libs/libsecp256k1/metadata.xml
+++ b/dev-libs/libsecp256k1/metadata.xml
@@ -22,6 +22,7 @@
<flag name="musig">Enable MuSig2 module</flag>
<flag name="recovery">Enable ECDSA pubkey recovery module</flag>
<flag name="schnorr">Enable Schnorr signature module</flag>
+ <flag name="test-full">Enable exhaustive tests</flag>
</use>
<upstream>
<remote-id type="github">bitcoin-core/secp256k1</remote-id>