diff options
author | Mathieu Lirzin <mthl@openmailbox.org> | 2015-08-06 11:36:53 +0200 |
---|---|---|
committer | Mathieu Lirzin <mthl@openmailbox.org> | 2015-08-30 19:20:12 +0200 |
commit | bd6163d13f6445b9a1ec0f85e4a19b9f73ab74ea (patch) | |
tree | 99396ace587f2c69c05882e88910fba37fb605fa | |
parent | eb097f36b1c3e7a25f1ce212670e8a19788fd195 (diff) | |
download | guix-bd6163d13f6445b9a1ec0f85e4a19b9f73ab74ea.tar.gz guix-bd6163d13f6445b9a1ec0f85e4a19b9f73ab74ea.zip |
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.
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | configure.ac | 3 | ||||
-rw-r--r-- | emacs.am | 6 | ||||
-rw-r--r-- | emacs/guix-config.el.in | 31 | ||||
-rw-r--r-- | emacs/guix-init.el (renamed from emacs/guix-init.el.in) | 4 | ||||
-rw-r--r-- | emacs/guix-profiles.el (renamed from emacs/guix-profiles.el.in) | 4 |
6 files changed, 41 insertions, 10 deletions
diff --git a/.gitignore b/.gitignore index 4547557631..a363c074ca 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 247a9d5068..cbe5dfb67e 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 @@ -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 0000000000..8804f72357 --- /dev/null +++ b/emacs/guix-config.el.in @@ -0,0 +1,31 @@ +;;; guix-config.el --- Compile-time configuration of Guix. + +;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org> + +;; 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 index 728bc375c2..6ea6fcd0b0 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 index 1e43707b68..1a41745512 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") |