mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 05:48:07 -05:00
gnu: Add inchi.
* gnu/packages/chemistry.scm (inchi): New variable.
This commit is contained in:
parent
27f7cbc91d
commit
a49eb85c34
1 changed files with 81 additions and 0 deletions
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen@fastmail.net>
|
||||
;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -20,9 +21,11 @@ (define-module (gnu packages chemistry)
|
|||
#:use-module (guix packages)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix download)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages gv)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python))
|
||||
|
||||
(define-public domainfinder
|
||||
|
@ -54,6 +57,84 @@ (define-public domainfinder
|
|||
only with Python 2 and NumPy < 1.9.")
|
||||
(license license:cecill-c)))
|
||||
|
||||
(define-public inchi
|
||||
(package
|
||||
(name "inchi")
|
||||
(version "1.05")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.inchi-trust.org/download/"
|
||||
(string-join (string-split version #\.) "")
|
||||
"/INCHI-1-SRC.zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"081pcjx1z5jm23fs1pl2r3bccia0ww8wfkzcjpb7byhn7b513hsa"))
|
||||
(file-name (string-append name "-" version ".zip"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no check target
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ; no configure script
|
||||
(add-before 'build 'chdir-to-build-directory
|
||||
(lambda _ (chdir "INCHI_EXE/inchi-1/gcc") #t))
|
||||
(add-after 'build 'build-library
|
||||
(lambda _
|
||||
(chdir "../../../INCHI_API/libinchi/gcc")
|
||||
(invoke "make")))
|
||||
(replace 'install
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(doc (string-append out "/share/doc/inchi"))
|
||||
(include-dir (string-append out "/include/inchi"))
|
||||
(lib (string-append out "/lib/inchi"))
|
||||
(inchi-doc (assoc-ref inputs "inchi-doc"))
|
||||
(unzip (string-append (assoc-ref inputs "unzip")
|
||||
"/bin/unzip")))
|
||||
(chdir "../../..")
|
||||
;; Install binary.
|
||||
(with-directory-excursion "INCHI_EXE/bin/Linux"
|
||||
(rename-file "inchi-1" "inchi")
|
||||
(install-file "inchi" bin))
|
||||
;; Install libraries.
|
||||
(with-directory-excursion "INCHI_API/bin/Linux"
|
||||
(for-each (lambda (file)
|
||||
(install-file file lib))
|
||||
(find-files "." "libinchi\\.so\\.1\\.*")))
|
||||
;; Install header files.
|
||||
(with-directory-excursion "INCHI_BASE/src"
|
||||
(for-each (lambda (file)
|
||||
(install-file file include-dir))
|
||||
(find-files "." "\\.h$")))
|
||||
;; Install documentation.
|
||||
(mkdir-p doc)
|
||||
(invoke unzip "-j" "-d" doc inchi-doc)
|
||||
#t))))))
|
||||
(native-inputs
|
||||
`(("unzip" ,unzip)
|
||||
("inchi-doc"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.inchi-trust.org/download/"
|
||||
(string-join (string-split version #\.) "")
|
||||
"/INCHI-1-DOC.zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"1id1qb2y4lwsiw91qr2yqpn6kxbwjwhjk0hb2rwk4fxhdqib6da6"))
|
||||
(file-name (string-append name "-" version ".zip"))))))
|
||||
(home-page "https://www.inchi-trust.org")
|
||||
(synopsis "Utility for manipulating machine-readable chemical structures")
|
||||
(description
|
||||
"The @dfn{InChI} (IUPAC International Chemical Identifier) algorithm turns
|
||||
chemical structures into machine-readable strings of information. InChIs are
|
||||
unique to the compound they describe and can encode absolute stereochemistry
|
||||
making chemicals and chemistry machine-readable and discoverable. A simple
|
||||
analogy is that InChI is the bar-code for chemistry and chemical structures.")
|
||||
(license (license:non-copyleft
|
||||
"file://LICENCE"
|
||||
"See LICENCE in the distribution."))))
|
||||
|
||||
(define with-numpy-1.8
|
||||
(package-input-rewriting `((,python2-numpy . ,python2-numpy-1.8))))
|
||||
|
||||
|
|
Loading…
Reference in a new issue