svn commit: r407417 - in head/games: . slade slade/files
Alexey Dokuchaev
danfe at FreeBSD.org
Thu Jan 28 20:04:53 UTC 2016
Author: danfe
Date: Thu Jan 28 20:04:51 2016
New Revision: 407417
URL: https://svnweb.freebsd.org/changeset/ports/407417
Log:
- Add a port of SLADE3, a Doom editor
- Bring COMMENT in `games/Makefile' closer to reality
WWW: http://slade.mancubus.net/
Added:
head/games/slade/
head/games/slade/Makefile (contents, props changed)
head/games/slade/distinfo (contents, props changed)
head/games/slade/files/
head/games/slade/files/patch-src_AudioEntryPanel.cpp (contents, props changed)
head/games/slade/files/patch-src_AudioEntryPanel.h (contents, props changed)
head/games/slade/files/patch-src_CMakeLists.txt (contents, props changed)
head/games/slade/pkg-descr (contents, props changed)
Modified:
head/games/Makefile
Modified: head/games/Makefile
==============================================================================
--- head/games/Makefile Thu Jan 28 17:53:21 2016 (r407416)
+++ head/games/Makefile Thu Jan 28 20:04:51 2016 (r407417)
@@ -1,7 +1,7 @@
# $FreeBSD$
#
- COMMENT = Games
+ COMMENT = Games and related software
SUBDIR += 0ad
SUBDIR += 0verkill
@@ -893,6 +893,7 @@
SUBDIR += sjeng
SUBDIR += ski
SUBDIR += sl
+ SUBDIR += slade
SUBDIR += slashem-tty
SUBDIR += slump
SUBDIR += slune
Added: head/games/slade/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/games/slade/Makefile Thu Jan 28 20:04:51 2016 (r407417)
@@ -0,0 +1,36 @@
+# Created by: Alexey Dokuchaev <danfe at FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= slade
+DISTVERSION= 3.1.1_b2
+CATEGORIES= games
+
+MAINTAINER= danfe at FreeBSD.org
+COMMENT= Modern editor for Doom-engine based games and source ports
+
+BUILD_DEPENDS= zip:${PORTSDIR}/archivers/zip
+LIB_DEPENDS= libfluidsynth.so:${PORTSDIR}/audio/fluidsynth \
+ libsfml-system.so:${PORTSDIR}/devel/sfml \
+ libftgl.so:${PORTSDIR}/graphics/ftgl \
+ libfreeimage.so:${PORTSDIR}/graphics/freeimage
+
+USE_GITHUB= yes
+GH_ACCOUNT= sirjuddington
+GH_PROJECT= ${PORTNAME:tu}
+
+USES= cmake compiler:c++11-lib pkgconfig
+USE_WX= 3.0+
+USE_CXXSTD= c++11
+
+PLIST_FILES= bin/slade share/slade3/slade.pk3
+
+post-patch:
+ @${REINPLACE_CMD} -e 's,"alsa","oss",' ${WRKSRC}/src/MIDIPlayer.cpp
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
+ @${MKDIR} ${STAGEDIR}${PREFIX}/share/${PORTNAME}3
+ ${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.pk3 \
+ ${STAGEDIR}${PREFIX}/share/${PORTNAME}3
+
+.include <bsd.port.mk>
Added: head/games/slade/distinfo
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/games/slade/distinfo Thu Jan 28 20:04:51 2016 (r407417)
@@ -0,0 +1,2 @@
+SHA256 (sirjuddington-SLADE-3.1.1_b2_GH0.tar.gz) = 5c8d64c69db0369e5c2b64ee04fab29fb5bdbe5d6200cff864f38e098bcf4cbe
+SIZE (sirjuddington-SLADE-3.1.1_b2_GH0.tar.gz) = 4386679
Added: head/games/slade/files/patch-src_AudioEntryPanel.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/games/slade/files/patch-src_AudioEntryPanel.cpp Thu Jan 28 20:04:51 2016 (r407417)
@@ -0,0 +1,132 @@
+--- src/AudioEntryPanel.cpp.orig 2015-12-12 08:41:35 UTC
++++ src/AudioEntryPanel.cpp
+@@ -89,15 +89,17 @@ AudioEntryPanel::AudioEntryPanel(wxWindo
+ LOG_MESSAGE(3, "Windows Media Player installed, using wxMediaCtrl");
+ media_ctrl = new wxMediaCtrl(this, -1);
+ }
+-#else
++#elif wxUSE_MEDIACTRL
+ // Create wxMediaCtrl
+ media_ctrl = new wxMediaCtrl(this, -1);
++#else
++ LOG_MESSAGE(1, "wxWidgets is built without media support, MP3 playback disabled.");
+ #endif
+
+ // Setup sizer
+ wxGridBagSizer* sizer_gb = new wxGridBagSizer(4, 4);
+ sizer_main->AddStretchSpacer();
+-#ifndef __WXOSX__
++#if wxUSE_MEDIACTRL && !defined(__WXOSX__)
+ if (media_ctrl) sizer_main->Add(media_ctrl, 0);
+ #endif
+ sizer_main->Add(sizer_gb, 0, wxALIGN_CENTER);
+@@ -144,13 +146,17 @@ AudioEntryPanel::AudioEntryPanel(wxWindo
+ sound.setVolume(snd_volume);
+ music.setVolume(snd_volume);
+ theMIDIPlayer->setVolume(snd_volume);
++#if wxUSE_MEDIACTRL
+ if (media_ctrl) media_ctrl->SetVolume(snd_volume*0.01);
++#endif
+ mod.setVolume(snd_volume);
+ //theGMEPlayer->setVolume(snd_volume);
+ //theOPLPlayer->setVolume(snd_volume);
+
+ // Disable general entrypanel buttons
++#if wxUSE_MEDIACTRL
+ if (media_ctrl) media_ctrl->Show(false);
++#endif
+ toolbar->Show(false);
+
+ // Bind events
+@@ -497,6 +503,7 @@ bool AudioEntryPanel::openMod(MemChunk&
+ *******************************************************************/
+ bool AudioEntryPanel::openMedia(string filename)
+ {
++#if wxUSE_MEDIACTRL
+ // Attempt to open with wxMediaCtrl
+ if (media_ctrl && media_ctrl->Load(filename))
+ {
+@@ -511,6 +518,7 @@ bool AudioEntryPanel::openMedia(string f
+
+ return true;
+ }
++#endif
+
+ return false;
+ }
+@@ -533,8 +541,10 @@ void AudioEntryPanel::startStream()
+ mod.play(); break;
+ case AUTYPE_MIDI:
+ theMIDIPlayer->play(); break;
++#if wxUSE_MEDIACTRL
+ case AUTYPE_MEDIA:
+ if (media_ctrl) media_ctrl->Play(); break;
++#endif
+ }
+ }
+
+@@ -553,8 +563,10 @@ void AudioEntryPanel::stopStream()
+ mod.pause(); break;
+ case AUTYPE_MIDI:
+ theMIDIPlayer->pause(); break;
++#if wxUSE_MEDIACTRL
+ case AUTYPE_MEDIA:
+ if (media_ctrl) media_ctrl->Pause(); break;
++#endif
+ }
+ }
+
+@@ -574,8 +586,10 @@ void AudioEntryPanel::resetStream()
+ mod.stop(); break;
+ case AUTYPE_MIDI:
+ theMIDIPlayer->stop(); break;
++#if wxUSE_MEDIACTRL
+ case AUTYPE_MEDIA:
+ if (media_ctrl) media_ctrl->Stop(); break;
++#endif
+ }
+ }
+
+@@ -757,8 +771,10 @@ void AudioEntryPanel::onTimer(wxTimerEve
+ pos = mod.getPlayingOffset().asMilliseconds(); break;
+ case AUTYPE_MIDI:
+ pos = theMIDIPlayer->getPosition(); break;
++#if wxUSE_MEDIACTRL
+ case AUTYPE_MEDIA:
+ if (media_ctrl) pos = media_ctrl->Tell(); break;
++#endif
+ }
+
+ // Set slider
+@@ -769,7 +785,9 @@ void AudioEntryPanel::onTimer(wxTimerEve
+ (audio_type == AUTYPE_SOUND && sound.getStatus() == sf::Sound::Stopped) ||
+ (audio_type == AUTYPE_MUSIC && music.getStatus() == sf::Sound::Stopped) ||
+ (audio_type == AUTYPE_MOD && mod.getStatus() == sf::Sound::Stopped) ||
++#if wxUSE_MEDIACTRL
+ (audio_type == AUTYPE_MEDIA && media_ctrl && media_ctrl->GetState() == wxMEDIASTATE_STOPPED) ||
++#endif
+ (audio_type == AUTYPE_MIDI && theMIDIPlayer && !theMIDIPlayer->isPlaying()))
+ {
+ timer_seek->Stop();
+@@ -793,8 +811,10 @@ void AudioEntryPanel::onSliderSeekChange
+ mod.setPlayingOffset(sf::milliseconds(slider_seek->GetValue())); break;
+ case AUTYPE_MIDI:
+ theMIDIPlayer->setPosition(slider_seek->GetValue()); break;
++#if wxUSE_MEDIACTRL
+ case AUTYPE_MEDIA:
+ if (media_ctrl) media_ctrl->Seek(slider_seek->GetValue()); break;
++#endif
+ }
+ }
+
+@@ -813,8 +833,10 @@ void AudioEntryPanel::onSliderVolumeChan
+ music.setVolume(snd_volume); break;
+ case AUTYPE_MIDI:
+ theMIDIPlayer->setVolume(snd_volume); break;
++#if wxUSE_MEDIACTRL
+ case AUTYPE_MEDIA:
+ if (media_ctrl) media_ctrl->SetVolume(snd_volume*0.01); break;
++#endif
+ case AUTYPE_MOD:
+ mod.setVolume(snd_volume); break;
+ }
Added: head/games/slade/files/patch-src_AudioEntryPanel.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/games/slade/files/patch-src_AudioEntryPanel.h Thu Jan 28 20:04:51 2016 (r407417)
@@ -0,0 +1,12 @@
+--- src/AudioEntryPanel.h.orig 2015-12-12 08:41:35 UTC
++++ src/AudioEntryPanel.h
+@@ -27,7 +27,9 @@ private:
+ wxSlider* slider_seek;
+ wxSlider* slider_volume;
+ wxTimer* timer_seek;
++#if wxUSE_MEDIACTRL
+ wxMediaCtrl* media_ctrl;
++#endif
+ wxStaticText* txt_title;
+ wxStaticText* txt_track;
+ wxTextCtrl* txt_info;
Added: head/games/slade/files/patch-src_CMakeLists.txt
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/games/slade/files/patch-src_CMakeLists.txt Thu Jan 28 20:04:51 2016 (r407417)
@@ -0,0 +1,27 @@
+--- src/CMakeLists.txt.orig 2015-12-12 08:41:35 UTC
++++ src/CMakeLists.txt
+@@ -6,6 +6,14 @@ find_package(wxWidgets 3.0 COMPONENTS st
+ endif (USE_WEBVIEW_STARTPAGE)
+ include(${wxWidgets_USE_FILE})
+
++# Work around find_package(wxWidgets...) inability to detect absence of some
++# optional components (e.g., media)
++find_library(WX_MEDIA wx_gtk2u_media-3.0)
++if (NOT WX_MEDIA)
++ message(STATUS "wx_gtk2u_media-3.0 not found, removing from wxWidgets_LIBRARIES.")
++ list(REMOVE_ITEM wxWidgets_LIBRARIES -lwx_gtk2u_media-3.0)
++endif(NOT WX_MEDIA)
++
+ if (USE_SFML_RENDERWINDOW)
+ set(SFML_FIND_COMPONENTS system audio window graphics)
+ ADD_DEFINITIONS(-DUSE_SFML_RENDERWINDOW)
+@@ -57,7 +65,8 @@ endif()
+ if(NOT ${GLEW_FOUND})
+ message(SEND_ERROR "GLEW required.")
+ endif()
+-include_directories(${FREEIMAGE_INCLUDE_DIR} ${SFML_INCLUDE_DIR} ${FTGL_INCLUDE_DIR} ${FREETYPE_INCLUDE_DIRS} ${GLEW_INCLUDE_PATH} ${GTK2_INCLUDE_DIRS} . ./dumb)
++# Put local `dumb' directory first to avoid conflict with `audio/dumb' port
++include_directories(dumb ${FREEIMAGE_INCLUDE_DIR} ${SFML_INCLUDE_DIR} ${FTGL_INCLUDE_DIR} ${FREETYPE_INCLUDE_DIRS} ${GLEW_INCLUDE_PATH} ${GTK2_INCLUDE_DIRS} .)
+
+ if (NOT NO_FLUIDSYNTH)
+ include_directories(${FLUIDSYNTH_INCLUDE_DIR})
Added: head/games/slade/pkg-descr
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/games/slade/pkg-descr Thu Jan 28 20:04:51 2016 (r407417)
@@ -0,0 +1,13 @@
+SLADE3 is a modern editor for Doom-engine based games and source ports.
+It has the ability to view, modify, and write many different game-specific
+formats, and even convert between some of them, or from/to other generic
+formats such as PNG.
+
+SLADE3 can be considered a successor to both SLumpEd and SLADE. Some of
+its features:
+
+ - Basic archive/resource editing (create/open/save, import/export)
+ - Simple tabbed interface with copy/paste support
+ - Many supported game formats (ZIP/PK3, Quake PAK/WAD2, etc.)
+
+WWW: http://slade.mancubus.net/
More information about the svn-ports-head
mailing list