public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Ionen Wolkens" <ionen@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: games-fps/quakeforge/
Date: Fri, 23 Jul 2021 00:52:09 +0000 (UTC)	[thread overview]
Message-ID: <1627001370.fc1461ede38a8006fc7662c8bc0a252e3b87fe54.ionen@gentoo> (raw)

commit:     fc1461ede38a8006fc7662c8bc0a252e3b87fe54
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 22 23:51:52 2021 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Jul 23 00:49:30 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fc1461ed

games-fps/quakeforge: add live ebuild

Undergoing active development and may be useful to prepare/pick
new snapshots until upstream starts doing releases again.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 games-fps/quakeforge/quakeforge-9999.ebuild | 163 ++++++++++++++++++++++++++++
 1 file changed, 163 insertions(+)

diff --git a/games-fps/quakeforge/quakeforge-9999.ebuild b/games-fps/quakeforge/quakeforge-9999.ebuild
new file mode 100644
index 00000000000..03d46dcf580
--- /dev/null
+++ b/games-fps/quakeforge/quakeforge-9999.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools readme.gentoo-r1 toolchain-funcs
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/quakeforge/quakeforge.git"
+else
+	MY_COMMIT=""
+	SRC_URI="https://github.com/quakeforge/quakeforge/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+	S="${WORKDIR}/${PN}-${MY_COMMIT}"
+	KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="3D engine based on id Software's Quake and QuakeWorld game engines"
+HOMEPAGE="http://www.quakeforge.net/"
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="alsa +client debug doc flac jack ncurses oss png sdl vorbis vulkan wildmidi zlib"
+
+RDEPEND="
+	client? (
+		media-libs/libsamplerate
+		net-misc/curl
+		virtual/opengl
+		x11-libs/libX11
+		x11-libs/libXext
+		x11-libs/libXxf86vm
+		alsa? ( media-libs/alsa-lib )
+		flac? ( media-libs/flac )
+		jack? ( virtual/jack )
+		sdl? ( media-libs/libsdl[sound] )
+		vorbis? ( media-libs/libvorbis )
+		vulkan? ( media-libs/vulkan-loader )
+		wildmidi? ( media-sound/wildmidi )
+	)
+	ncurses? ( sys-libs/ncurses:= )
+	png? ( media-libs/libpng:= )
+	zlib? ( sys-libs/zlib:= )"
+DEPEND="
+	${RDEPEND}
+	client? (
+		x11-base/xorg-proto
+		vulkan? ( dev-util/vulkan-headers )
+	)"
+BDEPEND="
+	sys-devel/bison
+	sys-devel/flex
+	virtual/pkgconfig
+	doc? (
+		app-doc/doxygen[dot]
+		media-gfx/transfig
+	)"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-0.7.2_p20210722-skipped-tests.patch
+)
+
+src_prepare() {
+	default
+
+	echo ${PV} > .tarball-version || die
+	eautoreconf
+}
+
+src_configure() {
+	qf_client() {
+		echo $(usex client $(use_enable ${1}) --disable-${1})
+	}
+
+	local econfargs=(
+		$(qf_client alsa)
+		$(qf_client flac)
+		$(qf_client jack)
+		$(qf_client oss)
+		$(qf_client sdl)
+		$(qf_client vorbis)
+		$(qf_client vulkan)
+		$(qf_client wildmidi)
+		$(use_enable client sound)
+		$(use_enable client vidmode)
+		$(use_enable debug)
+		$(use_enable ncurses curses)
+		$(use_enable png)
+		$(use_enable zlib)
+		$(use_with client x)
+		--disable-Werror
+		--disable-dga
+		--enable-xdg
+		# non-x11 clients are mostly abandoned/broken (SDL1 still useful for pulseaudio)
+		--with-clients=$(usev client x11)
+		--with-cpp="$(tc-getCPP) -x c %u %d %s -o %o %i" # see config.d/qfcc.m4
+		--with-global-cfg="${EPREFIX}"/etc/quakeforge.conf
+		--with-sharepath="${EPREFIX}"/usr/share/quake1
+	)
+
+	econf "${econfargs[@]}"
+}
+
+src_compile() {
+	default
+
+	use doc && emake doc
+}
+
+src_install() {
+	use doc && local HTML_DOCS=( doxygen/html/. )
+
+	emake -j1 DESTDIR="${D}" install
+	einstalldocs
+
+	find "${ED}" -name '*.la' -delete || die
+
+	local DISABLE_AUTOFORMATTING="yes"
+	local DOC_CONTENTS=\
+"Before you can play (using nq-x11 or qw-client-x11), you must ensure
+that ${PN} can find your Quake pak0.pak (and optionally pak1.pak)
+at one of these locations with lowercase filenames:
+	- '~/.local/share/${PN}/id1/pak0.pak'
+	- '${EPREFIX}/usr/share/quake1/id1/pak0.pak'
+
+You can add them yourself or use either of:
+	- games-fps/quake1-data: install from a Quake CD-ROM
+	- games-fps/quake1-demodata: pak0.pak only (limited demo)
+
+Key binds notes:
+	Defaults ('imt_mod' table) expect you to set key binds manually in:
+	- '~/.local/share/${PN}/id1/autoexec.cfg' (or '${EPREFIX}/usr/share/quake1/id1')
+	For the in-game bind menu to be usable ('imt_0' table), bring up the
+	console with backtick \`, and run 'imt imt_0' (only needed once).
+	A mouse-grab bind ('toggle in_grab') and using freelook is recommended.
+
+Audio/Video notes:
+	Can add settings in:
+	- '~/.config/${PN}/${PN}.conf' (or '${EPREFIX}/etc/${PN}.conf')
+	Examples:
+	- set vid_width 800
+	- set vid_height 600
+	- set snd_output sdl (or alsa, jack, oss -- sdl can do pulseaudio)
+	- setrom vid_render gl (or vulkan, sw for software rendering)"
+	readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+
+	if [[ ${REPLACING_VERSIONS} ]] && ver_test ${REPLACING_VERSIONS} -le 0.7.2-r1; then
+		elog "Migration may be needed for ${PN}'s home paths, now using:"
+		elog "    ~/.${PN}rc -> ~/.config/${PN}/${PN}.conf"
+		elog "    ~/.${PN}/  -> ~/.local/share/${PN}/"
+		elog "Also, nq-sdl / qw-client-sdl are no longer available (use -x11 instead)."
+	fi
+
+	if use vulkan; then
+		ewarn "You've enabled the new vulkan support that is still experimental and yet"
+		ewarn "used by default. If have issues, can use '+setrom vid_render gl' command"
+		ewarn "line option to revert to GL."
+	fi
+}


             reply	other threads:[~2021-07-23  0:52 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-23  0:52 Ionen Wolkens [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-02-15  9:29 [gentoo-commits] repo/gentoo:master commit in: games-fps/quakeforge/ Ulrich Müller
2024-01-08 12:59 Ionen Wolkens
2023-11-13  7:34 Sam James
2023-05-23  2:52 Sam James
2023-03-25  0:02 Ionen Wolkens
2022-12-04 17:11 Ionen Wolkens
2022-09-10  8:41 Sam James
2022-07-19  1:01 Ionen Wolkens
2022-01-05  1:35 Ionen Wolkens
2021-08-09 16:41 Ionen Wolkens
2021-08-09 16:23 Ionen Wolkens
2021-07-23  0:52 Ionen Wolkens
2021-06-07  8:21 Ionen Wolkens
2016-03-31 23:31 Michael Sterrett
2016-01-17 17:02 Agostino Sarubbo
2016-01-02 16:28 Agostino Sarubbo
2015-12-30 22:08 Michael Sterrett
2015-12-30 22:08 Michael Sterrett

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1627001370.fc1461ede38a8006fc7662c8bc0a252e3b87fe54.ionen@gentoo \
    --to=ionen@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox