* [bug#60827] [PATCH 0/3] Add perl-par, xforms, and dozenal package definitions @ 2023-01-15 4:44 Jake Leporte 2023-01-16 1:09 ` [bug#60827] [PATCH 0/4] Updated: Add dozenal plus dependencies Jake Leporte ` (7 more replies) 0 siblings, 8 replies; 13+ messages in thread From: Jake Leporte @ 2023-01-15 4:44 UTC (permalink / raw) To: 60827; +Cc: Jake Leporte As a first try at packaging for Guix, I've packaged dozenal, a suite of programs for working with the dozenal (base-12) counting system. There were two dependencies that weren't already included in Guix, so I wrote package definitions for those as well. They build reproducibly on my (x86_64) machine, and though the dozenal package doesn't really include any automated tests, all the programs (including the graphical ones depending on xforms and perl-tk) run and seem to work on my machine. Jake Leporte (3): gnu: Add perl-par. gnu: Add xforms. gnu: Add dozenal. gnu/packages/maths.scm | 69 ++++++++++++++++++++++++++++++++++++++++ gnu/packages/perl.scm | 20 ++++++++++++ gnu/packages/xdisorg.scm | 39 +++++++++++++++++++++++ 3 files changed, 128 insertions(+) base-commit: c94708a5b4820c9253ef5774a1022fc106e7ae9a -- 2.34.1 ^ permalink raw reply [flat|nested] 13+ messages in thread
* [bug#60827] [PATCH 0/4] Updated: Add dozenal plus dependencies 2023-01-15 4:44 [bug#60827] [PATCH 0/3] Add perl-par, xforms, and dozenal package definitions Jake Leporte @ 2023-01-16 1:09 ` Jake Leporte 2023-01-16 1:11 ` [bug#60827] [PATCH 1/4] gnu: Add perl-par Jake Leporte ` (6 subsequent siblings) 7 siblings, 0 replies; 13+ messages in thread From: Jake Leporte @ 2023-01-16 1:09 UTC (permalink / raw) To: 60827; +Cc: Jake Leporte I had originally packaged a basic xforms without OpenGL support. I realized it might also be helpful to include a full xforms with OpenGL, in case other packages want to use xforms with the OpenGL backend. This updated patch series includes perl-par and xforms (dependencies of dozenal which weren't already packaged), xforms-gl (since it was easy once xforms was packaged), and dozenal. Jake Leporte (4): gnu: Add perl-par. gnu: Add xforms. gnu: Add xforms-gl. gnu: Add dozenal. gnu/packages/maths.scm | 103 +++++++++++++++++++++++++++++++++++++++ gnu/packages/perl.scm | 20 ++++++++ gnu/packages/xdisorg.scm | 59 ++++++++++++++++++++++ 3 files changed, 182 insertions(+) base-commit: 5c921977179489caef4a9e54ada6696fc86d2f0b -- 2.34.1 ^ permalink raw reply [flat|nested] 13+ messages in thread
* [bug#60827] [PATCH 1/4] gnu: Add perl-par. 2023-01-15 4:44 [bug#60827] [PATCH 0/3] Add perl-par, xforms, and dozenal package definitions Jake Leporte 2023-01-16 1:09 ` [bug#60827] [PATCH 0/4] Updated: Add dozenal plus dependencies Jake Leporte @ 2023-01-16 1:11 ` Jake Leporte 2023-01-23 21:02 ` [bug#60827] [PATCH v2] gnu: Add dozenal Jake Leporte ` (5 subsequent siblings) 7 siblings, 0 replies; 13+ messages in thread From: Jake Leporte @ 2023-01-16 1:11 UTC (permalink / raw) To: 60827; +Cc: Jake Leporte From: Jake Leporte <jleporte@nd.edu> * gnu/packges/perl.scm (perl-par): New variable. --- gnu/packages/perl.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 7cdc052..ddf1b9c 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -8574,6 +8574,26 @@ (define-public perl-par-dist distributions.") (license (package-license perl)))) +(define-public perl-par + (package + (name "perl-par") + (version "1.018") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RS/RSCHUPP/PAR-" + version ".tar.gz")) + (sha256 + (base32 + "0ifyjd1pxbfp8wxa9l8b1irjwln4gwh4nz256mjacjv194mh99bc")))) + (build-system perl-build-system) + (propagated-inputs (list perl-archive-zip perl-par-dist)) + (home-page "https://metacpan.org/release/PAR") + (synopsis "Perl Archive Toolkit") + (description + "Perl module for using special zip files (called Perl ARchives) as +libraries from which Perl modules can be loaded.") + (license license:perl-license))) + (define-public perl-parent (deprecated-package "perl-parent" perl)) -- 2.34.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [bug#60827] [PATCH v2] gnu: Add dozenal. 2023-01-15 4:44 [bug#60827] [PATCH 0/3] Add perl-par, xforms, and dozenal package definitions Jake Leporte 2023-01-16 1:09 ` [bug#60827] [PATCH 0/4] Updated: Add dozenal plus dependencies Jake Leporte 2023-01-16 1:11 ` [bug#60827] [PATCH 1/4] gnu: Add perl-par Jake Leporte @ 2023-01-23 21:02 ` Jake Leporte 2023-01-23 21:38 ` Bruno Victal 2023-01-23 22:43 ` [bug#60827] [PATCH v3] " Jake Leporte ` (4 subsequent siblings) 7 siblings, 1 reply; 13+ messages in thread From: Jake Leporte @ 2023-01-23 21:02 UTC (permalink / raw) To: 60827; +Cc: Jake Leporte 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(+) 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") base-commit: 2b1e5cb6a82e60298b620ef8d2dbf90cfb925015 prerequisite-patch-id: 55ebfdbee35b36ac06da23b716337ecfef350452 prerequisite-patch-id: 12b9437ce6c6849e83e52cabad56672a5c73e2a7 prerequisite-patch-id: 52c97b6e4d8d4b78217423a3f1323d95a609de8c -- 2.34.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [bug#60827] [PATCH v2] gnu: Add dozenal. 2023-01-23 21:02 ` [bug#60827] [PATCH v2] gnu: Add dozenal Jake Leporte @ 2023-01-23 21:38 ` Bruno Victal 0 siblings, 0 replies; 13+ messages in thread From: Bruno Victal @ 2023-01-23 21:38 UTC (permalink / raw) To: Jake Leporte; +Cc: 60827 Hi, On 2023-01-23 21:02, Jake Leporte wrote: > + (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))) This part can be written with G-Expressions too, they would correspond to: out -> #$output (no change) gui -> #$output:gui See the G-Expressions section from the manual and the libavif package definition for an example. Cheers, Bruno ^ permalink raw reply [flat|nested] 13+ messages in thread
* [bug#60827] [PATCH v3] gnu: Add dozenal. 2023-01-15 4:44 [bug#60827] [PATCH 0/3] Add perl-par, xforms, and dozenal package definitions Jake Leporte ` (2 preceding siblings ...) 2023-01-23 21:02 ` [bug#60827] [PATCH v2] gnu: Add dozenal Jake Leporte @ 2023-01-23 22:43 ` Jake Leporte 2023-01-23 23:24 ` Bruno Victal 2023-01-24 7:02 ` ( via Guix-patches via 2023-01-27 2:16 ` [bug#60827] [PATCH v4] " Jake Leporte ` (3 subsequent siblings) 7 siblings, 2 replies; 13+ messages in thread From: Jake Leporte @ 2023-01-23 22:43 UTC (permalink / raw) To: 60827; +Cc: Jake Leporte 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(+) 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") base-commit: 2b1e5cb6a82e60298b620ef8d2dbf90cfb925015 prerequisite-patch-id: 55ebfdbee35b36ac06da23b716337ecfef350452 prerequisite-patch-id: 12b9437ce6c6849e83e52cabad56672a5c73e2a7 prerequisite-patch-id: 52c97b6e4d8d4b78217423a3f1323d95a609de8c -- 2.34.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [bug#60827] [PATCH v3] gnu: Add dozenal. 2023-01-23 22:43 ` [bug#60827] [PATCH v3] " Jake Leporte @ 2023-01-23 23:24 ` Bruno Victal 2023-01-24 7:02 ` ( via Guix-patches via 1 sibling, 0 replies; 13+ messages in thread From: Bruno Victal @ 2023-01-23 23:24 UTC (permalink / raw) To: Jake Leporte; +Cc: 60827 On 2023-01-23 22:43, Jake Leporte wrote: > 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. Sometimes guix style can make things worse, there's no problem in deviating from it as long it doesn't result in a worse formatting. Cheers, Bruno ^ permalink raw reply [flat|nested] 13+ messages in thread
* [bug#60827] [PATCH v3] gnu: Add dozenal. 2023-01-23 22:43 ` [bug#60827] [PATCH v3] " Jake Leporte 2023-01-23 23:24 ` Bruno Victal @ 2023-01-24 7:02 ` ( via Guix-patches via 1 sibling, 0 replies; 13+ messages in thread From: ( via Guix-patches via @ 2023-01-24 7:02 UTC (permalink / raw) To: Jake Leporte, 60827 [-- Attachment #1: Type: text/plain, Size: 339 bytes --] On Mon Jan 23, 2023 at 10:43 PM GMT, Jake Leporte wrote: > + `("PERL5LIB" prefix > + (,(string-append #$perl-tk perl-dir) > + ,(string-append #$perl-par perl-dir))) Don't refer to dependencies like this; use #$(this-package-input "perl-tk") instead. -- ( [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 659 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* [bug#60827] [PATCH v4] gnu: Add dozenal. 2023-01-15 4:44 [bug#60827] [PATCH 0/3] Add perl-par, xforms, and dozenal package definitions Jake Leporte ` (3 preceding siblings ...) 2023-01-23 22:43 ` [bug#60827] [PATCH v3] " Jake Leporte @ 2023-01-27 2:16 ` Jake Leporte 2023-02-18 0:31 ` [bug#60827] [PATCH v5 1/4] gnu: Add perl-par Jake Leporte ` (2 subsequent siblings) 7 siblings, 0 replies; 13+ messages in thread From: Jake Leporte @ 2023-01-27 2:16 UTC (permalink / raw) To: 60827; +Cc: Jake Leporte 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 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [bug#60827] [PATCH v5 1/4] gnu: Add perl-par. 2023-01-15 4:44 [bug#60827] [PATCH 0/3] Add perl-par, xforms, and dozenal package definitions Jake Leporte ` (4 preceding siblings ...) 2023-01-27 2:16 ` [bug#60827] [PATCH v4] " Jake Leporte @ 2023-02-18 0:31 ` Jake Leporte 2023-02-27 0:39 ` [bug#60827] [PATCH v6 0/4] Add dozenal and dependencies Jake Leporte 2023-03-06 12:47 ` [bug#60827] [PATCH v7 1/4] gnu: Add perl-par Jake Leporte 7 siblings, 0 replies; 13+ messages in thread From: Jake Leporte @ 2023-02-18 0:31 UTC (permalink / raw) To: 60827; +Cc: Jake Leporte Re-submitting all the patches in this series, with a bumped version number, to try to get QA in the green- I misunderstood how it worked before, hopefully this works! * gnu/packges/perl.scm (perl-par): New variable. --- gnu/packages/perl.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 295f8dd..62f19ed 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -8600,6 +8600,26 @@ (define-public perl-par-dist distributions.") (license (package-license perl)))) +(define-public perl-par + (package + (name "perl-par") + (version "1.018") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RS/RSCHUPP/PAR-" + version ".tar.gz")) + (sha256 + (base32 + "0ifyjd1pxbfp8wxa9l8b1irjwln4gwh4nz256mjacjv194mh99bc")))) + (build-system perl-build-system) + (propagated-inputs (list perl-archive-zip perl-par-dist)) + (home-page "https://metacpan.org/release/PAR") + (synopsis "Perl Archive Toolkit") + (description + "Perl module for using special zip files (called Perl ARchives) as +libraries from which Perl modules can be loaded.") + (license license:perl-license))) + (define-public perl-parent (deprecated-package "perl-parent" perl)) base-commit: 6dce27abbba01cb4e249c9bdb3c132cecc0a5c51 -- 2.39.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [bug#60827] [PATCH v6 0/4] Add dozenal and dependencies. 2023-01-15 4:44 [bug#60827] [PATCH 0/3] Add perl-par, xforms, and dozenal package definitions Jake Leporte ` (5 preceding siblings ...) 2023-02-18 0:31 ` [bug#60827] [PATCH v5 1/4] gnu: Add perl-par Jake Leporte @ 2023-02-27 0:39 ` Jake Leporte 2023-03-06 12:47 ` [bug#60827] [PATCH v7 1/4] gnu: Add perl-par Jake Leporte 7 siblings, 0 replies; 13+ messages in thread From: Jake Leporte @ 2023-02-27 0:39 UTC (permalink / raw) To: 60827; +Cc: Jake Leporte Another try, which should correct the commit messages. I hope this also allows QA to properly create the branch and test my changes. I'm not sure exactly what I need to do to make sure revisions are picked up :) Jake Leporte (4): gnu: Add perl-par. gnu: Add xforms. gnu: Add xforms-gl. gnu: Add dozenal. gnu/packages/maths.scm | 105 +++++++++++++++++++++++++++++++++++++++ gnu/packages/perl.scm | 20 ++++++++ gnu/packages/xdisorg.scm | 58 +++++++++++++++++++++ 3 files changed, 183 insertions(+) base-commit: 81fbf5d71fb95367a0a93e45a86de5e930589a05 -- 2.39.1 ^ permalink raw reply [flat|nested] 13+ messages in thread
* [bug#60827] [PATCH v7 1/4] gnu: Add perl-par. 2023-01-15 4:44 [bug#60827] [PATCH 0/3] Add perl-par, xforms, and dozenal package definitions Jake Leporte ` (6 preceding siblings ...) 2023-02-27 0:39 ` [bug#60827] [PATCH v6 0/4] Add dozenal and dependencies Jake Leporte @ 2023-03-06 12:47 ` Jake Leporte 2023-03-22 1:44 ` [bug#60827] [PATCH 0/3] Add perl-par, xforms, and dozenal package definitions Maxim Cournoyer 7 siblings, 1 reply; 13+ messages in thread From: Jake Leporte @ 2023-03-06 12:47 UTC (permalink / raw) To: 60827; +Cc: Jake Leporte * gnu/packges/perl.scm (perl-par): New variable. --- gnu/packages/perl.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 41b68ba..b6fb81e 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -8598,6 +8598,26 @@ (define-public perl-par-dist distributions.") (license (package-license perl)))) +(define-public perl-par + (package + (name "perl-par") + (version "1.018") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RS/RSCHUPP/PAR-" + version ".tar.gz")) + (sha256 + (base32 + "0ifyjd1pxbfp8wxa9l8b1irjwln4gwh4nz256mjacjv194mh99bc")))) + (build-system perl-build-system) + (propagated-inputs (list perl-archive-zip perl-par-dist)) + (home-page "https://metacpan.org/release/PAR") + (synopsis "Perl Archive Toolkit") + (description + "Perl module for using special zip files (called Perl ARchives) as +libraries from which Perl modules can be loaded.") + (license license:perl-license))) + (define-public perl-parent (deprecated-package "perl-parent" perl)) base-commit: 461577f0fce1b69a88a752857eeee2e9e1116d6c -- 2.39.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [bug#60827] [PATCH 0/3] Add perl-par, xforms, and dozenal package definitions 2023-03-06 12:47 ` [bug#60827] [PATCH v7 1/4] gnu: Add perl-par Jake Leporte @ 2023-03-22 1:44 ` Maxim Cournoyer 0 siblings, 0 replies; 13+ messages in thread From: Maxim Cournoyer @ 2023-03-22 1:44 UTC (permalink / raw) To: Jake Leporte; +Cc: 60827 Hi, Jake Leporte <jakeleporte@outlook.com> writes: > * gnu/packges/perl.scm (perl-par): New variable. > --- > gnu/packages/perl.scm | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) Thank you for your contribution! I've now installed the four changes, with the modifications below: for perl-par, I've added your copyright: --8<---------------cut here---------------start------------->8--- modified gnu/packages/perl.scm @@ -36,6 +36,7 @@ ;;; Copyright © 2022 gemmaro <gemmaro.dev@gmail.com> ;;; Copyright © 2023 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de> ;;; Copyright © 2023 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2023 Jake Leporte <jakeleporte@outlook.com> ;;; ;;; This file is part of GNU Guix. ;;; --8<---------------cut here---------------end--------------->8--- for xforms, I've added a trailing period to the comment, corrected the version to "1.3.0" which was the latest release, and reworded the description a bit. --8<---------------cut here---------------start------------->8--- modified gnu/packages/xdisorg.scm @@ -58,6 +58,7 @@ ;;; Copyright © 2022 Wamm K. D. <jaft.r@outlook.com> ;;; Copyright © 2022 Tobias Kortkamp <tobias.kortkamp@gmail.com> ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream> +;;; Copyright © 2023 Jake Leporte <jakeleporte@outlook.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -3451,13 +3452,13 @@ (define-public wvkbd license:gpl3+)))) ;the rest is GPLv3+ (define-public xforms - ;; The latest stable release fails with a linker error, so use an updated - ;; version + ;; The latest stable release is ancient (2014) and fails with a linker + ;; error, so use the last commit. (let ((revision "1") (commit "2c1a9f151baf50887a517280645ec23379fb96f8")) (package (name "xforms") - (version (git-version "1.2.4" revision commit)) + (version (git-version "1.3.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -3488,8 +3489,8 @@ (define-public xforms (home-page "http://xforms-toolkit.org/") (synopsis "GUI toolkit for X based on the X11 Xlib library") (description - "XForms is a graphical user interface toolkit for X based on the X11 Xlib -library. I.e., it allows you to create windows, containing all kinds of + "XForms is a graphical user interface toolkit for X based on the X11 +Xlib library. It allows you to create windows, containing all kinds of widgets (buttons, sliders, browsers, menus etc.) with a few lines of code and then attach actions to the widgets, i.e., have some function called when a button is pressed. To make this even easier XForms comes with a program --8<---------------cut here---------------end--------------->8--- for xforms-gl, I've used package/inherit, which on top of inheritance confers the same replacement properties when there are grafts. This is to be used for variant packages that build from the same source code. --8<---------------cut here---------------start------------->8--- modified gnu/packages/xdisorg.scm @@ -3499,8 +3499,7 @@ (define-public xforms (license license:lgpl2.1+)))) (define-public xforms-gl - (package - (inherit xforms) + (package/inherit xforms (name "xforms-gl") (propagated-inputs (modify-inputs (package-propagated-inputs xforms) (append mesa))) --8<---------------cut here---------------end--------------->8--- and for dozenal, I've used the 'this-package-input' procedure recommended by another reviewer, re-flowed the paragraphs to use a width of 80 characters, used rename-file instead of copy-file + delete-file and sorted the inputs. --8<---------------cut here---------------start------------->8--- 1 file changed, 24 insertions(+), 30 deletions(-) gnu/packages/maths.scm | 54 ++++++++++++++++++++++++------------------------------ modified gnu/packages/maths.scm @@ -59,6 +59,7 @@ ;;; Copyright © 2022 Maximilian Heisinger <mail@maxheisinger.at> ;;; Copyright © 2022 Akira Kyle <akira@akirakyle.com> ;;; Copyright © 2022 Roman Scherer <roman.scherer@burningswell.com> +;;; Copyright © 2023 Jake Leporte <jakeleporte@outlook.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -463,6 +464,7 @@ (define-public dionysus (home-page "https://www.gnu.org/software/dionysus/"))) (define-public dozenal + ;; There is no recent release, so use the latest commit. (let ((revision "1") (commit "328bc03ad544179f2cccda36763358c4216f188e")) (package @@ -482,13 +484,12 @@ (define-public dozenal (arguments (list ;; Some test scripts are included, but no makefile-driven - ;; tests, and they are all quite manual to run and check + ;; 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. + ;; 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)) @@ -499,7 +500,8 @@ (define-public dozenal (chdir "dozenal"))) (add-after 'chdir 'patch-lua-references (lambda _ - (let ((lua-name (strip-store-file-name #$lua))) + (let ((lua-name (strip-store-file-name + #$(this-package-input "lua")))) (substitute* '("dozcal/Makefile" "dozlua/Makefile") (("lua52") @@ -527,40 +529,32 @@ (define-public dozenal "/share/man/man1/" prog ".1"))) (mkdir-p (dirname dst)) - (copy-file orig dst) - (delete-file orig) + (rename-file orig dst) (mkdir-p (dirname man-dst)) - (copy-file man-orig man-dst) - (delete-file man-orig))) + (rename-file man-orig man-dst))) '("xdozdc" "gdozdc")) - (wrap-program - (string-append #$output:gui "/bin/" "gdozdc") - `("PATH" = - (,(string-append #$output "/bin"))) - `("PERL5LIB" = - (,(getenv "PERL5LIB"))))))))) + (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 + (inputs (list bash-minimal ;for wrap-program libhdate lua + ncurses perl perl-tk perl-par xforms)) - (synopsis - "Suite of dozenal programs, including converters, a calculator, and date -program") + (synopsis "Suite of dozenal programs") (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.") + "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+)))) --8<---------------cut here---------------end--------------->8--- Thanks again, -- Maxim ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2023-03-22 1:45 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-01-15 4:44 [bug#60827] [PATCH 0/3] Add perl-par, xforms, and dozenal package definitions Jake Leporte 2023-01-16 1:09 ` [bug#60827] [PATCH 0/4] Updated: Add dozenal plus dependencies Jake Leporte 2023-01-16 1:11 ` [bug#60827] [PATCH 1/4] gnu: Add perl-par Jake Leporte 2023-01-23 21:02 ` [bug#60827] [PATCH v2] gnu: Add dozenal Jake Leporte 2023-01-23 21:38 ` Bruno Victal 2023-01-23 22:43 ` [bug#60827] [PATCH v3] " Jake Leporte 2023-01-23 23:24 ` Bruno Victal 2023-01-24 7:02 ` ( via Guix-patches via 2023-01-27 2:16 ` [bug#60827] [PATCH v4] " Jake Leporte 2023-02-18 0:31 ` [bug#60827] [PATCH v5 1/4] gnu: Add perl-par Jake Leporte 2023-02-27 0:39 ` [bug#60827] [PATCH v6 0/4] Add dozenal and dependencies Jake Leporte 2023-03-06 12:47 ` [bug#60827] [PATCH v7 1/4] gnu: Add perl-par Jake Leporte 2023-03-22 1:44 ` [bug#60827] [PATCH 0/3] Add perl-par, xforms, and dozenal package definitions Maxim Cournoyer
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/guix.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.