From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Kost Subject: [PATCH 3/4] gnu: emacs: Find packages in "~/.guix-profile". Date: Wed, 6 Jan 2016 19:55:04 +0300 Message-ID: <1452099305-746-4-git-send-email-alezost@gmail.com> References: <1452099305-746-1-git-send-email-alezost@gmail.com> Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42639) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aGrNb-0003Vd-C8 for guix-devel@gnu.org; Wed, 06 Jan 2016 11:56:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aGrNZ-000161-VE for guix-devel@gnu.org; Wed, 06 Jan 2016 11:56:11 -0500 Received: from mail-lf0-x229.google.com ([2a00:1450:4010:c07::229]:34229) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aGrNZ-00015R-No for guix-devel@gnu.org; Wed, 06 Jan 2016 11:56:09 -0500 Received: by mail-lf0-x229.google.com with SMTP id y184so316486212lfc.1 for ; Wed, 06 Jan 2016 08:56:09 -0800 (PST) In-Reply-To: <1452099305-746-1-git-send-email-alezost@gmail.com> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org Cc: Federico Beffa From: Federico Beffa * gnu/packages/emacs.scm (emacs)[inputs]: Add 'guix-src' input. [arguments]: Add 'install-site-start' phase. Co-authored-by: Alex Kost --- gnu/packages/emacs.scm | 49 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 34 insertions(+), 15 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index e82ffd3..54df2ed 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -52,6 +52,7 @@ #:use-module (gnu packages xml) #:use-module (gnu packages glib) #:use-module (gnu packages acl) + #:use-module (gnu packages package-management) #:use-module (gnu packages perl) #:use-module (gnu packages pdf) #:use-module (gnu packages xiph) @@ -73,20 +74,37 @@ (patches (list (search-patch "emacs-exec-path.patch"))))) (build-system glib-or-gtk-build-system) (arguments - '(#:phases (modify-phases %standard-phases - (add-before 'configure 'fix-/bin/pwd - (lambda _ - ;; Use `pwd', not `/bin/pwd'. - (substitute* (find-files "." "^Makefile\\.in$") - (("/bin/pwd") - "pwd")))) - (add-after 'install 'remove-info.info - (lambda* (#:key outputs #:allow-other-keys) - ;; Remove 'info.info', which is provided by Texinfo. - (let ((out (assoc-ref outputs "out"))) - (delete-file - (string-append out "/share/info/info.info.gz")) - #t)))))) + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-/bin/pwd + (lambda _ + ;; Use `pwd', not `/bin/pwd'. + (substitute* (find-files "." "^Makefile\\.in$") + (("/bin/pwd") + "pwd")))) + (add-after 'install 'remove-info.info + (lambda* (#:key outputs #:allow-other-keys) + ;; Remove 'info.info', which is provided by Texinfo. + (let ((out (assoc-ref outputs "out"))) + (delete-file + (string-append out "/share/info/info.info.gz")) + #t))) + (add-after 'install 'install-site-start + (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/" + ,(version-major+minor version) + "/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)) + (with-output-to-file (string-append lisp-dir "/site-start.el") + (lambda () + (display "(require 'guix-emacs nil t)"))) + #t)))))) (inputs `(("gnutls" ,gnutls) ("ncurses" ,ncurses) @@ -111,7 +129,8 @@ ("libice" ,libice) ("libsm" ,libsm) ("alsa-lib" ,alsa-lib) - ("dbus" ,dbus))) + ("dbus" ,dbus) + ("guix-src" ,(package-source guix)))) (native-inputs `(("pkg-config" ,pkg-config) ("texinfo" ,texinfo))) -- 2.6.3