From 4c0c65acfade63ce0549115d19db4b639c1e9992 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 27 Jul 2020 16:36:39 +0200 Subject: Use "guile-zlib" and "guile-lzlib" instead of (guix config). * Makefile.am (MODULES): Remove guix/zlib.scm and guix/lzlib.scm, (SCM_TESTS): remove tests/zlib.scm, tests/lzlib.scm. * build-aux/build-self.scm (make-config.scm): Remove unused %libz variable. * configure.ac: Remove LIBZ and LIBLZ variables and check instead for Guile-zlib and Guile-lzlib. * doc/guix.texi ("Requirements"): Remove zlib requirement and add Guile-zlib and Guile-lzlib instead. * gnu/packages/package-management.scm (guix)[native-inputs]: Add "guile-zlib" and "guile-lzlib", [inputs]: remove "zlib" and "lzlib", [propagated-inputs]: ditto, [arguments]: add "guile-zlib" and "guile-lzlib" to Guile load path. * guix/config.scm.in (%libz, %liblz): Remove them. * guix/lzlib.scm: Remove it. * guix/man-db.scm: Use (zlib) instead of (guix zlib). * guix/profiles.scm (manual-database): Do not stub (guix config) in imported modules list, instead add "guile-zlib" to the extension list. * guix/scripts/publish.scm: Use (zlib) instead of (guix zlib) and (lzlib) instead of (guix lzlib), (string->compression-type, effective-compression): do not check for zlib and lzlib availability. * guix/scripts/substitute.scm (%compression-methods): Do not check for lzlib availability. * guix/self.scm (specification->package): Add "guile-zlib" and "guile-lzlib" and remove "zlib" and "lzlib", (compiled-guix): remove "zlib" and "lzlib" arguments and add guile-zlib and guile-lzlib to the dependencies, also do not pass "zlib" and "lzlib" to "make-config.scm" procedure, (make-config.scm): remove "zlib" and "lzlib" arguments as well as %libz and %liblz variables. * guix/utils.scm (lzip-port): Use (lzlib) instead of (guix lzlib) and do not check for lzlib availability. * guix/zlib.scm: Remove it. * m4/guix.m4 (GUIX_LIBZ_LIBDIR, GUIX_LIBLZ_FILE_NAME): Remove them. * tests/lzlib.scm: Use (zlib) instead of (guix zlib) and (lzlib) instead of (guix lzlib), and do not check for zlib and lzlib availability. * tests/publish.scm: Ditto. * tests/substitute.scm: Do not check for lzlib availability. * tests/utils.scm: Ditto. * tests/zlib.scm: Remove it. --- configure.ac | 33 ++++++++++++--------------------- 1 file changed, 12 insertions(+), 21 deletions(-) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index 7675eef7c4..5d549cc3af 100644 --- a/configure.ac +++ b/configure.ac @@ -141,6 +141,18 @@ if test "x$guix_cv_have_recent_guile_gcrypt" != "xyes"; then AC_MSG_ERROR([A recent Guile-Gcrypt could not be found; please install it.]) fi +dnl Check for Guile-zlib. +GUILE_MODULE_AVAILABLE([have_guile_zlib], [(zlib)]) +if test "x$have_guile_zlib" != "xyes"; then + AC_MSG_ERROR([Guile-zlib is missing; please install it.]) +fi + +dnl Check for Guile-lzlib. +GUILE_MODULE_AVAILABLE([have_guile_lzlib], [(lzlib)]) +if test "x$have_guile_lzlib" != "xyes"; then + AC_MSG_ERROR([Guile-lzlib is missing; please install it.]) +fi + dnl Guile-newt is used by the graphical installer. GUILE_MODULE_AVAILABLE([have_guile_newt], [(newt)]) @@ -245,27 +257,6 @@ esac AC_SUBST([LIBGCRYPT_PREFIX]) AC_SUBST([LIBGCRYPT_LIBDIR]) -dnl Library name of zlib suitable for 'dynamic-link'. -GUIX_LIBZ_LIBDIR([libz_libdir]) -if test "x$libz_libdir" = "x"; then - LIBZ="libz" -else - LIBZ="$libz_libdir/libz" -fi -AC_MSG_CHECKING([for zlib's shared library name]) -AC_MSG_RESULT([$LIBZ]) -AC_SUBST([LIBZ]) - -dnl Library name of lzlib suitable for 'dynamic-link'. -GUIX_LIBLZ_FILE_NAME([LIBLZ]) -if test "x$LIBLZ" = "x"; then - LIBLZ="liblz" -else - # Strip the .so or .so.1 extension since that's what 'dynamic-link' expects. - LIBLZ="`echo $LIBLZ | sed -es'/\.so\(\.[[0-9.]]\+\)\?//g'`" -fi -AC_SUBST([LIBLZ]) - dnl Check for Guile-SSH, for the (guix ssh) module. GUIX_CHECK_GUILE_SSH AM_CONDITIONAL([HAVE_GUILE_SSH], -- cgit 1.4.1 From f5d3a1690cb78ce9413b78352f1030bf4801617a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 29 Aug 2020 12:27:38 +0200 Subject: build: Remove check for Guile 2.2.1 bug. This check is unnecessary since e688c2df3924423b67892cc9939ca099c729d1cb. * m4/guix.m4 (GUIX_ASSERT_SYNTAX_OBJECT_EQUAL): Remove. * configure.ac: Remove user. --- configure.ac | 4 ---- m4/guix.m4 | 20 -------------------- 2 files changed, 24 deletions(-) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index 5d549cc3af..7959d08cd7 100644 --- a/configure.ac +++ b/configure.ac @@ -171,10 +171,6 @@ AM_CONDITIONAL([ENABLE_INSTALLER], dnl Make sure we have a full-fledged Guile. GUIX_ASSERT_GUILE_FEATURES([regex posix socket net-db threads]) -dnl Make sure we don't suffer from the bug in 'equal?' wrt. syntax objects -dnl found in 2.2.1. See . -GUIX_ASSERT_SYNTAX_OBJECT_EQUAL - AC_PROG_SED dnl Decompressors, for use by the substituter and other modules. diff --git a/m4/guix.m4 b/m4/guix.m4 index b7bf74ccc8..7256e792a5 100644 --- a/m4/guix.m4 +++ b/m4/guix.m4 @@ -118,26 +118,6 @@ AC_DEFUN([GUIX_ASSERT_GUILE_FEATURES], [ done ]) -dnl GUIX_ASSERT_SYNTAX_OBJECT_EQUAL -dnl -dnl Guile 2.2.1 was a brown-paper-bag release where 'equal?' wouldn't work -dnl for syntax objects, which broke gexps. Unfortunately Fedora 25 provides it. -dnl Reject it. -AC_DEFUN([GUIX_ASSERT_SYNTAX_OBJECT_EQUAL], [ - AC_CACHE_CHECK([whether 'equal?' works for syntax objects], - [ac_cv_guix_syntax_object_equal], - [if "$GUILE" -c '(exit (equal? (syntax x) (syntax x)))' - then - ac_cv_guix_syntax_object_equal=yes - else - ac_cv_guix_syntax_object_equal=no - fi]) - if test "x$ac_cv_guix_syntax_object_equal" != xyes; then - # This bug was present in Guile 2.2.1 only. - AC_MSG_ERROR(['equal?' does not work for syntax object; upgrade to Guile 2.2.2 or later.]) - fi -]) - dnl GUIX_CHECK_GUILE_SSH dnl dnl Check whether a recent-enough Guile-SSH is available. -- cgit 1.4.1 From d7965b58d25c9c7648ba5682223f32d759fdffda Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 29 Aug 2020 12:33:21 +0200 Subject: build: Remove references to the 'nix-hash' program. * configure.ac: Remove check for 'nix-hash'. * tests/base32.scm (%nix-hash, %have-nix-hash?): Remove. ("sha256 & bytevector->nix-base32-string"): Remove test. * build-aux/pre-inst-env.in: Do not set 'NIX_HASH' environment variable. --- build-aux/pre-inst-env.in | 9 +-------- configure.ac | 5 ----- tests/base32.scm | 31 +------------------------------ 3 files changed, 2 insertions(+), 43 deletions(-) (limited to 'configure.ac') diff --git a/build-aux/pre-inst-env.in b/build-aux/pre-inst-env.in index e0aa7fe868..cd90a06cbc 100644 --- a/build-aux/pre-inst-env.in +++ b/build-aux/pre-inst-env.in @@ -1,7 +1,7 @@ #!/bin/sh # GNU Guix --- Functional package management for GNU -# Copyright © 2012, 2013, 2014, 2015, 2017, 2018, 2019 Ludovic Courtès +# Copyright © 2012, 2013, 2014, 2015, 2017, 2018, 2019, 2020 Ludovic Courtès # Copyright © 2017 Eric Bavier # # This file is part of GNU Guix. @@ -46,13 +46,6 @@ export PATH GUIX="$abs_top_builddir/scripts/guix" export GUIX -# The following variables need only be defined when compiling Guix -# modules, but we define them to be on the safe side in case of -# auto-compilation. - -NIX_HASH="@NIX_HASH@" -export NIX_HASH - # Define $GUIX_UNINSTALLED to prevent `guix' from # prepending @guilemoduledir@ to the Guile load paths. diff --git a/configure.ac b/configure.ac index 7959d08cd7..adca374619 100644 --- a/configure.ac +++ b/configure.ac @@ -194,11 +194,6 @@ AC_ARG_WITH([nix-prefix], esac], []) -AC_PATH_PROG([NIX_HASH], [nix-hash]) -if test "x$guix_build_daemon$NIX_HASH" = "xno"; then - AC_MSG_ERROR([Nix programs not found; please install Nix or use `--with-nix-prefix'.]) -fi - AC_ARG_WITH([nixpkgs], [AS_HELP_STRING([--with-nixpkgs=DIR], [search for Nixpkgs in DIR (for testing purposes only)])], diff --git a/tests/base32.scm b/tests/base32.scm index 134e578633..a999edcacc 100644 --- a/tests/base32.scm +++ b/tests/base32.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2015 Ludovic Courtès +;;; Copyright © 2012, 2013, 2015, 2020 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,26 +23,12 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-34) #:use-module (srfi srfi-64) - #:use-module (ice-9 rdelim) - #:use-module (ice-9 popen) #:use-module (ice-9 match) #:use-module (rnrs bytevectors) #:use-module (rnrs io ports)) ;; Test the (guix base32) module. -(define %nix-hash - (or (and=> (getenv "NIX_HASH") - (match-lambda - ("" #f) - (val val))) - "nix-hash")) - -(define %have-nix-hash? - ;; Note: Use `system', not `system*', because of . - (false-if-exception - (zero? (system (string-append %nix-hash " --version"))))) - (test-begin "base32") (test-assert "bytevector->base32-string" @@ -85,19 +71,4 @@ (nix-base32-string->bytevector (string-append (make-string 51 #\a) "e")))) -;; The following test requires `nix-hash' in $PATH. -(unless %have-nix-hash? - (test-skip 1)) - -(test-assert "sha256 & bytevector->nix-base32-string" - (let ((file (search-path %load-path "tests/test.drv"))) - (equal? (bytevector->nix-base32-string - (sha256 (call-with-input-file file get-bytevector-all))) - (let* ((c (format #f "~a --type sha256 --base32 --flat \"~a\"" - %nix-hash file)) - (p (open-input-pipe c)) - (l (read-line p))) - (close-pipe p) - l)))) - (test-end) -- cgit 1.4.1