Rename <package-source> to <origin>; use the `letrec*' behavior in packages. * guix/packages.scm (<package-source>): Rename to... (<origin>): ... this. Update users. * distro/base.scm (libsigsegv, gawk, hello): Adjust to renaming; refer to VERSION to build the URL.
Add a `base32' macro, for convenience. * guix/packages.scm (base32): New macro. * distro/base.scm (libsigsegv, gawk, hello): Use it.
packages: Allow the `arguments' field to be a procedure. * guix/packages.scm (package-derivation): When ARGS is a procedure, call (ARGS SYSTEM). * distro/base.scm (gawk)[arguments]: Turn into a procedure, to disable tests on Cygwin.
distro: libsigsegv: Use multiple outputs. * distro/base.scm (libsigsegv)[outputs]: New field (gawk)[arguments]: Clear. [inputs]: Add the "lib" output of LIBSIGSEGV.
distro: Add libsigsegv and GNU Awk. * guix/packages.scm (<package>)[arguments]: Default to '(). * distro/base.scm (libsigsegv, gawk): New packages. (hello): Use GAWK instead of (nixpkgs-derivation "gawk").
packages: Add a `home-page' field. * guix/packages.scm (<package>)[home-page]: New field. * distro/base.scm (hello)[home-page]: Initialize.
Add a declarative packaging layer. * Makefile.am (MODULES): Add `guix/packages.scm' and `distro/base.scm'. (TESTS): Add `tests/packages.scm'. (EXTRA_DIST): New variable. * guix/packages.scm, distro/base.scm, tests/packages.scm: New files. * guix/http.scm (http-fetch): Make `name' an optional argument, to match the expectations of `package-source-derivation'.