From patchwork Mon Jan 23 22:43:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jake Leporte X-Patchwork-Id: 46379 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 1DB3527BBED; Mon, 23 Jan 2023 22:44:20 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham 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 76A1F27BBEB for ; Mon, 23 Jan 2023 22:44:18 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pK5Xn-0007C6-V9; Mon, 23 Jan 2023 17:44:03 -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 1pK5Xn-0007By-3G for guix-patches@gnu.org; Mon, 23 Jan 2023 17:44:03 -0500 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 1pK5Xm-0005Qr-Qa for guix-patches@gnu.org; Mon, 23 Jan 2023 17:44:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pK5Xm-0003q6-DS for guix-patches@gnu.org; Mon, 23 Jan 2023 17:44:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#60827] [PATCH v3] gnu: Add dozenal. References: In-Reply-To: Resent-From: Jake Leporte Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 23 Jan 2023 22:44:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60827 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 60827@debbugs.gnu.org Cc: Jake Leporte Received: via spool by 60827-submit@debbugs.gnu.org id=B60827.167451383514735 (code B ref 60827); Mon, 23 Jan 2023 22:44:02 +0000 Received: (at 60827) by debbugs.gnu.org; 23 Jan 2023 22:43:55 +0000 Received: from localhost ([127.0.0.1]:55536 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pK5Xe-0003pa-T0 for submit@debbugs.gnu.org; Mon, 23 Jan 2023 17:43:55 -0500 Received: from mail-dm6nam12olkn2037.outbound.protection.outlook.com ([40.92.22.37]:7464 helo=NAM12-DM6-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pK5Xc-0003pL-Nm for 60827@debbugs.gnu.org; Mon, 23 Jan 2023 17:43:53 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gAS0E+2UrCGKGoSjR1fLt7UnZISpVLw5VpNCwrds02ERYteiCV6hCvwF6zQey/OTjWxq4vO9I7DwYhMA5CRKmEJs8agxPPGDX/Tr/+9NFrZGaC2ZdMTJMolU/UgP9v2X45xNmAuwZzaGFMAelA4UqLGzycIu+5WZOTW6rehRO+IRjCziA/yY5C70sB66zmLN4tKdgJNt1+nUKbaIyaH7qx5Zr6ZVFtDLkBltQ/Pdrl2ZwPRYluJHGHsOL92AUmEJxsBijClkAU9cDk8c7tHZ8w56DG8R/5eIvdyIm3B9Wwu9W63cVyJjFq+aYmnN9jKL9sqTsuUwDOFKF2WcwCEEQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=eqWNGMxHY9ynMIDPV3UZfaZT3GSjPKKToXNjwwszXpY=; b=kmrSpFbv2mDyIBq1GKu4jtIsHJQeNNsTFMwCp0OWrsepQ1jNLJgXyKwrx+VXBlapF7U6GoCxTt/zYs1ZbntvO+ojLFg57YbuvpjvsTO+oO+snnTiQO3RnJjMpaz8yUo88lxyc28MtMiDX4BapcFwOfAS+MK/47ARSFu21CO1NoNsX8iRnvTIl57faGGmImTwjs4/MLtJDwyHkAeekI6jWFJfG8OPpktDmP7mstroQ970AujWCYSZuiqck1UWKJFNZL4vU4HyyulAXTkGct/gfMOwA4djHu3i9lOCcq1Gm24mnDl4lJXcA+OMmAb/91gWJ7qCX7Zcor/DLs7GeAwoUw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eqWNGMxHY9ynMIDPV3UZfaZT3GSjPKKToXNjwwszXpY=; b=fVy00GFbn2/EHmL/KvLqmdj5da+Kg7kQ7tHuRtxirmgQ4813Mz2rP6XYL4xUOQF2lQnspYpynphYRl7UwWVy93vsIwJUMMWSlDdYrdWRNiqF68Gmnl4QLq4NGTUcJUu3p5iCXqfFZxGsBBShkO6RucZ8ihSdrnOJWev21IQJmG+RdNlyL2nnuXf03c+u1nRfLV5gFCp/Y+KjnX5l2J9cu0Xl/Yp38ki99ySnnf1R+T6ag2HkA1kfTxIKK/ebspkEc4XWqvMZYEFCSboFlgOkxvxPxKltJS4K9COt8sAFU0qnzLn8jSzyLAsdk19qQwDMOw0xF1d7rkVX5P67MFZBwA== Received: from MN2PR20MB2605.namprd20.prod.outlook.com (2603:10b6:208:ea::18) by IA1PR20MB4754.namprd20.prod.outlook.com (2603:10b6:208:3ee::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.33; Mon, 23 Jan 2023 22:43:44 +0000 Received: from MN2PR20MB2605.namprd20.prod.outlook.com ([fe80::4a43:b57e:52e4:e87e]) by MN2PR20MB2605.namprd20.prod.outlook.com ([fe80::4a43:b57e:52e4:e87e%4]) with mapi id 15.20.6002.013; Mon, 23 Jan 2023 22:43:44 +0000 From: Jake Leporte Date: Mon, 23 Jan 2023 16:43:30 -0600 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [o8JUmtQs4R2DPNkkrbKf+398dHc7lB2jPsP1Dc0V8M3YP9f+dY9F9i/JQOZHUD8U3G7UfAhKIlw=] X-ClientProxiedBy: SA1PR03CA0024.namprd03.prod.outlook.com (2603:10b6:806:2d3::25) To MN2PR20MB2605.namprd20.prod.outlook.com (2603:10b6:208:ea::18) X-Microsoft-Original-Message-ID: <20230123224330.837858-1-jakeleporte@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN2PR20MB2605:EE_|IA1PR20MB4754:EE_ X-MS-Office365-Filtering-Correlation-Id: c218f83e-d492-439d-b86c-08dafd93481e X-MS-Exchange-SLBlob-MailProps: a+H6FLLcF3qjPCkE0RvByiCN/FvKxLavWU9F/7lHEkPAFTuXCTXI2Nu9+ouZLxua/3I5S4xJYvOomKa7cSahOf7ehN3F6MUVvMbjbGYcKGgPxTGPJI8vBh5l3yos4KLj7YJOzBWd+Kqt2iMyozNYhf3QOkz4b3P84P9YyRhN9KlUENzXtfVO5qxIvvtDMUkjHBS1px3428OZCUO0aFVPndqZT7cuz9RBAnEazjupj662cpWE7/fXwFn/I2L1szzy6wpab8Y7RFBPyXNG5N3Zv1w/ZvcPMUNpCmNlxDzD7x+Rv6a3LLvgP+3nECg7v90+Ev5kuNAz3qg+h5Xj0fQcPirM5RFHuJ2ODBIRGrjnJTZx19eqjJoJTltAMbFK1QOoNOD8IRHl9FIuZaEcQOvdPlfLMyyGzTMjqyslNWfN5jCifiXp9iReKojAWuaZO8w0ktPOGqrJZxqM2gSPzSz45XrXPa3fbc67F5CxZ9kT+kVOz/bKRUGep37t/eHbuBFkjDDl8x69+2mw7mN21XmYgELc1GrKKhswm/CP8KPh9mMwotwDdwvII0uBOGxcY4C5m1XrQ4D5HYTd+m4uGI0J9uW1+Y1FctQa/J5q/S4DKVj3DdBwudZWg+6Ok2q2pAqZnqRpPO8RJNrVw/XAQSjqssVEbvIK9jhy+sgDxWcwUXlAI9dHKvycGe21z/y4oA1mU4vD3eX9OIDEfW5tB/JzAClZi8zstq0W3PUaPwi42QHx9sI56S8nwiHJ5qxcp6prR/3YkUjSxJwVaVi0ZvT5WIi1OK6uvT9xFrGfuoT37efYib3ZLWrG4nQemXOg5cO4 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ExbXELeOusXa7x0C8q5Ls6syea2fQLWvG8Cel3rnbPBc5tQlDuXlPkXXHGjod0tccIp/nu9W+jmB1lmlptxj1bwA54Q6bQjpw7w7KP9GHbcfCZqLjz9OBlhsXloqSTrTG8VMzqje8cH6bBW5dCM0IjfREESHBVvBttS7vZ9F8Z/k9IoOos/GBnHcoN/ZTcX8Pb2kjb3grrzbuKmZ1t5P8Fi1v+wmOQE5F1AkmpQR+hH6rZU4svHahy3ZNXlRcZFy1jbEICqLb132kc669Em97VdSZBr6fRkrPkSZyfCx8rfkbgYj66K0TSvY4Hnu69rBSXII6smfy47B9Ln7Ay7qnWZB1YiinTBOBz63nlAgkJZeIb35jYgTNIWOiweATpZ2txUT3P11UCBNJta7AsP9BApjeTSYCfhp5C6pEtTpP3m7QNaTkv1jmFY39/nzlzeovZAnCMNdLtK0hP8cw7h9XhzzpiSbwA/+m9o0i00grpJ5WgK/ziwpKmVuMBsFFwHYqVjtk8LCIIH7wy22mZXWqXj9UXrXOW/CyssY31D2ZvApxI6OrsqyZINnyeqht+rFcVc6ONxBC0RymWkj7Y2r4oTOdT3sLyuCYJnLImZNZwDKN/a/ml4DzlvFIitjxfkXuM5qyf0kxSlLpYBmHAdAyqAj8MhQURKCiwkDQ3zTKdqQPfF0lyczByhKBf/uBdsV X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 4jABoEUn9qbVNocPOQP22k7IuUZR7pLMisTwKV4NwuOIAx1I6758aDPLJWazHnVnOJl+njdpwmyPcqacxS1Ozqh43IWivc3AEmE+HHLdAcJAoMWwcHMSqCknjUlth5MhX1AK/ljc3bJPkYEVjei69OUrW37UngimiMuBH6e1ENfO9m7uWCxkP/n5LrWJm3XC+IUEB4y0MKTlLtwV7azCpMhWg0a3rqg8kIksLPHMuONVcZuhiYfyTOzFjlXQ4cxlOQBFA0lzFpPlb+2Cc4h+9jZ6SI6eijmHAMfsXV1iTYbzm2xtLCRHKTn0rqtKftXomrbpe7IlpaoypMIj7p+iWGPtHSTil0PyBxJMTQ2qcn+tAVylWYZUwk3JB3ZTpS8ifJ6u26KKZkXuIl2MBlYrusr30diMwAaKU4SNANDaiUBZUpXNHW6WQRHGPUVW0JLwhPE4O2S2WeL2r+Ujil1u3a1Q4ZYi6YnJ/PG2y++xD+6xylteWZXu13XRuGuSQKhvT0lrJywY5g8Z9l3TI/LZLJj+v77y8WBtru25OH2tYPZY6heZJvovvKoO73DRwd5KthBPnn2YaKKXMECWhoT4L30O+qY1NGv/LbyrfprUP1K0IwbOWmkZcdcfmmPByb4b0c2J0Kx5cCVMF/IOmshwOkmlMu4WlpTNTuG14HuzpIwcHKf5IrKjvQx0MRcFGACVrm/TrFJikjdW7dxvL6xFUe79HhSoIasqOVHY20cC9O+J9Fas94rBU0hesy+hIA2dLWcR/HUA7+UAS0bRq1otCVhc6lCxMLW2g5YQXPaeeCBxn+pXhA0kLxcChipusc2d5Id+UfavrMsC2eJqxGGT6o04GEmaJiVjfv5WWh6LyL0GACn+OqfYq+j+o7b9gaE30ISyO5bOcLvIZUMqFKRIVla7ePr1A0S/DRLTbWEuILgn0A5fXoFgHuTI8vAqxxnN1HR9fsv1vEgL1ibsuI31en6eUfoUg5bnDnZtNvjpBN+Li6koNGgazGpW9F7VO6o9B2jCnSziCqCI69A5r9DcE+H41TvYnKwQgPNfWoCeoc/a42A8l8WwtqycrweMFg/sd9Cn12gVRS3MeVBuA8adfCk8zYTUwKAWYDECTcpi/11yqsA5V6EEeesMiov7T1it+yIV46oaBXGD5OAJj1oKOUsDTCkqti/Bz5eJBY+yjPVN+IEeQ0csB0voZuP58JFLJAmOVxJbORqgOAI0AY2F7XUWPMPDjN1Py23giH9oFP9kC0VA2E6NHZKL/RBsVjh7TXY0lEBd25JnJ201cA108gPZzzHtITYsajQll62g/S9bTIndCHWJ9Y9fXtQ0pUeIOHsHsyVsxucVW0dYysKZmnH4FiYAXCxzUwV/JFloUBU= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c218f83e-d492-439d-b86c-08dafd93481e X-MS-Exchange-CrossTenant-AuthSource: MN2PR20MB2605.namprd20.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jan 2023 22:43:44.3338 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR20MB4754 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 Got it- thanks for the correction! I've re-written the patch to use G-Exps. The `guix style`-reccomended changes involved writing #$output:gui as (ungexp output "gui"), and various indentation changes that made some of the 'split-output code tough to read, in my opinion, so this patch deviates from those recommendations a bit. Let me know if you'd rather I take the `guix style` output directly. * gnu/packages/maths.scm (dozenal): New variable. --- gnu/packages/maths.scm | 105 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) base-commit: 2b1e5cb6a82e60298b620ef8d2dbf90cfb925015 prerequisite-patch-id: 55ebfdbee35b36ac06da23b716337ecfef350452 prerequisite-patch-id: 12b9437ce6c6849e83e52cabad56672a5c73e2a7 prerequisite-patch-id: 52c97b6e4d8d4b78217423a3f1323d95a609de8c diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index d9bc292..2b2bf10 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -103,6 +103,7 @@ (define-module (gnu packages maths) #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages boost) + #:use-module (gnu packages calendar) #:use-module (gnu packages check) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) @@ -124,6 +125,7 @@ (define-module (gnu packages maths) #:use-module (gnu packages ghostscript) #:use-module (gnu packages glib) #:use-module (gnu packages graphviz) + #:use-module (gnu packages groff) #:use-module (gnu packages gtk) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) @@ -172,6 +174,7 @@ (define-module (gnu packages maths) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) #:use-module (gnu packages wxwidgets) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26)) @@ -455,6 +458,108 @@ (define-public dionysus (license license:gpl3+) (home-page "https://www.gnu.org/software/dionysus/"))) +(define-public dozenal + (let ((revision "1") + (commit "328bc03ad544179f2cccda36763358c4216f188e")) + (package + (name "dozenal") + (version (git-version "12010904-3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/dgoodmaniii/dozenal") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0knwfwjqdv854l5ny7csdpvp7r0md6a2k43a1l2lkyw9k3cglpph")))) + (build-system gnu-build-system) + (arguments + (list + ;; Some test scripts are included, but no makefile-driven + ;; tests, and they are all quite manual to run and check + #:tests? #f + ;; Running with `make -j' causes the build to fail. + ;; This is likely because this project uses the + ;; "recursive make" structure, where each + ;; subdirectory contains its own make file, which is + ;; called by the top-level makefile. + #:parallel-build? #f + #:make-flags + #~(list (string-append "prefix=" #$output)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "dozenal"))) + (add-after 'chdir 'patch-lua-references + (lambda _ + (let ((lua-name (strip-store-file-name #$lua))) + (substitute* '("dozcal/Makefile" + "dozlua/Makefile") + (("lua52") + (string-take lua-name + (string-rindex lua-name #\.))))))) + (delete 'configure) + (add-before 'install 'make-bin-dir + (lambda _ + (mkdir-p (string-append #$output "/bin")))) + (add-after 'install 'install-html-docs + (lambda _ + (invoke "make" + (string-append "prefix=" #$output) + "installhtml"))) + (add-after 'install-html-docs 'split-outputs + (lambda* (#:key inputs outputs #:allow-other-keys) + (for-each + (lambda (prog) + (let ((orig (string-append #$output "/bin/" prog)) + (dst (string-append #$output:gui "/bin/" prog)) + (man-orig (string-append #$output + "/share/man/man1/" + prog ".1")) + (man-dst (string-append #$output:gui + "/share/man/man1/" + prog ".1"))) + (mkdir-p (dirname dst)) + (copy-file orig dst) + (delete-file orig) + (mkdir-p (dirname man-dst)) + (copy-file man-orig man-dst) + (delete-file man-orig))) + '("xdozdc" "gdozdc")) + (let ((perl-dir "/lib/perl5/site-perl")) + (wrap-program + (string-append #$output:gui "/bin/" "gdozdc") + `("PERL5LIB" prefix + (,(string-append #$perl-tk perl-dir) + ,(string-append #$perl-par perl-dir))) + `("PATH" prefix + (,(string-append #$output "/bin")))))))))) + (outputs '("out" "gui")) + (native-inputs (list groff pkg-config)) + (inputs (list bash-minimal ;since wrap-program is used + ncurses + libhdate + lua + xforms)) + (propagated-inputs (list perl perl-tk perl-par)) + (synopsis + "Suite of dozenal programs, including converters, a calculator, and date +program") + (description + "The dozenal suite is a set of programs designed to assist with +working in the dozenal (also called \"duodecimal\" or \"base twelve\") +system. It includes number converters (dozenal-to-decimal and +decimal-to-dozenal), an RPN calculator, a graphical calculator, a +metric system converter (works with imperial, U.S. customary, SI +metric, and the dozenal TGM), a pretty-printer for dozenal numbers, a +date-and-time program, and a dozenal calendar programs, complete with +events and to-dos.") + (home-page "https://codeberg.org/dgoodmaniii/dozenal") + (license license:gpl3+)))) + (define-public dsfmt (package (name "dsfmt")