From nobody Fri Mar 25 12:46:04 2022 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 611C21A4133F; Fri, 25 Mar 2022 12:46:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (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 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4KQ1zc2JX5z4t5j; Fri, 25 Mar 2022 12:46:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1648212364; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=63SJ454ehEos4k/5wEASD/woqZAstIURsNRV/YspLzM=; b=DFvrvfDEMZ1y2iRYgz7TW6b+1SN1r8ixkdtrDnHDZFbs04avI0R2tZIo16oExjSw6osP0r NANCFOjKKXc8jSL89BelSh+HokZxyPzn94RvOUEU3Hvc+Cvnhb/1qitySOtrth9cQIwgwm ZLLKK5XlvlbhMlwx133EhEGFcA0zSjZswp13UoTQ0OS7/Ov9qAlDWh1+cjh2Y1QOKBNnv3 SprVrNI3m3NgFVlfpYRn51UWATMYxv0600y/GGiMT1Fgv3xgWHL/V/V/o7zk5IJ+HxVhvr uysiBwfMw1HV/dDsOnOzWktNPtleeRavFiS1UnhnuwJtIuwzivpWs1N0iP+6yg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2F6D747C9; Fri, 25 Mar 2022 12:46:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 22PCk4iJ033907; Fri, 25 Mar 2022 12:46:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 22PCk4EF033906; Fri, 25 Mar 2022 12:46:04 GMT (envelope-from git) Date: Fri, 25 Mar 2022 12:46:04 GMT Message-Id: <202203251246.22PCk4EF033906@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Alexey Dokuchaev Subject: git: 37eb44cc9bb2 - main - games/yquake2: new port had been added (Yamagi Quake II) List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: danfe X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 37eb44cc9bb29b78ce13879e4f8d673f02524879 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1648212364; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=63SJ454ehEos4k/5wEASD/woqZAstIURsNRV/YspLzM=; b=nlr0OcA7mpJbgokPoTCVwLSQfgWayQeDz+j1KszwFVDP1342HUOE55wLHaL1HsvsETVvWI KcqhGOuSS1w8BKHo2/rzEE5GrB5d+U3rvRL55Rj3gBHFvhogzjcaZtpQ1O0BhslOaPmC0/ jVxgMB7PG18jSZy6oi6bmDdmjRNILybU9cr/uoJYBk/5yQ1EAdS3FzTQj4Z4IkeTyH0c6b BH8ZE6mi74QGHBWlrZT+wIUwTZjTtHAeuPRl+pD+vpTzRwiAppdSE69xrIqzmqpFDyXfIJ p3erjqsExOevLhjs9Wa0kNvl7kWqKkklG2nBdn1F5hcZaVXDQzgYN9OID+B1Jg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1648212364; a=rsa-sha256; cv=none; b=LA8qFNEjAzXXW28nCh+i0pS7P3tiA3DC/gELCIoaEPHg/kwlXS8NUhgsxGKGoogok6bTfO sZelNmn5yfgijvsjj5h5HO+cI7dMXEuEtYmSvXA1dLcgjREcHRxC8ZimYzZoLGlqz0715N guC36guSmxLZbFoMpLlDHOVe9MJlrh6rdB/2vvSK2DywKur4pXhhyT+zk2+QPaEHLjX0q6 cXiD+N9Ufef4kzIu/H+DD3QQSmYluWYFtXr5N8cS2f0RpTxn6XA7nkBPUxDRsWZyYUPvRp q3b8WEmE1fx4gvzrTULDOtU7mCKrSMTV7SeKdVL1tXa4HgZJM7w+ZDok1lPpCQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by danfe: URL: https://cgit.FreeBSD.org/ports/commit/?id=37eb44cc9bb29b78ce13879e4f8d673f02524879 commit 37eb44cc9bb29b78ce13879e4f8d673f02524879 Author: Alexey Dokuchaev AuthorDate: 2022-03-25 12:44:18 +0000 Commit: Alexey Dokuchaev CommitDate: 2022-03-25 12:44:18 +0000 games/yquake2: new port had been added (Yamagi Quake II) Yamagi Quake II is advanced port of Icculus Quake II. It uses SDL2 and therefore can be run in Wayland without any additional tweaks. PR: 245770 (modified) --- games/Makefile | 1 + games/yquake2/Makefile | 45 +++++++++++++++++++++++ games/yquake2/distinfo | 3 ++ games/yquake2/files/patch-Makefile | 28 ++++++++++++++ games/yquake2/files/patch-src_client_vid_vid.c | 17 +++++++++ games/yquake2/files/patch-src_common_filesystem.c | 12 ++++++ games/yquake2/pkg-descr | 9 +++++ games/yquake2/pkg-plist | 16 ++++++++ 8 files changed, 131 insertions(+) diff --git a/games/Makefile b/games/Makefile index cfa10b590d9d..283d72afdfde 100644 --- a/games/Makefile +++ b/games/Makefile @@ -1157,6 +1157,7 @@ SUBDIR += xzip SUBDIR += yadex SUBDIR += yahtzee + SUBDIR += yquake2 SUBDIR += zangband SUBDIR += zatacka SUBDIR += zaz diff --git a/games/yquake2/Makefile b/games/yquake2/Makefile new file mode 100644 index 000000000000..47a627afb692 --- /dev/null +++ b/games/yquake2/Makefile @@ -0,0 +1,45 @@ +# Created by: Vasily Postnicov + +PORTNAME= yquake2 +PORTVERSION= 8.01 +CATEGORIES= games +MASTER_SITES= https://deponie.yamagi.org/quake2/ +DISTNAME= quake2-${PORTVERSION} + +MAINTAINER= shamaz.mazum@gmail.com +COMMENT= Improved version of Icculus Quake II + +LICENSE= GPLv2 +LICENSE_FILE= ${WRKSRC}/LICENSE + +# Quake II loads optional libraries via dlopen(3) +BUILD_DEPENDS= ${LOCALBASE}/include/curl/curl.h:ftp/curl +RUN_DEPENDS= ${LOCALBASE}/lib/libcurl.so:ftp/curl + +USES= gmake openal gl sdl tar:xz +USE_GL= gl +USE_SDL= sdl2 +MAKE_ARGS= VERBOSE=1 WITH_SYSTEMWIDE=yes \ + WITH_SYSTEMDATADIR="${Q2DIR}" \ + WITH_SYSTEMLIBDIR="${PREFIX}/lib/${PORTNAME}" + +OPTIONS_DEFINE= DOCS + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/release/q2ded \ + ${STAGEDIR}${PREFIX}/bin/yq2ded + ${INSTALL_PROGRAM} ${WRKSRC}/release/quake2 \ + ${STAGEDIR}${PREFIX}/bin/${PORTNAME} + @${MKDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/baseq2 + ${INSTALL_LIB} ${WRKSRC}/release/baseq2/game.so \ + ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/baseq2 + ${INSTALL_LIB} ${WRKSRC}/release/ref_*.so \ + ${STAGEDIR}${PREFIX}/lib/${PORTNAME} + +post-install-DOCS-on: + @${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/CHANGELOG ${WRKSRC}/doc/*.md \ + ${STAGEDIR}${DOCSDIR} + +.include "${.CURDIR}/../quake2-data/Makefile.include" +.include diff --git a/games/yquake2/distinfo b/games/yquake2/distinfo new file mode 100644 index 000000000000..ee74449e7613 --- /dev/null +++ b/games/yquake2/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1642841575 +SHA256 (quake2-8.01.tar.xz) = 132889a6976dd7c75bf94a4ca49c76ff09cf843d66541872320d7a02a25a622c +SIZE (quake2-8.01.tar.xz) = 2109408 diff --git a/games/yquake2/files/patch-Makefile b/games/yquake2/files/patch-Makefile new file mode 100644 index 000000000000..0d09f6f0be64 --- /dev/null +++ b/games/yquake2/files/patch-Makefile @@ -0,0 +1,28 @@ +--- Makefile.orig 2022-01-22 08:51:28 UTC ++++ Makefile +@@ -251,10 +251,13 @@ endif + # Systemwide installation. + ifeq ($(WITH_SYSTEMWIDE),yes) + override CFLAGS += -DSYSTEMWIDE +-ifneq ($(WITH_SYSTEMDIR),"") +-override CFLAGS += -DSYSTEMDIR=\"$(WITH_SYSTEMDIR)\" ++ifneq ($(WITH_SYSTEMDATADIR),"") ++override CFLAGS += -DSYSTEMDATADIR=\"$(WITH_SYSTEMDATADIR)\" + endif ++ifneq ($(WITH_SYSTEMLIBDIR),"") ++override CFLAGS += -DSYSTEMLIBDIR=\"$(WITH_SYSTEMLIBDIR)\" + endif ++endif + + # ---------- + +@@ -405,7 +408,8 @@ config: + @echo "WITH_OPENAL = $(WITH_OPENAL)" + @echo "WITH_RPATH = $(WITH_RPATH)" + @echo "WITH_SYSTEMWIDE = $(WITH_SYSTEMWIDE)" +- @echo "WITH_SYSTEMDIR = $(WITH_SYSTEMDIR)" ++ @echo "WITH_SYSTEMDATADIR = $(WITH_SYSTEMDATADIR)" ++ @echo "WITH_SYSTEMLIBDIR = $(WITH_SYSTEMLIBDIR)" + @echo "============================" + @echo "" + diff --git a/games/yquake2/files/patch-src_client_vid_vid.c b/games/yquake2/files/patch-src_client_vid_vid.c new file mode 100644 index 000000000000..3238c79518d5 --- /dev/null +++ b/games/yquake2/files/patch-src_client_vid_vid.c @@ -0,0 +1,17 @@ +--- src/client/vid/vid.c.orig 2022-01-22 08:51:28 UTC ++++ src/client/vid/vid.c +@@ -318,7 +318,13 @@ const char* lib_ext = "so"; + static void + VID_GetRendererLibPath(const char *renderer, char *path, size_t len) + { +- snprintf(path, len, "%sref_%s.%s", Sys_GetBinaryDir(), renderer, lib_ext); ++ char *next_path = NULL; ++ ++ while ((next_path = FS_GetNextRawPath (next_path)) != NULL) { ++ snprintf(path, len, "%s/ref_%s.%s", next_path, renderer, lib_ext); ++ if (Sys_IsFile(path)) ++ break; ++ } + } + + /* diff --git a/games/yquake2/files/patch-src_common_filesystem.c b/games/yquake2/files/patch-src_common_filesystem.c new file mode 100644 index 000000000000..827038394300 --- /dev/null +++ b/games/yquake2/files/patch-src_common_filesystem.c @@ -0,0 +1,12 @@ +--- src/common/filesystem.c.orig 2022-01-22 08:51:28 UTC ++++ src/common/filesystem.c +@@ -2029,7 +2029,8 @@ void FS_BuildRawPath(void) { + // binary compiled with SYSTEMWIDE (installed from + // packages), but no systemwide game data. + #ifdef SYSTEMWIDE +- FS_AddDirToRawPath(SYSTEMDIR, false, false); ++ FS_AddDirToRawPath(SYSTEMDATADIR, false, false); ++ FS_AddDirToRawPath(SYSTEMLIBDIR, false, false); + #endif + + // The CD must be the last directory of the path, diff --git a/games/yquake2/pkg-descr b/games/yquake2/pkg-descr new file mode 100644 index 000000000000..5929463f39fe --- /dev/null +++ b/games/yquake2/pkg-descr @@ -0,0 +1,9 @@ +Yamagi Quake II is an enhanced client for id Software's Quake II with +focus on offline and cooperative gameplay. Both the gameplay and the +graphics are unchanged, but many bugs in the last official release were +fixed and some nice to have features like widescreen support and a modern +OpenGL 3.2 renderer were added. Unlike most other Quake II source ports +Yamagi Quake II is fully 64-bit clean. It works perfectly on modern +processors and operating systems. + +WWW: https://www.yamagi.org/quake2/ diff --git a/games/yquake2/pkg-plist b/games/yquake2/pkg-plist new file mode 100644 index 000000000000..fce8f627ae2e --- /dev/null +++ b/games/yquake2/pkg-plist @@ -0,0 +1,16 @@ +bin/yq2ded +bin/yquake2 +lib/yquake2/baseq2/game.so +lib/yquake2/ref_gl1.so +lib/yquake2/ref_gl3.so +lib/yquake2/ref_soft.so +%%PORTDOCS%%%%DOCSDIR%%/010_index.md +%%PORTDOCS%%%%DOCSDIR%%/020_installation.md +%%PORTDOCS%%%%DOCSDIR%%/030_configuration.md +%%PORTDOCS%%%%DOCSDIR%%/040_cvarlist.md +%%PORTDOCS%%%%DOCSDIR%%/050_commands.md +%%PORTDOCS%%%%DOCSDIR%%/060_multiplayer.md +%%PORTDOCS%%%%DOCSDIR%%/070_packaging.md +%%PORTDOCS%%%%DOCSDIR%%/080_contributing.md +%%PORTDOCS%%%%DOCSDIR%%/090_filelists.md +%%PORTDOCS%%%%DOCSDIR%%/CHANGELOG