eden the switch emulator works on FreeBSD, but not officially through fresh ports or a FreeBSD port in the traditional sense.
Instead it must be downloaded as source code and be build manually through cmake following a building guide which is not an ideal or preferred way of installing software on FreeBSD,
I am mostly done with the Makefile, and I think it could work, but I get a error that make cannot open the Makefile.
Maybe it is due to a syntax error inside the Makefile, but I couldn't find one.
I know that eden exists inside the www category, but renaming this port to eden-emu didn't work out, too so, it must be something else.
Here is the Makefile content:
	
	
	
		
It fails at the building process so.
				
			Instead it must be downloaded as source code and be build manually through cmake following a building guide which is not an ideal or preferred way of installing software on FreeBSD,
I am mostly done with the Makefile, and I think it could work, but I get a error that make cannot open the Makefile.
Maybe it is due to a syntax error inside the Makefile, but I couldn't find one.
I know that eden exists inside the www category, but renaming this port to eden-emu didn't work out, too so, it must be something else.
Here is the Makefile content:
		Code:
	
	PORTNAME=    eden
PORTVERSION=    0.0.2
PORTREVISION=    0
PKGNAMESUFFIX=    -emu
CATEGORIES=    emulators
MASTER_SITES=    https://git.eden-emu.dev/SDK-chan/eden/archive/
DISTFILES=    master.tar.gz
MAINTAINER=    sdk-chan@protonmail.com
COMMENT=    Nintendo Switch emulator/debugger
WWW=    https://eden-emu.dev
#LICENSE=    APACHE20 BSD3CLAUSE GPLv3+ ISCL MIT UNLICENSE
LICENSE=    APACHE20 BSD3CLAUSE GPLv3+ UNLICENSE
LICENSE_COMB=    multi
#LICENSE_FILE_BSD3CLAUSE=    ${WRKSRC}/externals/sirit/LICENSE.txt
LICENSE_FILE_BSD3CLAUSE=    ${WRKDIR}/eden/externals/sirit/LICENSE.txt
LICENSE_FILE_GPLv3+=    ${WRKDIR}/eden/LICENSE.txt
#LICENSE_FILE_ISCL=    ${WRKDIR}/eden/externals/cubeb/LICENSE
#LICENSE_FILE_MIT=    ${WRKDIR}/eden/externals/sirit/externals/SPIRV-Headers/LICENSE
ONLY_FOR_ARCHS=    aarch64 amd64
ONLY_FOR_ARCHS_REASON=    requires int128 and dynarmic backend
BUILD_DEPENDS=    boost-libs>0:devel/boost-libs \
        nlohmann-json>0:devel/nlohmann-json \
        simpleini>0:devel/simpleini \
        glslangValidator:graphics/glslang \
        vulkan-headers>0:graphics/vulkan-headers \
        vulkan-utility-libraries>0:graphics/vulkan-utility-libraries
LIB_DEPENDS=    liblz4.so:archivers/liblz4 \
        libzstd.so:archivers/zstd \
        libopus.so:audio/opus \
        libfmt.so:devel/libfmt \
        libavcodec.so:multimedia/ffmpeg \
        libenet.so:net/enet
#TEST_DEPENDS=    catch2>0:devel/catch2
USE_GITHUB=    nodefault
GH_TUPLE=    GPUOpen-LibrariesAndSDKs:VulkanMemoryAllocator:v3.0.1-114-g2f382df:VulkanMemoryAllocator/externals/VulkanMemoryAllocator \
        KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-201-gc214f6f:SPIRV_Headers/externals/sirit/externals/SPIRV-Headers \
        arun11299:cpp-jwt:v1.4-18-g10ef573:cpp_jwt/externals/cpp-jwt \
        arsenm:sanitizers-cmake:aab6948:sanitizers_cmake/externals/cubeb/cmake/sanitizers-cmake \
        herumi:xbyak:v6.68:xbyak/externals/xbyak \
        kinetiknz:cubeb:cubeb-0.2-1452-g48689ae:cubeb/externals/cubeb \
        yhirose:cpp-httplib:v0.14.1:cpp_httplib/externals/cpp-httplib
#USES=        cmake:testing localbase:ldflags pkgconfig sdl ssl qt:6
USES=        localbase:ldflags pkgconfig sdl ssl qt:6
USE_SDL=    sdl2
USE_QT=        base
WRKSRC=        ${WRKDIR}/${PORTNAME}
#CMAKE_TESTING_ON=    YUZU_TESTS
OPTIONS_DEFINE=    ALSA QT6 PULSEAUDIO JACK LTO NLS SNDIO VAAPI VULKAN WEBENGINE
OPTIONS_DEFAULT=    PULSEAUDIO JACK LTO QT6 SNDIO VAAPI VULKAN WEBENGINE
ALSA_BUILD_DEPENDS=    alsa-lib>0:audio/alsa-lib
ALSA_CMAKE_BOOL=    USE_ALSA
JACK_BUILD_DEPENDS=    jackit>0:audio/jack
JACK_CMAKE_BOOL=    USE_JACK
LTO_CMAKE_BOOL=        YUZU_ENABLE_LTO
NLS_DESC=        UI translations (implies ${NLS_IMPLIES})
#NLS_USE=        QT=${"${PORT_OPTIONS:MQT5}":?linguist:}tools:build
NLS_USE=        QT=tools:build
NLS_CMAKE_BOOL=        ENABLE_QT_TRANSLATION
NLS_IMPLIES=        QT6
PULSEAUDIO_BUILD_DEPENDS=    pulseaudio>0:audio/pulseaudio
PULSEAUDIO_CMAKE_BOOL=    USE_PULSE
SNDIO_BUILD_DEPENDS=    sndio>0:audio/sndio
SNDIO_CMAKE_BOOL=    USE_SNDIO
VAAPI_LIB_DEPENDS=    libva.so:multimedia/libva
VULKAN_DESC=        Vulkan renderer
VULKAN_RUN_DEPENDS=    ${LOCALBASE}/lib/libvulkan.so:graphics/vulkan-loader
WEBENGINE_DESC=        Web applet support (implies ${WEBENGINE_IMPLIES})
WEBENGINE_USE=        QT=webengine
WEBENGINE_CMAKE_BOOL=    YUZU_USE_QT_WEB_ENGINE
WEBENGINE_IMPLIES=    QT6
post-patch:
    @${REINPLACE_CMD} -e 's/@GIT_BRANCH@/master/' \
        -e 's/@GIT_DESC@/${GH_TAGNAME}/' \
        ${WRKDIR}/eden/src/common/scm_rev.cpp.in
post-patch-VAAPI-off:
    @${REINPLACE_CMD} -i .nova '/pkg_check.*libva/d' \
        ${WRKDIR}/eden/CMakeLists.txt
post-install:
.if exists(/usr/bin/elfctl)
    ${ELFCTL} -e +wxneeded ${STAGEDIR}${PREFIX}/bin/*
.endif
.include <bsd.port.mk> 
			     
 
		 
 
		
