From patchwork Thu Oct 13 21:04:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Elsing X-Patchwork-Id: 43387 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 2A7D927BBE9; Thu, 13 Oct 2022 22:07:09 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 13A1027BBEA for ; Thu, 13 Oct 2022 22:07:05 +0100 (BST) Received: from localhost ([::1]:59612 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oj5Q0-00047k-4Y for patchwork@mira.cbaines.net; Thu, 13 Oct 2022 17:07:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45128) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oj5P3-00032N-D8 for guix-patches@gnu.org; Thu, 13 Oct 2022 17:06:06 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:36093) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oj5P3-0007Uj-31 for guix-patches@gnu.org; Thu, 13 Oct 2022 17:06:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oj5P2-0005nD-Tv for guix-patches@gnu.org; Thu, 13 Oct 2022 17:06:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#58261] [PATCH v3 09/15] gnu: Add freesasa. Resent-From: David Elsing Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 13 Oct 2022 21:06:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 58261 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 58261@debbugs.gnu.org Cc: David Elsing Received: via spool by 58261-submit@debbugs.gnu.org id=B58261.166569511922113 (code B ref 58261); Thu, 13 Oct 2022 21:06:04 +0000 Received: (at 58261) by debbugs.gnu.org; 13 Oct 2022 21:05:19 +0000 Received: from localhost ([127.0.0.1]:35151 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oj5OI-0005kU-1P for submit@debbugs.gnu.org; Thu, 13 Oct 2022 17:05:19 -0400 Received: from mout02.posteo.de ([185.67.36.66]:34785) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oj5Nx-0005hH-RG for 58261@debbugs.gnu.org; Thu, 13 Oct 2022 17:04:58 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 57EC2240101 for <58261@debbugs.gnu.org>; Thu, 13 Oct 2022 23:04:52 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1665695092; bh=d52oTREH465b1cVlWmsh9LgN+tmCIg/imYKO6s7j27g=; h=From:To:Cc:Subject:Date:From; b=jn8QKYFspIJfZrdmUg1WDOEmIrjznvnFn9O/iQu9BhgSc6Y8mFmCeFV2V/veDf1US 4nJJu3P51CpqjP4iplX4eMAriSyPWATGcI6yyi9Oo2g//KGOoESyGp7YnOCBMZq61i g+q01iR/U4ecihi8n/wxyAZLNKGKGQYFDh2CiRfat348D92CcP+TbASTD2U+llyQvP vYwFLFDOGGr7Ctre2AQE3lQMNzK2hmubmI0XgEpF2hgPslQTPeERIzvVlTdEz/UyFH sDRyjIBd0VKajV1Lh48rJrw05enZlvJbO3eVqtMilJDBv9FPjX3a/aKg17U2OvBEMw eOmdGnZMA+LEA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4MpMTv6vTbz6tnd; Thu, 13 Oct 2022 23:04:51 +0200 (CEST) From: David Elsing Date: Thu, 13 Oct 2022 21:04:18 +0000 Message-Id: <20221013210424.993-10-david.elsing@posteo.net> In-Reply-To: <20221007152148.32591-1-david.elsing@posteo.net> References: <20221007152148.32591-1-david.elsing@posteo.net> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/chemistry.scm (freesasa): New variable. --- gnu/packages/chemistry.scm | 86 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm index c6b8376248..a9868ed64d 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) @@ -685,3 +688,86 @@ (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")))))) + (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))))))) + (native-inputs + (list autoconf + automake + bison + check + doxygen + fast-float + flex + libtool + pegtl + perl + pkg-config)) + (inputs + (list gemmi json-c libxml2)) + (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)))