Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 stdenv, 4 fetchurl, 5 geant4, 6}: 7 8let 9 mkDataset = 10 { 11 pname, 12 version, 13 sha256, 14 envvar, 15 }: 16 stdenv.mkDerivation { 17 inherit pname version; 18 geant_version = geant4.version; 19 20 src = fetchurl { 21 url = "https://cern.ch/geant4-data/datasets/${pname}.${version}.tar.gz"; 22 inherit sha256; 23 }; 24 25 preferLocalBuild = true; 26 dontBuild = true; 27 dontConfigure = true; 28 29 datadir = "${placeholder "out"}/share/Geant4-${geant4.version}/data/${pname}${version}"; 30 installPhase = '' 31 mkdir -p $datadir 32 mv ./* $datadir 33 ''; 34 35 inherit envvar; 36 setupHook = ./datasets-hook.sh; 37 38 meta = with lib; { 39 description = "Data files for the Geant4 toolkit"; 40 homepage = "https://geant4.web.cern.ch/support/download"; 41 license = licenses.g4sl; 42 platforms = platforms.all; 43 }; 44 }; 45in 46builtins.listToAttrs ( 47 map 48 (a: { 49 name = a.pname; 50 value = mkDataset a; 51 }) 52 [ 53 { 54 pname = "G4NDL"; 55 version = "4.7.1"; 56 sha256 = "sha256-06yuSGIhGNJXneJKVNUz+yQWvw2p3SiPFyTfFIWkbHw="; 57 envvar = "NEUTRONHP"; 58 } 59 60 { 61 pname = "G4EMLOW"; 62 version = "8.6.1"; 63 sha256 = "sha256-SpNYjSYIDOHTNrlPdvravkkF+48cuiQVeVAj1s2PSoo="; 64 envvar = "LE"; 65 } 66 67 { 68 pname = "G4PhotonEvaporation"; 69 version = "6.1"; 70 sha256 = "sha256-X/wfmagdUMkCAYbVmHSvc8U7okwYQrO4KzGIIjuyRvI="; 71 envvar = "LEVELGAMMA"; 72 } 73 74 { 75 pname = "G4RadioactiveDecay"; 76 version = "6.1.2"; 77 sha256 = "sha256-pA1+Prxk01VVxKSdD/HglFzWBdhDVNBTEhKTkUyuoTo="; 78 envvar = "RADIOACTIVE"; 79 } 80 81 { 82 pname = "G4SAIDDATA"; 83 version = "2.0"; 84 sha256 = "sha256-HSao55uqceRNV1m59Vpn6Lft4xdRMWqekDfYAJDHLpE="; 85 envvar = "SAIDXS"; 86 } 87 88 { 89 pname = "G4PARTICLEXS"; 90 version = "4.1"; 91 sha256 = "sha256-B64eBI6ayOf5H2aWSX3VW9UMzIItl68aC56SMhKm19E="; 92 envvar = "PARTICLEXS"; 93 } 94 95 { 96 pname = "G4ABLA"; 97 version = "3.3"; 98 sha256 = "sha256-HgQbMlLunO+IbWJPdT5pMwOqMtfl7zu6h7NPNtkuorE="; 99 envvar = "ABLA"; 100 } 101 102 { 103 pname = "G4INCL"; 104 version = "1.2"; 105 sha256 = "sha256-+ICxYHPuCpLXSU8ydqbVLU3h02d6DUx8WHADlu0OGn4="; 106 envvar = "INCL"; 107 } 108 109 { 110 pname = "G4PII"; 111 version = "1.3"; 112 sha256 = "sha256-YiWtkCZ19DgcmMa6JfxaBs6HVJqpeWNNPQNJHWYW6SY="; 113 envvar = "PII"; 114 } 115 116 { 117 pname = "G4ENSDFSTATE"; 118 version = "3.0"; 119 sha256 = "sha256-S9w71Asx1DSFv0+H8FVwXlQKZVfWTthcaJxZyaTrp9Y="; 120 envvar = "ENSDFSTATE"; 121 } 122 123 { 124 pname = "G4RealSurface"; 125 version = "2.2"; 126 sha256 = "sha256-mVTe4AEvUzEmf3g2kOkS5y21v1Lqm6vs0S6iIoIXaCA="; 127 envvar = "REALSURFACE"; 128 } 129 130 { 131 pname = "G4TENDL"; 132 version = "1.4"; 133 sha256 = "sha256-S3J0AgzItO1Wm4ku8YwuCI7c22tm850lWFzO4l2XIeA="; 134 envvar = "PARTICLEHP"; 135 } 136 137 { 138 pname = "G4CHANNELING"; 139 version = "1.0"; 140 sha256 = "sha256-ID48aZhMoJrNGBodMamw76+tS8EubGCPCwXmlRINZ/I="; 141 envvar = "CHANNELING"; 142 } 143 144 { 145 pname = "G4NUDEXLIB"; 146 version = "1.0"; 147 sha256 = "sha256-ysfWXpxa+O26KyZn1YIuFqr5kGXJX4Bedt5MyGOV9BU="; 148 envvar = "NUDEXLIB"; 149 } 150 151 { 152 pname = "G4URRPT"; 153 version = "1.1"; 154 sha256 = "sha256-ajQy24C8CIruGcUEucASSRMAXWNX6hSHBFFACrINnBE="; 155 envvar = "URRPT"; 156 } 157 ] 158)