From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id C5B5915827B for ; Mon, 11 Aug 2025 19:36:28 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id B0941340F7D for ; Mon, 11 Aug 2025 19:36:28 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id F3113110561; Mon, 11 Aug 2025 19:36:21 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id E35EE110561 for ; Mon, 11 Aug 2025 19:36:21 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 968DD340E1C for ; Mon, 11 Aug 2025 19:36:21 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 07B013342 for ; Mon, 11 Aug 2025 19:36:20 +0000 (UTC) From: "Conrad Kostecki" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Conrad Kostecki" Message-ID: <1754940770.14e27c0b4789db81e0ef5a513ab047ae98ccaf60.conikost@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: games-fps/eduke32/ X-VCS-Repository: repo/gentoo X-VCS-Files: games-fps/eduke32/Manifest games-fps/eduke32/eduke32-20250704.10623.ebuild X-VCS-Directories: games-fps/eduke32/ X-VCS-Committer: conikost X-VCS-Committer-Name: Conrad Kostecki X-VCS-Revision: 14e27c0b4789db81e0ef5a513ab047ae98ccaf60 X-VCS-Branch: master Date: Mon, 11 Aug 2025 19:36:20 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: e0d2074a-883a-41fd-9a3f-b6429a16836f X-Archives-Hash: 8ecca0a511ae1e70632db9c6a76ab885 commit: 14e27c0b4789db81e0ef5a513ab047ae98ccaf60 Author: Conrad Kostecki gentoo org> AuthorDate: Mon Aug 11 19:32:50 2025 +0000 Commit: Conrad Kostecki gentoo org> CommitDate: Mon Aug 11 19:32:50 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=14e27c0b games-fps/eduke32: add 20250704.10623 Signed-off-by: Conrad Kostecki gentoo.org> games-fps/eduke32/Manifest | 1 + games-fps/eduke32/eduke32-20250704.10623.ebuild | 218 ++++++++++++++++++++++++ 2 files changed, 219 insertions(+) diff --git a/games-fps/eduke32/Manifest b/games-fps/eduke32/Manifest index 9e68e2ebe354..688476e8ec8b 100644 --- a/games-fps/eduke32/Manifest +++ b/games-fps/eduke32/Manifest @@ -6,3 +6,4 @@ DIST duke3d_voxels-2.0-rc2.zip 4432485 BLAKE2B f8df7821eeae7886d7530b4e7344a78e2 DIST duke3d_xxx-1.33.zip 26586453 BLAKE2B 7e3c46172d3db1b2eb49eb07f243a9ead4f260d6b1dcae9f8bd599b8e9ba3a19068032afeb4ec2cf61742b6216e3a06c24f2b7e8903f9636f9d00f4d57ada47f SHA512 4783d159610fc178e748446b7a5f9c13d90e1aca3cef34deb82e99655b7f4a254f1130e16dbcfad9013b95bc07161d5c5dccfcc552fbb7a88404b4b9cedbadbf DIST eduke32_classic.png 5129 BLAKE2B 332ad44b7f6b4f51362387aa6870e7db54423ca5a1f0586cb5019322fb72317d8e88e0bbf46ac89b56290db7e2e4a8442179a6eb87a615fd741b5f00ce96a1c8 SHA512 b41dece8f1ddcadde3367a83f6029ffdc5805811b40380e270169684fb3b368258bd8caeb55623dadffb6fb9d72faf9a3d75907722623f4fac94a4347f8ce833 DIST eduke32_src_20250329-10618-821c90525.tar.xz 18982224 BLAKE2B 3cd63af406bb981a461f9b67fbd6279f77c756a320d9518f9eb523e87bd348a791f8e621a0efe8a3321a243d5aa53a28264d452a5ed8e99d1a84fbc9ed6928ac SHA512 5c8741c027427eab190d83c9a98847e02cfea7c29130e6ca1230295b441a7fde7dfb2bfe9ecb5c1a0d343b93d1f5371ae0e1d9605c1f208cf1a9c6b227b6fed6 +DIST eduke32_src_20250704-10623-388752735.tar.xz 18981176 BLAKE2B cc25abf79d39f5aab65d1079022160568d4fd00e776a6556e26a2240af9c30984624d96d184551644206eaf4282ad7923280897794c3ee4e0206838c1a1cbd7f SHA512 bb5bbd95a8d12ffbb468b270ab9496d8d06ff1c707e1bca1a191ca44ae22f9480c17572f806aa7af5cf5f65b2d02663308e8127be92751679eeb6412741c856a diff --git a/games-fps/eduke32/eduke32-20250704.10623.ebuild b/games-fps/eduke32/eduke32-20250704.10623.ebuild new file mode 100644 index 000000000000..9ca8b8ec95e1 --- /dev/null +++ b/games-fps/eduke32/eduke32-20250704.10623.ebuild @@ -0,0 +1,218 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop toolchain-funcs xdg-utils + +EGIT_COMMIT="388752735" +MY_BUILD="$(ver_cut 2)" +MY_DATE="$(ver_cut 1)" +MY_PV_HRP="5.4" +MY_PV_OFFENSIVE_XXX="1.33" +MY_PV_OPL="2.01" +MY_PV_PSX="1.11" +MY_PV_SC55="4.02" +MY_PV_VOXELS="2.0-rc2" + +DESCRIPTION="An open source engine port of the classic PC first person shooter Duke Nukem 3D" +HOMEPAGE="http://www.eduke32.com/" +SRC_URI=" + http://dukeworld.com/eduke32/synthesis/${MY_DATE}-${MY_BUILD}-${EGIT_COMMIT}/${PN}_src_${MY_DATE}-${MY_BUILD}-${EGIT_COMMIT}.tar.xz + http://www.eduke32.com/images/eduke32_classic.png + hrp? ( http://www.duke4.org/files/nightfright/hrp/duke3d_hrp.zip -> duke3d_hrp-${MY_PV_HRP}.zip ) + offensive? ( http://www.duke4.org/files/nightfright/related/duke3d_xxx.zip -> duke3d_xxx-${MY_PV_OFFENSIVE_XXX}.zip ) + opl? ( https://www.moddb.com/downloads/mirror/95750/102/ce9e8f422c6cccdb297852426e96740a -> duke3d_musopl-${MY_PV_OPL}.zip ) + psx? ( http://www.duke4.org/files/nightfright/related/duke3d_psx.zip -> duke3d_psx-${MY_PV_PSX}.zip ) + sc-55? ( http://www.duke4.org/files/nightfright/music/duke3d_music-sc55.zip -> duke3d_music-sc55-${MY_PV_SC55}.zip ) + voxels? ( https://github.com/NightFright2k19/duke3d_voxelpack/releases/download/${MY_PV_VOXELS}/duke3d_voxels.zip -> duke3d_voxels-${MY_PV_VOXELS}.zip ) +" +S="${WORKDIR}/${PN}_${MY_DATE}-${MY_BUILD}-${EGIT_COMMIT}" + +LICENSE="BUILDLIC GPL-2 hrp? ( HRP ) offensive? ( HRP )" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="duke3d fluidsynth gtk hrp offensive opengl opl png psx sc-55 server sdk timidity tools voidsw voxels vpx xmp" +REQUIRED_USE=" + hrp? ( duke3d !voxels ) + offensive? ( duke3d ) + opl? ( duke3d !sc-55 ) + psx? ( duke3d ) + sc-55? ( duke3d !opl ) + voxels? ( !hrp ) + vpx? ( opengl ) +" + +# There are no tests, +# instead it tries to build a test game, which does not compile +RESTRICT="bindist test" + +RDEPEND=" + media-libs/flac:= + media-libs/libogg + media-libs/libsdl2[alsa,joystick,opengl?,sound,video] + media-libs/libvorbis + media-libs/sdl2-mixer[flac,fluidsynth?,timidity?,vorbis] + sys-libs/zlib + gtk? ( x11-libs/gtk+:2 ) + opengl? ( + virtual/glu + virtual/opengl + ) + png? ( media-libs/libpng:0= ) + vpx? ( media-libs/libvpx:= ) + xmp? ( media-libs/exempi:2= ) +" + +DEPEND=" + ${RDEPEND} + timidity? ( media-sound/timidity++ ) +" + +BDEPEND=" + app-arch/unzip + x86? ( dev-lang/nasm ) +" + +PDEPEND="duke3d? ( games-fps/duke3d-data )" + +PATCHES=( + "${FILESDIR}/${PN}-20200505.8904-gcc10.patch" + "${FILESDIR}/${PN}-20220204.9957-log-to-tmpdir.patch" + "${FILESDIR}/${PN}-20230926.10459-search-duke3d-path.patch" +) + +src_unpack() { + # Extract only the eduke32 archive + unpack ${PN}_src_${MY_DATE}-${MY_BUILD}-${EGIT_COMMIT}.tar.xz + + # Unpack only the documentation + if use hrp; then + unzip -q "${DISTDIR}"/duke3d_hrp-${MY_PV_HRP}.zip hrp_readme.txt hrp_todo.txt || die + fi + if use offensive; then + unzip -q "${DISTDIR}"/duke3d_xxx-${MY_PV_OFFENSIVE_XXX}.zip xxx_readme.txt || die + fi + if use opl; then + unzip -q "${DISTDIR}"/duke3d_musopl-${MY_PV_OPL}.zip readme.txt || die + mv readme.txt opl_readme.txt || die + fi + if use sc-55; then + unzip -q "${DISTDIR}"/duke3d_music-sc55-${MY_PV_SC55}.zip readme/music_readme.txt || die + fi + if use voxels; then + unzip -q "${DISTDIR}"/duke3d_voxels-${MY_PV_VOXELS}.zip voxelpack_readme.txt || die + fi +} + +src_compile() { + local myemakeopts=( + ALLOCACHE_AS_MALLOC=0 + AS="$(tc-getAS)" + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + CLANG=0 + CPLUSPLUS=1 + CUSTOMOPT="" + DEBUGANYWAY=0 + F_JUMP_TABLES="" + FORCEDEBUG=0 + HAVE_FLAC=1 + HAVE_GTK2=$(usex gtk 1 0) + HAVE_XMP=$(usex xmp 1 0) + LINKED_GTK=$(usex gtk 1 0) + LTO=1 + LUNATIC=0 + KRANDDEBUG=0 + MEMMAP=0 + MIXERTYPE=SDL + NETCODE=$(usex server 1 0) + NOASM=0 + OPTLEVEL=0 + OPTOPT="" + PACKAGE_REPOSITORY=1 + POLYMER=$(usex opengl 1 0) + PRETTY_OUTPUT=0 + PROFILER=0 + RELEASE=1 + RENDERTYPE=SDL + SDL_TARGET=2 + SIMPLE_MENU=0 + STRIP="" + STANDALONE=0 + STARTUP_WINDOW=$(usex gtk 1 0) + USE_OPENGL=$(usex opengl 1 0) + USE_LIBVPX=$(usex vpx 1 0) + USE_LIBPNG=$(usex png 1 0) + USE_LUAJIT_2_1=0 + WITHOUT_GTK=$(usex gtk 0 1) + ) + + emake "${myemakeopts[@]}" + + use tools && emake utils "${myemakeopts[@]}" + use voidsw && emake sw "${myemakeopts[@]}" +} + +src_install() { + dobin eduke32 mapster32 "${FILESDIR}"/eduke32-bin + use voidsw && dobin voidsw "${FILESDIR}"/voidsw-bin + + if use tools; then + local tools=( + arttool + bsuite + cacheinfo + generateicon + givedepth + ivfrate + kextract + kgroup + kmd2tool + makesdlkeytrans + map2stl + md2tool + mkpalette + transpal + unpackssi + wad2art + wad2map + ) + + dobin "${tools[@]}" + fi + + keepdir /usr/share/games/eduke32 + insinto /usr/share/games/eduke32 + + use hrp && doins "${DISTDIR}"/duke3d_hrp-${MY_PV_HRP}.zip + use offensive && doins "${DISTDIR}"/duke3d_xxx-${MY_PV_OFFENSIVE_XXX}.zip + use opl && doins "${DISTDIR}"/duke3d_musopl-${MY_PV_OPL}.zip + use psx && doins "${DISTDIR}"/duke3d_psx-${MY_PV_PSX}.zip + use sc-55 && doins "${DISTDIR}"/duke3d_music-sc55-${MY_PV_SC55}.zip + use sdk && doins -r package/sdk + use voxels && doins "${DISTDIR}"/duke3d_voxels-${MY_PV_VOXELS}.zip + + newicon "${DISTDIR}"/eduke32_classic.png eduke32.png + + make_desktop_entry eduke32-bin EDuke32 eduke32 Game + make_desktop_entry mapster32 Mapster32 eduke32 Game + use voidsw && make_desktop_entry voidsw-bin VoidSW voidsw Game + + local DOCS=( package/sdk/samples/*.txt source/build/doc/*.txt ) + use hrp && DOCS+=( "${WORKDIR}"/hrp_readme.txt "${WORKDIR}"/hrp_todo.txt ) + use offensive && DOCS+=( "${WORKDIR}"/xxx_readme.txt ) + use opl && DOCS+=( "${WORKDIR}"/opl_readme.txt ) + use sc-55 && DOCS+=( "${WORKDIR}"/readme/music_readme.txt ) + use voxels && DOCS+=( "${WORKDIR}"/voxelpack_readme.txt ) + + einstalldocs +} + +pkg_postinst() { + xdg_icon_cache_update +} + +pkg_postrm() { + xdg_icon_cache_update +}