all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Oleg Pykhalov <go.wigust@gmail.com>
To: help-guix@gnu.org
Subject: Which Emacs version used to build Emacs packages with emacs-checkout?
Date: Thu, 07 Sep 2017 21:49:14 +0300	[thread overview]
Message-ID: <877exa5oph.fsf@gmail.com> (raw)

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

Hello Guix,

Here is a =emacs-checkout= snippet which works for me.  Enjoy it if
somebody need it.

I'm little bit confused about Emacs **version** that is used inside
=emacs-build-systems= and inputs which use =emacs-minimal=.

If I define a new package with =-checkout= suffix and install it, for
example =guix package -i emacs@26.0.50-1.f0eb70d= it works fine.

As I notice all packages which uses =emacs-build-system= will use
original Guix Emacs version package.  Am I right?

Then, all Emacs packages will be build by =emacs-minimal= which is
original Guix Emacs version.

I found =(setq load-prefer-newer t)= way to avoid loading old compiled
elisp files, but it's not what I really want.

Thoughts?  :-)


[-- Attachment #2: emacs-checkout --]
[-- Type: text/plain, Size: 3312 bytes --]

(define-public emacs-checkout
  (let ((commit "f0eb70d8935be90f7c03e187c12d9b60e7214cc6")
	(revision "1"))
    (package
      (inherit emacs)
      (name "emacs")
      (version (string-append "26.0.50" "-" revision "."
			      (string-take commit 7)))
      (source
       (origin
	 (method git-fetch)
	 (uri (git-reference
	       ;; "git://git.savannah.gnu.org/emacs.git"
	       (url "git://localhost/~natsu/src/emacs")
	       (commit commit)))
	 (file-name (string-append name "-" version "-checkout"))
	 (patches (search-patches "emacs-exec-path.patch"
				  "emacs-source-date-epoch.patch"))
	 (modules '((guix build utils)))
	 (snippet
	  ;; Delete the bundled byte-compiled elisp files and
	  ;; generated autoloads.
	  '(with-directory-excursion "lisp"
	     (for-each delete-file
		       (append (find-files "." "\\.elc$")
			       (find-files "." "loaddefs\\.el$")))

	     ;; Make sure Tramp looks for binaries in the right places on
	     ;; remote GuixSD machines, where 'getconf PATH' returns
	     ;; something bogus.
	     (substitute* "net/tramp-sh.el"
	       ;; Patch the line after "(defcustom tramp-remote-path".
	       (("\\(tramp-default-remote-path")
		(format #f "(tramp-default-remote-path ~s ~s ~s ~s "
			"~/.guix-profile/bin" "~/.guix-profile/sbin"
			"/run/current-system/profile/bin"
			"/run/current-system/profile/sbin")))))
	 (sha256
	  (base32 "1s2b9qahcqgp085fadsjys3w60z9dczh0y0jhnsp0axwi27ssmzc"))))
      (native-inputs
       `(("autoconf" ,autoconf)
	 ("automake" ,automake)
	 ("bash" ,bash-minimal)
	 ("perl" ,perl)
	 ("rc" ,rc)
	 ("python" ,python-2.7)
	 ("chez-scheme" ,chez-scheme)
	 ,@(package-native-inputs emacs)))
      (arguments
       (substitute-keyword-arguments
	   `(#:parallel-build? #t
			       #:tests? #f
			       ,@(package-arguments emacs))
	 ((#:phases phases)
	  `(modify-phases ,phases
	     (add-after 'unpack 'autogen
	       (lambda _
		 (zero? (system* "sh" "autogen.sh"))))
	     (delete 'reset-gzip-timestamps))))))))

(define-public geiser-checkout
  (let ((commit "9581e61f9d8839281fe42344dd5fe885ea7359ea")
	(revision "1"))
    (package
      (inherit geiser)
      (name "geiser")
      (version (string-append "0.9" "-" revision "."
			      (string-take commit 7)))
      (source
       (origin
	 (method git-fetch)
	 (uri (git-reference
	       (url "git://git.savannah.gnu.org/geiser.git")
	       (commit commit)))
	 (file-name (string-append name "-" version "-checkout"))
	 (sha256
	  (base32 "0nx86pzncab0b7700m8sc7k3nzml4v9frrq77lljjcjhw71gnvnn"))))
      (native-inputs
       `(("autoconf" ,autoconf)
	 ("automake" ,automake)
	 ("texinfo" ,texinfo)
	 ,@(package-native-inputs geiser)))
      (arguments
       (substitute-keyword-arguments
	   `(#:parallel-build? #t
			       #:tests? #f
			       ,@(package-arguments geiser))
	 ((#:phases phases)
	  `(modify-phases ,phases
	     (add-after 'unpack 'autogen
	       (lambda _
		 (zero? (system* "sh" "autogen.sh"))))
	     (delete 'reset-gzip-timestamps))))))))

(define-public emacs-guix-checkout
  (package
    (inherit emacs-guix)
    (version (string-append (package-version emacs-guix) "-checkout"))
    (propagated-inputs
     `(("geiser" ,geiser-checkout)
       ("dash" ,emacs-dash)
       ("bui" ,emacs-bui)
       ("magit-popup" ,emacs-magit-popup)))))


             reply	other threads:[~2017-09-07 18:49 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-07 18:49 Oleg Pykhalov [this message]
2017-09-08 20:31 ` Which Emacs version used to build Emacs packages with emacs-checkout? Alex Kost
2017-09-22 13:49   ` Oleg Pykhalov
2017-09-29 10:57     ` 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=877exa5oph.fsf@gmail.com \
    --to=go.wigust@gmail.com \
    --cc=help-guix@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.