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
|
||||
}
|
@ -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
|
||||
}
|
@ -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
|
@ -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,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
|
||||
}
|
@ -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,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
|
||||
}
|
@ -1 +0,0 @@
|
||||
DIST tpm-emulator-0.7.5.tar.gz 222341 BLAKE2B c6dc7494800f4c6d1f5e622c6a47fdd5487e0f2cbc34173d9039d6eb5fd7541dd2c1f514efbf220c605424059844e18650b31ee9934eda6626427b915fd6bc53 SHA512 24c16ec36ca92c484d6e8dfa53c8ca00dbc5b58d78d7166041db1e9ae277d763f0fc0a6b0cbd7e62fcf4671f6ad2d8df1213256be0a4200b79b6ee61ab73b2ef
|
@ -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 +0,0 @@
|
||||
STARTUP_MODE="save"
|
@ -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
|
||||
}
|
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,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
|
||||
}
|
@ -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.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue