From unknown Mon Aug 18 11:17:34 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#64114 <64114@debbugs.gnu.org> To: bug#64114 <64114@debbugs.gnu.org> Subject: Status: [PATCH] gnu: fftw: Update to 3.3.10 and build entirely from source. Reply-To: bug#64114 <64114@debbugs.gnu.org> Date: Mon, 18 Aug 2025 18:17:34 +0000 retitle 64114 [PATCH] gnu: fftw: Update to 3.3.10 and build entirely from s= ource. reassign 64114 guix-patches submitter 64114 David Elsing severity 64114 normal tag 64114 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 16 13:17:21 2023 Received: (at submit) by debbugs.gnu.org; 16 Jun 2023 17:17:22 +0000 Received: from localhost ([127.0.0.1]:50297 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qAD4b-0007GO-4C for submit@debbugs.gnu.org; Fri, 16 Jun 2023 13:17:21 -0400 Received: from lists.gnu.org ([209.51.188.17]:44890) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qAD4Y-0007GF-RR for submit@debbugs.gnu.org; Fri, 16 Jun 2023 13:17:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qAD4X-00009U-Ac for guix-patches@gnu.org; Fri, 16 Jun 2023 13:17:17 -0400 Received: from mout02.posteo.de ([185.67.36.66]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qAD4U-00006Q-Qa for guix-patches@gnu.org; Fri, 16 Jun 2023 13:17:17 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 66994240103 for ; Fri, 16 Jun 2023 19:17:11 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1686935831; bh=478c/nhtf89LgUB/iJBqc8w8lZr0UrHed79gGXPXGvQ=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version: Content-Transfer-Encoding:From; b=LhKlX5uI5dKyw3F7UHen46f/rOH/mpM8LRywSSmwvQNfS6+us7WNXJfob2gkvRQHU 65gWtWYwfhINGTd25mhAfSPh3pb+0g8UNdIP6XEh17xDIUz/G807Jr42oTnvpDjTzu Ty1dBPk6jhqk7fI7kQOCPYIhrLIrbS0/JrdBS3IE40V3rmKmnt1nohK6iZlW+n6p2L jM5oxEGFaU3tyyE9QwFOvPtuJl0iDwq44GyNolf5CnJBTkSLALsQ8zUP7ZfSgEgwKG YfZgZ2zQonEPFbDDmOBnKhsSBc2VOZUyJO9x5gze3JdrIPl9wHTKS7ZQ+T+J/jAehT SjIa0SQ77jZiA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4QjQnf6pNjz9rxM; Fri, 16 Jun 2023 19:17:10 +0200 (CEST) From: David Elsing To: guix-patches@gnu.org Subject: [PATCH] gnu: fftw: Update to 3.3.10 and build entirely from source. Date: Fri, 16 Jun 2023 17:16:44 +0000 Message-Id: <9ae0d0f6a21a74fc0b36c52f23bbbd44b251d039.1686934712.git.david.elsing@posteo.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=185.67.36.66; envelope-from=david.elsing@posteo.net; helo=mout02.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit Cc: David Elsing X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) * gnu/packages/algebra.scm (fftw): Update to 3.3.10. [source]: Use git checkout without autogenerated files. [arguments]<#:configure-flags>: Use Gexps and set --enable-maintainer-mode. <#:modules>: Add (ice-9 ftw) and (srfi srfi-26). <#:phases>: Add phases to run the code generation and build documentation. [native-inputs]: Add autoconf, automake, ghostscript, indent, libtool, ocaml, ocamlbuild, ocaml-num, ocaml-findlib, texinfo and transfig. (fftwf,fftw-openmpi)[arguments]: Use Gexps. --- Hello, I noticed that the FFTW release tarballs already contain the autogenerated codelets and the built documentation. Building them of course adds a lot more dependencies. gnu/packages/algebra.scm | 140 +++++++++++++++++++++++++++------------ 1 file changed, 98 insertions(+), 42 deletions(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 3babf90b3c..ca5831066a 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2020, 2021, 2023 Vinicius Monego ;;; Copyright © 2021 Lars-Dominik Braun ;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2023 David Elsing ;;; ;;; This file is part of GNU Guix. ;;; @@ -38,6 +39,7 @@ (define-module (gnu packages algebra) #:use-module (gnu packages bison) #:use-module (gnu packages boost) #:use-module (gnu packages check) + #:use-module (gnu packages code) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) #:use-module (gnu packages documentation) @@ -45,6 +47,7 @@ (define-module (gnu packages algebra) #:use-module (gnu packages flex) #:use-module (gnu packages fltk) #:use-module (gnu packages gcc) + #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages graphviz) #:use-module (gnu packages image) @@ -63,6 +66,7 @@ (define-module (gnu packages algebra) #:use-module (gnu packages shells) #:use-module (gnu packages tex) #:use-module (gnu packages texinfo) + #:use-module (gnu packages xfig) #:use-module (gnu packages xiph) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) @@ -737,39 +741,91 @@ (define-public kiss-fft-for-extempore (define-public fftw (package (name "fftw") - (version "3.3.8") + (version "3.3.10") (source (origin - (method url-fetch) - (uri (string-append "ftp://ftp.fftw.org/pub/fftw/fftw-" - version".tar.gz")) - (sha256 - (base32 - "00z3k8fq561wq2khssqg0kallk0504dzlx989x3vvicjdqpjc4v1")))) + ;; Release tarball contains many generated files + (method git-fetch) + (uri (git-reference + (url "https://github.com/FFTW/fftw3") + (commit (string-append "fftw-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "11r4kd1478mi35vv6fgmg6qibqkqjhb77pqxaa8374rxdlqazgyy")))) (build-system gnu-build-system) (arguments - `(#:configure-flags - '("--enable-shared" "--enable-openmp" "--enable-threads" - ,@(let ((system (or (%current-target-system) (%current-system)))) - ;; Enable SIMD extensions for codelets. See details at: - ;; . - (cond - ((string-prefix? "x86_64" system) - '("--enable-sse2" "--enable-avx" "--enable-avx2" - "--enable-avx512" "--enable-avx-128-fma")) - ((string-prefix? "i686" system) - '("--enable-sse2")) - ((string-prefix? "aarch64" system) - ;; Note that fftw supports NEON on 32-bit ARM only when - ;; compiled for single-precision. - '("--enable-neon")) - (else - '()))) - ;; By default '-mtune=native' is used. However, that may cause the - ;; use of ISA extensions (e.g. AVX) that are not necessarily - ;; available on the user's machine when that package is built on a - ;; different machine. - "ax_cv_c_flags__mtune_native=no"))) - (native-inputs (list perl)) + (list + #:configure-flags + #~(list "--enable-shared" + "--enable-openmp" + "--enable-threads" + "--enable-maintainer-mode" + #$@(let ((system (or (%current-target-system) (%current-system)))) + ;; Enable SIMD extensions for codelets. See details at: + ;; . + (cond + ((string-prefix? "x86_64" system) + '("--enable-sse2" "--enable-avx" "--enable-avx2" + "--enable-avx512" "--enable-avx-128-fma")) + ((string-prefix? "i686" system) + '("--enable-sse2")) + ((string-prefix? "aarch64" system) + ;; Note that fftw supports NEON on 32-bit ARM only when + ;; compiled for single-precision. + '("--enable-neon")) + (else '()))) + ;; By default '-mtune=native' is used. However, that may cause the + ;; use of ISA extensions (e.g. AVX) that are not necessarily + ;; available on the user's machine when that package is built on a + ;; different machine. + "ax_cv_c_flags__mtune_native=no") + #:modules '((ice-9 ftw) + (srfi srfi-26) + (guix build utils) + (guix build gnu-build-system)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-bootstrap + (lambda _ + ;; This script calls configure + (delete-file "bootstrap.sh") + (invoke "touch" "ChangeLog") + ;; OCaml Num library + (substitute* "genfft/Makefile.am" + ((",nums") + " -package num")))) + (add-after 'build 'build-doc + (lambda _ + ;; Reproducibility + (substitute* "doc/FAQ/m-html.pl" + (("- \\$html_date\\\\n") "") + (("\\$html_year \\$user_copyholder") + "2022 $user_copyholder")) + (substitute* "doc/FAQ/fftw-faq.bfnn" + ((".*`date.*") "")) + (invoke "make" "-C" "doc") + (invoke "make" "-C" "doc" "html") + (invoke "make" "-C" "doc/FAQ" "faq"))) + (add-after 'install 'install-doc + (let ((doc (string-append #$output "/share/doc/" + #$name "-" #$version))) + (lambda _ + (copy-recursively "doc/html" (string-append doc "/html")) + (copy-recursively "doc/FAQ/fftw-faq.html" + (string-append doc "/fftw-faq.html")) + (install-file "doc/FAQ/fftw-faq.ascii" doc))))))) + (native-inputs (list autoconf + automake + ghostscript + indent + libtool + ocaml + ocamlbuild + ocaml-num + ocaml-findlib + perl + texinfo + transfig)) (home-page "https://fftw.org") (synopsis "Computing the discrete Fourier transform") (description @@ -785,14 +841,14 @@ (define-public fftwf (arguments (substitute-keyword-arguments (package-arguments fftw) ((#:configure-flags fftw-configure-flags) - `(cons* "--enable-single" - ,@(if (string-prefix? "arm" (or (%current-target-system) - (%current-system))) - ;; fftw supports NEON on 32-bit ARM only when compiled - ;; for single-precision, so add it here. - '("--enable-neon") - '()) - ,fftw-configure-flags)))) + #~(cons* "--enable-single" + #$@(if (string-prefix? "arm" (or (%current-target-system) + (%current-system))) + ;; fftw supports NEON on 32-bit ARM only when compiled + ;; for single-precision, so add it here. + '("--enable-neon") + '()) + #$fftw-configure-flags)))) (description (string-append (package-description fftw) " Single-precision version.")))) @@ -806,11 +862,11 @@ (define-public fftw-openmpi (arguments (substitute-keyword-arguments (package-arguments fftw) ((#:configure-flags cf) - `(cons "--enable-mpi" ,cf)) + #~(cons "--enable-mpi" #$cf)) ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (add-before 'check 'mpi-setup - ,%openmpi-setup))))) + #~(modify-phases #$phases + (add-before 'check 'mpi-setup + #$%openmpi-setup))))) (description (string-append (package-description fftw) " With OpenMPI parallelism support.")))) -- 2.40.1 From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 14 10:57:07 2024 Received: (at 64114) by debbugs.gnu.org; 14 Jan 2024 15:57:07 +0000 Received: from localhost ([127.0.0.1]:43980 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rP2rD-0004Jh-9k for submit@debbugs.gnu.org; Sun, 14 Jan 2024 10:57:07 -0500 Received: from mout02.posteo.de ([185.67.36.66]:47017) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rP2rB-0004J1-2U for 64114@debbugs.gnu.org; Sun, 14 Jan 2024 10:57:06 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id F0FF4240101 for <64114@debbugs.gnu.org>; Sun, 14 Jan 2024 16:56:59 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1705247820; bh=PKJ6cQ5aKrb8PFHR2KrFYnV0IB7Il3KzHsvkzSEPmJ4=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version: Content-Transfer-Encoding:From; b=cBtCaLnPKOSztpxAasQsFuK/YrnFEpw51sytBBKl4tL3B+EmGldZB1J2mvMG1z6jn BtNgjLs0JuknZJLCq8anlaJnubT247UUF1FeQgLaN6kWz4NNCRbIMIa5oobuosMk4r IKUiKBz9vBGpOxzEzyzaq9ApglyPYevqL6D8YmgVweNJXoftEKMGSjEbFTviciZuai lyBnkBLt/kQwzrXU6cov9fsmutfog14SJRmGrE0wD+k/cWkOrCbB+PGfI510J5saQ2 W+OkqSQ+ZgCe7ZmEnl7tNkE7PhZLVobjvgbkAwkdgzElaU3IzG4tFo0/epsTtfHjDk b3p7NYhI4zwcA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4TCfzH3wRtz9rxD; Sun, 14 Jan 2024 16:56:59 +0100 (CET) From: David Elsing To: 64114@debbugs.gnu.org Subject: [PATCH v2 0/2] Build fftw entirely from source Date: Sun, 14 Jan 2024 15:55:12 +0000 Message-ID: <20240114155516.12457-1-david.elsing@posteo.net> In-Reply-To: <9ae0d0f6a21a74fc0b36c52f23bbbd44b251d039.1686934712.git.david.elsing@posteo.net> References: <9ae0d0f6a21a74fc0b36c52f23bbbd44b251d039.1686934712.git.david.elsing@posteo.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 64114 Cc: David Elsing X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) The fftw package has been updated to 3.3.10 in the meantime, but now the transfig package was replaced by fig2dev, which depends on fftw itself. Therefore, I put the documentation for fftw into a separate package. It also depends on the inputs of the fftw package, as the configure phase has to be run again to generate the Makefiles for the documentation. David Elsing (2): gnu: fftw: Build entirely from source. gnu: Add fftw-documentation. gnu/packages/algebra.scm | 153 ++++++++++++++++++++++++++++----------- 1 file changed, 112 insertions(+), 41 deletions(-) -- 2.41.0 From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 14 10:57:11 2024 Received: (at 64114) by debbugs.gnu.org; 14 Jan 2024 15:57:11 +0000 Received: from localhost ([127.0.0.1]:43986 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rP2rG-0004K3-LL for submit@debbugs.gnu.org; Sun, 14 Jan 2024 10:57:11 -0500 Received: from mout01.posteo.de ([185.67.36.65]:56627) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rP2rD-0004JE-VZ for 64114@debbugs.gnu.org; Sun, 14 Jan 2024 10:57:09 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 8AE65240028 for <64114@debbugs.gnu.org>; Sun, 14 Jan 2024 16:57:02 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1705247822; bh=cIyk93M74vJX+brLSd43H8LguSv57fGGDHhjYgZ+BD4=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version: Content-Transfer-Encoding:From; b=QO9mqmeir0+gFnLg77+9Hu3guLPyDfCIWCfq7Xs6HI7PspD8e5jHOvMUk+PWBIpIy ggO2yOS0BEaenewm1Fy1o3GqMqkR6dmRPRXWNHyy6uMMjafR2zTIWewPW3FMV/uMfR udJLVliSy7wPF7GVW7Rj0hIVneKLc00SLuaL+aOJM/vHMw19ah29Pk4zPjRX3LRdr1 42IL1nChxa0pVNiZiarDEu+FA7U91kCWDHnOFhY3ywSuXtN5JRYYLHQzc5+Ep8yxt+ WN306/b0MAForNKkO0K4NYoDXXX2P69dXAGjKBCRgoBZwXR9Of23AXaM9sfW7ha0NC 11FMhd4ewkFrQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4TCfzK6yDLz9rxG; Sun, 14 Jan 2024 16:57:01 +0100 (CET) From: David Elsing To: 64114@debbugs.gnu.org Subject: [PATCH v2 1/2] gnu: fftw: Build entirely from source. Date: Sun, 14 Jan 2024 15:55:13 +0000 Message-ID: <20240114155516.12457-2-david.elsing@posteo.net> In-Reply-To: <9ae0d0f6a21a74fc0b36c52f23bbbd44b251d039.1686934712.git.david.elsing@posteo.net> References: <9ae0d0f6a21a74fc0b36c52f23bbbd44b251d039.1686934712.git.david.elsing@posteo.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 64114 Cc: David Elsing X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) * gnu/packages/algebra.scm (fftw)[source]: Use git checkout without autogenerated files. [arguments]<#:configure-flags>: Use Gexps and set --enable-maintainer-mode and --disable-doc. <#:phases>: Add 'fix-maintainer-build' phase. [native-inputs]: Add autoconf, automake, libtool, ocaml, ocamlbuild, ocaml-num and ocaml-findlib. (fftwf,fftw-openmpi)[arguments]: Use Gexps. --- gnu/packages/algebra.scm | 111 ++++++++++++++++++++++++--------------- 1 file changed, 70 insertions(+), 41 deletions(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index f319e260e9..dbed683bef 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2020, 2021, 2023 Vinicius Monego ;;; Copyright © 2021 Lars-Dominik Braun ;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2024 David Elsing ;;; ;;; This file is part of GNU Guix. ;;; @@ -38,12 +39,14 @@ (define-module (gnu packages algebra) #:use-module (gnu packages bison) #:use-module (gnu packages boost) #:use-module (gnu packages check) + #:use-module (gnu packages code) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) #:use-module (gnu packages documentation) #:use-module (gnu packages flex) #:use-module (gnu packages fltk) #:use-module (gnu packages gcc) + #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages graphviz) #:use-module (gnu packages image) @@ -63,6 +66,7 @@ (define-module (gnu packages algebra) #:use-module (gnu packages tex) #:use-module (gnu packages texinfo) #:use-module (gnu packages text-editors) + #:use-module (gnu packages xfig) #:use-module (gnu packages xiph) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) @@ -738,37 +742,62 @@ (define-public fftw (name "fftw") (version "3.3.10") (source (origin - (method url-fetch) - (uri (string-append "ftp://ftp.fftw.org/pub/fftw/fftw-" - version".tar.gz")) - (sha256 - (base32 - "0rv4w90b65b2kvjpj8g9bdkl4xqc42q20f5bzpxdrkajk1a35jan")))) + ;; Release tarball contains many generated files + (method git-fetch) + (uri (git-reference + (url "https://github.com/FFTW/fftw3") + (commit (string-append "fftw-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "11r4kd1478mi35vv6fgmg6qibqkqjhb77pqxaa8374rxdlqazgyy")))) (build-system gnu-build-system) (arguments - `(#:configure-flags - '("--enable-shared" "--enable-openmp" "--enable-threads" - ,@(let ((system (or (%current-target-system) (%current-system)))) - ;; Enable SIMD extensions for codelets. See details at: - ;; . - (cond - ((string-prefix? "x86_64" system) - '("--enable-sse2" "--enable-avx" "--enable-avx2" - "--enable-avx512" "--enable-avx-128-fma")) - ((string-prefix? "i686" system) - '("--enable-sse2")) - ((string-prefix? "aarch64" system) - ;; Note that fftw supports NEON on 32-bit ARM only when - ;; compiled for single-precision. - '("--enable-neon")) - (else - '()))) - ;; By default '-mtune=native' is used. However, that may cause the - ;; use of ISA extensions (e.g. AVX) that are not necessarily - ;; available on the user's machine when that package is built on a - ;; different machine. - "ax_cv_c_flags__mtune_native=no"))) - (native-inputs (list perl)) + (list + #:configure-flags + #~(list "--enable-shared" + "--enable-openmp" + "--enable-threads" + "--enable-maintainer-mode" + "--disable-doc" + #$@(let ((system (or (%current-target-system) (%current-system)))) + ;; Enable SIMD extensions for codelets. See details at: + ;; . + (cond + ((string-prefix? "x86_64" system) + '("--enable-sse2" "--enable-avx" "--enable-avx2" + "--enable-avx512" "--enable-avx-128-fma")) + ((string-prefix? "i686" system) + '("--enable-sse2")) + ((string-prefix? "aarch64" system) + ;; Note that fftw supports NEON on 32-bit ARM only when + ;; compiled for single-precision. + '("--enable-neon")) + (else '()))) + ;; By default '-mtune=native' is used. However, that may cause the + ;; use of ISA extensions (e.g. AVX) that are not necessarily + ;; available on the user's machine when that package is built on a + ;; different machine. + "ax_cv_c_flags__mtune_native=no") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-maintainer-build + (lambda _ + ;; This script calls configure + (delete-file "bootstrap.sh") + (invoke "touch" "ChangeLog") + ;; OCaml Num library + (substitute* "genfft/Makefile.am" + ((",nums") + " -package num"))))))) + (native-inputs (list autoconf + automake + libtool + ocaml + ocamlbuild + ocaml-num + ocaml-findlib + perl)) (home-page "https://fftw.org") (synopsis "Computing the discrete Fourier transform") (description @@ -784,14 +813,14 @@ (define-public fftwf (arguments (substitute-keyword-arguments (package-arguments fftw) ((#:configure-flags fftw-configure-flags) - `(cons* "--enable-single" - ,@(if (string-prefix? "arm" (or (%current-target-system) - (%current-system))) - ;; fftw supports NEON on 32-bit ARM only when compiled - ;; for single-precision, so add it here. - '("--enable-neon") - '()) - ,fftw-configure-flags)))) + #~(cons* "--enable-single" + #$@(if (string-prefix? "arm" (or (%current-target-system) + (%current-system))) + ;; fftw supports NEON on 32-bit ARM only when compiled + ;; for single-precision, so add it here. + '("--enable-neon") + '()) + #$fftw-configure-flags)))) (description (string-append (package-description fftw) " Single-precision version.")))) @@ -805,11 +834,11 @@ (define-public fftw-openmpi (arguments (substitute-keyword-arguments (package-arguments fftw) ((#:configure-flags cf) - `(cons "--enable-mpi" ,cf)) + #~(cons "--enable-mpi" #$cf)) ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (add-before 'check 'mpi-setup - ,%openmpi-setup))))) + #~(modify-phases #$phases + (add-before 'check 'mpi-setup + #$%openmpi-setup))))) (description (string-append (package-description fftw) " With OpenMPI parallelism support.")))) -- 2.41.0 From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 14 10:57:14 2024 Received: (at 64114) by debbugs.gnu.org; 14 Jan 2024 15:57:14 +0000 Received: from localhost ([127.0.0.1]:43988 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rP2rH-0004K8-Aq for submit@debbugs.gnu.org; Sun, 14 Jan 2024 10:57:14 -0500 Received: from mout02.posteo.de ([185.67.36.66]:40581) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rP2rE-0004JQ-HH for 64114@debbugs.gnu.org; Sun, 14 Jan 2024 10:57:09 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id A0E30240104 for <64114@debbugs.gnu.org>; Sun, 14 Jan 2024 16:57:03 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1705247823; bh=2zIeVBOtxO90H8g2zA5P5h10gQJTd41D7ndi4wxxkL4=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version: Content-Transfer-Encoding:From; b=DVuILMrpWZ2KBIH8U1gkltffSnvkXsRPbeCk0AvHUdGwbFMHxdR3WDsW4XQ03C+x8 gHQfEuP4uLLJUuJs3Y5vOnd6k7HFGFz46HRORpqkk+6cbcLUqSjVxdg5ijKJx1f5ty 7Ver1zARpScMPaA9aTQWJRI4FVIXD9F7g3tW5j3gwk/FKtuTc485GkRrZTJxGjMG+5 uBCJawd2vGCZVdN57uZeFpIzzoEGK3jIFLp1R2dxpGsI9gZyL1RHo+ybGPgjuJnt62 Lt+20FNnywfZnpaJktKqqWDX5fTkdabhHgBYHoV3DZ/wRPAwlSKJx9mz5JtpKWF5KU dBAjc/6OHeHPg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4TCfzM2HWpz9rxB; Sun, 14 Jan 2024 16:57:03 +0100 (CET) From: David Elsing To: 64114@debbugs.gnu.org Subject: [PATCH v2 2/2] gnu: Add fftw-documentation. Date: Sun, 14 Jan 2024 15:55:14 +0000 Message-ID: <20240114155516.12457-3-david.elsing@posteo.net> In-Reply-To: <9ae0d0f6a21a74fc0b36c52f23bbbd44b251d039.1686934712.git.david.elsing@posteo.net> References: <9ae0d0f6a21a74fc0b36c52f23bbbd44b251d039.1686934712.git.david.elsing@posteo.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 64114 Cc: David Elsing X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) * gnu/packages/algebra.scm (fftw-documentation): New variable. --- gnu/packages/algebra.scm | 42 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index dbed683bef..1b2694400d 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -807,6 +807,48 @@ (define-public fftw cosine/ sine transforms or DCT/DST).") (license license:gpl2+))) +;; Separate package to prevent dependency cycle +(define-public fftw-documentation + (package/inherit fftw + (name "fftw-documentation") + (arguments + (substitute-keyword-arguments (package-arguments fftw) + ((#:tests? _ #f) #f) + ((#:phases phases '%standard-phases) + #~(modify-phases #$phases + (replace 'build + (lambda _ + ;; Reproducibility + (substitute* "doc/FAQ/m-html.pl" + (("- \\$html_date\\\\n") "") + (("\\$html_year \\$user_copyholder") + "2021 $user_copyholder")) + (substitute* "doc/FAQ/fftw-faq.bfnn" + ((".*`date.*") "")) + (invoke "make" "-C" "doc") + (invoke "make" "-C" "doc" "html") + (invoke "make" "-C" "doc/FAQ" "faq"))) + (replace 'install + (let ((doc (string-append #$output "/share/doc/" + #$(package-name this-package) "-" + #$(package-version this-package)))) + (lambda _ + (copy-recursively "doc/html" (string-append doc "/html")) + (copy-recursively "doc/FAQ/fftw-faq.html" + (string-append doc "/fftw-faq.html")) + (install-file "doc/FAQ/fftw-faq.ascii" doc)))))))) + (native-inputs + (modify-inputs (package-native-inputs fftw) + (prepend ghostscript texinfo fig2dev))) + (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).") + (license license:gpl2+))) + (define-public fftwf (package/inherit fftw (name "fftwf") -- 2.41.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 22 12:25:25 2024 Received: (at 64114) by debbugs.gnu.org; 22 Nov 2024 17:25:25 +0000 Received: from localhost ([127.0.0.1]:55371 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tEXPJ-0005UG-HL for submit@debbugs.gnu.org; Fri, 22 Nov 2024 12:25:25 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]:35306) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tEXPH-0005Tw-6k for 64114@debbugs.gnu.org; Fri, 22 Nov 2024 12:25:24 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 89B75169B; Fri, 22 Nov 2024 18:25:15 +0100 (CET) Authentication-Results: hera.aquilenet.fr; none X-Virus-Scanned: Debian amavis at hera.aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavis, port 10024) with ESMTP id TvTTvd0RrlCf; Fri, 22 Nov 2024 18:25:15 +0100 (CET) Received: from jurong (unknown [IPv6:2001:861:c4:f2f0::c64]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 6C71D165E; Fri, 22 Nov 2024 18:25:14 +0100 (CET) Date: Fri, 22 Nov 2024 18:25:12 +0100 From: Andreas Enge To: 64114@debbugs.gnu.org Subject: Action? Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Spamd-Result: default: False [8.27 / 15.00]; SPAM_FLAG(5.00)[]; NEURAL_SPAM(1.90)[0.633]; SUBJECT_ENDS_QUESTION(1.00)[]; MID_RHS_NOT_FQDN(0.50)[]; MIME_GOOD(-0.10)[text/plain]; BAYES_HAM(-0.03)[55.49%]; TO_DN_NONE(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; FROM_HAS_DN(0.00)[]; RCVD_TLS_ALL(0.00)[]; ARC_NA(0.00)[] X-Spam-Level: ******** X-Rspamd-Action: add header X-Rspamd-Server: hera X-Rspamd-Queue-Id: 89B75169B X-Spamd-Bar: ++++++++ X-Spam: Yes X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 64114 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello David, I happened to come along your patch and examined the situation. It turns out that the fftw version has already been updated to 3.3.10. Unfortunately, lots of packages depend on it, so changing the package will be quite costly. Maybe it would make sense to close the bug for now (or let it wait) and come back to it when a new version of fftw comes out? Andreas From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 07 15:36:42 2025 Received: (at 64114) by debbugs.gnu.org; 7 Jan 2025 20:36:42 +0000 Received: from localhost ([127.0.0.1]:44860 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tVGJd-0005S0-9q for submit@debbugs.gnu.org; Tue, 07 Jan 2025 15:36:41 -0500 Received: from mout02.posteo.de ([185.67.36.66]:59517) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tVGJZ-0005Qu-6U for 64114@debbugs.gnu.org; Tue, 07 Jan 2025 15:36:39 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 865B7240101 for <64114@debbugs.gnu.org>; Tue, 7 Jan 2025 21:36:29 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1736282190; bh=4OWGvviE3+lMc3RYiWIujhrOlyLEbucwlFKMjcaaqqA=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type:From; b=BOpFdeGXIJC1cXy803SgBYc4AKZkuoDSUlH3AzNFEWfhkm686Of9N5zHgGJVB1bnn 2tdp8mHVGyJxmZfFnxpJEBZdwaoLmGnklB7q/WOrEW6Mp37RCb6C7FMITju0srA+XC Fht+GXgde9nIihLVoXI+UwUPt6wmNFuyY8UpiYwZKjwgpKOIeyg7GZyqvdP9+HrBxD WAMHpiN2BcvQd5GA/tvdXaj/OoXj5fHPGG9XjSAvGS3quirK9BwQGmUi+Qbe1IYYfd 1Ku/33+InR5AAcRbtqZYc8cm4LRZ3oTKVzGgTramb8j3yERXL411gZiPcz2r947jKu Ts12zQNXSSqYg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4YSNB41CcMz6tsb; Tue, 7 Jan 2025 21:36:28 +0100 (CET) From: David Elsing To: Andreas Enge , 64114@debbugs.gnu.org Subject: Re: Action? In-Reply-To: References: Date: Tue, 07 Jan 2025 20:36:27 +0000 Message-ID: <86v7uqs6no.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 64114 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hello Andreas, sorry, I didn't see your reply before. Andreas Enge writes: > I happened to come along your patch and examined the situation. It turns out > that the fftw version has already been updated to 3.3.10. > > Unfortunately, lots of packages depend on it, so changing the package will > be quite costly. Maybe it would make sense to close the bug for now (or let > it wait) and come back to it when a new version of fftw comes out? FFTW isn't very actively developed, so it might take a while until there is a new release. I think it makes sense to leave the bug open until someone applies it when a dependency for fftw is updated (e.g. in core-updates). Do you think I should send updated patches rebased to master or would this just unnecessarily occupy QA? Best, David From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 22 05:34:16 2025 Received: (at 64114) by debbugs.gnu.org; 22 Jan 2025 10:34:16 +0000 Received: from localhost ([127.0.0.1]:60072 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1taY3r-0003En-MU for submit@debbugs.gnu.org; Wed, 22 Jan 2025 05:34:15 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]:58804) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1taY3p-0003EX-7w for 64114@debbugs.gnu.org; Wed, 22 Jan 2025 05:34:13 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 890A2293; Wed, 22 Jan 2025 11:34:05 +0100 (CET) Authentication-Results: hera.aquilenet.fr; none X-Virus-Scanned: Debian amavis at hera.aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavis, port 10024) with ESMTP id CQTtsaKKbZ2v; Wed, 22 Jan 2025 11:34:05 +0100 (CET) Received: from jurong (176-179-191-150.abo.bbox.fr [176.179.191.150]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 7100C1B6; Wed, 22 Jan 2025 11:34:03 +0100 (CET) Date: Wed, 22 Jan 2025 11:34:01 +0100 From: Andreas Enge To: David Elsing Subject: Re: Action? Message-ID: References: <86v7uqs6no.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <86v7uqs6no.fsf@posteo.net> X-Rspamd-Server: hera X-Spamd-Bar: ++++++ X-Rspamd-Queue-Id: 890A2293 X-Spamd-Result: default: False [6.50 / 15.00]; SPAM_FLAG(5.00)[]; NEURAL_SPAM(3.00)[1.000]; BAYES_HAM(-2.90)[99.59%]; SUBJECT_ENDS_QUESTION(1.00)[]; MID_RHS_NOT_FQDN(0.50)[]; MIME_GOOD(-0.10)[text/plain]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_TWO(0.00)[2]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_SOME(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; ARC_NA(0.00)[] X-Spam-Level: ****** X-Rspamd-Action: add header X-Spam: Yes X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 64114 Cc: 64114@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello David, Am Tue, Jan 07, 2025 at 08:36:27PM +0000 schrieb David Elsing: > sorry, I didn't see your reply before. I only learnt recently that debbugs does not forward comments on issues to those who have opened them, so I did not cc you. > FFTW isn't very actively developed, so it might take a while until there > is a new release. I think it makes sense to leave the bug open until > someone applies it when a dependency for fftw is updated (e.g. in > core-updates). Okay, there is just a risk of forgetting it... How big is the documentation? Would it make sense to just keep it in the package? Or have it as a separate doc output, which would be more in line with what we usually do? > Do you think I should send updated patches rebased to master or would > this just unnecessarily occupy QA? Yes, that would be nice. QA will not be triggered as the package results in too many rebuilds. Thanks, Andreas From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 26 11:49:32 2025 Received: (at 64114) by debbugs.gnu.org; 26 Jan 2025 16:49:32 +0000 Received: from localhost ([127.0.0.1]:57687 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tc5pE-0005Or-0z for submit@debbugs.gnu.org; Sun, 26 Jan 2025 11:49:32 -0500 Received: from mout02.posteo.de ([185.67.36.66]:56559) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tc5pA-0005OO-R7 for 64114@debbugs.gnu.org; Sun, 26 Jan 2025 11:49:30 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id DB612240101 for <64114@debbugs.gnu.org>; Sun, 26 Jan 2025 17:49:20 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1737910161; bh=9vJlhn06d4nZau9HARK2G4z0KJCPjYqcgZdv6OwciA0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version: Content-Transfer-Encoding:From; b=Grh8sbUFgtuXzfMdYJdcz5Wx6e2nUbWKRKetdPB2V8vgQNxqjyRel1Io4QhgilFf2 3RoafqIFzwTCqKdLFCzqXEC0IMCzWSzIWqUyNB9g7GLFlfPsP35OS/KOVsvnz3qoFu eYobgUMAgvL93jqoL380UfPn81wbGFDrLcujf7q9CL8mniAxOn7ZDKgM5iYQA9uFE5 SSZbPwzrJWeAqKC1GOgG5Hc6CaTCBampHOAgdfKDtHhSs1aDaxUkAKnZshUmlazqqK T02k5VA2tBq5n2j3b6sZMFF6PtmIuqFhMj0IVX/zeFGivpEzE/smd93u5RuKkKXTfx owuV7WF+CqNRw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4YgyFC44Jzz6tvm; Sun, 26 Jan 2025 17:49:19 +0100 (CET) From: David Elsing To: andreas@enge.fr Subject: [PATCH v2 0/2] Build fftw entirely from source Date: Sun, 26 Jan 2025 16:47:11 +0000 Message-ID: <20250126164901.27159-1-david.elsing@posteo.net> In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 64114 Cc: David Elsing , 64114@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Andreas, here is the rebased version. Andreas Enge writes: > I only learnt recently that debbugs does not forward comments on issues > to those who have opened them, so I did not cc you. Ah, so that's why I didn't receive your email. > Okay, there is just a risk of forgetting it... > How big is the documentation? Would it make sense to just keep it in the > package? Or have it as a separate doc output, which would be more in > line with what we usually do? The problem isn't the size, but the documentation depends through fig2dev on imagemagick, which depends on fftw itself. > Yes, that would be nice. QA will not be triggered as the package > results in too many rebuilds. Ok thanks, good to know. Cheers, David David Elsing (2): gnu: fftw: Build entirely from source. gnu: Add fftw-documentation. gnu/packages/algebra.scm | 153 ++++++++++++++++++++++++++++----------- 1 file changed, 112 insertions(+), 41 deletions(-) -- 2.46.0 From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 26 11:54:52 2025 Received: (at 64114) by debbugs.gnu.org; 26 Jan 2025 16:54:53 +0000 Received: from localhost ([127.0.0.1]:57697 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tc5uO-0005eT-32 for submit@debbugs.gnu.org; Sun, 26 Jan 2025 11:54:52 -0500 Received: from mout01.posteo.de ([185.67.36.65]:57753) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tc5uL-0005e1-GA for 64114@debbugs.gnu.org; Sun, 26 Jan 2025 11:54:50 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 05532240028 for <64114@debbugs.gnu.org>; Sun, 26 Jan 2025 17:54:41 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1737910482; bh=CksDmcIVE2sLMsTL6zhVmqMVgtzTQ2C47Sy4aFpqmfA=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type: Content-Transfer-Encoding:From; b=bmFFOdOjP5w+b/Vi3h586ImaOAKzepb5p8lLgUbX8STcwyZVdGkxAvCGKk+zkWpB4 oeGAxbyHBBiRcwjlrhBzB8HP8ELADexV1ljtjAHchMk2Af2zgY4cx14ruYER7n2BLf mRIo7cVQbi6VC5TZYJnP2SZJT+roSINb7IM9D1fIEVQzfgpNwKMsArK+vzlW9elrvV sII/EyfQqbHxFT8A0CmCs3fNiqzVuenHcfiKH9beuWuj75UMgHUJiq1e07vd+czvh7 3/FKS/0LjCG0Xsb40o1iAF6D0VG+O7jFU92+6fihq17eAEikSoVTlOmsRPXaUAHUyK pFP9UqqpH0imQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4YgyMP2Cnwz9rxP; Sun, 26 Jan 2025 17:54:39 +0100 (CET) From: David Elsing To: 64114@debbugs.gnu.org Subject: [PATCH v2 1/2] gnu: fftw: Build entirely from source. Date: Sun, 26 Jan 2025 16:54:32 +0000 Message-ID: <20250126165438.28034-1-david.elsing@posteo.net> In-Reply-To: <20250126164901.27159-1-david.elsing@posteo.net> References: <20250126164901.27159-1-david.elsing@posteo.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -3.3 (---) X-Debbugs-Envelope-To: 64114 Cc: David Elsing X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.3 (----) * gnu/packages/algebra.scm (fftw)[source]: Use git checkout without autogenerated files. [arguments]<#:configure-flags>: Use Gexps and set --enable-maintainer-mode and --disable-doc. <#:phases>: Add 'fix-maintainer-build' phase. [native-inputs]: Add autoconf, automake, libtool, ocaml, ocamlbuild, ocaml-num and ocaml-findlib. (fftwf,fftw-openmpi)[arguments]: Use Gexps. --- gnu/packages/algebra.scm | 111 ++++++++++++++++++++++++--------------- 1 file changed, 70 insertions(+), 41 deletions(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 7c22e811d5..96f9b36a0e 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2023 Mehmet Tekman ;;; Copyright © 2025 Sharlatan Hellseher +;;; Copyright © 2025 David Elsing ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,6 +41,7 @@ (define-module (gnu packages algebra) #:use-module (gnu packages bison) #:use-module (gnu packages boost) #:use-module (gnu packages check) + #:use-module (gnu packages code) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) #:use-module (gnu packages curl) @@ -47,6 +49,7 @@ (define-module (gnu packages algebra) #:use-module (gnu packages flex) #:use-module (gnu packages fltk) #:use-module (gnu packages gcc) + #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages graphviz) #:use-module (gnu packages image) @@ -68,6 +71,7 @@ (define-module (gnu packages algebra) #:use-module (gnu packages tex) #:use-module (gnu packages texinfo) #:use-module (gnu packages text-editors) + #:use-module (gnu packages xfig) #:use-module (gnu packages xiph) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) @@ -730,37 +734,62 @@ (define-public fftw (name "fftw") (version "3.3.10") (source (origin - (method url-fetch) - (uri (string-append "ftp://ftp.fftw.org/pub/fftw/fftw-" - version".tar.gz")) - (sha256 - (base32 - "0rv4w90b65b2kvjpj8g9bdkl4xqc42q20f5bzpxdrkajk1a35jan")))) + ;; Release tarball contains many generated files + (method git-fetch) + (uri (git-reference + (url "https://github.com/FFTW/fftw3") + (commit (string-append "fftw-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "11r4kd1478mi35vv6fgmg6qibqkqjhb77pqxaa8374rxdlqazgyy")))) (build-system gnu-build-system) (arguments - `(#:configure-flags - '("--enable-shared" "--enable-openmp" "--enable-threads" - ,@(let ((system (or (%current-target-system) (%current-system)))) - ;; Enable SIMD extensions for codelets. See details at: - ;; . - (cond - ((string-prefix? "x86_64" system) - '("--enable-sse2" "--enable-avx" "--enable-avx2" - "--enable-avx512" "--enable-avx-128-fma")) - ((string-prefix? "i686" system) - '("--enable-sse2")) - ((string-prefix? "aarch64" system) - ;; Note that fftw supports NEON on 32-bit ARM only when - ;; compiled for single-precision. - '("--enable-neon")) - (else - '()))) - ;; By default '-mtune=native' is used. However, that may cause the - ;; use of ISA extensions (e.g. AVX) that are not necessarily - ;; available on the user's machine when that package is built on a - ;; different machine. - "ax_cv_c_flags__mtune_native=no"))) - (native-inputs (list perl)) + (list + #:configure-flags + #~(list "--enable-shared" + "--enable-openmp" + "--enable-threads" + "--enable-maintainer-mode" + "--disable-doc" + #$@(let ((system (or (%current-target-system) (%current-system)))) + ;; Enable SIMD extensions for codelets. See details at: + ;; . + (cond + ((string-prefix? "x86_64" system) + '("--enable-sse2" "--enable-avx" "--enable-avx2" + "--enable-avx512" "--enable-avx-128-fma")) + ((string-prefix? "i686" system) + '("--enable-sse2")) + ((string-prefix? "aarch64" system) + ;; Note that fftw supports NEON on 32-bit ARM only when + ;; compiled for single-precision. + '("--enable-neon")) + (else '()))) + ;; By default '-mtune=native' is used. However, that may cause the + ;; use of ISA extensions (e.g. AVX) that are not necessarily + ;; available on the user's machine when that package is built on a + ;; different machine. + "ax_cv_c_flags__mtune_native=no") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-maintainer-build + (lambda _ + ;; This script calls configure + (delete-file "bootstrap.sh") + (invoke "touch" "ChangeLog") + ;; OCaml Num library + (substitute* "genfft/Makefile.am" + ((",nums") + " -package num"))))))) + (native-inputs (list autoconf + automake + libtool + ocaml + ocamlbuild + ocaml-num + ocaml-findlib + perl)) (home-page "https://fftw.org") (synopsis "Computing the discrete Fourier transform") (description @@ -790,14 +819,14 @@ (define-public fftwf (arguments (substitute-keyword-arguments (package-arguments fftw) ((#:configure-flags fftw-configure-flags) - `(cons* "--enable-single" - ,@(if (string-prefix? "arm" (or (%current-target-system) - (%current-system))) - ;; fftw supports NEON on 32-bit ARM only when compiled - ;; for single-precision, so add it here. - '("--enable-neon") - '()) - ,fftw-configure-flags)))) + #~(cons* "--enable-single" + #$@(if (string-prefix? "arm" (or (%current-target-system) + (%current-system))) + ;; fftw supports NEON on 32-bit ARM only when compiled + ;; for single-precision, so add it here. + '("--enable-neon") + '()) + #$fftw-configure-flags)))) (description (string-append (package-description fftw) " Single-precision version.")))) @@ -811,11 +840,11 @@ (define-public fftw-openmpi (arguments (substitute-keyword-arguments (package-arguments fftw) ((#:configure-flags cf) - `(cons "--enable-mpi" ,cf)) + #~(cons "--enable-mpi" #$cf)) ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (add-before 'check 'mpi-setup - ,%openmpi-setup))))) + #~(modify-phases #$phases + (add-before 'check 'mpi-setup + #$%openmpi-setup))))) (description (string-append (package-description fftw) " With OpenMPI parallelism support.")))) -- 2.46.0 From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 26 11:54:53 2025 Received: (at 64114) by debbugs.gnu.org; 26 Jan 2025 16:54:53 +0000 Received: from localhost ([127.0.0.1]:57699 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tc5uO-0005eX-RE for submit@debbugs.gnu.org; Sun, 26 Jan 2025 11:54:53 -0500 Received: from mout01.posteo.de ([185.67.36.65]:36365) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tc5uM-0005e4-3P for 64114@debbugs.gnu.org; Sun, 26 Jan 2025 11:54:50 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id C842F240027 for <64114@debbugs.gnu.org>; Sun, 26 Jan 2025 17:54:43 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1737910483; bh=d53TqkHFENtGIFTRSSXNQXu9FUqVOf/HHKa/pKSYB7c=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version: Content-Transfer-Encoding:From; b=lf+bL0PGbMwfZKzSLueT5vuKcc7TsHwOLF8+LdVGvUu4dsecwY7eDN8akWcq8d9J3 LJ5hIvArhQdyRHXyFqdp43FIkUp/VC8VIcG8E24HI3bF0nSDF601grzc6DzdkNvlMN i1lEj4Iuy/WSgSgXi9qUsLwjKgzf7evBkd/4f0eXJ8+rCo32cHvrbROdA1ZLLP9Zgl NRgSYnNNxBMqn6wwK/mnOrPuhHvyeMQeDw52V5AoWfznh2B4NBFU292OrwD/yr/DWX rFEnGKRRjMs+/8ySkIiM5T/cCsin+xDp0wUYvd5NWBWBWurydtvUvjDI5iDP68xOWA gr0Vq7nnadIrg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4YgyMR31QGz9rxd; Sun, 26 Jan 2025 17:54:43 +0100 (CET) From: David Elsing To: 64114@debbugs.gnu.org Subject: [PATCH v2 2/2] gnu: Add fftw-documentation. Date: Sun, 26 Jan 2025 16:54:33 +0000 Message-ID: <20250126165438.28034-2-david.elsing@posteo.net> In-Reply-To: <20250126164901.27159-1-david.elsing@posteo.net> References: <20250126164901.27159-1-david.elsing@posteo.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -3.3 (---) X-Debbugs-Envelope-To: 64114 Cc: David Elsing X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.3 (----) * gnu/packages/algebra.scm (fftw-documentation): New variable. --- gnu/packages/algebra.scm | 42 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 96f9b36a0e..56fc90b518 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -799,6 +799,48 @@ (define-public fftw cosine/ sine transforms or DCT/DST).") (license license:gpl2+))) +;; Separate package to prevent dependency cycle +(define-public fftw-documentation + (package/inherit fftw + (name "fftw-documentation") + (arguments + (substitute-keyword-arguments (package-arguments fftw) + ((#:tests? _ #f) #f) + ((#:phases phases '%standard-phases) + #~(modify-phases #$phases + (replace 'build + (lambda _ + ;; Reproducibility + (substitute* "doc/FAQ/m-html.pl" + (("- \\$html_date\\\\n") "") + (("\\$html_year \\$user_copyholder") + "2021 $user_copyholder")) + (substitute* "doc/FAQ/fftw-faq.bfnn" + ((".*`date.*") "")) + (invoke "make" "-C" "doc") + (invoke "make" "-C" "doc" "html") + (invoke "make" "-C" "doc/FAQ" "faq"))) + (replace 'install + (let ((doc (string-append #$output "/share/doc/" + #$(package-name this-package) "-" + #$(package-version this-package)))) + (lambda _ + (copy-recursively "doc/html" (string-append doc "/html")) + (copy-recursively "doc/FAQ/fftw-faq.html" + (string-append doc "/fftw-faq.html")) + (install-file "doc/FAQ/fftw-faq.ascii" doc)))))))) + (native-inputs + (modify-inputs (package-native-inputs fftw) + (prepend ghostscript texinfo fig2dev))) + (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).") + (license license:gpl2+))) + (define-public fftw-cmake (package/inherit fftw ;; Cmake compiling is experimental since 2017, and it is not clear if this -- 2.46.0