From 70fc6c6ada030c7b5d4d35da6da8a2f4f018ff74 Mon Sep 17 00:00:00 2001
From: mtekman <mtekman89@gmail.com>
Date: Tue, 21 Nov 2023 21:35:56 +0100
Subject: [PATCH] gnu: Add fftw-cmake
* gnu/packages/algebra.scm (fftw-cmake): New variable
This is a clone of the fftw function, but uses cmake to build in order for
the FFTW3LibraryDepends.cmake file to be built, neccesary for packages with
cmake builds that depend on fftw3.
See: https://bugzilla.redhat.com/show_bug.cgi?id=1729652#c5
This variable is cloned from the existing fftw3 in order to not break any
downstream packages that make use of the target optimizations given by the
gnu build.
Change-Id: Ied7920beae0494350445d3a1905fa37b2b83976a
---
gnu/packages/algebra.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
@@ -778,6 +778,33 @@ (define-public fftw
cosine/ sine transforms or DCT/DST).")
(license license:gpl2+)))
+(define-public fftw-cmake
+ (package
+ ;; Cmake compiling is experimental since 2017, and it is not clear if this
+ ;; build has the same target-specific optimizations as the fftw gnu build.
+ ;; See: https://fftw.org/release-notes.html
+ (name "fftw-cmake")
+ (version "3.3.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "ftp://ftp.fftw.org/pub/fftw/fftw-" version
+ ".tar.gz"))
+ (sha256
+ (base32 "00z3k8fq561wq2khssqg0kallk0504dzlx989x3vvicjdqpjc4v1"))))
+ (build-system cmake-build-system)
+ (native-inputs (list perl))
+ (home-page "https://fftw.org")
+ (synopsis "Computing the discrete Fourier transform")
+ (description
+ "FFTW is a C subroutine library for computing the discrete Fourier
+transform (DFT) in one or more dimensions, of arbitrary input size, and of
+both real and complex data (as well as of even/odd data---i.e. the discrete
+cosine/ sine transforms or DCT/DST). This CMake build offers the file
+FFTW3LibraryDepends.cmake required by some dependent packages, absent in the
+gnu build version.")
+ (license license:gpl2+)))
+
(define-public fftwf
(package/inherit fftw
(name "fftwf")
--
2.41.0