From 07f6f2dcf523f80fe095ab87e5607bbf5b224dbe Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Sat, 1 Nov 2025 19:17:34 +0100 Subject: [PATCH 1/4] sse2neon: fix description and homepage Signed-off-by: Marcin Serwin --- pkgs/by-name/ss/sse2neon/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ss/sse2neon/package.nix b/pkgs/by-name/ss/sse2neon/package.nix index fc5ec88908dc..da6664d70869 100644 --- a/pkgs/by-name/ss/sse2neon/package.nix +++ b/pkgs/by-name/ss/sse2neon/package.nix @@ -32,8 +32,8 @@ stdenv.mkDerivation (finalAttrs: { ''; meta = { - description = "Mono library that provides a GDI+-compatible API on non-Windows operating systems"; - homepage = "https://www.mono-project.com/docs/gui/libgdiplus/"; + description = "C/C++ header file that converts Intel SSE intrinsics to Arm/Aarch64 NEON intrinsics"; + homepage = "https://github.com/DLTcollab/sse2neon"; platforms = lib.platforms.unix; license = lib.licenses.mit; maintainers = [ lib.maintainers.gador ]; From e3df16395a0621655f2f88a45e0265dde985e2d0 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Sat, 1 Nov 2025 19:17:34 +0100 Subject: [PATCH 2/4] sse2neon: modernize Signed-off-by: Marcin Serwin --- pkgs/by-name/bl/blender/package.nix | 2 +- pkgs/by-name/ss/sse2neon/package.nix | 18 ++++++------------ 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/pkgs/by-name/bl/blender/package.nix b/pkgs/by-name/bl/blender/package.nix index 25d6eb947682..8645982537e9 100644 --- a/pkgs/by-name/bl/blender/package.nix +++ b/pkgs/by-name/bl/blender/package.nix @@ -207,7 +207,7 @@ stdenv'.mkDerivation (finalAttrs: { ++ lib.optional stdenv.cc.isClang "-DPYTHON_LINKFLAGS=" # Clang doesn't support "-export-dynamic" ++ lib.optionals stdenv.hostPlatform.isDarwin [ "-DLIBDIR=/does-not-exist" - "-DSSE2NEON_INCLUDE_DIR=${sse2neon}/lib" + "-DSSE2NEON_INCLUDE_DIR=${sse2neon}/include" ]; preConfigure = '' diff --git a/pkgs/by-name/ss/sse2neon/package.nix b/pkgs/by-name/ss/sse2neon/package.nix index da6664d70869..7b4420e62f82 100644 --- a/pkgs/by-name/ss/sse2neon/package.nix +++ b/pkgs/by-name/ss/sse2neon/package.nix @@ -1,7 +1,6 @@ { lib, fetchFromGitHub, - pkg-config, stdenv, }: @@ -16,19 +15,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-vb9k+KjiGodVngza0R18LjfPTlsqFbzqXZqefm6KHj0="; }; - postPatch = '' - # remove warning about gcc < 10 - substituteInPlace sse2neon.h --replace-fail "#warning \"GCC versions" "// " - ''; + doCheck = true; - nativeBuildInputs = [ pkg-config ]; + installPhase = '' + runHook preInstall - dontInstall = true; - # use postBuild instead of installPhase, because the build - # in itself doesn't produce any ($out) output - postBuild = '' - mkdir -p $out/lib - install -m444 sse2neon.h $out/lib/ + install -Dm644 sse2neon.h $out/include/sse2neon.h + + runHook postInstall ''; meta = { From a543db31e85862d3b8b9193cf4ad9cda728d432c Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Mon, 3 Nov 2025 22:31:28 +0100 Subject: [PATCH 3/4] etterna: add aarch64-linux support Signed-off-by: Marcin Serwin --- .../0001-Add-aarch64-linux-support.patch | 61 +++++++++++++++++++ pkgs/by-name/et/etterna/package.nix | 7 ++- 2 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 pkgs/by-name/et/etterna/0001-Add-aarch64-linux-support.patch diff --git a/pkgs/by-name/et/etterna/0001-Add-aarch64-linux-support.patch b/pkgs/by-name/et/etterna/0001-Add-aarch64-linux-support.patch new file mode 100644 index 000000000000..33b94e5a6977 --- /dev/null +++ b/pkgs/by-name/et/etterna/0001-Add-aarch64-linux-support.patch @@ -0,0 +1,61 @@ +From 778cb2ed0d56614fd06d2129398799e46ff51720 Mon Sep 17 00:00:00 2001 +From: Marcin Serwin +Date: Mon, 3 Nov 2025 22:25:10 +0100 +Subject: [PATCH] Add aarch64-linux support + +Signed-off-by: Marcin Serwin +--- + src/Etterna/Models/Misc/StageStats.cpp | 23 +++++++++++++++++++++-- + 1 file changed, 21 insertions(+), 2 deletions(-) + +diff --git a/src/Etterna/Models/Misc/StageStats.cpp b/src/Etterna/Models/Misc/StageStats.cpp +index 0c70cf25ae..671717505d 100644 +--- a/src/Etterna/Models/Misc/StageStats.cpp ++++ b/src/Etterna/Models/Misc/StageStats.cpp +@@ -19,8 +19,9 @@ + #include "Etterna/Singletons/GameManager.h" + #include "Etterna/Models/NoteData/NoteDataUtil.h" + +-#if !( defined(_WIN32) || defined(__APPLE__)) +- #include //We only use cpuid.h on Linux :) ++#if !( defined(_WIN32) || defined(__APPLE__)) \ ++ && (defined(__x86_64__) || defined(__i386__)) ++ #include //We only use cpuid.h on x86 Linux :) + #endif + + #ifdef _WIN32 +@@ -236,6 +237,8 @@ getCpuHash() + + #else // !DARWIN + ++#if defined(__x86_64__) || defined(__i386__) ++ + uint16_t + getCpuHash() + { +@@ -248,6 +251,22 @@ getCpuHash() + + return hash; + } ++ ++#else // !x86 ++ ++uint16_t ++getCpuHash() ++{ ++ // https://www.kernel.org/doc/html/v6.17/arch/arm64/cpu-feature-registers.html ++ uint64_t midr = 0; ++ asm("mrs %0, MIDR_EL1" : "=r"(midr)); ++ ++ // Only leave implementer, variant, and architecture bits. ++ // See https://developer.arm.com/documentation/ddi0601/2025-09/AArch64-Registers/MIDR-EL1--Main-ID-Register?lang=en ++ return midr >> 16; ++} ++ ++#endif // !x86 + #endif // !DARWIN + + std::string +-- +2.51.0 + diff --git a/pkgs/by-name/et/etterna/package.nix b/pkgs/by-name/et/etterna/package.nix index dff72cd5b51a..c4e6f97a8086 100644 --- a/pkgs/by-name/et/etterna/package.nix +++ b/pkgs/by-name/et/etterna/package.nix @@ -27,7 +27,12 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-ZCQt99Qcov/7jGfrSmX9WftaP2U2B1d1APK1mxrUDBs="; }; - patches = [ ./fix-download-manager.patch ]; + patches = [ + ./fix-download-manager.patch + + # https://github.com/etternagame/etterna/pull/1396 + ./0001-Add-aarch64-linux-support.patch + ]; nativeBuildInputs = [ cmake From 55a1fd504b990d5efacf9f9ed788d938fc913d18 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Mon, 3 Nov 2025 22:47:31 +0100 Subject: [PATCH 4/4] etterna: specify meta.platforms Signed-off-by: Marcin Serwin --- pkgs/by-name/et/etterna/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/et/etterna/package.nix b/pkgs/by-name/et/etterna/package.nix index c4e6f97a8086..593b66bd10a1 100644 --- a/pkgs/by-name/et/etterna/package.nix +++ b/pkgs/by-name/et/etterna/package.nix @@ -110,5 +110,9 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.mit; maintainers = with lib.maintainers; [ alikindsys ]; mainProgram = "etterna"; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; }; })