Browse Source

Sync with portage [Tue Mar 23 11:07:27 MSK 2021].

tags/1916
Calculate Linux 6 months ago
parent
commit
7d612e2319
100 changed files with 2316 additions and 771 deletions
  1. BIN
      Manifest.files.gz
  2. BIN
      acct-group/Manifest.gz
  3. +0
    -0
      acct-group/unbound-telemetry/Manifest
  4. +8
    -0
      acct-group/unbound-telemetry/metadata.xml
  5. +8
    -0
      acct-group/unbound-telemetry/unbound-telemetry-0.ebuild
  6. BIN
      acct-user/Manifest.gz
  7. +0
    -0
      acct-user/unbound-telemetry/Manifest
  8. +8
    -0
      acct-user/unbound-telemetry/metadata.xml
  9. +12
    -0
      acct-user/unbound-telemetry/unbound-telemetry-0.ebuild
  10. BIN
      app-admin/Manifest.gz
  11. +1
    -0
      app-admin/authbind/Manifest
  12. +12
    -11
      app-admin/authbind/authbind-2.1.1.ebuild
  13. +52
    -0
      app-admin/authbind/authbind-2.1.2.ebuild
  14. +0
    -2
      app-admin/authbind/files/authbind-2.1.1-respect-flags.patch
  15. +4
    -0
      app-admin/conky/conky-1.12.1.ebuild
  16. +0
    -27
      app-admin/conserver/files/8.2.4-libressl.patch
  17. +2
    -1
      app-admin/graylog/Manifest
  18. +1
    -1
      app-admin/graylog/graylog-3.3.11.ebuild
  19. +79
    -0
      app-admin/graylog/graylog-4.0.5.ebuild
  20. +0
    -1
      app-admin/puppet-agent/Manifest
  21. +0
    -74
      app-admin/puppet-agent/puppet-agent-7.3.0.ebuild
  22. +0
    -1
      app-admin/puppet/Manifest
  23. +0
    -133
      app-admin/puppet/puppet-7.3.0.ebuild
  24. +6
    -4
      app-admin/stow/stow-2.3.1.ebuild
  25. BIN
      app-arch/Manifest.gz
  26. +2
    -3
      app-arch/arc/arc-5.21p.ebuild
  27. +2
    -2
      app-arch/arc/files/arc-5.21m-darwin.patch
  28. +2
    -3
      app-arch/arc/files/arc-5.21o-interix.patch
  29. BIN
      app-backup/Manifest.gz
  30. +1
    -3
      app-backup/btrbk/Manifest
  31. +0
    -81
      app-backup/btrbk/btrbk-0.30.0.ebuild
  32. +0
    -77
      app-backup/btrbk/btrbk-0.31.1.ebuild
  33. +0
    -0
      app-backup/btrbk/btrbk-0.31.2.ebuild
  34. BIN
      app-crypt/Manifest.gz
  35. +2
    -2
      app-crypt/dieharder/dieharder-3.31.1-r3.ebuild
  36. BIN
      app-emulation/Manifest.gz
  37. +1
    -1
      app-emulation/glean/glean-1.18.2.ebuild
  38. +3
    -0
      app-emulation/qemu/qemu-5.2.0-r1.ebuild
  39. +3
    -0
      app-emulation/qemu/qemu-5.2.0-r2.ebuild
  40. +3
    -0
      app-emulation/qemu/qemu-5.2.0-r3.ebuild
  41. +3
    -0
      app-emulation/qemu/qemu-9999.ebuild
  42. +2
    -0
      app-emulation/xen-tools/Manifest
  43. +512
    -0
      app-emulation/xen-tools/xen-tools-4.13.2-r3.ebuild
  44. +512
    -0
      app-emulation/xen-tools/xen-tools-4.14.1-r1.ebuild
  45. +2
    -0
      app-emulation/xen/Manifest
  46. +165
    -0
      app-emulation/xen/xen-4.13.2-r7.ebuild
  47. +165
    -0
      app-emulation/xen/xen-4.14.1-r3.ebuild
  48. BIN
      app-metrics/Manifest.gz
  49. +2
    -1
      app-metrics/unbound-telemetry/files/initd
  50. +5
    -0
      app-metrics/unbound-telemetry/unbound-telemetry-0.1.0_pre20210321-r1.ebuild
  51. BIN
      app-misc/Manifest.gz
  52. +1
    -0
      app-misc/bgrep/Manifest
  53. +45
    -0
      app-misc/bgrep/bgrep-0.2_p20210221.ebuild
  54. +11
    -4
      app-misc/bgrep/metadata.xml
  55. +2
    -6
      app-misc/elasticsearch/Manifest
  56. +0
    -0
      app-misc/elasticsearch/elasticsearch-6.8.14.ebuild
  57. +0
    -83
      app-misc/elasticsearch/elasticsearch-7.8.1.ebuild
  58. +0
    -86
      app-misc/elasticsearch/elasticsearch-7.9.2.ebuild
  59. BIN
      app-text/Manifest.gz
  60. +8
    -6
      app-text/asa/asa-1.1-r1.ebuild
  61. +5
    -4
      app-text/mupdf/mupdf-1.18.0-r3.ebuild
  62. +1
    -0
      app-text/xchm/Manifest
  63. +0
    -1
      app-text/xchm/metadata.xml
  64. +47
    -0
      app-text/xchm/xchm-1.32.ebuild
  65. BIN
      dev-cpp/Manifest.gz
  66. +1
    -0
      dev-cpp/pangomm/Manifest
  67. +48
    -0
      dev-cpp/pangomm/pangomm-2.48.0.ebuild
  68. BIN
      dev-db/Manifest.gz
  69. +4
    -4
      dev-db/mariadb/Manifest
  70. +1
    -1
      dev-db/mariadb/mariadb-10.2.37-r3.ebuild
  71. +1
    -1
      dev-db/mariadb/mariadb-10.3.28-r3.ebuild
  72. +1
    -1
      dev-db/mariadb/mariadb-10.4.18-r3.ebuild
  73. +1
    -1
      dev-db/mariadb/mariadb-10.5.9-r4.ebuild
  74. BIN
      dev-lang/Manifest.gz
  75. +0
    -1
      dev-lang/clojure/Manifest
  76. +0
    -49
      dev-lang/clojure/clojure-1.10.3.ebuild
  77. +4
    -11
      dev-lang/clojure/metadata.xml
  78. +2
    -3
      dev-lang/mujs/mujs-1.0.9.ebuild
  79. +3
    -4
      dev-lang/mujs/mujs-1.1.0.ebuild
  80. +1
    -0
      dev-lang/spidermonkey/Manifest
  81. +439
    -0
      dev-lang/spidermonkey/spidermonkey-78.9.0.ebuild
  82. BIN
      dev-libs/Manifest.gz
  83. +1
    -1
      dev-libs/botan/botan-2.17.3.ebuild
  84. +2
    -2
      dev-libs/boxfort/boxfort-0.0.1_pre20200902.ebuild
  85. +4
    -1
      dev-libs/chmlib/metadata.xml
  86. +1
    -1
      dev-libs/gobject-introspection-common/gobject-introspection-common-1.66.1.ebuild
  87. +1
    -1
      dev-libs/gobject-introspection/gobject-introspection-1.66.1.ebuild
  88. +11
    -9
      dev-libs/hiredis/hiredis-0.14.1.ebuild
  89. +16
    -11
      dev-libs/hiredis/hiredis-1.0.0.ebuild
  90. +5
    -0
      dev-libs/icu/icu-68.2.ebuild
  91. +0
    -29
      dev-libs/ivykis/files/ivykis-fix-segfault-glibc-2.28.patch
  92. +1
    -0
      dev-libs/libassuan/Manifest
  93. +47
    -0
      dev-libs/libassuan/libassuan-2.5.5.ebuild
  94. +1
    -1
      dev-libs/libgpg-error/Manifest
  95. +7
    -1
      dev-libs/libgpg-error/libgpg-error-1.42.ebuild
  96. +0
    -12
      dev-libs/libindicator/files/libindicator-ldflags-spacing.patch
  97. +1
    -1
      dev-libs/liblinear/liblinear-242.ebuild
  98. +1
    -1
      dev-libs/liblinear/liblinear-243.ebuild
  99. +2
    -1
      dev-libs/libmix/libmix-2.05-r7.ebuild
  100. +9
    -5
      dev-libs/libsodium/libsodium-1.0.18.ebuild

BIN
Manifest.files.gz View File


BIN
acct-group/Manifest.gz View File


+ 0
- 0
acct-group/unbound-telemetry/Manifest View File


+ 8
- 0
acct-group/unbound-telemetry/metadata.xml View File

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

+ 8
- 0
acct-group/unbound-telemetry/unbound-telemetry-0.ebuild View File

@@ -0,0 +1,8 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit acct-group

ACCT_GROUP_ID=279

BIN
acct-user/Manifest.gz View File


+ 0
- 0
acct-user/unbound-telemetry/Manifest View File


+ 8
- 0
acct-user/unbound-telemetry/metadata.xml View File

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

+ 12
- 0
acct-user/unbound-telemetry/unbound-telemetry-0.ebuild View File

@@ -0,0 +1,12 @@
# Copyright 2020-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit acct-user

DESCRIPTION="user for unbound-telemetry"
ACCT_USER_ID=279
ACCT_USER_GROUPS=( unbound-telemetry )

acct-user_add_deps

BIN
app-admin/Manifest.gz View File


+ 1
- 0
app-admin/authbind/Manifest View File

@@ -1 +1,2 @@
DIST authbind_2.1.1.tar.gz 14407 BLAKE2B 624cb647b138006324611d00943ad78f9166e4c47821ef5b395c58eb75c1034591cb4a0549f6870fa4294f4f4ca628f03390b4539a4543a64111d33ac9cb3261 SHA512 f3a45fcf1d8d6e6762bc1cef7a1b89f211e4af56c68b4c6c5e508a2f7ee039499b8b2f11ce8aeb94822d20377d309035760fa7b58aabaa4e87417ca25811c812
DIST authbind_2.1.2.tar.gz 15279 BLAKE2B 5f9a31c9f51c307e9ad85bf14b436e1780d0c7dc5655ad3882e9596927862be0684d0a4a43c7d2e98a0d6a0d4c2552aaaf954ce32d3e9202bf5593ce501b5962 SHA512 85020af9703f8f39194a7719c50a51d75344db9ea99ecbc83c3c6bff0852ab1ea1cbd0b9bff6a2345e08a7bef9732e36890f33af08929e36dae8215dd070cc4d

+ 12
- 11
app-admin/authbind/authbind-2.1.1.ebuild View File

@@ -1,27 +1,27 @@
# Copyright 1999-2013 Gentoo Foundation
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=5
EAPI=7

inherit eutils multilib flag-o-matic
inherit flag-o-matic toolchain-funcs

DESCRIPTION="Bind sockets to privileged ports without root"
HOMEPAGE="http://www.chiark.greenend.org.uk/ucgi/~ian/git/authbind.git/"
HOMEPAGE="https://www.chiark.greenend.org.uk/ucgi/~ian/git/authbind.git/"
SRC_URI="mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${PV}.tar.gz"

LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""

DEPEND=""
RDEPEND=""
BDEPEND="virtual/awk"

src_prepare() {
epatch "${FILESDIR}/${P}-respect-flags.patch"
}
PATCHES=(
"${FILESDIR}/${P}-respect-flags.patch"
)

src_configure() {
tc-export CC LD

sed -i \
-e "s|^prefix=.*|prefix=/usr|" \
-e "s|^lib_dir=.*|lib_dir=\$(prefix)/$(get_libdir)|" \
@@ -38,7 +38,8 @@ src_install() {
dobin authbind
doman authbind.1 authbind-helper.8

ln -s libauthbind.so.* libauthbind.so.$(awk -F= '/MAJOR=/ { print $2 }' < Makefile)
local major=$(awk -F= '/MAJOR=/ { print $2 }' Makefile || die)
ln -s libauthbind.so.* libauthbind.so.${major} || die
dolib.so libauthbind.so*

exeinto /usr/libexec/authbind


+ 52
- 0
app-admin/authbind/authbind-2.1.2.ebuild View File

@@ -0,0 +1,52 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit flag-o-matic toolchain-funcs

DESCRIPTION="Bind sockets to privileged ports without root"
HOMEPAGE="https://www.chiark.greenend.org.uk/ucgi/~ian/git/authbind.git/"
SRC_URI="mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${PV}.tar.gz"

LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64"

BDEPEND="virtual/awk"

PATCHES=(
"${FILESDIR}/${PN}-2.1.1-respect-flags.patch"
)

src_configure() {
tc-export CC LD

sed -i \
-e "s|^prefix=.*|prefix=/usr|" \
-e "s|^lib_dir=.*|lib_dir=\$(prefix)/$(get_libdir)|" \
-e "s|^libexec_dir=.*|libexec_dir=\$(prefix)/libexec/authbind|" \
-e "s|^SHARED_LDFLAGS=.*|SHARED_LDFLAGS=$(raw-ldflags)|" \
Makefile || die "sed failed"

sed -i \
-e 's|/usr/lib|/usr/libexec|' \
authbind-helper.8 || die "sed failed"
}

src_install() {
dobin authbind
doman authbind.1 authbind-helper.8

local major=$(awk -F= '/MAJOR=/ { print $2 }' Makefile || die)
ln -s libauthbind.so.* libauthbind.so.${major} || die
dolib.so libauthbind.so*

exeinto /usr/libexec/authbind
exeopts -m4755
doexe helper

keepdir /etc/authbind/by{addr,port,uid}

dodoc debian/changelog
}

+ 0
- 2
app-admin/authbind/files/authbind-2.1.1-respect-flags.patch View File

@@ -1,5 +1,3 @@
diff --git a/Makefile b/Makefile
index c1eed73..932ea60 100644
--- a/Makefile
+++ b/Makefile
@@ -34,10 +34,9 @@ INSTALL_PROGRAM ?= install -o root -g root -m 755 -s


+ 4
- 0
app-admin/conky/conky-1.12.1.ebuild View File

@@ -76,6 +76,10 @@ CONFIG_CHECK="~IPV6"

DOCS=( README.md AUTHORS )

PATCHES=(
"${FILESDIR}"/${PN}-1.11.6-ipv6.patch
)

DISABLE_AUTOFORMATTING="yes"
DOC_CONTENTS="You can find sample configurations at ${ROOT}/usr/share/doc/${PF}.
To customize, copy to \${XDG_CONFIG_HOME}/conky/conky.conf


+ 0
- 27
app-admin/conserver/files/8.2.4-libressl.patch View File

@@ -1,27 +0,0 @@
From d3ffe500c934573115e313ac01b8fab5cb4d2e9f Mon Sep 17 00:00:00 2001
From: Stuart Henderson <stu@spacehopper.org>
Date: Wed, 27 Mar 2019 23:29:31 +0000
Subject: [PATCH] fix TLS with LibreSSL, it doesn't have :@SECLEVEL=0

---
conserver/cutil.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/conserver/cutil.h b/conserver/cutil.h
index d21abc5..db4df7f 100644
--- a/conserver/cutil.h
+++ b/conserver/cutil.h
@@ -12,10 +12,12 @@
# include <openssl/err.h>
# if OPENSSL_VERSION_NUMBER < 0x10100000L
# define TLS_method SSLv23_method
+# endif/* OPENSSL_VERSION_NUMBER < 0x10100000L */
+# if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
# define CIPHER_SEC0
# else
# define CIPHER_SEC0 ":@SECLEVEL=0"
-# endif/* OPENSSL_VERSION_NUMBER < 0x10100000L */
+# endif/* OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) */
#endif
#if HAVE_GSSAPI
# include <gssapi/gssapi.h>

+ 2
- 1
app-admin/graylog/Manifest View File

@@ -1,3 +1,4 @@
DIST graylog-3.3.10.tgz 129330433 BLAKE2B 6633a0c4ba9efa6bdece55cc9c3036a45bb78e10e6e80f29656fd5924176ee881b7f1dfb761ea7af9cac0c1cdace87335747c9fcb23bb49b51ebb400139118cf SHA512 0280f3e4f38542487e2c9a10b0aa0ea2db711a249f9e0ad241d136ee1df5aada13a4da543ac40ceb7c715273903d83a6d62ceddde5feb9ede99c95cc8325f5f2
DIST graylog-3.3.9.tgz 129306340 BLAKE2B 91fd8195176b2e7d87b0bf29ffbe000b8cddac8efb238487a0e3cc1b1048e9ea9af36d1f5362c79ce0ba964886b336a43bbc7e64d52711bf00e3721d7253a3af SHA512 acbfd63974a700f7860e4acf706cc40f8c097546510ec7ed040bfbf50cb878fbd0a9f793eb88227e27205d5af40dbad3a4299354bf70bc2c26a6998b6c3bf0c6
DIST graylog-3.3.11.tgz 129320028 BLAKE2B c90641ba1f5abaaeeba452dc623e6b6dd65ff5b3e53f111e72ebbbde1a96a9b7e82d6874d055c0fcec2e48842368fcd45510d4d4ebcfdd70a7bbcb967b5b1501 SHA512 2bcb84060254b3cd11aafd54f90debe9148cccdaec50cda53a50d302e7a152fb2622e9dd555420d25fa3ed6a8b8da5105ef322a152c3fcdabc9dec9c47338c6d
DIST graylog-4.0.2.tgz 163286730 BLAKE2B 102b410b89e776c43ce97442407e0e7a418b0e9c9ac82747e4e049b83e8c88a865861e365ecc57fcd45dd4dc7bd763ba9f8657038526523c3f341be73daf647a SHA512 535451f84bc28e9716d34138637b732a4ebe879970051f720997d93828846a2ac707a58a14f14e10fa0aa4e3aeed5694ac0339275ef2623d5ac01712067158ca
DIST graylog-4.0.5.tgz 163294449 BLAKE2B 3b3c7e74bdfbc37bb4a416733b70d153b399b66cf97215a476aa3304dead0143a60253514c804e6cbeb5b4e2935e79a9e8ff16b88d2067c8820dcc5aaf7331aa SHA512 d9df101560fa0dcf63043c1dd41342caea58d77d24e81da0912270b6b627c1ec1c30900902a8456bcd3dd1281d4d57b499defc4e0da0a58bbc61ad53f1843448

app-admin/graylog/graylog-3.3.9.ebuild → app-admin/graylog/graylog-3.3.11.ebuild View File

@@ -1,4 +1,4 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

+ 79
- 0
app-admin/graylog/graylog-4.0.5.ebuild View File

@@ -0,0 +1,79 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

DESCRIPTION="Free and open source log management"
HOMEPAGE="https://www.graylog.org"
SRC_URI="https://downloads.graylog.org/releases/graylog/${P}.tgz"

LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~ppc64 ~x86"
RESTRICT="strip"

RDEPEND="!app-admin/graylog2
acct-group/graylog
acct-user/graylog
>=virtual/jdk-1.8:*"

DOCS=(
README.markdown UPGRADING.rst
)

GRAYLOG_DATA_DIR="/var/lib/graylog"
GRAYLOG_INSTALL_DIR="/usr/share/graylog"
QA_PREBUILT="${GRAYLOG_INSTALL_DIR}/lib/sigar/libsigar*"

src_prepare() {
default

# Stick to architecture of build host
if ! use amd64; then
rm -r lib/sigar/libsigar-amd64-*.so || die "Failed in removing AMD64 support libraries"
fi
if ! use ppc64; then
rm -r lib/sigar/libsigar-ppc64-*.so || die "Failed in removing PPC64 support libraries"
fi
if ! use x86; then
rm -r lib/sigar/libsigar-x86-*.so || die "Failed in removing X86 support libraries"
fi
# Currently unsupported platforms
# QA warning galore but testing/patches welcome
rm lib/sigar/libsigar-*freebsd*so \
lib/sigar/libsigar-*solaris*so \
lib/sigar/libsigar-*hpux*.sl \
lib/sigar/libsigar-*macosx*.dylib \
lib/sigar/libsigar-ia64-*.so \
lib/sigar/libsigar-ppc-*.so \
lib/sigar/libsigar-s390x*.so \
lib/sigar/*winnt* || die "Failed in removing unsupported platform libraries"

# gentoo specific paths
sed -i "s@\(node_id_file = \).*@\1${GRAYLOG_DATA_DIR}/node-id@g; \
s@\(message_journal_dir = \).*@\1${GRAYLOG_DATA_DIR}/data/journal@g;" \
graylog.conf.example || die
}

src_install() {
default

insinto /etc/graylog
doins graylog.conf.example

insinto "${GRAYLOG_INSTALL_DIR}"
doins graylog.jar
doins -r lib plugin

keepdir "${GRAYLOG_DATA_DIR}"

newconfd "${FILESDIR}/graylog.confd" graylog
newinitd "${FILESDIR}/graylog.initd" graylog
}

pkg_postinst() {
ewarn "Graylog does not depend on need.net any more (#439092)."
ewarn
ewarn "Please configure rc_need according to your binding address in:"
ewarn "/etc/conf.d/graylog"
}

+ 0
- 1
app-admin/puppet-agent/Manifest View File

@@ -1,4 +1,3 @@
DIST puppet-agent_6.19.1-1focal_amd64.deb 22221600 BLAKE2B 22b03ef1f86b34955e8bad7c63a2022d2832dadd554316baf75419d6543e8a569902fb92a81a3dcc817401f06aa7dd47143a6cbd383f0e531c465cd3203dc4ed SHA512 4819a3509066516b0be76bc0f2afe94611405f7ac52fe50890d57c86a8a9c6c70787d46cb4b77085666f3e74bcb83a11acf1fef5d1e6ed3151ea06cbb8df3170
DIST puppet-agent_7.3.0-1focal_amd64.deb 20876192 BLAKE2B 2d7b9925771c31204f4fe12253ccff0fb68fb1c475856c31b1bf82b4c1ef3f93870660916702e9acfe57235a4293d7807c24f80789310bc4efb9784c86e895c5 SHA512 79c72664795c37fe0bbcc0d96116ff073cc07154b5713a904602308e3fadb37bc1bba04466bd29877340e0d7707475f3cc38348e1811660764d18ed3c1d53250
DIST puppet-agent_7.4.0-1focal_amd64.deb 20897448 BLAKE2B 1ed2ad91dcba1851b5759591033cfd74ec9dc644b3da416f2c1f5598b89e7cfa1048f09331717fc2b72a479ae8a7137f8f0a074debfbc183aea1197ae31b5df4 SHA512 bd58032f38f349938843550bc1e238f1cadec685ab6f90969e12e47e021fcdf4ffd4aa7be98fd797976d7873045444ba20b4ad3d05f543897a8d3594949c55f4
DIST puppet-agent_7.5.0-1focal_amd64.deb 20900560 BLAKE2B a1f0e3da38cc98e677f66fd8887e4db1e1bd9d2af0b89597c0b1f2e569b78ccd8eb2d7c84c9cf5c8d03097dd6b22ae323ad7e9f989b06692a6ca7fbd28d5cf46 SHA512 250839f7d4a09545ae509273cbfb1ba004b8d0c5559b5312642b7483c605d32b7575c52b5e9a2b9d3f65e2fcfbf00f4ed85ee498ae9dc39629f1618aaab79361

+ 0
- 74
app-admin/puppet-agent/puppet-agent-7.3.0.ebuild View File

@@ -1,74 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7
inherit eutils systemd unpacker tmpfiles

DESCRIPTION="general puppet client utils along with hiera and facter"
HOMEPAGE="https://puppetlabs.com/"
SRC_URI="http://apt.puppetlabs.com/pool/focal/puppet/${PN:0:1}/${PN}/${PN}_${PV}-1focal_amd64.deb"

LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64"
IUSE="puppetdb selinux"
RESTRICT="strip"

CDEPEND="!app-admin/puppet
!dev-ruby/hiera
!dev-ruby/facter
app-emulation/virt-what
acct-user/puppet
acct-group/puppet"

DEPEND="
${CDEPEND}
app-admin/augeas"
RDEPEND="${CDEPEND}
app-portage/eix
sys-apps/dmidecode
sys-libs/libselinux
sys-libs/glibc
sys-libs/readline:0/8
sys-libs/libxcrypt
sys-libs/ncurses:0[tinfo]
selinux? (
sys-libs/libselinux[ruby]
sec-policy/selinux-puppet
)
puppetdb? ( >=dev-ruby/puppetdb-termini-5.0.1 )"

S=${WORKDIR}

QA_PREBUILT="*"

src_install() {
# conf.d
doconfd etc/default/puppet
doconfd etc/default/pxp-agent
# logrotate.d
insinto /etc/logrotate.d
doins etc/logrotate.d/pxp-agent
# puppet itself
insinto /etc/puppetlabs
doins -r etc/puppetlabs/*
# logdir for systemd
keepdir var/log/puppetlabs/puppet/
chmod 0750 var/log/puppetlabs/puppet/
# the rest
insinto /opt
dodir opt/puppetlabs/puppet/cache
doins -r opt/*
fperms 0750 /opt/puppetlabs/puppet/cache
# init
newinitd "${FILESDIR}/puppet.initd2" puppet
systemd_dounit lib/systemd/system/puppet.service
systemd_dounit lib/systemd/system/pxp-agent.service
newtmpfiles usr/lib/tmpfiles.d/puppet-agent.conf puppet-agent.conf
# symlinks
chmod 0755 -R "${D}/opt/puppetlabs/puppet/bin/"
dosym ../../opt/puppetlabs/bin/facter /usr/bin/facter
dosym ../../opt/puppetlabs/bin/hiera /usr/bin/hiera
dosym ../../opt/puppetlabs/bin/puppet /usr/bin/puppet
dosym ../../../../usr/lib64/xcrypt/libcrypt.so.1 /opt/puppetlabs/puppet/lib/libcrypt.so.1
}

+ 0
- 1
app-admin/puppet/Manifest View File

@@ -1,6 +1,5 @@
DIST puppet-5.5.19.tar.gz 2993740 BLAKE2B aa6bde89489279769ee9a1ed5508fb223f7f0153b1b1991970018908eee70ff0816688c702b8dc779d01e1978ea7f9290c80523648730d5408a17674c11345fd SHA512 996fa155ca04c8c3c96c29cf65cd24eaf9e19e89fcf85345509dbd3673b28c263df5b62d6f016b8ac1c1da8ed86f0acf3100eae2656252bb10c542972db81de3
DIST puppet-5.5.22.tar.gz 2998132 BLAKE2B 8662c89190d0904fe44ffeca1cf9a9ddca40d57ba6fb2d1e644ca353ceb55b1ca3a91416f1eef2975233c9c4498784e7d7280c111ea0cc070870cadc69341d99 SHA512 5332b084a63bdf244672cc4751022c84a1cc50d3f394a13bdcbccf7fcf4ebea67953e88957f23046608bf25e9182548449be824c18289cb2bf1e3ed29b40dc58
DIST puppet-6.19.1.tar.gz 2917976 BLAKE2B 06019b465699494c3c5045d8d3f617046583f8bb5ebff4e72991bcf5f1ca76b4e00f56af79bbcd7ab849439fc5e627840ef08b92f586441c0cb0bb3d51805f7f SHA512 4e8a3c8d46b6aa67c31da4b510dfc32a187937af213efb9f2f0b6625b29995cdfa8cbca384ad857c19e47ae4878127564756a809c2afdff4883038249395ff01
DIST puppet-7.3.0.tar.gz 2855997 BLAKE2B 38a02a036d82be3ae727f7433b80ee1bdbb66f6fe10dd2ac37d3191fa6bcacac8cff84ae048d449564703448a87860fd9debdc043a47e7dfbcab69f6dedf479f SHA512 811e2a182af7bc8038750d99feb526b261b6c3633d5492fc2e14ab9f8902bb54d3f651730efb6f06001b96f550a9957d8604ffd30d489f038200d1359d91e98d
DIST puppet-7.4.0.tar.gz 2857763 BLAKE2B 980180d10c3329f8c94f02c6a8b403d88a3836fcc5567fd00eb4e2b4ae63d7a03709f3f14a337cdface62be04f9bb9082436f69b95f8d37996a9a933801a163a SHA512 ffb4ffb5121fcbd4b61ab1ad51fce96c1f2415b85ec785c858721a7f5604a6a8de4d595b6806657b9b1757e70763b2c495ca4d8ee694d668532cd15dd38a9c7f
DIST puppet-7.5.0.tar.gz 2859905 BLAKE2B 59c6b8fee0ce13b1aeb7a59eab21e84835682e606598dac79a838d514352988d260f610aef0f0b00547a141c503f8779668006d109c3ad86133f413b57309adc SHA512 7b3ac681a91160055e4b26c904153b0800f55222201a83e8e5f20d74a7ef153e6b029ab59b237726f20576379ea7d81e64e24126e72e8f709bbc6473c3c0793b

+ 0
- 133
app-admin/puppet/puppet-7.3.0.ebuild View File

@@ -1,133 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI="6"

USE_RUBY="ruby24 ruby25 ruby26 ruby27"

RUBY_FAKEGEM_RECIPE_TEST="rspec3"

RUBY_FAKEGEM_TASK_DOC="doc:all"

RUBY_FAKEGEM_EXTRAINSTALL="locales"

inherit eutils ruby-fakegem eapi7-ver

DESCRIPTION="A system automation and configuration management software."
HOMEPAGE="https://puppet.com/"
SRC_URI="http://downloads.puppetlabs.com/puppet/${P}.tar.gz"

LICENSE="Apache-2.0 GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm ~hppa ~ppc ~ppc64 x86"
IUSE="augeas diff doc emacs ldap rrdtool selinux shadow sqlite vim-syntax"
RESTRICT="test"

ruby_add_rdepend "
dev-ruby/hiera
dev-ruby/json:=
dev-ruby/semantic_puppet
>=dev-ruby/facter-3.0.0
dev-ruby/concurrent-ruby
augeas? ( dev-ruby/ruby-augeas )
diff? ( dev-ruby/diff-lcs )
doc? ( dev-ruby/rdoc )
ldap? ( dev-ruby/ruby-ldap )
shadow? ( dev-ruby/ruby-shadow )
sqlite? ( dev-ruby/sqlite3 )
virtual/ruby-ssl
dev-ruby/hocon"

ruby_add_bdepend "
doc? ( dev-ruby/yard )
test? (
dev-ruby/mocha
dev-ruby/rack
dev-ruby/rspec-its
)"
# this should go in the above lists, but isn't because of test deps not being keyworded
# dev-ruby/rspec-collection_matchers

RDEPEND+=" ${RDEPEND}
rrdtool? ( >=net-analyzer/rrdtool-1.2.23[ruby] )
selinux? (
sys-libs/libselinux[ruby]
sec-policy/selinux-puppet
)
vim-syntax? ( >=app-vim/puppet-syntax-3.0.1 )
>=app-portage/eix-0.18.0
acct-user/puppet
acct-group/puppet"
PDEPEND="emacs? ( >=app-emacs/puppet-mode-0.3-r1 )"

all_ruby_prepare() {
# Avoid spec that require unpackaged json-schema.
rm spec/lib/matchers/json.rb $( grep -Rl matchers/json spec) || die

# fix systemd path
epatch "${FILESDIR}/puppet-systemd.patch"

# Avoid specs that can only run in the puppet.git repository. This
# should be narrowed down to the specific specs.
rm spec/integration/parser/compiler_spec.rb || die

# Avoid failing spec that need further investigation.
rm spec/unit/module_tool/metadata_spec.rb || die
}

each_ruby_install() {
each_fakegem_install
# dosym "/usr/$(get_libdir)/ruby/gems/$(ruby_get_version)/gems/${P}" "/usr/$(get_libdir)/ruby/gems/$(ruby_get_version)/gems/${PN}"
}

all_ruby_install() {
all_fakegem_install

# systemd stuffs
insinto /usr/lib/systemd/system
doins "${WORKDIR}/all/${P}/ext/systemd/puppet.service"

# tmpfiles stuff
insinto /usr/lib/tmpfiles.d
newins "${FILESDIR}/tmpfiles.d" "puppet.conf"

# openrc init stuff
newinitd "${FILESDIR}"/puppet.init-4.x puppet

keepdir /etc/puppetlabs/puppet/ssl

keepdir /var/lib/puppet/facts
keepdir /var/lib/puppet/files
fowners -R puppet:puppet /var/lib/puppet

fperms 0750 /var/lib/puppet

fperms 0750 /etc/puppetlabs
fperms 0750 /etc/puppetlabs/puppet
fperms 0750 /etc/puppetlabs/puppet/ssl
fowners -R :puppet /etc/puppetlabs
fowners -R :puppet /var/lib/puppet

if use ldap ; then
insinto /etc/openldap/schema; doins ext/ldap/puppet.schema
fi

# ext and examples files
for f in $(find ext examples -type f) ; do
docinto "$(dirname ${f})"; dodoc "${f}"
done
}

pkg_postinst() {
elog
elog "Please, *don't* include the --ask option in EMERGE_EXTRA_OPTS as this could"
elog "cause puppet to hang while installing packages."
elog
elog "Portage Puppet module with Gentoo-specific resources:"
elog "http://forge.puppetlabs.com/gentoo/portage"
elog
elog "If updating from puppet 5 to 6, keep in mind that webrick (server/master)"
elog "suppert was removed for >=6.x, please migrate to puppetserver if you have"
elog "not already done so."
elog
}

+ 6
- 4
app-admin/stow/stow-2.3.1.ebuild View File

@@ -6,7 +6,7 @@ EAPI=7
inherit perl-functions

DESCRIPTION="GNU Stow is a symlink farm manager"
HOMEPAGE="https://www.gnu.org/software/stow/ http://git.savannah.gnu.org/cgit/stow.git"
HOMEPAGE="https://www.gnu.org/software/stow/ https://git.savannah.gnu.org/cgit/stow.git"
SRC_URI="mirror://gnu/stow/${P}.tar.gz"

LICENSE="GPL-3+"
@@ -15,13 +15,15 @@ KEYWORDS="amd64 ~arm arm64 ~hppa ~mips ~ppc ~sparc x86 ~amd64-linux ~x86-linux ~
IUSE="test"
RESTRICT="!test? ( test )"

DEPEND="dev-lang/perl
RDEPEND="dev-lang/perl:="
DEPEND="
${RDEPEND}
test? (
dev-perl/IO-stringy
virtual/perl-Test-Harness
dev-perl/Test-Output
)"
RDEPEND="dev-lang/perl:="
)
"

src_configure() {
perl_set_version


BIN
app-arch/Manifest.gz View File


+ 2
- 3
app-arch/arc/arc-5.21p.ebuild View File

@@ -1,7 +1,7 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=6
EAPI=7

inherit toolchain-funcs

@@ -12,7 +12,6 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
IUSE=""

PATCHES=(
"${FILESDIR}"/${PN}-5.21m-darwin.patch


+ 2
- 2
app-arch/arc/files/arc-5.21m-darwin.patch View File

@@ -1,5 +1,5 @@
--- arc-5.21m/tmclock.c
+++ arc-5.21m/tmclock.c
--- a/tmclock.c
+++ b/tmclock.c
@@ -14,7 +14,7 @@
/* Julian day number of the Unix* clock's origin, 01 Jan 1970. */
#define JD1970 2440587L


+ 2
- 3
app-arch/arc/files/arc-5.21o-interix.patch View File

@@ -1,6 +1,5 @@
diff -ru arc-5.21o.orig/arcdos.c arc-5.21o/arcdos.c
--- arc-5.21o.orig/arcdos.c 2008-03-30 15:44:53 +0200
+++ arc-5.21o/arcdos.c 2008-03-30 15:45:51 +0200
--- a/arcdos.c
+++ b/arcdos.c
@@ -30,7 +30,7 @@
#if UNIX
#include <sys/types.h>


BIN
app-backup/Manifest.gz View File


+ 1
- 3
app-backup/btrbk/Manifest View File

@@ -1,4 +1,2 @@
DIST btrbk-0.29.1.tar.xz 98320 BLAKE2B f7e4939fec27cc85847d7cae8797de9c59040de641ed4c3c4dcd37102daad1d3910e2ef40c3ad486614a167a7d2206c92b961ba6e5d78e351dedb8de565e3172 SHA512 78bb24fff3606bcf5cb3f4b7e31c5423ca01208cf667efa6a67978696b06ffd4f368aed372d57372ef268ea9329d51f8abd7e2e9dc59dfb0d3133c992d1d788e
DIST btrbk-0.30.0.tar.xz 101104 BLAKE2B f963fa64a409810552f1232e42d2d7ed740cbcf498098307ebff31a6e4db06d43a2c4fd5df6120847a009fd606ea4453ca93eaa6cf7a18744d557f94722876f8 SHA512 127d184fda13cb036c737f2cad428ef8313af46ceac0b6d273d670656f874d0e096bcd2daf96a2b6e7087a9985e47a99a905515376a9270171575166ca5d6449
DIST btrbk-0.31.0.tar.xz 106064 BLAKE2B 4cac3502396debb97b6e842be75a643b6229209eb0a28a8fa8ee5ec9cb70621bd9e7f2ca5a06fda1e167d59ac1bbfef76ab00b6a2d041a5371b4286c76701df9 SHA512 df27c8e2785b1a49aae6031f1787a69d41b61cdab7e58b43bc87232c99e534b664b545121c909c0317fb9adfaee48085ba07be0a465dec05c4869ed620b8c94f
DIST btrbk-0.31.1.tar.xz 106252 BLAKE2B 0e9b1acf5f784c28c3c80c9b391d69b619c0b2054ec9c73ed8425c8a0fe4211d1559bd399bb63f61937d4ba8cf94f10656a2863383688d00f737de403dedcebd SHA512 93c08bd2cd141aea37e56ecbd1396ebb2cf2a09a0132fc0b4462bc89fa9303f1a79b08a3a8b193709bc25b2473f329dacdd121760f916523c7be1133dcc30468
DIST btrbk-0.31.2.tar.xz 107124 BLAKE2B a05ef8a665d50b0f9637b1bc7026f0ca0f8364377b4165dae09cd27790dc139aaea1096a54719d948adda5050f91580650bf58db70a086cfdd14b73559fad9f3 SHA512 f953fe1a231f7a28c2d98cf124e3d52cc6d0810e6cb1673b90f335e07cd7473d0302ec227361f902c40a36dab5c075c675d2ee0543a23c37cb1e4baaf74efea0

+ 0
- 81
app-backup/btrbk/btrbk-0.30.0.ebuild View File

@@ -1,81 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit systemd

if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://github.com/digint/btrbk.git"
inherit git-r3
SRC_URI=""
else
SRC_URI="https://digint.ch/download/btrbk/releases/${P}.tar.xz"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
fi

DESCRIPTION="Tool for creating snapshots and remote backups of btrfs subvolumes"
HOMEPAGE="https://digint.ch/btrbk/"
LICENSE="GPL-3+"
SLOT="0"
IUSE="+mbuffer +doc +lsbtr"

DEPEND="doc? ( >=dev-ruby/asciidoctor-1.5.7 )"

RDEPEND="dev-lang/perl
net-misc/openssh
mbuffer? ( >=sys-block/mbuffer-20180505 )
>=sys-fs/btrfs-progs-4.12"

PATCHES=(
"${FILESDIR}/${P}-make-install-race.patch"
)

src_compile() {
emake clean
use doc && emake -C doc
}
src_install() {
local targets="install-bin install-etc install-share install-systemd"
use doc && targets="${targets} install-man install-doc"
use lsbtr && targets="${targets} install-bin-links"
emake \
DESTDIR="${D}" \
DOCDIR="/usr/share/doc/${PF}" \
SYSTEMDDIR="$(systemd_get_systemunitdir)" \
${targets}
}
pkg_preinst() {
if has_version "<${CATEGORY}/${PN}-0.26.0" ; then
upgrade_0_26_0_warning="1"
fi
if has_version "<${CATEGORY}/${PN}-0.27.0" ; then
upgrade_0_27_0_warning="1"
fi
}
pkg_postinst() {
if [[ "${upgrade_0_26_0_warning}" == "1" ]]; then
ewarn "If you are using raw targets, make sure to run the"
ewarn "\"raw_suffix2sidecar\" utility in each target directory."
fi
if [[ "${upgrade_0_27_0_warning}" == "1" ]]; then
ewarn 'Due to a bugfix in the scheduler [1] [2], previously preserved'
ewarn 'monthly/yearly backups could get deleted when upgrading to'
ewarn 'btrbk-0.27.0.'
ewarn ''
ewarn 'Before upgrading to btrbk-0.27.0, make sure to stop all cron jobs'
ewarn 'or systemd timers calling btrbk.'
ewarn ''
ewarn 'After upgrading, run "btrbk prune --dry-run --print-schedule" and'
ewarn 'check if any snapshots/backups would get deleted. If you want to'
ewarn 'forcibly preserve a snapshot/backup forever, rename it:'
ewarn ''
ewarn ' mv mysubvol.YYYYMMDD mysubvol.YYYYMMDD.keep_forever'
ewarn ''
ewarn 'Note that btrbk ignores subvolumes with unknown naming scheme, e.g.'
ewarn '(".keep_forever" suffix in the example above).'
ewarn ''
ewarn ' [1] https://github.com/digint/btrbk/issues/217'
ewarn ' [2] https://github.com/digint/btrbk/commit/719fb5f'
fi
}

+ 0
- 77
app-backup/btrbk/btrbk-0.31.1.ebuild View File

@@ -1,77 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit systemd

if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://github.com/digint/btrbk.git"
inherit git-r3
SRC_URI=""
else
SRC_URI="https://digint.ch/download/btrbk/releases/${P}.tar.xz"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
fi

DESCRIPTION="Tool for creating snapshots and remote backups of btrfs subvolumes"
HOMEPAGE="https://digint.ch/btrbk/"
LICENSE="GPL-3+"
SLOT="0"
IUSE="+mbuffer +doc +lsbtr"

DEPEND="doc? ( >=dev-ruby/asciidoctor-1.5.7 )"

RDEPEND="dev-lang/perl
net-misc/openssh
mbuffer? ( >=sys-block/mbuffer-20180505 )
>=sys-fs/btrfs-progs-4.12"

src_compile() {
emake clean
use doc && emake -C doc
}
src_install() {
local targets="install-bin install-etc install-share install-systemd"
use doc && targets="${targets} install-man install-doc"
use lsbtr && targets="${targets} install-bin-links"
emake \
DESTDIR="${D}" \
DOCDIR="/usr/share/doc/${PF}" \
SYSTEMDDIR="$(systemd_get_systemunitdir)" \
${targets}
}
pkg_preinst() {
if has_version "<${CATEGORY}/${PN}-0.26.0" ; then
upgrade_0_26_0_warning="1"
fi
if has_version "<${CATEGORY}/${PN}-0.27.0" ; then
upgrade_0_27_0_warning="1"
fi
}
pkg_postinst() {
if [[ "${upgrade_0_26_0_warning}" == "1" ]]; then
ewarn "If you are using raw targets, make sure to run the"
ewarn "\"raw_suffix2sidecar\" utility in each target directory."
fi
if [[ "${upgrade_0_27_0_warning}" == "1" ]]; then
ewarn 'Due to a bugfix in the scheduler [1] [2], previously preserved'
ewarn 'monthly/yearly backups could get deleted when upgrading to'
ewarn 'btrbk-0.27.0.'
ewarn ''
ewarn 'Before upgrading to btrbk-0.27.0, make sure to stop all cron jobs'
ewarn 'or systemd timers calling btrbk.'
ewarn ''
ewarn 'After upgrading, run "btrbk prune --dry-run --print-schedule" and'
ewarn 'check if any snapshots/backups would get deleted. If you want to'
ewarn 'forcibly preserve a snapshot/backup forever, rename it:'
ewarn ''
ewarn ' mv mysubvol.YYYYMMDD mysubvol.YYYYMMDD.keep_forever'
ewarn ''
ewarn 'Note that btrbk ignores subvolumes with unknown naming scheme, e.g.'
ewarn '(".keep_forever" suffix in the example above).'
ewarn ''
ewarn ' [1] https://github.com/digint/btrbk/issues/217'
ewarn ' [2] https://github.com/digint/btrbk/commit/719fb5f'
fi
}

app-backup/btrbk/btrbk-0.31.0.ebuild → app-backup/btrbk/btrbk-0.31.2.ebuild View File


BIN
app-crypt/Manifest.gz View File


+ 2
- 2
app-crypt/dieharder/dieharder-3.31.1-r3.ebuild View File

@@ -5,7 +5,7 @@ EAPI=7

inherit autotools flag-o-matic

DESCRIPTION="An advanced suite for testing the randomness of RNG's"
DESCRIPTION="An advanced suite for testing the randomness of RNGs"
HOMEPAGE="https://www.phy.duke.edu/~rgb/General/dieharder.php"
SRC_URI="https://www.phy.duke.edu/~rgb/General/${PN}/${P}.tgz"

@@ -42,7 +42,7 @@ src_compile() {

src_install() {
if use doc; then
DOCS=( ChangeLog manual/dieharder.pdf manual/dieharder.ps)
DOCS=( ChangeLog manual/dieharder.pdf manual/dieharder.ps )
HTML_DOCS=( dieharder.html )
fi



BIN
app-emulation/Manifest.gz View File


+ 1
- 1
app-emulation/glean/glean-1.18.2.ebuild View File

@@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"

LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 x86"
IUSE=""

DEPEND="dev-python/pbr[${PYTHON_USEDEP}]"


+ 3
- 0
app-emulation/qemu/qemu-5.2.0-r1.ebuild View File

@@ -570,6 +570,9 @@ qemu_src_configure() {
tc-enables-pie && conf_opts+=( --enable-pie )
fi

# Meson will not use a cross-file unless cross_prefix is set.
tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" )

# Plumb through equivalent of EXTRA_ECONF to allow experiments
# like bug #747928.
conf_opts+=( ${EXTRA_CONF_QEMU} )


+ 3
- 0
app-emulation/qemu/qemu-5.2.0-r2.ebuild View File

@@ -573,6 +573,9 @@ qemu_src_configure() {
tc-enables-pie && conf_opts+=( --enable-pie )
fi

# Meson will not use a cross-file unless cross_prefix is set.
tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" )

# Plumb through equivalent of EXTRA_ECONF to allow experiments
# like bug #747928.
conf_opts+=( ${EXTRA_CONF_QEMU} )


+ 3
- 0
app-emulation/qemu/qemu-5.2.0-r3.ebuild View File

@@ -573,6 +573,9 @@ qemu_src_configure() {
tc-enables-pie && conf_opts+=( --enable-pie )
fi

# Meson will not use a cross-file unless cross_prefix is set.
tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" )

# Plumb through equivalent of EXTRA_ECONF to allow experiments
# like bug #747928.
conf_opts+=( ${EXTRA_CONF_QEMU} )


+ 3
- 0
app-emulation/qemu/qemu-9999.ebuild View File

@@ -572,6 +572,9 @@ qemu_src_configure() {
tc-enables-pie && conf_opts+=( --enable-pie )
fi

# Meson will not use a cross-file unless cross_prefix is set.
tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" )

# Plumb through equivalent of EXTRA_ECONF to allow experiments
# like bug #747928.
conf_opts+=( ${EXTRA_CONF_QEMU} )


+ 2
- 0
app-emulation/xen-tools/Manifest View File

@@ -6,7 +6,9 @@ DIST ipxe-git-1dd56dbd11082fb622c2ed21cfaced4f47d798a6.tar.gz 3810726 BLAKE2B b9
DIST seabios-1.12.1.tar.gz 613450 BLAKE2B cb926b650c41a9962db407945cb5b6558079b061bd61f32ea56aedf0d37a00d10ad4434acbe717ffbc0dd1d1c0767304af8e640a53b0fc3784969dfa1590f681 SHA512 58755ce842adcb99c0f2f3ebbf9ec6d4a5072753966ab46805a96db1570847b109a90e6e03d61f9088ef877ca8ba96a8006777dc38ec434fce6b487f6c1f91d0
DIST seabios-1.13.0.tar.gz 620952 BLAKE2B 460a7dd2b2775b981bbd890ed0a50fe905794c68b0b895799667dd1378bb84125712330c2f6945112709d42cfb7b01196c7fff99051e44b6211d47d19531cfae SHA512 7f158badf7deecc2998eab2a08f3615dfe5a7c0a51323f7b4568a4d1280935bc32bb466c8226d87d2ca7e13f9f117ff0092befcc0699bc31c5018e84754e8393
DIST xen-4.13.2-upstream-patches-2.tar.xz 58992 BLAKE2B 535d67ae6a30e23feb975172a9e4abd6d7feb6c8c969aa243fdf672ed6580fe46bf57ea5530eab70457e22af9163f95061fdf97d10faa3be9f4c92033187c950 SHA512 6b6cdf72d13c0e595be65e3107c0f68299e932b74d4a1c4d59bfe3be8b76840c47f6adeaddd0efac71d5158cee8d778a0be863eea8f032cb9acf4191f629d8ae
DIST xen-4.13.2-upstream-patches-6.tar.xz 80980 BLAKE2B a20643c4f89f197e4001c0181249bc1a22b60874bc077ba2abee716b8e64bbbea0885a64632f3120960425a741328ceba1b44dc10a7a24039b328e1ded28f752 SHA512 0b097dfb04404ec6c609d35d924b3d2306c5f2de0501aa0b8e007e0af9a4ef394fae2d736435401bf8bd1fd661171c71ba712585bdb195649e3350ef9f953115
DIST xen-4.13.2.tar.gz 39037826 BLAKE2B ad2b7c3003ca29e5e60a85c581f706ef87d99eadf939ed36ebe8f6698582f7a29dbdaf502039b60a0afe7ad4ae6ce89713e69dc8b8a7d5abe65063da7f1baa5b SHA512 cd3092281c97e9421e303aa288aac04dcccd5536ba7c0ff4d51fbf3d07b5ffacfe3456ba06f5cf63577dafbf8cf3a5d9825ceb5e9ef8ca1427900cc3e57b50a3
DIST xen-4.14.1-upstream-patches-3.tar.xz 27864 BLAKE2B 69a67e863a30c0079f7955dd5306f69890a4f6db91d4cf2d1806a2bbd8afad88db7789c7eda8da0ff2a945da04916ff4ab5eaa9e529a417112ae01e31151d0dc SHA512 19e5ef39616fffbff20b2f658d61e50e21741fe3c5c4ca89f67e72a1606b3a593f93e9090fb0b5c76c1c801f931c237d2be6329bd174fa911d66b81ad4a332dd
DIST xen-4.14.1.tar.gz 39970115 BLAKE2B 21e5838b2b4d78420dcaaae2b8fc98ac876230217e6a3764aa643920150b8cef96025663e6a2fc423ab15f7f470b62547e91ce1be0337fc78f00c148c7ff40ab SHA512 c75cbec82793435f5a7026626ffdb2e9a2166b42d2be4b2f1194240e0312458124f0ebd53eeb02ce7330c22afe402a28a96b32f8af66e41e9416fe94535724c9
DIST xen-gentoo-patches-21.tar.xz 18280 BLAKE2B 95446da72fc16cb82e4e51df8796c64db05a30894a351a98dbd6700ce354c34956ca09a1af98125a4e56c337936e8fae296d806519b8afa23a82b078aa0db8f1 SHA512 3cffac162606a09b10b47dca604f167897e6ac8d153411d3464ef29a7a4d46ac5b92340884cb21279cb2d053b131f1ea5cb2111e3e9a21b3298b5ab3320ee34d
DIST xen-gentoo-patches-22.tar.xz 18764 BLAKE2B e0da49b39fbc6b689db47e40a4fbb4f6568644fe192b114cce01b0406cba4bf23339ad1bf39b972f895df004916827b6e774f97fc079aeb8ac436763efda5fc3 SHA512 5b7959af4ed30edd2526698ab60a86353e35d9dc48dc941b6df7659a7c4904260461e0decbd8d788542bd69384736f2175861d4943c3738618d20788b19ea9b1


+ 512
- 0
app-emulation/xen-tools/xen-tools-4.13.2-r3.ebuild View File

@@ -0,0 +1,512 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

PYTHON_COMPAT=( python3_{7..9} )
PYTHON_REQ_USE='ncurses,xml,threads(+)'

inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs

MY_PV=${PV/_/-}

if [[ $PV == *9999 ]]; then
inherit git-r3
REPO="xen.git"
EGIT_REPO_URI="git://xenbits.xen.org/${REPO}"
S="${WORKDIR}/${REPO}"
else
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
UPSTREAM_VER=6
SECURITY_VER=29
# xen-tools's gentoo patches tarball
GENTOO_VER=21
# xen-tools's gentoo patches version which apply to this specific ebuild
GENTOO_GPV=1
# xen-tools ovmf's patches
OVMF_VER=

SEABIOS_VER="1.12.1"
EDK2_COMMIT="06dc822d045c2bb42e497487935485302486e151"
EDK2_OPENSSL_VERSION="1_1_1g"
EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
EDK2_BROTLI_COMMIT="666c3280cc11dc433c303d79a83d4ffbdd12cc8d"
IPXE_COMMIT="1dd56dbd11082fb622c2ed21cfaced4f47d798a6"

[[ -n ${UPSTREAM_VER} ]] && \
UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz"
[[ -n ${SECURITY_VER} ]] && \
SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-security-patches-${SECURITY_VER}.tar.xz"
[[ -n ${GENTOO_VER} ]] && \
GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz"
[[ -n ${OVMF_VER} ]] && \
OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz"

SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz
https://github.com/qemu/seabios/archive/rel-${SEABIOS_VER}.tar.gz -> seabios-${SEABIOS_VER}.tar.gz
ipxe? ( http://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz )
ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz
https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz
https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz
https://github.com/google/brotli/archive/${EDK2_BROTLI_COMMIT}.tar.gz -> brotli-${EDK2_BROTLI_COMMIT}.tar.gz
${OVMF_PATCHSET_URI} )
${UPSTREAM_PATCHSET_URI}
${SECURITY_PATCHSET_URI}
${GENTOO_PATCHSET_URI}"

S="${WORKDIR}/xen-${MY_PV}"
fi

DESCRIPTION="Xen tools including QEMU and xl"
HOMEPAGE="https://www.xenproject.org"
DOCS=( README )

LICENSE="GPL-2"
SLOT="0/$(ver_cut 1-2)"
# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make
# >=dev-lang/ocaml-4 stable
# Masked in profiles/eapi-5-files instead
IUSE="api debug doc flask +hvm +ipxe ocaml ovmf +pam pygrub python +qemu +qemu-traditional +rombios screen sdl static-libs system-ipxe system-qemu system-seabios"

REQUIRED_USE="
${PYTHON_REQUIRED_USE}
ipxe? ( rombios )
ovmf? ( hvm )
pygrub? ( python )
rombios? ( hvm )
system-ipxe? ( rombios )
?? ( ipxe system-ipxe )
?? ( qemu system-qemu )"

COMMON_DEPEND="
sys-apps/pciutils
dev-libs/lzo:2
dev-libs/glib:2
dev-libs/yajl
dev-libs/libaio
dev-libs/libgcrypt:0
sys-libs/zlib
${PYTHON_DEPS}
"

DEPEND="${COMMON_DEPEND}
>=sys-kernel/linux-headers-4.11
$(python_gen_cond_dep '
dev-python/lxml[${PYTHON_MULTI_USEDEP}]
pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] )
')
x86? ( sys-devel/dev86
system-ipxe? ( sys-firmware/ipxe[qemu] )
sys-power/iasl )
api? ( dev-libs/libxml2
net-misc/curl )

ovmf? (
!arm? ( !arm64? ( dev-lang/nasm ) )
$(python_gen_impl_dep sqlite)
)
!amd64? ( >=sys-apps/dtc-1.4.0 )
amd64? ( sys-power/iasl
system-seabios? ( sys-firmware/seabios )
system-ipxe? ( sys-firmware/ipxe[qemu] )
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
dev-lang/perl
app-misc/pax-utils
doc? (
app-text/ghostscript-gpl
app-text/pandoc
$(python_gen_cond_dep '
dev-python/markdown[${PYTHON_MULTI_USEDEP}]
')
dev-texlive/texlive-latexextra
media-gfx/transfig
)
hvm? ( x11-base/xorg-proto )
qemu? (
app-arch/snappy:=
x11-libs/pixman
sdl? (
media-libs/libsdl[X]
media-libs/libsdl2[X]
)
)
system-qemu? ( app-emulation/qemu[xen] )
ocaml? ( dev-ml/findlib
>=dev-lang/ocaml-4 )
python? ( >=dev-lang/swig-4.0.0 )"

RDEPEND="${COMMON_DEPEND}
sys-apps/iproute2[-minimal]
net-misc/bridge-utils
screen? (
app-misc/screen
app-admin/logrotate
)"

# hvmloader is used to bootstrap a fully virtualized kernel
# Approved by QA team in bug #144032
QA_WX_LOAD="
usr/libexec/xen/boot/hvmloader
usr/share/qemu-xen/qemu/hppa-firmware.img
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/u-boot.e500
"

QA_PREBUILT="
usr/libexec/xen/bin/elf2dmp
usr/libexec/xen/bin/ivshmem-client
usr/libexec/xen/bin/ivshmem-server
usr/libexec/xen/bin/qemu-edid
usr/libexec/xen/bin/qemu-img
usr/libexec/xen/bin/qemu-io
usr/libexec/xen/bin/qemu-keymap
usr/libexec/xen/bin/qemu-nbd
usr/libexec/xen/bin/qemu-pr-helper
usr/libexec/xen/bin/qemu-system-i386
usr/libexec/xen/bin/virtfs-proxy-helper
usr/libexec/xen/libexec/xen-bridge-helper
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/s390-netboot.img
usr/share/qemu-xen/qemu/u-boot.e500
"

RESTRICT="test"

pkg_setup() {
python_setup
export "CONFIG_LOMOUNT=y"

#bug 522642, disable compile tools/tests
export "CONFIG_TESTS=n"

if [[ -z ${XEN_TARGET_ARCH} ]] ; then
if use x86 && use amd64; then
die "Confusion! Both x86 and amd64 are set in your use flags!"
elif use x86; then
export XEN_TARGET_ARCH="x86_32"
elif use amd64 ; then
export XEN_TARGET_ARCH="x86_64"
elif use arm; then
export XEN_TARGET_ARCH="arm32"
elif use arm64; then
export XEN_TARGET_ARCH="arm64"
else
die "Unsupported architecture!"
fi
fi
}

src_prepare() {
local i

# Upstream's patchset
if [[ -n ${UPSTREAM_VER} ]]; then
einfo "Try to apply Xen Upstream patch set"
eapply "${WORKDIR}"/patches-upstream
fi

# Security patchset
if [[ -n ${SECURITY_VER} ]]; then
einfo "Try to apply Xen Security patch set"
# apply main xen patches
# Two parallel systems, both work side by side
# Over time they may concdense into one. This will suffice for now
EPATCH_SUFFIX="patch"
EPATCH_FORCE="yes"

source "${WORKDIR}"/patches-security/${PV}.conf || die

for i in ${XEN_SECURITY_MAIN}; do
eapply "${WORKDIR}"/patches-security/xen/$i
done

# apply qemu-xen/upstream patches
pushd "${S}"/tools/qemu-xen/ > /dev/null
for i in ${XEN_SECURITY_QEMUU}; do
eapply "${WORKDIR}"/patches-security/qemuu/$i
done
popd > /dev/null

# apply qemu-traditional patches
pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null
for i in ${XEN_SECURITY_QEMUT}; do
eapply "${WORKDIR}"/patches-security/qemut/$i
done
popd > /dev/null
fi

# move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err
mv ../seabios-rel-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
pushd tools/firmware/ > /dev/null
ln -s seabios-dir-remote seabios-dir || die
popd > /dev/null

# Gentoo's patchset
if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then
einfo "Try to apply Gentoo specific patch set"
source "${FILESDIR}"/gentoo-patches.conf || die
_gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV}
for i in ${!_gpv}; do
eapply "${WORKDIR}"/patches-gentoo/$i
done
fi

# Ovmf's patchset
if use ovmf; then
if [[ -n ${OVMF_VER} ]];then
einfo "Try to apply Ovmf patch set"
pushd "${WORKDIR}"/edk2-*/ > /dev/null
eapply "${WORKDIR}"/patches-ovmf
popd > /dev/null
fi
mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die
rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
rm -r tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
rm -r tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die
fi

# ipxe
if use ipxe; then
cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die

# gcc 10
cp "${WORKDIR}/patches-gentoo/xen-tools-4.13.0-ipxe-gcc10.patch" tools/firmware/etherboot/patches/ipxe-gcc10.patch || die
echo ipxe-gcc10.patch >> tools/firmware/etherboot/patches/series || die
fi

mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die

# Fix texi2html build error with new texi2html, qemu.doc.html
sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die

use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die
sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \
-i tools/firmware/Makefile || die

# Drop .config, fixes to gcc-4.6
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"

# drop flags
unset CFLAGS
unset LDFLAGS
unset ASFLAGS
unset CPPFLAGS

if ! use pygrub; then
sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
fi

if ! use python; then
sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
fi

if ! use hvm; then
sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
# Bug 351648
elif ! use x86 && ! has x86 $(get_all_abis); then
mkdir -p "${WORKDIR}"/extra-headers/gnu || die
touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
export CPATH="${WORKDIR}"/extra-headers
fi

if use qemu; then
if use sdl; then
sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \
tools/Makefile || die
else
sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \
tools/qemu-xen-traditional/xen-setup || die
sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \
tools/Makefile || die
fi
else
# Don't bother with qemu, only needed for fully virtualised guests
sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die
fi

# Reset bash completion dir; Bug 472438
sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \
-i Config.mk || die
sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die

# xencommons, Bug #492332, sed lighter weight than patching
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
-i tools/hotplug/Linux/init.d/xencommons.in || die

# fix bashishm
sed -e '/Usage/s/\$//g' \
-i tools/hotplug/Linux/init.d/xendriverdomain.in || die

# respect multilib, usr/lib/libcacard.so.0.0.0
sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
-i tools/qemu-xen/configure || die

#bug 518136, don't build 32bit exactuable for nomultilib profile
if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
fi

# uncomment lines in xl.conf
sed -e 's:^#autoballoon=:autoballoon=:' \
-e 's:^#lockfile=:lockfile=:' \
-e 's:^#vif.default.script=:vif.default.script=:' \
-i tools/examples/xl.conf || die

# disable capstone (Bug #673474)
sed -e "s:\$\$source/configure:\0 --disable-capstone:" \
-i tools/Makefile || die

# disable glusterfs
sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \
-i tools/Makefile || die

default
}

src_configure() {
local myconf="--prefix=${PREFIX}/usr \
--libdir=${PREFIX}/usr/$(get_libdir) \
--libexecdir=${PREFIX}/usr/libexec \
--localstatedir=${EPREFIX}/var \
--disable-werror \
--disable-xen \
--enable-tools \
--enable-docs \
$(use_enable api xenapi) \
$(use_enable ipxe) \
$(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '') \
$(use_enable ocaml ocamltools) \
$(use_enable ovmf) \
$(use_enable pam) \
$(use_enable rombios) \
--with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \
"

use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin"
use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64"
use amd64 && myconf+=" $(use_enable qemu-traditional)"
tc-ld-disable-gold # Bug 669570
econf ${myconf}
}

src_compile() {
local myopt
use debug && myopt="${myopt} debug=y"
use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y"

if test-flag-CC -fno-strict-overflow; then
append-flags -fno-strict-overflow
fi

emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt}

if use doc; then
emake -C docs build
else
emake -C docs man-pages
fi
}

src_install() {
# Override auto-detection in the build system, bug #382573
export INITD_DIR=/tmp/init.d
export CONFIG_LEAF_DIR=../tmp/default

# Let the build system compile installed Python modules.
local PYTHONDONTWRITEBYTECODE
export PYTHONDONTWRITEBYTECODE

emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
XEN_PYTHON_NATIVE_INSTALL=y install-tools

# Created at runtime
rm -rv "${ED}/var/run" || die

# Fix the remaining Python shebangs.
python_fix_shebang "${D}"

# Remove RedHat-specific stuff
rm -rf "${D}"/tmp || die

if use doc; then
emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
dodoc -r docs/{pdf,txt}
else
emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032
fi
dodoc ${DOCS[@]}

newconfd "${FILESDIR}"/xendomains.confd xendomains
newconfd "${FILESDIR}"/xenstored.confd xenstored
newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored
newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
newinitd "${FILESDIR}"/xencommons.initd xencommons
newconfd "${FILESDIR}"/xencommons.confd xencommons
newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog

if use screen; then
cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
keepdir /var/log/xen-consoles
fi

# For -static-libs wrt Bug 384355
if ! use static-libs; then
rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a
fi

# for xendomains
keepdir /etc/xen/auto

# Remove files failing QA AFTER emake installs them, avoiding seeking absent files
find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
-o -name openbios-ppc -o -name palcode-clipper \) -delete || die

keepdir /var/lib/xen/dump
keepdir /var/lib/xen/xenpaging
keepdir /var/lib/xenstored
keepdir /var/log/xen

if use python; then
python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/xenstat.py"
python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/_xenstat.so"
fi

python_optimize
}

pkg_postinst() {
elog "Official Xen Guide and the offical wiki page:"
elog "https://wiki.gentoo.org/wiki/Xen"
elog "https://wiki.xen.org/wiki/Main_Page"
elog ""
elog "Recommended to utilise the xencommons script to config system at boot"
elog "Add by use of rc-update on completion of the install"

if ! use hvm; then
echo
elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm"
elog "support enable the hvm use flag."
elog "An x86 or amd64 system is required to build HVM support."
fi

if use qemu; then
elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source"
elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently"
elog "with the qemu capable xen. It is up to the user to distinguish between and utilise"
elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise"
fi
}

+ 512
- 0
app-emulation/xen-tools/xen-tools-4.14.1-r1.ebuild View File

@@ -0,0 +1,512 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

PYTHON_COMPAT=( python3_{6..9} )
PYTHON_REQ_USE='ncurses,xml,threads(+)'

inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs

MY_PV=${PV/_/-}

if [[ $PV == *9999 ]]; then
inherit git-r3
REPO="xen.git"
EGIT_REPO_URI="git://xenbits.xen.org/${REPO}"
S="${WORKDIR}/${REPO}"
else
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
UPSTREAM_VER=3
SECURITY_VER=
# xen-tools's gentoo patches tarball
GENTOO_VER=22
# xen-tools's gentoo patches version which apply to this specific ebuild
GENTOO_GPV=0
# xen-tools ovmf's patches
OVMF_VER=

SEABIOS_VER="1.13.0"
EDK2_COMMIT="06dc822d045c2bb42e497487935485302486e151"
EDK2_OPENSSL_VERSION="1_1_1g"
EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
EDK2_BROTLI_COMMIT="666c3280cc11dc433c303d79a83d4ffbdd12cc8d"
IPXE_COMMIT="1dd56dbd11082fb622c2ed21cfaced4f47d798a6"

[[ -n ${UPSTREAM_VER} ]] && \
UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz"
[[ -n ${SECURITY_VER} ]] && \
SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-security-patches-${SECURITY_VER}.tar.xz"
[[ -n ${GENTOO_VER} ]] && \
GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz"
[[ -n ${OVMF_VER} ]] && \
OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz"

SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz
https://github.com/qemu/seabios/archive/rel-${SEABIOS_VER}.tar.gz -> seabios-${SEABIOS_VER}.tar.gz
ipxe? ( http://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz )
ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz
https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz
https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz
https://github.com/google/brotli/archive/${EDK2_BROTLI_COMMIT}.tar.gz -> brotli-${EDK2_BROTLI_COMMIT}.tar.gz
${OVMF_PATCHSET_URI} )
${UPSTREAM_PATCHSET_URI}
${SECURITY_PATCHSET_URI}
${GENTOO_PATCHSET_URI}"

S="${WORKDIR}/xen-${MY_PV}"
fi

DESCRIPTION="Xen tools including QEMU and xl"
HOMEPAGE="https://www.xenproject.org"
DOCS=( README )

LICENSE="GPL-2"
SLOT="0/$(ver_cut 1-2)"
# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make
# >=dev-lang/ocaml-4 stable
# Masked in profiles/eapi-5-files instead
IUSE="api debug doc flask +hvm +ipxe ocaml ovmf +pam pygrub python +qemu +qemu-traditional +rombios screen sdl static-libs system-ipxe system-qemu system-seabios"

REQUIRED_USE="
${PYTHON_REQUIRED_USE}
ipxe? ( rombios )
ovmf? ( hvm )
pygrub? ( python )
rombios? ( hvm )
system-ipxe? ( rombios )
?? ( ipxe system-ipxe )
?? ( qemu system-qemu )"

COMMON_DEPEND="
sys-apps/pciutils
dev-libs/lzo:2
dev-libs/glib:2
dev-libs/yajl
dev-libs/libaio
dev-libs/libgcrypt:0
sys-libs/zlib
${PYTHON_DEPS}
"

DEPEND="${COMMON_DEPEND}
app-misc/pax-utils
dev-lang/perl
>=sys-kernel/linux-headers-4.11
x11-libs/pixman
$(python_gen_cond_dep '
dev-python/lxml[${PYTHON_MULTI_USEDEP}]
pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] )
')
x86? ( sys-devel/dev86
system-ipxe? ( sys-firmware/ipxe[qemu] )
sys-power/iasl )
api? ( dev-libs/libxml2
net-misc/curl )

ovmf? (
!arm? ( !arm64? ( dev-lang/nasm ) )
$(python_gen_impl_dep sqlite)
)
!amd64? ( >=sys-apps/dtc-1.4.0 )
amd64? ( sys-power/iasl
system-seabios? ( sys-firmware/seabios )
system-ipxe? ( sys-firmware/ipxe[qemu] )
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
doc? (
app-text/ghostscript-gpl
app-text/pandoc
$(python_gen_cond_dep '
dev-python/markdown[${PYTHON_MULTI_USEDEP}]
')
dev-texlive/texlive-latexextra
media-gfx/transfig
)
hvm? ( x11-base/xorg-proto )
qemu? (
app-arch/snappy:=
sdl? (
media-libs/libsdl[X]
media-libs/libsdl2[X]
)
)
system-qemu? ( app-emulation/qemu[xen] )
ocaml? ( dev-ml/findlib
>=dev-lang/ocaml-4 )
python? ( >=dev-lang/swig-4.0.0 )"

RDEPEND="${COMMON_DEPEND}
sys-apps/iproute2[-minimal]
net-misc/bridge-utils
screen? (
app-misc/screen
app-admin/logrotate
)"

# hvmloader is used to bootstrap a fully virtualized kernel
# Approved by QA team in bug #144032
QA_WX_LOAD="
usr/libexec/xen/boot/hvmloader
usr/share/qemu-xen/qemu/hppa-firmware.img
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/u-boot.e500
"

QA_PREBUILT="
usr/libexec/xen/bin/elf2dmp
usr/libexec/xen/bin/ivshmem-client
usr/libexec/xen/bin/ivshmem-server
usr/libexec/xen/bin/qemu-edid
usr/libexec/xen/bin/qemu-img
usr/libexec/xen/bin/qemu-io
usr/libexec/xen/bin/qemu-keymap
usr/libexec/xen/bin/qemu-nbd
usr/libexec/xen/bin/qemu-pr-helper
usr/libexec/xen/bin/qemu-system-i386
usr/libexec/xen/bin/virtfs-proxy-helper
usr/libexec/xen/libexec/xen-bridge-helper
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/s390-netboot.img
usr/share/qemu-xen/qemu/u-boot.e500
"

RESTRICT="test"

pkg_setup() {
python_setup
export "CONFIG_LOMOUNT=y"

#bug 522642, disable compile tools/tests
export "CONFIG_TESTS=n"

if [[ -z ${XEN_TARGET_ARCH} ]] ; then
if use x86 && use amd64; then
die "Confusion! Both x86 and amd64 are set in your use flags!"
elif use x86; then
export XEN_TARGET_ARCH="x86_32"
elif use amd64 ; then
export XEN_TARGET_ARCH="x86_64"
elif use arm; then
export XEN_TARGET_ARCH="arm32"
elif use arm64; then
export XEN_TARGET_ARCH="arm64"
else
die "Unsupported architecture!"
fi
fi
}

src_prepare() {
local i

# Upstream's patchset
if [[ -n ${UPSTREAM_VER} ]]; then
einfo "Try to apply Xen Upstream patch set"
eapply "${WORKDIR}"/patches-upstream
fi

# Security patchset
if [[ -n ${SECURITY_VER} ]]; then
einfo "Try to apply Xen Security patch set"
# apply main xen patches
# Two parallel systems, both work side by side
# Over time they may concdense into one. This will suffice for now
EPATCH_SUFFIX="patch"
EPATCH_FORCE="yes"

source "${WORKDIR}"/patches-security/${PV}.conf || die

for i in ${XEN_SECURITY_MAIN}; do
eapply "${WORKDIR}"/patches-security/xen/$i
done

# apply qemu-xen/upstream patches
pushd "${S}"/tools/qemu-xen/ > /dev/null
for i in ${XEN_SECURITY_QEMUU}; do
eapply "${WORKDIR}"/patches-security/qemuu/$i
done
popd > /dev/null

# apply qemu-traditional patches
pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null
for i in ${XEN_SECURITY_QEMUT}; do
eapply "${WORKDIR}"/patches-security/qemut/$i
done
popd > /dev/null
fi

# move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err
mv ../seabios-rel-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
pushd tools/firmware/ > /dev/null
ln -s seabios-dir-remote seabios-dir || die
popd > /dev/null

# Gentoo's patchset
if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then
einfo "Try to apply Gentoo specific patch set"
source "${FILESDIR}"/gentoo-patches.conf || die
_gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV}
for i in ${!_gpv}; do
eapply "${WORKDIR}"/patches-gentoo/$i
done
fi

# Ovmf's patchset
if use ovmf; then
if [[ -n ${OVMF_VER} ]];then
einfo "Try to apply Ovmf patch set"
pushd "${WORKDIR}"/edk2-*/ > /dev/null
eapply "${WORKDIR}"/patches-ovmf
popd > /dev/null
fi
mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die
rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
rm -r tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
rm -r tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die
fi

# ipxe
if use ipxe; then
cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die

# gcc 10
cp "${WORKDIR}/patches-gentoo/xen-tools-4.13.0-ipxe-gcc10.patch" tools/firmware/etherboot/patches/ipxe-gcc10.patch || die
echo ipxe-gcc10.patch >> tools/firmware/etherboot/patches/series || die
fi

mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die

# Fix texi2html build error with new texi2html, qemu.doc.html
sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die

use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die
sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \
-i tools/firmware/Makefile || die

# Drop .config, fixes to gcc-4.6
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"

# drop flags
unset CFLAGS
unset LDFLAGS
unset ASFLAGS
unset CPPFLAGS

if ! use pygrub; then
sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
fi

if ! use python; then
sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
fi

if ! use hvm; then
sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
# Bug 351648
elif ! use x86 && ! has x86 $(get_all_abis); then
mkdir -p "${WORKDIR}"/extra-headers/gnu || die
touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
export CPATH="${WORKDIR}"/extra-headers
fi

if use qemu; then
if use sdl; then
sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \
tools/Makefile || die
else
sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \
tools/qemu-xen-traditional/xen-setup || die
sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \
tools/Makefile || die
fi
else
# Don't bother with qemu, only needed for fully virtualised guests
sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die
fi

# Reset bash completion dir; Bug 472438
sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \
-i Config.mk || die
sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die

# xencommons, Bug #492332, sed lighter weight than patching
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
-i tools/hotplug/Linux/init.d/xencommons.in || die

# fix bashishm
sed -e '/Usage/s/\$//g' \
-i tools/hotplug/Linux/init.d/xendriverdomain.in || die

# respect multilib, usr/lib/libcacard.so.0.0.0
sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
-i tools/qemu-xen/configure || die

#bug 518136, don't build 32bit exactuable for nomultilib profile
if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
fi

# uncomment lines in xl.conf
sed -e 's:^#autoballoon=:autoballoon=:' \
-e 's:^#lockfile=:lockfile=:' \
-e 's:^#vif.default.script=:vif.default.script=:' \
-i tools/examples/xl.conf || die

# disable capstone (Bug #673474)
sed -e "s:\$\$source/configure:\0 --disable-capstone:" \
-i tools/Makefile || die

# disable glusterfs
sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \
-i tools/Makefile || die

default
}

src_configure() {
local myconf="--prefix=${PREFIX}/usr \
--libdir=${PREFIX}/usr/$(get_libdir) \
--libexecdir=${PREFIX}/usr/libexec \
--localstatedir=${EPREFIX}/var \
--disable-werror \
--disable-xen \
--enable-tools \
--enable-docs \
$(use_enable api xenapi) \
$(use_enable ipxe) \
$(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '') \
$(use_enable ocaml ocamltools) \
$(use_enable ovmf) \
$(use_enable pam) \
$(use_enable rombios) \
--with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \
"

use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin"
use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64"
use amd64 && myconf+=" $(use_enable qemu-traditional)"
tc-ld-disable-gold # Bug 669570
econf ${myconf}
}

src_compile() {
local myopt
use debug && myopt="${myopt} debug=y"
use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y"

if test-flag-CC -fno-strict-overflow; then
append-flags -fno-strict-overflow
fi

emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt}

if use doc; then
emake -C docs build
else
emake -C docs man-pages
fi
}

src_install() {
# Override auto-detection in the build system, bug #382573
export INITD_DIR=/tmp/init.d
export CONFIG_LEAF_DIR=../tmp/default

# Let the build system compile installed Python modules.
local PYTHONDONTWRITEBYTECODE
export PYTHONDONTWRITEBYTECODE

emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
XEN_PYTHON_NATIVE_INSTALL=y install-tools

# Created at runtime
rm -rv "${ED}/var/run" || die

# Fix the remaining Python shebangs.
python_fix_shebang "${D}"

# Remove RedHat-specific stuff
rm -rf "${D}"/tmp || die

if use doc; then
emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
dodoc -r docs/{pdf,txt}
else
emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032
fi
dodoc ${DOCS[@]}

newconfd "${FILESDIR}"/xendomains.confd xendomains
newconfd "${FILESDIR}"/xenstored.confd xenstored
newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored
newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
newinitd "${FILESDIR}"/xencommons.initd xencommons
newconfd "${FILESDIR}"/xencommons.confd xencommons
newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog

if use screen; then
cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
keepdir /var/log/xen-consoles
fi

# For -static-libs wrt Bug 384355
if ! use static-libs; then
rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a
fi

# for xendomains
keepdir /etc/xen/auto

# Remove files failing QA AFTER emake installs them, avoiding seeking absent files
find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
-o -name openbios-ppc -o -name palcode-clipper \) -delete || die

keepdir /var/lib/xen/dump
keepdir /var/lib/xen/xenpaging
keepdir /var/lib/xenstored
keepdir /var/log/xen

if use python; then
python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/xenstat.py"
python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/_xenstat.so"
fi

python_optimize
}

pkg_postinst() {
elog "Official Xen Guide and the offical wiki page:"
elog "https://wiki.gentoo.org/wiki/Xen"
elog "https://wiki.xen.org/wiki/Main_Page"
elog ""
elog "Recommended to utilise the xencommons script to config system at boot"
elog "Add by use of rc-update on completion of the install"

if ! use hvm; then
echo
elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm"
elog "support enable the hvm use flag."
elog "An x86 or amd64 system is required to build HVM support."
fi

if use qemu; then
elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source"
elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently"
elog "with the qemu capable xen. It is up to the user to distinguish between and utilise"
elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise"
fi
}

+ 2
- 0
app-emulation/xen/Manifest View File

@@ -1,5 +1,7 @@
DIST xen-4.13.2-upstream-patches-4.tar.xz 65324 BLAKE2B 0e71e4600fffcf1341a52103a6318485c1da54101ec59dbdb9824be5a5ed1f977135a9c3e4ce48cf14922aa0a2e3ff5097dc870286e3b142d060c22d78079cb3 SHA512 3f0e41b685655c7753204862ea6b8e502ff4b4f76e4788ca07ab93a4bb3c636d24ad933c578f7c6e4c866cfb0d6b7b7234124da7c2fed0a4b34f2fbe401c56e1
DIST xen-4.13.2-upstream-patches-5.tar.xz 76580 BLAKE2B 8eeab100c14d769174e7d935d4e081ffc2d72b771f8022ce5c31b89d860ddba5381baf55b87443dc3bc555b404595492d30bc7f2a103c77762004acfce70446e SHA512 5dd5c63267e9542626315efec94642901cff55f4a1f8148c58f86677254381242fce3d6c5c0ae72665b452441c54647d0b9a132a2a18ffb4ff7eaad86ef227de
DIST xen-4.13.2-upstream-patches-6.tar.xz 80980 BLAKE2B a20643c4f89f197e4001c0181249bc1a22b60874bc077ba2abee716b8e64bbbea0885a64632f3120960425a741328ceba1b44dc10a7a24039b328e1ded28f752 SHA512 0b097dfb04404ec6c609d35d924b3d2306c5f2de0501aa0b8e007e0af9a4ef394fae2d736435401bf8bd1fd661171c71ba712585bdb195649e3350ef9f953115
DIST xen-4.13.2.tar.gz 39037826 BLAKE2B ad2b7c3003ca29e5e60a85c581f706ef87d99eadf939ed36ebe8f6698582f7a29dbdaf502039b60a0afe7ad4ae6ce89713e69dc8b8a7d5abe65063da7f1baa5b SHA512 cd3092281c97e9421e303aa288aac04dcccd5536ba7c0ff4d51fbf3d07b5ffacfe3456ba06f5cf63577dafbf8cf3a5d9825ceb5e9ef8ca1427900cc3e57b50a3
DIST xen-4.14.1-upstream-patches-2.tar.xz 22920 BLAKE2B 890cd9bcc3c72b4ed192476a913de0377d50ddeb180e0d6dc4720e86662387a699ad74b263adf2b867b2421fcf3efdcacaa17bf581643afc50c9dc7e8a3dfc60 SHA512 ca0e53f40fe23d9a6c6374b460fcc0c8063e511f03ca86c02291fcb73bf9f91594de6fd615609997e0aac2e9c59ccc8512e4151a1d2646a70f3b5bacd95ad325
DIST xen-4.14.1-upstream-patches-3.tar.xz 27864 BLAKE2B 69a67e863a30c0079f7955dd5306f69890a4f6db91d4cf2d1806a2bbd8afad88db7789c7eda8da0ff2a945da04916ff4ab5eaa9e529a417112ae01e31151d0dc SHA512 19e5ef39616fffbff20b2f658d61e50e21741fe3c5c4ca89f67e72a1606b3a593f93e9090fb0b5c76c1c801f931c237d2be6329bd174fa911d66b81ad4a332dd
DIST xen-4.14.1.tar.gz 39970115 BLAKE2B 21e5838b2b4d78420dcaaae2b8fc98ac876230217e6a3764aa643920150b8cef96025663e6a2fc423ab15f7f470b62547e91ce1be0337fc78f00c148c7ff40ab SHA512 c75cbec82793435f5a7026626ffdb2e9a2166b42d2be4b2f1194240e0312458124f0ebd53eeb02ce7330c22afe402a28a96b32f8af66e41e9416fe94535724c9

+ 165
- 0
app-emulation/xen/xen-4.13.2-r7.ebuild View File

@@ -0,0 +1,165 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

PYTHON_COMPAT=( python3_{6..9} )

inherit flag-o-matic mount-boot multilib python-any-r1 toolchain-funcs

MY_PV=${PV/_/-}
MY_P=${PN}-${MY_PV}

if [[ $PV == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="git://xenbits.xen.org/xen.git"
SRC_URI=""
else
KEYWORDS="~amd64 ~arm -x86"
UPSTREAM_VER=6
SECURITY_VER=
GENTOO_VER=

[[ -n ${UPSTREAM_VER} ]] && \
UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz"
[[ -n ${SECURITY_VER} ]] && \
SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz"
[[ -n ${GENTOO_VER} ]] && \
GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz"
SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/${MY_P}.tar.gz
${UPSTREAM_PATCHSET_URI}
${SECURITY_PATCHSET_URI}
${GENTOO_PATCHSET_URI}"
fi

DESCRIPTION="The Xen virtual machine monitor"
HOMEPAGE="https://www.xenproject.org"
LICENSE="GPL-2"
SLOT="0"
IUSE="debug efi flask"

DEPEND="${PYTHON_DEPS}
efi? ( >=sys-devel/binutils-2.22[multitarget] )
!efi? ( >=sys-devel/binutils-2.22 )"
RDEPEND=""
PDEPEND="~app-emulation/xen-tools-${PV}"

# no tests are available for the hypervisor
# prevent the silliness of /usr/lib/debug/usr/lib/debug files
# prevent stripping of the debug info from the /usr/lib/debug/xen-syms
RESTRICT="test splitdebug strip"

# Approved by QA team in bug #144032
QA_WX_LOAD="boot/xen-syms-${PV}"

REQUIRED_USE="arm? ( debug )"

S="${WORKDIR}/${MY_P}"

pkg_setup() {
python-any-r1_pkg_setup
if [[ -z ${XEN_TARGET_ARCH} ]]; then
if use amd64; then
export XEN_TARGET_ARCH="x86_64"
elif use arm; then
export XEN_TARGET_ARCH="arm32"
elif use arm64; then
export XEN_TARGET_ARCH="arm64"
else
die "Unsupported architecture!"
fi
fi