nixpkgs/pkgs/applications/science/physics/nnpdf/default.nix
stuebinm ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
2024-03-19 03:14:51 +01:00

67 lines
1.3 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, cmake
, pkg-config
, apfel
, gsl
, lhapdf
, libarchive
, yaml-cpp
, python3
, sqlite
, swig
}:
stdenv.mkDerivation rec {
pname = "nnpdf";
version = "4.0.9";
src = fetchFromGitHub {
owner = "NNPDF";
repo = pname;
rev = version;
hash = "sha256-PyhkHlOlzKfDxUX91NkeZWjdEzFR4PW0Yh5Yz6ZA27g=";
};
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
yaml-cpp
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";
mainProgram = "evolven3fit";
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);
};
}