summary refs log tree commit diff
path: root/pkgs/applications/science/chemistry
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/science/chemistry')
-rw-r--r--pkgs/applications/science/chemistry/pymol/default.nix34
1 files changed, 28 insertions, 6 deletions
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;
   };