Files
nixpkgs/pkgs/applications/science/physics/nnpdf/default.nix
Rick van Schijndel 9833d56c24 treewide: mark packages broken that never built on PLATFORM
Done with the help of https://github.com/Mindavi/nixpkgs-mark-broken
Tool is still WIP but this is one of the first results.

I manually audited the results and removed some results that were not valid.

Note that some of these packages maybe should have more constrained platforms set
instead of broken set, but I think not being perfectly correct is better than
just keep trying to build all these things and never succeeding.

Some observations:

- Some darwin builds require XCode tools
- aarch64-linux builds sometimes suffer from using gcc9
  - gcc9 is getting older and misses some new libraries/features
- Sometimes tools try to do system detection or expect some explicit settings for
  platforms that are not x86_64-linux
2022-12-13 21:40:12 +01:00

74 lines
1.5 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, cmake
, pkg-config
, apfel
, gsl
, lhapdf
, libarchive
, libyamlcpp
, python3
, sqlite
, swig
}:
stdenv.mkDerivation rec {
pname = "nnpdf";
version = "4.0.4";
src = fetchFromGitHub {
owner = "NNPDF";
repo = pname;
rev = version;
sha256 = "sha256-Alx4W0TkPzJBsnRXcKBrlEU6jWTnOjrji/IPk+dNCw0=";
};
patches = [
(fetchpatch {
url = "https://github.com/NNPDF/nnpdf/commit/7943b62a91d3a41fd4f6366b18881d50695f4b45.diff";
hash = "sha256-UXhTO7vZgJiY8h3bgjg7SQC0gMUQsYQ/V/PgtCEQ7VU=";
})
];
postPatch = ''
for file in CMakeLists.txt buildmaster/CMakeLists.txt; do
substituteInPlace $file \
--replace "-march=nocona -mtune=haswell" ""
done
'';
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
apfel
gsl
lhapdf
libarchive
libyamlcpp
python3
python3.pkgs.numpy
sqlite
swig
];
cmakeFlags = [
"-DCOMPILE_filter=ON"
"-DCOMPILE_evolvefit=ON"
];
meta = with lib; {
description = "An open-source machine learning framework for global analyses of parton distributions";
homepage = "https://docs.nnpdf.science/";
license = licenses.gpl3Only;
maintainers = [ maintainers.veprbl ];
platforms = platforms.unix;
# never built on aarch64-darwin since first introduction in nixpkgs
broken = (stdenv.isDarwin && stdenv.isAarch64) || (stdenv.isLinux && stdenv.isAarch64);
};
}