From afc9552524f529c1bc64b6987a690f9590a2294e Mon Sep 17 00:00:00 2001 From: grepwood Date: Sat, 16 May 2020 21:33:10 +0200 Subject: [PATCH] Added everything needed to enjoy Quake 1.5. Now go kill some lovecraftian demons. --- games-fps/darkplaces/Manifest | 3 + .../darkplaces-20170829_beta1.ebuild | 189 ++++++++++++++++++ games-fps/darkplaces/metadata.xml | 14 ++ games-fps/quake15/Manifest | 2 + games-fps/quake15/metadata.xml | 4 + games-fps/quake15/quake15-0_beta2.ebuild | 33 +++ 6 files changed, 245 insertions(+) create mode 100644 games-fps/darkplaces/Manifest create mode 100644 games-fps/darkplaces/darkplaces-20170829_beta1.ebuild create mode 100644 games-fps/darkplaces/metadata.xml create mode 100644 games-fps/quake15/Manifest create mode 100644 games-fps/quake15/metadata.xml create mode 100644 games-fps/quake15/quake15-0_beta2.ebuild diff --git a/games-fps/darkplaces/Manifest b/games-fps/darkplaces/Manifest new file mode 100644 index 0000000..7aa2216 --- /dev/null +++ b/games-fps/darkplaces/Manifest @@ -0,0 +1,3 @@ +DIST darkplacesengine20170829beta1.zip 29103945 BLAKE2B e6ddcb5a9f3a820879a70ca4578867f80a1df5e2143f20f924eb93b75cf9beafb74246dcca15cd3328e61189ff431fe678fc5a70f17d32dfa978499e8a1d0127 SHA512 49ec750199240eb7ba4eae6ede3a3ee85bafef07607b827111fb7846f7283c44a480637a45fd85a33f441ab2f99c44dc105348ea5da04d0397650f1a347cf3e9 +DIST fuhquake-lits.rar 8388829 BLAKE2B fb9c4db151deb43424de9331641154f412394ae6346864bc62a210c7d8d12c6ed6c8647cb4cd83fa853155c5f562f7e9b8d3c779fe74c1bb3f05bb6f627b1d5e SHA512 6e59f5e08a6c401b329b86b0cd677a04b1a5aee11f24973c77c9e7ea50cab9dedf4fc15c4f3d6b73bdc87bacdc9612a3c244d0a4ceceef943abb6e256ac23925 +DIST id1.pk3 350470 BLAKE2B 76426667de5f42633f608b75286671344d439398aa9b819e9ba3979ca317a93930b1077de7efb4b1bad670a6341c7536d572cfc2590a5812c71dd0c4e8def784 SHA512 d4d7233bc1e5049e89d09448818219b0ce7941fecde5381cd95933e4c96ebc9b4e34ff7eae5eb5d0d1e3cc2ceb4f5254f4d600aded7dda373713149817621331 diff --git a/games-fps/darkplaces/darkplaces-20170829_beta1.ebuild b/games-fps/darkplaces/darkplaces-20170829_beta1.ebuild new file mode 100644 index 0000000..dc8b639 --- /dev/null +++ b/games-fps/darkplaces/darkplaces-20170829_beta1.ebuild @@ -0,0 +1,189 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit eutils flag-o-matic unpacker desktop + +# Latest versions are in http://icculus.org/twilight/darkplaces/files/ +MY_PV="${PV/_beta/beta}" +MY_ENGINE="${PN}engine${MY_PV}.zip" + +# Different Quake 1 engines expect the lights in different directories +# http://www.fuhquake.net/download.html and http://www.kgbsyndicate.com/romi/ +MY_LIGHTS="fuhquake-lits.rar" + +DESCRIPTION="Enhanced engine for iD Software's Quake 1" +HOMEPAGE="http://icculus.org/twilight/darkplaces/" +SRC_URI="http://icculus.org/twilight/${PN}/files/${MY_ENGINE} + lights? ( + http://www.fuhquake.net/files/extras/${MY_LIGHTS} + http://www.kgbsyndicate.com/romi/id1.pk3 )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="alsa cdinstall cdsound debug dedicated demo lights opengl oss sdl textures" + +UIRDEPEND=" + virtual/jpeg:0 + media-libs/libogg + media-libs/libvorbis + virtual/opengl + alsa? ( media-libs/alsa-lib ) + sdl? ( media-libs/libsdl ) + x11-libs/libX11 + x11-libs/libXpm + x11-libs/libXxf86dga + x11-libs/libXxf86vm +" +UIDEPEND=" + x11-base/xorg-proto +" +RDEPEND=" + net-misc/curl + cdinstall? ( games-fps/quake1-data ) + demo? ( games-fps/quake1-demodata ) + textures? ( >=games-fps/quake1-textures-20050820 ) + opengl? ( ${UIRDEPEND} ) + !opengl? ( sdl? ( ${UIRDEPEND} ) ) + !opengl? ( !sdl? ( !dedicated? ( ${UIRDEPEND} ) ) ) +" +DEPEND="lights? ( || ( + app-arch/unrar + app-arch/rar ) ) + opengl? ( + ${UIRDEPEND} + ${UIDEPEND} ) + !opengl? ( sdl? ( + ${UIRDEPEND} + ${UIDEPEND} ) ) + !opengl? ( !sdl? ( !dedicated? ( + ${UIRDEPEND} + ${UIDEPEND} ) ) ) + virtual/pkgconfig + app-arch/unzip +" + +S="${WORKDIR}/${PN}" +dir="/usr/share/quake1" + +opengl_client() { use opengl || ( ! use dedicated && ! use sdl ) } + +src_unpack() { + if use lights ; then + unpack "${MY_LIGHTS}" + unpack_zip "${DISTDIR}"/id1.pk3 + mv *.lit maps/ || die + mv ReadMe.txt rtlights.txt + fi + unpack "${MY_ENGINE}" + unpack ./${PN}*.zip +} + +src_prepare() { + default + + rm "${WORKDIR}"/README-SDL.txt + cd "${S}" + rm mingw_note.txt + + strip-flags + + # Only additional CFLAGS optimization is the -march flag + local march=$(get-flag -march) + sed -i \ + -e "s:-lasound:$(pkg-config --libs alsa):" \ + -e "/^CPUOPTIMIZATIONS/d" \ + -e '/^OPTIM_RELEASE/s/=.*/=$(CFLAGS)/' \ + -e '/^OPTIM_DEBUG/s/=.*/=$(CFLAGS)/' \ + -e '/^LDFLAGS_DEBUG/s/$/ $(LDFLAGS)/' \ + -e '/^LDFLAGS_RELEASE/s/$/ $(LDFLAGS)/' \ + -e "s:strip:true:" \ + makefile.inc || die + + if ! use cdsound ; then + # Turn the CD accesses off + sed -i \ + -e "s:/dev/cdrom:/dev/null:" \ + cd_linux.c || die + sed -i \ + -e 's:COM_CheckParm("-nocdaudio"):1:' \ + cd_shared.c || die + fi +} + +src_compile() { + local opts="DP_FS_BASEDIR=\"${dir}\" DP_LINK_TO_LIBJPEG=1" + + # Preferred sound is alsa + local sound_api="NULL" + use oss && sound_api="OSS" + use alsa && sound_api="ALSA" + opts="${opts} DP_SOUND_API=${sound_api}" + + local type="release" + use debug && type="debug" + + # Only compile a maximum of 1 client + if use sdl ; then + emake ${opts} "sdl-${type}" + elif opengl_client ; then + emake ${opts} "cl-${type}" + fi + + if use dedicated ; then + emake ${opts} "sv-${type}" + fi +} + +src_install() { + if opengl_client || use sdl ; then + local type=glx + + use sdl && type=sdl + + # darkplaces executable is needed, even just for demo + newbin "${PN}-${type}" ${PN} + newicon darkplaces72x72.png ${PN}.png + + if use demo ; then + # Install command-line for demo, even if not desktop entry + make_wrapper ${PN}-demo "${PN} -game demo" + fi + + if use demo && ! use cdinstall ; then + make_desktop_entry ${PN}-demo "Dark Places (Demo)" + else + # Full version takes precedence over demo + make_desktop_entry ${PN} "Dark Places" + fi + fi + + if use dedicated ; then + newbin ${PN}-dedicated ${PN}-ded + fi + + dodoc *.txt ChangeLog todo "${WORKDIR}"/*.txt + + if use lights ; then + insinto "${dir}"/id1 + doins -r "${WORKDIR}"/{cubemaps,maps} + if use demo ; then + # Set up symlinks, for the demo levels to include the lights + local d + for d in cubemaps maps ; do + dosym "${dir}/id1/${d}" "${dir}/demo/${d}" + done + fi + fi +} + +pkg_postinst() { + if ! use cdinstall && ! use demo ; then + elog "Place pak0.pak and pak1.pak in ${dir}/id1" + fi + + if use sdl && ! use alsa ; then + ewarn "Select opengl with alsa, instead of sdl USE flag, for better audio latency." + fi +} diff --git a/games-fps/darkplaces/metadata.xml b/games-fps/darkplaces/metadata.xml new file mode 100644 index 0000000..f8d65d3 --- /dev/null +++ b/games-fps/darkplaces/metadata.xml @@ -0,0 +1,14 @@ + + + + + games@gentoo.org + Gentoo Games Project + + + Enables using CD audio in the engine + Uses the demo data from quake1 (quake1-demodata) + Install and setup the updated light maps + Install and setup the updated textures + + diff --git a/games-fps/quake15/Manifest b/games-fps/quake15/Manifest new file mode 100644 index 0000000..9b14f34 --- /dev/null +++ b/games-fps/quake15/Manifest @@ -0,0 +1,2 @@ +DIST Q15_PublicBeta1.7z 412650697 BLAKE2B f9f6ce082ec42d67e0d001b363b25ea53d05d433863e74454420f3f98f64cff7188a700343685ef6d2f3649de703ce52c18144ce982fdf34c8b7aca9bc18bfd2 SHA512 2ae9f2dc3a95331985621bde1d27187c009b66aa807e44125c2a0f019c4e3eada5578ea4cc1ef7aed2844390a4a7eda20c8eedde7d9c084635bf65dbf4908c27 +DIST Q15_patch2.7z 4045889 BLAKE2B f5bf7d7dc02758da7dd1969bd748c5861e8d47c102d5d4a823dda979e1404a7264147b477f751d649681fbb015f2d0777a13c09903458b7f92fdd742072b8279 SHA512 07f9a59202c2195af067a789b6075cdcdf2070953faae7460820ddb112a6d5aaec9015ce181ec4e9731280d36d8f13c7c8af63450d66eb7b287b8ed6261b8ba1 diff --git a/games-fps/quake15/metadata.xml b/games-fps/quake15/metadata.xml new file mode 100644 index 0000000..097975e --- /dev/null +++ b/games-fps/quake15/metadata.xml @@ -0,0 +1,4 @@ + + + + diff --git a/games-fps/quake15/quake15-0_beta2.ebuild b/games-fps/quake15/quake15-0_beta2.ebuild new file mode 100644 index 0000000..2f49efe --- /dev/null +++ b/games-fps/quake15/quake15-0_beta2.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="A mod that makes Quake faster paced, harder, gorier and more violent." +HOMEPAGE="https://www.moddb.com/mods/quake-15" +SRC_URI=" + https://www.moddb.com/downloads/mirror/173517/114/5090a373c5249e55e509808983481a04 -> Q15_PublicBeta1.7z + https://www.moddb.com/downloads/mirror/173707/114/f7627345043efdfcd9e27d4906a382ac -> Q15_patch2.7z +" + +LICENSE="HPND" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc64 ~x86" +IUSE="" + +RDEPEND=">=games-fps/darkplaces-20170829_beta1" +DEPEND="app-arch/p7zip" + +S="${WORKDIR}" + +src_install() { + insinto "/usr/share/quake1" + doins -r quake15 +} + +pkg_postinst() { + echo + elog "In order to play this mod run Quake with -file option:" + elog " darkplaces -game quake15" + echo +}