1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-20 08:27:15 +00:00

games/etlegacy: New port: a second breath of life for Wolfenstein: Enemy Territory

ET: Legacy is an open source project based on the code of Wolfenstein: Enemy
Territory which was released in 2010 under the terms of the GPLv3.

There are two aspects to this project:

- An updated game engine, ET: Legacy, which aims to fix bugs and security
exploits, remove old dependencies, add useful features and modernize its
graphics while still remaining compatible with ET 2.60b and as many of its mods
as possible.

- A new mod, Legacy, which aims to add many useful features and improvements
while staying close to the original gameplay, as well as being lightweight and
extensible through Lua scripts.
This commit is contained in:
Jose Alonso Cardenas Marquez 2024-01-10 00:57:46 -05:00
parent c08ccc4e11
commit dfed96fc83
No known key found for this signature in database
GPG Key ID: 335B9246BA5E30F4
10 changed files with 309 additions and 0 deletions

View File

@ -241,6 +241,7 @@
SUBDIR += entombed
SUBDIR += enygma
SUBDIR += epiphany-game
SUBDIR += etlegacy
SUBDIR += etracer
SUBDIR += euchre
SUBDIR += eureka

75
games/etlegacy/Makefile Normal file
View File

@ -0,0 +1,75 @@
PORTNAME= etlegacy
DISTVERSION= 2.81.1
CATEGORIES= games
MASTER_SITES= https://mirror.etlegacy.com/geoip/:geoip \
https://mirror.etlegacy.com/wolfadmin/:wolfadmin
DISTFILES= wolfadmin.tar.gz:wolfadmin \
GeoIP.dat.tar.gz:geoip
DIST_SUBDIR= ${PORTNAME}-${DISTVERSION}
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= acm@FreeBSD.org
COMMENT= a second breath of life for Wolfenstein: Enemy Territory
WWW= https://www.etlegacy.com/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING.txt
USES= cmake compiler:c++11-lib desktop-file-utils localbase \
lua pkgconfig sqlite
USE_CXXSTD= c++11
USE_GITHUB= yes
GH_TAGNAME= 956269f4c13ebe31ba2a0f0b805588383209bd5b
CMAKE_ARGS+= -DCROSS_COMPILE32=OFF \
-DBUNDLED_LIBS=OFF \
-DBUNDLED_LIBS_DEFAULT=OFF \
-DCLIENT_GLVND=ON \
-DFEATURE_RENDERER2=OFF \
-DENABLE_SSE=ON \
-DFEATURE_AUTOUPDATE=OFF \
-DINSTALL_DEFAULT_BASEDIR=${PREFIX}/lib/${PORTNAME}
OPTIONS_DEFAULT= CLIENT DEDICATED
OPTIONS_MULTI= FLAVOR
OPTIONS_MULTI_FLAVOR= CLIENT DEDICATED
OPTIONS_SUB= yes
CLIENT_DESC= Build client
DEDICATED_DESC= Build dedicated server
CLIENT_LIB_DEPENDS= libcurl.so:ftp/curl \
libcjson.so:devel/libcjson \
libfreetype.so:print/freetype2 \
libogg.so:audio/libogg \
libpng.so:graphics/png \
libvorbis.so:audio/libvorbis \
libtheora.so:multimedia/libtheora
CLIENT_USES= gl jpeg openal:soft,alut minizip sdl xorg
CLIENT_USE= GL=gl,glu,glew SDL=sdl2 XORG=x11,xxf86dga,xxf86vm
SUB_FILES= pkg-message
.include <bsd.port.pre.mk>
.if ${ARCH} == "i386"
PLIST_SUB+= I386="" \
AMD64="@comment "
.elif ${ARCH} == "amd64"
PLIST_SUB+= I386="@comment " \
AMD64=""
.endif
.if ! ${PORT_OPTIONS:MCLIENT} && ${PORT_OPTIONS:MDEDICATED}
CMAKE_ARGS+= -DBUILD_CLIENT=OFF
.endif
post-extract:
@${MKDIR} ${WRKDIR}/.build/legacy
@cd ${WRKDIR}/.build/legacy && ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/GeoIP.dat.tar.gz ${EXTRACT_AFTER_ARGS}
@cd ${WRKDIR}/.build/legacy && ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/wolfadmin.tar.gz ${EXTRACT_AFTER_ARGS}
post-patch:
${REINPLACE_CMD} -e 's|AMD64|amd64|g' ${WRKSRC}/cmake/ETLPlatform.cmake
.include <bsd.port.post.mk>

7
games/etlegacy/distinfo Normal file
View File

@ -0,0 +1,7 @@
TIMESTAMP = 1704840749
SHA256 (etlegacy-2.81.1/wolfadmin.tar.gz) = 31659b1d99cd5c9884a66317f803109e631a315e1102842e4e4d29b8579397d1
SIZE (etlegacy-2.81.1/wolfadmin.tar.gz) = 1128868
SHA256 (etlegacy-2.81.1/GeoIP.dat.tar.gz) = 1aa7023f599d01fce77861ff331d1024cd92918edf527c2f37f4a37732183a2b
SIZE (etlegacy-2.81.1/GeoIP.dat.tar.gz) = 1120171
SHA256 (etlegacy-2.81.1/etlegacy-etlegacy-2.81.1-956269f4c13ebe31ba2a0f0b805588383209bd5b_GH0.tar.gz) = 1863d4bcc5352be89069189e96a27260a930af09c12765b3499a5d975fa1b31a
SIZE (etlegacy-2.81.1/etlegacy-etlegacy-2.81.1-956269f4c13ebe31ba2a0f0b805588383209bd5b_GH0.tar.gz) = 15548868

View File

@ -0,0 +1,18 @@
--- cmake/ETLInstallGeoIP.cmake.orig 2024-01-09 22:56:11 UTC
+++ cmake/ETLInstallGeoIP.cmake
@@ -7,6 +7,7 @@ set(ETLEGACY_GEOIP_ARCHIVE_URL "https://mirror.etlegac
set(ETLEGACY_GEOIP_ARCHIVE "GeoIP.dat.tar.gz")
set(ETLEGACY_GEOIP_ARCHIVE_URL "https://mirror.etlegacy.com/geoip/GeoIP.dat.tar.gz")
+if(NOT CMAKE_SYSTEM MATCHES "FreeBSD")
LEG_DOWNLOAD(
"GeoIP archive"
"${ETLEGACY_GEOIP_ARCHIVE_URL}"
@@ -15,6 +16,7 @@ LEG_DOWNLOAD(
"${CMAKE_CURRENT_BINARY_DIR}/${MODNAME}"
"${CMAKE_CURRENT_BINARY_DIR}/${MODNAME}/GeoIP.dat"
)
+endif()
message(STATUS "Adding GeoIP to installer scripts")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${MODNAME}/GeoIP.dat"

View File

@ -0,0 +1,18 @@
--- cmake/ETLInstallWolfAdmin.cmake.orig 2024-01-09 22:56:24 UTC
+++ cmake/ETLInstallWolfAdmin.cmake
@@ -7,6 +7,7 @@ set(ETLEGACY_WOLFADMIN_ARCHIVE_URL "https://mirror.etl
set(ETLEGACY_WOLFADMIN_ARCHIVE "wolfadmin.tar.gz")
set(ETLEGACY_WOLFADMIN_ARCHIVE_URL "https://mirror.etlegacy.com/wolfadmin/wolfadmin.tar.gz")
+if(NOT CMAKE_SYSTEM MATCHES "FreeBSD")
LEG_DOWNLOAD(
"WolfAdmin archive"
"${ETLEGACY_WOLFADMIN_ARCHIVE_URL}"
@@ -15,6 +16,7 @@ LEG_DOWNLOAD(
"${CMAKE_CURRENT_BINARY_DIR}/${MODNAME}"
"${CMAKE_CURRENT_BINARY_DIR}/${MODNAME}/wolfadmin"
)
+endif()
file(COPY "${CMAKE_CURRENT_BINARY_DIR}/${MODNAME}/wolfadmin/luascripts"
DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/${MODNAME}"

View File

@ -0,0 +1,18 @@
--- cmake/ETLVersion.cmake.orig 2024-01-09 22:59:31 UTC
+++ cmake/ETLVersion.cmake
@@ -97,6 +97,7 @@ endmacro(GENERATENUMBER)
endmacro(GENERATENUMBER)
+if(NOT CMAKE_SYSTEM MATCHES "FreeBSD")
execute_process(COMMAND git describe --abbrev=7
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
OUTPUT_STRIP_TRAILING_WHITESPACE
@@ -105,6 +106,7 @@ execute_process(COMMAND git describe --abbrev=0
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
OUTPUT_STRIP_TRAILING_WHITESPACE
OUTPUT_VARIABLE GIT_DESCRIBE_TAG)
+endif()
if(GIT_DESCRIBE)
set(ETL_CMAKE_VERSION ${GIT_DESCRIBE})

View File

@ -0,0 +1,11 @@
--- src/renderercommon/tr_font.c.orig 2024-01-10 04:52:35 UTC
+++ src/renderercommon/tr_font.c
@@ -202,7 +202,7 @@ static glyphInfo_t *RE_ConstructGlyphInfo(int imageSiz
rc = FT_Load_Glyph(face, index, flags);
- if (rc)
+ if (rc != 0)
{
Ren_Warning("RE_ConstructGlyphInfo: cannot load a glyph into the glyph slot of a face object.\n");
return &glyph; // nothing to render

View File

@ -0,0 +1,16 @@
{ type: install
message: <<EOM
Enemy Territory Legacy (native version) has been installed.
1) In order to run ET: Legacy you will need to copy the original pak0.pk3
assets file to the etmain folder. In addition, third party mods might also
require the pak1.pk3 and pak2.pk3 assets files.
Download them from https://mirror.etlegacy.com/etmain/ to
%%PREFIX%%/lib/etlegacy/etmain/ or ~/.etlegacy/etmain/
2) Enjoy it :)
EOM
}
]

13
games/etlegacy/pkg-descr Normal file
View File

@ -0,0 +1,13 @@
ET: Legacy is an open source project based on the code of Wolfenstein: Enemy
Territory which was released in 2010 under the terms of the GPLv3.
There are two aspects to this project:
- An updated game engine, ET: Legacy, which aims to fix bugs and security
exploits, remove old dependencies, add useful features and modernize its
graphics while still remaining compatible with ET 2.60b and as many of its mods
as possible.
- A new mod, Legacy, which aims to add many useful features and improvements
while staying close to the original gameplay, as well as being lightweight and
extensible through Lua scripts.

132
games/etlegacy/pkg-plist Normal file
View File

@ -0,0 +1,132 @@
%%AMD64%%%%CLIENT%%bin/etl.x86_64
%%I386%%%%CLIENT%%bin/etl.i386
%%AMD64%%%%DEDICATED%%bin/etlded.x86_64
%%I386%%%%DEDICATED%%bin/etlded.i386
lib/etlegacy/etmain/campaigncycle.cfg
lib/etlegacy/etmain/etl_server.cfg
lib/etlegacy/etmain/etl_server_comp.cfg
lib/etlegacy/etmain/legacy.cfg
lib/etlegacy/etmain/lmscycle.cfg
lib/etlegacy/etmain/mapvotecycle.cfg
lib/etlegacy/etmain/mapvoteplayerscount.cfg
lib/etlegacy/etmain/objectivecycle.cfg
lib/etlegacy/legacy/GeoIP.dat
lib/etlegacy/legacy/banners.toml
lib/etlegacy/legacy/description.txt
lib/etlegacy/legacy/greetings.toml
lib/etlegacy/legacy/legacy_2.81-dirty.pk3
lib/etlegacy/legacy/lualibs/legacydb.lua
lib/etlegacy/legacy/lualibs/toml.lua
lib/etlegacy/legacy/luascripts/wolfadmin/COPYING.txt
lib/etlegacy/legacy/luascripts/wolfadmin/admin/admin.lua
lib/etlegacy/legacy/luascripts/wolfadmin/admin/balancer.lua
lib/etlegacy/legacy/luascripts/wolfadmin/admin/banners.lua
lib/etlegacy/legacy/luascripts/wolfadmin/admin/bans.lua
lib/etlegacy/legacy/luascripts/wolfadmin/admin/history.lua
lib/etlegacy/legacy/luascripts/wolfadmin/admin/mutes.lua
lib/etlegacy/legacy/luascripts/wolfadmin/admin/rules.lua
lib/etlegacy/legacy/luascripts/wolfadmin/auth/acl.lua
lib/etlegacy/legacy/luascripts/wolfadmin/auth/auth.lua
lib/etlegacy/legacy/luascripts/wolfadmin/auth/shrubbot.lua
lib/etlegacy/legacy/luascripts/wolfadmin/auth/shrubbot/etpub.lua
lib/etlegacy/legacy/luascripts/wolfadmin/auth/shrubbot/nq.lua
lib/etlegacy/legacy/luascripts/wolfadmin/auth/shrubbot/silent.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/admintest.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/balance.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/ban.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/cointoss.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/enablevote.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/finger.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/gib.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/greeting.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/help.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/incognito.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/kick.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/kickbots.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/listaliases.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/listmaps.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/listplayers.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/lock.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/mute.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/needbots.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/news.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/nextmap.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/pause.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/plock.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/punlock.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/put.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/putbots.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/readconfig.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/rename.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/reset.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/restart.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/rules.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/setlevel.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/showbans.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/showhistory.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/shuffle.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/slap.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/spec999.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/stats.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/swap.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/time.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/unban.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/unlock.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/unmute.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/unpause.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/vmute.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/vunmute.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/admin/warn.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/client/ac.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/client/callvote.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/client/pm.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/client/r.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/client/say.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/client/team.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/client/wolfadmin.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/commands.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/server/acl.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/server/cannounce.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/server/cbp.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/server/cchat.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/server/ccp.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/server/ccpm.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/server/cmusic.lua
lib/etlegacy/legacy/luascripts/wolfadmin/commands/server/csay.lua
lib/etlegacy/legacy/luascripts/wolfadmin/db/db.lua
lib/etlegacy/legacy/luascripts/wolfadmin/db/mysql.lua
lib/etlegacy/legacy/luascripts/wolfadmin/db/sqlite3.lua
lib/etlegacy/legacy/luascripts/wolfadmin/game/bots.lua
lib/etlegacy/legacy/luascripts/wolfadmin/game/fireteams.lua
lib/etlegacy/legacy/luascripts/wolfadmin/game/game.lua
lib/etlegacy/legacy/luascripts/wolfadmin/game/teams.lua
lib/etlegacy/legacy/luascripts/wolfadmin/game/voting.lua
lib/etlegacy/legacy/luascripts/wolfadmin/main.lua
lib/etlegacy/legacy/luascripts/wolfadmin/players/greetings.lua
lib/etlegacy/legacy/luascripts/wolfadmin/players/players.lua
lib/etlegacy/legacy/luascripts/wolfadmin/players/stats.lua
lib/etlegacy/legacy/luascripts/wolfadmin/util/bits.lua
lib/etlegacy/legacy/luascripts/wolfadmin/util/constants.lua
lib/etlegacy/legacy/luascripts/wolfadmin/util/debug.lua
lib/etlegacy/legacy/luascripts/wolfadmin/util/events.lua
lib/etlegacy/legacy/luascripts/wolfadmin/util/files.lua
lib/etlegacy/legacy/luascripts/wolfadmin/util/logs.lua
lib/etlegacy/legacy/luascripts/wolfadmin/util/pagination.lua
lib/etlegacy/legacy/luascripts/wolfadmin/util/settings.lua
lib/etlegacy/legacy/luascripts/wolfadmin/util/tables.lua
lib/etlegacy/legacy/luascripts/wolfadmin/util/timers.lua
lib/etlegacy/legacy/luascripts/wolfadmin/util/util.lua
%%AMD64%%lib/etlegacy/legacy/qagame.mp.fbsd.x86_64.so
%%I386%%lib/etlegacy/legacy/qagame.mp.fbsd.i386.so
lib/etlegacy/legacy/rules.toml
lib/etlegacy/legacy/wolfadmin.toml
%%AMD64%%lib/etlegacy/librenderer_opengl1_x86_64.so
%%I386%%lib/etlegacy/librenderer_opengl1_i386.so
%%AMD64%%share/applications/com.etlegacy.ETLegacy.x86_64.desktop
%%I386%%share/applications/com.etlegacy.ETLegacy.i386.desktop
%%DOCSDIR%%/INSTALL.txt
share/icons/hicolor/scalable/apps/etl.svg
share/man/man6/etl.6.gz
share/man/man6/etlded.6.gz
share/metainfo/com.etlegacy.ETLegacy.metainfo.xml
share/mime/packages/etlegacy.xml