diff --git a/games-emulation/dosbox-x/Manifest b/games-emulation/dosbox-x/Manifest index 2796185..d8f7d65 100644 --- a/games-emulation/dosbox-x/Manifest +++ b/games-emulation/dosbox-x/Manifest @@ -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 diff --git a/games-emulation/dosbox-x/dosbox-x-2025.01.01.ebuild b/games-emulation/dosbox-x/dosbox-x-2025.01.01.ebuild new file mode 100644 index 0000000..f56ab46 --- /dev/null +++ b/games-emulation/dosbox-x/dosbox-x-2025.01.01.ebuild @@ -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 +} diff --git a/games-fps/zandronum/zandronum-3.2-alpha.ebuild b/games-fps/zandronum/zandronum-3.2_alpha.ebuild similarity index 84% rename from games-fps/zandronum/zandronum-3.2-alpha.ebuild rename to games-fps/zandronum/zandronum-3.2_alpha.ebuild index 31cee42..e99ab81 100644 --- a/games-fps/zandronum/zandronum-3.2-alpha.ebuild +++ b/games-fps/zandronum/zandronum-3.2_alpha.ebuild @@ -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) diff --git a/media-libs/libsdl3/files/libsdl3-3.1.6-fix_sdl_gl_getattribute.patch b/media-libs/libsdl3/files/libsdl3-3.1.6-fix_sdl_gl_getattribute.patch new file mode 100644 index 0000000..3e5b6a5 --- /dev/null +++ b/media-libs/libsdl3/files/libsdl3-3.1.6-fix_sdl_gl_getattribute.patch @@ -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(); diff --git a/media-libs/libsdl3/libsdl3-3.1.6.ebuild b/media-libs/libsdl3/libsdl3-3.1.6-r1.ebuild similarity index 100% rename from media-libs/libsdl3/libsdl3-3.1.6.ebuild rename to media-libs/libsdl3/libsdl3-3.1.6-r1.ebuild