parent
c11cee70ac
commit
b643e72e19
Binary file not shown.
Binary file not shown.
@ -0,0 +1,26 @@
|
|||||||
|
https://github.com/tstack/lnav/pull/1112
|
||||||
|
|
||||||
|
From e25d3e3c69fcf57bbaec2333846b9a43c4d1fc90 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Sam James <sam@gentoo.org>
|
||||||
|
Date: Sat, 21 Jan 2023 18:11:20 +0000
|
||||||
|
Subject: [PATCH] Fix build with GCC 13 (add missing <cstdint> include)
|
||||||
|
|
||||||
|
GCC 13 (as usual for new compiler releases) shuffles around some
|
||||||
|
internal includes and so <cstdint> is no longer transitively included.
|
||||||
|
|
||||||
|
Explicitly include <cstdint> for uint32_t.
|
||||||
|
|
||||||
|
Signed-off-by: Sam James <sam@gentoo.org>
|
||||||
|
--- a/src/base/lnav_log.hh
|
||||||
|
+++ b/src/base/lnav_log.hh
|
||||||
|
@@ -32,6 +32,7 @@
|
||||||
|
#ifndef lnav_log_hh
|
||||||
|
#define lnav_log_hh
|
||||||
|
|
||||||
|
+#include <cstdint>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
--
|
||||||
|
2.39.1
|
||||||
|
|
@ -1 +1,2 @@
|
|||||||
DIST rasdaemon-0.6.8.tar.gz 161343 BLAKE2B 95dab212e404480d45e5b07fa0f9ec7361036c9295a81dd082657c71cf8ad1114cc28f163b8975733e2042dfeb957f8da71dc52440249c75c24653c1ce235e86 SHA512 634638154c6b0bf7a079d6aba884a55e540c9edc3c25715a792ad7535c68629618e9cef8b6ec7e20845f78bd57f712d437be4d772523020f09d30cce42759a30
|
DIST rasdaemon-0.6.8.tar.gz 161343 BLAKE2B 95dab212e404480d45e5b07fa0f9ec7361036c9295a81dd082657c71cf8ad1114cc28f163b8975733e2042dfeb957f8da71dc52440249c75c24653c1ce235e86 SHA512 634638154c6b0bf7a079d6aba884a55e540c9edc3c25715a792ad7535c68629618e9cef8b6ec7e20845f78bd57f712d437be4d772523020f09d30cce42759a30
|
||||||
|
DIST rasdaemon-0.7.0.tar.bz2 433555 BLAKE2B cf73f59558d8a6f3138fea20e7096a1b1214dd44a4518da88a4b1f0c4c92a6df4eb7922e9a2e76d5012364219067cf66e220d8f54588ab22acf09937e41aa2dc SHA512 a7938ccd8171d849b5d89df6ab90942278c824a3dbd17abda8ae3d80ce5227cbc3fe23b31806609114482606d780ec7f0676a0fedfa950ed8cb5a59f3583bd57
|
||||||
|
@ -0,0 +1,66 @@
|
|||||||
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit flag-o-matic linux-info systemd
|
||||||
|
|
||||||
|
DESCRIPTION="Reliability, Availability and Serviceability logging tool"
|
||||||
|
HOMEPAGE="https://github.com/mchehab/rasdaemon"
|
||||||
|
SRC_URI="https://github.com/mchehab/rasdaemon/releases/download/v${PV}/${P}.tar.bz2"
|
||||||
|
|
||||||
|
LICENSE="GPL-2"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
|
||||||
|
|
||||||
|
DEPEND="
|
||||||
|
dev-db/sqlite
|
||||||
|
elibc_musl? ( sys-libs/argp-standalone )
|
||||||
|
"
|
||||||
|
RDEPEND="
|
||||||
|
${DEPEND}
|
||||||
|
dev-perl/DBI
|
||||||
|
dev-perl/DBD-SQLite
|
||||||
|
sys-apps/dmidecode
|
||||||
|
"
|
||||||
|
BDEPEND="sys-devel/gettext"
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
linux-info_pkg_setup
|
||||||
|
local CONFIG_CHECK="~ACPI_EXTLOG ~DEBUG_FS"
|
||||||
|
check_extra_config
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
local myconfargs=(
|
||||||
|
--enable-sqlite3
|
||||||
|
--enable-abrt-report
|
||||||
|
--enable-aer
|
||||||
|
--enable-arm
|
||||||
|
--enable-extlog
|
||||||
|
--enable-hisi-ns-decode
|
||||||
|
--enable-mce
|
||||||
|
--enable-non-standard
|
||||||
|
--enable-devlink
|
||||||
|
--enable-diskerror
|
||||||
|
--enable-memory-ce-pfa
|
||||||
|
--includedir="/usr/include/${PN}"
|
||||||
|
--localstatedir=/var
|
||||||
|
)
|
||||||
|
|
||||||
|
use elibc_musl && append-libs -largp
|
||||||
|
|
||||||
|
econf "${myconfargs[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
default
|
||||||
|
|
||||||
|
keepdir "/var/lib/${PN}"
|
||||||
|
|
||||||
|
systemd_dounit misc/*.service
|
||||||
|
|
||||||
|
newinitd "${FILESDIR}/rasdaemon.openrc-r2" rasdaemon
|
||||||
|
newinitd "${FILESDIR}/ras-mc-ctl.openrc-r1" ras-mc-ctl
|
||||||
|
newconfd "${FILESDIR}"/rasdaemon.confd rasdaemon
|
||||||
|
}
|
Binary file not shown.
@ -1,2 +1,3 @@
|
|||||||
DIST advancecomp-2.3.tar.gz 1292157 BLAKE2B 7fdbbc4c53c58a4988339189d5e2e2412e782a69081b6ba39f86f4c2b101b03d8400f8104091eb8b22d2d4969515c8126011e79e346787bddba77d67387a6efe SHA512 87dc6a25139708b975ff138f73555fb2053c0fb8310412823624de7786a2034657fc3b4ddb6eeda332788073bbe21ea955b7368707186ee3bb61d1fe59e672e3
|
DIST advancecomp-2.3.tar.gz 1292157 BLAKE2B 7fdbbc4c53c58a4988339189d5e2e2412e782a69081b6ba39f86f4c2b101b03d8400f8104091eb8b22d2d4969515c8126011e79e346787bddba77d67387a6efe SHA512 87dc6a25139708b975ff138f73555fb2053c0fb8310412823624de7786a2034657fc3b4ddb6eeda332788073bbe21ea955b7368707186ee3bb61d1fe59e672e3
|
||||||
DIST advancecomp-2.4.tar.gz 1315369 BLAKE2B fba921473efb54493590cc225a7ece2d05a5e7a047e38cebdd14ec6141856b5f7efe0aafd279d399bca7bb836f73a586cd4711e75f2a11047e063bf72d67f15a SHA512 667e0e898208df578a676b6084ca6c8dae119a6006f716b1dfa29cd0ec5b022f7b5fd099d09c25e520bdf90bc5531a7e36ed120472ca732303b719818cc5b712
|
DIST advancecomp-2.4.tar.gz 1315369 BLAKE2B fba921473efb54493590cc225a7ece2d05a5e7a047e38cebdd14ec6141856b5f7efe0aafd279d399bca7bb836f73a586cd4711e75f2a11047e063bf72d67f15a SHA512 667e0e898208df578a676b6084ca6c8dae119a6006f716b1dfa29cd0ec5b022f7b5fd099d09c25e520bdf90bc5531a7e36ed120472ca732303b719818cc5b712
|
||||||
|
DIST advancecomp-2.5.tar.gz 1315529 BLAKE2B 6d5844e64595f611ecf5a1ae69fa0208d324745fde91e63e2d934ca7c7ea6ce67da88063563ccfb67d8762eccff0723bc8f0e47b9322691a67bc7cc80a2039b0 SHA512 3beb26e9afdafb62ab13c3c56902b71b5dabccfa458c9930bdfd0a835149c46bed22bfac7b529c341f241bb8f7670c4cda4c50fd34df31b9a3902f8b8b655049
|
||||||
|
@ -0,0 +1,44 @@
|
|||||||
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
DESCRIPTION="Recompress ZIP, PNG and MNG, considerably improving compression"
|
||||||
|
HOMEPAGE="
|
||||||
|
https://www.advancemame.it/comp-readme.html
|
||||||
|
https://github.com/amadvance/advancecomp/
|
||||||
|
"
|
||||||
|
SRC_URI="
|
||||||
|
https://github.com/amadvance/advancecomp/releases/download/v${PV}/${P}.tar.gz
|
||||||
|
"
|
||||||
|
|
||||||
|
LICENSE="GPL-2+ Apache-2.0 LGPL-2.1+ MIT"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
app-arch/bzip2:=
|
||||||
|
sys-libs/zlib:=
|
||||||
|
"
|
||||||
|
DEPEND="
|
||||||
|
${RDEPEND}
|
||||||
|
"
|
||||||
|
|
||||||
|
# Tests seem to rely on exact output:
|
||||||
|
# https://sourceforge.net/p/advancemame/bugs/270/
|
||||||
|
RESTRICT="test"
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
local myconf=(
|
||||||
|
--enable-bzip2
|
||||||
|
# (--disable-* arguments are mishandled)
|
||||||
|
# --disable-debug
|
||||||
|
# --disable-valgrind
|
||||||
|
)
|
||||||
|
econf "${myconf[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
default
|
||||||
|
dodoc HISTORY
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
@ -1,190 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
inherit bash-completion-r1 go-module linux-info optfeature systemd verify-sig
|
|
||||||
|
|
||||||
DESCRIPTION="Modern, secure and powerful system container and virtual machine manager"
|
|
||||||
HOMEPAGE="https://linuxcontainers.org/lxd/introduction/ https://github.com/lxc/lxd"
|
|
||||||
SRC_URI="https://linuxcontainers.org/downloads/lxd/${P}.tar.gz
|
|
||||||
verify-sig? ( https://linuxcontainers.org/downloads/lxd/${P}.tar.gz.asc )"
|
|
||||||
|
|
||||||
LICENSE="Apache-2.0"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="amd64 ~arm64 ~x86"
|
|
||||||
IUSE="apparmor ipv6 nls verify-sig"
|
|
||||||
|
|
||||||
DEPEND="acct-group/lxd
|
|
||||||
app-arch/xz-utils
|
|
||||||
>=app-containers/lxc-3.0.0[apparmor?,seccomp(+)]
|
|
||||||
dev-db/sqlite:3
|
|
||||||
dev-libs/dqlite:=
|
|
||||||
dev-libs/lzo
|
|
||||||
dev-libs/raft[lz4]
|
|
||||||
>=dev-util/xdelta-3.0[lzma(+)]
|
|
||||||
net-dns/dnsmasq[dhcp,ipv6(+)?]
|
|
||||||
sys-libs/libcap
|
|
||||||
virtual/udev"
|
|
||||||
RDEPEND="${DEPEND}
|
|
||||||
net-firewall/ebtables
|
|
||||||
net-firewall/iptables[ipv6(+)?]
|
|
||||||
sys-apps/iproute2[ipv6(+)?]
|
|
||||||
sys-fs/fuse:*
|
|
||||||
>=sys-fs/lxcfs-5.0.0
|
|
||||||
sys-fs/squashfs-tools[lzma]
|
|
||||||
virtual/acl"
|
|
||||||
BDEPEND="dev-lang/go
|
|
||||||
nls? ( sys-devel/gettext )
|
|
||||||
verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )"
|
|
||||||
|
|
||||||
CONFIG_CHECK="
|
|
||||||
~CGROUPS
|
|
||||||
~IPC_NS
|
|
||||||
~NET_NS
|
|
||||||
~PID_NS
|
|
||||||
|
|
||||||
~SECCOMP
|
|
||||||
~USER_NS
|
|
||||||
~UTS_NS
|
|
||||||
|
|
||||||
~KVM
|
|
||||||
~MACVTAP
|
|
||||||
~VHOST_VSOCK
|
|
||||||
"
|
|
||||||
|
|
||||||
ERROR_IPC_NS="CONFIG_IPC_NS is required."
|
|
||||||
ERROR_NET_NS="CONFIG_NET_NS is required."
|
|
||||||
ERROR_PID_NS="CONFIG_PID_NS is required."
|
|
||||||
ERROR_SECCOMP="CONFIG_SECCOMP is required."
|
|
||||||
ERROR_UTS_NS="CONFIG_UTS_NS is required."
|
|
||||||
|
|
||||||
WARNING_KVM="CONFIG_KVM and CONFIG_KVM_AMD/-INTEL is required for virtual machines."
|
|
||||||
WARNING_MACVTAP="CONFIG_MACVTAP is required for virtual machines."
|
|
||||||
WARNING_VHOST_VSOCK="CONFIG_VHOST_VSOCK is required for virtual machines."
|
|
||||||
|
|
||||||
# Go magic.
|
|
||||||
QA_PREBUILT="/usr/bin/fuidshift
|
|
||||||
/usr/bin/lxc
|
|
||||||
/usr/bin/lxc-to-lxd
|
|
||||||
/usr/bin/lxd-agent
|
|
||||||
/usr/bin/lxd-benchmark
|
|
||||||
/usr/bin/lxd-migrate
|
|
||||||
/usr/sbin/lxd"
|
|
||||||
|
|
||||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc
|
|
||||||
|
|
||||||
# The testsuite must be run as root.
|
|
||||||
# make: *** [Makefile:156: check] Error 1
|
|
||||||
RESTRICT="test"
|
|
||||||
|
|
||||||
GOPATH="${S}/_dist"
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
export GOPATH="${S}/_dist"
|
|
||||||
|
|
||||||
default
|
|
||||||
|
|
||||||
sed -i \
|
|
||||||
-e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/lxd:g" \
|
|
||||||
-e "s:make:make ${MAKEOPTS}:g" \
|
|
||||||
Makefile || die
|
|
||||||
|
|
||||||
# Fix hardcoded ovmf file path, see bug 763180
|
|
||||||
sed -i \
|
|
||||||
-e "s:/usr/share/OVMF:/usr/share/edk2-ovmf:g" \
|
|
||||||
-e "s:OVMF_VARS.ms.fd:OVMF_VARS.fd:g" \
|
|
||||||
doc/environment.md \
|
|
||||||
lxd/apparmor/instance.go \
|
|
||||||
lxd/apparmor/instance_qemu.go \
|
|
||||||
lxd/instance/drivers/driver_qemu.go || die "Failed to fix hardcoded ovmf paths."
|
|
||||||
|
|
||||||
# Fix hardcoded virtfs-proxy-helper file path, see bug 798924
|
|
||||||
sed -i \
|
|
||||||
-e "s:/usr/lib/qemu/virtfs-proxy-helper:/usr/libexec/virtfs-proxy-helper:g" \
|
|
||||||
lxd/device/device_utils_disk.go || die "Failed to fix virtfs-proxy-helper path."
|
|
||||||
|
|
||||||
cp "${FILESDIR}"/lxd-4.0.9-r1.service "${T}"/lxd.service || die
|
|
||||||
if use apparmor; then
|
|
||||||
sed -i \
|
|
||||||
'/^EnvironmentFile=.*/a ExecStartPre=\/usr\/libexec\/lxc\/lxc-apparmor-load' \
|
|
||||||
"${T}"/lxd.service || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Disable -Werror's from go modules.
|
|
||||||
find "${S}" -name "cgo.go" -exec sed -i "s/ -Werror / /g" {} + || die
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() { :; }
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
export GOPATH="${S}/_dist"
|
|
||||||
export CGO_LDFLAGS_ALLOW="-Wl,-z,now"
|
|
||||||
|
|
||||||
for k in fuidshift lxd-benchmark lxc lxc-to-lxd; do
|
|
||||||
go install -v -x "${S}/${k}" || die "failed compiling ${k}"
|
|
||||||
done
|
|
||||||
|
|
||||||
go install -v -x -tags libsqlite3 "${S}"/lxd || die "Failed to build the daemon"
|
|
||||||
|
|
||||||
# Needs to be built statically
|
|
||||||
CGO_ENABLED=0 go install -v -tags netgo "${S}"/lxd-migrate
|
|
||||||
CGO_ENABLED=0 go install -v -tags agent,netgo "${S}"/lxd-agent
|
|
||||||
|
|
||||||
use nls && emake build-mo
|
|
||||||
}
|
|
||||||
|
|
||||||
src_test() {
|
|
||||||
emake check
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
export GOPATH="${S}/_dist"
|
|
||||||
local bindir="_dist/bin"
|
|
||||||
|
|
||||||
dosbin ${bindir}/lxd
|
|
||||||
|
|
||||||
for l in fuidshift lxd-agent lxd-benchmark lxd-migrate lxc lxc-to-lxd; do
|
|
||||||
dobin ${bindir}/${l}
|
|
||||||
done
|
|
||||||
|
|
||||||
newbashcomp scripts/bash/lxd-client lxc
|
|
||||||
|
|
||||||
newconfd "${FILESDIR}"/lxd-4.0.0.confd lxd
|
|
||||||
newinitd "${FILESDIR}"/lxd-4.0.9.initd lxd
|
|
||||||
|
|
||||||
systemd_dounit "${T}"/lxd.service
|
|
||||||
systemd_newunit "${FILESDIR}"/lxd-containers-4.0.0.service lxd-containers.service
|
|
||||||
systemd_newunit "${FILESDIR}"/lxd-4.0.0.socket lxd.socket
|
|
||||||
|
|
||||||
dodoc AUTHORS
|
|
||||||
dodoc -r doc/*
|
|
||||||
use nls && domo po/*.mo
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
elog
|
|
||||||
elog "Consult https://wiki.gentoo.org/wiki/LXD for more information,"
|
|
||||||
elog "including a Quick Start."
|
|
||||||
elog "For virtual machine support, see:"
|
|
||||||
elog "https://wiki.gentoo.org/wiki/LXD#Virtual_machines"
|
|
||||||
elog
|
|
||||||
elog "Please run 'lxc-checkconfig' to see all optional kernel features."
|
|
||||||
elog
|
|
||||||
optfeature "virtual machine support" app-emulation/qemu[spice,usbredir,virtfs]
|
|
||||||
optfeature "btrfs storage backend" sys-fs/btrfs-progs
|
|
||||||
optfeature "lvm2 storage backend" sys-fs/lvm2
|
|
||||||
optfeature "zfs storage backend" sys-fs/zfs
|
|
||||||
elog
|
|
||||||
elog "Be sure to add your local user to the lxd group."
|
|
||||||
|
|
||||||
if [[ -n ${REPLACING_VERSIONS} ]] && has_version app-emulation/qemu[spice,usbredir,virtfs]; then
|
|
||||||
ewarn ""
|
|
||||||
ewarn "You're updating from <5.0.1. Due to incompatible API updates in the lxd-agent"
|
|
||||||
ewarn "product, you'll have to restart any running virtual machines before they work"
|
|
||||||
ewarn "properly."
|
|
||||||
ewarn ""
|
|
||||||
ewarn "Run: 'lxc restart your-vm' after the update for your vm's managed by lxd."
|
|
||||||
ewarn ""
|
|
||||||
fi
|
|
||||||
}
|
|
Binary file not shown.
@ -1,2 +1,4 @@
|
|||||||
DIST VBoxGuestAdditions_6.1.40.iso 63883264 BLAKE2B b9a22604b7dc135e9944bb46e7fb59e6202e692dd75de89763c6fe432328f65bacf4d893221a5e6f90ed3236fd36af2f6608932402e0ae967eb1ed24f6b1153a SHA512 149311a826c20f9bc8212e7580d3b552b4cd82f7e9dbaf4e44f363807f8132f0a81eb39082fc8876fcd5fb527d7d7c8ae1b3b6d8372b9bb39273d88fbd84a185
|
DIST VBoxGuestAdditions_6.1.40.iso 63883264 BLAKE2B b9a22604b7dc135e9944bb46e7fb59e6202e692dd75de89763c6fe432328f65bacf4d893221a5e6f90ed3236fd36af2f6608932402e0ae967eb1ed24f6b1153a SHA512 149311a826c20f9bc8212e7580d3b552b4cd82f7e9dbaf4e44f363807f8132f0a81eb39082fc8876fcd5fb527d7d7c8ae1b3b6d8372b9bb39273d88fbd84a185
|
||||||
|
DIST VBoxGuestAdditions_6.1.42.iso 63946752 BLAKE2B 56cb4bcb256e9def35fa0c2ff2b9cc18ec52d8d8d5def2b2619861a0bee18970314b7c26a8413ba8317183612d0f4762d7b20524d4422ccdcf11e82455aed238 SHA512 b2bbe3e3defc1131eec1769b508fd604835ba0e28e4b77ddbaa838ee6d3b0b8a0b89841226750cc8b7dc8b5fa918b613b6c9083449cb1da9b6fe1f410d501315
|
||||||
DIST VBoxGuestAdditions_7.0.4.iso 52969472 BLAKE2B ac8d724fbbb928bf0ddb10994ec2d4cce31ce0a95f4765f663ade0ab459685e384e86224057705ae9820dede0b69a40018ab481ac6bb1eec3f4bbccbcb395a20 SHA512 cbbc2141a7d98992fa07756fdaadab49c8686d181037db675ceb9b8c3257edb05be1d3183198255259c93b5e01b5eb72a118a64a04051197edfe179fd2ebeac4
|
DIST VBoxGuestAdditions_7.0.4.iso 52969472 BLAKE2B ac8d724fbbb928bf0ddb10994ec2d4cce31ce0a95f4765f663ade0ab459685e384e86224057705ae9820dede0b69a40018ab481ac6bb1eec3f4bbccbcb395a20 SHA512 cbbc2141a7d98992fa07756fdaadab49c8686d181037db675ceb9b8c3257edb05be1d3183198255259c93b5e01b5eb72a118a64a04051197edfe179fd2ebeac4
|
||||||
|
DIST VBoxGuestAdditions_7.0.6.iso 53049344 BLAKE2B df18a10dd6af3b4fd6a7d8e0d14b70d3a93274eb60b41e419c69ffe68bac3e5780782c32ace3a402c7755310f614ab42560d969f016f89d2ef5e32e06a6a260c SHA512 ba948b05209cad10d0772009af7529339faa44c31f75e0e10811887bd280f5fb7ed545dec315380ea99532bcbfc72833740c3c8b55502e8ec883d809c2bce47f
|
||||||
|
@ -0,0 +1,25 @@
|
|||||||
|
# Copyright 2022-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
MY_PN=VBoxGuestAdditions
|
||||||
|
MY_P=${MY_PN}_${PV}
|
||||||
|
|
||||||
|
DESCRIPTION="CD image containing guest additions for VirtualBox"
|
||||||
|
HOMEPAGE="https://www.virtualbox.org/"
|
||||||
|
SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.iso"
|
||||||
|
S="${WORKDIR}"
|
||||||
|
|
||||||
|
LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL"
|
||||||
|
SLOT="0/$(ver_cut 1-2)"
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
|
||||||
|
src_unpack() {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
insinto /usr/share/${PN/-additions}
|
||||||
|
newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
# Copyright 2022-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
MY_PN=VBoxGuestAdditions
|
||||||
|
MY_P=${MY_PN}_${PV}
|
||||||
|
|
||||||
|
DESCRIPTION="CD image containing guest additions for VirtualBox"
|
||||||
|
HOMEPAGE="https://www.virtualbox.org/"
|
||||||
|
SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.iso"
|
||||||
|
S="${WORKDIR}"
|
||||||
|
|
||||||
|
LICENSE="GPL-3 || ( GPL-3 CDDL )"
|
||||||
|
SLOT="0/$(ver_cut 1-2)"
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
|
||||||
|
src_unpack() {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
insinto /usr/share/${PN/-additions}
|
||||||
|
newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso
|
||||||
|
}
|
@ -1,2 +1,4 @@
|
|||||||
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.40.tar.gz 11233264 BLAKE2B c169747b6c0214bd850c5e639d5245e2084701c1ee764e8798a779545d95b8eb8ec0cf4622d5156c0a17126a6a522d041ec126984062b72e71a2283ae9652bd7 SHA512 6d8ff0f7f0c4eaaf9c6fcf965133fddc1d4057cffb98a10ade6cf0065e9f656bc49656bb3ac817694cbf9ca2fb4226f3e9ac9b1383ab07cdcbe05ffe18809ce1
|
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.40.tar.gz 11233264 BLAKE2B c169747b6c0214bd850c5e639d5245e2084701c1ee764e8798a779545d95b8eb8ec0cf4622d5156c0a17126a6a522d041ec126984062b72e71a2283ae9652bd7 SHA512 6d8ff0f7f0c4eaaf9c6fcf965133fddc1d4057cffb98a10ade6cf0065e9f656bc49656bb3ac817694cbf9ca2fb4226f3e9ac9b1383ab07cdcbe05ffe18809ce1
|
||||||
|
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.42.tar.gz 11233419 BLAKE2B c380b83ae5e5cad91f83ad99805bd8627b3e1101840cc8bfcc352fdb44369ff73f7f9ae2503e3fb4aeeac2ce4182e69273a4758eb6c71dd60c89cfcadcc22cd1 SHA512 9b5643a37319113d7f9e93c49d88d7aef319060a7be4bdfb0f09044916f03a203ddeb6799b7d99c2c0f83faa7f610c72058649ef763af18f662781f8e0c10f83
|
||||||
DIST Oracle_VM_VirtualBox_Extension_Pack-7.0.4.tar.gz 18515711 BLAKE2B 07e8ef3d638e7985830b78147849ebada0a4f2140458ea76e236dac53efb867135b860d5c2d29545f4127de934d2b059be60849466cbf6763fcc558afaf4786a SHA512 405042ae9aeff48ce86ec6f7dba294a8be1d26e0a4b1c5a85daacc231d64243a30f301ba6a4108546a8a4b702d01b109bc0936abded572f71bdd147c178615a2
|
DIST Oracle_VM_VirtualBox_Extension_Pack-7.0.4.tar.gz 18515711 BLAKE2B 07e8ef3d638e7985830b78147849ebada0a4f2140458ea76e236dac53efb867135b860d5c2d29545f4127de934d2b059be60849466cbf6763fcc558afaf4786a SHA512 405042ae9aeff48ce86ec6f7dba294a8be1d26e0a4b1c5a85daacc231d64243a30f301ba6a4108546a8a4b702d01b109bc0936abded572f71bdd147c178615a2
|
||||||
|
DIST Oracle_VM_VirtualBox_Extension_Pack-7.0.6.tar.gz 18544293 BLAKE2B 9bed5e3edb713e0908adc1bc2f95a102abe79119318aa7670646b4d98f2de8c77bf8f8c07d1e41aa428cbee5e60eecdc6aaf07d9516e8eeb2441139d8bb33e4e SHA512 f8498e8a8dc9a9c2b3f25c75f1f644c0464ba3b078ba0b6590149d56dbd480ed798cf2942cd88a62b75da55d7b69bbc1b71daba06b97f8a7a25650058fdb13cf
|
||||||
|
@ -0,0 +1,28 @@
|
|||||||
|
# Copyright 2022-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
MY_PV="$(ver_cut 1-3)"
|
||||||
|
MY_PN="Oracle_VM_VirtualBox_Extension_Pack"
|
||||||
|
MY_P="${MY_PN}-${MY_PV}"
|
||||||
|
|
||||||
|
DESCRIPTION="PUEL extensions for VirtualBox"
|
||||||
|
HOMEPAGE="https://www.virtualbox.org/"
|
||||||
|
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz"
|
||||||
|
S="${WORKDIR}"
|
||||||
|
|
||||||
|
LICENSE="PUEL-11"
|
||||||
|
SLOT="0/$(ver_cut 1-2)"
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
RESTRICT="bindist mirror strip"
|
||||||
|
|
||||||
|
RDEPEND="=app-emulation/virtualbox-${MY_PV}*"
|
||||||
|
|
||||||
|
QA_PREBUILT="usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/*"
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
|
||||||
|
doins -r linux.${ARCH}
|
||||||
|
doins ExtPack* PXE-Intel.rom
|
||||||
|
}
|
@ -0,0 +1,28 @@
|
|||||||
|
# Copyright 2022-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
MY_PV="$(ver_cut 1-3)"
|
||||||
|
MY_PN="Oracle_VM_VirtualBox_Extension_Pack"
|
||||||
|
MY_P="${MY_PN}-${MY_PV}"
|
||||||
|
|
||||||
|
DESCRIPTION="PUEL extensions for VirtualBox"
|
||||||
|
HOMEPAGE="https://www.virtualbox.org/"
|
||||||
|
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz"
|
||||||
|
S="${WORKDIR}"
|
||||||
|
|
||||||
|
LICENSE="PUEL-11"
|
||||||
|
SLOT="0/$(ver_cut 1-2)"
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
RESTRICT="bindist mirror strip"
|
||||||
|
|
||||||
|
RDEPEND="=app-emulation/virtualbox-${MY_PV}*"
|
||||||
|
|
||||||
|
QA_PREBUILT="usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/*"
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
|
||||||
|
doins -r linux.${ARCH}
|
||||||
|
doins ExtPack* PXE-Intel.rom
|
||||||
|
}
|
@ -1,3 +1,5 @@
|
|||||||
DIST VirtualBox-6.1.40.tar.bz2 165769795 BLAKE2B 5c216f23422be3fc4f7760881c666c57a516d12726ed8ef040bbdf918f1af53c69d204b22949e25f751cbe788b00c810c49c27b7c51c1837fd1c503a3eff202c SHA512 0dace071fe58500d0912fe4da4751de6840752375039554a56c8c753a0880a419c4a1ed7f1b0ebc51230f7099ca3f5d987dc7b91ad4d98dbd75bf63e3c27e096
|
DIST VirtualBox-6.1.40.tar.bz2 165769795 BLAKE2B 5c216f23422be3fc4f7760881c666c57a516d12726ed8ef040bbdf918f1af53c69d204b22949e25f751cbe788b00c810c49c27b7c51c1837fd1c503a3eff202c SHA512 0dace071fe58500d0912fe4da4751de6840752375039554a56c8c753a0880a419c4a1ed7f1b0ebc51230f7099ca3f5d987dc7b91ad4d98dbd75bf63e3c27e096
|
||||||
|
DIST VirtualBox-6.1.42.tar.bz2 165554573 BLAKE2B 8419793d9e4c4d0804baba926443a27259b012ab90d1bb27c8f9d90b018ddbef83d1cc47e9f5b88e6e247f22c186603584a5ddee4b0c04fe842eba56f3fd103a SHA512 a4861b44ee85d6d1d72ba1d19b5598873503feeb6d562cf7d8c770cc9b466741bdfa5abe74dc4e7952ff189d14c6caf60f584731492c38f688a360baba019ab2
|
||||||
DIST VirtualBox-7.0.4.tar.bz2 199658172 BLAKE2B 51bde109805e8f3e25f179a05fac532de7a428010955c7cc2a7c9e8c072246d69c5f51f8a51e39b6a1b9f246bd945edc38e0f0cc0630c357a5e9641c38dcac21 SHA512 70f2031c4897249177131795281bf6bd5a75166067d1921db70fd1e21f5638285b5a0c3298a7070e272ac2f093a60c35eb3cab4e5f7d16a68d17b211f637b0bc
|
DIST VirtualBox-7.0.4.tar.bz2 199658172 BLAKE2B 51bde109805e8f3e25f179a05fac532de7a428010955c7cc2a7c9e8c072246d69c5f51f8a51e39b6a1b9f246bd945edc38e0f0cc0630c357a5e9641c38dcac21 SHA512 70f2031c4897249177131795281bf6bd5a75166067d1921db70fd1e21f5638285b5a0c3298a7070e272ac2f093a60c35eb3cab4e5f7d16a68d17b211f637b0bc
|
||||||
|
DIST VirtualBox-7.0.6.tar.bz2 199512172 BLAKE2B cfe4d7abd57dfdb0294177759e80aa9fda797b9b5433f214771a57764cb23404450169e8c7c30cda13de85b8e02a37024584c7b1f0b5a44b10b100aa66b8d5c5 SHA512 f9db7a154e392f550f50abe774fc6263eb0b6f86dccc069f2c5012fedbe2debbf5b8ba62cca44ea0d5d5475652188176bfb888266f69197677b22854f02b64a0
|
||||||
DIST virtualbox-patches-6.1.36.tar.bz2 2733 BLAKE2B dcfebfeca4873d382441515d48b4dfee9343bc7c83ea3cbb5002dbf7975143a79fae9a701b67dc35505e9ca03ff1b6293cb7c3279c4fdfda8ad21ba5fb9b7e87 SHA512 1bed5cdefbf8e7c4b0d9092ba4961ecf2262f27f35c71a91ef6f2e8fe8a1d92ed74f06bafbf58d70ba7165d933997f58073f4d4f4051e3ba5c0339b729066f57
|
DIST virtualbox-patches-6.1.36.tar.bz2 2733 BLAKE2B dcfebfeca4873d382441515d48b4dfee9343bc7c83ea3cbb5002dbf7975143a79fae9a701b67dc35505e9ca03ff1b6293cb7c3279c4fdfda8ad21ba5fb9b7e87 SHA512 1bed5cdefbf8e7c4b0d9092ba4961ecf2262f27f35c71a91ef6f2e8fe8a1d92ed74f06bafbf58d70ba7165d933997f58073f4d4f4051e3ba5c0339b729066f57
|
||||||
|
@ -0,0 +1,282 @@
|
|||||||
|
# Copyright 2022-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit edo linux-mod systemd toolchain-funcs udev
|
||||||
|
|
||||||
|
MY_PN="VirtualBox"
|
||||||
|
MY_P="${MY_PN}-${PV}"
|
||||||
|
|
||||||
|
DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
|
||||||
|
HOMEPAGE="https://www.virtualbox.org/"
|
||||||
|
SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2
|
||||||
|
https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-6.1.36.tar.bz2"
|
||||||
|
S="${WORKDIR}/${MY_PN}-${PV}"
|
||||||
|
|
||||||
|
LICENSE="GPL-2"
|
||||||
|
SLOT="0/$(ver_cut 1-2)"
|
||||||
|
KEYWORDS="~amd64 ~x86"
|
||||||
|
IUSE="X +dbus"
|
||||||
|
|
||||||
|
# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
|
||||||
|
RDEPEND="
|
||||||
|
acct-group/vboxguest
|
||||||
|
acct-group/vboxsf
|
||||||
|
acct-user/vboxguest
|
||||||
|
sys-libs/pam
|
||||||
|
sys-libs/zlib
|
||||||
|
dbus? ( sys-apps/dbus )
|
||||||
|
X? (
|
||||||
|
x11-apps/xrandr
|
||||||
|
x11-apps/xrefresh
|
||||||
|
x11-libs/libX11
|
||||||
|
x11-libs/libXext
|
||||||
|
x11-libs/libXmu
|
||||||
|
x11-libs/libXt
|
||||||
|
)
|
||||||
|
"
|
||||||
|
DEPEND="
|
||||||
|
${RDEPEND}
|
||||||
|
X? (
|
||||||
|
x11-base/xorg-proto
|
||||||
|
x11-libs/libICE
|
||||||
|
x11-libs/libSM
|
||||||
|
x11-libs/libXau
|
||||||
|
x11-libs/libXdmcp
|
||||||
|
)
|
||||||
|
"
|
||||||
|
BDEPEND="
|
||||||
|
>=dev-util/kbuild-0.1.9998.3127
|
||||||
|
>=dev-lang/yasm-0.6.2
|
||||||
|
sys-devel/bin86
|
||||||
|
sys-power/iasl
|
||||||
|
"
|
||||||
|
PDEPEND="
|
||||||
|
X? ( x11-drivers/xf86-video-vboxvideo )
|
||||||
|
"
|
||||||
|
|
||||||
|
BUILD_TARGETS="all"
|
||||||
|
BUILD_TARGET_ARCH="${ARCH}"
|
||||||
|
|
||||||
|
VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src"
|
||||||
|
MODULESD_VBOXSF_ALIASES=("fs-vboxsf vboxsf") # 485996
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
export DISTCC_DISABLE=1 #674256
|
||||||
|
MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest)
|
||||||
|
vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)"
|
||||||
|
use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)"
|
||||||
|
|
||||||
|
linux-mod_pkg_setup
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
# Remove shipped binaries (kBuild,yasm), see bug #232775
|
||||||
|
rm -r kBuild/bin tools || die
|
||||||
|
|
||||||
|
# Provide kernel sources
|
||||||
|
pushd src/VBox/Additions &>/dev/null || die
|
||||||
|
ebegin "Extracting guest kernel module sources"
|
||||||
|
kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null
|
||||||
|
eend $? || die
|
||||||
|
popd &>/dev/null || die
|
||||||
|
|
||||||
|
# PaX fixes (see bug #298988)
|
||||||
|
pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die
|
||||||
|
eapply "${FILESDIR}"/vboxguest-6.1.36-log-use-c99.patch
|
||||||
|
popd &>/dev/null || die
|
||||||
|
|
||||||
|
# Disable things unused or splitted into separate ebuilds
|
||||||
|
cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
|
||||||
|
use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk
|
||||||
|
|
||||||
|
# Remove pointless GCC version check
|
||||||
|
sed -e '/^check_gcc$/d' -i configure || die
|
||||||
|
|
||||||
|
# Respect LDFLAGS (bug #759100)
|
||||||
|
sed -i -e '/TEMPLATE_VBOXR3EXE_LDFLAGS.linux[ ]*=/ s/$/ $(CCLDFLAGS)/' Config.kmk
|
||||||
|
|
||||||
|
eapply "${WORKDIR}/virtualbox-patches-6.1.36/patches"
|
||||||
|
eapply_user
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
tc-export AR CC CXX LD RANLIB
|
||||||
|
|
||||||
|
# Build the user-space tools, warnings are harmless
|
||||||
|
local myconf=(
|
||||||
|
--with-gcc="$(tc-getCC)"
|
||||||
|
--with-g++="$(tc-getCXX)"
|
||||||
|
|
||||||
|
--nofatal
|
||||||
|
--disable-xpcom
|
||||||
|
--disable-sdl-ttf
|
||||||
|
--disable-pulse
|
||||||
|
--disable-alsa
|
||||||
|
$(usev !dbus --disable-dbus)
|
||||||
|
--target-arch=${ARCH}
|
||||||
|
--with-linux="${KV_OUT_DIR}"
|
||||||
|
--build-headless
|
||||||
|
)
|
||||||
|
|
||||||
|
# bug #843437
|
||||||
|
# Respect LDFLAGS (bug #759100)
|
||||||
|
# Cannot use LDFLAGS here because they also get passed to $(LD)
|
||||||
|
cat >> LocalConfig.kmk <<-EOF || die
|
||||||
|
CFLAGS=${CFLAGS}
|
||||||
|
CXXFLAGS=${CXXFLAGS}
|
||||||
|
CCLDFLAGS=${LDFLAGS}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
edo ./configure "${myconf[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
source ./env.sh || die
|
||||||
|
|
||||||
|
# Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
|
||||||
|
MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
|
||||||
|
MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
|
||||||
|
MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
|
||||||
|
|
||||||
|
local myemakeargs=(
|
||||||
|
VBOX_BUILD_PUBLISHER=_Gentoo
|
||||||
|
VBOX_ONLY_ADDITIONS=1
|
||||||
|
|
||||||
|
KBUILD_VERBOSE=2
|
||||||
|
|
||||||
|
AS="$(tc-getCC)"
|
||||||
|
CC="$(tc-getCC)"
|
||||||
|
CXX="$(tc-getCXX)"
|
||||||
|
LD="$(tc-getCC)"
|
||||||
|
|
||||||
|
TOOL_GCC3_CC="$(tc-getCC)"
|
||||||
|
TOOL_GCC3_CXX="$(tc-getCXX)"
|
||||||
|
TOOL_GCC3_LD="$(tc-getCC)"
|
||||||
|
TOOL_GCC3_AS="$(tc-getCC)"
|
||||||
|
TOOL_GCC3_AR="$(tc-getAR)"
|
||||||
|
TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
|
||||||
|
#TOOL_GCC3_LD_SYSMOD="$(tc-getCC)"
|
||||||
|
|
||||||
|
TOOL_GXX3_CC="$(tc-getCC)"
|
||||||
|
TOOL_GXX3_CXX="$(tc-getCXX)"
|
||||||
|
TOOL_GXX3_LD="$(tc-getCXX)"
|
||||||
|
TOOL_GXX3_AS="$(tc-getCXX)"
|
||||||
|
TOOL_GXX3_AR="$(tc-getAR)"
|
||||||
|
TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
|
||||||
|
#TOOL_GXX3_LD_SYSMOD="$(tc-getCXX)"
|
||||||
|
|
||||||
|
TOOL_GCC3_CFLAGS="${CFLAGS}"
|
||||||
|
TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
|
||||||
|
VBOX_GCC_OPT="${CXXFLAGS}"
|
||||||
|
VBOX_NM="$(tc-getNM)"
|
||||||
|
TOOL_YASM_AS=yasm
|
||||||
|
)
|
||||||
|
|
||||||
|
MAKE="kmk" emake "${myemakeargs[@]}"
|
||||||
|
|
||||||
|
# Now creating the kernel modules. We must do this _after_
|
||||||
|
# we compiled the user-space tools as we need two of the
|
||||||
|
# automatically generated header files. (>=3.2.0)
|
||||||
|
# Move this here for bug 836037
|
||||||
|
BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers"
|
||||||
|
linux-mod_src_compile
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
linux-mod_src_install
|
||||||
|
|
||||||
|
cd "${S}"/out/linux.${ARCH}/release/bin/additions || die
|
||||||
|
|
||||||
|
insinto /sbin
|
||||||
|
newins mount.vboxsf mount.vboxsf
|
||||||
|
fperms 4755 /sbin/mount.vboxsf
|
||||||
|
|
||||||
|
if use dbus; then
|
||||||
|
newinitd "${FILESDIR}"/${PN}-8.initd-r1 ${PN}
|
||||||
|
else
|
||||||
|
newinitd <(sed 's/ dbus\>//' "${FILESDIR}"/${PN}-8.initd-r1) ${PN}
|
||||||
|
fi
|
||||||
|
|
||||||
|
insinto /usr/sbin/
|
||||||
|
newins VBoxService vboxguest-service
|
||||||
|
fperms 0755 /usr/sbin/vboxguest-service
|
||||||
|
|
||||||
|
insinto /usr/bin
|
||||||
|
doins VBoxControl
|
||||||
|
fperms 0755 /usr/bin/VBoxControl
|
||||||
|
|
||||||
|
# VBoxClient user service and xrandr wrapper
|
||||||
|
if use X ; then
|
||||||
|
doins VBoxClient
|
||||||
|
fperms 0755 /usr/bin/VBoxClient
|
||||||
|
doins VBoxDRMClient
|
||||||
|
fperms 4755 /usr/bin/VBoxDRMClient
|
||||||
|
|
||||||
|
pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null || die
|
||||||
|
newins 98vboxadd-xclient VBoxClient-all
|
||||||
|
fperms 0755 /usr/bin/VBoxClient-all
|
||||||
|
popd &>/dev/null || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# udev rule for vboxdrv
|
||||||
|
local udev_rules_dir="/lib/udev/rules.d"
|
||||||
|
dodir ${udev_rules_dir}
|
||||||
|
echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
|
||||||
|
>> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|
||||||
|
|| die
|
||||||
|
echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
|
||||||
|
>> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|
||||||
|
|| die
|
||||||
|
|
||||||
|
# VBoxClient autostart file
|
||||||
|
insinto /etc/xdg/autostart
|
||||||
|
doins "${FILESDIR}"/vboxclient.desktop
|
||||||
|
|
||||||
|
# sample xorg.conf
|
||||||
|
dodoc "${FILESDIR}"/xorg.conf.vbox
|
||||||
|
docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox
|
||||||
|
|
||||||
|
systemd_dounit "${FILESDIR}/${PN}.service"
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
linux-mod_pkg_postinst
|
||||||
|
udev_reload
|
||||||
|
if ! use X ; then
|
||||||
|
elog "use flag X is off, enable it to install the"
|
||||||
|
elog "X Window System video driver."
|
||||||
|
fi
|
||||||
|
elog ""
|
||||||
|
elog "Please add users to the \"vboxguest\" group so they can"
|
||||||
|
elog "benefit from seamless mode, auto-resize and clipboard."
|
||||||
|
elog ""
|
||||||
|
elog "The vboxsf group has been added to make automount services work."
|
||||||
|
elog "These services are part of the shared folders support."
|
||||||
|
elog ""
|
||||||
|
elog "Please add:"
|
||||||
|
elog "/etc/init.d/${PN}"
|
||||||
|
elog "to the default runlevel in order to start"
|
||||||
|
elog "needed services."
|
||||||
|
elog "To use the VirtualBox X driver, use the following"
|
||||||
|
elog "file as your /etc/X11/xorg.conf:"
|
||||||
|
elog " /usr/share/doc/${PF}/xorg.conf.vbox"
|
||||||
|
elog ""
|
||||||
|
elog "An autostart .desktop file has been installed to start"
|
||||||
|
elog "VBoxClient in desktop sessions."
|
||||||
|
elog ""
|
||||||
|
elog "You can mount shared folders with:"
|
||||||
|
elog " mount -t vboxsf <shared_folder_name> <mount_point>"
|
||||||
|
elog ""
|
||||||
|
elog "Warning:"
|
||||||
|
elog "this ebuild is only needed if you are running gentoo"
|
||||||
|
elog "inside a VirtualBox Virtual Machine, you don't need"
|
||||||
|
elog "it to run VirtualBox itself."
|
||||||
|
elog ""
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
linux-mod_pkg_postrm
|
||||||
|
udev_reload
|
||||||
|
}
|
@ -0,0 +1,289 @@
|
|||||||
|
# Copyright 2022-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit edo linux-mod systemd toolchain-funcs udev
|
||||||
|
|
||||||
|
MY_PN="VirtualBox"
|
||||||
|
MY_P="${MY_PN}-${PV}"
|
||||||
|
|
||||||
|
DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
|
||||||
|
HOMEPAGE="https://www.virtualbox.org/"
|
||||||
|
SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2
|
||||||
|
https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-6.1.36.tar.bz2"
|
||||||
|
S="${WORKDIR}/${MY_PN}-${PV}"
|
||||||
|
|
||||||
|
# Reminder: see the LICENSE related comment in app-emulation/virtualbox-additions ebuild
|
||||||
|
LICENSE="GPL-3 LGPL-2.1+ MIT || ( GPL-3 CDDL )"
|
||||||
|
SLOT="0/$(ver_cut 1-2)"
|
||||||
|
KEYWORDS="~amd64 ~x86"
|
||||||
|
IUSE="+dbus gui"
|
||||||
|
|
||||||
|
# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
|
||||||
|
# TODO: find out what this is, remove comment if obsolete
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
acct-group/vboxguest
|
||||||
|
acct-group/vboxsf
|
||||||
|
acct-user/vboxguest
|
||||||
|
sys-libs/pam
|
||||||
|
sys-libs/zlib
|
||||||
|
dbus? ( sys-apps/dbus )
|
||||||
|
gui? (
|
||||||
|
x11-apps/xrandr
|
||||||
|
x11-apps/xrefresh
|
||||||
|
x11-libs/libX11
|
||||||
|
x11-libs/libXext
|
||||||
|
x11-libs/libXmu
|
||||||
|
x11-libs/libXt
|
||||||
|
)
|
||||||
|
"
|
||||||
|
# some libs here are indirect dependencies, and also needed at compile time.
|
||||||
|
# keeping them in DEPEND to avoid warnings from qa-vdb.
|
||||||
|
DEPEND="
|
||||||
|
${RDEPEND}
|
||||||
|
gui? (
|
||||||
|
x11-libs/libICE
|
||||||
|
x11-libs/libSM
|
||||||
|
x11-libs/libXau
|
||||||
|
x11-libs/libXdmcp
|
||||||
|
x11-base/xorg-proto
|
||||||
|
)
|
||||||
|
"
|
||||||
|
BDEPEND="
|
||||||
|
>=dev-lang/yasm-0.6.2
|
||||||
|
>=dev-util/kbuild-0.1.9998.3127
|
||||||
|
sys-devel/bin86
|
||||||
|
sys-power/iasl
|
||||||
|
"
|
||||||
|
PDEPEND="
|
||||||
|
gui? ( x11-drivers/xf86-video-vboxvideo )
|
||||||
|
"
|
||||||
|
|
||||||
|
BUILD_TARGETS="all"
|
||||||
|
BUILD_TARGET_ARCH="${ARCH}"
|
||||||
|
|
||||||
|
VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src"
|
||||||
|
MODULESD_VBOXSF_ALIASES=("fs-vboxsf vboxsf") # 485996
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
export DISTCC_DISABLE=1 #674256
|
||||||
|
MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest)
|
||||||
|
vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)"
|
||||||
|
use gui && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)"
|
||||||
|
|
||||||
|
linux-mod_pkg_setup
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
# Remove shipped binaries (kBuild,yasm), see bug #232775
|
||||||
|
rm -r kBuild/bin tools || die
|
||||||
|
|
||||||
|
# Provide kernel sources
|
||||||
|
pushd src/VBox/Additions &>/dev/null || die
|
||||||
|
ebegin "Extracting guest kernel module sources"
|
||||||
|
kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null
|
||||||
|
eend $? || die
|
||||||
|
popd &>/dev/null || die
|
||||||
|
|
||||||
|
# PaX fixes (see bug #298988)
|
||||||
|
pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die
|
||||||
|
eapply "${FILESDIR}"/vboxguest-6.1.36-log-use-c99.patch
|
||||||
|
popd &>/dev/null || die
|
||||||
|
|
||||||
|
# Disable things unused or splitted into separate ebuilds
|
||||||
|
cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
|
||||||
|
if ! use gui; then
|
||||||
|
echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove pointless GCC version check
|
||||||
|
sed -e '/^check_gcc$/d' -i configure || die
|
||||||
|
|
||||||
|
# Respect LDFLAGS (bug #759100)
|
||||||
|
sed -i -e '/TEMPLATE_VBOXR3EXE_LDFLAGS.linux[ ]*=/ s/$/ $(CCLDFLAGS)/' Config.kmk || die
|
||||||
|
|
||||||
|
eapply "${WORKDIR}/virtualbox-patches-6.1.36/patches"
|
||||||
|
eapply_user
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
tc-export AR CC CXX LD RANLIB
|
||||||
|
|
||||||
|
# Build the user-space tools, warnings are harmless
|
||||||
|
local myconf=(
|
||||||
|
--with-gcc="$(tc-getCC)"
|
||||||
|
--with-g++="$(tc-getCXX)"
|
||||||
|
|
||||||
|
--nofatal
|
||||||
|
--disable-xpcom
|
||||||
|
--disable-sdl-ttf
|
||||||
|
--disable-pulse
|
||||||
|
--disable-alsa
|
||||||
|
$(usev !dbus --disable-dbus)
|
||||||
|
--target-arch=${ARCH}
|
||||||
|
--with-linux="${KV_OUT_DIR}"
|
||||||
|
--build-headless
|
||||||
|
)
|
||||||
|
|
||||||
|
# bug #843437
|
||||||
|
# Respect LDFLAGS (bug #759100)
|
||||||
|
# Cannot use LDFLAGS here because they also get passed to $(LD)
|
||||||
|
cat >> LocalConfig.kmk <<-EOF || die
|
||||||
|
CFLAGS=${CFLAGS}
|
||||||
|
CXXFLAGS=${CXXFLAGS}
|
||||||
|
CCLDFLAGS=${LDFLAGS}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
edo ./configure "${myconf[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
source ./env.sh || die
|
||||||
|
|
||||||
|
# Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
|
||||||
|
MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
|
||||||
|
MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
|
||||||
|
MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
|
||||||
|
|
||||||
|
local myemakeargs=(
|
||||||
|
VBOX_BUILD_PUBLISHER=_Gentoo
|
||||||
|
VBOX_ONLY_ADDITIONS=1
|
||||||
|
|
||||||
|
KBUILD_VERBOSE=2
|
||||||
|
|
||||||
|
AS="$(tc-getCC)"
|
||||||
|
CC="$(tc-getCC)"
|
||||||
|
CXX="$(tc-getCXX)"
|
||||||
|
LD="$(tc-getCC)"
|
||||||
|
|
||||||
|
TOOL_GCC3_CC="$(tc-getCC)"
|
||||||
|
TOOL_GCC3_CXX="$(tc-getCXX)"
|
||||||
|
TOOL_GCC3_LD="$(tc-getCC)"
|
||||||
|
TOOL_GCC3_AS="$(tc-getCC)"
|
||||||
|
TOOL_GCC3_AR="$(tc-getAR)"
|
||||||
|
TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
|
||||||
|
#TOOL_GCC3_LD_SYSMOD="$(tc-getCC)"
|
||||||
|
|
||||||
|
TOOL_GXX3_CC="$(tc-getCC)"
|
||||||
|
TOOL_GXX3_CXX="$(tc-getCXX)"
|
||||||
|
TOOL_GXX3_LD="$(tc-getCXX)"
|
||||||
|
TOOL_GXX3_AS="$(tc-getCXX)"
|
||||||
|
TOOL_GXX3_AR="$(tc-getAR)"
|
||||||
|
TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
|
||||||
|
#TOOL_GXX3_LD_SYSMOD="$(tc-getCXX)"
|
||||||
|
|
||||||
|
TOOL_GCC3_CFLAGS="${CFLAGS}"
|
||||||
|
TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
|
||||||
|
VBOX_GCC_OPT="${CXXFLAGS}"
|
||||||
|
VBOX_NM="$(tc-getNM)"
|
||||||
|
TOOL_YASM_AS=yasm
|
||||||
|
)
|
||||||
|
|
||||||
|
MAKE="kmk" emake "${myemakeargs[@]}"
|
||||||
|
|
||||||
|
# Now creating the kernel modules. We must do this _after_
|
||||||
|
# we compiled the user-space tools as we need two of the
|
||||||
|
# automatically generated header files. (>=3.2.0)
|
||||||
|
# Move this here for bug 836037
|
||||||
|
BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers"
|
||||||
|
linux-mod_src_compile
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
linux-mod_src_install
|
||||||
|
|
||||||
|
cd "${S}"/out/linux.${ARCH}/release/bin/additions || die
|
||||||
|
|
||||||
|
insinto /sbin
|
||||||
|
newins mount.vboxsf mount.vboxsf
|
||||||
|
fperms 4755 /sbin/mount.vboxsf
|
||||||
|
|
||||||
|
if use dbus; then
|
||||||
|
newinitd "${FILESDIR}"/${PN}-8.initd-r1 ${PN}
|
||||||
|
else
|
||||||
|
newinitd <(sed 's/ dbus\>//' "${FILESDIR}"/${PN}-8.initd-r1) ${PN}
|
||||||
|
fi
|
||||||
|
|
||||||
|
insinto /usr/sbin/
|
||||||
|
newins VBoxService vboxguest-service
|
||||||
|
fperms 0755 /usr/sbin/vboxguest-service
|
||||||
|
|
||||||
|
insinto /usr/bin
|
||||||
|
doins VBoxControl
|
||||||
|
fperms 0755 /usr/bin/VBoxControl
|
||||||
|
|
||||||
|
# VBoxClient user service and xrandr wrapper
|
||||||
|
if use gui ; then
|
||||||
|
doins VBoxClient
|
||||||
|
fperms 0755 /usr/bin/VBoxClient
|
||||||
|
doins VBoxDRMClient
|
||||||
|
fperms 4755 /usr/bin/VBoxDRMClient
|
||||||
|
|
||||||
|
pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null || die
|
||||||
|
newins 98vboxadd-xclient VBoxClient-all
|
||||||
|
fperms 0755 /usr/bin/VBoxClient-all
|
||||||
|
popd &>/dev/null || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# udev rule for vboxdrv
|
||||||
|
local udev_rules_dir="/lib/udev/rules.d"
|
||||||
|
dodir ${udev_rules_dir}
|
||||||
|
echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
|
||||||
|
>> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|
||||||
|
|| die
|
||||||
|
echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
|
||||||
|
>> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|
||||||
|
|| die
|
||||||
|
|
||||||
|
# VBoxClient autostart file
|
||||||
|
insinto /etc/xdg/autostart
|
||||||
|
doins "${FILESDIR}"/vboxclient.desktop
|
||||||
|
|
||||||
|
# sample xorg.conf
|
||||||
|
dodoc "${FILESDIR}"/xorg.conf.vbox
|
||||||
|
docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox
|
||||||
|
|
||||||
|
systemd_dounit "${FILESDIR}/${PN}.service"
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
linux-mod_pkg_postinst
|
||||||
|
udev_reload
|
||||||
|
if ! use gui ; then
|
||||||
|
elog "use flag gui is off, enable it to install the"
|
||||||
|
elog "X Window System video driver."
|
||||||
|
fi
|
||||||
|
elog ""
|
||||||
|
elog "Please add users to the \"vboxguest\" group so they can"
|
||||||
|
elog "benefit from seamless mode, auto-resize and clipboard."
|
||||||
|
elog ""
|
||||||
|
elog "The vboxsf group has been added to make automount services work."
|
||||||
|
elog "These services are part of the shared folders support."
|
||||||
|
elog ""
|
||||||
|
elog "Please add:"
|
||||||
|
elog "/etc/init.d/${PN}"
|
||||||
|
elog "to the default runlevel in order to start"
|
||||||
|
elog "needed services."
|
||||||
|
elog "To use the VirtualBox X driver, use the following"
|
||||||
|
elog "file as your /etc/X11/xorg.conf:"
|
||||||
|
elog " /usr/share/doc/${PF}/xorg.conf.vbox"
|
||||||
|
elog ""
|
||||||
|
elog "An autostart .desktop file has been installed to start"
|
||||||
|
elog "VBoxClient in desktop sessions."
|
||||||
|
elog ""
|
||||||
|
elog "You can mount shared folders with:"
|
||||||
|
elog " mount -t vboxsf <shared_folder_name> <mount_point>"
|
||||||
|
elog ""
|
||||||
|
elog "Warning:"
|
||||||
|
elog "this ebuild is only needed if you are running gentoo"
|
||||||
|
elog "inside a VirtualBox Virtual Machine, you don't need"
|
||||||
|
elog "it to run VirtualBox itself."
|
||||||
|
elog ""
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
linux-mod_pkg_postrm
|
||||||
|
udev_reload
|
||||||
|
}
|
@ -1,2 +1,4 @@
|
|||||||
DIST vbox-kernel-module-src-6.1.40.tar.xz 680112 BLAKE2B 95bcb598bc3823c8bf4bfeb734a5d812a4830d072b186c999ed8632552550d0d21318bc50419fd18301cd6e8e58d091a4f6363c9ee86725d6bf8e74050b552d2 SHA512 8eec3c960077205d53b3d2a8367ce562edb02a6d90fe0a4bd06e1dfa256760e128b9895fc8005ceeb50a72eda6509533a28c6ee264d10a2cd30601ed5ced2eeb
|
DIST vbox-kernel-module-src-6.1.40.tar.xz 680112 BLAKE2B 95bcb598bc3823c8bf4bfeb734a5d812a4830d072b186c999ed8632552550d0d21318bc50419fd18301cd6e8e58d091a4f6363c9ee86725d6bf8e74050b552d2 SHA512 8eec3c960077205d53b3d2a8367ce562edb02a6d90fe0a4bd06e1dfa256760e128b9895fc8005ceeb50a72eda6509533a28c6ee264d10a2cd30601ed5ced2eeb
|
||||||
|
DIST vbox-kernel-module-src-6.1.42.tar.xz 679052 BLAKE2B d89324cee9cfc71e2762f5d2b7dfff33297b0d2eab5714ad9ddcfb762b1263ca17acbe5fdffe53170936fe0a0faffbc69989b62cdcc0b979f394fcff35f5b69c SHA512 3bb363c8f163b5958edc11c971122c35977275c0995eab832262277720c7486150939d50a0640170fa7a5cd32c1dc2918c5e3430ec90a836400d0a774b48d886
|
||||||
DIST vbox-kernel-module-src-7.0.4.tar.xz 719552 BLAKE2B 5db9ef68acb0da28096dbb89b746261dfac830b626fbed669c02eab6399e681b2c5667d0fe547c8cc8c7e1cbf66d4c6696d9badf0faa617ef2cd0d7372ec9cbe SHA512 521994ffcc27766ee5bbf19595c41a292ce266247249e8ed701fca802d0a1bb82883959eb10bc06bc78abfd6b5230605e6620717526ca528f0b2e1d8d62a8dc4
|
DIST vbox-kernel-module-src-7.0.4.tar.xz 719552 BLAKE2B 5db9ef68acb0da28096dbb89b746261dfac830b626fbed669c02eab6399e681b2c5667d0fe547c8cc8c7e1cbf66d4c6696d9badf0faa617ef2cd0d7372ec9cbe SHA512 521994ffcc27766ee5bbf19595c41a292ce266247249e8ed701fca802d0a1bb82883959eb10bc06bc78abfd6b5230605e6620717526ca528f0b2e1d8d62a8dc4
|
||||||
|
DIST vbox-kernel-module-src-7.0.6.tar.xz 718156 BLAKE2B 9f855482c77b14e233ed247f7d94df7c23a00e0f9fca27926921f8c18fa6ab2205075f1b9be61429cfbee325d5f22805c850c0c79fd4fa9ccf7668dcb714f345 SHA512 fca794fd36203b296ce14d7d06022360bb9d94a6e06d8d9c77cc0221f63a898b6482b423e7deb6bd7b0355ee98fc3c7bbe11c9a1fa5dcf1d634eebc4fe537dc3
|
||||||
|
@ -0,0 +1,57 @@
|
|||||||
|
# Copyright 2022-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
# XXX: the tarball here is just the kernel modules split out of the binary
|
||||||
|
# package that comes from VirtualBox-*.run
|
||||||
|
# XXX: update: now it is split from virtualbox-*-Debian~bullseye_amd64.deb
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit linux-mod toolchain-funcs
|
||||||
|
|
||||||
|
MY_P="vbox-kernel-module-src-${PV}"
|
||||||
|
DESCRIPTION="Kernel Modules for Virtualbox"
|
||||||
|
HOMEPAGE="https://www.virtualbox.org/"
|
||||||
|
SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${MY_P}.tar.xz"
|
||||||
|
S="${WORKDIR}"
|
||||||
|
|
||||||
|
LICENSE="GPL-2"
|
||||||
|
SLOT="0/$(ver_cut 1-2)"
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
|
||||||
|
BUILD_TARGETS="all"
|
||||||
|
MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S})"
|
||||||
|
MODULESD_VBOXDRV_ENABLED="yes"
|
||||||
|
MODULESD_VBOXNETADP_ENABLED="no"
|
||||||
|
MODULESD_VBOXNETFLT_ENABLED="no"
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
linux-mod_pkg_setup
|
||||||
|
BUILD_PARAMS="CC=\"$(tc-getBUILD_CC)\" KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
|
||||||
|
if linux_chkconfig_present CC_IS_CLANG; then
|
||||||
|
ewarn "Warning: building ${PN} with a clang-built kernel is experimental."
|
||||||
|
|
||||||
|
BUILD_PARAMS+=' CC=${CHOST}-clang'
|
||||||
|
if linux_chkconfig_present LD_IS_LLD; then
|
||||||
|
BUILD_PARAMS+=' LD=ld.lld'
|
||||||
|
if linux_chkconfig_present LTO_CLANG_THIN; then
|
||||||
|
# kernel enables cache by default leading to sandbox violations
|
||||||
|
BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir='
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
linux-mod_src_install
|
||||||
|
insinto /usr/lib/modules-load.d/
|
||||||
|
newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
# Remove vboxpci.ko from current running kernel
|
||||||
|
# This module is obsolete, removed in december 2019, so it may be missing. No || die
|
||||||
|
# TODO: consider removing this line in the near future
|
||||||
|
find /lib/modules/${KV_FULL}/misc -type f -name "vboxpci.ko" -delete
|
||||||
|
linux-mod_pkg_postinst
|
||||||
|
}
|
@ -0,0 +1,57 @@
|
|||||||
|
# Copyright 2022-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
# XXX: the tarball here is just the kernel modules split out of the binary
|
||||||
|
# package that comes from VirtualBox-*.run
|
||||||
|
# XXX: update: now it is split from virtualbox-*-Debian~bullseye_amd64.deb
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit linux-mod toolchain-funcs
|
||||||
|
|
||||||
|
MY_P="vbox-kernel-module-src-${PV}"
|
||||||
|
DESCRIPTION="Kernel Modules for Virtualbox"
|
||||||
|
HOMEPAGE="https://www.virtualbox.org/"
|
||||||
|
SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${MY_P}.tar.xz"
|
||||||
|
S="${WORKDIR}"
|
||||||
|
|
||||||
|
LICENSE="GPL-3"
|
||||||
|
SLOT="0/$(ver_cut 1-2)"
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
|
||||||
|
BUILD_TARGETS="all"
|
||||||
|
MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S})"
|
||||||
|
MODULESD_VBOXDRV_ENABLED="yes"
|
||||||
|
MODULESD_VBOXNETADP_ENABLED="no"
|
||||||
|
MODULESD_VBOXNETFLT_ENABLED="no"
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
linux-mod_pkg_setup
|
||||||
|
BUILD_PARAMS="CC=\"$(tc-getBUILD_CC)\" KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
|
||||||
|
if linux_chkconfig_present CC_IS_CLANG; then
|
||||||
|
ewarn "Warning: building ${PN} with a clang-built kernel is experimental."
|
||||||
|
|
||||||
|
BUILD_PARAMS+=' CC=${CHOST}-clang'
|
||||||
|
if linux_chkconfig_present LD_IS_LLD; then
|
||||||
|
BUILD_PARAMS+=' LD=ld.lld'
|
||||||
|
if linux_chkconfig_present LTO_CLANG_THIN; then
|
||||||
|
# kernel enables cache by default leading to sandbox violations
|
||||||
|
BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir='
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
linux-mod_src_install
|
||||||
|
insinto /usr/lib/modules-load.d/
|
||||||
|
newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
# Remove vboxpci.ko from current running kernel
|
||||||
|
# This module is obsolete, removed in december 2019, so it may be missing. No || die
|
||||||
|
# TODO: consider removing this line in the near future
|
||||||
|
find /lib/modules/${KV_FULL}/misc -type f -name "vboxpci.ko" -delete
|
||||||
|
linux-mod_pkg_postinst
|
||||||
|
}
|
@ -1,3 +1,5 @@
|
|||||||
DIST VirtualBox-6.1.40.tar.bz2 165769795 BLAKE2B 5c216f23422be3fc4f7760881c666c57a516d12726ed8ef040bbdf918f1af53c69d204b22949e25f751cbe788b00c810c49c27b7c51c1837fd1c503a3eff202c SHA512 0dace071fe58500d0912fe4da4751de6840752375039554a56c8c753a0880a419c4a1ed7f1b0ebc51230f7099ca3f5d987dc7b91ad4d98dbd75bf63e3c27e096
|
DIST VirtualBox-6.1.40.tar.bz2 165769795 BLAKE2B 5c216f23422be3fc4f7760881c666c57a516d12726ed8ef040bbdf918f1af53c69d204b22949e25f751cbe788b00c810c49c27b7c51c1837fd1c503a3eff202c SHA512 0dace071fe58500d0912fe4da4751de6840752375039554a56c8c753a0880a419c4a1ed7f1b0ebc51230f7099ca3f5d987dc7b91ad4d98dbd75bf63e3c27e096
|
||||||
|
DIST VirtualBox-6.1.42.tar.bz2 165554573 BLAKE2B 8419793d9e4c4d0804baba926443a27259b012ab90d1bb27c8f9d90b018ddbef83d1cc47e9f5b88e6e247f22c186603584a5ddee4b0c04fe842eba56f3fd103a SHA512 a4861b44ee85d6d1d72ba1d19b5598873503feeb6d562cf7d8c770cc9b466741bdfa5abe74dc4e7952ff189d14c6caf60f584731492c38f688a360baba019ab2
|
||||||
DIST VirtualBox-7.0.4.tar.bz2 199658172 BLAKE2B 51bde109805e8f3e25f179a05fac532de7a428010955c7cc2a7c9e8c072246d69c5f51f8a51e39b6a1b9f246bd945edc38e0f0cc0630c357a5e9641c38dcac21 SHA512 70f2031c4897249177131795281bf6bd5a75166067d1921db70fd1e21f5638285b5a0c3298a7070e272ac2f093a60c35eb3cab4e5f7d16a68d17b211f637b0bc
|
DIST VirtualBox-7.0.4.tar.bz2 199658172 BLAKE2B 51bde109805e8f3e25f179a05fac532de7a428010955c7cc2a7c9e8c072246d69c5f51f8a51e39b6a1b9f246bd945edc38e0f0cc0630c357a5e9641c38dcac21 SHA512 70f2031c4897249177131795281bf6bd5a75166067d1921db70fd1e21f5638285b5a0c3298a7070e272ac2f093a60c35eb3cab4e5f7d16a68d17b211f637b0bc
|
||||||
|
DIST VirtualBox-7.0.6.tar.bz2 199512172 BLAKE2B cfe4d7abd57dfdb0294177759e80aa9fda797b9b5433f214771a57764cb23404450169e8c7c30cda13de85b8e02a37024584c7b1f0b5a44b10b100aa66b8d5c5 SHA512 f9db7a154e392f550f50abe774fc6263eb0b6f86dccc069f2c5012fedbe2debbf5b8ba62cca44ea0d5d5475652188176bfb888266f69197677b22854f02b64a0
|
||||||
DIST virtualbox-patches-6.1.36.tar.bz2 2733 BLAKE2B dcfebfeca4873d382441515d48b4dfee9343bc7c83ea3cbb5002dbf7975143a79fae9a701b67dc35505e9ca03ff1b6293cb7c3279c4fdfda8ad21ba5fb9b7e87 SHA512 1bed5cdefbf8e7c4b0d9092ba4961ecf2262f27f35c71a91ef6f2e8fe8a1d92ed74f06bafbf58d70ba7165d933997f58073f4d4f4051e3ba5c0339b729066f57
|
DIST virtualbox-patches-6.1.36.tar.bz2 2733 BLAKE2B dcfebfeca4873d382441515d48b4dfee9343bc7c83ea3cbb5002dbf7975143a79fae9a701b67dc35505e9ca03ff1b6293cb7c3279c4fdfda8ad21ba5fb9b7e87 SHA512 1bed5cdefbf8e7c4b0d9092ba4961ecf2262f27f35c71a91ef6f2e8fe8a1d92ed74f06bafbf58d70ba7165d933997f58073f4d4f4051e3ba5c0339b729066f57
|
||||||
|
@ -0,0 +1,81 @@
|
|||||||
|
Add Python 3.11 support to virtualbox 6.1
|
||||||
|
|
||||||
|
--- a/src/libs/xpcom18a4/python/Makefile.kmk
|
||||||
|
+++ b/src/libs/xpcom18a4/python/Makefile.kmk
|
||||||
|
@@ -26,7 +26,7 @@
|
||||||
|
|
||||||
|
#
|
||||||
|
# List of supported Python versions, defining a number of
|
||||||
|
-# VBOX_PYTHON[26|27|31|32|32M|33|33M|34|34M|35|35M|36|36M|37|37M|38|38M|39|39M|310|310M|DEF]_[INC|LIB] variables
|
||||||
|
+# VBOX_PYTHON[26|27|31|32|32M|33|33M|34|34M|35|35M|36|36M|37|37M|38|38M|39|39M|310|310M|311|311M|DEF]_[INC|LIB] variables
|
||||||
|
# which get picked up below.
|
||||||
|
#
|
||||||
|
ifeq ($(KBUILD_TARGET),darwin) # Relatively predictable, don't script.
|
||||||
|
@@ -624,6 +624,52 @@
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
+
|
||||||
|
+ifdef VBOX_PYTHON311_INC
|
||||||
|
+#
|
||||||
|
+# Python 3.11 version
|
||||||
|
+#
|
||||||
|
+DLLS += VBoxPython3_11
|
||||||
|
+VBoxPython3_11_EXTENDS = VBoxPythonBase
|
||||||
|
+VBoxPython3_11_EXTENDS_BY = appending
|
||||||
|
+VBoxPython3_11_TEMPLATE = XPCOM
|
||||||
|
+VBoxPython3_11_INCS = $(VBOX_PYTHON311_INC)
|
||||||
|
+VBoxPython3_11_LIBS = $(VBOX_PYTHON311_LIB)
|
||||||
|
+
|
||||||
|
+ ifdef VBOX_WITH_32_ON_64_MAIN_API
|
||||||
|
+ ifdef VBOX_PYTHON311_LIB_X86
|
||||||
|
+DLLS += VBoxPython3_11_x86
|
||||||
|
+VBoxPython3_11_x86_EXTENDS = VBoxPythonBase_x86
|
||||||
|
+VBoxPython3_11_x86_EXTENDS_BY = appending
|
||||||
|
+VBoxPython3_11_x86_TEMPLATE = XPCOM
|
||||||
|
+VBoxPython3_11_x86_INCS = $(VBOX_PYTHON311_INC)
|
||||||
|
+VBoxPython3_11_x86_LIBS = $(VBOX_PYTHON311_LIB_X86)
|
||||||
|
+ endif
|
||||||
|
+ endif
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
+ifdef VBOX_PYTHON311M_INC
|
||||||
|
+#
|
||||||
|
+# Python 3.11 version with pymalloc
|
||||||
|
+#
|
||||||
|
+DLLS += VBoxPython3_11m
|
||||||
|
+VBoxPython3_11m_EXTENDS = VBoxPythonBase_m
|
||||||
|
+VBoxPython3_11m_EXTENDS_BY = appending
|
||||||
|
+VBoxPython3_11m_TEMPLATE = XPCOM
|
||||||
|
+VBoxPython3_11m_INCS = $(VBOX_PYTHON311M_INC)
|
||||||
|
+VBoxPython3_11m_LIBS = $(VBOX_PYTHON311M_LIB)
|
||||||
|
+
|
||||||
|
+ ifdef VBOX_WITH_32_ON_64_MAIN_API
|
||||||
|
+ ifdef VBOX_PYTHON311M_LIB_X86
|
||||||
|
+DLLS += VBoxPython3_11m_x86
|
||||||
|
+VBoxPython3_11m_x86_EXTENDS = VBoxPythonBase_x86_m
|
||||||
|
+VBoxPython3_11m_x86_EXTENDS_BY = appending
|
||||||
|
+VBoxPython3_11m_x86_TEMPLATE_ = XPCOM
|
||||||
|
+VBoxPython3_11m_x86_INCS = $(VBOX_PYTHON311M_INC)
|
||||||
|
+VBoxPython3_11m_x86_LIBS = $(VBOX_PYTHON311M_LIB_X86)
|
||||||
|
+ endif
|
||||||
|
+ endif
|
||||||
|
+endif
|
||||||
|
|
||||||
|
ifdef VBOX_PYTHONDEF_INC
|
||||||
|
#
|
||||||
|
--- a/src/libs/xpcom18a4/python/src/module/_xpcom.cpp
|
||||||
|
+++ b/src/libs/xpcom18a4/python/src/module/_xpcom.cpp
|
||||||
|
@@ -84,7 +84,11 @@
|
||||||
|
# define MANGLE_MODULE_INIT(a_Name) RT_CONCAT(a_Name, MODULE_NAME_SUFFIX)
|
||||||
|
# endif
|
||||||
|
# ifdef VBOX_PYXPCOM_VERSIONED
|
||||||
|
-# if PY_VERSION_HEX >= 0x030a0000 && PY_VERSION_HEX < 0x030b0000
|
||||||
|
+# if PY_VERSION_HEX >= 0x030b0000 && PY_VERSION_HEX < 0x030c0000
|
||||||
|
+# define MODULE_NAME MANGLE_MODULE_NAME("VBoxPython3_11")
|
||||||
|
+# define initVBoxPython MANGLE_MODULE_INIT(PyInit_VBoxPython3_11)
|
||||||
|
+
|
||||||
|
+# elif PY_VERSION_HEX >= 0x030a0000 && PY_VERSION_HEX < 0x030b0000
|
||||||
|
# define MODULE_NAME MANGLE_MODULE_NAME("VBoxPython3_10")
|
||||||
|
# define initVBoxPython MANGLE_MODULE_INIT(PyInit_VBoxPython3_10)
|
||||||
|
|
@ -0,0 +1,664 @@
|
|||||||
|
# Copyright 2022-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
# To add a new Python here:
|
||||||
|
# 1. Patch src/libs/xpcom18a4/python/Makefile.kmk (copy the previous impl's logic)
|
||||||
|
# Do NOT skip this part. It'll end up silently not-building the Python extension
|
||||||
|
# or otherwise misbehaving if you do.
|
||||||
|
#
|
||||||
|
# 2. Then update PYTHON_COMPAT & set PYTHON_SINGLE_TARGET for testing w/ USE=python.
|
||||||
|
#
|
||||||
|
# May need to look at other distros (e.g. Arch Linux) to find patches for newer
|
||||||
|
# Python versions as upstream tends to lag. Upstream may have patches on their
|
||||||
|
# trunk branch but not release branch.
|
||||||
|
#
|
||||||
|
# See bug #785835, bug #856121.
|
||||||
|
PYTHON_COMPAT=( python3_{9..11} )
|
||||||
|
|
||||||
|
inherit desktop edo flag-o-matic java-pkg-opt-2 linux-info multilib optfeature pax-utils \
|
||||||
|
python-single-r1 tmpfiles toolchain-funcs udev xdg
|
||||||
|
|
||||||
|
MY_PN="VirtualBox"
|
||||||
|
MY_P=${MY_PN}-${PV}
|
||||||
|
|
||||||
|
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
|
||||||
|
HOMEPAGE="https://www.virtualbox.org/"
|
||||||
|
SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2
|
||||||
|
https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-6.1.36.tar.bz2"
|
||||||
|
S="${WORKDIR}/${MY_PN}-${PV}"
|
||||||
|
|
||||||
|
LICENSE="GPL-2 dtrace? ( CDDL )"
|
||||||
|
SLOT="0/$(ver_cut 1-2)"
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
IUSE="alsa debug doc dtrace headless java lvm +opus pam pax-kernel pch pulseaudio +opengl python +qt5 +sdk +sdl +udev vboxwebsrv vnc"
|
||||||
|
|
||||||
|
unset WATCOM #856769
|
||||||
|
|
||||||
|
COMMON_DEPEND="
|
||||||
|
${PYTHON_DEPS}
|
||||||
|
acct-group/vboxusers
|
||||||
|
~app-emulation/virtualbox-modules-${PV}
|
||||||
|
>=dev-libs/libxslt-1.1.19
|
||||||
|
net-misc/curl
|
||||||
|
dev-libs/libxml2
|
||||||
|
media-libs/libpng:0=
|
||||||
|
media-libs/libvpx:0=
|
||||||
|
sys-libs/zlib:=
|
||||||
|
!headless? (
|
||||||
|
sdl? ( media-libs/libsdl:0[X,video] )
|
||||||
|
x11-base/xorg-proto
|
||||||
|
x11-libs/libX11
|
||||||
|
x11-libs/libxcb:=
|
||||||
|
x11-libs/libXcursor
|
||||||
|
x11-libs/libXext
|
||||||
|
x11-libs/libXmu
|
||||||
|
x11-libs/libXt
|
||||||
|
opengl? (
|
||||||
|
media-libs/libglvnd[X]
|
||||||
|
virtual/glu
|
||||||
|
)
|
||||||
|
qt5? (
|
||||||
|
dev-qt/qtcore:5
|
||||||
|
dev-qt/qtgui:5
|
||||||
|
dev-qt/qtprintsupport:5
|
||||||
|
dev-qt/qtwidgets:5
|
||||||
|
dev-qt/qtx11extras:5
|
||||||
|
opengl? ( dev-qt/qtopengl:5 )
|
||||||
|
x11-libs/libXinerama
|
||||||
|
)
|
||||||
|
)
|
||||||
|
dev-libs/openssl:0=
|
||||||
|
virtual/libcrypt:=
|
||||||
|
lvm? ( sys-fs/lvm2 )
|
||||||
|
opus? ( media-libs/opus )
|
||||||
|
udev? ( >=virtual/udev-171 )
|
||||||
|
vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
|
||||||
|
vnc? ( >=net-libs/libvncserver-0.9.9 )
|
||||||
|
"
|
||||||
|
# We're stuck on JDK (and JRE, I guess?) 1.8 because of need for wsimport
|
||||||
|
# with USE="vboxwebsrv java". Note that we have to put things in DEPEND,
|
||||||
|
# not (only, anyway) BDEPEND, as the eclass magic to set the environment variables
|
||||||
|
# based on *DEPEND doesn't work for BDEPEND at least right now.
|
||||||
|
#
|
||||||
|
# There's a comment in Config.kmk about it
|
||||||
|
# ("With Java 11 wsimport was removed, usually part of a separate install now.")
|
||||||
|
# but it needs more investigation.
|
||||||
|
#
|
||||||
|
# See bug #878299 to track this issue.
|
||||||
|
DEPEND="
|
||||||
|
${COMMON_DEPEND}
|
||||||
|
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||||
|
!headless? (
|
||||||
|
x11-libs/libXinerama
|
||||||
|
x11-libs/libXrandr
|
||||||
|
opengl? ( virtual/opengl )
|
||||||
|
)
|
||||||
|
java? ( virtual/jdk:1.8 )
|
||||||
|
pam? ( sys-libs/pam )
|
||||||
|
pax-kernel? ( sys-apps/elfix )
|
||||||
|
pulseaudio? ( media-sound/pulseaudio )
|
||||||
|
"
|
||||||
|
BDEPEND="
|
||||||
|
${PYTHON_DEPS}
|
||||||
|
app-arch/tar
|
||||||
|
>=dev-util/kbuild-0.1.9998.3127
|
||||||
|
>=dev-lang/yasm-0.6.2
|
||||||
|
dev-libs/libIDL
|
||||||
|
sys-apps/which
|
||||||
|
sys-devel/bin86
|
||||||
|
sys-libs/libcap
|
||||||
|
sys-power/iasl
|
||||||
|
virtual/pkgconfig
|
||||||
|
doc? (
|
||||||
|
app-text/docbook-sgml-dtd:4.4
|
||||||
|
dev-texlive/texlive-basic
|
||||||
|
dev-texlive/texlive-latex
|
||||||
|
dev-texlive/texlive-latexrecommended
|
||||||
|
dev-texlive/texlive-latexextra
|
||||||
|
dev-texlive/texlive-fontsrecommended
|
||||||
|
dev-texlive/texlive-fontsextra
|
||||||
|
)
|
||||||
|
java? ( virtual/jdk:1.8 )
|
||||||
|
qt5? ( dev-qt/linguist-tools:5 )
|
||||||
|
"
|
||||||
|
RDEPEND="
|
||||||
|
${COMMON_DEPEND}
|
||||||
|
java? ( virtual/jre:1.8 )
|
||||||
|
"
|
||||||
|
|
||||||
|
QA_FLAGS_IGNORED="
|
||||||
|
usr/lib64/virtualbox/VBoxDDR0.r0
|
||||||
|
usr/lib64/virtualbox/VMMR0.r0
|
||||||
|
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
|
||||||
|
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
|
||||||
|
"
|
||||||
|
|
||||||
|
QA_TEXTRELS="
|
||||||
|
usr/lib64/virtualbox/VMMR0.r0
|
||||||
|
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
|
||||||
|
"
|
||||||
|
|
||||||
|
QA_EXECSTACK="
|
||||||
|
usr/lib64/virtualbox/iPxeBaseBin
|
||||||
|
usr/lib64/virtualbox/VMMR0.r0
|
||||||
|
usr/lib64/virtualbox/VBoxDDR0.r0
|
||||||
|
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
|
||||||
|
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
|
||||||
|
"
|
||||||
|
|
||||||
|
QA_WX_LOAD="
|
||||||
|
usr/lib64/virtualbox/iPxeBaseBin
|
||||||
|
"
|
||||||
|
|
||||||
|
QA_PRESTRIPPED="
|
||||||
|
usr/lib64/virtualbox/VMMR0.r0
|
||||||
|
usr/lib64/virtualbox/VBoxDDR0.r0
|
||||||
|
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
|
||||||
|
"
|
||||||
|
|
||||||
|
REQUIRED_USE="
|
||||||
|
java? ( sdk )
|
||||||
|
python? ( sdk )
|
||||||
|
vboxwebsrv? ( java )
|
||||||
|
${PYTHON_REQUIRED_USE}
|
||||||
|
"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}"/${PN}-6.1.26-configure-include-qt5-path.patch # bug #805365
|
||||||
|
|
||||||
|
# This patch is needed to avoid automagic detection based on a hardcoded
|
||||||
|
# list of Pythons in configure. It's necessary but not sufficient
|
||||||
|
# (see the rest of the ebuild's logic for the remainder) to handle
|
||||||
|
# proper Python selection.
|
||||||
|
"${FILESDIR}"/${PN}-6.1.34-r3-python.patch
|
||||||
|
"${FILESDIR}"/${PN}-6.1.42-python3_11.patch
|
||||||
|
|
||||||
|
# 865361
|
||||||
|
"${FILESDIR}"/${PN}-6.1.36-fcf-protection.patch
|
||||||
|
|
||||||
|
# Downloaded patchset
|
||||||
|
"${WORKDIR}"/virtualbox-patches-6.1.36/patches
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_pretend() {
|
||||||
|
if ! use headless && ! use qt5 ; then
|
||||||
|
einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend."
|
||||||
|
elif use headless && use qt5 ; then
|
||||||
|
einfo "You selected USE=\"headless qt5\", defaulting to"
|
||||||
|
einfo "USE=\"headless\", this build will not include any X11/Qt frontend."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! use opengl ; then
|
||||||
|
einfo "No USE=\"opengl\" selected, this build will lack"
|
||||||
|
einfo "the OpenGL feature."
|
||||||
|
fi
|
||||||
|
if ! use python ; then
|
||||||
|
einfo "You have disabled the \"python\" USE flag. This will only"
|
||||||
|
einfo "disable the python bindings being installed."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 749273
|
||||||
|
local d=${ROOT}
|
||||||
|
for i in usr "$(get_libdir)"; do
|
||||||
|
d="${d}/$i"
|
||||||
|
if [[ "$(stat -L -c "%g %u" "${d}")" != "0 0" ]]; then
|
||||||
|
die "${d} should be owned by root, VirtualBox will not start otherwise"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
java-pkg-opt-2_pkg_setup
|
||||||
|
python-single-r1_pkg_setup
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
|
||||||
|
# Only add nopie patch when we're on hardened
|
||||||
|
if gcc-specs-pie ; then
|
||||||
|
eapply "${FILESDIR}"/050_virtualbox-5.2.8-nopie.patch
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove shipped binaries (kBuild, yasm), see bug #232775
|
||||||
|
rm -r kBuild/bin tools || die
|
||||||
|
|
||||||
|
# Replace pointless GCC version check with something more sensible.
|
||||||
|
# This is needed for the qt5 version check.
|
||||||
|
sed -e 's@^check_gcc$@cc_maj="$(${CC} -dumpversion | cut -d. -f1)" ; cc_min="$(${CC} -dumpversion | cut -d. -f2)"@' \
|
||||||
|
-i configure || die
|
||||||
|
|
||||||
|
# Disable things unused or split into separate ebuilds
|
||||||
|
sed -e "s@MY_LIBDIR@$(get_libdir)@" \
|
||||||
|
"${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
|
||||||
|
|
||||||
|
if ! use pch ; then
|
||||||
|
# bug #753323
|
||||||
|
printf '\n%s\n' "VBOX_WITHOUT_PRECOMPILED_HEADERS=1" \
|
||||||
|
>> LocalConfig.kmk || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Respect LDFLAGS
|
||||||
|
sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
|
||||||
|
-i Config.kmk src/libs/xpcom18a4/Config.kmk || die
|
||||||
|
|
||||||
|
# Do not use hard-coded ld (related to bug #488176)
|
||||||
|
sed -e '/QUIET)ld /s@ld @$(LD) @' \
|
||||||
|
-i src/VBox/Devices/PC/ipxe/Makefile.kmk || die
|
||||||
|
|
||||||
|
# Use PAM only when pam USE flag is enbaled (bug #376531)
|
||||||
|
if ! use pam ; then
|
||||||
|
einfo "Disabling PAM removes the possibility to use the VRDP features."
|
||||||
|
sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
|
||||||
|
sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
|
||||||
|
src/VBox/HostServices/Makefile.kmk || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# add correct java path
|
||||||
|
if use java ; then
|
||||||
|
sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
|
||||||
|
-i "${S}"/Config.kmk || die
|
||||||
|
java-pkg-opt-2_src_prepare
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 890561
|
||||||
|
echo -e "\nVBOX_GTAR=gtar" >> LocalConfig.kmk || die
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
tc-ld-disable-gold # bug #488176
|
||||||
|
|
||||||
|
#856811 #864274
|
||||||
|
# cannot filter out only one flag, some combinations of these flags produce buggy executables
|
||||||
|
for i in abm avx avx2 bmi bmi2 fma fma4 popcnt; do
|
||||||
|
append-cflags $(test-flags-CC -mno-$i)
|
||||||
|
append-cxxflags $(test-flags-CXX -mno-$i)
|
||||||
|
done
|
||||||
|
|
||||||
|
tc-export AR CC CXX LD RANLIB
|
||||||
|
export HOST_CC="$(tc-getBUILD_CC)"
|
||||||
|
|
||||||
|
local myconf=(
|
||||||
|
--with-gcc="$(tc-getCC)"
|
||||||
|
--with-g++="$(tc-getCXX)"
|
||||||
|
|
||||||
|
--disable-dbus
|
||||||
|
--disable-kmods
|
||||||
|
|
||||||
|
$(usev !alsa --disable-alsa)
|
||||||
|
$(usev debug --build-debug)
|
||||||
|
$(usev !doc --disable-docs)
|
||||||
|
$(usev !java --disable-java)
|
||||||
|
$(usev !lvm --disable-devmapper)
|
||||||
|
$(usev !opus --disable-libopus)
|
||||||
|
$(usev !pulseaudio --disable-pulse)
|
||||||
|
$(usev !python --disable-python)
|
||||||
|
$(usev vboxwebsrv --enable-webservice)
|
||||||
|
$(usev vnc --enable-vnc)
|
||||||
|
)
|
||||||
|
|
||||||
|
if ! use headless ; then
|
||||||
|
myconf+=(
|
||||||
|
$(usev !opengl --disable-opengl)
|
||||||
|
$(usev !qt5 --disable-qt)
|
||||||
|
$(usev !sdl --disable-sdl)
|
||||||
|
)
|
||||||
|
else
|
||||||
|
myconf+=(
|
||||||
|
--build-headless
|
||||||
|
--disable-opengl
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use amd64 && ! has_multilib_profile ; then
|
||||||
|
myconf+=( --disable-vmmraw )
|
||||||
|
fi
|
||||||
|
|
||||||
|
# bug #843437
|
||||||
|
cat >> LocalConfig.kmk <<-EOF || die
|
||||||
|
CXXFLAGS=${CXXFLAGS}
|
||||||
|
CFLAGS=${CFLAGS}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# not an autoconf script
|
||||||
|
edo ./configure "${myconf[@]}"
|
||||||
|
|
||||||
|
# Force usage of chosen Python implementation
|
||||||
|
# bug #856121, bug #785835
|
||||||
|
sed -i \
|
||||||
|
-e '/VBOX_WITH_PYTHON.*=/d' \
|
||||||
|
-e '/VBOX_PATH_PYTHON_INC.*=/d' \
|
||||||
|
-e '/VBOX_LIB_PYTHON.*=/d' \
|
||||||
|
AutoConfig.kmk || die
|
||||||
|
|
||||||
|
cat >> AutoConfig.kmk <<-EOF || die
|
||||||
|
VBOX_WITH_PYTHON=$(usev python 1)
|
||||||
|
VBOX_PATH_PYTHON_INC=$(python_get_includedir)
|
||||||
|
VBOX_LIB_PYTHON=$(python_get_library_path)
|
||||||
|
EOF
|
||||||
|
|
||||||
|
if use python ; then
|
||||||
|
local mangled_python="${EPYTHON#python}"
|
||||||
|
mangled_python="${mangled_python/.}"
|
||||||
|
|
||||||
|
# Stub out the script which defines what the Makefile ends up
|
||||||
|
# building for. gen_python_deps.py gets called by the Makefile
|
||||||
|
# with some args and it spits out a bunch of paths for a hardcoded
|
||||||
|
# list of Pythons. We just override it with what we're actually using.
|
||||||
|
# This minimises the amount of patching we have to do for new Pythons.
|
||||||
|
cat > src/libs/xpcom18a4/python/gen_python_deps.py <<-EOF || die
|
||||||
|
print("VBOX_PYTHON${mangled_python}_INC=$(python_get_includedir)")
|
||||||
|
print("VBOX_PYTHON${mangled_python}_LIB=$(python_get_library_path)")
|
||||||
|
print("VBOX_PYTHONDEF_INC=$(python_get_includedir)")
|
||||||
|
print("VBOX_PYTHONDEF_LIB=$(python_get_library_path)")
|
||||||
|
EOF
|
||||||
|
|
||||||
|
chmod +x src/libs/xpcom18a4/python/gen_python_deps.py || die
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
source ./env.sh || die
|
||||||
|
|
||||||
|
# Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
|
||||||
|
MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
|
||||||
|
MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
|
||||||
|
MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
|
||||||
|
|
||||||
|
local myemakeargs=(
|
||||||
|
VBOX_BUILD_PUBLISHER=_Gentoo
|
||||||
|
VBOX_WITH_VBOXIMGMOUNT=1
|
||||||
|
|
||||||
|
KBUILD_VERBOSE=2
|
||||||
|
|
||||||
|
AS="$(tc-getCC)"
|
||||||
|
CC="$(tc-getCC)"
|
||||||
|
CXX="$(tc-getCXX)"
|
||||||
|
|
||||||
|
TOOL_GCC3_CC="$(tc-getCC)"
|
||||||
|
TOOL_GCC3_LD="$(tc-getCC)"
|
||||||
|
TOOL_GCC3_AS="$(tc-getCC)"
|
||||||
|
TOOL_GCC3_AR="$(tc-getAR)"
|
||||||
|
TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
|
||||||
|
|
||||||
|
TOOL_GXX3_CC="$(tc-getCC)"
|
||||||
|
TOOL_GXX3_CXX="$(tc-getCXX)"
|
||||||
|
TOOL_GXX3_LD="$(tc-getCXX)"
|
||||||
|
TOOL_GXX3_AS="$(tc-getCXX)"
|
||||||
|
TOOL_GXX3_AR="$(tc-getAR)"
|
||||||
|
TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
|
||||||
|
|
||||||
|
TOOL_GCC3_CFLAGS="${CFLAGS}"
|
||||||
|
TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
|
||||||
|
VBOX_GCC_OPT="${CXXFLAGS}"
|
||||||
|
VBOX_NM="$(tc-getNM)"
|
||||||
|
|
||||||
|
TOOL_YASM_AS=yasm
|
||||||
|
)
|
||||||
|
|
||||||
|
if use amd64 && has_multilib_profile ; then
|
||||||
|
myemakeargs+=(
|
||||||
|
CC32="$(tc-getCC) -m32"
|
||||||
|
CXX32="$(tc-getCXX) -m32"
|
||||||
|
|
||||||
|
TOOL_GCC32_CC="$(tc-getCC) -m32"
|
||||||
|
TOOL_GCC32_CXX="$(tc-getCXX) -m32"
|
||||||
|
TOOL_GCC32_LD="$(tc-getCC) -m32"
|
||||||
|
TOOL_GCC32_AS="$(tc-getCC) -m32"
|
||||||
|
TOOL_GCC32_AR="$(tc-getAR)"
|
||||||
|
TOOL_GCC32_OBJCOPY="$(tc-getOBJCOPY)"
|
||||||
|
|
||||||
|
TOOL_GXX32_CC="$(tc-getCC) -m32"
|
||||||
|
TOOL_GXX32_CXX="$(tc-getCXX) -m32"
|
||||||
|
TOOL_GXX32_LD="$(tc-getCXX) -m32"
|
||||||
|
TOOL_GXX32_AS="$(tc-getCXX) -m32"
|
||||||
|
TOOL_GXX32_AR="$(tc-getAR)"
|
||||||
|
TOOL_GXX32_OBJCOPY="$(tc-getOBJCOPY)"
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
MAKE="kmk" emake "${myemakeargs[@]}" all
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die
|
||||||
|
|
||||||
|
local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile
|
||||||
|
|
||||||
|
vbox_inst() {
|
||||||
|
local binary="${1}"
|
||||||
|
local perms="${2:-0750}"
|
||||||
|
local path="${3:-${vbox_inst_path}}"
|
||||||
|
|
||||||
|
[[ -n "${binary}" ]] || die "vbox_inst: No binary given!"
|
||||||
|
[[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
|
||||||
|
|
||||||
|
insinto ${path}
|
||||||
|
doins ${binary}
|
||||||
|
fowners root:vboxusers ${path}/${binary}
|
||||||
|
fperms ${perms} ${path}/${binary}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create configuration files
|
||||||
|
insinto /etc/vbox
|
||||||
|
newins "${FILESDIR}/${PN}-4-config" vbox.cfg
|
||||||
|
|
||||||
|
# Set the correct libdir
|
||||||
|
sed \
|
||||||
|
-e "s@MY_LIBDIR@$(get_libdir)@" \
|
||||||
|
-i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
|
||||||
|
|
||||||
|
# Install the wrapper script
|
||||||
|
exeinto ${vbox_inst_path}
|
||||||
|
newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox"
|
||||||
|
fowners root:vboxusers ${vbox_inst_path}/VBox
|
||||||
|
fperms 0750 ${vbox_inst_path}/VBox
|
||||||
|
|
||||||
|
# Install binaries and libraries
|
||||||
|
insinto ${vbox_inst_path}
|
||||||
|
doins -r components
|
||||||
|
|
||||||
|
for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} \
|
||||||
|
vboximg-mount *so *r0 iPxeBaseBin ; do
|
||||||
|
vbox_inst ${each}
|
||||||
|
done
|
||||||
|
|
||||||
|
# These binaries need to be suid root.
|
||||||
|
for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
|
||||||
|
vbox_inst ${each} 4750
|
||||||
|
done
|
||||||
|
|
||||||
|
# Install EFI Firmware files (bug #320757)
|
||||||
|
for each in VBoxEFI{32,64}.fd ; do
|
||||||
|
vbox_inst ${each} 0644
|
||||||
|
done
|
||||||
|
|
||||||
|
# VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
|
||||||
|
# VBoxXPCOMIPCD (bug #524202)
|
||||||
|
for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
|
||||||
|
pax-mark -m "${ED}"${vbox_inst_path}/${each}
|
||||||
|
done
|
||||||
|
|
||||||
|
# Symlink binaries to the shipped wrapper
|
||||||
|
for each in vbox{autostart,balloonctrl,bugreport,headless,manage} \
|
||||||
|
VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do
|
||||||
|
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
|
||||||
|
done
|
||||||
|
dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl
|
||||||
|
dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount
|
||||||
|
|
||||||
|
if use pam ; then
|
||||||
|
# VRDPAuth only works with this (bug #351949)
|
||||||
|
dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
|
||||||
|
fi
|
||||||
|
|
||||||
|
# set an env-variable for 3rd party tools
|
||||||
|
echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
|
||||||
|
doenvd "${T}/90virtualbox"
|
||||||
|
|
||||||
|
if ! use headless ; then
|
||||||
|
vbox_inst rdesktop-vrdp
|
||||||
|
if use sdl ; then
|
||||||
|
vbox_inst VBoxSDL 4750
|
||||||
|
pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL
|
||||||
|
|
||||||
|
for each in vboxsdl VBoxSDL ; do
|
||||||
|
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use qt5 ; then
|
||||||
|
vbox_inst VirtualBox
|
||||||
|
vbox_inst VirtualBoxVM 4750
|
||||||
|
for each in VirtualBox{,VM} ; do
|
||||||
|
pax-mark -m "${ED}"${vbox_inst_path}/${each}
|
||||||
|
done
|
||||||
|
|
||||||
|
if use opengl ; then
|
||||||
|
vbox_inst VBoxTestOGL
|
||||||
|
pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL
|
||||||
|
fi
|
||||||
|
|
||||||
|
for each in virtualbox{,vm} VirtualBox{,VM} ; do
|
||||||
|
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
|
||||||
|
done
|
||||||
|
|
||||||
|
insinto /usr/share/${PN}
|
||||||
|
doins -r nls
|
||||||
|
doins -r UnattendedTemplates
|
||||||
|
|
||||||
|
domenu ${PN}.desktop
|
||||||
|
fi
|
||||||
|
|
||||||
|
pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
|
||||||
|
for size in 16 32 48 64 128 ; do
|
||||||
|
newicon -s ${size} ${PN}-${size}px.png ${PN}.png
|
||||||
|
done
|
||||||
|
newicon ${PN}-48px.png ${PN}.png
|
||||||
|
doicon -s scalable ${PN}.svg
|
||||||
|
popd &>/dev/null || die
|
||||||
|
pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
|
||||||
|
for size in 16 24 32 48 64 72 96 128 256 512 ; do
|
||||||
|
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
|
||||||
|
icofile="${PN}-${ico}-${size}px.png"
|
||||||
|
if [[ -f "${icofile}" ]] ; then
|
||||||
|
newicon -s ${size} ${icofile} ${PN}-${ico}.png
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
popd &>/dev/null || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use lvm ; then
|
||||||
|
vbox_inst VBoxVolInfo 4750
|
||||||
|
dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use sdk ; then
|
||||||
|
insinto ${vbox_inst_path}
|
||||||
|
doins -r sdk
|
||||||
|
|
||||||
|
if use java ; then
|
||||||
|
java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
|
||||||
|
java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use udev ; then
|
||||||
|
local udevdir="$(get_udevdir)"
|
||||||
|
local udev_file="VBoxCreateUSBNode.sh"
|
||||||
|
local rules_file="10-virtualbox.rules"
|
||||||
|
|
||||||
|
insinto ${udevdir}
|
||||||
|
doins ${udev_file}
|
||||||
|
fowners root:vboxusers ${udevdir}/${udev_file}
|
||||||
|
fperms 0750 ${udevdir}/${udev_file}
|
||||||
|
|
||||||
|
insinto ${udevdir}/rules.d
|
||||||
|
sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/${rules_file} \
|
||||||
|
> "${T}"/${rules_file} || die
|
||||||
|
doins "${T}"/${rules_file}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use vboxwebsrv ; then
|
||||||
|
vbox_inst vboxwebsrv
|
||||||
|
dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
|
||||||
|
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
|
||||||
|
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove dead symlinks (bug #715338)
|
||||||
|
find "${ED}"/usr/$(get_libdir)/${PN} -xtype l -delete || die
|
||||||
|
|
||||||
|
# Fix version string in extensions or else they don't get accepted
|
||||||
|
# by the virtualbox host process (see bug #438930)
|
||||||
|
find ExtensionPacks -type f -name "ExtPack.xml" -exec sed -i '/Version/s@_Gentoo@@' {} \+ || die
|
||||||
|
|
||||||
|
local extensions_dir="${vbox_inst_path}/ExtensionPacks"
|
||||||
|
|
||||||
|
if use vnc ; then
|
||||||
|
insinto ${extensions_dir}
|
||||||
|
doins -r ExtensionPacks/VNC
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use dtrace ; then
|
||||||
|
insinto ${extensions_dir}
|
||||||
|
doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use doc ; then
|
||||||
|
dodoc UserManual.pdf
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use python ; then
|
||||||
|
local mangled_python="${EPYTHON#python}"
|
||||||
|
mangled_python="${mangled_python/./_}"
|
||||||
|
|
||||||
|
local python_path_ext="${ED}/usr/$(get_libdir)/virtualbox/VBoxPython${mangled_python}.so"
|
||||||
|
if [[ ! -x "${python_path_ext}" ]] ; then
|
||||||
|
eerror "Couldn't find ${python_path_ext}! Bindings were requested with USE=python"
|
||||||
|
eerror "but none were installed. This may happen if support for a Python target"
|
||||||
|
eerror "(listed in PYTHON_COMPAT in the ebuild) is incomplete within the Makefiles."
|
||||||
|
die "Incomplete installation of Python bindings! File a bug with Gentoo!"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
xdg_pkg_postinst
|
||||||
|
|
||||||
|
if use udev ; then
|
||||||
|
udev_reload
|
||||||
|
udevadm trigger --subsystem-match=usb
|
||||||
|
fi
|
||||||
|
|
||||||
|
tmpfiles_process virtualbox-vboxusb.conf
|
||||||
|
|
||||||
|
if ! use headless && use qt5 ; then
|
||||||
|
elog "To launch VirtualBox just type: \"virtualbox\"."
|
||||||
|
fi
|
||||||
|
|
||||||
|
elog "You must be in the vboxusers group to use VirtualBox."
|
||||||
|
elog ""
|
||||||
|
elog "The latest user manual is available for download at:"
|
||||||
|
elog "https://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
|
||||||
|
elog ""
|
||||||
|
|
||||||
|
optfeature "Advanced networking setups" net-misc/bridge-utils sys-apps/usermode-utilities
|
||||||
|
optfeature "USB2, USB3, PXE boot, and VRDP support" app-emulation/virtualbox-extpack-oracle
|
||||||
|
optfeature "Guest additions ISO" app-emulation/virtualbox-additions
|
||||||
|
|
||||||
|
if ! use udev ; then
|
||||||
|
ewarn "Without USE=udev, USB devices will likely not work in ${PN}."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
xdg_pkg_postrm
|
||||||
|
|
||||||
|
use udev && udev_reload
|
||||||
|
}
|
@ -0,0 +1,721 @@
|
|||||||
|
# Copyright 2022-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
# To add a new Python here:
|
||||||
|
# 1. Patch src/libs/xpcom18a4/python/Makefile.kmk (copy the previous impl's logic)
|
||||||
|
# Do NOT skip this part. It'll end up silently not-building the Python extension
|
||||||
|
# or otherwise misbehaving if you do.
|
||||||
|
#
|
||||||
|
# 2. Then update PYTHON_COMPAT & set PYTHON_SINGLE_TARGET for testing w/ USE=python.
|
||||||
|
#
|
||||||
|
# May need to look at other distros (e.g. Arch Linux) to find patches for newer
|
||||||
|
# Python versions as upstream tends to lag. Upstream may have patches on their
|
||||||
|
# trunk branch but not release branch.
|
||||||
|
#
|
||||||
|
# See bug #785835, bug #856121.
|
||||||
|
PYTHON_COMPAT=( python3_{9..11} )
|
||||||
|
|
||||||
|
inherit desktop edo flag-o-matic java-pkg-opt-2 linux-info multilib optfeature pax-utils \
|
||||||
|
python-single-r1 tmpfiles toolchain-funcs udev xdg
|
||||||
|
|
||||||
|
MY_PN="VirtualBox"
|
||||||
|
MY_P=${MY_PN}-${PV}
|
||||||
|
|
||||||
|
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
|
||||||
|
HOMEPAGE="https://www.virtualbox.org/"
|
||||||
|
SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2
|
||||||
|
https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-6.1.36.tar.bz2"
|
||||||
|
S="${WORKDIR}/${MY_PN}-${PV}"
|
||||||
|
|
||||||
|
LICENSE="GPL-2+ GPL-3 LGPL-2.1 MIT dtrace? ( CDDL )"
|
||||||
|
SLOT="0/$(ver_cut 1-2)"
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
IUSE="alsa dbus debug doc dtrace +gui java lvm nls pam pch pulseaudio +opengl python +sdk +sdl +udev vboxwebsrv vde vnc"
|
||||||
|
|
||||||
|
unset WATCOM #856769
|
||||||
|
|
||||||
|
COMMON_DEPEND="
|
||||||
|
${PYTHON_DEPS}
|
||||||
|
acct-group/vboxusers
|
||||||
|
~app-emulation/virtualbox-modules-${PV}
|
||||||
|
dev-libs/libtpms
|
||||||
|
dev-libs/libxml2
|
||||||
|
dev-libs/openssl:0=
|
||||||
|
media-libs/libpng:0=
|
||||||
|
media-libs/libvpx:0=
|
||||||
|
net-misc/curl
|
||||||
|
sys-libs/zlib
|
||||||
|
dbus? ( sys-apps/dbus )
|
||||||
|
gui? (
|
||||||
|
dev-qt/qtcore:5
|
||||||
|
dev-qt/qtdbus:5
|
||||||
|
dev-qt/qtgui:5
|
||||||
|
dev-qt/qthelp:5
|
||||||
|
dev-qt/qtprintsupport:5
|
||||||
|
dev-qt/qtwidgets:5
|
||||||
|
dev-qt/qtx11extras:5
|
||||||
|
dev-qt/qtxml:5
|
||||||
|
x11-libs/libX11
|
||||||
|
x11-libs/libXt
|
||||||
|
opengl? ( dev-qt/qtopengl:5 )
|
||||||
|
)
|
||||||
|
lvm? ( sys-fs/lvm2 )
|
||||||
|
opengl? (
|
||||||
|
media-libs/libglvnd[X]
|
||||||
|
media-libs/vulkan-loader
|
||||||
|
x11-libs/libX11
|
||||||
|
x11-libs/libXt
|
||||||
|
)
|
||||||
|
pam? ( sys-libs/pam )
|
||||||
|
sdl? (
|
||||||
|
media-libs/libsdl:0[X,video]
|
||||||
|
x11-libs/libX11
|
||||||
|
x11-libs/libXcursor
|
||||||
|
x11-libs/libXt
|
||||||
|
)
|
||||||
|
vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
|
||||||
|
vde? ( net-misc/vde )
|
||||||
|
vnc? ( >=net-libs/libvncserver-0.9.9 )
|
||||||
|
"
|
||||||
|
# We're stuck on JDK (and JRE, I guess?) 1.8 because of need for wsimport
|
||||||
|
# with USE="vboxwebsrv java". Note that we have to put things in DEPEND,
|
||||||
|
# not (only, anyway) BDEPEND, as the eclass magic to set the environment variables
|
||||||
|
# based on *DEPEND doesn't work for BDEPEND at least right now.
|
||||||
|
#
|
||||||
|
# There's a comment in Config.kmk about it
|
||||||
|
# ("With Java 11 wsimport was removed, usually part of a separate install now.")
|
||||||
|
# but it needs more investigation.
|
||||||
|
#
|
||||||
|
# See bug #878299 to track this issue.
|
||||||
|
DEPEND="
|
||||||
|
${COMMON_DEPEND}
|
||||||
|
>=dev-libs/libxslt-1.1.19
|
||||||
|
virtual/libcrypt:=
|
||||||
|
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||||
|
gui? (
|
||||||
|
x11-base/xorg-proto
|
||||||
|
x11-libs/libxcb:=
|
||||||
|
x11-libs/libXcursor
|
||||||
|
x11-libs/libXext
|
||||||
|
x11-libs/libXinerama
|
||||||
|
x11-libs/libXmu
|
||||||
|
x11-libs/libXrandr
|
||||||
|
)
|
||||||
|
java? ( virtual/jdk:1.8 )
|
||||||
|
opengl? (
|
||||||
|
x11-base/xorg-proto
|
||||||
|
x11-libs/libXcursor
|
||||||
|
x11-libs/libXinerama
|
||||||
|
x11-libs/libXmu
|
||||||
|
x11-libs/libXrandr
|
||||||
|
virtual/glu
|
||||||
|
)
|
||||||
|
sdl? ( x11-libs/libXinerama )
|
||||||
|
pulseaudio? ( media-sound/pulseaudio )
|
||||||
|
udev? ( >=virtual/udev-171 )
|
||||||
|
"
|
||||||
|
RDEPEND="
|
||||||
|
${COMMON_DEPEND}
|
||||||
|
gui? ( x11-libs/libxcb:= )
|
||||||
|
java? ( virtual/jre:1.8 )
|
||||||
|
"
|
||||||
|
BDEPEND="
|
||||||
|
${PYTHON_DEPS}
|
||||||
|
app-arch/tar
|
||||||
|
>=dev-lang/yasm-0.6.2
|
||||||
|
dev-libs/libIDL
|
||||||
|
dev-util/glslang
|
||||||
|
>=dev-util/kbuild-0.1.9998.3127
|
||||||
|
sys-apps/which
|
||||||
|
sys-devel/bin86
|
||||||
|
sys-libs/libcap
|
||||||
|
sys-power/iasl
|
||||||
|
virtual/pkgconfig
|
||||||
|
doc? (
|
||||||
|
app-text/docbook-sgml-dtd:4.4
|
||||||
|
app-text/docbook-xsl-ns-stylesheets
|
||||||
|
dev-texlive/texlive-basic
|
||||||
|
dev-texlive/texlive-latex
|
||||||
|
dev-texlive/texlive-latexrecommended
|
||||||
|
dev-texlive/texlive-latexextra
|
||||||
|
dev-texlive/texlive-fontsrecommended
|
||||||
|
dev-texlive/texlive-fontsextra
|
||||||
|
dev-qt/qthelp:5
|
||||||
|
)
|
||||||
|
gui? ( dev-qt/linguist-tools:5 )
|
||||||
|
nls? ( dev-qt/linguist-tools:5 )
|
||||||
|
java? ( virtual/jdk:1.8 )
|
||||||
|
"
|
||||||
|
|
||||||
|
QA_FLAGS_IGNORED="
|
||||||
|
usr/lib64/virtualbox/VBoxDDR0.r0
|
||||||
|
usr/lib64/virtualbox/VMMR0.r0
|
||||||
|
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
|
||||||
|
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
|
||||||
|
"
|
||||||
|
|
||||||
|
QA_TEXTRELS="
|
||||||
|
usr/lib64/virtualbox/VMMR0.r0
|
||||||
|
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
|
||||||
|
"
|
||||||
|
|
||||||
|
QA_EXECSTACK="
|
||||||
|
usr/lib64/virtualbox/iPxeBaseBin
|
||||||
|
usr/lib64/virtualbox/VMMR0.r0
|
||||||
|
usr/lib64/virtualbox/VBoxDDR0.r0
|
||||||
|
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
|
||||||
|
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
|
||||||
|
"
|
||||||
|
|
||||||
|
QA_WX_LOAD="
|
||||||
|
usr/lib64/virtualbox/iPxeBaseBin
|
||||||
|
"
|
||||||
|
|
||||||
|
QA_PRESTRIPPED="
|
||||||
|
usr/lib64/virtualbox/VMMR0.r0
|
||||||
|
usr/lib64/virtualbox/VBoxDDR0.r0
|
||||||
|
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
|
||||||
|
"
|
||||||
|
|
||||||
|
REQUIRED_USE="
|
||||||
|
java? ( sdk )
|
||||||
|
python? ( sdk )
|
||||||
|
vboxwebsrv? ( java )
|
||||||
|
${PYTHON_REQUIRED_USE}
|
||||||
|
"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}"/${PN}-6.1.26-configure-include-qt5-path.patch # bug #805365
|
||||||
|
|
||||||
|
# This patch is needed to avoid automagic detection based on a hardcoded
|
||||||
|
# list of Pythons in configure. It's necessary but not sufficient
|
||||||
|
# (see the rest of the ebuild's logic for the remainder) to handle
|
||||||
|
# proper Python selection.
|
||||||
|
"${FILESDIR}"/${PN}-6.1.34-r3-python.patch
|
||||||
|
|
||||||
|
# 865361
|
||||||
|
"${FILESDIR}"/${PN}-6.1.36-fcf-protection.patch
|
||||||
|
|
||||||
|
"${FILESDIR}"/${PN}-7.0.4-fix-compilation.patch
|
||||||
|
"${FILESDIR}"/${PN}-7.0.0-fix-compilation-clang.patch
|
||||||
|
"${FILESDIR}"/${PN}-7.0.0-python3_11.patch
|
||||||
|
|
||||||
|
# Downloaded patchset
|
||||||
|
"${WORKDIR}"/virtualbox-patches-6.1.36/patches
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_pretend() {
|
||||||
|
if ! use gui; then
|
||||||
|
einfo "No USE=\"gui\" selected, this build will not include any Qt frontend."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! use opengl; then
|
||||||
|
einfo "No USE=\"opengl\" selected, this build will lack"
|
||||||
|
einfo "the OpenGL feature."
|
||||||
|
fi
|
||||||
|
if ! use python; then
|
||||||
|
einfo "You have disabled the \"python\" USE flag. This will only"
|
||||||
|
einfo "disable the python bindings being installed."
|
||||||
|
fi
|
||||||
|
if ! use nls && use gui; then
|
||||||
|
einfo "USE=\"gui\" also selects USE=\"nls\". This build"
|
||||||
|
einfo "will have NLS support."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 749273
|
||||||
|
local d=${ROOT}
|
||||||
|
for i in usr "$(get_libdir)"; do
|
||||||
|
d="${d}/$i"
|
||||||
|
if [[ "$(stat -L -c "%g %u" "${d}")" != "0 0" ]]; then
|
||||||
|
die "${d} should be owned by root, VirtualBox will not start otherwise"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
java-pkg-opt-2_pkg_setup
|
||||||
|
python-single-r1_pkg_setup
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
|
||||||
|
# Only add nopie patch when we're on hardened
|
||||||
|
if gcc-specs-pie; then
|
||||||
|
eapply "${FILESDIR}"/050_virtualbox-5.2.8-nopie.patch
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove shipped binaries (kBuild, yasm) and tools, see bug #232775
|
||||||
|
rm -r kBuild/bin || die
|
||||||
|
# Remove everything in tools except kBuildUnits
|
||||||
|
find tools -mindepth 1 -maxdepth 1 -name kBuildUnits -prune -o -exec rm -r {} \+ || die
|
||||||
|
|
||||||
|
# Disable things unused or split into separate ebuilds
|
||||||
|
sed -e "s@MY_LIBDIR@$(get_libdir)@" \
|
||||||
|
"${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
|
||||||
|
|
||||||
|
if ! use pch; then
|
||||||
|
# bug #753323
|
||||||
|
printf '\n%s\n' "VBOX_WITHOUT_PRECOMPILED_HEADERS=1" \
|
||||||
|
>> LocalConfig.kmk || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Respect LDFLAGS
|
||||||
|
sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
|
||||||
|
-i Config.kmk src/libs/xpcom18a4/Config.kmk || die
|
||||||
|
|
||||||
|
# Do not use hard-coded ld (related to bug #488176)
|
||||||
|
sed -e '/QUIET)ld /s@ld @$(LD) @' \
|
||||||
|
-i src/VBox/Devices/PC/ipxe/Makefile.kmk || die
|
||||||
|
|
||||||
|
# Use PAM only when pam USE flag is enbaled (bug #376531)
|
||||||
|
if ! use pam; then
|
||||||
|
einfo "Disabling PAM removes the possibility to use the VRDP features."
|
||||||
|
sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
|
||||||
|
sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
|
||||||
|
src/VBox/HostServices/Makefile.kmk || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# add correct java path
|
||||||
|
if use java; then
|
||||||
|
sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
|
||||||
|
-i "${S}"/Config.kmk || die
|
||||||
|
java-pkg-opt-2_src_prepare
|
||||||
|
fi
|
||||||
|
|
||||||
|
#856811 #864274
|
||||||
|
# cannot filter out only one flag, some combinations of these flags produce buggy executables
|
||||||
|
for i in abm avx avx2 bmi bmi2 fma fma4 popcnt; do
|
||||||
|
append-cflags $(test-flags-CC -mno-$i)
|
||||||
|
append-cxxflags $(test-flags-CXX -mno-$i)
|
||||||
|
done
|
||||||
|
|
||||||
|
# bug #843437
|
||||||
|
cat >> LocalConfig.kmk <<-EOF || die
|
||||||
|
CXXFLAGS=${CXXFLAGS}
|
||||||
|
CFLAGS=${CFLAGS}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
if use sdl; then
|
||||||
|
echo -e "\nVBOX_WITH_VBOXSDL=1" >> LocalConfig.kmk || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
#443830
|
||||||
|
echo -e "\nVBOX_WITH_VBOX_IMG=1" >> LocalConfig.kmk || die
|
||||||
|
|
||||||
|
# clang assembler chokes on comments starting with /
|
||||||
|
if tc-is-clang; then
|
||||||
|
sed -i -e '/^\//d' src/libs/xpcom18a4/nsprpub/pr/src/md/unix/os_Linux_x86_64.s || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# fix doc generation
|
||||||
|
echo -e "\nVBOX_PATH_DOCBOOK=/usr/share/sgml/docbook/xsl-ns-stylesheets" >> LocalConfig.kmk || die
|
||||||
|
# replace xhtml names with numeric equivalents
|
||||||
|
find doc/manual -name \*.xml -exec sed -i \
|
||||||
|
-e 's/ /\ /g' \
|
||||||
|
-e 's/–/\–/g' \
|
||||||
|
-e 's/←/\←/g' \
|
||||||
|
-e 's/→/\→/g' \
|
||||||
|
-e 's/↔/\↔/g' {} \+ || die
|
||||||
|
|
||||||
|
# 489208
|
||||||
|
# Cannot patch the whole text, many translations. Use sed instead to replace the command
|
||||||
|
find src/VBox/Frontends/VirtualBox/nls -name \*.ts -exec sed -i \
|
||||||
|
's/'[^&]*\(vboxdrv setup\|vboxconfig\)'/\'emerge -1 virtualbox-modules\'/' {} \+ || die
|
||||||
|
sed -i "s:'/sbin/vboxconfig':'emerge -1 virtualbox-modules':" \
|
||||||
|
src/VBox/Frontends/VirtualBox/src/main.cpp \
|
||||||
|
src/VBox/VMM/VMMR3/VM.cpp || die
|
||||||
|
|
||||||
|
# 890561
|
||||||
|
echo -e "\nVBOX_GTAR=gtar" >> LocalConfig.kmk || die
|
||||||
|
|
||||||
|
if ! use nls && ! use gui; then
|
||||||
|
cat >> LocalConfig.kmk <<-EOF || die
|
||||||
|
VBOX_WITH_NLS :=
|
||||||
|
VBOX_WITH_MAIN_NLS :=
|
||||||
|
VBOX_WITH_PUEL_NLS :=
|
||||||
|
VBOX_WITH_VBOXMANAGE_NLS :=
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
tc-ld-disable-gold # bug #488176
|
||||||
|
|
||||||
|
tc-export AR CC CXX LD RANLIB
|
||||||
|
export HOST_CC="$(tc-getBUILD_CC)"
|
||||||
|
|
||||||
|
local myconf=(
|
||||||
|
--with-gcc="$(tc-getCC)"
|
||||||
|
--with-g++="$(tc-getCXX)"
|
||||||
|
|
||||||
|
--disable-kmods
|
||||||
|
|
||||||
|
$(usev !alsa --disable-alsa)
|
||||||
|
$(usev !dbus --disable-dbus)
|
||||||
|
$(usev debug --build-debug)
|
||||||
|
$(usev !doc --disable-docs)
|
||||||
|
$(usev !java --disable-java)
|
||||||
|
$(usev !lvm --disable-devmapper)
|
||||||
|
$(usev !pulseaudio --disable-pulse)
|
||||||
|
$(usev !python --disable-python)
|
||||||
|
$(usev vboxwebsrv --enable-webservice)
|
||||||
|
$(usev vde --enable-vde)
|
||||||
|
$(usev vnc --enable-vnc)
|
||||||
|
)
|
||||||
|
|
||||||
|
if use gui || use sdl || use opengl; then
|
||||||
|
myconf+=(
|
||||||
|
$(usev !opengl --disable-opengl)
|
||||||
|
$(usev !gui --disable-qt)
|
||||||
|
$(usev !sdl --disable-sdl)
|
||||||
|
)
|
||||||
|
else
|
||||||
|
myconf+=(
|
||||||
|
--build-headless
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use amd64 && ! has_multilib_profile; then
|
||||||
|
myconf+=( --disable-vmmraw )
|
||||||
|
fi
|
||||||
|
|
||||||
|
# not an autoconf script
|
||||||
|
edo ./configure "${myconf[@]}"
|
||||||
|
|
||||||
|
# Force usage of chosen Python implementation
|
||||||
|
# bug #856121, bug #785835
|
||||||
|
sed -i \
|
||||||
|
-e '/VBOX_WITH_PYTHON.*=/d' \
|
||||||
|
-e '/VBOX_PATH_PYTHON_INC.*=/d' \
|
||||||
|
-e '/VBOX_LIB_PYTHON.*=/d' \
|
||||||
|
AutoConfig.kmk || die
|
||||||
|
|
||||||
|
cat >> AutoConfig.kmk <<-EOF || die
|
||||||
|
VBOX_WITH_PYTHON=$(usev python 1)
|
||||||
|
VBOX_PATH_PYTHON_INC=$(python_get_includedir)
|
||||||
|
VBOX_LIB_PYTHON=$(python_get_library_path)
|
||||||
|
EOF
|
||||||
|
|
||||||
|
if use python; then
|
||||||
|
local mangled_python="${EPYTHON#python}"
|
||||||
|
mangled_python="${mangled_python/.}"
|
||||||
|
|
||||||
|
# Stub out the script which defines what the Makefile ends up
|
||||||
|
# building for. gen_python_deps.py gets called by the Makefile
|
||||||
|
# with some args and it spits out a bunch of paths for a hardcoded
|
||||||
|
# list of Pythons. We just override it with what we're actually using.
|
||||||
|
# This minimises the amount of patching we have to do for new Pythons.
|
||||||
|
cat > src/libs/xpcom18a4/python/gen_python_deps.py <<-EOF || die
|
||||||
|
print("VBOX_PYTHON${mangled_python}_INC=$(python_get_includedir)")
|
||||||
|
print("VBOX_PYTHON${mangled_python}_LIB=$(python_get_library_path)")
|
||||||
|
print("VBOX_PYTHONDEF_INC=$(python_get_includedir)")
|
||||||
|
print("VBOX_PYTHONDEF_LIB=$(python_get_library_path)")
|
||||||
|
EOF
|
||||||
|
|
||||||
|
chmod +x src/libs/xpcom18a4/python/gen_python_deps.py || die
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
source ./env.sh || die
|
||||||
|
|
||||||
|
# Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
|
||||||
|
MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
|
||||||
|
MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
|
||||||
|
MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
|
||||||
|
|
||||||
|
local myemakeargs=(
|
||||||
|
VBOX_BUILD_PUBLISHER=_Gentoo
|
||||||
|
VBOX_WITH_VBOXIMGMOUNT=1
|
||||||
|
|
||||||
|
KBUILD_VERBOSE=2
|
||||||
|
|
||||||
|
AS="$(tc-getCC)"
|
||||||
|
CC="$(tc-getCC)"
|
||||||
|
CXX="$(tc-getCXX)"
|
||||||
|
|
||||||
|
TOOL_GCC3_CC="$(tc-getCC)"
|
||||||
|
TOOL_GCC3_LD="$(tc-getCC)"
|
||||||
|
TOOL_GCC3_AS="$(tc-getCC)"
|
||||||
|
TOOL_GCC3_AR="$(tc-getAR)"
|
||||||
|
TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
|
||||||
|
|
||||||
|
TOOL_GXX3_CC="$(tc-getCC)"
|
||||||
|
TOOL_GXX3_CXX="$(tc-getCXX)"
|
||||||
|
TOOL_GXX3_LD="$(tc-getCXX)"
|
||||||
|
TOOL_GXX3_AS="$(tc-getCXX)"
|
||||||
|
TOOL_GXX3_AR="$(tc-getAR)"
|
||||||
|
TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
|
||||||
|
|
||||||
|
TOOL_GCC3_CFLAGS="${CFLAGS}"
|
||||||
|
TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
|
||||||
|
VBOX_GCC_OPT="${CXXFLAGS}"
|
||||||
|
VBOX_NM="$(tc-getNM)"
|
||||||
|
|
||||||
|
TOOL_YASM_AS=yasm
|
||||||
|
)
|
||||||
|
|
||||||
|
if use amd64 && has_multilib_profile; then
|
||||||
|
myemakeargs+=(
|
||||||
|
CC32="$(tc-getCC) -m32"
|
||||||
|
CXX32="$(tc-getCXX) -m32"
|
||||||
|
|
||||||
|
TOOL_GCC32_CC="$(tc-getCC) -m32"
|
||||||
|
TOOL_GCC32_CXX="$(tc-getCXX) -m32"
|
||||||
|
TOOL_GCC32_LD="$(tc-getCC) -m32"
|
||||||
|
TOOL_GCC32_AS="$(tc-getCC) -m32"
|
||||||
|
TOOL_GCC32_AR="$(tc-getAR)"
|
||||||
|
TOOL_GCC32_OBJCOPY="$(tc-getOBJCOPY)"
|
||||||
|
|
||||||
|
TOOL_GXX32_CC="$(tc-getCC) -m32"
|
||||||
|
TOOL_GXX32_CXX="$(tc-getCXX) -m32"
|
||||||
|
TOOL_GXX32_LD="$(tc-getCXX) -m32"
|
||||||
|
TOOL_GXX32_AS="$(tc-getCXX) -m32"
|
||||||
|
TOOL_GXX32_AR="$(tc-getAR)"
|
||||||
|
TOOL_GXX32_OBJCOPY="$(tc-getOBJCOPY)"
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
MAKE="kmk" emake "${myemakeargs[@]}" all
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die
|
||||||
|
|
||||||
|
local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile
|
||||||
|
|
||||||
|
vbox_inst() {
|
||||||
|
local binary="${1}"
|
||||||
|
local perms="${2:-0750}"
|
||||||
|
local path="${3:-${vbox_inst_path}}"
|
||||||
|
|
||||||
|
[[ -n "${binary}" ]] || die "vbox_inst: No binary given!"
|
||||||
|
[[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
|
||||||
|
|
||||||
|
insinto ${path}
|
||||||
|
doins ${binary}
|
||||||
|
fowners root:vboxusers ${path}/${binary}
|
||||||
|
fperms ${perms} ${path}/${binary}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create configuration files
|
||||||
|
insinto /etc/vbox
|
||||||
|
newins "${FILESDIR}/${PN}-4-config" vbox.cfg
|
||||||
|
|
||||||
|
# Set the correct libdir
|
||||||
|
sed \
|
||||||
|
-e "s@MY_LIBDIR@$(get_libdir)@" \
|
||||||
|
-i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
|
||||||
|
|
||||||
|
# Install the wrapper script
|
||||||
|
exeinto ${vbox_inst_path}
|
||||||
|
newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox"
|
||||||
|
fowners root:vboxusers ${vbox_inst_path}/VBox
|
||||||
|
fperms 0750 ${vbox_inst_path}/VBox
|
||||||
|
|
||||||
|
# Install binaries and libraries
|
||||||
|
insinto ${vbox_inst_path}
|
||||||
|
doins -r components
|
||||||
|
|
||||||
|
for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,VMMPreload,XPCOMIPCD} \
|
||||||
|
vboximg-mount vbox-img *so *r0; do
|
||||||
|
vbox_inst ${each}
|
||||||
|
done
|
||||||
|
|
||||||
|
# These binaries need to be suid root.
|
||||||
|
for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
|
||||||
|
vbox_inst ${each} 4750
|
||||||
|
done
|
||||||
|
|
||||||
|
# Install EFI Firmware files (bug #320757)
|
||||||
|
for each in VBoxEFI{32,64}.fd ; do
|
||||||
|
vbox_inst ${each} 0644
|
||||||
|
done
|
||||||
|
|
||||||
|
# VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
|
||||||
|
# VBoxXPCOMIPCD (bug #524202)
|
||||||
|
for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
|
||||||
|
pax-mark -m "${ED}"${vbox_inst_path}/${each}
|
||||||
|
done
|
||||||
|
|
||||||
|
# Symlink binaries to the shipped wrapper
|
||||||
|
for each in vbox{autostart,balloonctrl,bugreport,headless,manage} \
|
||||||
|
VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do
|
||||||
|
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
|
||||||
|
done
|
||||||
|
dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount
|
||||||
|
dosym ${vbox_inst_path}/vbox-img /usr/bin/vbox-img
|
||||||
|
|
||||||
|
if use pam; then
|
||||||
|
# VRDPAuth only works with this (bug #351949)
|
||||||
|
dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
|
||||||
|
fi
|
||||||
|
|
||||||
|
# set an env-variable for 3rd party tools
|
||||||
|
echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
|
||||||
|
doenvd "${T}/90virtualbox"
|
||||||
|
|
||||||
|
if use sdl; then
|
||||||
|
vbox_inst VBoxSDL 4750
|
||||||
|
pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL
|
||||||
|
|
||||||
|
for each in vboxsdl VBoxSDL ; do
|
||||||
|
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use gui; then
|
||||||
|
vbox_inst VirtualBox
|
||||||
|
vbox_inst VirtualBoxVM 4750
|
||||||
|
for each in VirtualBox{,VM} ; do
|
||||||
|
pax-mark -m "${ED}"${vbox_inst_path}/${each}
|
||||||
|
done
|
||||||
|
|
||||||
|
if use opengl; then
|
||||||
|
vbox_inst VBoxTestOGL
|
||||||
|
pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL
|
||||||
|
fi
|
||||||
|
|
||||||
|
for each in virtualbox{,vm} VirtualBox{,VM} ; do
|
||||||
|
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
|
||||||
|
done
|
||||||
|
|
||||||
|
insinto /usr/share/${PN}
|
||||||
|
doins -r nls
|
||||||
|
doins -r UnattendedTemplates
|
||||||
|
|
||||||
|
domenu ${PN}.desktop
|
||||||
|
|
||||||
|
pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
|
||||||
|
for size in 16 32 48 64 128 ; do
|
||||||
|
newicon -s ${size} ${PN}-${size}px.png ${PN}.png
|
||||||
|
done
|
||||||
|
newicon ${PN}-48px.png ${PN}.png
|
||||||
|
doicon -s scalable ${PN}.svg
|
||||||
|
popd &>/dev/null || die
|
||||||
|
pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
|
||||||
|
for size in 16 24 32 48 64 72 96 128 256 512 ; do
|
||||||
|
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
|
||||||
|
icofile="${PN}-${ico}-${size}px.png"
|
||||||
|
if [[ -f "${icofile}" ]]; then
|
||||||
|
newicon -s ${size} ${icofile} ${PN}-${ico}.png
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
popd &>/dev/null || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use lvm; then
|
||||||
|
vbox_inst VBoxVolInfo 4750
|
||||||
|
dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use sdk; then
|
||||||
|
insinto ${vbox_inst_path}
|
||||||
|
doins -r sdk
|
||||||
|
|
||||||
|
if use java; then
|
||||||
|
java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
|
||||||
|
java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use udev; then
|
||||||
|
local udevdir="$(get_udevdir)"
|
||||||
|
local udev_file="VBoxCreateUSBNode.sh"
|
||||||
|
local rules_file="10-virtualbox.rules"
|
||||||
|
|
||||||
|
insinto ${udevdir}
|
||||||
|
doins ${udev_file}
|
||||||
|
fowners root:vboxusers ${udevdir}/${udev_file}
|
||||||
|
fperms 0750 ${udevdir}/${udev_file}
|
||||||
|
|
||||||
|
insinto ${udevdir}/rules.d
|
||||||
|
sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/${rules_file} \
|
||||||
|
> "${T}"/${rules_file} || die
|
||||||
|
doins "${T}"/${rules_file}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use vboxwebsrv; then
|
||||||
|
vbox_inst vboxwebsrv
|
||||||
|
dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
|
||||||
|
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
|
||||||
|
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove dead symlinks (bug #715338)
|
||||||
|
find "${ED}"/usr/$(get_libdir)/${PN} -xtype l -delete || die
|
||||||
|
|
||||||
|
# Fix version string in extensions or else they don't get accepted
|
||||||
|
# by the virtualbox host process (see bug #438930)
|
||||||
|
find ExtensionPacks -type f -name "ExtPack.xml" -exec sed -i '/Version/s@_Gentoo@@' {} \+ || die
|
||||||
|
|
||||||
|
local extensions_dir="${vbox_inst_path}/ExtensionPacks"
|
||||||
|
|
||||||
|
if use vnc; then
|
||||||
|
insinto ${extensions_dir}
|
||||||
|
doins -r ExtensionPacks/VNC
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use dtrace; then
|
||||||
|
insinto ${extensions_dir}
|
||||||
|
doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use doc; then
|
||||||
|
dodoc UserManual.pdf
|
||||||
|
docompress -x /usr/share/doc/${PF}/qt
|
||||||
|
docinto qt
|
||||||
|
dodoc UserManual.q{ch,hc}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use python; then
|
||||||
|
local python_path_ext="${ED}/usr/$(get_libdir)/virtualbox/VBoxPython3.so"
|
||||||
|
if [[ ! -x "${python_path_ext}" ]]; then
|
||||||
|
eerror "Couldn't find ${python_path_ext}! Bindings were requested with USE=python"
|
||||||
|
eerror "but none were installed. This may happen if support for a Python target"
|
||||||
|
eerror "(listed in PYTHON_COMPAT in the ebuild) is incomplete within the Makefiles."
|
||||||
|
die "Incomplete installation of Python bindings! File a bug with Gentoo!"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
xdg_pkg_postinst
|
||||||
|
|
||||||
|
if use udev; then
|
||||||
|
udev_reload
|
||||||
|
udevadm trigger --subsystem-match=usb
|
||||||
|
fi
|
||||||
|
|
||||||
|
tmpfiles_process virtualbox-vboxusb.conf
|
||||||
|
|
||||||
|
if use gui; then
|
||||||
|
elog "To launch VirtualBox just type: \"virtualbox\"."
|
||||||
|
fi
|
||||||
|
|
||||||
|
elog "You must be in the vboxusers group to use VirtualBox."
|
||||||
|
elog ""
|
||||||
|
elog "The latest user manual is available for download at:"
|
||||||
|
elog "https://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
|
||||||
|
elog ""
|
||||||
|
|
||||||
|
optfeature "Advanced networking setups" net-misc/bridge-utils sys-apps/usermode-utilities
|
||||||
|
optfeature "USB2, USB3, PXE boot, and VRDP support" app-emulation/virtualbox-extpack-oracle
|
||||||
|
optfeature "Guest additions ISO" app-emulation/virtualbox-additions
|
||||||
|
|
||||||
|
if ! use udev; then
|
||||||
|
ewarn "Without USE=udev, USB devices will likely not work in ${PN}."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
xdg_pkg_postrm
|
||||||
|
|
||||||
|
use udev && udev_reload
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
@ -1,2 +1,3 @@
|
|||||||
DIST edencommon-2022.08.29.00.gh.tar.gz 143430 BLAKE2B a66bae35413097140b24c9313b12d55d52cbd98396ff1afacc751eb9752d4116ab19aeb9320dead5500189d74b4d91fdc09d9648fc6b5fbb55a706328488e7ef SHA512 6622c5de2dbff96717a345c82aaf9335745ed57262bb55c7a6704a68259ce81376ff0a2e9f3818ed1c1f08434da704f31fd4e3d8c48dd13646f0202e7564b2c7
|
DIST edencommon-2022.08.29.00.gh.tar.gz 143430 BLAKE2B a66bae35413097140b24c9313b12d55d52cbd98396ff1afacc751eb9752d4116ab19aeb9320dead5500189d74b4d91fdc09d9648fc6b5fbb55a706328488e7ef SHA512 6622c5de2dbff96717a345c82aaf9335745ed57262bb55c7a6704a68259ce81376ff0a2e9f3818ed1c1f08434da704f31fd4e3d8c48dd13646f0202e7564b2c7
|
||||||
DIST edencommon-2022.09.12.00.gh.tar.gz 143483 BLAKE2B 414060f4d43e16e92f654a0d5d74fede2621bf7f39b880588e3c172dca6cffc59c88de15ece3ce42e1860c351bdef16b1f4daa6ba4fa203aef91d714e43b63ea SHA512 3c6da5425228ada48510208978facfd9fd233e607be076f05c3f431a473098329b23a81609ac8c4766ecf16d8e887aa8667d76c4e48219f0ab61074dbe207333
|
DIST edencommon-2022.09.12.00.gh.tar.gz 143483 BLAKE2B 414060f4d43e16e92f654a0d5d74fede2621bf7f39b880588e3c172dca6cffc59c88de15ece3ce42e1860c351bdef16b1f4daa6ba4fa203aef91d714e43b63ea SHA512 3c6da5425228ada48510208978facfd9fd233e607be076f05c3f431a473098329b23a81609ac8c4766ecf16d8e887aa8667d76c4e48219f0ab61074dbe207333
|
||||||
|
DIST edencommon-2023.01.16.00.gh.tar.gz 144525 BLAKE2B 5c30a7bcc2fec9fc18461bb1b71090bd6e6fe6a5dfba587dcd649cc0de1cd9fcd96f83d8f2651f37af7ae1066f73d1671ab3dea464c19bf7c1dc4aa75209655a SHA512 103a3b4a8f2a510fd5e31fd8ce3e0974290b409f2ea9ff6ab655f85833d3fda49c9f552a846ba52d6e6db2198cb8cdda64e148ba3fe4e48f692378f87ee080e7
|
||||||
|
@ -0,0 +1,41 @@
|
|||||||
|
# Copyright 2022-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
# These must be bumped together:
|
||||||
|
# dev-cpp/edencommon
|
||||||
|
# dev-cpp/folly
|
||||||
|
# dev-util/watchman
|
||||||
|
|
||||||
|
inherit cmake
|
||||||
|
|
||||||
|
DESCRIPTION="Shared library for Watchman and Eden projects"
|
||||||
|
HOMEPAGE="https://github.com/facebookexperimental/edencommon"
|
||||||
|
SRC_URI="https://github.com/facebookexperimental/edencommon/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="MIT"
|
||||||
|
SLOT="0/${PV}"
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
IUSE="llvm-libunwind"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
dev-cpp/gflags:=
|
||||||
|
dev-cpp/glog:=[gflags]
|
||||||
|
dev-cpp/folly:=
|
||||||
|
llvm-libunwind? ( sys-libs/llvm-libunwind:= )
|
||||||
|
!llvm-libunwind? ( sys-libs/libunwind:= )
|
||||||
|
"
|
||||||
|
DEPEND="
|
||||||
|
${RDEPEND}
|
||||||
|
dev-cpp/gtest
|
||||||
|
"
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
local mycmakeargs=(
|
||||||
|
-DCMAKE_INSTALL_DIR="$(get_libdir)/cmake/${PN}"
|
||||||
|
-DLIB_INSTALL_DIR="$(get_libdir)"
|
||||||
|
)
|
||||||
|
|
||||||
|
cmake_src_configure
|
||||||
|
}
|
@ -1,2 +1,3 @@
|
|||||||
DIST folly-v2022.08.29.00.tar.gz 3696645 BLAKE2B c1ff618be8b6a73bf0a1249212cf904ac472711086e54da73dd631ecf002761e30496e8631d6591f51e279b736ae9b3fe50959de6b1f86f01f9d6bc08fe675fc SHA512 1437a1314e26624715a0bb781049e19300eb3a67648287b319c55ce0dfbc867a09bd9d2f0cece6fc75fc62b21899aa94b464ae49c12687be7c94fdf0c7b95790
|
DIST folly-v2022.08.29.00.tar.gz 3696645 BLAKE2B c1ff618be8b6a73bf0a1249212cf904ac472711086e54da73dd631ecf002761e30496e8631d6591f51e279b736ae9b3fe50959de6b1f86f01f9d6bc08fe675fc SHA512 1437a1314e26624715a0bb781049e19300eb3a67648287b319c55ce0dfbc867a09bd9d2f0cece6fc75fc62b21899aa94b464ae49c12687be7c94fdf0c7b95790
|
||||||
DIST folly-v2022.09.12.00.tar.gz 3710760 BLAKE2B af59580ebee3229a6564c4b29e1d24bc405f4ae3b79751af315245c87472293f97c2d78348c92620d3196d1d41a7b55af9627cd42d23f74cbf6f00d129b3b77c SHA512 f9d0ca44f6f0c343d16e8ee5408808830b30155d42a257c48e627f9a82bb4a57568a7feeba01cf73704db68af1eee7424971540635d5dfe1728fc2ae73953940
|
DIST folly-v2022.09.12.00.tar.gz 3710760 BLAKE2B af59580ebee3229a6564c4b29e1d24bc405f4ae3b79751af315245c87472293f97c2d78348c92620d3196d1d41a7b55af9627cd42d23f74cbf6f00d129b3b77c SHA512 f9d0ca44f6f0c343d16e8ee5408808830b30155d42a257c48e627f9a82bb4a57568a7feeba01cf73704db68af1eee7424971540635d5dfe1728fc2ae73953940
|
||||||
|
DIST folly-v2023.01.16.00.tar.gz 3774935 BLAKE2B e6c5925de0e571d83ac6db363a92f3d8c2fa7e911efc3db8f41b702dacd64aed5247313102ca12ca36a27a6fd8d8d5168ca8e98835f4000b425c10560a39e392 SHA512 941e09c90fab9e668d5f6b77f22caeff1da4347324c017ad64359748e18fc7c713d13f839d90a116164005041824c8a8d2039cfcc7687e23d9be8fa5acbd61ec
|
||||||
|
@ -0,0 +1,24 @@
|
|||||||
|
https://github.com/facebook/folly/pull/1922
|
||||||
|
|
||||||
|
From e3cba5dd4f59c695d9cbf6bd02249af7103cc300 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Sam James <sam@gentoo.org>
|
||||||
|
Date: Sun, 22 Jan 2023 05:06:16 +0000
|
||||||
|
Subject: [PATCH] Fix build with GCC 13 (add missing includes)
|
||||||
|
|
||||||
|
GCC 13 (as usual for new compiler releases) shuffles around some
|
||||||
|
internal includes and so <stdexcept> etc is no longer transitively included.
|
||||||
|
|
||||||
|
Signed-off-by: Sam James <sam@gentoo.org>
|
||||||
|
--- a/folly/system/AtFork.cpp
|
||||||
|
+++ b/folly/system/AtFork.cpp
|
||||||
|
@@ -14,6 +14,9 @@
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#include <stdexcept>
|
||||||
|
+#include <system_error>
|
||||||
|
+
|
||||||
|
#include <folly/system/AtFork.h>
|
||||||
|
|
||||||
|
#include <folly/ScopeGuard.h>
|
||||||
|
|
@ -0,0 +1,54 @@
|
|||||||
|
https://bugs.gentoo.org/891633
|
||||||
|
https://github.com/facebook/folly/issues/1908
|
||||||
|
https://github.com/facebook/folly/commit/259c9d6a4f0eb6d80e0263c2fe5d1af5bff116dc
|
||||||
|
|
||||||
|
From 259c9d6a4f0eb6d80e0263c2fe5d1af5bff116dc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Dylan Yudaken <dylany@meta.com>
|
||||||
|
Date: Mon, 16 Jan 2023 01:20:04 -0800
|
||||||
|
Subject: [PATCH] io_uring: implement io_uring_enable_rings locally (#1915)
|
||||||
|
|
||||||
|
Summary:
|
||||||
|
Pull Request resolved: https://github.com/facebook/folly/pull/1915
|
||||||
|
|
||||||
|
io_uring_enable_rings was missing from liburing upstream (see https://github.com/axboe/liburing/issues/773) which is breaking the open source build. See https://github.com/facebook/folly/issues/1908
|
||||||
|
|
||||||
|
Instead just implement it locally, as it's trivial
|
||||||
|
|
||||||
|
Reviewed By: dmm-fb
|
||||||
|
|
||||||
|
Differential Revision: D42497664
|
||||||
|
|
||||||
|
fbshipit-source-id: 7241785a36046e867f907bfe74623aaeb38c4b70
|
||||||
|
--- a/folly/experimental/io/IoUringBackend.cpp
|
||||||
|
+++ b/folly/experimental/io/IoUringBackend.cpp
|
||||||
|
@@ -56,6 +56,20 @@ namespace folly {
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
+#if FOLLY_IO_URING_UP_TO_DATE
|
||||||
|
+int ioUringEnableRings(FOLLY_MAYBE_UNUSED struct io_uring* ring) {
|
||||||
|
+ // Ideally this would call ::io_uring_enable_rings directly which just runs
|
||||||
|
+ // the below however this was missing from a stable version of liburing, which
|
||||||
|
+ // means that some distributions were not able to compile it. see
|
||||||
|
+ // https://github.com/axboe/liburing/issues/773
|
||||||
|
+
|
||||||
|
+ // since it is so simple, just implement it here until the fix rolls out to an
|
||||||
|
+ // acceptable number of OSS distributions.
|
||||||
|
+ return ::io_uring_register(
|
||||||
|
+ ring->ring_fd, IORING_REGISTER_ENABLE_RINGS, nullptr, 0);
|
||||||
|
+}
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
struct SignalRegistry {
|
||||||
|
struct SigInfo {
|
||||||
|
struct sigaction sa_ {};
|
||||||
|
@@ -1360,7 +1374,7 @@ void IoUringBackend::delayedInit() {
|
||||||
|
if (usingDeferTaskrun_) {
|
||||||
|
// usingDeferTaskrun_ is guarded already on having an up to date liburing
|
||||||
|
#if FOLLY_IO_URING_UP_TO_DATE
|
||||||
|
- int ret = ::io_uring_enable_rings(&ioRing_);
|
||||||
|
+ int ret = ioUringEnableRings(&ioRing_);
|
||||||
|
if (ret) {
|
||||||
|
LOG(ERROR) << "io_uring_enable_rings gave " << folly::errnoStr(-ret);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,104 @@
|
|||||||
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
# These must be bumped together:
|
||||||
|
# dev-cpp/edencommon
|
||||||
|
# dev-cpp/folly
|
||||||
|
# dev-util/watchman
|
||||||
|
|
||||||
|
inherit cmake toolchain-funcs
|
||||||
|
|
||||||
|
DESCRIPTION="An open-source C++ library developed and used at Facebook"
|
||||||
|
HOMEPAGE="https://github.com/facebook/folly"
|
||||||
|
SRC_URI="https://github.com/facebook/folly/releases/download/v${PV}/${PN}-v${PV}.tar.gz"
|
||||||
|
S="${WORKDIR}"
|
||||||
|
|
||||||
|
LICENSE="Apache-2.0"
|
||||||
|
SLOT="0/${PV}"
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
IUSE="llvm-libunwind test"
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
RDEPEND="app-arch/bzip2
|
||||||
|
app-arch/lz4:=
|
||||||
|
app-arch/snappy:=
|
||||||
|
app-arch/xz-utils
|
||||||
|
app-arch/zstd:=
|
||||||
|
dev-cpp/gflags:=
|
||||||
|
dev-cpp/glog:=[gflags]
|
||||||
|
dev-libs/boost:=[context]
|
||||||
|
dev-libs/double-conversion:=
|
||||||
|
dev-libs/libaio
|
||||||
|
dev-libs/libevent:=
|
||||||
|
dev-libs/libfmt:=
|
||||||
|
dev-libs/libsodium:=
|
||||||
|
dev-libs/openssl:=
|
||||||
|
>=sys-libs/liburing-2.2:=
|
||||||
|
sys-libs/zlib
|
||||||
|
llvm-libunwind? ( sys-libs/llvm-libunwind:= )
|
||||||
|
!llvm-libunwind? ( sys-libs/libunwind:= )"
|
||||||
|
# libiberty is linked statically
|
||||||
|
DEPEND="${RDEPEND}
|
||||||
|
sys-libs/binutils-libs
|
||||||
|
test? ( dev-cpp/gtest )"
|
||||||
|
BDEPEND="test? ( sys-devel/clang )"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}"/${PN}-2022.07.04.00-musl-fix.patch
|
||||||
|
"${FILESDIR}"/${PN}-2023.01.16.00-gcc13.patch
|
||||||
|
"${FILESDIR}"/${P}-liburing.patch
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
[[ ${BUILD_TYPE} == binary ]] && return
|
||||||
|
|
||||||
|
if use test && ! tc-is-clang ; then
|
||||||
|
# Always build w/ Clang for now to avoid gcc ICE
|
||||||
|
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106230
|
||||||
|
#if [[ $(gcc-major-version) -eq 12 ]] ; then
|
||||||
|
# return
|
||||||
|
#fi
|
||||||
|
|
||||||
|
## Only older GCC 11 is broken
|
||||||
|
#if [[ $(gcc-major-version) -eq 11 && $(gcc-minor-version) -ge 3 && $(gcc-micro-version) -ge 1 ]] ; then
|
||||||
|
# return
|
||||||
|
#fi
|
||||||
|
|
||||||
|
ewarn "Forcing build with Clang due to GCC bug (because tests are enabled)"
|
||||||
|
#ewarn "(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104008)"
|
||||||
|
|
||||||
|
export CC=${CHOST}-clang
|
||||||
|
export CXX=${CHOST}-clang++
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
# Fragile when changing compilers
|
||||||
|
export CCACHE_DISABLE=1
|
||||||
|
|
||||||
|
# TODO: liburing could in theory be optional but fails to link
|
||||||
|
local mycmakeargs=(
|
||||||
|
-DLIB_INSTALL_DIR="$(get_libdir)"
|
||||||
|
|
||||||
|
-DBUILD_TESTS=$(usex test)
|
||||||
|
)
|
||||||
|
|
||||||
|
cmake_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
local myctestargs=(
|
||||||
|
# - timeseries_histogram_test.TimeseriesHistogram.Percentile|HHWheelTimerTest
|
||||||
|
# Long-standing known test failure
|
||||||
|
# TODO: report upstream
|
||||||
|
# - HHWheelTimerTest.HHWheelTimerTest.CancelTimeout
|
||||||
|
# Timeouts are fragile
|
||||||
|
# - concurrent_hash_map_test.*
|
||||||
|
# TODO: All SIGSEGV, report upstream!
|
||||||
|
-E "(timeseries_histogram_test.TimeseriesHistogram.Percentile|HHWheelTimerTest.HHWheelTimerTest.CancelTimeout|concurrent_hash_map_test.*)"
|
||||||
|
)
|
||||||
|
|
||||||
|
cmake_src_test
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,136 @@
|
|||||||
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit java-vm-2 toolchain-funcs
|
||||||
|
|
||||||
|
abi_uri() {
|
||||||
|
local baseuri="https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/"
|
||||||
|
local musl=
|
||||||
|
local os=linux
|
||||||
|
|
||||||
|
case ${2} in
|
||||||
|
*-macos) os=mac ;;
|
||||||
|
*-solaris) os=solaris ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [[ ${3} == musl ]]; then
|
||||||
|
os=alpine-linux
|
||||||
|
musl=true
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "${2-$1}? (
|
||||||
|
${musl:+ elibc_musl? ( }
|
||||||
|
${baseuri}/OpenJDK${SLOT}U-jdk_${1}_${os}_hotspot_${MY_PV//+/_}.tar.gz
|
||||||
|
${musl:+ ) } )"
|
||||||
|
}
|
||||||
|
|
||||||
|
MY_PV=${PV/_p/+}
|
||||||
|
SLOT=$(ver_cut 1)
|
||||||
|
|
||||||
|
SRC_URI="
|
||||||
|
$(abi_uri arm)
|
||||||
|
$(abi_uri x64 amd64)
|
||||||
|
$(abi_uri x64 x64-macos)
|
||||||
|
"
|
||||||
|
# $(abi_uri aarch64 arm64)
|
||||||
|
# $(abi_uri ppc64le ppc64)
|
||||||
|
# $(abi_uri x64 amd64 musl)
|
||||||
|
|
||||||
|
DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin"
|
||||||
|
HOMEPAGE="https://adoptium.net"
|
||||||
|
LICENSE="GPL-2-with-classpath-exception"
|
||||||
|
KEYWORDS="amd64 ~arm ~x64-macos"
|
||||||
|
#KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x64-macos"
|
||||||
|
IUSE="alsa cups headless-awt selinux source"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
>=sys-apps/baselayout-java-0.1.0-r1
|
||||||
|
kernel_linux? (
|
||||||
|
media-libs/fontconfig:1.0
|
||||||
|
media-libs/freetype:2
|
||||||
|
media-libs/harfbuzz
|
||||||
|
elibc_glibc? ( >=sys-libs/glibc-2.2.5:* )
|
||||||
|
elibc_musl? ( sys-libs/musl )
|
||||||
|
sys-libs/zlib
|
||||||
|
alsa? ( media-libs/alsa-lib )
|
||||||
|
cups? ( net-print/cups )
|
||||||
|
selinux? ( sec-policy/selinux-java )
|
||||||
|
!headless-awt? (
|
||||||
|
x11-libs/libX11
|
||||||
|
x11-libs/libXext
|
||||||
|
x11-libs/libXi
|
||||||
|
x11-libs/libXrender
|
||||||
|
x11-libs/libXtst
|
||||||
|
)
|
||||||
|
)"
|
||||||
|
|
||||||
|
RESTRICT="preserve-libs splitdebug"
|
||||||
|
QA_PREBUILT="*"
|
||||||
|
|
||||||
|
S="${WORKDIR}/jdk-${MY_PV}"
|
||||||
|
|
||||||
|
pkg_pretend() {
|
||||||
|
if [[ "$(tc-is-softfloat)" != "no" ]]; then
|
||||||
|
die "These binaries require a hardfloat system."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_unpack() {
|
||||||
|
default
|
||||||
|
if [[ ${A} == *_mac_* ]] ; then
|
||||||
|
mv -v "${S}/Contents/Home/"* "${S}" || die
|
||||||
|
rm -Rf "${S}/Contents" # drop macOS executable
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
local dest="/opt/${P}"
|
||||||
|
local ddest="${ED}/${dest#/}"
|
||||||
|
|
||||||
|
# on macOS if they would exist they would be called .dylib, but most
|
||||||
|
# importantly, there are no different providers, so everything
|
||||||
|
# that's shipped works.
|
||||||
|
if [[ ${A} != *_mac_* ]] ; then
|
||||||
|
# Not sure why they bundle this as it's commonly available and they
|
||||||
|
# only do so on x86_64. It's needed by libfontmanager.so. IcedTea
|
||||||
|
# also has an explicit dependency while Oracle seemingly dlopens it.
|
||||||
|
rm -vf lib/libfreetype.so || die
|
||||||
|
|
||||||
|
# prefer system copy # https://bugs.gentoo.org/776676
|
||||||
|
rm -vf lib/libharfbuzz.so || die
|
||||||
|
|
||||||
|
# Oracle and IcedTea have libjsoundalsa.so depending on
|
||||||
|
# libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
|
||||||
|
if ! use alsa ; then
|
||||||
|
rm -v lib/libjsound.* || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use headless-awt ; then
|
||||||
|
rm -v lib/lib*{[jx]awt,splashscreen}* || die
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! use source ; then
|
||||||
|
rm -v lib/src.zip || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -v lib/security/cacerts || die
|
||||||
|
dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
|
||||||
|
|
||||||
|
dodir "${dest}"
|
||||||
|
cp -pPR * "${ddest}" || die
|
||||||
|
|
||||||
|
# provide stable symlink
|
||||||
|
dosym "${P}" "/opt/${PN}-${SLOT}"
|
||||||
|
|
||||||
|
java-vm_install-env "${FILESDIR}"/${PN}.env.sh
|
||||||
|
java-vm_set-pax-markings "${ddest}"
|
||||||
|
java-vm_revdep-mask
|
||||||
|
java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
java-vm-2_pkg_postinst
|
||||||
|
}
|
@ -0,0 +1,137 @@
|
|||||||
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit java-vm-2 toolchain-funcs
|
||||||
|
|
||||||
|
abi_uri() {
|
||||||
|
local baseuri="https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/"
|
||||||
|
local musl=
|
||||||
|
local os=linux
|
||||||
|
|
||||||
|
case ${2} in
|
||||||
|
*-macos) os=mac ;;
|
||||||
|
*-solaris) os=solaris ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [[ ${3} == musl ]]; then
|
||||||
|
os=alpine-linux
|
||||||
|
musl=true
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "${2-$1}? (
|
||||||
|
${musl:+ elibc_musl? ( }
|
||||||
|
${baseuri}/OpenJDK${SLOT}U-jdk_${1}_${os}_hotspot_${MY_PV//+/_}.tar.gz
|
||||||
|
${musl:+ ) } )"
|
||||||
|
}
|
||||||
|
|
||||||
|
MY_PV=${PV/_p/+}
|
||||||
|
SLOT=$(ver_cut 1)
|
||||||
|
|
||||||
|
SRC_URI="
|
||||||
|
$(abi_uri aarch64 arm64)
|
||||||
|
$(abi_uri arm)
|
||||||
|
$(abi_uri x64 amd64)
|
||||||
|
"
|
||||||
|
# $(abi_uri ppc64le ppc64)
|
||||||
|
# $(abi_uri x64 amd64 musl)
|
||||||
|
# $(abi_uri aarch64 arm64-macos)
|
||||||
|
# $(abi_uri x64 x64-macos)
|
||||||
|
|
||||||
|
DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin"
|
||||||
|
HOMEPAGE="https://adoptium.net"
|
||||||
|
LICENSE="GPL-2-with-classpath-exception"
|
||||||
|
KEYWORDS="amd64 ~arm arm64"
|
||||||
|
#KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x64-macos"
|
||||||
|
IUSE="alsa cups headless-awt selinux source"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
>=sys-apps/baselayout-java-0.1.0-r1
|
||||||
|
kernel_linux? (
|
||||||
|
media-libs/fontconfig:1.0
|
||||||
|
media-libs/freetype:2
|
||||||
|
media-libs/harfbuzz
|
||||||
|
elibc_glibc? ( >=sys-libs/glibc-2.2.5:* )
|
||||||
|
elibc_musl? ( sys-libs/musl )
|
||||||
|
sys-libs/zlib
|
||||||
|
alsa? ( media-libs/alsa-lib )
|
||||||
|
cups? ( net-print/cups )
|
||||||
|
selinux? ( sec-policy/selinux-java )
|
||||||
|
!headless-awt? (
|
||||||
|
x11-libs/libX11
|
||||||
|
x11-libs/libXext
|
||||||
|
x11-libs/libXi
|
||||||
|
x11-libs/libXrender
|
||||||
|
x11-libs/libXtst
|
||||||
|
)
|
||||||
|
)"
|
||||||
|
|
||||||
|
RESTRICT="preserve-libs splitdebug"
|
||||||
|
QA_PREBUILT="*"
|
||||||
|
|
||||||
|
S="${WORKDIR}/jdk-${MY_PV}"
|
||||||
|
|
||||||
|
pkg_pretend() {
|
||||||
|
if [[ "$(tc-is-softfloat)" != "no" ]]; then
|
||||||
|
die "These binaries require a hardfloat system."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_unpack() {
|
||||||
|
default
|
||||||
|
if [[ ${A} == *_mac_* ]] ; then
|
||||||
|
mv -v "${S}/Contents/Home/"* "${S}" || die
|
||||||
|
rm -Rf "${S}/Contents" # drop macOS executable
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
local dest="/opt/${P}"
|
||||||
|
local ddest="${ED}/${dest#/}"
|
||||||
|
|
||||||
|
# on macOS if they would exist they would be called .dylib, but most
|
||||||
|
# importantly, there are no different providers, so everything
|
||||||
|
# that's shipped works.
|
||||||
|
if [[ ${A} != *_mac_* ]] ; then
|
||||||
|
# Not sure why they bundle this as it's commonly available and they
|
||||||
|
# only do so on x86_64. It's needed by libfontmanager.so. IcedTea
|
||||||
|
# also has an explicit dependency while Oracle seemingly dlopens it.
|
||||||
|
rm -vf lib/libfreetype.so || die
|
||||||
|
|
||||||
|
# prefer system copy # https://bugs.gentoo.org/776676
|
||||||
|
rm -vf lib/libharfbuzz.so || die
|
||||||
|
|
||||||
|
# Oracle and IcedTea have libjsoundalsa.so depending on
|
||||||
|
# libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
|
||||||
|
if ! use alsa ; then
|
||||||
|
rm -v lib/libjsound.* || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use headless-awt ; then
|
||||||
|
rm -v lib/lib*{[jx]awt,splashscreen}* || die
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! use source ; then
|
||||||
|
rm -v lib/src.zip || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -v lib/security/cacerts || die
|
||||||
|
dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
|
||||||
|
|
||||||
|
dodir "${dest}"
|
||||||
|
cp -pPR * "${ddest}" || die
|
||||||
|
|
||||||
|
# provide stable symlink
|
||||||
|
dosym "${P}" "/opt/${PN}-${SLOT}"
|
||||||
|
|
||||||
|
java-vm_install-env "${FILESDIR}"/${PN}.env.sh
|
||||||
|
java-vm_set-pax-markings "${ddest}"
|
||||||
|
java-vm_revdep-mask
|
||||||
|
java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
java-vm-2_pkg_postinst
|
||||||
|
}
|
@ -0,0 +1,133 @@
|
|||||||
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit java-vm-2
|
||||||
|
|
||||||
|
abi_uri() {
|
||||||
|
local baseuri="https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk${MY_PV}"
|
||||||
|
local musl=
|
||||||
|
local os=linux
|
||||||
|
|
||||||
|
case ${2} in
|
||||||
|
*-macos) os=mac ;;
|
||||||
|
*-solaris) os=solaris ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [[ ${3} == musl ]]; then
|
||||||
|
os=alpine-linux
|
||||||
|
musl=true
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "${2-$1}? (
|
||||||
|
${musl:+ elibc_musl? ( }
|
||||||
|
${baseuri}/OpenJDK${SLOT}U-jdk_${1}_${os}_hotspot_${MY_PV//-/}.tar.gz
|
||||||
|
${musl:+ ) } )"
|
||||||
|
}
|
||||||
|
|
||||||
|
MY_PV=$(ver_rs 1 'u' 2 '-' ${PV//p/b})
|
||||||
|
SLOT=$(ver_cut 1)
|
||||||
|
|
||||||
|
DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin"
|
||||||
|
HOMEPAGE="https://adoptium.net"
|
||||||
|
SRC_URI="
|
||||||
|
$(abi_uri x64 amd64)
|
||||||
|
$(abi_uri x64 x64-macos)
|
||||||
|
"
|
||||||
|
# uncomment after tarballs appear at https://adoptium.net/temurin/releases/?version=8
|
||||||
|
# $(abi_uri arm)
|
||||||
|
# $(abi_uri aarch64 arm64)
|
||||||
|
# $(abi_uri ppc64le ppc64)
|
||||||
|
# $(abi_uri x64 amd64 musl)
|
||||||
|
|
||||||
|
LICENSE="GPL-2-with-classpath-exception"
|
||||||
|
KEYWORDS="amd64 ~x64-macos"
|
||||||
|
#KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x64-macos"
|
||||||
|
|
||||||
|
IUSE="alsa cups examples headless-awt selinux source"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
>=sys-apps/baselayout-java-0.1.0-r1
|
||||||
|
kernel_linux? (
|
||||||
|
media-libs/fontconfig:1.0
|
||||||
|
media-libs/freetype:2
|
||||||
|
elibc_glibc? ( >=sys-libs/glibc-2.2.5:* )
|
||||||
|
elibc_musl? ( sys-libs/musl )
|
||||||
|
sys-libs/zlib
|
||||||
|
alsa? ( media-libs/alsa-lib )
|
||||||
|
arm? ( dev-libs/libffi-compat:6 )
|
||||||
|
cups? ( net-print/cups )
|
||||||
|
selinux? ( sec-policy/selinux-java )
|
||||||
|
!headless-awt? (
|
||||||
|
x11-libs/libX11
|
||||||
|
x11-libs/libXext
|
||||||
|
x11-libs/libXi
|
||||||
|
x11-libs/libXrender
|
||||||
|
x11-libs/libXtst
|
||||||
|
)
|
||||||
|
)
|
||||||
|
"
|
||||||
|
|
||||||
|
RESTRICT="preserve-libs strip"
|
||||||
|
QA_PREBUILT="*"
|
||||||
|
|
||||||
|
S="${WORKDIR}/jdk${MY_PV}"
|
||||||
|
|
||||||
|
src_unpack() {
|
||||||
|
default
|
||||||
|
# 753575
|
||||||
|
if use arm; then
|
||||||
|
mv -v "${S}"* "${S}" || die
|
||||||
|
elif [[ ${A} == *_mac_* ]] ; then
|
||||||
|
mv -v "${S}/Contents/Home/"* "${S}" || die
|
||||||
|
rm -Rf "${S}/Contents" # drop macOS executable
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
local dest="/opt/${P}"
|
||||||
|
local ddest="${ED}/${dest#/}"
|
||||||
|
|
||||||
|
rm ASSEMBLY_EXCEPTION LICENSE THIRD_PARTY_README || die
|
||||||
|
|
||||||
|
# on macOS if they would exist they would be called .dylib, but most
|
||||||
|
# importantly, there are no different providers, so everything
|
||||||
|
# that's shipped works.
|
||||||
|
if [[ ${A} != *_mac_* ]] ; then
|
||||||
|
# this does not exist on arm64 hence -f
|
||||||
|
rm -fv jre/lib/*/libfreetype.so* || die
|
||||||
|
|
||||||
|
if ! use alsa ; then
|
||||||
|
rm -v jre/lib/*/libjsoundalsa.so* || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! use examples ; then
|
||||||
|
rm -vr sample || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use headless-awt ; then
|
||||||
|
rm -fvr {,jre/}lib/*/lib*{[jx]awt,splashscreen}* \
|
||||||
|
{,jre/}bin/policytool bin/appletviewer || die
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! use source ; then
|
||||||
|
rm -v src.zip || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -v jre/lib/security/cacerts || die
|
||||||
|
dosym ../../../../../etc/ssl/certs/java/cacerts \
|
||||||
|
"${dest}"/jre/lib/security/cacerts
|
||||||
|
|
||||||
|
dodir "${dest}"
|
||||||
|
cp -pPR * "${ddest}" || die
|
||||||
|
|
||||||
|
# provide stable symlink
|
||||||
|
dosym "${P}" "/opt/${PN}-${SLOT}"
|
||||||
|
|
||||||
|
java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
|
||||||
|
java-vm_set-pax-markings "${ddest}"
|
||||||
|
java-vm_revdep-mask
|
||||||
|
java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
|
||||||
|
}
|
@ -1,11 +1,6 @@
|
|||||||
DIST OpenJDK11U-jre_x64_linux_hotspot_11.0.14_9.tar.gz 42435138 BLAKE2B 0f972a78221b74be4b8c87845f52d331eb6caf84eef06d291d0cd25ce4357b7072f938fd0390a9c54647d4ddcfe4c0184ddf84583e017e1bf78338b7939437bc SHA512 9ee64498d83d16cefc5a155393d9477bb78338d43a3b4b1699f4358644415a6be5601f7b2a87a82f2a95cafd6485b6db7b30bd0d21096110211b942e95deed64
|
|
||||||
DIST OpenJDK11U-jre_x64_linux_hotspot_11.0.15_10.tar.gz 42471028 BLAKE2B a88fa041ffdcedabbcdadbb1eb4a0052456666ba779eb0f82bc27ea7f2923a1b2e538d14d5f615869e456b1bce48859211134c6bd9d31c2c082068686b68fd59 SHA512 a8a8a9c9f243aaf9b051bd0c35009ec96a28dcf47b53139dd59891a5ff2ced590e56961edb093cf67b8239d92a4b407f631b389fdff986fdb746316f420abf34
|
DIST OpenJDK11U-jre_x64_linux_hotspot_11.0.15_10.tar.gz 42471028 BLAKE2B a88fa041ffdcedabbcdadbb1eb4a0052456666ba779eb0f82bc27ea7f2923a1b2e538d14d5f615869e456b1bce48859211134c6bd9d31c2c082068686b68fd59 SHA512 a8a8a9c9f243aaf9b051bd0c35009ec96a28dcf47b53139dd59891a5ff2ced590e56961edb093cf67b8239d92a4b407f631b389fdff986fdb746316f420abf34
|
||||||
DIST OpenJDK11U-jre_x64_linux_hotspot_11.0.16.1_1.tar.gz 42705612 BLAKE2B 02b0239a613f0738c7980105cd8595c0bbf456ba13f669dd11071313260d1fdbe1bc0c91e9fc9252cb04078ec7da36fdb4cf8a3408d1afdb7298f88bb75a75d8 SHA512 21af841b9e14ea32e13dd45fb2e693c0dfcbf65e99ebaaee44f14188c8b30c2cd76de816dc184b7bc9f376b26ab6bb9741be84f37bb99bec4dc381aa7ce9ada9
|
DIST OpenJDK11U-jre_x64_linux_hotspot_11.0.18_10.tar.gz 42824761 BLAKE2B 481317f316bac10e098d706a04e94b57bad4388c94168da27403e18489f66d322177f7f9b59c5ebdfc6f3e70080550f6f5e5fc922e9b21a9a59dcc60116243be SHA512 07a0483b4536129974706ee79864e9fd737810b396a605170e68c74dacdb3c65e10ccde9073e8ec0c907709172dd2e08e7c454a5bd88cf0e92f879ace1eedbd0
|
||||||
DIST OpenJDK11U-jre_x64_linux_hotspot_11.0.17_8.tar.gz 42827817 BLAKE2B b904eb70da1ef73def0475c379bc91790e348cad830783cbd492c386498a5d09bdf8f117614b53c6a708c0aaa5881dd300b144e2d71e99cfa14fe99a05059d11 SHA512 4866c5f06b92e7e82e4427ec012a6e1421ba5e5aaf8624cb683ff86f950eb15f5d32962b585047d571f8a54e6a5df31f222eec15d530bcc4713c63d612d20d7f
|
|
||||||
DIST OpenJDK17U-jre_x64_linux_hotspot_17.0.3_7.tar.gz 45971131 BLAKE2B dc8a358b10b0d3a6fac60f340ee5224c348aa4b2683e5f7b3396eaca180a12212260d45b8347b472f80671ef86a91f764727897146e4d36bc08b24c7920635fa SHA512 27da884a807c980386b7295f7ea5e253c03b497eff6e21e0cb35ea050552eaf9a3f71060cbd1a2f0cd6069a55ae00b43e46edcf09ab36c142587ea2ab781ad14
|
DIST OpenJDK17U-jre_x64_linux_hotspot_17.0.3_7.tar.gz 45971131 BLAKE2B dc8a358b10b0d3a6fac60f340ee5224c348aa4b2683e5f7b3396eaca180a12212260d45b8347b472f80671ef86a91f764727897146e4d36bc08b24c7920635fa SHA512 27da884a807c980386b7295f7ea5e253c03b497eff6e21e0cb35ea050552eaf9a3f71060cbd1a2f0cd6069a55ae00b43e46edcf09ab36c142587ea2ab781ad14
|
||||||
DIST OpenJDK17U-jre_x64_linux_hotspot_17.0.4.1_1.tar.gz 45941557 BLAKE2B 877a194672bfb950203d466191c1c220fffcca86559c0179c573e85152b9e63d253891989ed825181f3e034dd9d6f5cfba10986cf1c019e7faf73ad9a89bee48 SHA512 0bea14d42df99771e8e02f705f9233fc666904667607ca66e47be57fb09131b0a9d70b7bd4cc5b322805cc09cb14ad711db60348e9d17f9714884006185a928c
|
DIST OpenJDK17U-jre_x64_linux_hotspot_17.0.6_10.tar.gz 46078462 BLAKE2B 2d0bc958f64da82e82b3a8a9d6bc686ecd2a09943e851f0f1a8efcec7cf0135b76a65abfa7f1175d09bc42583d151a4161d891a9861050751ae0c8aa4b1bbdc2 SHA512 253a030ab87e949091b24bacd638a91c673d775e76f3a83e8ab0c1824f697516405fe8fcf7d3b460bd25ddbb441685fa396b390e7ab8bc802294ea36b4700fac
|
||||||
DIST OpenJDK17U-jre_x64_linux_hotspot_17.0.5_8.tar.gz 46080826 BLAKE2B b6c92f8bad0f8806f7138da0cbb79876b32d0abd0be8fc25c016e555a7c8a9297d63b85ee4c778a812e5fa3bce7b48e320285f4dec93a6176498ab52d111632a SHA512 6d228cadc7ecf46deb571124870a6d37604759024de1e4e1df9f45c86d988326a91799e3ede866a1fa564b5d73ccf859888f640bf6a9c8c0596f6ac75c4a8241
|
|
||||||
DIST OpenJDK8U-jre_x64_linux_hotspot_8u322b06.tar.gz 41317897 BLAKE2B b96b39d4b3f7fe54f9b04698d4f24879ce617e61ade298b7de1472cb85fbf7d5f297f009c0e881a17bcdaf9baaf3187acef531b0ace97a1f2ab099811995c815 SHA512 4a3acc1330056011f0097aaca77858779e2c89d214598ef66736956984204b8de804549e42c51f8392806753f3d534d34ad93ef6df9f2f45a369e04f6a0694ac
|
|
||||||
DIST OpenJDK8U-jre_x64_linux_hotspot_8u332b09.tar.gz 41336220 BLAKE2B 52eb9aa2623335bca7be71d1aca6b4292a029554ef9f9e0e1209a7fa0892931c37b670f9f90586d4ff3cd35540a3a7cb230f20789481836d20f04d4cfcc56596 SHA512 c62002aa1a28547b0b0cefea3f83af2cf6507002bf296b1b83bd04406f4c362f4c74940209ebbd3803513395bec7503882aac7f8d35dcbf6a6e02e9155a53cdd
|
DIST OpenJDK8U-jre_x64_linux_hotspot_8u332b09.tar.gz 41336220 BLAKE2B 52eb9aa2623335bca7be71d1aca6b4292a029554ef9f9e0e1209a7fa0892931c37b670f9f90586d4ff3cd35540a3a7cb230f20789481836d20f04d4cfcc56596 SHA512 c62002aa1a28547b0b0cefea3f83af2cf6507002bf296b1b83bd04406f4c362f4c74940209ebbd3803513395bec7503882aac7f8d35dcbf6a6e02e9155a53cdd
|
||||||
DIST OpenJDK8U-jre_x64_linux_hotspot_8u345b01.tar.gz 41336188 BLAKE2B 05c1ff3f0561410dafb88f1ce1486decbe56f528cebde4f5d05d589e5a7c706e84bf23f89cda68b19212dbd9b109546a7b78b407a8453c9f040b9e95f5f9c35f SHA512 15cb0be04c9a516476405107fc472470b4576b3893aca8f926b8f007fcb21b6eba1d87a52a806ec698cb3a8b17bae8f557445e9201be2f2d7246a67e28df0be4
|
DIST OpenJDK8U-jre_x64_linux_hotspot_8u362b09.tar.gz 41359704 BLAKE2B ae4238725544b03abdc32f82fcb1e13fe2aba460c13a48ccc8ccd608f1e8b0f5ac6036b06e941e89b936f01250a4fc3f6fb0f9d7eb5ae9129b8cd5de6c1da33a SHA512 6cb0bdc28596e23807f3e7f31c40f095d20395492bf30dae26a735686f82d9d216110403d59c769700a23dd3187a2603832bd84204051800d474af24c68c8cbc
|
||||||
DIST OpenJDK8U-jre_x64_linux_hotspot_8u352b08.tar.gz 41349408 BLAKE2B 98b4b57f6839b09bff112894360587f5bc745506830795d9329e1db26cf676a77cf7d06813e850c44619b1b03d86926b98bdc4f3672d2bb73c1dbb081ad47bae SHA512 36f76d74d69afc488e3d992f5f97d522c22736999904a6045205da9d514bd02d5f00e21e8e5344632d80fd85d50a8496c9950bea368b9a6b332cd5062134d2b5
|
|
||||||
|
@ -1,83 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
inherit java-vm-2
|
|
||||||
|
|
||||||
abi_uri() {
|
|
||||||
echo "${2-$1}? (
|
|
||||||
https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/OpenJDK${SLOT}U-jre_${1}_linux_hotspot_${MY_PV//+/_}.tar.gz
|
|
||||||
)"
|
|
||||||
}
|
|
||||||
|
|
||||||
MY_PV=${PV/_p/+}
|
|
||||||
SLOT=${MY_PV%%[.+]*}
|
|
||||||
|
|
||||||
SRC_URI="
|
|
||||||
$(abi_uri x64 amd64)
|
|
||||||
"
|
|
||||||
|
|
||||||
DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin"
|
|
||||||
HOMEPAGE="https://adoptopenjdk.net"
|
|
||||||
LICENSE="GPL-2-with-classpath-exception"
|
|
||||||
KEYWORDS="amd64"
|
|
||||||
IUSE="alsa cups +gentoo-vm headless-awt selinux"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
media-libs/fontconfig:1.0
|
|
||||||
media-libs/freetype:2
|
|
||||||
>net-libs/libnet-1.1
|
|
||||||
>=sys-apps/baselayout-java-0.1.0-r1
|
|
||||||
>=sys-libs/glibc-2.2.5:*
|
|
||||||
sys-libs/zlib
|
|
||||||
alsa? ( media-libs/alsa-lib )
|
|
||||||
cups? ( net-print/cups )
|
|
||||||
selinux? ( sec-policy/selinux-java )
|
|
||||||
!headless-awt? (
|
|
||||||
x11-libs/libX11
|
|
||||||
x11-libs/libXext
|
|
||||||
x11-libs/libXi
|
|
||||||
x11-libs/libXrender
|
|
||||||
x11-libs/libXtst
|
|
||||||
)"
|
|
||||||
|
|
||||||
RESTRICT="preserve-libs splitdebug"
|
|
||||||
QA_PREBUILT="*"
|
|
||||||
|
|
||||||
S="${WORKDIR}/jdk-${MY_PV}-jre"
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
local dest="/opt/${PN}-${SLOT}"
|
|
||||||
local ddest="${ED}/${dest#/}"
|
|
||||||
|
|
||||||
# Not sure why they bundle this as it's commonly available and they
|
|
||||||
# only do so on x86_64. It's needed by libfontmanager.so. IcedTea
|
|
||||||
# also has an explicit dependency while Oracle seemingly dlopens it.
|
|
||||||
rm -vf lib/libfreetype.so || die
|
|
||||||
|
|
||||||
# Oracle and IcedTea have libjsoundalsa.so depending on
|
|
||||||
# libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
|
|
||||||
if ! use alsa ; then
|
|
||||||
rm -v lib/libjsound.* || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use headless-awt ; then
|
|
||||||
rm -v lib/lib*{[jx]awt,splashscreen}* || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -v lib/security/cacerts || die
|
|
||||||
dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
|
|
||||||
|
|
||||||
dodir "${dest}"
|
|
||||||
cp -pPR * "${ddest}" || die
|
|
||||||
|
|
||||||
java-vm_install-env "${FILESDIR}"/${PN}.env.sh
|
|
||||||
java-vm_set-pax-markings "${ddest}"
|
|
||||||
java-vm_revdep-mask
|
|
||||||
java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
java-vm-2_pkg_postinst
|
|
||||||
}
|
|
@ -1,83 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
inherit java-vm-2
|
|
||||||
|
|
||||||
abi_uri() {
|
|
||||||
echo "${2-$1}? (
|
|
||||||
https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/OpenJDK${SLOT}U-jre_${1}_linux_hotspot_${MY_PV//+/_}.tar.gz
|
|
||||||
)"
|
|
||||||
}
|
|
||||||
|
|
||||||
MY_PV=${PV/_p/+}
|
|
||||||
SLOT=${MY_PV%%[.+]*}
|
|
||||||
|
|
||||||
SRC_URI="
|
|
||||||
$(abi_uri x64 amd64)
|
|
||||||
"
|
|
||||||
|
|
||||||
DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin"
|
|
||||||
HOMEPAGE="https://adoptopenjdk.net"
|
|
||||||
LICENSE="GPL-2-with-classpath-exception"
|
|
||||||
KEYWORDS="~amd64"
|
|
||||||
IUSE="alsa cups headless-awt selinux"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
media-libs/fontconfig:1.0
|
|
||||||
media-libs/freetype:2
|
|
||||||
>net-libs/libnet-1.1
|
|
||||||
>=sys-apps/baselayout-java-0.1.0-r1
|
|
||||||
>=sys-libs/glibc-2.2.5:*
|
|
||||||
sys-libs/zlib
|
|
||||||
alsa? ( media-libs/alsa-lib )
|
|
||||||
cups? ( net-print/cups )
|
|
||||||
selinux? ( sec-policy/selinux-java )
|
|
||||||
!headless-awt? (
|
|
||||||
x11-libs/libX11
|
|
||||||
x11-libs/libXext
|
|
||||||
x11-libs/libXi
|
|
||||||
x11-libs/libXrender
|
|
||||||
x11-libs/libXtst
|
|
||||||
)"
|
|
||||||
|
|
||||||
RESTRICT="preserve-libs splitdebug"
|
|
||||||
QA_PREBUILT="*"
|
|
||||||
|
|
||||||
S="${WORKDIR}/jdk-${MY_PV}-jre"
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
local dest="/opt/${PN}-${SLOT}"
|
|
||||||
local ddest="${ED}/${dest#/}"
|
|
||||||
|
|
||||||
# Not sure why they bundle this as it's commonly available and they
|
|
||||||
# only do so on x86_64. It's needed by libfontmanager.so. IcedTea
|
|
||||||
# also has an explicit dependency while Oracle seemingly dlopens it.
|
|
||||||
rm -vf lib/libfreetype.so || die
|
|
||||||
|
|
||||||
# Oracle and IcedTea have libjsoundalsa.so depending on
|
|
||||||
# libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
|
|
||||||
if ! use alsa ; then
|
|
||||||
rm -v lib/libjsound.* || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use headless-awt ; then
|
|
||||||
rm -v lib/lib*{[jx]awt,splashscreen}* || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -v lib/security/cacerts || die
|
|
||||||
dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
|
|
||||||
|
|
||||||
dodir "${dest}"
|
|
||||||
cp -pPR * "${ddest}" || die
|
|
||||||
|
|
||||||
java-vm_install-env "${FILESDIR}"/${PN}.env.sh
|
|
||||||
java-vm_set-pax-markings "${ddest}"
|
|
||||||
java-vm_revdep-mask
|
|
||||||
java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
java-vm-2_pkg_postinst
|
|
||||||
}
|
|
@ -1,83 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
inherit java-vm-2
|
|
||||||
|
|
||||||
abi_uri() {
|
|
||||||
echo "${2-$1}? (
|
|
||||||
https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/OpenJDK${SLOT}U-jre_${1}_linux_hotspot_${MY_PV//+/_}.tar.gz
|
|
||||||
)"
|
|
||||||
}
|
|
||||||
|
|
||||||
MY_PV=${PV/_p/+}
|
|
||||||
SLOT=${MY_PV%%[.+]*}
|
|
||||||
|
|
||||||
SRC_URI="
|
|
||||||
$(abi_uri x64 amd64)
|
|
||||||
"
|
|
||||||
|
|
||||||
DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin"
|
|
||||||
HOMEPAGE="https://adoptopenjdk.net"
|
|
||||||
LICENSE="GPL-2-with-classpath-exception"
|
|
||||||
KEYWORDS="~amd64"
|
|
||||||
IUSE="alsa cups headless-awt selinux"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
media-libs/fontconfig:1.0
|
|
||||||
media-libs/freetype:2
|
|
||||||
>net-libs/libnet-1.1
|
|
||||||
>=sys-apps/baselayout-java-0.1.0-r1
|
|
||||||
>=sys-libs/glibc-2.2.5:*
|
|
||||||
sys-libs/zlib
|
|
||||||
alsa? ( media-libs/alsa-lib )
|
|
||||||
cups? ( net-print/cups )
|
|
||||||
selinux? ( sec-policy/selinux-java )
|
|
||||||
!headless-awt? (
|
|
||||||
x11-libs/libX11
|
|
||||||
x11-libs/libXext
|
|
||||||
x11-libs/libXi
|
|
||||||
x11-libs/libXrender
|
|
||||||
x11-libs/libXtst
|
|
||||||
)"
|
|
||||||
|
|
||||||
RESTRICT="preserve-libs splitdebug"
|
|
||||||
QA_PREBUILT="*"
|
|
||||||
|
|
||||||
S="${WORKDIR}/jdk-${MY_PV}-jre"
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
local dest="/opt/${PN}-${SLOT}"
|
|
||||||
local ddest="${ED}/${dest#/}"
|
|
||||||
|
|
||||||
# Not sure why they bundle this as it's commonly available and they
|
|
||||||
# only do so on x86_64. It's needed by libfontmanager.so. IcedTea
|
|
||||||
# also has an explicit dependency while Oracle seemingly dlopens it.
|
|
||||||
rm -vf lib/libfreetype.so || die
|
|
||||||
|
|
||||||
# Oracle and IcedTea have libjsoundalsa.so depending on
|
|
||||||
# libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
|
|
||||||
if ! use alsa ; then
|
|
||||||
rm -v lib/libjsound.* || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use headless-awt ; then
|
|
||||||
rm -v lib/lib*{[jx]awt,splashscreen}* || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -v lib/security/cacerts || die
|
|
||||||
dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
|
|
||||||
|
|
||||||
dodir "${dest}"
|
|
||||||
cp -pPR * "${ddest}" || die
|
|
||||||
|
|
||||||
java-vm_install-env "${FILESDIR}"/${PN}.env.sh
|
|
||||||
java-vm_set-pax-markings "${ddest}"
|
|
||||||
java-vm_revdep-mask
|
|
||||||
java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
java-vm-2_pkg_postinst
|
|
||||||
}
|
|
@ -1,82 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
inherit java-vm-2
|
|
||||||
|
|
||||||
abi_uri() {
|
|
||||||
echo "${2-$1}? (
|
|
||||||
https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk${MY_PV}/OpenJDK8U-jre_${1}_linux_hotspot_${MY_PV/-/}.tar.gz
|
|
||||||
)"
|
|
||||||
}
|
|
||||||
|
|
||||||
MY_PV=$(ver_rs 1 'u' 2 '-' ${PV//p/b})
|
|
||||||
SLOT="$(ver_cut 1)"
|
|
||||||
|
|
||||||
DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin"
|
|
||||||
HOMEPAGE="https://adoptium.net"
|
|
||||||
SRC_URI="
|
|
||||||
$(abi_uri x64 amd64)
|
|
||||||
"
|
|
||||||
|
|
||||||
LICENSE="GPL-2-with-classpath-exception"
|
|
||||||
KEYWORDS="~amd64"
|
|
||||||
|
|
||||||
IUSE="alsa cups headless-awt selinux"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
media-libs/fontconfig:1.0
|
|
||||||
media-libs/freetype:2
|
|
||||||
>net-libs/libnet-1.1
|
|
||||||
>=sys-apps/baselayout-java-0.1.0-r1
|
|
||||||
>=sys-libs/glibc-2.2.5:*
|
|
||||||
sys-libs/zlib
|
|
||||||
alsa? ( media-libs/alsa-lib )
|
|
||||||
cups? ( net-print/cups )
|
|
||||||
selinux? ( sec-policy/selinux-java )
|
|
||||||
!headless-awt? (
|
|
||||||
x11-libs/libX11
|
|
||||||
x11-libs/libXext
|
|
||||||
x11-libs/libXi
|
|
||||||
x11-libs/libXrender
|
|
||||||
x11-libs/libXtst
|
|
||||||
)"
|
|
||||||
|
|
||||||
RESTRICT="preserve-libs splitdebug"
|
|
||||||
QA_PREBUILT="*"
|
|
||||||
|
|
||||||
S="${WORKDIR}/jdk${MY_PV}-jre"
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
local dest="/opt/${P}"
|
|
||||||
local ddest="${ED}/${dest#/}"
|
|
||||||
|
|
||||||
rm ASSEMBLY_EXCEPTION LICENSE THIRD_PARTY_README || die
|
|
||||||
|
|
||||||
# this does not exist on arm64 hence -f
|
|
||||||
rm -fv lib/*/libfreetype.so* || die
|
|
||||||
|
|
||||||
if ! use alsa ; then
|
|
||||||
rm -v lib/*/libjsoundalsa.so* || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use headless-awt ; then
|
|
||||||
rm -fvr lib/*/lib*{[jx]awt,splashscreen}* \
|
|
||||||
bin/policytool || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -v lib/security/cacerts || die
|
|
||||||
dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
|
|
||||||
|
|
||||||
dodir "${dest}"
|
|
||||||
cp -pPR * "${ddest}" || die
|
|
||||||
|
|
||||||
# provide stable symlink
|
|
||||||
dosym "${P}" "/opt/${PN}-${SLOT}"
|
|
||||||
|
|
||||||
java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
|
|
||||||
java-vm_set-pax-markings "${ddest}"
|
|
||||||
java-vm_revdep-mask
|
|
||||||
java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
|
|
||||||
}
|
|
@ -1,82 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
inherit java-vm-2
|
|
||||||
|
|
||||||
abi_uri() {
|
|
||||||
echo "${2-$1}? (
|
|
||||||
https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk${MY_PV}/OpenJDK8U-jre_${1}_linux_hotspot_${MY_PV/-/}.tar.gz
|
|
||||||
)"
|
|
||||||
}
|
|
||||||
|
|
||||||
MY_PV=$(ver_rs 1 'u' 2 '-' ${PV//p/b})
|
|
||||||
SLOT="$(ver_cut 1)"
|
|
||||||
|
|
||||||
DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin"
|
|
||||||
HOMEPAGE="https://adoptium.net"
|
|
||||||
SRC_URI="
|
|
||||||
$(abi_uri x64 amd64)
|
|
||||||
"
|
|
||||||
|
|
||||||
LICENSE="GPL-2-with-classpath-exception"
|
|
||||||
KEYWORDS="~amd64"
|
|
||||||
|
|
||||||
IUSE="alsa cups headless-awt selinux"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
media-libs/fontconfig:1.0
|
|
||||||
media-libs/freetype:2
|
|
||||||
>net-libs/libnet-1.1
|
|
||||||
>=sys-apps/baselayout-java-0.1.0-r1
|
|
||||||
>=sys-libs/glibc-2.2.5:*
|
|
||||||
sys-libs/zlib
|
|
||||||
alsa? ( media-libs/alsa-lib )
|
|
||||||
cups? ( net-print/cups )
|
|
||||||
selinux? ( sec-policy/selinux-java )
|
|
||||||
!headless-awt? (
|
|
||||||
x11-libs/libX11
|
|
||||||
x11-libs/libXext
|
|
||||||
x11-libs/libXi
|
|
||||||
x11-libs/libXrender
|
|
||||||
x11-libs/libXtst
|
|
||||||
)"
|
|
||||||
|
|
||||||
RESTRICT="preserve-libs splitdebug"
|
|
||||||
QA_PREBUILT="*"
|
|
||||||
|
|
||||||
S="${WORKDIR}/jdk${MY_PV}-jre"
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
local dest="/opt/${P}"
|
|
||||||
local ddest="${ED}/${dest#/}"
|
|
||||||
|
|
||||||
rm ASSEMBLY_EXCEPTION LICENSE THIRD_PARTY_README || die
|
|
||||||
|
|
||||||
# this does not exist on arm64 hence -f
|
|
||||||
rm -fv lib/*/libfreetype.so* || die
|
|
||||||
|
|
||||||
if ! use alsa ; then
|
|
||||||
rm -v lib/*/libjsoundalsa.so* || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use headless-awt ; then
|
|
||||||
rm -fvr lib/*/lib*{[jx]awt,splashscreen}* \
|
|
||||||
bin/policytool || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -v lib/security/cacerts || die
|
|
||||||
dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
|
|
||||||
|
|
||||||
dodir "${dest}"
|
|
||||||
cp -pPR * "${ddest}" || die
|
|
||||||
|
|
||||||
# provide stable symlink
|
|
||||||
dosym "${P}" "/opt/${PN}-${SLOT}"
|
|
||||||
|
|
||||||
java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
|
|
||||||
java-vm_set-pax-markings "${ddest}"
|
|
||||||
java-vm_revdep-mask
|
|
||||||
java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
|
|
||||||
}
|
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=8
|
EAPI=8
|
Binary file not shown.
@ -0,0 +1,11 @@
|
|||||||
|
--- a/libpolyml/xwindows.cpp 2023-01-22 10:40:35.855024465 +0100
|
||||||
|
+++ b/libpolyml/xwindows.cpp 2023-01-22 10:41:00.798613288 +0100
|
||||||
|
@@ -7274,7 +7274,7 @@
|
||||||
|
: printf("Old Display <%p>",P.AsAddress()));
|
||||||
|
return;
|
||||||
|
|
||||||
|
- default: printf("Pointer "ZERO_X"%p",P.AsAddress());
|
||||||
|
+ default: printf("Pointer %p",P.AsAddress());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
@ -1,3 +1,2 @@
|
|||||||
DIST dqlite-1.12.0.tar.gz 181709 BLAKE2B efb35aa9d0c348cd55eb190e27ad155b7d748ccbcb80822f33ce4589d56bc0090f5c0703d769e7090bb8da1b8908cbd73d1076568108661d5b85e55103795a9f SHA512 2a3dc17fcaa0ec2fc5481d3ff57a7bee42c8930f0e6ac7030d51e1a61ae3ce4d7b24f47921b29602a65353c1a51931a82d9af302ee580b19bdce561e6547e940
|
|
||||||
DIST dqlite-1.13.0.tar.gz 190627 BLAKE2B 02880a112a7b070ee19653b60f19dbb49030b1d0d1bd3671577137ce281fd1af9c135f138d692fcc1c14592972cc9321198b3a2003fa0e81829c8ae462604964 SHA512 da56c622c75dcdc1df814d2b7acfeb08cb046fa7b74691d63575ddb3d30f91b441b8f58cc72466872b4c5e0028706b6505846d8f3d06583be844baefdd85f8a9
|
DIST dqlite-1.13.0.tar.gz 190627 BLAKE2B 02880a112a7b070ee19653b60f19dbb49030b1d0d1bd3671577137ce281fd1af9c135f138d692fcc1c14592972cc9321198b3a2003fa0e81829c8ae462604964 SHA512 da56c622c75dcdc1df814d2b7acfeb08cb046fa7b74691d63575ddb3d30f91b441b8f58cc72466872b4c5e0028706b6505846d8f3d06583be844baefdd85f8a9
|
||||||
DIST dqlite-1.14.0.tar.gz 190757 BLAKE2B 5304ff10134c7775c4475f77bbe60cc6892cc35c3f2a7b4813743cd27fc1176a1d513d66ebf22b47ed7e83fa833be1408f44f781fbd8200bfd3f4465ea1d6011 SHA512 4305b289903766f00c26e278cce3f761c778b67105a6d7e51e66cc1cbf85564fd41f27689b6895c6f182968d851e10a40d052570d55e22007e9eb5c2929dabd9
|
DIST dqlite-1.14.0.tar.gz 190757 BLAKE2B 5304ff10134c7775c4475f77bbe60cc6892cc35c3f2a7b4813743cd27fc1176a1d513d66ebf22b47ed7e83fa833be1408f44f781fbd8200bfd3f4465ea1d6011 SHA512 4305b289903766f00c26e278cce3f761c778b67105a6d7e51e66cc1cbf85564fd41f27689b6895c6f182968d851e10a40d052570d55e22007e9eb5c2929dabd9
|
||||||
|
@ -1,45 +0,0 @@
|
|||||||
# Copyright 2020-2023 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
inherit autotools
|
|
||||||
|
|
||||||
DESCRIPTION="Embeddable, replicated and fault tolerant SQL engine"
|
|
||||||
HOMEPAGE="https://dqlite.io/ https://github.com/canonical/dqlite"
|
|
||||||
SRC_URI="https://github.com/canonical/dqlite/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="LGPL-3-with-linking-exception"
|
|
||||||
SLOT="0/1.12.0"
|
|
||||||
KEYWORDS="amd64 ~arm64 ~x86"
|
|
||||||
IUSE="test"
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
|
|
||||||
RDEPEND="dev-db/sqlite:3
|
|
||||||
dev-libs/libuv:=
|
|
||||||
>=dev-libs/raft-0.14.0"
|
|
||||||
DEPEND="${RDEPEND}
|
|
||||||
test? ( >=dev-libs/raft-0.13.0[lz4,test] )"
|
|
||||||
BDEPEND="virtual/pkgconfig"
|
|
||||||
|
|
||||||
PATCHES=( "${FILESDIR}"/dqlite-1.12.0-disable-werror.patch )
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
default
|
|
||||||
eautoreconf
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
local myeconfargs=(
|
|
||||||
--disable-debug
|
|
||||||
--disable-sanitize
|
|
||||||
--disable-static
|
|
||||||
)
|
|
||||||
|
|
||||||
econf "${myeconfargs[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
default
|
|
||||||
find "${ED}" -name '*.la' -delete || die
|
|
||||||
}
|
|
@ -1,3 +1,4 @@
|
|||||||
DIST flatbuffers-2.0.6.tar.gz 1724250 BLAKE2B b6969b28dba753c4551b33d27409d9925c10a640ae860264f8054c19a470ce3da366c0bf7917bf7fe4f6cb57acbfbe1837f175fde40b84d311df6d1378d146ce SHA512 be631f34064c28d81876bf137c796e9736623cf2cc4f2a05dd45372e7195729c99fad1fa795f8ce71a408756a842edbdc0c3bc714a7cf63203a1de8681d86fb6
|
DIST flatbuffers-2.0.6.tar.gz 1724250 BLAKE2B b6969b28dba753c4551b33d27409d9925c10a640ae860264f8054c19a470ce3da366c0bf7917bf7fe4f6cb57acbfbe1837f175fde40b84d311df6d1378d146ce SHA512 be631f34064c28d81876bf137c796e9736623cf2cc4f2a05dd45372e7195729c99fad1fa795f8ce71a408756a842edbdc0c3bc714a7cf63203a1de8681d86fb6
|
||||||
DIST flatbuffers-22.12.06.gh.tar.gz 2172096 BLAKE2B 92bf0c56c10fa369e7a8a53a7f903af6b5f17560a3558587914c29ab8a655f3ee078c3e261426ca5d9ad0587419d4f0049459edc552e25958f80b80ba9539d59 SHA512 1b2c8eaa2ebeb92c3ebc363888b34b817d7b62a568e40bce2b037814f1f0103d4cb7db8507ec9ca05421be61b0b2be3edd6c4d564f75d1ce39278d73f8442ac1
|
DIST flatbuffers-22.12.06.gh.tar.gz 2172096 BLAKE2B 92bf0c56c10fa369e7a8a53a7f903af6b5f17560a3558587914c29ab8a655f3ee078c3e261426ca5d9ad0587419d4f0049459edc552e25958f80b80ba9539d59 SHA512 1b2c8eaa2ebeb92c3ebc363888b34b817d7b62a568e40bce2b037814f1f0103d4cb7db8507ec9ca05421be61b0b2be3edd6c4d564f75d1ce39278d73f8442ac1
|
||||||
|
DIST flatbuffers-23.1.21.gh.tar.gz 2181861 BLAKE2B 6368358c21e677feb466245a746b86cebb6d6a4058bb6d593de81bf3c32ddfb9fd475e4bb225d4529ea106253456a5ed1ee6d024b1e2521e02efef171750f428 SHA512 fa62188f773ad044644a58caf1e25bef417dfdea47c9da8a2ea7f997154b4f3976019e32e73cc533696a3d4e45ec4a8402b6df140878dfa2ff078740d61b4b0f
|
||||||
DIST flatbuffers-23.1.4.gh.tar.gz 2178791 BLAKE2B 8c354c539378f7d8e05307f7ba0f5393265a6183fc8868d48b8da5ab7d39a3e7a7f85631db00f0dc57bf396d20652049303a79fbf31f07639d80596d300a7701 SHA512 8b3e1b9596a76548faca529fe5070e775be50bfdea079ba4f66014f5a1bfb93f8edd7e56f97363c897d2db8391277a9099a61d14e4298c3669ab7068bbf07865
|
DIST flatbuffers-23.1.4.gh.tar.gz 2178791 BLAKE2B 8c354c539378f7d8e05307f7ba0f5393265a6183fc8868d48b8da5ab7d39a3e7a7f85631db00f0dc57bf396d20652049303a79fbf31f07639d80596d300a7701 SHA512 8b3e1b9596a76548faca529fe5070e775be50bfdea079ba4f66014f5a1bfb93f8edd7e56f97363c897d2db8391277a9099a61d14e4298c3669ab7068bbf07865
|
||||||
|
@ -0,0 +1,35 @@
|
|||||||
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit cmake
|
||||||
|
|
||||||
|
DESCRIPTION="Memory efficient serialization library"
|
||||||
|
HOMEPAGE="
|
||||||
|
https://google.github.io/flatbuffers/
|
||||||
|
https://github.com/google/flatbuffers/
|
||||||
|
"
|
||||||
|
SRC_URI="
|
||||||
|
https://github.com/google/flatbuffers/archive/v${PV}.tar.gz
|
||||||
|
-> ${P}.gh.tar.gz
|
||||||
|
"
|
||||||
|
|
||||||
|
LICENSE="Apache-2.0"
|
||||||
|
SLOT="0/${PV}"
|
||||||
|
KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
|
||||||
|
IUSE="static-libs test"
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
DOCS=( readme.md )
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
local mycmakeargs=(
|
||||||
|
-DFLATBUFFERS_BUILD_FLATLIB=$(usex static-libs)
|
||||||
|
-DFLATBUFFERS_BUILD_SHAREDLIB=ON
|
||||||
|
-DFLATBUFFERS_BUILD_TESTS=$(usex test)
|
||||||
|
-DFLATBUFFERS_BUILD_BENCHMARKS=OFF
|
||||||
|
)
|
||||||
|
|
||||||
|
cmake_src_configure
|
||||||
|
}
|
@ -1,3 +1,4 @@
|
|||||||
DIST glib-2.74.3-patches-2.tar.xz 23576 BLAKE2B f3746bdf961890d9f4e7ad20b107b83b7ceb8dcc36e288c1d526bac31a0e1dd9d1f13323f512355085c77d186ad66c3f52c1154f34c1d6fd6a5e64a074b2920c SHA512 945c131c27f02044db6154f0a63f458d6317c8a4e841fb392947b16756e25d92adeb2b34d793c9e19441b825d1aee71ae9b08fdcbefa1bc9de1d5af9e903e82c
|
DIST glib-2.74.3-patches-2.tar.xz 23576 BLAKE2B f3746bdf961890d9f4e7ad20b107b83b7ceb8dcc36e288c1d526bac31a0e1dd9d1f13323f512355085c77d186ad66c3f52c1154f34c1d6fd6a5e64a074b2920c SHA512 945c131c27f02044db6154f0a63f458d6317c8a4e841fb392947b16756e25d92adeb2b34d793c9e19441b825d1aee71ae9b08fdcbefa1bc9de1d5af9e903e82c
|
||||||
DIST glib-2.74.3.tar.xz 5181732 BLAKE2B 46c37be9519866af040b2aaf35129a9cfae6e2c74636c01755b901002fa77f4e2305025691d7a8279acfbae1298a4b5b1e095b333bed3b067e9820547b6eca97 SHA512 a9aa7e84187abb57aeeff9c7f4c4125be742a510ae5d39b6b62696ad1a715c36b353c6c14222caeb1e87bed930fb54184dba77118b991c42f1857a292c6aa77b
|
DIST glib-2.74.3.tar.xz 5181732 BLAKE2B 46c37be9519866af040b2aaf35129a9cfae6e2c74636c01755b901002fa77f4e2305025691d7a8279acfbae1298a4b5b1e095b333bed3b067e9820547b6eca97 SHA512 a9aa7e84187abb57aeeff9c7f4c4125be742a510ae5d39b6b62696ad1a715c36b353c6c14222caeb1e87bed930fb54184dba77118b991c42f1857a292c6aa77b
|
||||||
DIST glib-2.74.4.tar.xz 5208484 BLAKE2B 01a2818e63469019abcd1215fa85521b9a2e55644040e8fe2797f68cabe897a191ae2c1cc2ab75d5ba9980d63adbfc00636b295ee942d70579e7eba1e1f49502 SHA512 912f6b0559fcb5ad55fa36837a348228b8e2498c490271204ced9f2e4a9eab804de4745f3ec439a198eb275d7263f18bc670f45460e2be55a2cbe45466b02fc6
|
DIST glib-2.74.4.tar.xz 5208484 BLAKE2B 01a2818e63469019abcd1215fa85521b9a2e55644040e8fe2797f68cabe897a191ae2c1cc2ab75d5ba9980d63adbfc00636b295ee942d70579e7eba1e1f49502 SHA512 912f6b0559fcb5ad55fa36837a348228b8e2498c490271204ced9f2e4a9eab804de4745f3ec439a198eb275d7263f18bc670f45460e2be55a2cbe45466b02fc6
|
||||||
|
DIST glib-2.74.5.tar.xz 5211852 BLAKE2B 5bf0069cbf949a946357127682e4f687c7e7b8565037024a232b3e905e65bebb86d016832b6274f743005ec8fe5fcd31eaf99ccece82d9d7c3f924d17502c409 SHA512 2716e0fe984cc5d0714e91fe0de47ee71a8bd0b4c85caee337ddb7e02ac2fb3c8c007ccc1207b29cf901c30a7ec8e3bcca75d69c6fab2a32a8cf14bff974e614
|
||||||
|
@ -0,0 +1,287 @@
|
|||||||
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
PYTHON_REQ_USE="xml(+)"
|
||||||
|
PYTHON_COMPAT=( python3_{9..11} )
|
||||||
|
|
||||||
|
inherit flag-o-matic gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
|
||||||
|
|
||||||
|
DESCRIPTION="The GLib library of C routines"
|
||||||
|
HOMEPAGE="https://www.gtk.org/"
|
||||||
|
|
||||||
|
LICENSE="LGPL-2.1+"
|
||||||
|
SLOT="2"
|
||||||
|
IUSE="dbus debug +elf gtk-doc +mime selinux static-libs sysprof systemtap test utils xattr"
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
#REQUIRED_USE="gtk-doc? ( test )" # Bug #777636
|
||||||
|
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||||
|
|
||||||
|
# * elfutils (via libelf) does not build on Windows. gresources are not embedded
|
||||||
|
# within ELF binaries on that platform anyway and inspecting ELF binaries from
|
||||||
|
# other platforms is not that useful so exclude the dependency in this case.
|
||||||
|
# * Technically static-libs is needed on zlib, util-linux and perhaps more, but
|
||||||
|
# these are used by GIO, which glib[static-libs] consumers don't really seem
|
||||||
|
# to need at all, thus not imposing the deps for now and once some consumers
|
||||||
|
# are actually found to static link libgio-2.0.a, we can revisit and either add
|
||||||
|
# them or just put the (build) deps in that rare consumer instead of recursive
|
||||||
|
# RDEPEND here (due to lack of recursive DEPEND).
|
||||||
|
RDEPEND="
|
||||||
|
!<dev-util/gdbus-codegen-${PV}
|
||||||
|
>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
|
||||||
|
>=dev-libs/libpcre2-10.32:0=[${MULTILIB_USEDEP},unicode(+),static-libs?]
|
||||||
|
>=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
|
||||||
|
>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
|
||||||
|
>=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
|
||||||
|
kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] )
|
||||||
|
selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
|
||||||
|
xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) )
|
||||||
|
elf? ( virtual/libelf:0= )
|
||||||
|
sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[${MULTILIB_USEDEP}] )
|
||||||
|
"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
# libxml2 used for optional tests that get automatically skipped
|
||||||
|
BDEPEND="
|
||||||
|
app-text/docbook-xsl-stylesheets
|
||||||
|
dev-libs/libxslt
|
||||||
|
>=sys-devel/gettext-0.19.8
|
||||||
|
gtk-doc? ( >=dev-util/gtk-doc-1.33
|
||||||
|
app-text/docbook-xml-dtd:4.2
|
||||||
|
app-text/docbook-xml-dtd:4.5 )
|
||||||
|
systemtap? ( >=dev-util/systemtap-1.3 )
|
||||||
|
${PYTHON_DEPS}
|
||||||
|
test? ( >=sys-apps/dbus-1.2.14 )
|
||||||
|
virtual/pkgconfig
|
||||||
|
"
|
||||||
|
# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen
|
||||||
|
|
||||||
|
PDEPEND="
|
||||||
|
dbus? ( gnome-base/dconf )
|
||||||
|
mime? ( x11-misc/shared-mime-info )
|
||||||
|
"
|
||||||
|
# shared-mime-info needed for gio/xdgmime, bug #409481
|
||||||
|
# dconf is needed to be able to save settings, bug #498436
|
||||||
|
|
||||||
|
MULTILIB_CHOST_TOOLS=(
|
||||||
|
/usr/bin/gio-querymodules$(get_exeext)
|
||||||
|
)
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
if use kernel_linux ; then
|
||||||
|
CONFIG_CHECK="~INOTIFY_USER"
|
||||||
|
if use test ; then
|
||||||
|
CONFIG_CHECK="~IPV6"
|
||||||
|
WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
|
||||||
|
fi
|
||||||
|
linux-info_pkg_setup
|
||||||
|
fi
|
||||||
|
python-any-r1_pkg_setup
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
if use test; then
|
||||||
|
# TODO: Review the test exclusions, especially now with meson
|
||||||
|
# Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
|
||||||
|
if ! has_version dev-util/desktop-file-utils ; then
|
||||||
|
ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
|
||||||
|
ewarn "think on installing it to get these tests run."
|
||||||
|
sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
|
||||||
|
sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# gdesktopappinfo requires existing terminal (gnome-terminal or any
|
||||||
|
# other), falling back to xterm if one doesn't exist
|
||||||
|
#if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
|
||||||
|
# ewarn "Some tests will be skipped due to missing terminal program"
|
||||||
|
# These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson
|
||||||
|
# Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready for backport (or in a bump) and file new issue if still fails
|
||||||
|
sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
|
||||||
|
# desktop-app-info/launch* might fail similarly
|
||||||
|
sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die
|
||||||
|
#fi
|
||||||
|
|
||||||
|
# https://bugzilla.gnome.org/show_bug.cgi?id=722604
|
||||||
|
sed -i -e "/timer\/stop/d" glib/tests/timer.c || die
|
||||||
|
sed -i -e "/timer\/basic/d" glib/tests/timer.c || die
|
||||||
|
|
||||||
|
ewarn "Tests for search-utils have been skipped"
|
||||||
|
sed -i -e "/search-utils/d" glib/tests/meson.build || die
|
||||||
|
|
||||||
|
# Play nice with network-sandbox, but this approach would defeat the purpose of the test
|
||||||
|
#sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die
|
||||||
|
else
|
||||||
|
# Don't build tests, also prevents extra deps, bug #512022
|
||||||
|
sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Don't build fuzzing binaries - not used
|
||||||
|
sed -i -e '/subdir.*fuzzing/d' meson.build || die
|
||||||
|
|
||||||
|
# gdbus-codegen is a separate package
|
||||||
|
sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die
|
||||||
|
|
||||||
|
# Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon
|
||||||
|
sed -i -e '/install_dir/d' gio/tests/meson.build || die
|
||||||
|
|
||||||
|
cat > "${T}/glib-test-ld-wrapper" <<-EOF
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
exec \${LD:-ld} "\$@"
|
||||||
|
EOF
|
||||||
|
chmod a+x "${T}/glib-test-ld-wrapper" || die
|
||||||
|
sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die
|
||||||
|
|
||||||
|
default
|
||||||
|
gnome2_environment_reset
|
||||||
|
# TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_configure() {
|
||||||
|
if use debug; then
|
||||||
|
append-cflags -DG_ENABLE_DEBUG
|
||||||
|
else
|
||||||
|
append-cflags -DG_DISABLE_CAST_CHECKS # https://gitlab.gnome.org/GNOME/glib/issues/1833
|
||||||
|
fi
|
||||||
|
|
||||||
|
# TODO: figure a way to pass appropriate values for all cross properties that glib uses (search for get_cross_property)
|
||||||
|
#if tc-is-cross-compiler ; then
|
||||||
|
# https://bugzilla.gnome.org/show_bug.cgi?id=756473
|
||||||
|
# TODO-meson: This should be in meson cross file as 'growing_stack' property; and more, look at get_cross_property
|
||||||
|
#case ${CHOST} in
|
||||||
|
#hppa*|metag*) export glib_cv_stack_grows=yes ;;
|
||||||
|
#*) export glib_cv_stack_grows=no ;;
|
||||||
|
#esac
|
||||||
|
#fi
|
||||||
|
|
||||||
|
local emesonargs=(
|
||||||
|
-Ddefault_library=$(usex static-libs both shared)
|
||||||
|
$(meson_feature selinux)
|
||||||
|
$(meson_use xattr)
|
||||||
|
-Dlibmount=enabled # only used if host_system == 'linux'
|
||||||
|
-Dman=true
|
||||||
|
$(meson_use systemtap dtrace)
|
||||||
|
$(meson_use systemtap)
|
||||||
|
$(meson_feature sysprof)
|
||||||
|
$(meson_native_use_bool gtk-doc gtk_doc)
|
||||||
|
$(meson_use test tests)
|
||||||
|
-Dinstalled_tests=false
|
||||||
|
-Dnls=enabled
|
||||||
|
-Doss_fuzz=disabled
|
||||||
|
$(meson_native_use_feature elf libelf)
|
||||||
|
-Dmultiarch=false
|
||||||
|
)
|
||||||
|
meson_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_test() {
|
||||||
|
export XDG_CONFIG_DIRS=/etc/xdg
|
||||||
|
export XDG_DATA_DIRS=/usr/local/share:/usr/share
|
||||||
|
export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
|
||||||
|
export LC_TIME=C # bug #411967
|
||||||
|
export TZ=UTC
|
||||||
|
unset GSETTINGS_BACKEND # bug #596380
|
||||||
|
python_setup
|
||||||
|
|
||||||
|
# https://bugs.gentoo.org/839807
|
||||||
|
local -x SANDBOX_PREDICT=${SANDBOX_PREDICT}
|
||||||
|
addpredict /usr/b
|
||||||
|
|
||||||
|
# Related test is a bit nitpicking
|
||||||
|
mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
|
||||||
|
chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
|
||||||
|
|
||||||
|
meson_src_test --timeout-multiplier 2 --no-suite flaky
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install() {
|
||||||
|
meson_src_install
|
||||||
|
keepdir /usr/$(get_libdir)/gio/modules
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install_all() {
|
||||||
|
# These are installed by dev-util/glib-utils
|
||||||
|
# TODO: With patching we might be able to get rid of the python-any deps and removals, and test depend on glib-utils instead; revisit now with meson
|
||||||
|
rm "${ED}/usr/bin/glib-genmarshal" || die
|
||||||
|
rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die
|
||||||
|
rm "${ED}/usr/bin/glib-mkenums" || die
|
||||||
|
rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die
|
||||||
|
rm "${ED}/usr/bin/gtester-report" || die
|
||||||
|
rm "${ED}/usr/share/man/man1/gtester-report.1" || die
|
||||||
|
# gdbus-codegen manpage installed by dev-util/gdbus-codegen
|
||||||
|
rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_preinst() {
|
||||||
|
xdg_pkg_preinst
|
||||||
|
|
||||||
|
# Make gschemas.compiled belong to glib alone
|
||||||
|
local cache="/usr/share/glib-2.0/schemas/gschemas.compiled"
|
||||||
|
|
||||||
|
if [[ -e ${EROOT}${cache} ]]; then
|
||||||
|
cp "${EROOT}"${cache} "${ED}"/${cache} || die
|
||||||
|
else
|
||||||
|
touch "${ED}"${cache} || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
multilib_pkg_preinst() {
|
||||||
|
# Make giomodule.cache belong to glib alone
|
||||||
|
local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache"
|
||||||
|
|
||||||
|
if [[ -e ${EROOT}${cache} ]]; then
|
||||||
|
cp "${EROOT}"${cache} "${ED}"${cache} || die
|
||||||
|
else
|
||||||
|
touch "${ED}"${cache} || die
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
|
||||||
|
# file due to inability to create it and GIO might not look at any of the modules there
|
||||||
|
if ! tc-is-cross-compiler ; then
|
||||||
|
multilib_foreach_abi multilib_pkg_preinst
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
xdg_pkg_postinst
|
||||||
|
# glib installs no schemas itself, but we force update for fresh install in case
|
||||||
|
# something has dropped in a schemas file without direct glib dep; and for upgrades
|
||||||
|
# in case the compiled schema format could have changed
|
||||||
|
gnome2_schemas_update
|
||||||
|
|
||||||
|
multilib_pkg_postinst() {
|
||||||
|
gnome2_giomodule_cache_update \
|
||||||
|
|| die "Update GIO modules cache failed (for ${ABI})"
|
||||||
|
}
|
||||||
|
if ! tc-is-cross-compiler ; then
|
||||||
|
multilib_foreach_abi multilib_pkg_postinst
|
||||||
|
else
|
||||||
|
ewarn "Updating of GIO modules cache skipped due to cross-compilation."
|
||||||
|
ewarn "You might want to run gio-querymodules manually on the target for"
|
||||||
|
ewarn "your final image for performance reasons and re-run it when packages"
|
||||||
|
ewarn "installing GIO modules get upgraded or added to the image."
|
||||||
|
fi
|
||||||
|
|
||||||
|
for v in ${REPLACING_VERSIONS}; do
|
||||||
|
if ver_test "$v" "-lt" "2.63.6"; then
|
||||||
|
ewarn "glib no longer installs the gio-launch-desktop binary. You may need"
|
||||||
|
ewarn "to restart your session for \"Open With\" dialogs to work."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
xdg_pkg_postrm
|
||||||
|
gnome2_schemas_update
|
||||||
|
|
||||||
|
if [[ -z ${REPLACED_BY_VERSION} ]]; then
|
||||||
|
multilib_pkg_postrm() {
|
||||||
|
rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache
|
||||||
|
}
|
||||||
|
multilib_foreach_abi multilib_pkg_postrm
|
||||||
|
rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled
|
||||||
|
fi
|
||||||
|
}
|
Binary file not shown.
@ -1 +1,2 @@
|
|||||||
DIST gcl-2.6.13_pre99.tar.xz 10030460 BLAKE2B 8750d641062bcad5a124173013d38403f37ad352c7c436e89d4e329d997200be399a100dcefc4ce484e3f85f46e2dd90ee02947e5e728e001782e973c4122b0e SHA512 a3ad2bd639157ca2a80b534e87c169f6e07002a1b9ca8039483cff336af764123dec9e749da045b656b990e0a97c70881c798420ec4bd0e4494f43d0d040e413
|
DIST gcl-2.6.13_pre99.tar.xz 10030460 BLAKE2B 8750d641062bcad5a124173013d38403f37ad352c7c436e89d4e329d997200be399a100dcefc4ce484e3f85f46e2dd90ee02947e5e728e001782e973c4122b0e SHA512 a3ad2bd639157ca2a80b534e87c169f6e07002a1b9ca8039483cff336af764123dec9e749da045b656b990e0a97c70881c798420ec4bd0e4494f43d0d040e413
|
||||||
|
DIST gcl-2.6.14.tar.gz 11725385 BLAKE2B 3e6a7fc359f94897d1062f5e5e31a0ae36f5d24ca0155fd22044cb967f1fd6a0303572dafe25b1a7abbc936db4e8caa93d0e50b1779886e2ba40e148fa868b8f SHA512 1a69f5e8195783c88b618a613253da1089b13e390dd259056df52f1ed95cf0c99358c34d3782c8eb297c07fda74deb7db359e6b9bf94590ee7fc34e94742eb14
|
||||||
|
@ -0,0 +1,104 @@
|
|||||||
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
inherit elisp-common flag-o-matic
|
||||||
|
|
||||||
|
DESCRIPTION="GNU Common Lisp"
|
||||||
|
HOMEPAGE="https://www.gnu.org/software/gcl/gcl.html"
|
||||||
|
SRC_URI="https://ftp.gnu.org/gnu/${PN}/${P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="LGPL-2+ GPL-2+"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
|
||||||
|
IUSE="+ansi athena emacs +readline tk X"
|
||||||
|
RESTRICT="strip" #205803
|
||||||
|
|
||||||
|
RDEPEND="dev-libs/gmp
|
||||||
|
virtual/latex-base
|
||||||
|
emacs? ( app-editors/emacs:= )
|
||||||
|
readline? ( sys-libs/readline:= )
|
||||||
|
athena? ( x11-libs/libXaw )
|
||||||
|
tk? ( dev-lang/tk:= )
|
||||||
|
X? ( x11-libs/libXt x11-libs/libXext x11-libs/libXmu x11-libs/libXaw )"
|
||||||
|
DEPEND="${RDEPEND}
|
||||||
|
virtual/texi2dvi
|
||||||
|
app-text/texi2html
|
||||||
|
>=sys-devel/autoconf-2.52"
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
strip-flags
|
||||||
|
filter-flags -fstack-protector -fstack-protector-all
|
||||||
|
# breaks linking on multiple defined syms
|
||||||
|
#append-cflags $(test-flags-CC -fgnu89-inline)
|
||||||
|
|
||||||
|
local tcl=""
|
||||||
|
if use tk; then
|
||||||
|
tcl="--enable-tclconfig=/usr/lib --enable-tkconfig=/usr/lib"
|
||||||
|
fi
|
||||||
|
|
||||||
|
econf --enable-dynsysgmp \
|
||||||
|
--disable-xdr \
|
||||||
|
--enable-emacsdir=/usr/share/emacs/site-lisp/gcl \
|
||||||
|
$(use_enable readline) \
|
||||||
|
$(use_enable ansi) \
|
||||||
|
$(use_enable athena xgcl) \
|
||||||
|
$(use_with X x) \
|
||||||
|
${tcl}
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
emake -j1
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
local make_ansi_tests_clean="rm -f test.out *.fasl *.o *.so *~ *.fn *.x86f *.fasl *.ufsl"
|
||||||
|
if use ansi; then
|
||||||
|
cd ansi-tests
|
||||||
|
|
||||||
|
( make clean && make test-unixport ) \
|
||||||
|
|| die "make ansi-tests failed!"
|
||||||
|
|
||||||
|
cat "${FILESDIR}/bootstrap-gcl" \
|
||||||
|
| ../unixport/saved_ansi_gcl
|
||||||
|
|
||||||
|
cat "${FILESDIR}/bootstrap-gcl" \
|
||||||
|
|sed s/bootstrapped_ansi_gcl/bootstrapped_r_ansi_gcl/g \
|
||||||
|
| ./bootstrapped_ansi_gcl
|
||||||
|
|
||||||
|
( ${make_ansi_tests_clean} && \
|
||||||
|
echo "(load \"gclload.lsp\")" \
|
||||||
|
| ./bootstrapped_r_ansi_gcl ) \
|
||||||
|
|| die "Phase 2, bootstraped compiler failed in tests"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
emake DESTDIR="${D}" install
|
||||||
|
|
||||||
|
rm elisp/add-defaults.el
|
||||||
|
dodoc readme readme.gmp readme.xgcl ChangeLog doc/* info/*.pdf
|
||||||
|
dodoc -r info/gcl-si
|
||||||
|
doman man/man1/gcl.1
|
||||||
|
doinfo info/gcl.info* info/gcl-si.info
|
||||||
|
|
||||||
|
use athena && dodoc xgcl-2/*.pdf
|
||||||
|
|
||||||
|
if use tk; then
|
||||||
|
dodoc -r info/gcl-tk
|
||||||
|
doinfo info/gcl-tk.info*
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use emacs; then
|
||||||
|
elisp-site-file-install "${FILESDIR}"/64${PN}-gentoo.el
|
||||||
|
elisp-install ${PN} elisp/*.el
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
use emacs && elisp-site-regen
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
use emacs && elisp-site-regen
|
||||||
|
}
|
Binary file not shown.
@ -0,0 +1,12 @@
|
|||||||
|
--- a/compiler/Makefile 2023-01-21 22:23:29.676828969 +0100
|
||||||
|
+++ b/compiler/Makefile 2023-01-21 22:24:16.204141261 +0100
|
||||||
|
@@ -73,6 +73,9 @@
|
||||||
|
.ml.cmo:
|
||||||
|
$(CAMLCOMP) $(COMPFLAGS) -I ../support $<
|
||||||
|
|
||||||
|
+maincompile.cmo: copyright.cmo
|
||||||
|
+maincompile.cmx: copyright.cmx
|
||||||
|
+
|
||||||
|
depend: parser.ml parser.mli lexer.ml pplex.ml ppyac.ml ppyac.mli
|
||||||
|
$(CAMLDEP) *.mli *.ml > .depend
|
||||||
|
|
Binary file not shown.
@ -1 +1,2 @@
|
|||||||
|
DIST clint-0.5.1.gh.tar.gz 81140 BLAKE2B 5b42e7d46321f0416d3ffb51edf66c53476d3e4a211e971f36cab54a412f6b0f0ec26486c2b95871956ab09e7e4adf68e8329dd7e9e3c7ed1adb3f8a0dd2a728 SHA512 3ad8bfc587acb1322c7d7c3e73756a07c98f3b4215a3d4dc409b5a2067bc70dce2dd98d19250b8122b319b7bcf5e2859251de2829780345de06f93b35447c4e8
|
||||||
DIST clint-0.5.1.tar.gz 81140 BLAKE2B 5b42e7d46321f0416d3ffb51edf66c53476d3e4a211e971f36cab54a412f6b0f0ec26486c2b95871956ab09e7e4adf68e8329dd7e9e3c7ed1adb3f8a0dd2a728 SHA512 3ad8bfc587acb1322c7d7c3e73756a07c98f3b4215a3d4dc409b5a2067bc70dce2dd98d19250b8122b319b7bcf5e2859251de2829780345de06f93b35447c4e8
|
DIST clint-0.5.1.tar.gz 81140 BLAKE2B 5b42e7d46321f0416d3ffb51edf66c53476d3e4a211e971f36cab54a412f6b0f0ec26486c2b95871956ab09e7e4adf68e8329dd7e9e3c7ed1adb3f8a0dd2a728 SHA512 3ad8bfc587acb1322c7d7c3e73756a07c98f3b4215a3d4dc409b5a2067bc70dce2dd98d19250b8122b319b7bcf5e2859251de2829780345de06f93b35447c4e8
|
||||||
|
@ -0,0 +1,37 @@
|
|||||||
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
DISTUTILS_USE_PEP517=setuptools
|
||||||
|
PYTHON_COMPAT=( pypy3 python3_{9..11} )
|
||||||
|
|
||||||
|
inherit distutils-r1
|
||||||
|
|
||||||
|
DESCRIPTION="Python Command-line Application Tools"
|
||||||
|
HOMEPAGE="https://github.com/kennethreitz-archive/clint"
|
||||||
|
SRC_URI="
|
||||||
|
https://github.com/kennethreitz-archive/${PN}/archive/v${PV}.tar.gz
|
||||||
|
-> ${P}.gh.tar.gz
|
||||||
|
"
|
||||||
|
|
||||||
|
LICENSE="ISC"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
|
||||||
|
IUSE="examples"
|
||||||
|
|
||||||
|
# https://github.com/kennethreitz-archive/clint/pull/180
|
||||||
|
PATCHES=( "${FILESDIR}/${P}-disable-args-dependency.patch" )
|
||||||
|
|
||||||
|
distutils_enable_sphinx docs --no-autodoc
|
||||||
|
distutils_enable_tests pytest
|
||||||
|
|
||||||
|
python_install_all() {
|
||||||
|
if use examples; then
|
||||||
|
docompress -x "/usr/share/doc/${PF}/examples"
|
||||||
|
docinto examples
|
||||||
|
dodoc -r examples/.
|
||||||
|
fi
|
||||||
|
|
||||||
|
distutils-r1_python_install_all
|
||||||
|
}
|
@ -1,2 +1,3 @@
|
|||||||
DIST flatbuffers-22.12.06.gh.tar.gz 2172096 BLAKE2B 92bf0c56c10fa369e7a8a53a7f903af6b5f17560a3558587914c29ab8a655f3ee078c3e261426ca5d9ad0587419d4f0049459edc552e25958f80b80ba9539d59 SHA512 1b2c8eaa2ebeb92c3ebc363888b34b817d7b62a568e40bce2b037814f1f0103d4cb7db8507ec9ca05421be61b0b2be3edd6c4d564f75d1ce39278d73f8442ac1
|
DIST flatbuffers-22.12.06.gh.tar.gz 2172096 BLAKE2B 92bf0c56c10fa369e7a8a53a7f903af6b5f17560a3558587914c29ab8a655f3ee078c3e261426ca5d9ad0587419d4f0049459edc552e25958f80b80ba9539d59 SHA512 1b2c8eaa2ebeb92c3ebc363888b34b817d7b62a568e40bce2b037814f1f0103d4cb7db8507ec9ca05421be61b0b2be3edd6c4d564f75d1ce39278d73f8442ac1
|
||||||
|
DIST flatbuffers-23.1.21.gh.tar.gz 2181861 BLAKE2B 6368358c21e677feb466245a746b86cebb6d6a4058bb6d593de81bf3c32ddfb9fd475e4bb225d4529ea106253456a5ed1ee6d024b1e2521e02efef171750f428 SHA512 fa62188f773ad044644a58caf1e25bef417dfdea47c9da8a2ea7f997154b4f3976019e32e73cc533696a3d4e45ec4a8402b6df140878dfa2ff078740d61b4b0f
|
||||||
DIST flatbuffers-23.1.4.gh.tar.gz 2178791 BLAKE2B 8c354c539378f7d8e05307f7ba0f5393265a6183fc8868d48b8da5ab7d39a3e7a7f85631db00f0dc57bf396d20652049303a79fbf31f07639d80596d300a7701 SHA512 8b3e1b9596a76548faca529fe5070e775be50bfdea079ba4f66014f5a1bfb93f8edd7e56f97363c897d2db8391277a9099a61d14e4298c3669ab7068bbf07865
|
DIST flatbuffers-23.1.4.gh.tar.gz 2178791 BLAKE2B 8c354c539378f7d8e05307f7ba0f5393265a6183fc8868d48b8da5ab7d39a3e7a7f85631db00f0dc57bf396d20652049303a79fbf31f07639d80596d300a7701 SHA512 8b3e1b9596a76548faca529fe5070e775be50bfdea079ba4f66014f5a1bfb93f8edd7e56f97363c897d2db8391277a9099a61d14e4298c3669ab7068bbf07865
|
||||||
|
@ -0,0 +1,39 @@
|
|||||||
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
DISTUTILS_USE_PEP517=setuptools
|
||||||
|
PYTHON_COMPAT=( python3_{9..11} )
|
||||||
|
|
||||||
|
inherit distutils-r1
|
||||||
|
|
||||||
|
DESCRIPTION="RFC 7049 - Concise Binary Object Representation"
|
||||||
|
HOMEPAGE="
|
||||||
|
https://github.com/google/flatbuffers/
|
||||||
|
https://pypi.org/project/flatbuffers/
|
||||||
|
"
|
||||||
|
SRC_URI="
|
||||||
|
https://github.com/google/${PN}/archive/v${PV}.tar.gz
|
||||||
|
-> ${P}.gh.tar.gz
|
||||||
|
"
|
||||||
|
S=${WORKDIR}/${P}/python
|
||||||
|
|
||||||
|
LICENSE="Apache-2.0"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
|
||||||
|
IUSE="test"
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
BDEPEND="
|
||||||
|
test? (
|
||||||
|
dev-python/numpy[${PYTHON_USEDEP}]
|
||||||
|
)
|
||||||
|
"
|
||||||
|
|
||||||
|
python_test() {
|
||||||
|
cd "${WORKDIR}/${P}/tests" || die
|
||||||
|
# zeroes means without benchmarks
|
||||||
|
"${EPYTHON}" py_test.py 0 0 0 false || die
|
||||||
|
"${EPYTHON}" py_flexbuffers_test.py -v || die
|
||||||
|
}
|
@ -0,0 +1,64 @@
|
|||||||
|
# Copyright 2022-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
DISTUTILS_USE_PEP517=setuptools
|
||||||
|
PYTHON_COMPAT=( python3_{9..11} pypy3 )
|
||||||
|
|
||||||
|
inherit distutils-r1
|
||||||
|
|
||||||
|
DESCRIPTION="Install packages and run Python with them"
|
||||||
|
HOMEPAGE="
|
||||||
|
https://github.com/jaraco/pip-run/
|
||||||
|
https://pypi.org/project/pip-run/
|
||||||
|
"
|
||||||
|
SRC_URI="
|
||||||
|
https://github.com/jaraco/pip-run/archive/v${PV}.tar.gz
|
||||||
|
-> ${P}.gh.tar.gz
|
||||||
|
"
|
||||||
|
|
||||||
|
LICENSE="MIT"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~x86"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
dev-python/autocommand[${PYTHON_USEDEP}]
|
||||||
|
$(python_gen_cond_dep '
|
||||||
|
dev-python/importlib_resources[${PYTHON_USEDEP}]
|
||||||
|
' 3.8)
|
||||||
|
dev-python/jaraco-context[${PYTHON_USEDEP}]
|
||||||
|
dev-python/jaraco-functools[${PYTHON_USEDEP}]
|
||||||
|
dev-python/jaraco-text[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/more-itertools-8.3[${PYTHON_USEDEP}]
|
||||||
|
dev-python/packaging[${PYTHON_USEDEP}]
|
||||||
|
dev-python/path[${PYTHON_USEDEP}]
|
||||||
|
dev-python/pip[${PYTHON_USEDEP}]
|
||||||
|
dev-python/platformdirs[${PYTHON_USEDEP}]
|
||||||
|
"
|
||||||
|
BDEPEND="
|
||||||
|
test? (
|
||||||
|
dev-python/jaraco-path[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/jaraco-test-5.3[${PYTHON_USEDEP}]
|
||||||
|
dev-python/pygments[${PYTHON_USEDEP}]
|
||||||
|
$(python_gen_cond_dep '
|
||||||
|
dev-python/nbformat[${PYTHON_USEDEP}]
|
||||||
|
' 'python*')
|
||||||
|
)
|
||||||
|
"
|
||||||
|
|
||||||
|
distutils_enable_tests pytest
|
||||||
|
|
||||||
|
export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
|
||||||
|
|
||||||
|
python_test() {
|
||||||
|
local EPYTEST_IGNORE=()
|
||||||
|
|
||||||
|
if ! has_version "dev-python/nbformat[${PYTHON_USEDEP}]"; then
|
||||||
|
EPYTEST_IGNORE+=(
|
||||||
|
tests/test_scripts.py
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
epytest -m "not network"
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
DIST pkgcraft-0.0.3.tar.gz 1239742 BLAKE2B c9148d3ac34d80c47db5d1080b3806e6b64fffa226d595a11499215626342286efc19b86fd1e158a8ca0021ab8946d35e4393fceaf8a318c258114a6c2e1ffdf SHA512 53ae196d073271654807ef5587c38d83e10b606f59baf63e3c8da7ce1b1d80d7acd1e3e201ebba1346c14d101eded666d6ad9bdf972b36c574c9b494147baa4a
|
@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="person">
|
||||||
|
<email>sam@gentoo.org</email>
|
||||||
|
<name>Sam James</name>
|
||||||
|
</maintainer>
|
||||||
|
<maintainer type="project">
|
||||||
|
<email>python@gentoo.org</email>
|
||||||
|
</maintainer>
|
||||||
|
<upstream>
|
||||||
|
<remote-id type="github">pkgcraft/pkgcraft-python</remote-id>
|
||||||
|
<remote-id type="pypi">pkgcraft</remote-id>
|
||||||
|
</upstream>
|
||||||
|
</pkgmetadata>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue