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 new file mode 100644 index 000000000000..db1c6f8ad4fb --- /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 = "230326"; + + src = fetchFromGitea { + domain = "git.eden-emu.dev"; + owner = "eden-emu"; + repo = "tzdb_to_nx"; + tag = finalAttrs.version; + hash = "sha256-koz7C63oHVfrhrf9lfdUqw6idJWi21XRKQnb5PdoEb4="; + }; + + 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..67bc9cae1607 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,9 +22,6 @@ libopus, libusb1, lz4, - mcl-cpp-utility-lib, - mbedtls, - nix-update-script, nlohmann_json, oaknut, openssl, @@ -34,7 +32,6 @@ simpleini, sirit, spirv-headers, - spirv-tools, stb, unordered_dense, vulkan-headers, @@ -44,7 +41,8 @@ xbyak, zlib, zstd, - tzdata, + writeScript, + callPackage, }: let @@ -54,52 +52,35 @@ 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: { 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 @@ -125,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 @@ -154,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 = [ @@ -166,21 +140,19 @@ stdenv.mkDerivation (finalAttrs: { oaknut ]; - __structuredAttrs = true; cmakeFlags = [ (lib.cmakeBool "BUILD_TESTING" finalAttrs.finalPackage.doCheck) (lib.cmakeBool "YUZU_TESTS" false) # some timer tests are flaky # 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) @@ -209,7 +181,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 = { @@ -233,9 +213,6 @@ stdenv.mkDerivation (finalAttrs: { cc-by-sa-30 cc0 - # Timezone data - publicDomain - # Vendored/incorporated libs apsl20 llvm-exception 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 {