pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

warsow: Now it actually works



Module Name:	pkgsrc-wip
Committed By:	Charlotte Koch <dressupgeekout%gmail.com@localhost>
Pushed By:	cfkoch
Date:		Sat May 7 15:13:04 2022 -0700
Changeset:	4f0b4ba3403d87dcf774584df34fa613270b145c

Modified Files:
	warsow/Makefile
	warsow/PLIST
	warsow/distinfo
Added Files:
	warsow/files/warsow.template
Removed Files:
	warsow/TODO

Log Message:
warsow: Now it actually works

This work is LONG overdue.

Back in 2019, Leonid Bobrov <mazocomp%disroot.org@localhost> wrote the big patch to
add *BSD support to Warsow in the first place. I was able to confirm that
the game with his patches worked on NetBSD/amd64 at the time.

I kept and uploaded his source changes to my GitHub account, but I never
actually made a pkgsrc package for it... until now.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=4f0b4ba3403d87dcf774584df34fa613270b145c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 warsow/Makefile              |  71 ++++++++++++++++---
 warsow/PLIST                 | 163 +++++++++++++++++++++++++++++++++++++++++++
 warsow/TODO                  |   1 -
 warsow/distinfo              |  11 ++-
 warsow/files/warsow.template |   8 +++
 5 files changed, 242 insertions(+), 12 deletions(-)

diffs:
diff --git a/warsow/Makefile b/warsow/Makefile
index 9b780c2647..4a3d08a2e6 100644
--- a/warsow/Makefile
+++ b/warsow/Makefile
@@ -1,29 +1,84 @@
 # $NetBSD$
 
-DISTNAME=	warsow_21_sdk
+# The DISTNAME adds '-engine' suffix on purpose to avoid conflict with the
+# other distfile, which contains the actual multimedia assets for the game.
+DISTNAME=	warsow-engine-2.1.2
 PKGNAME=	warsow-2.1.2
 CATEGORIES=	games
-MASTER_SITES=	http://sebastian.network/warsow/
+MASTER_SITES=	${MASTER_SITE_GITHUB:=dressupgeekout/}
+GITHUB_PROJECT=	warsow
+GITHUB_TAG=	${PKGVERSION_NOREV}-netbsd
 
-MAINTAINER=	cfkoch%edgebsd.org@localhost
+# Game data found here:
+DISTFILES=			${DEFAULT_DISTFILES} warsow-2.1.2.tar.gz
+SITES.warsow-2.1.2.tar.gz=	https://warsow.net/
+
+MAINTAINER=	dressupgeekout%gmail.com@localhost
 HOMEPAGE=	https://warsow.net
 COMMENT=	Free fast-paced first-person shooter
 LICENSE=	gnu-gpl-v2
 
-WRKSRC=		${WRKDIR}/${DISTNAME}/source/source
-USE_CMAKE=	yes
-USE_LANGUAGES=	c c++
+WRKSRC=			${WRKDIR}/warsow-2.1.2-netbsd/source
+WARSOW_DATA_SRC=	${WRKDIR}/warsow-2.1.2/basewsw
+USE_CMAKE=		yes
+USE_TOOLS+=		pax
+USE_LANGUAGES=		c c++
+
+CMAKE_ARGS+=		-DCMAKE_INSTALL_PREFIX=${PREFIX}/libexec/warsow
+
+INSTALLATION_DIRS+=	bin
+INSTALLATION_DIRS+=	share/warsow
+INSTALLATION_DIRS+=	share/warsow/libs
+INSTALLATION_DIRS+=	share/warsow/basewsw
+
+WARSOW_PROGRAMS=	# defined
+WARSOW_PROGRAMS+=	warsow
+WARSOW_PROGRAMS+=	wsw_server
+WARSOW_PROGRAMS+=	wswtv_server
+
+WARSOW_INTERNAL_LIBS=	# defined
+WARSOW_INTERNAL_LIBS+=	libangelwrap.so
+WARSOW_INTERNAL_LIBS+=	libcin.so
+WARSOW_INTERNAL_LIBS+=	libftlib.so
+WARSOW_INTERNAL_LIBS+=	libirc.so
+WARSOW_INTERNAL_LIBS+=	libref_gl.so
+WARSOW_INTERNAL_LIBS+=	libsnd_openal.so
+WARSOW_INTERNAL_LIBS+=	libsnd_qf.so
+WARSOW_INTERNAL_LIBS+=	libsteamlib.so
+WARSOW_INTERNAL_LIBS+=	libui.so
+
+WARSOW_BASEWSW_LIBS=	# defined
+WARSOW_BASEWSW_LIBS+=	libcgame.so
+WARSOW_BASEWSW_LIBS+=	libgame.so
+
+pre-configure:
+	${SED} -e 's,@@PREFIX@@,${PREFIX},g' ${FILESDIR}/warsow.template > ${WRKDIR}/warsow
 
-CMAKE_ARGS+=	-DUSE_SDL:BOOL=ON
+do-install:
+	${INSTALL_SCRIPT} ${WRKDIR}/warsow ${DESTDIR}${PREFIX}/bin/warsow
+	for prog in ${WARSOW_PROGRAMS}; do							\
+		${INSTALL_PROGRAM}								\
+			${WRKSRC}/build/$${prog} ${DESTDIR}${PREFIX}/share/warsow/$${prog};	\
+	done
+	for lib in ${WARSOW_INTERNAL_LIBS}; do								\
+		${INSTALL_LIB}										\
+			${WRKSRC}/build/libs/$${lib} ${DESTDIR}${PREFIX}/share/warsow/libs/$${lib};	\
+	done
+	cd ${WARSOW_DATA_SRC} && ${PAX} -r -w . ${DESTDIR}${PREFIX}/share/warsow/basewsw/
+	for lib in ${WARSOW_BASEWSW_LIBS}; do									\
+		${INSTALL_LIB}											\
+			${WRKSRC}/build/basewsw/$${lib} ${DESTDIR}${PREFIX}/share/warsow/basewsw/$${lib};	\
+	done
 
 .include "../../audio/libvorbis/buildlink3.mk"
+.include "../../audio/openal-soft/buildlink3.mk"
 .include "../../devel/SDL2/buildlink3.mk"
 .include "../../devel/zlib/buildlink3.mk"
 .include "../../graphics/freetype2/buildlink3.mk"
 .include "../../graphics/png/buildlink3.mk"
+.include "../../graphics/MesaLib/buildlink3.mk"
 .include "../../multimedia/libogg/buildlink3.mk"
 .include "../../multimedia/libtheora/buildlink3.mk"
-.include "../../wip/angelscript/buildlink3.mk"
 .include "../../www/curl/buildlink3.mk"
 .include "../../mk/jpeg.buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
diff --git a/warsow/PLIST b/warsow/PLIST
index 48d96a5493..2937e61d92 100644
--- a/warsow/PLIST
+++ b/warsow/PLIST
@@ -1 +1,164 @@
 @comment $NetBSD$
+bin/warsow
+share/warsow/basewsw/configs/server/gametypes/bomb.cfg
+share/warsow/basewsw/configs/server/gametypes/ca.cfg
+share/warsow/basewsw/configs/server/gametypes/ctf.cfg
+share/warsow/basewsw/configs/server/gametypes/ctftactics.cfg
+share/warsow/basewsw/configs/server/gametypes/da.cfg
+share/warsow/basewsw/configs/server/gametypes/dm.cfg
+share/warsow/basewsw/configs/server/gametypes/duel.cfg
+share/warsow/basewsw/configs/server/gametypes/ffa.cfg
+share/warsow/basewsw/configs/server/gametypes/headhunt.cfg
+share/warsow/basewsw/configs/server/gametypes/race.cfg
+share/warsow/basewsw/configs/server/gametypes/tdm.cfg
+share/warsow/basewsw/configs/server/gametypes/tutorial.cfg
+share/warsow/basewsw/configs/timer/bs/0x.cfg
+share/warsow/basewsw/configs/timer/bs/1x.cfg
+share/warsow/basewsw/configs/timer/bs/2x.cfg
+share/warsow/basewsw/configs/timer/bs/3x.cfg
+share/warsow/basewsw/configs/timer/bs/4x.cfg
+share/warsow/basewsw/configs/timer/bs/5x.cfg
+share/warsow/basewsw/configs/timer/core.cfg
+share/warsow/basewsw/configs/timer/quad/0x.cfg
+share/warsow/basewsw/configs/timer/quad/1x.cfg
+share/warsow/basewsw/configs/timer/quad/2x.cfg
+share/warsow/basewsw/configs/timer/quad/3x.cfg
+share/warsow/basewsw/configs/timer/quad/4x.cfg
+share/warsow/basewsw/configs/timer/quad/5x.cfg
+share/warsow/basewsw/configs/timer/ra/0x.cfg
+share/warsow/basewsw/configs/timer/ra/1x.cfg
+share/warsow/basewsw/configs/timer/ra/2x.cfg
+share/warsow/basewsw/configs/timer/ra/3x.cfg
+share/warsow/basewsw/configs/timer/ra/4x.cfg
+share/warsow/basewsw/configs/timer/ra/5x.cfg
+share/warsow/basewsw/configs/timer/timerconfig.cfg
+share/warsow/basewsw/configs/timer/ya/0x.cfg
+share/warsow/basewsw/configs/timer/ya/1x.cfg
+share/warsow/basewsw/configs/timer/ya/2x.cfg
+share/warsow/basewsw/configs/timer/ya/3x.cfg
+share/warsow/basewsw/configs/timer/ya/4x.cfg
+share/warsow/basewsw/configs/timer/ya/5x.cfg
+share/warsow/basewsw/configs/timer/ya2/0x.cfg
+share/warsow/basewsw/configs/timer/ya2/1x.cfg
+share/warsow/basewsw/configs/timer/ya2/2x.cfg
+share/warsow/basewsw/configs/timer/ya2/3x.cfg
+share/warsow/basewsw/configs/timer/ya2/4x.cfg
+share/warsow/basewsw/configs/timer/ya2/5x.cfg
+share/warsow/basewsw/configs/ultralow.cfg
+share/warsow/basewsw/data0_000_nonfree_21.pk3
+share/warsow/basewsw/data0_000_nonfree_21pure.pk3
+share/warsow/basewsw/data0_21.pk3
+share/warsow/basewsw/data0_21pure.pk3
+share/warsow/basewsw/data1_21pure.pk3
+share/warsow/basewsw/data2_21pure.pk3
+share/warsow/basewsw/dedicated_autoexec.cfg
+share/warsow/basewsw/default.cfg
+share/warsow/basewsw/default_binds_gamepad.cfg
+share/warsow/basewsw/default_binds_kbmouse.cfg
+share/warsow/basewsw/editortextures.pk3
+share/warsow/basewsw/libcgame.so
+share/warsow/basewsw/libgame.so
+share/warsow/basewsw/map_ui.pk3
+share/warsow/basewsw/map_wamphi1.pk3
+share/warsow/basewsw/map_wbomb1.pk3
+share/warsow/basewsw/map_wbomb2.pk3
+share/warsow/basewsw/map_wbomb3.pk3
+share/warsow/basewsw/map_wbomb4.pk3
+share/warsow/basewsw/map_wbomb5.pk3
+share/warsow/basewsw/map_wbomb6.pk3
+share/warsow/basewsw/map_wca1.pk3
+share/warsow/basewsw/map_wctf1.pk3
+share/warsow/basewsw/map_wctf2.pk3
+share/warsow/basewsw/map_wctf3.pk3
+share/warsow/basewsw/map_wctf4.pk3
+share/warsow/basewsw/map_wctf6.pk3
+share/warsow/basewsw/map_wda1.pk3
+share/warsow/basewsw/map_wda2.pk3
+share/warsow/basewsw/map_wda3.pk3
+share/warsow/basewsw/map_wda4.pk3
+share/warsow/basewsw/map_wda5.pk3
+share/warsow/basewsw/map_wdm1.pk3
+share/warsow/basewsw/map_wdm10.pk3
+share/warsow/basewsw/map_wdm11.pk3
+share/warsow/basewsw/map_wdm12.pk3
+share/warsow/basewsw/map_wdm13.pk3
+share/warsow/basewsw/map_wdm14.pk3
+share/warsow/basewsw/map_wdm15.pk3
+share/warsow/basewsw/map_wdm16.pk3
+share/warsow/basewsw/map_wdm17.pk3
+share/warsow/basewsw/map_wdm18.pk3
+share/warsow/basewsw/map_wdm19.pk3
+share/warsow/basewsw/map_wdm2.pk3
+share/warsow/basewsw/map_wdm4.pk3
+share/warsow/basewsw/map_wdm5.pk3
+share/warsow/basewsw/map_wdm6.pk3
+share/warsow/basewsw/map_wdm7.pk3
+share/warsow/basewsw/map_wdm9.pk3
+share/warsow/basewsw/map_wrace1.pk3
+share/warsow/basewsw/map_wtutorial1.pk3
+share/warsow/basewsw/models_nate.pk3
+share/warsow/basewsw/modules_21.pk3
+share/warsow/basewsw/profiles/contrast.cfg
+share/warsow/basewsw/profiles/high+.cfg
+share/warsow/basewsw/profiles/high.cfg
+share/warsow/basewsw/profiles/low.cfg
+share/warsow/basewsw/profiles/medium.cfg
+share/warsow/basewsw/profiles/stream.cfg
+share/warsow/basewsw/tex_000_nonfree.pk3
+share/warsow/basewsw/tex_36.pk3
+share/warsow/basewsw/tex_baxandall.pk3
+share/warsow/basewsw/tex_billboard.pk3
+share/warsow/basewsw/tex_blx.pk3
+share/warsow/basewsw/tex_blxbis.pk3
+share/warsow/basewsw/tex_boqu.pk3
+share/warsow/basewsw/tex_boqu2.pk3
+share/warsow/basewsw/tex_bricks.pk3
+share/warsow/basewsw/tex_cha0swsw.pk3
+share/warsow/basewsw/tex_cleansurface.pk3
+share/warsow/basewsw/tex_concrete.pk3
+share/warsow/basewsw/tex_concrete_techwalls.pk3
+share/warsow/basewsw/tex_decals.pk3
+share/warsow/basewsw/tex_env.pk3
+share/warsow/basewsw/tex_etr.pk3
+share/warsow/basewsw/tex_exwsw.pk3
+share/warsow/basewsw/tex_factory.pk3
+share/warsow/basewsw/tex_format.pk3
+share/warsow/basewsw/tex_glass.pk3
+share/warsow/basewsw/tex_grates.pk3
+share/warsow/basewsw/tex_hazelh.pk3
+share/warsow/basewsw/tex_hexagons.pk3
+share/warsow/basewsw/tex_jewels.pk3
+share/warsow/basewsw/tex_lights.pk3
+share/warsow/basewsw/tex_melee.pk3
+share/warsow/basewsw/tex_metal.pk3
+share/warsow/basewsw/tex_nature.pk3
+share/warsow/basewsw/tex_neon.pk3
+share/warsow/basewsw/tex_noir.pk3
+share/warsow/basewsw/tex_plastic.pk3
+share/warsow/basewsw/tex_refly.pk3
+share/warsow/basewsw/tex_russus.pk3
+share/warsow/basewsw/tex_scifi_interior.pk3
+share/warsow/basewsw/tex_sky.pk3
+share/warsow/basewsw/tex_solidfake.pk3
+share/warsow/basewsw/tex_supersymmetry.pk3
+share/warsow/basewsw/tex_terrain.pk3
+share/warsow/basewsw/tex_tiles.pk3
+share/warsow/basewsw/tex_window.pk3
+share/warsow/basewsw/tex_wood.pk3
+share/warsow/basewsw/tex_wsw_cave1.pk3
+share/warsow/basewsw/tex_wsw_city1.pk3
+share/warsow/basewsw/tex_wsw_flareshalos.pk3
+share/warsow/basewsw/tex_zone_neutre.pk3
+share/warsow/basewsw/tvserver_autoexec.cfg
+share/warsow/libs/libangelwrap.so
+share/warsow/libs/libcin.so
+share/warsow/libs/libftlib.so
+share/warsow/libs/libirc.so
+share/warsow/libs/libref_gl.so
+share/warsow/libs/libsnd_openal.so
+share/warsow/libs/libsnd_qf.so
+share/warsow/libs/libsteamlib.so
+share/warsow/libs/libui.so
+share/warsow/warsow
+share/warsow/wsw_server
+share/warsow/wswtv_server
diff --git a/warsow/TODO b/warsow/TODO
deleted file mode 100644
index a3843c7629..0000000000
--- a/warsow/TODO
+++ /dev/null
@@ -1 +0,0 @@
-- does not build yet!
diff --git a/warsow/distinfo b/warsow/distinfo
index c4ccc40150..607872c821 100644
--- a/warsow/distinfo
+++ b/warsow/distinfo
@@ -1,5 +1,10 @@
 $NetBSD$
 
-RMD160 (warsow_21_sdk.tar.gz) = 0c6a469c09378c6e4b3abba8d980643a058d7e53
-SHA512 (warsow_21_sdk.tar.gz) = 5b1559280ffb56355a88cfd24899a199c3c76c71f6ea04b2aa66561767b9a9bd1020f41e75cf6488ba8084d20d36a8eccf84e67ec56c1a3596bd7c3c034ea940
-Size (warsow_21_sdk.tar.gz) = 563443012 bytes
+SHA1 (warsow-2.1.2.tar.gz) = 40e3277a3f8f7f70b6f887a8a7b286d48641241d
+RMD160 (warsow-2.1.2.tar.gz) = 133d4eeeb24fdac82e30c154c5bffee211270e59
+SHA512 (warsow-2.1.2.tar.gz) = c26971882c6ddad7e2a2e65c61bc2a327b9690a18b8faeabb23931a3d21a5d34bfac0a27516dfd39898419daaf607f48053754024e6a0ed66cfdccda34134c15
+Size (warsow-2.1.2.tar.gz) = 465567628 bytes
+SHA1 (warsow-engine-2.1.2.tar.gz) = 92932147751a8c64a9cdcbd162168fb3c2094272
+RMD160 (warsow-engine-2.1.2.tar.gz) = 69a39d9f49584a38215960ee9c003ba918de9f44
+SHA512 (warsow-engine-2.1.2.tar.gz) = 449c286aa4293c668abb9945b0c71bc527c5db0628e55cf2ae1d99dc13a03d0045c3dc292aa2e095dfde2986c64f14b3a005195a0352e60b6ac6f3e96ed9e4dc
+Size (warsow-engine-2.1.2.tar.gz) = 14544685 bytes
diff --git a/warsow/files/warsow.template b/warsow/files/warsow.template
new file mode 100644
index 0000000000..97c2b47725
--- /dev/null
+++ b/warsow/files/warsow.template
@@ -0,0 +1,8 @@
+#!/bin/sh
+#
+# $NetBSD$
+# Launcher script for Warsow
+#
+
+set -e
+cd @@PREFIX@@/share/warsow && ./warsow


Home | Main Index | Thread Index | Old Index