mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-25 08:23:09 +00:00
nest: fix Python & Darwin
Removed auto-patch-elf and replaced with find command that moves libraries where they are expected by nest. Auto-patchelf isn't supported on aarch64, so I copied my local derivation fix I've been using. PyNEST also requires numpy, so that has been added to propagatedbuildinputs. Also added support for OpenMP on Darwin.
This commit is contained in:
parent
a395950650
commit
5ce4a02687
@ -5,9 +5,12 @@
|
||||
, cmake
|
||||
, gsl
|
||||
, libtool
|
||||
, findutils
|
||||
, llvmPackages
|
||||
, mpi
|
||||
, nest
|
||||
, pkg-config
|
||||
, boost
|
||||
, python3
|
||||
, readline
|
||||
, autoPatchelfHook
|
||||
@ -37,24 +40,36 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
autoPatchelfHook
|
||||
findutils
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gsl
|
||||
readline
|
||||
libtool # libltdl
|
||||
boost
|
||||
] ++ lib.optionals withPython [
|
||||
python3
|
||||
python3.pkgs.cython
|
||||
] ++ lib.optional withMpi mpi;
|
||||
] ++ lib.optional withMpi mpi
|
||||
++ lib.optional stdenv.isDarwin llvmPackages.openmp;
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
numpy
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-Dwith-python=${if withPython then "ON" else "OFF"}"
|
||||
"-Dwith-mpi=${if withMpi then "ON" else "OFF"}"
|
||||
"-Dwith-openmp=${if stdenv.isDarwin then "OFF" else "ON"}"
|
||||
"-Dwith-openmp=ON"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
# Alternative to autoPatchElf, moves libraries where
|
||||
# Nest expects them to be
|
||||
find $out/lib/nest -type f -exec ln -s {} $out/lib \;
|
||||
'';
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = nest;
|
||||
command = "nest --version";
|
||||
@ -64,7 +79,7 @@ stdenv.mkDerivation rec {
|
||||
description = "NEST is a command line tool for simulating neural networks";
|
||||
homepage = "https://www.nest-simulator.org/";
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ jiegec ];
|
||||
maintainers = with maintainers; [ jiegec davidcromp ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user