GNU bug report logs - #50162
[PATCH] gnu: global: Add ctags support.

Previous Next

Package: guix-patches;

Reported by: Efraim Flashner <efraim <at> flashner.co.il>

Date: Sun, 22 Aug 2021 08:07:02 UTC

Severity: normal

Tags: patch

Done: Efraim Flashner <efraim <at> flashner.co.il>

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 50162 in the body.
You can then email your comments to 50162 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


Report forwarded to guix-patches <at> gnu.org:
bug#50162; Package guix-patches. (Sun, 22 Aug 2021 08:07:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Efraim Flashner <efraim <at> flashner.co.il>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sun, 22 Aug 2021 08:07:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: global: Add ctags support.
Date: Sun, 22 Aug 2021 11:04:14 +0300
[Message part 1 (text/plain, inline)]
* gnu/packages/code.scm (global)[inputs]: Add bash-minimal,
universal-ctags, python-pygments.
[arguments]: Add configure-flags to find ctags. Add phases to install
plugins and to wrap python script with PYTHONPATH.
---

I've been using this variant of global for a couple of weeks now to get
global to work with Guix.

---

 gnu/packages/code.scm | 34 +++++++++++++++++++++++++++++-----
 1 file changed, 29 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index a414cde3de..04b354b71e 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -64,6 +64,7 @@
   #:use-module (gnu packages perl-compression)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages texinfo)
@@ -137,17 +138,26 @@ highlighting your own code that seemed comprehensible when you wrote it.")
               (base32
                "0g4aslm2zajq605py11s4rs1wdnzcqhkh7bc2xl5az42adzzg839"))))
     (build-system gnu-build-system)
-    (inputs `(("coreutils" ,coreutils)
-              ("ncurses" ,ncurses)
-              ("libltdl" ,libltdl)
-              ("sqlite" ,sqlite)
-              ("python-wrapper" ,python-wrapper)))
+    (inputs
+      `(("bash" ,bash-minimal)                    ; for wrap-program
+        ("coreutils" ,coreutils)
+        ("ctags" ,universal-ctags)
+        ("libltdl" ,libltdl)
+        ("ncurses" ,ncurses)
+        ("python-pygments" ,python-pygments)
+        ("python-wrapper" ,python-wrapper)
+        ("sqlite" ,sqlite)))
     (arguments
      `(#:configure-flags
        (list (string-append "--with-ncurses="
                             (assoc-ref %build-inputs "ncurses"))
              (string-append "--with-sqlite3="
                             (assoc-ref %build-inputs "sqlite"))
+             (string-append "--with-universal-ctags="
+                            (assoc-ref %build-inputs "ctags") "/bin/ctags")
+             (string-append "--sysconfdir="
+                            (assoc-ref %outputs "out") "/share/gtags")
+             "--localstatedir=/var"         ; This needs to be a writable location.
              "--disable-static")
 
        #:phases
@@ -158,6 +168,20 @@ highlighting your own code that seemed comprehensible when you wrote it.")
                            (assoc-ref inputs "coreutils") "/bin/echo")))
                (substitute* "globash/globash.in"
                  (("/bin/echo") echo)))))
+         (add-after 'post-install 'install-plugins
+           (lambda _
+             (with-directory-excursion "plugin-factory"
+               (invoke "make" "install"))))
+         (add-before 'install 'dont-install-to-/var
+           (lambda _
+             (substitute* "gozilla/Makefile"
+               (("DESTDIR\\)\\$\\{localstatedir\\}") "TMPDIR)"))))
+         (add-after 'install-plugins 'wrap-program
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (wrap-program
+               (string-append (assoc-ref outputs "out")
+                              "/share/gtags/script/pygments_parser.py")
+               `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))))
         (add-after 'install 'post-install
           (lambda* (#:key outputs #:allow-other-keys)
             ;; Install the plugin files in the right place.

base-commit: 9e3b68203cba2b1bd96e524d3ae9dfc3336a72f7
-- 
2.33.0

[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#50162; Package guix-patches. (Mon, 30 Aug 2021 19:58:01 GMT) Full text and rfc822 format available.

Message #8 received at 50162 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Efraim Flashner <efraim <at> flashner.co.il>
Cc: 50162 <at> debbugs.gnu.org
Subject: Re: bug#50162: [PATCH] gnu: global: Add ctags support.
Date: Mon, 30 Aug 2021 15:57:39 -0400
Hello!

Efraim Flashner <efraim <at> flashner.co.il> writes:

> * gnu/packages/code.scm (global)[inputs]: Add bash-minimal,
> universal-ctags, python-pygments.
> [arguments]: Add configure-flags to find ctags. Add phases to install
> plugins and to wrap python script with PYTHONPATH.
> ---
>
> I've been using this variant of global for a couple of weeks now to get
> global to work with Guix.
>
> ---
>
>  gnu/packages/code.scm | 34 +++++++++++++++++++++++++++++-----
>  1 file changed, 29 insertions(+), 5 deletions(-)
>
> diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
> index a414cde3de..04b354b71e 100644
> --- a/gnu/packages/code.scm
> +++ b/gnu/packages/code.scm
> @@ -64,6 +64,7 @@
>    #:use-module (gnu packages perl-compression)
>    #:use-module (gnu packages pkg-config)
>    #:use-module (gnu packages python)
> +  #:use-module (gnu packages python-xyz)
>    #:use-module (gnu packages serialization)
>    #:use-module (gnu packages sqlite)
>    #:use-module (gnu packages texinfo)
> @@ -137,17 +138,26 @@ highlighting your own code that seemed comprehensible when you wrote it.")
>                (base32
>                 "0g4aslm2zajq605py11s4rs1wdnzcqhkh7bc2xl5az42adzzg839"))))
>      (build-system gnu-build-system)
> -    (inputs `(("coreutils" ,coreutils)
> -              ("ncurses" ,ncurses)
> -              ("libltdl" ,libltdl)
> -              ("sqlite" ,sqlite)
> -              ("python-wrapper" ,python-wrapper)))
> +    (inputs
> +      `(("bash" ,bash-minimal)                    ; for wrap-program

This is news to me; must we now provide bash-minimal every time
wrap-program is used?

> +        ("coreutils" ,coreutils)
> +        ("ctags" ,universal-ctags)
> +        ("libltdl" ,libltdl)
> +        ("ncurses" ,ncurses)
> +        ("python-pygments" ,python-pygments)
> +        ("python-wrapper" ,python-wrapper)
> +        ("sqlite" ,sqlite)))
>      (arguments
>       `(#:configure-flags
>         (list (string-append "--with-ncurses="
>                              (assoc-ref %build-inputs "ncurses"))
>               (string-append "--with-sqlite3="
>                              (assoc-ref %build-inputs "sqlite"))
> +             (string-append "--with-universal-ctags="
> +                            (assoc-ref %build-inputs "ctags") "/bin/ctags")
> +             (string-append "--sysconfdir="
> +                            (assoc-ref %outputs "out") "/share/gtags")
> +             "--localstatedir=/var"         ; This needs to be a writable location.
>               "--disable-static")
>  
>         #:phases
> @@ -158,6 +168,20 @@ highlighting your own code that seemed comprehensible when you wrote it.")
>                             (assoc-ref inputs "coreutils") "/bin/echo")))
>                 (substitute* "globash/globash.in"
>                   (("/bin/echo") echo)))))
> +         (add-after 'post-install 'install-plugins
> +           (lambda _
> +             (with-directory-excursion "plugin-factory"
> +               (invoke "make" "install"))))
> +         (add-before 'install 'dont-install-to-/var
> +           (lambda _
> +             (substitute* "gozilla/Makefile"
> +               (("DESTDIR\\)\\$\\{localstatedir\\}") "TMPDIR)"))))
> +         (add-after 'install-plugins 'wrap-program
> +           (lambda* (#:key inputs outputs #:allow-other-keys)
> +             (wrap-program
> +               (string-append (assoc-ref outputs "out")
> +                              "/share/gtags/script/pygments_parser.py")
> +               `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))))
>          (add-after 'install 'post-install
>            (lambda* (#:key outputs #:allow-other-keys)
>              ;; Install the plugin files in the right place.

I have built it (but not tested it), but the rest this LGTM!  Feel free
to push.

Thank you,

Maxim




Reply sent to Efraim Flashner <efraim <at> flashner.co.il>:
You have taken responsibility. (Tue, 31 Aug 2021 10:14:01 GMT) Full text and rfc822 format available.

Notification sent to Efraim Flashner <efraim <at> flashner.co.il>:
bug acknowledged by developer. (Tue, 31 Aug 2021 10:14:01 GMT) Full text and rfc822 format available.

Message #13 received at 50162-done <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 50162-done <at> debbugs.gnu.org
Subject: Re: bug#50162: [PATCH] gnu: global: Add ctags support.
Date: Tue, 31 Aug 2021 13:11:14 +0300
[Message part 1 (text/plain, inline)]
On Mon, Aug 30, 2021 at 03:57:39PM -0400, Maxim Cournoyer wrote:
> Hello!
> 
> Efraim Flashner <efraim <at> flashner.co.il> writes:
> 
> > * gnu/packages/code.scm (global)[inputs]: Add bash-minimal,
> > universal-ctags, python-pygments.
> > [arguments]: Add configure-flags to find ctags. Add phases to install
> > plugins and to wrap python script with PYTHONPATH.
> > ---
> >
> > I've been using this variant of global for a couple of weeks now to get
> > global to work with Guix.
> >
> > ---
> >
> >  gnu/packages/code.scm | 34 +++++++++++++++++++++++++++++-----
> >  1 file changed, 29 insertions(+), 5 deletions(-)
> >
> > diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
> > index a414cde3de..04b354b71e 100644
> > --- a/gnu/packages/code.scm
> > +++ b/gnu/packages/code.scm
> > @@ -64,6 +64,7 @@
> >    #:use-module (gnu packages perl-compression)
> >    #:use-module (gnu packages pkg-config)
> >    #:use-module (gnu packages python)
> > +  #:use-module (gnu packages python-xyz)
> >    #:use-module (gnu packages serialization)
> >    #:use-module (gnu packages sqlite)
> >    #:use-module (gnu packages texinfo)
> > @@ -137,17 +138,26 @@ highlighting your own code that seemed comprehensible when you wrote it.")
> >                (base32
> >                 "0g4aslm2zajq605py11s4rs1wdnzcqhkh7bc2xl5az42adzzg839"))))
> >      (build-system gnu-build-system)
> > -    (inputs `(("coreutils" ,coreutils)
> > -              ("ncurses" ,ncurses)
> > -              ("libltdl" ,libltdl)
> > -              ("sqlite" ,sqlite)
> > -              ("python-wrapper" ,python-wrapper)))
> > +    (inputs
> > +      `(("bash" ,bash-minimal)                    ; for wrap-program
> 
> This is news to me; must we now provide bash-minimal every time
> wrap-program is used?

Its new, I think the aim was to make sure that even if a package is
cross compiled it uses the correct bash when wrapping the
program/script.

> > +        ("coreutils" ,coreutils)
> > +        ("ctags" ,universal-ctags)
> > +        ("libltdl" ,libltdl)
> > +        ("ncurses" ,ncurses)
> > +        ("python-pygments" ,python-pygments)
> > +        ("python-wrapper" ,python-wrapper)
> > +        ("sqlite" ,sqlite)))
> >      (arguments
> >       `(#:configure-flags
> >         (list (string-append "--with-ncurses="
> >                              (assoc-ref %build-inputs "ncurses"))
> >               (string-append "--with-sqlite3="
> >                              (assoc-ref %build-inputs "sqlite"))
> > +             (string-append "--with-universal-ctags="
> > +                            (assoc-ref %build-inputs "ctags") "/bin/ctags")
> > +             (string-append "--sysconfdir="
> > +                            (assoc-ref %outputs "out") "/share/gtags")
> > +             "--localstatedir=/var"         ; This needs to be a writable location.
> >               "--disable-static")
> >  
> >         #:phases
> > @@ -158,6 +168,20 @@ highlighting your own code that seemed comprehensible when you wrote it.")
> >                             (assoc-ref inputs "coreutils") "/bin/echo")))
> >                 (substitute* "globash/globash.in"
> >                   (("/bin/echo") echo)))))
> > +         (add-after 'post-install 'install-plugins
> > +           (lambda _
> > +             (with-directory-excursion "plugin-factory"
> > +               (invoke "make" "install"))))
> > +         (add-before 'install 'dont-install-to-/var
> > +           (lambda _
> > +             (substitute* "gozilla/Makefile"
> > +               (("DESTDIR\\)\\$\\{localstatedir\\}") "TMPDIR)"))))
> > +         (add-after 'install-plugins 'wrap-program
> > +           (lambda* (#:key inputs outputs #:allow-other-keys)
> > +             (wrap-program
> > +               (string-append (assoc-ref outputs "out")
> > +                              "/share/gtags/script/pygments_parser.py")
> > +               `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))))
> >          (add-after 'install 'post-install
> >            (lambda* (#:key outputs #:allow-other-keys)
> >              ;; Install the plugin files in the right place.
> 
> I have built it (but not tested it), but the rest this LGTM!  Feel free
> to push.
> 
> Thank you,
> 
> Maxim

Thanks! Patch pushed.

-- 
Efraim Flashner   <efraim <at> flashner.co.il>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#50162; Package guix-patches. (Tue, 31 Aug 2021 14:32:02 GMT) Full text and rfc822 format available.

Message #16 received at 50162-done <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Efraim Flashner <efraim <at> flashner.co.il>
Cc: 50162-done <at> debbugs.gnu.org
Subject: Re: bug#50162: [PATCH] gnu: global: Add ctags support.
Date: Tue, 31 Aug 2021 10:31:20 -0400
Hello Efraim,

Efraim Flashner <efraim <at> flashner.co.il> writes:

> On Mon, Aug 30, 2021 at 03:57:39PM -0400, Maxim Cournoyer wrote:
>> Hello!
>> 
>> Efraim Flashner <efraim <at> flashner.co.il> writes:
>> 
>> > * gnu/packages/code.scm (global)[inputs]: Add bash-minimal,
>> > universal-ctags, python-pygments.
>> > [arguments]: Add configure-flags to find ctags. Add phases to install
>> > plugins and to wrap python script with PYTHONPATH.
>> > ---
>> >
>> > I've been using this variant of global for a couple of weeks now to get
>> > global to work with Guix.
>> >
>> > ---
>> >
>> >  gnu/packages/code.scm | 34 +++++++++++++++++++++++++++++-----
>> >  1 file changed, 29 insertions(+), 5 deletions(-)
>> >
>> > diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
>> > index a414cde3de..04b354b71e 100644
>> > --- a/gnu/packages/code.scm
>> > +++ b/gnu/packages/code.scm
>> > @@ -64,6 +64,7 @@
>> >    #:use-module (gnu packages perl-compression)
>> >    #:use-module (gnu packages pkg-config)
>> >    #:use-module (gnu packages python)
>> > +  #:use-module (gnu packages python-xyz)
>> >    #:use-module (gnu packages serialization)
>> >    #:use-module (gnu packages sqlite)
>> >    #:use-module (gnu packages texinfo)
>> > @@ -137,17 +138,26 @@ highlighting your own code that seemed comprehensible when you wrote it.")
>> >                (base32
>> >                 "0g4aslm2zajq605py11s4rs1wdnzcqhkh7bc2xl5az42adzzg839"))))
>> >      (build-system gnu-build-system)
>> > -    (inputs `(("coreutils" ,coreutils)
>> > -              ("ncurses" ,ncurses)
>> > -              ("libltdl" ,libltdl)
>> > -              ("sqlite" ,sqlite)
>> > -              ("python-wrapper" ,python-wrapper)))
>> > +    (inputs
>> > +      `(("bash" ,bash-minimal)                    ; for wrap-program
>> 
>> This is news to me; must we now provide bash-minimal every time
>> wrap-program is used?
>
> Its new, I think the aim was to make sure that even if a package is
> cross compiled it uses the correct bash when wrapping the
> program/script.

I see.  It's good that it's explicit, but on the other hand, it's a bit
tedious or error prone to have to remember to do so everywhere.  I'll
give it some time!

Thank you,

Maxim




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 29 Sep 2021 11:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 209 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.