gnu: Add aoflagger.

* gnu/packages/astronomy.scm (aoflagger): New variable.
* gnu/packages/patches/aoflagger-use-system-provided-pybind11.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Sharlatan Hellseher 2022-06-26 18:34:58 +01:00 committed by Ludovic Courtès
parent 4ccd4176a2
commit cdff1423c0
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
3 changed files with 102 additions and 0 deletions

View file

@ -858,6 +858,7 @@ dist_patch_DATA = \
%D%/packages/patches/antiword-CVE-2014-8123.patch \ %D%/packages/patches/antiword-CVE-2014-8123.patch \
%D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \ %D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \
%D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \ %D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \
%D%/packages/patches/aoflagger-use-system-provided-pybind11.patch \
%D%/packages/patches/apr-skip-getservbyname-test.patch \ %D%/packages/patches/apr-skip-getservbyname-test.patch \
%D%/packages/patches/ark-skip-xar-test.patch \ %D%/packages/patches/ark-skip-xar-test.patch \
%D%/packages/patches/aspell-default-dict-dir.patch \ %D%/packages/patches/aspell-default-dict-dir.patch \

View file

@ -142,6 +142,69 @@ (define-public calceph
@end itemize\n") @end itemize\n")
(license license:cecill))) (license license:cecill)))
(define-public aoflagger
(package
(name "aoflagger")
(version "3.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/aroffringa/aoflagger")
(commit (string-append "v" version))))
(sha256
(base32 "1dcbfrbiybhpbypna2xhddx1wk7yifh38ha2r6p5rzsikzwlsin1"))
(patches
(search-patches "aoflagger-use-system-provided-pybind11.patch"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
(list
;; XXX: Tests require external files download from
;; https://www.astron.nl/citt/ci_data/aoflagger/
;; FIXME: runtest is not found
#:tests? #f
#:configure-flags
#~(list (string-append "-DCASACORE_ROOT_DIR="
#$(this-package-input "casacore")))
#:phases
#~(modify-phases %standard-phases
;; aocommon and pybind11 are expected to be found as git submodules,
;; link them before build.
(add-after 'unpack 'link-submodule-package
(lambda _
(rmdir "external/aocommon")
(symlink #$(this-package-native-input "aocommon")
(string-append (getcwd) "/external/aocommon")))))))
(native-inputs
(list aocommon
boost
pkg-config
python
pybind11))
(inputs
(list casacore
cfitsio
fftw
gsl
gtkmm-3
hdf5
lapack
libpng
libsigc++
libxml2
lua
openblas
zlib))
(home-page "https://gitlab.com/aroffringa/aoflagger")
(synopsis "Astronomical tool that can find and remove radio-frequency interference")
(description
"AOFlagger is a tool that can find and remove radio-frequency
interference (RFI) in radio astronomical observations. It can make use of Lua
scripts to make flagging strategies flexible, and the tools are applicable to a
wide set of telescopes.")
(license license:gpl3+)))
(define-public casacore (define-public casacore
(package (package
(name "casacore") (name "casacore")

View file

@ -0,0 +1,38 @@
This patch was borrowed from Debian's package:
https://salsa.debian.org/debian-astro-team/aoflagger/-/blob/0484ef75a663e3e07738550cdade46f433a53dac/debian/patches/Use-system-provided-pybind11.patch
Description: Use system provided pybind11
Author: Ole Streicher <olebole@debian.org>
Origin: Debian
Last-Update: Mon, 30 Aug 2021 11:05:37 +0200
---
CMakeLists.txt | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 655ea5e..824ee2a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -62,11 +62,6 @@ foreach(ExternalSubmodule IN LISTS ExternalSubmoduleDirectories)
endif()
endforeach()
-# Include aocommon/pybind11 headers
-include_directories("${CMAKE_SOURCE_DIR}/external/aocommon/include")
-add_subdirectory("${CMAKE_SOURCE_DIR}/external/pybind11")
-include_directories(SYSTEM ${pybind11_INCLUDE_DIR})
-
find_package(
HDF5
COMPONENTS C CXX
@@ -101,6 +96,11 @@ find_package(PythonInterp REQUIRED)
message(STATUS "Using python version ${PYTHON_VERSION_STRING}")
include_directories(SYSTEM ${PYTHON_INCLUDE_DIRS})
+# Include pybind11 headers
+find_package(pybind11 REQUIRED)
+include_directories("${CMAKE_SOURCE_DIR}/external/aocommon/include")
+include_directories(${pybind11_INCLUDE_DIR})
+
# boost::alignment requires Boost 1.56
find_package(Boost 1.56.0 REQUIRED COMPONENTS date_time filesystem system
unit_test_framework)