From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Kost Subject: Re: [PATCH 5/5] gnu: Add emacs-mmm-mode Date: Thu, 09 Jul 2015 11:52:37 +0300 Message-ID: <87mvz5emqy.fsf@gmail.com> References: <878uazoji5.fsf@gmail.com> <878uawrlzt.fsf@gnu.org> <87y4ivhho8.fsf@gmail.com> <87io9ukzk3.fsf@netris.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:43409) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZD7ZT-00027C-So for guix-devel@gnu.org; Thu, 09 Jul 2015 04:52:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZD7ZQ-0006N1-46 for guix-devel@gnu.org; Thu, 09 Jul 2015 04:52:43 -0400 Received: from mail-la0-x230.google.com ([2a00:1450:4010:c03::230]:35591) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZD7ZP-0006MH-Mo for guix-devel@gnu.org; Thu, 09 Jul 2015 04:52:40 -0400 Received: by labgy5 with SMTP id gy5so89505036lab.2 for ; Thu, 09 Jul 2015 01:52:38 -0700 (PDT) In-Reply-To: <87io9ukzk3.fsf@netris.org> (Mark H. Weaver's message of "Wed, 08 Jul 2015 19:19:24 -0400") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Mark H Weaver Cc: Guix-devel --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mark H Weaver (2015-07-09 02:19 +0300) wrote: > Alex Kost writes: > >> Ludovic Court=C3=A8s (2015-07-04 18:16 +0300) wrote: >> >>> Alex Kost skribis: >>> >>>> I think I've found a problem with downloading packages from melpa-stab= le >>>> (probably the same will be with 'melpa', but I don't know). I tried to >>>> build this 'emacs-mmm-mode' package but it failed because >>>> does not exist >>>> anymore (because the current version is 0.5.4). >>> >>> If tarball deletion or renaming is common on MELPA, then maybe we could >>> address it by providing an additional alternate URL, as is done for >>> =E2=80=98lftp=E2=80=99 and other packages. WDYT? >> >> If I understand correctly, there is no alternative URL. Only URL for a >> latest version. (but I may be wrong) > > emacs-mmm-mode is failing to build on hydra, because the downloaded > tarball doesn't match the expected hash: > > http://hydra.gnu.org/build/563640/nixlog/1/tail-reload > > > starting download of `/gnu/store/gdwf9rsqvvqqb77qkgpp94w8k8z1i6wf-mmm-mod= e-0.5.4.tar' from `http://stable.melpa.org/packages/mmm-mode-0.5.4.tar'... > > http://stable.melpa.org/.../mmm-mode-0.5.4.tar 0.0% of 300.0 KiB (0. Ki= B/s) > http://stable.melpa.org/.../mmm-mode-0.5.4.tar 21.3% of 300.0 KiB (405. = KiB/s) > http://stable.melpa.org/.../mmm-mode-0.5.4.tar 42.7% of 300.0 KiB (372. = KiB/s) > http://stable.melpa.org/.../mmm-mode-0.5.4.tar 64.0% of 300.0 KiB (439. = KiB/s) > http://stable.melpa.org/.../mmm-mode-0.5.4.tar 85.3% of 300.0 KiB (411. = KiB/s) > http://stable.melpa.org/.../mmm-mode-0.5.4.tar 100.0% of 300.0 KiB (419. = KiB/s) > output path `/gnu/store/gdwf9rsqvvqqb77qkgpp94w8k8z1i6wf-mmm-mode-0.5.4.t= ar' should have sha256 hash `1llkzb6d978ym3zv3yfzwj0w5zzmmj3ksrm5swrx1papxc= nqnkb9', instead has `1kjc41nlsf7qxmmy9mrzk6myinjvc550zl5ia0ivvdz945x39yay' > > What went wrong here? Wow, it looks like using melpa(-stable) URLs are even more unreliable than I thought. I've just downloaded 'mmm-mode-0.5.4.tar' and the hash is different again: --8<---------------cut here---------------start------------->8--- $ guix download http://stable.melpa.org/packages/mmm-mode-0.5.4.tar starting download of `/tmp/guix-file.V1XHG4' from `http://stable.melpa.org/= packages/mmm-mode-0.5.4.tar'... http://stable.melpa.org/.../mmm-mode-0.5.4.tar 100.0% of 300.0 KiB (110. Ki= B/s) /gnu/store/mqkacn4hm16j7cx91g4ml9287bznfva1-mmm-mode-0.5.4.tar 0bsbp93wb5b78yp2gyvk4jkmv6vawcwyyfy35wbq6hdfi5q75a9w --8<---------------cut here---------------end--------------->8--- So my guess is: MELPA periodically updates all the tarballs, not just the packages with the new version tags. I think it means we should refuse from using melpa(-stable) tarballs and use the upstream releases instead. In this particular case it will be . Also I think if an emacs package provides a proper gnu build system it should be prefered over the emacs build system (as it may provide tests and, dunno, it's just the usual way to go). If people agree on this, what about the attached patch? --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-gnu-emacs-mmm-mode-Use-gnu-build-system.patch >From 35e622f13b5971ffab154da2ed316c2076c0c652 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Thu, 9 Jul 2015 11:48:12 +0300 Subject: [PATCH] gnu: emacs-mmm-mode: Use gnu-build-system. * gnu/packages/emacs.scm (emacs-mmm-mode): Replace melpa-stable URL with the github URL and use 'gnu-build-system' instead of 'emacs-build-system'. Fix typo (add missing space before the description). --- gnu/packages/emacs.scm | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index f00e15c..32b27fc 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -812,17 +812,27 @@ or XEmacs.") (origin (method url-fetch) (uri (string-append - "http://stable.melpa.org/packages/mmm-mode-" - version - ".tar")) + "https://github.com/purcell/mmm-mode/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1llkzb6d978ym3zv3yfzwj0w5zzmmj3ksrm5swrx1papxcnqnkb9")))) - (build-system emacs-build-system) + "10kwslnflbjqm62wkrq420crqzdqalzfflp9pqk1i12zm6dm4mfv")))) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'autogen + (lambda _ + (zero? (system* "sh" "autogen.sh"))))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("emacs" ,emacs-no-x) + ("texinfo" ,texinfo))) (home-page "https://github.com/purcell/mmm-mode") - (synopsis - "Allow multiple major modes in an Emacs buffer") + (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 + "MMM Mode is a minor mode that allows multiple major modes to coexist in a single buffer.") (license license:gpl3+))) -- 2.4.3 --=-=-=--