unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* Newbie: How to edit a faulty package definition?
@ 2023-06-25  3:30 Rodrigo Morales
  2023-06-25  4:57 ` Hilton Chain
  2023-06-26 22:21 ` Skyler Ferris
  0 siblings, 2 replies; 3+ messages in thread
From: Rodrigo Morales @ 2023-06-25  3:30 UTC (permalink / raw)
  To: help-guix

Table of Contents
_________________

1. The context
2. The workaround
3. The question
4. Reason why I don't use the `-L' flag


1 The context
=============

  I recently executed `guix pull' and now when I'm trying to install
  `emacs-subed', I get the following error:

  ,----
  | guix package -i emacs-subed
  `----

  ,----
  | The following package will be installed:
  |    emacs-subed 1.2.3
  |
  | The following derivations will be built:
  |   /gnu/store/4s3xv6gqkzaa6gkajhgvxb0dr6wrywcy-profile.drv
  |   /gnu/store/k4h4lnfl0ynd9yrpbkmd423m3k8xwzyx-emacs-subed-1.2.3.drv
  |
  | building /gnu/store/k4h4lnfl0ynd9yrpbkmd423m3k8xwzyx-emacs-subed-1.2.3.drv...
  | builder for
`/gnu/store/k4h4lnfl0ynd9yrpbkmd423m3k8xwzyx-emacs-subed-1.2.3.drv'
failed with exit code 1
  | build of /gnu/store/k4h4lnfl0ynd9yrpbkmd423m3k8xwzyx-emacs-subed-1.2.3.drv
failed
  | View build log at
'/var/log/guix/drvs/k4/h4lnfl0ynd9yrpbkmd423m3k8xwzyx-emacs-subed-1.2.3.drv.gz'.
  | cannot build derivation
`/gnu/store/4s3xv6gqkzaa6gkajhgvxb0dr6wrywcy-profile.drv': 1
dependencies couldn't be built
  | guix package: error: build of
`/gnu/store/4s3xv6gqkzaa6gkajhgvxb0dr6wrywcy-profile.drv' failed
  `----

  The build log is shown below.

  ,----
  | zcat /var/log/guix/drvs/k4/h4lnfl0ynd9yrpbkmd423m3k8xwzyx-emacs-subed-1.2.3.drv.gz
  `----

  ,----
  | starting phase `set-SOURCE-DATE-EPOCH'
  | phase `set-SOURCE-DATE-EPOCH' succeeded after 0.0 seconds
  | starting phase `set-paths'
  | environment variable `PATH' set to
`/gnu/store/1s82ps0dyi2xw5d3bi6g96lk90d965lf-emacs-minimal-28.2/bin:/gnu/store/sxx22f98vfbavcqmdksm6as8fvskpxiw-tar-1.34/bin:/gnu/store/x24bm49ag5dvki72mjdz195bfb89nrnb-gzip-1.12/bin:/gnu/store/j8wlfmlmfvpbza6is9wv9xsd8psrxn00-bzip2-1.0.8/bin:/gnu/store/gr0sy0m1mv36qv54idm6cn10l3mngshq-file-5.44/bin:/gnu/store/zmcf5kpqiighkbh7wslf91qdjwj06yr1-diffutils-3.8/bin:/gnu/store/210yfax18r2g2inxrml9435ikhfcca6m-patch-2.7.6/bin:/gnu/store/c8jyph2lxw0m9na34fg8h70n4nnnz7is-findutils-4.9.0/bin:/gnu/store/hc05d76f1j3iz3v2bs5jz4fpljl1r4dj-gawk-5.2.1/bin:/gnu/store/xxcfsimvxz7z4dj593gnqbkzc6picwzq-sed-4.8/bin:/gnu/store/yrv5f70mn83a876b78i5s79dd2hsh0zf-grep-3.8/bin:/gnu/store/6k1yys9wqrfn4y41ic1win8gpnimncwj-xz-5.2.8/bin:/gnu/store/a5i8avx826brw5grn3n4qv40g514505c-coreutils-9.1/bin:/gnu/store/wj7casda7rb55rvqjnpm0bm7a2zm6618-make-4.3/bin:/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin:/gnu/store/na1dpbbcxjaa3n8wkwrfpch476f90hlf-ld-wrapper-0/bin:/gnu/store/zh4x65snfis7svs6906gj1z8i7dx2j3m-binutils-2.38/bin:/gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0/bin:/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/bin:/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/sbin'
  | environment variable `EMACSLOADPATH' set to
`/gnu/store/1s82ps0dyi2xw5d3bi6g96lk90d965lf-emacs-minimal-28.2/share/emacs/site-lisp'
  | environment variable `EMACSNATIVELOADPATH' unset
  | environment variable `INFOPATH' set to
`/gnu/store/1s82ps0dyi2xw5d3bi6g96lk90d965lf-emacs-minimal-28.2/share/info:/gnu/store/sxx22f98vfbavcqmdksm6as8fvskpxiw-tar-1.34/share/info:/gnu/store/x24bm49ag5dvki72mjdz195bfb89nrnb-gzip-1.12/share/info:/gnu/store/zmcf5kpqiighkbh7wslf91qdjwj06yr1-diffutils-3.8/share/info:/gnu/store/c8jyph2lxw0m9na34fg8h70n4nnnz7is-findutils-4.9.0/share/info:/gnu/store/hc05d76f1j3iz3v2bs5jz4fpljl1r4dj-gawk-5.2.1/share/info:/gnu/store/xxcfsimvxz7z4dj593gnqbkzc6picwzq-sed-4.8/share/info:/gnu/store/yrv5f70mn83a876b78i5s79dd2hsh0zf-grep-3.8/share/info:/gnu/store/a5i8avx826brw5grn3n4qv40g514505c-coreutils-9.1/share/info:/gnu/store/wj7casda7rb55rvqjnpm0bm7a2zm6618-make-4.3/share/info:/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/share/info:/gnu/store/zh4x65snfis7svs6906gj1z8i7dx2j3m-binutils-2.38/share/info:/gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0/share/info:/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/share/info'
  | environment variable `TREE_SITTER_GRAMMAR_PATH' unset
  | environment variable `BASH_LOADABLES_PATH' unset
  | environment variable `C_INCLUDE_PATH' set to
`/gnu/store/1s82ps0dyi2xw5d3bi6g96lk90d965lf-emacs-minimal-28.2/include:/gnu/store/j8wlfmlmfvpbza6is9wv9xsd8psrxn00-bzip2-1.0.8/include:/gnu/store/gr0sy0m1mv36qv54idm6cn10l3mngshq-file-5.44/include:/gnu/store/hc05d76f1j3iz3v2bs5jz4fpljl1r4dj-gawk-5.2.1/include:/gnu/store/6k1yys9wqrfn4y41ic1win8gpnimncwj-xz-5.2.8/include:/gnu/store/wj7casda7rb55rvqjnpm0bm7a2zm6618-make-4.3/include:/gnu/store/zh4x65snfis7svs6906gj1z8i7dx2j3m-binutils-2.38/include:/gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0/include:/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/include:/gnu/store/5iklcps70c0sfkxvlrhg8jhf3q4h18bj-linux-libre-headers-5.15.49/include'
  | environment variable `CPLUS_INCLUDE_PATH' set to
`/gnu/store/1s82ps0dyi2xw5d3bi6g96lk90d965lf-emacs-minimal-28.2/include:/gnu/store/j8wlfmlmfvpbza6is9wv9xsd8psrxn00-bzip2-1.0.8/include:/gnu/store/gr0sy0m1mv36qv54idm6cn10l3mngshq-file-5.44/include:/gnu/store/hc05d76f1j3iz3v2bs5jz4fpljl1r4dj-gawk-5.2.1/include:/gnu/store/6k1yys9wqrfn4y41ic1win8gpnimncwj-xz-5.2.8/include:/gnu/store/wj7casda7rb55rvqjnpm0bm7a2zm6618-make-4.3/include:/gnu/store/zh4x65snfis7svs6906gj1z8i7dx2j3m-binutils-2.38/include:/gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0/include/c++:/gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0/include:/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/include:/gnu/store/5iklcps70c0sfkxvlrhg8jhf3q4h18bj-linux-libre-headers-5.15.49/include'
  | environment variable `LIBRARY_PATH' set to
`/gnu/store/1s82ps0dyi2xw5d3bi6g96lk90d965lf-emacs-minimal-28.2/lib:/gnu/store/j8wlfmlmfvpbza6is9wv9xsd8psrxn00-bzip2-1.0.8/lib:/gnu/store/gr0sy0m1mv36qv54idm6cn10l3mngshq-file-5.44/lib:/gnu/store/hc05d76f1j3iz3v2bs5jz4fpljl1r4dj-gawk-5.2.1/lib:/gnu/store/6k1yys9wqrfn4y41ic1win8gpnimncwj-xz-5.2.8/lib:/gnu/store/zh4x65snfis7svs6906gj1z8i7dx2j3m-binutils-2.38/lib:/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib:/gnu/store/l0yryi5jsa1grnvw01c9nkz9c81cv224-glibc-2.35-static/lib:/gnu/store/visfdda934gvivwihwhlm63fdqhhcc8a-glibc-utf8-locales-2.35/lib'
  | environment variable `GUIX_LOCPATH' set to
`/gnu/store/visfdda934gvivwihwhlm63fdqhhcc8a-glibc-utf8-locales-2.35/lib/locale'
  | phase `set-paths' succeeded after 0.0 seconds
  | starting phase `install-locale'
  | using 'en_US.utf8' locale for category "LC_ALL"
  | phase `install-locale' succeeded after 0.0 seconds
  | starting phase `unpack'
  | subed-1.2.3/
  | subed-1.2.3/README.org
  | subed-1.2.3/
  | subed-1.2.3/subed-common.el
  | subed-1.2.3/subed-waveform.el
  | subed-1.2.3/subed-align.el.license
  | subed-1.2.3/subed-common.el.license
  | subed-1.2.3/subed-ass.el
  | subed-1.2.3/subed-mpv.el.license
  | subed-1.2.3/subed-vtt.el.license
  | subed-1.2.3/subed-ass.el.license
  | subed-1.2.3/subed.el.license
  | subed-1.2.3/subed-word-data.el
  | subed-1.2.3/subed-waveform.el.license
  | subed-1.2.3/subed-srt.el.license
  | subed-1.2.3/subed-vtt.el
  | subed-1.2.3/subed-debug.el
  | subed-1.2.3/subed-tsv.el
  | subed-1.2.3/subed-config.el.license
  | subed-1.2.3/subed-debug.el.license
  | subed-1.2.3/subed-align.el
  | subed-1.2.3/subed-word-data.el.license
  | subed-1.2.3/subed-srt.el
  | subed-1.2.3/subed-mpv.el
  | subed-1.2.3/subed-config.el
  | subed-1.2.3/subed.el
  | subed-1.2.3/README-elpa
  | subed-1.2.3/Makefile
  | subed-1.2.3/screenshot.jpg
  | subed-1.2.3/tests/
  | subed-1.2.3/tests/test-subed-vtt.el.license
  | subed-1.2.3/tests/test-subed-vtt.el
  | subed-1.2.3/tests/test-subed-mpv.el.license
  | subed-1.2.3/tests/test-subed-ass.el.license
  | subed-1.2.3/tests/test-subed-common.el
  | subed-1.2.3/tests/test-subed-mpv.el
  | subed-1.2.3/tests/test-subed-srt.el
  | subed-1.2.3/tests/undercover-init.el
  | subed-1.2.3/tests/test-subed-srt.el.license
  | subed-1.2.3/tests/test-subed-tsv.el
  | subed-1.2.3/tests/test-subed-common.el.license
  | subed-1.2.3/tests/test-subed-ass.el
  | subed-1.2.3/NEWS.org
  | subed-1.2.3/subed-pkg.el
  | subed-1.2.3/LICENSES/
  | subed-1.2.3/LICENSES/GPL-3.0-or-later.txt
  | subed-1.2.3/LICENSES/CC0-1.0.txt
  | subed-1.2.3/AUTHORS.org
  | subed-1.2.3/screenshot.jpg.license
  | subed-1.2.3/.dir-locals.el
  | phase `unpack' succeeded after 0.0 seconds
  | starting phase `expand-load-path'
  | source directory
"/tmp/guix-build-emacs-subed-1.2.3.drv-0/subed-1.2.3" prepended to the
`EMACSLOADPATH' environment variable
  | phase `expand-load-path' succeeded after 0.0 seconds
  | starting phase `add-install-to-native-load-path'
  | phase `add-install-to-native-load-path' succeeded after 0.0 seconds
  | starting phase `patch-usr-bin-file'
  | phase `patch-usr-bin-file' succeeded after 0.0 seconds
  | starting phase `patch-source-shebangs'
  | phase `patch-source-shebangs' succeeded after 0.0 seconds
  | starting phase `patch-generated-file-shebangs'
  | phase `patch-generated-file-shebangs' succeeded after 0.0 seconds
  | starting phase `check'
  | emacs -batch -f package-initialize -L . -f buttercup-run-discover
  | Debugger entered--Lisp error: (void-function buttercup-run-discover)
  |   buttercup-run-discover()
  |   command-line-1(("-f" "package-initialize" "-L" "." "-f"
"buttercup-run-discover"))
  |   command-line()
  |   normal-top-level()
  |
  | make: *** [Makefile:20: test-only] Error 255
  | error: in phase 'check': uncaught exception:
  | %exception #<&invoke-error program: "make" arguments: ("test-only"
"-j" "16") exit-status: 2 term-signal: #f stop-signal: #f>
  | phase `check' failed after 0.1 seconds
  | command "make" "test-only" "-j" "16" failed with status 2
  `----

  As we can see above, the build process fails because the function
  `buttercup-run-discover' is not found. [This commit] deleted
  `emacs-buttercup' from `native-inputs' in the package definition. I
  believe this is the cuase of the problem.


[This commit]
<https://git.savannah.gnu.org/cgit/guix.git/commit/gnu/packages/emacs-xyz.scm?id=79a58ae400caea6dbdf2a4193c732b5d3f3256b6>


2 The workaround
================

  I solved this problem by defining my own package and using the `-L'
  flag. See package definition below. Note that I added
  `emacs-buttercup' to `native-inputs'.

  ,----
  | cat ~/my/git-repos/guix-packages/my/test-2.scm
  `----

  ,----
  | (define-module (my test-2)
  |   #:use-module (guix packages)
  |   #:use-module (guix download)
  |   ;; emacs-build-system
  |   #:use-module (guix build-system emacs)
  |   ;; emacs-buttercup
  |   #:use-module (gnu packages emacs-xyz)
  |   #:use-module (guix gexp)
  |   #:use-module ((guix licenses) #:prefix license:))
  |
  | (define-public emacs-subed
  |   (package
  |     (name "emacs-subed")
  |     (version "1.2.3")
  |     (source (origin
  |               (method url-fetch)
  |               (uri (string-append "https://elpa.nongnu.org/nongnu/subed-"
  |                                   version ".tar"))
  |               (sha256
  |                (base32
  |                 "0np4wp7pmpayz8r9p3cl7z1i7yfq8xmkn862n9d104szf4ffk0if"))))
  |     (arguments
  |      (list
  |       #:tests? #t
  |       #:test-command #~(list "make" "test-only")))
  |     (native-inputs
  |      (list emacs-buttercup))
  |     (build-system emacs-build-system)
  |     (home-page "https://elpa.nongnu.org/nongnu/subed.html")
  |     (synopsis "Major mode for editing subtitles")
  |     (description
  |      "@code{subed} is an Emacs major mode for editing subtitles
while playing
  | the corresponding video with @code{mpv}.  At the moment, the only supported
  | formats are SubRip (@file{.srt}), WebVTT (@file{.vtt}), and Advanced
  | SubStation Alpha (@file{.ass}).")
  |     (license license:gpl3+)))
  `----

  See installation below. Note that guix complains that there's an
  ambiguous package.

  ,----
  | guix package -L ~/my/git-repos/guix-packages --no-substitutes -i emacs-subed
  | echo "--- Exit code: $?"
  `----

  ,----
  | guix package: warning: ambiguous package specification `emacs-subed'
  | guix package: warning: choosing emacs-subed@1.2.3 from my/test-2.scm:12:2
  | The following package will be installed:
  |    emacs-subed 1.2.3
  |
  | The following derivations will be built:
  |   /gnu/store/bbwwyfnkgpl6gaqfbm8v1mpa5fpba7zb-profile.drv
  |   /gnu/store/zfkprsd6bxhf4wmz5zd5ad7mhck0j76m-emacs-subed-1.2.3.drv
  |
  | building /gnu/store/zfkprsd6bxhf4wmz5zd5ad7mhck0j76m-emacs-subed-1.2.3.drv...
  | listing Emacs sub-directories...
  | building profile with 7 packages...
  | --- Exit code: 0
  `----


3 The question
==============

  I know that One way to solve the problem of a faulty package
  definition is: First, send a patch. Second, wait for the patch to be
  added to the source code. Third, once the patch is added, execute
  `guix pull'. At this point, executing `guix package -i <<package>>'
  shouldn't fail. However, I feel that one downside of doing this is
  that the user needs to wait until the patch is added to the source
  code. Sometimes, some users might be in a hurry and they want to be
  able to use a package. This leads to my second question: Is there a
  way to edit the package definitions so that `guix package -i' look at
  them without having to use the `-L' flag? See next section on why I
  don't want to use the `-L' flag.


4 Reason why I don't use the `-L' flag
======================================

  The reason is that I'm currently using `guix home reconfigure' and
  even though I use the `-L' flag, `guix home' gives higher priority to
  `emacs-subed', so the build process fails and `guix home' can't exit
  successfully due to that faulty package.

  ,----
  | guix home -L ~/my/git-repos/guix-packages reconfigure
~/my/git-repos/guix-config/home-configuration.scm
  `----

  ,----
  | substitute:  substitute:  [Kupdating substitutes from
'https://ci.guix.gnu.org'...   0.0% substitute:  [Kupdating
substitutes from 'https://ci.guix.gnu.org'...  33.3% substitute:
 [Kupdating substitutes from 'https://ci.guix.gnu.org'...  66.7%
substitute:  [Kupdating substitutes from 'https://ci.guix.gnu.org'...
100.0%
  | substitute:  substitute:  [Kupdating substitutes from
'https://bordeaux.guix.gnu.org'...   0.0% substitute:  [Kupdating
substitutes from 'https://bordeaux.guix.gnu.org'...  33.3% substitute:
 [Kupdating substitutes from 'https://bordeaux.guix.gnu.org'...  66.7%
substitute:  [Kupdating substitutes from
'https://bordeaux.guix.gnu.org'... 100.0%
  | The following derivations will be built:
  |   /gnu/store/xn5wc23wlz2cc9bc0cagnv0fdvkrhaaz-home.drv
  |   /gnu/store/5fzw0iw5ngihlnj0s5sjcgi4f9i1bmpm-activate.drv
  |   /gnu/store/5g4ddbrbshmy7b1dirlg5yih22abxdxf-update-symlinks.drv
  |   /gnu/store/5kdl497kqhzd3hrbzm019yh4fdrdjm8i-profile.drv
  |   /gnu/store/k4h4lnfl0ynd9yrpbkmd423m3k8xwzyx-emacs-subed-1.2.3.drv
  |   /gnu/store/hhhiw4k4j4finbfn3vpyip9i934k3hyj-setup-environment.drv
  |
  | building /gnu/store/5g4ddbrbshmy7b1dirlg5yih22abxdxf-update-symlinks.drv...
  | building /gnu/store/k4h4lnfl0ynd9yrpbkmd423m3k8xwzyx-emacs-subed-1.2.3.drv...
  | builder for
`/gnu/store/k4h4lnfl0ynd9yrpbkmd423m3k8xwzyx-emacs-subed-1.2.3.drv'
failed with exit code 1
  | build of /gnu/store/k4h4lnfl0ynd9yrpbkmd423m3k8xwzyx-emacs-subed-1.2.3.drv
failed
  | View build log at
'/var/log/guix/drvs/k4/h4lnfl0ynd9yrpbkmd423m3k8xwzyx-emacs-subed-1.2.3.drv.gz'.
  | building /gnu/store/5fzw0iw5ngihlnj0s5sjcgi4f9i1bmpm-activate.drv...
  | cannot build derivation
`/gnu/store/5kdl497kqhzd3hrbzm019yh4fdrdjm8i-profile.drv': 1
dependencies couldn't be built
  | cannot build derivation
`/gnu/store/xn5wc23wlz2cc9bc0cagnv0fdvkrhaaz-home.drv': 1 dependencies
couldn't be built
  | guix home: error: build of
`/gnu/store/xn5wc23wlz2cc9bc0cagnv0fdvkrhaaz-home.drv' failed
  `----

  The main topic of this thread could have been: How to make "guix home"
  give higher priority to a path specified through the `-L' flag? But I
  decided not to ask for help on `guix home', because there are less
  "guix home" users than Guix users, so I might need to wait
  significantly more to get some help. I'd rather learn how to edit
  package definitions and make `guix package -i' aware of that. I've
  opened another thread on a question related to "guix edit" [here].


[here]
<https://lists.gnu.org/archive/html/help-guix/2023-06/msg00094.html>


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Newbie: How to edit a faulty package definition?
  2023-06-25  3:30 Newbie: How to edit a faulty package definition? Rodrigo Morales
@ 2023-06-25  4:57 ` Hilton Chain
  2023-06-26 22:21 ` Skyler Ferris
  1 sibling, 0 replies; 3+ messages in thread
From: Hilton Chain @ 2023-06-25  4:57 UTC (permalink / raw)
  To: Rodrigo Morales; +Cc: help-guix

Hi Rodrigo,

On Sun, 25 Jun 2023 11:30:42 +0800,
Rodrigo Morales wrote:
...
>   | (define-module (my test-2)
...
>   | (define-public emacs-subed
>   |   (package
>   |     (name "emacs-subed")
...
>   The main topic of this thread could have been: How to make "guix home"
>   give higher priority to a path specified through the `-L' flag? But I
>   decided not to ask for help on `guix home', because there are less
>   "guix home" users than Guix users, so I might need to wait
>   significantly more to get some help. I'd rather learn how to edit
>   package definitions and make `guix package -i' aware of that. I've
>   opened another thread on a question related to "guix edit" [here].

I have a solution but not about priorities.

The solution depends on how you add packages to your home environment.

If you are referencing them as variables, you can change the variable name of
your package, or directly referencing it with (@ (my test-2) emacs-subed).

If you are using the specification->package procedure, you can change the name
field of your package definition.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Newbie: How to edit a faulty package definition?
  2023-06-25  3:30 Newbie: How to edit a faulty package definition? Rodrigo Morales
  2023-06-25  4:57 ` Hilton Chain
@ 2023-06-26 22:21 ` Skyler Ferris
  1 sibling, 0 replies; 3+ messages in thread
From: Skyler Ferris @ 2023-06-26 22:21 UTC (permalink / raw)
  To: help-guix, Rodrigo Morales


> ======================================
>
>    The reason is that I'm currently using `guix home reconfigure' and
>    even though I use the `-L' flag, `guix home' gives higher priority to
>    `emacs-subed', so the build process fails and `guix home' can't exit
>    successfully due to that faulty package.
>

You can resolve the ambiguity using features available in guile itself. 
The easiest thing would be to give it a slightly different name, such as 
emacs-subed-customized, but you can still resolve it if you don't want 
to do that for some reason.

Since you're using the `-L` flag, I assume that you put the package 
definition in a file that defines a module. If not, see section 2.5.2 of 
the guile manual (1). Once it's in a module, you can either import the 
module with a prefix as described in section 6.18.2 (2) or you can use 
the `@` syntax to tell guile to pull the symbol out of that module 
directly; I don't see a full explanation of this in the manual right 
off, but it would look something like this: `(@ (gnu packages emacs-xzy) 
emacs-subed)`, except use the name of your module instead of the gnu module.

(1) 
https://www.gnu.org/software/guile/manual/html_node/Writing-new-Modules.html
(2) 
https://www.gnu.org/software/guile/manual/html_node/Using-Guile-Modules.html

Sincerely,
Skyler



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-06-26 22:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-25  3:30 Newbie: How to edit a faulty package definition? Rodrigo Morales
2023-06-25  4:57 ` Hilton Chain
2023-06-26 22:21 ` Skyler Ferris

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).