parent
ea50ddd489
commit
ec1d2d6e92
Binary file not shown.
Binary file not shown.
@ -0,0 +1,47 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
inherit bash-completion-r1 distutils-r1
|
||||
|
||||
DESCRIPTION="Universal Command Line Environment for AWS"
|
||||
HOMEPAGE="https://pypi.org/project/awscli/"
|
||||
#SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
|
||||
SRC_URI="https://github.com/aws/aws-cli/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/aws-cli-${PV}"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
||||
|
||||
# botocore is x.(y+1).z
|
||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 1)).$(ver_cut 3-)"
|
||||
RDEPEND="
|
||||
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
|
||||
dev-python/colorama[${PYTHON_USEDEP}]
|
||||
dev-python/docutils[${PYTHON_USEDEP}]
|
||||
dev-python/rsa[${PYTHON_USEDEP}]
|
||||
>=dev-python/s3transfer-0.4.0[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
distutils_enable_tests --install pytest
|
||||
|
||||
python_test() {
|
||||
distutils_install_for_testing
|
||||
# integration tests require AWS credentials and Internet access
|
||||
epytest tests/{functional,unit}
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
newbashcomp bin/aws_bash_completer aws
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
newins bin/aws_zsh_completer.sh _aws
|
||||
|
||||
distutils-r1_python_install_all
|
||||
|
||||
rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
|
||||
}
|
Binary file not shown.
@ -0,0 +1,42 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DESCRIPTION="A Cross-Platform Benchmark for Android, iOS, Linux, MacOS and Windows"
|
||||
HOMEPAGE="https://www.geekbench.com/"
|
||||
SRC_URI="https://cdn.geekbench.com/Geekbench-${PV}-Linux.tar.gz"
|
||||
S="${WORKDIR}/Geekbench-${PV}-Linux"
|
||||
|
||||
KEYWORDS="-* ~amd64"
|
||||
LICENSE="geekbench"
|
||||
SLOT="5"
|
||||
|
||||
RESTRICT="bindist mirror"
|
||||
|
||||
QA_PREBUILT="
|
||||
opt/geekbench5/geekbench5
|
||||
opt/geekbench5/geekbench_x86_64
|
||||
"
|
||||
|
||||
pkg_nofetch() {
|
||||
elog "Please download ${A} from ${HOMEPAGE}/download/linux"
|
||||
elog "and place it in your DISTDIR directory."
|
||||
}
|
||||
|
||||
src_install() {
|
||||
exeinto /opt/geekbench5
|
||||
doexe geekbench5 geekbench_x86_64
|
||||
|
||||
insinto /opt/geekbench5
|
||||
doins geekbench.plar
|
||||
|
||||
dodir /opt/bin
|
||||
dosym ../geekbench5/geekbench5 /opt/bin/geekbench5
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "If you have purchased a commercial license, you can enter"
|
||||
elog "your email address and your license key with the following command:"
|
||||
elog "geekbench5 -r <email address> <license key>"
|
||||
}
|
@ -1 +1 @@
|
||||
DIST stress-ng-0.13.05.tar.xz 590340 BLAKE2B 214e98ef5db575a0835ccef15d9145bba6d25774bb26ce1ac2ffa3b29309a62416752b298ccb5b1ce91ad40a3c68dee7ada7c59fd85c06d8372e24c72a927480 SHA512 39a1622d63e88a1d0f535b36c57a01f734e686a3f4f2dc9dcf69154e7b0e4986c6bd654a42803cc3dc0e9a22151db9e2ae79a772758e9d80beb22bd39492d13a
|
||||
DIST stress-ng-0.13.06.tar.gz 1014981 BLAKE2B a93ff571919707568cd0162479e47c6241b4081713cfa88b30594227d01f9af2a6e3ad759ba62f5f5485322d68768ba1ea19087d07281fa1c2b949bcac99f70e SHA512 7aefc794edaa5799f96dd4afe099b747d532e4367bd372b9ed29db03f8276322113509fdd4885500864d292beeb9f407dc3f2ef2a04f92b65f240ee73eb174bb
|
||||
|
@ -1,13 +1,13 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
EAPI=8
|
||||
|
||||
inherit optfeature toolchain-funcs
|
||||
|
||||
DESCRIPTION="Stress test for a computer system with various selectable ways"
|
||||
HOMEPAGE="https://kernel.ubuntu.com/~cking/stress-ng/"
|
||||
SRC_URI="https://kernel.ubuntu.com/~cking/tarballs/${PN}/${P}.tar.xz"
|
||||
HOMEPAGE="https://github.com/ColinIanKing/stress-ng"
|
||||
SRC_URI="https://github.com/ColinIanKing/${PN}/archive/refs/tags/V${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
Binary file not shown.
Binary file not shown.
@ -1,2 +1,3 @@
|
||||
DIST qemu-6.0.0.tar.xz 107333232 BLAKE2B 7746329d3e13782b7c346ce4052cc517cfc65cd9b2d514d199e4d5b8570ca79566ec04b0c114db2e97c84e68eb551e0d4cdce1b14b91a88fe08d2a5f682c1418 SHA512 ee3ff00aebec4d8891d2ff6dabe4e667e510b2a4fe3f6190aa34673a91ea32dcd2db2e9bf94c2f1bf05aa79788f17cfbbedc6027c0988ea08a92587b79ee05e4
|
||||
DIST qemu-6.0.1.tar.xz 107084292 BLAKE2B 53f4adc1a4ba99aaf03659db499d557c57d0c2559955980591594bf0ed06aaf485f0192d7f8f68338b97e0d4d0a114e4431bae5e5b3f3fc82aef08616429d8ed SHA512 2e37ae97a56c4de71412ebabe0e0a59908a7ca7d353440e046831319456d4020614f0909af07cb2a8bb23423e84880a89b5aa4e463e95d1ad37a64fbf8021337
|
||||
DIST qemu-6.1.0.tar.xz 111258808 BLAKE2B 412eecf6d39debd6089b26d3b22e5d25c6c8c30d2eaf31b17c25cc2b3a1b10794a30218dfb151c78801aa295255aa974b297f1fe05b93f14334f203c2af5ccee SHA512 3378ae21c75b77ee6a759827f1fcf7b2a50a0fef07e3b0e89117108022a8d8655fa977e4d65596f4f24f7c735c6594d44b0c6f69732ea4465e88a7406b1d5d3c
|
||||
|
@ -0,0 +1,911 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9,10} )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
FIRMWARE_ABI_VERSION="6.0.0-r50"
|
||||
|
||||
inherit eutils linux-info toolchain-funcs multilib python-r1
|
||||
inherit udev fcaps readme.gentoo-r1 pax-utils xdg-utils
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="https://git.qemu.org/git/qemu.git"
|
||||
EGIT_SUBMODULES=(
|
||||
meson
|
||||
tests/fp/berkeley-softfloat-3
|
||||
tests/fp/berkeley-testfloat-3
|
||||
ui/keycodemapdb
|
||||
)
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
else
|
||||
SRC_URI="https://download.qemu.org/${P}.tar.xz"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
|
||||
HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2 BSD-2"
|
||||
SLOT="0"
|
||||
|
||||
IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug +doc
|
||||
+fdt fuse glusterfs gnutls gtk infiniband iscsi io-uring
|
||||
jack jemalloc +jpeg kernel_linux
|
||||
kernel_FreeBSD lzo multipath
|
||||
ncurses nfs nls numa opengl +oss +pin-upstream-blobs
|
||||
plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
|
||||
+slirp
|
||||
smartcard snappy spice ssh static static-user systemtap test udev usb
|
||||
usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
|
||||
xfs zstd"
|
||||
|
||||
COMMON_TARGETS="
|
||||
aarch64
|
||||
alpha
|
||||
arm
|
||||
cris
|
||||
hppa
|
||||
i386
|
||||
m68k
|
||||
microblaze
|
||||
microblazeel
|
||||
mips
|
||||
mips64
|
||||
mips64el
|
||||
mipsel
|
||||
nios2
|
||||
or1k
|
||||
ppc
|
||||
ppc64
|
||||
riscv32
|
||||
riscv64
|
||||
s390x
|
||||
sh4
|
||||
sh4eb
|
||||
sparc
|
||||
sparc64
|
||||
x86_64
|
||||
xtensa
|
||||
xtensaeb
|
||||
"
|
||||
IUSE_SOFTMMU_TARGETS="
|
||||
${COMMON_TARGETS}
|
||||
avr
|
||||
lm32
|
||||
moxie
|
||||
rx
|
||||
tricore
|
||||
unicore32
|
||||
"
|
||||
IUSE_USER_TARGETS="
|
||||
${COMMON_TARGETS}
|
||||
aarch64_be
|
||||
armeb
|
||||
hexagon
|
||||
mipsn32
|
||||
mipsn32el
|
||||
ppc64abi32
|
||||
ppc64le
|
||||
sparc32plus
|
||||
"
|
||||
|
||||
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
|
||||
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
|
||||
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
# Allow no targets to be built so that people can get a tools-only build.
|
||||
# Block USE flag configurations known to not work.
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|
||||
qemu_softmmu_targets_arm? ( fdt )
|
||||
qemu_softmmu_targets_microblaze? ( fdt )
|
||||
qemu_softmmu_targets_mips64el? ( fdt )
|
||||
qemu_softmmu_targets_ppc64? ( fdt )
|
||||
qemu_softmmu_targets_ppc? ( fdt )
|
||||
qemu_softmmu_targets_riscv32? ( fdt )
|
||||
qemu_softmmu_targets_riscv64? ( fdt )
|
||||
sdl-image? ( sdl )
|
||||
static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy !udev )
|
||||
static-user? ( !plugins )
|
||||
vhost-user-fs? ( caps seccomp )
|
||||
virgl? ( opengl )
|
||||
virtfs? ( caps xattr )
|
||||
vte? ( gtk )
|
||||
multipath? ( udev )
|
||||
plugins? ( !static !static-user )
|
||||
"
|
||||
|
||||
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
|
||||
# and user/softmmu targets (qemu-*, qemu-system-*).
|
||||
#
|
||||
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
|
||||
#
|
||||
# The attr lib isn't always linked in (although the USE flag is always
|
||||
# respected). This is because qemu supports using the C library's API
|
||||
# when available rather than always using the external library.
|
||||
ALL_DEPEND="
|
||||
>=dev-libs/glib-2.0[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
systemtap? ( dev-util/systemtap )
|
||||
xattr? ( sys-apps/attr[static-libs(+)] )"
|
||||
|
||||
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
|
||||
# softmmu targets (qemu-system-*).
|
||||
SOFTMMU_TOOLS_DEPEND="
|
||||
dev-libs/libxml2[static-libs(+)]
|
||||
>=x11-libs/pixman-0.28.0[static-libs(+)]
|
||||
accessibility? (
|
||||
app-accessibility/brltty[api]
|
||||
app-accessibility/brltty[static-libs(+)]
|
||||
)
|
||||
aio? ( dev-libs/libaio[static-libs(+)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||
bzip2? ( app-arch/bzip2[static-libs(+)] )
|
||||
capstone? ( dev-libs/capstone:= )
|
||||
caps? ( sys-libs/libcap-ng[static-libs(+)] )
|
||||
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
|
||||
fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] )
|
||||
fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
|
||||
gnutls? (
|
||||
dev-libs/nettle:=[static-libs(+)]
|
||||
>=net-libs/gnutls-3.0:=[static-libs(+)]
|
||||
)
|
||||
gtk? (
|
||||
x11-libs/gtk+:3
|
||||
vte? ( x11-libs/vte:2.91 )
|
||||
)
|
||||
infiniband? (
|
||||
sys-fabric/libibumad:=[static-libs(+)]
|
||||
sys-fabric/libibverbs:=[static-libs(+)]
|
||||
sys-fabric/librdmacm:=[static-libs(+)]
|
||||
)
|
||||
iscsi? ( net-libs/libiscsi )
|
||||
io-uring? ( sys-libs/liburing:=[static-libs(+)] )
|
||||
jack? ( virtual/jack )
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
jpeg? ( virtual/jpeg:0=[static-libs(+)] )
|
||||
lzo? ( dev-libs/lzo:2[static-libs(+)] )
|
||||
multipath? ( sys-fs/multipath-tools )
|
||||
ncurses? (
|
||||
sys-libs/ncurses:=[unicode(+)]
|
||||
sys-libs/ncurses:=[static-libs(+)]
|
||||
)
|
||||
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
|
||||
numa? ( sys-process/numactl[static-libs(+)] )
|
||||
opengl? (
|
||||
virtual/opengl
|
||||
media-libs/libepoxy[static-libs(+)]
|
||||
media-libs/mesa[static-libs(+)]
|
||||
media-libs/mesa[egl,gbm]
|
||||
)
|
||||
png? ( media-libs/libpng:0=[static-libs(+)] )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
|
||||
sdl? (
|
||||
media-libs/libsdl2[video]
|
||||
media-libs/libsdl2[static-libs(+)]
|
||||
)
|
||||
sdl-image? ( media-libs/sdl2-image[static-libs(+)] )
|
||||
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
|
||||
slirp? ( net-libs/libslirp[static-libs(+)] )
|
||||
smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
|
||||
snappy? ( app-arch/snappy:= )
|
||||
spice? (
|
||||
>=app-emulation/spice-protocol-0.12.3
|
||||
>=app-emulation/spice-0.12.0[static-libs(+)]
|
||||
)
|
||||
ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
|
||||
udev? ( virtual/libudev:= )
|
||||
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
|
||||
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
|
||||
vde? ( net-misc/vde[static-libs(+)] )
|
||||
virgl? ( media-libs/virglrenderer[static-libs(+)] )
|
||||
virtfs? ( sys-libs/libcap )
|
||||
xen? ( app-emulation/xen-tools:= )
|
||||
xfs? ( sys-fs/xfsprogs[static-libs(+)] )
|
||||
zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
|
||||
"
|
||||
|
||||
EDK2_OVMF_VERSION="202105"
|
||||
SEABIOS_VERSION="1.14.0"
|
||||
|
||||
X86_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}[binary]
|
||||
~sys-firmware/ipxe-1.21.1[binary,qemu]
|
||||
~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios]
|
||||
~sys-firmware/sgabios-0.1_pre10[binary]
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
>=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
|
||||
sys-firmware/ipxe[qemu]
|
||||
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
|
||||
sys-firmware/sgabios
|
||||
)"
|
||||
PPC_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios]
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
|
||||
)
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
$(python_gen_impl_dep)
|
||||
dev-lang/perl
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
|
||||
gtk? ( nls? ( sys-devel/gettext ) )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)
|
||||
"
|
||||
CDEPEND="
|
||||
!static? (
|
||||
${ALL_DEPEND//\[static-libs(+)]}
|
||||
${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
|
||||
)
|
||||
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} )
|
||||
"
|
||||
DEPEND="${CDEPEND}
|
||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||
static? (
|
||||
${ALL_DEPEND}
|
||||
${SOFTMMU_TOOLS_DEPEND}
|
||||
)
|
||||
static-user? ( ${ALL_DEPEND} )"
|
||||
RDEPEND="${CDEPEND}
|
||||
acct-group/kvm
|
||||
selinux? ( sec-policy/selinux-qemu )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-strings.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-cleaner-werror.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-dce-locks.patch
|
||||
"${FILESDIR}"/${PN}-6.0.0-make.patch
|
||||
)
|
||||
|
||||
QA_PREBUILT="
|
||||
usr/share/qemu/hppa-firmware.img
|
||||
usr/share/qemu/openbios-ppc
|
||||
usr/share/qemu/openbios-sparc64
|
||||
usr/share/qemu/openbios-sparc32
|
||||
usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf
|
||||
usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf
|
||||
usr/share/qemu/palcode-clipper
|
||||
usr/share/qemu/s390-ccw.img
|
||||
usr/share/qemu/s390-netboot.img
|
||||
usr/share/qemu/u-boot.e500
|
||||
"
|
||||
|
||||
QA_WX_LOAD="usr/bin/qemu-i386
|
||||
usr/bin/qemu-x86_64
|
||||
usr/bin/qemu-alpha
|
||||
usr/bin/qemu-arm
|
||||
usr/bin/qemu-cris
|
||||
usr/bin/qemu-m68k
|
||||
usr/bin/qemu-microblaze
|
||||
usr/bin/qemu-microblazeel
|
||||
usr/bin/qemu-mips
|
||||
usr/bin/qemu-mipsel
|
||||
usr/bin/qemu-or1k
|
||||
usr/bin/qemu-ppc
|
||||
usr/bin/qemu-ppc64
|
||||
usr/bin/qemu-ppc64abi32
|
||||
usr/bin/qemu-sh4
|
||||
usr/bin/qemu-sh4eb
|
||||
usr/bin/qemu-sparc
|
||||
usr/bin/qemu-sparc64
|
||||
usr/bin/qemu-armeb
|
||||
usr/bin/qemu-sparc32plus
|
||||
usr/bin/qemu-s390x
|
||||
usr/bin/qemu-unicore32
|
||||
"
|
||||
|
||||
DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the
|
||||
kernel module loaded before running kvm. The easiest way to ensure that the
|
||||
kernel module is loaded is to load it on boot.
|
||||
For AMD CPUs the module is called 'kvm-amd'.
|
||||
For Intel CPUs the module is called 'kvm-intel'.
|
||||
Please review /etc/conf.d/modules for how to load these.
|
||||
|
||||
Make sure your user is in the 'kvm' group. Just run
|
||||
$ gpasswd -a <USER> kvm
|
||||
then have <USER> re-login.
|
||||
|
||||
For brand new installs, the default permissions on /dev/kvm might not let
|
||||
you access it. You can tell udev to reset ownership/perms:
|
||||
$ udevadm trigger -c add /dev/kvm
|
||||
|
||||
If you want to register binfmt handlers for qemu user targets:
|
||||
For openrc:
|
||||
# rc-update add qemu-binfmt
|
||||
For systemd:
|
||||
# ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf"
|
||||
|
||||
pkg_pretend() {
|
||||
if use kernel_linux && kernel_is lt 2 6 25; then
|
||||
eerror "This version of KVM requires a host kernel of 2.6.25 or higher."
|
||||
elif use kernel_linux; then
|
||||
if ! linux_config_exists; then
|
||||
eerror "Unable to check your kernel for KVM support"
|
||||
else
|
||||
CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
|
||||
ERROR_KVM="You must enable KVM in your kernel to continue"
|
||||
ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
|
||||
ERROR_KVM_AMD+=" your kernel configuration."
|
||||
ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
|
||||
ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
|
||||
ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
|
||||
ERROR_TUN+=" into your kernel or loaded as a module to use the"
|
||||
ERROR_TUN+=" virtual network device if using -net tap."
|
||||
ERROR_BRIDGE="You will also need support for 802.1d"
|
||||
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
|
||||
use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
|
||||
ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
|
||||
ERROR_VHOST_NET+=" support"
|
||||
|
||||
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
|
||||
if grep -q AuthenticAMD /proc/cpuinfo; then
|
||||
CONFIG_CHECK+=" ~KVM_AMD"
|
||||
elif grep -q GenuineIntel /proc/cpuinfo; then
|
||||
CONFIG_CHECK+=" ~KVM_INTEL"
|
||||
fi
|
||||
fi
|
||||
|
||||
use python && CONFIG_CHECK+=" ~DEBUG_FS"
|
||||
ERROR_DEBUG_FS="debugFS support required for kvm_stat"
|
||||
|
||||
# Now do the actual checks setup above
|
||||
check_extra_config
|
||||
fi
|
||||
fi
|
||||
|
||||
if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
|
||||
eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
|
||||
eerror "instances are still pointing to it. Please update your"
|
||||
eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
|
||||
eerror "and the right system binary (e.g. qemu-system-x86_64)."
|
||||
die "update your virt configs to not use qemu-kvm"
|
||||
fi
|
||||
}
|
||||
|
||||
# Sanity check to make sure target lists are kept up-to-date.
|
||||
check_targets() {
|
||||
local var=$1 mak=$2
|
||||
local detected sorted
|
||||
|
||||
pushd "${S}"/default-configs/targets/ >/dev/null || die
|
||||
|
||||
# Force C locale until glibc is updated. #564936
|
||||
detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
|
||||
sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u))
|
||||
if [[ ${sorted} != "${detected}" ]] ; then
|
||||
eerror "The ebuild needs to be kept in sync."
|
||||
eerror "${var}: ${sorted}"
|
||||
eerror "$(printf '%-*s' ${#var} configure): ${detected}"
|
||||
die "sync ${var} to the list of targets"
|
||||
fi
|
||||
|
||||
popd >/dev/null
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
check_targets IUSE_SOFTMMU_TARGETS softmmu
|
||||
check_targets IUSE_USER_TARGETS linux-user
|
||||
|
||||
default
|
||||
|
||||
# Use correct toolchain to fix cross-compiling
|
||||
tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS
|
||||
export WINDRES=${CHOST}-windres
|
||||
|
||||
# Verbose builds
|
||||
MAKEOPTS+=" V=1"
|
||||
|
||||
# Remove bundled copy of libfdt
|
||||
rm -r dtc || die
|
||||
}
|
||||
|
||||
##
|
||||
# configures qemu based on the build directory and the build type
|
||||
# we are using.
|
||||
#
|
||||
qemu_src_configure() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
local buildtype=$1
|
||||
local builddir="${S}/${buildtype}-build"
|
||||
|
||||
mkdir "${builddir}"
|
||||
|
||||
local conf_opts=(
|
||||
--prefix=/usr
|
||||
--sysconfdir=/etc
|
||||
--bindir=/usr/bin
|
||||
--libdir=/usr/$(get_libdir)
|
||||
--datadir=/usr/share
|
||||
--docdir=/usr/share/doc/${PF}/html
|
||||
--mandir=/usr/share/man
|
||||
--localstatedir=/var
|
||||
--disable-bsd-user
|
||||
--disable-containers # bug #732972
|
||||
--disable-guest-agent
|
||||
--disable-strip
|
||||
|
||||
# bug #746752: TCG interpreter has a few limitations:
|
||||
# - it does not support FPU
|
||||
# - it's generally slower on non-self-modifying code
|
||||
# It's advantage is support for host architectures
|
||||
# where native codegeneration is not implemented.
|
||||
# Gentoo has qemu keyworded only on targets with
|
||||
# native code generation available. Avoid the interpreter.
|
||||
--disable-tcg-interpreter
|
||||
|
||||
--disable-werror
|
||||
# We support gnutls/nettle for crypto operations. It is possible
|
||||
# to use gcrypt when gnutls/nettle are disabled (but not when they
|
||||
# are enabled), but it's not really worth the hassle. Disable it
|
||||
# all the time to avoid automatically detecting it. #568856
|
||||
--disable-gcrypt
|
||||
--python="${PYTHON}"
|
||||
--cc="$(tc-getCC)"
|
||||
--cxx="$(tc-getCXX)"
|
||||
--host-cc="$(tc-getBUILD_CC)"
|
||||
$(use_enable debug debug-info)
|
||||
$(use_enable debug debug-tcg)
|
||||
$(use_enable doc docs)
|
||||
$(use_enable nls gettext)
|
||||
$(use_enable plugins)
|
||||
$(use_enable xattr attr)
|
||||
)
|
||||
|
||||
# Disable options not used by user targets. This simplifies building
|
||||
# static user targets (USE=static-user) considerably.
|
||||
conf_notuser() {
|
||||
if [[ ${buildtype} == "user" ]] ; then
|
||||
echo "--disable-${2:-$1}"
|
||||
else
|
||||
use_enable "$@"
|
||||
fi
|
||||
}
|
||||
# Enable option only for softmmu build, but not 'user' or 'tools'
|
||||
conf_softmmu() {
|
||||
if [[ ${buildtype} == "softmmu" ]] ; then
|
||||
use_enable "$@"
|
||||
else
|
||||
echo "--disable-${2:-$1}"
|
||||
fi
|
||||
}
|
||||
# Enable option only for tools build, but not 'user' or 'softmmu'
|
||||
conf_tools() {
|
||||
if [[ ${buildtype} == "tools" ]] ; then
|
||||
use_enable "$@"
|
||||
else
|
||||
echo "--disable-${2:-$1}"
|
||||
fi
|
||||
}
|
||||
conf_opts+=(
|
||||
$(conf_notuser accessibility brlapi)
|
||||
$(conf_notuser aio linux-aio)
|
||||
$(conf_notuser bzip2)
|
||||
$(conf_notuser capstone)
|
||||
$(conf_notuser caps cap-ng)
|
||||
$(conf_notuser curl)
|
||||
$(conf_notuser fdt)
|
||||
$(conf_notuser fuse)
|
||||
$(conf_notuser glusterfs)
|
||||
$(conf_notuser gnutls)
|
||||
$(conf_notuser gnutls nettle)
|
||||
$(conf_notuser gtk)
|
||||
$(conf_notuser infiniband rdma)
|
||||
$(conf_notuser iscsi libiscsi)
|
||||
$(conf_notuser io-uring linux-io-uring)
|
||||
$(conf_notuser jemalloc jemalloc)
|
||||
$(conf_notuser jpeg vnc-jpeg)
|
||||
$(conf_notuser kernel_linux kvm)
|
||||
$(conf_notuser lzo)
|
||||
$(conf_notuser multipath mpath)
|
||||
$(conf_notuser ncurses curses)
|
||||
$(conf_notuser nfs libnfs)
|
||||
$(conf_notuser numa)
|
||||
$(conf_notuser opengl)
|
||||
$(conf_notuser png vnc-png)
|
||||
$(conf_notuser rbd)
|
||||
$(conf_notuser sasl vnc-sasl)
|
||||
$(conf_notuser sdl)
|
||||
$(conf_softmmu sdl-image)
|
||||
$(conf_notuser seccomp)
|
||||
$(conf_notuser slirp slirp system)
|
||||
$(conf_notuser smartcard)
|
||||
$(conf_notuser snappy)
|
||||
$(conf_notuser spice)
|
||||
$(conf_notuser ssh libssh)
|
||||
$(conf_notuser udev libudev)
|
||||
$(conf_notuser usb libusb)
|
||||
$(conf_notuser usbredir usb-redir)
|
||||
$(conf_notuser vde)
|
||||
$(conf_notuser vhost-net)
|
||||
$(conf_notuser vhost-user-fs)
|
||||
$(conf_tools vhost-user-fs virtiofsd)
|
||||
$(conf_notuser virgl virglrenderer)
|
||||
$(conf_softmmu virtfs)
|
||||
$(conf_notuser vnc)
|
||||
$(conf_notuser vte)
|
||||
$(conf_notuser xen)
|
||||
$(conf_notuser xen xen-pci-passthrough)
|
||||
$(conf_notuser xfs xfsctl)
|
||||
# use prebuilt keymaps, bug #759604
|
||||
--disable-xkbcommon
|
||||
$(conf_notuser zstd)
|
||||
)
|
||||
|
||||
if [[ ${buildtype} == "user" ]] ; then
|
||||
conf_opts+=( --disable-libxml2 )
|
||||
else
|
||||
conf_opts+=( --enable-libxml2 )
|
||||
fi
|
||||
|
||||
if [[ ! ${buildtype} == "user" ]] ; then
|
||||
# audio options
|
||||
local audio_opts=(
|
||||
# Note: backend order matters here: #716202
|
||||
# We iterate from higher-level to lower level.
|
||||
$(usex pulseaudio pa "")
|
||||
$(usev jack)
|
||||
$(usev sdl)
|
||||
$(usev alsa)
|
||||
$(usev oss)
|
||||
)
|
||||
conf_opts+=(
|
||||
--audio-drv-list=$(printf "%s," "${audio_opts[@]}")
|
||||
)
|
||||
fi
|
||||
|
||||
case ${buildtype} in
|
||||
user)
|
||||
conf_opts+=(
|
||||
--enable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--disable-tools
|
||||
)
|
||||
local static_flag="static-user"
|
||||
;;
|
||||
softmmu)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--enable-system
|
||||
--disable-tools
|
||||
)
|
||||
local static_flag="static"
|
||||
;;
|
||||
tools)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--enable-tools
|
||||
)
|
||||
local static_flag="static"
|
||||
;;
|
||||
esac
|
||||
|
||||
local targets="${buildtype}_targets"
|
||||
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
|
||||
|
||||
# Add support for SystemTAP
|
||||
use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
|
||||
|
||||
# We always want to attempt to build with PIE support as it results
|
||||
# in a more secure binary. But it doesn't work with static or if
|
||||
# the current GCC doesn't have PIE support.
|
||||
if use ${static_flag}; then
|
||||
conf_opts+=( --static --disable-pie )
|
||||
else
|
||||
tc-enables-pie && conf_opts+=( --enable-pie )
|
||||
fi
|
||||
|
||||
# Meson will not use a cross-file unless cross_prefix is set.
|
||||
tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" )
|
||||
|
||||
# Plumb through equivalent of EXTRA_ECONF to allow experiments
|
||||
# like bug #747928.
|
||||
conf_opts+=( ${EXTRA_CONF_QEMU} )
|
||||
|
||||
echo "../configure ${conf_opts[*]}"
|
||||
cd "${builddir}"
|
||||
../configure "${conf_opts[@]}" || die "configure failed"
|
||||
|
||||
# FreeBSD's kernel does not support QEMU assigning/grabbing
|
||||
# host USB devices yet
|
||||
use kernel_FreeBSD && \
|
||||
sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local target
|
||||
|
||||
python_setup
|
||||
|
||||
softmmu_targets= softmmu_bins=()
|
||||
user_targets= user_bins=()
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
if use "qemu_softmmu_targets_${target}"; then
|
||||
softmmu_targets+=",${target}-softmmu"
|
||||
softmmu_bins+=( "qemu-system-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS} ; do
|
||||
if use "qemu_user_targets_${target}"; then
|
||||
user_targets+=",${target}-linux-user"
|
||||
user_bins+=( "qemu-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
softmmu_targets=${softmmu_targets#,}
|
||||
user_targets=${user_targets#,}
|
||||
|
||||
[[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
|
||||
[[ -n ${user_targets} ]] && qemu_src_configure "user"
|
||||
qemu_src_configure "tools"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
default
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
default
|
||||
fi
|
||||
|
||||
cd "${S}/tools-build"
|
||||
default
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
pax-mark m */qemu-system-* #515550
|
||||
emake check
|
||||
fi
|
||||
}
|
||||
|
||||
qemu_python_install() {
|
||||
python_domodule "${S}/python/qemu"
|
||||
|
||||
python_doscript "${S}/scripts/kvm/vmxcap"
|
||||
python_doscript "${S}/scripts/qmp/qmp-shell"
|
||||
python_doscript "${S}/scripts/qmp/qemu-ga-client"
|
||||
}
|
||||
|
||||
# Generate binfmt support files.
|
||||
# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc)
|
||||
# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt)
|
||||
generate_initd() {
|
||||
local out="${T}/qemu-binfmt"
|
||||
local out_systemd="${T}/qemu.conf"
|
||||
local d="${T}/binfmt.d"
|
||||
|
||||
einfo "Generating qemu binfmt scripts and configuration files"
|
||||
|
||||
# Generate the debian fragments first.
|
||||
mkdir -p "${d}"
|
||||
"${S}"/scripts/qemu-binfmt-conf.sh \
|
||||
--debian \
|
||||
--exportdir "${d}" \
|
||||
--qemu-path "${EPREFIX}/usr/bin" \
|
||||
|| die
|
||||
# Then turn the fragments into a shell script we can source.
|
||||
sed -E -i \
|
||||
-e 's:^([^ ]+) (.*)$:\1="\2":' \
|
||||
"${d}"/* || die
|
||||
|
||||
# Generate the init.d script by assembling the fragments from above.
|
||||
local f qcpu package interpreter magic mask
|
||||
cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die
|
||||
for f in "${d}"/qemu-* ; do
|
||||
source "${f}"
|
||||
|
||||
# Normalize the cpu logic like we do in the init.d for the native cpu.
|
||||
qcpu=${package#qemu-}
|
||||
case ${qcpu} in
|
||||
arm*) qcpu="arm";;
|
||||
mips*) qcpu="mips";;
|
||||
ppc*) qcpu="ppc";;
|
||||
s390*) qcpu="s390";;
|
||||
sh*) qcpu="sh";;
|
||||
sparc*) qcpu="sparc";;
|
||||
esac
|
||||
|
||||
# we use 'printf' here to be portable across 'sh'
|
||||
# implementations: #679168
|
||||
cat <<EOF >>"${out}"
|
||||
if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
|
||||
printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
EOF
|
||||
|
||||
echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}"
|
||||
|
||||
done
|
||||
cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# Install binfmt handler init script for user targets.
|
||||
generate_initd
|
||||
doinitd "${T}/qemu-binfmt"
|
||||
|
||||
# Install binfmt/qemu.conf.
|
||||
insinto "/usr/share/qemu/binfmt.d"
|
||||
doins "${T}/qemu.conf"
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# This might not exist if the test failed. #512010
|
||||
[[ -e check-report.html ]] && dodoc check-report.html
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
cd "${S}/tools-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
|
||||
pushd "${ED}"/usr/bin >/dev/null
|
||||
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
|
||||
popd >/dev/null
|
||||
|
||||
# Install config file example for qemu-bridge-helper
|
||||
insinto "/etc/qemu"
|
||||
doins "${FILESDIR}/bridge.conf"
|
||||
|
||||
cd "${S}"
|
||||
dodoc MAINTAINERS docs/specs/pci-ids.txt
|
||||
newdoc pc-bios/README README.pc-bios
|
||||
|
||||
# Disallow stripping of prebuilt firmware files.
|
||||
dostrip -x ${QA_PREBUILT}
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
# Remove SeaBIOS since we're using the SeaBIOS packaged one
|
||||
rm "${ED}/usr/share/qemu/bios.bin"
|
||||
rm "${ED}/usr/share/qemu/bios-256k.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
|
||||
dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin
|
||||
fi
|
||||
|
||||
# Remove vgabios since we're using the seavgabios packaged one
|
||||
rm "${ED}/usr/share/qemu/vgabios.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
|
||||
# PPC/PPC64 loads vgabios-stdvga
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then
|
||||
dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
|
||||
dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
|
||||
dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
|
||||
dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
|
||||
dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin
|
||||
dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
|
||||
fi
|
||||
|
||||
# Remove sgabios since we're using the sgabios packaged one
|
||||
rm "${ED}/usr/share/qemu/sgabios.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
|
||||
fi
|
||||
|
||||
# Remove iPXE since we're using the iPXE packaged one
|
||||
rm "${ED}"/usr/share/qemu/pxe-*.rom
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
|
||||
dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
|
||||
dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
|
||||
dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
|
||||
dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
|
||||
dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
|
||||
fi
|
||||
fi
|
||||
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
firmware_abi_change() {
|
||||
local pv
|
||||
for pv in ${REPLACING_VERSIONS}; do
|
||||
if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
|
||||
udev_reload
|
||||
fi
|
||||
|
||||
xdg_icon_cache_update
|
||||
|
||||
[[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
|
||||
fcaps cap_net_admin ${EROOT}/usr/libexec/qemu-bridge-helper
|
||||
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_print_elog
|
||||
|
||||
if use pin-upstream-blobs && firmware_abi_change; then
|
||||
ewarn "This version of qemu pins new versions of firmware blobs:"
|
||||
ewarn " $(best_version sys-firmware/edk2-ovmf)"
|
||||
ewarn " $(best_version sys-firmware/ipxe)"
|
||||
ewarn " $(best_version sys-firmware/seabios)"
|
||||
ewarn " $(best_version sys-firmware/sgabios)"
|
||||
ewarn "This might break resume of hibernated guests (started with a different"
|
||||
ewarn "firmware version) and live migration to/from qemu versions with different"
|
||||
ewarn "firmware. Please (cold) restart all running guests. For functional"
|
||||
ewarn "guest migration ensure that all"
|
||||
ewarn "hosts run at least"
|
||||
ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_info() {
|
||||
echo "Using:"
|
||||
echo " $(best_version app-emulation/spice-protocol)"
|
||||
echo " $(best_version sys-firmware/edk2-ovmf)"
|
||||
if has_version 'sys-firmware/edk2-ovmf[binary]'; then
|
||||
echo " USE=binary"
|
||||
else
|
||||
echo " USE=''"
|
||||
fi
|
||||
echo " $(best_version sys-firmware/ipxe)"
|
||||
echo " $(best_version sys-firmware/seabios)"
|
||||
if has_version 'sys-firmware/seabios[binary]'; then
|
||||
echo " USE=binary"
|
||||
else
|
||||
echo " USE=''"
|
||||
fi
|
||||
echo " $(best_version sys-firmware/sgabios)"
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_icon_cache_update
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST tbb-2020.3.tar.gz 2639788 BLAKE2B 3e92bccdc8179fc049379ccbb8ad7f615623177abc61d813b1a601020c345137bfd7d4c4600cf5b0d587e5ebef677635c3c8124d06b05fdd3325128ed8c9f84a SHA512 04c4b5501418792827190691d03d20d4dc1fd3cbbcf459a4d40c5c2281d964e658f31f133ad3907b78e17ed04f4ff16728ed89487ed0ce2cb239f23feb34bd87
|
||||
DIST tbb-2021.4.0.tar.gz 2452533 BLAKE2B a635c6efa1894c33e2f75c1aa03b6c0f4a86ebef3b58fa42bd25b53d661ed7a9d21f49f121dd3679735f219fbfc35604600bcc72ba60d3602e6de77b0d62e37b SHA512 96da2bc351fd64dfa854f8e6cabc1c4e53af3d55760e99d6f83ad53779c727af333d13d6be0828ed70371cf796498d2063e9dd0e4b2f6451623bb5d28ccbf20b
|
||||
|
@ -0,0 +1,247 @@
|
||||
From 6feeba8035ea2bdf652d473a35730b19427752db Mon Sep 17 00:00:00 2001
|
||||
From: Ivan Kochin <kochin.ivan@intel.com>
|
||||
Date: Wed, 27 Oct 2021 17:23:32 +0300
|
||||
Subject: [PATCH] Use native CMake way to detect the IPO support (#608)
|
||||
|
||||
* Use native CMake way to detect the IPO support
|
||||
|
||||
Signed-off-by: Kochin Ivan <kochin.ivan@intel.com>
|
||||
---
|
||||
CMakeLists.txt | 17 +++++++++++++++++
|
||||
cmake/README.md | 1 +
|
||||
cmake/compilers/Clang.cmake | 8 ++------
|
||||
cmake/compilers/GNU.cmake | 8 +++-----
|
||||
cmake/compilers/MSVC.cmake | 1 +
|
||||
cmake/utils.cmake | 13 +++++++++++++
|
||||
src/tbb/CMakeLists.txt | 5 ++---
|
||||
src/tbbbind/CMakeLists.txt | 6 +++---
|
||||
src/tbbmalloc/CMakeLists.txt | 5 ++---
|
||||
9 files changed, 44 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 13b1dbc2c..4dbdadb97 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -103,6 +103,7 @@ option(TBBMALLOC_BUILD "Enable tbbmalloc build" ON)
|
||||
option(TBB_CPF "Enable preview features of the library" OFF)
|
||||
option(TBB_FIND_PACKAGE "Enable search for external oneTBB using find_package instead of build from sources" OFF)
|
||||
option(TBB_DISABLE_HWLOC_AUTOMATIC_SEARCH "Disable HWLOC automatic search by pkg-config tool" OFF)
|
||||
+option(TBB_ENABLE_IPO "Enable Interprocedural Optimization (IPO) during the compilation" ON)
|
||||
|
||||
if (NOT DEFINED BUILD_SHARED_LIBS)
|
||||
set(BUILD_SHARED_LIBS ON)
|
||||
@@ -181,6 +182,22 @@ foreach(FILE_WITH_EXTRA_TARGETS ${FILES_WITH_EXTRA_TARGETS})
|
||||
include(${FILE_WITH_EXTRA_TARGETS})
|
||||
endforeach()
|
||||
|
||||
+# - Enabling LTO on Android causes the NDK bug.
|
||||
+# NDK throws the warning: "argument unused during compilation: '-Wa,--noexecstack'"
|
||||
+# - For some reason GCC does not instrument code with Thread Sanitizer when lto is enabled and C linker is used.
|
||||
+if (TBB_ENABLE_IPO AND BUILD_SHARED_LIBS AND NOT ANDROID_PLATFORM AND NOT TBB_SANITIZE MATCHES "thread")
|
||||
+ if (NOT CMAKE_VERSION VERSION_LESS 3.9)
|
||||
+ cmake_policy(SET CMP0069 NEW)
|
||||
+ include(CheckIPOSupported)
|
||||
+ check_ipo_supported(RESULT TBB_IPO_PROPERTY)
|
||||
+ else()
|
||||
+ set(TBB_IPO_FLAGS TRUE)
|
||||
+ endif()
|
||||
+ if (TBB_IPO_PROPERTY OR TBB_IPO_FLAGS)
|
||||
+ message(STATUS "IPO enabled")
|
||||
+ endif()
|
||||
+endif()
|
||||
+
|
||||
set(TBB_COMPILER_SETTINGS_FILE ${CMAKE_CURRENT_SOURCE_DIR}/cmake/compilers/${CMAKE_CXX_COMPILER_ID}.cmake)
|
||||
if (EXISTS ${TBB_COMPILER_SETTINGS_FILE})
|
||||
include(${TBB_COMPILER_SETTINGS_FILE})
|
||||
diff --git a/cmake/README.md b/cmake/README.md
|
||||
index ec56e423c..ed1631de3 100644
|
||||
--- a/cmake/README.md
|
||||
+++ b/cmake/README.md
|
||||
@@ -16,6 +16,7 @@ TBB_CPF:BOOL - Enable preview features of the library (OFF by default)
|
||||
TBB_INSTALL_VARS:BOOL - Enable auto-generated vars installation(packages generated by `cpack` and `make install` will also include the vars script)(OFF by default)
|
||||
TBB_VALGRIND_MEMCHECK:BOOL - Enable scan for memory leaks using Valgrind (OFF by default)
|
||||
TBB_DISABLE_HWLOC_AUTOMATIC_SEARCH - Disable HWLOC automatic search by pkg-config tool (OFF by default)
|
||||
+TBB_ENABLE_IPO - Enable Interprocedural Optimization (IPO) during the compilation (ON by default)
|
||||
```
|
||||
|
||||
## Configure, build and test
|
||||
diff --git a/cmake/compilers/Clang.cmake b/cmake/compilers/Clang.cmake
|
||||
index 183341fcc..69aa51932 100644
|
||||
--- a/cmake/compilers/Clang.cmake
|
||||
+++ b/cmake/compilers/Clang.cmake
|
||||
@@ -58,12 +58,8 @@ if (MINGW)
|
||||
list(APPEND TBB_COMMON_COMPILE_FLAGS -U__STRICT_ANSI__)
|
||||
endif()
|
||||
|
||||
-# Enabling LTO on Android causes the NDK bug.
|
||||
-# NDK throws the warning: "argument unused during compilation: '-Wa,--noexecstack'"
|
||||
-if (NOT ANDROID_PLATFORM AND BUILD_SHARED_LIBS)
|
||||
- set(TBB_IPO_COMPILE_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>)
|
||||
- set(TBB_IPO_LINK_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>)
|
||||
-endif()
|
||||
+set(TBB_IPO_COMPILE_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>)
|
||||
+set(TBB_IPO_LINK_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>)
|
||||
|
||||
# TBB malloc settings
|
||||
set(TBBMALLOC_LIB_COMPILE_FLAGS -fno-rtti -fno-exceptions)
|
||||
diff --git a/cmake/compilers/GNU.cmake b/cmake/compilers/GNU.cmake
|
||||
index fa14c869e..a9cfa8927 100644
|
||||
--- a/cmake/compilers/GNU.cmake
|
||||
+++ b/cmake/compilers/GNU.cmake
|
||||
@@ -63,11 +63,9 @@ if (MINGW)
|
||||
list(APPEND TBB_COMMON_COMPILE_FLAGS -U__STRICT_ANSI__)
|
||||
endif()
|
||||
|
||||
-# For some reason GCC does not instrument code with Thread Sanitizer when lto is enabled and C linker is used.
|
||||
-if (NOT TBB_SANITIZE MATCHES "thread")
|
||||
- set(TBB_IPO_COMPILE_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>)
|
||||
- set(TBB_IPO_LINK_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>)
|
||||
-endif()
|
||||
+set(TBB_IPO_COMPILE_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>)
|
||||
+set(TBB_IPO_LINK_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>)
|
||||
+
|
||||
|
||||
# TBB malloc settings
|
||||
set(TBBMALLOC_LIB_COMPILE_FLAGS -fno-rtti -fno-exceptions)
|
||||
diff --git a/cmake/compilers/MSVC.cmake b/cmake/compilers/MSVC.cmake
|
||||
index 3447418cc..5767235a0 100644
|
||||
--- a/cmake/compilers/MSVC.cmake
|
||||
+++ b/cmake/compilers/MSVC.cmake
|
||||
@@ -77,6 +77,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "(Clang|IntelLLVM)")
|
||||
endif()
|
||||
set(TBB_OPENMP_NO_LINK_FLAG TRUE)
|
||||
set(TBB_IPO_COMPILE_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>)
|
||||
+ set(TBB_IPO_LINK_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>)
|
||||
else()
|
||||
set(TBB_IPO_COMPILE_FLAGS $<$<NOT:$<CONFIG:Debug>>:/GL>)
|
||||
set(TBB_IPO_LINK_FLAGS $<$<NOT:$<CONFIG:Debug>>:-LTCG> $<$<NOT:$<CONFIG:Debug>>:-INCREMENTAL:NO>)
|
||||
diff --git a/cmake/utils.cmake b/cmake/utils.cmake
|
||||
index 06d3a9aee..f74abfcf9 100644
|
||||
--- a/cmake/utils.cmake
|
||||
+++ b/cmake/utils.cmake
|
||||
@@ -44,3 +44,16 @@ macro(tbb_install_target target)
|
||||
COMPONENT devel)
|
||||
endif()
|
||||
endmacro()
|
||||
+
|
||||
+macro(tbb_handle_ipo target)
|
||||
+ if (TBB_IPO_PROPERTY)
|
||||
+ set_target_properties(${target} PROPERTIES INTERPROCEDURAL_OPTIMIZATION TRUE)
|
||||
+ elseif (TBB_IPO_FLAGS)
|
||||
+ target_compile_options(${target} PRIVATE ${TBB_IPO_COMPILE_FLAGS})
|
||||
+ if (COMMAND target_link_options)
|
||||
+ target_link_options(${target} PRIVATE ${TBB_IPO_LINK_FLAGS})
|
||||
+ else()
|
||||
+ target_link_libraries(${target} PRIVATE ${TBB_IPO_LINK_FLAGS})
|
||||
+ endif()
|
||||
+ endif()
|
||||
+endmacro()
|
||||
diff --git a/src/tbb/CMakeLists.txt b/src/tbb/CMakeLists.txt
|
||||
index 80fdcdcde..021392d89 100644
|
||||
--- a/src/tbb/CMakeLists.txt
|
||||
+++ b/src/tbb/CMakeLists.txt
|
||||
@@ -79,7 +79,6 @@ target_compile_options(tbb
|
||||
${TBB_WARNING_SUPPRESS}
|
||||
${TBB_LIB_COMPILE_FLAGS}
|
||||
${TBB_COMMON_COMPILE_FLAGS}
|
||||
- ${TBB_IPO_COMPILE_FLAGS}
|
||||
)
|
||||
|
||||
# Avoid use of target_link_libraries here as it changes /DEF option to \DEF on Windows.
|
||||
@@ -89,6 +88,8 @@ set_target_properties(tbb PROPERTIES
|
||||
SOVERSION ${TBB_BINARY_VERSION}
|
||||
)
|
||||
|
||||
+tbb_handle_ipo(tbb)
|
||||
+
|
||||
if (TBB_DEF_FILE_PREFIX) # If there's no prefix, assume we're using export directives
|
||||
set_target_properties(tbb PROPERTIES
|
||||
LINK_FLAGS ${TBB_LINK_DEF_FILE_FLAG}${CMAKE_CURRENT_SOURCE_DIR}/def/${TBB_DEF_FILE_PREFIX}-tbb.def
|
||||
@@ -103,14 +104,12 @@ if (COMMAND target_link_options)
|
||||
PRIVATE
|
||||
${TBB_LIB_LINK_FLAGS}
|
||||
${TBB_COMMON_LINK_FLAGS}
|
||||
- ${TBB_IPO_LINK_FLAGS}
|
||||
)
|
||||
else()
|
||||
target_link_libraries(tbb
|
||||
PRIVATE
|
||||
${TBB_LIB_LINK_FLAGS}
|
||||
${TBB_COMMON_LINK_FLAGS}
|
||||
- ${TBB_IPO_LINK_FLAGS}
|
||||
)
|
||||
endif()
|
||||
|
||||
diff --git a/src/tbbbind/CMakeLists.txt b/src/tbbbind/CMakeLists.txt
|
||||
index 99b7ccaac..3233ec718 100644
|
||||
--- a/src/tbbbind/CMakeLists.txt
|
||||
+++ b/src/tbbbind/CMakeLists.txt
|
||||
@@ -46,7 +46,6 @@ function(tbbbind_build TBBBIND_NAME REQUIRED_HWLOC_TARGET)
|
||||
${TBB_WARNING_LEVEL}
|
||||
${TBB_LIB_COMPILE_FLAGS}
|
||||
${TBB_COMMON_COMPILE_FLAGS}
|
||||
- ${TBB_IPO_COMPILE_FLAGS}
|
||||
)
|
||||
|
||||
# Avoid use of target_link_libraries here as it changes /DEF option to \DEF on Windows.
|
||||
@@ -55,6 +54,9 @@ function(tbbbind_build TBBBIND_NAME REQUIRED_HWLOC_TARGET)
|
||||
VERSION ${TBBBIND_BINARY_VERSION}.${TBB_BINARY_MINOR_VERSION}
|
||||
SOVERSION ${TBBBIND_BINARY_VERSION}
|
||||
)
|
||||
+
|
||||
+ tbb_handle_ipo(${TBBBIND_NAME})
|
||||
+
|
||||
if (TBB_DEF_FILE_PREFIX) # If there's no prefix, assume we're using export directives
|
||||
set_target_properties(${TBBBIND_NAME} PROPERTIES
|
||||
LINK_FLAGS ${TBB_LINK_DEF_FILE_FLAG}${CMAKE_CURRENT_SOURCE_DIR}/def/${TBB_DEF_FILE_PREFIX}-tbbbind.def
|
||||
@@ -69,14 +71,12 @@ function(tbbbind_build TBBBIND_NAME REQUIRED_HWLOC_TARGET)
|
||||
PRIVATE
|
||||
${TBB_LIB_LINK_FLAGS}
|
||||
${TBB_COMMON_LINK_FLAGS}
|
||||
- ${TBB_IPO_LINK_FLAGS}
|
||||
)
|
||||
else()
|
||||
target_link_libraries(${TBBBIND_NAME}
|
||||
PRIVATE
|
||||
${TBB_LIB_LINK_FLAGS}
|
||||
${TBB_COMMON_LINK_FLAGS}
|
||||
- ${TBB_IPO_LINK_FLAGS}
|
||||
)
|
||||
endif()
|
||||
|
||||
diff --git a/src/tbbmalloc/CMakeLists.txt b/src/tbbmalloc/CMakeLists.txt
|
||||
index f77bc8f10..5a851851f 100644
|
||||
--- a/src/tbbmalloc/CMakeLists.txt
|
||||
+++ b/src/tbbmalloc/CMakeLists.txt
|
||||
@@ -59,7 +59,6 @@ target_compile_options(tbbmalloc
|
||||
${TBB_LIB_COMPILE_FLAGS}
|
||||
${TBBMALLOC_LIB_COMPILE_FLAGS}
|
||||
${TBB_COMMON_COMPILE_FLAGS}
|
||||
- ${TBB_IPO_COMPILE_FLAGS}
|
||||
)
|
||||
|
||||
enable_language(C)
|
||||
@@ -72,6 +71,8 @@ set_target_properties(tbbmalloc PROPERTIES
|
||||
LINKER_LANGUAGE C
|
||||
)
|
||||
|
||||
+tbb_handle_ipo(tbbmalloc)
|
||||
+
|
||||
if (TBB_DEF_FILE_PREFIX) # If there's no prefix, assume we're using export directives
|
||||
set_target_properties(tbbmalloc PROPERTIES
|
||||
LINK_FLAGS ${TBB_LINK_DEF_FILE_FLAG}${CMAKE_CURRENT_SOURCE_DIR}/def/${TBB_DEF_FILE_PREFIX}-tbbmalloc.def
|
||||
@@ -88,14 +89,12 @@ if (COMMAND target_link_options)
|
||||
PRIVATE
|
||||
${TBB_LIB_LINK_FLAGS}
|
||||
${TBB_COMMON_LINK_FLAGS}
|
||||
- ${TBB_IPO_LINK_FLAGS}
|
||||
)
|
||||
else()
|
||||
target_link_libraries(tbbmalloc
|
||||
PRIVATE
|
||||
${TBB_LIB_LINK_FLAGS}
|
||||
${TBB_COMMON_LINK_FLAGS}
|
||||
- ${TBB_IPO_LINK_FLAGS}
|
||||
)
|
||||
endif()
|
||||
|
@ -0,0 +1,37 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit cmake-multilib flag-o-matic toolchain-funcs
|
||||
|
||||
DESCRIPTION="High level abstract threading library"
|
||||
HOMEPAGE="https://www.threadingbuildingblocks.org"
|
||||
SRC_URI="https://github.com/oneapi-src/oneTBB/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/oneTBB-${PV}"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
# https://github.com/oneapi-src/oneTBB/blob/master/CMakeLists.txt#L53
|
||||
# libtbb<SONAME>-libtbbmalloc<SONAME>-libtbbbind<SONAME>
|
||||
SLOT="0/12-2-3"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="sys-apps/hwloc:="
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-lto.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DTBB_TEST=$(usex test)
|
||||
-DTBB_ENABLE_IPO=OFF
|
||||
-DTBB_STRICT=OFF
|
||||
)
|
||||
|
||||
cmake-multilib_src_configure
|
||||
}
|
Binary file not shown.
@ -1,56 +0,0 @@
|
||||
diff --git a/src/mongo/SConscript b/src/mongo/SConscript
|
||||
index 8acf5469..737c31d4 100644
|
||||
--- a/src/mongo/SConscript
|
||||
+++ b/src/mongo/SConscript
|
||||
@@ -834,43 +834,6 @@ for full_dir, archive_dir in list(env["ARCHIVE_ADDITION_DIR_MAP"].items()):
|
||||
for target in env["DIST_BINARIES"]:
|
||||
installBinary(env, "db/modules/" + target)
|
||||
|
||||
-compass_type = 'compass'
|
||||
-
|
||||
-compass_script = "install_compass.in"
|
||||
-if env.TargetOSIs('windows'):
|
||||
- compass_script = "Install-Compass.ps1.in"
|
||||
-
|
||||
-compass_python_interpreter = '/usr/bin/env python2'
|
||||
-if env.TargetOSIs('darwin'):
|
||||
- compass_python_interpreter = '/usr/bin/env python'
|
||||
-
|
||||
-compass_installer = env.Substfile(
|
||||
- target="$BUILD_DIR/mongo/installer/compass/" + compass_script[:-3],
|
||||
- source='installer/compass/' + compass_script,
|
||||
- SUBST_DICT=[
|
||||
- ('@compass_type@', compass_type),
|
||||
- ('@python_interpreter@', compass_python_interpreter),
|
||||
- ],
|
||||
-)
|
||||
-
|
||||
-distBinaries.append(compass_installer)
|
||||
-
|
||||
-if not hygienic:
|
||||
- compass_script_installer = env.Install("$DESTDIR/bin", compass_installer)
|
||||
-else:
|
||||
- compass_script_installer = env.AutoInstall(
|
||||
- target='$PREFIX_BINDIR',
|
||||
- source=[
|
||||
- compass_installer,
|
||||
- ],
|
||||
- AIB_COMPONENT='dist',
|
||||
- AIB_ROLE='runtime',
|
||||
- )
|
||||
-
|
||||
-if env.TargetOSIs('posix'):
|
||||
- env.AddPostAction( compass_script_installer, 'chmod 755 $TARGET' )
|
||||
- env.AddPostAction( compass_installer, 'chmod 755 $TARGET' )
|
||||
-
|
||||
if not hygienic:
|
||||
server_archive = env.Command(
|
||||
target='#/${SERVER_ARCHIVE}',
|
||||
@@ -884,7 +847,6 @@ if not hygienic:
|
||||
'--transform $BUILD_DIR/mongo/stripped/db/modules/enterprise=$SERVER_DIST_BASENAME/bin',
|
||||
'--transform $BUILD_DIR/mongo/stripped=$SERVER_DIST_BASENAME/bin',
|
||||
'--transform $BUILD_DIR/mongo=$SERVER_DIST_BASENAME/bin',
|
||||
- '--transform src/mongo/installer/compass=$SERVER_DIST_BASENAME/bin',
|
||||
'${TEMPFILE(SOURCES[1:])}'
|
||||
],
|
||||
),
|
@ -1,12 +0,0 @@
|
||||
diff --git a/src/third_party/unwind/SConscript b/src/third_party/unwind/SConscript
|
||||
index ed947c8e..7308956f 100644
|
||||
--- a/src/third_party/unwind/SConscript
|
||||
+++ b/src/third_party/unwind/SConscript
|
||||
@@ -90,6 +90,7 @@ if env['TARGET_ARCH'] == 'aarch64':
|
||||
|
||||
env.Append(
|
||||
CCFLAGS=[
|
||||
+ '-fcommon',
|
||||
'-fexceptions',
|
||||
'-Wno-unused-result',
|
||||
'-Wno-unused-value',
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,85 @@
|
||||
# Copyright 2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit go-module
|
||||
|
||||
DESCRIPTION="The ABS programing language"
|
||||
HOMEPAGE="https://github.com/abs-lang/abs https://www.abs-lang.org/"
|
||||
|
||||
EGO_SUM=(
|
||||
"github.com/c-bata/go-prompt v0.2.4-0.20190826134812-0f95e1d1de2e"
|
||||
"github.com/c-bata/go-prompt v0.2.4-0.20190826134812-0f95e1d1de2e/go.mod"
|
||||
"github.com/iancoleman/strcase v0.0.0-20191112232945-16388991a334"
|
||||
"github.com/iancoleman/strcase v0.0.0-20191112232945-16388991a334/go.mod"
|
||||
"github.com/iancoleman/strcase v0.1.0"
|
||||
"github.com/iancoleman/strcase v0.1.0/go.mod"
|
||||
"github.com/jteeuwen/go-bindata v3.0.7+incompatible"
|
||||
"github.com/jteeuwen/go-bindata v3.0.7+incompatible/go.mod"
|
||||
"github.com/mattn/go-colorable v0.0.9/go.mod"
|
||||
"github.com/mattn/go-colorable v0.1.4/go.mod"
|
||||
"github.com/mattn/go-colorable v0.1.6"
|
||||
"github.com/mattn/go-colorable v0.1.6/go.mod"
|
||||
"github.com/mattn/go-colorable v0.1.7"
|
||||
"github.com/mattn/go-colorable v0.1.7/go.mod"
|
||||
"github.com/mattn/go-isatty v0.0.3/go.mod"
|
||||
"github.com/mattn/go-isatty v0.0.8/go.mod"
|
||||
"github.com/mattn/go-isatty v0.0.10/go.mod"
|
||||
"github.com/mattn/go-isatty v0.0.12"
|
||||
"github.com/mattn/go-isatty v0.0.12/go.mod"
|
||||
"github.com/mattn/go-runewidth v0.0.3/go.mod"
|
||||
"github.com/mattn/go-runewidth v0.0.6/go.mod"
|
||||
"github.com/mattn/go-runewidth v0.0.9"
|
||||
"github.com/mattn/go-runewidth v0.0.9/go.mod"
|
||||
"github.com/mattn/go-tty v0.0.0-20180219170247-931426f7535a/go.mod"
|
||||
"github.com/mattn/go-tty v0.0.3"
|
||||
"github.com/mattn/go-tty v0.0.3/go.mod"
|
||||
"github.com/pkg/term v0.0.0-20180423043932-cda20d4ac917/go.mod"
|
||||
"github.com/pkg/term v0.0.0-20190109203006-aa71e9d9e942"
|
||||
"github.com/pkg/term v0.0.0-20190109203006-aa71e9d9e942/go.mod"
|
||||
"github.com/pkg/term v0.0.0-20200520122047-c3ffed290a03"
|
||||
"github.com/pkg/term v0.0.0-20200520122047-c3ffed290a03/go.mod"
|
||||
"golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
|
||||
"golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59"
|
||||
"golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod"
|
||||
"golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a"
|
||||
"golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod"
|
||||
"golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
|
||||
"golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod"
|
||||
"golang.org/x/sys v0.0.0-20180620133508-ad87a3a340fa/go.mod"
|
||||
"golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
|
||||
"golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod"
|
||||
"golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod"
|
||||
"golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod"
|
||||
"golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod"
|
||||
"golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod"
|
||||
"golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod"
|
||||
"golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd"
|
||||
"golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod"
|
||||
"golang.org/x/sys v0.0.0-20200824131525-c12d262b63d8"
|
||||
"golang.org/x/sys v0.0.0-20200824131525-c12d262b63d8/go.mod"
|
||||
"golang.org/x/text v0.3.0/go.mod"
|
||||
)
|
||||
go-module_set_globals
|
||||
SRC_URI="https://github.com/abs-lang/abs/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
|
||||
${EGO_SUM_SRC_URI}"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
RESTRICT+=" test"
|
||||
|
||||
src_prepare() {
|
||||
sed -e "s:^var Version = \"dev\"\$:var Version = \"${PV}\":" -i main.go || die
|
||||
default
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
CGO_ENABLED=0 emake build_simple || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin builds/abs
|
||||
dodoc README.md
|
||||
}
|
@ -1,2 +1 @@
|
||||
DIST bff-1.0.5.tar.gz 4833 BLAKE2B 9e3b44da9cd001552119e25764b171c86027755583f79a13b1d1035ecbab134df0aa31234c1479370599dd56a76a7f1c67eff61d2c1189430bab6a9a22f629d8 SHA512 78e481f6f371421ce6f046041fe6d48be2e11000ddda82f60244c0100665469c4aff4f151d297bb533140d723f68d5a3844e0c29a256b022ac93cafbd2abe9fd
|
||||
DIST bff-1.0.7.tar.gz 5121 BLAKE2B 581cac5c20742811d9c848d59833256c2c72f08f256ad0b061723b7bb57efa64b0873ae8011323f53dbecd21e61d8d1610b393a4f0a3695508ee4b607fa541db SHA512 8ab43671ea02d59db291b338f4323aba2879318539efbd249883ef241295a12f3d3e55bcb4b0ad6e3f886a044eec0bfcecf526b70c81099afdf89320babfee6d
|
||||
|
@ -1,36 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
DESCRIPTION="A brainfuck interpreter"
|
||||
HOMEPAGE="https://github.com/apankrat/bff"
|
||||
SRC_URI="https://github.com/apankrat/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm ~ia64 ~m68k ppc ppc64 ~s390 x86"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND=""
|
||||
|
||||
src_compile() {
|
||||
# Makefile is not nice
|
||||
emake -f /dev/null CC="$(tc-getCC)" bff
|
||||
}
|
||||
|
||||
src_test() {
|
||||
ebegin "Running mandelbrot test"
|
||||
./bff samples/mandelbrot.b > mandelbrot.out
|
||||
eend $? || die
|
||||
md5sum -c <<< '5024283fa65866ddd347b877798e84d8 mandelbrot.out' \
|
||||
&& cat mandelbrot.out \
|
||||
|| die "mandelbrot did not output correctly"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin bff
|
||||
}
|
@ -0,0 +1,347 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
WANT_LIBTOOL="none"
|
||||
|
||||
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \
|
||||
python-utils-r1 toolchain-funcs verify-sig
|
||||
|
||||
MY_PV=${PV/_alpha/a}
|
||||
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/"
|
||||
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 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
IUSE="bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +xml"
|
||||
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:=
|
||||
dev-libs/libffi:=
|
||||
sys-apps/util-linux:=
|
||||
>=sys-libs/zlib-1.1.3:=
|
||||
virtual/libcrypt:=
|
||||
virtual/libintl
|
||||
gdbm? ( sys-libs/gdbm:=[berkdb] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
readline? ( >=sys-libs/readline-4.1:= )
|
||||
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
|
||||
)
|
||||
xml? ( >=dev-libs/expat-2.1:= )
|
||||
!!<sys-apps/sandbox-2.21"
|
||||
# bluetooth requires headers from bluez
|
||||
DEPEND="${RDEPEND}
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
test? ( app-arch/xz-utils[extra-filters(+)] )"
|
||||
# autoconf-archive needed to eautoreconf
|
||||
BDEPEND="
|
||||
sys-devel/autoconf-archive
|
||||
virtual/awk
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( app-crypt/openpgp-keys-python )
|
||||
!sys-devel/gcc[libffi(-)]"
|
||||
RDEPEND+=" !build? ( app-misc/mime-types )"
|
||||
|
||||
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
|
||||
|
||||
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, libffi and zlib are not used.
|
||||
rm -fr Modules/expat || die
|
||||
rm -fr Modules/_ctypes/libffi* || die
|
||||
rm -fr Modules/zlib || die
|
||||
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
|
||||
setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
|
||||
|
||||
# force correct number of jobs
|
||||
# https://bugs.gentoo.org/737660
|
||||
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
|
||||
sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
|
||||
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local disable
|
||||
# disable automagic bluetooth headers detection
|
||||
use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
|
||||
use gdbm || disable+=" gdbm"
|
||||
use ncurses || disable+=" _curses _curses_panel"
|
||||
use readline || disable+=" readline"
|
||||
use sqlite || disable+=" _sqlite3"
|
||||
use ssl || export PYTHON_DISABLE_SSL="1"
|
||||
use tk || disable+=" _tkinter"
|
||||
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
|
||||
export PYTHON_DISABLE_MODULES="${disable}"
|
||||
|
||||
if ! use xml; then
|
||||
ewarn "You have configured Python without XML support."
|
||||
ewarn "This is NOT a recommended configuration as you"
|
||||
ewarn "may face problems parsing any XML documents."
|
||||
fi
|
||||
|
||||
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
|
||||
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
|
||||
fi
|
||||
|
||||
if [[ "$(gcc-major-version)" -ge 4 ]]; then
|
||||
append-flags -fwrapv
|
||||
fi
|
||||
|
||||
filter-flags -malign-double
|
||||
|
||||
# https://bugs.gentoo.org/show_bug.cgi?id=50309
|
||||
if is-flagq -O3; then
|
||||
is-flagq -fstack-protector-all && replace-flags -O3 -O2
|
||||
use hardened && replace-flags -O3 -O2
|
||||
fi
|
||||
|
||||
# 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.
|
||||
tc-export CXX
|
||||
|
||||
# Fix implicit declarations on cross and prefix builds. Bug #674070.
|
||||
use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
|
||||
|
||||
local dbmliborder
|
||||
if use gdbm; then
|
||||
dbmliborder+="${dbmliborder:+:}gdbm"
|
||||
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-system-ffi
|
||||
)
|
||||
|
||||
OPT="" 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
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Ensure sed works as expected
|
||||
# https://bugs.gentoo.org/594768
|
||||
local -x LC_ALL=C
|
||||
|
||||
emake CPPFLAGS= CFLAGS= LDFLAGS=
|
||||
|
||||
# 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
|
||||
|
||||
# Skip failing tests.
|
||||
local skipped_tests="gdb"
|
||||
|
||||
for test in ${skipped_tests}; do
|
||||
mv "${S}"/Lib/test/test_${test}.py "${T}"
|
||||
done
|
||||
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
# workaround https://bugs.gentoo.org/775416
|
||||
addwrite /usr/lib/python3.10/site-packages
|
||||
|
||||
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
|
||||
|
||||
emake test EXTRATESTOPTS="-u-network -j${jobs}" \
|
||||
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
|
||||
local result=$?
|
||||
|
||||
for test in ${skipped_tests}; do
|
||||
mv "${T}/test_${test}.py" "${S}"/Lib/test
|
||||
done
|
||||
|
||||
elog "The following tests have been skipped:"
|
||||
for test in ${skipped_tests}; do
|
||||
elog "test_${test}.py"
|
||||
done
|
||||
|
||||
elog "If you would like to run them, you may:"
|
||||
elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
|
||||
elog "and run the tests separately."
|
||||
|
||||
if [[ ${result} -ne 0 ]]; then
|
||||
die "emake test failed"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local libdir=${ED}/usr/lib/python${PYVER}
|
||||
|
||||
emake DESTDIR="${D}" altinstall
|
||||
|
||||
sed \
|
||||
-e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
|
||||
-e "s/\(PY_LDFLAGS=\).*/\1/" \
|
||||
-i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
|
||||
|
||||
# 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
|
||||
|
||||
use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
|
||||
use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || 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 "${S}"/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"
|
||||
|
||||
local -x EPYTHON=python${PYVER}
|
||||
# if not using a cross-compiler, use the fresh binary
|
||||
if ! tc-is-cross-compiler; then
|
||||
local -x PYTHON=./python
|
||||
local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
|
||||
else
|
||||
local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
|
||||
fi
|
||||
|
||||
echo "EPYTHON='${EPYTHON}'" > epython.py || die
|
||||
python_domodule epython.py
|
||||
|
||||
# python-exec wrapping support
|
||||
local pymajor=${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
|
||||
}
|
@ -0,0 +1,199 @@
|
||||
# Copyright 2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
CRATES="
|
||||
Inflector-0.11.4
|
||||
ahash-0.7.6
|
||||
aho-corasick-0.7.18
|
||||
annotate-snippets-0.9.0
|
||||
ansi_term-0.11.0
|
||||
anyhow-1.0.41
|
||||
ascii-canvas-3.0.0
|
||||
atty-0.2.14
|
||||
autocfg-1.0.1
|
||||
base64-0.11.0
|
||||
beef-0.4.4
|
||||
bitflags-1.2.1
|
||||
bit-set-0.5.2
|
||||
bit-vec-0.6.3
|
||||
bstr-0.2.16
|
||||
bumpalo-3.7.0
|
||||
cast-0.2.6
|
||||
cc-1.0.68
|
||||
cfg-if-0.1.10
|
||||
cfg-if-1.0.0
|
||||
clap-2.33.3
|
||||
convert_case-0.4.0
|
||||
criterion-0.3.4
|
||||
criterion-plot-0.4.3
|
||||
crossbeam-channel-0.4.4
|
||||
crossbeam-channel-0.5.1
|
||||
crossbeam-deque-0.8.0
|
||||
crossbeam-epoch-0.9.5
|
||||
crossbeam-utils-0.7.2
|
||||
crossbeam-utils-0.8.5
|
||||
crunchy-0.2.2
|
||||
csv-1.1.6
|
||||
csv-core-0.1.10
|
||||
debugserver-types-0.5.0
|
||||
derivative-2.2.0
|
||||
derive_more-0.99.14
|
||||
diff-0.1.12
|
||||
dirs-next-2.0.0
|
||||
dirs-sys-next-0.1.2
|
||||
either-1.6.1
|
||||
ena-0.14.0
|
||||
fixedbitset-0.2.0
|
||||
fnv-1.0.7
|
||||
form_urlencoded-1.0.1
|
||||
fs2-0.4.3
|
||||
gazebo-0.2.1
|
||||
gazebo-0.4.1
|
||||
gazebo_derive-0.1.1
|
||||
gazebo_derive-0.4.1
|
||||
getrandom-0.2.3
|
||||
half-1.7.1
|
||||
hashbrown-0.9.1
|
||||
hashbrown-0.11.2
|
||||
heck-0.3.3
|
||||
hermit-abi-0.1.18
|
||||
idna-0.2.3
|
||||
indexmap-1.6.2
|
||||
itertools-0.9.0
|
||||
itertools-0.10.1
|
||||
itoa-0.4.7
|
||||
js-sys-0.3.51
|
||||
lalrpop-0.19.6
|
||||
lalrpop-util-0.19.6
|
||||
lazy_static-1.4.0
|
||||
libc-0.2.97
|
||||
logos-0.11.4
|
||||
logos-derive-0.11.5
|
||||
log-0.4.14
|
||||
lsp-server-0.5.0
|
||||
lsp-types-0.89.0
|
||||
maplit-1.0.2
|
||||
matches-0.1.8
|
||||
maybe-uninit-2.0.0
|
||||
memchr-2.4.0
|
||||
memoffset-0.6.4
|
||||
new_debug_unreachable-1.0.4
|
||||
nix-0.19.1
|
||||
num-traits-0.2.14
|
||||
num_cpus-1.13.0
|
||||
once_cell-1.8.0
|
||||
oorandom-11.1.3
|
||||
paste-1.0.5
|
||||
percent-encoding-2.1.0
|
||||
pest-2.1.3
|
||||
petgraph-0.5.1
|
||||
phf_shared-0.8.0
|
||||
pico-args-0.4.2
|
||||
plotters-0.3.1
|
||||
plotters-backend-0.3.0
|
||||
plotters-svg-0.3.0
|
||||
precomputed-hash-0.1.1
|
||||
proc-macro2-1.0.27
|
||||
proc-macro-error-1.0.4
|
||||
proc-macro-error-attr-1.0.4
|
||||
quote-1.0.9
|
||||
rayon-1.5.1
|
||||
rayon-core-1.9.1
|
||||
redox_syscall-0.2.9
|
||||
redox_users-0.4.0
|
||||
regex-1.5.4
|
||||
regex-automata-0.1.10
|
||||
regex-syntax-0.6.25
|
||||
rustc_version-0.3.3
|
||||
rustversion-1.0.5
|
||||
rustyline-7.1.0
|
||||
ryu-1.0.5
|
||||
same-file-1.0.6
|
||||
schemafy-0.5.2
|
||||
schemafy_core-0.5.2
|
||||
schemafy_lib-0.5.2
|
||||
scopeguard-1.1.0
|
||||
semver-0.11.0
|
||||
semver-parser-0.10.2
|
||||
serde-1.0.126
|
||||
serde_cbor-0.11.1
|
||||
serde_derive-1.0.126
|
||||
serde_json-1.0.64
|
||||
serde_repr-0.1.7
|
||||
siphasher-0.3.5
|
||||
smawk-0.3.1
|
||||
starlark-0.4.0
|
||||
starlark_module-0.4.0
|
||||
static_assertions-1.1.0
|
||||
string_cache-0.8.1
|
||||
strsim-0.8.0
|
||||
structopt-0.3.21
|
||||
structopt-derive-0.4.14
|
||||
syn-1.0.73
|
||||
term-0.7.0
|
||||
textwrap-0.11.0
|
||||
textwrap-0.14.2
|
||||
thiserror-1.0.25
|
||||
thiserror-impl-1.0.25
|
||||
tinytemplate-1.2.1
|
||||
tinyvec-1.2.0
|
||||
tinyvec_macros-0.1.0
|
||||
tiny-keccak-2.0.2
|
||||
ucd-trie-0.1.3
|
||||
unicode-bidi-0.3.5
|
||||
unicode-linebreak-0.1.2
|
||||
unicode-normalization-0.1.19
|
||||
unicode-segmentation-1.7.1
|
||||
unicode-width-0.1.8
|
||||
unicode-xid-0.2.2
|
||||
url-2.2.2
|
||||
utf8parse-0.2.0
|
||||
utf8-ranges-1.0.4
|
||||
vec_map-0.8.2
|
||||
version_check-0.9.3
|
||||
void-1.0.2
|
||||
walkdir-2.3.2
|
||||
wasi-0.10.2+wasi-snapshot-preview1
|
||||
wasm-bindgen-0.2.74
|
||||
wasm-bindgen-backend-0.2.74
|
||||
wasm-bindgen-macro-0.2.74
|
||||
wasm-bindgen-macro-support-0.2.74
|
||||
wasm-bindgen-shared-0.2.74
|
||||
web-sys-0.3.51
|
||||
winapi-0.3.9
|
||||
winapi-i686-pc-windows-gnu-0.4.0
|
||||
winapi-util-0.1.5
|
||||
winapi-x86_64-pc-windows-gnu-0.4.0
|
||||
yansi-term-0.1.2
|
||||
"
|
||||
|
||||
inherit cargo
|
||||
|
||||
DESCRIPTION="A Rust implementation of the Starlark language"
|
||||
HOMEPAGE="https://github.com/facebookexperimental/starlark-rust"
|
||||
SRC_URI="$(cargo_crate_uris ${CRATES})
|
||||
https://github.com/facebookexperimental/starlark-rust/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
# Nightly rust-1.53.0 required for https://bugs.gentoo.org/796824
|
||||
BDEPEND="${RUST_DEPEND}
|
||||
>=dev-lang/rust-1.53.0[nightly]"
|
||||
|
||||
# RUSTFLAGS support needed: https://bugs.gentoo.org/796887
|
||||
QA_FLAGS_IGNORED=".*"
|
||||
|
||||
src_test() {
|
||||
source "${FILESDIR}/test/features.bash" || die
|
||||
test-features_main "${PWD}/target/release/starlark" || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin target/release/starlark
|
||||
ln "${ED}/usr/bin/starlark"{,-rust} || die
|
||||
dodoc -r {docs,{CHANGELOG,README}.md}
|
||||
}
|
Binary file not shown.
@ -0,0 +1,49 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
inherit flag-o-matic
|
||||
|
||||
DESCRIPTION="C++ library offering some basic functionality for platform-independent programs"
|
||||
HOMEPAGE="https://lib.filezilla-project.org/"
|
||||
SRC_URI="https://download.filezilla-project.org/${PN}/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0/22" # libfilezilla.so version
|
||||
KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86"
|
||||
IUSE="test"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/nettle:0=
|
||||
>=net-libs/gnutls-3.5.7:=
|
||||
virtual/libcrypt:=
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
test? ( dev-util/cppunit )"
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ ${MERGE_TYPE} != binary ]]; then
|
||||
if ! test-flag-CXX -std=c++14; then
|
||||
eerror "${P} requires C++14-capable C++ compiler. Your current compiler"
|
||||
eerror "does not seem to support -std=c++14 option. Please upgrade your compiler"
|
||||
eerror "to gcc-4.9 or an equivalent version supporting C++14."
|
||||
die "Currently active compiler does not support -std=c++14"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
if use ppc || use arm || use hppa; then
|
||||
# bug 727652
|
||||
append-libs -latomic
|
||||
fi
|
||||
|
||||
econf --disable-static
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
find "${ED}" -type f -name "*.la" -delete || die
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST libpcre2-10.36-patchset-01.tar.xz 1364 BLAKE2B bfef3c876a092e06972107b44794c23b758a030181f3040c8b722db166789eac794783169b468fc71334fd660bc2f1c31422a8cb8e5bdc18a69b72654b1b59b2 SHA512 04324d1efa6d155fa3ffbc328638e4674bea305fef7f57d4369ab4a6399a0f489b4c0ecfb49643feff310d91872e1673e965c48a5c60f1bf54a319f0d275c306
|
||||
DIST pcre2-10.37.tar.bz2 1729384 BLAKE2B b4e56041010d7f44e84a63a17b35e87329d258107d8b27ccead10f51e7deacc93cbee64a22c71b9f0b8f244920b3a22fa4d9b786ec441a428e0ad0bb8535773e SHA512 69f4bf4736b986e0fc855eedb292efe72a0df2e803bc0e61a6cf47775eed433bb1b2f28d7e641591ef4603d47beb543a64ed0eef9538d00f0746bc3435c143ec
|
||||
DIST pcre2-10.38.tar.bz2 1729078 BLAKE2B 9438ff2422afaa83d5a4b2e64d5897068c35add28d66956431f9937191416d6df4903ecf35af72c788480d7def08e0ce17922e9b036698ce1bbe6cacbb799df2 SHA512 3634cb2db6ccba9720c1b69890bcd9eb7057f6a6cb6981f12b3f2d6b2bb4e75e4e5014f566045f9ba1b79edf01fa5c4d81eb333727b9462e843dfb70f3a58f95
|
||||
DIST pcre2-10.39.tar.bz2 1730729 BLAKE2B 9ee01ac2704e9cb7a107d402fa0c32828fc66425b62270f6891667bde5fb00c1e779c9730df3522acbd62d11703343bf48265050c09d3754183de314baf7cddd SHA512 b3d898198f4b5ffc3453d2ba56fe2a7298c01c52e5f67d45f1e046fc0dee62e16a4024fcb65839ac9c367beedb531647affd6f8599fbeb102f19423c150d80d4
|
||||
|
@ -0,0 +1,95 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit libtool multilib-minimal usr-ldscript
|
||||
|
||||
PATCH_SET="${PN}-10.36-patchset-01.tar.xz"
|
||||
|
||||
DESCRIPTION="Perl-compatible regular expression library"
|
||||
HOMEPAGE="https://www.pcre.org/"
|
||||
MY_P="pcre2-${PV/_rc/-RC}"
|
||||
if [[ ${PV} != *_rc* ]] ; then
|
||||
# Only the final releases are available here.
|
||||
SRC_URI="mirror://sourceforge/pcre/${MY_P}.tar.bz2
|
||||
https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2
|
||||
https://github.com/PhilipHazel/pcre2/releases/download/${MY_P}/${MY_P}.tar.bz2"
|
||||
else
|
||||
SRC_URI="https://ftp.pcre.org/pub/pcre/Testing/${MY_P}.tar.bz2"
|
||||
fi
|
||||
|
||||
if [[ -n "${PATCH_SET}" ]] ; then
|
||||
SRC_URI+=" https://dev.gentoo.org/~whissi/dist/${PN}/${PATCH_SET}
|
||||
https://dev.gentoo.org/~polynomial-c/dist/${PATCH_SET}"
|
||||
fi
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/3" # libpcre2-posix.so version
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="bzip2 +jit libedit +pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
|
||||
REQUIRED_USE="?? ( libedit readline )"
|
||||
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
userland_GNU? ( >=sys-apps/findutils-4.4.0 )
|
||||
"
|
||||
RDEPEND="
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
libedit? ( dev-libs/libedit )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
zlib? ( sys-libs/zlib )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/pcre2-config
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
if [[ -d "${WORKDIR}/patches" ]] ; then
|
||||
rm "${WORKDIR}"/patches/pcre2-10.36-001-issue2698.patch || die
|
||||
eapply "${WORKDIR}"/patches
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
elibtoolize
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myeconfargs=(
|
||||
--enable-pcre2-8
|
||||
--enable-shared
|
||||
--with-match-limit-depth=$(usex recursion-limit 8192 MATCH_LIMIT)
|
||||
$(multilib_native_use_enable bzip2 pcre2grep-libbz2)
|
||||
$(multilib_native_use_enable libedit pcre2test-libedit)
|
||||
$(multilib_native_use_enable readline pcre2test-libreadline)
|
||||
$(multilib_native_use_enable zlib pcre2grep-libz)
|
||||
$(use_enable jit)
|
||||
$(use_enable jit pcre2grep-jit)
|
||||
$(use_enable pcre16 pcre2-16)
|
||||
$(use_enable pcre32 pcre2-32)
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable unicode)
|
||||
)
|
||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
$(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
|
||||
install
|
||||
multilib_is_native_abi && gen_usr_ldscript -a pcre2-posix
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
find "${ED}" -type f -name "*.la" -delete || die
|
||||
}
|
@ -0,0 +1 @@
|
||||
DIST mimalloc-1.7.2.tar.gz 903317 BLAKE2B 6983a575c8e3a9ee92acc0042bc229805b7090794de6e693ff1cc344cd50e333d46f23663fbd16647ae4442b28f24bdc2043b46ed2bc16e13c3f8def08b155bb SHA512 5d78c5cc00dfff3dd7eb4bb59e8eff32397f5110d1183b4656cb56c40b88e2e648e3b18338119412b95ba9526937b16fce3aa4732f241a61a546e2bcea1efc9d
|
@ -0,0 +1,29 @@
|
||||
https://github.com/microsoft/mimalloc/pull/463
|
||||
|
||||
From: Yaroslav Syrytsia <me@ys.lc>
|
||||
Date: Tue, 28 Sep 2021 20:34:56 +0300
|
||||
Subject: [PATCH] cmake: removed hardcoded names for top level configuration
|
||||
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -24,6 +24,7 @@ option(MI_DEBUG_UBSAN "Build with undefined-behavior sanitizer (needs clan
|
||||
option(MI_CHECK_FULL "Use full internal invariant checking in DEBUG mode (deprecated, use MI_DEBUG_FULL instead)" OFF)
|
||||
option(MI_INSTALL_TOPLEVEL "Install directly into $CMAKE_INSTALL_PREFIX instead of PREFIX/lib/mimalloc-version" OFF)
|
||||
|
||||
+include(GNUInstallDirs)
|
||||
include("cmake/mimalloc-config-version.cmake")
|
||||
|
||||
set(mi_sources
|
||||
@@ -208,9 +209,9 @@ endif()
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
if (MI_INSTALL_TOPLEVEL)
|
||||
- set(mi_install_libdir "lib")
|
||||
- set(mi_install_incdir "include")
|
||||
- set(mi_install_cmakedir "cmake")
|
||||
+ set(mi_install_libdir "${CMAKE_INSTALL_LIBDIR}")
|
||||
+ set(mi_install_incdir "${CMAKE_INSTALL_INCLUDEDIR}")
|
||||
+ set(mi_install_cmakedir "${CMAKE_INSTALL_LIBDIR}/cmake/mimalloc")
|
||||
else()
|
||||
set(mi_install_libdir "lib/mimalloc-${mi_version}")
|
||||
set(mi_install_incdir "include/mimalloc-${mi_version}")
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM 'http://www.gentoo.org/dtd/metadata.dtd'>
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>sam@gentoo.org</email>
|
||||
<name>Sam James</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">microsoft/mimalloc</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -0,0 +1,32 @@
|
||||
# Copyright 2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit cmake
|
||||
|
||||
DESCRIPTION="mimalloc is a compact general purpose allocator with excellent performance"
|
||||
HOMEPAGE="https://github.com/microsoft/mimalloc"
|
||||
SRC_URI="https://github.com/microsoft/mimalloc/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0/1"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.7.2-GNUInstallDirs.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
# TODO: build hardened variant?
|
||||
#-DMI_SECURE=$(usex hardened)
|
||||
|
||||
-DMI_INSTALL_TOPLEVEL=ON
|
||||
-DMI_BUILD_TESTS=$(usex test)
|
||||
)
|
||||
|
||||
cmake_src_configure
|
||||
}
|
Binary file not shown.
@ -1,11 +0,0 @@
|
||||
diff -ruN Crypt-Cracklib-1.7.orig/Makefile.PL Crypt-Cracklib-1.7/Makefile.PL
|
||||
--- Crypt-Cracklib-1.7.orig/Makefile.PL 2019-10-16 05:55:37.321262001 +0200
|
||||
+++ Crypt-Cracklib-1.7/Makefile.PL 2019-10-16 05:56:38.585611172 +0200
|
||||
@@ -15,7 +15,6 @@
|
||||
requires_external_cc();
|
||||
|
||||
cc_lib_links('crack');
|
||||
-cc_optimize_flags('-g -Wall -Werror');
|
||||
|
||||
auto_install();
|
||||
WriteAll();
|
@ -1,252 +0,0 @@
|
||||
From b110ec2277ba33e0935f3d465a5413f669d8aefc Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
|
||||
Date: Tue, 11 Oct 2016 16:15:43 +0200
|
||||
Subject: [PATCH] Port to OpenSSL 1.1.0
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
OpenSSL 1.1.0 hid ECDSA structure internals and provided methods
|
||||
instead.
|
||||
|
||||
This patch uses the methods and provides their copies in the case of
|
||||
older OpenSSL. Because the new OpenSSL API, ECDSA_SIG_set0(), cannot
|
||||
set curve parameters individually and ECDSA_SIG_get0() returns yet
|
||||
another reference, it's necessary to duplicate the other unchanged
|
||||
paramater when calling set_r() or set_s().
|
||||
|
||||
This patch also stops exporting ECDSA_METHOD functions that were
|
||||
removed from the new OpenSSL.
|
||||
|
||||
CPAN RT#118330
|
||||
|
||||
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
||||
---
|
||||
ECDSA.xs | 105 ++++++++++++++++++++++++++++++++++++++++--------
|
||||
t/Crypt-OpenSSL-ECDSA.t | 13 +++++-
|
||||
2 files changed, 100 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/ECDSA.xs b/ECDSA.xs
|
||||
index 4016368..3d6e2d1 100644
|
||||
--- a/ECDSA.xs
|
||||
+++ b/ECDSA.xs
|
||||
@@ -7,9 +7,35 @@
|
||||
|
||||
#include <openssl/ecdsa.h>
|
||||
#include <openssl/err.h>
|
||||
+#include <openssl/bn.h>
|
||||
|
||||
#include "const-c.inc"
|
||||
|
||||
+
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
|
||||
+#include <openssl/ec.h>
|
||||
+#else
|
||||
+/* ECDSA_SIG_get0() and ECDSA_SIG_set0() copied from OpenSSL 1.1.0b. */
|
||||
+static void ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr,
|
||||
+ const BIGNUM **ps) {
|
||||
+ if (pr != NULL)
|
||||
+ *pr = sig->r;
|
||||
+ if (ps != NULL)
|
||||
+ *ps = sig->s;
|
||||
+}
|
||||
+
|
||||
+static int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s)
|
||||
+{
|
||||
+ if (r == NULL || s == NULL)
|
||||
+ return 0;
|
||||
+ BN_clear_free(sig->r);
|
||||
+ BN_clear_free(sig->s);
|
||||
+ sig->r = r;
|
||||
+ sig->s = s;
|
||||
+ return 1;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
MODULE = Crypt::OpenSSL::ECDSA PACKAGE = Crypt::OpenSSL::ECDSA
|
||||
|
||||
PROTOTYPES: ENABLE
|
||||
@@ -17,7 +43,9 @@ INCLUDE: const-xs.inc
|
||||
|
||||
BOOT:
|
||||
ERR_load_crypto_strings();
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
ERR_load_ECDSA_strings();
|
||||
+#endif
|
||||
|
||||
#ECDSA_SIG *
|
||||
#ECDSA_SIG_new()
|
||||
@@ -61,10 +89,16 @@ ECDSA_do_verify(const unsigned char *dgst, const ECDSA_SIG *sig, EC_KEY* eckey);
|
||||
OUTPUT:
|
||||
RETVAL
|
||||
|
||||
-# These ECDSA_METHOD functions only became available in 1.0.2
|
||||
+# These ECDSA_METHOD functions only became available in 1.0.2,
|
||||
+# but some of them removed again in 1.1.0.
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10002000L
|
||||
|
||||
+int
|
||||
+ECDSA_size(const EC_KEY *eckey)
|
||||
+
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+
|
||||
const ECDSA_METHOD *
|
||||
ECDSA_OpenSSL()
|
||||
|
||||
@@ -77,9 +111,6 @@ ECDSA_get_default_method()
|
||||
int
|
||||
ECDSA_set_method(EC_KEY *eckey, const ECDSA_METHOD *meth)
|
||||
|
||||
-int
|
||||
-ECDSA_size(const EC_KEY *eckey)
|
||||
-
|
||||
ECDSA_METHOD *
|
||||
ECDSA_METHOD_new(ECDSA_METHOD *ecdsa_method=0)
|
||||
|
||||
@@ -95,7 +126,7 @@ ECDSA_METHOD_set_name(ECDSA_METHOD *ecdsa_method, char *name)
|
||||
void
|
||||
ERR_load_ECDSA_strings()
|
||||
|
||||
-
|
||||
+#endif
|
||||
#endif
|
||||
|
||||
|
||||
@@ -135,11 +166,13 @@ SV *
|
||||
get_r(ecdsa_sig)
|
||||
ECDSA_SIG *ecdsa_sig
|
||||
PREINIT:
|
||||
+ const BIGNUM *r;
|
||||
unsigned char *to;
|
||||
STRLEN len;
|
||||
CODE:
|
||||
to = malloc(sizeof(char) * 128);
|
||||
- len = BN_bn2bin(ecdsa_sig->r, to);
|
||||
+ ECDSA_SIG_get0(ecdsa_sig, &r, NULL);
|
||||
+ len = BN_bn2bin(r, to);
|
||||
RETVAL = newSVpvn((const char*)to, len);
|
||||
free(to);
|
||||
OUTPUT:
|
||||
@@ -149,11 +182,13 @@ SV *
|
||||
get_s(ecdsa_sig)
|
||||
ECDSA_SIG *ecdsa_sig
|
||||
PREINIT:
|
||||
+ const BIGNUM *s;
|
||||
unsigned char *to;
|
||||
STRLEN len;
|
||||
CODE:
|
||||
to = malloc(sizeof(char) * 128);
|
||||
- len = BN_bn2bin(ecdsa_sig->s, to);
|
||||
+ ECDSA_SIG_get0(ecdsa_sig, NULL, &s);
|
||||
+ len = BN_bn2bin(s, to);
|
||||
RETVAL = newSVpvn((const char*)to, len);
|
||||
free(to);
|
||||
OUTPUT:
|
||||
@@ -164,26 +199,62 @@ set_r(ecdsa_sig, r_SV)
|
||||
ECDSA_SIG *ecdsa_sig
|
||||
SV * r_SV
|
||||
PREINIT:
|
||||
- char *s;
|
||||
+ char *string;
|
||||
STRLEN len;
|
||||
+ BIGNUM *r;
|
||||
+ BIGNUM *s;
|
||||
+ const BIGNUM *old_s;
|
||||
CODE:
|
||||
- s = SvPV(r_SV, len);
|
||||
- if (ecdsa_sig->r)
|
||||
- BN_free(ecdsa_sig->r);
|
||||
- ecdsa_sig->r = BN_bin2bn((const unsigned char *)s, len, NULL);
|
||||
+ string = SvPV(r_SV, len);
|
||||
+ r = BN_bin2bn((const unsigned char *)string, len, NULL);
|
||||
+ if (NULL == r)
|
||||
+ croak("Could not convert ECDSA parameter string to big number");
|
||||
+ ECDSA_SIG_get0(ecdsa_sig, NULL, &old_s);
|
||||
+ if (NULL == old_s) {
|
||||
+ s = BN_new();
|
||||
+ } else {
|
||||
+ s = BN_dup(old_s);
|
||||
+ }
|
||||
+ if (NULL == s) {
|
||||
+ BN_free(r);
|
||||
+ croak("Could not duplicate unchanged ECDSA parameter");
|
||||
+ }
|
||||
+ if (!ECDSA_SIG_set0(ecdsa_sig, r, s)) {
|
||||
+ BN_free(r);
|
||||
+ BN_free(s);
|
||||
+ croak("Could not store ECDSA parameters");
|
||||
+ }
|
||||
|
||||
void
|
||||
set_s(ecdsa_sig, s_SV)
|
||||
ECDSA_SIG *ecdsa_sig
|
||||
SV * s_SV
|
||||
PREINIT:
|
||||
- char *s;
|
||||
+ char *string;
|
||||
STRLEN len;
|
||||
+ BIGNUM *r;
|
||||
+ BIGNUM *s;
|
||||
+ const BIGNUM *old_r;
|
||||
CODE:
|
||||
- s = SvPV(s_SV, len);
|
||||
- if (ecdsa_sig->s)
|
||||
- BN_free(ecdsa_sig->s);
|
||||
- ecdsa_sig->s = BN_bin2bn((const unsigned char *)s, len, NULL);
|
||||
+ string = SvPV(s_SV, len);
|
||||
+ s = BN_bin2bn((const unsigned char *)string, len, NULL);
|
||||
+ if (NULL == s)
|
||||
+ croak("Could not convert ECDSA parameter string to big number");
|
||||
+ ECDSA_SIG_get0(ecdsa_sig, &old_r, NULL);
|
||||
+ if (NULL == old_r) {
|
||||
+ r = BN_new();
|
||||
+ } else {
|
||||
+ r = BN_dup(old_r);
|
||||
+ }
|
||||
+ if (NULL == r) {
|
||||
+ BN_free(s);
|
||||
+ croak("Could not duplicate unchanged ECDSA parameter");
|
||||
+ }
|
||||
+ if (!ECDSA_SIG_set0(ecdsa_sig, r, s)) {
|
||||
+ BN_free(r);
|
||||
+ BN_free(s);
|
||||
+ croak("Could not store ECDSA parameters");
|
||||
+ }
|
||||
|
||||
|
||||
|
||||
diff --git a/t/Crypt-OpenSSL-ECDSA.t b/t/Crypt-OpenSSL-ECDSA.t
|
||||
index 7ab584f..3c02025 100644
|
||||
--- a/t/Crypt-OpenSSL-ECDSA.t
|
||||
+++ b/t/Crypt-OpenSSL-ECDSA.t
|
||||
@@ -6,7 +6,7 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
-use Test::More tests => 21;
|
||||
+use Test::More tests => 25;
|
||||
BEGIN { use_ok('Crypt::OpenSSL::ECDSA'); use_ok('Crypt::OpenSSL::EC'); };
|
||||
|
||||
|
||||
@@ -77,6 +77,17 @@ $ret = Crypt::OpenSSL::ECDSA::ECDSA_do_verify($digest, $sig, $key);
|
||||
ok($ret);
|
||||
undef $sig;
|
||||
|
||||
+# Test a signature can be built from scratch
|
||||
+$sig = Crypt::OpenSSL::ECDSA::ECDSA_SIG->new();
|
||||
+ok($sig, 'Empty Crypt::OpenSSL::ECDSA::ECDSA_SIG object created');
|
||||
+eval { $sig->set_r($r); };
|
||||
+ok(!$@, 'R parameter set');
|
||||
+eval { $sig->set_s($s); };
|
||||
+ok(!$@, 'S parameter set');
|
||||
+$ret = Crypt::OpenSSL::ECDSA::ECDSA_do_verify($digest, $sig, $key);
|
||||
+ok($ret, 'built-from-scratch signature matches');
|
||||
+undef $sig;
|
||||
+
|
||||
# Testing signing and verifying with the _ex version
|
||||
my $dummy = 0;
|
||||
$sig = Crypt::OpenSSL::ECDSA::ECDSA_do_sign_ex($digest, \$dummy, \$dummy, $key);
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,32 +0,0 @@
|
||||
From 0906d6c153b3bedad2a91a19e8441b9633070e10 Mon Sep 17 00:00:00 2001
|
||||
From: Kent Fredric <kentfredric@gmail.com>
|
||||
Date: Sun, 11 Jun 2017 15:29:53 +1200
|
||||
Subject: [PATCH] Fix tab/tables.pl for Perl 5.26
|
||||
|
||||
Removal of "." from @INC means require $PATH no longer ever assumes
|
||||
a path relative to ".", and instead must be explicitly stated with a
|
||||
leading "./"
|
||||
|
||||
Fixes RT#120087
|
||||
|
||||
Bug: https://rt.cpan.org/Ticket/Display.html?id=120087
|
||||
---
|
||||
tab/tables.pl | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tab/tables.pl b/tab/tables.pl
|
||||
index 2aa0c66..7bed411 100644
|
||||
--- a/tab/tables.pl
|
||||
+++ b/tab/tables.pl
|
||||
@@ -3,7 +3,7 @@
|
||||
# Copyright 2001 Abhijit Menon-Sen <ams@wiw.org>
|
||||
|
||||
use strict;
|
||||
-require 'tab/misc.pl';
|
||||
+require './tab/misc.pl';
|
||||
|
||||
my ($qtab, $mtab) = ([], []);
|
||||
|
||||
--
|
||||
2.13.1
|
||||
|
@ -1,59 +0,0 @@
|
||||
From 7b70e4169faf4e2ec0fe570b02190e71bc168377 Mon Sep 17 00:00:00 2001
|
||||
From: Kent Fredric <kentnl@gentoo.org>
|
||||
Date: Tue, 10 Oct 2017 08:15:54 +1300
|
||||
Subject: Rename installed script to '.pl'
|
||||
|
||||
Note: this must not happen in dist-root, or EUMM will also install this
|
||||
as $INC[0]/Data/hexdump.pl
|
||||
|
||||
Bug: https://rt.cpan.org/Ticket/Display.html?id=123224
|
||||
---
|
||||
MANIFEST | 2 +-
|
||||
Makefile.PL | 2 +-
|
||||
hexdump => bin/hexdump.pl | 2 +-
|
||||
3 files changed, 3 insertions(+), 3 deletions(-)
|
||||
rename hexdump => bin/hexdump.pl (95%)
|
||||
|
||||
diff --git a/MANIFEST b/MANIFEST
|
||||
index 2e0843a..2f0c98b 100644
|
||||
--- a/MANIFEST
|
||||
+++ b/MANIFEST
|
||||
@@ -2,7 +2,7 @@ MANIFEST
|
||||
MANIFEST.SKIP
|
||||
Makefile.PL
|
||||
README
|
||||
-hexdump
|
||||
+bin/hexdump.pl
|
||||
lib/Data/HexDump.pm
|
||||
t/compare.t
|
||||
t/data.t
|
||||
diff --git a/Makefile.PL b/Makefile.PL
|
||||
index 0ee62bf..091fa9d 100644
|
||||
--- a/Makefile.PL
|
||||
+++ b/Makefile.PL
|
||||
@@ -6,5 +6,5 @@ WriteMakefile(NAME => "Data::HexDump",
|
||||
VERSION_FROM => "lib/Data/HexDump.pm",
|
||||
dist => { COMPRESS => "gzip", SUFFIX => "gz" },
|
||||
clean => { FILES => '*.bak *.old mibs/*.dump lib/*/*~' },
|
||||
- EXE_FILES => [ qw(hexdump) ],
|
||||
+ EXE_FILES => [ qw(bin/hexdump.pl) ],
|
||||
);
|
||||
diff --git a/hexdump b/bin/hexdump.pl
|
||||
similarity index 95%
|
||||
rename from hexdump
|
||||
rename to bin/hexdump.pl
|
||||
index a2e28a1..9f86cd8 100755
|
||||
--- a/hexdump
|
||||
+++ b/bin/hexdump.pl
|
||||
@@ -5,7 +5,7 @@ use strict;
|
||||
use Data::HexDump;
|
||||
use FileHandle;
|
||||
|
||||
-my $prgname = "hexdump";
|
||||
+my $prgname = "hexdump.pl";
|
||||
my $file = shift;
|
||||
my $fh;
|
||||
|
||||
--
|
||||
2.14.1
|
||||
|
@ -1,28 +0,0 @@
|
||||
From 36f61caaa95340817098b8b9f6631c9f2060a292 Mon Sep 17 00:00:00 2001
|
||||
From: Kent Fredric <kentnl@gentoo.org>
|
||||
Date: Tue, 10 Oct 2017 08:17:01 +1300
|
||||
Subject: Remove 'use lib lib'
|
||||
|
||||
There's no sense in blindly adding lib based on wherever you currently
|
||||
are to an installed program, its just a security problem asking to be
|
||||
invented.
|
||||
|
||||
Bug: https://rt.cpan.org/Ticket/Display.html?id=123225
|
||||
---
|
||||
bin/hexdump.pl | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/bin/hexdump.pl b/bin/hexdump.pl
|
||||
index 9f86cd8..1ce8962 100755
|
||||
--- a/bin/hexdump.pl
|
||||
+++ b/bin/hexdump.pl
|
||||
@@ -1,6 +1,5 @@
|
||||
#!/usr/bin/perl -w
|
||||
|
||||
-use lib "lib";
|
||||
use strict;
|
||||
use Data::HexDump;
|
||||
use FileHandle;
|
||||
--
|
||||
2.14.1
|
||||
|
@ -1,28 +0,0 @@
|
||||
From 1eec10393fbf1123327858d127e1f6d9e50f5a85 Mon Sep 17 00:00:00 2001
|
||||
From: Kent Fredric <kentnl@gentoo.org>
|
||||
Date: Tue, 10 Oct 2017 08:17:59 +1300
|
||||
Subject: Don't use signed characters for 0-255
|
||||
|
||||
'c' == -127 to 127
|
||||
|
||||
Bug: https://rt.cpan.org/Ticket/Display.html?id=123226
|
||||
---
|
||||
t/compare.t | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/t/compare.t b/t/compare.t
|
||||
index f03d73d..3c25803 100644
|
||||
--- a/t/compare.t
|
||||
+++ b/t/compare.t
|
||||
@@ -11,7 +11,7 @@ print "1..2\n";
|
||||
# data
|
||||
my $org = "";
|
||||
for (my $i = 0; $i <= 255; $i++) {
|
||||
- $org .= pack 'c', $i;
|
||||
+ $org .= pack 'C', $i;
|
||||
}
|
||||
$org = $org x 17 . "more data";
|
||||
|
||||
--
|
||||
2.14.1
|
||||
|
@ -0,0 +1,19 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DIST_AUTHOR=TMTM
|
||||
DIST_VERSION=1.41
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="work with a range of dates"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-perl/Date-Simple-0.30.0
|
||||
"
|
||||
BDEPEND="${RDEPEND}
|
||||
"
|
@ -0,0 +1 @@
|
||||
DIST Date-Range-1.41.tar.gz 4779 BLAKE2B c2fe77acc3cfcff577bb4b139d24400b266e77afe905d3b63b4b3ea17c25074a5fa75421a959ad87a2ab51fe3469ecb7c498767aa3b2492d545a274327a7fc65 SHA512 452672d6050805c0a5743d49e278925df8d2d44b3f2ffc5c69dc6520ae4cbf54847baa905a35290375bb200bf3c74a2a862c54bcd57ee9ef0f513e3ccdc07f93
|
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>perl@gentoo.org</email>
|
||||
<name>Gentoo Perl Project</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -1,37 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
DIST_AUTHOR=ETHER
|
||||
DIST_VERSION=0.11
|
||||
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Install shared files"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
PERL_RM_FILES=( "Build.PL" ) # Using MBTiny is stupid this high up
|
||||
RDEPEND="
|
||||
virtual/perl-Carp
|
||||
virtual/perl-Exporter
|
||||
virtual/perl-File-Spec
|
||||
virtual/perl-IO
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/perl-ExtUtils-MakeMaker
|
||||
test? (
|
||||
virtual/perl-File-Path
|
||||
virtual/perl-Module-Metadata
|
||||
virtual/perl-Test-Simple
|
||||
)
|
||||
"
|
||||
DIST_TEST="do" # RT#111296
|
||||
|
||||
src_prepare() {
|
||||
PERL_MM_FALLBACK_SILENCE_WARNING=1 perl-module_src_prepare
|
||||
}
|
@ -1,2 +1 @@
|
||||
DIST File-ShareDir-Install-0.11.tar.gz 31187 BLAKE2B 4be6bd829fc9b2784069ba3ee8f54fadd390e3bd003d43a7754f3469fc14c01a5587044f045abe806688ed4442088256264d983ccf4080caec8b8062912e2acf SHA512 6611f6c3221ec52db7582f30b2159dba22ca8d899666526c069298b3350ced9e3b46872baaceb30f7a27e3c744c929ca4967fa820d14bbfdb41e5ed5485a9f72
|
||||
DIST File-ShareDir-Install-0.13.tar.gz 31191 BLAKE2B 53bde507e8fcd0c75030bd977bc6a55d6da810c99102269e46042ebe3873d8fbb224d967cafa87dee4bd02ca18b968f525129986bf7204f84251d7f86f0588b3 SHA512 a119e38491fad8ae0ebd95913e3b608e09a2b99376a5160e75083a28abe4f83c4f6a36df216365527ff87bf8ec095254b16a2f6d2515c69f34609df8672605ca
|
||||
|
@ -1,31 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
DIST_AUTHOR=CAPOEIRAB
|
||||
DIST_VERSION=9999.27
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Simple and Efficient Reading/Writing/Modifying of Complete Files"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
virtual/perl-Carp
|
||||
>=virtual/perl-Exporter-5.570.0
|
||||
>=virtual/perl-File-Spec-3.10.0
|
||||
virtual/perl-File-Temp
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
test? (
|
||||
>=virtual/perl-Scalar-List-Utils-1.0.0
|
||||
virtual/perl-Socket
|
||||
virtual/perl-Test-Simple
|
||||
)
|
||||
"
|
||||
|
||||
mydoc="extras/slurp_article.pod"
|
@ -1,2 +1 @@
|
||||
DIST File-Slurp-9999.27.tar.gz 37734 BLAKE2B 2e2589b834e1092a869a9527395d9ed589f0dafac99b13ca3e802c4bf159ebc55f7b28284a13effdcbd476b7c7d7727a9b25735dc9f9b1711a9ec63444d44888 SHA512 24a5e2b93f7fda65cbdf0e54687de3af511cfd3909dcf4c79610882bf4f119afdf2bd60de28fcb8d9155b94a29ca4f901e28930a810949e490ba1c584d7a6ee0
|
||||
DIST File-Slurp-9999.32.tar.gz 34574 BLAKE2B d75d7253945908328124ef46f53d86fba7ba0751e87ae493f071b03844d17b969371d1b26fddbc94f4b788475b09b5ee76c3d2c0b6f1c0c64959da0be95dd0f0 SHA512 413337e0257e95e8e8d2aabf684bec81e746000a741809935b058490b8c42b494064f724e618b250330d8bb67a0a7a2a5adad17e3e6c96d4b193531a192a4d56
|
||||
|
@ -1,22 +1,20 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EAPI=8
|
||||
|
||||
DIST_AUTHOR=MGRABNAR
|
||||
DIST_VERSION=1.3
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Perl extension for reading from continously updated files"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
>=virtual/perl-Time-HiRes-1.120.0
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
BDEPEND="${RDEPEND}
|
||||
virtual/perl-ExtUtils-MakeMaker
|
||||
"
|
||||
|
@ -1,17 +1,15 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EAPI=8
|
||||
|
||||
DIST_AUTHOR=FTASSIN
|
||||
DIST_VERSION=0.05
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Disk space information"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~ppc sparc x86"
|
||||
IUSE=""
|
||||
|
||||
src_test() {
|
||||
#https://rt.cpan.org/Ticket/Display.html?id=108971
|
@ -1,25 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=MIYAGAWA
|
||||
MODULE_VERSION=0.12
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Simple and dumb file system watcher"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 ~ia64 ppc ppc64 sparc x86"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="dev-perl/Filter"
|
||||
DEPEND="
|
||||
test? (
|
||||
${RDEPEND}
|
||||
dev-perl/Test-SharedFork
|
||||
)
|
||||
"
|
||||
|
||||
SRC_TEST=do
|
@ -1,2 +1 @@
|
||||
DIST Filesys-Notify-Simple-0.12.tar.gz 12935 BLAKE2B 835e45ca61fe7e624b5e14df16d897a56c8f108cc17a9002a8192f01f46a4542a9a6dce5c75ddce40323db87713cf1ddb59b8300be096bc1e8d195bc1436b4ee SHA512 3edb9a5087b82c87bea1b4092a3c7c264ec6f8da391052593e504b16392ea1a84771bbcbad21d623f727682cc6ab4474fe6a7e346c8bebe13f60d39e83594e2b
|
||||
DIST Filesys-Notify-Simple-0.14.tar.gz 13429 BLAKE2B 303b1576f1f98fe016ad31e435683cc7535f3f0270c358a6ca5878d9872c792f2ead8aaa737f915bc27a605146a3f78353c8b5301da300448afa3f26bf7c709f SHA512 45fe097beb925e913af9c48704f5f550931c70673455258249127dff27abe1955e0e968f37c7c0f4c798a20be78b1055362c69ec2906e8e2633b21f68b198208
|
||||
|
@ -1,23 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
DIST_AUTHOR=RURBAN
|
||||
DIST_VERSION=1.57
|
||||
DIST_EXAMPLES=("examples/*")
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Interface for creation of Perl Filters"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="
|
||||
virtual/perl-ExtUtils-MakeMaker
|
||||
"
|
||||
src_test() {
|
||||
perl_rm_files t/z_*.t
|
||||
perl-module_src_test
|
||||
}
|
@ -1,2 +1 @@
|
||||
DIST Filter-1.57.tar.gz 92255 BLAKE2B 33eaa676892f189e8e6ad8a86bd1a3769c3f7db08b65b7d0b349a884be44f1e098dc15c5c178406575c3c553af79a5c5ad6dbb58d0a5768eb96c81b378dfc050 SHA512 6e0fe52ace85b329a73a79522a8227b64017701c9949d89271257bc6c50c263074084a50c500a3250959617707261ea71abd2432678c0741f4ad713e03ddefec
|
||||
DIST Filter-1.60.tar.gz 95351 BLAKE2B ac7a53644e4423a5b34432f11a9354ff5ee9cbf56a3d790d86ec7ef2c5dc7468d6ef793b4c23b8258c8b8aba74198700c0b8800bdfdfea9fb890b6c78be20e80 SHA512 be6ecb9d37c8384de34e842e1e46a24c43592cb1995178ef7a100ef8b028e506d26c044ae9fd1e4672344cbc2dae06b9136b27eced5470cfce683017129cf248
|
||||
|
@ -1,2 +1,2 @@
|
||||
DIST Finance-Quote-1.47.tar.gz 270335 BLAKE2B 585ab3736b7ea448b083f4dbbed460ac442fb30285041b7b0bf2a52d6b2d533a8d1eb1d9bfa72cc1cd7a3d4664d2cb5104eb539ecd6b1042083548b8ef605333 SHA512 a900ed3e305edb8c713dc4a885b912ad9a9f873cb501d66d393a39aacd8a980af1bd4fb0fdf5bce8e2b2aeec744e811b861a2803a6fb0d5c71ab6b8d1c3a57f7
|
||||
DIST Finance-Quote-1.49.tar.gz 274659 BLAKE2B 1fb4523a576960b48b855807945ef79bb18f68c82c5cf8eece8dcea910c3bc2669dd07e635d74cd0a85639d9eff27337687faf5a4fc213bedde4ee720d6e6149 SHA512 5b4b8836e1529409f1f6aa41345bf906ba2cc1c1b44e89b59765a883cf0db082cef9df91a4eaa671e494f5e9a842c4e1fbfcc31e57964d74f7895f3e25c4d91c
|
||||
DIST Finance-Quote-1.51.tar.gz 231156 BLAKE2B 5472e19863a752fd9c610fccf0b6a383f441c89d88ad50fea50fe3067294ba8463b0367b52da3fa471fa7df3944ab4f23d4624644fb52a27c9f0a335beebc6d4 SHA512 163b87b9905fb5d2becbb1de285a180c98328295b6f3ba6ddc2148993303e00bad751505add47fc540b203fd24b4c9385bb7a8c7ef67b97e3bad5f1e90ea6218
|
||||
|
@ -0,0 +1,23 @@
|
||||
# Copyright 2020-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DIST_AUTHOR=CORION
|
||||
DIST_VERSION=0.25
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="CSS Selector to XPath compiler"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
RDEPEND="
|
||||
virtual/perl-Carp
|
||||
virtual/perl-Exporter
|
||||
"
|
||||
BDEPEND="${RDEPEND}
|
||||
virtual/perl-ExtUtils-MakeMaker
|
||||
test? (
|
||||
virtual/perl-Encode
|
||||
)
|
||||
"
|
@ -0,0 +1 @@
|
||||
DIST HTML-Selector-XPath-0.25.tar.gz 32420 BLAKE2B 81eee33c711b1b4a6f6dd7d05baa916bc0c559ffb5ef16d93d24c72289a22ee6cc8d4d3222d7f930d197aa9be4d000ec2d1f7cb355fe52b5e0cb0e81a0843d52 SHA512 91430ae4898908c65ee2c527fd589fed16ac2699af028a51949c6fe2a7c84552dfdd370ad35a0fea4564914b1799b65efbf7025ace0fd9aa06e47081ce9b3bc8
|
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>perl@gentoo.org</email>
|
||||
<name>Gentoo Perl Project</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -0,0 +1,22 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DIST_AUTHOR=MIROD
|
||||
DIST_VERSION=0.14
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="add XPath support to HTML::TreeBuilder"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
RDEPEND="
|
||||
dev-perl/HTML-Tree
|
||||
virtual/perl-Scalar-List-Utils
|
||||
>=dev-perl/XML-XPathEngine-0.120.0
|
||||
"
|
||||
BDEPEND="${RDEPEND}
|
||||
virtual/perl-ExtUtils-MakeMaker
|
||||
"
|
@ -0,0 +1 @@
|
||||
DIST HTML-TreeBuilder-XPath-0.14.tar.gz 10486 BLAKE2B 736fea2897ed43fe9ec451e4619b9f6462d49e5f542bc5eb7aa4bfd7b35ca2ba407d0053ea6be014a54897acf295326aed1e1936dd49d42aaab1dd6e965c7150 SHA512 36d68ff08e4cac37e0d596fdcc7c1e84ba4fbecd23f41fccbce43e223750d35a1a7d51a3456397e3037c286fa093c3cd7dd825a07ea90a0c69ed6545ace4b727
|
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>perl@gentoo.org</email>
|
||||
<name>Gentoo Perl Project</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue