~ruther/guix-local

e76bdf8b87920b87a2a2e728c2e40ff24ca39ffe — Ludovic Courtès 13 years ago 81dbd78
build: Clearly mark Nixpkgs as optional.

* configure.ac: Always show the result of checking for Nixpkgs.  Don't
  warn when Nixpkgs is not found.
* Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): Remove `--with-nixpkgs'
  flag.
* guix/utils.scm (%nixpkgs-directory): Use either the compile-time or
  the run-time `NIXPKGS' environment variable.
* release.nix (jobs.tarball, jobs.build): Remove `--with-nixpkgs'
  configure flag.
* README: Mark Nixpkgs as optional.

* distro/packages/databases.scm, distro/packages/guile.scm,
  distro/packages/typesetting.scm: Change uses of `nixpkgs-derivation*'
  to `nixpkgs-derivation', to avoid failing at compile-time.
M Makefile.am => Makefile.am +2 -2
@@ 171,5 171,5 @@ info_TEXINFOS = doc/guix.texi
EXTRA_DIST += doc/fdl-1.3.texi

ACLOCAL_AMFLAGS = -I m4
AM_DISTCHECK_CONFIGURE_FLAGS =					\
  --with-nixpkgs=$(NIXPKGS) --with-nix-prefix="$(NIX_PREFIX)"
AM_DISTCHECK_CONFIGURE_FLAGS =			\
  --with-nix-prefix="$(NIX_PREFIX)"

M README => README +1 -1
@@ 19,7 19,7 @@ Guix currently depends on the following packages:
  - [[http://nixos.org/nix/][Nix]]
  - [[http://gnupg.org/][GNU libgcrypt]], or [[http://nongnu.org/libchop/][libchop]]

For bootstrapping purposes, it is useful to reuse packages from Nixpkgs.
Optionally, packages from Nixpkgs may be transparently reused from Guix.
For this to work, you need to have a checkout of the Nixpkgs repository;
the `--with-nixpkgs' option allows you to let `configure' know where the
Nixpkgs checkout is.

M configure.ac => configure.ac +2 -3
@@ 52,13 52,12 @@ AC_ARG_WITH([nixpkgs],
   esac],
  [])

AC_MSG_CHECKING([for Nixpkgs source tree])
if test -f "$NIXPKGS/default.nix"; then
   AC_MSG_CHECKING([for Nixpkgs source tree])
   AC_MSG_RESULT([$NIXPKGS])
   AC_SUBST([NIXPKGS])
else
   AC_MSG_WARN([Nixpkgs not found; this will prevent most tests from running.])
   AC_MSG_WARN([Please use `--with-nixpkgs'.])
   AC_MSG_RESULT([not found])
fi

AC_ARG_WITH([libgcrypt-prefix],

M distro/packages/databases.scm => distro/packages/databases.scm +4 -4
@@ 41,10 41,10 @@
             (base32
              "1v2xzwwwhc5j5kmvg4sv6baxjpsfqh8ln7ilv4mgb1408rs7xmky"))))
   (build-system gnu-build-system)
   (inputs `(("curl" ,(nixpkgs-derivation* "curl"))
             ("emacs" ,(nixpkgs-derivation* "emacs"))
             ("check" ,(nixpkgs-derivation* "check"))
             ("bc" ,(nixpkgs-derivation* "bc"))
   (inputs `(("curl" ,(nixpkgs-derivation "curl"))
             ("emacs" ,(nixpkgs-derivation "emacs"))
             ("check" ,(nixpkgs-derivation "check"))
             ("bc" ,(nixpkgs-derivation "bc"))
             ("patch/gets"
              ,(search-patch "diffutils-gets-undeclared.patch"))))
   (arguments `(#:patches (list (assoc-ref %build-inputs "patch/gets"))))

M distro/packages/guile.scm => distro/packages/guile.scm +1 -1
@@ 45,7 45,7 @@ or 2.0."
               "1svlyk5pm4fsdp2g7n6qffdl6fdggxnlicj0jn9s4lxd63gzxy1n"))))
   (build-system gnu-build-system)
   (native-inputs `(("pkgconfig" ,pkg-config)
                    ("gperf" ,(nixpkgs-derivation* "gperf"))))
                    ("gperf" ,(nixpkgs-derivation "gperf"))))
   (inputs `(("guile" ,guile)))
   (description "Guile-Reader, a simple framework for building readers for
GNU Guile")

M distro/packages/typesetting.scm => distro/packages/typesetting.scm +1 -1
@@ 94,7 94,7 @@
               "12gkyqrn0kaa8xq7sc7v3wm407pz2fxg9ngc75aybhi5z825b9vq"))))
    (build-system gnu-build-system)               ; actually, just a makefile
    (outputs '("out" "doc"))
    (inputs `(("ghostscript" ,(nixpkgs-derivation* "ghostscript"))))
    (inputs `(("ghostscript" ,(nixpkgs-derivation "ghostscript"))))
    (arguments `(#:modules ((guix build utils)
                            (guix build gnu-build-system)
                            (srfi srfi-1))        ; we need SRFI-1

M guix/utils.scm => guix/utils.scm +2 -1
@@ 458,7 458,8 @@ starting from the right of S."
(define %nixpkgs-directory
  (make-parameter
   ;; Capture the build-time value of $NIXPKGS.
   (compile-time-value (getenv "NIXPKGS"))))
   (or (compile-time-value (getenv "NIXPKGS"))
       (getenv "NIXPKGS"))))

(define* (nixpkgs-derivation attribute #:optional (system (%current-system)))
  "Return the derivation path of ATTRIBUTE in Nixpkgs."

M release.nix => release.nix +2 -2
@@ 51,7 51,7 @@ let
        buildInputs = with pkgs; [ guile ];
        buildNativeInputs = with pkgs; [ texinfo gettext cvs pkgconfig ];
        configureFlags =
          [ "--with-nixpkgs=${nixpkgs}" "--with-nix-prefix=${pkgs.nix}" ];
          [ "--with-nix-prefix=${pkgs.nix}" ];
      };

    build =


@@ 64,7 64,7 @@ let
        buildNativeInputs = [ pkgs.pkgconfig ];
        src = jobs.tarball;
        configureFlags =
          [ "--with-nixpkgs=${nixpkgs}" "--with-nix-prefix=${pkgs.nix}"
          [ "--with-nix-prefix=${pkgs.nix}"
            "--with-libgcrypt-prefix=${pkgs.libgcrypt}"
          ];