OpenMW is an attempt to reimplement the popular role playing game

Morrowind. It aims to be a fully playable, open source implementation
of the game. You must own Morrowind to use OpenMW.

ok kirby@
This commit is contained in:
pascal 2015-12-27 21:55:24 +00:00
parent 8df4d552ce
commit 0992ba6e58
10 changed files with 281 additions and 0 deletions

58
games/openmw/Makefile Normal file
View File

@ -0,0 +1,58 @@
# $OpenBSD: Makefile,v 1.1.1.1 2015/12/27 21:55:24 pascal Exp $
ONLY_FOR_ARCHS = amd64 i386
COMMENT = open source implementation of TES III: Morrowind
V = 0.37.0
DISTNAME = openmw-$V
CATEGORIES = games
HOMEPAGE = https://openmw.org/en/
MAINTAINER = Pascal Stumpf <Pascal.Stumpf@cubes.de>
# GPLv3 / custom BSD-like font license / DejaVu license
PERMIT_PACKAGE_CDROM = Yes
WANTLIB += BulletCollision GL LinearMath MyGUIEngine OpenThreads
WANTLIB += QtGui QtNetwork QtOpenGL SDL2 Xt avcodec avformat avutil
WANTLIB += boost_filesystem-mt boost_program_options-mt boost_system-mt
WANTLIB += boost_thread-mt c freetype m openal osg osgAnimation
WANTLIB += osgDB osgFX osgGA osgParticle osgQt osgText osgUtil
WANTLIB += osgViewer pthread swresample swscale unshield
GH_ACCOUNT = OpenMW
GH_PROJECT = openmw
GH_TAGNAME = openmw-$V
MODULES = gcc4 devel/cmake x11/qt4
MODGCC4_ARCHS = *
MODGCC4_LANGS += c++
BUILD_DEPENDS = sysutils/e2fsprogs
LIB_DEPENDS = audio/openal \
devel/bullet \
devel/mygui \
devel/sdl2 \
graphics/ffmpeg \
graphics/openscenegraph \
archivers/unshield
RUN_DEPENDS = devel/desktop-file-utils
CONFIGURE_ARGS += -DBINDIR=${LOCALBASE}/bin \
-DDATADIR:PATH=${LOCALBASE}/share/openmw \
-DSYSCONFDIR=${PREFIX}/share/examples/openmw \
-DGLOBAL_CONFIG_PATH="${SYSCONFDIR}" \
-DCMAKE_EXE_LINKER_FLAGS="-L${X11BASE}/lib" \
-DMORROWIND_DATA_FILES="${LOCALBASE}/share/openmw/data"\
-DOPENMW_RESOURCE_FILES="${LOCALBASE}/share/openmw/resources"
NO_TEST = Yes
WRKDIST = ${WRKDIR}/openmw-openmw-$V
CFLAGS += -I${X11BASE}/include -pthread
CXXFLAGS += -I${X11BASE}/include -pthread
.include <bsd.port.mk>

2
games/openmw/distinfo Normal file
View File

@ -0,0 +1,2 @@
SHA256 (openmw-0.37.0.tar.gz) = osTdeSbPFW2ZPiCjkUwXCMnEPT+4quTBfM8D1Qvv/Cc=
SIZE (openmw-0.37.0.tar.gz) = 4118094

View File

@ -0,0 +1,22 @@
$OpenBSD: patch-apps_openmw_crashcatcher_cpp,v 1.1.1.1 2015/12/27 21:55:24 pascal Exp $
--- apps/openmw/crashcatcher.cpp.orig Sun Nov 22 19:54:17 2015
+++ apps/openmw/crashcatcher.cpp Sat Dec 26 18:01:49 2015
@@ -5,7 +5,9 @@
#include <sys/stat.h>
#include <sys/wait.h>
#include <sys/param.h>
+#ifndef __OpenBSD__
#include <sys/ucontext.h>
+#endif
#include <sys/utsname.h>
#include <string.h>
#include <errno.h>
@@ -24,7 +26,7 @@
#ifndef PR_SET_PTRACER
#define PR_SET_PTRACER 0x59616d61
#endif
-#elif defined (__APPLE__)
+#elif defined (__APPLE__) || defined(__OpenBSD__)
#include <signal.h>
#endif

View File

@ -0,0 +1,11 @@
$OpenBSD: patch-apps_wizard_CMakeLists_txt,v 1.1.1.1 2015/12/27 21:55:24 pascal Exp $
--- apps/wizard/CMakeLists.txt.orig Fri Dec 25 17:19:18 2015
+++ apps/wizard/CMakeLists.txt Fri Dec 25 17:19:36 2015
@@ -150,6 +150,6 @@ endif()
# Workaround for binutil => 2.23 problem when linking, should be fixed eventually upstream
if (UNIX AND NOT APPLE)
-target_link_libraries(openmw-wizard dl Xt)
+target_link_libraries(openmw-wizard Xt)
endif()

View File

@ -0,0 +1,13 @@
$OpenBSD: patch-components_files_fixedpath_hpp,v 1.1.1.1 2015/12/27 21:55:24 pascal Exp $
--- components/files/fixedpath.hpp.orig Sun Nov 22 19:54:17 2015
+++ components/files/fixedpath.hpp Fri Dec 25 16:37:04 2015
@@ -4,7 +4,8 @@
#include <string>
#include <boost/filesystem.hpp>
-#if defined(__linux__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+#if defined(__linux__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) \
+ || defined(__OpenBSD__)
#ifndef ANDROID
#include <components/files/linuxpath.hpp>
namespace Files { typedef LinuxPath TargetPathType; }

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-components_files_linuxpath_cpp,v 1.1.1.1 2015/12/27 21:55:24 pascal Exp $
--- components/files/linuxpath.cpp.orig Sun Nov 22 19:54:17 2015
+++ components/files/linuxpath.cpp Fri Dec 25 16:37:29 2015
@@ -1,6 +1,7 @@
#include "linuxpath.hpp"
-#if defined(__linux__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+#if defined(__linux__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) \
+ || defined(__OpenBSD__)
#include <cstdlib>
#include <cstring>

View File

@ -0,0 +1,13 @@
$OpenBSD: patch-components_files_linuxpath_hpp,v 1.1.1.1 2015/12/27 21:55:24 pascal Exp $
--- components/files/linuxpath.hpp.orig Sun Nov 22 19:54:17 2015
+++ components/files/linuxpath.hpp Fri Dec 25 16:37:56 2015
@@ -1,7 +1,8 @@
#ifndef COMPONENTS_FILES_LINUXPATH_H
#define COMPONENTS_FILES_LINUXPATH_H
-#if defined(__linux__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+#if defined(__linux__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) \
+ || defined(__OpenBSD__)
#include <boost/filesystem.hpp>

3
games/openmw/pkg/DESCR Normal file
View File

@ -0,0 +1,3 @@
OpenMW is an attempt to reimplement the popular role playing game
Morrowind. It aims to be a fully playable, open source implementation
of the game. You must own Morrowind to use OpenMW.

129
games/openmw/pkg/PLIST Normal file
View File

@ -0,0 +1,129 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2015/12/27 21:55:24 pascal Exp $
@bin bin/bsatool
@bin bin/esmtool
@bin bin/openmw
@bin bin/openmw-cs
@bin bin/openmw-essimporter
@bin bin/openmw-iniimporter
@bin bin/openmw-launcher
@bin bin/openmw-wizard
share/appdata/
share/appdata/openmw.appdata.xml
share/applications/openmw-cs.desktop
share/applications/openmw.desktop
share/doc/pkg-readmes/${FULLPKGNAME}
share/examples/openmw/
@sample ${SYSCONFDIR}/openmw/
share/examples/openmw/gamecontrollerdb.txt
@sample ${SYSCONFDIR}/openmw/gamecontrollerdb.txt
share/examples/openmw/opencs.ini
@sample ${SYSCONFDIR}/openmw/opencs.ini
share/examples/openmw/openmw.cfg
@sample ${SYSCONFDIR}/openmw/openmw.cfg
share/examples/openmw/settings-default.cfg
@sample ${SYSCONFDIR}/openmw/settings-default.cfg
share/examples/openmw/version
@sample ${SYSCONFDIR}/openmw/version
share/licenses/
share/licenses/openmw/
share/licenses/openmw/DejaVu Font License.txt
share/openmw/
share/openmw/data/
share/openmw/resources/
share/openmw/resources/defaultfilters
share/openmw/resources/mygui/
share/openmw/resources/mygui/DejaVuLGCSansMono.ttf
share/openmw/resources/mygui/OpenMWResourcePlugin.xml
share/openmw/resources/mygui/core.skin
share/openmw/resources/mygui/core.xml
share/openmw/resources/mygui/core_layouteditor.xml
share/openmw/resources/mygui/openmw.png
share/openmw/resources/mygui/openmw_alchemy_window.layout
share/openmw/resources/mygui/openmw_book.layout
share/openmw/resources/mygui/openmw_box.skin.xml
share/openmw/resources/mygui/openmw_button.skin.xml
share/openmw/resources/mygui/openmw_chargen_birth.layout
share/openmw/resources/mygui/openmw_chargen_class.layout
share/openmw/resources/mygui/openmw_chargen_class_description.layout
share/openmw/resources/mygui/openmw_chargen_create_class.layout
share/openmw/resources/mygui/openmw_chargen_generate_class_result.layout
share/openmw/resources/mygui/openmw_chargen_race.layout
share/openmw/resources/mygui/openmw_chargen_review.layout
share/openmw/resources/mygui/openmw_chargen_select_attribute.layout
share/openmw/resources/mygui/openmw_chargen_select_skill.layout
share/openmw/resources/mygui/openmw_chargen_select_specialization.layout
share/openmw/resources/mygui/openmw_companion_window.layout
share/openmw/resources/mygui/openmw_confirmation_dialog.layout
share/openmw/resources/mygui/openmw_console.layout
share/openmw/resources/mygui/openmw_console.skin.xml
share/openmw/resources/mygui/openmw_container_window.layout
share/openmw/resources/mygui/openmw_count_window.layout
share/openmw/resources/mygui/openmw_debug_window.layout
share/openmw/resources/mygui/openmw_debug_window.skin.xml
share/openmw/resources/mygui/openmw_dialogue_window.layout
share/openmw/resources/mygui/openmw_dialogue_window.skin.xml
share/openmw/resources/mygui/openmw_edit.skin.xml
share/openmw/resources/mygui/openmw_edit_effect.layout
share/openmw/resources/mygui/openmw_edit_note.layout
share/openmw/resources/mygui/openmw_enchanting_dialog.layout
share/openmw/resources/mygui/openmw_font.xml
share/openmw/resources/mygui/openmw_hud.layout
share/openmw/resources/mygui/openmw_hud_box.skin.xml
share/openmw/resources/mygui/openmw_hud_energybar.skin.xml
share/openmw/resources/mygui/openmw_infobox.layout
share/openmw/resources/mygui/openmw_interactive_messagebox.layout
share/openmw/resources/mygui/openmw_inventory_window.layout
share/openmw/resources/mygui/openmw_itemselection_dialog.layout
share/openmw/resources/mygui/openmw_jail_screen.layout
share/openmw/resources/mygui/openmw_journal.layout
share/openmw/resources/mygui/openmw_journal.skin.xml
share/openmw/resources/mygui/openmw_layers.xml
share/openmw/resources/mygui/openmw_levelup_dialog.layout
share/openmw/resources/mygui/openmw_list.skin.xml
share/openmw/resources/mygui/openmw_loading_screen.layout
share/openmw/resources/mygui/openmw_magicselection_dialog.layout
share/openmw/resources/mygui/openmw_mainmenu.layout
share/openmw/resources/mygui/openmw_mainmenu.skin.xml
share/openmw/resources/mygui/openmw_map_window.layout
share/openmw/resources/mygui/openmw_map_window.skin.xml
share/openmw/resources/mygui/openmw_merchantrepair.layout
share/openmw/resources/mygui/openmw_messagebox.layout
share/openmw/resources/mygui/openmw_persuasion_dialog.layout
share/openmw/resources/mygui/openmw_pointer.xml
share/openmw/resources/mygui/openmw_progress.skin.xml
share/openmw/resources/mygui/openmw_quickkeys_menu.layout
share/openmw/resources/mygui/openmw_quickkeys_menu_assign.layout
share/openmw/resources/mygui/openmw_recharge_dialog.layout
share/openmw/resources/mygui/openmw_repair.layout
share/openmw/resources/mygui/openmw_resources.xml
share/openmw/resources/mygui/openmw_savegame_dialog.layout
share/openmw/resources/mygui/openmw_screen_fader.layout
share/openmw/resources/mygui/openmw_screen_fader_hit.layout
share/openmw/resources/mygui/openmw_scroll.layout
share/openmw/resources/mygui/openmw_scroll.skin.xml
share/openmw/resources/mygui/openmw_settings.xml
share/openmw/resources/mygui/openmw_settings_window.layout
share/openmw/resources/mygui/openmw_spell_buying_window.layout
share/openmw/resources/mygui/openmw_spell_window.layout
share/openmw/resources/mygui/openmw_spellcreation_dialog.layout
share/openmw/resources/mygui/openmw_stats_window.layout
share/openmw/resources/mygui/openmw_text.skin.xml
share/openmw/resources/mygui/openmw_text_input.layout
share/openmw/resources/mygui/openmw_tooltips.layout
share/openmw/resources/mygui/openmw_trade_window.layout
share/openmw/resources/mygui/openmw_trainingwindow.layout
share/openmw/resources/mygui/openmw_travel_window.layout
share/openmw/resources/mygui/openmw_wait_dialog.layout
share/openmw/resources/mygui/openmw_wait_dialog_progressbar.layout
share/openmw/resources/mygui/openmw_windows.skin.xml
share/openmw/resources/mygui/skins.xml
share/openmw/resources/shaders/
share/openmw/resources/shaders/water_fragment.glsl
share/openmw/resources/shaders/water_nm.png
share/openmw/resources/shaders/water_vertex.glsl
share/openmw/resources/version
share/pixmaps/
share/pixmaps/openmw-cs.png
share/pixmaps/openmw.png
@exec %D/bin/update-desktop-database
@unexec-delete %D/bin/update-desktop-database

18
games/openmw/pkg/README Normal file
View File

@ -0,0 +1,18 @@
$OpenBSD: README,v 1.1.1.1 2015/12/27 21:55:24 pascal Exp $
+-----------------------------------------------------------------------
| Running ${FULLPKGNAME} on OpenBSD
+-----------------------------------------------------------------------
You must legally own and install Morrowind before you can use OpenMW as
it is intended - to play Morrowind. OpenMW is a reimplementation of the
technical aspects of the game only. It does not come with any "content"
- namely the art, game data, and other copyrighted material that you
need to play the game as designed by Bethesda Softworks. You have to
provide this content yourself by installing Morrowind and then
configuring OpenMW to use the existing installation.
Mount the original CD if you have it or, if you have an ISO image, read
vnconfig(8) for instructions to mount it. After you have mounted either
disk or its image you need to run openmw-wizard and point it to the
correct path.