all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Alex Kost <alezost@gmail.com>
To: Oleg Pykhalov <go.wigust@gmail.com>
Cc: help-guix@gnu.org
Subject: Re: Which Emacs version used to build Emacs packages with emacs-checkout?
Date: Fri, 29 Sep 2017 13:57:14 +0300	[thread overview]
Message-ID: <87poa97oxh.fsf@gmail.com> (raw)
In-Reply-To: <87vakaetcw.fsf@gmail.com> (Oleg Pykhalov's message of "Fri, 22 Sep 2017 16:49:19 +0300")

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

Oleg Pykhalov (2017-09-22 16:49 +0300) wrote:

> Hello Alex,
Hi!

> Alex Kost <alezost@gmail.com> writes:
[...]
>> Yes.  Note that this default emacs can be overrided on a package level
>> by using #:emacs keyword in the arguments.  See 'emacs-auctex' package
>> for example.
>
> Ah, this is bad for me.  Now I need to redefine all those “#:emacs
> ,emacs” to “#:emacs ,emacs-checkout” as I guess.  Or I need to redefine
> “emacs” variable instead of inherit it in “emacs-checkout”.

I think making your packages with #:emacs argument is the right way.
And it is not so bad as it may seem, as you can use some Guile code to
reduce the duplication.  For example, look at the attached file: it
shows how you may inherit the packages you need from the original emacs
packages.  To check it, put it into your GUIX_PACKAGE_PATH and call
"guix package --show=my-emacs-paredit".  This is just an example, but I
think you get the idea ;-)

> I want to have Emacs builded from my local Git repository.  And I also
> want Emacs packages builded with this my Emacs version.

Actually, why do you want to do this?  I mean it doesn't matter what
version of Emacs you use to compile .el files.  There is no difference:
if you build a package with Emacs 24 it will still work with Emacs 26.


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

(define-module (my-emacs)
  #:use-module (guix packages)
  #:use-module (guix utils)
  #:use-module (gnu packages emacs))

(define-syntax-rule (define-my-packages (var-name pkg) ...)
  (begin
    (define-public var-name
      (package (inherit pkg)
        (name (string-append "my-" (package-name pkg)))
        (arguments
         (cons* #:emacs emacs-no-x
                (package-arguments pkg)))))
    ...))

(define-my-packages
  (my-emacs-ag emacs-ag)
  (my-paredit paredit)
  (my-smex emacs-smex)
  ;; ...and the other packages you need.
  )

      reply	other threads:[~2017-09-29 10:57 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-07 18:49 Which Emacs version used to build Emacs packages with emacs-checkout? Oleg Pykhalov
2017-09-08 20:31 ` Alex Kost
2017-09-22 13:49   ` Oleg Pykhalov
2017-09-29 10:57     ` Alex Kost [this message]

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=87poa97oxh.fsf@gmail.com \
    --to=alezost@gmail.com \
    --cc=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.