gnu: Add freesasa.
* gnu/packages/chemistry.scm (freesasa): New variable. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>master
parent
696f20f0f6
commit
06358ee715
gnu/packages
|
@ -34,12 +34,14 @@
|
||||||
#:use-module (gnu packages algebra)
|
#:use-module (gnu packages algebra)
|
||||||
#:use-module (gnu packages autotools)
|
#:use-module (gnu packages autotools)
|
||||||
#:use-module (gnu packages backup)
|
#:use-module (gnu packages backup)
|
||||||
|
#:use-module (gnu packages bison)
|
||||||
#:use-module (gnu packages boost)
|
#:use-module (gnu packages boost)
|
||||||
#:use-module (gnu packages check)
|
#:use-module (gnu packages check)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages c)
|
#:use-module (gnu packages c)
|
||||||
#:use-module (gnu packages cpp)
|
#:use-module (gnu packages cpp)
|
||||||
#:use-module (gnu packages documentation)
|
#:use-module (gnu packages documentation)
|
||||||
|
#:use-module (gnu packages flex)
|
||||||
#:use-module (gnu packages fontutils)
|
#:use-module (gnu packages fontutils)
|
||||||
#:use-module (gnu packages gl)
|
#:use-module (gnu packages gl)
|
||||||
#:use-module (gnu packages graphviz)
|
#:use-module (gnu packages graphviz)
|
||||||
|
@ -55,6 +57,7 @@
|
||||||
#:use-module (gnu packages serialization)
|
#:use-module (gnu packages serialization)
|
||||||
#:use-module (gnu packages sphinx)
|
#:use-module (gnu packages sphinx)
|
||||||
#:use-module (gnu packages stb)
|
#:use-module (gnu packages stb)
|
||||||
|
#:use-module (gnu packages web)
|
||||||
#:use-module (gnu packages xml)
|
#:use-module (gnu packages xml)
|
||||||
#:use-module (guix build-system cmake)
|
#:use-module (guix build-system cmake)
|
||||||
#:use-module (guix build-system copy)
|
#:use-module (guix build-system copy)
|
||||||
|
@ -666,3 +669,85 @@ It can be used for working with
|
||||||
@item crystallographic symmetry.
|
@item crystallographic symmetry.
|
||||||
@end enumerate")
|
@end enumerate")
|
||||||
(license license:mpl2.0)))
|
(license license:mpl2.0)))
|
||||||
|
|
||||||
|
(define-public freesasa
|
||||||
|
(package
|
||||||
|
(name "freesasa")
|
||||||
|
(version "2.1.2")
|
||||||
|
(source (origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/mittinatten/freesasa")
|
||||||
|
(commit version)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"07wdnahf3g355ryaiqvfxd5f4rl54wv8jwxcbn0nia89fqysbv0f"))
|
||||||
|
(modules '((guix build utils)))
|
||||||
|
(snippet
|
||||||
|
'(begin
|
||||||
|
;; Remove C files generated by Flex and Bison
|
||||||
|
(for-each delete-file
|
||||||
|
'("src/parser.c" "src/parser.h"
|
||||||
|
"src/lexer.c" "src/lexer.h"))))))
|
||||||
|
(outputs '("out" "doc"))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
(list
|
||||||
|
#:configure-flags
|
||||||
|
#~(list "--enable-check"
|
||||||
|
"--enable-parser-generator"
|
||||||
|
"CXXFLAGS=-std=c++17"
|
||||||
|
"--enable-doxygen")
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'remove-libc++-linking
|
||||||
|
(lambda _
|
||||||
|
(substitute* "src/Makefile.am"
|
||||||
|
(("-lc\\+\\+") ""))))
|
||||||
|
(add-after 'unpack 'build-shared-library
|
||||||
|
(lambda _
|
||||||
|
(substitute* "src/Makefile.am"
|
||||||
|
(("lib_LIBRARIES") "lib_LTLIBRARIES")
|
||||||
|
(("libfreesasa\\.a") "libfreesasa.la")
|
||||||
|
(("freesasa_LDADD \\+= libfreesasa\\.la" prev)
|
||||||
|
(string-append prev "\nlibfreesasa_la_LIBADD"
|
||||||
|
" = -ljson-c ${libxml2_LIBS}\n"))
|
||||||
|
(("_a_SOURCES") "_la_SOURCES"))
|
||||||
|
(substitute* "configure.ac"
|
||||||
|
(("AC_PROG_INSTALL" inst)
|
||||||
|
(string-append "AM_PROG_LIBTOOL\n" inst)))
|
||||||
|
(substitute* "tests/Makefile.am"
|
||||||
|
(("libfreesasa\\.a") "libfreesasa.la"))))
|
||||||
|
(add-before 'build 'build-lexer-and-parser
|
||||||
|
(lambda _
|
||||||
|
(with-directory-excursion "src"
|
||||||
|
(invoke "make" "lexer.h" "parser.h"))))
|
||||||
|
(add-after 'install 'install-doc
|
||||||
|
(lambda _
|
||||||
|
(copy-recursively
|
||||||
|
"doc/html"
|
||||||
|
(string-append #$output:doc "/share/doc/"
|
||||||
|
#$name "-" #$version)))))))
|
||||||
|
(inputs (list gemmi json-c libxml2))
|
||||||
|
(native-inputs
|
||||||
|
(list autoconf
|
||||||
|
automake
|
||||||
|
bison
|
||||||
|
check
|
||||||
|
doxygen
|
||||||
|
fast-float
|
||||||
|
flex
|
||||||
|
libtool
|
||||||
|
pegtl
|
||||||
|
perl
|
||||||
|
pkg-config))
|
||||||
|
(home-page "https://freesasa.github.io/")
|
||||||
|
(synopsis "Calculate the solvent accessible surface area (SASA) of
|
||||||
|
molecules")
|
||||||
|
(description "FreeSASA is a command line tool and C-library for
|
||||||
|
calculating @acronym{SASAs, solvent accessible surface areas}. By default Lee
|
||||||
|
& Richards' algorithm is used, but Shrake & Rupley's is also available. Both
|
||||||
|
can be parameterized to arbitrary precision, and for high resolution versions
|
||||||
|
of the algorithms, the calculations give identical results.")
|
||||||
|
(license license:expat)))
|
||||||
|
|
Reference in New Issue