diff options
-rw-r--r-- | Makefile.am | 6 | ||||
-rw-r--r-- | configure.ac | 13 | ||||
-rw-r--r-- | guix/config.scm.in.in (renamed from guix/config.scm.in) | 16 | ||||
-rw-r--r-- | guix/store/derivations.scm | 3 |
4 files changed, 33 insertions, 5 deletions
diff --git a/Makefile.am b/Makefile.am index 344ecdbc42..0bce8ac9f1 100644 --- a/Makefile.am +++ b/Makefile.am @@ -39,7 +39,8 @@ do_subst = $(SED) \ -e 's,[@]GUILE[@],$(GUILE),g' \ -e 's,[@]guilemoduledir[@],$(guilemoduledir),g' \ -e 's,[@]guileobjectdir[@],$(guileobjectdir),g' \ - -e 's,[@]localedir[@],$(localedir),g' + -e 's,[@]localedir[@],$(localedir),g' \ + -e 's,[@]Libexecdir[@],$(libexecdir),g' scripts/guix: scripts/guix.in Makefile $(AM_V_at)rm -f $@ $@-t @@ -47,6 +48,9 @@ scripts/guix: scripts/guix.in Makefile $(AM_V_GEN)$(do_subst) < "$(srcdir)/$@.in" > "$@-t" $(AM_V_at)chmod a+x,a-w "$@-t" && mv -f "$@-t" "$@" +guix/config.scm: guix/config.scm.in + $(AM_V_GEN)$(do_subst) < "$@.in" > "$@" + nodist_noinst_SCRIPTS = \ pre-inst-env \ test-env diff --git a/configure.ac b/configure.ac index 6a6a020585..9125fe94ec 100644 --- a/configure.ac +++ b/configure.ac @@ -61,6 +61,17 @@ AC_ARG_WITH([selinux-policy-dir], [selinux_policydir='${datadir}/selinux/']) AC_SUBST([selinux_policydir]) +AC_ARG_WITH(impersonate-linux-2.6-default, + AC_HELP_STRING([--with-impersonate-linux-2.6-default], + [Whether builds should should impersonate linux 2.6 by default]), + [if test "x$withval" = "xyes"; then + impersonate_linux26="#t"; + else + impersonate_linux26="#f"; + fi], + [impersonate_linux26="#f"]) +AC_SUBST(impersonate_linux26) + dnl Better be verbose. AC_MSG_CHECKING([for the store directory]) AC_MSG_RESULT([$storedir]) @@ -306,7 +317,7 @@ AC_CONFIG_FILES([Makefile po/guix/Makefile.in po/packages/Makefile.in etc/guix-daemon.cil - guix/config.scm]) + guix/config.scm.in]) AC_CONFIG_FILES([test-env:build-aux/test-env.in], [chmod +x test-env]) AC_CONFIG_FILES([pre-inst-env:build-aux/pre-inst-env.in], diff --git a/guix/config.scm.in b/guix/config.scm.in.in index 0ada0f3c38..1f1e41924a 100644 --- a/guix/config.scm.in +++ b/guix/config.scm.in.in @@ -26,6 +26,8 @@ %storedir %localstatedir %sysconfdir + %temp-directory + %libexecdir %store-directory %state-directory @@ -37,7 +39,8 @@ %liblz %gzip %bzip2 - %xz)) + %xz + %impersonate-linux-2.6?)) ;;; Commentary: ;;; @@ -64,9 +67,20 @@ (define %localstatedir "@guix_localstatedir@") +(define %temp-directory + (or (getenv "TMPDIR") + "/tmp")) + +(define %impersonate-linux-2.6? + (make-parameter @impersonate_linux26@)) + (define %sysconfdir "@guix_sysconfdir@") +(define %libexecdir + (or (getenv "NIX_LIBEXEC_DIR") + "@Libexecdir@/guix")) + (define %store-directory (or (and=> (getenv "NIX_STORE_DIR") canonicalize-path) %storedir)) diff --git a/guix/store/derivations.scm b/guix/store/derivations.scm index 188396953d..b65f68efb6 100644 --- a/guix/store/derivations.scm +++ b/guix/store/derivations.scm @@ -317,7 +317,7 @@ name of each input with that input's hash." (make-derivation-input hash sub-drvs)))) inputs))) (make-derivation outputs - (sort inputs + (sort (delete-duplicates inputs) (lambda (drv1 drv2) (string<? (derivation-input-derivation drv1) (derivation-input-derivation drv2)))) @@ -353,7 +353,6 @@ long-running processes that know what they're doing. Use with care!" ;; Typically this is meant to be used by Cuirass and Hydra, which can clear ;; caches when they start evaluating packages for another architecture. (invalidate-memoization! derivation->bytevector) - (invalidate-memoization! derivation-base16-hash) ;; FIXME: Comment out to work around <https://bugs.gnu.org/36487>. ;; (hash-clear! %derivation-cache) |