From adb8dffe97f307fba886b8ec35d09b2e438b09c7 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 16 Sep 2024 15:29:28 +0200 Subject: [PATCH] libaom,libvmaf: pin to GCC 13 on aarch64 We got pretty lucky here. libaom doesn't expose any public C++ ABI. It does depend on libvmaf, which does have public C++ ABI, so it also needs to be pinned but fortunately on aarch64 nothing else uses it, at least by default. --- pkgs/top-level/all-packages.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 216836f79186..506e85b2d319 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20968,7 +20968,10 @@ with pkgs; libantlr3c = callPackage ../development/libraries/libantlr3c { }; - libaom = callPackage ../development/libraries/libaom { }; + libaom = callPackage ../development/libraries/libaom { + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116737 + stdenv = if stdenv.hostPlatform.isAarch64 && stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "14" then gcc13Stdenv else stdenv; + }; libappindicator-gtk2 = libappindicator.override { gtkVersion = "2"; }; libappindicator-gtk3 = libappindicator.override { gtkVersion = "3"; }; @@ -22186,7 +22189,10 @@ with pkgs; libvisual = callPackage ../development/libraries/libvisual { }; - libvmaf = callPackage ../development/libraries/libvmaf { }; + libvmaf = callPackage ../development/libraries/libvmaf { + # See libaom + stdenv = if stdenv.hostPlatform.isAarch64 && stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "14" then gcc13Stdenv else stdenv; + }; libvncserver = callPackage ../development/libraries/libvncserver { inherit (darwin.apple_sdk.frameworks) Carbon;