all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Alex Kost <alezost@gmail.com>
To: Federico Beffa <beffa@ieee.org>
Cc: Guix-devel <guix-devel@gnu.org>
Subject: Re: [PATCH 3/5] build: Add 'emacs-build-system'
Date: Fri, 10 Jul 2015 09:47:58 +0300	[thread overview]
Message-ID: <87pp401pb5.fsf@gmail.com> (raw)
In-Reply-To: <CAKrPhPPJtvsLM7BwYn5a6T3f7zAqmCnky_E1YSj=7dWx7hpfQA@mail.gmail.com> (Federico Beffa's message of "Thu, 9 Jul 2015 22:41:04 +0200")

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

Federico Beffa (2015-07-09 23:41 +0300) wrote:

> On Thu, Jul 9, 2015 at 10:51 AM, Alex Kost <alezost@gmail.com> wrote:
>> Federico Beffa (2015-07-08 23:22 +0300) wrote:
>>
>>> On Tue, Jul 7, 2015 at 6:58 PM, Alex Kost <alezost@gmail.com> wrote:
>>>> A side note: I think generally it would be preferable to use an upstream
>>>> release in the package recipe rather than to use a melpa(-stable) URL,
>>>> i.e.:
>>>>
>>>>   http://foo-upstream.org/foo-0.1.tar.gz  instead of
>>>>   http://stable.melpa.org/packages/foo-0.1.tar
>>>
>>> I believe that such information is not available from ELPA archives.
>>> Therefore the ELPA importer has no way to do this. But, obviously,
>>> manual modification is possible. (By the way, the tar files are
>>> similar but not identical.)
>>
>> Surely, I didn't mean that it's a task for the elpa importer.  I'm
>> totally for the manual modification to use an upstream release, not the
>> melpa(-stable) one.
>>
>> By "the tar files are similar" do you mean that MELPA usually leaves
>> only elisp files in the tarballs?  I think since it's a common practice
>> to put elisp files in the root directory of the repo, we should add a
>> phase to the emacs build system to remove non-elisp files (like
>> .gitignore or README) from the final
>> /gnu/store/…-foo-0.1/share/emacs/site-lisp/guix.d/foo-0.1/ directory.
>
> One difference that I noticed in the tar files is that tar coming from
> elpa archives always include the .info file, while the upstream ones
> do not always do so. I've not investigated further differences.

I think that the upstream never include (at least they shouldn't)
".info" files.  So perhaps it would be good to add a phase for building
info manual if there are ".texi" files and no ".info".

> While often the READMEs are not very usefull, sometimes they are.

But do people look at ~/.guix-profile/share/emacs/site-lisp/guix.d/foo
directory to find README and other useful non-elisp files?

> Therefore I do not like the idea of removing them, nor anything else
> provided by the package. It's upstream who should decide what's
> relevant. With the use of 'guix.d' there will be no name clashes. Did
> you happen to see the following thread?
>
> https://lists.gnu.org/archive/html/guix-devel/2015-06/msg00392.html

Yes, I read it, but when you say «provided by the package» and «It's
upstream who should decide», you are talking about the packages imported
from (m)elpa, not the upstream itself.  Since melpa is unusable (due to
a hash problem), we'll have to use the direct upstream releases, which
are not stripped from ".gitignore" and other unrelated files.  So all
these files will move into "…/.guix.d/package" dir.

As an example, try the following variant of "emacs-mmm-mode" package:


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: emacs-mmm-mode.scm --]
[-- Type: text/x-scheme, Size: 727 bytes --]

(define-public emacs-mmm-mode
  (package
    (name "emacs-mmm-mode")
    (version "0.5.4")
    (source
     (origin
       (method url-fetch)
       (uri (string-append
             "https://github.com/purcell/mmm-mode/archive/"
             version ".tar.gz"))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "10kwslnflbjqm62wkrq420crqzdqalzfflp9pqk1i12zm6dm4mfv"))))
    (build-system emacs-build-system)
    (home-page "https://github.com/purcell/mmm-mode")
    (synopsis
     "Allow multiple major modes in an Emacs buffer")
    (description
     "MMM Mode is a minor mode that allows multiple major modes to coexist in a
single buffer.")
    (license license:gpl3+)))

[-- Attachment #3: Type: text/plain, Size: 898 bytes --]


As you can see, there are many odd files in the
"…/share/emacs/site-lisp/guix.d/mmm-mode-0.5.4" directory.

So I suggest to add a phase for deleting non-".el[c]" files from the
".guix.d/package" directory.

And just in case: I have nothing against GNU ELPA repository (especially
taking into account that it is the only "home" for some packages).  I'm
against melpa and melpa-stable, because:

- Why should we rely on a third-party server that do something with the
  upstream files to produce a final tarball?

- MELPA(-stable) is not usable anyway, because the tarballs of the same
  version are updated all the time, so the hash is being permanently
  changed.

However, if a package from ELPA has a real upstream release that can be
used with "gnu-build-system" (e.g., emms, auctex, mmm-mode), I think we
should prefer it instead of importing it from ELPA.

-- 
Alex

  reply	other threads:[~2015-07-10  6:48 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-07  7:21 [PATCH 3/5] build: Add 'emacs-build-system' Federico Beffa
2015-07-07 16:58 ` Alex Kost
2015-07-08 20:22   ` Federico Beffa
2015-07-09  8:51     ` Alex Kost
2015-07-09 20:41       ` Federico Beffa
2015-07-10  6:47         ` Alex Kost [this message]
2015-07-10  7:43           ` Federico Beffa
2015-07-15 21:52           ` Ludovic Courtès
  -- strict thread matches above, loose matches on Subject: below --
2015-06-21  8:31 Federico Beffa
2015-06-21 20:40 ` Alex Kost
2015-06-22  8:51   ` Federico Beffa
2015-06-22 11:49     ` Mathieu Lirzin
2015-06-22 17:59     ` Alex Kost
2015-06-22 19:33       ` Federico Beffa
2015-06-22 19:40         ` Thompson, David
2015-06-23  6:51           ` Federico Beffa
2015-06-25 11:57             ` Ludovic Courtès
2015-06-25 18:39               ` Federico Beffa
2015-06-23 11:57         ` Alex Kost
2015-06-24 16:12           ` Federico Beffa
2015-06-25 12:33             ` Ludovic Courtès
2015-06-25 18:36               ` Federico Beffa
2015-06-27  9:59                 ` Ludovic Courtès
2015-07-06 17:47 ` Alex Kost

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

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

  git send-email \
    --in-reply-to=87pp401pb5.fsf@gmail.com \
    --to=alezost@gmail.com \
    --cc=beffa@ieee.org \
    --cc=guix-devel@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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.