summaryrefslogtreecommitdiff
path: root/games/redeclipse16
diff options
context:
space:
mode:
Diffstat (limited to 'games/redeclipse16')
-rw-r--r--games/redeclipse16/Makefile78
-rw-r--r--games/redeclipse16/distinfo3
-rw-r--r--games/redeclipse16/files/patch-config_setup.cfg29
-rw-r--r--games/redeclipse16/files/patch-src_Makefile13
-rw-r--r--games/redeclipse16/files/redeclipse.in3
-rw-r--r--games/redeclipse16/files/redeclipse_server.in3
-rw-r--r--games/redeclipse16/pkg-descr6
7 files changed, 135 insertions, 0 deletions
diff --git a/games/redeclipse16/Makefile b/games/redeclipse16/Makefile
new file mode 100644
index 000000000000..9aa8f3d71e67
--- /dev/null
+++ b/games/redeclipse16/Makefile
@@ -0,0 +1,78 @@
+# Created by: Jose Alonso Cardenas Marquez <acardenas@bsd.org.pe>
+
+PORTNAME= redeclipse
+PORTVERSION= 1.6.0
+DISTVERSIONPREFIX= v
+CATEGORIES= games
+PKGNAMESUFFIX= 16
+
+MAINTAINER= amdmi3@FreeBSD.org
+COMMENT= Single-player and multi-player first-person ego-shooter
+
+LICENSE= MIT ZLIB
+LICENSE_COMB= multi
+
+CONFLICTS_INSTALL=redeclipse-[0-9]*
+
+BROKEN_sparc64= does not build on sparc64
+
+RUN_DEPENDS= redeclipse-data16>=${PORTVERSION}:games/redeclipse-data16
+
+USE_GITHUB= yes
+GH_ACCOUNT= red-eclipse
+GH_PROJECT= base
+
+USES= gmake
+BUILD_WRKSRC= ${WRKSRC}/src
+
+SUB_FILES= ${PLIST_FILES:Mbin/*:T}
+
+PORTDOCS= *
+PORTDATA= *
+
+OPTIONS_DEFINE= OPTIMIZED_CFLAGS DOCS
+OPTIONS_MULTI= COMPONENTS
+OPTIONS_MULTI_COMPONENTS=CLIENT DEDICATED
+OPTIONS_DEFAULT= CLIENT DEDICATED OPTIMIZED_CFLAGS
+
+CLIENT_DESC= Build client
+CLIENT_USES= gl sdl xorg
+CLIENT_USE= GL=gl SDL=image2,mixer2,sdl2 XORG=x11
+CLIENT_ALL_TARGET= client
+CLIENT_PLIST_FILES= bin/${PORTNAME} libexec/${PORTNAME} \
+ share/pixmaps/${PORTNAME}.ico
+CLIENT_DESKTOP_ENTRIES= "Red Eclipse" \
+ "" \
+ "${PREFIX}/share/pixmaps/${PORTNAME}.ico" \
+ "${PORTNAME}" \
+ "Game;Shooter;" \
+ ""
+
+DEDICATED_DESC= Build dedicated server
+DEDICATED_ALL_TARGET= server
+DEDICATED_PLIST_FILES= bin/${PORTNAME}_server libexec/${PORTNAME}_server
+
+OPTIMIZED_CFLAGS_CFLAGS= -O3 -fomit-frame-pointer -ffast-math
+OPTIMIZED_CFLAGS_CXXFLAGS= -O3 -fomit-frame-pointer -ffast-math
+
+post-extract:
+ @${RM} -rf ${WRKSRC}/src/include ${WRKSRC}/src/lib
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|CLIENT_PCH=.*|CLIENT_PCH=|' ${WRKSRC}/src/Makefile
+
+do-install:
+ (cd ${WRKSRC} && ${COPYTREE_SHARE} config ${STAGEDIR}${DATADIR})
+ (cd ${WRKSRC}/doc && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR})
+
+do-install-CLIENT-on:
+ ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/
+ ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/${PORTNAME}_bsd ${STAGEDIR}${PREFIX}/libexec/${PORTNAME}
+ ${INSTALL_DATA} ${WRKSRC}/src/${PORTNAME}.ico \
+ ${STAGEDIR}${PREFIX}/share/pixmaps
+
+do-install-DEDICATED-on:
+ ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME}_server ${STAGEDIR}${PREFIX}/bin/
+ ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/${PORTNAME}_server_bsd ${STAGEDIR}${PREFIX}/libexec/${PORTNAME}_server
+
+.include <bsd.port.mk>
diff --git a/games/redeclipse16/distinfo b/games/redeclipse16/distinfo
new file mode 100644
index 000000000000..9a478e5db901
--- /dev/null
+++ b/games/redeclipse16/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1513953010
+SHA256 (red-eclipse-base-v1.6.0_GH0.tar.gz) = 40af4276a7dd9ffc48e31f01e63343954b3851c5b446716cf0513f579c9949ef
+SIZE (red-eclipse-base-v1.6.0_GH0.tar.gz) = 13846634
diff --git a/games/redeclipse16/files/patch-config_setup.cfg b/games/redeclipse16/files/patch-config_setup.cfg
new file mode 100644
index 000000000000..4f8ad12418d3
--- /dev/null
+++ b/games/redeclipse16/files/patch-config_setup.cfg
@@ -0,0 +1,29 @@
+Upstream commits ec1e32e1410f51c336e893ecfb56f728fdcc1a92,
+bb4b6862f802c040ef67484942e91f7c3d88e649: fix hiding HUD
+permanently when HUDless screenshot is taken.
+diff --git config/setup.cfg config/setup.cfg
+index 4edcf170..e6888f81 100644
+--- config/setup.cfg
++++ config/setup.cfg
+@@ -316,9 +316,19 @@ dobindsearch = [
+ [search@[arg2]binds] $arg1 5 "^f{" "}" (? $textkeyseps (? $textkeyimages "|" ", ") (? $textkeyimages "" " ")) (? $textkeyseps (? $textkeyimages "|" " or ") (? $textkeyimages "" " "))
+ ]
+
++// screenshotnohud: Takes a screenshot without a hud
++// The screenshot and the hud showing are delayed to prevent any issues since
++// the game skips a few frames while taking a screenshot.
++canscreenshotnohud = 1
+ screenshotnohud = [
+- sleep 50 [ screenshot; showhud @showhud ]
+- showhud 0
++ if $canscreenshotnohud [
++ canscreenshotnohud = 0 // Lock screenshotting without a hud for the 50ms duration
++ hudwasshown = $showhud // Previous $showhud state
++ if $hudwasshown [showhud 0] // Hide hud if it was shown
++ sleep 25 [screenshot]
++ // Restore hud if it was shown and restore screenshotting.
++ sleep 50 [showhud $hudwasshown; canscreenshotnohud = 1]
++ ]
+ ]
+
+ listcomplete vdelta [
diff --git a/games/redeclipse16/files/patch-src_Makefile b/games/redeclipse16/files/patch-src_Makefile
new file mode 100644
index 000000000000..95c5dfa2c78b
--- /dev/null
+++ b/games/redeclipse16/files/patch-src_Makefile
@@ -0,0 +1,13 @@
+--- src/Makefile.orig 2016-06-30 04:34:23 UTC
++++ src/Makefile
+@@ -82,8 +82,8 @@ else
+ BIN_SUFFIX=_native
+ endif
+ endif
+-CLIENT_INCLUDES= $(INCLUDES) -I/usr/X11R6/include `sdl2-config --cflags`
+-CLIENT_LIBS= -Lenet -lenet -L/usr/X11R6/lib -lX11 `sdl2-config --libs` -lSDL2_image -lSDL2_mixer -lz -lGL
++CLIENT_INCLUDES= $(INCLUDES) -I${LOCALBASE}/include `sdl2-config --cflags`
++CLIENT_LIBS= -Lenet -lenet -L${LOCALBASE}/lib -lX11 `sdl2-config --libs` -lSDL2_image -lSDL2_mixer -lz -lGL
+ endif
+ ifneq (,$(findstring linux,$(PLATFORM)))
+ CLIENT_LIBS+= -lrt
diff --git a/games/redeclipse16/files/redeclipse.in b/games/redeclipse16/files/redeclipse.in
new file mode 100644
index 000000000000..5e85841d7f38
--- /dev/null
+++ b/games/redeclipse16/files/redeclipse.in
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+cd %%DATADIR%% && exec %%PREFIX%%/libexec/redeclipse "$@"
diff --git a/games/redeclipse16/files/redeclipse_server.in b/games/redeclipse16/files/redeclipse_server.in
new file mode 100644
index 000000000000..97aa8ccf3779
--- /dev/null
+++ b/games/redeclipse16/files/redeclipse_server.in
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+cd %%DATADIR%% && exec %%PREFIX%%/libexec/redeclipse_server "$@"
diff --git a/games/redeclipse16/pkg-descr b/games/redeclipse16/pkg-descr
new file mode 100644
index 000000000000..2119b27f9727
--- /dev/null
+++ b/games/redeclipse16/pkg-descr
@@ -0,0 +1,6 @@
+Red Eclipse is a single-player and multi-player first-person ego-shooter,
+built as a total conversion of Cube Engine 2, which lends itself toward
+a balanced gameplay, with a general theme of agility in a variety of
+environments.
+
+WWW: https://www.redeclipse.net/