Package: guix-patches;
Reported by: David Elsing <david.elsing <at> posteo.net>
Date: Mon, 3 Oct 2022 00:06:02 UTC
Severity: normal
Tags: patch
Done: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Bug is archived. No further changes may be made.
Message #146 received at 58261 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> ist.tugraz.at> To: David Elsing <david.elsing <at> posteo.net>, 58261 <at> debbugs.gnu.org Subject: Re: [PATCH 10/11] gnu: Add yaehmop-tightbind. Date: Fri, 07 Oct 2022 17:25:57 +0200
Am Freitag, dem 07.10.2022 um 15:12 +0000 schrieb David Elsing: > Liliana Marie Prikler <liliana.prikler <at> ist.tugraz.at> writes: > > > Am Montag, dem 03.10.2022 um 00:19 +0000 schrieb David Elsing: > > > * gnu/packages/chemistry.scm (yaehmop-tightbind): New variable. > > > --- > > > gnu/packages/chemistry.scm | 82 > > > ++++++++++++++++++++++++++++++++++++++ > > > 1 file changed, 82 insertions(+) > > > > > > diff --git a/gnu/packages/chemistry.scm > > > b/gnu/packages/chemistry.scm > > > index cc26aa329a..a39deff4bf 100644 > > > --- a/gnu/packages/chemistry.scm > > > +++ b/gnu/packages/chemistry.scm > > > @@ -42,6 +42,7 @@ (define-module (gnu packages chemistry) > > > #:use-module (gnu packages documentation) > > > #:use-module (gnu packages flex) > > > #:use-module (gnu packages fontutils) > > > + #:use-module (gnu packages gcc) > > > #:use-module (gnu packages gl) > > > #:use-module (gnu packages graphviz) > > > #:use-module (gnu packages gv) > > > @@ -817,3 +818,84 @@ (define-public coordgenlibs > > > (description "@code{coordgenlibs} contains algorithms to > > > generate 2D > > > coordinates. It has an emphasis on quality rather than speed.") > > > (license license:bsd-3))) > > > + > > > +(define-public yaehmop-tightbind > > > + (package > > > + (name "yaehmop-tightbind") > > > + (version "2022.09.1") > > > + (source (origin > > > + (method git-fetch) > > > + (uri (git-reference > > > + (url > > > "https://github.com/greglandrum/yaehmop") > > > + (commit (string-append "v" version)))) > > > + (file-name (git-file-name name version)) > > > + (sha256 > > > + (base32 > > > + > > > "1x0d75m1hgdb411fiv7c5bwq1n4y0swrll0gigh8v5c73kjxrja0")) > > > + (modules '((guix build utils))) > > > + (snippet > > > + '(begin > > > + (delete-file-recursively "docs") > > This one looks suspicious. > > > + (delete-file-recursively "examples") > > As does this. > > What gives? > I did not want to check the documentation in detail and the examples > contain some corrupted "compress" archives of program outputs. :) > But now I build the documentation instead and remove the archives. > There still is one problem: Even though I set FORCE_SOURCE_DATE=1, > the > output of pdflatex is still not reproducible. Do you have an idea why > that could be? There are only 3 bytes different in the pdf. > Alternatively, I could just not build the documentation as it is > independent of the build scripts anyway. pdflatex has troubles with reproducible builds, but I can't quite recall what option makes it not so, but rest assured those are likely 3 very well known bytes. > > > + (delete-file-recursively "viewkel") > > > + (delete-file-recursively > > > "tightbind/f2c_files") > > > + (delete-file "tightbind/diag.c") > > > + (delete-file "tightbind/cboris.c") > > > + (delete-file "tightbind/abfns.c") > > > + (delete-file "tightbind/lovlap.c") > > > + #t)))) > > > + (build-system cmake-build-system) > > > + (native-inputs (list gfortran)) > > > + (inputs (list openblas)) > > > + (arguments > > > + (list > > > + #:configure-flags > > > + #~(list > > > + "-DUSE_BLAS_LAPACK=ON" > > > + (string-append "-DPARM_FILE_LOC=" #$output > > > + "/share/" #$name "-" #$version > > > "/eht_parms.dat") > > > + "-DBIND_EXE_NAME=yaehmop-bind") > > > + #:phases > > > + #~(modify-phases %standard-phases > > > + (add-after 'unpack 'chdir > > > + (lambda _ > > > + (chdir "tightbind") > > > + #t)) > > > + (add-after 'chdir 'patch-fortran-functions > > > + (lambda _ > > > + (substitute* '("mov.c" "prototypes.h") > > > + (("lovlap\\(") "lovlap_(") > > > + (("abfns\\(") "abfns_(")) > > > + #t)) > > > + (add-after 'chdir 'patch-cmake > > > + (lambda _ > > > + (substitute* "CMakeLists.txt" > > > + (("project\\(yaehmop C\\)") "project(yaehmop C > > > Fortran)") > > > + (("abfns.c") "fortran77/abfns.f") > > > + (("lovlap.c") "fortran77/lovlap.f") > > > + (("(set\\(PARM_FILE_LOC.*)\\)" all init) > > > + (string-append init " CACHE STRING \"\")")) > > > + (("add_library\\(yaehmop_eht" lib) > > > + (string-append lib " SHARED ")) > > > + (("target_link_libraries\\(test_eht > > > \\$\\{LAPACK_LIBRARIES\\}.*" > > > + all) > > > + (string-append all > > > "\ntarget_link_libraries(yaehmop_eht " > > > + "${LAPACK_LIBRARIES})\n"))) > > > + #t)) > > > + (add-after 'install 'install-eht-parms > > > + (lambda _ > > > + (install-file "../tightbind/eht_parms.dat" > > > + (string-append #$output "/share/" > > > + #$name "-" > > > #$version)) > > > + #t)) > > > + (delete 'check) > > > + (add-after 'install-eht-parms 'check > > > + (lambda* (#:key tests? #:allow-other-keys) > > > + (when tests? > > > + (invoke "./test_eht")) > > > + #t))))) > > > + (home-page "https://github.com/greglandrum/yaehmop") > > > + (synopsis "Yet Another extended Hueckel Molecular Orbital > > > Package") > > > + (description "@code{YAeHMOP} contains a program and library > > > for > > > performing > > > +extended Hückel calculations.") > > > + (license license:bsd-2))) > > Looking at this it seems unclear whether you are building yaehmop > > or > > tightbind. What's going on? > I'm building the yaehmop library (with the source code in tightbind/) > and the "bind" program (which I called yaehmop-bind) that uses the > library. > Is it better to just call the package "yaehmop" (which I now did)? > The source also includes a separate visualization program "viewkel", > which does not use the library and would belong in another package in > my opinion. Taking a cursory glance at the CMakeLists, calling it yaehmop is indeed the correct thing. I have no idea what viewkel is supposed to do tbh.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.