Unverified Commit 3a05537b authored by Peder Bergebakken Sundt's avatar Peder Bergebakken Sundt Committed by GitHub
Browse files

eigen_3_4_0: init at 3.4.0, migrate eigen{,2,_3_4_0} to by-name (#389101)

parents 811d35e7 c9bcec08
Loading
Loading
Loading
Loading
+3 −36
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@
  fetchFromGitHub,
  python,
  makeWrapper,
  eigen,
  eigen_3_4_0,
  fftw,
  libtiff,
  libpng,
@@ -18,41 +18,8 @@
  libXext,
  less,
  withGui ? true,
  fetchFromGitLab,
  fetchpatch,
}:

let
  # reverts 'eigen: 3.4.0 -> 3.4.0-unstable-2022-05-19'
  # https://github.com/NixOS/nixpkgs/commit/d298f046edabc84b56bd788e11eaf7ed72f8171c
  eigen' = (
    eigen.overrideAttrs (old: rec {
      version = "3.4.0";
      src = fetchFromGitLab {
        owner = "libeigen";
        repo = "eigen";
        tag = 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=";
        })
      ];
    })
  );
in

stdenv.mkDerivation rec {
  pname = "mrtrix";
  version = "3.0.4-unstable-2025-04-09";
@@ -74,7 +41,7 @@ stdenv.mkDerivation rec {
  buildInputs =
    [
      ants
      eigen'
      eigen_3_4_0
      python
      fftw
      libtiff
@@ -113,7 +80,7 @@ stdenv.mkDerivation rec {

  configurePhase = ''
    runHook preConfigure
    export EIGEN_CFLAGS="-isystem ${eigen'}/include/eigen3"
    export EIGEN_CFLAGS="-isystem ${eigen_3_4_0}/include/eigen3"
    unset LD  # similar to https://github.com/MRtrix3/mrtrix3/issues/1519
    ./configure ${lib.optionalString (!withGui) "-nogui"};
    runHook postConfigure
+2 −30
Original line number Diff line number Diff line
@@ -2,13 +2,11 @@
  lib,
  stdenv,
  fetchFromGitea,
  fetchFromGitLab,
  fetchpatch,
  cmake,
  git,
  pkg-config,
  boost,
  eigen,
  eigen_3_4_0,
  glm,
  libGL,
  libpng,
@@ -43,33 +41,7 @@ stdenv.mkDerivation {
  buildInputs =
    [
      boost
      # 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=";
          })
        ];
      }))
      eigen_3_4_0
      glm
      libGL
      libpng
Loading