aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* distro: Patch libc to avoid accessing /etc/ld.so.cache and friends.Ludovic Courtès2012-11-13
| | | | | | | * distro/packages/base.scm (glibc): Apply `glibc-no-ld-so-cache.patch'. (glibc-final): Inherit GLIBC's inputs. * distro/packages/patches/glibc-no-ld-so-cache.patch: New file. * Makefile.am (dist_patch_DATA): Add it.
* distro: Use `mirror://' URLs.Ludovic Courtès2012-11-13
| | | | | | | | | | | | * distro/packages/base.scm, distro/packages/bash.scm, distro/packages/compression.scm, distro/packages/gawk.scm, distro/packages/gperf.scm, distro/packages/guile.scm, distro/packages/libsigsegv.scm, distro/packages/libtool.scm, distro/packages/libunistring.scm, distro/packages/m4.scm, distro/packages/multiprecision.scm, distro/packages/ncurses.scm, distro/packages/pth.scm, distro/packages/readline.scm, distro/packages/recutils.scm: Use `mirror://gnu' URLs. * distro/packages/gnupg.scm: Use `mirror://gnupg' URLs.
* download: Add support for mirror:// URLs.Ludovic Courtès2012-11-13
| | | | | | | | | | | * guix/download.scm (%mirrors): New variable. Mirror lists taken from Nixpkgs. (url-fetch): New `mirrors' keyword parameter. [builder]: Pass it. * guix/build/download.scm (url-fetch): New `mirrors' keyword parameter. [maybe-expand-mirrors]: New procedure. [uri]: Use it.
* download: Follow HTTP redirections.Ludovic Courtès2012-11-13
| | | | | * guix/build/download.scm (http-fetch): Follow the redirection when CODE is 302.
* Remove (guix http) and (guix ftp).Ludovic Courtès2012-11-13
| | | | | | | | | | | | | | | | | | | | | | * guix/ftp.scm, guix/http.scm, guix/build/ftp.scm, guix/build/http.scm: Remove. * Makefile.am (MODULES): Likewise. * tests/builders.scm, distro/packages/base.scm, distro/packages/bash.scm, distro/packages/bdw-gc.scm, distro/packages/compression.scm, distro/packages/gawk.scm, distro/packages/gnupg.scm, distro/packages/gperf.scm, distro/packages/guile.scm, distro/packages/libffi.scm, distro/packages/libsigsegv.scm, distro/packages/libtool.scm, distro/packages/libunistring.scm, distro/packages/lout.scm, distro/packages/m4.scm, distro/packages/multiprecision.scm, distro/packages/ncurses.scm, distro/packages/perl.scm, distro/packages/pkg-config.scm, distro/packages/pth.scm, distro/packages/readline.scm, distro/packages/recutils.scm: Use `url-fetch' instead of `http-fetch' and `ftp-fetch'. * distro/packages/bootstrap.scm: Likewise (bootstrap-origin): Remove references to `http-fetch' and `ftp-fetch'. * guix.scm (%public-modules): Remove `http' and `ftp'; add `download'.
* Add (guix download) and (guix build download).Ludovic Courtès2012-11-12
| | | | | | | | | | * guix/download.scm, guix/build/download.scm: New files. * Makefile.am (MODULES): Add them. * tests/builders.scm ("url-fetch"): New test. * distro/packages/bootstrap.scm (bootstrap-origin): Support `url-fetch'. * guix/snix.scm (snix-derivation->guix-package): Use `url-fetch' instead of `http-fetch'.
* Move base32 code to (guix base32).Ludovic Courtès2012-11-11
| | | | | | | | | | | | | | | | | | | | | | * guix/utils.scm (bytevector-quintet-ref, bytevector-quintet-ref-right, bytevector-quintet-length, bytevector-quintet-fold, bytevector-quintet-fold-right, make-bytevector->base32-string, %nix-base32-chars, %rfc4648-base32-chars, bytevector->base32-string, bytevector->nix-base32-string, bytevector-quintet-set!, bytevector-quintet-set-right!, base32-string-unfold, base32-string-unfold-right, make-base32-string->bytevector, base32-string->bytevector, nix-base32-string->bytevector): Move to... * guix/base32.scm: ... here. New file. * tests/utils.scm (%nix-hash, "bytevector->base32-string", "base32-string->bytevector", "nix-base32-string->bytevector", "sha256 & bytevector->base32-string"): Move to... * tests/base32.scm: ... here. New file * guix-download.in, guix/derivations.scm, guix/packages.scm, guix/snix.scm, tests/builders.scm, tests/derivations.scm: Adjust accordingly. * guix.scm (%public-modules): Add `base32'.
* tests: Choose a less expensive test for packages.Ludovic Courtès2012-11-09
| | | | | | | * tests/packages.scm (%bootstrap-inputs): Remove. ("GNU Hello"): Rename to... ("GNU Make, bootstrap"): ... this. Build GNU-MAKE-BOOT0 instead of HELLO.
* http: Add informative output.Ludovic Courtès2012-11-09
| | | | | * guix/build/http.scm (http-fetch): Emit message indicating the download.
* http: Check the HTTP response code, and bail if not 200.Ludovic Courtès2012-11-09
| | | | | * guix/build/http.scm (http-fetch): Check RESP's code; error out when it's not 200.
* derivations: build-expression->derivation: Builder only refers to sources.Ludovic Courtès2012-11-09
| | | | | | | | | | * guix/derivations.scm (build-expression->derivation)[source-path]: New procedure. [builder]: Pass only sources as references. This fixes a bug whereby changing a fixed-output drv referred to by a builder would cause the builder's hash to change, thereby leading to a full rebuild. * tests/derivations.scm ("build-expression->derivation with a fixed-output input"): New test.
* derivations: Add tests relative to fixed-output derivations.Ludovic Courtès2012-11-08
| | | | | | | | * tests/derivations.scm ("fixed-output derivation"): Add comment that the reference to BUILDER is optional. ("fixed-output derivation: output paths are equal", "derivation with a fixed-output input", "build-expression->derivation: same fixed-output path"): New tests.
* store: Document `add-to-store' hack for `fixed?'.Ludovic Courtès2012-11-08
| | | | * guix/store.scm (add-to-store): Document that `fixed?' must be #t.
* guix-download: Print the hash of the file's contents, no that of the path.Ludovic Courtès2012-11-08
| | | | | * guix-download.in (guix-download): Display the hash of the contents of PATH, not the path hash. Also, call `add-to-store' with FIXED? = #t.
* guix-download: Error out when the HTTP response code is not 200.Ludovic Courtès2012-11-08
| | | | | | | | * guix-download.in (http-fetch): Leave with an error message when RESPONSE's code is not 200. * tests/guix-download.sh: New file. * Makefile.am (TESTS): Add it.
* guix-build: Error out when `-S' used for source-less package.Ludovic Courtès2012-11-07
| | | | | | | * guix-build.in (derivations-from-package-expressions): Leave with an error message when SOURCE? is #t and P has no source. * tests/guix-build.sh: Add test.
* doc: Document the features and `guix-package'.Ludovic Courtès2012-11-07
| | | | | | * doc/guix.texi: Change the category to "Package management". Add an @direntry for "Invoking guix-package". (Package Management): New chapter.
* guix-package: Fix handling of the PACKAGE:OUTPUT syntax.Ludovic Courtès2012-11-07
| | | | | | | * guix-package.in (guix-package)[find-package]: Return the correct NAME and SUB-DRV when NAME contains #\:. * tests/guix-package.sh (profile): Add test.
* guix-package: Fix invalid module use.Ludovic Courtès2012-11-07
| | | | * guix-package.in: Use (distro packages guile), not (... base).
* build: Remove now unnecessary dependency of downloads on guix/utils.go.Ludovic Courtès2012-11-07
| | | | | | * Makefile.am (distro/packages/bootstrap/x86_64-linux/guile-bootstrap-2.0.6.tar.xz, distro/packages/bootstrap/i686-linux/guile-bootstrap-2.0.6.tar.xz): Remove dependency on guix/utils.go.
* doc: Document `guix-build'.Ludovic Courtès2012-11-07
| | | | * doc/guix.texi (Invoking guix-build): Populate.
* doc: Remove unnecessary @ifinfo.Ludovic Courtès2012-11-07
| | | | | * doc/guix.texi: Remove @ifinfo around @dir{category,entry}. Suggested by Karl Berry <karl@freefriends.org>.
* distro: Move bootstrap tarball packages to (distro packages make-bootstrap).Ludovic Courtès2012-11-06
| | | | | | | | | | | | * distro/packages/base.scm (binutils-final): Make public. (static-package, %bash-static, %static-inputs, %static-binaries, %binutils-static, %binutils-static-stripped, %glibc-stripped, %gcc-static, %gcc-stripped, %guile-static, %guile-static-stripped, tarball-package, %bootstrap-binaries-tarball, %binutils-bootstrap-tarball, %glibc-bootstrap-tarball, %guile-bootstrap-tarball): Move to... * distro/packages/make-bootstrap.scm: ... here. New file. * Makefile.am (MODULES): Add it.
* distro: bash-final: Link with `-static-libgcc'.Ludovic Courtès2012-11-05
| | | | | * distro/packages/base.scm (bash-final): Pass through `static-libgcc-package'.
* build-system/gnu: Add `static-libgcc-package' & supporting procedure.Ludovic Courtès2012-11-05
| | | | | * guix/build-system/gnu.scm (package-with-extra-configure-variable, static-libgcc-package): New procedures.
* distro: gcc: Don't add a RUNPATH to GCC when using `-static-libgcc'.Ludovic Courtès2012-11-05
| | | | | * distro/packages/base.scm (gcc-4.7)[LIB_SPEC]: Add a `-rpath' to GCC only when !static and !static-libgcc.
* distro: readline: Allow stripping of the libraires.Ludovic Courtès2012-11-05
| | | | | * distro/packages/readline.scm (readline)[arguments]: Add `post-install' phase to make libraries writable.
* utils: Add `default-keyword-arguments' and `substitute-keyword-arguments'.Ludovic Courtès2012-11-05
| | | | | | * distro/packages/base.scm (default-keyword-arguments, substitute-keyword-arguments): Move to... * guix/utils.scm: ... here.
* distro: Add missing `package-with-bootstrap-guile'.Ludovic Courtès2012-11-05
| | | | | * distro/packages/base.scm (binutils-final): Add missing `package-with-bootstrap-guile'.
* distro: recutils: Comment out optional dependencies.Ludovic Courtès2012-11-05
| | | | | * distro/packages/recutils.scm (recutils): Comment out optional dependencies not packaged here.
* distro: Add GnuPG and companion libraries.Ludovic Courtès2012-11-05
| | | | | * distro/packages/gnupg.scm: New file. * Makefile.am (MODULES): Add it.
* distro: Add zlib.Ludovic Courtès2012-11-05
| | | | * distro/packages/compression.scm (zlib): New variable.
* distro: Add (distro packages compression).Ludovic Courtès2012-11-04
| | | | | | * distro/packages/base.scm (gzip, bzip2, xz): Move to... * distro/packages/compression.scm: ... here. New file. * Makefile.am (MODULES): Add it.
* distro: Add GNU Pth.Ludovic Courtès2012-11-04
| | | | | * distro/packages/pth.scm: New file. * Makefile.am (MODULES): Add it.
* distro: Add GNU gperf.Ludovic Courtès2012-11-04
| | | | | | * distro/packages/gperf.scm: New file. * Makefile.am (MODULES): Add it. * distro/packages/guile.scm (guile-reader): Use it.
* distro: Split (distro packages base) into several files.Ludovic Courtès2012-11-04
| | | | | | | | | | | | | | | | * distro/packages/base.scm (libsigsegv, gawk, perl, m4, gmp, mpfr, mpc, ncurses, readline, bash, libtool, libunistring, libffi, pkg-config, libgc): Move to modules of their own. (guile-1.8, guile-2.0): Move to... * distro/packages/guile.scm: ... here. * distro/packages/bash.scm, distro/packages/bdw-gc.scm, distro/packages/gawk.scm, distro/packages/libffi.scm, distro/packages/libsigsegv.scm, distro/packages/libtool.scm, distro/packages/libunistring.scm, distro/packages/m4.scm, distro/packages/multiprecision.scm, distro/packages/ncurses.scm, distro/packages/perl.scm, distro/packages/pkg-config.scm, distro/packages/readline.scm: New files.
* distro: Move bootstrap packages to (distro packages bootstrap).Ludovic Courtès2012-11-04
| | | | | | | | | | | | | | | | | | * distro/packages/base.scm (glibc-dynamic-linker, %bootstrap-guile, bootstrap-origin, package-from-tarball, %bootstrap-base-url, %bootstrap-coreutils&co, %bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc, %bootstrap-inputs, package-with-bootstrap-guile): Move to ... * distro/packages/bootstrap.scm: ... here. New file. * Makefile.am (MODULES): Add it. * tests/builders.scm: Use (distro packages bootstrap). (%bootstrap-guile): Remove. * tests/packages.scm: Likewise. * tests/union.scm: Likewise, and remove @@ to access %bootstrap-inputs. * tests/derivations.scm: Use (distro packages bootstrap) and remove @@ to access %bootstrap-coreutils&co. * HACKING (When the platform is supported by Nixpkgs): Update accordingly.
* distro: Go for one module per package.Ludovic Courtès2012-11-04
| | | | | | | | | | | | | | | | The alternative, which was to use one module per category, would probably not scale well. First, because many packages could fall into several categories (does GnuTLS go into "networking", "security", or "libraries"?). Second, because that could easily lead to circular dependencies among modules ("security" and "networking" depend on each other, etc.) * distro/packages/databases.scm: Rename to... * distro/packages/recutils.scm: ... this. * distro/packages/typesetting.scm: Rename to... * distro/packages/lout.scm: ... this. * Makefile.am (MODULES): Adjust accordingly. * po/POTFILES.in: Likewise.
* doc: Add "Adding new packages" in `HACKING'.Ludovic Courtès2012-11-04
| | | | * HACKING (Adding new packages): New section.
* Add (guix snix) and the `guix-import' command.Ludovic Courtès2012-11-04
| | | | | | | | * guix/snix.scm, tests/snix.scm, guix-import.in: New files. * configure.ac: Output `guix-import' and make it executable. * Makefile.am (bin_SCRIPTS): Add `guix-import'. (MODULES): Add `guix/snix.scm'. (TESTS): Add `tests/snix.scm'.
* guix-package: Remove extraneous procedures.Ludovic Courtès2012-11-04
| | | | * guix-package.in (_, N_): Remove.
* packages: `description' → `synopsis', `long-description' → `description'.Ludovic Courtès2012-11-04
| | | | | | | | | * guix/packages.scm (<package>): Rename `description' to `synopsis', and `long-description' to `description'. * tests/packages.scm, distro/packages/base.scm, distro/packages/databases.scm, distro/packages/guile.scm, distro/packages/typesetting.scm: Update accordingly. * po/Makevars (XGETTEXT_OPTIONS): Update `--keyword' flags accordingly.
* release.nix: Pass `--with-libgcrypt-prefix' in the `tarball' job.Ludovic Courtès2012-11-04
| | | | | * release.nix (jobs.tarball)[configureFlags]: Pass `--with-libgcrypt-prefix'.
* utils: Add `package-name->name+version'.Ludovic Courtès2012-11-04
| | | | | | * guix/utils.scm (package-name->name+version): New procedure. * guix-package.in (guix-package)[find-package]: Use it. * tests/utils.scm ("package-name->name+version"): New test.
* build: Require GNU libgcrypt.Ludovic Courtès2012-11-03
| | | | | | | | | | | | * guix/utils.scm (sha256): Remove Coreutils- and libchop-based implementations. * README: Update accordingly. * m4/guix.m4: New file. * configure.ac: Use `GUIX_ASSERT_LIBGCRYPT_USABLE'. Set and substitute `LIBGCRYPT_PREFIX'. * Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): Pass `--with-libgcrypt-prefix=$(LIBGCRYPT_PREFIX)'.
* guix-package: Use more (guix ui) features.Ludovic Courtès2012-11-03
| | | | | * guix-package.in (leave): Remove. (guix-package): Wrap body in `with-error-handling'.
* ui: Factorize `--version'.Ludovic Courtès2012-11-03
| | | | | | | | * guix/ui.scm (show-version-and-exit): New procedure. * guix-build.in (show-version): Remove. (%options)["version"]: Use `show-version-and-exit'. * guix-download.in: Likewise. * guix-package.in: Likewise.
* build: Produce (guix config) instead of using compile-time tricks.Ludovic Courtès2012-11-03
| | | | | | | | | | | | | | * guix/config.scm.in: New file. * guix/utils.scm: Use it. (%libgcrypt): Remove. (%nixpkgs-directory): Don't capture the compile-time $NIXPKGS; use %NIXPKGS instead. (nixpkgs-derivation): Use %NIX-INSTANTIATE. * pre-inst-env.in (NIX_INSTANTIATE, NIXPKGS, LIBGCRYPT): Remove. * configure.ac: Emit `guix/config.scm'. * Makefile.am (GOBJECTS): Add `guix/config.go'. (nobase_nodist_guilemodule_DATA): Add `guix/config.scm'.
* build: Clearly mark Nixpkgs as optional.Ludovic Courtès2012-11-03
| | | | | | | | | | | | | | | | * 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.
* tests: Run without substitutes.Ludovic Courtès2012-11-02
| | | | | * tests/builders.scm, tests/derivations.scm, tests/packages.scm: Set #:use-substitutes? #f for %STORE.