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
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen@fastmail.net>
|
;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen@fastmail.net>
|
||||||
|
;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
|
@ -20,9 +21,11 @@
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module ((guix licenses) #:prefix license:)
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages gv)
|
#:use-module (gnu packages gv)
|
||||||
#:use-module (gnu packages maths)
|
#:use-module (gnu packages maths)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (guix build-system python))
|
#:use-module (guix build-system python))
|
||||||
|
|
||||||
(define-public domainfinder
|
(define-public domainfinder
|
||||||
|
|
@ -54,6 +57,84 @@ single structure. The software is currently not actively maintained and works
|
||||||
only with Python 2 and NumPy < 1.9.")
|
only with Python 2 and NumPy < 1.9.")
|
||||||
(license license:cecill-c)))
|
(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
|
(define with-numpy-1.8
|
||||||
(package-input-rewriting `((,python2-numpy . ,python2-numpy-1.8))))
|
(package-input-rewriting `((,python2-numpy . ,python2-numpy-1.8))))
|
||||||
|
|
||||||
|
|
|
||||||
Reference in a new issue