Index: head/games/vavoom/Makefile =================================================================== --- head/games/vavoom/Makefile (revision 437874) +++ head/games/vavoom/Makefile (revision 437875) @@ -1,123 +1,101 @@ # Created by: Igor Pokrovsky # $FreeBSD$ PORTNAME= vavoom PORTVERSION= 1.33 -PORTREVISION= 10 +PORTREVISION= 11 CATEGORIES= games MASTER_SITES= SF/${PORTNAME}/Vavoom-source/${PORTVERSION} MAINTAINER= bar@FreeBSD.org COMMENT= Doom, Doom II, Heretic, Hexen, and Strife source port LICENSE= GPLv2 LIB_DEPENDS= libpng.so:graphics/png USES= cmake dos2unix jpeg tar:bzip2 +# Force GCC because llvm (starting from 4.0) generates +# non working binary for vcc +USE_GCC= yes DOS2UNIX_REGEX= ((.*\.(c|cpp|h|s|asm|inc|vc|ls|acs|cfg|txt|vs|mak|mgw"))$$|\/(makefile\..*|makefile|Makefile)$$) -OPTIONS_DEFINE= FLAC LAUNCHER MAD MIKMOD OPENAL OPTIMIZED_CFLAGS VORBIS SDL DOCS +# Removed LAUNCHER because it segfaults +#OPTIONS_DEFINE= FLAC LAUNCHER MAD MIKMOD OPENAL OPTIMIZED_CFLAGS VORBIS SDL DOCS +OPTIONS_DEFINE= FLAC MAD MIKMOD OPENAL OPTIMIZED_CFLAGS VORBIS SDL DOCS OPTIONS_DEFAULT= OPENGL SDL -LAUNCHER_DESC= Build GUI launcher +#LAUNCHER_DESC= Build GUI launcher OPENAL_DESC= Enable OpenAL support SDL_DESC= Use SDL for OpenGL support SUB_FILES= pkg-message -.include - # The `-fno-strict-aliasing' flag (default on FreeBSD 6.0+) produces # non-working code for `vcc', so we remove it here if present. CFLAGS:= ${CFLAGS:N-fno-strict-aliasing} CXXFLAGS:= ${CFLAGS:N-fno-strict-aliasing} -.if ${PORT_OPTIONS:MFLAC} -LIB_DEPENDS+= libFLAC.so:audio/flac -CMAKE_ARGS+= -DWITH_FLAC=Y -.else -CMAKE_ARGS+= -DWITH_FLAC=N -.endif +OPTIONS_SUB= yes -.if ${PORT_OPTIONS:MLAUNCHER} -USE_WX= 2.8+ -WX_UNICODE= yes -CMAKE_ARGS+= -DENABLE_LAUNCHER=Y \ - -DwxWidgets_CONFIG_EXECUTABLE="${WX_CONFIG}" -PLIST_SUB+= LAUNCHER="" -.else -CMAKE_ARGS+= -DENABLE_LAUNCHER=N -PLIST_SUB+= LAUNCHER="@comment " -.endif +FLAC_LIB_DEPENDS= libFLAC.so:audio/flac +FLAC_CMAKE_ON= -DWITH_FLAC:BOOL=ON +FLAC_CMAKE_OFF= -DWITH_FLAC:BOOL=OFF -.if ${PORT_OPTIONS:MMAD} -LIB_DEPENDS+= libmad.so:audio/libmad -CMAKE_ARGS+= -DWITH_LIBMAD=Y -.else -CMAKE_ARGS+= -DWITH_LIBMAD=N -.endif +# Removed LAUNCHER because it segfaults - check also pkg-plist +#LAUNCHER_USE= WX=2.8+ +#LAUNCHER_CMAKE_ON= -DENABLE_LAUNCHER:BOOL=ON \ +# -DwxWidgets_CONFIG_EXECUTABLE="${WX_CONFIG}" +#LAUNCHER_CMAKE_OFF= -DENABLE_LAUNCHER:BOOL=OFF +# Force disable LAUNCHER +CMAKE_ARGS+= -DENABLE_LAUNCHER:BOOL=OFF -.if ${PORT_OPTIONS:MMIKMOD} -LIB_DEPENDS+= libmikmod.so:audio/libmikmod -CMAKE_ARGS+= -DWITH_MIKMOD=Y -.else -CMAKE_ARGS+= -DWITH_MIKMOD=N -.endif +MAD_LIB_DEPENDS= libmad.so:audio/libmad +MAD_CMAKE_ON= -DWITH_LIBMAD:BOOL=ON +MAD_CMAKE_OFF= -DWITH_LIBMAD:BOOL=OFF -.if ${PORT_OPTIONS:MOPENAL} -USES+= openal:al -CMAKE_ARGS+= -DWITH_OPENAL=Y -.else -CMAKE_ARGS+= -DWITH_OPENAL=N -.endif +MIKMOD_LIB_DEPENDS= libmikmod.so:audio/libmikmod +MIKMOD_CMAKE_ON= -DWITH_MIKMOD:BOOL=ON +MIKMOD_CMAKE_OFF= -DWITH_MIKMOD:BOOL=OFF -.if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS} -CFLAGS+= -O3 -ffast-math -fomit-frame-pointer -.endif +OPENAL_USES= openal:al +OPENAL_CMAKE_ON= -DWITH_OPENAL:BOOL=ON +OPENAL_CMAKE_OFF= -DWITH_OPENAL:BOOL=OFF -.if ${PORT_OPTIONS:MVORBIS} -LIB_DEPENDS+= libvorbis.so:audio/libvorbis -CMAKE_ARGS+= -DWITH_VORBIS=Y -.else -CMAKE_ARGS+= -DWITH_VORBIS=N -.endif +VORBIS_LIB_DEPENDS= libvorbis.so:audio/libvorbis +VORBIS_CMAKE_ON= -DWITH_VORBIS:BOOL=ON +VORBIS_CMAKE_OFF= -DWITH_VORBIS:BOOL=OFF -.if ${PORT_OPTIONS:MSDL} -USE_SDL= mixer sdl -CMAKE_ARGS+= -DWITH_SDL=Y -USE_GL= yes -CMAKE_ARGS+= -DWITH_OPENGL=Y -.else -CMAKE_ARGS+= -DWITH_SDL=N -CMAKE_ARGS+= -DWITH_OPENGL=N -.endif +SDL_USE= SDL=mixer,sdl GL=yes +SDL_CMAKE_ON= -DWITH_SDL:BOOL=ON -DWITH_OPENGL:BOOL=ON +SDL_CMAKE_OFF= -DWITH_SDL:BOOL=OFF -DWITH_OPENGL:BOOL=OFF -.if ${PORT_OPTIONS:MWXUNICODE} -.endif +OPTIMIZED_CFLAGS_CFLAGS= -O3 -ffast-math -fomit-frame-pointer + +.include post-patch: @${REINPLACE_CMD} -e 's|$$\* ||; s|$${IWADDIR}|-iwaddir ${DMDIR} $$*|' \ ${WRKSRC}/source/CMakeLists.txt @${REINPLACE_CMD} -e 's///' \ ${WRKSRC}/utils/acc/parse.c @${REINPLACE_CMD} -e 's///' \ ${WRKSRC}/utils/acc/strlist.c post-configure: .if ${PORT_OPTIONS:MLAUNCHER} @${REINPLACE_CMD} -e 's/-pthread;-D_THREAD_SAFE //; \ s/-isystem /-I/g' \ ${WRKSRC}/utils/vlaunch/CMakeFiles/vlaunch.dir/flags.make .endif post-install: .if ${PORT_OPTIONS:MDOCS} ${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/docs/vavoom.txt ${STAGEDIR}${DOCSDIR} .endif ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/vavoom.bin ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/vavoom-dedicated.bin .include "${PORTSDIR}/games/doom-data/Makefile.include" .include Index: head/games/vavoom/files/patch-utils__vlaunch__vlaunch.cpp =================================================================== --- head/games/vavoom/files/patch-utils__vlaunch__vlaunch.cpp (revision 437874) +++ head/games/vavoom/files/patch-utils__vlaunch__vlaunch.cpp (nonexistent) @@ -1,78 +0,0 @@ ---- utils/vlaunch/vlaunch.cpp.orig 2011-01-01 12:51:56.000000000 +0100 -+++ utils/vlaunch/vlaunch.cpp 2012-12-24 00:17:28.000000000 +0100 -@@ -145,7 +145,7 @@ - wxNotebook* nbook = new wxNotebook(panel, -1, wxPoint(0, 105), wxSize(447, 270)); - mainsizer->Add(nbook); - -- wxPanel* page = new wxPanel(nbook); -+ wxScrolledWindow* page = new wxScrolledWindow(nbook); - nbook->AddPage(page, wxT("Main")); - wxFlexGridSizer* gsizer = new wxFlexGridSizer(2); - -@@ -185,12 +185,17 @@ - gsizer->Add(EditMisc, 0, wxALL, 4); - page->SetSizer(gsizer); - gsizer->Layout(); -+ gsizer->FitInside(page); -+ page->SetScrollRate(10, 10); - - // Video options -- page = new wxPanel(nbook); -+ page = new wxScrolledWindow(nbook); - nbook->AddPage(page, wxT("Video")); - wxFlexGridSizer* vsizer = new wxFlexGridSizer(2); - -+ vsizer->Add(new wxStaticText(page, -1, wxT(" ")), 0, wxALL, 4); -+ vsizer->Add(new wxStaticText(page, -1, wxT(" ")), 0, wxALL, 4); -+ - vsizer->Add(new wxStaticText(page, -1, wxT("Renderer:")), 0, wxALL, 4); - wxString RendChoices[2]; - RendChoices[0] = wxT("OpenGL"); -@@ -237,9 +242,11 @@ - vsizer->Add(Particles, 0, wxALL, 4); - page->SetSizer(vsizer); - vsizer->Layout(); -+ vsizer->FitInside(page); -+ page->SetScrollRate(10, 10); - - // Sound options -- page = new wxPanel(nbook); -+ page = new wxScrolledWindow(nbook); - nbook->AddPage(page, wxT("Sound")); - wxFlexGridSizer* ssizer = new wxFlexGridSizer(2); - -@@ -272,9 +279,11 @@ - ssizer->Add(PatchFiles, 0, wxALL, 4); - page->SetSizer(ssizer); - ssizer->Layout(); -+ ssizer->FitInside(page); -+ page->SetScrollRate(10, 10); - - // Input options -- page = new wxPanel(nbook); -+ page = new wxScrolledWindow(nbook); - nbook->AddPage(page, wxT("Input")); - wxFlexGridSizer* isizer = new wxFlexGridSizer(2); - -@@ -297,9 +306,11 @@ - isizer->Add(MouseY, 0, wxALL, 4); - page->SetSizer(isizer); - isizer->Layout(); -+ isizer->FitInside(page); -+ page->SetScrollRate(10, 10); - - // Network options -- page = new wxPanel(nbook); -+ page = new wxScrolledWindow(nbook); - nbook->AddPage(page, wxT("Network")); - gsizer = new wxFlexGridSizer(2); - gsizer->AddSpacer(1); -@@ -331,6 +342,8 @@ - gsizer->Add(EditMasterIPAddress, 0, wxALL, 4); - page->SetSizer(gsizer); - gsizer->Layout(); -+ gsizer->FitInside(page); -+ page->SetScrollRate(10, 10); - - wxBoxSizer* bsizer = new wxBoxSizer(wxHORIZONTAL); - bsizer->Add(new wxButton(panel, VLaunch_Run, wxT("Run")), 0, wxALL, 4); Property changes on: head/games/vavoom/files/patch-utils__vlaunch__vlaunch.cpp ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/games/vavoom/files/patch-utils_vlaunch_vlaunch.cpp =================================================================== --- head/games/vavoom/files/patch-utils_vlaunch_vlaunch.cpp (nonexistent) +++ head/games/vavoom/files/patch-utils_vlaunch_vlaunch.cpp (revision 437875) @@ -0,0 +1,78 @@ +--- utils/vlaunch/vlaunch.cpp.orig 2011-01-01 12:51:56.000000000 +0100 ++++ utils/vlaunch/vlaunch.cpp 2017-04-06 16:15:41.198381000 +0200 +@@ -145,7 +145,7 @@ + wxNotebook* nbook = new wxNotebook(panel, -1, wxPoint(0, 105), wxSize(447, 270)); + mainsizer->Add(nbook); + +- wxPanel* page = new wxPanel(nbook); ++ wxScrolledWindow* page = new wxScrolledWindow(nbook); + nbook->AddPage(page, wxT("Main")); + wxFlexGridSizer* gsizer = new wxFlexGridSizer(2); + +@@ -185,12 +185,17 @@ + gsizer->Add(EditMisc, 0, wxALL, 4); + page->SetSizer(gsizer); + gsizer->Layout(); ++ gsizer->FitInside(page); ++ page->SetScrollRate(10, 10); + + // Video options +- page = new wxPanel(nbook); ++ page = new wxScrolledWindow(nbook); + nbook->AddPage(page, wxT("Video")); + wxFlexGridSizer* vsizer = new wxFlexGridSizer(2); + ++ vsizer->Add(new wxStaticText(page, -1, wxT(" ")), 0, wxALL, 4); ++ vsizer->Add(new wxStaticText(page, -1, wxT(" ")), 0, wxALL, 4); ++ + vsizer->Add(new wxStaticText(page, -1, wxT("Renderer:")), 0, wxALL, 4); + wxString RendChoices[2]; + RendChoices[0] = wxT("OpenGL"); +@@ -237,9 +242,11 @@ + vsizer->Add(Particles, 0, wxALL, 4); + page->SetSizer(vsizer); + vsizer->Layout(); ++ vsizer->FitInside(page); ++ page->SetScrollRate(10, 10); + + // Sound options +- page = new wxPanel(nbook); ++ page = new wxScrolledWindow(nbook); + nbook->AddPage(page, wxT("Sound")); + wxFlexGridSizer* ssizer = new wxFlexGridSizer(2); + +@@ -272,9 +279,11 @@ + ssizer->Add(PatchFiles, 0, wxALL, 4); + page->SetSizer(ssizer); + ssizer->Layout(); ++ ssizer->FitInside(page); ++ page->SetScrollRate(10, 10); + + // Input options +- page = new wxPanel(nbook); ++ page = new wxScrolledWindow(nbook); + nbook->AddPage(page, wxT("Input")); + wxFlexGridSizer* isizer = new wxFlexGridSizer(2); + +@@ -297,9 +306,11 @@ + isizer->Add(MouseY, 0, wxALL, 4); + page->SetSizer(isizer); + isizer->Layout(); ++ isizer->FitInside(page); ++ page->SetScrollRate(10, 10); + + // Network options +- page = new wxPanel(nbook); ++ page = new wxScrolledWindow(nbook); + nbook->AddPage(page, wxT("Network")); + gsizer = new wxFlexGridSizer(2); + gsizer->AddSpacer(1); +@@ -331,6 +342,8 @@ + gsizer->Add(EditMasterIPAddress, 0, wxALL, 4); + page->SetSizer(gsizer); + gsizer->Layout(); ++ gsizer->FitInside(page); ++ page->SetScrollRate(10, 10); + + wxBoxSizer* bsizer = new wxBoxSizer(wxHORIZONTAL); + bsizer->Add(new wxButton(panel, VLaunch_Run, wxT("Run")), 0, wxALL, 4); Property changes on: head/games/vavoom/files/patch-utils_vlaunch_vlaunch.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/games/vavoom/files/pkg-message.in =================================================================== --- head/games/vavoom/files/pkg-message.in (revision 437874) +++ head/games/vavoom/files/pkg-message.in (revision 437875) @@ -1,17 +1,20 @@ ============================================================================== Vavoom has been installed. There are 2 wrapper scripts: "vavoom" and "vavoom-dedicated", calling the real executables (suffixed with ".bin") from the data directory, and using the common WAD directory. +If you have extra WAD files, specify the full path of the containing directory +as the first argument of the wrapper script. To run in OpenGL mode add the "-opengl" parameter, and "-openal" for OpenAL. If you want to install enhanced textures, models or soundtracks use the "games/vavoom-extras" port. Note that textures require OPENGL and soundtracks need VORBIS (build options). -If you enabled LAUNCHER (build option), run "vlaunch" for a launcher GUI. +Refer to %%DOCSDIR%%/vavoom.txt for other options such as +game selection, network options and so on. ============================================================================== Index: head/games/vavoom/pkg-plist =================================================================== --- head/games/vavoom/pkg-plist (revision 437874) +++ head/games/vavoom/pkg-plist (revision 437875) @@ -1,21 +1,21 @@ bin/vavoom bin/vavoom.bin bin/vavoom-dedicated bin/vavoom-dedicated.bin -%%LAUNCHER%%bin/vlaunch +@comment %%LAUNCHER%%bin/vlaunch %%PORTDOCS%%%%DOCSDIR%%/vavoom.txt %%DATADIR%%/basev/common/basepak.pk3 %%DATADIR%%/basev/doom/basepak.pk3 %%DATADIR%%/basev/doom1/base.txt %%DATADIR%%/basev/doom1/basepak.pk3 %%DATADIR%%/basev/doom2/base.txt %%DATADIR%%/basev/doom2/basepak.pk3 %%DATADIR%%/basev/games.txt %%DATADIR%%/basev/heretic/basepak.pk3 %%DATADIR%%/basev/hexen/basepak.pk3 %%DATADIR%%/basev/plutonia/base.txt %%DATADIR%%/basev/plutonia/basepak.pk3 %%DATADIR%%/basev/strife/basepak.pk3 %%DATADIR%%/basev/tnt/base.txt %%DATADIR%%/basev/tnt/basepak.pk3 %%DATADIR%%/vavoom.png