parent
8c9b496292
commit
871cfd9f33
@ -0,0 +1,34 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-crypt/shash/shash-0.2.6-r2.ebuild,v 1.1 2014/08/27 13:37:25 mgorny Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit bash-completion-r1 eutils
|
||||
|
||||
DESCRIPTION="Generate or check digests or MACs of files"
|
||||
HOMEPAGE="http://mcrypt.hellug.gr/shash/"
|
||||
SRC_URI="ftp://mcrypt.hellug.gr/pub/mcrypt/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos"
|
||||
IUSE="static"
|
||||
|
||||
DEPEND=">=app-crypt/mhash-0.8.18-r1"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${PV}-manpage-fixes.patch
|
||||
epatch "${FILESDIR}"/${P}-binary-files.patch
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf $(use_enable static static-link)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake install DESTDIR="${D}"
|
||||
dodoc AUTHORS ChangeLog INSTALL NEWS doc/sample.shashrc doc/FORMAT
|
||||
newbashcomp "${FILESDIR}"/shash.bash-completion ${PN}
|
||||
}
|
@ -1,3 +1 @@
|
||||
DIST kasumi-2.3.tar.gz 271947 SHA256 a4a5b34638fdbba6e7b9ddae2aec29c0cb0ddaa799eb50aa14b18a1a9037c92a SHA512 954ecf0baa9ae8f110304d7724cd19a91fc29c17ce197aaa99eed71621b1481d8ca995bb76f354215640001bcaaa9223c1f103e13e1364a99911fb38dd54a3f1 WHIRLPOOL 341cf2e40d49e66560cca34c60e05afe2e4b689912f86646ae72b4b1135ae4406700a870630c9cf21e475ac9d6026af68a8ee1402b8942f2cc85879495f2bbc6
|
||||
DIST kasumi-2.4.tar.gz 281954 SHA256 36de4d3d1cc391bed3f58642311c1f95b7a4b603040852519c4fd6dc3951cedf SHA512 051968048b97633da7eec42d0b2294a45b72c150a2659b1d770ce38774032f49b1b990e5e9b9b523d3b8fe9c3d49ed878529519621296e2e5fc7f3229189b781 WHIRLPOOL ddc71d45c575f5185ec0e0d57b176b5c704eb6ae4b953debd173c8d1f5a81d1d414d0f9320bb72097ea5c91de918f0ade1b98668ef1f125804d0368dd509b682
|
||||
DIST kasumi-2.5.tar.gz 279587 SHA256 f21841ac9991e365abdb515e2c2a1ec9be5914fe8562f01e8571264ceb2528de SHA512 066dda59d84b456c514a896b376bfc6df8ac64404f06fbfa8c369381acb6d260b1f22874885be2eab844f8f3776b944a5c700a966464ebef74d82c28bc97f970 WHIRLPOOL 4295a3c13f66665f4916af159e47e7a98a511a71d1e70d994701975d0b10c16797bc8f1e0894bd6ad556a5dc2a30e6a76c3045719e6a1c2857d65af15c9bdae5
|
||||
|
@ -1,42 +0,0 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-dicts/kasumi/kasumi-2.3-r1.ebuild,v 1.5 2012/05/03 02:18:37 jdhore Exp $
|
||||
|
||||
EAPI="1"
|
||||
|
||||
inherit eutils
|
||||
|
||||
DESCRIPTION="Anthy dictionary maintenance tool"
|
||||
HOMEPAGE="http://kasumi.sourceforge.jp/"
|
||||
SRC_URI="mirror://sourceforge.jp/${PN}/27825/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ppc x86 ~x86-fbsd"
|
||||
IUSE="nls"
|
||||
|
||||
RDEPEND=">=x11-libs/gtk+-2.4:2
|
||||
nls? ( virtual/libintl )
|
||||
virtual/libiconv
|
||||
>=app-i18n/anthy-6131"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
nls? ( sys-devel/gettext )"
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
cd "${S}"
|
||||
epatch "${FILESDIR}"/${P}-gcc43.patch
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
econf $(use_enable nls) || die "econf failed"
|
||||
emake || die "emake failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install || die "emake install failed"
|
||||
|
||||
dodoc README ChangeLog AUTHORS
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-dicts/kasumi/kasumi-2.4.ebuild,v 1.3 2012/05/03 02:18:37 jdhore Exp $
|
||||
|
||||
EAPI="1"
|
||||
|
||||
DESCRIPTION="Anthy dictionary maintenance tool"
|
||||
HOMEPAGE="http://kasumi.sourceforge.jp/"
|
||||
SRC_URI="mirror://sourceforge.jp/${PN}/37311/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd"
|
||||
IUSE="nls"
|
||||
|
||||
RDEPEND=">=x11-libs/gtk+-2.4:2
|
||||
nls? ( virtual/libintl )
|
||||
virtual/libiconv
|
||||
>=app-i18n/anthy-6131"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
nls? ( sys-devel/gettext )"
|
||||
|
||||
src_compile() {
|
||||
econf $(use_enable nls) || die "econf failed"
|
||||
emake || die "emake failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install || die "emake install failed"
|
||||
|
||||
dodoc README ChangeLog AUTHORS
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST vile-9.8k.tgz 2278349 SHA256 af8386a43fdf82ba3c8e4187b8fe850543c5baac769cf26bb2b437e5b3689e24 SHA512 93dce951701f156ebe5aecd39a86556658334a2f262919974bd302238e4b78a63ea6a675fc47fd5b170055e7fba8134db27ff26076be0d1b0cf7a58d697b5836 WHIRLPOOL e75ded06e6eb5234a673a92d27ceb1632150c60e580a27e0c00267a147a3b02005afb62843e373a3112ed8a353f230d4101ad1adfa0a045cba47d21f1b301a20
|
||||
DIST vile-9.8n.tgz 2300678 SHA256 36cea866603483e43e705ba1a96d0d52dc81f9c0d97fbefe5150c50b04b258bb SHA512 c87350325f47ef9338d9e7dca1a22b0d2c23b632cc2338ab07b00a986fc911f2bfbb05c9dcb98f4b606c2f2d0294dec26bcbf45a711cb6ad25c3ecf4b84c9037 WHIRLPOOL 16be864f128b256049a6d0e7cd39a3256415eabec66bcc632db09c6e5d07ef72b775fe28c38c2cfa805e0a495d3bf83d25ac9c5c6d3decaa5c165c91ee5558b1
|
||||
|
@ -0,0 +1,42 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-editors/vile/vile-9.8n.ebuild,v 1.1 2014/08/26 15:15:02 radhermit Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
DESCRIPTION="VI Like Emacs -- yet another full-featured vi clone"
|
||||
HOMEPAGE="http://invisible-island.net/vile/"
|
||||
SRC_URI="ftp://invisible-island.net/vile/current/${P}.tgz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
|
||||
IUSE="perl"
|
||||
|
||||
RDEPEND=">=sys-libs/ncurses-5.2
|
||||
perl? ( dev-lang/perl )"
|
||||
DEPEND="${RDEPEND}
|
||||
sys-devel/flex
|
||||
app-admin/eselect-vi"
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--with-ncurses \
|
||||
$(use_with perl )
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" INSTALL_OPTS="" install
|
||||
dodoc CHANGES* README doc/*.doc
|
||||
dohtml doc/*.html
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
einfo "Updating ${EPREFIX}/usr/bin/vi symlink"
|
||||
eselect vi update --if-unset
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
einfo "Updating ${EPREFIX}/usr/bin/vi symlink"
|
||||
eselect vi update --if-unset
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST vile-9.8k.tgz 2278349 SHA256 af8386a43fdf82ba3c8e4187b8fe850543c5baac769cf26bb2b437e5b3689e24 SHA512 93dce951701f156ebe5aecd39a86556658334a2f262919974bd302238e4b78a63ea6a675fc47fd5b170055e7fba8134db27ff26076be0d1b0cf7a58d697b5836 WHIRLPOOL e75ded06e6eb5234a673a92d27ceb1632150c60e580a27e0c00267a147a3b02005afb62843e373a3112ed8a353f230d4101ad1adfa0a045cba47d21f1b301a20
|
||||
DIST vile-9.8n.tgz 2300678 SHA256 36cea866603483e43e705ba1a96d0d52dc81f9c0d97fbefe5150c50b04b258bb SHA512 c87350325f47ef9338d9e7dca1a22b0d2c23b632cc2338ab07b00a986fc911f2bfbb05c9dcb98f4b606c2f2d0294dec26bcbf45a711cb6ad25c3ecf4b84c9037 WHIRLPOOL 16be864f128b256049a6d0e7cd39a3256415eabec66bcc632db09c6e5d07ef72b775fe28c38c2cfa805e0a495d3bf83d25ac9c5c6d3decaa5c165c91ee5558b1
|
||||
|
@ -0,0 +1,42 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-editors/xvile/xvile-9.8n.ebuild,v 1.1 2014/08/26 15:17:48 radhermit Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
MY_P="${PN/x/}-${PV}"
|
||||
DESCRIPTION="VI Like Emacs -- yet another full-featured vi clone"
|
||||
HOMEPAGE="http://invisible-island.net/vile/"
|
||||
SRC_URI="ftp://invisible-island.net/vile/current/${MY_P}.tgz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86"
|
||||
IUSE="perl"
|
||||
|
||||
RDEPEND="perl? ( dev-lang/perl )
|
||||
=app-editors/vile-${PV}
|
||||
>=x11-libs/libX11-1.0.0
|
||||
>=x11-libs/libXt-1.0.0
|
||||
>=x11-libs/libICE-1.0.0
|
||||
>=x11-libs/libSM-1.0.0
|
||||
>=x11-libs/libXaw-1.0.1
|
||||
>=x11-libs/libXpm-3.5.4.2
|
||||
>=x11-proto/xproto-7.0.4"
|
||||
DEPEND="${RDEPEND}
|
||||
sys-devel/flex"
|
||||
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--with-ncurses \
|
||||
--with-x \
|
||||
$(use_with perl)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin xvile
|
||||
dodoc CHANGES* README doc/*.doc
|
||||
dohtml doc/*.html
|
||||
}
|
@ -1,13 +1,2 @@
|
||||
DIST qemu-1.4.2-6b5934f9.tar.xz 3132 SHA256 76af332ea3a731d04d5d2d909c4372250a156993ca56046dc607a7d43caa747e SHA512 c74cc6c3485cc19809676e7dc796d9f1d5b3d12decf1f0c61a948504471ac85f8b488c1acd0400b02827b1ad6b9745a6b47317c284365122ca772a842852f27e WHIRLPOOL 50dd6e7eed3902547dfae6c6cd73505232ed8abafc523c7df7e65a02cf9b29b3e7a29f4ce286b157c027f82e198ef23dd44a83c6925204317c7bb4d6e350617b
|
||||
DIST qemu-1.4.2.tar.bz2 10416877 SHA256 acae6c92b740ff89c0e31eca23338d4abd733432e51b081017757579b30ecf90 SHA512 aa296b3d06321c81b32fdd2fdcdf07f3c377123f18eadca977335592b64a4f2417eea421fe417b57e468741f707bda31ba907364d762983393272997fdef8999 WHIRLPOOL 782f3c6d8776210450a0c0ac24942d8e1c41995aeb8e910add704f8f6d95ae3392ee942c6b661d4674367d0e443453c7f29356b2b4c71be4ffed54436f90de8a
|
||||
DIST qemu-1.5.3-25d93791.tar.xz 3136 SHA256 311bf6db68e37080a7cb3ea9bd573420b783dd2484ce62a936abba39e3b58446 SHA512 023df394a5dd76e7a0363b0cf994a41f18eac0b1e15ba5aca025dd73456d05535eef729ed6febec245c2f51aa10611366ee68175d80057ce6ab92a3a1c79a191 WHIRLPOOL e8e090eb5f425ba07de3bad58155558bf8aed5db3715e4a9dc8b0b3f0913c1fcbc6e727704e66f3979f57b86b0563efdd0462069ea3f0f7b37c001c564ec3d4f
|
||||
DIST qemu-1.5.3.tar.bz2 11932631 SHA256 39364ccbe82434c4eb8c25813896a1dce2db1977080d06ce13f96aa24ee2a601 SHA512 a14c7ec22cbf94fcc53ae5bc4d663dbcb1e29e14aac7bb2bd03f7ae1afdcf528c4198856db7aba32f0c84b5b9f583137fa4c0cf386a12c8f74c9c8d7825f1c52 WHIRLPOOL b793744e935922e58ff2528ed77ad416cbef086b259dec974f9b0c9aba08949cbe958e468d67ce4606baa66e236902e186f9679e27041fbddef506267d792b15
|
||||
DIST qemu-1.6.0-4c9bed9d.tar.xz 25752 SHA256 c642e8574b43094c6a0be12617514709ca446f08f546a6528ca433af06748bd7 SHA512 6ea00f51c3f35d27050026d5e4418b15ac624c9e58eb35cff252c31d273a6159a299472c8662c50a28cdc3aaa5b4b5028369303a776353822904f72c1300377a WHIRLPOOL 056d10c2b33f416cb2077b94fd1904b708631c7e3885943a41adff26e773905d6df3a81acbe991fc6170456f2a8eabcd2abbc3ccd682dcb9cc055f6d21ac4b00
|
||||
DIST qemu-1.6.0.tar.bz2 12040196 SHA256 3132e58ada26d43b6924e8c2f07db80aa1e5022f3dcf03dee7d8bb9194b2cb48 SHA512 18dfc35eeb6fa48c9e73483c905885ae98191cf76acc00c568d57c6973d912f8bea4de24e85f55308d22e74028b809349b00d7c531c3b2dd5c837cd213a8faac WHIRLPOOL bdf7611557876cf86e207153c6793132511f555940f9e5ad671e4294c3a738a85e9c84c678a7daf73b863a15c7223ba7e7f4fd36c68ee3d59b3beabd7d17930a
|
||||
DIST qemu-1.6.1-452f0d87.tar.xz 8884 SHA256 278e0bf4189949a5d31cc9ac549e286b657247284e5241c06146bf0629e45a1d SHA512 2b40f42b51e338f6d773d215b88626876213daa35c75201e027caa18cd5883826b42ba4c99c685ce57716ab8530aa0fa068cc53e372b6105aa6aba05f705efd4 WHIRLPOOL f062bfa28adbeea95ea4fb09fc4772d801a652766843aff3ab09113e20fe1fe507bbea11e910bf1828339e851b0e85e64ff6934605d0a6c12b275230759ec838
|
||||
DIST qemu-1.6.1.tar.bz2 12041317 SHA256 fc736f44aa10478223c881310a7e40fc8386547e9cadf7d01ca4685951605294 SHA512 b8a5a35aa548359db453a74a3ac54be445fe217b1ba553467e7932edc57f45a44fa36f401db767828d875115df2057b46aa939193b61df7e2d05a8ce1739269d WHIRLPOOL 81c13021a3da9f6363435e5144d0d173aab41e7d1a996921b6034abed6d761d70c022233ee8474c1ecb66b958a27b71a26eec76d837103623b5fb779ebdb5149
|
||||
DIST qemu-1.6.2.tar.bz2 12059106 SHA256 65c5196226e73e327377d741d70004d2ea8fb6799080812b6f3ed8f9269e4eb4 SHA512 bea8ebfc4b8af23f88ebc0acb2ecfe9d38ec8c8a86a94d7f20d8da21ccdbffe79b3213ad5bac2f5175e4fdc98ad149e82250d2a99f0b5415cace82e776033a64 WHIRLPOOL f49b4aa25e09fc61d26a10be9d5a1e8b8008f8a7a60d2e36f6e93c532bb60f8dcb423430ab845decd4feda5cc7683120b54e62426e36ebc1fd62c38e8eeb0db1
|
||||
DIST qemu-1.7.0.tar.bz2 12248954 SHA256 31f333a85f2d14c605a77679904a9668eaeb1b6dc7da53a1665230f46bc21314 SHA512 6ee52444b93fc2953e8080383cc0cdc618a826ddd5252bf5f6faf27d91699a414924d6015d27ea12ce1cc21e135acbc8dde595c84a4ce1e0c7173f0446f867eb WHIRLPOOL 80acb78605ccca21abf0414face6d6ba61707fd100335f5ce4c2502b6adbec96f267dc773469a20336690070285e004668e56581ea09cb25494eb5674dd60974
|
||||
DIST qemu-1.7.1.tar.bz2 12246206 SHA256 d68942a004222eebae5d156ceefb308fabd98edb282d1dde49ec810bbf01bef4 SHA512 deaa209d85b10465a69a0ffffefe1987723bb242cef64d7344adfed5de08e48f53f6096e83821a9d1221df392e3a43b44b666a86aa4fa26d3d95ba631676947b WHIRLPOOL 0a78e3bdf96a035727f0f91e1b6c0f36658e6c40b06085ac802192d65bdd2c670ba6d3f2550aa9ce6224050c3929689744e4b20bacfb33c4aaf887fba86c88ef
|
||||
DIST qemu-2.0.0.tar.bz2 12839647 SHA256 60cc1aa0cad39cec891f970bed60ca8a484f071adad4943123599ac223543a3b SHA512 8fe2e8faa66251aaea7d6017ee71675d5b05f93f92be7e2ad3e1d02af185b3d6c4069bd83a13fb1e35a3e8947aff76f22446b395f97ac18b6f7a99744202e3fa WHIRLPOOL 6b39916acdcaa5e22510afec8a972935e71064de9ff0a3f9a698a8142f66b130a24d0a38cc56a7a92dbdc78d5145abe743a9c6933f819ce9e682b7cffdac1508
|
||||
DIST qemu-2.1.0.tar.bz2 23563306 SHA256 397e23184f4bf613589a8fe0c6542461dc2afdf17ed337e97e6fd2f31e8f8802 SHA512 8c00fd61432420229d762fa2ccf91cb8cec20206e2ec02ab2df13c6b3b9de7605fbfacb0fadd21f20f13c1de4c5216d8b11538738c0d0e5094582ded7c668f2e WHIRLPOOL 9d28aab8e20a5a60e85709d7a192a45425605693e54452f54decd65ecc77b504f1bc6ff60f5e9428314fb04911f966753f39a189adc8aa85776fd3c49b5a6858
|
||||
|
@ -0,0 +1,12 @@
|
||||
https://lists.gnu.org/archive/html/qemu-devel/2014-08/msg03338.html
|
||||
--- hw/acpi/pcihp.c.orig 2014-08-27 12:53:38.200621592 +0000
|
||||
+++ hw/acpi/pcihp.c 2014-08-27 12:53:58.390518561 +0000
|
||||
@@ -231,7 +231,7 @@
|
||||
uint32_t val = 0;
|
||||
int bsel = s->hotplug_select;
|
||||
|
||||
- if (bsel < 0 || bsel > ACPI_PCIHP_MAX_HOTPLUG_BUS) {
|
||||
+ if (bsel < 0 || bsel >= ACPI_PCIHP_MAX_HOTPLUG_BUS) {
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,527 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/qemu-1.4.2.ebuild,v 1.10 2014/04/19 17:12:38 vapier Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7} )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
|
||||
user udev fcaps
|
||||
|
||||
BACKPORTS=6b5934f9
|
||||
|
||||
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 iscsi +jpeg \
|
||||
kernel_linux kernel_FreeBSD mixemu ncurses opengl +png pulseaudio python \
|
||||
rbd sasl +seccomp sdl selinux smartcard spice static static-softmmu \
|
||||
static-user systemtap tci test +threads tls usbredir +uuid vde +vhost-net \
|
||||
virtfs +vnc xattr xen xfs"
|
||||
|
||||
COMMON_TARGETS="i386 x86_64 alpha arm cris m68k microblaze microblazeel mips
|
||||
mipsel or32 ppc ppc64 sh4 sh4eb sparc sparc64 s390x unicore32"
|
||||
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 mips64 mips64el ppcemb xtensa xtensaeb"
|
||||
IUSE_USER_TARGETS="${COMMON_TARGETS} armeb ppc64abi32 sparc32plus"
|
||||
|
||||
# Setup the default SoftMMU targets, while using the loops
|
||||
# below to setup the other targets.
|
||||
REQUIRED_USE="|| ("
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS}; do
|
||||
IUSE="${IUSE} qemu_softmmu_targets_${target}"
|
||||
REQUIRED_USE="${REQUIRED_USE} qemu_softmmu_targets_${target}"
|
||||
done
|
||||
REQUIRED_USE="${REQUIRED_USE} )"
|
||||
|
||||
for target in ${IUSE_USER_TARGETS}; do
|
||||
IUSE="${IUSE} qemu_user_targets_${target}"
|
||||
done
|
||||
|
||||
# Block USE flag configurations known to not work
|
||||
REQUIRED_USE="${REQUIRED_USE}
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
static? ( static-softmmu static-user )
|
||||
static-softmmu? ( !alsa !pulseaudio !bluetooth !opengl )
|
||||
virtfs? ( xattr )"
|
||||
|
||||
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
|
||||
LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)]
|
||||
sys-apps/pciutils[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
>=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.2.0[static-libs(+)] )
|
||||
jpeg? ( virtual/jpeg[static-libs(+)] )
|
||||
ncurses? ( sys-libs/ncurses[static-libs(+)] )
|
||||
png? ( media-libs/libpng[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-1.0.1[static-libs(+)] )
|
||||
spice? ( >=app-emulation/spice-0.12.0[static-libs(+)] )
|
||||
tls? ( net-libs/gnutls[static-libs(+)] )
|
||||
uuid? ( >=sys-apps/util-linux-2.16.0[static-libs(+)] )
|
||||
vde? ( net-misc/vde[static-libs(+)] )
|
||||
xattr? ( sys-apps/attr[static-libs(+)] )
|
||||
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
|
||||
RDEPEND="!static-softmmu? ( ${LIB_DEPEND//\[static-libs(+)]} )
|
||||
!app-emulation/kqemu
|
||||
qemu_softmmu_targets_i386? (
|
||||
sys-firmware/ipxe
|
||||
~sys-firmware/seabios-1.7.2.1
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
~sys-firmware/vgabios-0.7a
|
||||
)
|
||||
qemu_softmmu_targets_x86_64? (
|
||||
sys-firmware/ipxe
|
||||
~sys-firmware/seabios-1.7.2.1
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
~sys-firmware/vgabios-0.7a
|
||||
)
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
accessibility? ( app-accessibility/brltty )
|
||||
iscsi? ( net-libs/libiscsi )
|
||||
opengl? ( virtual/opengl )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
sdl? ( media-libs/libsdl[X] )
|
||||
selinux? ( sec-policy/selinux-qemu )
|
||||
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="${RDEPEND}
|
||||
dev-lang/perl
|
||||
=dev-lang/python-2*
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||
static-softmmu? ( ${LIB_DEPEND} )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)"
|
||||
|
||||
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"
|
||||
|
||||
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"
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup kvm 78
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Alter target makefiles to accept CFLAGS set via flag-o
|
||||
sed -i 's/^\(C\|OP_C\|HELPER_C\)FLAGS=/\1FLAGS+=/' \
|
||||
Makefile Makefile.target || die
|
||||
|
||||
epatch "${FILESDIR}"/qemu-9999-cflags.patch
|
||||
[[ -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 conf_opts audio_opts
|
||||
local static_flag="static-${buildtype}"
|
||||
|
||||
conf_opts="--prefix=/usr"
|
||||
conf_opts+=" --sysconfdir=/etc"
|
||||
conf_opts+=" --libdir=/usr/$(get_libdir)"
|
||||
conf_opts+=" --docdir=/usr/share/doc/${PF}/html"
|
||||
conf_opts+=" --disable-bsd-user"
|
||||
conf_opts+=" --disable-guest-agent"
|
||||
conf_opts+=" --disable-strip"
|
||||
conf_opts+=" --disable-werror"
|
||||
conf_opts+=" --python=${PYTHON}"
|
||||
|
||||
# audio options
|
||||
audio_opts="oss"
|
||||
use alsa && audio_opts="alsa,${audio_opts}"
|
||||
use sdl && audio_opts="sdl,${audio_opts}"
|
||||
use pulseaudio && audio_opts="pa,${audio_opts}"
|
||||
|
||||
if [[ ${buildtype} == "user" ]]; then
|
||||
conf_opts+=" --enable-linux-user"
|
||||
conf_opts+=" --disable-system"
|
||||
conf_opts+=" --target-list=${user_targets}"
|
||||
conf_opts+=" --disable-blobs"
|
||||
conf_opts+=" --disable-bluez"
|
||||
conf_opts+=" --disable-curses"
|
||||
conf_opts+=" --disable-kvm"
|
||||
conf_opts+=" --disable-libiscsi"
|
||||
conf_opts+=" $(use_enable seccomp)"
|
||||
conf_opts+=" --disable-sdl"
|
||||
conf_opts+=" --disable-smartcard-nss"
|
||||
conf_opts+=" --disable-tools"
|
||||
conf_opts+=" --disable-vde"
|
||||
fi
|
||||
|
||||
if [[ ${buildtype} == "softmmu" ]]; then
|
||||
conf_opts+=" --disable-linux-user"
|
||||
conf_opts+=" --enable-system"
|
||||
conf_opts+=" --with-system-pixman"
|
||||
conf_opts+=" --target-list=${softmmu_targets}"
|
||||
conf_opts+=" $(use_enable bluetooth bluez)"
|
||||
conf_opts+=" $(use_enable sdl)"
|
||||
conf_opts+=" $(use_enable aio linux-aio)"
|
||||
conf_opts+=" $(use_enable accessibility brlapi)"
|
||||
conf_opts+=" $(use_enable caps cap-ng)"
|
||||
conf_opts+=" $(use_enable curl)"
|
||||
conf_opts+=" $(use_enable fdt)"
|
||||
conf_opts+=" $(use_enable iscsi libiscsi)"
|
||||
conf_opts+=" $(use_enable jpeg vnc-jpeg)"
|
||||
conf_opts+=" $(use_enable kernel_linux kvm)"
|
||||
conf_opts+=" $(use_enable kernel_linux nptl)"
|
||||
conf_opts+=" $(use_enable ncurses curses)"
|
||||
conf_opts+=" $(use_enable opengl)"
|
||||
conf_opts+=" $(use_enable png vnc-png)"
|
||||
conf_opts+=" $(use_enable rbd)"
|
||||
conf_opts+=" $(use_enable sasl vnc-sasl)"
|
||||
conf_opts+=" $(use_enable seccomp)"
|
||||
conf_opts+=" $(use_enable smartcard smartcard-nss)"
|
||||
conf_opts+=" $(use_enable spice)"
|
||||
conf_opts+=" $(use_enable tls vnc-tls)"
|
||||
conf_opts+=" $(use_enable tls vnc-ws)"
|
||||
conf_opts+=" $(use_enable usbredir usb-redir)"
|
||||
conf_opts+=" $(use_enable uuid)"
|
||||
conf_opts+=" $(use_enable vde)"
|
||||
conf_opts+=" $(use_enable vhost-net)"
|
||||
conf_opts+=" $(use_enable virtfs)"
|
||||
conf_opts+=" $(use_enable vnc)"
|
||||
conf_opts+=" $(use_enable xattr attr)"
|
||||
conf_opts+=" $(use_enable xen)"
|
||||
conf_opts+=" $(use_enable xen xen-pci-passthrough)"
|
||||
conf_opts+=" $(use_enable xfs xfsctl)"
|
||||
use mixemu && conf_opts+=" --enable-mixemu"
|
||||
conf_opts+=" --audio-drv-list=${audio_opts}"
|
||||
conf_opts+=" --enable-migration-from-qemu-kvm"
|
||||
fi
|
||||
|
||||
conf_opts+=" $(use_enable debug debug-info)"
|
||||
conf_opts+=" $(use_enable debug debug-tcg)"
|
||||
conf_opts+=" --enable-docs"
|
||||
conf_opts+=" $(use_enable tci tcg-interpreter)"
|
||||
|
||||
# Add support for SystemTAP
|
||||
use systemtap && conf_opts="${conf_opts} --enable-trace-backend=dtrace"
|
||||
|
||||
# Add support for static builds
|
||||
use ${static_flag} && conf_opts="${conf_opts} --static --disable-pie"
|
||||
|
||||
# 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} && gcc-specs-pie; then
|
||||
conf_opts="${conf_opts} --enable-pie"
|
||||
fi
|
||||
|
||||
einfo "./configure ${conf_opts}"
|
||||
cd ${builddir}
|
||||
../configure \
|
||||
--cc="$(tc-getCC)" \
|
||||
--host-cc="$(tc-getBUILD_CC)" \
|
||||
${conf_opts} \
|
||||
|| die "configure failed"
|
||||
|
||||
# FreeBSD's kernel does not support QEMU assigning/grabbing
|
||||
# host USB devices yet
|
||||
use kernel_FreeBSD && \
|
||||
sed -E -e "s|^(HOST_USB=)bsd|\1stub|" -i "${S}"/config-host.mak
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
python_export_best
|
||||
|
||||
softmmu_targets=
|
||||
user_targets=
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
use "qemu_softmmu_targets_${target}" && \
|
||||
softmmu_targets="${softmmu_targets},${target}-softmmu"
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS} ; do
|
||||
use "qemu_user_targets_${target}" && \
|
||||
user_targets="${user_targets},${target}-linux-user"
|
||||
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() {
|
||||
cd "${S}/softmmu-build"
|
||||
emake -j1 check
|
||||
emake -j1 check-report.html
|
||||
}
|
||||
|
||||
qemu_python_install() {
|
||||
python_domodule "${S}/QMP/qmp.py"
|
||||
|
||||
python_doscript "${S}/scripts/kvm/kvm_stat"
|
||||
python_doscript "${S}/scripts/kvm/vmxcap"
|
||||
python_doscript "${S}/QMP/qmp-shell"
|
||||
python_doscript "${S}/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
|
||||
|
||||
if use test; then
|
||||
dohtml check-report.html
|
||||
fi
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_dorules "${FILESDIR}"/65-kvm.rules
|
||||
fi
|
||||
|
||||
if use qemu_softmmu_targets_x86_64 ; then
|
||||
newbin "${FILESDIR}/qemu-kvm-1.4" qemu-kvm
|
||||
ewarn "The deprecated '/usr/bin/kvm' symlink is no longer installed"
|
||||
ewarn "You should use '/usr/bin/qemu-kvm', you may need to edit"
|
||||
ewarn "your libvirt configs or other wrappers for ${PN}"
|
||||
elif use x86 || use amd64; then
|
||||
elog "You disabled QEMU_SOFTMMU_TARGETS=x86_64, this disables install"
|
||||
elog "of the /usr/bin/qemu-kvm script."
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
# 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}/QMP/"
|
||||
|
||||
cd "${S}"
|
||||
dodoc Changelog MAINTAINERS TODO docs/specs/pci-ids.txt
|
||||
newdoc pc-bios/README README.pc-bios
|
||||
dodoc QMP/qmp-commands.txt QMP/qmp-events.txt QMP/qmp-spec.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
|
||||
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/808610de.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
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local virtfs_caps=
|
||||
|
||||
if qemu_support_kvm; then
|
||||
elog "If you don't have kvm compiled into the kernel, make sure you have"
|
||||
elog "the kernel module loaded before running kvm. The easiest way to"
|
||||
elog "ensure that the kernel module is loaded is to load it on boot."
|
||||
elog "For AMD CPUs the module is called 'kvm-amd'"
|
||||
elog "For Intel CPUs the module is called 'kvm-intel'"
|
||||
elog "Please review /etc/conf.d/modules for how to load these"
|
||||
elog
|
||||
elog "Make sure your user is in the 'kvm' group"
|
||||
elog "Just run 'gpasswd -a <USER> kvm', then have <USER> re-login."
|
||||
elog
|
||||
fi
|
||||
|
||||
virtfs_caps+="cap_chown,cap_dac_override,cap_fowner,cap_fsetid,"
|
||||
virtfs_caps+="cap_setgid,cap_mknod,cap_setuid"
|
||||
|
||||
fcaps cap_net_admin /usr/libexec/qemu-bridge-helper
|
||||
use virtfs && fcaps ${virtfs_caps} /usr/bin/virtfs-proxy-helper
|
||||
|
||||
elog "The ssl USE flag was renamed to tls, so adjust your USE flags."
|
||||
elog "The nss USE flag was renamed to smartcard, so adjust your USE flags."
|
||||
}
|
||||
|
||||
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,546 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/qemu-1.5.3.ebuild,v 1.6 2014/04/19 17:12:38 vapier Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7} )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
|
||||
user udev fcaps readme.gentoo
|
||||
|
||||
BACKPORTS=25d93791
|
||||
|
||||
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 iscsi +jpeg \
|
||||
kernel_linux kernel_FreeBSD mixemu ncurses opengl +png pulseaudio python \
|
||||
rbd sasl +seccomp sdl selinux smartcard spice static static-softmmu \
|
||||
static-user systemtap tci test +threads tls usbredir +uuid vde +vhost-net \
|
||||
virtfs +vnc xattr xen xfs"
|
||||
|
||||
COMMON_TARGETS="i386 x86_64 alpha arm cris m68k microblaze microblazeel mips
|
||||
mipsel mips64 mips64el or32 ppc ppc64 sh4 sh4eb sparc sparc64 s390x unicore32"
|
||||
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb xtensa xtensaeb"
|
||||
IUSE_USER_TARGETS="${COMMON_TARGETS} armeb mipsn32 mipsn32el ppc64abi32 sparc32plus"
|
||||
|
||||
# Setup the default SoftMMU targets, while using the loops
|
||||
# below to setup the other targets.
|
||||
REQUIRED_USE="|| ("
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS}; do
|
||||
IUSE="${IUSE} qemu_softmmu_targets_${target}"
|
||||
REQUIRED_USE="${REQUIRED_USE} qemu_softmmu_targets_${target}"
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS}; do
|
||||
IUSE="${IUSE} qemu_user_targets_${target}"
|
||||
REQUIRED_USE="${REQUIRED_USE} qemu_user_targets_${target}"
|
||||
done
|
||||
REQUIRED_USE="${REQUIRED_USE} )"
|
||||
|
||||
# Block USE flag configurations known to not work
|
||||
REQUIRED_USE="${REQUIRED_USE}
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
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.
|
||||
LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)]
|
||||
sys-apps/pciutils[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
>=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.2.0[static-libs(+)] <sys-apps/dtc-1.4.0[static-libs(+)] )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
|
||||
jpeg? ( virtual/jpeg[static-libs(+)] )
|
||||
ncurses? ( sys-libs/ncurses[static-libs(+)] )
|
||||
png? ( media-libs/libpng[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-1.0.1[static-libs(+)] )
|
||||
spice? ( >=app-emulation/spice-0.12.0[static-libs(+)] )
|
||||
tls? ( net-libs/gnutls[static-libs(+)] )
|
||||
uuid? ( >=sys-apps/util-linux-2.16.0[static-libs(+)] )
|
||||
vde? ( net-misc/vde[static-libs(+)] )
|
||||
xattr? ( sys-apps/attr[static-libs(+)] )
|
||||
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
|
||||
RDEPEND="!static-softmmu? ( ${LIB_DEPEND//\[static-libs(+)]} )
|
||||
static-user? ( >=dev-libs/glib-2.0[static-libs(+)] )
|
||||
qemu_softmmu_targets_i386? (
|
||||
>=sys-firmware/ipxe-1.0.0_p20130624
|
||||
~sys-firmware/seabios-1.7.2.2
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
~sys-firmware/vgabios-0.7a
|
||||
)
|
||||
qemu_softmmu_targets_x86_64? (
|
||||
>=sys-firmware/ipxe-1.0.0_p20130624
|
||||
~sys-firmware/seabios-1.7.2.2
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
~sys-firmware/vgabios-0.7a
|
||||
)
|
||||
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] )
|
||||
selinux? ( sec-policy/selinux-qemu )
|
||||
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="${RDEPEND}
|
||||
dev-lang/perl
|
||||
=dev-lang/python-2*
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||
static-softmmu? ( ${LIB_DEPEND} )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)"
|
||||
|
||||
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"
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup kvm 78
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Alter target makefiles to accept CFLAGS set via flag-o
|
||||
sed -i 's/^\(C\|OP_C\|HELPER_C\)FLAGS=/\1FLAGS+=/' \
|
||||
Makefile Makefile.target || die
|
||||
|
||||
epatch "${FILESDIR}"/qemu-9999-cflags.patch
|
||||
[[ -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 conf_opts audio_opts
|
||||
local static_flag="static-${buildtype}"
|
||||
|
||||
conf_opts="--prefix=/usr"
|
||||
conf_opts+=" --sysconfdir=/etc"
|
||||
conf_opts+=" --libdir=/usr/$(get_libdir)"
|
||||
conf_opts+=" --docdir=/usr/share/doc/${PF}/html"
|
||||
conf_opts+=" --disable-bsd-user"
|
||||
conf_opts+=" --disable-guest-agent"
|
||||
conf_opts+=" --disable-strip"
|
||||
conf_opts+=" --disable-werror"
|
||||
conf_opts+=" --python=${PYTHON}"
|
||||
|
||||
# audio options
|
||||
audio_opts="oss"
|
||||
use alsa && audio_opts="alsa,${audio_opts}"
|
||||
use sdl && audio_opts="sdl,${audio_opts}"
|
||||
use pulseaudio && audio_opts="pa,${audio_opts}"
|
||||
|
||||
if [[ ${buildtype} == "user" ]]; then
|
||||
conf_opts+=" --enable-linux-user"
|
||||
conf_opts+=" --disable-system"
|
||||
conf_opts+=" --target-list=${user_targets}"
|
||||
conf_opts+=" --disable-blobs"
|
||||
conf_opts+=" --disable-bluez"
|
||||
conf_opts+=" --disable-curses"
|
||||
conf_opts+=" --disable-kvm"
|
||||
conf_opts+=" --disable-libiscsi"
|
||||
conf_opts+=" --disable-glusterfs"
|
||||
conf_opts+=" $(use_enable seccomp)"
|
||||
conf_opts+=" --disable-sdl"
|
||||
conf_opts+=" --disable-smartcard-nss"
|
||||
conf_opts+=" --disable-tools"
|
||||
conf_opts+=" --disable-vde"
|
||||
fi
|
||||
|
||||
if [[ ${buildtype} == "softmmu" ]]; then
|
||||
conf_opts+=" --disable-linux-user"
|
||||
conf_opts+=" --enable-system"
|
||||
conf_opts+=" --with-system-pixman"
|
||||
conf_opts+=" --target-list=${softmmu_targets}"
|
||||
conf_opts+=" $(use_enable bluetooth bluez)"
|
||||
conf_opts+=" $(use_enable gtk)"
|
||||
use gtk && conf_opts+=" --with-gtkabi=3.0"
|
||||
conf_opts+=" $(use_enable sdl)"
|
||||
conf_opts+=" $(use_enable aio linux-aio)"
|
||||
conf_opts+=" $(use_enable accessibility brlapi)"
|
||||
conf_opts+=" $(use_enable caps cap-ng)"
|
||||
conf_opts+=" $(use_enable curl)"
|
||||
conf_opts+=" $(use_enable fdt)"
|
||||
conf_opts+=" $(use_enable glusterfs)"
|
||||
conf_opts+=" $(use_enable iscsi libiscsi)"
|
||||
conf_opts+=" $(use_enable jpeg vnc-jpeg)"
|
||||
conf_opts+=" $(use_enable kernel_linux kvm)"
|
||||
conf_opts+=" $(use_enable kernel_linux nptl)"
|
||||
conf_opts+=" $(use_enable ncurses curses)"
|
||||
conf_opts+=" $(use_enable opengl glx)"
|
||||
conf_opts+=" $(use_enable png vnc-png)"
|
||||
conf_opts+=" $(use_enable rbd)"
|
||||
conf_opts+=" $(use_enable sasl vnc-sasl)"
|
||||
conf_opts+=" $(use_enable seccomp)"
|
||||
conf_opts+=" $(use_enable smartcard smartcard-nss)"
|
||||
conf_opts+=" $(use_enable spice)"
|
||||
conf_opts+=" $(use_enable tls vnc-tls)"
|
||||
conf_opts+=" $(use_enable tls vnc-ws)"
|
||||
conf_opts+=" $(use_enable usbredir usb-redir)"
|
||||
conf_opts+=" $(use_enable uuid)"
|
||||
conf_opts+=" $(use_enable vde)"
|
||||
conf_opts+=" $(use_enable vhost-net)"
|
||||
conf_opts+=" $(use_enable virtfs)"
|
||||
conf_opts+=" $(use_enable vnc)"
|
||||
conf_opts+=" $(use_enable xattr attr)"
|
||||
conf_opts+=" $(use_enable xen)"
|
||||
conf_opts+=" $(use_enable xen xen-pci-passthrough)"
|
||||
conf_opts+=" $(use_enable xfs xfsctl)"
|
||||
use mixemu && conf_opts+=" --enable-mixemu"
|
||||
conf_opts+=" --audio-drv-list=${audio_opts}"
|
||||
conf_opts+=" --enable-migration-from-qemu-kvm"
|
||||
fi
|
||||
|
||||
conf_opts+=" $(use_enable debug debug-info)"
|
||||
conf_opts+=" $(use_enable debug debug-tcg)"
|
||||
conf_opts+=" --enable-docs"
|
||||
conf_opts+=" $(use_enable tci tcg-interpreter)"
|
||||
|
||||
# Add support for SystemTAP
|
||||
use systemtap && conf_opts="${conf_opts} --enable-trace-backend=dtrace"
|
||||
|
||||
# Add support for static builds
|
||||
use ${static_flag} && conf_opts="${conf_opts} --static --disable-pie"
|
||||
|
||||
# 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} && gcc-specs-pie; then
|
||||
conf_opts="${conf_opts} --enable-pie"
|
||||
fi
|
||||
|
||||
einfo "./configure ${conf_opts}"
|
||||
cd ${builddir}
|
||||
../configure \
|
||||
--cc="$(tc-getCC)" \
|
||||
--host-cc="$(tc-getBUILD_CC)" \
|
||||
${conf_opts} \
|
||||
|| die "configure failed"
|
||||
|
||||
# FreeBSD's kernel does not support QEMU assigning/grabbing
|
||||
# host USB devices yet
|
||||
use kernel_FreeBSD && \
|
||||
sed -E -e "s|^(HOST_USB=)bsd|\1stub|" -i "${S}"/config-host.mak
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
python_export_best
|
||||
|
||||
softmmu_targets=
|
||||
user_targets=
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
use "qemu_softmmu_targets_${target}" && \
|
||||
softmmu_targets="${softmmu_targets},${target}-softmmu"
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS} ; do
|
||||
use "qemu_user_targets_${target}" && \
|
||||
user_targets="${user_targets},${target}-linux-user"
|
||||
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() {
|
||||
cd "${S}/softmmu-build"
|
||||
emake -j1 check
|
||||
emake -j1 check-report.html
|
||||
}
|
||||
|
||||
qemu_python_install() {
|
||||
python_domodule "${S}/QMP/qmp.py"
|
||||
|
||||
python_doscript "${S}/scripts/kvm/kvm_stat"
|
||||
python_doscript "${S}/scripts/kvm/vmxcap"
|
||||
python_doscript "${S}/QMP/qmp-shell"
|
||||
python_doscript "${S}/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
|
||||
|
||||
if use test; then
|
||||
dohtml check-report.html
|
||||
fi
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_dorules "${FILESDIR}"/65-kvm.rules
|
||||
fi
|
||||
|
||||
if use qemu_softmmu_targets_x86_64 ; then
|
||||
newbin "${FILESDIR}/qemu-kvm-1.4" qemu-kvm
|
||||
ewarn "The deprecated '/usr/bin/kvm' symlink is no longer installed"
|
||||
ewarn "You should use '/usr/bin/qemu-kvm', you may need to edit"
|
||||
ewarn "your libvirt configs or other wrappers for ${PN}"
|
||||
elif use x86 || use amd64; then
|
||||
elog "You disabled QEMU_SOFTMMU_TARGETS=x86_64, this disables install"
|
||||
elog "of the /usr/bin/qemu-kvm script."
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
# 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}/QMP/"
|
||||
|
||||
cd "${S}"
|
||||
dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt
|
||||
newdoc pc-bios/README README.pc-bios
|
||||
dodoc QMP/qmp-commands.txt QMP/qmp-events.txt QMP/qmp-spec.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
|
||||
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
|
||||
|
||||
qemu_support_kvm && readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local virtfs_caps=
|
||||
|
||||
if qemu_support_kvm; then
|
||||
readme.gentoo_print_elog
|
||||
ewarn "Migration from qemu-kvm instances and loading qemu-kvm created"
|
||||
ewarn "save states will be removed in the next release (1.6.x)"
|
||||
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"
|
||||
fi
|
||||
|
||||
virtfs_caps+="cap_chown,cap_dac_override,cap_fowner,cap_fsetid,"
|
||||
virtfs_caps+="cap_setgid,cap_mknod,cap_setuid"
|
||||
|
||||
fcaps cap_net_admin /usr/libexec/qemu-bridge-helper
|
||||
use virtfs && fcaps ${virtfs_caps} /usr/bin/virtfs-proxy-helper
|
||||
}
|
||||
|
||||
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,549 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/qemu-1.6.0-r1.ebuild,v 1.4 2014/04/19 17:12:38 vapier Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7} )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
|
||||
user udev fcaps readme.gentoo
|
||||
|
||||
BACKPORTS=4c9bed9d
|
||||
|
||||
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 iscsi +jpeg \
|
||||
kernel_linux kernel_FreeBSD mixemu ncurses opengl +png pulseaudio python \
|
||||
rbd sasl +seccomp sdl selinux smartcard spice static static-softmmu \
|
||||
static-user systemtap tci test +threads tls usbredir +uuid vde +vhost-net \
|
||||
virtfs +vnc xattr xen xfs"
|
||||
|
||||
COMMON_TARGETS="i386 x86_64 alpha arm cris m68k microblaze microblazeel mips
|
||||
mipsel mips64 mips64el or32 ppc ppc64 sh4 sh4eb sparc sparc64 s390x unicore32"
|
||||
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb xtensa xtensaeb"
|
||||
IUSE_USER_TARGETS="${COMMON_TARGETS} armeb mipsn32 mipsn32el ppc64abi32 sparc32plus"
|
||||
|
||||
# Setup the default SoftMMU targets, while using the loops
|
||||
# below to setup the other targets.
|
||||
REQUIRED_USE="|| ("
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS}; do
|
||||
IUSE="${IUSE} qemu_softmmu_targets_${target}"
|
||||
REQUIRED_USE="${REQUIRED_USE} qemu_softmmu_targets_${target}"
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS}; do
|
||||
IUSE="${IUSE} qemu_user_targets_${target}"
|
||||
REQUIRED_USE="${REQUIRED_USE} qemu_user_targets_${target}"
|
||||
done
|
||||
REQUIRED_USE="${REQUIRED_USE} )"
|
||||
|
||||
# Block USE flag configurations known to not work
|
||||
REQUIRED_USE="${REQUIRED_USE}
|
||||
python? ( ${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.
|
||||
LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)]
|
||||
sys-apps/pciutils[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
>=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(+)] )
|
||||
jpeg? ( virtual/jpeg[static-libs(+)] )
|
||||
ncurses? ( sys-libs/ncurses[static-libs(+)] )
|
||||
png? ( media-libs/libpng[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(+)] )
|
||||
spice? ( >=app-emulation/spice-0.12.0[static-libs(+)] )
|
||||
tls? ( net-libs/gnutls[static-libs(+)] )
|
||||
uuid? ( >=sys-apps/util-linux-2.16.0[static-libs(+)] )
|
||||
vde? ( net-misc/vde[static-libs(+)] )
|
||||
xattr? ( sys-apps/attr[static-libs(+)] )
|
||||
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
|
||||
RDEPEND="!static-softmmu? ( ${LIB_DEPEND//\[static-libs(+)]} )
|
||||
static-user? ( >=dev-libs/glib-2.0[static-libs(+)] )
|
||||
qemu_softmmu_targets_i386? (
|
||||
>=sys-firmware/ipxe-1.0.0_p20130624
|
||||
~sys-firmware/seabios-1.7.3
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
~sys-firmware/vgabios-0.7a
|
||||
)
|
||||
qemu_softmmu_targets_x86_64? (
|
||||
>=sys-firmware/ipxe-1.0.0_p20130624
|
||||
~sys-firmware/seabios-1.7.3
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
~sys-firmware/vgabios-0.7a
|
||||
)
|
||||
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] )
|
||||
selinux? ( sec-policy/selinux-qemu )
|
||||
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="${RDEPEND}
|
||||
dev-lang/perl
|
||||
=dev-lang/python-2*
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||
static-softmmu? ( ${LIB_DEPEND} )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)"
|
||||
|
||||
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"
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup kvm 78
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Alter target makefiles to accept CFLAGS set via flag-o
|
||||
sed -i 's/^\(C\|OP_C\|HELPER_C\)FLAGS=/\1FLAGS+=/' \
|
||||
Makefile Makefile.target || die
|
||||
|
||||
epatch "${FILESDIR}"/qemu-9999-cflags.patch
|
||||
[[ -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 conf_opts audio_opts
|
||||
local static_flag="static-${buildtype}"
|
||||
|
||||
conf_opts="--prefix=/usr"
|
||||
conf_opts+=" --sysconfdir=/etc"
|
||||
conf_opts+=" --libdir=/usr/$(get_libdir)"
|
||||
conf_opts+=" --docdir=/usr/share/doc/${PF}/html"
|
||||
conf_opts+=" --disable-bsd-user"
|
||||
conf_opts+=" --disable-guest-agent"
|
||||
conf_opts+=" --disable-strip"
|
||||
conf_opts+=" --disable-werror"
|
||||
conf_opts+=" --python=${PYTHON}"
|
||||
|
||||
# audio options
|
||||
audio_opts="oss"
|
||||
use alsa && audio_opts="alsa,${audio_opts}"
|
||||
use sdl && audio_opts="sdl,${audio_opts}"
|
||||
use pulseaudio && audio_opts="pa,${audio_opts}"
|
||||
|
||||
if [[ ${buildtype} == "user" ]]; then
|
||||
conf_opts+=" --enable-linux-user"
|
||||
conf_opts+=" --disable-system"
|
||||
conf_opts+=" --target-list=${user_targets}"
|
||||
conf_opts+=" --disable-blobs"
|
||||
conf_opts+=" --disable-bluez"
|
||||
conf_opts+=" --disable-curses"
|
||||
conf_opts+=" --disable-kvm"
|
||||
conf_opts+=" --disable-libiscsi"
|
||||
conf_opts+=" --disable-glusterfs"
|
||||
conf_opts+=" $(use_enable seccomp)"
|
||||
conf_opts+=" --disable-sdl"
|
||||
conf_opts+=" --disable-smartcard-nss"
|
||||
conf_opts+=" --disable-tools"
|
||||
conf_opts+=" --disable-vde"
|
||||
fi
|
||||
|
||||
if [[ ${buildtype} == "softmmu" ]]; then
|
||||
conf_opts+=" --disable-linux-user"
|
||||
conf_opts+=" --enable-system"
|
||||
conf_opts+=" --with-system-pixman"
|
||||
conf_opts+=" --target-list=${softmmu_targets}"
|
||||
conf_opts+=" $(use_enable bluetooth bluez)"
|
||||
conf_opts+=" $(use_enable gtk)"
|
||||
use gtk && conf_opts+=" --with-gtkabi=3.0"
|
||||
conf_opts+=" $(use_enable sdl)"
|
||||
conf_opts+=" $(use_enable aio linux-aio)"
|
||||
conf_opts+=" $(use_enable accessibility brlapi)"
|
||||
conf_opts+=" $(use_enable caps cap-ng)"
|
||||
conf_opts+=" $(use_enable curl)"
|
||||
conf_opts+=" $(use_enable fdt)"
|
||||
conf_opts+=" $(use_enable glusterfs)"
|
||||
conf_opts+=" $(use_enable iscsi libiscsi)"
|
||||
conf_opts+=" $(use_enable jpeg vnc-jpeg)"
|
||||
conf_opts+=" $(use_enable kernel_linux kvm)"
|
||||
conf_opts+=" $(use_enable ncurses curses)"
|
||||
conf_opts+=" $(use_enable opengl glx)"
|
||||
conf_opts+=" $(use_enable png vnc-png)"
|
||||
conf_opts+=" $(use_enable rbd)"
|
||||
conf_opts+=" $(use_enable sasl vnc-sasl)"
|
||||
conf_opts+=" $(use_enable seccomp)"
|
||||
conf_opts+=" $(use_enable smartcard smartcard-nss)"
|
||||
conf_opts+=" $(use_enable spice)"
|
||||
conf_opts+=" $(use_enable tls vnc-tls)"
|
||||
conf_opts+=" $(use_enable tls vnc-ws)"
|
||||
conf_opts+=" $(use_enable usbredir usb-redir)"
|
||||
conf_opts+=" $(use_enable uuid)"
|
||||
conf_opts+=" $(use_enable vde)"
|
||||
conf_opts+=" $(use_enable vhost-net)"
|
||||
conf_opts+=" $(use_enable virtfs)"
|
||||
conf_opts+=" $(use_enable vnc)"
|
||||
conf_opts+=" $(use_enable xattr attr)"
|
||||
conf_opts+=" $(use_enable xen)"
|
||||
conf_opts+=" $(use_enable xen xen-pci-passthrough)"
|
||||
conf_opts+=" $(use_enable xfs xfsctl)"
|
||||
use mixemu && conf_opts+=" --enable-mixemu"
|
||||
conf_opts+=" --audio-drv-list=${audio_opts}"
|
||||
conf_opts+=" --enable-migration-from-qemu-kvm"
|
||||
fi
|
||||
|
||||
conf_opts+=" $(use_enable debug debug-info)"
|
||||
conf_opts+=" $(use_enable debug debug-tcg)"
|
||||
conf_opts+=" --enable-docs"
|
||||
conf_opts+=" $(use_enable tci tcg-interpreter)"
|
||||
|
||||
# Add support for SystemTAP
|
||||
use systemtap && conf_opts="${conf_opts} --enable-trace-backend=dtrace"
|
||||
|
||||
# Add support for static builds
|
||||
use ${static_flag} && conf_opts="${conf_opts} --static --disable-pie"
|
||||
|
||||
# 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} && gcc-specs-pie; then
|
||||
conf_opts="${conf_opts} --enable-pie"
|
||||
fi
|
||||
|
||||
einfo "./configure ${conf_opts}"
|
||||
cd ${builddir}
|
||||
../configure \
|
||||
--cc="$(tc-getCC)" \
|
||||
--host-cc="$(tc-getBUILD_CC)" \
|
||||
${conf_opts} \
|
||||
|| die "configure failed"
|
||||
|
||||
# FreeBSD's kernel does not support QEMU assigning/grabbing
|
||||
# host USB devices yet
|
||||
use kernel_FreeBSD && \
|
||||
sed -E -e "s|^(HOST_USB=)bsd|\1stub|" -i "${S}"/config-host.mak
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
python_export_best
|
||||
|
||||
softmmu_targets=
|
||||
user_targets=
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
use "qemu_softmmu_targets_${target}" && \
|
||||
softmmu_targets="${softmmu_targets},${target}-softmmu"
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS} ; do
|
||||
use "qemu_user_targets_${target}" && \
|
||||
user_targets="${user_targets},${target}-linux-user"
|
||||
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() {
|
||||
cd "${S}/softmmu-build"
|
||||
emake -j1 check
|
||||
emake -j1 check-report.html
|
||||
}
|
||||
|
||||
qemu_python_install() {
|
||||
python_domodule "${S}/QMP/qmp.py"
|
||||
|
||||
python_doscript "${S}/scripts/kvm/kvm_stat"
|
||||
python_doscript "${S}/scripts/kvm/vmxcap"
|
||||
python_doscript "${S}/QMP/qmp-shell"
|
||||
python_doscript "${S}/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
|
||||
|
||||
if use test; then
|
||||
dohtml check-report.html
|
||||
fi
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_dorules "${FILESDIR}"/65-kvm.rules
|
||||
fi
|
||||
|
||||
if use qemu_softmmu_targets_x86_64 ; then
|
||||
newbin "${FILESDIR}/qemu-kvm-1.4" qemu-kvm
|
||||
ewarn "The deprecated '/usr/bin/kvm' symlink is no longer installed"
|
||||
ewarn "You should use '/usr/bin/qemu-kvm', you may need to edit"
|
||||
ewarn "your libvirt configs or other wrappers for ${PN}"
|
||||
elif use x86 || use amd64; then
|
||||
elog "You disabled QEMU_SOFTMMU_TARGETS=x86_64, this disables install"
|
||||
elog "of the /usr/bin/qemu-kvm script."
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
# 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}/QMP/"
|
||||
|
||||
cd "${S}"
|
||||
dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt
|
||||
newdoc pc-bios/README README.pc-bios
|
||||
dodoc QMP/qmp-commands.txt QMP/qmp-events.txt QMP/qmp-spec.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
|
||||
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
|
||||
|
||||
qemu_support_kvm && readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local virtfs_caps=
|
||||
|
||||
if qemu_support_kvm; then
|
||||
readme.gentoo_print_elog
|
||||
ewarn "Migration from qemu-kvm instances and loading qemu-kvm created"
|
||||
ewarn "save states will be removed in the next release (1.7.x)"
|
||||
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"
|
||||
fi
|
||||
|
||||
virtfs_caps+="cap_chown,cap_dac_override,cap_fowner,cap_fsetid,"
|
||||
virtfs_caps+="cap_setgid,cap_mknod,cap_setuid"
|
||||
|
||||
fcaps cap_net_admin /usr/libexec/qemu-bridge-helper
|
||||
use virtfs && fcaps ${virtfs_caps} /usr/bin/virtfs-proxy-helper
|
||||
}
|
||||
|
||||
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,555 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/qemu-1.6.1.ebuild,v 1.4 2014/04/19 17:12:38 vapier Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7} )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
|
||||
user udev fcaps readme.gentoo
|
||||
|
||||
BACKPORTS=452f0d87
|
||||
|
||||
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 iscsi +jpeg \
|
||||
kernel_linux kernel_FreeBSD mixemu ncurses opengl +png pulseaudio python \
|
||||
rbd sasl +seccomp sdl selinux smartcard 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="i386 x86_64 alpha arm cris m68k microblaze microblazeel mips
|
||||
mipsel mips64 mips64el or32 ppc ppc64 sh4 sh4eb sparc sparc64 s390x unicore32"
|
||||
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb xtensa xtensaeb"
|
||||
IUSE_USER_TARGETS="${COMMON_TARGETS} armeb mipsn32 mipsn32el ppc64abi32 sparc32plus"
|
||||
|
||||
# Setup the default SoftMMU targets, while using the loops
|
||||
# below to setup the other targets.
|
||||
REQUIRED_USE="|| ("
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS}; do
|
||||
IUSE="${IUSE} qemu_softmmu_targets_${target}"
|
||||
REQUIRED_USE="${REQUIRED_USE} qemu_softmmu_targets_${target}"
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS}; do
|
||||
IUSE="${IUSE} qemu_user_targets_${target}"
|
||||
REQUIRED_USE="${REQUIRED_USE} qemu_user_targets_${target}"
|
||||
done
|
||||
REQUIRED_USE="${REQUIRED_USE} )"
|
||||
|
||||
# Block USE flag configurations known to not work
|
||||
REQUIRED_USE="${REQUIRED_USE}
|
||||
python? ( ${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.
|
||||
LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)]
|
||||
sys-apps/pciutils[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
>=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(+)] )
|
||||
jpeg? ( virtual/jpeg[static-libs(+)] )
|
||||
ncurses? ( sys-libs/ncurses[static-libs(+)] )
|
||||
png? ( media-libs/libpng[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(+)] )
|
||||
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(+)] )
|
||||
xattr? ( sys-apps/attr[static-libs(+)] )
|
||||
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
|
||||
RDEPEND="!static-softmmu? ( ${LIB_DEPEND//\[static-libs(+)]} )
|
||||
static-user? ( >=dev-libs/glib-2.0[static-libs(+)] )
|
||||
qemu_softmmu_targets_i386? (
|
||||
>=sys-firmware/ipxe-1.0.0_p20130624
|
||||
~sys-firmware/seabios-1.7.3
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
~sys-firmware/vgabios-0.7a
|
||||
)
|
||||
qemu_softmmu_targets_x86_64? (
|
||||
>=sys-firmware/ipxe-1.0.0_p20130624
|
||||
~sys-firmware/seabios-1.7.3
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
~sys-firmware/vgabios-0.7a
|
||||
)
|
||||
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] )
|
||||
selinux? ( sec-policy/selinux-qemu )
|
||||
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="${RDEPEND}
|
||||
dev-lang/perl
|
||||
=dev-lang/python-2*
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||
static-softmmu? ( ${LIB_DEPEND} )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)"
|
||||
|
||||
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"
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup kvm 78
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Alter target makefiles to accept CFLAGS set via flag-o
|
||||
sed -i 's/^\(C\|OP_C\|HELPER_C\)FLAGS=/\1FLAGS+=/' \
|
||||
Makefile Makefile.target || die
|
||||
|
||||
epatch "${FILESDIR}"/qemu-9999-cflags.patch
|
||||
[[ -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 conf_opts audio_opts
|
||||
local static_flag="static-${buildtype}"
|
||||
|
||||
conf_opts="--prefix=/usr"
|
||||
conf_opts+=" --sysconfdir=/etc"
|
||||
conf_opts+=" --libdir=/usr/$(get_libdir)"
|
||||
conf_opts+=" --docdir=/usr/share/doc/${PF}/html"
|
||||
conf_opts+=" --disable-bsd-user"
|
||||
conf_opts+=" --disable-guest-agent"
|
||||
conf_opts+=" --disable-strip"
|
||||
conf_opts+=" --disable-werror"
|
||||
conf_opts+=" --python=${PYTHON}"
|
||||
|
||||
# audio options
|
||||
audio_opts="oss"
|
||||
use alsa && audio_opts="alsa,${audio_opts}"
|
||||
use sdl && audio_opts="sdl,${audio_opts}"
|
||||
use pulseaudio && audio_opts="pa,${audio_opts}"
|
||||
|
||||
if [[ ${buildtype} == "user" ]]; then
|
||||
conf_opts+=" --enable-linux-user"
|
||||
conf_opts+=" --disable-system"
|
||||
conf_opts+=" --target-list=${user_targets}"
|
||||
conf_opts+=" --disable-blobs"
|
||||
conf_opts+=" --disable-bluez"
|
||||
conf_opts+=" --disable-curses"
|
||||
conf_opts+=" --disable-kvm"
|
||||
conf_opts+=" --disable-libiscsi"
|
||||
conf_opts+=" --disable-glusterfs"
|
||||
conf_opts+=" $(use_enable seccomp)"
|
||||
conf_opts+=" --disable-sdl"
|
||||
conf_opts+=" --disable-smartcard-nss"
|
||||
conf_opts+=" --disable-tools"
|
||||
conf_opts+=" --disable-vde"
|
||||
conf_opts+=" --disable-libssh2"
|
||||
conf_opts+=" --disable-libusb"
|
||||
fi
|
||||
|
||||
if [[ ${buildtype} == "softmmu" ]]; then
|
||||
conf_opts+=" --disable-linux-user"
|
||||
conf_opts+=" --enable-system"
|
||||
conf_opts+=" --with-system-pixman"
|
||||
conf_opts+=" --target-list=${softmmu_targets}"
|
||||
conf_opts+=" $(use_enable bluetooth bluez)"
|
||||
conf_opts+=" $(use_enable gtk)"
|
||||
use gtk && conf_opts+=" --with-gtkabi=3.0"
|
||||
conf_opts+=" $(use_enable sdl)"
|
||||
conf_opts+=" $(use_enable aio linux-aio)"
|
||||
conf_opts+=" $(use_enable accessibility brlapi)"
|
||||
conf_opts+=" $(use_enable caps cap-ng)"
|
||||
conf_opts+=" $(use_enable curl)"
|
||||
conf_opts+=" $(use_enable fdt)"
|
||||
conf_opts+=" $(use_enable glusterfs)"
|
||||
conf_opts+=" $(use_enable iscsi libiscsi)"
|
||||
conf_opts+=" $(use_enable jpeg vnc-jpeg)"
|
||||
conf_opts+=" $(use_enable kernel_linux kvm)"
|
||||
conf_opts+=" $(use_enable ncurses curses)"
|
||||
conf_opts+=" $(use_enable opengl glx)"
|
||||
conf_opts+=" $(use_enable png vnc-png)"
|
||||
conf_opts+=" $(use_enable rbd)"
|
||||
conf_opts+=" $(use_enable sasl vnc-sasl)"
|
||||
conf_opts+=" $(use_enable seccomp)"
|
||||
conf_opts+=" $(use_enable smartcard smartcard-nss)"
|
||||
conf_opts+=" $(use_enable spice)"
|
||||
conf_opts+=" $(use_enable ssh libssh2)"
|
||||
conf_opts+=" $(use_enable tls vnc-tls)"
|
||||
conf_opts+=" $(use_enable tls vnc-ws)"
|
||||
conf_opts+=" $(use_enable usb libusb)"
|
||||
conf_opts+=" $(use_enable usbredir usb-redir)"
|
||||
conf_opts+=" $(use_enable uuid)"
|
||||
conf_opts+=" $(use_enable vde)"
|
||||
conf_opts+=" $(use_enable vhost-net)"
|
||||
conf_opts+=" $(use_enable virtfs)"
|
||||
conf_opts+=" $(use_enable vnc)"
|
||||
conf_opts+=" $(use_enable xattr attr)"
|
||||
conf_opts+=" $(use_enable xen)"
|
||||
conf_opts+=" $(use_enable xen xen-pci-passthrough)"
|
||||
conf_opts+=" $(use_enable xfs xfsctl)"
|
||||
use mixemu && conf_opts+=" --enable-mixemu"
|
||||
conf_opts+=" --audio-drv-list=${audio_opts}"
|
||||
conf_opts+=" --enable-migration-from-qemu-kvm"
|
||||
fi
|
||||
|
||||
conf_opts+=" $(use_enable debug debug-info)"
|
||||
conf_opts+=" $(use_enable debug debug-tcg)"
|
||||
conf_opts+=" --enable-docs"
|
||||
conf_opts+=" $(use_enable tci tcg-interpreter)"
|
||||
|
||||
# Add support for SystemTAP
|
||||
use systemtap && conf_opts="${conf_opts} --enable-trace-backend=dtrace"
|
||||
|
||||
# Add support for static builds
|
||||
use ${static_flag} && conf_opts="${conf_opts} --static --disable-pie"
|
||||
|
||||
# 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} && gcc-specs-pie; then
|
||||
conf_opts="${conf_opts} --enable-pie"
|
||||
fi
|
||||
|
||||
einfo "./configure ${conf_opts}"
|
||||
cd ${builddir}
|
||||
../configure \
|
||||
--cc="$(tc-getCC)" \
|
||||
--host-cc="$(tc-getBUILD_CC)" \
|
||||
${conf_opts} \
|
||||
|| die "configure failed"
|
||||
|
||||
# FreeBSD's kernel does not support QEMU assigning/grabbing
|
||||
# host USB devices yet
|
||||
use kernel_FreeBSD && \
|
||||
sed -E -e "s|^(HOST_USB=)bsd|\1stub|" -i "${S}"/config-host.mak
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
python_export_best
|
||||
|
||||
softmmu_targets=
|
||||
user_targets=
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
use "qemu_softmmu_targets_${target}" && \
|
||||
softmmu_targets="${softmmu_targets},${target}-softmmu"
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS} ; do
|
||||
use "qemu_user_targets_${target}" && \
|
||||
user_targets="${user_targets},${target}-linux-user"
|
||||
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() {
|
||||
cd "${S}/softmmu-build"
|
||||
emake -j1 check
|
||||
emake -j1 check-report.html
|
||||
}
|
||||
|
||||
qemu_python_install() {
|
||||
python_domodule "${S}/QMP/qmp.py"
|
||||
|
||||
python_doscript "${S}/scripts/kvm/kvm_stat"
|
||||
python_doscript "${S}/scripts/kvm/vmxcap"
|
||||
python_doscript "${S}/QMP/qmp-shell"
|
||||
python_doscript "${S}/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
|
||||
|
||||
if use test; then
|
||||
dohtml check-report.html
|
||||
fi
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_dorules "${FILESDIR}"/65-kvm.rules
|
||||
fi
|
||||
|
||||
if use qemu_softmmu_targets_x86_64 ; then
|
||||
newbin "${FILESDIR}/qemu-kvm-1.4" qemu-kvm
|
||||
ewarn "The deprecated '/usr/bin/kvm' symlink is no longer installed"
|
||||
ewarn "You should use '/usr/bin/qemu-kvm', you may need to edit"
|
||||
ewarn "your libvirt configs or other wrappers for ${PN}"
|
||||
elif use x86 || use amd64; then
|
||||
elog "You disabled QEMU_SOFTMMU_TARGETS=x86_64, this disables install"
|
||||
elog "of the /usr/bin/qemu-kvm script."
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
# 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}/QMP/"
|
||||
|
||||
cd "${S}"
|
||||
dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt
|
||||
newdoc pc-bios/README README.pc-bios
|
||||
dodoc QMP/qmp-commands.txt QMP/qmp-events.txt QMP/qmp-spec.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
|
||||
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
|
||||
|
||||
qemu_support_kvm && readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local virtfs_caps=
|
||||
|
||||
if qemu_support_kvm; then
|
||||
readme.gentoo_print_elog
|
||||
ewarn "Migration from qemu-kvm instances and loading qemu-kvm created"
|
||||
ewarn "save states will be removed in the next release (1.7.x)"
|
||||
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"
|
||||
fi
|
||||
|
||||
virtfs_caps+="cap_chown,cap_dac_override,cap_fowner,cap_fsetid,"
|
||||
virtfs_caps+="cap_setgid,cap_mknod,cap_setuid"
|
||||
|
||||
fcaps cap_net_admin /usr/libexec/qemu-bridge-helper
|
||||
use virtfs && fcaps ${virtfs_caps} /usr/bin/virtfs-proxy-helper
|
||||
}
|
||||
|
||||
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,556 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/qemu-1.6.2.ebuild,v 1.4 2014/04/19 17:12:38 vapier Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7} )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
|
||||
user udev fcaps readme.gentoo
|
||||
|
||||
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}"
|
||||
# Waiting for cardoe to sign off on this.
|
||||
#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 iscsi +jpeg \
|
||||
kernel_linux kernel_FreeBSD mixemu ncurses opengl +png pulseaudio python \
|
||||
rbd sasl +seccomp sdl selinux smartcard 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="i386 x86_64 alpha arm cris m68k microblaze microblazeel mips
|
||||
mipsel mips64 mips64el or32 ppc ppc64 sh4 sh4eb sparc sparc64 s390x unicore32"
|
||||
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb xtensa xtensaeb"
|
||||
IUSE_USER_TARGETS="${COMMON_TARGETS} armeb mipsn32 mipsn32el ppc64abi32 sparc32plus"
|
||||
|
||||
# Setup the default SoftMMU targets, while using the loops
|
||||
# below to setup the other targets.
|
||||
REQUIRED_USE="|| ("
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS}; do
|
||||
IUSE="${IUSE} qemu_softmmu_targets_${target}"
|
||||
REQUIRED_USE="${REQUIRED_USE} qemu_softmmu_targets_${target}"
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS}; do
|
||||
IUSE="${IUSE} qemu_user_targets_${target}"
|
||||
REQUIRED_USE="${REQUIRED_USE} qemu_user_targets_${target}"
|
||||
done
|
||||
REQUIRED_USE="${REQUIRED_USE} )"
|
||||
|
||||
# Block USE flag configurations known to not work
|
||||
REQUIRED_USE="${REQUIRED_USE}
|
||||
python? ( ${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.
|
||||
LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)]
|
||||
sys-apps/pciutils[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
>=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(+)] )
|
||||
jpeg? ( virtual/jpeg[static-libs(+)] )
|
||||
ncurses? ( sys-libs/ncurses[static-libs(+)] )
|
||||
png? ( media-libs/libpng[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(+)] )
|
||||
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(+)] )
|
||||
xattr? ( sys-apps/attr[static-libs(+)] )
|
||||
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
|
||||
RDEPEND="!static-softmmu? ( ${LIB_DEPEND//\[static-libs(+)]} )
|
||||
static-user? ( >=dev-libs/glib-2.0[static-libs(+)] )
|
||||
qemu_softmmu_targets_i386? (
|
||||
>=sys-firmware/ipxe-1.0.0_p20130624
|
||||
~sys-firmware/seabios-1.7.3
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
~sys-firmware/vgabios-0.7a
|
||||
)
|
||||
qemu_softmmu_targets_x86_64? (
|
||||
>=sys-firmware/ipxe-1.0.0_p20130624
|
||||
~sys-firmware/seabios-1.7.3
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
~sys-firmware/vgabios-0.7a
|
||||
)
|
||||
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] )
|
||||
selinux? ( sec-policy/selinux-qemu )
|
||||
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="${RDEPEND}
|
||||
dev-lang/perl
|
||||
=dev-lang/python-2*
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||
static-softmmu? ( ${LIB_DEPEND} )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)"
|
||||
|
||||
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"
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
epatch "${FILESDIR}"/qemu-9999-cflags.patch
|
||||
[[ -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 conf_opts audio_opts
|
||||
local static_flag="static-${buildtype}"
|
||||
|
||||
conf_opts="--prefix=/usr"
|
||||
conf_opts+=" --sysconfdir=/etc"
|
||||
conf_opts+=" --libdir=/usr/$(get_libdir)"
|
||||
conf_opts+=" --docdir=/usr/share/doc/${PF}/html"
|
||||
conf_opts+=" --disable-bsd-user"
|
||||
conf_opts+=" --disable-guest-agent"
|
||||
conf_opts+=" --disable-strip"
|
||||
conf_opts+=" --disable-werror"
|
||||
conf_opts+=" --python=${PYTHON}"
|
||||
|
||||
# audio options
|
||||
audio_opts="oss"
|
||||
use alsa && audio_opts="alsa,${audio_opts}"
|
||||
use sdl && audio_opts="sdl,${audio_opts}"
|
||||
use pulseaudio && audio_opts="pa,${audio_opts}"
|
||||
|
||||
if [[ ${buildtype} == "user" ]]; then
|
||||
conf_opts+=" --enable-linux-user"
|
||||
conf_opts+=" --disable-system"
|
||||
conf_opts+=" --target-list=${user_targets}"
|
||||
conf_opts+=" --disable-blobs"
|
||||
conf_opts+=" --disable-bluez"
|
||||
conf_opts+=" --disable-curses"
|
||||
conf_opts+=" --disable-kvm"
|
||||
conf_opts+=" --disable-libiscsi"
|
||||
conf_opts+=" --disable-glusterfs"
|
||||
conf_opts+=" $(use_enable seccomp)"
|
||||
conf_opts+=" --disable-sdl"
|
||||
conf_opts+=" --disable-smartcard-nss"
|
||||
conf_opts+=" --disable-tools"
|
||||
conf_opts+=" --disable-vde"
|
||||
conf_opts+=" --disable-libssh2"
|
||||
conf_opts+=" --disable-libusb"
|
||||
fi
|
||||
|
||||
if [[ ${buildtype} == "softmmu" ]]; then
|
||||
conf_opts+=" --disable-linux-user"
|
||||
conf_opts+=" --enable-system"
|
||||
conf_opts+=" --with-system-pixman"
|
||||
conf_opts+=" --target-list=${softmmu_targets}"
|
||||
conf_opts+=" $(use_enable bluetooth bluez)"
|
||||
conf_opts+=" $(use_enable gtk)"
|
||||
use gtk && conf_opts+=" --with-gtkabi=3.0"
|
||||
conf_opts+=" $(use_enable sdl)"
|
||||
conf_opts+=" $(use_enable aio linux-aio)"
|
||||
conf_opts+=" $(use_enable accessibility brlapi)"
|
||||
conf_opts+=" $(use_enable caps cap-ng)"
|
||||
conf_opts+=" $(use_enable curl)"
|
||||
conf_opts+=" $(use_enable fdt)"
|
||||
conf_opts+=" $(use_enable glusterfs)"
|
||||
conf_opts+=" $(use_enable iscsi libiscsi)"
|
||||
conf_opts+=" $(use_enable jpeg vnc-jpeg)"
|
||||
conf_opts+=" $(use_enable kernel_linux kvm)"
|
||||
conf_opts+=" $(use_enable ncurses curses)"
|
||||
conf_opts+=" $(use_enable opengl glx)"
|
||||
conf_opts+=" $(use_enable png vnc-png)"
|
||||
conf_opts+=" $(use_enable rbd)"
|
||||
conf_opts+=" $(use_enable sasl vnc-sasl)"
|
||||
conf_opts+=" $(use_enable seccomp)"
|
||||
conf_opts+=" $(use_enable smartcard smartcard-nss)"
|
||||
conf_opts+=" $(use_enable spice)"
|
||||
conf_opts+=" $(use_enable ssh libssh2)"
|
||||
conf_opts+=" $(use_enable tls vnc-tls)"
|
||||
conf_opts+=" $(use_enable tls vnc-ws)"
|
||||
conf_opts+=" $(use_enable usb libusb)"
|
||||
conf_opts+=" $(use_enable usbredir usb-redir)"
|
||||
conf_opts+=" $(use_enable uuid)"
|
||||
conf_opts+=" $(use_enable vde)"
|
||||
conf_opts+=" $(use_enable vhost-net)"
|
||||
conf_opts+=" $(use_enable virtfs)"
|
||||
conf_opts+=" $(use_enable vnc)"
|
||||
conf_opts+=" $(use_enable xattr attr)"
|
||||
conf_opts+=" $(use_enable xen)"
|
||||
conf_opts+=" $(use_enable xen xen-pci-passthrough)"
|
||||
conf_opts+=" $(use_enable xfs xfsctl)"
|
||||
use mixemu && conf_opts+=" --enable-mixemu"
|
||||
conf_opts+=" --audio-drv-list=${audio_opts}"
|
||||
fi
|
||||
|
||||
conf_opts+=" $(use_enable debug debug-info)"
|
||||
conf_opts+=" $(use_enable debug debug-tcg)"
|
||||
conf_opts+=" --enable-docs"
|
||||
conf_opts+=" $(use_enable tci tcg-interpreter)"
|
||||
|
||||
# Add support for SystemTAP
|
||||
use systemtap && conf_opts="${conf_opts} --enable-trace-backend=dtrace"
|
||||
|
||||
# Add support for static builds
|
||||
use ${static_flag} && conf_opts="${conf_opts} --static --disable-pie"
|
||||
|
||||
# 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} && gcc-specs-pie; then
|
||||
conf_opts="${conf_opts} --enable-pie"
|
||||
fi
|
||||
|
||||
einfo "./configure ${conf_opts}"
|
||||
cd ${builddir}
|
||||
../configure \
|
||||
--cc="$(tc-getCC)" \
|
||||
--host-cc="$(tc-getBUILD_CC)" \
|
||||
${conf_opts} \
|
||||
|| die "configure failed"
|
||||
|
||||
# FreeBSD's kernel does not support QEMU assigning/grabbing
|
||||
# host USB devices yet
|
||||
use kernel_FreeBSD && \
|
||||
sed -E -e "s|^(HOST_USB=)bsd|\1stub|" -i "${S}"/config-host.mak
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
python_export_best
|
||||
|
||||
softmmu_targets=
|
||||
user_targets=
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
use "qemu_softmmu_targets_${target}" && \
|
||||
softmmu_targets="${softmmu_targets},${target}-softmmu"
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS} ; do
|
||||
use "qemu_user_targets_${target}" && \
|
||||
user_targets="${user_targets},${target}-linux-user"
|
||||
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() {
|
||||
cd "${S}/softmmu-build"
|
||||
emake -j1 check
|
||||
emake -j1 check-report.html
|
||||
}
|
||||
|
||||
qemu_python_install() {
|
||||
python_domodule "${S}/QMP/qmp.py"
|
||||
|
||||
python_doscript "${S}/scripts/kvm/kvm_stat"
|
||||
python_doscript "${S}/scripts/kvm/vmxcap"
|
||||
python_doscript "${S}/QMP/qmp-shell"
|
||||
python_doscript "${S}/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
|
||||
|
||||
if use test; then
|
||||
dohtml check-report.html
|
||||
fi
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_dorules "${FILESDIR}"/65-kvm.rules
|
||||
fi
|
||||
|
||||
if use qemu_softmmu_targets_x86_64 ; then
|
||||
newbin "${FILESDIR}/qemu-kvm-1.4" qemu-kvm
|
||||
ewarn "The deprecated '/usr/bin/kvm' symlink is no longer installed"
|
||||
ewarn "You should use '/usr/bin/qemu-kvm', you may need to edit"
|
||||
ewarn "your libvirt configs or other wrappers for ${PN}"
|
||||
elif use x86 || use amd64; then
|
||||
elog "You disabled QEMU_SOFTMMU_TARGETS=x86_64, this disables install"
|
||||
elog "of the /usr/bin/qemu-kvm script."
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
# 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}/QMP/"
|
||||
|
||||
cd "${S}"
|
||||
dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt
|
||||
newdoc pc-bios/README README.pc-bios
|
||||
dodoc QMP/qmp-commands.txt QMP/qmp-events.txt QMP/qmp-spec.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
|
||||
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
|
||||
|
||||
qemu_support_kvm && readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local virtfs_caps=
|
||||
|
||||
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"
|
||||
fi
|
||||
|
||||
virtfs_caps+="cap_chown,cap_dac_override,cap_fowner,cap_fsetid,"
|
||||
virtfs_caps+="cap_setgid,cap_mknod,cap_setuid"
|
||||
|
||||
fcaps cap_net_admin /usr/libexec/qemu-bridge-helper
|
||||
use virtfs && fcaps ${virtfs_caps} /usr/bin/virtfs-proxy-helper
|
||||
}
|
||||
|
||||
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,555 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/qemu-1.7.0.ebuild,v 1.6 2014/04/20 02:04:18 vapier Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7} )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
|
||||
user udev fcaps readme.gentoo
|
||||
|
||||
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}"
|
||||
# Waiting for cardoe to sign off on this.
|
||||
#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 iscsi +jpeg \
|
||||
kernel_linux kernel_FreeBSD ncurses opengl +png pulseaudio python \
|
||||
rbd sasl +seccomp sdl selinux smartcard 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="i386 x86_64 alpha arm cris m68k microblaze microblazeel mips
|
||||
mipsel mips64 mips64el or32 ppc ppc64 sh4 sh4eb sparc sparc64 s390x unicore32"
|
||||
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb xtensa xtensaeb"
|
||||
IUSE_USER_TARGETS="${COMMON_TARGETS} armeb mipsn32 mipsn32el ppc64abi32 sparc32plus"
|
||||
|
||||
# Setup the default SoftMMU targets, while using the loops
|
||||
# below to setup the other targets.
|
||||
REQUIRED_USE="|| ("
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS}; do
|
||||
IUSE="${IUSE} qemu_softmmu_targets_${target}"
|
||||
REQUIRED_USE="${REQUIRED_USE} qemu_softmmu_targets_${target}"
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS}; do
|
||||
IUSE="${IUSE} qemu_user_targets_${target}"
|
||||
REQUIRED_USE="${REQUIRED_USE} qemu_user_targets_${target}"
|
||||
done
|
||||
REQUIRED_USE="${REQUIRED_USE} )"
|
||||
|
||||
# Block USE flag configurations known to not work
|
||||
REQUIRED_USE="${REQUIRED_USE}
|
||||
python? ( ${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.
|
||||
LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)]
|
||||
sys-apps/pciutils[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
>=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(+)] )
|
||||
jpeg? ( virtual/jpeg[static-libs(+)] )
|
||||
ncurses? ( sys-libs/ncurses[static-libs(+)] )
|
||||
png? ( media-libs/libpng[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(+)] )
|
||||
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(+)] )
|
||||
xattr? ( sys-apps/attr[static-libs(+)] )
|
||||
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
|
||||
RDEPEND="!static-softmmu? ( ${LIB_DEPEND//\[static-libs(+)]} )
|
||||
static-user? ( >=dev-libs/glib-2.0[static-libs(+)] )
|
||||
qemu_softmmu_targets_i386? (
|
||||
>=sys-firmware/ipxe-1.0.0_p20130624
|
||||
~sys-firmware/seabios-1.7.3.2
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
~sys-firmware/vgabios-0.7a
|
||||
)
|
||||
qemu_softmmu_targets_x86_64? (
|
||||
>=sys-firmware/ipxe-1.0.0_p20130624
|
||||
~sys-firmware/seabios-1.7.3.2
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
~sys-firmware/vgabios-0.7a
|
||||
)
|
||||
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] )
|
||||
selinux? ( sec-policy/selinux-qemu )
|
||||
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="${RDEPEND}
|
||||
dev-lang/perl
|
||||
=dev-lang/python-2*
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||
static-softmmu? ( ${LIB_DEPEND} )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)"
|
||||
|
||||
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"
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
epatch "${FILESDIR}"/qemu-1.7.0-cflags.patch
|
||||
[[ -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 conf_opts audio_opts
|
||||
local static_flag="static-${buildtype}"
|
||||
|
||||
conf_opts="--prefix=/usr"
|
||||
conf_opts+=" --sysconfdir=/etc"
|
||||
conf_opts+=" --libdir=/usr/$(get_libdir)"
|
||||
conf_opts+=" --docdir=/usr/share/doc/${PF}/html"
|
||||
conf_opts+=" --disable-bsd-user"
|
||||
conf_opts+=" --disable-guest-agent"
|
||||
conf_opts+=" --disable-strip"
|
||||
conf_opts+=" --disable-werror"
|
||||
conf_opts+=" --python=${PYTHON}"
|
||||
|
||||
# audio options
|
||||
audio_opts="oss"
|
||||
use alsa && audio_opts="alsa,${audio_opts}"
|
||||
use sdl && audio_opts="sdl,${audio_opts}"
|
||||
use pulseaudio && audio_opts="pa,${audio_opts}"
|
||||
|
||||
if [[ ${buildtype} == "user" ]]; then
|
||||
conf_opts+=" --enable-linux-user"
|
||||
conf_opts+=" --disable-system"
|
||||
conf_opts+=" --target-list=${user_targets}"
|
||||
conf_opts+=" --disable-blobs"
|
||||
conf_opts+=" --disable-bluez"
|
||||
conf_opts+=" --disable-curses"
|
||||
conf_opts+=" --disable-kvm"
|
||||
conf_opts+=" --disable-libiscsi"
|
||||
conf_opts+=" --disable-glusterfs"
|
||||
conf_opts+=" $(use_enable seccomp)"
|
||||
conf_opts+=" --disable-sdl"
|
||||
conf_opts+=" --disable-smartcard-nss"
|
||||
conf_opts+=" --disable-tools"
|
||||
conf_opts+=" --disable-vde"
|
||||
conf_opts+=" --disable-libssh2"
|
||||
conf_opts+=" --disable-libusb"
|
||||
fi
|
||||
|
||||
if [[ ${buildtype} == "softmmu" ]]; then
|
||||
conf_opts+=" --disable-linux-user"
|
||||
conf_opts+=" --enable-system"
|
||||
conf_opts+=" --with-system-pixman"
|
||||
conf_opts+=" --target-list=${softmmu_targets}"
|
||||
conf_opts+=" $(use_enable bluetooth bluez)"
|
||||
conf_opts+=" $(use_enable gtk)"
|
||||
use gtk && conf_opts+=" --with-gtkabi=3.0"
|
||||
conf_opts+=" $(use_enable sdl)"
|
||||
conf_opts+=" $(use_enable aio linux-aio)"
|
||||
conf_opts+=" $(use_enable accessibility brlapi)"
|
||||
conf_opts+=" $(use_enable caps cap-ng)"
|
||||
conf_opts+=" $(use_enable curl)"
|
||||
conf_opts+=" $(use_enable fdt)"
|
||||
conf_opts+=" $(use_enable glusterfs)"
|
||||
conf_opts+=" $(use_enable iscsi libiscsi)"
|
||||
conf_opts+=" $(use_enable jpeg vnc-jpeg)"
|
||||
conf_opts+=" $(use_enable kernel_linux kvm)"
|
||||
conf_opts+=" $(use_enable ncurses curses)"
|
||||
conf_opts+=" $(use_enable opengl glx)"
|
||||
conf_opts+=" $(use_enable png vnc-png)"
|
||||
conf_opts+=" $(use_enable rbd)"
|
||||
conf_opts+=" $(use_enable sasl vnc-sasl)"
|
||||
conf_opts+=" $(use_enable seccomp)"
|
||||
conf_opts+=" $(use_enable smartcard smartcard-nss)"
|
||||
conf_opts+=" $(use_enable spice)"
|
||||
conf_opts+=" $(use_enable ssh libssh2)"
|
||||
conf_opts+=" $(use_enable tls vnc-tls)"
|
||||
conf_opts+=" $(use_enable tls vnc-ws)"
|
||||
conf_opts+=" $(use_enable usb libusb)"
|
||||
conf_opts+=" $(use_enable usbredir usb-redir)"
|
||||
conf_opts+=" $(use_enable uuid)"
|
||||
conf_opts+=" $(use_enable vde)"
|
||||
conf_opts+=" $(use_enable vhost-net)"
|
||||
conf_opts+=" $(use_enable virtfs)"
|
||||
conf_opts+=" $(use_enable vnc)"
|
||||
conf_opts+=" $(use_enable xattr attr)"
|
||||
conf_opts+=" $(use_enable xen)"
|
||||
conf_opts+=" $(use_enable xen xen-pci-passthrough)"
|
||||
conf_opts+=" $(use_enable xfs xfsctl)"
|
||||
conf_opts+=" --audio-drv-list=${audio_opts}"
|
||||
fi
|
||||
|
||||
conf_opts+=" $(use_enable debug debug-info)"
|
||||
conf_opts+=" $(use_enable debug debug-tcg)"
|
||||
conf_opts+=" --enable-docs"
|
||||
conf_opts+=" $(use_enable tci tcg-interpreter)"
|
||||
|
||||
# Add support for SystemTAP
|
||||
use systemtap && conf_opts="${conf_opts} --enable-trace-backend=dtrace"
|
||||
|
||||
# Add support for static builds
|
||||
use ${static_flag} && conf_opts="${conf_opts} --static --disable-pie"
|
||||
|
||||
# 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} && gcc-specs-pie; then
|
||||
conf_opts="${conf_opts} --enable-pie"
|
||||
fi
|
||||
|
||||
einfo "./configure ${conf_opts}"
|
||||
cd ${builddir}
|
||||
../configure \
|
||||
--cc="$(tc-getCC)" \
|
||||
--host-cc="$(tc-getBUILD_CC)" \
|
||||
${conf_opts} \
|
||||
|| die "configure failed"
|
||||
|
||||
# FreeBSD's kernel does not support QEMU assigning/grabbing
|
||||
# host USB devices yet
|
||||
use kernel_FreeBSD && \
|
||||
sed -E -e "s|^(HOST_USB=)bsd|\1stub|" -i "${S}"/config-host.mak
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
python_export_best
|
||||
|
||||
softmmu_targets=
|
||||
user_targets=
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
use "qemu_softmmu_targets_${target}" && \
|
||||
softmmu_targets="${softmmu_targets},${target}-softmmu"
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS} ; do
|
||||
use "qemu_user_targets_${target}" && \
|
||||
user_targets="${user_targets},${target}-linux-user"
|
||||
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() {
|
||||
cd "${S}/softmmu-build"
|
||||
emake -j1 check
|
||||
emake -j1 check-report.html
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
if use test; then
|
||||
dohtml check-report.html
|
||||
fi
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_dorules "${FILESDIR}"/65-kvm.rules
|
||||
fi
|
||||
|
||||
if use qemu_softmmu_targets_x86_64 ; then
|
||||
newbin "${FILESDIR}/qemu-kvm-1.4" qemu-kvm
|
||||
ewarn "The deprecated '/usr/bin/kvm' symlink is no longer installed"
|
||||
ewarn "You should use '/usr/bin/qemu-kvm', you may need to edit"
|
||||
ewarn "your libvirt configs or other wrappers for ${PN}"
|
||||
elif use x86 || use amd64; then
|
||||
elog "You disabled QEMU_SOFTMMU_TARGETS=x86_64, this disables install"
|
||||
elog "of the /usr/bin/qemu-kvm script."
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
# 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
|
||||
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
|
||||
|
||||
qemu_support_kvm && readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local virtfs_caps=
|
||||
|
||||
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"
|
||||
fi
|
||||
|
||||
virtfs_caps+="cap_chown,cap_dac_override,cap_fowner,cap_fsetid,"
|
||||
virtfs_caps+="cap_setgid,cap_mknod,cap_setuid"
|
||||
|
||||
fcaps cap_net_admin /usr/libexec/qemu-bridge-helper
|
||||
use virtfs && fcaps ${virtfs_caps} /usr/bin/virtfs-proxy-helper
|
||||
}
|
||||
|
||||
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,555 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu/qemu-1.7.1.ebuild,v 1.4 2014/04/20 02:04:18 vapier Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7} )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
|
||||
user udev fcaps readme.gentoo
|
||||
|
||||
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}"
|
||||
# Waiting for cardoe to sign off on this.
|
||||
#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 iscsi +jpeg \
|
||||
kernel_linux kernel_FreeBSD ncurses opengl +png pulseaudio python \
|
||||
rbd sasl +seccomp sdl selinux smartcard 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="i386 x86_64 alpha arm cris m68k microblaze microblazeel mips
|
||||
mipsel mips64 mips64el or32 ppc ppc64 sh4 sh4eb sparc sparc64 s390x unicore32"
|
||||
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} lm32 moxie ppcemb xtensa xtensaeb"
|
||||
IUSE_USER_TARGETS="${COMMON_TARGETS} armeb mipsn32 mipsn32el ppc64abi32 sparc32plus"
|
||||
|
||||
# Setup the default SoftMMU targets, while using the loops
|
||||
# below to setup the other targets.
|
||||
REQUIRED_USE="|| ("
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS}; do
|
||||
IUSE="${IUSE} qemu_softmmu_targets_${target}"
|
||||
REQUIRED_USE="${REQUIRED_USE} qemu_softmmu_targets_${target}"
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS}; do
|
||||
IUSE="${IUSE} qemu_user_targets_${target}"
|
||||
REQUIRED_USE="${REQUIRED_USE} qemu_user_targets_${target}"
|
||||
done
|
||||
REQUIRED_USE="${REQUIRED_USE} )"
|
||||
|
||||
# Block USE flag configurations known to not work
|
||||
REQUIRED_USE="${REQUIRED_USE}
|
||||
python? ( ${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.
|
||||
LIB_DEPEND=">=dev-libs/glib-2.0[static-libs(+)]
|
||||
sys-apps/pciutils[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
>=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(+)] )
|
||||
jpeg? ( virtual/jpeg[static-libs(+)] )
|
||||
ncurses? ( sys-libs/ncurses[static-libs(+)] )
|
||||
png? ( media-libs/libpng[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(+)] )
|
||||
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(+)] )
|
||||
xattr? ( sys-apps/attr[static-libs(+)] )
|
||||
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
|
||||
RDEPEND="!static-softmmu? ( ${LIB_DEPEND//\[static-libs(+)]} )
|
||||
static-user? ( >=dev-libs/glib-2.0[static-libs(+)] )
|
||||
qemu_softmmu_targets_i386? (
|
||||
>=sys-firmware/ipxe-1.0.0_p20130624
|
||||
~sys-firmware/seabios-1.7.3.2
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
~sys-firmware/vgabios-0.7a
|
||||
)
|
||||
qemu_softmmu_targets_x86_64? (
|
||||
>=sys-firmware/ipxe-1.0.0_p20130624
|
||||
~sys-firmware/seabios-1.7.3.2
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
~sys-firmware/vgabios-0.7a
|
||||
)
|
||||
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] )
|
||||
selinux? ( sec-policy/selinux-qemu )
|
||||
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="${RDEPEND}
|
||||
dev-lang/perl
|
||||
=dev-lang/python-2*
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||
static-softmmu? ( ${LIB_DEPEND} )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)"
|
||||
|
||||
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"
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
epatch "${FILESDIR}"/qemu-1.7.0-cflags.patch
|
||||
[[ -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 conf_opts audio_opts
|
||||
local static_flag="static-${buildtype}"
|
||||
|
||||
conf_opts="--prefix=/usr"
|
||||
conf_opts+=" --sysconfdir=/etc"
|
||||
conf_opts+=" --libdir=/usr/$(get_libdir)"
|
||||
conf_opts+=" --docdir=/usr/share/doc/${PF}/html"
|
||||
conf_opts+=" --disable-bsd-user"
|
||||
conf_opts+=" --disable-guest-agent"
|
||||
conf_opts+=" --disable-strip"
|
||||
conf_opts+=" --disable-werror"
|
||||
conf_opts+=" --python=${PYTHON}"
|
||||
|
||||
# audio options
|
||||
audio_opts="oss"
|
||||
use alsa && audio_opts="alsa,${audio_opts}"
|
||||
use sdl && audio_opts="sdl,${audio_opts}"
|
||||
use pulseaudio && audio_opts="pa,${audio_opts}"
|
||||
|
||||
if [[ ${buildtype} == "user" ]]; then
|
||||
conf_opts+=" --enable-linux-user"
|
||||
conf_opts+=" --disable-system"
|
||||
conf_opts+=" --target-list=${user_targets}"
|
||||
conf_opts+=" --disable-blobs"
|
||||
conf_opts+=" --disable-bluez"
|
||||
conf_opts+=" --disable-curses"
|
||||
conf_opts+=" --disable-kvm"
|
||||
conf_opts+=" --disable-libiscsi"
|
||||
conf_opts+=" --disable-glusterfs"
|
||||
conf_opts+=" $(use_enable seccomp)"
|
||||
conf_opts+=" --disable-sdl"
|
||||
conf_opts+=" --disable-smartcard-nss"
|
||||
conf_opts+=" --disable-tools"
|
||||
conf_opts+=" --disable-vde"
|
||||
conf_opts+=" --disable-libssh2"
|
||||
conf_opts+=" --disable-libusb"
|
||||
fi
|
||||
|
||||
if [[ ${buildtype} == "softmmu" ]]; then
|
||||
conf_opts+=" --disable-linux-user"
|
||||
conf_opts+=" --enable-system"
|
||||
conf_opts+=" --with-system-pixman"
|
||||
conf_opts+=" --target-list=${softmmu_targets}"
|
||||
conf_opts+=" $(use_enable bluetooth bluez)"
|
||||
conf_opts+=" $(use_enable gtk)"
|
||||
use gtk && conf_opts+=" --with-gtkabi=3.0"
|
||||
conf_opts+=" $(use_enable sdl)"
|
||||
conf_opts+=" $(use_enable aio linux-aio)"
|
||||
conf_opts+=" $(use_enable accessibility brlapi)"
|
||||
conf_opts+=" $(use_enable caps cap-ng)"
|
||||
conf_opts+=" $(use_enable curl)"
|
||||
conf_opts+=" $(use_enable fdt)"
|
||||
conf_opts+=" $(use_enable glusterfs)"
|
||||
conf_opts+=" $(use_enable iscsi libiscsi)"
|
||||
conf_opts+=" $(use_enable jpeg vnc-jpeg)"
|
||||
conf_opts+=" $(use_enable kernel_linux kvm)"
|
||||
conf_opts+=" $(use_enable ncurses curses)"
|
||||
conf_opts+=" $(use_enable opengl glx)"
|
||||
conf_opts+=" $(use_enable png vnc-png)"
|
||||
conf_opts+=" $(use_enable rbd)"
|
||||
conf_opts+=" $(use_enable sasl vnc-sasl)"
|
||||
conf_opts+=" $(use_enable seccomp)"
|
||||
conf_opts+=" $(use_enable smartcard smartcard-nss)"
|
||||
conf_opts+=" $(use_enable spice)"
|
||||
conf_opts+=" $(use_enable ssh libssh2)"
|
||||
conf_opts+=" $(use_enable tls vnc-tls)"
|
||||
conf_opts+=" $(use_enable tls vnc-ws)"
|
||||
conf_opts+=" $(use_enable usb libusb)"
|
||||
conf_opts+=" $(use_enable usbredir usb-redir)"
|
||||
conf_opts+=" $(use_enable uuid)"
|
||||
conf_opts+=" $(use_enable vde)"
|
||||
conf_opts+=" $(use_enable vhost-net)"
|
||||
conf_opts+=" $(use_enable virtfs)"
|
||||
conf_opts+=" $(use_enable vnc)"
|
||||
conf_opts+=" $(use_enable xattr attr)"
|
||||
conf_opts+=" $(use_enable xen)"
|
||||
conf_opts+=" $(use_enable xen xen-pci-passthrough)"
|
||||
conf_opts+=" $(use_enable xfs xfsctl)"
|
||||
conf_opts+=" --audio-drv-list=${audio_opts}"
|
||||
fi
|
||||
|
||||
conf_opts+=" $(use_enable debug debug-info)"
|
||||
conf_opts+=" $(use_enable debug debug-tcg)"
|
||||
conf_opts+=" --enable-docs"
|
||||
conf_opts+=" $(use_enable tci tcg-interpreter)"
|
||||
|
||||
# Add support for SystemTAP
|
||||
use systemtap && conf_opts="${conf_opts} --enable-trace-backend=dtrace"
|
||||
|
||||
# Add support for static builds
|
||||
use ${static_flag} && conf_opts="${conf_opts} --static --disable-pie"
|
||||
|
||||
# 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} && gcc-specs-pie; then
|
||||
conf_opts="${conf_opts} --enable-pie"
|
||||
fi
|
||||
|
||||
einfo "./configure ${conf_opts}"
|
||||
cd ${builddir}
|
||||
../configure \
|
||||
--cc="$(tc-getCC)" \
|
||||
--host-cc="$(tc-getBUILD_CC)" \
|
||||
${conf_opts} \
|
||||
|| die "configure failed"
|
||||
|
||||
# FreeBSD's kernel does not support QEMU assigning/grabbing
|
||||
# host USB devices yet
|
||||
use kernel_FreeBSD && \
|
||||
sed -E -e "s|^(HOST_USB=)bsd|\1stub|" -i "${S}"/config-host.mak
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
python_export_best
|
||||
|
||||
softmmu_targets=
|
||||
user_targets=
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
use "qemu_softmmu_targets_${target}" && \
|
||||
softmmu_targets="${softmmu_targets},${target}-softmmu"
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS} ; do
|
||||
use "qemu_user_targets_${target}" && \
|
||||
user_targets="${user_targets},${target}-linux-user"
|
||||
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() {
|
||||
cd "${S}/softmmu-build"
|
||||
emake -j1 check
|
||||
emake -j1 check-report.html
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
if use test; then
|
||||
dohtml check-report.html
|
||||
fi
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_dorules "${FILESDIR}"/65-kvm.rules
|
||||
fi
|
||||
|
||||
if use qemu_softmmu_targets_x86_64 ; then
|
||||
newbin "${FILESDIR}/qemu-kvm-1.4" qemu-kvm
|
||||
ewarn "The deprecated '/usr/bin/kvm' symlink is no longer installed"
|
||||
ewarn "You should use '/usr/bin/qemu-kvm', you may need to edit"
|
||||
ewarn "your libvirt configs or other wrappers for ${PN}"
|
||||
elif use x86 || use amd64; then
|
||||
elog "You disabled QEMU_SOFTMMU_TARGETS=x86_64, this disables install"
|
||||
elog "of the /usr/bin/qemu-kvm script."
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
# 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
|
||||
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
|
||||
|
||||
qemu_support_kvm && readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local virtfs_caps=
|
||||
|
||||
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"
|
||||
fi
|
||||
|
||||
virtfs_caps+="cap_chown,cap_dac_override,cap_fowner,cap_fsetid,"
|
||||
virtfs_caps+="cap_setgid,cap_mknod,cap_setuid"
|
||||
|
||||
fcaps cap_net_admin /usr/libexec/qemu-bridge-helper
|
||||
use virtfs && fcaps ${virtfs_caps} /usr/bin/virtfs-proxy-helper
|
||||
}
|
||||
|
||||
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,55 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-misc/figlet/figlet-222-r1.ebuild,v 1.3 2014/08/27 13:43:54 mgorny Exp $
|
||||
|
||||
EAPI=5
|
||||
inherit eutils bash-completion-r1 toolchain-funcs
|
||||
|
||||
MY_P=${P/-/}
|
||||
DESCRIPTION="Program for making large letters out of ordinary text"
|
||||
HOMEPAGE="http://www.figlet.org/"
|
||||
# Bug 35339 - add more fonts to figlet ebuild
|
||||
# The fonts are available from the figlet site, but they don't
|
||||
# have versions so we mirror them ourselves.
|
||||
SRC_URI="ftp://ftp.figlet.org/pub/figlet/program/unix/${MY_P}.tar.gz
|
||||
mirror://gentoo/contributed-${PN}-221.tar.gz
|
||||
mirror://gentoo/ms-dos-${PN}-221.tar.gz"
|
||||
|
||||
LICENSE="AFL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
|
||||
IUSE=""
|
||||
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
src_prepare() {
|
||||
cp "${WORKDIR}"/contributed/C64-fonts/*.flf fonts/ || die
|
||||
cp "${WORKDIR}"/contributed/bdffonts/*.flf fonts/ || die
|
||||
cp "${WORKDIR}"/ms-dos/*.flf fonts/ || die
|
||||
cp "${WORKDIR}"/contributed/*.flf fonts/ || die
|
||||
|
||||
epatch \
|
||||
"${FILESDIR}"/${P}-gentoo.diff \
|
||||
"${FILESDIR}"/${P}-includes.diff
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake clean
|
||||
emake \
|
||||
CC="$(tc-getCC)" \
|
||||
CFLAGS="${CFLAGS} ${LDFLAGS}" \
|
||||
all || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodir /usr/bin /usr/share/man/man6 || die "dodir failed"
|
||||
chmod +x figlist showfigfonts
|
||||
emake \
|
||||
DESTDIR="${ED}"/usr/bin \
|
||||
MANDIR="${ED}"/usr/share/man/man6 \
|
||||
DEFAULTFONTDIR="${ED}"/usr/share/figlet \
|
||||
install || die "make install failed"
|
||||
|
||||
dodoc README figfont.txt
|
||||
newbashcomp "${FILESDIR}"/figlet.bashcomp ${PN}
|
||||
}
|
@ -0,0 +1,113 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-shells/bash-completion/bash-completion-2.1-r1.ebuild,v 1.9 2014/08/27 08:13:54 mgorny Exp $
|
||||
|
||||
EAPI=5
|
||||
inherit bash-completion-r1 prefix toolchain-funcs
|
||||
|
||||
DESCRIPTION="Programmable Completion for bash"
|
||||
HOMEPAGE="http://bash-completion.alioth.debian.org/"
|
||||
SRC_URI="http://bash-completion.alioth.debian.org/files/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="|| ( app-admin/eselect-bashcomp <app-admin/eselect-1.3.7 )
|
||||
|| ( >=app-shells/bash-3.2 app-shells/zsh )
|
||||
sys-apps/miscfiles"
|
||||
PDEPEND="app-shells/gentoo-bashcomp"
|
||||
|
||||
src_prepare() {
|
||||
cp "${FILESDIR}"/bash-completion.sh-gentoo-1.2 "${T}"/bash-completion.sh || die
|
||||
eprefixify "${T}"/bash-completion.sh
|
||||
|
||||
cp "${FILESDIR}"/bash-completion.pc "${T}"/ || die
|
||||
# reuse paths from the eclass -- those can come from pkg-config
|
||||
# or defaults.
|
||||
sed -i \
|
||||
-e "/completionsdir/s@=.*\$@=$(get_bashcompdir)@" \
|
||||
-e "/helpersdir/s@=.*\$@=$(get_bashhelpersdir)@" \
|
||||
"${T}"/bash-completion.pc || die
|
||||
|
||||
find completions -name 'Makefile*' -exec rm -f {} +
|
||||
|
||||
# Part of >=sys-apps/util-linux-2.23 wrt #468544
|
||||
local file
|
||||
for file in cal dmesg eject hexdump hwclock ionice look renice rtcwake; do
|
||||
rm -f completions/${file}
|
||||
done
|
||||
|
||||
# app-editors/vim-core:
|
||||
rm -f completions/xxd
|
||||
|
||||
# net-misc/networkmanager:
|
||||
rm -f completions/nmcli
|
||||
|
||||
# Forward-compatibility with new install location, for eselect-bashcomp.
|
||||
echo "ES_BASHCOMP_DIRS=\"${EPREFIX}/usr/share/bash-completion/completions\"" \
|
||||
> "${T}"/50bash_completion || die
|
||||
}
|
||||
|
||||
src_configure() { :; } # no-op
|
||||
src_compile() { :; } # no-op
|
||||
|
||||
src_install() {
|
||||
# Gentoo specific bash-completion.sh file.
|
||||
insinto /etc/profile.d
|
||||
doins "${T}"/bash-completion.sh
|
||||
|
||||
# All files from contrib/ in source package get installed
|
||||
dobashcomp "${S}"/completions/*
|
||||
|
||||
awk -v D="$ED" '
|
||||
BEGIN { out=".pre" }
|
||||
/^# A lot of the following one-liners/ { out="base" }
|
||||
/^# start of section containing completion functions called by other functions/ { out=".pre" }
|
||||
/^# start of section containing completion functions for external programs/ { out="base" }
|
||||
/^# source completion directory/ { out="" }
|
||||
/^unset -f have/ { out=".post" }
|
||||
out != "" { print > D"/usr/share/bash-completion/"out }' \
|
||||
bash_completion || die "failed to split bash_completion"
|
||||
|
||||
dodoc AUTHORS CHANGES README
|
||||
|
||||
# This is backported from upstream 2.0 release. You can stop installing
|
||||
# this file after 2.0 is in Portage and use the one from the tarball
|
||||
# instead.
|
||||
# Installed to datadir instead of libdir because bash-completion(s)
|
||||
# are not ELF files.
|
||||
insinto /usr/share/pkgconfig
|
||||
doins "${T}"/bash-completion.pc
|
||||
|
||||
doenvd "${T}"/50bash_completion
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if ! has_version "${CATEGORY}/${PN}"; then
|
||||
elog "Any user can enable the module completions without editing their"
|
||||
elog ".bashrc by running:"
|
||||
elog
|
||||
elog " eselect bashcomp enable <module>"
|
||||
elog
|
||||
elog "The system administrator can also be enable this globally with"
|
||||
elog
|
||||
elog " eselect bashcomp enable --global <module>"
|
||||
elog
|
||||
elog "Make sure you at least enable the base module! Additional completion"
|
||||
elog "modules can be found by running"
|
||||
elog
|
||||
elog " eselect bashcomp list"
|
||||
elog
|
||||
elog "If you use non-login shells you still need to source"
|
||||
elog "/etc/profile.d/bash-completion.sh in your ~/.bashrc."
|
||||
fi
|
||||
|
||||
if has_version 'app-shells/zsh' ; then
|
||||
elog "If you are interested in using the provided bash completion functions with"
|
||||
elog "zsh, valuable tips on the effective use of bashcompinit are available:"
|
||||
elog " http://www.zsh.org/mla/workers/2003/msg00046.html"
|
||||
elog
|
||||
fi
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
DIST cilkplus-rtl-002856.tgz 200552 SHA256 b10755885c6d8c38f4d397e5a98974d2905b59c680913e09a5ccd922d3f70cb8 SHA512 45c9972af9aeb314b5b906d71ff61629b8e2f4736bc8c648adfd2a198e7230961cff80f3b1a1deb4be36ae46ca6e357034288a5780edf869139b7ad2e60c6af2 WHIRLPOOL f64a14d1bc272d75bbafee517ebff1783054e9fb5a1ba85950f918331f5f0e6e61cd7cd33ba11e7a0c2c7717fc025307760e6bb092be87dc95b74e5b4a01aefa
|
||||
DIST cilkplus-rtl-003453.tgz 281489 SHA256 ede6d6ef1614c8f8eacca22ac779f8e422d91f3993d30a34a0ca49bb5aed0d16 SHA512 640b72f9141f26e5ae1705b62efd1f1159b79b5f17bad86a3f8215a263f915a851b008f73439d9bcbf88629ab16ec0725827d56e43b6d4bccf447782803e22b2 WHIRLPOOL b329001b10e001fc796361d49f8117457d8249406c75df3d44f7162179ea4cb41d6b0392d99f5f8e53427c669b3a9587fcb5f9829b4fef01c103cf951d3826f2
|
||||
DIST cilkplus-rtl-003613.tgz 292165 SHA256 dcada399f741099490846982b18f5373d0f900f42f2f01f6bb6d463345204b71 SHA512 a9085e3a2670f82715f2438529c893d421b6ae364ce76b18ad0b4865ef1b405108cbfbd826ab272b374135cfd7dc6f3fc74a9b50558de95bc28d5328f346eeb2 WHIRLPOOL 224d3bd86428e265094d2bf8bab31b1a96b1623662a954636a7178d0fcc9058b3fd5d5372129a24398e0d6d26e77be3fe8220c9abd6e93a422c5c6f56649cca6
|
@ -1,26 +0,0 @@
|
||||
diff -Naur libcilkrts.orig/runtime/cilk-abi-cilk-for.cpp libcilkrts/runtime/cilk-abi-cilk-for.cpp
|
||||
--- libcilkrts.orig/runtime/cilk-abi-cilk-for.cpp 2012-06-14 12:25:49.000000000 -0700
|
||||
+++ libcilkrts/runtime/cilk-abi-cilk-for.cpp 2012-06-14 12:26:36.000000000 -0700
|
||||
@@ -40,6 +40,9 @@
|
||||
* from within the body of the cilk_for loop
|
||||
*/
|
||||
|
||||
+#include <cilk/cilk.h>
|
||||
+#include <cilk/cilk_stub.h>
|
||||
+
|
||||
#include "internal/abi.h"
|
||||
#include "metacall_impl.h"
|
||||
#include "global_state.h"
|
||||
diff -Naur libcilkrts.orig/runtime/symbol_test.c libcilkrts/runtime/symbol_test.c
|
||||
--- libcilkrts.orig/runtime/symbol_test.c 2012-06-14 12:25:49.000000000 -0700
|
||||
+++ libcilkrts/runtime/symbol_test.c 2012-06-14 12:26:30.000000000 -0700
|
||||
@@ -38,6 +38,9 @@
|
||||
* will cause a linker error.
|
||||
*/
|
||||
|
||||
+#include <cilk/cilk.h>
|
||||
+#include <cilk/cilk_stub.h>
|
||||
+
|
||||
extern void* __cilkrts_global_state;
|
||||
void *volatile p;
|
||||
|
@ -1,18 +0,0 @@
|
||||
diff -Naur libcilkrts.orig/Makefile.am libcilkrts/Makefile.am
|
||||
--- libcilkrts.orig/Makefile.am 2013-01-13 21:32:38.477690223 -0700
|
||||
+++ libcilkrts/Makefile.am 2013-01-13 21:33:08.697795224 -0700
|
||||
@@ -38,12 +38,12 @@
|
||||
|
||||
# Compiler and linker flags.
|
||||
GENERAL_FLAGS = -I$(top_srcdir)/include -DIN_CILK_RUNTIME=1
|
||||
-GENERAL_FLAGS += -fpic -O3
|
||||
+GENERAL_FLAGS += -fpic
|
||||
GENERAL_FLAGS += -DBUILD_USER=\"$(USER)\"
|
||||
GENERAL_FLAGS += -DBUILD_HOST=\"`hostname`\"
|
||||
|
||||
# Enable Intel Cilk Plus extension
|
||||
-GENERAL_FLAGS += -fcilkplus
|
||||
+#GENERAL_FLAGS += -fcilkplus
|
||||
|
||||
AM_CFLAGS = $(GENERAL_FLAGS) -std=c99
|
||||
AM_CPPFLAGS = $(GENERAL_FLAGS)
|
@ -1,27 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-lang/libcilkrts/libcilkrts-2856.ebuild,v 1.1 2013/01/14 04:41:37 ottxor Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit autotools-utils
|
||||
|
||||
DESCRIPTION="Intel Cilk Plus run time library"
|
||||
HOMEPAGE="http://cilkplus.org"
|
||||
SRC_URI="http://cilkplus.org/sites/default/files/runtime_source/cilkplus-rtl-00${PV}.tgz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="static-libs"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
S="${WORKDIR}/${PN}"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
|
||||
DOCS=( README )
|
||||
|
||||
PATCHES=( "${FILESDIR}/${PN}-2546-include.patch" "${FILESDIR}/${P}-flags.patch" )
|
@ -1,27 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-lang/libcilkrts/libcilkrts-3453.ebuild,v 1.1 2013/08/03 22:10:23 ottxor Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit autotools-utils
|
||||
|
||||
DESCRIPTION="Intel Cilk Plus run time library"
|
||||
HOMEPAGE="http://cilkplus.org"
|
||||
SRC_URI="http://cilkplus.org/sites/default/files/runtime_source/cilkplus-rtl-00${PV}.tgz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="static-libs"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
S="${WORKDIR}/cilkplus-rtl-bsd-00${PV}"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
|
||||
DOCS=( README )
|
||||
|
||||
PATCHES=( "${FILESDIR}/${PN}-2546-include.patch" "${FILESDIR}/${PN}-2856-flags.patch" )
|
@ -1,27 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-lang/libcilkrts/libcilkrts-3613.ebuild,v 1.1 2013/11/08 04:18:01 ottxor Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit autotools-utils
|
||||
|
||||
DESCRIPTION="Intel Cilk Plus run time library"
|
||||
HOMEPAGE="http://cilkplus.org"
|
||||
SRC_URI="http://cilkplus.org/sites/default/files/runtime_source/cilkplus-rtl-00${PV}.tgz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="static-libs"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
S="${WORKDIR}/cilkplus-rtl-bsd-00${PV}"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
|
||||
DOCS=( README )
|
||||
|
||||
PATCHES=( "${FILESDIR}/${PN}-2546-include.patch" "${FILESDIR}/${PN}-2856-flags.patch" )
|
@ -1,18 +1,10 @@
|
||||
DIST pl-6.6.4.tar.gz 14830255 SHA256 663977959979e389df0f87c2eb426ab71105c12206605ec40925893b91733cef SHA512 fea012ce97b62940618ce2e137fbeed39c7698544ece22da8c4d13f98d9cf809d990f912e406a939868471ef5517552a2ccf842be4b7e849aeaa6c1d38331b4a WHIRLPOOL 10e4243fa473c168a50268e7d2240976626cf20ae1440e94c496a6d93a1d1c5631ac7523695174baa8423396d4af57d84c6f0be59775cf7bff0aebf7be135d5d
|
||||
DIST pl-6.6.5.tar.gz 14837423 SHA256 79ee4526ce8a70d55cfeecbb1acfd737db0ddbe45585faba41a24ddb34484a53 SHA512 8bdf7678c51192185bbd20f008212de7401ca2f497fea02e7b652aa51fca0c1e961fa10efcd256325a6fb0b7ea956b26c8d8def2f11b2f45551f3a82591d6c7c WHIRLPOOL f7bc7236801a6c13402426f95e971d2de41b98dd596e2f13344f4ad56619a81ef587fe626ae1c797255739511d09fad49d21787df9fbefa034278c3a1824f949
|
||||
DIST pl-6.6.6.tar.gz 14838653 SHA256 9f80bb274e2f31fd68b0acbe35982c012d5f8311dbe44ec1d8d04351a776996d SHA512 a850b0f6b283d34aa77d5e9d8a0053161fa534fa6d8935c7472362ff7b59ea6035de0658d9e38c317e2d92ed810370f2adc3e92b6346fc0ff392d18f1c8012a6 WHIRLPOOL 448d844fe45aee97ad2e37bea3f81dd5eb388e1dcb9f1c4dc54c18991aa91d481bff5b70174fb06edb06c1361759621a570a083fe36d62bffdf6028c49244b2a
|
||||
DIST pl-7.1.16.tar.gz 15749514 SHA256 7757e18d3eb57dc7f8d3a39e30c2b38e11cf9c3fc91f177b8f3d44527b5e042b SHA512 3431b55d424191053f4870533955e6ed7fb7681de7c6266ac734511d5066a2cd368f7f1fc1724f8f69efcb735997ff0c297cf4aa22e57429bce2807669900b05 WHIRLPOOL 59b46d0197fc6fcb43faa5eca152582f3caa505ab330e71d116066d293ad646bc2d51f754d5e1f9cef342524aeaf729c582b0bd6527f132fcdb88ab213f0a020
|
||||
DIST pl-7.1.17.tar.gz 15754812 SHA256 7496a2cbe8ca9ae0034a6f4662fa4bb046c16624b454ada62ff8c6de734bb735 SHA512 d8538c2c182fa9f2c0ed3b3d28fb1f00737303b5c48e3d19e2dcab6658ba0a96a2ad41dc9be8f99237c563e9c31579c1981e483e322d011796b48fce5e14822c WHIRLPOOL d43ff1706902ee1fe18376a2cf47472faf0f136bf54f5ff120cdbbf09d1c6bec32728379ef42f817fa0447e80937e15e50f3630b18fbeb16f7deba1d6a32d69a
|
||||
DIST pl-7.1.18.tar.gz 15759720 SHA256 af11d73cca72ac1df653054027c3798e5bff3e6bb3296fcab023ad222bc68480 SHA512 2ce9c0f3868a0ddf719737d6d4a1ea04891e6ec4e4de3495e47f389efa260d832c0e6e4159c28d967148f218937c28929828ff63905977c429bec6e45f290615 WHIRLPOOL 3e878a3d236cbcf4bfee9ab6658f1c3efac602195e626185e90eaba6ae9d44085d71a1906b3b308bc4fea1ecf9392b07a1d971441b8ba02d8b9e308d9132ecea
|
||||
DIST pl-7.1.19.tar.gz 15785768 SHA256 c5673b591edbd61000e27caf76dd06b8fe0c78feb9b4f507ea300329985dd985 SHA512 75f37b67c98807644548f62205085fe03198870aa4b73316926cc2ac23ad750a6656e40a273d6da7d1a4f1a4bbb060ee79b13c0f5941f98826060f1c9444d89e WHIRLPOOL cf8c7415dc2500197a4e1dc9209aac1579358ff68d3bf83ad819b46f89f7e415db2ae77c8585fc7a0959b2110e099fc54f4a477900fc81103903c5bb66c4bb45
|
||||
DIST pl-7.1.20.tar.gz 15804389 SHA256 03198c5c2658a665e203799da2834d6d3395c5272f2ed2d3ef4add7bd995ee9f SHA512 077669992f9d9eb06452a792a77c98889c6534c8a0dae5a8ee2a42890b362613190f6a1bb3bbc7539515a2068505312b6b2a7537e511b1f625fd6b4192c50f08 WHIRLPOOL 92c78254dbe35da0b1720eac5fb312bc7514bb78eddacb0a6a08abfb1ae1fbc7af59231646b448b7a7d704ca1f29365d8909dd17f8444e5b1fb261c65afa6f2b
|
||||
DIST pl-7.1.21.tar.gz 15809362 SHA256 900c7bd95e1dcef08675a2648810d6246324b010ae3541544d2c493b5c907fd2 SHA512 1a515c7ee7d09f122bf7ca3f3ff2c39da23c8e2706057ba5b733dc49695e216ac0946e30ce80190aa30c8036fc926a82bc7114c90dbdcd65a2d44354fd216c4b WHIRLPOOL 2aeefe1f03b69ea418c220bc39e163ac28f150dba9c3cb295b18a7838413c70885ae823bfdd6ada9b50697c0e25246a2ed88a52b56cafbddb08e1c4a370ecb2f
|
||||
DIST swi-prolog-6.6.4-gentoo-patchset-0.tar.gz 1596 SHA256 727a9ed67cdd8a23bc5d0bd5b2463353071370e58667a73c4ae403ef8a94671f SHA512 98d42047ec54155f7d34928bce3050edd65259b552ea82b763f15391f0283f5229a9a513e5f31c441294c5a7f2f2c4e6f133ff031eccfeaaf7c1037665240be9 WHIRLPOOL 3b4c0b6888e450176483bb5371c5f023864390852b9cf0d6f12b356a8460189e5e6cb85399b378c4b6bda314ce690e9a7ede1f79c74d78f033d7caff3a2fc408
|
||||
DIST swi-prolog-6.6.5-gentoo-patchset-0.tar.gz 1595 SHA256 baf043ea3a145d8600ecb9c16722e8578b818b3018d50345e951084a26b018e9 SHA512 62f7a73af4d34b8a13378fb65302b01d2445b3e4f7198e293c4fd9b50948feaf632bd5de0af10aaf2cab9d5fcc214fe04d86e6e969e60b23d9bae4a277214041 WHIRLPOOL 95c6449b2248a0277af1cad70ebc16b46fd6b15d540822f1f9e5370760de94171bcdbb98df9915ce85e2ddda55eaf457eacb26b29f3ed4f61b1f69388454b0a5
|
||||
DIST swi-prolog-6.6.6-gentoo-patchset-0.tar.gz 1590 SHA256 2b240d15562603120e0314bb69bde50089326c11876b7a62106c05f9d48ace71 SHA512 807c7e897dd5b9eef14e063ea53c03047f3acb23174a70a613258adf7f85dc1f7637158fde70aab2e0f40de4bc6ac5e3548dd09dbe3745d916a388f43eb832eb WHIRLPOOL 0a0dbc361cfbe343c8b3562a2c0535905eb1443eea0783b14f96bda43c04e8db6264f476c07da766c6936dc6088e34059f799a3244717390644bf0f5ae83018e
|
||||
DIST swi-prolog-7.1.16-gentoo-patchset-0.tar.gz 1608 SHA256 0064ebb5f7b0c21e1a5eb81922e1bc8d006b62a54e2c2f41c4b944f2d6384714 SHA512 7e21da84d5425adaebb4e07fc5fff4e70f10ed572dca60069dd8582a98dc63ba8bb8c0d5af1dd889f18ed58d71a9917ab375dc801a352285f894540f6d514f83 WHIRLPOOL 8f3f5f1dadfd8221c8bb5c7e3a2311cc269ae702d4c4b1f459cc3ddbda02f57178d62da31fb53c0301d8f56997d6b5d3796c1a763c46a380a3ce67c474425ecd
|
||||
DIST swi-prolog-7.1.17-gentoo-patchset-0.tar.gz 1603 SHA256 3e86f4765a853f9085dd29851ac9c8dd04f74d83539298cbe6650881d54ce6c3 SHA512 bb0620b2680fe3bd5d13634b382e83acde7fe8caf911c7ae489c8cb9a6468caae065e6e30fcc7b0ea7fc524a19e94fe674d4a8c1f9d1f008560d55d6578ba04c WHIRLPOOL ecd27735c9bc3460b103c86c0f1f4cc8bd7f795d153b1fbf3ceb4d881e38467dc60e3081fb39bce85b6ef834ca1af23e31baf9b13e000a4f16b514b7fb4bcd97
|
||||
DIST swi-prolog-7.1.18-gentoo-patchset-0.tar.gz 1613 SHA256 7bbf810a1f59091d22cfc64cc5fa4c06702b101bc3b85d6c3fcd3bfa3c8a4652 SHA512 3443cb48b061d56e951798b742303b2fe8f2fa25a379bb3c5005729956159679c6fb9b39e4bcfb5ad801874b32c8edb7c0be0bfce95743cbcd299e9fb70c16ed WHIRLPOOL 96ca628ba1ab8292bd469f87aae7b1a10393b566f2ed8689b5b604407705ea3ceda7dad136459eb7dc0adf9abce40c86c2c5fecd67ea30145c1a6c3dd29a7400
|
||||
DIST swi-prolog-7.1.19-gentoo-patchset-0.tar.gz 1626 SHA256 8eac569d988b0e77735364402b9a04748ffde5857ef3e196e1163de6f44c83c9 SHA512 eb942d4443262a3afcbb2dc58b6d404c06d263c220f1ed72ac54c050735655c37ed574c9f9c401470e9e859a0657978aa0b75fe3373a277ee9058cf8f3abc2dd WHIRLPOOL ed5990aae19d460b5cbe98f822653311efe5c61835cc891646b684d5f73d8661f7d6941d823bd9f0bc56895dddb4fd3ed188de17eecc6973b5a9dc7577cad082
|
||||
DIST swi-prolog-7.1.20-gentoo-patchset-0.tar.gz 1640 SHA256 90dd1d785b6db80ec7743375e019e085b20254ce01defd3bde2fc9a8aa9d2007 SHA512 b57842ef389c9dd9eea79d0fd12b61f8ebf446e84db6a7ecd3422d6adbd7b63b0303644ee79dc92d4ea612126e5a42461c1e590271ce8789a830a03e040db928 WHIRLPOOL cc3a5c806caccdfea0d419afd4121f47518c82e0672c047321dea250d797efe81375a0ac0db1c78cb7a2a99f4803bcc5f1655f14cbe7b08e8a142ffa8e4ff839
|
||||
DIST swi-prolog-7.1.21-gentoo-patchset-0.tar.gz 1625 SHA256 ec8ec3e3e80a135b433a8b90a2d8d80bdb2537fb1c1bbb5f8b0b56fd65d5a5f0 SHA512 9d5dc9aa5baad8c0fd50dd120b7037aa1f5c15466fcc75acb16d5fc62f43f8367f8d982c78d10d56d6266d210d1eed55706b6563ce5e2400e4c052b10f9831ec WHIRLPOOL fb4d3e9a50609f65a7f4f20c35e2161858bdea75e047e8bad413a0413e46a6987b23d8ccb631bb9f84d2df246456e49c125bc2e55069503636e1b8df6e8a5ca0
|
||||
|
@ -1,125 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-lang/swi-prolog/swi-prolog-7.1.16.ebuild,v 1.1 2014/05/29 13:03:25 keri Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
inherit eutils flag-o-matic java-pkg-opt-2 multilib
|
||||
|
||||
PATCHSET_VER="0"
|
||||
|
||||
DESCRIPTION="free, small, and standard compliant Prolog compiler"
|
||||
HOMEPAGE="http://www.swi-prolog.org/"
|
||||
SRC_URI="http://www.swi-prolog.org/download/devel/src/pl-${PV}.tar.gz
|
||||
mirror://gentoo/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
|
||||
IUSE="archive debug doc +gmp hardened java minimal odbc +readline ssl static-libs test zlib X"
|
||||
|
||||
RDEPEND="sys-libs/ncurses
|
||||
archive? ( app-arch/libarchive )
|
||||
zlib? ( sys-libs/zlib )
|
||||
odbc? ( dev-db/unixODBC )
|
||||
readline? ( sys-libs/readline )
|
||||
gmp? ( dev-libs/gmp )
|
||||
ssl? ( dev-libs/openssl )
|
||||
java? ( >=virtual/jdk-1.4 )
|
||||
X? (
|
||||
virtual/jpeg
|
||||
x11-libs/libX11
|
||||
x11-libs/libXft
|
||||
x11-libs/libXpm
|
||||
x11-libs/libXt
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM )"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
X? ( x11-proto/xproto )
|
||||
java? ( test? ( =dev-java/junit-3.8* ) )"
|
||||
|
||||
S="${WORKDIR}/pl-${PV}"
|
||||
|
||||
src_prepare() {
|
||||
EPATCH_FORCE=yes
|
||||
EPATCH_SUFFIX=patch
|
||||
epatch "${WORKDIR}"/${PV}
|
||||
|
||||
# OSX/Intel ld doesn't like an archive without table of contents
|
||||
sed -i -e 's/-cru/-scru/' packages/nlp/libstemmer_c/Makefile.pl || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
append-flags -fno-strict-aliasing
|
||||
use ppc && append-flags -mno-altivec
|
||||
use hardened && append-flags -fno-unit-at-a-time
|
||||
use debug && append-flags -DO_DEBUG
|
||||
|
||||
# ARCH is used in the configure script to figure out host and target
|
||||
# specific stuff
|
||||
export ARCH=${CHOST}
|
||||
|
||||
export CC_FOR_BUILD=$(tc-getBUILD_CC)
|
||||
|
||||
cd "${S}"/src || die
|
||||
econf \
|
||||
--libdir="${EPREFIX}"/usr/$(get_libdir) \
|
||||
$(use_enable gmp) \
|
||||
$(use_enable readline) \
|
||||
$(use_enable static-libs static) \
|
||||
--enable-shared \
|
||||
--enable-custom-flags COFLAGS="${CFLAGS}"
|
||||
|
||||
if ! use minimal ; then
|
||||
local jpltestconf
|
||||
if use java && use test ; then
|
||||
jpltestconf="--with-junit=$(java-config --classpath junit)"
|
||||
fi
|
||||
|
||||
cd "${S}/packages" || die
|
||||
econf \
|
||||
--libdir="${EPREFIX}"/usr/$(get_libdir) \
|
||||
$(use_with archive) \
|
||||
$(use_with java jpl) \
|
||||
${jpltestconf} \
|
||||
$(use_with odbc) \
|
||||
$(use_with ssl) \
|
||||
$(use_with X xpce) \
|
||||
$(use_with zlib) \
|
||||
COFLAGS='"${CFLAGS}"'
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cd "${S}"/src || die
|
||||
emake
|
||||
|
||||
if ! use minimal ; then
|
||||
cd "${S}/packages" || die
|
||||
emake
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
cd "${S}/src" || die
|
||||
emake check
|
||||
|
||||
if ! use minimal ; then
|
||||
cd "${S}/packages" || die
|
||||
emake check
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake -C src DESTDIR="${D}" install
|
||||
|
||||
if ! use minimal ; then
|
||||
emake -C packages DESTDIR="${D}" install
|
||||
if use doc ; then
|
||||
emake -C packages DESTDIR="${D}" html-install
|
||||
fi
|
||||
fi
|
||||
|
||||
dodoc ReleaseNotes/relnotes-5.10 INSTALL README VERSION
|
||||
}
|
@ -1,125 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-lang/swi-prolog/swi-prolog-7.1.17.ebuild,v 1.1 2014/07/03 13:23:10 keri Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
inherit eutils flag-o-matic java-pkg-opt-2 multilib
|
||||
|
||||
PATCHSET_VER="0"
|
||||
|
||||
DESCRIPTION="free, small, and standard compliant Prolog compiler"
|
||||
HOMEPAGE="http://www.swi-prolog.org/"
|
||||
SRC_URI="http://www.swi-prolog.org/download/devel/src/pl-${PV}.tar.gz
|
||||
mirror://gentoo/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
|
||||
IUSE="archive debug doc +gmp hardened java minimal odbc +readline ssl static-libs test zlib X"
|
||||
|
||||
RDEPEND="sys-libs/ncurses
|
||||
archive? ( app-arch/libarchive )
|
||||
zlib? ( sys-libs/zlib )
|
||||
odbc? ( dev-db/unixODBC )
|
||||
readline? ( sys-libs/readline )
|
||||
gmp? ( dev-libs/gmp )
|
||||
ssl? ( dev-libs/openssl )
|
||||
java? ( >=virtual/jdk-1.4 )
|
||||
X? (
|
||||
virtual/jpeg
|
||||
x11-libs/libX11
|
||||
x11-libs/libXft
|
||||
x11-libs/libXpm
|
||||
x11-libs/libXt
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM )"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
X? ( x11-proto/xproto )
|
||||
java? ( test? ( =dev-java/junit-3.8* ) )"
|
||||
|
||||
S="${WORKDIR}/pl-${PV}"
|
||||
|
||||
src_prepare() {
|
||||
EPATCH_FORCE=yes
|
||||
EPATCH_SUFFIX=patch
|
||||
epatch "${WORKDIR}"/${PV}
|
||||
|
||||
# OSX/Intel ld doesn't like an archive without table of contents
|
||||
sed -i -e 's/-cru/-scru/' packages/nlp/libstemmer_c/Makefile.pl || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
append-flags -fno-strict-aliasing
|
||||
use ppc && append-flags -mno-altivec
|
||||
use hardened && append-flags -fno-unit-at-a-time
|
||||
use debug && append-flags -DO_DEBUG
|
||||
|
||||
# ARCH is used in the configure script to figure out host and target
|
||||
# specific stuff
|
||||
export ARCH=${CHOST}
|
||||
|
||||
export CC_FOR_BUILD=$(tc-getBUILD_CC)
|
||||
|
||||
cd "${S}"/src || die
|
||||
econf \
|
||||
--libdir="${EPREFIX}"/usr/$(get_libdir) \
|
||||
$(use_enable gmp) \
|
||||
$(use_enable readline) \
|
||||
$(use_enable static-libs static) \
|
||||
--enable-shared \
|
||||
--enable-custom-flags COFLAGS="${CFLAGS}"
|
||||
|
||||
if ! use minimal ; then
|
||||
local jpltestconf
|
||||
if use java && use test ; then
|
||||
jpltestconf="--with-junit=$(java-config --classpath junit)"
|
||||
fi
|
||||
|
||||
cd "${S}/packages" || die
|
||||
econf \
|
||||
--libdir="${EPREFIX}"/usr/$(get_libdir) \
|
||||
$(use_with archive) \
|
||||
$(use_with java jpl) \
|
||||
${jpltestconf} \
|
||||
$(use_with odbc) \
|
||||
$(use_with ssl) \
|
||||
$(use_with X xpce) \
|
||||
$(use_with zlib) \
|
||||
COFLAGS='"${CFLAGS}"'
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cd "${S}"/src || die
|
||||
emake
|
||||
|
||||
if ! use minimal ; then
|
||||
cd "${S}/packages" || die
|
||||
emake
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
cd "${S}/src" || die
|
||||
emake check
|
||||
|
||||
if ! use minimal ; then
|
||||
cd "${S}/packages" || die
|
||||
emake check
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake -C src DESTDIR="${D}" install
|
||||
|
||||
if ! use minimal ; then
|
||||
emake -C packages DESTDIR="${D}" install
|
||||
if use doc ; then
|
||||
emake -C packages DESTDIR="${D}" html-install
|
||||
fi
|
||||
fi
|
||||
|
||||
dodoc ReleaseNotes/relnotes-5.10 INSTALL README VERSION
|
||||
}
|
@ -1,125 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-lang/swi-prolog/swi-prolog-7.1.18.ebuild,v 1.1 2014/08/07 11:43:09 keri Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
inherit eutils flag-o-matic java-pkg-opt-2 multilib
|
||||
|
||||
PATCHSET_VER="0"
|
||||
|
||||
DESCRIPTION="free, small, and standard compliant Prolog compiler"
|
||||
HOMEPAGE="http://www.swi-prolog.org/"
|
||||
SRC_URI="http://www.swi-prolog.org/download/devel/src/pl-${PV}.tar.gz
|
||||
mirror://gentoo/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
|
||||
IUSE="archive debug doc +gmp hardened java minimal odbc +readline ssl static-libs test zlib X"
|
||||
|
||||
RDEPEND="sys-libs/ncurses
|
||||
archive? ( app-arch/libarchive )
|
||||
zlib? ( sys-libs/zlib )
|
||||
odbc? ( dev-db/unixODBC )
|
||||
readline? ( sys-libs/readline )
|
||||
gmp? ( dev-libs/gmp )
|
||||
ssl? ( dev-libs/openssl )
|
||||
java? ( >=virtual/jdk-1.4 )
|
||||
X? (
|
||||
virtual/jpeg
|
||||
x11-libs/libX11
|
||||
x11-libs/libXft
|
||||
x11-libs/libXpm
|
||||
x11-libs/libXt
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM )"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
X? ( x11-proto/xproto )
|
||||
java? ( test? ( =dev-java/junit-3.8* ) )"
|
||||
|
||||
S="${WORKDIR}/pl-${PV}"
|
||||
|
||||
src_prepare() {
|
||||
EPATCH_FORCE=yes
|
||||
EPATCH_SUFFIX=patch
|
||||
epatch "${WORKDIR}"/${PV}
|
||||
|
||||
# OSX/Intel ld doesn't like an archive without table of contents
|
||||
sed -i -e 's/-cru/-scru/' packages/nlp/libstemmer_c/Makefile.pl || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
append-flags -fno-strict-aliasing
|
||||
use ppc && append-flags -mno-altivec
|
||||
use hardened && append-flags -fno-unit-at-a-time
|
||||
use debug && append-flags -DO_DEBUG
|
||||
|
||||
# ARCH is used in the configure script to figure out host and target
|
||||
# specific stuff
|
||||
export ARCH=${CHOST}
|
||||
|
||||
export CC_FOR_BUILD=$(tc-getBUILD_CC)
|
||||
|
||||
cd "${S}"/src || die
|
||||
econf \
|
||||
--libdir="${EPREFIX}"/usr/$(get_libdir) \
|
||||
$(use_enable gmp) \
|
||||
$(use_enable readline) \
|
||||
$(use_enable static-libs static) \
|
||||
--enable-shared \
|
||||
--enable-custom-flags COFLAGS="${CFLAGS}"
|
||||
|
||||
if ! use minimal ; then
|
||||
local jpltestconf
|
||||
if use java && use test ; then
|
||||
jpltestconf="--with-junit=$(java-config --classpath junit)"
|
||||
fi
|
||||
|
||||
cd "${S}/packages" || die
|
||||
econf \
|
||||
--libdir="${EPREFIX}"/usr/$(get_libdir) \
|
||||
$(use_with archive) \
|
||||
$(use_with java jpl) \
|
||||
${jpltestconf} \
|
||||
$(use_with odbc) \
|
||||
$(use_with ssl) \
|
||||
$(use_with X xpce) \
|
||||
$(use_with zlib) \
|
||||
COFLAGS='"${CFLAGS}"'
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cd "${S}"/src || die
|
||||
emake
|
||||
|
||||
if ! use minimal ; then
|
||||
cd "${S}/packages" || die
|
||||
emake
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
cd "${S}/src" || die
|
||||
emake check
|
||||
|
||||
if ! use minimal ; then
|
||||
cd "${S}/packages" || die
|
||||
emake check
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake -C src DESTDIR="${D}" install
|
||||
|
||||
if ! use minimal ; then
|
||||
emake -C packages DESTDIR="${D}" install
|
||||
if use doc ; then
|
||||
emake -C packages DESTDIR="${D}" html-install
|
||||
fi
|
||||
fi
|
||||
|
||||
dodoc ReleaseNotes/relnotes-5.10 INSTALL README VERSION
|
||||
}
|
@ -1,125 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-lang/swi-prolog/swi-prolog-7.1.19.ebuild,v 1.1 2014/08/13 10:47:03 keri Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
inherit eutils flag-o-matic java-pkg-opt-2 multilib
|
||||
|
||||
PATCHSET_VER="0"
|
||||
|
||||
DESCRIPTION="free, small, and standard compliant Prolog compiler"
|
||||
HOMEPAGE="http://www.swi-prolog.org/"
|
||||
SRC_URI="http://www.swi-prolog.org/download/devel/src/pl-${PV}.tar.gz
|
||||
mirror://gentoo/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
|
||||
IUSE="archive debug doc +gmp hardened java minimal odbc +readline ssl static-libs test zlib X"
|
||||
|
||||
RDEPEND="sys-libs/ncurses
|
||||
archive? ( app-arch/libarchive )
|
||||
zlib? ( sys-libs/zlib )
|
||||
odbc? ( dev-db/unixODBC )
|
||||
readline? ( sys-libs/readline )
|
||||
gmp? ( dev-libs/gmp )
|
||||
ssl? ( dev-libs/openssl )
|
||||
java? ( >=virtual/jdk-1.4 )
|
||||
X? (
|
||||
virtual/jpeg
|
||||
x11-libs/libX11
|
||||
x11-libs/libXft
|
||||
x11-libs/libXpm
|
||||
x11-libs/libXt
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM )"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
X? ( x11-proto/xproto )
|
||||
java? ( test? ( =dev-java/junit-3.8* ) )"
|
||||
|
||||
S="${WORKDIR}/pl-${PV}"
|
||||
|
||||
src_prepare() {
|
||||
EPATCH_FORCE=yes
|
||||
EPATCH_SUFFIX=patch
|
||||
epatch "${WORKDIR}"/${PV}
|
||||
|
||||
# OSX/Intel ld doesn't like an archive without table of contents
|
||||
sed -i -e 's/-cru/-scru/' packages/nlp/libstemmer_c/Makefile.pl || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
append-flags -fno-strict-aliasing
|
||||
use ppc && append-flags -mno-altivec
|
||||
use hardened && append-flags -fno-unit-at-a-time
|
||||
use debug && append-flags -DO_DEBUG
|
||||
|
||||
# ARCH is used in the configure script to figure out host and target
|
||||
# specific stuff
|
||||
export ARCH=${CHOST}
|
||||
|
||||
export CC_FOR_BUILD=$(tc-getBUILD_CC)
|
||||
|
||||
cd "${S}"/src || die
|
||||
econf \
|
||||
--libdir="${EPREFIX}"/usr/$(get_libdir) \
|
||||
$(use_enable gmp) \
|
||||
$(use_enable readline) \
|
||||
$(use_enable static-libs static) \
|
||||
--enable-shared \
|
||||
--enable-custom-flags COFLAGS="${CFLAGS}"
|
||||
|
||||
if ! use minimal ; then
|
||||
local jpltestconf
|
||||
if use java && use test ; then
|
||||
jpltestconf="--with-junit=$(java-config --classpath junit)"
|
||||
fi
|
||||
|
||||
cd "${S}/packages" || die
|
||||
econf \
|
||||
--libdir="${EPREFIX}"/usr/$(get_libdir) \
|
||||
$(use_with archive) \
|
||||
$(use_with java jpl) \
|
||||
${jpltestconf} \
|
||||
$(use_with odbc) \
|
||||
$(use_with ssl) \
|
||||
$(use_with X xpce) \
|
||||
$(use_with zlib) \
|
||||
COFLAGS='"${CFLAGS}"'
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cd "${S}"/src || die
|
||||
emake
|
||||
|
||||
if ! use minimal ; then
|
||||
cd "${S}/packages" || die
|
||||
emake
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
cd "${S}/src" || die
|
||||
emake check
|
||||
|
||||
if ! use minimal ; then
|
||||
cd "${S}/packages" || die
|
||||
emake check
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake -C src DESTDIR="${D}" install
|
||||
|
||||
if ! use minimal ; then
|
||||
emake -C packages DESTDIR="${D}" install
|
||||
if use doc ; then
|
||||
emake -C packages DESTDIR="${D}" html-install
|
||||
fi
|
||||
fi
|
||||
|
||||
dodoc ReleaseNotes/relnotes-5.10 INSTALL README VERSION
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-libs/libsodium/libsodium-0.7.0.ebuild,v 1.1 2014/08/27 13:47:03 mrueg Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils
|
||||
|
||||
DESCRIPTION="A portable fork of NaCl, a higher-level cryptographic library"
|
||||
HOMEPAGE="https://github.com/jedisct1/libsodium"
|
||||
SRC_URI="http://download.libsodium.org/${PN}/releases/${P}.tar.gz"
|
||||
|
||||
LICENSE="ISC"
|
||||
SLOT="0/13"
|
||||
KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~mips ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="+asm minimal static-libs +urandom"
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
$(use_enable asm) \
|
||||
$(use_enable minimal) \
|
||||
$(use_enable !urandom blocking-random) \
|
||||
$(use_enable static-libs static)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
prune_libtool_files
|
||||
}
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Apache-CGI-Builder/Apache-CGI-Builder-1.300.0.ebuild,v 1.1 2011/09/01 13:48:38 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Apache-CGI-Builder/Apache-CGI-Builder-1.300.0-r1.ebuild,v 1.1 2014/08/26 18:48:02 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=DOMIZIO
|
||||
MODULE_VERSION=1.3
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/App-CLI/App-CLI-0.313.0.ebuild,v 1.1 2011/09/01 13:31:41 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/App-CLI/App-CLI-0.313.0-r1.ebuild,v 1.1 2014/08/26 17:18:59 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=CORNELIUS
|
||||
MODULE_VERSION=0.313
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Audio-Scan/Audio-Scan-0.930.0.ebuild,v 1.2 2011/11/18 15:36:17 grobian Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Audio-Scan/Audio-Scan-0.930.0-r1.ebuild,v 1.1 2014/08/26 14:58:00 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=AGRUNDMA
|
||||
MODULE_VERSION=0.93
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Authen-Libwrap/Authen-Libwrap-0.220.0.ebuild,v 1.1 2011/09/01 14:03:21 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Authen-Libwrap/Authen-Libwrap-0.220.0-r1.ebuild,v 1.1 2014/08/26 18:16:55 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=DMUEY
|
||||
MODULE_VERSION=0.22
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/B-Hooks-OP-Check/B-Hooks-OP-Check-0.190.0.ebuild,v 1.1 2011/09/13 17:19:07 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/B-Hooks-OP-Check/B-Hooks-OP-Check-0.190.0-r1.ebuild,v 1.1 2014/08/26 15:55:38 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=ZEFRAM
|
||||
MODULE_VERSION=0.19
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/B-Hooks-Parser/B-Hooks-Parser-0.120.0.ebuild,v 1.1 2013/08/16 07:52:46 patrick Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/B-Hooks-Parser/B-Hooks-Parser-0.120.0-r1.ebuild,v 1.1 2014/08/26 17:15:46 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=ETHER
|
||||
MODULE_VERSION=0.12
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/B-OPCheck/B-OPCheck-0.290.0.ebuild,v 1.1 2011/09/01 13:08:22 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/B-OPCheck/B-OPCheck-0.290.0-r1.ebuild,v 1.1 2014/08/26 17:16:31 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=FLORA
|
||||
MODULE_VERSION=0.29
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/B-Utils/B-Utils-0.220.0.ebuild,v 1.1 2013/08/16 08:30:40 patrick Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/B-Utils/B-Utils-0.220.0-r1.ebuild,v 1.1 2014/08/26 15:56:32 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=RURBAN
|
||||
MODULE_VERSION=0.22
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Bio-Das/Bio-Das-1.170.0.ebuild,v 1.2 2012/12/20 17:34:09 jlec Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Bio-Das/Bio-Das-1.170.0-r1.ebuild,v 1.1 2014/08/26 19:36:32 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=LDS
|
||||
MODULE_VERSION=1.17
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Bio-Graphics/Bio-Graphics-2.370.0.ebuild,v 1.1 2013/08/15 06:59:02 patrick Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Bio-Graphics/Bio-Graphics-2.370.0-r1.ebuild,v 1.1 2014/08/26 18:17:59 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=LDS
|
||||
MODULE_VERSION=2.37
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Bio-SamTools/Bio-SamTools-1.390.0.ebuild,v 1.1 2013/09/03 05:21:55 patrick Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Bio-SamTools/Bio-SamTools-1.390.0-r1.ebuild,v 1.1 2014/08/26 19:37:47 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=LDS
|
||||
MODULE_VERSION=1.39
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Business-ISBN-Data/Business-ISBN-Data-20120719.1.0.ebuild,v 1.1 2012/09/11 16:32:13 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Business-ISBN-Data/Business-ISBN-Data-20120719.1.0-r1.ebuild,v 1.1 2014/08/26 14:46:26 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=BDFOY
|
||||
MODULE_VERSION=20120719.001
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Business-ISBN/Business-ISBN-2.50.0.ebuild,v 1.1 2012/09/11 16:36:35 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Business-ISBN/Business-ISBN-2.50.0-r1.ebuild,v 1.1 2014/08/26 16:05:08 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=BDFOY
|
||||
MODULE_VERSION=2.05
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Business-ISMN/Business-ISMN-1.110.0.ebuild,v 1.1 2012/09/11 03:21:08 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Business-ISMN/Business-ISMN-1.110.0-r1.ebuild,v 1.1 2014/08/26 16:06:02 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=BDFOY
|
||||
MODULE_VERSION=1.11
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Business-ISSN/Business-ISSN-0.910.0.ebuild,v 1.1 2012/09/11 03:31:54 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Business-ISSN/Business-ISSN-0.910.0-r1.ebuild,v 1.1 2014/08/26 14:58:55 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=BDFOY
|
||||
MODULE_VERSION=0.91
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/CDB_File/CDB_File-0.970.0.ebuild,v 1.1 2011/04/07 11:36:55 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/CDB_File/CDB_File-0.970.0-r1.ebuild,v 1.1 2014/08/26 14:59:38 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=TODDR
|
||||
MODULE_VERSION=0.97
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/CGI-Builder/CGI-Builder-1.360.0.ebuild,v 1.1 2011/09/01 12:55:16 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/CGI-Builder/CGI-Builder-1.360.0-r1.ebuild,v 1.1 2014/08/26 18:37:40 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=DOMIZIO
|
||||
MODULE_VERSION=1.36
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/CGI-Emulate-PSGI/CGI-Emulate-PSGI-0.150.0.ebuild,v 1.1 2012/11/04 16:27:30 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/CGI-Emulate-PSGI/CGI-Emulate-PSGI-0.150.0-r1.ebuild,v 1.1 2014/08/26 17:37:36 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=MIYAGAWA
|
||||
MODULE_VERSION=0.15
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/CGI-FormBuilder/CGI-FormBuilder-3.80.0.ebuild,v 1.1 2012/05/19 13:41:36 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/CGI-FormBuilder/CGI-FormBuilder-3.80.0-r1.ebuild,v 1.1 2014/08/26 15:00:39 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=NWIGER
|
||||
MODULE_VERSION=3.08
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/CQL-Parser/CQL-Parser-1.120.0.ebuild,v 1.2 2014/08/04 17:36:30 zlogene Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/CQL-Parser/CQL-Parser-1.120.0-r1.ebuild,v 1.1 2014/08/26 17:21:12 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=BRICAS
|
||||
MODULE_VERSION=1.12
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/CSS-Minifier/CSS-Minifier-0.10.0.ebuild,v 1.1 2011/09/01 11:47:30 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/CSS-Minifier/CSS-Minifier-0.10.0-r1.ebuild,v 1.1 2014/08/26 15:07:51 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=PMICHAUX
|
||||
MODULE_VERSION=0.01
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/CSS-Squish/CSS-Squish-0.100.0.ebuild,v 1.1 2011/09/01 11:46:43 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/CSS-Squish/CSS-Squish-0.100.0-r1.ebuild,v 1.1 2014/08/26 17:21:59 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=TSIBLEY
|
||||
MODULE_VERSION=0.10
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Cisco-IPPhone/Cisco-IPPhone-0.50.0.ebuild,v 1.1 2011/09/01 11:31:03 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Cisco-IPPhone/Cisco-IPPhone-0.50.0-r1.ebuild,v 1.1 2014/08/26 15:01:20 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=MRPALMER
|
||||
MODULE_VERSION=0.05
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Class-Accessor-Lite/Class-Accessor-Lite-0.50.0.ebuild,v 1.1 2012/02/02 16:02:16 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Class-Accessor-Lite/Class-Accessor-Lite-0.50.0-r1.ebuild,v 1.1 2014/08/26 14:44:15 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=KAZUHO
|
||||
MODULE_VERSION=0.05
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Class-Base/Class-Base-0.50.0.ebuild,v 1.2 2012/09/01 11:17:06 grobian Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Class-Base/Class-Base-0.50.0-r1.ebuild,v 1.1 2014/08/26 15:03:38 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=SZABGAB
|
||||
MODULE_VERSION=0.05
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Class-C3-Componentised/Class-C3-Componentised-1.1.0.ebuild,v 1.3 2014/08/04 17:37:08 zlogene Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Class-C3-Componentised/Class-C3-Componentised-1.1.0-r1.ebuild,v 1.1 2014/08/26 16:06:46 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=FREW
|
||||
MODULE_VERSION=1.001000
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Class-Data-Accessor/Class-Data-Accessor-0.40.40.ebuild,v 1.1 2011/09/01 11:15:02 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Class-Data-Accessor/Class-Data-Accessor-0.40.40-r1.ebuild,v 1.1 2014/08/26 15:04:21 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=CLACO
|
||||
MODULE_VERSION=0.04004
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Class-Member/Class-Member-1.600.0.ebuild,v 1.1 2011/09/01 11:03:28 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Class-Member/Class-Member-1.600.0-r1.ebuild,v 1.1 2014/08/26 15:05:02 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=OPI
|
||||
MODULE_VERSION=1.6
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Class-Mix/Class-Mix-0.5.0.ebuild,v 1.1 2013/11/28 14:46:08 chainsaw Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Class-Mix/Class-Mix-0.5.0-r1.ebuild,v 1.1 2014/08/26 18:38:27 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
MODULE_AUTHOR=ZEFRAM
|
||||
MODULE_VERSION=0.005
|
||||
inherit perl-module
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Class-Spiffy/Class-Spiffy-0.150.0.ebuild,v 1.3 2012/10/24 10:54:27 ago Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Class-Spiffy/Class-Spiffy-0.150.0-r1.ebuild,v 1.1 2014/08/26 15:05:48 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=INGY
|
||||
MODULE_VERSION=0.15
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Class-Unload/Class-Unload-0.70.0.ebuild,v 1.1 2011/09/01 10:58:47 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Class-Unload/Class-Unload-0.70.0-r1.ebuild,v 1.1 2014/08/26 16:07:29 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=ILMARI
|
||||
MODULE_VERSION=0.07
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Color-Library/Color-Library-0.21.0.ebuild,v 1.2 2012/06/07 12:16:38 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Color-Library/Color-Library-0.21.0-r1.ebuild,v 1.1 2014/08/26 17:38:25 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=ROKR
|
||||
MODULE_VERSION=0.021
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Config-Any/Config-Any-0.240.0.ebuild,v 1.1 2013/09/18 03:06:04 patrick Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Config-Any/Config-Any-0.240.0-r1.ebuild,v 1.1 2014/08/26 17:34:36 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=BRICAS
|
||||
MODULE_VERSION=0.24
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Config-Auto/Config-Auto-0.420.0.ebuild,v 1.1 2012/06/24 07:06:16 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Config-Auto/Config-Auto-0.420.0-r1.ebuild,v 1.1 2014/08/26 17:19:48 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR="BINGOS"
|
||||
MODULE_VERSION=0.42
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Context-Preserve/Context-Preserve-0.10.0.ebuild,v 1.3 2014/08/05 13:19:50 zlogene Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Context-Preserve/Context-Preserve-0.10.0-r1.ebuild,v 1.1 2014/08/26 15:06:29 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=JROCKWAY
|
||||
MODULE_VERSION=0.01
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Contextual-Return/Contextual-Return-0.4.7.ebuild,v 1.1 2012/10/07 16:50:44 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Contextual-Return/Contextual-Return-0.4.7-r1.ebuild,v 1.1 2014/08/26 17:20:30 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=DCONWAY
|
||||
MODULE_VERSION=0.004007
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Convert-Color/Convert-Color-0.80.0.ebuild,v 1.1 2012/02/03 14:35:01 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Convert-Color/Convert-Color-0.80.0-r1.ebuild,v 1.1 2014/08/26 18:41:31 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=PEVANS
|
||||
MODULE_VERSION=0.08
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Coro/Coro-6.310.0.ebuild,v 1.1 2013/08/15 06:08:49 patrick Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Coro/Coro-6.310.0-r1.ebuild,v 1.1 2014/08/26 17:15:04 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=MLEHMANN
|
||||
MODULE_VERSION=6.31
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Crypt-Eksblowfish/Crypt-Eksblowfish-0.9.0-r1.ebuild,v 1.1 2013/11/28 14:50:24 chainsaw Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Crypt-Eksblowfish/Crypt-Eksblowfish-0.9.0-r2.ebuild,v 1.1 2014/08/26 18:48:46 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=ZEFRAM
|
||||
MODULE_VERSION=0.009
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Crypt-SMIME/Crypt-SMIME-0.100.0.ebuild,v 1.1 2011/08/31 13:56:07 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Crypt-SMIME/Crypt-SMIME-0.100.0-r1.ebuild,v 1.1 2014/08/26 15:07:11 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=MIKAGE
|
||||
MODULE_VERSION=0.10
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/DB_File-Lock/DB_File-Lock-0.50.0.ebuild,v 1.1 2011/08/31 13:29:52 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/DB_File-Lock/DB_File-Lock-0.50.0-r1.ebuild,v 1.1 2014/08/26 17:22:41 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=DHARRIS
|
||||
MODULE_VERSION=0.05
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Data-Dump-Streamer/Data-Dump-Streamer-2.360.0.ebuild,v 1.1 2013/08/15 06:59:30 patrick Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Data-Dump-Streamer/Data-Dump-Streamer-2.360.0-r1.ebuild,v 1.1 2014/08/26 18:10:51 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=YVES
|
||||
MODULE_VERSION=2.36
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Data-Dumper-Concise/Data-Dumper-Concise-2.20.0.ebuild,v 1.4 2013/04/16 17:19:53 vincent Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Data-Dumper-Concise/Data-Dumper-Concise-2.20.0-r1.ebuild,v 1.1 2014/08/26 14:47:21 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=FREW
|
||||
MODULE_VERSION=2.020
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Data-ICal/Data-ICal-0.210.0.ebuild,v 1.1 2013/08/16 08:17:58 patrick Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Data-ICal/Data-ICal-0.210.0-r1.ebuild,v 1.1 2014/08/26 18:01:53 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=ALEXMV
|
||||
MODULE_VERSION=0.21
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Data-Page/Data-Page-2.20.0.ebuild,v 1.2 2012/09/01 11:29:44 grobian Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Data-Page/Data-Page-2.20.0-r1.ebuild,v 1.1 2014/08/26 18:18:46 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=LBROCARD
|
||||
MODULE_VERSION=2.02
|
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Data-Stream-Bulk/Data-Stream-Bulk-0.110.0.ebuild,v 1.1 2012/05/21 03:17:42 tove Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/Data-Stream-Bulk/Data-Stream-Bulk-0.110.0-r1.ebuild,v 1.1 2014/08/26 18:49:31 axs Exp $
|
||||
|
||||
EAPI=4
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=DOY
|
||||
MODULE_VERSION=${PV:0:4}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue