mirror of
https://github.com/flatcar/scripts.git
synced 2025-11-28 22:12:10 +01:00
Merge pull request #1317 from flatcar/buildbot/weekly-portage-stable-package-updates-2023-10-30
Weekly portage-stable package updates 2023-10-30
This commit is contained in:
commit
86ea05a65e
@ -2,8 +2,6 @@ DIST berkeley-softfloat-3-b64af41c3276f97f0e181920400ee056b9c88037.tar.bz2 84094
|
||||
DIST berkeley-testfloat-3-40619cbb3bf32872df8c53cc457039229428a263.tar.bz2 90086 BLAKE2B ab2070622453a7a0a1fbcf234df68cc7316474c04482b2ac13c700edbb5624968c5274f337dc84f06c4ab6c3e82698cd7b0b30fe206d004b0715f15a2cc7cfd1 SHA512 969892af9fdf16d45660753ed02bbd8d6159928e5e6ef2f87aed8a08d995bb19d2115fb6b559522074492b2595716d314c5c059bfa69c7fbb5aab9275582c22e
|
||||
DIST keycodemapdb-f5772a62ec52591ff6870b7e8ef32482371f22c6.tar.bz2 27971 BLAKE2B 0ed69ad24c53bd459c8753565814bcc1cd858f20d3a046c38912a35bcb0ba6d388ef5d2b93157cd028959284b330caf5467d82071c3df56a405dd8e08fd177c7 SHA512 8f2cc14e8bd46cb045e3ebfe32e463793ab7472ebda9b57b8ea0b06fa107a1a99c3ebcacb9c4548e30698d8ec154c0e56f789385201182b680819b8068a103f2
|
||||
DIST qemu-7.2.0-docs.tar.xz 1984184 BLAKE2B 103900fb7903ed8d75f7f012bf61fa2d6fce345b657c851d0437c3384f5735bd1cfd3129320683ea7846ea0b0940e5af5b2663c9320f12fee74b058523a8ea06 SHA512 a7edd448982865e07533c300d3e44a8b50cefbdde1982b73c24d0b2aa74315439252c59b634c75de312860874c7b06c75aa72629da681b5105f28ee936794585
|
||||
DIST qemu-7.2.0.tar.xz 122408576 BLAKE2B 415ff621356c59f88b29cfe3ef5db1e282b26bbafbee3d535477c6125ccb060ec9762d9e3ab9f70ce5478804dca0a46a59bcf12c112a2462029a93e578e61530 SHA512 f3cfa00da739ba819a218d7e6e95c77fb79a8e0f487b024ddd281602e785249b81144595e3f8c746c32a4f5c4d1a88c6aebae3c162603edfbb50ae3722d7ed13
|
||||
DIST qemu-7.2.3.tar.xz 122395692 BLAKE2B 4e65cac7505a56da85c1d98dc6029d516dd4f07f0211ea5213724d231d448d9b49cc91a3058a2a89908608078854d97da480e6f0bc7ce47d9555c2bb1177fbdc SHA512 09523d456175da47d58d8d56fe9a95416ee3e6fd8aa7766383033396a1e5bd10f7758832f7f2b8662068ef94b21ab6a3a351c9158fb6bde0e1d7d5fb393bf6c7
|
||||
DIST qemu-7.2.4.tar.xz 121849100 BLAKE2B a9c5ffce9ff0fac4e2d1fa4be1a1dcee2f5d7f793ddf726871c5ae9a68c22f7ba03692a8a5096de3051030d3c2f34e46697d5af2d66c34984b8161ae3bb07b42 SHA512 fa765673833a1f2cbecdb9d47dc7dc29d7613be5a5c8fc63925ae70e1f5aafb4f9f02e45b212a329f17b689351b8a9cdf5f5235ab6adb71bb40e41868898d95b
|
||||
DIST qemu-7.2.6.tar.xz 121322888 BLAKE2B c3f51cc1647f5c75774513f624c2e1a1e4badd7275c9f9a64a175809daf17d0b3c58eab0c36fa98fc46834d4d79f8552d1c9f34e840ee21ddd049cc3adba480a SHA512 534fffe2d751a707a7cf15db8d5b9eddc2468fd7fe875715e79ee879fb20d7370553588384d345b586eeaddf9284de36f2d0d69f747380ee55161cc6eb09bf30
|
||||
DIST qemu-8.0.0-docs.tar.xz 3218024 BLAKE2B b764a625024e78a39470048355471e12cfb57ab3c34e764dc4200fdf5c1aea635d26095ec961979bf46f177101c5bd38618bacf7e98e04bd64688ab5e29591aa SHA512 d9dfe191372e105fe16fe8f66f41ed793ade4c89b5ab1d84b39459f3419a1ca61bd49422a83981965cc257c05eca7fd49054703f58f179f5c7b656e9473a1054
|
||||
|
||||
@ -1,973 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs
|
||||
# Set to 1 if prebuilt, 0 if not
|
||||
# (the construct below is to allow overriding from env for script)
|
||||
QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1}
|
||||
QEMU_DOCS_PREBUILT_DEV=ajak
|
||||
QEMU_DOCS_VERSION="${PV}"
|
||||
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
||||
# bug #830088
|
||||
QEMU_DOC_USEFLAG="+doc"
|
||||
|
||||
PYTHON_COMPAT=( python3_{9,10,11} )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
FIRMWARE_ABI_VERSION="7.2.0"
|
||||
|
||||
inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \
|
||||
pax-utils xdg-utils
|
||||
|
||||
if [[ ${PV} == *9999* ]]; then
|
||||
QEMU_DOCS_PREBUILT=0
|
||||
|
||||
EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/"
|
||||
EGIT_SUBMODULES=(
|
||||
tests/fp/berkeley-softfloat-3
|
||||
tests/fp/berkeley-testfloat-3
|
||||
ui/keycodemapdb
|
||||
)
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
else
|
||||
MY_P="${PN}-${PV/_rc/-rc}"
|
||||
SRC_URI="https://download.qemu.org/${MY_P}.tar.xz"
|
||||
|
||||
if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
|
||||
SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )"
|
||||
fi
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
[[ "${PV}" != *_rc* ]] && KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv 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"
|
||||
|
||||
[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc"
|
||||
|
||||
IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG}
|
||||
+fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring
|
||||
jack jemalloc +jpeg
|
||||
lzo multipath
|
||||
ncurses nfs nls numa opengl +oss pam +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 virgl virtfs +vnc vte xattr xen
|
||||
zstd"
|
||||
|
||||
COMMON_TARGETS="
|
||||
aarch64
|
||||
alpha
|
||||
arm
|
||||
cris
|
||||
hppa
|
||||
i386
|
||||
loongarch64
|
||||
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
|
||||
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 )
|
||||
qemu_softmmu_targets_x86_64? ( fdt )
|
||||
sdl-image? ( sdl )
|
||||
static? ( static-user !alsa !gtk !jack !opengl !pam !pulseaudio !plugins !rbd !snappy !udev )
|
||||
static-user? ( !plugins )
|
||||
virgl? ( opengl )
|
||||
virtfs? ( xattr )
|
||||
vnc? ( gnutls )
|
||||
vte? ( gtk )
|
||||
multipath? ( udev )
|
||||
plugins? ( !static !static-user )
|
||||
"
|
||||
for smname in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( seccomp ) "
|
||||
done
|
||||
|
||||
# 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[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="
|
||||
sys-libs/libcap-ng[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:=[static-libs(+)] )
|
||||
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
|
||||
fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] )
|
||||
fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
|
||||
gnutls? (
|
||||
>=net-libs/gnutls-3.0:=[static-libs(+)]
|
||||
dev-libs/nettle:=[static-libs(+)]
|
||||
)
|
||||
gtk? (
|
||||
x11-libs/cairo
|
||||
x11-libs/gdk-pixbuf:2
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libX11
|
||||
vte? ( x11-libs/vte:2.91 )
|
||||
)
|
||||
infiniband? ( sys-cluster/rdma-core[static-libs(+)] )
|
||||
iscsi? ( net-libs/libiscsi )
|
||||
io-uring? ( sys-libs/liburing:=[static-libs(+)] )
|
||||
jack? ( virtual/jack )
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
jpeg? ( media-libs/libjpeg-turbo:=[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(+)]
|
||||
)
|
||||
pam? ( sys-libs/pam )
|
||||
png? ( media-libs/libpng:0=[static-libs(+)] )
|
||||
pulseaudio? ( media-libs/libpulse )
|
||||
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:1[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:= )
|
||||
zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
|
||||
"
|
||||
|
||||
EDK2_OVMF_VERSION="202202"
|
||||
SEABIOS_VERSION="1.16.0"
|
||||
|
||||
X86_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
|
||||
~sys-firmware/ipxe-1.21.1[binary,qemu]
|
||||
~sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
||||
~sys-firmware/sgabios-0.1_pre10[binary]
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
|| (
|
||||
>=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
|
||||
>=sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
|
||||
)
|
||||
sys-firmware/ipxe[qemu]
|
||||
|| (
|
||||
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
|
||||
>=sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
||||
)
|
||||
sys-firmware/sgabios
|
||||
)"
|
||||
PPC_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
|| (
|
||||
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
|
||||
>=sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
||||
)
|
||||
)
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
$(python_gen_impl_dep)
|
||||
dev-lang/perl
|
||||
dev-util/meson
|
||||
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
|
||||
sys-libs/libselinux
|
||||
)"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
|
||||
"${FILESDIR}"/${PN}-6.0.0-make.patch
|
||||
"${FILESDIR}"/${PN}-7.1.0-also-build-virtfs-proxy-helper.patch
|
||||
"${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch
|
||||
"${FILESDIR}"/${PN}-7.2.0-disable-gmp.patch
|
||||
"${FILESDIR}"/${PN}-7.2.0-linux-headers-6.2-glibc-2.36.patch
|
||||
"${FILESDIR}"/${PN}-7.2.0-tcg-curl-ssl.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-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"
|
||||
|
||||
# We already force -D_FORTIFY_SOURCE=2 (or 3) in our toolchain, but
|
||||
# this setting (-U then -D..=2) will prevent us from trying out 3, so
|
||||
# drop it. No change to level of protection b/c we patch our toolchain.
|
||||
sed -i -e 's/-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2//' configure || die
|
||||
|
||||
# Remove bundled modules
|
||||
rm -r dtc meson roms/*/ || 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}" || die
|
||||
|
||||
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
|
||||
--with-git-submodules=ignore
|
||||
|
||||
# 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
|
||||
--cc="$(tc-getCC)"
|
||||
--cxx="$(tc-getCXX)"
|
||||
--host-cc="$(tc-getBUILD_CC)"
|
||||
|
||||
$(use_enable alsa)
|
||||
$(use_enable debug debug-info)
|
||||
$(use_enable debug debug-tcg)
|
||||
$(use_enable jack)
|
||||
$(use_enable nls gettext)
|
||||
$(use_enable oss)
|
||||
$(use_enable plugins)
|
||||
$(use_enable pulseaudio pa)
|
||||
$(use_enable selinux)
|
||||
$(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
|
||||
}
|
||||
# Special case for the malloc flag, because the --disable flag does
|
||||
# not exist and trying like above will break configuring.
|
||||
conf_malloc() {
|
||||
if [[ ! ${buildtype} == "user" ]] ; then
|
||||
usex "${1}" "--enable-malloc=${1}" ""
|
||||
fi
|
||||
}
|
||||
conf_opts+=(
|
||||
$(conf_notuser accessibility brlapi)
|
||||
$(conf_notuser aio linux-aio)
|
||||
$(conf_softmmu bpf)
|
||||
$(conf_notuser bzip2)
|
||||
$(conf_notuser capstone)
|
||||
$(conf_notuser curl)
|
||||
$(conf_tools doc docs)
|
||||
$(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_malloc 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 pam auth-pam)
|
||||
$(conf_notuser png)
|
||||
$(conf_notuser rbd)
|
||||
$(conf_notuser sasl vnc-sasl)
|
||||
$(conf_notuser sdl)
|
||||
$(conf_softmmu sdl-image)
|
||||
$(conf_notuser seccomp)
|
||||
$(conf_notuser slirp)
|
||||
$(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 virgl virglrenderer)
|
||||
$(conf_softmmu virtfs)
|
||||
$(conf_notuser vnc)
|
||||
$(conf_notuser vte)
|
||||
$(conf_notuser xen)
|
||||
$(conf_notuser xen xen-pci-passthrough)
|
||||
# use prebuilt keymaps, bug #759604
|
||||
--disable-xkbcommon
|
||||
$(conf_notuser zstd)
|
||||
)
|
||||
|
||||
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=$(IFS=,; echo "${audio_opts[*]}")
|
||||
)
|
||||
fi
|
||||
|
||||
case ${buildtype} in
|
||||
user)
|
||||
conf_opts+=(
|
||||
--enable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--disable-tools
|
||||
--disable-cap-ng
|
||||
--disable-seccomp
|
||||
)
|
||||
local static_flag="static-user"
|
||||
;;
|
||||
softmmu)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--enable-system
|
||||
--disable-tools
|
||||
--enable-cap-ng
|
||||
--enable-seccomp
|
||||
)
|
||||
local static_flag="static"
|
||||
;;
|
||||
tools)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--enable-tools
|
||||
--enable-cap-ng
|
||||
)
|
||||
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"
|
||||
}
|
||||
|
||||
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" || die
|
||||
default
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build" || die
|
||||
default
|
||||
fi
|
||||
|
||||
cd "${S}/tools-build" || die
|
||||
default
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build" || die
|
||||
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" || die
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# If USE=doc, there'll be newly generated docs which we install instead.
|
||||
if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
|
||||
doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8]
|
||||
fi
|
||||
|
||||
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
|
||||
pushd "${ED}"/usr/bin >/dev/null || die
|
||||
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
|
||||
popd >/dev/null || die
|
||||
|
||||
# Install config file example for qemu-bridge-helper
|
||||
insinto "/etc/qemu"
|
||||
doins "${FILESDIR}/bridge.conf"
|
||||
|
||||
cd "${S}" || die
|
||||
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
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
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
|
||||
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
|
||||
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:"
|
||||
|
||||
if has_version 'sys-firmware/edk2-ovmf-bin'; then
|
||||
ewarn " $(best_version sys-firmware/edk2-ovmf-bin)"
|
||||
else
|
||||
ewarn " $(best_version sys-firmware/edk2-ovmf)"
|
||||
fi
|
||||
|
||||
if has_version 'sys-firmware/seabios-bin'; then
|
||||
ewarn " $(best_version sys-firmware/seabios-bin)"
|
||||
else
|
||||
ewarn " $(best_version sys-firmware/seabios)"
|
||||
fi
|
||||
|
||||
ewarn " $(best_version sys-firmware/ipxe)"
|
||||
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)"
|
||||
|
||||
if has_version 'sys-firmware/edk2-ovmf-bin'; then
|
||||
echo " $(best_version sys-firmware/edk2-ovmf-bin)"
|
||||
else
|
||||
echo " $(best_version sys-firmware/edk2-ovmf)"
|
||||
fi
|
||||
|
||||
if has_version 'sys-firmware/seabios-bin'; then
|
||||
echo " $(best_version sys-firmware/seabios-bin)"
|
||||
else
|
||||
echo " $(best_version sys-firmware/seabios)"
|
||||
fi
|
||||
|
||||
echo " $(best_version sys-firmware/ipxe)"
|
||||
echo " $(best_version sys-firmware/sgabios)"
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_icon_cache_update
|
||||
udev_reload
|
||||
}
|
||||
@ -1,972 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs
|
||||
# Set to 1 if prebuilt, 0 if not
|
||||
# (the construct below is to allow overriding from env for script)
|
||||
QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1}
|
||||
QEMU_DOCS_PREBUILT_DEV=ajak
|
||||
QEMU_DOCS_VERSION="7.2.0"
|
||||
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
||||
# bug #830088
|
||||
QEMU_DOC_USEFLAG="+doc"
|
||||
|
||||
PYTHON_COMPAT=( python3_{9,10,11} )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
FIRMWARE_ABI_VERSION="7.2.0"
|
||||
|
||||
inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \
|
||||
pax-utils xdg-utils
|
||||
|
||||
if [[ ${PV} == *9999* ]]; then
|
||||
QEMU_DOCS_PREBUILT=0
|
||||
|
||||
EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/"
|
||||
EGIT_SUBMODULES=(
|
||||
tests/fp/berkeley-softfloat-3
|
||||
tests/fp/berkeley-testfloat-3
|
||||
ui/keycodemapdb
|
||||
)
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
else
|
||||
MY_P="${PN}-${PV/_rc/-rc}"
|
||||
SRC_URI="https://download.qemu.org/${MY_P}.tar.xz"
|
||||
|
||||
if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
|
||||
SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )"
|
||||
fi
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
[[ "${PV}" != *_rc* ]] && KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~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"
|
||||
|
||||
[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc"
|
||||
|
||||
IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG}
|
||||
+fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring
|
||||
jack jemalloc +jpeg
|
||||
lzo multipath
|
||||
ncurses nfs nls numa opengl +oss pam +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 virgl virtfs +vnc vte xattr xen
|
||||
zstd"
|
||||
|
||||
COMMON_TARGETS="
|
||||
aarch64
|
||||
alpha
|
||||
arm
|
||||
cris
|
||||
hppa
|
||||
i386
|
||||
loongarch64
|
||||
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
|
||||
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 )
|
||||
qemu_softmmu_targets_x86_64? ( fdt )
|
||||
sdl-image? ( sdl )
|
||||
static? ( static-user !alsa !gtk !jack !opengl !pam !pulseaudio !plugins !rbd !snappy !udev )
|
||||
static-user? ( !plugins )
|
||||
virgl? ( opengl )
|
||||
virtfs? ( xattr )
|
||||
vnc? ( gnutls )
|
||||
vte? ( gtk )
|
||||
multipath? ( udev )
|
||||
plugins? ( !static !static-user )
|
||||
"
|
||||
for smname in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( seccomp ) "
|
||||
done
|
||||
|
||||
# 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[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="
|
||||
sys-libs/libcap-ng[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:=[static-libs(+)] )
|
||||
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
|
||||
fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] )
|
||||
fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
|
||||
gnutls? (
|
||||
>=net-libs/gnutls-3.0:=[static-libs(+)]
|
||||
dev-libs/nettle:=[static-libs(+)]
|
||||
)
|
||||
gtk? (
|
||||
x11-libs/cairo
|
||||
x11-libs/gdk-pixbuf:2
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libX11
|
||||
vte? ( x11-libs/vte:2.91 )
|
||||
)
|
||||
infiniband? ( sys-cluster/rdma-core[static-libs(+)] )
|
||||
iscsi? ( net-libs/libiscsi )
|
||||
io-uring? ( sys-libs/liburing:=[static-libs(+)] )
|
||||
jack? ( virtual/jack )
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
jpeg? ( media-libs/libjpeg-turbo:=[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(+)]
|
||||
)
|
||||
pam? ( sys-libs/pam )
|
||||
png? ( media-libs/libpng:0=[static-libs(+)] )
|
||||
pulseaudio? ( media-libs/libpulse )
|
||||
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:1[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:= )
|
||||
zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
|
||||
"
|
||||
|
||||
EDK2_OVMF_VERSION="202202"
|
||||
SEABIOS_VERSION="1.16.0"
|
||||
|
||||
X86_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
|
||||
~sys-firmware/ipxe-1.21.1[binary,qemu]
|
||||
~sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
||||
~sys-firmware/sgabios-0.1_pre10[binary]
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
|| (
|
||||
>=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
|
||||
>=sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
|
||||
)
|
||||
sys-firmware/ipxe[qemu]
|
||||
|| (
|
||||
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
|
||||
>=sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
||||
)
|
||||
sys-firmware/sgabios
|
||||
)"
|
||||
PPC_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
|| (
|
||||
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
|
||||
>=sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
||||
)
|
||||
)
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
$(python_gen_impl_dep)
|
||||
dev-lang/perl
|
||||
dev-util/meson
|
||||
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
|
||||
sys-libs/libselinux
|
||||
)"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
|
||||
"${FILESDIR}"/${PN}-6.0.0-make.patch
|
||||
"${FILESDIR}"/${PN}-7.1.0-also-build-virtfs-proxy-helper.patch
|
||||
"${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch
|
||||
"${FILESDIR}"/${PN}-7.2.0-disable-gmp.patch
|
||||
"${FILESDIR}"/${PN}-7.2.0-linux-headers-6.2-glibc-2.36.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-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"
|
||||
|
||||
# We already force -D_FORTIFY_SOURCE=2 (or 3) in our toolchain, but
|
||||
# this setting (-U then -D..=2) will prevent us from trying out 3, so
|
||||
# drop it. No change to level of protection b/c we patch our toolchain.
|
||||
sed -i -e 's/-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2//' configure || die
|
||||
|
||||
# Remove bundled modules
|
||||
rm -r dtc meson roms/*/ || 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}" || die
|
||||
|
||||
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
|
||||
--with-git-submodules=ignore
|
||||
|
||||
# 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
|
||||
--cc="$(tc-getCC)"
|
||||
--cxx="$(tc-getCXX)"
|
||||
--host-cc="$(tc-getBUILD_CC)"
|
||||
|
||||
$(use_enable alsa)
|
||||
$(use_enable debug debug-info)
|
||||
$(use_enable debug debug-tcg)
|
||||
$(use_enable jack)
|
||||
$(use_enable nls gettext)
|
||||
$(use_enable oss)
|
||||
$(use_enable plugins)
|
||||
$(use_enable pulseaudio pa)
|
||||
$(use_enable selinux)
|
||||
$(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
|
||||
}
|
||||
# Special case for the malloc flag, because the --disable flag does
|
||||
# not exist and trying like above will break configuring.
|
||||
conf_malloc() {
|
||||
if [[ ! ${buildtype} == "user" ]] ; then
|
||||
usex "${1}" "--enable-malloc=${1}" ""
|
||||
fi
|
||||
}
|
||||
conf_opts+=(
|
||||
$(conf_notuser accessibility brlapi)
|
||||
$(conf_notuser aio linux-aio)
|
||||
$(conf_softmmu bpf)
|
||||
$(conf_notuser bzip2)
|
||||
$(conf_notuser capstone)
|
||||
$(conf_notuser curl)
|
||||
$(conf_tools doc docs)
|
||||
$(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_malloc 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 pam auth-pam)
|
||||
$(conf_notuser png)
|
||||
$(conf_notuser rbd)
|
||||
$(conf_notuser sasl vnc-sasl)
|
||||
$(conf_notuser sdl)
|
||||
$(conf_softmmu sdl-image)
|
||||
$(conf_notuser seccomp)
|
||||
$(conf_notuser slirp)
|
||||
$(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 virgl virglrenderer)
|
||||
$(conf_softmmu virtfs)
|
||||
$(conf_notuser vnc)
|
||||
$(conf_notuser vte)
|
||||
$(conf_notuser xen)
|
||||
$(conf_notuser xen xen-pci-passthrough)
|
||||
# use prebuilt keymaps, bug #759604
|
||||
--disable-xkbcommon
|
||||
$(conf_notuser zstd)
|
||||
)
|
||||
|
||||
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=$(IFS=,; echo "${audio_opts[*]}")
|
||||
)
|
||||
fi
|
||||
|
||||
case ${buildtype} in
|
||||
user)
|
||||
conf_opts+=(
|
||||
--enable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--disable-tools
|
||||
--disable-cap-ng
|
||||
--disable-seccomp
|
||||
)
|
||||
local static_flag="static-user"
|
||||
;;
|
||||
softmmu)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--enable-system
|
||||
--disable-tools
|
||||
--enable-cap-ng
|
||||
--enable-seccomp
|
||||
)
|
||||
local static_flag="static"
|
||||
;;
|
||||
tools)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--enable-tools
|
||||
--enable-cap-ng
|
||||
)
|
||||
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"
|
||||
}
|
||||
|
||||
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" || die
|
||||
default
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build" || die
|
||||
default
|
||||
fi
|
||||
|
||||
cd "${S}/tools-build" || die
|
||||
default
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build" || die
|
||||
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" || die
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# If USE=doc, there'll be newly generated docs which we install instead.
|
||||
if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
|
||||
doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8]
|
||||
fi
|
||||
|
||||
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
|
||||
pushd "${ED}"/usr/bin >/dev/null || die
|
||||
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
|
||||
popd >/dev/null || die
|
||||
|
||||
# Install config file example for qemu-bridge-helper
|
||||
insinto "/etc/qemu"
|
||||
doins "${FILESDIR}/bridge.conf"
|
||||
|
||||
cd "${S}" || die
|
||||
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
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
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
|
||||
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
|
||||
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:"
|
||||
|
||||
if has_version 'sys-firmware/edk2-ovmf-bin'; then
|
||||
ewarn " $(best_version sys-firmware/edk2-ovmf-bin)"
|
||||
else
|
||||
ewarn " $(best_version sys-firmware/edk2-ovmf)"
|
||||
fi
|
||||
|
||||
if has_version 'sys-firmware/seabios-bin'; then
|
||||
ewarn " $(best_version sys-firmware/seabios-bin)"
|
||||
else
|
||||
ewarn " $(best_version sys-firmware/seabios)"
|
||||
fi
|
||||
|
||||
ewarn " $(best_version sys-firmware/ipxe)"
|
||||
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)"
|
||||
|
||||
if has_version 'sys-firmware/edk2-ovmf-bin'; then
|
||||
echo " $(best_version sys-firmware/edk2-ovmf-bin)"
|
||||
else
|
||||
echo " $(best_version sys-firmware/edk2-ovmf)"
|
||||
fi
|
||||
|
||||
if has_version 'sys-firmware/seabios-bin'; then
|
||||
echo " $(best_version sys-firmware/seabios-bin)"
|
||||
else
|
||||
echo " $(best_version sys-firmware/seabios)"
|
||||
fi
|
||||
|
||||
echo " $(best_version sys-firmware/ipxe)"
|
||||
echo " $(best_version sys-firmware/sgabios)"
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_icon_cache_update
|
||||
udev_reload
|
||||
}
|
||||
@ -24,7 +24,7 @@ else
|
||||
"
|
||||
S="${WORKDIR}/${PN}-src-${SRC_PV}"
|
||||
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
LICENSE="public-domain"
|
||||
|
||||
@ -12,7 +12,7 @@ SRC_URI="https://dev.gentoo.org/~soap/distfiles/${P}.tar.xz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="5.4"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="+deprecated readline"
|
||||
|
||||
DEPEND="
|
||||
|
||||
@ -27,6 +27,7 @@ DIST python-gentoo-patches-3.10.13.tar.xz 13996 BLAKE2B 0123a18c8c39397ac03b1be1
|
||||
DIST python-gentoo-patches-3.11.5.tar.xz 7124 BLAKE2B 04e19b0cce37794622d211fb7758988e734eca7298be59169fff81f8ec98f9c2454be3bba0944e681efcdca0810b74b4a07993965d89cdc0261cbc61862cd6f1 SHA512 3e137ab2b7ff4aaa41e4c760a7340d86cc3fb226c47985bd0f0bb8a4ef4fc157e1442e69995e585db15f04f95a734a19d80534a89067981ea314ef5be042b02e
|
||||
DIST python-gentoo-patches-3.11.6.tar.xz 7568 BLAKE2B 7ff4b1f4f2549b2df46aeff875c20fb6de40778d88071c1aa054bf2e3494f718dbb39a42d9cb791c1e0db1a025ae8eb13b24f7bd712f08b3c00ca638100bb732 SHA512 57c655d9d0df4284e167f3ed9b4e0d1c4554e5fe08605c64db253c104ac2e64da2439c8500fe60460d2545683467f8689d7fee68214cfa414584d71434735473
|
||||
DIST python-gentoo-patches-3.12.0.tar.xz 5156 BLAKE2B 42d23d4567b09878000a6b01425e06e377c779e8e3713af6d7522f8cdbe22d2bcb67dbfd04e8d7104ce3bd9b7e3950bbe0ac0dfa3892e1c1e5992642d6ef0ce7 SHA512 dcc6afe0c91436cdbad7bedb72557c72b0cc97c1714bbe41905e5e3fd6956e47c82226df09be2041d1935bd4031fdbc1c1b178e031d3eaaf6f587a0cf3d68f42
|
||||
DIST python-gentoo-patches-3.12.0_p1.tar.xz 6104 BLAKE2B 9064e4bd96d6aed60398113cc4e624ec53a04694146e3cc532453228bdbe1b65fed2f426ed99aa5e76dc10f2513fa5af356e6a505e71e9f66e890c2254f55280 SHA512 5ca6e8fb255fd4b3ec25e7f9d7889d1490661d121907bb86134a0dffb4ecabb2d0b0423429b83f0411a85ec1ec24b8f5162064365f298e356877d55dd570413f
|
||||
DIST python-gentoo-patches-3.12.0b4_p2.tar.xz 8132 BLAKE2B 4c1df7c8e1dda483724d8c3bb8ab7a7739fcdee16eaf1a2a5aeedb6011c13769ee9f2d0b1cf849df12aaf3230c0771b16533496539e1a0fab633e38699c8a75f SHA512 9051311d1e31163d13b8d2b1981d700ad2cf297b30f8d2867df8fe535fdb7da11efcb6fef8a201a76ff05aa8ae91c3679eeee72a729dc7249714796f6af2be9f
|
||||
DIST python-gentoo-patches-3.12.0rc1_p5.tar.xz 348764 BLAKE2B 8f71d6172ca4e557c195f4226d548f10b888842a110824db6c73613016d5b1c900545a2a3331519cc35cd9cc740fba3970737f40cdb64bd4d48e23a2be9e8be6 SHA512 e05f6e51a0689f0b5bdc745518742aebc3ae9fe145cb82c5e43a1a048df0ea4f11711ac4850726f807a73e232f76cfdc09c62d513ad0007acea7d5d5420c8569
|
||||
DIST python-gentoo-patches-3.12.0rc1_p6.tar.xz 349384 BLAKE2B 975aae449a01a31c459b287a47bd4d1a2d8b0b39e594a1c976371acc4948765bcb4733dd9e10b70c87dfb9409d4db6b2492004841db61577576852634a40365c SHA512 f262d1a9291867e1bdc8f92c682338369b1b52f210d6db0c648c3bbabea68c6b596dfd8d13507f6d65de37d1b83beb336be3abff239d2a588054794b5bebeb81
|
||||
|
||||
@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="PSF-2"
|
||||
SLOT="${PYVER}"
|
||||
KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ~ppc64 ~riscv ~s390 sparc ~x86"
|
||||
KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86"
|
||||
IUSE="
|
||||
bluetooth build debug +ensurepip examples gdbm libedit lto
|
||||
+ncurses pgo +readline +sqlite +ssl test tk valgrind
|
||||
|
||||
532
sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.0_p1.ebuild
vendored
Normal file
532
sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.0_p1.ebuild
vendored
Normal file
@ -0,0 +1,532 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="8"
|
||||
WANT_LIBTOOL="none"
|
||||
|
||||
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils
|
||||
inherit python-utils-r1 toolchain-funcs verify-sig
|
||||
|
||||
MY_PV=${PV/_rc/rc}
|
||||
MY_P="Python-${MY_PV%_p*}"
|
||||
PYVER=$(ver_cut 1-2)
|
||||
PATCHSET="python-gentoo-patches-${MY_PV}"
|
||||
|
||||
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
|
||||
HOMEPAGE="
|
||||
https://www.python.org/
|
||||
https://github.com/python/cpython/
|
||||
"
|
||||
SRC_URI="
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
|
||||
verify-sig? (
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
|
||||
)
|
||||
"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="PSF-2"
|
||||
SLOT="${PYVER}"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
IUSE="
|
||||
bluetooth build debug +ensurepip examples gdbm libedit lto
|
||||
+ncurses pgo +readline +sqlite +ssl test tk valgrind
|
||||
"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Do not add a dependency on dev-lang/python to this ebuild.
|
||||
# If you need to apply a patch which requires python for bootstrapping, please
|
||||
# run the bootstrap code on your dev box and include the results in the
|
||||
# patchset. See bug 447752.
|
||||
|
||||
RDEPEND="
|
||||
app-arch/bzip2:=
|
||||
app-arch/xz-utils:=
|
||||
app-crypt/libb2
|
||||
>=dev-libs/expat-2.1:=
|
||||
dev-libs/libffi:=
|
||||
dev-python/gentoo-common
|
||||
>=sys-libs/zlib-1.1.3:=
|
||||
virtual/libcrypt:=
|
||||
virtual/libintl
|
||||
ensurepip? ( dev-python/ensurepip-pip )
|
||||
gdbm? ( sys-libs/gdbm:=[berkdb] )
|
||||
kernel_linux? ( sys-apps/util-linux:= )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
readline? (
|
||||
!libedit? ( >=sys-libs/readline-4.1:= )
|
||||
libedit? ( dev-libs/libedit:= )
|
||||
)
|
||||
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
|
||||
ssl? ( >=dev-libs/openssl-1.1.1:= )
|
||||
tk? (
|
||||
>=dev-lang/tcl-8.0:=
|
||||
>=dev-lang/tk-8.0:=
|
||||
dev-tcltk/blt:=
|
||||
dev-tcltk/tix
|
||||
)
|
||||
"
|
||||
# bluetooth requires headers from bluez
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
test? (
|
||||
app-arch/xz-utils[extra-filters(+)]
|
||||
dev-python/ensurepip-pip
|
||||
dev-python/ensurepip-setuptools
|
||||
dev-python/ensurepip-wheel
|
||||
)
|
||||
valgrind? ( dev-util/valgrind )
|
||||
"
|
||||
# autoconf-archive needed to eautoreconf
|
||||
BDEPEND="
|
||||
sys-devel/autoconf-archive
|
||||
app-alternatives/awk
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
|
||||
"
|
||||
RDEPEND+="
|
||||
!build? ( app-misc/mime-types )
|
||||
"
|
||||
if [[ ${PV} != *_alpha* ]]; then
|
||||
RDEPEND+="
|
||||
dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
|
||||
"
|
||||
fi
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
|
||||
|
||||
# large file tests involve a 2.5G file being copied (duplicated)
|
||||
CHECKREQS_DISK_BUILD=5500M
|
||||
|
||||
QA_PKGCONFIG_VERSION=${PYVER}
|
||||
# false positives -- functions specific to *BSD
|
||||
QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags )
|
||||
|
||||
pkg_pretend() {
|
||||
use test && check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use test && check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Ensure that internal copies of expat and libffi are not used.
|
||||
# TODO: Makefile has annoying deps on expat headers
|
||||
#rm -r Modules/expat || die
|
||||
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
# force the correct number of jobs
|
||||
# https://bugs.gentoo.org/737660
|
||||
sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
build_cbuild_python() {
|
||||
# Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
|
||||
local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
#
|
||||
# -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway)
|
||||
local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto"
|
||||
local -x LDFLAGS_NODIST=${BUILD_LDFLAGS}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
local -x BUILD_CFLAGS="${CFLAGS_NODIST}"
|
||||
local -x BUILD_LDFLAGS=${LDFLAGS_NODIST}
|
||||
|
||||
# We need to build our own Python on CBUILD first, and feed it in.
|
||||
# bug #847910
|
||||
local myeconfargs_cbuild=(
|
||||
"${myeconfargs[@]}"
|
||||
|
||||
--prefix="${BROOT}"/usr
|
||||
--libdir="${cbuild_libdir:2}"
|
||||
|
||||
# Avoid needing to load the right libpython.so.
|
||||
--disable-shared
|
||||
|
||||
# As minimal as possible for the mini CBUILD Python
|
||||
# we build just for cross to satisfy --with-build-python.
|
||||
--without-lto
|
||||
--without-readline
|
||||
--disable-optimizations
|
||||
)
|
||||
|
||||
mkdir "${WORKDIR}"/${P}-${CBUILD} || die
|
||||
pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
|
||||
|
||||
# Avoid as many dependencies as possible for the cross build.
|
||||
mkdir Modules || die
|
||||
cat > Modules/Setup.local <<-EOF || die
|
||||
*disabled*
|
||||
nis
|
||||
_dbm _gdbm
|
||||
_sqlite3
|
||||
_hashlib _ssl
|
||||
_curses _curses_panel
|
||||
readline
|
||||
_tkinter
|
||||
pyexpat
|
||||
zlib
|
||||
# We disabled these for CBUILD because Python's setup.py can't handle locating
|
||||
# libdir correctly for cross. This should be rechecked for the pure Makefile approach,
|
||||
# and uncommented if needed.
|
||||
#_ctypes _crypt
|
||||
EOF
|
||||
|
||||
ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
|
||||
|
||||
# Unfortunately, we do have to build this immediately, and
|
||||
# not in src_compile, because CHOST configure for Python
|
||||
# will check the existence of the --with-build-python value
|
||||
# immediately.
|
||||
emake
|
||||
popd &> /dev/null || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local disable
|
||||
# disable automagic bluetooth headers detection
|
||||
if ! use bluetooth; then
|
||||
local -x ac_cv_header_bluetooth_bluetooth_h=no
|
||||
fi
|
||||
|
||||
append-flags -fwrapv
|
||||
filter-flags -malign-double
|
||||
|
||||
# https://bugs.gentoo.org/700012
|
||||
if is-flagq -flto || is-flagq '-flto=*'; then
|
||||
append-cflags $(test-flags-CC -ffat-lto-objects)
|
||||
fi
|
||||
|
||||
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
|
||||
# PKG_CONFIG needed for cross.
|
||||
tc-export CXX PKG_CONFIG
|
||||
|
||||
local dbmliborder=
|
||||
if use gdbm; then
|
||||
dbmliborder+="${dbmliborder:+:}gdbm"
|
||||
fi
|
||||
|
||||
if use pgo; then
|
||||
local profile_task_flags=(
|
||||
-m test
|
||||
"-j$(makeopts_jobs)"
|
||||
--pgo-extended
|
||||
-u-network
|
||||
|
||||
# We use a timeout because of how often we've had hang issues
|
||||
# here. It also matches the default upstream PROFILE_TASK.
|
||||
--timeout 1200
|
||||
|
||||
-x test_gdb
|
||||
-x test_dtrace
|
||||
|
||||
# All of these seem to occasionally hang for PGO inconsistently
|
||||
# They'll even hang here but be fine in src_test sometimes.
|
||||
# bug #828535 (and related: bug #788022)
|
||||
-x test_asyncio
|
||||
-x test_httpservers
|
||||
-x test_logging
|
||||
-x test_multiprocessing_fork
|
||||
-x test_socket
|
||||
-x test_xmlrpc
|
||||
|
||||
# Hangs (actually runs indefinitely executing itself w/ many cpython builds)
|
||||
# bug #900429
|
||||
-x test_tools
|
||||
)
|
||||
|
||||
if has_version "app-arch/rpm" ; then
|
||||
# Avoid sandbox failure (attempts to write to /var/lib/rpm)
|
||||
profile_task_flags+=(
|
||||
-x test_distutils
|
||||
)
|
||||
fi
|
||||
local -x PROFILE_TASK="${profile_task_flags[*]}"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
# glibc-2.30 removes it; since we can't cleanly force-rebuild
|
||||
# Python on glibc upgrade, remove it proactively to give
|
||||
# a chance for users rebuilding python before glibc
|
||||
ac_cv_header_stropts_h=no
|
||||
|
||||
--enable-shared
|
||||
--without-static-libpython
|
||||
--enable-ipv6
|
||||
--infodir='${prefix}/share/info'
|
||||
--mandir='${prefix}/share/man'
|
||||
--with-computed-gotos
|
||||
--with-dbmliborder="${dbmliborder}"
|
||||
--with-libc=
|
||||
--enable-loadable-sqlite-extensions
|
||||
--without-ensurepip
|
||||
--with-system-expat
|
||||
--with-platlibdir=lib
|
||||
--with-pkg-config=yes
|
||||
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
|
||||
|
||||
$(use_with debug assertions)
|
||||
$(use_with lto)
|
||||
$(use_enable pgo optimizations)
|
||||
$(use_with readline readline "$(usex libedit editline readline)")
|
||||
$(use_with valgrind)
|
||||
)
|
||||
# Force-disable modules we don't want built.
|
||||
# See Modules/Setup for docs on how this works. Setup.local contains our local deviations.
|
||||
cat > Modules/Setup.local <<-EOF || die
|
||||
*disabled*
|
||||
nis
|
||||
$(usev !gdbm '_gdbm _dbm')
|
||||
$(usev !sqlite '_sqlite3')
|
||||
$(usev !ssl '_hashlib _ssl')
|
||||
$(usev !ncurses '_curses _curses_panel')
|
||||
$(usev !readline 'readline')
|
||||
$(usev !tk '_tkinter')
|
||||
EOF
|
||||
|
||||
# disable implicit optimization/debugging flags
|
||||
local -x OPT=
|
||||
|
||||
if tc-is-cross-compiler ; then
|
||||
build_cbuild_python
|
||||
myeconfargs+=(
|
||||
# Point the imminent CHOST build to the Python we just
|
||||
# built for CBUILD.
|
||||
--with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
|
||||
)
|
||||
fi
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
local -x CFLAGS_NODIST=${CFLAGS}
|
||||
local -x LDFLAGS_NODIST=${LDFLAGS}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
|
||||
# Fix implicit declarations on cross and prefix builds. Bug #674070.
|
||||
if use ncurses; then
|
||||
append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
|
||||
fi
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
|
||||
eerror "configure has detected that the sem_open function is broken."
|
||||
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
|
||||
die "Broken sem_open function (bug 496328)"
|
||||
fi
|
||||
|
||||
# install epython.py as part of stdlib
|
||||
echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Ensure sed works as expected
|
||||
# https://bugs.gentoo.org/594768
|
||||
local -x LC_ALL=C
|
||||
export PYTHONSTRICTEXTENSIONBUILD=1
|
||||
|
||||
# Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
|
||||
# end up writing bytecode & violating sandbox.
|
||||
# bug #831897
|
||||
local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
|
||||
|
||||
if use pgo ; then
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
|
||||
addpredict "/usr/lib/python${PYVER}/site-packages"
|
||||
fi
|
||||
|
||||
# also need to clear the flags explicitly here or they end up
|
||||
# in _sysconfigdata*
|
||||
emake CPPFLAGS= CFLAGS= LDFLAGS=
|
||||
|
||||
# Restore saved value from above.
|
||||
local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
|
||||
|
||||
# Work around bug 329499. See also bug 413751 and 457194.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E python
|
||||
else
|
||||
pax-mark m python
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Tests will not work when cross compiling.
|
||||
if tc-is-cross-compiler; then
|
||||
elog "Disabling tests due to crosscompiling."
|
||||
return
|
||||
fi
|
||||
|
||||
# this just happens to skip test_support.test_freeze that is broken
|
||||
# without bundled expat
|
||||
# TODO: get a proper skip for it upstream
|
||||
local -x LOGNAME=buildbot
|
||||
|
||||
local test_opts=(
|
||||
-u-network
|
||||
-j "$(makeopts_jobs)"
|
||||
|
||||
# fails
|
||||
-x test_gdb
|
||||
)
|
||||
|
||||
if use sparc ; then
|
||||
# bug #788022
|
||||
test_opts+=(
|
||||
-x test_multiprocessing_fork
|
||||
-x test_multiprocessing_forkserver
|
||||
)
|
||||
fi
|
||||
|
||||
# workaround docutils breaking tests
|
||||
cat > Lib/docutils.py <<-EOF || die
|
||||
raise ImportError("Thou shalt not import!")
|
||||
EOF
|
||||
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
# workaround https://bugs.gentoo.org/775416
|
||||
addwrite "/usr/lib/python${PYVER}/site-packages"
|
||||
|
||||
nonfatal emake test EXTRATESTOPTS="${test_opts[*]}" \
|
||||
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
|
||||
local ret=${?}
|
||||
|
||||
rm Lib/docutils.py || die
|
||||
|
||||
[[ ${ret} -eq 0 ]] || die "emake test failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local libdir=${ED}/usr/lib/python${PYVER}
|
||||
|
||||
# the Makefile rules are broken
|
||||
# https://github.com/python/cpython/issues/100221
|
||||
mkdir -p "${libdir}"/lib-dynload || die
|
||||
|
||||
# -j1 hack for now for bug #843458
|
||||
emake -j1 DESTDIR="${D}" altinstall
|
||||
|
||||
# Fix collisions between different slots of Python.
|
||||
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
|
||||
|
||||
# Cheap hack to get version with ABIFLAGS
|
||||
local abiver=$(cd "${ED}/usr/include"; echo python*)
|
||||
if [[ ${abiver} != python${PYVER} ]]; then
|
||||
# Replace python3.X with a symlink to python3.Xm
|
||||
rm "${ED}/usr/bin/python${PYVER}" || die
|
||||
dosym "${abiver}" "/usr/bin/python${PYVER}"
|
||||
# Create python3.X-config symlink
|
||||
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
|
||||
# Create python-3.5m.pc symlink
|
||||
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
|
||||
fi
|
||||
|
||||
# python seems to get rebuilt in src_install (bug 569908)
|
||||
# Work around it for now.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E "${ED}/usr/bin/${abiver}"
|
||||
else
|
||||
pax-mark m "${ED}/usr/bin/${abiver}"
|
||||
fi
|
||||
|
||||
rm -r "${libdir}"/ensurepip/_bundled || die
|
||||
if ! use ensurepip; then
|
||||
rm -r "${libdir}"/ensurepip || die
|
||||
fi
|
||||
if ! use sqlite; then
|
||||
rm -r "${libdir}/"sqlite3 || die
|
||||
fi
|
||||
if ! use tk; then
|
||||
rm -r "${ED}/usr/bin/idle${PYVER}" || die
|
||||
rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
|
||||
fi
|
||||
|
||||
ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die
|
||||
|
||||
dodoc Misc/{ACKS,HISTORY,NEWS}
|
||||
|
||||
if use examples; then
|
||||
docinto examples
|
||||
find Tools -name __pycache__ -exec rm -fr {} + || die
|
||||
dodoc -r Tools
|
||||
fi
|
||||
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
|
||||
local libname=$(
|
||||
printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
|
||||
emake --no-print-directory -s -f - 2>/dev/null
|
||||
)
|
||||
newins Tools/gdb/libpython.py "${libname}"-gdb.py
|
||||
|
||||
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
|
||||
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
|
||||
sed \
|
||||
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
|
||||
-e "s:@PYDOC@:pydoc${PYVER}:" \
|
||||
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
|
||||
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
|
||||
|
||||
# python-exec wrapping support
|
||||
local pymajor=${PYVER%.*}
|
||||
local EPYTHON=python${PYVER}
|
||||
local scriptdir=${D}$(python_get_scriptdir)
|
||||
mkdir -p "${scriptdir}" || die
|
||||
# python and pythonX
|
||||
ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
|
||||
ln -s "python${pymajor}" "${scriptdir}/python" || die
|
||||
# python-config and pythonX-config
|
||||
# note: we need to create a wrapper rather than symlinking it due
|
||||
# to some random dirname(argv[0]) magic performed by python-config
|
||||
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
|
||||
#!/bin/sh
|
||||
exec "${abiver}-config" "\${@}"
|
||||
EOF
|
||||
chmod +x "${scriptdir}/python${pymajor}-config" || die
|
||||
ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
|
||||
# 2to3, pydoc
|
||||
ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
|
||||
ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
|
||||
# idle
|
||||
if use tk; then
|
||||
ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local v
|
||||
for v in ${REPLACING_VERSIONS}; do
|
||||
if ver_test "${v}" -lt 3.11.0_beta4-r2; then
|
||||
ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files"
|
||||
ewarn "installed previously are no longer valid and will be regenerated"
|
||||
ewarn "(or ignored) on the next import. This may cause sandbox failures"
|
||||
ewarn "when installing some packages and checksum mismatches when removing"
|
||||
ewarn "old versions. To actively prevent this, rebuild all packages"
|
||||
ewarn "installing Python 3.11 modules, e.g. using:"
|
||||
ewarn
|
||||
ewarn " emerge -1v /usr/lib/python3.11/site-packages"
|
||||
fi
|
||||
done
|
||||
}
|
||||
@ -1,2 +1,3 @@
|
||||
DIST glib-2.76.4.tar.xz 5274356 BLAKE2B c9ceb514ea81e1e6ab2d0efc82c48c0d8ae6c997fd0e3c56d47a5174b027f785b58266fff73b1d1132e272305126fbff22e3c65d47de46224cd12fa49796d5bc SHA512 f76932dc5090a44880373228e2b162f338415d06f7c90f2950eab1a43bb191c56a1797da4d377594f6a999197fef4defb848039259cfa4105bb68288a928f5b7
|
||||
DIST glib-2.78.0.tar.xz 5327096 BLAKE2B 3a494a16d12b17c7986bbe865d5e3b2727d40e7272fbb34897a90173c0fb780b0e7f024042f60ac6d1fcb9a2a4731948b6ac733c2bd6bd27c32b97281e20fc72 SHA512 3d06890002f4b13f831c83fbb70cfce529f9750e30888619e4d6277116be15d106379a03143412cf4b2a289c0cbdbbc299ecf17284fbffc06c791ecf7556c765
|
||||
DIST glib-2.78.1.tar.xz 5320740 BLAKE2B af8f2e83600dfb3ec84702399cb00a3aaedbc80087e35dc7cc2e2374d4fe5fdf82707ac8c911da1c53eb7b027c9da9ecfc1c0a8f56b39431fa4cf44cad5b10f7 SHA512 aa9ed9195951b00ac8221e958ea337fbda82621a862ef8f29dc2ea396a6253ce51c2a0a498dfa4e12642f1836f85f9564f09991979ae85c5ed4368355d857376
|
||||
|
||||
312
sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.78.1.ebuild
vendored
Normal file
312
sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.78.1.ebuild
vendored
Normal file
@ -0,0 +1,312 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
PYTHON_REQ_USE="xml(+)"
|
||||
PYTHON_COMPAT=( python3_{10..11} )
|
||||
|
||||
inherit gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
|
||||
|
||||
DESCRIPTION="The GLib library of C routines"
|
||||
HOMEPAGE="https://www.gtk.org/"
|
||||
|
||||
LICENSE="LGPL-2.1+"
|
||||
SLOT="2"
|
||||
IUSE="dbus debug +elf gtk-doc +mime selinux static-libs sysprof systemtap test utils xattr"
|
||||
RESTRICT="!test? ( test )"
|
||||
REQUIRED_USE="gtk-doc? ( test )" # Bug #777636
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
# * elfutils (via libelf) does not build on Windows. gresources are not embedded
|
||||
# within ELF binaries on that platform anyway and inspecting ELF binaries from
|
||||
# other platforms is not that useful so exclude the dependency in this case.
|
||||
# * Technically static-libs is needed on zlib, util-linux and perhaps more, but
|
||||
# these are used by GIO, which glib[static-libs] consumers don't really seem
|
||||
# to need at all, thus not imposing the deps for now and once some consumers
|
||||
# are actually found to static link libgio-2.0.a, we can revisit and either add
|
||||
# them or just put the (build) deps in that rare consumer instead of recursive
|
||||
# RDEPEND here (due to lack of recursive DEPEND).
|
||||
RDEPEND="
|
||||
!<dev-util/gdbus-codegen-${PV}
|
||||
>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
|
||||
>=dev-libs/libpcre2-10.32:0=[${MULTILIB_USEDEP},unicode(+),static-libs?]
|
||||
>=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
|
||||
>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
|
||||
>=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
|
||||
kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] )
|
||||
selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
|
||||
xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) )
|
||||
elf? ( virtual/libelf:0= )
|
||||
sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
# libxml2 used for optional tests that get automatically skipped
|
||||
BDEPEND="
|
||||
app-text/docbook-xsl-stylesheets
|
||||
dev-libs/libxslt
|
||||
>=sys-devel/gettext-0.19.8
|
||||
gtk-doc? ( >=dev-util/gtk-doc-1.33
|
||||
app-text/docbook-xml-dtd:4.2
|
||||
app-text/docbook-xml-dtd:4.5 )
|
||||
systemtap? ( >=dev-util/systemtap-1.3 )
|
||||
${PYTHON_DEPS}
|
||||
test? ( >=sys-apps/dbus-1.2.14 )
|
||||
virtual/pkgconfig
|
||||
"
|
||||
# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen
|
||||
|
||||
PDEPEND="
|
||||
dbus? ( gnome-base/dconf )
|
||||
mime? ( x11-misc/shared-mime-info )
|
||||
"
|
||||
# shared-mime-info needed for gio/xdgmime, bug #409481
|
||||
# dconf is needed to be able to save settings, bug #498436
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/gio-querymodules$(get_exeext)
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
if use kernel_linux ; then
|
||||
CONFIG_CHECK="~INOTIFY_USER"
|
||||
if use test ; then
|
||||
CONFIG_CHECK="~IPV6"
|
||||
WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
|
||||
fi
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if use test; then
|
||||
# TODO: Review the test exclusions, especially now with meson
|
||||
# Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
|
||||
if ! has_version dev-util/desktop-file-utils ; then
|
||||
ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
|
||||
ewarn "think on installing it to get these tests run."
|
||||
sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
|
||||
sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die
|
||||
fi
|
||||
|
||||
# gdesktopappinfo requires existing terminal (gnome-terminal or any
|
||||
# other), falling back to xterm if one doesn't exist
|
||||
#if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
|
||||
# ewarn "Some tests will be skipped due to missing terminal program"
|
||||
# These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson
|
||||
# Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready
|
||||
# for backport (or in a bump) and file new issue if still fails
|
||||
sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
|
||||
# desktop-app-info/launch* might fail similarly
|
||||
sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die
|
||||
#fi
|
||||
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=722604
|
||||
sed -i -e "/timer\/stop/d" glib/tests/timer.c || die
|
||||
sed -i -e "/timer\/basic/d" glib/tests/timer.c || die
|
||||
|
||||
ewarn "Tests for search-utils have been skipped"
|
||||
sed -i -e "/search-utils/d" glib/tests/meson.build || die
|
||||
|
||||
# Play nice with network-sandbox, but this approach would defeat the purpose of the test
|
||||
#sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die
|
||||
else
|
||||
# Don't build tests, also prevents extra deps, bug #512022
|
||||
sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die
|
||||
fi
|
||||
|
||||
# Don't build fuzzing binaries - not used
|
||||
sed -i -e '/subdir.*fuzzing/d' meson.build || die
|
||||
|
||||
# gdbus-codegen is a separate package
|
||||
sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die
|
||||
|
||||
# Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon
|
||||
sed -i -e '/install_dir/d' gio/tests/meson.build || die
|
||||
|
||||
cat > "${T}/glib-test-ld-wrapper" <<-EOF
|
||||
#!/usr/bin/env sh
|
||||
exec \${LD:-ld} "\$@"
|
||||
EOF
|
||||
chmod a+x "${T}/glib-test-ld-wrapper" || die
|
||||
sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die
|
||||
|
||||
# make default sane for us
|
||||
if use prefix ; then
|
||||
sed -i -e "s:/usr/local:${EPREFIX}/usr:" gio/xdgmime/xdgmime.c || die
|
||||
# bug #308609, without path, bug #314057
|
||||
export PERL=perl
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
# fix standards conflicts
|
||||
sed -i \
|
||||
-e 's/\<\(_XOPEN_SOURCE_EXTENDED\)\>/_POSIX_PTHREAD_SEMANTICS/' \
|
||||
-e '/\<_XOPEN_SOURCE\>/s/\<2\>/600/' \
|
||||
meson.build || die
|
||||
sed -i -e '/#define\s\+_POSIX_SOURCE/d' \
|
||||
glib/giounix.c || die
|
||||
fi
|
||||
|
||||
# disable native macOS integrations
|
||||
sed -i -e '/glib_conf.set(.HAVE_\(CARBON\|COCOA\).,/s/true/false/' \
|
||||
meson.build || die
|
||||
sed -i \
|
||||
-e '/AvailabilityMacros.h/d' \
|
||||
gio/giomodule.c || die
|
||||
|
||||
default
|
||||
gnome2_environment_reset
|
||||
# TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# TODO: figure a way to pass appropriate values for all cross properties
|
||||
# that glib uses (search for get_cross_property)
|
||||
#if tc-is-cross-compiler ; then
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=756473
|
||||
# TODO-meson: This should be in meson cross file as 'growing_stack'
|
||||
# property; and more, look at get_cross_property
|
||||
#case ${CHOST} in
|
||||
#hppa*|metag*) export glib_cv_stack_grows=yes ;;
|
||||
#*) export glib_cv_stack_grows=no ;;
|
||||
#esac
|
||||
#fi
|
||||
|
||||
local emesonargs=(
|
||||
--buildtype $(usex debug debug plain)
|
||||
-Ddefault_library=$(usex static-libs both shared)
|
||||
-Druntime_dir="${EPREFIX}"/run
|
||||
$(meson_feature selinux)
|
||||
$(meson_use xattr)
|
||||
-Dlibmount=enabled # only used if host_system == 'linux'
|
||||
-Dman=true
|
||||
$(meson_use systemtap dtrace)
|
||||
$(meson_use systemtap)
|
||||
$(meson_feature sysprof)
|
||||
$(meson_native_use_bool gtk-doc gtk_doc)
|
||||
$(meson_use test tests)
|
||||
-Dinstalled_tests=false
|
||||
-Dnls=enabled
|
||||
-Doss_fuzz=disabled
|
||||
$(meson_native_use_feature elf libelf)
|
||||
-Dmultiarch=false
|
||||
)
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
export XDG_CONFIG_DIRS=/etc/xdg
|
||||
export XDG_DATA_DIRS=/usr/local/share:/usr/share
|
||||
export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
|
||||
export LC_TIME=C # bug #411967
|
||||
export TZ=UTC
|
||||
unset GSETTINGS_BACKEND # bug #596380
|
||||
python_setup
|
||||
|
||||
# https://bugs.gentoo.org/839807
|
||||
local -x SANDBOX_PREDICT=${SANDBOX_PREDICT}
|
||||
addpredict /usr/b
|
||||
|
||||
# Related test is a bit nitpicking
|
||||
mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
|
||||
chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
|
||||
|
||||
meson_src_test --timeout-multiplier 2 --no-suite flaky
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
meson_src_install
|
||||
keepdir /usr/$(get_libdir)/gio/modules
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
# These are installed by dev-util/glib-utils
|
||||
# TODO: With patching we might be able to get rid of the python-any deps
|
||||
# and removals, and test depend on glib-utils instead; revisit now with
|
||||
# meson
|
||||
rm "${ED}/usr/bin/glib-genmarshal" || die
|
||||
rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die
|
||||
rm "${ED}/usr/bin/glib-mkenums" || die
|
||||
rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die
|
||||
rm "${ED}/usr/bin/gtester-report" || die
|
||||
rm "${ED}/usr/share/man/man1/gtester-report.1" || die
|
||||
# gdbus-codegen manpage installed by dev-util/gdbus-codegen
|
||||
rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
xdg_pkg_preinst
|
||||
|
||||
# Make gschemas.compiled belong to glib alone
|
||||
local cache="/usr/share/glib-2.0/schemas/gschemas.compiled"
|
||||
|
||||
if [[ -e ${EROOT}${cache} ]]; then
|
||||
cp "${EROOT}"${cache} "${ED}"/${cache} || die
|
||||
else
|
||||
touch "${ED}"${cache} || die
|
||||
fi
|
||||
|
||||
multilib_pkg_preinst() {
|
||||
# Make giomodule.cache belong to glib alone
|
||||
local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache"
|
||||
|
||||
if [[ -e ${EROOT}${cache} ]]; then
|
||||
cp "${EROOT}"${cache} "${ED}"${cache} || die
|
||||
else
|
||||
touch "${ED}"${cache} || die
|
||||
fi
|
||||
}
|
||||
|
||||
# Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
|
||||
# file due to inability to create it and GIO might not look at any of the modules there
|
||||
if ! tc-is-cross-compiler ; then
|
||||
multilib_foreach_abi multilib_pkg_preinst
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
# glib installs no schemas itself, but we force update for fresh install in case
|
||||
# something has dropped in a schemas file without direct glib dep; and for upgrades
|
||||
# in case the compiled schema format could have changed
|
||||
gnome2_schemas_update
|
||||
|
||||
multilib_pkg_postinst() {
|
||||
gnome2_giomodule_cache_update \
|
||||
|| die "Update GIO modules cache failed (for ${ABI})"
|
||||
}
|
||||
if ! tc-is-cross-compiler ; then
|
||||
multilib_foreach_abi multilib_pkg_postinst
|
||||
else
|
||||
ewarn "Updating of GIO modules cache skipped due to cross-compilation."
|
||||
ewarn "You might want to run gio-querymodules manually on the target for"
|
||||
ewarn "your final image for performance reasons and re-run it when packages"
|
||||
ewarn "installing GIO modules get upgraded or added to the image."
|
||||
fi
|
||||
|
||||
for v in ${REPLACING_VERSIONS}; do
|
||||
if ver_test "$v" "-lt" "2.63.6"; then
|
||||
ewarn "glib no longer installs the gio-launch-desktop binary. You may need"
|
||||
ewarn "to restart your session for \"Open With\" dialogs to work."
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
gnome2_schemas_update
|
||||
|
||||
if [[ -z ${REPLACED_BY_VERSION} ]]; then
|
||||
multilib_pkg_postrm() {
|
||||
rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache
|
||||
}
|
||||
multilib_foreach_abi multilib_pkg_postrm
|
||||
rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled
|
||||
fi
|
||||
}
|
||||
@ -4,7 +4,7 @@
|
||||
EAPI=8
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/guillemjover.asc
|
||||
inherit autotools multilib multilib-minimal verify-sig
|
||||
inherit autotools multilib multilib-minimal verify-sig flag-o-matic
|
||||
|
||||
DESCRIPTION="Library to provide useful functions commonly found on BSD systems"
|
||||
HOMEPAGE="https://libbsd.freedesktop.org/wiki/ https://gitlab.freedesktop.org/libbsd/libbsd"
|
||||
@ -35,6 +35,9 @@ src_prepare() {
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# bug 911726, https://gitlab.freedesktop.org/libbsd/libbsd/-/issues/26
|
||||
filter-flags -fno-semantic-interposition
|
||||
|
||||
# The build system will install libbsd-ctor.a despite USE="-static-libs"
|
||||
# which is correct, see:
|
||||
# https://gitlab.freedesktop.org/libbsd/libbsd/commit/c5b959028734ca2281250c85773d9b5e1d259bc8
|
||||
|
||||
@ -12,7 +12,7 @@ if [[ "${PV}" == *9999 ]]; then
|
||||
EGIT_SUBMODULES=()
|
||||
else
|
||||
SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~mips ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~x64-macos"
|
||||
KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~mips ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~x64-macos"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
|
||||
|
||||
@ -1,2 +1 @@
|
||||
DIST fasteners-0.18.gh.tar.gz 42343 BLAKE2B 702ca6a68733ed202ae0f8a2d9d430012c5786ef8d779903186815f9250ed7b2ccf781694aa57ef230009a470ef7c6bd0e83cc7bc9fcb809d2335542e799e3d6 SHA512 40928e93fa94ca9e67335d15acede73b70906885f8cc34262b00e2dfba9dfed8647f11490ab0df4c8fcfd94778362cfdc4bd0053063660b962202524dd5bda18
|
||||
DIST fasteners-0.19.gh.tar.gz 43188 BLAKE2B c30f4dc3da6605aa2552f58ae1071b51efefe2aea59ca8815fd50eebdbe7e826756cd9923485d6fb99dcc39196def485f4c1346a234bc7af09e2426c84b6a0d3 SHA512 47db216ff5bad5c669ca2d9be0ee09feba4a3d55ed0eac8d3623bd3d112b0b87fb9019f8785d035ec32ad9fa9e4ae7d1c92a576c97eec29acc82711d7e71a465
|
||||
|
||||
@ -1,31 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Python package that provides useful locks"
|
||||
HOMEPAGE="https://github.com/harlowja/fasteners/"
|
||||
SRC_URI="
|
||||
https://github.com/harlowja/fasteners/archive/${PV}.tar.gz
|
||||
-> ${P}.gh.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
|
||||
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/diskcache[${PYTHON_USEDEP}]
|
||||
dev-python/more-itertools[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
EPYTEST_IGNORE=(
|
||||
tests_eventlet/test_eventlet.py
|
||||
)
|
||||
@ -4,7 +4,7 @@
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10..11} )
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
@ -20,7 +20,7 @@ SRC_URI="
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
|
||||
|
||||
BDEPEND="
|
||||
test? (
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
DIST lxml-4.9.2.gh.tar.gz 957365 BLAKE2B 201b3977da90386e413f1b89a4b7ee1e44d6bbea05e622e92feb1d67c637ce46ebf746f0648f034ed3bccd609233ccf7d8a7ee456f13b8d9ca8587ddf1ebd32a SHA512 816b2fe2eef2a97a0df66cbc39850c6dc3d6470e4033cc73edb40c80c0afbbe6c084d042d7c98b29497926e76f648caa42e1ebe5d83060af08af6972316077b0
|
||||
DIST lxml-4.9.3-patches-2.tar.xz 24288 BLAKE2B 47b7c486a1c1616c875111bd53b14d4211a1eee3f412985f4022e71b85b087abd71d36919fb025257f17de404329284898ddc639f85e8b15ade21778fa218d98 SHA512 713172b4c907db6479a0a803a842824825b212a9b645c1ca356f793658bd6c63113ea248278e7c46b512e22e3130696e9fc5127fea82a67372d920733fc160b0
|
||||
DIST lxml-4.9.3-patches.tar.xz 10544 BLAKE2B 407938d2f701400e919110c3bfe84e94621f39f8178850c466d41549ee0eff4f23e93cdd8ea684713e8276acfaa05d6f7b7af4d375c859b9fc5b2981d60983a3 SHA512 c2d5d2ffb035aed6d846de84885b87142b2be7a09ffe6927e7c032acab343730acfcbefd75e8141cf3b41b308c532869a7878b515f3d4eeefa7526a3d2599398
|
||||
DIST lxml-4.9.3.gh.tar.gz 958628 BLAKE2B ffdf3fe781a03815f7c026229d313721c93375ebafad9b4a20c5d8a380a631401e546d8701a94d8c49615fb6a71e84940d8ca0299b47a37c1c9596db36659113 SHA512 903bd4935c7708b459aee9befcf3f6e3e3aaa9adc122591ea923b6e3d8fd288f07cab3f5f0edb08e3bf9db80414324f0a1a8e5a5089f9cda82f6c50f5df59423
|
||||
|
||||
@ -1,452 +0,0 @@
|
||||
From 1804702b5e3c85c1a16014d62365a29d0a6d0c75 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
|
||||
Date: Thu, 30 Jan 2020 06:15:27 +0100
|
||||
Subject: [PATCH] Skip tests failing on PyPy
|
||||
|
||||
---
|
||||
src/lxml/tests/test_elementtree.py | 3 +-
|
||||
src/lxml/tests/test_errors.py | 3 +-
|
||||
src/lxml/tests/test_http_io.py | 3 +-
|
||||
src/lxml/tests/test_nsclasses.py | 3 +-
|
||||
src/lxml/tests/test_objectify.py | 41 +++++++++++++++++++++++++--
|
||||
src/lxml/tests/test_xpathevaluator.py | 7 +++--
|
||||
src/lxml/tests/test_xslt.py | 7 +++--
|
||||
7 files changed, 56 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/src/lxml/tests/test_elementtree.py b/src/lxml/tests/test_elementtree.py
|
||||
index 78d8964d..f3f28044 100644
|
||||
--- a/src/lxml/tests/test_elementtree.py
|
||||
+++ b/src/lxml/tests/test_elementtree.py
|
||||
@@ -26,7 +26,7 @@ from .common_imports import (
|
||||
BytesIO, etree, HelperTestCase,
|
||||
ElementTree, cElementTree, ET_VERSION, CET_VERSION,
|
||||
filter_by_version, fileInTestDir, canonicalize, tmpfile,
|
||||
- _str, _bytes, unicode, IS_PYTHON2
|
||||
+ _str, _bytes, unicode, IS_PYTHON2, IS_PYPY
|
||||
)
|
||||
|
||||
if cElementTree is not None and (CET_VERSION <= (1,0,7) or sys.version_info[0] >= 3):
|
||||
@@ -2956,6 +2956,7 @@ class _ETreeTestCaseBase(HelperTestCase):
|
||||
self.assertEqual('TEST', root2[0].get('{%s}a' % ns_href))
|
||||
|
||||
required_versions_ET['test_register_namespace'] = (1,3)
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_register_namespace(self):
|
||||
# ET 1.3+
|
||||
Element = self.etree.Element
|
||||
diff --git a/src/lxml/tests/test_errors.py b/src/lxml/tests/test_errors.py
|
||||
index c0aee744..33111429 100644
|
||||
--- a/src/lxml/tests/test_errors.py
|
||||
+++ b/src/lxml/tests/test_errors.py
|
||||
@@ -11,7 +11,7 @@ import unittest
|
||||
import sys, gc, os.path
|
||||
from lxml import etree
|
||||
|
||||
-from .common_imports import HelperTestCase
|
||||
+from .common_imports import HelperTestCase, IS_PYPY
|
||||
|
||||
|
||||
class ErrorTestCase(HelperTestCase):
|
||||
@@ -25,6 +25,7 @@ class ErrorTestCase(HelperTestCase):
|
||||
def test_empty_parse(self):
|
||||
self.assertRaises(etree.XMLSyntaxError, etree.fromstring, '')
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_element_cyclic_gc_none(self):
|
||||
# test if cyclic reference can crash etree
|
||||
Element = self.etree.Element
|
||||
diff --git a/src/lxml/tests/test_http_io.py b/src/lxml/tests/test_http_io.py
|
||||
index f9eff39a..edf2bd81 100644
|
||||
--- a/src/lxml/tests/test_http_io.py
|
||||
+++ b/src/lxml/tests/test_http_io.py
|
||||
@@ -11,10 +11,11 @@ import textwrap
|
||||
import sys
|
||||
import gzip
|
||||
|
||||
-from .common_imports import etree, HelperTestCase, BytesIO, _bytes
|
||||
+from .common_imports import etree, HelperTestCase, BytesIO, _bytes, IS_PYPY
|
||||
from .dummy_http_server import webserver, HTTPRequestCollector
|
||||
|
||||
|
||||
+@unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
class HttpIOTestCase(HelperTestCase):
|
||||
etree = etree
|
||||
|
||||
diff --git a/src/lxml/tests/test_nsclasses.py b/src/lxml/tests/test_nsclasses.py
|
||||
index a0aa608d..5aa5dc48 100644
|
||||
--- a/src/lxml/tests/test_nsclasses.py
|
||||
+++ b/src/lxml/tests/test_nsclasses.py
|
||||
@@ -9,7 +9,7 @@ from __future__ import absolute_import
|
||||
|
||||
import unittest
|
||||
|
||||
-from .common_imports import etree, HelperTestCase, _bytes, make_doctest
|
||||
+from .common_imports import etree, HelperTestCase, _bytes, make_doctest, IS_PYPY
|
||||
|
||||
class ETreeNamespaceClassesTestCase(HelperTestCase):
|
||||
|
||||
@@ -46,6 +46,7 @@ class ETreeNamespaceClassesTestCase(HelperTestCase):
|
||||
self.Namespace('ns02').clear()
|
||||
self.Namespace('ns03').clear()
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_ns_classes(self):
|
||||
bluff_dict = {'bluff' : self.bluff_class}
|
||||
maeh_dict = {'maeh' : self.maeh_class}
|
||||
diff --git a/src/lxml/tests/test_objectify.py b/src/lxml/tests/test_objectify.py
|
||||
index a12ae7e1..83ba4ced 100644
|
||||
--- a/src/lxml/tests/test_objectify.py
|
||||
+++ b/src/lxml/tests/test_objectify.py
|
||||
@@ -9,7 +9,8 @@ from __future__ import absolute_import
|
||||
import unittest, operator
|
||||
|
||||
from .common_imports import (
|
||||
- etree, HelperTestCase, fileInTestDir, doctest, make_doctest, _bytes, _str, BytesIO
|
||||
+ etree, HelperTestCase, fileInTestDir, doctest, make_doctest, _bytes, _str, BytesIO,
|
||||
+ IS_PYPY
|
||||
)
|
||||
|
||||
from lxml import objectify
|
||||
@@ -213,11 +214,13 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
expected.update(DEFAULT_NSMAP)
|
||||
self.assertEqual(root.value.nsmap, expected)
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_date_element_efactory_text(self):
|
||||
# ObjectifiedDataElement can also be used as E-Factory
|
||||
value = objectify.ObjectifiedDataElement('test', 'toast')
|
||||
self.assertEqual(value.text, 'testtoast')
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_date_element_efactory_tail(self):
|
||||
# ObjectifiedDataElement can also be used as E-Factory
|
||||
value = objectify.ObjectifiedElement(objectify.ObjectifiedDataElement(), 'test', 'toast')
|
||||
@@ -374,6 +377,7 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
self.assertEqual("4", getattr(root.c1, "{}c2").text)
|
||||
self.assertEqual("0", getattr(root.c1, "c2").text)
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_setattr(self):
|
||||
for val in [
|
||||
2, 2**32, 1.2, "Won't get fooled again",
|
||||
@@ -809,6 +813,7 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
self.assertEqual(3, len(root.findall(".//b")))
|
||||
self.assertEqual(2, len(root.findall("b")))
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_build_tree(self):
|
||||
root = self.Element('root')
|
||||
root.a = 5
|
||||
@@ -838,6 +843,7 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
self.assertEqual(value, None)
|
||||
self.assertEqual(value.get(XML_SCHEMA_NIL_ATTR), "true")
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_type_bool(self):
|
||||
Element = self.Element
|
||||
SubElement = self.etree.SubElement
|
||||
@@ -871,6 +877,7 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
self.assertTrue(isinstance(value, objectify.BoolElement))
|
||||
self.assertEqual(value, False)
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_type_str(self):
|
||||
Element = self.Element
|
||||
SubElement = self.etree.SubElement
|
||||
@@ -878,6 +885,7 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
root.s = "test"
|
||||
self.assertTrue(isinstance(root.s, objectify.StringElement))
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_type_str_intliteral(self):
|
||||
Element = self.Element
|
||||
SubElement = self.etree.SubElement
|
||||
@@ -885,6 +893,7 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
root.s = "3"
|
||||
self.assertTrue(isinstance(root.s, objectify.StringElement))
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_type_str_floatliteral(self):
|
||||
Element = self.Element
|
||||
SubElement = self.etree.SubElement
|
||||
@@ -892,6 +901,7 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
root.s = "3.72"
|
||||
self.assertTrue(isinstance(root.s, objectify.StringElement))
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_type_str_mul(self):
|
||||
Element = self.Element
|
||||
SubElement = self.etree.SubElement
|
||||
@@ -904,6 +914,7 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
self.assertRaises(TypeError, operator.mul, root.s, "honk")
|
||||
self.assertRaises(TypeError, operator.mul, "honk", root.s)
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_type_str_add(self):
|
||||
Element = self.Element
|
||||
SubElement = self.etree.SubElement
|
||||
@@ -914,6 +925,7 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
self.assertEqual("test" + s, root.s + s)
|
||||
self.assertEqual(s + "test", s + root.s)
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_type_str_mod(self):
|
||||
s = "%d %f %s %r"
|
||||
el = objectify.DataElement(s)
|
||||
@@ -979,6 +991,7 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
self.assertTrue(isinstance(value, objectify.StringElement))
|
||||
self.assertEqual(value, "3.20")
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_type_ustr(self):
|
||||
Element = self.Element
|
||||
SubElement = self.etree.SubElement
|
||||
@@ -986,6 +999,7 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
root.s = _str("test")
|
||||
self.assertTrue(isinstance(root.s, objectify.StringElement))
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_type_ustr_intliteral(self):
|
||||
Element = self.Element
|
||||
SubElement = self.etree.SubElement
|
||||
@@ -993,6 +1007,7 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
root.s = _str("3")
|
||||
self.assertTrue(isinstance(root.s, objectify.StringElement))
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_type_ustr_floatliteral(self):
|
||||
Element = self.Element
|
||||
SubElement = self.etree.SubElement
|
||||
@@ -1000,6 +1015,7 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
root.s = _str("3.72")
|
||||
self.assertTrue(isinstance(root.s, objectify.StringElement))
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_type_ustr_mul(self):
|
||||
Element = self.Element
|
||||
SubElement = self.etree.SubElement
|
||||
@@ -1012,6 +1028,7 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
self.assertRaises(TypeError, operator.mul, root.s, _str("honk"))
|
||||
self.assertRaises(TypeError, operator.mul, _str("honk"), root.s)
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_type_ustr_add(self):
|
||||
Element = self.Element
|
||||
SubElement = self.etree.SubElement
|
||||
@@ -1037,6 +1054,7 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
self.assertTrue(isinstance(value, objectify.StringElement))
|
||||
self.assertEqual(value, _str("3.20"))
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_type_int(self):
|
||||
Element = self.Element
|
||||
root = Element("{objectified}root")
|
||||
@@ -1053,6 +1071,7 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
value = objectify.DataElement(123)
|
||||
self.assertEqual(hash(value), hash(123))
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_type_float(self):
|
||||
Element = self.Element
|
||||
SubElement = self.etree.SubElement
|
||||
@@ -1069,6 +1088,7 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
value = objectify.DataElement(5.5)
|
||||
self.assertEqual(hash(value), hash(5.5))
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_type_float_precision(self):
|
||||
# test not losing precision by shortened float str() value
|
||||
# repr(2.305064300557): '2.305064300557'
|
||||
@@ -1088,6 +1108,7 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
s = "2.305064300557"
|
||||
self.assertEqual(objectify.FloatElement(s), float(s))
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_type_float_precision_consistency(self):
|
||||
# test consistent FloatElement values for the different instantiation
|
||||
# possibilities
|
||||
@@ -1169,6 +1190,7 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
self.assertEqual(value.text, None)
|
||||
self.assertEqual(value.pyval, None)
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_type_unregistered(self):
|
||||
Element = self.Element
|
||||
SubElement = self.etree.SubElement
|
||||
@@ -1331,6 +1353,7 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
self.assertEqual(["why", "try"],
|
||||
strs)
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_type_str_cmp(self):
|
||||
XML = self.XML
|
||||
root = XML(_bytes('<root><b>test</b><b>taste</b><b></b><b/></root>'))
|
||||
@@ -1358,6 +1381,7 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
self.assertEqual(root.b, "")
|
||||
self.assertEqual("", root.b)
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_type_int_cmp(self):
|
||||
XML = self.XML
|
||||
root = XML(_bytes('<root><b>5</b><b>6</b></root>'))
|
||||
@@ -1380,6 +1404,7 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
|
||||
# float + long share the NumberElement implementation with int
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_type_bool_cmp(self):
|
||||
XML = self.XML
|
||||
root = XML(_bytes('<root><b>false</b><b>true</b></root>'))
|
||||
@@ -2049,6 +2074,7 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
before = [objectify.getRegisteredTypes()[0].name],
|
||||
after = [objectify.getRegisteredTypes()[1].name])
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_registered_type_stringify(self):
|
||||
from datetime import datetime
|
||||
def parse_date(value):
|
||||
@@ -2519,46 +2545,55 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
|
||||
# E-Factory tests, need to use sub-elements as root element is always
|
||||
# type-looked-up as ObjectifiedElement (no annotations)
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_efactory_int(self):
|
||||
E = objectify.E
|
||||
root = E.root(E.val(23))
|
||||
self.assertTrue(isinstance(root.val, objectify.IntElement))
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_efactory_float(self):
|
||||
E = objectify.E
|
||||
root = E.root(E.val(233.23))
|
||||
self.assertTrue(isinstance(root.val, objectify.FloatElement))
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_efactory_str(self):
|
||||
E = objectify.E
|
||||
root = E.root(E.val("what?"))
|
||||
self.assertTrue(isinstance(root.val, objectify.StringElement))
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_efactory_unicode(self):
|
||||
E = objectify.E
|
||||
root = E.root(E.val(_str("blöödy häll", encoding="ISO-8859-1")))
|
||||
self.assertTrue(isinstance(root.val, objectify.StringElement))
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_efactory_bool(self):
|
||||
E = objectify.E
|
||||
root = E.root(E.val(True))
|
||||
self.assertTrue(isinstance(root.val, objectify.BoolElement))
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_efactory_none(self):
|
||||
E = objectify.E
|
||||
root = E.root(E.val(None))
|
||||
self.assertTrue(isinstance(root.val, objectify.NoneElement))
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_efactory_value_concatenation(self):
|
||||
E = objectify.E
|
||||
root = E.root(E.val(1, "foo", 2.0, "bar ", True, None))
|
||||
self.assertTrue(isinstance(root.val, objectify.StringElement))
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_efactory_attrib(self):
|
||||
E = objectify.E
|
||||
root = E.root(foo="bar")
|
||||
self.assertEqual(root.get("foo"), "bar")
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_efactory_nested(self):
|
||||
E = objectify.E
|
||||
DataElement = objectify.DataElement
|
||||
@@ -2573,6 +2608,7 @@ class ObjectifyTestCase(HelperTestCase):
|
||||
self.assertTrue(isinstance(root.value[0], objectify.IntElement))
|
||||
self.assertTrue(isinstance(root.value[1], objectify.FloatElement))
|
||||
|
||||
+ @unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_efactory_subtype(self):
|
||||
class Attribute(objectify.ObjectifiedDataElement):
|
||||
def __init__(self):
|
||||
@@ -2674,7 +2710,8 @@ def test_suite():
|
||||
suite = unittest.TestSuite()
|
||||
suite.addTests([unittest.makeSuite(ObjectifyTestCase)])
|
||||
suite.addTests(doctest.DocTestSuite(objectify))
|
||||
- suite.addTests([make_doctest('../../../doc/objectify.txt')])
|
||||
+ if not IS_PYPY:
|
||||
+ suite.addTests([make_doctest('../../../doc/objectify.txt')])
|
||||
return suite
|
||||
|
||||
if __name__ == '__main__':
|
||||
diff --git a/src/lxml/tests/test_xpathevaluator.py b/src/lxml/tests/test_xpathevaluator.py
|
||||
index 13ee97ec..6d162c6d 100644
|
||||
--- a/src/lxml/tests/test_xpathevaluator.py
|
||||
+++ b/src/lxml/tests/test_xpathevaluator.py
|
||||
@@ -8,7 +8,7 @@ from __future__ import absolute_import
|
||||
|
||||
import unittest, sys
|
||||
|
||||
-from .common_imports import etree, HelperTestCase, _bytes, BytesIO, doctest, make_doctest
|
||||
+from .common_imports import etree, HelperTestCase, _bytes, BytesIO, doctest, make_doctest, IS_PYPY
|
||||
|
||||
|
||||
class ETreeXPathTestCase(HelperTestCase):
|
||||
@@ -740,8 +740,9 @@ def test_suite():
|
||||
suite.addTests([unittest.makeSuite(ETreeXPathExsltTestCase)])
|
||||
suite.addTests([unittest.makeSuite(ETreeETXPathClassTestCase)])
|
||||
suite.addTests([doctest.DocTestSuite()])
|
||||
- suite.addTests(
|
||||
- [make_doctest('../../../doc/xpathxslt.txt')])
|
||||
+ if not IS_PYPY:
|
||||
+ suite.addTests(
|
||||
+ [make_doctest('../../../doc/xpathxslt.txt')])
|
||||
return suite
|
||||
|
||||
if __name__ == '__main__':
|
||||
diff --git a/src/lxml/tests/test_xslt.py b/src/lxml/tests/test_xslt.py
|
||||
index cde23357..41f8d78b 100644
|
||||
--- a/src/lxml/tests/test_xslt.py
|
||||
+++ b/src/lxml/tests/test_xslt.py
|
||||
@@ -17,6 +17,8 @@ from textwrap import dedent
|
||||
from tempfile import NamedTemporaryFile, mkdtemp
|
||||
|
||||
is_python3 = sys.version_info[0] >= 3
|
||||
+is_pypy = (getattr(sys, 'implementation', None) == 'pypy' or
|
||||
+ getattr(sys, 'pypy_version_info', None) is not None)
|
||||
|
||||
try:
|
||||
unicode
|
||||
@@ -2085,8 +2087,9 @@ def test_suite():
|
||||
suite.addTests([unittest.makeSuite(Py3XSLTTestCase)])
|
||||
suite.addTests(
|
||||
[make_doctest('../../../doc/extensions.txt')])
|
||||
- suite.addTests(
|
||||
- [make_doctest('../../../doc/xpathxslt.txt')])
|
||||
+ if not is_pypy:
|
||||
+ suite.addTests(
|
||||
+ [make_doctest('../../../doc/xpathxslt.txt')])
|
||||
return suite
|
||||
|
||||
if __name__ == '__main__':
|
||||
--
|
||||
2.25.0
|
||||
|
||||
diff --git a/doc/element_classes.txt b/doc/element_classes.txt
|
||||
index 4b1e72e8..fda9ea07 100644
|
||||
--- a/doc/element_classes.txt
|
||||
+++ b/doc/element_classes.txt
|
||||
@@ -576,10 +576,10 @@ subclasses for elements of this namespace:
|
||||
|
||||
>>> print(honk_element[0].honk())
|
||||
HONK
|
||||
- >>> print(honk_element[0].honking)
|
||||
+ >>> print(honk_element[0].honking) # doctest: +ELLIPSIS
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
- AttributeError: 'HonkNSElement' object has no attribute 'honking'
|
||||
+ AttributeError: 'HonkNSElement' object has no attribute 'honking'...
|
||||
|
||||
>>> print(honk_element[1].text) # uses fallback for non-elements
|
||||
comment
|
||||
|
||||
@ -1,33 +0,0 @@
|
||||
Upstream: https://github.com/lxml/lxml/commit/a1f2231dfdd31a37f2c55bc9ae4ac33e92221227
|
||||
|
||||
From a1f2231dfdd31a37f2c55bc9ae4ac33e92221227 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Behnel <stefan_ml@behnel.de>
|
||||
Date: Fri, 12 May 2023 09:49:34 +0200
|
||||
Subject: [PATCH] Adapt unicode parsing to Py3.12.
|
||||
|
||||
---
|
||||
src/lxml/includes/etree_defs.h | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/src/lxml/includes/etree_defs.h b/src/lxml/includes/etree_defs.h
|
||||
index e671fa85d..d42f2158c 100644
|
||||
--- a/src/lxml/includes/etree_defs.h
|
||||
+++ b/src/lxml/includes/etree_defs.h
|
||||
@@ -120,6 +120,16 @@ static PyObject* PyBytes_FromFormat(const char* format, ...) {
|
||||
# define _lx_PySlice_GetIndicesEx(o, l, b, e, s, sl) PySlice_GetIndicesEx(((PySliceObject*)o), l, b, e, s, sl)
|
||||
#endif
|
||||
|
||||
+#if PY_VERSION_HEX >= 0x030B00A1
|
||||
+/* Python 3.12 doesn't have wstr Unicode strings any more. */
|
||||
+#undef PyUnicode_GET_DATA_SIZE
|
||||
+#define PyUnicode_GET_DATA_SIZE(ustr) (0)
|
||||
+#undef PyUnicode_AS_DATA
|
||||
+#define PyUnicode_AS_DATA(ustr) (NULL)
|
||||
+#undef PyUnicode_IS_READY
|
||||
+#define PyUnicode_IS_READY(ustr) (1)
|
||||
+#endif
|
||||
+
|
||||
#ifdef WITHOUT_THREADING
|
||||
# undef PyEval_SaveThread
|
||||
# define PyEval_SaveThread() (NULL)
|
||||
|
||||
@ -1,49 +0,0 @@
|
||||
https://github.com/lxml/lxml/commit/07db761f9f027d1814a43686cda6fca26e37a931
|
||||
https://github.com/lxml/lxml/commit/c6b7e621e4696c02bf8f6ea423ffbbf2109748ab
|
||||
|
||||
From 07db761f9f027d1814a43686cda6fca26e37a931 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Behnel <stefan_ml@behnel.de>
|
||||
Date: Thu, 11 May 2023 10:29:02 +0200
|
||||
Subject: [PATCH] Avoid using the deprecated "imp" module.
|
||||
|
||||
Closes https://bugs.launchpad.net/lxml/+bug/2018137
|
||||
--- a/src/lxml/html/tests/test_html5parser.py
|
||||
+++ b/src/lxml/html/tests/test_html5parser.py
|
||||
@@ -1,5 +1,4 @@
|
||||
import os
|
||||
-import imp
|
||||
try:
|
||||
from StringIO import StringIO
|
||||
except ImportError: # python 3
|
||||
@@ -45,7 +44,10 @@ def find_module(self, fullname, path=None):
|
||||
return None
|
||||
|
||||
def load_module(self, fullname):
|
||||
- mod = sys.modules.setdefault(fullname, imp.new_module(fullname))
|
||||
+ fake_module = object()
|
||||
+ fake_module.__qualname__ = fullname
|
||||
+ fake_module.__name__ = fullname.rsplit('.', 1)[-1]
|
||||
+ mod = sys.modules.setdefault(fullname, fake_module)
|
||||
mod.__file__, mod.__loader__, mod.__path__ = "<dummy>", self, []
|
||||
mod.__dict__.update(self.mocks[fullname])
|
||||
return mod
|
||||
|
||||
From c6b7e621e4696c02bf8f6ea423ffbbf2109748ab Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Behnel <stefan_ml@behnel.de>
|
||||
Date: Thu, 11 May 2023 10:30:15 +0200
|
||||
Subject: [PATCH] Avoid using the deprecated "imp" module.
|
||||
|
||||
Closes https://bugs.launchpad.net/lxml/+bug/2018137
|
||||
--- a/src/lxml/html/tests/test_html5parser.py
|
||||
+++ b/src/lxml/html/tests/test_html5parser.py
|
||||
@@ -44,7 +44,8 @@ def find_module(self, fullname, path=None):
|
||||
return None
|
||||
|
||||
def load_module(self, fullname):
|
||||
- fake_module = object()
|
||||
+ class Cls: pass
|
||||
+ fake_module = Cls()
|
||||
fake_module.__qualname__ = fullname
|
||||
fake_module.__name__ = fullname.rsplit('.', 1)[-1]
|
||||
mod = sys.modules.setdefault(fullname, fake_module)
|
||||
|
||||
@ -1,116 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_EXT=1
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10..12} pypy3 )
|
||||
|
||||
inherit distutils-r1 optfeature toolchain-funcs
|
||||
|
||||
DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
|
||||
HOMEPAGE="
|
||||
https://lxml.de/
|
||||
https://pypi.org/project/lxml/
|
||||
https://github.com/lxml/lxml/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/lxml/lxml/archive/${P}.tar.gz
|
||||
-> ${P}.gh.tar.gz
|
||||
"
|
||||
S=${WORKDIR}/lxml-${P}
|
||||
|
||||
LICENSE="BSD ElementTree GPL-2 PSF-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="doc examples +threads test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
|
||||
DEPEND="
|
||||
>=dev-libs/libxml2-2.9.12-r2
|
||||
>=dev-libs/libxslt-1.1.28
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
"
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
<dev-python/cython-3[${PYTHON_USEDEP}]
|
||||
>=dev-python/cython-0.29.29[${PYTHON_USEDEP}]
|
||||
doc? (
|
||||
$(python_gen_any_dep '
|
||||
dev-python/docutils[${PYTHON_USEDEP}]
|
||||
dev-python/pygments[${PYTHON_USEDEP}]
|
||||
dev-python/sphinx[${PYTHON_USEDEP}]
|
||||
dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
|
||||
')
|
||||
)
|
||||
test? (
|
||||
dev-python/cssselect[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-4.6.0-tests-pypy.patch
|
||||
"${FILESDIR}"/${P}-py3.12-drop-deprecated-imp.patch
|
||||
"${FILESDIR}"/${P}-py3.12-backport-unicode-fix.patch
|
||||
)
|
||||
|
||||
python_check_deps() {
|
||||
use doc || return 0
|
||||
python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" &&
|
||||
python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" &&
|
||||
python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" &&
|
||||
python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
|
||||
}
|
||||
|
||||
python_prepare_all() {
|
||||
# avoid replacing PYTHONPATH in tests.
|
||||
sed -i -e '/sys\.path/d' test.py || die
|
||||
|
||||
# don't use some random SDK on Darwin
|
||||
sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
|
||||
setupinfo.py || die
|
||||
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_compile() {
|
||||
tc-export PKG_CONFIG
|
||||
distutils-r1_python_compile
|
||||
}
|
||||
|
||||
python_compile_all() {
|
||||
use doc && emake html
|
||||
}
|
||||
|
||||
python_test() {
|
||||
local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml
|
||||
local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
|
||||
|
||||
cp -al "${BUILD_DIR}"/{install,test} || die
|
||||
cp -al src/lxml/tests "${dir}/" || die
|
||||
cp -al src/lxml/html/tests "${dir}/html/" || die
|
||||
ln -rs "${S}"/doc "${dir}"/../../ || die
|
||||
|
||||
"${EPYTHON}" test.py -vv --all-levels -p || die "Test ${test} fails with ${EPYTHON}"
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
if use doc; then
|
||||
local DOCS=( README.rst *.txt doc/*.txt )
|
||||
local HTML_DOCS=( doc/html/. )
|
||||
fi
|
||||
if use examples; then
|
||||
dodoc -r samples
|
||||
fi
|
||||
|
||||
distutils-r1_python_install_all
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4
|
||||
optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
|
||||
}
|
||||
@ -1,115 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_EXT=1
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10..12} pypy3 )
|
||||
|
||||
inherit distutils-r1 optfeature toolchain-funcs
|
||||
|
||||
DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
|
||||
HOMEPAGE="
|
||||
https://lxml.de/
|
||||
https://pypi.org/project/lxml/
|
||||
https://github.com/lxml/lxml/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/lxml/lxml/archive/${P}.tar.gz
|
||||
-> ${P}.gh.tar.gz
|
||||
"
|
||||
S=${WORKDIR}/lxml-${P}
|
||||
|
||||
LICENSE="BSD ElementTree GPL-2 PSF-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="doc examples +threads test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
|
||||
DEPEND="
|
||||
>=dev-libs/libxml2-2.9.12-r2
|
||||
>=dev-libs/libxslt-1.1.28
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
"
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
<dev-python/cython-3[${PYTHON_USEDEP}]
|
||||
>=dev-python/cython-0.29.29[${PYTHON_USEDEP}]
|
||||
doc? (
|
||||
$(python_gen_any_dep '
|
||||
dev-python/docutils[${PYTHON_USEDEP}]
|
||||
dev-python/pygments[${PYTHON_USEDEP}]
|
||||
dev-python/sphinx[${PYTHON_USEDEP}]
|
||||
dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
|
||||
')
|
||||
)
|
||||
test? (
|
||||
dev-python/cssselect[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-4.6.0-tests-pypy.patch
|
||||
"${FILESDIR}"/${P}-py3.12-drop-deprecated-imp.patch
|
||||
)
|
||||
|
||||
python_check_deps() {
|
||||
use doc || return 0
|
||||
python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" &&
|
||||
python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" &&
|
||||
python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" &&
|
||||
python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
|
||||
}
|
||||
|
||||
python_prepare_all() {
|
||||
# avoid replacing PYTHONPATH in tests.
|
||||
sed -i -e '/sys\.path/d' test.py || die
|
||||
|
||||
# don't use some random SDK on Darwin
|
||||
sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
|
||||
setupinfo.py || die
|
||||
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_compile() {
|
||||
tc-export PKG_CONFIG
|
||||
distutils-r1_python_compile
|
||||
}
|
||||
|
||||
python_compile_all() {
|
||||
use doc && emake html
|
||||
}
|
||||
|
||||
python_test() {
|
||||
local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml
|
||||
local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
|
||||
|
||||
cp -al "${BUILD_DIR}"/{install,test} || die
|
||||
cp -al src/lxml/tests "${dir}/" || die
|
||||
cp -al src/lxml/html/tests "${dir}/html/" || die
|
||||
ln -rs "${S}"/doc "${dir}"/../../ || die
|
||||
|
||||
"${EPYTHON}" test.py -vv --all-levels -p || die "Test ${test} fails with ${EPYTHON}"
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
if use doc; then
|
||||
local DOCS=( README.rst *.txt doc/*.txt )
|
||||
local HTML_DOCS=( doc/html/. )
|
||||
fi
|
||||
if use examples; then
|
||||
dodoc -r samples
|
||||
fi
|
||||
|
||||
distutils-r1_python_install_all
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4
|
||||
optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
|
||||
}
|
||||
@ -24,7 +24,7 @@ S=${WORKDIR}/lxml-${P}
|
||||
|
||||
LICENSE="BSD ElementTree GPL-2 PSF-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="doc examples +threads test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
|
||||
@ -1,114 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_EXT=1
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10..12} pypy3 )
|
||||
|
||||
inherit distutils-r1 optfeature toolchain-funcs
|
||||
|
||||
DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
|
||||
HOMEPAGE="
|
||||
https://lxml.de/
|
||||
https://pypi.org/project/lxml/
|
||||
https://github.com/lxml/lxml/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/lxml/lxml/archive/${P}.tar.gz
|
||||
-> ${P}.gh.tar.gz
|
||||
"
|
||||
S=${WORKDIR}/lxml-${P}
|
||||
|
||||
LICENSE="BSD ElementTree GPL-2 PSF-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="doc examples +threads test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
|
||||
DEPEND="
|
||||
>=dev-libs/libxml2-2.10.3
|
||||
>=dev-libs/libxslt-1.1.38
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
"
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
<dev-python/cython-3[${PYTHON_USEDEP}]
|
||||
>=dev-python/cython-0.29.29[${PYTHON_USEDEP}]
|
||||
doc? (
|
||||
$(python_gen_any_dep '
|
||||
dev-python/docutils[${PYTHON_USEDEP}]
|
||||
dev-python/pygments[${PYTHON_USEDEP}]
|
||||
dev-python/sphinx[${PYTHON_USEDEP}]
|
||||
dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
|
||||
')
|
||||
)
|
||||
test? (
|
||||
dev-python/cssselect[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-4.9.3-tests-pypy.patch
|
||||
)
|
||||
|
||||
python_check_deps() {
|
||||
use doc || return 0
|
||||
python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" &&
|
||||
python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" &&
|
||||
python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" &&
|
||||
python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
|
||||
}
|
||||
|
||||
python_prepare_all() {
|
||||
# avoid replacing PYTHONPATH in tests.
|
||||
sed -i -e '/sys\.path/d' test.py || die
|
||||
|
||||
# don't use some random SDK on Darwin
|
||||
sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
|
||||
setupinfo.py || die
|
||||
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_compile() {
|
||||
tc-export PKG_CONFIG
|
||||
distutils-r1_python_compile
|
||||
}
|
||||
|
||||
python_compile_all() {
|
||||
use doc && emake html
|
||||
}
|
||||
|
||||
python_test() {
|
||||
local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml
|
||||
local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
|
||||
|
||||
cp -al "${BUILD_DIR}"/{install,test} || die
|
||||
cp -al src/lxml/tests "${dir}/" || die
|
||||
cp -al src/lxml/html/tests "${dir}/html/" || die
|
||||
ln -rs "${S}"/doc "${dir}"/../../ || die
|
||||
|
||||
"${EPYTHON}" test.py -vv --all-levels -p || die "Test ${test} fails with ${EPYTHON}"
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
if use doc; then
|
||||
local DOCS=( README.rst *.txt doc/*.txt )
|
||||
local HTML_DOCS=( doc/html/. )
|
||||
fi
|
||||
if use examples; then
|
||||
dodoc -r samples
|
||||
fi
|
||||
|
||||
distutils-r1_python_install_all
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4
|
||||
optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
|
||||
}
|
||||
@ -1,5 +1,2 @@
|
||||
DIST setuptools-scm-8.0.1.tar.gz 71827 BLAKE2B 4011879490a02f5bb8b4fa0292ee696010cca9cb5c322854f2c342b4c02a86f7a31535c3fe7b4e6eab4fb77c90a469714227c1487ee7e1c1d4de3a4db1137b6b SHA512 05c087cbcb8bf2f03d68cf91e5545c25dea85d61d16c26194ade42a5e78a573f1adc4265897998d4b151834e994b3aa32e02a1eb2fa103a4cd1f3c8e3b78d8d4
|
||||
DIST setuptools-scm-8.0.2.tar.gz 72614 BLAKE2B 80dedf269f504a632f6b8c8ceafc28948e359825b926ac851219171db4015856aaebde8c0e8ee81dc807bb1b25010d686a039063922046dc4d72beacf14914c6 SHA512 1a636f452cbe61fc1bc6fca49032e7d12b80fe5d8931f292cfa295d6787fb9273fd7f3887f3f74d60c1da19f4e2f676d038fd860c0410838225cad95e6375f9b
|
||||
DIST setuptools-scm-8.0.3.tar.gz 72824 BLAKE2B f45b3bf67cc259e18fbd3a155d10967cf7c6a9df69d6bff7cc452236da3c3e1d0205ff7f5523c5bfdcbdbf5056e00f06c21dc1178edf14b386a0b89e95c947c1 SHA512 7002da1abdabbf617fb92b94aa04f6fe90aa5cbe26ae7ff8a9df0c53b35e8d13e6294ed38373d081ccafe375b376d52e72d5c7a031dbfb356aa0ee3221641096
|
||||
DIST setuptools-scm-8.0.4.tar.gz 74280 BLAKE2B 317f4955365b6b7d21ddecc846b0158a72537692b70b5f2092183bd93af119875054d775628659b113dec3bdb94575485b6f1e58760f1580b143dc3b0882cb57 SHA512 1b584f20dfad115f379a97de9e96bb3b36ab00986381748c2f395facd26ce01a6556ccfbabeb8f0cf9ce8720b26ce3a00040dba02cc689701ccf1d31f13277da
|
||||
DIST setuptools_scm-7.1.0.tar.gz 71904 BLAKE2B be5ae215dadcc290290762b732434258409ecc2d71cdf1332ffe73431effae7cbc33e052a718efd952be79350171ed3e468492fc719bc08750dc23364fb0ee9d SHA512 bd7260672c213db6b8c5842dbb6ac69e69ce040777865c935033971f65d905bd8e6b54e174190a924e452c302e69d4c1de231cbc8f603176ba013a739840dad3
|
||||
|
||||
@ -1,61 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=standalone
|
||||
PYPI_NO_NORMALIZE=1
|
||||
PYTHON_COMPAT=( python3_{10..12} pypy3 )
|
||||
|
||||
inherit distutils-r1 pypi
|
||||
|
||||
DESCRIPTION="Manage versions by scm tags via setuptools"
|
||||
HOMEPAGE="
|
||||
https://github.com/pypa/setuptools_scm/
|
||||
https://pypi.org/project/setuptools-scm/
|
||||
"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
# there's an optional dep on rich for cute logs
|
||||
RDEPEND="
|
||||
dev-python/packaging[${PYTHON_USEDEP}]
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/tomli[${PYTHON_USEDEP}]
|
||||
' 3.10)
|
||||
dev-python/typing-extensions[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
dev-vcs/git
|
||||
!sparc? (
|
||||
dev-vcs/mercurial
|
||||
)
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
python_test() {
|
||||
local EPYTEST_DESELECT=(
|
||||
# the usual nondescript gpg-agent failure
|
||||
testing/test_git.py::test_git_getdate_signed_commit
|
||||
|
||||
# fetching from the Internet
|
||||
testing/test_regressions.py::test_pip_download
|
||||
)
|
||||
|
||||
if has_version dev-python/nose; then
|
||||
EPYTEST_DESELECT+=(
|
||||
# https://bugs.gentoo.org/892639
|
||||
testing/test_integration.py::test_pyproject_support
|
||||
)
|
||||
fi
|
||||
|
||||
epytest
|
||||
}
|
||||
@ -1,61 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=standalone
|
||||
PYPI_NO_NORMALIZE=1
|
||||
PYTHON_COMPAT=( python3_{10..12} pypy3 )
|
||||
|
||||
inherit distutils-r1 pypi
|
||||
|
||||
DESCRIPTION="Manage versions by scm tags via setuptools"
|
||||
HOMEPAGE="
|
||||
https://github.com/pypa/setuptools_scm/
|
||||
https://pypi.org/project/setuptools-scm/
|
||||
"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
# there's an optional dep on rich for cute logs
|
||||
RDEPEND="
|
||||
dev-python/packaging[${PYTHON_USEDEP}]
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/tomli[${PYTHON_USEDEP}]
|
||||
' 3.10)
|
||||
dev-python/typing-extensions[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
dev-vcs/git
|
||||
!sparc? (
|
||||
dev-vcs/mercurial
|
||||
)
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
python_test() {
|
||||
local EPYTEST_DESELECT=(
|
||||
# the usual nondescript gpg-agent failure
|
||||
testing/test_git.py::test_git_getdate_signed_commit
|
||||
|
||||
# fetching from the Internet
|
||||
testing/test_regressions.py::test_pip_download
|
||||
)
|
||||
|
||||
if has_version dev-python/nose; then
|
||||
EPYTEST_DESELECT+=(
|
||||
# https://bugs.gentoo.org/892639
|
||||
testing/test_integration.py::test_pyproject_support
|
||||
)
|
||||
fi
|
||||
|
||||
epytest
|
||||
}
|
||||
@ -1,64 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=standalone
|
||||
PYPI_NO_NORMALIZE=1
|
||||
PYTHON_COMPAT=( python3_{10..12} pypy3 )
|
||||
|
||||
inherit distutils-r1 pypi
|
||||
|
||||
DESCRIPTION="Manage versions by scm tags via setuptools"
|
||||
HOMEPAGE="
|
||||
https://github.com/pypa/setuptools_scm/
|
||||
https://pypi.org/project/setuptools-scm/
|
||||
"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
# there's an optional dep on rich for cute logs
|
||||
RDEPEND="
|
||||
dev-python/packaging[${PYTHON_USEDEP}]
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/tomli[${PYTHON_USEDEP}]
|
||||
' 3.10)
|
||||
dev-python/typing-extensions[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
dev-vcs/git
|
||||
!sparc? (
|
||||
dev-vcs/mercurial
|
||||
)
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
python_test() {
|
||||
local EPYTEST_DESELECT=(
|
||||
# the usual nondescript gpg-agent failure
|
||||
testing/test_git.py::test_git_getdate_signed_commit
|
||||
|
||||
# fetching from the Internet
|
||||
testing/test_regressions.py::test_pip_download
|
||||
|
||||
# calls flake8, unpredictable
|
||||
testing/test_functions.py::test_dump_version_flake8
|
||||
)
|
||||
|
||||
if has_version dev-python/nose; then
|
||||
EPYTEST_DESELECT+=(
|
||||
# https://bugs.gentoo.org/892639
|
||||
testing/test_integration.py::test_pyproject_support
|
||||
)
|
||||
fi
|
||||
|
||||
epytest
|
||||
}
|
||||
@ -18,7 +18,7 @@ HOMEPAGE="
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
# there's an optional dep on rich for cute logs
|
||||
RDEPEND="
|
||||
|
||||
@ -1,2 +1 @@
|
||||
DIST typing_extensions-4.7.1.gh.tar.gz 84841 BLAKE2B 9b49b37c90b90775995d9d77b6b480eeab51b71a9af9474c0f43db021106ff02d0e4e882be04c114477ff2b386037c286e9de2d9cd2394bd4e1459ce7c6e1951 SHA512 948f6c5c9597f6cf7d77987d1a5dad9f15b4303f9d156de3d97abda0c55567b2649eb6df7ac36a07f9d6306103d81fd00a38b04b3b5c521ff2f8f153f9219fb1
|
||||
DIST typing_extensions-4.8.0.gh.tar.gz 83807 BLAKE2B 4b160b79117dfeb83e911ff8c2b91a97512a70c1c5a2a87d6d2bcab7f5604efdb192c3c4eb5cfd7c102744c786e014dafc6346e5c544ec4f995d5810c83f8e73 SHA512 1e82f49d837c3fbead7d0867db667f97be2836f1f98bcde7315eb8c5455e605659fe7759ccf86fcbb2373789d9dab500a3b2a75bbcaf9216521c6b8c2796090a
|
||||
|
||||
@ -1,32 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=flit
|
||||
PYTHON_COMPAT=( python3_{10..12} pypy3 )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
MY_P=${P/-/_}
|
||||
DESCRIPTION="Backported and Experimental Type Hints for Python 3.7+"
|
||||
HOMEPAGE="
|
||||
https://pypi.org/project/typing-extensions/
|
||||
https://github.com/python/typing_extensions/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/python/typing_extensions/archive/${PV}.tar.gz
|
||||
-> ${MY_P}.gh.tar.gz
|
||||
"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
LICENSE="PSF-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
distutils_enable_tests unittest
|
||||
|
||||
python_test() {
|
||||
cd src || die
|
||||
eunittest
|
||||
}
|
||||
@ -22,7 +22,7 @@ S=${WORKDIR}/${MY_P}
|
||||
|
||||
LICENSE="PSF-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
distutils_enable_tests unittest
|
||||
|
||||
|
||||
@ -48,7 +48,7 @@ else
|
||||
https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc
|
||||
)"
|
||||
|
||||
KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha ~amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20230817 )"
|
||||
fi
|
||||
|
||||
@ -1,2 +1,3 @@
|
||||
DIST glib-2.76.4.tar.xz 5274356 BLAKE2B c9ceb514ea81e1e6ab2d0efc82c48c0d8ae6c997fd0e3c56d47a5174b027f785b58266fff73b1d1132e272305126fbff22e3c65d47de46224cd12fa49796d5bc SHA512 f76932dc5090a44880373228e2b162f338415d06f7c90f2950eab1a43bb191c56a1797da4d377594f6a999197fef4defb848039259cfa4105bb68288a928f5b7
|
||||
DIST glib-2.78.0.tar.xz 5327096 BLAKE2B 3a494a16d12b17c7986bbe865d5e3b2727d40e7272fbb34897a90173c0fb780b0e7f024042f60ac6d1fcb9a2a4731948b6ac733c2bd6bd27c32b97281e20fc72 SHA512 3d06890002f4b13f831c83fbb70cfce529f9750e30888619e4d6277116be15d106379a03143412cf4b2a289c0cbdbbc299ecf17284fbffc06c791ecf7556c765
|
||||
DIST glib-2.78.1.tar.xz 5320740 BLAKE2B af8f2e83600dfb3ec84702399cb00a3aaedbc80087e35dc7cc2e2374d4fe5fdf82707ac8c911da1c53eb7b027c9da9ecfc1c0a8f56b39431fa4cf44cad5b10f7 SHA512 aa9ed9195951b00ac8221e958ea337fbda82621a862ef8f29dc2ea396a6253ce51c2a0a498dfa4e12642f1836f85f9564f09991979ae85c5ed4368355d857376
|
||||
|
||||
74
sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.78.1.ebuild
vendored
Normal file
74
sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.78.1.ebuild
vendored
Normal file
@ -0,0 +1,74 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
GNOME_ORG_MODULE="glib"
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
PYTHON_REQ_USE="xml(+)"
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
DISTUTILS_SINGLE_IMPL=1
|
||||
|
||||
inherit gnome.org distutils-r1
|
||||
|
||||
DESCRIPTION="GDBus code and documentation generator"
|
||||
HOMEPAGE="https://www.gtk.org/"
|
||||
|
||||
LICENSE="LGPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
|
||||
|
||||
RDEPEND="${PYTHON_DEPS}"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
dev-libs/libxslt
|
||||
app-text/docbook-xsl-stylesheets
|
||||
"
|
||||
|
||||
S="${WORKDIR}/glib-${PV}/gio/gdbus-2.0/codegen"
|
||||
|
||||
python_prepare_all() {
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-2.56.1-sitedir.patch"
|
||||
)
|
||||
distutils-r1_python_prepare_all
|
||||
|
||||
local MAJOR_VERSION=$(ver_cut 1)
|
||||
local MINOR_VERSION=$(ver_cut 2)
|
||||
sed -e 's:@PYTHON@:python:' gdbus-codegen.in > gdbus-codegen || die
|
||||
sed -e "s:@VERSION@:${PV}:" \
|
||||
-e "s:@MAJOR_VERSION@:${MAJOR_VERSION}:" \
|
||||
-e "s:@MINOR_VERSION@:${MINOR_VERSION}:" config.py.in > config.py || die
|
||||
cp "${FILESDIR}/setup.py-2.32.4" setup.py || die "cp failed"
|
||||
sed -e "s/@PV@/${PV}/" -i setup.py || die "sed setup.py failed"
|
||||
}
|
||||
|
||||
do_xsltproc_command() {
|
||||
# Taken from meson.build for manual manpage building - keep in sync (also copied to dev-util/glib-utils)
|
||||
xsltproc \
|
||||
--nonet \
|
||||
--stringparam man.output.quietly 1 \
|
||||
--stringparam funcsynopsis.style ansi \
|
||||
--stringparam man.th.extra1.suppress 1 \
|
||||
--stringparam man.authors.section.enabled 0 \
|
||||
--stringparam man.copyright.section.enabled 0 \
|
||||
-o "${2}" \
|
||||
http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl \
|
||||
"${1}" || die "manpage generation failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
distutils-r1_src_compile
|
||||
do_xsltproc_command \
|
||||
"${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.xml" \
|
||||
"${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.1"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo "Skipping tests. This package is tested by dev-libs/glib"
|
||||
einfo "when merged with FEATURES=test"
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
distutils-r1_python_install_all # no-op, but prevents QA warning
|
||||
doman "${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.1"
|
||||
}
|
||||
@ -1,2 +1,3 @@
|
||||
DIST glib-2.76.4.tar.xz 5274356 BLAKE2B c9ceb514ea81e1e6ab2d0efc82c48c0d8ae6c997fd0e3c56d47a5174b027f785b58266fff73b1d1132e272305126fbff22e3c65d47de46224cd12fa49796d5bc SHA512 f76932dc5090a44880373228e2b162f338415d06f7c90f2950eab1a43bb191c56a1797da4d377594f6a999197fef4defb848039259cfa4105bb68288a928f5b7
|
||||
DIST glib-2.78.0.tar.xz 5327096 BLAKE2B 3a494a16d12b17c7986bbe865d5e3b2727d40e7272fbb34897a90173c0fb780b0e7f024042f60ac6d1fcb9a2a4731948b6ac733c2bd6bd27c32b97281e20fc72 SHA512 3d06890002f4b13f831c83fbb70cfce529f9750e30888619e4d6277116be15d106379a03143412cf4b2a289c0cbdbbc299ecf17284fbffc06c791ecf7556c765
|
||||
DIST glib-2.78.1.tar.xz 5320740 BLAKE2B af8f2e83600dfb3ec84702399cb00a3aaedbc80087e35dc7cc2e2374d4fe5fdf82707ac8c911da1c53eb7b027c9da9ecfc1c0a8f56b39431fa4cf44cad5b10f7 SHA512 aa9ed9195951b00ac8221e958ea337fbda82621a862ef8f29dc2ea396a6253ce51c2a0a498dfa4e12642f1836f85f9564f09991979ae85c5ed4368355d857376
|
||||
|
||||
62
sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.78.1.ebuild
vendored
Normal file
62
sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.78.1.ebuild
vendored
Normal file
@ -0,0 +1,62 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
GNOME_ORG_MODULE="glib"
|
||||
|
||||
inherit gnome.org python-single-r1
|
||||
|
||||
DESCRIPTION="Build utilities for GLib using projects"
|
||||
HOMEPAGE="https://www.gtk.org/"
|
||||
|
||||
LICENSE="LGPL-2.1+"
|
||||
SLOT="0" # /usr/bin utilities that can't be parallel installed by their nature
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
RDEPEND="${PYTHON_DEPS}"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
dev-libs/libxslt
|
||||
app-text/docbook-xsl-stylesheets
|
||||
"
|
||||
|
||||
src_configure() { :; }
|
||||
|
||||
do_xsltproc_command() {
|
||||
# Taken from meson.build for manual manpage building - keep in sync (also copied to dev-util/gdbus-codegen)
|
||||
xsltproc \
|
||||
--nonet \
|
||||
--stringparam man.output.quietly 1 \
|
||||
--stringparam funcsynopsis.style ansi \
|
||||
--stringparam man.th.extra1.suppress 1 \
|
||||
--stringparam man.authors.section.enabled 0 \
|
||||
--stringparam man.copyright.section.enabled 0 \
|
||||
-o "${2}" \
|
||||
http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl \
|
||||
"${1}" || die "manpage generation failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
sed -e "s:@VERSION@:${PV}:g;s:@PYTHON@:python:g" gobject/glib-genmarshal.in > gobject/glib-genmarshal || die
|
||||
sed -e "s:@VERSION@:${PV}:g;s:@PYTHON@:python:g" gobject/glib-mkenums.in > gobject/glib-mkenums || die
|
||||
sed -e "s:@GLIB_VERSION@:${PV}:g;s:@PYTHON@:python:g" glib/gtester-report.in > glib/gtester-report || die
|
||||
do_xsltproc_command docs/reference/gobject/glib-genmarshal.xml docs/reference/gobject/glib-genmarshal.1
|
||||
do_xsltproc_command docs/reference/gobject/glib-mkenums.xml docs/reference/gobject/glib-mkenums.1
|
||||
do_xsltproc_command docs/reference/glib/gtester-report.xml docs/reference/glib/gtester-report.1
|
||||
}
|
||||
|
||||
src_install() {
|
||||
python_fix_shebang gobject/glib-genmarshal
|
||||
python_fix_shebang gobject/glib-mkenums
|
||||
python_fix_shebang glib/gtester-report
|
||||
exeinto /usr/bin
|
||||
doexe gobject/glib-genmarshal
|
||||
doexe gobject/glib-mkenums
|
||||
doexe glib/gtester-report
|
||||
doman docs/reference/gobject/glib-genmarshal.1
|
||||
doman docs/reference/gobject/glib-mkenums.1
|
||||
doman docs/reference/glib/gtester-report.1
|
||||
}
|
||||
29
sdk_container/src/third_party/portage-stable/dev-util/gperf/files/gperf-3.1-parallel-tests.patch
vendored
Normal file
29
sdk_container/src/third_party/portage-stable/dev-util/gperf/files/gperf-3.1-parallel-tests.patch
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
https://savannah.gnu.org/bugs/?53208
|
||||
https://git.savannah.gnu.org/cgit/gperf.git/commit/?id=11487a61ce8a90f29c078dffc576e42cad24b789
|
||||
|
||||
From 11487a61ce8a90f29c078dffc576e42cad24b789 Mon Sep 17 00:00:00 2001
|
||||
From: Bruno Haible <bruno@clisp.org>
|
||||
Date: Sat, 8 Sep 2018 17:12:15 +0200
|
||||
Subject: Fix failure of "make check -j2".
|
||||
|
||||
--- a/tests/Makefile.in
|
||||
+++ b/tests/Makefile.in
|
||||
@@ -1,6 +1,6 @@
|
||||
# Makefile for gperf/tests
|
||||
|
||||
-# Copyright (C) 1989, 1992-1993, 1995, 1998, 2000, 2002-2004, 2007-2009, 2012, 2016 Free Software Foundation, Inc.
|
||||
+# Copyright (C) 1989, 1992-1993, 1995, 1998, 2000, 2002-2004, 2007-2009, 2012, 2016, 2018 Free Software Foundation, Inc.
|
||||
# Written by Douglas C. Schmidt <schmidt@ics.uci.edu>
|
||||
# and Bruno Haible <bruno@clisp.org>.
|
||||
#
|
||||
@@ -138,7 +138,7 @@ check-smtp:
|
||||
|
||||
# these next 5 are demos that show off the generated code
|
||||
POSTPROCESS_FOR_MINGW = LC_ALL=C tr -d '\r' | LC_ALL=C sed -e 's|[^ ]*[/\\][\\]*src[/\\][\\]*gperf[^ ]*|../src/gperf|'
|
||||
-check-test:
|
||||
+check-test: check-ada
|
||||
$(GPERF) -L C -F ', 0, 0' -j1 -i 1 -g -o -t -G -N is_reserved_word -k1,3,'$$' < $(srcdir)/c-parse.gperf | $(POSTPROCESS_FOR_MINGW) > c-parse.out
|
||||
diff $(srcdir)/c-parse.exp c-parse.out
|
||||
$(GPERF) -j1 -i 1 -g -o -t -N is_reserved_word -k1,3,'$$' < $(srcdir)/objc.gperf | $(POSTPROCESS_FOR_MINGW) > objc.out
|
||||
--
|
||||
cgit v1.1
|
||||
@ -14,6 +14,7 @@ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-strncmp-decl-mismatch.patch
|
||||
"${FILESDIR}"/${P}-clang-16-wregister.patch
|
||||
"${FILESDIR}"/${P}-parallel-tests.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
|
||||
@ -2,3 +2,4 @@ DIST meson-1.1.1.tar.gz 2125503 BLAKE2B 295b46d19c8a1d64d326a6c826e2abe11d976890
|
||||
DIST meson-1.2.1.tar.gz 2182126 BLAKE2B b79fa78618cbebfb26ea40e698c495e63d722ba3204d4fed92d087e4a588b49666b476c55916f1435b7ca62f24843c683f1da09751754e928c838c1bf138ce58 SHA512 6221a14a6046aaba2c6eb601a9a5b928308bbd9da813ccec16b8f7578296b27d741e30e9343723770c3c7825c86b53193b41b9672dd17468d06d3b8d743bf52e
|
||||
DIST meson-1.2.2.tar.gz 2190455 BLAKE2B b355c8e5ab7508fca51dbe5c95eea68f91b995a670ad20eb9b7e93d3c97ad5363afe3fbd39cd554d1a6953a07166851257d16706acc9db6d5265e6452e40a857 SHA512 8dde3235f31862953e2f4db2527e441dfa9413b5f7545c85949ebc0f3b58819307ca124bf04d481d6f1425d6a4c93051239a659554322af893c97b651379fa86
|
||||
DIST meson-1.2.3.tar.gz 2184484 BLAKE2B 7d76c54bddba249ab97ebd5dd0afc448177ff9fa70812a8ca0cc9fe308c9b145b3fbc3ee068acae0fdc73edff42134b7a0b618cd80a05347a424aca7bc8bbef8 SHA512 cdcadc731effc1ffb2de98b795ba37955f934ed9b54b9f7f3ac5fe96ab33268d4de4fce734a4c2ef7d2ecc5051616df127e1f8665e197ff954310bf1483b81fc
|
||||
DIST meson-1.3.0rc1.tar.gz 2139141 BLAKE2B b45bb81e630a8d25421c266953116837580aad0c2d577e575922aef1f2611f3f6b78e5ab346846991251f2409683f74b07f369f49608bf4f12a043cf0c3d0f81 SHA512 196b2e37124328f74bde7aae9d41774bb0b036a8be6f7fee5496eebc83a278222d0ad17efab8baaae421aeeaadda89efeff29e55e88aa4448d3690fc938ab8d8
|
||||
|
||||
121
sdk_container/src/third_party/portage-stable/dev-util/meson/meson-1.3.0_rc1.ebuild
vendored
Normal file
121
sdk_container/src/third_party/portage-stable/dev-util/meson/meson-1.3.0_rc1.ebuild
vendored
Normal file
@ -0,0 +1,121 @@
|
||||
# Copyright 2016-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..12} pypy3 )
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/mesonbuild/meson"
|
||||
inherit git-r3
|
||||
else
|
||||
inherit pypi
|
||||
|
||||
MY_P=${P/_/}
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
if [[ ${PV} != *_rc* ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
fi
|
||||
|
||||
inherit bash-completion-r1 distutils-r1 toolchain-funcs
|
||||
|
||||
DESCRIPTION="Open source build system"
|
||||
HOMEPAGE="https://mesonbuild.com/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
DEPEND="
|
||||
test? (
|
||||
dev-libs/glib:2
|
||||
dev-libs/gobject-introspection
|
||||
dev-util/ninja
|
||||
dev-vcs/git
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
virtual/pkgconfig
|
||||
)
|
||||
"
|
||||
RDEPEND="
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.2.1-python-path.patch
|
||||
)
|
||||
|
||||
python_prepare_all() {
|
||||
local disable_unittests=(
|
||||
# ASAN and sandbox both want control over LD_PRELOAD
|
||||
# https://bugs.gentoo.org/673016
|
||||
-e 's/test_generate_gir_with_address_sanitizer/_&/'
|
||||
|
||||
# ASAN is unsupported on some targets
|
||||
# https://bugs.gentoo.org/692822
|
||||
-e 's/test_pch_with_address_sanitizer/_&/'
|
||||
|
||||
# https://github.com/mesonbuild/meson/issues/7203
|
||||
-e 's/test_templates/_&/'
|
||||
|
||||
# Broken due to python2 wrapper
|
||||
-e 's/test_python_module/_&/'
|
||||
)
|
||||
|
||||
sed -i "${disable_unittests[@]}" unittests/*.py || die
|
||||
|
||||
# Broken due to python2 script created by python_wrapper_setup
|
||||
rm -r "test cases/frameworks/1 boost" || die
|
||||
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
src_test() {
|
||||
tc-export PKG_CONFIG
|
||||
if ${PKG_CONFIG} --exists Qt5Core && ! ${PKG_CONFIG} --exists Qt5Gui; then
|
||||
ewarn "Found Qt5Core but not Qt5Gui; skipping tests"
|
||||
else
|
||||
distutils-r1_src_test
|
||||
fi
|
||||
}
|
||||
|
||||
python_test() {
|
||||
(
|
||||
# test_meson_installed
|
||||
unset PYTHONDONTWRITEBYTECODE
|
||||
|
||||
# https://bugs.gentoo.org/687792
|
||||
unset PKG_CONFIG
|
||||
|
||||
# test_cross_file_system_paths
|
||||
unset XDG_DATA_HOME
|
||||
|
||||
# 'test cases/unit/73 summary' expects 80 columns
|
||||
export COLUMNS=80
|
||||
|
||||
# If JAVA_HOME is not set, meson looks for javac in PATH.
|
||||
# If javac is in /usr/bin, meson assumes /usr/include is a valid
|
||||
# JDK include path. Setting JAVA_HOME works around this broken
|
||||
# autodetection. If no JDK is installed, we should end up with an empty
|
||||
# value in JAVA_HOME, and the tests should get skipped.
|
||||
export JAVA_HOME=$(java-config -O 2>/dev/null)
|
||||
|
||||
# Call python3 instead of EPYTHON to satisfy test_meson_uninstalled.
|
||||
python3 run_tests.py
|
||||
) || die "Testing failed with ${EPYTHON}"
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
distutils-r1_python_install_all
|
||||
|
||||
insinto /usr/share/vim/vimfiles
|
||||
doins -r data/syntax-highlighting/vim/{ftdetect,indent,syntax}
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
doins data/shell-completions/zsh/_meson
|
||||
|
||||
dobashcomp data/shell-completions/bash/meson
|
||||
}
|
||||
@ -36,7 +36,7 @@ src_prepare() {
|
||||
[[ ${PV} == 9999 ]] && eautoreconf
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/pkgconf
|
||||
/usr/bin/pkgconf$(get_exeext)
|
||||
/usr/bin/pkg-config$(get_exeext)
|
||||
)
|
||||
}
|
||||
|
||||
@ -364,7 +364,7 @@ cmake_src_prepare() {
|
||||
if [[ ${EAPI} == 7 ]]; then
|
||||
pushd "${S}" > /dev/null || die # workaround from cmake-utils
|
||||
# in EAPI-8, we use current working directory instead, bug #704524
|
||||
# esp. test with 'special' pkgs like: app-arch/brotli, media-gfx/gmic, net-libs/quiche
|
||||
# esp. test with 'special' pkgs like: app-arch/brotli, net-libs/quiche
|
||||
fi
|
||||
_cmake_check_build_dir
|
||||
|
||||
|
||||
@ -57,8 +57,8 @@ _setup-allowed-flags() {
|
||||
-fbounds-check -fbounds-checking
|
||||
-fno-PIE -fno-pie -nopie -no-pie
|
||||
-fharden-compares -fharden-conditional-branches
|
||||
-fharden-control-flow-redundancy -fhardcfr-skip-leaf
|
||||
-fhardcfr-check-exceptions -fhardcfr-check-returning-calls
|
||||
-fharden-control-flow-redundancy -fno-harden-control-flow-redundancy
|
||||
-fhardcfr-skip-leaf -fhardcfr-check-exceptions -fhardcfr-check-returning-calls
|
||||
'-fhardcfr-check-noreturn-calls=*'
|
||||
# Spectre mitigations, bug #646076
|
||||
'-mindirect-branch=*'
|
||||
|
||||
@ -648,6 +648,7 @@ tc-ninja_magic_to_arch() {
|
||||
case ${host} in
|
||||
aarch64*) echo arm64;;
|
||||
alpha*) echo alpha;;
|
||||
arc*) echo arc;;
|
||||
arm*) echo arm;;
|
||||
avr*) _tc_echo_kernel_alias avr32 avr;;
|
||||
bfin*) _tc_echo_kernel_alias blackfin bfin;;
|
||||
@ -736,6 +737,8 @@ tc-endian() {
|
||||
aarch64*be) echo big;;
|
||||
aarch64) echo little;;
|
||||
alpha*) echo little;;
|
||||
arc*b*) echo big;;
|
||||
arc*) echo little;;
|
||||
arm*b*) echo big;;
|
||||
arm*) echo little;;
|
||||
cris*) echo little;;
|
||||
|
||||
@ -1535,6 +1535,18 @@ gcc_do_filter_flags() {
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if ver_test -lt 13.6 ; then
|
||||
# These aren't supported by the just-built compiler either.
|
||||
filter-flags -fharden-compares -fharden-conditional-branches \
|
||||
-fharden-control-flow-redundancy -fno-harden-control-flow-redundancy \
|
||||
-fhardcfr-skip-leaf -fhardcfr-check-exceptions \
|
||||
-fhardcfr-check-returning-calls '-fhardcfr-check-noreturn-calls=*'
|
||||
else
|
||||
# Makes things painfully slow and no real benefit for the compiler.
|
||||
append-flags $(test-flags-CC -fno-harden-control-flow-redundancy)
|
||||
fi
|
||||
|
||||
# Please use USE=lto instead (bug #906007).
|
||||
filter-lto
|
||||
|
||||
|
||||
35
sdk_container/src/third_party/portage-stable/licenses/UPL-1.0
vendored
Normal file
35
sdk_container/src/third_party/portage-stable/licenses/UPL-1.0
vendored
Normal file
@ -0,0 +1,35 @@
|
||||
Copyright (c) [year] [copyright holders]
|
||||
|
||||
The Universal Permissive License (UPL), Version 1.0
|
||||
|
||||
Subject to the condition set forth below, permission is hereby granted to any
|
||||
person obtaining a copy of this software, associated documentation and/or data
|
||||
(collectively the "Software"), free of charge and under any and all copyright
|
||||
rights in the Software, and any and all patent rights owned or freely
|
||||
licensable by each licensor hereunder covering either (i) the unmodified
|
||||
Software as contributed to or provided by such licensor, or (ii) the Larger
|
||||
Works (as defined below), to deal in both
|
||||
|
||||
(a) the Software, and
|
||||
(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if
|
||||
one is included with the Software (each a "Larger Work" to which the Software
|
||||
is contributed by such licensors),
|
||||
|
||||
without restriction, including without limitation the rights to copy, create
|
||||
derivative works of, display, perform, and distribute the Software and make,
|
||||
use, sell, offer for sale, import, export, have made, and have sold the
|
||||
Software and the Larger Work(s), and to sublicense the foregoing rights on
|
||||
either these or other terms.
|
||||
|
||||
This license is subject to the following condition:
|
||||
The above copyright notice and either this complete permission notice or at
|
||||
a minimum a reference to the UPL must be included in all copies or
|
||||
substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@ -2,3 +2,5 @@ DIST c-ares-1.19.1.tar.gz 1579100 BLAKE2B 4b6c9593edb1a91ab76d54ddacb1cd5d67006d
|
||||
DIST c-ares-1.19.1.tar.gz.asc 488 BLAKE2B 9c47d7b3e67d9a2bd1e332912d21d20ca591fc34f81707c18a4615ea14ba2da00146d1998250a5f4dd2a0b1c04f9bd2013d4940ac734674c0bdff6815985e19d SHA512 1b204ab1a667af1326be4b7c62c0919aacd447a2e00efea4b8ef2ec9f2b13ffb236a836ff8953b0b3359727faf3fb8cfcd71d0b06a0e533a09f9e9ea66024f4e
|
||||
DIST c-ares-1.20.1.tar.gz 1599175 BLAKE2B 44d160e04dcbd78f0ad7c1f2eb3f34ff07017fd9b5c4bc12b81b123022297adccfff45f43630f8c73afdfd9424ff6ee9fb96c627405ec486c8d78bb0c7e518ca SHA512 83400fb276ebcf16dfe6f43d56ca87839d132b5a0544420eda9fa148eb85468b3f215593fcefc2a7a3a8ed8b0d4ef093ed99616a4e466b01f6913934240539e4
|
||||
DIST c-ares-1.20.1.tar.gz.asc 488 BLAKE2B 5a6a9e60dd3fb675cafbbf60c7b6c75b385786d1171afa9b1effcdf0187dbd044c93f6a0e87f685b5fdf2992892fdd760e2dc3246c196d011c157fc88bbb5ab4 SHA512 f0622f6df863c599028f20462fb6f5604f30243f51f382c8430abe2afbf3583cb6ffe527f0a38e646700d753d90fa9a2a4d197a7540b2fc9bed1d779fe3b43df
|
||||
DIST c-ares-1.21.0.tar.gz 1623742 BLAKE2B 708933603dfc6c0286e798b3244eb9d8bce500acb915a255b82e00133509e5c2ceaad6b9b4cd081fcd9193b64fdb72e4e7ff6deeca8eb1744124ab9239cacac0 SHA512 c526b0a28d8ea1c6a53215dfd52e8250c968513a667c5414459d97d46288da7e7a2193d757fc78225e56c6684b3d30e756dd3e5a31917e996c871773a34892ea
|
||||
DIST c-ares-1.21.0.tar.gz.asc 488 BLAKE2B b1985393dfc147abe729b5622c4c92585072173a169947caf1a9521d341dac2119e34691b96e31716df66a251dbba3a5284cddd4c47af0d0bd91e20576d5671e SHA512 0e75e51ebf97ec4ed0880811ddb60f741ea190c2e63011aad9a4233fe4e2481d0c660d401a5cf596fe257930365a366082c2b5faa34bb7b346d147cfc51392ff
|
||||
|
||||
88
sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.21.0.ebuild
vendored
Normal file
88
sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.21.0.ebuild
vendored
Normal file
@ -0,0 +1,88 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/danielstenberg.asc
|
||||
inherit edo multilib-minimal verify-sig
|
||||
|
||||
DESCRIPTION="C library that resolves names asynchronously"
|
||||
HOMEPAGE="https://c-ares.org/"
|
||||
SRC_URI="
|
||||
https://c-ares.org/download/${P}.tar.gz
|
||||
verify-sig? ( https://c-ares.org/download/${P}.tar.gz.asc )
|
||||
"
|
||||
|
||||
# ISC for lib/{bitncmp.c,inet_ntop.c,inet_net_pton.c} (bug #912405)
|
||||
LICENSE="MIT ISC"
|
||||
# Subslot = SONAME of libcares.so.2
|
||||
SLOT="0/2"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="static-libs test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-danielstenberg )"
|
||||
|
||||
DOCS=( AUTHORS CHANGES NEWS README.md RELEASE-NOTES TODO )
|
||||
|
||||
MULTILIB_WRAPPED_HEADERS=(
|
||||
/usr/include/ares_build.h
|
||||
)
|
||||
|
||||
QA_CONFIG_IMPL_DECL_SKIP=(
|
||||
# Checking for obsolete headers
|
||||
malloc
|
||||
calloc
|
||||
free
|
||||
|
||||
# Non-existent on Linux
|
||||
closesocket
|
||||
CloseSocket
|
||||
ioctlsocket
|
||||
bitncmp
|
||||
)
|
||||
|
||||
multilib_src_configure() {
|
||||
local myeconfargs=(
|
||||
--enable-nonblocking
|
||||
--enable-symbol-hiding
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable test tests)
|
||||
)
|
||||
|
||||
# Needed for running unit tests only
|
||||
# Violates sandbox and tests pass fine without
|
||||
export ax_cv_uts_namespace=no
|
||||
export ax_cv_user_namespace=no
|
||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
cd "${BUILD_DIR}"/test || die
|
||||
|
||||
# We're skipping the "real" network tests with the filter
|
||||
# see https://github.com/c-ares/c-ares/tree/main/test
|
||||
local network_tests=(
|
||||
# Most live tests have Live in the name
|
||||
*Live*
|
||||
# These don't but are still in ares-test-live.cc => live
|
||||
*GetTCPSock*
|
||||
*TimeoutValue*
|
||||
*GetSock*
|
||||
*GetSock_virtualized*
|
||||
*VerifySocketFunctionCallback*
|
||||
# Seems flaky, even run manually
|
||||
# https://github.com/c-ares/c-ares/commit/9e542a8839f81c990bb0dff14beeaf9aa6bcc18d
|
||||
*MockUDPMaxQueriesTest.GetHostByNameParallelLookups*
|
||||
)
|
||||
|
||||
# The format for disabling test1, test2, and test3 looks like:
|
||||
# -test1:test2:test3
|
||||
edo ./arestest --gtest_filter=-$(echo $(IFS=:; echo "${network_tests[*]}"))
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
|
||||
find "${ED}" -name "*.la" -delete || die
|
||||
}
|
||||
@ -5,9 +5,6 @@
|
||||
<email>base-system@gentoo.org</email>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="brotli">
|
||||
Enable brotli decompression support via <pkg>app-arch/brotli</pkg>
|
||||
</flag>
|
||||
<flag name="dane">
|
||||
Build libgnutls-dane, implementing DNS-based Authentication of
|
||||
Named Entities. Requires <pkg>net-dns/unbound</pkg>
|
||||
|
||||
@ -17,7 +17,7 @@ else
|
||||
https://curl.se/download/${P}.tar.xz
|
||||
verify-sig? ( https://curl.se/download/${P}.tar.xz.asc )
|
||||
"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
LICENSE="BSD curl ISC test? ( BSD-4 )"
|
||||
|
||||
@ -11,7 +11,6 @@
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="alt-svc">Enable alt-svc support</flag>
|
||||
<flag name="brotli">Enable brotli compression support</flag>
|
||||
<flag name="ftp">Enable FTP support</flag>
|
||||
<flag name="gnutls">Enable gnutls ssl backend</flag>
|
||||
<flag name="gopher">Enable Gopher protocol support</flag>
|
||||
@ -33,7 +32,6 @@
|
||||
<flag name="telnet">Enable Telnet protocol support</flag>
|
||||
<flag name="tftp">Enable TFTP support</flag>
|
||||
<flag name="websockets">Enable websockets support</flag>
|
||||
<flag name="zstd">Enable zstd compression</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="cpe">cpe:/a:curl:curl</remote-id>
|
||||
|
||||
@ -12,7 +12,7 @@ S="${WORKDIR}"/${P/_/}
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="3"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
||||
IUSE="sctp"
|
||||
|
||||
DEPEND="
|
||||
|
||||
@ -143,8 +143,8 @@ x11-base/xwayland video_cards_nvidia
|
||||
x11-wm/mutter video_cards_nvidia
|
||||
|
||||
# Bernd Waibel <waebbl-gentoo@posteo.net> (2021-06-11)
|
||||
# Has unpackaged depdencies, bug #795459
|
||||
>=media-libs/opencolorio-2.0.0 doc
|
||||
# Has unpackaged dependencies, bug #795459
|
||||
<media-libs/opencolorio-2.2.0 doc
|
||||
|
||||
# Michael Orlitzky <mjo@gentoo.org> (2021-03-27)
|
||||
# The clozurecl and clozurecl64 flags are now arch-specific in maxima,
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# Copyright 2021-2022 Gentoo Authors
|
||||
# Copyright 2021-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Georgy Yakovlev <gyakovlev@gentoo.org> (2022-01-20)
|
||||
@ -6,6 +6,7 @@
|
||||
# internal bootstrap only needed in parent big-endian profile
|
||||
dev-java/openjdk:11 system-bootstrap
|
||||
dev-java/openjdk:17 system-bootstrap
|
||||
dev-java/openjdk:21 system-bootstrap
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (2021-02-19)
|
||||
# We have ready-to-use configs here.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# Copyright 2022 Gentoo Authors
|
||||
# Copyright 2022-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Arthur Zamarin <arthurzam@gentoo.org> (2022-01-13)
|
||||
@ -6,3 +6,4 @@
|
||||
# system bootstrap
|
||||
dev-java/openjdk:11 -system-bootstrap
|
||||
dev-java/openjdk:17 -system-bootstrap
|
||||
dev-java/openjdk:21 -system-bootstrap
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# Copyright 2022 Gentoo Authors
|
||||
# Copyright 2022-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Arthur Zamarin <arthurzam@gentoo.org> (2022-04-30)
|
||||
@ -6,3 +6,4 @@
|
||||
# system bootstrap
|
||||
dev-java/openjdk:11 -system-bootstrap
|
||||
dev-java/openjdk:17 -system-bootstrap
|
||||
dev-java/openjdk:21 -system-bootstrap
|
||||
|
||||
@ -17,6 +17,7 @@ www-client/firefox system-libvpx
|
||||
# system bootstrap
|
||||
dev-java/openjdk:11 -system-bootstrap
|
||||
dev-java/openjdk:17 -system-bootstrap
|
||||
dev-java/openjdk:21 -system-bootstrap
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (2017-12-30)
|
||||
# We have ready-to-use configs here.
|
||||
|
||||
@ -52,6 +52,7 @@ sys-devel/clang pie
|
||||
# Force to use installed openjdk{,-bin} for bootstrapping
|
||||
dev-java/openjdk:11 system-bootstrap
|
||||
dev-java/openjdk:17 system-bootstrap
|
||||
dev-java/openjdk:21 system-bootstrap
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (2021-11-04)
|
||||
# Enable all LLVM targets unconditionally. Unfortunately, disabling
|
||||
|
||||
@ -6,6 +6,10 @@
|
||||
# This file is only for generic masks. For arch-specific masks (i.e.
|
||||
# mask everywhere, unmask on arch/*) use arch/base.
|
||||
|
||||
# Marek Szuba <marecki@gentoo.org> (2023-10-26)
|
||||
# media-gfx/gmic has been masked for removal, see Bug #916289.
|
||||
media-gfx/darktable gmic
|
||||
|
||||
# hololeap <hololeap@protonmail.com> (2023-10-15)
|
||||
# Enabling these flags will create cycles in the dependency graph.
|
||||
# Maintainers may want to temporarily unmask these in order to run
|
||||
@ -218,18 +222,6 @@ dev-libs/libffi exec-static-trampoline
|
||||
# Doesn't compile currently, bug #853094.
|
||||
>=net-dialup/freeradius-3.2.0 oracle
|
||||
|
||||
# David Seifert <soap@gentoo.org> (2023-01-04)
|
||||
# Out of date patchset, warns on latest version about being "expired",
|
||||
# unofficial and maintainer discourages people upgrading to latest (non-packaged)
|
||||
# versions of knots too. The upstream maintainer was recently compromised
|
||||
# and there is no explanation as to how, so continuing to provide these patches
|
||||
# would be irresponsible. Bug #889326
|
||||
dev-util/bitcoin-tx knots
|
||||
net-libs/libbitcoinconsensus knots
|
||||
net-p2p/bitcoin-cli knots
|
||||
net-p2p/bitcoin-qt knots
|
||||
net-p2p/bitcoind knots
|
||||
|
||||
# Matt Turner <mattst88@gentoo.org> (2023-01-01)
|
||||
# Depends on nautilus < 43
|
||||
>=app-text/evince-43.0 nautilus
|
||||
@ -389,11 +381,6 @@ net-libs/ngtcp2 openssl
|
||||
# Needs masked version of ogre (>=1.12), bug #825330
|
||||
>=dev-games/mygui-3.4.1 ogre
|
||||
|
||||
# Marek Szuba <marecki@gentoo.org> (2022-02-07)
|
||||
# Deprecated back-end with known stability and data-corruption issues,
|
||||
# likely to be removed in gramps-5.2.0.
|
||||
app-misc/gramps berkdb
|
||||
|
||||
# Jason A. Donenfeld <zx2c4@gentoo.org> (2022-02-04)
|
||||
# We're still ironing out some kinks and writing documentation for
|
||||
# this feature, so keep masked for now.
|
||||
@ -435,8 +422,9 @@ media-video/mjpg-streamer http-management
|
||||
app-text/texlive pdfannotextractor
|
||||
|
||||
# Georgy Yakovlev <gyakovlev@gentoo.org> (2021-10-16)
|
||||
# openjfx for openjdk17 is not yet available
|
||||
# openjfx for OpenJDK 17 and 21 is not yet available.
|
||||
dev-java/openjdk:17 javafx
|
||||
dev-java/openjdk:21 javafx
|
||||
|
||||
# Marek Szuba <marecki@gentoo.org> (2021-10-10)
|
||||
# Legacy interface that depends on dev-libs/libx86 and specific kernel
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
# Copyright 2022 Gentoo Authors.
|
||||
# Copyright 2022-2023 Gentoo Authors.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Arthur Zamarin <arthurzam@gentoo.org> (2022-01-21)
|
||||
# Bootstrapping is possible using our build snapshot, so don't force
|
||||
# system bootstrap
|
||||
dev-java/openjdk:17 -system-bootstrap
|
||||
dev-java/openjdk:21 -system-bootstrap
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
# Copyright 2022 Gentoo Authors.
|
||||
# Copyright 2022-2023 Gentoo Authors.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Arthur Zamarin <arthurzam@gentoo.org> (2022-01-21)
|
||||
# Bootstrapping is possible using our build snapshot, so don't force
|
||||
# system bootstrap
|
||||
dev-java/openjdk:17 -system-bootstrap
|
||||
dev-java/openjdk:21 -system-bootstrap
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
# Copyright 2022 Gentoo Authors.
|
||||
# Copyright 2022-2023 Gentoo Authors.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Arthur Zamarin <arthurzam@gentoo.org> (2022-01-21)
|
||||
# Bootstrapping is possible using our build snapshot, so don't force
|
||||
# system bootstrap
|
||||
dev-java/openjdk:17 -system-bootstrap
|
||||
dev-java/openjdk:21 -system-bootstrap
|
||||
|
||||
@ -11,10 +11,6 @@ games-engines/fheroes2
|
||||
games-engines/openmw
|
||||
games-strategy/homm2-gold-gog
|
||||
|
||||
# Sam James <sam@gentoo.org> (2023-09-28)
|
||||
# Broken on BE (https://bugs.chromium.org/p/aomedia/issues/detail?id=3487)
|
||||
~media-libs/libaom-3.7.0
|
||||
|
||||
# matoro <matoro_gentoo@matoro.tk> (2023-06-30)
|
||||
# Test failures on BE
|
||||
# https://github.com/libjxl/libjxl/issues/2433
|
||||
|
||||
@ -362,6 +362,7 @@ sys-apps/systemd
|
||||
sys-apps/systemd-readahead
|
||||
sys-process/systemd-cron
|
||||
>=www-misc/profile-sync-daemon-6
|
||||
sys-block/wait-for-dri-devices-rules
|
||||
|
||||
# rust-bin requires a glibc system
|
||||
dev-lang/rust-bin
|
||||
|
||||
@ -4,6 +4,7 @@
|
||||
# Various packages requiring Rust.
|
||||
app-admin/ansible
|
||||
app-admin/ansible-core
|
||||
app-admin/salt
|
||||
>=app-antivirus/clamav-0.105.1
|
||||
app-backup/borgbackup
|
||||
app-backup/borgmatic
|
||||
@ -25,6 +26,7 @@ dev-python/cfn-lint
|
||||
dev-python/dirty-equals
|
||||
dev-python/hatch-jupyter-builder
|
||||
dev-python/inflect
|
||||
dev-python/ipyparallel
|
||||
dev-python/ipywidgets
|
||||
dev-python/jaraco-itertools
|
||||
dev-python/josepy
|
||||
@ -32,7 +34,11 @@ dev-python/josepy
|
||||
dev-python/jsonschema-path
|
||||
dev-python/jsonschema-spec
|
||||
dev-python/jsonschema-specifications
|
||||
>=dev-python/jupyter-events-0.7.0
|
||||
dev-python/jupyter-events
|
||||
dev-python/jupyter-lsp
|
||||
dev-python/jupyter-server
|
||||
dev-python/jupyter-server-mathjax
|
||||
dev-python/jupyter-server-terminals
|
||||
dev-python/jupyterlab-server
|
||||
dev-python/jupyterlab
|
||||
dev-python/keyring
|
||||
@ -50,6 +56,7 @@ dev-python/nbdime
|
||||
dev-python/nbval
|
||||
dev-python/nh3
|
||||
dev-python/notebook
|
||||
dev-python/notebook-shim
|
||||
dev-python/oauthlib
|
||||
dev-python/openapi-core
|
||||
dev-python/openapi-schema-validator
|
||||
@ -67,7 +74,9 @@ dev-python/pyfuse3
|
||||
dev-python/pymdown-extensions
|
||||
dev-python/pyspelling
|
||||
dev-python/pyspnego
|
||||
dev-python/pytest-jupyter
|
||||
dev-python/pytest-localftpserver
|
||||
dev-python/pytest-salt-factories
|
||||
dev-python/pytest-trio
|
||||
dev-python/python-glanceclient
|
||||
dev-python/python-ironicclient
|
||||
|
||||
@ -1,6 +1,12 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (2023-10-15)
|
||||
# Need dev-python/jupyter-server.
|
||||
dev-python/ipykernel test
|
||||
dev-python/ipython smp
|
||||
dev-python/jupyter-client test
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (2023-10-15)
|
||||
# Need dev-python/notebook.
|
||||
dev-python/ipython notebook
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
# https://www.gnu.org/licenses/license-list.html
|
||||
# GPL or LGPL with various exceptions are also included here, because
|
||||
# they are more permissive than the licenses they are based on.
|
||||
GPL-COMPATIBLE AGPL-3 AGPL-3+ Apache-2.0 Apache-2.0-with-LLVM-exceptions Artistic-2 Boost-1.0 BSD BSD-2 CC0-1.0 CeCILL-2 Clarified-Artistic Clear-BSD ECL-2.0 FSFAP FTL gcc-runtime-library-exception-3.1 GPL-1 GPL-1+ GPL-2 GPL-2+ GPL-2+-with-openssl-exception GPL-2+-with-eCos-exception-2 GPL-2-with-classpath-exception GPL-2-with-exceptions GPL-2-with-font-exception GPL-2-with-linking-exception GPL-2-with-MySQL-FLOSS-exception GPL-2+-with-Pyinstaller-Bootloader-exception GPL-3 GPL-3+ GPL-3+-with-autoconf-exception GPL-3+-with-font-exception GPL-3-with-font-exception GPL-3-with-openssl-exception HPND IJG ISC LGPL-2 LGPL-2+ LGPL-2-with-linking-exception LGPL-2.1 LGPL-2.1+ LGPL-2.1-with-linking-exception LGPL-3 LGPL-3+ LGPL-3-with-linking-exception libgcc libstdc++ metapackage MIT MPL-2.0 Nokia-Qt-LGPL-Exception-1.1 OPENLDAP PSF-2 PSF-2.4 public-domain PYTHON qwt Ruby Ruby-BSD SGI-B-2.0 Sleepycat tanuki-community Transmission-OpenSSL-exception Unicode-DFS-2016 Unlicense UoI-NCSA UPX-exception vim W3C WTFPL-2 wxWinLL-3.1 ZLIB ZPL
|
||||
GPL-COMPATIBLE AGPL-3 AGPL-3+ Apache-2.0 Apache-2.0-with-LLVM-exceptions Artistic-2 Boost-1.0 BSD BSD-2 CC0-1.0 CeCILL-2 Clarified-Artistic Clear-BSD ECL-2.0 FSFAP FTL gcc-runtime-library-exception-3.1 GPL-1 GPL-1+ GPL-2 GPL-2+ GPL-2+-with-openssl-exception GPL-2+-with-eCos-exception-2 GPL-2-with-classpath-exception GPL-2-with-exceptions GPL-2-with-font-exception GPL-2-with-linking-exception GPL-2-with-MySQL-FLOSS-exception GPL-2+-with-Pyinstaller-Bootloader-exception GPL-3 GPL-3+ GPL-3+-with-autoconf-exception GPL-3+-with-font-exception GPL-3-with-font-exception GPL-3-with-openssl-exception HPND IJG ISC LGPL-2 LGPL-2+ LGPL-2-with-linking-exception LGPL-2.1 LGPL-2.1+ LGPL-2.1-with-linking-exception LGPL-3 LGPL-3+ LGPL-3-with-linking-exception libgcc libstdc++ metapackage MIT MPL-2.0 Nokia-Qt-LGPL-Exception-1.1 OPENLDAP PSF-2 PSF-2.4 public-domain PYTHON qwt Ruby Ruby-BSD SGI-B-2.0 Sleepycat tanuki-community Transmission-OpenSSL-exception Unicode-DFS-2016 Unlicense UoI-NCSA UPL-1.0 UPX-exception vim W3C WTFPL-2 wxWinLL-3.1 ZLIB ZPL
|
||||
|
||||
# Free software licenses approved by the FSF
|
||||
FSF-APPROVED @GPL-COMPATIBLE AFL-2.1 AFL-3.0 Apache-1.0 Apache-1.1 APSL-2 BSD-4 CDDL CeCILL-B CeCILL-C CNRI CPAL-1.0 CPL-1.0 EPL-1.0 EPL-2.0 EUPL-1.1 EUPL-1.2 FraunhoferFDK gnuplot IBM LPL-1.02 LPPL-1.2 LPPL-1.3a MPL-1.0 MPL-1.1 Ms-PL Ms-RL NPL-1.1 openssl OSL-1.1 OSL-2.0 OSL-2.1 PHP-3.01 QPL-1.0 Zend-2.0
|
||||
@ -25,7 +25,7 @@ FSF-APPROVED @GPL-COMPATIBLE AFL-2.1 AFL-3.0 Apache-1.0 Apache-1.1 APSL-2 BSD-4
|
||||
# Note that the FSF lists these as nonfree: Artistic NOSA Watcom-1.0
|
||||
# We exclude NOSA and Watcom-1.0, but we keep Artistic because Debian
|
||||
# considers it DFSG-free.
|
||||
OSI-APPROVED-FREE 0BSD AFL-3.0 AGPL-3 AGPL-3+ Apache-1.1 Apache-2.0 APL-1.0 APSL-2 Artistic Artistic-2 Boost-1.0 BSD BSD-2 CDDL CNRI CPAL-1.0 CPL-1.0 ECL-2.0 EPL-1.0 EPL-2.0 EUPL-1.1 EUPL-1.2 GPL-1 GPL-1+ GPL-2 GPL-2+ GPL-3 GPL-3+ HPND IBM IPAfont ISC LGPL-2 LGPL-2+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ LPL-1.02 LPPL-1.3c MirOS MIT MIT-0 MPL-1.0 MPL-1.1 MPL-2.0 Ms-PL Ms-RL nethack OFL-1.1 OSL-2.1 PHP-3 PHP-3.01 POSTGRESQL PSF-2 QPL-1.0 Sleepycat Unicode-DFS-2016 Unlicense UoI-NCSA W3C wxWinLL-3 ZLIB ZPL
|
||||
OSI-APPROVED-FREE 0BSD AFL-3.0 AGPL-3 AGPL-3+ Apache-1.1 Apache-2.0 APL-1.0 APSL-2 Artistic Artistic-2 Boost-1.0 BSD BSD-2 CDDL CNRI CPAL-1.0 CPL-1.0 ECL-2.0 EPL-1.0 EPL-2.0 EUPL-1.1 EUPL-1.2 GPL-1 GPL-1+ GPL-2 GPL-2+ GPL-3 GPL-3+ HPND IBM IPAfont ISC LGPL-2 LGPL-2+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ LPL-1.02 LPPL-1.3c MirOS MIT MIT-0 MPL-1.0 MPL-1.1 MPL-2.0 Ms-PL Ms-RL nethack OFL-1.1 OSL-2.1 PHP-3 PHP-3.01 POSTGRESQL PSF-2 QPL-1.0 Sleepycat Unicode-DFS-2016 Unlicense UPL-1.0 UoI-NCSA W3C wxWinLL-3 ZLIB ZPL
|
||||
|
||||
# Misc licenses that are probably free software, i.e. follow the
|
||||
# Free Software Definition at https://www.gnu.org/philosophy/free-sw.html
|
||||
|
||||
@ -17,6 +17,19 @@
|
||||
|
||||
#--- END OF EXAMPLES ---
|
||||
|
||||
# Matt Whitlock <gentoo@mattwhitlock.name> (2023-10-24)
|
||||
# Transitional meta packages. Please update dependencies:
|
||||
# dev-util/bitcoin-tx -> net-p2p/bitcoin-core
|
||||
# net-libs/libbitcoinconsensus -> net-p2p/bitcoin-core[libs]
|
||||
# net-p2p/bitcoin-cli -> net-p2p/bitcoin-core[bitcoin-cli]
|
||||
# net-p2p/bitcoin-qt -> net-p2p/bitcoin-core[gui]
|
||||
# net-p2p/bitcoind -> net-p2p/bitcoin-core[daemon]
|
||||
dev-util/bitcoin-tx
|
||||
net-libs/libbitcoinconsensus
|
||||
net-p2p/bitcoin-cli
|
||||
net-p2p/bitcoin-qt
|
||||
net-p2p/bitcoind
|
||||
|
||||
# Andreas Sturmlechner <asturm@gentoo.org> (2023-10-21)
|
||||
# QtScript is deprecated since Qt 5.5, all projects must port away.
|
||||
# Bug 915779
|
||||
|
||||
@ -33,6 +33,101 @@
|
||||
|
||||
#--- END OF EXAMPLES ---
|
||||
|
||||
# Yixun Lan <dlan@gentoo.org> (2023-10-30)
|
||||
# testing version, not work on qt6, Bug #916449
|
||||
=net-im/telegram-desktop-4.10.5
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (2023-10-29)
|
||||
# Backports from Python 3.6/3.7 to Python 3.5. Finally the last revdep
|
||||
# is gone.
|
||||
# Removal on 2023-11-28. Bug #916485.
|
||||
dev-python/async_generator
|
||||
|
||||
# Andreas K. Hüttel <dilfridge@gentoo.org> (2023-10-28)
|
||||
# Fails to build with glibc-2.38 (and musl). No maintainer.
|
||||
# Removal on 2023-11-28. Bug #713402
|
||||
app-editors/fte
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (2023-10-27)
|
||||
# dev-games/cegui is unmaintained, does not support Python 3.11 and has
|
||||
# a ton of open bugs. It is only used by games-rpg/sumwars. CeGUI has
|
||||
# had no release since 2016, and apparently the current git
|
||||
# is incompatible with SumWars. SumWars have had no activity
|
||||
# since 2014.
|
||||
# Removal on 2023-11-26. Bug #896688.
|
||||
dev-games/cegui
|
||||
games-rpg/sumwars
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (2023-10-27)
|
||||
# The package does not work with any of the dev-python/ruamel-yaml
|
||||
# versions in ::gentoo. No revdeps.
|
||||
# Removal on 2023-11-26. Bug #915986.
|
||||
dev-python/yamlpath
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (2023-10-26)
|
||||
# Non-installable since the distfile is gone and the package
|
||||
# is mirror-restricted.
|
||||
# Removal on 2023-11-25. Bug #753515.
|
||||
games-strategy/defcon-demo
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (2023-10-26)
|
||||
# An unmaintained programming language with last release in 2009.
|
||||
# Multiple bugs reported. No revdeps.
|
||||
# Removal on 2023-11-25.
|
||||
dev-lang/ferite
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (2023-10-26)
|
||||
# Obsolete package for GRUB 1.x. No updates since 2009, multiple bugs
|
||||
# reported.
|
||||
# Removal on 2023-11-25. Bug #912684.
|
||||
media-gfx/grub-splashes
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (2023-10-26)
|
||||
# Dead (and discouraged prior to death). No revdeps.
|
||||
# Removal on 2023-11-25. Bug #912879.
|
||||
dev-php/securimage
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (2023-10-26)
|
||||
# Not installable due to conflict with sys-apps/coreutils.
|
||||
# Removal on 2023-11-25. Bug #908406.
|
||||
app-misc/realpath
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (2023-10-26)
|
||||
# Hyperdex "support libraries". Hyperdex was removed in 2020.
|
||||
# No revdeps outside the bunch.
|
||||
# Removal on 2023-11-25. Bug #527386.
|
||||
dev-libs/busybee
|
||||
dev-libs/libe
|
||||
dev-libs/libpo6
|
||||
dev-libs/libtreadstone
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (2023-10-26)
|
||||
# Fails to compile with modern C++ compilers. Last release in 2011.
|
||||
# No revdeps.
|
||||
# Removal on 2023-11-25. Bug #722006.
|
||||
sci-electronics/freehdl
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (2023-10-26)
|
||||
# Incompatible with Cython 3. Last commit in 2016. No revdeps.
|
||||
# Removal on 2023-11-25. Bug #898696.
|
||||
dev-python/plyr
|
||||
|
||||
# Marek Szuba <marecki@gentoo.org> (2023-10-26)
|
||||
# Upstream uses a massive home-made Makefile which has since the beginning
|
||||
# required massive amounts of patching to make it behave reasonably
|
||||
# (as well as to fix the problems which ostensibly led upstream to
|
||||
# abandoning CMake, and which they immediately re-introduced in their NIH
|
||||
# solution) and which if anything have only got worse since then. One,
|
||||
# optional, reverse dependency in the tree.
|
||||
# Removal on 2023-11-26. Bug #916289.
|
||||
media-gfx/gmic
|
||||
|
||||
# Volkmar W. Pogatzki <gentoo@pogatzki.net> (2023-10-23)
|
||||
# Java libraries. No reverse dependencies.
|
||||
# Removal on 2023-11-23.
|
||||
dev-java/apache-rat-core
|
||||
dev-java/apache-rat-tasks
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (2023-10-23)
|
||||
# Broken on Python 3.11. Archived upstream since 2020. No revdeps.
|
||||
# Removal on 2023-11-22. Bug #896886.
|
||||
@ -115,18 +210,6 @@ app-text/coolreader
|
||||
# Removal on 2023-11-09.
|
||||
dev-libs/libchdr
|
||||
|
||||
# Patrick Lauer <patrick@gentoo.org> (2023-10-09)
|
||||
# ROCm 5.7 doesn't reliably work yet.
|
||||
=dev-util/rocm-cmake-5.7.0
|
||||
=dev-libs/roct-thunk-interface-5.7.0
|
||||
=dev-libs/rocm-device-libs-5.7.0
|
||||
=dev-libs/rocm-comgr-5.7.0
|
||||
=dev-libs/rocr-runtime-5.7.0
|
||||
=dev-libs/rocm-opencl-runtime-5.7.0
|
||||
=dev-util/rocminfo-5.7.0
|
||||
=dev-util/hip-5.7.0
|
||||
=dev-util/hipcc-5.7.0
|
||||
|
||||
# David Seifert <soap@gentoo.org> (2023-10-08)
|
||||
# Upstream long gone, unmaintained, EAPI 6, only Gentoo still packages
|
||||
# this. Removal on 2023-11-07. Bug #905187.
|
||||
@ -201,12 +284,6 @@ dev-python/memory-profiler
|
||||
# Removal on 2023-10-29. Bug #894592.
|
||||
dev-python/django-mptt
|
||||
|
||||
# Andrew Ammerlaan <andrewammerlaan@gentoo.org> (2023-09-23)
|
||||
# >=media-sound/spotify-1.2.20 now has its own tray icon.
|
||||
# Therefore the use case for this package is gone.
|
||||
# Removal on 2023-10-23
|
||||
media-sound/spotify-tray
|
||||
|
||||
# Hans de Graaff <graaff@gentoo.org> (2023-09-23)
|
||||
# ruby31-only package. No reverse dependencies. Archived by
|
||||
# upstream. Last release in 2012. Removal on 2023-10-23.
|
||||
@ -293,7 +370,6 @@ net-misc/openr2
|
||||
# Matt Turner <mattst88@gentoo.org> (2023-07-06)
|
||||
# GNOME 45 mask
|
||||
>=gnome-extra/gnome-logs-45_alpha
|
||||
>=net-misc/gnome-remote-desktop-45_alpha
|
||||
>=x11-libs/pango-1.51.0
|
||||
|
||||
# Sam James <sam@gentoo.org> (2023-07-05)
|
||||
@ -337,13 +413,6 @@ net-misc/openr2
|
||||
=dev-db/mariadb-10.11.2
|
||||
=dev-db/mariadb-10.11.3
|
||||
|
||||
# Bernd Waibel <waebbl-gentoo@posteo.net> (2023-05-31)
|
||||
# Mask this version for uptime soversion issue. There will be an updated release
|
||||
# shortly which fixes this.
|
||||
# See https://github.com/AcademySoftwareFoundation/Imath/issues/189#issuecomment-1567077722
|
||||
# Bug: #907211
|
||||
=dev-libs/imath-3.1.7
|
||||
|
||||
# Sam James <sam@gentoo.org> (2023-05-19)
|
||||
# Breaks Portage's pid-sandbox at least with 5.10 kernels. Pending investigation.
|
||||
# If you're hitting this, try: FEATURES="-pid-sandbox" emerge -v1 sys-apps/util-linux
|
||||
@ -491,10 +560,6 @@ dev-tex/pdfannotextractor
|
||||
# and may be buggier or less secure. Only unmask if really wanted.
|
||||
x11-drivers/nvidia-drivers:0/vulkan
|
||||
|
||||
# Mart Raudsepp <leio@gentoo.org> (2021-09-23)
|
||||
# Incompatible with c++17 abseil-cpp, no in-tree consumers yet
|
||||
media-libs/webrtc-audio-processing:1
|
||||
|
||||
# Andreas K. Hüttel <dilfridge@gentoo.org> (2021-09-18)
|
||||
# sys-devel/automake version 1.11 is EOL and is only useful for testing
|
||||
# old de-ANSI-fication/ansi2knr/AM_C_PROTOTYPES code. Please uninstall.
|
||||
|
||||
@ -3,7 +3,6 @@ move x11-libs/libva-compat media-libs/libva-compat
|
||||
move x11-libs/libva-intel-driver media-libs/libva-intel-driver
|
||||
move x11-libs/libva-intel-media-driver media-libs/libva-intel-media-driver
|
||||
move x11-libs/intel-hybrid-codec-driver media-libs/intel-hybrid-codec-driver
|
||||
move dev-python/swagger-spec-validator dev-python/swagger_spec_validator
|
||||
move dev-python/retworkx dev-python/rustworkx
|
||||
move dev-lang/open-cobol dev-lang/gnucobol
|
||||
move virtual/awk app-alternatives/awk
|
||||
|
||||
@ -2,3 +2,13 @@ move dev-python/python-varlink dev-python/varlink
|
||||
move dev-python/python-musicbrainzngs dev-python/musicbrainzngs
|
||||
move dev-python/python-libevdev dev-python/libevdev
|
||||
move dev-python/sphinx_lv2_theme dev-python/sphinx-lv2-theme
|
||||
move dev-python/jschema_to_python dev-python/jschema-to-python
|
||||
move dev-python/sarif_om dev-python/sarif-om
|
||||
move dev-python/memory_allocator dev-python/memory-allocator
|
||||
move media-libs/OpenImageIO media-libs/openimageio
|
||||
move media-libs/OpenColorIO media-libs/opencolorio
|
||||
move media-libs/OpenShadingLanguage media-libs/osl
|
||||
move dev-libs/Imath dev-libs/imath
|
||||
move dev-python/cli_helpers dev-python/cli-helpers
|
||||
move dev-python/python-cstruct dev-python/cstruct
|
||||
move dev-python/swagger_spec_validator dev-python/swagger-spec-validator
|
||||
|
||||
@ -22,6 +22,7 @@ apparmor - Enable support for the AppArmor application security system
|
||||
appindicator - Build in support for notifications using the libindicate or libappindicator plugin
|
||||
audiofile - Add support for libaudiofile where applicable
|
||||
audit - Enable support for Linux audit subsystem using sys-process/audit
|
||||
avif - Add AV1 Image Format (AVIF) support
|
||||
bash-completion - Enable bash-completion support
|
||||
berkdb - Add support for sys-libs/db (Berkeley DB for MySQL)
|
||||
bidi - Enable bidirectional language support
|
||||
@ -30,8 +31,9 @@ bindist - Flag to enable or disable options for prebuilt (GRP) packages (eg. due
|
||||
blas - Add support for the virtual/blas numerical library
|
||||
bluetooth - Enable Bluetooth Support
|
||||
branding - Enable Gentoo specific branding
|
||||
brotli - Enable Brotli compression support
|
||||
build - !!internal use only!! DO NOT SET THIS FLAG YOURSELF!, used for creating build images and the first half of bootstrapping [make stage1]
|
||||
bzip2 - Use the bzlib compression library
|
||||
bzip2 - Enable bzip2 compression support
|
||||
cairo - Enable support for the cairo graphics library
|
||||
calendar - Add support for calendars (not using mcal!)
|
||||
caps - Use Linux capabilities library to control privilege
|
||||
@ -150,6 +152,7 @@ jit - Enable just-in-time compilation for improved performance. May prevent use
|
||||
joystick - Add support for joysticks in all packages
|
||||
jpeg - Add JPEG image support
|
||||
jpeg2k - Support for JPEG 2000, a wavelet-based image compression format
|
||||
jpegxl - Add JPEG XL image support
|
||||
kde - Add support for software made by KDE, a free software community
|
||||
kerberos - Add kerberos support
|
||||
keyring - Enable support for freedesktop.org Secret Service API password store
|
||||
@ -172,8 +175,9 @@ livecd - !!internal use only!! DO NOT SET THIS FLAG YOURSELF!, used during livec
|
||||
llvm-libunwind - Use sys-libs/llvm-libunwind instead of sys-libs/libunwind
|
||||
lm-sensors - Add linux lm-sensors (hardware sensors) support
|
||||
lua - Enable Lua scripting support
|
||||
lzma - Support for LZMA (de)compression algorithm
|
||||
lz4 - Enable support for lz4 compression (as implemented in app-arch/lz4)
|
||||
lzip - Enable support for lzip compression
|
||||
lzma - Support for LZMA compression algorithm
|
||||
lzo - Enable support for lzo compression
|
||||
m17n-lib - Enable m17n-lib support
|
||||
mad - Add support for mad (high-quality mp3 decoder library and cli frontend)
|
||||
@ -377,6 +381,6 @@ xv - Add in optional support for the Xvideo extension (an X API for video playba
|
||||
xvid - Add support for xvid.org's open-source mpeg-4 codec
|
||||
zeroconf - Support for DNS Service Discovery (DNS-SD)
|
||||
zip - Enable support for ZIP archives
|
||||
zlib - Add support for zlib (de)compression
|
||||
zlib - Add support for zlib compression
|
||||
zsh-completion - Enable zsh completion support
|
||||
zstd - Enable support for ZSTD compression
|
||||
|
||||
@ -33,7 +33,7 @@ else
|
||||
verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )
|
||||
"
|
||||
|
||||
KEYWORDS="~alpha ~amd64 arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux"
|
||||
KEYWORDS="~alpha ~amd64 arm ~arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86 ~x86-linux"
|
||||
fi
|
||||
|
||||
SRC_URI+=" !vanilla? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCH}.tar.xz )"
|
||||
|
||||
@ -9,7 +9,7 @@ SRC_URI="https://www.kernel.org/pub/software/network/ethtool/${P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv sparc x86"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
|
||||
IUSE="+netlink"
|
||||
|
||||
RDEPEND="netlink? ( net-libs/libmnl )"
|
||||
|
||||
@ -10,7 +10,4 @@
|
||||
<remote-id type="cpe">cpe:/a:file_project:file</remote-id>
|
||||
<remote-id type="github">file/file</remote-id>
|
||||
</upstream>
|
||||
<use>
|
||||
<flag name="lzip">Enable <pkg>app-arch/lzip</pkg> decompression support via <pkg>app-arch/lzlib</pkg></flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
|
||||
@ -0,0 +1,41 @@
|
||||
https://git.savannah.gnu.org/cgit/findutils.git/commit/?id=a5b2e20d8
|
||||
|
||||
From a5b2e20d8f93e96817e00af6dd0a4c914580e8a2 Mon Sep 17 00:00:00 2001
|
||||
From: Bernhard Voelker <mail@bernhard-voelker.de>
|
||||
Date: Tue, 23 May 2023 01:57:47 +0200
|
||||
Subject: tests: fix FP in xargs test when /bin/sh is dash
|
||||
|
||||
Dash as /bin/sh apparently does not know $'\n' syntax.
|
||||
|
||||
* tests/xargs/verbose-quote.sh: Define NL variable for newline character;
|
||||
change from $'\n' syntax to the above variable when generating input
|
||||
for xargs.
|
||||
|
||||
Fixes https://sv.gnu.org/bugs/?63934
|
||||
---
|
||||
tests/xargs/verbose-quote.sh | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tests/xargs/verbose-quote.sh b/tests/xargs/verbose-quote.sh
|
||||
index d25f7db..e3607ce 100755
|
||||
--- a/tests/xargs/verbose-quote.sh
|
||||
+++ b/tests/xargs/verbose-quote.sh
|
||||
@@ -28,12 +28,15 @@ printf "%s\n" \
|
||||
|| framework_failure_
|
||||
|
||||
# Run xargs with -t for verious commands which require quoting.
|
||||
+# (Use NL because dash as /bin/sh does not know $'\n' syntax.)
|
||||
+nl='
|
||||
+'
|
||||
printf '%s\0' \
|
||||
000 \
|
||||
'10 0' \
|
||||
'20"0' \
|
||||
"30'0" \
|
||||
- 40$'\n'0 \
|
||||
+ "40${nl}0" \
|
||||
| xargs -0t '-I{}' './my command' 'hel lo' '{}' world > out 2> err \
|
||||
|| fail=1
|
||||
|
||||
--
|
||||
cgit v1.1
|
||||
@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
PYTHON_COMPAT=( python3_{10..11} )
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/findutils.asc
|
||||
inherit flag-o-matic python-any-r1 verify-sig
|
||||
|
||||
@ -32,6 +32,10 @@ BDEPEND="
|
||||
verify-sig? ( sec-keys/openpgp-keys-findutils )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-dash-tests.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
use test && python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
@ -11,7 +11,7 @@ SRC_URI="mirror://sourceforge/${PN}/${PN}/${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="ncurses static"
|
||||
|
||||
# libuuid from util-linux is required.
|
||||
|
||||
@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]] ; then
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="kernel routing and traffic control utilities"
|
||||
|
||||
@ -5,3 +5,4 @@ DIST portage-3.0.50.tar.bz2 1153508 BLAKE2B b90d93f8922acdb5486a52c1354c6c9829fa
|
||||
DIST portage-3.0.51.tar.bz2 1155503 BLAKE2B 1095ab616993951da8f4d43cef4cf815672c67cb48ea2fe5aeb6b7c629058bfab1557d2b9508f2e3e9f38676733b5d60ec6a3686bc57840065c428508769cb1c SHA512 bf237819173bed9df3b63ada067a2a99700618d88fd4b528146c56bdd592f2452003db6cc6da4a445b647eb4d8bb591260ea0d2a5627ad540526a2e802025836
|
||||
DIST portage-3.0.52.tar.bz2 1157447 BLAKE2B 61e4d32f9713b9b0a2df6ca636b2d756dacdb93f862eeab8a8b46d436b9c90d3d5d04989023dc5580ce0c4a6827fa623e5b32ce3d5094ff56ccde7a53c1af81c SHA512 1a249b140cc24b6d83314ad0b3f4ca73fcff3df01f1207c2fe661b16e78ab1155bb6dca4fb89100910fce13bf0fc21636232f9560360cf12f2c43b803d2a0429
|
||||
DIST portage-3.0.53.tar.bz2 1162321 BLAKE2B 1c38bc97d9aca2ce4062ed0fc2ef9297911379a32f1ed32b4d5ced760970edbfb9579471efd69c0fc16e3227ef6444d60c2bb19be6d809eabe832250d340b4b5 SHA512 d747acc922da2d6f2dc10a8b5a6c7cf4b325ab903b3c5634d5aa1927bbfffa306076ad780a4634d7bcf6092b763b753b02c14f1a21197706559d370c6eee00a1
|
||||
DIST portage-3.0.54.tar.bz2 1164619 BLAKE2B b70ed74a557470068f873b544bc7efc497f4121b2189601c44f9ddc1571e80cdc1387148cdd705604a24a2357289385345df5d60e03e7ebff1e8797bed350fe4 SHA512 2e9e16dae4a30e2bfed2d5eab7eb4e4c8260cc1b5a826d247e98908fb8669e4e5176d7f59a01d4d7a302f874fe1d80c17da87bb87d31f98af7a79e1823fa4009
|
||||
|
||||
@ -0,0 +1,65 @@
|
||||
From 27952b1d753ef4ea9bbd2307f8a9a315ad94557d Mon Sep 17 00:00:00 2001
|
||||
From: Mike Gilbert <floppym@gentoo.org>
|
||||
Date: Thu, 26 Oct 2023 10:42:00 -0400
|
||||
Subject: [PATCH] Convert portageq helper to a function
|
||||
To: gentoo-portage-dev@lists.gentoo.org
|
||||
|
||||
This keeps it out of PATH in ebuilds to avoid breaking external
|
||||
utilities that call portageq.
|
||||
|
||||
Bug: https://bugs.gentoo.org/906129
|
||||
Bug: https://bugs.gentoo.org/916287
|
||||
Bug: https://bugs.gentoo.org/916296
|
||||
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
|
||||
---
|
||||
NEWS | 4 +++-
|
||||
bin/ebuild-helpers/portageq | 8 --------
|
||||
bin/phase-helpers.sh | 4 ++++
|
||||
bin/portageq-wrapper | 1 -
|
||||
4 files changed, 7 insertions(+), 10 deletions(-)
|
||||
delete mode 100755 bin/ebuild-helpers/portageq
|
||||
|
||||
diff --git a/bin/ebuild-helpers/portageq b/bin/ebuild-helpers/portageq
|
||||
deleted file mode 100755
|
||||
index bd9d6b044..000000000
|
||||
--- a/bin/ebuild-helpers/portageq
|
||||
+++ /dev/null
|
||||
@@ -1,8 +0,0 @@
|
||||
-#!/usr/bin/env bash
|
||||
-# Copyright 2009-2023 Gentoo Authors
|
||||
-# Distributed under the terms of the GNU General Public License v2
|
||||
-
|
||||
-source "${PORTAGE_BIN_PATH}"/isolated-functions.sh || exit 1
|
||||
-
|
||||
-die "'${0##*/}' is not allowed in ebuild scope"
|
||||
-exit 1
|
||||
diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh
|
||||
index 3f12b3707..6c2ecf0bc 100644
|
||||
--- a/bin/phase-helpers.sh
|
||||
+++ b/bin/phase-helpers.sh
|
||||
@@ -1006,6 +1006,10 @@ best_version() {
|
||||
___best_version_and_has_version_common "$@"
|
||||
}
|
||||
|
||||
+portageq() {
|
||||
+ die "portageq is not allowed in ebuild scope"
|
||||
+}
|
||||
+
|
||||
if ___eapi_has_get_libdir; then
|
||||
get_libdir() {
|
||||
local libdir_var="LIBDIR_${ABI}"
|
||||
diff --git a/bin/portageq-wrapper b/bin/portageq-wrapper
|
||||
index afa2defe1..047d1d826 100755
|
||||
--- a/bin/portageq-wrapper
|
||||
+++ b/bin/portageq-wrapper
|
||||
@@ -9,7 +9,6 @@ IFS=":"
|
||||
set -f # in case ${PATH} contains any shell glob characters
|
||||
|
||||
for path in "${PORTAGE_BIN_PATH}" ${PATH}; do
|
||||
- [[ ${path} == */portage/*/ebuild-helpers* ]] && continue
|
||||
[[ -x ${path}/portageq ]] || continue
|
||||
PYTHONPATH=${PORTAGE_PYTHONPATH:-${PORTAGE_PYM_PATH}} \
|
||||
exec "${PORTAGE_PYTHON:-/usr/bin/python}" "${path}/portageq" "$@"
|
||||
--
|
||||
2.42.0
|
||||
|
||||
241
sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.54-r1.ebuild
vendored
Normal file
241
sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.54-r1.ebuild
vendored
Normal file
@ -0,0 +1,241 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( pypy3 python3_{10..12} )
|
||||
PYTHON_REQ_USE='bzip2(+),threads(+)'
|
||||
TMPFILES_OPTIONAL=1
|
||||
|
||||
inherit meson linux-info multiprocessing python-r1 tmpfiles
|
||||
|
||||
DESCRIPTION="The package management and distribution system for Gentoo"
|
||||
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
EGIT_REPO_URI="
|
||||
https://anongit.gentoo.org/git/proj/portage.git
|
||||
https://github.com/gentoo/portage.git
|
||||
"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="apidoc build doc gentoo-dev +ipc +native-extensions +rsync-verify selinux test xattr"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# setuptools is still needed as a workaround for Python 3.12+ for now.
|
||||
# https://github.com/mesonbuild/meson/issues/7702
|
||||
#
|
||||
# >=meson-1.2.1-r1 for bug #912051
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
>=dev-util/meson-1.2.1-r1
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
' python3_12)
|
||||
test? (
|
||||
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
||||
dev-vcs/git
|
||||
)
|
||||
"
|
||||
DEPEND="
|
||||
${PYTHON_DEPS}
|
||||
>=app-arch/tar-1.27
|
||||
dev-lang/python-exec:2
|
||||
>=sys-apps/sed-4.0.5
|
||||
sys-devel/patch
|
||||
!build? ( $(python_gen_impl_dep 'ssl(+)') )
|
||||
apidoc? (
|
||||
dev-python/sphinx[${PYTHON_USEDEP}]
|
||||
dev-python/sphinx-epytext[${PYTHON_USEDEP}]
|
||||
)
|
||||
doc? (
|
||||
~app-text/docbook-xml-dtd-4.4
|
||||
app-text/xmlto
|
||||
)
|
||||
"
|
||||
# Require sandbox-2.2 for bug #288863.
|
||||
# For whirlpool hash, require python[ssl] (bug #425046).
|
||||
RDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
acct-user/portage
|
||||
>=app-arch/tar-1.27
|
||||
app-arch/zstd
|
||||
>=app-misc/pax-utils-0.1.17
|
||||
dev-lang/python-exec:2
|
||||
>=sys-apps/baselayout-2.9
|
||||
>=sys-apps/findutils-4.4
|
||||
!build? (
|
||||
>=app-admin/eselect-1.2
|
||||
app-portage/getuto
|
||||
>=app-shells/bash-5.0:0
|
||||
>=sec-keys/openpgp-keys-gentoo-release-20230329
|
||||
>=sys-apps/sed-4.0.5
|
||||
rsync-verify? (
|
||||
>=app-crypt/gnupg-2.2.4-r2[ssl(-)]
|
||||
>=app-portage/gemato-14.5[${PYTHON_USEDEP}]
|
||||
)
|
||||
)
|
||||
elibc_glibc? ( >=sys-apps/sandbox-2.2 )
|
||||
elibc_musl? ( >=sys-apps/sandbox-2.2 )
|
||||
kernel_linux? ( sys-apps/util-linux )
|
||||
selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] )
|
||||
xattr? ( kernel_linux? (
|
||||
>=sys-apps/install-xattr-0.3
|
||||
) )
|
||||
!<app-admin/logrotate-3.8.0
|
||||
!<app-portage/gentoolkit-0.4.6
|
||||
!<app-portage/repoman-2.3.10
|
||||
!~app-portage/repoman-3.0.0
|
||||
"
|
||||
# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
|
||||
# NOTE: FEATURES=installsources requires debugedit and rsync
|
||||
PDEPEND="
|
||||
!build? (
|
||||
>=net-misc/rsync-2.6.4
|
||||
>=sys-apps/coreutils-6.4
|
||||
>=sys-apps/file-5.44-r3
|
||||
)
|
||||
"
|
||||
|
||||
pkg_pretend() {
|
||||
local CONFIG_CHECK="~IPC_NS ~PID_NS ~NET_NS ~UTS_NS"
|
||||
|
||||
check_extra_config
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local PATCHES=(
|
||||
"${FILESDIR}/portage-3.0.54-Convert-portageq-helper-to-a-function.patch"
|
||||
)
|
||||
default
|
||||
|
||||
if use prefix-guest; then
|
||||
sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \
|
||||
-e "s|^\\[gentoo\\]|[gentoo_prefix]|" \
|
||||
-e "s|^\(sync-uri = \).*|\\1rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix|" \
|
||||
-i cnf/repos.conf || die "sed failed"
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local code_only=false
|
||||
python_foreach_impl my_src_configure
|
||||
}
|
||||
|
||||
my_src_configure() {
|
||||
local emesonargs=(
|
||||
-Dcode-only=${code_only}
|
||||
-Deprefix="${EPREFIX}"
|
||||
-Dportage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}"
|
||||
-Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
|
||||
$(meson_use doc)
|
||||
$(meson_use apidoc)
|
||||
$(meson_use gentoo-dev)
|
||||
$(meson_use ipc)
|
||||
$(meson_use xattr)
|
||||
)
|
||||
|
||||
if use native-extensions && [[ "${EPYTHON}" != "pypy3" ]] ; then
|
||||
emesonargs+=( -Dnative-extensions=true )
|
||||
else
|
||||
emesonargs+=( -Dnative-extensions=false )
|
||||
fi
|
||||
|
||||
if use build; then
|
||||
emesonargs+=( -Drsync-verify=false )
|
||||
else
|
||||
emesonargs+=( $(meson_use rsync-verify) )
|
||||
fi
|
||||
|
||||
meson_src_configure
|
||||
code_only=true
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
python_foreach_impl meson_src_compile
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local -x PYTEST_ADDOPTS="-vv -ra -l -o console_output_style=count -n $(makeopts_jobs) --dist=worksteal"
|
||||
|
||||
python_foreach_impl meson_src_test --no-rebuild --verbose
|
||||
}
|
||||
|
||||
src_install() {
|
||||
python_foreach_impl my_src_install
|
||||
dotmpfiles "${FILESDIR}"/portage-{ccache,tmpdir}.conf
|
||||
|
||||
local scripts
|
||||
mapfile -t scripts < <(awk '/^#!.*python/ {print FILENAME} {nextfile}' "${ED}"/usr/{bin,sbin}/* || die)
|
||||
python_replicate_script "${scripts[@]}"
|
||||
}
|
||||
|
||||
my_src_install() {
|
||||
local pydirs=(
|
||||
"${D}$(python_get_sitedir)"
|
||||
"${ED}/usr/lib/portage/${EPYTHON}"
|
||||
)
|
||||
|
||||
meson_src_install
|
||||
python_optimize "${pydirs[@]}"
|
||||
python_fix_shebang "${pydirs[@]}"
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
if ! use build && [[ -z ${ROOT} ]]; then
|
||||
python_setup
|
||||
local sitedir=$(python_get_sitedir)
|
||||
[[ -d ${D}${sitedir} ]] || die "${D}${sitedir}: No such directory"
|
||||
env -u DISTDIR \
|
||||
-u PORTAGE_OVERRIDE_EPREFIX \
|
||||
-u PORTAGE_REPOSITORIES \
|
||||
-u PORTDIR \
|
||||
-u PORTDIR_OVERLAY \
|
||||
PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \
|
||||
"${PYTHON}" -m portage._compat_upgrade.default_locations || die
|
||||
|
||||
env -u BINPKG_COMPRESS -u PORTAGE_REPOSITORIES \
|
||||
PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \
|
||||
"${PYTHON}" -m portage._compat_upgrade.binpkg_compression || die
|
||||
|
||||
env -u FEATURES -u PORTAGE_REPOSITORIES \
|
||||
PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \
|
||||
"${PYTHON}" -m portage._compat_upgrade.binpkg_multi_instance || die
|
||||
fi
|
||||
|
||||
# elog dir must exist to avoid logrotate error for bug #415911.
|
||||
# This code runs in preinst in order to bypass the mapping of
|
||||
# portage:portage to root:root which happens after src_install.
|
||||
keepdir /var/log/portage/elog
|
||||
# This is allowed to fail if the user/group are invalid for prefix users.
|
||||
if chown portage:portage "${ED}"/var/log/portage{,/elog} 2>/dev/null ; then
|
||||
chmod g+s,ug+rwx "${ED}"/var/log/portage{,/elog}
|
||||
fi
|
||||
|
||||
if has_version "<${CATEGORY}/${PN}-2.3.77"; then
|
||||
elog "The emerge --autounmask option is now disabled by default, except for"
|
||||
elog "portions of behavior which are controlled by the --autounmask-use and"
|
||||
elog "--autounmask-license options. For backward compatibility, previous"
|
||||
elog "behavior of --autounmask=y and --autounmask=n is entirely preserved."
|
||||
elog "Users can get the old behavior simply by adding --autounmask to the"
|
||||
elog "make.conf EMERGE_DEFAULT_OPTS variable. For the rationale for this"
|
||||
elog "change, see https://bugs.gentoo.org/658648."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Warn about obsolete "enotice" script, bug #867010
|
||||
local bashrc=${EROOT}/etc/portage/profile/profile.bashrc
|
||||
if [[ -e ${bashrc} ]] && grep -q enotice "${bashrc}"; then
|
||||
eerror "Obsolete 'enotice' script detected!"
|
||||
eerror "Please remove this from ${bashrc} to avoid problems."
|
||||
eerror "See bug 867010 for more details."
|
||||
fi
|
||||
}
|
||||
@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]] ; then
|
||||
inherit autotools subversion
|
||||
else
|
||||
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
|
||||
KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
|
||||
KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Tools to monitor storage systems to provide advanced warning of disk degradation"
|
||||
|
||||
@ -146,7 +146,7 @@ else
|
||||
https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
${CARGO_CRATE_URIS}
|
||||
"
|
||||
KEYWORDS="~amd64 ~arm arm64 ~loong ~mips ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
|
||||
KEYWORDS="~amd64 ~arm arm64 ~loong ~mips ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
|
||||
fi
|
||||
|
||||
LICENSE="Apache-2.0 BSD GPL-3 MIT Unicode-DFS-2016"
|
||||
|
||||
@ -7,6 +7,7 @@ DIST gcc-11-20230622.tar.xz 76199316 BLAKE2B a769dc6be63eabca3bc33944b471d727bf2
|
||||
DIST gcc-11-20230824.tar.xz 76202120 BLAKE2B 243ce16e28c66d681bb27df32866947309f8fa386e258896651b6853e390da79304250669096fd55cafe0a9d5adf4b3a3cf5989302f4ad13660ece80639b545a SHA512 a9cab8bf61f2a572baba73a2a11271eeb61d43f07411df376a8568820c1373f64f635d747933fda1e942ae717b0ae9f1c810f662fc09ccb075940248bc48b582
|
||||
DIST gcc-11-20231012.tar.xz 76228876 BLAKE2B f48d440cefdad9eb021116b72ba41a7cb8b3af904abafb26bd49113f3bdaacbeab86f3d7a783130ea1a1f8c6556d1dc83b8176ae96973c524dc8606443e0be0a SHA512 7cae1a36a113e0184b1c10c7892a808a6ec38ecd4b1c482d589717c68474873093eebd68465694344ee1208d0e118f5d91b3a19f981da22dfa95ee86663572bb
|
||||
DIST gcc-11-20231019.tar.xz 76228604 BLAKE2B cc1278eb4beb598d81b1629fe72095487709f9e1a7229dba0512ba8273767b05e79c7c02104a1aa28b699d42ef0f10f7b960f1a37693c1508df9846edfe80b82 SHA512 f98ce83e0d75fe4459e1852d900924e8e3c31853ba54e38e46f040f4d109726b6c171bbb51e9230c459d617c3c8ac37708ef65997d6797a1686b60cdca3107a0
|
||||
DIST gcc-11-20231026.tar.xz 76243752 BLAKE2B bdd28659a0ddf9aea98c989377260586aea746cde8fbc082d52944032c02209d67f633c295a7bebcb7bf8a8df081430110cbdf749ceacd9250263629d57797df SHA512 9c2a47465c7143b645df9e863faec4e6d80d158598262b59eaf248d900f73aeddbcd045b37b7015f2ba87c11c8beb3ae7d63fdda974160fef785e0648eb72d92
|
||||
DIST gcc-11.4.0-musl-patches-2.tar.xz 4308 BLAKE2B a2335e155fc57816fed822a648e0eaefafcba9d04e1ad0fd7baeea5a694ab6f5e3c1678cb406f2a1bd17bab25cb01699d032713a1ccf337948dfda2093844607 SHA512 17b84f907cb1bd763873655e6f35fd3ed55a40b602b70a626f04f83b4cc89c6261db1661de78d4d969187a8c56e9f6305b742515a3836b962248a21df0df5d0c
|
||||
DIST gcc-11.4.0-patches-10.tar.xz 13852 BLAKE2B 54937d13e30e2a5303c7e197fae09eeed35ca0b9783625e02578fcee829b5503fb22d664366322b304df7d01ae807d00af7c93db3e3ceebe4851e15647724f87 SHA512 31b4d7a2e7cc589e92e12c3583d13d41c523cafbd309bc0532df9b68ea2473c89daef4c0edd3ce2917b5823d81a7792f145b9449f16277d0d64c22ceff50bbb9
|
||||
DIST gcc-11.4.0-patches-9.tar.xz 14704 BLAKE2B 9aa2ecbac493d3040694e9930738e57d59a764b90ab92b91709c319b883f28ad108767e5d11e8b62af40bf1e583d5ff83a03e8c895f904bc6f41315ce9ab4f0a SHA512 ac8b7c6c382ffacc4e9d08299440fc237fa366ec36fb8eb7a8d426b64a4186384a262e6380dc83ed7f7240125ce26a8435c8a4e0e13976ef2652067a7129bd17
|
||||
@ -15,20 +16,24 @@ DIST gcc-12-20230825.tar.xz 79804260 BLAKE2B 4d3eb40eb5954d497b3e9586dad0d18c9e5
|
||||
DIST gcc-12-20231006.tar.xz 79786912 BLAKE2B 09da5378d449b6d1d5d5af82bfa18b6d073a4f255afef5e19a086e72d41ba0a204705353a4ef7df8c89ace4de639573fe98ab37f90e0f0761743336fcfb023b2 SHA512 21975c70bc7958a44e4785881cc4c64bc842ec28e34a10880ef7369299af0bccdeb54ceb6e303ca031795a678e1649100a6924110268ba53147ae6e7da6acb91
|
||||
DIST gcc-12-20231013.tar.xz 79793868 BLAKE2B 39844a7ff9b5bfd1201816b5758aa9937fb69f28f43a6c6f3aba1debbc24e0908b0af20fd1257cfbddf5bfd23c3d8ea264a1743822443f8ed12c03b874732e76 SHA512 52ec9815535634db0ea47521a416b2be4fc483b1b90e10cac5d6235e661a5c142d8d5c9f3d06cc856572fc38d3a9abe601b9c1fa918f115dc7d1dc81db9d9ceb
|
||||
DIST gcc-12-20231020.tar.xz 79803424 BLAKE2B 2bbd11b84a203a305279587ba8e8771778b425f507b38e6c9dd649c9124e0c77fdf23451150d5e70495ba4a978c449f0b5cd7a5355f63ed1e322585532d6976a SHA512 af6af7b0c6dc95d624bec7f17a092baf2c7258e3b87c372023ae3d1e07b30c7c155f21e24d6ed8e8e55378b1658e18dcb9d2658ddb7f534921b5ac25dab957d0
|
||||
DIST gcc-12-20231027.tar.xz 79811256 BLAKE2B 80f9b31f1cf0aaca4b3a2808b37627018872ccbe71c9d8e63c29fff4ab57738e6a9b5ce6484bf0237b6d725ecf9f1523c57062c5d2bad5111ef15bec96247094 SHA512 3986087a5a250ffa49f9ce85dfaf7f6fd0bc148afac832b7b498f3f5ae4a6bb45a48753304d7a913bb8829f6bf912ebc76b3a3279d0c3d7bbb60af53da6df3c7
|
||||
DIST gcc-12.3.0-musl-patches-1.tar.xz 3572 BLAKE2B c7bf65f7c9ea8023ddaac821ee2b778622fa310ac72a72b2f7032494a8f304eac86217f9204622e6c21aaef9952bece0d09bc126facd4f42b602927909815ab5 SHA512 babc279fea2c1fd4c018815f2f5630214fd46015ce9f365c28af242681d51818eaca30ce298eddcab1eed5ac5f2759e2b47b2335afab9d722b4469a6d4fec326
|
||||
DIST gcc-12.3.0-patches-2.tar.xz 14236 BLAKE2B 06c43662c9abb0fa3cf90d5e2273c69aecb9158e6cf6f23c04754ed5d686be2616e81e2502eb16f4298ddd50518ca7677e13249da9e9b091162d3931ff65e4fe SHA512 b0d4b85dbf1a54aaaa1997203b872e3106906b4ad49cde57e1428bc22b2f8e2d73b8cb10ae0d0b792aebaf664594da4d1dea04c44ddc34e59047410766db04d1
|
||||
DIST gcc-13-20230826.tar.xz 84285788 BLAKE2B c25be594e322dd7145245c42ae21b98aa9e3e6ae69f1fa313830e40bf2e8fcb8435762f1c9d3f1ca1dbf31653bdc76a658bec708b7850fe40a7c55504ac30618 SHA512 3d47632e90651bd50a881c727c1ef2aa3322b4fc3e082919ae430270901abf8a05a34fe93f8b678c10dc9a0758f93dc3b33ed5947c8743dab453d2b50c063722
|
||||
DIST gcc-13-20231014.tar.xz 84317080 BLAKE2B 18c2326f203951d16904e4f2bf7fa0cd55da0460b19a9c9ce45de94b41fa71f8c1b8eb9d08700de427b3e02c2e61d3cbcc85cb6f27236717dca8359bfaf4c534 SHA512 406673a62deba759fc0532a801b3f57cabf894ea328587b23e62a707ba5767b0e3ae9b3f86bf3c6fcf13e8a3c30bc470e6598b625c8231efb629034211c162c2
|
||||
DIST gcc-13-20231021.tar.xz 84324516 BLAKE2B 0b55e215eeb1240c9c03664e6e3b65b9321ad3ea6bfd81464a652bd58992bb5f80748ebdf0ea284feb4a50ced7ac4d19cb97f480ed5f98f753fbb93f831f799f SHA512 f713492b0a92d3cd61e0f4d1ed8cdd70e5be7fb77df1ade54e760e800f213a7e6004cc7bdb338dffbd0b768f4c39a88d6b45e86b957f3ff689f2abf5c39686b1
|
||||
DIST gcc-13-20231028.tar.xz 84325916 BLAKE2B 605584633791822d8d4719837cde8d60866cfab2f278e0b2a680211f9dcea1c70ccb5bf94fa366dbb5891abd5e5c0d07e066a503e91df22d5d7ffb304d733fc1 SHA512 51bce79290edd3f95f8d833369089a6369691edf8a4f6a1d4ab5a3ff7342f855045fcb85b81f13fe79691f42725774ceba052a0d5ec8e557857d309b46c65e8d
|
||||
DIST gcc-13.2.0-musl-patches-2.tar.xz 5292 BLAKE2B c057d6574d03c05854edaa9f3fd40e9149662b04f3ac7a7db3eb078d73a7b535726d1bf52e5b12736dedb2f9898ad731f2e48a6421fcfbf7b90f929dee072fcb SHA512 a691da0c87c443a5e9d23731f4005f27871c5b12bc9102873ffa24d374aa7b9fbd187c4f5635d23fa9ffb17e351e76173c2d3fdf40646e355c4cb314b538de69
|
||||
DIST gcc-13.2.0-patches-10.tar.xz 45860 BLAKE2B 3c4f8179fc27c31c117bf9260cebbab0805e0977cb41084f2df5c6664121ae67f83deb882572b0bce8d5f20c0ec927eeac43e60d69ce8d4d5a263c1dddedecaf SHA512 4088cc80278826043bc6a9819dfcfa09a251e256eca9a2654f1a83b9b54107ca08fbea0e9ab61593cb0b43fc42a3d87acbe095dc8f806c7010a3ac33148d5c9b
|
||||
DIST gcc-13.2.0-patches-7.tar.xz 37064 BLAKE2B 4a8700a8d44bfaa84926f8bfd0da4c5b0c0377f47fc0679456e909f7c9029b9cf1b72c0ba0bc505d9035d5c38e27f7e5b029727eaf2bc7aca417a6be966b2f43 SHA512 f440c97e6782ecb8581d41608e31a648ac426e2d870bc1d171da7794cdeff2fd0546cae0c7214e72fd3a00ead8a5c66f3f633b670b74553a2f3a40378b51f20c
|
||||
DIST gcc-13.2.0-patches-9.tar.xz 45724 BLAKE2B 5135f00ed2ac0db8b1e295f2ba9abb44fd4b5e26037083f012c5c104c301fd11c1b04179a7f777f1433d3e6e3e50e64d79a7f9ff263269cde52ded7ca5416448 SHA512 81158d7b260d2ca457553f2749333aea69b40b4896a156a2b81168124bf91469b8124c788e54b44cadc1215bbb69590d013385fbab2b4962ed5e36c697710165
|
||||
DIST gcc-14-20231015.tar.xz 86138880 BLAKE2B e6dece3d6c4337c5ac85fec3fcd31117baf06a7c510440d2433d7750d4559ce5ccfb36edf1ed7dd003d55322dccf42ca811f16a9d22b19e3c784f48f804f688d SHA512 e0de6cd24278998138df8ac1e7e0ea2fe8f062f3bd4e1c88be5da3e468959dc3df41f076c1ce1ed6c919a4ddbd6cfff638cd101e6bd6a3a9ae0d67ded360a700
|
||||
DIST gcc-14-20231022.tar.xz 86217644 BLAKE2B e3248d78323370e3afa3082e89e507860d45d4eaebdf479edebca71deab1a85a6b27845057090fb155e5e53e5d3eb24647e2482ebf1f63645a73ad3561b26b94 SHA512 bbe013c7d226c64e4b4f95c12464f48177c8dd7acfdd1f6f8f2f650c48a4e11e70b724728accff9f135fc6d234fb7dc01ca20a414468ccf43c2b81d0ddc73e1f
|
||||
DIST gcc-14-20231029.tar.xz 86262312 BLAKE2B 871b95efa775d4aa12a5224b9dffeb8ffa8fa168275890f651f5868ca7d9ad4a26cda625e69592618e933d8995307dba83aecc7fab82bb6bcc2d81177cbe3d20 SHA512 237533b45de45ff99d93ebba8aa2b410ba9a93d9aa61851a9451696d3cd5ab893361d55809cd41741e356f3f1ee48b6ade2a9fca136dd155b219d3f19ac2b5a1
|
||||
DIST gcc-14.0.0-musl-patches-1.tar.xz 3576 BLAKE2B 692baee8a7709905d53aeb150d73a3721c4ba47ee5f397cfb1b5be905cf003ca02b60c94ee294d90ac39645cd5cdf186c7a3aa950c47d8cf680c128ed705b807 SHA512 0592ab98a7142e404623a6511c67dff61e9ade32c3fb2c0e75b456306e0af3799ad13252b50b3d2fdd31e5815d7f0b16b0ad63ab8386fe4d78729fc9c182d617
|
||||
DIST gcc-14.0.0-patches-4.tar.xz 24132 BLAKE2B 95f382ff1232bc681f4fbd28134a5e781bbce0e472d36b9348f54153791ce2b942c9ca3ea0931df8ed5ef48fb0e71f5a5a941e90dfcbd7162f52a4a6a2df9133 SHA512 867c982ee4ce6e10bc76949d30749427e8d070261fd9253cd1ca6b21273f04303c317057176ad7a58ecde06104d295c3af7526151bab7339851f9b06214bba3d
|
||||
DIST gcc-14.0.0-patches-5.tar.xz 21180 BLAKE2B 4ad48161bb35320141df60b99d2c7791df72f719931a649b45842df2acfb84428815efa11ecad6ff4f219a1fde77ffc5e4ed302e2f8f04e0911f514addb5cc7f SHA512 b47a1bbd7218fe03d6cc4968cb51614c34d1548fa85781c6b85cfa901cd43130f9c503404502c92a629ac6b23559fe3bccf38e3bbcb257524941aaec46774cff
|
||||
DIST gcc-14.0.0-patches-6.tar.xz 20908 BLAKE2B fc13578e8d09efe262ba0f46a730afda70881d605af676faf476c73a6074845d43ee68bce814736da8198ed8dfee13553568b67d276a6299b3e7a256dae1e10e SHA512 0ba63e151a46116b0fbf5e9f27e98dfe4f75f42893719742a0dfe6e8448ed4c6e7c5101fde534697f0e62620aafc2a82430223e7231099fdabc43beed049ed09
|
||||
DIST gcc-14.0.0-patches-7.tar.xz 21836 BLAKE2B 315b9b13fa2cd877917f4db3fbba3a6e3fc094688317144e46a9350dfd4823cccc8a33bf10767ee1104ce9708dbe99f0096c9fe4857b80d622b5a8ceb64f5944 SHA512 2277a11d048420f7cc45e01398cc2b5152e6d39cea97c298e144a40926db5b151bf0d07a97a42a78888c9d70481348b7a6d232cdc81e6d5cf7a3dc29172b7bbf
|
||||
DIST gcc-8.5.0-patches-4.tar.xz 18616 BLAKE2B 7594cbaea5daecf1a0b3d526c06aeba0a84c6da66aee2e105a51fda6be8d30a37ccc3814281b284a4582d892a1d556bca063551584edfc2525bed8ea5b6888e7 SHA512 1aa5742c361186637e7855f06feb1a4547e7d4d5de6e51f3d049e0ef3c19e2eff179465f52781739f59422035b7f8e4c0efa3844849f920f3c96acfdc37ca6a6
|
||||
DIST gcc-8.5.0.tar.xz 63841008 BLAKE2B aa81a1a730fd7371360f6abed6ba78b5843fd18c58d5de5687acc320741b9e430e85df3535a1ef7a26051409be8d2f0945f503e5968480d919103123a99d4b12 SHA512 92f599680e6b7fbce88bcdda810f468777d541e5fddfbb287f7977d51093de2a5178bd0e6a08dfe37090ea10a0508a43ccd00220041abbbec33f1179bfc174d8
|
||||
DIST gcc-9.5.0-patches-2.tar.xz 14324 BLAKE2B 1d3bf3e673108ad2fcdcb86daefb4603d1c9f6aa815e34d1591054d466b76d6f50cce124ab4760528c4951ea16eb00888a3e6485417f81ebf250548732df4a8e SHA512 a6d6f650aaf0bd193a17ac279649f0544a282cea295824384c59341c3000eac4b574b60e00dd427585d928f9768166abf85168b47772132790ad98854acacbbf
|
||||
|
||||
@ -1,45 +0,0 @@
|
||||
https://bugs.gentoo.org/914998
|
||||
https://gcc.gnu.org/PR111642
|
||||
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=e465e5e4a969334f64cf0d6611de5273d73ea732
|
||||
|
||||
From e465e5e4a969334f64cf0d6611de5273d73ea732 Mon Sep 17 00:00:00 2001
|
||||
From: Richard Sandiford <richard.sandiford@arm.com>
|
||||
Date: Mon, 2 Oct 2023 07:20:45 +0100
|
||||
Subject: [PATCH] Fix profiledbootstrap poly_int fallout [PR111642]
|
||||
|
||||
rtl-tests.cc and simplify-rtx.cc used partial specialisation
|
||||
to try to restrict the NUM_POLY_INT_COEFFS>1 tests without
|
||||
resorting to preprocessor tests. That now triggers an error
|
||||
in some configurations, since the NUM_POLY_INT_COEFFS>1 tests
|
||||
used the global poly_int64, whose definition does not depend
|
||||
on the template parameter.
|
||||
|
||||
This patch uses local types that do depend on the template parameter.
|
||||
|
||||
gcc/
|
||||
PR bootstrap/111642
|
||||
* rtl-tests.cc (const_poly_int_tests<N>::run): Use a local
|
||||
poly_int64 typedef.
|
||||
* simplify-rtx.cc (simplify_const_poly_int_tests<N>::run): Likewise.
|
||||
--- a/gcc/rtl-tests.cc
|
||||
+++ b/gcc/rtl-tests.cc
|
||||
@@ -246,6 +246,7 @@ template<unsigned int N>
|
||||
void
|
||||
const_poly_int_tests<N>::run ()
|
||||
{
|
||||
+ using poly_int64 = poly_int<N, HOST_WIDE_INT>;
|
||||
rtx x1 = gen_int_mode (poly_int64 (1, 1), QImode);
|
||||
rtx x255 = gen_int_mode (poly_int64 (1, 255), QImode);
|
||||
|
||||
--- a/gcc/simplify-rtx.cc
|
||||
+++ b/gcc/simplify-rtx.cc
|
||||
@@ -8689,6 +8689,7 @@ template<unsigned int N>
|
||||
void
|
||||
simplify_const_poly_int_tests<N>::run ()
|
||||
{
|
||||
+ using poly_int64 = poly_int<N, HOST_WIDE_INT>;
|
||||
rtx x1 = gen_int_mode (poly_int64 (1, 1), QImode);
|
||||
rtx x2 = gen_int_mode (poly_int64 (-80, 127), QImode);
|
||||
rtx x3 = gen_int_mode (poly_int64 (-79, -128), QImode);
|
||||
--
|
||||
2.39.3
|
||||
@ -0,0 +1,129 @@
|
||||
https://gcc.gnu.org/PR111860
|
||||
https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=9ed6b22eb4188c57bb3f5cdba5a7effa95395186
|
||||
|
||||
From 9ed6b22eb4188c57bb3f5cdba5a7effa95395186 Mon Sep 17 00:00:00 2001
|
||||
From: Tamar Christina <tamar.christina@arm.com>
|
||||
Date: Mon, 23 Oct 2023 14:07:20 +0100
|
||||
Subject: [PATCH] middle-end: don't keep .MEM guard nodes for PHI nodes who
|
||||
dominate loop [PR111860]
|
||||
|
||||
The previous patch tried to remove PHI nodes that dominated the first loop,
|
||||
however the correct fix is to only remove .MEM nodes.
|
||||
|
||||
This patch thus makes the condition a bit stricter and only tries to remove
|
||||
MEM phi nodes.
|
||||
|
||||
I couldn't figure out a way to easily determine if a particular PHI is vUSE
|
||||
related, so the patch does:
|
||||
|
||||
1. check if the definition is a vDEF and not defined in main loop.
|
||||
2. check if the definition is a PHI and not defined in main loop.
|
||||
3. check if the definition is a default definition.
|
||||
|
||||
For no 2 and 3 we may misidentify the PHI, in both cases the value is defined
|
||||
outside of the loop version block which also makes it ok to remove.
|
||||
|
||||
gcc/ChangeLog:
|
||||
|
||||
PR tree-optimization/111860
|
||||
* tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg):
|
||||
Drop .MEM nodes only.
|
||||
|
||||
gcc/testsuite/ChangeLog:
|
||||
|
||||
PR tree-optimization/111860
|
||||
* gcc.dg/vect/pr111860-2.c: New test.
|
||||
* gcc.dg/vect/pr111860-3.c: New test.
|
||||
---
|
||||
gcc/testsuite/gcc.dg/vect/pr111860-2.c | 17 +++++++++++++++++
|
||||
gcc/testsuite/gcc.dg/vect/pr111860-3.c | 17 +++++++++++++++++
|
||||
gcc/tree-vect-loop-manip.cc | 21 ++++++++++++++++++++-
|
||||
3 files changed, 54 insertions(+), 1 deletion(-)
|
||||
create mode 100644 gcc/testsuite/gcc.dg/vect/pr111860-2.c
|
||||
create mode 100644 gcc/testsuite/gcc.dg/vect/pr111860-3.c
|
||||
|
||||
diff --git a/gcc/testsuite/gcc.dg/vect/pr111860-2.c b/gcc/testsuite/gcc.dg/vect/pr111860-2.c
|
||||
new file mode 100644
|
||||
index 000000000000..07f64ffb5318
|
||||
--- /dev/null
|
||||
+++ b/gcc/testsuite/gcc.dg/vect/pr111860-2.c
|
||||
@@ -0,0 +1,17 @@
|
||||
+/* { dg-do compile } */
|
||||
+/* { dg-options "-O -fno-tree-sink -ftree-vectorize" } */
|
||||
+int buffer_ctrl_ctx_0, buffer_ctrl_p1, buffer_ctrl_cmd;
|
||||
+
|
||||
+int
|
||||
+buffer_ctrl (long ret, int i)
|
||||
+{
|
||||
+ switch (buffer_ctrl_cmd)
|
||||
+ {
|
||||
+ case 1:
|
||||
+ buffer_ctrl_ctx_0 = 0;
|
||||
+ for (; i; i++)
|
||||
+ if (buffer_ctrl_p1)
|
||||
+ ret++;
|
||||
+ }
|
||||
+ return ret;
|
||||
+}
|
||||
diff --git a/gcc/testsuite/gcc.dg/vect/pr111860-3.c b/gcc/testsuite/gcc.dg/vect/pr111860-3.c
|
||||
new file mode 100644
|
||||
index 000000000000..07f64ffb5318
|
||||
--- /dev/null
|
||||
+++ b/gcc/testsuite/gcc.dg/vect/pr111860-3.c
|
||||
@@ -0,0 +1,17 @@
|
||||
+/* { dg-do compile } */
|
||||
+/* { dg-options "-O -fno-tree-sink -ftree-vectorize" } */
|
||||
+int buffer_ctrl_ctx_0, buffer_ctrl_p1, buffer_ctrl_cmd;
|
||||
+
|
||||
+int
|
||||
+buffer_ctrl (long ret, int i)
|
||||
+{
|
||||
+ switch (buffer_ctrl_cmd)
|
||||
+ {
|
||||
+ case 1:
|
||||
+ buffer_ctrl_ctx_0 = 0;
|
||||
+ for (; i; i++)
|
||||
+ if (buffer_ctrl_p1)
|
||||
+ ret++;
|
||||
+ }
|
||||
+ return ret;
|
||||
+}
|
||||
diff --git a/gcc/tree-vect-loop-manip.cc b/gcc/tree-vect-loop-manip.cc
|
||||
index d67c94700144..43ca985c53ce 100644
|
||||
--- a/gcc/tree-vect-loop-manip.cc
|
||||
+++ b/gcc/tree-vect-loop-manip.cc
|
||||
@@ -1626,12 +1626,31 @@ slpeel_tree_duplicate_loop_to_edge_cfg (class loop *loop, edge loop_exit,
|
||||
edge temp_e = redirect_edge_and_branch (exit, new_preheader);
|
||||
flush_pending_stmts (temp_e);
|
||||
}
|
||||
-
|
||||
/* Record the new SSA names in the cache so that we can skip materializing
|
||||
them again when we fill in the rest of the LCSSA variables. */
|
||||
for (auto phi : new_phis)
|
||||
{
|
||||
tree new_arg = gimple_phi_arg (phi, 0)->def;
|
||||
+
|
||||
+ if (!SSA_VAR_P (new_arg))
|
||||
+ continue;
|
||||
+ /* If the PHI MEM node dominates the loop then we shouldn't create
|
||||
+ a new LC-SSSA PHI for it in the intermediate block. */
|
||||
+ /* A MEM phi that consitutes a new DEF for the vUSE chain can either
|
||||
+ be a .VDEF or a PHI that operates on MEM. And said definition
|
||||
+ must not be inside the main loop. Or we must be a parameter.
|
||||
+ In the last two cases we may remove a non-MEM PHI node, but since
|
||||
+ they dominate both loops the removal is unlikely to cause trouble
|
||||
+ as the exits must already be using them. */
|
||||
+ if (virtual_operand_p (new_arg)
|
||||
+ && (SSA_NAME_IS_DEFAULT_DEF (new_arg)
|
||||
+ || !flow_bb_inside_loop_p (loop,
|
||||
+ gimple_bb (SSA_NAME_DEF_STMT (new_arg)))))
|
||||
+ {
|
||||
+ auto gsi = gsi_for_stmt (phi);
|
||||
+ remove_phi_node (&gsi, true);
|
||||
+ continue;
|
||||
+ }
|
||||
new_phi_args.put (new_arg, gimple_phi_result (phi));
|
||||
|
||||
if (TREE_CODE (new_arg) != SSA_NAME)
|
||||
--
|
||||
2.39.3
|
||||
64
sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20231026.ebuild
vendored
Normal file
64
sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.4.1_p20231026.ebuild
vendored
Normal file
@ -0,0 +1,64 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
TOOLCHAIN_PATCH_DEV="sam"
|
||||
PATCH_GCC_VER="11.4.0"
|
||||
PATCH_VER="10"
|
||||
MUSL_VER="2"
|
||||
MUSL_GCC_VER="11.4.0"
|
||||
|
||||
if [[ ${PV} == *.9999 ]] ; then
|
||||
MY_PV_2=$(ver_cut 2)
|
||||
MY_PV_3=1
|
||||
if [[ ${MY_PV_2} == 0 ]] ; then
|
||||
MY_PV_2=0
|
||||
MY_PV_3=0
|
||||
else
|
||||
MY_PV_2=$((${MY_PV_2} - 1))
|
||||
fi
|
||||
|
||||
# e.g. 12.2.9999 -> 12.1.1
|
||||
TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
|
||||
elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
|
||||
# Cheesy hack for RCs
|
||||
MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
|
||||
MY_P=${PN}-${MY_PV}
|
||||
GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
|
||||
TOOLCHAIN_SET_S=no
|
||||
S="${WORKDIR}"/${MY_P}
|
||||
fi
|
||||
|
||||
inherit toolchain
|
||||
|
||||
if tc_is_live ; then
|
||||
# Needs to be after inherit (for now?), bug #830908
|
||||
EGIT_BRANCH=releases/gcc-$(ver_cut 1)
|
||||
elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
|
||||
# Don't keyword live ebuilds
|
||||
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
:;
|
||||
fi
|
||||
|
||||
if [[ ${CATEGORY} != cross-* ]] ; then
|
||||
# Technically only if USE=hardened *too* right now, but no point in complicating it further.
|
||||
# If GCC is enabling CET by default, we need glibc to be built with support for it.
|
||||
# bug #830454
|
||||
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]"
|
||||
fi
|
||||
|
||||
src_prepare() {
|
||||
local p upstreamed_patches=(
|
||||
# add them here
|
||||
)
|
||||
for p in "${upstreamed_patches[@]}"; do
|
||||
rm -v "${WORKDIR}/patch/${p}" || die
|
||||
done
|
||||
|
||||
toolchain_src_prepare
|
||||
|
||||
eapply_user
|
||||
}
|
||||
64
sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.3.1_p20231027.ebuild
vendored
Normal file
64
sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.3.1_p20231027.ebuild
vendored
Normal file
@ -0,0 +1,64 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
TOOLCHAIN_PATCH_DEV="sam"
|
||||
PATCH_GCC_VER="12.3.0"
|
||||
PATCH_VER="2"
|
||||
MUSL_VER="1"
|
||||
MUSL_GCC_VER="12.3.0"
|
||||
|
||||
if [[ ${PV} == *.9999 ]] ; then
|
||||
MY_PV_2=$(ver_cut 2)
|
||||
MY_PV_3=1
|
||||
if [[ ${MY_PV_2} == 0 ]] ; then
|
||||
MY_PV_2=0
|
||||
MY_PV_3=0
|
||||
else
|
||||
MY_PV_2=$((${MY_PV_2} - 1))
|
||||
fi
|
||||
|
||||
# e.g. 12.2.9999 -> 12.1.1
|
||||
TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
|
||||
elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
|
||||
# Cheesy hack for RCs
|
||||
MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
|
||||
MY_P=${PN}-${MY_PV}
|
||||
GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
|
||||
TOOLCHAIN_SET_S=no
|
||||
S="${WORKDIR}"/${MY_P}
|
||||
fi
|
||||
|
||||
inherit toolchain
|
||||
|
||||
if tc_is_live ; then
|
||||
# Needs to be after inherit (for now?), bug #830908
|
||||
EGIT_BRANCH=releases/gcc-$(ver_cut 1)
|
||||
elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
|
||||
# Don't keyword live ebuilds
|
||||
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
:;
|
||||
fi
|
||||
|
||||
if [[ ${CATEGORY} != cross-* ]] ; then
|
||||
# Technically only if USE=hardened *too* right now, but no point in complicating it further.
|
||||
# If GCC is enabling CET by default, we need glibc to be built with support for it.
|
||||
# bug #830454
|
||||
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]"
|
||||
fi
|
||||
|
||||
src_prepare() {
|
||||
local p upstreamed_patches=(
|
||||
# add them here
|
||||
)
|
||||
for p in "${upstreamed_patches[@]}"; do
|
||||
rm -v "${WORKDIR}/patch/${p}" || die
|
||||
done
|
||||
|
||||
toolchain_src_prepare
|
||||
|
||||
eapply_user
|
||||
}
|
||||
@ -5,7 +5,7 @@ EAPI=8
|
||||
|
||||
TOOLCHAIN_PATCH_DEV="sam"
|
||||
PATCH_GCC_VER="13.2.0"
|
||||
PATCH_VER="9"
|
||||
PATCH_VER="10"
|
||||
MUSL_VER="2"
|
||||
MUSL_GCC_VER="13.2.0"
|
||||
|
||||
|
||||
65
sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.2.1_p20231028.ebuild
vendored
Normal file
65
sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.2.1_p20231028.ebuild
vendored
Normal file
@ -0,0 +1,65 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
TOOLCHAIN_PATCH_DEV="sam"
|
||||
PATCH_GCC_VER="13.2.0"
|
||||
PATCH_VER="10"
|
||||
MUSL_VER="2"
|
||||
MUSL_GCC_VER="13.2.0"
|
||||
|
||||
if [[ ${PV} == *.9999 ]] ; then
|
||||
MY_PV_2=$(ver_cut 2)
|
||||
MY_PV_3=1
|
||||
if [[ ${MY_PV_2} == 0 ]] ; then
|
||||
MY_PV_2=0
|
||||
MY_PV_3=0
|
||||
else
|
||||
MY_PV_2=$((${MY_PV_2} - 1))
|
||||
fi
|
||||
|
||||
# e.g. 12.2.9999 -> 12.1.1
|
||||
TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
|
||||
elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
|
||||
# Cheesy hack for RCs
|
||||
MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
|
||||
MY_P=${PN}-${MY_PV}
|
||||
GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
|
||||
TOOLCHAIN_SET_S=no
|
||||
S="${WORKDIR}"/${MY_P}
|
||||
fi
|
||||
|
||||
inherit toolchain
|
||||
|
||||
if tc_is_live ; then
|
||||
# Needs to be after inherit (for now?), bug #830908
|
||||
EGIT_BRANCH=releases/gcc-$(ver_cut 1)
|
||||
elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
|
||||
# Don't keyword live ebuilds
|
||||
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
:;
|
||||
fi
|
||||
|
||||
if [[ ${CATEGORY} != cross-* ]] ; then
|
||||
# Technically only if USE=hardened *too* right now, but no point in complicating it further.
|
||||
# If GCC is enabling CET by default, we need glibc to be built with support for it.
|
||||
# bug #830454
|
||||
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]"
|
||||
fi
|
||||
|
||||
src_prepare() {
|
||||
local p upstreamed_patches=(
|
||||
# add them here
|
||||
)
|
||||
for p in "${upstreamed_patches[@]}"; do
|
||||
rm -v "${WORKDIR}/patch/${p}" || die
|
||||
done
|
||||
|
||||
toolchain_src_prepare
|
||||
|
||||
eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch
|
||||
eapply_user
|
||||
}
|
||||
65
sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.0.0_pre20231022-r1.ebuild
vendored
Normal file
65
sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.0.0_pre20231022-r1.ebuild
vendored
Normal file
@ -0,0 +1,65 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
TOOLCHAIN_PATCH_DEV="sam"
|
||||
PATCH_GCC_VER="14.0.0"
|
||||
PATCH_VER="7"
|
||||
MUSL_VER="1"
|
||||
MUSL_GCC_VER="14.0.0"
|
||||
|
||||
if [[ ${PV} == *.9999 ]] ; then
|
||||
MY_PV_2=$(ver_cut 2)
|
||||
MY_PV_3=1
|
||||
if [[ ${MY_PV_2} == 0 ]] ; then
|
||||
MY_PV_2=0
|
||||
MY_PV_3=0
|
||||
else
|
||||
MY_PV_2=$((${MY_PV_2} - 1))
|
||||
fi
|
||||
|
||||
# e.g. 12.2.9999 -> 12.1.1
|
||||
TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
|
||||
elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
|
||||
# Cheesy hack for RCs
|
||||
MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
|
||||
MY_P=${PN}-${MY_PV}
|
||||
GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
|
||||
TOOLCHAIN_SET_S=no
|
||||
S="${WORKDIR}"/${MY_P}
|
||||
fi
|
||||
|
||||
inherit toolchain
|
||||
|
||||
if tc_is_live ; then
|
||||
# Needs to be after inherit (for now?), bug #830908
|
||||
EGIT_BRANCH=master
|
||||
elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
|
||||
# Don't keyword live ebuilds
|
||||
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
:;
|
||||
fi
|
||||
|
||||
if [[ ${CATEGORY} != cross-* ]] ; then
|
||||
# Technically only if USE=hardened *too* right now, but no point in complicating it further.
|
||||
# If GCC is enabling CET by default, we need glibc to be built with support for it.
|
||||
# bug #830454
|
||||
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]"
|
||||
fi
|
||||
|
||||
src_prepare() {
|
||||
local p upstreamed_patches=(
|
||||
# add them here
|
||||
)
|
||||
for p in "${upstreamed_patches[@]}"; do
|
||||
rm -v "${WORKDIR}/patch/${p}" || die
|
||||
done
|
||||
|
||||
toolchain_src_prepare
|
||||
|
||||
eapply "${FILESDIR}"/${P}-PR111860.patch
|
||||
eapply_user
|
||||
}
|
||||
@ -5,7 +5,7 @@ EAPI=8
|
||||
|
||||
TOOLCHAIN_PATCH_DEV="sam"
|
||||
PATCH_GCC_VER="14.0.0"
|
||||
PATCH_VER="6"
|
||||
PATCH_VER="7"
|
||||
MUSL_VER="1"
|
||||
MUSL_GCC_VER="14.0.0"
|
||||
|
||||
|
||||
64
sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.0.0_pre20231029.ebuild
vendored
Normal file
64
sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.0.0_pre20231029.ebuild
vendored
Normal file
@ -0,0 +1,64 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
TOOLCHAIN_PATCH_DEV="sam"
|
||||
PATCH_GCC_VER="14.0.0"
|
||||
PATCH_VER="7"
|
||||
MUSL_VER="1"
|
||||
MUSL_GCC_VER="14.0.0"
|
||||
|
||||
if [[ ${PV} == *.9999 ]] ; then
|
||||
MY_PV_2=$(ver_cut 2)
|
||||
MY_PV_3=1
|
||||
if [[ ${MY_PV_2} == 0 ]] ; then
|
||||
MY_PV_2=0
|
||||
MY_PV_3=0
|
||||
else
|
||||
MY_PV_2=$((${MY_PV_2} - 1))
|
||||
fi
|
||||
|
||||
# e.g. 12.2.9999 -> 12.1.1
|
||||
TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
|
||||
elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
|
||||
# Cheesy hack for RCs
|
||||
MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
|
||||
MY_P=${PN}-${MY_PV}
|
||||
GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
|
||||
TOOLCHAIN_SET_S=no
|
||||
S="${WORKDIR}"/${MY_P}
|
||||
fi
|
||||
|
||||
inherit toolchain
|
||||
|
||||
if tc_is_live ; then
|
||||
# Needs to be after inherit (for now?), bug #830908
|
||||
EGIT_BRANCH=master
|
||||
elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
|
||||
# Don't keyword live ebuilds
|
||||
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
:;
|
||||
fi
|
||||
|
||||
if [[ ${CATEGORY} != cross-* ]] ; then
|
||||
# Technically only if USE=hardened *too* right now, but no point in complicating it further.
|
||||
# If GCC is enabling CET by default, we need glibc to be built with support for it.
|
||||
# bug #830454
|
||||
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]"
|
||||
fi
|
||||
|
||||
src_prepare() {
|
||||
local p upstreamed_patches=(
|
||||
# add them here
|
||||
)
|
||||
for p in "${upstreamed_patches[@]}"; do
|
||||
rm -v "${WORKDIR}/patch/${p}" || die
|
||||
done
|
||||
|
||||
toolchain_src_prepare
|
||||
|
||||
eapply_user
|
||||
}
|
||||
@ -12,7 +12,7 @@ SRC_URI="https://github.com/linux-nvme/libnvme/archive/refs/tags/v${PV}.tar.gz -
|
||||
|
||||
LICENSE="LGPL-2.1+"
|
||||
SLOT="0/1"
|
||||
KEYWORDS="amd64 ~arm arm64 ~loong ppc64 ~riscv x86"
|
||||
KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
|
||||
IUSE="dbus +json keyutils python ssl +uuid"
|
||||
|
||||
REQUIRED_USE="
|
||||
|
||||
@ -15,8 +15,9 @@ S="${WORKDIR}"/${PN}-ng-${PV}
|
||||
# See bug #913210
|
||||
LICENSE="GPL-2+ LGPL-2+ LGPL-2.1+"
|
||||
SLOT="0/0-ng"
|
||||
KEYWORDS="~alpha ~amd64 arm ~arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
KEYWORDS="~alpha ~amd64 arm ~arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="elogind +kill modern-top +ncurses nls selinux static-libs systemd test unicode"
|
||||
REQUIRED_USE="unicode? ( ncurses )"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
DEPEND="
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user