guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/03: build: Produce 'guix-config' instead of using compile-time tricks


From: Mathieu Lirzin
Subject: 01/03: build: Produce 'guix-config' instead of using compile-time tricks.
Date: Sun, 30 Aug 2015 20:49:14 +0000

mthl pushed a commit to branch master
in repository guix.

commit bd6163d13f6445b9a1ec0f85e4a19b9f73ab74ea
Author: Mathieu Lirzin <address@hidden>
Date:   Thu Aug 6 11:36:53 2015 +0200

    build: Produce 'guix-config' instead of using compile-time tricks.
    
    * emacs/guix-{init,profiles}.el.in: Rename to ...
    * emacs/guix-{init,profiles}.el: ... these.  New files.
      Use 'guix-config'.
    * emacs/guix-config.el.in: New file.
    * emacs.am (nodist_lisp_DATA): Add it.  Move them to ...
      (ELFILES): ... here.
    * .gitignore, configure.ac: Adjust accordingly.
---
 .gitignore                                      |    3 +-
 configure.ac                                    |    3 +-
 emacs.am                                        |    6 ++--
 emacs/guix-config.el.in                         |   31 +++++++++++++++++++++++
 emacs/{guix-init.el.in => guix-init.el}         |    4 +-
 emacs/{guix-profiles.el.in => guix-profiles.el} |    4 ++-
 6 files changed, 41 insertions(+), 10 deletions(-)

diff --git a/.gitignore b/.gitignore
index 4547557..a363c07 100644
--- a/.gitignore
+++ b/.gitignore
@@ -120,8 +120,7 @@ GTAGS
 /emacs/Makefile
 /emacs/guix-autoloads.el
 /emacs/guix-helper.scm
-/emacs/guix-init.el
-/emacs/guix-profiles.el
+/emacs/guix-config.el
 /doc/os-config-bare-bones.texi
 /doc/os-config-desktop.texi
 /doc/*.1
diff --git a/configure.ac b/configure.ac
index 247a9d5..cbe5dfb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -205,8 +205,7 @@ AM_CONDITIONAL([HAVE_EMACS], [test "x$EMACS" != "xno"])
 
 emacsuidir="${guilemoduledir}/guix/emacs"
 AC_SUBST([emacsuidir])
-AC_CONFIG_FILES([emacs/guix-init.el
-                 emacs/guix-profiles.el
+AC_CONFIG_FILES([emacs/guix-config.el
                  emacs/guix-helper.scm])
 
 AC_OUTPUT
diff --git a/emacs.am b/emacs.am
index bf91cca..0f1ac94 100644
--- a/emacs.am
+++ b/emacs.am
@@ -26,11 +26,13 @@ ELFILES =                                   \
   emacs/guix-help-vars.el                      \
   emacs/guix-history.el                                \
   emacs/guix-info.el                           \
+  emacs/guix-init.el                           \
   emacs/guix-list.el                           \
   emacs/guix-messages.el                       \
   emacs/guix-pcomplete.el                      \
   emacs/guix-popup.el                          \
   emacs/guix-prettify.el                       \
+  emacs/guix-profiles.el                       \
   emacs/guix-read.el                           \
   emacs/guix-utils.el                          \
   emacs/guix.el
@@ -41,9 +43,7 @@ dist_lisp_DATA =                              \
   $(ELFILES)                                   \
   $(AUTOLOADS)
 
-nodist_lisp_DATA =                             \
-  emacs/guix-init.el                           \
-  emacs/guix-profiles.el
+nodist_lisp_DATA = emacs/guix-config.el
 
 $(AUTOLOADS): $(ELFILES)
        $(EMACS) --batch --eval                                         \
diff --git a/emacs/guix-config.el.in b/emacs/guix-config.el.in
new file mode 100644
index 0000000..8804f72
--- /dev/null
+++ b/emacs/guix-config.el.in
@@ -0,0 +1,31 @@
+;;; guix-config.el --- Compile-time configuration of Guix.
+
+;; Copyright © 2015 Mathieu Lirzin <address@hidden>
+
+;; This file is part of GNU Guix.
+
+;; GNU Guix is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Guix is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Code:
+
+(defconst guix-emacs-interface-directory
+  (replace-regexp-in-string "${prefix}" "@prefix@" "@emacsuidir@"))
+
+(defconst guix-state-directory
+  ;; This must match `NIX_STATE_DIR' as defined in `daemon.am'.
+  (or (getenv "NIX_STATE_DIR") "@guix_localstatedir@/guix"))
+
+(provide 'guix-config)
+
+;;; guix-config.el ends here
diff --git a/emacs/guix-init.el.in b/emacs/guix-init.el
similarity index 84%
rename from emacs/guix-init.el.in
rename to emacs/guix-init.el
index 728bc37..6ea6fcd 100644
--- a/emacs/guix-init.el.in
+++ b/emacs/guix-init.el
@@ -1,7 +1,7 @@
+(require 'guix-config)
 (require 'guix-autoloads)
 
-(defvar guix-load-path
-  (replace-regexp-in-string "${prefix}" "@prefix@" "@emacsuidir@")
+(defvar guix-load-path guix-emacs-interface-directory
   "Directory with scheme files for \"guix.el\" package.")
 
 (defcustom guix-package-enable-at-startup t
diff --git a/emacs/guix-profiles.el.in b/emacs/guix-profiles.el
similarity index 96%
rename from emacs/guix-profiles.el.in
rename to emacs/guix-profiles.el
index 1e43707..1a41745 100644
--- a/emacs/guix-profiles.el.in
+++ b/emacs/guix-profiles.el
@@ -19,12 +19,14 @@
 
 ;;; Code:
 
+(require 'guix-config)
+
 (defvar guix-user-profile
   (expand-file-name "~/.guix-profile")
   "User profile.")
 
 (defvar guix-default-profile
-  (concat (or (getenv "NIX_STATE_DIR") "@guix_localstatedir@/guix")
+  (concat guix-state-directory
           "/profiles/per-user/"
           (getenv "USER")
           "/guix-profile")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]