unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Paul Garlick <pgarlick@tourbillion-technology.com>
Cc: 33059@debbugs.gnu.org
Subject: [bug#33059] [PATCH 08/10] gnu: Add fenics-dolfin.
Date: Thu, 25 Oct 2018 00:12:19 +0200	[thread overview]
Message-ID: <87va5rvvss.fsf@gnu.org> (raw)
In-Reply-To: <1539682284-6446-8-git-send-email-pgarlick@tourbillion-technology.com> (Paul Garlick's message of "Tue, 16 Oct 2018 10:31:22 +0100")

Paul Garlick <pgarlick@tourbillion-technology.com> skribis:

> * gnu/packages/simulation.scm (fenics-dolfin): New variable.

[...]

> +         (add-before 'configure 'pre-configure
> +           (lambda _
> +             (use-modules (ice-9 regex)
> +                          (ice-9 rdelim)
> +                          (guix build utils)
> +                          (rnrs io ports))

Please use #:modules instead of an inner ‘use-modules’ form (which may
or may not work in future Guile versions.)

> +             ;; Add extra include directories required by the unit tests.
> +             (with-atomic-file-replacement "test/unit/cpp/CMakeLists.txt"
> +               (let ((rx (make-regexp "target_link_libraries")))
> +                 (lambda (in out)
> +                   (let loop ()
> +                     (let ((line (read-line in 'concat)))
> +                       (if (eof-object? line)
> +                           #t
> +                           (begin
> +                             (display line out)
> +                             (when (regexp-exec rx line)
> +                               (display
> +                                 (string-append
> +                                  "target_include_directories("
> +                                  "unittests PRIVATE "
> +                                  "${DOLFIN_SOURCE_DIR} "
> +                                  "${DOLFIN_SOURCE_DIR}/dolfin "
> +                                  "${DOLFIN_BINARY_DIR})\n") out))
> +                             (loop))))))))

Could this be achieved with a single ‘substitute*’?  It looks like that
would be more compact.

Also, perhaps this should be done in a ‘snippet’?

> +             ;; Add extra include directories required by the demo tests.
> +             (with-atomic-file-replacement "demo/CMakeLists.txt"
> +               (let ((rx (make-regexp "find_package")))
> +                 (lambda (in out)
> +                   (let loop ()
> +                     (let ((line (read-line in 'concat)))
> +                       (if (eof-object? line)
> +                           #t
> +                           (begin
> +                             (display line out)
> +                             (when (regexp-exec rx line)
> +                               (display
> +                                 (string-append
> +                                  "include_directories("
> +                                  "${DOLFIN_SOURCE_DIR} "
> +                                  "${DOLFIN_SOURCE_DIR}/dolfin "
> +                                  "${DOLFIN_BINARY_DIR})\n") out))
> +                             (loop))))))))))

Same question here.

> +             (call-with-output-file "CTestCustom.cmake"
> +               (lambda (port)
> +                 (display
> +                   (string-append
> +                    "set(CTEST_CUSTOM_TESTS_IGNORE "
> +                    "demo_bcs_serial "
> +                    "demo_bcs_mpi "
> +                    "demo_eigenvalue_serial "
> +                    "demo_eigenvalue_mpi "
> +                    "demo_navier-stokes_serial "

Could we avoid listing all the files here?  I’m thinking about something
like ‘scandir’ + ‘delete’.

> +    ;; The source code files for the DOLFIN C++ library are licensed under the
> +    ;; GNU Lesser General Public License, version 3 or later, with the
> +    ;; following exceptions:
> +    ;;
> +    ;; bsd-2:         cmake/modules/FindAMD.cmake
> +    ;;                cmake/modules/FindBLASHeader.cmake
> +    ;;                cmake/modules/FindCHOLMOD.cmake
> +    ;;                cmake/modules/FindEigen3.cmake
> +    ;;                cmake/modules/FindMPFR.cmake
> +    ;;                cmake/modules/FindNumPy.cmake
> +    ;;                cmake/modules/FindPETSc.cmake
> +    ;;                cmake/modules/FindPETSc4py.cmake
> +    ;;                cmake/modules/FindParMETIS.cmake
> +    ;;                cmake/modules/FindSCOTCH.cmake
> +    ;;                cmake/modules/FindSLEPc.cmake
> +    ;;                cmake/modules/FindSLEPc4py.cmake
> +    ;;                cmake/modules/FindSphinx.cmake
> +    ;;                cmake/modules/FindSUNDIALS.cmake
> +    ;;                cmake/modules/FindUFC.cmake
> +    ;;
> +    ;; bsd-3:         cmake/modules/FindBLAS.cmake
> +    ;;                cmake/modules/FindLAPACK.cmake
> +    ;;                cmake/modules/FindMPI.cmake
> +    ;;
> +    ;; public-domain: dolfin/geometry/predicates.cpp
> +    ;;                dolfin/geometry/predicates.h
> +    ;;
> +    ;; zlib:          dolfin/io/base64.cpp
> +    ;;                dolfin/io/base64.h
> +    ;;
> +    ;; expat:         dolfin/io/pugiconfig.hpp
> +    ;;                dolfin/io/pugixml.cpp
> +    ;;                dolfin/io/pugixml.hpp
> +    ;;
> +    ;; boost1.0:      test/unit/cpp/catch/catch.hpp

Thanks for the detailed licensing review!

IMO we don’t need to list the license of the .cmake files, which are
just build files (likewise, we usually ignore M4 files and shell scripts
found in Autotools-based projects.)

I wonder if we could use our ‘catch’ package and remove ‘catch.hpp’.

That’s it!

  reply	other threads:[~2018-10-24 22:13 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-16  9:17 [bug#33059] [PATCH 00/10] Add the FEniCS Project Paul Garlick
2018-10-16  9:31 ` [bug#33059] [PATCH 01/10] gnu: Add python-mpi4py Paul Garlick
2018-10-16  9:31   ` [bug#33059] [PATCH 02/10] gnu: Add python-petsc4py Paul Garlick
2018-10-24 21:45     ` Ludovic Courtès
2018-10-16  9:31   ` [bug#33059] [PATCH 03/10] gnu: Add python-slepc4py Paul Garlick
2018-10-24 21:46     ` Ludovic Courtès
2018-10-16  9:31   ` [bug#33059] [PATCH 04/10] gnu: Add python-fenics-dijitso Paul Garlick
2018-10-16 18:30     ` Efraim Flashner
2018-10-17  9:09       ` Paul Garlick
2018-10-24 21:48     ` Ludovic Courtès
2018-10-16  9:31   ` [bug#33059] [PATCH 05/10] gnu: Add python-fenics-ufl Paul Garlick
2018-10-24 21:52     ` Ludovic Courtès
2018-10-16  9:31   ` [bug#33059] [PATCH 06/10] gnu: Add python-fenics-fiat Paul Garlick
2018-10-24 21:53     ` Ludovic Courtès
2018-10-16  9:31   ` [bug#33059] [PATCH 07/10] gnu: Add python-fenics-ffc Paul Garlick
2018-10-24 21:55     ` Ludovic Courtès
2018-10-16  9:31   ` [bug#33059] [PATCH 08/10] gnu: Add fenics-dolfin Paul Garlick
2018-10-24 22:12     ` Ludovic Courtès [this message]
2018-10-16  9:31   ` [bug#33059] [PATCH 09/10] gnu: Add python-fenics-dolfin Paul Garlick
2018-10-24 22:15     ` Ludovic Courtès
2018-10-16  9:31   ` [bug#33059] [PATCH 10/10] gnu: Add fenics Paul Garlick
2018-10-24 22:17     ` Ludovic Courtès
2018-11-12 16:00       ` [bug#33059] [PATCH v2 0/9] Add the FEniCS Project, v2 patches Paul Garlick
2018-11-12 16:00         ` [bug#33059] [PATCH v2 1/9] gnu: Add python-mpi4py Paul Garlick
2018-11-12 16:00         ` [bug#33059] [PATCH v2 2/9] gnu: Add python-petsc4py Paul Garlick
2018-11-12 16:00         ` [bug#33059] [PATCH v2 3/9] gnu: Add python-slepc4py Paul Garlick
2018-11-12 16:00         ` [bug#33059] [PATCH v2 4/9] gnu: Add python-fenics-dijitso Paul Garlick
2018-11-12 16:00         ` [bug#33059] [PATCH v2 5/9] gnu: Add python-fenics-ufl Paul Garlick
2018-11-12 16:00         ` [bug#33059] [PATCH v2 6/9] gnu: Add python-fenics-fiat Paul Garlick
2018-11-14 21:11           ` Ludovic Courtès
2018-11-12 16:00         ` [bug#33059] [PATCH v2 7/9] gnu: Add python-fenics-ffc Paul Garlick
2018-11-12 16:00         ` [bug#33059] [PATCH v2 8/9] gnu: Add fenics-dolfin Paul Garlick
2018-11-12 16:00         ` [bug#33059] [PATCH v2 9/9] gnu: Add fenics Paul Garlick
2018-11-14 20:38         ` bug#33059: [PATCH v2 0/9] Add the FEniCS Project, v2 patches Ludovic Courtès
2018-10-19 16:03   ` [bug#33059] [PATCH 01/10] gnu: Add python-mpi4py Eric Bavier
2018-10-22  8:51     ` Paul Garlick
2018-10-24 21:44   ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87va5rvvss.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=33059@debbugs.gnu.org \
    --cc=pgarlick@tourbillion-technology.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).