diff --git a/Makefile b/Makefile index 092f8dd45a..2388e2c3ab 100644 --- a/Makefile +++ b/Makefile @@ -193,6 +193,7 @@ SUBDIR+= arpdig SUBDIR+= arphic-ukai-ttf SUBDIR+= arphic-uming-ttf SUBDIR+= artemis +SUBDIR+= arx-libertatis-git SUBDIR+= ascii2binary SUBDIR+= aspell-dictionaries SUBDIR+= asql diff --git a/arx-libertatis-git/DESCR b/arx-libertatis-git/DESCR new file mode 100644 index 0000000000..e0573fc034 --- /dev/null +++ b/arx-libertatis-git/DESCR @@ -0,0 +1,4 @@ +Arx Libertatis is a cross-platform, open source port of Arx Fatalis, +a 2002 first-person role-playing game developed by Arkane Studios. + +This is the game engine (git snapshot) - the data files are not included. diff --git a/arx-libertatis-git/Makefile b/arx-libertatis-git/Makefile new file mode 100644 index 0000000000..a65be66ad7 --- /dev/null +++ b/arx-libertatis-git/Makefile @@ -0,0 +1,43 @@ +# $NetBSD$ + +PKGNAME= arx-libertatis-1.2 +CATEGORIES= games +DISTFILES+= arx-libertatis-data-1.tar.xz +SITES.arx-libertatis-data-1.tar.xz= \ +https://arx-libertatis.org/files/data/ + +MAINTAINER= pkgsrc-users@NetBSD.org +HOMEPAGE= https://arx-libertatis.org/ +COMMENT= Cross-platform, open source port of the Arx Fatalis RPG +LICENSE= gnu-gpl-v3 + +GIT_REPOSITORIES= arxlibertatis +GIT_REPO.arxlibertatis= git://github.com/arx/ArxLibertatis +WRKSRC= ${WRKDIR}/arxlibertatis + +USE_CMAKE= yes +USE_LANGUAGES= c c++ + +CMAKE_ARGS+= -D CMAKE_INSTALL_MANDIR:STRING:=${PKGMANDIR} +CMAKE_ARGS+= -D DATA_FILES:STRING:=${WRKDIR}/arx-libertatis-data-1 +CMAKE_ARGS+= -D INSTALL_BLENDER_PLUGIN:BOOL=OFF +CMAKE_ARGS+= -D USE_QT4:BOOL=OFF +CMAKE_ARGS+= -D USE_QT5:BOOL=OFF + +.include "../../mk/bsd.prefs.mk" + +PLIST_VARS+= NotDarwin + +.if ${OPSYS} != "Darwin" +PLIST.NotDarwin= yes +.endif + +.include "options.mk" + +.include "../../audio/openal-soft/buildlink3.mk" +.include "../../devel/boost-headers/buildlink3.mk" +.include "../../graphics/freetype2/buildlink3.mk" +.include "../../graphics/glm/buildlink3.mk" +.include "../../sysutils/desktop-file-utils/desktopdb.mk" +.include "../../wip/mk/git-package.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/arx-libertatis-git/PLIST b/arx-libertatis-git/PLIST new file mode 100644 index 0000000000..eb95beaf69 --- /dev/null +++ b/arx-libertatis-git/PLIST @@ -0,0 +1,37 @@ +@comment $NetBSD$ +bin/arx +bin/arx-install-data +bin/arxsavetool +bin/arxunpak +libexec/arxtool +man/man1/arx-install-data.1 +man/man1/arxsavetool.1 +man/man1/arxunpak.1 +man/man6/arx.6 +${PLIST.NotDarwin}share/applications/arx-libertatis.desktop +share/games/arx/localisation/languages/chinese.ini +share/games/arx/localisation/languages/deutsch.ini +share/games/arx/localisation/languages/english.ini +share/games/arx/localisation/languages/francais.ini +share/games/arx/localisation/languages/italian.ini +share/games/arx/localisation/languages/japanese.ini +share/games/arx/localisation/languages/russian.ini +share/games/arx/localisation/languages/spanish.ini +share/games/arx/localisation/xtext_default_001_arxlibertatis.ini +share/games/arx/localisation/xtext_deutsch_001_arxlibertatis.ini +share/games/arx/localisation/xtext_english_001_arxlibertatis.ini +share/games/arx/localisation/xtext_russian_001_arxlibertatis.ini +share/games/arx/localisation/xtext_spanish_001_arxlibertatis.ini +share/games/arx/misc/dejavusansmono.ttf +share/games/arx/misc/icons.ttf +${PLIST.NotDarwin}share/icons/hicolor/128x128/apps/arx-libertatis.png +${PLIST.NotDarwin}share/icons/hicolor/16x16/apps/arx-libertatis.png +${PLIST.NotDarwin}share/icons/hicolor/192x192/apps/arx-libertatis.png +${PLIST.NotDarwin}share/icons/hicolor/22x22/apps/arx-libertatis.png +${PLIST.NotDarwin}share/icons/hicolor/24x24/apps/arx-libertatis.png +${PLIST.NotDarwin}share/icons/hicolor/256x256/apps/arx-libertatis.png +${PLIST.NotDarwin}share/icons/hicolor/32x32/apps/arx-libertatis.png +${PLIST.NotDarwin}share/icons/hicolor/48x48/apps/arx-libertatis.png +${PLIST.NotDarwin}share/icons/hicolor/512x512/apps/arx-libertatis.png +${PLIST.NotDarwin}share/icons/hicolor/64x64/apps/arx-libertatis.png +${PLIST.NotDarwin}share/icons/hicolor/96x96/apps/arx-libertatis.png diff --git a/arx-libertatis-git/distinfo b/arx-libertatis-git/distinfo new file mode 100644 index 0000000000..2ddf627916 --- /dev/null +++ b/arx-libertatis-git/distinfo @@ -0,0 +1,7 @@ +$NetBSD$ + +SHA1 (arx-libertatis-data-1.tar.xz) = 10a026b84415ae363b913c4e02fce8f399d33a2b +RMD160 (arx-libertatis-data-1.tar.xz) = 047fc7013e9f08dc0ed4af28ea7c36955e3959a9 +SHA512 (arx-libertatis-data-1.tar.xz) = f96bd00a51c7e8b42a8334aaa7acd8466ec6e99287ecfb1e7a0f6bfafc8f542c2798c1c7628fbca32d6c2fde91d170cf344051f7aff6761ec91ad64489d133bd +Size (arx-libertatis-data-1.tar.xz) = 1365268 bytes +SHA1 (patch-src_platform_Thread.cpp) = 628d18aec7606cad5d603454224ac41ed95eabce diff --git a/arx-libertatis-git/options.mk b/arx-libertatis-git/options.mk new file mode 100644 index 0000000000..3fc5ad2f70 --- /dev/null +++ b/arx-libertatis-git/options.mk @@ -0,0 +1,39 @@ +# $NetBSD$ + +PKG_OPTIONS_VAR= PKG_OPTIONS.arx-libertatis + +PKG_OPTIONS_REQUIRED_GROUPS= opengl sdl +PKG_OPTIONS_GROUP.opengl= epoxy glew +PKG_OPTIONS_GROUP.sdl= sdl sdl2 + +PKG_SUGGESTED_OPTIONS= epoxy sdl2 + +.include "../../mk/bsd.options.mk" + +### +### OpenGL function wrangler +### +.if !empty(PKG_OPTIONS:Mepoxy) +CMAKE_ARGS+= -D WITH_OPENGL:STRING=epoxy +.include "../../graphics/libepoxy/buildlink3.mk" +.endif + +.if !empty(PKG_OPTIONS:Mglew) +CMAKE_ARGS+= -D WITH_OPENGL:STRING=glew +.include "../../graphics/glew/buildlink3.mk" +.endif + + +### SDL implementation +### +.if !empty(PKG_OPTIONS:Msdl) +CMAKE_ARGS+= -D WITH_SDL:INT=1 +.include "../../devel/SDL/buildlink3.mk" +.endif + +.if !empty(PKG_OPTIONS:Msdl2) +CMAKE_ARGS+= -D WITH_SDL:INT=2 +.include "../../devel/SDL2/buildlink3.mk" +.endif + +# graphics/glew or graphics/libepoxy diff --git a/arx-libertatis-git/patches/patch-src_platform_Thread.cpp b/arx-libertatis-git/patches/patch-src_platform_Thread.cpp new file mode 100644 index 0000000000..86dfa5a502 --- /dev/null +++ b/arx-libertatis-git/patches/patch-src_platform_Thread.cpp @@ -0,0 +1,18 @@ +$NetBSD$ + +Fix pthread_setname_np on NetBSD + +--- src/platform/Thread.cpp.orig 2020-12-30 05:41:19.000000000 +0000 ++++ src/platform/Thread.cpp +@@ -134,7 +134,11 @@ void * Thread::entryPoint(void * param) + // Set the thread name. + #if ARX_HAVE_PTHREAD_SETNAME_NP && ARX_PLATFORM != ARX_PLATFORM_MACOS + // Linux ++# ifdef __NetBSD__ ++ pthread_setname_np(thread.m_thread, "%s", (void*)thread.m_threadName.c_str()); ++# else + pthread_setname_np(thread.m_thread, thread.m_threadName.c_str()); ++# endif + #elif ARX_HAVE_PTHREAD_SETNAME_NP && ARX_PLATFORM == ARX_PLATFORM_MACOS + // macOS + pthread_setname_np(thread.m_threadName.c_str());