games-emulation/dolphin: add 2407

Bug: https://bugs.gentoo.org/906079
Closes: https://bugs.gentoo.org/935348
Signed-off-by: Alfred Wingate <parona@protonmail.com>
Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Alfred Wingate
2024-08-11 21:33:41 +03:00
committed by Michał Górny
parent e1b5c2dede
commit 261d61f169
8 changed files with 488 additions and 0 deletions

View File

@@ -1,2 +1,10 @@
DIST Vulkan-Headers-05fe2cc910a68c9ba5dac07db46ef78573acee72.tar.gz 2288519 BLAKE2B bd11ba3ecac3bf0f6df255a4b87556092b9630c85b97cbcc2c0901d5293882da6f996e326cce8f410f8503f9e29454f0a2994c4adceb4565490d435b307d4495 SHA512 3679a087ea024a15b2d30730834345d2af3869ae012bcc5a996eed90558516d16b762010d887b9c762b5177bfc0a21b3bd29dbc4e236e067132623482068b058
DIST VulkanMemoryAllocator-009ecd192c1289c7529bff248a16cfe896254816.tar.gz 904841 BLAKE2B 64966d40b86197a18f86c9715acb2ea649ea6b69d3de38d9385a8130e35519036eca49b7503886123284be58d5c248dd9d7c5cb16a489c64d385439c382dcd30 SHA512 3a47a4bc81562b96f598f357b803d2219fa167e6eb87779837efa6e85fc6eaff8e1cfbdea0935117a7b3c630cc99944b94e91823eafa8a94d80b2c459f33c317
DIST dolphin-2407.tar.gz 19773792 BLAKE2B a6de162479d45e6b1cba5444df5abdeafd92773d1e49cc837dfc6c1ab45ed11d7a3f72a582ddb56d0ecc6b550d03c1a02a9389852ba438d8a9235d5ea3285d4b SHA512 8bb8459d8b653708e34d5df184d96ba9705e8c50b00d066862d4012f78b7e71938207979b3bd900dd14c35c3b6c0258bb5c8fad9ba73267188e98d8a2edfb73f
DIST dolphin-5.0_p20220520.tar.gz 34880474 BLAKE2B 925cddfe8a5d6febced5721bea6ced7c8d2855619f74ca8940b95dc78ea523b4a1083b9ef6efe3561d833b8e9ecb742cb2adf5a1864c06b629b3ecd9e92cc871 SHA512 4993cb10061b142f6627c96493885a5f9d88857d8949c2e8e8d5df5ba6e19b4f98d199da5e641d3d61294884e1cbbe8191bc5b4445c60bf80723046b2524aad5
DIST implot-cc5e1daa5c7f2335a9460ae79c829011dc5cef2d.tar.gz 137924 BLAKE2B c830275b05a74e8a60a7164f22c01dd9a5a35f9219736785c9cc17830dae809eb8cba65604b0388c3966d7658c9fe71cb9a8468c23d3ed17b7890581a2222cb8 SHA512 ab9935e759f38d19e6f60ed195c22018929ba46fccf783f4486346d7ffb7040b6097bc4c3d3b3577cc91f0c413684e07449a24bebf3db9c937638092c181de92
DIST mgba-40d4c430fc36caeb7ea32fd39624947ed487d2f2.tar.gz 12921593 BLAKE2B 8c5cf7b9b53f897f6248ad6bc51efafaa8a9d5df137d42d30f4b042b6d1527049644595938626c8cae1385d329bc45bf42db8dcc4424b963a3899e0df53246eb SHA512 26d7b60cbc7415652bb9ca2a42ccd532856867db57bf6dd91d8204551970109b6b9f4a96c42d643ea96b9d071d6aec924d3c1bb79c251c95183b7fb8536456c9
DIST mgba-8739b22fbc90fdf0b4f6612ef9c0520f0ba44a51.tar.gz 14488880 BLAKE2B 5beec2de9a0999a93a4ad704f45246b551824a9ddd576a5b77e731b269fb8f7d311d1c4e2cfb217f34e22a49050498c70e52d714d9c0bb7b4e4d178f49f15c3d SHA512 782d456b7bf827591c774f146a88821b41b3b936faefddb5aee82bb0dd16ca7ad7228a1c331e1e517eac40a71cc4c94cc44bee12560946328c8433e1c6327225
DIST minizip-ng-3eed562ef0ea3516db30d1c8ecb0e1b486d8cb70.tar.gz 770054 BLAKE2B 7d5b24a5be7134ac17178869883625b28fa80a55f878231ca4156901057db72b20b4d342f8d0bb04a436fcd72d7ccbb0f79adc8503a16e1197a84f3a476da730 SHA512 f76a2cefd7d9ad47f8c3c73b3483b657fab0507605e0b29895eaec759718a65f0d2915ea7022831f3f98493891a1ab4f5035971bf09d4860abbf4cde0b091869
DIST tinygltf-c5641f2c22d117da7971504591a8f6a41ece488b.tar.gz 5903179 BLAKE2B 0ef4b36cf26f3a5a544d0c739317b8cce041121b1dec58d1d9dbc3bbc892df284d80aa4c45ec1ebc332ba96b151230a5b0dbf95b95aefcf86ee7878c393eda5d SHA512 486bcf32be137dea5746117074dc51bc978290698de7831e1c4bbaa4acb56ed99fc34c38e69878a955b3e5f10f43eab07b0637164f822beae0fddd099aa0c56d
DIST zlib-ng-ce01b1e41da298334f8214389cc9369540a7560f.tar.gz 2223118 BLAKE2B c79a138c31c74c291ae38a6c4d8983e0884169ced4147d7242d1a766f70777de0368ceba815ac2261bd2543dba55a6106b70f7e040fae4f200863da217f88978 SHA512 73f4e56410ae298ef211ebab52b1a0d3d5bfae91c2de3cd294b56cd0a78ab50e1203b396c7df462f360c1aaaa9392ec5625473d1e9eb084cc64bc813e28d12a1

View File

@@ -0,0 +1,306 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=( 18 )
LLVM_OPTIONAL=1
inherit cmake llvm-r1 pax-utils xdg-utils
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/dolphin-emu/dolphin"
EGIT_SUBMODULES=(
Externals/mGBA/mgba
Externals/implot/implot
Externals/tinygltf/tinygltf
Externals/Vulkan-Headers
Externals/VulkanMemoryAllocator
Externals/zlib-ng/zlib-ng
Externals/minizip-ng/minizip-ng
)
else
MGBA_COMMIT=8739b22fbc90fdf0b4f6612ef9c0520f0ba44a51
IMPLOT_COMMIT=cc5e1daa5c7f2335a9460ae79c829011dc5cef2d
TINYGLTF_COMMIT=c5641f2c22d117da7971504591a8f6a41ece488b
VULKAN_HEADERS_COMMIT=05fe2cc910a68c9ba5dac07db46ef78573acee72
VULKANMEMORYALLOCATOR_COMMIT=009ecd192c1289c7529bff248a16cfe896254816
ZLIB_NG_COMMIT=ce01b1e41da298334f8214389cc9369540a7560f
MINIZIP_NG_COMMIT=3eed562ef0ea3516db30d1c8ecb0e1b486d8cb70
SRC_URI="
https://github.com/dolphin-emu/dolphin/archive/${PV}.tar.gz
-> ${P}.tar.gz
https://github.com/epezent/implot/archive/${IMPLOT_COMMIT}.tar.gz
-> implot-${IMPLOT_COMMIT}.tar.gz
https://github.com/syoyo/tinygltf/archive/${TINYGLTF_COMMIT}.tar.gz
-> tinygltf-${TINYGLTF_COMMIT}.tar.gz
https://github.com/KhronosGroup/Vulkan-Headers/archive/${VULKAN_HEADERS_COMMIT}.tar.gz
-> Vulkan-Headers-${VULKAN_HEADERS_COMMIT}.tar.gz
https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/archive/${VULKANMEMORYALLOCATOR_COMMIT}.tar.gz
-> VulkanMemoryAllocator-${VULKANMEMORYALLOCATOR_COMMIT}.tar.gz
https://github.com/zlib-ng/zlib-ng/archive/${ZLIB_NG_COMMIT}.tar.gz
-> zlib-ng-${ZLIB_NG_COMMIT}.tar.gz
https://github.com/zlib-ng/minizip-ng/archive/${MINIZIP_NG_COMMIT}.tar.gz
-> minizip-ng-${MINIZIP_NG_COMMIT}.tar.gz
mgba? (
https://github.com/mgba-emu/mgba/archive/${MGBA_COMMIT}.tar.gz
-> mgba-${MGBA_COMMIT}.tar.gz
)
"
KEYWORDS="~amd64"
fi
DESCRIPTION="Gamecube and Wii game emulator"
HOMEPAGE="https://dolphin-emu.org/"
LICENSE="GPL-2+ BSD BSD-2 LGPL-2.1+ MIT ZLIB"
SLOT="0"
IUSE="
alsa bluetooth discord-presence doc egl +evdev ffmpeg +gui llvm log mgba
profile pulseaudio sdl systemd telemetry test upnp vulkan
"
REQUIRED_USE="
mgba? ( gui )
llvm? ( ${LLVM_REQUIRED_USE} )
"
RESTRICT="!test? ( test )"
RDEPEND="
app-arch/bzip2:=
>=app-arch/lz4-1.8:=
app-arch/xz-utils
>=app-arch/zstd-1.4.0:=
dev-libs/hidapi
>=dev-libs/libfmt-10.1:=
dev-libs/lzo:2
dev-libs/pugixml
dev-libs/xxhash
media-libs/cubeb
media-libs/libsfml:=
media-libs/libspng
>=net-libs/enet-1.3.18:1.3=
net-libs/mbedtls:=
net-misc/curl
x11-libs/libX11
x11-libs/libXi
x11-libs/libXrandr
virtual/libusb:1
virtual/opengl
alsa? ( media-libs/alsa-lib )
bluetooth? ( net-wireless/bluez:= )
evdev? (
dev-libs/libevdev
virtual/udev
)
ffmpeg? ( media-video/ffmpeg:= )
gui? (
dev-qt/qtbase:6[gui,widgets]
dev-qt/qtsvg:6
)
llvm? ( $(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}=') )
profile? ( dev-util/oprofile )
pulseaudio? ( media-libs/libpulse )
sdl? ( media-libs/libsdl2 )
systemd? ( sys-apps/systemd:0= )
upnp? ( net-libs/miniupnpc:= )
"
DEPEND="
${RDEPEND}
egl? ( media-libs/libglvnd )
test? ( dev-cpp/gtest )
"
BDEPEND="
sys-devel/gettext
virtual/pkgconfig
"
# vulkan-loader required for vulkan backend which can be selected
# at runtime.
RDEPEND+="
vulkan? ( media-libs/vulkan-loader )
"
# [directory]=license
declare -A KEEP_BUNDLED=(
# please keep this list in CMakeLists.txt order
# TODO: use system libraries
[zlib-ng]=ZLIB
[minizip-ng]=ZLIB
[Bochs_disasm]=LGPL-2.1+
[cpp-optparse]=MIT
[imgui]=MIT
[implot]=MIT
[glslang]=BSD
[tinygltf]=MIT
[FreeSurround]=GPL-2+
[soundtouch]=LGPL-2.1+
# FIXME: discord-rpc not packaged
[discord-rpc]=MIT
[mGBA]=MPL-2.0
[picojson]=BSD-2
[expr]=MIT
[rangeset]=ZLIB
[FatFs]=FatFs
[Vulkan-Headers]="|| ( Apache-2.0 MIT )"
[VulkanMemoryAllocator]=MIT
)
PATCHES=(
"${FILESDIR}"/dolphin-2407-libfmt-11-fix.patch
"${FILESDIR}"/dolphin-2407-minizip.patch
"${FILESDIR}"/dolphin-2407-fix-llvm-build.patch
)
add_bundled_licenses() {
for license in ${KEEP_BUNDLED[@]}; do
LICENSE+=" ${license}"
done
}
add_bundled_licenses
pkg_setup() {
use llvm && llvm-r1_pkg_setup
}
src_prepare() {
if [[ ${PV} != *9999 ]]; then
mv -T "${WORKDIR}/implot-${IMPLOT_COMMIT}" Externals/implot/implot || die
mv -T "${WORKDIR}/tinygltf-${TINYGLTF_COMMIT}" Externals/tinygltf/tinygltf || die
mv -T "${WORKDIR}/Vulkan-Headers-${VULKAN_HEADERS_COMMIT}" Externals/Vulkan-Headers || die
mv -T "${WORKDIR}/VulkanMemoryAllocator-${VULKANMEMORYALLOCATOR_COMMIT}" Externals/VulkanMemoryAllocator || die
mv -T "${WORKDIR}/zlib-ng-${ZLIB_NG_COMMIT}" Externals/zlib-ng/zlib-ng || die
mv -T "${WORKDIR}/minizip-ng-${MINIZIP_NG_COMMIT}" Externals/minizip-ng/minizip-ng || die
if use mgba; then
mv -T "${WORKDIR}/mgba-${MGBA_COMMIT}" Externals/mGBA/mgba || die
fi
fi
cmake_src_prepare
local s remove=()
for s in Externals/*; do
[[ -f ${s} ]] && continue
if ! has "${s#Externals/}" "${!KEEP_BUNDLED[@]}"; then
remove+=( "${s}" )
fi
done
einfo "removing sources: ${remove[*]}"
rm -r "${remove[@]}" || die
# About 50% compile-time speedup
if ! use vulkan; then
sed -i -e '/Externals\/glslang/d' CMakeLists.txt || die
fi
# Remove dirty suffix: needed for netplay
sed -i -e 's/--dirty/&=""/' CMake/ScmRevGen.cmake || die
}
src_configure() {
local mycmakeargs=(
-DDSPTOOL=ON
-DENABLE_ALSA=$(usex alsa)
-DENABLE_ANALYTICS=$(usex telemetry)
-DENABLE_AUTOUPDATE=OFF
-DENABLE_BLUEZ=$(usex bluetooth)
-DENABLE_CLI_TOOL=ON
-DENABLE_EGL=$(usex egl)
-DENABLE_EVDEV=$(usex evdev)
-DENABLE_LLVM=$(usex llvm)
-DENABLE_LTO=OFF # just adds -flto, user can do that via flags
-DENABLE_NOGUI=$(usex !gui)
-DENABLE_PULSEAUDIO=$(usex pulseaudio)
-DENABLE_QT=$(usex gui)
-DENABLE_SDL=$(usex sdl)
-DENABLE_TESTS=$(usex test)
-DENABLE_VULKAN=$(usex vulkan)
-DENCODE_FRAMEDUMPS=$(usex ffmpeg)
-DFASTLOG=$(usex log)
-DOPROFILING=$(usex profile)
-DSTEAM=OFF
-DUSE_DISCORD_PRESENCE=$(usex discord-presence)
-DUSE_MGBA=$(usex mgba)
-DUSE_RETRO_ACHIEVEMENTS=OFF
-DUSE_UPNP=$(usex upnp)
-DCMAKE_DISABLE_FIND_PACKAGE_SYSTEMD=$(usex !systemd)
# Use system libraries
-DUSE_SYSTEM_FMT=ON
-DUSE_SYSTEM_PUGIXML=ON
-DUSE_SYSTEM_ENET=ON
-DUSE_SYSTEM_XXHASH=ON
-DUSE_SYSTEM_BZIP2=ON
-DUSE_SYSTEM_LIBLZMA=ON
-DUSE_SYSTEM_ZSTD=ON
-DUSE_SYSTEM_ZLIB=OFF
-DUSE_SYSTEM_MINIZIP=OFF
-DUSE_SYSTEM_LZO=ON
-DUSE_SYSTEM_LZ4=ON
-DUSE_SYSTEM_SPNG=ON
-DUSE_SYSTEM_CUBEB=ON
-DUSE_SYSTEM_LIBUSB=ON
-DUSE_SYSTEM_SFML=ON
-DUSE_SYSTEM_MBEDTLS=ON
-DUSE_SYSTEM_CURL=ON
-DUSE_SYSTEM_ICONV=ON
-DUSE_SYSTEM_HIDAPI=ON
# Use ccache only when user did set FEATURES=ccache (or similar)
# not when ccache binary is present in system (automagic).
-DCCACHE_BIN=CCACHE_BIN-NOTFOUND
# Undo cmake.eclass's defaults.
# All dolphin's libraries are private
# and rely on circular dependency resolution.
-DBUILD_SHARED_LIBS=OFF
# Avoid warning spam around unset variables.
-Wno-dev
)
# System installed git shouldnt affect non live builds
[[ ${PV} != *9999 ]] && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON )
use test && mycmakeargs+=( -DUSE_SYSTEM_GTEST=ON )
use mgba && mycmakeargs+=( -DUSE_SYSTEM_LIBMGBA=OFF )
use sdl && mycmakeargs+=( -DUSE_SYSTEM_SDL2=ON )
use upnp && mycmakeargs+=( -DUSE_SYSTEM_MINIUPNPC=ON )
cmake_src_configure
}
src_test() {
cmake_build unittests
}
src_install() {
cmake_src_install
dodoc Readme.md
if use doc; then
dodoc -r docs/ActionReplay docs/DSP docs/WiiMote
fi
# Add pax markings for hardened systems
pax-mark -m "${ED}"/usr/bin/"${PN}"{-emu{,-nogui},-tool}
}
pkg_postinst() {
xdg_desktop_database_update
xdg_icon_cache_update
}
pkg_postrm() {
xdg_desktop_database_update
xdg_icon_cache_update
}

View File

@@ -0,0 +1,27 @@
https://github.com/dolphin-emu/dolphin/pull/12986
https://github.com/dolphin-emu/dolphin/commit/9c5cd817e39b44ff2eb68c75d9405c582207b53b
From 9c5cd817e39b44ff2eb68c75d9405c582207b53b Mon Sep 17 00:00:00 2001
From: mitaclaw <140017135+mitaclaw@users.noreply.github.com>
Date: Thu, 8 Aug 2024 09:42:14 -0700
Subject: [PATCH] CMakeLists: Fix LLVM Usage In UICommon
This compile definition was removed in 68cbd2640d4663fe29e21234dc068769cb9bc673 because it was complicated by changes in 50dc0ffbceebe0f633bd63cd4710a3e2f548d688. Thus, the LLVM disassembler would never be used in UICommon's Disassembler class.
--- a/Source/Core/UICommon/CMakeLists.txt
+++ b/Source/Core/UICommon/CMakeLists.txt
@@ -56,6 +56,7 @@ if(ENABLE_LLVM)
find_package(LLVM CONFIG)
if(LLVM_FOUND)
message(STATUS "LLVM found, enabling LLVM support in disassembler")
+ target_compile_definitions(uicommon PRIVATE HAVE_LLVM)
# Minimal documentation about LLVM's CMake functions is available here:
# https://releases.llvm.org/16.0.0/docs/CMake.html#embedding-llvm-in-your-project
# https://groups.google.com/g/llvm-dev/c/YeEVe7HTasQ?pli=1
@@ -69,6 +70,7 @@ if(ENABLE_LLVM)
llvm_config(uicommon USE_SHARED
mcdisassembler target ${LLVM_EXPAND_COMPONENTS}
)
+ target_include_directories(uicommon PRIVATE ${LLVM_INCLUDE_DIRS})
endif()
endif()

View File

@@ -0,0 +1,103 @@
From f69c099c20afb5ae5262e93208f1a28e39d911f1 Mon Sep 17 00:00:00 2001
From: Alfred Wingate <parona@protonmail.com>
Date: Fri, 9 Aug 2024 08:54:08 +0300
Subject: [PATCH 1/2] Add support for libfmt-11
fmt::join was moved into fmt/ranges.h
--- a/Source/Core/Common/StringUtil.cpp
+++ b/Source/Core/Common/StringUtil.cpp
@@ -22,6 +22,7 @@
#include <vector>
#include <fmt/format.h>
+#include <fmt/ranges.h>
#include "Common/CommonFuncs.h"
#include "Common/CommonPaths.h"
--- a/Source/Core/Core/HW/EXI/EXI_Device.h
+++ b/Source/Core/Core/HW/EXI/EXI_Device.h
@@ -111,7 +111,7 @@ struct fmt::formatter<ExpansionInterface::EXIDeviceType>
constexpr formatter() : EnumFormatter(names) {}
template <typename FormatContext>
- auto format(const ExpansionInterface::EXIDeviceType& e, FormatContext& ctx)
+ auto format(const ExpansionInterface::EXIDeviceType& e, FormatContext& ctx) const
{
if (e != ExpansionInterface::EXIDeviceType::None)
{
--- a/Source/Core/Core/NetPlayClient.cpp
+++ b/Source/Core/Core/NetPlayClient.cpp
@@ -17,6 +17,7 @@
#include <vector>
#include <fmt/format.h>
+#include <fmt/ranges.h>
#include "Common/Assert.h"
#include "Common/CommonPaths.h"
--- a/Source/Core/Core/NetPlayServer.cpp
+++ b/Source/Core/Core/NetPlayServer.cpp
@@ -18,6 +18,7 @@
#include <vector>
#include <fmt/format.h>
+#include <fmt/ranges.h>
#include "Common/CommonPaths.h"
#include "Common/ENet.h"
--- a/Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp
+++ b/Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp
@@ -7,6 +7,7 @@
#include <cmath>
#include <fmt/format.h>
+#include <fmt/ranges.h>
#include <QApplication>
#include <QClipboard>
--- a/Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp
+++ b/Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp
@@ -25,6 +25,8 @@
#include <algorithm>
#include <sstream>
+#include <fmt/ranges.h>
+
#include "Common/CommonPaths.h"
#include "Common/Config/Config.h"
#include "Common/HttpRequest.h"
--- a/Source/Core/VideoBackends/OGL/OGLConfig.cpp
+++ b/Source/Core/VideoBackends/OGL/OGLConfig.cpp
@@ -7,6 +7,8 @@
#include <string>
#include <string_view>
+#include <fmt/ranges.h>
+
#include "Common/Assert.h"
#include "Common/GL/GLContext.h"
#include "Common/GL/GLExtensions/GLExtensions.h"
--- a/Source/Core/VideoCommon/VertexLoaderBase.cpp
+++ b/Source/Core/VideoCommon/VertexLoaderBase.cpp
@@ -11,6 +11,7 @@
#include <vector>
#include <fmt/format.h>
+#include <fmt/ranges.h>
#include "Common/Assert.h"
#include "Common/BitUtils.h"
--- a/Source/UnitTests/Common/BitFieldTest.cpp
+++ b/Source/UnitTests/Common/BitFieldTest.cpp
@@ -1,6 +1,8 @@
// Copyright 2014 Dolphin Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
+#include <fmt/ranges.h>
+
#include <gtest/gtest.h>
#include "Common/BitField.h"
--
2.45.2

View File

@@ -0,0 +1,18 @@
From 18ba49ec1ece5af136a75cb63530f7d1131bf8a7 Mon Sep 17 00:00:00 2001
From: Alfred Wingate <parona@protonmail.com>
Date: Fri, 9 Aug 2024 09:11:21 +0300
Subject: [PATCH 2/2] minizip
--- a/Externals/minizip-ng/CMakeLists.txt
+++ b/Externals/minizip-ng/CMakeLists.txt
@@ -1,5 +1,7 @@
project(minizip C)
+include(CheckFunctionExists)
+
add_library(minizip STATIC
minizip-ng/mz.h
minizip-ng/mz_compat.c
--
2.45.2

View File

@@ -12,6 +12,7 @@
<use>
<flag name="discord-presence">Enables Discord Rich Presence, show the current game on Discord</flag>
<flag name="evdev">Enable evdev input support</flag>
<flag name="llvm">Enables LLVM support, for disassembly</flag>
<flag name="log">Increase logging output</flag>
<flag name="mgba">Enables GBA controllers emulation using libmgba.</flag>
</use>

24
licenses/FatFs Normal file
View File

@@ -0,0 +1,24 @@
FatFs License
FatFs has being developped as a personal project of the author, ChaN. It is free from the code anyone else wrote at current release. Following code block shows a copy of the FatFs license document that heading the source files.
/*----------------------------------------------------------------------------/
/ FatFs - Generic FAT Filesystem Module Rx.xx /
/-----------------------------------------------------------------------------/
/
/ Copyright (C) 20xx, ChaN, all right reserved.
/
/ FatFs module is an open source software. Redistribution and use of FatFs in
/ source and binary forms, with or without modification, are permitted provided
/ that the following condition is met:
/
/ 1. Redistributions of source code must retain the above copyright notice,
/ this condition and the following disclaimer.
/
/ This software is provided by the copyright holder and contributors "AS IS"
/ and any warranties related to this software are DISCLAIMED.
/ The copyright owner or contributors be NOT LIABLE for any damages caused
/ by use of this software.
/----------------------------------------------------------------------------*/
Therefore FatFs license is one of the BSD-style licenses, but there is a significant feature. FatFs is mainly intended for embedded systems. In order to extend the usability for commercial products, the redistributions of FatFs in binary form, such as embedded code, binary library and any forms without source code, do not need to include about FatFs in the documentations. This is equivalent to the 1-clause BSD license. Of course FatFs is compatible with the most of open source software licenses include GNU GPL. When you redistribute the FatFs source code with changes or create a fork, the license can also be changed to GNU GPL, BSD-style license or any open source software license that not conflict with FatFs license.

View File

@@ -438,6 +438,7 @@ sec-keys/openpgp-keys-jiatan
# Lots of package breakage as usual for new versions. Masked until most/all
# reverse dependencies are fixed. Tracker bug is bug #906077.
>=dev-libs/libfmt-10
>=games-emulation/dolphin-2407
# Ionen Wolkens <ionen@gentoo.org> (2023-03-30)
# NVIDIA dropped support for the 390.xx branch in December 2022[1].