parent
89439b10db
commit
a09983f969
Binary file not shown.
Binary file not shown.
@ -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
|
||||
}
|
Binary file not shown.
@ -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 +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.
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.
Binary file not shown.
@ -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
|
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."
|
||||
}
|
@ -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
|
||||
|
@ -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
|
||||
}
|
@ -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
|
||||
}
|
@ -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
|
||||
}
|
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.
@ -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…
Reference in new issue