Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 72 lines 1.7 kB view raw
1{ 2 stdenv, 3 lib, 4 fetchurl, 5 unzip, 6 makeDesktopItem, 7 jre, 8}: 9 10let 11 desktopItem = makeDesktopItem { 12 name = "jmol"; 13 exec = "jmol"; 14 desktopName = "JMol"; 15 genericName = "Molecular Modeler"; 16 mimeTypes = [ 17 "chemical/x-pdb" 18 "chemical/x-mdl-molfile" 19 "chemical/x-mol2" 20 "chemical/seq-aa-fasta" 21 "chemical/seq-na-fasta" 22 "chemical/x-xyz" 23 "chemical/x-mdl-sdf" 24 ]; 25 categories = [ 26 "Graphics" 27 "Education" 28 "Science" 29 "Chemistry" 30 ]; 31 }; 32in 33stdenv.mkDerivation rec { 34 version = "16.3.27"; 35 pname = "jmol"; 36 37 src = 38 let 39 baseVersion = "${lib.versions.major version}.${lib.versions.minor version}"; 40 in 41 fetchurl { 42 url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz"; 43 hash = "sha256-VRyMMkSwdXX80DudS+4uCZBnxypgmR/75PyK/vEJyrs="; 44 }; 45 46 patchPhase = '' 47 sed -i -e "4s:.*:command=${jre}/bin/java:" -e "10s:.*:jarpath=$out/share/jmol/Jmol.jar:" -e "11,21d" jmol 48 ''; 49 50 installPhase = '' 51 mkdir -p "$out/share/jmol" "$out/bin" 52 53 ${unzip}/bin/unzip jsmol.zip -d "$out/share/" 54 55 cp *.jar jmol.sh "$out/share/jmol" 56 cp -r ${desktopItem}/share/applications $out/share 57 cp jmol $out/bin 58 ''; 59 60 enableParallelBuilding = true; 61 62 meta = with lib; { 63 description = "Java 3D viewer for chemical structures"; 64 mainProgram = "jmol"; 65 homepage = "https://sourceforge.net/projects/jmol"; 66 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 67 license = licenses.lgpl2; 68 platforms = platforms.all; 69 maintainers = with maintainers; [ mounium ]; 70 teams = [ teams.sage ]; 71 }; 72}