summaryrefslogtreecommitdiff
path: root/dev-libs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-12-10 09:20:14 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-12-10 09:20:14 +0000
commitc15acf374d4b25ba5afcb52435da6090f2d98a20 (patch)
treef3be21d2a949edee4af8b18e1d9ae7501ae5f186 /dev-libs
parentcaf79cb4f7c4d5f7cce488d8f50dfb98ddbd09ab (diff)
gentoo auto-resync : 10:12:2022 - 09:20:14
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/Manifest.gzbin95831 -> 95834 bytes
-rw-r--r--dev-libs/libpcre2/Manifest2
-rw-r--r--dev-libs/libpcre2/libpcre2-10.40-r1.ebuild2
-rw-r--r--dev-libs/mpc/Manifest4
-rw-r--r--dev-libs/mpc/mpc-1.2.1.ebuild2
-rw-r--r--dev-libs/mpc/mpc-1.3.0.ebuild2
-rw-r--r--dev-libs/nss/Manifest3
-rw-r--r--dev-libs/nss/files/nss-3.87-fix-client-cert-crash.patch38
-rw-r--r--dev-libs/nss/nss-3.86.ebuild395
-rw-r--r--dev-libs/openssl/Manifest2
-rw-r--r--dev-libs/openssl/openssl-1.1.1s.ebuild2
-rw-r--r--dev-libs/pocl/Manifest2
-rw-r--r--dev-libs/pocl/pocl-3.1.ebuild136
13 files changed, 582 insertions, 8 deletions
diff --git a/dev-libs/Manifest.gz b/dev-libs/Manifest.gz
index 6d9ccda62d51..58cfab49d089 100644
--- a/dev-libs/Manifest.gz
+++ b/dev-libs/Manifest.gz
Binary files differ
diff --git a/dev-libs/libpcre2/Manifest b/dev-libs/libpcre2/Manifest
index 3446fff309e0..b38a186cfa67 100644
--- a/dev-libs/libpcre2/Manifest
+++ b/dev-libs/libpcre2/Manifest
@@ -5,7 +5,7 @@ DIST pcre2-10.40.tar.bz2 1765440 BLAKE2B 627a204585b92238eda81b4befc88757a81d75b
DIST pcre2-10.40.tar.bz2.sig 310 BLAKE2B 9609111a64b66893b12e36d1cbc77b64d6a0cc30b9288e52753785ddcab37cc3e169d0f117d94e4ad7d7ff897a6ba0a574c9a2e529c3c7e171f5a1bc6f64fe23 SHA512 faa4b47fdac1543cd323651f251b8abb94b31b5966b42d445b8cbb38c441df4742e3c3517c2bc6c0a4464e9fb5feab5d5beda1250a03d56bec2d8383be2f63ab
DIST pcre2-10.41.tar.bz2 1799126 BLAKE2B 4335eae8e8a327c32092a1a9f8214fa86a2d016deb7450938c4ddc38214b72dfa8c6f9c85a03bb36b3686390d378d74fdd991563f92611c42a54915310604559 SHA512 328f331a56f152424f6021b37f8dcf660842c55d43ff39f1b49115f0d05ed651d0bbb66b43c0ed61d65022030615768b92ce5e6218a54e4e17152ec473cca68d
DIST pcre2-10.41.tar.bz2.sig 310 BLAKE2B 4ee3f9327bf568e38d1c072a4be93cdab4209e7b0cc0d183b978553cd7413ba9f292318ddf815cf44bc24872f685ee4ff9bceddd7d0e915b7be67c43fd8bf8f7 SHA512 4127258f17011be7c82d9412728863a9121c5b780514ec836769ab64ccd4cd5349a84fc85b8fdc4abb2e6fe08f4610b2a3e926116e7f1451d90d9afaa888661c
-EBUILD libpcre2-10.40-r1.ebuild 3018 BLAKE2B a665bd650956f6fc81932f9cda52796832db7fead4fd1ff1c0be900898af573a1eaa7b8305600e2aa27d019c4c13b34b6c306e47d63136f55d53b9ed206bcf89 SHA512 43c58d18ab5e4762ca0124acf45a70a8d04b2ad9d57259043950915cdef04e21568c5b32c167c63cf6a808d4b1b15ff72263e5d89c80d3e5fef7b704a1915789
+EBUILD libpcre2-10.40-r1.ebuild 3012 BLAKE2B cedcec02bc2d394fa14c63eb6bf3b68b2d17c89e531e13b82906231b49bc73c535481a63c89fb21be8354a907ebf6659c262d989599d40ffa8b47abddf86d675 SHA512 27a27635e531543a8e532c7d4a609eb449c86aa886af8dea7693ec7c9ad09511e608f9a7781867d707c3861eebe8b69ed72a7a16b8147ad0ce9148c003b8aff0
EBUILD libpcre2-10.40.ebuild 2978 BLAKE2B 689d60aabd0b0278816571add95ddfe47b914d1bf7d55736ae8d0db8a46d7db788c3c61df5eae827f1eaec54389cb5d6dd0ff6e0bd2941f4a2405cb76b422cc4 SHA512 375fca4b0b11d8aba628e0ce86d87c3f7bb3b99faf63b63364eb9efc6a04910db2f11b216368456aaeb0143f0fbd64ea1e59f8061e12dfd53260172f9f6b169d
EBUILD libpcre2-10.41-r1.ebuild 2563 BLAKE2B b1722855587ab47629c620afd00ebd6b694193326885f8c26000a563080976957bc4e4f201ac3cebb60025bf54333b52128afe4ab4fee4fe7d197c971d51d777 SHA512 5d150ef1a6d8b6ea74c936d89972456e191df80c5d6645548c2a11ff7ff64a0ec3a5e46ce73565249ffa611754bd64d77cd3f2287f8b5811474f59bd491a486e
MISC metadata.xml 1087 BLAKE2B 693e7f9a4d9cac7b2aa5f24804826f79135a0475770b8ef5058b09542c3b19d30ddef438029dc0358b997ebc032ab103432b1274723c81882f1b5359455c765a SHA512 74dcb822827b8cc3e86c525ab3e2ee302d39ee00d5b4515f9fd6f4a157ae1522a2edbd08b97c2950d9370878f41eb59e414a145d6beae430dab57ea10df68460
diff --git a/dev-libs/libpcre2/libpcre2-10.40-r1.ebuild b/dev-libs/libpcre2/libpcre2-10.40-r1.ebuild
index 552ef634d931..6fab7a039079 100644
--- a/dev-libs/libpcre2/libpcre2-10.40-r1.ebuild
+++ b/dev-libs/libpcre2/libpcre2-10.40-r1.ebuild
@@ -29,7 +29,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="BSD"
SLOT="0/3" # libpcre2-posix.so version
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="bzip2 +jit libedit +pcre16 pcre32 +readline static-libs unicode zlib"
REQUIRED_USE="?? ( libedit readline )"
diff --git a/dev-libs/mpc/Manifest b/dev-libs/mpc/Manifest
index 59a6bdf4ec9b..feb840256345 100644
--- a/dev-libs/mpc/Manifest
+++ b/dev-libs/mpc/Manifest
@@ -1,5 +1,5 @@
DIST mpc-1.2.1.tar.gz 838731 BLAKE2B 9cd03c6a71839e4cdb3c1f18d718cc4d3097c3f8ec307a5c756bd5df27c68aa013755156b3b156efee1acabfee2269602c6a3a358092ef0d522271c9c56c133d SHA512 3279f813ab37f47fdcc800e4ac5f306417d07f539593ca715876e43e04896e1d5bceccfb288ef2908a3f24b760747d0dbd0392a24b9b341bc3e12082e5c836ee
DIST mpc-1.3.0.tar.gz 773441 BLAKE2B b9e2f4cda2457b1e885e4099daaf55a4c226291ec60097e40835f6e311c297947fe5cfd6ce61f80eecfbc8d374923422c4050a10399b26b23c12ab0f3f53a0f5 SHA512 9c18b24f7542dc1dc5e10cf58fd242e73d79a9dc3619c3f08d52aed75ad0e7d9e2ba2c46857717c8b921b084af2efc8c0d2d7173081af764b81c24a8971ddd9a
-EBUILD mpc-1.2.1.ebuild 907 BLAKE2B b56827cc6a774e09e4ce46ba7e04be151f563c733eae3952f474d7ed6ab3cbdc80e5ce6fcdcb4d7873dc19aa1750c342619a198734707e0185a6c26b605826c4 SHA512 b853fbbed5a89c823e66a65dd84f550e0f9c054eafcc4027f5bc8fd4f2c6584f0a2e9b1b03d93f87bef52dd264751666ab11ca3325ac833129004466670d2dbd
-EBUILD mpc-1.3.0.ebuild 1051 BLAKE2B df9b0084406c9c17e6c952a2cc3ffed5e3e8fc1ccb4d3ea53011c6f026bd972c747e3c679a2d3fc6b31be1d2ac1b4cab48c7a87ce685deefe8d9c75a62defd4f SHA512 fbb40a58fac8074a9713ae88738ad26528c03067dbeb1820755cf10c535ae2fdd4e5503360618f568100639990052821b0f7206cb6afb828715133f7c5867bf2
+EBUILD mpc-1.2.1.ebuild 939 BLAKE2B 7af59b1cc4ede3496d708bf774dba385dd88ae88d1935f51b342f93f7cd02686687176f6a5723c73fbcbbc945b8ec07bf38b43ab94082c9fca41a62b01e9901c SHA512 59e817cb235cce2ada39eb88c9856e329325833e898ca6e5a779c7cebb4b1b9ba0d9ad374e39667b9056ee665768651c493db4c3c2e902ec176a59384828f211
+EBUILD mpc-1.3.0.ebuild 1083 BLAKE2B a00bf2001c3a52e9bdbe05acd38bfdb53ba83454d76757d9356e2cf1a196e424c01873dad8a5e5334cfccfebf83d6325c64acbd32cee88f2d09c6b59923c82c2 SHA512 d38cd71469e45a15608cba00d9268770da61b373f573f6b2c9b9f58d163984f3cdec82eb5f7ba9d25f29eda9855c8fa8fc47c1b726a59122093fdb25d65c2863
MISC metadata.xml 262 BLAKE2B fe330d67755784d14f5c5d664d7127d3cdb9edfab55b907ae3632f434d86323604f5095e1c1a9fbd169ae7a4cbb38f359e55f75047531786247c0674a4a53715 SHA512 3bcaca4e730edeed06fed73e79a5ce0a3358174672735ea4b27240c6c421ac9c33bc2b63a31e596fe1bbb6b1816c16cbc7ef4f258ca906ba04ea7db4aedc86b9
diff --git a/dev-libs/mpc/mpc-1.2.1.ebuild b/dev-libs/mpc/mpc-1.2.1.ebuild
index 4198499ae66c..01a56d4d819a 100644
--- a/dev-libs/mpc/mpc-1.2.1.ebuild
+++ b/dev-libs/mpc/mpc-1.2.1.ebuild
@@ -6,7 +6,7 @@ EAPI=7
inherit multilib-minimal
DESCRIPTION="A library for multiprecision complex arithmetic with exact rounding"
-HOMEPAGE="https://www.multiprecision.org/mpc/"
+HOMEPAGE="https://www.multiprecision.org/mpc/ https://gitlab.inria.fr/mpc/mpc"
SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
LICENSE="LGPL-2.1"
diff --git a/dev-libs/mpc/mpc-1.3.0.ebuild b/dev-libs/mpc/mpc-1.3.0.ebuild
index deb382f0c2ab..aa330fda2d8a 100644
--- a/dev-libs/mpc/mpc-1.3.0.ebuild
+++ b/dev-libs/mpc/mpc-1.3.0.ebuild
@@ -6,7 +6,7 @@ EAPI=8
inherit multilib-minimal
DESCRIPTION="A library for multiprecision complex arithmetic with exact rounding"
-HOMEPAGE="https://www.multiprecision.org/mpc/"
+HOMEPAGE="https://www.multiprecision.org/mpc/ https://gitlab.inria.fr/mpc/mpc"
if [[ ${PV} == *_rc* ]] ; then
SRC_URI="https://www.multiprecision.org/downloads/${P/_}.tar.gz"
diff --git a/dev-libs/nss/Manifest b/dev-libs/nss/Manifest
index c595fde312ea..e8033c090419 100644
--- a/dev-libs/nss/Manifest
+++ b/dev-libs/nss/Manifest
@@ -3,9 +3,12 @@ AUX nss-3.23-hppa-byte_order.patch 460 BLAKE2B 97358cc8fbea0b0d3beee0697833e48ef
AUX nss-3.53-gentoo-fixups.patch 6886 BLAKE2B 1c605d8db02ebe0492c41955207368197a79990e43e219a71962cb28ac0cecd9e0acc2b76e16f5b116fdb8bf8790d96046cb4f376df9b8634ac48e54924589f8 SHA512 51031f92519f57d4b57a547cf549f2d5da1c5a7212d4b304fb0d71d6a85a5aefd64724ec9075c14c9b49c1e99c3ffe91cbec501c3504985aa9b16eacf2aa15ed
AUX nss-3.79-fix-client-cert-crash.patch 912 BLAKE2B e05e061c7a0d82af6f00bf9ff68190510ea81ac3db5320bc27e673b1b3aad6da3b6a05791c4d1e725fdb292668667ba4aa4209315e31fd590c9d49214e672088 SHA512 dacf289225f6cfde8ff2756f2d16d809c3c73ceab15cda45e7afc58f2c69385232e9b0953519adca5cfeb7f50595b083f9a1f127af29adec4445b7b58c4ee072
AUX nss-3.79-gcc-13.patch 1058 BLAKE2B d0249304f09fdea7e391732e7da63344c3e29c1856cb5ddb9e55a27305ab050077d138d9a8fdfbd6573bd7e7a345ed39f506e534464c3caaae925d1717b75edb SHA512 24dd41401b44ce86498a9b42f96068dbf58c6814ab18453db0615d49bdf327610a1ee2b0e32a2905a1c34364abd8d4c162a179f6b57cac19068babebbed229b4
+AUX nss-3.87-fix-client-cert-crash.patch 1506 BLAKE2B 09d37926a38ff4945acd6b1e03212dd2b25386ee9db4b05e95fc314782af03c875217921686a9ae8a34c9909b208feb1949d5188f7ca78ce8d1a0d47a2cce38f SHA512 f7b864960276954ca4df684327f51c2111f006ff1e77536945c1601a4fabddf3acd6134d78694c565d484739585c943b47c1405523997c684fdcae3ec50a9763
DIST nss-3.79.2.tar.gz 84825187 BLAKE2B 9589095a0f3af5201662fe96ba4dac73c661db3abde534941ea61d597dce1016dc06f8559e26fafc940f2b123987381e1faa22ff6a995ef3cc0a9dc4ebe7a4ad SHA512 52ca7574d2bb6e2fd874ac40f3e75d58135b103d8bd4b964a9262b5c302b4668ff7c8f5dabbef46e413fd72faeddc44057bc7b489946813331cc9a481d078181
DIST nss-3.85.tar.gz 84717969 BLAKE2B 644a51cd747078688233850bee6884b7ee30076411d783a4fb2982ffc35883f51784440d8c1c727251f664c4e5b5071be9881abc8315e0294d7da0cb8727e897 SHA512 97cfffa2beed1dba5d31e0c6e450553e5a8c78b427521640adb00c05d9d63cd64dc08388f0dbf96c93efb79f5daf4ba8db8d026b0b43d2e5c865a9b833fc77a1
+DIST nss-3.86.tar.gz 71423531 BLAKE2B 36703d99d9616020a165085469be650c2f4ce3e11c2f4f6bd974b1b89f1b9fcfdaa4ffd4d6ee98dabce82e616c170548efa1e51722b524dda8815faccfcf5181 SHA512 c09aeb52d7898617b65a1090cbdd29f6457eff2ebdc61aadb2dbf7b5044eae010ee5eeea729825f1258902936a61a1bff552ee9b26b2f01e5d448bbd8791d1cb
DIST nss-cacert-class1-class3-r2.patch 21925 BLAKE2B 7627ff9a09f084c19d72d0490676865e3cab3ca7c920ae1ce4bea2db664f37fd0aa84fcda919809a516891ab2a62e2e7a43a9d6ada4c231adfe4c216525fac7d SHA512 1ce6ff9ab310aaca9005eafb461338b291df8523cc7044e096cd75774ce746c26eed19ec6bb2643c6c67f94650f2f309463492d80a90568f38ce2557f8ada2f4
EBUILD nss-3.79.2.ebuild 10529 BLAKE2B f6396c9e295c46ffc0f9f811251f459b42515212c4ed8c5c21db1b6df1a1aa84b8da4385749d8067ce1f0d95633dd9de6eba146e599c3da4a4190b4906e9f878 SHA512 1b4c4b0471816d4ab89745bd3e34b232adafc93537ff631413e7e4cee460167504d1b972a1c48b0b3c6bb324a8b2e564b162b1bb63f73ac5413599239b15ec30
EBUILD nss-3.85.ebuild 10683 BLAKE2B 7c6f326fedd043055aeb0ab5fc59955ee9c3eca7a789302f8004501db9272da60146e8d71cba630acab8a443a180ff914d47fa714c4e381c42660470cdf79a51 SHA512 1d5083890f6d381a1a22c7478a6b0bb15ae435262c14bd68d228b7b706de8aed63fe66c16970d44620180b362babbe8f29e5342510f1fc9804520afb9674b873
+EBUILD nss-3.86.ebuild 10683 BLAKE2B 1d3961ac99b3ca5f63d668c4fe00e0d1b3606fd6fafbae764fae5c4d82da15a7bed94c0d3d4b21b041c7d8e4a943b783864d90188dd7f6cb0273f343cb58a514 SHA512 e40ae69225ca409e1dec6946699051ae054d755fd45060e6f51bf1e5b9b4a360ebecb808f4c6608e97e9501a103fb9c67b9c14b42df587dc5489d28190366bd9
MISC metadata.xml 517 BLAKE2B 85fba14d0b8a3539c57b8dca15a0f7789bb78a92891ff39271f804fa07b1620f5f3ece89269e3305b578064a53aeae7ab298bb97cdc019f41793888d42159727 SHA512 7b1fba5488498d5499134f1b58ecaa01cb8c51af3da666d55fba3884703d34efb57b449e76461fb6e13c37687bf5125c5dbab1934a950d4d13c0cff5a3b3318e
diff --git a/dev-libs/nss/files/nss-3.87-fix-client-cert-crash.patch b/dev-libs/nss/files/nss-3.87-fix-client-cert-crash.patch
new file mode 100644
index 000000000000..2f8c3b37219b
--- /dev/null
+++ b/dev-libs/nss/files/nss-3.87-fix-client-cert-crash.patch
@@ -0,0 +1,38 @@
+diff --git a/lib/ssl/authcert.c b/lib/ssl/authcert.c
+--- a/lib/ssl/authcert.c
++++ b/lib/ssl/authcert.c
+@@ -204,10 +204,13 @@
+ if (certList == NULL) {
+ certList = CERT_FindUserCertsByUsage(CERT_GetDefaultCertDB(),
+ certUsageSSLClient,
+ PR_FALSE, chosenNickName == NULL,
+ pw_arg);
++ if (certList == NULL) {
++ return SECFailure;
++ }
+ /* filter only the certs that meet the nickname requirements */
+ if (chosenNickName) {
+ rv = CERT_FilterCertListByNickname(certList, chosenNickName,
+ pw_arg);
+ } else {
+@@ -217,17 +220,14 @@
+ certUsageSSLClient);
+ ssl_FreeDistNamesStrings(names, nnames);
+ }
+ if ((rv != SECSuccess) || CERT_LIST_EMPTY(certList)) {
+ CERT_DestroyCertList(certList);
+- certList = NULL;
++ return SECFailure;
+ }
+ }
+- if (certList == NULL) {
+- /* no user certs meeting the nickname/usage requirements found */
+- return SECFailure;
+- }
++
+ /* now remove any certs that can't meet the connection requirements */
+ rv = ssl_FilterClientCertListBySSLSocket(ss, certList);
+ if ((rv != SECSuccess) || CERT_LIST_EMPTY(certList)) {
+ // no certs left.
+ CERT_DestroyCertList(certList);
+
diff --git a/dev-libs/nss/nss-3.86.ebuild b/dev-libs/nss/nss-3.86.ebuild
new file mode 100644
index 000000000000..c817a9a7e558
--- /dev/null
+++ b/dev-libs/nss/nss-3.86.ebuild
@@ -0,0 +1,395 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic multilib toolchain-funcs multilib-minimal
+
+NSPR_VER="4.35"
+RTM_NAME="NSS_${PV//./_}_RTM"
+
+DESCRIPTION="Mozilla's Network Security Services library that implements PKI support"
+HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS"
+SRC_URI="https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/${P}.tar.gz
+ cacert? ( https://dev.gentoo.org/~whissi/dist/ca-certificates/nss-cacert-class1-class3-r2.patch )"
+
+LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
+IUSE="cacert test +utils cpu_flags_ppc_altivec cpu_flags_ppc_vsx"
+RESTRICT="!test? ( test )"
+# pkg-config called by nss-config -> virtual/pkgconfig in RDEPEND
+RDEPEND="
+ >=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
+ >=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ virtual/pkgconfig
+"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-lang/perl"
+
+S="${WORKDIR}/${P}/${PN}"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/nss-config
+)
+
+PATCHES=(
+ # Custom changes for gentoo
+ "${FILESDIR}/${PN}-3.53-gentoo-fixups.patch"
+ "${FILESDIR}/${PN}-3.21-gentoo-fixup-warnings.patch"
+ "${FILESDIR}/${PN}-3.23-hppa-byte_order.patch"
+ "${FILESDIR}/${PN}-3.87-fix-client-cert-crash.patch"
+)
+
+QA_PKGCONFIG_VERSION="${PV}.0"
+
+src_prepare() {
+ default
+
+ if use cacert ; then
+ eapply -p2 "${DISTDIR}"/nss-cacert-class1-class3-r2.patch
+ fi
+
+ pushd coreconf >/dev/null || die
+ # hack nspr paths
+ echo 'INCLUDES += -I$(DIST)/include/dbm' \
+ >> headers.mk || die "failed to append include"
+
+ # modify install path
+ sed -e '/CORE_DEPTH/s:SOURCE_PREFIX.*$:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
+ -i source.mk || die
+
+ # Respect LDFLAGS
+ sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk
+
+ # Workaround make-4.4's change to sub-make, bmo#1800237, bgo#882069
+ sed -i -e "s/^CPU_TAG = _.*/CPU_TAG = _$(nssarch)/" Linux.mk || die
+
+ popd >/dev/null || die
+
+ # Fix pkgconfig file for Prefix
+ sed -i -e "/^PREFIX =/s:= /usr:= ${EPREFIX}/usr:" \
+ config/Makefile || die
+
+ # use host shlibsign if need be #436216
+ if tc-is-cross-compiler ; then
+ sed -i \
+ -e 's:"${2}"/shlibsign:shlibsign:' \
+ cmd/shlibsign/sign.sh || die
+ fi
+
+ # dirty hack
+ sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../freebl/\$(OBJDIR):" \
+ lib/ssl/config.mk || die
+ sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../../lib/freebl/\$(OBJDIR):" \
+ cmd/platlibs.mk || die
+
+ multilib_copy_sources
+
+ strip-flags
+}
+
+multilib_src_configure() {
+ # Ensure we stay multilib aware
+ sed -i -e "/@libdir@/ s:lib64:$(get_libdir):" config/Makefile || die
+}
+
+nssarch() {
+ # Most of the arches are the same as $ARCH
+ local t=${1:-${CHOST}}
+ case ${t} in
+ *86*-pc-solaris2*) echo "i86pc" ;;
+ aarch64*) echo "aarch64" ;;
+ hppa*) echo "parisc" ;;
+ i?86*) echo "i686" ;;
+ x86_64*) echo "x86_64" ;;
+ *) tc-arch ${t} ;;
+ esac
+}
+
+nssbits() {
+ local cc cppflags="${1}CPPFLAGS" cflags="${1}CFLAGS"
+ if [[ ${1} == BUILD_ ]]; then
+ cc=$(tc-getBUILD_CC)
+ else
+ cc=$(tc-getCC)
+ fi
+ echo > "${T}"/test.c || die
+ ${cc} ${!cppflags} ${!cflags} -c "${T}"/test.c -o "${T}/${1}test.o" || die
+ case $(file "${T}/${1}test.o") in
+ *32-bit*x86-64*) echo USE_X32=1;;
+ *64-bit*|*ppc64*|*x86_64*) echo USE_64=1;;
+ *32-bit*|*ppc*|*i386*) ;;
+ *) die "Failed to detect whether ${cc} builds 64bits or 32bits, disable distcc if you're using it, please";;
+ esac
+}
+
+multilib_src_compile() {
+ # use ABI to determine bit'ness, or fallback if unset
+ local buildbits mybits
+ case "${ABI}" in
+ n32) mybits="USE_N32=1";;
+ x32) mybits="USE_X32=1";;
+ s390x|*64) mybits="USE_64=1";;
+ ${DEFAULT_ABI})
+ einfo "Running compilation test to determine bit'ness"
+ mybits=$(nssbits)
+ ;;
+ esac
+ # bitness of host may differ from target
+ if tc-is-cross-compiler; then
+ buildbits=$(nssbits BUILD_)
+ fi
+
+ local makeargs=(
+ CC="$(tc-getCC)"
+ CCC="$(tc-getCXX)"
+ AR="$(tc-getAR) rc \$@"
+ RANLIB="$(tc-getRANLIB)"
+ OPTIMIZER=
+ ${mybits}
+ disable_ckbi=0
+ )
+
+ # Take care of nspr settings #436216
+ local myCPPFLAGS="${CPPFLAGS} $($(tc-getPKG_CONFIG) nspr --cflags)"
+ unset NSPR_INCLUDE_DIR
+
+ export NSS_ALLOW_SSLKEYLOGFILE=1
+ export NSS_ENABLE_WERROR=0 #567158
+ export BUILD_OPT=1
+ export NSS_USE_SYSTEM_SQLITE=1
+ export NSDISTMODE=copy
+ export FREEBL_NO_DEPEND=1
+ export FREEBL_LOWHASH=1
+ export NSS_SEED_ONLY_DEV_URANDOM=1
+ export USE_SYSTEM_ZLIB=1
+ export ZLIB_LIBS=-lz
+ export ASFLAGS=""
+ # Fix build failure on arm64
+ export NS_USE_GCC=1
+ # Detect compiler type and set proper environment value
+ if tc-is-gcc; then
+ export CC_IS_GCC=1
+ elif tc-is-clang; then
+ export CC_IS_CLANG=1
+ fi
+
+ export NSS_DISABLE_GTESTS=$(usex !test 1 0)
+
+ # explicitly disable altivec/vsx if not requested
+ # https://bugs.gentoo.org/789114
+ case ${ARCH} in
+ ppc*)
+ use cpu_flags_ppc_altivec || export NSS_DISABLE_ALTIVEC=1
+ use cpu_flags_ppc_vsx || export NSS_DISABLE_CRYPTO_VSX=1
+ ;;
+ esac
+
+ local d
+
+ # Build the host tools first.
+ LDFLAGS="${BUILD_LDFLAGS}" \
+ XCFLAGS="${BUILD_CFLAGS}" \
+ NSPR_LIB_DIR="${T}/fakedir" \
+ emake -C coreconf \
+ CC="$(tc-getBUILD_CC)" \
+ ${buildbits-${mybits}}
+ makeargs+=( NSINSTALL="${PWD}/$(find -type f -name nsinstall)" )
+
+ # Then build the target tools.
+ for d in . lib/dbm ; do
+ CPPFLAGS="${myCPPFLAGS}" \
+ XCFLAGS="${CFLAGS} ${CPPFLAGS}" \
+ NSPR_LIB_DIR="${T}/fakedir" \
+ emake "${makeargs[@]}" -C ${d} OS_TEST="$(nssarch)"
+ done
+}
+
+multilib_src_test() {
+ einfo "Tests can take a *long* time, especially on a multilib system."
+ einfo "30-45+ minutes per lib configuration. Bug #852755"
+
+ # https://www.linuxfromscratch.org/blfs/view/svn/postlfs/nss.html
+ # https://firefox-source-docs.mozilla.org/security/nss/legacy/nss_sources_building_testing/index.html#running_the_nss_test_suite
+ # https://www-archive.mozilla.org/projects/security/pki/nss/testnss_32.html (older)
+ export BUILD_OPT=1
+ export HOST="localhost"
+ export DOMSUF="localdomain"
+ export USE_IP=TRUE
+ export IP_ADDRESS="127.0.0.1"
+
+ NSINSTALL="${PWD}/$(find -type f -name nsinstall)"
+
+ cd "${BUILD_DIR}"/tests || die
+ # Hack to get current objdir (prefixed dir where built binaries are)
+ # Without this, at least multilib tests go wrong when building the amd64 variant
+ # after x86.
+ local objdir=$(find "${BUILD_DIR}"/dist -maxdepth 1 -iname Linux* | rev | cut -d/ -f1 | rev)
+
+ # Can tweak to a subset of tests in future if we need to, but would prefer not
+ OBJDIR="${objdir}" DIST="${BUILD_DIR}/dist" MOZILLA_ROOT="${BUILD_DIR}" ./all.sh || die
+}
+
+# Altering these 3 libraries breaks the CHK verification.
+# All of the following cause it to break:
+# - stripping
+# - prelink
+# - ELF signing
+# http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html
+# Either we have to NOT strip them, or we have to forcibly resign after
+# stripping.
+#local_libdir="$(get_libdir)"
+#export STRIP_MASK="
+# */${local_libdir}/libfreebl3.so*
+# */${local_libdir}/libnssdbm3.so*
+# */${local_libdir}/libsoftokn3.so*"
+
+export NSS_CHK_SIGN_LIBS="freebl3 nssdbm3 softokn3"
+
+generate_chk() {
+ local shlibsign="$1"
+ local libdir="$2"
+ einfo "Resigning core NSS libraries for FIPS validation"
+ shift 2
+ local i
+ for i in ${NSS_CHK_SIGN_LIBS} ; do
+ local libname=lib${i}.so
+ local chkname=lib${i}.chk
+ "${shlibsign}" \
+ -i "${libdir}"/${libname} \
+ -o "${libdir}"/${chkname}.tmp \
+ && mv -f \
+ "${libdir}"/${chkname}.tmp \
+ "${libdir}"/${chkname} \
+ || die "Failed to sign ${libname}"
+ done
+}
+
+cleanup_chk() {
+ local libdir="$1"
+ shift 1
+ local i
+ for i in ${NSS_CHK_SIGN_LIBS} ; do
+ local libfname="${libdir}/lib${i}.so"
+ # If the major version has changed, then we have old chk files.
+ [ ! -f "${libfname}" -a -f "${libfname}.chk" ] \
+ && rm -f "${libfname}.chk"
+ done
+}
+
+multilib_src_install() {
+ pushd dist >/dev/null || die
+
+ dodir /usr/$(get_libdir)
+ cp -L */lib/*$(get_libname) "${ED}"/usr/$(get_libdir) || die "copying shared libs failed"
+ local i
+ for i in crmf freebl nssb nssckfw ; do
+ cp -L */lib/lib${i}.a "${ED}"/usr/$(get_libdir) || die "copying libs failed"
+ done
+
+ # Install nss-config and pkgconfig file
+ dodir /usr/bin
+ cp -L */bin/nss-config "${ED}"/usr/bin || die
+ dodir /usr/$(get_libdir)/pkgconfig
+ cp -L */lib/pkgconfig/nss.pc "${ED}"/usr/$(get_libdir)/pkgconfig || die
+
+ # create an nss-softokn.pc from nss.pc for libfreebl and some private headers
+ # bug 517266
+ sed -e 's#Libs:#Libs: -lfreebl#' \
+ -e 's#Cflags:#Cflags: -I${includedir}/private#' \
+ */lib/pkgconfig/nss.pc >"${ED}"/usr/$(get_libdir)/pkgconfig/nss-softokn.pc \
+ || die "could not create nss-softokn.pc"
+
+ # all the include files
+ insinto /usr/include/nss
+ doins public/nss/*.{h,api}
+ insinto /usr/include/nss/private
+ doins private/nss/{blapi,alghmac,cmac}.h
+
+ popd >/dev/null || die
+
+ local f nssutils
+ # Always enabled because we need it for chk generation.
+ nssutils=( shlibsign )
+
+ if multilib_is_native_abi ; then
+ if use utils; then
+ # The tests we do not need to install.
+ #nssutils_test="bltest crmftest dbtest dertimetest
+ #fipstest remtest sdrtest"
+ # checkcert utils has been removed in nss-3.22:
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1187545
+ # https://hg.mozilla.org/projects/nss/rev/df1729d37870
+ # certcgi has been removed in nss-3.36:
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1426602
+ nssutils+=(
+ addbuiltin
+ atob
+ baddbdir
+ btoa
+ certutil
+ cmsutil
+ conflict
+ crlutil
+ derdump
+ digest
+ makepqg
+ mangle
+ modutil
+ multinit
+ nonspr10
+ ocspclnt
+ oidcalc
+ p7content
+ p7env
+ p7sign
+ p7verify
+ pk11mode
+ pk12util
+ pp
+ rsaperf
+ selfserv
+ signtool
+ signver
+ ssltap
+ strsclnt
+ symkeyutil
+ tstclnt
+ vfychain
+ vfyserv
+ )
+ # install man-pages for utils (bug #516810)
+ doman doc/nroff/*.1
+ fi
+ pushd dist/*/bin >/dev/null || die
+ for f in ${nssutils[@]}; do
+ dobin ${f}
+ done
+ popd >/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ multilib_pkg_postinst() {
+ # We must re-sign the libraries AFTER they are stripped.
+ local shlibsign="${EROOT}/usr/bin/shlibsign"
+ # See if we can execute it (cross-compiling & such). #436216
+ "${shlibsign}" -h >&/dev/null
+ if [[ $? -gt 1 ]] ; then
+ shlibsign="shlibsign"
+ fi
+ generate_chk "${shlibsign}" "${EROOT}"/usr/$(get_libdir)
+ }
+
+ multilib_foreach_abi multilib_pkg_postinst
+}
+
+pkg_postrm() {
+ multilib_pkg_postrm() {
+ cleanup_chk "${EROOT}"/usr/$(get_libdir)
+ }
+
+ multilib_foreach_abi multilib_pkg_postrm
+}
diff --git a/dev-libs/openssl/Manifest b/dev-libs/openssl/Manifest
index 18ebc5152e70..429561dfa5ad 100644
--- a/dev-libs/openssl/Manifest
+++ b/dev-libs/openssl/Manifest
@@ -13,6 +13,6 @@ DIST openssl-3.0.7.tar.gz 15107575 BLAKE2B 141881071fa62f056c514e7c653a61c59cc45
DIST openssl-3.0.7.tar.gz.asc 858 BLAKE2B bd07a6f656cce817038743caf1131ef8d7a21bf587e706e32771ad9e09cb4821d21b71171a7fe7bb6bece95e9b06cea6d723aae9de8b62049b5a8316578500be SHA512 9093a8a5a990f5f37bd95e7ca55f2371e59242be408ea7d9403bcfc9c8873c022237e13c0ec81881a20607ea46927887a895a82b6f50c6f423b4c54f9ef0cde1
EBUILD openssl-1.0.2u-r1.ebuild 9980 BLAKE2B 0017b72acb2eb86f2927845903c93aacfc9c2812ecc5dd5daa23ffc6dd961a4258181ac2c085798b228df5aa23fff2faf476f880406a7c0eeecde3a8391d6a11 SHA512 7aadb788732ee4dbf32ba34567c8ffc897354ac4028f26ec60fab8f099a445c494825bcaad7a5bc053a1ca3f70bfc0f9e944cce5a4051708555cae24c6c5b9a9
EBUILD openssl-1.1.1q.ebuild 10190 BLAKE2B d43cbde3d6b34a33f7937b59d0a2770290cc342ff664796bca1c546d2a70ba609d0d8f035c1cf2d8f339bcd82ab651e970a5d9ee55a2a6734a2e17b7187aff59 SHA512 47e480e4344753939cd8f64c1e7dd36eed12b8568cc18dd9691bb4d231088d2f77d1ba5fb79f2f9f3ec18b3bb8fb9c118bbb716af91d0023fe920fc968f081ee
-EBUILD openssl-1.1.1s.ebuild 10164 BLAKE2B 39774f590af57643ae411bdec71db1ae0372cf1860e577af01231dbe42f4b55fde162e7eb06baef279ee9b07a27139fdadc12e68c90ce07ba5feb7bf8549d8ab SHA512 dde3cec005675b17e80424d6ccfe3f49b8e8b88786925d5b9cbe682c4a1683542ae9a1f90425d12170df9d0c7dc8f59fd16417e977d05de91fb8c61470beb4f5
+EBUILD openssl-1.1.1s.ebuild 10160 BLAKE2B c489bd00d3b4f4adae8047ff73efa21cb64259ffc4934be7f815c50f9694415c311fc2781cc37dbef925bb56dc0c9aa3d56787d52be6d41d17d7ad2f6c626444 SHA512 e54558cc369590e5c5ac7c0bb34efd76ff5821180bbfa14ada88cca11865c694f50776d89204662a2c6aefe393497b1c3de7d9ff0f4fcb250eeecab70ec2bc22
EBUILD openssl-3.0.7.ebuild 9822 BLAKE2B 3e02ff1e501324bef649599d0a72a3e98a7964008ec58843ec50c50a4a55f31f390cc9a788a75ce5667b5526247d827c9a84a7aea4cdf76f84e6a18d7bfb419a SHA512 c50987dca5505ccc416c4c88bb41f05e5578a694a1a9cacbde337e36de27a0003badedeb096614965f646ba4e79e387a3b8dbb9c0ff34e26a4466c309a013c22
MISC metadata.xml 1664 BLAKE2B cf9d4613e5387e7ec0787b1a6c137baa71effb8458fa63b5dea0be4d5cf7c8607257262dbf89dcc0c3db7b17b10232d32902b7569827bd4f2717b3ef7dffaaa9 SHA512 01deef1de981201c14101630d2a4ae270abcac9a4b27b068359d76f63aeb6075aceb33db60175c105294cb7045aae389168f4cf1edf0f6e3656ccc2fe92e9c92
diff --git a/dev-libs/openssl/openssl-1.1.1s.ebuild b/dev-libs/openssl/openssl-1.1.1s.ebuild
index 1314b4d0326b..6585b0d00025 100644
--- a/dev-libs/openssl/openssl-1.1.1s.ebuild
+++ b/dev-libs/openssl/openssl-1.1.1s.ebuild
@@ -16,7 +16,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="openssl"
SLOT="0/1.1" # .so version of libssl/libcrypto
if [[ ${PV} != *_pre* ]] ; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
fi
IUSE="+asm rfc3779 sctp cpu_flags_x86_sse2 sslv3 static-libs test tls-compression tls-heartbeat vanilla verify-sig weak-ssl-ciphers"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/pocl/Manifest b/dev-libs/pocl/Manifest
index f9b8cac79d06..6fd7a30771f1 100644
--- a/dev-libs/pocl/Manifest
+++ b/dev-libs/pocl/Manifest
@@ -2,5 +2,7 @@ AUX pocl-3.0-cuda.patch 1611 BLAKE2B 6baaac79d0182ac91210c0be40239f7d955b57cb2ae
AUX pocl-3.0-fix-version.patch 354 BLAKE2B 8e2b4570c204dc37bb70f20b01838f0c21a6aec57c258a206eb5e82bed69fe01d65f704cfd184c102102fd3a06eb75fb092a2ccfa4d8729192451fa894afc7e9 SHA512 bfe023132ab8080c8539a783586f9c556e7ae4cb8113c3c96b33ac02bd7d4044b36bf13e1556e181af9c12acb4b0e0778af25fd66df1fe6e7ab533c2b68108c4
AUX pocl-3.0-icd.patch 5679 BLAKE2B 4f9edba1e71afb8c059da8f1adcb59f0ccca1bb33ad0c05eb2d3b27c1e7ea6bfa3a2d60f6e6c83136146275aed35a6501713883dad72011379e0ed4ae64eba74 SHA512 436b7f6e53372f00a8c70bb00229d22d05f24687ba2822f4b26590cbdffe64e8c2909d2f1ab6e0650fe18db7507c6bba9f5bcee1a09ec1fe5b42955ddcb99db7
DIST pocl-3.0.tar.gz 1722809 BLAKE2B 095d3d1dca3fa7ebdf61e6e34bf444755dd6842c4f16e0f80895337e96508056465d332309d38ee4db6d6b0031e1dfce350485750e59bfe0dea5951eba5fd3e4 SHA512 dc02bdf259792edb5cb3c80cde5c5261e1e21219b4b31420a3b537abbca1bc478ce0ca0dfc622727088b67d580217d47566309de7c6114a24553de4496a209ea
+DIST pocl-3.1.tar.gz 1928607 BLAKE2B 7044a96e361426408fabd973987a0d6956693e3c9095769ee94d7dac47a8841d7489933e94acd22451a1c8a2ca83cb8e6948aebe899b23a8a6080ef1b7b37e9c SHA512 40d17e81d715f6897aa1d97fd02834d45227d9d0bd4c70e76d727f9ad4df675c25b7158a862e20e63810182fdad82a3cb1e454668c3a6422a977e59c8325fa0c
EBUILD pocl-3.0.ebuild 3696 BLAKE2B 352e60e2beb92a82af44eaf517afd6595b2e2049ba45b23fdcd2fe3ccd0945339a51c5c120ed699b20ac46120fff625bba7ac22e44f1039688278cf971be9eae SHA512 d6b6bc402ae1c5f87062b2aa36fb933ace430d6f87d0a33458cd2b7d444460b6ba0f9c601c047934ce1cb6163c4be9bd33a76e3011a018c9e0a2c67b5a92b149
+EBUILD pocl-3.1.ebuild 3556 BLAKE2B 7e905180cf23ea7f97183338656204cc3a3eb90072e5dfb03a7001e73a9752c38f13fe143fecdd91ea33e040dc97c8786c8133ceb65015a62d48020a1689eb82 SHA512 4b71408754a00c444942d279161ae45d4f04b3c23764dbe063c6cc8cf5a24bfaf8b750fe7b8a75939e170868640b56cf91be4000bf461476cd24bbfc48f7b851
MISC metadata.xml 1191 BLAKE2B 62b985abe8c99532cc20302846fe9e05c77bbc993ef38863d44bd754df2bc388e5d094917ad11d1b117e9dfda355e35f5592fc2ede5a3bc8e91939c9e6aef9e3 SHA512 a9cdbff5f2b2e2141c6299137baed08d1e8482f3b976ef494b595f58092761aab66f33e539d236d8b7f1c564d5fa2aac4855447b54bc189f1dd81faf25fc32ec
diff --git a/dev-libs/pocl/pocl-3.1.ebuild b/dev-libs/pocl/pocl-3.1.ebuild
new file mode 100644
index 000000000000..b850953e2668
--- /dev/null
+++ b/dev-libs/pocl/pocl-3.1.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_AUTODOC=0
+DOCS_BUILDER="sphinx"
+DOCS_DIR="doc/sphinx/source"
+PYTHON_COMPAT=( python3_{8..10} pypy3 )
+LLVM_MAX_SLOT=15
+
+inherit cmake llvm python-any-r1 docs
+
+DESCRIPTION="Portable Computing Language (an implementation of OpenCL)"
+HOMEPAGE="http://portablecl.org https://github.com/pocl/pocl"
+SRC_URI="https://github.com/pocl/pocl/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+# TODO: hsa tce
+IUSE="accel +conformance cuda debug examples float-conversion hardening +hwloc memmanager lto test"
+# Tests not yet passing, fragile in Portage environment(?)
+RESTRICT="!test? ( test ) test"
+
+# TODO: add dependencies for cuda
+# Note: No := on LLVM because it pulls in Clang
+# see llvm.eclass for why
+CLANG_DEPS="!cuda? ( <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):= )
+ cuda? ( <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=[llvm_targets_NVPTX] )"
+RDEPEND="
+ dev-libs/libltdl
+ <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):*
+ virtual/opencl
+
+ ${CLANG_DEPS}
+ debug? ( dev-util/lttng-ust:= )
+ hwloc? ( sys-apps/hwloc:=[cuda?] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="${CLANG_DEPS}
+ virtual/pkgconfig
+ doc? (
+ $(python_gen_any_dep '<dev-python/markupsafe-2.0[${PYTHON_USEDEP}]')
+ )"
+
+python_check_deps() {
+ python_has_version "<dev-python/markupsafe-2.0[${PYTHON_USEDEP}]"
+}
+
+llvm_check_deps() {
+ local usedep=$(usex cuda "[llvm_targets_NVPTX]" '')
+
+ # Clang is used at both build time (executed) and runtime
+ has_version -r "sys-devel/llvm:${LLVM_SLOT}${usedep}" && \
+ has_version -r "sys-devel/clang:${LLVM_SLOT}${usedep}" && \
+ has_version -b "sys-devel/clang:${LLVM_SLOT}${usedep}"
+}
+
+pkg_setup() {
+ use doc && python-any-r1_pkg_setup
+
+ llvm_pkg_setup
+}
+
+src_configure() {
+ local host_cpu_variants="generic"
+
+ if use amd64 ; then
+ # Use pocl's curated list of CPU variants which should contain a good match for any given amd64 CPU
+ host_cpu_variants="distro"
+ elif use ppc64 ; then
+ # A selection of architectures in which new Altivec / VSX features were added
+ # This attempts to recreate the amd64 "distro" option for ppc64
+ # See discussion in bug #831859
+ host_cpu_variants="pwr10;pwr9;pwr8;pwr7;pwr6;g5;a2;generic"
+ fi
+
+ local mycmakeargs=(
+ -DENABLE_HSA=OFF
+
+ -DENABLE_ICD=ON
+ -DPOCL_ICD_ABSOLUTE_PATH=ON
+ -DPOCL_INSTALL_PUBLIC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/OpenCL/vendors/pocl"
+
+ -DENABLE_IPO=$(usex lto)
+
+ -DENABLE_POCL_BUILDING=ON
+ -DKERNELLIB_HOST_CPU_VARIANTS="${host_cpu_variants}"
+
+ -DSTATIC_LLVM=OFF
+ -DWITH_LLVM_CONFIG=$(get_llvm_prefix -d "${LLVM_MAX_SLOT}")/bin/llvm-config
+
+ -DENABLE_ALMAIF_DEVICE=$(usex accel)
+ -DENABLE_CONFORMANCE=$(usex conformance)
+ -DENABLE_CUDA=$(usex cuda)
+ -DENABLE_HWLOC=$(usex hwloc)
+ -DENABLE_POCL_FLOAT_CONVERSION=$(usex float-conversion)
+ -DHARDENING_ENABLE=$(usex hardening)
+ -DPOCL_DEBUG_MESSAGES=$(usex debug)
+ -DUSE_POCL_MEMMANAGER=$(usex memmanager)
+ -DENABLE_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ docs_compile
+}
+
+src_test() {
+ export POCL_BUILDING=1
+ export POCL_DEVICES=basic
+ export CTEST_OUTPUT_ON_FAILURE=1
+ export TEST_VERBOSE=1
+
+ # Referenced https://github.com/pocl/pocl/blob/master/.drone.yml
+ # But couldn't seem to get tests working yet
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ if use doc; then
+ dodoc -r _build/html
+ docompress -x /usr/share/doc/${P}/html
+ fi
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${P}/examples
+ fi
+}