mirror of
https://github.com/yann64/haikuports.git
synced 2026-05-04 22:18:55 +02:00
Eduke32: new recipe (#1388)
This commit is contained in:
102
games-fps/eduke32/eduke32-20170518_6135.recipe
Normal file
102
games-fps/eduke32/eduke32-20170518_6135.recipe
Normal file
@@ -0,0 +1,102 @@
|
||||
SUMMARY="A source port of the classic PC first person shooter Duke Nukem 3D"
|
||||
DESCRIPTION="* EDuke32 runs natively without relying on emulation of any kind
|
||||
* EDuke32 runs at crazy resolutions like 3072x2304.
|
||||
* EDuke32 allows you to choose between two different hardware accelerated \
|
||||
OpenGL renderers, or the classic, warped software mode you grew up with
|
||||
* EDuke32 fixes an insane amount of programming errors which were harmless \
|
||||
in the days of DOS but are fatal with modern protected memory models; \
|
||||
translation: EDuke32 crashes less
|
||||
* EDuke32 has been the only actively developed and maintained Duke3D port \
|
||||
for years
|
||||
* EDuke32 features Plagman's incredible \"Polymer\" renderer as a replacement \
|
||||
for Ken Silverman's \"Polymost\" renderer
|
||||
* EDuke32 has a huge number of new extensions to the game's scripting system, \
|
||||
allowing gameplay mods that rival even modern games.
|
||||
* EDuke32 runs the HRP with support for all features, most of which require \
|
||||
EDuke32; no other port can run the HRP with all features enabled
|
||||
* EDuke32 adds a full-featured console, including Quake-style key bindings, \
|
||||
command aliases, advanced tab completion, comprehensive command history, \
|
||||
colored text and more
|
||||
* EDuke32 has hundreds of code rewrites, optimizations and fixes for rare or \
|
||||
annoying bugs in the original code
|
||||
* EDuke32 adds tons of optional new features that make the player's life \
|
||||
easier including modern status display/HUD, support for loading mods from the \
|
||||
startup window, and modern, WSAD-based controls with thoroughly reworked mouse \
|
||||
aiming
|
||||
* EDuke32 supports Ogg Vorbis sound and music
|
||||
* EDuke32 is developed by people who have been in the Duke3D scene since the \
|
||||
beginning
|
||||
* EDuke32 lets you play that game called 'NAM' you saw at the dollar store 10 \
|
||||
years ago
|
||||
* EDuke32 makes sandwiches!"
|
||||
HOMEPAGE="http://www.eduke32.com/"
|
||||
COPYRIGHT="1993-1997 Ken Silverman
|
||||
2006-2017 eduke32 Team"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="1"
|
||||
SOURCE_URI="http://dukeworld.duke4.net/eduke32/synthesis/20170518-6135/eduke32_src_20170518-6135.tar.xz"
|
||||
CHECKSUM_SHA256="539f928f9cee88a3d1dbcbf1f99a2e44e2d078185f99cf4ab6ed05922d450d2d"
|
||||
SOURCE_DIR="eduke32_20170518-6135"
|
||||
PATCHES="eduke32-20170518_6135.patchset"
|
||||
|
||||
ARCHITECTURES="?x86_gcc2 ?x86 x86_64"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
eduke32$secondaryArchSuffix = $portVersion
|
||||
cmd:eduke32$secondaryArchSuffix = $portVersion
|
||||
cmd:mapster32$secondaryArchSuffix = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libexecinfo$secondaryArchSuffix
|
||||
lib:libFLAC$secondaryArchSuffix
|
||||
lib:libGL$secondaryArchSuffix
|
||||
lib:libGLU$secondaryArchSuffix
|
||||
lib:libogg$secondaryArchSuffix
|
||||
lib:libpng16$secondaryArchSuffix
|
||||
lib:libsdl2$secondaryArchSuffix
|
||||
lib:libsdl2_mixer$secondaryArchSuffix
|
||||
lib:libvorbis$secondaryArchSuffix
|
||||
lib:libvorbisfile$secondaryArchSuffix
|
||||
lib:libvpx$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libexecinfo$secondaryArchSuffix
|
||||
devel:libFLAC$secondaryArchSuffix
|
||||
devel:libGL$secondaryArchSuffix
|
||||
devel:libGLU$secondaryArchSuffix
|
||||
devel:libogg$secondaryArchSuffix
|
||||
devel:libpng16$secondaryArchSuffix
|
||||
devel:libsdl2$secondaryArchSuffix
|
||||
devel:libsdl2_mixer$secondaryArchSuffix
|
||||
devel:libvorbis$secondaryArchSuffix
|
||||
devel:libvorbisfile$secondaryArchSuffix
|
||||
devel:libvpx$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:awk
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:install
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:nasm
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
make $jobArgs \
|
||||
RELEASE=1
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
mkdir -p $binDir
|
||||
cp eduke32 mapster32 $binDir
|
||||
strip $binDir/*
|
||||
}
|
||||
166
games-fps/eduke32/patches/eduke32-20170518_6135.patchset
Normal file
166
games-fps/eduke32/patches/eduke32-20170518_6135.patchset
Normal file
@@ -0,0 +1,166 @@
|
||||
From a6cd111118bb90838cd5a4c02a0751717d610d45 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
|
||||
Date: Sat, 3 Jun 2017 16:02:01 +0200
|
||||
Subject: Haiku: endiannes fix
|
||||
|
||||
|
||||
diff --git a/source/build/include/compat.h b/source/build/include/compat.h
|
||||
index 035fdc1..9a34a6b 100644
|
||||
--- a/source/build/include/compat.h
|
||||
+++ b/source/build/include/compat.h
|
||||
@@ -279,7 +279,7 @@ defined __x86_64__ || defined __amd64__ || defined _M_X64 || defined _M_IA64 ||
|
||||
# endif
|
||||
# include <libkern/OSByteOrder.h>
|
||||
|
||||
-#elif defined(__BEOS__)
|
||||
+#elif defined(__BEOS__) || defined(__HAIKU__)
|
||||
# include <posix/endian.h>
|
||||
# if LITTLE_ENDIAN != 0
|
||||
# define B_LITTLE_ENDIAN 1
|
||||
--
|
||||
2.12.2
|
||||
|
||||
|
||||
From 71dc7c0d342f07766cb4ee4ce04b080bf1e32b61 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
|
||||
Date: Sat, 3 Jun 2017 17:31:49 +0200
|
||||
Subject: Haiku: build fix
|
||||
|
||||
|
||||
diff --git a/source/build/src/kplib.cpp b/source/build/src/kplib.cpp
|
||||
index 601892d..c0c3e77 100644
|
||||
--- a/source/build/src/kplib.cpp
|
||||
+++ b/source/build/src/kplib.cpp
|
||||
@@ -34,6 +34,10 @@ credits.
|
||||
#include "kplib.h"
|
||||
#include "pragmas.h"
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+#include <dirent.h>
|
||||
+#endif
|
||||
+
|
||||
#if !defined(_WIN32)
|
||||
#include <dirent.h>
|
||||
static inline int32_t _lrotl(int32_t i, int sh) { return (i >> (-sh)) | (i << sh); }
|
||||
@@ -2759,14 +2763,14 @@ int32_t kzfindfile(char *filnam)
|
||||
if ((findata = readdir(hfind)) == NULL)
|
||||
{ closedir(hfind); hfind = NULL; if (!kzhashbuf) return 0; srchstat = 2; break; }
|
||||
i = wildstpathleng;
|
||||
- if (findata->d_type == DT_DIR)
|
||||
- { if (findata->d_name[0] == '.' && !findata->d_name[1]) continue; } //skip .
|
||||
- else if ((findata->d_type == DT_REG) || (findata->d_type == DT_LNK))
|
||||
- { if (findata->d_name[0] == '.') continue; } //skip hidden (dot) files
|
||||
- else continue; //skip devices and fifos and such
|
||||
- if (!wildmatch(findata->d_name,&newildst[wildstpathleng])) continue;
|
||||
- strcpy(&filnam[i],findata->d_name);
|
||||
- if (findata->d_type == DT_DIR) strcat(&filnam[i],"/");
|
||||
+// if (findata->d_type == DT_DIR)
|
||||
+// { if (findata->d_name[0] == '.' && !findata->d_name[1]) continue; } //skip .
|
||||
+// else if ((findata->d_type == DT_REG) || (findata->d_type == DT_LNK))
|
||||
+// { if (findata->d_name[0] == '.') continue; } //skip hidden (dot) files
|
||||
+// else continue; //skip devices and fifos and such
|
||||
+// if (!wildmatch(findata->d_name,&newildst[wildstpathleng])) continue;
|
||||
+// strcpy(&filnam[i],findata->d_name);
|
||||
+// if (findata->d_type == DT_DIR) strcat(&filnam[i],"/");
|
||||
#endif
|
||||
return 1;
|
||||
}
|
||||
--
|
||||
2.12.2
|
||||
|
||||
From 537ab2e7986ff33d27056ec0c1a3018b9fe28eaa Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
|
||||
Date: Sun, 4 Jun 2017 08:04:43 +0200
|
||||
Subject: [PATCH] Platform specific fixes
|
||||
|
||||
---
|
||||
Common.mak | 22 +++++++++++++++-------
|
||||
GNUmakefile | 4 ++++
|
||||
2 files changed, 19 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/Common.mak b/Common.mak
|
||||
index eb6cb47..4fc96fe 100644
|
||||
--- a/Common.mak
|
||||
+++ b/Common.mak
|
||||
@@ -123,6 +123,8 @@ ifndef HOSTPLATFORM
|
||||
HOSTPLATFORM=DARWIN
|
||||
else ifeq ($(findstring BeOS,$(uname)),BeOS)
|
||||
HOSTPLATFORM=BEOS
|
||||
+ else ifeq ($(findstring Haiku,$(uname)),Haiku)
|
||||
+ HOSTPLATFORM=HAIKU
|
||||
else ifeq ($(findstring skyos,$(uname)),skyos)
|
||||
HOSTPLATFORM=SKYOS
|
||||
else ifeq ($(findstring QNX,$(uname)),QNX)
|
||||
@@ -948,17 +950,23 @@ ifneq (0,$(POLYMER))
|
||||
endif
|
||||
|
||||
|
||||
-ifneq ($(PLATFORM),WINDOWS)
|
||||
- ifneq ($(PLATFORM),WII)
|
||||
- ifneq ($(PLATFORM),BSD)
|
||||
- LIBS+= -ldl
|
||||
- endif
|
||||
- ifneq ($(PLATFORM),DARWIN)
|
||||
- LIBS+= -pthread
|
||||
+ifneq ($(PLATFORM),HAIKU)
|
||||
+ ifneq ($(PLATFORM),WINDOWS)
|
||||
+ ifneq ($(PLATFORM),WII)
|
||||
+ ifneq ($(PLATFORM),BSD)
|
||||
+ LIBS+= -ldl
|
||||
+ endif
|
||||
+ ifneq ($(PLATFORM),DARWIN)
|
||||
+ LIBS+= -pthread
|
||||
+ endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
+ifeq ($(PLATFORM),HAIKU)
|
||||
+ LIBS+= -lpthread -lnetwork
|
||||
+endif
|
||||
+
|
||||
ifeq ($(PLATFORM),WINDOWS)
|
||||
ifneq ($(USE_LIBPNG),0)
|
||||
LIBS+= -lpng_mini -lz_mini
|
||||
diff --git a/GNUmakefile b/GNUmakefile
|
||||
index a966483..7027e1f 100644
|
||||
--- a/GNUmakefile
|
||||
+++ b/GNUmakefile
|
||||
@@ -544,6 +544,10 @@ ifeq ($(PLATFORM),BSD)
|
||||
LIBS += -lFLAC -lvorbisfile -lvorbis -logg -lexecinfo
|
||||
endif
|
||||
|
||||
+ifeq ($(PLATFORM),HAIKU)
|
||||
+ LIBS += -lFLAC -lvorbisfile -lvorbis -logg -lexecinfo -lnetwork
|
||||
+endif
|
||||
+
|
||||
ifeq ($(PLATFORM),DARWIN)
|
||||
ifneq (0,$(HAVE_XMP))
|
||||
LIBS += -lxmp-lite
|
||||
--
|
||||
2.12.2
|
||||
|
||||
From 1c963d963f506b53b10f431b96caf595037fe091 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
|
||||
Date: Sun, 4 Jun 2017 08:30:18 +0200
|
||||
Subject: [PATCH] Data file search path fix
|
||||
|
||||
---
|
||||
source/duke3d/src/common.cpp | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/source/duke3d/src/common.cpp b/source/duke3d/src/common.cpp
|
||||
index 0045364..ce62dc6 100644
|
||||
--- a/source/duke3d/src/common.cpp
|
||||
+++ b/source/duke3d/src/common.cpp
|
||||
@@ -318,6 +318,8 @@ void G_ExtInit(void)
|
||||
"EDuke32 Settings"
|
||||
#elif defined(GEKKO)
|
||||
"apps/eduke32"
|
||||
+#elif defined(__HAIKU__)
|
||||
+ "config/settings/eduke32"
|
||||
#else
|
||||
".eduke32"
|
||||
#endif
|
||||
--
|
||||
2.12.2
|
||||
Reference in New Issue
Block a user