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.
Message #38 received at 60827 <at> debbugs.gnu.org (full text, mbox):
From: Jake Leporte <jakeleporte <at> outlook.com> To: 60827 <at> debbugs.gnu.org Cc: Jake Leporte <jakeleporte <at> outlook.com> Subject: [PATCH v4] gnu: Add dozenal. Date: Thu, 26 Jan 2023 20:16:10 -0600
Ok, got it. I also misunderstood wrap-program before, and I've now updated the patch to properly wrap the perl script and avoid unnessecarily propagating inputs. * gnu/packages/maths.scm (dozenal): New variable. --- gnu/packages/maths.scm | 105 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index d9bc292..4b4c195 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")) + (wrap-program + (string-append #$output:gui "/bin/" "gdozdc") + `("PATH" = + (,(string-append #$output "/bin"))) + `("PERL5LIB" = + (,(getenv "PERL5LIB"))))))))) + (outputs '("out" "gui")) + (native-inputs (list groff pkg-config)) + (inputs (list bash-minimal ;since wrap-program is used + ncurses + libhdate + lua + perl + perl-tk + perl-par + xforms)) + (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") base-commit: 2b1e5cb6a82e60298b620ef8d2dbf90cfb925015 prerequisite-patch-id: 55ebfdbee35b36ac06da23b716337ecfef350452 prerequisite-patch-id: 12b9437ce6c6849e83e52cabad56672a5c73e2a7 prerequisite-patch-id: 52c97b6e4d8d4b78217423a3f1323d95a609de8c -- 2.34.1
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.