mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 04:00:05 +02:00
GZDoom: new recipe for version 3.5.1
This commit is contained in:
50
games-fps/gzdoom/additional-files/gzdoom.rdef.in
Normal file
50
games-fps/gzdoom/additional-files/gzdoom.rdef.in
Normal file
@@ -0,0 +1,50 @@
|
||||
|
||||
resource app_flags B_SINGLE_LAUNCH | B_ARGV_ONLY;
|
||||
|
||||
resource app_version {
|
||||
major = @MAJOR@,
|
||||
middle = @MIDDLE@,
|
||||
minor = @MINOR@,
|
||||
|
||||
variety = B_APPV_FINAL,
|
||||
internal = 0,
|
||||
|
||||
short_info = "GZDoom",
|
||||
long_info = "@LONG_INFO@"
|
||||
};
|
||||
|
||||
resource app_signature "@APP_SIGNATURE@";
|
||||
|
||||
|
||||
resource vector_icon {
|
||||
$"6E6369660604000C04001904003302000602000000BEFCD23C8E380000004C20"
|
||||
$"1C4F29F5001E3A81FF224292059C05DA0C0208CB1BB813CC51B920CF00BC33D1"
|
||||
$"8ACADCD18AC312D18AD779C29AE1B4CADAE1B4BD82E1B4B650D7DEB904DDD2B7"
|
||||
$"01D9B7B8D3DCE9B7D9DB6CBB89E0AEC31AE2FABF25E2FACB88E2FAD25FCB9ED2"
|
||||
$"5FD884D25FC592CE69BBEAD0E0C00FCD6FBA6B0206CE69BBEAD128C023D0F7C0"
|
||||
$"16D289CBE0D289C5B3D289D8C6C343E33A5EE33ABF39E33AB8D3DCE9BB8FE0D3"
|
||||
$"BB96E11FC399E3BDBF64E3BDCC08E3BDD2DFCC62D2DFD947D2DFC5F20206CE69"
|
||||
$"BBEAD0F7C016D0E0C00FD25FCB9ED25FC592D25FD884C31AE2FACB88E2FABF26"
|
||||
$"E2FAB8D3DCE9BB8BE0AEBB8FE0D3C343E33ABF39E33A5EE33AD289CBE0D289D8"
|
||||
$"C6D289C5B30207C7BFB569C7BFB569CD79B89CD18ACADED18AC101D18AD77BC2"
|
||||
$"9AE1B5CADCE1B5BC28E1B5B493D2BBB6AADB7BB6E4DDA3C575E299BE0CE45DCC"
|
||||
$"DFE0D3D261CB9FD257D717D25DC17AC7C0B56ACE13B880C7C0B56A0204B3A8CB"
|
||||
$"5EB3A8D843B3A8BE77C2EFB403BA80B403CB5FB403D235CB5ED235BE77D235D8"
|
||||
$"43C2EFE2B9CB5FE2B9BA80E2B90206CD94BAA4D06EBEE3D00CBECBD18ACA59D1"
|
||||
$"8AC44ED18AD740C244E1B4CAB5E1B4BE50E1B4B800DBA4BAB6DF6BBAC5E001C2"
|
||||
$"EFE2B9BEA5E2B9CB5FE2B9D235CB5ED235D843D235C4CE06074F18BD9EC33EBD"
|
||||
$"9EC33EB7A6C33EBD9ED585B7A6D585BD9ED585CCE5D072C73FCCE5C955C33E06"
|
||||
$"076334BD4AC851BC4BC851BD4AC851C795C399CD66CB5EC046D072BD4AD072BD"
|
||||
$"4AD072BC4BD07206074F18BCF5C23BBCF5C23BB6FBC23BBCF5D481B6FBD481BC"
|
||||
$"F5D481CC3ACF6EC696CC3AC851C23B06076334BC9FC74EBBA0C74EBC9FC74EC6"
|
||||
$"EBC2EFCC62CA59BF9CCF6EBC9FCF6EBC9FCF6EBBA0CF6E06074F18BCF5C33EBC"
|
||||
$"F5C33EB7A5C33EBCF5D37DB7A5D37DBCF5D37DCB91D072C498CB91C7D0C33E06"
|
||||
$"076334BC9FC64ABAF7C64ABC9FC64AC894C244CE6ACB5EC046D072BC9FD072BC"
|
||||
$"9FD072BAF7D072080A00020001023F2ED50000000000003E18B33CB9383B677D"
|
||||
$"0A010102023F2ED50000000000003E18B33CB9383B677D0A020103023F2ED500"
|
||||
$"00000000003E18B33CB9383B677D0A030104023F2ED50000000000003E18B33C"
|
||||
$"B9383B677D0A010105023F2ED50000000000003E18B33CB9383B677D0A010206"
|
||||
$"07023F2ED50000000000003E18B33CB9383B677D0A04020809023F2ED5000000"
|
||||
$"0000003E18B33CB9383B677D0A05020A0B023F2ED50000000000003E18B33CB9"
|
||||
$"383B677D"
|
||||
};
|
||||
117
games-fps/gzdoom/gzdoom-3.5.1.recipe
Normal file
117
games-fps/gzdoom/gzdoom-3.5.1.recipe
Normal file
@@ -0,0 +1,117 @@
|
||||
SUMMARY="A modder-friendly OpenGL source port based on the DOOM engine"
|
||||
DESCRIPTION="Consider all these features that ZDoom has that are not found in \
|
||||
the standard Doom originally released by id:
|
||||
|
||||
* It runs well under all modern versions of Windows, from Windows XP to the \
|
||||
new Windows 10. If you have Mac or Linux, it works with that too.
|
||||
* Can play all Doom engine games, including Ultimate Doom, Doom II, Heretic, \
|
||||
Hexen, Strife, and more.
|
||||
* Supports all the editing features of Hexen. (ACS, hubs, new map format, etc.)
|
||||
* Supports most of the Boom editing features.
|
||||
* Many more all-new editing features such as:
|
||||
* Colored lighting.
|
||||
* 3D floors.
|
||||
* Portals.
|
||||
* Advanced polyobjects free from the restrictions of their original \
|
||||
implementation in Hexen.
|
||||
* Custom monsters, weapons, items, player classes, and other entities.
|
||||
* High resolution textures and sprites.
|
||||
* Translucency (regular and additive).
|
||||
* Many, many extensions to ACS that were not present in Hexen.
|
||||
* More music formats: Ogg Vorbis, MOD, XM, IT, S3M, MIDI, and MP3 as well as \
|
||||
old-fashioned MUS all work.
|
||||
* More sound formats: FLAC and WAVE can both be used for sound effects.
|
||||
* More texture formats: PNG and JPEG are both useable for artwork.
|
||||
* All Doom limits are gone.
|
||||
* Several softsynths for MUS and MIDI playback, including an OPL softsynth
|
||||
for an authentic "oldschool" flavor.
|
||||
* High resolutions.
|
||||
* Quake-style console and key bindings.
|
||||
* Crosshairs.
|
||||
* Free look (look up/down).
|
||||
* Jumping, crouching, swimming, and flying.
|
||||
* Full-featured joystick/gamepad support under Windows.
|
||||
* Up to 8 player network games using UDP/IP, including team-based gameplay.
|
||||
* Support for the Bloodbath announcer from the classic Monolith game Blood.
|
||||
* Walk over/under monsters and other things."
|
||||
HOMEPAGE="https://zdoom.org/"
|
||||
COPYRIGHT="
|
||||
1998-2018 ZDoom + GZDoom teams, and contributors
|
||||
1997 id Software, Raven Software, and contributors
|
||||
"
|
||||
LICENSE="GNU GPL v3"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://github.com/coelckers/gzdoom/archive/g$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="6189ac5328a835b28246c0a7a7449f8cb7f71a4f2c9868ff5315a2f598849096"
|
||||
SOURCE_DIR="gzdoom-g$portVersion"
|
||||
PATCHES="gzdoom-$portVersion.patchset"
|
||||
ADDITIONAL_FILES="gzdoom.rdef.in"
|
||||
|
||||
ARCHITECTURES="!x86_gcc2 ?x86 x86_64"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
gzdoom$secondaryArchSuffix = $portVersion
|
||||
app:GZDoom
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
# lib:libbzip2$secondaryArchSuffix
|
||||
lib:libfluidsynth$secondaryArchSuffix
|
||||
lib:libGL$secondaryArchSuffix
|
||||
lib:libgomp$secondaryArchSuffix
|
||||
lib:libjpeg$secondaryArchSuffix
|
||||
lib:libSDL2_2.0$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
# devel:libbzip2$secondaryArchSuffix # cmake: Could NOT find BZip2
|
||||
devel:libfluidsynth$secondaryArchSuffix
|
||||
devel:libGL$secondaryArchSuffix
|
||||
devel:libjpeg$secondaryArchSuffix
|
||||
devel:libSDL2_2.0$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:cmake
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:install
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake .. \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_CXX_FLAGS="-D_GNU_SOURCE -D_BSD_SOURCE"
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
mkdir -p $appsDir/GZDoom
|
||||
cp build/gzdoom $appsDir/GZDoom/GZDoom
|
||||
cp build/*.pk3 $appsDir/GZDoom
|
||||
local APP_SIGNATURE="application/x-vnd.gzdoom"
|
||||
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
|
||||
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
|
||||
local MINOR="`echo "$portVersion" | cut -d. -f3`"
|
||||
|
||||
local LONG_INFO="$SUMMARY"
|
||||
sed \
|
||||
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
|
||||
-e "s|@MAJOR@|$MAJOR|" \
|
||||
-e "s|@MIDDLE@|$MIDDLE|" \
|
||||
-e "s|@MINOR@|$MINOR|" \
|
||||
-e "s|@LONG_INFO@|$LONG_INFO|" \
|
||||
$portDir/additional-files/gzdoom.rdef.in > gzdoom.rdef
|
||||
|
||||
addResourcesToBinaries gzdoom.rdef $appsDir/GZDoom/GZDoom
|
||||
addAppDeskbarSymlink $appsDir/GZDoom/GZDoom
|
||||
}
|
||||
90
games-fps/gzdoom/patches/gzdoom-3.5.1.patchset
Normal file
90
games-fps/gzdoom/patches/gzdoom-3.5.1.patchset
Normal file
@@ -0,0 +1,90 @@
|
||||
From 00f8ebcd4207cfec01b72a05b8df4c9f28649da8 Mon Sep 17 00:00:00 2001
|
||||
From: Sergei Reznikov <diver@gelios.net>
|
||||
Date: Thu, 11 Oct 2018 14:21:49 +0300
|
||||
Subject: Haiku fixes
|
||||
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 032dbb1..70c9c47 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -251,6 +251,13 @@ else()
|
||||
endif( APPLE )
|
||||
endif()
|
||||
|
||||
+
|
||||
+ if(HAIKU)
|
||||
+ # Haiku networking resides in libnetwork
|
||||
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lnetwork")
|
||||
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -lnetwork")
|
||||
+ endif(HAIKU)
|
||||
+
|
||||
set( CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} ${REL_LINKER_FLAGS}" )
|
||||
set( CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "${CMAKE_EXE_LINKER_FLAGS_MINSIZEREL} ${REL_LINKER_FLAGS}" )
|
||||
set( CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} ${REL_LINKER_FLAGS}" )
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index b4ec9a4..af017e7 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -404,9 +404,9 @@ endif()
|
||||
CHECK_CXX_SOURCE_COMPILES("thread_local int i; int main() { i = 0; }"
|
||||
HAVE_THREAD_LOCAL)
|
||||
|
||||
-if( NOT HAVE_THREAD_LOCAL )
|
||||
- message( SEND_ERROR "C++ compiler doesn't support thread_local storage duration specifier" )
|
||||
-endif()
|
||||
+#if( NOT HAVE_THREAD_LOCAL )
|
||||
+# message( SEND_ERROR "C++ compiler doesn't support thread_local storage duration specifier" )
|
||||
+#endif()
|
||||
|
||||
# Check for functions that may or may not exist.
|
||||
|
||||
diff --git a/src/gl_load/gl_load.c b/src/gl_load/gl_load.c
|
||||
index 4bfbb78..405444e 100644
|
||||
--- a/src/gl_load/gl_load.c
|
||||
+++ b/src/gl_load/gl_load.c
|
||||
@@ -84,7 +84,7 @@ static PROC WinGetProcAddress(const char *name)
|
||||
#if defined(__APPLE__)
|
||||
#define IntGetProcAddress(name) AppleGLGetProcAddress(name)
|
||||
#else
|
||||
- #if defined(__sgi) || defined(__sun) || defined(__unix__)
|
||||
+ #if defined(__sgi) || defined(__sun) || defined(__unix__) || defined(__HAIKU__)
|
||||
void* SDL_GL_GetProcAddress(const char* proc);
|
||||
#define IntGetProcAddress(name) SDL_GL_GetProcAddress((const char*)name)
|
||||
//#define IntGetProcAddress(name) PosixGetProcAddress((const GLubyte*)name)
|
||||
diff --git a/src/m_alloc.cpp b/src/m_alloc.cpp
|
||||
index d08913b..50b4289 100644
|
||||
--- a/src/m_alloc.cpp
|
||||
+++ b/src/m_alloc.cpp
|
||||
@@ -40,6 +40,9 @@
|
||||
#include <malloc/malloc.h>
|
||||
#elif defined(__OpenBSD__)
|
||||
#include <stdlib.h>
|
||||
+#elif defined(__APPLE__)
|
||||
+#include <stdlib.h>
|
||||
+#include <malloc.h>
|
||||
#else
|
||||
#include <malloc.h>
|
||||
#endif
|
||||
diff --git a/src/posix/i_system.h b/src/posix/i_system.h
|
||||
index 7f468f1..d1e0169 100644
|
||||
--- a/src/posix/i_system.h
|
||||
+++ b/src/posix/i_system.h
|
||||
@@ -159,6 +159,7 @@ inline const char *I_FindName(findstate_t *fileinfo)
|
||||
#define FA_DIREC 8
|
||||
#define FA_ARCH 16
|
||||
|
||||
+#ifndef __HAIKU__
|
||||
static inline char *strlwr(char *str)
|
||||
{
|
||||
char *ptr = str;
|
||||
@@ -169,5 +170,5 @@ static inline char *strlwr(char *str)
|
||||
}
|
||||
return str;
|
||||
}
|
||||
-
|
||||
+#endif
|
||||
#endif
|
||||
--
|
||||
2.19.1
|
||||
|
||||
Reference in New Issue
Block a user