unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Xinglu Chen <public@yoctocell.xyz>
To: 49006@debbugs.gnu.org
Subject: bug#49006: MELPA importer uses the wrong source when called from CLI
Date: Mon, 06 Sep 2021 13:08:49 +0200	[thread overview]
Message-ID: <87fsui2c72.fsf@yoctocell.xyz> (raw)
In-Reply-To: <87czsp8wic.fsf@yoctocell.xyz>

[-- Attachment #1: Type: text/plain, Size: 6004 bytes --]

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?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]

  reply	other threads:[~2021-09-06 11:10 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-13 16:20 bug#49006: MELPA importer uses the wrong source when called from CLI Xinglu Chen
2021-06-13 18:11 ` Xinglu Chen
2021-09-06 11:08   ` Xinglu Chen [this message]
2021-11-06 22:21   ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87fsui2c72.fsf@yoctocell.xyz \
    --to=public@yoctocell.xyz \
    --cc=49006@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

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).