From 969b7008491078154d14808d31fb96fc55665d9e Mon Sep 17 00:00:00 2001 From: Tobias Kortkamp Date: Tue, 25 Dec 2018 08:27:40 +0000 Subject: [PATCH] New port: games/dxx-rebirth DXX-Rebirth is a source port of the Descent and Descent 2 engines for Windows, Mac OS, Linux (most *NIX systems), offering OpenGL graphics and effects, advanced multiplayer, many improvements and new features. Descent and Descent 2 are pretty old games so you usually run into problems running it on more recent hardware and operating systems. DXX-Rebirth will also take care about this for you. WWW: https://www.dxx-rebirth.com/ PR: 233755 Submitted by: pkubaj@anongoth.pl --- games/Makefile | 1 + games/dxx-rebirth/Makefile | 36 +++++++++++++++++++ games/dxx-rebirth/distinfo | 3 ++ games/dxx-rebirth/files/patch-SConstruct | 11 ++++++ .../files/patch-similar_editor_med.cpp | 11 ++++++ .../files/patch-similar_main_inferno.cpp | 11 ++++++ games/dxx-rebirth/pkg-descr | 10 ++++++ games/dxx-rebirth/pkg-message | 22 ++++++++++++ 8 files changed, 105 insertions(+) create mode 100644 games/dxx-rebirth/Makefile create mode 100644 games/dxx-rebirth/distinfo create mode 100644 games/dxx-rebirth/files/patch-SConstruct create mode 100644 games/dxx-rebirth/files/patch-similar_editor_med.cpp create mode 100644 games/dxx-rebirth/files/patch-similar_main_inferno.cpp create mode 100644 games/dxx-rebirth/pkg-descr create mode 100644 games/dxx-rebirth/pkg-message diff --git a/games/Makefile b/games/Makefile index a6d4f3d33bdc..c8356691c946 100644 --- a/games/Makefile +++ b/games/Makefile @@ -229,6 +229,7 @@ SUBDIR += dungeon SUBDIR += dungeoncrawl SUBDIR += dustrac + SUBDIR += dxx-rebirth SUBDIR += easyrpg-player SUBDIR += eboard SUBDIR += edge diff --git a/games/dxx-rebirth/Makefile b/games/dxx-rebirth/Makefile new file mode 100644 index 000000000000..621462808d00 --- /dev/null +++ b/games/dxx-rebirth/Makefile @@ -0,0 +1,36 @@ +# Created by: Piotr Kubaj +# $FreeBSD$ + +PORTNAME= dxx-rebirth +DISTVERSION= 0.60.0-beta2 +CATEGORIES= games +MASTER_SITES= https://www.dxx-rebirth.com/download/dxx/user/afuturepilot/ +EXTRACT_SUFX= -git.tar.gz + +MAINTAINER= pkubaj@anongoth.pl +COMMENT= Open source port of Descent and Descent 2 + +LICENSE= GPLv3 PARALLAX +LICENSE_COMB= multi +LICENSE_NAME_PARALLAX= original Parallax license +LICENSE_FILE_GPLv3= ${WRKSRC}/GPL-3.txt +LICENSE_FILE_PARALLAX= ${WRKSRC}/COPYING.txt +LICENSE_PERMS_PARALLAX= dist-mirror pkg-mirror auto-accept + +LIB_DEPENDS= libphysfs.so:devel/physfs \ + libpng.so:graphics/png + +USES= compiler:c++14-lang localbase:ldflags gl pkgconfig scons +USE_GL= gl glu +USE_SDL= mixer sdl + +MAKE_ARGS= ignore_unknown_variables=1 + +PLIST_FILES= bin/d1x-rebirth \ + bin/d2x-rebirth + +post-install: + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/d1x-rebirth \ + ${STAGEDIR}${PREFIX}/bin/d2x-rebirth + +.include diff --git a/games/dxx-rebirth/distinfo b/games/dxx-rebirth/distinfo new file mode 100644 index 000000000000..abd4493462bf --- /dev/null +++ b/games/dxx-rebirth/distinfo @@ -0,0 +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 diff --git a/games/dxx-rebirth/files/patch-SConstruct b/games/dxx-rebirth/files/patch-SConstruct new file mode 100644 index 000000000000..33fc095bb4e8 --- /dev/null +++ b/games/dxx-rebirth/files/patch-SConstruct @@ -0,0 +1,11 @@ +--- SConstruct.orig 2018-11-21 15:51:35 UTC ++++ SConstruct +@@ -3502,7 +3502,7 @@ class DXXCommon(LazyObjectConstructor): + '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')}), + ), + }, diff --git a/games/dxx-rebirth/files/patch-similar_editor_med.cpp b/games/dxx-rebirth/files/patch-similar_editor_med.cpp new file mode 100644 index 000000000000..705478086e93 --- /dev/null +++ b/games/dxx-rebirth/files/patch-similar_editor_med.cpp @@ -0,0 +1,11 @@ +--- 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(); diff --git a/games/dxx-rebirth/files/patch-similar_main_inferno.cpp b/games/dxx-rebirth/files/patch-similar_main_inferno.cpp new file mode 100644 index 000000000000..1f26a062b394 --- /dev/null +++ b/games/dxx-rebirth/files/patch-similar_main_inferno.cpp @@ -0,0 +1,11 @@ +--- 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 diff --git a/games/dxx-rebirth/pkg-descr b/games/dxx-rebirth/pkg-descr new file mode 100644 index 000000000000..d21867ef206d --- /dev/null +++ b/games/dxx-rebirth/pkg-descr @@ -0,0 +1,10 @@ +DXX-Rebirth is a source port of the Descent and Descent 2 engines +for Windows, Mac OS, Linux (most *NIX systems), offering OpenGL +graphics and effects, advanced multiplayer, many improvements and +new features. + +Descent and Descent 2 are pretty old games so you usually run into +problems running it on more recent hardware and operating systems. +DXX-Rebirth will also take care about this for you. + +WWW: https://www.dxx-rebirth.com/ diff --git a/games/dxx-rebirth/pkg-message b/games/dxx-rebirth/pkg-message new file mode 100644 index 000000000000..61f0a8a5da63 --- /dev/null +++ b/games/dxx-rebirth/pkg-message @@ -0,0 +1,22 @@ +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. + +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. + +You can install it with "pkg install innoextract" or +"portmaster archivers/innoextract". + +The files will be in a directory named app. You must move the contents +of this directory to a directory named ~/.d1x-rebirth/Data + +The eaisest way to do this is to follow these steps: +$ mkdir -p ~/.d1x-rebirth/Data +$ cp -R app/* ~/.d1x-rebirth/Data + +You can then delete everything extracted from the exe. + +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.