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
|
@ -34,12 +34,14 @@
|
|||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages backup)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages c)
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages graphviz)
|
||||
|
@ -55,6 +57,7 @@
|
|||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages stb)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
|
@ -666,3 +669,85 @@ It can be used for working with
|
|||
@item crystallographic symmetry.
|
||||
@end enumerate")
|
||||
(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