Sync with portage [Fri Jul 10 12:36:14 MSK 2020].

develop 1711
root 4 years ago
parent c354d1c4d0
commit d7799a9c6d

Binary file not shown.

Binary file not shown.

@ -2,11 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>sam@cmpct.info</email>
<email>sam@gentoo.org</email>
<name>Sam James</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
</pkgmetadata>

@ -2,15 +2,11 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>sam@cmpct.info</email>
<email>sam@gentoo.org</email>
<name>Sam James</name>
</maintainer>
<maintainer type="person">
<email>gyakovlev@gentoo.org</email>
<name>Georgy Yakovlev</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
</pkgmetadata>

@ -2,11 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>sam@cmpct.info</email>
<email>sam@gentoo.org</email>
<name>Sam James</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
</pkgmetadata>

Binary file not shown.

@ -2,11 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>sam@cmpct.info</email>
<email>sam@gentoo.org</email>
<name>Sam James</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
</pkgmetadata>

@ -2,15 +2,11 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>sam@cmpct.info</email>
<email>sam@gentoo.org</email>
<name>Sam James</name>
</maintainer>
<maintainer type="person">
<email>gyakovlev@gentoo.org</email>
<name>Georgy Yakovlev</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
</pkgmetadata>

@ -2,11 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>sam@cmpct.info</email>
<email>sam@gentoo.org</email>
<name>Sam James</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
</pkgmetadata>

Binary file not shown.

@ -1,3 +1,2 @@
DIST keepassxc-2.5.3-src.tar.xz 6839148 BLAKE2B b3cc32f9abb42e662edec0c28967fca65a4f3c794f70bfe6c40c39375cad8cbc35eba95431b33119268230a324f83f2e5a53186ee8fc64cd366e20eac1341dc5 SHA512 8b1e3360b4ae5de170be6936291f7b309de09b2462fcd5a48f239c22f1c8b6ffe721aca8d1e9b6ae3881f7b16374850d7f4b809733244fd16d45eed6ad4f60c6
DIST keepassxc-2.5.4-src.tar.xz 6839396 BLAKE2B 5f7f415cab73c2665e3dff94c2bde039096b04a6e8e8a6ff4fe40d31cf4c6ff789f72d8c4c18ae0325c6db570933110a65348c4c359acadd2c89617435ffd6bd SHA512 8a70363dd579b95ccb05cb846aa34a5ed89de4305f3bef9e518e5986fe7f0313cb1daaa347f5b2267002f3fff4b71c87f5bb9073f6e6879d2556a2f0e4791dd3
DIST keepassxc-2.6.0_beta1.tar.gz 8445948 BLAKE2B 46c84d547e621b69ba6e609c75584aec3b6347c1ef8f455c8b69c7bc23f3b87eefcd0c53e595a3ef47f49c4b2bf0f550f11639397b3e511ec515958620992fcd SHA512 7d52c3ac8c1803683a8926282e960d08cba18335a0f5f8a08e6950deb48e570a904f8cc23c7f7ab67e1e398b1dafe829cecdf532fc82e60d61ec5c02bf17b498
DIST keepassxc-2.6.0-src.tar.xz 5628800 BLAKE2B 9872b9fa5f809e2d2e6ed4a233ca248d19ada1c495f4c8febdfa765565963a01a5ede97d1f3830a39a6dc1063f88cb77b9b216776767111686288284aae63399 SHA512 c1ddf81f965f5521db8b8acb2fe3950c7b185ca459c440c9118f3d6350eeff6f15bb488f9e3bd034bdf80c515f0753c041e3af083d62e179cd16df7bb8326e17

@ -1,97 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake xdg
DESCRIPTION="KeePassXC - KeePass Cross-platform Community Edition"
HOMEPAGE="https://keepassxc.org"
if [[ "${PV}" != 9999 ]] ; then
if [[ "${PV}" == *_beta* ]] ; then
SRC_URI="https://github.com/keepassxreboot/keepassxc/archive/${PV/_/-}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${P/_/-}"
else
#SRC_URI="https://github.com/keepassxreboot/keepassxc/archive/${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI="https://github.com/keepassxreboot/keepassxc/releases/download/${PV}/${P}-src.tar.xz"
KEYWORDS="amd64 x86"
fi
else
inherit git-r3
EGIT_REPO_URI="https://github.com/keepassxreboot/${PN}"
fi
LICENSE="LGPL-2.1 GPL-2 GPL-3"
SLOT="0"
IUSE="autotype browser ccache debug keeshare +network test yubikey"
RDEPEND="
app-crypt/argon2:=
dev-libs/libgcrypt:=
>=dev-libs/libsodium-1.0.12:=
dev-qt/qtconcurrent:5
dev-qt/qtcore:5
dev-qt/qtdbus:5
dev-qt/qtgui:5
dev-qt/qtnetwork:5
dev-qt/qtsvg:5
dev-qt/qtwidgets:5
media-gfx/qrencode:=
sys-libs/readline:0=
sys-libs/zlib:=
autotype? (
dev-qt/qtx11extras:5
x11-libs/libX11
x11-libs/libXi
x11-libs/libXtst
)
keeshare? ( dev-libs/quazip )
yubikey? ( sys-auth/ykpers )
"
DEPEND="
${RDEPEND}
dev-qt/linguist-tools:5
dev-qt/qttest:5
"
BDEPEND="
ccache? ( dev-util/ccache )
"
# Not a runtime dependency but still needed (see bug #667092)
PDEPEND="
x11-misc/xsel
"
RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}/${PN}-2.5.2-ccache_switch.patch"
)
src_prepare() {
use test || \
sed -e "/^find_package(Qt5Test/d" -i CMakeLists.txt || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DWITH_CCACHE="$(usex ccache)"
-DWITH_GUI_TESTS=OFF
-DWITH_TESTS="$(usex test)"
-DWITH_XC_AUTOTYPE="$(usex autotype)"
-DWITH_XC_BROWSER="$(usex browser)"
-DWITH_XC_FDOSECRETS=ON
-DWITH_XC_KEESHARE="$(usex keeshare)"
-DWITH_XC_NETWORKING="$(usex network)"
-DWITH_XC_SSHAGENT=ON
-DWITH_XC_UPDATECHECK=OFF
-DWITH_XC_YUBIKEY="$(usex yubikey)"
)
if [[ "${PV}" == *_beta* ]] ; then
mycmakeargs+=( -DOVERRIDE_VERSION="${PV/_/-}" )
fi
cmake_src_configure
}

@ -0,0 +1,90 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake xdg
DESCRIPTION="KeePassXC - KeePass Cross-platform Community Edition"
HOMEPAGE="https://keepassxc.org"
if [[ "${PV}" != 9999 ]] ; then
if [[ "${PV}" == *_beta* ]] ; then
SRC_URI="https://github.com/keepassxreboot/keepassxc/archive/${PV/_/-}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${P/_/-}"
else
#SRC_URI="https://github.com/keepassxreboot/keepassxc/archive/${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI="https://github.com/keepassxreboot/keepassxc/releases/download/${PV}/${P}-src.tar.xz"
KEYWORDS="~amd64 ~arm64 ~x86"
fi
else
inherit git-r3
EGIT_REPO_URI="https://github.com/keepassxreboot/${PN}"
fi
LICENSE="LGPL-2.1 GPL-2 GPL-3"
SLOT="0"
IUSE="autotype browser ccache debug keeshare +network test yubikey"
RDEPEND="
app-crypt/argon2:=
dev-libs/libgcrypt:=
>=dev-libs/libsodium-1.0.12:=
dev-qt/qtconcurrent:5
dev-qt/qtcore:5
dev-qt/qtdbus:5
dev-qt/qtgui:5
dev-qt/qtnetwork:5
dev-qt/qtsvg:5
dev-qt/qtwidgets:5
media-gfx/qrencode:=
sys-libs/readline:0=
sys-libs/zlib:=
autotype? (
dev-qt/qtx11extras:5
x11-libs/libX11
x11-libs/libXi
x11-libs/libXtst
)
keeshare? ( dev-libs/quazip )
yubikey? ( sys-auth/ykpers )
"
DEPEND="
${RDEPEND}
dev-qt/linguist-tools:5
dev-qt/qttest:5
"
BDEPEND="
ccache? ( dev-util/ccache )
"
RESTRICT="!test? ( test )"
src_prepare() {
use test || \
sed -e "/^find_package(Qt5Test/d" -i CMakeLists.txt || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DWITH_CCACHE="$(usex ccache)"
-DWITH_GUI_TESTS=OFF
-DWITH_TESTS="$(usex test)"
-DWITH_XC_AUTOTYPE="$(usex autotype)"
-DWITH_XC_DOCS=OFF
-DWITH_XC_BROWSER="$(usex browser)"
-DWITH_XC_FDOSECRETS=ON
-DWITH_XC_KEESHARE="$(usex keeshare)"
-DWITH_XC_NETWORKING="$(usex network)"
-DWITH_XC_SSHAGENT=ON
-DWITH_XC_UPDATECHECK=OFF
-DWITH_XC_YUBIKEY="$(usex yubikey)"
)
if [[ "${PV}" == *_beta* ]] ; then
mycmakeargs+=( -DOVERRIDE_VERSION="${PV/_/-}" )
fi
cmake_src_configure
}

@ -1,93 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake xdg
DESCRIPTION="KeePassXC - KeePass Cross-platform Community Edition"
HOMEPAGE="https://keepassxc.org"
if [[ "${PV}" != 9999 ]] ; then
if [[ "${PV}" == *_beta* ]] ; then
SRC_URI="https://github.com/keepassxreboot/keepassxc/archive/${PV/_/-}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${P/_/-}"
else
#SRC_URI="https://github.com/keepassxreboot/keepassxc/archive/${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI="https://github.com/keepassxreboot/keepassxc/releases/download/${PV}/${P}-src.tar.xz"
KEYWORDS="~amd64 ~x86"
fi
else
inherit git-r3
EGIT_REPO_URI="https://github.com/keepassxreboot/${PN}"
fi
LICENSE="LGPL-2.1 GPL-2 GPL-3"
SLOT="0"
IUSE="autotype browser ccache debug keeshare +network test yubikey"
RDEPEND="
app-crypt/argon2:=
dev-libs/libgcrypt:=
>=dev-libs/libsodium-1.0.12:=
dev-qt/qtconcurrent:5
dev-qt/qtcore:5
dev-qt/qtdbus:5
dev-qt/qtgui:5
dev-qt/qtnetwork:5
dev-qt/qtsvg:5
dev-qt/qtwidgets:5
media-gfx/qrencode:=
sys-libs/readline:0=
sys-libs/zlib:=
autotype? (
dev-qt/qtx11extras:5
x11-libs/libX11
x11-libs/libXi
x11-libs/libXtst
)
keeshare? ( dev-libs/quazip )
yubikey? ( sys-auth/ykpers )
"
DEPEND="
${RDEPEND}
dev-qt/linguist-tools:5
dev-qt/qttest:5
"
BDEPEND="
ccache? ( dev-util/ccache )
"
# Not a runtime dependency but still needed (see bug #667092)
PDEPEND="
x11-misc/xsel
"
RESTRICT="!test? ( test )"
src_prepare() {
use test || \
sed -e "/^find_package(Qt5Test/d" -i CMakeLists.txt || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DWITH_CCACHE="$(usex ccache)"
-DWITH_GUI_TESTS=OFF
-DWITH_TESTS="$(usex test)"
-DWITH_XC_AUTOTYPE="$(usex autotype)"
-DWITH_XC_BROWSER="$(usex browser)"
-DWITH_XC_FDOSECRETS=ON
-DWITH_XC_KEESHARE="$(usex keeshare)"
-DWITH_XC_NETWORKING="$(usex network)"
-DWITH_XC_SSHAGENT=ON
-DWITH_XC_UPDATECHECK=OFF
-DWITH_XC_YUBIKEY="$(usex yubikey)"
)
if [[ "${PV}" == *_beta* ]] ; then
mycmakeargs+=( -DOVERRIDE_VERSION="${PV/_/-}" )
fi
cmake_src_configure
}

@ -15,7 +15,7 @@ if [[ "${PV}" != 9999 ]] ; then
else
#SRC_URI="https://github.com/keepassxreboot/keepassxc/archive/${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI="https://github.com/keepassxreboot/keepassxc/releases/download/${PV}/${P}-src.tar.xz"
KEYWORDS="~amd64 ~x86"
KEYWORDS="~amd64 ~arm64 ~x86"
fi
else
inherit git-r3
@ -58,10 +58,6 @@ DEPEND="
BDEPEND="
ccache? ( dev-util/ccache )
"
# Not a runtime dependency but still needed (see bug #667092)
PDEPEND="
x11-misc/xsel
"
RESTRICT="!test? ( test )"
@ -78,6 +74,7 @@ src_configure() {
-DWITH_GUI_TESTS=OFF
-DWITH_TESTS="$(usex test)"
-DWITH_XC_AUTOTYPE="$(usex autotype)"
-DWITH_XC_DOCS=OFF
-DWITH_XC_BROWSER="$(usex browser)"
-DWITH_XC_FDOSECRETS=ON
-DWITH_XC_KEESHARE="$(usex keeshare)"

Binary file not shown.

@ -4,3 +4,4 @@ DIST dpkg_1.19.7.tar.xz 4716724 BLAKE2B d65200fc5da986db8b66e31e1ea45b9757b87e0f
DIST dpkg_1.20.0.tar.xz 4738556 BLAKE2B 2e58b3881abd46854416b05b0f9d2e972c3b545412a506b7bc18f1ebae5d82eac8bc2b55920d706fee0ca02239871c4f1c121e0c780aef31404e0408fbfa76e8 SHA512 5dd7961bde19ccc891fd5b77ca0085f7fc0308c20380e20b393397ff92e50d1c0f54e7b57676c05876021b44aa3788af8258c21ff2b672110ac92c7ce0b408f9
DIST dpkg_1.20.2.tar.xz 4710300 BLAKE2B 0d10ee7f5cc863a6496fd8340cf0457f9af3d7d7a74821d561d0cc500a056d52664d1418453fa45dcb27d01ef59e55eb299ce1fcccd1ae7cb72b7c9e43b6b120 SHA512 523713e40d4f49332d96fdcabaeaf4d97f56b40bbbd51f18d17b5c79598249d04fdf96dfc5c8684408a666cf04f622cbd30da60efe68ba2cf1cd836cb2503e02
DIST dpkg_1.20.3.tar.xz 4712980 BLAKE2B 92a1ff07dbb01f8942452eee269eb45d4c164272bf3ae5d0a62a6086c4321e7fc3dd5b164089d7f2e476258f8ec8c480c1614d4f43e3a7a7f1e632bf13191d2e SHA512 5893ae34efc6f9d54e47fc403487c79233501666968681b827bbabbf39b1401cb7064f8fe8797708ed32bb37345dbb78a1daac04c6dc7064f2811265f3a4e82c
DIST dpkg_1.20.5.tar.xz 4715684 BLAKE2B 32b88cbd1ae75685b6c0b04b7c829372df323a9508ddd088076097e8bf2ac9050f1f4ec591fb7d40c4d4ea34207cef0edd430d0326cb73e1f7c8dd560db916be SHA512 6b3789c25c81022181b87a28ca9baa4a463a68940a871568c699a2a30e3b4ce705835ed6a171ac8c5902e377200b31cc0be1e03cbd7d35c4eaf92c7300d9227f

@ -0,0 +1,96 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib autotools toolchain-funcs
DESCRIPTION="Package maintenance system for Debian"
HOMEPAGE="https://packages.qa.debian.org/dpkg"
SRC_URI="mirror://debian/pool/main/d/${PN}/${P/-/_}.tar.xz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris ~x86-solaris"
IUSE="+bzip2 libmd +lzma nls selinux static-libs test unicode +update-alternatives +zlib"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-lang/perl-5.14.2:=
bzip2? ( app-arch/bzip2 )
libmd? ( app-crypt/libmd )
lzma? ( app-arch/xz-utils )
nls? ( virtual/libintl )
selinux? ( sys-libs/libselinux )
zlib? ( >=sys-libs/zlib-1.1.4 )
"
DEPEND="
${RDEPEND}
app-arch/xz-utils
virtual/pkgconfig
test? (
dev-perl/IO-String
dev-perl/Test-Pod
virtual/perl-Test-Harness
)
"
BDEPEND="
sys-devel/flex
nls? (
app-text/po4a
>=sys-devel/gettext-0.18.2
)
"
DOCS=(
ChangeLog
THANKS
TODO
)
PATCHES=(
"${FILESDIR}"/${PN}-1.18.12-flags.patch
"${FILESDIR}"/${PN}-1.18.12-rsyncable.patch
"${FILESDIR}"/${PN}-1.20.5-dpkg_buildpackage-test.patch
)
src_prepare() {
default
sed -i -e 's|\<ar\>|${AR}|g' t-func/deb-format.at t-func/testsuite || die
eautoreconf
}
src_configure() {
tc-export AR CC
econf \
$(use_enable nls) \
$(use_enable unicode) \
$(use_enable update-alternatives) \
$(use_with bzip2 libbz2) \
$(use_with libmd) \
$(use_with lzma liblzma) \
$(use_with selinux libselinux) \
$(use_with zlib libz) \
--disable-compiler-warnings \
--disable-dselect \
--disable-start-stop-daemon \
--localstatedir="${EPREFIX}"/var
}
src_compile() {
emake AR=$(tc-getAR)
}
src_install() {
default
keepdir \
/usr/$(get_libdir)/db/methods/{mnt,floppy,disk} \
/var/lib/dpkg/{alternatives,info,parts,updates}
find "${ED}" -name '*.la' -delete || die
if ! use static-libs; then
find "${ED}" -name '*.a' -delete || die
fi
}

@ -0,0 +1,10 @@
--- a/scripts/Makefile.am
+++ b/scripts/Makefile.am
@@ -264,7 +264,6 @@
t/Dpkg_Dist_Files.t \
t/dpkg_realpath.t \
t/dpkg_source.t \
- t/dpkg_buildpackage.t \
t/merge_changelogs.t \
t/mk.t \
$(nil)

Binary file not shown.

@ -1 +1,2 @@
DIST certbot-1.5.0.tar.gz 1387959 BLAKE2B ad395e3bd9f7012b39692be48c28bef8a0648e17e42b7b4ada8024c7eb231f418f68b6388c6c3154232d38f82ba348bf056ddf8cdf349f4a83ad148bbc20243b SHA512 ea4f9fb06ed54e2bbc30a8a0aea436e1f35772d348de483cae5e696ee1176c9663739201569102ded385074ef7aa5833c43e543c0dbc1e8f6729167350bca6a3
DIST certbot-1.6.0.tar.gz 3797817 BLAKE2B fe01c450e89f490c1b8d32401fe72d8eeedd2bf80ad29b59c9836eb44550b4753e0ec4da6f378aba12383fa7e2a38e5b7405634e695c8f9b150ab4899afc57d6 SHA512 490b9155e90f02aaf987840c7dd041c81913daa88df4a96528e3fe1c5342b64fcc19c02a76c0e94e705f7c68d0d63c25582fa474a270d2f98d454e036fcaa320

@ -0,0 +1,69 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=(python{3_6,3_7,3_8})
if [[ ${PV} == 9999* ]]; then
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
inherit git-r3
S=${WORKDIR}/${P}/${PN}
else
SRC_URI="https://github.com/certbot/certbot/archive/v${PV}.tar.gz -> certbot-${PV}.tar.gz"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
S=${WORKDIR}/certbot-${PV}/acme
fi
inherit distutils-r1
DESCRIPTION="An implementation of the ACME protocol"
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="doc test"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-python/cryptography-1.3.4[${PYTHON_USEDEP}]
>=dev-python/idna-2.0.0[${PYTHON_USEDEP}]
>=dev-python/josepy-1.1.0[${PYTHON_USEDEP}]
>=dev-python/pyopenssl-0.15.1[${PYTHON_USEDEP}]
dev-python/pyrfc3339[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
>=dev-python/requests-2.10[${PYTHON_USEDEP}]
>=dev-python/requests-toolbelt-0.3.0[${PYTHON_USEDEP}]
>=dev-python/six-1.9.0[${PYTHON_USEDEP}]
"
DEPEND="
doc? (
dev-python/sphinx[${PYTHON_USEDEP}]
dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
)
test? (
${RDEPEND}
dev-python/nose[${PYTHON_USEDEP}]
dev-python/pytest[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
)
>=dev-python/setuptools-1.0[${PYTHON_USEDEP}]
"
src_compile() {
python_foreach_impl run_in_build_dir default
distutils-r1_src_compile
if use doc ; then
cd docs || die
sphinx-build -b html -d _build/doctrees . _build/html
fi
}
python_test() {
nosetests -w ${PN} || die
}
python_install_all() {
use doc && local HTML_DOCS=( docs/_build/html/. )
distutils-r1_python_install_all
}

@ -28,7 +28,7 @@ RDEPEND="
>=dev-python/cryptography-1.3.4[${PYTHON_USEDEP}]
>=dev-python/idna-2.0.0[${PYTHON_USEDEP}]
>=dev-python/josepy-1.1.0[${PYTHON_USEDEP}]
>=dev-python/pyopenssl-0.13.1[${PYTHON_USEDEP}]
>=dev-python/pyopenssl-0.15.1[${PYTHON_USEDEP}]
dev-python/pyrfc3339[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
>=dev-python/requests-2.10[${PYTHON_USEDEP}]

@ -1,3 +1,4 @@
DIST ccid-1.4.30.tar.bz2 642342 BLAKE2B fd43aa2a4c8840abb0545760f6ceb31bb9d7dc22d7283888c9a142e0c3b34310ec4530d18986451b21c6b1a3975b1212ab653a4c8d58466b28713f0f72ce1cdb SHA512 1761a4053a99eb28184d0ffece951aec5d4b646080597b4ae36b18a31fb7a76c55fabfa57ee8e5d7f2db1a6e13d209f7fa995fe6ed067f44558bea34a26d46da
DIST ccid-1.4.31.tar.bz2 644039 BLAKE2B bd8e9c69e122348ffbeddc4f85f939d7d4c93dbfe5f712bc16f671af144570ce2c3bc6da04503851f4ce0f95f0c89bbbe6bbf0852be97cf5574993875d865870 SHA512 51d102c6be5b234ed568522d51b97bdb27c4c22d9610874abd7a18314f4e8ebe81fcb18a16a1edbdc814ee652a037d50202673a50de2fdeb0eac74063b149ed3
DIST ccid-1.4.32.tar.bz2 657200 BLAKE2B 9598b010f2eb085d1d02d9363136b294dc30ea1cf9256d398838461016fae5572926d5f24e3065384c9a349b0a9783670c8cb9d4f59bf50171c7f5501b963d82 SHA512 80fc3bac547ee7c37ff0e72cc650d0a5e1102720698bdc1278581ec53ff1407e0e719eb0345775fbc76c0d56d9271dcb07a9ddc98450bba2ff37823f23a8adbf
DIST ccid-1.4.33.tar.bz2 659673 BLAKE2B f8dd37ed4fd2bd15e6313417dc01feecd0303502d24eeae101ad13233510b5e26b08439c4de453abc734695618faa1c8031e545d045527aa841ab9056a3d729e SHA512 ccfcecbaca4c8f1ee4a4925bd313ced6d6f15ad422cbcc387627aef203a9ae0ff7775c4a2c5d25978ab33ebfd93c34de50e1f783df787b77ea7c774a45ed126b

@ -0,0 +1,61 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs udev
DESCRIPTION="CCID free software driver"
HOMEPAGE="https://ccid.apdu.fr https://github.com/LudovicRousseau/CCID"
SRC_URI="https://ccid.apdu.fr/files/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="twinserial kobil-midentity +usb"
RDEPEND=">=sys-apps/pcsc-lite-1.8.3
usb? ( virtual/libusb:1 )"
DEPEND="${RDEPEND}"
BDEPEND="kernel_linux? ( virtual/pkgconfig )"
DOCS=( README.md AUTHORS )
src_configure() {
econf \
LEX=: \
$(use_enable twinserial) \
$(use_enable usb libusb)
}
src_compile() {
default
use kobil-midentity && emake -C contrib/Kobil_mIDentity_switch
}
src_install() {
default
if use kobil-midentity; then
dosbin contrib/Kobil_mIDentity_switch/Kobil_mIDentity_switch
doman contrib/Kobil_mIDentity_switch/Kobil_mIDentity_switch.8
fi
if use kernel_linux; then
# note: for eudev support, rules probably will always need to be
# installed to /usr
# ccid >=1.4.11 version changed the rules drastically in a minor
# release to no longer use the pcscd group. Using the old ones in
# the mean time.
udev_newrules "${FILESDIR}"/92_pcscd_ccid-2.rules 92-pcsc-ccid.rules
# disable Kobil_mIDentity_switch udev rule with USE=-kobil-midentity
if ! use kobil-midentity; then
sed \
-e '/Kobil_mIDentity_switch/s/^/#/' \
-i "${D}/$(get_udevdir)"/rules.d/92-pcsc-ccid.rules || die
fi
fi
}

@ -1 +1,2 @@
DIST certbot-1.5.0.tar.gz 1387959 BLAKE2B ad395e3bd9f7012b39692be48c28bef8a0648e17e42b7b4ada8024c7eb231f418f68b6388c6c3154232d38f82ba348bf056ddf8cdf349f4a83ad148bbc20243b SHA512 ea4f9fb06ed54e2bbc30a8a0aea436e1f35772d348de483cae5e696ee1176c9663739201569102ded385074ef7aa5833c43e543c0dbc1e8f6729167350bca6a3
DIST certbot-1.6.0.tar.gz 3797817 BLAKE2B fe01c450e89f490c1b8d32401fe72d8eeedd2bf80ad29b59c9836eb44550b4753e0ec4da6f378aba12383fa7e2a38e5b7405634e695c8f9b150ab4899afc57d6 SHA512 490b9155e90f02aaf987840c7dd041c81913daa88df4a96528e3fe1c5342b64fcc19c02a76c0e94e705f7c68d0d63c25582fa474a270d2f98d454e036fcaa320

@ -0,0 +1,38 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=(python{3_6,3_7})
if [[ ${PV} == 9999* ]]; then
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
inherit git-r3
S=${WORKDIR}/${P}/${PN}
else
SRC_URI="https://github.com/${PN%-apache}/${PN%-apache}/archive/v${PV}.tar.gz -> ${PN%-apache}-${PV}.tar.gz"
KEYWORDS="~amd64 ~arm64 ~x86"
S=${WORKDIR}/${PN%-apache}-${PV}/${PN}
fi
inherit distutils-r1
DESCRIPTION="Apache plugin for certbot (Let's Encrypt Client)"
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND=">=app-crypt/acme-0.29.0[${PYTHON_USEDEP}]
>=app-crypt/certbot-1.6.0[${PYTHON_USEDEP}]
dev-python/python-augeas[${PYTHON_USEDEP}]
dev-python/zope-component[${PYTHON_USEDEP}]
dev-python/zope-interface[${PYTHON_USEDEP}]"
DEPEND="test? ( ${RDEPEND}
dev-python/pytest[${PYTHON_USEDEP}] )
dev-python/setuptools[${PYTHON_USEDEP}]"
python_test() {
esetup.py test || die
}

@ -25,7 +25,7 @@ IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND=">=app-crypt/acme-0.29.0[${PYTHON_USEDEP}]
>=app-crypt/certbot-1.1.0[${PYTHON_USEDEP}]
>=app-crypt/certbot-1.6.0[${PYTHON_USEDEP}]
dev-python/python-augeas[${PYTHON_USEDEP}]
dev-python/zope-component[${PYTHON_USEDEP}]
dev-python/zope-interface[${PYTHON_USEDEP}]"

@ -1 +1,2 @@
DIST certbot-1.5.0.tar.gz 1387959 BLAKE2B ad395e3bd9f7012b39692be48c28bef8a0648e17e42b7b4ada8024c7eb231f418f68b6388c6c3154232d38f82ba348bf056ddf8cdf349f4a83ad148bbc20243b SHA512 ea4f9fb06ed54e2bbc30a8a0aea436e1f35772d348de483cae5e696ee1176c9663739201569102ded385074ef7aa5833c43e543c0dbc1e8f6729167350bca6a3
DIST certbot-1.6.0.tar.gz 3797817 BLAKE2B fe01c450e89f490c1b8d32401fe72d8eeedd2bf80ad29b59c9836eb44550b4753e0ec4da6f378aba12383fa7e2a38e5b7405634e695c8f9b150ab4899afc57d6 SHA512 490b9155e90f02aaf987840c7dd041c81913daa88df4a96528e3fe1c5342b64fcc19c02a76c0e94e705f7c68d0d63c25582fa474a270d2f98d454e036fcaa320

@ -0,0 +1,33 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=(python{3_6,3_7})
if [[ ${PV} == 9999* ]]; then
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
inherit git-r3
S=${WORKDIR}/${P}/${PN}
else
SRC_URI="https://github.com/${PN%-nginx}/${PN%-nginx}/archive/v${PV}.tar.gz -> ${PN%-nginx}-${PV}.tar.gz"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
S=${WORKDIR}/${PN%-nginx}-${PV}/${PN}
fi
inherit distutils-r1
DESCRIPTION="Nginx plugin for certbot (Let's Encrypt Client)"
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
LICENSE="Apache-2.0"
SLOT="0"
IUSE=""
CDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
RDEPEND="${CDEPEND}
>=app-crypt/acme-1.4.0[${PYTHON_USEDEP}]
>=app-crypt/certbot-1.6.0[${PYTHON_USEDEP}]
dev-python/pyopenssl[${PYTHON_USEDEP}]
>=dev-python/pyparsing-1.5.5[${PYTHON_USEDEP}]
dev-python/zope-interface[${PYTHON_USEDEP}]"
DEPEND="${CDEPEND}"

@ -26,7 +26,7 @@ IUSE=""
CDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
RDEPEND="${CDEPEND}
>=app-crypt/acme-1.4.0[${PYTHON_USEDEP}]
>=app-crypt/certbot-1.4.0[${PYTHON_USEDEP}]
>=app-crypt/certbot-1.6.0[${PYTHON_USEDEP}]
dev-python/pyopenssl[${PYTHON_USEDEP}]
>=dev-python/pyparsing-1.5.5[${PYTHON_USEDEP}]
dev-python/zope-interface[${PYTHON_USEDEP}]"

@ -1 +1,2 @@
DIST certbot-1.5.0.tar.gz 1387959 BLAKE2B ad395e3bd9f7012b39692be48c28bef8a0648e17e42b7b4ada8024c7eb231f418f68b6388c6c3154232d38f82ba348bf056ddf8cdf349f4a83ad148bbc20243b SHA512 ea4f9fb06ed54e2bbc30a8a0aea436e1f35772d348de483cae5e696ee1176c9663739201569102ded385074ef7aa5833c43e543c0dbc1e8f6729167350bca6a3
DIST certbot-1.6.0.tar.gz 3797817 BLAKE2B fe01c450e89f490c1b8d32401fe72d8eeedd2bf80ad29b59c9836eb44550b4753e0ec4da6f378aba12383fa7e2a38e5b7405634e695c8f9b150ab4899afc57d6 SHA512 490b9155e90f02aaf987840c7dd041c81913daa88df4a96528e3fe1c5342b64fcc19c02a76c0e94e705f7c68d0d63c25582fa474a270d2f98d454e036fcaa320

@ -0,0 +1,48 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=(python{3_6,3_7,3_8})
if [[ ${PV} == 9999* ]]; then
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
inherit git-r3
else
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
fi
S=${WORKDIR}/${P}/${PN}
inherit distutils-r1
DESCRIPTION="Let's encrypt client to automate deployment of X.509 certificates"
HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="test"
RESTRICT="!test? ( test )"
CDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
RDEPEND="
${CDEPEND}
>=app-crypt/acme-1.6.0[${PYTHON_USEDEP}]
>=dev-python/configargparse-0.9.3[${PYTHON_USEDEP}]
dev-python/configobj[${PYTHON_USEDEP}]
>=dev-python/cryptography-2.8[${PYTHON_USEDEP}]
>=dev-python/distro-1.0.1[${PYTHON_USEDEP}]
>=dev-python/josepy-1.1.0[${PYTHON_USEDEP}]
>=dev-python/parsedatetime-1.3[${PYTHON_USEDEP}]
dev-python/pyrfc3339[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
dev-python/zope-component[${PYTHON_USEDEP}]
dev-python/zope-interface[${PYTHON_USEDEP}]"
DEPEND="${CDEPEND}"
distutils_enable_tests pytest
python_prepare_all() {
# required as deps of deps can trigger this too...
echo ' ignore:.*collections\.abc:DeprecationWarning' >> ../pytest.ini
distutils-r1_python_prepare_all
}

@ -26,7 +26,7 @@ RESTRICT="!test? ( test )"
CDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
RDEPEND="
${CDEPEND}
>=app-crypt/acme-1.4.0[${PYTHON_USEDEP}]
>=app-crypt/acme-1.6.0[${PYTHON_USEDEP}]
>=dev-python/configargparse-0.9.3[${PYTHON_USEDEP}]
dev-python/configobj[${PYTHON_USEDEP}]
>=dev-python/cryptography-2.8[${PYTHON_USEDEP}]

Binary file not shown.

@ -1,12 +1,4 @@
DIST Csound6.06_manual-fr_html.zip 11037078 BLAKE2B f496488905ab1c42d1612931f9b69818b6338ca3630052b77305755bc5333699f652d946403b33a68f9f3ab8cc4a29eafb225ee795ab793385252c58f5630cea SHA512 0c643639534444440dd8211e27b0a3b78fc5ef2c1c67903e9085307d9dabaa121c78b7d90b7143afba20738f73041d46305a72242a30462ccd58c5d0583f490a
DIST Csound6.06_manual-fr_pdf.zip 6507610 BLAKE2B 14a51d01dc56bd029360021035bfe674fb959b7a93fc02f7cded5f0305c91b4e1503f36b4755b36cd5a30aff6018d41b8bda0da93a1db7fa2a688909651378bd SHA512 7269600729c491e9b4869146da35df05f6551962caac2b87114890abbfe49910ff3f0c4bdd6f359ae020111da6f75cd2ec99ed8b05f50dd5f4282dbb6d5f48b0
DIST Csound6.06_manual_html.zip 10792740 BLAKE2B 80118899522df96b7453dcbf1c99f68134c3c9141d53f4215926676f69c573484f504098225fceaa75b231c6df60ee9760f8e4e6555ded6388ece50203f7b534 SHA512 b98e3698610ef3080417ba838c272df476a7ea56ec9f444c90e71b4113dc1ff88e4c108f32046fff0d3a19bdea0bc19bc97f96728f47055dc1e5de088cd06345
DIST Csound6.06_manual_pdf.zip 6181517 BLAKE2B 78ba98fef22846da0b8ae5cd17f64672385cd82c177063c31b8b483c12ab95f368ca4cb2611045f207609c4fa2048b79e4af383dcb39958fc7e955d2a73c5a5d SHA512 a96a002f298a3ffb852639ff0cb128f58129c7684a6f03d13f3008bc10992188a7adbbb2f9fdb423d2c11ae6e96bf5b04cae07ff78713f0e81d969665182182c
DIST Csound6.07_manual-fr_html.zip 15495149 BLAKE2B cb32ff5e8a4824a630609f32c8073f46166cdfe85ef40e48e21689da63ccf8e7536de4c5969323a19c645a30785df17e74be259b414d7ef58e435bfd4cde6e13 SHA512 fe676842efb6f47036a75231b1a722eac77c30d1f3810aed81f0e36427fa9aebf57e830f70260ae7a6dbee86447e75a02ac5f51349ece322e140f9ab8dbf334c
DIST Csound6.07_manual-fr_pdf.zip 6602805 BLAKE2B dc5fb0b906b080f6e9eead16d92d435b94b89242e87da92d9b1d560fffa385febd556f3a8f88260f52922fed0785c80ab59ce826209f2dbfd86e1743532e8b19 SHA512 a39bc2d1c89d304471ac9675809842ce12d43b65af1ab2db643b822a1f9aeb7a69ab6dd93986eb3f582bc76200b68a4f87eeb2ef9a5775d575099c662f5d4c0a
DIST Csound6.07_manual_html.zip 15220371 BLAKE2B 2fb12bbbc1fd96bf51c4f4a161f9a9a8ead9d6f34a234bdf35339413568e5fba2309daa9265c0a088e338ee24e9e3fbf2788c414cd516e19547843e24d2633be SHA512 dcf288d7c968bbeeb7fed449b6d423331f29eb7fe4d0afb8786d0cdb60449d6d2a416551e567be4ac28baf4432e5326225e533eb6c232fa93ff4ec6dca3d5557
DIST Csound6.07_manual_pdf.zip 6272890 BLAKE2B d5e7630f6f4c25173c1f7acf75827deb97b13a41611aa2404f5f276ac63db15d390a09e736db6e10cf51f61f01242d927c0d4a8535712bf9ef29a72ccf57d668 SHA512 e1affd039cd246a6eedbff4d8af68fe2e49d89ce60d839774b30a61059a4463bf3c30812e5edb05f3df5cb2cf33ac9c678338ecd110d57334aa3ce240168a466
DIST Csound6.08_manual-fr_html.zip 15576083 BLAKE2B 9f0a3909c8a19e064fc8f2c0df1c9df473952b26bf0ca03dd008bad52478c0cc2bd4f669d0f86a82f3984478f49161e921932e3d926f1462ee712aaf1be7cdd9 SHA512 7e3a5fbf2c52a1f5f0e9a6c5ee2bfe5e155edfdab81c9a64b66756754dba07a4bc6e7279e668c54ab762c1055a66f2a28c4928d5d3cd7af5418d049b8ffacdd3
DIST Csound6.08_manual-fr_pdf.zip 6660383 BLAKE2B df49475156a5f85e67e6ec9179414d4f410effe64dfbe3d21c0f5ae445b62e62370e7d316b1ef5a83eeee7811ff24a34827675ae007f83a18dcd008dc35e7537 SHA512 eb61a576bf0eb4620c12c123ae2e23589cc24f53bffc05e646efba633ebb142906f021b41ac9a77b030476c319cc3ffa3466927ffe9f266d67f7e72217f97396
DIST Csound6.08_manual_html.zip 15267494 BLAKE2B 107c04428c3df256388ce15aabec27084a9f0768afc61159be4abdc16c39cb34aa1d38106706d9a6496efbe72633945a08c071b0f4a6a78f61e0b8f8bedceb48 SHA512 7aaf61d94c067907a418df4bdf48a86b1bb2c220a6f2cedcef7b50af3e49040cd2c0f6f389b9d82b22f4fe6b166fdf4608d70be7e83f2caf7889ce61610dd8e6
DIST Csound6.08_manual_pdf.zip 6326314 BLAKE2B 971492b74ae37cb6a2b9ff6105ecd5b889cefc03f3284d6101b455ce02b45b5dd2a053cdf4c4e08d2178c5ee879d5d4545746c43899f955a19efb4587c1ab659 SHA512 b911af38ea78b8b551abf1599f0078911c1a80ea44580119ad5c32afb95f07d59848643afcde20c6c64b61af868b1242aa04174761b983a0c160cea2bc28f243
DIST Csound6.14.0_manual-fr_html.zip 17370248 BLAKE2B a937df6ac27ba7c7b65caf826cb27111169b1bb4fb8fdedc1eaa56f08e6751b2e4b47237333e624c3104a3022a300fbd4d25c7ecf77286f43138aec14beeb191 SHA512 a92d74003ebedd8f7b208053d5eeaa2a88e84bdb3d7bd3aeb3ff20bbe31700ad29a89901d574a28284acf4cdba46abe620a65b228e68cf078b96f251bb1ea739
DIST Csound6.14.0_manual-fr_pdf.zip 9272138 BLAKE2B a553f553ce173e3f3788b57478569bdec9638493e8f9098631c2f9615e71315b6ef4ef72c91d24e2b284666a10b38ba39cf440309c917bd78161b9ec5fa9cb83 SHA512 ebadac56000056d0de0cfbb16eca6a06009800fdcdc5b4e07ebec41561745faa451ddd250610e5253bb5437e1190f184572c1dc9365a096676c6a7f4923cd266
DIST Csound6.14.0_manual_html.zip 17081006 BLAKE2B 9565c21623a60e06aae82bfbde186e496b5f3ae0eb619289a7db08235c7dcd520bee2283552fdf2ddb4eb85c7b0f184397d2fa0ee14d3bdeff9dccb44a7d7ff1 SHA512 638ecd8bc0b4c981e1f8c5592a123a3b1bb5582ee7017288be224eb670fccda79242ae42b6f6d8e91c2ad2f708af1de3c66283030d4b3373c0ec29ec260f379b
DIST Csound6.14.0_manual_pdf.zip 8881242 BLAKE2B a91a3689dd3efa5c32c924178b646b73787132a07575f05a65ee1acafc69108ce6c33512e0b703012f75f201a86a0b84e08976f158b01ef5201807d1aaa31c35 SHA512 55769acd58add0ec6df5e188c74e16424deb679aebdbdd50dc5d9006c80a26c31dfe2564e5d71478abcb7a920b40c1f1baa02e4c3fd682a6d3bbc378ddcb8b7d

@ -1,63 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
MY_P=Csound${PV}
DESCRIPTION="The Csound reference manual"
HOMEPAGE="http://csounds.com/"
SRC_URI="
mirror://sourceforge/csound/${MY_P}_manual_pdf.zip
l10n_fr? ( mirror://sourceforge/csound/${MY_P}_manual-fr_pdf.zip )
html? (
mirror://sourceforge/csound/${MY_P}_manual_html.zip
l10n_fr? ( mirror://sourceforge/csound/${MY_P}_manual-fr_html.zip )
)"
LICENSE="FDL-1.2+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="html"
LANGS=" fr"
IUSE+="${LANGS// / l10n_}"
DEPEND="app-arch/unzip"
S=${WORKDIR}
src_unpack() {
unpack ${MY_P}_manual_pdf.zip
if use html ; then
unpack ${MY_P}_manual_html.zip
mv html html-en
fi
local lang
for lang in ${LANGS} ; do
use l10n_${lang} || continue
unpack ${MY_P}_manual-${lang}_pdf.zip
if use html ; then
unpack ${MY_P}_manual-${lang}_html.zip
mv html html-${lang}
fi
done
}
src_install() {
dodoc *.pdf
if use html ; then
dohtml -r html-en/*
local lang
for lang in ${LANGS} ; do
use l10n_${lang} || continue
docinto html-${lang}
dohtml -r html-${lang}/*
done
fi
}

@ -1,64 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
MY_P=Csound${PV}
DESCRIPTION="The Csound reference manual"
HOMEPAGE="http://csounds.com/"
SRC_URI="
https://github.com/csound/csound/releases/download/${PV}.0/${MY_P}_manual_pdf.zip
l10n_fr? ( https://github.com/csound/csound/releases/download/${PV}.0/${MY_P}_manual-fr_pdf.zip )
html? (
https://github.com/csound/csound/releases/download/${PV}.0/${MY_P}_manual_html.zip
l10n_fr? ( https://github.com/csound/csound/releases/download/${PV}.0/${MY_P}_manual-fr_html.zip )
)"
LICENSE="FDL-1.2+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="html"
LANGS=" fr"
IUSE+="${LANGS// / l10n_}"
DEPEND="app-arch/unzip"
S=${WORKDIR}
src_unpack() {
unpack ${MY_P}_manual_pdf.zip
if use html ; then
unpack ${MY_P}_manual_html.zip
mv html html-en
fi
local lang
for lang in ${LANGS} ; do
use l10n_${lang} || continue
unpack ${MY_P}_manual-${lang}_pdf.zip
if use html ; then
unpack ${MY_P}_manual-${lang}_html.zip
mv html html-${lang}
fi
done
}
src_install() {
dodoc *.pdf
if use html ; then
docinto html
dodoc -r html-en/*
local lang
for lang in ${LANGS} ; do
use l10n_${lang} || continue
docinto html-${lang}
dodoc -r html-${lang}/*
done
fi
}

@ -1,64 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
MY_P=Csound${PV}
DESCRIPTION="The Csound reference manual"
HOMEPAGE="http://csounds.com/"
SRC_URI="
https://github.com/csound/csound/releases/download/${PV}.0/${MY_P}_manual_pdf.zip
l10n_fr? ( https://github.com/csound/csound/releases/download/${PV}.0/${MY_P}_manual-fr_pdf.zip )
html? (
https://github.com/csound/csound/releases/download/${PV}.0/${MY_P}_manual_html.zip
l10n_fr? ( https://github.com/csound/csound/releases/download/${PV}.0/${MY_P}_manual-fr_html.zip )
)"
LICENSE="FDL-1.2+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="html"
LANGS=" fr"
IUSE+="${LANGS// / l10n_}"
DEPEND="app-arch/unzip"
S=${WORKDIR}
src_unpack() {
unpack ${MY_P}_manual_pdf.zip
if use html ; then
unpack ${MY_P}_manual_html.zip
mv html html-en
fi
local lang
for lang in ${LANGS} ; do
use l10n_${lang} || continue
unpack ${MY_P}_manual-${lang}_pdf.zip
if use html ; then
unpack ${MY_P}_manual-${lang}_html.zip
mv html html-${lang}
fi
done
}
src_install() {
dodoc *.pdf
if use html ; then
docinto html
dodoc -r html-en/*
local lang
for lang in ${LANGS} ; do
use l10n_${lang} || continue
docinto html-${lang}
dodoc -r html-${lang}/*
done
fi
}

@ -0,0 +1,64 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_P=Csound${PV}.0
DESCRIPTION="The Csound reference manual"
HOMEPAGE="http://csounds.com/"
SRC_URI="
https://github.com/csound/csound/releases/download/${PV}.0/${MY_P}_manual_pdf.zip
l10n_fr? ( https://github.com/csound/csound/releases/download/${PV}.0/${MY_P}_manual-fr_pdf.zip )
html? (
https://github.com/csound/csound/releases/download/${PV}.0/${MY_P}_manual_html.zip
l10n_fr? ( https://github.com/csound/csound/releases/download/${PV}.0/${MY_P}_manual-fr_html.zip )
)"
LICENSE="FDL-1.2+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="html"
LANGS=" fr"
IUSE+="${LANGS// / l10n_}"
DEPEND="app-arch/unzip"
S=${WORKDIR}
src_unpack() {
unpack ${MY_P}_manual_pdf.zip
if use html ; then
unpack ${MY_P}_manual_html.zip
mv html html-en
fi
local lang
for lang in ${LANGS} ; do
use l10n_${lang} || continue
unpack ${MY_P}_manual-${lang}_pdf.zip
if use html ; then
unpack ${MY_P}_manual-${lang}_html.zip
mv html html-${lang}
fi
done
}
src_install() {
dodoc *.pdf
if use html ; then
docinto html
dodoc -r html-en/*
local lang
for lang in ${LANGS} ; do
use l10n_${lang} || continue
docinto html-${lang}
dodoc -r html-${lang}/*
done
fi
}

Binary file not shown.

@ -6,7 +6,7 @@ EAPI=7
inherit qmake-utils xdg
DESCRIPTION="Notepad++-like editor for Linux"
HOMEPAGE="http://notepadqq.altervista.org"
HOMEPAGE="https://notepadqq.com/s/"
if [[ "${PV}" == 9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/notepadqq/notepadqq.git"

@ -6,7 +6,7 @@ EAPI=7
inherit qmake-utils xdg
DESCRIPTION="Notepad++-like editor for Linux"
HOMEPAGE="http://notepadqq.altervista.org"
HOMEPAGE="https://notepadqq.com/s/"
if [[ "${PV}" == 9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/notepadqq/notepadqq.git"

Binary file not shown.

@ -0,0 +1,35 @@
https://gitlab.freedesktop.org/slirp/libslirp/-/commit/c7ede54cbd2e2b25385325600958ba0124e31cc0
https://bugzilla.redhat.com/show_bug.cgi?id=1835986
https://bugs.gentoo.org/731992
From c7ede54cbd2e2b25385325600958ba0124e31cc0 Mon Sep 17 00:00:00 2001
From: Ralf Haferkamp <rhafer@suse.com>
Date: Fri, 3 Jul 2020 14:51:16 +0200
Subject: [PATCH] Drop bogus IPv6 messages
Drop IPv6 message shorter than what's mentioned in the payload
length header (+ the size of the IPv6 header). They're invalid an could
lead to data leakage in icmp6_send_echoreply().
---
src/ip6_input.c | 7 +++++++
1 file changed, 7 insertions(+)
--- a/slirp/src/ip6_input.c
+++ b/slirp/src/ip6_input.c
@@ -49,6 +49,13 @@ void ip6_input(struct mbuf *m)
goto bad;
}
+ // Check if the message size is big enough to hold what's
+ // set in the payload length header. If not this is an invalid
+ // packet
+ if (m->m_len < ntohs(ip6->ip_pl) + sizeof(struct ip6)) {
+ goto bad;
+ }
+
/* check ip_ttl for a correct ICMP reply */
if (ip6->ip_hl == 0) {
icmp6_send_error(m, ICMP6_TIMXCEED, ICMP6_TIMXCEED_INTRANS);
--
GitLab

@ -0,0 +1,838 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
PYTHON_COMPAT=( python{3_6,3_7,3_8} )
PYTHON_REQ_USE="ncurses,readline"
PLOCALES="bg de_DE fr_FR hu it tr zh_CN"
FIRMWARE_ABI_VERSION="4.0.0-r50"
inherit eutils linux-info toolchain-funcs multilib python-r1 \
udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils
if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="https://git.qemu.org/git/qemu.git"
EGIT_SUBMODULES=(
slirp
tests/fp/berkeley-{test,soft}float-3
ui/keycodemapdb
)
inherit git-r3
SRC_URI=""
else
SRC_URI="https://download.qemu.org/${P}.tar.xz"
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
fi
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
LICENSE="GPL-2 LGPL-2 BSD-2"
SLOT="0"
IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug doc
+fdt glusterfs gnutls gtk infiniband iscsi io-uring
jemalloc +jpeg kernel_linux
kernel_FreeBSD lzo ncurses nfs nls numa opengl +oss +pin-upstream-blobs
plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
smartcard snappy spice ssh static static-user systemtap tci test usb
usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
xfs +xkb zstd"
COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel
mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x
sh4 sh4eb sparc sparc64 x86_64 xtensa xtensaeb"
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS}
lm32 moxie rx tricore unicore32"
IUSE_USER_TARGETS="${COMMON_TARGETS}
aarch64_be armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus
tilegx"
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
RESTRICT="!test? ( test )"
# Allow no targets to be built so that people can get a tools-only build.
# Block USE flag configurations known to not work.
REQUIRED_USE="${PYTHON_REQUIRED_USE}
qemu_softmmu_targets_arm? ( fdt )
qemu_softmmu_targets_microblaze? ( fdt )
qemu_softmmu_targets_mips64el? ( fdt )
qemu_softmmu_targets_ppc64? ( fdt )
qemu_softmmu_targets_ppc? ( fdt )
qemu_softmmu_targets_riscv32? ( fdt )
qemu_softmmu_targets_riscv64? ( fdt )
static? ( static-user !alsa !gtk !opengl !pulseaudio !plugins !rbd !snappy )
static-user? ( !plugins )
virtfs? ( xattr )
vte? ( gtk )
plugins? ( !static !static-user )
"
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
# and user/softmmu targets (qemu-*, qemu-system-*).
#
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
#
# The attr lib isn't always linked in (although the USE flag is always
# respected). This is because qemu supports using the C library's API
# when available rather than always using the external library.
ALL_DEPEND="
>=dev-libs/glib-2.0[static-libs(+)]
sys-libs/zlib[static-libs(+)]
python? ( ${PYTHON_DEPS} )
systemtap? ( dev-util/systemtap )
xattr? ( sys-apps/attr[static-libs(+)] )"
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
# softmmu targets (qemu-system-*).
SOFTMMU_TOOLS_DEPEND="
dev-libs/libxml2[static-libs(+)]
xkb? ( x11-libs/libxkbcommon[static-libs(+)] )
>=x11-libs/pixman-0.28.0[static-libs(+)]
accessibility? (
app-accessibility/brltty[api]
app-accessibility/brltty[static-libs(+)]
)
aio? ( dev-libs/libaio[static-libs(+)] )
alsa? ( >=media-libs/alsa-lib-1.0.13 )
bzip2? ( app-arch/bzip2[static-libs(+)] )
capstone? ( dev-libs/capstone:= )
caps? ( sys-libs/libcap-ng[static-libs(+)] )
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] )
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
gnutls? (
dev-libs/nettle:=[static-libs(+)]
>=net-libs/gnutls-3.0:=[static-libs(+)]
)
gtk? (
x11-libs/gtk+:3
vte? ( x11-libs/vte:2.91 )
)
infiniband? (
sys-fabric/libibumad:=[static-libs(+)]
sys-fabric/libibverbs:=[static-libs(+)]
sys-fabric/librdmacm:=[static-libs(+)]
)
iscsi? ( net-libs/libiscsi )
io-uring? ( sys-libs/liburing[static-libs(+)] )
jemalloc? ( dev-libs/jemalloc )
jpeg? ( virtual/jpeg:0=[static-libs(+)] )
lzo? ( dev-libs/lzo:2[static-libs(+)] )
ncurses? (
sys-libs/ncurses:0=[unicode]
sys-libs/ncurses:0=[static-libs(+)]
)
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
numa? ( sys-process/numactl[static-libs(+)] )
opengl? (
virtual/opengl
media-libs/libepoxy[static-libs(+)]
media-libs/mesa[static-libs(+)]
media-libs/mesa[egl,gbm]
)
png? ( media-libs/libpng:0=[static-libs(+)] )
pulseaudio? ( media-sound/pulseaudio )
rbd? ( sys-cluster/ceph )
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
sdl? (
media-libs/libsdl2[video]
media-libs/libsdl2[static-libs(+)]
)
sdl-image? ( media-libs/sdl2-image[static-libs(+)] )
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
snappy? ( app-arch/snappy:= )
spice? (
>=app-emulation/spice-protocol-0.12.3
>=app-emulation/spice-0.12.0[static-libs(+)]
)
ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
vde? ( net-misc/vde[static-libs(+)] )
virgl? ( media-libs/virglrenderer[static-libs(+)] )
virtfs? ( sys-libs/libcap )
xen? ( app-emulation/xen-tools:= )
xfs? ( sys-fs/xfsprogs[static-libs(+)] )
zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
"
X86_FIRMWARE_DEPEND="
pin-upstream-blobs? (
~sys-firmware/edk2-ovmf-201905[binary]
~sys-firmware/ipxe-1.0.0_p20190728[binary]
~sys-firmware/seabios-1.12.0[binary,seavgabios]
~sys-firmware/sgabios-0.1_pre8[binary]
)
!pin-upstream-blobs? (
sys-firmware/edk2-ovmf
sys-firmware/ipxe
>=sys-firmware/seabios-1.10.2[seavgabios]
sys-firmware/sgabios
)"
PPC64_FIRMWARE_DEPEND="
pin-upstream-blobs? (
~sys-firmware/seabios-1.12.0[binary,seavgabios]
)
!pin-upstream-blobs? (
>=sys-firmware/seabios-1.10.2[seavgabios]
)
"
BDEPEND="
$(python_gen_impl_dep)
dev-lang/perl
sys-apps/texinfo
virtual/pkgconfig
doc? ( dev-python/sphinx )
gtk? ( nls? ( sys-devel/gettext ) )
test? (
dev-libs/glib[utils]
sys-devel/bc
)
"
CDEPEND="
!static? (
${ALL_DEPEND//\[static-libs(+)]}
${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
)
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} )
"
DEPEND="${CDEPEND}
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
static? (
${ALL_DEPEND}
${SOFTMMU_TOOLS_DEPEND}
)
static-user? ( ${ALL_DEPEND} )"
RDEPEND="${CDEPEND}
acct-group/kvm
selinux? ( sec-policy/selinux-qemu )"
PATCHES=(
"${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
"${FILESDIR}"/${PN}-4.0.0-mkdir_systemtap.patch #684902
"${FILESDIR}"/${PN}-4.2.0-cflags.patch
"${FILESDIR}"/${PN}-5.0.0-epoll-strace.patch
"${FILESDIR}"/${PN}-5.0.0-ipv6-slirp-CVE-2020-10756.patch #731992
)
QA_PREBUILT="
usr/share/qemu/hppa-firmware.img
usr/share/qemu/openbios-ppc
usr/share/qemu/openbios-sparc64
usr/share/qemu/openbios-sparc32
usr/share/qemu/palcode-clipper
usr/share/qemu/s390-ccw.img
usr/share/qemu/s390-netboot.img
usr/share/qemu/u-boot.e500"
QA_WX_LOAD="usr/bin/qemu-i386
usr/bin/qemu-x86_64
usr/bin/qemu-alpha
usr/bin/qemu-arm
usr/bin/qemu-cris
usr/bin/qemu-m68k
usr/bin/qemu-microblaze
usr/bin/qemu-microblazeel
usr/bin/qemu-mips
usr/bin/qemu-mipsel
usr/bin/qemu-or1k
usr/bin/qemu-ppc
usr/bin/qemu-ppc64
usr/bin/qemu-ppc64abi32
usr/bin/qemu-sh4
usr/bin/qemu-sh4eb
usr/bin/qemu-sparc
usr/bin/qemu-sparc64
usr/bin/qemu-armeb
usr/bin/qemu-sparc32plus
usr/bin/qemu-s390x
usr/bin/qemu-unicore32"
DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the
kernel module loaded before running kvm. The easiest way to ensure that the
kernel module is loaded is to load it on boot.
For AMD CPUs the module is called 'kvm-amd'.
For Intel CPUs the module is called 'kvm-intel'.
Please review /etc/conf.d/modules for how to load these.
Make sure your user is in the 'kvm' group. Just run
$ gpasswd -a <USER> kvm
then have <USER> re-login.
For brand new installs, the default permissions on /dev/kvm might not let
you access it. You can tell udev to reset ownership/perms:
$ udevadm trigger -c add /dev/kvm
If you want to register binfmt handlers for qemu user targets:
For openrc:
# rc-update add qemu-binfmt
For systemd:
# ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf"
pkg_pretend() {
if use kernel_linux && kernel_is lt 2 6 25; then
eerror "This version of KVM 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
if grep -q AuthenticAMD /proc/cpuinfo; then
CONFIG_CHECK+=" ~KVM_AMD"
elif grep -q GenuineIntel /proc/cpuinfo; then
CONFIG_CHECK+=" ~KVM_INTEL"
fi
fi
use python && CONFIG_CHECK+=" ~DEBUG_FS"
ERROR_DEBUG_FS="debugFS support required for kvm_stat"
# Now do the actual checks setup above
check_extra_config
fi
fi
if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
eerror "instances are still pointing to it. Please update your"
eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
eerror "and the right system binary (e.g. qemu-system-x86_64)."
die "update your virt configs to not use qemu-kvm"
fi
}
# Sanity check to make sure target lists are kept up-to-date.
check_targets() {
local var=$1 mak=$2
local detected sorted
pushd "${S}"/default-configs >/dev/null || die
# Force C locale until glibc is updated. #564936
detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u))
if [[ ${sorted} != "${detected}" ]] ; then
eerror "The ebuild needs to be kept in sync."
eerror "${var}: ${sorted}"
eerror "$(printf '%-*s' ${#var} configure): ${detected}"
die "sync ${var} to the list of targets"
fi
popd >/dev/null
}
handle_locales() {
# Make sure locale list is kept up-to-date.
local detected sorted
detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u))
sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u))
if [[ ${sorted} != "${detected}" ]] ; then
eerror "The ebuild needs to be kept in sync."
eerror "PLOCALES: ${sorted}"
eerror " po/*.po: ${detected}"
die "sync PLOCALES"
fi
# Deal with selective install of locales.
if use nls ; then
# Delete locales the user does not want. #577814
rm_loc() { rm po/$1.po || die; }
l10n_for_each_disabled_locale_do rm_loc
else
# Cheap hack to disable gettext .mo generation.
rm -f po/*.po
fi
}
src_prepare() {
check_targets IUSE_SOFTMMU_TARGETS softmmu
check_targets IUSE_USER_TARGETS linux-user
default
# Use correct toolchain to fix cross-compiling
tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB
export WINDRES=${CHOST}-windres
# Verbose builds
MAKEOPTS+=" V=1"
# Run after we've applied all patches.
handle_locales
# Remove bundled copy of libfdt
rm -r dtc || die
}
##
# configures qemu based on the build directory and the build type
# we are using.
#
qemu_src_configure() {
debug-print-function ${FUNCNAME} "$@"
local buildtype=$1
local builddir="${S}/${buildtype}-build"
mkdir "${builddir}"
local conf_opts=(
--prefix=/usr
--sysconfdir=/etc
--bindir=/usr/bin
--libdir=/usr/$(get_libdir)
--datadir=/usr/share
--docdir=/usr/share/doc/${PF}/html
--mandir=/usr/share/man
--with-confsuffix=/qemu
--localstatedir=/var
--disable-bsd-user
--disable-guest-agent
--disable-strip
--disable-werror
# We support gnutls/nettle for crypto operations. It is possible
# to use gcrypt when gnutls/nettle are disabled (but not when they
# are enabled), but it's not really worth the hassle. Disable it
# all the time to avoid automatically detecting it. #568856
--disable-gcrypt
--python="${PYTHON}"
--cc="$(tc-getCC)"
--cxx="$(tc-getCXX)"
--host-cc="$(tc-getBUILD_CC)"
$(use_enable debug debug-info)
$(use_enable debug debug-tcg)
$(use_enable doc docs)
$(use_enable plugins)
$(use_enable tci tcg-interpreter)
$(use_enable xattr attr)
)
# Disable options not used by user targets. This simplifies building
# static user targets (USE=static-user) considerably.
conf_notuser() {
if [[ ${buildtype} == "user" ]] ; then
echo "--disable-${2:-$1}"
else
use_enable "$@"
fi
}
conf_opts+=(
$(conf_notuser accessibility brlapi)
$(conf_notuser aio linux-aio)
$(conf_notuser bzip2)
$(conf_notuser capstone)
$(conf_notuser caps cap-ng)
$(conf_notuser curl)
$(conf_notuser fdt)
$(conf_notuser glusterfs)
$(conf_notuser gnutls)
$(conf_notuser gnutls nettle)
$(conf_notuser gtk)
$(conf_notuser infiniband rdma)
$(conf_notuser iscsi libiscsi)
$(conf_notuser io-uring linux-io-uring)
$(conf_notuser jemalloc jemalloc)
$(conf_notuser jpeg vnc-jpeg)
$(conf_notuser kernel_linux kvm)
$(conf_notuser lzo)
$(conf_notuser ncurses curses)
$(conf_notuser nfs libnfs)
$(conf_notuser numa)
$(conf_notuser opengl)
$(conf_notuser png vnc-png)
$(conf_notuser rbd)
$(conf_notuser sasl vnc-sasl)
$(conf_notuser sdl)
$(conf_notuser sdl-image)
$(conf_notuser seccomp)
$(conf_notuser smartcard)
$(conf_notuser snappy)
$(conf_notuser spice)
$(conf_notuser ssh libssh)
$(conf_notuser usb libusb)
$(conf_notuser usbredir usb-redir)
$(conf_notuser vde)
$(conf_notuser vhost-net)
$(conf_notuser vhost-user-fs)
$(conf_notuser virgl virglrenderer)
$(conf_notuser virtfs)
$(conf_notuser vnc)
$(conf_notuser vte)
$(conf_notuser xen)
$(conf_notuser xen xen-pci-passthrough)
$(conf_notuser xfs xfsctl)
$(conf_notuser xkb xkbcommon)
$(conf_notuser zstd)
)
if [[ ${buildtype} == "user" ]] ; then
conf_opts+=( --disable-libxml2 )
else
conf_opts+=( --enable-libxml2 )
fi
if [[ ! ${buildtype} == "user" ]] ; then
# audio options
local audio_opts=(
# Note: backend order matters here: #716202
# We iterate from higher-level to lower level.
$(usex pulseaudio pa "")
$(usev sdl)
$(usev alsa)
$(usev oss)
)
conf_opts+=(
--audio-drv-list=$(printf "%s," "${audio_opts[@]}")
)
fi
case ${buildtype} in
user)
conf_opts+=(
--enable-linux-user
--disable-system
--disable-blobs
--disable-tools
)
local static_flag="static-user"
;;
softmmu)
conf_opts+=(
--disable-linux-user
--enable-system
--disable-tools
)
local static_flag="static"
;;
tools)
conf_opts+=(
--disable-linux-user
--disable-system
--disable-blobs
--enable-tools
)
local static_flag="static"
;;
esac
local targets="${buildtype}_targets"
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
# Add support for SystemTAP
use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
# We always want to attempt to build with PIE support as it results
# in a more secure binary. But it doesn't work with static or if
# the current GCC doesn't have PIE support.
if use ${static_flag}; then
conf_opts+=( --static --disable-pie )
else
tc-enables-pie && conf_opts+=( --enable-pie )
fi
echo "../configure ${conf_opts[*]}"
cd "${builddir}"
../configure "${conf_opts[@]}" || die "configure failed"
# FreeBSD's kernel does not support QEMU assigning/grabbing
# host USB devices yet
use kernel_FreeBSD && \
sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak
}
src_configure() {
local target
python_setup
softmmu_targets= softmmu_bins=()
user_targets= user_bins=()
for target in ${IUSE_SOFTMMU_TARGETS} ; do
if use "qemu_softmmu_targets_${target}"; then
softmmu_targets+=",${target}-softmmu"
softmmu_bins+=( "qemu-system-${target}" )
fi
done
for target in ${IUSE_USER_TARGETS} ; do
if use "qemu_user_targets_${target}"; then
user_targets+=",${target}-linux-user"
user_bins+=( "qemu-${target}" )
fi
done
softmmu_targets=${softmmu_targets#,}
user_targets=${user_targets#,}
[[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
[[ -n ${user_targets} ]] && qemu_src_configure "user"
qemu_src_configure "tools"
}
src_compile() {
if [[ -n ${user_targets} ]]; then
cd "${S}/user-build"
default
fi
if [[ -n ${softmmu_targets} ]]; then
cd "${S}/softmmu-build"
default
fi
cd "${S}/tools-build"
default
}
src_test() {
if [[ -n ${softmmu_targets} ]]; then
cd "${S}/softmmu-build"
pax-mark m */qemu-system-* #515550
emake check
fi
}
qemu_python_install() {
python_domodule "${S}/python/qemu"
python_doscript "${S}/scripts/kvm/vmxcap"
python_doscript "${S}/scripts/qmp/qmp-shell"
python_doscript "${S}/scripts/qmp/qemu-ga-client"
}
# Generate binfmt support files.
# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc)
# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt)
generate_initd() {
local out="${T}/qemu-binfmt"
local out_systemd="${T}/qemu.conf"
local d="${T}/binfmt.d"
einfo "Generating qemu binfmt scripts and configuration files"
# Generate the debian fragments first.
mkdir -p "${d}"
"${S}"/scripts/qemu-binfmt-conf.sh \
--debian \
--exportdir "${d}" \
--qemu-path "${EPREFIX}/usr/bin" \
|| die
# Then turn the fragments into a shell script we can source.
sed -E -i \
-e 's:^([^ ]+) (.*)$:\1="\2":' \
"${d}"/* || die
# Generate the init.d script by assembling the fragments from above.
local f qcpu package interpreter magic mask
cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die
for f in "${d}"/qemu-* ; do
source "${f}"
# Normalize the cpu logic like we do in the init.d for the native cpu.
qcpu=${package#qemu-}
case ${qcpu} in
arm*) qcpu="arm";;
mips*) qcpu="mips";;
ppc*) qcpu="ppc";;
s390*) qcpu="s390";;
sh*) qcpu="sh";;
sparc*) qcpu="sparc";;
esac
# we use 'printf' here to be portable across 'sh'
# implementations: #679168
cat <<EOF >>"${out}"
if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register
fi
EOF
echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}"
done
cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die
}
src_install() {
if [[ -n ${user_targets} ]]; then
cd "${S}/user-build"
emake DESTDIR="${ED}" install
# Install binfmt handler init script for user targets.
generate_initd
doinitd "${T}/qemu-binfmt"
# Install binfmt/qemu.conf.
insinto "/usr/share/qemu/binfmt.d"
doins "${T}/qemu.conf"
fi
if [[ -n ${softmmu_targets} ]]; then
cd "${S}/softmmu-build"
emake DESTDIR="${ED}" install
# This might not exist if the test failed. #512010
[[ -e check-report.html ]] && dodoc check-report.html
if use kernel_linux; then
udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules
fi
if use python; then
python_foreach_impl qemu_python_install
fi
fi
cd "${S}/tools-build"
emake DESTDIR="${ED}" install
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
pushd "${ED}"/usr/bin >/dev/null
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
popd >/dev/null
# Install config file example for qemu-bridge-helper
insinto "/etc/qemu"
doins "${FILESDIR}/bridge.conf"
cd "${S}"
dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt
newdoc pc-bios/README README.pc-bios
# Disallow stripping of prebuilt firmware files.
dostrip -x ${QA_PREBUILT}
if [[ -n ${softmmu_targets} ]]; then
# Remove SeaBIOS since we're using the SeaBIOS packaged one
rm "${ED}/usr/share/qemu/bios.bin"
rm "${ED}/usr/share/qemu/bios-256k.bin"
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin
fi
# Remove vgabios since we're using the seavgabios packaged one
rm "${ED}/usr/share/qemu/vgabios.bin"
rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
# PPC64 loads vgabios-stdvga
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc64; then
dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin
dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
fi
# Remove sgabios since we're using the sgabios packaged one
rm "${ED}/usr/share/qemu/sgabios.bin"
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
fi
# Remove iPXE since we're using the iPXE packaged one
rm "${ED}"/usr/share/qemu/pxe-*.rom
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
fi
fi
DISABLE_AUTOFORMATTING=true
readme.gentoo_create_doc
}
firmware_abi_change() {
local pv
for pv in ${REPLACING_VERSIONS}; do
if ver_test $pv -lt ${FIRMWARE_ABI_VERSION}; then
return 0
fi
done
return 1
}
pkg_postinst() {
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
udev_reload
fi
xdg_icon_cache_update
[[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
fcaps cap_net_admin ${EROOT}/usr/libexec/qemu-bridge-helper
DISABLE_AUTOFORMATTING=true
readme.gentoo_print_elog
if use pin-upstream-blobs && firmware_abi_change; then
ewarn "This version of qemu pins new versions of firmware blobs:"
ewarn " $(best_version sys-firmware/edk2-ovmf)"
ewarn " $(best_version sys-firmware/ipxe)"
ewarn " $(best_version sys-firmware/seabios)"
ewarn " $(best_version sys-firmware/sgabios)"
ewarn "This might break resume of hibernated guests (started with a different"
ewarn "firmware version) and live migration to/from qemu versions with different"
ewarn "firmware. Please (cold) restart all running guests. For functional"
ewarn "guest migration ensure that all"
ewarn "hosts run at least"
ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}."
fi
}
pkg_info() {
echo "Using:"
echo " $(best_version app-emulation/spice-protocol)"
echo " $(best_version sys-firmware/edk2-ovmf)"
if has_version 'sys-firmware/edk2-ovmf[binary]'; then
echo " USE=binary"
else
echo " USE=''"
fi
echo " $(best_version sys-firmware/ipxe)"
echo " $(best_version sys-firmware/seabios)"
if has_version 'sys-firmware/seabios[binary]'; then
echo " USE=binary"
else
echo " USE=''"
fi
echo " $(best_version sys-firmware/sgabios)"
}
pkg_postrm() {
xdg_icon_cache_update
}

@ -1,2 +1,3 @@
DIST slirp4netns-1.0.1.tar.gz 51911 BLAKE2B d125dd2c24fd7a817d2b8f16c6bac66399a4a0f37c49d43541f336e7ff09673bca2d6ed2c62cc856034b8e2f6e11ac1ff3753d3546148e68ddf085e8b9aca354 SHA512 4947e32d88c3c8f1b7b2e94a1e73041a48cc8ddf75ffaf691d44cb6ebeaef5cf0b0abb7a8df8919682dfc854a76d73fc5bdebcf01b3ace97be187068d704bf63
DIST slirp4netns-1.1.1.tar.gz 55391 BLAKE2B 346fd9a0e52247488573182bf747d3ba249ba5cb8d991ede8d0dedb7a5b9c8c64ee56fe4a94ae6deffc98f85866aa100300b42c75f1fc4de3af2564a00082ac5 SHA512 365293c82f58c89b82515428f157c7e4709b8b04b6736e75cc549bddb3ec2a85b33b198ae55ee173b93472cb33dec64949e50e8473b052ce33c61ff777f1393f
DIST slirp4netns-1.1.3.tar.gz 55231 BLAKE2B bbe0803ae2ad453519963865e53a3e020bebb9ee9658ae552745247be4b08397e8649bd52ed46a00062aa3ca804529daa5454fb591e2b128d3f1f31f9d4229c2 SHA512 6259099eb8896aef086961d1a6dbbdaffe24af255a7ed55f2243a87e9af54956041a28de3f8af9c8a17e59925822109545c53757af2feeeefa7ce603a3b99930

@ -0,0 +1,40 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools
DESCRIPTION="User-mode networking for unprivileged network namespaces"
HOMEPAGE="https://github.com/rootless-containers/slirp4netns"
SRC_URI="https://github.com/rootless-containers/slirp4netns/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
LICENSE="GPL-2"
SLOT="0"
RDEPEND="
dev-libs/glib:2=
dev-libs/libpcre:=
net-libs/libslirp:=
sys-libs/libseccomp:=
sys-libs/libcap:="
DEPEND="${RDEPEND}
virtual/pkgconfig"
RESTRICT="test"
src_prepare() {
# Respect AR variable for bug 722162.
sed -e 's|^AC_PROG_CC$|AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL(AR, ar, :)])\nAC_PROG_AR\n\0|' \
-i configure.ac || die
eautoreconf
default
}
pkg_postinst() {
if [[ -z ${REPLACING_VERSIONS} ]]; then
elog "You need to have the tun kernel module loaded in order to have"
elog "slirp4netns working"
fi
}

@ -7,13 +7,11 @@ DIST ipxe-git-d2063b7693e0e35db97b2264aa987eb6341ae779.tar.gz 3792227 BLAKE2B 72
DIST seabios-1.12.0.tar.gz 613542 BLAKE2B f145c2db716996bfa9e5c014086ccfaa8ae96ebc158f34303b122b7bf209408c567665d8691364df8d8e886f63e0e72a3f3cd319dfa86ef581023201b5d94e53 SHA512 e52c5363e5bb37b5286e55545aa06bd126218f9d0e3a06ac2e189de68fe3de3256c11ca1bb13357a9c384d7e3af6284083ff3aa587688b5de04ef11b97bdfa27
DIST seabios-1.12.1.tar.gz 613450 BLAKE2B cb926b650c41a9962db407945cb5b6558079b061bd61f32ea56aedf0d37a00d10ad4434acbe717ffbc0dd1d1c0767304af8e640a53b0fc3784969dfa1590f681 SHA512 58755ce842adcb99c0f2f3ebbf9ec6d4a5072753966ab46805a96db1570847b109a90e6e03d61f9088ef877ca8ba96a8006777dc38ec434fce6b487f6c1f91d0
DIST seabios-1.13.0.tar.gz 620952 BLAKE2B 460a7dd2b2775b981bbd890ed0a50fe905794c68b0b895799667dd1378bb84125712330c2f6945112709d42cfb7b01196c7fff99051e44b6211d47d19531cfae SHA512 7f158badf7deecc2998eab2a08f3615dfe5a7c0a51323f7b4568a4d1280935bc32bb466c8226d87d2ca7e13f9f117ff0092befcc0699bc31c5018e84754e8393
DIST xen-4.12.2-upstream-patches-0.tar.xz 3976 BLAKE2B 4527b5699b13e1b5bed9b82b67c7a3ddfbe39dc69f63b3bb1fda81cb315c6d78a34441219b8d4ae3d95ae2bc52ef0779410b65813212fa07867061fcb2b599ac SHA512 462de147b0474ca8e051219b41b088f25eb4be3962cde399403be5fbcfd4747054f84bf8c732ba8d86c1ba1980c518b67cd8e4f342e4120dd8bf6594d185a92e
DIST xen-4.12.2.tar.gz 26985135 BLAKE2B 530821011a6dd0ac0a99fb135ff5311eb8e975c3791818093b5e250eed7854d153de6d4340197f9b949c0ad2c3d7b2b7180deb42bc71748ff70ff6fad195269d SHA512 7d9e7921271830c9eadf1bb8eca1aec20d343ad7475b0dc3165ef6d681759e7cb70739f8d9f85622a23aef960988820e822267fb198b12ee3dd657ad6164069f
DIST xen-4.12.3-upstream-patches-0.tar.xz 7236 BLAKE2B d795e2be6f1edb31f1d794912328c4d3673eb800464d99c5ae867d189d0ea2b4cbac0c8bcda7790ae40742f6bf79308eb624b4f67d1c7f12cc64be6d8c920b84 SHA512 de5723d4fd547845ca9a876f8535e720f7bd790e48dbf1d92397d60a285ef88a31cad276b1a01a4fa8946cefb15d69c8a3a00da5113b6e5e2655b871be076adf
DIST xen-4.12.3-upstream-patches-1.tar.xz 39052 BLAKE2B dbe18a8d67009be9597ea8f0cd45850ed0e437119095c414796efff2810e884a3d7c062a7e5e12e93d8991cbbab50c0095d7ae1c937129f8f9490aa5f31ca6f8 SHA512 1383b1c0e3d4918b6b43c9cdff5284e259385136aad479814ea1d50b25017a0466a6a0044321585f38f4c8fb30f5af91a45f666a6d7fce6e60a4dfdb346a421b
DIST xen-4.12.3.tar.gz 26985230 BLAKE2B 403de519a552f1cd49e5a85b63f48df1b7a47ff8381385860b67df32af0b33be1c13c92ca2234e4479b7f415e711e0f46c396c3f62dfb5b2465d2991723cf6ef SHA512 7bbf4e752477f18143ac9a62fb633b1fbe115a1a9b03d0132f33dfca025bc9b76d9c2e9b66a3e407d14aff161b940b1a82e3e3ca43213798e9dd38b6970194e0
DIST xen-4.13.1-upstream-patches-0.tar.xz 7156 BLAKE2B 246b30cd8bc0ee8853a4e85ae0140d0ae52e69f3e4220bd97af8564491cf8285a7a592cd1392467a30acf6947733c8af355c110a44cb565927fb4f0bb7867113 SHA512 9059de696cb984c1891b5a87d1832562aa34b6568a21867c6744b603180f2b628905c81031f3c7c24867122d07432906750e0cfc6ca2fdacd31b82d35488455f
DIST xen-4.13.1-upstream-patches-1.tar.xz 46892 BLAKE2B 8ccfe1d6b3589e262fa04526d5238694e324fef3b514daebdffcb74cecfc2700e37f810faf868ec198c99ed3a9af2c351656c31798c5791bfd6816552d78fd7a SHA512 2d9708c4b558c5986afd1caea56f69ac8b11d69371fd4afae0e9c3480a0b863c99ebe2d3b857d623d41924437db7f7e44fefc7bae892cd05d7605243ae8140d5
DIST xen-4.13.1.tar.gz 39024612 BLAKE2B efff138699fac2c14fad2e0dfd4535ebd744577df3dddccc2a589b81a76f24fc81c75e295f4cd33ca2e820929417b22d714504b576cb0737a563037bd56b6a95 SHA512 b56d20704155d98d803496cba83eb928e0f986a750831cd5600fc88d0ae772fe1456571654375054043d2da8daca255cc98385ebf08b1b1a75ecf7f4b7a0ee90
DIST xen-4.14.0-rc3.tar.gz 39943460 BLAKE2B 12356947738cfc7b43d0fa1bcbc8912f87fa5f0368b02b2bd8cc1d2681edc2f26d8edce50991e5fab65aa40f32ce263a2ded80f8ae827f182ea5a0f63274ddc2 SHA512 c6771003f2f66334c9181faeb01cb3283fcbfda78064cfde3a14ae9dca2454c35766d78df23dc480a9daba1edb7fd31db9ebfc3a4f57dd2b07852dd486e859ed
DIST xen-gentoo-patches-20.tar.xz 17376 BLAKE2B 909795f611a089ab1eee86db5f034cec963c831873b3088f0682cdb7ec5284e75a4d49a5a1c93ee7a7e7ba3a899648b38928a1c7b726e019c2a90b66e31fee4a SHA512 d06b846ccb8c488f7155437cdf220533fc2d23ad13b0a2bd4d69d68938c4858fdb961c9e59f57c5228368b4e60dbbdf81ec15b77ecb0639bbf475333f8bf4b97
DIST xen-gentoo-patches-21.tar.xz 18280 BLAKE2B 95446da72fc16cb82e4e51df8796c64db05a30894a351a98dbd6700ce354c34956ca09a1af98125a4e56c337936e8fae296d806519b8afa23a82b078aa0db8f1 SHA512 3cffac162606a09b10b47dca604f167897e6ac8d153411d3464ef29a7a4d46ac5b92340884cb21279cb2d053b131f1ea5cb2111e3e9a21b3298b5ab3320ee34d
DIST xen-gentoo-patches-22.tar.xz 18764 BLAKE2B e0da49b39fbc6b689db47e40a4fbb4f6568644fe192b114cce01b0406cba4bf23339ad1bf39b972f895df004916827b6e774f97fc079aeb8ac436763efda5fc3 SHA512 5b7959af4ed30edd2526698ab60a86353e35d9dc48dc941b6df7659a7c4904260461e0decbd8d788542bd69384736f2175861d4943c3738618d20788b19ea9b1

@ -51,16 +51,6 @@ _gx056=" xen-tools-4.12.2-libxenstat-makefile.patch"
# Fix building with gcc 10, bug #722930
_gx060=" xen-tools-4.13.0-gcc10.patch"
# xen-tools-4.12.2 patches set
_gpv_xen_tools_4122_0="
${_gx038}
${_gx027}
${_gx028} ${_gx029}
${_gx037} ${_gx042}
${_gx053} ${_gx050} ${_gx051}
${_gx054} ${_gx056}
"
# xen-tools-4.12.3 patches set
_gpv_xen_tools_4123_0="
${_gx038}

@ -1,491 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE='ncurses,xml,threads'
inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs
MY_PV=${PV/_/-}
if [[ $PV == *9999 ]]; then
inherit git-r3
REPO="xen.git"
EGIT_REPO_URI="git://xenbits.xen.org/${REPO}"
S="${WORKDIR}/${REPO}"
else
KEYWORDS="amd64 ~arm ~arm64 x86"
UPSTREAM_VER=0
SECURITY_VER=
# xen-tools's gentoo patches tarball
GENTOO_VER=20
# xen-tools's gentoo patches version which apply to this specific ebuild
GENTOO_GPV=0
# xen-tools ovmf's patches
OVMF_VER=
SEABIOS_VER=1.12.0
EDK2_COMMIT=ef529e6ab7c31290a33045bb1f1837447cc0eb56
IPXE_COMMIT=d2063b7693e0e35db97b2264aa987eb6341ae779
[[ -n ${UPSTREAM_VER} ]] && \
UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz"
[[ -n ${SECURITY_VER} ]] && \
SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz"
[[ -n ${GENTOO_VER} ]] && \
GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz"
[[ -n ${OVMF_VER} ]] && \
OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz"
SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz
https://www.seabios.org/downloads/seabios-${SEABIOS_VER}.tar.gz
ipxe? ( http://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz )
ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz
${OVMF_PATCHSET_URI} )
${UPSTREAM_PATCHSET_URI}
${SECURITY_PATCHSET_URI}
${GENTOO_PATCHSET_URI}"
S="${WORKDIR}/xen-${MY_PV}"
fi
DESCRIPTION="Xen tools including QEMU and xl"
HOMEPAGE="https://www.xenproject.org"
DOCS=( README )
LICENSE="GPL-2"
SLOT="0/$(ver_cut 1-2)"
# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make
# >=dev-lang/ocaml-4 stable
# Masked in profiles/eapi-5-files instead
IUSE="api debug doc flask +hvm +ipxe ocaml ovmf +pam pygrub python +qemu +qemu-traditional +rombios screen sdl static-libs system-ipxe system-qemu system-seabios"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
ipxe? ( rombios )
ovmf? ( hvm )
pygrub? ( python )
rombios? ( hvm )
system-ipxe? ( rombios )
?? ( ipxe system-ipxe )
?? ( qemu system-qemu )"
COMMON_DEPEND="
sys-apps/pciutils
dev-libs/lzo:2
dev-libs/glib:2
dev-libs/yajl
dev-libs/libaio
dev-libs/libgcrypt:0
sys-libs/zlib
${PYTHON_DEPS}
"
DEPEND="${COMMON_DEPEND}
>=sys-kernel/linux-headers-4.11
$(python_gen_cond_dep '
dev-python/lxml[${PYTHON_MULTI_USEDEP}]
pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] )
')
x86? ( sys-devel/dev86
system-ipxe? ( sys-firmware/ipxe[qemu] )
sys-power/iasl )
api? ( dev-libs/libxml2
net-misc/curl )
ovmf? (
!arm? ( !arm64? ( dev-lang/nasm ) )
$(python_gen_impl_dep sqlite)
)
!amd64? ( >=sys-apps/dtc-1.4.0 )
amd64? ( sys-power/iasl
system-seabios? ( sys-firmware/seabios )
system-ipxe? ( sys-firmware/ipxe[qemu] )
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
dev-lang/perl
app-misc/pax-utils
doc? (
app-text/ghostscript-gpl
app-text/pandoc
$(python_gen_cond_dep '
dev-python/markdown[${PYTHON_MULTI_USEDEP}]
')
dev-texlive/texlive-latexextra
media-gfx/transfig
)
hvm? ( x11-base/xorg-proto )
qemu? (
app-arch/snappy:=
x11-libs/pixman
sdl? (
media-libs/libsdl[X]
media-libs/libsdl2[X]
)
)
system-qemu? ( app-emulation/qemu[xen] )
ocaml? ( dev-ml/findlib
>=dev-lang/ocaml-4 )
python? ( dev-lang/swig )"
RDEPEND="${COMMON_DEPEND}
sys-apps/iproute2[-minimal]
net-misc/bridge-utils
screen? (
app-misc/screen
app-admin/logrotate
)"
# hvmloader is used to bootstrap a fully virtualized kernel
# Approved by QA team in bug #144032
QA_WX_LOAD="
usr/libexec/xen/boot/hvmloader
usr/share/qemu-xen/qemu/hppa-firmware.img
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/u-boot.e500
"
QA_PREBUILT="
usr/libexec/xen/bin/ivshmem-client
usr/libexec/xen/bin/ivshmem-server
usr/libexec/xen/bin/qemu-img
usr/libexec/xen/bin/qemu-io
usr/libexec/xen/bin/qemu-keymap
usr/libexec/xen/bin/qemu-nbd
usr/libexec/xen/bin/qemu-pr-helper
usr/libexec/xen/bin/qemu-system-i386
usr/libexec/xen/bin/virtfs-proxy-helper
usr/libexec/xen/libexec/xen-bridge-helper
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/s390-netboot.img
usr/share/qemu-xen/qemu/u-boot.e500
"
RESTRICT="test"
pkg_setup() {
python_setup
export "CONFIG_LOMOUNT=y"
#bug 522642, disable compile tools/tests
export "CONFIG_TESTS=n"
if [[ -z ${XEN_TARGET_ARCH} ]] ; then
if use x86 && use amd64; then
die "Confusion! Both x86 and amd64 are set in your use flags!"
elif use x86; then
export XEN_TARGET_ARCH="x86_32"
elif use amd64 ; then
export XEN_TARGET_ARCH="x86_64"
elif use arm; then
export XEN_TARGET_ARCH="arm32"
elif use arm64; then
export XEN_TARGET_ARCH="arm64"
else
die "Unsupported architecture!"
fi
fi
}
src_prepare() {
local i
# Upstream's patchset
if [[ -n ${UPSTREAM_VER} ]]; then
einfo "Try to apply Xen Upstream patch set"
eapply "${WORKDIR}"/patches-upstream
fi
# Security patchset
if [[ -n ${SECURITY_VER} ]]; then
einfo "Try to apply Xen Security patch set"
# apply main xen patches
# Two parallel systems, both work side by side
# Over time they may concdense into one. This will suffice for now
EPATCH_SUFFIX="patch"
EPATCH_FORCE="yes"
source "${WORKDIR}"/patches-security/${PV}.conf || die
for i in ${XEN_SECURITY_MAIN}; do
eapply "${WORKDIR}"/patches-security/xen/$i
done
# apply qemu-xen/upstream patches
pushd "${S}"/tools/qemu-xen/ > /dev/null
for i in ${XEN_SECURITY_QEMUU}; do
eapply "${WORKDIR}"/patches-security/qemuu/$i
done
popd > /dev/null
# apply qemu-traditional patches
pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null
for i in ${XEN_SECURITY_QEMUT}; do
eapply "${WORKDIR}"/patches-security/qemut/$i
done
popd > /dev/null
fi
# move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err
mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
pushd tools/firmware/ > /dev/null
ln -s seabios-dir-remote seabios-dir || die
popd > /dev/null
# Gentoo's patchset
if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then
einfo "Try to apply Gentoo specific patch set"
source "${FILESDIR}"/gentoo-patches.conf || die
_gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV}
for i in ${!_gpv}; do
eapply "${WORKDIR}"/patches-gentoo/$i
done
fi
# Ovmf's patchset
if use ovmf; then
if [[ -n ${OVMF_VER} ]];then
einfo "Try to apply Ovmf patch set"
pushd "${WORKDIR}"/edk2-*/ > /dev/null
eapply "${WORKDIR}"/patches-ovmf
popd > /dev/null
fi
mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die
cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die
fi
# ipxe
if use ipxe; then
cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die
cp "${WORKDIR}/patches-gentoo/${PN}-4.12.0-ipxe-gcc9.patch" \
tools/firmware/etherboot/patches/ipxe-gcc9.patch || die
echo "ipxe-gcc9.patch" >> tools/firmware/etherboot/patches/series || die
fi
mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
# Fix texi2html build error with new texi2html, qemu.doc.html
sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die
use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die
sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \
-i tools/firmware/Makefile || die
# Drop .config, fixes to gcc-4.6
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
# drop flags
unset CFLAGS
unset LDFLAGS
unset ASFLAGS
unset CPPFLAGS
if ! use pygrub; then
sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
fi
if ! use python; then
sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
fi
if ! use hvm; then
sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
# Bug 351648
elif ! use x86 && ! has x86 $(get_all_abis); then
mkdir -p "${WORKDIR}"/extra-headers/gnu || die
touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
export CPATH="${WORKDIR}"/extra-headers
fi
if use qemu; then
if use sdl; then
sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \
tools/Makefile || die
else
sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \
tools/qemu-xen-traditional/xen-setup || die
sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \
tools/Makefile || die
fi
else
# Don't bother with qemu, only needed for fully virtualised guests
sed -e "s:install-tools\: tools/qemu-xen-traditional-dir:install-tools\: :g" -i Makefile || die
fi
# Reset bash completion dir; Bug 472438
sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \
-i Config.mk || die
sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die
# xencommons, Bug #492332, sed lighter weight than patching
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
-i tools/hotplug/Linux/init.d/xencommons.in || die
# fix bashishm
sed -e '/Usage/s/\$//g' \
-i tools/hotplug/Linux/init.d/xendriverdomain.in || die
# respect multilib, usr/lib/libcacard.so.0.0.0
sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
-i tools/qemu-xen/configure || die
#bug 518136, don't build 32bit exactuable for nomultilib profile
if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
fi
# uncomment lines in xl.conf
sed -e 's:^#autoballoon=:autoballoon=:' \
-e 's:^#lockfile=:lockfile=:' \
-e 's:^#vif.default.script=:vif.default.script=:' \
-i tools/examples/xl.conf || die
# disable capstone (Bug #673474)
sed -e "s:\$\$source/configure:\0 --disable-capstone:" \
-i tools/Makefile || die
# disable glusterfs
sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \
-i tools/Makefile || die
default
}
src_configure() {
local myconf="--prefix=${PREFIX}/usr \
--libdir=${PREFIX}/usr/$(get_libdir) \
--libexecdir=${PREFIX}/usr/libexec \
--localstatedir=${EPREFIX}/var \
--disable-werror \
--disable-xen \
--enable-tools \
--enable-docs \
$(use_enable api xenapi) \
$(use_enable ipxe) \
$(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '') \
$(use_enable ocaml ocamltools) \
$(use_enable ovmf) \
$(use_enable pam) \
$(use_enable rombios) \
--with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \
"
use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin"
use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64"
use amd64 && myconf+=" $(use_enable qemu-traditional)"
tc-ld-disable-gold # Bug 669570
econf ${myconf}
}
src_compile() {
local myopt
use debug && myopt="${myopt} debug=y"
use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y"
if test-flag-CC -fno-strict-overflow; then
append-flags -fno-strict-overflow
fi
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt}
if use doc; then
emake -C docs build
else
emake -C docs man-pages
fi
}
src_install() {
# Override auto-detection in the build system, bug #382573
export INITD_DIR=/tmp/init.d
export CONFIG_LEAF_DIR=../tmp/default
# Let the build system compile installed Python modules.
local PYTHONDONTWRITEBYTECODE
export PYTHONDONTWRITEBYTECODE
emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
XEN_PYTHON_NATIVE_INSTALL=y install-tools
# Created at runtime
rm -rv "${ED}/var/run" || die
# Fix the remaining Python shebangs.
python_fix_shebang "${D}"
# Remove RedHat-specific stuff
rm -rf "${D}/tmp" || die
if use doc; then
emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
dodoc -r docs/{pdf,txt}
else
emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032
fi
dodoc ${DOCS[@]}
newconfd "${FILESDIR}"/xendomains.confd xendomains
newconfd "${FILESDIR}"/xenstored.confd xenstored
newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored
newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
newinitd "${FILESDIR}"/xencommons.initd xencommons
newconfd "${FILESDIR}"/xencommons.confd xencommons
newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog
if use screen; then
cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
keepdir /var/log/xen-consoles
fi
# For -static-libs wrt Bug 384355
if ! use static-libs; then
rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a
fi
# for xendomains
keepdir /etc/xen/auto
# Remove files failing QA AFTER emake installs them, avoiding seeking absent files
find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
-o -name openbios-ppc -o -name palcode-clipper \) -delete || die
keepdir /var/lib/xen/dump
keepdir /var/lib/xen/xenpaging
keepdir /var/lib/xenstored
keepdir /var/log/xen
if use python; then
python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/xenstat.py"
python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/_xenstat.so"
fi
}
pkg_postinst() {
elog "Official Xen Guide and the offical wiki page:"
elog "https://wiki.gentoo.org/wiki/Xen"
elog "https://wiki.xen.org/wiki/Main_Page"
elog ""
elog "Recommended to utilise the xencommons script to config system at boot"
elog "Add by use of rc-update on completion of the install"
if ! use hvm; then
echo
elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm"
elog "support enable the hvm use flag."
elog "An x86 or amd64 system is required to build HVM support."
fi
if use qemu; then
elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source"
elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently"
elog "with the qemu capable xen. It is up to the user to distinguish between and utilise"
elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise"
fi
}

@ -0,0 +1,500 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE='ncurses,xml,threads'
inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs
MY_PV=${PV/_/-}
if [[ $PV == *9999 ]]; then
inherit git-r3
REPO="xen.git"
EGIT_REPO_URI="git://xenbits.xen.org/${REPO}"
S="${WORKDIR}/${REPO}"
else
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
UPSTREAM_VER=1
SECURITY_VER=
# xen-tools's gentoo patches tarball
GENTOO_VER=21
# xen-tools's gentoo patches version which apply to this specific ebuild
GENTOO_GPV=0
# xen-tools ovmf's patches
OVMF_VER=
SEABIOS_VER=1.12.0
EDK2_COMMIT=ef529e6ab7c31290a33045bb1f1837447cc0eb56
IPXE_COMMIT=d2063b7693e0e35db97b2264aa987eb6341ae779
[[ -n ${UPSTREAM_VER} ]] && \
UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz"
[[ -n ${SECURITY_VER} ]] && \
SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz"
[[ -n ${GENTOO_VER} ]] && \
GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz"
[[ -n ${OVMF_VER} ]] && \
OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz"
SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz
https://www.seabios.org/downloads/seabios-${SEABIOS_VER}.tar.gz
ipxe? ( http://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz )
ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz
${OVMF_PATCHSET_URI} )
${UPSTREAM_PATCHSET_URI}
${SECURITY_PATCHSET_URI}
${GENTOO_PATCHSET_URI}"
S="${WORKDIR}/xen-${MY_PV}"
fi
DESCRIPTION="Xen tools including QEMU and xl"
HOMEPAGE="https://www.xenproject.org"
DOCS=( README )
LICENSE="GPL-2"
SLOT="0/$(ver_cut 1-2)"
# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make
# >=dev-lang/ocaml-4 stable
# Masked in profiles/eapi-5-files instead
IUSE="api debug doc flask +hvm +ipxe ocaml ovmf +pam pygrub python +qemu +qemu-traditional +rombios screen sdl static-libs system-ipxe system-qemu system-seabios"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
ipxe? ( rombios )
ovmf? ( hvm )
pygrub? ( python )
rombios? ( hvm )
system-ipxe? ( rombios )
?? ( ipxe system-ipxe )
?? ( qemu system-qemu )"
COMMON_DEPEND="
sys-apps/pciutils
dev-libs/lzo:2
dev-libs/glib:2
dev-libs/yajl
dev-libs/libaio
dev-libs/libgcrypt:0
sys-libs/zlib
${PYTHON_DEPS}
"
DEPEND="${COMMON_DEPEND}
>=sys-kernel/linux-headers-4.11
$(python_gen_cond_dep '
dev-python/lxml[${PYTHON_MULTI_USEDEP}]
pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] )
')
x86? ( sys-devel/dev86
system-ipxe? ( sys-firmware/ipxe[qemu] )
sys-power/iasl )
api? ( dev-libs/libxml2
net-misc/curl )
ovmf? (
!arm? ( !arm64? ( dev-lang/nasm ) )
$(python_gen_impl_dep sqlite)
)
!amd64? ( >=sys-apps/dtc-1.4.0 )
amd64? ( sys-power/iasl
system-seabios? ( sys-firmware/seabios )
system-ipxe? ( sys-firmware/ipxe[qemu] )
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
dev-lang/perl
app-misc/pax-utils
doc? (
app-text/ghostscript-gpl
app-text/pandoc
$(python_gen_cond_dep '
dev-python/markdown[${PYTHON_MULTI_USEDEP}]
')
dev-texlive/texlive-latexextra
media-gfx/transfig
)
hvm? ( x11-base/xorg-proto )
qemu? (
app-arch/snappy:=
x11-libs/pixman
sdl? (
media-libs/libsdl[X]
media-libs/libsdl2[X]
)
)
system-qemu? ( app-emulation/qemu[xen] )
ocaml? ( dev-ml/findlib
>=dev-lang/ocaml-4 )
python? ( dev-lang/swig )"
RDEPEND="${COMMON_DEPEND}
sys-apps/iproute2[-minimal]
net-misc/bridge-utils
screen? (
app-misc/screen
app-admin/logrotate
)"
# hvmloader is used to bootstrap a fully virtualized kernel
# Approved by QA team in bug #144032
QA_WX_LOAD="
usr/libexec/xen/boot/hvmloader
usr/share/qemu-xen/qemu/hppa-firmware.img
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/u-boot.e500
"
QA_PREBUILT="
usr/libexec/xen/bin/ivshmem-client
usr/libexec/xen/bin/ivshmem-server
usr/libexec/xen/bin/qemu-img
usr/libexec/xen/bin/qemu-io
usr/libexec/xen/bin/qemu-keymap
usr/libexec/xen/bin/qemu-nbd
usr/libexec/xen/bin/qemu-pr-helper
usr/libexec/xen/bin/qemu-system-i386
usr/libexec/xen/bin/virtfs-proxy-helper
usr/libexec/xen/libexec/xen-bridge-helper
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/s390-netboot.img
usr/share/qemu-xen/qemu/u-boot.e500
"
RESTRICT="test"
pkg_setup() {
python_setup
export "CONFIG_LOMOUNT=y"
#bug 522642, disable compile tools/tests
export "CONFIG_TESTS=n"
if [[ -z ${XEN_TARGET_ARCH} ]] ; then
if use x86 && use amd64; then
die "Confusion! Both x86 and amd64 are set in your use flags!"
elif use x86; then
export XEN_TARGET_ARCH="x86_32"
elif use amd64 ; then
export XEN_TARGET_ARCH="x86_64"
elif use arm; then
export XEN_TARGET_ARCH="arm32"
elif use arm64; then
export XEN_TARGET_ARCH="arm64"
else
die "Unsupported architecture!"
fi
fi
}
src_prepare() {
local i
# Upstream's patchset
if [[ -n ${UPSTREAM_VER} ]]; then
einfo "Try to apply Xen Upstream patch set"
eapply "${WORKDIR}"/patches-upstream
fi
# Security patchset
if [[ -n ${SECURITY_VER} ]]; then
einfo "Try to apply Xen Security patch set"
# apply main xen patches
# Two parallel systems, both work side by side
# Over time they may concdense into one. This will suffice for now
EPATCH_SUFFIX="patch"
EPATCH_FORCE="yes"
source "${WORKDIR}"/patches-security/${PV}.conf || die
for i in ${XEN_SECURITY_MAIN}; do
eapply "${WORKDIR}"/patches-security/xen/$i
done
# apply qemu-xen/upstream patches
pushd "${S}"/tools/qemu-xen/ > /dev/null
for i in ${XEN_SECURITY_QEMUU}; do
eapply "${WORKDIR}"/patches-security/qemuu/$i
done
popd > /dev/null
# apply qemu-traditional patches
pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null
for i in ${XEN_SECURITY_QEMUT}; do
eapply "${WORKDIR}"/patches-security/qemut/$i
done
popd > /dev/null
fi
# move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err
mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
pushd tools/firmware/ > /dev/null
ln -s seabios-dir-remote seabios-dir || die
popd > /dev/null
# Gentoo's patchset
if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then
einfo "Try to apply Gentoo specific patch set"
source "${FILESDIR}"/gentoo-patches.conf || die
_gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV}
for i in ${!_gpv}; do
eapply "${WORKDIR}"/patches-gentoo/$i
done
fi
# Ovmf's patchset
if use ovmf; then
if [[ -n ${OVMF_VER} ]];then
einfo "Try to apply Ovmf patch set"
pushd "${WORKDIR}"/edk2-*/ > /dev/null
eapply "${WORKDIR}"/patches-ovmf
popd > /dev/null
fi
mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die
cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die
fi
# ipxe
if use ipxe; then
cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die
# gcc 9
cp "${WORKDIR}/patches-gentoo/${PN}-4.12.0-ipxe-gcc9.patch" \
tools/firmware/etherboot/patches/ipxe-gcc9.patch || die
echo "ipxe-gcc9.patch" >> tools/firmware/etherboot/patches/series || die
# gcc 10
cp "${WORKDIR}/patches-gentoo/xen-tools-4.13.0-ipxe-gcc10.patch" \
tools/firmware/etherboot/patches/ipxe-gcc10.patch || die
echo ipxe-gcc10.patch >> tools/firmware/etherboot/patches/series || die
fi
mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
# Fix texi2html build error with new texi2html, qemu.doc.html
sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die
use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die
sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \
-i tools/firmware/Makefile || die
# Drop .config, fixes to gcc-4.6
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
# drop flags
unset CFLAGS
unset LDFLAGS
unset ASFLAGS
unset CPPFLAGS
if ! use pygrub; then
sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
fi
if ! use python; then
sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
fi
if ! use hvm; then
sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
# Bug 351648
elif ! use x86 && ! has x86 $(get_all_abis); then
mkdir -p "${WORKDIR}"/extra-headers/gnu || die
touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
export CPATH="${WORKDIR}"/extra-headers
fi
if use qemu; then
if use sdl; then
sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \
tools/Makefile || die
else
sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \
tools/qemu-xen-traditional/xen-setup || die
sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \
tools/Makefile || die
fi
else
# Don't bother with qemu, only needed for fully virtualised guests
sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die
fi
# Reset bash completion dir; Bug 472438
sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \
-i Config.mk || die
sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die
# xencommons, Bug #492332, sed lighter weight than patching
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
-i tools/hotplug/Linux/init.d/xencommons.in || die
# fix bashishm
sed -e '/Usage/s/\$//g' \
-i tools/hotplug/Linux/init.d/xendriverdomain.in || die
# respect multilib, usr/lib/libcacard.so.0.0.0
sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
-i tools/qemu-xen/configure || die
#bug 518136, don't build 32bit exactuable for nomultilib profile
if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
fi
# uncomment lines in xl.conf
sed -e 's:^#autoballoon=:autoballoon=:' \
-e 's:^#lockfile=:lockfile=:' \
-e 's:^#vif.default.script=:vif.default.script=:' \
-i tools/examples/xl.conf || die
# disable capstone (Bug #673474)
sed -e "s:\$\$source/configure:\0 --disable-capstone:" \
-i tools/Makefile || die
# disable glusterfs
sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \
-i tools/Makefile || die
default
}
src_configure() {
local myconf="--prefix=${PREFIX}/usr \
--libdir=${PREFIX}/usr/$(get_libdir) \
--libexecdir=${PREFIX}/usr/libexec \
--localstatedir=${EPREFIX}/var \
--disable-werror \
--disable-xen \
--enable-tools \
--enable-docs \
$(use_enable api xenapi) \
$(use_enable ipxe) \
$(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '') \
$(use_enable ocaml ocamltools) \
$(use_enable ovmf) \
$(use_enable pam) \
$(use_enable rombios) \
--with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \
"
use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin"
use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64"
use amd64 && myconf+=" $(use_enable qemu-traditional)"
tc-ld-disable-gold # Bug 669570
econf ${myconf}
}
src_compile() {
local myopt
use debug && myopt="${myopt} debug=y"
use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y"
if test-flag-CC -fno-strict-overflow; then
append-flags -fno-strict-overflow
fi
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt}
if use doc; then
emake -C docs build
else
emake -C docs man-pages
fi
}
src_install() {
# Override auto-detection in the build system, bug #382573
export INITD_DIR=/tmp/init.d
export CONFIG_LEAF_DIR=../tmp/default
# Let the build system compile installed Python modules.
local PYTHONDONTWRITEBYTECODE
export PYTHONDONTWRITEBYTECODE
emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
XEN_PYTHON_NATIVE_INSTALL=y install-tools
# Created at runtime
rm -rv "${ED}/var/run" || die
# Fix the remaining Python shebangs.
python_fix_shebang "${D}"
# Remove RedHat-specific stuff
rm -rf "${D}"/tmp || die
if use doc; then
emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
dodoc -r docs/{pdf,txt}
else
emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032
fi
dodoc ${DOCS[@]}
newconfd "${FILESDIR}"/xendomains.confd xendomains
newconfd "${FILESDIR}"/xenstored.confd xenstored
newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored
newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
newinitd "${FILESDIR}"/xencommons.initd xencommons
newconfd "${FILESDIR}"/xencommons.confd xencommons
newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog
if use screen; then
cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
keepdir /var/log/xen-consoles
fi
# For -static-libs wrt Bug 384355
if ! use static-libs; then
rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a
fi
# for xendomains
keepdir /etc/xen/auto
# Remove files failing QA AFTER emake installs them, avoiding seeking absent files
find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
-o -name openbios-ppc -o -name palcode-clipper \) -delete || die
keepdir /var/lib/xen/dump
keepdir /var/lib/xen/xenpaging
keepdir /var/lib/xenstored
keepdir /var/log/xen
if use python; then
python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/xenstat.py"
python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/_xenstat.so"
fi
python_optimize
}
pkg_postinst() {
elog "Official Xen Guide and the offical wiki page:"
elog "https://wiki.gentoo.org/wiki/Xen"
elog "https://wiki.xen.org/wiki/Main_Page"
elog ""
elog "Recommended to utilise the xencommons script to config system at boot"
elog "Add by use of rc-update on completion of the install"
if ! use hvm; then
echo
elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm"
elog "support enable the hvm use flag."
elog "An x86 or amd64 system is required to build HVM support."
fi
if use qemu; then
elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source"
elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently"
elog "with the qemu capable xen. It is up to the user to distinguish between and utilise"
elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise"
fi
}

@ -1,505 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
PYTHON_REQ_USE='ncurses,xml,threads(+)'
inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs
MY_PV=${PV/_/-}
if [[ $PV == *9999 ]]; then
inherit git-r3
REPO="xen.git"
EGIT_REPO_URI="git://xenbits.xen.org/${REPO}"
S="${WORKDIR}/${REPO}"
else
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
UPSTREAM_VER=0
SECURITY_VER=
# xen-tools's gentoo patches tarball
GENTOO_VER=21
# xen-tools's gentoo patches version which apply to this specific ebuild
GENTOO_GPV=0
# xen-tools ovmf's patches
OVMF_VER=
SEABIOS_VER="1.12.1"
EDK2_COMMIT="20d2e5a125e34fc8501026613a71549b2a1a3e54"
EDK2_OPENSSL_VERSION="1_1_1b"
EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
IPXE_COMMIT="1dd56dbd11082fb622c2ed21cfaced4f47d798a6"
[[ -n ${UPSTREAM_VER} ]] && \
UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz"
[[ -n ${SECURITY_VER} ]] && \
SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz"
[[ -n ${GENTOO_VER} ]] && \
GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz"
[[ -n ${OVMF_VER} ]] && \
OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz"
SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz
https://github.com/qemu/seabios/archive/rel-${SEABIOS_VER}.tar.gz -> seabios-${SEABIOS_VER}.tar.gz
ipxe? ( http://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz )
ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz
https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz
https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz
${OVMF_PATCHSET_URI} )
${UPSTREAM_PATCHSET_URI}
${SECURITY_PATCHSET_URI}
${GENTOO_PATCHSET_URI}"
S="${WORKDIR}/xen-${MY_PV}"
fi
DESCRIPTION="Xen tools including QEMU and xl"
HOMEPAGE="https://www.xenproject.org"
DOCS=( README )
LICENSE="GPL-2"
SLOT="0/$(ver_cut 1-2)"
# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make
# >=dev-lang/ocaml-4 stable
# Masked in profiles/eapi-5-files instead
IUSE="api debug doc flask +hvm +ipxe ocaml ovmf +pam pygrub python +qemu +qemu-traditional +rombios screen sdl static-libs system-ipxe system-qemu system-seabios"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
ipxe? ( rombios )
ovmf? ( hvm )
pygrub? ( python )
rombios? ( hvm )
system-ipxe? ( rombios )
?? ( ipxe system-ipxe )
?? ( qemu system-qemu )"
COMMON_DEPEND="
sys-apps/pciutils
dev-libs/lzo:2
dev-libs/glib:2
dev-libs/yajl
dev-libs/libaio
dev-libs/libgcrypt:0
sys-libs/zlib
${PYTHON_DEPS}
"
DEPEND="${COMMON_DEPEND}
>=sys-kernel/linux-headers-4.11
$(python_gen_cond_dep '
dev-python/lxml[${PYTHON_MULTI_USEDEP}]
pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] )
')
x86? ( sys-devel/dev86
system-ipxe? ( sys-firmware/ipxe[qemu] )
sys-power/iasl )
api? ( dev-libs/libxml2
net-misc/curl )
ovmf? (
!arm? ( !arm64? ( dev-lang/nasm ) )
$(python_gen_impl_dep sqlite)
)
!amd64? ( >=sys-apps/dtc-1.4.0 )
amd64? ( sys-power/iasl
system-seabios? ( sys-firmware/seabios )
system-ipxe? ( sys-firmware/ipxe[qemu] )
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
dev-lang/perl
app-misc/pax-utils
doc? (
app-text/ghostscript-gpl
app-text/pandoc
$(python_gen_cond_dep '
dev-python/markdown[${PYTHON_MULTI_USEDEP}]
')
dev-texlive/texlive-latexextra
media-gfx/transfig
)
hvm? ( x11-base/xorg-proto )
qemu? (
app-arch/snappy:=
x11-libs/pixman
sdl? (
media-libs/libsdl[X]
media-libs/libsdl2[X]
)
)
system-qemu? ( app-emulation/qemu[xen] )
ocaml? ( dev-ml/findlib
>=dev-lang/ocaml-4 )
python? ( >=dev-lang/swig-4.0.0 )"
RDEPEND="${COMMON_DEPEND}
sys-apps/iproute2[-minimal]
net-misc/bridge-utils
screen? (
app-misc/screen
app-admin/logrotate
)"
# hvmloader is used to bootstrap a fully virtualized kernel
# Approved by QA team in bug #144032
QA_WX_LOAD="
usr/libexec/xen/boot/hvmloader
usr/share/qemu-xen/qemu/hppa-firmware.img
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/u-boot.e500
"
QA_PREBUILT="
usr/libexec/xen/bin/elf2dmp
usr/libexec/xen/bin/ivshmem-client
usr/libexec/xen/bin/ivshmem-server
usr/libexec/xen/bin/qemu-edid
usr/libexec/xen/bin/qemu-img
usr/libexec/xen/bin/qemu-io
usr/libexec/xen/bin/qemu-keymap
usr/libexec/xen/bin/qemu-nbd
usr/libexec/xen/bin/qemu-pr-helper
usr/libexec/xen/bin/qemu-system-i386
usr/libexec/xen/bin/virtfs-proxy-helper
usr/libexec/xen/libexec/xen-bridge-helper
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/s390-netboot.img
usr/share/qemu-xen/qemu/u-boot.e500
"
RESTRICT="test"
pkg_setup() {
python_setup
export "CONFIG_LOMOUNT=y"
#bug 522642, disable compile tools/tests
export "CONFIG_TESTS=n"
if [[ -z ${XEN_TARGET_ARCH} ]] ; then
if use x86 && use amd64; then
die "Confusion! Both x86 and amd64 are set in your use flags!"
elif use x86; then
export XEN_TARGET_ARCH="x86_32"
elif use amd64 ; then
export XEN_TARGET_ARCH="x86_64"
elif use arm; then
export XEN_TARGET_ARCH="arm32"
elif use arm64; then
export XEN_TARGET_ARCH="arm64"
else
die "Unsupported architecture!"
fi
fi
}
src_prepare() {
local i
# Upstream's patchset
if [[ -n ${UPSTREAM_VER} ]]; then
einfo "Try to apply Xen Upstream patch set"
eapply "${WORKDIR}"/patches-upstream
fi
# Security patchset
if [[ -n ${SECURITY_VER} ]]; then
einfo "Try to apply Xen Security patch set"
# apply main xen patches
# Two parallel systems, both work side by side
# Over time they may concdense into one. This will suffice for now
EPATCH_SUFFIX="patch"
EPATCH_FORCE="yes"
source "${WORKDIR}"/patches-security/${PV}.conf || die
for i in ${XEN_SECURITY_MAIN}; do
eapply "${WORKDIR}"/patches-security/xen/$i
done
# apply qemu-xen/upstream patches
pushd "${S}"/tools/qemu-xen/ > /dev/null
for i in ${XEN_SECURITY_QEMUU}; do
eapply "${WORKDIR}"/patches-security/qemuu/$i
done
popd > /dev/null
# apply qemu-traditional patches
pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null
for i in ${XEN_SECURITY_QEMUT}; do
eapply "${WORKDIR}"/patches-security/qemut/$i
done
popd > /dev/null
fi
# move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err
mv ../seabios-rel-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
pushd tools/firmware/ > /dev/null
ln -s seabios-dir-remote seabios-dir || die
popd > /dev/null
# Gentoo's patchset
if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then
einfo "Try to apply Gentoo specific patch set"
source "${FILESDIR}"/gentoo-patches.conf || die
_gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV}
for i in ${!_gpv}; do
eapply "${WORKDIR}"/patches-gentoo/$i
done
fi
# Ovmf's patchset
if use ovmf; then
if [[ -n ${OVMF_VER} ]];then
einfo "Try to apply Ovmf patch set"
pushd "${WORKDIR}"/edk2-*/ > /dev/null
eapply "${WORKDIR}"/patches-ovmf
popd > /dev/null
fi
mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die
rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die
fi
# ipxe
if use ipxe; then
cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die
# gcc 10
cp "${WORKDIR}/patches-gentoo/xen-tools-4.13.0-ipxe-gcc10.patch" tools/firmware/etherboot/patches/ipxe-gcc10.patch || die
echo ipxe-gcc10.patch >> tools/firmware/etherboot/patches/series || die
fi
mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
# Fix texi2html build error with new texi2html, qemu.doc.html
sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die
use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die
sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \
-i tools/firmware/Makefile || die
# Drop .config, fixes to gcc-4.6
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
# drop flags
unset CFLAGS
unset LDFLAGS
unset ASFLAGS
unset CPPFLAGS
if ! use pygrub; then
sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
fi
if ! use python; then
sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
fi
if ! use hvm; then
sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
# Bug 351648
elif ! use x86 && ! has x86 $(get_all_abis); then
mkdir -p "${WORKDIR}"/extra-headers/gnu || die
touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
export CPATH="${WORKDIR}"/extra-headers
fi
if use qemu; then
if use sdl; then
sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \
tools/Makefile || die
else
sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \
tools/qemu-xen-traditional/xen-setup || die
sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \
tools/Makefile || die
fi
else
# Don't bother with qemu, only needed for fully virtualised guests
sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die
fi
# Reset bash completion dir; Bug 472438
sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \
-i Config.mk || die
sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die
# xencommons, Bug #492332, sed lighter weight than patching
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
-i tools/hotplug/Linux/init.d/xencommons.in || die
# fix bashishm
sed -e '/Usage/s/\$//g' \
-i tools/hotplug/Linux/init.d/xendriverdomain.in || die
# respect multilib, usr/lib/libcacard.so.0.0.0
sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
-i tools/qemu-xen/configure || die
#bug 518136, don't build 32bit exactuable for nomultilib profile
if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
fi
# uncomment lines in xl.conf
sed -e 's:^#autoballoon=:autoballoon=:' \
-e 's:^#lockfile=:lockfile=:' \
-e 's:^#vif.default.script=:vif.default.script=:' \
-i tools/examples/xl.conf || die
# disable capstone (Bug #673474)
sed -e "s:\$\$source/configure:\0 --disable-capstone:" \
-i tools/Makefile || die
# disable glusterfs
sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \
-i tools/Makefile || die
default
}
src_configure() {
local myconf="--prefix=${PREFIX}/usr \
--libdir=${PREFIX}/usr/$(get_libdir) \
--libexecdir=${PREFIX}/usr/libexec \
--localstatedir=${EPREFIX}/var \
--disable-werror \
--disable-xen \
--enable-tools \
--enable-docs \
$(use_enable api xenapi) \
$(use_enable ipxe) \
$(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '') \
$(use_enable ocaml ocamltools) \
$(use_enable ovmf) \
$(use_enable pam) \
$(use_enable rombios) \
--with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \
"
use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin"
use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64"
use amd64 && myconf+=" $(use_enable qemu-traditional)"
tc-ld-disable-gold # Bug 669570
econf ${myconf}
}
src_compile() {
local myopt
use debug && myopt="${myopt} debug=y"
use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y"
if test-flag-CC -fno-strict-overflow; then
append-flags -fno-strict-overflow
fi
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt}
if use doc; then
emake -C docs build
else
emake -C docs man-pages
fi
}
src_install() {
# Override auto-detection in the build system, bug #382573
export INITD_DIR=/tmp/init.d
export CONFIG_LEAF_DIR=../tmp/default
# Let the build system compile installed Python modules.
local PYTHONDONTWRITEBYTECODE
export PYTHONDONTWRITEBYTECODE
emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
XEN_PYTHON_NATIVE_INSTALL=y install-tools
# Created at runtime
rm -rv "${ED}/var/run" || die
# Fix the remaining Python shebangs.
python_fix_shebang "${D}"
# Remove RedHat-specific stuff
rm -rf "${D}"/tmp || die
if use doc; then
emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
dodoc -r docs/{pdf,txt}
else
emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032
fi
dodoc ${DOCS[@]}
newconfd "${FILESDIR}"/xendomains.confd xendomains
newconfd "${FILESDIR}"/xenstored.confd xenstored
newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored
newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
newinitd "${FILESDIR}"/xencommons.initd xencommons
newconfd "${FILESDIR}"/xencommons.confd xencommons
newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog
if use screen; then
cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
keepdir /var/log/xen-consoles
fi
# For -static-libs wrt Bug 384355
if ! use static-libs; then
rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a
fi
# for xendomains
keepdir /etc/xen/auto
# Remove files failing QA AFTER emake installs them, avoiding seeking absent files
find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
-o -name openbios-ppc -o -name palcode-clipper \) -delete || die
keepdir /var/lib/xen/dump
keepdir /var/lib/xen/xenpaging
keepdir /var/lib/xenstored
keepdir /var/log/xen
if use python; then
python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/xenstat.py"
python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/_xenstat.so"
fi
python_optimize
}
pkg_postinst() {
elog "Official Xen Guide and the offical wiki page:"
elog "https://wiki.gentoo.org/wiki/Xen"
elog "https://wiki.xen.org/wiki/Main_Page"
elog ""
elog "Recommended to utilise the xencommons script to config system at boot"
elog "Add by use of rc-update on completion of the install"
if ! use hvm; then
echo
elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm"
elog "support enable the hvm use flag."
elog "An x86 or amd64 system is required to build HVM support."
fi
if use qemu; then
elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source"
elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently"
elog "with the qemu capable xen. It is up to the user to distinguish between and utilise"
elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise"
fi
}

@ -0,0 +1,505 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
PYTHON_REQ_USE='ncurses,xml,threads(+)'
inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs
MY_PV=${PV/_/-}
if [[ $PV == *9999 ]]; then
inherit git-r3
REPO="xen.git"
EGIT_REPO_URI="git://xenbits.xen.org/${REPO}"
S="${WORKDIR}/${REPO}"
else
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
UPSTREAM_VER=1
SECURITY_VER=
# xen-tools's gentoo patches tarball
GENTOO_VER=21
# xen-tools's gentoo patches version which apply to this specific ebuild
GENTOO_GPV=0
# xen-tools ovmf's patches
OVMF_VER=
SEABIOS_VER="1.12.1"
EDK2_COMMIT="20d2e5a125e34fc8501026613a71549b2a1a3e54"
EDK2_OPENSSL_VERSION="1_1_1b"
EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
IPXE_COMMIT="1dd56dbd11082fb622c2ed21cfaced4f47d798a6"
[[ -n ${UPSTREAM_VER} ]] && \
UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz"
[[ -n ${SECURITY_VER} ]] && \
SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz"
[[ -n ${GENTOO_VER} ]] && \
GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz"
[[ -n ${OVMF_VER} ]] && \
OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz"
SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz
https://github.com/qemu/seabios/archive/rel-${SEABIOS_VER}.tar.gz -> seabios-${SEABIOS_VER}.tar.gz
ipxe? ( http://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz )
ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz
https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz
https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz
${OVMF_PATCHSET_URI} )
${UPSTREAM_PATCHSET_URI}
${SECURITY_PATCHSET_URI}
${GENTOO_PATCHSET_URI}"
S="${WORKDIR}/xen-${MY_PV}"
fi
DESCRIPTION="Xen tools including QEMU and xl"
HOMEPAGE="https://www.xenproject.org"
DOCS=( README )
LICENSE="GPL-2"
SLOT="0/$(ver_cut 1-2)"
# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make
# >=dev-lang/ocaml-4 stable
# Masked in profiles/eapi-5-files instead
IUSE="api debug doc flask +hvm +ipxe ocaml ovmf +pam pygrub python +qemu +qemu-traditional +rombios screen sdl static-libs system-ipxe system-qemu system-seabios"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
ipxe? ( rombios )
ovmf? ( hvm )
pygrub? ( python )
rombios? ( hvm )
system-ipxe? ( rombios )
?? ( ipxe system-ipxe )
?? ( qemu system-qemu )"
COMMON_DEPEND="
sys-apps/pciutils
dev-libs/lzo:2
dev-libs/glib:2
dev-libs/yajl
dev-libs/libaio
dev-libs/libgcrypt:0
sys-libs/zlib
${PYTHON_DEPS}
"
DEPEND="${COMMON_DEPEND}
>=sys-kernel/linux-headers-4.11
$(python_gen_cond_dep '
dev-python/lxml[${PYTHON_MULTI_USEDEP}]
pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] )
')
x86? ( sys-devel/dev86
system-ipxe? ( sys-firmware/ipxe[qemu] )
sys-power/iasl )
api? ( dev-libs/libxml2
net-misc/curl )
ovmf? (
!arm? ( !arm64? ( dev-lang/nasm ) )
$(python_gen_impl_dep sqlite)
)
!amd64? ( >=sys-apps/dtc-1.4.0 )
amd64? ( sys-power/iasl
system-seabios? ( sys-firmware/seabios )
system-ipxe? ( sys-firmware/ipxe[qemu] )
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
dev-lang/perl
app-misc/pax-utils
doc? (
app-text/ghostscript-gpl
app-text/pandoc
$(python_gen_cond_dep '
dev-python/markdown[${PYTHON_MULTI_USEDEP}]
')
dev-texlive/texlive-latexextra
media-gfx/transfig
)
hvm? ( x11-base/xorg-proto )
qemu? (
app-arch/snappy:=
x11-libs/pixman
sdl? (
media-libs/libsdl[X]
media-libs/libsdl2[X]
)
)
system-qemu? ( app-emulation/qemu[xen] )
ocaml? ( dev-ml/findlib
>=dev-lang/ocaml-4 )
python? ( >=dev-lang/swig-4.0.0 )"
RDEPEND="${COMMON_DEPEND}
sys-apps/iproute2[-minimal]
net-misc/bridge-utils
screen? (
app-misc/screen
app-admin/logrotate
)"
# hvmloader is used to bootstrap a fully virtualized kernel
# Approved by QA team in bug #144032
QA_WX_LOAD="
usr/libexec/xen/boot/hvmloader
usr/share/qemu-xen/qemu/hppa-firmware.img
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/u-boot.e500
"
QA_PREBUILT="
usr/libexec/xen/bin/elf2dmp
usr/libexec/xen/bin/ivshmem-client
usr/libexec/xen/bin/ivshmem-server
usr/libexec/xen/bin/qemu-edid
usr/libexec/xen/bin/qemu-img
usr/libexec/xen/bin/qemu-io
usr/libexec/xen/bin/qemu-keymap
usr/libexec/xen/bin/qemu-nbd
usr/libexec/xen/bin/qemu-pr-helper
usr/libexec/xen/bin/qemu-system-i386
usr/libexec/xen/bin/virtfs-proxy-helper
usr/libexec/xen/libexec/xen-bridge-helper
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/s390-netboot.img
usr/share/qemu-xen/qemu/u-boot.e500
"
RESTRICT="test"
pkg_setup() {
python_setup
export "CONFIG_LOMOUNT=y"
#bug 522642, disable compile tools/tests
export "CONFIG_TESTS=n"
if [[ -z ${XEN_TARGET_ARCH} ]] ; then
if use x86 && use amd64; then
die "Confusion! Both x86 and amd64 are set in your use flags!"
elif use x86; then
export XEN_TARGET_ARCH="x86_32"
elif use amd64 ; then
export XEN_TARGET_ARCH="x86_64"
elif use arm; then
export XEN_TARGET_ARCH="arm32"
elif use arm64; then
export XEN_TARGET_ARCH="arm64"
else
die "Unsupported architecture!"
fi
fi
}
src_prepare() {
local i
# Upstream's patchset
if [[ -n ${UPSTREAM_VER} ]]; then
einfo "Try to apply Xen Upstream patch set"
eapply "${WORKDIR}"/patches-upstream
fi
# Security patchset
if [[ -n ${SECURITY_VER} ]]; then
einfo "Try to apply Xen Security patch set"
# apply main xen patches
# Two parallel systems, both work side by side
# Over time they may concdense into one. This will suffice for now
EPATCH_SUFFIX="patch"
EPATCH_FORCE="yes"
source "${WORKDIR}"/patches-security/${PV}.conf || die
for i in ${XEN_SECURITY_MAIN}; do
eapply "${WORKDIR}"/patches-security/xen/$i
done
# apply qemu-xen/upstream patches
pushd "${S}"/tools/qemu-xen/ > /dev/null
for i in ${XEN_SECURITY_QEMUU}; do
eapply "${WORKDIR}"/patches-security/qemuu/$i
done
popd > /dev/null
# apply qemu-traditional patches
pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null
for i in ${XEN_SECURITY_QEMUT}; do
eapply "${WORKDIR}"/patches-security/qemut/$i
done
popd > /dev/null
fi
# move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err
mv ../seabios-rel-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
pushd tools/firmware/ > /dev/null
ln -s seabios-dir-remote seabios-dir || die
popd > /dev/null
# Gentoo's patchset
if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then
einfo "Try to apply Gentoo specific patch set"
source "${FILESDIR}"/gentoo-patches.conf || die
_gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV}
for i in ${!_gpv}; do
eapply "${WORKDIR}"/patches-gentoo/$i
done
fi
# Ovmf's patchset
if use ovmf; then
if [[ -n ${OVMF_VER} ]];then
einfo "Try to apply Ovmf patch set"
pushd "${WORKDIR}"/edk2-*/ > /dev/null
eapply "${WORKDIR}"/patches-ovmf
popd > /dev/null
fi
mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die
rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die
fi
# ipxe
if use ipxe; then
cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die
# gcc 10
cp "${WORKDIR}/patches-gentoo/xen-tools-4.13.0-ipxe-gcc10.patch" tools/firmware/etherboot/patches/ipxe-gcc10.patch || die
echo ipxe-gcc10.patch >> tools/firmware/etherboot/patches/series || die
fi
mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
# Fix texi2html build error with new texi2html, qemu.doc.html
sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die
use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die
sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \
-i tools/firmware/Makefile || die
# Drop .config, fixes to gcc-4.6
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
# drop flags
unset CFLAGS
unset LDFLAGS
unset ASFLAGS
unset CPPFLAGS
if ! use pygrub; then
sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
fi
if ! use python; then
sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
fi
if ! use hvm; then
sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
# Bug 351648
elif ! use x86 && ! has x86 $(get_all_abis); then
mkdir -p "${WORKDIR}"/extra-headers/gnu || die
touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
export CPATH="${WORKDIR}"/extra-headers
fi
if use qemu; then
if use sdl; then
sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \
tools/Makefile || die
else
sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \
tools/qemu-xen-traditional/xen-setup || die
sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \
tools/Makefile || die
fi
else
# Don't bother with qemu, only needed for fully virtualised guests
sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die
fi
# Reset bash completion dir; Bug 472438
sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \
-i Config.mk || die
sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die
# xencommons, Bug #492332, sed lighter weight than patching
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
-i tools/hotplug/Linux/init.d/xencommons.in || die
# fix bashishm
sed -e '/Usage/s/\$//g' \
-i tools/hotplug/Linux/init.d/xendriverdomain.in || die
# respect multilib, usr/lib/libcacard.so.0.0.0
sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
-i tools/qemu-xen/configure || die
#bug 518136, don't build 32bit exactuable for nomultilib profile
if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
fi
# uncomment lines in xl.conf
sed -e 's:^#autoballoon=:autoballoon=:' \
-e 's:^#lockfile=:lockfile=:' \
-e 's:^#vif.default.script=:vif.default.script=:' \
-i tools/examples/xl.conf || die
# disable capstone (Bug #673474)
sed -e "s:\$\$source/configure:\0 --disable-capstone:" \
-i tools/Makefile || die
# disable glusterfs
sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \
-i tools/Makefile || die
default
}
src_configure() {
local myconf="--prefix=${PREFIX}/usr \
--libdir=${PREFIX}/usr/$(get_libdir) \
--libexecdir=${PREFIX}/usr/libexec \
--localstatedir=${EPREFIX}/var \
--disable-werror \
--disable-xen \
--enable-tools \
--enable-docs \
$(use_enable api xenapi) \
$(use_enable ipxe) \
$(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '') \
$(use_enable ocaml ocamltools) \
$(use_enable ovmf) \
$(use_enable pam) \
$(use_enable rombios) \
--with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \
"
use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin"
use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64"
use amd64 && myconf+=" $(use_enable qemu-traditional)"
tc-ld-disable-gold # Bug 669570
econf ${myconf}
}
src_compile() {
local myopt
use debug && myopt="${myopt} debug=y"
use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y"
if test-flag-CC -fno-strict-overflow; then
append-flags -fno-strict-overflow
fi
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt}
if use doc; then
emake -C docs build
else
emake -C docs man-pages
fi
}
src_install() {
# Override auto-detection in the build system, bug #382573
export INITD_DIR=/tmp/init.d
export CONFIG_LEAF_DIR=../tmp/default
# Let the build system compile installed Python modules.
local PYTHONDONTWRITEBYTECODE
export PYTHONDONTWRITEBYTECODE
emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
XEN_PYTHON_NATIVE_INSTALL=y install-tools
# Created at runtime
rm -rv "${ED}/var/run" || die
# Fix the remaining Python shebangs.
python_fix_shebang "${D}"
# Remove RedHat-specific stuff
rm -rf "${D}"/tmp || die
if use doc; then
emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
dodoc -r docs/{pdf,txt}
else
emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032
fi
dodoc ${DOCS[@]}
newconfd "${FILESDIR}"/xendomains.confd xendomains
newconfd "${FILESDIR}"/xenstored.confd xenstored
newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored
newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
newinitd "${FILESDIR}"/xencommons.initd xencommons
newconfd "${FILESDIR}"/xencommons.confd xencommons
newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog
if use screen; then
cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
keepdir /var/log/xen-consoles
fi
# For -static-libs wrt Bug 384355
if ! use static-libs; then
rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a
fi
# for xendomains
keepdir /etc/xen/auto
# Remove files failing QA AFTER emake installs them, avoiding seeking absent files
find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
-o -name openbios-ppc -o -name palcode-clipper \) -delete || die
keepdir /var/lib/xen/dump
keepdir /var/lib/xen/xenpaging
keepdir /var/lib/xenstored
keepdir /var/log/xen
if use python; then
python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/xenstat.py"
python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/_xenstat.so"
fi
python_optimize
}
pkg_postinst() {
elog "Official Xen Guide and the offical wiki page:"
elog "https://wiki.gentoo.org/wiki/Xen"
elog "https://wiki.xen.org/wiki/Main_Page"
elog ""
elog "Recommended to utilise the xencommons script to config system at boot"
elog "Add by use of rc-update on completion of the install"
if ! use hvm; then
echo
elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm"
elog "support enable the hvm use flag."
elog "An x86 or amd64 system is required to build HVM support."
fi
if use qemu; then
elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source"
elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently"
elog "with the qemu capable xen. It is up to the user to distinguish between and utilise"
elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise"
fi
}

@ -1,5 +1,6 @@
DIST xen-4.12.3-upstream-patches-0.tar.xz 7236 BLAKE2B d795e2be6f1edb31f1d794912328c4d3673eb800464d99c5ae867d189d0ea2b4cbac0c8bcda7790ae40742f6bf79308eb624b4f67d1c7f12cc64be6d8c920b84 SHA512 de5723d4fd547845ca9a876f8535e720f7bd790e48dbf1d92397d60a285ef88a31cad276b1a01a4fa8946cefb15d69c8a3a00da5113b6e5e2655b871be076adf
DIST xen-4.12.3-upstream-patches-1.tar.xz 39052 BLAKE2B dbe18a8d67009be9597ea8f0cd45850ed0e437119095c414796efff2810e884a3d7c062a7e5e12e93d8991cbbab50c0095d7ae1c937129f8f9490aa5f31ca6f8 SHA512 1383b1c0e3d4918b6b43c9cdff5284e259385136aad479814ea1d50b25017a0466a6a0044321585f38f4c8fb30f5af91a45f666a6d7fce6e60a4dfdb346a421b
DIST xen-4.12.3.tar.gz 26985230 BLAKE2B 403de519a552f1cd49e5a85b63f48df1b7a47ff8381385860b67df32af0b33be1c13c92ca2234e4479b7f415e711e0f46c396c3f62dfb5b2465d2991723cf6ef SHA512 7bbf4e752477f18143ac9a62fb633b1fbe115a1a9b03d0132f33dfca025bc9b76d9c2e9b66a3e407d14aff161b940b1a82e3e3ca43213798e9dd38b6970194e0
DIST xen-4.13.1-upstream-patches-0.tar.xz 7156 BLAKE2B 246b30cd8bc0ee8853a4e85ae0140d0ae52e69f3e4220bd97af8564491cf8285a7a592cd1392467a30acf6947733c8af355c110a44cb565927fb4f0bb7867113 SHA512 9059de696cb984c1891b5a87d1832562aa34b6568a21867c6744b603180f2b628905c81031f3c7c24867122d07432906750e0cfc6ca2fdacd31b82d35488455f
DIST xen-4.13.1-upstream-patches-1.tar.xz 46892 BLAKE2B 8ccfe1d6b3589e262fa04526d5238694e324fef3b514daebdffcb74cecfc2700e37f810faf868ec198c99ed3a9af2c351656c31798c5791bfd6816552d78fd7a SHA512 2d9708c4b558c5986afd1caea56f69ac8b11d69371fd4afae0e9c3480a0b863c99ebe2d3b857d623d41924437db7f7e44fefc7bae892cd05d7605243ae8140d5
DIST xen-4.13.1.tar.gz 39024612 BLAKE2B efff138699fac2c14fad2e0dfd4535ebd744577df3dddccc2a589b81a76f24fc81c75e295f4cd33ca2e820929417b22d714504b576cb0737a563037bd56b6a95 SHA512 b56d20704155d98d803496cba83eb928e0f986a750831cd5600fc88d0ae772fe1456571654375054043d2da8daca255cc98385ebf08b1b1a75ecf7f4b7a0ee90
DIST xen-4.14.0-rc3.tar.gz 39943460 BLAKE2B 12356947738cfc7b43d0fa1bcbc8912f87fa5f0368b02b2bd8cc1d2681edc2f26d8edce50991e5fab65aa40f32ce263a2ded80f8ae827f182ea5a0f63274ddc2 SHA512 c6771003f2f66334c9181faeb01cb3283fcbfda78064cfde3a14ae9dca2454c35766d78df23dc480a9daba1edb7fd31db9ebfc3a4f57dd2b07852dd486e859ed

@ -0,0 +1,165 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 )
inherit flag-o-matic mount-boot multilib python-any-r1 toolchain-funcs
MY_PV=${PV/_/-}
MY_P=${PN}-${MY_PV}
if [[ $PV == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="git://xenbits.xen.org/xen.git"
SRC_URI=""
else
KEYWORDS="~amd64 ~arm -x86"
UPSTREAM_VER=1
SECURITY_VER=
GENTOO_VER=
[[ -n ${UPSTREAM_VER} ]] && \
UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz"
[[ -n ${SECURITY_VER} ]] && \
SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz"
[[ -n ${GENTOO_VER} ]] && \
GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz"
SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/${MY_P}.tar.gz
${UPSTREAM_PATCHSET_URI}
${SECURITY_PATCHSET_URI}
${GENTOO_PATCHSET_URI}"
fi
DESCRIPTION="The Xen virtual machine monitor"
HOMEPAGE="https://www.xenproject.org"
LICENSE="GPL-2"
SLOT="0"
IUSE="debug efi flask"
DEPEND="${PYTHON_DEPS}
efi? ( >=sys-devel/binutils-2.22[multitarget] )
!efi? ( >=sys-devel/binutils-2.22 )"
RDEPEND=""
PDEPEND="~app-emulation/xen-tools-${PV}"
# no tests are available for the hypervisor
# prevent the silliness of /usr/lib/debug/usr/lib/debug files
# prevent stripping of the debug info from the /usr/lib/debug/xen-syms
RESTRICT="test splitdebug strip"
# Approved by QA team in bug #144032
QA_WX_LOAD="boot/xen-syms-${PV}"
REQUIRED_USE="arm? ( debug )"
S="${WORKDIR}/${MY_P}"
pkg_setup() {
python-any-r1_pkg_setup
if [[ -z ${XEN_TARGET_ARCH} ]]; then
if use amd64; then
export XEN_TARGET_ARCH="x86_64"
elif use arm; then
export XEN_TARGET_ARCH="arm32"
elif use arm64; then
export XEN_TARGET_ARCH="arm64"
else
die "Unsupported architecture!"
fi
fi
if use flask ; then
export "XSM_ENABLE=y"
export "FLASK_ENABLE=y"
fi
}
src_prepare() {
# Upstream's patchset
[[ -n ${UPSTREAM_VER} ]] && eapply "${WORKDIR}"/patches-upstream
# Security patchset
if [[ -n ${SECURITY_VER} ]]; then
einfo "Try to apply Xen Security patch set"
# apply main xen patches
# Two parallel systems, both work side by side
# Over time they may concdense into one. This will suffice for now
source "${WORKDIR}"/patches-security/${PV}.conf
local i
for i in ${XEN_SECURITY_MAIN}; do
eapply "${WORKDIR}"/patches-security/xen/$i
done
fi
# Gentoo's patchset
[[ -n ${GENTOO_VER} ]] && eapply "${WORKDIR}"/patches-gentoo
eapply "${FILESDIR}"/${PN}-4.11-efi.patch
# Drop .config
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
if use efi; then
export EFI_VENDOR="gentoo"
export EFI_MOUNTPOINT="/boot"
fi
default
}
src_configure() {
use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i"
use debug && myopt="${myopt} debug=y"
# remove flags
unset CFLAGS
unset LDFLAGS
unset ASFLAGS
tc-ld-disable-gold # Bug 700374
}
src_compile() {
# Send raw LDFLAGS so that --as-needed works
emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt}
}
src_install() {
local myopt
use debug && myopt="${myopt} debug=y"
# The 'make install' doesn't 'mkdir -p' the subdirs
if use efi; then
mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
fi
emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install
# make install likes to throw in some extra EFI bits if it built
use efi || rm -rf "${D}/usr/$(get_libdir)/efi"
}
pkg_postinst() {
elog "Official Xen Guide:"
elog " https://wiki.gentoo.org/wiki/Xen"
use efi && einfo "The efi executable is installed in /boot/efi/gentoo"
elog "You can optionally block the installation of /boot/xen-syms by an entry"
elog "in folder /etc/portage/env using the portage's feature INSTALL_MASK"
elog "e.g. echo ${msg} > /etc/portage/env/xen.conf"
ewarn
ewarn "Xen 4.12+ changed the default scheduler to credit2 which can cause"
ewarn "domU lockups on multi-cpu systems. The legacy credit scheduler seems"
ewarn "to work fine."
ewarn
ewarn "Add sched=credit to xen command line options to use the legacy scheduler."
ewarn
ewarn "https://wiki.gentoo.org/wiki/Xen#Xen_domU_hanging_with_Xen_4.12.2B"
}

@ -1,165 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
inherit flag-o-matic mount-boot multilib python-any-r1 toolchain-funcs
MY_PV=${PV/_/-}
MY_P=${PN}-${MY_PV}
if [[ $PV == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="git://xenbits.xen.org/xen.git"
SRC_URI=""
else
KEYWORDS="~amd64 ~arm -x86"
UPSTREAM_VER=0
SECURITY_VER=
GENTOO_VER=
[[ -n ${UPSTREAM_VER} ]] && \
UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz"
[[ -n ${SECURITY_VER} ]] && \
SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz"
[[ -n ${GENTOO_VER} ]] && \
GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz"
SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/${MY_P}.tar.gz
${UPSTREAM_PATCHSET_URI}
${SECURITY_PATCHSET_URI}
${GENTOO_PATCHSET_URI}"
fi
DESCRIPTION="The Xen virtual machine monitor"
HOMEPAGE="https://www.xenproject.org"
LICENSE="GPL-2"
SLOT="0"
IUSE="debug efi flask"
DEPEND="${PYTHON_DEPS}
efi? ( >=sys-devel/binutils-2.22[multitarget] )
!efi? ( >=sys-devel/binutils-2.22 )"
RDEPEND=""
PDEPEND="~app-emulation/xen-tools-${PV}"
# no tests are available for the hypervisor
# prevent the silliness of /usr/lib/debug/usr/lib/debug files
# prevent stripping of the debug info from the /usr/lib/debug/xen-syms
RESTRICT="test splitdebug strip"
# Approved by QA team in bug #144032
QA_WX_LOAD="boot/xen-syms-${PV}"
REQUIRED_USE="arm? ( debug )"
S="${WORKDIR}/${MY_P}"
pkg_setup() {
python-any-r1_pkg_setup
if [[ -z ${XEN_TARGET_ARCH} ]]; then
if use amd64; then
export XEN_TARGET_ARCH="x86_64"
elif use arm; then
export XEN_TARGET_ARCH="arm32"
elif use arm64; then
export XEN_TARGET_ARCH="arm64"
else
die "Unsupported architecture!"
fi
fi
if use flask ; then
export "XSM_ENABLE=y"
export "FLASK_ENABLE=y"
fi
}
src_prepare() {
# Upstream's patchset
[[ -n ${UPSTREAM_VER} ]] && eapply "${WORKDIR}"/patches-upstream
# Security patchset
if [[ -n ${SECURITY_VER} ]]; then
einfo "Try to apply Xen Security patch set"
# apply main xen patches
# Two parallel systems, both work side by side
# Over time they may concdense into one. This will suffice for now
source "${WORKDIR}"/patches-security/${PV}.conf
local i
for i in ${XEN_SECURITY_MAIN}; do
eapply "${WORKDIR}"/patches-security/xen/$i
done
fi
# Gentoo's patchset
[[ -n ${GENTOO_VER} ]] && eapply "${WORKDIR}"/patches-gentoo
eapply "${FILESDIR}"/${PN}-4.11-efi.patch
# Drop .config
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
if use efi; then
export EFI_VENDOR="gentoo"
export EFI_MOUNTPOINT="/boot"
fi
default
}
src_configure() {
use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i"
use debug && myopt="${myopt} debug=y"
# remove flags
unset CFLAGS
unset LDFLAGS
unset ASFLAGS
tc-ld-disable-gold # Bug 700374
}
src_compile() {
# Send raw LDFLAGS so that --as-needed works
emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt}
}
src_install() {
local myopt
use debug && myopt="${myopt} debug=y"
# The 'make install' doesn't 'mkdir -p' the subdirs
if use efi; then
mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
fi
emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install
# make install likes to throw in some extra EFI bits if it built
use efi || rm -rf "${D}/usr/$(get_libdir)/efi"
}
pkg_postinst() {
elog "Official Xen Guide:"
elog " https://wiki.gentoo.org/wiki/Xen"
use efi && einfo "The efi executable is installed in /boot/efi/gentoo"
elog "You can optionally block the installation of /boot/xen-syms by an entry"
elog "in folder /etc/portage/env using the portage's feature INSTALL_MASK"
elog "e.g. echo ${msg} > /etc/portage/env/xen.conf"
ewarn
ewarn "Xen 4.12+ changed the default scheduler to credit2 which can cause"
ewarn "domU lockups on multi-cpu systems. The legacy credit scheduler seems"
ewarn "to work fine."
ewarn
ewarn "Add sched=credit to xen command line options to use the legacy scheduler."
ewarn
ewarn "https://wiki.gentoo.org/wiki/Xen#Xen_domU_hanging_with_Xen_4.12.2B"
}

@ -0,0 +1,165 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
inherit flag-o-matic mount-boot multilib python-any-r1 toolchain-funcs
MY_PV=${PV/_/-}
MY_P=${PN}-${MY_PV}
if [[ $PV == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="git://xenbits.xen.org/xen.git"
SRC_URI=""
else
KEYWORDS="~amd64 ~arm -x86"
UPSTREAM_VER=1
SECURITY_VER=
GENTOO_VER=
[[ -n ${UPSTREAM_VER} ]] && \
UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz"
[[ -n ${SECURITY_VER} ]] && \
SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz"
[[ -n ${GENTOO_VER} ]] && \
GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz"
SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/${MY_P}.tar.gz
${UPSTREAM_PATCHSET_URI}
${SECURITY_PATCHSET_URI}
${GENTOO_PATCHSET_URI}"
fi
DESCRIPTION="The Xen virtual machine monitor"
HOMEPAGE="https://www.xenproject.org"
LICENSE="GPL-2"
SLOT="0"
IUSE="debug efi flask"
DEPEND="${PYTHON_DEPS}
efi? ( >=sys-devel/binutils-2.22[multitarget] )
!efi? ( >=sys-devel/binutils-2.22 )"
RDEPEND=""
PDEPEND="~app-emulation/xen-tools-${PV}"
# no tests are available for the hypervisor
# prevent the silliness of /usr/lib/debug/usr/lib/debug files
# prevent stripping of the debug info from the /usr/lib/debug/xen-syms
RESTRICT="test splitdebug strip"
# Approved by QA team in bug #144032
QA_WX_LOAD="boot/xen-syms-${PV}"
REQUIRED_USE="arm? ( debug )"
S="${WORKDIR}/${MY_P}"
pkg_setup() {
python-any-r1_pkg_setup
if [[ -z ${XEN_TARGET_ARCH} ]]; then
if use amd64; then
export XEN_TARGET_ARCH="x86_64"
elif use arm; then
export XEN_TARGET_ARCH="arm32"
elif use arm64; then
export XEN_TARGET_ARCH="arm64"
else
die "Unsupported architecture!"
fi
fi
if use flask ; then
export "XSM_ENABLE=y"
export "FLASK_ENABLE=y"
fi
}
src_prepare() {
# Upstream's patchset
[[ -n ${UPSTREAM_VER} ]] && eapply "${WORKDIR}"/patches-upstream
# Security patchset
if [[ -n ${SECURITY_VER} ]]; then
einfo "Try to apply Xen Security patch set"
# apply main xen patches
# Two parallel systems, both work side by side
# Over time they may concdense into one. This will suffice for now
source "${WORKDIR}"/patches-security/${PV}.conf
local i
for i in ${XEN_SECURITY_MAIN}; do
eapply "${WORKDIR}"/patches-security/xen/$i
done
fi
# Gentoo's patchset
[[ -n ${GENTOO_VER} ]] && eapply "${WORKDIR}"/patches-gentoo
eapply "${FILESDIR}"/${PN}-4.11-efi.patch
# Drop .config
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
if use efi; then
export EFI_VENDOR="gentoo"
export EFI_MOUNTPOINT="/boot"
fi
default
}
src_configure() {
use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i"
use debug && myopt="${myopt} debug=y"
# remove flags
unset CFLAGS
unset LDFLAGS
unset ASFLAGS
tc-ld-disable-gold # Bug 700374
}
src_compile() {
# Send raw LDFLAGS so that --as-needed works
emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt}
}
src_install() {
local myopt
use debug && myopt="${myopt} debug=y"
# The 'make install' doesn't 'mkdir -p' the subdirs
if use efi; then
mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
fi
emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install
# make install likes to throw in some extra EFI bits if it built
use efi || rm -rf "${D}/usr/$(get_libdir)/efi"
}
pkg_postinst() {
elog "Official Xen Guide:"
elog " https://wiki.gentoo.org/wiki/Xen"
use efi && einfo "The efi executable is installed in /boot/efi/gentoo"
elog "You can optionally block the installation of /boot/xen-syms by an entry"
elog "in folder /etc/portage/env using the portage's feature INSTALL_MASK"
elog "e.g. echo ${msg} > /etc/portage/env/xen.conf"
ewarn
ewarn "Xen 4.12+ changed the default scheduler to credit2 which can cause"
ewarn "domU lockups on multi-cpu systems. The legacy credit scheduler seems"
ewarn "to work fine."
ewarn
ewarn "Add sched=credit to xen command line options to use the legacy scheduler."
ewarn
ewarn "https://wiki.gentoo.org/wiki/Xen#Xen_domU_hanging_with_Xen_4.12.2B"
}

Binary file not shown.

@ -9,7 +9,7 @@ SRC_URI="mirror://gentoo/timidity.eselect-${PVR}.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm ~arm64 hppa ppc ppc64 sparc x86"
KEYWORDS="~alpha amd64 arm arm64 hppa ppc ppc64 sparc x86"
RDEPEND=">=app-admin/eselect-1.2.3"
S="${WORKDIR}"

Binary file not shown.

@ -63,7 +63,7 @@ src_install() {
pkg_postinst() {
if [[ -z "${REPLACING_VERSIONS}" ]]; then
# This is a new installation
elog "Create \"${EROOT%/}/var/lib/mysqld_exporter/.my.cnf\" to read MySQL credentials from file."
elog "Create \"${EROOT}/var/lib/mysqld_exporter/.my.cnf\" to read MySQL credentials from file."
else
local _replacing_version=
for _replacing_version in ${REPLACING_VERSIONS}; do

@ -1 +1,2 @@
DIST prom2json-0.1.0_p20170523.tar.gz 129179 BLAKE2B ef0e42e340d53894c31bff7018b668d8575fc3568584a43dc308955665ac6f59dbabf2d4605bc2a66957df57a29ebb7b3a4eef1f99537eefc2805a5ffd86904f SHA512 824f4c43f4a167dc7dde2f11e84cf482e5cdfa26ab11caf08a5461d525543c3491180f54694c4ae61fdd5dc9763ff16f6e29b332a64dc3ac52fdb7b9c0902571
DIST prom2json-1.3.0.tar.gz 1646893 BLAKE2B 9b8fcfa4a3e45ee08a57016fa6a7611604cbb578f162f0bf7ff8338f345f98788b75c3ac047ffca95b62020e972c302bc1c44f2f7f00240cfd978f73b8d9c829 SHA512 8f02c7b2616d915e2b4ff5f195a8c2eff89d18417f7396dc02d2aa4cf34711358b0beef6effae9b42a3d6f4b0616c5d3ab995a73ab9e37a4a0ec230adff6f249

@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<maintainer type="person">
<email>williamh@gentoo.org</email>
<name>William Hubbs</name>
</maintainer>
<upstream>
<remote-id type="github">prometheus/prom2json</remote-id>
</upstream>

@ -0,0 +1,35 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit go-module
GIT_COMMIT=9180c89ee65bde2cbbe799d06d7d09e30f629984
DESCRIPTION="A tool to scrape a Prometheus client and dump the result as JSON"
HOMEPAGE="https://github.com/prometheus/prom2json"
SRC_URI="https://github.com/prometheus/prom2json/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
IUSE=""
KEYWORDS="~amd64"
BDEPEND="dev-util/promu"
src_prepare() {
default
sed -i \
-e "s/{{.Revision}}/${GIT_COMMIT}/" \
-e "s/{{.Version}}/${PV}/" \
.promu.yml || die
}
src_compile() {
mkdir bin || die
promu build --prefix bin || die
}
src_install() {
dobin bin/*
dodoc {README,CONTRIBUTING}.md
}

@ -2,23 +2,21 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit user golang-build golang-vcs-snapshot systemd
inherit go-module user systemd
EGO_PN="github.com/prometheus/pushgateway"
EGIT_COMMIT="v${PV/_rc/-rc.}"
GIT_COMMIT="cc61f46"
ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
DESCRIPTION="Prometheus push acceptor for ephemeral and batch jobs"
HOMEPAGE="https://github.com/prometheus/pushgateway"
SRC_URI="${ARCHIVE_URI}"
SRC_URI="https://github.com/prometheus/pushgateway/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0 BSD BSD-2 MIT"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""
DEPEND=">=dev-lang/go-1.12
>=dev-util/promu-0.3.0"
BDEPEND=">=dev-util/promu-0.3.0"
pkg_setup() {
enewgroup ${PN}
@ -27,22 +25,17 @@ pkg_setup() {
src_prepare() {
default
sed -i -e "s/{{.Revision}}/${GIT_COMMIT}/" src/${EGO_PN}/.promu.yml || die
sed -i -e "s/{{.Revision}}/${GIT_COMMIT}/" .promu.yml || die
}
src_compile() {
export -n GOCACHE XDG_CACHE_HOME #672926
pushd src/${EGO_PN} || die
mkdir -p bin || die
GO111MODULE=on GOPATH="${S}" promu build -v --prefix bin || die
popd || die
promu build -v --prefix bin || die
}
src_install() {
pushd src/${EGO_PN} || die
dobin bin/pushgateway
dobin bin/*
dodoc {README,CHANGELOG,CONTRIBUTING}.md
popd || die
keepdir /var/lib/${PN} /var/log/${PN}
fowners ${PN}:${PN} /var/lib/${PN} /var/log/${PN}
newinitd "${FILESDIR}"/${PN}-1.initd ${PN}

Binary file not shown.

@ -4,6 +4,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
DISTUTILS_USE_SETUPTOOLS="rdepend"
inherit distutils-r1
DESCRIPTION="Command line recorder for asciinema.org service"
@ -17,7 +18,6 @@ IUSE="test"
RESTRICT="!test? ( test )"
BDEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
test? ( dev-python/nose[${PYTHON_USEDEP}] )
"

@ -1 +1,2 @@
DIST physlock-11.tar.gz 13791 BLAKE2B 73ba9ad238a4566156144a7107018689996691d1a24bab44e9575067efe072cfb6181b409a81ebcad03d42a48ea94fe32fc738f2d730cb1fd0137b2455a5a74b SHA512 d3badf5c99e4e3e16f4e7ec5c59ee8320c845f1b180463900d816206362ce1aa8652f2489453ad5e190cceee2ed61a90acc52e25bb6b4c4a9dc8c4ebd3054938
DIST physlock-13.tar.gz 14123 BLAKE2B a43f151c1660c38bd028f80742637a51d5108e6769161c88fb269ac03c827e49bd20e521b8face6aa6a71a8ab65ddf8662e81e8251b74c13388070ed04d4e13b SHA512 85c291fb7b146fbd81aacbf94d8af07e727dd9b37b458988eaee5f7a51f9923871f9b19fd9438428635963864de67d3f2a72f938d99ffe6dc3015c3a1b99ea1c

@ -1,7 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<maintainer type="person">
<email>toshokan@shojigate.net</email>
<name>J. Pz</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<longdescription lang="en">
Control physical access to a linux computer by locking all of its virtual
terminals / consoles.

@ -0,0 +1,41 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs
DESCRIPTION="Lightweight Linux console locking tool"
HOMEPAGE="https://github.com/muennich/physlock"
SRC_URI="https://github.com/muennich/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
IUSE="elogind systemd"
REQUIRED_USE="?? ( elogind systemd )"
RDEPEND="sys-libs/pam"
DEPEND="${RDEPEND}
elogind? ( sys-auth/elogind )
systemd? ( sys-apps/systemd )
"
pkg_setup() {
export MY_CONF="HAVE_SYSTEMD=$(usev systemd) HAVE_ELOGIND=$(usev elogind)"
}
src_prepare() {
default
tc-export CC
}
src_compile() {
emake ${MY_CONF}
}
src_install() {
emake ${MY_CONF} DESTDIR="${D}" PREFIX=/usr install
dosym login /etc/pam.d/${PN}
}

Binary file not shown.

@ -1 +1 @@
DIST gtg-0.4.0_pre20200613.tar.gz 4827071 BLAKE2B 80515f064b4a034066a86c1b63dcb4e2510e49493b067991b7135a3914b1d75ebfc7f18132d6db81e55fdec34a0225c3147b55dc1e0c891540b2b895f3768f2d SHA512 8d4c9460693f7a913c224bd22aacec5b7db67faa5e74e8575fe99d2e792e8f95f6480e1d0ecc3ac77b0533403b8baa41ece315bd14782fb3c783315aa3d7a5fb
DIST gtg-0.4.0.tar.xz 3744752 BLAKE2B fdeabe32135dea24ac6113a486650b66b5143aa745117029b03e26e1bb3f2e8629623b26efdae0c8217741a2b4964b5dc060f0e450c05c950e21ea360f3f3823 SHA512 f2677f6bbc0b6cb21b7882a2bd0342b4919581c12e4aa43c13b5dbc48740418c512a41619584d0d75bfa63ebc4a5460abfbc27360e1817c8832cbecf3c34a60e

@ -1,43 +0,0 @@
From f8f4cbf0beda0e82388748c916c6152996b12a8e Mon Sep 17 00:00:00 2001
From: Mart Raudsepp <leio@gentoo.org>
Date: Sat, 20 Jun 2020 01:06:04 +0300
Subject: [PATCH] Fix opening of the help files
webbrowser python module just opens things in the browser for me, which
doesn't understand what a "help:gtg" is and routes it back to external
program dialog if lucky.
Use Gtk.show_uri instead, which will properly open it in help handler (yelp).
I believe we should be using Gtk.show_uri instead of webbrowser in other
places as well, but that's something for a different release.
---
GTG/gtk/application.py | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/GTG/gtk/application.py b/GTG/gtk/application.py
index 39a8a5b3..e8091973 100644
--- a/GTG/gtk/application.py
+++ b/GTG/gtk/application.py
@@ -28,7 +28,6 @@ from GTG.gtk.browser.main_window import MainWindow
from GTG.gtk.editor.editor import TaskEditor
from GTG.gtk.preferences import Preferences
from GTG.gtk.plugins import PluginsDialog
-from webbrowser import open as openurl
from GTG.core import clipboard
from GTG.core.plugins.engine import PluginEngine
from GTG.core.plugins.api import PluginAPI
@@ -251,7 +250,10 @@ class Application(Gtk.Application):
def open_help(self, action, param):
"""Open help callback."""
- openurl("help:gtg")
+ try:
+ Gtk.show_uri(None, "help:gtg", Gdk.CURRENT_TIME)
+ except GLib.Error:
+ log.error('Could not open help')
def open_backends_manager(self, action, param):
"""Callback to open the backends manager dialog."""
--
2.20.1

@ -0,0 +1,57 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
PYTHON_COMPAT=( python3_{7..8} )
PYTHON_REQ_USE="xml(+)"
inherit meson python-single-r1 xdg
DESCRIPTION="Personal organizer for the GNOME desktop environment"
HOMEPAGE="https://wiki.gnome.org/Apps/GTG/"
SRC_URI="https://github.com/getting-things-gnome/gtg/releases/download/v0.4/${P}.tar.xz"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="!test? ( test )"
RDEPEND="
${PYTHON_DEPS}
$(python_gen_cond_dep '
dev-python/dbus-python[${PYTHON_USEDEP}]
dev-python/pygobject:3[${PYTHON_USEDEP}]
>=dev-python/liblarch-3.0[${PYTHON_USEDEP}]
dev-python/pyxdg[${PYTHON_USEDEP}]
dev-python/pycairo[${PYTHON_USEDEP}]
')
x11-libs/pango[introspection]
x11-libs/gdk-pixbuf[introspection]
x11-libs/gtk+:3[introspection]
"
DEPEND="${RDEPEND}"
BDEPEND="
dev-util/itstool
>=sys-devel/gettext-0.19.8
test? ( $(python_gen_cond_dep '
dev-python/nose[${PYTHON_USEDEP}]
dev-python/cheetah3[${PYTHON_USEDEP}]
dev-python/mock[${PYTHON_USEDEP}]
')
app-text/pdfjam
app-text/pdftk
dev-texlive/texlive-latex
)
"
src_install() {
meson_src_install
python_fix_shebang "${ED}"/usr/bin/gtg
python_optimize
}
src_test() {
nosetests -v || die
}

@ -1,62 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
PYTHON_COMPAT=( python3_{7..8} )
PYTHON_REQ_USE="xml(+)"
inherit meson python-single-r1 xdg
DESCRIPTION="Personal organizer for the GNOME desktop environment"
HOMEPAGE="https://wiki.gnome.org/Apps/GTG/"
COMMIT="abe2a9110dd0fc6a46f2d095013972877ea67d78"
SRC_URI="https://github.com/getting-things-gnome/gtg/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/gtg-${COMMIT}"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="gnome-keyring test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="!test? ( test )"
RDEPEND="
${PYTHON_DEPS}
$(python_gen_cond_dep '
dev-python/dbus-python[${PYTHON_USEDEP}]
dev-python/pygobject:3[${PYTHON_USEDEP}]
>=dev-python/liblarch-3.0[${PYTHON_USEDEP}]
dev-python/pyxdg[${PYTHON_USEDEP}]
dev-python/pycairo[${PYTHON_USEDEP}]
')
x11-libs/pango[introspection]
x11-libs/gdk-pixbuf[introspection]
x11-libs/gtk+:3[introspection]
gnome-keyring? ( gnome-base/libgnome-keyring[introspection] )
"
DEPEND="${RDEPEND}"
BDEPEND="
dev-util/itstool
>=sys-devel/gettext-0.19.8
test? ( $(python_gen_cond_dep '
dev-python/nose[${PYTHON_USEDEP}]
dev-python/cheetah3[${PYTHON_USEDEP}]
dev-python/mock[${PYTHON_USEDEP}]
')
app-text/pdfjam
app-text/pdftk
dev-texlive/texlive-latex
)
"
PATCHES=( "${FILESDIR}"/fix-help-open.patch )
src_install() {
meson_src_install
python_fix_shebang "${ED}"/usr/bin/gtg
python_optimize
}
src_test() {
nosetests -v || die
}

Binary file not shown.

@ -14,7 +14,7 @@ SRC_URI="https://github.com/mgorny/nattka/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc x86"
IUSE="depgraph-order"
RDEPEND="

Binary file not shown.

@ -1 +1 @@
DIST ctypes-sh-1.1.tar.gz 437637 BLAKE2B d4279812d613a771ed405499dc623fce5faa00c22e75067857cea0a31e4a36a1531f7b27a1edff89075961bf5e8183bf0787a703cb36c1a8cbd7c03d8a18710f SHA512 0e136f5b9fc342875d02b1087daed60eed46f411765538f185d1da61430205113db72994ecdb125aded3eae114b3f487e7af398c1326334efdd197ee7de18a61
DIST ctypes-sh-1.2.tar.gz 475531 BLAKE2B 6fe00415244227629b952a0c18f9c95659a3fb22b9f17e109554f11084d27bf4c23eca5bfc49679b63367fa9fe74a20f206ac79955ed6588418033f37b776729 SHA512 23e9c30acc8ed5b4fe93fe1427c406e7c7b18067bbfc3f948126683910efc645cc69e426d771beb715148b54dffce75351b7773d8b54ac13f74d9787db8529f6

@ -1,39 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit autotools toolchain-funcs
DESCRIPTION="Foreign function interface for bash"
HOMEPAGE="http://ctypes.sh/"
SRC_URI="https://github.com/taviso/${PN/-/.}/releases/download/v${PV}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="virtual/libffi
virtual/libelf
app-arch/xz-utils
app-arch/bzip2
app-shells/bash[plugins]"
DEPEND="${RDEPEND}
virtual/pkgconfig"
PATCHES=(
"${FILESDIR}/${P}-makefile-fix.patch"
)
src_prepare() {
default
eautoreconf
}
src_test() {
pushd test
PATH="${S}:${PATH}" \
LD_LIBRARY_PATH="${S}/src/.libs" \
make CC="$(tc-getCC)" || die "make check failed"
popd
}

@ -0,0 +1,38 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools toolchain-funcs
DESCRIPTION="Foreign function interface for bash"
HOMEPAGE="http://ctypes.sh/"
SRC_URI="https://github.com/taviso/${PN/-/.}/releases/download/v${PV}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="
app-arch/bzip2
app-arch/xz-utils
app-shells/bash[plugins(-)]
dev-libs/libffi
virtual/libelf
"
BDEPEND="${RDEPEND}
virtual/pkgconfig
"
src_prepare() {
default
eautoreconf
}
src_test() {
pushd test >/dev/null || die
PATH="${S}:${PATH}" \
LD_LIBRARY_PATH="${S}/src/.libs" \
make CC="$(tc-getCC)" || die "make check failed"
popd > /dev/null || die
}

@ -1,18 +0,0 @@
commit 5e305160cc219fa63658148e3d258cb62dd043a3
Author: rtlanceroad <rtlanceroad@gmail.com>
Date: Wed Jul 27 14:49:21 2016 +0800
fix Makefile.am in src dir
diff --git a/src/Makefile.am b/src/Makefile.am
index 8a9b682..71347bb 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -11,6 +11,6 @@ ctypes_la_LIBADD += libstruct.la
noinst_LTLIBRARIES += libstruct.la
noinst_HEADERS += struct/dutil.h struct/dwarves.h struct/elf_symtab.h struct/gobuffer.h struct/hash.h struct/list.h struct/rbtree.h struct/strings.h
libstruct_la_SOURCES = struct/dutil.c struct/dwarves.c struct/gobuffer.c struct/struct.c struct/strings.c struct/dwarf_loader.c struct/dwarves_fprintf.c struct/elf_symtab.c struct/rbtree.c
-libstruct_la_CFLAGS = -std=gnu99 -D_GNU_SOURCE
+libstruct_la_CFLAGS = -std=gnu99 -D_GNU_SOURCE $(FFI_CFLAGS)
libstruct_la_CPPFLAGS = -I../include -I../lib
endif

@ -1,2 +1,3 @@
DIST dash-0.5.10.2.tar.gz 225196 BLAKE2B af48879d29aee8041949b51f08eb89c3938e77b2e05553a3e1a9939da7b00fd80f7b9fb35f33e18b0c11850bfb1b8377e9dc9bcfd80754fd29c9d160e0ce5a4d SHA512 0ae29be77794df0ba254967649b9728611a75fbb3acd32ab6634d76399d1ce97c7d12d31da465482a7e4f3207093415c496c39525cace9b78ab3cb9444dd7640
DIST dash-0.5.11.1.tar.gz 244439 BLAKE2B 88f877954aca739621133fadd32cf8bf1ca5d334ef212da622501b1235caee3a91e9b8b481c7a45f3fb6d6eee1036c2e0f1fd387638c910eff90e8e0a1eaa419 SHA512 6403ac793c87c9101bd5f3b2df74200ce1a992d0c432aa79375d4479b87c83279f303239af5080728c8a64ef4520e39fe8f0f1e037a0a38ffce1e4dd057d9c72
DIST dash-0.5.11.tar.gz 238776 BLAKE2B 0d399b35c10a33f6a22f51f7b74b9e092fb11d47ae45948f43fab0dd1416061145e7f930f0f0d1119d02cc45790ba19ce040c951322c131e706e5f3f32f2612b SHA512 41c3afa8aa4788f7899b9a4c1bce2dc8629f4405184cdc7269993e72c695cf9537c9e68b654d56f06c604a82ffa73c9160b91368e82a3593a12ff7dea10505d1

@ -0,0 +1,52 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit flag-o-matic toolchain-funcs
DESCRIPTION="Debian Almquist Shell"
HOMEPAGE="http://gondor.apana.org.au/~herbert/dash/"
SRC_URI="http://gondor.apana.org.au/~herbert/dash/files/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="libedit static"
BDEPEND="virtual/pkgconfig"
RDEPEND="!static? ( libedit? ( dev-libs/libedit ) )"
DEPEND="${RDEPEND}
libedit? ( static? ( dev-libs/libedit[static-libs] ) )"
src_prepare() {
default
# Fix the invalid sort
sed -i -e 's/LC_COLLATE=C/LC_ALL=C/g' src/mkbuiltins
# Use pkg-config for libedit linkage
sed -i \
-e "/LIBS/s:-ledit:\`$(tc-getPKG_CONFIG) --libs libedit $(usex static --static '')\`:" \
configure || die
}
src_configure() {
# don't redefine stat on Solaris
if [[ ${CHOST} == *-solaris* ]] ; then
export ac_cv_func_stat64=yes
# if your headers strictly adhere to POSIX, you'll need this too
[[ ${CHOST##*solaris2.} -le 10 ]] && append-cppflags -DNAME_MAX=255
fi
append-cppflags -DJOBS=$(usex libedit 1 0)
use static && append-ldflags -static
# Do not pass --enable-glob due to #443552.
local myeconfargs=(
CC_FOR_BUILD="$(tc-getBUILD_CC)"
--bindir="${EPREFIX}"/bin
--enable-fnmatch
$(use_with libedit)
)
econf "${myeconfargs[@]}"
}

Binary file not shown.

@ -3,4 +3,5 @@ DIST calibre-4.17.0.tar.xz 37027156 BLAKE2B e1e9fbbb93cc14af0790e400d79b433c774f
DIST calibre-4.18.0.tar.xz 37135328 BLAKE2B 247fc226fade064306309933be008e7636bacfdcfb1c96ae900fce5cc4474e26853b3a9dd932fd758543e31af95374f089d2e7a15c3d9ca7655eabd077727e2c SHA512 cc75e8b78722eb286af57f1d6b1ed783647f69471d903a3d4dd458b3f6966804e8e4fda7bd1947e9107ce9a280486ea7de101f7b843f8365bfe6e874d9ebf3d3
DIST calibre-4.19.0.tar.xz 37172532 BLAKE2B 1cf3a4727ac7a2e7fe4d926acad7e6324b0673728db862209d98280f4fe9457eb33d734e47ac4882accebad2a6ffd12aa0add6bdcfe64cc4baa8a39dc2b4b94f SHA512 47b767b3f23f01fa1931abd470eb69f5493f5b0e6cd5c0e566b5576d1d831137c28555de3f73ad2a2dd0dd03615171a4c62356278a590ad48b77a6ca1cac890b
DIST calibre-4.20.0.tar.xz 36997620 BLAKE2B 28ee9539eda96809004f4c276c8dceba119122379867f4b9235ad52a3ec68337330c4cbc2e715462f27ea0c3a0c8470609a50273db49a69f69a60e7fbcef11a5 SHA512 97e33c0a4a53c0b799ed76fde6327570d3e6356a812836d204ce0e6f5273715e274fdf2e987a0446b61ce6aceb4ce5cfda9c0cb8a2f2871efd83b76acbc43820
DIST calibre-4.9.1-bug-731786.patch 1069 BLAKE2B 8b57fb89c9ec2d3a435fbc90f514d45468ceb96b46428efd5d2084cc9bb6137b49dd90dc2f7e574b6d8b8d536728392863046b068c39c8f9bcc3ae23678ac590 SHA512 acd158923bb369270155b3032b033a8387bcb53d1b0ea3e2c0724a40ec0cff6add5fca85649caaf37db0a0878fc3dafacc98b2b641cf10a8d58dc719642c6be5
DIST calibre-4.9.1.tar.xz 37529656 BLAKE2B 5d703ca0c398b43cc26a54e0628d0fe938c6a5027a4fd0c9cac83944e5143eb08439bf79b2098182be7727eaa042748f17866788b02c7744178dce131f6b1d1e SHA512 bf06aa3cbc8d255934f3f7f3ce20b4798edf107ed9f822943d2b4ae7d95473842928ed79f8ba7571f7e0ebdc267c441916d543d5b7630aae5cb151bcc3184b71

@ -1,276 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
PYTHON_REQ_USE="sqlite,ssl"
inherit bash-completion-r1 desktop toolchain-funcs python-single-r1 xdg-utils
DESCRIPTION="Ebook management application"
HOMEPAGE="https://calibre-ebook.com/"
SRC_URI="https://download.calibre-ebook.com/${PV}/${P}.tar.xz
https://github.com/kovidgoyal/calibre/commit/db7007a25faefb0cc90e64dda1c0793393b9512d.patch -> calibre-4.17.0-qt-5.15-fontconfig-bug-725020.patch"
LICENSE="
GPL-3+
GPL-3
GPL-2+
GPL-2
GPL-1+
LGPL-3+
LGPL-2.1+
LGPL-2.1
BSD
MIT
Old-MIT
Apache-2.0
public-domain
|| ( Artistic GPL-1+ )
CC-BY-3.0
OFL-1.1
PSF-2
"
KEYWORDS="amd64 ~arm x86"
SLOT="0"
IUSE="ios +udisks"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
COMMON_DEPEND="${PYTHON_DEPS}
>=app-text/hunspell-1.7:=
>=app-text/podofo-0.9.6_pre20171027:=
>=app-text/poppler-0.26.5[qt5]
>=dev-libs/chmlib-0.40:=
dev-libs/glib:2=
dev-libs/hyphen:=
>=dev-libs/icu-57.1:=
dev-libs/libinput:=
>=dev-libs/dbus-glib-0.106
>=sys-apps/dbus-1.10.8
$(python_gen_cond_dep '
>=dev-python/apsw-3.25.2_p1[${PYTHON_MULTI_USEDEP}]
dev-python/beautifulsoup:4[${PYTHON_MULTI_USEDEP}]
>=dev-python/chardet-3.0.3[${PYTHON_MULTI_USEDEP}]
>=dev-python/cssselect-0.7.1[${PYTHON_MULTI_USEDEP}]
>=dev-python/css-parser-1.0.4[${PYTHON_MULTI_USEDEP}]
>=dev-python/dbus-python-1.2.4[${PYTHON_MULTI_USEDEP}]
dev-python/dnspython[${PYTHON_MULTI_USEDEP}]
>=dev-python/feedparser-5.2.1[${PYTHON_MULTI_USEDEP}]
>=dev-python/html2text-2019.8.11[${PYTHON_MULTI_USEDEP}]
>=dev-python/html5-parser-0.4.9[${PYTHON_MULTI_USEDEP}]
>=dev-python/lxml-3.8.0[${PYTHON_MULTI_USEDEP}]
>=dev-python/markdown-3.0.1[${PYTHON_MULTI_USEDEP}]
>=dev-python/mechanize-0.3.5[${PYTHON_MULTI_USEDEP}]
>=dev-python/msgpack-0.5.6[${PYTHON_MULTI_USEDEP}]
>=dev-python/netifaces-0.10.5[${PYTHON_MULTI_USEDEP}]
>=dev-python/pillow-3.2.0[${PYTHON_MULTI_USEDEP}]
>=dev-python/psutil-4.3.0[${PYTHON_MULTI_USEDEP}]
>=dev-python/pygments-2.3.1[${PYTHON_MULTI_USEDEP}]
>=dev-python/python-dateutil-2.5.3[${PYTHON_MULTI_USEDEP}]
>=dev-python/PyQt5-5.12[gui,svg,widgets,network,printsupport,${PYTHON_MULTI_USEDEP}]
>=dev-python/PyQtWebEngine-5.12[${PYTHON_MULTI_USEDEP}]
dev-python/regex[${PYTHON_MULTI_USEDEP}]
')
dev-qt/qtcore:5=
dev-qt/qtdbus:5=
dev-qt/qtgui:5=
>=dev-qt/qtwebengine-5.12
dev-qt/qtwidgets:5=
dev-util/desktop-file-utils
dev-util/gtk-update-icon-cache
media-fonts/liberation-fonts
media-libs/fontconfig:=
>=media-libs/freetype-2:=
>=media-libs/libmtp-1.1.11:=
>=media-libs/libwmf-0.2.8
>=media-gfx/optipng-0.7.6
>=sys-libs/zlib-1.2.11:=
virtual/libusb:1=
x11-libs/libxkbcommon:=
x11-libs/libX11:=
x11-libs/libXext:=
x11-libs/libXrender:=
x11-misc/shared-mime-info
>=x11-misc/xdg-utils-1.0.2-r2
ios? (
>=app-pda/usbmuxd-1.0.8
>=app-pda/libimobiledevice-1.2.0
)
udisks? ( virtual/libudev )"
RDEPEND="${COMMON_DEPEND}
udisks? ( sys-fs/udisks:2 )"
DEPEND="${COMMON_DEPEND}
$(python_gen_cond_dep '
>=dev-python/setuptools-23.1.0[${PYTHON_MULTI_USEDEP}]
dev-python/sip[${PYTHON_MULTI_USEDEP}]
')
>=virtual/podofo-build-0.9.6_pre20171027
virtual/pkgconfig"
pkg_pretend() {
if [[ ${MERGE_TYPE} != binary ]] && tc-is-gcc && [[ $(gcc-major-version) -lt 6 ]]; then
eerror "Calibre cannot be built with this version of gcc."
eerror "You need at least gcc-6.0"
die "Your C compiler is too old for this package."
fi
}
src_prepare() {
# no_updates: do not annoy user with "new version is availible all the time
# disable_plugins: walking sec-hole, wait for upstream to use GHNS interface
eapply \
"${FILESDIR}/${PN}-2.9.0-no_updates_dialog.patch" \
"${FILESDIR}/${PN}-disable_plugins.patch" \
"${FILESDIR}/${PN}-4.9.1-py3-Ignore-TypeError-sorting-collections-kobo.patch" \
"${DISTDIR}/calibre-4.17.0-qt-5.15-fontconfig-bug-725020.patch"
eapply_user
# Fix outdated version constant.
#sed -e "s#\\(^numeric_version =\\).*#\\1 (${PV//./, })#" \
# -i src/calibre/constants.py || \
# die "sed failed to patch constants.py"
# Avoid sandbox violation in /usr/share/gnome/apps when linux.py
# calls xdg-* (bug #258938).
sed -e "s|'xdg-desktop-menu', 'install'|\\0, '--mode', 'user'|" \
-e "s|check_call(\\['xdg-desktop-menu', 'forceupdate'\\])|#\\0|" \
-e "s|\\(CurrentDir(tdir)\\), \\\\\$|\\1:|" \
-e "s|, PreserveMIMEDefaults():|:|" \
-e "s|'xdg-icon-resource', 'install'|\\0, '--mode', 'user'|" \
-e "s|cmd\[2\]|cmd[4]|" \
-e "s|cc(\\['xdg-desktop-menu', 'forceupdate'\\])|#\\0|" \
-e "s|'xdg-mime', 'install'|\\0, '--mode', 'user'|" \
-i src/calibre/linux.py || die "sed failed to patch linux.py"
# Disable unnecessary privilege dropping for bug #287067.
sed -e "s:if os.geteuid() == 0:if False and os.geteuid() == 0:" \
-i setup/install.py || die "sed failed to patch install.py"
sed -e "/^ self.check_call(\\[QMAKE\\] + qmc + \\[proname\\])$/a\
\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ self.check_call(['sed', \
'-e', 's|^CFLAGS .*|\\\\\\\\0 ${CFLAGS}|', \
'-e', 's|^CXXFLAGS .*|\\\\\\\\0 ${CXXFLAGS}|', \
'-e', 's|^LFLAGS .*|\\\\\\\\0 ${LDFLAGS}|', \
'-i', 'Makefile'])" \
-i setup/build.py || die "sed failed to patch build.py"
}
src_install() {
# calibre works with python 3, so remove the python 2 constraint
export CALIBRE_PY3_PORT=1
# Bypass kbuildsycoca and update-mime-database in order to
# avoid sandbox violations if xdg-mime tries to call them.
cat - > "${T}/kbuildsycoca" <<-EOF
#!${BASH}
echo $0 : $@
exit 0
EOF
cp "${T}"/{kbuildsycoca,update-mime-database} || die
chmod +x "${T}"/{kbuildsycoca,update-mime-database} || die
export QMAKE="${EPREFIX}/usr/$(get_libdir)/qt5/bin/qmake"
# Unset DISPLAY in order to prevent xdg-mime from triggering a sandbox
# violation with kbuildsycoca as in bug #287067, comment #13.
export -n DISPLAY
# Bug #352625 - Some LANGUAGE values can trigger the following ValueError:
# File "/usr/lib/python2.6/locale.py", line 486, in getdefaultlocale
# return _parse_localename(localename)
# File "/usr/lib/python2.6/locale.py", line 418, in _parse_localename
# raise ValueError, 'unknown locale: %s' % localename
#ValueError: unknown locale: 46
export -n LANG LANGUAGE ${!LC_*}
export LC_ALL=C.utf8 #709682
# Bug #295672 - Avoid sandbox violation in ~/.config by forcing
# variables to point to our fake temporary $HOME.
export HOME="${T}/fake_homedir"
export XDG_CONFIG_HOME="${HOME}/.config"
export XDG_DATA_HOME="${HOME}/.local/share"
export CALIBRE_CONFIG_DIRECTORY="${XDG_CONFIG_HOME}/calibre"
mkdir -p "${XDG_DATA_HOME}" "${CALIBRE_CONFIG_DIRECTORY}" || die
tc-export CC CXX
# Bug #334243 - respect LDFLAGS when building extensions
export OVERRIDE_CFLAGS="$CFLAGS" OVERRIDE_LDFLAGS="$LDFLAGS"
local libdir=$(get_libdir)
[[ -n $libdir ]] || die "get_libdir returned an empty string"
addpredict /dev/dri #665310
PATH=${T}:${PATH} PYTHONPATH=${S}/src${PYTHONPATH:+:}${PYTHONPATH} \
"${PYTHON}" setup.py install \
--root="${D}" \
--prefix="${EPREFIX}/usr" \
--libdir="${EPREFIX}/usr/${libdir}" \
--staging-root="${ED}/usr" \
--staging-libdir="${ED}/usr/${libdir}" || die
rm "${ED}/usr/share/applications/defaults.list" || die
find "${ED}"/usr/share -type d -empty -delete
cd "${ED}"/usr/share/calibre/fonts/liberation || die
local x
for x in * ; do
[[ -f ${EPREFIX}/usr/share/fonts/liberation-fonts/${x} ]] || continue
ln -sf "../../../fonts/liberation-fonts/${x}" "${x}" || die
done
einfo "Converting python shebangs"
python_fix_shebang --force "${ED}"
einfo "Compiling python modules"
python_optimize "${ED}"/usr/lib/calibre
newinitd "${FILESDIR}"/calibre-server-3.init calibre-server
newconfd "${FILESDIR}"/calibre-server-3.conf calibre-server
bashcomp_alias calibre \
lrfviewer \
calibre-debug \
ebook-meta \
calibre-server \
ebook-viewer \
ebook-polish \
fetch-ebook-metadata \
lrf2lrs \
ebook-convert \
ebook-edit \
calibre-smtp \
ebook-device
}
pkg_preinst() {
# Indentify stray directories from upstream's "Binary install"
# method (see bug 622728).
CALIBRE_LIB_DIR=/usr/$(get_libdir)/calibre
CALIBRE_LIB_CONTENT=$(for x in "${ED}${CALIBRE_LIB_DIR}"/*; do
printf -- "${x##*/} "; done) || die "Failed to list ${ED}${CALIBRE_LIB_DIR}"
}
pkg_postinst() {
[[ -n ${CALIBRE_LIB_DIR} ]] || die "CALIBRE_LIB_DIR is unset"
local x
for x in "${EROOT}${CALIBRE_LIB_DIR}"/*; do
if [[ " ${CALIBRE_LIB_CONTENT} " != *" ${x##*/} "* ]]; then
elog "Purging '${x}'"
rm -rf "${x}"
fi
done
xdg_desktop_database_update
xdg_mimeinfo_database_update
xdg_icon_cache_update
}
pkg_postrm() {
xdg_desktop_database_update
xdg_mimeinfo_database_update
xdg_icon_cache_update
}

@ -0,0 +1,278 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
PYTHON_REQ_USE="sqlite,ssl"
inherit bash-completion-r1 desktop toolchain-funcs python-single-r1 xdg-utils
DESCRIPTION="Ebook management application"
HOMEPAGE="https://calibre-ebook.com/"
SRC_URI="https://download.calibre-ebook.com/${PV}/${P}.tar.xz
https://github.com/kovidgoyal/calibre/commit/db7007a25faefb0cc90e64dda1c0793393b9512d.patch -> calibre-4.17.0-qt-5.15-fontconfig-bug-725020.patch
https://github.com/kovidgoyal/calibre/commit/7b6416ac6522fc40f24f6baf3ca552b17a8b91d6.patch -> calibre-4.9.1-bug-731786.patch"
LICENSE="
GPL-3+
GPL-3
GPL-2+
GPL-2
GPL-1+
LGPL-3+
LGPL-2.1+
LGPL-2.1
BSD
MIT
Old-MIT
Apache-2.0
public-domain
|| ( Artistic GPL-1+ )
CC-BY-3.0
OFL-1.1
PSF-2
"
KEYWORDS="amd64 ~arm x86"
SLOT="0"
IUSE="ios +udisks"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
COMMON_DEPEND="${PYTHON_DEPS}
>=app-text/hunspell-1.7:=
>=app-text/podofo-0.9.6_pre20171027:=
>=app-text/poppler-0.26.5[qt5]
>=dev-libs/chmlib-0.40:=
dev-libs/glib:2=
dev-libs/hyphen:=
>=dev-libs/icu-57.1:=
dev-libs/libinput:=
>=dev-libs/dbus-glib-0.106
>=sys-apps/dbus-1.10.8
$(python_gen_cond_dep '
>=dev-python/apsw-3.25.2_p1[${PYTHON_MULTI_USEDEP}]
dev-python/beautifulsoup:4[${PYTHON_MULTI_USEDEP}]
>=dev-python/chardet-3.0.3[${PYTHON_MULTI_USEDEP}]
>=dev-python/cssselect-0.7.1[${PYTHON_MULTI_USEDEP}]
>=dev-python/css-parser-1.0.4[${PYTHON_MULTI_USEDEP}]
>=dev-python/dbus-python-1.2.4[${PYTHON_MULTI_USEDEP}]
dev-python/dnspython[${PYTHON_MULTI_USEDEP}]
>=dev-python/feedparser-5.2.1[${PYTHON_MULTI_USEDEP}]
>=dev-python/html2text-2019.8.11[${PYTHON_MULTI_USEDEP}]
>=dev-python/html5-parser-0.4.9[${PYTHON_MULTI_USEDEP}]
>=dev-python/lxml-3.8.0[${PYTHON_MULTI_USEDEP}]
>=dev-python/markdown-3.0.1[${PYTHON_MULTI_USEDEP}]
>=dev-python/mechanize-0.3.5[${PYTHON_MULTI_USEDEP}]
>=dev-python/msgpack-0.5.6[${PYTHON_MULTI_USEDEP}]
>=dev-python/netifaces-0.10.5[${PYTHON_MULTI_USEDEP}]
>=dev-python/pillow-3.2.0[${PYTHON_MULTI_USEDEP}]
>=dev-python/psutil-4.3.0[${PYTHON_MULTI_USEDEP}]
>=dev-python/pygments-2.3.1[${PYTHON_MULTI_USEDEP}]
>=dev-python/python-dateutil-2.5.3[${PYTHON_MULTI_USEDEP}]
>=dev-python/PyQt5-5.12[gui,svg,widgets,network,printsupport,${PYTHON_MULTI_USEDEP}]
>=dev-python/PyQtWebEngine-5.12[${PYTHON_MULTI_USEDEP}]
dev-python/regex[${PYTHON_MULTI_USEDEP}]
')
dev-qt/qtcore:5=
dev-qt/qtdbus:5=
dev-qt/qtgui:5=
>=dev-qt/qtwebengine-5.12
dev-qt/qtwidgets:5=
dev-util/desktop-file-utils
dev-util/gtk-update-icon-cache
media-fonts/liberation-fonts
media-libs/fontconfig:=
>=media-libs/freetype-2:=
>=media-libs/libmtp-1.1.11:=
>=media-libs/libwmf-0.2.8
>=media-gfx/optipng-0.7.6
>=sys-libs/zlib-1.2.11:=
virtual/libusb:1=
x11-libs/libxkbcommon:=
x11-libs/libX11:=
x11-libs/libXext:=
x11-libs/libXrender:=
x11-misc/shared-mime-info
>=x11-misc/xdg-utils-1.0.2-r2
ios? (
>=app-pda/usbmuxd-1.0.8
>=app-pda/libimobiledevice-1.2.0
)
udisks? ( virtual/libudev )"
RDEPEND="${COMMON_DEPEND}
udisks? ( sys-fs/udisks:2 )"
DEPEND="${COMMON_DEPEND}
$(python_gen_cond_dep '
>=dev-python/setuptools-23.1.0[${PYTHON_MULTI_USEDEP}]
dev-python/sip[${PYTHON_MULTI_USEDEP}]
')
>=virtual/podofo-build-0.9.6_pre20171027
virtual/pkgconfig"
pkg_pretend() {
if [[ ${MERGE_TYPE} != binary ]] && tc-is-gcc && [[ $(gcc-major-version) -lt 6 ]]; then
eerror "Calibre cannot be built with this version of gcc."
eerror "You need at least gcc-6.0"
die "Your C compiler is too old for this package."
fi
}
src_prepare() {
# no_updates: do not annoy user with "new version is availible all the time
# disable_plugins: walking sec-hole, wait for upstream to use GHNS interface
eapply \
"${FILESDIR}/${PN}-2.9.0-no_updates_dialog.patch" \
"${FILESDIR}/${PN}-disable_plugins.patch" \
"${FILESDIR}/${PN}-4.9.1-py3-Ignore-TypeError-sorting-collections-kobo.patch" \
"${DISTDIR}/calibre-4.17.0-qt-5.15-fontconfig-bug-725020.patch" \
"${DISTDIR}/calibre-4.9.1-bug-731786.patch"
eapply_user
# Fix outdated version constant.
#sed -e "s#\\(^numeric_version =\\).*#\\1 (${PV//./, })#" \
# -i src/calibre/constants.py || \
# die "sed failed to patch constants.py"
# Avoid sandbox violation in /usr/share/gnome/apps when linux.py
# calls xdg-* (bug #258938).
sed -e "s|'xdg-desktop-menu', 'install'|\\0, '--mode', 'user'|" \
-e "s|check_call(\\['xdg-desktop-menu', 'forceupdate'\\])|#\\0|" \
-e "s|\\(CurrentDir(tdir)\\), \\\\\$|\\1:|" \
-e "s|, PreserveMIMEDefaults():|:|" \
-e "s|'xdg-icon-resource', 'install'|\\0, '--mode', 'user'|" \
-e "s|cmd\[2\]|cmd[4]|" \
-e "s|cc(\\['xdg-desktop-menu', 'forceupdate'\\])|#\\0|" \
-e "s|'xdg-mime', 'install'|\\0, '--mode', 'user'|" \
-i src/calibre/linux.py || die "sed failed to patch linux.py"
# Disable unnecessary privilege dropping for bug #287067.
sed -e "s:if os.geteuid() == 0:if False and os.geteuid() == 0:" \
-i setup/install.py || die "sed failed to patch install.py"
sed -e "/^ self.check_call(\\[QMAKE\\] + qmc + \\[proname\\])$/a\
\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ self.check_call(['sed', \
'-e', 's|^CFLAGS .*|\\\\\\\\0 ${CFLAGS}|', \
'-e', 's|^CXXFLAGS .*|\\\\\\\\0 ${CXXFLAGS}|', \
'-e', 's|^LFLAGS .*|\\\\\\\\0 ${LDFLAGS}|', \
'-i', 'Makefile'])" \
-i setup/build.py || die "sed failed to patch build.py"
}
src_install() {
# calibre works with python 3, so remove the python 2 constraint
export CALIBRE_PY3_PORT=1
# Bypass kbuildsycoca and update-mime-database in order to
# avoid sandbox violations if xdg-mime tries to call them.
cat - > "${T}/kbuildsycoca" <<-EOF
#!${BASH}
echo $0 : $@
exit 0
EOF
cp "${T}"/{kbuildsycoca,update-mime-database} || die
chmod +x "${T}"/{kbuildsycoca,update-mime-database} || die
export QMAKE="${EPREFIX}/usr/$(get_libdir)/qt5/bin/qmake"
# Unset DISPLAY in order to prevent xdg-mime from triggering a sandbox
# violation with kbuildsycoca as in bug #287067, comment #13.
export -n DISPLAY
# Bug #352625 - Some LANGUAGE values can trigger the following ValueError:
# File "/usr/lib/python2.6/locale.py", line 486, in getdefaultlocale
# return _parse_localename(localename)
# File "/usr/lib/python2.6/locale.py", line 418, in _parse_localename
# raise ValueError, 'unknown locale: %s' % localename
#ValueError: unknown locale: 46
export -n LANG LANGUAGE ${!LC_*}
export LC_ALL=C.utf8 #709682
# Bug #295672 - Avoid sandbox violation in ~/.config by forcing
# variables to point to our fake temporary $HOME.
export HOME="${T}/fake_homedir"
export XDG_CONFIG_HOME="${HOME}/.config"
export XDG_DATA_HOME="${HOME}/.local/share"
export CALIBRE_CONFIG_DIRECTORY="${XDG_CONFIG_HOME}/calibre"
mkdir -p "${XDG_DATA_HOME}" "${CALIBRE_CONFIG_DIRECTORY}" || die
tc-export CC CXX
# Bug #334243 - respect LDFLAGS when building extensions
export OVERRIDE_CFLAGS="$CFLAGS" OVERRIDE_LDFLAGS="$LDFLAGS"
local libdir=$(get_libdir)
[[ -n $libdir ]] || die "get_libdir returned an empty string"
addpredict /dev/dri #665310
PATH=${T}:${PATH} PYTHONPATH=${S}/src${PYTHONPATH:+:}${PYTHONPATH} \
"${PYTHON}" setup.py install \
--root="${D}" \
--prefix="${EPREFIX}/usr" \
--libdir="${EPREFIX}/usr/${libdir}" \
--staging-root="${ED}/usr" \
--staging-libdir="${ED}/usr/${libdir}" || die
rm "${ED}/usr/share/applications/defaults.list" || die
find "${ED}"/usr/share -type d -empty -delete
cd "${ED}"/usr/share/calibre/fonts/liberation || die
local x
for x in * ; do
[[ -f ${EPREFIX}/usr/share/fonts/liberation-fonts/${x} ]] || continue
ln -sf "../../../fonts/liberation-fonts/${x}" "${x}" || die
done
einfo "Converting python shebangs"
python_fix_shebang --force "${ED}"
einfo "Compiling python modules"
python_optimize "${ED}"/usr/lib/calibre
newinitd "${FILESDIR}"/calibre-server-3.init calibre-server
newconfd "${FILESDIR}"/calibre-server-3.conf calibre-server
bashcomp_alias calibre \
lrfviewer \
calibre-debug \
ebook-meta \
calibre-server \
ebook-viewer \
ebook-polish \
fetch-ebook-metadata \
lrf2lrs \
ebook-convert \
ebook-edit \
calibre-smtp \
ebook-device
}
pkg_preinst() {
# Indentify stray directories from upstream's "Binary install"
# method (see bug 622728).
CALIBRE_LIB_DIR=/usr/$(get_libdir)/calibre
CALIBRE_LIB_CONTENT=$(for x in "${ED}${CALIBRE_LIB_DIR}"/*; do
printf -- "${x##*/} "; done) || die "Failed to list ${ED}${CALIBRE_LIB_DIR}"
}
pkg_postinst() {
[[ -n ${CALIBRE_LIB_DIR} ]] || die "CALIBRE_LIB_DIR is unset"
local x
for x in "${EROOT}${CALIBRE_LIB_DIR}"/*; do
if [[ " ${CALIBRE_LIB_CONTENT} " != *" ${x##*/} "* ]]; then
elog "Purging '${x}'"
rm -rf "${x}"
fi
done
xdg_desktop_database_update
xdg_mimeinfo_database_update
xdg_icon_cache_update
}
pkg_postrm() {
xdg_desktop_database_update
xdg_mimeinfo_database_update
xdg_icon_cache_update
}

@ -1,2 +1,3 @@
DIST foliate-2.2.1.tar.gz 4310842 BLAKE2B 3e858379c84a790d1ce4d60af25c4911d2864d7b82f1896216ae8a01598ae7865d65b90056348b372b328e84184e75fcbacfbb2b6fdb8aa9a7e254e726957c4f SHA512 3c9c3d8f2df72fcb8699ccf23bf1850c129c6f387a9b12489d8fcc3dd1da4da5a7e0707f74f4607ab0e28d67e2f55f0bb2d053fbbc072bc9915c54c4857e4cff
DIST foliate-2.4.1.tar.gz 4637388 BLAKE2B 4dfc0e0de5c668e73d80ff86b009f4711f0a439e6defd01a591f6271dab2de403d5f5304b29cad6c04661ee3da4d821416952324b500f73d22cdb62f85f97fed SHA512 25ae76232cb70722b0bb17d8a22c72011d99b7029f4ce70fa85a2f4baa2f93ce1fb855f5a03df882fe6f6af42101d4a368dc05a09d5fbeb78cb503b5d57fffe1
DIST foliate-2.4.2.tar.gz 4638211 BLAKE2B 4263e047d7251a0f15a2cda2592ba24dbbb9754a37ba6367f0d1e778e3f926cd46777d505e9f92d74bdcd28a722988b60f064f1a841c53a9b2849130941d9481 SHA512 6dda76c9bd3f9f3273bafdd65463adfcab84d9c81ca89c2fd1cda4c5d7618d84610e11c75936c5df2bb118caa3f3e1e77ded506da670263e5af5b0ad92a97a07

@ -0,0 +1,46 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PLOCALES="cs_CS de_DE es fr_FR id_ID ie it nl pt_BR ru_RU sv tr uk zh_CN zh_TW"
inherit meson l10n xdg-utils gnome2-utils
SRC_URI="https://github.com/johnfactotum/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
DESCRIPTION="gtk ebook reader built with gjs"
HOMEPAGE="https://github.com/johnfactotum/foliate/"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""
BDEPEND="${MESON_DEPEND}
sys-devel/gettext"
RDEPEND="dev-libs/gjs
net-libs/webkit-gtk"
src_prepare() {
default
l10n_find_plocales_changes "${S}"/po '' '.po'
rm_po() {
rm po/${1}.po
sed -e "/^${1}/d" -i po/LINGUAS
}
l10n_for_each_disabled_locale_do rm_po
}
pkg_postinst() {
xdg_desktop_database_update
xdg_mimeinfo_database_update
xdg_icon_cache_update
gnome2_schemas_update
}
pkg_postrm() {
xdg_desktop_database_update
xdg_mimeinfo_database_update
xdg_icon_cache_update
gnome2_schemas_update
}

@ -13,7 +13,7 @@ HOMEPAGE="https://github.com/hunspell"
SLOT="0/$(ver_cut 1-2)"
LICENSE="MPL-1.1 GPL-2 LGPL-2.1"
IUSE="ncurses nls readline static-libs"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
RDEPEND="
ncurses? ( sys-libs/ncurses:0= )

Binary file not shown.

@ -34,7 +34,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase

@ -35,7 +35,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase

@ -35,7 +35,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase

@ -33,7 +33,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
# Shorten the path because the socket path length must be shorter than 107 chars
# and we will run a mysql server during test phase

@ -1 +1,2 @@
DIST mycli-1.20.1.tar.gz 265264 BLAKE2B d00b1713132609b0a5ec6e8b78785fdab5c6b4db5937bc0b9bc69ddde90ad3dc75aeb99ccf6b5e7fe5e78e9bf4819f03fb454825e5182bc5d2c44356032343d1 SHA512 82ee642b2a4c158b0e2ea275941650125e15004ec1c70b2ab90ae0825090efccb4910a14fd46bcdf795a74adba5689b46de5668447308de63d1cbbbe2e6b0e9d
DIST mycli-1.21.1.tar.gz 267646 BLAKE2B e0678974949ae219236b89fbe9ebdacfee9c1efc8f92853c937150dbb841680664432e9f5c79181545df8b3321480cf784e45a83139351cc93256d26dcdd66f0 SHA512 beb3888ff8abc2a79e591516d7f0f76d0c18f186bd0dca3b4aadcf93b3045de53ac7f135553ad509273c85ea364e81df5dcadf9eacf1dbef8ceff7345aa5ed6d

@ -0,0 +1,11 @@
--- a/setup.py 2020-04-19 16:15:15.000000000 -0400
+++ b/setup.py 2020-07-07 13:56:25.181039348 -0400
@@ -85,7 +85,7 @@
author_email='mycli-dev@googlegroups.com',
version=version,
url='http://mycli.net',
- packages=find_packages(),
+ packages=find_packages(exclude=["*.test","*.test.*","test.*","test"]),
package_data={'mycli': ['myclirc', 'AUTHORS', 'SPONSORS']},
description=description,
long_description=description,

@ -0,0 +1,49 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python{3_6,3_7} )
DISTUTILS_SINGLE_IMPL=yes
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
DESCRIPTION="CLI for MySQL Database with auto-completion and syntax highlighting"
HOMEPAGE="https://www.mycli.net"
SRC_URI="https://github.com/dbcli/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="ssh test"
RESTRICT="!test? ( test )"
RDEPEND="$(python_gen_cond_dep '
>=dev-python/cli_helpers-1.1.0[${PYTHON_MULTI_USEDEP}]
>=dev-python/click-7.0[${PYTHON_MULTI_USEDEP}]
>=dev-python/configobj-5.0.6[${PYTHON_MULTI_USEDEP}]
>=dev-python/cryptography-1.0.0[${PYTHON_MULTI_USEDEP}]
>=dev-python/prompt_toolkit-2.0.6[${PYTHON_MULTI_USEDEP}]
<dev-python/prompt_toolkit-3.0.0[${PYTHON_MULTI_USEDEP}]
>=dev-python/pygments-2.0[${PYTHON_MULTI_USEDEP}]
>=dev-python/pymysql-0.9.2[${PYTHON_MULTI_USEDEP}]
>=dev-python/sqlparse-0.3.0[${PYTHON_MULTI_USEDEP}]
<dev-python/sqlparse-0.4.0[${PYTHON_MULTI_USEDEP}]
ssh? ( dev-python/paramiko[${PYTHON_MULTI_USEDEP}] )')
"
DEPEND="${RDEPEND}"
BDEPEND="test? ( $(python_gen_cond_dep 'dev-python/mock[${PYTHON_MULTI_USEDEP}]') )"
distutils_enable_tests pytest
PATCHES=( "${FILESDIR}/mycli-1.21.1-fix-test-install.patch" )
python_test() {
pytest --capture=sys \
--showlocals \
--doctest-modules \
--doctest-ignore-import-errors \
--ignore=setup.py \
--ignore=mycli/magic.py \
--ignore=mycli/packages/parseutils.py \
--ignore=test/features
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save