diff --git a/dev-python/survey/Manifest b/dev-python/survey/Manifest
index e525232374..2670d5cf11 100644
--- a/dev-python/survey/Manifest
+++ b/dev-python/survey/Manifest
@@ -1,2 +1,2 @@
DIST survey-5.3.1.gh.tar.gz 1564902 BLAKE2B de8bafd2fc5a683ca0364f9e1540e177bf2f10344406563ff3ef6723abd2c415517e72ffacccae51e1d69912b966bf678c2abc62b22545f1c5871d4f3459d121 SHA512 383d7339e93760294095881b6ebf3fd00d687210865303aa2c17a51a390f8087b8666364e0ba7b7657e009803665cf02e64f280c8a09a535ce1fa1ebeaafe963
-DIST survey-5.4.1.gh.tar.gz 1565370 BLAKE2B 44437bc3b8ef1d37d1df4f802b7d0c25f8a1dda78f34f0b74603d7edf5af25ab2f2a2d503ab3dde1ea8ca94fed387d166b869427ffd9196f399089a160b66fb4 SHA512 9645531ef4e13f56df6a49a857e94bf82077c88ae817e24db1662505bc33c267d5f984733c07e3ff0d6943258b0a7a0b6014a0f72200053f8bef4dcaf7ce590e
+DIST survey-5.4.2.gh.tar.gz 1565387 BLAKE2B f2e8542bb43e029ffc59335461f65d5216128273d01ff3237cf828bb5be2aac613b9872a0504186ab30b11d42438e76c16e758960ea39e686b95bfa89faa642d SHA512 3d3bf0911e1ef49814bd040bf01d3ae7024cecb5d0e20e46dcbaf6e1f8896d4cb9eeb9ed1dae7ff3431acfb706a334d6c2afa89d4f1cd9b82661a0defe53803c
diff --git a/dev-python/survey/survey-5.4.1.ebuild b/dev-python/survey/survey-5.4.2.ebuild
similarity index 100%
rename from dev-python/survey/survey-5.4.1.ebuild
rename to dev-python/survey/survey-5.4.2.ebuild
diff --git a/games-action/blackvoxel/blackvoxel-2.50.ebuild b/games-action/blackvoxel/blackvoxel-2.50.ebuild
index 4cb5b62ec3..bb7e7e7fb2 100644
--- a/games-action/blackvoxel/blackvoxel-2.50.ebuild
+++ b/games-action/blackvoxel/blackvoxel-2.50.ebuild
@@ -18,7 +18,7 @@ KEYWORDS="~amd64"
DEPEND="
dev-libs/expat
media-libs/alsa-lib
- media-libs/glew:0
+ media-libs/glew
media-libs/libsdl
x11-libs/libX11
virtual/opengl
@@ -27,6 +27,7 @@ RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}"/${P}-makefile.patch
+ "${FILESDIR}"/${P}-makeopts.patch
"${FILESDIR}"/${P}-savedir.patch
"${FILESDIR}"/${P}-strict-aliasing.patch
)
diff --git a/games-action/blackvoxel/files/blackvoxel-2.50-makeopts.patch b/games-action/blackvoxel/files/blackvoxel-2.50-makeopts.patch
new file mode 100644
index 0000000000..05a14881c2
--- /dev/null
+++ b/games-action/blackvoxel/files/blackvoxel-2.50-makeopts.patch
@@ -0,0 +1,14 @@
+--- a/Makefile
++++ b/Makefile
+@@ -64,7 +64,9 @@
+ KERNELNAME =$(shell uname -s)
+
+ ifeq ($(KERNELNAME),Linux)
+- CXXFLAGS+= -O3 -c -fmessage-length=0
++ UCXXFLAGS:= $(shell emerge --info | grep -w CXXFLAGS=".*" | cut -d '"' -f2)
++ CXXFLAGS+= $(UCXXFLAGS) -c -fmessage-length=0
++ ULDFLAGS:= $(shell emerge --info | grep -w LDFLAGS=".*" | cut -d '"' -f2)
++ LDFLAGS+= $(ULDFLAGS) -L"src/sc_Squirrel3/lib" -lGLU -lSDL -lGLEW -lGL -lsquirrel -lsqstdlib
+- LDFLAGS+=-L"src/sc_Squirrel3/lib" -lGLU -lSDL -lGLEW -lGL -lsquirrel -lsqstdlib
+ else ifeq ($(KERNELNAME), FreeBSD)
+ # To be done...
diff --git a/games-puzzle/blockout/Manifest b/games-puzzle/blockout/Manifest
index 3c31d2b21a..762f2b6789 100644
--- a/games-puzzle/blockout/Manifest
+++ b/games-puzzle/blockout/Manifest
@@ -1,2 +1,3 @@
+DIST bl25-linux-x64.tar.gz 4380409 BLAKE2B 5f5511f4caa6e806d466c20cac3caadb7d80ce69754d3ba529d262e70294e0c3dfbc4baeeab4a95e501b61b440b9ce494c3423720f016c2d15c28dd6a4deee86 SHA512 f12b01c527b2167906e26f9c37591dd57ea905e2d05dd06e17c0a783a4749bda8264188d1dab2f5d008c0e860787bc6fecbc0d3a7b33204deb4bd6a6920813a1
DIST bl25-linux-x86.tar.gz 4379299 BLAKE2B d4276b1a444a3cc656a44b4e28a2630413ac4c406e5a27e4f9c10f188b4b75957430325e3d551e8cedb93428737b7992af6c6e20a178fc5c4d3312aa6906eaa9 SHA512 2833bcda201b438de414f791f3ad5f8805ba0fc7f3aecb9911a813782954524a6ddaf27f8ba56dbcdca89a5ccacfaf59f43900544d3927f47d75abfc93c4a622
DIST bl25-src.tar.gz 479743 BLAKE2B 4e42da05fdfda203e96fddb2f2d1f00878ecfd1f22cbe8bd1b0446a1960e51bb6db39bb031f25bd375c2b30a45b20c6abddbdc3b373f6fe1876097c4555f0bcf SHA512 8767c55fdbc511c07758a2e6905376b44e0e9478f3092f829147774538647c2fc8798b778a475e5efe7907ceb0d87136d27582c5ea0e372b12552ccf6aece445
diff --git a/games-puzzle/blockout/blockout-2.5.ebuild b/games-puzzle/blockout/blockout-2.5.ebuild
index 739115bd3b..4b8657a697 100644
--- a/games-puzzle/blockout/blockout-2.5.ebuild
+++ b/games-puzzle/blockout/blockout-2.5.ebuild
@@ -8,7 +8,8 @@ DESCRIPTION="BlockOut II is an adaptation of the original Blockout DOS game"
HOMEPAGE="https://www.blockout.net/blockout2/"
SRC_URI="
https://downloads.sourceforge.net/blockout/bl25-src.tar.gz
- https://downloads.sourceforge.net/blockout/bl25-linux-x86.tar.gz"
+ https://downloads.sourceforge.net/blockout/bl25-linux-x86.tar.gz
+ https://downloads.sourceforge.net/blockout/bl25-linux-x64.tar.gz"
S="${WORKDIR}"/BL_SRC
@@ -25,8 +26,15 @@ RDEPEND="
virtual/opengl"
DEPEND="${RDEPEND}"
-PATCHES="${FILESDIR}"/${P}-datadir.patch
+PATCHES=(
+ "${FILESDIR}/blockout-2.5-blockout-makefile.patch"
+ "${FILESDIR}/blockout-2.5-image-makefile.patch"
+ "${FILESDIR}/blockout-2.5-datadir.patch"
+)
+src_prepare() {
+ default
+}
src_compile() {
GAME_DATADIR="/usr/share/${PN}"
emake -C ImageLib/src
diff --git a/games-puzzle/blockout/files/blockout-2.5-blockout-makefile.patch b/games-puzzle/blockout/files/blockout-2.5-blockout-makefile.patch
new file mode 100644
index 0000000000..c90aa4917c
--- /dev/null
+++ b/games-puzzle/blockout/files/blockout-2.5-blockout-makefile.patch
@@ -0,0 +1,32 @@
+--- a/BlockOut/Makefile
++++ b/BlockOut/Makefile
+@@ -48,23 +48,25 @@
+ endif
+
+ CXX = g++
++UCXXFLAGS := $(shell emerge --info | grep -w CXXFLAGS=".*" | cut -d '"' -f2)
++ULFLAGS := $(shell emerge --info | grep -w LDFLAGS=".*" | cut -d '"' -f2)
+
+ ifdef _release
+
+-CXXFLAGS = -O2 -Dlinux -c \
++CXXFLAGS := $(UCXXFLAGS) -Dlinux -c \
+ -I/usr/include/SDL -I../ImageLib/src -I.
+
+-LFLAGS = -Wl,--strip-all \
++LFLAGS := $(ULFLAGS) \
+ $(ADD_LIBS) \
+ -lSDL_mixer -lSDL -lasound \
+ -lGL -lGLU -lpthread -lm -ldl
+
+ else
+
+-CXXFLAGS = -g -D_DEBUG -Dlinux -c \
++CXXFLAGS := $(UCXXFLAGS) -g -D_DEBUG -Dlinux -c \
+ -I/usr/include/SDL -I../ImageLib/src -I.
+
+-LFLAGS = -L $(SDL_LIBS) \
++LFLAGS := $(UCXXFLAGS) -L $(SDL_LIBS) \
+ $(ADD_LIBS) \
+ -lSDL_mixer -lSDL -lasound \
+ -lGL -lGLU -lpthread -lm -ldl
diff --git a/games-puzzle/blockout/files/blockout-2.5-image-makefile.patch b/games-puzzle/blockout/files/blockout-2.5-image-makefile.patch
new file mode 100644
index 0000000000..d910fd4b41
--- /dev/null
+++ b/games-puzzle/blockout/files/blockout-2.5-image-makefile.patch
@@ -0,0 +1,19 @@
+--- a/ImageLib/src/Makefile
++++ b/ImageLib/src/Makefile
+@@ -32,11 +32,14 @@
+
+ #---------------------------------------------------------------------
+
++UCXXFLAGS := $(shell emerge --info | grep -w CXXFLAGS=".*" | cut -d '"' -f2)
++UCFLAGS := $(shell emerge --info | grep -w CFLAGS=".*" | cut -d '"' -f2)
++
+ CXX = g++
+ CC = gcc
+
+-CXXFLAGS = -O2 -Dlinux -c -I.
+-CFLAGS = -O2 -Dlinux -c -I.
++CXXFLAGS := $(UCXXFLAGS) -Dlinux -c -I.
++CFLAGS := $(UCFLAGS) -Dlinux -c -I.
+
+
+ #--------------------------------------------------------------------
diff --git a/games-puzzle/blockout/metadata.xml b/games-puzzle/blockout/metadata.xml
index 04917d7264..3bb858145b 100644
--- a/games-puzzle/blockout/metadata.xml
+++ b/games-puzzle/blockout/metadata.xml
@@ -16,6 +16,10 @@
Jean-Luc Pons
jlp_38@yahoo.com
+
+ Abdelrahman Sarhan
+ abdulrahmanayman1@gmail.com
+
blockout
diff --git a/licenses/HANVON-UGEE-EULA b/licenses/HANVON-UGEE-EULA
new file mode 100644
index 0000000000..fcdbdf3a16
Binary files /dev/null and b/licenses/HANVON-UGEE-EULA differ
diff --git a/x11-drivers/xf86-input-xppen/Manifest b/x11-drivers/xf86-input-xppen/Manifest
new file mode 100644
index 0000000000..5e27efd675
--- /dev/null
+++ b/x11-drivers/xf86-input-xppen/Manifest
@@ -0,0 +1 @@
+DIST XPPenLinux3.4.9-240607.tar.gz 34085658 BLAKE2B 8be57d2ce8b03226eabff6045173d8bc326e8b4dffa431dfa730fcc69de446265f2fd2ccc16c06945083d9111a25ed0fe496bef55913d0d8b33b8d757462d4cb SHA512 40598c05d5ada0bd7a874b943e7819d6ffd0ef79d77e7433f814cfdc885846cc49276e1162e082bfe03f76b17f095323abfb8d5108f444cd30a685a0e0826ca4
diff --git a/x11-drivers/xf86-input-xppen/files/xppentablet.desktop b/x11-drivers/xf86-input-xppen/files/xppentablet.desktop
new file mode 100644
index 0000000000..f8d7a186a7
--- /dev/null
+++ b/x11-drivers/xf86-input-xppen/files/xppentablet.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Name=xppentablet
+Comment=XPPen driver
+Exec=env QT_QPA_PLATFORM=xcb /usr/lib/pentablet/PenTablet
+Icon=xppentablet
+Terminal=false
+Type=Application
+X-Ubuntu-Touch=true
+StartupNotify=true
+Name[en_US]=xppentablet
\ No newline at end of file
diff --git a/x11-drivers/xf86-input-xppen/metadata.xml b/x11-drivers/xf86-input-xppen/metadata.xml
new file mode 100644
index 0000000000..78c4961490
--- /dev/null
+++ b/x11-drivers/xf86-input-xppen/metadata.xml
@@ -0,0 +1,8 @@
+
+
+
+
+ gonegrier.duarte@gmail.com
+ Gonçalo Negrier Duartec
+
+
diff --git a/x11-drivers/xf86-input-xppen/xf86-input-xppen-3.4.9.ebuild b/x11-drivers/xf86-input-xppen/xf86-input-xppen-3.4.9.ebuild
new file mode 100644
index 0000000000..7dba6e4535
--- /dev/null
+++ b/x11-drivers/xf86-input-xppen/xf86-input-xppen-3.4.9.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+#240607
+
+M_PV=3.4.9
+P_YEAR=24
+P_MONTH=06
+P_DAY=07
+
+R_YEAR=24
+R_MONTH=07
+
+inherit desktop linux-info udev xdg
+M_P="XPPenLinux${M_PV}-${P_YEAR}${P_MONTH}${P_DAY}"
+
+DESCRIPTION="Driver for XP-PEN tablets and drawing devices"
+HOMEPAGE="https://www.xp-pen.com"
+SRC_URI="https://download01.xp-pen.com/file/20${R_YEAR}/${R_MONTH}/${M_P}.tar.gz -> ${M_P}.tar.gz"
+
+S="${WORKDIR}/${M_P}"
+
+LICENSE="HANVON-UGEE-EULA"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5[X]
+ dev-qt/qtnetwork:5
+ dev-qt/qtwidgets:5[X]
+ dev-qt/qtx11extras:5
+ dev-qt/qtxml:5
+ dev-libs/icu
+ virtual/libudev:="
+DEPEND="${RDEPEND}"
+
+QA_PREBUILT=".*"
+
+pkg_pretend() {
+ linux-info_pkg_setup
+
+ if ! linux_config_exists \
+ || (! linux_chkconfig_present CONFIG_INPUT \
+ && ! linux_chkconfig_present CONFIG_INPUT_UINPUT); then
+ echo
+ ewarn "If you use a USB XP-PEN tablet, you need to enable support in your kernel"
+ ewarn " Device Drivers --->"
+ ewarn " Input device support --->"
+ ewarn " [*] Generic input layer (needed for keyboard, mouse,...)"
+ ewarn " [*] Miscellaneous devices --->"
+ ewarn " <*> User level driver support"
+ echo
+ fi
+}
+
+src_install() {
+ # Config.xml location is hardcoded
+ local app_root=/usr/lib/pentablet
+ local app_dest="${ED}"/${app_root}
+
+ # Remove pre-compiled libaries (use system ones)
+ # Might be reverted if system ones dont work
+ rm -r "${S}/App/usr/lib/pentablet/lib" "${S}/App/usr/lib/pentablet/platform"
+ rm "${S}/App/usr/lib/pentablet/PenTablet.sh"
+
+ # Install Application folder
+ dodir "${app_root%/*}"
+ cp -r "${S}/App/usr/lib/pentablet/" "${app_dest}"
+
+ # Install udev rule
+ udev_dorules "${S}/App/lib/udev/rules.d/10-xp-pen.rules"
+
+ # Install Icon and Desktop file
+ doicon --size 256 "${S}/App/usr/share/icons/hicolor/256x256/apps/xppentablet.png"
+ #domenu "${S}/App/usr/share/applications/xppentablet.desktop"
+ domenu "${FILESDIR}/xppentablet.desktop"
+}
+
+pkg_postinst() {
+ ewarn "XP-PEN Pen Driver Application still dosen't support Wayland"
+ ewarn "The desktop file included force the app to run in X11/XWayland"
+ ewarn "At least, the application completed works when using XWayland"
+ ewarn "The only little problem is the screen becames black"
+ ewarn "when selecting the screen area using the option: 'Customize screen Area'"
+ udev_reload
+ xdg_pkg_postinst
+}
+
+pkg_postrm() {
+ udev_reload
+ xdg_pkg_postrm
+}