From b175a7cf89b5ab44fb238eadbb724fd4b27e94f6 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Sat, 21 Mar 2026 08:47:14 +0100 Subject: [PATCH 1/6] mcl-cpp-utility-lib: update pname to match attr name Signed-off-by: Marcin Serwin --- pkgs/by-name/mc/mcl-cpp-utility-lib/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/mc/mcl-cpp-utility-lib/package.nix b/pkgs/by-name/mc/mcl-cpp-utility-lib/package.nix index eb4dc2b4c6c8..5e4f745dbfbd 100644 --- a/pkgs/by-name/mc/mcl-cpp-utility-lib/package.nix +++ b/pkgs/by-name/mc/mcl-cpp-utility-lib/package.nix @@ -8,7 +8,7 @@ catch2_3, }: stdenv.mkDerivation (finalAttrs: { - pname = "mcl"; + pname = "mcl-cpp-utility-lib"; version = "0.1.14"; src = fetchFromGitHub { From c328d27b517d871ff5e5c7a17fe44563d2159c48 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Sat, 21 Mar 2026 08:47:22 +0100 Subject: [PATCH 2/6] eden: move nx_tzdb recipe to a separate file Signed-off-by: Marcin Serwin --- pkgs/by-name/ed/eden/nx_tzdb.nix | 54 ++++++++++++++++++++++++++++++++ pkgs/by-name/ed/eden/package.nix | 39 ++--------------------- 2 files changed, 57 insertions(+), 36 deletions(-) create mode 100644 pkgs/by-name/ed/eden/nx_tzdb.nix diff --git a/pkgs/by-name/ed/eden/nx_tzdb.nix b/pkgs/by-name/ed/eden/nx_tzdb.nix new file mode 100644 index 000000000000..03dd774c7507 --- /dev/null +++ b/pkgs/by-name/ed/eden/nx_tzdb.nix @@ -0,0 +1,54 @@ +{ + stdenv, + lib, + fetchFromGitea, + cmake, + ninja, + tzdata, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "tzdb_to_nx"; + version = "120226"; + + src = fetchFromGitea { + domain = "git.crueter.xyz"; + owner = "misc"; + repo = "tzdb_to_nx"; + tag = finalAttrs.version; + hash = "sha256-egPu8UVbj73RQ0Z5JMTjd5HVdy47WTfkUMlQaS0wUTg="; + }; + + nativeBuildInputs = [ + cmake + ninja + ]; + + cmakeFlags = [ + (lib.cmakeFeature "TZDB2NX_ZONEINFO_DIR" "${tzdata}/share/zoneinfo") + (lib.cmakeFeature "TZDB2NX_VERSION" tzdata.version) + ]; + + ninjaFlags = [ "x80e" ]; + + installPhase = '' + runHook preInstall + + cp -r src/tzdb/nx $out + + runHook postInstall + ''; + + meta = { + description = "RFC 8536 time zone data converted to the Nintendo Switch format"; + homepage = "https://git.crueter.xyz/misc/tzdb_to_nx"; + maintainers = with lib.maintainers; [ marcin-serwin ]; + license = with lib.licenses; [ + # Converter + mit + + # Data + publicDomain + ]; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/by-name/ed/eden/package.nix b/pkgs/by-name/ed/eden/package.nix index 03a9d3ed524e..f28f655a49ca 100644 --- a/pkgs/by-name/ed/eden/package.nix +++ b/pkgs/by-name/ed/eden/package.nix @@ -44,7 +44,8 @@ xbyak, zlib, zstd, - tzdata, + writeScript, + callPackage, }: let @@ -54,38 +55,7 @@ let hash = "sha256-OC22KdawYK9yKiffqc1rtgrBanVExYMi9jqhvkwMD6w="; }; - nx_tzdb = stdenv.mkDerivation (finalAttrs: { - name = "tzdb_to_nx"; - version = "120226"; - - src = fetchFromGitea { - domain = "git.crueter.xyz"; - owner = "misc"; - repo = "tzdb_to_nx"; - tag = finalAttrs.version; - hash = "sha256-egPu8UVbj73RQ0Z5JMTjd5HVdy47WTfkUMlQaS0wUTg="; - }; - - nativeBuildInputs = [ - cmake - ninja - ]; - - cmakeFlags = [ - (lib.cmakeFeature "TZDB2NX_ZONEINFO_DIR" "${tzdata}/share/zoneinfo") - (lib.cmakeFeature "TZDB2NX_VERSION" tzdata.version) - ]; - - ninjaFlags = [ "x80e" ]; - - installPhase = '' - runHook preInstall - - cp -r src/tzdb/nx $out - - runHook postInstall - ''; - }); + nx_tzdb = callPackage ./nx_tzdb.nix { }; in stdenv.mkDerivation (finalAttrs: { @@ -233,9 +203,6 @@ stdenv.mkDerivation (finalAttrs: { cc-by-sa-30 cc0 - # Timezone data - publicDomain - # Vendored/incorporated libs apsl20 llvm-exception From 4ca49b1b89f94971814caf5bf0102e76782b3cfb Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Sat, 21 Mar 2026 08:49:40 +0100 Subject: [PATCH 3/6] eden: check for nx_tzdb updates Signed-off-by: Marcin Serwin --- pkgs/by-name/ed/eden/package.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ed/eden/package.nix b/pkgs/by-name/ed/eden/package.nix index f28f655a49ca..c6855f08a11b 100644 --- a/pkgs/by-name/ed/eden/package.nix +++ b/pkgs/by-name/ed/eden/package.nix @@ -23,7 +23,6 @@ lz4, mcl-cpp-utility-lib, mbedtls, - nix-update-script, nlohmann_json, oaknut, openssl, @@ -179,7 +178,15 @@ stdenv.mkDerivation (finalAttrs: { passthru = { inherit nx_tzdb compat-list; - updateScript = nix-update-script { }; + updateScript = writeScript "update-eden" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p nix-update + + set -eu -o pipefail + + nix-update eden + nix-update eden.nx_tzdb + ''; }; meta = { From 45a63d3b31bea7db459b70b566038bed3e9f5724 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Sat, 21 Mar 2026 08:55:37 +0100 Subject: [PATCH 4/6] eden: 0.1.1 -> 0.2.0 Signed-off-by: Marcin Serwin --- .../ed/eden/aarch64-disable-fastmem.patch | 13 -------- pkgs/by-name/ed/eden/nx_tzdb.nix | 4 +-- pkgs/by-name/ed/eden/package.nix | 32 +++++++++++-------- 3 files changed, 20 insertions(+), 29 deletions(-) delete mode 100644 pkgs/by-name/ed/eden/aarch64-disable-fastmem.patch diff --git a/pkgs/by-name/ed/eden/aarch64-disable-fastmem.patch b/pkgs/by-name/ed/eden/aarch64-disable-fastmem.patch deleted file mode 100644 index de9a50a070c9..000000000000 --- a/pkgs/by-name/ed/eden/aarch64-disable-fastmem.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/common/settings.cpp b/src/common/settings.cpp -index 2c88356888..96198006b7 100644 ---- a/src/common/settings.cpp -+++ b/src/common/settings.cpp -@@ -176,7 +176,7 @@ bool IsFastmemEnabled() { - if (values.cpu_accuracy.GetValue() == CpuAccuracy::Unsafe) { - return bool(values.cpuopt_unsafe_host_mmu); - } --#if !defined(__APPLE__) && !defined(__linux__) && !defined(__ANDROID__) && !defined(_WIN32) -+#if !defined(__APPLE__) && !defined(__linux__) && !defined(__ANDROID__) && !defined(_WIN32) || (defined(__linux__) && defined(__aarch64__)) - return false; - #else - return true; diff --git a/pkgs/by-name/ed/eden/nx_tzdb.nix b/pkgs/by-name/ed/eden/nx_tzdb.nix index 03dd774c7507..9c47643448dc 100644 --- a/pkgs/by-name/ed/eden/nx_tzdb.nix +++ b/pkgs/by-name/ed/eden/nx_tzdb.nix @@ -8,14 +8,14 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "tzdb_to_nx"; - version = "120226"; + version = "230326"; src = fetchFromGitea { domain = "git.crueter.xyz"; owner = "misc"; repo = "tzdb_to_nx"; tag = finalAttrs.version; - hash = "sha256-egPu8UVbj73RQ0Z5JMTjd5HVdy47WTfkUMlQaS0wUTg="; + hash = "sha256-koz7C63oHVfrhrf9lfdUqw6idJWi21XRKQnb5PdoEb4="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ed/eden/package.nix b/pkgs/by-name/ed/eden/package.nix index c6855f08a11b..4d27d0f2e7c0 100644 --- a/pkgs/by-name/ed/eden/package.nix +++ b/pkgs/by-name/ed/eden/package.nix @@ -10,6 +10,7 @@ cubeb, enet, fetchFromGitea, + fetchpatch, fetchurl, ffmpeg-headless, fmt, @@ -21,8 +22,6 @@ libopus, libusb1, lz4, - mcl-cpp-utility-lib, - mbedtls, nlohmann_json, oaknut, openssl, @@ -33,7 +32,6 @@ simpleini, sirit, spirv-headers, - spirv-tools, stb, unordered_dense, vulkan-headers, @@ -59,16 +57,30 @@ in stdenv.mkDerivation (finalAttrs: { pname = "eden"; - version = "0.1.1"; + version = "0.2.0"; src = fetchFromGitea { domain = "git.eden-emu.dev"; owner = "eden-emu"; repo = "eden"; tag = "v${finalAttrs.version}"; - hash = "sha256-tkro7ZHgn2809Utf/Li5+OiseywyQKH15eqphxlJZQQ="; + hash = "sha256-Q/tJP6AHAtW9AXn9G+8dF4oTlKDfNHN4cuTKXtYq0T8="; }; + patches = [ + (fetchpatch { + # httplib uses `SameMinorVersion` compatibility for its CMake files which + # makes it reject the nixpkgs version which is newer + name = "revert-httplib-version-specification.patch"; + url = "https://git.eden-emu.dev/eden-emu/eden/commit/9c13c71da8dcc37d03fc53bc3bc16978a65fd8f2.patch"; + hash = "sha256-g7q40BDb9TKE8eudBS7Smajq5EYCzxSemZgsl2ialJo="; + revert = true; + }) + ]; + + strictDeps = true; + __structuredAttrs = true; + nativeBuildInputs = [ cmake ninja @@ -94,23 +106,21 @@ stdenv.mkDerivation (finalAttrs: { libusb1 # intentionally omitted: LLVM - heavy, only used for stack traces in the debugger lz4 - mcl-cpp-utility-lib nlohmann_json openssl qt6.qtbase qt6.qtmultimedia qt6.qtwayland qt6.qtwebengine + qt6.qtcharts # intentionally omitted: renderdoc - heavy, developer only SDL2 stb simpleini - spirv-tools spirv-headers vulkan-headers vulkan-memory-allocator vulkan-utility-libraries - mbedtls sirit unordered_dense zlib @@ -123,11 +133,6 @@ stdenv.mkDerivation (finalAttrs: { oaknut ]; - patches = [ - # https://git.eden-emu.dev/eden-emu/eden/issues/3484 - ./aarch64-disable-fastmem.patch - ]; - doCheck = true; checkInputs = [ @@ -135,7 +140,6 @@ stdenv.mkDerivation (finalAttrs: { oaknut ]; - __structuredAttrs = true; cmakeFlags = [ (lib.cmakeBool "BUILD_TESTING" finalAttrs.finalPackage.doCheck) (lib.cmakeBool "YUZU_TESTS" false) # some timer tests are flaky From ba82fa2a97e95c86d3014ff8e712c2bc28be7220 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Sat, 21 Mar 2026 15:16:01 +0100 Subject: [PATCH 5/6] eden: set cmake flags according to upstream recommendation Signed-off-by: Marcin Serwin --- pkgs/by-name/ed/eden/package.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/by-name/ed/eden/package.nix b/pkgs/by-name/ed/eden/package.nix index 4d27d0f2e7c0..67bc9cae1607 100644 --- a/pkgs/by-name/ed/eden/package.nix +++ b/pkgs/by-name/ed/eden/package.nix @@ -146,14 +146,13 @@ stdenv.mkDerivation (finalAttrs: { # use system libraries (lib.cmakeBool "CPMUTIL_FORCE_SYSTEM" true) - (lib.cmakeBool "YUZU_USE_EXTERNAL_SDL2" false) - (lib.cmakeBool "YUZU_USE_BUNDLED_FFMPEG" false) (lib.cmakeFeature "YUZU_TZDB_PATH" "${nx_tzdb}") # enable some optional features (lib.cmakeBool "YUZU_USE_QT_WEB_ENGINE" true) (lib.cmakeBool "YUZU_USE_QT_MULTIMEDIA" true) (lib.cmakeBool "ENABLE_QT_TRANSLATION" true) + (lib.cmakeBool "ENABLE_LTO" true) # We dont want to bother upstream with potentially outdated compat reports (lib.cmakeBool "YUZU_ENABLE_COMPATIBILITY_REPORTING" false) From cfcb985d52648de885623bf1566f50f72e94043f Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Wed, 25 Mar 2026 18:30:52 +0100 Subject: [PATCH 6/6] eden.nx_tzdb: update source Signed-off-by: Marcin Serwin --- pkgs/by-name/ed/eden/nx_tzdb.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ed/eden/nx_tzdb.nix b/pkgs/by-name/ed/eden/nx_tzdb.nix index 9c47643448dc..db1c6f8ad4fb 100644 --- a/pkgs/by-name/ed/eden/nx_tzdb.nix +++ b/pkgs/by-name/ed/eden/nx_tzdb.nix @@ -11,8 +11,8 @@ stdenv.mkDerivation (finalAttrs: { version = "230326"; src = fetchFromGitea { - domain = "git.crueter.xyz"; - owner = "misc"; + domain = "git.eden-emu.dev"; + owner = "eden-emu"; repo = "tzdb_to_nx"; tag = finalAttrs.version; hash = "sha256-koz7C63oHVfrhrf9lfdUqw6idJWi21XRKQnb5PdoEb4=";