1
0
Fork 0

Bump dosbox-x. Fix zandronum version. Preparing to repair SDL3.

Update dosbox-x to release 2025.01.01.

Fix incorrect version for zandronum alpha.

Prepar fix for SDL3 [#116997.](https://github.com/libsdl-org/SDL/issues/11697)
This commit is contained in:
CRy386i 2025-01-05 04:54:57 +02:00
parent 27e63868ea
commit f6bb20134e
5 changed files with 149 additions and 10 deletions

View file

@ -1,2 +1,3 @@
DIST dosbox-x-v2024.03.01.tar.gz 119593920 BLAKE2B 42c994247e55c1b2d67ed9e1bf90e99ddf9a08476b18ab802757becc0ee6959231d3665e39cfaef02a6b1c234e3faff10597d396d8d30ce01d8123b5107327bc SHA512 0eb835da3fdfd7f1c6160aa1a32a7eff7c38f46184f7cee088e0fb8edf09327f058fd45e7995955a7f335c704ddd69c1627731899a01687563990bb06f4d9cd1
DIST dosbox-x-v2024.07.01.tar.gz 119702042 BLAKE2B 1c046a54b5a94deef6413592c48be08542c6d9c6d5b437880a354eb9df137fafb5da57d5f99e4bdcd83eea99a7a3550117c8ed66adcbca38aea484b116321068 SHA512 e6a0478be160b115ab09ffe13d7574d604fc7778105171da3591bd4239903cb5766118e0b05d158a89344bbbd1383885aa4fd724dce4601595438634724b2f24
DIST dosbox-x-v2025.01.01.tar.gz 121975330 BLAKE2B 6c214efe15e66d18f0253f9da7b3b2da7116f285e5154925f5ca69e382a0070399de46068e746d14981ff0ca66c58ec7a4259a596edf1b75da6a165d2233ce87 SHA512 01a4c34ab711edbc82b76a1a4d3ee261945b6475ed76e49af8d0dc1d17956a59715820c189226564bb7ba3e01df654b11e63d696d15c4151a720cbfd3785a118

View file

@ -0,0 +1,110 @@
# Copyright 2021-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools toolchain-funcs xdg
DESCRIPTION="Cross-platform DOS emulation package."
HOMEPAGE="https://dosbox-x.com/"
SRC_URI="https://github.com/joncampbell123/dosbox-x/archive/refs/tags/${PN}-v${PV}.tar.gz"
S="${WORKDIR}/${PN}-${PN}-v${PV}"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc64 ~x86"
IUSE="X debug +dynrec ffmpeg +fluidsynth +freetype +fpu midi mt-32 +opengl printer screenshots slirp unaligned +xbrz"
COMMON_DEPEND="
debug? ( sys-libs/ncurses:= )
ffmpeg? ( media-video/ffmpeg )
freetype? ( media-libs/freetype )
fluidsynth? (
media-sound/fluid-soundfont
media-sound/fluidsynth:=
)
mt-32? ( media-libs/munt-mt32emu )
screenshots? ( media-libs/libpng:= )
X? (
x11-libs/libX11
x11-libs/libXrandr
x11-libs/libxkbfile
)
media-libs/alsa-lib
opengl? ( media-libs/libglvnd[X] )
media-libs/alsa-lib
media-libs/libsdl2[X,alsa,opengl?,sound,threads(+),video]
media-libs/sdl2-net
net-libs/libpcap
sys-libs/zlib
"
DEPEND="${COMMON_DEPEND}"
RDEPEND="${COMMON_DEPEND}"
BDEPEND="
dev-lang/nasm
sys-libs/libcap
"
pkg_pretend() {
if use ffmpeg && use !png; then
ewarn "Setting the 'ffmpeg' USE flag when the 'png' USE flag is"
ewarn "unset does not have any effect. Unsetting the 'png' USE"
ewarn "flag disables the video capture feature, so additional"
ewarn "video capture formats enabled by the 'ffmpeg' USE flag"
ewarn "will end up being unused."
fi
}
src_prepare() {
default
# https://bugs.gentoo.org/887669
# Mask lines touching '-O*', and avoid creating an empty command
# list as a result to not break 'if', 'for', or functions
sed -i -E -e 's/((C|CXX)FLAGS=.*-O)/: \1/' configure.ac ||
die "Failed to stop configure.ac from touching '-O*' compiler flags"
eautoreconf
}
src_configure() {
local fpu_arg='fpu-x86 fpu-x64'
if use fpu; then
if use x86; then
fpu_arg=fpu-x86
elif use amd64; then
fpu_arg=fpu-x64
fi
fi
local myconf=(
$(use_enable X x11)
$(use_enable debug)
$(use_enable dynrec)
$(use_enable ffmpeg avcodec)
$(use_enable fluidsynth libfluidsynth)
$(use_enable fpu "${fpu_arg}")
$(use_enable freetype)
$(use_enable midi alsa-midi)
$(use_enable mt-32 mt32)
$(use_enable opengl)
$(use_enable printer)
$(use_enable screenshots)
$(use_enable slirp libslirp)
$(use_enable unaligned unaligned-memory)
$(use_enable xbrz)
--enable-sdl2
)
econf "${myconf[@]}"
}
src_compile() {
# https://bugs.gentoo.org/856352
emake AR="$(tc-getAR)"
}
pkg_preinst() {
xdg_pkg_preinst
}
pkg_postinst() {
xdg_pkg_postinst
}

View file

@ -3,16 +3,18 @@
EAPI=8
inherit cmake desktop
inherit cmake desktop mercurial
MY_TAG="ZA_3.1"
MY_TAG_COMMIT="zandronum-stable-ZA_3.1"
MY_COMMIT_UTC_TIMESTAMP="1639258555"
#MY_TAG="ZA_3.1"
#MY_TAG_COMMIT="zandronum-stable-ZA_3.1"
#MY_COMMIT_UTC_TIMESTAMP="1639258555"
DESCRIPTION="OpenGL ZDoom port with Client/Server multiplayer"
HOMEPAGE="https://zandronum.com/"
#SRC_URI="https://osdn.dl.osdn.net/scmarchive/g/${PN}/hg/${PN}-stable/${MY_COMMIT:0:2}/${MY_COMMIT:2:4}/${PN}-stable-${MY_COMMIT:0:6}.tar.gz -> ${P}.tar.gz"
SRC_URI="https://foss.heptapod.net/zandronum/zandronum-stable/-/archive/${MY_TAG}/${MY_TAG_COMMIT}.tar.gz -> ${P}.tar.gz"
#SRC_URI="https://foss.heptapod.net/zandronum/zandronum-stable/-/archive/${MY_TAG}/${MY_TAG_COMMIT}.tar.gz -> ${P}.tar.gz"
EHG_REPO_URI="https://foss.heptapod.net/zandronum/zandronum-stable"
EHG_REVISION="0c2b243f9d02"
LICENSE="Sleepycat"
SLOT="0"
@ -44,15 +46,19 @@ DEPEND="${RDEPEND}
cpu_flags_x86_mmx? ( || ( dev-lang/nasm dev-lang/yasm ) )"
#S="${WORKDIR}/${PN}-stable-${MY_COMMIT:0:6}"
S="${WORKDIR}/${MY_TAG_COMMIT}"
#S="${WORKDIR}/${MY_TAG_COMMIT}"
src_unpack() {
mercurial_src_unpack
}
src_prepare() {
# Normally Mercurial would generate gitinfo.h for NETGAMEVERSION
# let's do it without Mercurial
eapply "${FILESDIR}/remove-revision-check.patch"
echo "#define HG_REVISION_NUMBER ${MY_COMMIT_UTC_TIMESTAMP}" > src/gitinfo.h
echo "#define HG_REVISION_HASH_STRING \"0\"" >> src/gitinfo.h
echo "#define HG_TIME \"\"" >> src/gitinfo.h
#eapply "${FILESDIR}/remove-revision-check.patch"
#echo "#define HG_REVISION_NUMBER ${MY_COMMIT_UTC_TIMESTAMP}" > src/gitinfo.h
#echo "#define HG_REVISION_HASH_STRING \"0\"" >> src/gitinfo.h
#echo "#define HG_TIME \"\"" >> src/gitinfo.h
# Use system libs
# (lzma can't be system-libbed as the Gentoo ebuild provides no sources)

View file

@ -0,0 +1,22 @@
--- a/src/video/SDL_video.c 2024-10-24 01:50:52.000000000 +0300
+++ b/src/video/SDL_video.c 2024-12-29 08:36:06.900299900 +0200
@@ -4909,6 +4931,19 @@
}
return SDL_SetError("OpenGL error: %08X", error);
}
+
+ // convert GL_CONTEXT_RELEASE_BEHAVIOR values back to SDL_GL_CONTEXT_RELEASE_BEHAVIOR values
+#ifdef SDL_VIDEO_OPENGL
+ if (attr == SDL_GL_CONTEXT_RELEASE_BEHAVIOR) {
+ *value = *value == GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH ? SDL_GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH : SDL_GL_CONTEXT_RELEASE_BEHAVIOR_NONE;
+ }
+#else
+ if (attr == GL_CONTEXT_RELEASE_BEHAVIOR_KHR) {
+ *value = *value == GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR ? SDL_GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH : SDL_GL_CONTEXT_RELEASE_BEHAVIOR_NONE;
+ }
+ attrib = GL_CONTEXT_RELEASE_BEHAVIOR_KHR;
+#endif
+
return true;
#else
return SDL_Unsupported();