Package: guix-patches;
Reported by: Jake Leporte <jakeleporte <at> outlook.com>
Date: Sun, 15 Jan 2023 06:57:01 UTC
Severity: normal
Tags: patch
Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Jake Leporte <jakeleporte <at> outlook.com> To: 60827 <at> debbugs.gnu.org Cc: Jake Leporte <jleporte <at> nd.edu> Subject: [bug#60827] [PATCH 4/4] gnu: Add dozenal. Date: Sun, 15 Jan 2023 19:11:20 -0600
From: Jake Leporte <jleporte <at> nd.edu> * gnu/packages/maths.scm (dozenal): New variable. --- gnu/packages/maths.scm | 103 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index d9bc292..d9903f6 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,106 @@ (define-public dionysus (license license:gpl3+) (home-page "https://www.gnu.org/software/dionysus/"))) +(define-public dozenal + (package + (name "dozenal") + (version "12010904-3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/dgoodmaniii/dozenal") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1i3pkljbgacg8y3is664pwl9bj3s3qj27l5immn1c7vi8ad0zfaf")))) + (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 _ + (substitute* '("dozcal/call_lua.c" "dozlua/main.c") + (("#include<lua5.2/") + "#include<")) + (substitute* '("dozcal/Makefile" "dozlua/Makefile") + (("-llua5.2") + "-llua")))) + (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 'post-install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (dozdc (assoc-ref outputs "dozdc")) + (perl-tk (assoc-ref inputs "perl-tk")) + (perl-par (assoc-ref inputs "perl-par"))) + (for-each (lambda (prog) + (let* ((orig (string-append out + "/bin/" + prog)) + (dst (string-append dozdc + "/bin/" + prog)) + (perl-dir + "/lib/perl5/site-perl") + (ptk (string-append perl-tk + perl-dir)) + (pp (string-append perl-par + perl-dir))) + (mkdir-p (dirname dst)) + (copy-file orig dst) + (delete-file orig) + (wrap-program dst + `("PERL5LIB" prefix + (,ptk ,pp)) + `("PATH" prefix + (,(string-append + dozdc "/bin")))))) + '("dozdc" "gdozdc")) #t)))))) + (outputs '("out" "dozdc")) + (native-inputs (list groff)) + (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://dgoodmaniii.gitlab.io/dozenal/dozenal/index.html") + (license license:gpl3+))) + (define-public dsfmt (package (name "dsfmt") -- 2.34.1
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.