parent
017595d94f
commit
c8239f6264
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,14 +1,4 @@
|
|||||||
DIST awscli-1.22.63.tar.gz 2167746 BLAKE2B e72126578c9bac30c6d66bdd178961a7a36a045788d8079e8f0ab4c85d18c29454255a13f089c03ef53bdce0949d168c858d03b59cf5d5326fb3de9925a3f487 SHA512 4d8a6ee8b81445fbb51dbb31e899bebb5610b0a1291654eb9b6555685dcb85528c2b928f587d9ff98507f60d2b199ac71c48f6e204e7eb2ce2ba5d7abdd31ec0
|
|
||||||
DIST awscli-1.22.70.tar.gz 2177284 BLAKE2B 1ba770ba1b1404d6ff31d95ee198cba41321fe79d618d8b2ab8258da75f9cc56d5af95851dbed837b65e4fdbd82193639da5614551fe2d7f0ebc20df44531615 SHA512 0f246e82cee70b8d16e1fc7e30aae67554f5186eb2a0251295b25eafe23d7b29293059be7ebffbe7a45c665d0bae210699093b86bf7b3e188017018d8329af84
|
|
||||||
DIST awscli-1.22.77.tar.gz 2179996 BLAKE2B fec49002841fa634bd2b7ae72f534bda875d69169179bbeb85eac18f2d9e9102121b6c0d73d8c7132ac0a6b8e5a8a39cea258d90c15f90b29b44d12ed509cfd1 SHA512 0fa89b6a2dd9dfc7e7be713c10b7470ad8fe8877a7fa9712510254cfbef36771f9e2541adfef9366e13e2273a373c2b88730572f7f1ad79c19f67e57c17e6631
|
DIST awscli-1.22.77.tar.gz 2179996 BLAKE2B fec49002841fa634bd2b7ae72f534bda875d69169179bbeb85eac18f2d9e9102121b6c0d73d8c7132ac0a6b8e5a8a39cea258d90c15f90b29b44d12ed509cfd1 SHA512 0fa89b6a2dd9dfc7e7be713c10b7470ad8fe8877a7fa9712510254cfbef36771f9e2541adfef9366e13e2273a373c2b88730572f7f1ad79c19f67e57c17e6631
|
||||||
DIST awscli-1.22.80.tar.gz 2182289 BLAKE2B 632aa3806ffc6924b9d359f437b89f4c494065ee57f352c4ea83c1c6a012090ae3bf050eb633708fca9e50dd53205bfa3c838ee5c64088a253b7d2ad9fcb4427 SHA512 a35214dc4dc6280c2774f0423af1a933260bc9ef718ec1779b50d52c5b47d05034f8a8ff327c01af59b3490acd5dad3921535ec848c00885136fdb7909bbeb75
|
|
||||||
DIST awscli-1.22.81.tar.gz 2182494 BLAKE2B 57f62fc372f065f7b7c3a7b7b4fe32fed1bdb439d2abb8070d0383bede89ece50016b92ecd48c0b6b9b258a56843a0989bca63c49f41923b702b38c5d5a09daf SHA512 ef2b452ac579730eb37796b55e3214df10df54307c826773f4c8334270eb08d1d72a5de468c1e058ce72cc92c93e913c8d9e764b74af0fc35ba078b190af5364
|
|
||||||
DIST awscli-1.22.82.tar.gz 2182473 BLAKE2B 0d73e62f7c394c1ac77f6b011e2303d9b48b8fd6d874360aef6b2fc4378feb8f9fa04b88e9c1ee8cf0cb5fb7d1884d4a08eee64093c151de274c1aa50777ebf3 SHA512 195061199fa3ed24b5be2a22a5d0ee2891bfb616239aaf54e5aa8715b3374e68edad613ea6e6b71a165e501b5a009856993259de3ac57f14ff3cd2a39453ec38
|
DIST awscli-1.22.82.tar.gz 2182473 BLAKE2B 0d73e62f7c394c1ac77f6b011e2303d9b48b8fd6d874360aef6b2fc4378feb8f9fa04b88e9c1ee8cf0cb5fb7d1884d4a08eee64093c151de274c1aa50777ebf3 SHA512 195061199fa3ed24b5be2a22a5d0ee2891bfb616239aaf54e5aa8715b3374e68edad613ea6e6b71a165e501b5a009856993259de3ac57f14ff3cd2a39453ec38
|
||||||
DIST awscli-1.22.83.tar.gz 2182511 BLAKE2B 45e4868e83d130bee6c5a7cb59792d4d66e76d3c1ac14a5c99f49f3f93461970ba881a515b4816374baea81250733d061a8618ca8244b9fb4bbd289b67b0c7fd SHA512 dc24134650aceb45e035d6009cafd353aef9cf08a8db00d7bdfa4e7a0056bcf3ded50b94086fae8ca70ff349cf880ad75ef756748f8f70d84b2bb5397d6685bd
|
|
||||||
DIST awscli-1.22.84.tar.gz 2182437 BLAKE2B 0b61b6d96da302c95c83bdeedfa14abbcacb1cb3f1a320faa8ca2ee275e43407c0c109c73b7e39879002a920a100a9808fd74582b0620b97534a8eb0deef54a2 SHA512 14054f90c0d4e000869bd6313f61241a736474faf79b8e5768f5e0aadf7230fc6c8441f5c332a1ee4dc22e0023416713d89cde96a4fff4d83ab6826748aaff53
|
|
||||||
DIST awscli-1.22.85.tar.gz 2183008 BLAKE2B c1fe5dd82331a3b1618d34d739803058c7422087b64959bbccdc0408852ae2f0d5b9a423925176468131befeba25cb035b73e6264e3fb17e5237c407b7e7b342 SHA512 fe767ecddf2979af0d817bd4276737c5372293c27ccec1844e54c2a0f46fc061fceb6cccafc5ef47f17f65d5b77d9ac4189e17e077736c4ad5dd72ecef4b556c
|
|
||||||
DIST awscli-1.22.86.tar.gz 2184477 BLAKE2B fee34978cef17a0b4f51a9a110836882e11641914f7b2569dc2ce35be705abab16eda68a5706fa8c2bf24ee1c018c97d785296cec31c52aeb5bdf40511475fb9 SHA512 640de79a71459f3532c1d03ce6708a279e3a56e6f13dc3f72d73ced6888d8e30abe02806f6bee1ed04d7d909a667805daeeffaea9829e97b0f1447330d2d0a56
|
|
||||||
DIST awscli-1.22.87.tar.gz 2185493 BLAKE2B 5d274e0c9483b22e664ad6de8710c04cc99f854b7c1efdac6dd4164deab47dc55d35520b34b276f8b4de1ee8b1ed10205b1806a31fc776d17b289a5e29277016 SHA512 c117fb8f89680836206f678637fb480ffd06db2225533bff75686eb8c1bd6e450297adb11863247441eeed67744b13930c0f62afce1dd12527d06d4e2eb58a4b
|
DIST awscli-1.22.87.tar.gz 2185493 BLAKE2B 5d274e0c9483b22e664ad6de8710c04cc99f854b7c1efdac6dd4164deab47dc55d35520b34b276f8b4de1ee8b1ed10205b1806a31fc776d17b289a5e29277016 SHA512 c117fb8f89680836206f678637fb480ffd06db2225533bff75686eb8c1bd6e450297adb11863247441eeed67744b13930c0f62afce1dd12527d06d4e2eb58a4b
|
||||||
DIST awscli-1.22.88.tar.gz 2185767 BLAKE2B cf7d161ae781f9a66053a0b0b65c9fdfe9048c924c46b3052ac6c1156bfaa67adba46f36dfa5a7b12686106af1c928450acc10fe03e9c442286a9a5662d992db SHA512 d5d8fcf05322413ba817f9d5f86d8c7e3863d769f9e9ec298ebb686729273ca82a90bf78eb09ac15ba65bc0b68435394d141210ffdcf55bbe7468a62b49a4113
|
|
||||||
DIST awscli-1.22.89.tar.gz 2186269 BLAKE2B 8b3019cfc585f53145bdbd4342182747cb34dfb3ec75c3cdf7f01e6d4482ac115cdbcf9f077c07fbe0e7e3b312824b6c635165cfafd6b5e19d87b51350e6fcc7 SHA512 90580cdb7a82a14af5d0abc4b67f6ca3e1cd4a2ab68240e54d23a83b52af512b3452498c3baf2e54f9c24dc1243be66cf3f418dcfa4712e312f6bb41624478ad
|
|
||||||
DIST awscli-1.22.90.tar.gz 2186538 BLAKE2B 16b1942ee9fa65240a1b8b045b8e3e8659cc299a4cf52a876dae5cdc28088e7d6380c7961934fec590481aab5e71f60d08b21aac620a4485aa5872402c696549 SHA512 ef45718ebc2460e431f5177919a9d2e3de12dd68c9043b27f83ffb589672594fe7116ceed3b5e2fd62d502557a965cd0a3baf4af4de58c4a3176e39ba96e7076
|
DIST awscli-1.22.90.tar.gz 2186538 BLAKE2B 16b1942ee9fa65240a1b8b045b8e3e8659cc299a4cf52a876dae5cdc28088e7d6380c7961934fec590481aab5e71f60d08b21aac620a4485aa5872402c696549 SHA512 ef45718ebc2460e431f5177919a9d2e3de12dd68c9043b27f83ffb589672594fe7116ceed3b5e2fd62d502557a965cd0a3baf4af4de58c4a3176e39ba96e7076
|
||||||
|
@ -1,65 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
DISTUTILS_USE_PEP517=setuptools
|
|
||||||
PYTHON_COMPAT=( python3_{8..10} )
|
|
||||||
inherit bash-completion-r1 distutils-r1 multiprocessing
|
|
||||||
|
|
||||||
DESCRIPTION="Universal Command Line Environment for AWS"
|
|
||||||
HOMEPAGE="https://pypi.org/project/awscli/"
|
|
||||||
#SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
|
|
||||||
SRC_URI="https://github.com/aws/aws-cli/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
|
||||||
S="${WORKDIR}/aws-cli-${PV}"
|
|
||||||
|
|
||||||
LICENSE="Apache-2.0"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="amd64 ~arm64 x86"
|
|
||||||
|
|
||||||
# awscli 1.22.55 → botocore 1.24.0
|
|
||||||
# so botocore is x.(y+2).(z-55)
|
|
||||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(( $(ver_cut 3-) - 55))"
|
|
||||||
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.4.0[${PYTHON_USEDEP}]
|
|
||||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
|
||||||
"
|
|
||||||
BDEPEND="
|
|
||||||
test? (
|
|
||||||
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() {
|
|
||||||
# integration tests require AWS credentials and Internet access
|
|
||||||
epytest tests/{functional,unit} \
|
|
||||||
-n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
|
|
||||||
}
|
|
||||||
|
|
||||||
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,65 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
DISTUTILS_USE_PEP517=setuptools
|
|
||||||
PYTHON_COMPAT=( python3_{8..10} )
|
|
||||||
inherit bash-completion-r1 distutils-r1 multiprocessing
|
|
||||||
|
|
||||||
DESCRIPTION="Universal Command Line Environment for AWS"
|
|
||||||
HOMEPAGE="https://pypi.org/project/awscli/"
|
|
||||||
#SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
|
|
||||||
SRC_URI="https://github.com/aws/aws-cli/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
|
||||||
S="${WORKDIR}/aws-cli-${PV}"
|
|
||||||
|
|
||||||
LICENSE="Apache-2.0"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
|
||||||
|
|
||||||
# awscli 1.22.55 → botocore 1.24.0
|
|
||||||
# so botocore is x.(y+2).(z-55)
|
|
||||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(( $(ver_cut 3-) - 55))"
|
|
||||||
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.4.0[${PYTHON_USEDEP}]
|
|
||||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
|
||||||
"
|
|
||||||
BDEPEND="
|
|
||||||
test? (
|
|
||||||
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() {
|
|
||||||
# integration tests require AWS credentials and Internet access
|
|
||||||
epytest tests/{functional,unit} \
|
|
||||||
-n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
|
|
||||||
}
|
|
||||||
|
|
||||||
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,66 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
DISTUTILS_USE_PEP517=setuptools
|
|
||||||
PYTHON_COMPAT=( python3_{8..10} )
|
|
||||||
|
|
||||||
inherit bash-completion-r1 distutils-r1 multiprocessing
|
|
||||||
|
|
||||||
DESCRIPTION="Universal Command Line Environment for AWS"
|
|
||||||
HOMEPAGE="https://pypi.org/project/awscli/"
|
|
||||||
#SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
|
|
||||||
SRC_URI="https://github.com/aws/aws-cli/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
|
||||||
S="${WORKDIR}/aws-cli-${PV}"
|
|
||||||
|
|
||||||
LICENSE="Apache-2.0"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
|
||||||
|
|
||||||
# awscli 1.22.55 → botocore 1.24.0
|
|
||||||
# so botocore is x.(y+2).(z-55)
|
|
||||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(( $(ver_cut 3-) - 55))"
|
|
||||||
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.4.0[${PYTHON_USEDEP}]
|
|
||||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
|
||||||
"
|
|
||||||
BDEPEND="
|
|
||||||
test? (
|
|
||||||
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() {
|
|
||||||
# integration tests require AWS credentials and Internet access
|
|
||||||
epytest tests/{functional,unit} \
|
|
||||||
-n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
|
|
||||||
}
|
|
||||||
|
|
||||||
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,66 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
DISTUTILS_USE_PEP517=setuptools
|
|
||||||
PYTHON_COMPAT=( python3_{8..10} )
|
|
||||||
|
|
||||||
inherit bash-completion-r1 distutils-r1 multiprocessing
|
|
||||||
|
|
||||||
DESCRIPTION="Universal Command Line Environment for AWS"
|
|
||||||
HOMEPAGE="https://pypi.org/project/awscli/"
|
|
||||||
#SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
|
|
||||||
SRC_URI="https://github.com/aws/aws-cli/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
|
||||||
S="${WORKDIR}/aws-cli-${PV}"
|
|
||||||
|
|
||||||
LICENSE="Apache-2.0"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
|
||||||
|
|
||||||
# awscli 1.22.55 → botocore 1.24.0
|
|
||||||
# so botocore is x.(y+2).(z-55)
|
|
||||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(( $(ver_cut 3-) - 55))"
|
|
||||||
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.4.0[${PYTHON_USEDEP}]
|
|
||||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
|
||||||
"
|
|
||||||
BDEPEND="
|
|
||||||
test? (
|
|
||||||
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() {
|
|
||||||
# integration tests require AWS credentials and Internet access
|
|
||||||
epytest tests/{functional,unit} \
|
|
||||||
-n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
|
|
||||||
}
|
|
||||||
|
|
||||||
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,66 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
DISTUTILS_USE_PEP517=setuptools
|
|
||||||
PYTHON_COMPAT=( python3_{8..10} )
|
|
||||||
|
|
||||||
inherit bash-completion-r1 distutils-r1 multiprocessing
|
|
||||||
|
|
||||||
DESCRIPTION="Universal Command Line Environment for AWS"
|
|
||||||
HOMEPAGE="https://pypi.org/project/awscli/"
|
|
||||||
#SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
|
|
||||||
SRC_URI="https://github.com/aws/aws-cli/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
|
||||||
S="${WORKDIR}/aws-cli-${PV}"
|
|
||||||
|
|
||||||
LICENSE="Apache-2.0"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
|
||||||
|
|
||||||
# awscli 1.22.55 → botocore 1.24.0
|
|
||||||
# so botocore is x.(y+2).(z-55)
|
|
||||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(( $(ver_cut 3-) - 55))"
|
|
||||||
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.4.0[${PYTHON_USEDEP}]
|
|
||||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
|
||||||
"
|
|
||||||
BDEPEND="
|
|
||||||
test? (
|
|
||||||
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() {
|
|
||||||
# integration tests require AWS credentials and Internet access
|
|
||||||
epytest tests/{functional,unit} \
|
|
||||||
-n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
|
|
||||||
}
|
|
||||||
|
|
||||||
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,66 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
DISTUTILS_USE_PEP517=setuptools
|
|
||||||
PYTHON_COMPAT=( python3_{8..10} )
|
|
||||||
|
|
||||||
inherit bash-completion-r1 distutils-r1 multiprocessing
|
|
||||||
|
|
||||||
DESCRIPTION="Universal Command Line Environment for AWS"
|
|
||||||
HOMEPAGE="https://pypi.org/project/awscli/"
|
|
||||||
#SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
|
|
||||||
SRC_URI="https://github.com/aws/aws-cli/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
|
||||||
S="${WORKDIR}/aws-cli-${PV}"
|
|
||||||
|
|
||||||
LICENSE="Apache-2.0"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
|
||||||
|
|
||||||
# awscli 1.22.55 → botocore 1.24.0
|
|
||||||
# so botocore is x.(y+2).(z-55)
|
|
||||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(( $(ver_cut 3-) - 55))"
|
|
||||||
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.4.0[${PYTHON_USEDEP}]
|
|
||||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
|
||||||
"
|
|
||||||
BDEPEND="
|
|
||||||
test? (
|
|
||||||
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() {
|
|
||||||
# integration tests require AWS credentials and Internet access
|
|
||||||
epytest tests/{functional,unit} \
|
|
||||||
-n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
|
|
||||||
}
|
|
||||||
|
|
||||||
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,66 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
DISTUTILS_USE_PEP517=setuptools
|
|
||||||
PYTHON_COMPAT=( python3_{8..10} )
|
|
||||||
|
|
||||||
inherit bash-completion-r1 distutils-r1 multiprocessing
|
|
||||||
|
|
||||||
DESCRIPTION="Universal Command Line Environment for AWS"
|
|
||||||
HOMEPAGE="https://pypi.org/project/awscli/"
|
|
||||||
#SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
|
|
||||||
SRC_URI="https://github.com/aws/aws-cli/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
|
||||||
S="${WORKDIR}/aws-cli-${PV}"
|
|
||||||
|
|
||||||
LICENSE="Apache-2.0"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
|
||||||
|
|
||||||
# awscli 1.22.55 → botocore 1.24.0
|
|
||||||
# so botocore is x.(y+2).(z-55)
|
|
||||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(( $(ver_cut 3-) - 55))"
|
|
||||||
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.4.0[${PYTHON_USEDEP}]
|
|
||||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
|
||||||
"
|
|
||||||
BDEPEND="
|
|
||||||
test? (
|
|
||||||
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() {
|
|
||||||
# integration tests require AWS credentials and Internet access
|
|
||||||
epytest tests/{functional,unit} \
|
|
||||||
-n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
|
|
||||||
}
|
|
||||||
|
|
||||||
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,66 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
DISTUTILS_USE_PEP517=setuptools
|
|
||||||
PYTHON_COMPAT=( python3_{8..10} )
|
|
||||||
|
|
||||||
inherit bash-completion-r1 distutils-r1 multiprocessing
|
|
||||||
|
|
||||||
DESCRIPTION="Universal Command Line Environment for AWS"
|
|
||||||
HOMEPAGE="https://pypi.org/project/awscli/"
|
|
||||||
#SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
|
|
||||||
SRC_URI="https://github.com/aws/aws-cli/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
|
||||||
S="${WORKDIR}/aws-cli-${PV}"
|
|
||||||
|
|
||||||
LICENSE="Apache-2.0"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
|
||||||
|
|
||||||
# awscli 1.22.55 → botocore 1.24.0
|
|
||||||
# so botocore is x.(y+2).(z-55)
|
|
||||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(( $(ver_cut 3-) - 55))"
|
|
||||||
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.4.0[${PYTHON_USEDEP}]
|
|
||||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
|
||||||
"
|
|
||||||
BDEPEND="
|
|
||||||
test? (
|
|
||||||
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() {
|
|
||||||
# integration tests require AWS credentials and Internet access
|
|
||||||
epytest tests/{functional,unit} \
|
|
||||||
-n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
|
|
||||||
}
|
|
||||||
|
|
||||||
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,66 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
DISTUTILS_USE_PEP517=setuptools
|
|
||||||
PYTHON_COMPAT=( python3_{8..10} )
|
|
||||||
|
|
||||||
inherit bash-completion-r1 distutils-r1 multiprocessing
|
|
||||||
|
|
||||||
DESCRIPTION="Universal Command Line Environment for AWS"
|
|
||||||
HOMEPAGE="https://pypi.org/project/awscli/"
|
|
||||||
#SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
|
|
||||||
SRC_URI="https://github.com/aws/aws-cli/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
|
||||||
S="${WORKDIR}/aws-cli-${PV}"
|
|
||||||
|
|
||||||
LICENSE="Apache-2.0"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
|
||||||
|
|
||||||
# awscli 1.22.55 → botocore 1.24.0
|
|
||||||
# so botocore is x.(y+2).(z-55)
|
|
||||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(( $(ver_cut 3-) - 55))"
|
|
||||||
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.4.0[${PYTHON_USEDEP}]
|
|
||||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
|
||||||
"
|
|
||||||
BDEPEND="
|
|
||||||
test? (
|
|
||||||
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() {
|
|
||||||
# integration tests require AWS credentials and Internet access
|
|
||||||
epytest tests/{functional,unit} \
|
|
||||||
-n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
|
|
||||||
}
|
|
||||||
|
|
||||||
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,66 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
DISTUTILS_USE_PEP517=setuptools
|
|
||||||
PYTHON_COMPAT=( python3_{8..10} )
|
|
||||||
|
|
||||||
inherit bash-completion-r1 distutils-r1 multiprocessing
|
|
||||||
|
|
||||||
DESCRIPTION="Universal Command Line Environment for AWS"
|
|
||||||
HOMEPAGE="https://pypi.org/project/awscli/"
|
|
||||||
#SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
|
|
||||||
SRC_URI="https://github.com/aws/aws-cli/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
|
||||||
S="${WORKDIR}/aws-cli-${PV}"
|
|
||||||
|
|
||||||
LICENSE="Apache-2.0"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
|
||||||
|
|
||||||
# awscli 1.22.55 → botocore 1.24.0
|
|
||||||
# so botocore is x.(y+2).(z-55)
|
|
||||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(( $(ver_cut 3-) - 55))"
|
|
||||||
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.4.0[${PYTHON_USEDEP}]
|
|
||||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
|
||||||
"
|
|
||||||
BDEPEND="
|
|
||||||
test? (
|
|
||||||
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() {
|
|
||||||
# integration tests require AWS credentials and Internet access
|
|
||||||
epytest tests/{functional,unit} \
|
|
||||||
-n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
|
|
||||||
}
|
|
||||||
|
|
||||||
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
|
|
||||||
}
|
|
Binary file not shown.
@ -1,3 +1,5 @@
|
|||||||
DIST gzip-1.10.tar.xz 775144 BLAKE2B 431dc0fd11061eabd9db86594777b86510b124b124fd74799eacd67334631af60f638be2638413bee0153a9da35528d0aecc5b5083152c395223705400c9103b SHA512 e6ba9e3906cdb6a6235b213515093d02afa1722686f73eddacbacae628542b586b449829783b6a1701e9b9e0c4d4dfa6845904d3b6b010f5cf21aec4997c9299
|
DIST gzip-1.10.tar.xz 775144 BLAKE2B 431dc0fd11061eabd9db86594777b86510b124b124fd74799eacd67334631af60f638be2638413bee0153a9da35528d0aecc5b5083152c395223705400c9103b SHA512 e6ba9e3906cdb6a6235b213515093d02afa1722686f73eddacbacae628542b586b449829783b6a1701e9b9e0c4d4dfa6845904d3b6b010f5cf21aec4997c9299
|
||||||
DIST gzip-1.11.tar.xz 804096 BLAKE2B c251066f0bded6a6557a5cbfe5d20090c6446051c31fad610af4f9f7b2537c28fed1cfab424a459452db73b7d1df1361e5aeba163a9e980fc611faf408cac128 SHA512 af297c173297d588722f4d0f140a2ae4d3ea3861464191772fb2e11e47be43644b5ae01ed63f0051d6eb4751666284de53e14c4dd9f0c1d25f61cf676fbf11f3
|
DIST gzip-1.11.tar.xz 804096 BLAKE2B c251066f0bded6a6557a5cbfe5d20090c6446051c31fad610af4f9f7b2537c28fed1cfab424a459452db73b7d1df1361e5aeba163a9e980fc611faf408cac128 SHA512 af297c173297d588722f4d0f140a2ae4d3ea3861464191772fb2e11e47be43644b5ae01ed63f0051d6eb4751666284de53e14c4dd9f0c1d25f61cf676fbf11f3
|
||||||
DIST gzip-1.11.tar.xz.sig 833 BLAKE2B 3fde8303efdb96c38272e7e6886590e324cb13ce66bc592449c38852f176faf85edc8b992be0ff6a97f97be5d3c7df108bca2821ecb94decb2455fb8c2e11429 SHA512 ec039bf980714cdf122b4f13ba479fe6e23f123f4a553ca4f72935f331485a4b69f451361fc955e9ba3461ca650e4eaf04c617cad1fb985dd07529263d69525e
|
DIST gzip-1.11.tar.xz.sig 833 BLAKE2B 3fde8303efdb96c38272e7e6886590e324cb13ce66bc592449c38852f176faf85edc8b992be0ff6a97f97be5d3c7df108bca2821ecb94decb2455fb8c2e11429 SHA512 ec039bf980714cdf122b4f13ba479fe6e23f123f4a553ca4f72935f331485a4b69f451361fc955e9ba3461ca650e4eaf04c617cad1fb985dd07529263d69525e
|
||||||
|
DIST gzip-1.12.tar.xz 825548 BLAKE2B 7e2d482c08555f5fb0ff5408c0afe48c61034e9779eed6e3dd8046c847234c0a8a6bc34d49a934a54db0d73033e12c71a228d373551384a4cd663315071637e0 SHA512 116326fe991828227de150336a0c016f4fe932dfbb728a16b4a84965256d9929574a4f5cfaf3cf6bb4154972ef0d110f26ab472c93e62ec9a5fd7a5d65abea24
|
||||||
|
DIST gzip-1.12.tar.xz.sig 833 BLAKE2B ab7b4a759ef163d67f20773607ba0408ea9f1f7c7c224f43635fc3752acc521b74dbea4ec9ebb58a2f4fa13ecae19e00779b4b56c2cb95976301445beff817aa SHA512 1f4702797f7c5f1873c2f9c2f6210ba23824455d17ee82f50f0bf24240ed5bdf0090cf85338ccf76ba82422f8b4ad3a329d8bbf1350cb094d7bd61aa45550397
|
||||||
|
@ -0,0 +1,49 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/gzip.asc
|
||||||
|
inherit flag-o-matic verify-sig
|
||||||
|
|
||||||
|
DESCRIPTION="Standard GNU compressor"
|
||||||
|
HOMEPAGE="https://www.gnu.org/software/gzip/"
|
||||||
|
SRC_URI="mirror://gnu/gzip/${P}.tar.xz
|
||||||
|
https://alpha.gnu.org/gnu/gzip/${P}.tar.xz"
|
||||||
|
SRC_URI+=" verify-sig? (
|
||||||
|
mirror://gnu/gzip/${P}.tar.xz.sig
|
||||||
|
https://alpha.gnu.org/gnu/gzip/${P}.tar.xz.sig
|
||||||
|
)"
|
||||||
|
|
||||||
|
LICENSE="GPL-3"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
|
IUSE="pic static"
|
||||||
|
|
||||||
|
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-gzip )"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}/${PN}-1.3.8-install-symlinks.patch"
|
||||||
|
)
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
use static && append-flags -static
|
||||||
|
|
||||||
|
# Avoid text relocation in gzip
|
||||||
|
use pic && export DEFS="NO_ASM"
|
||||||
|
|
||||||
|
# bug #663928
|
||||||
|
econf --disable-gcc-warnings
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
default
|
||||||
|
|
||||||
|
docinto txt
|
||||||
|
dodoc algorithm.doc gzip.doc
|
||||||
|
|
||||||
|
# keep most things in /usr, just the fun stuff in /
|
||||||
|
dodir /bin
|
||||||
|
mv "${ED}"/usr/bin/{gunzip,gzip,uncompress,zcat} "${ED}"/bin/ || die
|
||||||
|
sed -e "s:${EPREFIX}/usr:${EPREFIX}:" -i "${ED}"/bin/gunzip || die
|
||||||
|
}
|
@ -0,0 +1,88 @@
|
|||||||
|
https://bugs.gentoo.org/837155
|
||||||
|
https://git.tukaani.org/?p=xz.git;a=commitdiff;h=69d1b3fc29677af8ade8dc15dba83f0589cb63d6;hp=bd93b776c1bd15e90661033c918cdeb354dbcc38
|
||||||
|
|
||||||
|
From: Lasse Collin <lasse.collin@tukaani.org>
|
||||||
|
Date: Tue, 29 Mar 2022 19:19:12 +0300
|
||||||
|
Subject: [PATCH 1/1] xzgrep: Fix escaping of malicious filenames
|
||||||
|
(ZDI-CAN-16587).
|
||||||
|
|
||||||
|
Malicious filenames can make xzgrep to write to arbitrary files
|
||||||
|
or (with a GNU sed extension) lead to arbitrary code execution.
|
||||||
|
|
||||||
|
xzgrep from XZ Utils versions up to and including 5.2.5 are
|
||||||
|
affected. 5.3.1alpha and 5.3.2alpha are affected as well.
|
||||||
|
This patch works for all of them.
|
||||||
|
|
||||||
|
This bug was inherited from gzip's zgrep. gzip 1.12 includes
|
||||||
|
a fix for zgrep.
|
||||||
|
|
||||||
|
The issue with the old sed script is that with multiple newlines,
|
||||||
|
the N-command will read the second line of input, then the
|
||||||
|
s-commands will be skipped because it's not the end of the
|
||||||
|
file yet, then a new sed cycle starts and the pattern space
|
||||||
|
is printed and emptied. So only the last line or two get escaped.
|
||||||
|
|
||||||
|
One way to fix this would be to read all lines into the pattern
|
||||||
|
space first. However, the included fix is even simpler: All lines
|
||||||
|
except the last line get a backslash appended at the end. To ensure
|
||||||
|
that shell command substitution doesn't eat a possible trailing
|
||||||
|
newline, a colon is appended to the filename before escaping.
|
||||||
|
The colon is later used to separate the filename from the grep
|
||||||
|
output so it is fine to add it here instead of a few lines later.
|
||||||
|
|
||||||
|
The old code also wasn't POSIX compliant as it used \n in the
|
||||||
|
replacement section of the s-command. Using \<newline> is the
|
||||||
|
POSIX compatible method.
|
||||||
|
|
||||||
|
LC_ALL=C was added to the two critical sed commands. POSIX sed
|
||||||
|
manual recommends it when using sed to manipulate pathnames
|
||||||
|
because in other locales invalid multibyte sequences might
|
||||||
|
cause issues with some sed implementations. In case of GNU sed,
|
||||||
|
these particular sed scripts wouldn't have such problems but some
|
||||||
|
other scripts could have, see:
|
||||||
|
|
||||||
|
info '(sed)Locale Considerations'
|
||||||
|
|
||||||
|
This vulnerability was discovered by:
|
||||||
|
cleemy desu wayo working with Trend Micro Zero Day Initiative
|
||||||
|
|
||||||
|
Thanks to Jim Meyering and Paul Eggert discussing the different
|
||||||
|
ways to fix this and for coordinating the patch release schedule
|
||||||
|
with gzip.
|
||||||
|
--- a/src/scripts/xzgrep.in
|
||||||
|
+++ b/src/scripts/xzgrep.in
|
||||||
|
@@ -180,22 +180,26 @@ for i; do
|
||||||
|
{ test $# -eq 1 || test $no_filename -eq 1; }; then
|
||||||
|
eval "$grep"
|
||||||
|
else
|
||||||
|
+ # Append a colon so that the last character will never be a newline
|
||||||
|
+ # which would otherwise get lost in shell command substitution.
|
||||||
|
+ i="$i:"
|
||||||
|
+
|
||||||
|
+ # Escape & \ | and newlines only if such characters are present
|
||||||
|
+ # (speed optimization).
|
||||||
|
case $i in
|
||||||
|
(*'
|
||||||
|
'* | *'&'* | *'\'* | *'|'*)
|
||||||
|
- i=$(printf '%s\n' "$i" |
|
||||||
|
- sed '
|
||||||
|
- $!N
|
||||||
|
- $s/[&\|]/\\&/g
|
||||||
|
- $s/\n/\\n/g
|
||||||
|
- ');;
|
||||||
|
+ i=$(printf '%s\n' "$i" | LC_ALL=C sed 's/[&\|]/\\&/g; $!s/$/\\/');;
|
||||||
|
esac
|
||||||
|
- sed_script="s|^|$i:|"
|
||||||
|
+
|
||||||
|
+ # $i already ends with a colon so don't add it here.
|
||||||
|
+ sed_script="s|^|$i|"
|
||||||
|
|
||||||
|
# Fail if grep or sed fails.
|
||||||
|
r=$(
|
||||||
|
exec 4>&1
|
||||||
|
- (eval "$grep" 4>&-; echo $? >&4) 3>&- | sed "$sed_script" >&3 4>&-
|
||||||
|
+ (eval "$grep" 4>&-; echo $? >&4) 3>&- |
|
||||||
|
+ LC_ALL=C sed "$sed_script" >&3 4>&-
|
||||||
|
) || r=2
|
||||||
|
exit $r
|
||||||
|
fi >&3 5>&-
|
@ -0,0 +1,118 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
# Remember: we cannot leverage autotools in this ebuild in order
|
||||||
|
# to avoid circular deps with autotools
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
inherit libtool multilib multilib-minimal preserve-libs usr-ldscript
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
|
EGIT_REPO_URI="https://git.tukaani.org/xz.git"
|
||||||
|
inherit git-r3 autotools
|
||||||
|
|
||||||
|
# bug #272880 and bug #286068
|
||||||
|
BDEPEND="sys-devel/gettext >=sys-devel/libtool-2"
|
||||||
|
else
|
||||||
|
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/lassecollin.asc
|
||||||
|
inherit verify-sig
|
||||||
|
|
||||||
|
MY_P="${PN/-utils}-${PV/_}"
|
||||||
|
SRC_URI="https://tukaani.org/xz/${MY_P}.tar.gz"
|
||||||
|
SRC_URI+=" verify-sig? ( https://tukaani.org/xz/${MY_P}.tar.gz.sig )"
|
||||||
|
|
||||||
|
if [[ ${PV} != *_alpha* ]] && [[ ${PV} != *_beta* ]] ; then
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
|
fi
|
||||||
|
S="${WORKDIR}/${MY_P}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DESCRIPTION="Utils for managing LZMA compressed files"
|
||||||
|
HOMEPAGE="https://tukaani.org/xz/"
|
||||||
|
|
||||||
|
# See top-level COPYING file as it outlines the various pieces and their licenses.
|
||||||
|
LICENSE="public-domain LGPL-2.1+ GPL-2+"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE="+extra-filters nls static-libs"
|
||||||
|
|
||||||
|
RDEPEND="!<app-arch/lzma-4.63
|
||||||
|
!<app-arch/p7zip-4.57
|
||||||
|
!<app-i18n/man-pages-de-2.16"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-lassecollin )"
|
||||||
|
|
||||||
|
# Tests currently do not account for smaller feature set
|
||||||
|
RESTRICT="!extra-filters? ( test )"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}"/${P}-xzgrep-ZDI-CAN-16587.patch
|
||||||
|
)
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
|
eautopoint
|
||||||
|
eautoreconf
|
||||||
|
else
|
||||||
|
# Allow building shared libs on Solaris/x64
|
||||||
|
elibtoolize
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_configure() {
|
||||||
|
local myconf=(
|
||||||
|
--enable-threads
|
||||||
|
$(use_enable nls)
|
||||||
|
$(use_enable static-libs static)
|
||||||
|
)
|
||||||
|
|
||||||
|
if ! multilib_is_native_abi ; then
|
||||||
|
myconf+=(
|
||||||
|
--disable-{xz,xzdec,lzmadec,lzmainfo,lzma-links,scripts}
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! use extra-filters ; then
|
||||||
|
myconf+=(
|
||||||
|
# LZMA1 + LZMA2 for standard .lzma & .xz files
|
||||||
|
--enable-encoders=lzma1,lzma2
|
||||||
|
--enable-decoders=lzma1,lzma2
|
||||||
|
|
||||||
|
# those are used by default, depending on preset
|
||||||
|
--enable-match-finders=hc3,hc4,bt4
|
||||||
|
|
||||||
|
# CRC64 is used by default, though some (old?) files use CRC32
|
||||||
|
--enable-checks=crc32,crc64
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||||
|
export gl_cv_posix_shell="${EPREFIX}"/bin/sh
|
||||||
|
|
||||||
|
# Undo Solaris-based defaults pointing to /usr/xpg5/bin
|
||||||
|
myconf+=( --disable-path-for-script )
|
||||||
|
fi
|
||||||
|
|
||||||
|
ECONF_SOURCE="${S}" econf "${myconf[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install() {
|
||||||
|
default
|
||||||
|
|
||||||
|
gen_usr_ldscript -a lzma
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install_all() {
|
||||||
|
find "${ED}" -type f -name '*.la' -delete || die
|
||||||
|
rm "${ED}"/usr/share/doc/${PF}/COPYING* || die
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_preinst() {
|
||||||
|
preserve_old_lib /usr/$(get_libdir)/liblzma$(get_libname 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
preserve_old_lib_notify /usr/$(get_libdir)/liblzma$(get_libname 0)
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
|||||||
|
DIST dashboard-1.8.0_pre20220406.tar.gz 191442 BLAKE2B 8b105d8ed9b31e7439cc55b85c9e0bb46739fcb26f9e1e605492a552cbcfe9799794be6239b6c622bfbfc2f850d20f2944f759010eb502bcb75edb570ae7e5b8 SHA512 b3b714bbee034fecbf1172dccd5eebc38373c11a510c532a7b9ba31cac79daafe7e9ccf7c5e622abbdb44817c966f100ec4f7a447e8b0370f9d7e66ff55e45ca
|
@ -0,0 +1,38 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
H=69f98f5a89451c0881d0abb34ad57dd71616006a
|
||||||
|
NEED_EMACS=26.1
|
||||||
|
|
||||||
|
inherit elisp
|
||||||
|
|
||||||
|
DESCRIPTION="Extensible Emacs dashboard, with sections for bookmarks, projects, agenda and more"
|
||||||
|
HOMEPAGE="https://github.com/emacs-dashboard/emacs-dashboard/"
|
||||||
|
SRC_URI="https://github.com/emacs-dashboard/emacs-${PN}/archive/${H}.tar.gz -> ${P}.tar.gz"
|
||||||
|
S="${WORKDIR}"/emacs-${PN}-${H}
|
||||||
|
|
||||||
|
LICENSE="GPL-3"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~x86"
|
||||||
|
RESTRICT="test" # tests not in the repository, require "Eask"
|
||||||
|
|
||||||
|
DOCS=( CHANGELOG.md README.org etc )
|
||||||
|
PATCHES=( "${FILESDIR}"/${PN}-dashboard-widgets.el-banners.patch )
|
||||||
|
|
||||||
|
ELISP_REMOVE=( .dir-locals.el )
|
||||||
|
SITEFILE="50${PN}-gentoo.el"
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
elisp_src_prepare
|
||||||
|
|
||||||
|
sed "s|@SITEETC@|${EPREFIX}${SITEETC}/${PN}|" -i dashboard-widgets.el || die
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
elisp_src_install
|
||||||
|
|
||||||
|
insinto "${SITEETC}"/${PN}
|
||||||
|
doins -r banners
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
(add-to-list 'load-path "@SITELISP@")
|
||||||
|
(autoload 'dashboard-setup-startup-hook "dashboard"
|
||||||
|
"Setup post initialization hooks." t)
|
@ -0,0 +1,12 @@
|
|||||||
|
index 494ea0d..1ae6ebb 100644
|
||||||
|
--- a/dashboard-widgets.el
|
||||||
|
+++ b/dashboard-widgets.el
|
||||||
|
@@ -136,7 +136,7 @@ preserved."
|
||||||
|
:group 'dashboard)
|
||||||
|
|
||||||
|
(defconst dashboard-banners-directory
|
||||||
|
- (concat (file-name-directory (locate-library "dashboard")) "banners/")
|
||||||
|
+ "@SITEETC@/banners/"
|
||||||
|
"Default banner directory.")
|
||||||
|
|
||||||
|
(defconst dashboard-banner-official-png
|
@ -0,0 +1,14 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="project">
|
||||||
|
<email>gnu-emacs@gentoo.org</email>
|
||||||
|
<name>Gentoo GNU Emacs project</name>
|
||||||
|
</maintainer>
|
||||||
|
<upstream>
|
||||||
|
<changelog>https://raw.githubusercontent.com/emacs-dashboard/emacs-dashboard/master/CHANGELOG.md</changelog>
|
||||||
|
<bugs-to>https://github.com/emacs-dashboard/emacs-dashboard/issues/</bugs-to>
|
||||||
|
<remote-id type="github">emacs-dashboard/emacs-dashboard</remote-id>
|
||||||
|
</upstream>
|
||||||
|
</pkgmetadata>
|
@ -0,0 +1 @@
|
|||||||
|
DIST deft-08_p20210707.tar.gz 25162 BLAKE2B 0f7f5d2f298887474de5c77f657e1c5e9dafb6a58e4b564dd87e57b76ef263672a8465506c2855d9c10cf38470bdcb5644db457dd2294e9365715b64215482e0 SHA512 8e099249357fa0bec4b3f2c9fad081d2d19efb27820195d27a30cdb02cfe3013f6f68fba2acd645b3a01d9abd809ea032bb51a7cd250d2fdc4d162a45ddd3ea7
|
@ -0,0 +1,20 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
H=28be94d89bff2e1c7edef7244d7c5ba0636b1296
|
||||||
|
|
||||||
|
inherit elisp
|
||||||
|
|
||||||
|
DESCRIPTION="Quickly browse, filter and edit directories of plain text notes"
|
||||||
|
HOMEPAGE="https://github.com/jrblevin/deft/"
|
||||||
|
SRC_URI="https://github.com/jrblevin/${PN}/archive/${H}.tar.gz -> ${P}.tar.gz"
|
||||||
|
S="${WORKDIR}"/${PN}-${H}
|
||||||
|
|
||||||
|
LICENSE="BSD"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~x86"
|
||||||
|
|
||||||
|
DOCS=( README.md )
|
||||||
|
SITEFILE="50${PN}-gentoo.el"
|
@ -0,0 +1,7 @@
|
|||||||
|
(add-to-list 'load-path "@SITELISP@")
|
||||||
|
(autoload 'deft "deft"
|
||||||
|
"Switch to *Deft* buffer and load files." t)
|
||||||
|
(autoload 'deft-find-file "deft"
|
||||||
|
"Find FILE interactively using the minibuffer." t)
|
||||||
|
(autoload 'deft-new-file "deft"
|
||||||
|
"Create a new file quickly." t)
|
@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="project">
|
||||||
|
<email>gnu-emacs@gentoo.org</email>
|
||||||
|
<name>Gentoo GNU Emacs project</name>
|
||||||
|
</maintainer>
|
||||||
|
<upstream>
|
||||||
|
<bugs-to>https://github.com/jrblevin/deft/issues/</bugs-to>
|
||||||
|
<remote-id type="github">jrblevin/deft</remote-id>
|
||||||
|
</upstream>
|
||||||
|
</pkgmetadata>
|
@ -0,0 +1 @@
|
|||||||
|
DIST diff-hl-1.8.8_p20220405.tar.gz 241924 BLAKE2B 316326eaca5e37155665436e923b9c8fa2a05cee6cf37bdb4c8538dc2ca8575fa7eff736e125b063c92abc0365c42743907f01edcfb7df2837f58bb2cad2a62e SHA512 4055699146f4244863c2be05a2196db7c51de16c9403ddad926b93b6be87b704efba1b578c2570d25a6e4da2d73863f8298691e26d270513558200169da02e04
|
@ -0,0 +1,37 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
H=9d5dc2ffa1e4c7b43734b03dccb5ae6a80800569
|
||||||
|
NEED_EMACS=25.1
|
||||||
|
|
||||||
|
inherit elisp
|
||||||
|
|
||||||
|
DESCRIPTION="Highlight uncommitted changes, jump between and revert them selectively"
|
||||||
|
HOMEPAGE="https://github.com/dgutov/diff-hl/"
|
||||||
|
SRC_URI="https://github.com/dgutov/${PN}/archive/${H}.tar.gz -> ${P}.tar.gz"
|
||||||
|
S="${WORKDIR}"/${PN}-${H}
|
||||||
|
|
||||||
|
LICENSE="GPL-3+"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~x86"
|
||||||
|
IUSE="test"
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
BDEPEND="test? ( dev-vcs/git )"
|
||||||
|
|
||||||
|
DOCS=( README.md screenshot.png screenshot-dired.png screenshot-margin.png )
|
||||||
|
ELISP_REMOVE=( .dir-locals.el )
|
||||||
|
SITEFILE="50${PN}-gentoo.el"
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
ebegin "Creating a git repository for tests"
|
||||||
|
git init "${S}" --initial-branch="master" &&
|
||||||
|
git add "${S}" &&
|
||||||
|
git config --local user.email "test@test" &&
|
||||||
|
git config --local user.name "test" &&
|
||||||
|
git commit --message "test" --quiet
|
||||||
|
eend $? || die
|
||||||
|
emake EMACS="${EMACS} ${EMACSFLAGS}" test
|
||||||
|
}
|
@ -0,0 +1,33 @@
|
|||||||
|
(add-to-list 'load-path "@SITELISP@")
|
||||||
|
(autoload 'diff-hl-mode "diff-hl"
|
||||||
|
"Toggle VC diff highlighting." t)
|
||||||
|
(autoload 'diff-hl-set-reference-rev "diff-hl"
|
||||||
|
"Set the reference revision globally to REV." t)
|
||||||
|
(autoload 'diff-hl-reset-reference-rev "diff-hl"
|
||||||
|
"Reset the reference revision globally to the most recent one." t)
|
||||||
|
(autoload 'global-diff-hl-mode "diff-hl"
|
||||||
|
"Toggle Diff-Hl mode in all buffers." t)
|
||||||
|
(autoload 'diff-hl-amend-mode "diff-hl-amend"
|
||||||
|
"Show changes against the second-last revision in `diff-hl-mode'." t)
|
||||||
|
(autoload 'global-diff-hl-amend-mode "diff-hl-amend"
|
||||||
|
"Toggle Diff-Hl-Amend mode in all buffers." t)
|
||||||
|
(autoload 'diff-hl-dired-mode "diff-hl-dired"
|
||||||
|
"Toggle VC diff highlighting on the side of a Dired window." t)
|
||||||
|
(autoload 'diff-hl-flydiff-mode "diff-hl-flydiff"
|
||||||
|
"Perform highlighting on-the-fly." t)
|
||||||
|
(autoload 'diff-hl-inline-popup-hide "diff-hl-inline-popup"
|
||||||
|
"Hide the current inline popup." t)
|
||||||
|
(autoload 'diff-hl-margin-mode "diff-hl-margin"
|
||||||
|
"Toggle displaying `diff-hl-mode' highlights on the margin." t)
|
||||||
|
(autoload 'diff-hl-margin-local-mode "diff-hl-margin"
|
||||||
|
"Toggle displaying `diff-hl-mode' highlights on the margin locally." t)
|
||||||
|
(autoload 'diff-hl-show-hunk-previous "diff-hl-show-hunk"
|
||||||
|
"Go to previous hunk/change and show it." t)
|
||||||
|
(autoload 'diff-hl-show-hunk-next "diff-hl-show-hunk"
|
||||||
|
"Go to next hunk/change and show it." t)
|
||||||
|
(autoload 'diff-hl-show-hunk "diff-hl-show-hunk"
|
||||||
|
"Show the VC diff hunk at point." t)
|
||||||
|
(autoload 'diff-hl-show-hunk-mouse-mode "diff-hl-show-hunk"
|
||||||
|
"Enables the margin and fringe to show a posframe/popup with vc diffs when clicked." t)
|
||||||
|
(autoload 'global-diff-hl-show-hunk-mouse-mode "diff-hl-show-hunk"
|
||||||
|
"Toggle Diff-Hl-Show-Hunk-Mouse mode in all buffers." t)
|
@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="project">
|
||||||
|
<email>gnu-emacs@gentoo.org</email>
|
||||||
|
<name>Gentoo GNU Emacs project</name>
|
||||||
|
</maintainer>
|
||||||
|
<upstream>
|
||||||
|
<bugs-to>https://github.com/dgutov/diff-hl/issues/</bugs-to>
|
||||||
|
<remote-id type="github">dgutov/diff-hl</remote-id>
|
||||||
|
</upstream>
|
||||||
|
</pkgmetadata>
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=8
|
EAPI=8
|
@ -1,7 +1,9 @@
|
|||||||
(add-to-list 'load-path "@SITELISP@")
|
(add-to-list 'load-path "@SITELISP@")
|
||||||
|
(autoload 'editorconfig-core-get-properties-hash "editorconfig-core"
|
||||||
|
"Get EditorConfig properties for FILE." t)
|
||||||
(autoload 'editorconfig-mode "editorconfig"
|
(autoload 'editorconfig-mode "editorconfig"
|
||||||
"Toggle EditorConfig feature." t)
|
"Toggle EditorConfig feature." t)
|
||||||
(autoload 'editorconfig-conf-mode "editorconfig-conf-mode"
|
(autoload 'editorconfig-conf-mode "editorconfig-conf-mode"
|
||||||
"Major mode for editing .editorconfig files." t)
|
"Major mode for editing .editorconfig files." t)
|
||||||
(add-to-list 'auto-mode-alist
|
(add-to-list 'auto-mode-alist
|
||||||
'("/\\.editorconfig\\'" . editorconfig-conf-mode))
|
'("/\\.editorconfig\\'" . editorconfig-conf-mode))
|
||||||
|
@ -0,0 +1 @@
|
|||||||
|
DIST org-appear-0.3.0.tar.gz 95423 BLAKE2B 925e82f6b2757138d8e3b2f20a1c3bd64644aea463fa5b713e363b8cfe8ca1111a666d3a934c313032e5a8339bcab9962129c92a2b1a5bd454fcfb3aefc0ac1a SHA512 5500e838ddfd5a4000604a284a5a967ed2a42abfcb6f24cf86f60116c0a2afc7dd303f9be9b8b879fc8a0cad09e15e168212e6b6c6b3c18ec649b92c5a3ea2b0
|
@ -0,0 +1,3 @@
|
|||||||
|
(add-to-list 'load-path "@SITELISP@")
|
||||||
|
(autoload 'org-appear-mode "org-appear"
|
||||||
|
"A minor mode that automatically toggles elements in Org mode." t)
|
@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="project">
|
||||||
|
<email>gnu-emacs@gentoo.org</email>
|
||||||
|
<name>Gentoo GNU Emacs project</name>
|
||||||
|
</maintainer>
|
||||||
|
<upstream>
|
||||||
|
<bugs-to>https://github.com/awth13/org-appear/issues/</bugs-to>
|
||||||
|
<remote-id type="github">awth13/org-appear</remote-id>
|
||||||
|
</upstream>
|
||||||
|
</pkgmetadata>
|
@ -0,0 +1,19 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
NEED_EMACS=25.1
|
||||||
|
|
||||||
|
inherit elisp
|
||||||
|
|
||||||
|
DESCRIPTION="Toggle visibility of hidden Org mode element parts upon entering and leaving an element"
|
||||||
|
HOMEPAGE="https://github.com/awth13/org-appear/"
|
||||||
|
SRC_URI="https://github.com/awth13/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="MIT"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~x86"
|
||||||
|
|
||||||
|
DOCS=( README.org demo.gif )
|
||||||
|
SITEFILE="50${PN}-gentoo.el"
|
@ -0,0 +1 @@
|
|||||||
|
DIST rainbow-delimiters-2.1.5.tar.gz 8201 BLAKE2B 61b3f33cdacf87bcef26c42cfde2d5cdae0c2958b73bd181aae11fe774f8b29efce8ceaf8b28df24626a76e81f5f20ee3ceb9f1f565c988fa7729160104ee113 SHA512 e7d734ad255bbcab17d14dbe0af8430df3ccb094415d19721eb08969b168773e58834f654948bd776215c6c62209d3ccb800cd410a739d35f9f720103f4ed076
|
@ -0,0 +1,3 @@
|
|||||||
|
(add-to-list 'load-path "@SITELISP@")
|
||||||
|
(autoload 'rainbow-delimiters-mode "rainbow-delimiters"
|
||||||
|
"Highlight nested parentheses, brackets, and braces according to their depth." t)
|
@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="project">
|
||||||
|
<email>gnu-emacs@gentoo.org</email>
|
||||||
|
<name>Gentoo GNU Emacs project</name>
|
||||||
|
</maintainer>
|
||||||
|
<upstream>
|
||||||
|
<bugs-to>https://github.com/Fanael/rainbow-delimiters/issues/</bugs-to>
|
||||||
|
<remote-id type="github">Fanael/rainbow-delimiters</remote-id>
|
||||||
|
</upstream>
|
||||||
|
</pkgmetadata>
|
@ -0,0 +1,37 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
NEED_EMACS=24.1 # needs ERT for tests
|
||||||
|
|
||||||
|
inherit elisp readme.gentoo-r1
|
||||||
|
|
||||||
|
DESCRIPTION="Highlight nested parentheses, brackets, and braces according to their depth"
|
||||||
|
HOMEPAGE="https://github.com/Fanael/rainbow-delimiters/"
|
||||||
|
SRC_URI="https://github.com/Fanael/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="GPL-3+"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~x86"
|
||||||
|
|
||||||
|
SITEFILE="50${PN}-gentoo.el"
|
||||||
|
DOC_CONTENTS="To start the mode automatically in foo-mode,
|
||||||
|
add the following to your init file:
|
||||||
|
\n\t(add-hook 'foo-mode-hook #'rainbow-delimiters-mode)
|
||||||
|
\nTo start the mode automatically in most programming modes
|
||||||
|
(Emacs 24 and above):
|
||||||
|
\n\t(add-hook 'prog-mode-hook #'rainbow-delimiters-mode)"
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
# EMACS_VERSION is for GitHub CI, it can be left blank
|
||||||
|
EMACS_VERSION="" sh ./run-tests.sh || die
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
elisp-install ${PN} ${PN}.el{,c}
|
||||||
|
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
|
||||||
|
|
||||||
|
einstalldocs
|
||||||
|
readme.gentoo_create_doc
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
DIST switch-window-1.6.2_p20210808.tar.gz 159948 BLAKE2B 844c4ae1c1d3a71f9ae2667e20a6e47978b0426b68439a9e0ec667884265cbf2291aba8d838c3d4f3292f4820a2f9f6e369095867a06e70a024830a9477fcf95 SHA512 ee9bd40aedbb505ff702d472b9b3888400a65b3d6f4253f4489828accab1b9ace772995be7cd7fd38815e4a87983bf0b9cb7fd394180de255eec9a08ef786648
|
@ -0,0 +1,3 @@
|
|||||||
|
(add-to-list 'load-path "@SITELISP@")
|
||||||
|
(autoload 'switch-window "switch-window"
|
||||||
|
"Display an overlay in each window showing a unique key." t)
|
@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="project">
|
||||||
|
<email>gnu-emacs@gentoo.org</email>
|
||||||
|
<name>Gentoo GNU Emacs project</name>
|
||||||
|
</maintainer>
|
||||||
|
<upstream>
|
||||||
|
<bugs-to>https://github.com/dimitri/switch-window/issues/</bugs-to>
|
||||||
|
<remote-id type="github">dimitri/switch-window</remote-id>
|
||||||
|
</upstream>
|
||||||
|
</pkgmetadata>
|
@ -0,0 +1,21 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
H=8d9fe251d8d38b223d643df975876356ddfc1b98
|
||||||
|
NEED_EMACS=24
|
||||||
|
|
||||||
|
inherit elisp
|
||||||
|
|
||||||
|
DESCRIPTION="Offer a customizable visual way to choose a window to switch to"
|
||||||
|
HOMEPAGE="https://github.com/dimitri/switch-window/"
|
||||||
|
SRC_URI="https://github.com/dimitri/${PN}/archive/${H}.tar.gz -> ${P}.tar.gz"
|
||||||
|
S="${WORKDIR}"/${PN}-${H}
|
||||||
|
|
||||||
|
LICENSE="WTFPL-2"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~x86"
|
||||||
|
|
||||||
|
DOCS=( README.md snapshots )
|
||||||
|
SITEFILE="50${PN}-gentoo.el"
|
@ -1 +1,2 @@
|
|||||||
DIST vhdl-mode-3.38.1.tar.gz 318400 BLAKE2B 2ddad9f4e8fdb0fafd2e27075f5722fcf7959a2b50ad61c5860af52706d9579065e0880d7b9bd1b884c21cfc902760dff006404490c8cbb1474831aa4c6d841d SHA512 2cc12994e17658d65cffa348c59ac3208cc0f498731941b8f64da68e258ca57d6aa500d72103b005996cf3496e119cf59b52bbc1c4b740401685030b42f272a8
|
DIST vhdl-mode-3.38.1.tar.gz 318400 BLAKE2B 2ddad9f4e8fdb0fafd2e27075f5722fcf7959a2b50ad61c5860af52706d9579065e0880d7b9bd1b884c21cfc902760dff006404490c8cbb1474831aa4c6d841d SHA512 2cc12994e17658d65cffa348c59ac3208cc0f498731941b8f64da68e258ca57d6aa500d72103b005996cf3496e119cf59b52bbc1c4b740401685030b42f272a8
|
||||||
|
DIST vhdl-mode-3.38.3.tar.gz 319205 BLAKE2B ec64bd5fb783ef5e295319ca86ef147a021ffce352ddca49f19dcdc6b79c5bc9ed9350ad154321dbf40a84f501d9da70ffd685d2376a8da98cd2426b9df4bd36 SHA512 4738927daa424c5d66bc69e021e6b624cc23a3bf70a6f78ea5a7fc07ad0bd0aaf5429594b6ff71067edbf48802d7d77f38d607708541fb59e259cc1a4221fb60
|
||||||
|
@ -0,0 +1,11 @@
|
|||||||
|
--- vhdl-mode-3.38.3/vhdl-mode.el
|
||||||
|
+++ vhdl-mode-3.38.3/vhdl-mode.el
|
||||||
|
@@ -2475,7 +2475,7 @@
|
||||||
|
(defalias 'speedbar-line-directory
|
||||||
|
'speedbar-line-path))
|
||||||
|
|
||||||
|
-(define-obsolete-variable-alias 'speedbar-key-map 'speedbar-mode-map)
|
||||||
|
+(define-obsolete-variable-alias 'speedbar-key-map 'speedbar-mode-map "")
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;;; Help functions / inline substitutions / macros
|
@ -0,0 +1,27 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit elisp
|
||||||
|
|
||||||
|
DESCRIPTION="VHDL-mode for Emacs"
|
||||||
|
HOMEPAGE="https://iis-people.ee.ethz.ch/~zimmi/emacs/vhdl-mode.html"
|
||||||
|
SRC_URI="https://iis-people.ee.ethz.ch/~zimmi/emacs/${P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="GPL-3+"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~ppc ~x86"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}"/${P}-emacs-28.patch
|
||||||
|
"${FILESDIR}"/${PN}-info-dir-gentoo.patch
|
||||||
|
)
|
||||||
|
ELISP_REMOVE="site-start.*"
|
||||||
|
SITEFILE="50${PN}-gentoo.el"
|
||||||
|
DOCS="ChangeLog README"
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
elisp_src_install
|
||||||
|
doinfo vhdl-mode.info
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
DIST which-key-3.6.0.tar.gz 462441 BLAKE2B e56dacff2003192e769e53f728538246f4b3c2f00273022a81382e3afaf4c1b7016a2da468ade1e1f0b3b33df7352a327f75c43fef990c432bbb55f3aad7a934 SHA512 8ecfa3e5d0529cc0e879772d2ea2fcbbdfc8ab559dc8befddd63b91e6ed726baa6c0069bc0f30dc417eb288d02a281f1b07b5c966a361f390cab4d7392c2e56c
|
@ -0,0 +1,3 @@
|
|||||||
|
(add-to-list 'load-path "@SITELISP@")
|
||||||
|
(autoload 'which-key-mode "which-key"
|
||||||
|
"Toggle which-key-mode." t)
|
@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="project">
|
||||||
|
<email>gnu-emacs@gentoo.org</email>
|
||||||
|
<name>Gentoo GNU Emacs project</name>
|
||||||
|
</maintainer>
|
||||||
|
<upstream>
|
||||||
|
<bugs-to>https://github.com/justbur/emacs-which-key/issues/</bugs-to>
|
||||||
|
<remote-id type="github">justbur/emacs-which-key</remote-id>
|
||||||
|
</upstream>
|
||||||
|
</pkgmetadata>
|
@ -0,0 +1,36 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
NEED_EMACS=24.4
|
||||||
|
|
||||||
|
inherit elisp readme.gentoo-r1
|
||||||
|
|
||||||
|
DESCRIPTION="Display the key bindings following your currently entered keys"
|
||||||
|
HOMEPAGE="https://github.com/justbur/emacs-which-key/"
|
||||||
|
SRC_URI="https://github.com/justbur/emacs-${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
S="${WORKDIR}"/emacs-${P}
|
||||||
|
|
||||||
|
LICENSE="GPL-3+"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~x86"
|
||||||
|
|
||||||
|
DOCS=( README.org img )
|
||||||
|
SITEFILE="50${PN}-gentoo.el"
|
||||||
|
DOC_CONTENTS="To enable \"which-key-mode\" globally,
|
||||||
|
add the following to your init file:
|
||||||
|
\n\t(which-key-mode)"
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
${EMACS} ${EMACSFLAGS} ${BYTECOMPFLAGS} -l ${PN}.el -l ${PN}-tests.el \
|
||||||
|
-f ert-run-tests-batch-and-exit || die "tests failed"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
elisp-install ${PN} ${PN}.el{,c}
|
||||||
|
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
|
||||||
|
|
||||||
|
einstalldocs
|
||||||
|
readme.gentoo_create_doc
|
||||||
|
}
|
Binary file not shown.
@ -1 +1,2 @@
|
|||||||
DIST qemu-6.2.0.tar.xz 115667324 BLAKE2B 3f2f02e5c36113df6231a9474c6d5db774e541312173813c28f578d669a51f391695d364dc806f5906d9e3c2796bb20b2606fcd46a247eb751ea517de9d7ce15 SHA512 e9f8231c9e1cfcc41cb47f10a55d63f6b8aee307af00cf6acf64acb7aa4f49fa7e9d6330703a2abea15d8b7bbaba7d3cb08c83edd98d82642367b527df730817
|
DIST qemu-6.2.0.tar.xz 115667324 BLAKE2B 3f2f02e5c36113df6231a9474c6d5db774e541312173813c28f578d669a51f391695d364dc806f5906d9e3c2796bb20b2606fcd46a247eb751ea517de9d7ce15 SHA512 e9f8231c9e1cfcc41cb47f10a55d63f6b8aee307af00cf6acf64acb7aa4f49fa7e9d6330703a2abea15d8b7bbaba7d3cb08c83edd98d82642367b527df730817
|
||||||
|
DIST qemu-7.0.0-rc3.tar.xz 125098576 BLAKE2B 0457d73b09ee5cd49a0bba3aea16c1f40f2c8229b283aca2d1478880d1b8b783f5b09664f1b92bd2fbf9a9345e9b2dc1aad2bbb94b6ad118a7c0b820d5cb90d8 SHA512 06a7df40619fb6f7e65dbc52cde2fc4c76ca73aea4de51b30fac3b40086ed9785d619201e82ad412087cf075d8349bfa907436d2579192722ea223da7232432d
|
||||||
|
@ -0,0 +1,914 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( python3_{8,9,10} )
|
||||||
|
PYTHON_REQ_USE="ncurses,readline"
|
||||||
|
|
||||||
|
FIRMWARE_ABI_VERSION="6.2.0"
|
||||||
|
|
||||||
|
inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \
|
||||||
|
pax-utils xdg-utils
|
||||||
|
|
||||||
|
if [[ ${PV} = *9999* ]]; then
|
||||||
|
EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/"
|
||||||
|
EGIT_SUBMODULES=(
|
||||||
|
meson
|
||||||
|
tests/fp/berkeley-softfloat-3
|
||||||
|
tests/fp/berkeley-testfloat-3
|
||||||
|
ui/keycodemapdb
|
||||||
|
)
|
||||||
|
inherit git-r3
|
||||||
|
SRC_URI=""
|
||||||
|
else
|
||||||
|
MY_P="${PN}-${PV/_rc/-rc}"
|
||||||
|
SRC_URI="https://download.qemu.org/${MY_P}.tar.xz"
|
||||||
|
#KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
|
||||||
|
S="${WORKDIR}/${MY_P}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
|
||||||
|
HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org"
|
||||||
|
|
||||||
|
LICENSE="GPL-2 LGPL-2 BSD-2"
|
||||||
|
SLOT="0"
|
||||||
|
|
||||||
|
IUSE="accessibility +aio alsa bpf bzip2 capstone +caps +curl debug +doc
|
||||||
|
+fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring
|
||||||
|
jack jemalloc +jpeg
|
||||||
|
lzo multipath
|
||||||
|
ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs
|
||||||
|
plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
|
||||||
|
+slirp
|
||||||
|
smartcard snappy spice ssh static static-user systemtap test udev usb
|
||||||
|
usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
|
||||||
|
zstd"
|
||||||
|
|
||||||
|
COMMON_TARGETS="
|
||||||
|
aarch64
|
||||||
|
alpha
|
||||||
|
arm
|
||||||
|
cris
|
||||||
|
hppa
|
||||||
|
i386
|
||||||
|
m68k
|
||||||
|
microblaze
|
||||||
|
microblazeel
|
||||||
|
mips
|
||||||
|
mips64
|
||||||
|
mips64el
|
||||||
|
mipsel
|
||||||
|
nios2
|
||||||
|
or1k
|
||||||
|
ppc
|
||||||
|
ppc64
|
||||||
|
riscv32
|
||||||
|
riscv64
|
||||||
|
s390x
|
||||||
|
sh4
|
||||||
|
sh4eb
|
||||||
|
sparc
|
||||||
|
sparc64
|
||||||
|
x86_64
|
||||||
|
xtensa
|
||||||
|
xtensaeb
|
||||||
|
"
|
||||||
|
IUSE_SOFTMMU_TARGETS="
|
||||||
|
${COMMON_TARGETS}
|
||||||
|
avr
|
||||||
|
rx
|
||||||
|
tricore
|
||||||
|
"
|
||||||
|
IUSE_USER_TARGETS="
|
||||||
|
${COMMON_TARGETS}
|
||||||
|
aarch64_be
|
||||||
|
armeb
|
||||||
|
hexagon
|
||||||
|
mipsn32
|
||||||
|
mipsn32el
|
||||||
|
ppc64le
|
||||||
|
sparc32plus
|
||||||
|
"
|
||||||
|
|
||||||
|
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
|
||||||
|
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
|
||||||
|
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
|
||||||
|
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
# Allow no targets to be built so that people can get a tools-only build.
|
||||||
|
# Block USE flag configurations known to not work.
|
||||||
|
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|
||||||
|
qemu_softmmu_targets_arm? ( fdt )
|
||||||
|
qemu_softmmu_targets_microblaze? ( fdt )
|
||||||
|
qemu_softmmu_targets_mips64el? ( fdt )
|
||||||
|
qemu_softmmu_targets_ppc64? ( fdt )
|
||||||
|
qemu_softmmu_targets_ppc? ( fdt )
|
||||||
|
qemu_softmmu_targets_riscv32? ( fdt )
|
||||||
|
qemu_softmmu_targets_riscv64? ( fdt )
|
||||||
|
qemu_softmmu_targets_x86_64? ( fdt )
|
||||||
|
sdl-image? ( sdl )
|
||||||
|
static? ( static-user !alsa !gtk !jack !opengl !pam !pulseaudio !plugins !rbd !snappy !udev )
|
||||||
|
static-user? ( !plugins )
|
||||||
|
vhost-user-fs? ( caps seccomp )
|
||||||
|
virgl? ( opengl )
|
||||||
|
virtfs? ( caps xattr )
|
||||||
|
vnc? ( gnutls )
|
||||||
|
vte? ( gtk )
|
||||||
|
multipath? ( udev )
|
||||||
|
plugins? ( !static !static-user )
|
||||||
|
"
|
||||||
|
|
||||||
|
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
|
||||||
|
# and user/softmmu targets (qemu-*, qemu-system-*).
|
||||||
|
#
|
||||||
|
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
|
||||||
|
#
|
||||||
|
# The attr lib isn't always linked in (although the USE flag is always
|
||||||
|
# respected). This is because qemu supports using the C library's API
|
||||||
|
# when available rather than always using the external library.
|
||||||
|
ALL_DEPEND="
|
||||||
|
>=dev-libs/glib-2.0[static-libs(+)]
|
||||||
|
sys-libs/zlib[static-libs(+)]
|
||||||
|
python? ( ${PYTHON_DEPS} )
|
||||||
|
systemtap? ( dev-util/systemtap )
|
||||||
|
xattr? ( sys-apps/attr[static-libs(+)] )"
|
||||||
|
|
||||||
|
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
|
||||||
|
# softmmu targets (qemu-system-*).
|
||||||
|
SOFTMMU_TOOLS_DEPEND="
|
||||||
|
>=x11-libs/pixman-0.28.0[static-libs(+)]
|
||||||
|
accessibility? (
|
||||||
|
app-accessibility/brltty[api]
|
||||||
|
app-accessibility/brltty[static-libs(+)]
|
||||||
|
)
|
||||||
|
aio? ( dev-libs/libaio[static-libs(+)] )
|
||||||
|
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||||
|
bpf? ( dev-libs/libbpf:= )
|
||||||
|
bzip2? ( app-arch/bzip2[static-libs(+)] )
|
||||||
|
capstone? ( dev-libs/capstone:= )
|
||||||
|
caps? ( sys-libs/libcap-ng[static-libs(+)] )
|
||||||
|
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
|
||||||
|
fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] )
|
||||||
|
fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
|
||||||
|
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
|
||||||
|
gnutls? (
|
||||||
|
dev-libs/nettle:=[static-libs(+)]
|
||||||
|
>=net-libs/gnutls-3.0:=[static-libs(+)]
|
||||||
|
)
|
||||||
|
gtk? (
|
||||||
|
x11-libs/gtk+:3
|
||||||
|
vte? ( x11-libs/vte:2.91 )
|
||||||
|
)
|
||||||
|
infiniband? ( sys-cluster/rdma-core[static-libs(+)] )
|
||||||
|
iscsi? ( net-libs/libiscsi )
|
||||||
|
io-uring? ( sys-libs/liburing:=[static-libs(+)] )
|
||||||
|
jack? ( virtual/jack )
|
||||||
|
jemalloc? ( dev-libs/jemalloc )
|
||||||
|
jpeg? ( virtual/jpeg:0=[static-libs(+)] )
|
||||||
|
lzo? ( dev-libs/lzo:2[static-libs(+)] )
|
||||||
|
multipath? ( sys-fs/multipath-tools )
|
||||||
|
ncurses? (
|
||||||
|
sys-libs/ncurses:=[unicode(+)]
|
||||||
|
sys-libs/ncurses:=[static-libs(+)]
|
||||||
|
)
|
||||||
|
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
|
||||||
|
numa? ( sys-process/numactl[static-libs(+)] )
|
||||||
|
opengl? (
|
||||||
|
virtual/opengl
|
||||||
|
media-libs/libepoxy[static-libs(+)]
|
||||||
|
media-libs/mesa[static-libs(+)]
|
||||||
|
media-libs/mesa[egl(+),gbm(+)]
|
||||||
|
)
|
||||||
|
pam? ( sys-libs/pam )
|
||||||
|
png? ( media-libs/libpng:0=[static-libs(+)] )
|
||||||
|
pulseaudio? ( media-sound/pulseaudio )
|
||||||
|
rbd? ( sys-cluster/ceph )
|
||||||
|
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
|
||||||
|
sdl? (
|
||||||
|
media-libs/libsdl2[video]
|
||||||
|
media-libs/libsdl2[static-libs(+)]
|
||||||
|
)
|
||||||
|
sdl-image? ( media-libs/sdl2-image[static-libs(+)] )
|
||||||
|
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
|
||||||
|
slirp? ( net-libs/libslirp[static-libs(+)] )
|
||||||
|
smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
|
||||||
|
snappy? ( app-arch/snappy:= )
|
||||||
|
spice? (
|
||||||
|
>=app-emulation/spice-protocol-0.12.3
|
||||||
|
>=app-emulation/spice-0.12.0[static-libs(+)]
|
||||||
|
)
|
||||||
|
ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
|
||||||
|
udev? ( virtual/libudev:= )
|
||||||
|
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
|
||||||
|
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
|
||||||
|
vde? ( net-misc/vde[static-libs(+)] )
|
||||||
|
virgl? ( media-libs/virglrenderer[static-libs(+)] )
|
||||||
|
virtfs? ( sys-libs/libcap )
|
||||||
|
xen? ( app-emulation/xen-tools:= )
|
||||||
|
zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
|
||||||
|
"
|
||||||
|
|
||||||
|
EDK2_OVMF_VERSION="202105"
|
||||||
|
SEABIOS_VERSION="1.14.0"
|
||||||
|
|
||||||
|
X86_FIRMWARE_DEPEND="
|
||||||
|
pin-upstream-blobs? (
|
||||||
|
~sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}[binary]
|
||||||
|
~sys-firmware/ipxe-1.21.1[binary,qemu]
|
||||||
|
~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios]
|
||||||
|
~sys-firmware/sgabios-0.1_pre10[binary]
|
||||||
|
)
|
||||||
|
!pin-upstream-blobs? (
|
||||||
|
>=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
|
||||||
|
sys-firmware/ipxe[qemu]
|
||||||
|
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
|
||||||
|
sys-firmware/sgabios
|
||||||
|
)"
|
||||||
|
PPC_FIRMWARE_DEPEND="
|
||||||
|
pin-upstream-blobs? (
|
||||||
|
~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios]
|
||||||
|
)
|
||||||
|
!pin-upstream-blobs? (
|
||||||
|
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
|
||||||
|
)
|
||||||
|
"
|
||||||
|
|
||||||
|
BDEPEND="
|
||||||
|
$(python_gen_impl_dep)
|
||||||
|
dev-lang/perl
|
||||||
|
sys-apps/texinfo
|
||||||
|
virtual/pkgconfig
|
||||||
|
doc? (
|
||||||
|
dev-python/sphinx[${PYTHON_USEDEP}]
|
||||||
|
dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
|
||||||
|
)
|
||||||
|
gtk? ( nls? ( sys-devel/gettext ) )
|
||||||
|
test? (
|
||||||
|
dev-libs/glib[utils]
|
||||||
|
sys-devel/bc
|
||||||
|
)
|
||||||
|
"
|
||||||
|
CDEPEND="
|
||||||
|
!static? (
|
||||||
|
${ALL_DEPEND//\[static-libs(+)]}
|
||||||
|
${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
|
||||||
|
)
|
||||||
|
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
|
||||||
|
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
|
||||||
|
qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} )
|
||||||
|
qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} )
|
||||||
|
"
|
||||||
|
DEPEND="${CDEPEND}
|
||||||
|
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||||
|
static? (
|
||||||
|
${ALL_DEPEND}
|
||||||
|
${SOFTMMU_TOOLS_DEPEND}
|
||||||
|
)
|
||||||
|
static-user? ( ${ALL_DEPEND} )"
|
||||||
|
RDEPEND="${CDEPEND}
|
||||||
|
acct-group/kvm
|
||||||
|
selinux? (
|
||||||
|
sec-policy/selinux-qemu
|
||||||
|
sys-libs/libselinux
|
||||||
|
)"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
|
||||||
|
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
|
||||||
|
"${FILESDIR}"/${PN}-6.0.0-make.patch
|
||||||
|
"${FILESDIR}"/${PN}-6.1.0-strings.patch
|
||||||
|
"${FILESDIR}"/${PN}-7.0.0-also-build-virtfs-proxy-helper.patch
|
||||||
|
)
|
||||||
|
|
||||||
|
QA_PREBUILT="
|
||||||
|
usr/share/qemu/hppa-firmware.img
|
||||||
|
usr/share/qemu/openbios-ppc
|
||||||
|
usr/share/qemu/openbios-sparc64
|
||||||
|
usr/share/qemu/openbios-sparc32
|
||||||
|
usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf
|
||||||
|
usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf
|
||||||
|
usr/share/qemu/palcode-clipper
|
||||||
|
usr/share/qemu/s390-ccw.img
|
||||||
|
usr/share/qemu/s390-netboot.img
|
||||||
|
usr/share/qemu/u-boot.e500
|
||||||
|
"
|
||||||
|
|
||||||
|
QA_WX_LOAD="usr/bin/qemu-i386
|
||||||
|
usr/bin/qemu-x86_64
|
||||||
|
usr/bin/qemu-alpha
|
||||||
|
usr/bin/qemu-arm
|
||||||
|
usr/bin/qemu-cris
|
||||||
|
usr/bin/qemu-m68k
|
||||||
|
usr/bin/qemu-microblaze
|
||||||
|
usr/bin/qemu-microblazeel
|
||||||
|
usr/bin/qemu-mips
|
||||||
|
usr/bin/qemu-mipsel
|
||||||
|
usr/bin/qemu-or1k
|
||||||
|
usr/bin/qemu-ppc
|
||||||
|
usr/bin/qemu-ppc64
|
||||||
|
usr/bin/qemu-sh4
|
||||||
|
usr/bin/qemu-sh4eb
|
||||||
|
usr/bin/qemu-sparc
|
||||||
|
usr/bin/qemu-sparc64
|
||||||
|
usr/bin/qemu-armeb
|
||||||
|
usr/bin/qemu-sparc32plus
|
||||||
|
usr/bin/qemu-s390x
|
||||||
|
usr/bin/qemu-unicore32
|
||||||
|
"
|
||||||
|
|
||||||
|
DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the
|
||||||
|
kernel module loaded before running kvm. The easiest way to ensure that the
|
||||||
|
kernel module is loaded is to load it on boot.
|
||||||
|
For AMD CPUs the module is called 'kvm-amd'.
|
||||||
|
For Intel CPUs the module is called 'kvm-intel'.
|
||||||
|
Please review /etc/conf.d/modules for how to load these.
|
||||||
|
|
||||||
|
Make sure your user is in the 'kvm' group. Just run
|
||||||
|
$ gpasswd -a <USER> kvm
|
||||||
|
then have <USER> re-login.
|
||||||
|
|
||||||
|
For brand new installs, the default permissions on /dev/kvm might not let
|
||||||
|
you access it. You can tell udev to reset ownership/perms:
|
||||||
|
$ udevadm trigger -c add /dev/kvm
|
||||||
|
|
||||||
|
If you want to register binfmt handlers for qemu user targets:
|
||||||
|
For openrc:
|
||||||
|
# rc-update add qemu-binfmt
|
||||||
|
For systemd:
|
||||||
|
# ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf"
|
||||||
|
|
||||||
|
pkg_pretend() {
|
||||||
|
if use kernel_linux && kernel_is lt 2 6 25; then
|
||||||
|
eerror "This version of KVM requires a host kernel of 2.6.25 or higher."
|
||||||
|
elif use kernel_linux; then
|
||||||
|
if ! linux_config_exists; then
|
||||||
|
eerror "Unable to check your kernel for KVM support"
|
||||||
|
else
|
||||||
|
CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
|
||||||
|
ERROR_KVM="You must enable KVM in your kernel to continue"
|
||||||
|
ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
|
||||||
|
ERROR_KVM_AMD+=" your kernel configuration."
|
||||||
|
ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
|
||||||
|
ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
|
||||||
|
ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
|
||||||
|
ERROR_TUN+=" into your kernel or loaded as a module to use the"
|
||||||
|
ERROR_TUN+=" virtual network device if using -net tap."
|
||||||
|
ERROR_BRIDGE="You will also need support for 802.1d"
|
||||||
|
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
|
||||||
|
use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
|
||||||
|
ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
|
||||||
|
ERROR_VHOST_NET+=" support"
|
||||||
|
|
||||||
|
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
|
||||||
|
if grep -q AuthenticAMD /proc/cpuinfo; then
|
||||||
|
CONFIG_CHECK+=" ~KVM_AMD"
|
||||||
|
elif grep -q GenuineIntel /proc/cpuinfo; then
|
||||||
|
CONFIG_CHECK+=" ~KVM_INTEL"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
use python && CONFIG_CHECK+=" ~DEBUG_FS"
|
||||||
|
ERROR_DEBUG_FS="debugFS support required for kvm_stat"
|
||||||
|
|
||||||
|
# Now do the actual checks setup above
|
||||||
|
check_extra_config
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
|
||||||
|
eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
|
||||||
|
eerror "instances are still pointing to it. Please update your"
|
||||||
|
eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
|
||||||
|
eerror "and the right system binary (e.g. qemu-system-x86_64)."
|
||||||
|
die "update your virt configs to not use qemu-kvm"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Sanity check to make sure target lists are kept up-to-date.
|
||||||
|
check_targets() {
|
||||||
|
local var=$1 mak=$2
|
||||||
|
local detected sorted
|
||||||
|
|
||||||
|
pushd "${S}"/configs/targets/ >/dev/null || die
|
||||||
|
|
||||||
|
# Force C locale until glibc is updated. #564936
|
||||||
|
detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
|
||||||
|
sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u))
|
||||||
|
if [[ ${sorted} != "${detected}" ]] ; then
|
||||||
|
eerror "The ebuild needs to be kept in sync."
|
||||||
|
eerror "${var}: ${sorted}"
|
||||||
|
eerror "$(printf '%-*s' ${#var} configure): ${detected}"
|
||||||
|
die "sync ${var} to the list of targets"
|
||||||
|
fi
|
||||||
|
|
||||||
|
popd >/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
check_targets IUSE_SOFTMMU_TARGETS softmmu
|
||||||
|
check_targets IUSE_USER_TARGETS linux-user
|
||||||
|
|
||||||
|
default
|
||||||
|
|
||||||
|
# Use correct toolchain to fix cross-compiling
|
||||||
|
tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS
|
||||||
|
export WINDRES=${CHOST}-windres
|
||||||
|
|
||||||
|
# Verbose builds
|
||||||
|
MAKEOPTS+=" V=1"
|
||||||
|
|
||||||
|
# Remove bundled copy of libfdt
|
||||||
|
rm -r dtc || die
|
||||||
|
}
|
||||||
|
|
||||||
|
##
|
||||||
|
# configures qemu based on the build directory and the build type
|
||||||
|
# we are using.
|
||||||
|
#
|
||||||
|
qemu_src_configure() {
|
||||||
|
debug-print-function ${FUNCNAME} "$@"
|
||||||
|
|
||||||
|
local buildtype=$1
|
||||||
|
local builddir="${S}/${buildtype}-build"
|
||||||
|
|
||||||
|
mkdir "${builddir}"
|
||||||
|
|
||||||
|
local conf_opts=(
|
||||||
|
--prefix=/usr
|
||||||
|
--sysconfdir=/etc
|
||||||
|
--bindir=/usr/bin
|
||||||
|
--libdir=/usr/$(get_libdir)
|
||||||
|
--datadir=/usr/share
|
||||||
|
--docdir=/usr/share/doc/${PF}/html
|
||||||
|
--mandir=/usr/share/man
|
||||||
|
--localstatedir=/var
|
||||||
|
--disable-bsd-user
|
||||||
|
--disable-containers # bug #732972
|
||||||
|
--disable-guest-agent
|
||||||
|
--disable-strip
|
||||||
|
--with-git-submodules=ignore
|
||||||
|
|
||||||
|
# bug #746752: TCG interpreter has a few limitations:
|
||||||
|
# - it does not support FPU
|
||||||
|
# - it's generally slower on non-self-modifying code
|
||||||
|
# It's advantage is support for host architectures
|
||||||
|
# where native codegeneration is not implemented.
|
||||||
|
# Gentoo has qemu keyworded only on targets with
|
||||||
|
# native code generation available. Avoid the interpreter.
|
||||||
|
--disable-tcg-interpreter
|
||||||
|
|
||||||
|
--disable-werror
|
||||||
|
# We support gnutls/nettle for crypto operations. It is possible
|
||||||
|
# to use gcrypt when gnutls/nettle are disabled (but not when they
|
||||||
|
# are enabled), but it's not really worth the hassle. Disable it
|
||||||
|
# all the time to avoid automatically detecting it. #568856
|
||||||
|
--disable-gcrypt
|
||||||
|
--python="${PYTHON}"
|
||||||
|
--cc="$(tc-getCC)"
|
||||||
|
--cxx="$(tc-getCXX)"
|
||||||
|
--host-cc="$(tc-getBUILD_CC)"
|
||||||
|
$(use_enable alsa)
|
||||||
|
$(use_enable debug debug-info)
|
||||||
|
$(use_enable debug debug-tcg)
|
||||||
|
$(use_enable jack)
|
||||||
|
$(use_enable nls gettext)
|
||||||
|
$(use_enable oss)
|
||||||
|
$(use_enable plugins)
|
||||||
|
$(use_enable pulseaudio pa)
|
||||||
|
$(use_enable selinux)
|
||||||
|
$(use_enable xattr attr)
|
||||||
|
)
|
||||||
|
|
||||||
|
# Disable options not used by user targets. This simplifies building
|
||||||
|
# static user targets (USE=static-user) considerably.
|
||||||
|
conf_notuser() {
|
||||||
|
if [[ ${buildtype} == "user" ]] ; then
|
||||||
|
echo "--disable-${2:-$1}"
|
||||||
|
else
|
||||||
|
use_enable "$@"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
# Enable option only for softmmu build, but not 'user' or 'tools'
|
||||||
|
conf_softmmu() {
|
||||||
|
if [[ ${buildtype} == "softmmu" ]] ; then
|
||||||
|
use_enable "$@"
|
||||||
|
else
|
||||||
|
echo "--disable-${2:-$1}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
# Enable option only for tools build, but not 'user' or 'softmmu'
|
||||||
|
conf_tools() {
|
||||||
|
if [[ ${buildtype} == "tools" ]] ; then
|
||||||
|
use_enable "$@"
|
||||||
|
else
|
||||||
|
echo "--disable-${2:-$1}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
# Special case for the malloc flag, because the --disable flag does
|
||||||
|
# not exist and trying like above will break configuring.
|
||||||
|
conf_malloc() {
|
||||||
|
if [[ ! ${buildtype} == "user" ]] ; then
|
||||||
|
usex "${1}" "--enable-malloc=${1}" ""
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
conf_opts+=(
|
||||||
|
$(conf_notuser accessibility brlapi)
|
||||||
|
$(conf_notuser aio linux-aio)
|
||||||
|
$(conf_softmmu bpf)
|
||||||
|
$(conf_notuser bzip2)
|
||||||
|
$(conf_notuser capstone)
|
||||||
|
$(conf_notuser caps cap-ng)
|
||||||
|
$(conf_notuser curl)
|
||||||
|
$(conf_tools doc docs)
|
||||||
|
$(conf_notuser fdt)
|
||||||
|
$(conf_notuser fuse)
|
||||||
|
$(conf_notuser glusterfs)
|
||||||
|
$(conf_notuser gnutls)
|
||||||
|
$(conf_notuser gnutls nettle)
|
||||||
|
$(conf_notuser gtk)
|
||||||
|
$(conf_notuser infiniband rdma)
|
||||||
|
$(conf_notuser iscsi libiscsi)
|
||||||
|
$(conf_notuser io-uring linux-io-uring)
|
||||||
|
$(conf_malloc jemalloc)
|
||||||
|
$(conf_notuser jpeg vnc-jpeg)
|
||||||
|
$(conf_notuser kernel_linux kvm)
|
||||||
|
$(conf_notuser lzo)
|
||||||
|
$(conf_notuser multipath mpath)
|
||||||
|
$(conf_notuser ncurses curses)
|
||||||
|
$(conf_notuser nfs libnfs)
|
||||||
|
$(conf_notuser numa)
|
||||||
|
$(conf_notuser opengl)
|
||||||
|
$(conf_notuser pam auth-pam)
|
||||||
|
$(conf_notuser png vnc-png)
|
||||||
|
$(conf_notuser rbd)
|
||||||
|
$(conf_notuser sasl vnc-sasl)
|
||||||
|
$(conf_notuser sdl)
|
||||||
|
$(conf_softmmu sdl-image)
|
||||||
|
$(conf_notuser seccomp)
|
||||||
|
$(conf_notuser slirp slirp system)
|
||||||
|
$(conf_notuser smartcard)
|
||||||
|
$(conf_notuser snappy)
|
||||||
|
$(conf_notuser spice)
|
||||||
|
$(conf_notuser ssh libssh)
|
||||||
|
$(conf_notuser udev libudev)
|
||||||
|
$(conf_notuser usb libusb)
|
||||||
|
$(conf_notuser usbredir usb-redir)
|
||||||
|
$(conf_notuser vde)
|
||||||
|
$(conf_notuser vhost-net)
|
||||||
|
$(conf_notuser vhost-user-fs)
|
||||||
|
$(conf_tools vhost-user-fs virtiofsd)
|
||||||
|
$(conf_notuser virgl virglrenderer)
|
||||||
|
$(conf_softmmu virtfs)
|
||||||
|
$(conf_notuser vnc)
|
||||||
|
$(conf_notuser vte)
|
||||||
|
$(conf_notuser xen)
|
||||||
|
$(conf_notuser xen xen-pci-passthrough)
|
||||||
|
# use prebuilt keymaps, bug #759604
|
||||||
|
--disable-xkbcommon
|
||||||
|
$(conf_notuser zstd)
|
||||||
|
)
|
||||||
|
|
||||||
|
if [[ ! ${buildtype} == "user" ]] ; then
|
||||||
|
# audio options
|
||||||
|
local audio_opts=(
|
||||||
|
# Note: backend order matters here: #716202
|
||||||
|
# We iterate from higher-level to lower level.
|
||||||
|
$(usex pulseaudio pa "")
|
||||||
|
$(usev jack)
|
||||||
|
$(usev sdl)
|
||||||
|
$(usev alsa)
|
||||||
|
$(usev oss)
|
||||||
|
)
|
||||||
|
conf_opts+=(
|
||||||
|
--audio-drv-list=$(IFS=,; echo "${audio_opts[*]}")
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
case ${buildtype} in
|
||||||
|
user)
|
||||||
|
conf_opts+=(
|
||||||
|
--enable-linux-user
|
||||||
|
--disable-system
|
||||||
|
--disable-blobs
|
||||||
|
--disable-tools
|
||||||
|
)
|
||||||
|
local static_flag="static-user"
|
||||||
|
;;
|
||||||
|
softmmu)
|
||||||
|
conf_opts+=(
|
||||||
|
--disable-linux-user
|
||||||
|
--enable-system
|
||||||
|
--disable-tools
|
||||||
|
)
|
||||||
|
local static_flag="static"
|
||||||
|
;;
|
||||||
|
tools)
|
||||||
|
conf_opts+=(
|
||||||
|
--disable-linux-user
|
||||||
|
--disable-system
|
||||||
|
--disable-blobs
|
||||||
|
--enable-tools
|
||||||
|
)
|
||||||
|
local static_flag="static"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
local targets="${buildtype}_targets"
|
||||||
|
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
|
||||||
|
|
||||||
|
# Add support for SystemTAP
|
||||||
|
use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
|
||||||
|
|
||||||
|
# We always want to attempt to build with PIE support as it results
|
||||||
|
# in a more secure binary. But it doesn't work with static or if
|
||||||
|
# the current GCC doesn't have PIE support.
|
||||||
|
if use ${static_flag}; then
|
||||||
|
conf_opts+=( --static --disable-pie )
|
||||||
|
else
|
||||||
|
tc-enables-pie && conf_opts+=( --enable-pie )
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Meson will not use a cross-file unless cross_prefix is set.
|
||||||
|
tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" )
|
||||||
|
|
||||||
|
# Plumb through equivalent of EXTRA_ECONF to allow experiments
|
||||||
|
# like bug #747928.
|
||||||
|
conf_opts+=( ${EXTRA_CONF_QEMU} )
|
||||||
|
|
||||||
|
echo "../configure ${conf_opts[*]}"
|
||||||
|
cd "${builddir}"
|
||||||
|
../configure "${conf_opts[@]}" || die "configure failed"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
local target
|
||||||
|
|
||||||
|
python_setup
|
||||||
|
|
||||||
|
softmmu_targets= softmmu_bins=()
|
||||||
|
user_targets= user_bins=()
|
||||||
|
|
||||||
|
for target in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||||
|
if use "qemu_softmmu_targets_${target}"; then
|
||||||
|
softmmu_targets+=",${target}-softmmu"
|
||||||
|
softmmu_bins+=( "qemu-system-${target}" )
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
for target in ${IUSE_USER_TARGETS} ; do
|
||||||
|
if use "qemu_user_targets_${target}"; then
|
||||||
|
user_targets+=",${target}-linux-user"
|
||||||
|
user_bins+=( "qemu-${target}" )
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
softmmu_targets=${softmmu_targets#,}
|
||||||
|
user_targets=${user_targets#,}
|
||||||
|
|
||||||
|
[[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
|
||||||
|
[[ -n ${user_targets} ]] && qemu_src_configure "user"
|
||||||
|
qemu_src_configure "tools"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
if [[ -n ${user_targets} ]]; then
|
||||||
|
cd "${S}/user-build"
|
||||||
|
default
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n ${softmmu_targets} ]]; then
|
||||||
|
cd "${S}/softmmu-build"
|
||||||
|
default
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "${S}/tools-build"
|
||||||
|
default
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
if [[ -n ${softmmu_targets} ]]; then
|
||||||
|
cd "${S}/softmmu-build"
|
||||||
|
pax-mark m */qemu-system-* #515550
|
||||||
|
emake check
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
qemu_python_install() {
|
||||||
|
python_domodule "${S}/python/qemu"
|
||||||
|
|
||||||
|
python_doscript "${S}/scripts/kvm/vmxcap"
|
||||||
|
python_doscript "${S}/scripts/qmp/qmp-shell"
|
||||||
|
python_doscript "${S}/scripts/qmp/qemu-ga-client"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Generate binfmt support files.
|
||||||
|
# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc)
|
||||||
|
# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt)
|
||||||
|
generate_initd() {
|
||||||
|
local out="${T}/qemu-binfmt"
|
||||||
|
local out_systemd="${T}/qemu.conf"
|
||||||
|
local d="${T}/binfmt.d"
|
||||||
|
|
||||||
|
einfo "Generating qemu binfmt scripts and configuration files"
|
||||||
|
|
||||||
|
# Generate the debian fragments first.
|
||||||
|
mkdir -p "${d}"
|
||||||
|
"${S}"/scripts/qemu-binfmt-conf.sh \
|
||||||
|
--debian \
|
||||||
|
--exportdir "${d}" \
|
||||||
|
--qemu-path "${EPREFIX}/usr/bin" \
|
||||||
|
|| die
|
||||||
|
# Then turn the fragments into a shell script we can source.
|
||||||
|
sed -E -i \
|
||||||
|
-e 's:^([^ ]+) (.*)$:\1="\2":' \
|
||||||
|
"${d}"/* || die
|
||||||
|
|
||||||
|
# Generate the init.d script by assembling the fragments from above.
|
||||||
|
local f qcpu package interpreter magic mask
|
||||||
|
cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die
|
||||||
|
for f in "${d}"/qemu-* ; do
|
||||||
|
source "${f}"
|
||||||
|
|
||||||
|
# Normalize the cpu logic like we do in the init.d for the native cpu.
|
||||||
|
qcpu=${package#qemu-}
|
||||||
|
case ${qcpu} in
|
||||||
|
arm*) qcpu="arm";;
|
||||||
|
mips*) qcpu="mips";;
|
||||||
|
ppc*) qcpu="ppc";;
|
||||||
|
s390*) qcpu="s390";;
|
||||||
|
sh*) qcpu="sh";;
|
||||||
|
sparc*) qcpu="sparc";;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# we use 'printf' here to be portable across 'sh'
|
||||||
|
# implementations: #679168
|
||||||
|
cat <<EOF >>"${out}"
|
||||||
|
if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
|
||||||
|
printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register
|
||||||
|
fi
|
||||||
|
EOF
|
||||||
|
|
||||||
|
echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}"
|
||||||
|
|
||||||
|
done
|
||||||
|
cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
if [[ -n ${user_targets} ]]; then
|
||||||
|
cd "${S}/user-build"
|
||||||
|
emake DESTDIR="${ED}" install
|
||||||
|
|
||||||
|
# Install binfmt handler init script for user targets.
|
||||||
|
generate_initd
|
||||||
|
doinitd "${T}/qemu-binfmt"
|
||||||
|
|
||||||
|
# Install binfmt/qemu.conf.
|
||||||
|
insinto "/usr/share/qemu/binfmt.d"
|
||||||
|
doins "${T}/qemu.conf"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n ${softmmu_targets} ]]; then
|
||||||
|
cd "${S}/softmmu-build"
|
||||||
|
emake DESTDIR="${ED}" install
|
||||||
|
|
||||||
|
# This might not exist if the test failed. #512010
|
||||||
|
[[ -e check-report.html ]] && dodoc check-report.html
|
||||||
|
|
||||||
|
if use kernel_linux; then
|
||||||
|
udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use python; then
|
||||||
|
python_foreach_impl qemu_python_install
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "${S}/tools-build"
|
||||||
|
emake DESTDIR="${ED}" install
|
||||||
|
|
||||||
|
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
|
||||||
|
pushd "${ED}"/usr/bin >/dev/null
|
||||||
|
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
|
||||||
|
popd >/dev/null
|
||||||
|
|
||||||
|
# Install config file example for qemu-bridge-helper
|
||||||
|
insinto "/etc/qemu"
|
||||||
|
doins "${FILESDIR}/bridge.conf"
|
||||||
|
|
||||||
|
cd "${S}"
|
||||||
|
dodoc MAINTAINERS docs/specs/pci-ids.txt
|
||||||
|
newdoc pc-bios/README README.pc-bios
|
||||||
|
|
||||||
|
# Disallow stripping of prebuilt firmware files.
|
||||||
|
dostrip -x ${QA_PREBUILT}
|
||||||
|
|
||||||
|
if [[ -n ${softmmu_targets} ]]; then
|
||||||
|
# Remove SeaBIOS since we're using the SeaBIOS packaged one
|
||||||
|
rm "${ED}/usr/share/qemu/bios.bin"
|
||||||
|
rm "${ED}/usr/share/qemu/bios-256k.bin"
|
||||||
|
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||||
|
dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
|
||||||
|
dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove vgabios since we're using the seavgabios packaged one
|
||||||
|
rm "${ED}/usr/share/qemu/vgabios.bin"
|
||||||
|
rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
|
||||||
|
rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
|
||||||
|
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
|
||||||
|
rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
|
||||||
|
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
|
||||||
|
# PPC/PPC64 loads vgabios-stdvga
|
||||||
|
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then
|
||||||
|
dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
|
||||||
|
dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
|
||||||
|
dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
|
||||||
|
dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
|
||||||
|
dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin
|
||||||
|
dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove sgabios since we're using the sgabios packaged one
|
||||||
|
rm "${ED}/usr/share/qemu/sgabios.bin"
|
||||||
|
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||||
|
dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove iPXE since we're using the iPXE packaged one
|
||||||
|
rm "${ED}"/usr/share/qemu/pxe-*.rom
|
||||||
|
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||||
|
dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
|
||||||
|
dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
|
||||||
|
dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
|
||||||
|
dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
|
||||||
|
dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
|
||||||
|
dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
DISABLE_AUTOFORMATTING=true
|
||||||
|
readme.gentoo_create_doc
|
||||||
|
}
|
||||||
|
|
||||||
|
firmware_abi_change() {
|
||||||
|
local pv
|
||||||
|
for pv in ${REPLACING_VERSIONS}; do
|
||||||
|
if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
|
||||||
|
udev_reload
|
||||||
|
fi
|
||||||
|
|
||||||
|
xdg_icon_cache_update
|
||||||
|
|
||||||
|
[[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
|
||||||
|
fcaps cap_net_admin ${EROOT}/usr/libexec/qemu-bridge-helper
|
||||||
|
|
||||||
|
DISABLE_AUTOFORMATTING=true
|
||||||
|
readme.gentoo_print_elog
|
||||||
|
|
||||||
|
if use pin-upstream-blobs && firmware_abi_change; then
|
||||||
|
ewarn "This version of qemu pins new versions of firmware blobs:"
|
||||||
|
ewarn " $(best_version sys-firmware/edk2-ovmf)"
|
||||||
|
ewarn " $(best_version sys-firmware/ipxe)"
|
||||||
|
ewarn " $(best_version sys-firmware/seabios)"
|
||||||
|
ewarn " $(best_version sys-firmware/sgabios)"
|
||||||
|
ewarn "This might break resume of hibernated guests (started with a different"
|
||||||
|
ewarn "firmware version) and live migration to/from qemu versions with different"
|
||||||
|
ewarn "firmware. Please (cold) restart all running guests. For functional"
|
||||||
|
ewarn "guest migration ensure that all"
|
||||||
|
ewarn "hosts run at least"
|
||||||
|
ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_info() {
|
||||||
|
echo "Using:"
|
||||||
|
echo " $(best_version app-emulation/spice-protocol)"
|
||||||
|
echo " $(best_version sys-firmware/edk2-ovmf)"
|
||||||
|
if has_version 'sys-firmware/edk2-ovmf[binary]'; then
|
||||||
|
echo " USE=binary"
|
||||||
|
else
|
||||||
|
echo " USE=''"
|
||||||
|
fi
|
||||||
|
echo " $(best_version sys-firmware/ipxe)"
|
||||||
|
echo " $(best_version sys-firmware/seabios)"
|
||||||
|
if has_version 'sys-firmware/seabios[binary]'; then
|
||||||
|
echo " USE=binary"
|
||||||
|
else
|
||||||
|
echo " USE=''"
|
||||||
|
fi
|
||||||
|
echo " $(best_version sys-firmware/sgabios)"
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
xdg_icon_cache_update
|
||||||
|
}
|
Binary file not shown.
@ -1 +1,2 @@
|
|||||||
|
DIST libnumbertext-1.0.10.tar.xz 292852 BLAKE2B 1dfc5bd974525a3923325357c30cc80ecac0be856288cfc9effe13a0cda5f45eba22b333b606113bea8dff0bc08333a4b203f539b860ec48e214c35bc4dacb41 SHA512 6cb1b09b43c77f9fe1928d72deabdd06cbb3f7185823fcf045855b26ea6e0e017b2eba9dcd4725161012ed6d37a416c98b838145aa418bd0bd79ce52bf456417
|
||||||
DIST libnumbertext-1.0.8.tar.xz 292568 BLAKE2B d385f0bdb19013673190533a21305e12211e1427d59503a9b3c54bc1deda27f405dae347c4cc43161766a901ec14c9ea4b0eed17ba468eb0855ef1a6b0ec95c3 SHA512 b29e544eac25a0603ba7fc68744ac54a372402af32f4bbf52f2373b280efce2eb6831c803d0a10e1f674988839f4c123b8a120e2697bcfa2510d3852d856fe2d
|
DIST libnumbertext-1.0.8.tar.xz 292568 BLAKE2B d385f0bdb19013673190533a21305e12211e1427d59503a9b3c54bc1deda27f405dae347c4cc43161766a901ec14c9ea4b0eed17ba468eb0855ef1a6b0ec95c3 SHA512 b29e544eac25a0603ba7fc68744ac54a372402af32f4bbf52f2373b280efce2eb6831c803d0a10e1f674988839f4c123b8a120e2697bcfa2510d3852d856fe2d
|
||||||
|
@ -0,0 +1,23 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
DESCRIPTION="Number to number name and money text conversion libraries"
|
||||||
|
HOMEPAGE="https://github.com/Numbertext/libnumbertext"
|
||||||
|
SRC_URI="https://github.com/Numbertext/${PN}/releases/download/${PV}/${P}.tar.xz"
|
||||||
|
|
||||||
|
LICENSE="LGPL-3+"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
|
||||||
|
IUSE=""
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
econf \
|
||||||
|
--disable-werror
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
default
|
||||||
|
find "${D}" -name '*.la' -type f -delete || die
|
||||||
|
}
|
Binary file not shown.
@ -1 +1 @@
|
|||||||
DIST gulrak-filesystem-1.5.10.tar.gz 176873 BLAKE2B 0c9ccfd918ede195c65a25a361c9d3a7acca99d2e5e917911a5dcd7e74c989c291f37e962943771860ea8b14f26d066863faea4dd17cb25d44aa9061913d5e5c SHA512 470dd9e1c4358f9d8d9f531d8c3c6716cdd156c815315748436a1dc3caf095d320e58eae2274df8c15e293cc96170752fb00aed8ad2210d417b174c13297fbac
|
DIST gulrak-filesystem-1.5.12.tar.gz 209661 BLAKE2B 9eb0bce08659396f3ef254b0ad772ae9ad29654aef3c90ab1f9eee1c4f830544ad947680e072fcf7d3c251a3afb77447617610c49931d50743444a6b88b4745d SHA512 2cba74921104fa84547288ff983260ce1e81967df6a7d2a334074826c355c72945ad64e6979cd302a23c5e3a398990706b01fc573c046512e9f508edca9da12c
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=8
|
EAPI=8
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,219 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal
|
||||||
|
|
||||||
|
MY_P="rust-${PV}"
|
||||||
|
# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
|
||||||
|
MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2022-04-07/rust-src-${PV}.tar.xz"
|
||||||
|
|
||||||
|
DESCRIPTION="Systems programming language from Mozilla"
|
||||||
|
HOMEPAGE="https://www.rust-lang.org/"
|
||||||
|
SRC_URI="$(rust_all_arch_uris ${MY_P})
|
||||||
|
rust-src? ( ${MY_SRC_URI} )
|
||||||
|
"
|
||||||
|
|
||||||
|
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
|
||||||
|
SLOT="stable"
|
||||||
|
#KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
|
||||||
|
IUSE="clippy cpu_flags_x86_sse2 doc prefix rls rust-src rustfmt"
|
||||||
|
|
||||||
|
DEPEND=""
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
>=app-eselect/eselect-rust-20190311
|
||||||
|
sys-apps/lsb-release
|
||||||
|
"
|
||||||
|
|
||||||
|
BDEPEND="
|
||||||
|
prefix? ( dev-util/patchelf )
|
||||||
|
verify-sig? ( sec-keys/openpgp-keys-rust )
|
||||||
|
"
|
||||||
|
|
||||||
|
REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
|
||||||
|
|
||||||
|
QA_PREBUILT="
|
||||||
|
opt/${P}/bin/.*
|
||||||
|
opt/${P}/lib/.*.so
|
||||||
|
opt/${P}/libexec/.*
|
||||||
|
opt/${P}/lib/rustlib/.*/bin/.*
|
||||||
|
opt/${P}/lib/rustlib/.*/lib/.*
|
||||||
|
"
|
||||||
|
|
||||||
|
# An rmeta file is custom binary format that contains the metadata for the crate.
|
||||||
|
# rmeta files do not support linking, since they do not contain compiled object files.
|
||||||
|
# so we can safely silence the warning for this QA check.
|
||||||
|
QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta"
|
||||||
|
|
||||||
|
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/rust.asc"
|
||||||
|
|
||||||
|
pkg_pretend() {
|
||||||
|
if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
|
||||||
|
die "${CHOST} is not supported by upstream Rust. You must use a hard float version."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_unpack() {
|
||||||
|
# sadly rust-src tarball does not have corresponding .asc file
|
||||||
|
# so do partial verification
|
||||||
|
if use verify-sig; then
|
||||||
|
for f in ${A}; do
|
||||||
|
if [[ -f ${DISTDIR}/${f}.asc ]]; then
|
||||||
|
verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
default_src_unpack
|
||||||
|
|
||||||
|
mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
|
||||||
|
}
|
||||||
|
|
||||||
|
patchelf_for_bin() {
|
||||||
|
local filetype=$(file -b ${1})
|
||||||
|
if [[ ${filetype} == *ELF*interpreter* ]]; then
|
||||||
|
einfo "${1}'s interpreter changed"
|
||||||
|
patchelf ${1} --set-interpreter ${2} || die
|
||||||
|
elif [[ ${filetype} == *script* ]]; then
|
||||||
|
hprefixify ${1}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install() {
|
||||||
|
if multilib_is_native_abi; then
|
||||||
|
|
||||||
|
# start native abi install
|
||||||
|
pushd "${S}" >/dev/null || die
|
||||||
|
local analysis std
|
||||||
|
analysis="$(grep 'analysis' ./components)"
|
||||||
|
std="$(grep 'std' ./components)"
|
||||||
|
local components="rustc,cargo,${std}"
|
||||||
|
use doc && components="${components},rust-docs"
|
||||||
|
use clippy && components="${components},clippy-preview"
|
||||||
|
use rls && components="${components},rls-preview,${analysis}"
|
||||||
|
use rustfmt && components="${components},rustfmt-preview"
|
||||||
|
# Rust component 'rust-src' is extracted from separate archive
|
||||||
|
if use rust-src; then
|
||||||
|
einfo "Combining rust and rust-src installers"
|
||||||
|
mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die
|
||||||
|
echo rust-src >> ./components || die
|
||||||
|
components="${components},rust-src"
|
||||||
|
fi
|
||||||
|
./install.sh \
|
||||||
|
--components="${components}" \
|
||||||
|
--disable-verify \
|
||||||
|
--prefix="${ED}/opt/${P}" \
|
||||||
|
--mandir="${ED}/opt/${P}/man" \
|
||||||
|
--disable-ldconfig \
|
||||||
|
|| die
|
||||||
|
|
||||||
|
if use prefix; then
|
||||||
|
local interpreter=$(patchelf --print-interpreter ${EPREFIX}/bin/bash)
|
||||||
|
ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin"
|
||||||
|
find "${ED}/opt/${P}/bin" -type f -print0 | \
|
||||||
|
while IFS= read -r -d '' filename; do
|
||||||
|
patchelf_for_bin ${filename} ${interpreter} \; || die
|
||||||
|
done
|
||||||
|
eend $?
|
||||||
|
fi
|
||||||
|
|
||||||
|
local symlinks=(
|
||||||
|
cargo
|
||||||
|
rustc
|
||||||
|
rustdoc
|
||||||
|
rust-gdb
|
||||||
|
rust-gdbgui
|
||||||
|
rust-lldb
|
||||||
|
)
|
||||||
|
|
||||||
|
use clippy && symlinks+=( clippy-driver cargo-clippy )
|
||||||
|
use rls && symlinks+=( rls )
|
||||||
|
use rustfmt && symlinks+=( rustfmt cargo-fmt )
|
||||||
|
|
||||||
|
einfo "installing eselect-rust symlinks and paths"
|
||||||
|
local i
|
||||||
|
for i in "${symlinks[@]}"; do
|
||||||
|
# we need realpath on /usr/bin/* symlink return version-appended binary path.
|
||||||
|
# so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver>
|
||||||
|
local ver_i="${i}-bin-${PV}"
|
||||||
|
ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}"
|
||||||
|
dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}"
|
||||||
|
done
|
||||||
|
|
||||||
|
# symlinks to switch components to active rust in eselect
|
||||||
|
dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}"
|
||||||
|
dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}"
|
||||||
|
dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}"
|
||||||
|
dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}"
|
||||||
|
|
||||||
|
# musl logic can be improved a bit, but fine as is for now
|
||||||
|
cat <<-_EOF_ > "${T}/50${P}"
|
||||||
|
LDPATH="${EPREFIX}/usr/lib/rust/lib"
|
||||||
|
MANPATH="${EPREFIX}/usr/lib/rust/man"
|
||||||
|
$(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
|
||||||
|
$(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
|
||||||
|
_EOF_
|
||||||
|
doenvd "${T}/50${P}"
|
||||||
|
|
||||||
|
# note: eselect-rust adds EROOT to all paths below
|
||||||
|
cat <<-_EOF_ > "${T}/provider-${P}"
|
||||||
|
/usr/bin/cargo
|
||||||
|
/usr/bin/rustdoc
|
||||||
|
/usr/bin/rust-gdb
|
||||||
|
/usr/bin/rust-gdbgui
|
||||||
|
/usr/bin/rust-lldb
|
||||||
|
/usr/lib/rustlib
|
||||||
|
/usr/lib/rust/lib
|
||||||
|
/usr/lib/rust/man
|
||||||
|
/usr/share/doc/rust
|
||||||
|
_EOF_
|
||||||
|
|
||||||
|
if use clippy; then
|
||||||
|
echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
|
||||||
|
echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
|
||||||
|
fi
|
||||||
|
if use rls; then
|
||||||
|
echo /usr/bin/rls >> "${T}/provider-${P}"
|
||||||
|
fi
|
||||||
|
if use rustfmt; then
|
||||||
|
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
|
||||||
|
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
insinto /etc/env.d/rust
|
||||||
|
doins "${T}/provider-${P}"
|
||||||
|
popd >/dev/null || die
|
||||||
|
#end native abi install
|
||||||
|
|
||||||
|
else
|
||||||
|
local rust_target
|
||||||
|
rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))"
|
||||||
|
dodir "/opt/${P}/lib/rustlib"
|
||||||
|
cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\
|
||||||
|
"${ED}/opt/${P}/lib/rustlib" || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# BUG: installs x86_64 binary on other arches
|
||||||
|
rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
eselect rust update
|
||||||
|
|
||||||
|
elog "Rust installs a helper script for calling GDB now,"
|
||||||
|
elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}."
|
||||||
|
|
||||||
|
if has_version app-editors/emacs; then
|
||||||
|
elog "install app-emacs/rust-mode to get emacs support for rust."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if has_version app-editors/gvim || has_version app-editors/vim; then
|
||||||
|
elog "install app-vim/rust-vim to get vim support for rust."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
eselect rust cleanup
|
||||||
|
}
|
@ -0,0 +1,703 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( python3_{8..10} )
|
||||||
|
|
||||||
|
inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \
|
||||||
|
multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig
|
||||||
|
|
||||||
|
if [[ ${PV} = *beta* ]]; then
|
||||||
|
betaver=${PV//*beta}
|
||||||
|
BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
|
||||||
|
MY_P="rustc-beta"
|
||||||
|
SLOT="beta/${PV}"
|
||||||
|
SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz"
|
||||||
|
else
|
||||||
|
ABI_VER="$(ver_cut 1-2)"
|
||||||
|
SLOT="stable/${ABI_VER}"
|
||||||
|
MY_P="rustc-${PV}"
|
||||||
|
SRC="${MY_P}-src.tar.xz"
|
||||||
|
#KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
|
||||||
|
fi
|
||||||
|
|
||||||
|
RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
|
||||||
|
|
||||||
|
DESCRIPTION="Systems programming language from Mozilla"
|
||||||
|
HOMEPAGE="https://www.rust-lang.org/"
|
||||||
|
|
||||||
|
SRC_URI="
|
||||||
|
https://static.rust-lang.org/dist/${SRC}
|
||||||
|
verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc )
|
||||||
|
!system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) )
|
||||||
|
"
|
||||||
|
|
||||||
|
# keep in sync with llvm ebuild of the same version as bundled one.
|
||||||
|
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
|
||||||
|
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
|
||||||
|
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
|
||||||
|
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
|
||||||
|
|
||||||
|
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
|
||||||
|
|
||||||
|
IUSE="clippy cpu_flags_x86_sse2 debug dist doc miri nightly parallel-compiler rls rustfmt rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
|
||||||
|
|
||||||
|
# Please keep the LLVM dependency block separate. Since LLVM is slotted,
|
||||||
|
# we need to *really* make sure we're not pulling more than one slot
|
||||||
|
# simultaneously.
|
||||||
|
|
||||||
|
# How to use it:
|
||||||
|
# List all the working slots in LLVM_VALID_SLOTS, newest first.
|
||||||
|
LLVM_VALID_SLOTS=( 14 )
|
||||||
|
LLVM_MAX_SLOT="${LLVM_VALID_SLOTS[0]}"
|
||||||
|
|
||||||
|
# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation
|
||||||
|
# (-) usedep needed because we may build with older llvm without that target
|
||||||
|
LLVM_DEPEND="|| ( "
|
||||||
|
for _s in ${LLVM_VALID_SLOTS[@]}; do
|
||||||
|
LLVM_DEPEND+=" ( "
|
||||||
|
for _x in ${ALL_LLVM_TARGETS[@]}; do
|
||||||
|
LLVM_DEPEND+="
|
||||||
|
${_x}? ( sys-devel/llvm:${_s}[${_x}(-)] )"
|
||||||
|
done
|
||||||
|
LLVM_DEPEND+=" )"
|
||||||
|
done
|
||||||
|
unset _s _x
|
||||||
|
LLVM_DEPEND+=" )
|
||||||
|
<sys-devel/llvm-$(( LLVM_MAX_SLOT + 1 )):=
|
||||||
|
wasm? ( sys-devel/lld )
|
||||||
|
"
|
||||||
|
|
||||||
|
# to bootstrap we need at least exactly previous version, or same.
|
||||||
|
# most of the time previous versions fail to bootstrap with newer
|
||||||
|
# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok,
|
||||||
|
# but it fails to bootstrap with 1.48.x
|
||||||
|
# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.txt
|
||||||
|
RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*"
|
||||||
|
RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*"
|
||||||
|
BOOTSTRAP_DEPEND="||
|
||||||
|
(
|
||||||
|
=dev-lang/rust-"${RUST_DEP_PREV}"
|
||||||
|
=dev-lang/rust-bin-"${RUST_DEP_PREV}"
|
||||||
|
=dev-lang/rust-"${RUST_DEP_CURR}"
|
||||||
|
=dev-lang/rust-bin-"${RUST_DEP_CURR}"
|
||||||
|
)
|
||||||
|
"
|
||||||
|
|
||||||
|
BDEPEND="${PYTHON_DEPS}
|
||||||
|
app-eselect/eselect-rust
|
||||||
|
|| (
|
||||||
|
>=sys-devel/gcc-4.7
|
||||||
|
>=sys-devel/clang-3.5
|
||||||
|
)
|
||||||
|
system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
|
||||||
|
!system-llvm? (
|
||||||
|
>=dev-util/cmake-3.13.4
|
||||||
|
dev-util/ninja
|
||||||
|
)
|
||||||
|
test? ( sys-devel/gdb )
|
||||||
|
verify-sig? ( sec-keys/openpgp-keys-rust )
|
||||||
|
"
|
||||||
|
|
||||||
|
DEPEND="
|
||||||
|
>=app-arch/xz-utils-5.2
|
||||||
|
net-misc/curl:=[http2,ssl]
|
||||||
|
sys-libs/zlib:=
|
||||||
|
dev-libs/openssl:0=
|
||||||
|
elibc_musl? ( sys-libs/libunwind:= )
|
||||||
|
system-llvm? ( ${LLVM_DEPEND} )
|
||||||
|
"
|
||||||
|
|
||||||
|
RDEPEND="${DEPEND}
|
||||||
|
app-eselect/eselect-rust
|
||||||
|
sys-apps/lsb-release
|
||||||
|
"
|
||||||
|
|
||||||
|
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
|
||||||
|
miri? ( nightly )
|
||||||
|
parallel-compiler? ( nightly )
|
||||||
|
rls? ( rust-src )
|
||||||
|
test? ( ${ALL_LLVM_TARGETS[*]} )
|
||||||
|
wasm? ( llvm_targets_WebAssembly )
|
||||||
|
x86? ( cpu_flags_x86_sse2 )
|
||||||
|
"
|
||||||
|
|
||||||
|
# we don't use cmake.eclass, but can get a warning
|
||||||
|
CMAKE_WARN_UNUSED_CLI=no
|
||||||
|
|
||||||
|
QA_FLAGS_IGNORED="
|
||||||
|
usr/lib/${PN}/${PV}/bin/.*
|
||||||
|
usr/lib/${PN}/${PV}/libexec/.*
|
||||||
|
usr/lib/${PN}/${PV}/lib/lib.*.so
|
||||||
|
usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.*
|
||||||
|
usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
|
||||||
|
"
|
||||||
|
|
||||||
|
QA_SONAME="
|
||||||
|
usr/lib/${PN}/${PV}/lib/lib.*.so.*
|
||||||
|
usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
|
||||||
|
"
|
||||||
|
|
||||||
|
QA_PRESTRIPPED="
|
||||||
|
usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp
|
||||||
|
"
|
||||||
|
|
||||||
|
# An rmeta file is custom binary format that contains the metadata for the crate.
|
||||||
|
# rmeta files do not support linking, since they do not contain compiled object files.
|
||||||
|
# so we can safely silence the warning for this QA check.
|
||||||
|
QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta"
|
||||||
|
|
||||||
|
# causes double bootstrap
|
||||||
|
RESTRICT="test"
|
||||||
|
|
||||||
|
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/rust.asc
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}"/1.55.0-ignore-broken-and-non-applicable-tests.patch
|
||||||
|
"${FILESDIR}"/1.49.0-gentoo-musl-target-specs.patch
|
||||||
|
)
|
||||||
|
|
||||||
|
S="${WORKDIR}/${MY_P}-src"
|
||||||
|
|
||||||
|
toml_usex() {
|
||||||
|
usex "${1}" true false
|
||||||
|
}
|
||||||
|
|
||||||
|
bootstrap_rust_version_check() {
|
||||||
|
# never call from pkg_pretend. eselect-rust may be not installed yet.
|
||||||
|
[[ ${MERGE_TYPE} == binary ]] && return
|
||||||
|
local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))"
|
||||||
|
local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))"
|
||||||
|
local rustc_version=( $(eselect --brief rust show 2>/dev/null) )
|
||||||
|
rustc_version=${rustc_version[0]#rust-bin-}
|
||||||
|
rustc_version=${rustc_version#rust-}
|
||||||
|
|
||||||
|
[[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output"
|
||||||
|
|
||||||
|
if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then
|
||||||
|
eerror "Rust >=${rustc_wanted} is required"
|
||||||
|
eerror "please run 'eselect rust' and set correct rust version"
|
||||||
|
die "selected rust version is too old"
|
||||||
|
elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then
|
||||||
|
eerror "Rust <${rustc_toonew} is required"
|
||||||
|
eerror "please run 'eselect rust' and set correct rust version"
|
||||||
|
die "selected rust version is too new"
|
||||||
|
else
|
||||||
|
einfo "Using rust ${rustc_version} to build"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pre_build_checks() {
|
||||||
|
local M=4096
|
||||||
|
# multiply requirements by 1.5 if we are doing x86-multilib
|
||||||
|
if use amd64; then
|
||||||
|
M=$(( $(usex abi_x86_32 15 10) * ${M} / 10 ))
|
||||||
|
fi
|
||||||
|
M=$(( $(usex clippy 128 0) + ${M} ))
|
||||||
|
M=$(( $(usex miri 128 0) + ${M} ))
|
||||||
|
M=$(( $(usex rls 512 0) + ${M} ))
|
||||||
|
M=$(( $(usex rustfmt 256 0) + ${M} ))
|
||||||
|
# add 2G if we compile llvm and 256M per llvm_target
|
||||||
|
if ! use system-llvm; then
|
||||||
|
M=$(( 2048 + ${M} ))
|
||||||
|
local ltarget
|
||||||
|
for ltarget in ${ALL_LLVM_TARGETS[@]}; do
|
||||||
|
M=$(( $(usex ${ltarget} 256 0) + ${M} ))
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
M=$(( $(usex wasm 256 0) + ${M} ))
|
||||||
|
M=$(( $(usex debug 2 1) * ${M} ))
|
||||||
|
eshopts_push -s extglob
|
||||||
|
if is-flagq '-g?(gdb)?([1-9])'; then
|
||||||
|
M=$(( 15 * ${M} / 10 ))
|
||||||
|
fi
|
||||||
|
eshopts_pop
|
||||||
|
M=$(( $(usex system-bootstrap 0 1024) + ${M} ))
|
||||||
|
M=$(( $(usex doc 256 0) + ${M} ))
|
||||||
|
CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
|
||||||
|
}
|
||||||
|
|
||||||
|
llvm_check_deps() {
|
||||||
|
has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]"
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_pretend() {
|
||||||
|
pre_build_checks
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
pre_build_checks
|
||||||
|
python-any-r1_pkg_setup
|
||||||
|
|
||||||
|
export LIBGIT2_NO_PKG_CONFIG=1 #749381
|
||||||
|
|
||||||
|
use system-bootstrap && bootstrap_rust_version_check
|
||||||
|
|
||||||
|
if use system-llvm; then
|
||||||
|
llvm_pkg_setup
|
||||||
|
|
||||||
|
local llvm_config="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
|
||||||
|
export LLVM_LINK_SHARED=1
|
||||||
|
export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
if ! use system-bootstrap; then
|
||||||
|
local rust_stage0_root="${WORKDIR}"/rust-stage0
|
||||||
|
local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
|
||||||
|
|
||||||
|
"${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \
|
||||||
|
--without=rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
default
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
local rust_target="" rust_targets="" arch_cflags
|
||||||
|
|
||||||
|
# Collect rust target names to compile standard libs for all ABIs.
|
||||||
|
for v in $(multilib_get_enabled_abi_pairs); do
|
||||||
|
rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
|
||||||
|
done
|
||||||
|
if use wasm; then
|
||||||
|
rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
|
||||||
|
if use system-llvm; then
|
||||||
|
# un-hardcode rust-lld linker for this target
|
||||||
|
# https://bugs.gentoo.org/715348
|
||||||
|
sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/wasm_base.rs || die
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
rust_targets="${rust_targets#,}"
|
||||||
|
|
||||||
|
local tools="\"cargo\","
|
||||||
|
if use clippy; then
|
||||||
|
tools="\"clippy\",$tools"
|
||||||
|
fi
|
||||||
|
if use miri; then
|
||||||
|
tools="\"miri\",$tools"
|
||||||
|
fi
|
||||||
|
if use rls; then
|
||||||
|
tools="\"rls\",\"analysis\",$tools"
|
||||||
|
fi
|
||||||
|
if use rustfmt; then
|
||||||
|
tools="\"rustfmt\",$tools"
|
||||||
|
fi
|
||||||
|
if use rust-src; then
|
||||||
|
tools="\"src\",$tools"
|
||||||
|
fi
|
||||||
|
|
||||||
|
local rust_stage0_root
|
||||||
|
if use system-bootstrap; then
|
||||||
|
local printsysroot
|
||||||
|
printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")"
|
||||||
|
rust_stage0_root="${printsysroot}"
|
||||||
|
else
|
||||||
|
rust_stage0_root="${WORKDIR}"/rust-stage0
|
||||||
|
fi
|
||||||
|
# in case of prefix it will be already prefixed, as --print sysroot returns full path
|
||||||
|
[[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory"
|
||||||
|
|
||||||
|
rust_target="$(rust_abi)"
|
||||||
|
|
||||||
|
cat <<- _EOF_ > "${S}"/config.toml
|
||||||
|
changelog-seen = 2
|
||||||
|
[llvm]
|
||||||
|
download-ci-llvm = false
|
||||||
|
optimize = $(toml_usex !debug)
|
||||||
|
release-debuginfo = $(toml_usex debug)
|
||||||
|
assertions = $(toml_usex debug)
|
||||||
|
ninja = true
|
||||||
|
targets = "${LLVM_TARGETS// /;}"
|
||||||
|
experimental-targets = ""
|
||||||
|
link-shared = $(toml_usex system-llvm)
|
||||||
|
$(case "${rust_target}" in
|
||||||
|
i586-*-linux-*)
|
||||||
|
# https://github.com/rust-lang/rust/issues/93059
|
||||||
|
echo 'cflags = "-fcf-protection=none"'
|
||||||
|
echo 'cxxflags = "-fcf-protection=none"'
|
||||||
|
echo 'ldflags = "-fcf-protection=none"'
|
||||||
|
;;
|
||||||
|
esac)
|
||||||
|
[build]
|
||||||
|
build-stage = 2
|
||||||
|
test-stage = 2
|
||||||
|
doc-stage = 2
|
||||||
|
build = "${rust_target}"
|
||||||
|
host = ["${rust_target}"]
|
||||||
|
target = [${rust_targets}]
|
||||||
|
cargo = "${rust_stage0_root}/bin/cargo"
|
||||||
|
rustc = "${rust_stage0_root}/bin/rustc"
|
||||||
|
rustfmt = "${rust_stage0_root}/bin/rustfmt"
|
||||||
|
docs = $(toml_usex doc)
|
||||||
|
compiler-docs = false
|
||||||
|
submodules = false
|
||||||
|
python = "${EPYTHON}"
|
||||||
|
locked-deps = true
|
||||||
|
vendor = true
|
||||||
|
extended = true
|
||||||
|
tools = [${tools}]
|
||||||
|
verbose = 2
|
||||||
|
sanitizers = false
|
||||||
|
profiler = false
|
||||||
|
cargo-native-static = false
|
||||||
|
[install]
|
||||||
|
prefix = "${EPREFIX}/usr/lib/${PN}/${PV}"
|
||||||
|
sysconfdir = "etc"
|
||||||
|
docdir = "share/doc/rust"
|
||||||
|
bindir = "bin"
|
||||||
|
libdir = "lib"
|
||||||
|
mandir = "share/man"
|
||||||
|
[rust]
|
||||||
|
# https://github.com/rust-lang/rust/issues/54872
|
||||||
|
codegen-units-std = 1
|
||||||
|
optimize = true
|
||||||
|
debug = $(toml_usex debug)
|
||||||
|
debug-assertions = $(toml_usex debug)
|
||||||
|
debug-assertions-std = $(toml_usex debug)
|
||||||
|
debuginfo-level = $(usex debug 2 0)
|
||||||
|
debuginfo-level-rustc = $(usex debug 2 0)
|
||||||
|
debuginfo-level-std = $(usex debug 2 0)
|
||||||
|
debuginfo-level-tools = $(usex debug 2 0)
|
||||||
|
debuginfo-level-tests = 0
|
||||||
|
backtrace = true
|
||||||
|
incremental = false
|
||||||
|
default-linker = "$(tc-getCC)"
|
||||||
|
parallel-compiler = $(toml_usex parallel-compiler)
|
||||||
|
channel = "$(usex nightly nightly stable)"
|
||||||
|
description = "gentoo"
|
||||||
|
rpath = false
|
||||||
|
verbose-tests = true
|
||||||
|
optimize-tests = $(toml_usex !debug)
|
||||||
|
codegen-tests = true
|
||||||
|
dist-src = false
|
||||||
|
remap-debuginfo = true
|
||||||
|
lld = $(usex system-llvm false $(toml_usex wasm))
|
||||||
|
# only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it
|
||||||
|
# https://github.com/rust-lang/rust/issues/74976
|
||||||
|
# https://github.com/rust-lang/rust/issues/76526
|
||||||
|
deny-warnings = $(usex wasm $(usex doc false true) true)
|
||||||
|
backtrace-on-ice = true
|
||||||
|
jemalloc = false
|
||||||
|
[dist]
|
||||||
|
src-tarball = false
|
||||||
|
compression-formats = ["xz"]
|
||||||
|
_EOF_
|
||||||
|
|
||||||
|
for v in $(multilib_get_enabled_abi_pairs); do
|
||||||
|
rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
|
||||||
|
arch_cflags="$(get_abi_CFLAGS ${v##*.})"
|
||||||
|
|
||||||
|
cat <<- _EOF_ >> "${S}"/config.env
|
||||||
|
CFLAGS_${rust_target}=${arch_cflags}
|
||||||
|
_EOF_
|
||||||
|
|
||||||
|
cat <<- _EOF_ >> "${S}"/config.toml
|
||||||
|
[target.${rust_target}]
|
||||||
|
ar = "$(tc-getAR)"
|
||||||
|
cc = "$(tc-getCC)"
|
||||||
|
cxx = "$(tc-getCXX)"
|
||||||
|
linker = "$(tc-getCC)"
|
||||||
|
ranlib = "$(tc-getRANLIB)"
|
||||||
|
_EOF_
|
||||||
|
# librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true;
|
||||||
|
if use elibc_musl; then
|
||||||
|
cat <<- _EOF_ >> "${S}"/config.toml
|
||||||
|
crt-static = false
|
||||||
|
_EOF_
|
||||||
|
fi
|
||||||
|
if use system-llvm; then
|
||||||
|
cat <<- _EOF_ >> "${S}"/config.toml
|
||||||
|
llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
|
||||||
|
_EOF_
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if use wasm; then
|
||||||
|
cat <<- _EOF_ >> "${S}"/config.toml
|
||||||
|
[target.wasm32-unknown-unknown]
|
||||||
|
linker = "$(usex system-llvm lld rust-lld)"
|
||||||
|
_EOF_
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below
|
||||||
|
# experimental cross support
|
||||||
|
# discussion: https://bugs.gentoo.org/679878
|
||||||
|
# TODO: c*flags, clang, system-llvm, cargo.eclass target support
|
||||||
|
# it would be much better if we could split out stdlib
|
||||||
|
# complilation to separate ebuild and abuse CATEGORY to
|
||||||
|
# just install to /usr/lib/rustlib/<target>
|
||||||
|
|
||||||
|
# extra targets defined as a bash array
|
||||||
|
# spec format: <LLVM target>:<rust-target>:<CTARGET>
|
||||||
|
# best place would be /etc/portage/env/dev-lang/rust
|
||||||
|
# Example:
|
||||||
|
# RUST_CROSS_TARGETS=(
|
||||||
|
# "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu"
|
||||||
|
# )
|
||||||
|
# no extra hand holding is done, no target transformations, all
|
||||||
|
# values are passed as-is with just basic checks, so it's up to user to supply correct values
|
||||||
|
# valid rust targets can be obtained with
|
||||||
|
# rustc --print target-list
|
||||||
|
# matching cross toolchain has to be installed
|
||||||
|
# matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one)
|
||||||
|
# only gcc toolchains installed with crossdev are checked for now.
|
||||||
|
|
||||||
|
# BUG: we can't pass host flags to cross compiler, so just filter for now
|
||||||
|
# BUG: this should be more fine-grained.
|
||||||
|
filter-flags '-mcpu=*' '-march=*' '-mtune=*'
|
||||||
|
|
||||||
|
local cross_target_spec
|
||||||
|
for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do
|
||||||
|
# extracts first element form <LLVM target>:<rust-target>:<CTARGET>
|
||||||
|
local cross_llvm_target="${cross_target_spec%%:*}"
|
||||||
|
# extracts toolchain triples, <rust-target>:<CTARGET>
|
||||||
|
local cross_triples="${cross_target_spec#*:}"
|
||||||
|
# extracts first element after before : separator
|
||||||
|
local cross_rust_target="${cross_triples%%:*}"
|
||||||
|
# extracts last element after : separator
|
||||||
|
local cross_toolchain="${cross_triples##*:}"
|
||||||
|
use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled"
|
||||||
|
command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain"
|
||||||
|
|
||||||
|
cat <<- _EOF_ >> "${S}"/config.toml
|
||||||
|
[target.${cross_rust_target}]
|
||||||
|
ar = "${cross_toolchain}-ar"
|
||||||
|
cc = "${cross_toolchain}-gcc"
|
||||||
|
cxx = "${cross_toolchain}-g++"
|
||||||
|
linker = "${cross_toolchain}-gcc"
|
||||||
|
ranlib = "${cross_toolchain}-ranlib"
|
||||||
|
_EOF_
|
||||||
|
if use system-llvm; then
|
||||||
|
cat <<- _EOF_ >> "${S}"/config.toml
|
||||||
|
llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
|
||||||
|
_EOF_
|
||||||
|
fi
|
||||||
|
if [[ "${cross_toolchain}" == *-musl* ]]; then
|
||||||
|
cat <<- _EOF_ >> "${S}"/config.toml
|
||||||
|
musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr"
|
||||||
|
_EOF_
|
||||||
|
fi
|
||||||
|
|
||||||
|
# append cross target to "normal" target list
|
||||||
|
# example 'target = ["powerpc64le-unknown-linux-gnu"]'
|
||||||
|
# becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]'
|
||||||
|
|
||||||
|
rust_targets="${rust_targets},\"${cross_rust_target}\""
|
||||||
|
sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die
|
||||||
|
|
||||||
|
ewarn
|
||||||
|
ewarn "Enabled ${cross_rust_target} rust target"
|
||||||
|
ewarn "Using ${cross_toolchain} cross toolchain"
|
||||||
|
ewarn
|
||||||
|
if ! has_version -b 'sys-devel/binutils[multitarget]' ; then
|
||||||
|
ewarn "'sys-devel/binutils[multitarget]' is not installed"
|
||||||
|
ewarn "'strip' will be unable to strip cross libraries"
|
||||||
|
ewarn "cross targets will be installed with full debug information"
|
||||||
|
ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files"
|
||||||
|
ewarn
|
||||||
|
ewarn "Alternatively llvm-strip can be used, it supports stripping any target"
|
||||||
|
ewarn "define STRIP=\"llvm-strip\" to use it (experimental)"
|
||||||
|
ewarn
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi # I_KNOW_WHAT_I_AM_DOING_CROSS
|
||||||
|
|
||||||
|
einfo "Rust configured with the following flags:"
|
||||||
|
echo
|
||||||
|
echo RUSTFLAGS="${RUSTFLAGS:-}"
|
||||||
|
echo RUSTFLAGS_BOOTSTRAP="${RUSTFLAGS_BOOTSTRAP:-}"
|
||||||
|
echo RUSTFLAGS_NOT_BOOTSTRAP="${RUSTFLAGS_NOT_BOOTSTRAP:-}"
|
||||||
|
env | grep "CARGO_TARGET_.*_RUSTFLAGS="
|
||||||
|
cat "${S}"/config.env || die
|
||||||
|
echo
|
||||||
|
einfo "config.toml contents:"
|
||||||
|
cat "${S}"/config.toml || die
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
# we need \n IFS to have config.env with spaces loaded properly. #734018
|
||||||
|
(
|
||||||
|
IFS=$'\n'
|
||||||
|
env $(cat "${S}"/config.env) RUST_BACKTRACE=1\
|
||||||
|
"${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
# https://rustc-dev-guide.rust-lang.org/tests/intro.html
|
||||||
|
|
||||||
|
# those are basic and codegen tests.
|
||||||
|
local tests=(
|
||||||
|
codegen
|
||||||
|
codegen-units
|
||||||
|
compile-fail
|
||||||
|
incremental
|
||||||
|
mir-opt
|
||||||
|
pretty
|
||||||
|
run-make
|
||||||
|
)
|
||||||
|
|
||||||
|
# fails if llvm is not built with ALL targets.
|
||||||
|
# and known to fail with system llvm sometimes.
|
||||||
|
use system-llvm || tests+=( assembly )
|
||||||
|
|
||||||
|
# fragile/expensive/less important tests
|
||||||
|
# or tests that require extra builds
|
||||||
|
# TODO: instead of skipping, just make some nonfatal.
|
||||||
|
if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then
|
||||||
|
tests+=(
|
||||||
|
rustdoc
|
||||||
|
rustdoc-js
|
||||||
|
rustdoc-js-std
|
||||||
|
rustdoc-ui
|
||||||
|
run-make-fulldeps
|
||||||
|
ui
|
||||||
|
ui-fulldeps
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
local i failed=()
|
||||||
|
einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}"
|
||||||
|
for i in "${tests[@]}"; do
|
||||||
|
local t="src/test/${i}"
|
||||||
|
einfo "rust_src_test: running ${t}"
|
||||||
|
if ! (
|
||||||
|
IFS=$'\n'
|
||||||
|
env $(cat "${S}"/config.env) RUST_BACKTRACE=1 \
|
||||||
|
"${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \
|
||||||
|
-j$(makeopts_jobs) --no-doc --no-fail-fast "${t}"
|
||||||
|
)
|
||||||
|
then
|
||||||
|
failed+=( "${t}" )
|
||||||
|
eerror "rust_src_test: ${t} failed"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ ${#failed[@]} -ne 0 ]]; then
|
||||||
|
eerror "rust_src_test: failure summary: ${failed[@]}"
|
||||||
|
die "aborting due to test failures"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
(
|
||||||
|
IFS=$'\n'
|
||||||
|
env $(cat "${S}"/config.env) DESTDIR="${D}" \
|
||||||
|
"${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
|
||||||
|
)
|
||||||
|
|
||||||
|
# bug #689562, #689160
|
||||||
|
rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die
|
||||||
|
rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die
|
||||||
|
newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo
|
||||||
|
|
||||||
|
local symlinks=(
|
||||||
|
cargo
|
||||||
|
rustc
|
||||||
|
rustdoc
|
||||||
|
rust-gdb
|
||||||
|
rust-gdbgui
|
||||||
|
rust-lldb
|
||||||
|
)
|
||||||
|
|
||||||
|
use clippy && symlinks+=( clippy-driver cargo-clippy )
|
||||||
|
use miri && symlinks+=( miri cargo-miri )
|
||||||
|
use rls && symlinks+=( rls )
|
||||||
|
use rustfmt && symlinks+=( rustfmt cargo-fmt )
|
||||||
|
|
||||||
|
einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}"
|
||||||
|
local i
|
||||||
|
for i in "${symlinks[@]}"; do
|
||||||
|
# we need realpath on /usr/bin/* symlink return version-appended binary path.
|
||||||
|
# so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver>
|
||||||
|
# need to fix eselect-rust to remove this hack.
|
||||||
|
local ver_i="${i}-${PV}"
|
||||||
|
if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then
|
||||||
|
einfo "Installing ${i} symlink"
|
||||||
|
ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die
|
||||||
|
else
|
||||||
|
ewarn "${i} symlink requested, but source file not found"
|
||||||
|
ewarn "please report this"
|
||||||
|
fi
|
||||||
|
dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}"
|
||||||
|
done
|
||||||
|
|
||||||
|
# symlinks to switch components to active rust in eselect
|
||||||
|
dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}"
|
||||||
|
dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}"
|
||||||
|
dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}"
|
||||||
|
dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}"
|
||||||
|
dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}"
|
||||||
|
|
||||||
|
newenvd - "50${P}" <<-_EOF_
|
||||||
|
LDPATH="${EPREFIX}/usr/lib/rust/lib"
|
||||||
|
MANPATH="${EPREFIX}/usr/lib/rust/man"
|
||||||
|
$(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
|
||||||
|
$(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
|
||||||
|
_EOF_
|
||||||
|
|
||||||
|
rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die
|
||||||
|
rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die
|
||||||
|
|
||||||
|
# note: eselect-rust adds EROOT to all paths below
|
||||||
|
cat <<-_EOF_ > "${T}/provider-${P}"
|
||||||
|
/usr/bin/cargo
|
||||||
|
/usr/bin/rustdoc
|
||||||
|
/usr/bin/rust-gdb
|
||||||
|
/usr/bin/rust-gdbgui
|
||||||
|
/usr/bin/rust-lldb
|
||||||
|
/usr/lib/rustlib
|
||||||
|
/usr/lib/rust/lib
|
||||||
|
/usr/lib/rust/libexec
|
||||||
|
/usr/lib/rust/man
|
||||||
|
/usr/share/doc/rust
|
||||||
|
_EOF_
|
||||||
|
|
||||||
|
if use clippy; then
|
||||||
|
echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
|
||||||
|
echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
|
||||||
|
fi
|
||||||
|
if use miri; then
|
||||||
|
echo /usr/bin/miri >> "${T}/provider-${P}"
|
||||||
|
echo /usr/bin/cargo-miri >> "${T}/provider-${P}"
|
||||||
|
fi
|
||||||
|
if use rls; then
|
||||||
|
echo /usr/bin/rls >> "${T}/provider-${P}"
|
||||||
|
fi
|
||||||
|
if use rustfmt; then
|
||||||
|
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
|
||||||
|
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
insinto /etc/env.d/rust
|
||||||
|
doins "${T}/provider-${P}"
|
||||||
|
|
||||||
|
if use dist; then
|
||||||
|
insinto "/usr/lib/${PN}/${PV}/dist"
|
||||||
|
doins -r "${S}/build/dist/."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
eselect rust update
|
||||||
|
|
||||||
|
if has_version sys-devel/gdb || has_version dev-util/lldb; then
|
||||||
|
elog "Rust installs a helper script for calling GDB and LLDB,"
|
||||||
|
elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if has_version app-editors/emacs; then
|
||||||
|
elog "install app-emacs/rust-mode to get emacs support for rust."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if has_version app-editors/gvim || has_version app-editors/vim; then
|
||||||
|
elog "install app-vim/rust-vim to get vim support for rust."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
eselect rust cleanup
|
||||||
|
}
|
Binary file not shown.
@ -1 +1,3 @@
|
|||||||
DIST icu4c-70_1-src.tgz 25449582 BLAKE2B e229376ee45322db99aa963465048ab5e694ce9f0ba335f071817198238de21fcd77dfe3e86ea1394790e2a3b6d96772d1b98cb7dccd6462a9dd05c0ab7bdef0 SHA512 0b26ae7207155cb65a8fdb25f7b2fa4431e74b12bccbed0884a17feaae3c96833d12451064dd152197fd6ea5fd3adfd95594284a463e66c82e0d860f645880c9
|
DIST icu4c-70_1-src.tgz 25449582 BLAKE2B e229376ee45322db99aa963465048ab5e694ce9f0ba335f071817198238de21fcd77dfe3e86ea1394790e2a3b6d96772d1b98cb7dccd6462a9dd05c0ab7bdef0 SHA512 0b26ae7207155cb65a8fdb25f7b2fa4431e74b12bccbed0884a17feaae3c96833d12451064dd152197fd6ea5fd3adfd95594284a463e66c82e0d860f645880c9
|
||||||
|
DIST icu4c-71_1-src.tgz 25701340 BLAKE2B 182972d87fe5b69b5e08c39ab9bb0ac7ffc7b36530168b3548faa051cce2b73b9f1c1d23198a4b1c655442155e369da76929e4f54fe4e32265160363428d4916 SHA512 1fd2a20aef48369d1f06e2bb74584877b8ad0eb529320b976264ec2db87420bae242715795f372dbc513ea80047bc49077a064e78205cd5e8b33d746fd2a2912
|
||||||
|
DIST icu4c-71_1-src.tgz.asc 659 BLAKE2B ac281e0a9b94bf6bfddee2dd5dc7553836aa50ae84f55478a662d0cd1e116a944de92dd5fd701164d62fb5b8e8effcdb3456a151a6b198d603e2324ccd76e334 SHA512 3371e14f3959defa7fb8d3eb0308084646ed553169b7a845bff89f9a8c1054ef5bee45c26c1834a84cab38fa87710f1585e6c5787be1fe2df356eb5c2ba20aae
|
||||||
|
@ -0,0 +1,127 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
# Please bump with dev-libs/icu
|
||||||
|
|
||||||
|
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/icu.asc
|
||||||
|
inherit autotools flag-o-matic multilib-minimal toolchain-funcs verify-sig
|
||||||
|
|
||||||
|
DESCRIPTION="External layout part of International Components for Unicode"
|
||||||
|
HOMEPAGE="https://icu-project.org/"
|
||||||
|
SRC_URI="https://github.com/unicode-org/icu/releases/download/release-${PV//./-}/icu4c-${PV//./_}-src.tgz"
|
||||||
|
SRC_URI+=" verify-sig? ( https://github.com/unicode-org/icu/releases/download/release-${PV//./-}/icu4c-${PV//./_}-src.tgz.asc )"
|
||||||
|
S="${WORKDIR}/${PN/-layoutex}/source"
|
||||||
|
|
||||||
|
LICENSE="BSD"
|
||||||
|
SLOT="0/${PV}"
|
||||||
|
#KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
|
||||||
|
IUSE="debug static-libs test"
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
DEPEND="
|
||||||
|
~dev-libs/icu-${PV}[${MULTILIB_USEDEP}]
|
||||||
|
dev-libs/icu-le-hb[${MULTILIB_USEDEP}]
|
||||||
|
"
|
||||||
|
RDEPEND="${DEPEND}"
|
||||||
|
BDEPEND="
|
||||||
|
virtual/pkgconfig
|
||||||
|
verify-sig? ( sec-keys/openpgp-keys-icu )
|
||||||
|
"
|
||||||
|
|
||||||
|
PATCHES=( "${FILESDIR}/${PN}-65.1-remove-bashisms.patch" )
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
|
||||||
|
# Disable renaming as it assumes stable ABI and that consumers
|
||||||
|
# won't use unofficial APIs. We need this despite the configure argument.
|
||||||
|
sed -i \
|
||||||
|
-e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \
|
||||||
|
common/unicode/uconfig.h || die
|
||||||
|
|
||||||
|
# Fix linking of icudata
|
||||||
|
sed -i \
|
||||||
|
-e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \
|
||||||
|
config/mh-linux || die
|
||||||
|
|
||||||
|
eautoreconf
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
# Use C++14
|
||||||
|
append-cxxflags -std=c++14
|
||||||
|
|
||||||
|
if tc-is-cross-compiler; then
|
||||||
|
mkdir "${WORKDIR}"/host || die
|
||||||
|
pushd "${WORKDIR}"/host >/dev/null || die
|
||||||
|
|
||||||
|
CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \
|
||||||
|
CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" AR="$(tc-getBUILD_AR)" \
|
||||||
|
RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \
|
||||||
|
"${S}"/configure --disable-renaming --disable-debug \
|
||||||
|
--disable-samples --enable-static || die
|
||||||
|
emake
|
||||||
|
|
||||||
|
popd >/dev/null || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
multilib-minimal_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_configure() {
|
||||||
|
local myeconfargs=(
|
||||||
|
--disable-renaming
|
||||||
|
# We want a minimal build as this is just for layoutex
|
||||||
|
# so we disable as much as possible
|
||||||
|
--disable-samples
|
||||||
|
--disable-extras
|
||||||
|
--disable-icuio
|
||||||
|
|
||||||
|
# This is icu-layoutex, so..
|
||||||
|
--enable-layoutex
|
||||||
|
|
||||||
|
$(use_enable debug)
|
||||||
|
$(use_enable static-libs static)
|
||||||
|
|
||||||
|
# Need tools for tests, otherwise get this in configure:
|
||||||
|
# "## Note: you have disabled ICU's tools. This ICU cannot build its own data or tests.
|
||||||
|
# ## Expect build failures in the 'data', 'test', and other directories."
|
||||||
|
# ... although layoutex has no tests right now anyway, but let's keep this
|
||||||
|
# for the future.
|
||||||
|
$(use_enable test tools)
|
||||||
|
$(use_enable test tests)
|
||||||
|
)
|
||||||
|
|
||||||
|
tc-is-cross-compiler && myeconfargs+=(
|
||||||
|
--with-cross-build="${WORKDIR}"/host
|
||||||
|
)
|
||||||
|
|
||||||
|
# icu tries to use clang by default
|
||||||
|
tc-export CC CXX
|
||||||
|
|
||||||
|
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_test() {
|
||||||
|
# INTLTEST_OPTS: intltest options
|
||||||
|
# -e: Exhaustive testing
|
||||||
|
# -l: Reporting of memory leaks
|
||||||
|
# -v: Increased verbosity
|
||||||
|
# IOTEST_OPTS: iotest options
|
||||||
|
# -e: Exhaustive testing
|
||||||
|
# -v: Increased verbosity
|
||||||
|
# CINTLTST_OPTS: cintltst options
|
||||||
|
# -e: Exhaustive testing
|
||||||
|
# -v: Increased verbosity
|
||||||
|
pushd layoutex &>/dev/null || die
|
||||||
|
emake -j1 VERBOSE="1" check
|
||||||
|
popd &>/dev/null || die
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install() {
|
||||||
|
pushd layoutex &>/dev/null || die
|
||||||
|
default
|
||||||
|
popd &>/dev/null || die
|
||||||
|
}
|
@ -1 +1,3 @@
|
|||||||
DIST icu4c-70_1-src.tgz 25449582 BLAKE2B e229376ee45322db99aa963465048ab5e694ce9f0ba335f071817198238de21fcd77dfe3e86ea1394790e2a3b6d96772d1b98cb7dccd6462a9dd05c0ab7bdef0 SHA512 0b26ae7207155cb65a8fdb25f7b2fa4431e74b12bccbed0884a17feaae3c96833d12451064dd152197fd6ea5fd3adfd95594284a463e66c82e0d860f645880c9
|
DIST icu4c-70_1-src.tgz 25449582 BLAKE2B e229376ee45322db99aa963465048ab5e694ce9f0ba335f071817198238de21fcd77dfe3e86ea1394790e2a3b6d96772d1b98cb7dccd6462a9dd05c0ab7bdef0 SHA512 0b26ae7207155cb65a8fdb25f7b2fa4431e74b12bccbed0884a17feaae3c96833d12451064dd152197fd6ea5fd3adfd95594284a463e66c82e0d860f645880c9
|
||||||
|
DIST icu4c-71_1-src.tgz 25701340 BLAKE2B 182972d87fe5b69b5e08c39ab9bb0ac7ffc7b36530168b3548faa051cce2b73b9f1c1d23198a4b1c655442155e369da76929e4f54fe4e32265160363428d4916 SHA512 1fd2a20aef48369d1f06e2bb74584877b8ad0eb529320b976264ec2db87420bae242715795f372dbc513ea80047bc49077a064e78205cd5e8b33d746fd2a2912
|
||||||
|
DIST icu4c-71_1-src.tgz.asc 659 BLAKE2B ac281e0a9b94bf6bfddee2dd5dc7553836aa50ae84f55478a662d0cd1e116a944de92dd5fd701164d62fb5b8e8effcdb3456a151a6b198d603e2324ccd76e334 SHA512 3371e14f3959defa7fb8d3eb0308084646ed553169b7a845bff89f9a8c1054ef5bee45c26c1834a84cab38fa87710f1585e6c5787be1fe2df356eb5c2ba20aae
|
||||||
|
@ -0,0 +1,150 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
# Please bump with dev-libs/icu-layoutex
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( python3_{8..10} )
|
||||||
|
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/icu.asc
|
||||||
|
inherit autotools flag-o-matic multilib-minimal python-any-r1 toolchain-funcs verify-sig
|
||||||
|
|
||||||
|
DESCRIPTION="International Components for Unicode"
|
||||||
|
HOMEPAGE="https://icu.unicode.org/"
|
||||||
|
SRC_URI="https://github.com/unicode-org/icu/releases/download/release-${PV//./-}/icu4c-${PV//./_}-src.tgz"
|
||||||
|
SRC_URI+=" verify-sig? ( https://github.com/unicode-org/icu/releases/download/release-${PV//./-}/icu4c-${PV//./_}-src.tgz.asc )"
|
||||||
|
S="${WORKDIR}/${PN}/source"
|
||||||
|
|
||||||
|
LICENSE="BSD"
|
||||||
|
SLOT="0/${PV}"
|
||||||
|
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
|
||||||
|
IUSE="debug doc examples static-libs test"
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
BDEPEND="${PYTHON_DEPS}
|
||||||
|
sys-devel/autoconf-archive
|
||||||
|
virtual/pkgconfig
|
||||||
|
doc? ( app-doc/doxygen[dot] )
|
||||||
|
verify-sig? ( sec-keys/openpgp-keys-icu )
|
||||||
|
"
|
||||||
|
|
||||||
|
MULTILIB_CHOST_TOOLS=(
|
||||||
|
/usr/bin/icu-config
|
||||||
|
)
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}/${PN}-65.1-remove-bashisms.patch"
|
||||||
|
"${FILESDIR}/${PN}-64.2-darwin.patch"
|
||||||
|
"${FILESDIR}/${PN}-68.1-nonunicode.patch"
|
||||||
|
)
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
|
||||||
|
# Disable renaming as it assumes stable ABI and that consumers
|
||||||
|
# won't use unofficial APIs. We need this despite the configure argument.
|
||||||
|
sed -i \
|
||||||
|
-e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \
|
||||||
|
common/unicode/uconfig.h || die
|
||||||
|
|
||||||
|
# Fix linking of icudata
|
||||||
|
sed -i \
|
||||||
|
-e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \
|
||||||
|
config/mh-linux || die
|
||||||
|
|
||||||
|
# Append doxygen configuration to configure
|
||||||
|
sed -i \
|
||||||
|
-e 's:icudefs.mk:icudefs.mk Doxyfile:' \
|
||||||
|
configure.ac || die
|
||||||
|
|
||||||
|
eautoreconf
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
append-cxxflags -std=c++14
|
||||||
|
|
||||||
|
if tc-is-cross-compiler; then
|
||||||
|
mkdir "${WORKDIR}"/host || die
|
||||||
|
pushd "${WORKDIR}"/host >/dev/null || die
|
||||||
|
|
||||||
|
CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \
|
||||||
|
CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" AR="$(tc-getBUILD_AR)" \
|
||||||
|
RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \
|
||||||
|
"${S}"/configure --disable-renaming --disable-debug \
|
||||||
|
--disable-samples --enable-static || die
|
||||||
|
emake
|
||||||
|
|
||||||
|
popd >/dev/null || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
multilib-minimal_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_configure() {
|
||||||
|
local myeconfargs=(
|
||||||
|
--disable-renaming
|
||||||
|
--disable-samples
|
||||||
|
--disable-layoutex
|
||||||
|
$(use_enable debug)
|
||||||
|
$(use_enable static-libs static)
|
||||||
|
$(use_enable test tests)
|
||||||
|
$(multilib_native_use_enable examples samples)
|
||||||
|
)
|
||||||
|
|
||||||
|
tc-is-cross-compiler && myeconfargs+=(
|
||||||
|
--with-cross-build="${WORKDIR}"/host
|
||||||
|
)
|
||||||
|
|
||||||
|
# Work around cross-endian testing failures with LTO #757681
|
||||||
|
if tc-is-cross-compiler && is-flagq '-flto*' ; then
|
||||||
|
myeconfargs+=( --disable-strict )
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ICU tries to use clang by default
|
||||||
|
tc-export CC CXX
|
||||||
|
|
||||||
|
# Make sure we configure with the same shell as we run icu-config
|
||||||
|
# with, or ECHO_N, ECHO_T and ECHO_C will be wrongly defined
|
||||||
|
export CONFIG_SHELL="${EPREFIX}/bin/sh"
|
||||||
|
# Probably have no /bin/sh in prefix-chain
|
||||||
|
[[ -x ${CONFIG_SHELL} ]] || CONFIG_SHELL="${BASH}"
|
||||||
|
|
||||||
|
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_compile() {
|
||||||
|
default
|
||||||
|
|
||||||
|
if multilib_is_native_abi && use doc; then
|
||||||
|
doxygen -u Doxyfile || die
|
||||||
|
doxygen Doxyfile || die
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_test() {
|
||||||
|
# INTLTEST_OPTS: intltest options
|
||||||
|
# -e: Exhaustive testing
|
||||||
|
# -l: Reporting of memory leaks
|
||||||
|
# -v: Increased verbosity
|
||||||
|
# IOTEST_OPTS: iotest options
|
||||||
|
# -e: Exhaustive testing
|
||||||
|
# -v: Increased verbosity
|
||||||
|
# CINTLTST_OPTS: cintltst options
|
||||||
|
# -e: Exhaustive testing
|
||||||
|
# -v: Increased verbosity
|
||||||
|
emake -j1 VERBOSE="1" check
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install() {
|
||||||
|
default
|
||||||
|
|
||||||
|
if multilib_is_native_abi && use doc; then
|
||||||
|
docinto html
|
||||||
|
dodoc -r doc/html/*
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install_all() {
|
||||||
|
local HTML_DOCS=( ../readme.html )
|
||||||
|
einstalldocs
|
||||||
|
}
|
@ -1,3 +1,3 @@
|
|||||||
DIST libgpg-error-1.42.tar.bz2 973996 BLAKE2B eb3381ec7106cfe5dca333391f473e97b03df83f247d3067e9f933ed7206f826e59d2b74b8c28d41e785ffe1c2980b680470064eb2fa2ff1ee3d8fa8be5b81a8 SHA512 f6d95712a874edefc39a7746062c8037a62801a550560c5b2eab08b5b86987c1de5be60eba5fcb56d35a37db109aa32d07b7eff2bb99800c1c47d2227421a8f4
|
DIST libgpg-error-1.42.tar.bz2 973996 BLAKE2B eb3381ec7106cfe5dca333391f473e97b03df83f247d3067e9f933ed7206f826e59d2b74b8c28d41e785ffe1c2980b680470064eb2fa2ff1ee3d8fa8be5b81a8 SHA512 f6d95712a874edefc39a7746062c8037a62801a550560c5b2eab08b5b86987c1de5be60eba5fcb56d35a37db109aa32d07b7eff2bb99800c1c47d2227421a8f4
|
||||||
DIST libgpg-error-1.43.tar.bz2 999006 BLAKE2B 22c5491ebd43b8010cdd4e82a58443fb8d19d51de9a033d0bb44634a82f033916d5d9fcfe47eb47e64a513521b01ff088838a8979f488cde74e5944c28dec0aa SHA512 36769a62d0b4b219a6d58195bed692e34d3b0313f628b1036055ca34b69332edbe6bcdace9855a60d06e7be5998dc13bf1305d0b2bb211a4d8f701e85040961c
|
|
||||||
DIST libgpg-error-1.44.tar.bz2 1014475 BLAKE2B dc101769510bc9edff38048216a961df8b08373a0b6d04b13c882bbcb43c4d0e05ecfdfd7788c89b5799082f4d15386efac5eb1762a48ae1ab70b554d0bfbb36 SHA512 a0eef310b9d44532d1ae6e7266226ea3e82d908aa31f775a026e56a7f8303b78adfdceb3ae5a40f7d242987635e764c539a024ce8dc0d66590e1a3fa50f6b784
|
DIST libgpg-error-1.44.tar.bz2 1014475 BLAKE2B dc101769510bc9edff38048216a961df8b08373a0b6d04b13c882bbcb43c4d0e05ecfdfd7788c89b5799082f4d15386efac5eb1762a48ae1ab70b554d0bfbb36 SHA512 a0eef310b9d44532d1ae6e7266226ea3e82d908aa31f775a026e56a7f8303b78adfdceb3ae5a40f7d242987635e764c539a024ce8dc0d66590e1a3fa50f6b784
|
||||||
|
DIST libgpg-error-1.45.tar.bz2 1015954 BLAKE2B 277892df6691ff2807335954fa786c1d452d58e6f15aa2f73bffd1ddc97b9276646afe8831c0b67107ac768e0590f046030da6d370eb2871e94154f50dabf67b SHA512 882f2dd617e89137d7a9d61b60488dac32321dd4fdb699e9687b6bd9380c056c027da502837f4482289c0fe00e7de01210e804428f05a0843ae2ca23fdcc6457
|
||||||
|
Binary file not shown.
@ -1 +1,2 @@
|
|||||||
DIST bleach-4.1.0.tar.gz 195798 BLAKE2B 68afd58aa099acb5c21f1ff76301c46834f326ea2aa4fe7a6f820c2cf31913e81dc72deecab4272b2a7ceab1ae01bec028a5cf5e6214cddef4cdec5ec05ea4c6 SHA512 34c522dde5126995789e23fd28f7938d025f56e97e30814dc326d33a772d40fc2ad2f25aed0b367fd4352b1e1e8f54b80282b931819203bf60448ffe2f120622
|
DIST bleach-4.1.0.tar.gz 195798 BLAKE2B 68afd58aa099acb5c21f1ff76301c46834f326ea2aa4fe7a6f820c2cf31913e81dc72deecab4272b2a7ceab1ae01bec028a5cf5e6214cddef4cdec5ec05ea4c6 SHA512 34c522dde5126995789e23fd28f7938d025f56e97e30814dc326d33a772d40fc2ad2f25aed0b367fd4352b1e1e8f54b80282b931819203bf60448ffe2f120622
|
||||||
|
DIST bleach-5.0.0.tar.gz 198789 BLAKE2B 0b2847e9342be1854a08679230b3ea0fcb1a514eaa6c11f344057e59310b6d769e2bee91272295a0f60fa0ed1c2e4503340276d99794d260b6a63e2c4ea76703 SHA512 5b8e0c94a7bd8270581719928ec869c5c3c91900be0a293adfb342acfc55df7e63211e95786e6a39b3661b3852e91a8b37ff805387fb3e6a286e8a5dce8e3655
|
||||||
|
@ -0,0 +1,43 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( python3_{8..10} pypy3 )
|
||||||
|
inherit distutils-r1
|
||||||
|
|
||||||
|
DESCRIPTION="An easy whitelist-based HTML-sanitizing tool"
|
||||||
|
HOMEPAGE="
|
||||||
|
https://github.com/mozilla/bleach/
|
||||||
|
https://pypi.org/project/bleach/"
|
||||||
|
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="Apache-2.0"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
dev-python/packaging[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/html5lib-1.0.1-r1[${PYTHON_USEDEP}]
|
||||||
|
"
|
||||||
|
|
||||||
|
distutils_enable_tests pytest
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}"/${PN}-4.1.0-py39.patch
|
||||||
|
)
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
# unbundle unpatched broken html5lib
|
||||||
|
rm -r bleach/_vendor || die
|
||||||
|
sed -i -e 's:bleach\._vendor\.::' \
|
||||||
|
bleach/html5lib_shim.py \
|
||||||
|
bleach/sanitizer.py \
|
||||||
|
tests/test_clean.py || die
|
||||||
|
# indirect html5lib deps
|
||||||
|
sed -i -e '/six/d' -e '/webencodings/d' setup.py || die
|
||||||
|
|
||||||
|
sed -i -e '/import/s/parse/urllib.&/' bleach/sanitizer.py || die
|
||||||
|
|
||||||
|
distutils-r1_src_prepare
|
||||||
|
}
|
@ -1,62 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
DISTUTILS_USE_PEP517=setuptools
|
|
||||||
PYTHON_COMPAT=( python3_{8..10} )
|
|
||||||
inherit distutils-r1 multiprocessing
|
|
||||||
|
|
||||||
DESCRIPTION="The AWS SDK for Python"
|
|
||||||
HOMEPAGE="https://github.com/boto/boto3"
|
|
||||||
LICENSE="Apache-2.0"
|
|
||||||
SLOT="0"
|
|
||||||
|
|
||||||
if [[ "${PV}" == "9999" ]]; then
|
|
||||||
EGIT_REPO_URI="https://github.com/boto/boto3"
|
|
||||||
inherit git-r3
|
|
||||||
BOTOCORE_PV=${PV}
|
|
||||||
else
|
|
||||||
SRC_URI="https://github.com/boto/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
|
||||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
|
|
||||||
|
|
||||||
# botocore is x.(y+3).z
|
|
||||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 3)).$(ver_cut 3-)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
|
|
||||||
>=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
|
|
||||||
>=dev-python/s3transfer-0.3.0[${PYTHON_USEDEP}]
|
|
||||||
"
|
|
||||||
BDEPEND="
|
|
||||||
test? (
|
|
||||||
dev-python/mock[${PYTHON_USEDEP}]
|
|
||||||
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
|
||||||
)
|
|
||||||
"
|
|
||||||
|
|
||||||
distutils_enable_sphinx docs/source \
|
|
||||||
'dev-python/guzzle_sphinx_theme'
|
|
||||||
distutils_enable_tests pytest
|
|
||||||
|
|
||||||
python_prepare_all() {
|
|
||||||
# don't lock versions to narrow ranges
|
|
||||||
sed -e '/botocore/ d' \
|
|
||||||
-e '/jmespath/ d' \
|
|
||||||
-e '/s3transfer/ d' \
|
|
||||||
-i setup.py || die
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
distutils-r1_python_prepare_all
|
|
||||||
}
|
|
||||||
|
|
||||||
python_test() {
|
|
||||||
epytest tests/{functional,unit} \
|
|
||||||
-n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
|
|
||||||
}
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue