From c802ef2ba6497a33d9a3377651e655cee75ac2ed Mon Sep 17 00:00:00 2001 From: Akira Ackerman <61167080+SkullGamer205@users.noreply.github.com> Date: Sun, 15 Feb 2026 22:22:39 +1000 Subject: [PATCH 1/7] New package: thextech-1.3.7.2 --- srcpkgs/thextech/template | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 srcpkgs/thextech/template diff --git a/srcpkgs/thextech/template b/srcpkgs/thextech/template new file mode 100644 index 00000000000000..5bb79364d0db1a --- /dev/null +++ b/srcpkgs/thextech/template @@ -0,0 +1,28 @@ +# Template file for 'thextech' +pkgname=thextech +version=1.3.7.2 +_subversion=1 +revision=1 +build_style=cmake +configure_args="-DPGE_SHARED_SDLMIXER=OFF -DUSE_SYSTEM_SDL2=ON -DUSE_FREEIMAGE_SYSTEM_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=MinSizeRel" +hostmakedepends="pkg-config git cmake ninja gtk-update-icon-cache" +makedepends="SDL2-devel libpng-devel libjpeg-turbo-devel alsa-lib-devel xbps-triggers" +depends="SDL2 libjpeg-turbo libpng alsa-lib" +short_desc="The modern C++ port and successor of the SMBX engine" +maintainer="SkullGamer205 " +license=GPL-3.0 +homepage="wohlsoft.ru/projects/thextech" + +_ver_subver() { + echo ${version}$( if [ -n $_subversion ]; then + echo "-${_subversion}" + fi ) +} + +distfiles="https://github.com/TheXTech/TheXTech/releases/download/v$(_ver_subver)/thextech-full-src-v${version}.tar.gz" +checksum=a639c70ea8259a1a0a0345d9614d295aaad8eeca8e6b1752b896930f74ed2404 +nopie=yes + +post_install() { + rm -rf ${DESTDIR}/builddir +} From 7742f24e3bab1bb26ed2363a7d0e026028e3509f Mon Sep 17 00:00:00 2001 From: Akira Ackerman <61167080+SkullGamer205@users.noreply.github.com> Date: Mon, 16 Feb 2026 11:37:21 +1000 Subject: [PATCH 2/7] fixes xlint "errors" --- srcpkgs/thextech/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/thextech/template b/srcpkgs/thextech/template index 5bb79364d0db1a..718c066046ccf7 100644 --- a/srcpkgs/thextech/template +++ b/srcpkgs/thextech/template @@ -1,14 +1,14 @@ # Template file for 'thextech' pkgname=thextech version=1.3.7.2 -_subversion=1 revision=1 +_subversion=1 build_style=cmake configure_args="-DPGE_SHARED_SDLMIXER=OFF -DUSE_SYSTEM_SDL2=ON -DUSE_FREEIMAGE_SYSTEM_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=MinSizeRel" hostmakedepends="pkg-config git cmake ninja gtk-update-icon-cache" makedepends="SDL2-devel libpng-devel libjpeg-turbo-devel alsa-lib-devel xbps-triggers" depends="SDL2 libjpeg-turbo libpng alsa-lib" -short_desc="The modern C++ port and successor of the SMBX engine" +short_desc="Modern C++ port and successor of the SMBX engine" maintainer="SkullGamer205 " license=GPL-3.0 homepage="wohlsoft.ru/projects/thextech" From 2aed9e2647cd3019ec08148134bcd305a943dcaf Mon Sep 17 00:00:00 2001 From: Akira Ackerman <61167080+SkullGamer205@users.noreply.github.com> Date: Mon, 16 Feb 2026 12:20:52 +1000 Subject: [PATCH 3/7] Remove extra packages --- srcpkgs/thextech/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/thextech/template b/srcpkgs/thextech/template index 718c066046ccf7..840402655cb5f8 100644 --- a/srcpkgs/thextech/template +++ b/srcpkgs/thextech/template @@ -5,9 +5,9 @@ revision=1 _subversion=1 build_style=cmake configure_args="-DPGE_SHARED_SDLMIXER=OFF -DUSE_SYSTEM_SDL2=ON -DUSE_FREEIMAGE_SYSTEM_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=MinSizeRel" -hostmakedepends="pkg-config git cmake ninja gtk-update-icon-cache" -makedepends="SDL2-devel libpng-devel libjpeg-turbo-devel alsa-lib-devel xbps-triggers" -depends="SDL2 libjpeg-turbo libpng alsa-lib" +hostmakedepends="pkg-config git cmake ninja" +makedepends="SDL2-devel libpng-devel libjpeg-turbo-devel alsa-lib-devel" +depends="SDL2 libjpeg-turbo libpng" short_desc="Modern C++ port and successor of the SMBX engine" maintainer="SkullGamer205 " license=GPL-3.0 From e4b98a0fe48107c53e4aa884fbc9192123ccb916 Mon Sep 17 00:00:00 2001 From: Akira Ackerman <61167080+SkullGamer205@users.noreply.github.com> Date: Tue, 17 Feb 2026 00:43:06 +1000 Subject: [PATCH 4/7] Create arm-opus-disable-rtcd.patch --- .../patches/arm-opus-disable-rtcd.patch | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 srcpkgs/thextech/patches/arm-opus-disable-rtcd.patch diff --git a/srcpkgs/thextech/patches/arm-opus-disable-rtcd.patch b/srcpkgs/thextech/patches/arm-opus-disable-rtcd.patch new file mode 100644 index 00000000000000..42b587deed7059 --- /dev/null +++ b/srcpkgs/thextech/patches/arm-opus-disable-rtcd.patch @@ -0,0 +1,52 @@ +--- a/3rdparty/AudioCodecs/CMakeLists.txt 2025-12-28 20:00:37.812797800 +1000 ++++ b/3rdparty/AudioCodecs/CMakeLists.txt 2026-02-16 23:13:08.565423177 +1000 +@@ -181,16 +181,24 @@ + endif() + + option(BUILD_OPUS "Enable building of OPUS" ON) ++option(BUILD_OPUS_DISABLE_RTCD "Disable assembly optimisations even they are available" OFF) + if(BUILD_OPUS) + if(NOT BUILD_OGG_VORBIS) + add_subdirectory(libogg) + endif() ++ if(BUILD_OPUS_DISABLE_RTCD) ++ set(DISABLE_RTCD ON) ++ endif() + add_subdirectory(libopus) + add_subdirectory(libopusfile) + target_include_directories(opus PUBLIC ${CMAKE_SOURCE_DIR}/libogg/include) + target_include_directories(opusfile PUBLIC ${CMAKE_SOURCE_DIR}/libogg/include) + add_dependencies(opus ogg) + add_dependencies(opusfile opus ogg) ++ if(BUILD_OPUS_DISABLE_RTCD) ++ mark_as_advanced(DISABLE_RTCD) ++ unset(DISABLE_RTCD) ++ endif() + endif() + + option(BUILD_WAVPACK "Enable building of WavPack" ON) +--- a/cmake/library_SDLMixerX.cmake 2025-12-28 20:00:05.180841700 +1000 ++++ b/cmake/library_SDLMixerX.cmake 2026-02-17 00:18:36.994818739 +1000 +@@ -22,6 +22,7 @@ + endif() + + option(MIXERX_ENABLE_WAVPACK "Enable the WavPack codec support [Support is experimental, doesn't builds on some platforms]" OFF) ++option(AUDIOCODECS_DISABLE_ASM_OPTIMIZATIONS "Disable hardware optimizations for libopus and other AudioCodecs-built libraries" OFF) + + if(NOT NINTENDO_WII AND NOT NINTENDO_WIIU AND NOT XTECH_MACOSX_TIGER) + option(PGE_USE_LOCAL_SDL2 "Do use the locally-built SDL2 library from the AudioCodecs set. Otherwise, download and build the development top main version." ON) +@@ -237,6 +238,13 @@ + ${VITA_AUDIOCODECS_CMAKE_FLAGS} + ) + ++if(AUDIOCODECS_DISABLE_ASM_OPTIMIZATIONS) ++ list(APPEND AUDIO_CODECS_BUILD_ARGS ++ "-DBUILD_OPUS_DISABLE_RTCD=ON" ++ "-DDISABLE_RTCD=ON" ++ ) ++endif() ++ + if(VITA OR NINTENDO_DS OR NINTENDO_3DS OR NINTENDO_WII OR NINTENDO_WIIU OR NINTENDO_SWITCH) + list(APPEND AUDIO_CODECS_BUILD_ARGS + -DENABLE_FPIC=OFF + From 1a0b3220d6187bc996ba7ba054edc6d99e77f405 Mon Sep 17 00:00:00 2001 From: Akira Ackerman <61167080+SkullGamer205@users.noreply.github.com> Date: Tue, 17 Feb 2026 04:04:32 +1000 Subject: [PATCH 5/7] Delete "patches" dir --- .../patches/arm-opus-disable-rtcd.patch | 52 ------------------- 1 file changed, 52 deletions(-) delete mode 100644 srcpkgs/thextech/patches/arm-opus-disable-rtcd.patch diff --git a/srcpkgs/thextech/patches/arm-opus-disable-rtcd.patch b/srcpkgs/thextech/patches/arm-opus-disable-rtcd.patch deleted file mode 100644 index 42b587deed7059..00000000000000 --- a/srcpkgs/thextech/patches/arm-opus-disable-rtcd.patch +++ /dev/null @@ -1,52 +0,0 @@ ---- a/3rdparty/AudioCodecs/CMakeLists.txt 2025-12-28 20:00:37.812797800 +1000 -+++ b/3rdparty/AudioCodecs/CMakeLists.txt 2026-02-16 23:13:08.565423177 +1000 -@@ -181,16 +181,24 @@ - endif() - - option(BUILD_OPUS "Enable building of OPUS" ON) -+option(BUILD_OPUS_DISABLE_RTCD "Disable assembly optimisations even they are available" OFF) - if(BUILD_OPUS) - if(NOT BUILD_OGG_VORBIS) - add_subdirectory(libogg) - endif() -+ if(BUILD_OPUS_DISABLE_RTCD) -+ set(DISABLE_RTCD ON) -+ endif() - add_subdirectory(libopus) - add_subdirectory(libopusfile) - target_include_directories(opus PUBLIC ${CMAKE_SOURCE_DIR}/libogg/include) - target_include_directories(opusfile PUBLIC ${CMAKE_SOURCE_DIR}/libogg/include) - add_dependencies(opus ogg) - add_dependencies(opusfile opus ogg) -+ if(BUILD_OPUS_DISABLE_RTCD) -+ mark_as_advanced(DISABLE_RTCD) -+ unset(DISABLE_RTCD) -+ endif() - endif() - - option(BUILD_WAVPACK "Enable building of WavPack" ON) ---- a/cmake/library_SDLMixerX.cmake 2025-12-28 20:00:05.180841700 +1000 -+++ b/cmake/library_SDLMixerX.cmake 2026-02-17 00:18:36.994818739 +1000 -@@ -22,6 +22,7 @@ - endif() - - option(MIXERX_ENABLE_WAVPACK "Enable the WavPack codec support [Support is experimental, doesn't builds on some platforms]" OFF) -+option(AUDIOCODECS_DISABLE_ASM_OPTIMIZATIONS "Disable hardware optimizations for libopus and other AudioCodecs-built libraries" OFF) - - if(NOT NINTENDO_WII AND NOT NINTENDO_WIIU AND NOT XTECH_MACOSX_TIGER) - option(PGE_USE_LOCAL_SDL2 "Do use the locally-built SDL2 library from the AudioCodecs set. Otherwise, download and build the development top main version." ON) -@@ -237,6 +238,13 @@ - ${VITA_AUDIOCODECS_CMAKE_FLAGS} - ) - -+if(AUDIOCODECS_DISABLE_ASM_OPTIMIZATIONS) -+ list(APPEND AUDIO_CODECS_BUILD_ARGS -+ "-DBUILD_OPUS_DISABLE_RTCD=ON" -+ "-DDISABLE_RTCD=ON" -+ ) -+endif() -+ - if(VITA OR NINTENDO_DS OR NINTENDO_3DS OR NINTENDO_WII OR NINTENDO_WIIU OR NINTENDO_SWITCH) - list(APPEND AUDIO_CODECS_BUILD_ARGS - -DENABLE_FPIC=OFF - From 4403a9341fcf102bf6f32a2cac8886ed5d7adbce Mon Sep 17 00:00:00 2001 From: Akira Ackerman <61167080+SkullGamer205@users.noreply.github.com> Date: Tue, 17 Feb 2026 04:05:31 +1000 Subject: [PATCH 6/7] move "patches" to "files/patches" --- .../files/patches/arm-disable-opus.patch | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 srcpkgs/thextech/files/patches/arm-disable-opus.patch diff --git a/srcpkgs/thextech/files/patches/arm-disable-opus.patch b/srcpkgs/thextech/files/patches/arm-disable-opus.patch new file mode 100644 index 00000000000000..42b587deed7059 --- /dev/null +++ b/srcpkgs/thextech/files/patches/arm-disable-opus.patch @@ -0,0 +1,52 @@ +--- a/3rdparty/AudioCodecs/CMakeLists.txt 2025-12-28 20:00:37.812797800 +1000 ++++ b/3rdparty/AudioCodecs/CMakeLists.txt 2026-02-16 23:13:08.565423177 +1000 +@@ -181,16 +181,24 @@ + endif() + + option(BUILD_OPUS "Enable building of OPUS" ON) ++option(BUILD_OPUS_DISABLE_RTCD "Disable assembly optimisations even they are available" OFF) + if(BUILD_OPUS) + if(NOT BUILD_OGG_VORBIS) + add_subdirectory(libogg) + endif() ++ if(BUILD_OPUS_DISABLE_RTCD) ++ set(DISABLE_RTCD ON) ++ endif() + add_subdirectory(libopus) + add_subdirectory(libopusfile) + target_include_directories(opus PUBLIC ${CMAKE_SOURCE_DIR}/libogg/include) + target_include_directories(opusfile PUBLIC ${CMAKE_SOURCE_DIR}/libogg/include) + add_dependencies(opus ogg) + add_dependencies(opusfile opus ogg) ++ if(BUILD_OPUS_DISABLE_RTCD) ++ mark_as_advanced(DISABLE_RTCD) ++ unset(DISABLE_RTCD) ++ endif() + endif() + + option(BUILD_WAVPACK "Enable building of WavPack" ON) +--- a/cmake/library_SDLMixerX.cmake 2025-12-28 20:00:05.180841700 +1000 ++++ b/cmake/library_SDLMixerX.cmake 2026-02-17 00:18:36.994818739 +1000 +@@ -22,6 +22,7 @@ + endif() + + option(MIXERX_ENABLE_WAVPACK "Enable the WavPack codec support [Support is experimental, doesn't builds on some platforms]" OFF) ++option(AUDIOCODECS_DISABLE_ASM_OPTIMIZATIONS "Disable hardware optimizations for libopus and other AudioCodecs-built libraries" OFF) + + if(NOT NINTENDO_WII AND NOT NINTENDO_WIIU AND NOT XTECH_MACOSX_TIGER) + option(PGE_USE_LOCAL_SDL2 "Do use the locally-built SDL2 library from the AudioCodecs set. Otherwise, download and build the development top main version." ON) +@@ -237,6 +238,13 @@ + ${VITA_AUDIOCODECS_CMAKE_FLAGS} + ) + ++if(AUDIOCODECS_DISABLE_ASM_OPTIMIZATIONS) ++ list(APPEND AUDIO_CODECS_BUILD_ARGS ++ "-DBUILD_OPUS_DISABLE_RTCD=ON" ++ "-DDISABLE_RTCD=ON" ++ ) ++endif() ++ + if(VITA OR NINTENDO_DS OR NINTENDO_3DS OR NINTENDO_WII OR NINTENDO_WIIU OR NINTENDO_SWITCH) + list(APPEND AUDIO_CODECS_BUILD_ARGS + -DENABLE_FPIC=OFF + From f5bc30a7e1ebf95d1f564d048f9e76f041b61442 Mon Sep 17 00:00:00 2001 From: Akira Ackerman <61167080+SkullGamer205@users.noreply.github.com> Date: Tue, 17 Feb 2026 04:07:14 +1000 Subject: [PATCH 7/7] thextech: fix --- srcpkgs/thextech/template | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/srcpkgs/thextech/template b/srcpkgs/thextech/template index 840402655cb5f8..1023ddd39e8eb2 100644 --- a/srcpkgs/thextech/template +++ b/srcpkgs/thextech/template @@ -2,7 +2,7 @@ pkgname=thextech version=1.3.7.2 revision=1 -_subversion=1 +_subversion=1 # hotfix build_style=cmake configure_args="-DPGE_SHARED_SDLMIXER=OFF -DUSE_SYSTEM_SDL2=ON -DUSE_FREEIMAGE_SYSTEM_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=MinSizeRel" hostmakedepends="pkg-config git cmake ninja" @@ -18,11 +18,26 @@ _ver_subver() { echo "-${_subversion}" fi ) } - distfiles="https://github.com/TheXTech/TheXTech/releases/download/v$(_ver_subver)/thextech-full-src-v${version}.tar.gz" checksum=a639c70ea8259a1a0a0345d9614d295aaad8eeca8e6b1752b896930f74ed2404 -nopie=yes +nopie=yes # Various file managers recognise it as SO library. + +case "$XBPS_TARGET_MACHINE" in + armv[67]*) configure_args+=" -DAUDIOCODECS_DISABLE_ASM_OPTIMIZATIONS=ON" ;; +esac + +post_patch() { + case "$XBPS_TARGET_MACHINE" in + armv[67]*) + msg_normal "Detected ARM architecture ("$XBPS_TARGET_MACHINE")\n" + for x in ${FILESDIR}/patches/arm-disable-opus.patch; do + msg_normal "Applying patch $x\n" + patch -sNp1 -i ${x} + done + esac +} post_install() { rm -rf ${DESTDIR}/builddir } +