mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 13:58:15 -05:00
build: Capture configure-time settings in (guix config).
* configure.ac: Compute and substitute `guix_localstatedir'. * m4/guix.m4: Substitute `guix_system'. * guix/config.scm.in (%store-directory, %store-directory, %system): New variables. * guix/store.scm (%nix-state-dir): Remove. (%default-socket-path): Use %STATE-DIRECTORY as the default. (%store-prefix): Use %STORE-DIRECTORY as the default. * guix/utils.scm (%current-system): Default to %SYSTEM.
This commit is contained in:
parent
69cfce50db
commit
d8eea3d2bc
5 changed files with 24 additions and 5 deletions
|
@ -30,6 +30,11 @@ AC_ARG_WITH(store-dir,
|
||||||
[storedir="/nix/store"])
|
[storedir="/nix/store"])
|
||||||
AC_SUBST(storedir)
|
AC_SUBST(storedir)
|
||||||
|
|
||||||
|
# Prepare a version of $localstatedir that does not contain references
|
||||||
|
# to shell variables.
|
||||||
|
guix_localstatedir="`eval echo $localstatedir | sed -e "s|NONE|/usr/local|g"`"
|
||||||
|
AC_SUBST([guix_localstatedir])
|
||||||
|
|
||||||
PKG_CHECK_MODULES([GUILE], [guile-2.0])
|
PKG_CHECK_MODULES([GUILE], [guile-2.0])
|
||||||
AC_PATH_PROG([GUILE], [guile])
|
AC_PATH_PROG([GUILE], [guile])
|
||||||
AC_PATH_PROG([GUILD], [guild])
|
AC_PATH_PROG([GUILD], [guild])
|
||||||
|
|
|
@ -20,6 +20,9 @@ (define-module (guix config)
|
||||||
#:export (%guix-package-name
|
#:export (%guix-package-name
|
||||||
%guix-version
|
%guix-version
|
||||||
%guix-bug-report-address
|
%guix-bug-report-address
|
||||||
|
%store-directory
|
||||||
|
%state-directory
|
||||||
|
%system
|
||||||
%libgcrypt
|
%libgcrypt
|
||||||
%nixpkgs
|
%nixpkgs
|
||||||
%nix-instantiate))
|
%nix-instantiate))
|
||||||
|
@ -39,6 +42,15 @@ (define %guix-version
|
||||||
(define %guix-bug-report-address
|
(define %guix-bug-report-address
|
||||||
"@PACKAGE_BUGREPORT@")
|
"@PACKAGE_BUGREPORT@")
|
||||||
|
|
||||||
|
(define %store-directory
|
||||||
|
"@storedir@")
|
||||||
|
|
||||||
|
(define %state-directory
|
||||||
|
"@guix_localstatedir@")
|
||||||
|
|
||||||
|
(define %system
|
||||||
|
"@guix_system@")
|
||||||
|
|
||||||
(define %libgcrypt
|
(define %libgcrypt
|
||||||
"@LIBGCRYPT@")
|
"@LIBGCRYPT@")
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
|
|
||||||
(define-module (guix store)
|
(define-module (guix store)
|
||||||
#:use-module (guix utils)
|
#:use-module (guix utils)
|
||||||
|
#:use-module (guix config)
|
||||||
#:use-module (rnrs bytevectors)
|
#:use-module (rnrs bytevectors)
|
||||||
#:use-module (rnrs io ports)
|
#:use-module (rnrs io ports)
|
||||||
#:use-module (srfi srfi-1)
|
#:use-module (srfi srfi-1)
|
||||||
|
@ -111,10 +112,9 @@ (define-enumerate-type hash-algo
|
||||||
(sha1 2)
|
(sha1 2)
|
||||||
(sha256 3))
|
(sha256 3))
|
||||||
|
|
||||||
(define %nix-state-dir
|
|
||||||
(or (getenv "NIX_STATE_DIR") "/nix/var/nix"))
|
|
||||||
(define %default-socket-path
|
(define %default-socket-path
|
||||||
(string-append %nix-state-dir "/daemon-socket/socket"))
|
(string-append (or (getenv "NIX_STATE_DIR") %state-directory)
|
||||||
|
"/daemon-socket/socket"))
|
||||||
|
|
||||||
|
|
||||||
;; serialize.cc
|
;; serialize.cc
|
||||||
|
@ -439,7 +439,7 @@ (define-operation (add-indirect-root (string file-name))
|
||||||
(define %store-prefix
|
(define %store-prefix
|
||||||
;; Absolute path to the Nix store.
|
;; Absolute path to the Nix store.
|
||||||
(make-parameter (or (and=> (getenv "NIX_STORE_DIR") canonicalize-path)
|
(make-parameter (or (and=> (getenv "NIX_STORE_DIR") canonicalize-path)
|
||||||
"/nix/store")))
|
%store-directory)))
|
||||||
|
|
||||||
(define (store-path? path)
|
(define (store-path? path)
|
||||||
"Return #t if PATH is a store path."
|
"Return #t if PATH is a store path."
|
||||||
|
|
|
@ -342,7 +342,8 @@ (define (gnu-triplet->nix-system triplet)
|
||||||
|
|
||||||
(define %current-system
|
(define %current-system
|
||||||
;; System type as expected by Nix, usually ARCHITECTURE-KERNEL.
|
;; System type as expected by Nix, usually ARCHITECTURE-KERNEL.
|
||||||
(make-parameter (gnu-triplet->nix-system %host-type)))
|
;; By default, this is equal to (gnu-triplet->nix-system %host-type).
|
||||||
|
(make-parameter %system))
|
||||||
|
|
||||||
(define (package-name->name+version name)
|
(define (package-name->name+version name)
|
||||||
"Given NAME, a package name like \"foo-0.9.1b\", return two values:
|
"Given NAME, a package name like \"foo-0.9.1b\", return two values:
|
||||||
|
|
|
@ -61,4 +61,5 @@ AC_DEFUN([GUIX_SYSTEM_TYPE], [
|
||||||
# `darwin10.2.0', etc.
|
# `darwin10.2.0', etc.
|
||||||
guix_system="$machine_name-`echo $host_os | "$SED" -e's/@<:@0-9.@:>@*$//g'`";;
|
guix_system="$machine_name-`echo $host_os | "$SED" -e's/@<:@0-9.@:>@*$//g'`";;
|
||||||
esac])
|
esac])
|
||||||
|
AC_SUBST([guix_system])
|
||||||
])
|
])
|
||||||
|
|
Loading…
Reference in a new issue