* [PATCH 0/6] Modifications in building emacs packages.
@ 2016-05-16 18:20 Alex Kost
2016-05-16 18:20 ` [PATCH 1/6] gnu: Add emacs-minimal Alex Kost
` (5 more replies)
0 siblings, 6 replies; 20+ messages in thread
From: Alex Kost @ 2016-05-16 18:20 UTC (permalink / raw)
To: guix-devel
Hello, currently we use either 'emacs' or 'emacs-no-x' to build
(byte-compile) emacs packages. What about making a really minimal emacs
to use for this task?
Most of the times it should be enough. AFAICT the only case where a
full-featured emacs is needed is auctex; and for this particular case,
'emacs-build-system' uses 'emacs'. Instead I suggest to use
'emacs-minimal' by default; and when a full 'emacs' will be needed, it
can be specified in native-inputs. WDYT?
Another change made by this patchset is moving all "emacs" inputs to
'native-inputs'. There is no point to use 'inputs' because this emacs
is used only to make *.elc files and to generate autoloads; you will use
emacs from your profile anyway.
[PATCH 1/6] gnu: Add emacs-minimal.
[PATCH 2/6] build-system/emacs: Use "emacs" from native-inputs if specified.
[PATCH 3/6] build-system/emacs: Use 'emacs-minimal' as default emacs for building.
[PATCH 4/6] gnu: emacs-auctex: Use 'emacs' for byte-compiling.
[PATCH 5/6] gnu: Move emacs for building from inputs to native-inputs.
[PATCH 6/6] gnu: Use 'emacs-minimal' instead of 'emacs-no-x'.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 1/6] gnu: Add emacs-minimal.
2016-05-16 18:20 [PATCH 0/6] Modifications in building emacs packages Alex Kost
@ 2016-05-16 18:20 ` Alex Kost
2016-05-19 11:52 ` Ludovic Courtès
2016-05-16 18:20 ` [PATCH 2/6] build-system/emacs: Use "emacs" from native-inputs if specified Alex Kost
` (4 subsequent siblings)
5 siblings, 1 reply; 20+ messages in thread
From: Alex Kost @ 2016-05-16 18:20 UTC (permalink / raw)
To: guix-devel
* gnu/packages/emacs.scm (emacs-minimal): New variable.
---
gnu/packages/emacs.scm | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 11010b2..d31aa73 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -165,10 +165,25 @@ large Lisp programs. It has full Unicode support for nearly all human
languages.")
(license license:gpl3+)))
-(define-public emacs-no-x
+(define-public emacs-minimal
;; This is the version that you should use as an input to packages that just
;; need to byte-compile .el files.
(package (inherit emacs)
+ (name "emacs-minimal")
+ (synopsis "The extensible text editor (used only for byte-compilation)")
+ (build-system gnu-build-system)
+ (arguments
+ (substitute-keyword-arguments (package-arguments emacs)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (delete 'install-site-start)))))
+ (inputs
+ `(("ncurses" ,ncurses)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))))
+
+(define-public emacs-no-x
+ (package (inherit emacs)
(name "emacs-no-x")
(synopsis "The extensible, customizable, self-documenting text
editor (console only)")
--
2.7.3
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 2/6] build-system/emacs: Use "emacs" from native-inputs if specified.
2016-05-16 18:20 [PATCH 0/6] Modifications in building emacs packages Alex Kost
2016-05-16 18:20 ` [PATCH 1/6] gnu: Add emacs-minimal Alex Kost
@ 2016-05-16 18:20 ` Alex Kost
2016-05-19 11:54 ` Ludovic Courtès
2016-05-16 18:20 ` [PATCH 3/6] build-system/emacs: Use 'emacs-minimal' as default emacs for building Alex Kost
` (3 subsequent siblings)
5 siblings, 1 reply; 20+ messages in thread
From: Alex Kost @ 2016-05-16 18:20 UTC (permalink / raw)
To: guix-devel
* guix/build-system/emacs.scm (lower): Do not add "emacs" to
build-inputs if it is already specified in the native-inputs.
---
guix/build-system/emacs.scm | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/guix/build-system/emacs.scm b/guix/build-system/emacs.scm
index 03c1eb2..017e6ef 100644
--- a/guix/build-system/emacs.scm
+++ b/guix/build-system/emacs.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
+;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,6 +26,7 @@
#:use-module (guix build-system)
#:use-module (guix build-system gnu)
#:use-module (ice-9 match)
+ #:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:export (%emacs-build-system-modules
emacs-build
@@ -73,8 +75,16 @@
;; Keep the standard inputs of 'gnu-build-system'.
,@(standard-packages)))
- (build-inputs `(("emacs" ,emacs)
- ,@native-inputs))
+ ;; Add emacs to build-inputs only if native-inputs do not contain
+ ;; emacs already. This allows us to use non-default emacs for
+ ;; building.
+ (build-inputs (if (find (match-lambda
+ (("emacs" _ ...) #t)
+ (_ #f))
+ native-inputs)
+ native-inputs
+ `(("emacs" ,emacs)
+ ,@native-inputs)))
(outputs outputs)
(build emacs-build)
(arguments (strip-keyword-arguments private-keywords arguments)))))
--
2.7.3
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 3/6] build-system/emacs: Use 'emacs-minimal' as default emacs for building.
2016-05-16 18:20 [PATCH 0/6] Modifications in building emacs packages Alex Kost
2016-05-16 18:20 ` [PATCH 1/6] gnu: Add emacs-minimal Alex Kost
2016-05-16 18:20 ` [PATCH 2/6] build-system/emacs: Use "emacs" from native-inputs if specified Alex Kost
@ 2016-05-16 18:20 ` Alex Kost
2016-05-19 11:55 ` Ludovic Courtès
2016-05-16 18:20 ` [PATCH 4/6] gnu: emacs-auctex: Use 'emacs' for byte-compiling Alex Kost
` (2 subsequent siblings)
5 siblings, 1 reply; 20+ messages in thread
From: Alex Kost @ 2016-05-16 18:20 UTC (permalink / raw)
To: guix-devel
* guix/build-system/emacs.scm (default-emacs): Use 'emacs-minimal'.
---
guix/build-system/emacs.scm | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/guix/build-system/emacs.scm b/guix/build-system/emacs.scm
index 017e6ef..995fce7 100644
--- a/guix/build-system/emacs.scm
+++ b/guix/build-system/emacs.scm
@@ -49,11 +49,7 @@
"Return the default Emacs package."
;; Lazily resolve the binding to avoid a circular dependency.
(let ((emacs-mod (resolve-interface '(gnu packages emacs))))
- ;; we use 'emacs' instead of 'emacs-no-x' because the latter appears not
- ;; to be loading some macros and causes problems to some packages. For
- ;; example, with the latter AUCTeX gives the error message:
- ;; "(invalid-function dbus-ignore-errors)".
- (module-ref emacs-mod 'emacs)))
+ (module-ref emacs-mod 'emacs-minimal)))
(define* (lower name
#:key source inputs native-inputs outputs system target
--
2.7.3
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 4/6] gnu: emacs-auctex: Use 'emacs' for byte-compiling.
2016-05-16 18:20 [PATCH 0/6] Modifications in building emacs packages Alex Kost
` (2 preceding siblings ...)
2016-05-16 18:20 ` [PATCH 3/6] build-system/emacs: Use 'emacs-minimal' as default emacs for building Alex Kost
@ 2016-05-16 18:20 ` Alex Kost
2016-05-19 11:56 ` Ludovic Courtès
2016-05-16 18:20 ` [PATCH 5/6] gnu: Move emacs for building from inputs to native-inputs Alex Kost
2016-05-16 18:20 ` [PATCH 6/6] gnu: Use 'emacs-minimal' instead of 'emacs-no-x' Alex Kost
5 siblings, 1 reply; 20+ messages in thread
From: Alex Kost @ 2016-05-16 18:20 UTC (permalink / raw)
To: guix-devel
* gnu/packages/emacs.scm (emacs-auctex)[native-inputs]: Add 'emacs'.
---
gnu/packages/emacs.scm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index d31aa73..32e24a4 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -975,7 +975,10 @@ as a library for other Emacs packages.")
"1pmki8hdjjikxlvip3pzi350bln3gcimr27yjf0xfwjvnp5hh9nc"))))
(build-system emacs-build-system)
(native-inputs
- `(("perl" ,perl)))
+ ;; We use 'emacs' because AUCTeX requires dbus at compile time
+ ;; ('emacs-minimal' does not provide dbus).
+ `(("emacs" ,emacs)
+ ("perl" ,perl)))
(home-page "http://www.gnu.org/software/auctex/")
(synopsis "Integrated environment for TeX")
(description
--
2.7.3
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 5/6] gnu: Move emacs for building from inputs to native-inputs.
2016-05-16 18:20 [PATCH 0/6] Modifications in building emacs packages Alex Kost
` (3 preceding siblings ...)
2016-05-16 18:20 ` [PATCH 4/6] gnu: emacs-auctex: Use 'emacs' for byte-compiling Alex Kost
@ 2016-05-16 18:20 ` Alex Kost
2016-05-19 11:57 ` Ludovic Courtès
2016-05-16 18:20 ` [PATCH 6/6] gnu: Use 'emacs-minimal' instead of 'emacs-no-x' Alex Kost
5 siblings, 1 reply; 20+ messages in thread
From: Alex Kost @ 2016-05-16 18:20 UTC (permalink / raw)
To: guix-devel
* gnu/packages/emacs.scm (geiser): Move "emacs" from inputs to native-inputs.
(paredit): Likewise.
(haskell-mode): Likewise.
(emacs-w3m): Likewise.
(emacs-wget): Likewise.
* gnu/packages/mail.scm (mu): Likewise.
* gnu/packages/scheme.scm (scmutils): Likewise.
* gnu/packages/version-control.scm (vc-dwim): Likewise.
---
gnu/packages/emacs.scm | 20 ++++++++++----------
gnu/packages/mail.scm | 2 +-
gnu/packages/scheme.scm | 4 ++--
gnu/packages/version-control.scm | 4 ++--
4 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 32e24a4..077d9af 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -262,8 +262,8 @@ editor (without an X toolkit)" )
"/share/emacs/site-lisp/"
"geiser-autoloads.el")))
%standard-phases)))
- (inputs `(("guile" ,guile-2.0)
- ("emacs" ,emacs-no-x)))
+ (inputs `(("guile" ,guile-2.0)))
+ (native-inputs `(("emacs" ,emacs-no-x)))
(home-page "http://nongnu.org/geiser/")
(synopsis "Collection of Emacs modes for Guile and Racket hacking")
(description
@@ -287,7 +287,7 @@ metadata.")
(base32
"0pp3n8q6kc70blqsaw0zlzp6bc327dpgdrjr0cnh7hqg1lras7ka"))))
(build-system trivial-build-system)
- (inputs `(("emacs" ,emacs-no-x)))
+ (native-inputs `(("emacs" ,emacs-no-x)))
(arguments
`(#:modules ((guix build utils)
(guix build emacs-utils))
@@ -525,9 +525,9 @@ support for Git-SVN.")
version ".tar.gz"))
(sha256
(base32 "1kxc2yj8vb122dv91r68h7c5ladcryx963fr16plfhg71fv7f9av"))))
- (inputs `(("emacs" ,emacs-no-x)))
(native-inputs
- `(("texinfo" ,texinfo)))
+ `(("emacs" ,emacs-no-x)
+ ("texinfo" ,texinfo)))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "EMACS="
@@ -666,10 +666,10 @@ provides an optional IDE-like error list.")
(base32
"0zfxmq86pwk64yv0426gnjrvhjrgrjqn08sdcdhmmjmfpmqvm79y"))))
(build-system gnu-build-system)
- (native-inputs `(("autoconf" ,autoconf)))
+ (native-inputs `(("autoconf" ,autoconf)
+ ("emacs" ,emacs-no-x)))
(inputs `(("w3m" ,w3m)
- ("imagemagick" ,imagemagick)
- ("emacs" ,emacs-no-x)))
+ ("imagemagick" ,imagemagick)))
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
@@ -738,8 +738,8 @@ provides an optional IDE-like error list.")
(sha256
(base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
(build-system gnu-build-system)
- (inputs `(("wget" ,wget)
- ("emacs" ,emacs-no-x)))
+ (inputs `(("wget" ,wget)))
+ (native-inputs `(("emacs" ,emacs-no-x)))
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index e86afb2..0f476eb 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -344,12 +344,12 @@ repository and Maildir/IMAP as LOCAL repository.")
("glib" ,glib "bin") ; for gtester
("autoconf" ,autoconf)
("automake" ,automake)
+ ("emacs" ,emacs-no-x)
("libtool" ,libtool)
("texinfo" ,texinfo)))
;; TODO: Add webkit and gtk to build the mug GUI.
(inputs
`(("xapian" ,xapian)
- ("emacs" ,emacs-no-x)
("guile" ,guile-2.0)
("glib" ,glib)
("gmime" ,gmime)
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 6cf75c2..452de17 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -571,8 +571,8 @@ threads.")
(base32 "10cnbm7nh78m5mrl1di85s29gny81jb1am9zd9f9yx725xb6dnfg"))))
(build-system gnu-build-system)
(inputs
- `(("mit-scheme" ,mit-scheme)
- ("emacs" ,emacs-no-x)))
+ `(("mit-scheme" ,mit-scheme)))
+ (native-inputs `(("emacs" ,emacs-no-x)))
(arguments
`(#:tests? #f ;; no tests-suite
#:modules ((guix build gnu-build-system)
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index d47b3e8..3e0f5b8 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -851,8 +851,8 @@ masters from remote CVS hosts.")
"094pjwshvazlgagc254in2xvrp93vhcj0kb5ms17qs7sch99x9z2"))))
(build-system gnu-build-system)
(inputs `(("perl" ,perl)
- ("inetutils" ,inetutils) ; for `hostname', used in the tests
- ("emacs" ,emacs-no-x))) ; for `ctags'
+ ("inetutils" ,inetutils))) ; for `hostname', used in the tests
+ (native-inputs `(("emacs" ,emacs-no-x))) ; for `ctags'
(home-page "http://www.gnu.org/software/vc-dwim/")
(synopsis "Version-control-agnostic ChangeLog diff and commit tool")
(description
--
2.7.3
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 6/6] gnu: Use 'emacs-minimal' instead of 'emacs-no-x'.
2016-05-16 18:20 [PATCH 0/6] Modifications in building emacs packages Alex Kost
` (4 preceding siblings ...)
2016-05-16 18:20 ` [PATCH 5/6] gnu: Move emacs for building from inputs to native-inputs Alex Kost
@ 2016-05-16 18:20 ` Alex Kost
2016-05-19 11:58 ` Ludovic Courtès
5 siblings, 1 reply; 20+ messages in thread
From: Alex Kost @ 2016-05-16 18:20 UTC (permalink / raw)
To: guix-devel
* gnu/packages/code.scm (cflow)[native-inputs]: Use 'emacs-minimal'
instead of 'emacs-no-x'.
* gnu/packages/databases.scm (recutils): Likewise.
* gnu/packages/finance.scm (ledger): Likewise
* gnu/packages/idutils.scm (idutils): Likewise.
* gnu/packages/mail.scm (mu): Likewise.
* gnu/packages/ocaml.scm (proof-general): Likewise.
* gnu/packages/package-management.scm (guix-0.10.0): Likewise.
* gnu/packages/plotutils.scm (asymptote): Likewise.
* gnu/packages/scheme.scm (scmutils): Likewise.
* gnu/packages/version-control.scm (vc-dwim): Likewise.
* gnu/packages/emacs.scm (geiser): Likewise.
(paredit): Likewise.
(git-modes): Likewise.
(magit): Likewise.
(magit-svn): Likewise.
(haskell-mode): Likewise.
(let-alist): Likewise.
(emacs-w3m): Likewise.
(emacs-wget): Likewise.
(emms): Likewise.
(bbdb): Likewise.
(emacs-mmm-mode): Likewise.
(emacs-pdf-tools): Likewise.
(emacs-popup)[native-inputs]: Remove (as 'emacs-minimal' is the default).
(emacs-rfcview): Likewise.
(emacs-ffap-rfc-space): Likewise.
---
gnu/packages/code.scm | 2 +-
gnu/packages/databases.scm | 2 +-
gnu/packages/emacs.scm | 32 +++++++++++++-------------------
gnu/packages/finance.scm | 2 +-
gnu/packages/idutils.scm | 2 +-
gnu/packages/mail.scm | 2 +-
gnu/packages/ocaml.scm | 2 +-
gnu/packages/package-management.scm | 2 +-
gnu/packages/plotutils.scm | 2 +-
gnu/packages/scheme.scm | 2 +-
gnu/packages/version-control.scm | 4 ++--
11 files changed, 24 insertions(+), 30 deletions(-)
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index af671d5..e0d1f83 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -54,7 +54,7 @@
(build-system gnu-build-system)
;; Needed to have cflow-mode.el installed.
- (native-inputs `(("emacs" ,emacs-no-x)))
+ (native-inputs `(("emacs" ,emacs-minimal)))
(home-page "http://www.gnu.org/software/cflow/")
(synopsis "Create a graph of control flow within a program")
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 57181f6..bd535a3 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -381,7 +381,7 @@ pictures, sounds, or video.")
(assoc-ref %build-inputs "bash:include")
"/include/bash"))))
- (native-inputs `(("emacs" ,emacs-no-x)
+ (native-inputs `(("emacs" ,emacs-minimal)
("bc" ,bc)
("bash:include" ,bash "include")
("libuuid" ,util-linux)))
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 077d9af..d3f10db 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -263,7 +263,7 @@ editor (without an X toolkit)" )
"geiser-autoloads.el")))
%standard-phases)))
(inputs `(("guile" ,guile-2.0)))
- (native-inputs `(("emacs" ,emacs-no-x)))
+ (native-inputs `(("emacs" ,emacs-minimal)))
(home-page "http://nongnu.org/geiser/")
(synopsis "Collection of Emacs modes for Guile and Racket hacking")
(description
@@ -287,7 +287,7 @@ metadata.")
(base32
"0pp3n8q6kc70blqsaw0zlzp6bc327dpgdrjr0cnh7hqg1lras7ka"))))
(build-system trivial-build-system)
- (native-inputs `(("emacs" ,emacs-no-x)))
+ (native-inputs `(("emacs" ,emacs-minimal)))
(arguments
`(#:modules ((guix build utils)
(guix build emacs-utils))
@@ -358,7 +358,7 @@ when typing parentheses directly or commenting out code line by line.")
(lisp (string-append
out "/share/emacs/site-lisp/")))
(emacs-generate-autoloads ,name lisp)))))))
- (native-inputs `(("emacs" ,emacs-no-x)))
+ (native-inputs `(("emacs" ,emacs-minimal)))
(home-page "https://github.com/magit/git-modes")
(synopsis "Emacs major modes for Git configuration files")
(description
@@ -405,7 +405,7 @@ on stdout instead of using a socket as the Emacsclient does.")
"0im1jrqw29g5anrrjflj6b2gpyqkvpghnq8zvywxyhmjwzar4rn7"))))
(build-system gnu-build-system)
(native-inputs `(("texinfo" ,texinfo)
- ("emacs" ,emacs-no-x)))
+ ("emacs" ,emacs-minimal)))
(inputs `(("git" ,git)))
(propagated-inputs
`(("dash" ,emacs-dash)
@@ -467,7 +467,7 @@ operations.")
(base32
"04y88j7q9h8xjbx5dbick6n5nr1522sn9i1znp0qwk3vjb4b5mzz"))))
(build-system trivial-build-system)
- (native-inputs `(("emacs" ,emacs-no-x)
+ (native-inputs `(("emacs" ,emacs-minimal)
("tar" ,tar)
("gzip" ,gzip)))
(propagated-inputs `(("dash" ,emacs-dash)
@@ -526,7 +526,7 @@ support for Git-SVN.")
(sha256
(base32 "1kxc2yj8vb122dv91r68h7c5ladcryx963fr16plfhg71fv7f9av"))))
(native-inputs
- `(("emacs" ,emacs-no-x)
+ `(("emacs" ,emacs-minimal)
("texinfo" ,texinfo)))
(build-system gnu-build-system)
(arguments
@@ -607,7 +607,7 @@ programs.")
(setenv "PATH" (string-append emacs "/bin"))
(emacs-byte-compile-directory lispdir)
#t))))
- (native-inputs `(("emacs" ,emacs-no-x)))
+ (native-inputs `(("emacs" ,emacs-minimal)))
(home-page "http://elpa.gnu.org/packages/let-alist.html")
(synopsis "Easily let-bind values of an assoc-list by their names")
(description
@@ -667,7 +667,7 @@ provides an optional IDE-like error list.")
"0zfxmq86pwk64yv0426gnjrvhjrgrjqn08sdcdhmmjmfpmqvm79y"))))
(build-system gnu-build-system)
(native-inputs `(("autoconf" ,autoconf)
- ("emacs" ,emacs-no-x)))
+ ("emacs" ,emacs-minimal)))
(inputs `(("w3m" ,w3m)
("imagemagick" ,imagemagick)))
(arguments
@@ -739,7 +739,7 @@ provides an optional IDE-like error list.")
(base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
(build-system gnu-build-system)
(inputs `(("wget" ,wget)))
- (native-inputs `(("emacs" ,emacs-no-x)))
+ (native-inputs `(("emacs" ,emacs-minimal)))
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
@@ -878,7 +878,7 @@ provides an optional IDE-like error list.")
(chmod target #o555)))
%standard-phases)))
#:tests? #f))
- (native-inputs `(("emacs" ,emacs-no-x) ;for (guix build emacs-utils)
+ (native-inputs `(("emacs" ,emacs-minimal) ;for (guix build emacs-utils)
("texinfo" ,texinfo)))
(inputs `(("alsa-utils" ,alsa-utils)
("vorbis-tools" ,vorbis-tools)
@@ -928,7 +928,7 @@ light user interface.")
(with-directory-excursion site
(symlink "bbdb-loaddefs.el" "bbdb-autoloads.el"))))
%standard-phases)))
- (native-inputs `(("emacs" ,emacs-no-x)))
+ (native-inputs `(("emacs" ,emacs-minimal)))
(home-page "http://savannah.nongnu.org/projects/bbdb/")
(synopsis "Contact management utility for Emacs")
(description
@@ -1011,7 +1011,7 @@ or XEmacs.")
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
- ("emacs" ,emacs-no-x)
+ ("emacs" ,emacs-minimal)
("texinfo" ,texinfo)))
(home-page "https://github.com/purcell/mmm-mode")
(synopsis "Allow multiple major modes in an Emacs buffer")
@@ -1075,7 +1075,7 @@ single buffer.")
(native-inputs `(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)
- ("emacs" ,emacs-no-x)))
+ ("emacs" ,emacs-minimal)))
(propagated-inputs
`(("let-alist" ,let-alist)))
(inputs `(("poppler" ,poppler)
@@ -1489,8 +1489,6 @@ debugging, documentation lookup, and so on.")
(base32
"1yrgfj8y69xmcb6kwgplhq68ndm9410qwh7sd2knnd1gchpphdc0"))))
(build-system emacs-build-system)
- (native-inputs
- `(("emacs" ,emacs-no-x)))
(home-page "https://github.com/auto-complete/popup-el")
(synopsis "Visual Popup User Interface for Emacs")
(description
@@ -1538,8 +1536,6 @@ insertion mode. When enabled all keys are implicitly prefixed with
(base32
"0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
(build-system emacs-build-system)
- (native-inputs
- `(("emacs" ,emacs-no-x)))
(synopsis "Prettify Request for Comments (RFC) documents")
(description "The Internet Engineering Task Force (IETF) and the Internet
Society (ISOC) publish various Internet-related protocols and specifications
@@ -1564,8 +1560,6 @@ local directories.")
(base32
"1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
(build-system emacs-build-system)
- (native-inputs
- `(("emacs" ,emacs-no-x)))
(synopsis "Make ffap recognize an RFC with a space before its number")
(description "The Internet Engineering Task Force (IETF) and the
Internet Society (ISOC) publish various Internet-related protocols and
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index b511d2c..23faead 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -158,7 +158,7 @@ line client and a client based on Qt.")
("tzdata" ,tzdata)
("utfcpp" ,utfcpp)))
(native-inputs
- `(("emacs" ,emacs-no-x)
+ `(("emacs" ,emacs-minimal)
("groff" ,groff)
("texinfo" ,texinfo)))
(home-page "http://ledger-cli.org/")
diff --git a/gnu/packages/idutils.scm b/gnu/packages/idutils.scm
index 7a8e1c6..63760c8 100644
--- a/gnu/packages/idutils.scm
+++ b/gnu/packages/idutils.scm
@@ -37,7 +37,7 @@
"1hmai3422iaqnp34kkzxdnywl7n7pvlxp11vrw66ybxn9wxg90c1"))
(patches (search-patches "diffutils-gets-undeclared.patch"))))
(build-system gnu-build-system)
- (native-inputs `(("emacs" ,emacs-no-x)))
+ (native-inputs `(("emacs" ,emacs-minimal)))
(home-page "http://www.gnu.org/software/idutils/")
(synopsis "Identifier database utilities")
(description
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 0f476eb..39133fc 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -344,7 +344,7 @@ repository and Maildir/IMAP as LOCAL repository.")
("glib" ,glib "bin") ; for gtester
("autoconf" ,autoconf)
("automake" ,automake)
- ("emacs" ,emacs-no-x)
+ ("emacs" ,emacs-minimal)
("libtool" ,libtool)
("texinfo" ,texinfo)))
;; TODO: Add webkit and gtk to build the mug GUI.
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 434fb13..aafae51 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -386,7 +386,7 @@ It is developed using Objective Caml and Camlp5.")
(build-system gnu-build-system)
(native-inputs
`(("which" ,which)
- ("emacs" ,emacs-no-x)
+ ("emacs" ,emacs-minimal)
("texinfo" ,texinfo)))
(inputs
`(("host-emacs" ,emacs)
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 314dc90..993808f 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -152,7 +152,7 @@
#t))))))
(native-inputs `(("pkg-config" ,pkg-config)
- ("emacs" ,emacs-no-x))) ;for guix.el
+ ("emacs" ,emacs-minimal))) ;for guix.el
(inputs
(let ((boot-guile (lambda (arch hash)
(origin
diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index ef61239..5871fb0 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -189,7 +189,7 @@ colors, styles, options and details.")
`(("gs" ,ghostscript) ;For tests
("texinfo" ,texinfo) ;For generating documentation
("texlive" ,texlive) ;For tests and documentation
- ("emacs" ,emacs-no-x)
+ ("emacs" ,emacs-minimal)
("perl" ,perl)))
(inputs
`(("fftw" ,fftw)
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 452de17..13427c5 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -572,7 +572,7 @@ threads.")
(build-system gnu-build-system)
(inputs
`(("mit-scheme" ,mit-scheme)))
- (native-inputs `(("emacs" ,emacs-no-x)))
+ (native-inputs `(("emacs" ,emacs-minimal)))
(arguments
`(#:tests? #f ;; no tests-suite
#:modules ((guix build gnu-build-system)
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 3e0f5b8..7d58d55 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -851,8 +851,8 @@ masters from remote CVS hosts.")
"094pjwshvazlgagc254in2xvrp93vhcj0kb5ms17qs7sch99x9z2"))))
(build-system gnu-build-system)
(inputs `(("perl" ,perl)
- ("inetutils" ,inetutils))) ; for `hostname', used in the tests
- (native-inputs `(("emacs" ,emacs-no-x))) ; for `ctags'
+ ("inetutils" ,inetutils))) ; for `hostname', used in the tests
+ (native-inputs `(("emacs" ,emacs-minimal))) ; for `ctags'
(home-page "http://www.gnu.org/software/vc-dwim/")
(synopsis "Version-control-agnostic ChangeLog diff and commit tool")
(description
--
2.7.3
^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [PATCH 1/6] gnu: Add emacs-minimal.
2016-05-16 18:20 ` [PATCH 1/6] gnu: Add emacs-minimal Alex Kost
@ 2016-05-19 11:52 ` Ludovic Courtès
0 siblings, 0 replies; 20+ messages in thread
From: Ludovic Courtès @ 2016-05-19 11:52 UTC (permalink / raw)
To: Alex Kost; +Cc: guix-devel
Alex Kost <alezost@gmail.com> skribis:
> * gnu/packages/emacs.scm (emacs-minimal): New variable.
Good idea, LGTM!
Ludo’.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 2/6] build-system/emacs: Use "emacs" from native-inputs if specified.
2016-05-16 18:20 ` [PATCH 2/6] build-system/emacs: Use "emacs" from native-inputs if specified Alex Kost
@ 2016-05-19 11:54 ` Ludovic Courtès
2016-05-20 21:21 ` Alex Kost
0 siblings, 1 reply; 20+ messages in thread
From: Ludovic Courtès @ 2016-05-19 11:54 UTC (permalink / raw)
To: Alex Kost; +Cc: guix-devel
Alex Kost <alezost@gmail.com> skribis:
> * guix/build-system/emacs.scm (lower): Do not add "emacs" to
> build-inputs if it is already specified in the native-inputs.
In theory, one could want to have Emacs both in ‘native-inputs’ (to
build .elc files, for instance) and in ‘inputs’ (for instance because
the program embeds a reference to the ‘emacs’ program.)
So I’m rather reluctant about this approach.
Did you find packages where Emacs wrongfully appears twice in the
inputs? It might be best to fix those packages instead.
WDYT?
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 3/6] build-system/emacs: Use 'emacs-minimal' as default emacs for building.
2016-05-16 18:20 ` [PATCH 3/6] build-system/emacs: Use 'emacs-minimal' as default emacs for building Alex Kost
@ 2016-05-19 11:55 ` Ludovic Courtès
0 siblings, 0 replies; 20+ messages in thread
From: Ludovic Courtès @ 2016-05-19 11:55 UTC (permalink / raw)
To: Alex Kost; +Cc: guix-devel
Alex Kost <alezost@gmail.com> skribis:
> * guix/build-system/emacs.scm (default-emacs): Use 'emacs-minimal'.
> ---
> guix/build-system/emacs.scm | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/guix/build-system/emacs.scm b/guix/build-system/emacs.scm
> index 017e6ef..995fce7 100644
> --- a/guix/build-system/emacs.scm
> +++ b/guix/build-system/emacs.scm
> @@ -49,11 +49,7 @@
> "Return the default Emacs package."
> ;; Lazily resolve the binding to avoid a circular dependency.
> (let ((emacs-mod (resolve-interface '(gnu packages emacs))))
> - ;; we use 'emacs' instead of 'emacs-no-x' because the latter appears not
> - ;; to be loading some macros and causes problems to some packages. For
> - ;; example, with the latter AUCTeX gives the error message:
> - ;; "(invalid-function dbus-ignore-errors)".
> - (module-ref emacs-mod 'emacs)))
> + (module-ref emacs-mod 'emacs-minimal)))
Can you confirm that AUCTeX is happy with this patch?
If yes, then OK for me.
Ludo’.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 4/6] gnu: emacs-auctex: Use 'emacs' for byte-compiling.
2016-05-16 18:20 ` [PATCH 4/6] gnu: emacs-auctex: Use 'emacs' for byte-compiling Alex Kost
@ 2016-05-19 11:56 ` Ludovic Courtès
0 siblings, 0 replies; 20+ messages in thread
From: Ludovic Courtès @ 2016-05-19 11:56 UTC (permalink / raw)
To: Alex Kost; +Cc: guix-devel
Alex Kost <alezost@gmail.com> skribis:
> * gnu/packages/emacs.scm (emacs-auctex)[native-inputs]: Add 'emacs'.
> ---
> gnu/packages/emacs.scm | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
> index d31aa73..32e24a4 100644
> --- a/gnu/packages/emacs.scm
> +++ b/gnu/packages/emacs.scm
> @@ -975,7 +975,10 @@ as a library for other Emacs packages.")
> "1pmki8hdjjikxlvip3pzi350bln3gcimr27yjf0xfwjvnp5hh9nc"))))
> (build-system emacs-build-system)
> (native-inputs
> - `(("perl" ,perl)))
> + ;; We use 'emacs' because AUCTeX requires dbus at compile time
> + ;; ('emacs-minimal' does not provide dbus).
> + `(("emacs" ,emacs)
> + ("perl" ,perl)))
Oh I see, maybe this one should come before patch #3.
LGTM.
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 5/6] gnu: Move emacs for building from inputs to native-inputs.
2016-05-16 18:20 ` [PATCH 5/6] gnu: Move emacs for building from inputs to native-inputs Alex Kost
@ 2016-05-19 11:57 ` Ludovic Courtès
2016-05-21 11:08 ` Alex Kost
0 siblings, 1 reply; 20+ messages in thread
From: Ludovic Courtès @ 2016-05-19 11:57 UTC (permalink / raw)
To: Alex Kost; +Cc: guix-devel
Alex Kost <alezost@gmail.com> skribis:
> * gnu/packages/emacs.scm (geiser): Move "emacs" from inputs to native-inputs.
> (paredit): Likewise.
> (haskell-mode): Likewise.
> (emacs-w3m): Likewise.
> (emacs-wget): Likewise.
> * gnu/packages/mail.scm (mu): Likewise.
> * gnu/packages/scheme.scm (scmutils): Likewise.
> * gnu/packages/version-control.scm (vc-dwim): Likewise.
LGTM.
To be clear, this patch is valid if and only if the packages in question
do not contain Emacs among their run-time references (that is, ‘guix gc
-R the-package | grep emacs | wc -l’ is zero.)
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 6/6] gnu: Use 'emacs-minimal' instead of 'emacs-no-x'.
2016-05-16 18:20 ` [PATCH 6/6] gnu: Use 'emacs-minimal' instead of 'emacs-no-x' Alex Kost
@ 2016-05-19 11:58 ` Ludovic Courtès
0 siblings, 0 replies; 20+ messages in thread
From: Ludovic Courtès @ 2016-05-19 11:58 UTC (permalink / raw)
To: Alex Kost; +Cc: guix-devel
Alex Kost <alezost@gmail.com> skribis:
> * gnu/packages/code.scm (cflow)[native-inputs]: Use 'emacs-minimal'
> instead of 'emacs-no-x'.
> * gnu/packages/databases.scm (recutils): Likewise.
> * gnu/packages/finance.scm (ledger): Likewise
> * gnu/packages/idutils.scm (idutils): Likewise.
> * gnu/packages/mail.scm (mu): Likewise.
> * gnu/packages/ocaml.scm (proof-general): Likewise.
> * gnu/packages/package-management.scm (guix-0.10.0): Likewise.
> * gnu/packages/plotutils.scm (asymptote): Likewise.
> * gnu/packages/scheme.scm (scmutils): Likewise.
> * gnu/packages/version-control.scm (vc-dwim): Likewise.
> * gnu/packages/emacs.scm (geiser): Likewise.
> (paredit): Likewise.
> (git-modes): Likewise.
> (magit): Likewise.
> (magit-svn): Likewise.
> (haskell-mode): Likewise.
> (let-alist): Likewise.
> (emacs-w3m): Likewise.
> (emacs-wget): Likewise.
> (emms): Likewise.
> (bbdb): Likewise.
> (emacs-mmm-mode): Likewise.
> (emacs-pdf-tools): Likewise.
> (emacs-popup)[native-inputs]: Remove (as 'emacs-minimal' is the default).
> (emacs-rfcview): Likewise.
> (emacs-ffap-rfc-space): Likewise.
LGTM.
Thanks!
Ludo'.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 2/6] build-system/emacs: Use "emacs" from native-inputs if specified.
@ 2016-05-20 7:15 Federico Beffa
2016-05-20 12:00 ` Ludovic Courtès
2016-05-20 21:37 ` Alex Kost
0 siblings, 2 replies; 20+ messages in thread
From: Federico Beffa @ 2016-05-20 7:15 UTC (permalink / raw)
To: alezost, Guix-devel, Ludovic Courtès
Alex Kost <alezost@gmail.com> writes:
> * guix/build-system/emacs.scm (lower): Do not add "emacs" to
> build-inputs if it is already specified in the native-inputs.
> @@ -73,8 +75,16 @@
>
> ;; Keep the standard inputs of 'gnu-build-system'.
> ,@(standard-packages)))
> - (build-inputs `(("emacs" ,emacs)
> - ,@native-inputs))
> + ;; Add emacs to build-inputs only if native-inputs do not contain
> + ;; emacs already. This allows us to use non-default emacs for
> + ;; building.
> + (build-inputs (if (find (match-lambda
> + (("emacs" _ ...) #t)
> + (_ #f))
> + native-inputs)
> + native-inputs
> + `(("emacs" ,emacs)
> + ,@native-inputs)))
Note that for the interpreter we normally use a keyword, here #:emacs
(in a similar way as, say, for the python-build-system there is
#:python). Your code overwrites its effect in a non-transparent way.
Please use the keyword in the packages where you need an emacs package
different from the default one, or remove all the code related to the
keyword. If you opt for the second one, please be consistent and do the
same for all other build systems.
Fede
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 2/6] build-system/emacs: Use "emacs" from native-inputs if specified.
2016-05-20 7:15 [PATCH 2/6] build-system/emacs: Use "emacs" from native-inputs if specified Federico Beffa
@ 2016-05-20 12:00 ` Ludovic Courtès
2016-05-20 21:24 ` Alex Kost
2016-05-20 21:37 ` Alex Kost
1 sibling, 1 reply; 20+ messages in thread
From: Ludovic Courtès @ 2016-05-20 12:00 UTC (permalink / raw)
To: Federico Beffa; +Cc: Guix-devel, alezost
Federico Beffa <beffa@ieee.org> skribis:
> Alex Kost <alezost@gmail.com> writes:
>
>> * guix/build-system/emacs.scm (lower): Do not add "emacs" to
>> build-inputs if it is already specified in the native-inputs.
>> @@ -73,8 +75,16 @@
>>
>> ;; Keep the standard inputs of 'gnu-build-system'.
>> ,@(standard-packages)))
>> - (build-inputs `(("emacs" ,emacs)
>> - ,@native-inputs))
>> + ;; Add emacs to build-inputs only if native-inputs do not contain
>> + ;; emacs already. This allows us to use non-default emacs for
>> + ;; building.
>> + (build-inputs (if (find (match-lambda
>> + (("emacs" _ ...) #t)
>> + (_ #f))
>> + native-inputs)
>> + native-inputs
>> + `(("emacs" ,emacs)
>> + ,@native-inputs)))
>
> Note that for the interpreter we normally use a keyword, here #:emacs
> (in a similar way as, say, for the python-build-system there is
> #:python). Your code overwrites its effect in a non-transparent way.
Seconded, I prefer #:emacs, which is consistent with cmake-build-system,
python-build-system, etc.
Ludo’.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 2/6] build-system/emacs: Use "emacs" from native-inputs if specified.
2016-05-19 11:54 ` Ludovic Courtès
@ 2016-05-20 21:21 ` Alex Kost
0 siblings, 0 replies; 20+ messages in thread
From: Alex Kost @ 2016-05-20 21:21 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
Ludovic Courtès (2016-05-19 14:54 +0300) wrote:
> Alex Kost <alezost@gmail.com> skribis:
>
>> * guix/build-system/emacs.scm (lower): Do not add "emacs" to
>> build-inputs if it is already specified in the native-inputs.
>
> In theory, one could want to have Emacs both in ‘native-inputs’ (to
> build .elc files, for instance) and in ‘inputs’ (for instance because
> the program embeds a reference to the ‘emacs’ program.)
I don't see a problem here, if "emacs" should be added to inputs, it may
just go there. Nothing prohibits it.
> So I’m rather reluctant about this approach.
>
> Did you find packages where Emacs wrongfully appears twice in the
> inputs? It might be best to fix those packages instead.
Do you mean: appears both in "inputs" and "native-inputs"? If so, then
no, there are no such packages.
But I don't understand how this concerns. The purpose of this patch is
to allow us to use a different "emacs" to build emacs packages. I
would say this is the core patch of the whole patchset. I didn't like
the fact that emacs-build-system uses a full-featured (and heavy on
dependencies) "emacs" package, and I would like to use "emacs-minimal"
instead. But for some rare cases (currently only for auctex),
"emacs-minimal" (or "emacs-no-x") is not enough, so it should be
substituted somehow. That's why I made this patch.
--
Alex
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 2/6] build-system/emacs: Use "emacs" from native-inputs if specified.
2016-05-20 12:00 ` Ludovic Courtès
@ 2016-05-20 21:24 ` Alex Kost
2016-05-22 20:30 ` Ludovic Courtès
0 siblings, 1 reply; 20+ messages in thread
From: Alex Kost @ 2016-05-20 21:24 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: Guix-devel, Federico Beffa
Ludovic Courtès (2016-05-20 15:00 +0300) wrote:
> Federico Beffa <beffa@ieee.org> skribis:
>
>> Alex Kost <alezost@gmail.com> writes:
>>
>>> * guix/build-system/emacs.scm (lower): Do not add "emacs" to
>>> build-inputs if it is already specified in the native-inputs.
>>> @@ -73,8 +75,16 @@
>>>
>>> ;; Keep the standard inputs of 'gnu-build-system'.
>>> ,@(standard-packages)))
>>> - (build-inputs `(("emacs" ,emacs)
>>> - ,@native-inputs))
>>> + ;; Add emacs to build-inputs only if native-inputs do not contain
>>> + ;; emacs already. This allows us to use non-default emacs for
>>> + ;; building.
>>> + (build-inputs (if (find (match-lambda
>>> + (("emacs" _ ...) #t)
>>> + (_ #f))
>>> + native-inputs)
>>> + native-inputs
>>> + `(("emacs" ,emacs)
>>> + ,@native-inputs)))
>>
>> Note that for the interpreter we normally use a keyword, here #:emacs
>> (in a similar way as, say, for the python-build-system there is
>> #:python). Your code overwrites its effect in a non-transparent way.
>
> Seconded, I prefer #:emacs, which is consistent with cmake-build-system,
> python-build-system, etc.
OK, I understand. So we have to stick to a full-featured "emacs" for
emacs-build-system, right? Or do you have ideas how we could use
"emacs-minimal" as the default emacs for building, and replace it with
the full "emacs" for particular packages?
--
Alex
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 2/6] build-system/emacs: Use "emacs" from native-inputs if specified.
2016-05-20 7:15 [PATCH 2/6] build-system/emacs: Use "emacs" from native-inputs if specified Federico Beffa
2016-05-20 12:00 ` Ludovic Courtès
@ 2016-05-20 21:37 ` Alex Kost
1 sibling, 0 replies; 20+ messages in thread
From: Alex Kost @ 2016-05-20 21:37 UTC (permalink / raw)
To: Federico Beffa; +Cc: Guix-devel
Federico Beffa (2016-05-20 10:15 +0300) wrote:
> Alex Kost <alezost@gmail.com> writes:
>
>> * guix/build-system/emacs.scm (lower): Do not add "emacs" to
>> build-inputs if it is already specified in the native-inputs.
>> @@ -73,8 +75,16 @@
>>
>> ;; Keep the standard inputs of 'gnu-build-system'.
>> ,@(standard-packages)))
>> - (build-inputs `(("emacs" ,emacs)
>> - ,@native-inputs))
>> + ;; Add emacs to build-inputs only if native-inputs do not contain
>> + ;; emacs already. This allows us to use non-default emacs for
>> + ;; building.
>> + (build-inputs (if (find (match-lambda
>> + (("emacs" _ ...) #t)
>> + (_ #f))
>> + native-inputs)
>> + native-inputs
>> + `(("emacs" ,emacs)
>> + ,@native-inputs)))
>
> Note that for the interpreter we normally use a keyword, here #:emacs
> (in a similar way as, say, for the python-build-system there is
> #:python). Your code overwrites its effect in a non-transparent way.
>
> Please use the keyword in the packages where you need an emacs package
> different from the default one, or remove all the code related to the
> keyword. If you opt for the second one, please be consistent and do the
> same for all other build systems.
Oh, silly me, now I understand how this keyword works, thanks a lot for
the explanation! I will adjust this patchset accordingly. Please
ignore the previous message I sent to this thread :-)
--
Alex
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 5/6] gnu: Move emacs for building from inputs to native-inputs.
2016-05-19 11:57 ` Ludovic Courtès
@ 2016-05-21 11:08 ` Alex Kost
0 siblings, 0 replies; 20+ messages in thread
From: Alex Kost @ 2016-05-21 11:08 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
Ludovic Courtès (2016-05-19 14:57 +0300) wrote:
> Alex Kost <alezost@gmail.com> skribis:
>
>> * gnu/packages/emacs.scm (geiser): Move "emacs" from inputs to native-inputs.
>> (paredit): Likewise.
>> (haskell-mode): Likewise.
>> (emacs-w3m): Likewise.
>> (emacs-wget): Likewise.
>> * gnu/packages/mail.scm (mu): Likewise.
>> * gnu/packages/scheme.scm (scmutils): Likewise.
>> * gnu/packages/version-control.scm (vc-dwim): Likewise.
>
> LGTM.
>
> To be clear, this patch is valid if and only if the packages in question
> do not contain Emacs among their run-time references (that is, ‘guix gc
> -R the-package | grep emacs | wc -l’ is zero.)
Right, none of these packages has Emacs as the run-time dependency.
--
Alex
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 2/6] build-system/emacs: Use "emacs" from native-inputs if specified.
2016-05-20 21:24 ` Alex Kost
@ 2016-05-22 20:30 ` Ludovic Courtès
0 siblings, 0 replies; 20+ messages in thread
From: Ludovic Courtès @ 2016-05-22 20:30 UTC (permalink / raw)
To: Alex Kost; +Cc: Guix-devel, Federico Beffa
Alex Kost <alezost@gmail.com> skribis:
> Ludovic Courtès (2016-05-20 15:00 +0300) wrote:
>
>> Federico Beffa <beffa@ieee.org> skribis:
>>
>>> Alex Kost <alezost@gmail.com> writes:
>>>
>>>> * guix/build-system/emacs.scm (lower): Do not add "emacs" to
>>>> build-inputs if it is already specified in the native-inputs.
>>>> @@ -73,8 +75,16 @@
>>>>
>>>> ;; Keep the standard inputs of 'gnu-build-system'.
>>>> ,@(standard-packages)))
>>>> - (build-inputs `(("emacs" ,emacs)
>>>> - ,@native-inputs))
>>>> + ;; Add emacs to build-inputs only if native-inputs do not contain
>>>> + ;; emacs already. This allows us to use non-default emacs for
>>>> + ;; building.
>>>> + (build-inputs (if (find (match-lambda
>>>> + (("emacs" _ ...) #t)
>>>> + (_ #f))
>>>> + native-inputs)
>>>> + native-inputs
>>>> + `(("emacs" ,emacs)
>>>> + ,@native-inputs)))
>>>
>>> Note that for the interpreter we normally use a keyword, here #:emacs
>>> (in a similar way as, say, for the python-build-system there is
>>> #:python). Your code overwrites its effect in a non-transparent way.
>>
>> Seconded, I prefer #:emacs, which is consistent with cmake-build-system,
>> python-build-system, etc.
>
> OK, I understand. So we have to stick to a full-featured "emacs" for
> emacs-build-system, right? Or do you have ideas how we could use
> "emacs-minimal" as the default emacs for building, and replace it with
> the full "emacs" for particular packages?
I think emacs-build-system should have a #:emacs parameter (just like
python-build-system has #:python), which would default to
‘emacs-minimal’.
Does that make sense?
Ludo’.
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2016-05-22 20:30 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-16 18:20 [PATCH 0/6] Modifications in building emacs packages Alex Kost
2016-05-16 18:20 ` [PATCH 1/6] gnu: Add emacs-minimal Alex Kost
2016-05-19 11:52 ` Ludovic Courtès
2016-05-16 18:20 ` [PATCH 2/6] build-system/emacs: Use "emacs" from native-inputs if specified Alex Kost
2016-05-19 11:54 ` Ludovic Courtès
2016-05-20 21:21 ` Alex Kost
2016-05-16 18:20 ` [PATCH 3/6] build-system/emacs: Use 'emacs-minimal' as default emacs for building Alex Kost
2016-05-19 11:55 ` Ludovic Courtès
2016-05-16 18:20 ` [PATCH 4/6] gnu: emacs-auctex: Use 'emacs' for byte-compiling Alex Kost
2016-05-19 11:56 ` Ludovic Courtès
2016-05-16 18:20 ` [PATCH 5/6] gnu: Move emacs for building from inputs to native-inputs Alex Kost
2016-05-19 11:57 ` Ludovic Courtès
2016-05-21 11:08 ` Alex Kost
2016-05-16 18:20 ` [PATCH 6/6] gnu: Use 'emacs-minimal' instead of 'emacs-no-x' Alex Kost
2016-05-19 11:58 ` Ludovic Courtès
-- strict thread matches above, loose matches on Subject: below --
2016-05-20 7:15 [PATCH 2/6] build-system/emacs: Use "emacs" from native-inputs if specified Federico Beffa
2016-05-20 12:00 ` Ludovic Courtès
2016-05-20 21:24 ` Alex Kost
2016-05-22 20:30 ` Ludovic Courtès
2016-05-20 21:37 ` Alex Kost
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).