From 59d04f63dfe8b68906e4cccc60ca27cbd546db78 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sat, 18 Feb 2017 11:24:41 +0300 Subject: gnu: emacs: Move "guix-emacs.el" to "aux-files". * emacs/guix-emacs.el: Rename to... * gnu/packages/aux-files/emacs/guix-emacs.el: ... this. * Makefile.am (AUX_FILES): Add it. * gnu/packages/emacs.scm (emacs)[inputs]: Remove 'guix' source. [native-inputs]: Add "guix-emacs.el" auxiliary file. [arguments]: Adjust 'install-site-start' phase accordingly. --- gnu/packages/emacs.scm | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) (limited to 'gnu/packages/emacs.scm') diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 863624fc0f..3e722c326b 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -133,19 +133,15 @@ (("/bin/pwd") "pwd")))) (add-after 'install 'install-site-start - ;; Copy guix-emacs.el from Guix and add it to site-start.el. This - ;; way, Emacs packages provided by Guix and installed in + ;; Use 'guix-emacs' in "site-start.el". This way, Emacs packages + ;; provided by Guix and installed in ;; ~/.guix-profile/share/emacs/site-lisp/guix.d/PACKAGE-VERSION are ;; automatically found. (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((guix-src (assoc-ref inputs "guix-src")) - (out (assoc-ref outputs "out")) - (lisp-dir (string-append out "/share/emacs/site-lisp")) - (unpack (assoc-ref %standard-phases 'unpack))) - (mkdir "guix") - (with-directory-excursion "guix" - (apply unpack (list #:source guix-src)) - (install-file "emacs/guix-emacs.el" lisp-dir)) + (let* ((out (assoc-ref outputs "out")) + (lisp-dir (string-append out "/share/emacs/site-lisp"))) + (copy-file (assoc-ref inputs "guix-emacs.el") + (string-append lisp-dir "/guix-emacs.el")) (with-output-to-file (string-append lisp-dir "/site-start.el") (lambda () (display "(require 'guix-emacs nil t)"))) @@ -175,13 +171,13 @@ ("libsm" ,libsm) ("alsa-lib" ,alsa-lib) ("dbus" ,dbus) - ("guix-src" ,(package-source guix)) ;; multilingualization support ("libotf" ,libotf) ("m17n-lib" ,m17n-lib))) (native-inputs - `(("pkg-config" ,pkg-config) + `(("guix-emacs.el" ,(search-auxiliary-file "emacs/guix-emacs.el")) + ("pkg-config" ,pkg-config) ("texinfo" ,texinfo))) (native-search-paths -- cgit v1.2.3 From 9bd94544be43b7d028e1aaeb4069b07bdb24610f Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sat, 18 Feb 2017 11:44:52 +0300 Subject: gnu: emacs: Simplify "guix-emacs.el". * gnu/packages/aux-files/emacs/guix-emacs.el: Do not try to require 'guix-profiles'. Do not call 'guix-emacs-autoload-packages' in the top level. (guix-package-enable-at-startup): Remove. This variable can't be set by a user since this file is loaded before user config. (guix-emacs-autoload-packages): Use 'guix-read-package-profile' instead of 'guix-profile-prompt' in interactive clause (it was renamed in Emacs-Guix). * gnu/packages/emacs.scm (emacs)[arguments]: Call 'guix-emacs-autoload-packages' in "site-start.el" after requiring 'guix-emacs'. --- gnu/packages/aux-files/emacs/guix-emacs.el | 21 +++++---------------- gnu/packages/emacs.scm | 4 +++- 2 files changed, 8 insertions(+), 17 deletions(-) (limited to 'gnu/packages/emacs.scm') diff --git a/gnu/packages/aux-files/emacs/guix-emacs.el b/gnu/packages/aux-files/emacs/guix-emacs.el index 099261a013..2bbd639ffd 100644 --- a/gnu/packages/aux-files/emacs/guix-emacs.el +++ b/gnu/packages/aux-files/emacs/guix-emacs.el @@ -1,6 +1,6 @@ ;;; guix-emacs.el --- Emacs packages installed with Guix -;; Copyright © 2014, 2015, 2016 Alex Kost +;; Copyright © 2014, 2015, 2016, 2017 Alex Kost ;; This file is part of GNU Guix. @@ -19,22 +19,14 @@ ;;; Commentary: -;; This file provides auxiliary code for working with Emacs packages +;; This file provides auxiliary code to autoload Emacs packages ;; installed with Guix. ;;; Code: (require 'cl-lib) -(unless (require 'guix-profiles nil t) - (defvar guix-user-profile (expand-file-name "~/.guix-profile"))) -(defcustom guix-package-enable-at-startup t - "If non-nil, activate Emacs packages installed in a user profile. -Set this variable to nil before requiring `guix-emacs' file to -avoid loading autoloads of Emacs packages installed in -`guix-user-profile'." - :type 'boolean - :group 'guix) +(defvar guix-user-profile (expand-file-name "~/.guix-profile")) (defvar guix-emacs-autoloads nil "List of the last loaded Emacs autoloads.") @@ -92,8 +84,8 @@ profiles. 'Autoload' means add directories with Emacs packages to `load-path' and load 'autoloads' files matching `guix-emacs-autoloads-regexp'." - (interactive (list (if (fboundp 'guix-profile-prompt) - (funcall 'guix-profile-prompt) + (interactive (list (if (fboundp 'guix-read-package-profile) + (funcall 'guix-read-package-profile) guix-user-profile))) (let ((profiles (or profiles (list "/run/current-system/profile" @@ -115,9 +107,6 @@ profiles. (setq guix-emacs-autoloads (append new-autoloads guix-emacs-autoloads)))))))) -(when guix-package-enable-at-startup - (guix-emacs-autoload-packages)) - (provide 'guix-emacs) ;;; guix-emacs.el ends here diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 3e722c326b..ca3b832dc0 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -144,7 +144,9 @@ (string-append lisp-dir "/guix-emacs.el")) (with-output-to-file (string-append lisp-dir "/site-start.el") (lambda () - (display "(require 'guix-emacs nil t)"))) + (display + (string-append "(when (require 'guix-emacs nil t)\n" + " (guix-emacs-autoload-packages))\n")))) #t)))))) (inputs `(("gnutls" ,gnutls) -- cgit v1.2.3 From b4905fc1d999d8730274c08d5494a0daa237d168 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Mon, 27 Feb 2017 18:11:10 +0300 Subject: gnu: emacs-guix: Update to 0.3. * gnu/packages/emacs.scm (emacs-guix): Update to 0.3. --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/emacs.scm') diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index ca3b832dc0..cc8d9c0d0c 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1324,7 +1324,7 @@ type, for example: packages, buffers, files, etc.") (define-public emacs-guix (package (name "emacs-guix") - (version "0.2.2") + (version "0.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/alezost/guix.el" @@ -1332,7 +1332,7 @@ type, for example: packages, buffers, files, etc.") "/emacs-guix-" version ".tar.gz")) (sha256 (base32 - "1i47yh24xvgmnc778765g3j9ip0xb2y85v6w83r4qmkigk9rl2ck")))) + "1327zp140c7acckk0ajl88cgwr0lk9j3mb67nsq2janxrkwmj6br")))) (build-system gnu-build-system) (arguments `(#:configure-flags -- cgit v1.2.3 From c1029f86e3a11518ee26c8fc994fb401fe2e581c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 7 Mar 2017 08:28:28 +0100 Subject: gnu: Add emacs-yasnippet. * gnu/packages/emacs.scm (emacs-yasnippet): New variable. --- gnu/packages/emacs.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu/packages/emacs.scm') diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index cc8d9c0d0c..1daf8e4e68 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -3832,3 +3832,23 @@ mode-line.") (description "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.") (license license:gpl3+))) + +(define-public emacs-yasnippet + (package + (name "emacs-yasnippet") + (version "0.11.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/joaotavora/yasnippet/" + "archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15di6mkkf09b7qddpsrm0qln02hji3sx8blya5jxssi9wxxx9iq5")))) + (build-system emacs-build-system) + (home-page "http://github.com/joaotavora/yasnippet") + (synopsis "Yet another snippet extension for Emacs") + (description + "YASnippet is a template system for Emacs. It allows you to type an +abbreviation and automatically expand it into function templates.") + (license license:gpl3+))) -- cgit v1.2.3