From b4a6539391ae1a5e241d6398f8f33a5e63e890e1 Mon Sep 17 00:00:00 2001
From: Mehmet Tekman <mtekman89@gmail.com>
Date: Mon, 27 Nov 2023 23:38:32 +0100
Subject: [PATCH] * 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: I620d00d980421bc063c325718e0cafc4ae23e57e
---
gnu/packages/algebra.scm | 15 +++++++++++++++
1 file changed, 15 insertions(+)
@@ -15,6 +15,7 @@
;;; Copyright © 2020, 2021, 2023 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2023 Mehmet Tekman <mtekman89@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -733,6 +734,20 @@ (define-public kiss-fft-for-extempore
a C program.")
(license license:bsd-3)))
+(define-public fftw-cmake
+ (package/inherit fftw
+ ;; 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")
+ (build-system cmake-build-system)
+ (arguments (default-keyword-arguments '()
+ '()))
+ (description (string-append (package-description fftw)
+ " This CMake build offers the file
+FFTW3LibraryDepends.cmake required by some dependent packages, absent in the
+gnu build version."))))
+
(define-public fftw
(package
(name "fftw")
--
2.41.0