From unknown Thu Aug 14 18:39:12 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#66606 <66606@debbugs.gnu.org> To: bug#66606 <66606@debbugs.gnu.org> Subject: Status: [PATCH] gnu: Add reduce-csl. Reply-To: bug#66606 <66606@debbugs.gnu.org> Date: Fri, 15 Aug 2025 01:39:12 +0000 retitle 66606 [PATCH] gnu: Add reduce-csl. reassign 66606 guix-patches submitter 66606 Nigko Yerden severity 66606 normal tag 66606 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 18 08:31:30 2023 Received: (at submit) by debbugs.gnu.org; 18 Oct 2023 12:31:30 +0000 Received: from localhost ([127.0.0.1]:33416 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qt5hx-0006WI-63 for submit@debbugs.gnu.org; Wed, 18 Oct 2023 08:31:30 -0400 Received: from lists.gnu.org ([2001:470:142::17]:44814) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qt5hs-0006Vy-5J for submit@debbugs.gnu.org; Wed, 18 Oct 2023 08:31:28 -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 1qt5hC-0001ro-T0 for guix-patches@gnu.org; Wed, 18 Oct 2023 08:30:46 -0400 Received: from mail-lj1-x244.google.com ([2a00:1450:4864:20::244]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qt5h8-0000MA-TE for guix-patches@gnu.org; Wed, 18 Oct 2023 08:30:41 -0400 Received: by mail-lj1-x244.google.com with SMTP id 38308e7fff4ca-2c503da4fd6so75247541fa.1 for ; Wed, 18 Oct 2023 05:30:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1697632233; x=1698237033; darn=gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=qb1zxa/QVY/gMxUguP/8bSOCuXUHEaHiJJmsJ3UjhS0=; b=CF8VflQYziCXw6mbY1zOyTwbcstKnsGkdmMdVvSvgdIfzmnUpaSZeddFt/k//hUFfR 01OdeOkA05fKexhPL0dYL8qH9FXz4w3Bb1Kku8X1ieIuvm3w/3lma974274ipoGIkJW8 f5bRUoAAZEQ9OXBX5BPWrKvuqbiFS9VEyRe/xHTK3LDJ/ghIpJhTDDuzlgee7Z2rpuwB +K+TOJsZjpJdTOIJs+3uo4Hsqrm8aCkL6xEUakWLbmmAp+mZBur484DbqBkuhytrk+lD tPt5Y/nHQT29EHJBGPhSSidVBTT9b1aa2WdJ8pPW1vSShrdms6XdsJ0WHGzfqy5kU/m0 Y6Ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697632233; x=1698237033; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=qb1zxa/QVY/gMxUguP/8bSOCuXUHEaHiJJmsJ3UjhS0=; b=cYOJLH2DcOOHbsEbpnssJl0CovGzOL+GgPDiiZlRjEP2UIQLJQnEPZ67kFW1z9g+F5 Q5egdWRu+P3P2n4VbfsvLer/PTC1bSttld0PkCnCBdBrUob7IRkkKnUVEgnpTSM6nzYc TZW9ZHmN1qL2UHRJNn09y0wk0xU8fPEIb362W9aBW+eiZz8ch4koiROI8zuTwVIZiCcT rSg6AI8hWPu5K1NPFN4Bu5TtKYamuJ2nfFMRr+8Pg5ngtqkJxN7BbK82YOUxkfax36X/ sFt2Q1LvmZrJ2aSGDHqjIN+6YU/ezpcIylRnlnMmBw+5S+SFkU+ojw1owEcjlPPMIKt9 rRJA== X-Gm-Message-State: AOJu0YxQ50RuHcQOi0gqzJFadwpIpOCaJaokNA4S5ZhZPpeivQxJ6HIV 1owKO1u7aVKxVaDqoRlM1L1rFBslJRPl1A== X-Google-Smtp-Source: AGHT+IHM4j7B7zrGkVfzq5Cq5WxPfuf8fQWKxoIrhE5G2sC6ui18sZeOyNzEth/9SOKezdCAX+0gnA== X-Received: by 2002:ac2:4ec7:0:b0:500:8fcd:c3b5 with SMTP id p7-20020ac24ec7000000b005008fcdc3b5mr3191203lfr.12.1697632232507; Wed, 18 Oct 2023 05:30:32 -0700 (PDT) Received: from localhost.localdomain ([188.68.131.75]) by smtp.gmail.com with ESMTPSA id x30-20020a19e01e000000b005032ebf8a00sm690011lfg.197.2023.10.18.05.30.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Oct 2023 05:30:32 -0700 (PDT) From: Nigko Yerden To: guix-patches@gnu.org Subject: [PATCH] gnu: Add reduce-csl. Date: Wed, 18 Oct 2023 17:26:27 +0500 Message-ID: X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-Debbugs-Cc: Andreas Enge , Efraim Flashner , Eric Bavier Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2a00:1450:4864:20::244; envelope-from=nigko.yerden@gmail.com; helo=mail-lj1-x244.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit Cc: Nigko Yerden 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: -0.0 (/) * gnu/packages/maths.scm (reduce-csl): New variable. --- This patch introduces Reduce, a general purpose computer algebra system similar to Maxima. The package is built successfully on x86_64_linux (natively), armhf-linux and aarch64-linux (via 'guix build --system=...' command) architectures. Reduce became build-reproducible since the upstream revision 6601, but the current "stable" snapshot 6547 is not reproducible. The source code contains bundled fox and editline libraries as well as their adjustments, which are difficult to remove. Also it contains libffi (can be replaced by libffi from guix repo), crlibm and softfloat (currently are not present in guix repo) libraries. gnu/packages/maths.scm | 107 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 683acd96e1..89127c9e0e 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -62,6 +62,7 @@ ;;; Copyright © 2023 Jake Leporte ;;; Copyright © 2023 Camilo Q.S. (Distopico) ;;; Copyright © 2023 David Elsing +;;; Copyright © 2023 Nigko Yerden ;;; ;;; This file is part of GNU Guix. ;;; @@ -4761,6 +4762,112 @@ (define-public wxmaxima full text searching.") (license license:gpl2+))) +(define-public reduce-csl + (package + (name "reduce-csl") + (version "6547") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/reduce-algebra/snapshot_" + "2023-03-08" "/Reduce-svn" version "-src.tar.gz")) + (sha256 + (base32 + "1a559s4ff5askifyha6fi8qvxjkya1n3ziypig2rgi6q62nbx418")) + (modules '((guix build utils))) + ;; remove binaries and unnecessary parts + ;; to ensure we build from source files only + (snippet '(map delete-file-recursively + (append (find-files "csl/generated-c" "\\.img$") + '("psl" "vsl" + "jlisp" + "jslisp" + "libedit" + "macbuild" + "MacPorts" + "mac-universal" + "reduce2" + "winbuild64" + "common-lisp" + "contrib" + "generic/qreduce" + "web/htdocs/images/Thumbs.db") + (find-files "csl" + "^(embedded|new-embedded|winbuild|support-packages)$" + #:directories? #t) + (find-files "libraries" + "^(original|wineditline|libffi-for-mac)$" + #:directories? #t)))))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f + #:configure-flags + #~(list "--without-autogen" + ;; fix conflict with internal build name determination + "--build=" "--with-csl" + (string-append "CXXFLAGS=-I" + #$freetype + "/include/freetype2")) + #:make-flags #~(list "csl") + #:phases #~(modify-phases %standard-phases + (add-before 'patch-source-shebangs 'autogen + (lambda _ + (invoke "sh" "autogen.sh"))) + (add-after 'install 'fix-install + (lambda _ + (delete-file-recursively (string-append #$output + "/man")) + (delete-file (string-append #$output "/share/man")) + (copy-file "bin/rfcsl" + (string-append #$output "/bin/rfcsl")) + (let ((.desktop-file + "debianbuild/reduce/debian/redcsl.desktop") + (icon "debianbuild/reduce/debian/reduce.png")) + (substitute* .desktop-file + (("Exec=/.*/(redcsl[ \t]+.*)" _ exec) + (string-append "Exec=" exec))) + (install-file .desktop-file + (string-append #$output + "/share/applications")) + (install-file icon + (string-append #$output + "/share/icons/hicolor/32x32/apps"))) + (rename-file "generic/newfront/redfront.1" + "generic/newfront/rfcsl.1") + (map (lambda (file) + (invoke "gzip" file) + (install-file (string-append file ".gz") + (string-append #$output + "/share/man/man1"))) + '("csl/cslbase/redcsl.1" + "generic/newfront/rfcsl.1")) + (with-directory-excursion #$output + (map (lambda (dir) + (map (lambda (file) + (chmod file #o444)) + (find-files dir))) + '("share/man/man1" "share/doc/reduce" + "share/reduce/fonts")))))))) + (native-inputs (list which autoconf automake libtool)) + (inputs + ;; bundled libraries: fox (adjusted) editline (adjusted) + ;; libffi crlibm softfloat + (list ncurses freetype libxft libx11 libxext)) + (synopsis "Portable general-purpose computer algebra system") + (description + "REDUCE is a portable general-purpose computer algebra system. It is a +system for doing scalar, vector and matrix algebra by computer, which also +supports arbitrary precision numerical approximation and interfaces to gnuplot +to provide graphics. It can be used interactively for simple calculations but +also provides a full programming language, with a syntax similar to other +modern programming languages. REDUCE supports alternative user interfaces +including Run-REDUCE, TeXmacs and GNU Emacs. This package provides Codemist +Standard Lisp (CSL) version of REDUCE. It uses gnuplot program, if installed, +to make figures.") + (home-page "https://reduce-algebra.sourceforge.io/") + (license (license:non-copyleft "file://README" + "See README in the deistribution.")))) + (define-public armadillo (package (name "armadillo") base-commit: 1076f32111e512ed437f135c9eb6ce2daaafd623 -- 2.41.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 05 11:55:13 2025 Received: (at 66606) by debbugs.gnu.org; 5 Feb 2025 16:55:13 +0000 Received: from localhost ([127.0.0.1]:52141 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tfigD-0005AE-2s for submit@debbugs.gnu.org; Wed, 05 Feb 2025 11:55:13 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]:46744) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tfig9-00054C-Bc for 66606@debbugs.gnu.org; Wed, 05 Feb 2025 11:55:10 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 75E6F45B; Wed, 5 Feb 2025 17:55:01 +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 as9haD9bDrBv; Wed, 5 Feb 2025 17:55:01 +0100 (CET) Received: from jurong (176-179-191-150.abo.bbox.fr [176.179.191.150]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 744E82E7; Wed, 5 Feb 2025 17:54:59 +0100 (CET) Date: Wed, 5 Feb 2025 17:54:57 +0100 From: Andreas Enge To: Nigko Yerden Subject: Re: [bug#66606] [PATCH] gnu: Add reduce-csl. Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Level: ****** X-Rspamd-Action: add header X-Rspamd-Server: hera X-Rspamd-Queue-Id: 75E6F45B X-Spamd-Bar: ++++++ X-Spamd-Result: default: False [6.95 / 15.00]; SPAM_FLAG(5.00)[]; NEURAL_SPAM(3.00)[1.000]; BAYES_HAM(-2.95)[99.77%]; SUSPICIOUS_RECIPS(1.50)[]; MID_RHS_NOT_FQDN(0.50)[]; MIME_GOOD(-0.10)[text/plain]; FREEMAIL_ENVRCPT(0.00)[gmail.com]; MIME_TRACE(0.00)[0:+]; FROM_EQ_ENVFROM(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; RCPT_COUNT_THREE(0.00)[4]; FREEMAIL_TO(0.00)[gmail.com]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_SOME(0.00)[]; TAGGED_RCPT(0.00)[]; RCVD_TLS_ALL(0.00)[]; ARC_NA(0.00)[] X-Spam: Yes X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 66606 Cc: 66606@debbugs.gnu.org, Efraim Flashner , Eric Bavier 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, Am Wed, Oct 18, 2023 at 05:26:27PM +0500 schrieb Nigko Yerden: > * gnu/packages/maths.scm (reduce-csl): New variable. > This patch introduces Reduce, a general purpose computer algebra > system similar to Maxima. sorry for overlooking this patch for so long! The commit currently does not apply with "git am"; would you be able to provide a v2 that applies? I also wonder if you could already unbundle libffi. > + (list #:tests? #f Are there no tests? If this is the case, please add a comment. Otherwise it would be good to enable the tests. > + (add-after 'install 'fix-install > + (lambda _ > + (delete-file-recursively (string-append #$output > + "/man")) Why is this needed? Thanks! Andreas From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 06 11:43:16 2025 Received: (at 66606) by debbugs.gnu.org; 6 Feb 2025 16:43:16 +0000 Received: from localhost ([127.0.0.1]:59218 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tg4y8-0007dd-CA for submit@debbugs.gnu.org; Thu, 06 Feb 2025 11:43:16 -0500 Received: from mail-lf1-x142.google.com ([2a00:1450:4864:20::142]:61594) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tg4y4-0007dI-Ll for 66606@debbugs.gnu.org; Thu, 06 Feb 2025 11:43:10 -0500 Received: by mail-lf1-x142.google.com with SMTP id 2adb3069b0e04-53f22fd6887so1253257e87.2 for <66606@debbugs.gnu.org>; Thu, 06 Feb 2025 08:43:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738860182; x=1739464982; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=FnLPAqONLe67YUtb6ChyEiE+Vw0sIYnz33zoD8oNrmM=; b=UZgS40F0WSxhdP31GrLEcNfGJuNfsE+1hS3z2jdOiy3xj46bPZ3FbYrImvI1HhIL9K ximibLg7ioRqckO6+qtmskSVCOAhQfugebicyBmlcmXA4KR80xfmBppMlpypwItG7/df 7DCxChgl8WW74KPVPt5/9434KkxBronhGEwto14m7X87O7dCXYQw+XondlrYyIzLQD4s oeyMYT9GeCAhPcszMMiNxmacF4XLzZx3AjyvnyMVSPi6BdDWcEyvZbaiQ/wLZ5Exjcu9 +cNO2gk1dTvC4vBcnHTEM13q8zkAooPLInoQDoaRpKaa8G/f1gPdpk+dnx8J+wThNswt +YTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738860182; x=1739464982; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=FnLPAqONLe67YUtb6ChyEiE+Vw0sIYnz33zoD8oNrmM=; b=roRJWbedBwTZaNNZp83zgNPepD5Nlw+LSzYNiFB1/geWMgHX7X800XePWHPQlndf9z /V3ep/F3ffdvYqBdigkaqSL5xp7V5CrR5FvCxQLvwnfeXnFGS+KYSqC3qowN2YM4QLu5 BWUr5n9babtUwGd3yVIdzmkP0ScqeBXMgU5MBsb8VQ0W/nagrtN5tauBDjVvsy7cLRkY lwSsKN0PHixijxdSesog+xzwOepp3O8GcwMl/QJZmG/MbB/I9JtBSid+/hnh8Fpvjues +G9EetZ27A6XKSrEoHfSeoSYbpmiaNTO9r4uovzmk1CmAEqGbmgLJAYV/gi+6twKFfuS I6sQ== X-Gm-Message-State: AOJu0YwejtOP1dGyYxNjX/QNO/lhiCn5apOI5i6rS7lW7N2lX6YOy18o AANW60uqao2wrbJIh5g4nh4laKPvc7SpPCgAGZpEq3LgC7bCTAR5ygKMv4mN X-Gm-Gg: ASbGncuiqA0iFaN8mYzncV0wVYJtqy9sEJZ8eECnayLJutDgXybUW63mpke3CQwsXxY IzUbcuAWW7falV1Mn7tHS8sE1d/0XapNK1h5QbDjJVjdtVid/RhuF+P1WNlzLW09o+gtypDFOCR vP9LzBB2vTX0FID6qsN3Iqqsx3hcdRHX9U1TGV0KC9Yym1XBGDziMikRPhoJ2IonUIWPSLLdfLJ muJFNHq1Nxhdvx8qFzG5srm4sQIEDT6IQ5OEvO3DjN8+cIt8X8sr0s2kdJAU40QFmCIPdj2UThU aqGrZJPOCTqFMNLhcGoI97BUzN+lytg= X-Google-Smtp-Source: AGHT+IHiEeNcCQn48NfX+wPxQ/tYGyZzJ/QskvEuKidgxixl/jJvo51+uNedkjCtoVxQc7hai0PwCg== X-Received: by 2002:a05:6512:1386:b0:540:3571:fea8 with SMTP id 2adb3069b0e04-54405a0fe90mr2816293e87.12.1738860181418; Thu, 06 Feb 2025 08:43:01 -0800 (PST) Received: from localhost.localdomain ([188.68.135.99]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-307de2d8efesm1647831fa.88.2025.02.06.08.43.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Feb 2025 08:43:00 -0800 (PST) From: Nigko Yerden To: 66606@debbugs.gnu.org Subject: [PATCH v2] gnu: Add reduce-csl. Date: Thu, 6 Feb 2025 21:40:11 +0500 Message-ID: X-Mailer: git-send-email 2.47.1 MIME-Version: 1.0 X-Debbugs-Cc: Andreas Enge , Eric Bavier , Sharlatan Hellseher Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 66606 Cc: andreas@enge.fr, efraim@flashner.co.il, Nigko Yerden , bavier@posteo.net 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: -0.0 (/) * gnu/packages/math.scm (reduce-csl): New variable. * gnu/packages/patches/reduce-csl.patch: New patch which unbundles libffi. Change-Id: Ic85be7dc490f005f7ba65c418250cc9681fbb3a8 --- Hello, Andreas Enge wrote: >sorry for overlooking this patch for so long! > >The commit currently does not apply with "git am"; would you be able to >provide a v2 that applies? >I also wonder if you could already unbundle libffi. > >> + (list #:tests? #f > >Are there no tests? If this is the case, please add a comment. >Otherwise it would be good to enable the tests. > I rewrote this old patch. New patch provides 1. Updated package revision number 6860 (was 6547). 2. Apparent reproducibility of the package. 3. 'check' build phase for running tests. 4. Unbundled libffi. >> + (add-after 'install 'fix-install >> + (lambda _ >> + (delete-file-recursively (string-append #$output >> + "/man")) > >Why is this needed? This was the wrong location for the man pages coming from upstream rev. 6547. (it should be "share/man/man.1"). The current upstream version is free from this bug and these lines were removed in consequence. Regards, Nigko gnu/packages/maths.scm | 103 +++++++++++++++++++++ gnu/packages/patches/reduce-csl.patch | 125 ++++++++++++++++++++++++++ 2 files changed, 228 insertions(+) create mode 100644 gnu/packages/patches/reduce-csl.patch diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index c3017976f6..33fc692375 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -67,6 +67,7 @@ ;;; Copyright © 2024 Foundation Devices, Inc. ;;; Copyright © 2024, 2025 Artyom V. Poptsov ;;; Copyright © 2024 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2025 Nigko Yerden ;;; ;;; This file is part of GNU Guix. ;;; @@ -197,6 +198,7 @@ (define-module (gnu packages maths) #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) + #:use-module (gnu packages libffi) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26)) @@ -5398,6 +5400,107 @@ (define-public maxima ;; GPLv2 only is therefore the smallest subset. (license license:gpl2))) +(define-public reduce-csl + (package + (name "reduce-csl") + (version "6860") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/reduce-algebra/snapshot_" + "2024-08-12" "/Reduce-svn" version "-src.tar.gz")) + (sha256 + (base32 + "13bij9d4dj96vd5di59skz77s2fihj7awmkx403fvh9rd04ly25z")) + (modules '((guix build utils))) + ;; unbundle libffi + (patches (search-patches "reduce-csl.patch")) + ;; remove binaries and unnecessary parts + ;; to ensure we build from source files only + (snippet '(map delete-file-recursively + (append (find-files "csl/generated-c" "\\.img$") + '("psl" "vsl" + "jlisp" + "jslisp" + "libedit" + "macbuild" + "MacPorts" + "mac-universal" + "reduce2" + "winbuild64" + "common-lisp" + "contrib" + "generic/qreduce" + "web/htdocs/images/Thumbs.db") + (find-files "csl" + "^(embedded|new-embedded|winbuild|support-packages)$" + #:directories? #t) + (find-files "libraries" + "^(original|wineditline|libffi|libffi-for-mac)$" + #:directories? #t)))))) + (build-system gnu-build-system) + (arguments + (list #:configure-flags + #~(list "--without-autogen" + ;; fix conflict with internal build name determination + "--build=" + "--with-csl" + (string-append "CPPFLAGS=-I" + #$freetype + "/include/freetype2")) + #:make-flags #~(list "csl") + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "scripts/testall.sh" "--csl" "--noregressions")))) + (add-before 'patch-source-shebangs 'autogen + (lambda _ + (invoke "sh" "autogen.sh"))) + (add-after 'install 'fix-install + (lambda _ + (copy-file "bin/rfcsl" + (string-append #$output "/bin/rfcsl")) + (copy-file "generic/newfront/redfront.1" + (string-append #$output + "/share/man/man1/rfcsl.1")) + (let ((.desktop-file + "debianbuild/reduce/debian/redcsl.desktop") + (icon "debianbuild/reduce/debian/reduce.png")) + (install-file .desktop-file + (string-append #$output + "/share/applications")) + (install-file icon + (string-append + #$output + "/share/icons/hicolor/32x32/apps"))) + (with-directory-excursion #$output + (map (lambda (dir) + (map (lambda (file) + (chmod file #o444)) + (find-files dir))) + '("share/man/man1" "share/reduce/fonts")))))))) + (native-inputs (list which autoconf automake libtool)) + (inputs + ;; bundled libraries: fox (adjusted) editline (adjusted) + ;; libffi (unbundled, see patch) crlibm softfloat + (list ncurses freetype libxft libx11 libxext libffi)) + (synopsis "Portable general-purpose computer algebra system") + (description + "REDUCE is a portable general-purpose computer algebra system. It is a +system for doing scalar, vector and matrix algebra by computer, which also +supports arbitrary precision numerical approximation and interfaces to gnuplot +to provide graphics. It can be used interactively for simple calculations but +also provides a full programming language, with a syntax similar to other +modern programming languages. REDUCE supports alternative user interfaces +including Run-REDUCE, TeXmacs and GNU Emacs. This package provides Codemist +Standard Lisp (CSL) version of REDUCE. It uses gnuplot program, if installed, +to make figures.") + (home-page "https://reduce-algebra.sourceforge.io/") + (license (license:non-copyleft "file://README" + "See README in the deistribution.")))) + (define-public wxmaxima (package (name "wxmaxima") diff --git a/gnu/packages/patches/reduce-csl.patch b/gnu/packages/patches/reduce-csl.patch new file mode 100644 index 0000000000..21529840b6 --- /dev/null +++ b/gnu/packages/patches/reduce-csl.patch @@ -0,0 +1,125 @@ +This patch unbundles libffi. + +Index: autogen.sh +=================================================================== +diff --git a/autogen.sh b/autogen.sh +--- a/autogen.sh (revision 6860) ++++ b/autogen.sh (working copy) +@@ -142,18 +142,6 @@ + ;; + *--with-csl* | *--with-both*) + L="$L ./csl ./csl/cslbase ./csl/cslbase-nothrow ./libraries/SoftFloat-3a/source" +-# On Apple m1 (ie arm64) I will want to build a universal version of the +-# libffi library and that is done in a way that differs from standrad builds. +- case "`uname -s` `uname -m`" in +- *Darwin*arm64*) +- L="$L ./libraries/libffi-for-mac/libffi-3.3-arm64" +- L="$L ./libraries/libffi-for-mac/libffi-3.3-x86_64" +- L="$L ./libraries/libffi" +- ;; +- *) +- L="$L ./libraries/libffi" +- ;; +- esac + case $a in + *--without-fox* | *with-fox=no* | \ + *--without-gui* | *with-gui=no*) +Index: configure.ac +=================================================================== +diff --git a/configure.ac b/configure.ac +--- a/configure.ac (revision 6860) ++++ b/configure.ac (working copy) +@@ -1389,37 +1389,6 @@ + cd "$builddir" + fi + +-AC_MSG_NOTICE([About to configure libffi]) +-mkdir -p libffi +-if test `uname` = "Darwin" && test "$enable_universal" != "no" +-then +-# This is a messy script that arranges to build a universal version of +-# the library on MacOS. It does this by building arm64 and an x86_64 +-# separately and then merging the resulting libraries. +- sed "s+@srcdir@+$abssrcdir+" \ +- < $abssrcdir/libraries/libffi-for-mac/Makefile \ +- > libffi/Makefile +-else +- cd libffi +- setpasscc +- doconfig="$SHELL $abssrcdir/libraries/libffi/configure -C $filtered \ +- $pass_host \ +- CPPFLAGS=\"$CPPFLAGS\" \ +- CFLAGS=\"$CFLAGS\" \ +- CXXFLAGS=\"$CXXFLAGS\" \ +- LDFLAGS=\"$LDFLAGS\" \ +- $passcc \ +- --disable-multi-os-directory \ +- --disable-docs \ +- --prefix=\"$builddir\" \ +- --libdir=\"$builddir/lib\" \ +- --includedir=\"$builddir/include\"" +- AC_MSG_NOTICE([doconfig = $doconfig]) +- printf "\n\n+++ About to configure libffi +++\n\n" +- eval "$doconfig" +- cd "$builddir" +-fi +- + AC_MSG_NOTICE([About to configure libsoftfloat]) + mkdir -p softfloat + cd softfloat +Index: csl/cslbase/Makefile.am +=================================================================== +diff --git a/csl/cslbase/Makefile.am b/csl/cslbase/Makefile.am +--- a/csl/cslbase/Makefile.am (revision 6860) ++++ b/csl/cslbase/Makefile.am (working copy) +@@ -807,35 +807,6 @@ + + endif !crlibm + +-LIBFFIDEPS=../lib/libffi.a ../include/ffi.h +- +-FFIDEP = ../include/ffi.h +-FFIINC = -I../include +-AM_CPPFLAGS += $(FFINC) +-reduce_CPPFLAGS += $(FFINC) +-bootstrapreduce_CPPFLAGS += $(FFINC) +-csl_CPPFLAGS += $(FFINC) +-flatcsl_CPPFLAGS += $(FFINC) +- +-# The following ugly dependencies are here so that one can go, for +-# instance, "make csl.o" in a clean tree and libffi building will get +-# triggered. +- +- +-csl_LDADD += ../lib/libffi.a +-flatcsl_LDADD += ../lib/libffi.a +-bootstrapreduce_LDADD += ../lib/libffi.a +-reduce_LDADD += ../lib/libffi.a +- +-csl_DEPENDENCIES += $(LIBFFIDEPS) +-flatcsl_DEPENDENCIES += $(LIBFFIDEPS) +-bootstrapreduce_DEPENDENCIES += $(LIBFFIDEPS) +-reduce_DEPENDENCIES += $(LIBFFIDEPS) +- +-$(LIBFFIDEPS): +- @printf "About to build libffi for %s ($@)\n" `pwd` +- -$(TRACE)@$(MAKE) -C ../libffi install +- + SOFTFLOATDEPS=../lib/libsoftfloat.a ../include/softfloat.h + + SOFTFLOATDEP = ../include/softfloat.h +Index: csl/cslbase/configure.ac +=================================================================== +diff --git a/csl/cslbase/configure.ac b/csl/cslbase/configure.ac +--- a/csl/cslbase/configure.ac (revision 6860) ++++ b/csl/cslbase/configure.ac (working copy) +@@ -146,8 +146,8 @@ + AC_DEFINE(WITHOUT_FFI, [1], [remove the foreign function support]) + fi + ++AC_SEARCH_LIBS([ffi_call], [ffi]) + +- + # What host am I on? + AC_CANONICAL_HOST() + base-commit: 5c5f72cac9c49db918eba158d0c751ab1be1e95a -- 2.47.1 From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 07 04:40:50 2025 Received: (at 66606) by debbugs.gnu.org; 7 Feb 2025 09:40:50 +0000 Received: from localhost ([127.0.0.1]:32858 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tgKqt-0000Rs-88 for submit@debbugs.gnu.org; Fri, 07 Feb 2025 04:40:50 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]:59614) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tgKqo-0000RW-F9 for 66606@debbugs.gnu.org; Fri, 07 Feb 2025 04:40:45 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id D081B2D0; Fri, 7 Feb 2025 10:40:35 +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 uycd74gt-HqX; Fri, 7 Feb 2025 10:40:33 +0100 (CET) Received: from jurong (176-179-191-150.abo.bbox.fr [176.179.191.150]) by hera.aquilenet.fr (Postfix) with ESMTPSA id E6806A52; Fri, 7 Feb 2025 10:40:32 +0100 (CET) Date: Fri, 7 Feb 2025 10:40:31 +0100 From: Andreas Enge To: Nigko Yerden Subject: [PATCH v3] gnu: Add reduce-csl. Message-ID: References: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Nk/DDGLa/JChVdlS" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Spam-Level: ****** X-Rspamd-Action: add header X-Rspamd-Server: hera X-Rspamd-Queue-Id: D081B2D0 X-Spamd-Bar: ++++++ X-Spamd-Result: default: False [6.88 / 15.00]; SPAM_FLAG(5.00)[]; BAYES_HAM(-3.00)[100.00%]; NEURAL_SPAM(2.98)[0.993]; SUSPICIOUS_RECIPS(1.50)[]; MID_RHS_NOT_FQDN(0.50)[]; MIME_GOOD(-0.10)[multipart/mixed,text/plain]; TO_DN_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:+]; HAS_ATTACHMENT(0.00)[]; TAGGED_RCPT(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FREEMAIL_ENVRCPT(0.00)[gmail.com]; ARC_NA(0.00)[] X-Spam: Yes X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 66606 Cc: 66606@debbugs.gnu.org, efraim@flashner.co.il, bavier@posteo.net 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 (-) --Nk/DDGLa/JChVdlS Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hello, Am Thu, Feb 06, 2025 at 09:40:11PM +0500 schrieb Nigko Yerden: > I rewrote this old patch. New patch provides > 1. Updated package revision number 6860 (was 6547). > 2. Apparent reproducibility of the package. > 3. 'check' build phase for running tests. > 4. Unbundled libffi. thanks for sending the new patch, and so quickly; I did not expect unbundling of libffi to require so much work! And running tests is also good. I have moved the package from the maths to the algebra module (which is more specific). The patch needs to be registered in local.mk. I would also suggest to use the snapshot date and not the svn commit as the version number, since it is more telling (and also appears "higher up" in the file hierarchy on their site). And maybe call the package just "reduce" instead of "reduce-csl"? I wondered whether we should also compile with psl (using "--with-both" instead of "--with-csl"); but I suppose that this would just create a duplicate? It is a bit surprising to first use "--without-autogen" and then call autogen in a separate phase, but I tried to drop both, and this caused an error. The package compiles, and I could run reduce with a few of the examples from their website. Are you okay with the patch as attached, or would you prefer to handle differently some changes I made? Andreas --Nk/DDGLa/JChVdlS Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: attachment; filename="0001-gnu-Add-reduce.patch" Content-Transfer-Encoding: 8bit >From fd80b9f9f53326f9855379244c96aabbc122d08d Mon Sep 17 00:00:00 2001 Message-ID: From: Nigko Yerden Date: Thu, 6 Feb 2025 21:40:11 +0500 Subject: [PATCH] gnu: Add reduce. * gnu/packages/math.scm (reduce): New variable. * gnu/packages/patches/reduce-unbundle-libffi.patch: New file. * gnu/local.mk (dist_patch_DATA): Register file. Change-Id: Ic85be7dc490f005f7ba65c418250cc9681fbb3a8 Signed-off-by: Andreas Enge --- gnu/local.mk | 1 + gnu/packages/algebra.scm | 106 +++++++++++++++ .../patches/reduce-unbundle-libffi.patch | 125 ++++++++++++++++++ 3 files changed, 232 insertions(+) create mode 100644 gnu/packages/patches/reduce-unbundle-libffi.patch diff --git a/gnu/local.mk b/gnu/local.mk index 83abc86fe2..ac19734a3e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2167,6 +2167,7 @@ dist_patch_DATA = \ %D%/packages/patches/rtags-separate-rct.patch \ %D%/packages/patches/racket-chez-scheme-bin-sh.patch \ %D%/packages/patches/racket-rktio-bin-sh.patch \ + %D%/packages/patches/reduce-unbundle-libffi.patch \ %D%/packages/patches/remake-impure-dirs.patch \ %D%/packages/patches/restartd-update-robust.patch \ %D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \ diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 90b7e32088..9ca866e4dc 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 Nigko Yerden ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,6 +37,7 @@ (define-module (gnu packages algebra) #:use-module (gnu packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages boost) @@ -46,14 +48,17 @@ (define-module (gnu packages algebra) #:use-module (gnu packages documentation) #:use-module (gnu packages flex) #:use-module (gnu packages fltk) + #:use-module (gnu packages fontutils) #:use-module (gnu packages gcc) #:use-module (gnu packages gl) #:use-module (gnu packages graphviz) #:use-module (gnu packages image) #:use-module (gnu packages java) + #:use-module (gnu packages libffi) #:use-module (gnu packages maths) #:use-module (gnu packages mpi) #:use-module (gnu packages multiprecision) + #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) #:use-module (gnu packages ocaml) #:use-module (gnu packages perl) @@ -1875,3 +1880,104 @@ (define-public parform (description (string-append (package-description form) " This package also includes @code{parform}, a version of FORM parallelized using OpenMPI.")))) + +(define-public reduce + (package + (name "reduce") + (version "2024-08-12") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/reduce-algebra/snapshot_" + version "/Reduce-svn6860-src.tar.gz")) + (sha256 + (base32 + "13bij9d4dj96vd5di59skz77s2fihj7awmkx403fvh9rd04ly25z")) + (modules '((guix build utils))) + (patches (search-patches "reduce-unbundle-libffi.patch")) + ;; remove binaries and unnecessary parts + ;; to ensure we build from source files only + (snippet '(map delete-file-recursively + (append (find-files "csl/generated-c" "\\.img$") + '("psl" "vsl" + "jlisp" + "jslisp" + "libedit" + "macbuild" + "MacPorts" + "mac-universal" + "reduce2" + "winbuild64" + "common-lisp" + "contrib" + "generic/qreduce" + "web/htdocs/images/Thumbs.db") + (find-files "csl" + "^(embedded|new-embedded|winbuild|support-packages)$" + #:directories? #t) + (find-files "libraries" + "^(original|wineditline|libffi|libffi-for-mac)$" + #:directories? #t)))))) + (build-system gnu-build-system) + (arguments + (list #:configure-flags + #~(list "--without-autogen" + ;; fix conflict with internal build name determination + "--build=" + "--with-csl" + (string-append "CPPFLAGS=-I" + #$freetype + "/include/freetype2")) + #:make-flags #~(list "csl") + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "scripts/testall.sh" "--csl" "--noregressions")))) + (add-before 'patch-source-shebangs 'autogen + (lambda _ + (invoke "sh" "autogen.sh"))) + (add-after 'install 'fix-install + (lambda _ + (copy-file "bin/rfcsl" + (string-append #$output "/bin/rfcsl")) + (copy-file "generic/newfront/redfront.1" + (string-append #$output + "/share/man/man1/rfcsl.1")) + (let ((.desktop-file + "debianbuild/reduce/debian/redcsl.desktop") + (icon "debianbuild/reduce/debian/reduce.png")) + (install-file .desktop-file + (string-append #$output + "/share/applications")) + (install-file icon + (string-append + #$output + "/share/icons/hicolor/32x32/apps"))) + (with-directory-excursion #$output + (map (lambda (dir) + (map (lambda (file) + (chmod file #o444)) + (find-files dir))) + '("share/man/man1" "share/reduce/fonts")))))))) + (native-inputs (list autoconf automake libtool which)) + (inputs + ;; bundled libraries: fox (adjusted) editline (adjusted) + ;; crlibm softfloat + (list freetype libffi libx11 libxext libxft ncurses)) + (synopsis "Portable general-purpose computer algebra system") + (description + "REDUCE is a portable general-purpose computer algebra system. It is a +system for doing scalar, vector and matrix algebra by computer, which also +supports arbitrary precision numerical approximation and interfaces to +gnuplot to provide graphics. It can be used interactively for simple +calculations but also provides a full programming language, with a syntax +similar to other modern programming languages. REDUCE supports alternative +user interfaces including Run-REDUCE, TeXmacs and GNU Emacs. This package +provides the Codemist Standard Lisp (CSL) version of REDUCE. It uses the +gnuplot program, if installed, to draw figures.") + (home-page "https://reduce-algebra.sourceforge.io/") + (license (license:non-copyleft "file://README" + "See README in the distribution.")))) + diff --git a/gnu/packages/patches/reduce-unbundle-libffi.patch b/gnu/packages/patches/reduce-unbundle-libffi.patch new file mode 100644 index 0000000000..21529840b6 --- /dev/null +++ b/gnu/packages/patches/reduce-unbundle-libffi.patch @@ -0,0 +1,125 @@ +This patch unbundles libffi. + +Index: autogen.sh +=================================================================== +diff --git a/autogen.sh b/autogen.sh +--- a/autogen.sh (revision 6860) ++++ b/autogen.sh (working copy) +@@ -142,18 +142,6 @@ + ;; + *--with-csl* | *--with-both*) + L="$L ./csl ./csl/cslbase ./csl/cslbase-nothrow ./libraries/SoftFloat-3a/source" +-# On Apple m1 (ie arm64) I will want to build a universal version of the +-# libffi library and that is done in a way that differs from standrad builds. +- case "`uname -s` `uname -m`" in +- *Darwin*arm64*) +- L="$L ./libraries/libffi-for-mac/libffi-3.3-arm64" +- L="$L ./libraries/libffi-for-mac/libffi-3.3-x86_64" +- L="$L ./libraries/libffi" +- ;; +- *) +- L="$L ./libraries/libffi" +- ;; +- esac + case $a in + *--without-fox* | *with-fox=no* | \ + *--without-gui* | *with-gui=no*) +Index: configure.ac +=================================================================== +diff --git a/configure.ac b/configure.ac +--- a/configure.ac (revision 6860) ++++ b/configure.ac (working copy) +@@ -1389,37 +1389,6 @@ + cd "$builddir" + fi + +-AC_MSG_NOTICE([About to configure libffi]) +-mkdir -p libffi +-if test `uname` = "Darwin" && test "$enable_universal" != "no" +-then +-# This is a messy script that arranges to build a universal version of +-# the library on MacOS. It does this by building arm64 and an x86_64 +-# separately and then merging the resulting libraries. +- sed "s+@srcdir@+$abssrcdir+" \ +- < $abssrcdir/libraries/libffi-for-mac/Makefile \ +- > libffi/Makefile +-else +- cd libffi +- setpasscc +- doconfig="$SHELL $abssrcdir/libraries/libffi/configure -C $filtered \ +- $pass_host \ +- CPPFLAGS=\"$CPPFLAGS\" \ +- CFLAGS=\"$CFLAGS\" \ +- CXXFLAGS=\"$CXXFLAGS\" \ +- LDFLAGS=\"$LDFLAGS\" \ +- $passcc \ +- --disable-multi-os-directory \ +- --disable-docs \ +- --prefix=\"$builddir\" \ +- --libdir=\"$builddir/lib\" \ +- --includedir=\"$builddir/include\"" +- AC_MSG_NOTICE([doconfig = $doconfig]) +- printf "\n\n+++ About to configure libffi +++\n\n" +- eval "$doconfig" +- cd "$builddir" +-fi +- + AC_MSG_NOTICE([About to configure libsoftfloat]) + mkdir -p softfloat + cd softfloat +Index: csl/cslbase/Makefile.am +=================================================================== +diff --git a/csl/cslbase/Makefile.am b/csl/cslbase/Makefile.am +--- a/csl/cslbase/Makefile.am (revision 6860) ++++ b/csl/cslbase/Makefile.am (working copy) +@@ -807,35 +807,6 @@ + + endif !crlibm + +-LIBFFIDEPS=../lib/libffi.a ../include/ffi.h +- +-FFIDEP = ../include/ffi.h +-FFIINC = -I../include +-AM_CPPFLAGS += $(FFINC) +-reduce_CPPFLAGS += $(FFINC) +-bootstrapreduce_CPPFLAGS += $(FFINC) +-csl_CPPFLAGS += $(FFINC) +-flatcsl_CPPFLAGS += $(FFINC) +- +-# The following ugly dependencies are here so that one can go, for +-# instance, "make csl.o" in a clean tree and libffi building will get +-# triggered. +- +- +-csl_LDADD += ../lib/libffi.a +-flatcsl_LDADD += ../lib/libffi.a +-bootstrapreduce_LDADD += ../lib/libffi.a +-reduce_LDADD += ../lib/libffi.a +- +-csl_DEPENDENCIES += $(LIBFFIDEPS) +-flatcsl_DEPENDENCIES += $(LIBFFIDEPS) +-bootstrapreduce_DEPENDENCIES += $(LIBFFIDEPS) +-reduce_DEPENDENCIES += $(LIBFFIDEPS) +- +-$(LIBFFIDEPS): +- @printf "About to build libffi for %s ($@)\n" `pwd` +- -$(TRACE)@$(MAKE) -C ../libffi install +- + SOFTFLOATDEPS=../lib/libsoftfloat.a ../include/softfloat.h + + SOFTFLOATDEP = ../include/softfloat.h +Index: csl/cslbase/configure.ac +=================================================================== +diff --git a/csl/cslbase/configure.ac b/csl/cslbase/configure.ac +--- a/csl/cslbase/configure.ac (revision 6860) ++++ b/csl/cslbase/configure.ac (working copy) +@@ -146,8 +146,8 @@ + AC_DEFINE(WITHOUT_FFI, [1], [remove the foreign function support]) + fi + ++AC_SEARCH_LIBS([ffi_call], [ffi]) + +- + # What host am I on? + AC_CANONICAL_HOST() + base-commit: 2a4bba2249a71e928bd612d47b6ef439dc498c9c -- 2.48.1 --Nk/DDGLa/JChVdlS-- From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 07 07:13:46 2025 Received: (at 66606) by debbugs.gnu.org; 7 Feb 2025 12:13:46 +0000 Received: from localhost ([127.0.0.1]:33209 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tgNEw-0005QS-1Z for submit@debbugs.gnu.org; Fri, 07 Feb 2025 07:13:46 -0500 Received: from mail-lf1-x144.google.com ([2a00:1450:4864:20::144]:43423) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tgNEt-0005Q9-Ul for 66606@debbugs.gnu.org; Fri, 07 Feb 2025 07:13:44 -0500 Received: by mail-lf1-x144.google.com with SMTP id 2adb3069b0e04-544fe4f254eso335385e87.1 for <66606@debbugs.gnu.org>; Fri, 07 Feb 2025 04:13:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738930417; x=1739535217; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=2yNo3gpE+OBXMOD8gTevkjmS1RnGxIqmBdARpspq0Ys=; b=gT/Jy3NQJC21GHsvyRKLq7mEtRMDfjb+OE5EBHzUi+ziq1HlAzckAfrNWybddiNdOS t+hxihef2cdsDE1pUG/eV3pi6z2CQP1mtwtsEWEYcyn+xhqBLLkTswqQaT2SpxfXBNon pE1CGMr1ANJg7JQICStkhZcxg8FNXtW66qKrZduWaxL+jqHs/bCJ/BLP/bev7drkZ9gi ucq5o9KvMwI0mNanuRngvdVT5Re+LcfDttgR2BVw8R/S3aJteL4uhc+Fbfwsy3TBsBFJ tkjPc91OimR7XW27ul957HEbg3ES6r+fC2rW4g6624YNdp3PWhzNRj0KruL4g4+AtDVA 4BJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738930417; x=1739535217; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=2yNo3gpE+OBXMOD8gTevkjmS1RnGxIqmBdARpspq0Ys=; b=ptDl8pqeEmuqGeBB4s0wg4kGbUPfKXv/912jbP8BjpbO5aIUwBSFmJd7CDyfKjZm9X 1xbI+IjblXw93GbSoQzsp4uC/sW78FFhp/PmTkxBgvZjdSOw3FtGGY3a9DroZ7qNQGJe 3Bu7bt9IwH/1Iusy2dgp7MY0tn9DSXEKjDFvYSBA6u/jarvGyKjMB7Ry03uxqW8qxXh2 17/u+/CfCmdAG8+ceu1rZ+sXLIoEc+bpHBPr5cgUyCZASUC7v5FQe4DwNPHTAwznjZpF 8u/tB/X96j6Qetbgik0UJt35n/nwZvj82B1izW/bBcf8cSMPpiSPP/49cFBelI2J5NRj 6UKg== X-Gm-Message-State: AOJu0YwbxkR1M4dEJSMkW9S0jjdGWEOp34B4JcYHbrACG198uNqW7bA7 gsRRt+qmOkWkqRzpz8ZkG79GTdCEq7LbPom8E0AqgcbNC3JdX5ri X-Gm-Gg: ASbGncs9y4pLoaEDTTvAAGctDxT9o2LZYuG0x1iF/uxN/mmRlxegzb2tfqb628jPTo+ erG9iE5Xe2ovuqzUy6nFb9d/06/KmtT6Tv2bMsPRp7Ti3fviQltF0ZKMbiDu9Ky/YXfsNXodZTe j5fiISc3CQEgxXRpHT1nCuBg8UMMefmBAU5hxmGjZRWw5whIYydhUj9KpM9h3OQl0N/pcEi//El 4tJOroPDyzA1ccIrfSL4a7Qt5DzkLXJjZUOiSDgbfxfQJf8hnQkiuOAH/kkRZdKYEIyzVFoNRbz /xDSlPaT0l7t6D2T7g== X-Google-Smtp-Source: AGHT+IE24IqrQHu7+ybKMeh3L4M7Lh0eZRciwmaFUbgcDZ+ruSGvCrdf23btCumzNoUOZsrkKKPjbA== X-Received: by 2002:a05:6512:3b81:b0:543:e485:815 with SMTP id 2adb3069b0e04-5440e643190mr2526280e87.10.1738930416920; Fri, 07 Feb 2025 04:13:36 -0800 (PST) Received: from [127.0.0.1] ([188.68.135.99]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54410604145sm429093e87.231.2025.02.07.04.13.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 07 Feb 2025 04:13:36 -0800 (PST) Message-ID: Date: Fri, 7 Feb 2025 17:13:35 +0500 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3] gnu: Add reduce-csl. To: Andreas Enge References: Content-Language: en-US From: Nigko Yerden In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 66606 Cc: 66606@debbugs.gnu.org, efraim@flashner.co.il, bavier@posteo.net 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, Andreas Enge wrote: > thanks for sending the new patch, and so quickly; I did not expect > unbundling of libffi to require so much work! Yes, these build scripts are somewhat messy! Now I wonder if we really need unbundled libffi? This patch provide us with additional maintainance burden, while the benefit of unbundling libffi is negligibly small (libffi takes in my /gnu/store only 272K of space and even smaller than that in RAM). Frankly, I would prefer to have libffi as a bundled library. > I have moved the package from the maths to the algebra module (which is > more specific). That's fine, but is it okay that Maxima CAS, which is a twin sister (or brother) of Reduce, resides in maths.scm? It would make sense to put those two together. > The patch needs to be registered in local.mk. That’s useful to know. > I would also suggest to use the snapshot date and not the svn commit as > the version number, since it is more telling (and also appears "higher > up" in the file hierarchy on their site). That's totally fine. > And maybe call the package just "reduce" instead of "reduce-csl"? Indeed, I'm in favor of "reduce". It is clearer and shorter. > I wondered whether we should also compile with psl (using "--with-both" > instead of "--with-csl"); but I suppose that this would just create a > duplicate? From the document https://reduce-algebra.sourceforge.io/lisp-docs/insidereduce.pdf on p. 34 we read: > While all relevant source file for all of PSL are available as part of > the Reduce distribution the normal way of building Reduce starts by > having pre-made PSL binary files to use. These are provided for a range > of targets (mainly using Intel processors) but machines by SGI and Sun > (at least) are also reasonably easy to find. Those binaries for Portable Standard Lisp (PSL) are included in the repo directly. As far as I know, nobody builds those binaries from sources, perhaps written in some ancient language, for many years. This is in contrast to Codemist Standard Lisp (CSL) written in C++. Therefore CSL Reduce exists for a good reason. Thank you for doing this patch! Regards, Nigko From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 07 08:15:41 2025 Received: (at 66606-done) by debbugs.gnu.org; 7 Feb 2025 13:15:41 +0000 Received: from localhost ([127.0.0.1]:33414 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tgOCq-00038O-MU for submit@debbugs.gnu.org; Fri, 07 Feb 2025 08:15:41 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]:50750) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tgOCn-000386-M1 for 66606-done@debbugs.gnu.org; Fri, 07 Feb 2025 08:15:39 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 8E088C38; Fri, 7 Feb 2025 14:15:30 +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 F5atFvr35YB8; Fri, 7 Feb 2025 14:15:29 +0100 (CET) Received: from jurong (176-179-191-150.abo.bbox.fr [176.179.191.150]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 56E2B21C; Fri, 7 Feb 2025 14:15:29 +0100 (CET) Date: Fri, 7 Feb 2025 14:15:27 +0100 From: Andreas Enge To: Nigko Yerden Subject: Re: [PATCH v3] gnu: Add reduce-csl. Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Level: ******** X-Rspamd-Action: add header X-Rspamd-Server: hera X-Rspamd-Queue-Id: 8E088C38 X-Spamd-Bar: ++++++++ X-Spamd-Result: default: False [8.49 / 15.00]; SPAM_FLAG(5.00)[]; NEURAL_SPAM(3.00)[0.999]; SUSPICIOUS_RECIPS(1.50)[]; BAYES_HAM(-1.41)[90.98%]; MID_RHS_NOT_FQDN(0.50)[]; MIME_GOOD(-0.10)[text/plain]; FREEMAIL_ENVRCPT(0.00)[gmail.com]; MIME_TRACE(0.00)[0:+]; FROM_EQ_ENVFROM(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; RCPT_COUNT_THREE(0.00)[4]; FREEMAIL_TO(0.00)[gmail.com]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_SOME(0.00)[]; TAGGED_RCPT(0.00)[]; RCVD_TLS_ALL(0.00)[]; ARC_NA(0.00)[] X-Spam: Yes X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 66606-done Cc: bavier@posteo.net, 66606-done@debbugs.gnu.org, efraim@flashner.co.il 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, Am Fri, Feb 07, 2025 at 05:13:35PM +0500 schrieb Nigko Yerden: > Yes, these build scripts are somewhat messy! Now I wonder if we really > need unbundled libffi? This patch provide us with additional maintainance > burden, while the benefit of unbundling libffi is negligibly small > (libffi takes in my /gnu/store only 272K of space and even > smaller than that in RAM). Frankly, I would prefer to have libffi > as a bundled library. well, it is a Guix principle to unbundle as much as possible, with an eye on the effort it takes. But now that you have done all the work, I prefer to keep the library unbundled. > That's fine, but is it okay that Maxima CAS, which is a twin sister (or brother) > of Reduce, resides in maths.scm? It would make sense to put those two together. Yes, and I think it was a mistake to put Maxima in maths instead of algebra. But moving it would break "git blame", so I would suggest to leave it where it is. Thanks for all your other comments! I have pushed the patch and am closing this issue. Apologies again for not working on your submission earlier. Next time it happens on a patch of yours in my realm, please feel free to ping me. Andreas From unknown Thu Aug 14 18:39:12 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 08 Mar 2025 12:24:06 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator