From patchwork Sat Sep 23 05:45:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Nigko Yerden X-Patchwork-Id: 54175 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 9971527BBE9; Sat, 23 Sep 2023 07:18:21 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 0C44127BBE2 for ; Sat, 23 Sep 2023 07:18:17 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qjvxi-0001Qm-Bp; Sat, 23 Sep 2023 02:17:54 -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 1qjvxg-0001Pm-VZ for guix-patches@gnu.org; Sat, 23 Sep 2023 02:17:52 -0400 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 1qjvxg-0005EE-Nl for guix-patches@gnu.org; Sat, 23 Sep 2023 02:17:52 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qjvxq-0002OJ-If; Sat, 23 Sep 2023 02:18:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#64345] [PATCH v2] gnu: Add reduce-csl. References: <87a63626656b03bea4fca6a8d969007076ea9310.1688017118.git.nigko.yerden@gmail.com> In-Reply-To: <87a63626656b03bea4fca6a8d969007076ea9310.1688017118.git.nigko.yerden@gmail.com> Resent-From: Nigko Yerden Original-Sender: "Debbugs-submit" Resent-CC: andreas@enge.fr, efraim@flashner.co.il, bavier@posteo.net, guix-patches@gnu.org Resent-Date: Sat, 23 Sep 2023 06:18:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64345 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 64345@debbugs.gnu.org Cc: Nigko Yerden , Andreas Enge , Efraim Flashner , Eric Bavier X-Debbugs-Original-Xcc: Andreas Enge , Efraim Flashner , Eric Bavier Received: via spool by 64345-submit@debbugs.gnu.org id=B64345.16954498819183 (code B ref 64345); Sat, 23 Sep 2023 06:18:02 +0000 Received: (at 64345) by debbugs.gnu.org; 23 Sep 2023 06:18:01 +0000 Received: from localhost ([127.0.0.1]:37635 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qjvxl-0002O0-HO for submit@debbugs.gnu.org; Sat, 23 Sep 2023 02:18:01 -0400 Received: from mail-lj1-x243.google.com ([2a00:1450:4864:20::243]:56790) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qjvYh-0001k2-Ha for 64345@debbugs.gnu.org; Sat, 23 Sep 2023 01:52:05 -0400 Received: by mail-lj1-x243.google.com with SMTP id 38308e7fff4ca-2b95d5ee18dso54871961fa.1 for <64345@debbugs.gnu.org>; Fri, 22 Sep 2023 22:51:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695448305; x=1696053105; 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=CeoWPclIsVPeFUOXp3KFrK/ixgYrPSUHEir4HtgEui0=; b=ierlNaGmq/2lQRlqHZe+RN2pvpyBaegqfx4QmbZsH8R/Od/MTmpjC5rkQiktvtJ0WY LB6XG4HRai6l5IP0luwQ7zjPvyKgtkbbb+pUxhX227yO2i36zTdMSxiUsJ7zz6QVQIkn oBot75PeHtn/xpF4KdKufb7mqaDKB7G6V2vn/+LANBQmzc46Vqp9j3Eru+4gJxwLxkZ3 R4zEeObmPrShYHAYAfJ8RDAqOv9gF4P+eyArJcXqUeYVRb1dmyjdvJsTA4bJPsaYb8GL n5qsJROEZOc2Ch1USKeCAJKY1IYoutPyv6XBhG3NXuH5cuTz7yY6s+HkdFChTiQLLZn1 GKGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695448305; x=1696053105; 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=CeoWPclIsVPeFUOXp3KFrK/ixgYrPSUHEir4HtgEui0=; b=PHurQZGCXWzzu45MMYFPio4QFvcHEAMsOOiGqjLkkAvx3S3lhHka/FGecbQL6u5jGq W9xupRe/vXzL4c1vpikBd+FoEwiNHF7tsIOsqzTPa0Ndc0nopXELnLPndNxwtHfHZzTE Scv+YuzWy/LsZVyVW0TTX/kFm/7ds9CRqSodbBrPOFKVdS7kApSTaSNM0JXGP/h4j8Tz qzeNcsQwbHuhUmj3WNfxTC2huFEd+aXpEEiqBatJ1J4KYdGL8iO7P77wYkNMK2gKStIJ /L6SlQg9RDuLOcx0zzE9Ua5QgkcTb1yfLahDbtB36KhM1bW5L1Efx6y8O0umGB86nhch xUyw== X-Gm-Message-State: AOJu0Yxv/fO2ofC32sABJM1VgUphlmudwwyNpO9fBUqCKyjIu+lXtun+ G9LKZRp4gbfFDUdbr/2AY+gmVAC7cB1YMg== X-Google-Smtp-Source: AGHT+IEdE68k8n+34KXgsQWUQnsL+BWCQnaNDYlbVb3L299qlLzvq539ZgrOSXrk3d7CREq60HsZMQ== X-Received: by 2002:a2e:9018:0:b0:2bc:f5d3:1021 with SMTP id h24-20020a2e9018000000b002bcf5d31021mr919913ljg.32.1695448305008; Fri, 22 Sep 2023 22:51:45 -0700 (PDT) Received: from localhost.localdomain ([188.68.129.52]) by smtp.gmail.com with ESMTPSA id v5-20020a2e7a05000000b002b9ef00b10csm1220981ljc.2.2023.09.22.22.51.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Sep 2023 22:51:44 -0700 (PDT) From: Nigko Yerden Date: Sat, 23 Sep 2023 10:45:58 +0500 Message-ID: <722a35802d6df89e1a8d39849d97810d61b5116e.1695447958.git.nigko.yerden@gmail.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-Mailman-Approved-At: Sat, 23 Sep 2023 02:17:56 -0400 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+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * 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(+) base-commit: ec130e1a1b7f3b87b1a6e626754f7e7a07f6b717 diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 6141c09886..7892291e0b 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -61,6 +61,7 @@ ;;; Copyright © 2022 Roman Scherer ;;; Copyright © 2023 Jake Leporte ;;; Copyright © 2023 Camilo Q.S. (Distopico) +;;; Copyright © 2023 Nigko Yerden ;;; ;;; This file is part of GNU Guix. ;;; @@ -4490,6 +4491,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")