Package: guix-patches;
Reported by: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Date: Sun, 31 Dec 2023 16:50:01 UTC
Severity: normal
Tags: patch
Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 68180 in the body.
You can then email your comments to 68180 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
andrew <at> trop.in, cox.katherine.e+guix <at> gmail.com, liliana.prikler <at> gmail.com, guix-patches <at> gnu.org
:bug#68180
; Package guix-patches
.
(Sun, 31 Dec 2023 16:50:01 GMT) Full text and rfc822 format available.Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
:andrew <at> trop.in, cox.katherine.e+guix <at> gmail.com, liliana.prikler <at> gmail.com, guix-patches <at> gnu.org
.
(Sun, 31 Dec 2023 16:50:01 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: guix-patches <at> gnu.org Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: [PATCH 0/4] Add emacs-pde Date: Sun, 31 Dec 2023 11:49:22 -0500
This adds PDE, a Perl development environment for Emacs that provides online documentation. Maxim Cournoyer (4): gnu: emacs: Add awk, find, sed and sh to PATH wrapper. build: perl: Accept Gexps for #:module-build-flags. gnu: perl-b-keywords: Update to 1.26. gnu: Add emacs-pde. gnu/packages/emacs-xyz.scm | 86 ++++++++++++++++++++++++++++++++++++++ gnu/packages/emacs.scm | 21 ++++++---- gnu/packages/perl.scm | 4 +- guix/build-system/perl.scm | 4 +- 4 files changed, 105 insertions(+), 10 deletions(-) base-commit: 2a242e86379ebddbdddf2927f26e5e27a98fc605 -- 2.41.0
andrew <at> trop.in, cox.katherine.e+guix <at> gmail.com, liliana.prikler <at> gmail.com, guix-patches <at> gnu.org
:bug#68180
; Package guix-patches
.
(Sun, 31 Dec 2023 17:00:02 GMT) Full text and rfc822 format available.Message #8 received at 68180 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: 68180 <at> debbugs.gnu.org Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: [PATCH 1/4] gnu: emacs: Add awk, find, sed and sh to PATH wrapper. Date: Sun, 31 Dec 2023 11:59:06 -0500
Before this change, using Emacs in a pure environment, e.g. 'guix shell --pure emacs', would cause problems such as: jka-compr-insert-file-contents: Uncompression program ‘sh’ not found And other problems were found requiring the other tools. While the above could be patched in place for 'sh', it seems more robust and universally useful to have the commands appear on PATH, should other Elisp modules want to call to these directly as well. * gnu/packages/emacs.scm (emacs-minimal) [arguments] <phases>: Adjust the wrap-emacs-paths phase to wrap additional inputs. [inputs]: Add findutils, gawk and sed. (%emacs-modules): Add (srfi srfi-26). Change-Id: Ifb4fe2fc12ddc9eae387adb3da3f7821fab78e65 --- gnu/packages/emacs.scm | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index b9d9e2b891..85d40d01de 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2016 David Thompson <dthompson2 <at> worcester.edu> ;;; Copyright © 2016 Nikita <nikita <at> n0.is> ;;; Copyright © 2017 Marius Bakke <mbakke <at> fastmail.com> -;;; Copyright © 2017, 2019, 2020 Maxim Cournoyer <maxim.cournoyer <at> gmail.com> +;;; Copyright © 2017, 2019, 2020, 2023 Maxim Cournoyer <maxim.cournoyer <at> gmail.com> ;;; Copyright © 2017 Alex Vong <alexvong1995 <at> gmail.com> ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado <at> elephly.net> ;;; Copyright © 2017, 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org> @@ -59,6 +59,7 @@ (define-module (gnu packages emacs) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages fribidi) + #:use-module (gnu packages gawk) #:use-module (gnu packages gcc) #:use-module (gnu packages gd) #:use-module (gnu packages gettext) @@ -94,6 +95,7 @@ (define (%emacs-modules build-system) `((guix build ,(symbol-append which '-build-system)) (guix build utils) (srfi srfi-1) + (srfi srfi-26) (ice-9 ftw)))) (define-public emacs-minimal @@ -231,12 +233,17 @@ (define-public emacs-minimal (wrap-program prog ;; Some variants rely on uname being in PATH for Tramp. ;; Tramp paths can't be hardcoded, because they need to - ;; be portable. + ;; be portable. "sh", "find", "awk" and "sed" are also + ;; needed by common Elisp modules e.g., for reading + ;; documentation, so have them on PATH. `("PATH" suffix - ,(map dirname - (list (search-input-file inputs "/bin/gzip") - ;; for coreutils - (search-input-file inputs "/bin/yes")))) + ,(map (compose dirname (cut search-input-file inputs <>)) + (list "bin/awk" + "bin/find" ;findutils + "bin/gzip" + "bin/sed" + "bin/sh" ;bash + "bin/yes"))) ;coreutils `("EMACSLOADPATH" suffix ,lisp-dirs))) (find-files (string-append out "/bin") ;; Matches versioned and unversioned emacs binaries. @@ -254,7 +261,7 @@ (define-public emacs-minimal (copy-file (car (find-files "bin" "^emacs-([0-9]+\\.)+[0-9]+$")) "bin/emacs"))))))) - (inputs (list bash-minimal coreutils gzip ncurses)) + (inputs (list bash-minimal coreutils findutils gawk gzip ncurses sed)) (native-inputs (list autoconf pkg-config texinfo)) (home-page "https://www.gnu.org/software/emacs/") (synopsis "The extensible text editor (minimal build for byte-compilation)") -- 2.41.0
guix-patches <at> gnu.org
:bug#68180
; Package guix-patches
.
(Sun, 31 Dec 2023 17:00:03 GMT) Full text and rfc822 format available.Message #11 received at 68180 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: 68180 <at> debbugs.gnu.org Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: [PATCH 2/4] build: perl: Accept Gexps for #:module-build-flags. Date: Sun, 31 Dec 2023 11:59:07 -0500
* guix/build-system/perl.scm (perl-build) [module-build-flags]: Accept gexps. Change-Id: If1daa4d9a8cf97824b75f2113f4d7d83256463ce --- guix/build-system/perl.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/guix/build-system/perl.scm b/guix/build-system/perl.scm index 7c6deb34bf..0d5493ab90 100644 --- a/guix/build-system/perl.scm +++ b/guix/build-system/perl.scm @@ -133,7 +133,9 @@ (define* (perl-build name inputs search-paths)) #:make-maker? #$make-maker? #:make-maker-flags #$make-maker-flags - #:module-build-flags #$(sexp->gexp module-build-flags) + #:module-build-flags #$(if (pair? module-build-flags) + (sexp->gexp module-build-flags) + module-build-flags) #:phases #$(if (pair? phases) (sexp->gexp phases) phases) -- 2.41.0
guix-patches <at> gnu.org
:bug#68180
; Package guix-patches
.
(Sun, 31 Dec 2023 17:00:04 GMT) Full text and rfc822 format available.Message #14 received at 68180 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: 68180 <at> debbugs.gnu.org Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: [PATCH 3/4] gnu: perl-b-keywords: Update to 1.26. Date: Sun, 31 Dec 2023 11:59:08 -0500
* gnu/packages/perl.scm (perl-b-keywords): Update to 1.26. Change-Id: I3fdb9acf9f257ff9583179e29b2e6a26104b7e0d --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 8b82c272fc..5b32d6ecec 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -927,14 +927,14 @@ (define-public perl-b-hooks-op-check (define-public perl-b-keywords (package (name "perl-b-keywords") - (version "1.22") + (version "1.26") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RU/RURBAN/B-Keywords-" version ".tar.gz")) (sha256 - (base32 "0i2ksp0w9wv1qc22hrdl3k48cww64syhmv8zf6x0kgyd4081hr56")))) + (base32 "0d7dgbw3wdaqw8g7nl86q6gqfqsnzg2a9y47vpgb0zr65xfibaid")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/B-Keywords") (synopsis "Lists of reserved barewords and symbol names") -- 2.41.0
andrew <at> trop.in, cox.katherine.e+guix <at> gmail.com, liliana.prikler <at> gmail.com, guix-patches <at> gnu.org
:bug#68180
; Package guix-patches
.
(Sun, 31 Dec 2023 17:00:05 GMT) Full text and rfc822 format available.Message #17 received at 68180 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: 68180 <at> debbugs.gnu.org Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: [PATCH 4/4] gnu: Add emacs-pde. Date: Sun, 31 Dec 2023 11:59:09 -0500
* gnu/packages/emacs-xyz.scm (emacs-pde): New variable. Change-Id: Icab5d8acf9d441bb4a832a82e75432d64cc77ba7 --- gnu/packages/emacs-xyz.scm | 86 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index a8ac238f58..fe46342adf 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -167,6 +167,7 @@ (define-module (gnu packages emacs-xyz) #:use-module (guix build-system cmake) #:use-module (guix build-system copy) #:use-module (guix build-system emacs) + #:use-module (guix build-system perl) #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages admin) @@ -271,6 +272,7 @@ (define-module (gnu packages emacs-xyz) #:use-module (gnu packages erlang) #:use-module (gnu packages statistics) #:use-module (gnu packages libcanberra) + #:use-module (gnu packages texinfo) #:use-module (gnu packages virtualization) #:use-module (gnu packages web-browsers) #:use-module (gnu packages wget) @@ -12271,6 +12273,90 @@ (define-public emacs-hl-todo regexp that matches all known keywords.") (license license:gpl3+))) +(define-public emacs-pde + (package + (name "emacs-pde") + (version "0.2.17") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/Y/YE/YEWENBIN/Emacs-PDE-v" + version ".tar.gz")) + (modules '((guix build utils))) + (snippet '(begin + ;; Delete pre-generated Texinfo and HTML documentation. + (for-each delete-file '("lisp/doc/pde.info" + "lisp/doc/pde.html")) + (delete-file-recursively "lisp/doc/pde"))) + (sha256 + (base32 "1i82isha839c8lx73kgp43v7gxr2adsr1yfw1glyxvi62w5ab9qz")))) + (build-system perl-build-system) + (arguments + (list + #:imported-modules `(,@%emacs-build-system-modules + ,@%perl-build-system-modules) + #:modules '((guix build perl-build-system) + (guix build emacs-utils) + (guix build utils)) + #:module-build-flags + #~(list (string-append "--elispdir=" #$output + "/share/emacs/site-lisp/pde") + "--verbose") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-commands + (lambda* (#:key inputs #:allow-other-keys) + (make-file-writable "lisp/pde-vars.el") + (emacs-substitute-variables "lisp/pde-vars.el" + ("pde-perl-program" + (search-input-file inputs "bin/perl")) + ("pde-perl-version" + #$(package-version (this-package-input "perl"))) + ("pde-perldoc-program" + (search-input-file inputs "bin/perldoc")) + ("pde-find-program" + (search-input-file inputs "bin/find"))) + (make-file-writable "lisp/perlcritic.el") + (emacs-substitute-variables "lisp/perlcritic.el" + ("perlcritic-program" + (search-input-file inputs "bin/perlcritic"))) + (make-file-writable "lisp/perldoc.el") + (emacs-substitute-variables "lisp/perldoc.el" + ("perldoc-cache-el" + "(expand-file-name \"~/.cache/perldoc-cache.el\"") + ("perldoc-pod2man" + (search-input-file inputs "bin/pod2man"))) + (make-file-writable "lisp/perltidy.el") + (emacs-substitute-variables "lisp/perltidy.el" + ("perltidy-program" + (search-input-file inputs "bin/perltidy"))) + (substitute* "lisp/tools/perldoc-cache.pl" + (("`perldoc") + (string-append + "`" (search-input-file inputs "bin/perldoc")))))) + (add-after 'build 'generate-doc + (lambda _ + (invoke "./Build" "info"))) + (add-after 'install 'move-doc + (lambda _ + (let ((info (string-append #$output "/share/info/pde.info"))) + (mkdir-p (dirname info)) + (rename-file (string-append + #$output + "/share/emacs/site-lisp/pde/doc/pde.info") + info))))))) + (native-inputs (list emacs-minimal perl-module-build texinfo)) + (inputs (list findutils perl perl-critic)) + (home-page "https://metacpan.org/release/Emacs-PDE") + (synopsis "Perl Development Environment for Emacs") + (description "Emacs::PDE is a collection of Emacs Lisp extensions to +facilitate Perl programming. CPerl Mode has provided an excellent environment +for coding; Emacs::PDE provides other common tools such as creating files +using templates, smart compiling, @command{perldoc}, @command{perltidy}, +debugger, tags tree view and so on. PDE also provides an easy configuration +for Perl programing, and a tutorial for novices to start using Emacs.") + (license license:perl-license))) + (define-public emacs-perspective (package (name "emacs-perspective") -- 2.41.0
guix-patches <at> gnu.org
:bug#68180
; Package guix-patches
.
(Sun, 31 Dec 2023 19:14:01 GMT) Full text and rfc822 format available.Message #20 received at 68180 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>, 68180 <at> debbugs.gnu.org Cc: Katherine Cox-Buday <cox.katherine.e+guix <at> gmail.com>, Andrew Tropin <andrew <at> trop.in> Subject: Re: [bug#68180] [PATCH 1/4] gnu: emacs: Add awk, find, sed and sh to PATH wrapper. Date: Sun, 31 Dec 2023 20:13:06 +0100
Am Sonntag, dem 31.12.2023 um 11:59 -0500 schrieb Maxim Cournoyer: > Before this change, using Emacs in a pure environment, e.g. 'guix > shell --pure emacs', would cause problems such as: > > jka-compr-insert-file-contents: Uncompression program ‘sh’ not > found > > And other problems were found requiring the other tools. While the > above could be patched in place for 'sh', it seems more robust and > universally useful to have the commands appear on PATH, should other > Elisp modules want to call to these directly as well. > > * gnu/packages/emacs.scm (emacs-minimal) [arguments] <phases>: Adjust > the > wrap-emacs-paths phase to wrap additional inputs. > [inputs]: Add findutils, gawk and sed. > (%emacs-modules): Add (srfi srfi-26). > > Change-Id: Ifb4fe2fc12ddc9eae387adb3da3f7821fab78e65 > --- We already have a phase to patch in the real path of /bin/sh where it's used. This appears to be an odd case that's missed. Cheers
guix-patches <at> gnu.org
:bug#68180
; Package guix-patches
.
(Sun, 31 Dec 2023 21:11:01 GMT) Full text and rfc822 format available.Message #23 received at 68180 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Cc: 68180 <at> debbugs.gnu.org, Katherine Cox-Buday <cox.katherine.e+guix <at> gmail.com>, Andrew Tropin <andrew <at> trop.in> Subject: Re: [bug#68180] [PATCH 1/4] gnu: emacs: Add awk, find, sed and sh to PATH wrapper. Date: Sun, 31 Dec 2023 16:10:03 -0500
Hi Liliana, Liliana Marie Prikler <liliana.prikler <at> gmail.com> writes: > Am Sonntag, dem 31.12.2023 um 11:59 -0500 schrieb Maxim Cournoyer: >> Before this change, using Emacs in a pure environment, e.g. 'guix >> shell --pure emacs', would cause problems such as: >> >> jka-compr-insert-file-contents: Uncompression program ‘sh’ not >> found >> >> And other problems were found requiring the other tools. While the >> above could be patched in place for 'sh', it seems more robust and >> universally useful to have the commands appear on PATH, should other >> Elisp modules want to call to these directly as well. >> >> * gnu/packages/emacs.scm (emacs-minimal) [arguments] <phases>: Adjust >> the >> wrap-emacs-paths phase to wrap additional inputs. >> [inputs]: Add findutils, gawk and sed. >> (%emacs-modules): Add (srfi srfi-26). >> >> Change-Id: Ifb4fe2fc12ddc9eae387adb3da3f7821fab78e65 >> --- > We already have a phase to patch in the real path of /bin/sh where it's > used. This appears to be an odd case that's missed. I appreciate exactness, but it seems fragile to rely on nobody adding new references or someone catching them as new Emacs modules get added or changed :-). My reasoning was that since Emacs already depends on bash, why not ensure it'll always be found on PATH, by wrapping instead of substituting. Does it make sense? -- Thanks, Maxim
guix-patches <at> gnu.org
:bug#68180
; Package guix-patches
.
(Mon, 01 Jan 2024 07:35:01 GMT) Full text and rfc822 format available.Message #26 received at 68180 <at> debbugs.gnu.org (full text, mbox):
From: Andrew Tropin <andrew <at> trop.in> To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>, Liliana Marie Prikler <liliana.prikler <at> gmail.com> Cc: 68180 <at> debbugs.gnu.org, Katherine Cox-Buday <cox.katherine.e+guix <at> gmail.com> Subject: Re: [bug#68180] [PATCH 1/4] gnu: emacs: Add awk, find, sed and sh to PATH wrapper. Date: Mon, 01 Jan 2024 10:33:58 +0300
[Message part 1 (text/plain, inline)]
On 2023-12-31 16:10, Maxim Cournoyer wrote: > Hi Liliana, > > Liliana Marie Prikler <liliana.prikler <at> gmail.com> writes: > >> Am Sonntag, dem 31.12.2023 um 11:59 -0500 schrieb Maxim Cournoyer: >>> Before this change, using Emacs in a pure environment, e.g. 'guix >>> shell --pure emacs', would cause problems such as: >>> >>> jka-compr-insert-file-contents: Uncompression program ‘sh’ not >>> found >>> >>> And other problems were found requiring the other tools. While the >>> above could be patched in place for 'sh', it seems more robust and >>> universally useful to have the commands appear on PATH, should other >>> Elisp modules want to call to these directly as well. >>> >>> * gnu/packages/emacs.scm (emacs-minimal) [arguments] <phases>: Adjust >>> the >>> wrap-emacs-paths phase to wrap additional inputs. >>> [inputs]: Add findutils, gawk and sed. >>> (%emacs-modules): Add (srfi srfi-26). >>> >>> Change-Id: Ifb4fe2fc12ddc9eae387adb3da3f7821fab78e65 >>> --- >> We already have a phase to patch in the real path of /bin/sh where it's >> used. This appears to be an odd case that's missed. > > I appreciate exactness, but it seems fragile to rely on nobody adding > new references or someone catching them as new Emacs modules get added > or changed :-). > > My reasoning was that since Emacs already depends on bash, why not > ensure it'll always be found on PATH, by wrapping instead of > substituting. > > Does it make sense? Yep, make sense to me. I also find cases from time to time, when some binary or another isn't found by some elisp code. However, providing those binaries via PATH can make some code or programs to work, when executed from inside Emacs and not to work in the environment outside, which can be really confusing in some cases. A simple example, imaging we have a script: 1.sh, which contains: sh --version This one will work: guix shell emacs-with-bash --pure -- emacs --eval '(shell-command "./1.sh")' This one will not: guix shell emacs-with-bash --pure -- ./1.sh That said, the idea of patching all the pathes to binaries seems better to me. -- Best regards, Andrew Tropin
[signature.asc (application/pgp-signature, inline)]
andrew <at> trop.in, cox.katherine.e+guix <at> gmail.com, liliana.prikler <at> gmail.com, guix-patches <at> gnu.org
:bug#68180
; Package guix-patches
.
(Tue, 02 Jan 2024 02:00:02 GMT) Full text and rfc822 format available.Message #29 received at 68180 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: 68180 <at> debbugs.gnu.org Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: [PATCH v2 0/4] Add emacs-pde Date: Mon, 1 Jan 2024 20:58:23 -0500
This adds PDE, a Perl development environment for Emacs that provides online documentation. Changes in v2: - Patch references in place instead of wrapping via PATH Maxim Cournoyer (4): gnu: emacs: Patch awk, find, sed and sh commands. build: perl: Accept Gexps for #:module-build-flags. gnu: perl-b-keywords: Update to 1.26. gnu: Add emacs-pde. gnu/packages/emacs-xyz.scm | 86 ++++++++++++++++++++++++++++++++++++++ gnu/packages/emacs.scm | 56 +++++++++++++++++++++++-- gnu/packages/perl.scm | 4 +- guix/build-system/perl.scm | 4 +- 4 files changed, 143 insertions(+), 7 deletions(-) base-commit: 2a242e86379ebddbdddf2927f26e5e27a98fc605 -- 2.41.0
andrew <at> trop.in, cox.katherine.e+guix <at> gmail.com, liliana.prikler <at> gmail.com, guix-patches <at> gnu.org
:bug#68180
; Package guix-patches
.
(Tue, 02 Jan 2024 02:00:03 GMT) Full text and rfc822 format available.Message #32 received at 68180 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: 68180 <at> debbugs.gnu.org Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: [PATCH v2 1/4] gnu: emacs: Patch awk, find, sed and sh commands. Date: Mon, 1 Jan 2024 20:58:24 -0500
Before this change, using Emacs in a pure environment, e.g. 'guix shell --pure emacs', would cause problems such as: jka-compr-insert-file-contents: Uncompression program ‘sh’ not found And other problems were found requiring the other tools. * gnu/packages/emacs.scm (emacs-minimal) [arguments]: Extend the patch-program-file-names phase. [inputs]: Add findutils, gawk and sed. Change-Id: Ifb4fe2fc12ddc9eae387adb3da3f7821fab78e65 --- Changes in v2: - Patch references in place instead of wrapping via PATH gnu/packages/emacs.scm | 56 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 52 insertions(+), 4 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index b9d9e2b891..3e8de3c2e0 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2016 David Thompson <dthompson2 <at> worcester.edu> ;;; Copyright © 2016 Nikita <nikita <at> n0.is> ;;; Copyright © 2017 Marius Bakke <mbakke <at> fastmail.com> -;;; Copyright © 2017, 2019, 2020 Maxim Cournoyer <maxim.cournoyer <at> gmail.com> +;;; Copyright © 2017, 2019, 2020, 2023, 2024 Maxim Cournoyer <maxim.cournoyer <at> gmail.com> ;;; Copyright © 2017 Alex Vong <alexvong1995 <at> gmail.com> ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado <at> elephly.net> ;;; Copyright © 2017, 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org> @@ -59,6 +59,7 @@ (define-module (gnu packages emacs) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages fribidi) + #:use-module (gnu packages gawk) #:use-module (gnu packages gcc) #:use-module (gnu packages gd) #:use-module (gnu packages gettext) @@ -157,13 +158,60 @@ (define-public emacs-minimal (delete-file "configure")))) (add-after 'unpack 'patch-program-file-names (lambda* (#:key inputs #:allow-other-keys) + ;; Substitute "sh" command. (substitute* '("src/callproc.c" "lisp/term.el" "lisp/htmlfontify.el" + "lisp/mail/feedmail.el" + "lisp/obsolete/pgg-pgp.el" + "lisp/obsolete/pgg-pgp5.el" + "lisp/obsolete/terminal.el" + "lisp/org/ob-eval.el" "lisp/textmodes/artist.el" - "lisp/progmodes/sh-script.el") + "lisp/progmodes/sh-script.el" + "lisp/textmodes/artist.el" + "lisp/htmlfontify.el" + "lisp/term.el") (("\"/bin/sh\"") - (format #f "~s" (search-input-file inputs "/bin/sh")))) + (format #f "~s" (search-input-file inputs "bin/sh")))) + (substitute* '("lisp/gnus/mm-uu.el" + "lisp/gnus/nnrss.el" + "lisp/mail/blessmail.el") + (("\"#!/bin/sh\\\n\"") + (format #f "\"#!~a~%\"" (search-input-file inputs "bin/sh")))) + (substitute* '("lisp/jka-compr.el" + "lisp/man.el") + (("\"sh\"") + (format #f "~s" (search-input-file inputs "bin/sh")))) + + ;; Substitute "awk" command. + (substitute* '("lisp/gnus/nnspool.el" + "lisp/org/ob-awk.el" + "lisp/man.el") + (("\"awk\"") + (format #f "~s" (search-input-file inputs "bin/awk")))) + + ;; Substitute "find" command. + (substitute* '("lisp/gnus/gnus-search.el" + "lisp/obsolete/nnir.el" + "lisp/progmodes/executable.el" + "lisp/progmodes/grep.el" + "lisp/filecache.el" + "lisp/ldefs-boot.el" + "lisp/mpc.el") + (("\"find\"") + (format #f "~s" (search-input-file inputs "bin/find")))) + + ;; Substitute "sed" command. + (substitute* "lisp/org/ob-sed.el" + (("org-babel-sed-command \"sed\"") + (format #f "org-babel-sed-command ~s" + (search-input-file inputs "bin/sed")))) + (substitute* "lisp/man.el" + (("Man-sed-command \"sed\"") + (format #f "Man-sed-command ~s" + (search-input-file inputs "bin/sed")))) + (substitute* "lisp/doc-view.el" (("\"(gs|dvipdf|ps2pdf|pdftotext)\"" all what) (let ((replacement (false-if-exception @@ -254,7 +302,7 @@ (define-public emacs-minimal (copy-file (car (find-files "bin" "^emacs-([0-9]+\\.)+[0-9]+$")) "bin/emacs"))))))) - (inputs (list bash-minimal coreutils gzip ncurses)) + (inputs (list bash-minimal coreutils findutils gawk gzip ncurses sed)) (native-inputs (list autoconf pkg-config texinfo)) (home-page "https://www.gnu.org/software/emacs/") (synopsis "The extensible text editor (minimal build for byte-compilation)") -- 2.41.0
guix-patches <at> gnu.org
:bug#68180
; Package guix-patches
.
(Tue, 02 Jan 2024 02:00:03 GMT) Full text and rfc822 format available.Message #35 received at 68180 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: 68180 <at> debbugs.gnu.org Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: [PATCH v2 2/4] build: perl: Accept Gexps for #:module-build-flags. Date: Mon, 1 Jan 2024 20:58:25 -0500
* guix/build-system/perl.scm (perl-build) [module-build-flags]: Accept gexps. Change-Id: If1daa4d9a8cf97824b75f2113f4d7d83256463ce --- (no changes since v1) guix/build-system/perl.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/guix/build-system/perl.scm b/guix/build-system/perl.scm index 7c6deb34bf..0d5493ab90 100644 --- a/guix/build-system/perl.scm +++ b/guix/build-system/perl.scm @@ -133,7 +133,9 @@ (define* (perl-build name inputs search-paths)) #:make-maker? #$make-maker? #:make-maker-flags #$make-maker-flags - #:module-build-flags #$(sexp->gexp module-build-flags) + #:module-build-flags #$(if (pair? module-build-flags) + (sexp->gexp module-build-flags) + module-build-flags) #:phases #$(if (pair? phases) (sexp->gexp phases) phases) -- 2.41.0
guix-patches <at> gnu.org
:bug#68180
; Package guix-patches
.
(Tue, 02 Jan 2024 02:00:04 GMT) Full text and rfc822 format available.Message #38 received at 68180 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: 68180 <at> debbugs.gnu.org Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: [PATCH v2 3/4] gnu: perl-b-keywords: Update to 1.26. Date: Mon, 1 Jan 2024 20:58:26 -0500
* gnu/packages/perl.scm (perl-b-keywords): Update to 1.26. Change-Id: I3fdb9acf9f257ff9583179e29b2e6a26104b7e0d --- (no changes since v1) gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 8b82c272fc..5b32d6ecec 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -927,14 +927,14 @@ (define-public perl-b-hooks-op-check (define-public perl-b-keywords (package (name "perl-b-keywords") - (version "1.22") + (version "1.26") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RU/RURBAN/B-Keywords-" version ".tar.gz")) (sha256 - (base32 "0i2ksp0w9wv1qc22hrdl3k48cww64syhmv8zf6x0kgyd4081hr56")))) + (base32 "0d7dgbw3wdaqw8g7nl86q6gqfqsnzg2a9y47vpgb0zr65xfibaid")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/B-Keywords") (synopsis "Lists of reserved barewords and symbol names") -- 2.41.0
andrew <at> trop.in, cox.katherine.e+guix <at> gmail.com, liliana.prikler <at> gmail.com, guix-patches <at> gnu.org
:bug#68180
; Package guix-patches
.
(Tue, 02 Jan 2024 02:00:05 GMT) Full text and rfc822 format available.Message #41 received at 68180 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: 68180 <at> debbugs.gnu.org Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: [PATCH v2 4/4] gnu: Add emacs-pde. Date: Mon, 1 Jan 2024 20:58:27 -0500
* gnu/packages/emacs-xyz.scm (emacs-pde): New variable. Change-Id: Icab5d8acf9d441bb4a832a82e75432d64cc77ba7 --- (no changes since v1) gnu/packages/emacs-xyz.scm | 86 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index a8ac238f58..fe46342adf 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -167,6 +167,7 @@ (define-module (gnu packages emacs-xyz) #:use-module (guix build-system cmake) #:use-module (guix build-system copy) #:use-module (guix build-system emacs) + #:use-module (guix build-system perl) #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages admin) @@ -271,6 +272,7 @@ (define-module (gnu packages emacs-xyz) #:use-module (gnu packages erlang) #:use-module (gnu packages statistics) #:use-module (gnu packages libcanberra) + #:use-module (gnu packages texinfo) #:use-module (gnu packages virtualization) #:use-module (gnu packages web-browsers) #:use-module (gnu packages wget) @@ -12271,6 +12273,90 @@ (define-public emacs-hl-todo regexp that matches all known keywords.") (license license:gpl3+))) +(define-public emacs-pde + (package + (name "emacs-pde") + (version "0.2.17") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/Y/YE/YEWENBIN/Emacs-PDE-v" + version ".tar.gz")) + (modules '((guix build utils))) + (snippet '(begin + ;; Delete pre-generated Texinfo and HTML documentation. + (for-each delete-file '("lisp/doc/pde.info" + "lisp/doc/pde.html")) + (delete-file-recursively "lisp/doc/pde"))) + (sha256 + (base32 "1i82isha839c8lx73kgp43v7gxr2adsr1yfw1glyxvi62w5ab9qz")))) + (build-system perl-build-system) + (arguments + (list + #:imported-modules `(,@%emacs-build-system-modules + ,@%perl-build-system-modules) + #:modules '((guix build perl-build-system) + (guix build emacs-utils) + (guix build utils)) + #:module-build-flags + #~(list (string-append "--elispdir=" #$output + "/share/emacs/site-lisp/pde") + "--verbose") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-commands + (lambda* (#:key inputs #:allow-other-keys) + (make-file-writable "lisp/pde-vars.el") + (emacs-substitute-variables "lisp/pde-vars.el" + ("pde-perl-program" + (search-input-file inputs "bin/perl")) + ("pde-perl-version" + #$(package-version (this-package-input "perl"))) + ("pde-perldoc-program" + (search-input-file inputs "bin/perldoc")) + ("pde-find-program" + (search-input-file inputs "bin/find"))) + (make-file-writable "lisp/perlcritic.el") + (emacs-substitute-variables "lisp/perlcritic.el" + ("perlcritic-program" + (search-input-file inputs "bin/perlcritic"))) + (make-file-writable "lisp/perldoc.el") + (emacs-substitute-variables "lisp/perldoc.el" + ("perldoc-cache-el" + "(expand-file-name \"~/.cache/perldoc-cache.el\"") + ("perldoc-pod2man" + (search-input-file inputs "bin/pod2man"))) + (make-file-writable "lisp/perltidy.el") + (emacs-substitute-variables "lisp/perltidy.el" + ("perltidy-program" + (search-input-file inputs "bin/perltidy"))) + (substitute* "lisp/tools/perldoc-cache.pl" + (("`perldoc") + (string-append + "`" (search-input-file inputs "bin/perldoc")))))) + (add-after 'build 'generate-doc + (lambda _ + (invoke "./Build" "info"))) + (add-after 'install 'move-doc + (lambda _ + (let ((info (string-append #$output "/share/info/pde.info"))) + (mkdir-p (dirname info)) + (rename-file (string-append + #$output + "/share/emacs/site-lisp/pde/doc/pde.info") + info))))))) + (native-inputs (list emacs-minimal perl-module-build texinfo)) + (inputs (list findutils perl perl-critic)) + (home-page "https://metacpan.org/release/Emacs-PDE") + (synopsis "Perl Development Environment for Emacs") + (description "Emacs::PDE is a collection of Emacs Lisp extensions to +facilitate Perl programming. CPerl Mode has provided an excellent environment +for coding; Emacs::PDE provides other common tools such as creating files +using templates, smart compiling, @command{perldoc}, @command{perltidy}, +debugger, tags tree view and so on. PDE also provides an easy configuration +for Perl programing, and a tutorial for novices to start using Emacs.") + (license license:perl-license))) + (define-public emacs-perspective (package (name "emacs-perspective") -- 2.41.0
guix-patches <at> gnu.org
:bug#68180
; Package guix-patches
.
(Tue, 02 Jan 2024 02:08:01 GMT) Full text and rfc822 format available.Message #44 received at 68180 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: Andrew Tropin <andrew <at> trop.in> Cc: 68180 <at> debbugs.gnu.org, Katherine Cox-Buday <cox.katherine.e+guix <at> gmail.com>, Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: Re: [bug#68180] [PATCH 1/4] gnu: emacs: Add awk, find, sed and sh to PATH wrapper. Date: Mon, 01 Jan 2024 21:07:36 -0500
Hi Andrew, Andrew Tropin <andrew <at> trop.in> writes: [...] >>> We already have a phase to patch in the real path of /bin/sh where it's >>> used. This appears to be an odd case that's missed. >> >> I appreciate exactness, but it seems fragile to rely on nobody adding >> new references or someone catching them as new Emacs modules get added >> or changed :-). >> >> My reasoning was that since Emacs already depends on bash, why not >> ensure it'll always be found on PATH, by wrapping instead of >> substituting. >> >> Does it make sense? > > Yep, make sense to me. I also find cases from time to time, when some > binary or another isn't found by some elisp code. > > However, providing those binaries via PATH can make some code or > programs to work, when executed from inside Emacs and not to work in the > environment outside, which can be really confusing in some cases. > > A simple example, imaging we have a script: 1.sh, which contains: > sh --version > > This one will work: > guix shell emacs-with-bash --pure -- emacs --eval '(shell-command "./1.sh")' > > This one will not: > guix shell emacs-with-bash --pure -- ./1.sh > > That said, the idea of patching all the pathes to binaries seems better > to me. I'm not sure if I got you correctly: do you prefer to wrap Emacs with the tools it needs in PATH, or patch the references exactly in its source, as Liliana suggested? I've tried the "exact" patch suggested by Liliana in v2. I tested that reading a manual page was possible in a containerized environment still worked. -- Thanks, Maxim
guix-patches <at> gnu.org
:bug#68180
; Package guix-patches
.
(Tue, 02 Jan 2024 05:23:02 GMT) Full text and rfc822 format available.Message #47 received at 68180 <at> debbugs.gnu.org (full text, mbox):
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com> To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>, 68180 <at> debbugs.gnu.org Cc: Katherine Cox-Buday <cox.katherine.e+guix <at> gmail.com>, Andrew Tropin <andrew <at> trop.in> Subject: Re: [bug#68180] [PATCH v2 4/4] gnu: Add emacs-pde. Date: Tue, 02 Jan 2024 06:22:27 +0100
Am Montag, dem 01.01.2024 um 20:58 -0500 schrieb Maxim Cournoyer: > * gnu/packages/emacs-xyz.scm (emacs-pde): New variable. > > Change-Id: Icab5d8acf9d441bb4a832a82e75432d64cc77ba7 > --- > > (no changes since v1) > > gnu/packages/emacs-xyz.scm | 86 > ++++++++++++++++++++++++++++++++++++++ > 1 file changed, 86 insertions(+) > > diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm > index a8ac238f58..fe46342adf 100644 > --- a/gnu/packages/emacs-xyz.scm > +++ b/gnu/packages/emacs-xyz.scm > @@ -167,6 +167,7 @@ (define-module (gnu packages emacs-xyz) > #:use-module (guix build-system cmake) > #:use-module (guix build-system copy) > #:use-module (guix build-system emacs) > + #:use-module (guix build-system perl) > #:use-module (guix build-system trivial) > #:use-module (gnu packages) > #:use-module (gnu packages admin) > @@ -271,6 +272,7 @@ (define-module (gnu packages emacs-xyz) > #:use-module (gnu packages erlang) > #:use-module (gnu packages statistics) > #:use-module (gnu packages libcanberra) > + #:use-module (gnu packages texinfo) > #:use-module (gnu packages virtualization) > #:use-module (gnu packages web-browsers) > #:use-module (gnu packages wget) > @@ -12271,6 +12273,90 @@ (define-public emacs-hl-todo > regexp that matches all known keywords.") > (license license:gpl3+))) > > +(define-public emacs-pde > + (package > + (name "emacs-pde") > + (version "0.2.17") > + (source > + (origin > + (method url-fetch) > + (uri (string-append > "mirror://cpan/authors/id/Y/YE/YEWENBIN/Emacs-PDE-v" > + version ".tar.gz")) > + (modules '((guix build utils))) > + (snippet '(begin > + ;; Delete pre-generated Texinfo and HTML > documentation. > + (for-each delete-file '("lisp/doc/pde.info" > + "lisp/doc/pde.html")) > + (delete-file-recursively "lisp/doc/pde"))) > + (sha256 > + (base32 > "1i82isha839c8lx73kgp43v7gxr2adsr1yfw1glyxvi62w5ab9qz")))) > + (build-system perl-build-system) > + (arguments > + (list > + #:imported-modules `(,@%emacs-build-system-modules > + ,@%perl-build-system-modules) > + #:modules '((guix build perl-build-system) > + (guix build emacs-utils) > + (guix build utils)) > + #:module-build-flags > + #~(list (string-append "--elispdir=" #$output > + "/share/emacs/site-lisp/pde") > + "--verbose") > + #:phases > + #~(modify-phases %standard-phases > + (add-after 'unpack 'patch-commands > + (lambda* (#:key inputs #:allow-other-keys) > + (make-file-writable "lisp/pde-vars.el") > + (emacs-substitute-variables "lisp/pde-vars.el" > + ("pde-perl-program" > + (search-input-file inputs "bin/perl")) > + ("pde-perl-version" > + #$(package-version (this-package-input "perl"))) > + ("pde-perldoc-program" > + (search-input-file inputs "bin/perldoc")) > + ("pde-find-program" > + (search-input-file inputs "bin/find"))) > + (make-file-writable "lisp/perlcritic.el") > + (emacs-substitute-variables "lisp/perlcritic.el" > + ("perlcritic-program" > + (search-input-file inputs "bin/perlcritic"))) > + (make-file-writable "lisp/perldoc.el") > + (emacs-substitute-variables "lisp/perldoc.el" > + ("perldoc-cache-el" > + "(expand-file-name \"~/.cache/perldoc-cache.el\"") > + ("perldoc-pod2man" > + (search-input-file inputs "bin/pod2man"))) > + (make-file-writable "lisp/perltidy.el") > + (emacs-substitute-variables "lisp/perltidy.el" > + ("perltidy-program" > + (search-input-file inputs "bin/perltidy"))) > + (substitute* "lisp/tools/perldoc-cache.pl" > + (("`perldoc") > + (string-append > + "`" (search-input-file inputs "bin/perldoc")))))) I'd use for-each to make the files writable, possibly also a directory excursion. > + (add-after 'build 'generate-doc > + (lambda _ > + (invoke "./Build" "info"))) > + (add-after 'install 'move-doc > + (lambda _ > + (let ((info (string-append #$output > "/share/info/pde.info"))) > + (mkdir-p (dirname info)) > + (rename-file (string-append > + #$output > + "/share/emacs/site- > lisp/pde/doc/pde.info") > + info))))))) > + (native-inputs (list emacs-minimal perl-module-build texinfo)) > + (inputs (list findutils perl perl-critic)) > + (home-page "https://metacpan.org/release/Emacs-PDE") > + (synopsis "Perl Development Environment for Emacs") > + (description "Emacs::PDE is a collection of Emacs Lisp > extensions to > +facilitate Perl programming. CPerl Mode has provided an excellent > environment > +for coding; Emacs::PDE provides other common tools such as creating > files > +using templates, smart compiling, @command{perldoc}, > @command{perltidy}, > +debugger, tags tree view and so on. PDE also provides an easy > configuration > +for Perl programing, and a tutorial for novices to start using > Emacs.") > + (license license:perl-license))) > + Otherwise LGTM.
guix-patches <at> gnu.org
:bug#68180
; Package guix-patches
.
(Tue, 02 Jan 2024 07:02:02 GMT) Full text and rfc822 format available.Message #50 received at 68180 <at> debbugs.gnu.org (full text, mbox):
From: Andrew Tropin <andrew <at> trop.in> To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Cc: 68180 <at> debbugs.gnu.org, Katherine Cox-Buday <cox.katherine.e+guix <at> gmail.com>, Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: Re: [bug#68180] [PATCH 1/4] gnu: emacs: Add awk, find, sed and sh to PATH wrapper. Date: Tue, 02 Jan 2024 10:00:58 +0300
[Message part 1 (text/plain, inline)]
On 2024-01-01 21:07, Maxim Cournoyer wrote: > Hi Andrew, > > Andrew Tropin <andrew <at> trop.in> writes: > > [...] > >>>> We already have a phase to patch in the real path of /bin/sh where it's >>>> used. This appears to be an odd case that's missed. >>> >>> I appreciate exactness, but it seems fragile to rely on nobody adding >>> new references or someone catching them as new Emacs modules get added >>> or changed :-). >>> >>> My reasoning was that since Emacs already depends on bash, why not >>> ensure it'll always be found on PATH, by wrapping instead of >>> substituting. >>> >>> Does it make sense? >> >> Yep, make sense to me. I also find cases from time to time, when some >> binary or another isn't found by some elisp code. >> >> However, providing those binaries via PATH can make some code or >> programs to work, when executed from inside Emacs and not to work in the >> environment outside, which can be really confusing in some cases. >> >> A simple example, imaging we have a script: 1.sh, which contains: >> sh --version >> >> This one will work: >> guix shell emacs-with-bash --pure -- emacs --eval '(shell-command "./1.sh")' >> >> This one will not: >> guix shell emacs-with-bash --pure -- ./1.sh >> >> That said, the idea of patching all the pathes to binaries seems better >> to me. > > I'm not sure if I got you correctly: do you prefer to wrap Emacs with > the tools it needs in PATH, or patch the references exactly in its > source, as Liliana suggested? I'm more on the "patching the references exactly" side to avoid the problem mentioned above. > > I've tried the "exact" patch suggested by Liliana in v2. I tested that > reading a manual page was possible in a containerized environment still > worked. 👍 -- Best regards, Andrew Tropin
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#68180
; Package guix-patches
.
(Tue, 02 Jan 2024 07:08:01 GMT) Full text and rfc822 format available.Message #53 received at 68180 <at> debbugs.gnu.org (full text, mbox):
From: Andrew Tropin <andrew <at> trop.in> To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>, 68180 <at> debbugs.gnu.org Cc: Katherine Cox-Buday <cox.katherine.e+guix <at> gmail.com>, Liliana Marie Prikler <liliana.prikler <at> gmail.com>, Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: Re: [bug#68180] [PATCH v2 1/4] gnu: emacs: Patch awk, find, sed and sh commands. Date: Tue, 02 Jan 2024 10:07:07 +0300
[Message part 1 (text/plain, inline)]
On 2024-01-01 20:58, Maxim Cournoyer wrote: > Before this change, using Emacs in a pure environment, e.g. 'guix shell --pure > emacs', would cause problems such as: > > jka-compr-insert-file-contents: Uncompression program ‘sh’ not found > > And other problems were found requiring the other tools. > > * gnu/packages/emacs.scm (emacs-minimal) [arguments]: Extend the > patch-program-file-names phase. > [inputs]: Add findutils, gawk and sed. > > Change-Id: Ifb4fe2fc12ddc9eae387adb3da3f7821fab78e65 > --- > > Changes in v2: > - Patch references in place instead of wrapping via PATH Yep, I think this is a right way. Thank you very much for working on it! > > gnu/packages/emacs.scm | 56 +++++++++++++++++++++++++++++++++++++++--- > 1 file changed, 52 insertions(+), 4 deletions(-) > > diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm > index b9d9e2b891..3e8de3c2e0 100644 > --- a/gnu/packages/emacs.scm > +++ b/gnu/packages/emacs.scm > @@ -9,7 +9,7 @@ > ;;; Copyright © 2016 David Thompson <dthompson2 <at> worcester.edu> > ;;; Copyright © 2016 Nikita <nikita <at> n0.is> > ;;; Copyright © 2017 Marius Bakke <mbakke <at> fastmail.com> > -;;; Copyright © 2017, 2019, 2020 Maxim Cournoyer <maxim.cournoyer <at> gmail.com> > +;;; Copyright © 2017, 2019, 2020, 2023, 2024 Maxim Cournoyer <maxim.cournoyer <at> gmail.com> > ;;; Copyright © 2017 Alex Vong <alexvong1995 <at> gmail.com> > ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado <at> elephly.net> > ;;; Copyright © 2017, 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org> > @@ -59,6 +59,7 @@ (define-module (gnu packages emacs) > #:use-module (gnu packages fontutils) > #:use-module (gnu packages freedesktop) > #:use-module (gnu packages fribidi) > + #:use-module (gnu packages gawk) > #:use-module (gnu packages gcc) > #:use-module (gnu packages gd) > #:use-module (gnu packages gettext) > @@ -157,13 +158,60 @@ (define-public emacs-minimal > (delete-file "configure")))) > (add-after 'unpack 'patch-program-file-names > (lambda* (#:key inputs #:allow-other-keys) > + ;; Substitute "sh" command. > (substitute* '("src/callproc.c" > "lisp/term.el" > "lisp/htmlfontify.el" > + "lisp/mail/feedmail.el" > + "lisp/obsolete/pgg-pgp.el" > + "lisp/obsolete/pgg-pgp5.el" > + "lisp/obsolete/terminal.el" > + "lisp/org/ob-eval.el" > "lisp/textmodes/artist.el" > - "lisp/progmodes/sh-script.el") > + "lisp/progmodes/sh-script.el" > + "lisp/textmodes/artist.el" > + "lisp/htmlfontify.el" > + "lisp/term.el") > (("\"/bin/sh\"") > - (format #f "~s" (search-input-file inputs "/bin/sh")))) > + (format #f "~s" (search-input-file inputs "bin/sh")))) > + (substitute* '("lisp/gnus/mm-uu.el" > + "lisp/gnus/nnrss.el" > + "lisp/mail/blessmail.el") > + (("\"#!/bin/sh\\\n\"") > + (format #f "\"#!~a~%\"" (search-input-file inputs "bin/sh")))) > + (substitute* '("lisp/jka-compr.el" > + "lisp/man.el") > + (("\"sh\"") > + (format #f "~s" (search-input-file inputs "bin/sh")))) > + > + ;; Substitute "awk" command. > + (substitute* '("lisp/gnus/nnspool.el" > + "lisp/org/ob-awk.el" > + "lisp/man.el") > + (("\"awk\"") > + (format #f "~s" (search-input-file inputs "bin/awk")))) > + > + ;; Substitute "find" command. > + (substitute* '("lisp/gnus/gnus-search.el" > + "lisp/obsolete/nnir.el" > + "lisp/progmodes/executable.el" > + "lisp/progmodes/grep.el" > + "lisp/filecache.el" > + "lisp/ldefs-boot.el" > + "lisp/mpc.el") > + (("\"find\"") > + (format #f "~s" (search-input-file inputs "bin/find")))) > + > + ;; Substitute "sed" command. > + (substitute* "lisp/org/ob-sed.el" > + (("org-babel-sed-command \"sed\"") > + (format #f "org-babel-sed-command ~s" > + (search-input-file inputs "bin/sed")))) > + (substitute* "lisp/man.el" > + (("Man-sed-command \"sed\"") > + (format #f "Man-sed-command ~s" > + (search-input-file inputs "bin/sed")))) > + > (substitute* "lisp/doc-view.el" > (("\"(gs|dvipdf|ps2pdf|pdftotext)\"" all what) > (let ((replacement (false-if-exception > @@ -254,7 +302,7 @@ (define-public emacs-minimal > (copy-file > (car (find-files "bin" "^emacs-([0-9]+\\.)+[0-9]+$")) > "bin/emacs"))))))) > - (inputs (list bash-minimal coreutils gzip ncurses)) > + (inputs (list bash-minimal coreutils findutils gawk gzip ncurses sed)) > (native-inputs (list autoconf pkg-config texinfo)) > (home-page "https://www.gnu.org/software/emacs/") > (synopsis "The extensible text editor (minimal build for byte-compilation)") -- Best regards, Andrew Tropin
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#68180
; Package guix-patches
.
(Tue, 02 Jan 2024 16:35:02 GMT) Full text and rfc822 format available.Message #56 received at 68180 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: Andrew Tropin <andrew <at> trop.in> Cc: 68180 <at> debbugs.gnu.org, Katherine Cox-Buday <cox.katherine.e+guix <at> gmail.com>, Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: Re: [bug#68180] [PATCH 1/4] gnu: emacs: Add awk, find, sed and sh to PATH wrapper. Date: Tue, 02 Jan 2024 11:34:37 -0500
Hi! Andrew Tropin <andrew <at> trop.in> writes: [...] > I'm more on the "patching the references exactly" side to avoid the > problem mentioned above. OK, thanks for clarifying! You'll see this done in the v2 already sent to this ticket. -- Thanks, Maxim
andrew <at> trop.in, cox.katherine.e+guix <at> gmail.com, liliana.prikler <at> gmail.com, guix-patches <at> gnu.org
:bug#68180
; Package guix-patches
.
(Tue, 02 Jan 2024 19:41:02 GMT) Full text and rfc822 format available.Message #59 received at 68180 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: 68180 <at> debbugs.gnu.org Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: [PATCH v3 0/4] Add emacs-pde Date: Tue, 2 Jan 2024 14:39:24 -0500
This adds PDE, a Perl development environment for Emacs that provides online documentation. Changes in v3: - Use with-directory-excursion and for-each to make files writable Changes in v2: - Patch references in place instead of wrapping via PATH Maxim Cournoyer (4): gnu: emacs: Patch awk, find, sed and sh commands. build: perl: Accept Gexps for #:module-build-flags. gnu: perl-b-keywords: Update to 1.26. gnu: Add emacs-pde. gnu/packages/emacs-xyz.scm | 86 ++++++++++++++++++++++++++++++++++++++ gnu/packages/emacs.scm | 56 +++++++++++++++++++++++-- gnu/packages/perl.scm | 4 +- guix/build-system/perl.scm | 4 +- 4 files changed, 143 insertions(+), 7 deletions(-) base-commit: 8f03c69b428923dc4d51cda23b10aa7fa7d89f05 -- 2.41.0
andrew <at> trop.in, cox.katherine.e+guix <at> gmail.com, liliana.prikler <at> gmail.com, guix-patches <at> gnu.org
:bug#68180
; Package guix-patches
.
(Tue, 02 Jan 2024 19:41:02 GMT) Full text and rfc822 format available.Message #62 received at 68180 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: 68180 <at> debbugs.gnu.org Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: [PATCH v3 1/4] gnu: emacs: Patch awk, find, sed and sh commands. Date: Tue, 2 Jan 2024 14:39:25 -0500
Before this change, using Emacs in a pure environment, e.g. 'guix shell --pure emacs', would cause problems such as: jka-compr-insert-file-contents: Uncompression program ‘sh’ not found And other problems were found requiring the other tools. * gnu/packages/emacs.scm (emacs-minimal) [arguments]: Extend the patch-program-file-names phase. [inputs]: Add findutils, gawk and sed. Change-Id: Ifb4fe2fc12ddc9eae387adb3da3f7821fab78e65 --- (no changes since v2) Changes in v2: - Patch references in place instead of wrapping via PATH gnu/packages/emacs.scm | 56 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 52 insertions(+), 4 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index b9d9e2b891..3e8de3c2e0 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2016 David Thompson <dthompson2 <at> worcester.edu> ;;; Copyright © 2016 Nikita <nikita <at> n0.is> ;;; Copyright © 2017 Marius Bakke <mbakke <at> fastmail.com> -;;; Copyright © 2017, 2019, 2020 Maxim Cournoyer <maxim.cournoyer <at> gmail.com> +;;; Copyright © 2017, 2019, 2020, 2023, 2024 Maxim Cournoyer <maxim.cournoyer <at> gmail.com> ;;; Copyright © 2017 Alex Vong <alexvong1995 <at> gmail.com> ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado <at> elephly.net> ;;; Copyright © 2017, 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org> @@ -59,6 +59,7 @@ (define-module (gnu packages emacs) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages fribidi) + #:use-module (gnu packages gawk) #:use-module (gnu packages gcc) #:use-module (gnu packages gd) #:use-module (gnu packages gettext) @@ -157,13 +158,60 @@ (define-public emacs-minimal (delete-file "configure")))) (add-after 'unpack 'patch-program-file-names (lambda* (#:key inputs #:allow-other-keys) + ;; Substitute "sh" command. (substitute* '("src/callproc.c" "lisp/term.el" "lisp/htmlfontify.el" + "lisp/mail/feedmail.el" + "lisp/obsolete/pgg-pgp.el" + "lisp/obsolete/pgg-pgp5.el" + "lisp/obsolete/terminal.el" + "lisp/org/ob-eval.el" "lisp/textmodes/artist.el" - "lisp/progmodes/sh-script.el") + "lisp/progmodes/sh-script.el" + "lisp/textmodes/artist.el" + "lisp/htmlfontify.el" + "lisp/term.el") (("\"/bin/sh\"") - (format #f "~s" (search-input-file inputs "/bin/sh")))) + (format #f "~s" (search-input-file inputs "bin/sh")))) + (substitute* '("lisp/gnus/mm-uu.el" + "lisp/gnus/nnrss.el" + "lisp/mail/blessmail.el") + (("\"#!/bin/sh\\\n\"") + (format #f "\"#!~a~%\"" (search-input-file inputs "bin/sh")))) + (substitute* '("lisp/jka-compr.el" + "lisp/man.el") + (("\"sh\"") + (format #f "~s" (search-input-file inputs "bin/sh")))) + + ;; Substitute "awk" command. + (substitute* '("lisp/gnus/nnspool.el" + "lisp/org/ob-awk.el" + "lisp/man.el") + (("\"awk\"") + (format #f "~s" (search-input-file inputs "bin/awk")))) + + ;; Substitute "find" command. + (substitute* '("lisp/gnus/gnus-search.el" + "lisp/obsolete/nnir.el" + "lisp/progmodes/executable.el" + "lisp/progmodes/grep.el" + "lisp/filecache.el" + "lisp/ldefs-boot.el" + "lisp/mpc.el") + (("\"find\"") + (format #f "~s" (search-input-file inputs "bin/find")))) + + ;; Substitute "sed" command. + (substitute* "lisp/org/ob-sed.el" + (("org-babel-sed-command \"sed\"") + (format #f "org-babel-sed-command ~s" + (search-input-file inputs "bin/sed")))) + (substitute* "lisp/man.el" + (("Man-sed-command \"sed\"") + (format #f "Man-sed-command ~s" + (search-input-file inputs "bin/sed")))) + (substitute* "lisp/doc-view.el" (("\"(gs|dvipdf|ps2pdf|pdftotext)\"" all what) (let ((replacement (false-if-exception @@ -254,7 +302,7 @@ (define-public emacs-minimal (copy-file (car (find-files "bin" "^emacs-([0-9]+\\.)+[0-9]+$")) "bin/emacs"))))))) - (inputs (list bash-minimal coreutils gzip ncurses)) + (inputs (list bash-minimal coreutils findutils gawk gzip ncurses sed)) (native-inputs (list autoconf pkg-config texinfo)) (home-page "https://www.gnu.org/software/emacs/") (synopsis "The extensible text editor (minimal build for byte-compilation)") -- 2.41.0
guix-patches <at> gnu.org
:bug#68180
; Package guix-patches
.
(Tue, 02 Jan 2024 19:41:03 GMT) Full text and rfc822 format available.Message #65 received at 68180 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: 68180 <at> debbugs.gnu.org Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: [PATCH v3 2/4] build: perl: Accept Gexps for #:module-build-flags. Date: Tue, 2 Jan 2024 14:39:26 -0500
* guix/build-system/perl.scm (perl-build) [module-build-flags]: Accept gexps. Change-Id: If1daa4d9a8cf97824b75f2113f4d7d83256463ce --- (no changes since v1) guix/build-system/perl.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/guix/build-system/perl.scm b/guix/build-system/perl.scm index 7c6deb34bf..0d5493ab90 100644 --- a/guix/build-system/perl.scm +++ b/guix/build-system/perl.scm @@ -133,7 +133,9 @@ (define* (perl-build name inputs search-paths)) #:make-maker? #$make-maker? #:make-maker-flags #$make-maker-flags - #:module-build-flags #$(sexp->gexp module-build-flags) + #:module-build-flags #$(if (pair? module-build-flags) + (sexp->gexp module-build-flags) + module-build-flags) #:phases #$(if (pair? phases) (sexp->gexp phases) phases) -- 2.41.0
guix-patches <at> gnu.org
:bug#68180
; Package guix-patches
.
(Tue, 02 Jan 2024 19:41:04 GMT) Full text and rfc822 format available.Message #68 received at 68180 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: 68180 <at> debbugs.gnu.org Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: [PATCH v3 3/4] gnu: perl-b-keywords: Update to 1.26. Date: Tue, 2 Jan 2024 14:39:27 -0500
* gnu/packages/perl.scm (perl-b-keywords): Update to 1.26. Change-Id: I3fdb9acf9f257ff9583179e29b2e6a26104b7e0d --- (no changes since v1) gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 8b82c272fc..5b32d6ecec 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -927,14 +927,14 @@ (define-public perl-b-hooks-op-check (define-public perl-b-keywords (package (name "perl-b-keywords") - (version "1.22") + (version "1.26") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RU/RURBAN/B-Keywords-" version ".tar.gz")) (sha256 - (base32 "0i2ksp0w9wv1qc22hrdl3k48cww64syhmv8zf6x0kgyd4081hr56")))) + (base32 "0d7dgbw3wdaqw8g7nl86q6gqfqsnzg2a9y47vpgb0zr65xfibaid")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/B-Keywords") (synopsis "Lists of reserved barewords and symbol names") -- 2.41.0
andrew <at> trop.in, cox.katherine.e+guix <at> gmail.com, liliana.prikler <at> gmail.com, guix-patches <at> gnu.org
:bug#68180
; Package guix-patches
.
(Tue, 02 Jan 2024 19:41:04 GMT) Full text and rfc822 format available.Message #71 received at 68180 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: 68180 <at> debbugs.gnu.org Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: [PATCH v3 4/4] gnu: Add emacs-pde. Date: Tue, 2 Jan 2024 14:39:28 -0500
* gnu/packages/emacs-xyz.scm (emacs-pde): New variable. Change-Id: Icab5d8acf9d441bb4a832a82e75432d64cc77ba7 --- Changes in v3: - Use with-directory-excursion and for-each to make files writable gnu/packages/emacs-xyz.scm | 86 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index ad02b91c56..67a690b072 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -167,6 +167,7 @@ (define-module (gnu packages emacs-xyz) #:use-module (guix build-system cmake) #:use-module (guix build-system copy) #:use-module (guix build-system emacs) + #:use-module (guix build-system perl) #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages admin) @@ -271,6 +272,7 @@ (define-module (gnu packages emacs-xyz) #:use-module (gnu packages erlang) #:use-module (gnu packages statistics) #:use-module (gnu packages libcanberra) + #:use-module (gnu packages texinfo) #:use-module (gnu packages virtualization) #:use-module (gnu packages web-browsers) #:use-module (gnu packages wget) @@ -12269,6 +12271,90 @@ (define-public emacs-hl-todo regexp that matches all known keywords.") (license license:gpl3+))) +(define-public emacs-pde + (package + (name "emacs-pde") + (version "0.2.17") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/Y/YE/YEWENBIN/Emacs-PDE-v" + version ".tar.gz")) + (modules '((guix build utils))) + (snippet '(begin + ;; Delete pre-generated Texinfo and HTML documentation. + (for-each delete-file '("lisp/doc/pde.info" + "lisp/doc/pde.html")) + (delete-file-recursively "lisp/doc/pde"))) + (sha256 + (base32 "1i82isha839c8lx73kgp43v7gxr2adsr1yfw1glyxvi62w5ab9qz")))) + (build-system perl-build-system) + (arguments + (list + #:imported-modules `(,@%emacs-build-system-modules + ,@%perl-build-system-modules) + #:modules '((guix build perl-build-system) + (guix build emacs-utils) + (guix build utils)) + #:module-build-flags + #~(list (string-append "--elispdir=" #$output + "/share/emacs/site-lisp/pde") + "--verbose") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-commands + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "lisp" + (for-each make-file-writable + '("pde-vars.el" "perlcritic.el" "perldoc.el" + "perltidy.el")) + (emacs-substitute-variables "pde-vars.el" + ("pde-perl-program" + (search-input-file inputs "bin/perl")) + ("pde-perl-version" + #$(package-version (this-package-input "perl"))) + ("pde-perldoc-program" + (search-input-file inputs "bin/perldoc")) + ("pde-find-program" + (search-input-file inputs "bin/find"))) + (emacs-substitute-variables "perlcritic.el" + ("perlcritic-program" + (search-input-file inputs "bin/perlcritic"))) + (emacs-substitute-variables "perldoc.el" + ("perldoc-cache-el" + "(expand-file-name \"~/.cache/perldoc-cache.el\"") + ("perldoc-pod2man" + (search-input-file inputs "bin/pod2man"))) + (emacs-substitute-variables "perltidy.el" + ("perltidy-program" + (search-input-file inputs "bin/perltidy"))) + (substitute* "tools/perldoc-cache.pl" + (("`perldoc") + (string-append + "`" (search-input-file inputs "bin/perldoc"))))))) + (add-after 'build 'generate-doc + (lambda _ + (invoke "./Build" "info"))) + (add-after 'install 'move-doc + (lambda _ + (let ((info (string-append #$output "/share/info/pde.info"))) + (mkdir-p (dirname info)) + (rename-file (string-append + #$output + "/share/emacs/site-lisp/pde/doc/pde.info") + info))))))) + (native-inputs (list emacs-minimal perl-module-build texinfo)) + (inputs (list findutils perl perl-critic)) + (home-page "https://metacpan.org/release/Emacs-PDE") + (synopsis "Perl Development Environment for Emacs") + (description "Emacs::PDE is a collection of Emacs Lisp extensions to +facilitate Perl programming. CPerl Mode has provided an excellent environment +for coding; Emacs::PDE provides other common tools such as creating files +using templates, smart compiling, @command{perldoc}, @command{perltidy}, +debugger, tags tree view and so on. PDE also provides an easy configuration +for Perl programing, and a tutorial for novices to start using Emacs.") + (license license:perl-license))) + (define-public emacs-perspective (package (name "emacs-perspective") -- 2.41.0
guix-patches <at> gnu.org
:bug#68180
; Package guix-patches
.
(Tue, 02 Jan 2024 19:42:02 GMT) Full text and rfc822 format available.Message #74 received at 68180 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: Liliana Marie Prikler <liliana.prikler <at> gmail.com> Cc: 68180 <at> debbugs.gnu.org, Katherine Cox-Buday <cox.katherine.e+guix <at> gmail.com>, Andrew Tropin <andrew <at> trop.in> Subject: Re: [bug#68180] [PATCH v2 4/4] gnu: Add emacs-pde. Date: Tue, 02 Jan 2024 14:41:08 -0500
Hello, Liliana Marie Prikler <liliana.prikler <at> gmail.com> writes: [...] >> + (make-file-writable "lisp/perltidy.el") >> + (emacs-substitute-variables "lisp/perltidy.el" >> + ("perltidy-program" >> + (search-input-file inputs "bin/perltidy"))) >> + (substitute* "lisp/tools/perldoc-cache.pl" >> + (("`perldoc") >> + (string-append >> + "`" (search-input-file inputs "bin/perldoc")))))) > I'd use for-each to make the files writable, possibly also a directory > excursion. Done, see v3. Thanks for the review! -- Maxim
Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
:Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
:Message #79 received at 68180-done <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: Andrew Tropin <andrew <at> trop.in> Cc: 68180-done <at> debbugs.gnu.org, Katherine Cox-Buday <cox.katherine.e+guix <at> gmail.com>, Liliana Marie Prikler <liliana.prikler <at> gmail.com> Subject: Re: [bug#68180] [PATCH 1/4] gnu: emacs: Add awk, find, sed and sh to PATH wrapper. Date: Thu, 18 Jan 2024 22:17:23 -0500
Hi, Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes: > Hi! > > Andrew Tropin <andrew <at> trop.in> writes: > > [...] > >> I'm more on the "patching the references exactly" side to avoid the >> problem mentioned above. > > OK, thanks for clarifying! You'll see this done in the v2 already sent > to this ticket. I've now applied this to master, in its exact variant posted in v2. -- Thanks, Maxim
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Fri, 16 Feb 2024 12:24:12 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.