diff --git a/pkgs/applications/science/chemistry/pymol/default.nix b/pkgs/applications/science/chemistry/pymol/default.nix index af0c2e855498..200d00395e2a 100644 --- a/pkgs/applications/science/chemistry/pymol/default.nix +++ b/pkgs/applications/science/chemistry/pymol/default.nix @@ -1,24 +1,46 @@ -{ stdenv, fetchurl, python27Packages, glew, freeglut, libpng, libxml2, tk, freetype }: +{ stdenv, fetchurl, makeDesktopItem, python3Packages, glew, freeglut, libpng, libxml2, tk, freetype }: let - version = "1.8.4.0"; + pname = "pymol"; + ver_maj = "1.8"; + ver_min = "4"; + version = "${ver_maj}.${ver_min}.0"; + description = "A Python-enhanced molecular graphics tool"; + + desktopItem = makeDesktopItem { + name = "${pname}"; + exec = "${pname}"; + desktopName = "PyMol Molecular Graphics System"; + genericName = "Molecular Modeller"; + comment = description; + mimeType = "chemical/x-pdb;chemical/x-mdl-molfile;chemical/x-mol2;chemical/seq-aa-fasta;chemical/seq-na-fasta;chemical/x-xyz;chemical/x-mdl-sdf;"; + categories = "Graphics;Education;Science;Chemistry;"; + }; in -python27Packages.buildPythonApplication { +python3Packages.buildPythonApplication { name = "pymol-${version}"; src = fetchurl { - url = "mirror://sourceforge/project/pymol/pymol/1.8/pymol-v1.8.4.0.tar.bz2"; + url = "mirror://sourceforge/project/pymol/pymol/${ver_maj}/pymol-v${version}.tar.bz2"; sha256 = "0yfj8g5yic9zz6f0bw2n8h6ifvgsn8qvhq84alixsi28wzppn55n"; }; - buildInputs = [ python27Packages.numpy glew freeglut libpng libxml2 tk freetype ]; + buildInputs = [ python3Packages.numpy glew freeglut libpng libxml2 tk freetype ]; NIX_CFLAGS_COMPILE = "-I ${libxml2.dev}/include/libxml2"; installPhase = '' python setup.py install --home=$out + cp -r ${desktopItem}/share/ $out/ + runHook postInstall + ''; + + postInstall = '' + wrapProgram $out/bin/pymol \ + --prefix PYTHONPATH : ${python3Packages.Pmw}/lib/python3.6/site-packages \ + --prefix PYTHONPATH : ${python3Packages.tkinter}/lib/python3.6/site-packages ''; meta = with stdenv.lib; { - description = "A Python-enhanced molecular graphics tool"; + description = description; homepage = "https://www.pymol.org/"; license = licenses.psfl; };