Index: head/emulators/higan/Makefile =================================================================== --- head/emulators/higan/Makefile (revision 438162) +++ head/emulators/higan/Makefile (revision 438163) @@ -1,121 +1,105 @@ # Created by: elbarto # $FreeBSD$ PORTNAME= higan -PORTVERSION= 0.94 -PORTREVISION= 5 +PORTVERSION= 102 CATEGORIES= emulators -MASTER_SITES= http://byuu.org/files/ \ +MASTER_SITES= http://download.byuu.org/ \ http://www.cyberbotx.com/higan/ -DISTNAME= ${PORTNAME}_v${PORTVERSION:S/.//}-source +DISTNAME= ${PORTNAME}_v${PORTVERSION}-source MAINTAINER= cyberbotx@cyberbotx.com COMMENT= Nintendo multi-system emulator -USES= compiler:c++11-lib gmake pkgconfig tar:xz +USES= 7z:p7zip compiler:c++14-lang gmake pkgconfig USE_LDCONFIG= yes +USE_XORG= x11 xext +USE_CSTD= c99 +USE_CXXSTD= c++14 +USE_GCC= yes +MAKEFILE= GNUmakefile ONLY_FOR_ARCHS= i386 amd64 -MAKE_ENV+= compiler="${CXX}" cflags="-x c -std=c99 ${CFLAGS}" \ - cppflags="-x c++ -std=c++11 ${CXXFLAGS}" +MAKE_ENV+= compiler="${CXX}" OPTIONS_DEFINE= DEBUG -OPTIONS_SINGLE= PROFILE GUI -OPTIONS_SINGLE_PROFILE= ACCURACY BALANCED PERFORMANCE +OPTIONS_SINGLE= GUI OPTIONS_SINGLE_GUI= GTK2 QT4 OPTIONS_MULTI= VIDEO SOUND INPUT OPTIONS_MULTI_VIDEO= GLX SDL XSHM XV OPTIONS_MULTI_SOUND= AO OPENAL OSS PULSEAUDIO OPTIONS_MULTI_INPUT= INPUT_SDL INPUT_X -OPTIONS_DEFAULT= BALANCED GTK2 GLX XSHM XV SDL \ +OPTIONS_DEFAULT= GTK2 GLX XSHM XV SDL \ OSS INPUT_SDL INPUT_X -ACCURACY_DESC= Use accuracy profile -BALANCED_DESC= Use balanced profile -PERFORMANCE_DESC= Use performance profile -GTK2_DESC= Build with GTK+2 GUI -QT4_DESC= Build with QT4 GUI -GLX_DESC= Build GLX video driver -SDL_DESC= Build SDL video driver XSHM_DESC= Build XShm video driver XV_DESC= Build Xv video driver -AO_DESC= Build AO sound driver -OPENAL_DESC= Build OpenAL sound driver -OSS_DESC= Build OSS sound driver -PULSEAUDIO_DESC= Build Pulseaudio sound driver INPUT_SDL_DESC= Build SDL input driver INPUT_X_DESC= Build X input driver -ACCURACY_MAKE_ENV= profile="accuracy" -BALANCED_MAKE_ENV= profile="balanced" -PERFORMANCE_MAKE_ENV= profile="performance" +GTK2_LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \ + libfreetype.so:print/freetype2 +GTK2_MAKE_ENV= hiro="gtk" +GTK2_USE= GNOME=cairo,gdkpixbuf2,gtk20,gtksourceview2 +GTK2_USES= gettext -GTK2_USE= GNOME=gtk20 -GTK2_MAKE_ENV= phoenix="gtk" +QT4_MAKE_ENV= hiro="qt" +QT4_USE= QT4=corelib,gui,moc_build -QT4_USE= QT4=gui,moc_build -QT4_MAKE_ENV= phoenix="qt" - GLX_USE= GL=gl GLX_VARS= VIDEO_DRIVER+=video.glx SDL_USE= XORG=xv SDL=sdl SDL_VARS= VIDEO_DRIVER+=video.sdl XSHM_USE= XORG=xext XSHM_VARS= VIDEO_DRIVER+=video.xshm XV_USE= XORG=xv XV_VARS= VIDEO_DRIVER+=video.xv AO_LIB_DEPENDS= libao.so:audio/libao AO_VARS= AUDIO_DRIVER+=audio.ao OPENAL_USES= openal:al OPENAL_VARS= AUDIO_DRIVER+=audio.openal OSS_VARS= AUDIO_DRIVER+=audio.oss PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio PULSEAUDIO_VARS= AUDIO_DRIVER+=audio.pulseaudio INPUT_SDL_USE= SDL=sdl INPUT_SDL_VARS= INPUT_DRIVER+=input.sdl INPUT_X_VARS= INPUT_DRIVER+=input.xlib post-patch: ${REINPLACE_CMD} \ -e 's|%%VIDEO%%|${VIDEO_DRIVER}|' \ -e 's|%%AUDIO%%|${AUDIO_DRIVER}|' \ -e 's|%%INPUT%%|${INPUT_DRIVER}|' \ - ${WRKSRC}/target-ethos/Makefile + ${WRKSRC}/higan/target-tomoko/GNUmakefile ${REINPLACE_CMD} -e 's|/usr/share/|${PREFIX}/share/|' \ - ${WRKSRC}/nall/string/platform.hpp + ${WRKSRC}/nall/path.hpp post-patch-DEBUG-on: ${REINPLACE_CMD} -e 's|-O3|-g|g' \ - ${WRKSRC}/ananke/Makefile \ - ${WRKSRC}/Makefile - ${REINPLACE_CMD} -e 's|:= -s|:= #|g' \ - ${WRKSRC}/Makefile + ${WRKSRC}/higan/GNUmakefile \ + ${WRKSRC}/icarus/GNUmakefile -pre-build-QT4-on: - (cd ${WRKSRC}/phoenix/qt && ${MOC} -i -o platform.moc platform.moc.hpp) - do-build: -.for d in . ananke - (cd ${WRKSRC}/${d} && ${MAKE_CMD} ${MAKE_ENV}) +.for d in higan icarus + @${DO_MAKE_BUILD} ${ALL_TARGET} -C${WRKSRC}/${d} .endfor do-install: - ${INSTALL_LIB} ${WRKSRC}/ananke/libananke.so ${STAGEDIR}${PREFIX}/lib/libananke.so.1 - ${LN} -sf libananke.so.1 ${STAGEDIR}${PREFIX}/lib/libananke.so - ${INSTALL_PROGRAM} ${WRKSRC}/out/higan ${STAGEDIR}${PREFIX}/bin/ - ${INSTALL_DATA} ${WRKSRC}/data/higan.png ${STAGEDIR}${PREFIX}/share/pixmaps/ - ${INSTALL_DATA} ${WRKSRC}/data/higan.desktop ${STAGEDIR}${PREFIX}/share/applications/ - ${MKDIR} ${STAGEDIR}${DATADIR}/shaders - (cd ${WRKSRC}/profile && ${COPYTREE_SHARE} \* ${STAGEDIR}${DATADIR}/) - (cd ${WRKSRC}/shaders && ${COPYTREE_SHARE} \*.shader ${STAGEDIR}${DATADIR}/shaders/) + ${INSTALL_PROGRAM} ${WRKSRC}/higan/out/higan ${STAGEDIR}${PREFIX}/bin/ + ${INSTALL_PROGRAM} ${WRKSRC}/icarus/out/icarus ${STAGEDIR}${PREFIX}/bin/ + ${INSTALL_DATA} ${WRKSRC}/higan/data/higan.png ${STAGEDIR}${PREFIX}/share/pixmaps/ + ${INSTALL_DATA} ${WRKSRC}/higan/data/higan.desktop ${STAGEDIR}${PREFIX}/share/applications/ + (cd ${WRKSRC}/higan/systems && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/) + ${INSTALL_DATA} ${WRKSRC}/higan/data/cheats.bml ${STAGEDIR}${DATADIR}/ + (cd ${WRKSRC}/icarus/Database && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/share/icarus/Database/) .include Index: head/emulators/higan/distinfo =================================================================== --- head/emulators/higan/distinfo (revision 438162) +++ head/emulators/higan/distinfo (revision 438163) @@ -1,2 +1,3 @@ -SHA256 (higan_v094-source.tar.xz) = 5e149df9d50c1066eb97c0d66665428d75304da782bba5a87078b87fc311151b -SIZE (higan_v094-source.tar.xz) = 882732 +TIMESTAMP = 1489861177 +SHA256 (higan_v102-source.7z) = 52dadcf2ec5cfab0952e2948cc8acb4883b3996458bce4ecb3995830bb1699f1 +SIZE (higan_v102-source.7z) = 1246258 Index: head/emulators/higan/files/patch-ruby__video__glx.cpp =================================================================== --- head/emulators/higan/files/patch-ruby__video__glx.cpp (revision 438162) +++ head/emulators/higan/files/patch-ruby__video__glx.cpp (nonexistent) @@ -1,31 +0,0 @@ ---- ruby/video/glx.cpp.orig 2014-01-20 06:37:14 UTC -+++ ruby/video/glx.cpp -@@ -128,6 +128,28 @@ struct pVideoGLX : OpenGL { - //require GLX 1.2+ API - if(glx.version_major < 1 || (glx.version_major == 1 && glx.version_minor < 2)) return false; - -+ int major, minor; -+ const char *version = (const char *) glGetString (GL_VERSION); -+ const char *dot = version == NULL ? NULL : strchr (version, '.'); -+ const char *major_start = dot; -+ -+ /* Sanity check */ -+ if (dot == NULL || dot == version || *(dot + 1) == '\0') { -+ major = 0; -+ minor = 0; -+ } else { -+ /* Find the start of the major version in the string */ -+ while (major_start > version && *major_start != ' ') -+ --major_start; -+ major = strtol (major_start, NULL, 10); -+ minor = strtol (dot + 1, NULL, 0); -+ } -+ -+ if(major < 3 || (major == 3 && minor < 2)) { -+ printf("Error: OpenGL 3.2 is not available. Select another video driver on the Advanced Configuration tab and restart higan.\n"); -+ return false; -+ } -+ - XWindowAttributes window_attributes; - XGetWindowAttributes(display, settings.handle, &window_attributes); - Property changes on: head/emulators/higan/files/patch-ruby__video__glx.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/emulators/higan/files/patch-target-ethos_utility_utility.cpp =================================================================== --- head/emulators/higan/files/patch-target-ethos_utility_utility.cpp (revision 438162) +++ head/emulators/higan/files/patch-target-ethos_utility_utility.cpp (nonexistent) @@ -1,11 +0,0 @@ ---- target-ethos/utility/utility.cpp.orig 2013-12-21 07:00:03 UTC -+++ target-ethos/utility/utility.cpp -@@ -203,7 +203,7 @@ void Utility::updateShader() { - video.set(Video::Filter, Video::FilterLinear); - } else if(config->video.shader == "Display Emulation") { - if(program->active) { -- string pathname = program->path("Video Shaders/"); -+ string pathname = program->path("shaders/"); - pathname.append("Display Emulation/"); - pathname.append(presentation->systemName, ".shader/"); - if(directory::exists(pathname)) { Property changes on: head/emulators/higan/files/patch-target-ethos_utility_utility.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/emulators/higan/files/patch-target-ethos_general_presentation.cpp =================================================================== --- head/emulators/higan/files/patch-target-ethos_general_presentation.cpp (revision 438162) +++ head/emulators/higan/files/patch-target-ethos_general_presentation.cpp (nonexistent) @@ -1,11 +0,0 @@ ---- target-ethos/general/presentation.cpp.orig 2013-12-06 20:19:40 UTC -+++ target-ethos/general/presentation.cpp -@@ -235,7 +235,7 @@ void Presentation::bootstrap() { - void Presentation::loadShaders() { - //only the OpenGL driver has video shader support - if(config->video.driver == "OpenGL") { -- string pathname = program->path("Video Shaders/"); -+ string pathname = program->path("shaders/"); - lstring shaders = directory::folders(pathname, "*.shader"); - for(auto& name : shaders) { - auto shader = new RadioItem; Property changes on: head/emulators/higan/files/patch-target-ethos_general_presentation.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/emulators/higan/files/patch-target-ethos-Makefile =================================================================== --- head/emulators/higan/files/patch-target-ethos-Makefile (revision 438162) +++ head/emulators/higan/files/patch-target-ethos-Makefile (nonexistent) @@ -1,15 +0,0 @@ ---- target-ethos/Makefile.orig 2014-01-13 05:26:29 UTC -+++ target-ethos/Makefile -@@ -27,9 +27,9 @@ else ifeq ($(platform),linux) - ruby += audio.alsa audio.openal audio.oss audio.pulseaudio audio.pulseaudiosimple audio.ao - ruby += input.udev input.sdl input.x - else ifeq ($(platform),bsd) -- ruby := video.glx -- ruby += audio.openal audio.oss -- ruby += input.x -+ ruby := %%VIDEO%% -+ ruby += %%AUDIO%% -+ ruby += %%INPUT%% - endif - - # phoenix Property changes on: head/emulators/higan/files/patch-target-ethos-Makefile ___________________________________________________________________ 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/emulators/higan/files/patch-nall-platform.hpp =================================================================== --- head/emulators/higan/files/patch-nall-platform.hpp (revision 438162) +++ head/emulators/higan/files/patch-nall-platform.hpp (nonexistent) @@ -1,11 +0,0 @@ ---- nall/platform.hpp.orig 2014-01-20 06:37:12 UTC -+++ nall/platform.hpp -@@ -41,7 +41,7 @@ namespace Math { - #undef interface - #define dllexport __declspec(dllexport) - #else -- #include -+ #include - #include - #include - #define dllexport Property changes on: head/emulators/higan/files/patch-nall-platform.hpp ___________________________________________________________________ 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/emulators/higan/files/patch-higan_target-tomoko_GNUmakefile =================================================================== --- head/emulators/higan/files/patch-higan_target-tomoko_GNUmakefile (nonexistent) +++ head/emulators/higan/files/patch-higan_target-tomoko_GNUmakefile (revision 438163) @@ -0,0 +1,15 @@ +--- higan/target-tomoko/GNUmakefile.orig 2016-01-14 03:20:56 UTC ++++ higan/target-tomoko/GNUmakefile +@@ -27,9 +27,9 @@ else ifeq ($(platform),linux) + ruby += audio.alsa audio.openal audio.oss audio.pulseaudio audio.pulseaudiosimple audio.ao + ruby += input.udev input.sdl input.xlib + else ifeq ($(platform),bsd) +- ruby += video.glx video.xv video.xshm video.sdl +- ruby += audio.openal audio.oss +- ruby += input.sdl input.xlib ++ ruby += %%VIDEO%% ++ ruby += %%AUDIO%% ++ ruby += %%INPUT%% + endif + + # ruby Property changes on: head/emulators/higan/files/patch-higan_target-tomoko_GNUmakefile ___________________________________________________________________ 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/emulators/higan/files/patch-higan_target-tomoko_presentation_presentation.cpp =================================================================== --- head/emulators/higan/files/patch-higan_target-tomoko_presentation_presentation.cpp (nonexistent) +++ head/emulators/higan/files/patch-higan_target-tomoko_presentation_presentation.cpp (revision 438163) @@ -0,0 +1,11 @@ +--- higan/target-tomoko/presentation/presentation.cpp.orig 2017-01-13 17:52:31 UTC ++++ higan/target-tomoko/presentation/presentation.cpp +@@ -278,7 +278,7 @@ auto Presentation::toggleFullScreen() -> + } + + auto Presentation::loadShaders() -> void { +- auto pathname = locate("Video Shaders/"); ++ auto pathname = locateShared("Video Shaders/"); + + if(settings["Video/Driver"].text() == "OpenGL") { + for(auto shader : directory::folders(pathname, "*.shader")) { Property changes on: head/emulators/higan/files/patch-higan_target-tomoko_presentation_presentation.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/emulators/higan/files/patch-higan_target-tomoko_program_medium.cpp =================================================================== --- head/emulators/higan/files/patch-higan_target-tomoko_program_medium.cpp (nonexistent) +++ head/emulators/higan/files/patch-higan_target-tomoko_program_medium.cpp (revision 438163) @@ -0,0 +1,11 @@ +--- higan/target-tomoko/program/medium.cpp.orig 2017-01-13 10:43:46 UTC ++++ higan/target-tomoko/program/medium.cpp +@@ -17,7 +17,7 @@ auto Program::loadMedium() -> void { + auto Program::loadMedium(Emulator::Interface& interface, const Emulator::Interface::Medium& medium) -> void { + unloadMedium(); + +- mediumPaths.append(locate({medium.name, ".sys/"})); ++ mediumPaths.append(locateShared({medium.name, ".sys/"})); + + Emulator::audio.reset(2, audio->get(Audio::Frequency).get(44100)); + inputManager->bind(emulator = &interface); Property changes on: head/emulators/higan/files/patch-higan_target-tomoko_program_medium.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/emulators/higan/files/patch-higan_target-tomoko_tomoko.cpp =================================================================== --- head/emulators/higan/files/patch-higan_target-tomoko_tomoko.cpp (nonexistent) +++ head/emulators/higan/files/patch-higan_target-tomoko_tomoko.cpp (revision 438163) @@ -0,0 +1,23 @@ +--- higan/target-tomoko/tomoko.cpp.orig 2016-07-01 08:21:27 UTC ++++ higan/target-tomoko/tomoko.cpp +@@ -4,6 +4,20 @@ unique_pointer