unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Alex Kost <alezost@gmail.com>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: Timestamps in ...-autoloads.el files
Date: Wed, 21 Oct 2015 18:55:53 +0200	[thread overview]
Message-ID: <87y4ew88km.fsf@gnu.org> (raw)
In-Reply-To: <87vba0mkwy.fsf@gmail.com> (Alex Kost's message of "Wed, 21 Oct 2015 16:05:33 +0300")

Alex Kost <alezost@gmail.com> skribis:

> I like the idea to honor SOURCE_DATE_EPOCH, so I'm attaching a patch for
> this.  But now I don't know how to make Guix set this variable during
> the build process :-(  Need help.

Ahem, eventually, we’ll have to set it in ‘gnu-build’ in (guix build
gnu-build-system) in the next ‘core-updates’ cycle.

In the interim, we can set it in a phase of ‘emacs-build-system’, which
would entail few rebuilds.

WDYT?

> From b8dc19a65980690a636ad7f9f39b3c84991f4975 Mon Sep 17 00:00:00 2001
> From: Alex Kost <alezost@gmail.com>
> Date: Wed, 21 Oct 2015 15:59:23 +0300
> Subject: [PATCH] gnu: emacs: Honor 'SOURCE_DATE_EPOCH'.
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
>
> Suggested by Ludovic Courtès <ludo@gnu.org>.
>
> * gnu/packages/patches/emacs-source-date-epoch.patch: New patch.
> * gnu-system.am (dist_patch_DATA): Add it.
> * gnu/packages/emacs.scm (emacs)[source]: Use it.

LGTM.

> +++ b/gnu/packages/patches/emacs-source-date-epoch.patch
> @@ -0,0 +1,20 @@
> +Honor SOURCE_DATE_EPOCH variable to avoid non-determinism in generated
> +"autoloads" files.
> +
> +--- a/lisp/emacs-lisp/autoload.el
> ++++ b/lisp/emacs-lisp/autoload.el
> +@@ -378,8 +378,12 @@
> +   "Insert the section-header line,
> + which lists the file name and which functions are in it, etc."
> +   (insert generate-autoload-section-header)
> +-  (prin1 `(autoloads ,autoloads ,load-name ,file ,time)
> +-	 outbuf)
> ++  (let* ((env  (getenv "SOURCE_DATE_EPOCH"))
> ++         (time (if env
> ++                   (seconds-to-time (string-to-number env))
> ++                 time)))
> ++    (prin1 `(autoloads ,autoloads ,load-name ,file ,time)
> ++           outbuf))
> +   (terpri outbuf)
> +   ;; Break that line at spaces, to avoid very long lines.
> +   ;; Make each sub-line into a comment.

Could you also submit it upstream, Cc’ing guix-devel and
reproducible-builds@lists.alioth.debian.org?  Hopefully that is
acceptable.  (I searched a bit but didn’t find a similar patch by the
Debian Reproducible team, but patch-tracker.debian.org is unreachable.)

Thanks!

Ludo’.

  reply	other threads:[~2015-10-21 16:56 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-19 23:09 Challenge substitute servers! Ludovic Courtès
2015-10-20  0:17 ` Daniel Pimentel
2015-10-20 14:38 ` [PATCHES] emacs: Changes for 'guix challenge' Alex Kost
2015-10-20 14:58   ` Ludovic Courtès
2015-10-20 17:40 ` Timestamps in ...-autoloads.el files Alex Kost
2015-10-20 19:38   ` Ludovic Courtès
2015-10-21 13:05     ` Alex Kost
2015-10-21 16:55       ` Ludovic Courtès [this message]
2015-11-02 16:50         ` Alex Kost
2015-11-03 13:27           ` Ludovic Courtès
2015-11-14 11:32             ` Alex Kost
2015-11-14 15:03               ` Ludovic Courtès
2015-11-14 20:39                 ` Alex Kost
2016-05-11 14:53         ` Alex Kost
2016-05-16 12:45           ` Ludovic Courtès
2016-05-16 20:52             ` Alex Kost
2016-05-17  9:12               ` Ludovic Courtès
2016-05-19 16:29                 ` Alex Kost
2016-05-20 12:02                   ` Ludovic Courtès
2016-05-20 13:38                     ` Leo Famulari
2016-05-21 10:49                       ` Alex Kost
2016-05-21 21:02                         ` Ludovic Courtès
2016-05-24  9:07                           ` Alex Kost
2016-05-20 21:14                     ` Alex Kost
2016-05-19  8:12             ` Alex Kost
2016-05-19 12:56               ` Ludovic Courtès
2016-05-21 10:31                 ` Alex Kost
2016-05-21 21:01                   ` Ludovic Courtès
2016-05-24  9:00                     ` 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

  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=87y4ew88km.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=alezost@gmail.com \
    --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 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).