diff --git a/pkgs/by-name/cu/curv/package.nix b/pkgs/by-name/cu/curv/package.nix index bb1d3bc3ca4e..c32254a94890 100644 --- a/pkgs/by-name/cu/curv/package.nix +++ b/pkgs/by-name/cu/curv/package.nix @@ -2,6 +2,8 @@ lib, stdenv, fetchFromGitea, + fetchFromGitLab, + fetchpatch, cmake, git, pkg-config, @@ -41,7 +43,33 @@ stdenv.mkDerivation rec { buildInputs = [ boost - eigen + # https://codeberg.org/doug-moen/curv/issues/228 + # reverts 'eigen: 3.4.0 -> 3.4.0-unstable-2022-05-19' + # https://github.com/nixos/nixpkgs/commit/d298f046edabc84b56bd788e11eaf7ed72f8171c + (eigen.overrideAttrs (old: rec { + version = "3.4.0"; + src = fetchFromGitLab { + owner = "libeigen"; + repo = "eigen"; + rev = version; + hash = "sha256-1/4xMetKMDOgZgzz3WMxfHUEpmdAm52RqZvz6i0mLEw="; + }; + patches = (old.patches or [ ]) ++ [ + # Fixes e.g. onnxruntime on aarch64-darwin: + # https://hydra.nixos.org/build/248915128/nixlog/1, + # originally suggested in https://github.com/NixOS/nixpkgs/pull/258392. + # + # The patch is from + # ["Fix vectorized reductions for Eigen::half"](https://gitlab.com/libeigen/eigen/-/merge_requests/699) + # which is two years old, + # but Eigen hasn't had a release in two years either: + # https://gitlab.com/libeigen/eigen/-/issues/2699. + (fetchpatch { + url = "https://gitlab.com/libeigen/eigen/-/commit/d0e3791b1a0e2db9edd5f1d1befdb2ac5a40efe0.patch"; + hash = "sha256-8qiNpuYehnoiGiqy0c3Mcb45pwrmc6W4rzCxoLDSvj0="; + }) + ]; + })) glm libGL libpng