parent
c354d1c4d0
commit
d7799a9c6d
Binary file not shown.
Binary file not shown.
Binary file not shown.
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
|
||||
}
|
Binary file not shown.
@ -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
|
||||
}
|
@ -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
|
||||
}
|
@ -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}"
|
@ -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
|
||||
}
|
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.
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
|
||||
}
|
@ -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.
Binary file not shown.
@ -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
|
||||
|
@ -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
|
||||
}
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST physlock-11.tar.gz 13791 BLAKE2B 73ba9ad238a4566156144a7107018689996691d1a24bab44e9575067efe072cfb6181b409a81ebcad03d42a48ea94fe32fc738f2d730cb1fd0137b2455a5a74b SHA512 d3badf5c99e4e3e16f4e7ec5c59ee8320c845f1b180463900d816206362ce1aa8652f2489453ad5e190cceee2ed61a90acc52e25bb6b4c4a9dc8c4ebd3054938
|
||||
DIST physlock-13.tar.gz 14123 BLAKE2B a43f151c1660c38bd028f80742637a51d5108e6769161c88fb269ac03c827e49bd20e521b8face6aa6a71a8ab65ddf8662e81e8251b74c13388070ed04d4e13b SHA512 85c291fb7b146fbd81aacbf94d8af07e727dd9b37b458988eaee5f7a51f9923871f9b19fd9438428635963864de67d3f2a72f938d99ffe6dc3015c3a1b99ea1c
|
||||
|
@ -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.
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.
@ -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
|
||||
}
|
Binary file not shown.
@ -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…
Reference in new issue