Bump
This commit is contained in:
parent
ef4a06d6b1
commit
14f518e6c8
95
app-backup/insync/insync-3.9.6.60027.ebuild
Normal file
95
app-backup/insync/insync-3.9.6.60027.ebuild
Normal file
@ -0,0 +1,95 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit pax-utils rpm multilib xdg-utils
|
||||
|
||||
DESCRIPTION="Advanced cross-platform Google Drive client"
|
||||
HOMEPAGE="https://www.insynchq.com/"
|
||||
NAUTILUSPV="3.9.5.60024"
|
||||
DOLPHINPV="3.9.5.60024"
|
||||
THUNARPV="3.9.5.60024"
|
||||
NEMOPV="3.9.5.60024"
|
||||
CAJAPV="3.9.5.60024"
|
||||
EMBLEMPV="3.4.2.40983"
|
||||
SRC_URI="
|
||||
x86? ( http://s.insynchq.com/builds/insync-1.4.9.37127-fc25.i686.rpm )
|
||||
amd64? ( https://cdn.insynchq.com/builds/linux/${PV}/insync-${PV}-fc41.x86_64.rpm
|
||||
https://cdn.insynchq.com/builds/linux/${NAUTILUSPV}/insync-nautilus-${NAUTILUSPV}-1.noarch.rpm
|
||||
https://cdn.insynchq.com/builds/linux/${DOLPHINPV}/insync-dolphin-${DOLPHINPV}-1.noarch.rpm
|
||||
https://cdn.insynchq.com/builds/linux/${THUNARPV}/insync-thunar-${THUNARPV}-1.x86_64.rpm
|
||||
https://cdn.insynchq.com/builds/linux/${NEMOPV}/insync-nemo-${NEMOPV}-1.noarch.rpm
|
||||
https://cdn.insynchq.com/builds/linux/${CAJAPV}/insync-caja-${CAJAPV}-1.noarch.rpm
|
||||
http://yum.insync.io/fedora/35/noarch/${EMBLEMPV}/insync-emblem-icons-${EMBLEMPV}-1.noarch.rpm )"
|
||||
|
||||
|
||||
LICENSE="no-source-code"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
S="${WORKDIR}"
|
||||
#QA_PREBUILT=opt/skypeforlinux/skypeforlinux
|
||||
#QA_TEXTRELS=opt/skypeforlinux/resources/app.asar.unpacked/node_modules/slimcore/bin/slimcore.node
|
||||
#QA_EXECSTACK=opt/skypeforlinux/resources/app.asar.unpacked/node_modules/slimcore/bin/slimcore.node
|
||||
RESTRICT="mirror bindist strip" #299368
|
||||
RDEPEND="dev-qt/qtcore:5
|
||||
dev-qt/qtdeclarative:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtnetwork:5
|
||||
dev-qt/qtpositioning:5
|
||||
dev-qt/qtwebchannel:5
|
||||
dev-qt/qtwebengine:5
|
||||
dev-qt/qtvirtualkeyboard:5
|
||||
dev-qt/qtcharts:5
|
||||
dev-qt/qtlocation:5
|
||||
dev-qt/qtsensors:5
|
||||
dev-qt/qtbluetooth:5
|
||||
sys-libs/zlib
|
||||
|| ( sys-devel/base-gcc sys-devel/gcc )
|
||||
media-libs/libglvnd
|
||||
sys-libs/glibc
|
||||
dev-libs/libffi-compat
|
||||
>=dev-lang/python-3"
|
||||
|
||||
src_unpack() {
|
||||
rpm_src_unpack
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -e "s!/usr/lib/insync/insync!${EPREFIX}/opt/insync/insync!" \
|
||||
-i usr/bin/insync || die
|
||||
sed -e "s!^Exec=insync start!Exec=${EPREFIX}/opt/bin/insync start --ca-path=/etc/ssl/certs!" \
|
||||
-i usr/share/applications/insync.desktop || die
|
||||
sed -e "s!^Exec=insync!Exec=${EPREFIX}/opt/bin/insync!" \
|
||||
-i usr/share/applications/insync-helper.desktop || die
|
||||
sed -e "s!^Exec=insync!Exec=${EPREFIX}/opt/bin/insync!" \
|
||||
-i usr/share/kservices5/fileitemactioninsyncplugin.desktop || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodir /opt
|
||||
cp -a usr/lib/insync "${D}"/opt || die
|
||||
rm "${D}"/opt/insync/libsndfile.so.1
|
||||
|
||||
dodir /usr
|
||||
cp -a usr/share "${D}"/usr || die
|
||||
cp -a usr/$(get_libdir) "${D}"/usr || die
|
||||
|
||||
into /opt
|
||||
dobin usr/bin/insync
|
||||
|
||||
into /usr
|
||||
dobin usr/bin/insync
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
AUX 001_opencbm-0.4.99.98-ncurses6-1.patch 698 BLAKE2B 3d126aca22c4c1aa7cf6df35c41f1d32c8117aebcbc0fd10c7bd007dbb5752155b703b6a4585ba0a1ac5c3744e95b4b5e412c0d7834c5fcf4aa74d758b3f198d SHA512 a4b017a8bcbd698c01c9e695758826a4768bd316634a585f746460ec35bcffe67a76cd3e8f2ebcabf2eddbbb5e5dc5db2533f8d4881b1030b314253fc22264dd
|
||||
AUX Makefile 1003 BLAKE2B 9e6363f8fb20826f380bae087f461b0f87a2f118be223ca809c84dba7154c6493b8937d7a46437a1773afaf5ba58179d33f9599b0fc063ae53bd5f9984128fa5 SHA512 a15c0d5a962d183f6753844aad38ef111ba4c34a4a3c8f947142b7cb5f71868ed77e965317c5aed10b9e3b5a8cb978fdffd505dbc11a6868615e5f11b19b7bd1
|
||||
AUX Makefile 1089 BLAKE2B b011c132af72138147a558303c787efe2f584adf3697f681a0ca594e9220ec3d384cceece1172550cfe96c8f267b34c4f1e32d9b3999590a82b02667c72e800c SHA512 f16d7cfc2fd8dcbef211cef44ed03c3c0edb0a047be82b1116f999d6cbee765e5ded884181077e39a2074d001113fc88a5bae2a819b4e314d33bd30719dd909a
|
||||
DIST nibtools-20241120-source.tar.gz 119413 BLAKE2B c59a515147113865d3f75e1af2c54d9e08d93c95c389bbe9be71b0afb1079e3901cade612a6471af745826b5cd406694accc6d460e2e509b40d32f327f5f7b35 SHA512 5a8e34a379bf8ceeae80ba40a948b8c0577432122229ec3205e1829e8dfc041dfabead9e69919b15272a029ec82a91ef30025889ca0a6509ba28b1ec380a14c6
|
||||
DIST opencbm-0.4.99.104-source.tar.gz 13417312 BLAKE2B 1ba6e88c8765a161d6cb7a1c313c2db6cc885c616ac110c0833f59c93e2b2081e67ce730a7ead123a59b83133ddc2edf448de694c72ca582c3a155a463175027 SHA512 1c5c09ed2fd37a6db152eb9739739edee8b2200a4e02b219e982337eeb935cdac1125f59f235b5c3d1203bcd0701c2e9e35da9de921797f1617014f723de0faa
|
||||
EBUILD opencbm-0.4.99.104.ebuild 3360 BLAKE2B 48cfe65252d46ea862f88c9bf660d1da1ea4a97a729e164faed861a7e609f7f6f7cc33c57b2a3ad048047f142beac9dbf1545a469731cc474836815de615467a SHA512 b3b1e288737b9ab4e64d786b87cdba5d1db82a717a05794dbef398a80980a422d946ffcf57c0e3c4c4d6b0748e21f83db68ed9ac15f8e179a65aecf2652d4daa
|
||||
|
@ -15,7 +15,8 @@ $(MODULE_NAME)-objs = cbm_module.o
|
||||
ifneq ($(KERNELRELEASE),)
|
||||
obj-m := $(MODULE_NAME).o
|
||||
|
||||
EXTRA_CFLAGS += -I$(PWD)/../include -I$(PWD)/../../include -I$(PWD)/../../include/LINUX
|
||||
#EXTRA_CFLAGS += -I$(PWD)/../include -I$(PWD)/../../include -I$(PWD)/../../include/LINUX
|
||||
ccflags-y += -I$(src)/../include -I$(src)/../../include -I$(src)/../../include/LINUX
|
||||
|
||||
# Second pass, the actual build.
|
||||
else
|
||||
|
214
app-emulation/vice/files/vice-3.9-dupe-symbols.patch
Normal file
214
app-emulation/vice/files/vice-3.9-dupe-symbols.patch
Normal file
@ -0,0 +1,214 @@
|
||||
https://sourceforge.net/p/vice-emu/code/45435/
|
||||
|
||||
--- vice/src/Makefile.am
|
||||
+++ vice/src/Makefile.am
|
||||
@@ -594,6 +594,7 @@
|
||||
resid_lib = $(top_builddir)/src/resid/libresid.a
|
||||
resid_dtv_lib = $(top_builddir)/src/resid-dtv/libresiddtv.a
|
||||
rs232drv_lib = $(top_builddir)/src/rs232drv/librs232drv.a
|
||||
+rs232drvpet_lib = $(top_builddir)/src/rs232drv/librs232drvpet.a
|
||||
raster_lib = $(top_builddir)/src/raster/libraster.a
|
||||
rtc_lib = $(top_builddir)/src/core/rtc/librtc.a
|
||||
samplerdrv_lib = $(top_builddir)/src/samplerdrv/libsamplerdrv.a
|
||||
@@ -631,7 +632,7 @@
|
||||
# external libraries required for all emulators
|
||||
emu_extlibs = @UI_LIBS@ @SDL_EXTRA_LIBS@ @SOUND_LIBS@ @JOY_LIBS@ @GFXOUTPUT_LIBS@ @ZLIB_LIBS@ @DYNLIB_LIBS@ @ARCH_LIBS@ $(archdep_lib) $(linenoise_ng_lib)
|
||||
|
||||
-driver_libs = $(joyport_lib) $(samplerdrv_lib) $(sounddrv_lib) $(mididrv_lib) $(socketdrv_lib) $(hwsiddrv_lib) $(gfxoutputdrv_lib) $(printerdrv_lib) $(rs232drv_lib) $(diskimage_lib) $(fsdevice_lib) $(tape_lib) $(fileio_lib) $(serial_lib) $(core_lib)
|
||||
+driver_libs = $(joyport_lib) $(samplerdrv_lib) $(sounddrv_lib) $(mididrv_lib) $(socketdrv_lib) $(hwsiddrv_lib) $(gfxoutputdrv_lib) $(printerdrv_lib) $(diskimage_lib) $(fsdevice_lib) $(tape_lib) $(fileio_lib) $(serial_lib) $(core_lib)
|
||||
|
||||
if SUPPORT_X64
|
||||
x64_bin = x64
|
||||
@@ -716,6 +717,7 @@
|
||||
$(sid_lib) \
|
||||
$(monitor_lib) \
|
||||
$(driver_libs) \
|
||||
+ $(rs232drv_lib) \
|
||||
$(vicii_lib) \
|
||||
$(raster_lib) \
|
||||
$(userport_lib) \
|
||||
@@ -773,6 +775,7 @@
|
||||
$(sid_lib) \
|
||||
$(monitor_lib) \
|
||||
$(driver_libs) \
|
||||
+ $(rs232drv_lib) \
|
||||
$(viciisc_lib) \
|
||||
$(raster_lib) \
|
||||
$(userport_lib) \
|
||||
@@ -895,6 +898,7 @@
|
||||
$(sid_lib) \
|
||||
$(monitor_lib) \
|
||||
$(driver_libs) \
|
||||
+ $(rs232drv_lib) \
|
||||
$(viciisc_lib) \
|
||||
$(raster_lib) \
|
||||
$(userport_lib) \
|
||||
@@ -954,6 +958,7 @@
|
||||
$(sid_lib) \
|
||||
$(monitor_lib) \
|
||||
$(driver_libs) \
|
||||
+ $(rs232drv_lib) \
|
||||
$(vicii_lib) \
|
||||
$(vdc_lib) \
|
||||
$(raster_lib) \
|
||||
@@ -1011,6 +1016,7 @@
|
||||
$(monitor_lib) \
|
||||
$(sid_lib) \
|
||||
$(driver_libs) \
|
||||
+ $(rs232drv_lib) \
|
||||
$(raster_lib) \
|
||||
$(userport_lib) \
|
||||
$(diag_lib) \
|
||||
@@ -1063,6 +1069,7 @@
|
||||
$(monitor_lib) \
|
||||
$(sid_lib) \
|
||||
$(driver_libs) \
|
||||
+ $(rs232drvpet_lib) \
|
||||
$(crtc_lib) \
|
||||
$(raster_lib) \
|
||||
$(video_lib) \
|
||||
@@ -1122,6 +1129,7 @@
|
||||
$(monitor_lib) \
|
||||
$(sid_lib) \
|
||||
$(driver_libs) \
|
||||
+ $(rs232drv_lib) \
|
||||
$(raster_lib) \
|
||||
$(rtc_lib) \
|
||||
$(video_lib) \
|
||||
@@ -1180,6 +1188,7 @@
|
||||
$(monitor_lib) \
|
||||
$(sid_lib) \
|
||||
$(driver_libs) \
|
||||
+ $(rs232drvpet_lib) \
|
||||
$(crtc_lib) \
|
||||
$(raster_lib) \
|
||||
$(video_lib) \
|
||||
@@ -1236,6 +1245,7 @@
|
||||
$(xcbm5x0_lib) \
|
||||
$(sid_lib) \
|
||||
$(driver_libs) \
|
||||
+ $(rs232drv_lib) \
|
||||
$(vicii_lib) \
|
||||
$(raster_lib) \
|
||||
$(rtc_lib) \
|
||||
@@ -1540,8 +1550,11 @@
|
||||
@echo "making all in printerdrv"
|
||||
@(cd printerdrv && $(MAKE))
|
||||
$(rs232drv_lib):
|
||||
- @echo "making all in rs232drv"
|
||||
- @(cd rs232drv && $(MAKE))
|
||||
+ @echo "making librs232drv.a in rs232drv"
|
||||
+ @(cd rs232drv && $(MAKE) librs232drv.a)
|
||||
+$(rs232drvpet_lib):
|
||||
+ @echo "making librs232drvpet.a in rs232drv"
|
||||
+ @(cd rs232drv && $(MAKE) librs232drvpet.a)
|
||||
$(raster_lib):
|
||||
@echo "making libraster.a in raster"
|
||||
@(cd raster && $(MAKE) libraster.a)
|
||||
--- vice/src/c64/Makefile.am
|
||||
+++ vice/src/c64/Makefile.am
|
||||
@@ -216,8 +216,6 @@
|
||||
c64fastiec.h \
|
||||
c64keyboard.c \
|
||||
c64keyboard.h \
|
||||
- c64parallel.c \
|
||||
- c64parallel.h \
|
||||
c64rom.c \
|
||||
c64rom.h \
|
||||
c64romset.c \
|
||||
--- vice/src/c64dtv/c64dtv.c
|
||||
+++ vice/src/c64dtv/c64dtv.c
|
||||
@@ -89,7 +89,6 @@
|
||||
#include "protopad.h"
|
||||
#include "ps2mouse.h"
|
||||
#include "resources.h"
|
||||
-#include "rs232drv.h"
|
||||
#include "rushware_keypad.h"
|
||||
#include "sampler.h"
|
||||
#include "sampler2bit.h"
|
||||
@@ -422,10 +421,12 @@
|
||||
init_resource_fail("sid");
|
||||
return -1;
|
||||
}
|
||||
+#if 0
|
||||
if (rs232drv_resources_init() < 0) {
|
||||
init_resource_fail("rs232drv");
|
||||
return -1;
|
||||
}
|
||||
+#endif
|
||||
if (serial_resources_init() < 0) {
|
||||
init_resource_fail("serial");
|
||||
return -1;
|
||||
@@ -528,7 +529,9 @@
|
||||
flash_trap_resources_shutdown();
|
||||
c64dtv_resources_shutdown();
|
||||
c64dtvmem_resources_shutdown();
|
||||
+#if 0
|
||||
rs232drv_resources_shutdown();
|
||||
+#endif
|
||||
printer_resources_shutdown();
|
||||
drive_resources_shutdown();
|
||||
fsdevice_resources_shutdown();
|
||||
@@ -562,10 +565,12 @@
|
||||
init_cmdline_options_fail("sid");
|
||||
return -1;
|
||||
}
|
||||
+#if 0
|
||||
if (rs232drv_cmdline_options_init() < 0) {
|
||||
init_cmdline_options_fail("rs232drv");
|
||||
return -1;
|
||||
}
|
||||
+#endif
|
||||
if (serial_cmdline_options_init() < 0) {
|
||||
init_cmdline_options_fail("serial");
|
||||
return -1;
|
||||
@@ -712,8 +717,10 @@
|
||||
return -1;
|
||||
}
|
||||
|
||||
+#if 0
|
||||
/* Initialize RS232 handler. */
|
||||
rs232drv_init();
|
||||
+#endif
|
||||
|
||||
/* Initialize print devices. */
|
||||
printer_init();
|
||||
@@ -798,8 +805,9 @@
|
||||
ciacore_reset(machine_context.cia2);
|
||||
sid_reset();
|
||||
|
||||
+#if 0
|
||||
rs232drv_reset();
|
||||
-
|
||||
+#endif
|
||||
printer_reset();
|
||||
|
||||
/* FIXME */
|
||||
--- vice/src/rs232drv/Makefile.am
|
||||
+++ vice/src/rs232drv/Makefile.am
|
||||
@@ -14,7 +14,7 @@
|
||||
AM_LDFLAGS = @VICE_LDFLAGS@
|
||||
|
||||
|
||||
-noinst_LIBRARIES = librs232drv.a
|
||||
+noinst_LIBRARIES = librs232drv.a librs232drvpet.a
|
||||
|
||||
librs232drv_a_SOURCES = \
|
||||
rs232dev.h \
|
||||
@@ -26,3 +26,16 @@
|
||||
rs232net.h \
|
||||
rsuser.c \
|
||||
rsuser.h
|
||||
+
|
||||
+# Same as above, but without the userport bits, to avoid registering userport
|
||||
+# resources and command line options with xpet and xcbm2 (these have stubs for
|
||||
+# rsuser_resources_init() and rsuser_cmdline_init()
|
||||
+librs232drvpet_a_SOURCES = \
|
||||
+ rs232dev.h \
|
||||
+ rs232.c \
|
||||
+ rs232.h \
|
||||
+ rs232drv.c \
|
||||
+ rs232drv.h \
|
||||
+ rs232net.c \
|
||||
+ rs232net.h \
|
||||
+ rsuser.h
|
196
app-emulation/vice/vice-3.9.ebuild
Normal file
196
app-emulation/vice/vice-3.9.ebuild
Normal file
@ -0,0 +1,196 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit autotools multibuild toolchain-funcs xdg
|
||||
|
||||
DESCRIPTION="Versatile Commodore Emulator"
|
||||
HOMEPAGE="https://vice-emu.sourceforge.io/"
|
||||
SRC_URI="https://downloads.sourceforge.net/vice-emu/releases/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm ~arm64 x86"
|
||||
IUSE="
|
||||
alsa curl debug doc ethernet +evdev flac gif +gtk headless lame
|
||||
mpg123 ogg openmp oss parport pci png portaudio pulseaudio sdl
|
||||
"
|
||||
REQUIRED_USE="|| ( gtk headless sdl )"
|
||||
|
||||
RDEPEND="
|
||||
sys-libs/zlib:=
|
||||
app-emulation/opencbm
|
||||
virtual/libintl
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
curl? ( net-misc/curl )
|
||||
ethernet? (
|
||||
net-libs/libpcap
|
||||
sys-libs/libcap
|
||||
)
|
||||
evdev? ( dev-libs/libevdev )
|
||||
flac? ( media-libs/flac:= )
|
||||
gif? ( media-libs/giflib:= )
|
||||
gtk? (
|
||||
>=app-accessibility/at-spi2-core-2.46:2
|
||||
dev-libs/glib:2
|
||||
media-libs/fontconfig:1.0
|
||||
media-libs/glew:0=[-egl-only(-)]
|
||||
media-libs/libglvnd[X]
|
||||
x11-libs/cairo
|
||||
x11-libs/gdk-pixbuf:2
|
||||
x11-libs/gtk+:3[X]
|
||||
x11-libs/libX11
|
||||
x11-libs/pango
|
||||
)
|
||||
lame? ( media-sound/lame )
|
||||
mpg123? ( media-sound/mpg123-base )
|
||||
ogg? (
|
||||
media-libs/libogg
|
||||
media-libs/libvorbis
|
||||
)
|
||||
parport? ( sys-libs/libieee1284 )
|
||||
pci? ( sys-apps/pciutils )
|
||||
png? ( media-libs/libpng:= )
|
||||
portaudio? ( media-libs/portaudio )
|
||||
pulseaudio? ( media-libs/libpulse )
|
||||
sdl? (
|
||||
media-libs/libsdl2[video]
|
||||
media-libs/sdl2-image
|
||||
)
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
x11-base/xorg-proto
|
||||
"
|
||||
BDEPEND="
|
||||
app-alternatives/awk
|
||||
app-alternatives/yacc
|
||||
app-arch/unzip
|
||||
app-text/dos2unix
|
||||
dev-embedded/xa
|
||||
dev-lang/perl
|
||||
sys-apps/texinfo
|
||||
app-alternatives/lex
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
doc? ( virtual/texi2dvi )
|
||||
gtk? ( x11-misc/xdg-utils )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-dupe-symbols.patch
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
|
||||
# Strip the predefined C(XX)FLAGS.
|
||||
sed -i -r 's:(VICE_C(XX)?FLAGS=)"[^$]+":\1:' configure || die
|
||||
|
||||
MULTIBUILD_VARIANTS=(
|
||||
$(usev gtk)
|
||||
$(usev headless)
|
||||
$(usev sdl)
|
||||
)
|
||||
|
||||
# Debug build currently broken without copy sources.
|
||||
multibuild_copy_sources
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export AR
|
||||
|
||||
multibuild_foreach_variant run_in_build_dir multibuild_src_configure
|
||||
}
|
||||
|
||||
multibuild_src_configure() {
|
||||
# Append ".variant" to x* programs if building multiple variants.
|
||||
local xform
|
||||
(( ${#MULTIBUILD_VARIANTS[@]} > 1 )) &&
|
||||
xform="/^x/s/\$/.${MULTIBUILD_VARIANT}/"
|
||||
|
||||
vice-multi_enable() {
|
||||
if [[ ${MULTIBUILD_VARIANT} == ${1} ]]; then
|
||||
echo --enable-${2}
|
||||
else
|
||||
echo --disable-${2}
|
||||
fi
|
||||
}
|
||||
|
||||
local econfargs=(
|
||||
--program-transform-name="${xform}"
|
||||
$(vice-multi_enable gtk desktop-files)
|
||||
$(vice-multi_enable gtk gtk3ui)
|
||||
$(vice-multi_enable headless headlessui)
|
||||
$(vice-multi_enable sdl sdl2ui)
|
||||
$(usex debug $(vice-multi_enable gtk debug-gtk3ui) --disable-debug-gtk3ui)
|
||||
$(use_enable debug)
|
||||
$(use_enable doc pdf-docs)
|
||||
$(use_enable ethernet)
|
||||
$(use_enable openmp)
|
||||
$(use_enable parport parsid)
|
||||
$(use_with alsa)
|
||||
$(use_with curl libcurl)
|
||||
$(use_with evdev)
|
||||
$(use_with flac)
|
||||
$(use_with gif)
|
||||
$(use_with lame)
|
||||
$(use_with lame static-lame) # disables dlopen, uses shared still
|
||||
$(use_with mpg123)
|
||||
$(use_with ogg vorbis)
|
||||
$(use_with oss)
|
||||
$(use_with parport libieee1284)
|
||||
$(use_with png)
|
||||
$(use_with portaudio)
|
||||
$(use_with pulseaudio pulse)
|
||||
$(usex alsa --enable-midi $(use_enable oss midi))
|
||||
$(usev !pci ac_cv_header_pci_pci_h=no)
|
||||
--disable-arch
|
||||
--disable-ffmpeg # deprecated in 3.8, also bug #834359
|
||||
--disable-sdl1ui
|
||||
--enable-realdevice
|
||||
ac_cv_lib_ungif_EGifPutLine=no # ensure use giflib, not ungif
|
||||
)
|
||||
|
||||
econf "${econfargs[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# bug #924116 wrt SHELL
|
||||
multibuild_foreach_variant run_in_build_dir emake SHELL="${BASH}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Get xdg-desktop-menu to play nicely while doing the install.
|
||||
dodir /etc/xdg/menus /usr/share/{applications,desktop-directories}
|
||||
|
||||
XDG_UTILS_INSTALL_MODE=system \
|
||||
XDG_DATA_DIRS="${ED}"/usr/share \
|
||||
XDG_CONFIG_DIRS="${ED}"/etc/xdg \
|
||||
multibuild_foreach_variant run_in_build_dir default
|
||||
|
||||
rm -f -- "${ED}"/usr/share/applications/*.cache || die
|
||||
|
||||
vice-install_extras() {
|
||||
docinto html
|
||||
dodoc doc/html/*.{html,css}
|
||||
dodoc -r doc/html/images
|
||||
|
||||
insinto /usr/share/vim/vimfiles/ftdetect
|
||||
doins doc/vim/ftdetect/*.vim
|
||||
|
||||
insinto /usr/share/vim/vimfiles/syntax
|
||||
doins doc/vim/syntax/*.vim
|
||||
}
|
||||
multibuild_for_best_variant run_in_build_dir vice-install_extras
|
||||
}
|
@ -15,14 +15,8 @@ AUX virtualbox-7.0.8-disable-rebuild-iPxeBiosBin.patch 843 BLAKE2B bd7fef7afc725
|
||||
AUX virtualbox-7.1.0-disable-rebuild-iPxeBiosBin.patch 1007 BLAKE2B 8c3d806ed57170a9e6121df67e87c924ce77b71cdc1e2f3c812992456d3f2934875d82568e6dab8db4ab9bd531c28bded512db67b0f51cfb895ea7d1e204fc95 SHA512 32f3cbac5f4a6fb2f549ede7dcadf0f73b60d4cef77b84ded2ded82885a6226dadb4be829d86e0fee7866fd24f2a2219d49d344fc078715a5964115117e5b88e
|
||||
AUX virtualbox-ose-6-wrapper 3578 BLAKE2B c150e578212435268de3c5fb0eea701bc843ec2241dc3839d3d1e33604fc01f6bdff6ed0425ba6917072f652b8c29d0df9a550a92900ca13306fcd36521afbee SHA512 315d981f3e92f2e0134946f6bbb8ad4ea4228afb8f73aaed7feead59b3f55cef01cec4285a7fdaf30ce0931d8b69bda4698baebd63d11f2cd9dfe9d0591a0f40
|
||||
AUX virtualbox-vboxusb_tmpfilesd 35 BLAKE2B 56937e236a0e4d1a2aa085271e8ae0af9553fdf7c3b804af4d3fda3aa8dbc32d63762fee90bc949390cb9cd67f2f0111894c8af084731dab6920ae1675c69a64 SHA512 72e4602f5f214f8833486f5c787c263a10390e8bdf65b5615d67c35ec44048f02add12fe43b19f9c57a9d2f12d768c52e54fcfb9052c0611d06cc988a698c171
|
||||
DIST VirtualBox-7.1.4.tar.bz2 206218796 BLAKE2B 62a4f44b4eac2e1cb2c0bace5dfabf86c41b738d81aede3de75d88159a8d76158748eaae38ee3eedbc0f79b639a875f1ef6805a8ca7c95021f475935f54d7ef9 SHA512 97654339d509447e2604db01e29f9e810f59498a378e645f412cffb67022c4e547f205e8ebdac6ae33aaa8f7bc0f289bdca2e5a04b1fa31b4a05c191d7600a9c
|
||||
DIST VirtualBox-7.1.6a.tar.bz2 205777317 BLAKE2B 584a53df603311bb1d49c8564bb05015426c678d58578327a73e1bb5d8ed4f0563a4edfaea13f3d41acc6902567572e67225cc9ea797b15489fb3d786d35c3f9 SHA512 fbb9487d531db6bf176e73f307ef1b65cc5263c8e5f38755cdc6bed41fe2906ffbd64076d42b8b505183d0ae054d8f6bccc522e981edd5a815e440066327cd3b
|
||||
DIST VirtualBox-7.1.8.tar.bz2 215541146 BLAKE2B dbe8e432162ed29716e14a390be1fa14d13f861943bb2392f8de0cd8ec3dbb991588a8aafe47b2bd0884ca12932af78799d7b21a2b115d818702ccbed564dc97 SHA512 9c801309aac8eeea94279c6872892046cdf933dda0dc7493be5442a9dabbb6e5e513e116bb17d8fd225a6d6d37285f21c26e42daeb37c4335f3636b810f84dfb
|
||||
DIST virtualbox-help-7.1.4.tar.xz 1586108 BLAKE2B e8219ed67b1db9a5e4d0271e25980fbcbfb8c72316dc4bd3337080c81082bb8ecad9c9317b5b9be77db1eeac42c567512a64fe86ae9bb6371dea8632e7afc9ab SHA512 185249fe2bdf2138a034c53e23eedb88cf487e1fb26a8bd623f0d75ea0d2ff4dff3484564a5b317703fb3f302ec7037cb0a49c7c3845e229fe2ac9e2c8c96af6
|
||||
DIST virtualbox-help-7.1.6a.tar.xz 984912 BLAKE2B fe30248627e61f75c6486b7ff73b68027cf9804bfc2df9d331dfbcb93571fb6816d95a35a05719a136d6540035f3bb628f6c61a8ca6ed704d10738b4017f9ad8 SHA512 528b74c170b1ab13b05df03c104f735a67f79cce4d2c03f7094a3cf481f0a832586d07137cab746eeeaae475f671c17996cd3c3acd9f72b77d24bef9a9a403e6
|
||||
DIST virtualbox-help-7.1.8.tar.xz 8308340 BLAKE2B 74a553dcf72306ab5168c403862c872d7de917f090a559fc06fc9a6bb344601ab5a78196e5ae13a9daed9150fc3b29e700fe6dbb4e589f8b3636fec6e9bb9ed5 SHA512 00613dead921bff77b16369b0267d06d668be7b56a12885cff4d050a1120d51de8576472b2dc069e93bf7cefcf4837ebe13d2d8c147953ad4484669df93d3e1e
|
||||
DIST virtualbox-patches-7.1.4-r1.tar.bz2 6140 BLAKE2B dc84a0522629d06b72ff98e330e2c104e55185914238fed53d696399e43400a1c32979724c156479c3a67d2c64f7f8389d58a83242de559cf8dd89fbda0804e6 SHA512 3541ace61bd64f6ecb2f7b3aaa2383c33ae51682676eead78b267ff82d46e769117f074a534301e734408efa0e622d63e778085f06741223b35ed8caaacc003d
|
||||
EBUILD virtualbox-7.1.4.ebuild 21865 BLAKE2B c4ab6c32a2320a1f9a3bc4c82d1138deb6ceee83dd32533e51c03102ec0afdd43ce47f53a7f2133717216fa7fc0afc7ffc4c912896844ec40d479f9f91de8e5a SHA512 a4fc1eb8ad68f6d540f177b589ed776e14bf597d6791d0ac15c389821ca8cadb9ea19243f60ded1551981c0b751545fcfe4f91d9b94325d8f8e3efc5ce130d12
|
||||
EBUILD virtualbox-7.1.6a.ebuild 21877 BLAKE2B 2928931ce4299231947cdef1c5661ae28114a3f6101aeee76840aa27c35058bec128c7f2fd9bc4496730b9fb8b25c269deffd5c7b44943f722e08e33536062bb SHA512 bc95f07403c6191c41a18ab5c2baa64d07d7d31a9d0d300fcfd002d06b72b68cd38f58794e650aa2cdedced062586e24827e1991497e4dde42cee5da9dcb5e6a
|
||||
EBUILD virtualbox-7.1.8.ebuild 22019 BLAKE2B ebb4e32bd3c423ab11745eec869b05298492b458ae1db1202ee10bc4d23dc728eaa2542c5926a54f4e845230a9685ac46ea156a6681de92bd2a4b80396999e4c SHA512 6c707838bcaf991342a2c391ed922d4578f08be4f6935b753ab306151fec14643c608e05595347b88a6fc5a703bf2d4c1550a42350f0409fb57b9b6d2eb26b8a
|
||||
MISC metadata.xml 948 BLAKE2B c074e494d9affda91addd2355f8e71616602102b4cc151d2b45efd04754f1f92621ecd313dbe3baa44c3301f57b61e9cff780d445c2ea3d19ce3d9c8ae05213a SHA512 5338812da9334aedf08dd7a31a4a07c7bfa8232e8f0de6af9de9ac0f5585397cea16e66cb73d56632efa4cf21386782108182d803de6ff45c08082a13dc5fed9
|
||||
DIST VirtualBox-7.1.10.tar.bz2 233395034 BLAKE2B 8f451932a4b3cd5e4628f8dd45e9a2cfec6cfbc02fd4eeb7f4dedd473c9c022f57751e4ea78ab1edd6989c111a5c751da1c87662d24c971c3f673bedcf9d6f06 SHA512 841c539b30c964eec0e3a5eddc354bcec530aeed882507928c2f0a8675756c27a650cb3094a130d4f609e83a10f1273b40e9a765228586c3c8c90bb74d7872ad
|
||||
DIST virtualbox-help-7.1.10.tar.xz 8307956 BLAKE2B 7da5e31400431b19df136a16dcbb8a9307674ae3d25da6b4e546165f6d2d69b090f3f07ba356c2ac7efb7a6bf26d27751b70ce1a05d0e9bd081490a28135359a SHA512 f3d75ec4e5379c1ad99a24b2aebf9ad167020f2f59f9fcbd32fb41edfb283b6d26fcad82550223433d4f71b0df26d09ac56de906727faea6f25da9ad8c067ff6
|
||||
DIST virtualbox-patches-7.1.10.tar.bz2 5966 BLAKE2B cde325931ed2b41c74c9fa070980c5a6988a658608b2899473991e58ebf995f3cfd8efd295c98181d879104249ffc021643315ffe7801d30ded663a61e442488 SHA512 82de81a6e63bbaae8a1467fe0f4b84a6a71ee3f3d2190d53215f0b0913f6d2e53623709e5063ba629798a844c0c29fa0f48aca72efc96e775d7b18f75c1de79f
|
||||
EBUILD virtualbox-7.1.10.ebuild 22049 BLAKE2B c3b8ba98c2f9c40c3b761744fc84c4aa2333112bf6bbb92903fbdd307c9a0e9404fa0e9c158777c9ed29c70a22a61d5cf3ec1a09434916f51e26bd3f19458b78 SHA512 ff5355fc3192e2f12f5b1d01c5a211513d703158182d2afd292d79b179066dff9b42472b54b715ff7cb82a5eaa84bea0f3b32bb517707abce63aac9609ef7325
|
||||
MISC metadata.xml 890 BLAKE2B 1b37eab206d443d5c84581ce3582931c4dbb7ba0e811f7ae69a5685e382d355ded333ff28355abfb7675e0a0133dbdbf71bbb3476ac58e9ff92001ef9f871e64 SHA512 144b3dbcd5f3e45d1bc4e9db5bc7029f2bd66624c1cf476352b47221550653d322775fe5f3f61958a21b7583ff9348b4d65a197b628364b73d56c36f292583b7
|
||||
|
@ -7,13 +7,14 @@
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="dtrace">Install dtrace Extension Pack.</flag>
|
||||
<flag name="headless">Build without any graphic frontend.</flag>
|
||||
<flag name="lvm">Build VBoxVolInfo that needs devicemapper from <pkg>sys-fs/lvm2</pkg>.</flag>
|
||||
<flag name="pax-kernel">Apply patch needed for pax enabled kernels.</flag>
|
||||
<flag name="sdk">Enable building of SDK.</flag>
|
||||
<flag name="udev">Controls installation of special USB udev rules.</flag>
|
||||
<flag name="vboxwebsrv">Build and install the VirtualBox webservice.</flag>
|
||||
<flag name="vde">Support for VDE networking via <pkg>net-misc/vde</pkg>.</flag>
|
||||
<flag name="vmmraw">Enable 32-bit support on a 64-bit kernel.</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="github">VirtualBox/virtualbox</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
@ -15,7 +15,7 @@ EAPI=8
|
||||
# trunk branch but not release branch.
|
||||
#
|
||||
# See bug #785835, bug #856121.
|
||||
PYTHON_COMPAT=( python3_{10..13} )
|
||||
PYTHON_COMPAT=( python3_{11..13} )
|
||||
|
||||
inherit desktop edo flag-o-matic java-pkg-opt-2 linux-info multilib optfeature pax-utils \
|
||||
python-single-r1 tmpfiles toolchain-funcs udev xdg
|
||||
@ -25,10 +25,10 @@ MY_P=${MY_PN}-${PV}
|
||||
HELP_PV=${PV}
|
||||
|
||||
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
|
||||
HOMEPAGE="https://www.virtualbox.org/"
|
||||
HOMEPAGE="https://www.virtualbox.org/ https://github.com/VirtualBox/virtualbox"
|
||||
SRC_URI="
|
||||
https://download.virtualbox.org/virtualbox/${PV%*a}/${MY_P}.tar.bz2
|
||||
https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.1.4-r1.tar.bz2
|
||||
https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.1.10.tar.bz2
|
||||
gui? ( !doc? ( https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${PN}-help-${HELP_PV}.tar.xz ) )
|
||||
"
|
||||
S="${WORKDIR}/${MY_PN}-${PV%*a}"
|
||||
@ -46,7 +46,7 @@ COMMON_DEPEND="
|
||||
app-arch/xz-utils
|
||||
~app-emulation/virtualbox-modules-${PV%*a}
|
||||
dev-libs/libtpms
|
||||
dev-libs/libxml2
|
||||
dev-libs/libxml2:=
|
||||
dev-libs/openssl:0=
|
||||
media-libs/libpng:0=
|
||||
media-libs/libvpx:0=
|
||||
@ -127,7 +127,6 @@ RDEPEND="
|
||||
BDEPEND="
|
||||
>=app-arch/tar-1.34-r2
|
||||
>=dev-lang/yasm-0.6.2
|
||||
dev-libs/libIDL
|
||||
dev-util/glslang
|
||||
>=dev-build/kbuild-0.1.9998.3592
|
||||
sys-apps/which
|
||||
@ -199,8 +198,7 @@ REQUIRED_USE="
|
||||
|
||||
PATCHES=(
|
||||
# Downloaded patchset
|
||||
"${WORKDIR}"/virtualbox-patches-7.1.4-r1/patches
|
||||
"${FILESDIR}"/VirtualBox-python3.13.patch
|
||||
"${WORKDIR}"/virtualbox-patches-7.1.10/patches
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
@ -1,776 +0,0 @@
|
||||
# Copyright 2022-2025 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_{10..12} )
|
||||
|
||||
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}
|
||||
HELP_PV=${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-7.1.4-r1.tar.bz2
|
||||
gui? ( !doc? ( https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${PN}-help-${HELP_PV}.tar.xz ) )
|
||||
"
|
||||
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 test +udev vboxwebsrv vde +vmmraw vnc"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
unset WATCOM #856769
|
||||
|
||||
COMMON_DEPEND="
|
||||
acct-group/vboxusers
|
||||
app-arch/xz-utils
|
||||
~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/qtbase:6[widgets]
|
||||
dev-qt/qtscxml:6
|
||||
dev-qt/qttools:6[assistant]
|
||||
x11-libs/libX11
|
||||
x11-libs/libXt
|
||||
)
|
||||
lvm? ( sys-fs/lvm2 )
|
||||
opengl? (
|
||||
media-libs/libglvnd[X]
|
||||
media-libs/vulkan-loader
|
||||
x11-libs/libX11
|
||||
x11-libs/libXt
|
||||
)
|
||||
pam? ( sys-libs/pam )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
sdl? (
|
||||
media-libs/libsdl2[X,video]
|
||||
x11-libs/libX11
|
||||
x11-libs/libXt
|
||||
)
|
||||
vboxwebsrv? ( net-libs/gsoap[-gnutls(-),debug?] )
|
||||
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:=
|
||||
x11-libs/libXt
|
||||
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/libXcursor
|
||||
x11-libs/libXinerama
|
||||
)
|
||||
pulseaudio? ( media-libs/libpulse )
|
||||
udev? ( >=virtual/udev-171 )
|
||||
"
|
||||
RDEPEND="
|
||||
${COMMON_DEPEND}
|
||||
gui? ( x11-libs/libxcb:= )
|
||||
java? ( virtual/jre:1.8 )
|
||||
"
|
||||
BDEPEND="
|
||||
>=app-arch/tar-1.34-r2
|
||||
>=dev-lang/yasm-0.6.2
|
||||
dev-libs/libIDL
|
||||
dev-util/glslang
|
||||
>=dev-build/kbuild-0.1.9998.3592
|
||||
sys-apps/which
|
||||
sys-devel/bin86
|
||||
sys-libs/libcap
|
||||
sys-power/iasl
|
||||
virtual/pkgconfig
|
||||
doc? (
|
||||
app-doc/dita-ot-bin
|
||||
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/qttools:6[assistant]
|
||||
sys-libs/nss_wrapper
|
||||
)
|
||||
gui? ( dev-qt/qttools:6[linguist] )
|
||||
nls? ( dev-qt/qttools:6[linguist] )
|
||||
java? ( virtual/jdk:1.8 )
|
||||
python? (
|
||||
${PYTHON_DEPS}
|
||||
test? (
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/pytest[${PYTHON_USEDEP}]
|
||||
')
|
||||
)
|
||||
)
|
||||
"
|
||||
|
||||
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 ${PYTHON_REQUIRED_USE} )
|
||||
vboxwebsrv? ( java )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
# Downloaded patchset
|
||||
"${WORKDIR}"/virtualbox-patches-7.1.4-r1/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 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
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if use python; then
|
||||
mkdir test
|
||||
cp "${FILESDIR}"/test_python.py test/
|
||||
python_fix_shebang test/test_python.py
|
||||
fi
|
||||
|
||||
# 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
|
||||
|
||||
# bug #916002, #488176, #925347
|
||||
tc-ld-is-mold || tc-ld-force-bfd
|
||||
|
||||
# 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
|
||||
echo -e "\nIPRT_WITHOUT_PAM=1" >> LocalConfig.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
|
||||
|
||||
# bug #940482
|
||||
filter-flags -fno-plt
|
||||
|
||||
# bug #908814
|
||||
filter-lto
|
||||
|
||||
# bug #843437
|
||||
cat >> LocalConfig.kmk <<-EOF || die
|
||||
CXXFLAGS=${CXXFLAGS}
|
||||
CFLAGS=${CFLAGS}
|
||||
EOF
|
||||
|
||||
if use sdl; then
|
||||
sed -i 's/sdl-config/sdl2-config/' configure || die
|
||||
echo -e "\nVBOX_WITH_VBOXSDL=1" >> LocalConfig.kmk || die
|
||||
fi
|
||||
|
||||
#443830
|
||||
echo -e "\nVBOX_WITH_VBOX_IMG=1" >> LocalConfig.kmk || die
|
||||
|
||||
if tc-is-clang; then
|
||||
# clang does not support this extension
|
||||
eapply "${FILESDIR}"/${PN}-7.1.0-disable-rebuild-iPxeBiosBin.patch
|
||||
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
|
||||
|
||||
# fix help path #891879
|
||||
echo -e "\nVBOX_PATH_PACKAGE_DOCS=/usr/share/doc/${PF}" >> LocalConfig.kmk || 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-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 !vmmraw --disable-vmmraw)
|
||||
$(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
|
||||
|
||||
if use python; then
|
||||
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
|
||||
|
||||
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
|
||||
else
|
||||
cat >> AutoConfig.kmk <<-EOF || die
|
||||
VBOX_WITH_PYTHON:=
|
||||
EOF
|
||||
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
|
||||
|
||||
if use doc; then
|
||||
# dita needs to write to ~/.fop and ~/.java
|
||||
# but it ignores ${HOME} and tries to write to the real home of user portage
|
||||
# resulting in a sandbox violation
|
||||
# -Duser.home= does not work
|
||||
# force using the temporary homedir with nss_wrapper
|
||||
echo "${LOGNAME}::$(id -u):$(id -g):${USER}:${HOME}:/bin/bash" >> ~/passwd
|
||||
echo "${LOGNAME}::$(id -g):" >> ~/group
|
||||
|
||||
local -x LD_PRELOAD=libnss_wrapper.so
|
||||
local -x NSS_WRAPPER_PASSWD="${HOME}"/passwd
|
||||
local -x NSS_WRAPPER_GROUP="${HOME}"/group
|
||||
fi
|
||||
|
||||
MAKE="kmk" emake "${myemakeargs[@]}" all
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if use python; then
|
||||
local -x VBOX_APP_HOME="${S}"/out/linux.${ARCH}/$(usex debug debug release)
|
||||
local -x VBOX_INSTALL_PATH="${VBOX_APP_HOME}"
|
||||
local -x VBOX_PROGRAM_PATH="${VBOX_APP_HOME}"/bin
|
||||
local -x VBOX_SDK_PATH="${VBOX_PROGRAM_PATH}"/sdk
|
||||
local -x PYTHONPATH="${VBOX_SDK_PATH}"/installer/python/vboxapi/src
|
||||
einfo "VBOX_APP_HOME ${VBOX_APP_HOME}"
|
||||
einfo "VBOX_PROGRAM_PATH ${VBOX_PROGRAM_PATH}"
|
||||
einfo "VBOX_SDK_PATH ${VBOX_SDK_PATH}"
|
||||
einfo "PYTHONPATH ${PYTHONPATH}"
|
||||
LD_LIBRARY_PATH="${VBOX_PROGRAM_PATH}" epytest test/
|
||||
fi
|
||||
}
|
||||
|
||||
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} \
|
||||
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 "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
|
||||
# environment variables used during SDK binding installation
|
||||
echo "VBOX_SDK_PATH=${vbox_inst_path}/sdk" >> "${T}/90virtualbox"
|
||||
echo "VBOX_INSTALL_PATH=${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
|
||||
|
||||
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 UserManual.q{ch,hc}
|
||||
docompress -x /usr/share/doc/${PF}
|
||||
elif use gui; then
|
||||
dodoc "${WORKDIR}"/${PN}-help-${HELP_PV}/UserManual.q{ch,hc}
|
||||
docompress -x /usr/share/doc/${PF}
|
||||
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
|
||||
|
||||
# 378871
|
||||
local installer_dir="${ED}/usr/$(get_libdir)/virtualbox/sdk/installer/python/vboxapi/src"
|
||||
pushd "${installer_dir}" &> /dev/null || die
|
||||
sed -e "s;%VBOX_INSTALL_PATH%;${vbox_inst_path};" \
|
||||
-e "s;%VBOX_SDK_PATH%;${vbox_inst_path}/sdk;" \
|
||||
-i vboxapi/__init__.py || die
|
||||
# insert shebang, the files come without one
|
||||
find vboxapi -name \*.py -exec sed -e "1 i\#! ${PYTHON}" -i {} \+ || die
|
||||
python_domodule vboxapi
|
||||
popd &> /dev/null || die
|
||||
|
||||
# upstream added a /bin/sh stub here
|
||||
# use /usr/bin/python3, python_doscript will take care of it
|
||||
sed -e '1 i #! /usr/bin/python3' -i vboxshell.py
|
||||
python_doscript vboxshell.py
|
||||
|
||||
# do not install the installer
|
||||
rm -r "${installer_dir%vboxapi*}" || die
|
||||
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
|
||||
}
|
@ -1,776 +0,0 @@
|
||||
# Copyright 2022-2025 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_{10..12} )
|
||||
|
||||
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}
|
||||
HELP_PV=${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%*a}/${MY_P}.tar.bz2
|
||||
https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.1.4-r1.tar.bz2
|
||||
gui? ( !doc? ( https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${PN}-help-${HELP_PV}.tar.xz ) )
|
||||
"
|
||||
S="${WORKDIR}/${MY_PN}-${PV%*a}"
|
||||
|
||||
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 test +udev vboxwebsrv vde +vmmraw vnc"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
unset WATCOM #856769
|
||||
|
||||
COMMON_DEPEND="
|
||||
acct-group/vboxusers
|
||||
app-arch/xz-utils
|
||||
~app-emulation/virtualbox-modules-${PV%*a}
|
||||
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/qtbase:6[X,widgets]
|
||||
dev-qt/qtscxml:6
|
||||
dev-qt/qttools:6[assistant]
|
||||
x11-libs/libX11
|
||||
x11-libs/libXt
|
||||
)
|
||||
lvm? ( sys-fs/lvm2 )
|
||||
opengl? (
|
||||
media-libs/libglvnd[X]
|
||||
media-libs/vulkan-loader
|
||||
x11-libs/libX11
|
||||
x11-libs/libXt
|
||||
)
|
||||
pam? ( sys-libs/pam )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
sdl? (
|
||||
media-libs/libsdl2[X,video]
|
||||
x11-libs/libX11
|
||||
x11-libs/libXt
|
||||
)
|
||||
vboxwebsrv? ( net-libs/gsoap[-gnutls(-),debug?] )
|
||||
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:=
|
||||
x11-libs/libXt
|
||||
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/libXcursor
|
||||
x11-libs/libXinerama
|
||||
)
|
||||
pulseaudio? ( media-libs/libpulse )
|
||||
udev? ( >=virtual/udev-171 )
|
||||
"
|
||||
RDEPEND="
|
||||
${COMMON_DEPEND}
|
||||
gui? ( x11-libs/libxcb:= )
|
||||
java? ( virtual/jre:1.8 )
|
||||
"
|
||||
BDEPEND="
|
||||
>=app-arch/tar-1.34-r2
|
||||
>=dev-lang/yasm-0.6.2
|
||||
dev-libs/libIDL
|
||||
dev-util/glslang
|
||||
>=dev-build/kbuild-0.1.9998.3592
|
||||
sys-apps/which
|
||||
sys-devel/bin86
|
||||
sys-libs/libcap
|
||||
sys-power/iasl
|
||||
virtual/pkgconfig
|
||||
doc? (
|
||||
app-doc/dita-ot-bin
|
||||
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/qttools:6[assistant]
|
||||
sys-libs/nss_wrapper
|
||||
)
|
||||
gui? ( dev-qt/qttools:6[linguist] )
|
||||
nls? ( dev-qt/qttools:6[linguist] )
|
||||
java? ( virtual/jdk:1.8 )
|
||||
python? (
|
||||
${PYTHON_DEPS}
|
||||
test? (
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/pytest[${PYTHON_USEDEP}]
|
||||
')
|
||||
)
|
||||
)
|
||||
"
|
||||
|
||||
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 ${PYTHON_REQUIRED_USE} )
|
||||
vboxwebsrv? ( java )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
# Downloaded patchset
|
||||
"${WORKDIR}"/virtualbox-patches-7.1.4-r1/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 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
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if use python; then
|
||||
mkdir test
|
||||
cp "${FILESDIR}"/test_python.py test/
|
||||
python_fix_shebang test/test_python.py
|
||||
fi
|
||||
|
||||
# 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
|
||||
|
||||
# bug #916002, #488176, #925347
|
||||
tc-ld-is-mold || tc-ld-force-bfd
|
||||
|
||||
# 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
|
||||
echo -e "\nIPRT_WITHOUT_PAM=1" >> LocalConfig.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
|
||||
|
||||
# bug #940482
|
||||
filter-flags -fno-plt
|
||||
|
||||
# bug #908814
|
||||
filter-lto
|
||||
|
||||
# bug #843437
|
||||
cat >> LocalConfig.kmk <<-EOF || die
|
||||
CXXFLAGS=${CXXFLAGS}
|
||||
CFLAGS=${CFLAGS}
|
||||
EOF
|
||||
|
||||
if use sdl; then
|
||||
sed -i 's/sdl-config/sdl2-config/' configure || die
|
||||
echo -e "\nVBOX_WITH_VBOXSDL=1" >> LocalConfig.kmk || die
|
||||
fi
|
||||
|
||||
#443830
|
||||
echo -e "\nVBOX_WITH_VBOX_IMG=1" >> LocalConfig.kmk || die
|
||||
|
||||
if tc-is-clang; then
|
||||
# clang does not support this extension
|
||||
eapply "${FILESDIR}"/${PN}-7.1.0-disable-rebuild-iPxeBiosBin.patch
|
||||
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
|
||||
|
||||
# fix help path #891879
|
||||
echo -e "\nVBOX_PATH_PACKAGE_DOCS=/usr/share/doc/${PF}" >> LocalConfig.kmk || 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-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 !vmmraw --disable-vmmraw)
|
||||
$(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
|
||||
|
||||
if use python; then
|
||||
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
|
||||
|
||||
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
|
||||
else
|
||||
cat >> AutoConfig.kmk <<-EOF || die
|
||||
VBOX_WITH_PYTHON:=
|
||||
EOF
|
||||
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
|
||||
|
||||
if use doc; then
|
||||
# dita needs to write to ~/.fop and ~/.java
|
||||
# but it ignores ${HOME} and tries to write to the real home of user portage
|
||||
# resulting in a sandbox violation
|
||||
# -Duser.home= does not work
|
||||
# force using the temporary homedir with nss_wrapper
|
||||
echo "${LOGNAME}::$(id -u):$(id -g):${USER}:${HOME}:/bin/bash" >> ~/passwd
|
||||
echo "${LOGNAME}::$(id -g):" >> ~/group
|
||||
|
||||
local -x LD_PRELOAD=libnss_wrapper.so
|
||||
local -x NSS_WRAPPER_PASSWD="${HOME}"/passwd
|
||||
local -x NSS_WRAPPER_GROUP="${HOME}"/group
|
||||
fi
|
||||
|
||||
MAKE="kmk" emake "${myemakeargs[@]}" all
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if use python; then
|
||||
local -x VBOX_APP_HOME="${S}"/out/linux.${ARCH}/$(usex debug debug release)
|
||||
local -x VBOX_INSTALL_PATH="${VBOX_APP_HOME}"
|
||||
local -x VBOX_PROGRAM_PATH="${VBOX_APP_HOME}"/bin
|
||||
local -x VBOX_SDK_PATH="${VBOX_PROGRAM_PATH}"/sdk
|
||||
local -x PYTHONPATH="${VBOX_SDK_PATH}"/installer/python/vboxapi/src
|
||||
einfo "VBOX_APP_HOME ${VBOX_APP_HOME}"
|
||||
einfo "VBOX_PROGRAM_PATH ${VBOX_PROGRAM_PATH}"
|
||||
einfo "VBOX_SDK_PATH ${VBOX_SDK_PATH}"
|
||||
einfo "PYTHONPATH ${PYTHONPATH}"
|
||||
LD_LIBRARY_PATH="${VBOX_PROGRAM_PATH}" epytest test/
|
||||
fi
|
||||
}
|
||||
|
||||
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} \
|
||||
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 "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
|
||||
# environment variables used during SDK binding installation
|
||||
echo "VBOX_SDK_PATH=${vbox_inst_path}/sdk" >> "${T}/90virtualbox"
|
||||
echo "VBOX_INSTALL_PATH=${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
|
||||
|
||||
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 UserManual.q{ch,hc}
|
||||
docompress -x /usr/share/doc/${PF}
|
||||
elif use gui; then
|
||||
dodoc "${WORKDIR}"/${PN}-help-${HELP_PV}/UserManual.q{ch,hc}
|
||||
docompress -x /usr/share/doc/${PF}
|
||||
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
|
||||
|
||||
# 378871
|
||||
local installer_dir="${ED}/usr/$(get_libdir)/virtualbox/sdk/installer/python/vboxapi/src"
|
||||
pushd "${installer_dir}" &> /dev/null || die
|
||||
sed -e "s;%VBOX_INSTALL_PATH%;${vbox_inst_path};" \
|
||||
-e "s;%VBOX_SDK_PATH%;${vbox_inst_path}/sdk;" \
|
||||
-i vboxapi/__init__.py || die
|
||||
# insert shebang, the files come without one
|
||||
find vboxapi -name \*.py -exec sed -e "1 i\#! ${PYTHON}" -i {} \+ || die
|
||||
python_domodule vboxapi
|
||||
popd &> /dev/null || die
|
||||
|
||||
# upstream added a /bin/sh stub here
|
||||
# use /usr/bin/python3, python_doscript will take care of it
|
||||
sed -e '1 i #! /usr/bin/python3' -i vboxshell.py
|
||||
python_doscript vboxshell.py
|
||||
|
||||
# do not install the installer
|
||||
rm -r "${installer_dir%vboxapi*}" || die
|
||||
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
|
||||
}
|
102
app-misc/syncterm/files/make_order.patch
Normal file
102
app-misc/syncterm/files/make_order.patch
Normal file
@ -0,0 +1,102 @@
|
||||
diff '--color=auto' -uNr syncterm-1.6.orig/src/build/Common.gmake syncterm-1.6/src/build/Common.gmake
|
||||
--- syncterm-1.6.orig/src/build/Common.gmake 2025-06-07 17:22:14.756859064 +0200
|
||||
+++ syncterm-1.6/src/build/Common.gmake 2025-06-07 17:24:48.011474332 +0200
|
||||
@@ -533,6 +533,50 @@
|
||||
endif
|
||||
CFLAGS += -fno-delete-null-pointer-checks
|
||||
|
||||
+$(XPDEV_LIB): xpdev
|
||||
+xpdev:
|
||||
+ $(MAKE) -C $(XPDEV_SRC) lib
|
||||
+
|
||||
+$(XPDEV-MT_LIB): xpdev-mt
|
||||
+xpdev-mt:
|
||||
+ $(MAKE) -C $(XPDEV_SRC) mtlib
|
||||
+
|
||||
+$(ENCODE_LIB): encode
|
||||
+encode:
|
||||
+ $(MAKE) -C $(ENCODE_SRC) lib
|
||||
+
|
||||
+$(HASH_LIB): hash
|
||||
+hash:
|
||||
+ $(MAKE) -C $(HASH_SRC) lib
|
||||
+
|
||||
+$(SMBLIB): smblib
|
||||
+smblib:
|
||||
+ $(MAKE) -C $(SMBLIB_SRC) lib
|
||||
+
|
||||
+$(CIOLIB-MT): ciolib-mt
|
||||
+ciolib-mt:
|
||||
+ $(MAKE) -C $(CIOLIB_SRC) mtlib
|
||||
+
|
||||
+$(UIFCLIB): uifc
|
||||
+uifc:
|
||||
+ $(MAKE) -C $(UIFC_SRC) lib
|
||||
+
|
||||
+$(UIFCLIB-MT): uifc-mt
|
||||
+uifc-mt:
|
||||
+ $(MAKE) -C $(UIFC_SRC) mtlib
|
||||
+
|
||||
+$(JS_LIB): $(JS_DEPS)
|
||||
+js:
|
||||
+ $(MAKE) -C $(3RDPBUILDDIR) jslib
|
||||
+
|
||||
+$(CRYPT_LIB): $(CRYPT_DEPS)
|
||||
+cl:
|
||||
+ $(MAKE) -C $(3RDPBUILDDIR) cryptlib
|
||||
+
|
||||
+$(SFTPLIB-MT): sftp-mt
|
||||
+sftp-mt:
|
||||
+ $(MAKE) -C $(SFTP_SRC) mtlib
|
||||
+
|
||||
-include targets.mk
|
||||
-include $(SRC_ROOT)/build/rules.mk
|
||||
-include objects.mk # defines $(OBJS)
|
||||
@@ -592,47 +636,3 @@
|
||||
-include $(LIBODIR)/*.d
|
||||
-include $(EXEODIR)/*.d
|
||||
-include $(SRCODIR)/*.d
|
||||
-
|
||||
-$(XPDEV_LIB): xpdev
|
||||
-xpdev:
|
||||
- $(MAKE) -C $(XPDEV_SRC) lib
|
||||
-
|
||||
-$(XPDEV-MT_LIB): xpdev-mt
|
||||
-xpdev-mt:
|
||||
- $(MAKE) -C $(XPDEV_SRC) mtlib
|
||||
-
|
||||
-$(ENCODE_LIB): encode
|
||||
-encode:
|
||||
- $(MAKE) -C $(ENCODE_SRC) lib
|
||||
-
|
||||
-$(HASH_LIB): hash
|
||||
-hash:
|
||||
- $(MAKE) -C $(HASH_SRC) lib
|
||||
-
|
||||
-$(SMBLIB): smblib
|
||||
-smblib:
|
||||
- $(MAKE) -C $(SMBLIB_SRC) lib
|
||||
-
|
||||
-$(CIOLIB-MT): ciolib-mt
|
||||
-ciolib-mt:
|
||||
- $(MAKE) -C $(CIOLIB_SRC) mtlib
|
||||
-
|
||||
-$(UIFCLIB): uifc
|
||||
-uifc:
|
||||
- $(MAKE) -C $(UIFC_SRC) lib
|
||||
-
|
||||
-$(UIFCLIB-MT): uifc-mt
|
||||
-uifc-mt:
|
||||
- $(MAKE) -C $(UIFC_SRC) mtlib
|
||||
-
|
||||
-$(JS_LIB): $(JS_DEPS)
|
||||
-js:
|
||||
- $(MAKE) -C $(3RDPBUILDDIR) jslib
|
||||
-
|
||||
-$(CRYPT_LIB): $(CRYPT_DEPS)
|
||||
-cl:
|
||||
- $(MAKE) -C $(3RDPBUILDDIR) cryptlib
|
||||
-
|
||||
-$(SFTPLIB-MT): sftp-mt
|
||||
-sftp-mt:
|
||||
- $(MAKE) -C $(SFTP_SRC) mtlib
|
12
app-misc/syncterm/files/webget.patch
Normal file
12
app-misc/syncterm/files/webget.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff '--color=auto' -uNr syncterm-1.6.orig/src/syncterm/webget.c syncterm-1.6/src/syncterm/webget.c
|
||||
--- syncterm-1.6.orig/src/syncterm/webget.c 2025-06-07 17:28:16.006999190 +0200
|
||||
+++ syncterm-1.6/src/syncterm/webget.c 2025-06-07 17:31:11.641227829 +0200
|
||||
@@ -3,7 +3,7 @@
|
||||
#include <stdbool.h>
|
||||
|
||||
#ifndef WITHOUT_CRYPTLIB
|
||||
-#include <cryptlib.h>
|
||||
+#include "../../3rdp/src/cl/cryptlib.h"
|
||||
#endif
|
||||
|
||||
#include "bbslist.h"
|
43
app-misc/syncterm/syncterm-1.6.ebuild
Normal file
43
app-misc/syncterm/syncterm-1.6.ebuild
Normal file
@ -0,0 +1,43 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
DESCRIPTION="A BBS terminal program, supporting ANSI music and IBM charset."
|
||||
HOMEPAGE="http://syncterm.bbsdev.net"
|
||||
SRC_URI="https://downloads.sourceforge.net/project/syncterm/syncterm/syncterm-${PV}/syncterm-${PV}-src.tgz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64"
|
||||
|
||||
RDEPEND="sys-libs/ncurses"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/make_order.patch
|
||||
"${FILESDIR}"/webget.patch
|
||||
)
|
||||
|
||||
#S=${WORKDIR}/syncterm-${PV}/src/syncterm
|
||||
|
||||
src_prepare() {
|
||||
cp "${FILESDIR}"/cl-linux-yield.patch ${WORKDIR}/syncterm-${PV}/3rdp/build/cl-linux-yield.patch
|
||||
default
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# CPPFLAGS="${CPPFLAGS}" \
|
||||
# CFLAGS="${CFLAGS}" \
|
||||
# LDFLAGS="${LDFLAGS}" \
|
||||
|
||||
emake -C src/syncterm CC="$(tc-getCC)" \
|
||||
PREFIX="/usr" MANPREFIX="/usr/share" RELEASE=1
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake -C src/syncterm CC="$(tc-getCC)" \
|
||||
PREFIX="${ED}/usr" MANPREFIX="${ED}/usr/share" RELEASE=1 install
|
||||
}
|
2
dev-embedded/rpi-imager/Manifest
Normal file
2
dev-embedded/rpi-imager/Manifest
Normal file
@ -0,0 +1,2 @@
|
||||
DIST rpi-imager-1.9.4.tar.xz 9481200 BLAKE2B fdaa997560f258a698dd046cbad7c0c40a3f00118daf630cc9ae7a3e263934e8e24dd45e2ab8efc38b6f5403eac3bda7b83ebac3fecb84b161adf4d1159088cc SHA512 4596843729129284b4413e91a6cd127e30e35d1876261c24af60d196c2b9dc9f6128c9de4608a7a540418c1ba18daa16b45260698eb5767549254038ec1315ff
|
||||
EBUILD rpi-imager-1.9.4.ebuild 436 BLAKE2B 8430b793a9acf2e5b7696bb6f39173bfc013917c23e02e0b2f5c39e4e76d5d4915ee969014aaefd90929c932cd6e94ad6cb6ef040d1aa9fa1b5d21933515d3d3 SHA512 aa4b79270de41cb1aee487647c7c2503e18450c89c896380a6fa90ecc69b4d1fc78df2725f3b83793528558497b0801f972d99cb4061f1eddf65b7c150164575
|
22
dev-embedded/rpi-imager/rpi-imager-1.9.4.ebuild
Normal file
22
dev-embedded/rpi-imager/rpi-imager-1.9.4.ebuild
Normal file
@ -0,0 +1,22 @@
|
||||
EAPI=8
|
||||
|
||||
inherit cmake
|
||||
|
||||
DESCRIPTION="Raspberry Pi Imaging Utility"
|
||||
HOMEPAGE=https://www.raspberrypi.com/software/
|
||||
SRC_URI="https://github.com/raspberrypi/${PN}/releases/download/v${PV}/${PN}_${PV}.tar.xz -> ${P}.tar.xz"
|
||||
|
||||
LICENSE=Apache-2.0
|
||||
SLOT=0
|
||||
KEYWORDS="amd64 aarch64"
|
||||
S=$WORKDIR/$PN/src
|
||||
RESTRICT=network-sandbox
|
||||
|
||||
DEPEND="
|
||||
dev-qt/qtbase
|
||||
dev-qt/qtdbus
|
||||
sys-libs/zlib
|
||||
app-arch/lzma
|
||||
|| ( net-libs/gnutls dev-libs/openssl )
|
||||
"
|
||||
|
@ -8,5 +8,5 @@ AUX qtwebengine-5.15.16_p20241115-py3.13-pipes.patch 848 BLAKE2B 7696eaf565511ad
|
||||
AUX qtwebengine-5.15.17-py3.13-pipes.patch 848 BLAKE2B 7696eaf565511adcac5e74f7788633d1e83a88079548f1069c840da40e3ec5fef5fbfa0c019234a40dde14f6f43249792ad1bfc3d2ee8e5669d7fde7234a7ad2 SHA512 79588891105d8dce27e273d4113c31352c6b1035762ea6b1211be5f58299d9e2852b0b98bad34492d9af85e3ae1ca87407ffbf190159d64b0c6d7ba49e842bf8
|
||||
AUX qtwebengine-5.15.2_p20210521-clang-libc++.patch 358 BLAKE2B a03de632ac4e01cf56c52af3a3bd5ff5bcfd525c67bf2e5d960904a9f3b53e1fa18f0e0df380c0cf84f17914fb313a028e26efaefe6ab5057f0d9a9cf2f6f0fd SHA512 6dc3864064d6084e70d4696fda744701c293ee62e9c9088e3247988ffb8085f30c632e94ac19aef715cbd211b21dfcb98691d5809e21cffd9f04bbb8b04cf0da
|
||||
DIST qtwebengine-5.15.14_p20240510-patchset.tar.xz 20780 BLAKE2B 516d4c628c4b027ab3a7159da006a57173be91de3eb4b7f308029953d4fd19fb3e790ca38e79d17fef75d8d9b392676650acb9285d5913f9ebecaa4136575c47 SHA512 492979d118d6bd9165ee194724e38b627d19c89dbe1daa6b2f55e4a8fc7676748a1eacb9623ee05e09140c2c4a2ac82ddafaef5c45630a117ce0ed14b240a474
|
||||
DIST qtwebengine-everywhere-opensource-src-5.15.17.tar.xz 319675412 BLAKE2B eca642f2fe3dc0a648f1645aa3ae7ca86dee8abd3cb8853a6ad7e200171f7c45d88dbdba05f820771de7607647b7626267f4e1af17d8e2bc4f0184899c2c09a6 SHA512 4ca5ac97e35f195350da6485a7e53e648723ef5a4e91acf58985eb6957b89acc7f9bac53035eee228fd6a4144a2ba7f93a1a96fd0a501e817b2460fe8faf6bd7
|
||||
DIST qtwebengine-everywhere-opensource-src-5.15.17.tar.xz 319707540 BLAKE2B cab83868e938dea46ccb89dc75694c800723857a458e23e28032729dff6dc0701c06af2d983dee5675ce43a7e028421044dbfa0733984264a2195f4530024552 SHA512 f3f8a6e9b43e9a58a0b44777fd3333a621365f7cfe323207dfafdefe41f572a58b03ae9c00ab57cbd554d9d71c09d071b93841557099205d4b6dc474921bbfdf
|
||||
EBUILD qtwebengine-5.15.17.ebuild 8143 BLAKE2B 869eb1f18cf28280d178a4723b133b876d67770ea13d1d49d4a0beb1bfe07f53f44ac95ddc8f9d4535300bb815618a02de90282c85c774697a7163e97b56633e SHA512 800b5b84a6601573119048a303bbfcb056675e6675d22d8b0bf46c8049fb8de8b6f0f95e027ac3870e875f5fc6833c31fee96f89c512ab9113dd9e5fd28394eb
|
||||
|
54
dev-util/xpipe/xpipe-16.5.ebuild
Normal file
54
dev-util/xpipe/xpipe-16.5.ebuild
Normal file
@ -0,0 +1,54 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit desktop unpacker xdg
|
||||
|
||||
DESCRIPTION="Your entire server infrastructure at your fingertips"
|
||||
HOMEPAGE="https://xpipe.io/"
|
||||
#SRC_URI="https://github.com/${PN}-io/${PN}/releases/download/${PV}/${PN}-installer-linux-x86_64.deb -> ${PN}-installer-linux-${PV}-x86_64.deb"
|
||||
SRC_URI="https://github.com/${PN}-io/${PN}/releases/download/${PV}/${PN}-portable-linux-x86_64.tar.gz -> ${PN}-portable-linux-${PV}-x86_64.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64"
|
||||
RESTRICT="bindist mirror splitdebug test"
|
||||
#IUSE="swiftshader system-ffmpeg"
|
||||
IUSE=""
|
||||
|
||||
QA_PREBUILT="*"
|
||||
|
||||
RDEPEND="
|
||||
"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
src_install() {
|
||||
|
||||
mv xpipe-${PV} xpipe
|
||||
dodir /opt
|
||||
cp -a xpipe "${ED}"/opt || die
|
||||
|
||||
dosym ../../opt/xpipe/cli/bin/xpipe usr/bin/xpipe
|
||||
|
||||
dosym ../../opt/xpipe/cli/xpipe_completion etc/bash_completion.d/xpipe
|
||||
|
||||
domenu ${FILESDIR}/${PN}.desktop
|
||||
doicon ${FILESDIR}/${PN}.png
|
||||
|
||||
doman xpipe/cli/man/*
|
||||
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
xdg_pkg_preinst
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
}
|
@ -1 +1 @@
|
||||
EBUILD ncpfs-modules-9999.ebuild 1427 BLAKE2B 42130c0fe71b0d479863d14034375bd7c09158bfdb94b007398f132983f99d39b2621de47f9a5d12e7ae86dfd77bcafef1bb4a7920af39dcdae28f1f4e107a18 SHA512 874dbf06f1029e8fb1f4a7010c6913a981242f165dd890c440462b416f9332e988b248c47709637daaa31aeb8f89e3f834f7ba971333e0c1c0efc679de897b91
|
||||
EBUILD ncpfs-modules-9999.ebuild 1493 BLAKE2B a9ad1d939acf6705080c537c8164e1233e2a02218847bb2f021041045749077e4a07adbf9b1be2cb97dc7299b653a51fd7d40a34ff773031f2b3f596c8f2bfad SHA512 7cd5fa79f3d2d7976aaf6c2d5a64165cdb05b7f50a31687bb58840850493afeea525054f13d2c02299d04e5da612e4d2cbcb1d2327402eae582b478f3d481c81
|
||||
|
@ -8,7 +8,7 @@ inherit git-r3 linux-info linux-mod
|
||||
DESCRIPTION="ncpfs kernel module for Linux 4.18+"
|
||||
HOMEPAGE="https://github.com/EnzephaloN/ncpfs-module"
|
||||
EGIT_REPO_URI="https://github.com/EnzephaloN/ncpfs-module.git"
|
||||
EGIT_REPO_URI="https://github.com/hundertzwei/ncpfs-module.git"
|
||||
#EGIT_REPO_URI="https://github.com/hundertzwei/ncpfs-module.git"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
@ -54,6 +54,9 @@ src_unpack() {
|
||||
EGIT_BRANCH="kernel_6.8"
|
||||
fi
|
||||
if kernel_is gt 6 12 0; then
|
||||
EGIT_BRANCH="kernel_6.12"
|
||||
fi
|
||||
if kernel_is gt 6 13 0; then
|
||||
EGIT_BRANCH="master"
|
||||
fi
|
||||
|
||||
|
@ -21,4 +21,4 @@ AUX ncpfs-2.2.6-servername-array-fix.patch 523 BLAKE2B 6cf9c27ae7bda17722a74f550
|
||||
AUX ncpfs-2.2.6-usr-merge.patch 514 BLAKE2B 44873b8731d062b2fe802f9ecc145509d12625be4e62b1025738a6076cb003d5577c2d5c21e338ff5fade6e0bea844a254509287a82aabc0bb92db20b0c7ec5d SHA512 cf05a0b2e41c45a8215bf1b150b79a16cdaa040c4e41ab6f361fffaa2a937fb792b464b1a9b49ecde18ae5df8e58e1887b1e965ff39adf1f05a2418f89efca11
|
||||
AUX ncpfs-2.2.6-zend_function_entry.patch 296 BLAKE2B 3bb6db87517e0fb086e95462e9b567628ede7fbeef77b5d6e101dec8a316f2a5185cad8846bbaf37dada789acfedf6f6bbc75dafa92f3eb140cfde4eb038e1eb SHA512 c96723a840cb1b0cdddb91ebe74620b87a32350be084f21b741bda4e399a7648fd00522e9f2ec8404d5a98835d3f5a343dd588f4279848cc031de5bed01680e0
|
||||
DIST ncpfs-2.2.6.tar.gz 2100545 BLAKE2B b95c8c0b097227c7b9e526e978efdca2234cdd0833468be99abaa68b0feba09794be26ebcb3a1c3371bc99f6c9d007eee164fa5f918aaee3eca44aeb1420211f SHA512 51f85eaae85deb66cea2ff434974699f6aa45ed1ed75217ef6176ac0b7d0f9f1c4fb186afc64c1b495474d5bad9ac7614033128c0bec39c05de723a9b29c8602
|
||||
EBUILD ncpfs-2.2.6-r5.ebuild 2570 BLAKE2B 4b0e38187dbc11d4e36b83e5c5af94adcc13eff3f5cf226d09d484c750b38a4776773cde8b34c60f73dd01498397a1cf735415859c87780e1065fdb4faed61d2 SHA512 33acfe1c75df6b5d293234623405bee48264c97d285e31eb5b7ca3fdecb71d62103b3dfcd2e25ec97389554d43910ed2e24b20e7cd3a9d37e89ec029ff701665
|
||||
EBUILD ncpfs-2.2.6-r5.ebuild 2671 BLAKE2B 9a73640d055ff00d469fc6eea0fc08d44f98a6791ea830cbe5fb01422ecd99c68f7ce1ce1df51b6020877696fb5954fac40e88957772fd2c02758112f9383c6f SHA512 aaab51e16b38f753b164e3f4deed8b6d475e6ac54c43a109b5e8d7979215d5e7370729fec889cce89f4cf7ec8d595d93c29aa1bec8b1eaa4167b657a2f1ade35
|
||||
|
@ -7,7 +7,8 @@ inherit pam
|
||||
|
||||
DESCRIPTION="Provides access to Netware services using the NCP protocol"
|
||||
HOMEPAGE="ftp://platan.vc.cvut.cz/pub/linux/ncpfs/"
|
||||
SRC_URI="ftp://platan.vc.cvut.cz/pub/linux/${PN}/${P}.tar.gz"
|
||||
SRC_URI="ftp://platan.vc.cvut.cz/pub/linux/${PN}/${P}.tar.gz
|
||||
https://old-releases.ubuntu.com/ubuntu/pool/universe/n/ncpfs/ncpfs_${PV}.orig.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
|
10
net-libs/webkit-gtk/Manifest
Normal file
10
net-libs/webkit-gtk/Manifest
Normal file
@ -0,0 +1,10 @@
|
||||
AUX 2.44.1-non-unified-build-fixes.patch 11799 BLAKE2B 6928f61428c4bc6594a46f7427e644143b071c39cc7405b143d693f956631519860efd958dd928f55c1e6139334966fd6bb92e42594c7b7b9b11236d5b0154f2 SHA512 c3ee1b48bebe8c6e504b6d15277b67261cceffa9790a212972f2d0ffd32d68c60c96373a2fecc0af9c6400114ecc84130bb23d81d03e08473b60eaadc3df9802
|
||||
AUX 2.44.4-fix-icu76.1.patch 1215 BLAKE2B 0d4aa869b52eb6579ff58421982e80f02077e064988b30887af9d7da5a1c31bb652fdc406fbfe4e0895cd4c4e0e67b2cc4e363e8d8c60aac5d5683808fd52080 SHA512 356051853ce56e040aed620a6cb68dba75c2387ed396cfea85c2fcd5e51998a31ea2e2eca5305d9aa99b66f6f8ea7e8983851c77ca654a97ec3b3ecce8bd651c
|
||||
AUX 2.48.3-fix-ftbfs-riscv64.patch 1469 BLAKE2B c6e74307539730b31e3c67f8d80b54c5b8ae39fadfd6623d0bb964553510a3f6c0797183d89589ef0a29ab843adea341b3a00ced422f72352ca9aaa29dcda42b SHA512 2835d3b4093f1c0fe369494d401f75645df166eb60da97a983a2396407b71ef7485646d7e7f7c2d7cc2d15e7160e45fb62b6bcfcf0e08197c7c0ff93b52011f7
|
||||
DIST webkitgtk-2.44.4.tar.xz 35858056 BLAKE2B 9e3d016bfb2b4e80d2ebeda95e75f8ec8b909b41b17a879d3e1119ed66e3bf4d590a22ed814bb1572dac8d8a8838bb37b5ab1372121b276e02ee8925f6c5b00c SHA512 037ef6a9faca68b68dc62927a475134450493129043ea6cc03595cd4a684d590f80a1e9c3ed40a9176874ba43fc9efbc5065a264dfe131ebd72e272756612db9
|
||||
DIST webkitgtk-2.46.5.tar.xz 42898600 BLAKE2B 04f824f9864749c13810318c06e5da90265025062a706030bece73661cf89b8d972040c508ca5b4267d476f9dac8fcdaa82943409f6ae45ab84801d899a1ed7f SHA512 9a0eb018361d407f13b303f66babcdc9960075bf69b83cf2ee8f708e5396cfa9e0a720f77695aea216072392e0603c2dc8ad50e6d56f962d4a52e9cdadf38275
|
||||
DIST webkitgtk-2.48.3.tar.xz 44171964 BLAKE2B d07afd02ca3159e2a8998167818614eb586754f6485ea5b998a10686df44a16c99c5890b6fc7ccb3c1aa4aef82f1626be39cd67a4e60dbbe9eda466fd17aa002 SHA512 0724e0d22403552409d0f621d9ed3a6404813ca63d445b9ac8f99682a544c95a3cf8108ac880cb3bcadc0ecd5a772db40e68f753c286700ffc7f2851bba12e84
|
||||
EBUILD webkit-gtk-2.44.4-r1.ebuild 7887 BLAKE2B 0e91fad933488cb8897529be1460b428f5587c1e5ad917855440d65e616282bd11dd7db5155064636edb9df8e1c998ff79a7d32dc8178bd9c9a178eab0d15812 SHA512 b9e5a868b8062e9b21b1d16ad63476b241dc2e578d10467e1b1e98f7b0b2433f305b6ef5b8e3050d96d634d0a63f687e2becdbd721e4f88822e7cf535c027c41
|
||||
EBUILD webkit-gtk-2.46.5-r1.ebuild 8037 BLAKE2B abea5ce78fd795ea34f9394a2e3d87860e9a32a2a44652be73112d82fcc3c0d27d4ab619c861baee5632d34207122f08011a1f5f7643c3ebc1b18b76998b88e3 SHA512 21e9d8e5f1c1313ce76b1da5b2b0375097ee375d6a4d8c9e383d9181751ee90b39d9e61bce94e71c7b3c5ce41e4c97fd8ea5616add14d09c6a68044b187f37e8
|
||||
EBUILD webkit-gtk-2.48.3.ebuild 8175 BLAKE2B 51debd76cbf21da952517119e85b4e9d53f047f8d6c673f0d89201b76dec2db4e4b6a3e6b64334fc0ab1a830a5674b9c229b7dbbb09b39f5d13a69a79495eef2 SHA512 546bc6a2a119fd099867d5eacd6a7936e39035abbc0caa9c2c602795eccfb77bfaff4446a5441b4a7c4ff8a8a5657887e9f96c533179a0aef55cb7000581aaa6
|
||||
MISC metadata.xml 790 BLAKE2B cc1db6c1cd6771cafe9b2690790b12a34a7ea49f3dd00c9439ad05a18099c96dd1c5a6575c884c55d09e34f6dc247ca05256a52facb35a54376e61640eececd0 SHA512 b9e123a69e0353a20661ce817ead87b61370d0a68ef175cdf1ced00afacf67204c67bb549aac2006326d8aab7d6e41a841b00d16fc4431626e7ad7782f6158db
|
322
net-libs/webkit-gtk/files/2.44.1-non-unified-build-fixes.patch
Normal file
322
net-libs/webkit-gtk/files/2.44.1-non-unified-build-fixes.patch
Normal file
@ -0,0 +1,322 @@
|
||||
From 211b73efb2a416f3b464d9d74da0aa8f93abe016 Mon Sep 17 00:00:00 2001
|
||||
From: Don Olmstead <don.olmstead@sony.com>
|
||||
Date: Fri, 8 Mar 2024 17:27:09 -0800
|
||||
Subject: [PATCH] Non-unified build fixes, early March 2024 edition
|
||||
https://bugs.webkit.org/show_bug.cgi?id=270719
|
||||
|
||||
Unreviewed non-unified build fix.
|
||||
|
||||
* Source/JavaScriptCore/jit/JITSizeStatistics.cpp:
|
||||
* Source/WebCore/Modules/model-element/ModelPlayerClient.h:
|
||||
* Source/WebCore/css/CSSCrossfadeValue.h:
|
||||
* Source/WebCore/css/CSSImageSetOptionValue.cpp:
|
||||
* Source/WebCore/css/CSSImageSetOptionValue.h:
|
||||
* Source/WebCore/css/CSSReflectValue.cpp:
|
||||
* Source/WebCore/css/CSSReflectValue.h:
|
||||
* Source/WebCore/css/CSSShadowValue.h:
|
||||
* Source/WebCore/css/CSSValuePair.cpp:
|
||||
* Source/WebCore/css/CSSValuePair.h:
|
||||
* Source/WebCore/dom/SlotAssignment.h:
|
||||
* Source/WebCore/dom/TrustedType.cpp:
|
||||
* Source/WebCore/rendering/svg/RenderSVGPath.cpp:
|
||||
* Source/WebCore/rendering/svg/RenderSVGResourceLinearGradient.cpp:
|
||||
* Source/WebCore/rendering/svg/RenderSVGResourceMarker.cpp:
|
||||
* Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp:
|
||||
* Source/WebCore/rendering/svg/RenderSVGResourceRadialGradient.cpp:
|
||||
* Source/WebKit/GPUProcess/graphics/RemoteImageBufferSet.cpp:
|
||||
* Source/WebKit/Shared/WebGPU/WebGPURenderPassDepthStencilAttachment.cpp:
|
||||
* Source/WebKit/UIProcess/BrowsingContextGroup.cpp:
|
||||
* Source/WebKit/UIProcess/FrameProcess.cpp:
|
||||
* Source/WebKit/UIProcess/ProvisionalPageProxy.cpp:
|
||||
|
||||
Canonical link: https://commits.webkit.org/275863@main
|
||||
|
||||
(cherry picked from commit 38c6ecad0ea32e80cb3e811c3ff759074006791f)
|
||||
---
|
||||
Source/JavaScriptCore/jit/JITSizeStatistics.cpp | 1 +
|
||||
Source/WebCore/Modules/model-element/ModelPlayerClient.h | 1 +
|
||||
Source/WebCore/css/CSSCrossfadeValue.h | 3 ++-
|
||||
Source/WebCore/css/CSSImageSetOptionValue.cpp | 1 -
|
||||
Source/WebCore/css/CSSImageSetOptionValue.h | 4 ++--
|
||||
Source/WebCore/css/CSSReflectValue.cpp | 2 --
|
||||
Source/WebCore/css/CSSReflectValue.h | 4 ++--
|
||||
Source/WebCore/css/CSSShadowValue.h | 4 ++--
|
||||
Source/WebCore/css/CSSValuePair.cpp | 1 +
|
||||
Source/WebCore/css/CSSValuePair.h | 1 +
|
||||
Source/WebCore/dom/SlotAssignment.h | 1 +
|
||||
Source/WebCore/rendering/svg/RenderSVGPath.cpp | 2 ++
|
||||
.../WebCore/rendering/svg/RenderSVGResourceLinearGradient.cpp | 2 ++
|
||||
Source/WebCore/rendering/svg/RenderSVGResourceMarker.cpp | 2 ++
|
||||
Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp | 2 ++
|
||||
.../WebCore/rendering/svg/RenderSVGResourceRadialGradient.cpp | 2 ++
|
||||
.../Shared/WebGPU/WebGPURenderPassDepthStencilAttachment.cpp | 1 +
|
||||
Source/WebKit/UIProcess/ProvisionalPageProxy.cpp | 1 +
|
||||
18 files changed, 25 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/Source/JavaScriptCore/jit/JITSizeStatistics.cpp b/Source/JavaScriptCore/jit/JITSizeStatistics.cpp
|
||||
index f1bc2780343a..b2ffd81ee34d 100644
|
||||
--- a/Source/JavaScriptCore/jit/JITSizeStatistics.cpp
|
||||
+++ b/Source/JavaScriptCore/jit/JITSizeStatistics.cpp
|
||||
@@ -29,6 +29,7 @@
|
||||
#if ENABLE(JIT)
|
||||
|
||||
#include "CCallHelpers.h"
|
||||
+#include "JITPlan.h"
|
||||
#include "LinkBuffer.h"
|
||||
#include <wtf/BubbleSort.h>
|
||||
#include <wtf/TZoneMallocInlines.h>
|
||||
diff --git a/Source/WebCore/Modules/model-element/ModelPlayerClient.h b/Source/WebCore/Modules/model-element/ModelPlayerClient.h
|
||||
index 9343d5102015..b9cf2857eee2 100644
|
||||
--- a/Source/WebCore/Modules/model-element/ModelPlayerClient.h
|
||||
+++ b/Source/WebCore/Modules/model-element/ModelPlayerClient.h
|
||||
@@ -25,6 +25,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
+#include "LayerHostingContextIdentifier.h"
|
||||
#include "PlatformLayerIdentifier.h"
|
||||
#include <wtf/Forward.h>
|
||||
#include <wtf/WeakPtr.h>
|
||||
diff --git a/Source/WebCore/css/CSSCrossfadeValue.h b/Source/WebCore/css/CSSCrossfadeValue.h
|
||||
index eafa3bb5e828..86b87be608fe 100644
|
||||
--- a/Source/WebCore/css/CSSCrossfadeValue.h
|
||||
+++ b/Source/WebCore/css/CSSCrossfadeValue.h
|
||||
@@ -25,11 +25,12 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
+#include "CSSPrimitiveValue.h"
|
||||
#include "CSSValue.h"
|
||||
+#include <wtf/Function.h>
|
||||
|
||||
namespace WebCore {
|
||||
|
||||
-class CSSPrimitiveValue;
|
||||
class StyleImage;
|
||||
|
||||
namespace Style {
|
||||
diff --git a/Source/WebCore/css/CSSImageSetOptionValue.cpp b/Source/WebCore/css/CSSImageSetOptionValue.cpp
|
||||
index 9becc5444e10..2b7812e419a2 100644
|
||||
--- a/Source/WebCore/css/CSSImageSetOptionValue.cpp
|
||||
+++ b/Source/WebCore/css/CSSImageSetOptionValue.cpp
|
||||
@@ -27,7 +27,6 @@
|
||||
#include "CSSImageSetOptionValue.h"
|
||||
|
||||
#include "CSSImageValue.h"
|
||||
-#include "CSSPrimitiveValue.h"
|
||||
|
||||
namespace WebCore {
|
||||
|
||||
diff --git a/Source/WebCore/css/CSSImageSetOptionValue.h b/Source/WebCore/css/CSSImageSetOptionValue.h
|
||||
index 60ef16534b24..c65ddccc04b5 100644
|
||||
--- a/Source/WebCore/css/CSSImageSetOptionValue.h
|
||||
+++ b/Source/WebCore/css/CSSImageSetOptionValue.h
|
||||
@@ -25,13 +25,13 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
+#include "CSSPrimitiveValue.h"
|
||||
#include "CSSValue.h"
|
||||
+#include <wtf/Function.h>
|
||||
#include <wtf/text/WTFString.h>
|
||||
|
||||
namespace WebCore {
|
||||
|
||||
-class CSSPrimitiveValue;
|
||||
-
|
||||
class CSSImageSetOptionValue final : public CSSValue {
|
||||
public:
|
||||
static Ref<CSSImageSetOptionValue> create(Ref<CSSValue>&&);
|
||||
diff --git a/Source/WebCore/css/CSSReflectValue.cpp b/Source/WebCore/css/CSSReflectValue.cpp
|
||||
index 371e6ed16087..6049d4af7d2d 100644
|
||||
--- a/Source/WebCore/css/CSSReflectValue.cpp
|
||||
+++ b/Source/WebCore/css/CSSReflectValue.cpp
|
||||
@@ -26,8 +26,6 @@
|
||||
#include "config.h"
|
||||
#include "CSSReflectValue.h"
|
||||
|
||||
-#include "CSSPrimitiveValue.h"
|
||||
-
|
||||
namespace WebCore {
|
||||
|
||||
CSSReflectValue::CSSReflectValue(CSSValueID direction, Ref<CSSPrimitiveValue> offset, RefPtr<CSSValue> mask)
|
||||
diff --git a/Source/WebCore/css/CSSReflectValue.h b/Source/WebCore/css/CSSReflectValue.h
|
||||
index c67d2ad0dc4b..84f7b1d0e7e1 100644
|
||||
--- a/Source/WebCore/css/CSSReflectValue.h
|
||||
+++ b/Source/WebCore/css/CSSReflectValue.h
|
||||
@@ -25,12 +25,12 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
+#include "CSSPrimitiveValue.h"
|
||||
#include "CSSValue.h"
|
||||
+#include <wtf/Function.h>
|
||||
|
||||
namespace WebCore {
|
||||
|
||||
-class CSSPrimitiveValue;
|
||||
-
|
||||
class CSSReflectValue final : public CSSValue {
|
||||
public:
|
||||
static Ref<CSSReflectValue> create(CSSValueID direction, Ref<CSSPrimitiveValue> offset, RefPtr<CSSValue> mask);
|
||||
diff --git a/Source/WebCore/css/CSSShadowValue.h b/Source/WebCore/css/CSSShadowValue.h
|
||||
index 26857028cf36..7d6d25980f72 100644
|
||||
--- a/Source/WebCore/css/CSSShadowValue.h
|
||||
+++ b/Source/WebCore/css/CSSShadowValue.h
|
||||
@@ -20,13 +20,13 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
+#include "CSSPrimitiveValue.h"
|
||||
#include "CSSValue.h"
|
||||
+#include <wtf/Function.h>
|
||||
#include <wtf/RefPtr.h>
|
||||
|
||||
namespace WebCore {
|
||||
|
||||
-class CSSPrimitiveValue;
|
||||
-
|
||||
// Used for text-shadow and box-shadow
|
||||
class CSSShadowValue final : public CSSValue {
|
||||
public:
|
||||
diff --git a/Source/WebCore/css/CSSValuePair.cpp b/Source/WebCore/css/CSSValuePair.cpp
|
||||
index 7c64d5a9e353..a3e169a697c7 100644
|
||||
--- a/Source/WebCore/css/CSSValuePair.cpp
|
||||
+++ b/Source/WebCore/css/CSSValuePair.cpp
|
||||
@@ -25,6 +25,7 @@
|
||||
|
||||
#include "config.h"
|
||||
#include "CSSValuePair.h"
|
||||
+
|
||||
#include <wtf/Hasher.h>
|
||||
#include <wtf/text/WTFString.h>
|
||||
|
||||
diff --git a/Source/WebCore/css/CSSValuePair.h b/Source/WebCore/css/CSSValuePair.h
|
||||
index 0fc85298ca62..44c4d97c01ab 100644
|
||||
--- a/Source/WebCore/css/CSSValuePair.h
|
||||
+++ b/Source/WebCore/css/CSSValuePair.h
|
||||
@@ -26,6 +26,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "CSSValue.h"
|
||||
+#include <wtf/Function.h>
|
||||
|
||||
namespace WebCore {
|
||||
|
||||
diff --git a/Source/WebCore/dom/SlotAssignment.h b/Source/WebCore/dom/SlotAssignment.h
|
||||
index 9f9e1159e10a..478ca88bfca6 100644
|
||||
--- a/Source/WebCore/dom/SlotAssignment.h
|
||||
+++ b/Source/WebCore/dom/SlotAssignment.h
|
||||
@@ -30,6 +30,7 @@
|
||||
#include <wtf/HashSet.h>
|
||||
#include <wtf/Vector.h>
|
||||
#include <wtf/WeakHashMap.h>
|
||||
+#include <wtf/WeakHashSet.h>
|
||||
#include <wtf/WeakPtr.h>
|
||||
#include <wtf/text/AtomString.h>
|
||||
#include <wtf/text/AtomStringHash.h>
|
||||
diff --git a/Source/WebCore/rendering/svg/RenderSVGPath.cpp b/Source/WebCore/rendering/svg/RenderSVGPath.cpp
|
||||
index e9977db1c8b6..eba99e3a49d3 100644
|
||||
--- a/Source/WebCore/rendering/svg/RenderSVGPath.cpp
|
||||
+++ b/Source/WebCore/rendering/svg/RenderSVGPath.cpp
|
||||
@@ -30,12 +30,14 @@
|
||||
#include "RenderSVGPath.h"
|
||||
|
||||
#if ENABLE(LAYER_BASED_SVG_ENGINE)
|
||||
+
|
||||
#include "Gradient.h"
|
||||
#include "ReferencedSVGResources.h"
|
||||
#include "RenderLayer.h"
|
||||
#include "RenderSVGResourceMarkerInlines.h"
|
||||
#include "RenderSVGShapeInlines.h"
|
||||
#include "RenderStyleInlines.h"
|
||||
+#include "SVGElementTypeHelpers.h"
|
||||
#include "SVGMarkerElement.h"
|
||||
#include "SVGPathElement.h"
|
||||
#include "SVGSubpathData.h"
|
||||
diff --git a/Source/WebCore/rendering/svg/RenderSVGResourceLinearGradient.cpp b/Source/WebCore/rendering/svg/RenderSVGResourceLinearGradient.cpp
|
||||
index 85f79031ed4e..2b379fa4ebfe 100644
|
||||
--- a/Source/WebCore/rendering/svg/RenderSVGResourceLinearGradient.cpp
|
||||
+++ b/Source/WebCore/rendering/svg/RenderSVGResourceLinearGradient.cpp
|
||||
@@ -23,8 +23,10 @@
|
||||
#include "RenderSVGResourceLinearGradient.h"
|
||||
|
||||
#if ENABLE(LAYER_BASED_SVG_ENGINE)
|
||||
+
|
||||
#include "RenderSVGModelObjectInlines.h"
|
||||
#include "RenderSVGResourceLinearGradientInlines.h"
|
||||
+#include "SVGElementTypeHelpers.h"
|
||||
#include <wtf/IsoMallocInlines.h>
|
||||
|
||||
namespace WebCore {
|
||||
diff --git a/Source/WebCore/rendering/svg/RenderSVGResourceMarker.cpp b/Source/WebCore/rendering/svg/RenderSVGResourceMarker.cpp
|
||||
index d65a81f773eb..27abd9b6e0f7 100644
|
||||
--- a/Source/WebCore/rendering/svg/RenderSVGResourceMarker.cpp
|
||||
+++ b/Source/WebCore/rendering/svg/RenderSVGResourceMarker.cpp
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "RenderSVGResourceMarker.h"
|
||||
|
||||
#if ENABLE(LAYER_BASED_SVG_ENGINE)
|
||||
+
|
||||
#include "Element.h"
|
||||
#include "ElementIterator.h"
|
||||
#include "FloatPoint.h"
|
||||
@@ -34,6 +35,7 @@
|
||||
#include "RenderLayerInlines.h"
|
||||
#include "RenderSVGModelObjectInlines.h"
|
||||
#include "RenderSVGResourceMarkerInlines.h"
|
||||
+#include "SVGElementTypeHelpers.h"
|
||||
#include "SVGGraphicsElement.h"
|
||||
#include "SVGLengthContext.h"
|
||||
#include "SVGRenderStyle.h"
|
||||
diff --git a/Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp b/Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp
|
||||
index 81321523d0e4..86c59ca6fab6 100644
|
||||
--- a/Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp
|
||||
+++ b/Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "RenderSVGResourceMasker.h"
|
||||
|
||||
#if ENABLE(LAYER_BASED_SVG_ENGINE)
|
||||
+
|
||||
#include "Element.h"
|
||||
#include "ElementIterator.h"
|
||||
#include "FloatPoint.h"
|
||||
@@ -33,6 +34,7 @@
|
||||
#include "RenderSVGModelObjectInlines.h"
|
||||
#include "RenderSVGResourceMaskerInlines.h"
|
||||
#include "SVGContainerLayout.h"
|
||||
+#include "SVGElementTypeHelpers.h"
|
||||
#include "SVGGraphicsElement.h"
|
||||
#include "SVGLengthContext.h"
|
||||
#include "SVGRenderStyle.h"
|
||||
diff --git a/Source/WebCore/rendering/svg/RenderSVGResourceRadialGradient.cpp b/Source/WebCore/rendering/svg/RenderSVGResourceRadialGradient.cpp
|
||||
index 7d70fd721d73..25a9b293468e 100644
|
||||
--- a/Source/WebCore/rendering/svg/RenderSVGResourceRadialGradient.cpp
|
||||
+++ b/Source/WebCore/rendering/svg/RenderSVGResourceRadialGradient.cpp
|
||||
@@ -23,9 +23,11 @@
|
||||
#include "RenderSVGResourceRadialGradient.h"
|
||||
|
||||
#if ENABLE(LAYER_BASED_SVG_ENGINE)
|
||||
+
|
||||
#include "RenderSVGModelObjectInlines.h"
|
||||
#include "RenderSVGResourceRadialGradientInlines.h"
|
||||
#include "RenderSVGShape.h"
|
||||
+#include "SVGElementTypeHelpers.h"
|
||||
#include <wtf/IsoMallocInlines.h>
|
||||
|
||||
namespace WebCore {
|
||||
diff --git a/Source/WebKit/Shared/WebGPU/WebGPURenderPassDepthStencilAttachment.cpp b/Source/WebKit/Shared/WebGPU/WebGPURenderPassDepthStencilAttachment.cpp
|
||||
index a0c521a767f1..3d4c130de7fa 100644
|
||||
--- a/Source/WebKit/Shared/WebGPU/WebGPURenderPassDepthStencilAttachment.cpp
|
||||
+++ b/Source/WebKit/Shared/WebGPU/WebGPURenderPassDepthStencilAttachment.cpp
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "WebGPUConvertFromBackingContext.h"
|
||||
#include "WebGPUConvertToBackingContext.h"
|
||||
#include <WebCore/WebGPURenderPassDepthStencilAttachment.h>
|
||||
+#include <WebCore/WebGPUTextureView.h>
|
||||
|
||||
namespace WebKit::WebGPU {
|
||||
|
||||
--
|
||||
2.43.0
|
||||
|
31
net-libs/webkit-gtk/files/2.44.4-fix-icu76.1.patch
Normal file
31
net-libs/webkit-gtk/files/2.44.4-fix-icu76.1.patch
Normal file
@ -0,0 +1,31 @@
|
||||
https://bugs.gentoo.org/943213
|
||||
https://bugs.webkit.org/show_bug.cgi?id=282120
|
||||
https://github.com/WebKit/WebKit/commit/63f7badbada070ebaadd318b2801818ecf7e7ea0
|
||||
https://github.com/WebKit/WebKit/pull/35743
|
||||
https://unicode-org.atlassian.net/jira/software/c/projects/ICU/issues/ICU-22954
|
||||
|
||||
From 63f7badbada070ebaadd318b2801818ecf7e7ea0 Mon Sep 17 00:00:00 2001
|
||||
From: Don Olmstead <don.olmstead@sony.com>
|
||||
Date: Sat, 26 Oct 2024 08:27:01 -0700
|
||||
Subject: [PATCH] Support ICU 76.1 build
|
||||
https://bugs.webkit.org/show_bug.cgi?id=282120
|
||||
|
||||
Reviewed by Yusuke Suzuki.
|
||||
|
||||
In ICU 76.1 an additional macro `U_SHOW_CPLUSPLUS_HEADER_API` was added to
|
||||
control visibility of the C++ API within ICU. Set this value to `0` since WebKit
|
||||
wants to only use the C API.
|
||||
|
||||
* Source/WTF/wtf/Platform.h:
|
||||
|
||||
Canonical link: https://commits.webkit.org/285727@main
|
||||
--- a/Source/WTF/wtf/Platform.h
|
||||
+++ b/Source/WTF/wtf/Platform.h
|
||||
@@ -115,6 +115,7 @@
|
||||
/* ICU configuration. Some of these match ICU defaults on some platforms, but we would like them consistently set everywhere we build WebKit. */
|
||||
#define U_HIDE_DEPRECATED_API 1
|
||||
#define U_SHOW_CPLUSPLUS_API 0
|
||||
+#define U_SHOW_CPLUSPLUS_HEADER_API 0
|
||||
#ifdef __cplusplus
|
||||
#define UCHAR_TYPE char16_t
|
||||
#endif
|
40
net-libs/webkit-gtk/files/2.48.3-fix-ftbfs-riscv64.patch
Normal file
40
net-libs/webkit-gtk/files/2.48.3-fix-ftbfs-riscv64.patch
Normal file
@ -0,0 +1,40 @@
|
||||
From: Alberto Garcia <berto@igalia.com>
|
||||
Description: Use WTF_CPU_UNKNOWN when building for riscv64
|
||||
WebKitGTK doesn't build on riscv64 even with the JIT disabled.
|
||||
Treating the CPU as unknown is perhaps a bit severe, but it allows us
|
||||
to get the build done until someone steps up to maintain this
|
||||
properly.
|
||||
Bug: https://bugs.webkit.org/show_bug.cgi?id=271371
|
||||
Forwarded: no
|
||||
Index: webkitgtk/Source/WTF/wtf/PlatformCPU.h
|
||||
===================================================================
|
||||
--- webkitgtk.orig/Source/WTF/wtf/PlatformCPU.h
|
||||
+++ webkitgtk/Source/WTF/wtf/PlatformCPU.h
|
||||
@@ -285,14 +285,6 @@
|
||||
|
||||
#endif /* ARM */
|
||||
|
||||
-/* CPU(RISCV64) - RISC-V 64-bit */
|
||||
-#if defined(__riscv) \
|
||||
- && defined(__riscv_xlen) \
|
||||
- && (__riscv_xlen == 64)
|
||||
-#define WTF_CPU_RISCV64 1
|
||||
-#define WTF_CPU_KNOWN 1
|
||||
-#endif
|
||||
-
|
||||
#if !CPU(KNOWN)
|
||||
#define WTF_CPU_UNKNOWN 1
|
||||
#endif
|
||||
Index: webkitgtk/Source/cmake/WebKitCommon.cmake
|
||||
===================================================================
|
||||
--- webkitgtk.orig/Source/cmake/WebKitCommon.cmake
|
||||
+++ webkitgtk/Source/cmake/WebKitCommon.cmake
|
||||
@@ -125,8 +125,6 @@ if (NOT HAS_RUN_WEBKIT_COMMON)
|
||||
set(WTF_CPU_PPC64 1)
|
||||
elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64le")
|
||||
set(WTF_CPU_PPC64LE 1)
|
||||
- elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^riscv64")
|
||||
- set(WTF_CPU_RISCV64 1)
|
||||
elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^loongarch64")
|
||||
set(WTF_CPU_LOONGARCH64 1)
|
||||
else ()
|
19
net-libs/webkit-gtk/metadata.xml
Normal file
19
net-libs/webkit-gtk/metadata.xml
Normal file
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>gnome@gentoo.org</email>
|
||||
<name>Gentoo GNOME Desktop</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="examples">Install the MiniBrowser example application</flag>
|
||||
<flag name="gamepad">Enable gamepad input support via <pkg>dev-libs/libmanette</pkg></flag>
|
||||
<flag name="jumbo-build">Combine source files to speed up build process</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<bugs-to>https://bugs.webkit.org</bugs-to>
|
||||
<changelog>https://www.webkitgtk.org/news.html</changelog>
|
||||
<doc>https://webkitgtk.org/reference/webkitgtk/stable/</doc>
|
||||
<remote-id type="github">WebKit/WebKit</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
254
net-libs/webkit-gtk/webkit-gtk-2.44.4-r1.ebuild
Normal file
254
net-libs/webkit-gtk/webkit-gtk-2.44.4-r1.ebuild
Normal file
@ -0,0 +1,254 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
PYTHON_REQ_USE="xml(+)"
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
USE_RUBY="ruby31 ruby32 ruby33"
|
||||
|
||||
inherit check-reqs flag-o-matic gnome2 optfeature python-any-r1 ruby-single toolchain-funcs cmake
|
||||
|
||||
MY_P="webkitgtk-${PV}"
|
||||
DESCRIPTION="Open source web browser engine"
|
||||
HOMEPAGE="https://www.webkitgtk.org"
|
||||
SRC_URI="https://www.webkitgtk.org/releases/${MY_P}.tar.xz"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="LGPL-2+ BSD"
|
||||
SLOT="4/37" # soname version of libwebkit2gtk-4.0
|
||||
KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
|
||||
|
||||
IUSE="aqua avif examples gamepad keyring +gstreamer +introspection pdf jpegxl +jumbo-build lcms seccomp spell systemd wayland X"
|
||||
REQUIRED_USE="|| ( aqua wayland X )"
|
||||
|
||||
# Tests do not run when built from tarballs
|
||||
# https://bugs.webkit.org/show_bug.cgi?id=215986
|
||||
RESTRICT="test"
|
||||
|
||||
# Dependencies found at Source/cmake/OptionsGTK.cmake
|
||||
# Missing WebRTC support, but ENABLE_WEB_RTC is experimental upstream
|
||||
# media-libs/mesa dep is for libgbm
|
||||
# >=gst-plugins-opus-1.14.4-r1 for opusparse (required by MSE)
|
||||
# TODO: gst-plugins-base[X] is only needed when build configuration ends up
|
||||
# with GLX set, but that's a bit automagic too to fix
|
||||
RDEPEND="
|
||||
>=x11-libs/cairo-1.16.0[X?]
|
||||
>=media-libs/fontconfig-2.13.0:1.0
|
||||
>=media-libs/freetype-2.9.0:2
|
||||
>=dev-libs/libgcrypt-1.7.0:0=
|
||||
dev-libs/libtasn1:=
|
||||
>=x11-libs/gtk+-3.22.0:3[aqua?,introspection?,wayland?,X?]
|
||||
>=media-libs/harfbuzz-1.4.2:=[icu(+)]
|
||||
>=dev-libs/icu-61.2:=
|
||||
media-libs/libjpeg-turbo:0=
|
||||
>=media-libs/libepoxy-1.5.4[egl(+)]
|
||||
>=net-libs/libsoup-2.54:2.4[introspection?]
|
||||
>=dev-libs/libxml2-2.8.0:2=
|
||||
>=media-libs/libpng-1.4:0=
|
||||
dev-db/sqlite:3
|
||||
sys-libs/zlib:0
|
||||
media-libs/libwebp:=
|
||||
>=app-accessibility/at-spi2-core-2.46.0:2
|
||||
|
||||
>=dev-libs/glib-2.70.0:2
|
||||
>=dev-libs/libxslt-1.1.7
|
||||
media-libs/woff2
|
||||
keyring? ( app-crypt/libsecret )
|
||||
introspection? ( >=dev-libs/gobject-introspection-1.59.1:= )
|
||||
x11-libs/libdrm
|
||||
media-libs/mesa
|
||||
spell? ( >=app-text/enchant-0.22:2 )
|
||||
gstreamer? (
|
||||
>=media-libs/gstreamer-1.20:1.0
|
||||
>=media-libs/gst-plugins-base-1.20:1.0[egl,X?]
|
||||
media-libs/gst-plugins-base:1.0[opengl]
|
||||
>=media-plugins/gst-plugins-opus-1.20:1.0
|
||||
>=media-libs/gst-plugins-bad-1.20:1.0
|
||||
)
|
||||
|
||||
X? ( x11-libs/libX11 )
|
||||
|
||||
dev-libs/hyphen
|
||||
jpegxl? ( >=media-libs/libjxl-0.7.0:= )
|
||||
avif? ( >=media-libs/libavif-0.9.0:= )
|
||||
lcms? ( media-libs/lcms:2 )
|
||||
|
||||
media-libs/libglvnd
|
||||
wayland? (
|
||||
>=dev-libs/wayland-1.20
|
||||
>=dev-libs/wayland-protocols-1.24
|
||||
)
|
||||
|
||||
seccomp? (
|
||||
>=sys-apps/bubblewrap-0.3.1
|
||||
sys-libs/libseccomp
|
||||
sys-apps/xdg-dbus-proxy
|
||||
)
|
||||
|
||||
systemd? ( sys-apps/systemd:= )
|
||||
gamepad? ( >=dev-libs/libmanette-0.2.4 )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
# Need real bison, not yacc
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
${RUBY_DEPS}
|
||||
>=app-accessibility/at-spi2-core-2.5.3
|
||||
dev-util/gdbus-codegen
|
||||
dev-util/glib-utils
|
||||
>=dev-util/gperf-3.0.1
|
||||
dev-util/unifdef
|
||||
>=sys-devel/bison-2.4.3
|
||||
|| ( >=sys-devel/gcc-7.3 >=llvm-core/clang-5 )
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
|
||||
>=dev-lang/perl-5.10
|
||||
virtual/perl-Data-Dumper
|
||||
virtual/perl-Carp
|
||||
virtual/perl-JSON-PP
|
||||
|
||||
wayland? ( dev-util/wayland-scanner )
|
||||
"
|
||||
|
||||
CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307
|
||||
|
||||
# We cannot use PATCHES because src_prepare() calls cmake_src_prepare and
|
||||
# gnome2_src_prepare, and both apply ${PATCHES[@]}
|
||||
PATCHES=()
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ ${MERGE_TYPE} != "binary" ]] ; then
|
||||
if is-flagq "-g*" && ! is-flagq "-g*0" ; then
|
||||
einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS"
|
||||
check-reqs_pkg_pretend
|
||||
fi
|
||||
|
||||
if ! test-flag-CXX -std=c++17 ; then
|
||||
die "You need at least GCC 7.3.x or Clang >= 5 for C++17-specific compiler flags"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then
|
||||
check-reqs_pkg_setup
|
||||
fi
|
||||
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
gnome2_src_prepare
|
||||
|
||||
# Fix USE=-jumbo-build on all arches
|
||||
eapply "${FILESDIR}"/2.44.1-non-unified-build-fixes.patch
|
||||
|
||||
# https://bugs.gentoo.org/943213
|
||||
eapply "${FILESDIR}"/2.44.4-fix-icu76.1.patch
|
||||
|
||||
# We don't want -Werror for gobject-introspection (bug #947761)
|
||||
sed -i -e "s:--warn-error::" Source/cmake/FindGI.cmake || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Respect CC, otherwise fails on prefix #395875
|
||||
tc-export CC
|
||||
|
||||
# ODR violations (bug #915230, https://bugs.webkit.org/show_bug.cgi?id=233007)
|
||||
filter-lto
|
||||
|
||||
# It does not compile on alpha without this in LDFLAGS
|
||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648761
|
||||
use alpha && append-ldflags "-Wl,--no-relax"
|
||||
|
||||
# Sigbuses on SPARC with mcpu and co., bug #???
|
||||
use sparc && filter-flags "-mvis"
|
||||
|
||||
# https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634
|
||||
use ppc64 && append-flags "-mminimal-toc"
|
||||
|
||||
# Try to use less memory, bug #469942 (see Fedora .spec for reference)
|
||||
append-ldflags $(test-flags-CCLD "-Wl,--no-keep-memory")
|
||||
|
||||
# Ruby situation is a bit complicated. See bug 513888
|
||||
local rubyimpl
|
||||
local ruby_interpreter=""
|
||||
local RUBY
|
||||
for rubyimpl in ${USE_RUBY}; do
|
||||
if has_version -b "virtual/rubygems[ruby_targets_${rubyimpl}(-)]"; then
|
||||
RUBY="$(type -P ${rubyimpl})"
|
||||
ruby_interpreter="-DRUBY_EXECUTABLE=${RUBY}"
|
||||
fi
|
||||
done
|
||||
# This will rarely occur. Only a couple of corner cases could lead us to
|
||||
# that failure. See bug 513888
|
||||
[[ -z ${ruby_interpreter} ]] && die "No suitable ruby interpreter found"
|
||||
# JavaScriptCore/Scripts/postprocess-asm invokes another Ruby script directly
|
||||
# so it doesn't respect RUBY_EXECUTABLE, bug #771744.
|
||||
sed -i -e "s:#!/usr/bin/env ruby:#!${RUBY}:" $(grep -rl "/usr/bin/env ruby" Source/JavaScriptCore || die) || die
|
||||
|
||||
# TODO: Check Web Audio support
|
||||
# should somehow let user select between them?
|
||||
|
||||
local mycmakeargs=(
|
||||
-DPython_EXECUTABLE="${PYTHON}"
|
||||
${ruby_interpreter}
|
||||
# If bubblewrap[suid] then portage makes it go-r and cmake find_program fails with that
|
||||
-DBWRAP_EXECUTABLE:FILEPATH="${EPREFIX}"/usr/bin/bwrap
|
||||
-DDBUS_PROXY_EXECUTABLE:FILEPATH="${EPREFIX}"/usr/bin/xdg-dbus-proxy
|
||||
-DPORT=GTK
|
||||
# Source/cmake/WebKitFeatures.cmake
|
||||
-DENABLE_API_TESTS=OFF
|
||||
-DENABLE_BUBBLEWRAP_SANDBOX=$(usex seccomp)
|
||||
-DENABLE_GAMEPAD=$(usex gamepad)
|
||||
-DENABLE_MINIBROWSER=$(usex examples)
|
||||
-DENABLE_PDFJS=$(usex pdf)
|
||||
-DENABLE_GEOLOCATION=ON # Runtime optional (talks over dbus service)
|
||||
-DENABLE_SPELLCHECK=$(usex spell)
|
||||
-DENABLE_UNIFIED_BUILDS=$(usex jumbo-build)
|
||||
-DENABLE_VIDEO=$(usex gstreamer)
|
||||
-DUSE_GSTREAMER_WEBRTC=$(usex gstreamer)
|
||||
-DUSE_GSTREAMER_TRANSCODER=$(usex gstreamer)
|
||||
-DENABLE_WEB_CODECS=$(usex gstreamer) # https://bugs.webkit.org/show_bug.cgi?id=269147
|
||||
-DENABLE_WEBDRIVER=OFF # Disable WebDriver for webkit2gtk-4.1 and use the webkit2gtk-6.0 one
|
||||
-DENABLE_WEBGL=ON
|
||||
-DENABLE_WEB_AUDIO=$(usex gstreamer)
|
||||
-DUSE_AVIF=$(usex avif)
|
||||
# Source/cmake/OptionsGTK.cmake
|
||||
-DENABLE_DOCUMENTATION=OFF
|
||||
-DENABLE_INTROSPECTION=$(usex introspection)
|
||||
-DENABLE_JOURNALD_LOG=$(usex systemd)
|
||||
-DENABLE_QUARTZ_TARGET=$(usex aqua)
|
||||
-DENABLE_WAYLAND_TARGET=$(usex wayland)
|
||||
-DENABLE_X11_TARGET=$(usex X)
|
||||
-DUSE_GBM=ON
|
||||
-DUSE_GTK4=OFF
|
||||
-DUSE_JPEGXL=$(usex jpegxl)
|
||||
-DUSE_LCMS=$(usex lcms)
|
||||
-DUSE_LIBBACKTRACE=OFF
|
||||
-DUSE_LIBDRM=ON
|
||||
-DUSE_LIBHYPHEN=ON
|
||||
-DUSE_LIBSECRET=$(usex keyring)
|
||||
-DUSE_SOUP2=ON
|
||||
-DUSE_WOFF2=ON
|
||||
)
|
||||
|
||||
# Temporary workaround for bug 938162 (upstream bug 271371).
|
||||
use riscv && mycmakeargs+=( -DENABLE_JIT=OFF )
|
||||
|
||||
# https://bugs.gentoo.org/761238
|
||||
append-cppflags -DNDEBUG
|
||||
|
||||
WK_USE_CCACHE=NO cmake_src_configure
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
optfeature "geolocation service (used at runtime if available)" "app-misc/geoclue"
|
||||
optfeature "Common Multimedia codecs" "media-plugins/gst-plugins-meta"
|
||||
optfeature "VAAPI encoding support" "media-libs/gst-plugins-bad[vaapi]"
|
||||
optfeature "MPEG-DASH support" "media-plugins/gst-plugins-dash"
|
||||
optfeature "HTTP live streaming (HLS) support" "media-plugins/gst-plugins-hls"
|
||||
}
|
256
net-libs/webkit-gtk/webkit-gtk-2.46.5-r1.ebuild
Normal file
256
net-libs/webkit-gtk/webkit-gtk-2.46.5-r1.ebuild
Normal file
@ -0,0 +1,256 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
PYTHON_REQ_USE="xml(+)"
|
||||
PYTHON_COMPAT=( python3_{10..13} )
|
||||
USE_RUBY="ruby31 ruby32 ruby33 ruby34"
|
||||
|
||||
inherit check-reqs flag-o-matic gnome2 optfeature python-any-r1 ruby-single toolchain-funcs cmake
|
||||
|
||||
MY_P="webkitgtk-${PV}"
|
||||
DESCRIPTION="Open source web browser engine"
|
||||
HOMEPAGE="https://www.webkitgtk.org"
|
||||
SRC_URI="https://www.webkitgtk.org/releases/${MY_P}.tar.xz"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="LGPL-2+ BSD"
|
||||
SLOT="4/37" # soname version of libwebkit2gtk-4.0
|
||||
KEYWORDS="amd64 ~arm arm64 ppc ppc64 ~sparc ~x86"
|
||||
|
||||
IUSE="aqua avif examples gamepad keyring +gstreamer +introspection pdf jpegxl +jumbo-build lcms seccomp spell systemd wayland X"
|
||||
REQUIRED_USE="|| ( aqua wayland X )"
|
||||
|
||||
# Tests do not run when built from tarballs
|
||||
# https://bugs.webkit.org/show_bug.cgi?id=215986
|
||||
RESTRICT="test"
|
||||
|
||||
# Dependencies can be found in Source/cmake/OptionsGTK.cmake.
|
||||
#
|
||||
# * Missing WebRTC support, but ENABLE_WEB_RTC is experimental upstream.
|
||||
#
|
||||
# * media-libs/mesa dep is for libgbm
|
||||
#
|
||||
# * >=gst-plugins-opus-1.14.4-r1 for opusparse (required by MSE)
|
||||
#
|
||||
# * TODO: gst-plugins-base[X] is only needed when build configuration ends up
|
||||
# with GLX set, but that's a bit automagic too to fix
|
||||
#
|
||||
# * Cairo is only needed on big-endian systems, where Skia is not officially
|
||||
# supported (the build system will choose a backend for you). We could probably
|
||||
# hard-code a list of BE arches here, to avoid the extra dependency? But I am
|
||||
# holding out hope that this might actually get fixed before we need to do that.
|
||||
#
|
||||
# * dev-util/sysprof-capture is disabled because it was a new dependency in 2.46
|
||||
# and we don't need any more new problems.
|
||||
#
|
||||
RDEPEND="
|
||||
app-accessibility/at-spi2-core:2
|
||||
dev-db/sqlite:3
|
||||
dev-libs/glib:2
|
||||
dev-libs/hyphen
|
||||
dev-libs/icu:=
|
||||
dev-libs/libgcrypt:0=
|
||||
dev-libs/libtasn1:=
|
||||
dev-libs/libxml2:2=
|
||||
dev-libs/libxslt
|
||||
media-libs/fontconfig:1.0
|
||||
media-libs/freetype:2
|
||||
media-libs/harfbuzz:=[icu(+)]
|
||||
media-libs/libjpeg-turbo:0=
|
||||
media-libs/libepoxy[egl(+)]
|
||||
media-libs/libglvnd
|
||||
media-libs/libpng:0=
|
||||
media-libs/libwebp:=
|
||||
media-libs/mesa
|
||||
media-libs/woff2
|
||||
net-libs/libsoup:2.4[introspection?]
|
||||
sys-libs/zlib:0
|
||||
x11-libs/cairo[X?]
|
||||
x11-libs/gtk+:3[aqua?,introspection?,wayland?,X?]
|
||||
x11-libs/libdrm
|
||||
avif? ( media-libs/libavif:= )
|
||||
gamepad? ( dev-libs/libmanette )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0
|
||||
media-libs/gst-plugins-base:1.0[egl,opengl,X?]
|
||||
media-plugins/gst-plugins-opus:1.0
|
||||
media-libs/gst-plugins-bad:1.0
|
||||
)
|
||||
introspection? ( dev-libs/gobject-introspection:= )
|
||||
jpegxl? ( media-libs/libjxl:= )
|
||||
keyring? ( app-crypt/libsecret )
|
||||
lcms? ( media-libs/lcms:2 )
|
||||
seccomp? (
|
||||
sys-apps/bubblewrap
|
||||
sys-libs/libseccomp
|
||||
sys-apps/xdg-dbus-proxy
|
||||
)
|
||||
spell? ( app-text/enchant:2 )
|
||||
systemd? ( sys-apps/systemd:= )
|
||||
X? ( x11-libs/libX11 )
|
||||
wayland? (
|
||||
dev-libs/wayland
|
||||
dev-libs/wayland-protocols
|
||||
)
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
# Need real bison, not yacc
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
${RUBY_DEPS}
|
||||
app-accessibility/at-spi2-core
|
||||
dev-lang/perl
|
||||
dev-util/gdbus-codegen
|
||||
dev-util/glib-utils
|
||||
dev-util/gperf
|
||||
dev-util/unifdef
|
||||
sys-devel/bison
|
||||
sys-devel/gettext
|
||||
virtual/perl-Data-Dumper
|
||||
virtual/perl-Carp
|
||||
virtual/perl-JSON-PP
|
||||
virtual/pkgconfig
|
||||
wayland? ( dev-util/wayland-scanner )
|
||||
"
|
||||
|
||||
CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307
|
||||
|
||||
# We cannot use PATCHES because src_prepare() calls cmake_src_prepare and
|
||||
# gnome2_src_prepare, and both apply ${PATCHES[@]}
|
||||
PATCHES=()
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ ${MERGE_TYPE} != "binary" ]] ; then
|
||||
if is-flagq "-g*" && ! is-flagq "-g*0" ; then
|
||||
einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS"
|
||||
check-reqs_pkg_pretend
|
||||
fi
|
||||
|
||||
if ! test-flag-CXX -std=c++17 ; then
|
||||
die "You need at least GCC 7.3.x or Clang >= 5 for C++17-specific compiler flags"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then
|
||||
check-reqs_pkg_setup
|
||||
fi
|
||||
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
gnome2_src_prepare
|
||||
|
||||
# https://bugs.gentoo.org/943213
|
||||
eapply "${FILESDIR}"/2.44.4-fix-icu76.1.patch
|
||||
|
||||
# We don't want -Werror for gobject-introspection (bug #947761)
|
||||
sed -i -e "s:--warn-error::" Source/cmake/FindGI.cmake || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Respect CC, otherwise fails on prefix #395875
|
||||
tc-export CC
|
||||
|
||||
# ODR violations (bug #915230, https://bugs.webkit.org/show_bug.cgi?id=233007)
|
||||
filter-lto
|
||||
|
||||
# It does not compile on alpha without this in LDFLAGS
|
||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648761
|
||||
use alpha && append-ldflags "-Wl,--no-relax"
|
||||
|
||||
# Sigbuses on SPARC with mcpu and co., bug #???
|
||||
use sparc && filter-flags "-mvis"
|
||||
|
||||
# https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634
|
||||
use ppc64 && append-flags "-mminimal-toc"
|
||||
|
||||
# Try to use less memory, bug #469942 (see Fedora .spec for reference)
|
||||
append-ldflags $(test-flags-CCLD "-Wl,--no-keep-memory")
|
||||
|
||||
# Ruby situation is a bit complicated. See bug 513888
|
||||
local rubyimpl
|
||||
local ruby_interpreter=""
|
||||
local RUBY
|
||||
for rubyimpl in ${USE_RUBY}; do
|
||||
if has_version -b "virtual/rubygems[ruby_targets_${rubyimpl}(-)]"; then
|
||||
RUBY="$(type -P ${rubyimpl})"
|
||||
ruby_interpreter="-DRUBY_EXECUTABLE=${RUBY}"
|
||||
fi
|
||||
done
|
||||
# This will rarely occur. Only a couple of corner cases could lead us to
|
||||
# that failure. See bug 513888
|
||||
[[ -z ${ruby_interpreter} ]] && die "No suitable ruby interpreter found"
|
||||
# JavaScriptCore/Scripts/postprocess-asm invokes another Ruby script directly
|
||||
# so it doesn't respect RUBY_EXECUTABLE, bug #771744.
|
||||
sed -i -e "s:#!/usr/bin/env ruby:#!${RUBY}:" $(grep -rl "/usr/bin/env ruby" Source/JavaScriptCore || die) || die
|
||||
|
||||
# TODO: Check Web Audio support
|
||||
# should somehow let user select between them?
|
||||
local mycmakeargs=(
|
||||
-DPython_EXECUTABLE="${PYTHON}"
|
||||
${ruby_interpreter}
|
||||
# If bubblewrap[suid] then portage makes it go-r and cmake find_program fails with that
|
||||
-DBWRAP_EXECUTABLE:FILEPATH="${EPREFIX}"/usr/bin/bwrap
|
||||
-DDBUS_PROXY_EXECUTABLE:FILEPATH="${EPREFIX}"/usr/bin/xdg-dbus-proxy
|
||||
-DPORT=GTK
|
||||
# Source/cmake/WebKitFeatures.cmake
|
||||
-DENABLE_API_TESTS=OFF
|
||||
-DENABLE_BUBBLEWRAP_SANDBOX=$(usex seccomp)
|
||||
-DENABLE_GAMEPAD=$(usex gamepad)
|
||||
-DENABLE_GEOLOCATION=ON # Runtime optional (talks over dbus service)
|
||||
-DENABLE_MINIBROWSER=$(usex examples)
|
||||
-DENABLE_PDFJS=$(usex pdf)
|
||||
-DENABLE_SPELLCHECK=$(usex spell)
|
||||
-DENABLE_UNIFIED_BUILDS=$(usex jumbo-build)
|
||||
-DENABLE_VIDEO=$(usex gstreamer)
|
||||
-DENABLE_WEB_AUDIO=$(usex gstreamer)
|
||||
-DENABLE_WEB_CODECS=$(usex gstreamer) # https://bugs.webkit.org/show_bug.cgi?id=269147
|
||||
-DENABLE_WEBDRIVER=OFF
|
||||
-DENABLE_WEBGL=ON
|
||||
-DUSE_AVIF=$(usex avif)
|
||||
-DUSE_GSTREAMER_WEBRTC=$(usex gstreamer)
|
||||
-DUSE_GSTREAMER_TRANSCODER=$(usex gstreamer)
|
||||
# Source/cmake/OptionsGTK.cmake
|
||||
-DENABLE_DOCUMENTATION=OFF
|
||||
-DENABLE_INTROSPECTION=$(usex introspection)
|
||||
-DENABLE_JOURNALD_LOG=$(usex systemd)
|
||||
-DENABLE_QUARTZ_TARGET=$(usex aqua)
|
||||
-DENABLE_WAYLAND_TARGET=$(usex wayland)
|
||||
-DENABLE_X11_TARGET=$(usex X)
|
||||
-DUSE_GBM=ON
|
||||
-DUSE_GTK4=OFF
|
||||
-DUSE_JPEGXL=$(usex jpegxl)
|
||||
-DUSE_LCMS=$(usex lcms)
|
||||
-DUSE_LIBBACKTRACE=OFF
|
||||
-DUSE_LIBDRM=ON
|
||||
-DUSE_LIBHYPHEN=ON
|
||||
-DUSE_LIBSECRET=$(usex keyring)
|
||||
-DUSE_SOUP2=ON
|
||||
-DUSE_SYSPROF_CAPTURE=OFF
|
||||
-DUSE_WOFF2=ON
|
||||
)
|
||||
|
||||
# Temporary workaround for bug 938162 (upstream bug 271371).
|
||||
# The idea to disable WebAssembly and the FTL JIT instead
|
||||
# of using ENABLE_JIT=OFF was stolen from OpenBSD.
|
||||
use riscv && mycmakeargs+=( -DENABLE_WEBASSEMBLY=OFF -DENABLE_FTL_JIT=OFF )
|
||||
|
||||
# https://bugs.gentoo.org/761238
|
||||
append-cppflags -DNDEBUG
|
||||
|
||||
WK_USE_CCACHE=NO cmake_src_configure
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
optfeature "geolocation service (used at runtime if available)" "app-misc/geoclue"
|
||||
optfeature "Common Multimedia codecs" "media-plugins/gst-plugins-meta"
|
||||
optfeature "VAAPI encoding support" "media-libs/gst-plugins-bad[vaapi]"
|
||||
optfeature "MPEG-DASH support" "media-plugins/gst-plugins-dash"
|
||||
optfeature "HTTP live streaming (HLS) support" "media-plugins/gst-plugins-hls"
|
||||
}
|
263
net-libs/webkit-gtk/webkit-gtk-2.48.3.ebuild
Normal file
263
net-libs/webkit-gtk/webkit-gtk-2.48.3.ebuild
Normal file
@ -0,0 +1,263 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
PYTHON_REQ_USE="xml(+)"
|
||||
PYTHON_COMPAT=( python3_{10..13} )
|
||||
USE_RUBY="ruby31 ruby32 ruby33 ruby34"
|
||||
|
||||
inherit check-reqs flag-o-matic gnome2 optfeature python-any-r1 ruby-single toolchain-funcs cmake
|
||||
|
||||
MY_P="webkitgtk-${PV}"
|
||||
DESCRIPTION="Open source web browser engine"
|
||||
HOMEPAGE="https://www.webkitgtk.org"
|
||||
SRC_URI="https://www.webkitgtk.org/releases/${MY_P}.tar.xz"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="LGPL-2+ BSD"
|
||||
SLOT="4/37" # soname version of libwebkit2gtk-4.0
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
||||
|
||||
IUSE="aqua avif examples gamepad keyring +gstreamer +introspection pdf jpegxl +jumbo-build lcms seccomp spell systemd wayland X"
|
||||
REQUIRED_USE="|| ( aqua wayland X )"
|
||||
|
||||
# Tests do not run when built from tarballs
|
||||
# https://bugs.webkit.org/show_bug.cgi?id=215986
|
||||
RESTRICT="test"
|
||||
|
||||
# Dependencies can be found in Source/cmake/OptionsGTK.cmake.
|
||||
#
|
||||
# * Missing WebRTC support, but ENABLE_WEB_RTC is experimental upstream.
|
||||
#
|
||||
# * media-libs/mesa dep is for libgbm
|
||||
#
|
||||
# * >=gst-plugins-opus-1.14.4-r1 for opusparse (required by MSE)
|
||||
#
|
||||
# * TODO: gst-plugins-base[X] is only needed when build configuration ends up
|
||||
# with GLX set, but that's a bit automagic too to fix
|
||||
#
|
||||
# * Cairo is only needed on big-endian systems, where Skia is not officially
|
||||
# supported (the build system will choose a backend for you). We could probably
|
||||
# hard-code a list of BE arches here, to avoid the extra dependency? But I am
|
||||
# holding out hope that this might actually get fixed before we need to do that.
|
||||
#
|
||||
# * dev-util/sysprof-capture is disabled because it was a new dependency in 2.46
|
||||
# and we don't need any more new problems.
|
||||
#
|
||||
RDEPEND="
|
||||
app-accessibility/at-spi2-core:2
|
||||
dev-db/sqlite:3
|
||||
dev-libs/glib:2
|
||||
dev-libs/hyphen
|
||||
dev-libs/icu:=
|
||||
dev-libs/libgcrypt:0=
|
||||
dev-libs/libtasn1:=
|
||||
dev-libs/libxml2:2
|
||||
dev-libs/libxslt
|
||||
media-libs/fontconfig:1.0
|
||||
media-libs/freetype:2
|
||||
media-libs/harfbuzz:=[icu(+)]
|
||||
media-libs/libjpeg-turbo:0=
|
||||
media-libs/libepoxy[egl(+)]
|
||||
media-libs/libglvnd
|
||||
media-libs/libpng:0=
|
||||
media-libs/libwebp:=
|
||||
media-libs/mesa
|
||||
media-libs/woff2
|
||||
net-libs/libsoup:2.4[introspection?]
|
||||
sys-libs/zlib:0
|
||||
x11-libs/cairo[X?]
|
||||
x11-libs/gtk+:3[aqua?,introspection?,wayland?,X?]
|
||||
x11-libs/libdrm
|
||||
avif? ( media-libs/libavif:= )
|
||||
gamepad? ( dev-libs/libmanette )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0
|
||||
media-libs/gst-plugins-base:1.0[egl,opengl,X?]
|
||||
media-plugins/gst-plugins-opus:1.0
|
||||
media-libs/gst-plugins-bad:1.0
|
||||
)
|
||||
introspection? ( dev-libs/gobject-introspection:= )
|
||||
jpegxl? ( media-libs/libjxl:= )
|
||||
keyring? ( app-crypt/libsecret )
|
||||
lcms? ( media-libs/lcms:2 )
|
||||
seccomp? (
|
||||
sys-apps/bubblewrap
|
||||
sys-libs/libseccomp
|
||||
sys-apps/xdg-dbus-proxy
|
||||
)
|
||||
spell? ( app-text/enchant:2 )
|
||||
systemd? ( sys-apps/systemd:= )
|
||||
X? ( x11-libs/libX11 )
|
||||
wayland? (
|
||||
dev-libs/wayland
|
||||
dev-libs/wayland-protocols
|
||||
)
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
# Need real bison, not yacc
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
${RUBY_DEPS}
|
||||
app-accessibility/at-spi2-core
|
||||
dev-lang/perl
|
||||
dev-util/gdbus-codegen
|
||||
dev-util/glib-utils
|
||||
dev-util/gperf
|
||||
dev-util/unifdef
|
||||
sys-devel/bison
|
||||
sys-devel/gettext
|
||||
virtual/perl-Data-Dumper
|
||||
virtual/perl-Carp
|
||||
virtual/perl-JSON-PP
|
||||
virtual/pkgconfig
|
||||
wayland? ( dev-util/wayland-scanner )
|
||||
"
|
||||
|
||||
CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307
|
||||
|
||||
# We cannot use PATCHES because src_prepare() calls cmake_src_prepare and
|
||||
# gnome2_src_prepare, and both apply ${PATCHES[@]}
|
||||
PATCHES=()
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ ${MERGE_TYPE} != "binary" ]] ; then
|
||||
if is-flagq "-g*" && ! is-flagq "-g*0" ; then
|
||||
einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS"
|
||||
check-reqs_pkg_pretend
|
||||
fi
|
||||
|
||||
if ! test-flag-CXX -std=c++17 ; then
|
||||
die "You need at least GCC 7.3.x or Clang >= 5 for C++17-specific compiler flags"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then
|
||||
check-reqs_pkg_setup
|
||||
fi
|
||||
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
gnome2_src_prepare
|
||||
|
||||
# https://bugs.gentoo.org/938162, see also mycmakeargs
|
||||
eapply "${FILESDIR}"/2.48.3-fix-ftbfs-riscv64.patch
|
||||
|
||||
# We don't want -Werror for gobject-introspection (bug #947761)
|
||||
sed -i -e "s:--warn-error::" Source/cmake/FindGI.cmake || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Respect CC, otherwise fails on prefix #395875
|
||||
tc-export CC
|
||||
|
||||
# ODR violations (bug #915230, https://bugs.webkit.org/show_bug.cgi?id=233007)
|
||||
filter-lto
|
||||
|
||||
# It does not compile on alpha without this in LDFLAGS
|
||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648761
|
||||
use alpha && append-ldflags "-Wl,--no-relax"
|
||||
|
||||
# Sigbuses on SPARC with mcpu and co., bug #???
|
||||
use sparc && filter-flags "-mvis"
|
||||
|
||||
# https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634
|
||||
use ppc64 && append-flags "-mminimal-toc"
|
||||
|
||||
# Try to use less memory, bug #469942 (see Fedora .spec for reference)
|
||||
append-ldflags $(test-flags-CCLD "-Wl,--no-keep-memory")
|
||||
|
||||
# Ruby situation is a bit complicated. See bug 513888
|
||||
local rubyimpl
|
||||
local ruby_interpreter=""
|
||||
local RUBY
|
||||
for rubyimpl in ${USE_RUBY}; do
|
||||
if has_version -b "virtual/rubygems[ruby_targets_${rubyimpl}(-)]"; then
|
||||
RUBY="$(type -P ${rubyimpl})"
|
||||
ruby_interpreter="-DRUBY_EXECUTABLE=${RUBY}"
|
||||
fi
|
||||
done
|
||||
# This will rarely occur. Only a couple of corner cases could lead us to
|
||||
# that failure. See bug 513888
|
||||
[[ -z ${ruby_interpreter} ]] && die "No suitable ruby interpreter found"
|
||||
# JavaScriptCore/Scripts/postprocess-asm invokes another Ruby script directly
|
||||
# so it doesn't respect RUBY_EXECUTABLE, bug #771744.
|
||||
sed -i -e "s:#!/usr/bin/env ruby:#!${RUBY}:" $(grep -rl "/usr/bin/env ruby" Source/JavaScriptCore || die) || die
|
||||
|
||||
# TODO: Check Web Audio support
|
||||
# should somehow let user select between them?
|
||||
local mycmakeargs=(
|
||||
-DPython_EXECUTABLE="${PYTHON}"
|
||||
${ruby_interpreter}
|
||||
# If bubblewrap[suid] then portage makes it go-r and cmake find_program fails with that
|
||||
-DBWRAP_EXECUTABLE:FILEPATH="${EPREFIX}"/usr/bin/bwrap
|
||||
-DDBUS_PROXY_EXECUTABLE:FILEPATH="${EPREFIX}"/usr/bin/xdg-dbus-proxy
|
||||
-DPORT=GTK
|
||||
# Source/cmake/WebKitFeatures.cmake
|
||||
-DENABLE_API_TESTS=OFF
|
||||
-DENABLE_BUBBLEWRAP_SANDBOX=$(usex seccomp)
|
||||
-DENABLE_DRAG_SUPPORT=OFF
|
||||
-DENABLE_GAMEPAD=$(usex gamepad)
|
||||
-DENABLE_GEOLOCATION=ON # Runtime optional (talks over dbus service)
|
||||
-DENABLE_MINIBROWSER=$(usex examples)
|
||||
-DENABLE_PDFJS=$(usex pdf)
|
||||
-DENABLE_SPEECH_SYNTHESIS=OFF
|
||||
-DENABLE_SPELLCHECK=$(usex spell)
|
||||
-DENABLE_TOUCH_EVENTS=OFF
|
||||
-DENABLE_UNIFIED_BUILDS=$(usex jumbo-build)
|
||||
-DENABLE_VIDEO=$(usex gstreamer)
|
||||
-DENABLE_WEB_AUDIO=$(usex gstreamer)
|
||||
-DENABLE_WEB_CODECS=$(usex gstreamer) # https://bugs.webkit.org/show_bug.cgi?id=269147
|
||||
-DENABLE_WEBDRIVER=OFF
|
||||
-DENABLE_WEBGL=ON
|
||||
-DUSE_AVIF=$(usex avif)
|
||||
-DUSE_GSTREAMER_WEBRTC=$(usex gstreamer)
|
||||
-DUSE_GSTREAMER_TRANSCODER=$(usex gstreamer)
|
||||
# Source/cmake/OptionsGTK.cmake
|
||||
-DENABLE_DOCUMENTATION=OFF
|
||||
-DENABLE_INTROSPECTION=$(usex introspection)
|
||||
-DENABLE_JOURNALD_LOG=$(usex systemd)
|
||||
-DENABLE_QUARTZ_TARGET=$(usex aqua)
|
||||
-DENABLE_WAYLAND_TARGET=$(usex wayland)
|
||||
-DENABLE_X11_TARGET=$(usex X)
|
||||
-DUSE_GBM=ON
|
||||
-DUSE_GTK4=OFF
|
||||
-DUSE_JPEGXL=$(usex jpegxl)
|
||||
-DUSE_LCMS=$(usex lcms)
|
||||
-DUSE_LIBBACKTRACE=OFF
|
||||
-DUSE_LIBDRM=ON
|
||||
-DUSE_LIBHYPHEN=ON
|
||||
-DUSE_LIBSECRET=$(usex keyring)
|
||||
-DUSE_SOUP2=ON
|
||||
-DUSE_SYSPROF_CAPTURE=OFF
|
||||
-DUSE_WOFF2=ON
|
||||
)
|
||||
|
||||
# Temporary workaround for bug 938162 (upstream bug 271371)
|
||||
# in concert with our Debian patch. The idea to enable C_LOOP
|
||||
# is also stolen from Debian's build.
|
||||
use riscv && mycmakeargs+=(
|
||||
-DENABLE_WEBASSEMBLY=OFF
|
||||
-DENABLE_JIT=OFF
|
||||
-DENABLE_C_LOOP=ON
|
||||
)
|
||||
|
||||
# https://bugs.gentoo.org/761238
|
||||
append-cppflags -DNDEBUG
|
||||
|
||||
WK_USE_CCACHE=NO cmake_src_configure
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
optfeature "geolocation service (used at runtime if available)" "app-misc/geoclue"
|
||||
optfeature "Common Multimedia codecs" "media-plugins/gst-plugins-meta"
|
||||
optfeature "VAAPI encoding support" "media-libs/gst-plugins-bad[vaapi]"
|
||||
optfeature "MPEG-DASH support" "media-plugins/gst-plugins-dash"
|
||||
optfeature "HTTP live streaming (HLS) support" "media-plugins/gst-plugins-hls"
|
||||
}
|
@ -20,5 +20,8 @@ DIST VTKLargeData-9.3.1.tar.gz 247523669 BLAKE2B 88ec5046f502db14dd6a26ef81e386b
|
||||
DIST VTKLargeDataFiles-9.3.1.tar.gz 247505524 BLAKE2B 5de069309c59a8a73365fb9faba9904189d723fb72976f372e40db3eb100342a19fecd582bd0aa42fc1012675b442a8e42611632004d6b6d6708468c27a4265e SHA512 bbbf0c193432cb5d8a5618c41e66609c7e6f3e4f24f588124c46b537ecec28b5670420b7f77185da534e4098f8b95d8ec4e392fc017df934a84bfc9dc833f634
|
||||
DIST vtkDocHtml-9.3.1.tar.gz 165542400 BLAKE2B da8084137b2848f82bf091535950738bd718e65cac8f461fdfb8e9c63ef6db68acfa02655531c8fe22e35f89395d2d066aa5b051abac0e774883552c898de6d9 SHA512 de0d2153c97864b49a8b99e6fbfc8bab78c1522d25bf40ed1f271a8bb4f1f205b008d6bd39f835816972c8439d01f78b68f34d1f88f87755174f0d559841ba29
|
||||
EBUILD vtk-9.3.1-r1.ebuild 34578 BLAKE2B 92e101faa90957b83c47d509695503de3b1721b8e3f45f70a89a9a0985f1b915a85517bfecfa6292f050a839f090a851adecc0474cb523614e69306da75b9ed0 SHA512 dc1645a214850d00be40ceba246e7a21f276e386685c17705a81dfe507a657e59e67a23b0f1b2bef42e72bed8de28cf513ffbe893e1bd2f06df3bb9151212062
|
||||
EBUILD vtk-9.3.1-r2.ebuild 34579 BLAKE2B 06ec9258272cd0027dc31ef71e01327956fdec3debc4ad784e06f059daad956449b5922f4aadd6dc10ec53aa8af2ac08d47ebeefff5fec25328773c1300fbe79 SHA512 950ce9864c335df5244460db573b81fa5dd76e440ca7d5ae88171720becb871e0332ceb5a46993455bd4a1aa0ad5d18c4bc4ece40481e83102a39f2a58f9d6b9
|
||||
EBUILD vtk-9.3.1-r3.ebuild 34555 BLAKE2B f93918cc16c213d5c80a6167b32bdf3bfc7d55d5d6f9cddaf208dc091a4f5f1d4a7bc78ecff1b1f03688562287b05eb2d8f69c4696f4236d7bcc3775eedffd9e SHA512 9839c80528ab59a75c2761129d4102b95fe60433a9a9dd5c1d2da140455b0a28fd103c372847c60e7702c3e6a4ef1a0862797e37354e53fda76a03d8619317be
|
||||
EBUILD vtk-9.3.1-r4.ebuild 34581 BLAKE2B 2ad34343729a72dc13302745b56795dbfb0361513cff52cf2f1ff6d971dfbb96e595752b252da49cbe20157b6c68feb9cb83cd39d0af3b9dac67a5bbaca882e4 SHA512 76be3cb2bb6dd8b2fc72b388459abc86d0dc58f5d635651e2d556220dd111ea5767666023341cb4233a04b9357b809a24c4d52bf370b9515622b8307fbbddc90
|
||||
EBUILD vtk-9.3.1.ebuild 34551 BLAKE2B de8ccdc6c7fe67148bf1df104bf6549669fba842ed3b483fb6bcd98b5f3c6d53c236ab363b68fc1240611230eecc6cd7faeb5e91dacf1f98831e1f36ac65aab5 SHA512 dc0896391c8c716dc6e6588aed121842cca755912d856c7251ba5dfe7e9443723c7ef23d43974ffd55c81f94401bf199927179fdc2c6aa6f4116512dbd392c42
|
||||
MISC metadata.xml 1699 BLAKE2B befce4e1f61b6cb0d772a2826ed9349cf36832ebc0507edc2dff658441b44be351c1fe97c74ac9b21eed8310a254dd2a3b408bc93a15c4b2db8cd55a5e3f703a SHA512 d9921a30c66ef3a3d2a27da1add22a29352cd3fd71c49e834523931b8edf21ca0d785290cddabbe29b068ce00fa05a898c331a1ad80ffaa190e9f92b1a1ab64d
|
||||
|
1023
sci-libs/vtk/vtk-9.3.1-r2.ebuild
Normal file
1023
sci-libs/vtk/vtk-9.3.1-r2.ebuild
Normal file
File diff suppressed because it is too large
Load Diff
1023
sci-libs/vtk/vtk-9.3.1-r3.ebuild
Normal file
1023
sci-libs/vtk/vtk-9.3.1-r3.ebuild
Normal file
File diff suppressed because it is too large
Load Diff
1023
sci-libs/vtk/vtk-9.3.1-r4.ebuild
Normal file
1023
sci-libs/vtk/vtk-9.3.1-r4.ebuild
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user