Hi,
With physfs-3.0.2 in, the diff below now works to update dxx-rebirth to
the most recent tarball. The game is now using something akin to
irregular nightlies.
Also add hint to shareware assets download to README to facilitate
testing. timidity is needed for the MIDI soundtrack - add mention of
this to README, too.
Change HOMEPAGE to https while here.
Tested build (clang) and runtime on amd64 without issues.
ok?
Index: Makefile
===================================================================
RCS file: /cvs/ports/games/dxx-rebirth/Makefile,v
retrieving revision 1.6
diff -u -p -r1.6 Makefile
--- Makefile 14 Jul 2019 00:39:36 -0000 1.6
+++ Makefile 5 Aug 2019 17:52:36 -0000
@@ -1,25 +1,21 @@
-# $OpenBSD: Makefile,v 1.6 2019/07/14 00:39:36 naddy Exp $
+# $OpenBSD: Makefile,v 1.4 2019/01/06 21:26:03 thfr Exp $
-.for i in aarch64 amd64 arm i386
-BROKEN-$i = needs update following clang update in base
-.endfor
-
-V = 0.60
+V = 0.60pl20190731
COMMENT = source port of Descent, a 6-degrees-of-freedom shooter
-DISTNAME = dxx-rebirth_v${V}-weekly-11-08-17-src
+DISTNAME = dxx-rebirth_${V:S/0.60pl//g}-src
PKGNAME = dxx-rebirth-${V}
CATEGORIES = games x11
-REVISION = 2
-HOMEPAGE = http://www.dxx-rebirth.com/
+HOMEPAGE = https://www.dxx-rebirth.com/
MAINTAINER = Thomas Frohwein <[email protected]>
# GPLv3 with special exception for Parallax license
PERMIT_PACKAGE = Yes
-WANTLIB += ${COMPILER_LIBCXX} GL GLU SDL SDL_mixer c m physfs
+WANTLIB += ${COMPILER_LIBCXX} GL GLU SDL SDL_mixer c m physfs png z
-MASTER_SITES = http://www.dxx-rebirth.com/download/dxx/user/afuturepilot/
+MASTER_SITES = https://www.dxx-rebirth.com/download/dxx/rebirth/
+EXTRACT_SUFX = .tar.xz
# C++14
COMPILER = base-clang ports-gcc base-gcc
@@ -32,10 +28,9 @@ MODSCONS_FLAGS = ignore_unknown_variable
LIB_DEPENDS = devel/physfs \
devel/sdl \
- devel/sdl-mixer
+ devel/sdl-mixer \
+ graphics/png
NO_TEST = Yes
-
-WRKDIST = ${WRKDIR}/dxx-rebirth_v${V}-weekly-src
.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/games/dxx-rebirth/distinfo,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 distinfo
--- distinfo 24 Dec 2017 19:13:43 -0000 1.1.1.1
+++ distinfo 5 Aug 2019 17:52:36 -0000
@@ -1,2 +1,2 @@
-SHA256 (dxx-rebirth_v0.60-weekly-11-08-17-src.tar.gz) =
Wv40zLDh+jJ1DcYEIEtAjpLov/1Jm5lPZZea672arWM=
-SIZE (dxx-rebirth_v0.60-weekly-11-08-17-src.tar.gz) = 22959334
+SHA256 (dxx-rebirth_20190731-src.tar.xz) =
JTHtnDShvz+5miqHXa2lGG1/xfsQ/4NK6IPrIdPhAb8=
+SIZE (dxx-rebirth_20190731-src.tar.xz) = 1308972
Index: patches/patch-SConstruct
===================================================================
RCS file: patches/patch-SConstruct
diff -N patches/patch-SConstruct
--- patches/patch-SConstruct 28 Dec 2018 06:15:59 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,102 +0,0 @@
-$OpenBSD: patch-SConstruct,v 1.2 2018/12/28 06:15:59 bcallah Exp $
-
-Don't hardcode optimization flags
-Never pass -Werror
-Remove unrecognized warning flags
-add openbsd6 - will need better solution to not break with openbsd7
-Don't search for GNU as; it needlessly breaks the build on aarch64
-
-Index: SConstruct
---- SConstruct.orig
-+++ SConstruct
-@@ -648,7 +648,6 @@ help:assume C++ compiler works
- if user_settings.show_tool_version:
- CXX = cenv['CXX']
- self._show_tool_version(context, CXX, 'C++ compiler')
-- self._show_indirect_tool_version(context, CXX, 'as',
'assembler')
- self._show_indirect_tool_version(context, CXX, 'ld',
'linker')
- if use_distcc:
- self._show_tool_version(context, use_distcc,
'distcc', False)
-@@ -803,7 +802,6 @@ help:assume C++ compiler works
- forced, expected = self._check_sconf_forced(calling_function)
- caller_modified_env_flags =
self.PreservedEnvironment(context.env, self.__flags_Werror.keys() +
testflags.keys())
- # Always pass -Werror
-- context.env.Append(**self.__flags_Werror)
- context.env.Append(**testflags)
- # If forced is None, run the test. Otherwise, skip the test and
- # take an action determined by the value of forced.
-@@ -1736,7 +1734,7 @@ help:assume compiler supports __attribute__((unused))
-
self._check_macro(context,macro_name=macro_name,macro_value=macro_value,test="""
- __attribute_unused
- static void a(){}
--""", msg='for function __attribute__((unused))', successflags={'CXXFLAGS' :
[get_Werror_string(context.env['CXXFLAGS']) + 'unused']})
-+""", msg='for function __attribute__((unused))', successflags={'CXXFLAGS' :
'CXXFLAGS'})
- @_custom_test
- def check_attribute_warn_unused_result(self,context):
- """
-@@ -2285,7 +2283,7 @@ $ x86_64-pc-linux-gnu-g++-5.4.0 -x c++ -S -Wformat -o
- @_custom_test
- def check_compiler_useless_cast(self,context):
- Compile = self.Compile
-- flags = {'CXXFLAGS' :
[get_Werror_string(context.env['CXXFLAGS']) + 'useless-cast']}
-+ flags = {'CXXFLAGS' : 'CXXFLAGS'}
- if Compile(context, text='''
- /*
- * SDL on Raspbian provokes a warning from -Wuseless-cast
-@@ -2420,8 +2418,6 @@ where the cast is useless.
- ''', msg='for struct timespec', successflags=_successflags)
- __preferred_compiler_options = [
- '-fvisibility=hidden',
-- '-Wsuggest-attribute=noreturn',
-- '-Wlogical-op',
- '-Wold-style-cast',
- # Starting in gcc-7, Rebirth default options cause gcc to enable
- # -Wformat-truncation automatically. Unless proven otherwise by
-@@ -2452,7 +2448,6 @@ where the cast is useless.
- # snprintf(SecludedSpawnText,
sizeof(SecludedSpawnText), "Use %u Furthest Sites", Netgame.SecludedSpawns + 1);
- #
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- #
-- '-Wno-format-truncation',
- # gcc-7 with -Wextra enables -Wimplicit-fallthrough, which warns
- # for various sites in Rebirth. All the sites where fallthrough
- # is obviously correct are already marked to suppress this
-@@ -3398,7 +3393,7 @@ class DXXCommon(LazyObjectConstructor):
- 'variable': EnumVariable,
- 'arguments': (
- ('host_endian', None, 'endianness of
host platform', {'allowed_values' : ('little', 'big')}),
-- ('host_platform', 'linux' if
sys.platform == 'linux2' else sys.platform, 'cross-compile to specified
platform', {'allowed_values' : ('win32', 'darwin', 'linux')}),
-+ ('host_platform', 'linux' if
sys.platform == 'linux2' else sys.platform, 'cross-compile to specified
platform', {'allowed_values' : ('win32', 'darwin', 'linux', 'openbsd6')}),
- ),
- },
- {
-@@ -3803,22 +3798,10 @@ class DXXCommon(LazyObjectConstructor):
- RCCOMSTR
= "RC %s %s $SOURCE" % format_tuple,
- )
-
-- Werror = get_Werror_string(user_settings.CXXFLAGS)
- env.Prepend(CXXFLAGS = [
- '-ftabstop=4',
- '-Wall',
- '-Wshadow',
-- Werror + 'extra',
-- Werror + 'format=2',
-- Werror + 'missing-braces',
-- Werror + 'missing-include-dirs',
-- Werror + 'uninitialized',
-- Werror + 'undef',
-- Werror + 'pointer-arith',
-- Werror + 'cast-qual',
-- Werror + 'missing-declarations',
-- Werror + 'redundant-decls',
-- Werror + 'vla',
- ])
- env.Append(
- CXXFLAGS = ['-funsigned-char'],
-@@ -3884,7 +3867,6 @@ class DXXCommon(LazyObjectConstructor):
- env = self.env
- user_settings = self.user_settings
-
-- env.Prepend(CXXFLAGS = ['-g', '-O2'])
- # Raspberry Pi?
- if user_settings.raspberrypi == 'yes':
- rpi_vc_path = user_settings.rpi_vc_path
Index: patches/patch-similar_editor_med_cpp
===================================================================
RCS file: patches/patch-similar_editor_med_cpp
diff -N patches/patch-similar_editor_med_cpp
--- patches/patch-similar_editor_med_cpp 24 Dec 2017 19:13:43 -0000
1.1.1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,16 +0,0 @@
-$OpenBSD: patch-similar_editor_med_cpp,v 1.1.1.1 2017/12/24 19:13:43 bcallah
Exp $
-
-account for __OpenBSD__ defined
-
-Index: similar/editor/med.cpp
---- similar/editor/med.cpp.orig
-+++ similar/editor/med.cpp
-@@ -891,7 +891,7 @@ static void close_editor()
- {
- // _MARK_("end of editor");//Nuked to compile -KRB
-
--#ifndef __linux__
-+#if !defined (__linux__) && !defined(__OpenBSD__)
- set_warn_func(msgbox_warning);
- #else
- clear_warn_func();
Index: patches/patch-similar_main_inferno_cpp
===================================================================
RCS file: patches/patch-similar_main_inferno_cpp
diff -N patches/patch-similar_main_inferno_cpp
--- patches/patch-similar_main_inferno_cpp 24 Dec 2017 19:13:43 -0000
1.1.1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,25 +0,0 @@
-$OpenBSD: patch-similar_main_inferno_cpp,v 1.1.1.1 2017/12/24 19:13:43 bcallah
Exp $
-
-account for __OpenBSD__ in ifdefs
-
-Index: similar/main/inferno.cpp
---- similar/main/inferno.cpp.orig
-+++ similar/main/inferno.cpp
-@@ -95,7 +95,7 @@ char copyright[] = "DESCENT II COPYRIGHT (C) 1994-199
- #endif
- #include "event.h"
- #include "rbaudio.h"
--#ifndef __linux__
-+#if !defined (__linux__) && !defined (__OpenBSD__)
- #include "messagebox.h"
- #else
- #if DXX_WORDS_NEED_ALIGNMENT
-@@ -673,7 +673,7 @@ static int main(int argc, char *argv[])
- int main(int argc, char *argv[])
- {
- mem_init();
--#ifdef __linux__
-+#if defined (__linux__) || defined (__OpenBSD__)
- #if DXX_WORDS_NEED_ALIGNMENT
- prctl(PR_SET_UNALIGN, PR_UNALIGN_NOPRINT, 0, 0, 0);
- #endif
Index: patches/patch-similar_main_mglobal_cpp
===================================================================
RCS file: /cvs/ports/games/dxx-rebirth/patches/patch-similar_main_mglobal_cpp,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-similar_main_mglobal_cpp
--- patches/patch-similar_main_mglobal_cpp 24 Dec 2017 19:13:43 -0000
1.1.1.1
+++ patches/patch-similar_main_mglobal_cpp 5 Aug 2019 17:52:36 -0000
@@ -5,8 +5,8 @@ Always enable full template instantiatio
Index: similar/main/mglobal.cpp
--- similar/main/mglobal.cpp.orig
+++ similar/main/mglobal.cpp
-@@ -117,7 +117,7 @@ valptridx<wall>::array_managed_type Walls;
- #if (defined(__NO_INLINE__) && __NO_INLINE__ > 0)
+@@ -160,7 +160,7 @@ void reset_globals_for_new_game()
+ #if (defined(__NO_INLINE__) && __NO_INLINE__ > 0) ||
defined(__SANITIZE_ADDRESS__)
#define DXX_VALPTRIDX_ENABLE_FULL_TEMPLATE_INSTANTIATION 1
#else
-#define DXX_VALPTRIDX_ENABLE_FULL_TEMPLATE_INSTANTIATION 0
Index: pkg/README
===================================================================
RCS file: /cvs/ports/games/dxx-rebirth/pkg/README,v
retrieving revision 1.2
diff -u -p -r1.2 README
--- pkg/README 4 Sep 2018 12:46:12 -0000 1.2
+++ pkg/README 5 Aug 2019 17:52:36 -0000
@@ -4,12 +4,17 @@ $OpenBSD: README,v 1.2 2018/09/04 12:46:
| Running ${PKGSTEM} on OpenBSD
+-----------------------------------------------------------------------
-dxx-rebirth
-===========
+Installation of the Game Data
+=============================
+
dxx-rebirth requires the original game files from Descent I and/or
Descent II to work properly. These can come from an original CD or from
GOG.com.
+The shareware/demo data can be downloaded from here:
+
+https://www.dxx-rebirth.com/game-content/
+
If using the GOG.com version of Descent I, you must extract the files
from setup_descent_1.4a_(16596).exe using the innoextract package.
@@ -25,3 +30,16 @@ You can then delete everything extracted
If you own the GOG.com version of Descent II, follow the above steps
with the setup_descent_2_1.1_(16596).exe file and using
~/.d2x-rebirth/Data as the directory name.
+
+Music
+=====
+
+The MIDI soundtrack requires the package timidity to be installed.
+
+Add-Ons
+=======
+
+Add-ons with high resolution images, new soundtracks, and German
+briefings are available including installation instructions at:
+
+https://www.dxx-rebirth.com/addons/