summaryrefslogtreecommitdiff
path: root/pkgs/development/libraries/physics/pythia/default.nix
blob: 88460017f7921f011a008375ffc67deb78476c7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
{
  lib,
  stdenv,
  fetchurl,
  boost,
  fastjet,
  fixDarwinDylibNames,
  hepmc,
  lhapdf,
  rsync,
  zlib,
}:

stdenv.mkDerivation rec {
  pname = "pythia";
  version = "8.317";

  src = fetchurl {
    url = "https://pythia.org/download/pythia83/pythia${
      builtins.replaceStrings [ "." ] [ "" ] version
    }.tgz";
    sha256 = "sha256-GuVR0U2sSV3f5rNEeSA16+QQ/mxgBNRKM14Ozg50Wt8=";
  };

  nativeBuildInputs = [ rsync ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ fixDarwinDylibNames ];
  buildInputs = [
    boost
    fastjet
    hepmc
    zlib
    lhapdf
  ];

  configureFlags = [
    "--enable-shared"
    "--with-lhapdf6=${lhapdf}"
  ]
  ++ (
    if lib.versions.major hepmc.version == "3" then
      [
        "--with-hepmc3=${hepmc}"
      ]
    else
      [
        "--with-hepmc2=${hepmc}"
      ]
  );

  enableParallelBuilding = true;

  meta = {
    description = "Program for the generation of high-energy physics events";
    mainProgram = "pythia8-config";
    license = lib.licenses.gpl2Only;
    homepage = "https://pythia.org";
    platforms = lib.platforms.unix;
    maintainers = with lib.maintainers; [ veprbl ];
  };
}