parent
d6bd82f046
commit
754808350b
@ -1,17 +1,18 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA256
|
||||
|
||||
AUX diamond-4.0-psutil.patch 1842 SHA256 8654e35bfffdc84dbde798bf283ffd6fffc626fd8b12ae98848dae08d7bdf241 SHA512 4f59e7811df1419dcf29d231f62844de6db9e5a3f6e7600b11432d1bda994b62973172cce98d257d6ce03e940645df76dee2c3cd4fced18e960527bb23b1f1ea WHIRLPOOL 2fbee860112dc44a77999bfc1df24d5464b4c515461d3879271aaf25453bfaa070b8d32c1b8a6dac1c089f55cf17d495711e4c31f65debc613d0b642fe0e00f8
|
||||
AUX diamond.confd 57 SHA256 41941d406f48b5eca55d9146928eee185820fe27a3708d3fcaa71c3f78bf4adc SHA512 51b037902394b22f957a15ad1479ebdae5ac29384f2b7a5053ea8200bad05dc9c9060cc5c6c1a931e341e99b95327e55b06aaa9a828950533265f9c96a8dff55 WHIRLPOOL 80165d5cf5347dd3abeeec53f4df64d51f7f78445363574b2bc1b8f2fec9f1a0798c4986319dabe6d6a4b6b499c577fc8679b2fc65554107e48e3e13dac4e68b
|
||||
AUX diamond.initd 568 SHA256 99184d76c9967c1edfe12b555e7759ca8b6106d7890359e5c1e0a1c3e7016777 SHA512 e7edb84928460bcfe4ab26218b1e367c05fac08f7c0dd13ef1ff33fc627b3684b0a1d0768601968c20fd43edbea8df8917a6aede76902bd3e6e71d23f8980ca1 WHIRLPOOL 7cc69ae79165dd91943a50c1bd56ebd0e07bb71212a35488e71e91041c577991e60c9c65d145894e49914897ab6e10ee9684d418d089f73bd42ae284b45f5dfc
|
||||
DIST python-diamond-4.0.tar.gz 491433 SHA256 e84dd3c87b230d524306a07c3fc7c1db1d9796e3748025e8345a4fa18b162256 SHA512 c4a6e63bdc55f9e0ac2fbf3b644be91662635c08ecc864dfaaebf2fe62fb45609c099da63efd93ed498d2dc9e95bbcb64be09f715e21d59b30bce958a96dc56b WHIRLPOOL 2b1f6124001183058cf282d6e9c51bba0878f26308731266f2c31c549bb42db945c579b49b5a34666e0c05ccbda0163135662a11e59a482f8ef031c49c6005ba
|
||||
EBUILD diamond-4.0-r1.ebuild 2044 SHA256 c54e61949578683706bfabb87038bcee815ebcfe4d3bef89255e4016e6ea6e5d SHA512 848e0a528647583058fc2868993283ab70698f474dd8fe48ea580b2db1331c346484c6bd2f50fe5869d107664c9174dd42f18b90bfb26fb688cbe9190205397b WHIRLPOOL c56330f1f94a00f46ecbc67afaf60e2ad2ce116d511ec90d578d7bbb51f5a858c134546c3275d786541f425e2f5a666678716d1ae8b8945877ed6f7a296282b4
|
||||
EBUILD diamond-9999.ebuild 1757 SHA256 e4ad52eb7f711f02c106ed7c9fe160369e9437c6b7cc81b4fc02c7278363f833 SHA512 b789727fa044590577c37b92207f7a5ecd2ffb1a6a183711103d9149731639a5fa8103498cb9c069a39205e8d9c0119ccda0d1bda4188a9683bcf640385fc52f WHIRLPOOL 21e7c637fca0353ee52b5194a1939107d952c4c8d727559d02b5a92dc173066ac7cecd7f64bdbea1225ccb032553c3a268d55b1ca1ef89a83f2e6574b6d42454
|
||||
MISC ChangeLog 1476 SHA256 41fad7c1426d9467a766d7f33098f7ce12c5c42cace014308c3ac019a3e54732 SHA512 2b2b505f4c2d3d78391b7c4ed9d243e9b9ffb3f18179bf93684a9e1b25f7417c02d4cbb59989b2f80d01326a25e4900c8e80332f685ef09423e4deac323f7d53 WHIRLPOOL 97b28aac928f1dd43952273c9b9085aea27bf66cfe3546a2b5a8aa59b9974c384c3f4ac5d95d88f582571882bea315ed633b3917f603a3239fe23663c4e694d3
|
||||
EBUILD diamond-4.0-r1.ebuild 2134 SHA256 4541b2610295b09df735f36f8647f0a10742f4fe2aacdb6adaabb43f2b3093f6 SHA512 9a9677e09e1f5e9f7f81915a79a13ab632da82812799a7d236bae1e711d29dd179f3e300ccaf7dc02c2fc2be22dc814fe5e287f6be075525f33d647cb2eefacd WHIRLPOOL 57d9a78cbf1a2bbccd783f9c3275160b823895f5c8b82bf34f60370244f416535c423e51df12e2944f0eac344f46c6a8dc38b0a89a8f49f2abfa72b72ca07c36
|
||||
EBUILD diamond-9999.ebuild 1799 SHA256 8574ecb851ddabd81c4cdd7218b65ab4b50c6073d4cbe2e458559095464c4e1f SHA512 be5e298930213f634829e22dc442cf4f9cae7402152665a46a308b1434c8bfe4863968b0cbeb14612070308dc794c327521ae99e177189ea3a68987da02878bf WHIRLPOOL 995107e7772e45abd63e6b01749bae0868dcfcb21015576193c58ea90f15f67d43793c26454ce645dcc0d8b9fb44473e9d59921efff1f111d0a305789a60d8d2
|
||||
MISC ChangeLog 1669 SHA256 c3c0f1c7e902586b2beb10dc5cc61c430b08249babe64a8737d198f48b24ad98 SHA512 fcbf84aeb38c15657663bebf3f5a07175d477e54a450fee3316bb6fecb8bbb1faa421c81aa2831d43a5751a9463fce7a4530501ccb1da755f8eaa639bd3f6386 WHIRLPOOL ebbb5b4294a45c170862c70a98e043f47b14a2d464ef0740396005387528aeb463e68904c34454fd76b761c1dc033c5fd3f2a51c2c11388fbd61ff122199c4d6
|
||||
MISC metadata.xml 805 SHA256 18d0feacc721859705a45aed6c5598502eb855c58190869d597d968d78d4b01f SHA512 338ff1721ce92287069d31c573b2f472ae40af4823dadab610a5e82c4c834b948066c8b2b8049d6215917246f7b79c9d8e43629a497a83f31872d4d938f5f983 WHIRLPOOL 2d91a9f082073792d6486f515a0ce6752f8573a6a3cd1cd138f8b129c6be52c0a15b641934305e2ce2eed91bf64734803a3337e90b24697f694a8beece0e7c5a
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2
|
||||
|
||||
iEYEAREIAAYFAlW5JwoACgkQX3X2B8XHTolBTQCdG6Q5wvMa97j8dsuw4s+4J1u6
|
||||
uogAnAtQWjteh/ASw7LatNh+IGOW01fg
|
||||
=/J25
|
||||
iEYEAREIAAYFAlW/rBwACgkQX3X2B8XHTomM5gCeLDKlL1Vv5cOY3dyjbu/e56XW
|
||||
hFYAniutmYGK/9aQmic7bwta3CfhI+gD
|
||||
=nEyi
|
||||
-----END PGP SIGNATURE-----
|
||||
|
@ -0,0 +1,48 @@
|
||||
From 21ca284ffe6901b06e1136ce57dc07e0effd2a3e Mon Sep 17 00:00:00 2001
|
||||
From: Fabian Groffen <grobian@gentoo.org>
|
||||
Date: Mon, 3 Aug 2015 19:40:59 +0200
|
||||
Subject: [PATCH 1/2] NetworkCollector: psutil.network_io_counters was renamed
|
||||
|
||||
---
|
||||
src/collectors/network/network.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/collectors/network/network.py b/src/collectors/network/network.py
|
||||
index d835162..90c2f59 100644
|
||||
--- a/src/collectors/network/network.py
|
||||
+++ b/src/collectors/network/network.py
|
||||
@@ -96,7 +96,7 @@ def collect(self):
|
||||
self.log.error('No network metrics retrieved')
|
||||
return None
|
||||
|
||||
- network_stats = psutil.network_io_counters(True)
|
||||
+ network_stats = psutil.net_io_counters(True)
|
||||
for device in network_stats.keys():
|
||||
network_stat = network_stats[device]
|
||||
results[device] = {}
|
||||
|
||||
From 314d6057ca95bae6d3e6369556522574eb905c3f Mon Sep 17 00:00:00 2001
|
||||
From: Fabian Groffen <grobian@gentoo.org>
|
||||
Date: Mon, 3 Aug 2015 19:41:20 +0200
|
||||
Subject: [PATCH 2/2] MemoryCollector: psutil renamed phymem_usage and
|
||||
virtmem_usage
|
||||
|
||||
---
|
||||
src/collectors/memory/memory.py | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/collectors/memory/memory.py b/src/collectors/memory/memory.py
|
||||
index 7c9b1fb..9057115 100644
|
||||
--- a/src/collectors/memory/memory.py
|
||||
+++ b/src/collectors/memory/memory.py
|
||||
@@ -103,8 +103,8 @@ def collect(self):
|
||||
self.log.error('No memory metrics retrieved')
|
||||
return None
|
||||
|
||||
- phymem_usage = psutil.phymem_usage()
|
||||
- virtmem_usage = psutil.virtmem_usage()
|
||||
+ phymem_usage = psutil.virtual_memory()
|
||||
+ virtmem_usage = psutil.swap_memory()
|
||||
units = 'B'
|
||||
|
||||
for unit in self.config['byte_unit']:
|
@ -1,53 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-backup/obnam/obnam-1.7.4.ebuild,v 1.4 2015/04/08 07:30:30 mgorny Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
PYTHON_REQ_USE="threads"
|
||||
MY_P="${PN}_${PV}.orig"
|
||||
|
||||
inherit eutils distutils-r1
|
||||
|
||||
DESCRIPTION="A backup program that supports encryption and deduplication"
|
||||
HOMEPAGE="http://liw.fi/obnam/"
|
||||
SRC_URI="http://code.liw.fi/debian/pool/main/o/${PN}/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="${PYTHON_DEPS}
|
||||
dev-python/cliapp
|
||||
dev-python/fuse-python
|
||||
dev-python/larch
|
||||
<dev-python/paramiko-1.13
|
||||
dev-python/tracing
|
||||
dev-python/ttystatus
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
PATCHES=( )
|
||||
|
||||
src_compile() {
|
||||
addwrite /proc/self/comm
|
||||
distutils-r1_src_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
distutils-r1_src_install
|
||||
find "${D}" -name "obnam-viewprof*" -delete
|
||||
insinto /etc
|
||||
doins "${FILESDIR}"/obnam.conf
|
||||
keepdir /var/log/obnam
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ $REPLACING_VERSIONS < "1.2" ]]; then
|
||||
elog "You will need to setup a config file before running obnam for the first time."
|
||||
elog "For details, please see the obnam(1) manual page."
|
||||
elog "An example file has been installed as /etc/obnam.conf for your convenience."
|
||||
fi
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
--- qtlocalpeer.cpp
|
||||
+++ qtlocalpeer.cpp
|
||||
@@ -57,6 +57,7 @@
|
||||
#endif
|
||||
#if defined(Q_OS_UNIX)
|
||||
#include <time.h>
|
||||
+#include <unistd.h>
|
||||
#endif
|
||||
|
||||
namespace QtLP_Private {
|
@ -1,12 +0,0 @@
|
||||
diff -ruN kencfs-1.3.0.old/qtlocalpeer.cpp kencfs-1.3.0/qtlocalpeer.cpp
|
||||
--- kencfs-1.3.0.old/qtlocalpeer.cpp 2013-01-08 21:04:48.000000000 +0100
|
||||
+++ kencfs-1.3.0/qtlocalpeer.cpp 2014-03-10 11:03:16.909581255 +0100
|
||||
@@ -100,7 +100,7 @@
|
||||
socketName += QLatin1Char('-') + QString::number(sessionId, 16);
|
||||
}
|
||||
#else
|
||||
- socketName += QLatin1Char('-') + QString::number(QtLP_Private::getuid(), 16);
|
||||
+ socketName += QLatin1Char('-') + QString::number(::getuid(), 16);
|
||||
#endif
|
||||
|
||||
server = new QLocalServer(this);
|
@ -1,40 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-crypt/kencfs/kencfs-1.4.0.ebuild,v 1.2 2015/06/04 18:58:27 kensington Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit qt4-r2
|
||||
|
||||
DESCRIPTION="GUI frontend for encfs"
|
||||
HOMEPAGE="http://kde-apps.org/content/show.php?content=134003"
|
||||
SRC_URI="http://kde-apps.org/CONTENT/content-files/134003-${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="
|
||||
dev-qt/qtcore:4
|
||||
dev-qt/qtgui:4
|
||||
kde-base/kdelibs:4
|
||||
"
|
||||
RDEPEND="${DEPEND}
|
||||
kde-apps/kwalletd:4
|
||||
sys-fs/encfs
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-1.2-desktop.patch"
|
||||
"${FILESDIR}/${PN}-1.2-gcc-4.7.patch"
|
||||
"${FILESDIR}/${PN}-1.3.0-build-fix.patch"
|
||||
"${FILESDIR}/${PN}-1.4.0-encfs5.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
qt4-r2_src_prepare
|
||||
|
||||
sed -i ${PN}.pro -e "/^doc.path =/s/${PN}-1.3/${PF}/" \
|
||||
|| die "sed docdir failed"
|
||||
}
|
@ -1,5 +1,25 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA256
|
||||
|
||||
DIST Editra-0.7.20.tar.gz 4072243 SHA256 ed515bca58d87d9a2b3085f322a9fe7c6d1407a3b05db1434f80ea8f7e42ccc0 SHA512 e568ce2a5f04300c33223bf7a0e6fbc52d0a51c3472afb9b613fe21cfbeba0b9b453d87837e52c7c48050fc266ff5ff194a42f797053f21f0a25cd5c4579febe WHIRLPOOL ecfbc9610ba707aaad4995f9832e0f2bf2d79e56a5fadb27ae6c5b671c0f69a166c3d2d37163141789629a30fe56fbeb59c05c0203ae9201e2447ea479f52c55
|
||||
EBUILD editra-0.7.20-r1.ebuild 1346 SHA256 cb451db8d39bc56c35be645855b8841272e326d978e2fc9e9e7152637bc99ea2 SHA512 b3948912f9d1d2b83303e96148bb9c9fc55505746a755905a3bbdf99198f554fb9faaf4f88450a953688ac6d3e9edaa6bed4c018b18b72c28e49c200458760e1 WHIRLPOOL 489503e93191e91089ed971a27fa4ddfe878d7006659b557e6fe4a312509da2ffd941e9217c09e59eb5245cfa8b841154d84c47ee849dec08024fa6149b3906b
|
||||
EBUILD editra-0.7.20-r1.ebuild 1342 SHA256 355359577b4a7c23d73ec753487848d2ec3494a6f6e6895d749111a21b16ec8c SHA512 eda22decbb7d93bd10141d187c68bfe0794c3ad376e3dc1ffbdc3cc42d74401e878cf7da76ee319c2a96ae144a61a66c5fbaffe2ade769a092454c147f33459f WHIRLPOOL e16c3d5bbe4af3dc7df4024cd271160bbee775880aaffaf15806855ffb0b0e2d77131c1aa350beb2ef6e2ec0f9a222efb4434429e0dc24e8a3add6e841363ed8
|
||||
EBUILD editra-0.7.20.ebuild 1323 SHA256 e8669648078725bf8b10a310b047520f8463c4f5e7515759902eb947eb372289 SHA512 e1e6767481a33e53cb137d74b02a521fb84c6b3e7ad9ee07b987c3a50e3c67738197def42881e3ae6a5b35cc0aac6fc9cc6007073b85e81b96d82915566bb825 WHIRLPOOL 8300df525b1053f3ff364a1e7230c11e33ef23f5000439c7043f5744ad75bd9b402499687a56c7cdcd4b7553ca4c5414ef3dba8700e57e10fdc372375eb9f6a4
|
||||
MISC ChangeLog 6378 SHA256 2791d95dde7201eb76791decac88327c9103350bcf8afabd33b96212a0c20957 SHA512 5a30aebd89943ba27cd2e475200077d48652eac9940904a0f859ef998bbeefa88bab07d171e4ed8bbe0b257e23b161717225e7031fa37bb3af850ad08e9db0db WHIRLPOOL 799785893663ad1a3503af2b013e91e3139e2d11b221f7e85c02620069606443815654a71d5f000d8f8a9bf9a9242bbcb9171627705a4ec4de3fd5583d97df76
|
||||
MISC ChangeLog 6487 SHA256 a7f26d88077b85cc647dc5e91d578e21159bb8448c01d45f0a7aab37aa264fac SHA512 88004c218ca2503bc70492a32ff35a27cd0404af62cb74c4e82cae60c91b6d4aa25332c3616b0d13a411b464bda6ed52824a09f2472377ab4f4f1fbf565afe56 WHIRLPOOL 6450f53487250f3227b5c1b8a5fae99f55664d13ca9757722ae6dc888cd61fd9a0223c3663580d352ff80839826ec74d6bf492b1c152282553f5804c7fa9b992
|
||||
MISC metadata.xml 163 SHA256 f80859bf7a6a4f9003e458590a617debc14e3e1766004a67b368b327f3afc535 SHA512 3a0182534e9df7c61f18fd206b4ad6d9d9db4b9f339c5c8f13269abecc28acb674cfd4f3fadc5e8e0b4d9b52c938e29e86a3913724dc970b9ade6c2f0bbfc5b4 WHIRLPOOL c227f45d0239e047ef85bdb971666b887377a2db37727091a2e8a154d5ac7803df699db392b033ac389b9d827073e8a45f10889892688b1f080995c2c9ead032
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2
|
||||
|
||||
iQIcBAEBCAAGBQJVv2StAAoJELp701BxlEWfLHAQAKub1+aHuhpLnloampo29bRi
|
||||
D25h8f2KjwKCNYbBV1irxId76En/ZH0A7DnDMnp0tbHtTTzmSe131T5wgyYcIIai
|
||||
XhCjdp6D/uHyojRuEXm+GxAuketCxuwecQJIt0W9RXC7pMSuyTDDMhMaPWV9OEBm
|
||||
ZWklwtgGEmAxaKCxsH5/Dyc6b70bXUkAu5DeEIA1FeEtmz8uvja+2nfFUuhOZVGy
|
||||
BjmZRdN9EnGaUkDxDiyZv730sIvjRgb/naoCO0BeuE8IZzHSqLTgzX8MXKekDNCT
|
||||
Jr47GC6hdPUMT5QOL4P/uv5TjKMO+6MPNBVFncudqBhnqqv0bDAkeiOQYMzxlU3n
|
||||
0tCgTYz/r7QbWsZS1Ag82nzPEo91AB3d0xzxnTKXC70H67Ds1xSKqTS9WNhP+do0
|
||||
mMIvMaYrCOCHDU/4gJy18AZTj5hnEXyhRqnWesl1ODgvkyTShG5PQQQFmbqX8KXZ
|
||||
nQRl0fxl3IVF5KdUml5Xd7U4SwfFjvdQ4wVxt7tZ3FWkSyjW/mXNgmRCFxhHrS7i
|
||||
QTureg0vWPMNzJYtRdkQA508GTRGn69147gETHdseTYcXvppvKXcpeL7LJLdFH4Y
|
||||
kJxPMGdgs9LC4RRMi6iHFWf9keCFR2W7ZOcpQ3KP1eBYkKeT1IeyE3ChnxN6eWJX
|
||||
XdOLEo9mY10OHzkJVREB
|
||||
=vqc0
|
||||
-----END PGP SIGNATURE-----
|
||||
|
@ -0,0 +1,45 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-editors/joe/joe-4.0.ebuild,v 1.1 2015/08/03 13:20:37 polynomial-c Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils
|
||||
|
||||
DESCRIPTION="A free ASCII-Text Screen Editor for UNIX"
|
||||
HOMEPAGE="http://sourceforge.net/projects/joe-editor/"
|
||||
SRC_URI="mirror://sourceforge/joe-editor/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris"
|
||||
IUSE="xterm"
|
||||
|
||||
DEPEND=">=sys-libs/ncurses-5.2-r2"
|
||||
RDEPEND="xterm? ( >=x11-terms/xterm-239 )"
|
||||
|
||||
DOCS=( README.md NEWS.md docs/hacking.md docs/man.md )
|
||||
|
||||
src_prepare() {
|
||||
# Enable xterm mouse support in the rc files
|
||||
if use xterm; then
|
||||
cd "${S}"/rc
|
||||
for i in *rc*.in; do
|
||||
sed -e 's/^ -\(mouse\|joexterm\)/-\1/' -i "${i}" || die "sed failed"
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--docdir="/usr/share/doc/${PF}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if use xterm; then
|
||||
elog "To enable full xterm clipboard you need to set the allowWindowOps"
|
||||
elog "resources to true. This is usually found in /etc/X11/app-defaults/XTerm"
|
||||
elog "This is false by default due to potential security problems on some"
|
||||
elog "architectures (see bug #91453)."
|
||||
fi
|
||||
}
|
@ -1,15 +1,27 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA256
|
||||
Hash: SHA512
|
||||
|
||||
AUX moe-1.6-tinfo.patch 375 SHA256 a728fcb78a41007bc91f1a1fccf5dd4b5157ca8716f1ded70c2dba653406b43f SHA512 38e64527e1970f8586ae94e15295d79fdb427daa21e079c6bf6434e515285bc3de35cb7d966eecfd0cbc33b73bcc1550cdd8d29646c373e710553f26f32ced5b WHIRLPOOL 347498c69b91959e930d59ce952863b310648558150f387fd993076414fc921831e0f0b6120a24084a56eacd188ec52024912af60f9e458ce0bb67e013916219
|
||||
DIST moe-1.6.tar.lz 75108 SHA256 8cafd9c97b40ff002b4cb66f63eb149f5fd9b9b964c5b6306458d0a68f89dcb1 SHA512 0aa717c865d41f73adccddbb158ae67b611a64f24258bcce5a68fea8175d28d6db55a0fb356fb294bfe3106c0973607b1fcc76ceee17d360e30eb80650ec043b WHIRLPOOL b7e55d187185f9eccea731619f4a6c4816125b2514eec68a202d00c33efb687945f025ef45ad5c49af67719486283b35a5f4639f476f86be7c5f9d58580f31ae
|
||||
DIST moe-1.7.tar.lz 79644 SHA256 33ba66f948353c105232e9c8b2da8dc7b6ddc8cdff4beb3e3f55d78bc3acf1bb SHA512 e961291c55e5b2af09e3b5cb0d07b557b0af1f6143339390e5b06f4bdebace888f7c3866ec936bd20f25b23cc96fdfdb7bd3da6690e684ec24513b106ae53b49 WHIRLPOOL e909d66efc4a5cf7ed7d968e29ed7ed92b995fa0bdca38c4348396a1dae4b8e06968b012762f6bef3fbf0ec1dd736024ff466f649a47b9da67e67d97ae0e634c
|
||||
EBUILD moe-1.6.ebuild 802 SHA256 61cac7815cbc9b91f939eb00c9580523298e54fd3f67fc5b0314a882e1679c49 SHA512 65ba2b248e5c85ab991e410566b427ec1e678ecb98d98d730ce0cfe5459c057126eb082f41f36c8754953c5e6ebafec94219a9bb4db697fb8599f3087794b021 WHIRLPOOL a66ce6b60860e8f1ac0c955aa0033b023ed985d09c5422bc6d483fb372f7926c37b69980bd303ec7344e511faa10ab6686583c2d73ce58c4f8f72f774afed991
|
||||
MISC ChangeLog 1402 SHA256 11958f7e7459bdf688a23bc4de18792a93f7dd431688befefc53b50f9df1ba61 SHA512 6df7919c3f64b81c417e438ede4c36339c5ba30fdf746fc25b9a79f0073ec02b5d96d8eeacce54d3abc15d12ac354f2968c0101c2026b92c485c38523fe8b2a2 WHIRLPOOL 17e7653073cd23795dbcfe6e302b4a20c2694b69e87228b16238970f1d4d2be30281528f10edeb708dd7ae8fc65a876e62232684e15ef1107c97c5b26e4c577e
|
||||
EBUILD moe-1.7.ebuild 819 SHA256 0a99ced9bf3c066c717d4f4b4eee4a758cedb97e03530da503b86776c499a291 SHA512 e01f976e9e5ddf9143d369fcd382fb0247b3a7d00f1d554688b2343f2b2e789988e7b17410a2823fdab547d1e3dd2815c932f6d73d40e2bf39a784dbe6f35f34 WHIRLPOOL dee977d6b1eab8ad3ccdff659ae9813e8fe6d7c3013d973d1a6ec1af04d2f6db51f1c967db83276154bec6b19c20dfec3fe2597c09005600959f1270626cff1b
|
||||
MISC ChangeLog 1524 SHA256 fbdc36fd5d47ae734d72ade85a78c1ba914b7a9edb247dcf29919c9b96cbd0b1 SHA512 1dfafacfb89f3d5a462742f6432efe0e4cf608dd18a7b8f362550dd16a00863416919bb03e37e45a17f54936125f230602b2280f01690da688360586c9b1f660 WHIRLPOOL 240c768d873056197af41e96acab56b75e07b5bb3e511f8959b4fdea9a696f954b017b4c88bc1014d3073bf895755c05fffb6874355f2775d4c7235880de04ec
|
||||
MISC metadata.xml 327 SHA256 9ce81471fc97a3518c41227e76f281105d88b6cab340fcea51999764d5203f37 SHA512 172dca345d1dcec9a911e3d99a062179ed3c1273fe4d2b7e88489d4a6248acf66475a70734fcd205b5011a628e392fa31ef2e984009116d12d858cd82952d069 WHIRLPOOL 9ec04acebcd4281f63b08acc4e67b99533363cbb858860ada0df43d971689eb9846dd6e39fb66f93342a8be6c22143d534a5bdf07957542dde35649b0910c3cf
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2
|
||||
|
||||
iEYEAREIAAYFAlSCvHkACgkQVWmRsqeSphN7FgCfSBJQMzcpg94PtZN8tH6TThLI
|
||||
05gAnimtnv+mWJTW4n1A5T9GthuQZ2ut
|
||||
=9WM/
|
||||
iQIcBAEBCgAGBQJVv2vKAAoJEPiazRVxLXTFiBAP/0WtlRMZE1zsnJccB3BMcr41
|
||||
gbeQ1NMtH9Yzxj0YJD98MyYI20gUYsmhwVkUJecFM9NZ9oZ8pLar33nsAQ16vZiN
|
||||
9LfNX3swC9CySAECjbFsVUXg8guTzaImn7kdeWBiyudCHZaZCpCxxcu5TeARPji8
|
||||
4ZSJDtHETRIUJevp4InM2ZT+Ey8VLxR+EVWjYu0p7PqDn4fgCk+KAwKwFCNaeVe7
|
||||
0dHSy5kNxfSVrGRpoxodL/GycNG/W5udRGEMOpdqPbk0uVbaXWWgT6sD/P7KPB7V
|
||||
6bhamicMHI54F+LojlHiqnadJhiR6ho0Aq1Mx6qcW2X0Ivgn6Hmpg6Ztlv8WKUVo
|
||||
5AEm7ojfVhRWY30x+3K8KVyZVlUUpjzBrHcqHA7SBjz7nDJdHRH/Q3IYYbRVSf/d
|
||||
i+OyIyPiJUU3Et2Sx3Cv7CeHVbwNQiF3kW+9sHPbTydIGbN/xBH4Hr4G5hLkB9cP
|
||||
UP+F1buK4Y3MpEVXMepwP/RXs7IjN4HQm40sz4u4LahL8ievVH6tnGtlxp2BELvZ
|
||||
J6KohYG4xy2s2ytqqmH6Xg/kufpP1BfJshjn5gTf4p3S3T7wogoQOUBeNhX5BrNk
|
||||
NG7uNAAM3K/RNZ5ea4pEkwgYcPFML9I8h9jWFNULlKFijnaupwdKs0Wy5Cv9uDLS
|
||||
fOSsI1cMq2qrNmH5Xk0+
|
||||
=oE+x
|
||||
-----END PGP SIGNATURE-----
|
||||
|
@ -0,0 +1,37 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-editors/moe/moe-1.7.ebuild,v 1.1 2015/08/03 13:25:44 polynomial-c Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils toolchain-funcs unpacker
|
||||
|
||||
DESCRIPTION="A powerful and user-friendly console text editor"
|
||||
HOMEPAGE="http://www.gnu.org/software/moe/"
|
||||
SRC_URI="mirror://gnu/${PN}/${P}.tar.lz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
|
||||
|
||||
RDEPEND="
|
||||
sys-libs/ncurses
|
||||
"
|
||||
DEPEND="
|
||||
$(unpacker_src_uri_depends)
|
||||
${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
tc-export CXX PKG_CONFIG
|
||||
sed -i \
|
||||
-e "/^CXXFLAGS=/d" \
|
||||
-e "/^LDFLAGS=/d" \
|
||||
-e "/^CXX=/d" \
|
||||
configure || die "sed on configure failed"
|
||||
|
||||
epatch_user
|
||||
|
||||
epatch "${FILESDIR}/${PN}-1.6-tinfo.patch"
|
||||
}
|
@ -1,14 +1,26 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA256
|
||||
Hash: SHA512
|
||||
|
||||
DIST ne-2.5.tar.gz 1106020 SHA256 e11581d84ff855c3fab5c2bddc3a4633a3b28bb2ce89508e4568d3c3fc929f58 SHA512 e93b5da33565c8ef0b3263083bacec46f1867f78950e0bed940b2f18d14eb42bfa6323130eabe0f793f427a5bea5e04df6ef8e4a0276a883822b0842cbd8b5ed WHIRLPOOL 8bf3f9bd0d735bfef656713e9485a74f901c212396a691ee7faf01f4afa2918f03ec053d289e7311a7bae8b3a7d44c928cb109fefa6b1df581ae8da9c6a3d453
|
||||
DIST ne-3.0.1.tar.gz 1193311 SHA256 92b646dd2ba64052e62deaa4239373821050a03e1b7d09d203ce04f2adfbd0e4 SHA512 3750140a49c7424e92e509137d5f31d305b81d41939a2578f6a26065216ebd1aa444b0e8d7e79dd09cc525e1055cda4d756f21ec810f860063d2eec861ea8273 WHIRLPOOL e0630f7e077400393ee5734989327369f2d646c88a32313f193b34e7f44d7962b368a5deb5876cfe997e34295078b44fba1672cfb257ef3dc08a8597a5708a5b
|
||||
EBUILD ne-2.5.ebuild 1165 SHA256 1af1346b090431f659d94acc0c2539ef11cc1301245e613863289848361b6159 SHA512 2e2b99a5f65acc2d331f623a59e41c6cac354b8e8287f4e67e983e806cf4585f33b188cb49eac364f456e2975c5f2aaad3564815e6375ac9b80c46ce768d0209 WHIRLPOOL 936707f6d50ce37a78a61143ec7a967d78476e7153e5785e7a3a71c05ed4c7861a636daab7b6030a873909968d24128158bb1e7b814515cab3c2ae733ee3fac3
|
||||
MISC ChangeLog 6486 SHA256 9c4206efe689c914d1dd3e0a07915ac3aaf8db6c125c352407e300e45f89fac0 SHA512 25eb0a75481681e919cba4bd405f555e3316d3c6328cc3d9188065131379735764e58806801f09dee59f3724f3bb876eb295640288849cbb86c7dc79e708c121 WHIRLPOOL c50dc909afc2db58977d0312aa31be2805b99fc7a3a7d431db3a549d73f3ab09d8d1599c78453489d5e2b5050c54616321431e38383347c3213223bda5891862
|
||||
EBUILD ne-3.0.1.ebuild 1225 SHA256 fa37be700e35b4b73c8815609b1aa2dabc608616c3c6289857e7e4fe80152de6 SHA512 e708c820b6769ee0d27d644e19757a97ea8c4da8031ad5610863cd4cd29ba7d9a8de1a10910eb759b320f253de4e68c7dfaa6692dc3db9d005ba42146391f99f WHIRLPOOL 898756d56a45bdb7ab63cd751a4c781f2028a0f3b9abae3ae7605df552c4a67b79090226606f7e7a80472a5ac0f8d817b96dd2761657b819a48114a939669ee7
|
||||
MISC ChangeLog 6623 SHA256 d196f62f390526c00352c77e510de527cc5f301a29326f4c14f4b92a24a5da12 SHA512 5b22baf0de6591e047f9cc46624ab17bec359742b67a1c137af336987d09dbf162d24a0e3fe0efa123529950c64d406a5c85f38843f6c6dff00d21f9d4af677d WHIRLPOOL 6f420309db651efe52690da819ad1b6b2451a5ebb690d078bac7f6adb0ae9f844084547db101525dce53a2847537c005eb4275c4d977e842d20ad7574da6ad3c
|
||||
MISC metadata.xml 293 SHA256 c483be5f0624c5c4021d3ba75790cded8036a8ed1c59833b71a0d520f69403a0 SHA512 08f4f6bb9401b5320df5149c8e865b27d3cbbd6fe88d0325561b167291fae7262032a366125fdd48011f82dc0b20daf5852320e26f5205a884bb52293ff90dac WHIRLPOOL f35e33f6f0a90067da2eb979b757ee8cad98aff135188836461145fb01986ee5c748be19868c7a0a6dd24792f87d6af87206438fa8462b77589d7f0c309baa67
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2
|
||||
|
||||
iEYEAREIAAYFAlRaCfcACgkQVWmRsqeSphMlGACcDcdWTWHh6vcpo497oVJ0hIpI
|
||||
tIkAn3yaTxWUk039WnzCSr1G9c39vg9L
|
||||
=Ffa4
|
||||
iQIcBAEBCgAGBQJVv253AAoJEPiazRVxLXTFHJkQALAb0fQhoFm/vZI48Sh9xCGF
|
||||
ZGLCgjHmjrIOq/5va99mcgruQ3GFU19MpExr7NOrE4VMxsvbyfpmLVmcJVcRC4w9
|
||||
YIWTv+Xh/MNRSauwOQRd1QlmnAuYe8TKjcZqYToiQxPwjVbd3nd9dffmOfIEuJAz
|
||||
/PJgSPk8SOtREFW7NufHYB2KyEE0z2Yd1jStIpcK0bmvL1XQQ28dDrNW4WwBz8Si
|
||||
ejD8zHu1w44t1+U1UGSDxfdvFk+7RKSmNe9ezAWQ2Nxp8Yrjn0EJaN2EA+lK7HLs
|
||||
k2gbYMvN7VGO3IxOdIkrH9UnEu0rkn2459ca0UNXOTSpG1ecAEmh9+gH+KUKNuD9
|
||||
AN4Hb10OWtIip88WmYENffj5Kau1wHj8TUYR2eMMaTz/AEEAaVF3nT26PijjBSxe
|
||||
yJIBMGx6Kw7+V02wZotfcqQCCk2hFad3GIh37wFRfnJyH/7qVOv/H6XdDOLKYztQ
|
||||
eHjYAlbaDqR572H7JqFw6IZNmjyZ6eaZy9O5oAkERjWw95FaIkju+2KCCRZxVqvv
|
||||
515dVtllvT9qw5vIk49foCpceFtMal1VDH6JpbnceZW+JaGkpiuaVRXZm38WjvS4
|
||||
XKJ82Qq7HOwU3ax8nz0JFgNMnj4vcItNQsWS8BihkAc4EDisOw08dZwedaMhQIP2
|
||||
C05SKGra/5Qy/aItNXuq
|
||||
=cH+K
|
||||
-----END PGP SIGNATURE-----
|
||||
|
@ -0,0 +1,54 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-editors/ne/ne-3.0.1.ebuild,v 1.1 2015/08/03 13:37:08 polynomial-c Exp $
|
||||
|
||||
EAPI=5
|
||||
inherit eutils flag-o-matic toolchain-funcs
|
||||
|
||||
DESCRIPTION="the nice editor, easy to use for the beginner and powerful for the wizard"
|
||||
HOMEPAGE="http://ne.di.unimi.it/"
|
||||
SRC_URI="${HOMEPAGE}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
|
||||
IUSE=tinfo
|
||||
|
||||
DEPEND="
|
||||
>=sys-libs/ncurses-5.2[tinfo?]
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
dev-lang/perl
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e 's/-O3//' src/makefile || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
if use tinfo; then
|
||||
sed -i -e 's|-lcurses|-ltinfo|g' src/makefile || die
|
||||
else
|
||||
sed -i -e 's|-lcurses|-lncurses|g' src/makefile || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
append-cflags -std=c11
|
||||
emake -C src CC="$(tc-getCC)" \
|
||||
NE_GLOBAL_DIR="/usr/share/ne" \
|
||||
OPTS="${CFLAGS}" \
|
||||
ne || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin src/ne
|
||||
|
||||
insinto /usr/share/ne/syntax
|
||||
doins syntax/*.jsf
|
||||
|
||||
doman doc/ne.1
|
||||
dohtml -r doc/html/.
|
||||
dodoc CHANGES README.md NEWS doc/*.{txt,pdf,texinfo} doc/default.*
|
||||
}
|
@ -1,24 +1,26 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA256
|
||||
Hash: SHA512
|
||||
|
||||
DIST yudit-2.9.2.tar.gz 2831966 SHA256 d9bb2fbf49dbc192b33a9095a819c6ee0b62bf46839333c286371786ab1acfc9 SHA512 39bbd6f1696a97922a5db83b25b52609660ea77c7651cfde1d7189789e7d9a6298f6dd91acf17ab9d1bef1fabbdeb7bb1f9ab95a14198913c84c30154efd9e07 WHIRLPOOL cc45b5cc6f7c2f683b76cf5bad81de78938c7ac0a7bebbe98a360e52f633dded01189047fd90f2eca632c8629a2090dfdb996fbe4ca8a0a35101364e52233aa3
|
||||
DIST yudit-2.9.6.tar.gz 2797142 SHA256 ded0b47742fce92aedb6403e8e758162abc73395f9c5a3268ceb2093fbfdf906 SHA512 a9a0b6f6c44451cf2fefc4fc0bb1bbd9ffccd17c4c622dc35b08113245b3bb9f3ca949f3e7b9d2aa919ebf3840295c5e63c0297576e74a5f2d1fb99cfc97c46b WHIRLPOOL b6a0a008ce67d6c2354ea74ee03dd6316cb86f091db5497dc329363c03dc805b8ac7191103f6372e8f4780604c309d8b77365d4600992d4ded09036c0c824bb0
|
||||
EBUILD yudit-2.9.2.ebuild 882 SHA256 442b55a190736f538ba2092c2fec153945fd31a87f4075eb0b23d66268ba44c0 SHA512 bbef5d80aac4e3eb872ce1eaa8411cc17fc18067c32b0f8a18ea27c04ebda0a9758ce0cf5acb720f700b0a903dd08790d82e9d77e233c0060b3da0c3a10538a5 WHIRLPOOL 78719dd0dddb972fd232f23b76fce454e97c68664289dd43e01cef1ee684e68af61434bde65121974357a52e208f4a4f7e2c6bb4920ba49fdb4b745c4cbf197f
|
||||
MISC ChangeLog 3483 SHA256 5b1fdf2982ba4b154e86314afa39ed42bd5db63d7b03db714697ede0cc207f9f SHA512 1030aabde937d1c4a3bb48866da491bae63007812ee6f4c52c5a610a694017e861d93563130db21f869fbcab454854a82e8ffd8800101c18eaa703f026b4f769 WHIRLPOOL 229d9f5ae3e18b655d879425d6f9260e4d9a67d36b7c9430fb0157a3350324e176710815ac772ca5b21db67bddbc2e23330fc5ca3322bf3f0fdbe6f9744c176e
|
||||
EBUILD yudit-2.9.6.ebuild 723 SHA256 da15343e6700f0441579503efb52f8875c64d2c1b93729fc1a6044b5830bb3a4 SHA512 b8a896644593fd39e1b4f218550cb073bbf0c2305a4b79f57355f14e7bb74911fb81729e5e68a29d7a01c5687a871ed423b7b2db1137034040cb25874c51fa57 WHIRLPOOL 29a41384e390f3f9d5a92af91fa2133e79c4503d2ec1db2dee37ecdb8c49953c2fa090be7c3236baf99615af457252194895b9c656b336b700e83950a3e64b02
|
||||
MISC ChangeLog 3612 SHA256 6f91ff23dee296e319db8c4f3309f8130a8ce93a6c068c302f8be05beec7dd8f SHA512 c3d6941e22469b5ab140ac6df8c89592359b0caf25bdf2d7160ea79f42d46d356f6556cf98475c55273336d27fe2732f9b38359ac4051214787a3a033c924ccf WHIRLPOOL a83a88c5cc1b1e98c60f1f02496d60684efcd69834b82330a7bd407da5eac7cb4997cea539bb3a2735e22f4234adb7ec518583a6a19dbb35bc680ac855006827
|
||||
MISC metadata.xml 212 SHA256 70bbfd181623c884c763902ca127ef24c917b2e55cda0869e6ffaa6c4ebc5757 SHA512 85ac7770baae8cc7c2c52dcd077a448cfb394ec6585e274ffa01c8f92a862d22c6ba0553b71cf2ae6b6f28f6faa5c3d615537f35f9fe0da9f43a2c9043953784 WHIRLPOOL 221b2f4e9b984954eb7268028287339e8678c794c7b4e40ab2baaa037c8e87bac30c8b64473efade9b3ee1ce226aab4ad36760147eee5af7cfd7c081473c839b
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2.0.19 (GNU/Linux)
|
||||
Version: GnuPG v2
|
||||
|
||||
iQIcBAEBCAAGBQJQcX2tAAoJEDxpGckxwJCBX18QAJ7yW5+l94qcn4nLKl8SMDqZ
|
||||
xOkVskNG+6etoqFfor6+C/M+iimwqDuE+fvtGBTUH/2TwHVzQZbnjB112C/AjR6F
|
||||
b6m6HsSaAhHhA52J2TTAXjoNHt8Ip7rxsPzSV67Gu1V0tJEHIzU6QlGq3pfldvUI
|
||||
uPC+DV4IhcFTcai1+mfIgyBrzxz73oXOJuuQ1R9FWE+FQnDEDsZ66hoky9g7j2IO
|
||||
ubBsHNo3q1M80dKVl/Ipo+6s8ZPR6WxgJ/Sre+bzzDKFS7K7uIKv9Owug9j0+aLM
|
||||
qCGSOGExh9Qypc6PkuNKZuGHqC5wQrLN/JF8GmoqqcOzQBcmutcUneDM7z5MHTDS
|
||||
xSl6So8ze/RlEci0UQd6e/GT9m7tT43g4Nn1BERdHFQC5iFGoLaaFctFBlG9gzzE
|
||||
bRWv7up/QmF3324to4R+bWCa/+DvkAca7c1gWMg8NbqviqC2lILnPU4AQ52IOPnL
|
||||
uKOUn0eM3puZkHq7J4J1UflO6JK3Zclu2ys1A7HbQ5rOoBvovEp3cusntGZl6nu9
|
||||
o1Z6VypeaXMTqwcer9DnOV5T6zpFAN+XQhccKoB+aCRtu5Y19SAvezQ45mUJETiH
|
||||
vnHwu+NM8x2u26ZFRfDaIg7/QI5Mp7c7nxFAf5iD/zadrWHaaldIdxbZ34oPrjVf
|
||||
onsy7bf/QuHwE0uzg2/R
|
||||
=f2Fw
|
||||
iQIcBAEBCgAGBQJVv3EBAAoJEPiazRVxLXTFOJMQAIWUktQCbATfe777Luf7lXAx
|
||||
b9mxWz7HM9jFQFW3BNMc+wkTfd+aWfdFUmd797jjG7/GfkVuTYUGD09KM/0qkYcv
|
||||
ZDEpL8Upiv8DofDBJb3Zakgf+o6XSGzKhU4AJYz5sJ+6m2aZ1aGUrelIT3syyvh+
|
||||
EA1R/XJJUagSbbYmmdRjDhU/d3gt08aSxdZNaEUl5a5DDIC5oaoChhELOt8IVIaQ
|
||||
T3m0ofLiVANDJPu3I3axyfLCPJAn1VE8qSAUX7jJ5PzgfcsDwTkoU4lHxDICmZgx
|
||||
pn6ku2O7lZ7SiamWO7JcFBMGXgiA4MCGOhhl0OvifpKTyZxeC1SliWrq/tv6ZPid
|
||||
EUREeS6dvIaAC/hac5Ico6WsC4Y31H8YJilx1RJXD/eIXlgI5jzRRK/mdAJslcF1
|
||||
Ip9UPjO437/nxK93jfRYGamTbgiKupHaTXbtCwQ4qZKD/ezBvxSwYlkvipVQTsGF
|
||||
hjeMsuHv2Snmjcrjevai5XScRImLYlLPPwf6bCVDhJe3AjsN94CiyjmhIFZpL/Jc
|
||||
GDCUMgtLZ1S6Ib9rI5ZuUoMkEtMt4FJrHxdktjs5lHDD3pEuuCO37RkQtBXcQspi
|
||||
i4tA/KzulhOjxLEOmvESn5c2TGGMVFIsKOT+UmzFit2J3r3a/rwfbG3AKXF1Ge2A
|
||||
8UGzeKltJCNr9cueMZ+i
|
||||
=oUO/
|
||||
-----END PGP SIGNATURE-----
|
||||
|
@ -0,0 +1,27 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-editors/yudit/yudit-2.9.6.ebuild,v 1.1 2015/08/03 13:47:59 polynomial-c Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
DESCRIPTION="Free (Y)unicode text editor for all unices"
|
||||
HOMEPAGE="http://www.yudit.org/"
|
||||
SRC_URI="http://yudit.org/download/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
RDEPEND="x11-libs/libX11"
|
||||
DEPEND="${RDEPEND}
|
||||
>=sys-devel/gettext-0.10"
|
||||
|
||||
src_prepare() {
|
||||
#Don't strip binaries, let portage do that.
|
||||
sed -i "/^INSTALL_PROGRAM/s: -s::" Makefile.conf.in || die "sed failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
dodoc {BUGS,CHANGELOG,NEWS,TODO,XBUGS}.TXT
|
||||
}
|
@ -0,0 +1,82 @@
|
||||
From 5e0c290415b9d57077a86e70c8e6a058868334d3 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
Date: Wed, 15 Jul 2015 18:16:58 +0100
|
||||
Subject: [PATCH 1/7] rtl8139: avoid nested ifs in IP header parsing
|
||||
|
||||
Transmit offload needs to parse packet headers. If header fields have
|
||||
unexpected values the offload processing is skipped.
|
||||
|
||||
The code currently uses nested ifs because there is relatively little
|
||||
input validation. The next patches will add missing input validation
|
||||
and a goto label is more appropriate to avoid deep if statement nesting.
|
||||
|
||||
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
---
|
||||
hw/net/rtl8139.c | 41 ++++++++++++++++++++++-------------------
|
||||
1 file changed, 22 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c
|
||||
index 5f0197c..91ba33b 100644
|
||||
--- a/hw/net/rtl8139.c
|
||||
+++ b/hw/net/rtl8139.c
|
||||
@@ -2174,28 +2174,30 @@ static int rtl8139_cplus_transmit_one(RTL8139State *s)
|
||||
size_t eth_payload_len = 0;
|
||||
|
||||
int proto = be16_to_cpu(*(uint16_t *)(saved_buffer + 12));
|
||||
- if (proto == ETH_P_IP)
|
||||
+ if (proto != ETH_P_IP)
|
||||
{
|
||||
- DPRINTF("+++ C+ mode has IP packet\n");
|
||||
-
|
||||
- /* not aligned */
|
||||
- eth_payload_data = saved_buffer + ETH_HLEN;
|
||||
- eth_payload_len = saved_size - ETH_HLEN;
|
||||
-
|
||||
- ip = (ip_header*)eth_payload_data;
|
||||
-
|
||||
- if (IP_HEADER_VERSION(ip) != IP_HEADER_VERSION_4) {
|
||||
- DPRINTF("+++ C+ mode packet has bad IP version %d "
|
||||
- "expected %d\n", IP_HEADER_VERSION(ip),
|
||||
- IP_HEADER_VERSION_4);
|
||||
- ip = NULL;
|
||||
- } else {
|
||||
- hlen = IP_HEADER_LENGTH(ip);
|
||||
- ip_protocol = ip->ip_p;
|
||||
- ip_data_len = be16_to_cpu(ip->ip_len) - hlen;
|
||||
- }
|
||||
+ goto skip_offload;
|
||||
}
|
||||
|
||||
+ DPRINTF("+++ C+ mode has IP packet\n");
|
||||
+
|
||||
+ /* not aligned */
|
||||
+ eth_payload_data = saved_buffer + ETH_HLEN;
|
||||
+ eth_payload_len = saved_size - ETH_HLEN;
|
||||
+
|
||||
+ ip = (ip_header*)eth_payload_data;
|
||||
+
|
||||
+ if (IP_HEADER_VERSION(ip) != IP_HEADER_VERSION_4) {
|
||||
+ DPRINTF("+++ C+ mode packet has bad IP version %d "
|
||||
+ "expected %d\n", IP_HEADER_VERSION(ip),
|
||||
+ IP_HEADER_VERSION_4);
|
||||
+ goto skip_offload;
|
||||
+ }
|
||||
+
|
||||
+ hlen = IP_HEADER_LENGTH(ip);
|
||||
+ ip_protocol = ip->ip_p;
|
||||
+ ip_data_len = be16_to_cpu(ip->ip_len) - hlen;
|
||||
+
|
||||
if (ip)
|
||||
{
|
||||
if (txdw0 & CP_TX_IPCS)
|
||||
@@ -2391,6 +2393,7 @@ static int rtl8139_cplus_transmit_one(RTL8139State *s)
|
||||
}
|
||||
}
|
||||
|
||||
+skip_offload:
|
||||
/* update tally counter */
|
||||
++s->tally_counters.TxOk;
|
||||
|
||||
--
|
||||
2.1.4
|
||||
|
@ -0,0 +1,373 @@
|
||||
From 2d7d80e8dc160904fa7276cc05da26c062a50066 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
Date: Wed, 15 Jul 2015 18:16:59 +0100
|
||||
Subject: [PATCH 2/7] rtl8139: drop tautologous if (ip) {...} statement
|
||||
|
||||
The previous patch stopped using the ip pointer as an indicator that the
|
||||
IP header is present. When we reach the if (ip) {...} statement we know
|
||||
ip is always non-NULL.
|
||||
|
||||
Remove the if statement to reduce nesting.
|
||||
|
||||
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
---
|
||||
hw/net/rtl8139.c | 305 +++++++++++++++++++++++++++----------------------------
|
||||
1 file changed, 151 insertions(+), 154 deletions(-)
|
||||
|
||||
diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c
|
||||
index 91ba33b..2f12d42 100644
|
||||
--- a/hw/net/rtl8139.c
|
||||
+++ b/hw/net/rtl8139.c
|
||||
@@ -2198,198 +2198,195 @@ static int rtl8139_cplus_transmit_one(RTL8139State *s)
|
||||
ip_protocol = ip->ip_p;
|
||||
ip_data_len = be16_to_cpu(ip->ip_len) - hlen;
|
||||
|
||||
- if (ip)
|
||||
+ if (txdw0 & CP_TX_IPCS)
|
||||
{
|
||||
- if (txdw0 & CP_TX_IPCS)
|
||||
- {
|
||||
- DPRINTF("+++ C+ mode need IP checksum\n");
|
||||
+ DPRINTF("+++ C+ mode need IP checksum\n");
|
||||
|
||||
- if (hlen<sizeof(ip_header) || hlen>eth_payload_len) {/* min header length */
|
||||
- /* bad packet header len */
|
||||
- /* or packet too short */
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- ip->ip_sum = 0;
|
||||
- ip->ip_sum = ip_checksum(ip, hlen);
|
||||
- DPRINTF("+++ C+ mode IP header len=%d checksum=%04x\n",
|
||||
- hlen, ip->ip_sum);
|
||||
- }
|
||||
+ if (hlen<sizeof(ip_header) || hlen>eth_payload_len) {/* min header length */
|
||||
+ /* bad packet header len */
|
||||
+ /* or packet too short */
|
||||
}
|
||||
-
|
||||
- if ((txdw0 & CP_TX_LGSEN) && ip_protocol == IP_PROTO_TCP)
|
||||
+ else
|
||||
{
|
||||
- int large_send_mss = (txdw0 >> 16) & CP_TC_LGSEN_MSS_MASK;
|
||||
+ ip->ip_sum = 0;
|
||||
+ ip->ip_sum = ip_checksum(ip, hlen);
|
||||
+ DPRINTF("+++ C+ mode IP header len=%d checksum=%04x\n",
|
||||
+ hlen, ip->ip_sum);
|
||||
+ }
|
||||
+ }
|
||||
|
||||
- DPRINTF("+++ C+ mode offloaded task TSO MTU=%d IP data %d "
|
||||
- "frame data %d specified MSS=%d\n", ETH_MTU,
|
||||
- ip_data_len, saved_size - ETH_HLEN, large_send_mss);
|
||||
+ if ((txdw0 & CP_TX_LGSEN) && ip_protocol == IP_PROTO_TCP)
|
||||
+ {
|
||||
+ int large_send_mss = (txdw0 >> 16) & CP_TC_LGSEN_MSS_MASK;
|
||||
|
||||
- int tcp_send_offset = 0;
|
||||
- int send_count = 0;
|
||||
+ DPRINTF("+++ C+ mode offloaded task TSO MTU=%d IP data %d "
|
||||
+ "frame data %d specified MSS=%d\n", ETH_MTU,
|
||||
+ ip_data_len, saved_size - ETH_HLEN, large_send_mss);
|
||||
|
||||
- /* maximum IP header length is 60 bytes */
|
||||
- uint8_t saved_ip_header[60];
|
||||
+ int tcp_send_offset = 0;
|
||||
+ int send_count = 0;
|
||||
|
||||
- /* save IP header template; data area is used in tcp checksum calculation */
|
||||
- memcpy(saved_ip_header, eth_payload_data, hlen);
|
||||
+ /* maximum IP header length is 60 bytes */
|
||||
+ uint8_t saved_ip_header[60];
|
||||
|
||||
- /* a placeholder for checksum calculation routine in tcp case */
|
||||
- uint8_t *data_to_checksum = eth_payload_data + hlen - 12;
|
||||
- // size_t data_to_checksum_len = eth_payload_len - hlen + 12;
|
||||
+ /* save IP header template; data area is used in tcp checksum calculation */
|
||||
+ memcpy(saved_ip_header, eth_payload_data, hlen);
|
||||
|
||||
- /* pointer to TCP header */
|
||||
- tcp_header *p_tcp_hdr = (tcp_header*)(eth_payload_data + hlen);
|
||||
+ /* a placeholder for checksum calculation routine in tcp case */
|
||||
+ uint8_t *data_to_checksum = eth_payload_data + hlen - 12;
|
||||
+ // size_t data_to_checksum_len = eth_payload_len - hlen + 12;
|
||||
|
||||
- int tcp_hlen = TCP_HEADER_DATA_OFFSET(p_tcp_hdr);
|
||||
+ /* pointer to TCP header */
|
||||
+ tcp_header *p_tcp_hdr = (tcp_header*)(eth_payload_data + hlen);
|
||||
|
||||
- /* ETH_MTU = ip header len + tcp header len + payload */
|
||||
- int tcp_data_len = ip_data_len - tcp_hlen;
|
||||
- int tcp_chunk_size = ETH_MTU - hlen - tcp_hlen;
|
||||
+ int tcp_hlen = TCP_HEADER_DATA_OFFSET(p_tcp_hdr);
|
||||
|
||||
- DPRINTF("+++ C+ mode TSO IP data len %d TCP hlen %d TCP "
|
||||
- "data len %d TCP chunk size %d\n", ip_data_len,
|
||||
- tcp_hlen, tcp_data_len, tcp_chunk_size);
|
||||
+ /* ETH_MTU = ip header len + tcp header len + payload */
|
||||
+ int tcp_data_len = ip_data_len - tcp_hlen;
|
||||
+ int tcp_chunk_size = ETH_MTU - hlen - tcp_hlen;
|
||||
|
||||
- /* note the cycle below overwrites IP header data,
|
||||
- but restores it from saved_ip_header before sending packet */
|
||||
+ DPRINTF("+++ C+ mode TSO IP data len %d TCP hlen %d TCP "
|
||||
+ "data len %d TCP chunk size %d\n", ip_data_len,
|
||||
+ tcp_hlen, tcp_data_len, tcp_chunk_size);
|
||||
|
||||
- int is_last_frame = 0;
|
||||
+ /* note the cycle below overwrites IP header data,
|
||||
+ but restores it from saved_ip_header before sending packet */
|
||||
|
||||
- for (tcp_send_offset = 0; tcp_send_offset < tcp_data_len; tcp_send_offset += tcp_chunk_size)
|
||||
- {
|
||||
- uint16_t chunk_size = tcp_chunk_size;
|
||||
-
|
||||
- /* check if this is the last frame */
|
||||
- if (tcp_send_offset + tcp_chunk_size >= tcp_data_len)
|
||||
- {
|
||||
- is_last_frame = 1;
|
||||
- chunk_size = tcp_data_len - tcp_send_offset;
|
||||
- }
|
||||
-
|
||||
- DPRINTF("+++ C+ mode TSO TCP seqno %08x\n",
|
||||
- be32_to_cpu(p_tcp_hdr->th_seq));
|
||||
-
|
||||
- /* add 4 TCP pseudoheader fields */
|
||||
- /* copy IP source and destination fields */
|
||||
- memcpy(data_to_checksum, saved_ip_header + 12, 8);
|
||||
-
|
||||
- DPRINTF("+++ C+ mode TSO calculating TCP checksum for "
|
||||
- "packet with %d bytes data\n", tcp_hlen +
|
||||
- chunk_size);
|
||||
-
|
||||
- if (tcp_send_offset)
|
||||
- {
|
||||
- memcpy((uint8_t*)p_tcp_hdr + tcp_hlen, (uint8_t*)p_tcp_hdr + tcp_hlen + tcp_send_offset, chunk_size);
|
||||
- }
|
||||
-
|
||||
- /* keep PUSH and FIN flags only for the last frame */
|
||||
- if (!is_last_frame)
|
||||
- {
|
||||
- TCP_HEADER_CLEAR_FLAGS(p_tcp_hdr, TCP_FLAG_PUSH|TCP_FLAG_FIN);
|
||||
- }
|
||||
-
|
||||
- /* recalculate TCP checksum */
|
||||
- ip_pseudo_header *p_tcpip_hdr = (ip_pseudo_header *)data_to_checksum;
|
||||
- p_tcpip_hdr->zeros = 0;
|
||||
- p_tcpip_hdr->ip_proto = IP_PROTO_TCP;
|
||||
- p_tcpip_hdr->ip_payload = cpu_to_be16(tcp_hlen + chunk_size);
|
||||
-
|
||||
- p_tcp_hdr->th_sum = 0;
|
||||
-
|
||||
- int tcp_checksum = ip_checksum(data_to_checksum, tcp_hlen + chunk_size + 12);
|
||||
- DPRINTF("+++ C+ mode TSO TCP checksum %04x\n",
|
||||
- tcp_checksum);
|
||||
-
|
||||
- p_tcp_hdr->th_sum = tcp_checksum;
|
||||
-
|
||||
- /* restore IP header */
|
||||
- memcpy(eth_payload_data, saved_ip_header, hlen);
|
||||
-
|
||||
- /* set IP data length and recalculate IP checksum */
|
||||
- ip->ip_len = cpu_to_be16(hlen + tcp_hlen + chunk_size);
|
||||
-
|
||||
- /* increment IP id for subsequent frames */
|
||||
- ip->ip_id = cpu_to_be16(tcp_send_offset/tcp_chunk_size + be16_to_cpu(ip->ip_id));
|
||||
-
|
||||
- ip->ip_sum = 0;
|
||||
- ip->ip_sum = ip_checksum(eth_payload_data, hlen);
|
||||
- DPRINTF("+++ C+ mode TSO IP header len=%d "
|
||||
- "checksum=%04x\n", hlen, ip->ip_sum);
|
||||
-
|
||||
- int tso_send_size = ETH_HLEN + hlen + tcp_hlen + chunk_size;
|
||||
- DPRINTF("+++ C+ mode TSO transferring packet size "
|
||||
- "%d\n", tso_send_size);
|
||||
- rtl8139_transfer_frame(s, saved_buffer, tso_send_size,
|
||||
- 0, (uint8_t *) dot1q_buffer);
|
||||
-
|
||||
- /* add transferred count to TCP sequence number */
|
||||
- p_tcp_hdr->th_seq = cpu_to_be32(chunk_size + be32_to_cpu(p_tcp_hdr->th_seq));
|
||||
- ++send_count;
|
||||
- }
|
||||
+ int is_last_frame = 0;
|
||||
|
||||
- /* Stop sending this frame */
|
||||
- saved_size = 0;
|
||||
- }
|
||||
- else if (txdw0 & (CP_TX_TCPCS|CP_TX_UDPCS))
|
||||
+ for (tcp_send_offset = 0; tcp_send_offset < tcp_data_len; tcp_send_offset += tcp_chunk_size)
|
||||
{
|
||||
- DPRINTF("+++ C+ mode need TCP or UDP checksum\n");
|
||||
+ uint16_t chunk_size = tcp_chunk_size;
|
||||
|
||||
- /* maximum IP header length is 60 bytes */
|
||||
- uint8_t saved_ip_header[60];
|
||||
- memcpy(saved_ip_header, eth_payload_data, hlen);
|
||||
+ /* check if this is the last frame */
|
||||
+ if (tcp_send_offset + tcp_chunk_size >= tcp_data_len)
|
||||
+ {
|
||||
+ is_last_frame = 1;
|
||||
+ chunk_size = tcp_data_len - tcp_send_offset;
|
||||
+ }
|
||||
|
||||
- uint8_t *data_to_checksum = eth_payload_data + hlen - 12;
|
||||
- // size_t data_to_checksum_len = eth_payload_len - hlen + 12;
|
||||
+ DPRINTF("+++ C+ mode TSO TCP seqno %08x\n",
|
||||
+ be32_to_cpu(p_tcp_hdr->th_seq));
|
||||
|
||||
/* add 4 TCP pseudoheader fields */
|
||||
/* copy IP source and destination fields */
|
||||
memcpy(data_to_checksum, saved_ip_header + 12, 8);
|
||||
|
||||
- if ((txdw0 & CP_TX_TCPCS) && ip_protocol == IP_PROTO_TCP)
|
||||
+ DPRINTF("+++ C+ mode TSO calculating TCP checksum for "
|
||||
+ "packet with %d bytes data\n", tcp_hlen +
|
||||
+ chunk_size);
|
||||
+
|
||||
+ if (tcp_send_offset)
|
||||
{
|
||||
- DPRINTF("+++ C+ mode calculating TCP checksum for "
|
||||
- "packet with %d bytes data\n", ip_data_len);
|
||||
+ memcpy((uint8_t*)p_tcp_hdr + tcp_hlen, (uint8_t*)p_tcp_hdr + tcp_hlen + tcp_send_offset, chunk_size);
|
||||
+ }
|
||||
|
||||
- ip_pseudo_header *p_tcpip_hdr = (ip_pseudo_header *)data_to_checksum;
|
||||
- p_tcpip_hdr->zeros = 0;
|
||||
- p_tcpip_hdr->ip_proto = IP_PROTO_TCP;
|
||||
- p_tcpip_hdr->ip_payload = cpu_to_be16(ip_data_len);
|
||||
+ /* keep PUSH and FIN flags only for the last frame */
|
||||
+ if (!is_last_frame)
|
||||
+ {
|
||||
+ TCP_HEADER_CLEAR_FLAGS(p_tcp_hdr, TCP_FLAG_PUSH|TCP_FLAG_FIN);
|
||||
+ }
|
||||
|
||||
- tcp_header* p_tcp_hdr = (tcp_header *) (data_to_checksum+12);
|
||||
+ /* recalculate TCP checksum */
|
||||
+ ip_pseudo_header *p_tcpip_hdr = (ip_pseudo_header *)data_to_checksum;
|
||||
+ p_tcpip_hdr->zeros = 0;
|
||||
+ p_tcpip_hdr->ip_proto = IP_PROTO_TCP;
|
||||
+ p_tcpip_hdr->ip_payload = cpu_to_be16(tcp_hlen + chunk_size);
|
||||
|
||||
- p_tcp_hdr->th_sum = 0;
|
||||
+ p_tcp_hdr->th_sum = 0;
|
||||
|
||||
- int tcp_checksum = ip_checksum(data_to_checksum, ip_data_len + 12);
|
||||
- DPRINTF("+++ C+ mode TCP checksum %04x\n",
|
||||
- tcp_checksum);
|
||||
+ int tcp_checksum = ip_checksum(data_to_checksum, tcp_hlen + chunk_size + 12);
|
||||
+ DPRINTF("+++ C+ mode TSO TCP checksum %04x\n",
|
||||
+ tcp_checksum);
|
||||
|
||||
- p_tcp_hdr->th_sum = tcp_checksum;
|
||||
- }
|
||||
- else if ((txdw0 & CP_TX_UDPCS) && ip_protocol == IP_PROTO_UDP)
|
||||
- {
|
||||
- DPRINTF("+++ C+ mode calculating UDP checksum for "
|
||||
- "packet with %d bytes data\n", ip_data_len);
|
||||
+ p_tcp_hdr->th_sum = tcp_checksum;
|
||||
|
||||
- ip_pseudo_header *p_udpip_hdr = (ip_pseudo_header *)data_to_checksum;
|
||||
- p_udpip_hdr->zeros = 0;
|
||||
- p_udpip_hdr->ip_proto = IP_PROTO_UDP;
|
||||
- p_udpip_hdr->ip_payload = cpu_to_be16(ip_data_len);
|
||||
+ /* restore IP header */
|
||||
+ memcpy(eth_payload_data, saved_ip_header, hlen);
|
||||
|
||||
- udp_header *p_udp_hdr = (udp_header *) (data_to_checksum+12);
|
||||
+ /* set IP data length and recalculate IP checksum */
|
||||
+ ip->ip_len = cpu_to_be16(hlen + tcp_hlen + chunk_size);
|
||||
|
||||
- p_udp_hdr->uh_sum = 0;
|
||||
+ /* increment IP id for subsequent frames */
|
||||
+ ip->ip_id = cpu_to_be16(tcp_send_offset/tcp_chunk_size + be16_to_cpu(ip->ip_id));
|
||||
|
||||
- int udp_checksum = ip_checksum(data_to_checksum, ip_data_len + 12);
|
||||
- DPRINTF("+++ C+ mode UDP checksum %04x\n",
|
||||
- udp_checksum);
|
||||
+ ip->ip_sum = 0;
|
||||
+ ip->ip_sum = ip_checksum(eth_payload_data, hlen);
|
||||
+ DPRINTF("+++ C+ mode TSO IP header len=%d "
|
||||
+ "checksum=%04x\n", hlen, ip->ip_sum);
|
||||
|
||||
- p_udp_hdr->uh_sum = udp_checksum;
|
||||
- }
|
||||
+ int tso_send_size = ETH_HLEN + hlen + tcp_hlen + chunk_size;
|
||||
+ DPRINTF("+++ C+ mode TSO transferring packet size "
|
||||
+ "%d\n", tso_send_size);
|
||||
+ rtl8139_transfer_frame(s, saved_buffer, tso_send_size,
|
||||
+ 0, (uint8_t *) dot1q_buffer);
|
||||
|
||||
- /* restore IP header */
|
||||
- memcpy(eth_payload_data, saved_ip_header, hlen);
|
||||
+ /* add transferred count to TCP sequence number */
|
||||
+ p_tcp_hdr->th_seq = cpu_to_be32(chunk_size + be32_to_cpu(p_tcp_hdr->th_seq));
|
||||
+ ++send_count;
|
||||
}
|
||||
+
|
||||
+ /* Stop sending this frame */
|
||||
+ saved_size = 0;
|
||||
+ }
|
||||
+ else if (txdw0 & (CP_TX_TCPCS|CP_TX_UDPCS))
|
||||
+ {
|
||||
+ DPRINTF("+++ C+ mode need TCP or UDP checksum\n");
|
||||
+
|
||||
+ /* maximum IP header length is 60 bytes */
|
||||
+ uint8_t saved_ip_header[60];
|
||||
+ memcpy(saved_ip_header, eth_payload_data, hlen);
|
||||
+
|
||||
+ uint8_t *data_to_checksum = eth_payload_data + hlen - 12;
|
||||
+ // size_t data_to_checksum_len = eth_payload_len - hlen + 12;
|
||||
+
|
||||
+ /* add 4 TCP pseudoheader fields */
|
||||
+ /* copy IP source and destination fields */
|
||||
+ memcpy(data_to_checksum, saved_ip_header + 12, 8);
|
||||
+
|
||||
+ if ((txdw0 & CP_TX_TCPCS) && ip_protocol == IP_PROTO_TCP)
|
||||
+ {
|
||||
+ DPRINTF("+++ C+ mode calculating TCP checksum for "
|
||||
+ "packet with %d bytes data\n", ip_data_len);
|
||||
+
|
||||
+ ip_pseudo_header *p_tcpip_hdr = (ip_pseudo_header *)data_to_checksum;
|
||||
+ p_tcpip_hdr->zeros = 0;
|
||||
+ p_tcpip_hdr->ip_proto = IP_PROTO_TCP;
|
||||
+ p_tcpip_hdr->ip_payload = cpu_to_be16(ip_data_len);
|
||||
+
|
||||
+ tcp_header* p_tcp_hdr = (tcp_header *) (data_to_checksum+12);
|
||||
+
|
||||
+ p_tcp_hdr->th_sum = 0;
|
||||
+
|
||||
+ int tcp_checksum = ip_checksum(data_to_checksum, ip_data_len + 12);
|
||||
+ DPRINTF("+++ C+ mode TCP checksum %04x\n",
|
||||
+ tcp_checksum);
|
||||
+
|
||||
+ p_tcp_hdr->th_sum = tcp_checksum;
|
||||
+ }
|
||||
+ else if ((txdw0 & CP_TX_UDPCS) && ip_protocol == IP_PROTO_UDP)
|
||||
+ {
|
||||
+ DPRINTF("+++ C+ mode calculating UDP checksum for "
|
||||
+ "packet with %d bytes data\n", ip_data_len);
|
||||
+
|
||||
+ ip_pseudo_header *p_udpip_hdr = (ip_pseudo_header *)data_to_checksum;
|
||||
+ p_udpip_hdr->zeros = 0;
|
||||
+ p_udpip_hdr->ip_proto = IP_PROTO_UDP;
|
||||
+ p_udpip_hdr->ip_payload = cpu_to_be16(ip_data_len);
|
||||
+
|
||||
+ udp_header *p_udp_hdr = (udp_header *) (data_to_checksum+12);
|
||||
+
|
||||
+ p_udp_hdr->uh_sum = 0;
|
||||
+
|
||||
+ int udp_checksum = ip_checksum(data_to_checksum, ip_data_len + 12);
|
||||
+ DPRINTF("+++ C+ mode UDP checksum %04x\n",
|
||||
+ udp_checksum);
|
||||
+
|
||||
+ p_udp_hdr->uh_sum = udp_checksum;
|
||||
+ }
|
||||
+
|
||||
+ /* restore IP header */
|
||||
+ memcpy(eth_payload_data, saved_ip_header, hlen);
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.1.4
|
||||
|
@ -0,0 +1,39 @@
|
||||
From 043d28507ef7c5fdc34866f5e3b27a72bd0cd072 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
Date: Wed, 15 Jul 2015 18:17:00 +0100
|
||||
Subject: [PATCH 3/7] rtl8139: skip offload on short Ethernet/IP header
|
||||
|
||||
Transmit offload features access Ethernet and IP headers the packet. If
|
||||
the packet is too short we must not attempt to access header fields:
|
||||
|
||||
int proto = be16_to_cpu(*(uint16_t *)(saved_buffer + 12));
|
||||
...
|
||||
eth_payload_data = saved_buffer + ETH_HLEN;
|
||||
...
|
||||
ip = (ip_header*)eth_payload_data;
|
||||
if (IP_HEADER_VERSION(ip) != IP_HEADER_VERSION_4) {
|
||||
|
||||
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
---
|
||||
hw/net/rtl8139.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c
|
||||
index 2f12d42..d377b6b 100644
|
||||
--- a/hw/net/rtl8139.c
|
||||
+++ b/hw/net/rtl8139.c
|
||||
@@ -2164,6 +2164,11 @@ static int rtl8139_cplus_transmit_one(RTL8139State *s)
|
||||
{
|
||||
DPRINTF("+++ C+ mode offloaded task checksum\n");
|
||||
|
||||
+ /* Large enough for Ethernet and IP headers? */
|
||||
+ if (saved_size < ETH_HLEN + sizeof(ip_header)) {
|
||||
+ goto skip_offload;
|
||||
+ }
|
||||
+
|
||||
/* ip packet header */
|
||||
ip_header *ip = NULL;
|
||||
int hlen = 0;
|
||||
--
|
||||
2.1.4
|
||||
|
@ -0,0 +1,53 @@
|
||||
From 5a75d242fe019d05b46ef9bc330a6892525c84a7 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
Date: Wed, 15 Jul 2015 18:17:01 +0100
|
||||
Subject: [PATCH 4/7] rtl8139: check IP Header Length field
|
||||
|
||||
The IP Header Length field was only checked in the IP checksum case, but
|
||||
is used in other cases too.
|
||||
|
||||
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
---
|
||||
hw/net/rtl8139.c | 19 ++++++++-----------
|
||||
1 file changed, 8 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c
|
||||
index d377b6b..cd5ac05 100644
|
||||
--- a/hw/net/rtl8139.c
|
||||
+++ b/hw/net/rtl8139.c
|
||||
@@ -2200,6 +2200,10 @@ static int rtl8139_cplus_transmit_one(RTL8139State *s)
|
||||
}
|
||||
|
||||
hlen = IP_HEADER_LENGTH(ip);
|
||||
+ if (hlen < sizeof(ip_header) || hlen > eth_payload_len) {
|
||||
+ goto skip_offload;
|
||||
+ }
|
||||
+
|
||||
ip_protocol = ip->ip_p;
|
||||
ip_data_len = be16_to_cpu(ip->ip_len) - hlen;
|
||||
|
||||
@@ -2207,17 +2211,10 @@ static int rtl8139_cplus_transmit_one(RTL8139State *s)
|
||||
{
|
||||
DPRINTF("+++ C+ mode need IP checksum\n");
|
||||
|
||||
- if (hlen<sizeof(ip_header) || hlen>eth_payload_len) {/* min header length */
|
||||
- /* bad packet header len */
|
||||
- /* or packet too short */
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- ip->ip_sum = 0;
|
||||
- ip->ip_sum = ip_checksum(ip, hlen);
|
||||
- DPRINTF("+++ C+ mode IP header len=%d checksum=%04x\n",
|
||||
- hlen, ip->ip_sum);
|
||||
- }
|
||||
+ ip->ip_sum = 0;
|
||||
+ ip->ip_sum = ip_checksum(ip, hlen);
|
||||
+ DPRINTF("+++ C+ mode IP header len=%d checksum=%04x\n",
|
||||
+ hlen, ip->ip_sum);
|
||||
}
|
||||
|
||||
if ((txdw0 & CP_TX_LGSEN) && ip_protocol == IP_PROTO_TCP)
|
||||
--
|
||||
2.1.4
|
||||
|
@ -0,0 +1,34 @@
|
||||
From 6c79ea275d72bc1fd88bdcf1e7d231b2c9c865de Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
Date: Wed, 15 Jul 2015 18:17:02 +0100
|
||||
Subject: [PATCH 5/7] rtl8139: check IP Total Length field
|
||||
|
||||
The IP Total Length field includes the IP header and data. Make sure it
|
||||
is valid and does not exceed the Ethernet payload size.
|
||||
|
||||
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
---
|
||||
hw/net/rtl8139.c | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c
|
||||
index cd5ac05..ed2b23b 100644
|
||||
--- a/hw/net/rtl8139.c
|
||||
+++ b/hw/net/rtl8139.c
|
||||
@@ -2205,7 +2205,12 @@ static int rtl8139_cplus_transmit_one(RTL8139State *s)
|
||||
}
|
||||
|
||||
ip_protocol = ip->ip_p;
|
||||
- ip_data_len = be16_to_cpu(ip->ip_len) - hlen;
|
||||
+
|
||||
+ ip_data_len = be16_to_cpu(ip->ip_len);
|
||||
+ if (ip_data_len < hlen || ip_data_len > eth_payload_len) {
|
||||
+ goto skip_offload;
|
||||
+ }
|
||||
+ ip_data_len -= hlen;
|
||||
|
||||
if (txdw0 & CP_TX_IPCS)
|
||||
{
|
||||
--
|
||||
2.1.4
|
||||
|
@ -0,0 +1,35 @@
|
||||
From 30aa7be430e7c982e9163f3bcc745d3aa57b6aa4 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
Date: Wed, 15 Jul 2015 18:17:03 +0100
|
||||
Subject: [PATCH 6/7] rtl8139: skip offload on short TCP header
|
||||
|
||||
TCP Large Segment Offload accesses the TCP header in the packet. If the
|
||||
packet is too short we must not attempt to access header fields:
|
||||
|
||||
tcp_header *p_tcp_hdr = (tcp_header*)(eth_payload_data + hlen);
|
||||
int tcp_hlen = TCP_HEADER_DATA_OFFSET(p_tcp_hdr);
|
||||
|
||||
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
---
|
||||
hw/net/rtl8139.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c
|
||||
index ed2b23b..c8f0df9 100644
|
||||
--- a/hw/net/rtl8139.c
|
||||
+++ b/hw/net/rtl8139.c
|
||||
@@ -2224,6 +2224,11 @@ static int rtl8139_cplus_transmit_one(RTL8139State *s)
|
||||
|
||||
if ((txdw0 & CP_TX_LGSEN) && ip_protocol == IP_PROTO_TCP)
|
||||
{
|
||||
+ /* Large enough for the TCP header? */
|
||||
+ if (ip_data_len < sizeof(tcp_header)) {
|
||||
+ goto skip_offload;
|
||||
+ }
|
||||
+
|
||||
int large_send_mss = (txdw0 >> 16) & CP_TC_LGSEN_MSS_MASK;
|
||||
|
||||
DPRINTF("+++ C+ mode offloaded task TSO MTU=%d IP data %d "
|
||||
--
|
||||
2.1.4
|
||||
|
@ -0,0 +1,32 @@
|
||||
From 9a084807bf6ca7c16d997a236d304111894a6539 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
Date: Wed, 15 Jul 2015 18:17:04 +0100
|
||||
Subject: [PATCH 7/7] rtl8139: check TCP Data Offset field
|
||||
|
||||
The TCP Data Offset field contains the length of the header. Make sure
|
||||
it is valid and does not exceed the IP data length.
|
||||
|
||||
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
|
||||
---
|
||||
hw/net/rtl8139.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c
|
||||
index c8f0df9..2df4a51 100644
|
||||
--- a/hw/net/rtl8139.c
|
||||
+++ b/hw/net/rtl8139.c
|
||||
@@ -2253,6 +2253,11 @@ static int rtl8139_cplus_transmit_one(RTL8139State *s)
|
||||
|
||||
int tcp_hlen = TCP_HEADER_DATA_OFFSET(p_tcp_hdr);
|
||||
|
||||
+ /* Invalid TCP data offset? */
|
||||
+ if (tcp_hlen < sizeof(tcp_header) || tcp_hlen > ip_data_len) {
|
||||
+ goto skip_offload;
|
||||
+ }
|
||||
+
|
||||
/* ETH_MTU = ip header len + tcp header len + payload */
|
||||
int tcp_data_len = ip_data_len - tcp_hlen;
|
||||
int tcp_chunk_size = ETH_MTU - hlen - tcp_hlen;
|
||||
--
|
||||
2.1.4
|
||||
|
@ -0,0 +1,36 @@
|
||||
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
|
||||
|
||||
Fix release_drive on unplugged devices (pci_piix3_xen_ide_unplug)
|
||||
|
||||
pci_piix3_xen_ide_unplug should completely unhook the unplugged
|
||||
IDEDevice from the corresponding BlockBackend, otherwise the next call
|
||||
to release_drive will try to detach the drive again.
|
||||
|
||||
Suggested-by: Kevin Wolf <kwolf@redhat.com>
|
||||
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
|
||||
|
||||
diff --git a/hw/ide/piix.c b/hw/ide/piix.c
|
||||
index adb6649..5a26c86 100644
|
||||
--- a/hw/ide/piix.c
|
||||
+++ b/hw/ide/piix.c
|
||||
@@ -169,6 +169,7 @@ int pci_piix3_xen_ide_unplug(DeviceState *dev)
|
||||
PCIIDEState *pci_ide;
|
||||
DriveInfo *di;
|
||||
int i;
|
||||
+ IDEDevice *idedev;
|
||||
|
||||
pci_ide = PCI_IDE(dev);
|
||||
|
||||
@@ -181,6 +182,12 @@ int pci_piix3_xen_ide_unplug(DeviceState *dev)
|
||||
blk_detach_dev(blk, ds);
|
||||
}
|
||||
pci_ide->bus[di->bus].ifs[di->unit].blk = NULL;
|
||||
+ if (!(i % 2)) {
|
||||
+ idedev = pci_ide->bus[di->bus].master;
|
||||
+ } else {
|
||||
+ idedev = pci_ide->bus[di->bus].slave;
|
||||
+ }
|
||||
+ idedev->conf.blk = NULL;
|
||||
blk_unref(blk);
|
||||
}
|
||||
}
|
@ -1,604 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/qemu-2.2.1-r2.ebuild,v 1.3 2015/05/14 07:09:58 ago Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
|
||||
user udev fcaps readme.gentoo pax-utils
|
||||
|
||||
BACKPORTS=
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="git://git.qemu.org/qemu.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
KEYWORDS=""
|
||||
else
|
||||
SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2
|
||||
${BACKPORTS:+
|
||||
http://dev.gentoo.org/~cardoe/distfiles/${P}-${BACKPORTS}.tar.xz}"
|
||||
KEYWORDS="amd64 ~ppc ~ppc64 x86 ~x86-fbsd"
|
||||
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 bluetooth +caps +curl debug +fdt glusterfs \
|
||||
gtk infiniband iscsi +jpeg \
|
||||
kernel_linux kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs
|
||||
+png pulseaudio python \
|
||||
rbd sasl +seccomp sdl selinux smartcard snappy spice ssh static static-softmmu \
|
||||
static-user systemtap tci test +threads tls usb usbredir +uuid vde +vhost-net \
|
||||
virtfs +vnc xattr xen xfs"
|
||||
|
||||
COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel mips
|
||||
mips64 mips64el mipsel or32 ppc ppc64 s390x sh4 sh4eb sparc sparc64 unicore32
|
||||
x86_64"
|
||||
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb xtensa xtensaeb"
|
||||
IUSE_USER_TARGETS="${COMMON_TARGETS} armeb mipsn32 mipsn32el ppc64abi32 sparc32plus"
|
||||
|
||||
use_targets="
|
||||
$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
|
||||
$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
|
||||
"
|
||||
IUSE+=" ${use_targets}"
|
||||
|
||||
# Require at least one softmmu or user target.
|
||||
# Block USE flag configurations known to not work.
|
||||
REQUIRED_USE="|| ( ${use_targets} )
|
||||
${PYTHON_REQUIRED_USE}
|
||||
qemu_softmmu_targets_arm? ( fdt )
|
||||
qemu_softmmu_targets_microblaze? ( fdt )
|
||||
qemu_softmmu_targets_ppc? ( fdt )
|
||||
qemu_softmmu_targets_ppc64? ( fdt )
|
||||
static? ( static-softmmu static-user )
|
||||
static-softmmu? ( !alsa !pulseaudio !bluetooth !opengl !gtk )
|
||||
virtfs? ( xattr )"
|
||||
|
||||
# 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 extranl library.
|
||||
COMMON_LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
xattr? ( sys-apps/attr[static-libs(+)] )"
|
||||
SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND}
|
||||
>=x11-libs/pixman-0.28.0[static-libs(+)]
|
||||
aio? ( dev-libs/libaio[static-libs(+)] )
|
||||
caps? ( sys-libs/libcap-ng[static-libs(+)] )
|
||||
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
|
||||
fdt? ( >=sys-apps/dtc-1.4.0[static-libs(+)] )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
|
||||
infiniband? ( sys-infiniband/librdmacm:=[static-libs(+)] )
|
||||
jpeg? ( virtual/jpeg:=[static-libs(+)] )
|
||||
lzo? ( dev-libs/lzo:2[static-libs(+)] )
|
||||
ncurses? ( sys-libs/ncurses[static-libs(+)] )
|
||||
nfs? ( >=net-fs/libnfs-1.9.3[static-libs(+)] )
|
||||
numa? ( sys-process/numactl[static-libs(+)] )
|
||||
png? ( media-libs/libpng:0=[static-libs(+)] )
|
||||
rbd? ( sys-cluster/ceph[static-libs(+)] )
|
||||
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
|
||||
sdl? ( >=media-libs/libsdl-1.2.11[static-libs(+)] )
|
||||
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
|
||||
snappy? ( app-arch/snappy[static-libs(+)] )
|
||||
spice? ( >=app-emulation/spice-0.12.0[static-libs(+)] )
|
||||
ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] )
|
||||
tls? ( net-libs/gnutls[static-libs(+)] )
|
||||
usb? ( >=dev-libs/libusb-1.0.18[static-libs(+)] )
|
||||
uuid? ( >=sys-apps/util-linux-2.16.0[static-libs(+)] )
|
||||
vde? ( net-misc/vde[static-libs(+)] )
|
||||
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
|
||||
USER_LIB_DEPEND="${COMMON_LIB_DEPEND}"
|
||||
X86_FIRMWARE_DEPEND="
|
||||
>=sys-firmware/ipxe-1.0.0_p20130624
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/seabios-1.7.5
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
~sys-firmware/vgabios-0.7a
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
sys-firmware/seabios
|
||||
sys-firmware/sgabios
|
||||
sys-firmware/vgabios
|
||||
)"
|
||||
CDEPEND="!static-softmmu? ( ${SOFTMMU_LIB_DEPEND//\[static-libs(+)]} )
|
||||
!static-user? ( ${USER_LIB_DEPEND//\[static-libs(+)]} )
|
||||
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
|
||||
accessibility? ( app-accessibility/brltty )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
gtk? (
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/vte:2.90
|
||||
)
|
||||
iscsi? ( net-libs/libiscsi )
|
||||
opengl? ( virtual/opengl )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
sdl? ( media-libs/libsdl[X] )
|
||||
smartcard? ( dev-libs/nss !app-emulation/libcacard )
|
||||
spice? ( >=app-emulation/spice-protocol-0.12.3 )
|
||||
systemtap? ( dev-util/systemtap )
|
||||
usbredir? ( >=sys-apps/usbredir-0.6 )
|
||||
virtfs? ( sys-libs/libcap )
|
||||
xen? ( app-emulation/xen-tools )"
|
||||
DEPEND="${CDEPEND}
|
||||
dev-lang/perl
|
||||
=dev-lang/python-2*
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||
gtk? ( nls? ( sys-devel/gettext ) )
|
||||
static-softmmu? ( ${SOFTMMU_LIB_DEPEND} )
|
||||
static-user? ( ${USER_LIB_DEPEND} )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)"
|
||||
RDEPEND="${CDEPEND}
|
||||
selinux? ( sec-policy/selinux-qemu )
|
||||
"
|
||||
|
||||
STRIP_MASK="/usr/share/qemu/palcode-clipper"
|
||||
|
||||
QA_PREBUILT="
|
||||
usr/share/qemu/openbios-ppc
|
||||
usr/share/qemu/openbios-sparc64
|
||||
usr/share/qemu/openbios-sparc32
|
||||
usr/share/qemu/palcode-clipper
|
||||
usr/share/qemu/s390-ccw.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-or32
|
||||
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.\n
|
||||
For AMD CPUs the module is called 'kvm-amd'\n
|
||||
For Intel CPUs the module is called 'kvm-intel'\n
|
||||
Please review /etc/conf.d/modules for how to load these\n\n
|
||||
Make sure your user is in the 'kvm' group\n
|
||||
Just run 'gpasswd -a <USER> kvm', then have <USER> re-login."
|
||||
|
||||
qemu_support_kvm() {
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 \
|
||||
use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64 \
|
||||
use qemu_softmmu_targets_s390x; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
if use kernel_linux && kernel_is lt 2 6 25; then
|
||||
eerror "This version of KVM requres 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
|
||||
CONFIG_CHECK+=" ~KVM_AMD ~KVM_INTEL"
|
||||
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
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup kvm 78
|
||||
python_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Alter target makefiles to accept CFLAGS set via flag-o
|
||||
sed -i -r \
|
||||
-e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \
|
||||
Makefile Makefile.target || die
|
||||
|
||||
# Cheap hack to disable gettext .mo generation.
|
||||
use nls || rm -f po/*.po
|
||||
|
||||
epatch "${FILESDIR}"/qemu-1.7.0-cflags.patch
|
||||
epatch "${FILESDIR}"/${P}-CVE-2015-1779-1.patch #544328
|
||||
epatch "${FILESDIR}"/${P}-CVE-2015-1779-2.patch #544328
|
||||
epatch "${FILESDIR}"/${PN}-2.3.0-CVE-2015-3456.patch #549404
|
||||
[[ -n ${BACKPORTS} ]] && \
|
||||
EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \
|
||||
epatch
|
||||
|
||||
# Fix ld and objcopy being called directly
|
||||
tc-export AR LD OBJCOPY
|
||||
|
||||
# Verbose builds
|
||||
MAKEOPTS+=" V=1"
|
||||
|
||||
epatch_user
|
||||
}
|
||||
|
||||
##
|
||||
# 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=$2
|
||||
local static_flag="static-${buildtype}"
|
||||
|
||||
# audio options
|
||||
local audio_opts="oss"
|
||||
use alsa && audio_opts="alsa,${audio_opts}"
|
||||
use sdl && audio_opts="sdl,${audio_opts}"
|
||||
use pulseaudio && audio_opts="pa,${audio_opts}"
|
||||
|
||||
local conf_opts=(
|
||||
--prefix=/usr
|
||||
--sysconfdir=/etc
|
||||
--libdir=/usr/$(get_libdir)
|
||||
--docdir=/usr/share/doc/${PF}/html
|
||||
--disable-bsd-user
|
||||
--disable-guest-agent
|
||||
--disable-strip
|
||||
--disable-werror
|
||||
--python="${PYTHON}"
|
||||
--cc="$(tc-getCC)"
|
||||
--cxx="$(tc-getCXX)"
|
||||
--host-cc="$(tc-getBUILD_CC)"
|
||||
$(use_enable debug debug-info)
|
||||
$(use_enable debug debug-tcg)
|
||||
--enable-docs
|
||||
$(use_enable tci tcg-interpreter)
|
||||
$(use_enable xattr attr)
|
||||
)
|
||||
|
||||
# Disable options not used by user targets as the default configure
|
||||
# options will autoprobe and try to link in a bunch of unused junk.
|
||||
conf_softmmu() {
|
||||
if [[ ${buildtype} == "user" ]] ; then
|
||||
echo "--disable-${2:-$1}"
|
||||
else
|
||||
use_enable "$@"
|
||||
fi
|
||||
}
|
||||
conf_opts+=(
|
||||
$(conf_softmmu accessibility brlapi)
|
||||
$(conf_softmmu aio linux-aio)
|
||||
$(conf_softmmu bluetooth bluez)
|
||||
$(conf_softmmu caps cap-ng)
|
||||
$(conf_softmmu curl)
|
||||
$(conf_softmmu fdt)
|
||||
$(conf_softmmu glusterfs)
|
||||
$(conf_softmmu gtk)
|
||||
$(conf_softmmu infiniband rdma)
|
||||
$(conf_softmmu iscsi libiscsi)
|
||||
$(conf_softmmu jpeg vnc-jpeg)
|
||||
$(conf_softmmu kernel_linux kvm)
|
||||
$(conf_softmmu lzo)
|
||||
$(conf_softmmu ncurses curses)
|
||||
$(conf_softmmu nfs libnfs)
|
||||
$(conf_softmmu numa)
|
||||
$(conf_softmmu opengl glx)
|
||||
$(conf_softmmu png vnc-png)
|
||||
$(conf_softmmu rbd)
|
||||
$(conf_softmmu sasl vnc-sasl)
|
||||
$(conf_softmmu sdl)
|
||||
$(conf_softmmu seccomp)
|
||||
$(conf_softmmu smartcard smartcard-nss)
|
||||
$(conf_softmmu snappy)
|
||||
$(conf_softmmu spice)
|
||||
$(conf_softmmu ssh libssh2)
|
||||
$(conf_softmmu tls quorum)
|
||||
$(conf_softmmu tls vnc-tls)
|
||||
$(conf_softmmu tls vnc-ws)
|
||||
$(conf_softmmu usb libusb)
|
||||
$(conf_softmmu usbredir usb-redir)
|
||||
$(conf_softmmu uuid)
|
||||
$(conf_softmmu vde)
|
||||
$(conf_softmmu vhost-net)
|
||||
$(conf_softmmu virtfs)
|
||||
$(conf_softmmu vnc)
|
||||
$(conf_softmmu xen)
|
||||
$(conf_softmmu xen xen-pci-passthrough)
|
||||
$(conf_softmmu xfs xfsctl)
|
||||
)
|
||||
|
||||
case ${buildtype} in
|
||||
user)
|
||||
conf_opts+=(
|
||||
--enable-linux-user
|
||||
--disable-system
|
||||
--target-list="${user_targets}"
|
||||
--disable-blobs
|
||||
--disable-tools
|
||||
)
|
||||
;;
|
||||
softmmu)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--enable-system
|
||||
--target-list="${softmmu_targets}"
|
||||
--with-system-pixman
|
||||
--audio-drv-list="${audio_opts}"
|
||||
)
|
||||
use gtk && conf_opts+=( --with-gtkabi=3.0 )
|
||||
;;
|
||||
esac
|
||||
|
||||
# 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
|
||||
gcc-specs-pie && conf_opts+=( --enable-pie )
|
||||
fi
|
||||
|
||||
einfo "../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_export_best
|
||||
|
||||
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
|
||||
|
||||
[[ -n ${softmmu_targets} ]] && \
|
||||
einfo "Building the following softmmu targets: ${softmmu_targets}"
|
||||
|
||||
[[ -n ${user_targets} ]] && \
|
||||
einfo "Building the following user targets: ${user_targets}"
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
mkdir "${S}/softmmu-build"
|
||||
qemu_src_configure "softmmu" "${S}/softmmu-build"
|
||||
fi
|
||||
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
mkdir "${S}/user-build"
|
||||
qemu_src_configure "user" "${S}/user-build"
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
default
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
pax-mark m */qemu-system-* #515550
|
||||
emake -j1 check
|
||||
emake -j1 check-report.html
|
||||
fi
|
||||
}
|
||||
|
||||
qemu_python_install() {
|
||||
python_domodule "${S}/scripts/qmp/qmp.py"
|
||||
|
||||
python_doscript "${S}/scripts/kvm/kvm_stat"
|
||||
python_doscript "${S}/scripts/kvm/vmxcap"
|
||||
python_doscript "${S}/scripts/qmp/qmp-shell"
|
||||
python_doscript "${S}/scripts/qmp/qemu-ga-client"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# Install binfmt handler init script for user targets
|
||||
newinitd "${FILESDIR}/qemu-binfmt.initd-r1" qemu-binfmt
|
||||
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 ]] && dohtml check-report.html
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_dorules "${FILESDIR}"/65-kvm.rules
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
|
||||
pushd "${ED}"/usr/bin >/dev/null
|
||||
pax-mark m "${softmmu_bins[@]}" "${user_bins[@]}"
|
||||
popd >/dev/null
|
||||
|
||||
# Install config file example for qemu-bridge-helper
|
||||
insinto "/etc/qemu"
|
||||
doins "${FILESDIR}/bridge.conf"
|
||||
|
||||
# Remove the docdir placed qmp-commands.txt
|
||||
mv "${ED}/usr/share/doc/${PF}/html/qmp-commands.txt" "${S}/docs/qmp/"
|
||||
|
||||
cd "${S}"
|
||||
dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt
|
||||
newdoc pc-bios/README README.pc-bios
|
||||
dodoc docs/qmp/*.txt
|
||||
|
||||
# Remove SeaBIOS since we're using the SeaBIOS packaged one
|
||||
rm "${ED}/usr/share/qemu/bios.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
|
||||
fi
|
||||
|
||||
# Remove vgabios since we're using the vgabios packaged one
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
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-vmware.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../vgabios/vgabios.bin /usr/share/qemu/vgabios.bin
|
||||
dosym ../vgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
|
||||
dosym ../vgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
|
||||
dosym ../vgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
|
||||
dosym ../vgabios/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
|
||||
|
||||
qemu_support_kvm && readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if qemu_support_kvm; then
|
||||
readme.gentoo_print_elog
|
||||
ewarn "Migration from qemu-kvm instances and loading qemu-kvm created"
|
||||
ewarn "save states has been removed starting with the 1.6.2 release"
|
||||
ewarn
|
||||
ewarn "It is recommended that you migrate any VMs that may be running"
|
||||
ewarn "on qemu-kvm to a host with a newer qemu and regenerate"
|
||||
ewarn "any saved states with a newer qemu."
|
||||
ewarn
|
||||
ewarn "qemu-kvm was the primary qemu provider in Gentoo through 1.2.x"
|
||||
|
||||
if use x86 || use amd64; then
|
||||
ewarn
|
||||
ewarn "The /usr/bin/kvm and /usr/bin/qemu-kvm wrappers are no longer"
|
||||
ewarn "installed. In order to use kvm acceleration, pass the flag"
|
||||
ewarn "-enable-kvm when running your system target."
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
|
||||
udev_reload
|
||||
fi
|
||||
|
||||
fcaps cap_net_admin /usr/libexec/qemu-bridge-helper
|
||||
if use virtfs && [ -n "${softmmu_targets}" ]; then
|
||||
local virtfs_caps="cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_setgid,cap_mknod,cap_setuid"
|
||||
fcaps ${virtfs_caps} /usr/bin/virtfs-proxy-helper
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_info() {
|
||||
echo "Using:"
|
||||
echo " $(best_version app-emulation/spice-protocol)"
|
||||
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/vgabios)"
|
||||
}
|
@ -1,601 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/qemu-2.3.0-r1.ebuild,v 1.2 2015/05/13 23:11:02 vapier Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
|
||||
user udev fcaps readme.gentoo pax-utils
|
||||
|
||||
BACKPORTS=
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="git://git.qemu.org/qemu.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
else
|
||||
SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2
|
||||
${BACKPORTS:+
|
||||
http://dev.gentoo.org/~cardoe/distfiles/${P}-${BACKPORTS}.tar.xz}"
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
|
||||
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 bluetooth +caps +curl debug +fdt glusterfs \
|
||||
gtk gtk2 infiniband iscsi +jpeg \
|
||||
kernel_linux kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs
|
||||
+png pulseaudio python \
|
||||
rbd sasl +seccomp sdl selinux smartcard snappy spice ssh static static-softmmu \
|
||||
static-user systemtap tci test +threads tls usb usbredir +uuid vde +vhost-net \
|
||||
virtfs +vnc xattr xen xfs"
|
||||
|
||||
COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel mips
|
||||
mips64 mips64el mipsel or32 ppc ppc64 s390x sh4 sh4eb sparc sparc64 unicore32
|
||||
x86_64"
|
||||
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb xtensa xtensaeb"
|
||||
IUSE_USER_TARGETS="${COMMON_TARGETS} armeb mipsn32 mipsn32el ppc64abi32 sparc32plus"
|
||||
|
||||
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
|
||||
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
|
||||
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
|
||||
|
||||
# Require at least one softmmu or user target.
|
||||
# Block USE flag configurations known to not work.
|
||||
REQUIRED_USE="|| ( ${use_softmmu_targets} ${use_user_targets} )
|
||||
${PYTHON_REQUIRED_USE}
|
||||
gtk2? ( gtk )
|
||||
qemu_softmmu_targets_arm? ( fdt )
|
||||
qemu_softmmu_targets_microblaze? ( fdt )
|
||||
qemu_softmmu_targets_ppc? ( fdt )
|
||||
qemu_softmmu_targets_ppc64? ( fdt )
|
||||
static? ( static-softmmu static-user )
|
||||
static-softmmu? ( !alsa !pulseaudio !bluetooth !opengl !gtk !gtk2 )
|
||||
virtfs? ( xattr )"
|
||||
|
||||
# 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 extranl library.
|
||||
COMMON_LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
xattr? ( sys-apps/attr[static-libs(+)] )"
|
||||
SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND}
|
||||
>=x11-libs/pixman-0.28.0[static-libs(+)]
|
||||
aio? ( dev-libs/libaio[static-libs(+)] )
|
||||
caps? ( sys-libs/libcap-ng[static-libs(+)] )
|
||||
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
|
||||
fdt? ( >=sys-apps/dtc-1.4.0[static-libs(+)] )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
|
||||
infiniband? ( sys-infiniband/librdmacm:=[static-libs(+)] )
|
||||
jpeg? ( virtual/jpeg:=[static-libs(+)] )
|
||||
lzo? ( dev-libs/lzo:2[static-libs(+)] )
|
||||
ncurses? ( sys-libs/ncurses[static-libs(+)] )
|
||||
nfs? ( >=net-fs/libnfs-1.9.3[static-libs(+)] )
|
||||
numa? ( sys-process/numactl[static-libs(+)] )
|
||||
png? ( media-libs/libpng:0=[static-libs(+)] )
|
||||
rbd? ( sys-cluster/ceph[static-libs(+)] )
|
||||
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
|
||||
sdl? ( >=media-libs/libsdl-1.2.11[static-libs(+)] )
|
||||
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
|
||||
snappy? ( app-arch/snappy[static-libs(+)] )
|
||||
spice? ( >=app-emulation/spice-0.12.0[static-libs(+)] )
|
||||
ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] )
|
||||
tls? ( net-libs/gnutls[static-libs(+)] )
|
||||
usb? ( >=dev-libs/libusb-1.0.18[static-libs(+)] )
|
||||
uuid? ( >=sys-apps/util-linux-2.16.0[static-libs(+)] )
|
||||
vde? ( net-misc/vde[static-libs(+)] )
|
||||
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
|
||||
USER_LIB_DEPEND="${COMMON_LIB_DEPEND}"
|
||||
X86_FIRMWARE_DEPEND="
|
||||
>=sys-firmware/ipxe-1.0.0_p20130624
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/seabios-1.7.5
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
~sys-firmware/vgabios-0.7a
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
sys-firmware/seabios
|
||||
sys-firmware/sgabios
|
||||
sys-firmware/vgabios
|
||||
)"
|
||||
CDEPEND="
|
||||
!static-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND//\[static-libs(+)]} ) " ${use_softmmu_targets}) )
|
||||
!static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND//\[static-libs(+)]} ) " ${use_user_targets}) )
|
||||
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
|
||||
accessibility? ( app-accessibility/brltty )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
gtk? (
|
||||
gtk2? ( x11-libs/gtk+:2 )
|
||||
!gtk2? ( x11-libs/gtk+:3 )
|
||||
x11-libs/vte:2.90
|
||||
)
|
||||
iscsi? ( net-libs/libiscsi )
|
||||
opengl? ( virtual/opengl )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
sdl? ( media-libs/libsdl[X] )
|
||||
smartcard? ( dev-libs/nss !app-emulation/libcacard )
|
||||
spice? ( >=app-emulation/spice-protocol-0.12.3 )
|
||||
systemtap? ( dev-util/systemtap )
|
||||
usbredir? ( >=sys-apps/usbredir-0.6 )
|
||||
virtfs? ( sys-libs/libcap )
|
||||
xen? ( app-emulation/xen-tools )"
|
||||
DEPEND="${CDEPEND}
|
||||
dev-lang/perl
|
||||
=dev-lang/python-2*
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||
gtk? ( nls? ( sys-devel/gettext ) )
|
||||
static-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND} ) " ${use_softmmu_targets}) )
|
||||
static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND} ) " ${use_user_targets}) )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)"
|
||||
RDEPEND="${CDEPEND}
|
||||
selinux? ( sec-policy/selinux-qemu )
|
||||
"
|
||||
|
||||
STRIP_MASK="/usr/share/qemu/palcode-clipper"
|
||||
|
||||
QA_PREBUILT="
|
||||
usr/share/qemu/openbios-ppc
|
||||
usr/share/qemu/openbios-sparc64
|
||||
usr/share/qemu/openbios-sparc32
|
||||
usr/share/qemu/palcode-clipper
|
||||
usr/share/qemu/s390-ccw.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-or32
|
||||
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.\n
|
||||
For AMD CPUs the module is called 'kvm-amd'\n
|
||||
For Intel CPUs the module is called 'kvm-intel'\n
|
||||
Please review /etc/conf.d/modules for how to load these\n\n
|
||||
Make sure your user is in the 'kvm' group\n
|
||||
Just run 'gpasswd -a <USER> kvm', then have <USER> re-login."
|
||||
|
||||
qemu_support_kvm() {
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 \
|
||||
use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64 \
|
||||
use qemu_softmmu_targets_s390x; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
if use kernel_linux && kernel_is lt 2 6 25; then
|
||||
eerror "This version of KVM requres 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
|
||||
CONFIG_CHECK+=" ~KVM_AMD ~KVM_INTEL"
|
||||
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
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup kvm 78
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Alter target makefiles to accept CFLAGS set via flag-o
|
||||
sed -i -r \
|
||||
-e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \
|
||||
Makefile Makefile.target || die
|
||||
|
||||
# Cheap hack to disable gettext .mo generation.
|
||||
use nls || rm -f po/*.po
|
||||
|
||||
epatch "${FILESDIR}"/qemu-1.7.0-cflags.patch
|
||||
epatch "${FILESDIR}"/${P}-CVE-2015-3456.patch #549404
|
||||
[[ -n ${BACKPORTS} ]] && \
|
||||
EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \
|
||||
epatch
|
||||
|
||||
# Fix ld and objcopy being called directly
|
||||
tc-export AR LD OBJCOPY
|
||||
|
||||
# Verbose builds
|
||||
MAKEOPTS+=" V=1"
|
||||
|
||||
epatch_user
|
||||
}
|
||||
|
||||
##
|
||||
# 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=$2
|
||||
local static_flag="static-${buildtype}"
|
||||
|
||||
# audio options
|
||||
local audio_opts="oss"
|
||||
use alsa && audio_opts="alsa,${audio_opts}"
|
||||
use sdl && audio_opts="sdl,${audio_opts}"
|
||||
use pulseaudio && audio_opts="pa,${audio_opts}"
|
||||
|
||||
local conf_opts=(
|
||||
--prefix=/usr
|
||||
--sysconfdir=/etc
|
||||
--libdir=/usr/$(get_libdir)
|
||||
--docdir=/usr/share/doc/${PF}/html
|
||||
--disable-bsd-user
|
||||
--disable-guest-agent
|
||||
--disable-strip
|
||||
--disable-werror
|
||||
--python="${PYTHON}"
|
||||
--cc="$(tc-getCC)"
|
||||
--cxx="$(tc-getCXX)"
|
||||
--host-cc="$(tc-getBUILD_CC)"
|
||||
$(use_enable debug debug-info)
|
||||
$(use_enable debug debug-tcg)
|
||||
--enable-docs
|
||||
$(use_enable tci tcg-interpreter)
|
||||
$(use_enable xattr attr)
|
||||
)
|
||||
|
||||
# Disable options not used by user targets as the default configure
|
||||
# options will autoprobe and try to link in a bunch of unused junk.
|
||||
conf_softmmu() {
|
||||
if [[ ${buildtype} == "user" ]] ; then
|
||||
echo "--disable-${2:-$1}"
|
||||
else
|
||||
use_enable "$@"
|
||||
fi
|
||||
}
|
||||
conf_opts+=(
|
||||
$(conf_softmmu accessibility brlapi)
|
||||
$(conf_softmmu aio linux-aio)
|
||||
$(conf_softmmu bluetooth bluez)
|
||||
$(conf_softmmu caps cap-ng)
|
||||
$(conf_softmmu curl)
|
||||
$(conf_softmmu fdt)
|
||||
$(conf_softmmu glusterfs)
|
||||
$(conf_softmmu gtk)
|
||||
$(conf_softmmu infiniband rdma)
|
||||
$(conf_softmmu iscsi libiscsi)
|
||||
$(conf_softmmu jpeg vnc-jpeg)
|
||||
$(conf_softmmu kernel_linux kvm)
|
||||
$(conf_softmmu lzo)
|
||||
$(conf_softmmu ncurses curses)
|
||||
$(conf_softmmu nfs libnfs)
|
||||
$(conf_softmmu numa)
|
||||
$(conf_softmmu opengl)
|
||||
$(conf_softmmu png vnc-png)
|
||||
$(conf_softmmu rbd)
|
||||
$(conf_softmmu sasl vnc-sasl)
|
||||
$(conf_softmmu sdl)
|
||||
$(conf_softmmu seccomp)
|
||||
$(conf_softmmu smartcard smartcard-nss)
|
||||
$(conf_softmmu snappy)
|
||||
$(conf_softmmu spice)
|
||||
$(conf_softmmu ssh libssh2)
|
||||
$(conf_softmmu tls quorum)
|
||||
$(conf_softmmu tls vnc-tls)
|
||||
$(conf_softmmu tls vnc-ws)
|
||||
$(conf_softmmu usb libusb)
|
||||
$(conf_softmmu usbredir usb-redir)
|
||||
$(conf_softmmu uuid)
|
||||
$(conf_softmmu vde)
|
||||
$(conf_softmmu vhost-net)
|
||||
$(conf_softmmu virtfs)
|
||||
$(conf_softmmu vnc)
|
||||
$(conf_softmmu xen)
|
||||
$(conf_softmmu xen xen-pci-passthrough)
|
||||
$(conf_softmmu xfs xfsctl)
|
||||
)
|
||||
|
||||
case ${buildtype} in
|
||||
user)
|
||||
conf_opts+=(
|
||||
--enable-linux-user
|
||||
--disable-system
|
||||
--target-list="${user_targets}"
|
||||
--disable-blobs
|
||||
--disable-tools
|
||||
)
|
||||
;;
|
||||
softmmu)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--enable-system
|
||||
--target-list="${softmmu_targets}"
|
||||
--with-system-pixman
|
||||
--audio-drv-list="${audio_opts}"
|
||||
)
|
||||
use gtk && conf_opts+=( --with-gtkabi=$(usex gtk2 2.0 3.0) )
|
||||
;;
|
||||
esac
|
||||
|
||||
# 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
|
||||
gcc-specs-pie && conf_opts+=( --enable-pie )
|
||||
fi
|
||||
|
||||
einfo "../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
|
||||
|
||||
[[ -n ${softmmu_targets} ]] && \
|
||||
einfo "Building the following softmmu targets: ${softmmu_targets}"
|
||||
|
||||
[[ -n ${user_targets} ]] && \
|
||||
einfo "Building the following user targets: ${user_targets}"
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
mkdir "${S}/softmmu-build"
|
||||
qemu_src_configure "softmmu" "${S}/softmmu-build"
|
||||
fi
|
||||
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
mkdir "${S}/user-build"
|
||||
qemu_src_configure "user" "${S}/user-build"
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
default
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
pax-mark m */qemu-system-* #515550
|
||||
emake -j1 check
|
||||
emake -j1 check-report.html
|
||||
fi
|
||||
}
|
||||
|
||||
qemu_python_install() {
|
||||
python_domodule "${S}/scripts/qmp/qmp.py"
|
||||
|
||||
python_doscript "${S}/scripts/kvm/kvm_stat"
|
||||
python_doscript "${S}/scripts/kvm/vmxcap"
|
||||
python_doscript "${S}/scripts/qmp/qmp-shell"
|
||||
python_doscript "${S}/scripts/qmp/qemu-ga-client"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# Install binfmt handler init script for user targets
|
||||
newinitd "${FILESDIR}/qemu-binfmt.initd-r1" qemu-binfmt
|
||||
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 ]] && dohtml check-report.html
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_dorules "${FILESDIR}"/65-kvm.rules
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
|
||||
pushd "${ED}"/usr/bin >/dev/null
|
||||
pax-mark m "${softmmu_bins[@]}" "${user_bins[@]}"
|
||||
popd >/dev/null
|
||||
|
||||
# Install config file example for qemu-bridge-helper
|
||||
insinto "/etc/qemu"
|
||||
doins "${FILESDIR}/bridge.conf"
|
||||
|
||||
# Remove the docdir placed qmp-commands.txt
|
||||
mv "${ED}/usr/share/doc/${PF}/html/qmp-commands.txt" "${S}/docs/qmp/"
|
||||
|
||||
cd "${S}"
|
||||
dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt
|
||||
newdoc pc-bios/README README.pc-bios
|
||||
dodoc docs/qmp/*.txt
|
||||
|
||||
# Remove SeaBIOS since we're using the SeaBIOS packaged one
|
||||
rm "${ED}/usr/share/qemu/bios.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
|
||||
fi
|
||||
|
||||
# Remove vgabios since we're using the vgabios packaged one
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
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-vmware.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../vgabios/vgabios.bin /usr/share/qemu/vgabios.bin
|
||||
dosym ../vgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
|
||||
dosym ../vgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
|
||||
dosym ../vgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
|
||||
dosym ../vgabios/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
|
||||
|
||||
qemu_support_kvm && readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if qemu_support_kvm; then
|
||||
readme.gentoo_print_elog
|
||||
ewarn "Migration from qemu-kvm instances and loading qemu-kvm created"
|
||||
ewarn "save states has been removed starting with the 1.6.2 release"
|
||||
ewarn
|
||||
ewarn "It is recommended that you migrate any VMs that may be running"
|
||||
ewarn "on qemu-kvm to a host with a newer qemu and regenerate"
|
||||
ewarn "any saved states with a newer qemu."
|
||||
ewarn
|
||||
ewarn "qemu-kvm was the primary qemu provider in Gentoo through 1.2.x"
|
||||
|
||||
if use x86 || use amd64; then
|
||||
ewarn
|
||||
ewarn "The /usr/bin/kvm and /usr/bin/qemu-kvm wrappers are no longer"
|
||||
ewarn "installed. In order to use kvm acceleration, pass the flag"
|
||||
ewarn "-enable-kvm when running your system target."
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
|
||||
udev_reload
|
||||
fi
|
||||
|
||||
fcaps cap_net_admin /usr/libexec/qemu-bridge-helper
|
||||
if use virtfs && [ -n "${softmmu_targets}" ]; then
|
||||
local virtfs_caps="cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_setgid,cap_mknod,cap_setuid"
|
||||
fcaps ${virtfs_caps} /usr/bin/virtfs-proxy-helper
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_info() {
|
||||
echo "Using:"
|
||||
echo " $(best_version app-emulation/spice-protocol)"
|
||||
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/vgabios)"
|
||||
}
|
@ -1,602 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/qemu-2.3.0-r2.ebuild,v 1.3 2015/07/06 12:17:32 ago Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
|
||||
user udev fcaps readme.gentoo pax-utils
|
||||
|
||||
BACKPORTS=
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="git://git.qemu.org/qemu.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
else
|
||||
SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2
|
||||
${BACKPORTS:+
|
||||
http://dev.gentoo.org/~cardoe/distfiles/${P}-${BACKPORTS}.tar.xz}"
|
||||
KEYWORDS="amd64 ~ppc ~ppc64 x86 ~x86-fbsd"
|
||||
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 bluetooth +caps +curl debug +fdt glusterfs \
|
||||
gtk gtk2 infiniband iscsi +jpeg \
|
||||
kernel_linux kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs
|
||||
+png pulseaudio python \
|
||||
rbd sasl +seccomp sdl selinux smartcard snappy spice ssh static static-softmmu \
|
||||
static-user systemtap tci test +threads tls usb usbredir +uuid vde +vhost-net \
|
||||
virtfs +vnc xattr xen xfs"
|
||||
|
||||
COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel mips
|
||||
mips64 mips64el mipsel or32 ppc ppc64 s390x sh4 sh4eb sparc sparc64 unicore32
|
||||
x86_64"
|
||||
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb xtensa xtensaeb"
|
||||
IUSE_USER_TARGETS="${COMMON_TARGETS} armeb mipsn32 mipsn32el ppc64abi32 sparc32plus"
|
||||
|
||||
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
|
||||
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
|
||||
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
|
||||
|
||||
# Require at least one softmmu or user target.
|
||||
# Block USE flag configurations known to not work.
|
||||
REQUIRED_USE="|| ( ${use_softmmu_targets} ${use_user_targets} )
|
||||
${PYTHON_REQUIRED_USE}
|
||||
gtk2? ( gtk )
|
||||
qemu_softmmu_targets_arm? ( fdt )
|
||||
qemu_softmmu_targets_microblaze? ( fdt )
|
||||
qemu_softmmu_targets_ppc? ( fdt )
|
||||
qemu_softmmu_targets_ppc64? ( fdt )
|
||||
static? ( static-softmmu static-user )
|
||||
static-softmmu? ( !alsa !pulseaudio !bluetooth !opengl !gtk !gtk2 )
|
||||
virtfs? ( xattr )"
|
||||
|
||||
# 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 extranl library.
|
||||
COMMON_LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
xattr? ( sys-apps/attr[static-libs(+)] )"
|
||||
SOFTMMU_LIB_DEPEND="${COMMON_LIB_DEPEND}
|
||||
>=x11-libs/pixman-0.28.0[static-libs(+)]
|
||||
aio? ( dev-libs/libaio[static-libs(+)] )
|
||||
caps? ( sys-libs/libcap-ng[static-libs(+)] )
|
||||
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
|
||||
fdt? ( >=sys-apps/dtc-1.4.0[static-libs(+)] )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
|
||||
infiniband? ( sys-infiniband/librdmacm:=[static-libs(+)] )
|
||||
jpeg? ( virtual/jpeg:=[static-libs(+)] )
|
||||
lzo? ( dev-libs/lzo:2[static-libs(+)] )
|
||||
ncurses? ( sys-libs/ncurses[static-libs(+)] )
|
||||
nfs? ( >=net-fs/libnfs-1.9.3[static-libs(+)] )
|
||||
numa? ( sys-process/numactl[static-libs(+)] )
|
||||
png? ( media-libs/libpng:0=[static-libs(+)] )
|
||||
rbd? ( sys-cluster/ceph[static-libs(+)] )
|
||||
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
|
||||
sdl? ( >=media-libs/libsdl-1.2.11[static-libs(+)] )
|
||||
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
|
||||
snappy? ( app-arch/snappy[static-libs(+)] )
|
||||
spice? ( >=app-emulation/spice-0.12.0[static-libs(+)] )
|
||||
ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] )
|
||||
tls? ( net-libs/gnutls[static-libs(+)] )
|
||||
usb? ( >=dev-libs/libusb-1.0.18[static-libs(+)] )
|
||||
uuid? ( >=sys-apps/util-linux-2.16.0[static-libs(+)] )
|
||||
vde? ( net-misc/vde[static-libs(+)] )
|
||||
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
|
||||
USER_LIB_DEPEND="${COMMON_LIB_DEPEND}"
|
||||
X86_FIRMWARE_DEPEND="
|
||||
>=sys-firmware/ipxe-1.0.0_p20130624
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/seabios-1.7.5
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
~sys-firmware/vgabios-0.7a
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
sys-firmware/seabios
|
||||
sys-firmware/sgabios
|
||||
sys-firmware/vgabios
|
||||
)"
|
||||
CDEPEND="
|
||||
!static-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND//\[static-libs(+)]} ) " ${use_softmmu_targets}) )
|
||||
!static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND//\[static-libs(+)]} ) " ${use_user_targets}) )
|
||||
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
|
||||
accessibility? ( app-accessibility/brltty )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
gtk? (
|
||||
gtk2? ( x11-libs/gtk+:2 )
|
||||
!gtk2? ( x11-libs/gtk+:3 )
|
||||
x11-libs/vte:2.90
|
||||
)
|
||||
iscsi? ( net-libs/libiscsi )
|
||||
opengl? ( virtual/opengl )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
sdl? ( media-libs/libsdl[X] )
|
||||
smartcard? ( dev-libs/nss !app-emulation/libcacard )
|
||||
spice? ( >=app-emulation/spice-protocol-0.12.3 )
|
||||
systemtap? ( dev-util/systemtap )
|
||||
usbredir? ( >=sys-apps/usbredir-0.6 )
|
||||
virtfs? ( sys-libs/libcap )
|
||||
xen? ( app-emulation/xen-tools )"
|
||||
DEPEND="${CDEPEND}
|
||||
dev-lang/perl
|
||||
=dev-lang/python-2*
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||
gtk? ( nls? ( sys-devel/gettext ) )
|
||||
static-softmmu? ( $(printf "%s? ( ${SOFTMMU_LIB_DEPEND} ) " ${use_softmmu_targets}) )
|
||||
static-user? ( $(printf "%s? ( ${USER_LIB_DEPEND} ) " ${use_user_targets}) )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)"
|
||||
RDEPEND="${CDEPEND}
|
||||
selinux? ( sec-policy/selinux-qemu )
|
||||
"
|
||||
|
||||
STRIP_MASK="/usr/share/qemu/palcode-clipper"
|
||||
|
||||
QA_PREBUILT="
|
||||
usr/share/qemu/openbios-ppc
|
||||
usr/share/qemu/openbios-sparc64
|
||||
usr/share/qemu/openbios-sparc32
|
||||
usr/share/qemu/palcode-clipper
|
||||
usr/share/qemu/s390-ccw.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-or32
|
||||
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.\n
|
||||
For AMD CPUs the module is called 'kvm-amd'\n
|
||||
For Intel CPUs the module is called 'kvm-intel'\n
|
||||
Please review /etc/conf.d/modules for how to load these\n\n
|
||||
Make sure your user is in the 'kvm' group\n
|
||||
Just run 'gpasswd -a <USER> kvm', then have <USER> re-login."
|
||||
|
||||
qemu_support_kvm() {
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 \
|
||||
use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64 \
|
||||
use qemu_softmmu_targets_s390x; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
if use kernel_linux && kernel_is lt 2 6 25; then
|
||||
eerror "This version of KVM requres 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
|
||||
CONFIG_CHECK+=" ~KVM_AMD ~KVM_INTEL"
|
||||
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
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup kvm 78
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Alter target makefiles to accept CFLAGS set via flag-o
|
||||
sed -i -r \
|
||||
-e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \
|
||||
Makefile Makefile.target || die
|
||||
|
||||
# Cheap hack to disable gettext .mo generation.
|
||||
use nls || rm -f po/*.po
|
||||
|
||||
epatch "${FILESDIR}"/qemu-1.7.0-cflags.patch
|
||||
epatch "${FILESDIR}"/${P}-CVE-2015-3456.patch #549404
|
||||
epatch "${FILESDIR}"/${P}-CVE-2015-3209.patch #551752
|
||||
[[ -n ${BACKPORTS} ]] && \
|
||||
EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \
|
||||
epatch
|
||||
|
||||
# Fix ld and objcopy being called directly
|
||||
tc-export AR LD OBJCOPY
|
||||
|
||||
# Verbose builds
|
||||
MAKEOPTS+=" V=1"
|
||||
|
||||
epatch_user
|
||||
}
|
||||
|
||||
##
|
||||
# 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=$2
|
||||
local static_flag="static-${buildtype}"
|
||||
|
||||
# audio options
|
||||
local audio_opts="oss"
|
||||
use alsa && audio_opts="alsa,${audio_opts}"
|
||||
use sdl && audio_opts="sdl,${audio_opts}"
|
||||
use pulseaudio && audio_opts="pa,${audio_opts}"
|
||||
|
||||
local conf_opts=(
|
||||
--prefix=/usr
|
||||
--sysconfdir=/etc
|
||||
--libdir=/usr/$(get_libdir)
|
||||
--docdir=/usr/share/doc/${PF}/html
|
||||
--disable-bsd-user
|
||||
--disable-guest-agent
|
||||
--disable-strip
|
||||
--disable-werror
|
||||
--python="${PYTHON}"
|
||||
--cc="$(tc-getCC)"
|
||||
--cxx="$(tc-getCXX)"
|
||||
--host-cc="$(tc-getBUILD_CC)"
|
||||
$(use_enable debug debug-info)
|
||||
$(use_enable debug debug-tcg)
|
||||
--enable-docs
|
||||
$(use_enable tci tcg-interpreter)
|
||||
$(use_enable xattr attr)
|
||||
)
|
||||
|
||||
# Disable options not used by user targets as the default configure
|
||||
# options will autoprobe and try to link in a bunch of unused junk.
|
||||
conf_softmmu() {
|
||||
if [[ ${buildtype} == "user" ]] ; then
|
||||
echo "--disable-${2:-$1}"
|
||||
else
|
||||
use_enable "$@"
|
||||
fi
|
||||
}
|
||||
conf_opts+=(
|
||||
$(conf_softmmu accessibility brlapi)
|
||||
$(conf_softmmu aio linux-aio)
|
||||
$(conf_softmmu bluetooth bluez)
|
||||
$(conf_softmmu caps cap-ng)
|
||||
$(conf_softmmu curl)
|
||||
$(conf_softmmu fdt)
|
||||
$(conf_softmmu glusterfs)
|
||||
$(conf_softmmu gtk)
|
||||
$(conf_softmmu infiniband rdma)
|
||||
$(conf_softmmu iscsi libiscsi)
|
||||
$(conf_softmmu jpeg vnc-jpeg)
|
||||
$(conf_softmmu kernel_linux kvm)
|
||||
$(conf_softmmu lzo)
|
||||
$(conf_softmmu ncurses curses)
|
||||
$(conf_softmmu nfs libnfs)
|
||||
$(conf_softmmu numa)
|
||||
$(conf_softmmu opengl)
|
||||
$(conf_softmmu png vnc-png)
|
||||
$(conf_softmmu rbd)
|
||||
$(conf_softmmu sasl vnc-sasl)
|
||||
$(conf_softmmu sdl)
|
||||
$(conf_softmmu seccomp)
|
||||
$(conf_softmmu smartcard smartcard-nss)
|
||||
$(conf_softmmu snappy)
|
||||
$(conf_softmmu spice)
|
||||
$(conf_softmmu ssh libssh2)
|
||||
$(conf_softmmu tls quorum)
|
||||
$(conf_softmmu tls vnc-tls)
|
||||
$(conf_softmmu tls vnc-ws)
|
||||
$(conf_softmmu usb libusb)
|
||||
$(conf_softmmu usbredir usb-redir)
|
||||
$(conf_softmmu uuid)
|
||||
$(conf_softmmu vde)
|
||||
$(conf_softmmu vhost-net)
|
||||
$(conf_softmmu virtfs)
|
||||
$(conf_softmmu vnc)
|
||||
$(conf_softmmu xen)
|
||||
$(conf_softmmu xen xen-pci-passthrough)
|
||||
$(conf_softmmu xfs xfsctl)
|
||||
)
|
||||
|
||||
case ${buildtype} in
|
||||
user)
|
||||
conf_opts+=(
|
||||
--enable-linux-user
|
||||
--disable-system
|
||||
--target-list="${user_targets}"
|
||||
--disable-blobs
|
||||
--disable-tools
|
||||
)
|
||||
;;
|
||||
softmmu)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--enable-system
|
||||
--target-list="${softmmu_targets}"
|
||||
--with-system-pixman
|
||||
--audio-drv-list="${audio_opts}"
|
||||
)
|
||||
use gtk && conf_opts+=( --with-gtkabi=$(usex gtk2 2.0 3.0) )
|
||||
;;
|
||||
esac
|
||||
|
||||
# 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
|
||||
gcc-specs-pie && conf_opts+=( --enable-pie )
|
||||
fi
|
||||
|
||||
einfo "../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
|
||||
|
||||
[[ -n ${softmmu_targets} ]] && \
|
||||
einfo "Building the following softmmu targets: ${softmmu_targets}"
|
||||
|
||||
[[ -n ${user_targets} ]] && \
|
||||
einfo "Building the following user targets: ${user_targets}"
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
mkdir "${S}/softmmu-build"
|
||||
qemu_src_configure "softmmu" "${S}/softmmu-build"
|
||||
fi
|
||||
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
mkdir "${S}/user-build"
|
||||
qemu_src_configure "user" "${S}/user-build"
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
default
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
pax-mark m */qemu-system-* #515550
|
||||
emake -j1 check
|
||||
emake -j1 check-report.html
|
||||
fi
|
||||
}
|
||||
|
||||
qemu_python_install() {
|
||||
python_domodule "${S}/scripts/qmp/qmp.py"
|
||||
|
||||
python_doscript "${S}/scripts/kvm/kvm_stat"
|
||||
python_doscript "${S}/scripts/kvm/vmxcap"
|
||||
python_doscript "${S}/scripts/qmp/qmp-shell"
|
||||
python_doscript "${S}/scripts/qmp/qemu-ga-client"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# Install binfmt handler init script for user targets
|
||||
newinitd "${FILESDIR}/qemu-binfmt.initd-r1" qemu-binfmt
|
||||
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 ]] && dohtml check-report.html
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_dorules "${FILESDIR}"/65-kvm.rules
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
|
||||
pushd "${ED}"/usr/bin >/dev/null
|
||||
pax-mark m "${softmmu_bins[@]}" "${user_bins[@]}"
|
||||
popd >/dev/null
|
||||
|
||||
# Install config file example for qemu-bridge-helper
|
||||
insinto "/etc/qemu"
|
||||
doins "${FILESDIR}/bridge.conf"
|
||||
|
||||
# Remove the docdir placed qmp-commands.txt
|
||||
mv "${ED}/usr/share/doc/${PF}/html/qmp-commands.txt" "${S}/docs/qmp/"
|
||||
|
||||
cd "${S}"
|
||||
dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt
|
||||
newdoc pc-bios/README README.pc-bios
|
||||
dodoc docs/qmp/*.txt
|
||||
|
||||
# Remove SeaBIOS since we're using the SeaBIOS packaged one
|
||||
rm "${ED}/usr/share/qemu/bios.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
|
||||
fi
|
||||
|
||||
# Remove vgabios since we're using the vgabios packaged one
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
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-vmware.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../vgabios/vgabios.bin /usr/share/qemu/vgabios.bin
|
||||
dosym ../vgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
|
||||
dosym ../vgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
|
||||
dosym ../vgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
|
||||
dosym ../vgabios/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
|
||||
|
||||
qemu_support_kvm && readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if qemu_support_kvm; then
|
||||
readme.gentoo_print_elog
|
||||
ewarn "Migration from qemu-kvm instances and loading qemu-kvm created"
|
||||
ewarn "save states has been removed starting with the 1.6.2 release"
|
||||
ewarn
|
||||
ewarn "It is recommended that you migrate any VMs that may be running"
|
||||
ewarn "on qemu-kvm to a host with a newer qemu and regenerate"
|
||||
ewarn "any saved states with a newer qemu."
|
||||
ewarn
|
||||
ewarn "qemu-kvm was the primary qemu provider in Gentoo through 1.2.x"
|
||||
|
||||
if use x86 || use amd64; then
|
||||
ewarn
|
||||
ewarn "The /usr/bin/kvm and /usr/bin/qemu-kvm wrappers are no longer"
|
||||
ewarn "installed. In order to use kvm acceleration, pass the flag"
|
||||
ewarn "-enable-kvm when running your system target."
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
|
||||
udev_reload
|
||||
fi
|
||||
|
||||
fcaps cap_net_admin /usr/libexec/qemu-bridge-helper
|
||||
if use virtfs && [ -n "${softmmu_targets}" ]; then
|
||||
local virtfs_caps="cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_setgid,cap_mknod,cap_setuid"
|
||||
fcaps ${virtfs_caps} /usr/bin/virtfs-proxy-helper
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_info() {
|
||||
echo "Using:"
|
||||
echo " $(best_version app-emulation/spice-protocol)"
|
||||
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/vgabios)"
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-misc/cdctl/cdctl-0.16.ebuild,v 1.1 2015/08/03 14:33:58 polynomial-c Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils autotools toolchain-funcs
|
||||
|
||||
DESCRIPTION="Utility to control your cd/dvd drive"
|
||||
HOMEPAGE="http://cdctl.sourceforge.net/"
|
||||
SRC_URI="mirror://sourceforge/cdctl/${P}.tar.gz"
|
||||
|
||||
LICENSE="free-noncomm"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=""
|
||||
|
||||
S="${WORKDIR}/${PN}"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${PN}-0.16-Makefile.in.patch
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake CC="$(tc-getCC)"
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
--- cdctl/Makefile.in
|
||||
+++ cdctl/Makefile.in
|
||||
@@ -1,8 +1,8 @@
|
||||
CC=gcc
|
||||
-CFLAGS=-Wall -g
|
||||
+CFLAGS:=-Wall -g
|
||||
BINS=cdctl sndreset
|
||||
OBJS=cdctl.o version.o ioctls.o iso_header.o
|
||||
-DOCS=NEWS NUTSANDBOLTS LICENSE PUBLICKEY README SEGFAULTS
|
||||
+DOCS=NEWS NUTSANDBOLTS LICENSE PUBLICKEY README
|
||||
# NOTE: all man pages are installed in $(mandir)/man1 -- see install-mans
|
||||
MANS=cdctl.1
|
||||
MOS=cdctl.mo
|
||||
@@ -22,6 +22,8 @@
|
||||
INSTALL_DIR = $(INSTALL) -d
|
||||
INSTALL_DATA = $(INSTALL) -m 644
|
||||
|
||||
+DESTDIR =
|
||||
+
|
||||
all: $(BINS)
|
||||
|
||||
cdctl: $(OBJS)
|
||||
@@ -35,25 +37,21 @@
|
||||
indent:
|
||||
indent -kr -cdb -sc *.c
|
||||
|
||||
-install: install-bins install-docs install-mans install-mos
|
||||
+install: install-bins install-mans install-mos
|
||||
|
||||
install-bins: $(BINS)
|
||||
- $(INSTALL_DIR) $(bindir)
|
||||
- $(INSTALL) -s $(BINS) $(bindir)
|
||||
-
|
||||
-install-docs: $(DOCS)
|
||||
- $(INSTALL_DIR) $(docdir)
|
||||
- $(INSTALL_DATA) $(DOCS) $(docdir)
|
||||
+ $(INSTALL_DIR) $(DESTDIR)$(bindir)
|
||||
+ $(INSTALL) $(BINS) $(DESTDIR)$(bindir)
|
||||
|
||||
install-mans: $(MANS)
|
||||
- $(INSTALL_DIR) $(mandir)/man1
|
||||
- $(INSTALL_DATA) $(MANS) $(mandir)/man1
|
||||
+ $(INSTALL_DIR) $(DESTDIR)/$(mandir)/man1
|
||||
+ $(INSTALL_DATA) $(MANS) $(DESTDIR)$(mandir)/man1
|
||||
|
||||
# FIXME: need to deal with other languages besides German
|
||||
|
||||
install-mos: cdctl.mo
|
||||
- $(INSTALL_DIR) $(localedir)/de/LC_MESSAGES
|
||||
- $(INSTALL_DATA) $(MOS) $(localedir)/de/LC_MESSAGES
|
||||
+ $(INSTALL_DIR) $(DESTDIR)$(localedir)/de/LC_MESSAGES
|
||||
+ $(INSTALL_DATA) $(MOS) $(DESTDIR)$(localedir)/de/LC_MESSAGES
|
||||
|
||||
cdctl.mo: cdctl.po
|
||||
msgfmt cdctl.po -o cdctl.mo
|
@ -1,27 +1,25 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA512
|
||||
Hash: SHA256
|
||||
|
||||
DIST athena-jot-9.0-3.src.rpm 25378 SHA256 8129a00ec17c9f4102dd3cffdb841390e01617f78b1a032d07d145e372b10c58 SHA512 b284121cbca3e98181285eac007b2c9133826c18157f9d1f983b83443f91a3e00c29b30ceb986fbbd86cda1541f0990b5d66579387b78143c250bb01453d7296 WHIRLPOOL ac1d6888c9d4d6f87472878b49017fd5cd2f957c5601e0c6fa09caee137126fa94e3412337e5f5cc7c820cddf341bbf46303869ff4c908884be9940764816d69
|
||||
EBUILD jot-9.0-r1.ebuild 612 SHA256 83b185c170a4e0a688595199e4fb419bf02ff540f64099a90933685c9e4cd57e SHA512 7ac8b21419a17a6e434e35808eede6c9750e117957d5854306b3afca23cb7b62d0dc04120b80283a0580dfda6c68e8032a6f9f2869608c3ab82300816fe28726 WHIRLPOOL d421e063669a77f5fb262bd69839997045f59d0d737300f31851c76e250d89c47d8fa9f621ba4e96d1a774a3444813ab01a223ed5b7c0aa7ca76548a602e9208
|
||||
EBUILD jot-9.0-r1.ebuild 610 SHA256 edb5b7ec0a8d79aec6e889d50bad0b661d3ed449c7d4d16230218bc4c0f73eff SHA512 873a76e107200ba404988db41267881a9a6248cc37578b4358db9b7a8c82a52cce4c6bb4ec66e549d2336efe754ac6fd1f362224623629b51ec6bc40292cce88 WHIRLPOOL eb480dc2100d1744d1105ccfd2686c743dd4b14ab4312966e83ca27cb075c6dce3e01f1e760855bb878c2b6a66c3e28854fd669f8d87dab4525c1f5e8a2728cf
|
||||
EBUILD jot-9.0.ebuild 587 SHA256 684178ff2d92979828ca9a1314a34faa3d64637bbbb3bc57db727bc8bcf20131 SHA512 2d9294a95468a90f901a6b25d97e63e435c3aa4bb777f7a51590e471490a0daee97c77a95e2bdb7ee1401e26dba00301b3354fac972a49626aa0f6ae6f16ec98 WHIRLPOOL 6ca4bee84f5e3decd31350ad2b2d4b6c74e87b4a9e4900104747de13c7cecbfeab389705abf1e6668290842a669dc62018a0d749d075d03f90e6607e3193dc0b
|
||||
MISC ChangeLog 1375 SHA256 a13175eba4462857aab3fc0ea7cc0f6eefe8caab5a7b51fa6873f45888aab39d SHA512 e1e05a8fa961f9e51cb39237101cbe365e271ec2516fe32d51d93ec70ce0576a1fe590036ac5b762f784f3715d34337c8c6976bb99a3267034771de75f646095 WHIRLPOOL bd633dab646a047f14fd2d3bacb17ad2e76de0d56fd8d9f32605b3fb153535ceafd0b3470d26fc8c5f82083181802e6f52be242135262230077a3a62bb3c065a
|
||||
MISC ChangeLog 1479 SHA256 842ac1a8e7fbe26cbb3c09b86afda73e44973314b6cab03e3f50ef9af44ec382 SHA512 39202e475d4ca91b3bfa4c735bf67c48b0cd5d80fcf4215fc904efb875db36491f2ca8372e40feb4d05c25dfd3018bf7fdced5a826cbdee52dd9ed5f44c76253 WHIRLPOOL 0c72ab0a46eaff8679beb5d6dee63eb7ba534bd573b3ac212a591c880530e649565436419d353961c0dcc703f95d784cef3de06de4fdd0d1c7c58910f1e0ddb4
|
||||
MISC metadata.xml 240 SHA256 b0520fd28c3b5c88cd422a284dd67629a734a76d404711c9657e831d346443d7 SHA512 f666133ceb358e42eb89b5aa9ac2616048602ad349cb1d4144c1a53ead30575227c4374f8f4209f0c8616520f6e6c300bbf4d95900c76ea9829bc2b43dd4db6f WHIRLPOOL 11909b19dc4380c5cc639e95d8923fa1091f02649e75dfa55d1f0720cecee96494a2154d9a7f57c286f6e63e23fc2fad2ecd18e15e0e2e060e7c0b2a1ac4e2cd
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2.1
|
||||
Version: GnuPG v2
|
||||
|
||||
iQJ8BAEBCgBmBQJVlkHAXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
|
||||
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ0QUU0N0I4NzFERUI0MTJFN0EyODE0NUFF
|
||||
OTQwMkE3OUIwMzUyOUEyAAoJEOlAKnmwNSminDAP/jGzPRXBn2iVX3yW+oYZT5wE
|
||||
oebewEJuz7YQ+De3eibO9sxQOGdOCl8WAlN3fyFOmRQHp7n1Axr8pukkr2UYSdSy
|
||||
nnGWca5ucK+o9iGPAuGNsxwXwfhDH9IqtZnsGS78aAhxb+sSJhvIzrF/gIt//nkE
|
||||
gu35L+27M2myt8AP3IL9eMrcQLEAgd6ZNldUkhiZOvsEtqHwQYlvCamoK9QoZTtn
|
||||
EporOvRDmIux4G+lYSV+W2Ly8cCNCRPIhTiv8HiUiDbCgcY2AwRlqMc2jH0i5CW3
|
||||
J7Nqq1uTMSliwyvsuK6jeXxk31obQMXWUV1o/0WUUMPpD2IGzTJIh7RVl1xRwSzX
|
||||
+k6QaLoQikzET6jnPESnlXehtn80ZilM1CB/w7Ip7CS4YaspypP9talzz1gFkAIX
|
||||
O2bbqhY4f6w8dPGp5xyZvTM+nMXm1rSmW0U5RkZB0icO1ogDQ6s+tuLKLj7RDeeS
|
||||
A/2CVAJ9mtcHHqqJKsxKeSb8cLFiuHCxKCYdgi1CnFSZYJ6I0/UkfE4xeMwRTwmG
|
||||
aDGGISEr+0D+NMqbbsjJ+sZ+/U0bFG/+b3S5JoSoS9OZFV9d7mStx/q5+c7RVziL
|
||||
AxYXy09ymq5vaTSvzpX5IFuL6kF5CWrZht9rbZ9vxHT9lsuosVyswSspIiU9oqry
|
||||
PTJNmXLrAfRcd8LdlNrK
|
||||
=oT3N
|
||||
iQIcBAEBCAAGBQJVv1bKAAoJELp701BxlEWf4+MQAL7q48+JrLzx+kcqL3AvwSas
|
||||
bIRVpBxzKhqyE7/cmrTTd9qglUNIuGCXIJH1feDOQ+CTlx5i3Ysh2C2qJyQcptLg
|
||||
2FKemUdCjf2O+6jaLCvqDI2ZKrCnpHEVTgxnNmgmvF7LkjHOSYq3t/IDGRXNiy1L
|
||||
HraDov8eo+yOxTvzhffYgxqIvnGKUemaKEw+EimMV1ooMG/WpP7DbjXNSXOtm7Ag
|
||||
cE9wnj0OXXWV81VZxj3Yq59aroIai78AXwTR++m/kHWzQsHPU1tXPiLJb4cX6KXw
|
||||
J8Qw6CLYIGF1UUZXq1JU4I5eNJSf5qAnvNvxG8zZ52fQmdAAvXsrfJTZlnsq05X+
|
||||
fdll8d708lXv3SjIwPjtM4vB7FxJeqAkB/0P9/fXeS1EPLgfotOECqd7MT8/Hcmc
|
||||
aAMeNnVUBn4NdA0CkLBhcYpLSIYs0Xq+4xniLXmwNX6wHxiOZL8kVuitAuzzP5QW
|
||||
8KOE3d3vwIj5owVx+g3Uk//kpKv6bnpE8MBZuWba844ouqpIS+4PPuvJjuQ+eGpS
|
||||
1L+/IHzKr2pgWwdm1aMNp9yd2yAbD5gG1M3aKQ22yxLFgvMMmmEsO6mZQ4CCyvb6
|
||||
rWWjvNZyzY8g+7Qy3o1H7AX0G23ZInQoEyV8iszSFsI3Ygnbmccxl9tsgURRsaEZ
|
||||
B37DVY1crWhJejmqkQ2d
|
||||
=NWTB
|
||||
-----END PGP SIGNATURE-----
|
||||
|
@ -1,29 +1,27 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA512
|
||||
Hash: SHA256
|
||||
|
||||
DIST mmv_1.01b-15.diff.gz 10613 SHA256 9ad3e3d47510f816b4a18bae04ea75913588eec92248182f85dd09bc5ad2df13 SHA512 965db30f8981a973c93dec14348c451604fe37fbd5576d5eb0e38de8cef21e5b6c9a3560e46725b6beaac2d9722cb9a874f7eb2b5e9d9cdf22e67eb367991550 WHIRLPOOL 4374d053e65c05747509b4a3759b3330e45504b8325ae60f6e70ed67317e5a6383adf334f73e05f2a1ef89b884452169e5a437d583ef402bb4001ee544034210
|
||||
DIST mmv_1.01b-18.debian.tar.gz 13463 SHA256 4af5c83cacb27c7720bf65cac9a4f6c1fe698474a716e2df0fbad9181e6844e7 SHA512 3543aff53c67cab00689d4c8b778447c976a7860a569bd51f74534bec8bd3b67b9e12743bd03bc6fda930748abddd12e16f1965686cbce04bd48bf191fc4127b WHIRLPOOL 57dd2ebb1d075f9479d0466cc39f4cf3ebe3e8457b96a56a0f5d1b63c6ada01ec281fcf5e79220e07256aa1edfb046d8ddf75df8ab6c1ac25ff67074c0760ed2
|
||||
DIST mmv_1.01b.orig.tar.gz 25656 SHA256 0399c027ea1e51fd607266c1e33573866d4db89f64a74be8b4a1d2d1ff1fdeef SHA512 4bf4e096b930bdde225ba5de761e968af3aed33dc13194b1a1a79078cd27e158b04aae131b5167cf5f844e35355d67359443cd598db22da15a5af06752438917 WHIRLPOOL 318484c12416174535ba6e77929798418943ae521e339a7f68b1b7a488b4058cbe88de019e07b705879597ef04d6c325c15d2869b224827dca6d9519c8772aa5
|
||||
EBUILD mmv-1.01b_p15.ebuild 1462 SHA256 e99998fb5839716e25cd6c43c29b3e48232b0d47dfd2ad2108fddea714a8a9a8 SHA512 62a905fa7ac9f5e524e29eb7bb7a5550ea5c940d9328de9d47c0d6ae4404378f7df8e435340f07c53a24ea879bfa427893ed3f1a52cca3f0f19f7bc64d44d5cc WHIRLPOOL 69fb346655f2ec487c826abd937a784e3b90ca9430ab64782536b62a5a064e1d6ef5728707a60f299abf3224ce8076ccc54e7defa2905224d35bee8b713229b2
|
||||
EBUILD mmv-1.01b_p18.ebuild 1391 SHA256 dda504a19189166b71a5779519f2d760238371182704b3688d90e4b3ded919ab SHA512 d4ef4a7bbb39084945e3959978db70c807723ba0e62bfd382f38205cceac56e820da2f573910c914acc64e3a3558f77e8ee35570dbf7ec05f07215ad9af1d9bc WHIRLPOOL a746a5aaa8700d61be56b91601ea8d2323a46c4451093801475fc9132bb4d1849336e0544e0e4916ba36b8639ed198bfd54d67f42387fb1eadeb02a472065451
|
||||
MISC ChangeLog 3225 SHA256 dd1abbf2d68e432636efc2eaaaab4e6e8eee3c324205201c79c282e84bb70a86 SHA512 0ba519e7b338a525d2ef1fac6e6d76a7e63f687c84021867a9b0200acf07ab851fca1a16a1726ab1e07791e373c74ffd754ff2e759964ff7ee497b19a3659f5c WHIRLPOOL 4166fa84515528c6a9fe6c03fdbfb9bea8363ef892cd0907a4ef5feedec7fa4932e17819a851925fd38b68e72216d62cb136f9eac57f6faec93d0c0dcabc6270
|
||||
EBUILD mmv-1.01b_p18.ebuild 1389 SHA256 f9d9a9282d0958bb61e5098b20e4dcb49bd1845431472f402748529bf1d83f2e SHA512 df9267802bb7dd486180060f5d8e9da59e443dcb27d48cb4e14cd828af739c2ca24fb4be6de448158a5ffb57983177bac1f9679feb9eca445e5596b53219e382 WHIRLPOOL 8a0ad296a5205a8e8a3a2ec38c7780c30966b6b2ab80c71527d1993f6ae559f9b0f177b9754169c02457761d9d0da33b9ea9efa09b040ba7456427568c4c8fdf
|
||||
MISC ChangeLog 3332 SHA256 510545af3e33bf705205606eb0c505621cccf43547150799e897c18322464f1b SHA512 a1dc1a33e0bf8f5c19c17785719397a8fed62e43dbd3ab06817753738debcfcf385e2e7abfae0c86cef9752a3a6485add4c75f9d8d277c91ee273b1681b8b881 WHIRLPOOL 440fbf9fc88b514e5e76dc4af72229470fd77221d7d170e1525a518a28e6a25a553bf526884a62a8ce6d540b94f2956d92bbff54f97c4f48bca2dc3776f48144
|
||||
MISC metadata.xml 165 SHA256 75ca85c472d4181ae0de529c83826baaebe75d9e750ee6621758b5096bceffcd SHA512 d99326d50355f1fa041618844027c043a114e7e63dec3c2d6c0c6023a5863bde8e62706bed974a394e21ce2e64ddf5539750c30e5913dacb39ed37cfd62e6eb3 WHIRLPOOL bb8b8cc1c4d9312dfe9015934c3c315a1ea6b9b6da2db22b231b434fd144ee7690ec2e242a1fba9c8e601610dc5cc9061c1995dd33c5b59c78a19a71f71d7a76
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2.1
|
||||
Version: GnuPG v2
|
||||
|
||||
iQJ8BAEBCgBmBQJVljmkXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
|
||||
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ0QUU0N0I4NzFERUI0MTJFN0EyODE0NUFF
|
||||
OTQwMkE3OUIwMzUyOUEyAAoJEOlAKnmwNSmie0YP/3KZlvdmxnv6kFe/6qTjYbLU
|
||||
9q2FlQj82OUQzXABgwu61wHf6YqOIxtpj/MDayzgPqv5jcyLSWHwGTenyQXPpFVP
|
||||
NaHkBfmCrCN4okdxdLDY5ea4WyBgne5+yovun453izVV9uhRipWyWlIVYtBT8PLH
|
||||
EImtlvAIKUBdNE2bUQWiC/a26r8BIfxoOhBthjsVVgl4InJkCPDrrhcjABxyV681
|
||||
UZYdc/zg0h25LzxR0npnR35sZwQEjWcJRCESrmNuZrkQB9IOu+FvOCzx2Nb6OJRy
|
||||
PIEcr8SqnB+wmXYFfbUKmB0yB7CsDZrqo9fCu9p6d1QLI4aE5+7E/433iteWoklo
|
||||
JrO6PU2UOUht5riaS09+CBUI641o2p1Nho8dbSrngBZJaNJZOpAX56dwxXNLWN9+
|
||||
Q3Psmb0k131B2FP/Nm7gK1zG4SVkSgaeTdaWrH551Z/837Fxu+Kz4xpWrrpK8nmR
|
||||
jLFV4lRPjWKHDCRBp2fpXwzepjTzLnXZJzc4HcPIwTtAWe6/nyDrvPIc2RP2LGht
|
||||
G0kkFYAcGXy+BnPea/q+Ngb4VxxPDuT8/AygV0NICX6E5cbYHA/dBCM2perZrkjy
|
||||
AQk4dcW8F0B6H8qHKDBS1h0/1/81XgJX5Gp68Dk5ViQmHv804gxQCI6Pm/RUpnIK
|
||||
1f2li/n8rDyXOI3Ba62G
|
||||
=89Xv
|
||||
iQIcBAEBCAAGBQJVv1bFAAoJELp701BxlEWfDe8QALKDKrm9lOc6iLlhxdt9x45L
|
||||
15mFAhX3Y8m2m2CijCkBqUKNd8iZg+NprtS7hNw8f/kVZdr/Of4Y00jyQfNyD3/t
|
||||
SB/kGbQ/5lObRvA7Rja8MpRyW0yrgN4gbdNDeoqm9jGeinx7jYmVa8fvvECPfk8M
|
||||
bdUD+8K4UGMwSlpu97tTZ9HTSUmJ0vRdycGHjaYyukxyLI33GH1w5eQ7n1OS8fGu
|
||||
vKC3kA5xfhV7hf27kho9uC4V/3srNvYdiSWBa3dMOWAcOGchMJqs3EP9ELcm6rjd
|
||||
hAdvBS2ZRn6J1zvc+9/cgYiKE8doPbekn467zy2OdM9SRVtdAR3X8vBNNSFuY60s
|
||||
oTEuxFtZEoLEXQurPP2bK900xxBkVuWI/ApIuiUrKtMRrm1BqIQjq0vXYXMiNdHt
|
||||
X6e3vstRbi0D3BhRHjfzaiGiZps0WEsQUCrmhDO7DU0aPUw+WhScZVXx35VUueQA
|
||||
g26dfiKtyFxLnIBJ+in0m3wqd7euhwOeZI3rjPf6PAq+JGieUrVPfWwtKAIeVWLZ
|
||||
tlJM5G00lLfgln4enk8Xcdh3y2RMsOwYJ9LUb11VIUzKjpP2YyIppyBRxQNP8E0l
|
||||
jdu0skLjXKuwmljdi+iuoTSropp9lq+Xn53RYmYxMckYjeDpjCIE98FVYhvh/GHE
|
||||
BXFkKJBHX5rCLW07u/Ak
|
||||
=adFJ
|
||||
-----END PGP SIGNATURE-----
|
||||
|
@ -1,12 +0,0 @@
|
||||
# ChangeLog for app-text/deplate
|
||||
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-text/deplate/ChangeLog,v 1.2 2013/05/04 04:57:02 naota Exp $
|
||||
|
||||
04 May 2013; Naohiro Aota <naota@gentoo.org> deplate-0.8.5.ebuild:
|
||||
Add ~x86-fbsd.
|
||||
|
||||
*deplate-0.8.5 (06 Apr 2013)
|
||||
|
||||
06 Apr 2013; Naohiro Aota <naota@gentoo.org> +deplate-0.8.5.ebuild,
|
||||
+metadata.xml:
|
||||
New package app-text/deplate written by me. #446562
|
@ -1,24 +0,0 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA256
|
||||
|
||||
DIST deplate-0.8.5.gem 271360 SHA256 b1cc96083c752868e5559cd86e5c7a0c7765b127a8a39d6de239e47692a41c23 SHA512 52c0d323d19e08f9fa169eebd03871e4acc11539a73910bd6124a3328ccaeb077519d8a955a3d0035bbe5eea0479c44051e246944556dd1dea3ec4d7c451f840 WHIRLPOOL 29a539516fda86675c28fcb29f159d725a172d7578bc81c0b2dc707d544ed5162e1037db2e2b1c1aab4d6e80b8cc1dcfb4aabef3c590031118aeb243ad019cac
|
||||
EBUILD deplate-0.8.5.ebuild 511 SHA256 75dbc4e6fdbd56c71f668a62565beb030639980ec20196be2e07bf4201d419df SHA512 7334ab4c84745cf1525d9116396e175fda4c306f85b01bbcd4e5d5847e8e3153713a1f82b116526e17cbef69b240c91b330f15c8823a86a597f2a04bbca20b1a WHIRLPOOL 76d4397356edc6755fcebb86e2deb5040b7a9b5387cbf2523750ded389700ed54656417508f66e82266770911be875599256f002a2d01be5aae3719b31e23509
|
||||
MISC ChangeLog 462 SHA256 935c7162bf7f04dbb4550337d4733bae52b7ac51e0513d2797539ba6849c5ccf SHA512 c11e5a690a980760c5e79f0f7bc0bf39a43c58ed87e658b2bb3973dae10482a221099318b08715143b459ec43a41b5b41bc0c531af71570574403a4540fd5813 WHIRLPOOL 1a7ad5507b0fc3300f7e46a654e7fafcdd155915ebcfe4fd33eb97b3b9d2989d0edb456acc6733df5391c5ece79fb213f7daa5c5af785d64b622f0006d32676c
|
||||
MISC metadata.xml 199 SHA256 9dd8f3acec0b19b6706412f7c940a67d4754a8c651969f28485e3b2fd159f84b SHA512 922483f53064ff87cbc818bee2dcb570ce0dc67dfdb327ab980266767c6dc52d0e0e182c89529c5e6ae40cb841ed12bbce3b65fe471523706a7fb2beeac34ec4 WHIRLPOOL aae6485e3e067a9ec9a4084baf97f5676ff811cafa6522e1bc3525b9ba1309275d7ff203d1bacaa61801b0513ca2dce8d312348b2111bd2fea453d1770efd00f
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2.0.19 (GNU/Linux)
|
||||
|
||||
iQIcBAEBCAAGBQJRhJUfAAoJEDYO1FT4VRUUURUP/1MmW5F5LHC4+OT0qv8XNyvv
|
||||
lPTsZxfo5A2o3nA65MJ+JJgaRo4/XnRCYoWzJzRgrm9NGTULulVv8Zec4XNwxPtA
|
||||
GcyLr4D5v7p6MLmrzKxpS1Ac8PwAaYNjCBY1ZqM/Mv9CKzuDM5l6QX81siH/UI1+
|
||||
35cPEiQgevDsl6ThOMZUzx/A9P6TVLPF/qMYBCeRytQmVpVGskHZPUiXvLNk6R/D
|
||||
anT61XFpncJxI3XqxJgG6LvvmGde2ajj7AYSMkDjEU+NmAZ2zlwp2I2hXojbisC7
|
||||
nqMSRzcxZZ0wxC57qO0vDkbYvwVKxDtZHX2if/opJJjcA01J4OnEUMrkwa0Sethe
|
||||
NaqoY+CBpKG4iaR+UXEshJnkP00G3/E0oIP51tobjMJp0hnKHG24PZ8FrwdOQEYv
|
||||
AhhFdoB6mbsyZqgEjtYQLSul0Cf6GomuQGtuwP1LCbR50BjBscTfKXo7N/mJh4iq
|
||||
MihBlEjvheDlitcHg1ytc7TkZd1nKyvYdo33lbLT/2uo1G4Jzt8UWk4Zq6bbIgSa
|
||||
fCuXc/W7vs7ReGPSpIpPuXdO8yflxrl1UGsbkfkm1dC9q6j1OpJHMScwn4KLiQHD
|
||||
hrRaPg/sXE+3613fV8KxPHDV/LpQyYUMqVzayTqftMmaf5vG7/oQq4+XyNrCy2VJ
|
||||
GwjT9KaVap+6U/OtrFmH
|
||||
=b9rn
|
||||
-----END PGP SIGNATURE-----
|
@ -1,21 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-text/deplate/deplate-0.8.5.ebuild,v 1.2 2013/05/04 04:57:02 naota Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
USE_RUBY="ruby19"
|
||||
|
||||
inherit ruby-fakegem
|
||||
|
||||
DESCRIPTION="Deplate convert wiki-like markup to latex, docbook, html, or html-slides"
|
||||
HOMEPAGE="http://deplate.sourceforge.net/"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86-fbsd"
|
||||
IUSE=""
|
||||
|
||||
all_ruby_prepare() {
|
||||
rm bin/deplate.bat || die
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer>
|
||||
<email>naota@gentoo.org</email>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -1,187 +0,0 @@
|
||||
# ChangeLog for app-text/migemo
|
||||
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-text/migemo/ChangeLog,v 1.54 2015/06/07 08:12:13 jlec Exp $
|
||||
|
||||
07 Jun 2015; Justin Lecher <jlec@gentoo.org> metadata.xml:
|
||||
Add github to remote-id in metadata.xml
|
||||
|
||||
24 Apr 2014; Agostino Sarubbo <ago@gentoo.org> migemo-0.40_p2.ebuild:
|
||||
Stable for sparc, wrt bug #493028
|
||||
|
||||
24 Apr 2014; Agostino Sarubbo <ago@gentoo.org> migemo-0.40_p2.ebuild:
|
||||
Stable for ia64, wrt bug #493028
|
||||
|
||||
24 Apr 2014; Agostino Sarubbo <ago@gentoo.org> migemo-0.40_p2.ebuild:
|
||||
Stable for ppc, wrt bug #493028
|
||||
|
||||
24 Apr 2014; Agostino Sarubbo <ago@gentoo.org> migemo-0.40_p2.ebuild:
|
||||
Stable for alpha, wrt bug #493028
|
||||
|
||||
20 Apr 2014; Agostino Sarubbo <ago@gentoo.org> migemo-0.40_p2.ebuild:
|
||||
Stable for ppc64, wrt bug #493028
|
||||
|
||||
18 Apr 2014; Manuel Rüger <mrueg@gentoo.org> -files/migemo-0.40-ruby-ng.patch,
|
||||
-files/migemo-0.40-without-emacs.patch, -migemo-0.40-r4.ebuild,
|
||||
-migemo-0.40-r5.ebuild:
|
||||
Cleanup pmasked ruby18-only versions. See bug #434064
|
||||
|
||||
11 Mar 2014; Chema Alonso <nimiux@gentoo.org> migemo-0.40_p2.ebuild:
|
||||
Stable for amd64 wrt bug #493028
|
||||
|
||||
10 Mar 2014; Johannes Huber <johu@gentoo.org> migemo-0.40_p2.ebuild:
|
||||
x86 stable, bug #493028
|
||||
|
||||
05 Mar 2014; Jeroen Roovers <jer@gentoo.org> migemo-0.40_p2.ebuild:
|
||||
Stable for HPPA (bug #493028).
|
||||
|
||||
*migemo-0.40_p2 (19 Jan 2014)
|
||||
|
||||
19 Jan 2014; Naohiro Aota <naota@gentoo.org>
|
||||
+files/migemo-0.40_p2-ruby-ng.patch, +migemo-0.40_p2.ebuild,
|
||||
files/migemo-0.40-ruby-ng.patch:
|
||||
version bump to support ruby19. #493028
|
||||
|
||||
21 Feb 2013; Agostino Sarubbo <ago@gentoo.org> migemo-0.40-r5.ebuild:
|
||||
Stable for ia64, wrt bug #455952
|
||||
|
||||
19 Feb 2013; Agostino Sarubbo <ago@gentoo.org> migemo-0.40-r5.ebuild:
|
||||
Stable for alpha, wrt bug #455952
|
||||
|
||||
15 Feb 2013; Agostino Sarubbo <ago@gentoo.org> migemo-0.40-r5.ebuild:
|
||||
Stable for sparc, wrt bug #455952
|
||||
|
||||
13 Feb 2013; Agostino Sarubbo <ago@gentoo.org> migemo-0.40-r5.ebuild:
|
||||
Stable for ppc64, wrt bug #455952
|
||||
|
||||
13 Feb 2013; Agostino Sarubbo <ago@gentoo.org> migemo-0.40-r5.ebuild:
|
||||
Stable for ppc, wrt bug #455952
|
||||
|
||||
13 Feb 2013; Agostino Sarubbo <ago@gentoo.org> migemo-0.40-r5.ebuild:
|
||||
Stable for x86, wrt bug #455952
|
||||
|
||||
13 Feb 2013; Agostino Sarubbo <ago@gentoo.org> migemo-0.40-r5.ebuild:
|
||||
Stable for amd64, wrt bug #455952
|
||||
|
||||
12 Feb 2013; Jeroen Roovers <jer@gentoo.org> migemo-0.40-r5.ebuild:
|
||||
Stable for HPPA (bug #455952).
|
||||
|
||||
11 Feb 2013; Naohiro Aota <naota@gentoo.org> files/migemo-0.40-ruby-ng.patch:
|
||||
Fix the previous commit. #455258
|
||||
|
||||
11 Feb 2013; Naohiro Aota <naota@gentoo.org> files/migemo-0.40-ruby-ng.patch,
|
||||
migemo-0.40-r5.ebuild:
|
||||
Update the patch to deal with dev-ruby/bsearch change. #455258
|
||||
|
||||
11 Dec 2012; Jeroen Roovers <jer@gentoo.org> migemo-0.40-r4.ebuild,
|
||||
migemo-0.40-r5.ebuild:
|
||||
dev-ruby/ruby-bsearch -> dev-ruby/bsearch.
|
||||
|
||||
*migemo-0.40-r5 (12 Oct 2011)
|
||||
|
||||
12 Oct 2011; MATSUU Takuto <matsuu@gentoo.org> +migemo-0.40-r5.ebuild,
|
||||
+files/migemo-0.40-r5-without-emacs.patch, +files/migemo-0.40-ruby-ng.patch:
|
||||
Fixed install directory issue, bug #320617. The patch was submitted by Tomoh
|
||||
K. Clean up.
|
||||
|
||||
29 Nov 2010; Christian Faulhammer <fauli@gentoo.org> metadata.xml:
|
||||
Drop from emacs herd
|
||||
|
||||
27 Sep 2010; Michael Weber <xmw@gentoo.org> migemo-0.40-r4.ebuild:
|
||||
Added ~arm keyword
|
||||
|
||||
07 Jun 2010; Ulrich Mueller <ulm@gentoo.org> -migemo-0.40-r1.ebuild,
|
||||
-files/50migemo-gentoo-0.40.el:
|
||||
Remove old.
|
||||
|
||||
07 Jun 2010; Christoph Mende <angelos@gentoo.org> migemo-0.40-r4.ebuild:
|
||||
amd64 stable (bug #301519)
|
||||
|
||||
11 Mar 2010; Joseph Jezak <josejx@gentoo.org> migemo-0.40-r4.ebuild:
|
||||
Marked ppc stable for bug #301519.
|
||||
|
||||
07 Feb 2010; Raúl Porcel <armin76@gentoo.org> migemo-0.40-r4.ebuild:
|
||||
alpha/ia64/sparc stable wrt #301519
|
||||
|
||||
26 Jan 2010; Jeroen Roovers <jer@gentoo.org> migemo-0.40-r4.ebuild:
|
||||
Stable for HPPA (bug #301519).
|
||||
|
||||
20 Jan 2010; Brent Baude <ranger@gentoo.org> migemo-0.40-r4.ebuild:
|
||||
Marking migemo-0.40-r4 ppc64 for bug 301519
|
||||
|
||||
19 Jan 2010; Christian Faulhammer <fauli@gentoo.org>
|
||||
migemo-0.40-r4.ebuild:
|
||||
stable x86, bug 301519
|
||||
|
||||
*migemo-0.40-r4 (20 Dec 2009)
|
||||
|
||||
20 Dec 2009; Ulrich Mueller <ulm@gentoo.org> -migemo-0.40-r3.ebuild,
|
||||
+migemo-0.40-r4.ebuild, +files/50migemo-gentoo-0.40.el,
|
||||
files/50migemo-gentoo.el, -files/51migemo-gentoo.el,
|
||||
migemo-0.40-r1.ebuild:
|
||||
Depend on dev-lang/ruby instead of virtual/ruby, as requested by graaff.
|
||||
Require migemo-dict built with USE=-unicode, bug 264289. Change EAPI to 2.
|
||||
|
||||
13 Apr 2009; Brent Baude <ranger@gentoo.org> ChangeLog:
|
||||
Marking migemo-0.40-r1 ppc for bug 246953
|
||||
|
||||
25 Dec 2007; Christian Heim <phreak@gentoo.org> metadata.xml:
|
||||
Removing usata from metadata.xml as per #22931.
|
||||
|
||||
*migemo-0.40-r3 (21 Dec 2007)
|
||||
|
||||
21 Dec 2007; Ulrich Mueller <ulm@gentoo.org> +files/51migemo-gentoo.el,
|
||||
+files/migemo-0.40-without-emacs.patch, -migemo-0.40-r2.ebuild,
|
||||
+migemo-0.40-r3.ebuild:
|
||||
Modify build system to work without Emacs at compile time, bug #202796.
|
||||
Don't enable adviced search functions as site default.
|
||||
|
||||
20 Dec 2007; MATSUU Takuto <matsuu@gentoo.org> migemo-0.40-r2.ebuild:
|
||||
Fixed emacs dependency, bug #202796.
|
||||
|
||||
*migemo-0.40-r2 (20 Dec 2007)
|
||||
|
||||
20 Dec 2007; MATSUU Takuto <matsuu@gentoo.org> +migemo-0.40-r2.ebuild:
|
||||
Added emacs USE flag, bug #202796.
|
||||
|
||||
06 Oct 2007; Ulrich Mueller <ulm@gentoo.org> migemo-0.40-r1.ebuild:
|
||||
Minor QA: quote some variables. Add a die command. Drop ppc-macos keyword.
|
||||
|
||||
03 Feb 2007; Diego Pettenò <flameeyes@gentoo.org> migemo-0.40-r1.ebuild:
|
||||
Fix SRC_URI and HOMEPAGE.
|
||||
|
||||
03 Feb 2007; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
|
||||
Regenerate digest in Manifest2 format.
|
||||
|
||||
11 Sep 2004; Tom Martin <slarti@gentoo.org> migemo-0.40-r1.ebuild:
|
||||
Stable on amd64.
|
||||
|
||||
08 Aug 2004; Tom Gall <tgall@gentoo.org> migemo-0.40-r1.ebuild:
|
||||
stable on ppc64, bug #57676
|
||||
|
||||
31 Jul 2004; MATSUU Takuto <matsuu@gentoo.org> migemo-0.40-r1.ebuild:
|
||||
Added to ~amd64.
|
||||
|
||||
30 May 2004; Mamoru KOMACHI <usata@gentoo.org> migemo-0.40-r1.ebuild:
|
||||
Stable on ppc
|
||||
|
||||
04 May 2004; Guy Martin <gmsoft@gentoo.org> migemo-0.40-r1.ebuild:
|
||||
Marked stable on hppa.
|
||||
|
||||
12 Apr 2004; Mamoru KOMACHI <usata@gentoo.org> migemo-0.40-r1.ebuild:
|
||||
virtual/ruby fix. don't assign default ${S}
|
||||
|
||||
12 Mar 2004; Michael Sterrett <mr_bones_@gentoo.org> migemo-0.40-r1.ebuild:
|
||||
~ppc until deps are stable; header fix
|
||||
|
||||
01 Jan 2004; <usata@gentoo.org> migemo-0.40-r1.ebuild, migemo-0.40.ebuild:
|
||||
Changed emake to emake -j1 since emake hangs ;(
|
||||
|
||||
*migemo-0.40-r1 (01 Oct 2003)
|
||||
|
||||
14 Oct 2003; Mamoru KOMACHI <usata@gentoo.org> migemo-0.40-r1.ebuild:
|
||||
Considered as stable for x86, alpha, sparc and ppc
|
||||
|
||||
01 Oct 2003; Mamoru KOMACHI <usata@gentoo.org> metadata.xml,
|
||||
migemo-0.40-r1.ebuild, migemo-0.40.ebuild, files/50migemo-gentoo.el:
|
||||
Moved from app-emacs/migemo. Suggested by Hattya <hattya@inter7.jp>
|
||||
in Bug #30005. Added DEPEND="!app-dicts/migemo-dict" to 0.40.
|
@ -1,29 +0,0 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA512
|
||||
|
||||
AUX 50migemo-gentoo.el 38 SHA256 f34ea07a3270a25cce3430e4781df47d9903052c9f3a4ea24efb64b1e63bd115 SHA512 5c00bcabe2d7cc03013dc7a54b2c653940c08098ca5646d7c73624cb1ca04376ae9dcf88a7166b1925c69f0c5d192d90f6bd790fdef8ed8c3b0f9d163c987da5 WHIRLPOOL cc5e2fd5081f5fb0018e1fa461c0802c7c90891accc55c02c2935dd3d413c5f8941e918af9341040526b037be4c34dab26008dfca91c153c11fca41338f77c14
|
||||
AUX migemo-0.40-r5-without-emacs.patch 529 SHA256 0db5ac9d4f9da5ca77e480f4ef47be3281b8db4382c76c1116eded819675c165 SHA512 0bdd19be142a670cb3447c14e62ef82a521f7e3b7d4e3b7b89cab34b54730b150b5abf059320478edcce5d5b6d8c6e2b901e52f69dd7f1de380655ad3f8a9f1b WHIRLPOOL ebd8c5f9856c83e392f135b207915e18c58016c5747c43f5c8668dfb390bc42e697595f7ff3db8a7d3071ded529a468d58e17b8330116ed9b2495056dbcde315
|
||||
AUX migemo-0.40_p2-ruby-ng.patch 3625 SHA256 dbd99bc24d9d50b824661511bd98e82d3c16409b300db81af1af7ba2af7eece3 SHA512 cba98b17d9cf3cdbe34d358fd4b74d0766f3090a918854d41c388bcb1eb115448d46f62c71e43fa89972b920533eab6a48f3dcfdae362646d6d8061e361a9b00 WHIRLPOOL 942959b5fedc45bd572e600cc29ac0d7ea0c14ff32f8eb913a52a7526cf3d167bcda29ba726c585549ba9628315a576b064663089ba8394666e5a0457bc5c873
|
||||
DIST 0.40p2.tar.gz 1739558 SHA256 c599d94c3889efffebd482d9dcd0d2cd11abf810dee78a2d2318e5f32911b398 SHA512 97cc770bcdf39c286da6bdd6b939a87855de791a43805c9f0dbc44bb8f03a16ca549b8bb96f5e0dfd065f29bd38ffaf7f7928366015a60d92fb43462db36db15 WHIRLPOOL 5fe2ff8b8ae6af60bcfb60fe64d3013f1ab724721b786cc169c7736c2f734a863fafa53c583b03cb59a1552b6763f251427cf407957f79e5325d6edb7aba03ef
|
||||
EBUILD migemo-0.40_p2.ebuild 1695 SHA256 c0d07872edb1192b79e4a5f278a8591d410746256b1d256e4ecbf19573e4d404 SHA512 4dcade75433cb44c30de6aee9aade165df12bf4d48fcb958e528fb63a1e646f1043dc45a56508b2c01a62c5ef60e2b307e8ce4fe7f9cbe029e07fefb8d665306 WHIRLPOOL e882f48d0bf12805098c562972b645957597854b3968243b2e18865d7910531ddfc4d0d2fb9d9dc1cd35dcf7b4e0b7e7accce0931e989682dd23771f2c6da634
|
||||
MISC ChangeLog 6938 SHA256 47800d6ac06450051110d3b4de319858066f90346a4590a6760fbe2faaab80f0 SHA512 6d1f5f97a60fcc67f6d2f502b7551dfe7b63896195cdab79ffd3625b1a5a500545eab4fb8677c24e36103850445f936f38f3af6acf7dfc79fa32da7f7457fac5 WHIRLPOOL ab03039b14cee2c2bb1044f7b056557fb3531e31a1bff6c8446cd21633098c9b3f671cbd413edb9f8e4dc2622af6c3067786214295de9a564f8fef04dc4aa626
|
||||
MISC metadata.xml 251 SHA256 14f2becf698dbb84cd4cba089b39e8425958f35e8606fa2e27cca7b8c5823e7a SHA512 6404e1b9250cb81c5af825bb8e6cec34b8e487cb4f9764aa0026bda494e6b4e57f6668ef84bf00b65bd27d26a9cce5593c838210a28e71f570771a3670b20d06 WHIRLPOOL 51edcba5ca250461be21a61b25f34d9cacfd4c1addf224ddeba4eb528e643a257798061e5260e5b34207e80f1d84c7830f1003ed0175bfadcd1d4aaf26b6b7f7
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2.0
|
||||
|
||||
iQJ8BAEBCgBmBQJVc/zeXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
|
||||
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ0QUU0N0I4NzFERUI0MTJFN0EyODE0NUFF
|
||||
OTQwMkE3OUIwMzUyOUEyAAoJEOlAKnmwNSmi9VQP/iuNv/mWQ7Mq3hDiEWZBzpsW
|
||||
fb4riJ3FsiwQ/uO9bOLTeScur1t0Jb7+cdzp/JRxPtZ0RjzepgBLb1k3XtpsdSbK
|
||||
/a2rvPNtSJAAsGOqRfzDiWV5x7h4fk0eP3KAJA9HOJfx4WAMX4C35SgtQHeMaiHN
|
||||
+f7cyWhRItE3Ux0LFeFWc0t73CtdGoHeR095zMkB+o3dUgV77oJMUhxgnCIJRukn
|
||||
d2uMwwricEoLE7JPEKisPj9eTm0Rc9n4gmTYfKekIhEtDaKVPSBQojQaYMxIQQyc
|
||||
QKeAmY/snxbPx7CwnfEElMld88Hh8a8MeBxWrhO7c/+RAJ4rJ5FAoE8DrmAAwRU2
|
||||
K1r7hYZmVGoGERk25j7wRNQGr64Mge3xIZChjYem3LWglNbY6C7lLGZX+D9diBhM
|
||||
ZV9VnHTAKyAG4dE6j6jRbxcxhJgQXo82jw+/a/0meEHbjNhVPFpWEBNCQK1Bl3OQ
|
||||
khOmldkDPPxWJ3Ovl6RF6UV5UMbrC7IBFc2LJih8wFQwZ4HFacn8B27FA5WdkM8/
|
||||
G+UQSfuBBdlKh5nEM7dgiPeKHXCNipHeAwmzo3bgNYOUCW/Ptr6vLG6lfRaPOI3f
|
||||
cl+JSKrRBj9Y8SR+HlO06b5CyXjcFIFUDDlZZhPb/juSAgU1wtp52fyyiCwg+SJY
|
||||
xB+rESfZposmb72ufTGt
|
||||
=XN5L
|
||||
-----END PGP SIGNATURE-----
|
@ -1 +0,0 @@
|
||||
(add-to-list 'load-path "@SITELISP@")
|
@ -1,12 +0,0 @@
|
||||
diff -Naurb migemo-0.40.orig/acinclude.m4 migemo-0.40/acinclude.m4
|
||||
--- migemo-0.40.orig/acinclude.m4 2001-07-10 13:35:18.000000000 +0900
|
||||
+++ migemo-0.40/acinclude.m4 2011-10-12 02:03:28.428140601 +0900
|
||||
@@ -23,7 +23,7 @@
|
||||
[ --with-emacs=EMACS compile with EMACS [EMACS=emacs, xemacs...]],
|
||||
[case "${withval}" in
|
||||
yes) EMACS= ;;
|
||||
- no) AC_MSG_ERROR([emacs is not available]) ;;
|
||||
+ no) EMACS=no ;;
|
||||
*) EMACS=${withval} ;;
|
||||
esac], EMACS=)
|
||||
if test "x$EMACS" = "xt" -o "x$EMACS" = x; then
|
@ -1,96 +0,0 @@
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 7548ae0..1f9213a 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -15,17 +15,17 @@ migemo.el: migemo.el.in
|
||||
sed -e 's!@pkgdatadir@!$(pkgdatadir)!g' migemo.el.in > $@
|
||||
|
||||
migemo-dict: # SKK-JISYO.L
|
||||
- ruby -I. migemo-convert.rb SKK-JISYO.L > $@
|
||||
+ ${RUBY} -Eeuc-jp -I. migemo-convert.rb SKK-JISYO.L > $@
|
||||
|
||||
migemo-dict.idx: migemo-dict
|
||||
- ruby -I. migemo-index.rb migemo-dict > migemo-dict.idx
|
||||
+ ${RUBY} -Eeuc-jp -I. migemo-index.rb migemo-dict > migemo-dict.idx
|
||||
|
||||
migemo-dict.cache: frequent-chars migemo-dict migemo-dict.idx
|
||||
- sort frequent-chars | ruby -I. migemo-cache.rb migemo-dict
|
||||
+ sort frequent-chars | ${RUBY} -Eeuc-jp -I. migemo-cache.rb migemo-dict
|
||||
|
||||
frequent-chars: genchars.sh migemo-dict
|
||||
sh genchars.sh > tmp.list1
|
||||
- cat tmp.list1 | ruby -rromkan -ne 'puts $$_.to_kunrei' > tmp.list2
|
||||
+ cat tmp.list1 | ${RUBY} -Eeuc-jp -rromkan -ne 'puts $$_.to_kunrei' > tmp.list2
|
||||
cat tmp.list1 tmp.list2 | sort | uniq > frequent-chars
|
||||
|
||||
clean-local:
|
||||
diff --git a/acinclude.m4 b/acinclude.m4
|
||||
index f74e70e..50ca46c 100644
|
||||
--- a/acinclude.m4
|
||||
+++ b/acinclude.m4
|
||||
@@ -123,7 +123,7 @@ AC_DEFUN(AM_PATH_RUBYDIR,
|
||||
AC_MSG_CHECKING([where .rb files should go])
|
||||
if test "x$rubydir" = x; then
|
||||
changequote(<<, >>)
|
||||
- rubydir=`ruby -rrbconfig -e 'puts RbConfig::CONFIG["sitedir"]'`
|
||||
+ rubydir=`${RUBY} -Eeuc-jp -rrbconfig -e 'puts RbConfig::CONFIG["sitedir"]'`
|
||||
changequote([, ])
|
||||
fi
|
||||
AC_MSG_RESULT($rubydir)
|
||||
diff --git a/configure.in b/configure.in
|
||||
index 2948e25..7ee3afc 100644
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -10,7 +10,7 @@ AM_PATH_LISPDIR
|
||||
AM_PATH_RUBYDIR
|
||||
|
||||
echo -n "checking Ruby/Bsearch... "
|
||||
-if ruby -rbsearch -e 'exit(if Bsearch::VERSION >= "1.2" then 0 else 1 end)'; then
|
||||
+if $RUBY -rbsearch -e 'exit(if Bsearch::VERSION::STRING >= "1.2" then 0 else 1 end)'; then
|
||||
echo found
|
||||
else
|
||||
echo not found
|
||||
@@ -19,7 +19,7 @@ else
|
||||
fi
|
||||
|
||||
echo -n "checking Ruby/Romkan... "
|
||||
-if ruby -rromkan -e 'exit(if Romkan::VERSION >= "0.3" then 0 else 1 end)'; then
|
||||
+if $RUBY -rromkan -e 'exit(if Romkan::VERSION >= "0.3" then 0 else 1 end)'; then
|
||||
echo found
|
||||
else
|
||||
echo not found
|
||||
diff --git a/genchars.sh b/genchars.sh
|
||||
index 8e186d1..9a23483 100644
|
||||
--- a/genchars.sh
|
||||
+++ b/genchars.sh
|
||||
@@ -1,6 +1,7 @@
|
||||
#! /bin/sh
|
||||
|
||||
-ruby -rromkan -nle 'head = $_.split[0]; if /^\w+$/ =~ head then puts head else roma = head.to_roma; puts roma, roma.to_kunrei end' migemo-dict |uniq> tmp.ascii.words
|
||||
+RUBY=${RUBY:-ruby}
|
||||
+${RUBY} -rromkan -nle 'head = $_.split[0]; if /^\w+$/ =~ head then puts head else roma = head.to_roma; puts roma, roma.to_kunrei end' migemo-dict |uniq> tmp.ascii.words
|
||||
|
||||
# Get the top 500 frequent ngrams.
|
||||
for i in 1 2 3 4 5 6 7 8; do
|
||||
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
||||
index b19bdb1..76f1638 100644
|
||||
--- a/tests/Makefile.am
|
||||
+++ b/tests/Makefile.am
|
||||
@@ -5,13 +5,13 @@ noinst_DATA = test-dict.idx test-dict.cache
|
||||
|
||||
|
||||
test-dict.idx: test-dict ../migemo-index.rb
|
||||
- ruby -I.. ../migemo-index.rb test-dict > test-dict.idx
|
||||
+ ${RUBY} -Eeuc-jp -I.. ../migemo-index.rb test-dict > test-dict.idx
|
||||
|
||||
test-dict.cache: test-dict test-dict.idx ../migemo-cache.rb
|
||||
- ruby -rromkan -ne 'puts $$1.to_roma if /^(.+?) /' test-dict |\
|
||||
+ ${RUBY} -Eeuc-jp -rromkan -ne 'puts $$1.to_roma if /^(.+?) /' test-dict |\
|
||||
while read line; do\
|
||||
- echo $$line | ruby -ne '$$_.chomp!;1.upto($$_.length) do |x| puts $$_[0,x] end';\
|
||||
- done | ruby -I.. ../migemo-cache.rb test-dict
|
||||
+ echo $$line | ${RUBY} -Eeuc-jp -ne '$$_.chomp!;1.upto($$_.length) do |x| puts $$_[0,x] end';\
|
||||
+ done | ${RUBY} -Eeuc-jp -I.. ../migemo-cache.rb test-dict
|
||||
|
||||
clean-local:
|
||||
rm -f tmp.*
|
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>cjk</herd>
|
||||
<upstream>
|
||||
<remote-id type="github">yshl/migemo-for-Ruby-1.9</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -1,71 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-text/migemo/migemo-0.40_p2.ebuild,v 1.9 2014/04/24 09:05:23 ago Exp $
|
||||
|
||||
EAPI=5
|
||||
# jruby: dev-ruby/ruby-romkan not work
|
||||
USE_RUBY="ruby19"
|
||||
|
||||
inherit autotools elisp-common eutils ruby-ng
|
||||
|
||||
MY_PV=${PV/_/}
|
||||
DESCRIPTION="Migemo is Japanese Incremental Search Tool"
|
||||
HOMEPAGE="http://0xcc.net/migemo/"
|
||||
SRC_URI="https://github.com/yshl/migemo-for-Ruby-1.9/archive/${MY_PV}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 sparc x86"
|
||||
IUSE="emacs"
|
||||
|
||||
ruby_add_bdepend "dev-ruby/ruby-romkan dev-ruby/bsearch"
|
||||
|
||||
DEPEND="${DEPEND}
|
||||
app-dicts/migemo-dict[-unicode]
|
||||
emacs? ( virtual/emacs
|
||||
app-emacs/apel )"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
RUBY_PATCHES=(
|
||||
"${FILESDIR}/${PN}-0.40-r5-without-emacs.patch"
|
||||
"${FILESDIR}/${P}-ruby-ng.patch"
|
||||
)
|
||||
RUBY_S="migemo-for-Ruby-1.9-${MY_PV}"
|
||||
|
||||
all_ruby_prepare() {
|
||||
cp "${EPREFIX}"/usr/share/migemo/migemo-dict .
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
each_ruby_configure() {
|
||||
RUBY="${RUBY}" econf $(use_with emacs) --with-lispdir="${SITELISP}/${PN}"
|
||||
}
|
||||
|
||||
each_ruby_install() {
|
||||
emake DESTDIR="${ED}" \
|
||||
$(use emacs || echo "lispdir=") install
|
||||
}
|
||||
|
||||
all_ruby_install() {
|
||||
rm "${ED}"/usr/share/migemo/migemo-dict
|
||||
|
||||
if use emacs; then
|
||||
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
|
||||
fi
|
||||
dodoc AUTHORS ChangeLog INSTALL README
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if use emacs; then
|
||||
elisp-site-regen
|
||||
elog "Migemo adviced search is no longer enabled as a site default."
|
||||
elog "Add the following line to your ~/.emacs file to enable it:"
|
||||
elog " (require 'migemo)"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
}
|
@ -1,28 +1,26 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA512
|
||||
Hash: SHA256
|
||||
|
||||
AUX talkfilters-2.3.8-format-security.patch 862 SHA256 d13acaf21d0b5147e35520220f5bb34eb517975bec20a63ebcc4e6c1daeb2663 SHA512 b210777c038878cdd06365a13591c723151356864c08bee700005e509b2f0f6aec4819730ca631d401e4cbb9d3dbd3a4a6551f0920819fa6097585ae43f6c8f4 WHIRLPOOL db516178dbfd99c4057c8fcc20b4144b4704127407810df9e3532ae3066f64b6da221e5059285106d6b9fb1b2bb7438a72946e09734fe30e25fb66b73dab86bc
|
||||
DIST talkfilters-2.3.8.tar.gz 821338 SHA256 4681e71170af06c6bffcd4e454eff67224cde06f0d678d26dc72da45f02ecca6 SHA512 3fb317c572e95756fea9dcbaeac01e9576b05f5b0710e64513ecd05ec219f8050dec3bc5bc5d0d5f00c642487925765843da03525cfcb23925cab3c321272b28 WHIRLPOOL 81a7ec75d4a71794675b52da0feaf729048082fb7531c06fedb5ad8e3beb8e8e198d071ecac479cd54cb06123b0245e3614abcdf27d26b7a5eaaebeb179d5a0c
|
||||
EBUILD talkfilters-2.3.8-r1.ebuild 701 SHA256 0d1a33cdc02946a2343f748b24932203b3260f42aaf21012fb85ef17b0bba6d9 SHA512 62918d64ba7910dfac657a98045c0378630fd77cc98e04c0f8d57bdc2b82ca15ae86b132161f7af01bb83253d2d12d33a2cd3e2312d3603f606c95708dc69a21 WHIRLPOOL f08fb96dcda893c65ffe4ee69d0b4d477bdce1ec586492671dcf23c46d5115da9ecf9b3721b95f63b9656f1558dcae5226c4b722450eeb5f928657d00deeb7fb
|
||||
EBUILD talkfilters-2.3.8-r1.ebuild 699 SHA256 3b8523edd65a915bd0dc50312cf607719ff60b365554fd82132016c0627ea728 SHA512 0b1f0137e73b0422ca6d432bc6d0e2b518c8330335426ff22eb469332334685ac7793bb0b27dc69632e1191f6b3ed653f199d02d5f513110093893614db994f0 WHIRLPOOL 9b0ba0077ee89a31d4e1982b799d88074fe1bf6fe3500acf7a659e3719dd9dea6e309c902d41ec32113c2d1776c9c33da1c580d2e0dd28265b670d795b4d64d2
|
||||
EBUILD talkfilters-2.3.8.ebuild 688 SHA256 23c9d49857c35c7824dc6eb467b9ff57335712984514215d03758415abc56aae SHA512 e1ceeec92e4083891ba11ff79b466a78b5fb245ad569422e8d4ed7bf68ccce7d49399a069e00083b2ba9140ce14be0e13b62ee5997011f614ceb6d67ac373cad WHIRLPOOL 51c4d96ed7a0ea769355808191f8281513d8c1df51e2c6b8e095679e865c151a9b8d1cf3606cb5a18aed3da8382051c502c417932ab429b22476765864bd1179
|
||||
MISC ChangeLog 4494 SHA256 e5bd9f213a57e98ce126b33bc77b435ec65a04bb58a55a9a7e93df3bb988d892 SHA512 de9c3d776d66c21d4771e748a93f616794d913509a14c555022556d856fa6117fa58d020dbae02cccefbe6b230a402d4429b97fb9f2720385eb218df03c5a271 WHIRLPOOL 6a918c893f493103b96899ee5c910b9e58291cf6e4e1586d26e868ce4bb3eb69f66a793fbeeaa40ba73b9b9a187c9600e8612ec438d90f4577b7bb987f1b6b5c
|
||||
MISC ChangeLog 4608 SHA256 f3b8c129b5681dcd6d486af4aa06651c97135a9840b9af0fe4fdac8b5ad0470f SHA512 61cf4001ac00c0ab8188bd62370e3a029380fe679fe026fa48afd2b5790c86458a46cabee269940c6671e6a2fd32f268b0aa37db4dce483420d3e4a74ecea5f2 WHIRLPOOL 91ffa9102874edf61538f5b6d0666f0cf4fee93abe2c5a1907bfdb40e4f64feb18a64c25025ea7dda199f0b0068350a1466159dea212d4afa28d4acea8e3513d
|
||||
MISC metadata.xml 852 SHA256 4fd426abfa5df4a9abc32650e65f477abb597d5591a014e5ea16c7429308678b SHA512 ca0e8e24567e85950ea915a302b4a362a3494c7c1e795886b96911f91aa1fd7c3e17eab47f128afe291abfeea99ce65fd0abab8334f934ae71bffa525a087720 WHIRLPOOL 414d5c4d9a78eea79d9646a1dd2e1121b2fc3faf02170ffb4ef496e439db87cb2c98f35fc2350af810e447c133f5bfeceb302a4a0217001bc5334ad7b0abc813
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2.1
|
||||
Version: GnuPG v2
|
||||
|
||||
iQJ8BAEBCgBmBQJVlj3ZXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
|
||||
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ0QUU0N0I4NzFERUI0MTJFN0EyODE0NUFF
|
||||
OTQwMkE3OUIwMzUyOUEyAAoJEOlAKnmwNSmi6bUP/1KIH2i/LPrxv4LCvPyAJEES
|
||||
fj/IELUyas9FJmmb8HVBZcLo0b1VoqpR9Kp367/wv1bUzhZVbdMDNcJ+H46WOFyd
|
||||
EQdbMtUxQg2g4L+R/Vr/DP0K9aajPpY0FO1Hua5NLO9ZOkAG50TfkPqRbLqXgvTm
|
||||
3TNmUnUT7dtZw6Ueln0abxaq25AvEmsIvf1+epRm53yvXoD/PPXX2vv3zB+ZeJGs
|
||||
tuVNdUG+RB33uzic8hGLVYJkstxu+uMh1burmifseUmUfuHPihn8FGMZaiPthD4K
|
||||
1CyU29zudjfE/BgbQ6y2Kl63yPfBdNV5HZYmgrlJauyj63lMdzQwAjKy3Z5ByVO8
|
||||
Cy5GF/oT8CeO6Jzs0MA/GuaAJT2HPVRInTiVS7FQOJhc9nMNrz+8V+DYgMGtduVT
|
||||
rYH23LyaL/OowoMc8FHVwwwyD9NjzlYMi9QvOHZj4s4DeIILfxxjGI7i9Az2xEj/
|
||||
FJu0nD1LTCbkKJ5r+NoDlG5bkPUqp+AcdqwwnSzvlwThwI4IDqI2rklY0VWoaASz
|
||||
MNuZFUuMGhNRJaE4nqR+6yKJAfjXE+zFYvjpTLSfXtl3ToTLkB0oWkdVKFp7iaLi
|
||||
2TLK5PFs//YQ2qU9GguJO8T53QrQmlo9WJGX8EBqAscrc3G2CpW3zwRX4Ay85srf
|
||||
6ui1YG+XIirdzAgNATFv
|
||||
=FMqv
|
||||
iQIcBAEBCAAGBQJVv1bPAAoJELp701BxlEWfvHkP/31jaE/lJiHC1GkChtdq8ai+
|
||||
J3u7/DZyG8x2TZGl0PeVWcoHlzZd01xfsJ9RpQ/DUiKBUXIyHHFFKP7zZqlhCuNA
|
||||
+H9vHOpAD7QQPW82aCwMYjM6w548SRgCKCsCou1/ZTW22FEiZExYY39S3fBSGhwI
|
||||
liD852Q99wCrnilRLy4acHDPB4SPtilHHtk4zL5wn+vbpF4gy0ASLG9IUd4Z49A5
|
||||
e0cVMFrdCmJK5q26pSvzlsDTIxhnelZpgFnJGcTsyNy/fu2Nfgme0OYlszO0cHzB
|
||||
q/sTKeQmopInXQ7GMMEdt2GLPCdIlBJMoIDiwlj2Jyu7lsGL2YfJGRhxB77LfF0K
|
||||
OPD38jstow5WWEO5QvV9ZJ4AdwBwjkt1Y5dit7gbl5cuw+NvAqJ9+WKTu/Q3yK87
|
||||
hkunEbyTvOAPS1wwxZAr6oea9Lae5wFn28AmqZ6k8KcpnRovcpFgsbtUh7sKmyOX
|
||||
4eb5k3faj6CbfO0uUDxfEqu0vTk1zMEjwzVGbQZqMQCTtqCTz/2abbOB7XM0RXAa
|
||||
aHfTC4CFwzeYaDnl3UeSoVGXQeUAjnc9G6xjJ+bX79wDr2oJB46ap1v7R+e+kx4b
|
||||
OsCiT/XDzlOqsxETDoHXjLeAz4hY/HVzABptfJC9iwvgyWF+TtOumCqOZcTVIwJT
|
||||
sXdiaS5PpZKCulWz0uAS
|
||||
=SgxC
|
||||
-----END PGP SIGNATURE-----
|
||||
|
@ -0,0 +1,110 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-text/tesseract/tesseract-3.04.00-r1.ebuild,v 1.2 2015/08/03 15:29:30 tomka Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
MY_PN="tesseract-ocr"
|
||||
URI_PREFIX="https://github.com/${MY_PN}/tessdata/tree/${PV}/"
|
||||
|
||||
inherit eutils autotools autotools-utils
|
||||
|
||||
DESCRIPTION="An OCR Engine, orginally developed at HP, now open source."
|
||||
HOMEPAGE="https://github.com/tesseract-ocr"
|
||||
SRC_URI="https://github.com/${MY_PN}/${PN}/archive/${PV}.tar.gz
|
||||
${URI_PREFIX}/eng.traineddata
|
||||
doc? ( http://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.02-doc-html.tar.gz )
|
||||
linguas_ar? ( ${URI_PREFIX}/ara.traineddata )
|
||||
linguas_bg? ( ${URI_PREFIX}/bul.traineddata )
|
||||
linguas_ca? ( ${URI_PREFIX}/cat.traineddata )
|
||||
linguas_chr? ( ${URI_PREFIX}/chr.traineddata )
|
||||
linguas_cs? ( ${URI_PREFIX}/ces.traineddata )
|
||||
linguas_de? ( ${URI_PREFIX}/deu.traineddata
|
||||
${URI_PREFIX}/deu_frak.traineddata )
|
||||
linguas_da? ( ${URI_PREFIX}/dan.traineddata
|
||||
${URI_PREFIX}/dan_frak.traineddata )
|
||||
linguas_el? ( ${URI_PREFIX}/ell.traineddata )
|
||||
linguas_es? ( ${URI_PREFIX}/spa.traineddata )
|
||||
linguas_fi? ( ${URI_PREFIX}/fin.traineddata )
|
||||
linguas_fr? ( ${URI_PREFIX}/fra.traineddata )
|
||||
linguas_he? ( ${URI_PREFIX}/heb.traineddata )
|
||||
linguas_hi? ( ${URI_PREFIX}/hin.traineddata )
|
||||
linguas_hu? ( ${URI_PREFIX}/hun.traineddata )
|
||||
linguas_id? ( ${URI_PREFIX}/ind.traineddata )
|
||||
linguas_it? ( ${URI_PREFIX}/ita.traineddata )
|
||||
linguas_jp? ( ${URI_PREFIX}/jpn.traineddata )
|
||||
linguas_ko? ( ${URI_PREFIX}/kor.traineddata )
|
||||
linguas_lt? ( ${URI_PREFIX}/lit.traineddata )
|
||||
linguas_lv? ( ${URI_PREFIX}/lav.traineddata )
|
||||
linguas_nl? ( ${URI_PREFIX}/nld.traineddata )
|
||||
linguas_no? ( ${URI_PREFIX}/nor.traineddata )
|
||||
linguas_pl? ( ${URI_PREFIX}/pol.traineddata )
|
||||
linguas_pt? ( ${URI_PREFIX}/por.traineddata )
|
||||
linguas_ro? ( ${URI_PREFIX}/ron.traineddata )
|
||||
linguas_ru? ( ${URI_PREFIX}/rus.traineddata )
|
||||
linguas_sk? ( ${URI_PREFIX}/slk.traineddata
|
||||
${URI_PREFIX}/slk_frak.traineddata )
|
||||
linguas_sl? ( ${URI_PREFIX}/slv.traineddata )
|
||||
linguas_sr? ( ${URI_PREFIX}/srp.traineddata )
|
||||
linguas_sv? ( ${URI_PREFIX}/swe.traineddata )
|
||||
linguas_th? ( ${URI_PREFIX}/tha.traineddata )
|
||||
linguas_tl? ( ${URI_PREFIX}/tgl.traineddata )
|
||||
linguas_tr? ( ${URI_PREFIX}/tur.traineddata )
|
||||
linguas_uk? ( ${URI_PREFIX}/ukr.traineddata )
|
||||
linguas_vi? ( ${URI_PREFIX}/vie.traineddata )
|
||||
linguas_zh_CN? ( ${URI_PREFIX}/chi_sim.traineddata )
|
||||
linguas_zh_TW? ( ${URI_PREFIX}/chi_tra.traineddata )
|
||||
osd? ( ${URI_PREFIX}/osd.traineddata )
|
||||
"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86"
|
||||
|
||||
IUSE="doc examples jpeg opencl osd png +scrollview static-libs tiff -webp linguas_ar linguas_bg linguas_ca linguas_chr linguas_cs linguas_de linguas_da linguas_el linguas_es linguas_fi linguas_fr linguas_he linguas_hi linguas_hu linguas_id linguas_it linguas_jp linguas_ko linguas_lt linguas_lv linguas_nl linguas_no linguas_pl linguas_pt linguas_ro linguas_ru linguas_sk linguas_sl linguas_sr linguas_sv linguas_th linguas_tl linguas_tr linguas_uk linguas_vi linguas_zh_CN linguas_zh_TW"
|
||||
|
||||
# With opencl tiff is necessary regardless of leptonica status <-- Check this
|
||||
DEPEND=">=media-libs/leptonica-1.70[zlib,tiff?,jpeg?,png?,webp?]
|
||||
opencl? ( virtual/opencl
|
||||
media-libs/tiff:0 )"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
DOCS=(AUTHORS ChangeLog NEWS README ReleaseNotes )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/tesseract-2.04-gcc47.patch"
|
||||
)
|
||||
|
||||
src_unpack() {
|
||||
unpack ${PV}.tar.gz
|
||||
use doc && unpack tesseract-ocr-3.02.02-doc-html.tar.gz
|
||||
mkdir "${WORKDIR}"/tesseract-ocr/tessdata || die
|
||||
cp "${DISTDIR}"/*.traineddata "${WORKDIR}"/tesseract-ocr/tessdata/ || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myeconfargs=(
|
||||
$(use_enable opencl) \
|
||||
$(use_enable scrollview graphics) \
|
||||
--disable-dependency-tracking
|
||||
)
|
||||
autotools-utils_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
autotools-utils_src_install
|
||||
|
||||
if use examples; then
|
||||
insinto /usr/share/doc/${PF}/examples
|
||||
doins testing/eurotext.tif testing/phototest.tif
|
||||
fi
|
||||
|
||||
if use doc; then
|
||||
dohtml -r "${WORKDIR}"/"${MY_PN}"/doc/html/*
|
||||
fi
|
||||
|
||||
# install language files
|
||||
insinto /usr/share/tessdata
|
||||
find "${WORKDIR}" -maxdepth 1 -type f -name "*.traineddata" -exec doins '{}' +
|
||||
doins "${WORKDIR}"/"${MY_PN}"/tessdata/*
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue