Sync with portage [Mon Apr 20 13:56:26 MSK 2020].

develop 1641
root 4 years ago
parent 89439b10db
commit a09983f969

Binary file not shown.

Binary file not shown.

@ -35,7 +35,7 @@ COMMON_DEP="
gpm? ( >=sys-libs/gpm-1.20 )
iconv? ( virtual/libiconv )
icu? ( dev-libs/icu:= )
louis? ( dev-libs/liblouis )
louis? ( dev-libs/liblouis:= )
midi? ( media-libs/alsa-lib )
ncurses? ( sys-libs/ncurses:0= )
pcm? ( media-libs/alsa-lib )

@ -0,0 +1,64 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
GNOME2_LA_PUNT="yes"
PYTHON_COMPAT=( python3_{6,7} )
PYTHON_REQ_USE="threads(+)"
inherit gnome2 python-single-r1
DESCRIPTION="Extensible screen reader that provides access to the desktop"
HOMEPAGE="https://wiki.gnome.org/Projects/Orca"
LICENSE="LGPL-2.1+ CC-BY-SA-3.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="+braille"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
COMMON_DEPEND="${PYTHON_DEPS}
>=app-accessibility/at-spi2-atk-2.32:2
>=app-accessibility/at-spi2-core-2.32:2[introspection]
>=dev-libs/atk-2.32
>=dev-libs/glib-2.28:2
media-libs/gstreamer:1.0[introspection]
>=x11-libs/gtk+-3.6.2:3[introspection]
$(python_gen_cond_dep '
dev-python/gst-python:1.0[${PYTHON_MULTI_USEDEP}]
>=dev-python/pygobject-3.18:3[${PYTHON_MULTI_USEDEP}]
')
braille? (
$(python_gen_cond_dep '
>=app-accessibility/brltty-5.0-r3[python,${PYTHON_MULTI_USEDEP}]
dev-libs/liblouis[python,${PYTHON_MULTI_USEDEP}]
')
)
"
RDEPEND="${COMMON_DEPEND}
dev-libs/atk[introspection]
$(python_gen_cond_dep '
>=app-accessibility/speech-dispatcher-0.8[python,${PYTHON_MULTI_USEDEP}]
>=dev-python/pyatspi-2.32[${PYTHON_MULTI_USEDEP}]
dev-python/setproctitle[${PYTHON_MULTI_USEDEP}]
')
x11-libs/libwnck:3[introspection]
x11-libs/pango[introspection]
"
DEPEND="${COMMON_DEPEND}
dev-util/itstool
>=sys-devel/gettext-0.19.8
virtual/pkgconfig
"
# app-text/yelp-tools
src_configure() {
gnome2_src_configure \
$(use_with braille liblouis)
}
src_install() {
gnome2_src_install
python_optimize
}

@ -18,7 +18,7 @@ IUSE="alsa ao +espeak flite nas pulseaudio python"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
COMMON_DEPEND="python? ( ${PYTHON_DEPS} )
DEPEND="python? ( ${PYTHON_DEPS} )
>=dev-libs/dotconf-1.3
>=dev-libs/glib-2.28:2
dev-libs/libltdl:0
@ -29,11 +29,11 @@ COMMON_DEPEND="python? ( ${PYTHON_DEPS} )
flite? ( app-accessibility/flite )
nas? ( media-libs/nas )
pulseaudio? ( media-sound/pulseaudio )"
DEPEND="${COMMON_DEPEND}
RDEPEND="${DEPEND}
python? ( dev-python/pyxdg[${PYTHON_USEDEP}] )"
BDEPEND="
>=dev-util/intltool-0.40.0
virtual/pkgconfig"
RDEPEND="${COMMON_DEPEND}
python? ( dev-python/pyxdg[${PYTHON_USEDEP}] )"
src_configure() {
# bug 573732

Binary file not shown.

@ -20,7 +20,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="${PYTHON_DEPS}
>=dev-libs/glib-2.56:2
>=dev-libs/libreport-2.10.0[python]
>=dev-libs/libreport-2.10.0[gtk,python]
dev-libs/libxml2:2
>=gnome-base/gsettings-desktop-schemas-3.15.1
net-libs/libsoup:2.4

@ -3,7 +3,7 @@
EAPI=6
PYTHON_COMPAT=( python3_6 )
PYTHON_COMPAT=( python{3_6,3_7,3_8} )
inherit distutils-r1

@ -3,7 +3,7 @@
EAPI="7"
PYTHON_COMPAT=( python3_6 )
PYTHON_COMPAT=( python3_{6,7,8} )
inherit distutils-r1

@ -1,2 +1 @@
DIST lib_users-0.13.tar.gz 25704 BLAKE2B 895f8b721216339fe4306158bf6282353d79584573091cc4e7c63c8096a9f9cfe380a8bce7229f168e44fe5d3641ceb8c91bd751316a6c6a467ace4ec0dce723 SHA512 588af7068728810832bcf4d1526f271e255d07c75d152fb41844c66f3598a71e9a96bee3426b31b58cd26af889bc42c0a7248731fdfe3623fd4567d2b6b7275e
DIST lib_users-0.14.tar.gz 25746 BLAKE2B 4aa2dbbd7c53be13f79988a62c7997f0787ea9b773fc57681a021ff75ba9ff0988ac3032b21150c4e4958849a6195df09d388b6341e1ac139f34ce9555786233 SHA512 533c6e8f486e58d0fd22aea9a30adf91c3a8340a8a3719f6374ddfa8120d402c8202ab8ceb0e78aedd46e3e5875795392ed40497a66d51de5c2ca6a275a1a777

@ -1,45 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python{3_6,3_7} )
inherit python-r1
DESCRIPTION="Check for mapped libs and open files that are marked as deleted"
HOMEPAGE="https://github.com/klausman/lib_users"
SRC_URI="https://github.com/klausman/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm hppa ppc ppc64 x86 ~amd64-linux ~x86-linux"
IUSE="test"
RESTRICT="!test? ( test )"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="${PYTHON_DEPS}
test? (
dev-python/nose[${PYTHON_USEDEP}]
dev-python/backports-unittest-mock[${PYTHON_USEDEP}]
)"
RDEPEND="${PYTHON_DEPS}"
src_test() {
python_foreach_impl nosetests --verbosity=2
}
my_install() {
python_newscript lib_users.py lib_users
python_newscript fd_users.py fd_users
# lib_users_util/ contains a test script we don't want, so do things by hand
python_moduleinto lib_users_util
python_domodule lib_users_util/common.py
python_domodule lib_users_util/__init__.py
}
src_install() {
python_foreach_impl my_install
dodoc README.md TODO
}

@ -1,7 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<maintainer type="person">
<email>hydrapolic@gmail.com</email>
<name>Tomáš Mózes</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
<remote-id type="github">lebinh/ngxtop</remote-id>
</upstream>

@ -3,7 +3,7 @@
EAPI=6
PYTHON_COMPAT=( python3_6 )
PYTHON_COMPAT=( python3_{6,7,8} )
PYTHON_REQ_USE="sqlite"
inherit distutils-r1

@ -1 +0,0 @@
DIST PackageKit-1.1.12.tar.xz 1439024 BLAKE2B 458cb7a9a47941214ec58846fb840f852851555dbd94ed5113745f9e375cd28edaa8475db30fb889b1722ea01bce5200a5ea7a5f52e45b424703228bff59d689 SHA512 a7428416ae85df0c8e7dbe017396921e9214612c8eb7c91020523457d0feaff86ad50d595f702d255e4091364cb10b8d9506b603b9d0e449c39fced07180840b

@ -1,25 +0,0 @@
From 3620f182745db77b5bf4552a9e8d8cb38fdc0268 Mon Sep 17 00:00:00 2001
From: Kalev Lember <klember@redhat.com>
Date: Tue, 4 Dec 2018 22:15:49 +0100
Subject: [PATCH 2/2] trivial: Add missing config.h include
---
lib/packagekit-glib2/pk-progress-bar.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lib/packagekit-glib2/pk-progress-bar.c b/lib/packagekit-glib2/pk-progress-bar.c
index e75f319e4..28d8f5ac2 100644
--- a/lib/packagekit-glib2/pk-progress-bar.c
+++ b/lib/packagekit-glib2/pk-progress-bar.c
@@ -19,6 +19,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "config.h"
+
#include <glib.h>
#include <string.h>
#include <unistd.h>
--
2.19.2

@ -1,38 +0,0 @@
From d64070f1782ed06f83be7783e22cf86f4098f34e Mon Sep 17 00:00:00 2001
From: Ettore Di Giacinto <mudler@gentoo.org>
Date: Tue, 11 Dec 2018 16:54:42 +0100
Subject: [PATCH 1/2] Drop $(localstatedir)/cache rules
This directory can be flushed any moment and pre-existence of folders
in it cannot be assumed.
pk-transaction creates the downloads directory as needed. If backends
need metadata folder they should create it if not found.
Closes: https://github.com/gentoo/gentoo/pull/1760
References: https://github.com/hughsie/PackageKit/issues/143
---
src/Makefile.am | 7 -------
1 file changed, 7 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index 830aaf873..24c9a0b9a 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -166,13 +166,6 @@ pk_self_test_CFLAGS = \
TESTS = pk-self-test
-install-data-hook:
- if test -w $(DESTDIR)$(prefix)/; then \
- mkdir -p $(DESTDIR)$(localstatedir)/cache/PackageKit/downloads; \
- mkdir -p $(DESTDIR)$(localstatedir)/cache/PackageKit/metadata; \
- mkdir -p $(DESTDIR)$(localstatedir)/log; \
- fi
-
clean-local:
rm -f *~
--
2.19.2

@ -1,196 +0,0 @@
From ee8a65b3fd7636a60f8a2b2e509376cbbd8326cb Mon Sep 17 00:00:00 2001
From: Sven Eden <yamakuzure@gmx.net>
Date: Tue, 11 Dec 2018 16:59:28 +0100
Subject: [PATCH 2/2] Add elogind support
Closes: https://bugs.gentoo.org/620948
Signed-off-by: Ettore Di Giacinto <mudler@gentoo.org>
---
configure.ac | 20 +++++++++++++++++++-
src/Makefile.am | 4 ++++
src/pk-dbus.c | 8 ++++----
src/pk-engine.c | 12 ++++++------
4 files changed, 33 insertions(+), 11 deletions(-)
diff --git a/configure.ac b/configure.ac
index 737c1d4dc..0778c57d3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -216,7 +216,6 @@ if test x$enable_systemd = xyes; then
AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
[has_systemdsystemunitdir=$with_systemdsystemunitdir],
[has_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
- AC_DEFINE(HAVE_SYSTEMD,1,[Build systemd code])
AC_SUBST([systemdsystemunitdir], [$has_systemdsystemunitdir])
fi
AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$has_systemdsystemunitdir"])
@@ -228,6 +227,24 @@ AC_ARG_ENABLE(offline-update, AS_HELP_STRING([--enable-offline-update],[enable o
enable_offline_update=$enableval,enable_offline_update=yes)
AM_CONDITIONAL(ENABLE_OFFLINE_UPDATE, [test x$enable_systemd = xyes -a x$enable_offline_update = xyes])
+dnl ---------------------------------------------------------------------------
+dnl - Use elogind instead of systemd-login
+dnl ---------------------------------------------------------------------------
+AC_ARG_ENABLE(elogind, AS_HELP_STRING([--enable-elogind],[enable elogind session tracker]),
+ enable_elogind=$enableval,enable_elogind=no)
+if test x$enable_elogind = xyes; then
+ PKG_CHECK_MODULES(ELOGIND, [libelogind >= 229.4], [have_elogind=yes], [have_elogind=no])
+else
+ have_elogind=no
+fi
+
+dnl ---------------------------------------------------------------------------
+dnl --- Is systemd/sd-login.h, either from systemd or elogind, available?
+dnl ---------------------------------------------------------------------------
+if test -n "$has_systemdsystemunitdir" -o "x$have_elogind" != "xno" ; then
+ AC_DEFINE(HAVE_SYSTEMD_SD_LOGIN_H,1,[Build systemd-login code])
+fi
+
dnl ---------------------------------------------------------------------------
dnl - Generate man pages ? (default enabled)
dnl ---------------------------------------------------------------------------
@@ -590,6 +607,7 @@ echo "
cflags: ${CFLAGS}
cppflags: ${CPPFLAGS}
Able to run locally: ${enable_local}
+ Use elogind: ${enable_elogind}
Use systemd: ${enable_systemd}
Enable offline update: ${enable_offline_update}
GStreamer plugin: ${build_gstreamer_plugin}
diff --git a/src/Makefile.am b/src/Makefile.am
index 24c9a0b9a..468f31d04 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -9,6 +9,7 @@ AM_CPPFLAGS = \
$(SQLITE_CFLAGS) \
$(POLKIT_CFLAGS) \
$(PYTHON_CFLAGS) \
+ $(ELOGIND_CFLAGS) \
$(SYSTEMD_CFLAGS) \
-DPACKAGE_LOCALE_DIR=\"$(localedir)\" \
-DBINDIR=\"$(bindir)\" \
@@ -100,6 +101,7 @@ packagekit_direct_LDADD = \
$(POLKIT_LIBS) \
$(GIO_LIBS) \
$(ARCHIVE_LIBS) \
+ $(ELOGIND_LIBS) \
$(SYSTEMD_LIBS)
packagekit_direct_LDFLAGS = \
@@ -128,6 +130,7 @@ packagekitd_LDADD = \
$(POLKIT_LIBS) \
$(GIO_LIBS) \
$(ARCHIVE_LIBS) \
+ $(ELOGIND_LIBS) \
$(SYSTEMD_LIBS)
packagekitd_LDFLAGS = \
@@ -153,6 +156,7 @@ pk_self_test_LDADD = \
$(POLKIT_LIBS) \
$(GIO_LIBS) \
$(ARCHIVE_LIBS) \
+ $(ELOGIND_LIBS) \
$(SYSTEMD_LIBS)
pk_self_test_CPPFLAGS = \
diff --git a/src/pk-dbus.c b/src/pk-dbus.c
index 0cf512f38..37cc1d83c 100644
--- a/src/pk-dbus.c
+++ b/src/pk-dbus.c
@@ -27,7 +27,7 @@
#include <glib.h>
#include <gio/gio.h>
-#ifdef HAVE_SYSTEMD
+#ifdef HAVE_SYSTEMD_SD_LOGIN_H
#include <systemd/sd-login.h>
#endif
@@ -177,7 +177,7 @@ pk_dbus_get_cmdline (PkDbus *dbus, const gchar *sender)
return cmdline;
}
-#ifdef HAVE_SYSTEMD
+#ifdef HAVE_SYSTEMD_SD_LOGIN_H
static gchar *
pk_dbus_make_logind_session_id (const gchar *session)
{
@@ -218,7 +218,7 @@ gchar *
pk_dbus_get_session (PkDbus *dbus, const gchar *sender)
{
gchar *session = NULL;
-#ifndef HAVE_SYSTEMD
+#ifndef HAVE_SYSTEMD_SD_LOGIN_H
g_autoptr(GError) error = NULL;
#endif
guint pid;
@@ -248,7 +248,7 @@ pk_dbus_get_session (PkDbus *dbus, const gchar *sender)
}
/* get session from systemd or ConsoleKit */
-#ifdef HAVE_SYSTEMD
+#ifdef HAVE_SYSTEMD_SD_LOGIN_H
session = pk_dbus_get_session_systemd (pid);
if (session == NULL)
g_warning ("failed to get session for pid %u", pid);
diff --git a/src/pk-engine.c b/src/pk-engine.c
index f63058fbc..7ea87a448 100644
--- a/src/pk-engine.c
+++ b/src/pk-engine.c
@@ -98,7 +98,7 @@ struct PkEnginePrivate
guint owner_id;
GDBusNodeInfo *introspection;
GDBusConnection *connection;
-#ifdef HAVE_SYSTEMD
+#ifdef HAVE_SYSTEMD_SD_LOGIN_H
GDBusProxy *logind_proxy;
gint logind_fd;
#endif
@@ -256,7 +256,7 @@ pk_engine_emit_offline_property_changed (PkEngine *engine,
static void
pk_engine_inhibit (PkEngine *engine)
{
-#ifdef HAVE_SYSTEMD
+#ifdef HAVE_SYSTEMD_SD_LOGIN_H
g_autoptr(GError) error = NULL;
g_autoptr(GUnixFDList) out_fd_list = NULL;
g_autoptr(GVariant) res = NULL;
@@ -303,7 +303,7 @@ pk_engine_inhibit (PkEngine *engine)
static void
pk_engine_uninhibit (PkEngine *engine)
{
-#ifdef HAVE_SYSTEMD
+#ifdef HAVE_SYSTEMD_SD_LOGIN_H
if (engine->priv->logind_fd == 0)
return;
g_debug ("closed logind fd %i", engine->priv->logind_fd);
@@ -1701,7 +1701,7 @@ pk_engine_offline_method_call (GDBusConnection *connection_, const gchar *sender
}
}
-#ifdef HAVE_SYSTEMD
+#ifdef HAVE_SYSTEMD_SD_LOGIN_H
static void
pk_engine_proxy_logind_cb (GObject *source_object,
GAsyncResult *res,
@@ -1737,7 +1737,7 @@ pk_engine_on_bus_acquired_cb (GDBusConnection *connection,
/* save copy for emitting signals */
engine->priv->connection = g_object_ref (connection);
-#ifdef HAVE_SYSTEMD
+#ifdef HAVE_SYSTEMD_SD_LOGIN_H
/* connect to logind */
g_dbus_proxy_new (connection,
G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES,
@@ -1883,7 +1883,7 @@ pk_engine_finalize (GObject *object)
if (engine->priv->connection != NULL)
g_object_unref (engine->priv->connection);
-#ifdef HAVE_SYSTEMD
+#ifdef HAVE_SYSTEMD_SD_LOGIN_H
/* uninhibit */
if (engine->priv->logind_fd != 0)
close (engine->priv->logind_fd);
--
2.19.2

@ -1,28 +0,0 @@
From f664bbc43d12f4b30431dfe2ecee4c9ebfaf00e5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Javier=20Jard=C3=B3n?= <jjardon@gnome.org>
Date: Sat, 1 Dec 2018 18:55:37 +0000
Subject: [PATCH 1/2] lib/python/packagekit/Makefile.am: Use the detected
PYTHON version
This will fix compilation in system where only the "python3"
executable exists
---
lib/python/packagekit/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/python/packagekit/Makefile.am b/lib/python/packagekit/Makefile.am
index 617006647..a589cde17 100644
--- a/lib/python/packagekit/Makefile.am
+++ b/lib/python/packagekit/Makefile.am
@@ -1,7 +1,7 @@
BUILT_SOURCES = enums.py
enums.py: $(top_srcdir)/lib/python/enum-convertor.py $(top_srcdir)/lib/packagekit-glib2/pk-enum.c
- python $(top_srcdir)/lib/python/enum-convertor.py $(top_srcdir)/lib/packagekit-glib2/pk-enum.c > enums.py
+ $(PYTHON) $(top_srcdir)/lib/python/enum-convertor.py $(top_srcdir)/lib/packagekit-glib2/pk-enum.c > enums.py
if HAVE_PYTHON_BACKEND
packagekitpythondir = ${PYTHON_PACKAGE_DIR}
--
2.19.2

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mudler@gentoo.org</email>
<name>Ettore Di Giacinto</name>
</maintainer>
<maintainer type="project">
<email>gnome@gentoo.org</email>
<name>Gentoo GNOME Desktop</name>
</maintainer>
<use>
<flag name="command-not-found">Enable packagekit support on shell "command not found"</flag>
<flag name="consolekit">Use <pkg>sys-auth/consolekit</pkg> to get user session</flag>
<flag name="cron">Install cron script for auto-update</flag>
<flag name="elogind">Enable <pkg>sys-auth/elogind</pkg> support to get user session</flag>
<flag name="entropy">Enable Entropy backend</flag>
</use>
</pkgmetadata>

@ -1,141 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
# PackageKit supports 3.2+, but entropy and portage backends are untested
PYTHON_COMPAT=( python2_7 )
VALA_USE_DEPEND="vapigen"
inherit autotools bash-completion-r1 multilib python-single-r1 systemd vala xdg
MY_PN="PackageKit"
MY_P=${MY_PN}-${PV}
DESCRIPTION="Manage packages in a secure way using a cross-distro and cross-architecture API"
HOMEPAGE="https://www.freedesktop.org/software/PackageKit/"
SRC_URI="https://www.freedesktop.org/software/${MY_PN}/releases/${MY_P}.tar.xz"
LICENSE="GPL-2"
SLOT="0/18"
KEYWORDS="~alpha amd64 ~arm ~mips ~ppc ~ppc64 x86"
IUSE="command-not-found consolekit cron elogind entropy +introspection systemd test vala"
RESTRICT="!test? ( test )"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
^^ ( consolekit elogind systemd )
vala? ( introspection )
entropy? ( $(python_gen_useflags 'python2*' ) )
"
# While not strictly needed, consolekit is the alternative to systemd-login
# or elogind to get current session's user.
COMMON_DEPEND="
>=app-shells/bash-completion-2
dev-db/sqlite:3
>=dev-libs/dbus-glib-0.74
>=dev-libs/glib-2.54.0:2
>=sys-auth/polkit-0.114
>=sys-apps/dbus-1.3.0
${PYTHON_DEPS}
elogind? ( >=sys-auth/elogind-229.4 )
introspection? ( >=dev-libs/gobject-introspection-0.9.9:= )
systemd? ( >=sys-apps/systemd-213 )
"
# vala-common needed for eautoreconf
DEPEND="${COMMON_DEPEND}
app-text/docbook-xsl-stylesheets
>=dev-cpp/glibmm-2.4
dev-libs/libxml2:2
dev-libs/libxslt
dev-libs/vala-common
dev-util/glib-utils
>=dev-util/gtk-doc-am-1.11
>=dev-util/intltool-0.35.0
sys-devel/autoconf-archive
sys-devel/gettext
virtual/pkgconfig
vala? ( $(vala_depend) )
"
RDEPEND="${COMMON_DEPEND}
$(python_gen_cond_dep '
>=app-portage/layman-2[${PYTHON_MULTI_USEDEP}]
>=sys-apps/portage-2.2[${PYTHON_MULTI_USEDEP}]
')
consolekit? ( sys-auth/consolekit )
entropy? ( >=sys-apps/entropy-234[${PYTHON_SINGLE_USEDEP}] )
"
PATCHES=(
# Fixes QA Notices:
# - https://github.com/gentoo/gentoo/pull/1760
# - https://github.com/hughsie/PackageKit/issues/143
"${FILESDIR}"/${PV}-cache-qafix.patch
# Adds elogind support:
# - https://bugs.gentoo.org/show_bug.cgi?id=620948
# - https://github.com/hughsie/PackageKit/pull/299
"${FILESDIR}"/${PV}-elogind-support.patch
# From master
"${FILESDIR}"/${PV}-use-autotool-python.patch
"${FILESDIR}"/${PV}-add-missing-config.h.patch
)
S="${WORKDIR}/${MY_P}"
src_prepare() {
# Disable unittests not working with portage backend
# console: requires terminal input
sed -e 's:^\(.*/packagekit-glib2/control\)://\1:' \
-e 's:^\(.*/packagekit-glib2/transaction-list\)://\1:' \
-e 's:^\(.*/packagekit-glib2/client"\)://\1:' \
-e 's:^\(.*/packagekit-glib2/package-sack\)://\1:' \
-e 's:^\(.*/packagekit-glib2/task\)://\1:' \
-e 's:^\(.*/packagekit-glib2/console\)://\1:' \
-i lib/packagekit-glib2/pk-test-daemon.c || die
sed -e 's:^\(.*/packagekit/spawn\)://\1:' \
-e 's:^\(.*/packagekit/transaction-db\)://\1:' \
-e 's:^\(.*/packagekit/backend\)://\1:' \
-i src/pk-self-test.c || die
eapply_user
use vala && vala_src_prepare
xdg_src_prepare
# Needed by elogind patch
eautoreconf
}
src_configure() {
econf \
--disable-gstreamer-plugin \
--disable-gtk-doc \
--disable-gtk-module \
--disable-schemas-compile \
--disable-static \
--enable-bash-completion \
--enable-man-pages \
--enable-nls \
--enable-portage \
--localstatedir=/var \
$(use_enable command-not-found) \
$(use_enable cron) \
$(use_enable elogind) \
$(use_enable entropy) \
$(use_enable introspection) \
$(use_enable systemd) \
$(use_enable test daemon-tests) \
$(use_enable test local) \
$(use_enable vala) \
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
}
src_install() {
python_fix_shebang backends/portage/portageBackend.py
emake DESTDIR="${D}" install
find "${D}" -name '*.la' -delete || die
dodoc AUTHORS ChangeLog MAINTAINERS NEWS README
}

@ -1 +0,0 @@
DIST PackageKit-1.1.12.tar.xz 1439024 BLAKE2B 458cb7a9a47941214ec58846fb840f852851555dbd94ed5113745f9e375cd28edaa8475db30fb889b1722ea01bce5200a5ea7a5f52e45b424703228bff59d689 SHA512 a7428416ae85df0c8e7dbe017396921e9214612c8eb7c91020523457d0feaff86ad50d595f702d255e4091364cb10b8d9506b603b9d0e449c39fced07180840b

@ -1,59 +0,0 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
inherit xdg
MY_PN="PackageKit"
MY_P=${MY_PN}-${PV}
DESCRIPTION="Gtk3 PackageKit backend library"
HOMEPAGE="https://www.freedesktop.org/software/PackageKit/"
SRC_URI="https://www.freedesktop.org/software/${MY_PN}/releases/${MY_P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
IUSE=""
RDEPEND="
>=dev-libs/glib-2.54:2
media-libs/fontconfig
>=x11-libs/gtk+-2:2
>=x11-libs/gtk+-3:3
x11-libs/pango
~app-admin/packagekit-base-${PV}[introspection]
"
DEPEND="${RDEPEND}
virtual/pkgconfig
"
S="${WORKDIR}/${MY_P}"
src_configure() {
econf \
--disable-bash-completion \
--disable-command-not-found \
--disable-cron \
--disable-gstreamer-plugin \
--disable-gtk-doc \
--disable-local \
--disable-man-pages \
--disable-static \
--disable-systemd \
--disable-vala \
--enable-dummy \
--enable-gtk-module \
--enable-introspection=yes \
--localstatedir=/var
}
src_compile() {
emake -C contrib/gtk-module
}
src_install() {
emake -C contrib/gtk-module DESTDIR="${D}" install
find "${D}" -name '*.la' -delete || die
}

@ -1 +0,0 @@
DIST packagekit-qt-1.0.1.tar.gz 53503 BLAKE2B af96899e520f4139d6025746c2a2e7a65c67c2900cdf4fbdb410c12e33f494343d078ec24e7dcdb33749b1d5206b0bf622809827ed64beae162888e48d0aaec0 SHA512 e1291545b496571c00a6a24586c45b7173e85e3704d419af6a0ec47ea5ce256c8ec7e887721b1bf8038cb967ceb82726925800ab06aa784b2bdd560e49be724a

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mudler@gentoo.org</email>
<name>Ettore Di Giacinto</name>
</maintainer>
<maintainer type="person">
<email>johu@gentoo.org</email>
<name>Johannes Huber</name>
</maintainer>
<upstream>
<remote-id type="github">hughsie/PackageKit-Qt</remote-id>
</upstream>
</pkgmetadata>

@ -1,30 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_PN="PackageKit-Qt"
MY_P=${MY_PN}-${PV}
inherit cmake
DESCRIPTION="Qt PackageKit backend library"
HOMEPAGE="https://www.freedesktop.org/software/PackageKit/"
SRC_URI="https://github.com/hughsie/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0/1"
KEYWORDS="amd64 ~arm ~ppc64 x86"
IUSE=""
BDEPEND="
dev-libs/libxslt
virtual/pkgconfig
"
DEPEND="
>=app-admin/packagekit-base-0.9
dev-qt/qtcore:5
dev-qt/qtdbus:5
"
RDEPEND="${DEPEND}"
S="${WORKDIR}/${MY_P}"

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mudler@gentoo.org</email>
<name>Ettore Di Giacinto</name>
</maintainer>
<maintainer type="project">
<email>gnome@gentoo.org</email>
<name>Gentoo GNOME Desktop</name>
</maintainer>
</pkgmetadata>

@ -1,18 +0,0 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DESCRIPTION="PackageKit Package Manager interface (meta package)"
HOMEPAGE="https://www.freedesktop.org/software/PackageKit/"
SRC_URI=""
LICENSE="metapackage"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
IUSE="gtk qt5"
RDEPEND="gtk? ( ~app-admin/packagekit-gtk-${PV} )
qt5? ( >=app-admin/packagekit-qt-0.9.6 )"
DEPEND="${RDEPEND}"

Binary file not shown.

@ -9,7 +9,7 @@
<flag name="caja">Enable engrampa to integrate with
<pkg>mate-base/caja</pkg> by providing entries in its context
menu</flag>
<flag name="packagekit">Enable support for installing via <pkg>app-admin/packagekit</pkg>
<flag name="packagekit">Enable support for installing via Packagekit
based on archive type</flag>
</use>
<upstream>

@ -9,7 +9,7 @@
<flag name="nautilus">Build contextual menu extension for
<pkg>gnome-base/nautilus</pkg>.</flag>
<flag name="packagekit">Enable support for the distro-neutral package
manager GUI <pkg>app-admin/packagekit</pkg></flag>
manager GUI PackageKit</flag>
</use>
<upstream>
<remote-id type="sourceforge">fileroller</remote-id>

@ -14,7 +14,7 @@ SRC_URI="http://ftp.rpm.org/releases/rpm-$(ver_cut 1-2).x/${P}.tar.bz2"
LICENSE="GPL-2 LGPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
KEYWORDS="~alpha ~amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
# Tests are broken. See bug 657500
RESTRICT="test"

@ -1,9 +1,9 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
PYTHON_COMPAT=( python3_6 )
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
DESCRIPTION="Generate a tarball of differences between two tarballs"
@ -14,7 +14,6 @@ LICENSE="Apache-2.0"
KEYWORDS="~amd64 ~x86"
SLOT="0"
IUSE=""
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
src_prepare() {
sed -i "s:^\(__version__ =\).*:\\1 \"${PV}\":" src/${PN}.py || die

Binary file not shown.

@ -1 +0,0 @@
DIST buttersink-0.6.8.tar.gz 51784 BLAKE2B 3f18716bcc55aee99bbb73e8a1928c29cb28a782966aded60b019673e0336f342e4d76aff827f9bd7f39713fe9cadcd89f5f81438a86d8867a8b1ac0a57f3957 SHA512 52898140d983bcc6776497504191f0c1c727b24fa9543f5a5997a54ced26301ca492518094ca8770fce8064bc99dc6d3f6760e986eb66f08a758985a7a85ffff

@ -1,45 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit distutils-r1
DESCRIPTION="rsync-like utility for btrfs snapshots"
HOMEPAGE="https://github.com/AmesCornish/buttersink"
LICENSE="GPL-3"
SLOT=0
# local tests would require root and cause sandbox issues with btrfs subvolume
# operations, and network tests would require an SSH server with root login to
# test the SSH backend, or remote S3 for that backend
RESTRICT="test"
if [[ ${PV} == 9999 ]] ; then
inherit git-r3
KEYWORDS=""
EGIT_REPO_URI="https://github.com/AmesCornish/buttersink"
SRC_URI=""
else
KEYWORDS="~amd64 ~x86"
SRC_URI="https://github.com/AmesCornish/buttersink/archive/${PV}.tar.gz -> ${P}.tar.gz"
fi
RDEPEND="${PYTHON_DEPS}
dev-python/boto[${PYTHON_USEDEP}]
dev-python/crcmod[${PYTHON_USEDEP}]
dev-python/psutil[${PYTHON_USEDEP}]
sys-fs/btrfs-progs"
DEPEND="${RDEPEND}"
python_prepare_all() {
if [[ ${PV} == 9999 ]] ; then
emake makestamps buttersink/version.py
else
mkdir makestamps || die
echo "version = \"${PV}\"" > buttersink/version.py || die
fi
distutils-r1_python_prepare_all
}

@ -1,45 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit distutils-r1
DESCRIPTION="rsync-like utility for btrfs snapshots"
HOMEPAGE="https://github.com/AmesCornish/buttersink"
LICENSE="GPL-3"
SLOT=0
# local tests would require root and cause sandbox issues with btrfs subvolume
# operations, and network tests would require an SSH server with root login to
# test the SSH backend, or remote S3 for that backend
RESTRICT="test"
if [[ ${PV} == 9999 ]] ; then
inherit git-r3
KEYWORDS=""
EGIT_REPO_URI="https://github.com/AmesCornish/buttersink"
SRC_URI=""
else
KEYWORDS="~amd64 ~x86"
SRC_URI="https://github.com/AmesCornish/buttersink/archive/${PV}.tar.gz -> ${P}.tar.gz"
fi
RDEPEND="${PYTHON_DEPS}
dev-python/boto[${PYTHON_USEDEP}]
dev-python/crcmod[${PYTHON_USEDEP}]
dev-python/psutil[${PYTHON_USEDEP}]
sys-fs/btrfs-progs"
DEPEND="${RDEPEND}"
python_prepare_all() {
if [[ ${PV} == 9999 ]] ; then
emake makestamps buttersink/version.py
else
mkdir makestamps || die
echo "version = \"${PV}\"" > buttersink/version.py || die
fi
distutils-r1_python_prepare_all
}

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>adebeus@gmail.com</email>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
</maintainer>
</pkgmetadata>

@ -1 +0,0 @@
DIST deja-dup-34.3.tar.xz 702708 BLAKE2B 219bb3796f3b97b240f9ac353dfb3c206c6423e8b8c8d4e5a97c89d832226ad70cfb1116bbd900bac1fc1bf03608aad47c67af0441fda7bc8fe950313fa14ebf SHA512 0e703c18041fa5ca6d2f272f5b0e65ad31ff1094147432107834d1cd25e2ec14b87bdfac6faf727c97339d20d1681f3251c5f74b6edbee4368014839b1f04f06

@ -1,75 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
GCONF_DEBUG="no"
VALA_MAX_API_VERSION="0.42"
inherit cmake-utils eutils gnome2 vala
DESCRIPTION="Simple backup tool using duplicity back-end"
HOMEPAGE="https://launchpad.net/deja-dup/"
SRC_URI="https://launchpad.net/${PN}/34/${PV}/+download/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="nautilus test"
RESTRICT="test" # bug#????
COMMON_DEPEND="
app-admin/packagekit-base
app-crypt/libsecret[vala]
>=dev-libs/glib-2.34:2[dbus]
>=dev-libs/libpeas-1.0
>=x11-libs/gtk+-3.10:3
>=x11-libs/libnotify-0.7
>=app-backup/duplicity-0.6.23
dev-libs/dbus-glib
nautilus? ( gnome-base/nautilus )
"
RDEPEND="${COMMON_DEPEND}
gnome-base/dconf
gnome-base/gvfs[fuse]
"
DEPEND="${COMMON_DEPEND}
$(vala_depend)
app-text/yelp-tools
dev-perl/Locale-gettext
virtual/pkgconfig
dev-util/intltool
sys-devel/gettext
"
src_prepare() {
sed \
-e '/RPATH/s:PKG_LIBEXECDIR:PKG_LIBDIR:g' \
-i CMakeLists.txt || die
vala_src_prepare
gnome2_src_prepare
cmake-utils_src_prepare
}
src_configure() {
local mycmakeargs=(
-DVALA_EXECUTABLE="${VALAC}"
-DENABLE_CCPANEL=OFF
-DENABLE_PK=OFF
-DENABLE_UNITY=OFF
-DENABLE_UNITY_CCPANEL=OFF
-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}"/etc
-DENABLE_NAUTILUS="$(usex nautilus)"
-DENABLE_TESTING="$(usex test)"
)
cmake-utils_src_configure
}
src_compile() {
cmake-utils_src_compile
}
src_install() {
cmake-utils_src_install
}

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>gnome@gentoo.org</email>
<name>Gentoo GNOME Desktop</name>
</maintainer>
<use>
<flag name="nautilus">Build gnome-base/nautilus extension</flag>
</use>
<upstream>
<remote-id type="launchpad">deja-dup</remote-id>
</upstream>
</pkgmetadata>

@ -0,0 +1,24 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_6 python3_7 python3_8 )
PYTHON_REQ_USE="ssl(+)"
DISTUTILS_USE_SETUPTOOLS=no
inherit distutils-r1
DESCRIPTION="Back up Untangle configurations via the web admin UI"
HOMEPAGE="http://michael.orlitzky.com/code/untangle-https-backup.xhtml"
SRC_URI="http://michael.orlitzky.com/code/releases/${P}.tar.gz"
LICENSE="AGPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
src_install() {
distutils-r1_src_install
doman "doc/man8/${PN}.8"
dodoc "doc/${PN}.example.ini"
}

Binary file not shown.

@ -7,7 +7,7 @@
</maintainer>
<use>
<flag name="packagekit">Enable support for the distro-neutral package
manager GUI <pkg>app-admin/packagekit</pkg></flag>
manager GUI PackageKit</flag>
<flag name="nautilus">Build the <pkg>gnome-base/nautilus</pkg>
extension</flag>
<flag name="libburn">Enable <pkg>dev-libs/libburn</pkg> backend</flag>

@ -11,7 +11,7 @@ SRC_URI="https://archive.xfce.org/src/apps/${PN}/${PV%.*}/${P}.tar.bz2"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64 ~arm ~ppc ~x86"
KEYWORDS="amd64 ~arm ~ppc x86"
IUSE="gstreamer +udev"
RDEPEND=">=dev-libs/glib-2.32:=

Binary file not shown.

@ -31,9 +31,9 @@ RDEPEND=">=app-crypt/acme-0.29.0[${PYTHON_USEDEP}]
dev-python/zope-component[${PYTHON_USEDEP}]
dev-python/zope-interface[${PYTHON_USEDEP}]"
DEPEND="test? ( ${RDEPEND}
dev-python/nose[${PYTHON_USEDEP}] )
dev-python/pytest[${PYTHON_USEDEP}] )
dev-python/setuptools[${PYTHON_USEDEP}]"
python_test() {
nosetests || die
esetup.py test || die
}

@ -31,9 +31,9 @@ RDEPEND=">=app-crypt/acme-0.29.0[${PYTHON_USEDEP}]
dev-python/zope-component[${PYTHON_USEDEP}]
dev-python/zope-interface[${PYTHON_USEDEP}]"
DEPEND="test? ( ${RDEPEND}
dev-python/nose[${PYTHON_USEDEP}] )
dev-python/pytest[${PYTHON_USEDEP}] )
dev-python/setuptools[${PYTHON_USEDEP}]"
python_test() {
nosetests || die
esetup.py test || die
}

@ -1,2 +1,3 @@
DIST ubuntu-keyring_2018.02.28.tar.gz 30181 BLAKE2B 1dc1232aa3ddbbb4a908e2b0deb035fd2ae61ddad4ebba99cce43c636af30760a09bf46f05c35c8205ccfaf526ed8b0a3b9daa308ae5d7272da078903ee15557 SHA512 60f3a792d095206466f4c39672affb261b4520fb7b5b9df47487741e0d6613cd1076fde0e30120bcbe161b170c41f7ec1bbb2c36cddf13ee69a457df00c36fa8
DIST ubuntu-keyring_2018.09.18.1.tar.gz 34263 BLAKE2B fa08e98d27875f1120b3a99127f7df38b6f5d1659d087d52bef23f29619a6cc2b5217302e8e4b1b5efefe7b946bab65a72b5a84a281dc1a6e18eafa5a1e9f8a0 SHA512 562221fc2cf4ff843e9fb16c40673e379ebaa82f12d092cff2454527a6e58ba5067abc5ef5950a82d089cad975de14cdaf01c9e29f98126da8e96a97168102f6
DIST ubuntu-keyring_2020.02.11.2.tar.gz 39180 BLAKE2B e87e491bb7e22217fa9085edf77f833a3ee59cc7defe5690d343fe418795e4ca494d5db5df97684444906f4417f89b2730268599f3115c01fe8bcbc49e540558 SHA512 e717699a6f85a07e87cb3362550ce8a0db1271d2efd85f97405c0e9139516fdf8ca473a37035b5e6e38aca9e1a29e92f4a948d51def076f9c25961c5a1d91ce1

@ -0,0 +1,20 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="GnuPG archive keys of the Ubuntu archive"
HOMEPAGE="https://packages.ubuntu.com/cosmic/ubuntu-keyring"
SRC_URI="mirror://ubuntu/pool/main/${PN:0:1}/${PN}/${PN}_${PV}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~ppc64 ~x86"
IUSE=""
src_install() {
insinto /usr/share/keyrings/
doins keyrings/*.gpg
dodoc changelog README
}

Binary file not shown.

@ -0,0 +1,74 @@
diff -r 3ca291c0f7e3 configure
--- a/configure Sun Jul 28 10:17:08 2019 +0100
+++ b/configure Sun Apr 19 18:46:45 2020 +0200
@@ -778,6 +778,5 @@
INSTALL_SCRIPT
INSTALL_PROGRAM
RANLIB
-AR
lib_gcc
ld
@@ -10296,47 +10307,6 @@
fi
-# Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AR="ar"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="not_found"
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-if test "$AR" = "not_found"; then
- { echo "Error:" "ar not found -- is PATH set correctly?" >&2; exit 1; }
-fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
diff -r 3ca291c0f7e3 configure.ac
--- a/configure.ac Sun Jul 28 10:17:08 2019 +0100
+++ b/configure.ac Sun Apr 19 18:46:45 2020 +0200
@@ -2557,12 +2557,6 @@
dnl should make an entry in src/config.h, do not forget to add an
dnl #undef clause to src/config.h.in for autoconf to modify.
-dnl Sun likes to hide these utilities. Steve Baur asked that we make
-dnl the failure occur at configure time, not at use time.
-AC_CHECK_PROG(AR,ar,ar,not_found)
-if test "$AR" = "not_found"; then
- XE_DIE(["ar not found -- is PATH set correctly?"])
-fi
dnl These tests don't necessarily check that the program exists.
AC_PROG_RANLIB
AC_PROG_INSTALL

@ -68,6 +68,7 @@ src_prepare() {
eapply "${FILESDIR}/${P}-glibc-macro.patch"
eapply "${FILESDIR}/${P}-as-needed.patch"
eapply "${FILESDIR}/${P}-configure-libc-version.patch"
eapply "${FILESDIR}/${P}-ar.patch"
eapply_user

Binary file not shown.

@ -0,0 +1,47 @@
# 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 elisp distutils-r1
DESCRIPTION="A tool that allows both-side communication beetween Python and Emacs Lisp"
HOMEPAGE="https://www.emacswiki.org/emacs/PyMacs"
SRC_URI="https://github.com/dgentry/${PN^}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
IUSE="doc"
BDEPEND="doc? (
>=dev-python/docutils-0.7
virtual/latex-base
)"
S="${WORKDIR}/${P^}"
DISTUTILS_IN_SOURCE_BUILD=1
DISTUTILS_USE_SETUPTOOLS="no"
SITEFILE="50${PN}-gentoo.el"
# called by distutils-r1 for every python implementation
python_configure() {
# pre-process the files but don't run distutils
emake PYSETUP=: PYTHON=${EPYTHON}
}
# called once
python_compile_all() {
elisp_src_compile
if use doc; then
VARTEXFONTS="${T}"/fonts emake RST2LATEX=rst2latex.py pymacs.pdf
fi
}
python_install_all() {
elisp_src_install
distutils-r1_python_install_all
dodoc pymacs.rst
use doc && dodoc pymacs.pdf
}

Binary file not shown.

@ -1 +1,2 @@
DIST cloud-init-19.4.tar.gz 1091893 BLAKE2B 2ab8fef70b420c066d6d8f83871568eeac24f00879ecf3d58c3768dd809cff6a3b79c7e72d9a10204002101049ab86ab64f0c524362e00497a9222960ef380df SHA512 e69ea47eab41d69d64fa44102fbde59319da5f71a68f28a0f6ac65cd6866542b4fe58a71b84c903cfa9b1d2f26eb648cdf4de633b8df61e4f89c9fa4c2a2b1d3
DIST cloud-init-20.1.tar.gz 1088152 BLAKE2B 1c075676bcf7454965beafaaa38f3cdf08f321ddd0303b7f710c49d2a69e0fb2ec8a81870a632b7504c47af6436555c97ea9fa9c8416955de78f8f551b5509b7 SHA512 ad28e4a0290165308ef2cdb8a935778ad99039978a204bee1098460de006bc3f375a3b81d0d72971fc4f4195d5d2ade9c648fb19e6d6eba12decf750dc54b6eb

@ -0,0 +1,96 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_6 python3_7 python3_8 )
inherit distutils-r1
if [[ ${PV} == *9999 ]];then
inherit git-r3
EGIT_REPO_URI="https://git.launchpad.net/cloud-init"
else
SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
DESCRIPTION="Cloud instance initialisation magic"
HOMEPAGE="https://launchpad.net/cloud-init"
LICENSE="GPL-3"
SLOT="0"
IUSE="test"
RESTRICT="!test? ( test )"
CDEPEND="
dev-python/jinja[${PYTHON_USEDEP}]
dev-python/oauthlib[${PYTHON_USEDEP}]
dev-python/pyserial[${PYTHON_USEDEP}]
>=dev-python/configobj-5.0.2[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
dev-python/jsonpatch[${PYTHON_USEDEP}]
dev-python/jsonschema[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
"
DEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
test? (
${CDEPEND}
>=dev-python/httpretty-0.7.1[${PYTHON_USEDEP}]
dev-python/mock[${PYTHON_USEDEP}]
dev-python/nose[${PYTHON_USEDEP}]
dev-python/unittest2[${PYTHON_USEDEP}]
dev-python/coverage[${PYTHON_USEDEP}]
dev-python/contextlib2[${PYTHON_USEDEP}]
)
"
RDEPEND="
${CDEPEND}
net-analyzer/macchanger
sys-apps/iproute2
sys-fs/growpart
virtual/logger
"
PATCHES=(
# Fix Gentoo support
# https://code.launchpad.net/~gilles-dartiguelongue/cloud-init/+git/cloud-init/+merge/358777
"${FILESDIR}/${PN}-18.4-fix-packages-module.patch"
"${FILESDIR}/${PN}-20.1-gentoo-support-upstream-templates.patch"
"${FILESDIR}"/18.4-fix-filename-for-storing-locale.patch
"${FILESDIR}"/18.4-fix-update_package_sources-function.patch
"${FILESDIR}"/18.4-add-support-for-package_upgrade.patch
)
python_prepare_all() {
# Fix location of documentation installation
sed -i "s:USR + '/share/doc/cloud-init:USR + '/share/doc/${PF}:" setup.py || die
sed -i 's/version=get_version(),/version=9999,/g' setup.py || die
distutils-r1_python_prepare_all
}
python_test() {
# Do not use Makefile target as it does not setup environment correclty
esetup.py nosetests -v --where cloudinit --where tests/unittests || die
}
python_install() {
distutils-r1_python_install --init-system=sysvinit_openrc,systemd --distro gentoo
}
python_install_all() {
keepdir /etc/cloud
distutils-r1_python_install_all
# installs as non-executable
chmod +x "${D}"/etc/init.d/*
}
pkg_postinst() {
elog "cloud-init-local needs to be run in the boot runlevel because it"
elog "modifies services in the default runlevel. When a runlevel is started"
elog "it is cached, so modifications that happen to the current runlevel"
elog "while you are in it are not acted upon."
}

@ -1,18 +1,24 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_6 )
EAPI=7
PYTHON_COMPAT=( python3_6 python3_7 python3_8 )
inherit distutils-r1 git-r3
inherit distutils-r1
if [[ ${PV} == *9999 ]];then
inherit git-r3
EGIT_REPO_URI="https://git.launchpad.net/cloud-init"
else
SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
DESCRIPTION="Cloud instance initialisation magic"
HOMEPAGE="https://launchpad.net/cloud-init"
EGIT_REPO_URI="https://git.launchpad.net/cloud-init"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS=""
IUSE="test"
RESTRICT="!test? ( test )"
@ -51,7 +57,7 @@ PATCHES=(
# Fix Gentoo support
# https://code.launchpad.net/~gilles-dartiguelongue/cloud-init/+git/cloud-init/+merge/358777
"${FILESDIR}/${PN}-18.4-fix-packages-module.patch"
"${FILESDIR}/${PN}-19.4-gentoo-support-upstream-templates.patch"
"${FILESDIR}/${PN}-20.1-gentoo-support-upstream-templates.patch"
"${FILESDIR}"/18.4-fix-filename-for-storing-locale.patch
"${FILESDIR}"/18.4-fix-update_package_sources-function.patch
"${FILESDIR}"/18.4-add-support-for-package_upgrade.patch

@ -0,0 +1,93 @@
From 823454f1ea140ec47f5f9c5c3c5ad62eb458eb8a Mon Sep 17 00:00:00 2001
From: Gilles Dartiguelongue <eva@gentoo.org>
Date: Wed, 24 Oct 2018 10:52:46 +0200
Subject: [PATCH 2/5] Add support for gentoo in cloud.cfg and templates
---
config/cloud.cfg.tmpl | 8 ++++++--
templates/hosts.gentoo.tmpl | 24 ++++++++++++++++++++++++
tools/render-cloudcfg | 2 +-
3 files changed, 31 insertions(+), 3 deletions(-)
create mode 100644 templates/hosts.gentoo.tmpl
diff --git a/config/cloud.cfg.tmpl b/config/cloud.cfg.tmpl
index 1fef133a..3f5a41a2 100644
--- a/config/cloud.cfg.tmpl
+++ b/config/cloud.cfg.tmpl
@@ -134,7 +134,7 @@ cloud_final_modules:
# (not accessible to handlers/transforms)
system_info:
# This will affect which distro class gets used
-{% if variant in ["amazon", "arch", "centos", "debian", "fedora", "freebsd", "rhel", "suse", "ubuntu"] %}
+{% if variant in ["amazon", "arch", "centos", "debian", "fedora", "freebsd", "gentoo", "rhel", "suse", "ubuntu"] %}
distro: {{ variant }}
{% else %}
# Unknown/fallback distro.
@@ -172,7 +172,7 @@ system_info:
primary: http://ports.ubuntu.com/ubuntu-ports
security: http://ports.ubuntu.com/ubuntu-ports
ssh_svcname: ssh
-{% elif variant in ["amazon", "arch", "centos", "fedora", "rhel", "suse"] %}
+{% elif variant in ["amazon", "arch", "centos", "fedora", "gentoo", "rhel", "suse"] %}
# Default user name + that default users groups (if added/used)
default_user:
name: {{ variant }}
@@ -180,6 +180,10 @@ system_info:
{% endif %}
{% if variant == "suse" %}
groups: [cdrom, users]
+{% elif variant == "gentoo" %}
+ groups: [users, wheel]
+ primary_group: users
+ no_user_group: true
{% elif variant == "arch" %}
groups: [wheel, users]
{% else %}
diff --git a/templates/hosts.gentoo.tmpl b/templates/hosts.gentoo.tmpl
new file mode 100644
index 00000000..cd045fa6
--- /dev/null
+++ b/templates/hosts.gentoo.tmpl
@@ -0,0 +1,24 @@
+## template:jinja
+{#
+This file /etc/cloud/templates/hosts.gentoo.tmpl is only utilized
+if enabled in cloud-config. Specifically, in order to enable it
+you need to add the following to config:
+ manage_etc_hosts: True
+-#}
+# Your system has configured 'manage_etc_hosts' as True.
+# As a result, if you wish for changes to this file to persist
+# then you will need to either
+# a.) make changes to the master file in /etc/cloud/templates/hosts.gentoo.tmpl
+# b.) change or remove the value of 'manage_etc_hosts' in
+# /etc/cloud/cloud.cfg or cloud-config from user-data
+#
+# The following lines are desirable for IPv4 capable hosts
+127.0.0.1 {{fqdn}} {{hostname}}
+127.0.0.1 localhost.localdomain localhost
+127.0.0.1 localhost4.localdomain4 localhost4
+
+# The following lines are desirable for IPv6 capable hosts
+::1 {{fqdn}} {{hostname}}
+::1 localhost.localdomain localhost
+::1 localhost6.localdomain6 localhost6
+
diff --git a/tools/render-cloudcfg b/tools/render-cloudcfg
index 8b7cb875..d109044e 100755
--- a/tools/render-cloudcfg
+++ b/tools/render-cloudcfg
@@ -4,7 +4,7 @@ import argparse
import os
import sys
-VARIANTS = ["amazon", "arch", "centos", "debian", "fedora", "freebsd", "rhel",
- "suse", "ubuntu", "unknown"]
+VARIANTS = ["amazon", "arch", "centos", "debian", "fedora", "freebsd",
+ "gentoo", "rhel", "suse", "ubuntu", "unknown"]
if "avoid-pep8-E402-import-not-top-of-file":
_tdir = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
--
2.19.1

@ -1,2 +1,2 @@
DIST conmon-2.0.10.tar.gz 54124 BLAKE2B 0f7b3a3a488fdcf4978c9c69bbb1649b7bca2935c824d0169bb4b6ce5a97d788e2016ed3018beac98ad31723656cca3124c3014f115ce600a4ba4c3c9c02badc SHA512 50145a0e00a595213cf5db684bb51633d8129a770cbd2aca49207b3d6b8b97090b6e6eb52b3f4664978d48c6b404be369bb7d8d5e6ce26b362c377a30ddc0411
DIST conmon-2.0.11.tar.gz 58791 BLAKE2B a2b9e06041e0455d1445974b76d87e96fc6e248053ca52d48625e635ff709e180d1f9cc96cbcae9896261cf9b7401f1f10749b161451c4aa1bff4ec2d89118d0 SHA512 6ec1f14e1d0216305cc5f866566804204233239b6b428d040385e38b7c9f0d1160bb3af4ec31a441171934358f7f4b315b127507d54bc180e765846ed7b2588e
DIST conmon-2.0.15.tar.gz 61983 BLAKE2B c29de3c9df41b9f27fc2a0f0ac64c1ce27e5dbb21c9a74b060516692a910be4370f7cc4b6225e0243b809fd36848515b28017cb1766cc032a48d7e14b9a72726 SHA512 8310236045d8678bdd07bfd5a56f7ad1e9a01019e27ed8d24dcb83b4489240adce9e118a4fccb6cb0c0f3c31a0272d75bdafba9c50130903d87b7cb68288b470

@ -3,7 +3,7 @@
EAPI=7
EGIT_COMMIT="7a830be343876ac381c965c7429a7fb9b3d7a609"
EGIT_COMMIT="1bddbf7051a973f4a4fecf06faa0c48e82f1e9e1"
DESCRIPTION="An OCI container runtime monitor"
HOMEPAGE="https://github.com/containers/conmon"
SRC_URI="https://github.com/containers/conmon/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
@ -12,6 +12,7 @@ LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="systemd"
RESTRICT="test"
RDEPEND="dev-libs/glib:=
systemd? ( sys-apps/systemd:= )"

@ -1 +1,2 @@
DIST glean-1.10.3.tar.gz 51898 BLAKE2B 95bcee5caae1bdcdc586c8d8ab8097b1dfaa35c521d7b90d128db14f496d4d31e1d0d4c540c4205861e5c7fa87d0e7038227ae9db0e898e3bf43b8b9b989e766 SHA512 27d4f29bf35585f73813e9efdea0253f0be3a8fa059c6ce524fbdd37b865d9c9e10d29bb8f970317ffe772c110cc76f10ae7debce5f7433461639dc63b9349db
DIST glean-1.17.0.tar.gz 62791 BLAKE2B 6429bd721655499732f84dc8db4bd31bdb128289956ab65fab78ea5461cf7945ced893fd832ac6a3cdcedb331f3885004eaa530be1ee4fcc4168870b5c345dd3 SHA512 55c8ceae941296c038acff3f40cf4d6b783d7c6530ebd6fbd6d87938de11a1be1403741a559802c9135d3fc4d904b1936319dcf7a0179f95ac3f909667f5622c

@ -0,0 +1,27 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_6 python3_7 python3_8 )
inherit distutils-r1
DESCRIPTION="Simple program to write static config from config-drive"
HOMEPAGE="https://github.com/openstack-infra/glean"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
DEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/pbr[${PYTHON_USEDEP}]"
RDEPEND="${DEPEND}"
src_install() {
distutils-r1_src_install
newinitd "${FILESDIR}/${PN}.initd" ${PN}
}

@ -1,5 +1,2 @@
DIST containers-storage-1.14.0-vfs-user-xattrs.patch 14835 BLAKE2B 99c35933dcb25385ee83b80cf282c11c738d0e4d91216cc08a50522f6caa9bca5938299412908f16df404f99e80616a10b4c02c0ebc38240a987830ddaf15008 SHA512 62c7ed49728bd12b5706f59b0d4af3b18d90e8cfc2b06e681f84fe3f5d3e0cd5c0317147109c4e3ec4fec26f82c269af3c9813e47339ce102e4e97400b74627d
DIST libpod-1.6.4.tar.gz 8340370 BLAKE2B f68f0e846a442aa0717d4918f24260560ee77c8abdecd5af3dec06ee95ab899d623b8797962ac416bf498f22643d45de5c6d86049eead9d5c93073957c3fd9bf SHA512 69322551ab196cd3859e03988178c59a47df6f00ef0768a56e40d785f6b2130df03ff0ea76d101e21e748ea9260ede144d31f3ec21922ffd70eb2969a77d4194
DIST libpod-1.7.0.tar.gz 8679022 BLAKE2B 8a8037b75deae9f94461ab697b2a7cf095254c68d8436655c37a40375e3dd1a2b621672643e430acc8a656fcd516fa5a542e7104d6cfdbee3d213aca6228d410 SHA512 986ec7123127d3ffb26cecc39a2ae3d8a6dd3d147327449fc4e9d17f6e6606bde278f13920d0aef59410262801251e7b4cfe099cb5caafe9773533e8476848fe
DIST libpod-1.8.0.tar.gz 8992983 BLAKE2B a3b12dbfbdb0fe01ef8791de2c938cbf21c01ac0b36314d2a170c593d22eea08d912f8547861b239bb982db6acc9d2426adb97ffda4603739321cff0fb9ff1d8 SHA512 8e46633742e7dda1b9f6b641051009485331a3a95fcc8ff4c59c46a66f86ce1b79c832c5775d825aa54b885edaf533be2f864257137277a5265509026d0a8b87
DIST libpod-1.8.2.tar.gz 30065262 BLAKE2B 1bf4ca9b9547a710f1882ac40aee0cf295fecdb9d43dc6fa30633331ca9e19d15e6d671075627939167cdf100d30e8299e50bd51425226ff1994778782cf261b SHA512 c6e1426f66299a21be66be033460c44830b422f8a3319f37bbe53030f6a2bf84b140a29f30b83f6b61199f1df373f81a6d73787d16423ad942fc8a9154c68366
DIST libpod-1.9.0.tar.gz 8865279 BLAKE2B 70b83f7c0482f0cbf94f235752b241aec61790d2ec01abed6ab3eb98c5de4a338e84e70c7d5fbcb239f33a7a209160c8c4868b3b86797ac8be58f08ddde5d35d SHA512 ba7de72e03dc55896025b698465745873f3030547e19133b835e4f47c1cd1c0261f17845d50cbe7b824db2a9ed77def7883405637333e141f7abecada644b5be

@ -1,141 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EGIT_COMMIT="5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26"
inherit bash-completion-r1 flag-o-matic go-module
DESCRIPTION="Library and podman tool for running OCI-based containers in Pods"
HOMEPAGE="https://github.com/containers/libpod/"
CONTAINERS_STORAGE_PATCH="containers-storage-1.14.0-vfs-user-xattrs.patch"
SRC_URI="https://github.com/containers/libpod/archive/v${PV}.tar.gz -> ${P}.tar.gz
https://github.com/containers/storage/pull/466.patch -> ${CONTAINERS_STORAGE_PATCH}"
LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="apparmor btrfs +rootless selinux"
RESTRICT="test"
COMMON_DEPEND="
app-crypt/gpgme:=
>=app-emulation/conmon-2.0.0
|| ( >=app-emulation/runc-1.0.0_rc6 app-emulation/crun )
dev-libs/libassuan:=
dev-libs/libgpg-error:=
sys-fs/lvm2
sys-libs/libseccomp:=
apparmor? ( sys-libs/libapparmor )
btrfs? ( sys-fs/btrfs-progs )
rootless? ( app-emulation/slirp4netns )
selinux? ( sys-libs/libselinux:= )
"
DEPEND="
${COMMON_DEPEND}
dev-go/go-md2man"
RDEPEND="${COMMON_DEPEND}"
src_prepare() {
default
sed -e 's| \([ab]\)/| \1/vendor/github.com/containers/storage/|' < \
"${DISTDIR}/${CONTAINERS_STORAGE_PATCH}" > \
"${WORKDIR}/${CONTAINERS_STORAGE_PATCH}" || die
eapply "${WORKDIR}/${CONTAINERS_STORAGE_PATCH}"
# Disable installation of python modules here, since those are
# installed by separate ebuilds.
sed -e '/^GIT_.*/d' \
-e 's/$(GO) build/$(GO) build -v -work -x/' \
-e 's/^\(install:.*\) install\.python$/\1/' \
-i Makefile || die
sed -e 's|OUTPUT="${CIRRUS_TAG:.*|OUTPUT='v${PV}'|' \
-i hack/get_release_info.sh || die
}
src_compile() {
# Filter unsupported linker flags
filter-flags '-Wl,*'
[[ -f hack/apparmor_tag.sh ]] || die
if use apparmor; then
echo -e "#!/bin/sh\necho apparmor" > hack/apparmor_tag.sh || die
else
echo -e "#!/bin/sh\ntrue" > hack/apparmor_tag.sh || die
fi
[[ -f hack/btrfs_installed_tag.sh ]] || die
if use btrfs; then
echo -e "#!/bin/sh\ntrue" > hack/btrfs_installed_tag.sh || die
else
echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \
hack/btrfs_installed_tag.sh || die
fi
[[ -f hack/selinux_tag.sh ]] || die
if use selinux; then
echo -e "#!/bin/sh\necho selinux" > hack/selinux_tag.sh || die
else
echo -e "#!/bin/sh\ntrue" > hack/selinux_tag.sh || die
fi
export -n GOCACHE GOPATH XDG_CACHE_HOME
GOBIN="${S}/bin" \
emake all \
GIT_BRANCH=master \
GIT_BRANCH_CLEAN=master \
COMMIT_NO="${EGIT_COMMIT}" \
GIT_COMMIT="${EGIT_COMMIT}"
}
src_install() {
emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install
insinto /etc/containers
newins test/registries.conf registries.conf.example
newins test/policy.json policy.json.example
insinto /usr/share/containers
doins seccomp.json
newinitd "${FILESDIR}"/podman.initd podman
insinto /etc/logrotate.d
newins "${FILESDIR}/podman.logrotated" podman
dobashcomp completions/bash/*
keepdir /var/lib/containers
}
pkg_preinst() {
LIBPOD_ROOTLESS_UPGRADE=false
if use rootless; then
has_version 'app-emulation/libpod[rootless]' || LIBPOD_ROOTLESS_UPGRADE=true
fi
}
pkg_postinst() {
local want_newline=false
if [[ ! ( -e ${EROOT%/*}/etc/containers/policy.json && -e ${EROOT%/*}/etc/containers/registries.conf ) ]]; then
elog "You need to create the following config files:"
elog "/etc/containers/registries.conf"
elog "/etc/containers/policy.json"
elog "To copy over default examples, use:"
elog "cp /etc/containers/registries.conf{.example,}"
elog "cp /etc/containers/policy.json{.example,}"
want_newline=true
fi
if [[ ${LIBPOD_ROOTLESS_UPGRADE} == true ]] ; then
${want_newline} && elog ""
elog "For rootless operation, you need to configure subuid/subgid"
elog "for user running podman. In case subuid/subgid has only been"
elog "configured for root, run:"
elog "usermod --add-subuids 1065536-1131071 <user>"
elog "usermod --add-subgids 1065536-1131071 <user>"
want_newline=true
fi
}

@ -1,136 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EGIT_COMMIT="b7ce1157b00af09f4a09e39b377aa3abff46ee05"
inherit bash-completion-r1 flag-o-matic go-module
DESCRIPTION="Library and podman tool for running OCI-based containers in Pods"
HOMEPAGE="https://github.com/containers/libpod/"
SRC_URI="https://github.com/containers/libpod/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="apparmor btrfs +rootless selinux"
RESTRICT="test"
COMMON_DEPEND="
app-crypt/gpgme:=
>=app-emulation/conmon-2.0.0
|| ( >=app-emulation/runc-1.0.0_rc6 app-emulation/crun )
dev-libs/libassuan:=
dev-libs/libgpg-error:=
sys-fs/lvm2
sys-libs/libseccomp:=
apparmor? ( sys-libs/libapparmor )
btrfs? ( sys-fs/btrfs-progs )
rootless? ( app-emulation/slirp4netns )
selinux? ( sys-libs/libselinux:= )
"
DEPEND="
${COMMON_DEPEND}
dev-go/go-md2man"
RDEPEND="${COMMON_DEPEND}"
src_prepare() {
default
# Disable installation of python modules here, since those are
# installed by separate ebuilds.
sed -e '/^GIT_.*/d' \
-e 's:GO111MODULE=off:GO111MODULE=on:' \
-e 's/$(GO) build/$(GO) build -v -work -x/' \
-e 's/^\(install:.*\) install\.python$/\1/' \
-i Makefile || die
sed -e 's|OUTPUT="${CIRRUS_TAG:.*|OUTPUT='v${PV}'|' \
-i hack/get_release_info.sh || die
}
src_compile() {
# Filter unsupported linker flags
filter-flags '-Wl,*'
[[ -f hack/apparmor_tag.sh ]] || die
if use apparmor; then
echo -e "#!/bin/sh\necho apparmor" > hack/apparmor_tag.sh || die
else
echo -e "#!/bin/sh\ntrue" > hack/apparmor_tag.sh || die
fi
[[ -f hack/btrfs_installed_tag.sh ]] || die
if use btrfs; then
echo -e "#!/bin/sh\ntrue" > hack/btrfs_installed_tag.sh || die
else
echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \
hack/btrfs_installed_tag.sh || die
fi
[[ -f hack/selinux_tag.sh ]] || die
if use selinux; then
echo -e "#!/bin/sh\necho selinux" > hack/selinux_tag.sh || die
else
echo -e "#!/bin/sh\ntrue" > hack/selinux_tag.sh || die
fi
export -n GOCACHE GOPATH XDG_CACHE_HOME
GOBIN="${S}/bin" \
emake all \
GIT_BRANCH=master \
GIT_BRANCH_CLEAN=master \
COMMIT_NO="${EGIT_COMMIT}" \
GIT_COMMIT="${EGIT_COMMIT}"
}
src_install() {
emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install
insinto /etc/containers
newins test/registries.conf registries.conf.example
newins test/policy.json policy.json.example
insinto /usr/share/containers
doins seccomp.json
newinitd "${FILESDIR}"/podman.initd podman
insinto /etc/logrotate.d
newins "${FILESDIR}/podman.logrotated" podman
dobashcomp completions/bash/*
keepdir /var/lib/containers
}
pkg_preinst() {
LIBPOD_ROOTLESS_UPGRADE=false
if use rootless; then
has_version 'app-emulation/libpod[rootless]' || LIBPOD_ROOTLESS_UPGRADE=true
fi
}
pkg_postinst() {
local want_newline=false
if [[ ! ( -e ${EROOT%/*}/etc/containers/policy.json && -e ${EROOT%/*}/etc/containers/registries.conf ) ]]; then
elog "You need to create the following config files:"
elog "/etc/containers/registries.conf"
elog "/etc/containers/policy.json"
elog "To copy over default examples, use:"
elog "cp /etc/containers/registries.conf{.example,}"
elog "cp /etc/containers/policy.json{.example,}"
want_newline=true
fi
if [[ ${LIBPOD_ROOTLESS_UPGRADE} == true ]] ; then
${want_newline} && elog ""
elog "For rootless operation, you need to configure subuid/subgid"
elog "for user running podman. In case subuid/subgid has only been"
elog "configured for root, run:"
elog "usermod --add-subuids 1065536-1131071 <user>"
elog "usermod --add-subgids 1065536-1131071 <user>"
want_newline=true
fi
}

@ -3,7 +3,7 @@
EAPI=7
EGIT_COMMIT="2ced9094d4728dd09f60a177faa32339a8d0f721"
EGIT_COMMIT="d985723506a29766ed21585ba8541033db6bd572"
inherit bash-completion-r1 flag-o-matic go-module
@ -14,7 +14,7 @@ LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="apparmor btrfs +rootless selinux"
IUSE="apparmor btrfs +fuse +rootless selinux"
RESTRICT="test"
COMMON_DEPEND="
@ -23,6 +23,7 @@ COMMON_DEPEND="
|| ( >=app-emulation/runc-1.0.0_rc6 app-emulation/crun )
dev-libs/libassuan:=
dev-libs/libgpg-error:=
net-misc/cni-plugins
sys-fs/lvm2
sys-libs/libseccomp:=
@ -34,7 +35,8 @@ COMMON_DEPEND="
DEPEND="
${COMMON_DEPEND}
dev-go/go-md2man"
RDEPEND="${COMMON_DEPEND}"
RDEPEND="${COMMON_DEPEND}
fuse? ( sys-fs/fuse-overlayfs )"
src_prepare() {
default
@ -47,7 +49,7 @@ src_prepare() {
-e 's/^\(install:.*\) install\.python$/\1/'
)
has_version -b '>=dev-lang/go-1.14' || makefile_sed_args+=(-e 's:GO111MODULE=off:GO111MODULE=on:')
has_version -b '>=dev-lang/go-1.13.9' || makefile_sed_args+=(-e 's:GO111MODULE=off:GO111MODULE=on:')
sed "${makefile_sed_args[@]}" -i Makefile || die

@ -19,6 +19,10 @@
Enables dependencies for the "btrfs" graph driver, including
necessary kernel flags.
</flag>
<flag name="fuse">
Enables fuse dependencies (fuse-overlayfs is especially useful
for rootless mode).
</flag>
<flag name="rootless">
Enables dependencies for running in rootless mode.
</flag>

@ -32,7 +32,7 @@ PATCHES=(
)
src_configure() {
tc-export AR LD OBJCOPY
tc-export AR LD OBJCOPY RANLIB
local myconf=(
--prefix=/usr

@ -32,7 +32,7 @@ PATCHES=(
)
src_configure() {
tc-export AR LD OBJCOPY
tc-export AR LD OBJCOPY RANLIB
local myconf=(
--prefix=/usr

@ -11,7 +11,7 @@ MY_PN="qemu"
MY_P="${MY_PN}-${PV}"
SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.xz"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
KEYWORDS="amd64 ~ppc ~ppc64 x86"
DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM"
HOMEPAGE="https://wiki.qemu.org/Features/GuestAgent"
@ -33,7 +33,7 @@ PATCHES=(
)
src_configure() {
tc-export AR LD OBJCOPY
tc-export AR LD OBJCOPY RANLIB
local myconf=(
--prefix=/usr

@ -1,2 +1,2 @@
DIST qemu-4.2.0-patches-r1.tar.xz 14552 BLAKE2B e8832ce5b7ccda02dcd63fa60a458322a36ba754c8bc682839de4ee33cf21a83cde434bdc062916d3c83e81026b68ebf2fbe099dc6c54c191875f830d95c63ae SHA512 7495e4c9ca80fd25a1bc8244b384f88f3bc6d7190e2840b1614e3bc6fd51938e42792c6a4dbdb2d400a45532e558814462647f35d5ab21e175bec84868a4161d
DIST qemu-4.2.0-patches-r2.tar.xz 17868 BLAKE2B 3783d0f923ded66cce1195248981c83bbaf8b7ad2a270207e92e60b4d05d4787cd9324649c113a4616c2a9ddcef99841264f19915615b7a0a24dac9febed48ba SHA512 556f1c595a35ee4279b2d0890d90e48cd43d9d641ccca495e2494f62ab48dfc000dbe23718276271ced3d4b7680c814f8f8846195089ff56186f618063a83b48
DIST qemu-4.2.0.tar.xz 62222068 BLAKE2B 27c9fbcd5093af425764674817ab9299224bd03f37b5983786f6f437fff1fab3b7da247c55c4ca8b8c42726b9867005944a2f7f04f2d0d94d753961615f901ef SHA512 2a79973c2b07c53e8c57a808ea8add7b6b2cbca96488ed5d4b669ead8c9318907dec2b6109f180fc8ca8f04c0f73a56e82b3a527b5626b799d7e849f2474ec56

@ -1,15 +0,0 @@
Linux C libs are moving away from implicit header pollution with sys/types.h
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -78,6 +78,10 @@ extern int daemon(int, int);
#include <assert.h>
#include <signal.h>
+#ifdef __linux__
+#include <sys/sysmacros.h>
+#endif
+
#ifdef __OpenBSD__
#include <sys/signal.h>
#endif

@ -1,32 +0,0 @@
linux-user: Sanitize interp_info and, for mips
Sanitize interp_info structure in load_elf_binary() and, for mips only,
init its field fp_abi. This fixes appearances of "Unexpected FPU mode"
message in some MIPS use cases.
Signed-off-by: Daniel Santos <address@hidden>
Signed-off-by: Aleksandar Markovic <address@hidden>
---
linux-user/elfload.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index c1a2602..7f09d57 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -2698,6 +2698,11 @@ int load_elf_binary(struct linux_binprm *bprm, struct image_info *info)
char *elf_interpreter = NULL;
char *scratch;
+ memset(&interp_info, 0, sizeof(interp_info));
+#ifdef TARGET_MIPS
+ interp_info.fp_abi = MIPS_ABI_FP_UNKNOWN;
+#endif
+
info->start_mmap = (abi_ulong)ELF_START_MMAP;
load_elf_image(bprm->filename, bprm->fd, info,
--
2.7.4

@ -1,144 +0,0 @@
From 8ffb7265af64ec81748335ec8f20e7ab542c3850 Mon Sep 17 00:00:00 2001
From: Prasad J Pandit <pjp@fedoraproject.org>
Date: Tue, 24 Mar 2020 22:57:22 +0530
Subject: [PATCH] net: tulip: check frame size and r/w data length
Tulip network driver while copying tx/rx buffers does not check
frame size against r/w data length. This may lead to OOB buffer
access. Add check to avoid it.
Limit iterations over descriptors to avoid potential infinite
loop issue in tulip_xmit_list_update.
Reported-by: Li Qiang <pangpei.lq@antfin.com>
Reported-by: Ziming Zhang <ezrakiez@gmail.com>
Reported-by: Jason Wang <jasowang@redhat.com>
Tested-by: Li Qiang <liq3ea@gmail.com>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
hw/net/tulip.c | 36 +++++++++++++++++++++++++++---------
1 file changed, 27 insertions(+), 9 deletions(-)
diff --git a/hw/net/tulip.c b/hw/net/tulip.c
index cfac2719d3..1295f51d07 100644
--- a/hw/net/tulip.c
+++ b/hw/net/tulip.c
@@ -170,6 +170,10 @@ static void tulip_copy_rx_bytes(TULIPState *s, struct tulip_descriptor *desc)
} else {
len = s->rx_frame_len;
}
+
+ if (s->rx_frame_len + len > sizeof(s->rx_frame)) {
+ return;
+ }
pci_dma_write(&s->dev, desc->buf_addr1, s->rx_frame +
(s->rx_frame_size - s->rx_frame_len), len);
s->rx_frame_len -= len;
@@ -181,6 +185,10 @@ static void tulip_copy_rx_bytes(TULIPState *s, struct tulip_descriptor *desc)
} else {
len = s->rx_frame_len;
}
+
+ if (s->rx_frame_len + len > sizeof(s->rx_frame)) {
+ return;
+ }
pci_dma_write(&s->dev, desc->buf_addr2, s->rx_frame +
(s->rx_frame_size - s->rx_frame_len), len);
s->rx_frame_len -= len;
@@ -227,7 +235,8 @@ static ssize_t tulip_receive(TULIPState *s, const uint8_t *buf, size_t size)
trace_tulip_receive(buf, size);
- if (size < 14 || size > 2048 || s->rx_frame_len || tulip_rx_stopped(s)) {
+ if (size < 14 || size > sizeof(s->rx_frame) - 4
+ || s->rx_frame_len || tulip_rx_stopped(s)) {
return 0;
}
@@ -275,7 +284,6 @@ static ssize_t tulip_receive_nc(NetClientState *nc,
return tulip_receive(qemu_get_nic_opaque(nc), buf, size);
}
-
static NetClientInfo net_tulip_info = {
.type = NET_CLIENT_DRIVER_NIC,
.size = sizeof(NICState),
@@ -558,7 +566,7 @@ static void tulip_tx(TULIPState *s, struct tulip_descriptor *desc)
if ((s->csr[6] >> CSR6_OM_SHIFT) & CSR6_OM_MASK) {
/* Internal or external Loopback */
tulip_receive(s, s->tx_frame, s->tx_frame_len);
- } else {
+ } else if (s->tx_frame_len <= sizeof(s->tx_frame)) {
qemu_send_packet(qemu_get_queue(s->nic),
s->tx_frame, s->tx_frame_len);
}
@@ -570,23 +578,31 @@ static void tulip_tx(TULIPState *s, struct tulip_descriptor *desc)
}
}
-static void tulip_copy_tx_buffers(TULIPState *s, struct tulip_descriptor *desc)
+static int tulip_copy_tx_buffers(TULIPState *s, struct tulip_descriptor *desc)
{
int len1 = (desc->control >> TDES1_BUF1_SIZE_SHIFT) & TDES1_BUF1_SIZE_MASK;
int len2 = (desc->control >> TDES1_BUF2_SIZE_SHIFT) & TDES1_BUF2_SIZE_MASK;
+ if (s->tx_frame_len + len1 > sizeof(s->tx_frame)) {
+ return -1;
+ }
if (len1) {
pci_dma_read(&s->dev, desc->buf_addr1,
s->tx_frame + s->tx_frame_len, len1);
s->tx_frame_len += len1;
}
+ if (s->tx_frame_len + len2 > sizeof(s->tx_frame)) {
+ return -1;
+ }
if (len2) {
pci_dma_read(&s->dev, desc->buf_addr2,
s->tx_frame + s->tx_frame_len, len2);
s->tx_frame_len += len2;
}
desc->status = (len1 + len2) ? 0 : 0x7fffffff;
+
+ return 0;
}
static void tulip_setup_filter_addr(TULIPState *s, uint8_t *buf, int n)
@@ -651,13 +667,15 @@ static uint32_t tulip_ts(TULIPState *s)
static void tulip_xmit_list_update(TULIPState *s)
{
+#define TULIP_DESC_MAX 128
+ uint8_t i = 0;
struct tulip_descriptor desc;
if (tulip_ts(s) != CSR5_TS_SUSPENDED) {
return;
}
- for (;;) {
+ for (i = 0; i < TULIP_DESC_MAX; i++) {
tulip_desc_read(s, s->current_tx_desc, &desc);
tulip_dump_tx_descriptor(s, &desc);
@@ -675,10 +693,10 @@ static void tulip_xmit_list_update(TULIPState *s)
s->tx_frame_len = 0;
}
- tulip_copy_tx_buffers(s, &desc);
-
- if (desc.control & TDES1_LS) {
- tulip_tx(s, &desc);
+ if (!tulip_copy_tx_buffers(s, &desc)) {
+ if (desc.control & TDES1_LS) {
+ tulip_tx(s, &desc);
+ }
}
}
tulip_desc_write(s, s->current_tx_desc, &desc);
--
2.24.1

@ -1,39 +0,0 @@
From ce7ae180620a2fbf66232c3556678fbf4f136a5c Mon Sep 17 00:00:00 2001
From: Sergei Trofimovich <slyfox@gentoo.org>
Date: Wed, 15 Apr 2020 19:28:42 +0100
Subject: [PATCH] linux-user/syscall.c: add target-to-host mapping for
epoll_create1()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Noticed by Barnabás Virágh as a python-3.7 failue on qemu-alpha.
The bug shows up on alpha as it's one of the targets where
EPOLL_CLOEXEC differs from other targets:
sysdeps/unix/sysv/linux/alpha/bits/epoll.h: EPOLL_CLOEXEC = 01000000
sysdeps/unix/sysv/linux/bits/epoll.h: EPOLL_CLOEXEC = 02000000
Bug: https://bugs.gentoo.org/717548
Reported-by: Barnabás Virágh
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
---
linux-user/syscall.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 674f70e70a..05f03919ff 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -12012,7 +12012,7 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1,
#endif
#if defined(TARGET_NR_epoll_create1) && defined(CONFIG_EPOLL_CREATE1)
case TARGET_NR_epoll_create1:
- return get_errno(epoll_create1(arg1));
+ return get_errno(epoll_create1(target_to_host_bitmask(arg1, fcntl_flags_tbl)));
#endif
#if defined(TARGET_NR_epoll_ctl)
case TARGET_NR_epoll_ctl:
--
2.26.1

@ -1,836 +0,0 @@
# 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} )
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
https://dev.gentoo.org/~tamiko/distfiles/${P}-patches-r1.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 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"
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 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 )
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[X]
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(+)] )"
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.5.0-cflags.patch
"${FILESDIR}"/${PN}-2.5.0-sysmacros.patch
"${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
"${FILESDIR}"/${PN}-4.0.0-sanitize-interp_info.patch
"${FILESDIR}"/${PN}-4.0.0-mkdir_systemtap.patch #684902
"${FILESDIR}"/${PN}-4.2.0-CVE-2020-11102.patch #716518
"${WORKDIR}"/patches
)
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 LD NM OBJCOPY PKG_CONFIG
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+=(
--disable-bluez
$(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 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)
)
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 -j1 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,837 +0,0 @@
# 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
https://dev.gentoo.org/~tamiko/distfiles/${P}-patches-r1.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 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"
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 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 )
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[X]
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(+)] )"
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.5.0-cflags.patch
"${FILESDIR}"/${PN}-2.5.0-sysmacros.patch
"${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
"${FILESDIR}"/${PN}-4.0.0-sanitize-interp_info.patch
"${FILESDIR}"/${PN}-4.0.0-mkdir_systemtap.patch #684902
"${FILESDIR}"/${PN}-4.2.0-CVE-2020-11102.patch #716518
"${FILESDIR}"/${PN}-4.2.0-epoll_create1.patch #717548
"${WORKDIR}"/patches
)
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 LD NM OBJCOPY PKG_CONFIG
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+=(
--disable-bluez
$(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 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)
)
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
}

@ -3,7 +3,7 @@
EAPI="7"
PYTHON_COMPAT=( python{3_6,3_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"
@ -24,7 +24,7 @@ if [[ ${PV} = *9999* ]]; then
SRC_URI=""
else
SRC_URI="https://download.qemu.org/${P}.tar.xz
https://dev.gentoo.org/~tamiko/distfiles/${P}-patches-r1.tar.xz"
https://dev.gentoo.org/~tamiko/distfiles/${P}-patches-r2.tar.xz"
KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 x86"
fi
@ -216,9 +216,7 @@ RDEPEND="${CDEPEND}
PATCHES=(
"${FILESDIR}"/${PN}-2.5.0-cflags.patch
"${FILESDIR}"/${PN}-2.5.0-sysmacros.patch
"${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
"${FILESDIR}"/${PN}-4.0.0-sanitize-interp_info.patch
"${FILESDIR}"/${PN}-4.0.0-mkdir_systemtap.patch #684902
"${WORKDIR}"/patches
)
@ -374,7 +372,7 @@ src_prepare() {
default
# Use correct toolchain to fix cross-compiling
tc-export AR LD NM OBJCOPY PKG_CONFIG
tc-export AR LD NM OBJCOPY PKG_CONFIG RANLIB
export WINDRES=${CHOST}-windres
# Verbose builds
@ -496,6 +494,8 @@ qemu_src_configure() {
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)
@ -609,7 +609,7 @@ src_test() {
if [[ -n ${softmmu_targets} ]]; then
cd "${S}/softmmu-build"
pax-mark m */qemu-system-* #515550
emake -j1 check
emake check
fi
}

@ -370,7 +370,7 @@ src_prepare() {
default
# Use correct toolchain to fix cross-compiling
tc-export AR LD NM OBJCOPY PKG_CONFIG
tc-export AR LD NM OBJCOPY PKG_CONFIG RANLIB
export WINDRES=${CHOST}-windres
# Verbose builds

@ -1,4 +1,2 @@
DIST slirp4netns-0.3.3.tar.gz 162154 BLAKE2B b4a477ca94ee17e14ae0d255eb1f22713388d32cee1faff308e902a8134bc52e08cfa92537c19fbfc9869d936637c1196fee462d9699c1b5f97a0d0138dc4792 SHA512 9cccbfd30348d895c8c3f6a80ebe7991131c5a5f4907733ec65df5ce70b63427e5f666bf7c4dcb08e8dd50f1769aff0f6642c23c29eb6b9921a2d10f62d46f63
DIST slirp4netns-0.4.1.tar.gz 168785 BLAKE2B 90e2510121177771fb77d5e48baa8a1acb95f9778e72add244b2df10d92c9cc6ef284bfbeef699bd8e58724b50254a4eb6fa485a58c7c8e6cca8469cf722e1f2 SHA512 bb2a0946f4e360eb08efb46e097d21ab1bf05d199d1e3d381e065617eb9ba15434bccb5d1e76ac27664f23c8da79349383095b4d28d2a1a8ddc0fb9675aebf34
DIST slirp4netns-0.4.2.tar.gz 169120 BLAKE2B bbb809da871c885e910be771f3a6e90f7d18880d82ddeb0e569a1db33e38c80cbb1a7279341c0efcd514d88fa2874920ae89365f9fa97a38e3fb09f0eb8e5642 SHA512 87dd032afe6862fc8f7f5c3770a1d939832c29c2f55fa3579a4eac717979442e1b081aa886cc94c5638ec1339ccebe73ed1844af37a479fed2d5826bc761fc05
DIST slirp4netns-0.4.3.tar.gz 169895 BLAKE2B a8919ced6d9d68823c79396bc8914d32d157c2da566735a495d68c995c5cfafafba7eb1f761cbe9f82c3291afeae4ac55d00de4c094d5f48e2268d540dfca9e6 SHA512 a3415529486f11cf12c799cabc889dca30fbf64d08818359a285ac67c15fc7926d61105291cd8f2652174747e641e159b5b805a8954fd82f7eb9e35058b23265
DIST slirp4netns-1.0.0.tar.gz 51919 BLAKE2B 9d2d95de80e644981f185a6c243949e55761b25cb908c1ee727f06264d08e794e8228a197e0cc858f81f582d3ddb349c5d6cd2566944c63f41299fb2a5a0d3d2 SHA512 fe0256f0b91647b361999915c6c2b975ee33c437afef3cf490f5e33f582da4db97e360e86654831d7e9b2a8b0d78c91080874a9377247693ac54ffdb60ca6fb9

@ -1,32 +0,0 @@
# Copyright 1999-2019 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"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND="dev-libs/glib:2=
dev-libs/libpcre:="
DEPEND="${RDEPEND}"
RESTRICT="test"
src_prepare() {
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,36 +0,0 @@
# Copyright 1999-2019 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:=
sys-libs/libseccomp:=
sys-libs/libcap:="
DEPEND="${RDEPEND}
virtual/pkgconfig"
RESTRICT="test"
src_prepare() {
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,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -16,6 +16,7 @@ SLOT="0"
RDEPEND="
dev-libs/glib:2=
dev-libs/libpcre:=
net-libs/libslirp:=
sys-libs/libseccomp:=
sys-libs/libcap:="

@ -6,6 +6,7 @@ EAPI=6
PYTHON_COMPAT=( python3_{6,7} )
DISTUTILS_SINGLE_IMPL=1
DISTUTILS_USE_SETUPTOOLS=no
inherit gnome2 distutils-r1
DESCRIPTION="A graphical tool for administering virtual machines"
@ -59,9 +60,7 @@ src_prepare() {
distutils-r1_src_prepare
}
distutils-r1_python_compile() {
local defgraphics=
python_configure() {
esetup.py configure \
--default-graphics=spice
}

@ -6,6 +6,7 @@ EAPI=6
PYTHON_COMPAT=( python3_{6,7} )
DISTUTILS_SINGLE_IMPL=1
DISTUTILS_USE_SETUPTOOLS=no
inherit gnome2 distutils-r1
DESCRIPTION="A graphical tool for administering virtual machines"
@ -60,9 +61,7 @@ src_prepare() {
distutils-r1_src_prepare
}
distutils-r1_python_compile() {
local defgraphics=
python_configure() {
esetup.py configure \
--default-graphics=spice
}

Binary file not shown.

@ -1 +1,2 @@
DIST eselect-rust-20200101.tar.bz2 49740 BLAKE2B 4c1e767517e9f20002fac049a2ee23e47c52ccae9981316f7b7163f36a76e44dd516e7364100d1c4f5deb42dc5ddda94588639da06a71740d987bd163bc25e56 SHA512 836363e1c87b7f8e4e9c33b2cf6b8ba6846256630925676addec3d673a6e99965db19c42533de8aaf63d04713c3978f8ace73e5642071d80cd0e25a10b8cecb1
DIST eselect-rust-20200419.tar.bz2 50278 BLAKE2B 5d5e773a0e0481403e1645cb5fdf642e1ce5d1819e9699a79fcaf822ff3e6f258b2d1958548e00df200d9aaf061be1d3b1773e6b0e92b498fe75316ac13ff235 SHA512 68db32df19864a8365e272946161966b9cb513d7403dd1df7a4c7d87fba3b8bfcad59b407dca7dd6c8e0756f2e5cbde367ade69629eaa78d019d2b524051f741

@ -0,0 +1,32 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
if [[ ${PV} == "99999999" ]] ; then
inherit autotools git-r3
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
else
SRC_URI="https://dev.gentoo.org/~whissi/dist/${PN}/${P}.tar.bz2"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
fi
DESCRIPTION="Eselect module for management of multiple Rust versions"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Rust"
LICENSE="GPL-2"
SLOT="0"
IUSE=""
RDEPEND=">=app-admin/eselect-1.2.3"
src_prepare() {
default
[[ ${PV} == "99999999" ]] && eautoreconf
}
pkg_postinst() {
if has_version 'dev-lang/rust' || has_version 'dev-lang/rust-bin'; then
eselect rust update --if-unset
fi
}

Binary file not shown.

@ -1 +1,2 @@
DIST media-player-info-23.tar.gz 100849 BLAKE2B c64e33cb92c7f7b3fd77dd165fa5d33e433d09fbf171aba8ded2a274a24a544a85b7c874552951be25fe266090a882305416908975409b7c294d9435378c465d SHA512 4555456945f6f8c2fb23c86f80dc61e8e5448f3c402ac685e7eccd2df9f7861cdd41da842b0917349f7d83200ef10c810eb8b75fa6d62829834fdbdb81560f04
DIST media-player-info-24.tar.gz 90017 BLAKE2B 4b8dff7ebc910cdee986756d211f7cec0c08d5089bc5478360bcea3d24613118d3e2557633866345b1970a39a1de5ff10648ea71b7ae6ec7e7ae5635b6d46bc3 SHA512 b762f82280d7ddc3ecc4cf612f6fb3bf887c56a3ece7d9e4a45ebc7e750d71a20ba70dbff63c2b5abaae0f1c3e079545e95d8eff07ae25e27add09e92b2b1544

@ -0,0 +1,38 @@
# 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 python-any-r1
DESCRIPTION="Repository of data files describing media player capabilities"
HOMEPAGE="https://gitlab.freedesktop.org/media-player-info/media-player-info"
SRC_URI="https://www.freedesktop.org/software/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~sparc x86"
IUSE=""
# Upstream commit d83dd01a0a1df6198ee08954da1c033b88a1004b
RDEPEND=">=virtual/udev-208"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
virtual/pkgconfig
"
# This ebuild does not install any binaries
RESTRICT="binchecks strip"
DOCS=( AUTHORS NEWS )
pkg_postinst() {
# Run for /lib/udev/hwdb.d/20-usb-media-players.hwdb
udevadm hwdb --update --root="${ROOT}"
# Upstream commit 1fab57c209035f7e66198343074e9cee06718bda
if [[ ${ROOT} != "" ]] && [[ ${ROOT} != "/" ]]; then
return 0
fi
udevadm control --reload
}

Binary file not shown.

@ -0,0 +1,86 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit prefix qmake-utils xdg-utils desktop git-r3
MY_PV="${PV/_/}"
DESCRIPTION="Free cross-platform LaTeX editor (fork from texmakerX)"
HOMEPAGE="https://www.texstudio.org https://github.com/texstudio-org/texstudio"
#SRC_URI="https://github.com/texstudio-org/texstudio/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
EGIT_REPO_URI="https://github.com/texstudio-org/texstudio.git"
LICENSE="GPL-2"
SLOT="0"
IUSE="video"
COMMON_DEPEND="
app-text/hunspell:=
app-text/poppler[qt5]
>=dev-libs/quazip-0.7.2[qt5(+)]
dev-qt/designer:5
dev-qt/qtcore:5
dev-qt/qtconcurrent:5
dev-qt/qtgui:5
dev-qt/qtnetwork:5
dev-qt/qtprintsupport:5
dev-qt/qtscript:5
dev-qt/qtsingleapplication[qt5(+),X]
dev-qt/qtsvg:5
dev-qt/qttest:5
dev-qt/qtwidgets:5
dev-qt/qtxml:5
sys-libs/zlib
x11-libs/libX11
x11-libs/libXext
video? ( media-libs/phonon[qt5(+)] )"
RDEPEND="${COMMON_DEPEND}
app-text/ghostscript-gpl
app-text/psutils
media-libs/netpbm
virtual/latex-base"
DEPEND="${COMMON_DEPEND}"
BDEPEND="virtual/pkgconfig"
S=${WORKDIR}/${PN}-${MY_PV}
src_prepare() {
default
# TODO: find hunspell quazip utilities/poppler-data qtsingleapplication -delete || die
if use video; then
sed "/^PHONON/s:$:true:g" -i ${PN}.pro || die
fi
sed \
-e '/qtsingleapplication.pri/d' \
-i ${PN}.pro || die
cp "${FILESDIR}"/texmakerx_my.pri ${PN}.pri || die
eprefixify ${PN}.pri
}
src_configure() {
eqmake5 USE_SYSTEM_HUNSPELL=1 USE_SYSTEM_QUAZIP=1
}
src_install() {
local i
for i in 16x16 22x22 32x32 48x48 64x64 128x128; do
newicon -s ${i} utilities/${PN}${i}.png ${PN}.png
done
emake DESTDIR="${D}" INSTALL_ROOT="${ED}" install
}
pkg_postinst() {
xdg_icon_cache_update
xdg_desktop_database_update
}
pkg_postrm() {
xdg_icon_cache_update
xdg_desktop_database_update
}

Binary file not shown.

@ -15,7 +15,7 @@ SRC_URI="https://github.com/gentoo/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
KEYWORDS="~alpha amd64 ~arm ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
RDEPEND="sys-apps/portage[${PYTHON_USEDEP}]"
DEPEND="${RDEPEND}"

@ -1 +0,0 @@
DIST euscan-0.1.1.tar.gz 441780 BLAKE2B 7c0603cca9b9da1f849999b215db2d397656ffc1e8e87193174e6ada548497f1ebb30252f83d0fb4dbbfa92000480947b1731f1792d8612e1ad56fd56daa2b54 SHA512 2f55f8f4b0fd46b13c981ba94be29a62f16fe2890ce03f99ac14b1488c2ebb59abdaee12f671d679b934b4fd875ee27e751d2c305420f7cfb08e69ec899a75ab

@ -1,32 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE="xml"
inherit distutils-r1
DESCRIPTION="Ebuild upstream scan utility"
HOMEPAGE="https://github.com/iksaif/euscan"
SRC_URI="https://dev.gentoo.org/~hwoarang/distfiles/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
IUSE=""
KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
DEPEND="sys-apps/portage[${PYTHON_USEDEP}]"
RDEPEND="${DEPEND}
>=app-portage/gentoolkit-0.2.8[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/beautifulsoup:python-2[${PYTHON_USEDEP}]"
python_prepare_all() {
python_setup
echo VERSION="${PV}" "${PYTHON}" setup.py set_version
VERSION="${PV}" "${PYTHON}" setup.py set_version
distutils-r1_python_prepare_all
}

@ -1,32 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE="xml"
inherit distutils-r1 git-r3
DESCRIPTION="Ebuild upstream scan utility"
HOMEPAGE="https://github.com/iksaif/euscan"
EGIT_REPO_URI="https://github.com/iksaif/euscan.git"
LICENSE="GPL-2"
SLOT="0"
IUSE=""
KEYWORDS=""
DEPEND="sys-apps/portage[${PYTHON_USEDEP}]"
RDEPEND="${DEPEND}
>=app-portage/gentoolkit-0.2.8[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/beautifulsoup[${PYTHON_USEDEP}]"
python_prepare_all() {
python_setup
echo VERSION="${PV}" "${PYTHON}" setup.py set_version
VERSION="${PV}" "${PYTHON}" setup.py set_version
distutils-r1_python_prepare_all
}

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>patrick@gentoo.org</email>
</maintainer>
<maintainer type="person">
<email>alicef@gentoo.org</email>
<name>Alice Ferrazzi</name>
</maintainer>
</pkgmetadata>

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

Loading…
Cancel
Save