[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#49006: MELPA importer uses the wrong source when called from CLI
From: |
Xinglu Chen |
Subject: |
bug#49006: MELPA importer uses the wrong source when called from CLI |
Date: |
Mon, 06 Sep 2021 13:08:49 +0200 |
On Sun, Jun 13 2021, Xinglu Chen wrote:
> Okay, so new findings:
>
> When the (guix import elpa) module has been compiled, the generated
> package definition uses ‘url-fetch’ to fetch the source.
>
> --8<---------------cut here---------------start------------->8---
> ~/src/guix [env]$ ./pre-inst-env guix import elpa -a melpa magit
>
> Starting download of /tmp/guix-file.US750W
> From https://melpa.org/packages/magit-20210609.2000.tar...
> …609.2000.tar 1.7MiB 365KiB/s 00:05 [##################]
> 100.0%
> (package
> (name "emacs-magit")
> (version "20210609.2000")
> (source
> (origin
> (method url-fetch)
> (uri (string-append
> "https://melpa.org/packages/magit-"
> version
> ".tar"))
> (sha256
> (base32
> "0pplizxy20i3i9zqm5kfjz4la93gpz8wwh1ybwdwngv5ks7vhdsr"))))
> (build-system emacs-build-system)
> (propagated-inputs
> `(("emacs-dash" ,emacs-dash)
> ("emacs-git-commit" ,emacs-git-commit)
> ("emacs-magit-section" ,emacs-magit-section)
> ("emacs-transient" ,emacs-transient)
> ("emacs-with-editor" ,emacs-with-editor)))
> (home-page "https://github.com/magit/magit")
> (synopsis "A Git porcelain inside Emacs.")
> (description
> "Magit is a text-based Git user interface that puts an unmatched focus
> on streamlining workflows. Commands are invoked using short mnemonic
> key sequences that take the cursor’s position in the highly actionable
> interface into account to provide context-sensitive behavior.
>
> With Magit you can do nearly everything that you can do when using Git
> on the command-line, but at greater speed and while taking advantage
> of advanced features that previously seemed too daunting to use on a
> daily basis. Many users will find that by using Magit they can become
> more effective Git user.
> ")
> (license #f))
> --8<---------------cut here---------------end--------------->8---
>
> However, if the (guix import elpa) module hasn’t been compiled, say I
> just add a dummy comment to it, then the generated package definition
> uses ‘git-fetch’ instead of ‘url-fetch’. Notice the messages emitted by
> Guile.
>
> --8<---------------cut here---------------start------------->8---
> ~/src/guix [env]$ ./pre-inst-env guix import elpa -a melpa magit
> ;;; note: source file /home/yoctocell/src/guix/guix/import/elpa.scm
> ;;; newer than compiled /home/yoctocell/src/guix/guix/import/elpa.go
> ;;; note: source file /home/yoctocell/src/guix/guix/import/elpa.scm
> ;;; newer than compiled
> /home/yoctocell/.config/guix/current/lib/guile/3.0/site-ccache/guix/import/elpa.go
> ;;; note: source file /home/yoctocell/src/guix/guix/import/elpa.scm
> ;;; newer than compiled
> /home/yoctocell/.guix-home/profile/lib/guile/3.0/site-ccache/guix/import/elpa.go
> ;;; note: source file /home/yoctocell/src/guix/guix/import/elpa.scm
> ;;; newer than compiled
> /home/yoctocell/.config/guix/current/lib/guile/3.0/site-ccache/guix/import/elpa.go
> ;;; note: source file /home/yoctocell/src/guix/guix/import/elpa.scm
> ;;; newer than compiled guix/import/elpa.go
> ;;; note: source file /home/yoctocell/src/guix/guix/import/elpa.scm
> ;;; newer than compiled
> /home/yoctocell/.cache/guile/ccache/3.0-LE-8-4.5/home/yoctocell/src/guix/guix/import/elpa.scm.go
> (package
> (name "emacs-magit")
> (version "20210609.2000")
> (source
> (origin
> (method git-fetch)
> (uri (git-reference
> (url "https://github.com/magit/magit.git")
> (commit
> "71f57c5582448be81b02ba53750dd2ea39ed0eaf")))
> (sha256
> (base32
> "16ip50a46nk6xxj8qkpf6rmp28zjc1bhyjj9bfgibim8ywj87dlq"))))
> (build-system emacs-build-system)
> (propagated-inputs
> `(("emacs-dash" ,emacs-dash)
> ("emacs-git-commit" ,emacs-git-commit)
> ("emacs-magit-section" ,emacs-magit-section)
> ("emacs-transient" ,emacs-transient)
> ("emacs-with-editor" ,emacs-with-editor)))
> (arguments
> '(#:include
> '("^lisp/magit$"
> "^lisp/magit[^/]+.el$"
> "^lisp/git-rebase.el$"
> "^Documentation/magit.texi$"
> "^Documentation/AUTHORS.md$"
> "^LICENSE$")
> #:exclude
> '("^lisp/magit-libgit.el$"
> "^lisp/magit-section.el$")))
> (home-page "https://github.com/magit/magit")
> (synopsis "A Git porcelain inside Emacs.")
> (description
> "Magit is a text-based Git user interface that puts an unmatched focus
> on streamlining workflows. Commands are invoked using short mnemonic
> key sequences that take the cursor’s position in the highly actionable
> interface into account to provide context-sensitive behavior.
>
> With Magit you can do nearly everything that you can do when using Git
> on the command-line, but at greater speed and while taking advantage
> of advanced features that previously seemed too daunting to use on a
> daily basis. Many users will find that by using Magit they can become
> more effective Git user.
> ")
> (license #f))
> --8<---------------cut here---------------end--------------->8---
>
> Maybe there is some problem with Guile itself?
I came up with a hack to fix the issue, see the diff below
diff --git a/guix/import/elpa.scm b/guix/import/elpa.scm
index c0dc5acf51..0d07b4b35e 100644
--- a/guix/import/elpa.scm
+++ b/guix/import/elpa.scm
@@ -335,7 +335,8 @@ the package named PACKAGE-NAME."
type '<elpa-package>'."
(define melpa-recipe
- (if (eq? repo 'melpa)
+ ;; XXX: Otherwise (eq? repo 'melpa) always seems to return #f.
+ (if (force (delay (eq? repo 'melpa)))
(package-name->melpa-recipe (elpa-package-name pkg))
#f))
I am not sure if this is a good workaround, though. Any thoughts?
signature.asc
Description: PGP signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#49006: MELPA importer uses the wrong source when called from CLI,
Xinglu Chen <=