eigen_3_4_0: init at 3.4.0

This commit is contained in:
Peder Bergebakken Sundt 2025-03-11 22:45:48 +01:00
parent 2d2805b34e
commit 8c62d86884
6 changed files with 60 additions and 128 deletions

View file

@ -4,7 +4,7 @@
fetchFromGitHub, fetchFromGitHub,
python, python,
makeWrapper, makeWrapper,
eigen, eigen_3_4_0,
fftw, fftw,
libtiff, libtiff,
libpng, libpng,
@ -18,41 +18,8 @@
libXext, libXext,
less, less,
withGui ? true, 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 { stdenv.mkDerivation rec {
pname = "mrtrix"; pname = "mrtrix";
version = "3.0.4-unstable-2025-04-09"; version = "3.0.4-unstable-2025-04-09";
@ -74,7 +41,7 @@ stdenv.mkDerivation rec {
buildInputs = buildInputs =
[ [
ants ants
eigen' eigen_3_4_0
python python
fftw fftw
libtiff libtiff
@ -113,7 +80,7 @@ stdenv.mkDerivation rec {
configurePhase = '' configurePhase = ''
runHook preConfigure 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 unset LD # similar to https://github.com/MRtrix3/mrtrix3/issues/1519
./configure ${lib.optionalString (!withGui) "-nogui"}; ./configure ${lib.optionalString (!withGui) "-nogui"};
runHook postConfigure runHook postConfigure

View file

@ -2,13 +2,11 @@
lib, lib,
stdenv, stdenv,
fetchFromGitea, fetchFromGitea,
fetchFromGitLab,
fetchpatch,
cmake, cmake,
git, git,
pkg-config, pkg-config,
boost, boost,
eigen, eigen_3_4_0,
glm, glm,
libGL, libGL,
libpng, libpng,
@ -43,33 +41,7 @@ stdenv.mkDerivation {
buildInputs = buildInputs =
[ [
boost boost
# https://codeberg.org/doug-moen/curv/issues/228 eigen_3_4_0
# 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 glm
libGL libGL
libpng libpng

View file

@ -2,12 +2,10 @@
lib, lib,
stdenv, stdenv,
fetchurl, fetchurl,
fetchFromGitLab,
fetchpatch,
cfitsio, cfitsio,
cmake, cmake,
curl, curl,
eigen, eigen_3_4_0,
gsl, gsl,
indi-full, indi-full,
kdePackages, kdePackages,
@ -22,35 +20,6 @@
zlib, zlib,
}: }:
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";
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=";
})
];
});
in
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "kstars"; pname = "kstars";
version = "3.7.5"; version = "3.7.5";
@ -70,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
breeze-icons breeze-icons
cfitsio cfitsio
curl curl
eigen' eigen_3_4_0
gsl gsl
indi-full indi-full
kconfig kconfig

View file

@ -0,0 +1,49 @@
{
lib,
stdenv,
fetchFromGitLab,
fetchpatch,
cmake,
}:
stdenv.mkDerivation rec {
pname = "eigen";
version = "3.4.0";
src = fetchFromGitLab {
owner = "libeigen";
repo = "eigen";
rev = version;
hash = "sha256-1/4xMetKMDOgZgzz3WMxfHUEpmdAm52RqZvz6i0mLEw=";
};
patches = [
./include-dir.patch
# 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=";
})
];
nativeBuildInputs = [ cmake ];
meta = with lib; {
homepage = "https://eigen.tuxfamily.org";
description = "C++ template library for linear algebra: vectors, matrices, and related algorithms";
license = licenses.lgpl3Plus;
maintainers = with maintainers; [
sander
raskin
];
platforms = platforms.unix;
};
}

View file

@ -3,13 +3,11 @@
stdenv, stdenv,
wrapQtAppsHook, wrapQtAppsHook,
fetchFromGitHub, fetchFromGitHub,
fetchFromGitLab,
fetchpatch,
unstableGitUpdater, unstableGitUpdater,
cmake, cmake,
ninja, ninja,
pkg-config, pkg-config,
eigen, eigen_3_4_0,
zlib, zlib,
libpng, libpng,
boost, boost,
@ -38,32 +36,7 @@ stdenv.mkDerivation {
python.pkgs.pythonImportsCheckHook python.pkgs.pythonImportsCheckHook
]; ];
buildInputs = [ buildInputs = [
# reverts 'eigen: 3.4.0 -> 3.4.0-unstable-2022-05-19' eigen_3_4_0
# 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=";
})
];
}))
zlib zlib
libpng libpng
boost boost

View file

@ -9178,6 +9178,8 @@ with pkgs;
eigen = callPackage ../development/libraries/eigen { }; eigen = callPackage ../development/libraries/eigen { };
eigen_3_4_0 = callPackage ../development/libraries/eigen/3.4.0.nix { };
eigen2 = callPackage ../development/libraries/eigen/2.0.nix { }; eigen2 = callPackage ../development/libraries/eigen/2.0.nix { };
vapoursynth-editor = libsForQt5.callPackage ../by-name/va/vapoursynth/editor.nix { }; vapoursynth-editor = libsForQt5.callPackage ../by-name/va/vapoursynth/editor.nix { };