parent
349a872d19
commit
c0fa09283a
@ -1,23 +1,23 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA512
|
||||
|
||||
MANIFEST Manifest.files.gz 29270 BLAKE2B d62501580485bfef7c367e4a42aeb7e710fec416345667c4970ec441fecbc3371450056b4f6e785984ed3abbd904a6d13a3fc9ac5365db9258b7aec1e337010e SHA512 e19bac1360f10e18914f4632eb6ffd5ee05b62ea5a7e44714a3d90079924ef151b786b087acd1440d6d4a36946b1812ad610bea4d6a09aca4514bd1cacbcc834
|
||||
TIMESTAMP 2021-06-11T08:09:01Z
|
||||
MANIFEST Manifest.files.gz 29269 BLAKE2B 3435ecce5493e0b1bc579f0598ea241590bde78b94221905b5f99565a0e287828b34d22cb4cf0934c1786d16ce3b737cda1372c2f3e6f7dac8988d2e0fb23125 SHA512 2cbbe0154b94de5a8a281a31fafc3e68c33593530095cf7161ab6ec98c36cb7e11f161fafbde4222e3205e3d687f1e0878116cba7ed7c56348b4c78bc8e6c92c
|
||||
TIMESTAMP 2021-06-12T12:09:08Z
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmDDGh1fFIAAAAAALgAo
|
||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmDEo+RfFIAAAAAALgAo
|
||||
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
|
||||
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
|
||||
klC4mA//Zm/DONfxie4mEChF41ZwgEidSisWo8IDw+EjM/kubA49+E7g7IyhMbde
|
||||
QK8kr2AGtaJ7ls+vFkEXzsPr6KQVCYv73Yv/LP/+kiek2WYcazfb53qNVkIXgVu/
|
||||
MmUyNfVks6EfFDOkht6HD9GjsPfWYXz7IV93XaXshwOTnP7hHhZcae6iqFBgIH5F
|
||||
08AG6/grC+oTqaTHrEb+imp7DdowqnI7kGawhOApe0tuD4s5CNEfRDzldI7LPY7B
|
||||
p2xR/o7lVlk/qK5BoKMyZhkXhipVagBCA7Opnyv/0CJZpnUAiNz6ktl9QXssJ3zk
|
||||
nh4T95g84HLG2nwE0lqIxp51x5qSMDKd+N9y5E2pLlXwU5q+hyGJztwrDuTJb7E2
|
||||
5a1tX98PH7azFugWaLSu9a5ptt38G5lF+HPHWQiIC1IIlkNxppzb9iIvyu6rO6XK
|
||||
ohk4TLAM7497mlfTlY2uZLJ60x+C/dgqQj0lgepAv0vANTtGV5slo7YGc5L+f4LQ
|
||||
afO/76Z48eqlCSO++8Y2hbX2LILuTWPG9p+MqlHruNz8z8Era5hSKmq5H4tZkhDg
|
||||
QHiOiWpi5IBUJD/HVsaabdYqcHPQ0urPVaO8fL9Xe+0SF0rNj7Jo3oHO5tLrhDDu
|
||||
yitLCFpgV7Qylb/VWGLq+C2JmKjJm3v2u3Y3e0g9wCAp4ZAD3nM=
|
||||
=anfS
|
||||
klDnyg//U+9gQrnFC3Ia+k2IbS1AJEu0aXzig7TR2ebDxi7R7PIQxm8tMlyOLws1
|
||||
ZA0glSuju4XKCy/onzyyKTqBT4WzZdtNUH3JfAbFyNMyNE1WKSsW2Ws+3DQmEhxr
|
||||
o+fJmtR5YYTgkpWhh/lksFwR+zHMsOkxazVMy1A4jUffehYOaZBE8xV6uvE9m3pC
|
||||
SfvbSD96pcRzcunDjNXYvkpHTsGRpgSE7gMF4/vqVJnWEhZATvZSy2UhrpDv+p3l
|
||||
Q2mZc+6/VNJP1CQeMu13BBbbciWjHJh4j5gFACAWYQ5B3mC8ZUKTVrBZfZG53K1I
|
||||
MkPx/4wZhedx6LV45npQdJ2sEmrPZ+0dM7xo0oOW34lbQN5A+UH9Kszf8UvTNjkR
|
||||
0z+JHQ2yrPgtrkz6FYoiXRvDnrWUBBMiKgNwP1Ppfuqra/dgbejnncRdrT0adKjR
|
||||
CqoYUPp9iB211wuZhLh3VXc83XLJQnKgkaDqcGf4wAMk2rluD6wqhTfbUyuzmc5O
|
||||
0lGnITkq07QN8ERJT9BanGwdPiBiOz6hJP4ka6V1OlIPO0JqI2hROg9aPj/zGP1e
|
||||
RLcsqG1Qrd7ablTCnV4fHmbOSvgxDZMJHBS953tvc8lkHi4jqwzGyFpI7wLDl7Do
|
||||
G3O41III+zZ5Q5u+1dlKzeGUPuhmpoNmiVWq6Fn2k80LaWWSLJw=
|
||||
=RaOX
|
||||
-----END PGP SIGNATURE-----
|
||||
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,58 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
|
||||
inherit bash-completion-r1 distutils-r1
|
||||
|
||||
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"
|
||||
|
||||
# botocore is x.(y+1).z
|
||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 1)).$(ver_cut 3-)"
|
||||
RDEPEND="
|
||||
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
|
||||
dev-python/colorama[${PYTHON_USEDEP}]
|
||||
dev-python/docutils[${PYTHON_USEDEP}]
|
||||
dev-python/rsa[${PYTHON_USEDEP}]
|
||||
>=dev-python/s3transfer-0.4.0[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests --install nose
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/awscli-1.19.47-py39.patch
|
||||
)
|
||||
|
||||
python_test() {
|
||||
distutils_install_for_testing
|
||||
# integration tests require AWS credentials and Internet access
|
||||
nosetests -v tests/{functional,unit} ||
|
||||
die "Tests failed for ${EPYTHON}"
|
||||
}
|
||||
|
||||
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,7 +1,9 @@
|
||||
AUX keepassxc-2.6.4-quazip1.patch 952 BLAKE2B f4e402dc5bacb7cfbff683d43a7f494cdc7874500e53058f79dbdeae861b57ac01d11362ae66c65fb1aa15450335003a66fcef3cc1d45007ab5c1cf5c903ffe9 SHA512 df6ca3594452dfa6ada95c3a24a225f1788fdb3f9e9c61043e8a0eebd05944e76041848a04f5e8ada1cc979b0444ee439ab259358e8bb0fa6aeb568ed220e979
|
||||
DIST keepassxc-2.6.4-src.tar.xz 7575164 BLAKE2B ca02e59c7355f7f7e14bb4fa318fab66d354e84d1025847b413b7e838dc5a42024b963dea1e3ba2060c51da7daed2ee5b220e5dab72b5813d39c04b49c6ba9ba SHA512 3bde0c8670ba14be80c6f3676bd447b0855a2af2915a395ee236c2d4c6e4b859936351643d679480aae1fcf55ed4315447ae927ac9bdedeb0332593cb4e9fedb
|
||||
DIST keepassxc-2.6.5.tar.gz 9809372 BLAKE2B d51782c65fffc4499d85cfa893a908b1f5964fc018a8b878ee61896684e55c8f3d935f7c14d38ba75f26fda3b59b6e408b77b68e11504b9fb95d82fdcc02bf5a SHA512 a5993170ff7e28cb56fc14fbbb7e93a5821b2edefd6d8cd6ce798f810c8045595913a8508c9a256363028be93aaad6ff2f13904ebc19229309d356e119ed0dce
|
||||
DIST keepassxc-2.6.6.tar.gz 9809433 BLAKE2B cfaadae509ff2a4fb4190dde8672201af128c2ae17950b7a4effa694ed3dc00f0a7d275d5031175191ce0f4bd7e323d29cfb3fa586653f3d3cd31f1747ef8c2f SHA512 fb41d25b9b4ac97feddf9632e7a26140d7a9fbba4256ac0394814fd9097d0d30f810cb48939325b4b858cac1378747aadd1987eb468657c929e0008b736eddd7
|
||||
EBUILD keepassxc-2.6.4-r2.ebuild 2233 BLAKE2B 53fa2d144f16bf30f5068fcdc231756418fcc84b0d7410bcbedb4c5502846de645918bb69d4df8015ba2c98224327dbc5a669679a06e064f55f40941cd47c24c SHA512 2e71956c1bf0cc4e77f03a02621c1b38e183a14f47be9945953b454265449b385f1146f7bbefc7e274c2116b12008318fa81954442082c59f50eb4b2a80f2fdc
|
||||
EBUILD keepassxc-2.6.5.ebuild 2336 BLAKE2B 263676014991a0cdcd9a3bf10eae75033b1b9f6429a852f3ae761038ae150340390e6dafb2b094f5477d1ab405517ce6910fbc4ee2eef57702a081f099bb74a7 SHA512 5268dceef5a921ef191acbe703762fed1bf846eaaeabdd37bcaf17f9e14e0413e1adcba32a9b92d6d1bf6ba9d7ec1b1fc3f69a1dc304554bcd792bad87a39b27
|
||||
EBUILD keepassxc-2.6.6.ebuild 2383 BLAKE2B 7841f87cab95d61fa2dc474989995214593166c5425d219c0ea62b9f370474d87678ca26153e1244ecb85806b7cd18be15ca6503e85c7edf8fc8a2b1f03cdc3a SHA512 282ce6aa44d55afd78a1d61506b1fe730ad3aa00210486032f048edfaabebbbb31bc8d12296b1780de0f20cf4f05adf358cb82a8f3da5217021c447b6a427e18
|
||||
EBUILD keepassxc-9999.ebuild 2336 BLAKE2B 2ea1d6d9ba80998fb2712f57a7325242925324d33659bd7fd7549772b370831f1b755834feac542ee0f29aae4b05babb0f4bcebd20f2706af31f2547cacb55b9 SHA512 040f0eb6a31ad94b7a0aa1f3f90869cd787c9f36200ae196906f68dbe94595c47e285eb83ede4c374c42c275d18b37787c4f4da4e789c9b24e7aac1e06bb991d
|
||||
MISC metadata.xml 1041 BLAKE2B ba27a63c6d2f620e5e44e0a081db88b3f504dba20f2952b586564fbcbfaf464e82b755c5d4b6faa107a11af53e1acf675c452c721ddefceac4f3aff3c83d4eab SHA512 6e1f6a8455ee0afa21abad8c606da210161c1e287df94ca1e7f49b854d9dca2675ad83e801e5eb0f5f8cab7f115b654b50d71a2399b97e357f77f6b61f2bcb0e
|
||||
|
@ -0,0 +1,99 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit cmake flag-o-matic xdg
|
||||
|
||||
DESCRIPTION="KeePassXC - KeePass Cross-platform Community Edition"
|
||||
HOMEPAGE="https://keepassxc.org"
|
||||
|
||||
if [[ "${PV}" != 9999 ]] ; then
|
||||
if [[ "${PV}" == *_beta* ]] ; then
|
||||
SRC_URI="https://github.com/keepassxreboot/keepassxc/archive/${PV/_/-}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/${P/_/-}"
|
||||
else
|
||||
SRC_URI="https://github.com/keepassxreboot/keepassxc/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
#SRC_URI="https://github.com/keepassxreboot/keepassxc/releases/download/${PV}/${P}-src.tar.xz"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
|
||||
fi
|
||||
else
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/keepassxreboot/${PN}"
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-2.1 GPL-2 GPL-3"
|
||||
SLOT="0"
|
||||
IUSE="autotype browser ccache doc keeshare +network test yubikey"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
app-crypt/argon2:=
|
||||
dev-libs/libgcrypt:=
|
||||
>=dev-libs/libsodium-1.0.12:=
|
||||
dev-qt/qtconcurrent:5
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtdbus:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtnetwork:5
|
||||
dev-qt/qtsvg:5
|
||||
dev-qt/qtwidgets:5
|
||||
media-gfx/qrencode:=
|
||||
sys-libs/readline:0=
|
||||
sys-libs/zlib:=
|
||||
autotype? (
|
||||
dev-qt/qtx11extras:5
|
||||
x11-libs/libX11
|
||||
x11-libs/libXi
|
||||
x11-libs/libXtst
|
||||
)
|
||||
keeshare? ( dev-libs/quazip:0= )
|
||||
yubikey? ( sys-auth/ykpers )
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
dev-qt/linguist-tools:5
|
||||
dev-qt/qttest:5
|
||||
"
|
||||
BDEPEND="
|
||||
ccache? ( dev-util/ccache )
|
||||
doc? ( dev-ruby/asciidoctor )
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
use test || \
|
||||
sed -e "/^find_package(Qt5Test/d" -i CMakeLists.txt || die
|
||||
|
||||
if [[ "${PV}" != *_beta* ]] && [[ "${PV}" != 9999 ]] && [[ ! -f .version ]] ; then
|
||||
printf '%s' "${PV}" > .version || die
|
||||
fi
|
||||
|
||||
cmake_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# https://github.com/keepassxreboot/keepassxc/issues/5801
|
||||
filter-flags -flto*
|
||||
|
||||
local mycmakeargs=(
|
||||
-DWITH_CCACHE="$(usex ccache)"
|
||||
-DWITH_GUI_TESTS=OFF
|
||||
-DWITH_TESTS="$(usex test)"
|
||||
-DWITH_XC_AUTOTYPE="$(usex autotype)"
|
||||
-DWITH_XC_DOCS="$(usex doc)"
|
||||
-DWITH_XC_BROWSER="$(usex browser)"
|
||||
-DWITH_XC_FDOSECRETS=ON
|
||||
-DWITH_XC_KEESHARE="$(usex keeshare)"
|
||||
-DWITH_XC_KEESHARE_SECURE="$(usex keeshare)"
|
||||
-DWITH_XC_NETWORKING="$(usex network)"
|
||||
-DWITH_XC_SSHAGENT=ON
|
||||
-DWITH_XC_UPDATECHECK=OFF
|
||||
-DWITH_XC_YUBIKEY="$(usex yubikey)"
|
||||
)
|
||||
if [[ "${PV}" == *_beta* ]] ; then
|
||||
mycmakeargs+=( -DOVERRIDE_VERSION="${PV/_/-}" )
|
||||
fi
|
||||
cmake_src_configure
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
AUX 50pass-gentoo.el 491 BLAKE2B 30c24a820e877e74d4308b42fab036c3c670353af6eb79454c18b471ab62134074765c313be5633e5fc8d1d9105a51d4dc648e3e08f200487ea62e3b9cd4e4a1 SHA512 eaba952f7b080bb44f1a415ee3fa1e71469177a993116b890a0788b177ec70948c1ea6923f17ddddf5f1c01af2fca03e98a71e06a5dff32ff6ebe0b73a79f659
|
||||
DIST password-store-1.7.3.tar.xz 63416 BLAKE2B 5931608e0208dfe6965b79f586c153a4930d1c3d3b74433d026ee0bc5889fcc29334c637ca4fb68308d0169bad7c8235b6632e9f80eda1e24f0f5721353f88e3 SHA512 89755a7b02f05d75055a9fc14fd3f456c0a49ec31bdffd097a027f91228c64a98b18c1e80017aeda811773ae3287ff1b9737532da8ded06799d8fe3979ca06f7
|
||||
DIST password-store-918992c19231b33b3d4a3288a7288a620e608cb4.tar.xz 65000 BLAKE2B 2bd7768fe1a93ce55b0daf15088bde7ce75dbe33f44b1890e27ca6efe70fadb07610b830bd9926f6c88b33c4d3ae208b0035f13e81f28978cb26454332a19b13 SHA512 63a448e4da3da60d3dfe02b02eb11417e179c4f0b973c822bfbb485262076ae7458c3e35e95b2ad9997a2ddfa8bbe91a822c86d7ad5d2f7a6e6cb90d11774aa9
|
||||
DIST password-store-1.7.4.tar.xz 65272 BLAKE2B db1a34b5900802731deaf09d3ade1d3f00022fd21eb0b21140dca3d399c89183dc901e5bce15d7bb6041e62017e2b8b6df61c6ec3eadb1df6c0278dbc6c2bc11 SHA512 1fe108895b224451b54e545d399b6a97040e094049448509f92ae33164a5cf9044a91f52edfc705fcf333f6526df1a478deeebc4df109764d58100f9e3e22681
|
||||
EBUILD pass-1.7.3.ebuild 2200 BLAKE2B 29b614496070c995983bf8ebb44bd02ac8f8ed53161c814adb69cad95fe74667e869f106d51aefe26cd449a08f464cfec88315c24d3e7996ba8f1d44fc8604b5 SHA512 18dc94bdc0d786377791b99a36e3f1eb10f518874290623638cf4ab65cda3bdad7ac6875b37c15cae7dda5fa84f08204b5a64bd3c2de2a4e3b9e885fcfe3d0f5
|
||||
EBUILD pass-1.7.4_pre20210216.ebuild 2544 BLAKE2B 047064e6b7036756fb5b706ec4bfb0f917281da0e8a3bab77ed93a30419148945926bbf5a7a2afaa0ca1fc5544f4e804949c6cfc6f08bb9532b44f0abbee3253 SHA512 94ad2639d4adf9bce028b38ad94de817bb5b54287ff2b3298df46b24965ebf7ffd0e4558b7377b5b1674c45efbb5d1d246fcf9a07ad87a0446f0323cf76189fd
|
||||
EBUILD pass-1.7.4.ebuild 2245 BLAKE2B 051ff8b708cc792007f6f4f3003107eacc3246dda126922c9cc4f35c07e33f5b339b96897804f80dd06ff54f0cb2f1ba0bcc95f6edb27cebf43f989d3882fd5b SHA512 e82f175b7ec9e51d376299be7788c7b818aa331e0d74cf134d0b6a1fe6bfbc12489c0c2b436cb1ce18ee1d28882a44ab2946189a3e7118045dbb68fac00d2d7b
|
||||
EBUILD pass-9999.ebuild 2355 BLAKE2B 8dd1aee24e20485c9efef65d1e869d93556f1bd0eed7e2af81b3d5ff9ba8cdc7968a6c3ca8f12faf921cf91b558a4e94c4eb2ec84755fea8ae459de271a5784a SHA512 3a14b4d54b6d64968d262151b81e0efc3b5e7aeaa8ad8d01df1f10f37b40c069db68a3dfae0c84f369975cca10b19df1b3893fa37d39b6aa02dfde87fa167102
|
||||
MISC metadata.xml 747 BLAKE2B 0fa61ff5f87f66214e11c38fe1dd0dc746b8151bc201c72d972ddbd0f8e32dc89701798746df8e2c912eb0d4ccf43fc91d857dfc5395d184f4da24d5128f7b13 SHA512 5fb903b4d06cd49dea554f2a94bbd79e544840e4cce4e876b12eeaceb45aa6321a3fe50f1d531fdeb9cbd34dab66b2bf3ac0be52b07edaf62acf69a892c96200
|
||||
|
@ -1,4 +1,4 @@
|
||||
DIST Rex-1.13.3.tar.gz 349550 BLAKE2B c2ccc2144e56761d33ed2b5d790febd49863639d2e3bba8028b7937b43eb51e7e59e9e99cb1d67f247b2dff8ef91aa04776afd6277ad8a2370f35d71e0b528dd SHA512 beab22aef8ba620b6e74847698eab99977844d2e9632812a9ae0e1ee303cbe4e5a6489000bd5209d76e42e3bb4bb799a90408ed6fb14e034f68132a4d37766dc
|
||||
EBUILD rex-1.13.3.ebuild 6374 BLAKE2B a23bf9ff52c502971fd6f87a26cbd859caaf7fd5c8e2fa37b225a7e0dcf4ddf823f9bb1b010c78cc0fdc57e5ede2d0c0b78dc3505a89a1945133576c9389f132 SHA512 89cfa5d2f2fd7c146129993bd3fb4801835b7c2c51d1451bb1a10eed6b727583d6d494dd4c92d06413f4e9643f45352b1d3d2599f196e95655db4713db1856c1
|
||||
EBUILD rex-9999.ebuild 6374 BLAKE2B a23bf9ff52c502971fd6f87a26cbd859caaf7fd5c8e2fa37b225a7e0dcf4ddf823f9bb1b010c78cc0fdc57e5ede2d0c0b78dc3505a89a1945133576c9389f132 SHA512 89cfa5d2f2fd7c146129993bd3fb4801835b7c2c51d1451bb1a10eed6b727583d6d494dd4c92d06413f4e9643f45352b1d3d2599f196e95655db4713db1856c1
|
||||
EBUILD rex-1.13.3.ebuild 6441 BLAKE2B 66c2402b9ab177af0df3beeb9725ec93f70ef58c5fb7e6ba9318206bde4917e65f808d5ab0d7b974626c4c70260b609b5cc6159203a237386ac38d2657e7033a SHA512 fb0c69768c9332888f89d620776288cd2e1a1333a4d2487be8082aa3c05b50b5f7194664ad7b66e40af8ca9b3fdc29fd41a60cbe8a90cc345069962db33d17b5
|
||||
EBUILD rex-9999.ebuild 6441 BLAKE2B 66c2402b9ab177af0df3beeb9725ec93f70ef58c5fb7e6ba9318206bde4917e65f808d5ab0d7b974626c4c70260b609b5cc6159203a237386ac38d2657e7033a SHA512 fb0c69768c9332888f89d620776288cd2e1a1333a4d2487be8082aa3c05b50b5f7194664ad7b66e40af8ca9b3fdc29fd41a60cbe8a90cc345069962db33d17b5
|
||||
MISC metadata.xml 23996 BLAKE2B e168b5ecd856cb94f71ac6b49a695b376be4823c6fc009d04a0230a09d930cf96a57b7a72ff0ec14e3c4e09bafa1aeabc06927a746051b756a4b855fc4aba0c1 SHA512 432480499c91ba14994cde0ecd3d07618ae53ba9046893d0c2efe38c1e9946ab7d26746af86b854903f3b8dbc34403a3bf4b84070af77edf021d6e1ff5df6fbc
|
||||
|
@ -1,6 +1,8 @@
|
||||
DIST sudo-1.9.6p1.tar.gz 4119888 BLAKE2B 02bdb551c46cff11ac56e64937c64e6a29ccd8e0af34ea2f6b33c223bee8f7ad958d0fc3d7ef8ef12bf5bc82565769b923ff112a3f3d6bf6999fa4f6ea55e38e SHA512 632dfe72f04ce9a7a5a7236fcd5c09ce4535e695ced49d24dd848e3a7b1bea7380df44188b9e475af4271069539b5a5816948a98fbb0649ebebaba8b4c4b7745
|
||||
DIST sudo-1.9.7.tar.gz 4194242 BLAKE2B 5addf9fc0a8fea8ada89f240f827dcec973277f120ad98f7942f8e46e2869c676eaca044b9c46e43dab120efea3413c71e19c30ef5b0d9cc4d9ad8f0413dbffe SHA512 53e9f18f6c0acd4f80c0cd695cd23781310e9edd305d1b3ea19653efa3fd7faba149daef0ba4953615b140a8816bc980c9bd8d28545dd8db98075abf11b63e61
|
||||
DIST sudo-1.9.7p1.tar.gz 4197591 BLAKE2B fff3eab8b4de6276135229c5fe12e7eced98af988b7686600e6a63b8615f6357ab2c5f95ef6f1872534476c4398a28c4f468ffc316e0cff7d4b32e6068aa97d4 SHA512 bc85d9de1566de24883375edd1c4cd24b1f24437bb16d181bfa3c9c94cead220c69ad00d6727560ca195765ced970e95d69b9ce01dbea448de39afac9a902fb4
|
||||
EBUILD sudo-1.9.6_p1-r1.ebuild 6705 BLAKE2B 9092aba09021464c58f7bdfc8565b9206a348c716bebeb51f074fdc979bd17d724d576cd5a46ad0800e8371d9841be6dfc40bcbd1a7945802839da418eb31501 SHA512 8f6ead478ea174163731da20b779b2677c37e8f10a373cafcba397e3c5e364af92b191d85360b03373ee3fb9cb4d540375f19194a75db0b704747f79b576d477
|
||||
EBUILD sudo-1.9.7.ebuild 6659 BLAKE2B 85c293bc01a785f063bd70fb42dded28d0cc07eac8c83f9d3a37e3291de0cc997f9d67a64bb43777e579431fbe17c3626bdd4a7fcad85e94062d2162543488d3 SHA512 9d2b56674ab5ef1d6735c7b12e83a18591661dfeef455d844a61abd2730b5713ff95956e24994bffcb2a5de5e9dc724b9072a3559c9bbab2b5c03800340118ff
|
||||
EBUILD sudo-1.9.7_p1.ebuild 6659 BLAKE2B 85c293bc01a785f063bd70fb42dded28d0cc07eac8c83f9d3a37e3291de0cc997f9d67a64bb43777e579431fbe17c3626bdd4a7fcad85e94062d2162543488d3 SHA512 9d2b56674ab5ef1d6735c7b12e83a18591661dfeef455d844a61abd2730b5713ff95956e24994bffcb2a5de5e9dc724b9072a3559c9bbab2b5c03800340118ff
|
||||
EBUILD sudo-9999.ebuild 6713 BLAKE2B 00d76cb0d10ba205c2f71c50872e3a888a15bbb749db0f099fd865c94f004dff3bfe3900bbed625db307917cda05480a79e4d4b898aa136e6495a51da0fb66bc SHA512 dfe8ab766cecd966c1304088ac7b1e4b465dfe84ac686da4d8716f8678bd6b6697cd585dd7f975a78b6183cb1066c72b2dd0c8d8b50ef3715b28b65dcb488d46
|
||||
MISC metadata.xml 1049 BLAKE2B 7b4bbe6469dc6e683d73b81d055ca3b7b3ae610e2889edcde54b735cafa91d1a186268d70c96f5e90a4fcf90f4750ecee9eb4823fcbde5b47dfb9ebf27845b2e SHA512 7a9a9c9e0f457ba15355d5f14dbe0fd187485df6f9fad0c32a4e39850947e4bf1329370a52e4eb7396e0ee55c81fc31ea8569895e0d4608983b4b703d0dcc761
|
||||
|
@ -0,0 +1,254 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit pam multilib libtool systemd tmpfiles toolchain-funcs
|
||||
|
||||
MY_P="${P/_/}"
|
||||
MY_P="${MY_P/beta/b}"
|
||||
|
||||
DESCRIPTION="Allows users or groups to run commands as other users"
|
||||
HOMEPAGE="https://www.sudo.ws/"
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
inherit mercurial
|
||||
EHG_REPO_URI="https://www.sudo.ws/repos/sudo"
|
||||
else
|
||||
uri_prefix=
|
||||
case ${P} in
|
||||
*_beta*|*_rc*) uri_prefix=beta/ ;;
|
||||
esac
|
||||
|
||||
SRC_URI="https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz
|
||||
ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz"
|
||||
if [[ ${PV} != *_beta* ]] && [[ ${PV} != *_rc* ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~sparc-solaris"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Basic license is ISC-style as-is, some files are released under
|
||||
# 3-clause BSD license
|
||||
LICENSE="ISC BSD"
|
||||
SLOT="0"
|
||||
IUSE="gcrypt ldap nls offensive pam sasl +secure-path selinux +sendmail skey ssl sssd"
|
||||
|
||||
DEPEND="
|
||||
sys-libs/zlib:=
|
||||
gcrypt? ( dev-libs/libgcrypt:= )
|
||||
ldap? (
|
||||
>=net-nds/openldap-2.1.30-r1
|
||||
sasl? (
|
||||
dev-libs/cyrus-sasl
|
||||
net-nds/openldap[sasl]
|
||||
)
|
||||
)
|
||||
pam? ( sys-libs/pam )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
skey? ( >=sys-auth/skey-1.1.5-r1 )
|
||||
ssl? ( dev-libs/openssl:0= )
|
||||
sssd? ( sys-auth/sssd[sudo] )
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
>=app-misc/editor-wrapper-3
|
||||
virtual/editor
|
||||
ldap? ( dev-lang/perl )
|
||||
pam? ( sys-auth/pambase )
|
||||
selinux? ( sec-policy/selinux-sudo )
|
||||
sendmail? ( virtual/mta )
|
||||
"
|
||||
BDEPEND="
|
||||
sys-devel/bison
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
REQUIRED_USE="
|
||||
?? ( pam skey )
|
||||
?? ( gcrypt ssl )
|
||||
"
|
||||
|
||||
MAKEOPTS+=" SAMPLES="
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
elibtoolize
|
||||
}
|
||||
|
||||
set_secure_path() {
|
||||
# first extract the default ROOTPATH from build env
|
||||
SECURE_PATH=$(unset ROOTPATH; . "${EPREFIX}"/etc/profile.env;
|
||||
echo "${ROOTPATH}")
|
||||
case "${SECURE_PATH}" in
|
||||
*/usr/sbin*) ;;
|
||||
*) SECURE_PATH=$(unset PATH;
|
||||
. "${EPREFIX}"/etc/profile.env; echo "${PATH}")
|
||||
;;
|
||||
esac
|
||||
if [[ -z ${SECURE_PATH} ]] ; then
|
||||
ewarn " Failed to detect SECURE_PATH, please report this"
|
||||
fi
|
||||
|
||||
# then remove duplicate path entries
|
||||
cleanpath() {
|
||||
local newpath thisp IFS=:
|
||||
for thisp in $1 ; do
|
||||
if [[ :${newpath}: != *:${thisp}:* ]] ; then
|
||||
newpath+=:${thisp}
|
||||
else
|
||||
einfo " Duplicate entry ${thisp} removed..."
|
||||
fi
|
||||
done
|
||||
SECURE_PATH=${newpath#:}
|
||||
}
|
||||
cleanpath /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin${SECURE_PATH:+:${SECURE_PATH}}
|
||||
|
||||
# finally, strip gcc paths #136027
|
||||
rmpath() {
|
||||
local e newpath thisp IFS=:
|
||||
for thisp in ${SECURE_PATH} ; do
|
||||
for e ; do [[ ${thisp} == ${e} ]] && continue 2 ; done
|
||||
newpath+=:${thisp}
|
||||
done
|
||||
SECURE_PATH=${newpath#:}
|
||||
}
|
||||
rmpath '*/gcc-bin/*' '*/gnat-gcc-bin/*' '*/gnat-gcc/*'
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local SECURE_PATH
|
||||
set_secure_path
|
||||
tc-export PKG_CONFIG #767712
|
||||
|
||||
# audit: somebody got to explain me how I can test this before I
|
||||
# enable it.. - Diego
|
||||
# plugindir: autoconf code is crappy and does not delay evaluation
|
||||
# until `make` time, so we have to use a full path here rather than
|
||||
# basing off other values.
|
||||
myeconfargs=(
|
||||
# requires some python eclass
|
||||
--disable-python
|
||||
--enable-tmpfiles.d="${EPREFIX}"/usr/lib/tmpfiles.d
|
||||
--enable-zlib=system
|
||||
--with-editor="${EPREFIX}"/usr/libexec/editor
|
||||
--with-env-editor
|
||||
--with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sudo
|
||||
--with-rundir="${EPREFIX}"/run/sudo
|
||||
--with-vardir="${EPREFIX}"/var/db/sudo
|
||||
--without-linux-audit
|
||||
--without-opie
|
||||
$(use_enable gcrypt)
|
||||
$(use_enable nls)
|
||||
$(use_enable sasl)
|
||||
$(use_enable ssl openssl)
|
||||
$(use_with ldap)
|
||||
$(use_with ldap ldap_conf_file /etc/ldap.conf.sudo)
|
||||
$(use_with offensive insults)
|
||||
$(use_with offensive all-insults)
|
||||
$(use_with pam)
|
||||
$(use_with pam pam-login)
|
||||
$(use_with secure-path secure-path "${SECURE_PATH}")
|
||||
$(use_with selinux)
|
||||
$(use_with sendmail)
|
||||
$(use_with skey)
|
||||
$(use_with sssd)
|
||||
)
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
if use ldap ; then
|
||||
dodoc README.LDAP
|
||||
|
||||
cat <<-EOF > "${T}"/ldap.conf.sudo
|
||||
# See ldap.conf(5) and README.LDAP for details
|
||||
# This file should only be readable by root
|
||||
|
||||
# supported directives: host, port, ssl, ldap_version
|
||||
# uri, binddn, bindpw, sudoers_base, sudoers_debug
|
||||
# tls_{checkpeer,cacertfile,cacertdir,randfile,ciphers,cert,key}
|
||||
EOF
|
||||
|
||||
if use sasl ; then
|
||||
cat <<-EOF >> "${T}"/ldap.conf.sudo
|
||||
|
||||
# SASL directives: use_sasl, sasl_mech, sasl_auth_id
|
||||
# sasl_secprops, rootuse_sasl, rootsasl_auth_id, krb5_ccname
|
||||
EOF
|
||||
fi
|
||||
|
||||
insinto /etc
|
||||
doins "${T}"/ldap.conf.sudo
|
||||
fperms 0440 /etc/ldap.conf.sudo
|
||||
|
||||
insinto /etc/openldap/schema
|
||||
newins doc/schema.OpenLDAP sudo.schema
|
||||
fi
|
||||
|
||||
if use pam; then
|
||||
pamd_mimic system-auth sudo auth account session
|
||||
pamd_mimic system-auth sudo-i auth account session
|
||||
fi
|
||||
|
||||
keepdir /var/db/sudo/lectured
|
||||
fperms 0700 /var/db/sudo/lectured
|
||||
fperms 0711 /var/db/sudo #652958
|
||||
|
||||
# Don't install into /run as that is a tmpfs most of the time
|
||||
# (bug #504854)
|
||||
rm -rf "${ED}"/run || die
|
||||
|
||||
find "${ED}" -type f -name "*.la" -delete || die #697812
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
tmpfiles_process sudo.conf
|
||||
|
||||
#652958
|
||||
local sudo_db="${EROOT}/var/db/sudo"
|
||||
if [[ "$(stat -c %a "${sudo_db}")" -ne 711 ]] ; then
|
||||
chmod 711 "${sudo_db}" || die
|
||||
fi
|
||||
|
||||
if use ldap ; then
|
||||
ewarn
|
||||
ewarn "sudo uses the /etc/ldap.conf.sudo file for ldap configuration."
|
||||
ewarn
|
||||
if grep -qs '^[[:space:]]*sudoers:' "${ROOT}"/etc/nsswitch.conf ; then
|
||||
ewarn "In 1.7 series, LDAP is no more consulted, unless explicitly"
|
||||
ewarn "configured in /etc/nsswitch.conf."
|
||||
ewarn
|
||||
ewarn "To make use of LDAP, add this line to your /etc/nsswitch.conf:"
|
||||
ewarn " sudoers: ldap files"
|
||||
ewarn
|
||||
fi
|
||||
fi
|
||||
if use prefix ; then
|
||||
ewarn
|
||||
ewarn "To use sudo, you need to change file ownership and permissions"
|
||||
ewarn "with root privileges, as follows:"
|
||||
ewarn
|
||||
ewarn " # chown root:root ${EPREFIX}/usr/bin/sudo"
|
||||
ewarn " # chown root:root ${EPREFIX}/usr/lib/sudo/sudoers.so"
|
||||
ewarn " # chown root:root ${EPREFIX}/etc/sudoers"
|
||||
ewarn " # chown root:root ${EPREFIX}/etc/sudoers.d"
|
||||
ewarn " # chown root:root ${EPREFIX}/var/db/sudo"
|
||||
ewarn " # chmod 4111 ${EPREFIX}/usr/bin/sudo"
|
||||
ewarn
|
||||
fi
|
||||
|
||||
elog "To use the -A (askpass) option, you need to install a compatible"
|
||||
elog "password program from the following list. Starred packages will"
|
||||
elog "automatically register for the use with sudo (but will not force"
|
||||
elog "the -A option):"
|
||||
elog ""
|
||||
elog " [*] net-misc/ssh-askpass-fullscreen"
|
||||
elog " net-misc/x11-ssh-askpass"
|
||||
elog ""
|
||||
elog "You can override the choice by setting the SUDO_ASKPASS environmnent"
|
||||
elog "variable to the program you want to use."
|
||||
}
|
@ -1,4 +1,6 @@
|
||||
AUX sysstat.init.d 378 BLAKE2B fe781f1a53e183023da2b46ecefb37881eedf8e8df2623927b24f33aa3344776b39db038d598ad050f1d48462d52300fb17731f29b0a8ab9c800fbe379efa249 SHA512 328ee3d40d45a0b1702c74fe0195ce4444cc8f63cb0fa68ba40ca20cfa183dd7acf4fc846cd76a4bcf426a3b4064316061dbbf26ca20047711528399e17b20b4
|
||||
DIST sysstat-12.5.3.tar.gz 1504415 BLAKE2B a3dc267182939190441b6cfebff938881fe4a06a8c7d1c406c014ddc28c0ecb33af5f480b77cce56bfcd4c7af81c4fec09eccb989561dd979f03a94ea6521f5b SHA512 3f09ff2e7ca38497eb07dcd8770c0b7fe5cfa1140537b215a1648446f65d933852b97dd5a1a9596afa57b04f20da64385e3b2e384be8d7b5902f228dc01230a5
|
||||
DIST sysstat-12.5.4.tar.gz 1474379 BLAKE2B 73bd4ebc44cc57cd3dba4fecbcd45026929bdbeab6b99c5b13db7d37252dff8da987ee5ac00d545aebdc72f924d0100166e9e876f6684e064f7020f3fa7a7cb5 SHA512 c051f136d404684a21b11e968968e34f0f114b4568369c6449c64b7745269065a3dc492039ded7c415fe39970aca54cc81646589b0959ade43e9be6f6cd4c0dc
|
||||
EBUILD sysstat-12.5.3.ebuild 1881 BLAKE2B 1f285b96455f80ebfd841afec6ef75d483e26e1e91ef3987bd39bccf01cb26d4b28492c7aa368a7666dca3b80e7584f94c0749115a91b89e423a661c9568a1bb SHA512 5350bb48dd51622d5e6acb9b72b50531f34e046380af4547e4f232087a41a72aaeafdafad0a63a12c818363931293d2161db0fd085a672d66db760f6d9816367
|
||||
EBUILD sysstat-12.5.4.ebuild 1888 BLAKE2B 6ed7a47394309e13538fb0253b3adf0b4990d0257eb40df0cc565f295a8e9a6c3eb21c2260c99875fb2797385d58127bb29b3c8ef286ed5f73951a6d927aa699 SHA512 27d6fc1e19ebda59a8b580c567efa9f9552acc6ca93a29182cae934a34fb15d49bd29979389831a822ae04674da0e10c512eb35982516963b9c81e0a3ee45c85
|
||||
MISC metadata.xml 362 BLAKE2B feda4d7de32dd65f3f8d0c2b263e88f88d4601db855e600299b15cf3fa735deca9d5fceef6bd444341e9779c88e83142bd1f4126c9e69efc57c0865a74246824 SHA512 7fd37cdf3ba90f14371aa39016cb5a84fe0fba0e5798ef98757db29dd2915554d30369c2d171f8013dca8183aac9a8fcfd4df67dd336aa1393aa5f984a14ae30
|
||||
|
@ -0,0 +1,87 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
inherit eutils flag-o-matic systemd toolchain-funcs
|
||||
|
||||
DESCRIPTION="System performance tools for Linux"
|
||||
HOMEPAGE="http://pagesperso-orange.fr/sebastien.godard/"
|
||||
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
IUSE="dcron debug nls lm-sensors selinux static systemd"
|
||||
|
||||
CDEPEND="
|
||||
nls? ( virtual/libintl )
|
||||
lm-sensors? ( sys-apps/lm-sensors:= )
|
||||
"
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
!dcron? ( !sys-process/dcron )
|
||||
selinux? ( sec-policy/selinux-sysstat )
|
||||
"
|
||||
|
||||
REQUIRED_USE="dcron? ( !systemd )"
|
||||
|
||||
src_prepare() {
|
||||
if use nls; then
|
||||
strip-linguas -i nls/
|
||||
local lingua pofile
|
||||
for pofile in nls/*.po; do
|
||||
lingua=${pofile/nls\/}
|
||||
lingua=${lingua/.po}
|
||||
if ! has ${lingua} ${LINGUAS}; then
|
||||
rm "nls/${lingua}.po" || die
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
use dcron && { sed -i 's/@CRON_OWNER@ //g' cron/sysstat.crond.in || die ; }
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export AR
|
||||
use static && append-ldflags -static
|
||||
|
||||
sa_lib_dir=/usr/lib/sa \
|
||||
conf_dir=/etc \
|
||||
econf \
|
||||
$(use_enable !systemd use-crond) \
|
||||
$(use_enable lm-sensors sensors) \
|
||||
$(use_enable nls) \
|
||||
$(usex debug --enable-debuginfo '') \
|
||||
--disable-compress-manpg \
|
||||
--enable-copy-only \
|
||||
--enable-documentation \
|
||||
--enable-install-cron \
|
||||
--with-systemdsystemunitdir=$(systemd_get_systemunitdir)
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
LFLAGS="${LDFLAGS}" default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
keepdir /var/log/sa
|
||||
|
||||
emake \
|
||||
CHOWN=true \
|
||||
DESTDIR="${D}" \
|
||||
DOC_DIR=/usr/share/doc/${PF} \
|
||||
MANGRPARG='' \
|
||||
install
|
||||
|
||||
dodoc -r contrib/
|
||||
|
||||
newinitd "${FILESDIR}"/${PN}.init.d ${PN}
|
||||
systemd_dounit ${PN}.service
|
||||
|
||||
rm "${D}"/usr/share/doc/${PF}/COPYING || die
|
||||
}
|
Binary file not shown.
@ -1,4 +1,6 @@
|
||||
AUX ioping-1.1-netdata.patch 4071 BLAKE2B c7dfca386a6e35d9d076eb0ce60e62e5b68d69cb02b69d1a0928da070454df15a50c1cd6c9dedf4a3fb559dac3749375b236905f089cd46894a5cb13dfdf4979 SHA512 3b8dae8089c4848b96402ccbf955fd6b28ad7eb772b7491c43f26dff8581a6143b86d20f193a73ba3d6eeea5d1c9bbb0c58ab6d5a60041ed9fc068207f522047
|
||||
DIST ioping-1.1.tar.gz 29251 BLAKE2B 2f0ec642c3545b8e603f90187f48bf44e1ef665a99bc04af4d5e6441016c9509875e8e05c1cc8715fd080c8a498c7374cf5db562a3203d7075edbe85683ccdbb SHA512 67802a6ab552ad1fdb8894f4d814601c2f66154f4bfc50fa0001d881694864c1a70882b4ba2d0f50cbd484472dc649a22b312f802a3bacc3317671971bdc0201
|
||||
DIST ioping-1.2.tar.gz 30819 BLAKE2B 5f46ee783d51e4bea88a6036fba97c053e507f53183344d17fbfa6dd304d6cb76737ccff23c46ccce1fff8107d94e4e192264a3bf22062a7ea96b2a4475fb311 SHA512 4029f1b50dc292734088dc741e594c56021610aad16a0b9f42875b5fe91fbdf8d566a41dab0384aa739350f74e62688efdaf88168ab0d838b9c848ddd1c5dd96
|
||||
EBUILD ioping-1.1.ebuild 626 BLAKE2B d73b3260c038cd61edb707d6fd54024db0620ee1750510b6c020b279f7b5dfbb647fbabbb5a3634fb34a4b5efe4a4e63e1a970c05e9cdd5e6a210c6096ac237b SHA512 5eba185c0b4bf6be4f7fc2499877ab025d886a0dca530cfac5b6e441cf7d9b744b88176b1740d8dc38be61ff5f591e6bd92acd2546f4354eb9b651c0b8e58925
|
||||
EBUILD ioping-1.2.ebuild 626 BLAKE2B 0f08e4bce6efb2217cb2d986081cb0b530adf503b6805d7431b96c39a473ccad1b4b4f308eabf2feac7c2a816e3cf38401aab06926ace8e8fd9e053cedbfb297 SHA512 32f551756513a2f4a0db95a2dcfc190600ece02142521036368425064e8b2bcb3cadff65fbe9773fdd6d5e963a752cb175f35beded7464c66816be4f41b832d5
|
||||
MISC metadata.xml 479 BLAKE2B 20009ac7e05778a61c18464c51b4e49de524463de99c4620e311e59483584e02566eb9578a78b287a31f856dd2c1bc8740d9e674dd64f259f18279bce4d0f04f SHA512 b03f0bdae0a21ee5144a163b4c1a1083a190dc198b8468fad9381e0928f5a91826702e2342ff6068e9e43db999c612204da5c236fde46b09c2b801f1ce0b3084
|
||||
|
@ -0,0 +1,30 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
DESCRIPTION="Simple disk I/0 latency measuring tool"
|
||||
HOMEPAGE="https://github.com/koct9i/ioping"
|
||||
SRC_URI="https://github.com/koct9i/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="netdata"
|
||||
|
||||
src_prepare() {
|
||||
use netdata && eapply "${FILESDIR}/${P}-netdata.patch"
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export CC
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install
|
||||
|
||||
dodoc changelog README.md
|
||||
}
|
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
AUX vim-completion 1004 BLAKE2B dea4230a8d2a57fd1af18df4037504a44382a97ff672410e987cb287d802c964baa502da4d08f09cb8684307481fec503c1d8cae7f4f6e61500f1cb06033a2c4 SHA512 dccf663a93efdf2ec3be69f49e418a0ef66277e2fae6c12287adde772592e19f5130388a04242121846f1dae39f78b30780c99dc6fe1b847f4f08354bda3cc41
|
||||
DIST vim-8.2.0360-gentoo-patches.tar.xz 2612 BLAKE2B a9273a686b31dd873b25bfc07f7bc254f11038bde275ae4e6f56513a14e0268fdc1032ae847d1d7f8539f8a657217011770ccb4685998f34722383ec7bfb1a15 SHA512 00bc8eb8b20a4a6f3bbd179bb90d42fa6727c8eaae5b625e95e52c33638d456ef36d06b51c542ecaffb237c0b4f7aa72dc3bae7fe00144d55ab0d2fa51950f3b
|
||||
DIST vim-8.2.0814.tar.gz 14953478 BLAKE2B fd4155ec749bd9a705e8114ff7f8cc321182c9286733ff2f665e265ec0af830f9e70c730b8d0215f6db1f73a8e2f878d22932a72c8dbfe921591be7adcdaab00 SHA512 4ddd9e2d30719f931cadd1a4de5700736f641f4b074378d9ea1462a90b81975ce8e8c3ca2e3a1e15ac0288824eef5b0f0a3e31482f7637c450c6d7e52c8f40d2
|
||||
EBUILD vim-8.2.0814-r100.ebuild 9223 BLAKE2B eb24d5485452a3bf515dd947f2a71ca945e581e93abd1b736dc1055b64eb89450fc40aa703b7f8276cd328d2b865b085b16b3baa24417c0ea629c6fb3b6fa978 SHA512 839949391f4250c80e62587b78b14be394ee5f1db6bd30046597303bf0b475b436e9f9f313ab5e687cf7a82a7cc1706b7ec0f28ec5f45233ab1fe8ef11372ef5
|
||||
EBUILD vim-8.2.0814-r100.ebuild 9304 BLAKE2B 563190974cab76e63a7633b6722cdebb3f20eaaf6436e960d5560bf9cc32397b32a150b63e9686d3c613cd852815caf3dea578223e4e7f2ff60983c7fd1376a1 SHA512 0c5f94038d92076232fabde3d7aa8247e2edef69e2415e9ca666cae7467db105cbccc4834764e0033cc53d2907b9153582bfb5583a3beadbd14a0b8861da0fa1
|
||||
EBUILD vim-9999.ebuild 9230 BLAKE2B 11fcd309559250e68b0ea9ddbe6309e9668afcbde293f5c2e4097a7cd3ed0abc559a1d4a2a1f9ce4bfd8b1bc04a1686cef901a6b2865124bb3ea0e1d7555d9dd SHA512 2ee8e6a42f84503c83be45f3ad2439dfdd6750a380a46bb2dd57737bf4e6e078528b958c964a0ac3362ffa09cc9b349094494b6aad7a1b2931253e4295586caf
|
||||
MISC metadata.xml 807 BLAKE2B e876f33c06a0bb165a43a7c50ff9bbfa0513e43287f54dbcee396af736034e4cefba8831226b47cc8a334599632a94344623ae2343f0162dbbcd511f749d524a SHA512 a7801a4483b08944c01848593354322c406a929296075617736755c0b62852b76c30467cee2c360ea211521274f2019b495309bffb5a3285d73940aac45e4a53
|
||||
MISC metadata.xml 867 BLAKE2B c03ed0a1f3f706847e7a24c77f48024af319e145b6b96f2653c367528eaceb53b8292965764c6eb9f2cc6d01d4c9213211ff26949d7efa247fb28065c0f2706c SHA512 caedbca55cc96f85cd8678f4d0faa0cd917fc4c99174007a1c4ddddff073ed59dbf3f830cf2b0b86b535f4383f43e702543db3db91afbb8e2e6af313531a699e
|
||||
|
Binary file not shown.
@ -1,5 +1,7 @@
|
||||
DIST buildah-1.20.1.tar.gz 11522195 BLAKE2B 2fe2aa9ad5c2212b98be5bced24b6aee39a43ab2c1b28c2c1729cce2b8cfe5920ecb64f013c28d870c6b8c9b369630f83e27dc7698eb66b3e368ef0bff4cb3ed SHA512 22495d9f0da1d6061ddb41e4cecfdb2108c152262798d6c959fc524870160f15ee486bcc37e262e571c64dc732e852f05e6c4b9331bbdef4150bd56997fefa83
|
||||
DIST buildah-1.21.0.tar.gz 11693220 BLAKE2B 1f281830ca348e55e9cc2e55dd92e8372174f736c6e8a7ae4de1f5c3279bc272036cf65a2946a143df6e1f282461d347f26c361894b83399854cf900e9f2cc71 SHA512 2ce6afceadec37f54f7f80562969cc382267dabc4fa5a89a09a211326e403376d209d89162333337af8602cb5c551eb446d3c9fac26f516fb8d354a7b5b77472
|
||||
DIST buildah-1.21.1.tar.gz 11693142 BLAKE2B 513f75d8f2831130759f3bcb77fad311c28862b82df8866608bd909eea38468a6b576dfad2598725caa9c4e413108ea6ec3557c8a777017cc8a37b5cb16b70a1 SHA512 8fb30ed0948f898aef9a32c34d4b2a2e04a376257a73184ec01b67c770be1c3c87e46987ad001ececf2235cb5e17f9d0ff9e9f34be61ddd0935859c4e5b37d1f
|
||||
EBUILD buildah-1.20.1.ebuild 1142 BLAKE2B 66e377badc4f4ab69dc41f0c04a88a92c7114f5a0171359898f3c8061dc04bca813f627cdf88390a89900d07f7ea8d89adca952a0434a0321cfc824534a6da46 SHA512 5beeba858d55b381e7de141256c6a3f07d4bad59367b3957977871b27105f455a4535a9152909a72c6bc11bc121cff5c5eef901a26ad6c5fa2f4497352f4bf84
|
||||
EBUILD buildah-1.21.0.ebuild 1178 BLAKE2B 9e6bb617764112b169d3c7ca3e40dc277954a55add0b04fbfe3856dd07ee7b19c9f00b0b5110a1d44b2b67e744080675413c5b9391ba0827c934a909ae72e05d SHA512 3ebbef12e29c24a2c30f5225cce157dbd5fe3d007f99855ffea5ab739ff005241f35fe5f3ca0834b5bf7bff75367523d56e859e4ec88bac9a28adf75d3992f49
|
||||
EBUILD buildah-1.21.1.ebuild 1178 BLAKE2B 5d575de7c96580e111a4cc573bfb0b3d26ad948454dda01670b9e0e950c58cd1008f2b0d713aed596a63883c2223d616261256cf800759038970760d358702aa SHA512 58d6aaf63951b161693d4b7d6b3fa21aa1acc07cd7731cc3d019538601a22beb73c96772c1ef81b79855cc57398699221c66b46337906bbe372aa49129977b13
|
||||
MISC metadata.xml 327 BLAKE2B cd14ee5c563ac21da34ce7728d2d12b797374bc43c50f4a9923d773ae4e010d4930793a0f0ecf610bb798fb3f1b7cd567944cf9895258e9244c3852969ac2406 SHA512 bed26d87edba20ed9385633b70b8bc23fc046ed95aa9b608400933ed4199594f6d0461854060a68b42d33a9b7be0d1b61f52e22e0d3b6d2c2248f58442094711
|
||||
|
@ -0,0 +1,50 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
inherit bash-completion-r1 go-module
|
||||
GIT_COMMIT=d70e8ae3
|
||||
|
||||
DESCRIPTION="A tool that facilitates building OCI images"
|
||||
HOMEPAGE="https://github.com/containers/buildah"
|
||||
SRC_URI="https://github.com/containers/buildah/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
IUSE="selinux"
|
||||
|
||||
RDEPEND="app-crypt/gpgme:=
|
||||
app-emulation/skopeo
|
||||
dev-libs/libgpg-error:=
|
||||
dev-libs/libassuan:=
|
||||
sys-fs/lvm2:=
|
||||
sys-libs/libseccomp:=
|
||||
selinux? ( sys-libs/libselinux:= )"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
RESTRICT+=" test"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
[[ -f selinux_tag.sh ]] || die
|
||||
use selinux || { echo -e "#!/bin/sh\ntrue" > \
|
||||
selinux_tag.sh || die; }
|
||||
sed -i -e 's/make -C/$(MAKE) -C/' Makefile || die 'sed failed'
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake GIT_COMMIT=${GIT_COMMIT} all
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodoc CHANGELOG.md CONTRIBUTING.md README.md install.md troubleshooting.md
|
||||
doman docs/*.1
|
||||
dodoc -r docs/tutorials
|
||||
dobin bin/{${PN},imgtype}
|
||||
dobashcomp contrib/completions/bash/buildah
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake test-unit
|
||||
}
|
@ -1,71 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit cmake-utils linux-info git-r3
|
||||
|
||||
DESCRIPTION="ncurses interface for QEMU"
|
||||
HOMEPAGE="https://github.com/nemuTUI/nemu"
|
||||
EGIT_REPO_URI="https://github.com/nemuTUI/nemu"
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="BSD-2"
|
||||
SLOT="0"
|
||||
IUSE="+vnc-client +ovf +spice savevm svg debug"
|
||||
|
||||
RDEPEND="
|
||||
sys-libs/ncurses:0=[unicode]
|
||||
dev-db/sqlite:3=
|
||||
virtual/libusb:1
|
||||
|| ( sys-fs/eudev sys-fs/udev sys-apps/systemd )
|
||||
>=app-emulation/qemu-2.12.0[vnc,virtfs,spice?]
|
||||
ovf? (
|
||||
dev-libs/libxml2
|
||||
app-arch/libarchive
|
||||
)
|
||||
svg? ( media-gfx/graphviz[svg] )"
|
||||
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
sys-devel/gettext"
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DNM_WITH_VNC_CLIENT=$(usex vnc-client)
|
||||
-DNM_DEBUG=$(usex debug)
|
||||
-DNM_SAVEVM_SNAPSHOTS=$(usex savevm)
|
||||
-DNM_WITH_OVF_SUPPORT=$(usex ovf)
|
||||
-DNM_WITH_NETWORK_MAP=$(usex svg)
|
||||
-DNM_WITH_SPICE=$(usex spice)
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
if use kernel_linux; then
|
||||
if ! linux_config_exists; then
|
||||
eerror "Unable to check your kernel"
|
||||
else
|
||||
CONFIG_CHECK="~VETH ~MACVTAP"
|
||||
ERROR_VETH="You will need the Virtual ethernet pair device driver compiled"
|
||||
ERROR_VETH+=" into your kernel or loaded as a module to use the"
|
||||
ERROR_VETH+=" local network settings feature."
|
||||
ERROR_MACVTAP="You will also need support for MAC-VLAN based tap driver."
|
||||
|
||||
check_extra_config
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "For non-root usage execute script:"
|
||||
elog "/usr/share/nemu/scripts/setup_nemu_nonroot.sh linux <username>"
|
||||
elog "and add udev rule:"
|
||||
elog "cp /usr/share/nemu/scripts/42-net-macvtap-perm.rules /lib/udev/rules.d"
|
||||
if use savevm; then
|
||||
elog ""
|
||||
elog "QEMU must be patched with qemu-qmp-savevm-VERSION.patch"
|
||||
elog "Get this patch from nEMU repository"
|
||||
fi
|
||||
}
|
@ -1,863 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
FIRMWARE_ABI_VERSION="4.0.0-r50"
|
||||
|
||||
inherit eutils linux-info toolchain-funcs multilib python-r1 \
|
||||
udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="https://git.qemu.org/git/qemu.git"
|
||||
EGIT_SUBMODULES=(
|
||||
meson
|
||||
tests/fp/berkeley-softfloat-3
|
||||
tests/fp/berkeley-testfloat-3
|
||||
ui/keycodemapdb
|
||||
)
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
else
|
||||
SRC_URI="https://download.qemu.org/${P}.tar.xz"
|
||||
KEYWORDS="amd64 arm64 ~ppc ppc64 x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
|
||||
HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2 BSD-2"
|
||||
SLOT="0"
|
||||
|
||||
IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug +doc
|
||||
+fdt glusterfs gnutls gtk infiniband iscsi io-uring
|
||||
jack jemalloc +jpeg kernel_linux
|
||||
kernel_FreeBSD lzo multipath
|
||||
ncurses nfs nls numa opengl +oss +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
|
||||
xfs 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 lm32 moxie rx tricore unicore32"
|
||||
IUSE_USER_TARGETS="${COMMON_TARGETS}
|
||||
aarch64_be armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus
|
||||
tilegx"
|
||||
|
||||
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 )
|
||||
static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy )
|
||||
static-user? ( !plugins )
|
||||
vhost-user-fs? ( caps seccomp )
|
||||
virtfs? ( caps xattr )
|
||||
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="
|
||||
dev-libs/libxml2[static-libs(+)]
|
||||
>=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 )
|
||||
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(+)] )
|
||||
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-fabric/libibumad:=[static-libs(+)]
|
||||
sys-fabric/libibverbs:=[static-libs(+)]
|
||||
sys-fabric/librdmacm:=[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:0=[unicode]
|
||||
sys-libs/ncurses:0=[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]
|
||||
)
|
||||
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[static-libs(+)] )
|
||||
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:= )
|
||||
xfs? ( sys-fs/xfsprogs[static-libs(+)] )
|
||||
zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
|
||||
"
|
||||
|
||||
X86_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/edk2-ovmf-201905[binary]
|
||||
~sys-firmware/ipxe-1.0.0_p20190728[binary,qemu]
|
||||
~sys-firmware/seabios-1.12.0[binary,seavgabios]
|
||||
~sys-firmware/sgabios-0.1_pre8[binary]
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
sys-firmware/edk2-ovmf
|
||||
sys-firmware/ipxe[qemu]
|
||||
>=sys-firmware/seabios-1.10.2[seavgabios]
|
||||
sys-firmware/sgabios
|
||||
)"
|
||||
PPC_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/seabios-1.12.0[binary,seavgabios]
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
>=sys-firmware/seabios-1.10.2[seavgabios]
|
||||
)
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
$(python_gen_impl_dep)
|
||||
dev-lang/perl
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
doc? ( dev-python/sphinx )
|
||||
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 )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-cleaner-werror.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-strings.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-fix-firmware-path.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-no-pie-ld.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-ppc64abi32
|
||||
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}"/default-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
|
||||
|
||||
# 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 debug debug-info)
|
||||
$(use_enable debug debug-tcg)
|
||||
$(use_enable doc docs)
|
||||
$(use_enable nls gettext)
|
||||
$(use_enable plugins)
|
||||
$(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
|
||||
}
|
||||
conf_opts+=(
|
||||
$(conf_notuser accessibility brlapi)
|
||||
$(conf_notuser aio linux-aio)
|
||||
$(conf_notuser bzip2)
|
||||
$(conf_notuser capstone)
|
||||
$(conf_notuser caps cap-ng)
|
||||
$(conf_notuser curl)
|
||||
$(conf_notuser fdt)
|
||||
$(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_notuser jemalloc 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 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_notuser virtfs)
|
||||
$(conf_notuser vnc)
|
||||
$(conf_notuser vte)
|
||||
$(conf_notuser xen)
|
||||
$(conf_notuser xen xen-pci-passthrough)
|
||||
$(conf_notuser xfs xfsctl)
|
||||
# use prebuilt keymaps, bug #759604
|
||||
--disable-xkbcommon
|
||||
$(conf_notuser zstd)
|
||||
)
|
||||
|
||||
if [[ ${buildtype} == "user" ]] ; then
|
||||
conf_opts+=( --disable-libxml2 )
|
||||
else
|
||||
conf_opts+=( --enable-libxml2 )
|
||||
fi
|
||||
|
||||
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=$(printf "%s," "${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"
|
||||
|
||||
# FreeBSD's kernel does not support QEMU assigning/grabbing
|
||||
# host USB devices yet
|
||||
use kernel_FreeBSD && \
|
||||
sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak
|
||||
}
|
||||
|
||||
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-r1 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
|
||||
}
|
@ -1,868 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
FIRMWARE_ABI_VERSION="4.0.0-r50"
|
||||
|
||||
inherit eutils linux-info toolchain-funcs multilib python-r1
|
||||
inherit udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils
|
||||
inherit flag-o-matic
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="https://git.qemu.org/git/qemu.git"
|
||||
EGIT_SUBMODULES=(
|
||||
meson
|
||||
tests/fp/berkeley-softfloat-3
|
||||
tests/fp/berkeley-testfloat-3
|
||||
ui/keycodemapdb
|
||||
)
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
else
|
||||
SRC_URI="https://download.qemu.org/${P}.tar.xz"
|
||||
KEYWORDS="amd64 arm64 ~ppc ppc64 ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
|
||||
HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2 BSD-2"
|
||||
SLOT="0"
|
||||
|
||||
IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug +doc
|
||||
+fdt glusterfs gnutls gtk infiniband iscsi io-uring
|
||||
jack jemalloc +jpeg kernel_linux
|
||||
kernel_FreeBSD lzo multipath
|
||||
ncurses nfs nls numa opengl +oss +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
|
||||
xfs 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 lm32 moxie rx tricore unicore32"
|
||||
IUSE_USER_TARGETS="${COMMON_TARGETS}
|
||||
aarch64_be armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus
|
||||
tilegx"
|
||||
|
||||
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 )
|
||||
static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy )
|
||||
static-user? ( !plugins )
|
||||
vhost-user-fs? ( caps seccomp )
|
||||
virtfs? ( caps xattr )
|
||||
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="
|
||||
dev-libs/libxml2[static-libs(+)]
|
||||
>=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 )
|
||||
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(+)] )
|
||||
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-fabric/libibumad:=[static-libs(+)]
|
||||
sys-fabric/libibverbs:=[static-libs(+)]
|
||||
sys-fabric/librdmacm:=[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:0=[unicode]
|
||||
sys-libs/ncurses:0=[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]
|
||||
)
|
||||
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[static-libs(+)] )
|
||||
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:= )
|
||||
xfs? ( sys-fs/xfsprogs[static-libs(+)] )
|
||||
zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
|
||||
"
|
||||
|
||||
X86_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/edk2-ovmf-201905[binary]
|
||||
~sys-firmware/ipxe-1.0.0_p20190728[binary,qemu]
|
||||
~sys-firmware/seabios-1.12.0[binary,seavgabios]
|
||||
~sys-firmware/sgabios-0.1_pre8[binary]
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
sys-firmware/edk2-ovmf
|
||||
sys-firmware/ipxe[qemu]
|
||||
>=sys-firmware/seabios-1.10.2[seavgabios]
|
||||
sys-firmware/sgabios
|
||||
)"
|
||||
PPC_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/seabios-1.12.0[binary,seavgabios]
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
>=sys-firmware/seabios-1.10.2[seavgabios]
|
||||
)
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
$(python_gen_impl_dep)
|
||||
dev-lang/perl
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
doc? ( dev-python/sphinx )
|
||||
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 )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-cleaner-werror.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-strings.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-fix-firmware-path.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-no-pie-ld.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-ppc64abi32
|
||||
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}"/default-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() {
|
||||
# workaround -fcommon breakage: bug #726560
|
||||
[[ ${PV} == 5.2.0 ]] || die "Check if -fcommon hack is needed"
|
||||
filter-flags -fcommon
|
||||
|
||||
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
|
||||
|
||||
# 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 debug debug-info)
|
||||
$(use_enable debug debug-tcg)
|
||||
$(use_enable doc docs)
|
||||
$(use_enable nls gettext)
|
||||
$(use_enable plugins)
|
||||
$(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
|
||||
}
|
||||
conf_opts+=(
|
||||
$(conf_notuser accessibility brlapi)
|
||||
$(conf_notuser aio linux-aio)
|
||||
$(conf_notuser bzip2)
|
||||
$(conf_notuser capstone)
|
||||
$(conf_notuser caps cap-ng)
|
||||
$(conf_notuser curl)
|
||||
$(conf_notuser fdt)
|
||||
$(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_notuser jemalloc 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 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_notuser virtfs)
|
||||
$(conf_notuser vnc)
|
||||
$(conf_notuser vte)
|
||||
$(conf_notuser xen)
|
||||
$(conf_notuser xen xen-pci-passthrough)
|
||||
$(conf_notuser xfs xfsctl)
|
||||
# use prebuilt keymaps, bug #759604
|
||||
--disable-xkbcommon
|
||||
$(conf_notuser zstd)
|
||||
)
|
||||
|
||||
if [[ ${buildtype} == "user" ]] ; then
|
||||
conf_opts+=( --disable-libxml2 )
|
||||
else
|
||||
conf_opts+=( --enable-libxml2 )
|
||||
fi
|
||||
|
||||
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=$(printf "%s," "${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"
|
||||
|
||||
# FreeBSD's kernel does not support QEMU assigning/grabbing
|
||||
# host USB devices yet
|
||||
use kernel_FreeBSD && \
|
||||
sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak
|
||||
}
|
||||
|
||||
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
|
||||
}
|
@ -1,871 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
FIRMWARE_ABI_VERSION="5.2.0-r50"
|
||||
|
||||
inherit eutils linux-info toolchain-funcs multilib python-r1
|
||||
inherit udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils
|
||||
inherit flag-o-matic
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="https://git.qemu.org/git/qemu.git"
|
||||
EGIT_SUBMODULES=(
|
||||
meson
|
||||
tests/fp/berkeley-softfloat-3
|
||||
tests/fp/berkeley-testfloat-3
|
||||
ui/keycodemapdb
|
||||
)
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
else
|
||||
SRC_URI="https://download.qemu.org/${P}.tar.xz"
|
||||
KEYWORDS="amd64 arm64 ~ppc ppc64 x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
|
||||
HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2 BSD-2"
|
||||
SLOT="0"
|
||||
|
||||
IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug +doc
|
||||
+fdt glusterfs gnutls gtk infiniband iscsi io-uring
|
||||
jack jemalloc +jpeg kernel_linux
|
||||
kernel_FreeBSD lzo multipath
|
||||
ncurses nfs nls numa opengl +oss +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
|
||||
xfs 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 lm32 moxie rx tricore unicore32"
|
||||
IUSE_USER_TARGETS="${COMMON_TARGETS}
|
||||
aarch64_be armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus
|
||||
tilegx"
|
||||
|
||||
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 )
|
||||
static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy )
|
||||
static-user? ( !plugins )
|
||||
vhost-user-fs? ( caps seccomp )
|
||||
virtfs? ( caps xattr )
|
||||
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="
|
||||
dev-libs/libxml2[static-libs(+)]
|
||||
>=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 )
|
||||
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(+)] )
|
||||
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-fabric/libibumad:=[static-libs(+)]
|
||||
sys-fabric/libibverbs:=[static-libs(+)]
|
||||
sys-fabric/librdmacm:=[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:0=[unicode]
|
||||
sys-libs/ncurses:0=[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]
|
||||
)
|
||||
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[static-libs(+)] )
|
||||
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:= )
|
||||
xfs? ( sys-fs/xfsprogs[static-libs(+)] )
|
||||
zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
|
||||
"
|
||||
|
||||
SEABIOS_VERSION="1.14.0"
|
||||
|
||||
X86_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/edk2-ovmf-202008[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
|
||||
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 )
|
||||
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 )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-cleaner-werror.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-strings.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-fix-firmware-path.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-no-pie-ld.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-dce-locks.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-ppc64abi32
|
||||
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}"/default-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() {
|
||||
# workaround -fcommon breakage: bug #726560
|
||||
[[ ${PV} == 5.2.0 ]] || die "Check if -fcommon hack is needed"
|
||||
filter-flags -fcommon
|
||||
|
||||
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
|
||||
|
||||
# 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 debug debug-info)
|
||||
$(use_enable debug debug-tcg)
|
||||
$(use_enable doc docs)
|
||||
$(use_enable nls gettext)
|
||||
$(use_enable plugins)
|
||||
$(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
|
||||
}
|
||||
conf_opts+=(
|
||||
$(conf_notuser accessibility brlapi)
|
||||
$(conf_notuser aio linux-aio)
|
||||
$(conf_notuser bzip2)
|
||||
$(conf_notuser capstone)
|
||||
$(conf_notuser caps cap-ng)
|
||||
$(conf_notuser curl)
|
||||
$(conf_notuser fdt)
|
||||
$(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_notuser jemalloc 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 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_notuser virtfs)
|
||||
$(conf_notuser vnc)
|
||||
$(conf_notuser vte)
|
||||
$(conf_notuser xen)
|
||||
$(conf_notuser xen xen-pci-passthrough)
|
||||
$(conf_notuser xfs xfsctl)
|
||||
# use prebuilt keymaps, bug #759604
|
||||
--disable-xkbcommon
|
||||
$(conf_notuser zstd)
|
||||
)
|
||||
|
||||
if [[ ${buildtype} == "user" ]] ; then
|
||||
conf_opts+=( --disable-libxml2 )
|
||||
else
|
||||
conf_opts+=( --enable-libxml2 )
|
||||
fi
|
||||
|
||||
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=$(printf "%s," "${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"
|
||||
|
||||
# FreeBSD's kernel does not support QEMU assigning/grabbing
|
||||
# host USB devices yet
|
||||
use kernel_FreeBSD && \
|
||||
sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak
|
||||
}
|
||||
|
||||
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,5 +1,8 @@
|
||||
AUX chkrootkit.cron 78 BLAKE2B f43e9a4a0864c3914658298622aaf0e97374e4f8518c085f0c6c1b439583b36567652376a601eb039ca9d6a8bdda0cb18d9c58b36ab61839113048d32ce9fb54 SHA512 6839f3372d28673ee436349a107dc33b77cfd676fd16cda1ccfc5211514e840593d0f106e4e0a9331c4b658860992a9169f3a7cdd75c835a780a41097e7bd758
|
||||
DIST chkrootkit-0.54-gentoo.diff.xz 4848 BLAKE2B 25d1736bb839533fae36550518b311e52bb38f8a562a63d40629789dc9497b6e71dbc306d1f845b6a5cd586468afa6a7ac4ce8b6f1bfb40d7ac9b0331a55def9 SHA512 6c972b081794681b61b7c67f9a5762ba5d2c0c731c9a2bf9f75e715984edf7022ddcd44d34803eacb58a59e8b21932ffb586cc9fb7998a43393367c2530e353e
|
||||
DIST chkrootkit-0.54.tar.gz 41461 BLAKE2B 61384fda7db08ca2a52ab060ee4ea3edb7311cb9908599a511459dac22340f28e75d732b10d827aaeed89a1ecb6fc7f69ab8fef970aae5a73bae8c7949944831 SHA512 fe8955ac33abaabf304f5580b6f12929f8bf02329ab442380eaa6298440cf1cb0eee2db8e5667ea7d78b89ee2bceb82c10ebb732a71d6bcdda9400569cd587fd
|
||||
DIST chkrootkit-0.55-gentoo.patch.bz2 5028 BLAKE2B f8f809252d89b9195601953c6741c9a653b658d86669f149380dc94da91085921f58fef7e6f232cc421cf62f7321630120a85ec4dfdf369d6e92c0a7ae81e0f1 SHA512 bdae4fed6f8c61337e855235bf84b20faa363a3dfad9b2f22a017bd232aaf7f4bc0680f2b5567d6545ef3cb6ce7d41cc2287f4f0a2baf68ce3c56c68df8c77b8
|
||||
DIST chkrootkit-0.55.tar.gz 42630 BLAKE2B 0e6bc4d411a7836cd8ab72782027e5bd80b5c8845d8de1f48ff57bc0617a368cff2471835a66c30d007f4cfc243639110e0c39e02eecc3ec9c5c0a66a4b7891b SHA512 742dca90a761ecff149d8704cb3a252adfe8f9d5e15dd060e9db4d5f6dcd3820933ae13cbee99ea5a8c6144932cf97c0616a177af3ba5a1726b51bb304e7d63e
|
||||
EBUILD chkrootkit-0.54.ebuild 1283 BLAKE2B b86b5b2cfe78135e5d9caa6323b2e2ccdc0584c503d84354276c4d1843234e39a598a4e352af6925738595859a8a74ea0700fba44765d7c587c7c03c3d8bdec5 SHA512 beedbb3345b227c9273b4a33de22bca4edd768b1b317a967d27b3da99aa8b45003bfb0f63d65275ba13e0aa9b0988771a5b3cb265da87935b4aa62c46e75368b
|
||||
EBUILD chkrootkit-0.55.ebuild 1321 BLAKE2B 6148f473ee67bb07b925b01d05069749ff521b246caa231c01e685125661ab0653fc12732799518a1175a65dc7963ae3944613524651c4fb3331a91810bd475d SHA512 a4aa7fa821ff774fe3d1f79c2af29f68b7d0bd4ecb4c73a6988ba446d51e7a4ae57c97d5ae2436b42dc0b95a5761612a02b0101f62ed2dd7245953a06d69dfeb
|
||||
MISC metadata.xml 254 BLAKE2B 82f42628c121ed27ad00d04687d2f6b52148571b49f1c8f4a81cf47ccf2e857b16c9d0c6a3da2f8bebd6a8803d433a874e8066f48bd18ff960923f53bd15da7b SHA512 f0b5ba232a76e933dd34a7e3e7fa04e627de0201610166f4758c5ccf888f509815b5cc39f5373b87a413496318f507bf28599ec0995d32bde98a7c65287d39bb
|
||||
|
@ -0,0 +1,58 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
GENTOO_PATCH="${PN}-0.55-gentoo.patch"
|
||||
|
||||
DESCRIPTION="Tool to locally check for signs of a rootkit"
|
||||
HOMEPAGE="http://www.chkrootkit.org/"
|
||||
SRC_URI="ftp://ftp.pangeia.com.br/pub/seg/pac/${P}.tar.gz"
|
||||
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${GENTOO_PATCH}.bz2"
|
||||
|
||||
LICENSE="BSD-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
|
||||
IUSE="+cron"
|
||||
|
||||
RDEPEND="cron? ( virtual/cron )"
|
||||
|
||||
PATCHES=(
|
||||
"${WORKDIR}/${GENTOO_PATCH}"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -e 's:/var/adm/:/var/log/:g' \
|
||||
-i chklastlog.c || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake CC="$(tc-getCC)" STRIP=true sense
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dosbin chkdirs chklastlog chkproc chkrootkit chkwtmp chkutmp ifpromisc strings-static
|
||||
dodoc ACKNOWLEDGMENTS README*
|
||||
|
||||
if use cron ; then
|
||||
exeinto /etc/cron.weekly
|
||||
newexe "${FILESDIR}"/${PN}.cron ${PN}
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if use cron ; then
|
||||
elog
|
||||
elog "Edit /etc/cron.weekly/chkrootkit to activate chkrootkit!"
|
||||
elog
|
||||
fi
|
||||
|
||||
elog
|
||||
elog "Some applications, such as portsentry, will cause chkrootkit"
|
||||
elog "to produce false positives. Read the chkrootkit FAQ at"
|
||||
elog "http://www.chkrootkit.org/ for more information."
|
||||
elog
|
||||
}
|
Binary file not shown.
@ -1,5 +1,6 @@
|
||||
AUX anki-2.1.0_beta25-web-folder.patch 498 BLAKE2B 5a89ac454e8b4c551c7593bc8d428f9512d1304bd7fd5aa9380a301d92f10ca126a1a319c2ec831d1d5be99c6941c4307a2b674f0a15d2d554b1443fdf053421 SHA512 779806afd6c0eaaac149c89bbe8da2394630aa5a611001307808339f29237b4d7f3db7e1f66241ef67e179a5ab96d64371e1b198044cd9f88389d03a5c9d8478
|
||||
AUX anki-2.1.15-mpv-args.patch 856 BLAKE2B 02c80c096ee3971cb781ea57ba8ebd63037c37668d57bef8d63f7c551544cd1eec04d134a835af5c918992172493a3b2933b6652e6872da2fe6bd6acb1bf6886 SHA512 ed44a965978dcb2ce85eab99adff59610c51614673415c7e34d1acdc77fa46e05c6b5eba6a4c3fda07ef5b3d3d5d1c9d844276377daff2189cbdf808168dd402
|
||||
AUX anki-2.1.15-unescape.patch 474 BLAKE2B f78067433039e22e335811dac2af3b8237a96f5d5025fe36cbea32d117d015fc1fab8f9ac806135e2ec910cdbd10131f731b8ea5fcdb5e88cd6dedbb8322bd8d SHA512 90e5123991120e696a94119413add54a205d87969b8b7f7167bd66d9ac12c6ad5f4ecba4692d7dddb4f8b47bb13aeea502e95a9be0cb72ca578531fde1473e1e
|
||||
DIST anki-2.1.15.tgz 4269571 BLAKE2B 00b351f5ffacb363642e02bf806bcd7c0d9446c9815a75328e7fa37c848b271b135510de17cc012e8cc96d8a52a183a49de84b6f85f562a370255bd36c6f866e SHA512 f3acfa6ff62d43fa461efddd81a8570304ada53b97bd494fdbbe0a0439700d7a52aa62ead31cbaed731be0df96a6cc845a7cf92dcf65f3080dc63282fe5941c3
|
||||
EBUILD anki-2.1.15.ebuild 2459 BLAKE2B 58310b9c1a53239c66fd8c40e2f2f8c5d598dea0be200ad355de75a4233303c3fd5d1223d154a78e7ab40ecb41f2505c4a885baa7d51b466cad2e9c81994b361 SHA512 5ee6967b0fc1d7bc93eecf6f435d9ee8f0b1ed1d597b631b61f860675ebb03a842f942a961d8d9a5bd4f06be3c54c908c9e03a4205be4dc44db5e51eb6ee62a5
|
||||
EBUILD anki-2.1.15-r1.ebuild 2502 BLAKE2B 4846657c1b97b1f4da76af16551f719729c663a48d36403135a0353e9cdc6c438e72e9ab6602fab525b8e73f40671ebaa9ac3d473f74d146ca34f719523ff94c SHA512 ceb8fa0454549ecb1fea2262228ce858effbc876ebc94d60b9e92234dfc936d476cde59e5f18b5d3a999ae3e3fd32ebd437c8795162e53c831ec087228cc26cf
|
||||
MISC metadata.xml 533 BLAKE2B 25491ed8623750ad197813d9504620f588e2df815a844711f057b544cde1e7622df46018ad32f994c689984dd301049caadf481d67737e94714f3fe57ba7863b SHA512 cc621ffca18afc64c6c1f758d919d950a39d5f447ae7740abe21f5b140fec8e2b8cbcfcfa4422fb5cf55f68c1068686344a8d9020e0aa477b3687ad84bbf9bf0
|
||||
|
@ -0,0 +1,13 @@
|
||||
diff --git a/aqt/reviewer.py b/aqt/reviewer.py
|
||||
index f01fcbd9f..5aaf26669 100644
|
||||
--- a/aqt/reviewer.py
|
||||
+++ b/aqt/reviewer.py
|
||||
@@ -359,7 +359,7 @@ Please run Tools>Empty Cards""")
|
||||
cor = stripHTML(cor)
|
||||
# ensure we don't chomp multiple whitespace
|
||||
cor = cor.replace(" ", " ")
|
||||
- cor = parser.unescape(cor)
|
||||
+ cor = html.unescape(cor)
|
||||
cor = cor.replace("\xa0", " ")
|
||||
cor = cor.strip()
|
||||
given = self.typedAnswer
|
@ -1,5 +1,5 @@
|
||||
DIST pax-utils-1.3.1.tar.xz 718384 BLAKE2B eef34077dfaceba1bf6f3d56b5e9990090e6d6c5d8c14f7f4bd8506040f0abdcf1a7bd52c643092faa74d991f22ed48c96924572a50c556aaf879dd411569457 SHA512 1a3a463f3864a420b4dcdd8e5736fbee785ed7cb19545966819493cc98d3cea670eb44592c7f100188b2d45b58908bc1f8e2e010f8842c51b70495b260a03102
|
||||
DIST pax-utils-1.3.2.tar.xz 725916 BLAKE2B ff792288b22c185501123d3e152ebae891585d5fbbbb1957f62c68fca3b342b8ca986d53611677aff4566ad4483afb3c69f40738be4cf5d653ca469e72b5661a SHA512 50330a34d9b7b33c67be079eb871e6dafe29c72f2fc42fec0e51aa9a2e0c1eb95e6d27a4dc1affe6647cdf4c9357545336d48c9e27a7e0106d57532a0f53cdcc
|
||||
EBUILD pax-utils-1.3.1.ebuild 1872 BLAKE2B 72742c0c848c2a5a9c9697ac7316ed723635d8322af47d5cc6bdfbc02dce9f4247cd933a319dc1294e60f428e213e275637f29840fddc44d0e321c212b755d30 SHA512 3b635f5a72f16c02d6b1f6756c1efeef36bc2bbebe83f7be0e8e71a50c2776b5db385ede07d3bcf810692622a4b4b1d8087813c125b642668318f4d1a4bf3321
|
||||
EBUILD pax-utils-1.3.2.ebuild 1840 BLAKE2B fe11e7fb592f2e12ae9a67e520b5b05a7622c7f2c47a84c0caa84648ef3601e57c931ecffa5464d75f94cec162c16fcef007d4975637278f6c97c76991cbc01b SHA512 33333b316692d87851fd97dff0f87501eb903d6863a14697b9c37dd61feae5545647a91af49803d2f04aa6cc365f48e04c2fc6494986cf2e0062869875c3b7a2
|
||||
EBUILD pax-utils-1.3.1.ebuild 1875 BLAKE2B 990d153b2a24f2aedfcc54fdfbb2eeb8249f3d4874502da412c9c7f32a9981d54acab6729a037e988943177f6ad91796316da16451d8f6eda2648b12d98e8d71 SHA512 9c0f0ab27270718e52b7c1f386f15a668edf424a46bd477a5c1479f76280e94ecc13dc2b2370b97b921c66433123d0b8452c6ae17fb334075ac5c55b5a770449
|
||||
EBUILD pax-utils-1.3.2.ebuild 1843 BLAKE2B 515b433e95e9ddc438d1cc0e8c0b13dafff7b9797ce46d9c5de1c72176757f2e807cf57d9bf5839e879301c9bd69f1ebee2ed1ba46ca8cef5363ba3f736c1b68 SHA512 2839eabd7f534a2e417b13220b87f5bfa386da7024a234b86519bd550b54ba801d5cb0f20637843c211200b14e3e5a5330fb356ab3890e1edbb491df867b6abf
|
||||
MISC metadata.xml 795 BLAKE2B 410a2dbab6104e5da8b29d92f288ac82619bea027e1e452428c9bb993d8b34475a2ce6d7d0ed8c40244f0ac31b619cc7a221c3545b46b8029284adbcbd45d9e5 SHA512 97e8fafd52f62a3db3d28a61f55895ecf667592516be68977599dd82d10c2107eb325218ccfc102d51cf8ce453c3f64e8ab4b82b25a5298bcf3ff0e33cdf40f3
|
||||
|
@ -1,7 +1,5 @@
|
||||
DIST tmux-xpanes-4.1.1.tar.gz 62564 BLAKE2B 195221c5f069048ab42a57a00c4c8b79f0c2acf1b0cdd7096e553c9a5ed0b3e3b3e9dfacb8f2eb141861b34ef52ad0a675fb501e314d7e4bfe4a41ff4bfd9f35 SHA512 789e19136faa939670cf8e91e7e7979fae8e536aeffdad7d39e1861e279214985d40807dc07afcd8b28cc4de140a944c9b2f5fe051a6b53e12b7903baefcb251
|
||||
DIST tmux-xpanes-4.1.2.tar.gz 63337 BLAKE2B 1ddc0c0422eec64697aea7eb97c8bbbbd4005f4c470d5d0bf1fae4eab01d8ced50503180f76d0ed5aa9d29e854b54aab8f8216ac945e6c1c2e4b4833c5661ceb SHA512 b18445940052a6af848286b901bfd81abfbdf83356cd1b39ac592e1509c9d63b81440978a8c2632672bfb7a2429a7fcc57b7c55c91a00d751b43aa9f368a5c57
|
||||
DIST tmux-xpanes-4.1.3.tar.gz 64101 BLAKE2B ec7e025adcfb2436b416a37de87cbf335bdc92d7653a65be9299c10993d273746a0678ee3e418df483697f1f2dd556063e98d984006e2137e2cdeb6f8634f75c SHA512 6545ec75a522b05eb8079c93830c81ac3c6a9ac338a3cc51c491f69a4602bef5b9f19c9f18b2975d0470c4af0a83ebf2357a4461024508ff0f6ac61d1099b22e
|
||||
EBUILD tmux-xpanes-4.1.1.ebuild 691 BLAKE2B b8c175b1dd8fb6679c3d3f408d79c0011a00bf0e4fdc3cde75cb95e08a984eb94fd65260af4137537e2f9b2a3da6ae64d5d85928e547526752e3664e38fc58a1 SHA512 f2cadcf49e4fc4b44cee75bb3a3202469fcfa65022085310d880da0ad23061f66a09e00a6b61c912dff2af81faaf1798f690ee807d35df00ead88e9c7f651251
|
||||
EBUILD tmux-xpanes-4.1.2.ebuild 693 BLAKE2B 74fe3d886da59e65519fe1ae3b324c4028ac000c94809fe9e0c5e09ffc8fded90d1ba0594ac545d8088a489e0848c2c2e03447ec2548ddb5eeaa560b444f88df SHA512 7784f7bcfd13c79c5a44f0a5d9f2b08fb4621cb424ac32ca5fb9110770713f4ca41094d264e9bdf5ee6ef8355937a0f0412e53bf56ff587231db3f60035a9f5a
|
||||
EBUILD tmux-xpanes-4.1.2.ebuild 691 BLAKE2B c8c07e13c12878e54d347c9e4fd08b99710fcfc449abbba9f4c0c39ae4dba2ad8a5f463d34208ca5d15d60bc9eb9437e41c87ea1c1e9881917d695bfc64c76d0 SHA512 c339ac55bfbd1b01f7d5b2875d99474f1a2bb7185a346102fd48d50152b9bed886d269666571b0e7396b715bdd191f1c702af286747a80e9f75609027895dff9
|
||||
EBUILD tmux-xpanes-4.1.3.ebuild 600 BLAKE2B 6a0d2dc689bd865c124399d52f1a01d75e685c737a0bb2194de86dd0b90b23b9a6fc075ed2b817f1ff8b4c0a8741f740ba32c836336f846a2ad565e27623e636 SHA512 06a5f75f9c4d3fed3c8d10cfb191820b639b83e99b88b021aa4b4ae303a1a98c3d43aa87ca045a367984a49b45558b701faf424bdd9afd6fca4e5946a12dbab9
|
||||
MISC metadata.xml 460 BLAKE2B 2f0ffe7b708299dbcacb08b48bc4cc78ab360310e1234b0d06efb65543de75996ad5f1469bab45f912ba44817072b4f1b845bea50ec9ced322b90bbeab07042b SHA512 b275a2b153cbe7d0a1f4bb5492bb0b884e16aba4baa543f050e316d9086d6d1661d6b49c11ff49711b91672fe1f4c8ffb54cf98abca409e6c50ea0001ca2516f
|
||||
|
@ -1,36 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
DESCRIPTION="tmux-based terminal divider"
|
||||
HOMEPAGE="https://github.com/greymd/tmux-xpanes"
|
||||
SRC_URI="https://github.com/greymd/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
KEYWORDS="amd64 x86"
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
|
||||
IUSE="zsh-completion"
|
||||
|
||||
RDEPEND="
|
||||
app-misc/tmux
|
||||
dev-lang/perl
|
||||
dev-libs/openssl:0=
|
||||
zsh-completion? ( app-shells/zsh )"
|
||||
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
DOCS=( CONTRIBUTING.md LICENSE README.md )
|
||||
|
||||
src_install() {
|
||||
dobin bin/*
|
||||
doman man/*.1
|
||||
einstalldocs
|
||||
if use zsh-completion; then
|
||||
insinto /usr/share/zsh/site-functions
|
||||
doins completion/zsh/*
|
||||
fi
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1,3 +1,5 @@
|
||||
DIST portpeek-3.2.0.tar.gz 13793 BLAKE2B 224ffff46090ee8c6ddc338623a5a1b4323ad2104514f0be8962b5af9070ab8217d76e3b19fdeac148b13cee77531ddb0261b89e563bb9a999b895b2a2475c69 SHA512 2b0592b92ce122c53c687e1897e1a51319527dca70c16ca38564dde870a05ccd0f4a00de88b53194046c9b2a4fef3a3ccf1a5fb84777de8437f66bb6cc25da94
|
||||
DIST portpeek-3.2.1.tar.gz 13538 BLAKE2B efd8566b0fd54cc9f76eb05d330a566999c2e301c2e62e38b12d6fa7063d57cf4803db0e1ca5fe3067a31075294e4c4e5f794acc914f2ed2abfc340c6bbf8278 SHA512 f5888f63c5683e48d601c6560800566586c1558541f928aacb0476cb7534e8e6910517d96c083519747d6074e1ee2739780f050fdffa6e5a1913399e2b2d108a
|
||||
EBUILD portpeek-3.2.0.ebuild 688 BLAKE2B 89745986a59dd306ba764cfb20c909941dde1d3a2954968b946dc33825bee67ca30e930d45c879e5f45f534d2207c6cfde5edcbb4da1f986f47cdd271802e8af SHA512 be3aec7962dbfed55235a811224c7573242ab9c958ec328f1f0738f5b81c31230d793687ddc52d01f9fc257967cdfca783c9e02ad95b5186c07253d9f79812e7
|
||||
EBUILD portpeek-3.2.1.ebuild 694 BLAKE2B b6fa9e7c0dca5352d44bcd9bc5d93a41119ed76a05c512cdcb7490cafec6383ee25e565213cebab2eda76bb1fabb98ae0c26d730da5194ddd4d077ce3c1e0f03 SHA512 afc05882d8434214bd28279fcf81c1c94a301419a2af3226353b2b3e7a5c23b2ac6d06918f4b77ffafc4f7647f8b4b83cc4a8c2aaf8876c895d4dbc7340e2eee
|
||||
MISC metadata.xml 247 BLAKE2B d6a36f1ceb3124edcff52b16e0893bf1984a3615da55fa5d160ae6faf816680dd7e735c3b9c5088ea101aa73501b4492553003771190867e35dbba8413d5ea7b SHA512 992dfbcdbf5401accacff7c9506d06cfd10555546cd041211755a90664a107ddc99d5d6b2b429a241929fe8895a0d5d571e3821ac0395dda10ed22cad60cb1a9
|
||||
|
@ -0,0 +1,30 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
PYTHON_COMPAT=( python3_{8,9} )
|
||||
|
||||
inherit python-r1
|
||||
|
||||
DESCRIPTION="A helper program for maintaining the package.keyword and package.unmask files"
|
||||
HOMEPAGE="https://www.mpagano.com/blog/?page_id=3"
|
||||
SRC_URI="https://www.mpagano.com/downloads/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~sparc ~x86"
|
||||
IUSE=""
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
DEPEND="${PYTHON_DEPS}"
|
||||
RDEPEND="${DEPEND}
|
||||
>=app-portage/gentoolkit-0.5.1
|
||||
|| (
|
||||
>=sys-apps/portage-3.0.18[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
src_install() {
|
||||
python_foreach_impl python_doscript ${PN}
|
||||
doman *.[0-9]
|
||||
}
|
Binary file not shown.
@ -0,0 +1,123 @@
|
||||
# Copyright 2005-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit cmake toolchain-funcs xdg-utils
|
||||
|
||||
if [[ ${PV} == *9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://anongit.freedesktop.org/git/poppler/poppler.git"
|
||||
SLOT="0/9999"
|
||||
else
|
||||
SRC_URI="https://poppler.freedesktop.org/${P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
SLOT="0/111" # CHECK THIS WHEN BUMPING!!! SUBSLOT IS libpoppler.so SOVERSION
|
||||
fi
|
||||
|
||||
DESCRIPTION="PDF rendering library based on the xpdf-3.0 code base"
|
||||
HOMEPAGE="https://poppler.freedesktop.org/"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
IUSE="cairo cjk curl +cxx debug doc +introspection +jpeg +jpeg2k +lcms nss png qt5 tiff +utils"
|
||||
|
||||
# No test data provided
|
||||
RESTRICT="test"
|
||||
|
||||
BDEPEND="
|
||||
dev-util/glib-utils
|
||||
virtual/pkgconfig
|
||||
"
|
||||
DEPEND="
|
||||
media-libs/fontconfig
|
||||
media-libs/freetype
|
||||
sys-libs/zlib
|
||||
cairo? (
|
||||
dev-libs/glib:2
|
||||
x11-libs/cairo
|
||||
introspection? ( dev-libs/gobject-introspection:= )
|
||||
)
|
||||
curl? ( net-misc/curl )
|
||||
jpeg? ( virtual/jpeg:0 )
|
||||
jpeg2k? ( >=media-libs/openjpeg-2.3.0-r1:2= )
|
||||
lcms? ( media-libs/lcms:2 )
|
||||
nss? ( >=dev-libs/nss-3.19:0 )
|
||||
png? ( media-libs/libpng:0= )
|
||||
qt5? (
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtxml:5
|
||||
)
|
||||
tiff? ( media-libs/tiff:0 )
|
||||
"
|
||||
RDEPEND="${DEPEND}
|
||||
cjk? ( app-text/poppler-data )
|
||||
"
|
||||
|
||||
DOCS=( AUTHORS NEWS README.md README-XPDF )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-20.12.1-qt5-deps.patch"
|
||||
"${FILESDIR}/${PN}-21.04.0-respect-cflags.patch"
|
||||
"${FILESDIR}/${PN}-0.57.0-disable-internal-jpx.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
|
||||
# Clang doesn't grok this flag, the configure nicely tests that, but
|
||||
# cmake just uses it, so remove it if we use clang
|
||||
if [[ ${CC} == clang ]] ; then
|
||||
sed -e 's/-fno-check-new//' -i cmake/modules/PopplerMacros.cmake || die
|
||||
fi
|
||||
|
||||
if ! grep -Fq 'cmake_policy(SET CMP0002 OLD)' CMakeLists.txt ; then
|
||||
sed -e '/^cmake_minimum_required/acmake_policy(SET CMP0002 OLD)' \
|
||||
-i CMakeLists.txt || die
|
||||
else
|
||||
einfo "policy(SET CMP0002 OLD) - workaround can be removed"
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
xdg_environment_reset
|
||||
local mycmakeargs=(
|
||||
-DBUILD_GTK_TESTS=OFF
|
||||
-DBUILD_QT5_TESTS=OFF
|
||||
-DBUILD_CPP_TESTS=OFF
|
||||
-DBUILD_MANUAL_TESTS=OFF
|
||||
-DRUN_GPERF_IF_PRESENT=OFF
|
||||
-DENABLE_SPLASH=ON
|
||||
-DENABLE_ZLIB=ON
|
||||
-DENABLE_ZLIB_UNCOMPRESS=OFF
|
||||
-DENABLE_UNSTABLE_API_ABI_HEADERS=ON
|
||||
-DUSE_FLOAT=OFF
|
||||
-DWITH_Cairo=$(usex cairo)
|
||||
-DENABLE_LIBCURL=$(usex curl)
|
||||
-DENABLE_CPP=$(usex cxx)
|
||||
-DWITH_JPEG=$(usex jpeg)
|
||||
-DENABLE_DCTDECODER=$(usex jpeg libjpeg none)
|
||||
-DENABLE_LIBOPENJPEG=$(usex jpeg2k openjpeg2 none)
|
||||
-DENABLE_CMS=$(usex lcms lcms2 none)
|
||||
-DWITH_NSS3=$(usex nss)
|
||||
-DWITH_PNG=$(usex png)
|
||||
$(cmake_use_find_package qt5 Qt5Core)
|
||||
-DWITH_TIFF=$(usex tiff)
|
||||
-DENABLE_UTILS=$(usex utils)
|
||||
-DENABLE_QT6=OFF
|
||||
)
|
||||
use cairo && mycmakeargs+=( -DWITH_GObjectIntrospection=$(usex introspection) )
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
# live version doesn't provide html documentation
|
||||
if use cairo && use doc && [[ ${PV} != *9999* ]]; then
|
||||
# For now install gtk-doc there
|
||||
insinto /usr/share/gtk-doc/html/poppler
|
||||
doins -r "${S}"/glib/reference/html/*
|
||||
fi
|
||||
}
|
Binary file not shown.
@ -1,7 +1,9 @@
|
||||
DIST asio-1.10.8.tar.bz2 1270332 BLAKE2B 97e4a6a7c8b4562f10af1d122e9b08c12d567fd0447d1951a907f47f77832dcd42df4cb9b5b392feaaa2ea7c79d8bedfcf12e3052957ec012d8bb6b4d1347eb5 SHA512 d870686d2b19bec9925c311f2f0fd370e9797bbad252176a80a998f9c322ecd502b5081826105712e7caf87c03c3e6b70a0e219019e5bff46077d6e8c3c6db09
|
||||
DIST asio-1.17.0.tar.bz2 1694631 BLAKE2B 0463355eef1714604290be43247139ea0220c5614c3c280ccf6049b64a2bb920c9eb885cf5f00c7e007caf3b049fe5cd6589dad0cb23cda4994fd31c7ecd8102 SHA512 5978cbf452aff07d6d19a2e641824628f409ab74e2e1a964776dae4c586386149acea56e4c8aa1075b247d2ce566daad640c3bbd15e211df1f73fc7b02964353
|
||||
DIST asio-1.18.1.tar.bz2 1729219 BLAKE2B 3f020407403175ffb6777b855a38e708241499e0fc8f1389b367bac4faf1e14b94cdf45f3b5ba64e12303237c8a3f817f7b7c320e7a58d72be6b19e04022c681 SHA512 06b41869858b69bc523564d5b219f8ebc995ca862e989f65233778c7596143075662880b6c5dd2eb24c21ba6e68a450888ab07a6bc8585bb6ede9a738e1e27c0
|
||||
DIST asio-1.18.2.tar.bz2 1743146 BLAKE2B 8db47419180095e4f05a63e4f414f33399e44f1dfb36299c70fef8bfef347f25df67ae78abf6b6b051e350b10099ec49e751b129bb1913dadf792e24048233a2 SHA512 ebe659f958b1813c4a843dce94a8f51d3a3b9f8e0237aa0f032009adaf85400b63b04ac8d664c9424397927d34d78206cbc646d921a520ed415c505f086628b1
|
||||
EBUILD asio-1.10.8.ebuild 921 BLAKE2B b71d193effac85b1774bf187f61b92d40d23fca104a210d18471dfb1b5c7e0d9d9615ba740627013493428ed355156bc927e4502eaf21d2c83c3340ff8ce865f SHA512 022d5a995aa8b5aedcc864fe903c8c4611dc7d5bd0f6e5e3492444d4d5ca374093cf74c08b5a2119f851894bfbe9bfb760f2c3ed2e2945a09ae0df3cb7626849
|
||||
EBUILD asio-1.17.0.ebuild 1121 BLAKE2B b39f6f2a7060601d146fa3146fc0d487c894cf7ac2a4afb2d6b8370692944853f976b16e70a6e30aa3292f6e5b811a0718b503c6c061b49d63dbe87daac6ed46 SHA512 dd346b7cf8b7ff07ae8ddd387065350d1aefc938bb9dc20ab2c0af7946bb455cb5d1694aa064ca4e601ad477099d4ff96b729de524769510a292577ae27fb40e
|
||||
EBUILD asio-1.18.1.ebuild 1128 BLAKE2B 51a905624608b573a9bf246531d1c7d53f0fd685c2b02440b5c9493b2969e7ca418b323c8cf70c9f8caa526412f5f7a2c186520554dfc1d9b562d09f3814e20e SHA512 f08b8c89cd36ca32f6c9f58aa72c68abf9962495a6953f36c7df80f6c149099d0540c1dd26b91188a8e1051ac2380e0a054ced86332e3a659599e74c5b0a6bfa
|
||||
EBUILD asio-1.18.2.ebuild 1128 BLAKE2B 51a905624608b573a9bf246531d1c7d53f0fd685c2b02440b5c9493b2969e7ca418b323c8cf70c9f8caa526412f5f7a2c186520554dfc1d9b562d09f3814e20e SHA512 f08b8c89cd36ca32f6c9f58aa72c68abf9962495a6953f36c7df80f6c149099d0540c1dd26b91188a8e1051ac2380e0a054ced86332e3a659599e74c5b0a6bfa
|
||||
MISC metadata.xml 486 BLAKE2B 90de27749adaf253e5d03d290225f1d8b7f7ce36cf2ada6289d68b07513973fa21a47363aeb965da9914867e954e69b9e4868eb9a4ffe8e6e3a685bbe8ccf1d2 SHA512 11558b26c58abda9bae1b0314be4761f0637652b3ccc978d49f1a4dbfc57e12a126c9a152fabd6a8c81c628e8a47cae58b1456444671331c7d15369d6e07b0ff
|
||||
|
@ -0,0 +1,51 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DESCRIPTION="Asynchronous Network Library"
|
||||
HOMEPAGE="https://think-async.com https://github.com/chriskohlhoff/asio"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${PN}/${P}.tar.bz2"
|
||||
|
||||
LICENSE="Boost-1.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
|
||||
IUSE="doc examples ssl test"
|
||||
RESTRICT="!test? ( test )"
|
||||
# test searches for libssl during ./configure, and REQUIRED_USE is easier than
|
||||
# patching configure to not search for it with USE=-ssl
|
||||
REQUIRED_USE="test? ( ssl )"
|
||||
|
||||
RDEPEND="dev-libs/boost:=
|
||||
ssl? (
|
||||
dev-libs/openssl:0=
|
||||
)"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if ! use test; then
|
||||
# Don't build nor install any examples or unittests
|
||||
# since we don't have a script to run them
|
||||
cat > src/Makefile.in <<-EOF || die
|
||||
all:
|
||||
|
||||
install:
|
||||
|
||||
clean:
|
||||
EOF
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
use doc && local HTML_DOCS=( doc/. )
|
||||
default
|
||||
|
||||
if use examples; then
|
||||
# Get rid of the object files
|
||||
emake clean
|
||||
dodoc -r src/examples
|
||||
docompress -x /usr/share/doc/${PF}/examples
|
||||
fi
|
||||
}
|
Binary file not shown.
@ -1,5 +1,10 @@
|
||||
AUX gwt-2.8.2-build-system.patch 758 BLAKE2B b1aca717473f2ebee42bfc2902c8eb0012698c8f7a059f5c9d29944b154c1a85ae296d8639271aaa6f749e5fa84de8e4e8ad5da45c90495e1f5ab429eff13740 SHA512 c469c23ded60e5f844abda0001f4ca99fd6756f9bd433f3e8a433c9441db3dd62d0523ab90b3f2eb1bf2b26675ef0f01a3ddf7dd371df844037a9f249c5b59a5
|
||||
AUX gwt-2.9.0-jsinterop-classpath.patch 1045 BLAKE2B 8efec183d5d7f2d2196d176d13e53c4356af3551838c3f32f586c673e03c8d3aa029d53ef490c2961482ed6ab1a4c53838f4060e1438cbd540823cfd11380f6b SHA512 85a0aad95157f0ab8adcefc43b6fa9d98d3970719ff7cc488e700ad23c0b3944c72ea837c689f4f50829d04c54b4693123a610a6f3600f522eb3026a1add4056
|
||||
AUX gwt-2.9.0-remove-git-usage.patch 1284 BLAKE2B cf06867ab6917e04a90a6f98f6868467dab8a54eda93847cf77a2e45917a59329c5be0857e3ad38eab942c90f696f9d6e8fd8509174b16c1cc72d242a01fcc3c SHA512 b32c808cf6514893aad5fdd07aa2724a9a3f0c9dede9aa1092ffe2470db02f481f6d2cba8b1521f221dfff0f2353dbe41aa1169eba28512f7c8feaf1dffba879
|
||||
DIST gwt-2.8.2.zip 22017212 BLAKE2B b112df08885e607c975f9585d6b83e2a12894e974850ada052918e4b946b11bfc8d9cf9d71f4e684121d9d16714885be549eed44d77a119e695c2b50cd6bc6c3 SHA512 ac16311c3b00b36d421eef914e73ad8dea01f022c87fc7ed722fdfee8eed391f1987cc1c34522978afc542cdb90eee791efcdcc725d9a395ab468e458b708074
|
||||
DIST gwt-2.9.0.tar.gz 13081965 BLAKE2B 8b18e4cad6df9b1a2336bdf537a26def021ccd950299a6064e9a7328d0161c093f56284cce7b8a0e0a0c72b0dc9604e5e5527332d1878afd19a3c95eed5129a7 SHA512 424484a42f28387734a89a3a12b48716031e194e3a712a5e7cbdb66f77ab68e72ff8751f70a4048f4b9f35d92948c285490fd8e23c34d5c5e5558fee33952bf5
|
||||
DIST gwt-tools-194772ed94078802d8030136796de344eb1fdbe1.tar.gz 575902138 BLAKE2B 518ed1752cc82a527521525e181db712a641d36db203f511bdcc5206de314aa1eb693415b690fc42f38c9beabaffc484ad6ec3444e3cd8b4f2a3fa2ab9505f11 SHA512 0365d664b4b14ec833c922c8fab5df269e69ac8f1526315810f4922132439b880ee15e7e8b80e8b505469a374ba4a47998c7ed07b5f53227d50100247fade82b
|
||||
DIST gwt-tools-f42d2729a3a8e6ba9b9aec069957bce5dc0f6f6d.zip 577453206 BLAKE2B 83a3824d6418727876b4708ed44ab1f58513a5b39d4e48f9bf21290ca358f76ec2ccd98ce2aee76afe7f621fb1f703bf459b8c3d6a3d4f32d4be807bc723513e SHA512 f4f033c972d955da40258020a9fb84ae90f30b7afeb1ae8044cf00f4f5f45200129bf84e2f69660a4eb80bb60f3a5a1d3c5af69fe9e07e0b985de0e708ca933f
|
||||
EBUILD gwt-2.8.2.ebuild 1855 BLAKE2B 3aaa9cc77f59b1de68576ffb181b79cea5df324bca29149430dfca81c114fe07401136e5afb8ee78dddaa7242c0ca00da4263483b7aabd756ff6c87daffb61b5 SHA512 806919aefcd54194e9c1b53066f2c7bd7585151c54b0a7706211dec59bf31e4ec4992a8a26df6217a9265019705c1ef777d1728314344e2dfa08bd42050491ee
|
||||
EBUILD gwt-2.9.0.ebuild 2239 BLAKE2B 4c3a7ee2474cdacbafebdf1107750f37e9e73573d032746fad912f2a40ab77773572b648592d567c8cf7105281a40af774f4bacd349f25f069306281d51ee877 SHA512 0c28f0495b51d5789524529f91f2eed43d92ef059990fa7d747b58b46f1157f8dd2fec912d6c773959a7fa3b8a03040923de5edd47471b1e8e73776c2754eca9
|
||||
MISC metadata.xml 766 BLAKE2B e023f4897d31fa31c961563600b21d9a03a26b1ac70b75859c66e558177e7b42b747cfb40d22760eb132b44ac5ec2ee8906a48ea09b591e8a5cc1dd7a91cc55e SHA512 c4fdbf613e76d4be2c71a15fc9f99f0cd744aa4508725dc36a11421eee6029a22af833c360b525002a5be76b74494b14ec093945e1c5f25a9c2fb71867cf3f32
|
||||
|
@ -0,0 +1,20 @@
|
||||
# It's unclear how upstream gets their "dev.compile.test" target to compile
|
||||
# without this - it could be that their testing is done with the local tools/
|
||||
# dir, and that some assumptions are made somewhere in the bulid system that
|
||||
# don't apply when the tools dir is elsewhere. Either way, this fixes it.
|
||||
#
|
||||
# a Pull Request (of sorts) has been issued with upstream to incorporate this
|
||||
# change. I would list the PR link here, but they use gerrit, and i don't
|
||||
# understand what happened to my submission after I issued
|
||||
# `git push upstream HEAD:refs/for/master`
|
||||
|
||||
--- a/dev/build.xml
|
||||
+++ b/dev/build.xml
|
||||
@@ -60,6 +60,7 @@
|
||||
<pathelement
|
||||
location="${gwt.tools.lib}/streamhtmlparser/streamhtmlparser-jsilver-r10/streamhtmlparser-jsilver-r10-1.5-rebased.jar"/>
|
||||
<pathelement location="${gwt.build.lib}/gwt-dev-${build.host.platform}.jar"/>
|
||||
+ <pathelement location="${gwt.tools.lib}/jsinterop/jsinterop-annotations-2.0.0.jar"/>
|
||||
<pathelement location="${alldeps.jar}"/>
|
||||
</classpath>
|
||||
</gwt.javac>
|
@ -0,0 +1,26 @@
|
||||
# This git stuff in the ant configs is useful during development, since it does
|
||||
# something or other withe git revision and sets some sort of sentinel file.
|
||||
# Since this package is for a release, we don't need it.
|
||||
--- a/common.ant.xml
|
||||
+++ b/common.ant.xml
|
||||
@@ -277,16 +277,16 @@
|
||||
|
||||
<macrodef name="gwt.getgitinfo" description="Identifies the GIT info of a workspace">
|
||||
<sequential>
|
||||
- <exec executable="git" searchpath="true" outputproperty="gwt.gitrev">
|
||||
- <arg line="rev-parse --short HEAD"/>
|
||||
- </exec>
|
||||
+ <!-- <exec executable="git" searchpath="true" outputproperty="gwt.gitrev"> -->
|
||||
+ <!-- <arg line="rev-parse - -short HEAD"/> -->
|
||||
+ <!-- </exec> -->
|
||||
<!-- Generally, filtering requires a sentinel file so that changes to git rev will
|
||||
be noticed as invalidating the previously-generated filter output. This property
|
||||
names where such a sentinel lives; it is tested with <available/> and created
|
||||
with <touch/> -->
|
||||
<mkdir dir="${project.build}/sentinels"/>
|
||||
<property name="filter.sentinel"
|
||||
- location="${project.build}/sentinels/gwt-${gwt.version}-git-${gwt.gitrev}"/>
|
||||
+ location="${project.build}/sentinels/gwt-${gwt.version}"/>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
|
@ -0,0 +1,96 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
JAVA_PKG_IUSE="source"
|
||||
|
||||
inherit java-pkg-2 java-ant-2 java-utils-2
|
||||
|
||||
GWT_TOOLS_COMMIT="194772ed94078802d8030136796de344eb1fdbe1"
|
||||
GWT_TOOLS_PN="tools"
|
||||
|
||||
DESCRIPTION="Google Web Toolkit library"
|
||||
HOMEPAGE="http://www.gwtproject.org/"
|
||||
SRC_URI="https://github.com/gwtproject/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
|
||||
https://github.com/gwtproject/${GWT_TOOLS_PN}/archive/${GWT_TOOLS_COMMIT}.tar.gz -> ${PN}-${GWT_TOOLS_PN}-${GWT_TOOLS_COMMIT}.tar.gz"
|
||||
# While the test suite does compile and does execute with an exit status of 0,
|
||||
# there are many tests that end with FAILED status. It is unclear if this is
|
||||
# expected from upstream or not, but in order to keep things honest, the test
|
||||
# suite is being restricted
|
||||
RESTRICT="mirror test"
|
||||
SLOT="2.8"
|
||||
LICENSE="Apache-2.0"
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
|
||||
|
||||
CDEPEND="
|
||||
dev-java/json:0
|
||||
dev-java/guava:20
|
||||
dev-java/rhino:1.6
|
||||
dev-java/asm:9
|
||||
dev-java/eclipse-ecj:4.5
|
||||
dev-java/validation-api:1.0
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
>=virtual/jre-1.8:*"
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
virtual/jdk:1.8
|
||||
"
|
||||
|
||||
JAVA_ANT_REWRITE_CLASSPATH="yes"
|
||||
EANT_BUILD_TARGET="build"
|
||||
EANT_GENTOO_CLASSPATH="
|
||||
json
|
||||
asm-9
|
||||
guava-20
|
||||
rhino-1.6
|
||||
eclipse-ecj-4.5
|
||||
validation-api-1.0
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-2.9.0-jsinterop-classpath.patch"
|
||||
"${FILESDIR}/${PN}-2.9.0-remove-git-usage.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
java-pkg-2_src_prepare
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# the default setup assumes that you've placed these in ${S}/tools. We put
|
||||
# it in ${WORKDIR} though
|
||||
export GWT_TOOLS="${WORKDIR}/${GWT_TOOLS_PN}-${GWT_TOOLS_COMMIT}"
|
||||
export GWT_VERSION="${PV}"
|
||||
|
||||
java-pkg-2_src_compile
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local -x ANT_OPTS=-Dfile.encoding=UTF-8
|
||||
local -x TZ=America/Los_Angeles
|
||||
|
||||
java-pkg-2_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local i18nCreater_launcher_args=(
|
||||
i18nCreater
|
||||
--main com.google.gwt.i18n.tools.I18NCreater
|
||||
--jar gwt-dev.jar
|
||||
)
|
||||
local webAppCreator_launcher_args=(
|
||||
webAppCreator
|
||||
--main com.google.gwt.user.tools.WebAppCreator
|
||||
--jar gwt-dev.jar
|
||||
)
|
||||
|
||||
java-pkg_dojar build/lib/*.jar
|
||||
java-pkg_dolauncher ${i18nCreater_launcher_args[@]}
|
||||
java-pkg_dolauncher ${webAppCreator_launcher_args[@]}
|
||||
}
|
@ -0,0 +1,87 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
JAVA_PKG_IUSE="doc source"
|
||||
MAVEN_ID="net.java.dev.jna:jna:4.2.2"
|
||||
|
||||
inherit java-pkg-2 java-ant-2 toolchain-funcs
|
||||
|
||||
DESCRIPTION="Java Native Access (JNA)"
|
||||
HOMEPAGE="https://github.com/java-native-access/jna"
|
||||
SRC_URI="https://github.com/java-native-access/jna/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="4"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="+awt +nio-buffers test"
|
||||
|
||||
REQUIRED_USE="test? ( awt nio-buffers )"
|
||||
|
||||
# The tests stall immediately on some systems (not current stable?) when
|
||||
# the sandbox is active but pass successfully otherwise. Chewi has not
|
||||
# been able to determine why. This began in 4.2.0 as 4.1.0 worked
|
||||
# fine. Someone bisect it please. :)
|
||||
RESTRICT="test"
|
||||
|
||||
CDEPEND="dev-libs/libffi"
|
||||
DEPEND="${CDEPEND}
|
||||
virtual/jdk:1.8
|
||||
x11-libs/libXt
|
||||
test? (
|
||||
dev-java/ant-junit:0
|
||||
dev-java/guava:20
|
||||
dev-java/javassist:3
|
||||
dev-java/reflections:0
|
||||
)"
|
||||
RDEPEND="${CDEPEND}
|
||||
virtual/jre:1.8"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PV}-build.xml.patch
|
||||
"${FILESDIR}"/${PV}-makefile-flags.patch
|
||||
)
|
||||
|
||||
JAVA_ANT_REWRITE_CLASSPATH="true"
|
||||
EANT_BUILD_TARGET="native jar contrib-jars"
|
||||
EANT_EXTRA_ARGS="-Ddynlink.native=true"
|
||||
EANT_TEST_EXTRA_ARGS="-Dheadless=true -Djava.io.tmpdir=${T}"
|
||||
EANT_TEST_GENTOO_CLASSPATH="guava-20,javassist-3,reflections"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# delete bundled jars and copy of libffi
|
||||
# except native jars because build.xml needs them all
|
||||
find ! -path "./lib/native/*" -name "*.jar" -delete || die
|
||||
rm -r native/libffi || die
|
||||
|
||||
if ! use awt ; then
|
||||
sed -i -E "s/^(CDEFINES=.*)/\1 -DNO_JAWT/g" native/Makefile || die
|
||||
fi
|
||||
|
||||
if ! use nio-buffers ; then
|
||||
sed -i -E "s/^(CDEFINES=.*)/\1 -DNO_NIO_BUFFERS/g" native/Makefile || die
|
||||
fi
|
||||
|
||||
java-pkg-2_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export CC
|
||||
}
|
||||
|
||||
src_install() {
|
||||
java-pkg_newjar build/${PN}-min.jar
|
||||
java-pkg_dojar contrib/platform/dist/${PN}-platform.jar
|
||||
java-pkg_doso build/native-*/libjnidispatch.so
|
||||
|
||||
use source && java-pkg_dosrc src/*
|
||||
use doc && java-pkg_dojavadoc doc/javadoc
|
||||
}
|
||||
|
||||
src_test() {
|
||||
java-pkg-2_src_test
|
||||
}
|
@ -1,9 +1,5 @@
|
||||
DIST lucene-1.4.3-src.tar.gz 768320 BLAKE2B 8017b672b0104be007582a67cff5cb130187afcf9608bec0cb2b6bae9b3ea8c67486b324740c99e4db8f23879dd614a098f778f6b52b429d3dd1906387e9b61e SHA512 426539a4b4a8887485c4301b2127ad4815646d1a81bca877ed2b0e68d886fcaf844449532a080754b79696c0f9e9c5f304be28487e0f9aa11178565a20f29911
|
||||
DIST lucene-2.4.1.tar.gz 5057003 BLAKE2B 3e2a29cfa94b367f1e62f60a2f7b7e195c788048564fb061ade4b1babcb2fd71e36b282049d3816c3faaaa3dacc07f4a7dbdb0504a659ea3ab8e06e247debcba SHA512 cf227eea4aeee904ccf5316ee7f2399864bf28b9c01e044ef27232dd483c3a5f0ecc8836633f44acfa41ffee6bf1c530e756ef45fa77ac1d15e1f83129b7aa5e
|
||||
DIST lucene-3.5.0-src.tgz 39564076 BLAKE2B 5018f0e07a9df3f2f55c540e94e349e64e2c02c99acf14946e4471e16ace4f17a18e306aca6187028cde4434f0d6b38090442baaddaa79ef12ff34a8461f9e98 SHA512 58846190ed0e8c0747e14cb46bf27255d0e4ee93aa0969cf16140713ce20c8fc3f451353437313f14416c92b7b6825d4ce3416d9c7ce4cb1854f31877c2af275
|
||||
DIST lucene-3.6.2-src.tgz 32139784 BLAKE2B 48fe88efeae8396e084f827aa66530480f40aee3a2e59c8524420059f004a73be4c1e50c98345ad0ad4808ff8a0a996f9406523bf5c124616657ec91f9797f70 SHA512 e9a08a1b5303c44e4feecc0bb6e7013e4a9420517ae4e98999bd318ec25b5b2ff3b6de8b51db8f68afc0fdc3149829297023a95b103d4f99e7db68deee4c3965
|
||||
EBUILD lucene-1.4.3-r4.ebuild 981 BLAKE2B c506d4a98402026bca8e4c968bb9d56ecaf5ab5f37891834b587db8069c32bc41ac2d8f75a7c63f26a4eb80929a3fe9b6310ba3577bad32cf505809971cbd568 SHA512 abcbbadabe7dd9dccd2fa59c8888b6871e0104d803139a53549341f2a691975de2a3e9092c7dd4c2738dd89038fa154fd32dc91c293a8373bd012408bf2d1d69
|
||||
EBUILD lucene-2.4.1-r2.ebuild 1802 BLAKE2B 71e720f396d65c1621d956d0536c3655a1530014861df0350dc506b7e03f2acd4f75ab70f0f7768ae867523ee49e1b7fac11095502fbba65d350ecf8223d1d41 SHA512 2551db0ac39d6ca7516b71e86202cef50e7784ee49f715f03703b205509e89983e735cc66ce3970abca9212390edbb06a948399310845e758855fb4764e2c985
|
||||
EBUILD lucene-3.5.0-r2.ebuild 3512 BLAKE2B 9f30115ea1ce8570213517a3e841675c761654e23d81cdb5c30a0111dad97b2ed41bcd3fbb316bc8716836f82fc14f4dc6c30012ec7fb41e8fd5bcca3637af9d SHA512 f7bc1e244f8f4f19d2c8674a17382fc425ef34cb2957489e8216d4ddc009ebce77b191ee1357f60719158020d098a8d0fe7239648f96014126e68111a22f10e8
|
||||
EBUILD lucene-3.6.2-r2.ebuild 5553 BLAKE2B 4602e1ddf43e0fc5b71093bbc88069fe7f016187e78b61fd7a1fbd7ed03f1ce54b1dcf42e918f128c3bb58cc7eadfdd4fcb3ba455d5567788a9866834c805db4 SHA512 92d2a8aa60347ae964ed8d99e50c57addb4b3621fee34262a865565c6280f381dfc9f14792ddb330d89a1b7fbaaf07d4031bf6cbbd2ddfffa62634fd84779b49
|
||||
MISC metadata.xml 319 BLAKE2B 5849f61f420a09c73072e0890994385a5934d1ade144e107c85e1bda6a2348c79942a4a38ab8a138e19759a11870f47c563404fc34d5b95764fae42f968af7cf SHA512 785aafb20d068f923fe86429caa45c645940b956988461b331fb6d41fba8dcaebbb25ee37511d11f8184ec15a20f59453fb0b8aeeaa112188de2d289a528d946
|
||||
|
@ -1,52 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
JAVA_PKG_IUSE="doc examples source test"
|
||||
|
||||
inherit java-pkg-2 java-ant-2
|
||||
|
||||
DESCRIPTION="High-performance, full-featured Java text search engine"
|
||||
HOMEPAGE="https://lucene.apache.org"
|
||||
SRC_URI="mirror://apache/lucene/java/archive/${P}-src.tar.gz"
|
||||
|
||||
KEYWORDS="amd64 x86"
|
||||
LICENSE="Apache-1.1"
|
||||
SLOT="1"
|
||||
|
||||
DEPEND="
|
||||
>=virtual/jdk-1.6
|
||||
test? ( dev-java/ant-junit:0 )"
|
||||
|
||||
RDEPEND="
|
||||
>=virtual/jre-1.6"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
java-pkg_clean
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
eant jar-core $(use_doc javadocs)
|
||||
}
|
||||
|
||||
src_test() {
|
||||
java-ant_rewrite-classpath build.xml
|
||||
EANT_GENTOO_CLASSPATH="junit ant-core" \
|
||||
ANT_TASKS="ant-junit" \
|
||||
eant test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
einstalldocs
|
||||
java-pkg_newjar build/lucene-1.5-rc1-dev.jar
|
||||
|
||||
if use doc; then
|
||||
dodoc -r docs/*
|
||||
java-pkg_dojavadoc build/docs/api
|
||||
fi
|
||||
|
||||
use examples && java-pkg_doexamples src/demo
|
||||
use source && java-pkg_dosrc src/java/org
|
||||
}
|
@ -1,136 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
JAVA_PKG_IUSE="doc source test contrib"
|
||||
JAVA_PKG_BSFIX_ALL="no"
|
||||
JAVA_PKG_BSFIX_NAME="build.xml common-build.xml contrib-build.xml"
|
||||
|
||||
inherit java-pkg-2 java-ant-2
|
||||
|
||||
DESCRIPTION="High-performance, full-featured text search engine written entirely in Java"
|
||||
HOMEPAGE="https://lucene.apache.org"
|
||||
SRC_URI="mirror://apache/lucene/java/${PV}/${P}-src.tgz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="3.5"
|
||||
KEYWORDS="amd64 x86"
|
||||
|
||||
CDEPEND="
|
||||
dev-java/junit:4
|
||||
dev-java/ant-junit:0
|
||||
dev-java/ant-core:0
|
||||
contrib? (
|
||||
dev-java/jakarta-regexp:1.4
|
||||
dev-java/commons-compress:0
|
||||
dev-java/commons-collections:0
|
||||
dev-java/commons-digester:0
|
||||
dev-java/commons-logging:0
|
||||
dev-java/commons-beanutils:1.7
|
||||
)"
|
||||
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
>=virtual/jdk-1.6
|
||||
test? (
|
||||
dev-java/junit:4
|
||||
dev-java/ant-core:0
|
||||
)"
|
||||
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
>=virtual/jre-1.6"
|
||||
|
||||
DOCS=(
|
||||
CHANGES.txt README.txt
|
||||
NOTICE.txt CHANGES.txt
|
||||
JRE_VERSION_MIGRATION.txt
|
||||
)
|
||||
|
||||
# All tests fail with the following error:
|
||||
# junit.framework.AssertionFailedError: ensure your setUp() calls super.setUp()!!!
|
||||
RESTRICT="test"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
java-pkg_clean
|
||||
sed -i \
|
||||
-e '/-Xmax/ d' \
|
||||
common-build.xml || die
|
||||
|
||||
# FIXME: contrib builds do not work if junit not included
|
||||
#java-pkg_jar-from --build-only --into lib \
|
||||
# junit-4 junit.jar junit-4.7.jar
|
||||
java-pkg_jar-from --build-only --into lib \
|
||||
ant-core ant.jar ant-1.7.1.jar
|
||||
java-pkg_jar-from --build-only --into lib \
|
||||
ant-junit ant-junit.jar ant-junit-1.7.1.jar
|
||||
|
||||
if use contrib; then
|
||||
cd contrib/ || die
|
||||
java-pkg_jar-from --build-only --into queries/lib \
|
||||
jakarta-regexp:1.4 jakarta-regexp.jar jakarta-regexpt-1.4.jar
|
||||
java-pkg_jar-from --build-only --into benchmark/lib \
|
||||
commons-compress commons-compress.jar commons-compress-1.1.jar
|
||||
java-pkg_jar-from --build-only --into benchmark/lib \
|
||||
commons-collections commons-collections.jar commons-collections-3.1.jar
|
||||
java-pkg_jar-from --build-only --into benchmark/lib \
|
||||
commons-digester commons-digester.jar commons-digester-1.7.jar
|
||||
java-pkg_jar-from --build-only --into benchmark/lib \
|
||||
commons-logging commons-logging.jar commons-logging-1.0.4.jar
|
||||
java-pkg_jar-from --build-only --into benchmark/lib \
|
||||
commons-beanutils:1.7 commons-beanutils.jar commons-beanutils-1.7.0.jar
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# FIXME: docs do not build if behind a proxy, -autoproxy does not work
|
||||
java-ant_xml-rewrite -f common-build.xml \
|
||||
-c -e javadoc \
|
||||
-a failonerror \
|
||||
-v "false"
|
||||
|
||||
ANT_TASKS="none" \
|
||||
eant -Dversion=${PV} \
|
||||
-Dfailonjavadocwarning=false \
|
||||
jar-core \
|
||||
$(use_doc javadocs-core)
|
||||
|
||||
if use contrib; then
|
||||
ANT_TASKS="none" \
|
||||
eant -Dversion=${PV} \
|
||||
-Dfailonjavadocwarning=false \
|
||||
build-contrib \
|
||||
$(use_doc javadocs-all)
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# FIXME: test does not get run, even when selected
|
||||
java-ant_rewrite-classpath common-build.xml
|
||||
EANT_GENTOO_CLASSPATH="junit-4 ant-core ant-junit" \
|
||||
ANT_TASKS="ant-junit" \
|
||||
eant test-core
|
||||
}
|
||||
|
||||
src_install() {
|
||||
einstalldocs
|
||||
java-pkg_newjar build/${PN}-core-${PV}.jar ${PN}-core.jar
|
||||
|
||||
if use contrib; then
|
||||
local i j
|
||||
for i in $(find build/contrib -name \*-${PV}.jar); do
|
||||
j=${i##*/}
|
||||
java-pkg_newjar $i ${j%%-${PV}.jar}.jar
|
||||
done
|
||||
fi
|
||||
if use doc; then
|
||||
dodoc -r docs
|
||||
java-pkg_dohtml -r build/docs/api
|
||||
fi
|
||||
if use source; then
|
||||
java-pkg_dosrc src/java/org
|
||||
use contrib && java-pkg_dosrc contrib
|
||||
fi
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST mockito-1.9.5.zip 6453870 BLAKE2B b577c4a82f03b5c345462ecc10e9fe25c03836d08d57d633d95a1eaba17f52d4306603f50f332df360d0a4880c85c65bad4503503df0acad8f7b437694a2b887 SHA512 93768992c74fbc2e2653b46b3afb526ab816b9c707cb5f9608564299ffd206e256182be146c590b4777a624379f576d7117ed7d43b11f8d2974e87c402eede51
|
||||
EBUILD mockito-1.9.5-r1.ebuild 844 BLAKE2B b8ed4f84aaece678fcf10167dc29df664f5d484a302cdb560f64337833bfc93c26094550be04adfbe69e49d35c5c7b794c02e82886ee5a0cfe25b5e0f7031d8b SHA512 2caa56ec15407184643ebd9204d19c2536773c371bfad8e936012957b84f79612fc75ef96c60b0f3756a2e4643d215c058f0f91a479c187242fa40c51b96b74f
|
||||
EBUILD mockito-1.9.5-r2.ebuild 849 BLAKE2B 3e315682add72a455809c5dadac111e6b3a03ab78566abcb66b3b7ed75e2999a351de73a1e07df6ef4c43ee476ea271bd1cdffc7ffdee8e387e10066456e29d4 SHA512 11bbf4faf9dc1804f526fbac5e195f16075f4d552658979575f0f25d7f44d611558b408af00adb178475f721d4bb6b1e30635b4ba744694972d5b465e7ce9733
|
||||
MISC metadata.xml 368 BLAKE2B b76278732bfbed14a8ec62d1b339971836efbaf3565e6b93dd61a09c18749fa30c815c283f633321cf0ddbc818ccfbeb92fed293f6e43137eeb2d3b8efa9ed04 SHA512 371a02c769989a221b89405e852f627a4cd9953f1529b8e6890056b6ca83e2526a82752ab3ed9b36f40a3d88d460360e20762d2a4cdcba359116c036f1d7cc7b
|
||||
|
@ -0,0 +1,43 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
JAVA_PKG_IUSE="doc source"
|
||||
|
||||
inherit java-pkg-2 java-pkg-simple
|
||||
|
||||
DESCRIPTION="A mocking framework for Java"
|
||||
HOMEPAGE="https://github.com/mockito/mockito"
|
||||
SRC_URI="https://${PN}.googlecode.com/files/${P}.zip"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
|
||||
|
||||
CDEPEND="
|
||||
dev-java/ant-core:0
|
||||
dev-java/hamcrest-core:0
|
||||
dev-java/junit:4
|
||||
dev-java/objenesis:0
|
||||
"
|
||||
RDEPEND="${CDEPEND}
|
||||
virtual/jre:1.8"
|
||||
DEPEND="${CDEPEND}
|
||||
virtual/jdk:1.8"
|
||||
BDEPEND="app-arch/unzip"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
JAVA_SRC_DIR="src"
|
||||
JAVA_GENTOO_CLASSPATH="junit-4,objenesis,hamcrest-core,ant-core"
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
unzip "${S}"/sources/${PN}-core-${PV}-sources.jar -d src/ || die
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
find "${S}" -name "*.jar" -delete || die
|
||||
}
|
Binary file not shown.
@ -1,37 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DESCRIPTION="Elixir programming language"
|
||||
HOMEPAGE="https://elixir-lang.org"
|
||||
SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0 ErlPL-1.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~sparc ~x86"
|
||||
IUSE="test"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
DEPEND="
|
||||
>=dev-lang/erlang-22:0=[ssl]
|
||||
"
|
||||
# 'mix' tool collides with sci-biology/phylip, bug #537514
|
||||
RDEPEND="${DEPEND}
|
||||
!!sci-biology/phylip
|
||||
"
|
||||
DEPEND+="
|
||||
test? ( dev-vcs/git )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.9.1-disable-network-tests.patch
|
||||
"${FILESDIR}"/${PN}-1.10.3-no-Q.patch
|
||||
"${FILESDIR}"/${PN}-1.10.3-epmd-daemon.patch
|
||||
)
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" LIBDIR="$(get_libdir)" PREFIX="${EPREFIX}/usr" install
|
||||
dodoc README.md CHANGELOG.md CODE_OF_CONDUCT.md
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue