From patchwork Mon Jan 23 21:02:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jake Leporte X-Patchwork-Id: 46375 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 7446527BBE9; Mon, 23 Jan 2023 21:04:17 +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=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 78AAD27BBE9 for ; Mon, 23 Jan 2023 21:04:14 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pK3z1-0004Ba-PY; Mon, 23 Jan 2023 16:04: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 1pK3z0-0004BR-Lj for guix-patches@gnu.org; Mon, 23 Jan 2023 16:04:02 -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 1pK3z0-0006N2-DN for guix-patches@gnu.org; Mon, 23 Jan 2023 16:04:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pK3z0-00078g-0z for guix-patches@gnu.org; Mon, 23 Jan 2023 16:04:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#60827] [PATCH v2] 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 21:04:01 +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.167450778827367 (code B ref 60827); Mon, 23 Jan 2023 21:04:01 +0000 Received: (at 60827) by debbugs.gnu.org; 23 Jan 2023 21:03:08 +0000 Received: from localhost ([127.0.0.1]:55428 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pK3y7-00077L-Rh for submit@debbugs.gnu.org; Mon, 23 Jan 2023 16:03:08 -0500 Received: from mail-bn8nam12olkn2060.outbound.protection.outlook.com ([40.92.21.60]:19040 helo=NAM12-BN8-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pK3y6-00076n-1z for 60827@debbugs.gnu.org; Mon, 23 Jan 2023 16:03:07 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UaTgrJAVtahpfMeepfoiu3xTPQMqQ4hPS8Xn+ewqFoAmbqpG9v0wPxzva4MW2ijpDxkE6B4Upxo5tdJsfDiMqJ84SwpBcEEdAHuhykjlsqpd53Udqi3Ls51heH+QDNozaZzewyw3sT0s9wjWxC8tosyp3PZ830WXe+W2nnUq5WO96UTLGdujaBmg6Oog5eKZQB/iC6pBqJWPRXE39jeYAyFo9ga0pJ9EBLPP3ENn0jVz0bzyZKGPM7/BlvY3Bdq/O1HG2TON+EqjrKmFc9kJxdN/a3FdRVZ9U946U82ZCCjuj+jo1Z9MLidmvvfaUjGCf0e/w+/mpf50xjwOHhJAHg== 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=ahILQNQGocUGp6jb9eZxDnGCIpP4KNdTyWNKerYQzjw=; b=WNGy+K7F37NIVfnQgdTbePo9Bc5ZFyKEknnerpM/qicXkuKi2XbxCstQxbMaetWIg7ekS6XclgMdXg94PZCY9X+XYOgvILMlB8f6ie+uHg3LYhQL3aMBOLpDA1Yr7P3QY2sWWK29gXqo4z2en1v/RtlkDLKaJFpyBES0Um2XQfZ4Zlkf9h8dbUB0EbzLpxGa2sijAqKsXF/am/z2R268mAXeYySea7Waw6FKbgIuSCKUWBrwFX6yKLODsFaFLiNka7YbfitTGtw6sk1vbeclTJNCanI353yPM2bT8TLnUyH+hPuyX1g0FN6UmKZfEDCcnqXPafEbov1oYA1Jw0i1hw== 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=ahILQNQGocUGp6jb9eZxDnGCIpP4KNdTyWNKerYQzjw=; b=vWIuTA7QBYTRO/fjnDmAHy1H0MT6gvvsu8hwYQPKmOC9o2wfsIyDPH3U2jbeAnJ6aSc8/b0TB63mGJw9bWP7lvZondjVhHLT2nVKOeG2xNTJd1Gwzbr7rKUxxar+GyF21DMfuzUq+u9U8fUo12bRTgL+4SSS7njgcTrsmlcF5FIU8Av5hfwhe+iHEkNMbg0UMqgcGtMEIM6ou5z7R0nepBUvxBWZObOe5/7zqRQVvxXc+VtDZJlC1mMXc7+/NQ7ZvEwBojAv7+BXzXGcijnBV85o6a/bo2Uu0ri+cVgaeO5tWdZz11gUFTRkXU5Ywd6bekCoEb9ASMhes7zfajaCWA== Received: from MN2PR20MB2605.namprd20.prod.outlook.com (2603:10b6:208:ea::18) by PH0PR20MB5916.namprd20.prod.outlook.com (2603:10b6:510:28b::5) 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 21:02:58 +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 21:02:58 +0000 From: Jake Leporte Date: Mon, 23 Jan 2023 15:02:41 -0600 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [CI2nHIyuyU7SHmy584QwMfkVoB4lLS4eRa8Fk9fJYhUw3dk0Ub18s+ISHG9EH5ZnWxTD+TiGc24=] X-ClientProxiedBy: SN7PR18CA0022.namprd18.prod.outlook.com (2603:10b6:806:f3::21) To MN2PR20MB2605.namprd20.prod.outlook.com (2603:10b6:208:ea::18) X-Microsoft-Original-Message-ID: <20230123210241.826044-1-jakeleporte@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN2PR20MB2605:EE_|PH0PR20MB5916:EE_ X-MS-Office365-Filtering-Correlation-Id: ccf5e64a-c9a0-4f37-db97-08dafd853418 X-MS-Exchange-SLBlob-MailProps: a+H6FLLcF3qjPCkE0RvByiCN/FvKxLavWU9F/7lHEkPLxwkUHWIyioQ/whBP3qisnHJYAPVG0hOhsr+YePBq+9Ex46HQfpKOGJKYWIWjPD9tNRiWNt9hoT4UNr93VwoaaVZNBfGoTKXtDd7kfNNiyl3ndvWNUQqSvMeidU+5lD2pU/Q2JbcAxp1trBwsHS2uV1DoVvmAIUWiuC0vjDWrZhKlVfTt6fAYMxgCTZc9lPBjTN4M58rpgwZ35bi6Ll8e8QgJ4jWuoiaSptCZYy8hECroL5tvrfu/7ymo4AQ6/spR4yc5QDqQ9x4eGDj3BxjXLp0pYe6gWdgZFhc8D0q4Mj03gxSUF94QqoSBQHHSaOmdApnboSbWFpTRobU5R+9D70tYE5vo1J8p55CpnSLEki6BSbb/AkAxWcU4y1RdOK3MtlD5wKQ1oPG+/veEC4FBnpXz2Q8mAXMb0ASB5eM/8wvGv7IQRDTcCXj1NnVSgwS8iSlGWaCRjqMIezKpn9Fxy68+UMLOry4YBiasrfC+x1AvdEKOdYWS+TaU65d4WN1rdTRa/RM7YMlmfI7xvym8sH3gS8W1UB8ahTTfQI42bqsALv9/vvhjQUeEFPfv4yIXr72k7kQ/tu6B31NYZzm+3rCZScxzEo43q6QCcSjJ5xXqVhAhhRs3cUmpUUM4xAq1Sl2PcURHbWbqChtwaah0P/GX/MlmdE9RlZaX9fjHhMVkN6UE1iH2L1BJhceON/nhPiil7U455JIJLKCwfJd7rfsu2HuSD/RXuQXvgZVywFw9vNkuhqaAmbuBIWEqQbNWhFV1V+1CuK1jJ/bPRXmX X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Vi6jcexZmWHSbtuJzGAo/rdYzDAm3dFr8ctJZAcAR/jRcVOKkv/NWOqSZCIG46W6hRKMsSBZkt3yp45KM4ewWGkIdiW689TBnHx+3KJn1Ebirz8GXYtb7a7DXrLqJ9MyxbmwEn6sk/5hP/2WsPRgJ2dam7mpw/Dr3h5dv42pdOFsB5bYiflebN+laIrNL4C04C4X08jWfpXoBdVe15p/PRDV9BzC3U79XQEDW5XuPlheBTXwpWLaBsoAP7d+r+yfOvQTdNsrjOkL0mYqe72hetUzEMWDkG/Y3lJzQuq7+96bAGf9oPrv3nYokWUCo1NnDcDkr6BvGpEva14nXlfdMZerLsLoXRArl/x3SRs5oQnLb6myaiJqEWQimWGoMUHsvM/1eGOPgApW8OFiQj0kx5k1Z4yoAxcqhaafUv7b76iQ3qQvD64JSSyIU0CogRSyuMDq6Z1hm5uE0KVkDzQDopbPqdsHxvEU2DdmCv134AY4lD+i1j+AYJaJGRPrAP5UHZVCSUrWhS6O9rmuvA5X7wf6LsmPnSrhMe0HqQ3s7Qa4zUy7MfkCFuul83HDLox+izgZKEW9Ww2mNX9T2C+KY+Y4M93gaZPrx7zyXftRsiltmMp4M3REirPMQhHW6hyfUl/ODmXo/hspfc8/zwo4h2/lOttgP7/l80xffeumAH5KVVGaDki4aJKvHTwTwFrl X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: /1h6pL8beO0nqLRpb7H2BICOlAS7S8Kyvv04p/guhvACYpWSQpUPRxfoYpwLj2gfT+d0suSNyxE8m8PQB2cfPjcx8uR9isjDn+Xig2l+AFpmuYjr89Dw83ZezZhm1Gz3WX1GQACp9bEMLnRaNywohWbj4O7anF0jKe/CsrpeN0PebpmvCyfm3DAb7usAv60/pXICnsqICIPAKABXgNM1jLrl6cPIksxVhlcFf970uSV+Xu4+XR7BPf2d93+bjkPLzNJv6m6WJ4xJvIgCpKN9xQZE3BgPZyeWJbebiLcwJZ0R1Z54G25glrIiKZFENoDgXlT8lCSOCLI7Dq46e70DlW8zYwZYhwqcokbL/uELhErXhEGKB0MGazlwwtTNC/+K9guoN4LaIYfSCmgAkiJ194StvtjnTECOLkahPIpfUD8TBlNxXbd6bnPuQmDX95fQABRp8Ut5L7RUERdWh44n/YtFBm2Q2FOFSH6u7kYmXavjdXi2+n6ipoJTPgtkg3WPPm0Al8lc1juwzgSfmvAbLp2cvdSSGNOfR9ZCpEIjC3+JaMo5DXJ0uxlLvcZ+deu/VxTKJQJW3AJmMmTpibhG9qmJnXZAPnPkxkdisi0dbiWbRW1zMc+paBDeEdWwhA/7sKmN71dtkVRf+Ml9TSFwH5f6AzaOFrQh0ECdD35Be14clRFExrT9lzCWLvHWL1FNBQ7WTd9DcgR2ug/csuZGOvN2p1G2R4fiqQWdRzZTTEb9aXko0xQiCKBivRktApWY+oJA+oFUkyvllBoe4k3Xkyr5hxwgsUkqdq1wU8XmspKsq7xhfq6uXUhEFjKsl9uDGpe+gFveNTp7d8MdiOjDAzj+JzXxm4GGc3PfMGl3+FGCKXdflqPxsZvNJnB+x9FFn3Ki85TZSw153jZGdjXeYxTlfR516cDdRNrDyHsWHeIB9ywCS7BOrrOroq0H3cbxRZhuv9dY9gyre44e6lGbILtgt57ty1jQFqylz6TeVTz81Zvr1/+PaB0vOjTfvFrPNFZ1Lcqi3ydRGXiu0hfm3EWkU/1zQNaC+rGTJX64OQGweV5+JR04m/a0n0McvxQNjbDBC3lHs4HSizI1RsyDUlG3veiIlosBQtmPvFdcuyPmV/abAOD4KS4ukaKYR+9lPnpatwbPGQ/wXnFjnSGtGTfdnHx0lW7oGqoWtXojDsjS0YmxQKphfxcmR6fQnrrvIH+U812JC7ureawkAPnTjUWtXkHE6DO3gnPWjAZ4zYURp9s3rgxjB9zsByQ3yY6XjzKzBckCNOg+Iqi8NmwLb7cPxtsTTOSX1MsX6/Z0i7lF1djckhGxNu9SH3SO15gTEoan7QSPv1ipH1347wHRtcpeumwhtkmFuf603+rW5f4= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ccf5e64a-c9a0-4f37-db97-08dafd853418 X-MS-Exchange-CrossTenant-AuthSource: MN2PR20MB2605.namprd20.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jan 2023 21:02:57.9430 (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: PH0PR20MB5916 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 I worked with the upstream developer to incorporate a small change which made it easier to split the dozenal package into GUI and non-GUI outputs, which I think is a more logical split than what I had before, so I'm submitting a revised version of the patch which adds `dozenal'. * gnu/packages/maths.scm (dozenal): New variable. --- gnu/packages/maths.scm | 110 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 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..7cb40c4 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,113 @@ (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) + (let* ((out (assoc-ref outputs "out")) + (gui (assoc-ref outputs "gui")) + (perl-tk (assoc-ref inputs "perl-tk")) + (perl-par (assoc-ref inputs "perl-par")) + (perl-dir "/lib/perl5/site-perl") + (ptk (string-append perl-tk perl-dir)) + (pp (string-append perl-par perl-dir))) + (for-each (lambda (prog) + (let ((orig (string-append out + "/bin/" prog)) + (dst (string-append gui + "/bin/" + prog)) + (man-orig (string-append out + "/share/man/man1/" + prog ".1")) + (man-dst (string-append 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")) + (wrap-program (string-append gui "/bin/" + "gdozdc") + `("PERL5LIB" prefix + (,ptk ,pp)) + `("PATH" prefix + (,(string-append out "/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")