Browse Source

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.
gn-latest-20200428
Mathieu Lirzin 5 years ago
parent
commit
bd6163d13f
6 changed files with 41 additions and 10 deletions
  1. +1
    -2
      .gitignore
  2. +1
    -2
      configure.ac
  3. +3
    -3
      emacs.am
  4. +31
    -0
      emacs/guix-config.el.in
  5. +2
    -2
      emacs/guix-init.el
  6. +3
    -1
      emacs/guix-profiles.el

+ 1
- 2
.gitignore View File

@@ -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


+ 1
- 2
configure.ac View File

@@ -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

+ 3
- 3
emacs.am View File

@@ -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 \


+ 31
- 0
emacs/guix-config.el.in View File

@@ -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

emacs/guix-init.el.in → emacs/guix-init.el View File

@@ -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

emacs/guix-profiles.el.in → emacs/guix-profiles.el View File

@@ -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")

Loading…
Cancel
Save