[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#58261] [PATCH 07/11] gnu: Add freesasa.
From: |
David Elsing |
Subject: |
[bug#58261] [PATCH 07/11] gnu: Add freesasa. |
Date: |
Fri, 07 Oct 2022 15:12:08 +0000 |
Liliana Marie Prikler <liliana.prikler@ist.tugraz.at> writes:
> Am Montag, dem 03.10.2022 um 00:19 +0000 schrieb David Elsing:
>> * gnu/packages/chemistry.scm (freesasa): New variable.
>> ---
>> gnu/packages/chemistry.scm | 81
>> ++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 81 insertions(+)
>>
>> diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm
>> index f8fd85814f..223a27a20d 100644
>> --- a/gnu/packages/chemistry.scm
>> +++ b/gnu/packages/chemistry.scm
>> @@ -34,11 +34,13 @@ (define-module (gnu packages chemistry)
>> #: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 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)
>> @@ -54,6 +56,7 @@ (define-module (gnu packages chemistry)
>> #: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)
>> @@ -688,3 +691,81 @@ (define-public gemmi
>> @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"))
>> + #t))))
>> + (build-system gnu-build-system)
>> + (inputs
>> + (list gemmi json-c libxml2))
>> + (native-inputs
>> + (list bison flex check autoconf automake pkg-config doxygen
>> perl libtool))
>> + (outputs '("out" "doc"))
>> + (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\\+\\+") ""))
>> + #t))
> Why? If it's because you're building a shared library, do this in the
> next phase.
This is libc++ from LLVM and the linking against the standard library is
automatic anyway, right?
>> + (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"))
>> + #t))
>> + (add-before 'build 'build-lexer-and-parser
>> + (lambda _
>> + (with-directory-excursion "src"
>> + (invoke "make" "lexer.h")
>> + (invoke "make" "parser.h"))
>> + #t))
> You can do this in one make.
>> + (add-after 'install 'install-doc
>> + (lambda _
>> + (copy-recursively
>> + "doc/html"
>> + (string-append #$output:doc "/share/doc/" #$name "-"
>> #$version))
>> + #t)))))
>> + (home-page "https://freesasa.github.io/")
>> + (synopsis "Library for calculating the solvent accessible
>> surface area
>> +(SASA) of molecules")
> "Calculate the..."
>> + (description "FreeSASA is a command line tool and C-library for
>> +calculating solvent accessible surface areas (SASA). By default Lee
>> &
> Use @abbr.
I get the error "warning: invalid Texinfo markup", do you have an idea why?
>> +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)))
>
> Cheers
- [bug#58261] [PATCH 04/11] gnu: Add tinydir., (continued)
[bug#58261] [PATCH 08/11] gnu: Add maeparser., David Elsing, 2022/10/02
[bug#58261] [PATCH 10/11] gnu: Add yaehmop-tightbind., David Elsing, 2022/10/02
[bug#58261] [PATCH 07/11] gnu: Add freesasa., David Elsing, 2022/10/02
[bug#58261] [PATCH 05/11] gnu: Add optionparser., David Elsing, 2022/10/02
[bug#58261] [PATCH 06/11] gnu: Add gemmi., David Elsing, 2022/10/02
[bug#58261] [PATCH v2 00/13] Add rdkit v2., David Elsing, 2022/10/07