diff options
author | Kei Kebreau <kkebreau@posteo.net> | 2018-07-18 14:11:16 -0400 |
---|---|---|
committer | Kei Kebreau <kkebreau@posteo.net> | 2018-08-25 17:05:30 -0400 |
commit | 7d01ee66d46c30152f1a8c855c20042e376d207c (patch) | |
tree | b2c846304c54020a46b1df55717fb5c7ae9b0c58 /gnu/packages/chemistry.scm | |
parent | 94e9d750a22e30459732d2ae14d71c5f3acabd91 (diff) | |
download | gnu-guix-7d01ee66d46c30152f1a8c855c20042e376d207c.tar gnu-guix-7d01ee66d46c30152f1a8c855c20042e376d207c.tar.gz |
gnu: Add avogadro.
* gnu/packages/chemistry.scm (avogadro): New variable.
* gnu/packages/patches/avogadro-boost148.patch,
gnu/packages/patches/avogadro-eigen3-update.patch,
gnu/packages/patches/avogadro-python-eigen-lib.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
Diffstat (limited to 'gnu/packages/chemistry.scm')
-rw-r--r-- | gnu/packages/chemistry.scm | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm index 2d7cb7aad1..03120aaeee 100644 --- a/gnu/packages/chemistry.scm +++ b/gnu/packages/chemistry.scm @@ -23,16 +23,96 @@ #:use-module (guix download) #:use-module (gnu packages) #:use-module (gnu packages algebra) + #:use-module (gnu packages boost) #:use-module (gnu packages compression) + #:use-module (gnu packages documentation) + #:use-module (gnu packages gl) #:use-module (gnu packages gv) #:use-module (gnu packages maths) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages qt) #:use-module (gnu packages xml) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system python)) +(define-public avogadro + (package + (name "avogadro") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/cryos/avogadro/archive/" + version ".tar.gz")) + (sha256 + (base32 + "02v4h6hi1m7ilv0apdf74a8l1cm6dxnxyqp0rdaidrp3i9pf6lv4")) + (file-name (string-append name "-" version ".tar.gz")) + (patches + (search-patches "avogadro-eigen3-update.patch" + "avogadro-python-eigen-lib.patch" + "avogadro-boost148.patch")))) + (build-system cmake-build-system) + (arguments + '(#:tests? #f + #:configure-flags + (list "-DENABLE_GLSL=ON" + (string-append "-DPYTHON_LIBRARIES=" + (assoc-ref %build-inputs "python") + "/lib") + (string-append "-DPYTHON_INCLUDE_DIRS=" + (assoc-ref %build-inputs "python") + "/include/python2.7")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-python-lib-path + (lambda* (#:key outputs #:allow-other-keys) + ;; This is necessary to install the Python module in the correct + ;; directory. + (substitute* "libavogadro/src/python/CMakeLists.txt" + (("^EXECUTE_PROCESS.*$") "") + (("^.*from sys import stdout.*$") "") + (("^.*OUTPUT_VARIABLE.*") + (string-append "set(PYTHON_LIB_PATH \"" + (assoc-ref outputs "out") + "/lib/python2.7/site-packages\")"))) + #t)) + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Make sure 'avogadro' runs with the correct PYTHONPATH. + (let* ((out (assoc-ref outputs "out"))) + (setenv "PYTHONPATH" + (string-append + (assoc-ref outputs "out") + "/lib/python2.7/site-packages:" + (getenv "PYTHONPATH"))) + (wrap-program (string-append out "/bin/avogadro") + `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))) + #t))))) + (native-inputs + `(("doxygen" ,doxygen) + ("pkg-config" ,pkg-config))) + (inputs + `(("boost" ,boost) + ("eigen" ,eigen) + ("glew" ,glew) + ("openbabel" ,openbabel) + ("python" ,python-2) + ("python-numpy" ,python2-numpy) + ("python-pyqt" ,python2-pyqt-4) + ("python-sip" ,python2-sip) + ("qt" ,qt-4) + ("zlib" ,zlib))) + (home-page "https://avogadro.cc") + (synopsis "Advanced molecule editor") + (description + "Avogadro is an advanced molecule editor and visualizer designed for use +in computational chemistry, molecular modeling, bioinformatics, materials +science, and related areas. It offers flexible high quality rendering and a +powerful plugin architecture.") + (license license:gpl2+))) + (define-public domainfinder (package (name "domainfinder") |