From patchwork Thu Jun 29 06:31:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Nigko Yerden X-Patchwork-Id: 51431 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 4F2B827BBE2; Thu, 29 Jun 2023 14:02:19 +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 471B527BBE9 for ; Thu, 29 Jun 2023 14:02:15 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qErHA-0004bE-AQ; Thu, 29 Jun 2023 09:01:32 -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 1qElNs-0002Gm-Ry for guix-patches@gnu.org; Thu, 29 Jun 2023 02:44:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qElNs-0003Xp-Id for guix-patches@gnu.org; Thu, 29 Jun 2023 02:44:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qElNr-0005uv-Dh; Thu, 29 Jun 2023 02:44:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#64345] [PATCH] gnu: Add reduce-csl. 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: Thu, 29 Jun 2023 06:44:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 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-To: guix-patches@gnu.org X-Debbugs-Original-Xcc: Andreas Enge , Efraim Flashner , Eric Bavier Received: via spool by submit@debbugs.gnu.org id=B.168802101222684 (code B ref -1); Thu, 29 Jun 2023 06:44:03 +0000 Received: (at submit) by debbugs.gnu.org; 29 Jun 2023 06:43:32 +0000 Received: from localhost ([127.0.0.1]:52137 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qElNK-0005tg-EQ for submit@debbugs.gnu.org; Thu, 29 Jun 2023 02:43:32 -0400 Received: from lists.gnu.org ([209.51.188.17]:51712) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qElCd-0005dx-1D for submit@debbugs.gnu.org; Thu, 29 Jun 2023 02:32: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 1qElCV-0005NP-Dn for guix-patches@gnu.org; Thu, 29 Jun 2023 02:32:22 -0400 Received: from mail-lf1-x12a.google.com ([2a00:1450:4864:20::12a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qElCS-0006e5-SU for guix-patches@gnu.org; Thu, 29 Jun 2023 02:32:19 -0400 Received: by mail-lf1-x12a.google.com with SMTP id 2adb3069b0e04-4fb7acaa7a5so479729e87.1 for ; Wed, 28 Jun 2023 23:32:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1688020331; x=1690612331; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=CCY/up0S8BX5TBhphpMrDkVgveph+6mOkwENMwbQASo=; b=NuGZPt5C7kdFOeHygt9lU1wj57ivmQpsz9dKvQ9jCH1jqHr5DQ5Vg39BCro2StsVS5 sPTf7yOI8QDq/GiLpiMYp2kHoVKvwAGeHNybfE8NY/RisstbjEb2jCNuSzkV2j0eai5M C+CNDSG+YBeXoXsMYI1GtxMnNgSu67xbuX/CCkgBNtzjjUXs0jaf3+s2DxPtAsJK6ci2 QWSyvosFJV4fEmHRvduSxuzi0Opz7LEiGDEYBdddnAAMhmk3hYZKj2ObrjzBmA9kRozi d0VseDs2HZUAVMfVHBLktDAIwFF4NvCuFuMddFLH9OdNYTQqwW5KBQcF4whfnSXwxNom Aypg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688020331; x=1690612331; 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=CCY/up0S8BX5TBhphpMrDkVgveph+6mOkwENMwbQASo=; b=CNRgQd6ERzt4iU/UBptQSfqcHB9edDDefI4wUpz1f1BJMhTYOWGEov2buMzhKmVo9o Fxh/nzgzv40WHuzQud2qMu2oSzrAUzWGncothmsqZd10Covhq/2zT6lDOFTT4a5MvLAM Mle8hOXGqW50kp22owIqjHz3fET2Xf7c9GavYx+uNX3Zf0nkinDzy7V8DdMm2JrztArl i6Hs0/M4ekqBbdGsywANHa9lcoCMEJcQc7npsV6p6olw6s2iWgH/7zqwOQA9u+iGGdXg wQWVCZIOdqJyiiB8oLv0JgAz9b7iKoHEx6dRMVreKpaATvMp9QTdTlQ1Yq7hqdwMC6Rm RaHw== X-Gm-Message-State: AC+VfDxn9u++fQidPa87EWxjbgakvtxrb5RNVbC4BSgyUDKp+3mNcqH2 cvSYFOhj+TbSRLQcZ5bvd/8kTq0V2cRxhg== X-Google-Smtp-Source: ACHHUZ4ZWeG/IN6+wmTsmRvosu7sJBG3bRfkTOs/wiPjqva4Gbvb+WB04W5+DJaNWwGd6wmrTtIGWw== X-Received: by 2002:a05:6512:3b95:b0:4f9:5d2a:e0f5 with SMTP id g21-20020a0565123b9500b004f95d2ae0f5mr19486736lfv.19.1688020331302; Wed, 28 Jun 2023 23:32:11 -0700 (PDT) Received: from localhost.localdomain ([188.168.231.224]) by smtp.gmail.com with ESMTPSA id d13-20020ac241cd000000b004f4cabba7ebsm2202944lfi.199.2023.06.28.23.32.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Jun 2023 23:32:10 -0700 (PDT) From: Nigko Yerden Date: Thu, 29 Jun 2023 11:31:34 +0500 Message-Id: <87a63626656b03bea4fca6a8d969007076ea9310.1688017118.git.nigko.yerden@gmail.com> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::12a; envelope-from=nigko.yerden@gmail.com; helo=mail-lf1-x12a.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, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Thu, 29 Jun 2023 02:43:27 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Mailman-Approved-At: Thu, 29 Jun 2023 09:01:31 -0400 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. --- The package is built successfully on x86_64_linux (natively), armhf-linux and aarch64-linux (via 'guix build --system=...' command) architectures. There is no reproducibility due to datestamp (printed each time the program starts), rundom-number generator initialization in CSL (see csl/cslbase/csl.cpp), and maybe some other stuff. 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: b24a05830d11e3011eee4bc5f60a41e26188cde1 diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 653e76027a..db66301f3a 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -60,6 +60,7 @@ ;;; Copyright © 2022 Akira Kyle ;;; Copyright © 2022 Roman Scherer ;;; Copyright © 2023 Jake Leporte +;;; Copyright © 2023 Nigko Yerden ;;; ;;; This file is part of GNU Guix. ;;; @@ -4488,6 +4489,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")