On Mon, Aug 30, 2021 at 03:57:39PM -0400, Maxim Cournoyer wrote: > Hello! > > Efraim Flashner 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 רנשלפ םירפא GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted