Index: head/emulators/ppsspp/Makefile =================================================================== --- head/emulators/ppsspp/Makefile (revision 479259) +++ head/emulators/ppsspp/Makefile (revision 479260) @@ -1,105 +1,108 @@ # $FreeBSD$ PORTNAME= ppsspp DISTVERSIONPREFIX= v DISTVERSION?= 1.6.3 -PORTREVISION?= 2 +PORTREVISION?= 3 CATEGORIES= emulators # XXX Get from Debian once #697821 lands MASTER_SITES= https://bazaar.launchpad.net/~sergio-br2/${PORTNAME}/debian-sdl/download/5/${PORTNAME}.1-20140802045408-dd26dik367ztj5xg-8/:manpage DISTFILES= ${PORTNAME}.1:manpage EXTRACT_ONLY= ${DISTFILES:N*\:manpage:C/:.*//} PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ PATCHFILES= c783e7761c2a.patch:-p1 PATCHFILES+= f2a75719d843.patch:-p1 PATCHFILES+= 78a41980dfd7.patch:-p1 PATCHFILES+= 7a7c655615a4.patch:-p1 MAINTAINER= jbeich@FreeBSD.org COMMENT= PSP emulator in C++ with dynarec JIT for x86, ARM, MIPS LICENSE= GPLv2+ LIB_DEPENDS= libzip.so:archivers/libzip \ libsnappy.so:archivers/snappy \ libavcodec.so:multimedia/ffmpeg RUN_DEPENDS= xdg-open:devel/xdg-utils USE_GITHUB= yes GH_ACCOUNT= hrydgard GH_TUPLE?= hrydgard:glslang:2edde666:glslang/ext/glslang \ hrydgard:${PORTNAME}-lang:1153a42:lang/assets/lang \ KhronosGroup:SPIRV-Cross:90966d5:SPIRV/ext/SPIRV-Cross \ Kingcom:armips:v0.9-89-g8b4cada:armips/ext/armips \ Kingcom:tinyformat:Release-2.0.1-7-gb7f5a22:tinyformat/ext/armips/ext/tinyformat CONFLICTS_INSTALL= ${PORTNAME}-* USES= cmake:outsource compiler:c++11-lib localbase:ldflags pkgconfig EXCLUDE= libzip zlib EXTRACT_AFTER_ARGS=${EXCLUDE:S,^,--exclude ,} USE_GL= gl glew glu USE_SDL= sdl2 # joystick CMAKE_ON= USE_SYSTEM_FFMPEG USE_SYSTEM_LIBZIP SUB_FILES= pkg-message PORTDATA= assets ${PORTNAME} DESKTOP_ENTRIES="PPSSPP" \ "" \ "${PORTNAME}" \ "${PORTNAME} %f" \ "Game;Emulator;" \ "" -OPTIONS_DEFINE= OLDJOY +OPTIONS_DEFINE= OLDJOY VULKAN +OPTIONS_DEFAULT=VULKAN OPTIONS_SINGLE= GUI OPTIONS_SINGLE_GUI= QT5 SDL OPTIONS_SLAVE?= LIBRETRO SDL OPTIONS_EXCLUDE:= ${OPTIONS_SINGLE_GUI} LIBRETRO_DESC= libretro core for games/retroarch LIBRETRO_CMAKE_BOOL= LIBRETRO LIBRETRO_PLIST_FILES= lib/libretro/${PORTNAME}_libretro.so LIBRETRO_IMPLIES= SDL OLDJOY_DESC= Old joystick support with fixed button mappings (deprecated) OLDJOY_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-old-joy QT5_USES= qt:5 QT5_USE= QT=qmake_build,buildtools_build,linguisttools_build,gui,opengl,widgets QT5_CMAKE_BOOL= USING_QT_UI QT5_VARS= EXENAME=PPSSPPQt SDL_BUILD_DEPENDS= png>=1.6:graphics/png SDL_LIB_DEPENDS= libpng.so:graphics/png SDL_VARS= EXENAME=PPSSPPSDL +VULKAN_DESC= Vulkan renderer +VULKAN_RUN_DEPENDS= ${LOCALBASE}/lib/libvulkan.so:graphics/vulkan-loader post-patch: @${REINPLACE_CMD} -e 's/Linux/${OPSYS}/' \ ${WRKSRC}/assets/gamecontrollerdb.txt @${REINPLACE_CMD} -e 's,/usr/share,${PREFIX}/share,' \ ${WRKSRC}/UI/NativeApp.cpp @${REINPLACE_CMD} -e 's/"unknown"/"${GH_TAGNAME}"/' \ ${WRKSRC}/git-version.cmake do-install: # cmake doesn't pack assets into the app unlike qmake (cd ${INSTALL_WRKSRC} && ${COPYTREE_SHARE} \ "${PORTDATA:N${PORTNAME}}" ${STAGEDIR}${DATADIR}) # Install the app alongside assets to avoid warnings with GetExeDirectory() ${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/${EXENAME} \ ${STAGEDIR}${DATADIR}/${PORTNAME} ${LN} -sf ../${DATADIR_REL}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin ${INSTALL_MAN} ${_DISTDIR}/${PORTNAME}.1 \ ${STAGEDIR}${MAN1PREFIX}/man/man1 (cd ${WRKSRC}/icons && ${COPYTREE_SHARE} \ "hicolor" ${STAGEDIR}${PREFIX}/share/icons) ${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps ${INSTALL_DATA} ${WRKSRC}/icons/icon-512.svg \ ${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps/${PORTNAME}.svg do-install-LIBRETRO-on: ${MKDIR} ${STAGEDIR}${PREFIX}/${LIBRETRO_PLIST_FILES:H} ${INSTALL_LIB} ${BUILD_WRKSRC}/lib/${LIBRETRO_PLIST_FILES:T} \ ${STAGEDIR}${PREFIX}/${LIBRETRO_PLIST_FILES:H} .include Index: head/emulators/ppsspp/files/pkg-message.in =================================================================== --- head/emulators/ppsspp/files/pkg-message.in (revision 479259) +++ head/emulators/ppsspp/files/pkg-message.in (revision 479260) @@ -1,6 +1,10 @@ Known issues: - %%DATADIR%%/assets/gamecontrollerdb.txt cannot be used as is because SDL_JoystickGetGUID is a stub on FreeBSD. Create the file using controllermap (or antimicro) then check with testgamecontroller it's detected (pay attention to guid). If you have trouble making it work try OLDJOY option for v1.3 behavior. +- Vulkan support may not work on Intel iGPUs due to + https://github.com/FreeBSDDesktop/DEPRECATED-freebsd-base-graphics/issues/132 + which can be worked around by running PPSSPP as root (via sudo, doas, etc.) + after applying https://bz-attachments.freebsd.org/attachment.cgi?id=187401 Index: head/emulators/ppsspp-qt5/Makefile =================================================================== --- head/emulators/ppsspp-qt5/Makefile (revision 479259) +++ head/emulators/ppsspp-qt5/Makefile (revision 479260) @@ -1,10 +1,12 @@ # $FreeBSD$ PORTREVISION= 1 PKGNAMESUFFIX= -qt5 MASTERDIR= ${.CURDIR}/../ppsspp OPTIONS_SLAVE= QT5 +# XXX https://github.com/hrydgard/ppsspp/blob/v1.6.3/Qt/QtMain.cpp#L533-L534 +OPTIONS_EXCLUDE=VULKAN .include "${MASTERDIR}/Makefile"