Merge pull request #214 from flatcar-linux/krnowak/python-transition2

Python transition: update python packages
This commit is contained in:
Krzesimir Nowak 2021-12-13 14:49:46 +01:00 committed by GitHub
commit cbcdb3a989
698 changed files with 20562 additions and 25839 deletions

View File

@ -0,0 +1,3 @@
DIST qemu-6.0.0.tar.xz 107333232 BLAKE2B 7746329d3e13782b7c346ce4052cc517cfc65cd9b2d514d199e4d5b8570ca79566ec04b0c114db2e97c84e68eb551e0d4cdce1b14b91a88fe08d2a5f682c1418 SHA512 ee3ff00aebec4d8891d2ff6dabe4e667e510b2a4fe3f6190aa34673a91ea32dcd2db2e9bf94c2f1bf05aa79788f17cfbbedc6027c0988ea08a92587b79ee05e4
DIST qemu-6.0.1.tar.xz 107084292 BLAKE2B 53f4adc1a4ba99aaf03659db499d557c57d0c2559955980591594bf0ed06aaf485f0192d7f8f68338b97e0d4d0a114e4431bae5e5b3f3fc82aef08616429d8ed SHA512 2e37ae97a56c4de71412ebabe0e0a59908a7ca7d353440e046831319456d4020614f0909af07cb2a8bb23423e84880a89b5aa4e463e95d1ad37a64fbf8021337
DIST qemu-6.1.0.tar.xz 111258808 BLAKE2B 412eecf6d39debd6089b26d3b22e5d25c6c8c30d2eaf31b17c25cc2b3a1b10794a30218dfb151c78801aa295255aa974b297f1fe05b93f14334f203c2af5ccee SHA512 3378ae21c75b77ee6a759827f1fcf7b2a50a0fef07e3b0e89117108022a8d8655fa977e4d65596f4f24f7c735c6594d44b0c6f69732ea4465e88a7406b1d5d3c

View File

@ -0,0 +1,3 @@
KERNEL=="kvm", GROUP="kvm", MODE="0660"
KERNEL=="vhost-net", GROUP="kvm", MODE="0660", OPTIONS+="static_node=vhost-net"
KERNEL=="vhost-vsock", GROUP="kvm", MODE="0660", OPTIONS+="static_node=vhost-vsock"

View File

@ -0,0 +1,14 @@
# This should have the following permissions: root:qemu 0640
# allow br0
# Uncommenting the above would allow users in the 'qemu' group
# to add devices to 'br0'
# allow virbr0
# Uncommenting the above would allow users in the 'qemu' group
# to add devices to 'virbr0'
# include /etc/qemu/bob.conf
# Uncommenting the above would allow users in the 'bob' group
# to have permissions defined in it, iff it has the following
# permissions: root:bob 0640

View File

@ -0,0 +1,11 @@
--- qemu-2.11.1/include/disas/capstone.h 2018-02-14 22:53:22.000000000 +0100
+++ qemu-2.11.1/include/disas/capstone.h 2018-02-17 20:12:12.754703951 +0100
@@ -3,7 +3,7 @@
#ifdef CONFIG_CAPSTONE
-#include <capstone.h>
+#include <capstone/capstone.h>
#else

View File

@ -0,0 +1,40 @@
-Wall -Wextra compains about unused arguments,
causes safe-stack to be mis-detected.
--- a/configure
+++ b/configure
@@ -2293,7 +2293,7 @@ fi
cat > $TMPC << EOF
#include <stdint.h>
#include <stdio.h>
-int main(int argc, char *argv[]) {
+int main(void) {
return printf("%zu", SIZE_MAX);
}
EOF
@@ -4911,7 +4911,7 @@ fi
if test "$safe_stack" = "yes"; then
cat > $TMPC << EOF
-int main(int argc, char *argv[])
+int main(void)
{
#if ! __has_feature(safe_stack)
#error SafeStack Disabled
@@ -4933,7 +4933,7 @@ EOF
fi
else
cat > $TMPC << EOF
-int main(int argc, char *argv[])
+int main(void)
{
#if defined(__has_feature)
#if __has_feature(safe_stack)
@@ -5283,7 +5283,7 @@ static const int Z = 1;
#define TAUT(X) ((X) == Z)
#define PAREN(X, Y) (X == Y)
#define ID(X) (X)
-int main(int argc, char *argv[])
+int main(void)
{
int x = 0, y = 0;
x = ID(x);

View File

@ -0,0 +1,18 @@
Fix CFLAGS=-Og build break. -Og fails because gcc does not enable dead
code elimination (but does set __OPTIMIZE__ define).
The fix avoids DCE reliance downstream entirely.
Reported-by: Luke-Jr
Bug: https://bugs.gentoo.org/782364
--- a/include/qemu/lockable.h
+++ b/include/qemu/lockable.h
@@ -28,7 +28,7 @@ struct QemuLockable {
* to QEMU_MAKE_LOCKABLE. For optimized builds, we can rely on dead-code elimination
* from the compiler, and give the errors already at link time.
*/
-#if defined(__OPTIMIZE__) && !defined(__SANITIZE_ADDRESS__)
+#if defined(__OPTIMIZE__) && !defined(__SANITIZE_ADDRESS__) && defined(VALIDATE_LOCKS_VIA_DCE)
void unknown_lock_type(void *);
#else
static inline void unknown_lock_type(void *unused)

View File

@ -0,0 +1,25 @@
Do not use system's 'qemu-keymap' in native case.
--- a/meson.build
+++ b/meson.build
@@ -337,6 +337,8 @@ if 'CONFIG_LIBCAP_NG' in config_host
endif
if get_option('xkbcommon').auto() and not have_system and not have_tools
xkbcommon = not_found
+elif get_option('xkbcommon').disabled()
+ xkbcommon = not_found
else
xkbcommon = dependency('xkbcommon', required: get_option('xkbcommon'),
method: 'pkg-config', static: enable_static)
--- a/pc-bios/keymaps/meson.build
+++ b/pc-bios/keymaps/meson.build
@@ -33,7 +33,9 @@ keymaps = {
'tr': '-l tr',
}
-if meson.is_cross_build() or 'CONFIG_XKBCOMMON' not in config_host
+if meson.is_cross_build()
native_qemu_keymap = find_program('qemu-keymap', required: false, disabler: true)
+elif get_option('xkbcommon').disabled()
+ native_qemu_keymap = not_found
else
native_qemu_keymap = qemu_keymap

View File

@ -0,0 +1,23 @@
https://bugs.gentoo.org/759310
--- a/configure
+++ b/configure
@@ -521,6 +521,7 @@ ld="${LD-${cross_prefix}ld}"
ranlib="${RANLIB-${cross_prefix}ranlib}"
nm="${NM-${cross_prefix}nm}"
strip="${STRIP-${cross_prefix}strip}"
+strings="${STRINGS-${cross_prefix}strings}"
windres="${WINDRES-${cross_prefix}windres}"
pkg_config_exe="${PKG_CONFIG-${cross_prefix}pkg-config}"
query_pkg_config() {
@@ -2265,9 +2266,9 @@ int main(int argc, char *argv[]) {
EOF
if compile_object ; then
- if strings -a $TMPO | grep -q BiGeNdIaN ; then
+ if $strings -a $TMPO | grep -q BiGeNdIaN ; then
bigendian="yes"
- elif strings -a $TMPO | grep -q LiTtLeEnDiAn ; then
+ elif $strings -a $TMPO | grep -q LiTtLeEnDiAn ; then
bigendian="no"
else
echo big/little test failed

View File

@ -0,0 +1,14 @@
Allow MAKE='make V=1' and similar.
https://bugs.gentoo.org/795678
--- a/configure
+++ b/configure
@@ -1953,7 +1953,7 @@ if test -z "$python"
then
error_exit "Python not found. Use --python=/path/to/python"
fi
-if ! has "$make"
+if ! has $make
then
error_exit "GNU make ($make) not found"
fi

View File

@ -0,0 +1,21 @@
commit 080832e4f4801a28bd1170c49e61f6a0f5f05d03
Author: Paolo Bonzini <pbonzini@redhat.com>
Date: Tue Sep 7 12:45:12 2021 +0200
ebpf: only include in system emulators
eBPF files are being included in user emulators, which is useless and
also breaks compilation because ebpf/trace-events is only processed
if a system emulator is included in the build.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/566
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
diff --git a/ebpf/meson.build b/ebpf/meson.build
index 9cd0635370..2dd0fd8948 100644
--- a/ebpf/meson.build
+++ b/ebpf/meson.build
@@ -1 +1 @@
-common_ss.add(when: libbpf, if_true: files('ebpf_rss.c'), if_false: files('ebpf_rss-stub.c'))
+softmmu_ss.add(when: libbpf, if_true: files('ebpf_rss.c'), if_false: files('ebpf_rss-stub.c'))

View File

@ -0,0 +1,26 @@
Forward-ported from original patch for 5.2.0.
diff --git a/configure b/configure
index da2501489f..4660ee3ee5 100755
--- a/configure
+++ b/configure
@@ -516,6 +516,7 @@ ld="${LD-${cross_prefix}ld}"
ranlib="${RANLIB-${cross_prefix}ranlib}"
nm="${NM-${cross_prefix}nm}"
strip="${STRIP-${cross_prefix}strip}"
+strings="${STRINGS-${cross_prefix}strings}"
windres="${WINDRES-${cross_prefix}windres}"
pkg_config_exe="${PKG_CONFIG-${cross_prefix}pkg-config}"
query_pkg_config() {
@@ -2380,9 +2381,9 @@ int main(int argc, char *argv[])
EOF
if compile_prog ; then
- if strings -a $TMPE | grep -q BiGeNdIaN ; then
+ if $strings -a $TMPE | grep -q BiGeNdIaN ; then
bigendian="yes"
- elif strings -a $TMPE | grep -q LiTtLeEnDiAn ; then
+ elif $strings -a $TMPE | grep -q LiTtLeEnDiAn ; then
bigendian="no"
else
echo big/little test failed

View File

@ -0,0 +1,64 @@
#!/sbin/openrc-run
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Enable automatic non-native program execution by the kernel.
# Defaulting to OC should be safe because it comes down to:
# - do we trust the interp itself to not be malicious? yes; we built it.
# - do we trust the programs we're running? ish; same permission as native
# binaries apply. so if user can do bad stuff natively, cross isn't worse.
: ${QEMU_BINFMT_FLAGS:=OC}
depend() {
after procfs
}
start() {
ebegin "Registering qemu-user binaries (flags: ${QEMU_BINFMT_FLAGS})"
if [ ! -d /proc/sys/fs/binfmt_misc ] ; then
modprobe -q binfmt_misc
fi
if [ ! -d /proc/sys/fs/binfmt_misc ] ; then
eend 1 "You need support for 'misc binaries' in your kernel!"
return
fi
if [ ! -f /proc/sys/fs/binfmt_misc/register ] ; then
mount -t binfmt_misc -o nodev,noexec,nosuid \
binfmt_misc /proc/sys/fs/binfmt_misc >/dev/null 2>&1
eend $? || return
fi
# Probe the native cpu type so we don't try registering them.
local cpu="$(uname -m)"
case "${cpu}" in
armv[4-9]*)
cpu="arm"
;;
i386|i486|i586|i686|i86pc|BePC|x86_64)
cpu="i386"
;;
m68k)
cpu="m68k"
;;
mips*)
cpu="mips"
;;
"Power Macintosh"|ppc|ppc64)
cpu="ppc"
;;
s390*)
cpu="s390"
;;
sh*)
cpu="sh"
;;
sparc*)
cpu="sparc"
;;
esac
# Register the interpreter for each cpu except for the native one.

View File

@ -0,0 +1,14 @@
eend 0
}
stop() {
# We unregister everything in the "qemu-xxx" namespace.
ebegin "Unregistering qemu-user binaries"
local f
for f in /proc/sys/fs/binfmt_misc/qemu-* ; do
if [ -f "${f}" ] ; then
echo '-1' > "${f}"
fi
done
eend 0
}

View File

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>tamiko@gentoo.org</email>
<name>Matthias Maier</name>
</maintainer>
<maintainer type="person">
<email>zlogene@gentoo.org</email>
<name>Mikle Kolyada</name>
</maintainer>
<maintainer type="project">
<email>virtualization@gentoo.org</email>
<name>Gentoo Virtualization Project</name>
</maintainer>
<use>
<flag name="accessibility">Adds support for braille displays using brltty</flag>
<flag name="aio">Enables support for Linux's Async IO</flag>
<flag name="alsa">Enable alsa output for sound emulation</flag>
<flag name="bpf">Enable eBPF support for RSS implementation.</flag>
<flag name="capstone">Enable disassembly support with <pkg>dev-libs/capstone</pkg></flag>
<flag name="curl">Support ISOs / -cdrom directives via HTTP or HTTPS.</flag>
<flag name="fdt">Enables firmware device tree support</flag>
<flag name="fuse">Enables FUSE block device export</flag>
<flag name="glusterfs">Enables GlusterFS cluster fileystem via
<pkg>sys-cluster/glusterfs</pkg></flag>
<flag name="gnutls">Enable TLS support for the VNC console server.
For 1.4 and newer this also enables WebSocket support.
For 2.0 through 2.3 also enables disk quorum support.</flag>
<flag name="iscsi">Enable direct iSCSI support via
<pkg>net-libs/libiscsi</pkg> instead of indirectly via the Linux
block layer that <pkg>sys-block/open-iscsi</pkg> does.</flag>
<flag name="io-uring">Enable efficient I/O via <pkg>sys-libs/liburing</pkg>.</flag>
<flag name="multipath">Enable multipath persistent reservation passthrough via
<pkg>sys-fs/multipath-tools</pkg>.</flag>
<flag name="ncurses">Enable the ncurses-based console</flag>
<flag name="nfs">Enable NFS support</flag>
<flag name="numa">Enable NUMA support</flag>
<flag name="pin-upstream-blobs">Pin the versions of BIOS firmware to the version included in the upstream release.
This is needed to sanely support migration/suspend/resume/snapshotting/etc... of instances.
When the blobs are different, random corruption/bugs/crashes/etc... may be observed.</flag>
<flag name="plugins">Enable qemu plugin API via shared library loading.</flag>
<flag name="pulseaudio">Enable pulseaudio output for sound emulation</flag>
<flag name="rbd">Enable rados block device backend support, see https://docs.ceph.com/en/mimic/rbd/qemu-rbd/</flag>
<flag name="sdl">Enable the SDL-based console</flag>
<flag name="sdl-image">SDL Image support for icons</flag>
<flag name="slirp">Enable TCP/IP in hypervisor via <pkg>net-libs/libslirp</pkg></flag>
<flag name="spice">Enable Spice protocol support via <pkg>app-emulation/spice</pkg></flag>
<flag name="ssh">Enable SSH based block device support via <pkg>net-libs/libssh2</pkg></flag>
<flag name="static-user">Build the User targets as static binaries</flag>
<flag name="static">Build the User and Software MMU (system) targets as well as tools as static binaries</flag>
<flag name="systemtap">Enable SystemTAP/DTrace tracing</flag>
<flag name="jemalloc">Enable jemalloc allocator support</flag>
<flag name="jpeg">Enable jpeg image support for the VNC console server</flag>
<flag name="png">Enable png image support for the VNC console server</flag>
<flag name="usb">Enable USB passthrough via <pkg>dev-libs/libusb</pkg></flag>
<flag name="usbredir">Use <pkg>sys-apps/usbredir</pkg> to redirect USB devices to another machine over TCP</flag>
<flag name="vde">Enable VDE-based networking</flag>
<flag name="vhost-net">Enable accelerated networking using vhost-net, see https://www.linux-kvm.org/page/VhostNet</flag>
<flag name="vhost-user-fs">Enable shared file system access using the FUSE protocol carried over virtio.</flag>
<flag name="virgl">Enable experimental Virgil 3d (virtual software GPU)</flag>
<flag name="virtfs">Enable VirtFS via virtio-9p-pci / fsdev. See https://wiki.qemu.org/Documentation/9psetup</flag>
<flag name="vte">Enable terminal support (<pkg>x11-libs/vte</pkg>) in the GTK+ interface</flag>
<flag name="xattr">Add support for getting and setting POSIX extended attributes, through
<pkg>sys-apps/attr</pkg>. Requisite for the virtfs backend.</flag>
<flag name="xen">Enables support for Xen backends</flag>
<flag name="xfs">Support xfsctl() notification and syncing for XFS backed
virtual disks.</flag>
</use>
</pkgmetadata>

View File

@ -0,0 +1,910 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
PYTHON_COMPAT=( python3_{7,8,9,10} )
PYTHON_REQ_USE="ncurses,readline"
FIRMWARE_ABI_VERSION="5.2.0-r50"
inherit eutils linux-info toolchain-funcs multilib python-r1
inherit udev fcaps readme.gentoo-r1 pax-utils xdg-utils
if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="https://git.qemu.org/git/qemu.git"
EGIT_SUBMODULES=(
meson
tests/fp/berkeley-softfloat-3
tests/fp/berkeley-testfloat-3
ui/keycodemapdb
)
inherit git-r3
SRC_URI=""
else
SRC_URI="https://download.qemu.org/${P}.tar.xz"
KEYWORDS="amd64 arm64 ~ppc ppc64 x86"
fi
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org"
LICENSE="GPL-2 LGPL-2 BSD-2"
SLOT="0"
IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug +doc
+fdt fuse glusterfs gnutls gtk infiniband iscsi io-uring
jack jemalloc +jpeg kernel_linux
kernel_FreeBSD lzo multipath
ncurses nfs nls numa opengl +oss +pin-upstream-blobs
plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
+slirp
smartcard snappy spice ssh static static-user systemtap test udev usb
usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
xfs zstd"
COMMON_TARGETS="
aarch64
alpha
arm
cris
hppa
i386
m68k
microblaze
microblazeel
mips
mips64
mips64el
mipsel
nios2
or1k
ppc
ppc64
riscv32
riscv64
s390x
sh4
sh4eb
sparc
sparc64
x86_64
xtensa
xtensaeb
"
IUSE_SOFTMMU_TARGETS="
${COMMON_TARGETS}
avr
lm32
moxie
rx
tricore
unicore32
"
IUSE_USER_TARGETS="
${COMMON_TARGETS}
aarch64_be
armeb
hexagon
mipsn32
mipsn32el
ppc64abi32
ppc64le
sparc32plus
"
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 )
sdl-image? ( sdl )
static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy !udev )
static-user? ( !plugins )
vhost-user-fs? ( caps seccomp )
virgl? ( opengl )
virtfs? ( caps xattr )
vte? ( gtk )
multipath? ( udev )
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(+)]
>=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(+)] )
fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
gnutls? (
dev-libs/nettle:=[static-libs(+)]
>=net-libs/gnutls-3.0:=[static-libs(+)]
)
gtk? (
x11-libs/gtk+:3
vte? ( x11-libs/vte:2.91 )
)
infiniband? (
sys-fabric/libibumad:=[static-libs(+)]
sys-fabric/libibverbs:=[static-libs(+)]
sys-fabric/librdmacm:=[static-libs(+)]
)
iscsi? ( net-libs/libiscsi )
io-uring? ( sys-libs/liburing:=[static-libs(+)] )
jack? ( virtual/jack )
jemalloc? ( dev-libs/jemalloc )
jpeg? ( virtual/jpeg:0=[static-libs(+)] )
lzo? ( dev-libs/lzo:2[static-libs(+)] )
multipath? ( sys-fs/multipath-tools )
ncurses? (
sys-libs/ncurses:=[unicode(+)]
sys-libs/ncurses:=[static-libs(+)]
)
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
numa? ( sys-process/numactl[static-libs(+)] )
opengl? (
virtual/opengl
media-libs/libepoxy[static-libs(+)]
media-libs/mesa[static-libs(+)]
media-libs/mesa[egl(+),gbm(+)]
)
png? ( media-libs/libpng:0=[static-libs(+)] )
pulseaudio? ( media-sound/pulseaudio )
rbd? ( sys-cluster/ceph )
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
sdl? (
media-libs/libsdl2[video]
media-libs/libsdl2[static-libs(+)]
)
sdl-image? ( media-libs/sdl2-image[static-libs(+)] )
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
slirp? ( net-libs/libslirp[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(+)] )
udev? ( virtual/libudev:= )
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
vde? ( net-misc/vde[static-libs(+)] )
virgl? ( media-libs/virglrenderer[static-libs(+)] )
virtfs? ( sys-libs/libcap )
xen? ( app-emulation/xen-tools:= )
xfs? ( sys-fs/xfsprogs[static-libs(+)] )
zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
"
SEABIOS_VERSION="1.14.0"
X86_FIRMWARE_DEPEND="
pin-upstream-blobs? (
~sys-firmware/edk2-ovmf-202008[binary]
~sys-firmware/ipxe-1.21.1[binary,qemu]
~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios]
~sys-firmware/sgabios-0.1_pre10[binary]
)
!pin-upstream-blobs? (
sys-firmware/edk2-ovmf
sys-firmware/ipxe[qemu]
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
sys-firmware/sgabios
)"
PPC_FIRMWARE_DEPEND="
pin-upstream-blobs? (
~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios]
)
!pin-upstream-blobs? (
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
)
"
BDEPEND="
$(python_gen_impl_dep)
dev-lang/perl
sys-apps/texinfo
virtual/pkgconfig
doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
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_ppc? ( ${PPC_FIRMWARE_DEPEND} )
qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} )
"
DEPEND="${CDEPEND}
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
static? (
${ALL_DEPEND}
${SOFTMMU_TOOLS_DEPEND}
)
static-user? ( ${ALL_DEPEND} )"
RDEPEND="${CDEPEND}
acct-group/kvm
selinux? ( sec-policy/selinux-qemu )"
PATCHES=(
"${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
"${FILESDIR}"/${PN}-5.2.0-strings.patch
"${FILESDIR}"/${PN}-5.2.0-cleaner-werror.patch
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
"${FILESDIR}"/${PN}-5.2.0-dce-locks.patch
"${FILESDIR}"/${PN}-6.0.0-make.patch
)
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/opensbi-riscv64-generic-fw_dynamic.elf
usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf
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 requires 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/targets/ >/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
}
src_prepare() {
check_targets IUSE_SOFTMMU_TARGETS softmmu
check_targets IUSE_USER_TARGETS linux-user
default
# Use correct toolchain to fix cross-compiling
tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS
export WINDRES=${CHOST}-windres
# Verbose builds
MAKEOPTS+=" V=1"
# 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
--localstatedir=/var
--disable-bsd-user
--disable-containers # bug #732972
--disable-guest-agent
--disable-strip
# bug #746752: TCG interpreter has a few limitations:
# - it does not support FPU
# - it's generally slower on non-self-modifying code
# It's advantage is support for host architectures
# where native codegeneration is not implemented.
# Gentoo has qemu keyworded only on targets with
# native code generation available. Avoid the interpreter.
--disable-tcg-interpreter
--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 nls gettext)
$(use_enable plugins)
$(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
}
# Enable option only for softmmu build, but not 'user' or 'tools'
conf_softmmu() {
if [[ ${buildtype} == "softmmu" ]] ; then
use_enable "$@"
else
echo "--disable-${2:-$1}"
fi
}
# Enable option only for tools build, but not 'user' or 'softmmu'
conf_tools() {
if [[ ${buildtype} == "tools" ]] ; then
use_enable "$@"
else
echo "--disable-${2:-$1}"
fi
}
conf_opts+=(
$(conf_notuser accessibility brlapi)
$(conf_notuser aio linux-aio)
$(conf_notuser bzip2)
$(conf_notuser capstone)
$(conf_notuser caps cap-ng)
$(conf_notuser curl)
$(conf_notuser fdt)
$(conf_notuser fuse)
$(conf_notuser glusterfs)
$(conf_notuser gnutls)
$(conf_notuser gnutls nettle)
$(conf_notuser gtk)
$(conf_notuser infiniband rdma)
$(conf_notuser iscsi libiscsi)
$(conf_notuser io-uring linux-io-uring)
$(conf_notuser jemalloc jemalloc)
$(conf_notuser jpeg vnc-jpeg)
$(conf_notuser kernel_linux kvm)
$(conf_notuser lzo)
$(conf_notuser multipath mpath)
$(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_softmmu sdl-image)
$(conf_notuser seccomp)
$(conf_notuser slirp slirp system)
$(conf_notuser smartcard)
$(conf_notuser snappy)
$(conf_notuser spice)
$(conf_notuser ssh libssh)
$(conf_notuser udev libudev)
$(conf_notuser usb libusb)
$(conf_notuser usbredir usb-redir)
$(conf_notuser vde)
$(conf_notuser vhost-net)
$(conf_notuser vhost-user-fs)
$(conf_tools vhost-user-fs virtiofsd)
$(conf_notuser virgl virglrenderer)
$(conf_softmmu virtfs)
$(conf_notuser vnc)
$(conf_notuser vte)
$(conf_notuser xen)
$(conf_notuser xen xen-pci-passthrough)
$(conf_notuser xfs xfsctl)
# use prebuilt keymaps, bug #759604
--disable-xkbcommon
$(conf_notuser zstd)
)
if [[ ${buildtype} == "user" ]] ; then
conf_opts+=( --disable-libxml2 )
else
conf_opts+=( --enable-libxml2 )
fi
if [[ ! ${buildtype} == "user" ]] ; then
# audio options
local audio_opts=(
# Note: backend order matters here: #716202
# We iterate from higher-level to lower level.
$(usex pulseaudio pa "")
$(usev jack)
$(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
# 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} )
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-r2 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 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"
# PPC/PPC64 loads vgabios-stdvga
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || 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
}

View File

@ -0,0 +1,911 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
PYTHON_COMPAT=( python3_{7,8,9,10} )
PYTHON_REQ_USE="ncurses,readline"
FIRMWARE_ABI_VERSION="6.0.0-r50"
inherit eutils linux-info toolchain-funcs multilib python-r1
inherit udev fcaps readme.gentoo-r1 pax-utils xdg-utils
if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="https://git.qemu.org/git/qemu.git"
EGIT_SUBMODULES=(
meson
tests/fp/berkeley-softfloat-3
tests/fp/berkeley-testfloat-3
ui/keycodemapdb
)
inherit git-r3
SRC_URI=""
else
SRC_URI="https://download.qemu.org/${P}.tar.xz"
KEYWORDS="amd64 arm64 ~ppc ppc64 x86"
fi
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org"
LICENSE="GPL-2 LGPL-2 BSD-2"
SLOT="0"
IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug +doc
+fdt fuse glusterfs gnutls gtk infiniband iscsi io-uring
jack jemalloc +jpeg kernel_linux
kernel_FreeBSD lzo multipath
ncurses nfs nls numa opengl +oss +pin-upstream-blobs
plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
+slirp
smartcard snappy spice ssh static static-user systemtap test udev usb
usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
xfs zstd"
COMMON_TARGETS="
aarch64
alpha
arm
cris
hppa
i386
m68k
microblaze
microblazeel
mips
mips64
mips64el
mipsel
nios2
or1k
ppc
ppc64
riscv32
riscv64
s390x
sh4
sh4eb
sparc
sparc64
x86_64
xtensa
xtensaeb
"
IUSE_SOFTMMU_TARGETS="
${COMMON_TARGETS}
avr
lm32
moxie
rx
tricore
unicore32
"
IUSE_USER_TARGETS="
${COMMON_TARGETS}
aarch64_be
armeb
hexagon
mipsn32
mipsn32el
ppc64abi32
ppc64le
sparc32plus
"
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 )
sdl-image? ( sdl )
static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy !udev )
static-user? ( !plugins )
vhost-user-fs? ( caps seccomp )
virgl? ( opengl )
virtfs? ( caps xattr )
vte? ( gtk )
multipath? ( udev )
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(+)]
>=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(+)] )
fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
gnutls? (
dev-libs/nettle:=[static-libs(+)]
>=net-libs/gnutls-3.0:=[static-libs(+)]
)
gtk? (
x11-libs/gtk+:3
vte? ( x11-libs/vte:2.91 )
)
infiniband? (
sys-fabric/libibumad:=[static-libs(+)]
sys-fabric/libibverbs:=[static-libs(+)]
sys-fabric/librdmacm:=[static-libs(+)]
)
iscsi? ( net-libs/libiscsi )
io-uring? ( sys-libs/liburing:=[static-libs(+)] )
jack? ( virtual/jack )
jemalloc? ( dev-libs/jemalloc )
jpeg? ( virtual/jpeg:0=[static-libs(+)] )
lzo? ( dev-libs/lzo:2[static-libs(+)] )
multipath? ( sys-fs/multipath-tools )
ncurses? (
sys-libs/ncurses:=[unicode(+)]
sys-libs/ncurses:=[static-libs(+)]
)
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
numa? ( sys-process/numactl[static-libs(+)] )
opengl? (
virtual/opengl
media-libs/libepoxy[static-libs(+)]
media-libs/mesa[static-libs(+)]
media-libs/mesa[egl(+),gbm(+)]
)
png? ( media-libs/libpng:0=[static-libs(+)] )
pulseaudio? ( media-sound/pulseaudio )
rbd? ( sys-cluster/ceph )
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
sdl? (
media-libs/libsdl2[video]
media-libs/libsdl2[static-libs(+)]
)
sdl-image? ( media-libs/sdl2-image[static-libs(+)] )
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
slirp? ( net-libs/libslirp[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(+)] )
udev? ( virtual/libudev:= )
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
vde? ( net-misc/vde[static-libs(+)] )
virgl? ( media-libs/virglrenderer[static-libs(+)] )
virtfs? ( sys-libs/libcap )
xen? ( app-emulation/xen-tools:= )
xfs? ( sys-fs/xfsprogs[static-libs(+)] )
zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
"
EDK2_OVMF_VERSION="202105"
SEABIOS_VERSION="1.14.0"
X86_FIRMWARE_DEPEND="
pin-upstream-blobs? (
~sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}[binary]
~sys-firmware/ipxe-1.21.1[binary,qemu]
~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios]
~sys-firmware/sgabios-0.1_pre10[binary]
)
!pin-upstream-blobs? (
>=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
sys-firmware/ipxe[qemu]
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
sys-firmware/sgabios
)"
PPC_FIRMWARE_DEPEND="
pin-upstream-blobs? (
~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios]
)
!pin-upstream-blobs? (
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
)
"
BDEPEND="
$(python_gen_impl_dep)
dev-lang/perl
sys-apps/texinfo
virtual/pkgconfig
doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
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_ppc? ( ${PPC_FIRMWARE_DEPEND} )
qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} )
"
DEPEND="${CDEPEND}
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
static? (
${ALL_DEPEND}
${SOFTMMU_TOOLS_DEPEND}
)
static-user? ( ${ALL_DEPEND} )"
RDEPEND="${CDEPEND}
acct-group/kvm
selinux? ( sec-policy/selinux-qemu )"
PATCHES=(
"${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
"${FILESDIR}"/${PN}-5.2.0-strings.patch
"${FILESDIR}"/${PN}-5.2.0-cleaner-werror.patch
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
"${FILESDIR}"/${PN}-5.2.0-dce-locks.patch
"${FILESDIR}"/${PN}-6.0.0-make.patch
)
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/opensbi-riscv64-generic-fw_dynamic.elf
usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf
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 requires 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/targets/ >/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
}
src_prepare() {
check_targets IUSE_SOFTMMU_TARGETS softmmu
check_targets IUSE_USER_TARGETS linux-user
default
# Use correct toolchain to fix cross-compiling
tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS
export WINDRES=${CHOST}-windres
# Verbose builds
MAKEOPTS+=" V=1"
# 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
--localstatedir=/var
--disable-bsd-user
--disable-containers # bug #732972
--disable-guest-agent
--disable-strip
# bug #746752: TCG interpreter has a few limitations:
# - it does not support FPU
# - it's generally slower on non-self-modifying code
# It's advantage is support for host architectures
# where native codegeneration is not implemented.
# Gentoo has qemu keyworded only on targets with
# native code generation available. Avoid the interpreter.
--disable-tcg-interpreter
--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 nls gettext)
$(use_enable plugins)
$(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
}
# Enable option only for softmmu build, but not 'user' or 'tools'
conf_softmmu() {
if [[ ${buildtype} == "softmmu" ]] ; then
use_enable "$@"
else
echo "--disable-${2:-$1}"
fi
}
# Enable option only for tools build, but not 'user' or 'softmmu'
conf_tools() {
if [[ ${buildtype} == "tools" ]] ; then
use_enable "$@"
else
echo "--disable-${2:-$1}"
fi
}
conf_opts+=(
$(conf_notuser accessibility brlapi)
$(conf_notuser aio linux-aio)
$(conf_notuser bzip2)
$(conf_notuser capstone)
$(conf_notuser caps cap-ng)
$(conf_notuser curl)
$(conf_notuser fdt)
$(conf_notuser fuse)
$(conf_notuser glusterfs)
$(conf_notuser gnutls)
$(conf_notuser gnutls nettle)
$(conf_notuser gtk)
$(conf_notuser infiniband rdma)
$(conf_notuser iscsi libiscsi)
$(conf_notuser io-uring linux-io-uring)
$(conf_notuser jemalloc jemalloc)
$(conf_notuser jpeg vnc-jpeg)
$(conf_notuser kernel_linux kvm)
$(conf_notuser lzo)
$(conf_notuser multipath mpath)
$(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_softmmu sdl-image)
$(conf_notuser seccomp)
$(conf_notuser slirp slirp system)
$(conf_notuser smartcard)
$(conf_notuser snappy)
$(conf_notuser spice)
$(conf_notuser ssh libssh)
$(conf_notuser udev libudev)
$(conf_notuser usb libusb)
$(conf_notuser usbredir usb-redir)
$(conf_notuser vde)
$(conf_notuser vhost-net)
$(conf_notuser vhost-user-fs)
$(conf_tools vhost-user-fs virtiofsd)
$(conf_notuser virgl virglrenderer)
$(conf_softmmu virtfs)
$(conf_notuser vnc)
$(conf_notuser vte)
$(conf_notuser xen)
$(conf_notuser xen xen-pci-passthrough)
$(conf_notuser xfs xfsctl)
# use prebuilt keymaps, bug #759604
--disable-xkbcommon
$(conf_notuser zstd)
)
if [[ ${buildtype} == "user" ]] ; then
conf_opts+=( --disable-libxml2 )
else
conf_opts+=( --enable-libxml2 )
fi
if [[ ! ${buildtype} == "user" ]] ; then
# audio options
local audio_opts=(
# Note: backend order matters here: #716202
# We iterate from higher-level to lower level.
$(usex pulseaudio pa "")
$(usev jack)
$(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
# 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} )
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-r2 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 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"
# PPC/PPC64 loads vgabios-stdvga
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || 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
}

View File

@ -0,0 +1,911 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
PYTHON_COMPAT=( python3_{7,8,9,10} )
PYTHON_REQ_USE="ncurses,readline"
FIRMWARE_ABI_VERSION="6.0.0-r50"
inherit eutils linux-info toolchain-funcs multilib python-r1
inherit udev fcaps readme.gentoo-r1 pax-utils xdg-utils
if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="https://git.qemu.org/git/qemu.git"
EGIT_SUBMODULES=(
meson
tests/fp/berkeley-softfloat-3
tests/fp/berkeley-testfloat-3
ui/keycodemapdb
)
inherit git-r3
SRC_URI=""
else
SRC_URI="https://download.qemu.org/${P}.tar.xz"
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
fi
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org"
LICENSE="GPL-2 LGPL-2 BSD-2"
SLOT="0"
IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug +doc
+fdt fuse glusterfs gnutls gtk infiniband iscsi io-uring
jack jemalloc +jpeg kernel_linux
kernel_FreeBSD lzo multipath
ncurses nfs nls numa opengl +oss +pin-upstream-blobs
plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
+slirp
smartcard snappy spice ssh static static-user systemtap test udev usb
usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
xfs zstd"
COMMON_TARGETS="
aarch64
alpha
arm
cris
hppa
i386
m68k
microblaze
microblazeel
mips
mips64
mips64el
mipsel
nios2
or1k
ppc
ppc64
riscv32
riscv64
s390x
sh4
sh4eb
sparc
sparc64
x86_64
xtensa
xtensaeb
"
IUSE_SOFTMMU_TARGETS="
${COMMON_TARGETS}
avr
lm32
moxie
rx
tricore
unicore32
"
IUSE_USER_TARGETS="
${COMMON_TARGETS}
aarch64_be
armeb
hexagon
mipsn32
mipsn32el
ppc64abi32
ppc64le
sparc32plus
"
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 )
sdl-image? ( sdl )
static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy !udev )
static-user? ( !plugins )
vhost-user-fs? ( caps seccomp )
virgl? ( opengl )
virtfs? ( caps xattr )
vte? ( gtk )
multipath? ( udev )
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(+)]
>=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(+)] )
fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
gnutls? (
dev-libs/nettle:=[static-libs(+)]
>=net-libs/gnutls-3.0:=[static-libs(+)]
)
gtk? (
x11-libs/gtk+:3
vte? ( x11-libs/vte:2.91 )
)
infiniband? (
sys-fabric/libibumad:=[static-libs(+)]
sys-fabric/libibverbs:=[static-libs(+)]
sys-fabric/librdmacm:=[static-libs(+)]
)
iscsi? ( net-libs/libiscsi )
io-uring? ( sys-libs/liburing:=[static-libs(+)] )
jack? ( virtual/jack )
jemalloc? ( dev-libs/jemalloc )
jpeg? ( virtual/jpeg:0=[static-libs(+)] )
lzo? ( dev-libs/lzo:2[static-libs(+)] )
multipath? ( sys-fs/multipath-tools )
ncurses? (
sys-libs/ncurses:=[unicode(+)]
sys-libs/ncurses:=[static-libs(+)]
)
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
numa? ( sys-process/numactl[static-libs(+)] )
opengl? (
virtual/opengl
media-libs/libepoxy[static-libs(+)]
media-libs/mesa[static-libs(+)]
media-libs/mesa[egl(+),gbm(+)]
)
png? ( media-libs/libpng:0=[static-libs(+)] )
pulseaudio? ( media-sound/pulseaudio )
rbd? ( sys-cluster/ceph )
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
sdl? (
media-libs/libsdl2[video]
media-libs/libsdl2[static-libs(+)]
)
sdl-image? ( media-libs/sdl2-image[static-libs(+)] )
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
slirp? ( net-libs/libslirp[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(+)] )
udev? ( virtual/libudev:= )
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
vde? ( net-misc/vde[static-libs(+)] )
virgl? ( media-libs/virglrenderer[static-libs(+)] )
virtfs? ( sys-libs/libcap )
xen? ( app-emulation/xen-tools:= )
xfs? ( sys-fs/xfsprogs[static-libs(+)] )
zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
"
EDK2_OVMF_VERSION="202105"
SEABIOS_VERSION="1.14.0"
X86_FIRMWARE_DEPEND="
pin-upstream-blobs? (
~sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}[binary]
~sys-firmware/ipxe-1.21.1[binary,qemu]
~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios]
~sys-firmware/sgabios-0.1_pre10[binary]
)
!pin-upstream-blobs? (
>=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
sys-firmware/ipxe[qemu]
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
sys-firmware/sgabios
)"
PPC_FIRMWARE_DEPEND="
pin-upstream-blobs? (
~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios]
)
!pin-upstream-blobs? (
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
)
"
BDEPEND="
$(python_gen_impl_dep)
dev-lang/perl
sys-apps/texinfo
virtual/pkgconfig
doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
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_ppc? ( ${PPC_FIRMWARE_DEPEND} )
qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} )
"
DEPEND="${CDEPEND}
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
static? (
${ALL_DEPEND}
${SOFTMMU_TOOLS_DEPEND}
)
static-user? ( ${ALL_DEPEND} )"
RDEPEND="${CDEPEND}
acct-group/kvm
selinux? ( sec-policy/selinux-qemu )"
PATCHES=(
"${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
"${FILESDIR}"/${PN}-5.2.0-strings.patch
"${FILESDIR}"/${PN}-5.2.0-cleaner-werror.patch
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
"${FILESDIR}"/${PN}-5.2.0-dce-locks.patch
"${FILESDIR}"/${PN}-6.0.0-make.patch
)
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/opensbi-riscv64-generic-fw_dynamic.elf
usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf
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 requires 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/targets/ >/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
}
src_prepare() {
check_targets IUSE_SOFTMMU_TARGETS softmmu
check_targets IUSE_USER_TARGETS linux-user
default
# Use correct toolchain to fix cross-compiling
tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS
export WINDRES=${CHOST}-windres
# Verbose builds
MAKEOPTS+=" V=1"
# 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
--localstatedir=/var
--disable-bsd-user
--disable-containers # bug #732972
--disable-guest-agent
--disable-strip
# bug #746752: TCG interpreter has a few limitations:
# - it does not support FPU
# - it's generally slower on non-self-modifying code
# It's advantage is support for host architectures
# where native codegeneration is not implemented.
# Gentoo has qemu keyworded only on targets with
# native code generation available. Avoid the interpreter.
--disable-tcg-interpreter
--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 nls gettext)
$(use_enable plugins)
$(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
}
# Enable option only for softmmu build, but not 'user' or 'tools'
conf_softmmu() {
if [[ ${buildtype} == "softmmu" ]] ; then
use_enable "$@"
else
echo "--disable-${2:-$1}"
fi
}
# Enable option only for tools build, but not 'user' or 'softmmu'
conf_tools() {
if [[ ${buildtype} == "tools" ]] ; then
use_enable "$@"
else
echo "--disable-${2:-$1}"
fi
}
conf_opts+=(
$(conf_notuser accessibility brlapi)
$(conf_notuser aio linux-aio)
$(conf_notuser bzip2)
$(conf_notuser capstone)
$(conf_notuser caps cap-ng)
$(conf_notuser curl)
$(conf_notuser fdt)
$(conf_notuser fuse)
$(conf_notuser glusterfs)
$(conf_notuser gnutls)
$(conf_notuser gnutls nettle)
$(conf_notuser gtk)
$(conf_notuser infiniband rdma)
$(conf_notuser iscsi libiscsi)
$(conf_notuser io-uring linux-io-uring)
$(conf_notuser jemalloc jemalloc)
$(conf_notuser jpeg vnc-jpeg)
$(conf_notuser kernel_linux kvm)
$(conf_notuser lzo)
$(conf_notuser multipath mpath)
$(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_softmmu sdl-image)
$(conf_notuser seccomp)
$(conf_notuser slirp slirp system)
$(conf_notuser smartcard)
$(conf_notuser snappy)
$(conf_notuser spice)
$(conf_notuser ssh libssh)
$(conf_notuser udev libudev)
$(conf_notuser usb libusb)
$(conf_notuser usbredir usb-redir)
$(conf_notuser vde)
$(conf_notuser vhost-net)
$(conf_notuser vhost-user-fs)
$(conf_tools vhost-user-fs virtiofsd)
$(conf_notuser virgl virglrenderer)
$(conf_softmmu virtfs)
$(conf_notuser vnc)
$(conf_notuser vte)
$(conf_notuser xen)
$(conf_notuser xen xen-pci-passthrough)
$(conf_notuser xfs xfsctl)
# use prebuilt keymaps, bug #759604
--disable-xkbcommon
$(conf_notuser zstd)
)
if [[ ${buildtype} == "user" ]] ; then
conf_opts+=( --disable-libxml2 )
else
conf_opts+=( --enable-libxml2 )
fi
if [[ ! ${buildtype} == "user" ]] ; then
# audio options
local audio_opts=(
# Note: backend order matters here: #716202
# We iterate from higher-level to lower level.
$(usex pulseaudio pa "")
$(usev jack)
$(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
# 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} )
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-r2 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 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"
# PPC/PPC64 loads vgabios-stdvga
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || 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
}

View File

@ -0,0 +1,912 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
PYTHON_COMPAT=( python3_{7,8,9,10} )
PYTHON_REQ_USE="ncurses,readline"
FIRMWARE_ABI_VERSION="6.1.0"
inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \
pax-utils xdg-utils
if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="https://git.qemu.org/git/qemu.git"
EGIT_SUBMODULES=(
meson
tests/fp/berkeley-softfloat-3
tests/fp/berkeley-testfloat-3
ui/keycodemapdb
)
inherit git-r3
SRC_URI=""
else
SRC_URI="https://download.qemu.org/${P}.tar.xz"
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
fi
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org"
LICENSE="GPL-2 LGPL-2 BSD-2"
SLOT="0"
IUSE="accessibility +aio alsa bpf bzip2 capstone +caps +curl debug +doc
+fdt fuse glusterfs gnutls gtk infiniband iscsi io-uring
jack jemalloc +jpeg kernel_linux
kernel_FreeBSD lzo multipath
ncurses nfs nls numa opengl +oss +pin-upstream-blobs
plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
+slirp
smartcard snappy spice ssh static static-user systemtap test udev usb
usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
xfs zstd"
COMMON_TARGETS="
aarch64
alpha
arm
cris
hppa
i386
m68k
microblaze
microblazeel
mips
mips64
mips64el
mipsel
nios2
or1k
ppc
ppc64
riscv32
riscv64
s390x
sh4
sh4eb
sparc
sparc64
x86_64
xtensa
xtensaeb
"
IUSE_SOFTMMU_TARGETS="
${COMMON_TARGETS}
avr
rx
tricore
"
IUSE_USER_TARGETS="
${COMMON_TARGETS}
aarch64_be
armeb
hexagon
mipsn32
mipsn32el
ppc64abi32
ppc64le
sparc32plus
"
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 )
sdl-image? ( sdl )
static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy !udev )
static-user? ( !plugins )
vhost-user-fs? ( caps seccomp )
virgl? ( opengl )
virtfs? ( caps xattr )
vte? ( gtk )
multipath? ( udev )
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(+)]
>=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 )
bpf? ( dev-libs/libbpf:= )
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(+)] )
fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
gnutls? (
dev-libs/nettle:=[static-libs(+)]
>=net-libs/gnutls-3.0:=[static-libs(+)]
)
gtk? (
x11-libs/gtk+:3
vte? ( x11-libs/vte:2.91 )
)
infiniband? (
sys-fabric/libibumad:=[static-libs(+)]
sys-fabric/libibverbs:=[static-libs(+)]
sys-fabric/librdmacm:=[static-libs(+)]
)
iscsi? ( net-libs/libiscsi )
io-uring? ( sys-libs/liburing:=[static-libs(+)] )
jack? ( virtual/jack )
jemalloc? ( dev-libs/jemalloc )
jpeg? ( virtual/jpeg:0=[static-libs(+)] )
lzo? ( dev-libs/lzo:2[static-libs(+)] )
multipath? ( sys-fs/multipath-tools )
ncurses? (
sys-libs/ncurses:=[unicode(+)]
sys-libs/ncurses:=[static-libs(+)]
)
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
numa? ( sys-process/numactl[static-libs(+)] )
opengl? (
virtual/opengl
media-libs/libepoxy[static-libs(+)]
media-libs/mesa[static-libs(+)]
media-libs/mesa[egl(+),gbm(+)]
)
png? ( media-libs/libpng:0=[static-libs(+)] )
pulseaudio? ( media-sound/pulseaudio )
rbd? ( sys-cluster/ceph )
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
sdl? (
media-libs/libsdl2[video]
media-libs/libsdl2[static-libs(+)]
)
sdl-image? ( media-libs/sdl2-image[static-libs(+)] )
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
slirp? ( net-libs/libslirp[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(+)] )
udev? ( virtual/libudev:= )
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
vde? ( net-misc/vde[static-libs(+)] )
virgl? ( media-libs/virglrenderer[static-libs(+)] )
virtfs? ( sys-libs/libcap )
xen? ( app-emulation/xen-tools:= )
xfs? ( sys-fs/xfsprogs[static-libs(+)] )
zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
"
EDK2_OVMF_VERSION="202105"
SEABIOS_VERSION="1.14.0"
X86_FIRMWARE_DEPEND="
pin-upstream-blobs? (
~sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}[binary]
~sys-firmware/ipxe-1.21.1[binary,qemu]
~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios]
~sys-firmware/sgabios-0.1_pre10[binary]
)
!pin-upstream-blobs? (
>=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
sys-firmware/ipxe[qemu]
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
sys-firmware/sgabios
)"
PPC_FIRMWARE_DEPEND="
pin-upstream-blobs? (
~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios]
)
!pin-upstream-blobs? (
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
)
"
BDEPEND="
$(python_gen_impl_dep)
dev-lang/perl
sys-apps/texinfo
virtual/pkgconfig
doc? (
dev-python/sphinx[${PYTHON_USEDEP}]
dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
)
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_ppc? ( ${PPC_FIRMWARE_DEPEND} )
qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} )
"
DEPEND="${CDEPEND}
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
static? (
${ALL_DEPEND}
${SOFTMMU_TOOLS_DEPEND}
)
static-user? ( ${ALL_DEPEND} )"
RDEPEND="${CDEPEND}
acct-group/kvm
selinux? ( sec-policy/selinux-qemu )"
PATCHES=(
"${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
"${FILESDIR}"/${PN}-6.0.0-make.patch
"${FILESDIR}"/${PN}-6.1.0-strings.patch
"${FILESDIR}"/${P}-automagic-libbpf.patch
)
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/opensbi-riscv64-generic-fw_dynamic.elf
usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf
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 requires 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}"/configs/targets/ >/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
}
src_prepare() {
check_targets IUSE_SOFTMMU_TARGETS softmmu
check_targets IUSE_USER_TARGETS linux-user
default
# Use correct toolchain to fix cross-compiling
tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS
export WINDRES=${CHOST}-windres
# Verbose builds
MAKEOPTS+=" V=1"
# 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
--localstatedir=/var
--disable-bsd-user
--disable-containers # bug #732972
--disable-guest-agent
--disable-strip
# bug #746752: TCG interpreter has a few limitations:
# - it does not support FPU
# - it's generally slower on non-self-modifying code
# It's advantage is support for host architectures
# where native codegeneration is not implemented.
# Gentoo has qemu keyworded only on targets with
# native code generation available. Avoid the interpreter.
--disable-tcg-interpreter
--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 nls gettext)
$(use_enable plugins)
$(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
}
# Enable option only for softmmu build, but not 'user' or 'tools'
conf_softmmu() {
if [[ ${buildtype} == "softmmu" ]] ; then
use_enable "$@"
else
echo "--disable-${2:-$1}"
fi
}
# Enable option only for tools build, but not 'user' or 'softmmu'
conf_tools() {
if [[ ${buildtype} == "tools" ]] ; then
use_enable "$@"
else
echo "--disable-${2:-$1}"
fi
}
conf_opts+=(
$(conf_notuser accessibility brlapi)
$(conf_notuser aio linux-aio)
$(conf_softmmu bpf)
$(conf_notuser bzip2)
$(conf_notuser capstone)
$(conf_notuser caps cap-ng)
$(conf_notuser curl)
$(conf_notuser fdt)
$(conf_notuser fuse)
$(conf_notuser glusterfs)
$(conf_notuser gnutls)
$(conf_notuser gnutls nettle)
$(conf_notuser gtk)
$(conf_notuser infiniband rdma)
$(conf_notuser iscsi libiscsi)
$(conf_notuser io-uring linux-io-uring)
$(conf_notuser jemalloc jemalloc)
$(conf_notuser jpeg vnc-jpeg)
$(conf_notuser kernel_linux kvm)
$(conf_notuser lzo)
$(conf_notuser multipath mpath)
$(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_softmmu sdl-image)
$(conf_notuser seccomp)
$(conf_notuser slirp slirp system)
$(conf_notuser smartcard)
$(conf_notuser snappy)
$(conf_notuser spice)
$(conf_notuser ssh libssh)
$(conf_notuser udev libudev)
$(conf_notuser usb libusb)
$(conf_notuser usbredir usb-redir)
$(conf_notuser vde)
$(conf_notuser vhost-net)
$(conf_notuser vhost-user-fs)
$(conf_tools vhost-user-fs virtiofsd)
$(conf_notuser virgl virglrenderer)
$(conf_softmmu virtfs)
$(conf_notuser vnc)
$(conf_notuser vte)
$(conf_notuser xen)
$(conf_notuser xen xen-pci-passthrough)
$(conf_notuser xfs xfsctl)
# use prebuilt keymaps, bug #759604
--disable-xkbcommon
$(conf_notuser zstd)
)
if [[ ${buildtype} == "user" ]] ; then
conf_opts+=( --disable-libxml2 )
else
conf_opts+=( --enable-libxml2 )
fi
if [[ ! ${buildtype} == "user" ]] ; then
# audio options
local audio_opts=(
# Note: backend order matters here: #716202
# We iterate from higher-level to lower level.
$(usex pulseaudio pa "")
$(usev jack)
$(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
# 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} )
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-r2 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 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"
# PPC/PPC64 loads vgabios-stdvga
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || 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
}

View File

@ -0,0 +1,909 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
PYTHON_COMPAT=( python3_{7,8,9,10} )
PYTHON_REQ_USE="ncurses,readline"
FIRMWARE_ABI_VERSION="6.1.0"
inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \
pax-utils xdg-utils
if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="https://git.qemu.org/git/qemu.git"
EGIT_SUBMODULES=(
meson
tests/fp/berkeley-softfloat-3
tests/fp/berkeley-testfloat-3
ui/keycodemapdb
)
inherit git-r3
SRC_URI=""
else
SRC_URI="https://download.qemu.org/${P}.tar.xz"
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
fi
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org"
LICENSE="GPL-2 LGPL-2 BSD-2"
SLOT="0"
IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug +doc
+fdt fuse glusterfs gnutls gtk infiniband iscsi io-uring
jack jemalloc +jpeg kernel_linux
kernel_FreeBSD lzo multipath
ncurses nfs nls numa opengl +oss +pin-upstream-blobs
plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
+slirp
smartcard snappy spice ssh static static-user systemtap test udev usb
usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
xfs zstd"
COMMON_TARGETS="
aarch64
alpha
arm
cris
hppa
i386
m68k
microblaze
microblazeel
mips
mips64
mips64el
mipsel
nios2
or1k
ppc
ppc64
riscv32
riscv64
s390x
sh4
sh4eb
sparc
sparc64
x86_64
xtensa
xtensaeb
"
IUSE_SOFTMMU_TARGETS="
${COMMON_TARGETS}
avr
rx
tricore
"
IUSE_USER_TARGETS="
${COMMON_TARGETS}
aarch64_be
armeb
hexagon
mipsn32
mipsn32el
ppc64abi32
ppc64le
sparc32plus
"
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 )
sdl-image? ( sdl )
static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy !udev )
static-user? ( !plugins )
vhost-user-fs? ( caps seccomp )
virgl? ( opengl )
virtfs? ( caps xattr )
vte? ( gtk )
multipath? ( udev )
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(+)]
>=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(+)] )
fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
gnutls? (
dev-libs/nettle:=[static-libs(+)]
>=net-libs/gnutls-3.0:=[static-libs(+)]
)
gtk? (
x11-libs/gtk+:3
vte? ( x11-libs/vte:2.91 )
)
infiniband? (
sys-fabric/libibumad:=[static-libs(+)]
sys-fabric/libibverbs:=[static-libs(+)]
sys-fabric/librdmacm:=[static-libs(+)]
)
iscsi? ( net-libs/libiscsi )
io-uring? ( sys-libs/liburing:=[static-libs(+)] )
jack? ( virtual/jack )
jemalloc? ( dev-libs/jemalloc )
jpeg? ( virtual/jpeg:0=[static-libs(+)] )
lzo? ( dev-libs/lzo:2[static-libs(+)] )
multipath? ( sys-fs/multipath-tools )
ncurses? (
sys-libs/ncurses:=[unicode(+)]
sys-libs/ncurses:=[static-libs(+)]
)
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
numa? ( sys-process/numactl[static-libs(+)] )
opengl? (
virtual/opengl
media-libs/libepoxy[static-libs(+)]
media-libs/mesa[static-libs(+)]
media-libs/mesa[egl(+),gbm(+)]
)
png? ( media-libs/libpng:0=[static-libs(+)] )
pulseaudio? ( media-sound/pulseaudio )
rbd? ( sys-cluster/ceph )
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
sdl? (
media-libs/libsdl2[video]
media-libs/libsdl2[static-libs(+)]
)
sdl-image? ( media-libs/sdl2-image[static-libs(+)] )
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
slirp? ( net-libs/libslirp[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(+)] )
udev? ( virtual/libudev:= )
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
vde? ( net-misc/vde[static-libs(+)] )
virgl? ( media-libs/virglrenderer[static-libs(+)] )
virtfs? ( sys-libs/libcap )
xen? ( app-emulation/xen-tools:= )
xfs? ( sys-fs/xfsprogs[static-libs(+)] )
zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
"
EDK2_OVMF_VERSION="202105"
SEABIOS_VERSION="1.14.0"
X86_FIRMWARE_DEPEND="
pin-upstream-blobs? (
~sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}[binary]
~sys-firmware/ipxe-1.21.1[binary,qemu]
~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios]
~sys-firmware/sgabios-0.1_pre10[binary]
)
!pin-upstream-blobs? (
>=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
sys-firmware/ipxe[qemu]
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
sys-firmware/sgabios
)"
PPC_FIRMWARE_DEPEND="
pin-upstream-blobs? (
~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios]
)
!pin-upstream-blobs? (
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
)
"
BDEPEND="
$(python_gen_impl_dep)
dev-lang/perl
sys-apps/texinfo
virtual/pkgconfig
doc? (
dev-python/sphinx
dev-python/sphinx_rtd_theme
)
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_ppc? ( ${PPC_FIRMWARE_DEPEND} )
qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} )
"
DEPEND="${CDEPEND}
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
static? (
${ALL_DEPEND}
${SOFTMMU_TOOLS_DEPEND}
)
static-user? ( ${ALL_DEPEND} )"
RDEPEND="${CDEPEND}
acct-group/kvm
selinux? ( sec-policy/selinux-qemu )"
PATCHES=(
"${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
"${FILESDIR}"/${PN}-6.0.0-make.patch
"${FILESDIR}"/${PN}-6.1.0-strings.patch
)
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/opensbi-riscv64-generic-fw_dynamic.elf
usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf
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 requires 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}"/configs/targets/ >/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
}
src_prepare() {
check_targets IUSE_SOFTMMU_TARGETS softmmu
check_targets IUSE_USER_TARGETS linux-user
default
# Use correct toolchain to fix cross-compiling
tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS
export WINDRES=${CHOST}-windres
# Verbose builds
MAKEOPTS+=" V=1"
# 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
--localstatedir=/var
--disable-bsd-user
--disable-containers # bug #732972
--disable-guest-agent
--disable-strip
# bug #746752: TCG interpreter has a few limitations:
# - it does not support FPU
# - it's generally slower on non-self-modifying code
# It's advantage is support for host architectures
# where native codegeneration is not implemented.
# Gentoo has qemu keyworded only on targets with
# native code generation available. Avoid the interpreter.
--disable-tcg-interpreter
--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 nls gettext)
$(use_enable plugins)
$(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
}
# Enable option only for softmmu build, but not 'user' or 'tools'
conf_softmmu() {
if [[ ${buildtype} == "softmmu" ]] ; then
use_enable "$@"
else
echo "--disable-${2:-$1}"
fi
}
# Enable option only for tools build, but not 'user' or 'softmmu'
conf_tools() {
if [[ ${buildtype} == "tools" ]] ; then
use_enable "$@"
else
echo "--disable-${2:-$1}"
fi
}
conf_opts+=(
$(conf_notuser accessibility brlapi)
$(conf_notuser aio linux-aio)
$(conf_notuser bzip2)
$(conf_notuser capstone)
$(conf_notuser caps cap-ng)
$(conf_notuser curl)
$(conf_notuser fdt)
$(conf_notuser fuse)
$(conf_notuser glusterfs)
$(conf_notuser gnutls)
$(conf_notuser gnutls nettle)
$(conf_notuser gtk)
$(conf_notuser infiniband rdma)
$(conf_notuser iscsi libiscsi)
$(conf_notuser io-uring linux-io-uring)
$(conf_notuser jemalloc jemalloc)
$(conf_notuser jpeg vnc-jpeg)
$(conf_notuser kernel_linux kvm)
$(conf_notuser lzo)
$(conf_notuser multipath mpath)
$(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_softmmu sdl-image)
$(conf_notuser seccomp)
$(conf_notuser slirp slirp system)
$(conf_notuser smartcard)
$(conf_notuser snappy)
$(conf_notuser spice)
$(conf_notuser ssh libssh)
$(conf_notuser udev libudev)
$(conf_notuser usb libusb)
$(conf_notuser usbredir usb-redir)
$(conf_notuser vde)
$(conf_notuser vhost-net)
$(conf_notuser vhost-user-fs)
$(conf_tools vhost-user-fs virtiofsd)
$(conf_notuser virgl virglrenderer)
$(conf_softmmu virtfs)
$(conf_notuser vnc)
$(conf_notuser vte)
$(conf_notuser xen)
$(conf_notuser xen xen-pci-passthrough)
$(conf_notuser xfs xfsctl)
# use prebuilt keymaps, bug #759604
--disable-xkbcommon
$(conf_notuser zstd)
)
if [[ ${buildtype} == "user" ]] ; then
conf_opts+=( --disable-libxml2 )
else
conf_opts+=( --enable-libxml2 )
fi
if [[ ! ${buildtype} == "user" ]] ; then
# audio options
local audio_opts=(
# Note: backend order matters here: #716202
# We iterate from higher-level to lower level.
$(usex pulseaudio pa "")
$(usev jack)
$(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
# 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} )
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-r2 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 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"
# PPC/PPC64 loads vgabios-stdvga
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || 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
}

View File

@ -1,15 +1,2 @@
AUX eselect-python-20140125-pythonX.Y-config.patch 1314 SHA256 2bebb10258f01bf7a51ef5ffb134c52e85f2b7de9d5fa99775fcd1cb7c0625e1 SHA512 a1f514f2b9f717abddef7bb0041affe7b761b7b645f522aa6e244500c31d4790a13e47fdfcbffe0ac35fc361f4d2017ac97b08474ebff7dd9d3d15e0e8bc3777 WHIRLPOOL 00eec90910a981cf75a518b1f3fc7e8e603d156f6f1fd87bdac92d94bbe978c2006a9a8acee23317c835a4771b08584ffb32bdd1c3482b7788cefa69b78b085d
DIST eselect-python-20111108.tar.bz2 64959 SHA256 34d7618808a3c1d22e6763bc6c67d5ae47a1fa371f5e91de95a911da9aceba5e SHA512 59a493128753ae968c6fa30eb870f52198de7bb5090213ef0b8c0d3d8b1f552ac514174dd1e97e54dd9434432be1a68ad01853d1ffb21e53d28d08f623199dac WHIRLPOOL 605730de7fee70cf5a33e15c8e16a938807c5ed32f80ff0435a196f03cb38ce397092626c88df598b1b88dab7ee3b8c7f3105b9f3b88acb13fe532f964b8aced
DIST eselect-python-20140125.tar.bz2 72102 SHA256 ee7b470f7facc42285bab7f4b947280741515a85c9067339511c219248f8fdfb SHA512 94d4eb5a1af365c6f56a6fc2b75298018267cd4f6004f30b2e4d0c4744d3e82b33f6c82e6f0ea0f15132d5157c3ace99fa167bbf3ebada46edd2e005ca96eb51 WHIRLPOOL 70d5f9af2929507d26e56080ce934066d2de5f16030dfd63b016215465ad5fc89eb952d64cc545c7058d146108e26925741d2c8fbaba08abba1a5cae7b0c23b6
DIST eselect-python-20151117.tar.bz2 62793 SHA256 6f2912ae4d4fc12949ae0c9bb8b93b3a3a8c372336c2138c758f042f91484561 SHA512 3e680f8c851251176d6bb916d003e421e4b414aa9cc59e20cb15d454a3251cdf1e587828e9b2a5db461641f277e3b764ca172f4466fe3f6ef9679a9a05a71732 WHIRLPOOL a2e4ca676ead692b08a6194fb4bf5dabdd383ad158f45a17cb21c59022af139b0646fe39b0f4c9b540c80c4c2a04362c75f90e3c7f1506056b7b0f01e5e51474
DIST eselect-python-20160222.tar.bz2 48584 SHA256 be266ed02c60d4c44d07b575af87e4f9d3f952e387d8edb98edabbb72e855b75 SHA512 d0e424887594a1ffc0ce4f141e5c7d73763a49a2ec209b55ac2978a0bf82db9eaa3f07cc1c6650f609e6003f8292a260ce802c89f973b94c8a9a7c1d1ca84e3c WHIRLPOOL ba52a724fd3478b891d0c6a495885601bcc7f3bda713a5fd2e1c07ca1230d8a542ceb627329675f9935c07735e4de4a43d3d64d44771434cc4bbe9fb1cec6003
DIST eselect-python-20160516.tar.bz2 46549 SHA256 bea0a39d9e5afb7513be47955a82efa636b983de6388965df517cb1eb7615fd2 SHA512 0ac310e13bca9e3cdfdd55820cc2956cacf28ade99c1b5048edadd48c6a04c2ae1037207aaac74fcd75e809cf993f88b52e463979b68bd123fe925e491a7030a WHIRLPOOL 66782323a455af7536592cf76c9fd9f57c8adf8a67b374c4e6bb96fdc21dfb8add4f74697139643c47561357a451d50b777f3e2e73db850176fc05d61ae6e54c
EBUILD eselect-python-20111108.ebuild 1427 SHA256 0bf594eb4bd45b300be56f1cb5dc6a46445c841abf880775a3b1fd853cd4ee39 SHA512 f4d00541fd5a8507fe51298362e7d5f971fe29d933dbb625e219869be70318734372ee8b6112e20b5562b211ca305a9827546b725cc60e9f2b64f33d12ac5802 WHIRLPOOL 91caa7b5c058922d55008abc681d24ece0d67a3f6c1c252950c0c3a074c67fb2a1eed75212c050847702ce449602ba5798c41bcd7c02f456565df0a4342f911f
EBUILD eselect-python-20140125-r2.ebuild 1425 SHA256 ca8559b539fa036be9839e45b120521a876bf8529aa1e28d49275a1efc690b92 SHA512 110d83bd25913cd235b48c27c5daa105663ba56ea2702433bea558ac40c38f42346e0066359ad474b5de61dc75f0dd34b11b2b8eda5f10034624046f0d16465b WHIRLPOOL bbbe27538a64b3c2b6dc3361205ca4c588117392dd59cee8169dfa109b7f9ba6b30cf986bc0f762d420771fd2932d9e9ae03c0fbf31489b23ff373131b289466
EBUILD eselect-python-20151117-r2.ebuild 2282 SHA256 ba43b1e63c9117ec0a127e9255476ab07745224713cfba04952cf902472d5754 SHA512 a94ea5925b8fc76aeca00a69c79cdc9109175cba4ed752cdf08631b7c1a8571f0fcb00422355b127ce418f4e18114082d4d7c7faa684af5d73ff9469128f8d7d WHIRLPOOL 6e360e1934c69b1c38856d8b6ad5ed759c57b6fb07423092548f82ea7fa3292eb4b0522dd468ded88729d1ff82ef67e1b3a08d77d762736647de6c226fdd4262
EBUILD eselect-python-20160222.ebuild 1181 SHA256 7748401d20971f064c15406d013cde2ef79c85cf86a22f6c68e6c6d54c80fe57 SHA512 233920213ffd7be6b0aa9faa1c81afffc2cbeadd7b5aaecec34d0266bb21ba3d473f9f020d6bff7858e59536ca9ffdd9269b501a03887ab6ba71c3dc5c590c60 WHIRLPOOL 038a11f15cef3ab0f98e5329dee8735eedfe8b966dc2378921b65b07bd967aca6073f590663357cbd59c2f7a5337051e4c1f2b7bd14c981d120823dd8fd75182
EBUILD eselect-python-20160516.ebuild 1173 SHA256 40eb5791a2eda0c45c2c729a090a7f82e24400d86429f11cd0d3c1be90202e45 SHA512 b254a2a08373fdec7fba9137f521c98c274f3d7c4360a6d55a07e76cdc4d09453e2cdf40ae8091e42848a9d054159788a36fc5adc0565eab8d0824660cbdc690 WHIRLPOOL c28cfbe24b495cb458552d472f44cfc02d47506beefb31739c8a06091c1b95573e6da167515d51bbcbc1d49be163821bd554ce2ecc0c953d9a86909f4341bcf3
EBUILD eselect-python-99999999.ebuild 1182 SHA256 77e700e3b5205ff2b986e69b5f6ba578a738066689d6ed83b6eb53ac439b7619 SHA512 aa0fd2131c1ac57a238973e20c9dcbc0dad3747743f6a5041c8c98b8a7bd43f21343a773bd457d6a084cc7a5b4462ed10f21a6012f3c7b2c76b5195798745ac6 WHIRLPOOL e88bdeac716ba877364ee9a33b63cb2462de9c69e4bdc418624a4d2ce4f5a915a4e63d3f12e06b7d2b355428f53529a822d47c4fcff6e01b2013a78e1083ebd0
MISC ChangeLog 8479 SHA256 f2ff7d201bc9d2f19df63c80d09bd4c8525d591081ede29d430952cc3ac00b89 SHA512 b77db3847195fca3df3b73340e5118a8e62edfd2fa415d0ff895c8c4a77f967d50f33cc7d56cf2ac47d44e5d311795715477d49caf96b7a4812596e3fb2b1ea0 WHIRLPOOL 7dba1022926db356e2b52e0f7f86f89c8324f381337552ff0b6399b5b1728365a1ee5658a0a1e7e8cf3a705e229c4e76ecc2cf43b40d69a8bc38768240c10717
MISC ChangeLog-2015 13659 SHA256 9224650f5d5f3a3a39ae9ff3f11dbd87a27a63c1bef8dd449b7edfa7a70e3bee SHA512 100fd16b8d27afe9e2b6600ad8d3ff9d002a6bac7dd35c0fe95e1112bdb4bfaa374d74a5fbde2fe31fd45c78932ec7d7ba1a0d7e08121d9197ecf0ec47a9440f WHIRLPOOL 9cb53914a03ad2676f9e6fab277ac188f49ee5be6c8be388cd13b93d592821d4bd08c18c03af44d6a0bf36149f208cdd4d4813233a46736ee205ba89042e92eb
MISC metadata.xml 240 SHA256 07a76e79a43ffd9aa15de0e4ae548ea85aa5bd165c4602630c3519e60f113ee6 SHA512 9c23321eaa853f851bf00195ea64ac2ba093e516f9b57855ee5aa58fbb1988130c9f0c17c2a9ce9fae4ee033e0a28a70c868e0f5acdfa1dd316ab533c5279d59 WHIRLPOOL e3e059953c7c36bd942545f4e2a0e94ba938a17fe2bd04df81b137c185e64a213152c11918922563509e4767e601b41105f80c5983a87ee4d6be7704bcf7cf54
DIST eselect-python-20190417.tar.bz2 46698 BLAKE2B 6f0acad0abb21d8e4768cbeb12f7e871c316a940ebae4c02bdb1336095991cb6b6bf05661ab659115a67f29a09f2a9b57cfb0868019606ed550b5aa1863f6f71 SHA512 a461263a50a29f0493127ee4a027e49ca4d7631e9c8d16cffc8bdb98cc7e75b0796e45e70951d5559fb86f0db14141a3ea6a53bd4cf1e0cc83ed5c7f24173695
DIST eselect-python-20200719.tar.bz2 47313 BLAKE2B 37270b1f5ad3dfcd4e19c71ae74da585e803afe89c43f8b912bccf0fbdb936916cf58fc780b654692bb9e6ab44310514bae5f10d19dcde6a0e63042f76abe81d SHA512 4b205a099ad079e5e28d3fdbe774c22f54b7c16bff2d28b54d0e20ee36be2339e928d4050eed74ef969d5815bf4bb691bf5ed6e98023b28972da6d5c7d8a2545

View File

@ -1,56 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
# Keep the EAPI low here because everything else depends on it.
# We want to make upgrading simpler.
ESVN_PROJECT="eselect-python"
ESVN_REPO_URI="https://overlays.gentoo.org/svn/proj/python/projects/eselect-python/trunk"
if [[ ${PV} == "99999999" ]] ; then
inherit autotools subversion
else
SRC_URI="mirror://gentoo/${P}.tar.bz2"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
fi
DESCRIPTION="Eselect module for management of multiple Python versions"
HOMEPAGE="https://www.gentoo.org/proj/en/Python/"
LICENSE="GPL-2"
SLOT="0"
IUSE=""
RDEPEND=">=app-admin/eselect-1.2.3"
# Avoid autotool deps for released versions for circ dep issues.
if [[ ${PV} == "99999999" ]] ; then
DEPEND="sys-devel/autoconf"
else
DEPEND=""
fi
src_unpack() {
unpack ${A}
cd "${S}"
[[ -x configure ]] || eautoreconf
}
src_install() {
keepdir /etc/env.d/python
emake DESTDIR="${D}" install || die
}
pkg_preinst() {
if has_version "<${CATEGORY}/${PN}-20090804" || ! has_version "${CATEGORY}/${PN}"; then
run_eselect_python_update="1"
fi
}
pkg_postinst() {
if [[ "${run_eselect_python_update}" == "1" ]]; then
ebegin "Running \`eselect python update\`"
eselect python update --ignore 3.0 --ignore 3.1 --ignore 3.2 > /dev/null
eend "$?"
fi
}

View File

@ -1,49 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils
if [[ ${PV} == "99999999" ]] ; then
inherit autotools git-r3
EGIT_REPO_URI="git://anongit.gentoo.org/proj/${PN}.git"
else
SRC_URI="mirror://gentoo/${P}.tar.bz2
https://dev.gentoo.org/~floppym/dist/${P}.tar.bz2"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="Eselect module for management of multiple Python versions"
HOMEPAGE="https://www.gentoo.org/proj/en/Python/"
LICENSE="GPL-2"
SLOT="0"
IUSE=""
RDEPEND=">=app-admin/eselect-1.2.3"
src_prepare() {
epatch "${FILESDIR}"/${P}-pythonX.Y-config.patch
[[ ${PV} == "99999999" ]] && eautoreconf
}
src_install() {
keepdir /etc/env.d/python
emake DESTDIR="${D}" install
}
pkg_postinst() {
if has_version 'dev-lang/python'; then
eselect python update --if-unset
# Regen python-config wrapper
eselect python set $(eselect python show)
fi
if has_version '=dev-lang/python-2*'; then
eselect python update --python2 --if-unset
fi
if has_version '=dev-lang/python-3*'; then
eselect python update --python3 --if-unset
fi
}

View File

@ -1,83 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
if [[ ${PV} == "99999999" ]] ; then
inherit autotools git-r3
EGIT_REPO_URI="git://anongit.gentoo.org/proj/${PN}.git"
else
SRC_URI="https://dev.gentoo.org/~mgorny/dist/${P}.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="Eselect module for management of multiple Python versions"
HOMEPAGE="https://www.gentoo.org/proj/en/Python/"
LICENSE="GPL-2"
SLOT="0"
IUSE=""
RDEPEND=">=app-admin/eselect-1.2.3
>=dev-lang/python-exec-2.1:2
!<dev-lang/python-2.7.10-r4:2.7
!<dev-lang/python-3.3.5-r4:3.3
!<dev-lang/python-3.4.3-r4:3.4
!<dev-lang/python-3.5.0-r3:3.5"
src_prepare() {
[[ ${PV} == "99999999" ]] && eautoreconf
}
src_install() {
keepdir /etc/env.d/python
emake DESTDIR="${D}" install || die
local f
for f in python{,2,3}; do
# can't use symlinks here since random stuff
# loves to do readlink on sys.executable...
newbin "${EPREFIX}/usr/lib/python-exec/python-exec2" "${f}"
done
for f in python{,2,3}-config 2to3 idle pydoc pyvenv; do
dosym ../lib/python-exec/python-exec2 /usr/bin/"${f}"
done
}
pkg_preinst() {
local py
# Copy python[23] selection from the old format (symlink)
for py in 2 3; do
# default to none
declare -g "PREV_PYTHON${py}"=
if [[ -L ${EROOT}/usr/bin/python${py} ]]; then
local target=$(readlink "${EROOT}/usr/bin/python${py}")
# check if it's actually old eselect symlink
if [[ ${target} == python?.? ]]; then
declare -g "PREV_PYTHON${py}=${target}"
fi
fi
done
}
pkg_postinst() {
local py
if has_version 'dev-lang/python'; then
eselect python update --if-unset
fi
for py in 2 3; do
local pyvar=PREV_PYTHON${py}
if [[ -n ${!pyvar} ]]; then
einfo "Setting Python${py} to ${!pyvar}"
eselect python set "--python${py}" "${!pyvar}"
elif has_version "=dev-lang/python-${py}*"; then
eselect python update "--python${py}" --if-unset
fi
done
}

View File

@ -1,19 +1,18 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
EAPI=6
if [[ ${PV} == "99999999" ]] ; then
inherit autotools git-r3
EGIT_REPO_URI="git://anongit.gentoo.org/proj/${PN}.git"
else
SRC_URI="https://dev.gentoo.org/~mgorny/dist/${P}.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="Eselect module for management of multiple Python versions"
HOMEPAGE="https://www.gentoo.org/proj/en/Python/"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Python"
LICENSE="GPL-2"
SLOT="0"
@ -24,6 +23,7 @@ RDEPEND=">=app-admin/eselect-1.2.3
>=dev-lang/python-exec-2.4.2"
src_prepare() {
default
[[ ${PV} == "99999999" ]] && eautoreconf
}

View File

@ -1,29 +1,30 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
EAPI=7
if [[ ${PV} == "99999999" ]] ; then
inherit autotools git-r3
EGIT_REPO_URI="git://anongit.gentoo.org/proj/${PN}.git"
else
SRC_URI="https://dev.gentoo.org/~floppym/dist/${P}.tar.bz2"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ia64 m68k ~mips ppc ~ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SRC_URI="https://dev.gentoo.org/~chutzpah/dist/misc/${P}.tar.bz2"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="Eselect module for management of multiple Python versions"
HOMEPAGE="https://www.gentoo.org/proj/en/Python/"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Python"
LICENSE="GPL-2"
SLOT="0"
IUSE=""
# python-exec-2.4.2 for working -l option
RDEPEND=">=app-admin/eselect-1.2.3
>=dev-lang/python-exec-2.4.2"
RDEPEND="
>=app-admin/eselect-1.2.3
>=dev-lang/python-exec-2.4.2
"
src_prepare() {
default
[[ ${PV} == "99999999" ]] && eautoreconf
}

View File

@ -1,29 +1,30 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
EAPI=7
if [[ ${PV} == "99999999" ]] ; then
inherit autotools git-r3
EGIT_REPO_URI="git://anongit.gentoo.org/proj/${PN}.git"
else
SRC_URI="https://dev.gentoo.org/~floppym/dist/${P}.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SRC_URI="https://dev.gentoo.org/~chutzpah/dist/misc/${P}.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="Eselect module for management of multiple Python versions"
HOMEPAGE="https://www.gentoo.org/proj/en/Python/"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Python"
LICENSE="GPL-2"
SLOT="0"
IUSE=""
# python-exec-2.4.2 for working -l option
RDEPEND=">=app-admin/eselect-1.2.3
>=dev-lang/python-exec-2.4.2"
RDEPEND="
>=app-admin/eselect-1.2.3
>=dev-lang/python-exec-2.4.2
"
src_prepare() {
default
[[ ${PV} == "99999999" ]] && eautoreconf
}

View File

@ -1,38 +0,0 @@
From 3a5909537315dbe624fbd242d8ab25f3926465fb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Sun, 28 Feb 2016 17:04:40 +0100
Subject: [PATCH] Use pythonX.Y-config instead of python-config-X.Y
---
python.eselect.in | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/python.eselect.in b/python.eselect.in
index 9a52791..c40483a 100644
--- a/python.eselect.in
+++ b/python.eselect.in
@@ -46,9 +46,9 @@ set_python_config() {
#!/usr/bin/env bash
# Gentoo python-config wrapper script
-[[ "\${EPYTHON}" =~ (/|^python\$) ]] && EPYTHON="${target/-config-/}"
-python_config="\${EPYTHON/python/python-config-}"
-"\${0%/*}/\${python_config:-${target}}" "\$@"
+[[ "\${EPYTHON}" =~ (/|^python\$|^$) ]] && EPYTHON="${target%-config}"
+python_config="\${EPYTHON}-config"
+"\${0%/*}/\${python_config}" "\$@"
EOF
chmod a+rx "${script}"
}
@@ -121,7 +121,7 @@ set_scripts_and_symlinks() {
ln -nfs "${target}" "${target%.*}"
if [[ "${SET_MAIN_ACTIVE_PYTHON_INTERPRETER}" == "1" ]]; then
set_python "${target}"
- set_python_config "${target/python/python-config-}"
+ set_python_config "${target}-config"
ln -nfs "${target/python/pydoc}" pydoc
# idle is optionally installed
if [[ -f "${target/python/idle}" ]]; then
--
2.7.2

View File

@ -1,8 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<stabilize-allarches/>
</pkgmetadata>

View File

@ -1,203 +0,0 @@
# ChangeLog for app-misc/pax-utils
# Copyright 1999-2016 Gentoo Foundation; Distributed under the GPL v2
# (auto-generated from git log)
*pax-utils-1.0.5 (09 Aug 2015)
*pax-utils-1.0.4 (09 Aug 2015)
*pax-utils-1.0.3 (09 Aug 2015)
*pax-utils-1.0.2 (09 Aug 2015)
*pax-utils-1.0.1 (09 Aug 2015)
*pax-utils-1.0 (09 Aug 2015)
*pax-utils-0.9.2 (09 Aug 2015)
*pax-utils-0.9.1 (09 Aug 2015)
*pax-utils-0.8.1 (09 Aug 2015)
*pax-utils-0.7 (09 Aug 2015)
*pax-utils-0.6 (09 Aug 2015)
*pax-utils-0.5 (09 Aug 2015)
*pax-utils-0.4 (09 Aug 2015)
*pax-utils-0.3.0 (09 Aug 2015)
*pax-utils-0.2.3 (09 Aug 2015)
*pax-utils-0.2.2 (09 Aug 2015)
*pax-utils-0.2.1 (09 Aug 2015)
09 Aug 2015; Robin H. Johnson <robbat2@gentoo.org> +metadata.xml,
+pax-utils-0.2.1.ebuild, +pax-utils-0.2.2.ebuild, +pax-utils-0.2.3.ebuild,
+pax-utils-0.3.0.ebuild, +pax-utils-0.4.ebuild, +pax-utils-0.5.ebuild,
+pax-utils-0.6.ebuild, +pax-utils-0.7.ebuild, +pax-utils-0.8.1.ebuild,
+pax-utils-0.9.1.ebuild, +pax-utils-0.9.2.ebuild, +pax-utils-1.0.ebuild,
+pax-utils-1.0.1.ebuild, +pax-utils-1.0.2.ebuild, +pax-utils-1.0.3.ebuild,
+pax-utils-1.0.4.ebuild, +pax-utils-1.0.5.ebuild:
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration
tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this
project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo
developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve
cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014
work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on
the bikeshed
*pax-utils-1.1 (20 Aug 2015)
20 Aug 2015; Mike Frysinger <vapier@gentoo.org> +pax-utils-1.1.ebuild:
version bump to 1.1
20 Aug 2015; Mike Frysinger <vapier@gentoo.org> -pax-utils-0.2.1.ebuild,
-pax-utils-0.2.2.ebuild, -pax-utils-0.2.3.ebuild, -pax-utils-0.3.0.ebuild,
-pax-utils-0.4.ebuild, -pax-utils-0.5.ebuild, -pax-utils-0.6.ebuild,
-pax-utils-0.7.ebuild, -pax-utils-0.8.1.ebuild, -pax-utils-0.9.1.ebuild,
-pax-utils-0.9.2.ebuild:
drop old
24 Aug 2015; Justin Lecher <jlec@gentoo.org> metadata.xml,
pax-utils-1.0.ebuild, pax-utils-1.0.1.ebuild, pax-utils-1.0.2.ebuild,
pax-utils-1.0.3.ebuild, pax-utils-1.0.4.ebuild, pax-utils-1.0.5.ebuild,
pax-utils-1.1.ebuild:
Use https by default
Convert all URLs for sites supporting encrypted connections from http to
https
Signed-off-by: Justin Lecher <jlec@gentoo.org>
24 Aug 2015; Mike Gilbert <floppym@gentoo.org> metadata.xml:
Revert DOCTYPE SYSTEM https changes in metadata.xml
repoman does not yet accept the https version.
This partially reverts eaaface92ee81f30a6ac66fe7acbcc42c00dc450.
Bug: https://bugs.gentoo.org/552720
26 Aug 2015; Mike Frysinger <vapier@gentoo.org> pax-utils-1.1.ebuild:
update pkg-config deps
The build has switched to using pkg-config to locate libcap/libseccomp
deps, so make sure we pull that in.
The .pc file is somewhat new to libcap, so we have to force a newer
version to get it.
*pax-utils-1.1.1 (28 Aug 2015)
28 Aug 2015; Mike Frysinger <vapier@gentoo.org> +pax-utils-1.1.1.ebuild:
version bump to 1.1.1
*pax-utils-1.1.2 (12 Sep 2015)
12 Sep 2015; Mike Frysinger <vapier@gentoo.org> +pax-utils-1.1.2.ebuild:
version bump to 1.1.2
*pax-utils-1.1.3 (19 Sep 2015)
19 Sep 2015; Mike Frysinger <vapier@gentoo.org> +pax-utils-1.1.3.ebuild:
version bump to 1.1.3
*pax-utils-1.1.4 (26 Oct 2015)
26 Oct 2015; Mike Frysinger <vapier@gentoo.org> +pax-utils-1.1.4.ebuild:
version bump to 1.1.4
24 Jan 2016; Michał Górny <mgorny@gentoo.org> metadata.xml:
Unify quoting in metadata.xml files for machine processing
Force unified quoting in all metadata.xml files since lxml does not
preserve original use of single and double quotes. Ensuring unified
quoting before the process allows distinguishing the GLEP 67-related
metadata.xml changes from unrelated quoting changes.
24 Jan 2016; Michał Górny <mgorny@gentoo.org> metadata.xml:
Set appropriate maintainer types in metadata.xml (GLEP 67)
*pax-utils-1.1.5 (10 Feb 2016)
10 Feb 2016; Mike Frysinger <vapier@gentoo.org> +pax-utils-1.1.5.ebuild:
version bump to 1.1.5
24 Feb 2016; Mike Frysinger <vapier@gentoo.org> pax-utils-1.1.5.ebuild:
drop accidental debug code
*pax-utils-1.1.6 (04 Mar 2016)
04 Mar 2016; Mike Frysinger <vapier@gentoo.org> +pax-utils-1.1.6.ebuild:
version bump
03 May 2016; Mike Frysinger <vapier@gentoo.org> pax-utils-1.1.ebuild,
pax-utils-1.1.1.ebuild, pax-utils-1.1.2.ebuild, pax-utils-1.1.3.ebuild,
pax-utils-1.1.4.ebuild, pax-utils-1.1.5.ebuild, pax-utils-1.1.6.ebuild:
set up PKG_CONFIG for cross-compiling #581774
26 May 2016; Benda Xu <heroxbd@gentoo.org> pax-utils-1.1.6.ebuild:
trivial fix for double prefix. ED -> D.
Package-Manager: portage-2.2.28
27 May 2016; Jeroen Roovers <jer@gentoo.org> pax-utils-1.1.6.ebuild:
Stable for HPPA PPC64 (bug #584100).
Package-Manager: portage-2.3.0_rc1
RepoMan-Options: --ignore-arches
28 May 2016; Benda Xu <heroxbd@gentoo.org> pax-utils-1.0.5.ebuild,
pax-utils-1.1.ebuild, pax-utils-1.1.1.ebuild, pax-utils-1.1.2.ebuild,
pax-utils-1.1.3.ebuild, pax-utils-1.1.4.ebuild, pax-utils-1.1.5.ebuild:
trivial fix for double prefix. ED -> D.
Package-Manager: portage-2.2.28
RepoMan-Options: --force
01 Jun 2016; Tobias Klausmann <klausman@gentoo.org> pax-utils-1.1.6.ebuild:
1.1.6-r0: add alpha keyword
Gentoo-Bug: 584100
Package-Manager: portage-2.3.0_rc1
08 Jun 2016; Markus Meier <maekke@gentoo.org> pax-utils-1.1.6.ebuild:
arm stable, bug #584100
Package-Manager: portage-2.3.0_rc1
RepoMan-Options: --include-arches="arm"
10 Jun 2016; Agostino Sarubbo <ago@gentoo.org> pax-utils-1.1.6.ebuild:
amd64 stable wrt bug #584100
Package-Manager: portage-2.2.28
RepoMan-Options: --include-arches="amd64"
Signed-off-by: Agostino Sarubbo <ago@gentoo.org>
25 Jun 2016; Agostino Sarubbo <ago@gentoo.org> pax-utils-1.1.6.ebuild:
x86 stable wrt bug #584100
Package-Manager: portage-2.2.28
RepoMan-Options: --include-arches="x86"
Signed-off-by: Agostino Sarubbo <ago@gentoo.org>
06 Jul 2016; Agostino Sarubbo <ago@gentoo.org> pax-utils-1.1.6.ebuild:
ppc stable wrt bug #584100
Package-Manager: portage-2.2.28
RepoMan-Options: --include-arches="ppc"
Signed-off-by: Agostino Sarubbo <ago@gentoo.org>

View File

@ -1,731 +0,0 @@
# ChangeLog for app-misc/pax-utils
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/pax-utils/ChangeLog,v 1.183 2015/07/20 04:15:55 vapier Exp $
*pax-utils-1.0.5 (20 Jul 2015)
20 Jul 2015; Mike Frysinger <vapier@gentoo.org> +pax-utils-1.0.5.ebuild:
Version bump.
*pax-utils-1.0.4 (13 Jul 2015)
13 Jul 2015; Mike Frysinger <vapier@gentoo.org> +pax-utils-1.0.4.ebuild:
Version bump.
21 Jun 2015; Mikle Kolyada <zlogene@gentoo.org> pax-utils-1.0.3.ebuild:
alpha stable wrt bug #550300
02 Jun 2015; Jack Morgan <jmorgan@gentoo.org> pax-utils-1.0.3.ebuild:
sparc stable wrt bug #550300
28 May 2015; Jeroen Roovers <jer@gentoo.org> pax-utils-1.0.3.ebuild:
Stable for HPPA (bug #550300).
25 May 2015; Mikle Kolyada <zlogene@gentoo.org> pax-utils-1.0.3.ebuild:
x86 stable wrt bug #550300
25 May 2015; Mike Frysinger <vapier@gentoo.org> pax-utils-1.0.3.ebuild:
Mark arm/arm64/ia64/m68k/s390/sh stable #550300.
25 May 2015; Anthony G. Basile <blueness@gentoo.org> pax-utils-1.0.3.ebuild:
Stable on ppc and ppc64. Bug #550300.
24 May 2015; Mikle Kolyada <zlogene@gentoo.org> pax-utils-1.0.3.ebuild:
amd64 stable wrt bug #550300
*pax-utils-1.0.3 (29 Mar 2015)
29 Mar 2015; Mike Frysinger <vapier@gentoo.org> +pax-utils-1.0.3.ebuild:
Version bump.
*pax-utils-1.0.2 (10 Mar 2015)
10 Mar 2015; Mike Frysinger <vapier@gentoo.org> +pax-utils-1.0.2.ebuild:
Version bump.
*pax-utils-1.0.1 (04 Mar 2015)
04 Mar 2015; Mike Frysinger <vapier@gentoo.org> +pax-utils-1.0.1.ebuild:
Version bump.
03 Mar 2015; Mike Frysinger <vapier@gentoo.org> pax-utils-1.0.ebuild:
Update HOMEPAGE to the wiki.
*pax-utils-1.0 (02 Mar 2015)
02 Mar 2015; Mike Frysinger <vapier@gentoo.org> +pax-utils-1.0.ebuild:
Version bump.
*pax-utils-0.9.2 (20 Nov 2014)
20 Nov 2014; Mike Frysinger <vapier@gentoo.org> +pax-utils-0.9.2.ebuild:
Version bump.
04 Nov 2014; Pacho Ramos <pacho@gentoo.org> metadata.xml:
Cleanup due #21862
02 Nov 2014; Agostino Sarubbo <ago@gentoo.org> pax-utils-0.8.1.ebuild:
Stable for alpha, wrt bug #525842
30 Oct 2014; Agostino Sarubbo <ago@gentoo.org> pax-utils-0.8.1.ebuild:
Stable for x86, wrt bug #525842
29 Oct 2014; Agostino Sarubbo <ago@gentoo.org> pax-utils-0.8.1.ebuild:
Stable for sparc, wrt bug #525842
21 Oct 2014; Mike Frysinger <vapier@gentoo.org> pax-utils-0.8.1.ebuild:
Mark arm64/ia64/m68k/s390/sh stable.
19 Oct 2014; Jeroen Roovers <jer@gentoo.org> pax-utils-0.8.1.ebuild:
Stable for HPPA (bug #525842).
*pax-utils-0.9.1 (19 Oct 2014)
19 Oct 2014; Mike Frysinger <vapier@gentoo.org> -pax-utils-0.9-r1.ebuild,
+pax-utils-0.9.1.ebuild:
Version bump to not install autogen #525852.
*pax-utils-0.9-r1 (19 Oct 2014)
19 Oct 2014; Mike Gilbert <floppym@gentoo.org> +pax-utils-0.9-r1.ebuild,
-pax-utils-0.9.ebuild:
Temporary fix for file collison on /usr/bin/autogen #525852.
19 Oct 2014; Anthony G. Basile <blueness@gentoo.org> pax-utils-0.8.1.ebuild:
Stable on arm, ppc and ppc64. Bug #525842
*pax-utils-0.9 (19 Oct 2014)
19 Oct 2014; Mike Frysinger <vapier@gentoo.org> +pax-utils-0.9.ebuild:
Version bump.
19 Oct 2014; Mikle Kolyada <zlogene@gentoo.org> pax-utils-0.8.1.ebuild:
amd64 stable wrt bug #525842
*pax-utils-0.8.1 (21 Mar 2014)
21 Mar 2014; Mike Frysinger <vapier@gentoo.org> +pax-utils-0.8.1.ebuild,
-pax-utils-0.8.ebuild:
Fix bug in objdump handling with `scanelf -vT`.
*pax-utils-0.8 (20 Mar 2014)
20 Mar 2014; Mike Frysinger <vapier@gentoo.org> +pax-utils-0.8.ebuild:
Version bump.
18 Jan 2014; Mike Frysinger <vapier@gentoo.org> pax-utils-0.7.ebuild:
Add arm64 love.
25 Dec 2013; Patrick Lauer <patrick@gentoo.org> pax-utils-0.7.ebuild:
Remove bogus stable keyword
23 Dec 2013; Mike Frysinger <vapier@gentoo.org> pax-utils-0.7.ebuild:
Stabilize for all #487676.
07 Dec 2013; Pacho Ramos <pacho@gentoo.org> pax-utils-0.7.ebuild:
x86 stable, bug #487676
27 Nov 2013; Markus Meier <maekke@gentoo.org> pax-utils-0.7.ebuild:
arm stable, bug #487676
09 Nov 2013; Pacho Ramos <pacho@gentoo.org> pax-utils-0.7.ebuild:
amd64 stable, bug #487676
21 Oct 2013; Benda Xu <heroxbd@gentoo.org> pax-utils-0.7.ebuild:
remove prepalldocs after EAPI bump
20 Oct 2013; Benda Xu <heroxbd@gentoo.org> pax-utils-0.7.ebuild:
Prefix support, bug 488460
17 Oct 2013; Jeroen Roovers <jer@gentoo.org> pax-utils-0.7.ebuild:
Stable for HPPA (bug #487676).
*pax-utils-0.7 (07 Apr 2013)
07 Apr 2013; Mike Frysinger <vapier@gentoo.org> +pax-utils-0.7.ebuild:
Version bump.
*pax-utils-0.6 (02 Jan 2013)
02 Jan 2013; Mike Frysinger <vapier@gentoo.org> +pax-utils-0.6.ebuild,
metadata.xml:
Version bump.
*pax-utils-0.5 (04 Nov 2012)
04 Nov 2012; Mike Frysinger <vapier@gentoo.org> +pax-utils-0.5.ebuild:
Version bump.
10 Jul 2012; Brent Baude <ranger@gentoo.org> pax-utils-0.4.ebuild:
Marking pax-utils-0.4 ppc for bug 420919
08 Jul 2012; Raúl Porcel <armin76@gentoo.org> pax-utils-0.4.ebuild:
alpha/ia64/m68k/s390/sh/sparc stable wrt #420919
22 Jun 2012; Brent Baude <ranger@gentoo.org> pax-utils-0.4.ebuild:
Marking pax-utils-0.4 ppc64 for bug 420919
21 Jun 2012; Jeroen Roovers <jer@gentoo.org> pax-utils-0.4.ebuild:
Stable for HPPA (bug #420919).
20 Jun 2012; Markus Meier <maekke@gentoo.org> pax-utils-0.4.ebuild:
arm stable, bug #420919
13 Jun 2012; Agostino Sarubbo <ago@gentoo.org> pax-utils-0.4.ebuild:
Stable for amd64, wrt bug #420919
13 Jun 2012; Jeff Horelick <jdhore@gentoo.org> pax-utils-0.4.ebuild:
marked x86 per bug 420919
*pax-utils-0.4 (29 Apr 2012)
29 Apr 2012; Mike Frysinger <vapier@gentoo.org> +pax-utils-0.4.ebuild:
Version bump.
26 Apr 2012; Alexis Ballier <aballier@gentoo.org> pax-utils-0.3.0.ebuild:
keyword ~amd64-fbsd
07 Feb 2012; Mike Frysinger <vapier@gentoo.org> pax-utils-0.2.1.ebuild,
pax-utils-0.2.2.ebuild, pax-utils-0.2.3.ebuild, pax-utils-0.3.0.ebuild:
Clean up eclass inherits, and convert to unpacker for xz.
*pax-utils-0.3.0 (24 Jan 2012)
24 Jan 2012; Mike Frysinger <vapier@gentoo.org> +pax-utils-0.3.0.ebuild:
Version bump.
30 Dec 2011; Mark Loeser <halcy0n@gentoo.org> pax-utils-0.2.3.ebuild:
Stable for ppc64; bug #381625
06 Nov 2011; Brent Baude <ranger@gentoo.org> pax-utils-0.2.3.ebuild:
Marking pax-utils-0.2.3 ppc for bug 381625
30 Oct 2011; Raúl Porcel <armin76@gentoo.org> pax-utils-0.2.3.ebuild:
alpha/ia64/m68k/s390/sh/sparc stable wrt #381625
20 Oct 2011; Jeroen Roovers <jer@gentoo.org> pax-utils-0.2.3.ebuild:
Stable for HPPA (bug #381625).
09 Oct 2011; Markus Meier <maekke@gentoo.org> pax-utils-0.2.3.ebuild:
arm stable, bug #381625
09 Oct 2011; Markos Chandras <hwoarang@gentoo.org> pax-utils-0.2.3.ebuild:
Stable on amd64 wrt bug #381625
08 Oct 2011; Pawel Hajdan jr <phajdan.jr@gentoo.org> pax-utils-0.2.3.ebuild:
x86 stable wrt bug #381625
*pax-utils-0.2.3 (03 Mar 2011)
03 Mar 2011; Mike Frysinger <vapier@gentoo.org> +pax-utils-0.2.3.ebuild:
Version bump.
03 Mar 2011; Mike Frysinger <vapier@gentoo.org> pax-utils-0.2.2.ebuild:
Stabilize for all.
*pax-utils-0.2.2 (08 Dec 2010)
08 Dec 2010; Mike Frysinger <vapier@gentoo.org> +pax-utils-0.2.2.ebuild:
Version bump.
08 Dec 2010; Mike Frysinger <vapier@gentoo.org> pax-utils-0.2.1.ebuild:
Mark ppc64 stable #332811.
29 Aug 2010; Raúl Porcel <armin76@gentoo.org> pax-utils-0.2.1.ebuild:
alpha/ia64/m68k/s390/sh/sparc stable wrt #332811
18 Aug 2010; Markus Meier <maekke@gentoo.org> pax-utils-0.2.1.ebuild:
arm stable, bug #332811
18 Aug 2010; Jeroen Roovers <jer@gentoo.org> pax-utils-0.2.1.ebuild:
Stable for HPPA PPC (bug #332811).
17 Aug 2010; Markos Chandras <hwoarang@gentoo.org> pax-utils-0.2.1.ebuild:
Stable on amd64 wrt bug #332811
15 Aug 2010; Pawel Hajdan jr <phajdan.jr@gentoo.org>
pax-utils-0.2.1.ebuild:
x86 stable wrt bug #332811
*pax-utils-0.2.1 (14 Feb 2010)
14 Feb 2010; Mike Frysinger <vapier@gentoo.org> +pax-utils-0.2.1.ebuild:
Fix garbage in symbol matching output.
*pax-utils-0.2 (15 Jan 2010)
15 Jan 2010; Mike Frysinger <vapier@gentoo.org> +pax-utils-0.2.ebuild:
Version bump.
15 Mar 2009; Patrick Lauer <patrick@gentoo.org> Manifest:
Manifest fix
29 Jan 2009; Javier Villavicencio <the_paya@gentoo.org>
pax-utils-0.1.19.ebuild:
Rekeyword ~sparc/x86-fbsd. strndup(3) is now backported on
freebsd-lib-7.1-r1.
05 Jan 2009; Jose Luis Rivero <yoswink@gentoo.org>
pax-utils-0.1.19.ebuild:
Stable on alpha wrt #253124
03 Jan 2009; Jeroen Roovers <jer@gentoo.org> pax-utils-0.1.19.ebuild:
Stable for HPPA (bug #253124).
02 Jan 2009; <solar@gentoo.org> pax-utils-0.1.19.ebuild:
arm,x86,ia64,ppc32 stable
31 Dec 2008; Friedrich Oslage <bluebird@gentoo.org>
pax-utils-0.1.19.ebuild:
Stable on sparc, bug #253124
31 Dec 2008; Jeremy Olexa <darkside@gentoo.org> pax-utils-0.1.19.ebuild:
amd64 stable, bug 253124
30 Dec 2008; Brent Baude <ranger@gentoo.org> pax-utils-0.1.19.ebuild:
stable ppc64, bug 253124
09 Dec 2008; Alexis Ballier <aballier@gentoo.org> pax-utils-0.1.18.ebuild,
pax-utils-0.1.19.ebuild:
Keyword -sparc/x86-fbsd versions that dont build on bsd, bug #250359 and
bug #246439
*pax-utils-0.1.19 (27 Nov 2008)
27 Nov 2008; Mike Frysinger <vapier@gentoo.org> +pax-utils-0.1.19.ebuild:
Version bump.
*pax-utils-0.1.18 (09 Nov 2008)
09 Nov 2008; <solar@gentoo.org> +pax-utils-0.1.18.ebuild:
- version bump
25 Apr 2008; <ricmm@gentoo.org> pax-utils-0.1.15.ebuild:
Drop to ~mips due to unstable deps
14 Mar 2008; <solar@gentoo.org> pax-utils-0.1.15.ebuild,
pax-utils-0.1.16.ebuild, pax-utils-0.1.17.ebuild:
- tidy up to keep current repoman happy and propagate bug fixes to older
ebuilds
14 Mar 2008; <solar@gentoo.org> pax-utils-0.1.17.ebuild:
- make sure CC= is quoted.. distcc can cause problems. Bug 213308
14 Mar 2008; Jeroen Roovers <jer@gentoo.org> pax-utils-0.1.17.ebuild:
Stable for HPPA (bug #212499).
11 Mar 2008; Brent Baude <ranger@gentoo.org> pax-utils-0.1.17.ebuild:
stable ppc64, bug 212499
09 Mar 2008; <solar@gentoo.org> pax-utils-0.1.17.ebuild:
- stable on amd64
09 Mar 2008; nixnut <nixnut@gentoo.org> pax-utils-0.1.17.ebuild:
Stable on ppc wrt bug 212499
06 Mar 2008; Raúl Porcel <armin76@gentoo.org> pax-utils-0.1.17.ebuild:
alpha/ia64/sparc/x86 stable
*pax-utils-0.1.17 (17 Jan 2008)
17 Jan 2008; <solar@gentoo.org> +pax-utils-0.1.17.ebuild:
- Mainly a maintenance release. endianness fix. minor new features and
updated docs
14 Oct 2007; <solar@gentoo.org> pax-utils-0.1.16.ebuild:
- amd64/hppa/ppc/ppc64 stable
26 Sep 2007; Raúl Porcel <armin76@gentoo.org> pax-utils-0.1.16.ebuild:
alpha/ia64/sparc/x86 stable
*pax-utils-0.1.16 (24 Aug 2007)
24 Aug 2007; <solar@gentoo.org> -pax-utils-0.1.13.ebuild,
-pax-utils-0.1.14.ebuild, +pax-utils-0.1.16.ebuild:
- Version bump. man pages moved over to docbook. New: endian and perm
displays.. New: when -Tv are used together the disasm will be displayed of
the offending text rel. The pax-utils code should compile out of the box on
solaris now. Lots of misc fixes.. to many to list..
01 Mar 2007; <genstef@gentoo.org> pax-utils-0.1.13.ebuild,
pax-utils-0.1.14.ebuild, pax-utils-0.1.15.ebuild:
Dropped ppc-macos keyword, see you in prefix
03 Feb 2007; Bryan Østergaard <kloeri@gentoo.org>
pax-utils-0.1.15.ebuild:
Stable on Alpha, bug 163453.
02 Feb 2007; Alexander H. Færøy <eroyf@gentoo.org>
pax-utils-0.1.15.ebuild:
Stable on MIPS; bug #163453
31 Jan 2007; Markus Rothe <corsair@gentoo.org> pax-utils-0.1.15.ebuild:
Stable on ppc64; bug #163453
30 Jan 2007; Steve Dibb <beandog@gentoo.org> pax-utils-0.1.15.ebuild:
amd64 stable, bug 163453
25 Jan 2007; Gustavo Zacarias <gustavoz@gentoo.org>
pax-utils-0.1.15.ebuild:
Stable on sparc wrt #163453
24 Jan 2007; Jeroen Roovers <jer@gentoo.org> pax-utils-0.1.15.ebuild:
Stable for HPPA (bug #163453).
23 Jan 2007; Raúl Porcel <armin76@gentoo.org> pax-utils-0.1.15.ebuild:
x86 stable wrt bug 163453
23 Jan 2007; nixnut <nixnut@gentoo.org> pax-utils-0.1.15.ebuild:
Stable on ppc wrt bug 163453
*pax-utils-0.1.15 (13 Dec 2006)
13 Dec 2006; <solar@gentoo.org> +pax-utils-0.1.15.ebuild:
Removed *macho* from release files. Lots of minor whitespace and style
updates. List known pkg maintainers for other distributions that carry the
pax-utils.
scanelf: Improved return values of many functions to be ints vs voids.
Support added for displaying em_machine via %a format flag. Make
scanelf_file_bind() not output anything if quiet mode and the ELF is static
or not setuid.
pspax: Support added for -u,--user <user/uid> Support added for -g,--group
<group/gid>
17 Oct 2006; Roy Marples <uberlord@gentoo.org> pax-utils-0.1.14.ebuild:
Added ~sparc-fbsd keyword.
*pax-utils-0.1.14 (23 Sep 2006)
23 Sep 2006; Mike Frysinger <vapier@gentoo.org> +pax-utils-0.1.14.ebuild:
Add support for NetBSD, add --user/--group options to pspax, and fix QA
envvar handling of .o objects.
07 Jun 2006; Jeroen Roovers <jer@gentoo.org> pax-utils-0.1.13.ebuild:
Stable on hppa (bug #135427).
06 Jun 2006; Gustavo Zacarias <gustavoz@gentoo.org>
pax-utils-0.1.13.ebuild:
Stable on sparc wrt #135427
05 Jun 2006; Simon Stelling <blubb@gentoo.org> pax-utils-0.1.13.ebuild:
stable on amd64
04 Jun 2006; Torsten Veller <tove@gentoo.org> pax-utils-0.1.13.ebuild:
Stable on x86 (#135427).
04 Jun 2006; Fernando J. Pereda <ferdy@gentoo.org>
pax-utils-0.1.13.ebuild:
Stable on alpha. Thanks to Mike Hlavac <mike@flyingpenguins.org> for
testing. Bug #135427
04 Jun 2006; Markus Rothe <corsair@gentoo.org> pax-utils-0.1.13.ebuild:
Stable on ppc64; bug #135427
03 Jun 2006; <nixnut@gentoo.org> pax-utils-0.1.13.ebuild:
Stable on ppc; bug #135427
03 Jun 2006; <solar@gentoo.org> pax-utils-0.1.13.ebuild:
- stable on arm
*pax-utils-0.1.13 (17 May 2006)
17 May 2006; <solar@gentoo.org> +pax-utils-0.1.13.ebuild:
Improved Makefile handling. (vapier) QA_TEXTREL/QA_EXECSTACK/QA_WX_LOAD exempt
filtering flags. (kevquinn) Handle versioned symbols correctly on unstripped
ELF files when using the -s flag. Do not assume it is ok to read from stdin if
the -l -p flags were given. (solar)
*pax-utils-0.1.12 (30 Apr 2006)
30 Apr 2006; <solar@gentoo.org> -files/pax-utils-0.1.10.patch,
-pax-utils-0.1.10.ebuild, pax-utils-0.1.11-r1.ebuild,
+pax-utils-0.1.12.ebuild, -pax-utils-0.1.9.ebuild:
- new pspax -n/-w flags. new -L handling for the BSD arches. uses ld.so.hints
vs ld.so.cache (thanks flameeyes). tty null term handling should be fixed
24 Apr 2006; Gustavo Zacarias <gustavoz@gentoo.org>
pax-utils-0.1.11-r1.ebuild:
Stable on sparc
23 Apr 2006; Michael Hanselmann <hansmi@gentoo.org>
pax-utils-0.1.11-r1.ebuild:
Stable on ppc.
22 Apr 2006; Markus Rothe <corsair@gentoo.org> pax-utils-0.1.11-r1.ebuild:
Stable on ppc64
22 Apr 2006; <solar@gentoo.org> pax-utils-0.1.11-r1.ebuild:
- stable on amd64 arm mips x86
16 Apr 2006; Bryan Østergaard <kloeri@gentoo.org
pax-utils-0.1.11-r1.ebuild:
Stable on alpha.
*pax-utils-0.1.11-r1 (12 Apr 2006)
12 Apr 2006; Mike Frysinger <vapier@gentoo.org>
+files/pax-utils-0.1.11.patch, +pax-utils-0.1.11-r1.ebuild:
Fix scanelf hang due to grep-style changes with stdin #128247 by Matteo Azzali.
*pax-utils-0.1.11 (30 Mar 2006)
30 Mar 2006; Diego Pettenò <flameeyes@gentoo.org>
+pax-utils-0.1.11.ebuild:
New release working on FreeBSD and marked ~x86-fbsd.
23 Mar 2006; Luis Medinas <metalgod@gentoo.org> pax-utils-0.1.10.ebuild:
Stable on amd64. Bug #124699.
11 Mar 2006; Michael Hanselmann <hansmi@gentoo.org>
pax-utils-0.1.10.ebuild:
Stable on ppc.
10 Mar 2006; Torsten Veller <tove@gentoo.org> pax-utils-0.1.10.ebuild:
Stable on x86 (#124699)
09 Mar 2006; Aron Griffis <agriffis@gentoo.org> pax-utils-0.1.10.ebuild:
Mark 0.1.10 stable on ia64
08 Mar 2006; Jeroen Roovers <jer@gentoo.org> pax-utils-0.1.10.ebuild:
Stable on hppa (bug #124699).
08 Mar 2006; Gustavo Zacarias <gustavoz@gentoo.org>
pax-utils-0.1.10.ebuild:
Stable on sparc wrt #124699
08 Mar 2006; Markus Rothe <corsair@gentoo.org> pax-utils-0.1.10.ebuild:
Stable on ppc64; bug #124699
22 Feb 2006; <solar@gentoo.org> +files/pax-utils-0.1.10.patch,
pax-utils-0.1.10.ebuild:
- Using the flags -Xe on ppc and probably others would lead to the PT_LOAD
executable bits being stripped (very bad thing). glob64->glob touchup for
the BSD guys
*pax-utils-0.1.10 (18 Feb 2006)
18 Feb 2006; <solar@gentoo.org> -files/pax-utils-0.1.8-etrel-notwx.patch,
-files/pax-utils-0.1.8-paxelf-fd-mmap.patch, +pax-utils-0.1.10.ebuild,
-pax-utils-0.1.4.ebuild, -pax-utils-0.1.8-r1.ebuild,
-pax-utils-0.1.8.ebuild, pax-utils-0.1.9.ebuild:
- added -k/--section %k modifier to detect elf a given section exists. added
-z to unifiy paxctl/chpax handling into a single util. change max pt loads to
2 for netbsd. The -E option now takes strings. The -l option now reads
ld.so.conf include files. cleaned up old ebuilds. mips 0.1.9 marked stable
checked by kumba
08 Feb 2006; Saleem Abdulrasool <compnerd@gentoo.org>
pax-utils-0.1.9.ebuild:
stable on x86 as per bug #121777
07 Feb 2006; Patrick McLean <chutzpah@gentoo.org> pax-utils-0.1.9.ebuild:
Stable on amd64 (bug 121777).
07 Feb 2006; Aron Griffis <agriffis@gentoo.org> pax-utils-0.1.9.ebuild:
Mark 0.1.9 stable on alpha
06 Feb 2006; Aron Griffis <agriffis@gentoo.org> pax-utils-0.1.9.ebuild:
Mark 0.1.9 stable on ia64
06 Feb 2006; <nixnut@gentoo.org> pax-utils-0.1.9.ebuild:
Stable on ppc. bug 121777
06 Feb 2006; Gustavo Zacarias <gustavoz@gentoo.org>
pax-utils-0.1.9.ebuild:
Stable on sparc wrt #121777
06 Feb 2006; Markus Rothe <corsair@gentoo.org> pax-utils-0.1.9.ebuild:
Stable on ppc64: bug #121777
*pax-utils-0.1.9 (05 Feb 2006)
05 Feb 2006; <solar@gentoo.org> +pax-utils-0.1.9.ebuild:
- version bump. Adds new features. -M bits -E types
02 Feb 2006; <solar@gentoo.org> +files/pax-utils-0.1.8-etrel-notwx.patch,
pax-utils-0.1.8-r1.ebuild:
- ET_REL objects were being falsely reported as !WX
*pax-utils-0.1.8-r1 (29 Jan 2006)
29 Jan 2006; <solar@gentoo.org> +files/pax-utils-0.1.8-paxelf-fd-mmap.patch,
+pax-utils-0.1.8-r1.ebuild:
- bugfix. dont report false positives in quiet mode
*pax-utils-0.1.8 (28 Jan 2006)
28 Jan 2006; <solar@gentoo.org> -files/scanelf-null-rpath.patch,
pax-utils-0.1.4.ebuild, -pax-utils-0.1.5.ebuild, -pax-utils-0.1.6.ebuild,
-pax-utils-0.1.7-r1.ebuild, +pax-utils-0.1.8.ebuild:
- New -A option to scan *.a archives. Better handling of invalid elf files.
*pax-utils-0.1.7-r1 (18 Jan 2006)
18 Jan 2006; <solar@gentoo.org> +files/scanelf-null-rpath.patch,
-pax-utils-0.1.7.ebuild, +pax-utils-0.1.7-r1.ebuild:
- bugfix: dont write to memory when NULL rpaths exists and not using
-X/--fix in scanelf
*pax-utils-0.1.7 (12 Jan 2006)
12 Jan 2006; <solar@gentoo.org> +pax-utils-0.1.7.ebuild:
- new -X/--fix option to attempt to fix faulty RPATHs etc. Updated tristate
pax handling. Adds support for obsd. Misc cleanups and improvements
31 Dec 2005; Fabian Groffen <grobian@gentoo.org> pax-utils-0.1.6.ebuild:
Marked ~ppc-macos on request of vapier. The tools really work on ELF files,
but their use on Darwin is questionable.
*pax-utils-0.1.6 (29 Dec 2005)
29 Dec 2005; <solar@gentoo.org> -pax-utils-0.1.3.ebuild,
+pax-utils-0.1.6.ebuild:
- fixup for silly NetBSD stdout handling. updates for arches lacking proper
header defines. New -L option to resolve DT_NEEDED cache paths
*pax-utils-0.1.5 (08 Dec 2005)
08 Dec 2005; Mike Frysinger <vapier@gentoo.org> +pax-utils-0.1.5.ebuild:
Have dumpelf show .comment/.interp sections, properly set shdr/phdr to NULL
when an ELF lacks them, fix #e usage, and add support for parsing
.note.GNU-stack in object files.
05 Dec 2005; Gustavo Zacarias <gustavoz@gentoo.org>
pax-utils-0.1.4.ebuild:
Stable on sparc
04 Dec 2005; <solar@gentoo.org> pax-utils-0.1.4.ebuild:
- stable on x86
*pax-utils-0.1.4 (30 Oct 2005)
30 Oct 2005; <solar@gentoo.org> +pax-utils-0.1.4.ebuild:
- version bump. This release adds 3 scanelf options. -S, -b, -g
28 Oct 2005; <solar@gentoo.org> pax-utils-0.1.3.ebuild:
- #103173 pax-utils installs docs into /usr/share/doc
*pax-utils-0.1.3 (25 Jul 2005)
25 Jul 2005; Mike Frysinger <vapier@gentoo.org> +pax-utils-0.1.3.ebuild:
Fix building with gcc-2, dont bomb with alignment errors on some arches, and
add support for SONAME scanning in scanelf.
*pax-utils-0.1.2 (03 Jul 2005)
03 Jul 2005; <solar@gentoo.org> +pax-utils-0.1.2.ebuild:
- update textrel handling code to scan only the text segment. New -e -v -p
flags for pspax. minor changes overall
16 Jun 2005; <solar@gentoo.org> pax-utils-0.1.1.ebuild:
- arm/m68k/ppc64/s390/sh stable
16 Jun 2005; <solar@gentoo.org> -pax-utils-0.0.4.ebuild,
-pax-utils-0.0.7.ebuild, -pax-utils-0.1.0.ebuild, pax-utils-0.1.1.ebuild:
- stable on alpha/hppa/ia64/sparc
*pax-utils-0.1.1 (16 Jun 2005)
16 Jun 2005; <solar@gentoo.org> pax-utils-0.1.1.ebuild:
- stable on x86/ppc/mips/amd64
10 Jun 2005; <solar@gentoo.org> :
- Bugfixes: only report the source of textrels when the executable actually
contains DT_TEXTREL. Only enable -Wdeclaration-after-statement -Wextra if the
compiler supports it
*pax-utils-0.1.0 (08 Jun 2005)
08 Jun 2005; <solar@gentoo.org> -pax-utils-0.0.8.ebuild,
-pax-utils-0.0.9.ebuild, +pax-utils-0.1.0.ebuild:
* scanelf options: -N matches a given lib. -T will print the cause of
the ELF text relocation (-T based on code from Kevin Quinn.. 10x thanks)
-F format modifiers were added for printing the base file name and base
file name with search paths removed, this is ideal for scripting with
use of automated q/a systems so we don't have to re-parse a the string
to get desired output. All format modifiers now accept # in place of %
but # is quiet where % is verbose. Also new to the format handling is
the %x modifier now prints PT_PAX_FLAGS and falls back to EI_PAX if no
PaX flags were found in the program header.
* The suite should work on OSX.
* Minor touch ups to Makefile/pspax/dumpelf.
* Lots of typecasting fixes for improved portability.
05 Jun 2005; Michael Hanselmann <hansmi@gentoo.org>
pax-utils-0.0.7.ebuild:
Stable on ppc.
31 May 2005; Christian Birchinger <joker@gentoo.org>
pax-utils-0.0.7.ebuild:
Added sparc stable keyword
*pax-utils-0.0.9 (28 May 2005)
28 May 2005; Mike Frysinger <vapier@gentoo.org> +pax-utils-0.0.9.ebuild:
Add support for FreeBSD and fix cross-endian bugs.
21 May 2005; <solar@gentoo.org> :
Makefile: include/depend fix. dumpelf: display improvements, 32/64bit phdr
fix, man page updates. scanelf: Two new options. The ability to display run
time bindings -b/--bind and -f/--from read input stream from a filename/stdin
for scanelf. The -F format handling pretty much got a total rewrite for the
better. We used taviso@gentoo fuzz regression tool to help track down bugs
with malformed executables. Now the overall result is greatly improved error
handling for improper elf files. paxelf: Improvements in the mmap error
handling. README: updates to reflect changes man/*.1: updates to reflect
changes
15 May 2005; <solar@gentoo.org> metadata.xml:
- update metadata.xml
*pax-utils-0.0.2 (15 May 2005)
15 May 2005; <solar@gentoo.org> -pax-utils-0.0.1.ebuild,
-pax-utils-0.0.2.ebuild, pax-utils-0.0.4.ebuild, -pax-utils-0.0.5.ebuild,
-pax-utils-0.0.6.ebuild, pax-utils-0.0.7.ebuild:
- stable x86 - make all ebuild use toolchain-funcs vs gcc eclass - cleaned non
stabilized versions below 0.0.7
*pax-utils-0.0.7 (30 Apr 2005)
30 Apr 2005; <solar@gentoo.org> +pax-utils-0.0.7.ebuild:
- uclibc updates and -F format handling
21 Apr 2005; Simon Stelling <blubb@gentoo.org> pax-utils-0.0.4.ebuild:
stable on amd64
*pax-utils-0.0.6 (14 Apr 2005)
14 Apr 2005; <solar@gentoo.org> +pax-utils-0.0.6.ebuild:
- version bump. lots of new treats
12 Apr 2005; Daniel Ostrow <dostrow@gentoo.org> pax-utils-0.0.4.ebuild,
pax-utils-0.0.5.ebuild:
~ppc64 for ppc64 hardened
09 Apr 2005; Michael Hanselmann <hansmi@gentoo.org>
pax-utils-0.0.4.ebuild:
Stable on ppc.
*pax-utils-0.0.5 (01 Apr 2005)
01 Apr 2005; <solar@gentoo.org> +pax-utils-0.0.5.ebuild:
- major source code cleanup. combine scanexec/scanrexec/pttool into unified
scanelf tool. manpage updates. fixed memleak in readelf function. new options
to detect TEXTREL's, display RPATH info, make display of pax flags markings
optional. A new recursive option was added to scan subdirs. All sorts of good
stuff that makes grandma happy. Many thanks to vapier.
31 Mar 2005; Aron Griffis <agriffis@gentoo.org> pax-utils-0.0.4.ebuild:
stable on ia64
12 Nov 2004; Gustavo Zacarias <gustavoz@gentoo.org> pax-utils-0.0.4.ebuild:
Stable on sparc
*pax-utils-0.0.4 (11 Nov 2004)
11 Nov 2004; <solar@gentoo.org> +metadata.xml, pax-utils-0.0.4.ebuild:
marking pax-utils stable on x86/mips

View File

@ -1,31 +1,3 @@
DIST pax-utils-1.0.1.tar.xz 619788 SHA256 87654ec8c207ab35fc05e96ec89b196cf7ab765e0e7919015ccaa7f0e66e246c SHA512 f41e8188254dd1290eba4b36f3b22f2e4422ac03c234ba7438490ae0025a03a4ede05827023a8ccca913ebe44237c248455df47cb4dc63c85056511230e66eff WHIRLPOOL bdcad84ee44b855beff64ff06271b5eda252b10490714b8f22421fbf3b57eac8476fd061efb4d10745ff9a55d465da15dc417844dd13342fa394e709c018fdee
DIST pax-utils-1.0.2.tar.xz 621068 SHA256 b8395de0f414a70fa74234c43a10666fd8ba311488c5b7c2eb6f055aea45e094 SHA512 268edd05ec30d723d198a49c7023068274b4f5187cf18582006b23d483a6889743cdb733b65f59f2e963a371220e31211dc43cd655c53cab4bf08645dcf7a9ff WHIRLPOOL c87c78db0e13edf6b477b9f0f5e251e80edbc25a40f0e7341fe20600140af929b576aa10217b331a2783034bc568eba3ff786a50496bf41f64381f0aa0e252a5
DIST pax-utils-1.0.3.tar.xz 621460 SHA256 8535a94e1f77841da92d5526d2935abb786437fdf11be9ed077a78ab5e6b5670 SHA512 3f8654a3bd66177a39b7f0e9a7ffc0f127e5529f4f45c8c1beea5eb92060bf01f205daf22cdeb4e50ee1022d170307fc70c1d73b197405be7a6bc9acec621d26 WHIRLPOOL 1930e7d575357a67e07ee5ed9c559cd0501588d6c739ded10fecf215ce8746b0ffbe55d0e0cee739c6f5aee62630f45f7af211e853f9cc3b3418f4961391a2a8
DIST pax-utils-1.0.4.tar.xz 622280 SHA256 f7e16cf22d4dc431feb49d3fad21fd7f9703ec3a9b5bde24fe426891a376d5f3 SHA512 73051b77cc6c0411b4747082a806a620edc60eb89b061208246fd22dc107cfbf92767d56c012fd57eda1fb8cd40365b6b4f87fdc2217c9437be7d71a407a0f66 WHIRLPOOL 5ab2fd742a194e8e4e8381d8a721da4d9fe8c0fb5dbaf873d2887abf4741263f6072191eddc033b6a572faa92ff5dde1bfedd68ad053f4488101df935acd0b3b
DIST pax-utils-1.0.5.tar.xz 622532 SHA256 f69a9938e4af7912d26d585094bc0203e43571a990fdd048319088a8b8ad906f SHA512 e8e07acf8295d90f30ea464e8060ae66ffabfa79a22b44e8c00eebf532ef78eb987eb7b69ecbf9f5bd25ec3e3964a746f546abbf111e065c5683c9f47194d026 WHIRLPOOL 0ac1ec6191106f20da3ba2a1a7ffe9ad7db184d1b79d13800b0844b7e250eadc750735dfeba70858d0b845669812be0fd761c26036d022322f251024bb437272
DIST pax-utils-1.0.tar.xz 619104 SHA256 c39fcc181c7c6a03527687d9977e1c2ce2b47b28918426a057d56b43a429e312 SHA512 ec44e5f848e64ba70eeb2ca670189c84a0b0d36ee745ae956ee56d291dd3c5b3fe56527867a52e264babfbaaad49ec59338fadc297256a7a4708cf65f97db4c5 WHIRLPOOL 86f91917d7723066a849f2225987b9739f3c484626735c77ee27286ea1785e316b374110226688ad8d380b90b5aa140e1060cc2411cd6d1d250a1918ed33d575
DIST pax-utils-1.1.1.tar.xz 627640 SHA256 9ea1f28b3665da08fd80384e56d2a71bfa9f279983e683a162eb4993b2df8d3e SHA512 a8680f9bc99edef56d24175b5967dd967daaa8ae40c0c68f0e9ff3a23ac90a7cb341c99a47a0f6e29504c3f2740039920258a69267ee89549525d02306a8d70e WHIRLPOOL 7ee993224d54d82527c99d9d46c30f2bca0e464660b2ebedaf43076287894247db8111e3f5b558140f03b743939939849f03bcb134b2ac7776bb30553a183c45
DIST pax-utils-1.1.2.tar.xz 627732 SHA256 49390215f6a4773a9c0a99a6de90ff768d13ce2eb4ba1a869603b81f697fce3e SHA512 7a97ff3f68ef67084d1785c95aed2bef5c3bd6fe0c67b96310bd236dc0a403ab5fa86d2b719bdc493b6d6ce07e43af41cc1ff3aa0bd726f2896494079996bff7 WHIRLPOOL c94e1c55a183ce6a6d44a0993ca6c3c34d41f1fad43dabdc9994357747a159e1578e61f13634c4379d324640c4b1d67073e82992f521964acd64598fa7c342f8
DIST pax-utils-1.1.3.tar.xz 627536 SHA256 b80c923c0231a17aa2db5fce3d81c3b7d061cd8e6b356fecceadb2e9a8ee9bc6 SHA512 0bd5efe455edfbe06e938fab62f7d452bcefe6f426881bfebc8252bf386807a3f50ffa9cadbf8cf4aa514839ba94d3f28b16fea163ae738ef8fdeed28fe9204c WHIRLPOOL 1730c25bfda22d4523c8d8f30fe01a09790131efbfeae21ef1e1917c8fdcd9f8aa0053194c7f32a254fa70b963594e5f399f79f287793afd5b8b7fbafcafc806
DIST pax-utils-1.1.4.tar.xz 627880 SHA256 796860fbd48c5f811e699e8492dc1110459bad0a62efa8d346b74a4f6f556414 SHA512 9557d0a80c2a94f28760665a258e0670ee2dd585b128d644ea3be310128bfd26db1bc19bed8623cf2c886979d0094ba9b92577b3899d363b5d418986a2f52795 WHIRLPOOL 27ab9694528cada62f76592df6414a47af4ceb967871ddfe295be01a3c590ae398612030b28b94025a27f112c8a293a300cc9ddb008082f1c76e8ba3ce2eae1d
DIST pax-utils-1.1.5.tar.xz 646612 SHA256 2945b3e4df2e0dc95800bfbd3d88ab2243b2ee4ff064bbfc75734f6d9d986a89 SHA512 c03c2b867988592ad7ee3fc19cbbe203622a736889aa27a669824f4de670e8d591e1c8477529bd0481e7cdce11e94f8b55d4ef158fe21a6e2baf43b09f33b5b7 WHIRLPOOL 3e54a9d0b30aae9017f2706ea8f79c901de2105e52779e765aa497db40cbcb52d7b90570d9373d246a0338d16eaeab5a75ff9019639082f22b2e7ca1a6b2a544
DIST pax-utils-1.1.6.tar.xz 647308 SHA256 f5436c517bea40f7035ec29a6f34034c739b943f2e3a080d76df5dfd7fd41b12 SHA512 c5bdb3ee076c5f4d026f811a59329014c539e3bb3ab45aec92564dcc4abcedaebc50bec55c37aeccfe9e31c554ec7789426fcb3d6f67a8d805843f32c5993f94 WHIRLPOOL 6addfc63dd821a3a0f1ebb2f0545bf81b933bed7aa4950efc51c4af3c8a9dd2263fe09c469bb371a5cb7ae239db646876548a2c21b08c1ed87dd974228eb2679
DIST pax-utils-1.1.tar.xz 627392 SHA256 97ed475ae9f91cf5ca47eeb39abe6033db77e480469dad7c7823ed16be2475ad SHA512 24569a8bbcd635b163f1dc84d4a74dac2e89fc5a18bdb0ead8db78dde5f0661f3d4d51118818f028bc5359447a2d9156ab394ffb26b5c64e377f3bf4536cecb5 WHIRLPOOL e5d1782904bd31ad93e09486ee01bf0af7a33db7bde6eaefdfeaaa462632b1f66633065509b7b79bf493030b0c104472446f7aaf7fbc549564715ffebe5eeb38
EBUILD pax-utils-1.0.1.ebuild 1276 SHA256 8d86636033c80916b07c7ab9c76c25908d794a09d3796e04f926be5ae6afa122 SHA512 5619387d9407c8dab9c3d8b372361dd2b5e34b5d36c2f22550144b7c31af1e1d0be597ba8e29414673bcdbc014e1a0b46497de8dbedb229db63c8ceeab245ec5 WHIRLPOOL 17dc5ed139c8a387faefbb8789c810737c4ec9e89ac77f9ec9cd3cbb9dcb533d59b1d735b2d78d135d335e5fffeb56da2621a71ba62c7495b3cc143eb62b12b1
EBUILD pax-utils-1.0.2.ebuild 1276 SHA256 8d86636033c80916b07c7ab9c76c25908d794a09d3796e04f926be5ae6afa122 SHA512 5619387d9407c8dab9c3d8b372361dd2b5e34b5d36c2f22550144b7c31af1e1d0be597ba8e29414673bcdbc014e1a0b46497de8dbedb229db63c8ceeab245ec5 WHIRLPOOL 17dc5ed139c8a387faefbb8789c810737c4ec9e89ac77f9ec9cd3cbb9dcb533d59b1d735b2d78d135d335e5fffeb56da2621a71ba62c7495b3cc143eb62b12b1
EBUILD pax-utils-1.0.3.ebuild 1263 SHA256 3427f8af6fc1baf6c63529354f9b7ff7fdfbd0d1a81e679f4ddfe6c383650287 SHA512 e041ebe9bd0a7115462e0890382e27393f9752797c86f62d3782180e2b0a9b16b269b20103ed046d93984e02f45c58c967c1b2a45bbc08401172fefb78fc42ea WHIRLPOOL 9e0e51373de44c37e251c175690a0def4f59a6d301ed6b48fdf65d65d05bfb1e74084b97f7d3d30e35e4c6f68ef3c50ad49e5f5d0a60969dfc7ad11ff3ff07b2
EBUILD pax-utils-1.0.4.ebuild 1276 SHA256 8d86636033c80916b07c7ab9c76c25908d794a09d3796e04f926be5ae6afa122 SHA512 5619387d9407c8dab9c3d8b372361dd2b5e34b5d36c2f22550144b7c31af1e1d0be597ba8e29414673bcdbc014e1a0b46497de8dbedb229db63c8ceeab245ec5 WHIRLPOOL 17dc5ed139c8a387faefbb8789c810737c4ec9e89ac77f9ec9cd3cbb9dcb533d59b1d735b2d78d135d335e5fffeb56da2621a71ba62c7495b3cc143eb62b12b1
EBUILD pax-utils-1.0.5.ebuild 1275 SHA256 186d912b58a76909490376718cd836185b22e6d59feed985199fa8a6c4a44cb8 SHA512 919b193d9a08a02deff71f87440996b0bed071a79cee9a059a0173bf03544afc39f6582a9637b71d31436b533d7fbfe21f4ac7ac198e6223808fa8e4a210bfb7 WHIRLPOOL 68ebcffc549da61b7f0deddd080c037067faf966b539d415869bf604914f456fed97cfe21085f5f69112ebeabb0252b4ee703c0524f0c81786bf4a74a508a874
EBUILD pax-utils-1.0.ebuild 1276 SHA256 8d86636033c80916b07c7ab9c76c25908d794a09d3796e04f926be5ae6afa122 SHA512 5619387d9407c8dab9c3d8b372361dd2b5e34b5d36c2f22550144b7c31af1e1d0be597ba8e29414673bcdbc014e1a0b46497de8dbedb229db63c8ceeab245ec5 WHIRLPOOL 17dc5ed139c8a387faefbb8789c810737c4ec9e89ac77f9ec9cd3cbb9dcb533d59b1d735b2d78d135d335e5fffeb56da2621a71ba62c7495b3cc143eb62b12b1
EBUILD pax-utils-1.1.1.ebuild 1498 SHA256 d65ee703da8761fd67359892305484a7c58d0884535e66c7af83e0680b952f29 SHA512 9da273a0696a54e33a6a7f15c3941dba0fdec1ce8984d28f7571b0abfdec99bedee2cf9b60a374e5eeaf0d7d0d859f888be5cf910e6c1a1a9ca954b9678247de WHIRLPOOL eb4345a69010d35f9b07456ea98dace8d96998ae6ba39c5592f4fa5bdd7dec1798cb7942f3ee556c4e4be1136fb43a4a4947e561650120ae5fb1c45fbb788b46
EBUILD pax-utils-1.1.2.ebuild 1465 SHA256 4712360d9bdad678e7da99baabfc854e6eb9266d942f7b3131931654bddc0378 SHA512 531e72177dd1037cd8e4a9fafe76f182d7922f7814251de9dd082a179829ab6a2b15ea4adb56279a82759adb43a93a2c5e81fdabc1b38b551c823a1c38b65e11 WHIRLPOOL 021ea569b15e16a3bcc88067b5096a20e287c7329963423ab78fee9f4ecea079bd31ae68fd935d762a3c9739a3098c198b94192aaff88e710279a7f312137d1d
EBUILD pax-utils-1.1.3.ebuild 1465 SHA256 4712360d9bdad678e7da99baabfc854e6eb9266d942f7b3131931654bddc0378 SHA512 531e72177dd1037cd8e4a9fafe76f182d7922f7814251de9dd082a179829ab6a2b15ea4adb56279a82759adb43a93a2c5e81fdabc1b38b551c823a1c38b65e11 WHIRLPOOL 021ea569b15e16a3bcc88067b5096a20e287c7329963423ab78fee9f4ecea079bd31ae68fd935d762a3c9739a3098c198b94192aaff88e710279a7f312137d1d
EBUILD pax-utils-1.1.4.ebuild 1465 SHA256 4712360d9bdad678e7da99baabfc854e6eb9266d942f7b3131931654bddc0378 SHA512 531e72177dd1037cd8e4a9fafe76f182d7922f7814251de9dd082a179829ab6a2b15ea4adb56279a82759adb43a93a2c5e81fdabc1b38b551c823a1c38b65e11 WHIRLPOOL 021ea569b15e16a3bcc88067b5096a20e287c7329963423ab78fee9f4ecea079bd31ae68fd935d762a3c9739a3098c198b94192aaff88e710279a7f312137d1d
EBUILD pax-utils-1.1.5.ebuild 1465 SHA256 4712360d9bdad678e7da99baabfc854e6eb9266d942f7b3131931654bddc0378 SHA512 531e72177dd1037cd8e4a9fafe76f182d7922f7814251de9dd082a179829ab6a2b15ea4adb56279a82759adb43a93a2c5e81fdabc1b38b551c823a1c38b65e11 WHIRLPOOL 021ea569b15e16a3bcc88067b5096a20e287c7329963423ab78fee9f4ecea079bd31ae68fd935d762a3c9739a3098c198b94192aaff88e710279a7f312137d1d
EBUILD pax-utils-1.1.6.ebuild 1458 SHA256 014c0969e9c3797fe122be656c0debe284191cf8feea57afa781a2ed4b2d4f47 SHA512 928406f02610a045a7930507a6225f4c73f843a153b8aa612574053559ea83304e1eef74ad8b46525f84f7a7914f0beb618a3d73af89f92e668700180127c83e WHIRLPOOL 0208a10182417b81a8aecefa14140b6a39735936e39c9324245e4b285df4a019d240969c09d847d4ff6cc0d2fedb32c067ad38d33a34d5856715d4769807856d
EBUILD pax-utils-1.1.ebuild 1448 SHA256 545bb6e66902d44db0d5f29e493ecfb6e3d8a8464b173a977f5be24fdb8b3ad6 SHA512 cd9345bf0cd2d937d3697375a719c9c856025a3d8fa97e1b3b6b73da2eef535ebbe39713429de5979b3ce5d7950d9311507c726af66ade69e3656ed1172643bf WHIRLPOOL da1e1469ecb96e05d2c59a2ffa5619244e94dc5395187b8a41cc975fb5888863ca95348699af6ceda5b0968a0a3d24dbfcd3126dbaa5d94695abdb0155c029c8
MISC ChangeLog 7248 SHA256 873c22361b0ce72dd33cd8b1322c1f19628896fdea8ab6b8f7c59ec2b92d13a9 SHA512 14f7a33c18f91d556541cf28d1057d7a29df16d6d61f1370914fb8af27d76dbc4907db6e2d01908696d68a12801707e4af1719d36d9ea1fb308572e8c12be432 WHIRLPOOL 9c68121da26614b4be897a5b4070f72803c15b0b30b1b2af6ddb79ff1fc64608f51564637166b9111aefc296fdd82c142d55e91871474a9d3a05607fbfd27ab6
MISC ChangeLog-2015 25321 SHA256 d9fc5939318d48eb09554845e49ffdd2bd81d7700ea1a2eb3a245eac23de0523 SHA512 00829c624168f920c69bd64fcc4923d10df556d86484137c6f381d81a0f166e3f2b58559bf5a53d19a5fd608498b2b827b72d3bb31254e5e4b625dcbc6b88d05 WHIRLPOOL 2a6014ed7565ce08f011c6306592185831fa2a4c191eb9650c87927ba5715504cf958b6438ec28c7bfda9c3349fec8db3b39039abd97fb8a0b9ff3717bfff6a4
MISC metadata.xml 584 SHA256 5aa079a277468814cecc8dd01365e017de646a3786b561c001a7398e7747f047 SHA512 d8458090413d52aaa38b6867edf0a9f996e08b36f9750bfa2469c2aa7d6b0718157feace3dbbb3c63c2795e977ddd6a9c637223192dff90e8ca87facb730bdf4 WHIRLPOOL d745c0db8e85f85c968fea5408a05c6585d54774bc3f953b1debb0ec17b7ce5d942cd1e048026f1a790bc56aa20f3301f973c5e02dd5da24f47d725f6652f5be
DIST pax-utils-1.3.1.tar.xz 718384 BLAKE2B eef34077dfaceba1bf6f3d56b5e9990090e6d6c5d8c14f7f4bd8506040f0abdcf1a7bd52c643092faa74d991f22ed48c96924572a50c556aaf879dd411569457 SHA512 1a3a463f3864a420b4dcdd8e5736fbee785ed7cb19545966819493cc98d3cea670eb44592c7f100188b2d45b58908bc1f8e2e010f8842c51b70495b260a03102
DIST pax-utils-1.3.2.tar.xz 725916 BLAKE2B ff792288b22c185501123d3e152ebae891585d5fbbbb1957f62c68fca3b342b8ca986d53611677aff4566ad4483afb3c69f40738be4cf5d653ca469e72b5661a SHA512 50330a34d9b7b33c67be079eb871e6dafe29c72f2fc42fec0e51aa9a2e0c1eb95e6d27a4dc1affe6647cdf4c9357545336d48c9e27a7e0106d57532a0f53cdcc
DIST pax-utils-1.3.3.tar.xz 725900 BLAKE2B 17004a4fe57f05e80e0c51a156931975cbaf73e20d96fa50dedf6bd1538ff3f8383591f4b5fd0df926a6a6b75cb083724aaf92b1a4d4ebc67290500520919c29 SHA512 bb0d03371cf8f0cc26a83cbee888a6d91e70416dedc740476cd5549ddaef67048c6802e30e469ab1aced0fd7f63f84e9644744602b2d483ef7af37191505f72e

View File

@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>slyfox@gentoo.org</email>
<name>Sergei Trofimovich</name>
</maintainer>
<maintainer type="project">
<email>toolchain@gentoo.org</email>
<name>Gentoo Toolchain Project</name>

View File

@ -1,53 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="4"
inherit eutils toolchain-funcs unpacker
DESCRIPTION="ELF related utils for ELF 32/64 binaries that can check files for security relevant properties"
HOMEPAGE="https://wiki.gentoo.org/index.php?title=Project:Hardened/PaX_Utilities"
SRC_URI="mirror://gentoo/pax-utils-${PV}.tar.xz
https://dev.gentoo.org/~solar/pax/pax-utils-${PV}.tar.xz
https://dev.gentoo.org/~vapier/dist/pax-utils-${PV}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="caps python"
RDEPEND="caps? ( sys-libs/libcap )
python? ( dev-python/pyelftools )"
DEPEND="${RDEPEND}
app-arch/xz-utils"
_emake() {
emake \
USE_CAP=$(usex caps) \
USE_PYTHON=$(usex python) \
"$@"
}
src_configure() {
# Avoid slow configure+gnulib+make if on an up-to-date Linux system
if use prefix || ! use kernel_linux || \
has_version '<sys-libs/glibc-2.10'
then
econf $(use_with caps) $(use_with python)
else
tc-export CC
fi
}
src_compile() {
_emake
}
src_test() {
_emake check
}
src_install() {
_emake DESTDIR="${ED}" PKGDOCDIR='$(DOCDIR)'/${PF} install
}

View File

@ -1,53 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="4"
inherit eutils toolchain-funcs unpacker
DESCRIPTION="ELF related utils for ELF 32/64 binaries that can check files for security relevant properties"
HOMEPAGE="https://wiki.gentoo.org/index.php?title=Project:Hardened/PaX_Utilities"
SRC_URI="mirror://gentoo/pax-utils-${PV}.tar.xz
https://dev.gentoo.org/~solar/pax/pax-utils-${PV}.tar.xz
https://dev.gentoo.org/~vapier/dist/pax-utils-${PV}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="caps python"
RDEPEND="caps? ( sys-libs/libcap )
python? ( dev-python/pyelftools )"
DEPEND="${RDEPEND}
app-arch/xz-utils"
_emake() {
emake \
USE_CAP=$(usex caps) \
USE_PYTHON=$(usex python) \
"$@"
}
src_configure() {
# Avoid slow configure+gnulib+make if on an up-to-date Linux system
if use prefix || ! use kernel_linux || \
has_version '<sys-libs/glibc-2.10'
then
econf $(use_with caps) $(use_with python)
else
tc-export CC
fi
}
src_compile() {
_emake
}
src_test() {
_emake check
}
src_install() {
_emake DESTDIR="${ED}" PKGDOCDIR='$(DOCDIR)'/${PF} install
}

View File

@ -1,53 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="4"
inherit eutils toolchain-funcs unpacker
DESCRIPTION="ELF related utils for ELF 32/64 binaries that can check files for security relevant properties"
HOMEPAGE="https://wiki.gentoo.org/index.php?title=Project:Hardened/PaX_Utilities"
SRC_URI="mirror://gentoo/pax-utils-${PV}.tar.xz
https://dev.gentoo.org/~solar/pax/pax-utils-${PV}.tar.xz
https://dev.gentoo.org/~vapier/dist/pax-utils-${PV}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="caps python"
RDEPEND="caps? ( sys-libs/libcap )
python? ( dev-python/pyelftools )"
DEPEND="${RDEPEND}
app-arch/xz-utils"
_emake() {
emake \
USE_CAP=$(usex caps) \
USE_PYTHON=$(usex python) \
"$@"
}
src_configure() {
# Avoid slow configure+gnulib+make if on an up-to-date Linux system
if use prefix || ! use kernel_linux || \
has_version '<sys-libs/glibc-2.10'
then
econf $(use_with caps) $(use_with python)
else
tc-export CC
fi
}
src_compile() {
_emake
}
src_test() {
_emake check
}
src_install() {
_emake DESTDIR="${ED}" PKGDOCDIR='$(DOCDIR)'/${PF} install
}

View File

@ -1,53 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="4"
inherit eutils toolchain-funcs unpacker
DESCRIPTION="ELF related utils for ELF 32/64 binaries that can check files for security relevant properties"
HOMEPAGE="https://wiki.gentoo.org/index.php?title=Project:Hardened/PaX_Utilities"
SRC_URI="mirror://gentoo/pax-utils-${PV}.tar.xz
https://dev.gentoo.org/~solar/pax/pax-utils-${PV}.tar.xz
https://dev.gentoo.org/~vapier/dist/pax-utils-${PV}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="caps python"
RDEPEND="caps? ( sys-libs/libcap )
python? ( dev-python/pyelftools )"
DEPEND="${RDEPEND}
app-arch/xz-utils"
_emake() {
emake \
USE_CAP=$(usex caps) \
USE_PYTHON=$(usex python) \
"$@"
}
src_configure() {
# Avoid slow configure+gnulib+make if on an up-to-date Linux system
if use prefix || ! use kernel_linux || \
has_version '<sys-libs/glibc-2.10'
then
econf $(use_with caps) $(use_with python)
else
tc-export CC
fi
}
src_compile() {
_emake
}
src_test() {
_emake check
}
src_install() {
_emake DESTDIR="${ED}" PKGDOCDIR='$(DOCDIR)'/${PF} install
}

View File

@ -1,53 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="4"
inherit eutils toolchain-funcs unpacker
DESCRIPTION="ELF related utils for ELF 32/64 binaries that can check files for security relevant properties"
HOMEPAGE="https://wiki.gentoo.org/index.php?title=Project:Hardened/PaX_Utilities"
SRC_URI="mirror://gentoo/pax-utils-${PV}.tar.xz
https://dev.gentoo.org/~solar/pax/pax-utils-${PV}.tar.xz
https://dev.gentoo.org/~vapier/dist/pax-utils-${PV}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="caps python"
RDEPEND="caps? ( sys-libs/libcap )
python? ( dev-python/pyelftools )"
DEPEND="${RDEPEND}
app-arch/xz-utils"
_emake() {
emake \
USE_CAP=$(usex caps) \
USE_PYTHON=$(usex python) \
"$@"
}
src_configure() {
# Avoid slow configure+gnulib+make if on an up-to-date Linux system
if use prefix || ! use kernel_linux || \
has_version '<sys-libs/glibc-2.10'
then
econf $(use_with caps) $(use_with python)
else
tc-export CC
fi
}
src_compile() {
_emake
}
src_test() {
_emake check
}
src_install() {
_emake DESTDIR="${D}" PKGDOCDIR='$(DOCDIR)'/${PF} install
}

View File

@ -1,53 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="4"
inherit eutils toolchain-funcs unpacker
DESCRIPTION="ELF related utils for ELF 32/64 binaries that can check files for security relevant properties"
HOMEPAGE="https://wiki.gentoo.org/index.php?title=Project:Hardened/PaX_Utilities"
SRC_URI="mirror://gentoo/pax-utils-${PV}.tar.xz
https://dev.gentoo.org/~solar/pax/pax-utils-${PV}.tar.xz
https://dev.gentoo.org/~vapier/dist/pax-utils-${PV}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="caps python"
RDEPEND="caps? ( sys-libs/libcap )
python? ( dev-python/pyelftools )"
DEPEND="${RDEPEND}
app-arch/xz-utils"
_emake() {
emake \
USE_CAP=$(usex caps) \
USE_PYTHON=$(usex python) \
"$@"
}
src_configure() {
# Avoid slow configure+gnulib+make if on an up-to-date Linux system
if use prefix || ! use kernel_linux || \
has_version '<sys-libs/glibc-2.10'
then
econf $(use_with caps) $(use_with python)
else
tc-export CC
fi
}
src_compile() {
_emake
}
src_test() {
_emake check
}
src_install() {
_emake DESTDIR="${ED}" PKGDOCDIR='$(DOCDIR)'/${PF} install
}

View File

@ -1,58 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="4"
inherit eutils toolchain-funcs unpacker
DESCRIPTION="ELF related utils for ELF 32/64 binaries that can check files for security relevant properties"
HOMEPAGE="https://wiki.gentoo.org/index.php?title=Project:Hardened/PaX_Utilities"
SRC_URI="mirror://gentoo/pax-utils-${PV}.tar.xz
http://dev.gentoo.org/~solar/pax/pax-utils-${PV}.tar.xz
http://dev.gentoo.org/~vapier/dist/pax-utils-${PV}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="caps debug python seccomp"
RDEPEND="caps? ( >=sys-libs/libcap-2.24 )
python? ( dev-python/pyelftools )
seccomp? ( sys-libs/libseccomp )"
DEPEND="${RDEPEND}
caps? ( virtual/pkgconfig )
seccomp? ( virtual/pkgconfig )
app-arch/xz-utils"
_emake() {
emake \
USE_CAP=$(usex caps) \
USE_DEBUG=$(usex debug) \
USE_PYTHON=$(usex python) \
USE_SECCOMP=$(usex seccomp) \
"$@"
}
src_configure() {
# Avoid slow configure+gnulib+make if on an up-to-date Linux system
if use prefix || ! use kernel_linux || \
has_version '<sys-libs/glibc-2.10'
then
econf $(use_with caps) $(use_with debug) $(use_with python) $(use_with seccomp)
else
tc-export CC PKG_CONFIG
fi
}
src_compile() {
_emake
}
src_test() {
_emake check
}
src_install() {
_emake DESTDIR="${D}" PKGDOCDIR='$(DOCDIR)'/${PF} install
}

View File

@ -1,58 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="4"
inherit eutils toolchain-funcs unpacker
DESCRIPTION="ELF related utils for ELF 32/64 binaries that can check files for security relevant properties"
HOMEPAGE="https://wiki.gentoo.org/index.php?title=Project:Hardened/PaX_Utilities"
SRC_URI="mirror://gentoo/${P}.tar.xz
http://dev.gentoo.org/~solar/pax/${P}.tar.xz
http://dev.gentoo.org/~vapier/dist/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="caps debug python seccomp"
RDEPEND="caps? ( >=sys-libs/libcap-2.24 )
python? ( dev-python/pyelftools )
seccomp? ( sys-libs/libseccomp )"
DEPEND="${RDEPEND}
caps? ( virtual/pkgconfig )
seccomp? ( virtual/pkgconfig )
app-arch/xz-utils"
_emake() {
emake \
USE_CAP=$(usex caps) \
USE_DEBUG=$(usex debug) \
USE_PYTHON=$(usex python) \
USE_SECCOMP=$(usex seccomp) \
"$@"
}
src_configure() {
# Avoid slow configure+gnulib+make if on an up-to-date Linux system
if use prefix || ! use kernel_linux || \
has_version '<sys-libs/glibc-2.10'
then
econf $(use_with caps) $(use_with debug) $(use_with python) $(use_with seccomp)
else
tc-export CC PKG_CONFIG
fi
}
src_compile() {
_emake
}
src_test() {
_emake check
}
src_install() {
_emake DESTDIR="${D}" PKGDOCDIR='$(DOCDIR)'/${PF} install
}

View File

@ -1,58 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="4"
inherit eutils toolchain-funcs unpacker
DESCRIPTION="ELF related utils for ELF 32/64 binaries that can check files for security relevant properties"
HOMEPAGE="https://wiki.gentoo.org/index.php?title=Project:Hardened/PaX_Utilities"
SRC_URI="mirror://gentoo/${P}.tar.xz
http://dev.gentoo.org/~solar/pax/${P}.tar.xz
http://dev.gentoo.org/~vapier/dist/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="caps debug python seccomp"
RDEPEND="caps? ( >=sys-libs/libcap-2.24 )
python? ( dev-python/pyelftools )
seccomp? ( sys-libs/libseccomp )"
DEPEND="${RDEPEND}
caps? ( virtual/pkgconfig )
seccomp? ( virtual/pkgconfig )
app-arch/xz-utils"
_emake() {
emake \
USE_CAP=$(usex caps) \
USE_DEBUG=$(usex debug) \
USE_PYTHON=$(usex python) \
USE_SECCOMP=$(usex seccomp) \
"$@"
}
src_configure() {
# Avoid slow configure+gnulib+make if on an up-to-date Linux system
if use prefix || ! use kernel_linux || \
has_version '<sys-libs/glibc-2.10'
then
econf $(use_with caps) $(use_with debug) $(use_with python) $(use_with seccomp)
else
tc-export CC PKG_CONFIG
fi
}
src_compile() {
_emake
}
src_test() {
_emake check
}
src_install() {
_emake DESTDIR="${D}" PKGDOCDIR='$(DOCDIR)'/${PF} install
}

View File

@ -1,58 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="4"
inherit eutils toolchain-funcs unpacker
DESCRIPTION="ELF related utils for ELF 32/64 binaries that can check files for security relevant properties"
HOMEPAGE="https://wiki.gentoo.org/index.php?title=Project:Hardened/PaX_Utilities"
SRC_URI="mirror://gentoo/${P}.tar.xz
http://dev.gentoo.org/~solar/pax/${P}.tar.xz
http://dev.gentoo.org/~vapier/dist/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="caps debug python seccomp"
RDEPEND="caps? ( >=sys-libs/libcap-2.24 )
python? ( dev-python/pyelftools )
seccomp? ( sys-libs/libseccomp )"
DEPEND="${RDEPEND}
caps? ( virtual/pkgconfig )
seccomp? ( virtual/pkgconfig )
app-arch/xz-utils"
_emake() {
emake \
USE_CAP=$(usex caps) \
USE_DEBUG=$(usex debug) \
USE_PYTHON=$(usex python) \
USE_SECCOMP=$(usex seccomp) \
"$@"
}
src_configure() {
# Avoid slow configure+gnulib+make if on an up-to-date Linux system
if use prefix || ! use kernel_linux || \
has_version '<sys-libs/glibc-2.10'
then
econf $(use_with caps) $(use_with debug) $(use_with python) $(use_with seccomp)
else
tc-export CC PKG_CONFIG
fi
}
src_compile() {
_emake
}
src_test() {
_emake check
}
src_install() {
_emake DESTDIR="${D}" PKGDOCDIR='$(DOCDIR)'/${PF} install
}

View File

@ -1,58 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="4"
inherit eutils toolchain-funcs unpacker
DESCRIPTION="ELF related utils for ELF 32/64 binaries that can check files for security relevant properties"
HOMEPAGE="https://wiki.gentoo.org/index.php?title=Project:Hardened/PaX_Utilities"
SRC_URI="mirror://gentoo/${P}.tar.xz
http://dev.gentoo.org/~solar/pax/${P}.tar.xz
http://dev.gentoo.org/~vapier/dist/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="caps debug python seccomp"
RDEPEND="caps? ( >=sys-libs/libcap-2.24 )
python? ( dev-python/pyelftools )
seccomp? ( sys-libs/libseccomp )"
DEPEND="${RDEPEND}
caps? ( virtual/pkgconfig )
seccomp? ( virtual/pkgconfig )
app-arch/xz-utils"
_emake() {
emake \
USE_CAP=$(usex caps) \
USE_DEBUG=$(usex debug) \
USE_PYTHON=$(usex python) \
USE_SECCOMP=$(usex seccomp) \
"$@"
}
src_configure() {
# Avoid slow configure+gnulib+make if on an up-to-date Linux system
if use prefix || ! use kernel_linux || \
has_version '<sys-libs/glibc-2.10'
then
econf $(use_with caps) $(use_with debug) $(use_with python) $(use_with seccomp)
else
tc-export CC PKG_CONFIG
fi
}
src_compile() {
_emake
}
src_test() {
_emake check
}
src_install() {
_emake DESTDIR="${D}" PKGDOCDIR='$(DOCDIR)'/${PF} install
}

View File

@ -1,58 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="4"
inherit eutils toolchain-funcs unpacker
DESCRIPTION="ELF related utils for ELF 32/64 binaries that can check files for security relevant properties"
HOMEPAGE="https://wiki.gentoo.org/index.php?title=Project:Hardened/PaX_Utilities"
SRC_URI="mirror://gentoo/${P}.tar.xz
http://dev.gentoo.org/~solar/pax/${P}.tar.xz
http://dev.gentoo.org/~vapier/dist/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="caps debug python seccomp"
RDEPEND="caps? ( >=sys-libs/libcap-2.24 )
python? ( dev-python/pyelftools )
seccomp? ( sys-libs/libseccomp )"
DEPEND="${RDEPEND}
caps? ( virtual/pkgconfig )
seccomp? ( virtual/pkgconfig )
app-arch/xz-utils"
_emake() {
emake \
USE_CAP=$(usex caps) \
USE_DEBUG=$(usex debug) \
USE_PYTHON=$(usex python) \
USE_SECCOMP=$(usex seccomp) \
"$@"
}
src_configure() {
# Avoid slow configure+gnulib+make if on an up-to-date Linux system
if use prefix || ! use kernel_linux || \
has_version '<sys-libs/glibc-2.10'
then
econf $(use_with caps) $(use_with debug) $(use_with python) $(use_with seccomp)
else
tc-export CC PKG_CONFIG
fi
}
src_compile() {
_emake
}
src_test() {
_emake check
}
src_install() {
_emake DESTDIR="${D}" PKGDOCDIR='$(DOCDIR)'/${PF} install
}

View File

@ -1,57 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="4"
inherit eutils toolchain-funcs unpacker
DESCRIPTION="ELF related utils for ELF 32/64 binaries that can check files for security relevant properties"
HOMEPAGE="https://wiki.gentoo.org/index.php?title=Project:Hardened/PaX_Utilities"
SRC_URI="mirror://gentoo/pax-utils-${PV}.tar.xz
https://dev.gentoo.org/~solar/pax/pax-utils-${PV}.tar.xz
https://dev.gentoo.org/~vapier/dist/pax-utils-${PV}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="caps python seccomp"
RDEPEND="caps? ( >=sys-libs/libcap-2.24 )
python? ( dev-python/pyelftools )
seccomp? ( sys-libs/libseccomp )"
DEPEND="${RDEPEND}
caps? ( virtual/pkgconfig )
seccomp? ( virtual/pkgconfig )
app-arch/xz-utils"
_emake() {
emake \
USE_CAP=$(usex caps) \
USE_PYTHON=$(usex python) \
USE_SECCOMP=$(usex seccomp) \
"$@"
}
src_configure() {
# Avoid slow configure+gnulib+make if on an up-to-date Linux system
if use prefix || ! use kernel_linux || \
has_version '<sys-libs/glibc-2.10'
then
econf $(use_with caps) $(use_with python) $(use_with seccomp)
else
tc-export CC PKG_CONFIG
fi
}
src_compile() {
_emake
}
src_test() {
_emake check
}
src_install() {
_emake DESTDIR="${D}" PKGDOCDIR='$(DOCDIR)'/${PF} install
}

View File

@ -3,14 +3,14 @@
EAPI="7"
PYTHON_COMPAT=( python3_{6,7} )
PYTHON_COMPAT=( python3_{8,9,10} )
inherit python-single-r1 toolchain-funcs
DESCRIPTION="ELF utils that can check files for security relevant properties"
HOMEPAGE="https://wiki.gentoo.org/index.php?title=Project:Hardened/PaX_Utilities"
SRC_URI="mirror://gentoo/${P}.tar.xz
https://dev.gentoo.org/~slyfox/distfiles/${P}.tar.xz
https://dev.gentoo.org/~sam/distfiles/${P}.tar.xz
https://dev.gentoo.org/~vapier/dist/${P}.tar.xz"
LICENSE="GPL-2"
@ -18,30 +18,15 @@ SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="caps debug kernel_linux python seccomp"
# NOTE this was originally
#
# RDEPEND="caps? ( >=sys-libs/libcap-2.24 )
# python? (
# ${PYTHON_DEPS}
# $(python_gen_cond_dep '
# dev-python/pyelftools[${PYTHON_MULTI_USEDEP}]
# ')
# )
# "
# but we have an old version of python-single-r1.eclass which the
# above breaks.
RDEPEND="caps? ( >=sys-libs/libcap-2.24 )
python? (
${PYTHON_DEPS}
dev-python/pyelftools
$(python_gen_cond_dep '
dev-python/pyelftools[${PYTHON_USEDEP}]
')
)
"
# >=linux-headers-5.8 to pick linux headers with faccessat2, bug #768624
DEPEND="
${RDEPEND}
kernel_linux? ( !prefix-guest? ( >=sys-kernel/linux-headers-5.8 ) )
"
DEPEND="${RDEPEND}"
BDEPEND="
caps? ( virtual/pkgconfig )
"

View File

@ -0,0 +1,71 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
PYTHON_COMPAT=( python3_{8,9,10} )
inherit python-single-r1 toolchain-funcs
DESCRIPTION="ELF utils that can check files for security relevant properties"
HOMEPAGE="https://wiki.gentoo.org/index.php?title=Project:Hardened/PaX_Utilities"
SRC_URI="mirror://gentoo/${P}.tar.xz
https://dev.gentoo.org/~sam/distfiles/${P}.tar.xz
https://dev.gentoo.org/~vapier/dist/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="caps debug kernel_linux python seccomp"
RDEPEND="caps? ( >=sys-libs/libcap-2.24 )
python? (
${PYTHON_DEPS}
$(python_gen_cond_dep '
dev-python/pyelftools[${PYTHON_USEDEP}]
')
)
"
DEPEND="${RDEPEND}"
BDEPEND="
caps? ( virtual/pkgconfig )
"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
_emake() {
emake \
USE_CAP=$(usex caps) \
USE_DEBUG=$(usex debug) \
USE_PYTHON=$(usex python) \
USE_SECCOMP=$(usex seccomp) \
"$@"
}
pkg_setup() {
if use python; then
python-single-r1_pkg_setup
fi
}
src_configure() {
# Avoid slow configure+gnulib+make if on an up-to-date Linux system
if use prefix || ! use kernel_linux; then
econf $(use_with caps) $(use_with debug) $(use_with python) $(use_with seccomp)
else
tc-export CC PKG_CONFIG
fi
}
src_compile() {
_emake
}
src_test() {
_emake check
}
src_install() {
_emake DESTDIR="${D}" PKGDOCDIR='$(DOCDIR)'/${PF} install
use python && python_fix_shebang "${ED}"/usr/bin/lddtree
}

View File

@ -0,0 +1,74 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
# Note: if bumping pax-utils because of syscall changes in glibc, please
# revbump glibc and update the dependency in its ebuild for the affected
# versions.
PYTHON_COMPAT=( python3_{8,9,10} )
inherit python-single-r1 toolchain-funcs
DESCRIPTION="ELF utils that can check files for security relevant properties"
HOMEPAGE="https://wiki.gentoo.org/index.php?title=Project:Hardened/PaX_Utilities"
SRC_URI="mirror://gentoo/${P}.tar.xz
https://dev.gentoo.org/~sam/distfiles/${P}.tar.xz
https://dev.gentoo.org/~vapier/dist/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="caps debug kernel_linux python seccomp"
RDEPEND="caps? ( >=sys-libs/libcap-2.24 )
python? (
${PYTHON_DEPS}
$(python_gen_cond_dep '
dev-python/pyelftools[${PYTHON_USEDEP}]
')
)
"
DEPEND="${RDEPEND}"
BDEPEND="
caps? ( virtual/pkgconfig )
"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
_emake() {
emake \
USE_CAP=$(usex caps) \
USE_DEBUG=$(usex debug) \
USE_PYTHON=$(usex python) \
USE_SECCOMP=$(usex seccomp) \
"$@"
}
pkg_setup() {
if use python; then
python-single-r1_pkg_setup
fi
}
src_configure() {
# Avoid slow configure+gnulib+make if on an up-to-date Linux system
if use prefix || ! use kernel_linux; then
econf $(use_with caps) $(use_with debug) $(use_with python) $(use_with seccomp)
else
tc-export CC PKG_CONFIG
fi
}
src_compile() {
_emake
}
src_test() {
_emake check
}
src_install() {
_emake DESTDIR="${D}" PKGDOCDIR='$(DOCDIR)'/${PF} install
use python && python_fix_shebang "${ED}"/usr/bin/lddtree
}

View File

@ -1,4 +1,2 @@
DIST gentoolkit-0.4.6.tar.gz 3205641 BLAKE2B 7da91a313c8a9263eb7b4abd6207ece9dd602a5069a87f1e78ada13fc9f396e1f2afddaf0637c473445034cf57b5ca7631e209361a88fa3892d302b20f4cc986 SHA512 3aa3c9af7e994313400607943b9090fd813227ddd6d550b50fbcf7eeb4053da8bcdb41c9ef2579d957d2f279fdcc4e2f2ceca1091c5fd457df4204dd11792d6e
DIST gentoolkit-0.4.7.tar.gz 3205669 BLAKE2B e5f64b85546bc10ad16e7fa42d288965539177375e8796b40df699859efa13fb98bb86aec58e60363c955b2d5e4b2e6379a7597252ee4fdbeec49559de67b328 SHA512 0fab600b4323d23e12009eeb4ade595950880a88b05bcfbfeada1a9b9af615b96d31c568285629bf6e5de7b45ed857bdf98b6261dc54974fbaf70c924e093c76
DIST gentoolkit-0.4.8.tar.gz 3206070 BLAKE2B 7f689ae85136827b8af50401165ccd44bc824e12bec43dad786c7221ec78ee3c1f14d538d197e277a2fedc23f570440f4ec7c0cc707a146814315ff6de48c115 SHA512 689b4229c5d2b6f4440b7d3d57e4b9be5265eead53737890c17dbd0510df287f5c19f86b924735d4ad146d1a500c59a15869b718cbf805b894b0bf115b69f838
DIST gentoolkit-0.5.0.tar.gz 3206598 BLAKE2B a379dcbbaba9d52c241fea020b87c458384e44092539947909e14fd6c63fd9cc06d076b8081874edf17fc50e80fe48ceab3400c90046867dc409e7ac39c17231 SHA512 8a5c344f3a17c4c779abbcaa35b5e3f147106dbc61310d0d1a816ec8080914271fa45c311a8feeb1bfe14195af7cf34c0b29142d6e43e2de232dae96fbd00861
DIST gentoolkit-0.5.1.tar.gz 3203805 BLAKE2B de2cd69aec9be79f498b1180a90afb54e77f9d8a47636cd722f2028a906d43874132d55a71bf373b3d10c7c10034f5d8ce0280a35041b0c60a1d5aa2ed6296a1 SHA512 667e464853b17ae297c59fb06e8f4563119a1382470d064c5721ae898e61173e9af5b071c7618d315232e6974fec205e27559785d2816253711de3e83d9e1911

View File

@ -1,75 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=( python3_{6,7,8} pypy3 )
PYTHON_REQ_USE="xml(+),threads(+)"
inherit distutils-r1
DESCRIPTION="Collection of administration scripts for Gentoo"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage-Tools"
SRC_URI="https://gitweb.gentoo.org/proj/gentoolkit.git/snapshot/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
IUSE=""
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
DEPEND="
sys-apps/portage[${PYTHON_USEDEP}]"
RDEPEND="${DEPEND}
sys-apps/gawk
sys-apps/gentoo-functions"
python_prepare_all() {
python_setup
echo VERSION="${PVR}" "${PYTHON}" setup.py set_version
VERSION="${PVR}" "${PYTHON}" setup.py set_version
distutils-r1_python_prepare_all
}
python_install_all() {
distutils-r1_python_install_all
}
pkg_preinst() {
if has_version "<${CATEGORY}/${PN}-0.4.0"; then
SHOW_GENTOOKIT_DEV_DEPRECATED_MSG=1
fi
}
pkg_postinst() {
# Create cache directory for revdep-rebuild
mkdir -p -m 0755 "${EROOT}"/var/cache
mkdir -p -m 0700 "${EROOT}"/var/cache/revdep-rebuild
if [[ ${SHOW_GENTOOKIT_DEV_DEPRECATED_MSG} ]]; then
elog "Starting with version 0.4.0, ebump, ekeyword and imlate are now"
elog "part of the gentoolkit package."
elog "The gentoolkit-dev package is now deprecated in favor of a single"
elog "gentoolkit package. The remaining tools from gentoolkit-dev"
elog "are now obsolete/unused with the git based tree."
fi
# Only show the elog information on a new install
if [[ ! ${REPLACING_VERSIONS} ]]; then
elog
elog "For further information on gentoolkit, please read the gentoolkit"
elog "guide: https://wiki.gentoo.org/wiki/Gentoolkit"
elog
elog "Another alternative to equery is app-portage/portage-utils"
elog
elog "Additional tools that may be of interest:"
elog
elog " app-admin/eclean-kernel"
elog " app-portage/diffmask"
elog " app-portage/flaggie"
elog " app-portage/install-mask"
elog " app-portage/portpeek"
elog " app-portage/smart-live-rebuild"
fi
}

View File

@ -1,75 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=( python3_{6,7,8} pypy3 )
PYTHON_REQ_USE="xml(+),threads(+)"
inherit distutils-r1
DESCRIPTION="Collection of administration scripts for Gentoo"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage-Tools"
SRC_URI="https://gitweb.gentoo.org/proj/gentoolkit.git/snapshot/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
IUSE=""
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
DEPEND="
sys-apps/portage[${PYTHON_USEDEP}]"
RDEPEND="${DEPEND}
sys-apps/gawk
sys-apps/gentoo-functions"
python_prepare_all() {
python_setup
echo VERSION="${PVR}" "${PYTHON}" setup.py set_version
VERSION="${PVR}" "${PYTHON}" setup.py set_version
distutils-r1_python_prepare_all
}
python_install_all() {
distutils-r1_python_install_all
}
pkg_preinst() {
if has_version "<${CATEGORY}/${PN}-0.4.0"; then
SHOW_GENTOOKIT_DEV_DEPRECATED_MSG=1
fi
}
pkg_postinst() {
# Create cache directory for revdep-rebuild
mkdir -p -m 0755 "${EROOT}"/var/cache
mkdir -p -m 0700 "${EROOT}"/var/cache/revdep-rebuild
if [[ ${SHOW_GENTOOKIT_DEV_DEPRECATED_MSG} ]]; then
elog "Starting with version 0.4.0, ebump, ekeyword and imlate are now"
elog "part of the gentoolkit package."
elog "The gentoolkit-dev package is now deprecated in favor of a single"
elog "gentoolkit package. The remaining tools from gentoolkit-dev"
elog "are now obsolete/unused with the git based tree."
fi
# Only show the elog information on a new install
if [[ ! ${REPLACING_VERSIONS} ]]; then
elog
elog "For further information on gentoolkit, please read the gentoolkit"
elog "guide: https://wiki.gentoo.org/wiki/Gentoolkit"
elog
elog "Another alternative to equery is app-portage/portage-utils"
elog
elog "Additional tools that may be of interest:"
elog
elog " app-admin/eclean-kernel"
elog " app-portage/diffmask"
elog " app-portage/flaggie"
elog " app-portage/install-mask"
elog " app-portage/portpeek"
elog " app-portage/smart-live-rebuild"
fi
}

View File

@ -1,13 +1,13 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=( python3_{6,7,8,9} pypy3 )
PYTHON_COMPAT=( python3_{7,8,9} pypy3 )
PYTHON_REQ_USE="xml(+),threads(+)"
inherit distutils-r1
inherit distutils-r1 tmpfiles
DESCRIPTION="Collection of administration scripts for Gentoo"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage-Tools"
@ -17,7 +17,7 @@ LICENSE="GPL-2"
SLOT="0"
IUSE=""
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
DEPEND="
sys-apps/portage[${PYTHON_USEDEP}]"
@ -37,6 +37,13 @@ python_prepare_all() {
echo VERSION="${PVR}" "${PYTHON}" setup.py set_version
VERSION="${PVR}" "${PYTHON}" setup.py set_version
distutils-r1_python_prepare_all
if use prefix-guest ; then
# use correct repo name, bug #632223
sed -i \
-e "/load_profile_data/s/repo='gentoo'/repo='gentoo_prefix'/" \
pym/gentoolkit/profile.py || die
fi
}
pkg_preinst() {
@ -46,9 +53,7 @@ pkg_preinst() {
}
pkg_postinst() {
# Create cache directory for revdep-rebuild
mkdir -p -m 0755 "${EROOT}"/var/cache
mkdir -p -m 0700 "${EROOT}"/var/cache/revdep-rebuild
tmpfiles_process revdep-rebuild.conf
if [[ ${SHOW_GENTOOKIT_DEV_DEPRECATED_MSG} ]]; then
elog "Starting with version 0.4.0, ebump, ekeyword and imlate are now"
@ -71,7 +76,6 @@ pkg_postinst() {
elog " app-admin/eclean-kernel"
elog " app-portage/diffmask"
elog " app-portage/flaggie"
elog " app-portage/install-mask"
elog " app-portage/portpeek"
elog " app-portage/smart-live-rebuild"
fi

View File

@ -1,23 +1,27 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=( python3_{6,7} )
PYTHON_COMPAT=( python3_{7..10} pypy3 )
PYTHON_REQ_USE="xml(+),threads(+)"
inherit distutils-r1
inherit distutils-r1 tmpfiles
if [[ ${PV} = 9999* ]]; then
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gentoolkit.git"
inherit git-r3
else
SRC_URI="https://gitweb.gentoo.org/proj/gentoolkit.git/snapshot/${P}.tar.gz"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="Collection of administration scripts for Gentoo"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage-Tools"
SRC_URI="https://gitweb.gentoo.org/proj/gentoolkit.git/snapshot/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
IUSE=""
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
DEPEND="
sys-apps/portage[${PYTHON_USEDEP}]"
@ -25,35 +29,24 @@ RDEPEND="${DEPEND}
sys-apps/gawk
sys-apps/gentoo-functions"
distutils_enable_tests setup.py
python_prepare_all() {
python_setup
echo VERSION="${PVR}" "${PYTHON}" setup.py set_version
VERSION="${PVR}" "${PYTHON}" setup.py set_version
distutils-r1_python_prepare_all
}
python_install_all() {
distutils-r1_python_install_all
}
pkg_preinst() {
if has_version "<${CATEGORY}/${PN}-0.4.0"; then
SHOW_GENTOOKIT_DEV_DEPRECATED_MSG=1
if use prefix-guest ; then
# use correct repo name, bug #632223
sed -i \
-e "/load_profile_data/s/repo='gentoo'/repo='gentoo_prefix'/" \
pym/gentoolkit/profile.py || die
fi
}
pkg_postinst() {
# Create cache directory for revdep-rebuild
mkdir -p -m 0755 "${EROOT}"/var/cache
mkdir -p -m 0700 "${EROOT}"/var/cache/revdep-rebuild
if [[ ${SHOW_GENTOOKIT_DEV_DEPRECATED_MSG} ]]; then
elog "Starting with version 0.4.0, ebump, ekeyword and imlate are now"
elog "part of the gentoolkit package."
elog "The gentoolkit-dev package is now deprecated in favor of a single"
elog "gentoolkit package. The remaining tools from gentoolkit-dev"
elog "are now obsolete/unused with the git based tree."
fi
tmpfiles_process revdep-rebuild.conf
# Only show the elog information on a new install
if [[ ! ${REPLACING_VERSIONS} ]]; then
@ -68,7 +61,6 @@ pkg_postinst() {
elog " app-admin/eclean-kernel"
elog " app-portage/diffmask"
elog " app-portage/flaggie"
elog " app-portage/install-mask"
elog " app-portage/portpeek"
elog " app-portage/smart-live-rebuild"
fi

View File

@ -1,24 +1,27 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=( python3_{6,7,8,9} pypy3 )
PYTHON_COMPAT=( python3_{7..10} pypy3 )
PYTHON_REQ_USE="xml(+),threads(+)"
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gentoolkit.git"
inherit distutils-r1 git-r3
inherit distutils-r1 tmpfiles
if [[ ${PV} = 9999* ]]; then
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gentoolkit.git"
inherit git-r3
else
SRC_URI="https://gitweb.gentoo.org/proj/gentoolkit.git/snapshot/${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="Collection of administration scripts for Gentoo"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage-Tools"
SRC_URI=""
LICENSE="GPL-2"
SLOT="0"
IUSE=""
KEYWORDS=""
DEPEND="
sys-apps/portage[${PYTHON_USEDEP}]"
@ -33,26 +36,17 @@ python_prepare_all() {
echo VERSION="${PVR}" "${PYTHON}" setup.py set_version
VERSION="${PVR}" "${PYTHON}" setup.py set_version
distutils-r1_python_prepare_all
}
pkg_preinst() {
if has_version "<${CATEGORY}/${PN}-0.4.0"; then
SHOW_GENTOOKIT_DEV_DEPRECATED_MSG=1
if use prefix-guest ; then
# use correct repo name, bug #632223
sed -i \
-e "/load_profile_data/s/repo='gentoo'/repo='gentoo_prefix'/" \
pym/gentoolkit/profile.py || die
fi
}
pkg_postinst() {
# Create cache directory for revdep-rebuild
mkdir -p -m 0755 "${EROOT}"/var/cache
mkdir -p -m 0700 "${EROOT}"/var/cache/revdep-rebuild
if [[ ${SHOW_GENTOOKIT_DEV_DEPRECATED_MSG} ]]; then
elog "Starting with version 0.4.0, ebump, ekeyword and imlate are now"
elog "part of the gentoolkit package."
elog "The gentoolkit-dev package is now deprecated in favor of a single"
elog "gentoolkit package. The remaining tools from gentoolkit-dev"
elog "are now obsolete/unused with the git based tree."
fi
tmpfiles_process revdep-rebuild.conf
# Only show the elog information on a new install
if [[ ! ${REPLACING_VERSIONS} ]]; then
@ -67,7 +61,6 @@ pkg_postinst() {
elog " app-admin/eclean-kernel"
elog " app-portage/diffmask"
elog " app-portage/flaggie"
elog " app-portage/install-mask"
elog " app-portage/portpeek"
elog " app-portage/smart-live-rebuild"
fi

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>tools-portage@gentoo.org</email>

View File

@ -1,229 +0,0 @@
# ChangeLog for app-text/asciidoc
# Copyright 1999-2016 Gentoo Foundation; Distributed under the GPL v2
# (auto-generated from git log)
*asciidoc-9999 (09 Aug 2015)
*asciidoc-8.6.9-r1 (09 Aug 2015)
*asciidoc-8.6.9 (09 Aug 2015)
*asciidoc-8.6.8-r1 (09 Aug 2015)
*asciidoc-8.6.5 (09 Aug 2015)
09 Aug 2015; Robin H. Johnson <robbat2@gentoo.org> +asciidoc-8.6.5.ebuild,
+asciidoc-8.6.8-r1.ebuild, +asciidoc-8.6.9.ebuild,
+asciidoc-8.6.9-r1.ebuild, +asciidoc-9999.ebuild, +metadata.xml:
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration
tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this
project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo
developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve
cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014
work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on
the bikeshed
24 Aug 2015; Justin Lecher <jlec@gentoo.org> metadata.xml:
Use https by default
Convert all URLs for sites supporting encrypted connections from http to
https
Signed-off-by: Justin Lecher <jlec@gentoo.org>
24 Aug 2015; Mike Gilbert <floppym@gentoo.org> metadata.xml:
Revert DOCTYPE SYSTEM https changes in metadata.xml
repoman does not yet accept the https version.
This partially reverts eaaface92ee81f30a6ac66fe7acbcc42c00dc450.
Bug: https://bugs.gentoo.org/552720
*asciidoc-8.6.9-r2 (13 Nov 2015)
13 Nov 2015; Marc Joliet <marcec@gmx.de> +asciidoc-8.6.9-r2.ebuild:
revbump to 8.6.9-r2 to add deps
Also, drop keywords to match app-text/dblatex.
Gentoo-bug: 366763
Signed-off-by: Marc Joliet <marcec@gmx.de>
13 Nov 2015; Marc Joliet <marcec@gmx.de> asciidoc-9999.ebuild:
apply dep fixes to -9999
Gentoo-bug: 366763
Signed-off-by: Marc Joliet <marcec@gmx.de>
13 Nov 2015; Marc Joliet <marcec@gmx.de> metadata.xml:
add myself as proxy-maintainer
Add myself as proxy-maintainer, replacing the previous maintainer at his
suggestion.
Signed-off-by: Marc Joliet <marcec@gmx.de>
13 Nov 2015; Marc Joliet <marcec@gmx.de> asciidoc-8.6.9-r2.ebuild,
asciidoc-9999.ebuild:
add a dep on app-text/highlight
It is another provider for the "highlight" USE flag.
Signed-off-by: Marc Joliet <marcec@gmx.de>
13 Nov 2015; Marc Joliet <marcec@gmx.de> asciidoc-8.6.9-r2.ebuild,
asciidoc-9999.ebuild:
change order of highlight deps
Change the order of the highlight USE flag deps so that
dev-util/source-highlight becomes the default in order to match upstream.
Gentoo-bug: 552148
Signed-off-by: Marc Joliet <marcec@gmx.de>
13 Nov 2015; Marc Joliet <marcec@gmx.de> asciidoc-8.6.9-r2.ebuild,
asciidoc-9999.ebuild:
split highlight deps by newline
Signed-off-by: Marc Joliet <marcec@gmx.de>
14 Nov 2015; Marc Joliet <marcec@gmx.de> asciidoc-8.6.9-r1.ebuild,
asciidoc-8.6.9-r2.ebuild, asciidoc-9999.ebuild:
trim description to <80 chars
The new description is taken verbatim from the first sentence at
http://asciidoc.org/userguide.html#_introduction.
Signed-off-by: Marc Joliet <marcec@gmx.de>
16 Nov 2015; Marc Joliet <marcec@gmx.de> asciidoc-8.6.9-r2.ebuild,
asciidoc-9999.ebuild:
use readme.gentoo for some deps
Use readme.gentoo to refer to the a2x(1) man page for a list of runtime
dependencies instead of forcing the app-text/dblatex and lynx/w3m
dependencies.
Since this commit removes the direct dependency on app-text/dblatex, it also
restores previously dropped KEYWORDS to ~arch.
Gentoo-bug: 565844
Signed-off-by: Marc Joliet <marcec@gmx.de>
16 Nov 2015; Marc Joliet <marcec@gmx.de> -asciidoc-8.6.5.ebuild:
drop old 8.6.5
It uses the deprecated EAPI 3, the deprecated python eclass, and supports
fewer
KEYWORDS than the newer versions.
Signed-off-by: Marc Joliet <marcec@gmx.de>
16 Nov 2015; Marc Joliet <marcec@gmx.de> -asciidoc-8.6.8-r1.ebuild:
drop old 8.6.8-r1
Signed-off-by: Marc Joliet <marcec@gmx.de>
16 Nov 2015; Marc Joliet <marcec@gmx.de> -asciidoc-8.6.9.ebuild:
drop old 8.6.9
It suffers from bug #483336, which was fixed in -r1.
Signed-off-by: Marc Joliet <marcec@gmx.de>
20 Nov 2015; Marc Joliet <marcec@gmx.de> asciidoc-8.6.9-r2.ebuild,
asciidoc-9999.ebuild:
remove vim-syntax from IUSE
The vim-syntax USE flag is useless now, for the following reasons:
- The actions it controls have no effect, since the Makefile.in doesn't do
anything vim-related anymore, as mentioned in the CHANGELOG.
- Vim comes with its own syntax file since version 7.4, which is maintained
(by
AsciiDoc upstream, according to its header) and was last updated in 2014,
whereas the upstream syntax file has not been changed since 2013.
Gentoo-bug: 530808
Signed-off-by: Marc Joliet <marcec@gmx.de>
20 Nov 2015; Marc Joliet <marcec@gmx.de> asciidoc-8.6.9-r2.ebuild:
8.6.9-r2: fix docompress call
Docompress should only be called when USE=examples.
Gentoo-bug: 555400
Signed-off-by: Marc Joliet <marcec@gmx.de>
21 Dec 2015; Patrice Clement <monsieurp@gentoo.org> asciidoc-9999.ebuild:
9999: fix a typo
Package-Manager: portage-2.2.24
Signed-off-by: Marc Joliet <marcec@gmx.de>
24 Jan 2016; Michał Górny <mgorny@gentoo.org> metadata.xml:
Replace all herds with appropriate projects (GLEP 67)
Replace all uses of herd with appropriate project maintainers, or no
maintainers in case of herds requested to be disbanded.
24 Jan 2016; Michał Górny <mgorny@gentoo.org> metadata.xml:
Set appropriate maintainer types in metadata.xml (GLEP 67)
22 Mar 2016; Agostino Sarubbo <ago@gentoo.org> asciidoc-8.6.9-r2.ebuild:
amd64 stable wrt bug #577838
Package-Manager: portage-2.2.26
RepoMan-Options: --include-arches="amd64"
Signed-off-by: Agostino Sarubbo <ago@gentoo.org>
*asciidoc-8.6.9-r3 (24 Mar 2016)
24 Mar 2016; Patrice Clement <monsieurp@gentoo.org>
+asciidoc-8.6.9-r3.ebuild:
move to readme.gentoo-r1 eclass
Package-Manager: portage-2.2.26
Signed-off-by: Marc Joliet <marcec@gmx.de>
Closes: https://github.com/gentoo/gentoo/pull/1128
01 Apr 2016; Markus Meier <maekke@gentoo.org> asciidoc-8.6.9-r2.ebuild:
arm stable, bug #577838
Package-Manager: portage-2.2.28
RepoMan-Options: --include-arches="arm"
25 Jun 2016; Agostino Sarubbo <ago@gentoo.org> asciidoc-8.6.9-r2.ebuild:
x86 stable wrt bug #577838
Package-Manager: portage-2.2.28
RepoMan-Options: --include-arches="x86"
Signed-off-by: Agostino Sarubbo <ago@gentoo.org>
06 Jul 2016; Agostino Sarubbo <ago@gentoo.org> asciidoc-8.6.9-r2.ebuild:
ppc stable wrt bug #577838
Package-Manager: portage-2.2.28
RepoMan-Options: --include-arches="ppc"
Signed-off-by: Agostino Sarubbo <ago@gentoo.org>

View File

@ -1,440 +0,0 @@
# ChangeLog for app-text/asciidoc
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/app-text/asciidoc/ChangeLog,v 1.110 2015/07/19 09:38:02 djc Exp $
19 Jul 2015; Dirkjan Ochtman <djc@gentoo.org> asciidoc-8.6.9-r1.ebuild:
Remove python 3.3, 3.4 compatibility again (bug 554786)
12 Jul 2015; Dirkjan Ochtman <djc@gentoo.org> asciidoc-8.6.9-r1.ebuild:
Add python 3.3, 3.4 compatibility (fixes bug 546110)
09 Jun 2015; Justin Lecher <jlec@gentoo.org> metadata.xml:
Updating remote-id in metadata.xml
08 Apr 2015; Michał Górny <mgorny@gentoo.org> asciidoc-8.6.8-r1.ebuild,
asciidoc-9999.ebuild:
Remove old Python implementations
06 Dec 2014; Agostino Sarubbo <ago@gentoo.org> asciidoc-8.6.9-r1.ebuild:
Stable for ia64, wrt bug #529410
04 Dec 2014; Agostino Sarubbo <ago@gentoo.org> asciidoc-8.6.9-r1.ebuild:
Stable for ppc64, wrt bug #529410
03 Dec 2014; Agostino Sarubbo <ago@gentoo.org> asciidoc-8.6.9-r1.ebuild:
Stable for ppc, wrt bug #529410
03 Dec 2014; Dirkjan Ochtman <djc@gentoo.org> asciidoc-8.6.9-r1.ebuild,
asciidoc-8.6.9.ebuild:
Remove some old python implementations
02 Dec 2014; Pacho Ramos <pacho@gentoo.org> asciidoc-8.6.9-r1.ebuild:
x86 stable, bug #529410
02 Dec 2014; Agostino Sarubbo <ago@gentoo.org> asciidoc-8.6.9-r1.ebuild:
Stable for alpha, wrt bug #529410
01 Dec 2014; Agostino Sarubbo <ago@gentoo.org> asciidoc-8.6.9-r1.ebuild:
Stable for sparc, wrt bug #529410
26 Nov 2014; Agostino Sarubbo <ago@gentoo.org> asciidoc-8.6.9-r1.ebuild:
Stable for amd64, wrt bug #529410
19 Nov 2014; Markus Meier <maekke@gentoo.org> asciidoc-8.6.9-r1.ebuild:
arm stable, bug #529410
19 Nov 2014; Jeroen Roovers <jer@gentoo.org> asciidoc-8.6.9-r1.ebuild:
Stable for HPPA (bug #529410).
*asciidoc-8.6.9-r1 (03 Nov 2014)
03 Nov 2014; Dirkjan Ochtman <djc@gentoo.org> +asciidoc-8.6.9-r1.ebuild:
Add asciidoc-8.6.9-r1 with fixes from Calchan (fixes bug 483336)
23 Sep 2014; Dirkjan Ochtman <djc@gentoo.org> metadata.xml:
Add myself as a maintainer
*asciidoc-8.6.9 (23 Sep 2014)
23 Sep 2014; Dirkjan Ochtman <djc@gentoo.org> +asciidoc-8.6.9.ebuild:
Version bump asciidoc to 8.6.9 (bug 494250)
31 Mar 2014; Michał Górny <mgorny@gentoo.org> asciidoc-8.6.8-r1.ebuild,
asciidoc-9999.ebuild:
Add support for the new PyPy slotting.
18 Jan 2014; Mike Frysinger <vapier@gentoo.org> asciidoc-8.6.5.ebuild,
asciidoc-8.6.8-r1.ebuild, asciidoc-9999.ebuild:
Add arm64 love.
13 Oct 2013; Pacho Ramos <pacho@gentoo.org> asciidoc-8.6.8-r1.ebuild:
Fix REQUIRED_USE as pointed by Nikoli
05 Sep 2013; Michał Górny <mgorny@gentoo.org> asciidoc-8.6.8-r1.ebuild,
asciidoc-9999.ebuild:
Clean up PYTHON_COMPAT from old implementations.
21 Jul 2013; Pacho Ramos <pacho@gentoo.org> -asciidoc-8.2.6.ebuild,
-asciidoc-8.6.7.ebuild, -asciidoc-8.6.8.ebuild, metadata.xml:
Cleanup due http://gentoo.2317880.n4.nabble.com/sgml-herd-has-no-maintainers-
again-td259655.html
30 Jun 2013; Justin Lecher <jlec@gentoo.org> asciidoc-8.6.8-r1.ebuild,
asciidoc-9999.ebuild:
Fix usage of python-r1.eclass
23 Feb 2013; Zac Medico <zmedico@gentoo.org> asciidoc-8.6.8-r1.ebuild,
asciidoc-9999.ebuild:
Add ~arm-linux and ~x86-linux keywords.
*asciidoc-8.6.8-r1 (23 Feb 2013)
23 Feb 2013; Mike Gilbert <floppym@gentoo.org> +asciidoc-8.6.8-r1.ebuild,
asciidoc-9999.ebuild:
Convert to python-single-r1, bug 458802 by mgorny.
27 Dec 2012; Christoph Junghans <ottxor@gentoo.org> asciidoc-8.2.6.ebuild,
asciidoc-8.6.5.ebuild, asciidoc-8.6.7.ebuild, asciidoc-8.6.8.ebuild,
asciidoc-9999.ebuild:
mercurial.eclass respects now
15 Sep 2012; Mike Gilbert <floppym@gentoo.org> +asciidoc-8.2.6.ebuild:
Restore old version needed by dev-vcs/stgit-0.15-r1.
10 Sep 2012; Mike Gilbert <floppym@gentoo.org> -asciidoc-8.2.6.ebuild,
-asciidoc-8.5.3.ebuild, -asciidoc-8.6.3.ebuild, -asciidoc-8.6.4.ebuild:
Remove old.
*asciidoc-8.6.8 (10 Sep 2012)
10 Sep 2012; Mike Gilbert <floppym@gentoo.org> +asciidoc-8.6.8.ebuild,
asciidoc-9999.ebuild:
Version bump for bug 430260 by Sean McCovern.
26 Apr 2012; Alexis Ballier <aballier@gentoo.org> asciidoc-8.6.7.ebuild,
asciidoc-9999.ebuild:
keyword ~amd64-fbsd
08 Apr 2012; Raúl Porcel <armin76@gentoo.org> asciidoc-8.6.5.ebuild:
alpha/ia64/s390/sh/sparc stable wrt #388225
07 Apr 2012; Markus Meier <maekke@gentoo.org> asciidoc-8.6.5.ebuild:
x86 stable, bug #388225
28 Mar 2012; Markus Meier <maekke@gentoo.org> asciidoc-8.6.5.ebuild:
arm stable, bug #388225
25 Mar 2012; Brent Baude <ranger@gentoo.org> asciidoc-8.6.5.ebuild:
Marking asciidoc-8.6.5 ppc64 for bug 388225
25 Mar 2012; Jeroen Roovers <jer@gentoo.org> asciidoc-8.6.5.ebuild:
Stable for HPPA (bug #388225).
25 Mar 2012; Brent Baude <ranger@gentoo.org> asciidoc-8.6.5.ebuild:
Marking asciidoc-8.6.5 ppc for bug 388225
24 Mar 2012; Agostino Sarubbo <ago@gentoo.org> asciidoc-8.6.5.ebuild:
Stable for amd64, wrt bug #388225
23 Mar 2012; Mike Gilbert <floppym@gentoo.org> asciidoc-8.6.5.ebuild,
asciidoc-8.6.7.ebuild, asciidoc-9999.ebuild:
sed || die. Reported by Maurizio Camisaschi in bug 388225.
*asciidoc-8.6.7 (19 Mar 2012)
19 Mar 2012; Sebastian Pipping <sping@gentoo.org> +asciidoc-8.6.7.ebuild,
asciidoc-9999.ebuild:
Bump to 8.6.7, allow pygments for USE=highlight (bug #383291)
30 Jun 2011; Sebastian Pipping <sping@gentoo.org> asciidoc-8.5.3.ebuild,
asciidoc-8.6.3.ebuild, asciidoc-8.6.4.ebuild, asciidoc-8.6.5.ebuild,
asciidoc-9999.ebuild:
Add "graphviz? ( media-gfx/graphviz )" to runtime dependencies (bug #361255)
27 Jun 2011; Sebastian Pipping <sping@gentoo.org> asciidoc-8.5.3.ebuild,
asciidoc-8.6.3.ebuild, asciidoc-8.6.4.ebuild, asciidoc-8.6.5.ebuild,
asciidoc-9999.ebuild:
Remove runtime dependency on graphviz (bug #361255)
*asciidoc-8.6.5 (22 May 2011)
22 May 2011; Sebastian Pipping <sping@gentoo.org> +asciidoc-8.6.5.ebuild:
Bump to 8.6.5, looks trivial
05 Apr 2011; Ulrich Mueller <ulm@gentoo.org> asciidoc-8.2.6.ebuild:
Depend on dev-lang/python because virtual/python will go away, bug 358849.
23 Feb 2011; Sebastian Pipping <sping@gentoo.org> asciidoc-8.6.4.ebuild,
metadata.xml:
Bring back ~hppa keyword (bug #356069), add use flag "highlight" (bug
#344289)
22 Feb 2011; Jeroen Roovers <jer@gentoo.org> asciidoc-8.6.4.ebuild:
Drop HPPA because of missing dep on media-sound/lilypond (bug #356069).
*asciidoc-8.6.4 (22 Feb 2011)
22 Feb 2011; Sebastian Pipping <sping@gentoo.org> +asciidoc-8.6.4.ebuild,
asciidoc-9999.ebuild:
Bump to 8.6.4, integrate test suite, sync live ebuild
*asciidoc-9999 (14 Nov 2010)
*asciidoc-8.6.3 (14 Nov 2010)
14 Nov 2010; Sebastian Pipping <sping@gentoo.org> +asciidoc-8.6.3.ebuild,
+asciidoc-9999.ebuild:
Bump to 8.6.3 (bug #339068), migrate to a hybrid release/live ebuild.
Upstream is not shipping HTML docs anymore: for now we don't build them
downstream.
15 Oct 2010; Brent Baude <ranger@gentoo.org> asciidoc-8.5.3.ebuild:
stable ppc, bug 332577
30 Sep 2010; Fabian Groffen <grobian@gentoo.org> asciidoc-8.5.3.ebuild:
Marked ~x86-solaris
19 Sep 2010; Raúl Porcel <armin76@gentoo.org> asciidoc-8.5.3.ebuild:
ia64/s390/sh/sparc stable wrt #332577
19 Sep 2010; Tobias Klausmann <klausman@gentoo.org> asciidoc-8.5.3.ebuild:
Stable on alpha, bug #332577, thanks to mattst88 for testing
23 Aug 2010; Markus Meier <maekke@gentoo.org> asciidoc-8.5.3.ebuild:
arm stable, bug #332577
20 Aug 2010; Samuli Suominen <ssuominen@gentoo.org> asciidoc-8.5.3.ebuild:
ppc64 stable wrt #332577
17 Aug 2010; Jeroen Roovers <jer@gentoo.org> asciidoc-8.5.3.ebuild:
Stable for HPPA (bug #332577).
14 Aug 2010; Pawel Hajdan jr <phajdan.jr@gentoo.org>
asciidoc-8.5.3.ebuild:
x86 stable wrt bug #332577
13 Aug 2010; Markos Chandras <hwoarang@gentoo.org> asciidoc-8.5.3.ebuild:
Stable on amd64 wrt bug #332577
13 Aug 2010; Tomáš Chvátal <scarabeus@gentoo.org>
asciidoc-8.5.3.ebuild:
Forgot to set active python version.
*asciidoc-8.5.3 (13 Aug 2010)
13 Aug 2010; Tomáš Chvátal <scarabeus@gentoo.org>
-asciidoc-8.5.1.ebuild, +asciidoc-8.5.3.ebuild:
Version bump. Remove older.
05 Apr 2010; Jonathan Callen <abcd@gentoo.org> asciidoc-8.5.1.ebuild:
Bump to EAPI=3, add prefix keywords
*asciidoc-8.5.1 (04 Dec 2009)
04 Dec 2009; Diego E. Pettenò <flameeyes@gentoo.org>
-asciidoc-7.0.4.ebuild, -asciidoc-8.1.0.ebuild, -asciidoc-8.2.7.ebuild,
-asciidoc-8.4.4.ebuild, -asciidoc-8.4.5.ebuild, -asciidoc-8.5.0.ebuild,
+asciidoc-8.5.1.ebuild:
Cleanup: remove older versions; bump to 8.5.1; fix dependencies
(previously DEPEND and RDEPEND were swapped); remove doc USE flag, always
install the HTML documentation; use /usr/share to install the data files
(closes bug #274319).
*asciidoc-8.5.0 (06 Nov 2009)
06 Nov 2009; Patrick Lauer <patrick@gentoo.org> +asciidoc-8.5.0.ebuild:
Bump to 8.5.0, fixes #290747
27 Jun 2009; Patrick Lauer <patrick@gentoo.org> asciidoc-8.4.5.ebuild:
Adding app-text/docbook-xml-dtd-4.5 to RDEPEND in the hope to fix #272010
*asciidoc-8.4.5 (27 Jun 2009)
27 Jun 2009; Patrick Lauer <patrick@gentoo.org> +asciidoc-8.4.5.ebuild:
Bump to 8.4.5, small fixes by Tim Harder. Closes #275570
*asciidoc-8.4.4 (22 May 2009)
22 May 2009; Patrick Lauer <patrick@gentoo.org> +asciidoc-8.4.4.ebuild:
Bump to 8.4.4, closes #270644. Ebuild fixups by Andre-Patrick Bubel
13 Nov 2008; Brent Baude <ranger@gentoo.org> asciidoc-8.2.6.ebuild:
stable ppc64, bug 224743
08 Nov 2008; nixnut <nixnut@gentoo.org> asciidoc-8.2.6.ebuild:
Stable on ppc wrt bug 224743
07 Nov 2008; Raúl Porcel <armin76@gentoo.org> asciidoc-8.2.6.ebuild:
alpha/ia64 stable wrt #224743
06 Nov 2008; Jeroen Roovers <jer@gentoo.org> asciidoc-8.2.6.ebuild:
Stable for HPPA (bug #224743).
02 Nov 2008; Ferris McCormick <fmccor@gentoo.org> asciidoc-8.2.6.ebuild:
Sparc stable, Bug #224743.
02 Nov 2008; Markus Meier <maekke@gentoo.org> asciidoc-8.2.6.ebuild:
amd64/x86 stable, bug #224743
*asciidoc-8.2.7 (18 Oct 2008)
18 Oct 2008; Peter Volkov <pva@gentoo.org> +asciidoc-8.2.7.ebuild:
Version bump, thank Alex Efros for report, bug #240355, also should fix
bug #193966.
*asciidoc-8.2.6 (16 Jun 2008)
16 Jun 2008; Leonardo Boshell <leonardop@gentoo.org>
-asciidoc-7.1.2.ebuild, +asciidoc-8.2.6.ebuild:
Version bump. Added 'vim-syntax' flag (thanks to Vaclav Slavik for the
patch on bug #190702).
25 Jan 2008; Fabian Groffen <grobian@gentoo.org> asciidoc-7.0.4.ebuild,
asciidoc-7.1.2.ebuild, asciidoc-8.1.0.ebuild:
Dropped ppc-macos keyword, see you in prefix
16 May 2007; Greg Kroah-Hartman <gregkh@gentoo.org> asciidoc-8.1.0.ebuild:
add ~arm, ~s390, ~sh, and ~x86-fbsd so that dev-util/tig can rely on this
package.
12 Mar 2007; Leonardo Boshell <leonardop@gentoo.org> metadata.xml:
Replacing text-markup herd with the new sgml herd.
12 Jan 2007; Robin H. Johnson <robbat2@gentoo.org> asciidoc-7.1.2.ebuild,
asciidoc-8.1.0.ebuild:
a2x calls xsltproc at runtime, so fix deps.
*asciidoc-8.1.0 (02 Nov 2006)
02 Nov 2006; Leonardo Boshell <leonardop@gentoo.org>
-asciidoc-7.0.1.ebuild, -asciidoc-7.0.1-r1.ebuild, +asciidoc-8.1.0.ebuild:
Version bump (bug #146419). Install the HTML documentation sources. Added
'examples' USE flag. Use the upstream installation script instead of
copying most of the files manually.
12 Jul 2006; Aron Griffis <agriffis@gentoo.org> asciidoc-7.0.4.ebuild:
Mark 7.0.4 stable on ia64
05 May 2006; Joshua Jackson <tsunam@gentoo.org> asciidoc-7.0.4.ebuild:
Stable on x86; bug #131825
01 May 2006; <tcort@gentoo.org> asciidoc-7.0.4.ebuild:
Stable on alpha and amd64 wrt Bug #131825.
01 May 2006; Michael Hanselmann <hansmi@gentoo.org> asciidoc-7.0.4.ebuild:
Stable on mips.
01 May 2006; Markus Rothe <corsair@gentoo.org> asciidoc-7.0.4.ebuild:
Stable on ppc64
01 May 2006; Jason Wever <weeve@gentoo.org> asciidoc-7.0.4.ebuild:
Stable on SPARC wrt bug #131825.
30 Apr 2006; Rene Nussbaumer <killerfox@gentoo.org> asciidoc-7.0.4.ebuild:
Stable on hppa, ppc.
*asciidoc-7.1.2 (23 Apr 2006)
23 Apr 2006; Alexandre Buisse <nattfodd@gentoo.org>
-asciidoc-7.0.2.ebuild, +asciidoc-7.1.2.ebuild:
Bump to 7.1.2 (asked in bug #130692).
07 Feb 2006; Aron Griffis <agriffis@gentoo.org> asciidoc-7.0.1-r1.ebuild:
Mark 7.0.1-r1 stable on alpha
06 Feb 2006; Aron Griffis <agriffis@gentoo.org> asciidoc-7.0.1-r1.ebuild:
Mark 7.0.1-r1 stable on ia64
22 Jan 2006; Rene Nussbaumer <killerfox@gentoo.org> asciidoc-7.0.4.ebuild:
Unstable on hppa.
12 Jan 2006; Gustavo Zacarias <gustavoz@gentoo.org>
asciidoc-7.0.1-r1.ebuild:
Stable on sparc
*asciidoc-7.0.4 (05 Jan 2006)
05 Jan 2006; Alexandre Buisse <nattfodd@gentoo.org>
+asciidoc-7.0.4.ebuild:
Bump to 7.0.4 (bug #114190).
30 Nov 2005; Tom Gall <tgall@gentoo.org> asciidoc-7.0.1-r1.ebuild:
stable on ppc64
*asciidoc-7.0.2 (18 Nov 2005)
18 Nov 2005; Leonardo Boshell <leonardop@gentoo.org>
+asciidoc-7.0.2.ebuild:
New release (bug #108897).
01 Oct 2005; Fabian Groffen <grobian@gentoo.org> asciidoc-7.0.1-r1.ebuild:
Marking ~ppc-macos (bug #107530)
Fixing a dead symlinks issue which is fatal on OSX.
28 Sep 2005; Ilya A. Volynets-Evenbakh <ilya@total-knowledge.com>
asciidoc-7.0.1-r1.ebuild:
mark ~mips
18 Sep 2005; Markus Rothe <corsair@gentoo.org> asciidoc-7.0.1-r1.ebuild:
Added ~ppc64 (bug #106318)
23 Aug 2005; Aron Griffis <agriffis@gentoo.org> asciidoc-7.0.1.ebuild:
stable on ia64
13 Aug 2005; Michael Hanselmann <hansmi@gentoo.org> asciidoc-7.0.1.ebuild:
Stable on ppc.
13 Aug 2005; Luis Medinas <metalgod@gentoo.org> asciidoc-7.0.1.ebuild:
Stable on AMD64.
13 Aug 2005; Carlos Silva <r3pek@gentoo.org> asciidoc-7.0.1-r1.ebuild:
Marked ~sparc. closes bug #102096
*asciidoc-7.0.1-r1 (11 Aug 2005)
11 Aug 2005; Leonardo Boshell <leonardop@gentoo.org>
asciidoc-7.0.1-r1.ebuild:
Fixed installation of filters (bug #102124).
03 Aug 2005; Fernando J. Pereda <ferdy@gentoo.org> asciidoc-7.0.1.ebuild:
stable on alpha
01 Aug 2005; Leonardo Boshell <leonardop@gentoo.org> asciidoc-7.0.1.ebuild:
Stable on x86.
13 Jul 2005; Joseph Jezak <josejx@gentoo.org> asciidoc-6.0.3-r1.ebuild:
Marked ppc stable for bug #98896.
13 Jul 2005; Aron Griffis <agriffis@gentoo.org> asciidoc-6.0.3-r1.ebuild:
stable on alpha amd64 ia64
*asciidoc-7.0.1 (01 Jul 2005)
01 Jul 2005; Leonardo Boshell <leonardop@gentoo.org> asciidoc-7.0.1.ebuild:
New release, resolves bug #96102. Patch no longer necessary. Modified
src_install() to follow upstream packager notes more closely.
01 Jul 2005; Leonardo Boshell <leonardop@gentoo.org>
asciidoc-6.0.3-r1.ebuild:
Stable on x86.
24 Jun 2005; Aron Griffis <agriffis@gentoo.org> asciidoc-6.0.3-r1.ebuild:
marked ~ia64 as a mercurial dep
13 Jun 2005; Fernando J. Pereda <ferdy@gentoo.org> asciidoc-6.0.3.ebuild,
asciidoc-6.0.3-r1.ebuild:
marked ~alpha as a cogito dependency
*asciidoc-6.0.3-r1 (05 Jun 2005)
05 Jun 2005; Lars Weiler <pylon@gentoo.org> +files/asciidoc-name.patch,
+asciidoc-6.0.3-r1.ebuild:
Applied patch; bug #95127.
04 Jun 2005; Lars Weiler <pylon@gentoo.org> asciidoc-6.0.3.ebuild:
Added ~ppc.
*asciidoc-6.0.3 (29 May 2005)
29 May 2005; Mamoru KOMACHI <usata@gentoo.org> +metadata.xml,
+asciidoc-6.0.3.ebuild:
Initial import. Thanks to Brandon Philips <brandon@ifup.org>; bug #91096.

View File

@ -1,8 +1,4 @@
DIST asciidoc-8.6.9.tar.gz 907253 SHA256 78db9d0567c8ab6570a6eff7ffdf84eadd91f2dfc0a92a2d0105d323cab4e1f0 SHA512 1984482010dbd35c3a1def67f4915ce83ecfc29a7463f84aa312107d7a9ff647978f57615462c65e885bea424eed89a212df728cc3acd3c63df1c763dfa5e955 WHIRLPOOL dbd576ed3b7bcaf46afd33d9aae7a94f82fb171fa73f0b99f737b6934f62927ea11e1290aeac141ce5de27f66a56d7ed2d110f2b0d84e0598e858eac0e52b35d
EBUILD asciidoc-8.6.9-r1.ebuild 2299 SHA256 0cf6f353471b8046da35aed702795d877166d07ad70f4399a6861e1084e05608 SHA512 697eb2c1121dee2b82ec988117040dc571735ba88f735ae24f85aaa97531e8d4859a5dbafe99b645b221c96894acabebfc34223bf7c5fbfeb04330bc5efd3846 WHIRLPOOL 4b8bfb858f136fef7e1d920a0a1e299ab0c5bc0deb74f2957b47074a5f6a9fff7cfee2179c8683db72ac0b98739d78a75d3ae93ac22818ea89cbc83547727577
EBUILD asciidoc-8.6.9-r2.ebuild 2217 SHA256 de12cbcdb944102301376340b4937f37cfd3a2132416c8a10f50aa23bac15103 SHA512 ca5e3e09409b9e84ae2ecef04a989568ab733ce9d9c26adeb4757ed71bd316c1190c06133e20b88a700a873b9ad76dba9dba6ee8d04bc2190394a94b69790bdf WHIRLPOOL be28245bf507c6aa501d2fd392f29e23fa46fb9bf84f52fbbcd6e3647103cbf75ab1c425d60209c96c3e03f9dde31025b36883907013cba6628a23530415679d
EBUILD asciidoc-8.6.9-r3.ebuild 2269 SHA256 48a6b018ed1ab595f3d7010e02acbe2e992b660682aafcc3b7e0e4b6e33c03bd SHA512 b562dc076c10d5d67340bf79b3fe107baf6cf0af2ce77bea9ff647fb0c5ddf4bcf3e01d4326864e57c6374b01c35070e23ced6f8a5ac3a01caefb89375233225 WHIRLPOOL 025d43c7bf48a536b6c03e9b376ddeff6055c9d75c18f28e96cb88e29a55d3b25a31477755373b444d5cd2061f70efff7f0ca688aca8ed809ef4f1d705b14349
EBUILD asciidoc-9999.ebuild 2604 SHA256 796f4ce19efac53bef459806d0f27b9bdd6962e838a543ca78c1aba6e220ad0c SHA512 334df580d9f8d43d930663b1e47949e2a8dbb23d07343abc705252abb0affd0e6d85f6a876a6a26d066873febb6574552578ab9bbe6eddd07dcb619aa8878af3 WHIRLPOOL b85f19cb4fefd02a0def72c64848744f2d693eb3ea35e59a2a441e4c2f5444ad291831ef48dfdada4943b2986797c083f56126e27b2250804bb3e7118b18f175
MISC ChangeLog 7613 SHA256 f2e5480ce1086322c8d0c94eeda6b8059e306cb34dc0071ebc4c7e95d85ce57f SHA512 b7c8419e504fe96956140696b8043ef08140b8721c63e7f304ba7946284db2cee99fddfb38314510bec905fa1a3f3c34896c5ed98e7e6e529228fba141205064 WHIRLPOOL 0da82702938f375f877e9a504d891ad812453f3c5965a7f4a9f4bfecbb8e4cc5a769a704eed858c95306a40442a4fa18fee281e8cb071b30ecd184002dca9772
MISC ChangeLog-2015 15568 SHA256 d7ba2f8295a1a51593f0394adbb65476298ea2aef511db8c101748a3ad0d59d2 SHA512 3fd8c898a19c9821c2a5cd949e62b5f0076b2d28864785d7f276b0f5eed477bd1980b4cff1731067d150086612d9b1a3844f6ab879873516ef2f7c0c2c43b2d4 WHIRLPOOL ceda16169a2d0f36b1b4ea3a91cded15ee8dcade4148502030e4511bd4fa9e8104ff4c2e0258fc0955e29bb0524b02819d6cd2e743e74b73acb7581777c442b0
MISC metadata.xml 583 SHA256 745ad8106536c9e69d0697772abfd3a4366b01fa922e292c3b16831311e93e3c SHA512 cf654b12cae851d762b538926912ed626a5681033f9c579ca9e62d442345c8efe5a5373784c702994c2b97a0acf7f251d257da29dc3960a2dc8c1b84327f11af WHIRLPOOL 3c9119d5f49082d19e4d0fe1903fdf41d062ca9d5ab7c3befd1e19ac9e7e94ed6683b378bc7fa04b32b7060b6b64159502d15b92202f37344302971978cce58b
DIST asciidoc-9.0.2.new.tar.gz 1269444 BLAKE2B 0041073c572267628b8bbfd56258d86c35edb0e7f3a222743ce1476b405483b01144faf768ab1492fd3f378960f6cc8e17d92ef61671d84c318fbe7c1ca8cd7c SHA512 c20629001704f1c3acfef0407b82f35f6077f5b32ef754fcbeee03a5a86d4e01e374e89b79cbdb236fc2c7fc76bf47ba81efd691f2f9e1c87dc85a7111f5e030
DIST asciidoc-9.0.4.new.tar.gz 1233878 BLAKE2B 506a2c82d95ce0d522f45b20eee31f7ce2b114e0ad43c78bb313f34b210a7bdd282a8a3779a3ea29025e865847eb8298bd5a6ddac7ee338e4b878ae79bdf149e SHA512 59be96514d0c4c82e5842ddea412ddd6e06647ebe09e0f1828b7c07e787d890896bab4271e7566ed038eb2da6755a67c725bee07bcfbd7aa31475f39c3abc089
DIST asciidoc-9.0.5.new.tar.gz 1225334 BLAKE2B c3e428098dc4d71704ed13b54fd5f640b9de81d12939facb5faaf38a3123794e57201ecd9c312a22c220a2ec6b06c88a76ab47f05ffa972fc8751089b3471cfc SHA512 9125631fdee464f96f7e3c76a60fe37331905e9e55a81db27aece4065b246dc05a35db4c157dc7dbb2345eb95c153b474251d6a447d65774bf1b3f57e1883895
DIST asciidoc-9.1.0.new.tar.gz 1249958 BLAKE2B 0a98f58f7604f84d704092313c38563634bad5d697d60d02760f3be1d2a78a97ee2488dda3a9918b02e0062710175c6513d600f3fbd850fe700bf3fa917a3980 SHA512 c30854a936228fe5bcf2f9305741fbc4b17ef088b2fa637d5f3b19c7803306085634fb71146f0b089c2fad01f986da71a4fae364139f520c0906525317c0c4a6

View File

@ -1,80 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python2_7 pypy )
inherit python-single-r1
DESCRIPTION="AsciiDoc is a plain text human readable/writable document format"
HOMEPAGE="http://asciidoc.org/"
SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${PV}/${P}.tar.gz"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
LICENSE="GPL-2"
SLOT="0"
IUSE="examples graphviz highlight test vim-syntax"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND=">=app-text/docbook-xsl-stylesheets-1.75
dev-libs/libxslt
graphviz? ( media-gfx/graphviz )
app-text/docbook-xml-dtd:4.5
highlight? ( || ( dev-python/pygments[${PYTHON_USEDEP}] dev-util/source-highlight ) )
${PYTHON_DEPS}
"
DEPEND="test? ( dev-util/source-highlight
media-sound/lilypond
media-gfx/imagemagick
dev-texlive/texlive-latex
app-text/dvipng
media-gfx/graphviz
${PYTHON_DEPS} )
"
src_prepare() {
if ! use vim-syntax; then
sed -i -e '/^install/s/install-vim//' Makefile.in || die
else
sed -i\
-e "/^vimdir/s:@sysconfdir@/vim:${EPREFIX}/usr/share/vim/vimfiles:" \
-e 's:/etc/vim::' \
Makefile.in || die
fi
# Only needed for prefix - harmless (does nothing) otherwise
sed -i -e "s:^CONF_DIR=.*:CONF_DIR='${EPREFIX}/etc/asciidoc':" \
"${S}/asciidoc.py" || die
}
src_configure() {
econf --sysconfdir="${EPREFIX}"/usr/share
}
src_install() {
use vim-syntax && dodir /usr/share/vim/vimfiles
emake DESTDIR="${D}" install
python_fix_shebang "${ED}"/usr/bin/*.py
dodoc BUGS CHANGELOG README docbook-xsl/asciidoc-docbook-xsl.txt \
dblatex/dblatex-readme.txt filters/code/code-filter-readme.txt
# Below results in some files being installed twice in different locations, but they are in the right place,
# uncompressed, and there won't be any broken links. See bug #483336.
if use examples; then
cp -rL examples/website "${D}"/usr/share/doc/${PF}/examples || die
fi
docompress -x /usr/share/doc/${PF}/examples
}
src_test() {
cd tests || die
local -x ASCIIDOC_PY=../asciidoc.py
"${PYTHON}" test${PN}.py update || die
"${PYTHON}" test${PN}.py run || die
}

View File

@ -1,78 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python2_7 pypy )
inherit readme.gentoo python-single-r1
DESCRIPTION="AsciiDoc is a plain text human readable/writable document format"
HOMEPAGE="http://asciidoc.org/"
SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${PV}/${P}.tar.gz"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
LICENSE="GPL-2"
SLOT="0"
IUSE="examples graphviz highlight test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND=">=app-text/docbook-xsl-stylesheets-1.75
dev-libs/libxslt
graphviz? ( media-gfx/graphviz )
app-text/docbook-xml-dtd:4.5
highlight? ( || ( dev-util/source-highlight \
dev-python/pygments[${PYTHON_USEDEP}] \
app-text/highlight )
)
${PYTHON_DEPS}
"
DEPEND="test? ( dev-util/source-highlight
media-sound/lilypond
media-gfx/imagemagick
dev-texlive/texlive-latex
app-text/dvipng
media-gfx/graphviz
${PYTHON_DEPS} )
"
DOC_CONTENTS="
If you are going to use a2x, please also look at a2x(1) under
REQUISITES for a list of runtime dependencies.
"
src_prepare() {
# Only needed for prefix - harmless (does nothing) otherwise
sed -i -e "s:^CONF_DIR=.*:CONF_DIR='${EPREFIX}/etc/asciidoc':" \
"${S}/asciidoc.py" || die
}
src_configure() {
econf --sysconfdir="${EPREFIX}"/usr/share
}
src_install() {
emake DESTDIR="${D}" install
python_fix_shebang "${ED}"/usr/bin/*.py
readme.gentoo_create_doc
dodoc BUGS CHANGELOG README docbook-xsl/asciidoc-docbook-xsl.txt \
dblatex/dblatex-readme.txt filters/code/code-filter-readme.txt
# Below results in some files being installed twice in different locations, but they are in the right place,
# uncompressed, and there won't be any broken links. See bug #483336.
if use examples; then
cp -rL examples/website "${D}"/usr/share/doc/${PF}/examples || die
docompress -x /usr/share/doc/${PF}/examples
fi
}
src_test() {
cd tests || die
local -x ASCIIDOC_PY=../asciidoc.py
"${PYTHON}" test${PN}.py update || die
"${PYTHON}" test${PN}.py run || die
}

View File

@ -1,81 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python2_7 pypy )
inherit readme.gentoo-r1 python-single-r1
DESCRIPTION="AsciiDoc is a plain text human readable/writable document format"
HOMEPAGE="http://asciidoc.org/"
SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${PV}/${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
LICENSE="GPL-2"
SLOT="0"
IUSE="examples graphviz highlight test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND=">=app-text/docbook-xsl-stylesheets-1.75
dev-libs/libxslt
graphviz? ( media-gfx/graphviz )
app-text/docbook-xml-dtd:4.5
highlight? ( || ( dev-util/source-highlight \
dev-python/pygments[${PYTHON_USEDEP}] \
app-text/highlight )
)
${PYTHON_DEPS}
"
DEPEND="test? ( dev-util/source-highlight
media-sound/lilypond
media-gfx/imagemagick
dev-texlive/texlive-latex
app-text/dvipng
media-gfx/graphviz
${PYTHON_DEPS} )
"
DOC_CONTENTS="
If you are going to use a2x, please also look at a2x(1) under
REQUISITES for a list of runtime dependencies.
"
src_prepare() {
# Only needed for prefix - harmless (does nothing) otherwise
sed -i -e "s:^CONF_DIR=.*:CONF_DIR='${EPREFIX}/etc/asciidoc':" \
"${S}/asciidoc.py" || die
}
src_configure() {
econf --sysconfdir="${EPREFIX}"/usr/share
}
src_install() {
emake DESTDIR="${D}" install
python_fix_shebang "${ED}"/usr/bin/*.py
readme.gentoo_create_doc
dodoc BUGS CHANGELOG README docbook-xsl/asciidoc-docbook-xsl.txt \
dblatex/dblatex-readme.txt filters/code/code-filter-readme.txt
# Below results in some files being installed twice in different locations, but they are in the right place,
# uncompressed, and there won't be any broken links. See bug #483336.
if use examples; then
cp -rL examples/website "${D}"/usr/share/doc/${PF}/examples || die
docompress -x /usr/share/doc/${PF}/examples
fi
}
src_test() {
cd tests || die
local -x ASCIIDOC_PY=../asciidoc.py
"${PYTHON}" test${PN}.py update || die
"${PYTHON}" test${PN}.py run || die
}
pkg_postinst() {
readme.gentoo_print_elog
}

View File

@ -0,0 +1,84 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7,8,9} pypy3 )
inherit autotools optfeature python-single-r1 readme.gentoo-r1
DESCRIPTION="A plain text human readable/writable document format"
HOMEPAGE="https://asciidoc.org/ https://github.com/asciidoc-py/asciidoc-py/"
SRC_URI="https://github.com/asciidoc-py/asciidoc-py/releases/download/${PV}/${P}.tar.gz -> ${P}.new.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="doc test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="!test? ( test )"
RDEPEND="${PYTHON_DEPS}
app-text/docbook-xml-dtd:4.5
>=app-text/docbook-xsl-stylesheets-1.75
dev-libs/libxslt
dev-libs/libxml2:2
"
DEPEND="
test? (
${PYTHON_DEPS}
app-text/dvipng
app-text/dvisvgm
dev-texlive/texlive-latex
dev-util/source-highlight
media-gfx/graphviz
media-gfx/imagemagick
media-sound/lilypond
)"
DOC_CONTENTS="
If you are going to use a2x, please also look at a2x(1) under
REQUISITES for a list of runtime dependencies.
"
DOCS=( BUGS.txt CHANGELOG.txt README.asciidoc
docbook-xsl/asciidoc-docbook-xsl.txt dblatex/dblatex-readme.txt
filters/code/code-filter-readme.txt )
src_prepare() {
default
# Only needed for prefix - harmless (does nothing) otherwise
sed -i -e "s:^CONF_DIR=.*:CONF_DIR='${EPREFIX}/etc/asciidoc':" \
asciidoc.py || die
# enforce usage of the configured version of Python
sed -i -e "s:python3:${EPYTHON}:" Makefile.in || die
eautoreconf
}
src_configure() {
econf --sysconfdir="${EPREFIX}"/usr/share
}
src_install() {
default
if use doc; then
emake DESTDIR="${D}" docs
fi
python_fix_shebang "${ED}"/usr/bin/*.py
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
optfeature "\"music\" filter support" "media-sound/lilypond media-gfx/imagemagick"
optfeature "\"source\" filter support" dev-util/source-highlight dev-python/pygments app-text/highlight
optfeature "\"latex\" filter support" "dev-texlive/texlive-latex app-text/dvipng" "dev-texlive/texlive-latex app-text/dvisvgm"
optfeature "\"graphviz\" filter support" media-gfx/graphviz
}

View File

@ -0,0 +1,84 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7,8,9} pypy3 )
inherit autotools optfeature python-single-r1 readme.gentoo-r1
DESCRIPTION="A plain text human readable/writable document format"
HOMEPAGE="https://asciidoc.org/ https://github.com/asciidoc-py/asciidoc-py/"
SRC_URI="https://github.com/asciidoc-py/asciidoc-py/releases/download/${PV}/${P}.tar.gz -> ${P}.new.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="doc test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="!test? ( test )"
RDEPEND="${PYTHON_DEPS}
app-text/docbook-xml-dtd:4.5
>=app-text/docbook-xsl-stylesheets-1.75
dev-libs/libxslt
dev-libs/libxml2:2
"
DEPEND="
test? (
${PYTHON_DEPS}
app-text/dvipng
app-text/dvisvgm
dev-texlive/texlive-latex
dev-util/source-highlight
media-gfx/graphviz
media-gfx/imagemagick
media-sound/lilypond
)"
DOC_CONTENTS="
If you are going to use a2x, please also look at a2x(1) under
REQUISITES for a list of runtime dependencies.
"
DOCS=( BUGS.txt CHANGELOG.txt README.asciidoc
docbook-xsl/asciidoc-docbook-xsl.txt dblatex/dblatex-readme.txt
filters/code/code-filter-readme.txt )
src_prepare() {
default
# Only needed for prefix - harmless (does nothing) otherwise
sed -i -e "s:^CONF_DIR=.*:CONF_DIR='${EPREFIX}/etc/asciidoc':" \
asciidoc.py || die
# enforce usage of the configured version of Python
sed -i -e "s:python3:${EPYTHON}:" Makefile.in || die
eautoreconf
}
src_configure() {
econf --sysconfdir="${EPREFIX}"/usr/share
}
src_install() {
default
if use doc; then
emake DESTDIR="${D}" docs
fi
python_fix_shebang "${ED}"/usr/bin/*.py
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
optfeature "\"music\" filter support" "media-sound/lilypond media-gfx/imagemagick"
optfeature "\"source\" filter support" dev-util/source-highlight dev-python/pygments app-text/highlight
optfeature "\"latex\" filter support" "dev-texlive/texlive-latex app-text/dvipng" "dev-texlive/texlive-latex app-text/dvisvgm"
optfeature "\"graphviz\" filter support" media-gfx/graphviz
}

View File

@ -0,0 +1,84 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7,8,9} pypy3 )
inherit autotools optfeature python-single-r1 readme.gentoo-r1
DESCRIPTION="A plain text human readable/writable document format"
HOMEPAGE="https://asciidoc.org/ https://github.com/asciidoc-py/asciidoc-py/"
SRC_URI="https://github.com/asciidoc-py/asciidoc-py/releases/download/${PV}/${P}.tar.gz -> ${P}.new.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="doc test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="!test? ( test )"
RDEPEND="${PYTHON_DEPS}
app-text/docbook-xml-dtd:4.5
>=app-text/docbook-xsl-stylesheets-1.75
dev-libs/libxslt
dev-libs/libxml2:2
"
DEPEND="
test? (
${PYTHON_DEPS}
app-text/dvipng
app-text/dvisvgm
dev-texlive/texlive-latex
dev-util/source-highlight
media-gfx/graphviz
media-gfx/imagemagick
media-sound/lilypond
)"
DOC_CONTENTS="
If you are going to use a2x, please also look at a2x(1) under
REQUISITES for a list of runtime dependencies.
"
DOCS=( BUGS.txt CHANGELOG.txt README.asciidoc
docbook-xsl/asciidoc-docbook-xsl.txt dblatex/dblatex-readme.txt
filters/code/code-filter-readme.txt )
src_prepare() {
default
# Only needed for prefix - harmless (does nothing) otherwise
sed -i -e "s:^CONF_DIR=.*:CONF_DIR='${EPREFIX}/etc/asciidoc':" \
asciidoc.py || die
# enforce usage of the configured version of Python
sed -i -e "s:python3:${EPYTHON}:" Makefile.in || die
eautoreconf
}
src_configure() {
econf --sysconfdir="${EPREFIX}"/usr/share
}
src_install() {
default
if use doc; then
emake DESTDIR="${D}" docs
fi
python_fix_shebang "${ED}"/usr/bin/*.py
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
optfeature "\"music\" filter support" "media-sound/lilypond media-gfx/imagemagick"
optfeature "\"source\" filter support" dev-util/source-highlight dev-python/pygments app-text/highlight
optfeature "\"latex\" filter support" "dev-texlive/texlive-latex app-text/dvipng" "dev-texlive/texlive-latex app-text/dvisvgm"
optfeature "\"graphviz\" filter support" media-gfx/graphviz
}

View File

@ -0,0 +1,84 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{8..10} pypy3 )
inherit autotools optfeature python-single-r1 readme.gentoo-r1
DESCRIPTION="A plain text human readable/writable document format"
HOMEPAGE="https://asciidoc.org/ https://github.com/asciidoc-py/asciidoc-py/"
SRC_URI="https://github.com/asciidoc-py/asciidoc-py/releases/download/${PV}/${P}.tar.gz -> ${P}.new.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="doc test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="!test? ( test )"
RDEPEND="${PYTHON_DEPS}
app-text/docbook-xml-dtd:4.5
>=app-text/docbook-xsl-stylesheets-1.75
dev-libs/libxslt
dev-libs/libxml2:2
"
DEPEND="
test? (
${PYTHON_DEPS}
app-text/dvipng
app-text/dvisvgm
dev-texlive/texlive-latex
dev-util/source-highlight
media-gfx/graphviz
media-gfx/imagemagick[png]
media-sound/lilypond
)"
DOC_CONTENTS="
If you are going to use a2x, please also look at a2x(1) under
REQUISITES for a list of runtime dependencies.
"
DOCS=( BUGS.txt CHANGELOG.txt README.asciidoc
docbook-xsl/asciidoc-docbook-xsl.txt dblatex/dblatex-readme.txt
filters/code/code-filter-readme.txt )
src_prepare() {
default
# Only needed for prefix - harmless (does nothing) otherwise
sed -i -e "s:^CONF_DIR=.*:CONF_DIR='${EPREFIX}/etc/asciidoc':" \
asciidoc.py || die
# enforce usage of the configured version of Python
sed -i -e "s:python3:${EPYTHON}:" Makefile.in || die
eautoreconf
}
src_configure() {
econf --sysconfdir="${EPREFIX}"/usr/share
}
src_install() {
default
if use doc; then
emake DESTDIR="${D}" docs
fi
python_fix_shebang "${ED}"/usr/bin/*.py
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
optfeature "\"music\" filter support" "media-sound/lilypond media-gfx/imagemagick"
optfeature "\"source\" filter support" dev-util/source-highlight dev-python/pygments app-text/highlight
optfeature "\"latex\" filter support" "dev-texlive/texlive-latex app-text/dvipng" "dev-texlive/texlive-latex app-text/dvisvgm"
optfeature "\"graphviz\" filter support" media-gfx/graphviz
}

View File

@ -1,105 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python2_7 pypy )
[ "$PV" == "9999" ] && inherit mercurial autotools
inherit readme.gentoo python-single-r1
DESCRIPTION="AsciiDoc is a plain text human readable/writable document format"
HOMEPAGE="http://www.methods.co.nz/asciidoc/"
if [ "$PV" == "9999" ]; then
EHG_REPO_URI="https://asciidoc.googlecode.com/hg/"
SRC_URI=""
KEYWORDS=""
else
SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${PV}/${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="examples graphviz highlight test"
REQUIRED_USE="highlight? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND=">=app-text/docbook-xsl-stylesheets-1.75
dev-libs/libxslt
graphviz? ( media-gfx/graphviz )
app-text/docbook-xml-dtd:4.5
highlight? ( || ( dev-util/source-highlight \
dev-python/pygments[${PYTHON_USEDEP}] \
app-text/highlight )
)
${PYTHON_DEPS}
"
DEPEND="test? ( dev-util/source-highlight
media-sound/lilypond
media-gfx/imagemagick
dev-texlive/texlive-latex
app-text/dvipng
media-gfx/graphviz
${PYTHON_DEPS} )
"
DOC_CONTENTS="
If you are going to use a2x, please also look at a2x(1) under
REQUISITES for a list of runtime dependencies.
"
if [ "$PV" == "9999" ]; then
DEPEND="${DEPEND}
dev-util/aap
www-client/lynx
dev-util/source-highlight"
fi
src_prepare() {
# Only needed for prefix - harmless (does nothing) otherwise
sed -i -e "s:^CONF_DIR=.*:CONF_DIR='${EPREFIX}/etc/asciidoc':" \
"${S}/asciidoc.py" || die
[ "$PV" == "9999" ] && eautoconf
}
src_configure() {
econf --sysconfdir="${EPREFIX}"/usr/share
}
src_compile() {
default
if [ "$PV" == "9999" ]; then
cd doc || die
aap -f main.aap ../{CHANGELOG,README,BUGS} || die
fi
}
src_install() {
emake DESTDIR="${D}" install
python_fix_shebang "${ED}"/usr/bin/*.py
if use examples; then
# This is a symlink to a directory
rm examples/website/images || die
dodoc -r examples
docompress -x /usr/share/doc/${PF}/examples
dosym ../../../asciidoc/images /usr/share/doc/${PF}/examples
fi
readme.gentoo_create_doc
dodoc BUGS CHANGELOG README docbook-xsl/asciidoc-docbook-xsl.txt \
dblatex/dblatex-readme.txt filters/code/code-filter-readme.txt
}
src_test() {
cd tests || die
local -x ASCIIDOC_PY=../asciidoc.py
"${PYTHON}" test${PN}.py update || die
"${PYTHON}" test${PN}.py run || die
}

View File

@ -1,19 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<maintainer type="person" proxied="yes">
<email>marcec@gmx.de</email>
<name>Marc Joliet</name>
<description>Proxied maintainer. Assign bugs to him.</description>
</maintainer>
<maintainer type="project">
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<use>
<flag name="highlight">Enable source code highlighting</flag>
</use>
<upstream>
<remote-id type="sourceforge">asciidoc</remote-id>
<remote-id type="github">asciidoc-py/asciidoc-py</remote-id>
<bugs-to>https://github.com/asciidoc-py/asciidoc-py/issues</bugs-to>
</upstream>
</pkgmetadata>

View File

@ -0,0 +1 @@
- [CVE-2021-30560](https://nvd.nist.gov/vuln/detail/CVE-2021-30560)

View File

@ -0,0 +1,11 @@
- SDK: Python ([3.9.8](https://www.python.org/downloads/release/python-398/))
- findutils ([4.8.0](https://savannah.gnu.org/forum/forum.php?forum_id=9914))
- i2c-tools ([4.2](https://git.kernel.org/pub/scm/utils/i2c-tools/i2c-tools.git/log/?h=v4.2))
- kmod ([29](https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git/commit/?id=b6ecfc916a17eab8f93be5b09f4e4f845aabd3d1))
- usbutils ([014](https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usbutils.git/commit/?id=57fb18e59cce31a50a1ca62d1e192512c905ba00))
- libcap-ng ([0.8.2](https://github.com/stevegrubb/libcap-ng/releases/tag/v0.8.2))
- boost ([1.76.0](https://www.boost.org/users/history/version_1_76_0.html))
- glib ([2.68.4](https://gitlab.gnome.org/GNOME/glib/-/releases/2.68.4))
- coreutils ([8.32](https://lists.gnu.org/archive/html/coreutils-announce/2020-03/msg00000.html))
- file ([5.40](https://mailman.astron.com/pipermail/file/2021-March/000478.html))
- libseccomp ([2.5.1](https://github.com/seccomp/libseccomp/releases/tag/v2.5.1))

View File

@ -1,2 +1,2 @@
DIST gtest-1.7.0.tar.gz 1001582 BLAKE2B 3d10c1e502c2fac1500d07301031a9328b29027a3f9719137e09d2c47556cf52bbc978a8fb7b37330a94beafa27d24c3bfc247b2f0d51306b53f43e7ae2373b4 SHA512 a9f5c047b39efb2d11b55ee9913662ca402ac6837b3ad2d278ecfbd1caf32ed4546f169e3e92503d57bf3b62ccf89cd062da1c7ea3638aae98e868d2766363c3
DIST gtest-1.8.0.tar.gz 1281617 BLAKE2B ac052b4d0eb0d8ded03a8c7dff05177818627b8a51f2dbc2c162b2ee2a5d1323539e7d0d02236d9ebb799995e018f0171c2fdaeb4de3bb339548265e50de79e6 SHA512 1dbece324473e53a83a60601b02c92c089f5d314761351974e097b2cf4d24af4296f9eb8653b6b03b1e363d9c5f793897acae1f0c7ac40149216035c4d395d9d
DIST gtest-1.10.0_p20200702.tar.gz 866900 BLAKE2B c162d47868583ba270675abe5df935b8f4b9a9c00dbdc80dd88afa7f2b98266640b32b2ea5e8f9f6d6227196b5d2f79dbfda4e9585106224e814cc1503cf777d SHA512 715d887b59b47d4691c7c90ef0cf0ffc3d1e758e500263c76b50fd506e90a9d1c390af745933cfe3f55e1edac5d72dccedef3cb9a50b71a5b796424471a3017b
DIST gtest-1.11.0.tar.gz 886330 BLAKE2B d11fdd485f292d96508cbc27a9a444ab69b86571cc594298fd3f0e6d4bd8d6ec20dea848fe11be165d34054b2251ad377f0930f852914feaa1416ff156986a9c SHA512 6fcc7827e4c4d95e3ae643dd65e6c4fc0e3d04e1778b84f6e06e390410fe3d18026c131d828d949d2f20dde6327d30ecee24dcd3ef919e21c91e010d149f3a28

View File

@ -1,93 +0,0 @@
From fb71154012e634a5e780e93af5434bcdafaf2b24 Mon Sep 17 00:00:00 2001
From: Justin Bronder <jsbronder@gmail.com>
Date: Mon, 15 Oct 2012 17:25:07 -0400
Subject: [PATCH] configure: fix pthread linking
- Update the pthread check to make sure that we don't need -lpthread when
compiling with -nostdlib.
- Make sure that the necessary pthread library is passed to libtool.
Fixes:
$ ldd -r /usr/lib/libgtest.so
linux-vdso.so.1 (0x00007fffe7dff000)
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/libstdc++.so.6 (0x00007fbe09a9f000)
libc.so.6 => /lib64/libc.so.6 (0x00007fbe096f7000)
libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/libgcc_s.so.1 (0x00007fbe094e1000)
libm.so.6 => /lib64/libm.so.6 (0x00007fbe091ee000)
/lib64/ld-linux-x86-64.so.2 (0x00007fbe0a005000)
undefined symbol: pthread_key_create (/usr/lib/libgtest.so)
undefined symbol: pthread_getspecific (/usr/lib/libgtest.so)
undefined symbol: pthread_key_delete (/usr/lib/libgtest.so)
undefined symbol: pthread_setspecific (/usr/lib/libgtest.so)
---
Makefile.am | 1 +
m4/acx_pthread.m4 | 39 ++++++++++++++++++++++++++++++++++++++-
2 files changed, 39 insertions(+), 1 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index cb350b7..db2606e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -181,6 +181,7 @@ endif
lib_LTLIBRARIES = lib/libgtest.la lib/libgtest_main.la
lib_libgtest_la_SOURCES = src/gtest-all.cc
+lib_libgtest_la_LIBADD = $(AM_LIBS)
pkginclude_HEADERS = \
include/gtest/gtest-death-test.h \
diff --git a/m4/acx_pthread.m4 b/m4/acx_pthread.m4
index 2cf20de..7fba4d9 100644
--- a/m4/acx_pthread.m4
+++ b/m4/acx_pthread.m4
@@ -339,7 +339,44 @@ if test "x$acx_pthread_ok" = xyes; then
# so it's not safe to assume that we may use pthreads
acx_pthread_ok=no
fi
-
+
+ AC_MSG_CHECKING([whether what we have so far is sufficient with -nostdlib])
+ CFLAGS="-nostdlib $CFLAGS"
+ # we need c with nostdlib
+ LIBS="$LIBS -lc"
+ AC_TRY_LINK([#include <pthread.h>],
+ [pthread_t th; pthread_join(th, 0);
+ pthread_attr_init(0); pthread_cleanup_push(0, 0);
+ pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
+ [done=yes],[done=no])
+
+ if test "x$done" = xyes; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+
+ if test x"$done" = xno; then
+ AC_MSG_CHECKING([whether -lpthread saves the day])
+ LIBS="-lpthread $LIBS"
+ AC_TRY_LINK([#include <pthread.h>],
+ [pthread_t th; pthread_join(th, 0);
+ pthread_attr_init(0); pthread_cleanup_push(0, 0);
+ pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
+ [done=yes],[done=no])
+
+ if test "x$done" = xyes; then
+ AC_MSG_RESULT([yes])
+ PTHREAD_LIBS="$PTHREAD_LIBS -lpthread"
+ else
+ AC_MSG_RESULT([no])
+ AC_MSG_WARN([Impossible to determine how to use pthreads with shared libraries and -nostdlib])
+ fi
+ fi
+
+ CFLAGS="$save_CFLAGS"
+ LIBS="$save_LIBS"
+ CC="$save_CC"
CFLAGS="$save_CFLAGS"
LIBS="$save_LIBS"
CC="$save_CC"
--
1.7.8.6

View File

@ -1,5 +1,4 @@
Bug: https://bugs.gentoo.org/629620
Upstream PR: https://github.com/google/googletest/pull/1274
Bug: https://bugs.gentoo.org/692464
--- a/googletest/src/gtest-death-test.cc
+++ b/googletest/src/gtest-death-test.cc
@ -7,8 +6,8 @@ Upstream PR: https://github.com/google/googletest/pull/1274
if (!use_fork) {
static const bool stack_grows_down = StackGrowsDown();
- const size_t stack_size = getpagesize();
+ const size_t stack_size = getpagesize() * 10;
- const auto stack_size = static_cast<size_t>(getpagesize() * 2);
+ const auto stack_size = static_cast<size_t>(getpagesize() * 10);
// MMAP_ANONYMOUS is not defined on Mac, so we use MAP_ANON instead.
void* const stack = mmap(NULL, stack_size, PROT_READ | PROT_WRITE,
MAP_ANON | MAP_PRIVATE, -1, 0);

View File

@ -1,98 +0,0 @@
Bug: https://bugs.gentoo.org/631698
Upstream PR: https://github.com/google/googletest/pull/1339
From 0663ce9024c9b78ddf6eb3fc1ceb45361ed91767 Mon Sep 17 00:00:00 2001
From: Romain Geissler <romain.geissler@gmail.com>
Date: Sat, 2 Dec 2017 22:47:20 +0100
Subject: [PATCH] Fix double free when building Gtest/GMock in shared libraries
and linking a test executable with both.
---
googlemock/CMakeLists.txt | 63 ++++++++++++++++++++++++++++++-----------------
1 file changed, 40 insertions(+), 23 deletions(-)
diff --git a/googlemock/CMakeLists.txt b/googlemock/CMakeLists.txt
index 724fdd5f0..f7bad8afc 100644
--- a/googlemock/CMakeLists.txt
+++ b/googlemock/CMakeLists.txt
@@ -86,16 +86,23 @@ endif()
# Google Mock libraries. We build them using more strict warnings than what
# are used for other targets, to ensure that Google Mock can be compiled by
# a user aggressive about warnings.
-cxx_library(gmock
- "${cxx_strict}"
- "${gtest_dir}/src/gtest-all.cc"
- src/gmock-all.cc)
-
-cxx_library(gmock_main
- "${cxx_strict}"
- "${gtest_dir}/src/gtest-all.cc"
- src/gmock-all.cc
- src/gmock_main.cc)
+if (MSVC)
+ cxx_library(gmock
+ "${cxx_strict}"
+ "${gtest_dir}/src/gtest-all.cc"
+ src/gmock-all.cc)
+
+ cxx_library(gmock_main
+ "${cxx_strict}"
+ "${gtest_dir}/src/gtest-all.cc"
+ src/gmock-all.cc
+ src/gmock_main.cc)
+else()
+ cxx_library(gmock "${cxx_strict}" src/gmock-all.cc)
+ target_link_libraries(gmock gtest)
+ cxx_library(gmock_main "${cxx_strict}" src/gmock_main.cc)
+ target_link_libraries(gmock_main gmock)
+endif()
# If the CMake version supports it, attach header directory information
# to the targets for when we are part of a parent build (ie being pulled
@@ -175,23 +182,33 @@ if (gmock_build_tests)
############################################################
# C++ tests built with non-standard compiler flags.
- cxx_library(gmock_main_no_exception "${cxx_no_exception}"
- "${gtest_dir}/src/gtest-all.cc" src/gmock-all.cc src/gmock_main.cc)
-
- cxx_library(gmock_main_no_rtti "${cxx_no_rtti}"
- "${gtest_dir}/src/gtest-all.cc" src/gmock-all.cc src/gmock_main.cc)
+ if (MSVC)
+ cxx_library(gmock_main_no_exception "${cxx_no_exception}"
+ "${gtest_dir}/src/gtest-all.cc" src/gmock-all.cc src/gmock_main.cc)
- if (NOT MSVC OR MSVC_VERSION LESS 1600) # 1600 is Visual Studio 2010.
- # Visual Studio 2010, 2012, and 2013 define symbols in std::tr1 that
- # conflict with our own definitions. Therefore using our own tuple does not
- # work on those compilers.
- cxx_library(gmock_main_use_own_tuple "${cxx_use_own_tuple}"
+ cxx_library(gmock_main_no_rtti "${cxx_no_rtti}"
"${gtest_dir}/src/gtest-all.cc" src/gmock-all.cc src/gmock_main.cc)
- cxx_test_with_flags(gmock_use_own_tuple_test "${cxx_use_own_tuple}"
- gmock_main_use_own_tuple test/gmock-spec-builders_test.cc)
+ if (MSVC_VERSION LESS 1600) # 1600 is Visual Studio 2010.
+ # Visual Studio 2010, 2012, and 2013 define symbols in std::tr1 that
+ # conflict with our own definitions. Therefore using our own tuple does not
+ # work on those compilers.
+ cxx_library(gmock_main_use_own_tuple "${cxx_use_own_tuple}"
+ "${gtest_dir}/src/gtest-all.cc" src/gmock-all.cc src/gmock_main.cc)
+
+ cxx_test_with_flags(gmock_use_own_tuple_test "${cxx_use_own_tuple}"
+ gmock_main_use_own_tuple test/gmock-spec-builders_test.cc)
+ endif()
+ else()
+ cxx_library(gmock_main_no_exception "${cxx_no_exception}" src/gmock_main.cc)
+ target_link_libraries(gmock_main_no_exception gmock)
+
+ cxx_library(gmock_main_no_rtti "${cxx_no_rtti}" src/gmock_main.cc)
+ target_link_libraries(gmock_main_no_rtti gmock)
+
+ cxx_library(gmock_main_use_own_tuple "${cxx_use_own_tuple}" src/gmock_main.cc)
+ target_link_libraries(gmock_main_use_own_tuple gmock)
endif()
-
cxx_test_with_flags(gmock-more-actions_no_exception_test "${cxx_no_exception}"
gmock_main_no_exception test/gmock-more-actions_test.cc)

View File

@ -1,40 +0,0 @@
--- a/googlemock/CMakeLists.txt
+++ b/googlemock/CMakeLists.txt
@@ -11,6 +11,8 @@
option(gmock_build_tests "Build all of Google Mock's own tests." OFF)
+set(LIB_INSTALL_DIR lib CACHE STRING "Library install directory")
+
# A directory to find Google Test sources.
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/gtest/CMakeLists.txt")
set(gtest_dir gtest)
@@ -104,7 +106,7 @@
#
# Install rules
install(TARGETS gmock gmock_main
- DESTINATION lib)
+ DESTINATION ${LIB_INSTALL_DIR})
install(DIRECTORY ${gmock_SOURCE_DIR}/include/gmock
DESTINATION include)
--- a/googletest/CMakeLists.txt
+++ b/googletest/CMakeLists.txt
@@ -27,6 +27,8 @@
"Build gtest with internal symbols hidden in shared libraries."
OFF)
+set(LIB_INSTALL_DIR lib CACHE STRING "Library install directory")
+
# Defines pre_project_set_up_hermetic_build() and set_up_hermetic_build().
include(cmake/hermetic_build.cmake OPTIONAL)
@@ -103,7 +105,7 @@
#
# Install rules
install(TARGETS gtest gtest_main
- DESTINATION lib)
+ DESTINATION ${LIB_INSTALL_DIR})
install(DIRECTORY ${gtest_SOURCE_DIR}/include/gtest
DESTINATION include)

View File

@ -1,21 +0,0 @@
Fix build with GCC 6 due to lifetime issues.
--- a/googletest/src/gtest.cc
+++ b/googletest/src/gtest.cc
@@ -2654,10 +2654,12 @@
test->Run();
}
- // Deletes the test object.
- impl->os_stack_trace_getter()->UponLeavingGTest();
- internal::HandleExceptionsInMethodIfSupported(
- test, &Test::DeleteSelf_, "the test fixture's destructor");
+ if (test != NULL) {
+ // Deletes the test object.
+ impl->os_stack_trace_getter()->UponLeavingGTest();
+ internal::HandleExceptionsInMethodIfSupported(
+ test, &Test::DeleteSelf_, "the test fixture's destructor");
+ }
result_.set_elapsed_time(internal::GetTimeInMillis() - start);

View File

@ -1,19 +0,0 @@
Fix python tests that use broken generator expressions
--- a/googletest/cmake/internal_utils.cmake
+++ b/googletest/cmake/internal_utils.cmake
@@ -247,12 +247,12 @@
add_test(
NAME ${name}
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test/${name}.py
- --build_dir=${CMAKE_CURRENT_BINARY_DIR}/$<CONFIGURATION>)
+ --build_dir=${CMAKE_CURRENT_BINARY_DIR})
else (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 3.1)
add_test(
${name}
${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test/${name}.py
- --build_dir=${CMAKE_CURRENT_BINARY_DIR}/\${CTEST_CONFIGURATION_TYPE})
+ --build_dir=${CMAKE_CURRENT_BINARY_DIR})
endif (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 3.1)
endif()
endfunction()

View File

@ -0,0 +1,80 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
# Python is required for tests and some build tasks.
PYTHON_COMPAT=( python3_{8..10} )
CMAKE_ECLASS=cmake
inherit cmake-multilib python-any-r1
GOOGLETEST_COMMIT=aee0f9d9b5b87796ee8a0ab26b7587ec30e8858e
if [[ ${PV} == "9999" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/google/googletest"
else
if [[ -z ${GOOGLETEST_COMMIT} ]]; then
URI_PV=v${MY_PV:-${PV}}
else
URI_PV=${MY_PV:=${GOOGLETEST_COMMIT}}
fi
SRC_URI="https://github.com/google/googletest/archive/${URI_PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
S="${WORKDIR}"/googletest-${MY_PV}
fi
DESCRIPTION="Google C++ Testing Framework"
HOMEPAGE="https://github.com/google/googletest"
LICENSE="BSD"
SLOT="0"
IUSE="doc examples test"
RESTRICT="!test? ( test )"
BDEPEND="test? ( ${PYTHON_DEPS} )"
PATCHES=(
"${FILESDIR}"/${PN}-1.10.0_p20200702-increase-clone-stack-size.patch
)
pkg_setup() {
use test && python-any-r1_pkg_setup
}
src_prepare() {
cmake_src_prepare
sed -i -e '/set(cxx_base_flags /s:-Werror::' \
googletest/cmake/internal_utils.cmake || die "sed failed!"
}
multilib_src_configure() {
local mycmakeargs=(
-DBUILD_GMOCK=ON
-DINSTALL_GTEST=ON
# tests
-Dgmock_build_tests=$(usex test)
-Dgtest_build_tests=$(usex test)
-DPYTHON_EXECUTABLE="${PYTHON}"
)
cmake_src_configure
}
multilib_src_install_all() {
einstalldocs
if use doc; then
docinto googletest
dodoc -r googletest/docs/.
docinto googlemock
dodoc -r googlemock/docs/.
fi
if use examples; then
docinto examples
dodoc googletest/samples/*.{cc,h}
fi
}

View File

@ -0,0 +1,78 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Python is required for tests and some build tasks.
PYTHON_COMPAT=( python3_{8..10} )
CMAKE_ECLASS=cmake
inherit cmake-multilib python-any-r1
if [[ ${PV} == "9999" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/google/googletest"
else
if [[ -z ${GOOGLETEST_COMMIT} ]]; then
SRC_URI="https://github.com/google/googletest/archive/refs/tags/release-${PV}.tar.gz
-> ${P}.tar.gz"
S="${WORKDIR}"/googletest-release-${PV}
else
SRC_URI="https://github.com/google/googletest/archive/${GOOGLETEST_COMMIT}.tar.gz
-> ${P}.tar.gz"
S="${WORKDIR}"/googletest-${GOOGLETEST_COMMIT}
fi
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="Google C++ Testing Framework"
HOMEPAGE="https://github.com/google/googletest"
LICENSE="BSD"
SLOT="0"
IUSE="doc examples test"
RESTRICT="!test? ( test )"
BDEPEND="test? ( ${PYTHON_DEPS} )"
PATCHES=(
"${FILESDIR}"/${PN}-1.10.0_p20200702-increase-clone-stack-size.patch
)
pkg_setup() {
use test && python-any-r1_pkg_setup
}
src_prepare() {
cmake_src_prepare
sed -i -e '/set(cxx_base_flags /s:-Werror::' \
googletest/cmake/internal_utils.cmake || die "sed failed!"
}
multilib_src_configure() {
local mycmakeargs=(
-DBUILD_GMOCK=ON
-DINSTALL_GTEST=ON
# tests
-Dgmock_build_tests=$(usex test)
-Dgtest_build_tests=$(usex test)
-DPYTHON_EXECUTABLE="${PYTHON}"
)
cmake_src_configure
}
multilib_src_install_all() {
einstalldocs
newdoc googletest/README.md README.googletest.md
newdoc googlemock/README.md README.googlemock.md
use doc && dodoc -r docs/.
if use examples; then
docinto examples
dodoc googletest/samples/*.{cc,h}
fi
}

View File

@ -1,50 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
AUTOTOOLS_AUTORECONF=1
AUTOTOOLS_IN_SOURCE_BUILD=1
# Python is required for tests and some build tasks.
PYTHON_COMPAT=( python2_7 )
inherit eutils python-any-r1 autotools-multilib
DESCRIPTION="Google C++ Testing Framework"
HOMEPAGE="https://github.com/google/googletest"
SRC_URI="https://github.com/google/googletest/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="examples static-libs"
DEPEND="${PYTHON_DEPS}"
RDEPEND=""
PATCHES=(
"${FILESDIR}/configure-fix-pthread-linking.patch" #371647
)
src_prepare() {
sed -i -e "s|/tmp|${T}|g" test/gtest-filepath_test.cc || die
sed -i -r \
-e '/^install-(data|exec)-local:/s|^.*$|&\ndisabled-&|' \
Makefile.am || die
autotools-multilib_src_prepare
}
multilib_src_install() {
default
multilib_is_native_abi && dobin scripts/gtest-config
}
multilib_src_install_all() {
prune_libtool_files --all
einstalldocs
if use examples ; then
insinto /usr/share/doc/${PF}/examples
doins samples/*.{cc,h}
fi
}

View File

@ -1,68 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
# Python is required for tests and some build tasks.
PYTHON_COMPAT=( python2_7 python3_{4,5,6} pypy )
inherit python-any-r1 cmake-multilib
DESCRIPTION="Google C++ Testing Framework"
HOMEPAGE="https://github.com/google/googletest"
SRC_URI="https://github.com/google/googletest/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="alpha amd64 ~arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="doc examples test"
DEPEND="test? ( ${PYTHON_DEPS} )"
RDEPEND="!dev-cpp/gmock"
PATCHES=(
"${FILESDIR}"/${PN}-9999-fix-py-tests.patch
"${FILESDIR}"/${PN}-9999-fix-gcc6-undefined-behavior.patch
"${FILESDIR}"/${PN}-1.8.0-multilib-strict.patch
"${FILESDIR}"/${PN}-1.8.0-increase-clone-stack-size.patch
"${FILESDIR}"/${PN}-1.8.0-fix-doublefree.patch
)
S="${WORKDIR}"/googletest-release-${PV}
pkg_setup() {
use test && python-any-r1_pkg_setup
}
multilib_src_configure() {
local mycmakeargs=(
-DBUILD_GMOCK=ON
-DBUILD_GTEST=ON
-DLIB_INSTALL_DIR=$(get_libdir)
-Dgtest_build_samples=OFF
-Dgtest_disable_pthreads=OFF
-DBUILD_SHARED_LIBS=ON
# tests
-Dgmock_build_tests=$(usex test)
-Dgtest_build_tests=$(usex test)
-DPYTHON_EXECUTABLE="${PYTHON}"
)
cmake-utils_src_configure mycmakeargs
}
multilib_src_install_all() {
einstalldocs
if use doc; then
docinto googletest
dodoc -r googletest/docs/*
docinto googlemock
dodoc -r googlemock/docs/*
fi
if use examples; then
docinto examples
dodoc googletest/samples/*.{cc,h}
fi
}

View File

@ -1,67 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
# Python is required for tests and some build tasks.
PYTHON_COMPAT=( python2_7 python3_{4,5,6} pypy )
inherit python-any-r1 cmake-multilib
DESCRIPTION="Google C++ Testing Framework"
HOMEPAGE="https://github.com/google/googletest"
SRC_URI="https://github.com/google/googletest/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="doc examples test"
DEPEND="test? ( ${PYTHON_DEPS} )"
RDEPEND="!dev-cpp/gmock"
PATCHES=(
"${FILESDIR}"/${PN}-9999-fix-py-tests.patch
"${FILESDIR}"/${PN}-9999-fix-gcc6-undefined-behavior.patch
"${FILESDIR}"/${PN}-1.8.0-multilib-strict.patch
"${FILESDIR}"/${PN}-1.8.0-increase-clone-stack-size.patch
)
S="${WORKDIR}"/googletest-release-${PV}
pkg_setup() {
use test && python-any-r1_pkg_setup
}
multilib_src_configure() {
local mycmakeargs=(
-DBUILD_GMOCK=ON
-DBUILD_GTEST=ON
-DLIB_INSTALL_DIR=$(get_libdir)
-Dgtest_build_samples=OFF
-Dgtest_disable_pthreads=OFF
-DBUILD_SHARED_LIBS=ON
# tests
-Dgmock_build_tests=$(usex test)
-Dgtest_build_tests=$(usex test)
-DPYTHON_EXECUTABLE="${PYTHON}"
)
cmake-utils_src_configure mycmakeargs
}
multilib_src_install_all() {
einstalldocs
if use doc; then
docinto googletest
dodoc -r googletest/docs/*
docinto googlemock
dodoc -r googlemock/docs/*
fi
if use examples; then
docinto examples
dodoc googletest/samples/*.{cc,h}
fi
}

View File

@ -1,20 +1,28 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
EAPI=8
# Python is required for tests and some build tasks.
PYTHON_COMPAT=( python2_7 python3_{4,5,6} pypy )
PYTHON_COMPAT=( python3_{8..10} )
inherit python-any-r1 cmake-multilib
CMAKE_ECLASS=cmake
inherit cmake-multilib python-any-r1
if [[ ${PV} == "9999" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/google/googletest"
else
SRC_URI="https://github.com/google/googletest/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
S="${WORKDIR}"/googletest-release-${PV}
if [[ -z ${GOOGLETEST_COMMIT} ]]; then
SRC_URI="https://github.com/google/googletest/archive/refs/tags/release-${PV}.tar.gz
-> ${P}.tar.gz"
S="${WORKDIR}"/googletest-release-${PV}
else
SRC_URI="https://github.com/google/googletest/archive/${GOOGLETEST_COMMIT}.tar.gz
-> ${P}.tar.gz"
S="${WORKDIR}"/googletest-${GOOGLETEST_COMMIT}
fi
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="Google C++ Testing Framework"
@ -23,51 +31,45 @@ HOMEPAGE="https://github.com/google/googletest"
LICENSE="BSD"
SLOT="0"
IUSE="doc examples test"
RESTRICT="!test? ( test )"
DEPEND="test? ( ${PYTHON_DEPS} )"
RDEPEND="!dev-cpp/gmock"
BDEPEND="test? ( ${PYTHON_DEPS} )"
PATCHES=(
"${FILESDIR}"/${PN}-9999-fix-gcc6-undefined-behavior.patch
"${FILESDIR}"/${PN}-1.8.0-increase-clone-stack-size.patch
"${FILESDIR}"/${PN}-1.8.0-fix-doublefree.patch
"${FILESDIR}"/${PN}-1.10.0_p20200702-increase-clone-stack-size.patch
)
pkg_setup() {
use test && python-any-r1_pkg_setup
}
src_prepare() {
cmake_src_prepare
sed -i -e '/set(cxx_base_flags /s:-Werror::' \
googletest/cmake/internal_utils.cmake || die "sed failed!"
}
multilib_src_configure() {
local mycmakeargs=(
-DBUILD_GMOCK=ON
-DBUILD_GTEST=ON
-DINSTALL_GMOCK=ON
-DINSTALL_GTEST=ON
-Dgtest_build_samples=OFF
-Dgtest_disable_pthreads=OFF
# currently only static libs work
# due to numerous ODR violations
# https://github.com/google/googletest/issues/930
-DBUILD_SHARED_LIBS=OFF
# tests
-Dgmock_build_tests=$(usex test)
-Dgtest_build_tests=$(usex test)
-DPYTHON_EXECUTABLE="${PYTHON}"
)
cmake-utils_src_configure
cmake_src_configure
}
multilib_src_install_all() {
einstalldocs
if use doc; then
docinto googletest
dodoc -r googletest/docs/*
docinto googlemock
dodoc -r googlemock/docs/*
fi
newdoc googletest/README.md README.googletest.md
newdoc googlemock/README.md README.googlemock.md
use doc && dodoc -r docs/.
if use examples; then
docinto examples

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<maintainer type="person" proxied="yes">
<email>plevine457@gmail.com</email>
<name>Peter Levine</name>
</maintainer>
<maintainer type="project">
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>

View File

@ -0,0 +1 @@
DIST python-exec-2.4.6.tar.bz2 87634 BLAKE2B 7b6de8ad0e0603fafd3284e6e3c5247ad83f145ab4db6728914318ae8e6f5aaa3c0247f4e01238fca11519ef72fb1b11436aea7e2b8c988b8717b3f6a2a43c37 SHA512 e05eaf01b83de196a10933636ab6b1a5489a421592df49b8b58eabd0e732de970f902744cd3a06b5ab530a6d69fe6dfa8f270fbb09b9fe3df4ae04d516828050

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
</pkgmetadata>

View File

@ -0,0 +1,40 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit python-utils-r1
MY_P=${P/-conf}
DESCRIPTION="Configuration file for dev-lang/python-exec"
HOMEPAGE="https://github.com/mgorny/python-exec/"
SRC_URI="https://github.com/mgorny/python-exec/releases/download/v${PV}/${MY_P}.tar.bz2"
S=${WORKDIR}/${MY_P}
LICENSE="BSD-2"
SLOT="2"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
# Internal Python project hack. Do not copy it. Ever.
IUSE="${_PYTHON_ALL_IMPLS[@]/#/python_targets_}"
RDEPEND="!<dev-lang/python-exec-2.4.6-r4"
src_configure() {
:
}
src_install() {
local pyimpls=() i EPYTHON
for i in "${_PYTHON_ALL_IMPLS[@]}"; do
if use "python_targets_${i}"; then
_python_export "${i}" EPYTHON
pyimpls+=( "${EPYTHON}" )
fi
done
# Prepare and own the template
insinto /etc/python-exec
newins - python-exec.conf \
< <(sed -n -e '/^#/p' config/python-exec.conf.example &&
printf '%s\n' "${pyimpls[@]}" | tac)
}

View File

@ -1,14 +1 @@
DIST python-exec-2.0.1.tar.bz2 80965 SHA256 3eddcb0d6c682a5c182c62578bb8d6ce1140a009873747e9ba1bf9de72ed7efd SHA512 0396e2617c759a66b16e57b0ca60b57e03f3c8096ae4a7f2e402eafcbee4ffd839bf0c6e4d259c6ba90940f9ba7e3f191125e395080cce3ef82e5f52053d0462 WHIRLPOOL 50c0cac1c7e2b5d2a21125647874c83caeabee293b87ef01926474d492b79b7837754c2d26173282977e9d00024559bb070f8d76bb5227df1776e937cd280c32
DIST python-exec-2.0.2.tar.bz2 82217 SHA256 c411638fe94953c1e8ff57e7b66f601a817633fbc9cb7d410982778042051bb0 SHA512 96198dda88a73b902d617a32f10ddf2ac981b1871fb5eaf5003d77453df8a0aacf299c39c6e49ebaa620994a30e57ee7a1128fb4ba41aa4f503031fa2addef7f WHIRLPOOL 603b494c7b87f0f3f0cfba35378e1a2e231879a01b730657e09ecf798957fa4dfd54a6d852074c2aa9ae3c15e5d1d3203584b8a120e5dd0dee2117319706a5ce
DIST python-exec-2.1.tar.bz2 82167 SHA256 adac4e9ae677ca0fbb9efc55573ecbb0e8361ed7a60a5241e7abc1056fba06ad SHA512 cadfb7723aa412caec4a449909769b14a800c19650c64768b0ffb30b2c0645e70c9a039f960f3263c6c18490bb73c0129b83a72c7407f558bcaf3652cc4c8bcf WHIRLPOOL 72b73b216faf7caa8afbc3ce316771bd832e468cf84835267dc3833d5c52fce24578e09f2d3aa8a322f324426eda5e53bd9611711ea976679574b2be764c2525
DIST python-exec-2.4.3.tar.bz2 86815 SHA256 581aa0c033632269d553754440d4017c21afc1c1500fd8951de093bc715c63fb SHA512 37fb7f915a2848699e9fca4e09d167b6d6aa192e3c374d7f01aec09529b5f1346ce2c45139f4e8f68b53e3f197b4d77b7f58519b012c117dd5ec8535a43fbe34 WHIRLPOOL 117564deb6f35387757ebbbff96d0325d5979d2933bbfca184cde0170cdd923bf9fa71ba76f234b098df12f006b6f8b5ba388416692ceff56ec7c16173777ab6
DIST python-exec-2.4.4.tar.bz2 86945 SHA256 cdc780764bce79047ab047160156c5dc3bf5728d9c59cf1ed904fdf12638d60b SHA512 26b76960430dc3b2b79aab5e8a72498144d4e78bed5291fe9361afe081f0e8d70049a74ec29384cb0fc199f76c23499324d2eddcaea521ef33d88e61b1b674f9 WHIRLPOOL 791fd9732179d17bf5cd981956759e7c25e1e1dcbaf6fdfb05cf4fed8d4f44490740aaa5b4d38335a72128f8fdea0f6ab2e34c331a2b7f6b0897aa7eaa1f0c48
EBUILD python-exec-2.0.1-r1.ebuild 1040 SHA256 677933eddddd9fa749a0cb9120b899b3344ebb8245ae9d92e02dc4fe9afd4911 SHA512 d48b579d23ea8419a2f187d00d10db17e9b7eeb419de3647ef189431616bd88c99818ecfc266a0c5a05681ccb5fd981682a6b0513e74e8caa0ac85728772a93b WHIRLPOOL 94a7c4bee0442beadcf0823312669405353d765cf8e689126c11c8148e04288ae506d062bda34e55f8ba9b552cfeb1d107e1b13b2d800fb1b08b400c0849dbf0
EBUILD python-exec-2.0.2.ebuild 1040 SHA256 5674a796355dd3dd40dbdfaac309677506efd999a8ec37e0e2c0a3a12d1b79c2 SHA512 b1868daf3e24badb91c9c24acd631cc72dd81acb20f4418f1e7a944d71757b9e0af4f84e2fcc87d85144125ad89582f4345c538837d7674504269f769b1993b6 WHIRLPOOL ea0591aee261b6a9947dfe2f4ced24aac01dfddbfc66e1b1f56859795ca029099a77cd09bbe07137e092a35fdee30807bebfa6675eff2e064363a22175eb023a
EBUILD python-exec-2.1.ebuild 1188 SHA256 2238c0ccaa921db68601172fa9110a3601522100e7ad715532bb3663efa8ba0c SHA512 d65782c09fdbb43b8458c96dfecdf165cb54b1605d9d3397a6da3d3dab29ce23f36bd181bc5616511af103fe25a840ad36cad83fad71f3b3d6064670c75ed50d WHIRLPOOL 5c36fc3ca5ffa425b7e733e9c144d6ab01fd42f5832dff2414c215d92cf4e6df14b7636cc7840bd43662b20292d56d57082b5620780706587e9687ee1f158955
EBUILD python-exec-2.4.3.ebuild 4330 SHA256 3f0fd729473db2db53fde07ec8dda59fccda3635bae557f294b74efacbece973 SHA512 5047ce61d689905edd334e5ff1f46d3b586ab820e1c093fbfe2b73a905cf83054362a767596de4cf8483f12b9ef51bdffd2db4c24badeb104d689fdf598ff411 WHIRLPOOL e613cfe112099a5ef28670e56408eedfb42df6ead62d0956839e2bccace5ed5b8cd70784b0b4d9bd37368f48b3795590815cf3fbcb813c9fae32255a1f6c826a
EBUILD python-exec-2.4.4.ebuild 4321 SHA256 ba0e1cb801749b124147fd1cfff59b1228e5ccd44cc4440811e8a995822f18ac SHA512 82afcaa43b6b5813a94e6f578563bdbe3fed543b8b1908fcd5d506b061b7e597ee95ef0d9bba204b77e32382d0a4e32fd676ed2762866a152fdeacf1cd75af14 WHIRLPOOL b15ca49be61f58c44a0afad4dc9986262abedd25741090a2a84a7da45b85b9bb8725d60d130afbdaf83b452c9fd7a263098fbe4e1475ebf762fc213391a8f6be
EBUILD python-exec-9999.ebuild 4493 SHA256 137eed25e6b43dead89c1c4cb24466e62d724ee55855d4c91efc8c647a7919cd SHA512 ec41744160a7917ffc086ced6592eb919302b5cfe2fbf04a108817d3e55a9dad51dcce583d683383ad28a6f8e3602fcb4554f6cd6f70148096da87a67b48f9d9 WHIRLPOOL e49a9eca5f9ad0358d2b0d525c057a23d7e10212509493751bfc60a2a455ef18e5318adfb5995a489b5bdf57a89315fd6d4d544fe670bb6e92955d1c5ad0ad9b
MISC ChangeLog 10720 SHA256 3d82f9b81fc855db286b1fc912731759c811815c348046491edef317e22d29e4 SHA512 6eed75de98c71ac6e81eae8607405efb133472936ec613a2ba70ead54eda3839a8b4b50dbca78325cfa9d0c2fe4b5a0de791dd19d1ac0349787b0865f6cd0715 WHIRLPOOL 636aab31ec2d766cb177b25734dd245e30262870e1837ea8eabcb71dfb02e6a89a3bc54ed03e6a3b6cc83df8ae9ec8721a266f9945cfdc227ee36e3a1811e422
MISC ChangeLog-2015 3848 SHA256 5f99d4b5e2ae61ae1330ac7a10f56d3fae902ef2a2a52de9b07383197c57e71f SHA512 e516a7461f0d8008c7554858bb9d490db05768d90c5f237a6ca9e8c4a0902bc9205f389c7dab410ed0a48689dd774012487340954eb9c19873fa0b2608d871e2 WHIRLPOOL c6551fd2ced06008adf39300cf22953fd13129cd4291b3f9c49d12bda3bc809daf010997de7b7a643fadfeafe7324e869975a1a42aa7c6450465377ab1117fb3
MISC metadata.xml 529 SHA256 3b9edc78a1d04691c7dcbc9a848d150c58be99ab3a884ac5bf74266401278522 SHA512 3483112d6662461c2800bbd5722ef47f13477c2ca4d744e84d6cf54a3eb9e244271678989ac827bbd5f6f59f7fd3e467ef8bc05fba770b56057016d70a09e398 WHIRLPOOL e60263b0c27cc02a01d448503962e889fb35e2408cfd12d0b6faca5a2a572a7ca32d354f59b532d705c1ff1f655ff075c822f3f2fd74aed23459ac6b0fd3964e
DIST python-exec-2.4.8.tar.bz2 82671 BLAKE2B ac85f3dd6da3d1c535ad56a25edbbcb1d0e75b91e3567b80f27fd01d32a199a713909a8552dffaacbe96c43bca491f31c3f0c7f1a618fb9144814365686715cf SHA512 d6dabab217dc2f1817e2f4d159102a9467f51b26b91f4ae7fb7e4930d30334f74bd8a5f37cc60d58c6e1e61e89a3b4d2e1bd17413493ba86f38fa71250cf5ac1

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
@ -11,6 +11,13 @@
<name>Michał Górny</name>
</maintainer>
<bugs-to>https://github.com/mgorny/python-exec/issues/</bugs-to>
<remote-id type="bitbucket">mgorny/python-exec</remote-id>
<remote-id type="github">mgorny/python-exec</remote-id>
</upstream>
<use>
<flag name="native-symlinks">
Install generic symlinks like python and python3. If this flag
is disabled, only versioned python3.X executables will
be available to end users and ebuilds not using python eclasses.
</flag>
</use>
</pkgmetadata>

View File

@ -1,37 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
# Kids, don't do this at home!
inherit python-utils-r1
PYTHON_COMPAT=( "${_PYTHON_ALL_IMPLS[@]}" )
inherit autotools-utils python-r1
DESCRIPTION="Python script wrapper"
HOMEPAGE="https://github.com/mgorny/python-exec/"
SRC_URI="https://github.com/mgorny/${PN}/releases/download/${P}/${P}.tar.bz2"
LICENSE="BSD-2"
SLOT="2"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE=""
RDEPEND="!<dev-python/python-exec-10000"
src_configure() {
local pyimpls i EPYTHON
for i in "${PYTHON_COMPAT[@]}"; do
python_export "${i}" EPYTHON
pyimpls+=" ${EPYTHON}"
done
local myeconfargs=(
--with-eprefix="${EPREFIX}"
--with-python-impls="${pyimpls}"
)
autotools-utils_src_configure
}

View File

@ -1,37 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
# Kids, don't do this at home!
inherit python-utils-r1
PYTHON_COMPAT=( "${_PYTHON_ALL_IMPLS[@]}" )
inherit autotools-utils python-r1
DESCRIPTION="Python script wrapper"
HOMEPAGE="https://github.com/mgorny/python-exec/"
SRC_URI="https://github.com/mgorny/${PN}/releases/download/${P}/${P}.tar.bz2"
LICENSE="BSD-2"
SLOT="2"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE=""
RDEPEND="!<dev-python/python-exec-10000"
src_configure() {
local pyimpls i EPYTHON
for i in "${PYTHON_COMPAT[@]}"; do
python_export "${i}" EPYTHON
pyimpls+=" ${EPYTHON}"
done
local myeconfargs=(
--with-eprefix="${EPREFIX}"
--with-python-impls="${pyimpls}"
)
autotools-utils_src_configure
}

View File

@ -1,40 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
# Kids, don't do this at home!
inherit python-utils-r1
PYTHON_COMPAT=( "${_PYTHON_ALL_IMPLS[@]}" )
# Inherited purely to have PYTHON_TARGET flags which will satisfy USE
# dependencies and trigger necessary rebuilds.
inherit python-r1
DESCRIPTION="Python script wrapper"
HOMEPAGE="https://github.com/mgorny/python-exec/"
SRC_URI="https://github.com/mgorny/${PN}/releases/download/${P}/${P}.tar.bz2"
LICENSE="BSD-2"
SLOT="2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE=""
RDEPEND="!<dev-python/python-exec-10000
!<app-eselect/eselect-python-20151117"
src_configure() {
local pyimpls=() i EPYTHON
for i in "${PYTHON_COMPAT[@]}"; do
python_export "${i}" EPYTHON
pyimpls+=( "${EPYTHON}" )
done
local myconf=(
--with-eprefix="${EPREFIX}"
--with-python-impls="${pyimpls[*]}"
)
econf "${myconf[@]}"
}

View File

@ -1,134 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
# Kids, don't do this at home!
inherit python-utils-r1
PYTHON_COMPAT=( "${_PYTHON_ALL_IMPLS[@]}" )
# Inherited purely to have PYTHON_TARGET flags which will satisfy USE
# dependencies and trigger necessary rebuilds.
inherit python-r1
DESCRIPTION="Python script wrapper"
HOMEPAGE="https://github.com/mgorny/python-exec/"
SRC_URI="https://github.com/mgorny/${PN}/releases/download/${P}/${P}.tar.bz2"
LICENSE="BSD-2"
SLOT="2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE=""
# eselect-python because of /usr/bin/python* collisions and new config
# python versions because of missing $scriptdir/python* symlinks
RDEPEND="
!<app-eselect/eselect-python-20160206
!<dev-lang/python-2.7.10-r4:2.7
!<dev-lang/python-3.3.5-r4:3.3
!<dev-lang/python-3.4.3-r4:3.4
!<dev-lang/python-3.5.0-r3:3.5"
src_configure() {
local pyimpls=() i EPYTHON
for i in "${PYTHON_COMPAT[@]}"; do
python_export "${i}" EPYTHON
pyimpls+=( "${EPYTHON}" )
done
local myconf=(
--with-python-impls="${pyimpls[*]}"
)
econf "${myconf[@]}"
}
src_install() {
default
# Prepare and own the template
sed -n -e '/^#/p' config/python-exec.conf.example \
> "${T}"/python-exec.conf || die
insinto /etc/python-exec
doins "${T}"/python-exec.conf
local f
for f in python{,2,3}; do
# symlink the C wrapper for python to avoid shebang recursion
# bug #568974
dosym python-exec2c /usr/bin/"${f}"
done
for f in python{,2,3}-config 2to3 idle pydoc pyvenv; do
# those are python scripts (except for new python-configs)
# so symlink them via the python wrapper
dosym ../lib/python-exec/python-exec2 /usr/bin/"${f}"
done
}
pkg_preinst() {
if [[ -e ${EROOT}etc/python-exec/python-exec.conf ]]; then
# preserve current configuration
cp "${EROOT}"etc/python-exec/python-exec.conf \
"${ED}"etc/python-exec/python-exec.conf || die
else
# preserve previous Python version preference
local py old_pythons=()
local config_base=${EROOT}etc/env.d/python
# start with the 'global' preference (2 vs 3)
if [[ -f ${config_base}/config ]]; then
old_pythons+=( "$(<${config_base}/config)" )
fi
# then try specific py3 selection
for py in 3; do
local target=
if [[ -f ${config_base}/python${py} ]]; then
# try the newer config files
target=$(<${config_base}/python${py})
elif [[ -L ${EROOT}/usr/bin/python${py} ]]; then
# check the older symlink format
target=$(readlink "${EROOT}/usr/bin/python${py}")
# check if it's actually old eselect symlink
[[ ${target} == python?.? ]] || target=
fi
# add the extra target if found and != global
if [[ ${target} && ${old_pythons[0]} != ${target} ]]; then
old_pythons+=( "${target}" )
fi
done
if [[ ${old_pythons[@]} ]]; then
elog "You seem to have just upgraded into the new version of python-exec"
elog "that uses python-exec.conf for configuration. The ebuild has attempted"
elog "to convert your previous configuration to the new format, resulting"
elog "in the following preferences (most preferred version first):"
elog
for py in "${old_pythons[@]}"; do
elog " ${py}"
done
elog
elog "Those interpreters will be preferred when running Python scripts or"
elog "calling wrapped Python executables (python, python2, pydoc...)."
elog "If none of the preferred interpreters are supported, python-exec will"
elog "fall back to the newest supported Python version."
elog
elog "Please note that due to the ambiguous character of the old settings,"
elog "you may want to modify the preference list yourself. In order to do so,"
elog "open the following file in your favorite editor:"
elog
elog " ${EROOT}etc/python-exec/python-exec.conf"
elog
elog "For more information on the new configuration format, please read"
elog "the comment on top of the installed configuration file."
local IFS=$'\n'
echo "${old_pythons[*]}" \
>> "${ED}"etc/python-exec/python-exec.conf || die
fi
fi
}

View File

@ -1,134 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
# Kids, don't do this at home!
inherit python-utils-r1
PYTHON_COMPAT=( "${_PYTHON_ALL_IMPLS[@]}" )
# Inherited purely to have PYTHON_TARGET flags which will satisfy USE
# dependencies and trigger necessary rebuilds.
inherit python-r1
DESCRIPTION="Python script wrapper"
HOMEPAGE="https://github.com/mgorny/python-exec/"
SRC_URI="https://github.com/mgorny/${PN}/releases/download/${P}/${P}.tar.bz2"
LICENSE="BSD-2"
SLOT="2"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ia64 m68k ~mips ppc ~ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE=""
# eselect-python because of /usr/bin/python* collisions and new config
# python versions because of missing $scriptdir/python* symlinks
RDEPEND="
!<app-eselect/eselect-python-20160206
!<dev-lang/python-2.7.10-r4:2.7
!<dev-lang/python-3.3.5-r4:3.3
!<dev-lang/python-3.4.3-r4:3.4
!<dev-lang/python-3.5.0-r3:3.5"
src_configure() {
local pyimpls=() i EPYTHON
for i in "${PYTHON_COMPAT[@]}"; do
python_export "${i}" EPYTHON
pyimpls+=( "${EPYTHON}" )
done
local myconf=(
--with-python-impls="${pyimpls[*]}"
)
econf "${myconf[@]}"
}
src_install() {
default
# Prepare and own the template
sed -n -e '/^#/p' config/python-exec.conf.example \
> "${T}"/python-exec.conf || die
insinto /etc/python-exec
doins "${T}"/python-exec.conf
local f
for f in python{,2,3}; do
# symlink the C wrapper for python to avoid shebang recursion
# bug #568974
dosym python-exec2c /usr/bin/"${f}"
done
for f in python{,2,3}-config 2to3 idle pydoc pyvenv; do
# those are python scripts (except for new python-configs)
# so symlink them via the python wrapper
dosym ../lib/python-exec/python-exec2 /usr/bin/"${f}"
done
}
pkg_preinst() {
if [[ -e ${EROOT}etc/python-exec/python-exec.conf ]]; then
# preserve current configuration
cp "${EROOT}"etc/python-exec/python-exec.conf \
"${ED}"etc/python-exec/python-exec.conf || die
else
# preserve previous Python version preference
local py old_pythons=()
local config_base=${EROOT}etc/env.d/python
# start with the 'global' preference (2 vs 3)
if [[ -f ${config_base}/config ]]; then
old_pythons+=( "$(<${config_base}/config)" )
fi
# then try specific py3 selection
for py in 3; do
local target=
if [[ -f ${config_base}/python${py} ]]; then
# try the newer config files
target=$(<${config_base}/python${py})
elif [[ -L ${EROOT}/usr/bin/python${py} ]]; then
# check the older symlink format
target=$(readlink "${EROOT}/usr/bin/python${py}")
# check if it's actually old eselect symlink
[[ ${target} == python?.? ]] || target=
fi
# add the extra target if found and != global
if [[ ${target} && ${old_pythons[0]} != ${target} ]]; then
old_pythons+=( "${target}" )
fi
done
if [[ ${old_pythons[@]} ]]; then
elog "You seem to have just upgraded into the new version of python-exec"
elog "that uses python-exec.conf for configuration. The ebuild has attempted"
elog "to convert your previous configuration to the new format, resulting"
elog "in the following preferences (most preferred version first):"
elog
for py in "${old_pythons[@]}"; do
elog " ${py}"
done
elog
elog "Those interpreters will be preferred when running Python scripts or"
elog "calling wrapped Python executables (python, python2, pydoc...)."
elog "If none of the preferred interpreters are supported, python-exec will"
elog "fall back to the newest supported Python version."
elog
elog "Please note that due to the ambiguous character of the old settings,"
elog "you may want to modify the preference list yourself. In order to do so,"
elog "open the following file in your favorite editor:"
elog
elog " ${EROOT}etc/python-exec/python-exec.conf"
elog
elog "For more information on the new configuration format, please read"
elog "the comment on top of the installed configuration file."
local IFS=$'\n'
echo "${old_pythons[*]}" \
>> "${ED}"etc/python-exec/python-exec.conf || die
fi
fi
}

View File

@ -0,0 +1,72 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{8..10} pypy3 )
inherit python-any-r1
DESCRIPTION="Python script wrapper"
HOMEPAGE="https://github.com/mgorny/python-exec/"
SRC_URI="https://github.com/mgorny/python-exec/releases/download/v${PV}/${P}.tar.bz2"
LICENSE="BSD-2"
SLOT="2"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
# Internal Python project hack. Do not copy it. Ever.
IUSE="${_PYTHON_ALL_IMPLS[@]/#/python_targets_} +native-symlinks test"
RESTRICT="!test? ( test )"
RDEPEND="
dev-lang/python-exec-conf
!<=dev-lang/python-2.7.18-r3:2.7"
BDEPEND="
test? (
$(python_gen_any_dep 'dev-python/pytest[${PYTHON_USEDEP}]')
)"
python_check_deps() {
has_version -b "dev-python/pytest[${PYTHON_USEDEP}]"
}
pkg_setup() {
use test && python-any-r1_pkg_setup
}
src_configure() {
local pyimpls=() i EPYTHON
for i in "${_PYTHON_ALL_IMPLS[@]}"; do
if use "python_targets_${i}"; then
_python_export "${i}" EPYTHON
pyimpls+=( "${EPYTHON}" )
fi
done
local myconf=(
--with-fallback-path="${EPREFIX}/usr/local/sbin:${EPREFIX}/usr/local/bin:${EPREFIX}/usr/sbin:${EPREFIX}/usr/bin:${EPREFIX}/sbin:${EPREFIX}/bin"
--with-python-impls="${pyimpls[*]}"
)
econf "${myconf[@]}"
}
src_install() {
default
if use native-symlinks; then
local programs=( python python3 )
local scripts=( python-config python3-config 2to3 idle pydoc pyvenv )
local f
for f in "${programs[@]}"; do
# symlink the C wrapper for python to avoid shebang recursion
# bug #568974
dosym python-exec2c /usr/bin/"${f}"
done
for f in "${scripts[@]}"; do
# those are python scripts (except for new python-configs)
# so symlink them via the python wrapper
dosym ../lib/python-exec/python-exec2 /usr/bin/"${f}"
done
fi
}

View File

@ -1,149 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
#if LIVE
EGIT_REPO_URI="https://github.com/mgorny/${PN}.git"
inherit autotools git-r3
#endif
# Kids, don't do this at home!
inherit python-utils-r1
PYTHON_COMPAT=( "${_PYTHON_ALL_IMPLS[@]}" )
# Inherited purely to have PYTHON_TARGET flags which will satisfy USE
# dependencies and trigger necessary rebuilds.
inherit python-r1
DESCRIPTION="Python script wrapper"
HOMEPAGE="https://github.com/mgorny/python-exec/"
SRC_URI="https://github.com/mgorny/${PN}/releases/download/${P}/${P}.tar.bz2"
LICENSE="BSD-2"
SLOT="2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE=""
# eselect-python because of /usr/bin/python* collisions and new config
# python versions because of missing $scriptdir/python* symlinks
RDEPEND="
!<app-eselect/eselect-python-20160206
!<dev-lang/python-2.7.10-r4:2.7
!<dev-lang/python-3.3.5-r4:3.3
!<dev-lang/python-3.4.3-r4:3.4
!<dev-lang/python-3.5.0-r3:3.5"
#if LIVE
KEYWORDS=
SRC_URI=
src_prepare() {
eautoreconf
}
#endif
src_configure() {
local pyimpls=() i EPYTHON
for i in "${PYTHON_COMPAT[@]}"; do
python_export "${i}" EPYTHON
pyimpls+=( "${EPYTHON}" )
done
local myconf=(
--with-python-impls="${pyimpls[*]}"
)
econf "${myconf[@]}"
}
src_install() {
default
# Prepare and own the template
sed -n -e '/^#/p' config/python-exec.conf.example \
> "${T}"/python-exec.conf || die
insinto /etc/python-exec
doins "${T}"/python-exec.conf
local f
for f in python{,2,3}; do
# symlink the C wrapper for python to avoid shebang recursion
# bug #568974
dosym python-exec2c /usr/bin/"${f}"
done
for f in python{,2,3}-config 2to3 idle pydoc pyvenv; do
# those are python scripts (except for new python-configs)
# so symlink them via the python wrapper
dosym ../lib/python-exec/python-exec2 /usr/bin/"${f}"
done
}
pkg_preinst() {
if [[ -e ${EROOT}etc/python-exec/python-exec.conf ]]; then
# preserve current configuration
cp "${EROOT}"etc/python-exec/python-exec.conf \
"${ED}"etc/python-exec/python-exec.conf || die
else
# preserve previous Python version preference
local py old_pythons=()
local config_base=${EROOT}etc/env.d/python
# start with the 'global' preference (2 vs 3)
if [[ -f ${config_base}/config ]]; then
old_pythons+=( "$(<${config_base}/config)" )
fi
# then try specific py3 selection
for py in 3; do
local target=
if [[ -f ${config_base}/python${py} ]]; then
# try the newer config files
target=$(<${config_base}/python${py})
elif [[ -L ${EROOT}/usr/bin/python${py} ]]; then
# check the older symlink format
target=$(readlink "${EROOT}/usr/bin/python${py}")
# check if it's actually old eselect symlink
[[ ${target} == python?.? ]] || target=
fi
# add the extra target if found and != global
if [[ ${target} && ${old_pythons[0]} != ${target} ]]; then
old_pythons+=( "${target}" )
fi
done
if [[ ${old_pythons[@]} ]]; then
elog "You seem to have just upgraded into the new version of python-exec"
elog "that uses python-exec.conf for configuration. The ebuild has attempted"
elog "to convert your previous configuration to the new format, resulting"
elog "in the following preferences (most preferred version first):"
elog
for py in "${old_pythons[@]}"; do
elog " ${py}"
done
elog
elog "Those interpreters will be preferred when running Python scripts or"
elog "calling wrapped Python executables (python, python2, pydoc...)."
elog "If none of the preferred interpreters are supported, python-exec will"
elog "fall back to the newest supported Python version."
elog
elog "Please note that due to the ambiguous character of the old settings,"
elog "you may want to modify the preference list yourself. In order to do so,"
elog "open the following file in your favorite editor:"
elog
elog " ${EROOT}etc/python-exec/python-exec.conf"
elog
elog "For more information on the new configuration format, please read"
elog "the comment on top of the installed configuration file."
local IFS=$'\n'
echo "${old_pythons[*]}" \
>> "${ED}"etc/python-exec/python-exec.conf || die
fi
fi
}

View File

@ -1,21 +1,33 @@
DIST Python-2.7.14.tar.xz 12576112 BLAKE2B e03c4134cfdd88678acc26f383130a598ce4de908ab6bb9ee00e9235de3e0fcb9e653fec86f39db64fb895ef797d33736524655c5b94fab2cde2544b966b2cfb SHA512 78310b0be6388ffa15f29a80afb9ab3c03a572cb094e9da00cfe391afadb51696e41f592eb658d6a31a2f422fdac8a55214a382cbb8cfb43d4a127d5b35ea7f9
DIST Python-2.7.15.tar.xz 12642436 BLAKE2B d8783a48ea26695e8d4677397a08194c738d7e4bc8ecaddaab609ad1fd5a1ca07701f707fe38d259f6bd44a39171ef95e7530f3df4bcb4d94abc4d21d7e2d489 SHA512 27ea43eb45fc68f3d2469d5f07636e10801dee11635a430ec8ec922ed790bb426b072da94df885e4dfa1ea8b7a24f2f56dd92f9b0f51e162330f161216bd6de6
DIST Python-3.4.5.tar.xz 14516820 BLAKE2B f9ddabd2df2241089d07756d3a8ba1c70096bee60d7cdef84041edbb20c488c3a573762441a4b7f543dbc0ce403ce84ff7d02e7d25699917bd014ab96deead85 SHA512 b548a5338d141b3086dea372fa2cc245ba5350ee9f0d1304ef6222dc45380b66d380b092e547d54206d56ca68563b95036f445f97f72bb0ef1d48f81a74a3d4c
DIST Python-3.4.6.tar.xz 14473592 BLAKE2B 4af4f8e6f5c6831b50e99dd9eef47617f14903dc709f53f833c64726b003e9f84f75be80ba8059dcada2b2f262d65875f70d8c53a163546e51f9a715c68f4f20 SHA512 f6785cf6a99a8a27823baefe59cc20e34cbec01bb444c8600e7f49b5437159d5137f9d80fce26e219846d71bfe98f68bc6f0c87719a34db0050a4eaca95959ac
DIST Python-3.4.8.tar.xz 14576444 BLAKE2B 262b82fbc0e4852216d2edf05f9e9194bc93be7b14a2d6ef56789b808cff274e58b2fa7134955464fd05ab36181b5861aeca31e2e05b27f0f58ac66d145bd56b SHA512 478552c72efe606cb1993024b81839c51d01f1c949564c007ab2b76016f110e1f7bd418e5de3f4f93b466ce7dbe6583d3c150830d1f28f75e0809625b568a7ec
DIST Python-3.5.4.tar.xz 15332320 BLAKE2B 1fc3ba4eb1ed949062961c13fd1f9851c7f9cbeb4916c06a0389349ee2d4872b2b1c2d30138822e6329b6a715f35a66df704b7a04aa4adeb95b685b8d6e45d61 SHA512 dbbe2740ee1cce5404b7b6436a9b3887e15f415a1006efa22014ec7e5b1e48c43eed0ff98f6f5b365c527b8d2525be4ce72bbe404ce71c0835529fcd6f0267ff
DIST Python-3.5.5.tar.xz 15351440 BLAKE2B 217cb7f51e04d57983ce053ff4276d056e17c8223b6f3d87b69f556453fe2ae3d4dc2c1a6b9c2c6aad033cea9b40cd32264d8208cc81a1ec34ff252379bf95b8 SHA512 c9056baee6a2d1fe7f14b1f310db95b78e8972766d086f8ae10954f38f8182956171580bde01ddadebe897f2545a6fbe47669ca3e4887026ac1fae5ee9197f22
DIST Python-3.6.3.tar.xz 16974296 BLAKE2B 8220fc0c2eaa315d3972085b0f531f169adb6cfad57023ad2c115603b5a484573ea3540eb3216edd0f4514256c8edb07469cf38d17727d69cdc15cdf1f601623 SHA512 32f24a3adcb7880003c7ecdc5e53e838e774adda76b308961d8215e28db630b2fa2828097817924c76afa4212b2df3362eb64d4e10f37c0147f512ec5aa8662b
DIST Python-3.6.4.tar.xz 16992824 BLAKE2B 2347a70bb25468221178b1542ddd4376f136a515f2873ee1f640c4629eb77a9608af0f6be37128ba3e8ad614ebc17e7be20b73384983533aa77bca4403ea7935 SHA512 09ba2103ac517ac4d262f00380c9aac836a53401ce252540c17fd821a3b92e1ddf32528d00772221eb3126b12cb95b62c3ac3e852f4951e6f2eb406c88c848a2
DIST Python-3.6.5.tar.xz 17049912 BLAKE2B f393e9563a18a46c457afcd2e174d9eacda20fe2b0ae5461e11c582fa4d27b85c01bbe7b602f45511b6b44f635c6330205b12fb3e8325ffd07e87b78a8258889 SHA512 6b26fcd296b9bd8e67861eff10d14db7507711ddba947288d16d6def53135c39326b7f969c04bb2b2993f924d9e7ad3f5c5282a3915760bc0885cf0a8ea5eb51
DIST Python-3.6.6.tar.xz 17156744 BLAKE2B fa4333149f84570cc4a0d1ec76c819610888750a51268b9db7d05df7d9c11e5ed72daff5d81b404015d9c678cb034d8a32034262ce73629ee8f96772853a706c SHA512 c71f87c5906e770322a14cacad228655659f782207db826320449d12bf86091c3662f317e1773158dec52f8b052eaedfb4c03b561cc2a6cfcd381597fd2d2b04
DIST Python-3.7.0.tar.xz 16922100 BLAKE2B cd2afd9ad1847ca793bc64ecb637906c35e0c8da8392d626cce3ebf19be5ccde1e6dcc499b933359cb24dcdbd024b3aaa916f96ed893b1f52d9825e404f27e5f SHA512 8bb11233fb67ee9ab8ed1b72f8fdc62f66e26a6beaaeb92448bce681cf065269833b1658d3ed2459127f25ba43adb0eab73cf27c59834a2a803fb529b4216739
DIST python-gentoo-patches-2.7.14-0.tar.xz 13428 BLAKE2B 0048e48ddaaa4bef08451354fde95a123042880f26dddc9267c7f9a90fd8abb40955e26ee8c9dfc5a1165556bb3e11585b27288e635d42a4000dd3d7654c41ad SHA512 6da5b52065752b54e9215d0f0809c75167dc3690d0e94fa21dd7595626925bc5c1dd065d31b3bd696d7087f3986de145d3a335a29eb7bd77442637a7ec2863c1
DIST python-gentoo-patches-2.7.15.tar.xz 16208 BLAKE2B 5739c2b3a236d48f8e33f0fe6515bfe7a8f99096f6223b402653988feac2513d37d26b6e40e5e049852f42657358170e468ca60097e0e2294e760787c12ad591 SHA512 687fd008d1d41b1e65ce5417f6f6aba84ffd42f7af44ef97c03a7806b28e6888f8df043a0c15187a8b229cc17642853e6feb25494db97f4d10f8a66f8ebcbcca
DIST python-gentoo-patches-3.4.5-0.tar.xz 12044 BLAKE2B 7fb3cc7dcd987debd5aa263d8e26b21aad439d8e3177c06c3683406a53bbda9652175673b09b6300f6a5b62148190cd8a75c9b65a5de04d770866733fcc0ebcb SHA512 108a4845667ecdf4001fcbeffab0cfbbac87439a449a7351428b0f3e2f159e3848ee0c0dfa45c9fba893b9f9584b33722fc8bb0bd7485a1d0909c3a35ede6ed8
DIST python-gentoo-patches-3.4.6-0.tar.xz 11728 BLAKE2B 2a636f5500f4c7d354f421133f086cba9a25c30d5feaaa2dc25c9c588125d7c9097baecaa11f31548fa598b5dc137ca310ad86222510c0a955fa632a6d0a4b06 SHA512 41c22dc8f1db8800fc0b97eed2b27bf1873e5de1369bd4aecf7a7a91e609a78e45a4b56fc89d575317f33a7704c0c1cad1494e8a993415a198f256e8338f49ab
DIST python-gentoo-patches-3.5.4-0.tar.xz 11704 BLAKE2B 4a7d71feff18c7c8c109bed10748348484d314183c3de3ec950d5ca5ce7048bb322c470f3f5bff2d63eb7f2ed99c0fe75c621df050273d9d118681b28926061d SHA512 d395a87695f700598026038d6929ea5038abd7d494294037a4dfa02d5262203dbbaa6ae258a5a7f35ff5542f6266dcf69cc0b9c3df2a047cd2f6699a87e182ec
DIST python-gentoo-patches-3.6.2-0.tar.xz 10744 BLAKE2B 3075754627617ac2ceee879eaf1a0e6564505655cdbdff380233a09df701a6188d64fe1f6a8c642b1fb05ef3c460a07042b6a362d655cd02717d6d9ba47983a1 SHA512 2aac1700c541202aa4f43bff4cb521b996d52ab350133318abaddb43f4b6e20548f37de472ace8024ef325ebf63fdfff0d43f8aa1f717d3c56f974b7aa1764e3
DIST python-gentoo-patches-3.6.4.tar.xz 12888 BLAKE2B 7cf49ae22df53e855f2e99df51686b5d4bd0da82ef4c22836e24726ea9ed561808352c0305a5659b052d38b843f1ff61b6466a7bc3673b7e5cfb4d81d22fa4bc SHA512 90a1b685f2539872ffd67f96581f70145b7afaf18af19f4a7f4a61214103d2a10bf0069c1769dac229ae011fceaf8538f041082b33c1671905246d018d184dd7
DIST python-gentoo-patches-3.6.6.tar.xz 13876 BLAKE2B 4be56b54e70c9b83209734097e03a7dbaa8f46ae13e268fc6a7f465ffd052ce03ca9e1fc45f1d432f2de17d4ce16ca8bc684b24344862cd8f52f9d1a90d90b7a SHA512 534b9eaefcbc45908119852a103bf10e400a8628c66aa599812fbceda36810d626d33e6701d1b7866e4df68397f717df6a217cb414049ca6f378eff9f43a27ab
DIST python-gentoo-patches-3.7.0.tar.xz 12268 BLAKE2B 758b635ff53b6f7bfabb1db632ee2a5c14b163d6d6f14e4e44c31c9ac1591d411f597d42b05707f586f9ff7c3a030703502307bae732bcf003987939eb5b036d SHA512 19dd5bac06bb40622e74e3b16c7fba83f1178417e686eaf61b2b207602c76beebc8c78d675e401ec4d18add1ca033fd47baf2e48e9abb487593b7d821bcaf509
DIST Python-2.7.18.tar.xz 12854736 BLAKE2B 060a621c91dd8e3d321aec99d44c17aa67381998256a1a002d316b38288349884d5960de35c49352d03129ed0bae599e641ec2225898158ebce50a7a2fd74d2c SHA512 a7bb62b51f48ff0b6df0b18f5b0312a523e3110f49c3237936bfe56ed0e26838c0274ff5401bda6fc21bf24337477ccac49e8026c5d651e4b4cafb5eb5086f6c
DIST Python-2.7.18.tar.xz.asc 833 BLAKE2B 1d98770e46171971fb99994508d238c01d2755281d2f94353314014d9e83e0ec5f0b3e3950ea1fdf5fce9ba6b8f55312355845c2a3fc4291c27ee56fe6215448 SHA512 c2a5f5a52f47dec52460ad3275758d4e5de6e7075c3def4353c988d74d563a39b42cae2d5eb24e2a23a6247cef69100f91620b11a49c2359fbf99b203c9cbda8
DIST Python-3.10.0.tar.xz 18726176 BLAKE2B 77143edf733cadf7e52327a58782f0617b1dd0d132cf58e0f26d37a454bb97f82e7931118a6a71f22779d9b6ec4efca974c43c19a6338b4b24a9fd616b60cc89 SHA512 82b2729afc7d72a80882f199970667dce7d971a2e5ecfe6cf84f7b68612ab2caf6ed6d7a8cb81f24ea85cb0816464bb2e8b2e6884eda62fa40742edc674193bd
DIST Python-3.10.0.tar.xz.asc 833 BLAKE2B 295df19932ea076bb1a50acb38782055ff34fb235df0380fa361727eedb3ca68aeca2a31419de5b05ce128c2e21ad04605c226e7a61d508a17607f615e46e570 SHA512 67236e02bc49da1423717cb54216b745f613ba2fc4b372a4aa15a36ab15fe69d9b9087070382957d480df7576d13056caedcd979fb56531799a1190b822f673d
DIST Python-3.11.0a1.tar.xz 18678136 BLAKE2B 1a28fdc2bbbb60896240b4a7bc361f060205dae51fa2d0e4f981752d81c14f1a28ebef09960ea82d5158e874d0e335ee45f69d968f7433ce4c0d02978ad39c95 SHA512 3705fa3d05fccd491fba981c9495d5b36793f284a39b267a5ff7b25c7f08de84bbd5afe200296cedd1cc55f495fd3efc55d7b34910e1be1a785ce5772b857d7a
DIST Python-3.11.0a1.tar.xz.asc 833 BLAKE2B f5c6064e8b9de17bc22d60b0ae52a9aa887823a9a52fc8fff1e9d29e05c4c1392841a7c492fe69b426be4ee945f0cbfed7ec0d31604e488458d6c61583a051dd SHA512 b9d1542f215b5633835d21de0311d324c62e53b7afc525c00d26c863740fd01cc8c18a6ecb0a8ce8d38bf543cebdb64f0930f9201a8968dbbedf58fe9ad4c05c
DIST Python-3.11.0a2.tar.xz 18714064 BLAKE2B 54680f117b639fdebbe1300df4d4fcc43099d30d146861577eee7ad5d9a7de43b54bec0f058db58d4d7067a8ab31cbe344a276c837dddcd3df9105d2a5aa615f SHA512 9a7c4d2be0cdf5801aaf6ec6337390a2f0e711badf0e0e35bcf0e5c98f652c68cf523afb991e87f4a1d1604eed3d19c56654d55922986ab27234e82675b20391
DIST Python-3.11.0a2.tar.xz.asc 833 BLAKE2B f3714b71fc1e167e2d5a9989003159606a5eb5288f6d44c5332d7fe101be79e411f035ad1fcc3acd930f9e02377ed8c45f6b981827405dc501b8b074b5eb3dcf SHA512 617181a854c884c6d3a79368000ca82430bc391573ae3a1b25f69939bce3d2d365e8ca7166d941856a78f3598ab4e7720a144ecb6c3a9de1aff5928799c2988d
DIST Python-3.6.14.tar.xz 17218148 BLAKE2B efe655cb907ffa678ca135f88ba9d867e523969ad82dbc09ffb6d8d383824a4b43c525e156a3c35484a526b4b3ea755109e5ef15d17852d44e3351c307fc5e91 SHA512 15b82b7285db97cb27a6fcd57ce9e258fdf8dbdb2f00e22e4331161b8557c8244342546c4143e84c72730759e0276770396b6ca5bb7cf87310cca8e175423006
DIST Python-3.6.14.tar.xz.asc 833 BLAKE2B 81c79dca5728b21b8c2badcaa1242836f1cf13984bb755463cfe9e4fd96a02ebf31f1a9239759a937c6d6a04c18bfc682a82cb0ab2e5a473de153423a7248c9c SHA512 600bf504f2c0d3ce7d1e8e953b4f27a7a7c996b7b9cd70efb876178fa5424130bff5414d5ac7deb8b45103ed417fd40d830613db39750d35a0c967c8fdfea50d
DIST Python-3.6.15.tar.xz 17223796 BLAKE2B c139c6f93ea70ad898d5626dfa964280a14de9676f0d9d55668ad91618b1ba330874cbba8d6526a87e53b585ff34e3bf242613ca3fb17ee60f362a9676306c7d SHA512 f1894d704c91669d94ec83b5631288bf1e0c73ddcf33cea0977575f262eb672caebc8ac00e34e9b99c321c19cc9a71d6081fa957bb8e23cf5bfba50f345145ef
DIST Python-3.6.15.tar.xz.asc 833 BLAKE2B c910f2367ed947ff6b33380bf8fee318c65d6e5fb0c4a847fd8f2761bbae81dec07b729b31eca060916264b6a0ccf5c52ca72181b3db79751df7697a426a8939 SHA512 cdc93e5d8fb2b5b48a1560a55bba4680adea10e35c8c38b4c51cfd2f6ba54ab2a5d4e5f71b78b889f98cf8ad9d598e0f4e019d50cc16f7db57f9d292a860fcfd
DIST Python-3.7.12.tar.xz 17401916 BLAKE2B f01b5cc54cd0ffe2e8756767c624dda8d2fbf24e90f22a16b5a406dad995ef218613db10f0b3fb2da0ece50ccb02c8a8e007ceb0842ce9e93ee9df7348ef1528 SHA512 e1a5942908c1d1469c0ab129fb4287d4ba6eb2a030e88fd71c043fe187a1bc86c00878dab29147199617a361a0c60d9e720fe3bc58bc7bc4cc8ec4bb50c7ea2a
DIST Python-3.7.12.tar.xz.asc 833 BLAKE2B 587fcf019f4b07b811834d7279b9861eb709731a431be9cbe8f5b868ac72b6d9a4de8b24e3fefd6b339813299514a0ac12b5f627acd04c185ff8dea22a044723 SHA512 a47003dd5c784eca4e3c34dc8705d1171043e060f3a97e4dd63ce4aec2bceac56d7e808924d63b2a38f9a020bf799cf29e5055fb444b9b2c3f03976d47122355
DIST Python-3.8.12.tar.xz 18443568 BLAKE2B 73413aee7a31347ac4342718a54d23d4036220262c4cd41cd50b06c3b1698d52d11cf7ac2c781b919f2cdb0dcb6397d623c463dcdcd1edca99abbbce239a3c6e SHA512 2f93fe5ff83f470c7b6a1b7f29f499a2a010fabd649e9fe65ad3fbfa21b6e1966e77c9b7ac012d978159bc3fe63fec2d64bc6982fc2ee1714d3fa0e47631f279
DIST Python-3.8.12.tar.xz.asc 833 BLAKE2B 33f59aa667555832ee510d2a7295079f34a3983dfa84beab20b33ec691ea3eecfcc4a62591fe233fc30622d0236ee69a3d41b8922ee2f4c632df3523d565c3ec SHA512 ef552b716a721f410abb14387594c8b0ddc65ce4b8a6ae6bf920c1db2ea9ddf6bbf547e93d3716495ae31848eb1049aae4257016e888393681bbfb6f6529bc12
DIST Python-3.9.7.tar.xz 19123232 BLAKE2B 69dfba6974c8c74de1b71977d28cad4d7c26615695f48a99444d2eb83d657b4bd8d22e7f6e94b1b2dcbcc5605c0aee08c609b9564e306f48588e2a7f471209b2 SHA512 55139776ab58a40f9e1e70613d7071d559ef9e51e32a77791422aac134322c21a49f0348c42813214b69789c589367eae43e16d4ae838a73daf37617e966b735
DIST Python-3.9.7.tar.xz.asc 833 BLAKE2B 2d9c47e47d9a625e393a8b456dd5b10dd485fc13ca7c236b5fd304c373879bea8ab3c67ff99c3a81350443f6ccba20718466a221a05faada6b82cfe92943fdbf SHA512 7ff9f845f520efab3b4a0e95da3ffe055ee5777a4173a5b2cc1fd2419dc2b4faf30d1e711e372df36e34bc971ecfcde88a7cd815cfe2d8080ccb575a1ae8e101
DIST Python-3.9.8.tar.xz 19149464 BLAKE2B 739eb22bae8b44cf5be9a24ca6ecacb80eaca65684abf1fef18b7adcac9adede2eff60e8a9ac5db2672511d180d6079c39e2ff2901ab454c0876ae8e1bfe96cc SHA512 5d5b46a242525b2e6a7f9c69c63c6d7cd985e1443a7d9b716107e75f14fef7b5c9c2e5e8a90adbbbf5f7a8b90a483d01e18c1732470e6e54b611b5aba9f99fe1
DIST Python-3.9.8.tar.xz.asc 833 BLAKE2B ec94293d0d28398b425a0a6cd502f6540b23f6788874160216d0575fe23a4ad8e5636c5d4deae7bc193d00bd18aff12f935a6ea807786a87f041046d6693fd20 SHA512 1329a8e114feb010bb3618472cddd9fdea59fc38e9583002eb457e1c0cf1716bd7c0d51887e91b9eef09c3977879aa4be9909e5997be7dfdcca08ca04794bfaf
DIST Python-3.9.9.tar.xz 19144372 BLAKE2B 3a144ca5e4b11b2fd09d05a4a40ddf3f622c077338602c519b21ea827c96e0f14ab97563c0a9d306ae4a5c3f44753573a07474dc084fb364d24b2128bb378ddd SHA512 0ab29fb9a7ecb808bd08d84d28908d5a934e0f021853da0f7a9c94670eb30c8dbbc233d461afdb3995b0de59275ef7e1de43e82d7f848802cbd6e6e50b7b25a6
DIST Python-3.9.9.tar.xz.asc 833 BLAKE2B 41d05ee1ec256f0cab4e9d3540877783745f0f30e3f1177d01096b352341a90893c5c9523926bed8176bd304cbb1fd6619be3b4e375103874eac5e5ebc113135 SHA512 84fb739c60216ab9a7a487a0ec4039a7e85c7684ef1f71d8b3bc415ff2ae284f79474103ae05385502bc2510401f8cfb33d84dccf5d0ea9a0dd62528519d935f
DIST python-gentoo-patches-2.7.18_p13.tar.xz 33296 BLAKE2B 91b711458aff4f6337ee1b34aff58d7edda6725644a64c9320076a1e04c816729ed163d82333cfe4dfef379a9ad5ef50ba00abdbbfed4503b0f92c8f0b7ca683 SHA512 97f3657a4a95e8492aa710801b974a56e6dd4636e475aea45cbbe76e7ae32d00f07b05769887f05e49cb0df8584ac9499a7ce842bad77f837a7c869f9b769b07
DIST python-gentoo-patches-3.10.0_p1.tar.xz 10068 BLAKE2B 1c9817b449831559f0a0b722c02a5f55d94b3dfde98e5882c1403fe24a4addf7074ab39c09b91cff6fd7ace2e4b6e8ed899d9a0b9ffd6612ce315c4c192bd309 SHA512 39aa41dbf17b6dc5255491c75031a3dae6962b44125e426dbfdce365a6533c5dae9856b1fff8016a189124b7cff72d2665ce99da344c2f9dff005ba685e8c2c4
DIST python-gentoo-patches-3.11.0a1.tar.xz 9468 BLAKE2B 9bbc0c41d366752d2481c19070d71c27f88fd605e35e62f6b86498cb537051e92972f3c3f7b234485fd07e2a6ac4e4d6701e03e7893897531da58fbaaa609e76 SHA512 a06274c8c1d772121ac9570125eea12a4e53bcac030b8f4f3c5c76d68fc475df3f073a4dffe55614ced9cf031c7581e428b1cee67078c63d4f41e0a51e372e41
DIST python-gentoo-patches-3.11.0a2.tar.xz 8472 BLAKE2B 440e31d70895a537bb89099cec440bd5de56cc3ddb65d71483f5f82eeb253fe4a99f87c41b8ad28ed039ffaa3eb48674de15b9e031572fd81aba4c1c79ad2ec0 SHA512 f87a7550fa20027c870500babcc8893c2c4dcaf68a25d8096e0edfa1f473fefbd0117bd847514f2784fe22cb0027b3b269c7bc7d7395c1f96932a56d02bfd404
DIST python-gentoo-patches-3.6.14_p1.tar.xz 16576 BLAKE2B 902a9073e6d3e40cfba105680d9947b64a4bfa1632381bc71afbd2691350dccb36f498bf17ac7dfc8ce331dfc3fb7e3cdd539cea3f5e9db1c49210ad4d124182 SHA512 4aa354f1ca8d9bb3c30b666ef61cac8380741342102aeb9ea77cc06ae62179f595acc1c2e6321e9c2395abbc3fbc649ecc93b80443d139859924524989539992
DIST python-gentoo-patches-3.6.15.tar.xz 15300 BLAKE2B f49fd96f6ad1a1c94fea6b83acd229a81754b86061e243044ead4b9a9d5122a2e43b270b68722c359c084c05a566a3ad70aa46588ab7a005ee560ee118b92b8b SHA512 cc33491a33f3f1d990cf494d53b91b74db761142e8aebe1bd4b128ef10a268ff945e5ba08daad39cee095612a8e52265d6988873ecf9c073377cbbc10735aa39
DIST python-gentoo-patches-3.7.12_p1.tar.xz 19112 BLAKE2B e9964244af3db544dd6e96d85ca4bc24d7131b48eda85df5bafa3fb36474a024cecbbf4b27324e1f35f76ae6a1aed31dd7896e831b79b574b45a4371afcc7e5b SHA512 9ec996c2904f99bd6651ed1b700eabd91f2b82b1e9e0f3d9572243886a9c7139bf8ac2af04169485d3ca6339e1a87044cba203f6f0aee9609d2a1d53c812548d
DIST python-gentoo-patches-3.8.12_p1.tar.xz 16632 BLAKE2B cce7a41d020af1ffc55a01ef67b20bcb16c68adbccc1e44ef166d1707e817ed6c3bae70f84c56553f27bca449015e273014c0be73bc2f9b4e25844ddce385486 SHA512 4621727c2e9cc1c5519e021210e16a97e7167ea831445dfdd07f5b0ed642b5919834244111708a971ce098b10b439797e1c76827eccab803f801052c671f1ae6
DIST python-gentoo-patches-3.9.7_p1.tar.xz 14444 BLAKE2B c976beb1205b0b777ff3375f538758bf28443bcf4c953fe161545791763da043e32582c398ec8151478afc40e53f963e080d29420066305c12963c953887e4b8 SHA512 283c8975885f9306e46a0047219f3a70e1000f3401affb0b55cde976be6fb6df2f1c13f4e05a479e72e0731d683fef9b22413f7cd320298295a31b19c8915b3d
DIST python-gentoo-patches-3.9.8.tar.xz 13192 BLAKE2B 995bead7e87b1d2eb9984012065c0f752d51e5a78dd9019270e071f83660cdab71c39e5be0104919f5af9089dede71d9c918a521f76e67c6ef1aeab5ffb58991 SHA512 80dfa3766bb5546924a5fccf4f469ce409cb8a4b0873c3d2fb737b3eb27b7c2b29337e0179624bbe077273b8e475f7921d6479ca7eb8e31ba423d0cea2f3d1cf
DIST python-gentoo-patches-3.9.9.tar.xz 13200 BLAKE2B 672e3b79094cbc791988639a5dde4c9e5622e91bef4310d26838716c65763ca69a12c6afef2f19487f4389974af009896e452c19783b0a491072d13f893af7e9 SHA512 3cd4ddd070ab48d9978e1136d237fc24030fd3ce6704371ce99815702a45d839ee26c7e9552b004661827759edd30222434e4166f9ee16f873ad4783c83f723f

View File

@ -1,21 +0,0 @@
--- a/setup.py
+++ b/setup.py
@@ -1346,17 +1346,7 @@ class PyBuildExt(build_ext):
else:
missing.append('resource')
- # Sun yellow pages. Some systems have the functions in libc.
- if (host_platform not in ['cygwin', 'atheos', 'qnx6'] and
- find_file('rpcsvc/yp_prot.h', inc_dirs, []) is not None):
- if (self.compiler.find_library_file(lib_dirs, 'nsl')):
- libs = ['nsl']
- else:
- libs = []
- exts.append( Extension('nis', ['nismodule.c'],
- libraries = libs) )
- else:
- missing.append('nis')
+ missing.append('nis')
else:
missing.extend(['nis', 'resource', 'termios'])

View File

@ -1,40 +0,0 @@
From 5635d44079e1bbd9c495951ede8d078e7b8d67d5 Mon Sep 17 00:00:00 2001
From: Victor Stinner <victor.stinner@gmail.com>
Date: Mon, 9 Jan 2017 11:10:41 +0100
Subject: [PATCH] Don't use getentropy() on Linux
Issue #29188: Support glibc 2.24 on Linux: don't use getentropy() function but
read from /dev/urandom to get random bytes, for example in os.urandom(). On
Linux, getentropy() is implemented which getrandom() is blocking mode, whereas
os.urandom() should not block.
---
Python/random.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/Python/random.c b/Python/random.c
index af3d0bd0d5..dc6400d3b8 100644
--- a/Python/random.c
+++ b/Python/random.c
@@ -67,9 +67,16 @@ win32_urandom(unsigned char *buffer, Py_ssize_t size, int raise)
return 0;
}
-/* Issue #25003: Don' use getentropy() on Solaris (available since
- * Solaris 11.3), it is blocking whereas os.urandom() should not block. */
-#elif defined(HAVE_GETENTROPY) && !defined(sun)
+/* Issue #25003: Don't use getentropy() on Solaris (available since
+ Solaris 11.3), it is blocking whereas os.urandom() should not block.
+
+ Issue #29188: Don't use getentropy() on Linux since the glibc 2.24
+ implements it with the getrandom() syscall which can fail with ENOSYS,
+ and this error is not supported in py_getentropy() and getrandom() is called
+ with flags=0 which blocks until system urandom is initialized, which is not
+ the desired behaviour to seed the Python hash secret nor for os.urandom():
+ see the PEP 524 which was only implemented in Python 3.6. */
+#elif defined(HAVE_GETENTROPY) && !defined(sun) && !defined(linux)
#define PY_GETENTROPY 1
/* Fill buffer with size pseudo-random bytes generated by getentropy().
--
2.15.0.rc2

View File

@ -1,37 +0,0 @@
From 2e7c906c085a01ea8175a19e1e143257abc8f566 Mon Sep 17 00:00:00 2001
From: Mike Gilbert <floppym@gentoo.org>
Date: Sun, 30 Jul 2017 11:17:39 -0400
Subject: [PATCH] blake2: remove commented code
The nested comments cause a build failure.
Bug: https://bugs.gentoo.org/608586
---
Modules/_blake2/impl/blake2s-load-xop.h | 11 -----------
1 file changed, 11 deletions(-)
diff --git a/Modules/_blake2/impl/blake2s-load-xop.h b/Modules/_blake2/impl/blake2s-load-xop.h
index a3b5d65e2d..7e76c399c6 100644
--- a/Modules/_blake2/impl/blake2s-load-xop.h
+++ b/Modules/_blake2/impl/blake2s-load-xop.h
@@ -18,17 +18,6 @@
#define TOB(x) ((x)*4*0x01010101 + 0x03020100) /* ..or not TOB */
-/* Basic VPPERM emulation, for testing purposes */
-/*static __m128i _mm_perm_epi8(const __m128i src1, const __m128i src2, const __m128i sel)
-{
- const __m128i sixteen = _mm_set1_epi8(16);
- const __m128i t0 = _mm_shuffle_epi8(src1, sel);
- const __m128i s1 = _mm_shuffle_epi8(src2, _mm_sub_epi8(sel, sixteen));
- const __m128i mask = _mm_or_si128(_mm_cmpeq_epi8(sel, sixteen),
- _mm_cmpgt_epi8(sel, sixteen)); /* (>=16) = 0xff : 00 */
- return _mm_blendv_epi8(t0, s1, mask);
-}*/
-
#define LOAD_MSG_0_1(buf) \
buf = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(6),TOB(4),TOB(2),TOB(0)) );
--
2.13.3

View File

@ -1,21 +0,0 @@
--- a/setup.py
+++ b/setup.py
@@ -1332,17 +1332,7 @@ class PyBuildExt(build_ext):
# Jeremy Hylton's rlimit interface
exts.append( Extension('resource', ['resource.c']) )
- # Sun yellow pages. Some systems have the functions in libc.
- if (host_platform not in ['cygwin', 'qnx6'] and
- find_file('rpcsvc/yp_prot.h', inc_dirs, []) is not None):
- if (self.compiler.find_library_file(lib_dirs, 'nsl')):
- libs = ['nsl']
- else:
- libs = []
- exts.append( Extension('nis', ['nismodule.c'],
- libraries = libs) )
- else:
- missing.append('nis')
+ missing.append('nis')
else:
missing.extend(['nis', 'resource', 'termios'])

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