aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXaero <tmp386@live.com>2026-04-05 21:48:54 +0000
committerKenneth Raplee <kenrap@FreeBSD.org>2026-04-07 20:01:49 +0000
commit27df34c8aadf812d2d63311f6797803ad2d800c3 (patch)
tree4003ae1e8eb0ae99bea375a05051349ecfdc59a6
parentea944aa0d4683c78c94b7bd1ae883d92d5e2795d (diff)
games/el*: Unbreak and update to 1.9.7.0
PR: 293707 Co-authored-by: Kenneth Raplee <kenrap@FreeBSD.org> Approved-by: maintainer timeout Approved by: makc (mentor)
-rw-r--r--games/el-data/Makefile21
-rw-r--r--games/el-data/distinfo10
-rw-r--r--games/el/Makefile5
-rw-r--r--games/el/distinfo6
-rw-r--r--games/el/files/patch-Makefile.bsd35
-rw-r--r--games/el/files/patch-platform.h67
6 files changed, 95 insertions, 49 deletions
diff --git a/games/el-data/Makefile b/games/el-data/Makefile
index 5c3e7246da1e..a33442406984 100644
--- a/games/el-data/Makefile
+++ b/games/el-data/Makefile
@@ -1,5 +1,8 @@
PORTNAME= data
-DISTVERSION= 1.9.5.9-1
+DISTVERSION= 1.9.7.0-4
+_DATA_VER= ${DISTVERSION:R}
+_SOUND_VER= 1.9.6.1
+_MUSIC_VER= 1.9.5.9
PORTEPOCH= 1
CATEGORIES= games
MASTER_SITES= https://github.com/raduprv/Eternal-Lands/releases/download/${DISTVERSION}/
@@ -18,34 +21,28 @@ DOS2UNIX_GLOB= *.ini *.txt
DATADIR= ${PREFIX}/share/${PKGNAMEPREFIX:S/-//}
WRKSRC= ${WRKDIR}/${PKGNAMEPREFIX:S/-/_/}data
-EL_DATA= eternallands-data_${DISTVERSION}${EXTRACT_SUFX}
+EL_DATA= eternallands-data_${_DATA_VER}${EXTRACT_SUFX}
PORTDATA= *
OPTIONS_DEFINE= ELSOUND ELMUSIC
OPTIONS_DEFAULT= ELSOUND ELMUSIC
ELSOUND_DESC= Install additional sound files
+ELSOUND_DISTFILES= eternallands-sound_${_SOUND_VER}${EXTRACT_SUFX}
ELMUSIC_DESC= Install additional music files
+ELMUSIC_DISTFILES= eternallands-music_${_MUSIC_VER}${EXTRACT_SUFX}
.include <bsd.port.options.mk>
-.if ${PORT_OPTIONS:MELSOUND}
-DISTFILES+= eternallands-sound_${DISTVERSION:S/-1//}${EXTRACT_SUFX}
-.endif
-
-.if ${PORT_OPTIONS:MELMUSIC}
-DISTFILES+= eternallands-music_${DISTVERSION:S/-1//}${EXTRACT_SUFX}
-.endif
-
do-extract:
@${MKDIR} ${WRKSRC}
@${UNZIP_CMD} -q ${_DISTDIR}/${EL_DATA} -d ${WRKDIR}
.if ${PORT_OPTIONS:MELSOUND}
- @${UNZIP_CMD} -q ${_DISTDIR}/eternallands-sound_${DISTVERSION:S/-1//}${EXTRACT_SUFX} -d ${WRKSRC}
+ @${UNZIP_CMD} -q ${_DISTDIR}/eternallands-sound_${_SOUND_VER}${EXTRACT_SUFX} -d ${WRKSRC}
.endif
.if ${PORT_OPTIONS:MELMUSIC}
@${MKDIR} ${WRKSRC}/music
- @${UNZIP_CMD} -q ${_DISTDIR}/eternallands-music_${DISTVERSION:S/-1//}${EXTRACT_SUFX} -d ${WRKSRC}/music
+ @${UNZIP_CMD} -q ${_DISTDIR}/eternallands-music_${_MUSIC_VER}${EXTRACT_SUFX} -d ${WRKSRC}/music
.endif
post-extract:
diff --git a/games/el-data/distinfo b/games/el-data/distinfo
index 25a2a8ffee63..dde4ed183be4 100644
--- a/games/el-data/distinfo
+++ b/games/el-data/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1627698011
-SHA256 (el/eternallands-data_1.9.5.9-1.zip) = 00f105ce44998b939bb92361c113961f2220afa0a3b21e53beed35968ae23ae4
-SIZE (el/eternallands-data_1.9.5.9-1.zip) = 66147974
-SHA256 (el/eternallands-sound_1.9.5.9.zip) = 13a030bf5aca4e9e881707216f269df5826ff00345c93afac94a3f58455af542
-SIZE (el/eternallands-sound_1.9.5.9.zip) = 42907788
+TIMESTAMP = 1775590097
+SHA256 (el/eternallands-data_1.9.7.zip) = 2ab4d5549ee66da6bdb10bc86d9dd4ac7ca578aafb291111b330fae8d4c77f98
+SIZE (el/eternallands-data_1.9.7.zip) = 107608413
SHA256 (el/eternallands-music_1.9.5.9.zip) = 1ea4de25081034ac684aaebf127ab6ca8524ba5367532863d84d63837dd631ec
SIZE (el/eternallands-music_1.9.5.9.zip) = 65511882
+SHA256 (el/eternallands-sound_1.9.6.1.zip) = e8dc68698b42256cb3c69935f892336e2c5de4002b9bef2c21af2124a5274e3f
+SIZE (el/eternallands-sound_1.9.6.1.zip) = 42907816
diff --git a/games/el/Makefile b/games/el/Makefile
index 4592597406e2..73bfc4a863f6 100644
--- a/games/el/Makefile
+++ b/games/el/Makefile
@@ -1,6 +1,5 @@
PORTNAME= el
-DISTVERSION= 1.9.5.9-1
-PORTREVISION= 3
+DISTVERSION= 1.9.7.0-4
PORTEPOCH= 1
CATEGORIES= games
@@ -8,8 +7,6 @@ MAINTAINER= acm@FreeBSD.org
COMMENT= Eternal Lands is a free 3D MMORPG
WWW= https://www.eternal-lands.com/
-BROKEN= Fails to build, error: implicit instantiation of undefined template 'std::char_traits<unsigned char>'
-
BUILD_DEPENDS= nlohmann-json>0:devel/nlohmann-json
LIB_DEPENDS= libpng.so:graphics/png \
libvorbis.so:audio/libvorbis \
diff --git a/games/el/distinfo b/games/el/distinfo
index 9a3968754461..80f729e15076 100644
--- a/games/el/distinfo
+++ b/games/el/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1627692684
-SHA256 (raduprv-Eternal-Lands-1.9.5.9-1_GH0.tar.gz) = 9d9078f46a9be0b798ffe7fd2769a315522914c0884bdde0e950cb7ab4f71e42
-SIZE (raduprv-Eternal-Lands-1.9.5.9-1_GH0.tar.gz) = 3808122
+TIMESTAMP = 1773109004
+SHA256 (raduprv-Eternal-Lands-1.9.7.0-4_GH0.tar.gz) = 3cb78a0057b6621d47c55cca75c668b293b1042b05bf93cb46e24165b5754560
+SIZE (raduprv-Eternal-Lands-1.9.7.0-4_GH0.tar.gz) = 3877513
diff --git a/games/el/files/patch-Makefile.bsd b/games/el/files/patch-Makefile.bsd
index e4b709f4dc90..72cfc34f0693 100644
--- a/games/el/files/patch-Makefile.bsd
+++ b/games/el/files/patch-Makefile.bsd
@@ -1,6 +1,6 @@
---- Makefile.bsd.orig 2021-04-11 19:03:51 UTC
-+++ Makefile.bsd
-@@ -2,23 +2,25 @@
+--- Makefile.bsd.orig 2024-12-04 12:34:01.000000000 -0800
++++ Makefile.bsd 2026-03-09 22:09:45.668531000 -0700
+@@ -5,23 +5,25 @@
-include make.conf
@@ -19,10 +19,10 @@
PNG_SCREENSHOT_LIBS = -lpng
-LDFLAGS=$(shell sdl-config --libs) $(shell xml2-config --libs) -lSDL_net -lSDL_image -lopenal $(XDIR) -lGL -lGLU -lcal3d -lm $(EXTRA_LIBS) -lz -lpng -lvorbis -lvorbisfile \
-+LDFLAGS+=$(shell sdl2-config --libs) $(shell xml2-config --libs) -lSDL2_net -lSDL2_image -lSDL2_ttf -lopenal $(XDIR) -lGL -lGLU -lcal3d -lm $(EXTRA_LIBS) -lz -lpng -lvorbis -lvorbisfile \
++LDFLAGS+=$(shell sdl2-config --libs) $(shell xml2-config --libs) -lSDL2_net -lSDL2_image -lSDL2_ttf -lopenal $(XDIR) -lGL -lGLU -lcal3d -lm $(EXTRA_LIBS) -lz -lpng -lvorbis -lvorbisfile -lcrypto -lssl\
$(foreach FEATURE, $(FEATURES), $($(FEATURE)_LIBS))
-_LDFLAGS=$(XDIR) -lGL -lpthread -lstdc++
-+_LDFLAGS=$(XDIR) -lGL -pthread
++_LDFLAGS=$(XDIR) -lGL -pthread -lcrypto -lssl
# This works on Ubuntu 8.04 (LTS) at least
# Install these packages in addition to those required for a standard build
@@ -33,7 +33,30 @@
# the objects we need
ENCYCLOPEDIA_COBJ = books/fontdef.o books/parser.o books/symbol.o books/typesetter.o sort.o symbol_table.o
-@@ -85,16 +87,16 @@ HEADER_DIRS = . books eye_candy io pawn fsaa engine xz
+@@ -30,6 +32,7 @@
+ pawn/amxfloat.o pawn/amxstring.o pawn/elpawn.o
+ CUSTOM_UPDATE_COBJ = custom_update.o new_update.o
+ FSAA_COBJ = fsaa/fsaa_glx.o fsaa/fsaa.o
++PACKET_COMPRESSION_COBJ = ext_protocol_shared.o
+ COBJS=2d_objects.o 3d_objects.o \
+ actor_scripts.o actors.o alphamap.o asc.o astrology.o \
+ bbox_tree.o buddy.o buffs.o bags.o \
+@@ -60,11 +63,12 @@
+ $(foreach FEATURE, $(FEATURES), $($(FEATURE)_COBJ))
+
+ JSON_FILES_CXXOBJ = json_io.o
+-CXXOBJS=achievements.o actor_init.o books.o cal3d_wrapper.o command_queue.o \
++USE_SSL_CXXOBJ = connection.o ipaddress.o socket.o
++CXXOBJS=actors_list.o achievements.o actor_init.o books.o cal3d_wrapper.o command_queue.o \
+ context_menu.o cppwindows.o elloggingwrapper.o engine/logging.o exceptions/extendedexception.o \
+ font.o hud_indicators.o hud_timer.o icon_window.o invasion_window.o io/cal3d_io_wrapper.o item_info.o item_lists.o \
+ named_colours.o password_manager.o optimizer.o quest_log.o select.o \
+- sendvideoinfo.o trade_log.o user_menus.o xml/xmlhelper.o eye_candy_wrapper.o \
++ sendvideoinfo.o textpopup.o trade_log.o user_menus.o xml/xmlhelper.o eye_candy_wrapper.o \
+ engine/hardwarebuffer.o xor_cipher.o \
+ eye_candy/eye_candy.o eye_candy/math_cache.o eye_candy/effect_lamp.o \
+ eye_candy/effect_candle.o \
+@@ -88,16 +92,16 @@
DEP_FILES=$(foreach OBJ, $(COBJS), .deps/$(OBJ).P) $(foreach OBJ, $(CXXOBJS), .deps/$(OBJ).P)
#(shell echo $OBJ |sed s/\.o/\.P/))
diff --git a/games/el/files/patch-platform.h b/games/el/files/patch-platform.h
index 45a1ae797260..bc7582cb7822 100644
--- a/games/el/files/patch-platform.h
+++ b/games/el/files/patch-platform.h
@@ -1,5 +1,5 @@
---- platform.h.orig 2021-04-11 19:03:51 UTC
-+++ platform.h
+--- platform.h.orig 2024-12-04 12:34:01.000000000 -0800
++++ platform.h 2026-03-09 21:09:29.579167000 -0700
@@ -11,7 +11,7 @@
// http://predef.sourceforge.net/prearch.html , these ought to work on
// gcc, Sun Studio and Visual Studio.
@@ -9,22 +9,51 @@
#define X86_64
#endif
-@@ -85,16 +85,13 @@
- #include "elglext.h"
- #define APIENTRY
- #define APIENTRYP *
--#elif !defined(BSD)
-+#else
- #define GL_GLEXT_LEGACY
- #include <GL/gl.h>
- #include <GL/glu.h>
- #undef GL_VERSION_1_2
- #undef GL_VERSION_1_3
-- #include "glext.h"
--#else // BSD
-- #include <GL/gl.h>
-- #include <GL/glu.h>
-+ #include <GL/glext.h>
+@@ -192,6 +192,47 @@
+
+ #ifdef __cplusplus
+ } // extern "C"
++
++#include <string>
++#include <cstring>
++
++namespace std {
++ template<> struct char_traits<unsigned char> {
++ typedef unsigned char char_type;
++ typedef int int_type;
++ typedef streamoff off_type;
++ typedef streampos pos_type;
++ typedef mbstate_t state_type;
++
++ static void assign(char_type& c1, const char_type& c2) noexcept { c1 = c2; }
++ static bool eq(const char_type& c1, const char_type& c2) noexcept { return c1 == c2; }
++ static bool lt(const char_type& c1, const char_type& c2) noexcept { return c1 < c2; }
++
++ static int compare(const char_type* s1, const char_type* s2, size_t n) {
++ return memcmp(s1, s2, n);
++ }
++ static size_t length(const char_type* s) {
++ return strlen(reinterpret_cast<const char*>(s));
++ }
++ static const char_type* find(const char_type* s, size_t n, const char_type& a) {
++ return static_cast<const char_type*>(memchr(s, a, n));
++ }
++ static char_type* move(char_type* s1, const char_type* s2, size_t n) {
++ return static_cast<char_type*>(memmove(s1, s2, n));
++ }
++ static char_type* copy(char_type* s1, const char_type* s2, size_t n) {
++ return static_cast<char_type*>(memcpy(s1, s2, n));
++ }
++ static char_type* assign(char_type* s, size_t n, char_type a) {
++ return static_cast<char_type*>(memset(s, a, n));
++ }
++ static int_type not_eof(const int_type& i) noexcept { return i != eof() ? i : !eof(); }
++ static char_type to_char_type(const int_type& i) noexcept { return static_cast<char_type>(i); }
++ static int_type to_int_type(const char_type& c) noexcept { return static_cast<int_type>(c); }
++ static bool eq_int_type(const int_type& i1, const int_type& i2) noexcept { return i1 == i2; }
++ static int_type eof() noexcept { return static_cast<int_type>(EOF); }
++ };
++}
#endif
- // Inlucde the plaform specific location sound libs
+ #endif // PLATFORM_H