diff --git a/games/openmw/Makefile b/games/openmw/Makefile new file mode 100644 index 00000000000..e75292922d7 --- /dev/null +++ b/games/openmw/Makefile @@ -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 + +# 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 diff --git a/games/openmw/distinfo b/games/openmw/distinfo new file mode 100644 index 00000000000..ba6f4320453 --- /dev/null +++ b/games/openmw/distinfo @@ -0,0 +1,2 @@ +SHA256 (openmw-0.37.0.tar.gz) = osTdeSbPFW2ZPiCjkUwXCMnEPT+4quTBfM8D1Qvv/Cc= +SIZE (openmw-0.37.0.tar.gz) = 4118094 diff --git a/games/openmw/patches/patch-apps_openmw_crashcatcher_cpp b/games/openmw/patches/patch-apps_openmw_crashcatcher_cpp new file mode 100644 index 00000000000..5a76acf2970 --- /dev/null +++ b/games/openmw/patches/patch-apps_openmw_crashcatcher_cpp @@ -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 + #include + #include ++#ifndef __OpenBSD__ + #include ++#endif + #include + #include + #include +@@ -24,7 +26,7 @@ + #ifndef PR_SET_PTRACER + #define PR_SET_PTRACER 0x59616d61 + #endif +-#elif defined (__APPLE__) ++#elif defined (__APPLE__) || defined(__OpenBSD__) + #include + #endif + diff --git a/games/openmw/patches/patch-apps_wizard_CMakeLists_txt b/games/openmw/patches/patch-apps_wizard_CMakeLists_txt new file mode 100644 index 00000000000..41179fb188b --- /dev/null +++ b/games/openmw/patches/patch-apps_wizard_CMakeLists_txt @@ -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() + diff --git a/games/openmw/patches/patch-components_files_fixedpath_hpp b/games/openmw/patches/patch-components_files_fixedpath_hpp new file mode 100644 index 00000000000..f686e7131e7 --- /dev/null +++ b/games/openmw/patches/patch-components_files_fixedpath_hpp @@ -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 + #include + +-#if defined(__linux__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) ++#if defined(__linux__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) \ ++ || defined(__OpenBSD__) + #ifndef ANDROID + #include + namespace Files { typedef LinuxPath TargetPathType; } diff --git a/games/openmw/patches/patch-components_files_linuxpath_cpp b/games/openmw/patches/patch-components_files_linuxpath_cpp new file mode 100644 index 00000000000..1bcbb3cb80e --- /dev/null +++ b/games/openmw/patches/patch-components_files_linuxpath_cpp @@ -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 + #include diff --git a/games/openmw/patches/patch-components_files_linuxpath_hpp b/games/openmw/patches/patch-components_files_linuxpath_hpp new file mode 100644 index 00000000000..4a82ee1ad5c --- /dev/null +++ b/games/openmw/patches/patch-components_files_linuxpath_hpp @@ -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 + diff --git a/games/openmw/pkg/DESCR b/games/openmw/pkg/DESCR new file mode 100644 index 00000000000..18ce68fa732 --- /dev/null +++ b/games/openmw/pkg/DESCR @@ -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. diff --git a/games/openmw/pkg/PLIST b/games/openmw/pkg/PLIST new file mode 100644 index 00000000000..a1cd4d0c251 --- /dev/null +++ b/games/openmw/pkg/PLIST @@ -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 diff --git a/games/openmw/pkg/README b/games/openmw/pkg/README new file mode 100644 index 00000000000..78e475e0bba --- /dev/null +++ b/games/openmw/pkg/README @@ -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.