From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id 6EPvB6MEpGVSDQAAe85BDQ:P1 (envelope-from ) for ; Sun, 14 Jan 2024 16:58:27 +0100 Received: from aspmx1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id 6EPvB6MEpGVSDQAAe85BDQ (envelope-from ) for ; Sun, 14 Jan 2024 16:58:27 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=posteo.net header.s=2017 header.b=QO9mqmei; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (strict)" header.from=posteo.net (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1705247906; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=W0I3PVVyWK5vUtI00XLwleYGLdzzBk+3N11q/Yl5nw0=; b=MUCT5ve67k/UbOa7T05+8h7Hem0qPBsm+OX15Q07G146+KZzsI9KA8bEST8eQZsOFWAFmO Cf7hBgXRu8ab1kBzjhe2qUglRKfUAFFyL+JtxmcY4JlC0StKfNLqQiUs7h3QtzG04HFAsK M5lfWzxUJJZ8eIBDw5bDeeo5S4z4kLOf1fs975SySwRczxTUEtRaKwqXiHh7ROsSopSzci +yN0/p7B39L+Ftn/YIcSazv0HFtDteJL7Yx/zrxgS/HnkSzOtSJzdKjkTqVvDJbjXSW5ub sdNl7fbp5EkxB2ju3qPFQeLv/lOeD0F69NIjMGAKtiG7RyKvMwdpEK2aB2Wa2Q== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=posteo.net header.s=2017 header.b=QO9mqmei; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (strict)" header.from=posteo.net (policy=none) ARC-Seal: i=1; s=key1; d=yhetil.org; t=1705247906; a=rsa-sha256; cv=none; b=qCDPkz5FGxaZy5hrVh94F91KpaaQCCTKYUKAeXaVQcuCOqztGS9vBoKZx00O3I5rh2kCpK vVEldhUDkEnI/079WDhg87wDcIouSKpx91fL6u2j/AtSY1/E9kaledCfa/sUBKKQ4s7e17 ZOyBI0GTgNRFPo/+PSAgHVWpTa49t2RX3/Ib636SHWrnaUCgcl9Lo/fvpkXYNle1oxNITI 1qCww9Y6YDohCHQ2lBaRRMd6khaTTTexPgl2MRfl7xENM1Y0N+WQmdlhjAmSWStkCSJ34C eGwZdrBvavDlqDF0FKKBi/YUZlJSTV/Q0BWT+XrfWWKnRhT2jT16n0aHWdvyPQ== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id CF70647752 for ; Sun, 14 Jan 2024 16:58:26 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rP2sD-0004x5-BC; Sun, 14 Jan 2024 10:58:09 -0500 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 1rP2s7-0004w7-VY for guix-patches@gnu.org; Sun, 14 Jan 2024 10:58:04 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rP2s7-0003FK-NU for guix-patches@gnu.org; Sun, 14 Jan 2024 10:58:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rP2s6-0004Lj-U1 for guix-patches@gnu.org; Sun, 14 Jan 2024 10:58:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#64114] [PATCH v2 1/2] gnu: fftw: Build entirely from source. Resent-From: David Elsing Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 14 Jan 2024 15:58:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64114 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 64114@debbugs.gnu.org Cc: David Elsing Received: via spool by 64114-submit@debbugs.gnu.org id=B64114.170524783116627 (code B ref 64114); Sun, 14 Jan 2024 15:58:02 +0000 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 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: 3.12 X-Migadu-Queue-Id: CF70647752 X-Spam-Score: 3.12 X-Migadu-Scanner: mx11.migadu.com X-TUID: EeofNEB6NXBb * 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