diff options
author | mirror@stealer.net <mirror@stealer.net> | 2025-07-23 03:00:24 +0000 |
---|---|---|
committer | mirror@stealer.net <mirror@stealer.net> | 2025-07-23 03:00:24 +0000 |
commit | 52bc587a17c863a17d76a37b26c0c36f5e7a179c (patch) | |
tree | 570795be41128f5c009ef83b7d8a2aeaccdec870 /dev-libs | |
parent | ff219cd15a1c2dde0b5feda9ac5a7ee5dd28b5b5 (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.ebuild | 9 | ||||
-rw-r--r-- | dev-libs/Ice/Ice-3.7.10-r2.ebuild | 9 | ||||
-rw-r--r-- | dev-libs/Ice/Manifest | 5 | ||||
-rw-r--r-- | dev-libs/Ice/files/Ice-3.7.8-python3.13.patch | 96 | ||||
-rw-r--r-- | dev-libs/Manifest.gz | bin | 99207 -> 99203 bytes | |||
-rw-r--r-- | dev-libs/granite/Manifest | 4 | ||||
-rw-r--r-- | dev-libs/granite/granite-7.6.0.ebuild | 41 | ||||
-rw-r--r-- | dev-libs/granite/metadata.xml | 25 | ||||
-rw-r--r-- | dev-libs/libsecp256k1/Manifest | 4 | ||||
-rw-r--r-- | dev-libs/libsecp256k1/libsecp256k1-0.7.0.ebuild | 84 | ||||
-rw-r--r-- | dev-libs/libsecp256k1/metadata.xml | 1 |
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 Binary files differindex c7467dfa58bf5..e7ae8e945bc53 100644 --- a/dev-libs/Manifest.gz +++ b/dev-libs/Manifest.gz 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> |