aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLorenzo Salvadore <salvadore@FreeBSD.org>2023-11-18 12:02:56 +0000
committerLorenzo Salvadore <salvadore@FreeBSD.org>2023-12-06 15:01:49 +0000
commit597ca5a01e3893880470afdd10a9cc4a0cdaa93a (patch)
tree48a1ee54d0dc0228bbc3c1ad01287bc948abb814
parent3f31601987ad8342671d2ff71b2515760e50b85a (diff)
downloadports-597ca5a01e3893880470afdd10a9cc4a0cdaa93a.tar.gz
ports-597ca5a01e3893880470afdd10a9cc4a0cdaa93a.zip
emulators/higan: Update to v110
Moreover, - Switch to USE_GITHUB, since the sources are now available only there. - Replace WWW with the GitHub repository link, since the site in WWW does not exist anymore. - Change default sound option from OSS to OPENAL: OSS does not work. - Do not require GCC anymore. PR: 273678 Approved by: Naram Qashat <cyberbotx@cyberbotx.com> (maintainer)
-rw-r--r--emulators/higan/Makefile40
-rw-r--r--emulators/higan/distinfo6
-rw-r--r--emulators/higan/files/patch-higan_GNUmakefile10
-rw-r--r--emulators/higan/files/patch-higan_target-tomoko_GNUmakefile15
-rw-r--r--emulators/higan/files/patch-higan_target-tomoko_presentation_presentation.cpp11
-rw-r--r--emulators/higan/files/patch-higan_target-tomoko_program_medium.cpp11
-rw-r--r--emulators/higan/files/patch-higan_target-tomoko_tomoko.cpp23
-rw-r--r--emulators/higan/files/patch-higan_target-tomoko_tomoko.hpp8
-rw-r--r--emulators/higan/files/patch-higan_target-tomoko_tools_cheat-database.cpp11
-rw-r--r--emulators/higan/files/patch-icarus_core_core.cpp35
-rw-r--r--emulators/higan/files/patch-icarus_icarus.cpp23
-rw-r--r--emulators/higan/pkg-plist35
12 files changed, 41 insertions, 187 deletions
diff --git a/emulators/higan/Makefile b/emulators/higan/Makefile
index ca16f7cd8ace..37e3518c56ad 100644
--- a/emulators/higan/Makefile
+++ b/emulators/higan/Makefile
@@ -1,29 +1,32 @@
PORTNAME= higan
-PORTVERSION= 106
-PORTREVISION= 12
+DISTVERSIONPREFIX= v
+DISTVERSION= 110
CATEGORIES= emulators games
-MASTER_SITES= http://download.byuu.org/ \
- http://www.cyberbotx.com/higan/
-DISTNAME= ${PORTNAME}_v${PORTVERSION}-source
MAINTAINER= cyberbotx@cyberbotx.com
COMMENT= Nintendo multi-system emulator
-WWW= http://byuu.org/higan/
+WWW= https://github.com/higan-emu/higan
+
+LICENSE= GPLv3+
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
ONLY_FOR_ARCHS= amd64 i386 powerpc powerpc64 powerpc64le
LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
- libfreetype.so:print/freetype2
+ libfreetype.so:print/freetype2 \
+ libharfbuzz.so:print/harfbuzz
-USES= 7z compiler:c++14-lang gettext gmake gnome pkgconfig xorg
+USES= compiler:c++14-lang gettext gmake gnome pkgconfig xorg
USE_GNOME= cairo gdkpixbuf2 gtk20 gtksourceview2
-USE_XORG= x11 xext
+USE_XORG= x11 xext xrandr
USE_CSTD= c99
USE_CXXSTD= c++14
-USE_GCC= yes
+
+USE_GITHUB= yes
+GH_ACCOUNT= higan-emu
MAKEFILE= GNUmakefile
-MAKE_ENV= compiler="${CXX}" hiro="gtk"
+MAKE_ENV= compiler="${CXX}" hiro="gtk2"
OPTIONS_DEFINE= DEBUG
OPTIONS_MULTI= VIDEO SOUND INPUT
@@ -31,7 +34,7 @@ OPTIONS_MULTI_VIDEO= GLX SDL XSHM XV
OPTIONS_MULTI_SOUND= AO OPENAL OSS PULSEAUDIO
OPTIONS_MULTI_INPUT= INPUT_SDL INPUT_X
OPTIONS_DEFAULT= GLX XSHM XV SDL \
- OSS INPUT_SDL INPUT_X
+ OPENAL INPUT_SDL INPUT_X
XSHM_DESC= Build XShm video driver
XV_DESC= Build Xv video driver
@@ -43,7 +46,7 @@ GLX_USE= GL=gl
GLX_VARS= VIDEO_DRIVER+=video.glx
SDL_USES= sdl
-SDL_USE= XORG=xv SDL=sdl
+SDL_USE= XORG=xv SDL=sdl2
SDL_VARS= VIDEO_DRIVER+=video.sdl
XSHM_USE= XORG=xext
@@ -70,11 +73,6 @@ 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}/higan/target-tomoko/GNUmakefile
${REINPLACE_CMD} -e 's|/usr/share/|${PREFIX}/share/|' \
${WRKSRC}/nall/path.hpp
@@ -91,9 +89,9 @@ do-build:
do-install:
${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/target-higan/resource/higan.png ${STAGEDIR}${PREFIX}/share/pixmaps/
+ ${INSTALL_DATA} ${WRKSRC}/higan/target-higan/resource/higan.desktop ${STAGEDIR}${PREFIX}/share/applications/
+ (cd ${WRKSRC}/higan/System && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/)
(cd ${WRKSRC}/icarus/Database && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/share/icarus/Database/)
.include <bsd.port.mk>
diff --git a/emulators/higan/distinfo b/emulators/higan/distinfo
index f976c88f3721..2338ce694466 100644
--- a/emulators/higan/distinfo
+++ b/emulators/higan/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1516118942
-SHA256 (higan_v106-source.7z) = 6564f91f232040c46c052de763dc139e94005e0f2376959fdacbb6ccd3fd6d18
-SIZE (higan_v106-source.7z) = 830639
+TIMESTAMP = 1700308663
+SHA256 (higan-emu-higan-v110_GH0.tar.gz) = 18457ac2608ab548983c3266ae38e6397d1801773969a796a672e2d9c56c69c5
+SIZE (higan-emu-higan-v110_GH0.tar.gz) = 1661896
diff --git a/emulators/higan/files/patch-higan_GNUmakefile b/emulators/higan/files/patch-higan_GNUmakefile
deleted file mode 100644
index 86cf95a2f544..000000000000
--- a/emulators/higan/files/patch-higan_GNUmakefile
+++ /dev/null
@@ -1,10 +0,0 @@
---- higan/GNUmakefile.orig 2020-02-08 23:13:45 UTC
-+++ higan/GNUmakefile
-@@ -26,7 +26,6 @@ else ifneq ($(filter $(platform),linux bsd),)
- flags += -fopenmp
- link += -fopenmp
- ifeq ($(binary),application)
-- flags += -march=native
- link += -Wl,-export-dynamic
- link += -lX11 -lXext
- else ifeq ($(binary),library)
diff --git a/emulators/higan/files/patch-higan_target-tomoko_GNUmakefile b/emulators/higan/files/patch-higan_target-tomoko_GNUmakefile
deleted file mode 100644
index 1b8131a40d9d..000000000000
--- a/emulators/higan/files/patch-higan_target-tomoko_GNUmakefile
+++ /dev/null
@@ -1,15 +0,0 @@
---- higan/target-tomoko/GNUmakefile.orig 2017-09-23 21:35:23 UTC
-+++ higan/target-tomoko/GNUmakefile
-@@ -30,9 +30,9 @@ else ifeq ($(platform),linux)
- ruby += audio.oss audio.alsa audio.openal audio.pulseaudio audio.pulseaudiosimple audio.ao
- ruby += input.sdl input.xlib input.udev
- else ifeq ($(platform),bsd)
-- ruby += video.glx video.xvideo video.xshm video.sdl
-- ruby += audio.oss audio.openal
-- ruby += input.sdl input.xlib
-+ ruby += %%VIDEO%%
-+ ruby += %%AUDIO%%
-+ ruby += %%INPUT%%
- endif
-
- # ruby
diff --git a/emulators/higan/files/patch-higan_target-tomoko_presentation_presentation.cpp b/emulators/higan/files/patch-higan_target-tomoko_presentation_presentation.cpp
deleted file mode 100644
index bc30b6dc349c..000000000000
--- a/emulators/higan/files/patch-higan_target-tomoko_presentation_presentation.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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")) {
diff --git a/emulators/higan/files/patch-higan_target-tomoko_program_medium.cpp b/emulators/higan/files/patch-higan_target-tomoko_program_medium.cpp
deleted file mode 100644
index 6c898cd0f699..000000000000
--- a/emulators/higan/files/patch-higan_target-tomoko_program_medium.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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<uint>(44100));
- inputManager->bind(emulator = &interface);
diff --git a/emulators/higan/files/patch-higan_target-tomoko_tomoko.cpp b/emulators/higan/files/patch-higan_target-tomoko_tomoko.cpp
deleted file mode 100644
index e3790ab98982..000000000000
--- a/emulators/higan/files/patch-higan_target-tomoko_tomoko.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
---- higan/target-tomoko/tomoko.cpp.orig 2016-07-01 08:21:27 UTC
-+++ higan/target-tomoko/tomoko.cpp
-@@ -4,6 +4,20 @@ unique_pointer<Audio> audio;
- unique_pointer<Input> input;
- Emulator::Interface* emulator = nullptr;
-
-+auto locateShared(string name) -> string {
-+ string location = {Path::program(), name};
-+ if(inode::exists(location)) return location;
-+
-+ location = {Path::shared(), "higan/", name};
-+ if(inode::exists(location)) return location;
-+
-+ location = {Path::config(), "higan/", name};
-+ if(inode::exists(location)) return location;
-+
-+ directory::create({Path::local(), "higan/"});
-+ return {Path::local(), "higan/", name};
-+}
-+
- auto locate(string name) -> string {
- string location = {Path::program(), name};
- if(inode::exists(location)) return location;
diff --git a/emulators/higan/files/patch-higan_target-tomoko_tomoko.hpp b/emulators/higan/files/patch-higan_target-tomoko_tomoko.hpp
deleted file mode 100644
index 4ba140a1b1d0..000000000000
--- a/emulators/higan/files/patch-higan_target-tomoko_tomoko.hpp
+++ /dev/null
@@ -1,8 +0,0 @@
---- higan/target-tomoko/tomoko.hpp.orig 2017-01-11 11:35:22 UTC
-+++ higan/target-tomoko/tomoko.hpp
-@@ -18,4 +18,5 @@ extern Emulator::Interface* emulator;
- #include "tools/tools.hpp"
- #include "presentation/presentation.hpp"
-
-+auto locateShared(string name) -> string;
- auto locate(string name) -> string;
diff --git a/emulators/higan/files/patch-higan_target-tomoko_tools_cheat-database.cpp b/emulators/higan/files/patch-higan_target-tomoko_tools_cheat-database.cpp
deleted file mode 100644
index 30fa5b7f3eee..000000000000
--- a/emulators/higan/files/patch-higan_target-tomoko_tools_cheat-database.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- higan/target-tomoko/tools/cheat-database.cpp.orig 2016-05-03 22:40:39 UTC
-+++ higan/target-tomoko/tools/cheat-database.cpp
-@@ -18,7 +18,7 @@ auto CheatDatabase::findCodes() -> void
- if(!emulator) return;
- auto sha256 = emulator->sha256();
-
-- auto contents = string::read(locate("cheats.bml"));
-+ auto contents = string::read(locateShared("cheats.bml"));
- auto document = BML::unserialize(contents);
-
- for(auto cartridge : document.find("cartridge")) {
diff --git a/emulators/higan/files/patch-icarus_core_core.cpp b/emulators/higan/files/patch-icarus_core_core.cpp
deleted file mode 100644
index afb1a98de642..000000000000
--- a/emulators/higan/files/patch-icarus_core_core.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
---- icarus/core/core.cpp.orig 2017-01-23 13:51:10 UTC
-+++ icarus/core/core.cpp
-@@ -1,18 +1,18 @@
- Icarus::Icarus() {
-- database.famicom = BML::unserialize(string::read(locate("Database/Famicom.bml")));
-- database.superFamicom = BML::unserialize(string::read(locate("Database/Super Famicom.bml")));
-- database.masterSystem = BML::unserialize(string::read(locate("Database/Master System.bml")));
-- database.megaDrive = BML::unserialize(string::read(locate("Database/Mega Drive.bml")));
-- database.pcEngine = BML::unserialize(string::read(locate("Database/PC Engine.bml")));
-- database.superGrafx = BML::unserialize(string::read(locate("Database/SuperGrafx.bml")));
-- database.gameBoy = BML::unserialize(string::read(locate("Database/Game Boy.bml")));
-- database.gameBoyColor = BML::unserialize(string::read(locate("Database/Game Boy Color.bml")));
-- database.gameBoyAdvance = BML::unserialize(string::read(locate("Database/Game Boy Advance.bml")));
-- database.gameGear = BML::unserialize(string::read(locate("Database/Game Gear.bml")));
-- database.wonderSwan = BML::unserialize(string::read(locate("Database/WonderSwan.bml")));
-- database.wonderSwanColor = BML::unserialize(string::read(locate("Database/WonderSwan Color.bml")));
-- database.bsMemory = BML::unserialize(string::read(locate("Database/BS Memory.bml")));
-- database.sufamiTurbo = BML::unserialize(string::read(locate("Database/Sufami Turbo.bml")));
-+ database.famicom = BML::unserialize(string::read(locateShared("Database/Famicom.bml")));
-+ database.superFamicom = BML::unserialize(string::read(locateShared("Database/Super Famicom.bml")));
-+ database.masterSystem = BML::unserialize(string::read(locateShared("Database/Master System.bml")));
-+ database.megaDrive = BML::unserialize(string::read(locateShared("Database/Mega Drive.bml")));
-+ database.pcEngine = BML::unserialize(string::read(locateShared("Database/PC Engine.bml")));
-+ database.superGrafx = BML::unserialize(string::read(locateShared("Database/SuperGrafx.bml")));
-+ database.gameBoy = BML::unserialize(string::read(locateShared("Database/Game Boy.bml")));
-+ database.gameBoyColor = BML::unserialize(string::read(locateShared("Database/Game Boy Color.bml")));
-+ database.gameBoyAdvance = BML::unserialize(string::read(locateShared("Database/Game Boy Advance.bml")));
-+ database.gameGear = BML::unserialize(string::read(locateShared("Database/Game Gear.bml")));
-+ database.wonderSwan = BML::unserialize(string::read(locateShared("Database/WonderSwan.bml")));
-+ database.wonderSwanColor = BML::unserialize(string::read(locateShared("Database/WonderSwan Color.bml")));
-+ database.bsMemory = BML::unserialize(string::read(locateShared("Database/BS Memory.bml")));
-+ database.sufamiTurbo = BML::unserialize(string::read(locateShared("Database/Sufami Turbo.bml")));
- }
-
- auto Icarus::error() const -> string {
diff --git a/emulators/higan/files/patch-icarus_icarus.cpp b/emulators/higan/files/patch-icarus_icarus.cpp
deleted file mode 100644
index 311f0a0db489..000000000000
--- a/emulators/higan/files/patch-icarus_icarus.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
---- icarus/icarus.cpp.orig 2017-01-11 13:07:07 UTC
-+++ icarus/icarus.cpp
-@@ -4,6 +4,20 @@ using namespace nall;
- #include <hiro/hiro.hpp>
- using namespace hiro;
-
-+auto locateShared(string name) -> string {
-+ string location = {Path::program(), name};
-+ if(inode::exists(location)) return location;
-+
-+ location = {Path::shared(), "icarus/", name};
-+ if(inode::exists(location)) return location;
-+
-+ location = {Path::config(), "icarus/", name};
-+ if(inode::exists(location)) return location;
-+
-+ directory::create({Path::local(), "icarus/"});
-+ return {Path::local(), "icarus/", name};
-+}
-+
- auto locate(string name) -> string {
- string location = {Path::program(), name};
- if(inode::exists(location)) return location;
diff --git a/emulators/higan/pkg-plist b/emulators/higan/pkg-plist
index 840dfadc469a..f8b22890cadb 100644
--- a/emulators/higan/pkg-plist
+++ b/emulators/higan/pkg-plist
@@ -1,21 +1,24 @@
+%%DATADIR%%/Game Boy Color/boot.cgb-0.rom
+%%DATADIR%%/Game Boy Color/boot.cgb-1.rom
+%%DATADIR%%/Game Boy/boot.dmg-0.rom
+%%DATADIR%%/Game Boy/boot.dmg-1.rom
+%%DATADIR%%/Game Boy/boot.mgb.rom
+%%DATADIR%%/MSX/Keyboard/Japanese/layout.bml
+%%DATADIR%%/MSX/bios.rom
+%%DATADIR%%/MSX2/Keyboard/Japanese/layout.bml
+%%DATADIR%%/MSX2/bios.rom
+%%DATADIR%%/MSX2/sub.rom
+%%DATADIR%%/Mega Drive/tmss.rom
+%%DATADIR%%/Pocket Challenge V2/boot.rom
+%%DATADIR%%/Super Famicom/boards.bml
+%%DATADIR%%/Super Famicom/ipl.rom
+%%DATADIR%%/SwanCrystal/boot.rom
+%%DATADIR%%/WonderSwan Color/boot.rom
+%%DATADIR%%/WonderSwan/boot.rom
bin/higan
bin/icarus
share/applications/higan.desktop
-%%DATADIR%%/Famicom.sys/manifest.bml
-%%DATADIR%%/Game Boy Advance.sys/manifest.bml
-%%DATADIR%%/Game Boy Color.sys/boot.rom
-%%DATADIR%%/Game Boy Color.sys/manifest.bml
-%%DATADIR%%/Game Boy.sys/boot.rom
-%%DATADIR%%/Game Boy.sys/manifest.bml
-%%DATADIR%%/Game Gear.sys/manifest.bml
-%%DATADIR%%/Master System.sys/manifest.bml
-%%DATADIR%%/Mega Drive.sys/manifest.bml
-%%DATADIR%%/Mega Drive.sys/tmss.rom
-%%DATADIR%%/PC Engine.sys/manifest.bml
-%%DATADIR%%/Super Famicom.sys/ipl.rom
-%%DATADIR%%/Super Famicom.sys/manifest.bml
-%%DATADIR%%/SuperGrafx.sys/manifest.bml
-%%DATADIR%%/WonderSwan Color.sys/manifest.bml
-%%DATADIR%%/WonderSwan.sys/manifest.bml
share/icarus/Database/Super Famicom.bml
+share/icarus/Database/BS Memory.bml
+share/icarus/Database/Sufami Turbo.bml
share/pixmaps/higan.png