Sync with portage [Mon Mar 1 10:10:45 MSK 2021].

akrasnyh 1895
Calculate Linux 3 years ago
parent 3a1299f6df
commit a23f7c45b7

Binary file not shown.

Binary file not shown.

@ -9,10 +9,6 @@
<email>patrick@gentoo.org</email>
<name>Patrick Lauer</name>
</maintainer>
<maintainer type="person">
<email>kentnl@gentoo.org</email>
<name>Kent Fredric</name>
</maintainer>
<upstream>
<remote-id type="github">RexOps/Rex</remote-id>
<remote-id type="cpan">Rex</remote-id>

Binary file not shown.

@ -1,4 +1,4 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -34,7 +34,7 @@ LICENSE="Apache-1.1 Apache-2.0 JDOM BSD-2 CC-PD Boost-1.0 MIT CPL-1.0 HPND Exola
|| ( BSD GPL-2+ ) gSOAP libpng tsm"
SLOT="0"
KEYWORDS="-* ~amd64"
KEYWORDS="-* amd64"
IUSE="acl java +tsm-cit +tsm-hw"
QA_PREBUILT="*"

@ -1,240 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit versionator multilib eutils readme.gentoo-r1 rpm systemd pax-utils
DESCRIPTION="IBM Spectrum Protect (former Tivoli Storage Manager) Backup/Archive Client, API"
HOMEPAGE="https://www.ibm.com/us-en/marketplace/data-protection-and-recovery"
MY_PV_MAJOR=$(get_major_version)
MY_PV_MINOR=$(get_version_component_range 2)
MY_PV_TINY=$(get_version_component_range 3)
MY_PV_PATCH=$(get_version_component_range 4)
MY_PV_NODOTS="${MY_PV_MAJOR}${MY_PV_MINOR}${MY_PV_TINY}"
MY_PVR_ALLDOTS=${PV}
if [[ ${MY_PV_PATCH} == 0 ]]; then
MY_RELEASE_PATH=maintenance
else
MY_RELEASE_PATH=patches
fi
BASE_URI="ftp://ftp.software.ibm.com/storage/tivoli-storage-management/"
BASE_URI+="${MY_RELEASE_PATH}/client/v${MY_PV_MAJOR}r${MY_PV_MINOR}/"
BASE_URI+="Linux/LinuxX86/BA/v${MY_PV_NODOTS}/"
SRC_TAR="${MY_PVR_ALLDOTS}-TIV-TSMBAC-LinuxX86.tar"
SRC_URI="${BASE_URI}${SRC_TAR}"
RESTRICT="strip" # Breaks libPiIMG.so and libPiSNAP.so
LICENSE="Apache-1.1 Apache-2.0 JDOM BSD-2 CC-PD Boost-1.0 MIT CPL-1.0 HPND Exolab
dom4j EPL-1.0 FTL icu unicode IBM Info-ZIP LGPL-2 LGPL-2.1 openafs-krb5-a
ZLIB MPL-1.0 MPL-1.1 NPL-1.1 openssl OPENLDAP RSA public-domain W3C
|| ( BSD GPL-2+ ) gSOAP libpng tsm"
SLOT="0"
KEYWORDS="-* amd64"
IUSE="acl java +tsm-cit +tsm-hw"
QA_PREBUILT="*"
# not available (yet?)
#MY_LANGS="cs:CS_CZ de:DE_DE es:ES_ES fr:FR_FR hu:HU_HU it:IT_IT ja:JA_JP
# ko:KO_KR pl:PL_PL pt-BR:PT_BR ru:RU_RU zh-CN:ZH_CN zh-TW:ZH_TW"
MY_LANG_PV="${MY_PVR_ALLDOTS}-"
for lang in ${MY_LANGS}; do
IUSE="${IUSE} l10n_${lang%:*}"
SRC_URI="${SRC_URI} l10n_${lang%:*}? ( \
${BASE_URI}TIVsm-msg.${lang#*:}.x86_64.rpm -> \
${MY_LANG_PV}TIVsm-msg.${lang#*:}.x86_64.rpm )"
done
unset lang
DEPEND="
acct-group/tsm
"
RDEPEND="
acct-group/tsm
dev-libs/expat
dev-libs/libxml2
sys-fs/fuse:0
acl? ( sys-apps/acl )
java? ( >=virtual/jre-1.7 )
"
S="${WORKDIR}/bacli"
pkg_setup() {
DOC_CONTENTS="
Note that you have to be root to be able to use the Tivoli Storage Manager
client. The dsmtca trusted agent binary does not exist anymore.
For information on how to give other users access, please see the following
URLs:
https://www.ibm.com/support/knowledgecenter/SSGSG7_7.1.8/client/c_cfg_nonadmin.html#c_macuninst_nonadmin
https://www.ibm.com/support/knowledgecenter/SSGSG7_7.1.8/client/c_secure_pwd.html#c_secure_pwd__sec_no_tca
"
}
src_unpack() {
local rpm rpms lang
mkdir bacli || die
cd bacli || die
unpack ${SRC_TAR}
cd "${S}"
for rpm in *.rpm; do
case ${rpm} in
TIVsm-APIcit.*|TIVsm-BAcit.*)
use tsm-cit && rpms="${rpms} ./${rpm}"
;;
TIVsm-BAhdw.*)
use tsm-hw && rpms="${rpms} ./${rpm}"
;;
TIVsm-JBB.*|*-filepath-*)
# "journal based backup" for all filesystems
# requires a kernel module.
# "Linux Filepath source code" available
# by request from vendor
;;
*)
rpms="${rpms} ./${rpm}"
;;
esac
done
for rpm in ${A}; do
case ${rpm} in
*.rpm)
rpms="${rpms} ${rpm}"
;;
esac
done
rpm_unpack ${rpms}
# Avoid strange error messages caused by read-only files
chmod -R u+w "${S}" || die
}
src_install() {
cp -a opt "${D}" || die
cp -a usr "${D}" || die
# The RPM files contain postinstall scripts which can be extracted
# e.g. using https://bugs.gentoo.org/attachment.cgi?id=234663 .
# Below we try to mimic the behaviour of these scripts.
# We don't deal with SELinux compliance (yet), though.
local RPM_INSTALL_PREFIX CLIENTDIR i
RPM_INSTALL_PREFIX=/opt
CLIENTDIR=$RPM_INSTALL_PREFIX/tivoli/tsm/client
# Create links for messages; this is spread over several postin scripts.
#for i in $(cd "${D}"${CLIENTDIR}/lang; ls -1d ??_??); do
# dosym ../../lang/${i} $CLIENTDIR/ba/bin/${i}
# dosym ../../lang/${i} $CLIENTDIR/api/bin64/${i}
#done
# Mimic TIVsm-API64 postinstall script
for i in libgpfs.so libdmapi.so; do
dosym ../..$CLIENTDIR/api/bin64/${i} /usr/lib64/${i}
done
# The TIVsm-BA postinstall script only does messages and ancient upgrades
# The gscrypt64 postinstall script only deals with s390[x] SELinux
# and the symlink for the iccs library which we handle in the loop below.
# Move stuff from /usr/local to /opt, #452332
mv "${D}"/usr/local/ibm "${D}"/opt/ || die
rmdir "${D}"/usr/local || die
# Mimic gskssl64 postinstall script
for i in sys p11 km ssl drld kicc ldap cms acmeidup valn dbfl iccs; do
dosym ../../opt/ibm/gsk8_64/lib64/libgsk8${i}_64.so \
/usr/lib64/libgsk8${i}_64.so
done
for i in capicmd ver; do
dosym ../../opt/ibm/gsk8_64/bin/gsk8${i}_64 /usr/bin/gsk${i}_64
done
# Done with the postinstall scripts as the RPMs contain them.
# Now on to some more Gentoo-specific installation.
[[ -d "${D}usr/lib" ]] && die "Using 32bit lib dir in 64bit only system"
# Avoid "QA Notice: Found an absolute symlink in a library directory"
local target
find "${D}"usr/lib* -lname '/*' | while read i; do
target=$(readlink "${i}")
rm -v "${i}" || die
dosym "../..${target}" "${i#${D}}"
done
keepdir /var/log/tsm
insinto /etc/logrotate.d
newins "${FILESDIR}/tsm.logrotate" tsm
keepdir /etc/tivoli
cp -a "${S}/opt/tivoli/tsm/client/ba/bin/dsm.sys.smp" "${D}/etc/tivoli/dsm.sys" || die
echo ' PasswordDir "/etc/tivoli/"' >> ${D}/etc/tivoli/dsm.sys
echo ' PasswordAccess generate' >> ${D}/etc/tivoli/dsm.sys
# Added the hostname to be more friendly, the admin will need to edit this file anyway
echo ' NodeName' `hostname` >> ${D}/etc/tivoli/dsm.sys
echo ' ErrorLogName "/var/log/tsm/dsmerror.log"' >> ${D}/etc/tivoli/dsm.sys
echo ' SchedLogName "/var/log/tsm/dsmsched.log"' >> ${D}/etc/tivoli/dsm.sys
dosym ../../../../../../etc/tivoli/dsm.sys /opt/tivoli/tsm/client/ba/bin/dsm.sys
cp -a "${S}/opt/tivoli/tsm/client/ba/bin/dsm.opt.smp" "${D}/etc/tivoli/dsm.opt"
dosym ../../../../../../etc/tivoli/dsm.opt /opt/tivoli/tsm/client/ba/bin/dsm.opt
# Setup the env
dodir /etc/env.d
ENV_FILE="${D}/etc/env.d/80tivoli"
echo 'DSM_CONFIG="/etc/tivoli/dsm.opt"' >> ${ENV_FILE}
echo 'DSM_DIR="/opt/tivoli/tsm/client/ba/bin"' >> ${ENV_FILE}
echo 'DSM_LOG="/var/log/tsm"' >> ${ENV_FILE}
echo 'ROOTPATH="/opt/tivoli/tsm/client/ba/bin"' >> ${ENV_FILE}
echo 'SEARCH_DIRS_MASK="/opt/tivoli/tsm/client/ba/bin"' > "${T}/80${PN}" || die
insinto "/etc/revdep-rebuild"
doins "${T}/80${PN}"
newconfd "${FILESDIR}/dsmc.conf.d" dsmc
newinitd "${FILESDIR}/dsmc.init.d" dsmc
newinitd "${FILESDIR}/dsmcad.init.d-r1" dsmcad
# Need this for hardened, otherwise a cryptic "connection to server lost" message appears
pax-mark -m "${D}/opt/tivoli/tsm/client/ba/bin/dsmc"
systemd_dounit "${FILESDIR}/dsmc.service"
systemd_dounit "${FILESDIR}/dsmcad.service"
readme.gentoo_create_doc
}
pkg_postinst() {
local i dirs
for i in /var/log/tsm/dsm{error,sched,j,webcl}.log; do
if [[ ! -e $i ]]; then
touch $i || die
chown :tsm $i || die
chmod 0660 $i || die
fi
done
# Bug #375041: the log directory itself should not be world writable.
# Have to do this in postinst due to bug #141619
chown root:tsm /var/log/tsm || die
chmod 0750 /var/log/tsm || die
# Bug 508052: directories used to be too restrictive, have to widen perms.
dirs=( /opt/tivoli $(find /opt/tivoli/tsm -type d) )
chown root:root "${dirs[@]}" || die
chmod 0755 "${dirs[@]}" || die
FORCE_PRINT_ELOG=1
DISABLE_AUTOFORMATTING=1
readme.gentoo_print_elog
}

Binary file not shown.

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

@ -0,0 +1,860 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
PYTHON_COMPAT=( python3_{7,8,9} )
PYTHON_REQ_USE="ncurses,readline"
FIRMWARE_ABI_VERSION="4.0.0-r50"
inherit eutils linux-info toolchain-funcs multilib python-r1 \
udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils
if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="https://git.qemu.org/git/qemu.git"
EGIT_SUBMODULES=(
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="http://www.qemu.org http://www.linux-kvm.org"
LICENSE="GPL-2 LGPL-2 BSD-2"
SLOT="0"
IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug doc
+fdt glusterfs gnutls gtk infiniband iscsi 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 mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus
tilegx"
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
RESTRICT="!test? ( test )"
# Allow no targets to be built so that people can get a tools-only build.
# Block USE flag configurations known to not work.
REQUIRED_USE="${PYTHON_REQUIRED_USE}
qemu_softmmu_targets_arm? ( fdt )
qemu_softmmu_targets_microblaze? ( fdt )
qemu_softmmu_targets_mips64el? ( fdt )
qemu_softmmu_targets_ppc64? ( fdt )
qemu_softmmu_targets_ppc? ( fdt )
qemu_softmmu_targets_riscv32? ( fdt )
qemu_softmmu_targets_riscv64? ( fdt )
static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy )
static-user? ( !plugins )
vhost-user-fs? ( caps seccomp )
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(+)] )
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:0=[unicode]
sys-libs/ncurses:0=[static-libs(+)]
)
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
numa? ( sys-process/numactl[static-libs(+)] )
opengl? (
virtual/opengl
media-libs/libepoxy[static-libs(+)]
media-libs/mesa[static-libs(+)]
media-libs/mesa[egl,gbm]
)
png? ( media-libs/libpng:0=[static-libs(+)] )
pulseaudio? ( media-sound/pulseaudio )
rbd? ( sys-cluster/ceph )
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
sdl? (
media-libs/libsdl2[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[static-libs(+)] )
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
vde? ( net-misc/vde[static-libs(+)] )
virgl? ( media-libs/virglrenderer[static-libs(+)] )
virtfs? ( sys-libs/libcap )
xen? ( app-emulation/xen-tools:= )
xfs? ( sys-fs/xfsprogs[static-libs(+)] )
zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
"
X86_FIRMWARE_DEPEND="
pin-upstream-blobs? (
~sys-firmware/edk2-ovmf-201905[binary]
~sys-firmware/ipxe-1.0.0_p20190728[binary,qemu]
~sys-firmware/seabios-1.12.0[binary,seavgabios]
~sys-firmware/sgabios-0.1_pre8[binary]
)
!pin-upstream-blobs? (
sys-firmware/edk2-ovmf
sys-firmware/ipxe[qemu]
>=sys-firmware/seabios-1.10.2[seavgabios]
sys-firmware/sgabios
)"
PPC_FIRMWARE_DEPEND="
pin-upstream-blobs? (
~sys-firmware/seabios-1.12.0[binary,seavgabios]
)
!pin-upstream-blobs? (
>=sys-firmware/seabios-1.10.2[seavgabios]
)
"
BDEPEND="
$(python_gen_impl_dep)
dev-lang/perl
sys-apps/texinfo
virtual/pkgconfig
doc? ( dev-python/sphinx )
gtk? ( nls? ( sys-devel/gettext ) )
test? (
dev-libs/glib[utils]
sys-devel/bc
)
"
CDEPEND="
!static? (
${ALL_DEPEND//\[static-libs(+)]}
${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
)
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
qemu_softmmu_targets_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-cleaner-werror.patch
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
"${FILESDIR}"/${PN}-5.2.0-strings.patch
"${FILESDIR}"/${PN}-5.2.0-fix-firmware-path.patch
"${FILESDIR}"/${PN}-5.2.0-no-pie-ld.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 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_notuser 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
# 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
}

@ -722,7 +722,7 @@ src_install() {
[[ -e check-report.html ]] && dodoc check-report.html
if use kernel_linux; then
udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules
udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules
fi
if use python; then

Binary file not shown.

@ -1 +1,2 @@
DIST eselect-repository-8.tar.gz 6774 BLAKE2B d22c2befc744e21b7619a490e9c41f1052c4077135ba5247ea9558f15f7dc5c06642dd934c41ad8cb3bedb40398876ea9d508276bde6f214fe06d5f80b19911b SHA512 b1fd13e3bfa323dea7fec53a33865352545a070df472c9db0b2901945a795833eb8a2b7b264005d94fe6e92dce57414a7e995157d28c8d26048bedcbf42adf96
DIST eselect-repository-9.tar.gz 6791 BLAKE2B 66ca783b66ead0bef0e85839723844147919ca7caf4e66f962a869118bd0f7484ec183c5c7ab0327d960cb8ec9c5aae0d46b5565c121f9df9d3fe90a19426354 SHA512 9bd1f1ce15da01f76248d93d368c133e22ed77aa6dfd778d10295db649783583c203bc6c0388dec712eea5cc38b76b7527528a1e27a6a526f024eaf73e06b6ab

@ -0,0 +1,41 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7..9} )
inherit python-single-r1
DESCRIPTION="Manage repos.conf via eselect"
HOMEPAGE="https://github.com/mgorny/eselect-repository"
SRC_URI="https://github.com/mgorny/eselect-repository/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x64-macos"
REQUIRED_USE=${PYTHON_REQUIRED_USE}
RDEPEND="${PYTHON_DEPS}
app-admin/eselect
$(python_gen_cond_dep '
dev-python/lxml[${PYTHON_MULTI_USEDEP}]
')
net-misc/wget"
src_compile() {
MAKEARGS=(
PREFIX="${EPREFIX}/usr"
SYSCONFDIR="${EPREFIX}/etc"
SHAREDSTATEDIR="${EPREFIX}/var"
ESELECTDIR="${EPREFIX}/usr/share/eselect/modules"
)
emake "${MAKEARGS[@]}"
python_fix_shebang eselect-repo-helper
}
src_install() {
emake "${MAKEARGS[@]}" DESTDIR="${D}" install
keepdir /var/db/repos
einstalldocs
}

Binary file not shown.

@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>kentnl@gentoo.org</email>
<name>Kent Fredric</name>
</maintainer>
<maintainer type="project">
<email>perl@gentoo.org</email>
<name>Gentoo Perl Project</name>

@ -1,2 +1,3 @@
DIST mgorny-dev-scripts-6.tar.gz 7270 BLAKE2B 30945ccc04111c91dcf22d180b0f653606910a0f13d3d2c2acdb037a51bc6490917d8dab91580c27caf492487dca7ec575c5d59181ce622dd67dada49e653462 SHA512 b46d6919cea7233131e90c423392bfdc8a560800adc05e164ef88351d84d51a73dfd982fcaf12bd9519219bc08b84b6a1aa3dc078bb30d35d57847ad1b22efa9
DIST mgorny-dev-scripts-7.tar.gz 7262 BLAKE2B adae301b7a3707aed052e11227f792e247b8e55f56dbe5b07ecfd7c37b1bc401f7f7110c2e38703d8c0f77926374193fd21dd803a60c3300990b85974e084ac8 SHA512 24b7b03bfa5ebac91a19470a49c5df6b4ff808876d8fa3e95adc243542f9b215f4c5b4cf3a3df48bae4386be570948d2976b6d50e1144469690a73bd5c119a6c
DIST mgorny-dev-scripts-8.tar.gz 7264 BLAKE2B 70825cbfc00c2d15bcb5533bdfa6c3ac4eb6555b6e0ce6408cd74b2f8e81c04c72360fa02b6c11c31d18fb27f9f30c54103ecd3613b9e53a6d77a902fa8c27a6 SHA512 e2905485348d4ed85e620e8242bd0cf0a14a0604299a8a47ab9b27d888b87429bf55cceb68f55dea5ebd5ffd8fbfaceca72eac181fd28afa473bc50d07a52a32

@ -0,0 +1,28 @@
# Copyright 2019-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Handy scripts for ebuild development and more"
HOMEPAGE="https://github.com/mgorny/mgorny-dev-scripts"
SRC_URI="https://github.com/mgorny/mgorny-dev-scripts/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="
app-portage/gentoolkit
dev-perl/URI
dev-util/pkgcheck
dev-vcs/git
net-misc/wget
sys-apps/portage
x11-misc/xdg-utils
!dev-util/pkgdiff"
src_install() {
dodoc README.rst
rm -f COPYING README.rst || die
dobin *
}

Binary file not shown.

@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
@ -11,7 +11,10 @@ LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="test"
RESTRICT="!test? ( test )"
# This test suite used to work but needs an update for modern versions
# of PHPUnit. See https://github.com/kore/XML-Schema-learner/issues/6
RESTRICT="test"
# PHP dependency can be inferred from .travis.yml in the repository.
# The necessary USE flags on the other hand were found the hard way.

@ -1,2 +1 @@
DIST krop-0.5.1.tar.gz 42719 BLAKE2B e0baa3c14d9ce63815615eae004a08af720868d584262901eccbc569852177e07d5df659ea560d7e9cbdc4325daef8c35acd9c200440a8dfd73c19b274d8de37 SHA512 2bfd2a5d762454ab45538707c6f333d2b0947b6b203d6e7bd2d9d0d574d79de8ee6b30d87b17d6afea604456b915f323b855c9c9af5c169c192b0a01634075ca
DIST krop-0.6.0.tar.gz 48331 BLAKE2B ca6a00a410ed4e18a401fab3a21bc49c86f73165f68b192ab83c8fad74111ba9a9941f464a2646faa5a3317bbb45cdc89bed19c901999c0b11db353ac2997a65 SHA512 51a988e4fcb65d11cc26cf5b0c808e79097a66ef8ec4751a6c051289cd77b3328ebc8ecd9829adc466f87330beb8bc715d290cc20be415a7b8f179378b7bcb4f

@ -1,41 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7,8} )
inherit desktop distutils-r1 xdg-utils
if [[ ${PV} == 9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/arminstraub/krop.git"
else
SRC_URI="http://arminstraub.com/downloads/${PN}/${P}.tar.gz"
KEYWORDS="amd64 ~x86"
fi
DESCRIPTION="A tool to crop PDF files"
HOMEPAGE="http://arminstraub.com/software/krop"
LICENSE="GPL-3"
SLOT="0"
IUSE=""
RDEPEND="dev-python/python-poppler-qt5[${PYTHON_USEDEP}]
dev-python/PyPDF2[${PYTHON_USEDEP}]
dev-python/PyQt5[${PYTHON_USEDEP},gui,widgets]"
src_install() {
distutils-r1_src_install
domenu "${WORKDIR}/${P}/${PN}.desktop"
}
pkg_postinst() {
xdg_mimeinfo_database_update
xdg_desktop_database_update
}
pkg_postrm() {
xdg_mimeinfo_database_update
xdg_desktop_database_update
}

@ -1,4 +1,4 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -12,7 +12,7 @@ if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/arminstraub/krop.git"
else
SRC_URI="https://github.com/arminstraub/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 ~x86"
fi
DESCRIPTION="A tool to crop PDF files"

@ -1,2 +1 @@
DIST xournalpp-1.0.18.tgz 14892343 BLAKE2B d2aaede0e85d724cf8032f38a6fa2c3c4862f26d410dbab8264dd50ab8ee0d26889eeab433ef615fe9ce271710192eca380ff80149431d5368125926cf8d2b25 SHA512 90568a2674a18ff711ecef5f1a66ea1c5746d7f1fde271b36342d9bf48e096e63075cf7fd8b69e39e144273a4d1b922c415eee929eba94b2fa515a0bb481815a
DIST xournalpp-1.0.20.tgz 14895705 BLAKE2B f1a4721f4f0b2f0e666c7466d7ddbd1f299172576d5f86b4ab8150d3bf05231cc7bb40e750394d892fe8ce32b6106e29456e3e9fa976b1bf07a808bf1bfff953 SHA512 c73783d5e40262b2c6f7f6be372839c73a19ab25fc258a7524660654526a3a35a6ba16ba282f793e7982ff97d006703c103fdd579fc16a3e636bf6daf94fe346

@ -1,49 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake-utils xdg
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/xournalpp/xournalpp.git"
unset SRC_URI
else
KEYWORDS="amd64"
SRC_URI="https://github.com/xournalpp/xournalpp/archive/${PV}.tar.gz -> ${P}.tgz"
fi
DESCRIPTION="Handwriting notetaking software with PDF annotation support"
HOMEPAGE="https://github.com/xournalpp/xournalpp"
LICENSE="GPL-2"
SLOT="0"
IUSE=""
COMMONDEPEND="
app-text/poppler[cairo]
dev-libs/glib
dev-libs/libxml2
dev-libs/libzip:=
media-libs/portaudio
media-libs/libsndfile
sys-libs/zlib:=
x11-libs/gtk+:3
"
RDEPEND="${COMMONDEPEND}
"
DEPEND="${COMMONDEPEND}
"
BDEPEND="
virtual/pkgconfig
sys-apps/lsb-release
"
PATCHES=(
"${FILESDIR}/${P}-nostrip.patch" # bug 745255
)
src_prepare() {
cmake-utils_src_prepare
}

@ -10,7 +10,7 @@ if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://github.com/xournalpp/xournalpp.git"
unset SRC_URI
else
KEYWORDS="~amd64"
KEYWORDS="amd64"
SRC_URI="https://github.com/xournalpp/xournalpp/archive/${PV}.tar.gz -> ${P}.tgz"
fi
@ -26,7 +26,7 @@ COMMONDEPEND="
dev-libs/glib
dev-libs/libxml2
dev-libs/libzip:=
media-libs/portaudio
media-libs/portaudio[cxx]
media-libs/libsndfile
sys-libs/zlib:=
x11-libs/gtk+:3

@ -26,7 +26,7 @@ COMMONDEPEND="
dev-libs/glib
dev-libs/libxml2
dev-libs/libzip:=
media-libs/portaudio
media-libs/portaudio[cxx]
media-libs/libsndfile
sys-libs/zlib:=
x11-libs/gtk+:3

Binary file not shown.

@ -1,8 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>gyakovlev@gentoo.org</email>
<name>Georgy Yakovlev</name>
</maintainer>
<!-- maintainer-needed -->
</pkgmetadata>

Binary file not shown.

@ -340,6 +340,5 @@ DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190102054323-c2f93a96b099.mod 26 BLA
DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190106161140-3f1c8253044a.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190523083050-ea95bdfd59fc.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
DIST rqlite-5.10.2.tar.gz 363210 BLAKE2B b3200b7e945cef01dfba20aa29cd36789fcf325565e37cfc8a765becbacfa77857abb8760f3aeb20a1e5823fac41ab1056d17234644122e83ab3e4b06a02ea32 SHA512 f633a4114c1adb905e30d28e8eef363cf6f2e8a773ad6c5ba5f45e6e0c95ad0b3287d31b1aa9a324aec19c60e3ef6837b4a38cec9d18cf3fe287c001b1c56fd3
DIST rqlite-5.2.0.tar.gz 304914 BLAKE2B eb455a1f30c5f431c657fa04a09fdadbd471c34788b3a86e0440c1fb0301c51318e0d9e96e9d948d3093665e1aff612f8429acbf9c572f7497f691d3ee49665f SHA512 80f0af92c9f3af158094d728a032c87e2cd3fc7631207e5aa300ef1866a8bfd5915ad652de09874b75bf9ef155a8795d736aba275414a9d6ae912b01082a0aa2
DIST xorm.io%2Fbuilder%2F@v%2Fv0.3.6.mod 146 BLAKE2B 2db3e352ea5e2e318fe56cfa165d5345f4d85f0523ef6cc495c7f4596bedfb4dc3730c1842a62b75e532cb50505db10162dce1dee8ce5860a3e7b17c83a37910 SHA512 05161f20c13095943f26bbddf4e8ecf60a79121edef21567e51366fe13f5ac24ed8a5ff836484a23d27ccc5b5345a780973097218e2fbf43847cdc94d45ab7ec
DIST xorm.io%2Fcore%2F@v%2Fv0.7.2-0.20190928055935-90aeac8d08eb.mod 193 BLAKE2B ee37149b40933dc6446d105468e577643ff324821320be45bb82bcedc13882e5e1236dd89eaec2d883db33ccc60584dd9a4c5309b60822b778a393897478bb22 SHA512 5af3eed4c6cfb8f258f0fd2e8fc924aa15e16431298e1d79ffc9701fb37b8393dfa4dcf922d8ce704df7dbf6b36684540eb0972da3f13ddc4c5f3bdb07dc7090

@ -359,7 +359,7 @@ SRC_URI="https://github.com/rqlite/rqlite/archive/v${PV}.tar.gz -> ${P}.tar.gz
LICENSE="MIT BSD MPL-2.0"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="~amd64 ~x86"
IUSE=""
src_compile() {

@ -1,118 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit go-module
EGIT_COMMIT=77863e5a13110f1fca87b6fce84a7169c3aa58f5
DESCRIPTION="Replicated SQLite using the Raft consensus protocol"
HOMEPAGE="https://github.com/rqlite/rqlite https://www.philipotoole.com/tag/rqlite/"
EGO_SUM=(
"github.com/Bowery/prompt v0.0.0-20190916142128-fa8279994f75"
"github.com/Bowery/prompt v0.0.0-20190916142128-fa8279994f75/go.mod"
"github.com/DataDog/datadog-go v2.2.0+incompatible/go.mod"
"github.com/armon/go-metrics v0.0.0-20190430140413-ec5e00d3c878"
"github.com/armon/go-metrics v0.0.0-20190430140413-ec5e00d3c878/go.mod"
"github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod"
"github.com/boltdb/bolt v1.3.1"
"github.com/boltdb/bolt v1.3.1/go.mod"
"github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod"
"github.com/circonus-labs/circonusllhist v0.1.3/go.mod"
"github.com/davecgh/go-spew v1.1.0/go.mod"
"github.com/davecgh/go-spew v1.1.1/go.mod"
"github.com/golang/protobuf v1.2.0/go.mod"
"github.com/hashicorp/go-cleanhttp v0.5.0/go.mod"
"github.com/hashicorp/go-hclog v0.9.1"
"github.com/hashicorp/go-hclog v0.9.1/go.mod"
"github.com/hashicorp/go-immutable-radix v1.0.0"
"github.com/hashicorp/go-immutable-radix v1.0.0/go.mod"
"github.com/hashicorp/go-msgpack v0.5.5"
"github.com/hashicorp/go-msgpack v0.5.5/go.mod"
"github.com/hashicorp/go-retryablehttp v0.5.3/go.mod"
"github.com/hashicorp/go-uuid v1.0.0/go.mod"
"github.com/hashicorp/golang-lru v0.5.0"
"github.com/hashicorp/golang-lru v0.5.0/go.mod"
"github.com/hashicorp/raft v1.1.0/go.mod"
"github.com/hashicorp/raft v1.1.1"
"github.com/hashicorp/raft v1.1.1/go.mod"
"github.com/hashicorp/raft-boltdb v0.0.0-20171010151810-6e5ba93211ea/go.mod"
"github.com/hashicorp/raft-boltdb v0.0.0-20191021154308-4207f1bf0617"
"github.com/hashicorp/raft-boltdb v0.0.0-20191021154308-4207f1bf0617/go.mod"
"github.com/labstack/gommon v0.3.0"
"github.com/labstack/gommon v0.3.0/go.mod"
"github.com/mattn/go-colorable v0.1.2/go.mod"
"github.com/mattn/go-colorable v0.1.4"
"github.com/mattn/go-colorable v0.1.4/go.mod"
"github.com/mattn/go-isatty v0.0.8/go.mod"
"github.com/mattn/go-isatty v0.0.9/go.mod"
"github.com/mattn/go-isatty v0.0.11"
"github.com/mattn/go-isatty v0.0.11/go.mod"
"github.com/mattn/go-sqlite3 v2.0.2+incompatible"
"github.com/mattn/go-sqlite3 v2.0.2+incompatible/go.mod"
"github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod"
"github.com/mkideal/cli v0.0.3"
"github.com/mkideal/cli v0.0.3/go.mod"
"github.com/mkideal/pkg v0.0.0-20170503154153-3e188c9e7ecc"
"github.com/mkideal/pkg v0.0.0-20170503154153-3e188c9e7ecc/go.mod"
"github.com/pascaldekloe/goe v0.1.0/go.mod"
"github.com/pkg/errors v0.8.1/go.mod"
"github.com/pmezard/go-difflib v1.0.0/go.mod"
"github.com/prometheus/client_golang v0.9.2/go.mod"
"github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod"
"github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod"
"github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod"
"github.com/stretchr/objx v0.1.0/go.mod"
"github.com/stretchr/testify v1.2.2/go.mod"
"github.com/stretchr/testify v1.3.0/go.mod"
"github.com/stretchr/testify v1.4.0/go.mod"
"github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod"
"github.com/valyala/bytebufferpool v1.0.0/go.mod"
"github.com/valyala/fasttemplate v1.0.1/go.mod"
"golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
"golang.org/x/crypto v0.0.0-20191219195013-becbf705a915"
"golang.org/x/crypto v0.0.0-20191219195013-becbf705a915/go.mod"
"golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod"
"golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
"golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/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-20190523142557-0e01d883c5c5/go.mod"
"golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed"
"golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod"
"golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod"
"golang.org/x/sys v0.0.0-20191026070338-33540a1f6037"
"golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod"
"golang.org/x/text v0.3.0/go.mod"
"gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
"gopkg.in/yaml.v2 v2.2.2/go.mod"
)
go-module_set_globals
SRC_URI="https://github.com/rqlite/rqlite/archive/v${PV}.tar.gz -> ${P}.tar.gz
${EGO_SUM_SRC_URI}"
LICENSE="MIT BSD MPL-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""
src_compile() {
GOBIN="${S}/bin" \
go install \
-ldflags="-X main.version=v${PV}
-X main.branch=master
-X main.commit=${EGIT_COMMIT}
-X main.buildtime=$(date +%Y-%m-%dT%T%z)" \
./cmd/... || die
}
src_test() {
GOBIN="${S}/bin" \
go test ./... || die
}
src_install() {
dobin bin/*
dodoc -r *.md DOC
}

Binary file not shown.

@ -1,10 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>kentnl@gentoo.org</email>
<name>Kent Fredric</name>
</maintainer>
<maintainer type="project">
<email>java@gentoo.org</email>
</maintainer>

@ -1,10 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>kentnl@gentoo.org</email>
<name>Kent Fredric</name>
</maintainer>
<maintainer type="project">
<email>java@gentoo.org</email>
</maintainer>

Binary file not shown.

@ -28,6 +28,8 @@ DIST ghc-8.8.3-src.tar.xz 19343672 BLAKE2B 4b33b4a386926f0ee625c7c18a3997f02bf66
DIST ghc-8.8.3-testsuite.tar.xz 1965236 BLAKE2B 9cd10769336513284d8e0fbca1c3fce9e298ec67eb63eb10d41087fccba0f6281f1509aee684778fd23710ffe65843c43b4042e6692940af67766056c4503273 SHA512 4ebf3eabcd7591762dfcf45716b06293fb14c00b51307f7788c90dcf4e01f67e6bbb7a887b74d8d30272919486441ac236b42a54c4874aac69d90391b76f81c9
DIST ghc-8.8.4-src.tar.xz 19395252 BLAKE2B 6fa898b9552398a724f0452f5cc88ba073264a5645288c73507258959efec40ce5a56a0eaafdabe58f15c5a9210b2c9da5954411dff5c81c52e061569d6a350a SHA512 efd23bd819f7429486696a3a929a040471db7ea8a2d1f1d832e4cf0825b9e1e0c5e6ecad0ab8376f58b74e9c28c1d2f773bd126596d6d853c9e57d57e5ceb090
DIST ghc-8.8.4-testsuite.tar.xz 1965820 BLAKE2B 3b715700561788b8abdc986961d533b91399461d57a1686ededb4ccc36881503cdc3fc126b9a7b204a728c24b9a9ca97320142348644367aca9b47c87a5b3b51 SHA512 79d8fb0ba8de0fb48c938bd54c8c3278f1895d8ce5c700ce8cf6b3fc550073bb757208e85d4f9818400ebecca96f51d9248b8bbdac9eb2995671756164d08c16
DIST ghc-9.0.1-src.tar.xz 20782336 BLAKE2B 53eaf903081d705d641459fbc1e6fa7387a6039f9cd466b4708bda86e81252a84d80878d6eb956ec2e1e5b721a313e68eeb796f8345244ca62f536a7a3f0c6df SHA512 bee7950a5118be8d8cefe0db5070139a5a93ca21c5bc6f8bf453429831f0c44f5e0fb5ee569865d6b8b92749044ee4123be06920928ac7a1ec9cffa9404a3e53
DIST ghc-9.0.1-testsuite.tar.xz 2322432 BLAKE2B 350df763c607dd89ba58ad6e856d815556159a9f088dc0b069de48ae87c1e874a45fad51159e65a3c9a9beed68602eeb2a2728dbce86277bd287455f46f6c53a SHA512 13fbe0f0ab5e2426820d0fb37f0a75e1198ef2a660398508806e8ef094fd23647ca3d386815a2118168d12253d8df3273043678dbb37cf3924c689dd0fd1932e
DIST ghc-bin-7.10.3-alpha.tbz2 183558856 BLAKE2B 2bb02aafa49c6a91bec016e8bec2d07257d602e53c9df55792ec6fbbf8e2e46de1d5f3f72c0ccf74d6bd7f7987f53412063ccb02ae85455fce11fa928cbf5291 SHA512 08709fe9b4036ab41715c9a637a2a160104e3ab9e0ed9efaaf73428e3cfe19619e50c42b72c60bbbd27be2b9c2ea68f63d72c1a27d4519756e7c0d909f724230
DIST ghc-bin-7.10.3-amd64.tbz2 112040431 BLAKE2B 3e59b70ca309a1cd704266c54a7983f9a58362bf700ced89c5649c780c664c650ec091e14026a7b84e339d2ebff39eba1772eebcd9fb4b99b9c99d179453d5cc SHA512 e1554b3944edbe8e16537de5a29132dc6a22d780d9a700cdc9b76387b94191164398d6f2242bf8199527802572e2bb02545569d4f0930a0ee0dbfdeb25978558
DIST ghc-bin-7.10.3-ia64.tbz2 238680956 BLAKE2B 08593718d376051edfb0c86131e54dafc5c15056757fbeef90c653a7d217e49ff34ffaf7cd4083144c9277e73a290b822a0f889aaf806341375708e4b92654b2 SHA512 3694011aec8a6dc37889418b318993cb82f9b46a5175dd837713f396c8f59a19a920e0b0669fe3b4ec37d5bd8837c115264c0a8fc97c5a4ce06a3bdd52fcfce5
@ -81,5 +83,7 @@ DIST ghc-bin-8.8.3-i686-pc-linux-gnu.tbz2 120243899 BLAKE2B 7f932523a71dcfd4cdd4
DIST ghc-bin-8.8.3-x86_64-pc-linux-gnu.tbz2 118988294 BLAKE2B 4e5aa3844934ae2726bf9c8690acd5a887f10cd49386ffadbc536f9309d33b3894b49507964eaf0d8a052747eb33aeabbe4d2cd22493297c295cf9414fcb766c SHA512 dd656157fe744c1df1c8ed34d1129ec358b26f3042c6da68e704e0f6a45d8114789000479e28a06dc16961afb283b3c666b427025590498a3d2da9b741b435c7
DIST ghc-bin-8.8.4-i686-pc-linux-gnu.tbz2 120336081 BLAKE2B 55dfbb90d5e55c2af5e93c69249828a85cd9171c164b80dfdaf86512972b2c6854c8e4f07426af4ab52a5fb1a85d96a58c2cf003fb02372c55428001cfaea491 SHA512 ad3b83344349976d3253934195b2dc6299648391572b13735943c5ea2239c031c19b0cafd86c16cfb0c061e73bc72e9248f9c1731494a9a15fbe188f02913c12
DIST ghc-bin-8.8.4-x86_64-pc-linux-gnu.tbz2 118897883 BLAKE2B a180b2dd1a3bc222044ece809ad700aee29d0c3e75b57ee9af3ca33c9c0f59dbf36f68202f746d99f80915cb717a9c41fc12db507f1cb469981732703a06b9cc SHA512 9d4be02dbd9704c93ef18feb92ea30bd5d590df31f288bf1b364818424c5019ca9ada26eec88418199f90ae8f4459d0a9352104e3f3186bbdc241891eb1b66c4
DIST ghc-bin-9.0.1-i686-pc-linux-gnu.tbz2 122955511 BLAKE2B b870f46cc78fcc1d715aafe7108951582cfd12495b4e9d804d4b66562c66a6a2b2d9513031aedc8f3630a0cdbb3257943304b05732301a084f89487452f2f2d9 SHA512 aafd4233c40f93b71e6ac1acc8a75e30d49b826e4bce6d9832836966fd5f6c4898963bd4c2f34577f4199c1d9a3f537ac1e7d87eab11e9fb5e849573580ed3fb
DIST ghc-bin-9.0.1-x86_64-pc-linux-gnu.tbz2 121542968 BLAKE2B 837870e68138f8d97dc8b2aae90090cf02416628602ca4ba4417ac92b49155f10028b05ac465665b8872b32372a5cee075616983f2eacdebb0188bd2ce6a93d2 SHA512 0e8c6d2e6f32fac95588f7323a4e02dddfc9ec2476a82b97bf5a106d3810f7e638fda7124c53b5bbc563fce70f4436553c282d8ea2f1f5fdf4fcccfb15a2b079
DIST hoopl-3.10.2.0.tar.gz 241940 BLAKE2B 0ed7bf80486767c81415f99da8780a525401c388dea0b3f380bbecceae9cc7f66d8b5d0d7b31f8cb41796309b7a93adb113485efd14882f8af321989ce900a9b SHA512 083baa8a5eb53247aff8d5b9b2144e0f63adb9400934297bbd80bfcec607dd90a34def4301045a60472ef10b0fb90ab84692fc08f786e7f806c28afdab1ef66a
DIST transformers-0.4.3.0.tar.gz 28632 BLAKE2B 92cabcb654bb11854a3bffbb1262f5cd62eda1aff447157086a61ebc451ebf2fddec53b6a2cc058174f24f0f0e32df671d3717e30a542c8dc90cb87e327d990c SHA512 c3ec0893ebba4fbd6087c3202e919552c4a9bff3350b5c0589e7ebb18751a515d98b8cac15b0a3252906ea72b5a0eb09b7fe88c8da88b09d6ce4fbf0f50b2780

@ -0,0 +1,798 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
# to make make a crosscompiler use crossdev and symlink ghc tree into
# cross overlay. result would look like 'cross-sparc-unknown-linux-gnu/ghc'
export CBUILD=${CBUILD:-${CHOST}}
export CTARGET=${CTARGET:-${CHOST}}
if [[ ${CTARGET} = ${CHOST} ]] ; then
if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then
export CTARGET=${CATEGORY/cross-}
fi
fi
inherit autotools bash-completion-r1 eutils flag-o-matic ghc-package
inherit multilib multiprocessing pax-utils toolchain-funcs prefix
inherit check-reqs
DESCRIPTION="The Glasgow Haskell Compiler"
HOMEPAGE="https://www.haskell.org/ghc/"
# we don't have any binaries yet
arch_binaries=""
BIN_PV=${PV}
# sorted!
#arch_binaries="$arch_binaries alpha? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-alpha.tbz2 )"
#arch_binaries="$arch_binaries arm? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-armv7a-hardfloat-linux-gnueabi.tbz2 )"
#arch_binaries="$arch_binaries arm64? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-aarch64-unknown-linux-gnu.tbz2 )"
arch_binaries="$arch_binaries amd64? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-x86_64-pc-linux-gnu.tbz2 )"
#arch_binaries="$arch_binaries ia64? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-ia64-fixed-fiw.tbz2 )"
#arch_binaries="$arch_binaries ppc? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-ppc.tbz2 )"
#arch_binaries="$arch_binaries ppc64? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-ppc64.tbz2 )"
#arch_binaries="$arch_binaries ppc64? ( !big-endian? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-powerpc64le-unknown-linux-gnu.tbz2 ) )"
#arch_binaries="$arch_binaries sparc? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-sparc.tbz2 )"
arch_binaries="$arch_binaries x86? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-i686-pc-linux-gnu.tbz2 )"
# various ports:
#arch_binaries="$arch_binaries x86-fbsd? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-x86-fbsd.tbz2 )"
# 0 - yet
yet_binary() {
case "${ARCH}" in
#alpha) return 0 ;;
#arm64) return 0 ;;
#arm) return 0 ;;
amd64) return 0 ;;
#ia64) return 0 ;;
#ppc) return 0 ;;
#ppc64)
# use big-endian && return 0
# return 0
# ;;
#sparc) return 0 ;;
x86) return 0 ;;
*) return 1 ;;
esac
}
GHC_PV=${PV}
#GHC_PV=8.10.0.20200123 # uncomment only for -alpha, -beta, -rc ebuilds
GHC_P=${PN}-${GHC_PV} # using ${P} is almost never correct
SRC_URI="!binary? (
https://downloads.haskell.org/ghc/${PV/_/-}/${GHC_P}-src.tar.xz
test? ( https://downloads.haskell.org/ghc/${PV/_/-}/${GHC_P}-testsuite.tar.xz )
)"
S="${WORKDIR}"/${GHC_P}
[[ -n $arch_binaries ]] && SRC_URI+=" !ghcbootstrap? ( $arch_binaries )"
BUMP_LIBRARIES=(
# "hackage-name hackage-version"
)
LICENSE="BSD"
SLOT="0/${PV}"
KEYWORDS=""
IUSE="big-endian doc elfutils ghcbootstrap ghcmakebinary +gmp numa profile test"
IUSE+=" binary"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-lang/perl-5.6.1
dev-libs/gmp:0=
sys-libs/ncurses:0=[unicode]
elfutils? ( dev-libs/elfutils )
!ghcmakebinary? ( dev-libs/libffi:= )
numa? ( sys-process/numactl )
"
# This set of dependencies is needed to run
# prebuilt ghc. We specifically avoid ncurses
# dependency with:
# utils/ghc-pkg_HC_OPTS += -DBOOTSTRAPPING
PREBUILT_BINARY_DEPENDS="
!prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.17 ) )
"
# This set of dependencies is needed to install
# ghc[binary] in system. terminfo package is linked
# against ncurses.
PREBUILT_BINARY_RDEPENDS="${PREBUILT_BINARY_DEPENDS}
sys-libs/ncurses:0/6
"
RDEPEND+="binary? ( ${PREBUILT_BINARY_RDEPENDS} )"
DEPEND="${RDEPEND}
doc? ( app-text/docbook-xml-dtd:4.2
app-text/docbook-xml-dtd:4.5
app-text/docbook-xsl-stylesheets
dev-python/sphinx
>=dev-libs/libxslt-1.1.2 )
!ghcbootstrap? ( ${PREBUILT_BINARY_DEPENDS} )"
# we build binaries without profiling support
REQUIRED_USE="
?? ( ghcbootstrap binary )
?? ( profile binary )
"
# haskell libraries built with cabal in configure mode, #515354
QA_CONFIGURE_OPTIONS+=" --with-compiler --with-gcc"
is_crosscompile() {
[[ ${CHOST} != ${CTARGET} ]]
}
is_native() {
[[ ${CHOST} == ${CBUILD} ]] && [[ ${CHOST} == ${CTARGET} ]]
}
if ! is_crosscompile; then
PDEPEND="!ghcbootstrap? ( >=app-admin/haskell-updater-1.2 )"
fi
# returns tool prefix for crosscompiler.
# Example:
# CTARGET=armv7a-unknown-linux-gnueabi
# CHOST=x86_64-pc-linux-gnu
# "armv7a-unknown-linux-gnueabi-"
# CTARGET=${CHOST}
# ""
# Used in tools and library prefix:
# "${ED}"/usr/bin/$(cross)haddock
# "${ED}/usr/$(get_libdir)/$(cross)${GHC_P}/package.conf.d"
cross() {
if is_crosscompile; then
echo "${CTARGET}-"
else
echo ""
fi
}
append-ghc-cflags() {
local persistent compile assemble link
local flag ghcflag
for flag in $*; do
case ${flag} in
persistent) persistent="yes";;
compile) compile="yes";;
assemble) assemble="yes";;
link) link="yes";;
*)
[[ ${compile} ]] && ghcflag="-optc${flag}" CFLAGS+=" ${flag}" && GHC_FLAGS+=" ${ghcflag}" &&
[[ ${persistent} ]] && GHC_PERSISTENT_FLAGS+=" ${ghcflag}"
[[ ${assemble} ]] && ghcflag="-opta${flag}" CFLAGS+=" ${flag}" && GHC_FLAGS+=" ${ghcflag}" &&
[[ ${persistent} ]] && GHC_PERSISTENT_FLAGS+=" ${ghcflag}"
[[ ${link} ]] && ghcflag="-optl${flag}" LDFLAGS+=" ${flag}" && GHC_FLAGS+=" ${ghcflag}" &&
[[ ${persistent} ]] && GHC_PERSISTENT_FLAGS+=" ${ghcflag}"
;;
esac
done
}
# $1 - lib name (under libraries/)
# $2 - lib version
# example: bump_lib "transformers" "0.4.2.0"
bump_lib() {
local pn=$1 pv=$2
local p=${pn}-${pv}
local f
einfo "Bumping ${pn} up to ${pv}"
for f in ghc.mk GNUmakefile; do
mv libraries/"${pn}"/$f "${WORKDIR}"/"${p}"/$f || die
done
mv libraries/"${pn}" "${WORKDIR}"/"${pn}".old || die
mv "${WORKDIR}"/"${p}" libraries/"${pn}" || die
}
update_SRC_URI() {
local p pn pv
for p in "${BUMP_LIBRARIES[@]}"; do
set -- $p
pn=$1 pv=$2
SRC_URI+=" https://hackage.haskell.org/package/${pn}-${pv}/${pn}-${pv}.tar.gz"
done
}
update_SRC_URI
bump_libs() {
local p pn pv
for p in "${BUMP_LIBRARIES[@]}"; do
set -- $p
pn=$1 pv=$2
bump_lib "${pn}" "${pv}"
done
}
ghc_setup_cflags() {
# TODO: plumb CFLAGS and BUILD_CFLAGS to respective CONF_CC_OPTS_STAGE<N>
if ! is_native; then
export CFLAGS=${GHC_CFLAGS-"-O2 -pipe"}
export LDFLAGS=${GHC_LDFLAGS-"-Wl,-O1"}
einfo "Crosscompiling mode:"
einfo " CHOST: ${CHOST}"
einfo " CTARGET: ${CTARGET}"
einfo " CFLAGS: ${CFLAGS}"
einfo " LDFLAGS: ${LDFLAGS}"
einfo " prefix: $(cross)"
return
fi
# We need to be very careful with the CFLAGS we ask ghc to pass through to
# gcc. There are plenty of flags which will make gcc produce output that
# breaks ghc in various ways. The main ones we want to pass through are
# -mcpu / -march flags. These are important for arches like alpha & sparc.
# We also use these CFLAGS for building the C parts of ghc, ie the rts.
strip-flags
strip-unsupported-flags
# Cmm can't parse line numbers #482086
replace-flags -ggdb[3-9] -ggdb2
GHC_FLAGS=""
GHC_PERSISTENT_FLAGS=""
for flag in ${CFLAGS}; do
case ${flag} in
# Ignore extra optimisation (ghc passes -O to gcc anyway)
# -O2 and above break on too many systems
-O*) ;;
# Arch and ABI flags are what we're really after
-m*) append-ghc-cflags compile assemble ${flag};;
# Sometimes it's handy to see backtrace of RTS
# to get an idea what happens there
-g*) append-ghc-cflags compile ${flag};;
# Ignore all other flags, including all -f* flags
esac
done
for flag in ${LDFLAGS}; do
append-ghc-cflags link ${flag}
done
# GHC uses ${CBUILD}-gcc, ${CHOST}-gcc and ${CTARGET}-gcc at a single build.
# Skip any gentoo-specific tweaks for cross-case to avoid passing unsupported
# options to gcc.
if is_native; then
# prevent from failing to build unregisterised ghc:
# https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg171602.html
use ppc64 && append-ghc-cflags persistent compile -mminimal-toc
fi
}
# substitutes string $1 to $2 in files $3 $4 ...
relocate_path() {
local from=$1
local to=$2
shift 2
local file=
for file in "$@"
do
sed -i -e "s|$from|$to|g" \
"$file" || die "path relocation failed for '$file'"
done
}
# changes hardcoded ghc paths and updates package index
# $1 - new absolute root path
relocate_ghc() {
local to=$1 ghc_v=${BIN_PV}
# libdir for prebuilt binary and for current system may mismatch
# It does for prefix installation for example: bug #476998
local bin_ghc_prefix=${WORKDIR}/usr
local bin_libpath=$(echo "${bin_ghc_prefix}"/lib*)
local bin_libdir=${bin_libpath#${bin_ghc_prefix}/}
# backup original script to use it later after relocation
local gp_back="${T}/ghc-pkg-${ghc_v}-orig"
cp "${WORKDIR}/usr/bin/ghc-pkg-${ghc_v}" "$gp_back" || die "unable to backup ghc-pkg wrapper"
if [[ ${bin_libdir} != $(get_libdir) ]]; then
einfo "Relocating '${bin_libdir}' to '$(get_libdir)' (bug #476998)"
# moving the dir itself is not strictly needed
# but then USE=binary would result in installing
# in '${bin_libdir}'
mv "${bin_ghc_prefix}/${bin_libdir}" "${bin_ghc_prefix}/$(get_libdir)" || die
relocate_path "/usr/${bin_libdir}" "/usr/$(get_libdir)" \
"${WORKDIR}/usr/bin/ghc-${ghc_v}" \
"${WORKDIR}/usr/bin/ghci-${ghc_v}" \
"${WORKDIR}/usr/bin/ghc-pkg-${ghc_v}" \
"${WORKDIR}/usr/bin/hsc2hs" \
"${WORKDIR}/usr/bin/runghc-${ghc_v}" \
"$gp_back" \
"${WORKDIR}/usr/$(get_libdir)/${PN}-${ghc_v}/package.conf.d/"*
fi
# Relocate from /usr to ${EPREFIX}/usr
relocate_path "/usr" "${to}/usr" \
"${WORKDIR}/usr/bin/ghc-${ghc_v}" \
"${WORKDIR}/usr/bin/ghci-${ghc_v}" \
"${WORKDIR}/usr/bin/ghc-pkg-${ghc_v}" \
"${WORKDIR}/usr/bin/haddock-ghc-${ghc_v}" \
"${WORKDIR}/usr/bin/hp2ps" \
"${WORKDIR}/usr/bin/hpc" \
"${WORKDIR}/usr/bin/hsc2hs" \
"${WORKDIR}/usr/bin/runghc-${ghc_v}" \
"${WORKDIR}/usr/$(get_libdir)/${PN}-${ghc_v}/package.conf.d/"*
# this one we will use to regenerate cache
# so it should point to current tree location
relocate_path "/usr" "${WORKDIR}/usr" "$gp_back"
if use prefix; then
hprefixify "${bin_libpath}"/${PN}*/settings
fi
# regenerate the binary package cache
"$gp_back" recache || die "failed to update cache after relocation"
rm "$gp_back"
}
ghc-check-reqs() {
# These are pessimistic values (slightly bigger than worst-case)
# Worst case is UNREG USE=profile ia64. See bug #611866 for some
# numbers on various arches.
CHECKREQS_DISK_BUILD=8G
CHECKREQS_DISK_USR=2G
# USE=binary roughly takes
use binary && CHECKREQS_DISK_BUILD=4G
"$@"
}
pkg_pretend() {
ghc-check-reqs check-reqs_pkg_pretend
}
pkg_setup() {
ghc-check-reqs check-reqs_pkg_setup
# quiet portage about prebuilt binaries
use binary && QA_PREBUILT="*"
[[ ${MERGE_TYPE} == binary ]] && return
if use ghcbootstrap; then
ewarn "You requested ghc bootstrapping, this is usually only used"
ewarn "by Gentoo developers to make binary .tbz2 packages."
[[ -z $(type -P ghc) ]] && \
die "Could not find a ghc to bootstrap with."
else
if ! yet_binary; then
eerror "Please try emerging with USE=ghcbootstrap and report build"
eerror "sucess or failure to the haskell team (haskell@gentoo.org)"
die "No binary available for '${ARCH}' arch yet, USE=ghcbootstrap"
fi
fi
}
src_unpack() {
# Create the ${S} dir if we're using the binary version
use binary && mkdir "${S}"
# the Solaris and Darwin binaries from ghc (maeder) need to be
# unpacked separately, so prevent them from being unpacked
local ONLYA=${A}
case ${CHOST} in
*-darwin* | *-solaris*) ONLYA=${GHC_P}-src.tar.xz ;;
esac
unpack ${ONLYA}
}
src_prepare() {
ghc_setup_cflags
if ! use ghcbootstrap && [[ ${CHOST} != *-darwin* && ${CHOST} != *-solaris* ]]; then
# Modify the wrapper script from the binary tarball to use GHC_PERSISTENT_FLAGS.
# See bug #313635.
sed -i -e "s|\"\$topdir\"|\"\$topdir\" ${GHC_PERSISTENT_FLAGS}|" \
"${WORKDIR}/usr/bin/ghc-${BIN_PV}"
# allow hardened users use vanilla binary to bootstrap ghc
# ghci uses mmap with rwx protection at it implements dynamic
# linking on it's own (bug #299709)
pax-mark -m "${WORKDIR}/usr/$(get_libdir)/${PN}-${BIN_PV}/bin/ghc"
fi
if use binary; then
if use prefix; then
relocate_ghc "${EPREFIX}"
fi
# Move unpacked files to the expected place
mv "${WORKDIR}/usr" "${S}"
eapply_user
else
if ! use ghcbootstrap; then
case ${CHOST} in
*-darwin* | *-solaris*)
# UPDATE ME for ghc-7
mkdir "${WORKDIR}"/ghc-bin-installer || die
pushd "${WORKDIR}"/ghc-bin-installer > /dev/null || die
use sparc-solaris && unpack ghc-6.10.4-sparc-sun-solaris2.tar.bz2
use x86-solaris && unpack ghc-7.0.3-i386-unknown-solaris2.tar.bz2
use x86-macos && unpack ghc-7.4.1-i386-apple-darwin.tar.bz2
use x64-macos && unpack ghc-7.4.1-x86_64-apple-darwin.tar.bz2
popd > /dev/null
pushd "${WORKDIR}"/ghc-bin-installer/ghc-[67].?*.? > /dev/null || die
# fix the binaries so they run, on Solaris we need an
# LD_LIBRARY_PATH which has our prefix libdirs, on
# Darwin we need to replace the frameworks with our libs
# from the prefix fix before installation, because some
# of the tools are actually used during configure/make
if [[ ${CHOST} == *-solaris* ]] ; then
export LD_LIBRARY_PATH="${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir):${LD_LIBRARY_PATH}"
elif [[ ${CHOST} == *-darwin* ]] ; then
local readline_framework=GNUreadline.framework/GNUreadline
local gmp_framework=/opt/local/lib/libgmp.10.dylib
local ncurses_file=/opt/local/lib/libncurses.5.dylib
for binary in $(scanmacho -BRE MH_EXECUTE -F '%F' .) ; do
install_name_tool -change \
${readline_framework} \
"${EPREFIX}"/lib/libreadline.dylib \
${binary} || die
install_name_tool -change \
${gmp_framework} \
"${EPREFIX}"/usr/lib/libgmp.dylib \
${binary} || die
install_name_tool -change \
${ncurses_file} \
"${EPREFIX}"/usr/lib/libncurses.dylib \
${binary} || die
done
# we don't do frameworks!
sed -i \
-e 's/\(frameworks = \)\["GMP"\]/\1[]/g' \
-e 's/\(extraLibraries = \)\["m"\]/\1["m","gmp"]/g' \
rts/package.conf.in || die
fi
# it is autoconf, but we really don't want to give it too
# many arguments, in fact we do the make in-place anyway
./configure --prefix="${WORKDIR}"/usr || die
make install || die
popd > /dev/null
;;
*)
relocate_ghc "${WORKDIR}"
;;
esac
fi
sed -i -e "s|\"\$topdir\"|\"\$topdir\" ${GHC_PERSISTENT_FLAGS}|" \
"${S}/ghc/ghc.wrapper"
cd "${S}" # otherwise eapply will break
eapply "${FILESDIR}"/${PN}-7.0.4-CHOST-prefix.patch
eapply "${FILESDIR}"/${PN}-8.2.1-darwin.patch
#needs a port?
#eapply "${FILESDIR}"/${PN}-8.8.1-revert-CPP.patch
eapply "${FILESDIR}"/${PN}-8.10.1-allow-cross-bootstrap.patch
eapply "${FILESDIR}"/${PN}-8.10.3-C99-typo-ac270.patch
# a bunch of crosscompiler patches
# needs newer version:
#eapply "${FILESDIR}"/${PN}-8.2.1_rc1-hp2ps-cross.patch
# mingw32 target
pushd "${S}/libraries/Win32"
eapply "${FILESDIR}"/${PN}-8.2.1_rc1-win32-cross-2-hack.patch # bad workaround
popd
bump_libs
eapply_user
# as we have changed the build system
eautoreconf
fi
}
src_configure() {
if ! use binary; then
# initialize build.mk
echo '# Gentoo changes' > mk/build.mk
# Put docs into the right place, ie /usr/share/doc/ghc-${GHC_PV}
echo "docdir = ${EPREFIX}/usr/share/doc/$(cross)${P}" >> mk/build.mk
echo "htmldir = ${EPREFIX}/usr/share/doc/$(cross)${P}" >> mk/build.mk
# We also need to use the GHC_FLAGS flags when building ghc itself
echo "SRC_HC_OPTS+=${HCFLAGS} ${GHC_FLAGS}" >> mk/build.mk
echo "SRC_CC_OPTS+=${CFLAGS}" >> mk/build.mk
echo "SRC_LD_OPTS+=${LDFLAGS}" >> mk/build.mk
# Speed up initial Cabal bootstrap
echo "utils/ghc-cabal_dist_EXTRA_HC_OPTS+=$(ghc-make-args)" >> mk/build.mk
# We can't depend on haddock except when bootstrapping when we
# must build docs and include them into the binary .tbz2 package
# app-text/dblatex is not in portage, can not build PDF or PS
echo "BUILD_SPHINX_PDF = NO" >> mk/build.mk
echo "BUILD_SPHINX_HTML = $(usex doc YES NO)" >> mk/build.mk
echo "BUILD_MAN = $(usex doc YES NO)" >> mk/build.mk
# this controls presence on 'xhtml' and 'haddock' in final install
echo "HADDOCK_DOCS = YES" >> mk/build.mk
# not used outside of ghc's test
if [[ -n ${GHC_BUILD_DPH} ]]; then
echo "BUILD_DPH = YES" >> mk/build.mk
else
echo "BUILD_DPH = NO" >> mk/build.mk
fi
# Any non-native build has to skip as it needs
# target haddock binary to be runnabine.
if ! is_native; then
# disable docs generation as it requires running stage2
echo "HADDOCK_DOCS=NO" >> mk/build.mk
echo "BUILD_SPHINX_HTML=NO" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
fi
if is_crosscompile; then
# Install ghc-stage1 crosscompiler instead of
# ghc-stage2 cross-built compiler.
echo "Stage1Only=YES" >> mk/build.mk
fi
# allows overriding build flavours for libraries:
# v - vanilla (static libs)
# p - profiled
# dyn - shared libraries
# example: GHC_LIBRARY_WAYS="v dyn"
if [[ -n ${GHC_LIBRARY_WAYS} ]]; then
echo "GhcLibWays=${GHC_LIBRARY_WAYS}" >> mk/build.mk
fi
echo "BUILD_PROF_LIBS = $(usex profile YES NO)" >> mk/build.mk
# Get ghc from the unpacked binary .tbz2
# except when bootstrapping we just pick ghc up off the path
if ! use ghcbootstrap; then
export PATH="${WORKDIR}/usr/bin:${PATH}"
fi
echo "INTEGER_LIBRARY = $(usex gmp integer-gmp integer-simple)" >> mk/build.mk
# don't strip anything. Very useful when stage2 SIGSEGVs on you
echo "STRIP_CMD = :" >> mk/build.mk
local econf_args=()
# GHC embeds toolchain it was built by and uses it later.
# Don't allow things like ccache or versioned binary slip.
# We use stable thing across gcc upgrades.
# User can use EXTRA_ECONF=CC=... to override this default.
econf_args+=(
AR=${CTARGET}-ar
CC=${CTARGET}-gcc
# these should be inferred by GHC but ghc defaults
# to using bundled tools on windows.
Windres=${CTARGET}-windres
DllWrap=${CTARGET}-dllwrap
# we set the linker explicitly below
--disable-ld-override
)
case ${CTARGET} in
arm*)
# ld.bfd-2.28 does not work for ghc. Force ld.gold
# instead. This should be removed once gentoo gets
# a fix for R_ARM_COPY bug: https://sourceware.org/PR16177
econf_args+=(LD=${CTARGET}-ld.gold)
;;
sparc*)
# ld.gold-2.28 does not work for ghc. Force ld.bfd
# instead. This should be removed once gentoo gets
# a fix for missing --no-relax support bug:
# https://sourceware.org/ml/binutils/2017-07/msg00183.html
econf_args+=(LD=${CTARGET}-ld.bfd)
;;
*)
econf_args+=(LD=${CTARGET}-ld)
esac
if [[ ${CBUILD} != ${CHOST} ]]; then
# GHC bug: ghc claims not to support cross-building.
# It does, but does not distinct --host= value
# for stage1 and stage2 compiler.
econf_args+=(--host=${CBUILD})
fi
if use ghcmakebinary; then
# When building booting libary we are trying to
# bundle or restrict most of external depends
# with unstable ABI:
# - embed libffi (default GHC behaviour)
# - disable ncurses support for ghci (via haskeline)
# https://bugs.gentoo.org/557478
# - disable ncurses support for ghc-pkg
echo "libraries/haskeline_CONFIGURE_OPTS += --flag=-terminfo" >> mk/build.mk
echo "utils/ghc-pkg_HC_OPTS += -DBOOTSTRAPPING" >> mk/build.mk
elif is_native; then
# using ${GTARGET}'s libffi is not supported yet:
# GHC embeds full path for ffi includes without /usr/${CTARGET} account.
econf_args+=(--with-system-libffi)
econf_args+=(--with-ffi-includes=$($(tc-getPKG_CONFIG) libffi --cflags-only-I | sed -e 's@^-I@@'))
fi
einfo "Final mk/build.mk:"
cat mk/build.mk || die
econf ${econf_args[@]} \
--enable-bootstrap-with-devel-snapshot \
$(use_enable elfutils dwarf-unwind) \
$(use_enable numa)
if [[ ${PV} == *9999* ]]; then
GHC_PV="$(grep 'S\[\"PACKAGE_VERSION\"\]' config.status | sed -e 's@^.*=\"\(.*\)\"@\1@')"
GHC_P=${PN}-${GHC_PV}
fi
fi # ! use binary
}
src_compile() {
if ! use binary; then
# Stage1Only crosscompiler does not build stage2
if ! is_crosscompile; then
# 1. build/pax-mark compiler binary first
emake ghc/stage2/build/tmp/ghc-stage2
# 2. pax-mark (bug #516430)
pax-mark -m ghc/stage2/build/tmp/ghc-stage2
# 2. build/pax-mark haddock using ghc-stage2
if is_native; then
# non-native build does not build haddock
# due to HADDOCK_DOCS=NO, but it could.
emake utils/haddock/dist/build/tmp/haddock
pax-mark -m utils/haddock/dist/build/tmp/haddock
fi
fi
# 3. and then all the rest
emake all
fi # ! use binary
}
src_test() {
# TODO: deal with:
# - sandbox (pollutes environment)
# - extra packages (to extend testsuite coverage)
# bits are taken from 'validate'
local make_test_target='test' # can be fulltest
# not 'emake' as testsuite uses '$MAKE' without jobserver available
make $make_test_target stage=2 THREADS=$(makeopts_jobs)
}
src_install() {
if use binary; then
use prefix && mkdir -p "${ED}"
mv "${S}/usr" "${ED}"
else
[[ -f VERSION ]] || emake VERSION
# -j1 due to a rare race in install script:
# make --no-print-directory -f ghc.mk phase=final install
# /usr/lib/portage/python3.4/ebuild-helpers/xattr/install -c -m 755 \
# -d "/tmp/portage-tmpdir/portage/cross-armv7a-unknown-linux-gnueabi/ghc-9999/image/usr/lib64/armv7a-unknown-linux-gnueabi-ghc-8.3.20170404/include"
# /usr/lib/portage/python3.4/ebuild-helpers/xattr/install -c -m 644 utils/hsc2hs/template-hsc.h \
# "/tmp/portage-tmpdir/portage/cross-armv7a-unknown-linux-gnueabi/ghc-9999/image/usr/lib64/armv7a-unknown-linux-gnueabi-ghc-8.3.20170404"
# /usr/bin/install: cannot create regular file \
# '/tmp/portage-tmpdir/portage/cross-armv7a-unknown-linux-gnueabi/ghc-9999/image/usr/lib64/armv7a-unknown-linux-gnueabi-ghc-8.3.20170404': No such file or directory
emake -j1 install DESTDIR="${D}"
# Skip for cross-targets as they all share target location:
# /usr/share/doc/ghc-9999/
if ! is_crosscompile; then
dodoc "distrib/README" "LICENSE" "VERSION"
fi
# rename ghc-shipped files to avoid collision
# of external packages. Motivating example:
# user had installed:
# dev-lang/ghc-7.8.4-r0 (with transformers-0.3.0.0)
# dev-haskell/transformers-0.4.2.0
# then user tried to update to
# dev-lang/ghc-7.8.4-r1 (with transformers-0.4.2.0)
# this will lead to single .conf file collision.
local shipped_conf renamed_conf
local package_confdir="${ED}/usr/$(get_libdir)/$(cross)${GHC_P}/package.conf.d"
for shipped_conf in "${package_confdir}"/*.conf; do
# rename 'pkg-ver-id.conf' to 'pkg-ver-id-gentoo-${PF}.conf'
renamed_conf=${shipped_conf%.conf}-gentoo-${PF}.conf
mv "${shipped_conf}" "${renamed_conf}" || die
done
# remove link, but leave 'haddock-${GHC_P}'
rm -f "${ED}"/usr/bin/$(cross)haddock
if ! is_crosscompile; then
newbashcomp "${FILESDIR}"/ghc-bash-completion ghc-pkg
newbashcomp utils/completion/ghc.bash ghc
fi
fi
# path to the package.cache
local package_confdir="${ED}/usr/$(get_libdir)/$(cross)${GHC_P}/package.conf.d"
PKGCACHE="${package_confdir}"/package.cache
# copy the package.conf.d, including timestamp, save it so we can help
# users that have a broken package.conf.d
cp -pR "${package_confdir}"{,.initial} || die "failed to backup intial package.conf.d"
# copy the package.conf, including timestamp, save it so we later can put it
# back before uninstalling, or when upgrading.
cp -p "${PKGCACHE}"{,.shipped} \
|| die "failed to copy package.conf.d/package.cache"
if is_crosscompile; then
# When we build a cross-compiler the layout is the following:
# usr/lib/${CTARGET}-ghc-${VER}/ contains target libraries
# but
# usr/lib/${CTARGET}-ghc-${VER}/bin/ directory
# containst host binaries (modulo bugs).
# Portage's stripping mechanism does not skip stripping
# foreign binaries. This frequently causes binaries to be
# broken.
#
# Thus below we disable stripping of target libraries and allow
# stripping hosts executables.
dostrip -x "/usr/$(get_libdir)/$(cross)${GHC_P}"
dostrip "/usr/$(get_libdir)/$(cross)${GHC_P}/bin"
fi
}
pkg_preinst() {
# have we got an earlier version of ghc installed?
if has_version "<${CATEGORY}/${PF}"; then
haskell_updater_warn="1"
fi
}
pkg_postinst() {
ghc-reregister
# path to the package.cache
PKGCACHE="${EROOT}/usr/$(get_libdir)/$(cross)${GHC_P}/package.conf.d/package.cache"
# give the cache a new timestamp, it must be as recent as
# the package.conf.d directory.
touch "${PKGCACHE}"
if [[ "${haskell_updater_warn}" == "1" ]]; then
ewarn
ewarn "\e[1;31m************************************************************************\e[0m"
ewarn
ewarn "You have just upgraded from an older version of GHC."
ewarn "You may have to run"
ewarn " 'haskell-updater'"
ewarn "to rebuild all ghc-based Haskell libraries."
ewarn
ewarn "\e[1;31m************************************************************************\e[0m"
ewarn
fi
}
pkg_prerm() {
PKGCACHE="${EROOT}/usr/$(get_libdir)/$(cross)${GHC_P}/package.conf.d/package.cache"
rm -rf "${PKGCACHE}"
cp -p "${PKGCACHE}"{.shipped,}
}
pkg_postrm() {
ghc-package_pkg_postrm
}

Binary file not shown.

@ -12,7 +12,7 @@ if [[ "${PV}" == *9999 ]] ; then
EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/ell/ell.git"
else
SRC_URI="https://mirrors.edge.kernel.org/pub/linux/libs/${PN}/${P}.tar.xz"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~sparc x86"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~sparc x86"
fi
LICENSE="LGPL-2.1"
SLOT="0"

Binary file not shown.

@ -0,0 +1,87 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit eutils multilib
# test phase only works if ecls already installed #516876
RESTRICT="test"
MY_P=ecl-${PV}
DESCRIPTION="ECL is an embeddable Common Lisp implementation"
HOMEPAGE="https://common-lisp.net/project/ecl/"
SRC_URI="https://common-lisp.net/project/ecl/static/files/release/${MY_P}.tgz"
LICENSE="BSD-2 LGPL-2.1+"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux"
IUSE="cxx debug emacs gengc precisegc cpu_flags_x86_sse +threads +unicode X"
CDEPEND="dev-libs/gmp:0
dev-libs/libffi
dev-libs/libatomic_ops
>=dev-libs/boehm-gc-7.1[threads?]
>=dev-lisp/asdf-2.33-r3:="
DEPEND="${CDEPEND}
app-text/texi2html
emacs? ( >=app-editors/emacs-23.1:* >=app-eselect/eselect-emacs-1.12 )"
RDEPEND="${CDEPEND}"
S="${WORKDIR}"/${MY_P}
PATCHES=(
"${FILESDIR}/${PN}-16.1.3-headers-gentoo.patch"
"${FILESDIR}/${PN}-16.1.3-build.patch"
)
src_prepare() {
default
cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || die
}
src_configure() {
econf \
--with-system-gmp \
--enable-boehm=system \
--enable-longdouble=yes \
--with-dffi \
--enable-libatomic=system \
$(use_with cxx) \
$(use_enable gengc) \
$(use_enable precisegc) \
$(use_with debug debug-cflags) \
$(use_with cpu_flags_x86_sse sse) \
$(use_enable threads) \
$(use_with threads __thread) \
$(use_enable unicode) \
$(use_with unicode unicode-names) \
$(use_with X x)
}
src_compile() {
if use emacs; then
local ETAGS=$(eselect --brief etags list | sed -ne '/emacs/{p;q}')
[[ -n ${ETAGS} ]] || die "No etags implementation found"
pushd build > /dev/null || die
emake ETAGS=${ETAGS} TAGS
popd > /dev/null
else
touch build/TAGS
fi
#parallel make fails
emake -j1
}
src_install() {
emake DESTDIR="${D}" install
dodoc README.md CHANGELOG
dodoc "${FILESDIR}"/README.Gentoo
pushd build/doc
newman ecl.man ecl.1
newman ecl-config.man ecl-config.1
popd
}

@ -10,7 +10,7 @@ inherit perl-module
DESCRIPTION="A module for merging hierarchies using the C3 algorithm"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~ppc-macos ~x64-macos ~x86-solaris"
KEYWORDS="~alpha ~amd64 ~ia64 ppc ppc64 sparc x86 ~ppc-macos ~x64-macos ~x86-solaris"
IUSE="test"
RESTRICT="!test? ( test )"

@ -0,0 +1,16 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DIST_AUTHOR=RJBS
DIST_VERSION=1.201
DIST_EXAMPLES="bin/*"
inherit perl-module
DESCRIPTION="Compute intelligent differences between two files / lists"
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"
BDEPEND="virtual/perl-ExtUtils-MakeMaker"

@ -1 +1,2 @@
DIST Algorithm-Diff-1.1903.tar.gz 34174 BLAKE2B 85d64400c722d9547efb0c63d717f9c70cdd9f3b8282ca67d1b513507adeba0af68b2e45fe46c53ebaea85c3cd3f4e6d894c68d68587d88b01ba3eb362bf1458 SHA512 61632be4c19a03ccacaa218ab7cb8bdbc53a4a6030b8173a59c7611056375536788392c1da00ab88f3df9884fc8a67825efc83b70e2e564664d5187021d6b106
DIST Algorithm-Diff-1.201.tar.gz 30047 BLAKE2B 7502eec51e0fd40883b176947853e2f68fdc524545413eec2147ac5de9c1e062cba44b2939c2221b81e63ebb1ed98fc1912447941f710d4676f7e33ab6d1064c SHA512 b22b55f4e45748da0e8aca556dc2155ef2dbcfe42ac5cbe4aa59e4cc13c95a141e6324a9ab0acd7fbc3d97e761e0778176df0f7e726af837a7b7d075106ad8d0

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

@ -1,2 +1,2 @@
DIST Lab-Measurement-3.721.tar.gz 615005 BLAKE2B 90982b7d5cbb1b62c3bd2444645649e39704d44e519e6484dabb3702fbdfccf82ea5af1c6ba31b5f75eca4a779eaac4d83cb6fe92232ae4bdde4618d7e5477a4 SHA512 4d5e493339c7d50f96dae999d1f2c2fe59e9e970862f4ac8747a4e9e89aad72e1c72801bffddcf9f1e7a434f9eb6b23a21f563cd1612fdb2b986af9ea118e731
DIST Lab-Measurement-3.740.tar.gz 630593 BLAKE2B d3b7bb07e9a99f993a900fc8bcf391c69999f052535dc505259dd212374a3a2fc681d187a0c3119be915dfaf698901defc9686b38f1b0c11772182bf5f64bd2e SHA512 b036821a3af73d2278dbfd0e08efb5f5eb1f07a71203ba0a85208bdbab7142e0182f9bae6045233bbbb3d992d6598cc5c3401ef7c2e694ddbd3f3a6884271b70
DIST Lab-Measurement-3.741.tar.gz 621051 BLAKE2B bcde314015e410aec93e4bace1990621f58bc81dc3f010f27a37295b70432f3f65b0d46382e18bb57b18b00c3001a1757647a9f35cfe8a214036dd57bc27a64f SHA512 f1b43177c720a10567c99edfba78c0c35659f1b82b2eb03f66e383767a9ef5b415c9014b50013ba5caddf67bb4bd87dadea4295923a161f53a85d23ae8d8c6a0

Binary file not shown.

@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>kentnl@gentoo.org</email>
<name>Kent Fredric</name>
</maintainer>
<maintainer type="project">
<email>perl@gentoo.org</email>
<name>Gentoo Perl Project</name>

@ -4,9 +4,6 @@
<maintainer type="person">
<email>monsieurp@gentoo.org</email>
</maintainer>
<maintainer type="person">
<email>kentnl@gentoo.org</email>
</maintainer>
<maintainer type="project">
<email>perl@gentoo.org</email>
<name>Gentoo Perl Project</name>

Binary file not shown.

@ -1,5 +1 @@
DIST aiohttp-3.6.2.tar.gz 1076923 BLAKE2B 14327a0bc5b5fffdf436a4c3525e4c25d80100aa464ed652316f7724c2bea6de4ace6c27e8a2a8cf9d895673ed63ed52e8c958ad611636e1e524a4e40efa4735 SHA512 49bd3089158c05ff6312420190ccd7fed95efb4a18b8aff7497d5507c71c692080d6949801edabdcd95379ca8e6614398408118d72ff1e782399e059e2cfc1a8
DIST aiohttp-3.7.1.tar.gz 1111777 BLAKE2B 03d16e8c9d64ec407cf7b6dbbf5547a88f528ab23e9e256559c11fc2cb6f568101f79dad89b0e5698fd02a3918051e4bc3c349e3ea4358ecb5de1543fea91708 SHA512 accdd588fdd7ba1792cf5e8fb67c6d5dd3e1c5382d9c9ece14e449d6f4f1c116975809d2dad786e0d472b3bb54e3b8c59722be871401a82cef5eff9c12f3c3f8
DIST aiohttp-3.7.2.tar.gz 1111049 BLAKE2B faffc582f2c72ff892862b5b782da75b381e59b21b284b1120e4edb16f22b760f8cabe56261061e0049a5dfd041456076e294e942a02309e9b3d6b414facb0cb SHA512 2dd4f0264f1fb0801be366c269b73dd80b542e8e5bfe18a01fbdfadd0210022ccd6e3975be1be416551ccce82f42881e18735d5c6fc68a42b7452ab18e157dc5
DIST aiohttp-3.7.3.tar.gz 1113127 BLAKE2B 47d95565db1184c6b55a1e7d7a6df8cda872e4fe621f653e3143608f51dde2c7d30d00835da357dd7ae33f4858ad5778074dfde5261331a3539a5d6776ea1a25 SHA512 d1dbbe3cbdeb1a460f5030a08a251a7bb7ae7ec038ca93ba5187b2da1fe21b80ed6513db647ef382d2d92a3d527a34dffbd37f51aa1e8b65bb36d517304b1812
DIST aiohttp-3.7.4.tar.gz 1114533 BLAKE2B dcae3e66e13df8264d731a3ca65b4718feca8d0e6e1baeb6608dcb9bfb4bd4baaed6bd34297ed5ece78d01189bf9a0b9860845cae4e2b93cc2ba463cc35cfb77 SHA512 66fcc837b388020dc998cbaa2db31e48ecec75bcfaa8af9108e2ea265588dafa5684ca96a8fe3ad6759b22e09a4ae6d4efd8653fb76126eccdc826c15cbbe2e6

@ -1,156 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7..9} )
inherit distutils-r1
DESCRIPTION="http client/server for asyncio"
HOMEPAGE="https://pypi.org/project/aiohttp/"
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
IUSE="doc test"
RESTRICT="!test? ( test )"
COMMON_DEPEND="
>=dev-python/async_timeout-3.0.0[${PYTHON_USEDEP}]
>=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
dev-python/chardet[${PYTHON_USEDEP}]
>=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
>=dev-python/yarl-1.0[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
dev-python/idna-ssl[${PYTHON_USEDEP}]
' python3_6)
dev-python/typing-extensions[${PYTHON_USEDEP}]
"
DEPEND="
dev-python/cython[${PYTHON_USEDEP}]
test? (
${COMMON_DEPEND}
!!dev-python/pytest-aiohttp
dev-python/async_generator[${PYTHON_USEDEP}]
dev-python/brotlipy[${PYTHON_USEDEP}]
dev-python/freezegun[${PYTHON_USEDEP}]
www-servers/gunicorn[${PYTHON_USEDEP}]
>=dev-python/pytest-3.4.0[${PYTHON_USEDEP}]
dev-python/pytest-mock[${PYTHON_USEDEP}]
dev-python/pytest-timeout[${PYTHON_USEDEP}]
dev-python/trustme[${PYTHON_USEDEP}]
)
"
RDEPEND="${COMMON_DEPEND}"
DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
distutils_enable_sphinx docs \
'>=dev-python/alabaster-0.6.2' \
'dev-python/sphinxcontrib-asyncio' \
'dev-python/sphinxcontrib-blockdiag' \
'dev-python/sphinxcontrib-newsfeed' \
'dev-python/sphinxcontrib-spelling' \
'dev-python/sphinx' \
'dev-python/sphinx-aiohttp-theme'
distutils_enable_tests pytest || die "Tests fail with ${EPYTHON}"
python_prepare_all() {
sed -e 's|^async def test_aiohttp_request_coroutine(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_handle_keepalive_on_closed_connection(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_server_close_keepalive_connection(|@pytest.mark.xfail\n\0|' \
-i tests/test_client_functional.py || die
sed -e 's|^async def test_request_tracing_exception(|@pytest.mark.xfail\n\0|' \
-i tests/test_client_session.py || die
sed -e 's|^async def test_cleanup2(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_cleanup3(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_close(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_close_abort_closed_transports(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_close_cancels_cleanup_closed_handle(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_close_cancels_cleanup_handle(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_close_during_connect(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_close_twice(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_close_with_acquired_connection(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_connect_queued_operation_tracing(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_connect_reuseconn_tracing(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_connect_with_limit(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_connect_with_limit_and_limit_per_host(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_connect_with_limit_concurrent(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_connect_with_no_limit_and_limit_per_host(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_connect_with_no_limits(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_get(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_get_expired(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_get_expired_ssl(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_limit_per_host_property(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_limit_per_host_property_default(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_limit_property(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_limit_property_default(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_release(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_release_acquired(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_release_acquired_closed(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_release_already_closed(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_release_close_do_not_delete_existing_connections(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_release_not_started(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_release_ssl_transport(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_release_waiter_first_available(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_release_waiter_no_available(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_release_waiter_no_limit(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_release_waiter_per_host(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_release_waiter_release_first(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_release_waiter_skip_done_waiter(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_tcp_connector_dns_throttle_requests_cancelled_when_close(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_tcp_connector_do_not_raise_connector_ssl_error(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_tcp_connector_uses_provided_local_addr(|@pytest.mark.xfail\n\0|' \
-i tests/test_connector.py || die
sed -e 's|^ async def test_read_boundary_with_incomplete_chunk(| @pytest.mark.xfail\n\0|' \
-e 's|^ async def test_read_incomplete_chunk(| @pytest.mark.xfail\n\0|' \
-i tests/test_multipart.py || die
sed -e 's|^def test_aiohttp_plugin_async_fixture(|@pytest.mark.xfail\n\0|' \
-i tests/test_pytest_plugin.py || die
sed -e 's|^def test_static(|@pytest.mark.xfail\n\0|' \
-i tests/test_route_def.py || die
sed -e 's|^async def test_mixed_middleware(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_new_style_middleware_class(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_new_style_middleware_method(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_old_style_middleware(|@pytest.mark.xfail\n\0|' \
-e 's|^async def test_old_style_middleware_class(|@pytest.mark.xfail\n\0|' \
-i tests/test_web_middleware.py || die
sed -e 's|^async def test_client_disconnect(|@pytest.mark.xfail\n\0|' \
-i tests/test_web_protocol.py || die
sed -e 's|^async def test_static_file_range(|@pytest.mark.xfail\n\0|' \
-i tests/test_web_sendfile_functional.py || die
sed -e 's|^async def test_partially_applied_handler(|@pytest.mark.xfail\n\0|' \
-i tests/test_web_urldispatcher.py || die
# minor breakages on py3.9
sed -e 's:test_iface:_&:' \
-i tests/test_frozenlist.py || die
sed -e 's:test_proxy_https_bad_response:_&:' \
-i tests/test_proxy_functional.py || die
# newer chardet works too
sed -e 's|chardet>=2.0,<4.0|chardet>=2.0|' \
-i setup.py aiohttp.egg-info/requires.txt || die
distutils-r1_python_prepare_all
}
python_test() {
pushd "${BUILD_DIR}/lib" >/dev/null || die
ln -snf "${S}/tests" tests || die
pytest -vv || die "Tests fail with ${EPYTHON}"
rm -rf .pytest_cache tests || die
popd >/dev/null || die
}

@ -1,90 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7..9} )
inherit distutils-r1 multiprocessing
DESCRIPTION="http client/server for asyncio"
HOMEPAGE="https://pypi.org/project/aiohttp/"
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86"
RDEPEND="
>=dev-python/async_timeout-3.0.0[${PYTHON_USEDEP}]
>=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
dev-python/chardet[${PYTHON_USEDEP}]
>=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
>=dev-python/yarl-1.0[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
dev-python/idna-ssl[${PYTHON_USEDEP}]
' python3_6)
dev-python/typing-extensions[${PYTHON_USEDEP}]
"
BDEPEND="
dev-python/cython[${PYTHON_USEDEP}]
test? (
!!dev-python/pytest-aiohttp
dev-python/async_generator[${PYTHON_USEDEP}]
dev-python/brotlipy[${PYTHON_USEDEP}]
dev-python/freezegun[${PYTHON_USEDEP}]
www-servers/gunicorn[${PYTHON_USEDEP}]
dev-python/pytest-forked[${PYTHON_USEDEP}]
dev-python/pytest-mock[${PYTHON_USEDEP}]
dev-python/pytest-timeout[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
dev-python/trustme[${PYTHON_USEDEP}]
)
"
DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
distutils_enable_tests pytest
distutils_enable_sphinx docs \
'>=dev-python/alabaster-0.6.2' \
'dev-python/sphinxcontrib-asyncio' \
'dev-python/sphinxcontrib-blockdiag' \
'dev-python/sphinxcontrib-newsfeed' \
'dev-python/sphinxcontrib-spelling' \
'dev-python/sphinx' \
'dev-python/sphinx-aiohttp-theme'
python_prepare_all() {
# Fails due to a warning
sed -e 's:test_read_boundary_with_incomplete_chunk:_&:' \
-i tests/test_multipart.py || die
# with py3.7+
sed -e 's:test_aiohttp_request_coroutine:_&:' \
-i tests/test_client_functional.py || die
# Fails due to path mismatch
sed -e 's:test_static:_&:' \
-i tests/test_route_def.py || die
# Internet
sed -e 's:test_mark_formdata_as_processed:_&:' \
-i tests/test_formdata.py || die
# newer chardet works too
sed -e 's|chardet>=2.0,<4.0|chardet>=2.0|' \
-i setup.py aiohttp.egg-info/requires.txt || die
# takes a very long time, then fails
rm tests/test_pytest_plugin.py || die
distutils-r1_python_prepare_all
}
python_test() {
pushd "${BUILD_DIR}/lib" >/dev/null || die
ln -snf "${S}"/{LICENSE.txt,tests} . || die
pytest -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" --forked \
-vv tests || die "Tests fail with ${EPYTHON}"
rm -rf .pytest_cache tests || die
popd >/dev/null || die
}

@ -1,91 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7..9} )
inherit distutils-r1 multiprocessing
DESCRIPTION="http client/server for asyncio"
HOMEPAGE="https://pypi.org/project/aiohttp/"
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 arm arm64 ~ia64 ppc ppc64 sparc ~x86"
RDEPEND="
>=dev-python/async_timeout-3.0.0[${PYTHON_USEDEP}]
>=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
dev-python/chardet[${PYTHON_USEDEP}]
>=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
>=dev-python/yarl-1.0[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
dev-python/idna-ssl[${PYTHON_USEDEP}]
' python3_6)
dev-python/typing-extensions[${PYTHON_USEDEP}]
"
BDEPEND="
dev-python/cython[${PYTHON_USEDEP}]
test? (
!!dev-python/pytest-aiohttp
dev-python/async_generator[${PYTHON_USEDEP}]
dev-python/brotlipy[${PYTHON_USEDEP}]
dev-python/freezegun[${PYTHON_USEDEP}]
www-servers/gunicorn[${PYTHON_USEDEP}]
dev-python/pytest-forked[${PYTHON_USEDEP}]
dev-python/pytest-mock[${PYTHON_USEDEP}]
dev-python/pytest-timeout[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
dev-python/re-assert[${PYTHON_USEDEP}]
dev-python/trustme[${PYTHON_USEDEP}]
)
"
DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
distutils_enable_tests pytest
distutils_enable_sphinx docs \
'>=dev-python/alabaster-0.6.2' \
'dev-python/sphinxcontrib-asyncio' \
'dev-python/sphinxcontrib-blockdiag' \
'dev-python/sphinxcontrib-newsfeed' \
'dev-python/sphinxcontrib-spelling' \
'dev-python/sphinx' \
'dev-python/sphinx-aiohttp-theme'
python_prepare_all() {
# Fails due to a warning
sed -e 's:test_read_boundary_with_incomplete_chunk:_&:' \
-i tests/test_multipart.py || die
# with py3.7+
sed -e 's:test_aiohttp_request_coroutine:_&:' \
-i tests/test_client_functional.py || die
# Fails due to path mismatch
sed -e 's:test_static:_&:' \
-i tests/test_route_def.py || die
# Internet
sed -e 's:test_mark_formdata_as_processed:_&:' \
-i tests/test_formdata.py || die
# newer chardet works too
sed -e 's|chardet>=2.0,<4.0|chardet>=2.0|' \
-i setup.py aiohttp.egg-info/requires.txt || die
# takes a very long time, then fails
rm tests/test_pytest_plugin.py || die
distutils-r1_python_prepare_all
}
python_test() {
pushd "${BUILD_DIR}/lib" >/dev/null || die
ln -snf "${S}"/{LICENSE.txt,tests} . || die
pytest -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" --forked \
-vv tests || die "Tests fail with ${EPYTHON}"
rm -rf .pytest_cache tests || die
popd >/dev/null || die
}

@ -1,91 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7..9} )
inherit distutils-r1 multiprocessing
DESCRIPTION="http client/server for asyncio"
HOMEPAGE="https://pypi.org/project/aiohttp/"
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86"
RDEPEND="
>=dev-python/async_timeout-3.0.0[${PYTHON_USEDEP}]
>=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
dev-python/chardet[${PYTHON_USEDEP}]
>=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
>=dev-python/yarl-1.0[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
dev-python/idna-ssl[${PYTHON_USEDEP}]
' python3_6)
dev-python/typing-extensions[${PYTHON_USEDEP}]
"
BDEPEND="
dev-python/cython[${PYTHON_USEDEP}]
test? (
!!dev-python/pytest-aiohttp
dev-python/async_generator[${PYTHON_USEDEP}]
dev-python/brotlipy[${PYTHON_USEDEP}]
dev-python/freezegun[${PYTHON_USEDEP}]
www-servers/gunicorn[${PYTHON_USEDEP}]
dev-python/pytest-forked[${PYTHON_USEDEP}]
dev-python/pytest-mock[${PYTHON_USEDEP}]
dev-python/pytest-timeout[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
dev-python/re-assert[${PYTHON_USEDEP}]
dev-python/trustme[${PYTHON_USEDEP}]
)
"
DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
distutils_enable_tests pytest
distutils_enable_sphinx docs \
'>=dev-python/alabaster-0.6.2' \
'dev-python/sphinxcontrib-asyncio' \
'dev-python/sphinxcontrib-blockdiag' \
'dev-python/sphinxcontrib-newsfeed' \
'dev-python/sphinxcontrib-spelling' \
'dev-python/sphinx' \
'dev-python/sphinx-aiohttp-theme'
python_prepare_all() {
# Fails due to a warning
sed -e 's:test_read_boundary_with_incomplete_chunk:_&:' \
-i tests/test_multipart.py || die
# with py3.7+
sed -e 's:test_aiohttp_request_coroutine:_&:' \
-i tests/test_client_functional.py || die
# Fails due to path mismatch
sed -e 's:test_static:_&:' \
-i tests/test_route_def.py || die
# Internet
sed -e 's:test_mark_formdata_as_processed:_&:' \
-i tests/test_formdata.py || die
# newer chardet works too
sed -e 's|chardet>=2.0,<4.0|chardet>=2.0|' \
-i setup.py aiohttp.egg-info/requires.txt || die
# takes a very long time, then fails
rm tests/test_pytest_plugin.py || die
distutils-r1_python_prepare_all
}
python_test() {
pushd "${BUILD_DIR}/lib" >/dev/null || die
ln -snf "${S}"/{LICENSE.txt,tests} . || die
pytest -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" --forked \
-vv tests || die "Tests fail with ${EPYTHON}"
rm -rf .pytest_cache tests || die
popd >/dev/null || die
}

@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86"
RDEPEND="
>=dev-python/async_timeout-3.0.0[${PYTHON_USEDEP}]

@ -0,0 +1 @@
DIST cython-test-exception-raiser-1.0.0.gh.tar.gz 4273 BLAKE2B 028c3ded07b137a186055b4fa8f9d7306585942ad7ee022a37b3df065dae5d2110d6ddcd874f3dc2c687f10da1122329194b817b1a78a76ff8de557997ca2a19 SHA512 4e1c5dd65a7c493cf43213badfcaaeb0df9c4774cc6f90cfd437612126893e7831d218c707599adb97dbee7ebaaa2372c796c634d75738bd06328735eb8f1189

@ -0,0 +1,21 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7..9} )
inherit distutils-r1
DESCRIPTION="A trivial extension that just raises an exception (for testing)"
HOMEPAGE="
https://pypi.org/project/cython-test-exception-raiser/
https://github.com/twisted/cython-test-exception-raiser/"
SRC_URI="
https://github.com/twisted/cython-test-exception-raiser/archive/v${PV}.tar.gz
-> ${P}.gh.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
BDEPEND="dev-python/cython[${PYTHON_USEDEP}]"

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
<upstream>
<remote-id type="pypi">cython-test-exception-raiser</remote-id>
<remote-id type="github">twisted/cython-test-exception-raiser</remote-id>
</upstream>
</pkgmetadata>

@ -1,2 +1 @@
DIST pyrqlite-2.0.tar.gz 7224 BLAKE2B f3de4d4d6f0598c6dc21e323db4c717f7f8dc85f6e592ea9dfb209ba778d1f16049d40e39b8d98c94dec61c02949ba1fabeae29e25ec8afbe4810df52b6210df SHA512 9d284161e492683955000dd3e3f0593b79e69ba5eb087bee4d3ffc1e4be9de1c362212936b10e1781538eacd838e6ed22adfc82e8cc0dd00e1d3318a4dc14720
DIST pyrqlite-2.1.tar.gz 19069 BLAKE2B f5ce9c1201632e81ba6f7f41e3ef54bd5fff354c869e73879e8b324ad12aea6476eb197119a22ba15d58c9ab3503435b0110ce9bfe2c21d16fe10b44afbe486a SHA512 6a63860378021b29ec0e8d81cf2c3534c97cec2c65d60e8ac2ec9b0a7900efb9a9a63546da44d8be89570eae2fd47eca4004167d11438b2dd9eb6bc68e646bad

@ -1,27 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_{7..9} )
inherit distutils-r1
if [[ ${PV} == *9999* ]]; then
inherit git-r3
fi
DESCRIPTION="Python client for rqlite"
EGIT_REPO_URI="https://github.com/rqlite/pyrqlite.git"
HOMEPAGE="https://github.com/rqlite/pyrqlite"
SRC_URI="${EGIT_REPO_URI%.git}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
distutils_enable_tests pytest
src_prepare() {
sed -e "s:^__version__ = .*:__version__ = '${PV}':" -i src/${PN}/constants.py || die
distutils-r1_src_prepare
}

@ -13,6 +13,9 @@ SRC_URI="https://github.com/rqlite/pyrqlite/archive/v${PV}.tar.gz -> ${P}.tar.gz
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
BDEPEND="test? ( dev-db/rqlite )"
distutils_enable_tests pytest

@ -12,7 +12,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha amd64 arm ~arm64 ~ia64 ~mips ~sparc x86"
KEYWORDS="~alpha amd64 arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc x86"
IUSE="qt5"
RDEPEND="

@ -1,2 +1 @@
DIST sqlalchemy-rqlite-1.0.tar.gz 3910 BLAKE2B c2a07ba91812ea2223bdea4e715b364a96b66057f2ed1c7bc0d373860880f3e0d7188ea8d513b127d8c7138695b9703b4a2ed5f6a4a001a8b2ae68020189a058 SHA512 794d0a1d80803f624af4b530efe277947d3a8fa7001df2177de6bdb34ffc9fc76e22c8b73caad7cda02429ddc251fdcbdd8e95ea286a6540054efb28ee53d2bb
DIST sqlalchemy-rqlite-1.1.tar.gz 4281 BLAKE2B 09cee627790d15715c0124a1065f5cc2c72820a652a99e4c2088de21c980071f27c451e438e84d4c92222d19b651b0e239fac8280c2bbb33c55e76c9b77868b7 SHA512 da11cadd2b6dd0f3501bdf717ad7dd7552edfcf7f32a57ce09b6dadc7eb7fb31fd92e7143151a3e3b2d5f75793f6e5096d13dbe446cb71cfa901d6ff8d4c6e12

@ -1,33 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7..9} )
DISTUTILS_USE_SETUPTOOLS=bdepend
inherit distutils-r1
if [[ ${PV} == *9999* ]]; then
inherit git-r3
fi
DESCRIPTION="A SQLAlchemy dialect for rqlite"
EGIT_REPO_URI="https://github.com/rqlite/sqlalchemy-rqlite.git"
HOMEPAGE="https://github.com/rqlite/sqlalchemy-rqlite"
SRC_URI="${EGIT_REPO_URI%.git}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="
dev-python/pyrqlite[${PYTHON_USEDEP}]
dev-python/sqlalchemy[${PYTHON_USEDEP}]"
distutils_enable_tests pytest
src_prepare() {
sed -e "s:^__version__ = .*:__version__ = '${PV}':" -i src/sqlalchemy_rqlite/constants.py || die
distutils-r1_src_prepare
}

@ -1,32 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7..9} )
DISTUTILS_USE_SETUPTOOLS=bdepend
inherit distutils-r1
if [[ ${PV} == *9999* ]]; then
inherit git-r3
fi
DESCRIPTION="A SQLAlchemy dialect for rqlite"
EGIT_REPO_URI="https://github.com/rqlite/sqlalchemy-rqlite.git"
HOMEPAGE="https://github.com/rqlite/sqlalchemy-rqlite"
LICENSE="MIT"
SLOT="0"
KEYWORDS=""
RDEPEND="
dev-python/pyrqlite[${PYTHON_USEDEP}]
dev-python/sqlalchemy[${PYTHON_USEDEP}]"
distutils_enable_tests pytest
src_prepare() {
sed -e "s:^__version__ = .*:__version__ = '${PV}':" -i src/sqlalchemy_rqlite/constants.py || die
distutils-r1_src_prepare
}

@ -1,3 +1,4 @@
DIST Twisted-19.10.0.tar.bz2 3118485 BLAKE2B a0d532b67177aa017e463bf823d7842d4f6ff694f78cd7600865718ffe861023a53ea6a922f7de232133edba26f5255074d7ef277ce8f3bdf02d556ccf4abf41 SHA512 de8d7fd0b2081cebeff68b060c8469377011648bc563a94a993d3530fb007ed42c3a54925c9a10c465ee7a3065cc9108ace12d10d358223fab13494becb9ac4b
DIST Twisted-20.3.0.tar.bz2 3127793 BLAKE2B 2e85fc3ec26d89e563c9e79a5d2adea81ff1745d18f0f92b8d45ae3729fbddf09998664257880372c7a4caeb5977c5cad7c863596b8c27ad7890275cead9f763 SHA512 1b850e5fc21a3630ead4c2cc3622c16e78bb3be38ab11d021779b7ce3d3c30acc4e19d79c7791a5fce6c5c6e09c2baa349901dffe952de67dd98eec419846365
DIST twisted-21.2.0.tar.gz 3882978 BLAKE2B ba37572b0f9eadf2962a2730e4c2c0ed65f582b11b3350034660a2c53c5cd0892b19867d19e0201d4808c09fca621dbe540d153dc6c7d5827d45d2423d19d28b SHA512 fa743dcf22f3c17dfd17f39b7df0cc31fb8ce3e989478ada9a026424ec2de35e6a403ef35acdef5905eed008d42e3c2fee6b7ccdda433e6c250f1feaa83ea8a4
DIST twisted-regen-cache.gz 911 BLAKE2B ffd3fcda6c67ffe6fd3ef581c8d507548396b66ed0708e9a5c790095e579c0d5f0f71596acf05712989da2ddef2b8d437eca973bc4d80ef8a9fa852915f38305 SHA512 95a9b931c73017d16d1b5e6b41345dddffe62b6af1a8e93b5e40d06d3d15be17b0dd0181c767ffeeb791534d463764ef9e066fa6c2ee2ac4b53c86d1da8fce03

@ -0,0 +1,167 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DISTUTILS_USE_SETUPTOOLS=rdepend
PYTHON_COMPAT=( python3_{7..9} )
PYTHON_REQ_USE="threads(+)"
inherit distutils-r1 virtualx
DESCRIPTION="An asynchronous networking framework written in Python"
HOMEPAGE="https://www.twistedmatrix.com/trac/"
SRC_URI="
https://github.com/twisted/twisted/archive/${P}.tar.gz
https://dev.gentoo.org/~mgorny/dist/twisted-regen-cache.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="conch crypt http2 serial test"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
>=dev-python/automat-0.3.0[${PYTHON_USEDEP}]
>=dev-python/constantly-15.1.0[${PYTHON_USEDEP}]
>=dev-python/hyperlink-17.1.1[${PYTHON_USEDEP}]
>=dev-python/incremental-16.10.1[${PYTHON_USEDEP}]
>=dev-python/pyhamcrest-1.9.0[${PYTHON_USEDEP}]
>=dev-python/zope-interface-4.4.2[${PYTHON_USEDEP}]
conch? (
>=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
dev-python/bcrypt[${PYTHON_USEDEP}]
>=dev-python/cryptography-1.5.0[${PYTHON_USEDEP}]
dev-python/pyasn1[${PYTHON_USEDEP}]
)
crypt? (
>=dev-python/pyopenssl-16.0.0[${PYTHON_USEDEP}]
dev-python/service_identity[${PYTHON_USEDEP}]
>=dev-python/idna-0.6[${PYTHON_USEDEP}]
)
serial? ( >=dev-python/pyserial-3.0[${PYTHON_USEDEP}] )
http2? (
>=dev-python/hyper-h2-3.0.0[${PYTHON_USEDEP}]
<dev-python/hyper-h2-4.0.0[${PYTHON_USEDEP}]
>=dev-python/priority-1.1.0[${PYTHON_USEDEP}]
<dev-python/priority-2.0[${PYTHON_USEDEP}]
)
!dev-python/twisted-core
!dev-python/twisted-conch
!dev-python/twisted-lore
!dev-python/twisted-mail
!dev-python/twisted-names
!dev-python/twisted-news
!dev-python/twisted-pair
!dev-python/twisted-runner
!dev-python/twisted-words
!dev-python/twisted-web
"
BDEPEND="
>=dev-python/incremental-16.10.1[${PYTHON_USEDEP}]
test? (
>=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
>=dev-python/constantly-15.1.0[${PYTHON_USEDEP}]
>=dev-python/cryptography-0.9.1[${PYTHON_USEDEP}]
dev-python/cython-test-exception-raiser[${PYTHON_USEDEP}]
dev-python/gmpy[${PYTHON_USEDEP}]
dev-python/idna[${PYTHON_USEDEP}]
dev-python/pyasn1[${PYTHON_USEDEP}]
>=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]
dev-python/pyserial[${PYTHON_USEDEP}]
dev-python/service_identity[${PYTHON_USEDEP}]
net-misc/openssh
)
"
S=${WORKDIR}/${PN}-${P}
python_prepare_all() {
# upstream test for making releases; not very useful and requires
# sphinx (including on py2)
rm src/twisted/python/test/test_release.py || die
# puts system in EMFILE state, then the exception handler may fail
# trying to open more files due to some gi magic
sed -e '/SKIP_EMFILE/s:False:True:' \
-i src/twisted/internet/test/test_tcp.py || die
# multicast tests fail within network-sandbox
sed -e 's:test_joinLeave:_&:' \
-e 's:test_loopback:_&:' \
-e 's:test_multiListen:_&:' \
-e 's:test_multicast:_&:' \
-i src/twisted/test/test_udp.py || die
# accesses /dev/net/tun
sed -e '/class RealDeviceTestsMixin/a\
skip = "Requires extra permissions"' \
-i src/twisted/pair/test/test_tuntap.py || die
# relies on the pre-CVE parse_qs() behavior in Python
sed -e '/d=c;+=f/d' \
-i src/twisted/web/test/test_http.py || die
distutils-r1_python_prepare_all
}
src_test() {
virtx distutils-r1_src_test
}
python_test() {
# TODO: upstream seems to override our build paths
distutils_install_for_testing
"${EPYTHON}" -m twisted.trial twisted ||
die "Tests failed with ${EPYTHON}"
}
python_install() {
distutils-r1_python_install
cd "${D}$(python_get_sitedir)" || die
# own the dropin.cache so we don't leave orphans
touch twisted/plugins/dropin.cache || die
python_doscript "${WORKDIR}"/twisted-regen-cache
}
python_install_all() {
distutils-r1_python_install_all
newconfd "${FILESDIR}/twistd.conf" twistd
newinitd "${FILESDIR}/twistd.init" twistd
}
python_postinst() {
twisted-regen-cache || die
}
pkg_postinst() {
python_foreach_impl python_postinst
einfo "Install complete"
if use test ; then
einfo ""
einfo "Some tests have been disabled during testing due to"
einfo "known incompatibilities with the emerge sandboxes and/or"
einfo "not runnable as the root user."
einfo "For a complete test suite run on the code."
einfo "Run the tests as a normal user for each python it is installed to."
einfo " ie: $ python3.6 /usr/bin/trial twisted"
fi
}
python_postrm() {
rm -f "${ROOT}$(python_get_sitedir)/twisted/plugins/dropin.cache" || die
}
pkg_postrm() {
# if we're removing the last version, remove the cache file
if [[ ! ${REPLACING_VERSIONS} ]]; then
python_foreach_impl python_postrm
fi
}

Binary file not shown.

@ -1,18 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>troy@lump.net</email>
<name>Troy Bowman</name>
</maintainer>
<maintainer type="project">
<email>ruby@gentoo.org</email>
<name>Gentoo Ruby Project</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
<remote-id type="rubygems">ruby-oci8</remote-id>
</upstream>

Binary file not shown.

@ -13,6 +13,7 @@
engine to make build configuration tasks a breeze.
</longdescription>
<upstream>
<remote-id type="github">premake/premake-core</remote-id>
<remote-id type="sourceforge">premake</remote-id>
</upstream>
</pkgmetadata>

Binary file not shown.

@ -58,6 +58,12 @@ RDEPEND="
sys-kernel/installkernel-systemd-boot
)
initramfs? ( >=sys-kernel/dracut-049-r3 )"
# needed by objtool that is installed along with the kernel and used
# to build external modules
# NB: linux-mod.eclass also adds this dep but it's cleaner to have
# it here, and resolves QA warnings: https://bugs.gentoo.org/732210
RDEPEND+="
virtual/libelf"
BDEPEND="
test? (
dev-tcltk/expect
@ -211,9 +217,15 @@ kernel-install_test() {
local qemu_arch=$(kernel-install_get_qemu_arch)
# NB: if you pass a path that does not exist or is not a regular
# file/directory, dracut will silently ignore it and use the default
# https://github.com/dracutdevs/dracut/issues/1136
> "${T}"/empty-file || die
mkdir -p "${T}"/empty-directory || die
dracut \
--conf /dev/null \
--confdir /dev/null \
--conf "${T}"/empty-file \
--confdir "${T}"/empty-directory \
--no-hostonly \
--kmoddir "${modules}" \
"${T}/initrd" "${version}" || die

Binary file not shown.

@ -1,2 +1,3 @@
DIST stockfish-10-src.zip 174377 BLAKE2B 58142b16f59f15773c8811d6e10588dbc680c94cd504d26f4ca285dbe632d845ede06571e501a4e2b77adbb9b00d91978236ff179a46a73dc9a03cfa1ae3490c SHA512 959c4f3c497ba3108884dabc38de824f11781ae57b4ab5fdf25daf9a7fc0326e663adb1c081b8c8d57a7bf5f2e941369502a50a0c93135a001c6bd1af360d0f8
DIST stockfish-11.tar.gz 145868 BLAKE2B a4b7b523492cb37206f475cc6d7c512be2a626836e15e0cb0e98d43bf1737e569a6be5f2e87c7633c0802b44863130e7bfe47e49e99ec05015f150ff1baa9755 SHA512 3e6035d422d04a47c9fba61f3815f2be645c6c5cc8c57cc6b17f8f1f2a30651da9c51bafc19b17d4a843be1900b00c5b90e3d6fdd2c6ced45be7510feeb3559a
DIST stockfish-13-nn-62ef826d1a6d.nnue 21022697 BLAKE2B 013396fec72e14dfb90ca308bdcbaf98f27b29feb03cb2c855f521dc33d0787de51812cb2a52e4aa94622120fc89a5f2302fd6296a4fb1db33e0de57156a41c3 SHA512 25a0a1b5c440fcfaa8ee122391fbb075e4b4e6bdacae816a2897bb346c0d5c459ae464fc7680414e87eadf2a5a00565d4f3ac2c559fea4bdddd1e4a38874fba7
DIST stockfish-13.tar.gz 181226 BLAKE2B ab6f2afccce2b4767c69d07c18aa611cb71388aae9b27e8a6c95b61db4a27c18b0e7a21aa30e10b4b56d018c1a4146dcea4896c4d68d7a9f297fa0758739ce9c SHA512 5ee6581b8324ed32f02ed0f1ea5df311635203e5f1806d00f9819ad076ef4082481f8ecebbb531154cbb120bb2b396c738c3ef2e2e6ee0fd6a5bd6ff88192706

@ -1,4 +1,4 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -8,7 +8,10 @@ inherit toolchain-funcs
DESCRIPTION="Free UCI chess engine, claimed to be the strongest in the world"
HOMEPAGE="https://stockfishchess.org/"
SRC_URI="https://github.com/official-stockfish/Stockfish/archive/sf_${PV}.tar.gz -> ${P}.tar.gz"
NNUE_FILE="nn-62ef826d1a6d.nnue"
SRC_URI="https://github.com/official-stockfish/Stockfish/archive/sf_${PV}.tar.gz -> ${P}.tar.gz
https://tests.stockfishchess.org/api/nn/${NNUE_FILE} -> ${P}-${NNUE_FILE}"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
@ -23,6 +26,8 @@ S="${WORKDIR}/Stockfish-sf_${PV}/src"
src_prepare() {
default
cp "${DISTDIR}"/${P}-${NNUE_FILE} ${NNUE_FILE} || die "copying the nnue file failed"
# prevent pre-stripping
sed -e 's:-strip $(BINDIR)/$(EXE)::' -i Makefile \
|| die 'failed to disable stripping in the Makefile'
@ -65,5 +70,5 @@ src_compile() {
src_install() {
dobin "${PN}"
dodoc ../AUTHORS ../Readme.md
dodoc ../AUTHORS ../README.md
}

@ -1,147 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
WX_GTK_VER="3.0"
PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE="threads,ssl"
inherit eutils wxwidgets toolchain-funcs gnome2-utils python-any-r1
MY_P=0ad-${PV/_/-}
DESCRIPTION="A free, real-time strategy game"
HOMEPAGE="https://play0ad.com/"
SRC_URI="http://releases.wildfiregames.com/${MY_P}-unix-build.tar.xz"
LICENSE="GPL-2 LGPL-2.1 MIT CC-BY-SA-3.0 ZLIB"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="editor +lobby nvtt pch test"
RESTRICT="test"
RDEPEND="
dev-libs/boost:=
dev-libs/icu:=
dev-libs/libsodium
dev-libs/libxml2
dev-libs/nspr
~games-strategy/0ad-data-${PV}
media-libs/libpng:0
media-libs/libsdl2[X,opengl,video]
media-libs/libvorbis
media-libs/openal
net-libs/enet:1.3
net-libs/miniupnpc:=
net-misc/curl
sys-libs/zlib
virtual/jpeg:0
virtual/opengl
x11-libs/libX11
x11-libs/libXcursor
editor? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
lobby? ( >=net-libs/gloox-1.0.20 )
nvtt? ( media-gfx/nvidia-texture-tools )"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
virtual/pkgconfig
test? ( dev-lang/perl )"
S="${WORKDIR}/${MY_P}"
pkg_setup() {
python-any-r1_pkg_setup
use editor && setup-wxwidgets
}
PATCHES=(
"${FILESDIR}"/${PN}-0.0.21_alpha-gentoo.patch
)
src_configure() {
local myconf=(
--with-system-nvtt
--with-system-miniupnpc
--minimal-flags
$(usex nvtt "" "--without-nvtt")
$(usex pch "" "--without-pch")
$(usex test "" "--without-tests")
$(usex editor "--atlas" "")
$(usex lobby "" "--without-lobby")
--collada
--bindir="/usr/bin"
--libdir="/usr/$(get_libdir)"/${PN}
--datadir="/usr/share/${PN}"
)
# stock premake4 does not work, use the shipped one
emake -C "${S}"/build/premake/premake4/build/gmake.unix
# regenerate scripts.c so our patch applies
cd "${S}"/build/premake/premake4 || die
"${S}"/build/premake/premake4/bin/release/premake4 embed || die
# rebuild premake again... this is the most stupid build system
emake -C "${S}"/build/premake/premake4/build/gmake.unix clean
emake -C "${S}"/build/premake/premake4/build/gmake.unix
# run premake to create build scripts
cd "${S}"/build/premake || die
"${S}"/build/premake/premake4/bin/release/premake4 \
--file="premake4.lua" \
--outpath="../workspaces/gcc/" \
--platform=$(usex amd64 "x64" "x32") \
--os=linux \
"${myconf[@]}" \
gmake || die "Premake failed"
}
src_compile() {
tc-export AR
# build bundled and patched spidermonkey
cd libraries/source/spidermonkey || die
JOBS="${MAKEOPTS}" ./build.sh || die
cd "${S}" || die
# build 3rd party fcollada
emake -C libraries/source/fcollada/src
# build 0ad
emake -C build/workspaces/gcc verbose=1
}
src_test() {
cd binaries/system || die
./test -libdir "${S}/binaries/system" || die "test phase failed"
}
src_install() {
newbin binaries/system/pyrogenesis 0ad
use editor && newbin binaries/system/ActorEditor 0ad-ActorEditor
insinto /usr/share/${PN}
doins -r binaries/data/l10n
exeinto /usr/$(get_libdir)/${PN}
doexe binaries/system/libCollada.so
doexe libraries/source/spidermonkey/lib/*.so
use editor && doexe binaries/system/libAtlasUI.so
dodoc binaries/system/readme.txt
doicon -s 128 build/resources/${PN}.png
make_desktop_entry ${PN}
}
pkg_preinst() {
gnome2_icon_savelist
}
pkg_postinst() {
gnome2_icon_cache_update
}
pkg_postrm() {
gnome2_icon_cache_update
}

@ -1,148 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
WX_GTK_VER="3.0"
PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE="threads,ssl"
inherit eutils wxwidgets toolchain-funcs gnome2-utils python-any-r1
MY_P=0ad-${PV/_/-}
DESCRIPTION="A free, real-time strategy game"
HOMEPAGE="https://play0ad.com/"
SRC_URI="http://releases.wildfiregames.com/${MY_P}-unix-build.tar.xz"
LICENSE="GPL-2 LGPL-2.1 MIT CC-BY-SA-3.0 ZLIB"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="editor +lobby nvtt pch test"
RESTRICT="test"
RDEPEND="
dev-libs/boost:=
dev-libs/icu:=
dev-libs/libsodium
dev-libs/libxml2
dev-libs/nspr
~games-strategy/0ad-data-${PV}
media-libs/libpng:0
media-libs/libsdl2[X,opengl,video]
media-libs/libvorbis
media-libs/openal
net-libs/enet:1.3
net-libs/miniupnpc:=
net-misc/curl
sys-libs/zlib
virtual/jpeg:0
virtual/opengl
x11-libs/libX11
x11-libs/libXcursor
editor? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
lobby? ( >=net-libs/gloox-1.0.20 )
nvtt? ( media-gfx/nvidia-texture-tools )"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
virtual/pkgconfig
test? ( dev-lang/perl )"
S="${WORKDIR}/${MY_P}"
pkg_setup() {
python-any-r1_pkg_setup
use editor && setup-wxwidgets
}
PATCHES=(
"${FILESDIR}"/${PN}-0.0.21_alpha-gentoo.patch
"${FILESDIR}"/${PN}-0.0.23b-header_includes_fix.patch
)
src_configure() {
local myconf=(
--with-system-nvtt
--with-system-miniupnpc
--minimal-flags
$(usex nvtt "" "--without-nvtt")
$(usex pch "" "--without-pch")
$(usex test "" "--without-tests")
$(usex editor "--atlas" "")
$(usex lobby "" "--without-lobby")
--collada
--bindir="/usr/bin"
--libdir="/usr/$(get_libdir)"/${PN}
--datadir="/usr/share/${PN}"
)
# stock premake4 does not work, use the shipped one
emake -C "${S}"/build/premake/premake4/build/gmake.unix
# regenerate scripts.c so our patch applies
cd "${S}"/build/premake/premake4 || die
"${S}"/build/premake/premake4/bin/release/premake4 embed || die
# rebuild premake again... this is the most stupid build system
emake -C "${S}"/build/premake/premake4/build/gmake.unix clean
emake -C "${S}"/build/premake/premake4/build/gmake.unix
# run premake to create build scripts
cd "${S}"/build/premake || die
"${S}"/build/premake/premake4/bin/release/premake4 \
--file="premake4.lua" \
--outpath="../workspaces/gcc/" \
--platform=$(usex amd64 "x64" "x32") \
--os=linux \
"${myconf[@]}" \
gmake || die "Premake failed"
}
src_compile() {
tc-export AR
# build bundled and patched spidermonkey
cd libraries/source/spidermonkey || die
JOBS="${MAKEOPTS}" ./build.sh || die
cd "${S}" || die
# build 3rd party fcollada
emake -C libraries/source/fcollada/src
# build 0ad
emake -C build/workspaces/gcc verbose=1
}
src_test() {
cd binaries/system || die
./test -libdir "${S}/binaries/system" || die "test phase failed"
}
src_install() {
newbin binaries/system/pyrogenesis 0ad
use editor && newbin binaries/system/ActorEditor 0ad-ActorEditor
insinto /usr/share/${PN}
doins -r binaries/data/l10n
exeinto /usr/$(get_libdir)/${PN}
doexe binaries/system/libCollada.so
doexe libraries/source/spidermonkey/lib/*.so
use editor && doexe binaries/system/libAtlasUI.so
dodoc binaries/system/readme.txt
doicon -s 128 build/resources/${PN}.png
make_desktop_entry ${PN}
}
pkg_preinst() {
gnome2_icon_savelist
}
pkg_postinst() {
gnome2_icon_cache_update
}
pkg_postrm() {
gnome2_icon_cache_update
}

@ -27,7 +27,10 @@ else
SRC_URI="http://releases.wildfiregames.com/${MY_P}-unix-build.tar.xz"
fi
LICENSE="CC-BY-SA-3.0 GPL-2 LGPL-2.1 MIT ZLIB"
# merged with 0ad-data
# addresses comment #3
# bug #771147
LICENSE="CC-BY-SA-3.0 GPL-2 LGPL-2.1 MIT ZLIB BitstreamVera LPPL-1.3c"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="editor +lobby nvtt pch test"
@ -35,6 +38,10 @@ RESTRICT="test"
BDEPEND="virtual/pkgconfig
test? ( dev-lang/perl )"
# remove dependency on nvtt
# as we use the bundled one
# bug #768930
DEPEND="
dev-libs/boost:=
dev-libs/icu:=
@ -52,11 +59,13 @@ DEPEND="
virtual/opengl
x11-libs/libX11
editor? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
lobby? ( >=net-libs/gloox-1.0.20 )
nvtt? ( >=media-gfx/nvidia-texture-tools-2.1.0 )"
lobby? ( >=net-libs/gloox-1.0.20 )"
RDEPEND="${DEPEND}"
PDEPEND="~games-strategy/0ad-data-${PV}"
# add block on 0ad-data, as it is no longer needed.
# addresses comment #3
# bug #771147
RDEPEND="${DEPEND}
!games-strategy/0ad-data"
if [[ ${PV} == 9999 ]]; then
S="${WORKDIR}/${P}"
@ -78,6 +87,11 @@ src_prepare() {
default
sed -i -e "/--build/d" libraries/source/spidermonkey/build.sh || die
# merged from 0ad-data
# addresses comment #3
# bug #771147
rm binaries/data/tools/fontbuilder/fonts/*.txt || die
}
src_configure() {
@ -146,6 +160,37 @@ src_compile() {
# build 0ad
elog "Building 0ad"
emake -C build/workspaces/gcc verbose=1
# merged from 0ad-data
# addresses comment #3
# bug #771147
if [[ ${PV} == 9999 || ${PV} == *_pre* ]]; then
# source/lib/sysdep/os/linux/ldbg.cpp:debug_SetThreadName() tries to open /proc/self/task/${TID}/comm for writing.
addpredict /proc/self/task
# Based on source/tools/dist/build-archives.sh used by source/tools/dist/build.sh.
local archivebuild_input archivebuild_output mod_name
for archivebuild_input in binaries/data/mods/[A-Za-z0-9]*; do
mod_name="${archivebuild_input##*/}"
archivebuild_output="archives/${mod_name}"
mkdir -p "${archivebuild_output}"
einfo pyrogenesis -archivebuild="${archivebuild_input}" -archivebuild-output="${archivebuild_output}/${mod_name}.zip"
LD_LIBRARY_PATH="binaries/system" binaries/system/pyrogenesis -archivebuild="${archivebuild_input}" -archivebuild-output="${archivebuild_output}/${mod_name}.zip" || die
if [[ -f "${archivebuild_input}/mod.json" ]]; then
cp "${archivebuild_input}/mod.json" "${archivebuild_output}"
fi
rm -r "${archivebuild_input}" || die
mv "${archivebuild_output}" "${archivebuild_input}" || die
done
# Based on source/tools/dist/build-unix-win32.sh used by source/tools/dist/build.sh.
rm binaries/data/config/dev.cfg || die
rm -r binaries/data/mods/_test.* || die
fi
}
src_test() {
@ -157,11 +202,20 @@ src_install() {
newbin binaries/system/pyrogenesis 0ad
use editor && newbin binaries/system/ActorEditor 0ad-ActorEditor
# merged with 0ad-data
# addresses comment #3
# bug #771147
insinto /usr/share/${PN}
doins -r binaries/data/l10n
doins -r binaries/data/{l10n,config,mods,tools}
# merged with 0ad-data
# addresses comment #3
# bug #771147
# install bundled SpiderMonkey and nvtt
# fixes comment #1
# bug #771147
exeinto /usr/$(get_libdir)/${PN}
doexe binaries/system/libCollada.so
doexe binaries/system/{libCollada,libmozjs78-ps-release,libnvtt,libnvcore,libnvimage,libnvmath}.so
use editor && doexe binaries/system/libAtlasUI.so
dodoc binaries/system/readme.txt

@ -0,0 +1,218 @@
# Copyright 2014-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
WX_GTK_VER="3.0-gtk3"
inherit desktop toolchain-funcs multiprocessing wxwidgets xdg
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/0ad/0ad"
elif [[ ${PV} == *_pre* ]]; then
ZEROAD_GIT_REVISION="c7d07d3979f969b969211a5e5748fa775f6768a7"
else
MY_P="0ad-${PV/_/-}"
fi
DESCRIPTION="A free, real-time strategy game"
HOMEPAGE="https://play0ad.com/"
if [[ ${PV} == 9999 ]]; then
S="${WORKDIR}/${P}"
elif [[ ${PV} == *_pre* ]]; then
SRC_URI="https://github.com/0ad/0ad/archive/${ZEROAD_GIT_REVISION}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${PN}-${ZEROAD_GIT_REVISION}"
else
SRC_URI="http://releases.wildfiregames.com/${MY_P}-unix-build.tar.xz"
SRC_URI+=" https://releases.wildfiregames.com/${MY_P}-unix-data.tar.xz"
S="${WORKDIR}/${MY_P}"
fi
LICENSE="CC-BY-SA-3.0 GPL-2 LGPL-2.1 MIT ZLIB BitstreamVera LPPL-1.3c"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="editor +lobby nvtt pch test"
RESTRICT="test"
# TODO: Unbundle premake5
# See bug #773472 which may help (bump for it)
BDEPEND="
virtual/pkgconfig
test? ( dev-lang/perl )
"
# Removed dependency on nvtt as we use the bundled one
# bug #768930
DEPEND="
dev-libs/boost:=
dev-libs/icu:=
dev-libs/libfmt:0=
dev-libs/libsodium
dev-libs/libxml2
media-libs/libpng:0
media-libs/libsdl2[X,opengl,video]
media-libs/libvorbis
media-libs/openal
net-libs/enet:1.3
net-libs/miniupnpc:=
net-misc/curl
sys-libs/zlib
virtual/opengl
x11-libs/libX11
editor? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
lobby? ( >=net-libs/gloox-1.0.20 )
"
RDEPEND="
${DEPEND}
!games-strategy/0ad-data
"
PATCHES=(
"${FILESDIR}/${PN}-0.0.24_alpha_pre20210116040036-build.patch"
)
pkg_setup() {
use editor && setup-wxwidgets
}
src_prepare() {
default
# SpiderMonkey's configure no longer recognises --build for
# the build tuple
sed -i -e "/--build/d" libraries/source/spidermonkey/build.sh || die
# Originally from 0ad-data
rm binaries/data/tools/fontbuilder/fonts/*.txt || die
}
src_configure() {
local myconf=(
--minimal-flags
$(usex nvtt "" "--without-nvtt")
$(usex pch "" "--without-pch")
$(usex test "" "--without-tests")
$(usex editor "--atlas" "")
$(usex lobby "" "--without-lobby")
--bindir="/usr/bin"
--libdir="/usr/$(get_libdir)"/${PN}
--datadir="/usr/share/${PN}"
)
tc-export CC CXX
# Stock premake5 does not work, use the shipped one
# TODO: revisit this, see above BDEPEND note re premake5
emake -C "${S}"/build/premake/premake5/build/gmake2.unix
# Regenerate scripts.c so our patch applies
cd "${S}"/build/premake/premake5 || die
"${S}"/build/premake/premake5/bin/release/premake5 embed || die
# Rebuild premake again
emake -C "${S}"/build/premake/premake5/build/gmake2.unix clean
emake -C "${S}"/build/premake/premake5/build/gmake2.unix
# Run premake to create build scripts
cd "${S}"/build/premake || die
"${S}"/build/premake/premake5/bin/release/premake5 \
--file="premake5.lua" \
--outpath="../workspaces/gcc/" \
--os=linux \
"${myconf[@]}" \
gmake2 \
|| die "Premake failed"
}
src_compile() {
tc-export AR
# Build 3rd party fcollada
einfo "Building bundled fcollada"
emake -C libraries/source/fcollada/src
# Build bundled NVTT
# nvtt is abandoned upstream and 0ad have forked it and added fixes.
# Use their copy. bug #768930
if use nvtt ; then
cd libraries/source/nvtt || die
elog "Building bundled NVTT (bug #768930)"
./build.sh JOBS="-j$(makeopts_jobs)" || die "Failed to build bundled NVTT"
cd "${S}" || die
fi
# Build bundled SpiderMonkey
# We really can't use the system SpiderMonkey right now.
# Breakages occur even on minor bumps in upstream SM,
# e.g. bug #768840.
cd libraries/source/spidermonkey || die
elog "Building bundled SpiderMonkey (bug #768840)"
XARGS="${EPREFIX}/usr/bin/xargs" ./build.sh JOBS="-j(makeopts_jobs)" || die "Failed to build bundled SpiderMonkey"
cd "${S}" || die
# Build 0ad itself!
elog "Building 0ad"
emake -C build/workspaces/gcc verbose=1 JOBS="-j$(makeopts_jobs)"
# Build assets
# (We only do this if we're using a snapshot/non-release)
# See bug #771147 (comment 3) and the old 0ad-data ebuild
# Warning: fragile!
if [[ ${PV} == 9999 || ${PV} == *_pre* ]]; then
# source/lib/sysdep/os/linux/ldbg.cpp:debug_SetThreadName() tries to open /proc/self/task/${TID}/comm for writing.
addpredict /proc/self/task
# Based on source/tools/dist/build-archives.sh used by source/tools/dist/build.sh.
local archivebuild_input archivebuild_output mod_name
for archivebuild_input in binaries/data/mods/[A-Za-z0-9]*; do
mod_name="${archivebuild_input##*/}"
archivebuild_output="archives/${mod_name}"
mkdir -p "${archivebuild_output}" || die
einfo pyrogenesis -archivebuild="${archivebuild_input}" -archivebuild-output="${archivebuild_output}/${mod_name}.zip"
LD_LIBRARY_PATH="binaries/system" binaries/system/pyrogenesis \
-archivebuild="${archivebuild_input}" \
-archivebuild-output="${archivebuild_output}/${mod_name}.zip" \
|| die "Failed to build assets"
if [[ -f "${archivebuild_input}/mod.json" ]]; then
cp "${archivebuild_input}/mod.json" "${archivebuild_output}" || die
fi
rm -r "${archivebuild_input}" || die
mv "${archivebuild_output}" "${archivebuild_input}" || die
done
# Based on source/tools/dist/build-unix-win32.sh used by source/tools/dist/build.sh.
rm binaries/data/config/dev.cfg || die
rm -r binaries/data/mods/_test.* || die
fi
}
src_test() {
cd binaries/system || die
./test -libdir "${S}/binaries/system" || die "Failed tests"
}
src_install() {
newbin binaries/system/pyrogenesis 0ad
use editor && newbin binaries/system/ActorEditor 0ad-ActorEditor
# Merged from 0ad-data
# bug #771147 (comment 3)
insinto /usr/share/${PN}
doins -r binaries/data/{l10n,config,mods,tools}
# Install bundled SpiderMonkey and nvtt
# bug #771147 (comment 1)
exeinto /usr/$(get_libdir)/${PN}
doexe binaries/system/{libCollada,libmozjs78-ps-release,libnvtt,libnvcore,libnvimage,libnvmath}.so
use editor && doexe binaries/system/libAtlasUI.so
dodoc binaries/system/readme.txt
doicon -s 128 build/resources/${PN}.png
make_desktop_entry ${PN}
}

@ -1,3 +1,3 @@
DIST 0ad-0.0.23-alpha-unix-build.tar.xz 31907988 BLAKE2B 567b9e1b5cd653206194e042f4f0859cd4f9afe75d52d3f480a328b76fdcdd746254502fbf284f790b4932c912ff31453bbc8c986c879ad76baa3d2a5db802c9 SHA512 4a1c86b19e0d8ec7d9b8bf75428df0255f95e7f991f419734f9b6ddc288a537405a34c5d7081f1a97475155c49013af85dee5c0265c35c7dbc003b46637a03d7
DIST 0ad-0.0.23b-alpha-unix-build.tar.xz 31922812 BLAKE2B db7d6bf1a2bb084870b914cf974bfdb19812ff6f9391e5bc5213ae215fc670b77bd4508a5432aa3e47bf327bd37d4bb14961ab3332b165b53327c3f01a935ac1 SHA512 82934313c46c4fd89e3841d5bbf901904abbd2108e9749529d7282bd24ac53b9e6878681c06e6019f4d8ec0e425c28300b0aafc9610a66a331777ffb58ed6135
DIST 0ad-0.0.24_alpha_pre20210116040036.tar.gz 2562395684 BLAKE2B 03d6655f7aa1f2f91a87536a7f2afa465585856c4209ddc05e666e1e5596416883596331118ac4257ff314b04d8a5c08821eaa6ae76e5d3095146ab04f8c79ed SHA512 e1239a56b184a87708c87fc03ca41190a16d813e495c5d81ee073df98761f1524a23902e5d03a21a1b1f657b496fce6eeee4a5ef22eee30f70fbe3b0dbd44510
DIST 0ad-0.0.24b-alpha-unix-build.tar.xz 75546740 BLAKE2B a724abba6bed4b580670588e9dcfe0f75f6cef0fbde6ad666356e96213c685932edd0a1daafb5dd04206870c2c8222340c9c51e83076ec2911cbb5377ca00666 SHA512 8173d393eb1bc57c38bef0076ba973ef46c877c06644365189c0887cd3152adba51d26b553e42221fd14343e9830a3a275bfcd9b28f66281e282ea3f247730ea
DIST 0ad-0.0.24b-alpha-unix-data.tar.xz 828553992 BLAKE2B 2081225d88d475ed0899648994a900677bc3280bb2ba6cf92354ece82b90ddcefddb48458fa23e2de97100e58f4db8db408d4b50d0306a8c3efe47d263064bf0 SHA512 d7804d25ddf376028f230a31c6fc1201dfa366b3d5434569a1a7852bb4c400fb14e5c8934c5d6c6295320cf2e62c64be83b1e3c4c27fd116115bfe7d01106726

@ -14,6 +14,7 @@
(might be needed for some mods)</flag>
</use>
<upstream>
<remote-id type="github">0ad/0ad</remote-id>
<remote-id type="sourceforge">zero-ad</remote-id>
</upstream>
</pkgmetadata>

Binary file not shown.

Binary file not shown.

@ -1,4 +1,4 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@ -10,7 +10,7 @@ SRC_URI="https://marginalhacks.com/bin/album.versions/${P}.tar.gz
LICENSE="marginalhacks"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
KEYWORDS="~amd64 ~ppc ~ppc64 x86"
IUSE="doc ffmpeg plugins themes"
DEPEND=""

Binary file not shown.

@ -33,7 +33,7 @@ HTML_DOCS=( doc/. )
src_configure() {
local mycmakeargs=(
"-DOpenGL_GL_PREFERENCE=GLVND" # bug 721006
# "-DOpenGL_GL_PREFERENCE=GLVND" # bug 721006
"-DFREEGLUT_GLES=OFF"
"-DFREEGLUT_BUILD_DEMOS=OFF"
"-DFREEGLUT_BUILD_STATIC_LIBS=$(usex static-libs ON OFF)"

@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>gyakovlev@gentoo.org</email>
<name>Georgy Yakovlev</name>
</maintainer>
<!-- maintainer-needed -->
<use>
<flag name="dsp">Enable signal processing (echo cancellation, noise suppression, and automatic gain control)</flag>
</use>

@ -1,8 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>gyakovlev@gentoo.org</email>
<name>Georgy Yakovlev</name>
</maintainer>
<!-- maintainer-needed -->
</pkgmetadata>

Binary file not shown.

@ -1 +1 @@
Sun, 28 Feb 2021 20:08:27 +0000
Mon, 01 Mar 2021 06:38:29 +0000

@ -1 +1 @@
Sun, 28 Feb 2021 20:08:27 +0000
Mon, 01 Mar 2021 06:38:30 +0000

Binary file not shown.

@ -1,14 +0,0 @@
DEFINED_PHASES=install postinst setup unpack
DEPEND=acct-group/tsm >=app-arch/rpm2targz-9.0.0.3g virtual/pkgconfig
DESCRIPTION=IBM Spectrum Protect (former Tivoli Storage Manager) Backup/Archive Client, API
EAPI=6
HOMEPAGE=https://www.ibm.com/us-en/marketplace/data-protection-and-recovery
IUSE=acl java +tsm-cit +tsm-hw
KEYWORDS=-* amd64
LICENSE=Apache-1.1 Apache-2.0 JDOM BSD-2 CC-PD Boost-1.0 MIT CPL-1.0 HPND Exolab dom4j EPL-1.0 FTL icu unicode IBM Info-ZIP LGPL-2 LGPL-2.1 openafs-krb5-a ZLIB MPL-1.0 MPL-1.1 NPL-1.1 openssl OPENLDAP RSA public-domain W3C || ( BSD GPL-2+ ) gSOAP libpng tsm
RDEPEND=acct-group/tsm dev-libs/expat dev-libs/libxml2 sys-fs/fuse:0 acl? ( sys-apps/acl ) java? ( >=virtual/jre-1.7 )
RESTRICT=strip
SLOT=0
SRC_URI=ftp://ftp.software.ibm.com/storage/tivoli-storage-management/maintenance/client/v8r1/Linux/LinuxX86/BA/v816/8.1.6.0-TIV-TSMBAC-LinuxX86.tar
_eclasses_=desktop c0d27bf73aa08ca05b663dbd31fbef28 edos2unix 33e347e171066657f91f8b0c72ec8773 epatch e8f1ec13660dc2f44b32775765d85e42 estack 055c42df72f76a4f45ec92b35e83cd56 eutils 2d5b3f4b315094768576b6799e4f926e l10n 8cdd85e169b835d518bc2fd59f780d8e ltprune 4f3f2db5ce3ccbeeacdf3f94954043aa multilib d410501a125f99ffb560b0c523cd3d1e pax-utils a41d1fd1c111289ffa04490de6ee79d7 preserve-libs ef207dc62baddfddfd39a164d9797648 readme.gentoo-r1 22ae82e140bdd95d17a34fd5fd733190 rpm 760ff223c2c4299b68ea901e24c4cabd systemd 74b223e42834adf09a2d21fe5fe13741 toolchain-funcs 24921b57d6561d87cbef4916a296ada4 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator d3fb3ba33acc3bbbdc4d7970227c100d wrapper 4251d4c84c25f59094fd557e0063a974
_md5_=010614669d0bd4924b637ff59a99ea4b

@ -4,11 +4,11 @@ DESCRIPTION=IBM Spectrum Protect (former Tivoli Storage Manager) Backup/Archive
EAPI=6
HOMEPAGE=https://www.ibm.com/us-en/marketplace/data-protection-and-recovery
IUSE=acl java +tsm-cit +tsm-hw
KEYWORDS=-* ~amd64
KEYWORDS=-* amd64
LICENSE=Apache-1.1 Apache-2.0 JDOM BSD-2 CC-PD Boost-1.0 MIT CPL-1.0 HPND Exolab dom4j EPL-1.0 FTL icu unicode IBM Info-ZIP LGPL-2 LGPL-2.1 openafs-krb5-a ZLIB MPL-1.0 MPL-1.1 NPL-1.1 openssl OPENLDAP RSA public-domain W3C || ( BSD GPL-2+ ) gSOAP libpng tsm
RDEPEND=acct-group/tsm dev-libs/expat dev-libs/libxml2 sys-fs/fuse:0 acl? ( sys-apps/acl ) java? ( >=virtual/jre-1.7 )
RESTRICT=strip
SLOT=0
SRC_URI=ftp://ftp.software.ibm.com/storage/tivoli-storage-management/maintenance/client/v8r1/Linux/LinuxX86/BA/v816/8.1.6.0-TIV-TSMBAC-LinuxX86.tar
_eclasses_=desktop c0d27bf73aa08ca05b663dbd31fbef28 edos2unix 33e347e171066657f91f8b0c72ec8773 epatch e8f1ec13660dc2f44b32775765d85e42 estack 055c42df72f76a4f45ec92b35e83cd56 eutils 2d5b3f4b315094768576b6799e4f926e l10n 8cdd85e169b835d518bc2fd59f780d8e ltprune 4f3f2db5ce3ccbeeacdf3f94954043aa multilib d410501a125f99ffb560b0c523cd3d1e pax-utils a41d1fd1c111289ffa04490de6ee79d7 preserve-libs ef207dc62baddfddfd39a164d9797648 readme.gentoo-r1 22ae82e140bdd95d17a34fd5fd733190 rpm 760ff223c2c4299b68ea901e24c4cabd systemd 74b223e42834adf09a2d21fe5fe13741 toolchain-funcs 24921b57d6561d87cbef4916a296ada4 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator d3fb3ba33acc3bbbdc4d7970227c100d wrapper 4251d4c84c25f59094fd557e0063a974
_md5_=b8ff17d07353975a0ad2226b58b5cb09
_md5_=b9dc6c9c2c4a658e5fc213d02ca6e34d

File diff suppressed because one or more lines are too long

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

Loading…
Cancel
Save