Re: git: 597ca5a01e38 - main - emulators/higan: Update to v110

From: Lorenzo Salvadore <developer_at_lorenzosalvadore.it>
Date: Wed, 06 Dec 2023 15:26:42 UTC
On Wednesday, December 6th, 2023 at 16:01, Lorenzo Salvadore <salvadore@FreeBSD.org> wrote:


> 
> 
> The branch main has been updated by salvadore:
> 
> URL: https://cgit.FreeBSD.org/ports/commit/?id=597ca5a01e3893880470afdd10a9cc4a0cdaa93a
> 
> commit 597ca5a01e3893880470afdd10a9cc4a0cdaa93a
> Author: Lorenzo Salvadore salvadore@FreeBSD.org
> 
> AuthorDate: 2023-11-18 12:02:56 +0000
> Commit: Lorenzo Salvadore salvadore@FreeBSD.org
> 
> CommitDate: 2023-12-06 15:01:49 +0000
> 
> 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

This should have been PR: 273677.

> Approved by: Naram Qashat cyberbotx@cyberbotx.com (maintainer)
> 
> ---
> emulators/higan/Makefile | 40 ++++++++++------------
> emulators/higan/distinfo | 6 ++--
> emulators/higan/files/patch-higan_GNUmakefile | 10 ------
> .../files/patch-higan_target-tomoko_GNUmakefile | 15 --------
> ...gan_target-tomoko_presentation_presentation.cpp | 11 ------
> .../patch-higan_target-tomoko_program_medium.cpp | 11 ------
> .../files/patch-higan_target-tomoko_tomoko.cpp | 23 -------------
> .../files/patch-higan_target-tomoko_tomoko.hpp | 8 -----
> ...ch-higan_target-tomoko_tools_cheat-database.cpp | 11 ------
> emulators/higan/files/patch-icarus_core_core.cpp | 35 -------------------
> emulators/higan/files/patch-icarus_icarus.cpp | 23 -------------
> emulators/higan/pkg-plist | 35 ++++++++++---------
> 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