Index: head/games/dxx-rebirth/Makefile =================================================================== --- head/games/dxx-rebirth/Makefile +++ head/games/dxx-rebirth/Makefile @@ -2,12 +2,13 @@ # $FreeBSD$ PORTNAME= dxx-rebirth -DISTVERSION= 0.60.0-beta2 +PORTVERSION= 20190523 +DISTVERSIONSUFFIX= -src CATEGORIES= games -MASTER_SITES= https://www.dxx-rebirth.com/download/dxx/user/afuturepilot/ -EXTRACT_SUFX= -git.tar.gz +MASTER_SITES= https://www.dxx-rebirth.com/download/dxx/weekly/ +DISTNAME= ${PORTNAME}_${PORTVERSION}${DISTVERSIONSUFFIX} -MAINTAINER= pkubaj@anongoth.pl +MAINTAINER= pkubaj@FreeBSD.org COMMENT= Open source port of Descent and Descent 2 LICENSE= GPLv3 PARALLAX @@ -22,7 +23,7 @@ LIB_DEPENDS= libphysfs.so:devel/physfs \ libpng.so:graphics/png -USES= compiler:c++14-lang localbase:ldflags gl pkgconfig scons +USES= compiler:c++14-lang gl localbase:ldflags pkgconfig scons sdl tar:xz USE_GL= gl glu USE_SDL= mixer sdl Index: head/games/dxx-rebirth/distinfo =================================================================== --- head/games/dxx-rebirth/distinfo +++ head/games/dxx-rebirth/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1542814122 -SHA256 (dxx-rebirth-0.60.0-beta2-git.tar.gz) = 1e684f98c3f2e44407617dd014964d73637d1f6893327b583f282da944227c6a -SIZE (dxx-rebirth-0.60.0-beta2-git.tar.gz) = 1873282 +TIMESTAMP = 1558946168 +SHA256 (dxx-rebirth_20190523-src.tar.xz) = a12c2defd587029b951d75a2b2e47e01d9ae7214aeac185b99cd413c970583e6 +SIZE (dxx-rebirth_20190523-src.tar.xz) = 1317288 Index: head/games/dxx-rebirth/files/patch-SConstruct =================================================================== --- head/games/dxx-rebirth/files/patch-SConstruct +++ head/games/dxx-rebirth/files/patch-SConstruct @@ -1,11 +1,20 @@ ---- SConstruct.orig 2018-11-21 15:51:35 UTC +--- SConstruct.orig 2019-05-23 09:33:10 UTC +++ SConstruct -@@ -3502,7 +3502,7 @@ class DXXCommon(LazyObjectConstructor): +@@ -3560,6 +3560,8 @@ class DXXCommon(LazyObjectConstructor): + sys_platform = 'linux' + elif sys_platform.startswith('openbsd'): + sys_platform = 'openbsd' ++ elif sys_platform.startswith('freebsd'): ++ sys_platform = 'freebsd' + return ( + { 'variable': EnumVariable, - 'arguments': ( - ('host_endian', None, 'endianness of host platform', {'allowed_values' : ('little', 'big')}), -- ('host_platform', sys.platform.rstrip('0123456789'), 'cross-compile to specified platform', {'allowed_values' : ('darwin', 'linux', 'openbsd', 'win32')}), -+ ('host_platform', sys.platform.rstrip('0123456789'), 'cross-compile to specified platform', {'allowed_values' : ('darwin', 'linux', 'freebsd', 'openbsd', 'win32')}), - ('screenshot', 'png', 'screenshot file format', {'allowed_values' : ('legacy', 'png')}), - ), - }, +@@ -3589,7 +3591,7 @@ class DXXCommon(LazyObjectConstructor): + 'cross-compile to specified platform', + { + 'map': {'msys':'win32'}, +- 'allowed_values' : ('darwin', 'linux', 'openbsd', 'win32'), ++ 'allowed_values' : ('darwin', 'linux', 'openbsd', 'win32', 'freebsd'), + } + ), + ('raspberrypi', None, 'build for Raspberry Pi (automatically selects opengles)', {'ignorecase': 2, 'map': {'1':'yes', 'true':'yes', '0':'no', 'false':'no'}, 'allowed_values': ('yes', 'no', 'mesa')}), Index: head/games/dxx-rebirth/files/patch-similar_editor_med.cpp =================================================================== --- head/games/dxx-rebirth/files/patch-similar_editor_med.cpp +++ head/games/dxx-rebirth/files/patch-similar_editor_med.cpp @@ -1,11 +0,0 @@ ---- similar/editor/med.cpp.orig 2018-11-21 18:28:30 UTC -+++ similar/editor/med.cpp -@@ -891,7 +891,7 @@ static void close_editor() - { - // _MARK_("end of editor");//Nuked to compile -KRB - --#if !defined(__linux__) && !defined(__OpenBSD__) -+#if !defined(__linux__) && !defined(__OpenBSD__) && !defined(__FreeBSD__) - set_warn_func(msgbox_warning); - #else - clear_warn_func(); Index: head/games/dxx-rebirth/files/patch-similar_main_digiobj.cpp =================================================================== --- head/games/dxx-rebirth/files/patch-similar_main_digiobj.cpp +++ head/games/dxx-rebirth/files/patch-similar_main_digiobj.cpp @@ -0,0 +1,11 @@ +--- similar/main/digiobj.cpp.orig 2019-05-27 11:05:14 UTC ++++ similar/main/digiobj.cpp +@@ -578,7 +578,7 @@ void digi_sync_sounds() + &s.volume, &s.pan, s.max_distance ); + + } else if ( s.flags & SOF_LINK_TO_OBJ ) { +- const auto objp = [&vcobjptr, &s]{ ++ const auto objp = [&s]{ + if (Newdemo_state != ND_STATE_PLAYBACK) + return vcobjptr(s.link_type.obj.objnum); + auto objnum = newdemo_find_object(s.link_type.obj.objsignature); Index: head/games/dxx-rebirth/files/patch-similar_main_inferno.cpp =================================================================== --- head/games/dxx-rebirth/files/patch-similar_main_inferno.cpp +++ head/games/dxx-rebirth/files/patch-similar_main_inferno.cpp @@ -1,11 +0,0 @@ ---- similar/main/inferno.cpp.orig 2018-11-21 18:29:50 UTC -+++ similar/main/inferno.cpp -@@ -679,7 +679,7 @@ static int main(int argc, char *argv[]) - int main(int argc, char *argv[]) - { - mem_init(); --#if defined(__linux__) || defined(__OpenBSD__) -+#if defined(__linux__) || defined(__OpenBSD__) || defined(__FreeBSD__) - #if DXX_WORDS_NEED_ALIGNMENT - prctl(PR_SET_UNALIGN, PR_UNALIGN_NOPRINT, 0, 0, 0); - #endif Index: head/games/dxx-rebirth/files/patch-similar_main_object.cpp =================================================================== --- head/games/dxx-rebirth/files/patch-similar_main_object.cpp +++ head/games/dxx-rebirth/files/patch-similar_main_object.cpp @@ -0,0 +1,20 @@ +--- similar/main/object.cpp.orig 2019-05-27 09:10:54 UTC ++++ similar/main/object.cpp +@@ -1057,7 +1057,7 @@ static void free_object_slots(uint_fast32_t num_used) + + // Capture before num_to_free modified + const auto &&r = partial_const_range(obj_list, num_to_free); +- auto l = [&vmobjptr, &r, &num_to_free](bool (*predicate)(const vcobjptr_t)) -> bool { ++ auto l = [&r, &num_to_free](bool (*predicate)(const vcobjptr_t)) -> bool { + range_for (const auto i, r) + { + const auto &&o = vmobjptr(i); +@@ -1508,7 +1508,7 @@ static void start_player_death_sequence(object &player + auto &proximity = player_info.hoard.orbs; + if (proximity < player_info.max_hoard_orbs) + { +- const auto is_bad_kill = [&vmobjptr]{ ++ const auto is_bad_kill = []{ + auto &lplr = get_local_player(); + auto &lplrobj = get_local_plrobj(); + const auto killer_objnum = lplrobj.ctype.player_info.killer_objnum;