Sync with portage [Thu Jun 15 00:28:13 MSK 2023].

master 2438
root 11 months ago
parent 2c01ece81c
commit 97d3bdc159

Binary file not shown.

Binary file not shown.

@ -1,2 +1,2 @@
DIST ansible-lint-6.14.6.tar.gz 475624 BLAKE2B 99ac5214d7404c2cdaaf43678950b2031fd40396e45a27823feb708bc343b69181e624254b77bfe9f704a9037c60340f3a14d4a2651948b371ea91a28b1a1424 SHA512 dac9a089db2d2fe7b25f273b746571175d3ec974dbdf14d65cc10be83464f1ae88361d9e445d8687c011f817597fc4ca8d7501d192c6c529d9ec48997af8df7c
DIST ansible-lint-6.17.0.tar.gz 478382 BLAKE2B 64d00381a36270d5b9163ad6a6a3f71fbdec7a0554151bef7aa92b4df6f76c58d618fa91755183f49a32f6ab5ad512400e7582711780294dc39d524449aebb28 SHA512 7bb38843bbb378ff6636d337e05d95be73ce740fbfd78076e859809956489ad5f08c47f810311ad5ed7401c184e625901aaed1c444f887a874150c937b6bf125
DIST ansible-lint-6.17.1.tar.gz 479782 BLAKE2B ae9a234f9552fd64520fa244cf0386370f103586a4764c412867f62e67e7a325b47be55e431451f42fbfaf0a9bb2d53ab8fbc9b87ea55ae2cc1c20439a6f8896 SHA512 38cd185fd84dc91b2bf84acc6d975dc5d5e90fd2f08d22651e470329ca1609dc73826f28f8cee391c101146dd91aff32f6e16f02b98c48f0d15b3422ba08db75

@ -2,3 +2,4 @@ DIST aws-cli-1.27.142.gh.tar.gz 2426758 BLAKE2B 587791e0102d51b9681718a71c1225c6
DIST aws-cli-1.27.146.gh.tar.gz 2430455 BLAKE2B 5e59ad0a5e97b4f218c694a6c9df3fb85dd7682fc1c3e549e9bb38ef3f89f63ef4976f539134d744ef3acbf9a506ddbb2b1cb93c44e11460e96db05f0fc02bd5 SHA512 e942c2ba2abba21eae87ba2f88f727c7cf77681232e2aac9c975c07ba4bee41a10ef9044f3828ce61271a569e71469420d6b4ee7ec272fc8ea7132a597450d23
DIST aws-cli-1.27.151.gh.tar.gz 2433265 BLAKE2B a26710e9af6cca92db87394c15415ade9aa1228d270386e96540d617b71b1531c15f3a0c5c65e9bd1ceca6ee7c49477b07e8fe7cdedee080c6c163e7aac9794c SHA512 80af195a72112e660db1ff958d4fc61f57a2781a007eb7ba945d6eb6d44589c1f505c9cc30d350d56e8cf376aa30de1d3a220efe0672941ed9ee57375b405502
DIST aws-cli-1.27.152.gh.tar.gz 2434279 BLAKE2B 4c7ff9c0df3aee2eb8d195941f0d443a0904f7becbf6d9484425d940ca2f686520a28e9ab196a634663f6b1662905352ad7548ec4ba2bbde770af74970a5bf99 SHA512 8039ff55f967091649e74f4a827044ebddeff7beb28cc4bc47ed817941c64cd6f6e274c705fbeb49ce58331514b4bc4b6622689f1740a6ef676983cf0224e942
DIST aws-cli-1.27.153.gh.tar.gz 2436062 BLAKE2B e9351f70b36ffb15fcab233ba2c6845675749b34a16ddb6baac25acb712f7ce42fa531683684fa7deb4bde38c896eca6f5e47d6637f10e45c56d7e20eb99145e SHA512 6e48dfed4c7d09acc1d567952e921a926ac2a63cbf4c0ab27856a17336cb517157ff5e7a3685b9f6c7d2f2edc2aad7dd52079ac3b5cbb13ad0da65a772dc3099

@ -0,0 +1,80 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..11} )
inherit bash-completion-r1 distutils-r1 multiprocessing
MY_P=aws-cli-${PV}
DESCRIPTION="Universal Command Line Environment for AWS"
HOMEPAGE="
https://github.com/aws/aws-cli/
https://pypi.org/project/awscli/
"
SRC_URI="
https://github.com/aws/aws-cli/archive/${PV}.tar.gz
-> ${MY_P}.gh.tar.gz
"
S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
# botocore is x.(y+2).z
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(ver_cut 3-)"
RDEPEND="
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
dev-python/colorama[${PYTHON_USEDEP}]
dev-python/docutils[${PYTHON_USEDEP}]
dev-python/rsa[${PYTHON_USEDEP}]
>=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
!app-admin/awscli-bin
"
BDEPEND="
test? (
dev-python/pytest-forked[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
src_prepare() {
# do not rely on bundled deps in botocore (sic!)
find -name '*.py' -exec sed -i \
-e 's:from botocore[.]vendored import:import:' \
-e 's:from botocore[.]vendored[.]:from :' \
{} + || die
# strip overzealous upper bounds on requirements
sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die
distutils-r1_src_prepare
}
python_test() {
local EPYTEST_DESELECT=(
# TODO
tests/functional/eks/test_kubeconfig.py::TestKubeconfigLoader::test_load_simple
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_env_only
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_existing
tests/unit/customizations/eks/test_kubeconfig.py::TestKubeconfigValidator::test_valid
)
# integration tests require AWS credentials and Internet access
epytest tests/{functional,unit} -n "$(makeopts_jobs)" --forked
}
python_install_all() {
newbashcomp bin/aws_bash_completer aws
insinto /usr/share/zsh/site-functions
newins bin/aws_zsh_completer.sh _aws
distutils-r1_python_install_all
rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
}

@ -0,0 +1,21 @@
https://github.com/andikleen/mcelog/pull/115
From: Brahmajit Das <brahmajit.xyz@gmail.com>
Date: Mon, 12 Jun 2023 10:56:44 +0000
Subject: [PATCH] client: Fix build w/ musl libc
Refer: https://github.com/andikleen/mcelog/pull/115
Bug: https://bugs.gentoo.org/894316
Signed-off-by: Brahmajit Das <brahmajit.xyz@gmail.com>
--- a/client.c
+++ b/client.c
@@ -19,6 +19,7 @@
#include <sys/socket.h>
#include <sys/un.h>
#include <unistd.h>
+#include <string.h>
#include "mcelog.h"
#include "client.h"
#include "paths.h"
--
2.41.0

@ -0,0 +1,55 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
inherit linux-info python-any-r1 systemd toolchain-funcs
DESCRIPTION="A tool to log and decode Machine Check Exceptions"
HOMEPAGE="http://mcelog.org/"
SRC_URI="https://github.com/andikleen/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="selinux"
RDEPEND="selinux? ( sec-policy/selinux-mcelog )"
DEPEND="${PYTHON_DEPS}"
# TODO: add mce-inject to the tree to support test phase
RESTRICT="test"
PATCHES=(
"${FILESDIR}"/${PN}-194-musl-fix.patch
"${FILESDIR}"/${PN}-0.8_pre1-timestamp-${PN}.patch
"${FILESDIR}"/${PN}-129-debugflags.patch
)
pkg_pretend() {
if [[ ${MERGE_TYPE} != buildonly ]]; then
local CONFIG_CHECK="~X86_MCE"
kernel_is -ge 4 12 && CONFIG_CHECK+=" ~X86_MCELOG_LEGACY"
check_extra_config
fi
}
src_prepare() {
default
tc-export CC
python_fix_shebang genconfig.py
}
src_install() {
default
insinto /etc/logrotate.d/
newins ${PN}.logrotate ${PN}
newinitd "${FILESDIR}"/${PN}.init-r1 ${PN}
systemd_dounit ${PN}.service
dodoc *.pdf
}

Binary file not shown.

@ -12,7 +12,7 @@ HOMEPAGE="https://duplicity.gitlab.io/"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~x64-macos"
IUSE="s3 test"
CDEPEND="

@ -8,4 +8,7 @@
<use>
<flag name="s3">Support for backing up to the Amazon S3 system</flag>
</use>
<upstream>
<remote-id type="pypi">duplicity</remote-id>
</upstream>
</pkgmetadata>

Binary file not shown.

@ -1 +1,2 @@
DIST libmd-1.0.4.tar.xz 264472 BLAKE2B ddc2da74635f5cc009c66a58ae82b83e6e0930e18af8a6b0ecec7cbf378246707b493a99fb97d3491d0d626a0d5ef068baea6a3ba2ec311c5a1516ba5b4e2fd5 SHA512 731553ecc5e0e1eb228cced8fccd531fe31fb5c7627ca30013d287e1aeb8222959cf7498fbb7414bbabb967b25d4e8b0edd54fc47f6ccf55fc91087db0725ce3
DIST libmd-1.1.0.tar.xz 271228 BLAKE2B a4dc72be4a46609d41453b19ba3110043e74fd0810d59f872e11151dbe87b0bdab203ef72c9d19255db32493b229bc0d33549e787979a42db08c838a810e1cdc SHA512 5d0da3337038e474fae7377bbc646d17214e72dc848a7aadc157f49333ce7b5ac1456e45d13674bd410ea08477c6115fc4282fed6c8e6a0bf63537a418c0df96

@ -0,0 +1,23 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit multilib-minimal
DESCRIPTION="Message Digest functions from BSD systems"
HOMEPAGE="https://www.hadrons.org/software/libmd/"
SRC_URI="https://archive.hadrons.org/software/libmd/${P}.tar.xz"
LICENSE="|| ( BSD BSD-2 ISC BEER-WARE public-domain )"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
multilib_src_configure() {
ECONF_SOURCE="${S}" econf
}
multilib_src_install_all() {
einstalldocs
find "${ED}" -type f -name '*.la' -delete || die
}

@ -0,0 +1,115 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake kde.org multibuild qmake-utils
DESCRIPTION="Qt Cryptographic Architecture (QCA)"
HOMEPAGE="https://userbase.kde.org/QCA"
SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
LICENSE="LGPL-2.1"
SLOT="2"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="botan debug doc examples gcrypt gpg logger nss pkcs11 +qt5 qt6 sasl softstore +ssl test"
REQUIRED_USE="|| ( qt5 qt6 )"
RESTRICT="!test? ( test )"
RDEPEND="
botan? ( dev-libs/botan:3= )
gcrypt? ( dev-libs/libgcrypt:= )
gpg? ( app-crypt/gnupg )
nss? ( dev-libs/nss )
pkcs11? (
>=dev-libs/openssl-1.1
dev-libs/pkcs11-helper
)
qt5? ( >=dev-qt/qtcore-5.14:5 )
qt6? (
dev-qt/qtbase:6
dev-qt/qt5compat:6
)
sasl? ( dev-libs/cyrus-sasl:2 )
ssl? ( >=dev-libs/openssl-1.1:= )
"
DEPEND="${RDEPEND}
test? (
qt5? (
dev-qt/qtnetwork:5
dev-qt/qttest:5
)
qt6? ( dev-qt/qtbase:6[network,test] )
)
"
BDEPEND="
doc? (
app-doc/doxygen[dot]
virtual/latex-base
)
"
PATCHES=( "${FILESDIR}/${PN}-disable-pgp-test.patch" )
qca_plugin_use() {
echo -DWITH_${2:-$1}_PLUGIN=$(usex "$1")
}
pkg_setup() {
MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
}
src_configure() {
myconfigure() {
local mycmakeargs=(
-DQCA_FEATURE_INSTALL_DIR="${EPREFIX}$(${MULTIBUILD_VARIANT}_get_mkspecsdir)/features"
-DQCA_PLUGINS_INSTALL_DIR="${EPREFIX}$(${MULTIBUILD_VARIANT}_get_plugindir)"
$(qca_plugin_use botan)
$(qca_plugin_use gcrypt)
$(qca_plugin_use gpg gnupg)
$(qca_plugin_use logger)
$(qca_plugin_use nss)
$(qca_plugin_use pkcs11)
$(qca_plugin_use sasl cyrus-sasl)
$(qca_plugin_use softstore)
$(qca_plugin_use ssl ossl)
-DBUILD_TESTS=$(usex test)
)
if [[ ${MULTIBUILD_VARIANT} == qt6 ]]; then
mycmakeargs+=( -DBUILD_WITH_QT6=ON )
else
mycmakeargs+=( -DBUILD_WITH_QT6=OFF )
fi
cmake_src_configure
}
multibuild_foreach_variant myconfigure
}
src_compile() {
multibuild_foreach_variant cmake_src_compile
}
src_test() {
mytest() {
local -x QCA_PLUGIN_PATH="${BUILD_DIR}/lib/qca"
cmake_src_test
}
multibuild_foreach_variant mytest
}
src_install() {
multibuild_foreach_variant cmake_src_install
if use doc; then
pushd "${BUILD_DIR}" >/dev/null || die
doxygen Doxyfile || die
dodoc -r apidocs/html
popd >/dev/null || die
fi
if use examples; then
dodoc -r "${S}"/examples
fi
}

Binary file not shown.

@ -7,8 +7,9 @@ DIST emacs-26.3.tar.xz 44415140 BLAKE2B aa8434e6431992ee40402f03a890dd2c49784ee7
DIST emacs-27.2-patches-6.tar.xz 11600 BLAKE2B ed8bfb8b2c086423e7bf9f8de5ffb929aa63d8b2781361a8a9d274124a9df52ececdb38c3d4d7d0f0d0fa3a8eaea337c0078929967b073a70209ecdb2bb4cb58 SHA512 11f8af976148c957aebaa5fd2edd46b12ffe24036c09c20a61c47e65d8a2febe6480636be2a7f8f3f7c70a8da7091c2a7c254fd853bde56ec45d7db6a9ca94f5
DIST emacs-27.2.tar.xz 44624480 BLAKE2B 245ea96004b90f81ac74de74521cbbe086caf1176937e08157eae12cdde5a0f35fc77f7119272ed812974358e5e95abb05e1c2e4f3b501cf5401ea9274f62156 SHA512 0f63a5a8709b113ef790c1a64845dad05ead096f93f62164ff221c517a35b91ea7bced75a992d794981a85382cda03cca7338da2f5ef8f6ef1459b88018a4ce9
DIST emacs-28.2-patches-3.tar.xz 5416 BLAKE2B c361fdebf375427cf25c4ac206161b5b55d8d6de88752de35491c778ba90eedf277159a8c317ccda7aaf5e000035d6e33d8e70282436d6e03fa311c4576abe03 SHA512 acae15b577af831bc94e102323836f3fa5b0d51ec1096b84063c81c58f1087b67487507c05d93ba5ddacfce0fea4f3e755906a9ec582b061b65095ee7d693eac
DIST emacs-28.2-patches-4.tar.xz 6168 BLAKE2B d2968c5f96dcf285f987d32aa8e2ad38c8c2cc7757f9dd83a1faa75efc20c1ac44d6944cf9bcbafbfaa34caae2e7ec24a28fa250d8f5206e4d27649cc2719cec SHA512 94be2c6f715b073ab76a1b3f36194ba6f9c299599b4ba4292a14970f1a2974634ed961d20f62b3939a18347d02fb8025628a7622910f64df0b9879f98dcf5c14
DIST emacs-28.2.tar.xz 47722600 BLAKE2B a7e4990658b5e7306510f8dded93aaf0b82cdd9306df8b786526d038c3249ef9579287075f2235eb01a71ae1699db555254f137b86ab2d2305b45895053df552 SHA512 a7cec7e3e82367815a1442f69af54102dbfc434069810a9dec5938a6660cb8b076e6f1fb0bfff9695b15603dbbe05eb9c7dfd92e90cf40fc4d1e5746bce83bd8
DIST emacs-28.3-patches-1.tar.xz 2280 BLAKE2B 1c6279801b15ddbc79aeaf997cf1f2d437dc5579bc76165d723333ac7f70a0570c4e4dcf166e479e897b006385cc4402d44ea55276abc778cdb71b982e60bfdc SHA512 1ffc28790ec05b1c6549a552d070e48890d8a3e3be9aa7582ad7761bf7ed867d0f1fd5261bc4954028917b6918e9f7b1e45b4086ee410c284c1212d6d129ea35
DIST emacs-28.3-patches-2.tar.xz 3064 BLAKE2B 052ae1cbf0f04d4f2e99a7be91920bdbb7cd41b8c3a47ffc54523dd5d35800374db1c420a709e5ae4c102809887bebc8a32b2c4e4e96b91ed0965d3f1b800f5e SHA512 e448ab9ffe8d24773d9557262283d2fd3b79544bce8837df8b97729cee4f6c19d95bd3a7a6f0e3c6a477e4d7b6ec5215cf4d1911525f62fe0143f3990466864f
DIST emacs-28.3-rc1.tar.xz 47896700 BLAKE2B 2d7da4a72cc1256c7b9d1157cd379a5373b6b55c01d94254d6aee25887991a8da694f3239a7f443adef0debbc300043ad4595b5934b6aa383daed10257bcbae0 SHA512 2cd4c5174a5ade6f928de3ff6aa1728fe0f18bd5b985d87b62f38aa083da14d9ae3db6372638548d33ef7bbb632823eabb051307d8fca6c78296bff3c79b2d2f
DIST emacs-29.0.90.tar.xz 51961984 BLAKE2B a87f0ad81181cca3737d534702a79df9a50a659126d431a9fa0288297907bddc2d8593689c4f7e127d26498420878b48633c46e6f27945efe763314375ae6bfd SHA512 348b2173391f5fcc9ea445e10491d90289fb78664741b3909553e814d0370d5cd8abc17d66c53a6c2a6a6c60a25a226b9783039963bfc585d5bbaa4d0163436d
DIST emacs-29.0.91.tar.xz 52037152 BLAKE2B 363c6ce29e04fca383b803fc9b7eced8966ee428fd18dd8a5199720e7b2d0b794328b0184cd6be9452f99989a16e23a3bfc48aabf644fa461a3d17d0d3a18fe1 SHA512 c4330b77bb09d4ef247792c5f06c3fe3e32e7d72d945ea34ff4dbc744499d9af64108deb70241a4def379e824451cc26207949c58fd5bf81a94cc7ebd4b98996

@ -0,0 +1,519 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools elisp-common flag-o-matic readme.gentoo-r1 toolchain-funcs
if [[ ${PV##*.} = 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://git.savannah.gnu.org/git/emacs.git"
EGIT_BRANCH="emacs-28"
EGIT_CHECKOUT_DIR="${WORKDIR}/emacs"
S="${EGIT_CHECKOUT_DIR}"
SLOT="${PV%%.*}-vcs"
else
# FULL_VERSION keeps the full version number, which is needed in
# order to determine some path information correctly for copy/move
# operations later on
FULL_VERSION="${PV%%_*}"
SRC_URI="mirror://gnu/emacs/${P}.tar.xz"
S="${WORKDIR}/emacs-${FULL_VERSION}"
# PV can be in any of the following formats:
# 27.1 released version (slot 27)
# 27.1_rc1 upstream release candidate (27)
# 27.0.9999 live ebuild (slot 27-vcs)
# 27.0.90 upstream prerelease snapshot (27-vcs)
# 27.0.50_pre20191223 snapshot by Gentoo developer (27-vcs)
if [[ ${PV} == *_pre* ]]; then
SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
S="${WORKDIR}/emacs"
elif [[ ${PV//[0-9]} != "." ]]; then
SRC_URI="https://alpha.gnu.org/gnu/emacs/pretest/${PN}-${PV/_/-}.tar.xz"
fi
# Patchset from proj/emacs-patches.git
SRC_URI+=" https://dev.gentoo.org/~ulm/emacs/${P}-patches-4.tar.xz"
PATCHES=("${WORKDIR}/patch")
SLOT="${PV%%.*}"
[[ ${PV} == *.*.* ]] && SLOT+="-vcs"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
fi
DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
HOMEPAGE="https://www.gnu.org/software/emacs/"
LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gfile gif +gmp gpm gsettings gtk gui gzip-el harfbuzz imagemagick +inotify jit jpeg json kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars valgrind wide-int Xaw3d xft +xpm xwidgets zlib"
RDEPEND="app-emacs/emacs-common[games?,gui(-)?]
sys-libs/ncurses:0=
acl? ( virtual/acl )
alsa? ( media-libs/alsa-lib )
dbus? ( sys-apps/dbus )
games? ( acct-group/gamestat )
gmp? ( dev-libs/gmp:0= )
gpm? ( sys-libs/gpm )
!inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
jit? (
sys-devel/gcc:=[jit(-)]
sys-libs/zlib
)
json? ( dev-libs/jansson:= )
kerberos? ( virtual/krb5 )
lcms? ( media-libs/lcms:2 )
libxml2? ( >=dev-libs/libxml2-2.2.0 )
mailutils? ( net-mail/mailutils[clients] )
!mailutils? ( acct-group/mail net-libs/liblockfile )
selinux? ( sys-libs/libselinux )
ssl? ( net-libs/gnutls:0= )
systemd? ( sys-apps/systemd )
valgrind? ( dev-util/valgrind )
zlib? ( sys-libs/zlib )
gui? ( !aqua? (
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libxcb
x11-misc/xbitmaps
gsettings? ( >=dev-libs/glib-2.28.6 )
gif? ( media-libs/giflib:0= )
jpeg? ( media-libs/libjpeg-turbo:0= )
png? ( >=media-libs/libpng-1.4:0= )
svg? ( >=gnome-base/librsvg-2.0 )
tiff? ( media-libs/tiff:= )
xpm? ( x11-libs/libXpm )
imagemagick? ( >=media-gfx/imagemagick-6.6.2:0= )
xft? (
media-libs/fontconfig
media-libs/freetype
x11-libs/libXft
x11-libs/libXrender
cairo? ( >=x11-libs/cairo-1.12.18[X] )
harfbuzz? ( media-libs/harfbuzz:0= )
m17n-lib? (
>=dev-libs/libotf-0.9.4
>=dev-libs/m17n-lib-1.5.1
)
)
gtk? (
x11-libs/gtk+:3
xwidgets? (
net-libs/webkit-gtk:4.1=
x11-libs/libXcomposite
)
)
!gtk? (
motif? (
>=x11-libs/motif-2.3:0
x11-libs/libXpm
x11-libs/libXmu
x11-libs/libXt
)
!motif? (
Xaw3d? (
x11-libs/libXaw3d
x11-libs/libXmu
x11-libs/libXt
)
!Xaw3d? ( athena? (
x11-libs/libXaw
x11-libs/libXmu
x11-libs/libXt
) )
)
)
) )"
DEPEND="${RDEPEND}
gui? ( !aqua? ( x11-base/xorg-proto ) )"
BDEPEND="sys-apps/texinfo
virtual/pkgconfig
gzip-el? ( app-arch/gzip )"
IDEPEND="app-eselect/eselect-emacs"
RDEPEND+=" ${IDEPEND}"
EMACS_SUFFIX="emacs-${SLOT}"
SITEFILE="20${EMACS_SUFFIX}-gentoo.el"
src_prepare() {
if [[ ${PV##*.} = 9999 ]]; then
FULL_VERSION=$(sed -n 's/^AC_INIT([^,]*,[^0-9.]*\([0-9.]*\).*/\1/p' \
configure.ac)
[[ ${FULL_VERSION} ]] || die "Cannot determine current Emacs version"
einfo "Emacs branch: ${EGIT_BRANCH}"
einfo "Commit: ${EGIT_VERSION}"
einfo "Emacs version number: ${FULL_VERSION}"
[[ ${FULL_VERSION} =~ ^${PV%.*}(\..*)?$ ]] \
|| die "Upstream version number changed to ${FULL_VERSION}"
fi
if use jit; then
export NATIVE_FULL_AOT=1
find lisp -type f -name "*.elc" -delete || die
# These files ignore LDFLAGS. We assign the variable here, because
# for live ebuilds FULL_VERSION doesn't exist in global scope
QA_FLAGS_IGNORED="usr/$(get_libdir)/emacs/${FULL_VERSION}/native-lisp/.*"
# gccjit doesn't play well with ccache or distcc #801580
# For now, work around the problem with an explicit LIBRARY_PATH
has ccache ${FEATURES} || has distcc ${FEATURES} && tc-is-gcc \
&& export LIBRARY_PATH=$("$(tc-getCC)" -print-search-dirs \
| sed -n '/^libraries:/{s:^[^/]*::;p}')
fi
default
# Fix filename reference in redirected man page
sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 || die
AT_M4DIR=m4 eautoreconf
}
src_configure() {
local myconf
# Prevents e.g. tests interfering with running Emacs.
unset EMACS_SOCKET_NAME
if use alsa; then
use sound || ewarn \
"USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
myconf+=" --with-sound=alsa"
else
myconf+=" --with-sound=$(usex sound oss)"
fi
if use jit; then
use zlib || ewarn \
"USE flag \"jit\" overrides \"-zlib\"; enabling zlib support."
myconf+=" --with-zlib"
else
myconf+=" $(use_with zlib)"
fi
if ! use gui; then
einfo "Configuring to build without window system support"
myconf+=" --without-x --without-ns"
elif use aqua; then
einfo "Configuring to build with Nextstep (Macintosh Cocoa) support"
myconf+=" --with-ns --disable-ns-self-contained"
myconf+=" --without-x"
else
myconf+=" --with-x --without-ns"
myconf+=" --without-gconf"
myconf+=" $(use_with gsettings)"
myconf+=" $(use_with toolkit-scroll-bars)"
myconf+=" $(use_with gif)"
myconf+=" $(use_with jpeg)"
myconf+=" $(use_with png)"
myconf+=" $(use_with svg rsvg)"
myconf+=" $(use_with tiff)"
myconf+=" $(use_with xpm)"
myconf+=" $(use_with imagemagick)"
if use xft; then
myconf+=" --with-xft"
myconf+=" $(use_with cairo)"
myconf+=" $(use_with harfbuzz)"
myconf+=" $(use_with m17n-lib libotf)"
myconf+=" $(use_with m17n-lib m17n-flt)"
else
myconf+=" --without-xft"
myconf+=" --without-cairo"
myconf+=" --without-libotf --without-m17n-flt"
use cairo && ewarn \
"USE flag \"cairo\" has no effect if \"xft\" is not set."
use m17n-lib && ewarn \
"USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
fi
local f line
if use gtk; then
einfo "Configuring to build with GIMP Toolkit (GTK+)"
while read line; do ewarn "${line}"; done <<-EOF
Your version of GTK+ will have problems with closing open
displays. This is no problem if you just use one display, but
if you use more than one and close one of them Emacs may crash.
See <https://gitlab.gnome.org/GNOME/gtk/-/issues/221> and
<https://gitlab.gnome.org/GNOME/gtk/-/issues/2315>.
If you intend to use more than one display, then it is strongly
recommended that you compile Emacs with the Athena/Lucid or the
Motif toolkit instead.
EOF
myconf+=" --with-x-toolkit=gtk3 $(use_with xwidgets)"
for f in motif Xaw3d athena; do
use ${f} && ewarn \
"USE flag \"${f}\" has no effect if \"gtk\" is set."
done
elif use motif; then
einfo "Configuring to build with Motif toolkit"
myconf+=" --with-x-toolkit=motif"
for f in Xaw3d athena; do
use ${f} && ewarn \
"USE flag \"${f}\" has no effect if \"motif\" is set."
done
elif use athena || use Xaw3d; then
einfo "Configuring to build with Athena/Lucid toolkit"
myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
else
einfo "Configuring to build with no toolkit"
myconf+=" --with-x-toolkit=no"
fi
! use gtk && use xwidgets && ewarn \
"USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
fi
if tc-is-cross-compiler; then
# Configure a CBUILD directory when cross-compiling to make tools
mkdir "${S}-build" && pushd "${S}-build" >/dev/null || die
ECONF_SOURCE="${S}" econf_build --without-all --without-x-toolkit
popd >/dev/null || die
# Don't try to execute the binary for dumping during the build
myconf+=" --with-dumping=none"
elif use m68k; then
# Workaround for https://debbugs.gnu.org/44531
myconf+=" --with-dumping=unexec"
else
myconf+=" --with-dumping=pdumper"
fi
econf \
--program-suffix="-${EMACS_SUFFIX}" \
--includedir="${EPREFIX}"/usr/include/${EMACS_SUFFIX} \
--infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
--localstatedir="${EPREFIX}"/var \
--enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
--without-compress-install \
--without-hesiod \
--without-pop \
--with-file-notification=$(usev inotify || usev gfile || echo no) \
--with-pdumper \
$(use_enable acl) \
$(use_with dbus) \
$(use_with dynamic-loading modules) \
$(use_with games gameuser ":gamestat") \
$(use_with gmp libgmp) \
$(use_with gpm) \
$(use_with jit native-compilation) \
$(use_with json) \
$(use_with kerberos) $(use_with kerberos kerberos5) \
$(use_with lcms lcms2) \
$(use_with libxml2 xml2) \
$(use_with mailutils) \
$(use_with selinux) \
$(use_with ssl gnutls) \
$(use_with systemd libsystemd) \
$(use_with threads) \
$(use_with wide-int) \
${myconf}
}
src_compile() {
export ac_cv_header_valgrind_valgrind_h=$(usex valgrind)
append-cppflags -DUSE_VALGRIND=$(usex valgrind)
if tc-is-cross-compiler; then
# Build native tools for compiling lisp etc.
emake -C "${S}-build" src
emake lib # Cross-compile dependencies first for timestamps
# Save native build tools in the cross-directory
cp "${S}-build"/lib-src/make-{docfile,fingerprint} lib-src || die
# Specify the native Emacs to compile lisp
emake -C lisp all EMACS="${S}-build/src/emacs"
fi
emake
}
src_test() {
# List .el test files with a comment above listing the exact
# subtests which caused failure. Elements should begin with a %.
# e.g. %lisp/gnus/mml-sec-tests.el.
local exclude_tests=(
# Reason: not yet known
# mml-secure-en-decrypt-{1,2,3,4}
# mml-secure-find-usable-keys-{1,2}
# mml-secure-key-checks
# mml-secure-select-preferred-keys-4
# mml-secure-sign-verify-1
%lisp/gnus/mml-sec-tests.el
# Reason: race condition
# Looks like it should be fixed in 29.x at least:
# https://debbugs.gnu.org/cgi/bugreport.cgi?bug=55706
# files-tests-file-name-non-special-file-in-directory-p
%lisp/files-tests.el
# Reason: permission denied on /nonexistent
# (vc-*-bzr only fails if breezy is installed, as they
# try to access cache dirs under /nonexistent)
#
# rmail-undigest-test-multipart-mixed-digest
# rmail-undigest-test-rfc1153-less-strict-digest
# rmail-undigest-test-rfc1153-sloppy-digest
# rmail-undigest-test-rfc934-digest
# vc-test-bzr02-state
# vc-test-bzr05-rename-file
# vc-test-bzr06-version-diff
# vc-bzr-test-bug9781
%lisp/mail/undigest-tests.el
%lisp/vc/vc-tests.el
%lisp/vc/vc-bzr-tests.el
# Reason: fails if bubblewrap (bwrap) is installed
# "bwrap: setting up uid map: Permission denied"
#
# bytecomp-tests--dest-mountpoint
%lisp/emacs-lisp/bytecomp-tests.el
)
# See test/README for possible options
emake \
EMACS_TEST_VERBOSE=1 \
EXCLUDE_TESTS="${exclude_tests[*]}" \
TEST_BACKTRACE_LINE_LENGTH=nil \
check
}
src_install() {
emake DESTDIR="${D}" NO_BIN_LINK=t BLESSMAIL_TARGET= install
mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} || die
mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 || die
mv "${ED}"/usr/share/metainfo/{emacs-,}${EMACS_SUFFIX}.metainfo.xml || die
# dissuade Portage from removing our dir file #257260
touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
docompress -x /usr/share/info/${EMACS_SUFFIX}/dir
# movemail must be setgid mail
if ! use mailutils; then
fowners root:mail /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail
fperms 2751 /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail
fi
# avoid collision between slots, see bug #169033 e.g.
rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el || die
rm -rf "${ED}"/usr/share/{applications,icons} || die
rm -rf "${ED}/usr/$(get_libdir)/systemd" || die
rm -rf "${ED}"/var || die
# remove unused <version>/site-lisp dir
rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp || die
# remove COPYING file (except for etc/COPYING used by describe-copying)
rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING || die
if use systemd; then
insinto /usr/lib/systemd/user
sed -e "/^##/d" \
-e "/^ExecStart/s,emacs,${EPREFIX}/usr/bin/${EMACS_SUFFIX}," \
-e "/^ExecStop/s,emacsclient,${EPREFIX}/usr/bin/&-${EMACS_SUFFIX}," \
etc/emacs.service | newins - ${EMACS_SUFFIX}.service
assert
fi
if use gzip-el; then
# compress .el files when a corresponding .elc exists
find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
-name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
assert "gzip .el failed"
fi
local cdir
if use source; then
cdir="/usr/share/emacs/${FULL_VERSION}/src"
insinto "${cdir}"
# This is not meant to install all the source -- just the
# C source you might find via find-function
doins src/*.{c,h,m}
elif has installsources ${FEATURES}; then
cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
fi
sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
X
;;; ${EMACS_SUFFIX} site-lisp configuration
X
(when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
Y (setq find-function-C-source-directory
Y "${EPREFIX}${cdir}")
X (let ((path (getenv "INFOPATH"))
X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
X (re "\\\\\`${EPREFIX}/usr/share\\\\>"))
X (and path
X ;; move Emacs Info dir before anything else in /usr/share
X (let* ((p (cons nil (split-string path ":" t))) (q p))
X (while (and (cdr q) (not (string-match re (cadr q))))
X (setq q (cdr q)))
X (setcdr q (cons dir (delete dir (cdr q))))
X (setenv "INFOPATH" (mapconcat 'identity (cdr p) ":"))))))
EOF
elisp-site-file-install "${T}/${SITEFILE}" || die
dodoc README BUGS CONTRIBUTE
if use gui && use aqua; then
dodir /Applications/Gentoo
rm -rf "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
mv nextstep/Emacs.app \
"${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
fi
local DOC_CONTENTS="You can set the version to be started by
/usr/bin/emacs through the Emacs eselect module, which also
redirects man and info pages. Therefore, several Emacs versions can
be installed at the same time. \"man emacs.eselect\" for details.
\\n\\nIf you upgrade from a previous major version of Emacs, then
it is strongly recommended that you use app-admin/emacs-updater
to rebuild all byte-compiled elisp files of the installed Emacs
packages."
if use gui; then
DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
Installing media-fonts/font-adobe-{75,100}dpi on the X server's
machine would satisfy basic Emacs requirements under X11.
See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
for how to enable anti-aliased fonts."
use aqua && DOC_CONTENTS+="\\n\\n${EMACS_SUFFIX^}.app is in
\"${EPREFIX}/Applications/Gentoo\". You may want to copy or
symlink it into /Applications by yourself."
fi
tc-is-cross-compiler && DOC_CONTENTS+="\\n\\nEmacs did not write
a portable dump file due to being cross-compiled.
To create this file at run time, execute the following command:
\\n${EMACS_SUFFIX} --batch -Q --eval='(dump-emacs-portable
\"/usr/libexec/emacs/${FULL_VERSION}/${CHOST}/emacs.pdmp\")'"
readme.gentoo_create_doc
}
pkg_preinst() {
# verify that the PM hasn't removed our Info directory index #257260
local infodir="${ED}/usr/share/info/${EMACS_SUFFIX}"
[[ -f ${infodir}/dir || ! -d ${infodir} ]] || die
}
pkg_postinst() {
elisp-site-regen
readme.gentoo_print_elog
if use livecd; then
# force an update of the emacs symlink for the livecd/dvd,
# because some microemacs packages set it with USE=livecd
eselect emacs update
else
eselect emacs update ifunset
fi
}
pkg_postrm() {
elisp-site-regen
eselect emacs update ifunset
}

@ -32,7 +32,7 @@ else
SRC_URI="https://alpha.gnu.org/gnu/emacs/pretest/${PN}-${PV/_/-}.tar.xz"
fi
# Patchset from proj/emacs-patches.git
SRC_URI+=" https://dev.gentoo.org/~ulm/emacs/${PN}-28.3-patches-1.tar.xz"
SRC_URI+=" https://dev.gentoo.org/~ulm/emacs/${PN}-28.3-patches-2.tar.xz"
PATCHES=("${WORKDIR}/patch")
SLOT="${PV%%.*}"
[[ ${PV} == *.*.* ]] && SLOT+="-vcs"

@ -22,7 +22,7 @@ if [[ ${PV} == 9999* ]]; then
else
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-${VIM_PATCHES_VERSION}-patches.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
fi
S="${WORKDIR}"/vim-${PV}

@ -11,7 +11,7 @@ DESCRIPTION="Pluma text editor for the MATE desktop"
LICENSE="FDL-1.1+ GPL-2+ LGPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv x86"
IUSE="+introspection spell test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="!test? ( test )"

@ -16,7 +16,7 @@ if [[ ${PV} == 9999* ]] ; then
else
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-${VIM_PATCHES_VERSION}-patches.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
S="${WORKDIR}/vim-${PV}"

@ -21,7 +21,7 @@ if [[ ${PV} == 9999* ]] ; then
else
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-${VIM_PATCHES_VERSION}-patches.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
DESCRIPTION="Vim, an improved vi-style text editor"

@ -1,6 +1,6 @@
DIST vscode-1.78.2-amd64.tar.gz 134674196 BLAKE2B 314ab07185d91bf20d4016b327496924c111c7b7ef6e2775c7abbb5a497a35ad09e5a7176691849ab36e28f4d291e6a4e2cfa4024c00fc45e5b13514997d71c2 SHA512 a5919a7f04257c529a7c0a0147e2f8d18181c90a64198d822957d74e5bc8e5d3c60f7732a4f3c456f0036907d82688d51435dbe26aa25264bd1014fe97da4a1b
DIST vscode-1.78.2-arm.tar.gz 119250112 BLAKE2B 3a0bf7ea25b85202a3d0be196721e2aacf79dc8c6bcf5ae97d37d04c82ca782b3641435997b029170618f4cab31c59978faf70a5bf89ac2e834e7743e1822063 SHA512 ffeff708c553903c10c9ce833e28286144e1407e59298a05f00ce75912605061914268fff34f74e5e0e6a21989191fa9c5e757c271a784ec0ccfa2db02567679
DIST vscode-1.78.2-arm64.tar.gz 130761570 BLAKE2B 6fbd079ca89f49419e53e1daf108e6508036a654395bbdc1ce61bed4c9fbb0425738ba39f8d7682b889f80f5c08fdff947f819c36e932bf652f1441182981e07 SHA512 877ce23498c68f2c3eadae5eafc83cecedefa0d290efb2578f3ab0faa6c9aa8d2fe22e9e4f33afbe9a95cfb12b994411de3303b902da73af5c33be43345d52e7
DIST vscode-1.79.0-amd64.tar.gz 134771216 BLAKE2B eff3918fdc4c48cb9b0dd0ba09f5cf10c707c3fe491905a4150cfd634722d66e49a13c3d08828c3eafcc8b507356308d829b32e5c57313194157c27b9d895e6a SHA512 586898b17af29bf218af765cf7a8c3aefd7b73d181c9bafa3a98fc8f2f74d14c6c132179542b1b5ffa364b153bb8c5d71150d0ef40266913685640c2640c7209
DIST vscode-1.79.0-arm.tar.gz 119314354 BLAKE2B 23ffd7c9202e5491e41c5b99a707807ca3cd06ba5323f5c67859344c95dc19848ec9daa83bc97f2afa585cd93a4cf62da0608a3cc4788d9e4b71a468a1fad6c3 SHA512 9eecbeaf34b4248915e4c0f922c7033c140cb4944e73775c116bd1e03c8cd3feb2f702e6d089df057b307637e2b4065a06e377b156d22ea92dee1741c846934f
DIST vscode-1.79.0-arm64.tar.gz 130967654 BLAKE2B fe5a484b12ad1ef6c9cccbe95cab149a0caf9fe6d5f2b5f6354dbf154346f5cfb6d6c4da839149dfff2194b43ac72639a2e5df457aedcd2bcf96cd8fff9515e9 SHA512 b2541ea525ae82b8468b6b41990f73cb881461f352691959402d7927423a1ec215a43db7aac7f9b3ae83e6507cdf5c7645431fc08872dde8df7d6b4ce47c20f3
DIST vscode-1.79.1-amd64.tar.gz 134787612 BLAKE2B 65b8cd1695c92dc3d1cd3cf1ddd5b2e048ed8df3bd0d8284bff6a1980947adbc9fb85fe48a79ce20405151d33422c6f0677a4a2cf7cbb572eff6b866d9f951d1 SHA512 15f48715bffe22aceada44cc5da3b7e47983e3acb5ecc04aca5babe465f2da0c2dd143540f231ce6d8e3f6879d66b494d9be57afa23161ab65448430f294ea2c
DIST vscode-1.79.1-arm.tar.gz 119311072 BLAKE2B 5f6a48fb3b915894aa90488c0c80fd47d886c614d46821a61a3d97899e4d8c02a22730944f50e1ecc4c7f729db19ef054e3e46be570d6a19e63a8b730084b41e SHA512 f61c3bb2570621c3e20b3b056e4d06178a674e63d9fbc132f885734ba5ec030456177657e81c7d2a98054dce4dde2ca6387d8c84841dc26c0dd6bcea1dc386aa
DIST vscode-1.79.1-arm64.tar.gz 130964437 BLAKE2B ae7d5a14a0d31de1ac984f74805191d3323cad8861949c4cbf342e7f6e5b0a4d5ee046ad314be4eb39b33e17120a700964c9d7696922ac1fd487d7e1b5374915 SHA512 e99fed7bdf7b8557cdcaa4bfe5ee7509dd34a34e6643f522439736d84d172070586cf7216b9d06f3110bdb2487bbd389777ee2a14929c04c963db982196e2a87

@ -95,7 +95,7 @@ src_install() {
fi
# Cleanup
rm -r ./resources/app/LICENSES.chromium.html ./resources/app/LICENSE.rtf ./resources/app/licenses || die
rm -r ./resources/app/ThirdPartyNotices.txt || die
# Disable update server
sed -e "/updateUrl/d" -i ./resources/app/product.json || die

Binary file not shown.

@ -1,4 +1,4 @@
# Copyright 1999-2022 Gentoo Authors
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -22,6 +22,7 @@ RDEPEND="
app-emacs/dash
app-emacs/f
app-emacs/ht
app-emacs/hydra
app-emacs/lsp-mode
app-emacs/lsp-treemacs
app-emacs/posframe

@ -1 +1,2 @@
DIST emacs-ebuild-snippets-2.0.4.tar.bz2 12041 BLAKE2B 98c4134080686f12bfae92b7bfe912ead0c7f407755682c18a33b191a9329be848a5e77eb0bb50f54e935a8460e1c0fac1574187b605a8a647c199ba8946e50a SHA512 ce78bc2bcad3f7d8684258d344aa3f95b1c57331e169ea04af19f2756eca019e30b6ba7037f5f59b57a20c1fa2a2203be30bbbca4005e425129a3744843b55eb
DIST emacs-ebuild-snippets-2.1.0.tar.bz2 12381 BLAKE2B 2681b73049dec8e6bb5b3704dfd1619ea2ca5ab6757ad04c0f9530dc734b57a9d885a10b991b0973cfd12349cd100e25c554b2e55c4c84976c3390f4cbbc77e7 SHA512 d492941a20a3e5f01b3b39d2c90b17473f2b4470b6cd80153a2b8c1df3074aa95d9e14384ea1fba3348026c1704ebe2096ee8fe27227afa1ea6512c6fae7c6dc

@ -0,0 +1,40 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit elisp
DESCRIPTION="Yasnippets for editing ebuilds and eclasses"
HOMEPAGE="https://gitweb.gentoo.org/proj/emacs-ebuild-snippets.git"
if [[ ${PV} == *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://gitweb.gentoo.org/proj/${PN}.git"
else
SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.bz2"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
LICENSE="GPL-2+"
SLOT="0"
RDEPEND="
app-emacs/ebuild-mode
app-emacs/yasnippet
"
BDEPEND="${RDEPEND}"
src_prepare() {
sh ./scripts/changeme.sh "${EPREFIX}${SITEETC}/${PN}" || die
default
}
src_install() {
elisp-install ${PN} *.el{,c}
elisp-site-file-install "${S}"/gentoo/50${PN}-gentoo.el
insinto "${SITEETC}/${PN}"
doins -r snippets
}

@ -13,7 +13,7 @@ if [[ ${PV} == *9999* ]] ; then
EGIT_REPO_URI="https://gitweb.gentoo.org/proj/${PN}.git"
else
SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.bz2"
KEYWORDS="~amd64 ~x86"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
LICENSE="GPL-2+"

@ -0,0 +1,33 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit elisp
DESCRIPTION="Other echo area"
HOMEPAGE="https://github.com/abo-abo/hydra/"
if [[ ${PV} == *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/abo-abo/hydra.git"
else
SRC_URI="https://github.com/abo-abo/hydra/archive/${PV}.tar.gz
-> ${P}.tar.gz"
S="${WORKDIR}/hydra-${PV}"
KEYWORDS="amd64"
fi
LICENSE="GPL-3+"
SLOT="0"
SITEFILE="50${PN}-gentoo.el"
src_compile() {
elisp-compile lv.el
}
src_install() {
elisp-install lv lv.el{,c}
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
}

@ -1,20 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit elisp
IUSE=""
DESCRIPTION="Other echo area"
HOMEPAGE="https://github.com/abo-abo/hydra"
SRC_URI="https://github.com/abo-abo/hydra/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="amd64"
DOCS="README.md"
SITEFILE="50${PN}-gentoo.el"
S="${WORKDIR}/hydra-${PV}"

@ -9,12 +9,19 @@ inherit elisp
DESCRIPTION="Web server running Emacs Lisp handlers"
HOMEPAGE="https://github.com/eschulte/emacs-web-server/"
SRC_URI="https://github.com/eschulte/emacs-${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}"/emacs-${PN}-${COMMIT}
if [[ ${PV} == *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/eschulte/emacs-${PN}.git"
else
SRC_URI="https://github.com/eschulte/emacs-${PN}/archive/${COMMIT}.tar.gz
-> ${P}.tar.gz"
S="${WORKDIR}"/emacs-${PN}-${COMMIT}
KEYWORDS="~amd64 ~x86"
fi
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
BDEPEND="sys-apps/texinfo"
@ -35,7 +42,7 @@ src_install() {
elisp_src_install
doinfo doc/${PN}.info
dodoc -r doc/${PN}
dodoc doc/${PN}_html/*
insinto ${SITEETC}/${PN}
doins -r examples

Binary file not shown.

@ -1,2 +1 @@
DIST diskimage-builder-3.29.0.tar.gz 526544 BLAKE2B a5b52e8ec5f46e4aa1ec27a9194381e5f47ede8a2428b8e43e8d200174cc39654cf55f7f44ee46a3b03a846b665fb635c06f413878dd30e8ba4aa020f5c6f7d0 SHA512 f35650481168c52066c6ec9818e08fe5d20732899676fe1a1961a71d522b045539da06a0d1bd366e5a2e6ebc07d6e609b9bfbcaa83ca50086fe2c17936f27ba7
DIST diskimage-builder-3.30.0.tar.gz 527303 BLAKE2B ef364ad61932e56579c150935d247ba83a5d8bacf4aee196404f71304b560081fed5089129c74f4d3b3d6054165438dbf150a6fba41aaf4065b79cdf747e08f9 SHA512 aa9580878a4606069262022117abea6e1e4f9d1fb0f5951ea2b47486e844b2bfa330033e627c6a5bd8d50d97bf595a3380ec5b084199192c6b34849c41fd2d5a

@ -1,40 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9,10} )
DISTUTILS_USE_SETUPTOOLS=rdepend
PYPI_NO_NORMALIZE=1
inherit distutils-r1
DESCRIPTION="Golden Disk Image builder"
HOMEPAGE="http://docs.openstack.org/developer/diskimage-builder/"
if [[ ${PV} == 9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://opendev.org/openstack/diskimage-builder.git"
else
inherit pypi
KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
fi
LICENSE="Apache-2.0"
SLOT="0"
IUSE=""
CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
!~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]"
DEPEND="${CDEPEND}"
RDEPEND="${CDEPEND}
>=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
!~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
>=dev-python/networkx-1.10[${PYTHON_USEDEP}]
>=dev-python/pyyaml-3.12[${PYTHON_USEDEP}]
>=dev-python/six-1.10.0[${PYTHON_USEDEP}]
>=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
app-emulation/qemu
sys-block/parted
sys-fs/multipath-tools
sys-fs/dosfstools
sys-apps/gptfdisk
!dev-python/dib-utils[${PYTHON_USEDEP}]"

Binary file not shown.

@ -1,4 +1,5 @@
DIST aide-0.17.4.tar.gz 331783 BLAKE2B 584a385d0a0e80edf0b89eef202431adfea7fe8ba04c774e49dfb7230e766e19a48572e9d6c80386668572e459db9770b04978df484bd49c7de6433657500e13 SHA512 b6dba54fd204e1899d47b0b4139786cbeaa51c388027e2cfc1bb839297a70ae8ad6f37429594a730fac8007d62b4ba5b61a4aa22edbc55cbe986ccfaf5197f31
DIST aide-0.18.2.tar.gz 382582 BLAKE2B 267233a4dfdbc5a433389c20a1abe753133dfa01ecc205769c89a9b4699535b1d00e9df6527ae8298f4cb920e2f755e4d75d17b4a2449041a85c8c5e5ecc2abc SHA512 3a209db9dc1adb345494ce20a5c3def9f40ae49723d3a978d8e9b38f43239496a330b484ed93adba88154770ce1f1a0f3cdeb2ff8d991d28a1d66cfa6cd9b68b
DIST aide-0.18.3.tar.gz 382694 BLAKE2B f5e79d80c1fa2ba15096d38c1a1d197fc8665bc0ff03665367abce7722561f2054cc64f51429a1411d6aaa0df315869ac99314e660acdff31bf1dc6b471a62b8 SHA512 22f1d2d3e14fa88639587f5a61e114b89c784a87f636c1bbb245e620254b60ec07692e51ae27386a84810d7a915e0ddf5c5073fecb6eb72148ff5035ef8525eb
DIST aide-0.18.4.tar.gz 382874 BLAKE2B e8fe8a115236f055f24b907ddcf540f02658b85c1df99ff9a8f58dfa9489de3d542b25bb947e047c8363c81d1f0ad0730fd77efacabe15fa24bbafc3fd807687 SHA512 31a17fc97ed9bda5dc4a492bcee699442cee1ea3829b1b06cf91ef9234a8b033677c281979902cbc6a8db0269c7f00499897940df07beff14cbb88b8fe6390f5
DIST aide-0.18.tar.gz 375922 BLAKE2B 03c961682fd25581831ca0715e57546b5595057115a456778ac0846fd1f23622600a061e2d8524f7381dfa6d43cefcdaa52d00eed2639dd60c7f3501efe8b474 SHA512 99d8140523ebe1d80b5d73c20bf13b8559aa22f08a9df485c15daeba7f5448c27d86ed310f2e7963076958dbe1fc2e4636807ca073dd0a6568b4eb8af2a38f4b

@ -0,0 +1,106 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit readme.gentoo-r1
DESCRIPTION="AIDE (Advanced Intrusion Detection Environment) is a file integrity checker"
HOMEPAGE="https://aide.github.io/ https://github.com/aide/aide"
SRC_URI="https://github.com/aide/aide/releases/download/v${PV}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="acl audit curl e2fs mhash selinux xattr"
DEPEND="
dev-libs/libpcre2
sys-libs/zlib
acl? ( virtual/acl )
audit? ( sys-process/audit )
curl? ( net-misc/curl )
e2fs? ( sys-fs/e2fsprogs )
!mhash? (
dev-libs/libgcrypt:=
dev-libs/libgpg-error
)
mhash? ( app-crypt/mhash )
selinux? ( sys-libs/libselinux )
xattr? ( sys-apps/attr )
"
RDEPEND="
${DEPEND}
selinux? ( sec-policy/selinux-aide )
"
BDEPEND="
sys-devel/bison
sys-devel/flex
virtual/pkgconfig
"
DISABLE_AUTOFORMATTING=1
DOC_CONTENTS="
Example configuration file was installed at '${EPREFIX}/etc/aide/aide.conf'.
Please edit it to meet your needs. Refer to aide.conf(5) manual page
for more information.
A helper script, aideinit, was installed and can be used to make AIDE
management easier. Please run 'aideinit --help' for more information."
src_prepare() {
default
# Only needed for snapshots.
if [[ ${PV} == *_p* ]] ; then
echo "m4_define([AIDE_VERSION], [${PV}])" > version.m4 || die
fi
}
src_configure() {
# Needs Bison, flex
unset YACC
export LEX=flex
local myeconfargs=(
--sysconfdir="${EPREFIX}"/etc/${PN}
# Needed even in EAPI=8, >=portage-3.0.40 skips it here (bug #887177)
--disable-static
# Disable broken l10n support: https://sourceforge.net/p/aide/bugs/98/
# This doesn't affect anything because there are no localizations yet.
--without-locale
--with-zlib
$(use_with curl)
$(use_with acl posix-acl)
$(use_with selinux)
$(use_with xattr)
$(use_with e2fs e2fsattrs)
$(use_with mhash mhash)
$(use_with !mhash gcrypt)
$(use_with audit)
)
econf "${myeconfargs[@]}"
}
src_install() {
default
readme.gentoo_create_doc
insinto /etc/${PN}
insopts -m0600
newins "${FILESDIR}"/aide.conf-r2 aide.conf
dosbin "${FILESDIR}"/aideinit
dodoc -r contrib/ "${FILESDIR}"/aide.cron-r2
keepdir /var/{lib,log}/${PN}
}
pkg_postinst() {
readme.gentoo_print_elog
}

Binary file not shown.

@ -0,0 +1,95 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..11} )
PYTHON_REQ_USE="sqlite"
inherit desktop optfeature python-single-r1 xdg
DESCRIPTION="A spaced-repetition memory training program (flash cards)"
HOMEPAGE="https://apps.ankiweb.net"
SRC_URI="https://apps.ankiweb.net/downloads/archive/${P}-source.tgz -> ${P}.tgz"
LICENSE="AGPL-3+ BSD MIT GPL-3+ CC-BY-SA-3.0 Apache-2.0 CC-BY-2.5"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="${PYTHON_DEPS}
$(python_gen_cond_dep '
>=dev-python/PyQt5-5.12[gui,svg,widgets,${PYTHON_USEDEP}]
>=dev-python/PyQtWebEngine-5.12[${PYTHON_USEDEP}]
>=dev-python/httplib2-0.7.4[${PYTHON_USEDEP}]
dev-python/beautifulsoup4[${PYTHON_USEDEP}]
dev-python/decorator[${PYTHON_USEDEP}]
dev-python/jsonschema[${PYTHON_USEDEP}]
dev-python/markdown[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
dev-python/send2trash[${PYTHON_USEDEP}]
')
"
BDEPEND="test? (
${RDEPEND}
$(python_gen_cond_dep '
dev-python/nose[${PYTHON_USEDEP}]
dev-python/mock[${PYTHON_USEDEP}]
')
)
"
PATCHES=(
"${FILESDIR}"/${PN}-2.1.0_beta25-web-folder.patch
"${FILESDIR}"/${PN}-2.1.15-mpv-args.patch
"${FILESDIR}"/${PN}-2.1.15-unescape.patch
"${FILESDIR}"/${PN}-2.1.15-fix-prefs.patch
)
src_prepare() {
default
sed -i -e "s/updates=True/updates=False/" \
aqt/profiles.py || die
}
src_compile() {
:;
}
src_test() {
sed -e "s:nose=nosetests$:nose=\"${EPYTHON} ${BROOT}/usr/bin/nosetests\":" \
-i tools/tests.sh || die
sed -e "s:nose=nosetests3$:nose=\"${EPYTHON} ${BROOT}/usr/bin/nosetests3\":" \
-i tools/tests.sh || die
sed -e "s:which nosetests3:which ${BROOT}/usr/bin/nosetests3:" \
-i tools/tests.sh || die
./tools/tests.sh || die
}
src_install() {
doicon ${PN}.png
domenu ${PN}.desktop
doman ${PN}.1
dodoc README.md README.development
python_domodule aqt anki
python_newscript runanki anki
# Localization files go into the anki directory:
python_moduleinto anki
python_domodule locale
# not sure if this is correct, but
# site-packages/aqt/mediasrv.py wants the directory
insinto /usr/share/anki
doins -r web
}
pkg_postinst() {
xdg_pkg_postinst
optfeature "LaTeX in cards" "app-text/texlive app-text/dvipng"
optfeature "Record sound" "dev-python/pyaudio media-sound/lame"
optfeature "Playback sound" media-video/mpv media-video/mplayer
}

@ -0,0 +1,17 @@
https://bugs.gentoo.org/869917#c3
https://github.com/ankitects/anki/commit/d2ae874d9e1615d09afc912275cc3b27776a1392
--- a/aqt/preferences.py
+++ b/aqt/preferences.py
@@ -77,8 +77,8 @@ class Preferences(QDialog):
f.hwAccel.setVisible(False)
else:
f.hwAccel.setChecked(self.mw.pm.glMode() != "software")
- f.lrnCutoff.setValue(qc['collapseTime']/60.0)
- f.timeLimit.setValue(qc['timeLim']/60.0)
+ f.lrnCutoff.setValue(int(qc['collapseTime']/60.0))
+ f.timeLimit.setValue(int(qc['timeLim']/60.0))
f.showEstimates.setChecked(qc['estTimes'])
f.showProgress.setChecked(qc['dueCounts'])
f.nightMode.setChecked(qc.get("nightMode", False))

@ -1,4 +1,4 @@
# Copyright 1999-2022 Gentoo Authors
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -6,7 +6,7 @@ EAPI=8
inherit autotools desktop udev
DESCRIPTION="Unofficial tool for controlling the Razer Copperhead mouse"
HOMEPAGE="http://razertool.sourceforge.net/"
HOMEPAGE="https://razertool.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${P/-/_}.orig.tar.gz"
LICENSE="GPL-2"

Binary file not shown.

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{9..11} )
PYTHON_COMPAT=( python3_{9..12} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1

@ -1 +1,2 @@
DIST libgepub-0.7.0.tar.xz 28536 BLAKE2B beeab3d3911353cb0cac78207cc9e18e3341afce94213757c8d246a2d01c42aa0eb37618cc066307ce2ec8f21dbb89982271f25a9552d6872d5e86a4345407c6 SHA512 2ab661a6379899ff818313205d818ef1239654afde9ebcc22fa55b5d961aee20dd9c8295a58ff1d1fb1ea281ddb6ee8644942a860b3ee9f6a4ba9d7447efc517
DIST libgepub-0.7.1.tar.xz 28576 BLAKE2B a65ecdd13bfcc96fbf0e1998d24cc565f0bd60213f278fdf592dcdf1ad6a1b40c9c10e3ffc3fe9ac500d92f5471619432badd746dfc57538e96a2b6a138b0a26 SHA512 9a9c56cffab485b78f0fdf115e655c4f395ee6e3f00b203fee5dfbb2054aa58540ca1fe8dc9dd82460ae3b39e89471e128086be10e77b247d0ce7b195bfbe8e3

@ -0,0 +1,40 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit gnome.org meson xdg
DESCRIPTION="GObject based library for handling and rendering epub documents"
HOMEPAGE="https://gitlab.gnome.org/GNOME/libgepub"
LICENSE="LGPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="+introspection webkit"
RDEPEND="
net-libs/libsoup:3.0
dev-libs/glib:2
dev-libs/libxml2
app-arch/libarchive:=
webkit? ( >=net-libs/webkit-gtk-2.38.0:4.1[introspection?] )
introspection? ( >=dev-libs/gobject-introspection-1.30:= )
"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
src_prepare() {
default
# Tests are not executed by `meson test` and they require GTK+3
sed -i -e "/subdir('tests')/d" meson.build || die
}
src_configure() {
local emesonargs=(
$(meson_use introspection)
$(meson_use webkit widget)
)
meson_src_configure
}

Binary file not shown.

@ -1 +1,2 @@
DIST gentoo-syntax-10.tar.bz2 20945 BLAKE2B 7e081ae2d1498fc0b0616c750881c6f47cbae21d88d876c33d54bae0ff32f5eca44a004e31714fa4af0d351656c72df9e69f33ff0f97e6a2c59d835aacbd44a6 SHA512 790e24ac5427b50f1cd332b895e477bc9715a681cf8c21aaaff722151e6245b45fb33f49465258280eab6a903f3b0c8a8d40b935f44942b6b93f5c0d3c7c420a
DIST gentoo-syntax-11.tar.bz2 20986 BLAKE2B dd4d4d3a65480a4600d9c1372fdb1db40c07d3a954232513a535cd9e7d59e5e89f185e32aa7bfe38909e1ef4b0e2639136478ba9ab7eb6ceedd9fdb459b08da2 SHA512 9c74b38880429e2e980e8f44b51ed5bc3bb1431d8429a7ac66574556e3ca01e909c445585da9152d78e38d23cc9a4c100bb81f56ea8c0b63291b8df0dca7b886

@ -0,0 +1,42 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit vim-plugin
DESCRIPTION="vim plugin: Gentoo and Portage syntax highlighting"
HOMEPAGE="https://github.com/gentoo/gentoo-syntax"
SRC_URI="https://gitweb.gentoo.org/proj/gentoo-syntax.git/snapshot/${P}.tar.bz2"
LICENSE="vim"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="ignore-glep31"
VIM_PLUGIN_HELPFILES="gentoo-syntax"
VIM_PLUGIN_MESSAGES="filetype"
src_prepare() {
default
if use ignore-glep31 ; then
for f in ftplugin/*.vim ; do
ebegin "Removing UTF-8 rules from ${f} ..."
sed -i -e 's~\(setlocal fileencoding=utf-8\)~" \1~' ${f} \
|| die "waah! bad sed voodoo. need more goats."
eend $?
done
fi
}
pkg_postinst() {
vim-plugin_pkg_postinst
if [[ -z ${REPLACING_VERSIONS} ]] ; then
if use ignore-glep31 1>/dev/null ; then
ewarn "You have chosen to disable the rules which ensure GLEP 31"
ewarn "compliance. When editing ebuilds, please make sure you get"
ewarn "the character set correct."
fi
fi
}

Binary file not shown.

@ -0,0 +1 @@
DIST jwt-cpp-0.6.0.tar.gz 275126 BLAKE2B 4bf9bed9b2aa9584b497b2ab4d1d2582d9b5e4ded402200ea3f70b0e6752338fd4e2ef9c5836c728a6907a0190209c7baeaecd26032ce64dc6bf12a23594f27b SHA512 b6d5ebb3a7eeb6fef9a1d41c707251d1ab05bf47920c280d5203f1b9ee5bf6f8e914cd2ffaed66550cfa6d78c34465d4cf86517a759d5f8739b429faf1c2c0ef

@ -0,0 +1,14 @@
From: Hannu Lounento <hannu.lounento@vaisala.com>
Bug: https://github.com/Thalhammer/jwt-cpp/pull/287
Fix build with GCC 13.
--- a/include/jwt-cpp/base.h
+++ b/include/jwt-cpp/base.h
@@ -3,6 +3,7 @@
#include <array>
+#include <cstdint>
#include <stdexcept>
#include <string>

@ -0,0 +1,82 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
if [[ ${PV} == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/Thalhammer/jwt-cpp.git"
else
SRC_URI="https://github.com/Thalhammer/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
DESCRIPTION="header only library for creating and validating JSON Web Tokens in C++11"
HOMEPAGE="https://thalhammer.github.io/jwt-cpp/"
LICENSE="MIT"
SLOT="0"
IUSE="doc +picojson test"
DEPEND="
dev-cpp/nlohmann_json
dev-libs/openssl
picojson? ( dev-cpp/picojson )
"
RDEPEND="${DEPEND}"
BDEPEND="
doc? ( app-doc/doxygen[dot] )
test? ( dev-cpp/gtest )
"
RESTRICT="
!picojson? ( test )
!test? ( test )
"
PATCHES=(
"${FILESDIR}"/"${PN}"-0.6.0-gcc13.patch
)
DOCS=( README.md docs/{faqs,ssl,traits}.md )
src_prepare() {
# Unbundle dev-cpp/nlohmann_json.
rm -vrf include/nhlomann || die
# Unbundle dev-cpp/picojson and fix include paths.
# See also: https://github.com/Thalhammer/jwt-cpp/issues/213
rm -vrf include/picojson || die
find -name '*.h' -type f -print0 | xargs -0 sed -r -e "s:picojson/picojson\.h:picojson.h:g" -i || die
# Prevent installation of bundled dev-cpp/picojson.
sed -i -e 's:^\s*install.*picojson/picojson\.h.*$::' CMakeLists.txt || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DJWT_DISABLE_PICOJSON="$(usex !picojson)"
# Not useful for now, asks for non-existent CMake module.
#-DJWT_EXTERNAL_PICOJSON="$(usex picojson)"
# Examples are not installed and for development only.
-DJWT_BUILD_EXAMPLES=NO
-DJWT_BUILD_TESTS="$(usex test)"
-DJWT_CMAKE_FILES_INSTALL_DIR="${EPREFIX}"/usr/share/cmake
)
cmake_src_configure
}
src_compile() {
cmake_src_compile
if use doc; then
doxygen || die
fi
}
src_test() {
"${BUILD_DIR}"/tests/jwt-cpp-test || die
}
src_install() {
cmake_src_install
use doc && local HTML_DOCS=(doxy/html/.)
einstalldocs
}

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>o.freyermuth@googlemail.com</email>
<name>Oliver Freyermuth</name>
</maintainer>
<maintainer type="person">
<email>amadio@gentoo.org</email>
<name>Guilherme Amadio</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
<bugs-to>https://github.com/Thalhammer/jwt-cpp/issues</bugs-to>
<remote-id type="github">Thalhammer/jwt-cpp</remote-id>
</upstream>
<use>
<flag name="picojson">Enable use of <pkg>dev-cpp/picojson</pkg></flag>
</use>
</pkgmetadata>

@ -1,4 +1,4 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -11,7 +11,7 @@ SRC_URI="https://github.com/kazuho/picojson/archive/v${PV}.tar.gz -> ${P}.tar.gz
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="~amd64 ~x86"
src_compile() {
:

@ -1,10 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>o.freyermuth@googlemail.com</email>
<name>Oliver Freyermuth</name>
</maintainer>
<maintainer type="person">
<email>amadio@gentoo.org</email>
<name>Guilherme Amadio</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<longdescription lang="en">
SciTokens provide a token format for distributed authorization. The tokens are
self-describing, can be verified in a distributed fashion (no need to contact

@ -0,0 +1,57 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
if [[ ${PV} == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/scitokens/scitokens-cpp"
else
SRC_URI="https://github.com/scitokens/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
DESCRIPTION=" A C++ implementation of the SciTokens library with a C library interface"
HOMEPAGE="https://scitokens.org/"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="test"
DEPEND="
dev-cpp/jwt-cpp
dev-db/sqlite
dev-libs/openssl:0=
net-misc/curl:0=
sys-apps/util-linux
"
RDEPEND="${DEPEND}"
BDEPEND="
virtual/pkgconfig
test? ( dev-cpp/gtest )
"
RESTRICT="!test? ( test )"
src_prepare() {
# Unbundle dev-cpp/gtest, dev-cpp/jwt-cpp
rm -r vendor || die
# Fix include path for picojson.
find src/ \( -name '*.cpp' -o -name '*.h' \) -type f -print0 | \
xargs -0 sed -r -e "s:picojson/picojson\.h:picojson.h:g" -i || die
# Disable network-based tests relying on external services.
if use test; then
sed -i -e '/^TEST_F/s#RefreshTest#DISABLED_RefreshTest#' \
-e '/^TEST_F/s#RefreshExpiredTest#DISABLED_RefreshExpiredTest#' test/main.cpp || die
fi
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DSCITOKENS_BUILD_UNITTESTS="$(usex test)"
-DSCITOKENS_EXTERNAL_GTEST=YES
)
cmake_src_configure
}

Binary file not shown.

@ -11,12 +11,11 @@ HOMEPAGE="https://github.com/influxdata/influx-cli"
SRC_URI="https://github.com/influxdata/influx-cli/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz"
LICENSE="MIT"
LICENSE="Apache-2.0 BSD BSD-2 MIT"
SLOT="0"
KEYWORDS="~amd64"
RESTRICT+=" test"
RESTRICT=" test"
src_compile() {
unset LDFLAGS

@ -6,5 +6,6 @@
<name>William Hubbs</name>
</maintainer>
<upstream>
<remote-id type="github">influxdata/influx-cli</remote-id>
</upstream>
</pkgmetadata>

@ -236,3 +236,13 @@ src_install() {
keepdir /var/log/influxdb
fowners influxdb:influxdb /var/log/influxdb
}
pkg_postinst() {
elog "Upgrading from InfluxDB1.x requires migration of time series data."
elog "See https://docs.influxdata.com/influxdb/v2.7/upgrade/v1-to-v2/"
elog "Keep in mind that some applications not compatible with InfluxDB 2.x"
elog "may stop working."
ewarn "The InfluxDB command line client has been moved to dev-db/influx-cli"
ewarn "You will need to install it separately"
}

@ -1,230 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CRATES="
adler32-1.2.0
ahash-0.7.6
aho-corasick-0.7.18
ansi_term-0.11.0
ansi_term-0.12.1
anyhow-1.0.56
arrayvec-0.5.2
atty-0.2.14
autocfg-1.0.1
bitflags-1.3.2
bstr-0.2.17
bumpalo-3.12.0
cast-0.2.7
cfg-if-1.0.0
chrono-0.4.19
clap-2.33.3
codespan-reporting-0.11.1
colored-2.0.0
crc32fast-1.2.1
criterion-0.3.5
criterion-plot-0.4.4
crossbeam-channel-0.5.1
crossbeam-deque-0.8.1
crossbeam-epoch-0.9.5
crossbeam-utils-0.8.8
csv-1.1.6
csv-core-0.1.10
ctor-0.1.21
derivative-2.2.0
derive_more-0.99.17
diff-0.1.12
dissimilar-1.0.3
either-1.6.1
ena-0.14.0
env_logger-0.9.0
expect-test-1.2.2
fallible-iterator-0.2.0
fallible-streaming-iterator-0.1.9
fastrand-1.7.0
flatbuffers-22.9.29
fnv-1.0.7
form_urlencoded-1.0.1
getrandom-0.2.6
half-1.8.2
hashbrown-0.11.2
hashlink-0.7.0
heck-0.3.3
hermit-abi-0.1.19
humantime-2.1.0
idna-0.2.3
indexmap-1.8.1
instant-0.1.12
itertools-0.10.1
itoa-0.4.8
itoa-1.0.1
js-sys-0.3.55
lazy_static-1.4.0
libc-0.2.121
libflate-1.2.0
libflate_lz77-1.1.0
libsqlite3-sys-0.23.2
lock_api-0.4.6
log-0.4.16
lsp-types-0.91.1
maplit-1.0.2
matches-0.1.9
memchr-2.4.1
memoffset-0.6.4
num-integer-0.1.44
num-traits-0.2.14
num_cpus-1.13.0
once_cell-1.10.0
oorandom-11.1.3
ordered-float-3.2.0
output_vt100-0.1.2
pad-0.1.6
parking_lot-0.11.2
parking_lot_core-0.8.5
percent-encoding-2.1.0
pkg-config-0.3.25
plotters-0.3.1
plotters-backend-0.3.2
plotters-svg-0.3.1
pretty-0.11.2
pretty_assertions-1.2.1
proc-macro-error-1.0.4
proc-macro-error-attr-1.0.4
proc-macro2-1.0.32
pulldown-cmark-0.9.1
quote-1.0.10
rayon-1.5.2
rayon-core-1.9.2
redox_syscall-0.2.10
regex-1.5.5
regex-automata-0.1.10
regex-syntax-0.6.25
remove_dir_all-0.5.3
rle-decode-fast-1.0.1
rusqlite-0.26.3
rustc-hash-1.1.0
rustc_version-0.4.0
ryu-1.0.5
salsa-0.17.0-pre.2
salsa-macros-0.17.0-pre.2
same-file-1.0.6
scopeguard-1.1.0
semver-1.0.4
serde-1.0.136
serde_cbor-0.11.2
serde_derive-1.0.136
serde_json-1.0.79
serde_repr-0.1.7
smallvec-1.7.0
strsim-0.8.0
structopt-0.3.26
structopt-derive-0.4.18
syn-1.0.81
tempfile-3.3.0
termcolor-1.1.2
textwrap-0.11.0
thiserror-1.0.30
thiserror-impl-1.0.30
time-0.1.43
tinytemplate-1.2.1
tinyvec-1.5.1
tinyvec_macros-0.1.0
typed-arena-2.0.1
unicase-2.6.0
unicode-bidi-0.3.7
unicode-normalization-0.1.19
unicode-segmentation-1.8.0
unicode-width-0.1.9
unicode-xid-0.2.2
url-2.2.2
vcpkg-0.2.15
vec_map-0.8.2
version_check-0.9.3
walkdir-2.3.2
wasi-0.10.2+wasi-snapshot-preview1
wasm-bindgen-0.2.78
wasm-bindgen-backend-0.2.78
wasm-bindgen-macro-0.2.78
wasm-bindgen-macro-support-0.2.78
wasm-bindgen-shared-0.2.78
web-sys-0.3.55
winapi-0.3.9
winapi-i686-pc-windows-gnu-0.4.0
winapi-util-0.1.5
winapi-x86_64-pc-windows-gnu-0.4.0
"
inherit cargo go-module
DESCRIPTION="Scalable datastore for metrics, events, and real-time analytics"
HOMEPAGE="https://www.influxdata.com"
SRC_URI="https://github.com/influxdata/influxdb/archive/v${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI+=" https://github.com/influxdata/ui/releases/download/OSS-v${PV}/build.tar.gz -> ${P}-assets.tar.gz"
SRC_URI+=" https://gentoo.kropotkin.rocks/go-pkgs/${P}-deps.tar.xz"
SRC_URI+=" $(cargo_crate_uris)"
LICENSE="Apache-2.0 BSD BSD-2 EPL-2.0 ISC MIT MPL-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="test"
RESTRICT="!test? ( test )"
BDEPEND="virtual/pkgconfig"
COMMON_DEPEND="
acct-group/influxdb
acct-user/influxdb
"
DEPEND="${COMMON_DEPEND}"
src_unpack() {
cargo_src_unpack
}
src_prepare() {
default
local data_dir
data_dir="${S}/static/data"
mkdir "${data_dir}" || die
mv "${WORKDIR}/build" "${data_dir}" || die
}
src_compile() {
mv "${WORKDIR}/go-mod" "${WORKDIR}/go-mod-tmp" || die
mv "${WORKDIR}/go-mod-tmp/github.com/influxdata/pkg-config@v0.2.11/go-mod" "${WORKDIR}/go-mod" || die
cd "${WORKDIR}"/go-mod-tmp/github.com/influxdata/pkg-config* || die
ego build .
mv "${WORKDIR}/go-mod" "${WORKDIR}/go-mod-tmp/github.com/influxdata/pkg-config@v0.2.11" || die
mv "${WORKDIR}/go-mod-tmp" "${WORKDIR}/go-mod" || die
cd "${WORKDIR}/go-mod/github.com/influxdata/flux@v0.193.0/libflux" || die
cargo_src_compile
cd "${S}" || die
export PKG_CONFIG="${WORKDIR}/go-mod/github.com/influxdata/pkg-config@v0.2.11/pkg-config"
ego generate ./static
GOBIN="${S}/bin" \
ego install \
-tags 'assets,noasm,sqlite_json,sqlite_foreign_keys' \
-ldflags="-X main.version=${PV}" \
./...
}
src_test() {
ego test ./tests
}
src_install() {
dobin bin/influx*
dodoc *.md
newconfd "${FILESDIR}"/influxdb.confd influxdb
newinitd "${FILESDIR}"/influxdb.initd influxdb
keepdir /var/log/influxdb
fowners influxdb:influxdb /var/log/influxdb
}

Binary file not shown.

@ -2,11 +2,14 @@ DIST scala-cli-amd64-0.2.1.gz 32642273 BLAKE2B f30dde2a5408032942e5676b0274473fe
DIST scala-cli-amd64-1.0.0-RC1.gz 32431480 BLAKE2B 3ac9aa93a109493288397ca595c7364a79530a601baa2fdd11f6f0e618f9c1fb07068eb05a8242a5fcc00efc213b8225a60b8e2e75ef5dec782280665cad0cc8 SHA512 559fb6caa346e370b93778da5266b8d009cd4335e3a7baeee090c14110dcdf87fb45bee7c00eab50f3df875d88378dcfc0f6ef4a61cf8522918f9d49337e0767
DIST scala-cli-amd64-1.0.0-RC2.gz 32605320 BLAKE2B bff2336256336676df72dbce8353dbc28028d55345ab5c22dc8129d020beb2f1f8e3ef4ea0cf60843ff5868c8bd701a839a235ea5211612ba21d160e8e99ad50 SHA512 c576443cf0ecf8ff048f3ade35fec0a6c6de417d0c86030e46fe0decc20d3c1a0dbd1e8377b39866c4eed3d4b4cb762d6d8de174831a011a2553d8d204a6f80c
DIST scala-cli-amd64-1.0.0.gz 33061895 BLAKE2B 9261617e7f9ed15ce8294eedcec2c81ad60d72b83663fb97559fa68b3578706637316e0e58966d690e64147743dcdf81e3e1f41d6bb9ebf55414e316370d7ec1 SHA512 6a37fae85faa2965ea816f2a72e89300e66bdd3ef741ba5bff575a8127255866822575b3708d2bd63d89f4a812d368bc7796494c90def8c2498f956e4b229264
DIST scala-cli-amd64-1.0.1.gz 33066567 BLAKE2B 6f03e9f825b901344de61ddda2df5b899f99ce5c5b7ce64e5db3aa81b5c35808e50f3cae453554dc567fb4e1801ff6accc186480a4a9813005b8564558315ac6 SHA512 a9a51320e160692b49cb41637a89aa1adef89eab6c4cebe19cb7600b9b7fae963f9b9522b6d77a9b2d845ec652ba7533b6090a42b3383725ce56c6e7f32512e7
DIST scala-cli-arm64-0.2.1.gz 32498301 BLAKE2B 6ffd39f37bbcd33a59855e7226435dfea6ae99bc5cf30d182cd6920636e6b2e9ff627bd028b90f7cfbff4ed1829545697fe839290990d2938a24c64784f7e549 SHA512 b6609cb52bdfd4dffe4060343c652b477b5730c1f3f5f7267a39577c13e894b23982bfe80ae065472103bcbd1573675434e91128d31cbf3c83242f9aa60243b1
DIST scala-cli-arm64-1.0.0-RC1.gz 32263782 BLAKE2B 4131187460fb9f4236d35ebe2e63913812eba85eb8a862f2f02b681a6914b1a21f1f426e6411cff14f6309d0a7e91e2ff7f61b0336245d178f38747d953473dc SHA512 c43ecaf1638c4aa092d2a823a931ceea77cebd940907a8c781caa7c526411a5c2c50a7468ef6efab816d9d26d6769c0df421abc60f099992b489478e804ec52e
DIST scala-cli-arm64-1.0.0-RC2.gz 32420806 BLAKE2B 689edebc42c6483d2167b7231018dadb07cd93838451aecea5405884a7e07625b373c3aafdb4618d1398038363f812720e7a88b117f6bc70c48273fe1446c5d9 SHA512 d4cff7f9e85f0b0f5205d7a3ceb383fd44e348eb6cd593c7a5ffd44d073653ecc63d607ff23010ffb8ddc51c4977074d6ad0aad6282d9c564b9f478f3ba61479
DIST scala-cli-arm64-1.0.0.gz 32902399 BLAKE2B deff1fad9204572aafa8da88cb368d85e0ec39a51d71b00eed0a1933ea713cbeafd1cff3ec882eb32283770f1eb741e32969fa1e75aa46a6b6aab542a5d23447 SHA512 e6020c305d8ed06f8531994483079ee095f0d2bd9a0095ec417929620ee3e6a45507214a6f68756b70518af20d53e64b531793bb940872921302ad4f6566972c
DIST scala-cli-arm64-1.0.1.gz 32915001 BLAKE2B db6e34f3534c3ffb873000893c0b07df26d91710b6de0075669fbf51a0f238303c77e7953a890eb50eac54087cf2ac77e916d3e1765b7e2b7de1145e0b1d605e SHA512 90a1c550e898b429ab8bc3722a40cb90752d7ee9c41fd61018f58d761704b5cd8b8b6b3381e3f7c3a9b3e7fffabf9b46bfa8cb4336604392b6443c1554f6482f
DIST scala-cli-non-native-0.2.1 9468051 BLAKE2B 9a9b5694261b769fafa3f3747f5e83869324e341f264dbfa463382e217acd5a2c994fb6e67e9e36175d97520938a40add424f5e9a77c62056eec6a828d4ea61a SHA512 547e9786527b7e7d34f4f912a6b9ae0c8f15eca3aa90f11f704283c63e5105363464f1e81f6dbb363fa71fb17e3e48b4db86e70f3b37b5059c40c02cd47382f5
DIST scala-cli-non-native-1.0.0 9540019 BLAKE2B fd7c920216fbba76be116cac2a2439ee0f983dbb1811e60a7095611b75bd1af86e8597f74dab4e994f3dd73694e2c93b910f9162e0fe8d4c8ada3f0012fb8b35 SHA512 6e09be3adf75f957a787b5cb5031824892d0606742ae12988b008d0fab1c743f2dff7169a547d77795af78679bde051a8f457284f339990bb343807e47005499
DIST scala-cli-non-native-1.0.0-RC1 9560878 BLAKE2B a0e8a86f61c5d9baa9dd36fdd2abd974063bab40644cfafd6f93f917c10f3cae2b665a19058641f61f75f11b614415db5d624d1397c061fed299b32059919faf SHA512 9b8c2b0868ed38601c5f992fae425d486ca5ac026fa664a404ba0ef4813ea9351f196a694e111fe2bbf2ccaa17257982feee91a85444d778f6a3d20f6347a438
DIST scala-cli-non-native-1.0.0-RC2 9405006 BLAKE2B e44e973a446601aa0f81a3df52769a60cd0c159f4bc903896e6f3352ef098a49ffa00a836fcd16a42d801b04a8bf9b2392144997bf4bd787a8bd913702a4a6d0 SHA512 11e7ab68b4321cb7feb4e51eb3fda4f4066a392d1aeddcfe32c942033f5d807fcd80793f4f0d4573684e3028cd5ea65ca790ca72b19e23834a8f8da2941e206b
DIST scala-cli-non-native-1.0.1 9554667 BLAKE2B bac0d8b61cf2a14386791dd27cf3ebfbafccfaec5e13aa223d41bfd6ee30c3f1252ba903e2cc0434920633dcfa3c35e67f647f10713956f8fd372899b301562d SHA512 54029ad8ade9fffc8334ffedeaddd604ac75027447b0d7835db318909dc44946dfb039e0dcae4c3da8349922ee9af65d0d7cef389fdae2d11d5cac7d900e7504

@ -0,0 +1,78 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit bash-completion-r1
UPSTREAM_PV=${PV/_/-}
UPSTREAM_PV=${UPSTREAM_PV/rc/RC}
DESCRIPTION="CLI to interact with Scala and Java"
HOMEPAGE="https://scala-cli.virtuslab.org/"
SRC_URI="
!amd64? ( !arm64? (
https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli
-> scala-cli-non-native-${UPSTREAM_PV}
) )
amd64? (
https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli-x86_64-pc-linux.gz
-> scala-cli-amd64-${UPSTREAM_PV}.gz
)
arm64? (
https://github.com/VirtusLab/scala-cli/releases/download/v${UPSTREAM_PV}/scala-cli-aarch64-pc-linux.gz
-> scala-cli-arm64-${UPSTREAM_PV}.gz
)
"
KEYWORDS="~amd64 ~arm64"
LICENSE="Apache-2.0"
SLOT="0"
S="${WORKDIR}"
# A JRE is not strictly required if native images of scala-cli are used
# (amd64, arm64). However we may want a system JRE anyway, and having JRE
# in RDEPEND reduces the chances that scala-cli needs to install one
# for the user.
RDEPEND="
>=virtual/jre-11
sys-libs/zlib
"
BDEPEND="!amd64? ( !arm64? ( >=virtual/jre-11 ) )"
QA_TEXTRELS="*"
QA_FLAGS_IGNORED="/usr/bin/scala-cli"
src_prepare() {
default
if use amd64; then
mv scala-cli-amd64-${UPSTREAM_PV} scala-cli || die
elif use arm64; then
mv scala-cli-arm64-${UPSTREAM_PV} scala-cli || die
else
mv scala-cli-non-native-${UPSTREAM_PV} scala-cli || die
fi
chmod +x scala-cli || die
}
src_compile() {
for shell in bash zsh; do
./scala-cli install-completions \
--shell ${shell} \
--env \
--output "${S}" \
> ${shell}-completion || die
done
}
src_install() {
dobin scala-cli
newbashcomp bash-completion scala-cli
insinto /usr/share/zsh/site-functions
doins zsh/_scala-cli
}

Binary file not shown.

@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86"
KEYWORDS="~alpha ~amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86"
IUSE="
bluetooth build debug +ensurepip examples gdbm hardened libedit lto
+ncurses pgo +readline +sqlite +ssl test tk valgrind +xml

@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc ~x86"
KEYWORDS="~alpha ~amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="
bluetooth build debug +ensurepip examples gdbm hardened libedit lto
+ncurses pgo +readline +sqlite +ssl test tk valgrind

@ -2,10 +2,7 @@ DIST firefox-102.10.0esr.source.tar.xz 479026088 BLAKE2B b4d8eaa6d72b009d12b4357
DIST firefox-102.11.0esr.source.tar.xz 477769716 BLAKE2B b19db1b35e6c652e2cd44ec5219bd5c42aacd55987962dbcaf50b5ec54d2ac5066290264f938ba3d45ef111779b9f27b06736ae7df11fa62478ab2179acfe723 SHA512 fdfed404c87f33001c0ab50f9899fa80c897fac645be8ed832e426f412aafbf1468b1c8301bad463b3f5535b6d6f2005a96a748b6e2d6bf5afbc3b5bc10983d6
DIST firefox-102.12.0esr.source.tar.xz 483008152 BLAKE2B ef5dcf7c7e6a46389a94b81f28d6b996bd56bc0a110f1e52dfbe00e5c766dad59a91494c3c2f2552a0cb1fef14c19bef6dcb6629e03f9e48d5163e75c59676b2 SHA512 2a85cf1e1c83a862c2886a63dcf3e3e8bca9dd3ed72c5d0223db52387fff3796bc0dcbb508adb8c10a30729f20554c5aac37f8ad045b0088a593d28e39d77fe5
DIST firefox-102.6.0esr.source.tar.xz 478856656 BLAKE2B 2094bbb3ba00fc2d726a620e9946ca1ec98ad4c930ed611486ac92a7c74aa84da9c15b1353603eb36ce0a9098bd1f311dea2bea255f2bb6dd06fafbc7808d52c SHA512 c0f0160bea612d0ae74c29dd44beb7fd9a1c292694b8cd5c4faf2e54feb5c27684eee821b67dd40df714d69866a4e3a8b19e22182d9bc3023050d2d96b02d308
DIST firefox-102.8.0esr.source.tar.xz 479172816 BLAKE2B 0b4cbf11028abc73a8479fb94670e98f0a293fc12381b1eccbadd64a33db068ab7434357abbe3ce0773382c7c90b8fe4d2258cc55abe8bdc2f551bba1dc2b797 SHA512 93ea87997b66088b94c6e943b6e99e9a71d1908444d096c0f65b6876d2c584e55ff6120266f3851f986b664bd1f12fa31206b03479c2b751e7c3ca097ac14275
DIST firefox-102.9.0esr.source.tar.xz 484308672 BLAKE2B dffd3928c268562802b9d9788cc83203ca932c85758b822c344e54259d81ef84668231149f3452cec3c2bf32c654db321303bcb9f81f8ccaac477ad2499ce346 SHA512 3923212ce4b7d1f589129025961ff1b380b8aaf1dd074674f3bd63cf14e9a44ff051bda556b7796c25634e153de00ce62243ece15a520f63dd0791a19b2a6685
DIST firefox-102esr-patches-07j.tar.xz 23012 BLAKE2B 41b706f5ae8695ddd33e971cf1aa99317382a57618cf19163c5bca09ed5d430dba672ac51b7ab3072360452cc89ac50397bb7992882a61a3adda37022239e654 SHA512 7048353ea5504e34d9d3950e3e5e3125f631f95269d5c9e422ca052173a316718fdd4b57ea7980a452139b1192805cb598f47f398fb148a426a85a5e979c6cdd
DIST firefox-102esr-patches-09j.tar.xz 20236 BLAKE2B 35431fbc56c5470dac2839fd218d2a589558cf964eab2373f2db7a01e6e0dfee329b1b63f6a421bfd4c9bf8c3ed9877067cdc462742a1cc59d78d1d10264ebac SHA512 7fb82ff3ef2cbca339ab05ac07f0409088a87dfe37314d31d441bae1beb181cbea799dcd63dd560d0ccde24b665379118e5e99a1c1a2385d859378901593089b
DIST firefox-102esr-patches-10j.tar.xz 21744 BLAKE2B 326f206dfcd5b6ea2f06f5f537505e23d358f6d7930f7e72fd8e54af88d97172170999c246af888278143810df42be9414541e47feb48b60732565a4ee38579e SHA512 5efa50b221abedbb84c1b3d19d8ac089ac5752448e8c90c6aed9f43bf3eee876b7e7050a1678bca65f6b23734c4945b016bf059a3921ad7290b0150538111bbd
DIST firefox-78.15.0esr.source.tar.xz 330819568 BLAKE2B dc8785613c2f72c55d484642c89c2545765a9efbd609bc7c2cf57b4a3a06a2ea22e6959e42b5b8af867db782e8b2097a67dec858796b744e47008a8e575e2316 SHA512 ac3de735b246ce4f0e1619cd2664321ffa374240ce6843e785d79a350dc30c967996bbcc5e3b301cb3d822ca981cbea116758fc4122f1738d75ddfd1165b6378
DIST firefox-78esr-patches-19.tar.xz 88424 BLAKE2B fdc7bf8f28b3e799551a70f1cec7a695f52c4712f3b28733648fcd7dac5a599613f4c3d2cfa169266dc62b65619b7f28c0e06d32317adb8ec0056ca79c87e9f6 SHA512 3c81dadc9bf74207c4e361605127ef6141d77700c5c54f1f9cd5ad3be13df9f73c6eec2f51d779558e4bdad1e7395c6aa8943a93415bd1786d461042bc03550a

@ -1,411 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
# Patch version
FIREFOX_PATCHSET="firefox-102esr-patches-09j.tar.xz"
SPIDERMONKEY_PATCHSET="spidermonkey-102-patches-04j.tar.xz"
LLVM_MAX_SLOT=15
PYTHON_COMPAT=( python3_{9..11} )
PYTHON_REQ_USE="ssl,xml(+)"
WANT_AUTOCONF="2.1"
inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
MY_PN="mozjs"
MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
MY_MAJOR=$(ver_cut 1)
MOZ_ESR=yes
MOZ_PV=${PV}
MOZ_PV_SUFFIX=
if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
# Convert the ebuild version to the upstream Mozilla version
MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
fi
if [[ -n ${MOZ_ESR} ]] ; then
# ESR releases have slightly different version numbers
MOZ_PV="${MOZ_PV}esr"
fi
MOZ_PN="firefox"
MOZ_P="${MOZ_PN}-${MOZ_PV}"
MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
if [[ ${PV} == *_rc* ]] ; then
MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
fi
PATCH_URIS=(
https://dev.gentoo.org/~{juippis,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
https://dev.gentoo.org/~{juippis,whissi}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
)
SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
${PATCH_URIS[@]}"
DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html "
KEYWORDS="amd64 arm arm64 ~mips ~ppc ppc64 ~riscv ~sparc x86"
SLOT="$(ver_cut 1)"
LICENSE="MPL-2.0"
IUSE="clang cpu_flags_arm_neon debug +jit lto test"
#RESTRICT="test"
RESTRICT="!test? ( test )"
BDEPEND="${PYTHON_DEPS}
|| (
(
sys-devel/llvm:15
clang? (
sys-devel/clang:15
virtual/rust:0/llvm-15
lto? ( sys-devel/lld:15 )
)
)
(
sys-devel/llvm:14
clang? (
sys-devel/clang:14
virtual/rust:0/llvm-14
lto? ( sys-devel/lld:14 )
)
)
)
!clang? ( virtual/rust )
virtual/pkgconfig
test? (
$(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
)"
DEPEND=">=dev-libs/icu-71.1:=
dev-libs/nspr
sys-libs/readline:0=
sys-libs/zlib"
RDEPEND="${DEPEND}"
S="${WORKDIR}/firefox-${MY_PV}/js/src"
llvm_check_deps() {
if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
if use clang ; then
if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
if use lto ; then
if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
fi
fi
einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
}
python_check_deps() {
if use test ; then
python_has_version "dev-python/six[${PYTHON_USEDEP}]"
fi
}
pkg_pretend() {
if use test ; then
CHECKREQS_DISK_BUILD="7000M"
else
CHECKREQS_DISK_BUILD="6000M"
fi
check-reqs_pkg_pretend
}
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
if use test ; then
CHECKREQS_DISK_BUILD="7000M"
else
CHECKREQS_DISK_BUILD="6000M"
fi
check-reqs_pkg_setup
llvm_pkg_setup
if use clang && use lto ; then
local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
[[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
[[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
[[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
[[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
eerror " - Build ${CATEGORY}/${PN} without USE=lto"
eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
eerror " llvm/clang/lld/rust chain depending on your @world updates)"
die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
fi
fi
python-any-r1_pkg_setup
# Build system is using /proc/self/oom_score_adj, bug #604394
addpredict /proc/self/oom_score_adj
if ! mountpoint -q /dev/shm ; then
# If /dev/shm is not available, configure is known to fail with
# a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
ewarn "/dev/shm is not mounted -- expect build failures!"
fi
# Ensure we use C locale when building, bug #746215
export LC_ALL=C
fi
}
src_prepare() {
pushd ../.. &>/dev/null || die
use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
eapply "${WORKDIR}"/firefox-patches
eapply "${WORKDIR}"/spidermonkey-patches
default
# Make cargo respect MAKEOPTS
export CARGO_BUILD_JOBS="$(makeopts_jobs)"
# sed-in toolchain prefix
sed -i \
-e "s/objdump/${CHOST}-objdump/" \
python/mozbuild/mozbuild/configure/check_debug_ranges.py \
|| die "sed failed to set toolchain prefix"
# use prefix shell in wrapper linker scripts, bug #789660
hprefixify "${S}"/../../build/cargo-{,host-}linker
einfo "Removing pre-built binaries ..."
find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
MOZJS_BUILDDIR="${WORKDIR}/build"
mkdir "${MOZJS_BUILDDIR}" || die
popd &>/dev/null || die
eautoconf
}
src_configure() {
# Show flags set at the beginning
einfo "Current CFLAGS: ${CFLAGS}"
einfo "Current CXXFLAGS: ${CXXFLAGS}"
einfo "Current LDFLAGS: ${LDFLAGS}"
einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
local have_switched_compiler=
if use clang; then
# Force clang
einfo "Enforcing the use of clang due to USE=clang ..."
if tc-is-gcc; then
have_switched_compiler=yes
fi
AR=llvm-ar
CC=${CHOST}-clang
CXX=${CHOST}-clang++
NM=llvm-nm
RANLIB=llvm-ranlib
elif ! use clang && ! tc-is-gcc ; then
# Force gcc
have_switched_compiler=yes
einfo "Enforcing the use of gcc due to USE=-clang ..."
AR=gcc-ar
CC=${CHOST}-gcc
CXX=${CHOST}-g++
NM=gcc-nm
RANLIB=gcc-ranlib
fi
if [[ -n "${have_switched_compiler}" ]] ; then
# Because we switched active compiler we have to ensure
# that no unsupported flags are set
strip-unsupported-flags
fi
# Ensure we use correct toolchain
export HOST_CC="$(tc-getBUILD_CC)"
export HOST_CXX="$(tc-getBUILD_CXX)"
export AS="$(tc-getCC) -c"
tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG
cd "${MOZJS_BUILDDIR}" || die
# ../python/mach/mach/mixin/process.py fails to detect SHELL
export SHELL="${EPREFIX}/bin/bash"
local -a myeconfargs=(
--host="${CBUILD:-${CHOST}}"
--target="${CHOST}"
--disable-ctype
--disable-jemalloc
--disable-smoosh
--disable-strip
--enable-readline
--enable-release
--enable-shared-js
--with-intl-api
--with-system-icu
--with-system-nspr
--with-system-zlib
--with-toolchain-prefix="${CHOST}-"
$(use_enable debug)
$(use_enable jit)
$(use_enable test tests)
)
if use debug; then
myeconfargs+=( --disable-optimize )
else
myeconfargs+=( --enable-optimize )
fi
if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
myeconfargs+=( --enable-rust-simd )
fi
# Modifications to better support ARM, bug 717344
if use cpu_flags_arm_neon ; then
myeconfargs+=( --with-fpu=neon )
if ! tc-is-clang ; then
# thumb options aren't supported when using clang, bug 666966
myeconfargs+=( --with-thumb=yes )
myeconfargs+=( --with-thumb-interwork=no )
fi
fi
# Tell build system that we want to use LTO
if use lto ; then
if use clang ; then
myeconfargs+=( --enable-linker=lld )
myeconfargs+=( --enable-lto=cross )
else
myeconfargs+=( --enable-linker=bfd )
myeconfargs+=( --enable-lto=full )
fi
fi
# LTO flag was handled via configure
filter-flags '-flto*'
# Use system's Python environment
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
# Show flags we will use
einfo "Build CFLAGS: ${CFLAGS}"
einfo "Build CXXFLAGS: ${CXXFLAGS}"
einfo "Build LDFLAGS: ${LDFLAGS}"
einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
# Forcing system-icu allows us to skip patching bundled ICU for PPC
# and other minor arches
ECONF_SOURCE="${S}" \
econf \
${myeconfargs[@]} \
XARGS="${EPREFIX}/usr/bin/xargs"
}
src_compile() {
cd "${MOZJS_BUILDDIR}" || die
default
}
src_test() {
if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
einfo "Smoke-test successful, continuing with full test suite"
else
die "Smoke-test failed: did interpreter initialization fail?"
fi
cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_failures.list || die
if [[ $(tc-endian) == "big" ]] ; then
echo "non262/extensions/clone-errors.js" >> "${T}"/known_failures.list
echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list
echo "test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js" >> "${T}"/known_failures.list
fi
${EPYTHON} \
"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
--exclude-file="${T}"/known_failures.list \
"${MOZJS_BUILDDIR}"/js/src/js \
|| die
if use jit ; then
${EPYTHON} \
"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
--exclude-file="${T}"/known_failures.list \
"${MOZJS_BUILDDIR}"/js/src/js basic \
|| die
fi
}
src_install() {
cd "${MOZJS_BUILDDIR}" || die
default
# fix soname links
pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
popd &>/dev/null || die
# remove unneeded files
rm \
"${ED}"/usr/bin/js${MY_MAJOR}-config \
"${ED}"/usr/$(get_libdir)/libjs_static.ajs \
|| die
# fix permissions
chmod -x \
"${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
"${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
|| die
}

@ -1,418 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
# Patch version
FIREFOX_PATCHSET="firefox-102esr-patches-09j.tar.xz"
SPIDERMONKEY_PATCHSET="spidermonkey-102-patches-05j.tar.xz"
LLVM_MAX_SLOT=15
PYTHON_COMPAT=( python3_{9..11} )
PYTHON_REQ_USE="ssl,xml(+)"
WANT_AUTOCONF="2.1"
inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
MY_PN="mozjs"
MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
MY_MAJOR=$(ver_cut 1)
MOZ_ESR=yes
MOZ_PV=${PV}
MOZ_PV_SUFFIX=
if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
# Convert the ebuild version to the upstream Mozilla version
MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
fi
if [[ -n ${MOZ_ESR} ]] ; then
# ESR releases have slightly different version numbers
MOZ_PV="${MOZ_PV}esr"
fi
MOZ_PN="firefox"
MOZ_P="${MOZ_PN}-${MOZ_PV}"
MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
if [[ ${PV} == *_rc* ]] ; then
MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
fi
PATCH_URIS=(
https://dev.gentoo.org/~{juippis,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
https://dev.gentoo.org/~{juippis,whissi}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
)
SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
${PATCH_URIS[@]}"
DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html "
KEYWORDS="amd64 ~arm arm64 ~mips ~ppc ppc64 ~riscv ~sparc x86"
SLOT="$(ver_cut 1)"
LICENSE="MPL-2.0"
IUSE="clang cpu_flags_arm_neon debug +jit lto test"
#RESTRICT="test"
RESTRICT="!test? ( test )"
BDEPEND="${PYTHON_DEPS}
|| (
(
sys-devel/llvm:15
clang? (
sys-devel/clang:15
virtual/rust:0/llvm-15
lto? ( sys-devel/lld:15 )
)
)
(
sys-devel/llvm:14
clang? (
sys-devel/clang:14
virtual/rust:0/llvm-14
lto? ( sys-devel/lld:14 )
)
)
)
!clang? ( virtual/rust )
virtual/pkgconfig
test? (
$(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
)"
DEPEND=">=dev-libs/icu-71.1:=
dev-libs/nspr
sys-libs/readline:0=
sys-libs/zlib"
RDEPEND="${DEPEND}"
S="${WORKDIR}/firefox-${MY_PV}/js/src"
llvm_check_deps() {
if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
if use clang ; then
if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
if use lto ; then
if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
return 1
fi
fi
fi
einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
}
python_check_deps() {
if use test ; then
python_has_version "dev-python/six[${PYTHON_USEDEP}]"
fi
}
pkg_pretend() {
if use test ; then
CHECKREQS_DISK_BUILD="7000M"
else
CHECKREQS_DISK_BUILD="6000M"
fi
check-reqs_pkg_pretend
}
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]] ; then
if use test ; then
CHECKREQS_DISK_BUILD="7000M"
else
CHECKREQS_DISK_BUILD="6000M"
fi
check-reqs_pkg_setup
llvm_pkg_setup
if use clang && use lto ; then
local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
[[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
[[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
[[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
[[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
eerror " - Build ${CATEGORY}/${PN} without USE=lto"
eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
eerror " llvm/clang/lld/rust chain depending on your @world updates)"
die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
fi
fi
python-any-r1_pkg_setup
# Build system is using /proc/self/oom_score_adj, bug #604394
addpredict /proc/self/oom_score_adj
if ! mountpoint -q /dev/shm ; then
# If /dev/shm is not available, configure is known to fail with
# a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
ewarn "/dev/shm is not mounted -- expect build failures!"
fi
# Ensure we use C locale when building, bug #746215
export LC_ALL=C
fi
}
src_prepare() {
pushd ../.. &>/dev/null || die
use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
eapply "${WORKDIR}"/firefox-patches
eapply "${WORKDIR}"/spidermonkey-patches
default
# Make cargo respect MAKEOPTS
export CARGO_BUILD_JOBS="$(makeopts_jobs)"
# sed-in toolchain prefix
sed -i \
-e "s/objdump/${CHOST}-objdump/" \
python/mozbuild/mozbuild/configure/check_debug_ranges.py \
|| die "sed failed to set toolchain prefix"
# use prefix shell in wrapper linker scripts, bug #789660
hprefixify "${S}"/../../build/cargo-{,host-}linker
einfo "Removing pre-built binaries ..."
find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
MOZJS_BUILDDIR="${WORKDIR}/build"
mkdir "${MOZJS_BUILDDIR}" || die
popd &>/dev/null || die
eautoconf
}
src_configure() {
# Show flags set at the beginning
einfo "Current CFLAGS: ${CFLAGS}"
einfo "Current CXXFLAGS: ${CXXFLAGS}"
einfo "Current LDFLAGS: ${LDFLAGS}"
einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
local have_switched_compiler=
if use clang; then
# Force clang
einfo "Enforcing the use of clang due to USE=clang ..."
if tc-is-gcc; then
have_switched_compiler=yes
fi
AR=llvm-ar
CC=${CHOST}-clang
CXX=${CHOST}-clang++
NM=llvm-nm
RANLIB=llvm-ranlib
elif ! use clang && ! tc-is-gcc ; then
# Force gcc
have_switched_compiler=yes
einfo "Enforcing the use of gcc due to USE=-clang ..."
AR=gcc-ar
CC=${CHOST}-gcc
CXX=${CHOST}-g++
NM=gcc-nm
RANLIB=gcc-ranlib
fi
if [[ -n "${have_switched_compiler}" ]] ; then
# Because we switched active compiler we have to ensure
# that no unsupported flags are set
strip-unsupported-flags
fi
# Ensure we use correct toolchain
export HOST_CC="$(tc-getBUILD_CC)"
export HOST_CXX="$(tc-getBUILD_CXX)"
export AS="$(tc-getCC) -c"
tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG
cd "${MOZJS_BUILDDIR}" || die
# ../python/mach/mach/mixin/process.py fails to detect SHELL
export SHELL="${EPREFIX}/bin/bash"
local -a myeconfargs=(
--host="${CBUILD:-${CHOST}}"
--target="${CHOST}"
--disable-ctype
--disable-jemalloc
--disable-smoosh
--disable-strip
--enable-readline
--enable-release
--enable-shared-js
--with-intl-api
--with-system-icu
--with-system-nspr
--with-system-zlib
--with-toolchain-prefix="${CHOST}-"
$(use_enable debug)
$(use_enable jit)
$(use_enable test tests)
)
if use debug; then
myeconfargs+=( --disable-optimize )
else
myeconfargs+=( --enable-optimize )
fi
if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
myeconfargs+=( --enable-rust-simd )
fi
# Modifications to better support ARM, bug 717344
if use cpu_flags_arm_neon ; then
myeconfargs+=( --with-fpu=neon )
if ! tc-is-clang ; then
# thumb options aren't supported when using clang, bug 666966
myeconfargs+=( --with-thumb=yes )
myeconfargs+=( --with-thumb-interwork=no )
fi
fi
# Tell build system that we want to use LTO
if use lto ; then
if use clang ; then
myeconfargs+=( --enable-linker=lld )
myeconfargs+=( --enable-lto=cross )
else
myeconfargs+=( --enable-linker=bfd )
myeconfargs+=( --enable-lto=full )
fi
fi
# LTO flag was handled via configure
filter-flags '-flto*'
# Use system's Python environment
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
# Show flags we will use
einfo "Build CFLAGS: ${CFLAGS}"
einfo "Build CXXFLAGS: ${CXXFLAGS}"
einfo "Build LDFLAGS: ${LDFLAGS}"
einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
# Forcing system-icu allows us to skip patching bundled ICU for PPC
# and other minor arches
ECONF_SOURCE="${S}" \
econf \
${myeconfargs[@]} \
XARGS="${EPREFIX}/usr/bin/xargs"
}
src_compile() {
cd "${MOZJS_BUILDDIR}" || die
default
}
src_test() {
if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
einfo "Smoke-test successful, continuing with full test suite"
else
die "Smoke-test failed: did interpreter initialization fail?"
fi
cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_failures.list || die
if use x86; then
echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list
echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list
echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list
echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list
fi
if [[ $(tc-endian) == "big" ]] ; then
echo "non262/extensions/clone-errors.js" >> "${T}"/known_failures.list
echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list
echo "test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js" >> "${T}"/known_failures.list
fi
${EPYTHON} \
"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
--exclude-file="${T}"/known_failures.list \
"${MOZJS_BUILDDIR}"/js/src/js \
|| die
if use jit ; then
${EPYTHON} \
"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
--exclude-file="${T}"/known_failures.list \
"${MOZJS_BUILDDIR}"/js/src/js basic \
|| die
fi
}
src_install() {
cd "${MOZJS_BUILDDIR}" || die
default
# fix soname links
pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
popd &>/dev/null || die
# remove unneeded files
rm \
"${ED}"/usr/bin/js${MY_MAJOR}-config \
"${ED}"/usr/$(get_libdir)/libjs_static.ajs \
|| die
# fix permissions
chmod -x \
"${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
"${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
|| die
}

Binary file not shown.

@ -1 +1,2 @@
DIST dqlite-1.14.0.tar.gz 190757 BLAKE2B 5304ff10134c7775c4475f77bbe60cc6892cc35c3f2a7b4813743cd27fc1176a1d513d66ebf22b47ed7e83fa833be1408f44f781fbd8200bfd3f4465ea1d6011 SHA512 4305b289903766f00c26e278cce3f761c778b67105a6d7e51e66cc1cbf85564fd41f27689b6895c6f182968d851e10a40d052570d55e22007e9eb5c2929dabd9
DIST dqlite-1.15.0.tar.gz 208833 BLAKE2B 41d2fced65c787381300aed1d0ee2393dc9e7aa371acd7efbee0744e00fed8a6ee7175eb3041f9cd198c1f0beef8951984e2a34646cbc069ea9d35753ba7568c SHA512 413f5aa7ad9d990638c6ffbdf5706ec69635ead0ad21314603b3c997608c696bd294bd5d15c092d1619509fc4d51c4038deaec82bd82cbbd4070f4a4020f9cc4

@ -0,0 +1,49 @@
# Copyright 2020-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools
DESCRIPTION="Embeddable, replicated and fault tolerant SQL engine"
HOMEPAGE="https://dqlite.io/ https://github.com/canonical/dqlite"
SRC_URI="https://github.com/canonical/dqlite/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-3-with-linking-exception"
SLOT="0/1.15.0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="dev-db/sqlite:3
dev-libs/libuv:=
>=dev-libs/raft-0.17.1:="
DEPEND="${RDEPEND}
test? ( >=dev-libs/raft-0.13.0[lz4,test] )"
BDEPEND="virtual/pkgconfig"
PATCHES=( "${FILESDIR}"/dqlite-1.12.0-disable-werror.patch )
src_prepare() {
default
eautoreconf
}
src_configure() {
local myeconfargs=(
--disable-backtrace
--disable-debug
--disable-sanitize
--disable-static
# Will build a bundled libsqlite3.so.
--enable-build-sqlite=no
)
econf "${myeconfargs[@]}"
}
src_install() {
default
find "${ED}" -name '*.la' -delete || die
}

@ -1,2 +1,4 @@
DIST icu4c-73_1-src.tgz 26512935 BLAKE2B 45de117efc4a49301c04a997963393967a70b8583abf1a9626331e275c5bc329cf2685de5c80b32f764c8ff2530b5594316d7119ce66503e5adba7842ca24424 SHA512 e788e372716eecebc39b56bbc88f3a458e21c3ef20631c2a3d7ef05794a678fe8dad482a03a40fdb9717109a613978c7146682e98ee16fade5668d641d5c48f8
DIST icu4c-73_1-src.tgz.asc 833 BLAKE2B 2c0a02a109280c7994f3c9404473119105ccbe051633dd8dc89c14ff65612d7a18deccff2a525752808f26f34d7c192f9346a8c3a0d34af9aa2110744d9f863d SHA512 b7042b0e39e1ebfcef8573d3000088b32a740106c7cfd4c18ebd52e7fd22e64e07b174d766373b1722520369e937fc56d439a0b290a3efeee287b2740388c3d3
DIST icu4c-73_2-src.tgz 26519906 BLAKE2B 3f7dec9d527939d6d594c92844a400733e43af018bbc2f600edcb18299211a2f2285332188976d15e1ef672191416abac0b95a9d1a2ea6ababdaddf12708ccef SHA512 76dd782db6205833f289d7eb68b60860dddfa3f614f0ba03fe7ec13117077f82109f0dc1becabcdf4c8a9c628b94478ab0a46134bdb06f4302be55f74027ce62
DIST icu4c-73_2-src.tgz.asc 659 BLAKE2B 83e082ba15ba7aeb366b6d97da15d076c200f9051e55bf00ba13265a3d87aade5a5b18c98a0c903d5015821c63e4b340ffbcc7940a654d169ad1948d6594ce63 SHA512 7598b8cc498ada8ca904b13f7aba27abd3f8f3013a0677d7ffab42d5413df9d2f0526107559301abc4049123b2e6d4d4f4cc589cbd943959d97b595dd57ea63c

@ -0,0 +1,135 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Please bump with dev-libs/icu
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/icu.asc
inherit autotools flag-o-matic multilib-minimal toolchain-funcs verify-sig
MY_PV=${PV/_rc/-rc}
MY_PV=${MY_PV//./_}
DESCRIPTION="External layout part of International Components for Unicode"
HOMEPAGE="https://icu.unicode.org/"
SRC_URI="https://github.com/unicode-org/icu/releases/download/release-${MY_PV/_/-}/icu4c-${MY_PV/-rc/rc}-src.tgz"
SRC_URI+=" verify-sig? ( https://github.com/unicode-org/icu/releases/download/release-${MY_PV/_/-}/icu4c-${MY_PV/-rc/rc}-src.tgz.asc )"
S="${WORKDIR}"/${PN/-layoutex}/source
LICENSE="BSD"
SLOT="0/${PV%.*}.1"
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
fi
IUSE="debug static-libs test"
RESTRICT="!test? ( test )"
DEPEND="
~dev-libs/icu-${PV}[${MULTILIB_USEDEP}]
dev-libs/icu-le-hb[${MULTILIB_USEDEP}]
"
RDEPEND="${DEPEND}"
BDEPEND="
virtual/pkgconfig
verify-sig? ( >=sec-keys/openpgp-keys-icu-20221020 )
"
PATCHES=( "${FILESDIR}/${PN}-65.1-remove-bashisms.patch" )
src_prepare() {
default
# Disable renaming as it assumes stable ABI and that consumers
# won't use unofficial APIs. We need this despite the configure argument.
sed -i \
-e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \
common/unicode/uconfig.h || die
# Fix linking of icudata
sed -i \
-e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \
config/mh-linux || die
eautoreconf
}
src_configure() {
MAKEOPTS+=" VERBOSE=1"
# ICU tries to append -std=c++11 without this, so as of 71.1,
# despite GCC 9+ using c++14 (or gnu++14) and GCC 11+ using gnu++17,
# we still need this.
append-cxxflags -std=c++14
if tc-is-cross-compiler; then
mkdir "${WORKDIR}"/host || die
pushd "${WORKDIR}"/host >/dev/null || die
CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \
CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" AR="$(tc-getBUILD_AR)" \
RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \
"${S}"/configure --disable-renaming --disable-debug \
--disable-samples --enable-static || die
emake
popd >/dev/null || die
fi
multilib-minimal_src_configure
}
multilib_src_configure() {
local myeconfargs=(
--disable-renaming
# We want a minimal build as this is just for layoutex
# so we disable as much as possible
--disable-samples
--disable-extras
--disable-icuio
# This is icu-layoutex, so..
--enable-layoutex
$(use_enable debug)
$(use_enable static-libs static)
# Need tools for tests, otherwise get this in configure:
# "## Note: you have disabled ICU's tools. This ICU cannot build its own data or tests.
# ## Expect build failures in the 'data', 'test', and other directories."
# ... although layoutex has no tests right now anyway, but let's keep this
# for the future.
$(use_enable test tools)
$(use_enable test tests)
)
tc-is-cross-compiler && myeconfargs+=(
--with-cross-build="${WORKDIR}"/host
)
# icu tries to use clang by default
tc-export CC CXX
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
}
multilib_src_test() {
# INTLTEST_OPTS: intltest options
# -e: Exhaustive testing
# -l: Reporting of memory leaks
# -v: Increased verbosity
# IOTEST_OPTS: iotest options
# -e: Exhaustive testing
# -v: Increased verbosity
# CINTLTST_OPTS: cintltst options
# -e: Exhaustive testing
# -v: Increased verbosity
pushd layoutex &>/dev/null || die
emake VERBOSE="1" check
popd &>/dev/null || die
}
multilib_src_install() {
pushd layoutex &>/dev/null || die
default
popd &>/dev/null || die
}

@ -1,2 +1,4 @@
DIST icu4c-73_1-src.tgz 26512935 BLAKE2B 45de117efc4a49301c04a997963393967a70b8583abf1a9626331e275c5bc329cf2685de5c80b32f764c8ff2530b5594316d7119ce66503e5adba7842ca24424 SHA512 e788e372716eecebc39b56bbc88f3a458e21c3ef20631c2a3d7ef05794a678fe8dad482a03a40fdb9717109a613978c7146682e98ee16fade5668d641d5c48f8
DIST icu4c-73_1-src.tgz.asc 833 BLAKE2B 2c0a02a109280c7994f3c9404473119105ccbe051633dd8dc89c14ff65612d7a18deccff2a525752808f26f34d7c192f9346a8c3a0d34af9aa2110744d9f863d SHA512 b7042b0e39e1ebfcef8573d3000088b32a740106c7cfd4c18ebd52e7fd22e64e07b174d766373b1722520369e937fc56d439a0b290a3efeee287b2740388c3d3
DIST icu4c-73_2-src.tgz 26519906 BLAKE2B 3f7dec9d527939d6d594c92844a400733e43af018bbc2f600edcb18299211a2f2285332188976d15e1ef672191416abac0b95a9d1a2ea6ababdaddf12708ccef SHA512 76dd782db6205833f289d7eb68b60860dddfa3f614f0ba03fe7ec13117077f82109f0dc1becabcdf4c8a9c628b94478ab0a46134bdb06f4302be55f74027ce62
DIST icu4c-73_2-src.tgz.asc 659 BLAKE2B 83e082ba15ba7aeb366b6d97da15d076c200f9051e55bf00ba13265a3d87aade5a5b18c98a0c903d5015821c63e4b340ffbcc7940a654d169ad1948d6594ce63 SHA512 7598b8cc498ada8ca904b13f7aba27abd3f8f3013a0677d7ffab42d5413df9d2f0526107559301abc4049123b2e6d4d4f4cc589cbd943959d97b595dd57ea63c

@ -0,0 +1,176 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Please bump with dev-libs/icu-layoutex
PYTHON_COMPAT=( python3_{10..11} )
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/icu.asc
inherit autotools flag-o-matic multilib-minimal python-any-r1 toolchain-funcs verify-sig
MY_PV=${PV/_rc/-rc}
MY_PV=${MY_PV//./_}
DESCRIPTION="International Components for Unicode"
HOMEPAGE="https://icu.unicode.org/"
SRC_URI="https://github.com/unicode-org/icu/releases/download/release-${MY_PV/_/-}/icu4c-${MY_PV/-rc/rc}-src.tgz"
SRC_URI+=" verify-sig? ( https://github.com/unicode-org/icu/releases/download/release-${MY_PV/_/-}/icu4c-${MY_PV/-rc/rc}-src.tgz.asc )"
S="${WORKDIR}"/${PN}/source
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
fi
LICENSE="BSD"
SLOT="0/${PV%.*}.1"
IUSE="debug doc examples static-libs test"
RESTRICT="!test? ( test )"
BDEPEND="
${PYTHON_DEPS}
sys-devel/autoconf-archive
virtual/pkgconfig
doc? ( app-doc/doxygen[dot] )
verify-sig? ( >=sec-keys/openpgp-keys-icu-20221020 )
"
MULTILIB_CHOST_TOOLS=(
/usr/bin/icu-config
)
PATCHES=(
"${FILESDIR}/${PN}-65.1-remove-bashisms.patch"
"${FILESDIR}/${PN}-64.2-darwin.patch"
"${FILESDIR}/${PN}-68.1-nonunicode.patch"
)
src_prepare() {
default
# Disable renaming as it assumes stable ABI and that consumers
# won't use unofficial APIs. We need this despite the configure argument.
sed -i \
-e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \
common/unicode/uconfig.h || die
# Fix linking of icudata
sed -i \
-e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \
config/mh-linux || die
# Append doxygen configuration to configure
sed -i \
-e 's:icudefs.mk:icudefs.mk Doxyfile:' \
configure.ac || die
eautoreconf
}
src_configure() {
MAKEOPTS+=" VERBOSE=1"
# ICU tries to append -std=c++11 without this, so as of 71.1,
# despite GCC 9+ using c++14 (or gnu++14) and GCC 11+ using gnu++17,
# we still need this.
append-cxxflags -std=c++14
if tc-is-cross-compiler; then
mkdir "${WORKDIR}"/host || die
pushd "${WORKDIR}"/host >/dev/null || die
CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \
CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" AR="$(tc-getBUILD_AR)" \
RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \
"${S}"/configure --disable-renaming --disable-debug \
--disable-samples --enable-static || die
emake
popd >/dev/null || die
fi
multilib-minimal_src_configure
}
multilib_src_configure() {
local myeconfargs=(
--disable-renaming
--disable-samples
# TODO: Merge with dev-libs/icu-layoutex
# Planned to do this w/ 73.2 but seem to get test failures
# only with --enable-layoutex.
--disable-layoutex
$(use_enable debug)
$(use_enable static-libs static)
$(use_enable test tests)
$(multilib_native_use_enable examples samples)
)
#if use test ; then
# myeconfargs+=(
# --enable-extras
# --enable-tools
# )
#else
# myeconfargs+=(
# $(multilib_native_enable extras)
# $(multilib_native_enable tools)
# )
#fi
tc-is-cross-compiler && myeconfargs+=(
--with-cross-build="${WORKDIR}"/host
)
# Work around cross-endian testing failures with LTO, bug #757681
if tc-is-cross-compiler && is-flagq '-flto*' ; then
myeconfargs+=( --disable-strict )
fi
# ICU tries to use clang by default
tc-export CC CXX
# Make sure we configure with the same shell as we run icu-config
# with, or ECHO_N, ECHO_T and ECHO_C will be wrongly defined
export CONFIG_SHELL="${EPREFIX}/bin/sh"
# Probably have no /bin/sh in prefix-chain
[[ -x ${CONFIG_SHELL} ]] || CONFIG_SHELL="${BASH}"
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
}
multilib_src_compile() {
default
if multilib_is_native_abi && use doc; then
doxygen -u Doxyfile || die
doxygen Doxyfile || die
fi
}
multilib_src_test() {
# INTLTEST_OPTS: intltest options
# -e: Exhaustive testing
# -l: Reporting of memory leaks
# -v: Increased verbosity
# IOTEST_OPTS: iotest options
# -e: Exhaustive testing
# -v: Increased verbosity
# CINTLTST_OPTS: cintltst options
# -e: Exhaustive testing
# -v: Increased verbosity
emake check
}
multilib_src_install() {
default
if multilib_is_native_abi && use doc; then
docinto html
dodoc -r doc/html/*
fi
}
multilib_src_install_all() {
local HTML_DOCS=( ../readme.html )
einstalldocs
}

@ -4,4 +4,6 @@ DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78
DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
DIST llvm-project-16.0.5.src.tar.xz 118000368 BLAKE2B 9f84e6bab450dc8d6379771afbca5cddc6fbad6c9728726f7158f290ab87d464ff657e89e1c8fc3c474362cc865ff13c5d55ef758c848ea3e660d732cb2fdefa SHA512 7008e7e9c8c2246fe98ba3f0c0fa91e41c88c4da427bf1cfdcce7ef57e5ea838efe7c58c523a7d1708e70d64a4338afe16d06fba2fc7ac5a6c19ca3d6ee41e99
DIST llvm-project-16.0.5.src.tar.xz.sig 566 BLAKE2B 4c96f294f350e0086f8504a54c3387308c60efb573c8def40aec45b1918d43e36c44bafb0823625b6cefa5d99b3aacd7823d6c92c7a64a737653d5b51839a924 SHA512 4550c7c6a1b6ea603d1499aba5aca746f3948a00e7567604f5e7dc3b215a34357bad382a7ebea1f6cd7952841cb75a0dfbe2c278a8c6fcb630a5035b3e16e869
DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
DIST llvm-project-62c0bdabfa32f6e32b17b45425b15309db340dfb.tar.gz 190948645 BLAKE2B f41d8ea32e189ef4641e42628fb516e307c9a6fcf65af537eb9fc0d3186591b062c5e85c9e935511ef706f28c6994a774a4e3f36ff54d79aaac7b293a6168625 SHA512 55a4cbfec3a496c1918aa614e5bdee368e4d0b6641c946d8bf8b828ab4bf4d9b29dbe96401a172079d70f924f5e513428fe990c65b556a0a860802cb13f5e3a0

@ -11,7 +11,7 @@ HOMEPAGE="https://libclc.llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
SLOT="0"
KEYWORDS=""
KEYWORDS="~amd64 ~riscv ~x86"
IUSE="+spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi"
LLVM_MAX_SLOT=16

@ -1 +1,2 @@
DIST libjcat-0.1.13.tar.gz 69950 BLAKE2B 5ff85feff37c5728c8cace5e2f38c179c65a82954a23fd26794a5483cdf29e07601cdaffe27c28a28f7d2b0d57aa3800589c20e19e0a512768f5f87176a56789 SHA512 a66082e3c1641b427af971843822a7893cd40dbb82a596737fd6445fe8e1b527a111dd8f48b9e25a563f0d13e77e22d4c2364ddf96cac38d3e2df5010b37708a
DIST libjcat-0.1.14.tar.gz 70018 BLAKE2B 71329e6fc04ef37e5af215c88b4a5a03fbd65143604da57b0357d4bd07896a22a98b9028d8529234655adb37e5cefe226d09d987e798bce17b47fef1e1142d1f SHA512 837a50ad31a736a36bd9df26b151c198e18873df0e7444502b7a6e26a86df15f1df970112f2dd22658960389fdfb78a2c601274e2b5c46ec82fceef5aad778c1

@ -0,0 +1,68 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE="xml(+)"
inherit meson python-any-r1 vala xdg-utils
DESCRIPTION="Library and tool for reading and writing Jcat files"
HOMEPAGE="https://github.com/hughsie/libjcat"
SRC_URI="https://github.com/hughsie/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-2.1+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
IUSE="+gpg gtk-doc +introspection +man +pkcs7 test vala"
RDEPEND="dev-libs/glib:2
dev-libs/json-glib:=
gpg? (
app-crypt/gpgme:=
dev-libs/libgpg-error
)
introspection? ( dev-libs/gobject-introspection:= )
pkcs7? ( net-libs/gnutls )
vala? ( dev-lang/vala:= )"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig
$(python_gen_any_dep '
dev-python/setuptools[${PYTHON_USEDEP}]
')
gtk-doc? ( dev-util/gtk-doc )
man? ( sys-apps/help2man )
test? ( net-libs/gnutls[tools] )"
RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}"/${PN}-0.1.11-disable_installed_tests.patch
)
python_check_deps() {
python_has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]"
}
pkg_setup() {
use vala && vala_setup
}
src_prepare() {
xdg_environment_reset
default
}
src_configure() {
local emesonargs=(
$(meson_use gtk-doc gtkdoc)
$(meson_use gpg)
$(meson_use introspection)
$(meson_use man)
$(meson_use pkcs7)
$(meson_use test tests)
$(meson_use vala vapi)
)
meson_src_configure
}

@ -0,0 +1,91 @@
Disable Python by force (works only with Python 2.x).
--- a/Makefile.am
+++ b/Makefile.am
@@ -30,13 +30,8 @@ AM_CPPFLAGS = $(SODIUM_CFLAGS)
AM_CFLAGS = -fvisibility=hidden $(SODIUM_CFLAGS) $(WANAL_CFLAGS)
AM_CXXFLAGS = -fvisibility=hidden -fvisibility-inlines-hidden $(SODIUM_CFLAGS) $(WANAL_CXXFLAGS)
-AM_DISTCHECK_CONFIGURE_FLAGS = --enable-python-bindings
TESTS_ENVIRONMENT = . $(abs_top_srcdir)/test/env.sh "${abs_top_srcdir}" "${abs_top_builddir}" "${VERSION}";
-pyx_verbose = $(pyx_verbose_$(V))
-pyx_verbose_ = $(pyx_verbose_$(AM_DEFAULT_VERBOSITY))
-pyx_verbose_0 = @echo " PYX " $@;
-
EXTRA_DIST =
EXTRA_DIST += README
EXTRA_DIST += LICENSE
@@ -57,39 +52,3 @@ libmacaroons_la_LDFLAGS = -version-info 0:1:0
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libmacaroons.pc
-
-##################################### Tests ####################################
-
-EXTRA_DIST += test/env.sh
-EXTRA_DIST += test/python-hmac-sanity-check
-EXTRA_DIST += test/python-hmac-sanity-check.sh
-EXTRA_DIST += test/readme.sh
-
-TESTS =
-TESTS += test/python-hmac-sanity-check.sh
-#TESTS += test/readme.sh
-
-#################################### Python ####################################
-
-pyexec_LTLIBRARIES =
-if ENABLE_PYTHON_BINDINGS
-pyexec_LTLIBRARIES += bindings/python/macaroons.la
-endif
-
-EXTRA_DIST += bindings/python/macaroons.pyx
-
-bindings_python_macaroons_la_SOURCES = bindings/python/macaroons.c
-bindings_python_macaroons_la_CPPFLAGS =
-bindings_python_macaroons_la_CPPFLAGS += $(PYTHON_CPPFLAGS)
-bindings_python_macaroons_la_CPPFLAGS += $(AM_CPPFLAGS)
-bindings_python_macaroons_la_CPPFLAGS += $(CPPFLAGS)
-bindings_python_macaroons_la_CFLAGS =
-bindings_python_macaroons_la_CFLAGS += -fvisibility=default
-bindings_python_macaroons_la_CFLAGS += -fno-strict-aliasing
-bindings_python_macaroons_la_CFLAGS += $(CFLAGS)
-bindings_python_macaroons_la_LIBADD =
-bindings_python_macaroons_la_LIBADD += libmacaroons.la
-bindings_python_macaroons_la_LIBADD += $(PYTHON_LDFLAGS)
-bindings_python_macaroons_la_LDFLAGS = -module -avoid-version -export-symbols-regex initmacaroons $(AM_LDFLAGS) $(LDFLAGS)
-bindings/python/macaroons.c: bindings/python/macaroons.pyx
- $(pyx_verbose)cython bindings/python/macaroons.pyx
--- a/configure.ac
+++ b/configure.ac
@@ -11,7 +11,6 @@ m4_define([serial_tests], [
])
AM_INIT_AUTOMAKE(foreign serial_tests subdir-objects dist-bzip2)
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-AM_PATH_PYTHON([2.6])
LT_PREREQ([2.2])
LT_INIT
AC_CONFIG_SRCDIR([macaroons.h])
@@ -35,13 +34,6 @@ AC_TYPE_SIZE_T
# Checks for library functions.
# Optional components
-AC_ARG_ENABLE([python_bindings], [AS_HELP_STRING([--enable-python-bindings],
- [build Python bindings @<:@default: no@:>@])],
- [python_bindings=${enableval}], [python_bindings=no])
-if test x"${python_bindings}" = xyes; then
- AC_PYTHON_DEVEL([>= '2.6'])
-fi
-
AC_ARG_ENABLE([json_support], [AS_HELP_STRING([--enable-json-support],
[enable support for JSON macaroons @<:@default: no@:>@])],
[json_support=${enableval}], [json_support=no])
@@ -69,7 +61,6 @@ Please install libjson to continue.
----------------------------------------])])
fi
-AM_CONDITIONAL([ENABLE_PYTHON_BINDINGS], [test x"${python_bindings}" = xyes])
AM_CONDITIONAL([ENABLE_JSON_SUPPORT], [test x"${json_support}" = xyes])
AH_BOTTOM([#include <custom-config.h>])

@ -22,7 +22,10 @@ BDEPEND=""
S="${WORKDIR}"/${PN}-releases-${PV}
PATCHES=( "${FILESDIR}"/${P}-json-c.patch )
PATCHES=(
"${FILESDIR}"/${P}-json-c.patch
"${FILESDIR}"/${P}-no-python.patch
)
src_prepare() {
default
@ -30,7 +33,7 @@ src_prepare() {
}
src_configure() {
econf --disable-python-bindings --enable-json-support
econf --enable-json-support
}
src_install() {

@ -1,3 +1,4 @@
DIST libvterm-0.1.4.tar.gz 69122 BLAKE2B 4f0acc9ec6755c4a840e5df6c32c44e12c5316b5c5918d0e8eada19d819736c3e5b9090b468e32b3141a7fbb5ba226e365be27d6d1d9ca22f9f5e365fc3971c2 SHA512 90b5d47417e3f469df5c6574a27d12bd6bd1571d17cab7c4ac0ee61b1dbcb6361987f6fdfd11e314ea32f8958ec165c319a34d0f77288947c7cbc11de697d524
DIST libvterm-0.3.1.tar.gz 79344 BLAKE2B 2732bc477fb339945c1a9242a8265d182891d507c0dec71371a9e7010434dad0d35152fdeaa32bbf50fdd4bd138bb42e8d95a9771c704d693032e32d37a87452 SHA512 1f4bbee8847a9c8cfab3831a3512b866eb0f90f7d3600c4583d2e1eac18458f21bf5ca4fe4b067b27920a04aa7eac5dd2d4a62f6b7ebd56a417fed60d421853d
DIST libvterm-0.3.2.tar.gz 79471 BLAKE2B c7347257c6cf6bd7b5203a43004eb9fd2c00660f113788fc15f4b29f9224e30017bb24cfe2bc35a7890ca0131ffad37dcfa88104404e8fdce8bbe8cfb8296222 SHA512 aaff71a1c43eff1842cfc1bfd47936ea2c51e75a41506bb0e36860f8f497d198539c10f86c7febc86b3dea8c0de54b03580d59b170176a4207dc411ae59cb035
DIST libvterm-0.3.tar.gz 83861 BLAKE2B a2e8e9d80698880d87f9d26977a4e3dec7b520c3096d0ca6f7823254eeebe51666380ed2a5c05c923dd8b138f15c87e671fdfb03e5511c01711e112cdda9867a SHA512 2a7b6831476465d6a9f7c792406f4e3c4eca0c3dbce4b7031f2646c87e33692128a3d3ce27e1541403772cc0b5eface7bd41325e1e5300c3915bfc0bac97a896

@ -0,0 +1,28 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="An abstract library implementation of a VT220/xterm/ECMA-48 terminal emulator"
HOMEPAGE="https://www.leonerd.org.uk/code/libvterm/"
SRC_URI="https://www.leonerd.org.uk/code/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~x64-macos"
BDEPEND="
dev-lang/perl
sys-devel/libtool
"
src_compile() {
emake VERBOSE=1 PREFIX="${EPREFIX}"/usr LIBDIR="${EPREFIX}/usr/$(get_libdir)"
}
src_install() {
emake VERBOSE=1 DESTDIR="${D}" PREFIX="${EPREFIX}"/usr LIBDIR="${EPREFIX}/usr/$(get_libdir)" install
find "${ED}" -name '*.la' -delete || die "Failed to prune libtool files"
find "${ED}" -name '*.a' -delete || die
}

@ -1,4 +1 @@
DIST libzia-4.39.tar.gz 638203 BLAKE2B 0ff2bf9b404b1e554c3cab3145980b8db97345b2e4fd3f3aa94960c150f0da3efcc361306cd7476e839bc3f57868164181f2e3cb79e0dc3f3a7246841d723251 SHA512 61ae1e2aba9f096f7d6593cf7a72d12822bc30f77287bc36f1ea72c01e9669cbef72492adf017efc73bb507fe08b9939f6ca3e4d695388c642619450fc31c024
DIST libzia-4.40.tar.gz 638193 BLAKE2B bbeee5f6ee699e09aa791c8b6acb39fed90bdf9a875499177c330d009407157e1ebc36aa432e94dcd78553f803c84fe0d00ce9d613abb657324a061588b77d06 SHA512 dd17a80dbcdf88f7617d439f6dde2af6d319c318e9ee55bc9b375ef1bef5ee708c1af7e133ed304d365b0d6d0c3d52f48ae01f44cb2a6e1285625d785f5f5126
DIST libzia-4.42.tar.gz 642066 BLAKE2B 8bec7c3bafa68420adc08d7a70016138997fbd89e7e9ebae70f2a47da6216ac041907cb11c5391956895e5d0871c7c02ece28323253f1161e61f75a8ae6b05a6 SHA512 3e27ae0ddf46364f61a06fd85c6be6ee2bca829ef0d0e3a66f4b2ed8089a13e38332c4329a639f5f83120cf7bd9dad29b6e41022884513b3de69c7672d3316e5
DIST libzia-4.43.tar.gz 642097 BLAKE2B 34ab759fc8d4d83067df80d9d3f763717640df38f604222f3fc6b19876a9f5a5f5b79523857fa96d5badf047046b4786f100657ee0a41d0a7096a21c6006e5a0 SHA512 b6341ea6524b2040d63a7b21b9a4c12d26cb5ae30bc08dc37efd5fd7d71ecf7321511e09cc5745adc6f395f841d5e2bb4df827956204db4147ac11d204eaf8da

@ -1,54 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools flag-o-matic
DESCRIPTION="Platform abstraction code for tucnak package"
HOMEPAGE="http://tucnak.nagano.cz"
SRC_URI="http://tucnak.nagano.cz/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="ftdi"
RDEPEND="dev-libs/glib:2
x11-libs/gtk+:2
media-libs/libsdl2
media-libs/libpng:0
ftdi? ( dev-embedded/libftdi:1 )
elibc_musl? ( sys-libs/libunwind )"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
MAKEOPTS+=" -j1"
src_prepare() {
eapply_user
sed -i -e "s/docsdir/#docsdir/g" \
-e "s/docs_/#docs_/g" Makefile.am || die
# Fix QA-Warning "QA Notice: pkg-config files with wrong LDFLAGS detected"
sed -i -e 's/@LDFLAGS@//' libzia.pc.in || die
# fix build for MUSL (bug #832235)
if use elibc_musl ; then
sed -i -e "s/ backtrace(/ unw_backtrace(/" src/zbfd.c || die
fi
eautoreconf
}
src_configure() {
use elibc_musl && append-libs -lunwind
econf \
$(use_with ftdi) --with-sdl \
--with-png --without-bfd \
--disable-static
}
src_install() {
emake DESTDIR="${D}" install
find "${D}" -name '*.la' -type f -delete || die
}

@ -1,54 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools flag-o-matic
DESCRIPTION="Platform abstraction code for tucnak package"
HOMEPAGE="http://tucnak.nagano.cz"
SRC_URI="http://tucnak.nagano.cz/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="ftdi"
RDEPEND="dev-libs/glib:2
x11-libs/gtk+:2
media-libs/libsdl2
media-libs/libpng:0
ftdi? ( dev-embedded/libftdi:1 )
elibc_musl? ( sys-libs/libunwind )"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
MAKEOPTS+=" -j1"
src_prepare() {
eapply_user
sed -i -e "s/docsdir/#docsdir/g" \
-e "s/docs_/#docs_/g" Makefile.am || die
# Fix QA-Warning "QA Notice: pkg-config files with wrong LDFLAGS detected"
sed -i -e 's/@LDFLAGS@//' libzia.pc.in || die
# fix build for MUSL (bug #832235)
if use elibc_musl ; then
sed -i -e "s/ backtrace(/ unw_backtrace(/" src/zbfd.c || die
fi
eautoreconf
}
src_configure() {
use elibc_musl && append-libs -lunwind
econf \
$(use_with ftdi) --with-sdl \
--with-png --without-bfd \
--disable-static
}
src_install() {
emake DESTDIR="${D}" install
find "${D}" -name '*.la' -type f -delete || die
}

@ -1,54 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools flag-o-matic
DESCRIPTION="Platform abstraction code for tucnak package"
HOMEPAGE="http://tucnak.nagano.cz"
SRC_URI="http://tucnak.nagano.cz/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="ftdi"
RDEPEND="dev-libs/glib:2
x11-libs/gtk+:2
media-libs/libsdl2
media-libs/libpng:0
ftdi? ( dev-embedded/libftdi:1 )
elibc_musl? ( sys-libs/libunwind )"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
MAKEOPTS+=" -j1"
src_prepare() {
eapply_user
sed -i -e "s/docsdir/#docsdir/g" \
-e "s/docs_/#docs_/g" Makefile.am || die
# Fix QA-Warning "QA Notice: pkg-config files with wrong LDFLAGS detected"
sed -i -e 's/@LDFLAGS@//' libzia.pc.in || die
# fix build for MUSL (bug #832235)
if use elibc_musl ; then
sed -i -e "s/ backtrace(/ unw_backtrace(/" src/zbfd.c || die
fi
eautoreconf
}
src_configure() {
use elibc_musl && append-libs -lunwind
econf \
$(use_with ftdi) --with-sdl \
--with-png --without-bfd \
--disable-static
}
src_install() {
emake DESTDIR="${D}" install
find "${D}" -name '*.la' -type f -delete || die
}

@ -39,7 +39,6 @@ if [[ ${PV} == *_p* ]] ; then
done
unset patch_url_base my_patch_index mangled_patch_ver
fi
S="${WORKDIR}/${MY_P}"

@ -0,0 +1,85 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit toolchain-funcs gnuconfig
DESCRIPTION="High-performance and portable C++ number theory library"
HOMEPAGE="https://www.shoup.net/ntl/ https://github.com/libntl/ntl"
SRC_URI="https://www.shoup.net/ntl/${P}.tar.gz"
LICENSE="LGPL-2.1+"
SLOT="0/44"
KEYWORDS="amd64 ~arm64 ~loong ~ppc ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="doc threads"
BDEPEND="dev-lang/perl"
DEPEND="dev-libs/gmp:0=
dev-libs/gf2x
threads? ( >=dev-libs/gf2x-1.2 )"
RDEPEND="${DEPEND}"
S="${WORKDIR}/${P}/src"
DOCS=( "${WORKDIR}/${P}"/README )
src_unpack() {
default
gnuconfig_update "${S}/libtool-origin/"
}
src_configure() {
# The DoConfig script builds its own libtool, but doesn't
# really try to set up the build environment (bug 718892).
export CC="$(tc-getCC)"
export CXX="$(tc-getCXX)"
# Currently the build system can build a static library or both
# static and shared libraries, but not only shared libraries. The
# name NTL_GMP_LIP is *not* a typo.
#
# We have left NTL_ENABLE_AVX_FFT unconditionally disabled: NTL's
# AVX2 detection can fail even when the CPU supports it (bug
# 815775), and moreover, can fail due to CXXFLAGS. When that
# happens, and if we try to use the AVX FFT, the build fails.
# Finally, doc/config.txt says, "this is experimental at moment, and
# may lead to worse performance." So we are probably not missing out
# on much.
#
perl DoConfig \
PREFIX="${EPREFIX}"/usr \
LIBDIR="${EPREFIX}"/usr/$(get_libdir) \
CXXFLAGS="${CXXFLAGS}" \
CPPFLAGS="${CPPFLAGS}" \
LDFLAGS="${LDFLAGS}" \
CXX="$(tc-getCXX)" \
AR="$(tc-getAR)" \
RANLIB="$(tc-getRANLIB)" \
SHARED=on \
NTL_GMP_LIP=on \
NTL_GF2X_LIB=on \
NTL_THREADS=$(usex threads on off) \
NTL_ENABLE_AVX_FFT=off \
NATIVE=off \
|| die "DoConfig failed"
if use doc; then
DOCS+=( "${WORKDIR}/${P}"/doc/*.txt )
HTML_DOCS=( "${WORKDIR}/${P}"/doc/*.html "${WORKDIR}/${P}"/doc/*.gif )
fi
# 780534 - Required for rlibtool so it can find the generated libtool
ln -sf libtool-build/libtool . || die
}
src_install() {
default
find "${ED}" -name '*.la' -delete || die
# Use rm -f because the static archive may not be created when
# using (for example) slibtool-shared.
rm -f "${ED}/usr/$(get_libdir)"/libntl.a || die
rm -r "${ED}"/usr/share/doc/NTL || die
}

@ -1,8 +1,6 @@
DIST openssl-1.0.2-patches-1.5.tar.xz 12404 BLAKE2B 6c1b8c28f339f539b2ab8643379502a24cf62bffde00041dce54d5dd9e8d2620b181362ee5464b0ab32ba4948e209697bfabadbea2944a409a1009100d298f24 SHA512 5725e2d9d1ee8cc074bcef3bed61c71bdab2ff1c114362110c3fb8da11ad5bc8f2ff28e90a293f5f3a5cf96ecda54dffdb7ab3fb3f8b23ef6472250dc3037659
DIST openssl-1.0.2t-bindist-1.0.tar.xz 13872 BLAKE2B b2aade96a6e0ca6209a39e205b1c838de945903fcf959c62cc29ddcd1a0cb360fc5db234df86860a6a4c096f5ecc237611e4c2946b986a5500c24ba93c208ef4 SHA512 a48a7efb9b973b865bcc5009d450b428ed6b4b95e4cefe70c51056e47392c8a7bec58215168d8b07712419dc74646c2bd2fd23bcfbba2031376e292249a6b1b6
DIST openssl-1.0.2u.tar.gz 5355412 BLAKE2B b2ff2a10e5851af5aca4093422a9a072c794e87b997263826c1c35910c040f695fac63decac5856cb49399ed03d410f97701d9fd4e1ebfbcacd8f3a74ce8bf57 SHA512 c455bb309e20e2c2d47fdc5619c734d107d5c8c38c1409903ce979acc120b0d5fa0312917c0aa0d630e402d092a703d4249643f36078e8528a3cafc9dac6ab32
DIST openssl-1.1.1t.tar.gz 9881866 BLAKE2B 66d76ea0c05a4afc3104e22602cffc2373e857728625d31ab3244881cafa91c099a817a09def7746bce4133585bfc90b769f43527e77a81ed13e60a8c2fb4d8d SHA512 628676c9c3bc1cf46083d64f61943079f97f0eefd0264042e40a85dbbd988f271bfe01cd1135d22cc3f67a298f1d078041f8f2e97b0da0d93fe172da573da18c
DIST openssl-1.1.1t.tar.gz.asc 833 BLAKE2B fc5e7069268e987a20241dfc4f080529c6e95e217c198568b09c833e390e68b25a604a5d3ec29c6a64b9dee9d42199fd3647214e536ba2f7b8b4e57aa4cba680 SHA512 1232a94fce991d62f008ae6d3d9b6fe68cb6378fe07450feb17a58eb2417fb385ffcb7e6b74eb683134be9ff6ccf6efa183f37f4dd521614fd5aeaddf000b90b
DIST openssl-1.1.1u.tar.gz 9892176 BLAKE2B 5de9cb856e497596ecba008bad6515eefd093849b9c66dd7447031723996f3ba66ac37a323a5f7d01b1d42df4daaceb523372f5897d5c53b935ffab91c566594 SHA512 d00aeb0b4c4676deff06ff95af7ac33dd683b92f972b4a8ae55cf384bb37c7ec30ab83c6c0745daf87cf1743a745fced6a347fd11fed4c548aa0953610ed4919
DIST openssl-1.1.1u.tar.gz.asc 833 BLAKE2B 7a978a94264a14be04372fea39868e9177e8a0b0f24344267702022e19ee0f52e91ad141d7c54da870f7ec0df9b2e43b80939f1d274dd0b44d36da2670e3a468 SHA512 40245d65ace95b2002bf64bcba184c92fec3420b08d9f61f3a709c4842e9478595105d8adce33a08eb98d351d2a0989ec342b08cdd9104498ea0543b6e592d28
DIST openssl-compat-1.0.2u-versioned-symbols.patch.gz 24633 BLAKE2B 6bfad4ad27dbca0bd85bfd9521ffc844c3e93e6a1cca7c814edd49affc60ece1c706dd3aa7be2ce80857532531eac6f0f03f43c0be22a769d00d9241686eff71 SHA512 3d85aa34f2491e0e36eedc45829709e0fb552f6d558c2726b59dafa98c3e679b88497f3f7399d7565d88e727591e7d9b12f5b1e27116ba19b9a661d7f75b07a9

@ -1,221 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/openssl.org.asc
inherit edo flag-o-matic toolchain-funcs multilib-minimal verify-sig
MY_P=openssl-${PV/_/-}
DESCRIPTION="Full-strength general purpose cryptography library (including SSL and TLS)"
HOMEPAGE="https://www.openssl.org/"
SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
verify-sig? ( mirror://openssl/source/${MY_P}.tar.gz.asc )"
S="${WORKDIR}/${MY_P}"
LICENSE="openssl"
SLOT="$(ver_cut 1-3)"
if [[ ${PV} != *_pre* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
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 )"
RDEPEND="
!=dev-libs/openssl-1.1.1*:0
tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
"
DEPEND="${RDEPEND}"
BDEPEND="
>=dev-lang/perl-5
sctp? ( >=net-misc/lksctp-tools-1.0.12 )
test? (
sys-apps/diffutils
sys-devel/bc
kernel_linux? ( sys-process/procps )
)
verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230207 )"
# Do not install any docs
DOCS=()
PATCHES=(
# General patches which are suitable to always apply
# If they're Gentoo specific, add to USE=-vanilla logic in src_prepare!
"${FILESDIR}"/${PN/-compat}-1.1.0j-parallel_install_fix.patch # bug #671602
"${FILESDIR}"/${PN/-compat}-1.1.1i-riscv32.patch
)
pkg_setup() {
[[ ${MERGE_TYPE} == binary ]] && return
# must check in pkg_setup; sysctl doesn't work with userpriv!
if use test && use sctp; then
# test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
# if sctp.auth_enable is not enabled.
local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]]; then
die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
fi
fi
}
src_prepare() {
# Allow openssl to be cross-compiled
cp "${FILESDIR}"/gentoo.config-1.0.4 gentoo.config || die
chmod a+rx gentoo.config || die
# Keep this in sync with app-misc/c_rehash
SSL_CNF_DIR="/etc/ssl"
# Make sure we only ever touch Makefile.org and avoid patching a file
# that gets blown away anyways by the Configure script in src_configure
rm -f Makefile
if ! use vanilla ; then
PATCHES+=(
# Add patches which are Gentoo-specific customisations here
)
fi
default
if use test && use sctp && has network-sandbox ${FEATURES}; then
einfo "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox ..."
rm test/recipes/80-test_ssl_new.t || die
fi
# Quiet out unknown driver argument warnings since openssl
# doesn't have well-split CFLAGS and we're making it even worse
# and 'make depend' uses -Werror for added fun (bug #417795 again)
tc-is-clang && append-flags -Qunused-arguments
# We really, really need to build OpenSSL w/ strict aliasing disabled.
# It's filled with violations and it *will* result in miscompiled
# code. This has been in the ebuild for > 10 years but even in 2022,
# it's still relevant:
# - https://github.com/llvm/llvm-project/issues/55255
# - https://github.com/openssl/openssl/issues/18225
# - https://github.com/openssl/openssl/issues/18663#issuecomment-1181478057
# Don't remove the no strict aliasing bits below!
filter-flags -fstrict-aliasing
append-flags -fno-strict-aliasing
append-cppflags -DOPENSSL_NO_BUF_FREELISTS
append-flags $(test-flags-CC -Wa,--noexecstack)
# Remove test target when FEATURES=test isn't set
if ! use test ; then
sed \
-e '/^$config{dirs}/s@ "test",@@' \
-i Configure || die
fi
if use prefix && [[ ${CHOST} == *-solaris* ]] ; then
# use GNU ld full option, not to confuse it on Solaris
sed -i \
-e 's/-Wl,-M,/-Wl,--version-script=/' \
-e 's/-Wl,-h,/-Wl,--soname=/' \
Configurations/10-main.conf || die
# fix building on Solaris 10
# https://github.com/openssl/openssl/issues/6333
sed -i \
-e 's/-lsocket -lnsl -ldl/-lsocket -lnsl -ldl -lrt/' \
Configurations/10-main.conf || die
fi
local sslout=$(./gentoo.config)
einfo "Using configuration: ${sslout:-(openssl knows best)}"
local config="perl Configure"
[[ -z ${sslout} ]] && config="sh config -v"
# The config script does stupid stuff to prompt the user. Kill it.
sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
edo ${config} ${sslout} --test-sanity
multilib_copy_sources
}
multilib_src_configure() {
# bug #197996
unset APPS
# bug #312551
unset SCRIPTS
# bug #311473
unset CROSS_COMPILE
tc-export AR CC CXX RANLIB RC
use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
# See if our toolchain supports __uint128_t. If so, it's 64bit
# friendly and can use the nicely optimized code paths, bug #460790.
#local ec_nistp_64_gcc_128
#
# Disable it for now though (bug #469976)
# Do NOT re-enable without substantial discussion first!
#
#echo "__uint128_t i;" > "${T}"/128.c
#if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
# ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
#fi
local sslout=$(./gentoo.config)
einfo "Use configuration ${sslout:-(openssl knows best)}"
local config="perl Configure"
[[ -z ${sslout} ]] && config="sh config -v"
# "disable-deprecated" option breaks too many consumers.
# Don't set it without thorough revdeps testing.
# Make sure user flags don't get added *yet* to avoid duplicated
# flags.
local myeconfargs=(
${sslout}
$(use cpu_flags_x86_sse2 || echo "no-sse2")
enable-camellia
enable-ec
enable-ec2m
enable-sm2
enable-srp
$(use elibc_musl && echo "no-async")
${ec_nistp_64_gcc_128}
enable-idea
enable-mdc2
enable-rc5
$(use_ssl sslv3 ssl3)
$(use_ssl sslv3 ssl3-method)
$(use_ssl asm)
$(use_ssl rfc3779)
$(use_ssl sctp)
$(use test || echo "no-tests")
$(use_ssl tls-compression zlib)
$(use_ssl tls-heartbeat heartbeats)
$(use_ssl weak-ssl-ciphers)
--prefix="${EPREFIX}"/usr
--openssldir="${EPREFIX}"${SSL_CNF_DIR}
--libdir=$(get_libdir)
shared
threads
)
edo ${config} "${myeconfargs[@]}"
}
multilib_src_compile() {
emake all
}
multilib_src_test() {
emake -j1 test
}
multilib_src_install() {
dolib.so lib{crypto,ssl}.so.$(ver_cut 1-2 "${SLOT}")
}

@ -1,15 +1,9 @@
DIST openssl-1.0.2-patches-1.5.tar.xz 12404 BLAKE2B 6c1b8c28f339f539b2ab8643379502a24cf62bffde00041dce54d5dd9e8d2620b181362ee5464b0ab32ba4948e209697bfabadbea2944a409a1009100d298f24 SHA512 5725e2d9d1ee8cc074bcef3bed61c71bdab2ff1c114362110c3fb8da11ad5bc8f2ff28e90a293f5f3a5cf96ecda54dffdb7ab3fb3f8b23ef6472250dc3037659
DIST openssl-1.0.2t-bindist-1.0.tar.xz 13872 BLAKE2B b2aade96a6e0ca6209a39e205b1c838de945903fcf959c62cc29ddcd1a0cb360fc5db234df86860a6a4c096f5ecc237611e4c2946b986a5500c24ba93c208ef4 SHA512 a48a7efb9b973b865bcc5009d450b428ed6b4b95e4cefe70c51056e47392c8a7bec58215168d8b07712419dc74646c2bd2fd23bcfbba2031376e292249a6b1b6
DIST openssl-1.0.2u.tar.gz 5355412 BLAKE2B b2ff2a10e5851af5aca4093422a9a072c794e87b997263826c1c35910c040f695fac63decac5856cb49399ed03d410f97701d9fd4e1ebfbcacd8f3a74ce8bf57 SHA512 c455bb309e20e2c2d47fdc5619c734d107d5c8c38c1409903ce979acc120b0d5fa0312917c0aa0d630e402d092a703d4249643f36078e8528a3cafc9dac6ab32
DIST openssl-1.1.1t.tar.gz 9881866 BLAKE2B 66d76ea0c05a4afc3104e22602cffc2373e857728625d31ab3244881cafa91c099a817a09def7746bce4133585bfc90b769f43527e77a81ed13e60a8c2fb4d8d SHA512 628676c9c3bc1cf46083d64f61943079f97f0eefd0264042e40a85dbbd988f271bfe01cd1135d22cc3f67a298f1d078041f8f2e97b0da0d93fe172da573da18c
DIST openssl-1.1.1t.tar.gz.asc 833 BLAKE2B fc5e7069268e987a20241dfc4f080529c6e95e217c198568b09c833e390e68b25a604a5d3ec29c6a64b9dee9d42199fd3647214e536ba2f7b8b4e57aa4cba680 SHA512 1232a94fce991d62f008ae6d3d9b6fe68cb6378fe07450feb17a58eb2417fb385ffcb7e6b74eb683134be9ff6ccf6efa183f37f4dd521614fd5aeaddf000b90b
DIST openssl-1.1.1u.tar.gz 9892176 BLAKE2B 5de9cb856e497596ecba008bad6515eefd093849b9c66dd7447031723996f3ba66ac37a323a5f7d01b1d42df4daaceb523372f5897d5c53b935ffab91c566594 SHA512 d00aeb0b4c4676deff06ff95af7ac33dd683b92f972b4a8ae55cf384bb37c7ec30ab83c6c0745daf87cf1743a745fced6a347fd11fed4c548aa0953610ed4919
DIST openssl-1.1.1u.tar.gz.asc 833 BLAKE2B 7a978a94264a14be04372fea39868e9177e8a0b0f24344267702022e19ee0f52e91ad141d7c54da870f7ec0df9b2e43b80939f1d274dd0b44d36da2670e3a468 SHA512 40245d65ace95b2002bf64bcba184c92fec3420b08d9f61f3a709c4842e9478595105d8adce33a08eb98d351d2a0989ec342b08cdd9104498ea0543b6e592d28
DIST openssl-3.0.8.tar.gz 15151328 BLAKE2B e163cc9b8b458f72405a2f1bde3811c8d0eb22e8b08ff5608ec64799975f1546dcdce31466b8a1d5ed29bc90d19aa6017d711987c81b71f4b20e279828cf753a SHA512 8ce10be000d7d4092c8efc5b96b1d2f7da04c1c3a624d3a7923899c6b1de06f369016be957e36e8ab6d4c9102eaeec5d1973295d547f7893a7f11f132ae42b0d
DIST openssl-3.0.8.tar.gz.asc 833 BLAKE2B 1949801150e254e9be648f33014a4a16f803b42ca5a302c3942d377013e983e0ea0cca8aed594e3f9ecde26c6e31d222581e991af5fae6cd451d7ee83541f4bb SHA512 e1c04f1179aded228b39005fd9e9f6f75aedafb938b77ac58c97a00973eb412d93b92ad1c447332a5d96850b62b01093502928e6c190bdd0234a94c4e815d2a6
DIST openssl-3.0.9.tar.gz 15181285 BLAKE2B cc1df41fa12ba4443e15e94f6ebdc5e103b9dab5eab2e1c8f74e6a74fa2c38207817921b65d7293cb241c190a910191c7163600bb75243adde0e2f9ec31cc885 SHA512 86c99146b37236419b110db77dd3ac3992e6bed78c258f0cc3434ca233460b4e17c0ac81d7058547fe9cb72a9fd80ee56d4b4916bb731dbe2bbcf1c3d46bf31a
DIST openssl-3.0.9.tar.gz.asc 833 BLAKE2B 9943ac65f83f48465cae83b37a1d004f6be4622e53c3025166d42954abe9215f1a6c2af58d4aa2b45fa51182fee5019e740969f694655b6c592bb278c68aacef SHA512 9949de6b57d5aa21da1d4b68a29eb37e302403c983bd7d2d8769b320aac4268a9f9091c5fb182862a4f89a9099660939fe609df87c66991b75f7695faf357caf
DIST openssl-3.1.0.tar.gz 15525381 BLAKE2B 9212a7fb13f6dee7746721ee406af56ae1b48ec58974c002465d2b0205839eb5ee0483383aa9924fc3e4168ebd34e1a5819480cf10aa318994d7171e54c07108 SHA512 71cc75c7700f445c616e382b76263ad2e4072beec0232458baf3d9891b8b64a7ad0cac4b4d24b727b2b7dcd100c78606fd48eba98a67eccd5f336e3d626ca713
DIST openssl-3.1.0.tar.gz.asc 488 BLAKE2B f4a844e3db2c2bdf42b6f811d16cc2077cacf713d20474d94e2d0180a6f97eadf4f03522e9fed478d263d680d88091dc2bc48e7ebb15d049bc57ee7ed64c7fbb SHA512 8d542e6471b745822d6cd889c5b168841b4366ee9a96edc2ab5b44fa1bd1b75308422aed312f1bd6e6a3c3e306eceaa95ce9bb4d0aa3e8ff86cb0fd92a7e61ea
DIST openssl-3.1.1.tar.gz 15544757 BLAKE2B 094f7e28f16de6528016fcd21df1d7382b0dbdcd80ec469d37add9c37f638c059dda3ffb4415eba890a33d146ddc9016bcc7192df101c73be5e70faf6e3b1097 SHA512 8ba9dd6ab87451e126c19cc106ccd1643ca48667d6c37504d0ab98205fbccf855fd0db54474b4113c4c3a15215a4ef77a039fb897a69f71bcab2054b2effd1d9
DIST openssl-3.1.1.tar.gz.asc 833 BLAKE2B 5a2a9aeb475b843862e133d53bc5bb3c8e12e8e03b1e2da41d0eaa0eade1ae03c4318ad1f5c490c5e1ed7e6ac6275a6d7c881d99993911722b043b15d1622b25 SHA512 83349020c67e5b956f3ef37604a03a1970ea393f862691f5fd5d85930c01e559e25db17d397d8fd230c3862a8b2fba2d5c7df883d56d7472f4c01dab3a661cb2

@ -1,215 +0,0 @@
commit 879f7080d7e141f415c79eaa3a8ac4a3dad0348b
Author: Pauli <pauli@openssl.org>
Date: Wed Mar 8 15:28:20 2023 +1100
x509: excessive resource use verifying policy constraints
A security vulnerability has been identified in all supported versions
of OpenSSL related to the verification of X.509 certificate chains
that include policy constraints. Attackers may be able to exploit this
vulnerability by creating a malicious certificate chain that triggers
exponential use of computational resources, leading to a denial-of-service
(DoS) attack on affected systems.
Fixes CVE-2023-0464
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/20569)
diff --git a/crypto/x509v3/pcy_local.h b/crypto/x509v3/pcy_local.h
index 5daf78de45..344aa06765 100644
--- a/crypto/x509v3/pcy_local.h
+++ b/crypto/x509v3/pcy_local.h
@@ -111,6 +111,11 @@ struct X509_POLICY_LEVEL_st {
};
struct X509_POLICY_TREE_st {
+ /* The number of nodes in the tree */
+ size_t node_count;
+ /* The maximum number of nodes in the tree */
+ size_t node_maximum;
+
/* This is the tree 'level' data */
X509_POLICY_LEVEL *levels;
int nlevel;
@@ -159,7 +164,8 @@ X509_POLICY_NODE *tree_find_sk(STACK_OF(X509_POLICY_NODE) *sk,
X509_POLICY_NODE *level_add_node(X509_POLICY_LEVEL *level,
X509_POLICY_DATA *data,
X509_POLICY_NODE *parent,
- X509_POLICY_TREE *tree);
+ X509_POLICY_TREE *tree,
+ int extra_data);
void policy_node_free(X509_POLICY_NODE *node);
int policy_node_match(const X509_POLICY_LEVEL *lvl,
const X509_POLICY_NODE *node, const ASN1_OBJECT *oid);
diff --git a/crypto/x509v3/pcy_node.c b/crypto/x509v3/pcy_node.c
index e2d7b15322..d574fb9d66 100644
--- a/crypto/x509v3/pcy_node.c
+++ b/crypto/x509v3/pcy_node.c
@@ -59,10 +59,15 @@ X509_POLICY_NODE *level_find_node(const X509_POLICY_LEVEL *level,
X509_POLICY_NODE *level_add_node(X509_POLICY_LEVEL *level,
X509_POLICY_DATA *data,
X509_POLICY_NODE *parent,
- X509_POLICY_TREE *tree)
+ X509_POLICY_TREE *tree,
+ int extra_data)
{
X509_POLICY_NODE *node;
+ /* Verify that the tree isn't too large. This mitigates CVE-2023-0464 */
+ if (tree->node_maximum > 0 && tree->node_count >= tree->node_maximum)
+ return NULL;
+
node = OPENSSL_zalloc(sizeof(*node));
if (node == NULL) {
X509V3err(X509V3_F_LEVEL_ADD_NODE, ERR_R_MALLOC_FAILURE);
@@ -70,7 +75,7 @@ X509_POLICY_NODE *level_add_node(X509_POLICY_LEVEL *level,
}
node->data = data;
node->parent = parent;
- if (level) {
+ if (level != NULL) {
if (OBJ_obj2nid(data->valid_policy) == NID_any_policy) {
if (level->anyPolicy)
goto node_error;
@@ -90,7 +95,7 @@ X509_POLICY_NODE *level_add_node(X509_POLICY_LEVEL *level,
}
}
- if (tree) {
+ if (extra_data) {
if (tree->extra_data == NULL)
tree->extra_data = sk_X509_POLICY_DATA_new_null();
if (tree->extra_data == NULL){
@@ -103,6 +108,7 @@ X509_POLICY_NODE *level_add_node(X509_POLICY_LEVEL *level,
}
}
+ tree->node_count++;
if (parent)
parent->nchild++;
diff --git a/crypto/x509v3/pcy_tree.c b/crypto/x509v3/pcy_tree.c
index 6e8322cbc5..6c7fd35405 100644
--- a/crypto/x509v3/pcy_tree.c
+++ b/crypto/x509v3/pcy_tree.c
@@ -13,6 +13,18 @@
#include "pcy_local.h"
+/*
+ * If the maximum number of nodes in the policy tree isn't defined, set it to
+ * a generous default of 1000 nodes.
+ *
+ * Defining this to be zero means unlimited policy tree growth which opens the
+ * door on CVE-2023-0464.
+ */
+
+#ifndef OPENSSL_POLICY_TREE_NODES_MAX
+# define OPENSSL_POLICY_TREE_NODES_MAX 1000
+#endif
+
/*
* Enable this to print out the complete policy tree at various point during
* evaluation.
@@ -168,6 +180,9 @@ static int tree_init(X509_POLICY_TREE **ptree, STACK_OF(X509) *certs,
return X509_PCY_TREE_INTERNAL;
}
+ /* Limit the growth of the tree to mitigate CVE-2023-0464 */
+ tree->node_maximum = OPENSSL_POLICY_TREE_NODES_MAX;
+
/*
* http://tools.ietf.org/html/rfc5280#section-6.1.2, figure 3.
*
@@ -184,7 +199,7 @@ static int tree_init(X509_POLICY_TREE **ptree, STACK_OF(X509) *certs,
level = tree->levels;
if ((data = policy_data_new(NULL, OBJ_nid2obj(NID_any_policy), 0)) == NULL)
goto bad_tree;
- if (level_add_node(level, data, NULL, tree) == NULL) {
+ if (level_add_node(level, data, NULL, tree, 1) == NULL) {
policy_data_free(data);
goto bad_tree;
}
@@ -243,7 +258,8 @@ static int tree_init(X509_POLICY_TREE **ptree, STACK_OF(X509) *certs,
* Return value: 1 on success, 0 otherwise
*/
static int tree_link_matching_nodes(X509_POLICY_LEVEL *curr,
- X509_POLICY_DATA *data)
+ X509_POLICY_DATA *data,
+ X509_POLICY_TREE *tree)
{
X509_POLICY_LEVEL *last = curr - 1;
int i, matched = 0;
@@ -253,13 +269,13 @@ static int tree_link_matching_nodes(X509_POLICY_LEVEL *curr,
X509_POLICY_NODE *node = sk_X509_POLICY_NODE_value(last->nodes, i);
if (policy_node_match(last, node, data->valid_policy)) {
- if (level_add_node(curr, data, node, NULL) == NULL)
+ if (level_add_node(curr, data, node, tree, 0) == NULL)
return 0;
matched = 1;
}
}
if (!matched && last->anyPolicy) {
- if (level_add_node(curr, data, last->anyPolicy, NULL) == NULL)
+ if (level_add_node(curr, data, last->anyPolicy, tree, 0) == NULL)
return 0;
}
return 1;
@@ -272,7 +288,8 @@ static int tree_link_matching_nodes(X509_POLICY_LEVEL *curr,
* Return value: 1 on success, 0 otherwise.
*/
static int tree_link_nodes(X509_POLICY_LEVEL *curr,
- const X509_POLICY_CACHE *cache)
+ const X509_POLICY_CACHE *cache,
+ X509_POLICY_TREE *tree)
{
int i;
@@ -280,7 +297,7 @@ static int tree_link_nodes(X509_POLICY_LEVEL *curr,
X509_POLICY_DATA *data = sk_X509_POLICY_DATA_value(cache->data, i);
/* Look for matching nodes in previous level */
- if (!tree_link_matching_nodes(curr, data))
+ if (!tree_link_matching_nodes(curr, data, tree))
return 0;
}
return 1;
@@ -311,7 +328,7 @@ static int tree_add_unmatched(X509_POLICY_LEVEL *curr,
/* Curr may not have anyPolicy */
data->qualifier_set = cache->anyPolicy->qualifier_set;
data->flags |= POLICY_DATA_FLAG_SHARED_QUALIFIERS;
- if (level_add_node(curr, data, node, tree) == NULL) {
+ if (level_add_node(curr, data, node, tree, 1) == NULL) {
policy_data_free(data);
return 0;
}
@@ -373,7 +390,7 @@ static int tree_link_any(X509_POLICY_LEVEL *curr,
}
/* Finally add link to anyPolicy */
if (last->anyPolicy &&
- level_add_node(curr, cache->anyPolicy, last->anyPolicy, NULL) == NULL)
+ level_add_node(curr, cache->anyPolicy, last->anyPolicy, tree, 0) == NULL)
return 0;
return 1;
}
@@ -555,7 +572,7 @@ static int tree_calculate_user_set(X509_POLICY_TREE *tree,
extra->qualifier_set = anyPolicy->data->qualifier_set;
extra->flags = POLICY_DATA_FLAG_SHARED_QUALIFIERS
| POLICY_DATA_FLAG_EXTRA_NODE;
- node = level_add_node(NULL, extra, anyPolicy->parent, tree);
+ node = level_add_node(NULL, extra, anyPolicy->parent, tree, 1);
}
if (!tree->user_policies) {
tree->user_policies = sk_X509_POLICY_NODE_new_null();
@@ -582,7 +599,7 @@ static int tree_evaluate(X509_POLICY_TREE *tree)
for (i = 1; i < tree->nlevel; i++, curr++) {
cache = policy_cache_set(curr->cert);
- if (!tree_link_nodes(curr, cache))
+ if (!tree_link_nodes(curr, cache, tree))
return X509_PCY_TREE_INTERNAL;
if (!(curr->flags & X509_V_FLAG_INHIBIT_ANY)

@ -1,48 +0,0 @@
commit b013765abfa80036dc779dd0e50602c57bb3bf95
Author: Matt Caswell <matt@openssl.org>
Date: Tue Mar 7 16:52:55 2023 +0000
Ensure that EXFLAG_INVALID_POLICY is checked even in leaf certs
Even though we check the leaf cert to confirm it is valid, we
later ignored the invalid flag and did not notice that the leaf
cert was bad.
Fixes: CVE-2023-0465
Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20588)
diff --git a/crypto/x509/x509_vfy.c b/crypto/x509/x509_vfy.c
index 925fbb5412..1dfe4f9f31 100644
--- a/crypto/x509/x509_vfy.c
+++ b/crypto/x509/x509_vfy.c
@@ -1649,18 +1649,25 @@ static int check_policy(X509_STORE_CTX *ctx)
}
/* Invalid or inconsistent extensions */
if (ret == X509_PCY_TREE_INVALID) {
- int i;
+ int i, cbcalled = 0;
/* Locate certificates with bad extensions and notify callback. */
- for (i = 1; i < sk_X509_num(ctx->chain); i++) {
+ for (i = 0; i < sk_X509_num(ctx->chain); i++) {
X509 *x = sk_X509_value(ctx->chain, i);
if (!(x->ex_flags & EXFLAG_INVALID_POLICY))
continue;
+ cbcalled = 1;
if (!verify_cb_cert(ctx, x, i,
X509_V_ERR_INVALID_POLICY_EXTENSION))
return 0;
}
+ if (!cbcalled) {
+ /* Should not be able to get here */
+ X509err(X509_F_CHECK_POLICY, ERR_R_INTERNAL_ERROR);
+ return 0;
+ }
+ /* The callback ignored the error so we return success */
return 1;
}
if (ret == X509_PCY_TREE_FAILURE) {

@ -1,41 +0,0 @@
commit 0d16b7e99aafc0b4a6d729eec65a411a7e025f0a
Author: Tomas Mraz <tomas@openssl.org>
Date: Tue Mar 21 16:15:47 2023 +0100
Fix documentation of X509_VERIFY_PARAM_add0_policy()
The function was incorrectly documented as enabling policy checking.
Fixes: CVE-2023-0466
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20564)
diff --git a/doc/man3/X509_VERIFY_PARAM_set_flags.pod b/doc/man3/X509_VERIFY_PARAM_set_flags.pod
index f6f304bf7b..aa292f9336 100644
--- a/doc/man3/X509_VERIFY_PARAM_set_flags.pod
+++ b/doc/man3/X509_VERIFY_PARAM_set_flags.pod
@@ -92,8 +92,9 @@ B<trust>.
X509_VERIFY_PARAM_set_time() sets the verification time in B<param> to
B<t>. Normally the current time is used.
-X509_VERIFY_PARAM_add0_policy() enables policy checking (it is disabled
-by default) and adds B<policy> to the acceptable policy set.
+X509_VERIFY_PARAM_add0_policy() adds B<policy> to the acceptable policy set.
+Contrary to preexisting documentation of this function it does not enable
+policy checking.
X509_VERIFY_PARAM_set1_policies() enables policy checking (it is disabled
by default) and sets the acceptable policy set to B<policies>. Any existing
@@ -377,6 +378,10 @@ and has no effect.
The X509_VERIFY_PARAM_get_hostflags() function was added in OpenSSL 1.1.0i.
+The function X509_VERIFY_PARAM_add0_policy() was historically documented as
+enabling policy checking however the implementation has never done this.
+The documentation was changed to align with the implementation.
+
=head1 COPYRIGHT
Copyright 2009-2020 The OpenSSL Project Authors. All Rights Reserved.

@ -1,214 +0,0 @@
commit 959c59c7a0164117e7f8366466a32bb1f8d77ff1
Author: Pauli <pauli@openssl.org>
Date: Wed Mar 8 15:28:20 2023 +1100
x509: excessive resource use verifying policy constraints
A security vulnerability has been identified in all supported versions
of OpenSSL related to the verification of X.509 certificate chains
that include policy constraints. Attackers may be able to exploit this
vulnerability by creating a malicious certificate chain that triggers
exponential use of computational resources, leading to a denial-of-service
(DoS) attack on affected systems.
Fixes CVE-2023-0464
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/20568)
diff --git a/crypto/x509/pcy_local.h b/crypto/x509/pcy_local.h
index 18b53cc09e..cba107ca03 100644
--- a/crypto/x509/pcy_local.h
+++ b/crypto/x509/pcy_local.h
@@ -111,6 +111,11 @@ struct X509_POLICY_LEVEL_st {
};
struct X509_POLICY_TREE_st {
+ /* The number of nodes in the tree */
+ size_t node_count;
+ /* The maximum number of nodes in the tree */
+ size_t node_maximum;
+
/* This is the tree 'level' data */
X509_POLICY_LEVEL *levels;
int nlevel;
@@ -157,7 +162,8 @@ X509_POLICY_NODE *ossl_policy_tree_find_sk(STACK_OF(X509_POLICY_NODE) *sk,
X509_POLICY_NODE *ossl_policy_level_add_node(X509_POLICY_LEVEL *level,
X509_POLICY_DATA *data,
X509_POLICY_NODE *parent,
- X509_POLICY_TREE *tree);
+ X509_POLICY_TREE *tree,
+ int extra_data);
void ossl_policy_node_free(X509_POLICY_NODE *node);
int ossl_policy_node_match(const X509_POLICY_LEVEL *lvl,
const X509_POLICY_NODE *node, const ASN1_OBJECT *oid);
diff --git a/crypto/x509/pcy_node.c b/crypto/x509/pcy_node.c
index 9d9a7ea179..450f95a655 100644
--- a/crypto/x509/pcy_node.c
+++ b/crypto/x509/pcy_node.c
@@ -59,10 +59,15 @@ X509_POLICY_NODE *ossl_policy_level_find_node(const X509_POLICY_LEVEL *level,
X509_POLICY_NODE *ossl_policy_level_add_node(X509_POLICY_LEVEL *level,
X509_POLICY_DATA *data,
X509_POLICY_NODE *parent,
- X509_POLICY_TREE *tree)
+ X509_POLICY_TREE *tree,
+ int extra_data)
{
X509_POLICY_NODE *node;
+ /* Verify that the tree isn't too large. This mitigates CVE-2023-0464 */
+ if (tree->node_maximum > 0 && tree->node_count >= tree->node_maximum)
+ return NULL;
+
node = OPENSSL_zalloc(sizeof(*node));
if (node == NULL) {
ERR_raise(ERR_LIB_X509V3, ERR_R_MALLOC_FAILURE);
@@ -70,7 +75,7 @@ X509_POLICY_NODE *ossl_policy_level_add_node(X509_POLICY_LEVEL *level,
}
node->data = data;
node->parent = parent;
- if (level) {
+ if (level != NULL) {
if (OBJ_obj2nid(data->valid_policy) == NID_any_policy) {
if (level->anyPolicy)
goto node_error;
@@ -90,7 +95,7 @@ X509_POLICY_NODE *ossl_policy_level_add_node(X509_POLICY_LEVEL *level,
}
}
- if (tree) {
+ if (extra_data) {
if (tree->extra_data == NULL)
tree->extra_data = sk_X509_POLICY_DATA_new_null();
if (tree->extra_data == NULL){
@@ -103,6 +108,7 @@ X509_POLICY_NODE *ossl_policy_level_add_node(X509_POLICY_LEVEL *level,
}
}
+ tree->node_count++;
if (parent)
parent->nchild++;
diff --git a/crypto/x509/pcy_tree.c b/crypto/x509/pcy_tree.c
index fa45da5117..f953a05a41 100644
--- a/crypto/x509/pcy_tree.c
+++ b/crypto/x509/pcy_tree.c
@@ -14,6 +14,17 @@
#include "pcy_local.h"
+/*
+ * If the maximum number of nodes in the policy tree isn't defined, set it to
+ * a generous default of 1000 nodes.
+ *
+ * Defining this to be zero means unlimited policy tree growth which opens the
+ * door on CVE-2023-0464.
+ */
+#ifndef OPENSSL_POLICY_TREE_NODES_MAX
+# define OPENSSL_POLICY_TREE_NODES_MAX 1000
+#endif
+
static void expected_print(BIO *channel,
X509_POLICY_LEVEL *lev, X509_POLICY_NODE *node,
int indent)
@@ -163,6 +174,9 @@ static int tree_init(X509_POLICY_TREE **ptree, STACK_OF(X509) *certs,
return X509_PCY_TREE_INTERNAL;
}
+ /* Limit the growth of the tree to mitigate CVE-2023-0464 */
+ tree->node_maximum = OPENSSL_POLICY_TREE_NODES_MAX;
+
/*
* http://tools.ietf.org/html/rfc5280#section-6.1.2, figure 3.
*
@@ -180,7 +194,7 @@ static int tree_init(X509_POLICY_TREE **ptree, STACK_OF(X509) *certs,
if ((data = ossl_policy_data_new(NULL,
OBJ_nid2obj(NID_any_policy), 0)) == NULL)
goto bad_tree;
- if (ossl_policy_level_add_node(level, data, NULL, tree) == NULL) {
+ if (ossl_policy_level_add_node(level, data, NULL, tree, 1) == NULL) {
ossl_policy_data_free(data);
goto bad_tree;
}
@@ -239,7 +253,8 @@ static int tree_init(X509_POLICY_TREE **ptree, STACK_OF(X509) *certs,
* Return value: 1 on success, 0 otherwise
*/
static int tree_link_matching_nodes(X509_POLICY_LEVEL *curr,
- X509_POLICY_DATA *data)
+ X509_POLICY_DATA *data,
+ X509_POLICY_TREE *tree)
{
X509_POLICY_LEVEL *last = curr - 1;
int i, matched = 0;
@@ -249,13 +264,13 @@ static int tree_link_matching_nodes(X509_POLICY_LEVEL *curr,
X509_POLICY_NODE *node = sk_X509_POLICY_NODE_value(last->nodes, i);
if (ossl_policy_node_match(last, node, data->valid_policy)) {
- if (ossl_policy_level_add_node(curr, data, node, NULL) == NULL)
+ if (ossl_policy_level_add_node(curr, data, node, tree, 0) == NULL)
return 0;
matched = 1;
}
}
if (!matched && last->anyPolicy) {
- if (ossl_policy_level_add_node(curr, data, last->anyPolicy, NULL) == NULL)
+ if (ossl_policy_level_add_node(curr, data, last->anyPolicy, tree, 0) == NULL)
return 0;
}
return 1;
@@ -268,7 +283,8 @@ static int tree_link_matching_nodes(X509_POLICY_LEVEL *curr,
* Return value: 1 on success, 0 otherwise.
*/
static int tree_link_nodes(X509_POLICY_LEVEL *curr,
- const X509_POLICY_CACHE *cache)
+ const X509_POLICY_CACHE *cache,
+ X509_POLICY_TREE *tree)
{
int i;
@@ -276,7 +292,7 @@ static int tree_link_nodes(X509_POLICY_LEVEL *curr,
X509_POLICY_DATA *data = sk_X509_POLICY_DATA_value(cache->data, i);
/* Look for matching nodes in previous level */
- if (!tree_link_matching_nodes(curr, data))
+ if (!tree_link_matching_nodes(curr, data, tree))
return 0;
}
return 1;
@@ -307,7 +323,7 @@ static int tree_add_unmatched(X509_POLICY_LEVEL *curr,
/* Curr may not have anyPolicy */
data->qualifier_set = cache->anyPolicy->qualifier_set;
data->flags |= POLICY_DATA_FLAG_SHARED_QUALIFIERS;
- if (ossl_policy_level_add_node(curr, data, node, tree) == NULL) {
+ if (ossl_policy_level_add_node(curr, data, node, tree, 1) == NULL) {
ossl_policy_data_free(data);
return 0;
}
@@ -370,7 +386,7 @@ static int tree_link_any(X509_POLICY_LEVEL *curr,
/* Finally add link to anyPolicy */
if (last->anyPolicy &&
ossl_policy_level_add_node(curr, cache->anyPolicy,
- last->anyPolicy, NULL) == NULL)
+ last->anyPolicy, tree, 0) == NULL)
return 0;
return 1;
}
@@ -553,7 +569,7 @@ static int tree_calculate_user_set(X509_POLICY_TREE *tree,
extra->flags = POLICY_DATA_FLAG_SHARED_QUALIFIERS
| POLICY_DATA_FLAG_EXTRA_NODE;
node = ossl_policy_level_add_node(NULL, extra, anyPolicy->parent,
- tree);
+ tree, 1);
}
if (!tree->user_policies) {
tree->user_policies = sk_X509_POLICY_NODE_new_null();
@@ -580,7 +596,7 @@ static int tree_evaluate(X509_POLICY_TREE *tree)
for (i = 1; i < tree->nlevel; i++, curr++) {
cache = ossl_policy_cache_set(curr->cert);
- if (!tree_link_nodes(curr, cache))
+ if (!tree_link_nodes(curr, cache, tree))
return X509_PCY_TREE_INTERNAL;
if (!(curr->flags & X509_V_FLAG_INHIBIT_ANY)

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save