Sync with portage [Sun Jul 23 00:01:49 MSK 2023].

master
root 9 months ago
parent b5843581e0
commit 9043245859

Binary file not shown.

Binary file not shown.

@ -0,0 +1,8 @@
# Copyright 2019-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit acct-group
ACCT_GROUP_ID=531

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>PF4Public@mail.ru</email>
<name>PF4Public</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<maintainer type="person">
<email>candrews@gentoo.org</email>
<name>Craig Andrews</name>
</maintainer>
<upstream>
<remote-id type="github">Jackett/Jackett</remote-id>
<bugs-to>https://github.com/Jackett/Jackett/issues</bugs-to>
</upstream>
</pkgmetadata>

@ -0,0 +1,8 @@
# Copyright 2019-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit acct-group
ACCT_GROUP_ID=530

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>PF4Public@mail.ru</email>
<name>PF4Public</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<maintainer type="person">
<email>candrews@gentoo.org</email>
<name>Craig Andrews</name>
</maintainer>
<upstream>
<remote-id type="github">Lidarr/Lidarr</remote-id>
<bugs-to>https://github.com/Lidarr/Lidarr/issues</bugs-to>
</upstream>
</pkgmetadata>

Binary file not shown.

@ -0,0 +1,13 @@
# Copyright 2020-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit acct-user
DESCRIPTION="User for jackett"
ACCT_USER_HOME=/var/lib/jackett
ACCT_USER_ID=531
ACCT_USER_GROUPS=( jackett )
acct-user_add_deps

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>PF4Public@mail.ru</email>
<name>PF4Public</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<maintainer type="person">
<email>candrews@gentoo.org</email>
<name>Craig Andrews</name>
</maintainer>
<upstream>
<remote-id type="github">Jackett/Jackett</remote-id>
<bugs-to>https://github.com/Jackett/Jackett/issues</bugs-to>
</upstream>
</pkgmetadata>

@ -0,0 +1,13 @@
# Copyright 2020-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit acct-user
DESCRIPTION="User for lidarr"
ACCT_USER_HOME=/var/lib/lidarr
ACCT_USER_ID=530
ACCT_USER_GROUPS=( lidarr )
acct-user_add_deps

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>PF4Public@mail.ru</email>
<name>PF4Public</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<maintainer type="person">
<email>candrews@gentoo.org</email>
<name>Craig Andrews</name>
</maintainer>
<upstream>
<remote-id type="github">Lidarr/Lidarr</remote-id>
<bugs-to>https://github.com/Lidarr/Lidarr/issues</bugs-to>
</upstream>
</pkgmetadata>

Binary file not shown.

@ -1,4 +1,6 @@
DIST ansible-core-2.13.9.tar.gz 14025835 BLAKE2B 831f04f1d4872d2e7a9801e69e450ed48c65f95121dc56f124c932169e44c12da672dd4ba9320a4e40270afd044d38c0774e79980977322260f110986d06a65e SHA512 74514d98fb3f7f24fb0b4e95ee20c76f26234d1f5067ca2801e9ac92baabed0f2f2c89bf577510be7403041405951271e7749279c9fa04fab57018cbdf2c52c7
DIST ansible-core-2.14.5.tar.gz 11620295 BLAKE2B d006f773e1c2b28582143a4f08f699e5744fba492130388fa5463053cdf8f0cc7056296daa213c72884ea0c0ba454a3e04ef118c184faba8c8d3c281ae65345a SHA512 130a0de925c7229dee350ddbf4382d87802d86aab4817ed595105db8ed5071153847dac0478f20a994670e59e53a07b77d0bf35855d309ebc222fbb61233b7db
DIST ansible-core-2.14.7.tar.gz 11455164 BLAKE2B e636d14c33ba5bb744c977ced8551962fd41ab3fc5764907597428b4b4b99102dc2ab8794a09209bd2fa9ddae8815292d99e73ced802fdf32dec792cd01b5db6 SHA512 eb0223a40a2ec6b65a34e54dac77b5aa7b8efca8330c37dafa256bffbcc38862713f939edf85367cdbf14cddda36e96eef6931bf8b98de44f5739924cde8a15c
DIST ansible-core-2.14.8.tar.gz 11456832 BLAKE2B 28f7f8e5ac7dd3fa82237fe341222867a2c57146de53cd1ef2017b1bb548d8b94801087a5d21df1ab6105cc1e20bf8ca0667722294586d3328fa7ca4b74477f5 SHA512 601c9f58db7382944bf3c597fe93c630d8aec0e77bccab992c2bfc612824185d49e0af01b1bca43ced78918d843cd9b53cb2ebd2a6e26c07747bd13ba276be2c
DIST ansible-core-2.15.1.tar.gz 10811279 BLAKE2B c369304014eb597a0acb14e4743ee1a1f74cf6d29052657d2357c80d9eb97a0e66a896b0a6b3653729a62336baa884868ff9ee7674632f460baa1bf6fc1d22ee SHA512 a0febdf13fbc70b8a4a5b670c8812fd8cbee7c02118f0087d453194d74f3b0c56b3659d9d763787c0d0e65bf82399f4ff00d355ec0243771986444f9880ee09e
DIST ansible-core-2.15.2.tar.gz 10814159 BLAKE2B 0be12f45e2dffc9a57974d64092b53b1f74509263d4a68da0485bc691340ca9c1336714a33dd8099f3a11fda1e9fea98d1d88b4af9611e26b0e7c0823eb86ddc SHA512 75cfc9a5f104d15a83ea464e34b9b2d351fcddc23b7bc4e86a1975d2aef22a336c865a4bd25cee58ba64b67eebfc2553ca55ea581ffcfc4e5261af46fbdf7e55

@ -0,0 +1,58 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..11} )
DISTUTILS_USE_SETUPTOOLS=bdepend
PYPI_NO_NORMALIZE=1
inherit distutils-r1
DESCRIPTION="Model-driven deployment, config management, and command execution framework"
HOMEPAGE="https://www.ansible.com/"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/ansible/ansible.git"
EGIT_BRANCH="devel"
else
inherit pypi
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~x64-macos"
fi
LICENSE="GPL-3"
SLOT="0"
RESTRICT="test"
PATCHES=(
"${FILESDIR}/resolvelib.patch"
)
RDEPEND="
dev-python/paramiko[${PYTHON_USEDEP}]
dev-python/jinja[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/cryptography[${PYTHON_USEDEP}]
dev-python/httplib2[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
dev-python/netaddr[${PYTHON_USEDEP}]
dev-python/pexpect[${PYTHON_USEDEP}]
>=dev-python/resolvelib-0.5.3[${PYTHON_USEDEP}]
<dev-python/resolvelib-1.1.0[${PYTHON_USEDEP}]
net-misc/sshpass
virtual/ssh
"
BDEPEND="
>=dev-python/packaging-16.6[${PYTHON_USEDEP}]
test? (
dev-python/botocore[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
)"
distutils_enable_tests pytest
python_compile() {
export ANSIBLE_SKIP_CONFLICT_CHECK=1
distutils-r1_python_compile
}

@ -0,0 +1,54 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..11} )
DISTUTILS_USE_SETUPTOOLS=bdepend
PYPI_NO_NORMALIZE=1
inherit distutils-r1
DESCRIPTION="Model-driven deployment, config management, and command execution framework"
HOMEPAGE="https://www.ansible.com/"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/ansible/ansible.git"
EGIT_BRANCH="devel"
else
inherit pypi
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~x64-macos"
fi
LICENSE="GPL-3"
SLOT="0"
RESTRICT="test"
RDEPEND="
dev-python/paramiko[${PYTHON_USEDEP}]
dev-python/jinja[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/cryptography[${PYTHON_USEDEP}]
dev-python/httplib2[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
dev-python/netaddr[${PYTHON_USEDEP}]
dev-python/pexpect[${PYTHON_USEDEP}]
>=dev-python/resolvelib-0.5.3[${PYTHON_USEDEP}]
<dev-python/resolvelib-1.1.0[${PYTHON_USEDEP}]
net-misc/sshpass
virtual/ssh
"
BDEPEND="
>=dev-python/packaging-16.6[${PYTHON_USEDEP}]
test? (
dev-python/botocore[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
)"
distutils_enable_tests pytest
python_compile() {
export ANSIBLE_SKIP_CONFLICT_CHECK=1
distutils-r1_python_compile
}

@ -1,3 +1,5 @@
DIST ansible-6.7.0.tar.gz 36371372 BLAKE2B 75cb14f158c36ded8313a1c5b798838afdf3a38ffc8e29a87c8e1e3e74c9aeca827432397ad83ed23a1d3aeaaef91822cc3c23aa226a307d93f84f54b25d71bb SHA512 676baf03626d5bf36aea7117d39ef71ba7878ab6bccdec1ee199bd699d559a5f3f6a0d9032ef120204093677b7fbbe1b575529d3aa692acd1a4447f9c2715f3a
DIST ansible-7.6.0.tar.gz 38452799 BLAKE2B 88b652b1b0bcbedb982606c7d7734fd11567cd492f4e0d617d7412e1bac8978fcef1f4201bb0338098204640e2b004d8921427c1d642bfbb15a7f95b134cb85e SHA512 4f8960356e0ff855d54b435ed691d1d4f7d38c1231269e35b3dbbee536a9d8d1aef2806d7ce38e863fe216e9fddb2f86ce55ba997a3bd1d8bb7f43c5c519ff72
DIST ansible-7.7.0.tar.gz 40709642 BLAKE2B ee2f8d124f79ca3a3f131bfbc4f93e10d104a38262b7d60edd2a88284275fecdd3acf0e566a5cc81a1fb6a179a0b7c51215f2945d669be4c6af7aa2a4f31ade0 SHA512 7da6845c9a68f2b8c10cf3e4cc6ea347861d5b59daa6ac895731ac79b733c6724d234345054fe9e3bf4ea460345b9026492fda42dce22bfbc027c9b4de093fd9
DIST ansible-8.0.0.tar.gz 36842561 BLAKE2B 999760b334918d807f0d5de888864c86b686fef24d4d94cc959902d4d4ed3ea321358b574fb9a2358e182c71d6237c686eead4cf37cc65755685714589e7df2b SHA512 637304599ec2074b473902d767a9e42d4df17c8485e5d64b6a1ea8a3b8ad347f021aeb88ca5cdbd2eefc30f2d8d2870e8934fa2c4d9c192c03a1482b31cc1fc5
DIST ansible-8.2.0.tar.gz 39618057 BLAKE2B 26e737989d7cc118aaab18c51ef3bd7c33173ec95e603b328a82b247be47fa9cb6b6d384cb56da7ead3675f3766ae655a3b7955f8c262519f54147d832a0ac94 SHA512 0ed3f43885b026c18939a29ef67f836374cdeaf96c3445fb59ec60164493820ac2e97c041daddd49ba083d0bef8cac4b7a75d5391290fce52bebae02276b0be6

@ -0,0 +1,28 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1 pypi
DESCRIPTION="Model-driven deployment, config management, and command execution framework"
HOMEPAGE="https://www.ansible.com/"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~x64-macos"
RESTRICT="test"
RDEPEND=">=app-admin/ansible-core-2.14.0
<app-admin/ansible-core-2.15"
python_compile() {
local -x ANSIBLE_SKIP_CONFLICT_CHECK=1
distutils-r1_python_compile
}
python_install() {
local -x ANSIBLE_SKIP_CONFLICT_CHECK=1
distutils-r1_python_install
}

@ -0,0 +1,28 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1 pypi
DESCRIPTION="Model-driven deployment, config management, and command execution framework"
HOMEPAGE="https://www.ansible.com/"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~x64-macos"
RESTRICT="test"
RDEPEND=">=app-admin/ansible-core-2.15.0
<app-admin/ansible-core-2.16"
python_compile() {
local -x ANSIBLE_SKIP_CONFLICT_CHECK=1
distutils-r1_python_compile
}
python_install() {
local -x ANSIBLE_SKIP_CONFLICT_CHECK=1
distutils-r1_python_install
}

@ -10,3 +10,8 @@ DIST aws-cli-1.29.0.gh.tar.gz 2449423 BLAKE2B 52948b35f391266c38a197d4fa20926c42
DIST aws-cli-1.29.1.gh.tar.gz 2449948 BLAKE2B 5765a91501be6d789610be4d46373c909f4335159fd0063acc95e5082825684f0e1a83db3ef228ee67342844e81c2ccd2de2651763304a14c0166775839d8f08 SHA512 00a500497ffc0ff22a0f83878aef3a00b6873ad949db2fe9d6a339a7aa8e8465f5aaf996a422a9810731930b0548e1fe771d964001d10657b69398fd0fe9aef1
DIST aws-cli-1.29.2.gh.tar.gz 2449985 BLAKE2B a5a5ce673930971c9c03f9869e3b3d49a13cfb74cb1499e1ae3a6fccad65d8f996138bbde81f633d29ffeaec51902059255e6315ac5407c4c6c19845e71454c5 SHA512 b68e81778a62abd38c70d7b9d1039e47f3ae979e62a55919d989e7ccdb6ea370a58caa3584df34a2d96d601436bd3cf5261f491031b211305b1e9d5aee1a4923
DIST aws-cli-1.29.3.gh.tar.gz 2450427 BLAKE2B 6e240905c8fbb2916334c2de0e9fd851636acfbc050916baf971e2f5e5a1d93d398c77c6a1fe0766f701ad53683e5f41b1bb5519e5ac7b5e8f0a64d37e113c34 SHA512 3446e057abcc956e26b55de85383d0d40c041bcfda0f7e566309d80bbd22d567a474d93ab74461e91bdd7eaff1db9c77813912653c7864bcc851d12d2cea8ee2
DIST aws-cli-1.29.4.gh.tar.gz 2451404 BLAKE2B cafdfd6431b1b6720a89e2f8f5c1fe2a356c482ba57fd8c201dc9c4ca407700b529a3d4d101c3a1b7e33bb220f22d04da1bc9ebd14be00fe7faec8a834dad60b SHA512 0fe222ffe6298e7e9216089f553e4ef6e50111fcc11b9906871220624a5ea2828c47f4ca4a8251068a749ffd042a140529d9af487db169f46740b93501f00b9d
DIST aws-cli-1.29.5.gh.tar.gz 2451819 BLAKE2B ab468b3d2114a156163063c760e0274f7a606d45e51e7b498304ecb7a53dbd098a7d6930c80604625353512100a2c7c321842f8dd10072f451e68ab55ee4d8e2 SHA512 a5d6dacc5831198a0e32e80d86c69c6d25ed83c6d7102aae964c4ddb9f12963b227bfe7652d6a4f54875fc622203536b5c200fe143de79ff6c9c78dd6ecbc11e
DIST aws-cli-1.29.6.gh.tar.gz 2453838 BLAKE2B ec509401c8a86f91b2af378d70c8a8fef7e30152a4ddfa3f5595a27f07a40dd14696ff96fa3e8d5d0533a51581cd10d2e108838378e388a7e0ce869938574bab SHA512 48ceb209b67516c3c5711ad864658cc16dba73bb9f665347b67796c3c148aefb0c899c25f9f13089dc93c8506a76f16b6f23afeaba1105b2a6d9e8139c2164a1
DIST aws-cli-1.29.8.gh.tar.gz 2454692 BLAKE2B d49d4ca27c3fd195d9a695a550f3a2693f8d79f338b6bddafa13c394e51afb4e1253c96f966a26b20a655a7808a297bd1e5b8c15188d99d084db3788153bc260 SHA512 08bffd31c88eef7dd4afe96c8c3798c9a3f1cd758974bf22682cedb5f31d00a20b2b8a6ed8a971c086a1fa7fca7884b625c3e1b9621e3fcdc32d2ee267f8cce7
DIST aws-cli-1.29.9.gh.tar.gz 2454843 BLAKE2B a4e49923aec2d09d8244e58fe737f1a0528956397050b693892b2d4521d4e41956fc2a11f6e8bc0c88d6ea16ae4f7f85276037a7864c989334109ef090623f99 SHA512 2238c70ccaa8e73cedca9a56e4cda48a62b0b26999c481585769872b42517f2a25d80b94cf9e18961c5fb81c9d8fe44bda9dbf6024e31bbc7409d6ce53f1a915

@ -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,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,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,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,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
}

@ -1,2 +1 @@
DIST eselect-1.4.22.tar.xz 183480 BLAKE2B 8f86bdddaf98bc075694bdf7283cbd366e0ef93635472b3bbac11fdd9765984cd82e493b16836bae66e4b2c42a9cb33ad0d2aacaaf8529b59e4898e11f172d26 SHA512 73a10278d604f462aefa099df398eec2b08aee33da69419351ff2faf1cf4c0f3de0f301d92015e52da63046fe7e2c1c388e11ac84b7deb3def505a59fa291dac
DIST eselect-1.4.25.tar.xz 184300 BLAKE2B 630fe27338bee0c921a2f90e42d0a8abbb60a141a82bc2c4e7cf43d37582c24b06986ae1cbd341f8d3e69d011edc6c29675bf91ceaf1dcbc2593086f451b8f5f SHA512 98f2752d61e2c31ff6d735d5df0e7d98c3cc51d51c26b71d796948b141ccbc017002185022e6e1e48660ae0012bfc9cd383dd5ac50f644b35bb0893b9271121b

@ -1,60 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit bash-completion-r1
DESCRIPTION="Gentoo's multi-purpose configuration and management tool"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Eselect"
SRC_URI="https://dev.gentoo.org/~ulm/eselect/${P}.tar.xz"
LICENSE="GPL-2+ || ( GPL-2+ CC-BY-SA-4.0 )"
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="doc emacs vim-syntax"
DEPEND="sys-apps/sed
|| (
sys-apps/coreutils
app-misc/realpath
)"
RDEPEND="${DEPEND}
sys-apps/file
sys-libs/ncurses:0"
BDEPEND="doc? ( dev-python/docutils )"
PDEPEND="emacs? ( app-emacs/eselect-mode )
vim-syntax? ( app-vim/eselect-syntax )"
PATCHES=( "${FILESDIR}/${P}-env-module.patch" )
src_compile() {
emake
use doc && emake html
}
src_install() {
emake DESTDIR="${D}" install
newbashcomp misc/${PN}.bashcomp ${PN}
dodoc AUTHORS ChangeLog NEWS README TODO doc/*.txt
if use doc; then
docinto html
dodoc *.html doc/*.html doc/*.css
fi
# needed by news module
keepdir /var/lib/gentoo/news
if ! use prefix; then
fowners root:portage /var/lib/gentoo/news
fperms g+w /var/lib/gentoo/news
fi
}
pkg_postinst() {
# fowners in src_install doesn't work for the portage group:
# merging changes the group back to root
if ! use prefix; then
chgrp portage "${EROOT}/var/lib/gentoo/news" \
&& chmod g+w "${EROOT}/var/lib/gentoo/news"
fi
}

@ -16,7 +16,7 @@ SRC_URI="https://dev.gentoo.org/~ulm/eselect/${P}.tar.xz"
LICENSE="GPL-2+ || ( GPL-2+ CC-BY-SA-4.0 )"
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"
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="doc emacs vim-syntax"
DEPEND="sys-apps/sed

@ -1,19 +0,0 @@
env.eselect: More robust file type detection
https://bugs.gentoo.org/908401
--- a/modules/env.eselect
+++ b/modules/env.eselect
@@ -46,9 +46,10 @@ is_envfile() {
[[ -n ${envfile##*~} ]] || return 1
[[ ${envfile##*.} != bak ]] || return 1
- mime=$(POSIXLY_CORRECT=1 file -i "${envfile}" \
- | cut -d ' ' -f 2 | sed -e 's/;$//')
- if ! has ${mime} ${MIME_WHITELIST}; then
+ mime=$(POSIXLY_CORRECT=1 file -bi -e soft "${envfile}") \
+ || die "'file' command failed"
+ mime=${mime%%;*}
+ if ! has "${mime}" ${MIME_WHITELIST}; then
echo "Skipping non-text file ${envfile}."
return 1
fi

@ -13,7 +13,7 @@ SRC_URI="https://github.com/andikleen/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 x86"
IUSE="selinux"
RDEPEND="selinux? ( sec-policy/selinux-mcelog )"

@ -1,2 +1,2 @@
DIST metalog-20220214.tar.gz 40898 BLAKE2B 7ef04b9e0cd1ba878a11d988ec4b4bffa3d733f86c6b8cec57d32dcf837fe48a001a233a2b09378443b26f6e69869b8de7afeb25f11bb7729b66e1aa3a305f67 SHA512 44a1443e8f9e92460f128aa35125d50ae247ba4f2ce8fd8cc32b96a491e29963cdc27be12a6db28f286e2d5a2bc6243e126a77ae3eb642e7c969d58446a18fcd
DIST metalog-20230707.tar.gz 41729 BLAKE2B e027b918c3b6d795459d9b219a5d84a7813a27b48b6be9e059c19dd2ea546d24e48724360968a2078be8b81b32b296d5444389616afdc16ce9234fd105ee37c9 SHA512 ab341f5f2ac757e4579a1f4fad2a92fd446fe7e930e95e55231830d88bf177f79102f99554b56da0529aaa6fc37c02863824705bde2f47546d44284ab13538b9
DIST metalog-20230719.tar.gz 42579 BLAKE2B 6088c86fad90185fcb22a96ff88686647eac1fb4216884f43c07dff23274efc748c908f6f98162f743d2528437748f79809dfe6911d8d47e6cf7e58c8f3ca3b4 SHA512 a717dca5e00e9e66b97a84c3dbb0cdda522cbe628fad4cfbcb5256ee69659c63149bbb1e8797028bbab55d97787661c1d7316c7c2cbfe3b65932f84d64af15f6

@ -0,0 +1,13 @@
diff --git a/metalog.conf b/metalog.conf
index 8f53b87..54332c6 100644
--- a/metalog.conf
+++ b/metalog.conf
@@ -44,6 +44,8 @@ maxfiles = 5
# merely write $@ to some device (your console for messages):
# echo "$@" > /dev/tty10
#
+# Hint: you can control the consolelog.sh behavior in /etc/conf.d/metalog
+#
#console logging:
# facility = "*"
# command = "/sbin/consolelog.sh"

@ -1,7 +1,7 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EAPI=8
inherit autotools systemd
@ -18,14 +18,16 @@ IUSE="unicode"
RDEPEND="
dev-libs/libpcre2
"
DEPEND="${RDEPEND}"
DEPEND="
${RDEPEND}
"
BDEPEND="
sys-devel/autoconf-archive
virtual/pkgconfig
"
PATCHES=(
"${FILESDIR}"/${PN}-0.9-metalog-conf.patch
"${FILESDIR}"/metalog-20230719-metalog-conf.patch
)
src_prepare() {

@ -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
@ -9,7 +9,7 @@ SRC_URI="mirror://sourceforge/pwgen/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="livecd"
PATCHES=(

@ -17,7 +17,7 @@ if [[ ${PV} == "9999" ]]; then
inherit git-r3
else
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~riscv ~sparc ~x86"
KEYWORDS="~amd64 arm ~arm64 ~hppa ~ia64 ~ppc64 ~riscv ~sparc ~x86"
SRC_URI="
https://www.rsyslog.com/files/download/${PN}/${P}.tar.gz

@ -1,6 +1,4 @@
DIST sudo-1.9.13p3.tar.gz 5100355 BLAKE2B 46218ecf4cf06d2280ccf4c257b12a6f697eda17b96a6b7aa56f6c7f22d847ec2a8036b9f615c3328d985656539c95f37a40c6c72dfa5f65786ab45a28cf353f SHA512 c0c5cd0c6308868afdad2ecf55b86fdcf1f49889b30831c9db3bc56a63dc3a07686c285c20b2500494b2a76653e2ec69196abdc583312609a5db1c81a6e4e737
DIST sudo-1.9.13p3.tar.gz.sig 566 BLAKE2B 5b59c7178bf157b67500d972fe1b373bc86ab09345f59733cffa85700221ceec0d5be10bce4838f16e9238154c90a972570a7a933f48dbd56bc64b38dbc0043f SHA512 eebf36e86ebd03daca05838bc56d9b1fb7ea8584a83a9f0e03c5ff07e612d36472b23797c628eff1cf4301832d139de0de62ddc8b17e20f1498f769a4db1249a
DIST sudo-1.9.14.tar.gz 5229170 BLAKE2B 5731eda1cabb23dd3b77851ce1fcde8e1b7efc1b4fa27fe65522c7b8e23c0330003eb2d4ebb47d63416fb3a52db478b2f60ca22da6a2d66cb27c52ea5264749e SHA512 33d3bc3d66b1c5412b7d579b703d44f246386d2915c1c63be851869569c7bc627211a8897d0bc718d6ebb2bdd938b093c0901f0b7912c8475f8e6fcbbc559a99
DIST sudo-1.9.14.tar.gz.sig 566 BLAKE2B a7081ee89bf5f12b1b605133ee2f37156779377aec010a12a67933fd21d7e3c0fce9987803bfeea28a7f3ed10784cba6b22b0fee2ff89bac8d1aeec5604bfd6d SHA512 e81d5321386ddddfc58fa884f627cf60478360ab723e1ba97a7138f4b234df2b03fc5a1db5b1b9ed117b2c8ffc2ae529569e0e7364178b1c4d3eaec9c90f86b7
DIST sudo-1.9.14p1.tar.gz 5230440 BLAKE2B fc5f0d7093f572b8ce56161f3e40b75ba9edf0863f44cdc2af6313f68d20a0c9c59536d1d6be5fddcffcc9caecd737109b5a389ee3748c65f3435b65b167d6e2 SHA512 db13b68a58aaf0eb6fd4ec2f23bae95376f1c789d2a2ba2fc01bfbd2fa34aa3e45cac1f33685fc43c0bd15f5eefad43fc0c6f59662640bc981bbd41669f3bdd5
DIST sudo-1.9.14p1.tar.gz.sig 566 BLAKE2B 3f646d036e2e11713a309bbc1579a39b8152ba8a8374da5c74786ee4b3cd4832053489f223dcacf2723ad9aa121357110501689f34108403c671a6b56aac0a4b SHA512 2d28bbf64520487b1b54a4a7c6962e8902032d2bed1d1706e24d60265149c93860e82798ce188cb62b16c22cd1823995c8e190a701c290c672e881bf92c112c6
DIST sudo-1.9.14p2.tar.gz 5229966 BLAKE2B a350136731c1c6eca1317a852ce243b270df61ba275608bd0d0ec11760babdb2f9f489b818529484c15a43345fa53c96efd1aa47ab7cc0591c45928ba75c4c85 SHA512 d8ab03f6488cc5790c66941a2a8491df55a19bda6f0f8b683d4b3c22390b0ab19ebb0b02696d7c78b626975a408c34f005dc2d6b2100cf2a0efdf4cf1f504db9
DIST sudo-1.9.14p2.tar.gz.sig 566 BLAKE2B f72469340cfbb5005540a7080410dcf72694966c6293274cc28a1167824ddafed8ab441478985564f674f8f0c48a7b738a36ea572e36ec7fafee91486d08b646 SHA512 5a3cd7fe28762ee435f52a03fda504ab820805e5cdc7462343291a579daad7d779f5dc3897d7dceb9bfce6468a08ee60fe1c517a7d18ba917291339031609383

@ -1,286 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit pam libtool tmpfiles toolchain-funcs
MY_P="${P/_/}"
MY_P="${MY_P/beta/b}"
DESCRIPTION="Allows users or groups to run commands as other users"
HOMEPAGE="https://www.sudo.ws/"
if [[ ${PV} == 9999 ]] ; then
inherit mercurial
EHG_REPO_URI="https://www.sudo.ws/repos/sudo"
else
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/sudo.ws.asc
inherit verify-sig
uri_prefix=
case ${P} in
*_beta*|*_rc*) uri_prefix=beta/ ;;
esac
SRC_URI="
https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz
ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz
verify-sig? (
https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz.sig
ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz.sig
)
"
if [[ ${PV} != *_beta* && ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-sudo )"
fi
S="${WORKDIR}/${MY_P}"
# Basic license is ISC-style as-is, some files are released under
# 3-clause BSD license
LICENSE="ISC BSD"
SLOT="0"
IUSE="gcrypt ldap nls offensive pam sasl +secure-path selinux +sendmail skey ssl sssd"
DEPEND="
sys-libs/zlib:=
virtual/libcrypt:=
gcrypt? ( dev-libs/libgcrypt:= )
ldap? (
>=net-nds/openldap-2.1.30-r1:=
sasl? (
dev-libs/cyrus-sasl
net-nds/openldap:=[sasl]
)
)
pam? ( sys-libs/pam )
sasl? ( dev-libs/cyrus-sasl )
selinux? ( sys-libs/libselinux )
skey? ( >=sys-auth/skey-1.1.5-r1 )
ssl? ( dev-libs/openssl:= )
sssd? ( sys-auth/sssd[sudo] )
"
RDEPEND="
${DEPEND}
>=app-misc/editor-wrapper-3
virtual/editor
ldap? ( dev-lang/perl )
pam? ( sys-auth/pambase )
selinux? ( sec-policy/selinux-sudo )
sendmail? ( virtual/mta )
"
BDEPEND+="
sys-devel/bison
virtual/pkgconfig
"
REQUIRED_USE="
?? ( pam skey )
?? ( gcrypt ssl )
"
MAKEOPTS+=" SAMPLES="
src_prepare() {
default
elibtoolize
}
set_secure_path() {
# First extract the default ROOTPATH from build env
SECURE_PATH=$(unset ROOTPATH; . "${EPREFIX}"/etc/profile.env; echo "${ROOTPATH}")
case "${SECURE_PATH}" in
*/usr/sbin*)
;;
*)
SECURE_PATH=$(unset PATH; . "${EPREFIX}"/etc/profile.env; echo "${PATH}")
;;
esac
if [[ -z ${SECURE_PATH} ]] ; then
ewarn " Failed to detect SECURE_PATH, please report this"
fi
# Then remove duplicate path entries
cleanpath() {
local newpath thisp IFS=:
for thisp in $1 ; do
if [[ :${newpath}: != *:${thisp}:* ]] ; then
newpath+=:${thisp}
else
einfo " Duplicate entry ${thisp} removed..."
fi
done
SECURE_PATH=${newpath#:}
}
cleanpath /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin${SECURE_PATH:+:${SECURE_PATH}}
# Finally, strip gcc paths, bug #136027
rmpath() {
local e newpath thisp IFS=:
for thisp in ${SECURE_PATH} ; do
for e ; do
[[ ${thisp} == ${e} ]] && continue 2 ;
done
newpath+=:${thisp}
done
SECURE_PATH=${newpath#:}
}
rmpath '*/gcc-bin/*' '*/gnat-gcc-bin/*' '*/gnat-gcc/*'
}
src_configure() {
local SECURE_PATH
set_secure_path
# bug #767712
tc-export PKG_CONFIG
# - audit: somebody got to explain me how I can test this before I
# enable it.. - Diego
# - plugindir: autoconf code is crappy and does not delay evaluation
# until `make` time, so we have to use a full path here rather than
# basing off other values.
local myeconfargs=(
# We set all of the relevant options by ourselves (patched
# into the toolchain) and setting these in the build system
# actually causes a downgrade when using e.g. -D_FORTIFY_SOURCE=3
# (it'll downgrade to =2). So, this has no functional effect on
# the hardening for users. It's safe.
--disable-hardening
# requires some python eclass
--disable-python
--enable-tmpfiles.d="${EPREFIX}"/usr/lib/tmpfiles.d
--enable-zlib=system
--with-editor="${EPREFIX}"/usr/libexec/editor
--with-env-editor
--with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sudo
--with-rundir="${EPREFIX}"/run/sudo
--with-vardir="${EPREFIX}"/var/db/sudo
--without-linux-audit
--without-opie
$(use_enable gcrypt)
$(use_enable nls)
$(use_enable sasl)
$(use_enable ssl openssl)
$(use_with ldap)
$(use_with ldap ldap_conf_file /etc/ldap.conf.sudo)
$(use_with offensive insults)
$(use_with offensive all-insults)
$(use_with pam)
$(use_with pam pam-login)
$(use_with secure-path secure-path "${SECURE_PATH}")
$(use_with selinux)
$(use_with sendmail)
$(use_with skey)
$(use_with sssd)
)
econf "${myeconfargs[@]}"
}
src_install() {
default
if use ldap ; then
dodoc README.LDAP.md
cat <<-EOF > "${T}"/ldap.conf.sudo
# See ldap.conf(5) and README.LDAP.md for details
# This file should only be readable by root
# supported directives: host, port, ssl, ldap_version
# uri, binddn, bindpw, sudoers_base, sudoers_debug
# tls_{checkpeer,cacertfile,cacertdir,randfile,ciphers,cert,key}
EOF
if use sasl ; then
cat <<-EOF >> "${T}"/ldap.conf.sudo
# SASL directives: use_sasl, sasl_mech, sasl_auth_id
# sasl_secprops, rootuse_sasl, rootsasl_auth_id, krb5_ccname
EOF
fi
insinto /etc
doins "${T}"/ldap.conf.sudo
fperms 0440 /etc/ldap.conf.sudo
insinto /etc/openldap/schema
newins docs/schema.OpenLDAP sudo.schema
fi
if use pam ; then
pamd_mimic system-auth sudo auth account session
pamd_mimic system-auth sudo-i auth account session
fi
keepdir /var/db/sudo/lectured
fperms 0700 /var/db/sudo/lectured
# bug #652958
fperms 0711 /var/db/sudo
# Don't install into /run as that is a tmpfs most of the time
# (bug #504854)
rm -rf "${ED}"/run || die
# bug #697812
find "${ED}" -type f -name "*.la" -delete || die
}
pkg_postinst() {
tmpfiles_process sudo.conf
# bug #652958
local sudo_db="${EROOT}/var/db/sudo"
if [[ "$(stat -c %a "${sudo_db}")" -ne 711 ]] ; then
chmod 711 "${sudo_db}" || die
fi
if use ldap ; then
ewarn
ewarn "sudo uses the ${ROOT}/etc/ldap.conf.sudo file for ldap configuration."
ewarn
if grep -qs '^[[:space:]]*sudoers:' "${ROOT}"/etc/nsswitch.conf ; then
ewarn "In 1.7 series, LDAP is no more consulted, unless explicitly"
ewarn "configured in ${ROOT}/etc/nsswitch.conf."
ewarn
ewarn "To make use of LDAP, add this line to your ${ROOT}/etc/nsswitch.conf:"
ewarn " sudoers: ldap files"
ewarn
fi
fi
if use prefix ; then
ewarn
ewarn "To use sudo on Prefix, you need to change file ownership and permissions"
ewarn "with root privileges, as follows:"
ewarn
ewarn " # chown root:root ${EPREFIX}/usr/bin/sudo"
ewarn " # chown root:root ${EPREFIX}/usr/lib/sudo/sudoers.so"
ewarn " # chown root:root ${EPREFIX}/etc/sudoers"
ewarn " # chown root:root ${EPREFIX}/etc/sudoers.d"
ewarn " # chown root:root ${EPREFIX}/var/db/sudo"
ewarn " # chmod 4111 ${EPREFIX}/usr/bin/sudo"
ewarn
fi
elog "To use the -A (askpass) option, you need to install a compatible"
elog "password program from the following list. Starred packages will"
elog "automatically register for the use with sudo (but will not force"
elog "the -A option):"
elog ""
elog " [*] net-misc/ssh-askpass-fullscreen"
elog " net-misc/x11-ssh-askpass"
elog ""
elog "You can override the choice by setting the SUDO_ASKPASS environmnent"
elog "variable to the program you want to use."
}

Binary file not shown.

@ -1,2 +1,4 @@
DIST libarchive-3.6.2.tar.xz 5213196 BLAKE2B 355b5d402e352dee802513485ce7e047af58d6de5b9bf6a49f3fd8d7b94117007598820ac979585c0da79747e8b63b70ab151131182368a11f97a047cf9029d4 SHA512 a12bb6839e13a0be1099f42c650fc90fbfe62d32ce38bcbb4794206d29b2c782ae1115124d0e5f6b9716514213af32b05e4a42eb196447674a5f9a2a32bee043
DIST libarchive-3.6.2.tar.xz.asc 659 BLAKE2B a4b0035ab2bda4129cdf0c99266cd1e5f4772d90de6e348c75958bc803f369d6abea85d9730c6c9a216466b35697faad8d265fb2c285545887eafde27d828887 SHA512 403e5f7dec14d8b1cc01fad5a249e7b7618a7b45bcb3361ea80d67d76b591b12ce97f2c88b23d5486505dd3b34c1f1643e02235a3e5fc5150ee5735946092efe
DIST libarchive-3.7.0.tar.xz 5243356 BLAKE2B 8fb72a0504038c71584c0416c1d747b7f5c82266518704353e7fdf794bd9f9e2dc22b8fa2538fa8d12a3b9776581077040371d25647fe72c02a4ec5f3bb8d950 SHA512 f69ff7fbec7e909b6a03dd5b01c47316f95a277907409c8fba3930bb90d02cd9a329921eada59ca1afc9a19e34de7eb34e9d535bbc8cd98fb586f723bd0fdba8
DIST libarchive-3.7.0.tar.xz.asc 659 BLAKE2B 5bbd535ce100fbfb7ed46f8d7a6957ebb590c07124de4192ae0b777ad3b3950e6406f1ccda97dde5b6e792be00a039621de21665df9989073ebd0a905299eda1 SHA512 eda3a4347fb8d7f78c8e0a73f621a4a731d46cafc2f46ac59cebe39f3ebd29b1c3db21772c2027b30c5c507f5f732c3876e94f319e62156d2a3146e412cad84d

@ -0,0 +1,19 @@
From: https://github.com/libarchive/libarchive/commit/bd074c2531e867078788fe8539376c31119e4e55.patch
From: Wong Hoi Sing Edison <hswong3i@gmail.com>
Date: Wed, 19 Jul 2023 16:59:32 +0800
Subject: [PATCH] Replace `svfs.f_namelen` with `svfs.f_namemax` (#1924)
The equivalent for `f_namelen` in struct statvfs is `f_namemax`.
Signed-off-by: Wong Hoi Sing Edison <hswong3i@pantarei-design.com>
--- a/libarchive/archive_read_disk_posix.c
+++ b/libarchive/archive_read_disk_posix.c
@@ -1866,7 +1866,7 @@ setup_current_filesystem(struct archive_read_disk *a)
#if defined(USE_READDIR_R)
/* Set maximum filename length. */
#if defined(HAVE_STATVFS)
- t->current_filesystem->name_max = svfs.f_namelen;
+ t->current_filesystem->name_max = svfs.f_namemax;
#else
t->current_filesystem->name_max = sfs.f_namelen;
#endif

@ -0,0 +1,149 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit multilib-minimal toolchain-funcs verify-sig
DESCRIPTION="Multi-format archive and compression library"
HOMEPAGE="
https://www.libarchive.org/
https://github.com/libarchive/libarchive/
"
SRC_URI="
https://www.libarchive.de/downloads/${P}.tar.xz
verify-sig? ( https://www.libarchive.de/downloads/${P}.tar.xz.asc )
"
LICENSE="BSD BSD-2 BSD-4 public-domain"
SLOT="0/13"
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="acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle static-libs xattr zstd"
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libarchive.org.asc
RDEPEND="
sys-libs/zlib[${MULTILIB_USEDEP}]
acl? ( virtual/acl[${MULTILIB_USEDEP}] )
blake2? ( app-crypt/libb2[${MULTILIB_USEDEP}] )
bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
!expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
kernel_linux? (
xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
)
dev-libs/openssl:0=[${MULTILIB_USEDEP}]
lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
lzma? ( >=app-arch/xz-utils-5.2.5-r1[${MULTILIB_USEDEP}] )
lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
zstd? ( app-arch/zstd[${MULTILIB_USEDEP}] )
"
DEPEND="${RDEPEND}
kernel_linux? (
virtual/os-headers
e2fsprogs? ( sys-fs/e2fsprogs[${MULTILIB_USEDEP}] )
)
"
BDEPEND="
verify-sig? ( >=sec-keys/openpgp-keys-libarchive-20221209 )
elibc_musl? ( sys-libs/queue-standalone )
"
# Bug #910552 Only required for version 3.7.0
PATCHES=(
"${FILESDIR}/${P}-f_namemax-fix.patch"
)
# false positives (checks for libc-defined hash functions)
QA_CONFIG_IMPL_DECL_SKIP=(
SHA256_Init SHA256_Update SHA256_Final
SHA384_Init SHA384_Update SHA384_Final
SHA512_Init SHA512_Update SHA512_Final
)
multilib_src_configure() {
export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
local myconf=(
$(use_enable acl)
$(use_enable static-libs static)
$(use_enable xattr)
$(use_with blake2 libb2)
$(use_with bzip2 bz2lib)
$(use_with expat)
$(use_with !expat xml2)
$(use_with iconv)
$(use_with lz4)
$(use_with lzma)
$(use_with lzo lzo2)
$(use_with nettle)
--with-zlib
$(use_with zstd)
# Windows-specific
--without-cng
)
if multilib_is_native_abi ; then
myconf+=(
--enable-bsdcat="$(tc-is-static-only && echo static || echo shared)"
--enable-bsdcpio="$(tc-is-static-only && echo static || echo shared)"
--enable-bsdtar="$(tc-is-static-only && echo static || echo shared)"
--enable-bsdunzip="$(tc-is-static-only && echo static || echo shared)"
)
else
myconf+=(
--disable-bsdcat
--disable-bsdcpio
--disable-bsdtar
--disable-bsdunzip
)
fi
ECONF_SOURCE="${S}" econf "${myconf[@]}"
# TODO: figure out why we don't get one
mkdir -p unzip/test || die
}
multilib_src_compile() {
if multilib_is_native_abi ; then
emake
else
emake libarchive.la
fi
}
src_test() {
mkdir -p "${T}"/bin || die
# tests fail when lbzip2[symlink] is used in place of ref bunzip2
ln -s "${BROOT}/bin/bunzip2" "${T}"/bin || die
local -x PATH=${T}/bin:${PATH}
multilib-minimal_src_test
}
multilib_src_test() {
# sandbox is breaking long symlink behavior
local -x SANDBOX_ON=0
local -x LD_PRELOAD=
# some locales trigger different output that breaks tests
local -x LC_ALL=C
emake check
}
multilib_src_install() {
if multilib_is_native_abi ; then
emake DESTDIR="${D}" install
else
local install_targets=(
install-includeHEADERS
install-libLTLIBRARIES
install-pkgconfigDATA
)
emake DESTDIR="${D}" "${install_targets[@]}"
fi
# Libs.private: should be used from libarchive.pc instead
find "${ED}" -type f -name "*.la" -delete || die
# https://github.com/libarchive/libarchive/issues/1766
sed -e '/Requires\.private/s:iconv::' \
-i "${ED}/usr/$(get_libdir)/pkgconfig/libarchive.pc" || die
}

@ -1,2 +1,4 @@
DIST tar-1.34.tar.xz 2226068 BLAKE2B 741a662457509a6775338ffe5d2d84872fcf38b93ace70c8b748a81055b9b62f65a48c4e541955d08ae99e6f528509e89eacd7c799a65bcc3d017a259110c115 SHA512 5e77c4a7b49983ad7d15238c2bce28be7a8aa437b4b1815fc00abd13096da308b6bba196cc6e3ed79d85e62823d520ae0d8fcda2d93873842cf84dc3369fc902
DIST tar-1.34.tar.xz.sig 181 BLAKE2B 2fae91293a9dacda0374706e1f83498042a9d5224f80f6f0e14abdb914cb5a8e980f720eb4a453485844c7fe26e0525f230c0eab11c7fa89159a1a929370795c SHA512 55297f41549deee511f5b14c6b5dc7bb3d9282dad52bcc85f9dddfad24b677f989ba86387ad9b133c3698feedbd6b6cd7e9f005e8e4c89f72c80543eeceb78f7
DIST tar-1.35.tar.xz 2317208 BLAKE2B e1a200d21f433cd7d917dd979db16919a9167056ae62cf7d038a6118e56b2fe419cd4a396eee66f1f4dc13a8dc380e23f6ffd7ee0ca84e5dd9ad9411f60e002c SHA512 8b84ed661e6c878fa33eb5c1808d20351e6f40551ac63f96014fb0d0b9c72d5d94d8865d39e36bcb184fd250f84778a3b271bbd8bd2ceb69eece0c3568577510
DIST tar-1.35.tar.xz.sig 95 BLAKE2B 8501b55b700bc99b81f04519db1cd8f7bc3d87dd5bfefa25a3d979b23359f02dfb770f3dd66dca275baa70a99612cb85c1019faaf3a1f0bcf50c9815b8e32eca SHA512 00e5c95bf8015f75f59556a82ed7f50bddefe89754c7ff3c19411aee2f37626a5d65c33e18b87f7f8f96388d3f175fd095917419a3ad1c0fc9d6188088bac944

@ -0,0 +1,113 @@
# 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/tar.asc
inherit verify-sig
DESCRIPTION="Use this to make tarballs :)"
HOMEPAGE="https://www.gnu.org/software/tar/"
SRC_URI="
mirror://gnu/tar/${P}.tar.xz
https://alpha.gnu.org/gnu/tar/${P}.tar.xz
verify-sig? (
mirror://gnu/tar/${P}.tar.xz.sig
https://alpha.gnu.org/gnu/tar/${P}.tar.xz.sig
)
"
LICENSE="GPL-3+"
SLOT="0"
if [[ -z "$(ver_cut 3)" || "$(ver_cut 3)" -lt 90 ]] ; then
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
IUSE="acl minimal nls selinux xattr"
RDEPEND="
acl? ( virtual/acl )
selinux? ( sys-libs/libselinux )
"
DEPEND="
${RDEPEND}
xattr? ( elibc_glibc? ( sys-apps/attr ) )
"
BDEPEND="
nls? ( sys-devel/gettext )
verify-sig? ( sec-keys/openpgp-keys-tar )
"
PDEPEND="
app-alternatives/tar
"
src_configure() {
# -fanalyzer doesn't make sense for us in ebuilds, as it's for static analysis
export gl_cv_warn_c__fanalyzer=no
local myeconfargs=(
--bindir="${EPREFIX}"/bin
# Avoid -Werror
--disable-gcc-warnings
--enable-backup-scripts
--libexecdir="${EPREFIX}"/usr/sbin
$(use_with acl posix-acls)
$(use_enable nls)
$(use_with selinux)
$(use_with xattr xattrs)
# autoconf looks for gtar before tar (in configure scripts), hence
# in Prefix it is important that it is there, otherwise, a gtar from
# the host system (FreeBSD, Solaris, Darwin) will be found instead
# of the Prefix provided (GNU) tar
--program-prefix=g
)
# Drop CONFIG_SHELL hack after 1.35: https://git.savannah.gnu.org/cgit/tar.git/commit/?id=7687bf4acc4dc4554538389383d7fb4c3e6521cd
CONFIG_SHELL="${BROOT}"/bin/bash FORCE_UNSAFE_CONFIGURE=1 econf "${myeconfargs[@]}"
}
src_test() {
# Drop after 1.35: https://git.savannah.gnu.org/cgit/tar.git/commit/?id=18f90676e4695ffcf13413e9fbb24cc0ae2ae9d5
local -x XZ_OPT= XZ_DEFAULTS=
default
}
src_install() {
default
# A nasty yet required piece of baggage
exeinto /etc
doexe "${FILESDIR}"/rmt
mv "${ED}"/usr/sbin/{gbackup,backup-tar} || die
mv "${ED}"/usr/sbin/{grestore,restore-tar} || die
mv "${ED}"/usr/sbin/{g,}backup.sh || die
mv "${ED}"/usr/sbin/{g,}dump-remind || die
if use minimal ; then
find "${ED}"/etc "${ED}"/*bin/ "${ED}"/usr/*bin/ \
-type f -a '!' -name gtar \
-delete || die
fi
if ! use minimal; then
dosym grmt /usr/sbin/rmt
fi
dosym grmt.8 /usr/share/man/man8/rmt.8
}
pkg_postinst() {
# Ensure to preserve the symlink before app-alternatives/tar
# is installed
if [[ ! -h ${EROOT}/bin/tar ]]; then
if [[ -e ${EROOT}/usr/bin/tar ]] ; then
# bug #904887
ewarn "${EROOT}/usr/bin/tar exists but is not a symlink."
ewarn "This is expected during Prefix bootstrap and unusual otherwise."
ewarn "Moving away unexpected ${EROOT}/usr/bin/tar to .bak."
mv "${EROOT}/usr/bin/tar" "${EROOT}/usr/bin/tar.bak" || die
fi
ln -s gtar "${EROOT}/bin/tar" || die
fi
}

Binary file not shown.

@ -1,2 +1,3 @@
DIST containerd-1.6.19.tar.gz 8706434 BLAKE2B cd6a85721f0752b6c7c5c098153d581375db6f877e261097a7d74a78dc0957e6beeea38c1aa7c53227ed84e727744811fa38863097cb137b8ba775e1f04fb9b2 SHA512 dca78d472dfbc6fc4d9b0b3a0d0a131d3575163c52e4fe18ea2c6147868b8822c54046c0709974e9b90472b882ba3890ada7f0fcbf31549efffba0d91531886c
DIST containerd-1.6.20.tar.gz 8749093 BLAKE2B b2168f68ba45f5e0c589946fdfcded8c57801340e10f4fe6374ab9caaa740888246df49322b880a06bd665ad98bbafc8c39d44059a00f446c7cc24bbdb357eb8 SHA512 dd9708c99d95773a78b0fcd77b388cb8a971d0d65502c8b86cbb3b29c48bac31366ae0603d7710a13c21c33adcd341cdec69dcb3c3a06a2d753c4c59f2549d75
DIST containerd-1.7.1.tar.gz 9682254 BLAKE2B f168070caf2b76f0be350a98f41bfdbfe6d78344d68821fb92a29f839a6e847d795e5b79436e36f985aa88028ff1c3f44f134cf6bd502ddac22453a457bd952b SHA512 e9b00ba8f4dd1b5b1088060d3822f684611d43b367ddfeb1bee1660140af85f31e9c9bfc600a67e8fc8645a625dc4e1919d9af7291bdeaa607bff7065a4fc945

@ -0,0 +1,86 @@
# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit go-module systemd
GIT_REVISION=2806fc1057397dbaeefbea0e4e17bddfbd388f38
DESCRIPTION="A daemon to control runC"
HOMEPAGE="https://containerd.io/"
SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv ~x86"
IUSE="apparmor btrfs device-mapper +cri hardened +seccomp selinux test"
DEPEND="
btrfs? ( sys-fs/btrfs-progs )
seccomp? ( sys-libs/libseccomp )
"
# recommended version of runc is found in script/setup/runc-version
RDEPEND="
${DEPEND}
~app-containers/runc-1.1.7[apparmor?,seccomp?]
"
BDEPEND="
dev-go/go-md2man
virtual/pkgconfig
"
# tests require root or docker
RESTRICT+="test"
src_prepare() {
default
sed -i \
-e "s/-s -w//" \
-e "s/-mod=readonly//" \
Makefile || die
sed -i \
-e "s:/usr/local:/usr:" \
containerd.service || die
}
src_compile() {
local options=(
$(usev apparmor)
$(usex btrfs "" "no_btrfs")
$(usex cri "" "no_cri")
$(usex device-mapper "" "no_devmapper")
$(usev seccomp)
$(usev selinux)
)
myemakeargs=(
BUILDTAGS="${options[*]}"
LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')"
REVISION="${GIT_REVISION}"
VERSION=v${PV}
)
# race condition in man target https://bugs.gentoo.org/765100
# we need to explicitly specify GOFLAGS for "go run" to use vendor source
emake "${myemakeargs[@]}" man -j1 #nowarn
emake "${myemakeargs[@]}" all
}
src_install() {
rm "${D}"/bin/gen-manpages
dobin bin/*
doman man/*
newconfd "${FILESDIR}"/${PN}.confd "${PN}"
newinitd "${FILESDIR}"/${PN}.initd "${PN}"
systemd_dounit containerd.service
keepdir /var/lib/containerd
# we already installed manpages, remove markdown source
# before installing docs directory
rm -r docs/man || die
local DOCS=( ADOPTERS.md README.md RELEASES.md ROADMAP.md SCOPE.md docs/. )
einstalldocs
}

@ -0,0 +1,85 @@
# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit go-module systemd
GIT_REVISION=2806fc1057397dbaeefbea0e4e17bddfbd388f38
DESCRIPTION="A daemon to control runC"
HOMEPAGE="https://containerd.io/"
SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
IUSE="apparmor btrfs device-mapper +cri hardened +seccomp selinux test"
DEPEND="
btrfs? ( sys-fs/btrfs-progs )
seccomp? ( sys-libs/libseccomp )
"
# recommended version of runc is found in script/setup/runc-version
RDEPEND="
${DEPEND}
~app-containers/runc-1.1.7[apparmor?,seccomp?]
"
BDEPEND="
dev-go/go-md2man
virtual/pkgconfig
"
# tests require root or docker
RESTRICT+="test"
src_prepare() {
default
sed -i \
-e "s/-s -w//" \
-e "s/-mod=readonly//" \
Makefile || die
sed -i \
-e "s:/usr/local:/usr:" \
containerd.service || die
}
src_compile() {
local options=(
$(usev apparmor)
$(usex btrfs "" "no_btrfs")
$(usex cri "" "no_cri")
$(usex device-mapper "" "no_devmapper")
$(usev seccomp)
$(usev selinux)
)
myemakeargs=(
BUILDTAGS="${options[*]}"
LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')"
REVISION="${GIT_REVISION}"
VERSION=v${PV}
)
# race condition in man target https://bugs.gentoo.org/765100
# we need to explicitly specify GOFLAGS for "go run" to use vendor source
emake "${myemakeargs[@]}" man -j1 #nowarn
emake "${myemakeargs[@]}" all
}
src_install() {
dobin bin/*
doman man/*
newconfd "${FILESDIR}"/${PN}.confd "${PN}"
newinitd "${FILESDIR}"/${PN}.initd "${PN}"
systemd_dounit containerd.service
keepdir /var/lib/containerd
# we already installed manpages, remove markdown source
# before installing docs directory
rm -r docs/man || die
local DOCS=( ADOPTERS.md README.md RELEASES.md ROADMAP.md SCOPE.md docs/. )
einstalldocs
}

@ -1,2 +1,2 @@
DIST docker-buildx-0.10.2.tar.gz 9187634 BLAKE2B 9a43a7bcb224f33d718928ef3070449cac4db87c951f4337368d0c994f211d4c3db3a5e9c309ce10e357ab24746bed2507e2867c9fdab3b51a5423787362fee1 SHA512 ba6b8baae1a8e24bf9ddc58d5e2451270fa6e3891bae83112ca00ae56b7a4842b45ec970898ec27a2123e312885bf0d8c58cc600d8462787242eb878f45cd877
DIST docker-buildx-0.10.4.tar.gz 9184825 BLAKE2B f0e71c0f6dda5f02da4cf0b0514f67f5d339ba10359afc69aae25abf907447fd22fe3d92427299bc67aeaa6a84e748a8a5cbd86151b2baba2dd01f25cc04a793 SHA512 f82b89b8dd4e45524c8d353c4d7588f47b1c7b7ecf759fd9605247c1c7aa0ca152c3ecdec0e0b62b5eef05e6b65d2ca1f5ccab6d75819b92fc92ff62b44105b7
DIST docker-buildx-0.11.2.tar.gz 10342565 BLAKE2B 1e034e9a07f36b46096f8f035869adc93b63af46cd9886f5ed4bc0939ce2f76b7f029a11ee536a34be23952e5c85251d757cec9ff05df172e3a26ea82a1bf0b1 SHA512 6f3718edf1e86c4422e1419580e4c38cf378a59555067be2aa6fac3e7f8878afe39d777765ace274cd9c47630f39cbacfacfdc4ecadd6ff46d5ee37d8f9bc75c

@ -1,58 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit go-module
MY_PN="buildx"
DESCRIPTION="Docker CLI plugin for extended build capabilities with BuildKit"
HOMEPAGE="https://github.com/docker/buildx"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/docker/buildx.git"
else
SRC_URI="https://github.com/docker/buildx/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm64"
S="${WORKDIR}/${MY_PN}-${PV}"
fi
LICENSE="Apache-2.0"
SLOT="0"
# This gives us the ability to neatly `-skip` tests.
# not required once ::gentoo is all > 1.20
RESTRICT="!test? ( test )"
IUSE="test"
BDEPEND="
test? ( >=dev-lang/go-1.20 )
"
DEPEND="app-containers/docker"
RDEPEND="${DEPEND}"
src_compile() {
local _buildx_r='github.com/docker/buildx'
ego build -mod=vendor -o docker-buildx \
-ldflags "-linkmode=external \
-X $_buildx_r/version.Version=${PV} \
-X $_buildx_r/version.Revision=$(date -u +%FT%T%z) \
-X $_buildx_r/version.Package=$_buildx_r" \
./cmd/buildx
}
src_test() {
# TestGit can't work in a source tarball; TestReadTargets fails seemingly due to parallelism.
if [[ ${PV} == 9999 ]]; then
ego test ./... -skip "TestReadTargets"
else
ego test ./... -skip "TestGit|TestReadTargets"
fi
}
src_install() {
exeinto /usr/libexec/docker/cli-plugins
doexe docker-buildx
dodoc README.md
}

@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/docker/buildx.git"
else
SRC_URI="https://github.com/docker/buildx/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
S="${WORKDIR}/${MY_PN}-${PV}"
fi
@ -28,8 +28,7 @@ IUSE="test"
BDEPEND="
test? ( >=dev-lang/go-1.20 )
"
DEPEND="app-containers/docker"
RDEPEND="${DEPEND}"
RDEPEND="app-containers/docker-cli"
src_compile() {
local _buildx_r='github.com/docker/buildx'
@ -37,10 +36,10 @@ src_compile() {
if [[ ${PV} == 9999 ]]; then
version="$(git rev-parse --short HEAD)"
fi
ego build -mod=vendor -o docker-buildx \
-ldflags "-linkmode=external \
-X $_buildx_r/version.Version=${version} \
-X $_buildx_r/version.Revision=$(date -u +%FT%T%z) \
ego build -o docker-buildx \
-ldflags "-linkmode=external
-X $_buildx_r/version.Version=${version}
-X $_buildx_r/version.Revision=$(date -u +%FT%T%z)
-X $_buildx_r/version.Package=$_buildx_r" \
./cmd/buildx
}
@ -48,9 +47,9 @@ src_compile() {
src_test() {
# TestGit can't work in a source tarball; TestReadTargets fails seemingly due to parallelism.
if [[ ${PV} == 9999 ]]; then
ego test ./... -skip "TestReadTargets"
ego test ./... -skip "TestReadTargets|TestIntegration"
else
ego test ./... -skip "TestGit|TestReadTargets"
ego test ./... -skip "TestGit|TestReadTargets|TestIntegration"
fi
}

@ -47,9 +47,9 @@ src_compile() {
src_test() {
# TestGit can't work in a source tarball; TestReadTargets fails seemingly due to parallelism.
if [[ ${PV} == 9999 ]]; then
ego test ./... -skip "TestReadTargets"
ego test ./... -skip "TestReadTargets|TestIntegration"
else
ego test ./... -skip "TestGit|TestReadTargets"
ego test ./... -skip "TestGit|TestReadTargets|TestIntegration"
fi
}

@ -9,6 +9,10 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<maintainer type="project">
<email>containers@gentoo.org</email>
<name>Containers</name>
</maintainer>
<upstream>
<remote-id type="github">docker/buildx</remote-id>
</upstream>

@ -1,2 +1,4 @@
DIST docker-cli-23.0.3-man.tar.xz 81976 BLAKE2B e7390b429d0db2445035da506bb796364f97e6560e766a28d1245e6a76c84314c38af1f3a946d2eb1785132d26805e0d3a76c374559e70989b64e8ce917f8423 SHA512 842d7187ad8a3933d815057ec535c13466c56bd051c7133e6e0a9c85f5140e4ef61b66771ee6788c8fb50d10652a86b663f29fe4ec3190773f70fd45f36fbcd4
DIST docker-cli-23.0.3.tar.gz 6215298 BLAKE2B 817ca474d61839c8b5929db9bfa964b936285622859ab30f45be2f382238a5e49987fdbcdc896eaa7109f114166cf0e1dbc4f001cefe293a6c286b50e2737258 SHA512 873783a0fe9ecab3b8f251c842ba69070e0dffbb4a758c16165441b2f483d55d15b98fd7da0707e483995ac2d1fbb9a0f13f570b78486382b26d6ca6c5e612a9
DIST docker-cli-24.0.4-man.tar.xz 82500 BLAKE2B 67b113ea0a0b8377a2ab8c887849e2d8e6a57cf914bf1c6a1cdcc44978e154ee5b18abdc1b509d3c7367760204bcb1b896f2335a6ff18470433b08f3ce82d346 SHA512 fe7320bb0bacbddba0b00c1351591eceb96386e0e5141b7c399d483f6e549b687b8b3db4b33c127ded118f723d6eb5cbb995733be13c362a0e680f96b221b351
DIST docker-cli-24.0.4.tar.gz 6242506 BLAKE2B 2cc66a43dce613f0940a0aa2ffac075562ff58a483e68511f47a05bb27dc997547522ebd546d314c932d79eb366699b319d9ed561d481ef072bcd40d6993a6d1 SHA512 6b59e01ad975961f64a7c04c719b83dcd95875c223fc11dc3cb4fc6792b6a478fd014559a775ab59b8156e4476a1424cb997c7ae97a692be317b9e7d24ed92fb

@ -0,0 +1,74 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
GIT_COMMIT=3713ee1eea
EGO_PN="github.com/docker/cli"
MY_PV=${PV/_/-}
inherit bash-completion-r1 golang-vcs-snapshot
DESCRIPTION="the command line binary for docker"
HOMEPAGE="https://www.docker.com/"
SRC_URI="https://github.com/docker/cli/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-man.tar.xz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv ~x86"
IUSE="hardened selinux"
RDEPEND="!<app-containers/docker-20.10.1
selinux? ( sec-policy/selinux-docker )"
BDEPEND="
>=dev-lang/go-1.16.6"
PATCHES=(
"${FILESDIR}/${P}-vendor.patch"
)
RESTRICT="installsources strip test"
S="${WORKDIR}/${P}/src/${EGO_PN}"
src_unpack() {
golang-vcs-snapshot_src_unpack
set -- ${A}
unpack ${2}
}
src_prepare() {
default
sed -i 's@dockerd\?\.exe@@g' contrib/completion/bash/docker || die
}
src_compile() {
export DISABLE_WARN_OUTSIDE_CONTAINER=1
export GOPATH="${WORKDIR}/${P}"
# setup CFLAGS and LDFLAGS for separate build target
# see https://github.com/tianon/docker-overlay/pull/10
export CGO_CFLAGS="-I${ESYSROOT}/usr/include"
export CGO_LDFLAGS="-L${ESYSROOT}/usr/$(get_libdir)"
emake \
LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \
VERSION="${PV}" \
GITCOMMIT="${GIT_COMMIT}" \
dynbinary
}
src_install() {
dobin build/docker
doman "${WORKDIR}"/man/man?/*
dobashcomp contrib/completion/bash/*
bashcomp_alias docker dockerd
insinto /usr/share/fish/vendor_completions.d/
doins contrib/completion/fish/docker.fish
insinto /usr/share/zsh/site-functions
doins contrib/completion/zsh/_*
}
pkg_postinst() {
has_version "app-containers/docker-buildx" && return
ewarn "the 'docker build' command is deprecated and will be removed in a"
ewarn "future release. If you need this functionality, install"
ewarn "app-containers/docker-buildx."
}

@ -0,0 +1,78 @@
diff --git a/vendor/github.com/docker/docker/client/client.go b/vendor/github.com/docker/docker/client/client.go
index 1c081a5..54fa36c 100644
--- a/vendor/github.com/docker/docker/client/client.go
+++ b/vendor/github.com/docker/docker/client/client.go
@@ -56,6 +56,36 @@ import (
"github.com/pkg/errors"
)
+// DummyHost is a hostname used for local communication.
+//
+// It acts as a valid formatted hostname for local connections (such as "unix://"
+// or "npipe://") which do not require a hostname. It should never be resolved,
+// but uses the special-purpose ".localhost" TLD (as defined in [RFC 2606, Section 2]
+// and [RFC 6761, Section 6.3]).
+//
+// [RFC 7230, Section 5.4] defines that an empty header must be used for such
+// cases:
+//
+// If the authority component is missing or undefined for the target URI,
+// then a client MUST send a Host header field with an empty field-value.
+//
+// However, [Go stdlib] enforces the semantics of HTTP(S) over TCP, does not
+// allow an empty header to be used, and requires req.URL.Scheme to be either
+// "http" or "https".
+//
+// For further details, refer to:
+//
+// - https://github.com/docker/engine-api/issues/189
+// - https://github.com/golang/go/issues/13624
+// - https://github.com/golang/go/issues/61076
+// - https://github.com/moby/moby/issues/45935
+//
+// [RFC 2606, Section 2]: https://www.rfc-editor.org/rfc/rfc2606.html#section-2
+// [RFC 6761, Section 6.3]: https://www.rfc-editor.org/rfc/rfc6761#section-6.3
+// [RFC 7230, Section 5.4]: https://datatracker.ietf.org/doc/html/rfc7230#section-5.4
+// [Go stdlib]: https://github.com/golang/go/blob/6244b1946bc2101b01955468f1be502dbadd6807/src/net/http/transport.go#L558-L569
+const DummyHost = "api.moby.localhost"
+
// ErrRedirect is the error returned by checkRedirect when the request is non-GET.
var ErrRedirect = errors.New("unexpected redirect in response")
diff --git a/vendor/github.com/docker/docker/client/hijack.go b/vendor/github.com/docker/docker/client/hijack.go
index 6bdacab..db9b02e 100644
--- a/vendor/github.com/docker/docker/client/hijack.go
+++ b/vendor/github.com/docker/docker/client/hijack.go
@@ -64,7 +64,10 @@ func fallbackDial(proto, addr string, tlsConfig *tls.Config) (net.Conn, error) {
}
func (cli *Client) setupHijackConn(ctx context.Context, req *http.Request, proto string) (net.Conn, string, error) {
- req.Host = cli.addr
+ if cli.proto == "unix" || cli.proto == "npipe" {
+ // For local communications, it doesn't matter what the host is.
+ req.URL.Host = DummyHost
+ }
req.Header.Set("Connection", "Upgrade")
req.Header.Set("Upgrade", proto)
diff --git a/vendor/github.com/docker/docker/client/request.go b/vendor/github.com/docker/docker/client/request.go
index c799095..8f43553 100644
--- a/vendor/github.com/docker/docker/client/request.go
+++ b/vendor/github.com/docker/docker/client/request.go
@@ -98,12 +98,12 @@ func (cli *Client) buildRequest(method, path string, body io.Reader, headers hea
req = cli.addHeaders(req, headers)
if cli.proto == "unix" || cli.proto == "npipe" {
- // For local communications, it doesn't matter what the host is. We just
- // need a valid and meaningful host name. (See #189)
- req.Host = "docker"
+ // For local communications, it doesn't matter what the host is.
+ req.URL.Host = DummyHost
+ } else {
+ req.URL.Host = cli.addr
}
- req.URL.Host = cli.addr
req.URL.Scheme = cli.scheme
if expectedPayload && req.Header.Get("Content-Type") == "" {

@ -1,2 +1,3 @@
DIST docker-23.0.3.tar.gz 13621933 BLAKE2B fd548b6083df495c35cc4d27374afdbc37e3678454b33477e9e88ba7c1564901d91a87eb0b87da2cfeab6a7c120bec95cad3a94db15a49719713a3660fae9958 SHA512 1f47a0c669c07ad1e628c99d153623076cd5c8e65e82fa54f7dd0d32579fae803ec9bee748e4ba1a6dc8fe37654602aaf005e58e09f00d8ff4f32e6047240caa
DIST docker-23.0.4.tar.gz 13625597 BLAKE2B ab4d50e9b334f18e620979bc13a7b146f8e0381d52aca0e45785108f1d53743e0157eb1e5bda76bc1300df1aa7825ca1ca141a21aeea39e81bc626ad1ea77775 SHA512 94d2c748541cf402197e98f93f574daf72bd84fc7603bf30e23674be36862ddbff5f37ad667455a710d730b9c5bc11962c287d6fd60a20320e0e0a41e3329c44
DIST docker-24.0.4.tar.gz 14453359 BLAKE2B d089721469857eee87fd63b04c43cfde97ab9a38b5017c52c859b9b291574be4055b25585304434e070a7b74f90fa2582bb4fd8cddeae795637aaa23242fe8cb SHA512 5d749764a3541104d13ebe42e7b4225f66a98f9cc81f6406790be8a534f6c0d5ec13b145212bf75899e489feddf7679add6f43c6f9dd76b704291ed0e638eb6e

@ -0,0 +1,331 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EGO_PN=github.com/docker/docker
MY_PV=${PV/_/-}
inherit linux-info systemd udev golang-vcs-snapshot
GIT_COMMIT=4ffc61430bbe6d3d405bdf357b766bf303ff3cc5
DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
HOMEPAGE="https://www.docker.com/"
SRC_URI="https://github.com/moby/moby/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv ~x86"
IUSE="apparmor btrfs +container-init device-mapper overlay seccomp selinux"
DEPEND="
acct-group/docker
>=dev-db/sqlite-3.7.9:3
apparmor? ( sys-libs/libapparmor )
btrfs? ( >=sys-fs/btrfs-progs-3.16.1 )
device-mapper? ( >=sys-fs/lvm2-2.02.89[thin] )
seccomp? ( >=sys-libs/libseccomp-2.2.1 )
"
# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#runtime-dependencies
# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#optional-dependencies
RDEPEND="
${DEPEND}
>=net-firewall/iptables-1.4
sys-process/procps
>=dev-vcs/git-1.7
>=app-arch/xz-utils-4.9
dev-libs/libltdl
>=app-containers/containerd-1.7.1[apparmor?,btrfs?,device-mapper?,seccomp?]
!app-containers/docker-proxy
container-init? ( >=sys-process/tini-0.19.0[static] )
selinux? ( sec-policy/selinux-docker )
"
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
BDEPEND="
>=dev-lang/go-1.16.12
dev-go/go-md2man
virtual/pkgconfig
"
# tests require running dockerd as root and downloading containers
RESTRICT="installsources strip test"
S="${WORKDIR}/${P}/src/${EGO_PN}"
# https://bugs.gentoo.org/748984 https://github.com/etcd-io/etcd/pull/12552
PATCHES=(
"${FILESDIR}/0001-Openrc-Depend-on-containerd-init-script.patch"
"${FILESDIR}/${P}-client-define-a-dummy-hostname-for-local-connections.patch"
)
pkg_setup() {
# this is based on "contrib/check-config.sh" from upstream's sources
# required features.
CONFIG_CHECK="
~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG
~KEYS
~VETH ~BRIDGE ~BRIDGE_NETFILTER
~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE
~NETFILTER_XT_MATCH_ADDRTYPE
~NETFILTER_XT_MATCH_CONNTRACK
~NETFILTER_XT_MATCH_IPVS
~NETFILTER_XT_MARK
~IP_NF_NAT ~NF_NAT
~POSIX_MQUEUE
"
WARNING_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: is required for bind-mounting /dev/mqueue into containers"
if kernel_is lt 4 8; then
CONFIG_CHECK+="
~DEVPTS_MULTIPLE_INSTANCES
"
fi
if kernel_is le 5 1; then
CONFIG_CHECK+="
~NF_NAT_IPV4
"
fi
if kernel_is le 5 2; then
CONFIG_CHECK+="
~NF_NAT_NEEDED
"
fi
if kernel_is ge 4 15; then
CONFIG_CHECK+="
~CGROUP_BPF
"
fi
# optional features
CONFIG_CHECK+="
~USER_NS
"
if use seccomp; then
CONFIG_CHECK+="
~SECCOMP ~SECCOMP_FILTER
"
fi
CONFIG_CHECK+="
~CGROUP_PIDS
"
if kernel_is lt 6 1; then
CONFIG_CHECK+="
~MEMCG_SWAP
"
fi
if kernel_is le 5 8; then
CONFIG_CHECK+="
~MEMCG_SWAP_ENABLED
"
fi
CONFIG_CHECK+="
~!LEGACY_VSYSCALL_NATIVE
"
if kernel_is lt 5 19; then
CONFIG_CHECK+="
~LEGACY_VSYSCALL_EMULATE
"
fi
CONFIG_CHECK+="
~!LEGACY_VSYSCALL_NONE
"
WARNING_LEGACY_VSYSCALL_NONE="CONFIG_LEGACY_VSYSCALL_NONE enabled: \
Containers with <=glibc-2.13 will not work"
if kernel_is le 4 5; then
CONFIG_CHECK+="
~MEMCG_KMEM
"
fi
if kernel_is lt 5; then
CONFIG_CHECK+="
~IOSCHED_CFQ ~CFQ_GROUP_IOSCHED
"
fi
CONFIG_CHECK+="
~BLK_CGROUP ~BLK_DEV_THROTTLING
~CGROUP_PERF
~CGROUP_HUGETLB
~NET_CLS_CGROUP ~CGROUP_NET_PRIO
~CFS_BANDWIDTH ~FAIR_GROUP_SCHED
~IP_NF_TARGET_REDIRECT
~IP_VS
~IP_VS_NFCT
~IP_VS_PROTO_TCP
~IP_VS_PROTO_UDP
~IP_VS_RR
"
if use selinux; then
CONFIG_CHECK+="
~SECURITY_SELINUX
"
fi
if use apparmor; then
CONFIG_CHECK+="
~SECURITY_APPARMOR
"
fi
# if ! is_set EXT4_USE_FOR_EXT2; then
# check_flags EXT3_FS EXT3_FS_XATTR EXT3_FS_POSIX_ACL EXT3_FS_SECURITY
# if ! is_set EXT3_FS || ! is_set EXT3_FS_XATTR || ! is_set EXT3_FS_POSIX_ACL || ! is_set EXT3_FS_SECURITY; then
# echo " $(wrap_color '(enable these ext3 configs if you are using ext3 as backing filesystem)' bold black)"
# fi
# fi
CONFIG_CHECK+="
~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
"
# if ! is_set EXT4_FS || ! is_set EXT4_FS_POSIX_ACL || ! is_set EXT4_FS_SECURITY; then
# if is_set EXT4_USE_FOR_EXT2; then
# echo " $(wrap_color 'enable these ext4 configs if you are using ext3 or ext4 as backing filesystem' bold black)"
# else
# echo " $(wrap_color 'enable these ext4 configs if you are using ext4 as backing filesystem' bold black)"
# fi
# fi
# network drivers
CONFIG_CHECK+="
~VXLAN ~BRIDGE_VLAN_FILTERING
~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH
~XFRM ~XFRM_USER ~XFRM_ALGO ~INET_ESP
"
if kernel_is le 5 3; then
CONFIG_CHECK+="
~INET_XFRM_MODE_TRANSPORT
"
fi
CONFIG_CHECK+="
~IPVLAN
"
CONFIG_CHECK+="
~MACVLAN ~DUMMY
"
CONFIG_CHECK+="
~NF_NAT_FTP ~NF_CONNTRACK_FTP ~NF_NAT_TFTP ~NF_CONNTRACK_TFTP
"
# storage drivers
if use btrfs; then
CONFIG_CHECK+="
~BTRFS_FS
~BTRFS_FS_POSIX_ACL
"
fi
if use device-mapper; then
CONFIG_CHECK+="
~BLK_DEV_DM ~DM_THIN_PROVISIONING
"
fi
CONFIG_CHECK+="
~OVERLAY_FS
"
linux-info_pkg_setup
}
src_compile() {
export DOCKER_GITCOMMIT="${GIT_COMMIT}"
export GOPATH="${WORKDIR}/${P}"
export VERSION=${PV}
# setup CFLAGS and LDFLAGS for separate build target
# see https://github.com/tianon/docker-overlay/pull/10
export CGO_CFLAGS="-I${ESYSROOT}/usr/include"
export CGO_LDFLAGS="-L${ESYSROOT}/usr/$(get_libdir)"
# let's set up some optional features :)
export DOCKER_BUILDTAGS=''
for gd in btrfs device-mapper overlay; do
if ! use $gd; then
DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
fi
done
for tag in apparmor seccomp; do
if use $tag; then
DOCKER_BUILDTAGS+=" $tag"
fi
done
# build binaries
./hack/make.sh dynbinary || die 'dynbinary failed'
}
src_install() {
dosym containerd /usr/bin/docker-containerd
dosym containerd-shim /usr/bin/docker-containerd-shim
dosym runc /usr/bin/docker-runc
use container-init && dosym tini /usr/bin/docker-init
dobin bundles/dynbinary-daemon/dockerd
dobin bundles/dynbinary-daemon/docker-proxy
newinitd contrib/init/openrc/docker.initd docker
newconfd contrib/init/openrc/docker.confd docker
systemd_dounit contrib/init/systemd/docker.{service,socket}
udev_dorules contrib/udev/*.rules
dodoc AUTHORS CONTRIBUTING.md NOTICE README.md
dodoc -r docs/*
# note: intentionally not using "doins" so that we preserve +x bits
dodir /usr/share/${PN}/contrib
cp -R contrib/* "${ED}/usr/share/${PN}/contrib"
}
pkg_postinst() {
udev_reload
elog
elog "To use Docker, the Docker daemon must be running as root. To automatically"
elog "start the Docker daemon at boot:"
if systemd_is_booted || has_version sys-apps/systemd; then
elog " systemctl enable docker.service"
else
elog " rc-update add docker default"
fi
elog
elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
elog ' usermod -aG docker <youruser>'
elog
if use device-mapper; then
elog " Devicemapper storage driver has been deprecated"
elog " It will be removed in a future release"
elog
fi
if use overlay; then
elog " Overlay storage driver/USEflag has been deprecated"
elog " in favor of overlay2 (enabled unconditionally)"
elog
fi
if has_version sys-fs/zfs; then
elog " ZFS storage driver is available"
elog " Check https://docs.docker.com/storage/storagedriver/zfs-driver for more info"
elog
fi
}
pkg_postrm() {
udev_reload
}

@ -0,0 +1,290 @@
From 18b6066f21dd24671c96c3d9f1b3a7e39da1dabf Mon Sep 17 00:00:00 2001
From: Sebastiaan van Stijn <github@gone.nl>
Date: Wed, 12 Jul 2023 14:15:38 +0200
Subject: [PATCH 1/3] client: define a "dummy" hostname to use for local
connections
For local communications (npipe://, unix://), the hostname is not used,
but we need valid and meaningful hostname.
The current code used the client's `addr` as hostname in some cases, which
could contain the path for the unix-socket (`/var/run/docker.sock`), which
gets rejected by go1.20.6 and go1.19.11 because of a security fix for
[CVE-2023-29406 ][1], which was implemented in https://go.dev/issue/60374.
Prior versions go Go would clean the host header, and strip slashes in the
process, but go1.20.6 and go1.19.11 no longer do, and reject the host
header.
This patch introduces a `DummyHost` const, and uses this dummy host for
cases where we don't need an actual hostname.
Before this patch (using go1.20.6):
make GO_VERSION=1.20.6 TEST_FILTER=TestAttach test-integration
=== RUN TestAttachWithTTY
attach_test.go:46: assertion failed: error is not nil: http: invalid Host header
--- FAIL: TestAttachWithTTY (0.11s)
=== RUN TestAttachWithoutTTy
attach_test.go:46: assertion failed: error is not nil: http: invalid Host header
--- FAIL: TestAttachWithoutTTy (0.02s)
FAIL
With this patch applied:
make GO_VERSION=1.20.6 TEST_FILTER=TestAttach test-integration
INFO: Testing against a local daemon
=== RUN TestAttachWithTTY
--- PASS: TestAttachWithTTY (0.12s)
=== RUN TestAttachWithoutTTy
--- PASS: TestAttachWithoutTTy (0.02s)
PASS
[1]: https://github.com/advisories/GHSA-f8f7-69v5-w4vx
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 5119e8c98f31f36a9e73884d4132c326cd931c34)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
---
client/client.go | 30 ++++++++++++++++++++++++++++++
client/hijack.go | 5 ++++-
client/request.go | 8 ++++----
client/request_test.go | 20 ++++++++------------
4 files changed, 46 insertions(+), 17 deletions(-)
diff --git a/client/client.go b/client/client.go
index 1c081a51ae69..54fa36cca88e 100644
--- a/client/client.go
+++ b/moby-24.0.4/client/client.go
@@ -56,6 +56,36 @@ import (
"github.com/pkg/errors"
)
+// DummyHost is a hostname used for local communication.
+//
+// It acts as a valid formatted hostname for local connections (such as "unix://"
+// or "npipe://") which do not require a hostname. It should never be resolved,
+// but uses the special-purpose ".localhost" TLD (as defined in [RFC 2606, Section 2]
+// and [RFC 6761, Section 6.3]).
+//
+// [RFC 7230, Section 5.4] defines that an empty header must be used for such
+// cases:
+//
+// If the authority component is missing or undefined for the target URI,
+// then a client MUST send a Host header field with an empty field-value.
+//
+// However, [Go stdlib] enforces the semantics of HTTP(S) over TCP, does not
+// allow an empty header to be used, and requires req.URL.Scheme to be either
+// "http" or "https".
+//
+// For further details, refer to:
+//
+// - https://github.com/docker/engine-api/issues/189
+// - https://github.com/golang/go/issues/13624
+// - https://github.com/golang/go/issues/61076
+// - https://github.com/moby/moby/issues/45935
+//
+// [RFC 2606, Section 2]: https://www.rfc-editor.org/rfc/rfc2606.html#section-2
+// [RFC 6761, Section 6.3]: https://www.rfc-editor.org/rfc/rfc6761#section-6.3
+// [RFC 7230, Section 5.4]: https://datatracker.ietf.org/doc/html/rfc7230#section-5.4
+// [Go stdlib]: https://github.com/golang/go/blob/6244b1946bc2101b01955468f1be502dbadd6807/src/net/http/transport.go#L558-L569
+const DummyHost = "api.moby.localhost"
+
// ErrRedirect is the error returned by checkRedirect when the request is non-GET.
var ErrRedirect = errors.New("unexpected redirect in response")
diff --git a/client/hijack.go b/client/hijack.go
index 6bdacab10adb..db9b02e1601f 100644
--- a/client/hijack.go
+++ b/moby-24.0.4/client/hijack.go
@@ -64,7 +64,10 @@ func fallbackDial(proto, addr string, tlsConfig *tls.Config) (net.Conn, error) {
}
func (cli *Client) setupHijackConn(ctx context.Context, req *http.Request, proto string) (net.Conn, string, error) {
- req.Host = cli.addr
+ if cli.proto == "unix" || cli.proto == "npipe" {
+ // For local communications, it doesn't matter what the host is.
+ req.URL.Host = DummyHost
+ }
req.Header.Set("Connection", "Upgrade")
req.Header.Set("Upgrade", proto)
diff --git a/client/request.go b/client/request.go
index c799095c1227..8f43553fb7c5 100644
--- a/client/request.go
+++ b/moby-24.0.4/client/request.go
@@ -98,12 +98,12 @@ func (cli *Client) buildRequest(method, path string, body io.Reader, headers hea
req = cli.addHeaders(req, headers)
if cli.proto == "unix" || cli.proto == "npipe" {
- // For local communications, it doesn't matter what the host is. We just
- // need a valid and meaningful host name. (See #189)
- req.Host = "docker"
+ // For local communications, it doesn't matter what the host is.
+ req.URL.Host = DummyHost
+ } else {
+ req.URL.Host = cli.addr
}
- req.URL.Host = cli.addr
req.URL.Scheme = cli.scheme
if expectedPayload && req.Header.Get("Content-Type") == "" {
diff --git a/client/request_test.go b/client/request_test.go
index 6e5a6e81f21c..1a99197ca231 100644
--- a/client/request_test.go
+++ b/moby-24.0.4/client/request_test.go
@@ -28,24 +28,20 @@ func TestSetHostHeader(t *testing.T) {
expectedURLHost string
}{
{
- "unix:///var/run/docker.sock",
- "docker",
- "/var/run/docker.sock",
+ host: "unix:///var/run/docker.sock",
+ expectedURLHost: DummyHost,
},
{
- "npipe:////./pipe/docker_engine",
- "docker",
- "//./pipe/docker_engine",
+ host: "npipe:////./pipe/docker_engine",
+ expectedURLHost: DummyHost,
},
{
- "tcp://0.0.0.0:4243",
- "",
- "0.0.0.0:4243",
+ host: "tcp://0.0.0.0:4243",
+ expectedURLHost: "0.0.0.0:4243",
},
{
- "tcp://localhost:4243",
- "",
- "localhost:4243",
+ host: "tcp://localhost:4243",
+ expectedURLHost: "localhost:4243",
},
}
From d22fa2bb92fd1ea37071487465f58c8bcb58badd Mon Sep 17 00:00:00 2001
From: Sebastiaan van Stijn <github@gone.nl>
Date: Wed, 12 Jul 2023 15:07:59 +0200
Subject: [PATCH 2/3] pkg/plugins: use a dummy hostname for local connections
For local communications (npipe://, unix://), the hostname is not used,
but we need valid and meaningful hostname.
The current code used the socket path as hostname, which gets rejected by
go1.20.6 and go1.19.11 because of a security fix for [CVE-2023-29406 ][1],
which was implemented in https://go.dev/issue/60374.
Prior versions go Go would clean the host header, and strip slashes in the
process, but go1.20.6 and go1.19.11 no longer do, and reject the host
header.
Before this patch, tests would fail on go1.20.6:
=== FAIL: pkg/authorization TestAuthZRequestPlugin (15.01s)
time="2023-07-12T12:53:45Z" level=warning msg="Unable to connect to plugin: //tmp/authz2422457390/authz-test-plugin.sock/AuthZPlugin.AuthZReq: Post \"http://%2F%2Ftmp%2Fauthz2422457390%2Fauthz-test-plugin.sock/AuthZPlugin.AuthZReq\": http: invalid Host header, retrying in 1s"
time="2023-07-12T12:53:46Z" level=warning msg="Unable to connect to plugin: //tmp/authz2422457390/authz-test-plugin.sock/AuthZPlugin.AuthZReq: Post \"http://%2F%2Ftmp%2Fauthz2422457390%2Fauthz-test-plugin.sock/AuthZPlugin.AuthZReq\": http: invalid Host header, retrying in 2s"
time="2023-07-12T12:53:48Z" level=warning msg="Unable to connect to plugin: //tmp/authz2422457390/authz-test-plugin.sock/AuthZPlugin.AuthZReq: Post \"http://%2F%2Ftmp%2Fauthz2422457390%2Fauthz-test-plugin.sock/AuthZPlugin.AuthZReq\": http: invalid Host header, retrying in 4s"
time="2023-07-12T12:53:52Z" level=warning msg="Unable to connect to plugin: //tmp/authz2422457390/authz-test-plugin.sock/AuthZPlugin.AuthZReq: Post \"http://%2F%2Ftmp%2Fauthz2422457390%2Fauthz-test-plugin.sock/AuthZPlugin.AuthZReq\": http: invalid Host header, retrying in 8s"
authz_unix_test.go:82: Failed to authorize request Post "http://%2F%2Ftmp%2Fauthz2422457390%2Fauthz-test-plugin.sock/AuthZPlugin.AuthZReq": http: invalid Host header
[1]: https://github.com/advisories/GHSA-f8f7-69v5-w4vx
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit a4a861f9fbdd6293f95ef8d6d35241c6f6c29853)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
---
pkg/plugins/client.go | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/pkg/plugins/client.go b/pkg/plugins/client.go
index 752fecd0ae47..a740a8c3dac1 100644
--- a/pkg/plugins/client.go
+++ b/moby-24.0.4/pkg/plugins/client.go
@@ -18,6 +18,12 @@ import (
const (
defaultTimeOut = 30
+
+ // dummyHost is a hostname used for local communication.
+ //
+ // For local communications (npipe://, unix://), the hostname is not used,
+ // but we need valid and meaningful hostname.
+ dummyHost = "plugin.moby.localhost"
)
func newTransport(addr string, tlsConfig *tlsconfig.Options) (transport.Transport, error) {
@@ -44,8 +50,12 @@ func newTransport(addr string, tlsConfig *tlsconfig.Options) (transport.Transpor
return nil, err
}
scheme := httpScheme(u)
-
- return transport.NewHTTPTransport(tr, scheme, socket), nil
+ hostName := u.Host
+ if hostName == "" || u.Scheme == "unix" || u.Scheme == "npipe" {
+ // For local communications, it doesn't matter what the host is.
+ hostName = dummyHost
+ }
+ return transport.NewHTTPTransport(tr, scheme, hostName), nil
}
// NewClient creates a new plugin client (http).
From af1c09666a5c7ea12685fb8b482e64433a58f820 Mon Sep 17 00:00:00 2001
From: Sebastiaan van Stijn <github@gone.nl>
Date: Wed, 12 Jul 2023 17:37:01 +0200
Subject: [PATCH 3/3] testutil: use dummyhost for non-tcp connections
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 524506a452dab8f67cb2c287c8acacdbe2599906)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
---
integration-cli/docker_api_attach_test.go | 9 ++++++++-
testutil/request/request.go | 9 +++++++--
2 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/integration-cli/docker_api_attach_test.go b/integration-cli/docker_api_attach_test.go
index 6d31c51ec344..0064b48bdf7b 100644
--- a/integration-cli/docker_api_attach_test.go
+++ b/moby-24.0.4/integration-cli/docker_api_attach_test.go
@@ -234,7 +234,14 @@ func requestHijack(method, endpoint string, data io.Reader, ct, daemon string, m
return nil, nil, errors.Wrap(err, "could not create new request")
}
req.URL.Scheme = "http"
- req.URL.Host = hostURL.Host
+
+ // FIXME(thaJeztah): this should really be done by client.ParseHostURL
+ if hostURL.Scheme == "unix" || hostURL.Scheme == "npipe" {
+ // For local communications, it doesn't matter what the host is.
+ req.URL.Host = client.DummyHost
+ } else {
+ req.URL.Host = hostURL.Host
+ }
for _, opt := range modifiers {
opt(req)
diff --git a/testutil/request/request.go b/testutil/request/request.go
index d5f559c66637..239e27a8fc1d 100644
--- a/testutil/request/request.go
+++ b/moby-24.0.4/testutil/request/request.go
@@ -123,8 +123,13 @@ func newRequest(endpoint string, opts *Options) (*http.Request, error) {
} else {
req.URL.Scheme = "http"
}
- req.URL.Host = hostURL.Host
-
+ // FIXME(thaJeztah): this should really be done by client.ParseHostURL
+ if hostURL.Scheme == "unix" || hostURL.Scheme == "npipe" {
+ // For local communications, it doesn't matter what the host is.
+ req.URL.Host = client.DummyHost
+ } else {
+ req.URL.Host = hostURL.Host
+ }
for _, config := range opts.requestModifiers {
if err := config(req); err != nil {
return nil, err

@ -1,2 +1,3 @@
DIST runc-1.1.4.tar.gz 2334639 BLAKE2B bc7eb7de29e8ebb9ce146bc77bf6cfc116f4af3e28c0344059183cf0c8082c629ccb235531c368cce99915991b25df0b50b7cbb98b9c6a7d141ba6cc15958651 SHA512 c8e79ad839964680d29ab56a4de255f91192741951673025da6889c544a232d4d392db2da8005d8e22999a37bfbc9c9fe7f6043b165bc4edc2f2a29261d8a3d6
DIST runc-1.1.5.tar.gz 2336539 BLAKE2B 3fcc4c2160f33fcec2efd6bcd755279c535128af870d4ea71dc07c501c0f401f394f2f66219739ca24cc5ec37b5944b0323f8e7ee49c619513ce826159e3a395 SHA512 f3cc9b93b0fe8a4341d410010fe584febb8e975ec9e0fd569d7dff33ab74c5821a2e0c40b7aeafd6b90991a50eae9c352342437f09cf6884dc850ceccdc68944
DIST runc-1.1.7.tar.gz 2511464 BLAKE2B 63f09052659636b62185abbb178f7e104d22125190899e80e71ed2ba35567eb855abf786d3c7fff3dd9a1ab43ee282fcaecb6650cd8a1ce49c05acefd7c12cde SHA512 e3a18f04ac2c3553a815074ca64e04cfd71af54d78edbd4a13819f187476f96d7311c23bb63fb5c311b91865db4540985a6f9daa84819b0bac5f023b3b2a832c

@ -0,0 +1,78 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit go-module linux-info
# update on bump, look for https://github.com/docker\
# docker-ce/blob/<docker ver OR branch>/components/engine/hack/dockerfile/install/runc.installer
RUNC_COMMIT=4ffc61430bbe6d3d405bdf357b766bf303ff3cc5
CONFIG_CHECK="~USER_NS"
DESCRIPTION="runc container cli tools"
HOMEPAGE="http://github.com/opencontainers/runc/"
MY_PV="${PV/_/-}"
SRC_URI="https://github.com/opencontainers/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0 BSD-2 BSD MIT"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv ~x86"
IUSE="apparmor hardened +kmem +seccomp selinux test"
DEPEND="seccomp? ( sys-libs/libseccomp )"
RDEPEND="
${DEPEND}
!app-emulation/docker-runc
apparmor? ( sys-libs/libapparmor )
selinux? ( sec-policy/selinux-container )
"
BDEPEND="
dev-go/go-md2man
test? ( "${RDEPEND}" )
"
# tests need busybox binary, and portage namespace
# sandboxing disabled: mount-sandbox pid-sandbox ipc-sandbox
# majority of tests pass
RESTRICT+=" test"
S="${WORKDIR}/${PN}-${MY_PV}"
src_compile() {
# Taken from app-containers/docker-1.7.0-r1
export CGO_CFLAGS="-I${ESYSROOT}/usr/include"
export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')
-L${ESYSROOT}/usr/$(get_libdir)"
# build up optional flags
local options=(
$(usev apparmor)
$(usev seccomp)
$(usex kmem '' 'nokmem')
)
myemakeargs=(
BUILDTAGS="${options[*]}"
COMMIT="${RUNC_COMMIT}"
)
emake "${myemakeargs[@]}" runc man
}
src_install() {
myemakeargs+=(
PREFIX="${ED}/usr"
BINDIR="${ED}/usr/bin"
MANDIR="${ED}/usr/share/man"
)
emake "${myemakeargs[@]}" install install-man install-bash
local DOCS=( README.md PRINCIPLES.md docs/. )
einstalldocs
}
src_test() {
emake "${myemakeargs[@]}" localunittest
}

Binary file not shown.

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -6,8 +6,8 @@ EAPI=7
inherit flag-o-matic
DESCRIPTION="Encrypts data from stdin to stdout"
HOMEPAGE="http://loop-aes.sourceforge.net"
SRC_URI="http://loop-aes.sourceforge.net/aespipe/${PN}-v${PV}.tar.bz2"
HOMEPAGE="https://loop-aes.sourceforge.net"
SRC_URI="https://loop-aes.sourceforge.net/aespipe/${PN}-v${PV}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"

@ -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
@ -6,8 +6,8 @@ EAPI=7
inherit flag-o-matic
DESCRIPTION="Encrypts data from stdin to stdout"
HOMEPAGE="http://loop-aes.sourceforge.net"
SRC_URI="http://loop-aes.sourceforge.net/aespipe/${PN}-v${PV}.tar.bz2"
HOMEPAGE="https://loop-aes.sourceforge.net"
SRC_URI="https://loop-aes.sourceforge.net/aespipe/${PN}-v${PV}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"

@ -1,2 +1,3 @@
DIST krb5-1.20.1.tar.gz 8661660 BLAKE2B ead16f8b1aec8bba3776628b74257c9aec891770c1fa6d5c5e66275db5f078ca59c9944cd2b017453b777ce080f8e5a322f735fab77691479cfad7b881b92830 SHA512 6f57479f13f107cd84f30de5c758eb6b9fc59171329c13e5da6073b806755f8d163eb7bd84767ea861ad6458ea0c9eeb00ee044d3bcad01ef136e9888564b6a2
DIST krb5-1.21.tar.gz 8622539 BLAKE2B 0f3a899dc1758ea013ebad3aae80605c14f0f6713919d005e799162a0c50a162f33d924c74a6f87ce225e1ab3847df2c0effb25b772fe259e7401531964b696f SHA512 8ee2366888f6d553a44fc642a89c69a57dbc1ec4c89a36b9ba8b00584a9a32c73a2b0566ba5f21852ad9617046666c276dac402393bf8eb19fbe0c07a838071a
DIST krb5-1.20.2.tar.gz 8662259 BLAKE2B 35f9e82390b5ba7227d0b5c40ab08f128ff27e7264d48585e2bfd08a443cb4b06415216190a3c35c6bc505f33483bcbe11430d9e40c3907f838798b2dc492416 SHA512 69e263ef74116a3332c632a2a243499bcc47b01b1e57d02fe35aa6c2ff655674b6cf2b815457145f788bceac4d466d3f55f8c20ec9ee4a6051128417e1e7e99e
DIST krb5-1.21.1.tar.gz 8623049 BLAKE2B d90a994b5d39dc88573e5cfca280565b0909b2e9aa8710a6d695e2c1faec37ea0c008d05894e8952dcf72348403f76fd8a124de8d8f34c70fad6de8866a92f0e SHA512 6f04216b0a151d6a9886bf009777bc95a7d3f9bcab30427cc8bbef3357e0130748c1d42b477be0eb2d469d9e0fb65bf5ac5ff05c22d6e1046795e161fe6afbcc

@ -0,0 +1,148 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
inherit autotools python-any-r1 systemd toolchain-funcs multilib-minimal
MY_P="${P/mit-}"
P_DIR=$(ver_cut 1-2)
DESCRIPTION="MIT Kerberos V"
HOMEPAGE="https://web.mit.edu/kerberos/www/"
SRC_URI="https://web.mit.edu/kerberos/dist/krb5/${P_DIR}/${MY_P}.tar.gz"
LICENSE="openafs-krb5-a BSD MIT OPENLDAP BSD-2 HPND BSD-4 ISC RSA CC-BY-SA-3.0 || ( BSD-2 GPL-2+ )"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="cpu_flags_x86_aes doc +keyutils lmdb nls openldap +pkinit selinux +threads test xinetd"
RESTRICT="!test? ( test )"
DEPEND="
!!app-crypt/heimdal
>=sys-fs/e2fsprogs-1.46.4-r51[${MULTILIB_USEDEP}]
|| (
>=dev-libs/libverto-0.2.5[libev,${MULTILIB_USEDEP}]
>=dev-libs/libverto-0.2.5[libevent,${MULTILIB_USEDEP}]
)
keyutils? ( >=sys-apps/keyutils-1.5.8:=[${MULTILIB_USEDEP}] )
lmdb? ( dev-db/lmdb:= )
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
openldap? ( >=net-nds/openldap-2.4.38-r1:=[${MULTILIB_USEDEP}] )
pkinit? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
xinetd? ( sys-apps/xinetd )
"
BDEPEND="
${PYTHON_DEPS}
app-alternatives/yacc
cpu_flags_x86_aes? (
amd64? ( dev-lang/yasm )
x86? ( dev-lang/yasm )
)
doc? ( virtual/latex-base )
test? ( dev-util/cmocka )
"
RDEPEND="${DEPEND}
selinux? ( sec-policy/selinux-kerberos )"
S=${WORKDIR}/${MY_P}/src
PATCHES=(
"${FILESDIR}/${PN}-1.12_warn_cflags.patch"
"${FILESDIR}/${PN}-config_LDFLAGS-r1.patch"
"${FILESDIR}/${PN}_dont_create_rundir.patch"
"${FILESDIR}/${PN}-1.18.2-krb5-config.patch"
"${FILESDIR}/${PN}-1.20-missing-time-include.patch"
)
MULTILIB_CHOST_TOOLS=(
/usr/bin/krb5-config
)
src_prepare() {
default
# Make sure we always use the system copies.
rm -rf util/{et,ss,verto}
sed -i 's:^[[:space:]]*util/verto$::' configure.ac || die
eautoreconf
}
multilib_src_configure() {
ECONF_SOURCE=${S} \
AR="$(tc-getAR)" \
WARN_CFLAGS="set" \
econf \
$(use_with openldap ldap) \
$(use_enable nls) \
$(use_enable pkinit) \
$(use_enable threads thread-support) \
$(use_with lmdb) \
$(use_with keyutils) \
--without-hesiod \
--enable-shared \
--with-system-et \
--with-system-ss \
--enable-dns-for-realm \
--enable-kdc-lookaside-cache \
--with-system-verto \
--disable-rpath
}
multilib_src_compile() {
emake -j1
}
multilib_src_test() {
multilib_is_native_abi && emake -j1 check
}
multilib_src_install() {
emake \
DESTDIR="${D}" \
EXAMPLEDIR="${EPREFIX}/usr/share/doc/${PF}/examples" \
install
}
multilib_src_install_all() {
# default database dir
keepdir /var/lib/krb5kdc
cd ..
dodoc README
if use doc; then
dodoc -r doc/html
docinto pdf
dodoc doc/pdf/*.pdf
fi
newinitd "${FILESDIR}"/mit-krb5kadmind.initd-r2 mit-krb5kadmind
newinitd "${FILESDIR}"/mit-krb5kdc.initd-r2 mit-krb5kdc
newinitd "${FILESDIR}"/mit-krb5kpropd.initd-r2 mit-krb5kpropd
newconfd "${FILESDIR}"/mit-krb5kadmind.confd mit-krb5kadmind
newconfd "${FILESDIR}"/mit-krb5kdc.confd mit-krb5kdc
newconfd "${FILESDIR}"/mit-krb5kpropd.confd mit-krb5kpropd
systemd_newunit "${FILESDIR}"/mit-krb5kadmind.service mit-krb5kadmind.service
systemd_newunit "${FILESDIR}"/mit-krb5kdc.service mit-krb5kdc.service
systemd_newunit "${FILESDIR}"/mit-krb5kpropd.service mit-krb5kpropd.service
systemd_newunit "${FILESDIR}"/mit-krb5kpropd_at.service "mit-krb5kpropd@.service"
systemd_newunit "${FILESDIR}"/mit-krb5kpropd.socket mit-krb5kpropd.socket
insinto /etc
newins "${ED}/usr/share/doc/${PF}/examples/krb5.conf" krb5.conf.example
insinto /var/lib/krb5kdc
newins "${ED}/usr/share/doc/${PF}/examples/kdc.conf" kdc.conf.example
if use openldap ; then
insinto /etc/openldap/schema
doins "${S}/plugins/kdb/ldap/libkdb_ldap/kerberos.schema"
fi
if use xinetd ; then
insinto /etc/xinetd.d
newins "${FILESDIR}/kpropd.xinetd" kpropd
fi
}

@ -1,6 +1,3 @@
DIST sbctl-0.10-deps.tar.xz 21535928 BLAKE2B 8c63574ee8dafe998b28078553b30485aa34f75377602c83b4b04d3a65e6ba2ca162b8c3abe2a8dbf4d860258ae4178a6dad4b2835e3c2d79b4295a9539638b5 SHA512 4f811ed7fc78267e5b7dceb79b28e951e50c7affaf1acbbe1c75b1df8702511cdcf0ab3145c474644fc976a64e5beb147b2cf54ef6773d538d20876365a3e879
DIST sbctl-0.10.tar.gz 1627117 BLAKE2B e123d53094481249d43a3b98140a4fb28281f28d192d9834af65bdc077a60b51f53d6fb941eb54f63a5fc45aafe9d5b9a8858c2eb55636c4a1ca1cf3392e0f31 SHA512 73a12a78b0ae9e020f8ec168840dcb436c0ff54bbe3906643be65119ce925ba95f8d4558bd6868dbd6d2c1dcd6b16a8f8571fb465d36ef0d98229040db81ffdb
DIST sbctl-0.10.tar.gz.sig 566 BLAKE2B 8ecac994cb4705a4728bb0a1424ece06f394da87cf518395b3590949c5e9925965c57ec03c3b26e9f97073b2abc0348f7d822bdc351d5b230a87f422e7f836e4 SHA512 34910726155fce49c6c507b0d43fb01d1fc1782bd4cccaaed1fa286f63cd09af0a25f3dc295312770ff9afc931a19d9dbc71c02f0e92ae3fcce64205bcaeb9da
DIST sbctl-0.11-deps.tar.xz 20914368 BLAKE2B 37fad80fc8889ad61797acc83ee0f07bb4675f8a9c7856b744c49bffdc296f94e3a115fac4ab76c9616d03c01189d4d9c666149cafa02a8e8e59d49545b63a3e SHA512 13f73c60d44c3c2dd699d3d65aa6e112e159d49997e56ec02d80a9c1730f53b551fd62272dcd96a9e8b32f148257b0aab78c64994521b0b83df2fc4450054552
DIST sbctl-0.11.tar.gz 1634308 BLAKE2B a55b7359e1fe605f1bd972a49d559e711bfbeb6908e903530c133b188b996efdbb33c3ff33cd36073809708b4d01b42c8d2202d5e1aeed5efc43bbf6edd8912a SHA512 88d23bf40af4f19dc6b1de17df75989ec2a6e52f68bdb444bd4619a78c0ac1f2d4f6a0182ad251094884a448dc99f08d3dd39d9bb78b595ae6ed0227a78a7847
DIST sbctl-0.11.tar.gz.sig 566 BLAKE2B c840d5375cb00be3daa5522d0dfb78bf4ba093901aa4b8bcec3188bb4ae2f5e8059b51733c6b65d10dec552d2311b65536e1652ca01a9bdbd53e63b540019631 SHA512 70fc606bb387152d6bd7e40d12c00d98a15ff1197797aeb21aeb8647982ca5ee6fde532d99afab038dbe3eb0bb262253eab6bedd113ccc46e29a9949c531be86

@ -1,33 +0,0 @@
# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit go-module verify-sig
DESCRIPTION="Secure Boot key manager"
HOMEPAGE="https://github.com/Foxboron/sbctl"
SRC_URI="https://github.com/Foxboron/${PN}/releases/download/${PV}/${P}.tar.gz
https://dev.gentoo.org/~ajak/distfiles/${CATEGORY}/${PN}/${P}-deps.tar.xz
verify-sig? ( https://github.com/Foxboron/${PN}/releases/download/${PV}/${P}.tar.gz.sig )"
LICENSE="Apache-2.0 BSD BSD-2 MIT"
SLOT="0"
KEYWORDS="amd64"
BDEPEND="app-text/asciidoc
verify-sig? ( sec-keys/openpgp-keys-foxboron )"
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/foxboron.asc"
src_unpack() {
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}"/${P}.tar.gz{,.sig}
fi
default
}
src_install() {
emake PREFIX="${ED}/usr" install
}

@ -13,7 +13,7 @@ SRC_URI="https://github.com/Foxboron/${PN}/releases/download/${PV}/${P}.tar.gz
LICENSE="Apache-2.0 BSD BSD-2 MIT"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="amd64"
BDEPEND="app-text/asciidoc
verify-sig? ( sec-keys/openpgp-keys-foxboron )"

@ -1 +0,0 @@
DIST tpm-emulator-0.7.5.tar.gz 222341 BLAKE2B c6dc7494800f4c6d1f5e622c6a47fdd5487e0f2cbc34173d9039d6eb5fd7541dd2c1f514efbf220c605424059844e18650b31ee9934eda6626427b915fd6bc53 SHA512 24c16ec36ca92c484d6e8dfa53c8ca00dbc5b58d78d7166041db1e9ae277d763f0fc0a6b0cbd7e62fcf4671f6ad2d8df1213256be0a4200b79b6ee61ab73b2ef

@ -1,33 +0,0 @@
From 78f018a79243b8aa3c2a8e8aa87245c58c731278 Mon Sep 17 00:00:00 2001
From: Alon Bar-Lev <alon.barlev@gmail.com>
Date: Sun, 16 Sep 2018 13:29:59 +0300
Subject: [PATCH] tpmd_dev: fix strncpy bound
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
tpmd_dev/linux/tpmd_dev.c:88:3: error: strncpy specified bound 108 equals destination size [-Werror=stringop-truncation]
Bug: https://github.com/PeterHuewe/tpm-emulator/pull/43
Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
---
tpmd_dev/linux/tpmd_dev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tpmd_dev/linux/tpmd_dev.c b/tpmd_dev/linux/tpmd_dev.c
index 2b24bd7..72583f4 100644
--- a/tpmd_dev/linux/tpmd_dev.c
+++ b/tpmd_dev/linux/tpmd_dev.c
@@ -85,7 +85,7 @@ static int tpmd_connect(char *socket_name)
return res;
}
addr.sun_family = AF_UNIX;
- strncpy(addr.sun_path, socket_name, sizeof(addr.sun_path));
+ strncpy(addr.sun_path, socket_name, sizeof(addr.sun_path)-1);
res = tpmd_sock->ops->connect(tpmd_sock,
(struct sockaddr*)&addr, sizeof(struct sockaddr_un), 0);
if (res != 0) {
--
2.16.4

@ -1,48 +0,0 @@
https://bugs.gentoo.org/707256
--- a/tpm/tpm_emulator_extern.h
+++ b/tpm/tpm_emulator_extern.h
@@ -29,7 +29,7 @@ enum {
TPM_LOG_ERROR
};
-void (*tpm_log)(int priority, const char *fmt, ...);
+extern void (*tpm_log)(int priority, const char *fmt, ...);
#if defined(_WIN32) || defined(_WIN64)
#define __BFILE__ ((strrchr(__FILE__, '\\') ? : __FILE__ - 1) + 1)
@@ -44,27 +44,27 @@ void (*tpm_log)(int priority, const char *fmt, ...);
#define error(fmt, ...) tpm_log(TPM_LOG_ERROR, "%s:%d: Error: " fmt "\n", \
__BFILE__, __LINE__, ## __VA_ARGS__)
/* initialization */
-int (*tpm_extern_init)(void);
-void (*tpm_extern_release)(void);
+extern int (*tpm_extern_init)(void);
+extern void (*tpm_extern_release)(void);
/* memory allocation */
-void* (*tpm_malloc)(size_t size);
+extern void* (*tpm_malloc)(size_t size);
-void (*tpm_free)(/*const*/ void *ptr);
+extern void (*tpm_free)(/*const*/ void *ptr);
/* random numbers */
-void (*tpm_get_extern_random_bytes)(void *buf, size_t nbytes);
+extern void (*tpm_get_extern_random_bytes)(void *buf, size_t nbytes);
/* usec since last call */
-uint64_t (*tpm_get_ticks)(void);
+extern uint64_t (*tpm_get_ticks)(void);
/* file handling */
-int (*tpm_write_to_storage)(uint8_t *data, size_t data_length);
-int (*tpm_read_from_storage)(uint8_t **data, size_t *data_length);
+extern int (*tpm_write_to_storage)(uint8_t *data, size_t data_length);
+extern int (*tpm_read_from_storage)(uint8_t **data, size_t *data_length);
#endif /* _TPM_EMULATOR_EXTERN_H_ */

@ -1,26 +0,0 @@
https://bugs.gentoo.org/726492
--- a/tddl/CMakeLists.txt
+++ b/tddl/CMakeLists.txt
@@ -5,21 +5,18 @@
set(tddl-tpm-emulator_SRCS "tddl.c" "tddl-tpm-emulator.h")
add_library(tddl-tpm-emulator SHARED ${tddl-tpm-emulator_SRCS})
-add_library(tddl-tpm-emulator_static STATIC ${tddl-tpm-emulator_SRCS})
if(UNIX)
set_target_properties(tddl-tpm-emulator PROPERTIES SOVERSION "1.2"
VERSION "1.2.${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}")
- set_target_properties(tddl-tpm-emulator_static PROPERTIES OUTPUT_NAME tddl-tpm-emulator)
elseif(WIN32)
set_target_properties(tddl-tpm-emulator PROPERTIES OUTPUT_NAME ifxtpm)
set_target_properties(tddl-tpm-emulator PROPERTIES PREFIX "")
endif()
install(TARGETS tddl-tpm-emulator DESTINATION ${CMAKE_INSTALL_LIBDIR})
-install(TARGETS tddl-tpm-emulator_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(FILES "tddl-tpm-emulator.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
add_executable(test_tddl test_tddl.c)
-target_link_libraries(test_tddl tddl-tpm-emulator_static)
+target_link_libraries(test_tddl tddl-tpm-emulator)

@ -1,46 +0,0 @@
#!/sbin/openrc-run
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License, v2 or later
STARTUP_MODE="${STARTUP_MODE:-save}";
extra_started_commands="clear save deactivated"
description="TPM emulator"
command="/usr/bin/tpmd"
my_command_args="-f"
command_background=1
command_user="tss:tss"
pidfile="/var/run/${RC_SVCNAME}.pid"
depend() {
use logger
after coldplug
}
start_pre() {
checkpath -d -m 0775 -o tss /var/run/tpm
service_set_value STARTUP_MODE "${STARTUP_MODE}"
}
start() {
command_args="${my_command_args} $(service_get_value STARTUP_MODE)"
default_start
}
_doit() {
service_set_value STARTUP_MODE "$1"
stop
start
}
clear() {
_doit clear
}
save() {
_doit save
}
deactivated() {
_doit deactivated
}

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<use>
<flag name="mtm-emulator">Build the MTM emulator</flag>
</use>
<upstream>
<remote-id type="sourceforge">tpm-emulator</remote-id>
<remote-id type="github">PeterHuewe/tpm-emulator</remote-id>
</upstream>
</pkgmetadata>

@ -1,83 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MODULES_OPTIONAL_USE="modules"
inherit cmake linux-mod udev
MY_P=${P/-/_}
DESCRIPTION="Emulator driver for tpm"
HOMEPAGE="https://github.com/PeterHuewe/tpm-emulator"
SRC_URI="https://github.com/PeterHuewe/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="mtm-emulator"
RDEPEND="
acct-group/tpm
acct-user/tpm
dev-libs/gmp:="
DEPEND="${RDEPEND}"
PATCHES=(
"${FILESDIR}"/${P}-build.patch
"${FILESDIR}"/${P}-fno-common.patch
"${FILESDIR}"/${P}-static-libs.patch
)
pkg_setup() {
if use modules; then
CONFIG_CHECK="MODULES"
MODULE_NAMES="tpmd_dev(extra:tpmd_dev/linux:)"
BUILD_TARGETS="all tpmd_dev.rules"
BUILD_PARAMS="KERNEL_BUILD=${KERNEL_DIR}"
linux-mod_pkg_setup
fi
}
src_configure() {
local mycmakeargs=(
-DMTM_EMULATOR=$(usex mtm-emulator ON OFF)
-DBUILD_DEV=OFF
)
cmake_src_configure
if use modules; then
ln -s "${BUILD_DIR}/config.h" tpmd_dev/linux || die
fi
}
src_compile() {
cmake_src_compile
use modules && linux-mod_src_compile
}
src_install() {
cmake_src_install
if use modules; then
linux-mod_src_install
udev_newrules "tpmd_dev/linux/tpmd_dev.rules" 60-tpmd_dev.rules
fi
newinitd "${FILESDIR}/${PN}.initd" "${PN}"
newconfd "${FILESDIR}/${PN}.confd" "${PN}"
keepdir /var/log/tpm
fowners tss:tss /var/log/tpm
}
pkg_postinst() {
if use modules; then
linux-mod_pkg_postinst
ewarn ""
ewarn "The new init.d script does not load the tpmd_dev any more as it is optional."
ewarn "If you use the tpmd_dev, please load it explicitly in /etc/conf.d/modules"
ewarn ""
fi
einfo "tpmd socket is located at /var/run/tpm/tpmd_socket:0"
}

Binary file not shown.

@ -1,4 +1,3 @@
DIST kicad-doc-6.0.11.tar.bz2 79253772 BLAKE2B 904c01cd00b1669620018194e98303c00ba2ba32b44fed2f36966edf40487c26b6a7ed827a0c35908eb74ea04054a0c7cc39d371e5c6013bee484bf2b67f6177 SHA512 1c942a53dfcf071e83d5b7674df446b55818961da69586fe772467e4cf7ea64a13de01af20ec087c8a73f9d101a5a48680d840415e1a278e2ef5b22952980180
DIST kicad-doc-6.0.9.tar.gz 81321926 BLAKE2B 0885d0210afcc83c2ccaad3a0caac912e8f756e69c4569e543a81440e14b6e3ead68ccc427f4dcd9026ebf86a8e3c45487955479bf8c43ce9bb6680de9da777c SHA512 be8ae3bbebce334d7d7ab0e24bf3712aaa83b078f1a4495b755cdd9a5ff8e55951dbd82c5ac17c5aeba66008a9e6ef1b9f104f51ad340cb7cb88abdd86e5853d
DIST kicad-doc-7.0.1.tar.bz2 104103280 BLAKE2B dbdcd82e65c9d3a2bff629f8fa4e3cc34c2adbfa3fe9a808e3802addc3d75f3875ad52c4f5e79cb2bfb7563a6288d0c2eb6f119adf4f7fd2f31360cea82d1ea7 SHA512 5274ef673db9e415d5b82522681acdd4ee2b2f615bb52abdd11ebd17b72f36852ee297fdb98f9cf1dee12671a23adc24a6a8a03be720b579bbee7a9ead167e41
DIST kicad-doc-7.0.2.tar.bz2 104105560 BLAKE2B e6617c5390fd03c7e388a532bd34fbf13baa2fffabac0a63ad84a1e30c398ff5d240cb7ac890945a56fdbdd7300398f37667974797d60afc8a4f6438a6bf324b SHA512 d05a1b9988bbaaa630d036c0b90e81020bd0d51dbccbe6918983bea7894476e0a186fa133fc88aa365c9d26e51b1184f7ce5f375847b828f6b9a85abfe6fd33e
DIST kicad-doc-7.0.6.tar.bz2 104105032 BLAKE2B d8cf3cdbaf4088793ba0f6b5625c92b83972620a9da2240827b3a38ae18f66e3fa277c7c930195e18604a6b13dd8fa2a8a5d90de70cbe609575f3d9f89d75d01 SHA512 2162119a1e0b3626a65841e6a6e60561512a27c10b79345ee3713f3b046a58448ad9765f6b430ad77d67ca75cb0d9f37018f2540020406cde0b5a35969db20f4

@ -1,62 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
DESCRIPTION="Electronic Schematic and PCB design tools manuals"
HOMEPAGE="https://docs.kicad.org/"
if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://gitlab.com/kicad/services/kicad-doc.git"
inherit git-r3
# x11-misc-util/macros only required on live ebuilds
LIVE_DEPEND=">=x11-misc/util-macros-1.18"
else
SRC_URI="https://gitlab.com/kicad/services/${PN}/-/archive/${PV}/${P}.tar.gz"
KEYWORDS="amd64 ~arm64 ~riscv ~x86"
fi
LICENSE="|| ( GPL-3+ CC-BY-3.0 ) GPL-2"
SLOT="0"
# TODO: Change default back to +pdf once asciidoctor-pdf is packaged?
IUSE="+html pdf"
LANG_USE=" l10n_ca l10n_de l10n_en l10n_es l10n_fr l10n_id l10n_it l10n_ja l10n_pl l10n_ru l10n_zh"
IUSE+=${LANG_USE}
REQUIRED_USE="|| ( html pdf ) ^^ ( ${LANG_USE} )"
unset LANG_USE
# TODO: need asciidoctor-pdf for pdf
# bug #697450
BDEPEND="
>=app-text/asciidoc-8.6.9
>=app-text/dblatex-0.3.10
>=app-text/po4a-0.45
>=sys-devel/gettext-0.18
dev-perl/Unicode-LineBreak
dev-util/source-highlight
l10n_ca? ( dev-texlive/texlive-langspanish )
l10n_de? ( dev-texlive/texlive-langgerman )
l10n_en? ( dev-texlive/texlive-langenglish )
l10n_es? ( dev-texlive/texlive-langspanish )
l10n_fr? ( dev-texlive/texlive-langfrench )
l10n_it? ( dev-texlive/texlive-langitalian )
l10n_ja? ( dev-texlive/texlive-langjapanese media-fonts/vlgothic )
l10n_pl? ( dev-texlive/texlive-langpolish )
l10n_ru? ( dev-texlive/texlive-langcyrillic )
l10n_zh? ( dev-texlive/texlive-langchinese )"
src_configure() {
local mycmakeargs=(
# May not always work?
# https://gitlab.com/kicad/services/kicad-doc/-/issues/808
-DADOC_TOOLCHAIN="ASCIIDOC"
# Note: need EAPI 8 usev here, not pre-EAPI 8 behaviour
-DBUILD_FORMATS="$(usev html);$(usev pdf)"
-DSINGLE_LANGUAGE="${L10N}"
-DKICAD_DOC_PATH="${EPREFIX}"/usr/share/doc/${P}/help
)
cmake_src_configure
}

@ -31,7 +31,7 @@ unset LANG_USE
# TODO: need asciidoctor-pdf for pdf
# bug #697450
BDEPEND="
>=app-text/asciidoc-8.6.9
>=dev-ruby/asciidoctor-2.0.12
>=app-text/dblatex-0.3.10
>=app-text/po4a-0.45
>=sys-devel/gettext-0.18
@ -50,10 +50,7 @@ BDEPEND="
src_configure() {
local mycmakeargs=(
# May not always work?
# https://gitlab.com/kicad/services/kicad-doc/-/issues/808
-DADOC_TOOLCHAIN="ASCIIDOC"
# Note: need EAPI 8 usev here, not pre-EAPI 8 behaviour
-DPDF_GENERATOR="DBLATEX"
-DBUILD_FORMATS="$(usev html);$(usev pdf)"
-DSINGLE_LANGUAGE="${L10N}"
-DKICAD_DOC_PATH="${EPREFIX}"/usr/share/doc/${P}/help

Binary file not shown.

@ -1 +1,2 @@
DIST bvi-1.4.1.src.tar.gz 143181 BLAKE2B ad4ae885b1b85ebfc4fc842e0b072383b6755eeaf1d8a71ffb461c5caf0c4c97d1906a7762b66ae4a5ede9ac8a204543bc0aed8630a3ea52ca452e8c645ad616 SHA512 f7a3f07e6bcefe566a101c4db85192f0d2e3580be0ab10bc297e6c0192e79d29061a7c9f1a57cf5a628f03962deb8c2ed52e33effc1d5198d458627d70d882e6
DIST bvi-1.4.2.src.tar.gz 148323 BLAKE2B 8431b8cdb322a5a3bd011fb28cacc62f30bf02fa66bdb1e1e0993728fac28bd80da161c1011e9adbdf26d093374130b5413f3d2a739663d91b22403a5a740e2a SHA512 e2b23b75e5984e222060d3ad99381e1c54f45c28796b0dfe781072c406191272ffff2849218f90c29a398b245af604aa8f0f5448791bc5f3a2ef0f8395ca92c3

@ -1,22 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Display-oriented editor for binary files, based on the vi texteditor"
HOMEPAGE="http://bvi.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${P}.src.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
IUSE=""
KEYWORDS="~amd64 ~ppc ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
DEPEND="sys-libs/ncurses:0="
RDEPEND="${DEPEND}"
PATCHES=( "${FILESDIR}/${P}-prototypes.patch" )
src_configure() {
econf CFLAGS=-DANSI
}

@ -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
@ -17,8 +17,6 @@ KEYWORDS="~amd64 ~ppc ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
DEPEND="sys-libs/ncurses:0="
RDEPEND="${DEPEND}"
PATCHES=( "${FILESDIR}/${P}-prototypes.patch" )
src_configure() {
append-cflags -DANSI -std=gnu89
default

@ -6,7 +6,6 @@ DIST emacs-26.3-patches-5.tar.xz 5484 BLAKE2B dc2011b35d948d6106cfa4fd7f2ca5d459
DIST emacs-26.3.tar.xz 44415140 BLAKE2B aa8434e6431992ee40402f03a890dd2c49784ee76f437888efe61d66b9aa2bdb816eb0bfe1055e9e154a8bb3ed065fee71623741b474d465a96964618ec775e3 SHA512 4d5a4319253afb081e105a3697eb6eeb8d8a0da18cd41346e376ca5af1e180a26e641f76c64fad1b0253168f14a511f0a4d9d4141524fb1cf4d04f25b05a76e9
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-2.tar.xz 3064 BLAKE2B 052ae1cbf0f04d4f2e99a7be91920bdbb7cd41b8c3a47ffc54523dd5d35800374db1c420a709e5ae4c102809887bebc8a32b2c4e4e96b91ed0965d3f1b800f5e SHA512 e448ab9ffe8d24773d9557262283d2fd3b79544bce8837df8b97729cee4f6c19d95bd3a7a6f0e3c6a477e4d7b6ec5215cf4d1911525f62fe0143f3990466864f

@ -1,519 +0,0 @@
# 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-3.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
}

@ -36,7 +36,7 @@ else
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"
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"

@ -1 +1,2 @@
DIST featherpad-1.4.0.tar.gz 1105701 BLAKE2B 31311a9862f64554d57bc6c0688e5ec551a331f6f016b0bd3ab53225afd050347cc6758199ad17ebb5d7aba44b88a971f1e754d8ccd925369e09ed6639eb0131 SHA512 eb3f13dbad799d3a55a8c048a94c2acb2b9286775e75aec482f475c792e2b74078fc4d5cc43def8ba7b4f592ecb5b684c5890629edca5a488ccac336021cb7e8
DIST featherpad-1.4.1.tar.gz 1109511 BLAKE2B 127f0b18252ac020d6f66e315090968825e7a67309e3b5d66b8f119975f91b273973c9ac1b8a8c1bd46d2eece43df649eddb7b838d79fee0f5ddc2d4caae3fb2 SHA512 485d6e731ad5927bb6fd4499536d45b40319eff5bfd8a9b1cd9acc063dcb5fb35ced033e2e5aafa60c6bb87426fb1cb95fe5d78ffb5a2f361702d23320508ef8

@ -0,0 +1,38 @@
# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit xdg cmake
DESCRIPTION="Lightweight Qt5 Plain-Text Editor for Linux"
HOMEPAGE="https://github.com/tsujan/FeatherPad"
SRC_URI="https://github.com/tsujan/FeatherPad/archive/V${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/FeatherPad-${PV}"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~riscv ~x86"
IUSE="+X"
RDEPEND="app-text/hunspell:=
>=dev-qt/qtcore-5.15.0:5
dev-qt/qtdbus:5
dev-qt/qtgui:5
dev-qt/qtprintsupport:5
dev-qt/qtsvg:5
dev-qt/qtwidgets:5
X? (
dev-qt/qtx11extras:5
x11-libs/libX11
)"
DEPEND="${RDEPEND}
X? ( x11-base/xorg-proto )"
BDEPEND="dev-qt/linguist-tools:5"
src_configure() {
local mycmakeargs=(
-DWITHOUT_X11=$(usex !X)
)
cmake_src_configure
}

@ -1 +1,2 @@
DIST gnome-latex-3.44.0.tar.xz 1168840 BLAKE2B 7eb34502a9bcdcbb5c8e2d8336a3029fad1cdd1da0cbd704fae4de44a3aab913ed43228172dfe7798c7a513a61664fd8af97df0aff66d62f8502edbe845ac12f SHA512 d1dc7b2321438ebed7a209c7c750123a0dcf8ebcf92f73fd7eb4c79282f51d6b6a8328ee8759326f43e53dbd2ba9d1fadc056c2fcea11e7785e7c27574707e95
DIST gnome-latex-3.45.1.tar.xz 1216388 BLAKE2B e56c176a81b85bdd7965c9a96dd62a3208264c10f2cd425e26376b6ee4a00adf45b3af29b5e66a2a71b433a21a3eda8f67b8448194e18994f9afa304a40cd4d9 SHA512 2ed4d61029809dea4e040830ba1b0a9556fc65ac4d76803e0115581600e889a4716ddb36971b4162ee91372fcf5361191c0eda4961d82b97816e9a1ac3994dac

@ -0,0 +1,48 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit gnome2
DESCRIPTION="Integrated LaTeX environment for GNOME"
HOMEPAGE="https://gitlab.gnome.org/swilmet/gnome-latex"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~riscv ~x86"
IUSE="+introspection +latexmk rubber"
DEPEND="
>=dev-libs/glib-2.70:2
>=x11-libs/gtk+-3.22:3
>=app-text/gspell-1.8:0=
>=gui-libs/amtk-5.6:=
>=gui-libs/tepl-6.5.1:=
>=dev-libs/libgee-0.10:0.8=
gnome-base/gsettings-desktop-schemas
x11-libs/gdk-pixbuf:2
x11-libs/pango
introspection? ( >=dev-libs/gobject-introspection-1.30.0:= )
gnome-base/dconf
"
RDEPEND="${DEPEND}
virtual/latex-base
x11-themes/hicolor-icon-theme
latexmk? ( dev-tex/latexmk )
rubber? ( dev-tex/rubber )
"
BDEPEND="
dev-util/gdbus-codegen
dev-util/glib-utils
>=dev-util/gtk-doc-am-1.14
dev-util/itstool
>=sys-devel/gettext-0.19.6:0
virtual/pkgconfig
"
src_configure() {
gnome2_src_configure \
$(use_enable introspection) \
--enable-dconf_migration
}

@ -1 +1,2 @@
DIST gnome-text-editor-44.0.tar.xz 610996 BLAKE2B 02ab81055402df584a448d0e611b608e5fa10d6f4a600755cbab9f730aa1806268f7277dafb4fd3aa95ff2be64d2894806c6038ad81dae7cfb87b28dccc7da24 SHA512 bca373a124c3e648fa28da1a493163d768488fa3645fcfbfa7a115e195c0c971dc98e007c9c0fdf7fe415df64e76071fc83e33831707bb31154e66355948bbb3
DIST gnome-text-editor-45.alpha.tar.xz 605412 BLAKE2B fc8504e85a40bae866576325e5599ed274cc14bf9ac4391538419ca5afcd8bf51302948079f4bc52da16422ed46a13e93fe4d4f11f56d79f729c65847b175dcc SHA512 a4ba779a8454f13079a9e653272ed7aabca0df574acb22fd5271614f72569006186bd965db90a03c14a751fb15a2bb52a04b6d3338c487e0fcae5a26d88bbeba

@ -0,0 +1,57 @@
# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit gnome.org gnome2-utils meson xdg
DESCRIPTION="A simple text editor for the GNOME desktop"
HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-text-editor"
S="${WORKDIR}/gnome-text-editor-${PV/_/.}"
LICENSE="GPL-3+ CC-BY-SA-3.0"
SLOT="0"
IUSE="spell"
KEYWORDS="~amd64 ~riscv"
DEPEND="
>=dev-libs/glib-2.73.0:2
>=gui-libs/gtk-4.7:4
>=gui-libs/gtksourceview-5.5.0:5
>=gui-libs/libadwaita-1.4_alpha:1
app-text/editorconfig-core-c
x11-libs/cairo
spell? (
>=app-text/enchant-2.2.0:2
dev-libs/icu:=
)
"
RDEPEND="${DEPEND}
gnome-base/gsettings-desktop-schemas
"
BDEPEND="
dev-util/glib-utils
dev-util/itstool
>=sys-devel/gettext-0.21
virtual/pkgconfig
"
src_configure() {
local emesonargs=(
$(meson_feature spell enchant)
-Dbugreport_url="https://bugs.gentoo.org"
)
meson_src_configure
}
pkg_postinst() {
xdg_pkg_postinst
gnome2_schemas_update
}
pkg_postrm() {
xdg_pkg_postrm
gnome2_schemas_update
}

Binary file not shown.

@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -20,4 +20,4 @@ RDEPEND="app-emacs/windows
app-emacs/css-sort-buffer"
BDEPEND="${RDEPEND}"
SITEFILE="50${PN}-gentoo-0.7.el"
SITEFILE="50${PN}-gentoo.el"

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

Loading…
Cancel
Save