summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Le Cuirot <chewi@gentoo.org>2021-07-10 23:14:56 +0100
committerJames Le Cuirot <chewi@gentoo.org>2021-07-10 23:14:56 +0100
commit5ca99171eb0a4d194a52fb62ec6ed79f9f33f5aa (patch)
tree60b9e3d4cfe9f6056404ca0885b24a24b25cc395 /games-action
parentautotools.eclass: add EAPI 8 support (diff)
downloadgentoo-5ca99171eb0a4d194a52fb62ec6ed79f9f33f5aa.tar.gz
gentoo-5ca99171eb0a4d194a52fb62ec6ed79f9f33f5aa.tar.bz2
gentoo-5ca99171eb0a4d194a52fb62ec6ed79f9f33f5aa.zip
games-action/dxx-rebirth: Bump snapshot to 20210623
Fixes: https://bugs.gentoo.org/801487 Package-Manager: Portage-3.0.20, Repoman-3.0.3 Signed-off-by: James Le Cuirot <chewi@gentoo.org>
Diffstat (limited to 'games-action')
-rw-r--r--games-action/dxx-rebirth/Manifest1
-rw-r--r--games-action/dxx-rebirth/dxx-rebirth-0.61.0_pre20210623.ebuild249
-rw-r--r--games-action/dxx-rebirth/dxx-rebirth-9999.ebuild2
3 files changed, 252 insertions, 0 deletions
diff --git a/games-action/dxx-rebirth/Manifest b/games-action/dxx-rebirth/Manifest
index 1b705069b99f..f41040fea495 100644
--- a/games-action/dxx-rebirth/Manifest
+++ b/games-action/dxx-rebirth/Manifest
@@ -1 +1,2 @@
DIST dxx-rebirth-0.61.0_pre20200615.tar.gz 1959226 BLAKE2B 08d66eb1599100172e2bd8dcb8e13ca11314f3b06658c36851ddc7d91897a8376899b7c33b6e7a2d7b72e93cf7f20f157994d06f880e138dc807350e4c64c517 SHA512 3470e2b9cf20268f1af5e8084f0b361d1dd5d797bee9a1d97ce5509046f79750ac214d0f34e7eef1acc4ee4ae868ad3f34d33b45ff163863333e9d8a7d758db2
+DIST dxx-rebirth_20210623-src.tar.xz 1340044 BLAKE2B f16a8904d777559e789d719bc0d6d2dbb7d26c1128984117b6c64a334ae589dd5806439cc51e458a583e1b6cc831dae7c51bf7bd3fbc972989b0ce4e5b932a4e SHA512 150d873fa045df6fb2f9bb70334d08eeae0cc7a639e825f1352fed28501ab9541a27bf3395fc1929bc8d76ed9126b038eed67c5a01657f43116da4663e929821
diff --git a/games-action/dxx-rebirth/dxx-rebirth-0.61.0_pre20210623.ebuild b/games-action/dxx-rebirth/dxx-rebirth-0.61.0_pre20210623.ebuild
new file mode 100644
index 000000000000..f2aeb8f86f45
--- /dev/null
+++ b/games-action/dxx-rebirth/dxx-rebirth-0.61.0_pre20210623.ebuild
@@ -0,0 +1,249 @@
+# Copyright 2017-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7,8,9} )
+
+inherit desktop python-any-r1 scons-utils toolchain-funcs xdg
+
+if [[ "${PV}" = 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/dxx-rebirth/dxx-rebirth"
+else
+ S="${WORKDIR}/${PN}_${PV##*_pre}-src"
+ SRC_URI="https://www.dxx-rebirth.com/download/dxx/rebirth/${PN}_${PV##*_pre}-src.tar.xz"
+
+ # Games under Gentoo are marked as 'testing' by convention
+ #
+ # Other architectures are reported to work, but not tested regularly by
+ # the core team.
+ #
+ # Raspberry Pi support is tested by an outside contributor, and his
+ # fixes are merged into the main source by upstream.
+ #
+ # Cross-compilation to Windows is also supported.
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Descent Rebirth - enhanced Descent 1 & 2 engine"
+HOMEPAGE="https://www.dxx-rebirth.com/"
+
+LICENSE="DXX-Rebirth GPL-3"
+SLOT="0"
+
+# Default to building both game engines. The total size is relatively
+# small.
+IUSE="+d1x +d2x +data debug editor +flac ipv6 +joystick l10n_de +midi +mp3 +music +opengl opl3-musicpack +png sc55-musicpack sdl2 tracker valgrind +vorbis"
+
+# Game data is stored in HOG files.
+# Game movies are in MVL files.
+# Various add-ons use zip files to bundle their content together.
+#
+# PNG support enables writing screenshots as PNG instead of TGA (for
+# USE=opengl) or PCX (for USE=-opengl).
+DEPEND="dev-games/physfs[hog,mvl,zip]
+ opengl? (
+ virtual/opengl
+ virtual/glu )
+ png? ( media-libs/libpng )
+"
+
+# As of this writing, there is no Portage shorthand syntax to express:
+# "
+# flag1? ( package[flag1] )
+# flag2? ( package[flag2] )
+# ...
+# flagN? ( package[flagN] )
+# ", such that unsetting all flags removes the dependency on package.
+# Fake it by using a text fragment that is repeatedly expanded with
+# differing substitutions.
+#
+# The use of single quotes is intentional here. The ${word} is a
+# placeholder to be matched by text substitution when the fragment is
+# expanded, not a shell variable reference.
+#
+# For each flag, depend on freedata using the same flag. If none of the
+# flags are set, freedata is not needed.
+DXX_RDEPEND_USE_FREEDATA_FRAGMENT='
+ ${USE}? ( games-action/descent${ENGINE}-freedata[${USE}] )
+'
+# Block <0.59.100 due to file collision.
+#
+# If USE=data, then require a game data package.
+# The build process does not use the game data, nor change how the game
+# is built based on what game data will be used. At startup, the game
+# will search for both types of game data and use what it finds. Users
+# can switch between shareware/retail data at any time by
+# adding/removing the appropriate data packages. A rebuild is _not_
+# required after swapping the data files.
+#
+# USE-depend on freedata for various extras, but only if any of those
+# extras are enabled.
+DXX_RDEPEND_ENGINE_FRAGMENT='
+ d${ENGINE}x? (
+ !<games-action/d${ENGINE}x-rebirth-0.59.100
+ data? (
+ || (
+ games-action/descent${ENGINE}-data
+ games-action/descent${ENGINE}-demodata
+ )
+ )
+ '"
+ ${DXX_RDEPEND_USE_FREEDATA_FRAGMENT//\$\{USE\}/l10n_de}
+ ${DXX_RDEPEND_USE_FREEDATA_FRAGMENT//\$\{USE\}/opl3-musicpack}
+ ${DXX_RDEPEND_USE_FREEDATA_FRAGMENT//\$\{USE\}/sc55-musicpack}
+ "'
+ )
+'
+
+DXX_DEPEND_USE_SDL_VERSION_FRAGMENT='
+ media-libs/lib${SDL_version}[joystick?,opengl?,sound,video]
+ media-libs/${SDL_version}-image
+ music? ( media-libs/${SDL_version}-mixer )
+'
+DXX_RDEPEND_USE_SDL_VERSION_FRAGMENT='
+ music? ( media-libs/${SDL_version}-mixer[flac?,midi?,mp3?,vorbis?] )
+'
+DEPEND="${DEPEND}
+ !sdl2? ( ${DXX_DEPEND_USE_SDL_VERSION_FRAGMENT//\$\{SDL_version\}/sdl} )
+ sdl2? ( ${DXX_DEPEND_USE_SDL_VERSION_FRAGMENT//\$\{SDL_version\}/sdl2} )
+"
+unset DXX_DEPEND_USE_SDL_VERSION_FRAGMENT
+
+unset DXX_RDEPEND_USE_FREEDATA_FRAGMENT
+RDEPEND="${DEPEND}
+ !sdl2? ( ${DXX_RDEPEND_USE_SDL_VERSION_FRAGMENT//\$\{SDL_version\}/sdl} )
+ sdl2? ( ${DXX_RDEPEND_USE_SDL_VERSION_FRAGMENT//\$\{SDL_version\}/sdl2} )
+ ${DXX_RDEPEND_ENGINE_FRAGMENT//\$\{ENGINE\}/1}
+ ${DXX_RDEPEND_ENGINE_FRAGMENT//\$\{ENGINE\}/2}
+"
+unset DXX_RDEPEND_ENGINE_FRAGMENT
+unset DXX_RDEPEND_USE_SDL_VERSION_FRAGMENT
+
+# USE=valgrind enables use of a Valgrind header. A build with valgrind
+# instrumentation can be run without installing Valgrind, so this
+# dependency is only in DEPEND, instead of being in both DEPEND and
+# RDEPEND.
+DEPEND+='
+ valgrind? ( dev-util/valgrind )
+'
+
+# This ebuild builds d1x-rebirth, d2x-rebirth, or both. Building none
+# would mean this ebuild installs zero files.
+#
+# For each of the supported music flags, require USE=music, so that the
+# package is built with sdl-mixer support. Individual music types can be
+# changed without a Rebirth rebuild by rebuilding sdl-mixer with
+# appropriate support, but Rebirth must have sdl-mixer support at build
+# time in order to support any of these music formats at runtime.
+#
+# All music files in the optional musicpack downloads are .ogg, so
+# require USE=vorbis if those packs are enabled.
+REQUIRED_USE='
+ || ( d1x d2x )
+ flac? ( music )
+ midi? ( music )
+ mp3? ( music )
+ vorbis? ( music )
+ opl3-musicpack? ( vorbis )
+ sc55-musicpack? ( vorbis )
+ sdl2? ( opengl )
+'
+
+BDEPEND="virtual/pkgconfig"
+
+# As of this writing, IUSE_RUNTIME is a GLEP, but not an implemented
+# feature. This variable is stored here to be ready to activate when
+# Portage implements this feature.
+#
+# Note that while individual music formats can be switched without a
+# rebuild, the master flag USE=music controls whether sdl-mixer is used,
+# and therefore requires a rebuild when changed.
+#IUSE_RUNTIME="flac l10n_de midi mp3 opl3-musicpack sc55-musicpack vorbis"
+
+dxx_scons() {
+ # Always build profile `m`. If use editor, also build profile `e`.
+ # Set most variables in the default anonymous profile. Only
+ # `builddir` and `editor` are set in the named profiles, since those
+ # must be different between the two builds.
+ #
+ # Notes for end users:
+ # - Per-engine options can be set with an engine prefix, as shown
+ # for sharepath. Such options are used in place of
+ # engine-unqualified options. For example, to disable sdlmixer
+ # for Descent 2: Rebirth, but use the setting below for Descent 1:
+ # Rebirth, set EXTRA_ESCONS="d2x_sdlmixer=0".
+ # - Profile `site` is searched before the anonymous profile, and is
+ # deliberately unused in this ebuild. Set options in the site
+ # profile to affect both engines:
+ # EXTRA_ESCONS="site_verbosebuild=0".
+ local scons_build_profile=m mysconsargs=(
+ sdl2=$(usex sdl2 1 0)
+ sdlmixer=$(usex music 1 0)
+ verbosebuild=1
+ debug=$(usex debug 1 0)
+ ipv6=$(usex ipv6 1 0)
+ opengl=$(usex opengl 1 0)
+ use_tracker=$(usex tracker 1 0)
+ prefix="${EPREFIX}"/usr
+ screenshot=$(usex png png legacy)
+ m_builddir=build/main/
+ m_editor=0
+ )
+ if use editor; then
+ scons_build_profile+=+e
+ mysconsargs+=( \
+ e_builddir=build/editor/
+ e_editor=1
+ )
+ fi
+ if ! use joystick; then
+ mysconsargs+=( \
+ max_joysticks=0
+ )
+ fi
+ # Add sharepath and enable build of selected games. The trailing
+ # comma after `$scons_build_profile` is required to cause scons to
+ # search the anonymous profile. If omitted, only settings from the
+ # named profile would be used.
+ use d1x && mysconsargs+=( d1x_sharepath="/usr/share/games/d1x" d1x="$scons_build_profile,site," )
+ use d2x && mysconsargs+=( d2x_sharepath="/usr/share/games/d2x" d2x="$scons_build_profile,site," )
+ use valgrind && mysconsargs+=( poison=valgrind )
+ escons "${mysconsargs[@]}" "$@"
+}
+
+src_compile() {
+ tc-export CXX PKG_CONFIG
+ dxx_scons register_install_target=0 build
+}
+
+src_install() {
+ # Use upstream install target to handle the various combinations of
+ # enabled/disabled engines and optional editor support.
+ dxx_scons register_compile_target=0 register_install_target=1 DESTDIR="${D}" "${D}"
+ local DV
+ for DV in 1 2; do
+ if ! use d${DV}x; then
+ continue
+ fi
+ local PROGRAM=d${DV}x-rebirth
+ docinto "${PROGRAM}"
+ dodoc "${PROGRAM}"/*.txt
+ make_desktop_entry "${PROGRAM}" "Descent ${DV} Rebirth" "${PROGRAM}"
+ doicon "${PROGRAM}/${PROGRAM}.xpm"
+ done
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ if ! use data; then
+ elog "${PN} requires game data to play."
+ elog "Game data is not included in this package. To play the game,"
+ elog "emerge the packages required by USE=data or install the game"
+ elog "data by hand."
+ elog
+ elog "Changing USE=data does not change how this package is built,"
+ elog "only its runtime dependencies."
+ fi
+}
diff --git a/games-action/dxx-rebirth/dxx-rebirth-9999.ebuild b/games-action/dxx-rebirth/dxx-rebirth-9999.ebuild
index b29054e2a7bc..8b70e138369e 100644
--- a/games-action/dxx-rebirth/dxx-rebirth-9999.ebuild
+++ b/games-action/dxx-rebirth/dxx-rebirth-9999.ebuild
@@ -16,6 +16,8 @@ else
SRC_URI="https://codeload.github.com/dxx-rebirth/dxx-rebirth/tar.gz/${MY_COMMIT} -> ${PN}-${PVR}.tar.gz"
unset MY_COMMIT
+ # Games under Gentoo are marked as 'testing' by convention
+ #
# Other architectures are reported to work, but not tested regularly by
# the core team.
#