summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2012-11-05distro: Add missing `package-with-bootstrap-guile'.•••* distro/packages/base.scm (binutils-final): Add missing `package-with-bootstrap-guile'. Ludovic Courtès
2012-11-05distro: recutils: Comment out optional dependencies.•••* distro/packages/recutils.scm (recutils): Comment out optional dependencies not packaged here. Ludovic Courtès
2012-11-05distro: Add GnuPG and companion libraries.•••* distro/packages/gnupg.scm: New file. * Makefile.am (MODULES): Add it. Ludovic Courtès
2012-11-05distro: Add zlib.•••* distro/packages/compression.scm (zlib): New variable. Ludovic Courtès
2012-11-04distro: Add (distro packages compression).•••* distro/packages/base.scm (gzip, bzip2, xz): Move to... * distro/packages/compression.scm: ... here. New file. * Makefile.am (MODULES): Add it. Ludovic Courtès
2012-11-04distro: Add GNU Pth.•••* distro/packages/pth.scm: New file. * Makefile.am (MODULES): Add it. Ludovic Courtès
2012-11-04distro: Add GNU gperf.•••* distro/packages/gperf.scm: New file. * Makefile.am (MODULES): Add it. * distro/packages/guile.scm (guile-reader): Use it. Ludovic Courtès
2012-11-04distro: Split (distro packages base) into several files.•••* 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. Ludovic Courtès
2012-11-04distro: Move bootstrap packages to (distro packages bootstrap).•••* 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. Ludovic Courtès
2012-11-04distro: Go for one module per package.•••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. Ludovic Courtès
2012-11-04doc: Add "Adding new packages" in `HACKING'.•••* HACKING (Adding new packages): New section. Ludovic Courtès
2012-11-04Add (guix snix) and the `guix-import' command.•••* 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'. Ludovic Courtès
2012-11-04guix-package: Remove extraneous procedures.•••* guix-package.in (_, N_): Remove. Ludovic Courtès
2012-11-04packages: `description' → `synopsis', `long-description' → `description'.•••* 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. Ludovic Courtès
2012-11-04release.nix: Pass `--with-libgcrypt-prefix' in the `tarball' job.•••* release.nix (jobs.tarball)[configureFlags]: Pass `--with-libgcrypt-prefix'. Ludovic Courtès
2012-11-04utils: Add `package-name->name+version'.•••* 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. Ludovic Courtès
2012-11-03build: Require GNU libgcrypt.•••* 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)'. Ludovic Courtès
2012-11-03guix-package: Use more (guix ui) features.•••* guix-package.in (leave): Remove. (guix-package): Wrap body in `with-error-handling'. Ludovic Courtès
2012-11-03ui: Factorize `--version'.•••* 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. Ludovic Courtès
2012-11-03build: Produce (guix config) instead of using compile-time tricks.•••* 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'. Ludovic Courtès
2012-11-03build: 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. Ludovic Courtès
2012-11-02tests: Run without substitutes.•••* tests/builders.scm, tests/derivations.scm, tests/packages.scm: Set #:use-substitutes? #f for %STORE. Ludovic Courtès
2012-11-01Add a preliminary `guix-package' command-line tool.•••* guix-package.in, tests/guix-package.sh: New files. * configure.ac: Output `guix-package'. * Makefile.am (TESTS): Add `tests/guix-package.sh'. (bin_SCRIPTS): Add `guix-package'. Ludovic Courtès
2012-11-01store: Add `store-path-package-name'.•••* guix/store.scm (store-path-package-name): New procedure. * tests/utils.scm ("store-path-package-name"): New test. Ludovic Courtès
2012-11-01utils: Remove stuff committed by error.•••This was wrongfully committed in df1fab58. * guix/utils.scm (hash-set-proc, hash-ref*, memoizing-lambda): Remove. Ludovic Courtès
2012-11-01build: Add unit test for the `guix-build' command.•••* tests/guix-build.sh: New file. * Makefile.am (TESTS): Add it. (LOG_COMPILER): Rename to... (SCM_LOG_COMPILER): ... this. Move flags to... (AM_SCM_LOG_FLAGS): ... this. (TEST_EXTENSIONS, SH_LOG_COMPILER, AM_SH_LOG_FLAGS): New variables. Ludovic Courtès
2012-11-01Add (guix ui).•••* guix/ui.scm: New file. * Makefile.am (MODULES): Add it. * po/POTFILES.in: Add it. * guix-build.in: Use it. (_, N_, leave): Remove. (guix-build): Use `with-error-handling' instead of the `guard' form. * guix-download.in: Use it. (_, N_, leave): Remove. Ludovic Courtès
2012-10-31build-system/gnu: Distinguish between imported modules and used modules.•••* guix/build-system/gnu.scm (gnu-build): Add the `imported-modules' keyword parameter. Pass it to `build-expression->derivation'. Ludovic Courtès
2012-10-31release.nix: Use `--no-substitutes' in `distro.hello'.•••* release.nix (distro.hello): Use `guix-build --no-substitutes', to avoid failures due to unavailable stale substitutes on hydra.nixos.org. Ludovic Courtès
2012-10-30guix-build: Add `--root'.•••* guix/store.scm (add-indirect-root): New operation. * guix-build.in (show-help): Document `--root'. (%options): Add `--root'. (guix-build)[register-root]: New procedure. Call it when `--root' is passed. Ludovic Courtès
2012-10-29Add (guix build union).•••* guix/build/union.scm, tests/union.scm: New files. * Makefile.am (MODULES): Add `guix/build/union.scm'. (TESTS): Add `tests/union.scm'. Ludovic Courtès
2012-10-28release.nix: Change `distro.hello' to produce something.•••* release.nix (distro.hello)[buildPhase]: Tee the log to $out. Add a `name' attribute; remove `buildInputs' and instead use the full path to `guix-build'. Ludovic Courtès
2012-10-28distro: Build Bash sequentially.•••* distro/packages/base.scm (bash): Set `#:parallel-build?' and `#:parallel-tests?' to #f. Ludovic Courtès
2012-10-28tests: Use our own bootstrap tools.•••* tests/builders.scm (%bootstrap-inputs): Use %BOOT0-INPUTS from the distro. * tests/packages.scm (%bootstrap-inputs): Likewise. * tests/derivations.scm (%coreutils): Alias for %BOOTSTRAP-COREUTILS&CO. Ludovic Courtès
2012-10-27release.nix: Add a `distro.hello' job.•••* release.nix (distro.hello): New job. Ludovic Courtès
2012-10-27build: Preserve the executable bit of bootstrap binaries.•••* Makefile.am (install-data-hook): New target. Ludovic Courtès
2012-10-27build: Make sure scripts know where to find their modules.•••* guix-build.in, guix-download.in: Define `prefix' and `datarootdir', so that `guilemoduledir' expands to something meaningful. Ludovic Courtès
2012-10-27release.nix: Pre-download the Guile bootstrap tarball.•••* release.nix (bootstrap_guile): New variable. (build)[preBuild]: New attribute. Ludovic Courtès
2012-10-27build: Fix out-of-source-tree builds.•••* 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): Make the target's parent directory. * pre-inst-env.in (DISTRO_BOOTSTRAP_PATH): Add the builddir-relative directory. Ludovic Courtès
2012-10-27distro: Change $DISTRO_{PATCH,BOOTSTRAP}_DIRECTORY to search paths.•••* distro.scm (not-colon): New variable. (%patch-directory): Rename to... (%patch-path): ... this. Turn into a list. Expect $DISTRO_PATCH_PATH to be a colon-separated search path. (%bootstrap-binaries-directory): Rename to... (%bootstrap-binaries-path): ... this. Likewise. (search-patch, search-bootstrap-binary): Adjust accordingly. * pre-inst-env.in: Change to use `DISTRO_PATCH_PATH' and `DISTRO_BOOTSTRAP_PATH'. Ludovic Courtès
2012-10-27release.nix: Set succeed-on-failure and build-out-source-tree.•••* release.nix: Define `succeedOnFailure', `keepBuildDirectory', and `buildOutOfSourceTree'. (build): Inherit them. Ludovic Courtès
2012-10-27build: Move `distro/patches' to `distro/packages/patches'.•••* distro/patches: Move directory to... * distro/packages/patches: ... here. * Makefile.am (dist_patch_DATA): Adjust accordingly. * pre-inst-env.in (DISTRO_PATCH_DIRECTORY): Likewise. Ludovic Courtès
2012-10-27build: Use `pre-inst-env' to compile the source.•••* Makefile.am (.scm.go): Use `pre-inst-env' instead of re-defining the environment variables, except for `DISTRO_INSTALLED_PATCH_DIRECTORY' and `DISTRO_INSTALLED_BOOTSTRAP_DIRECTORY'. Ludovic Courtès
2012-10-27guix-build: Gracefully handle `&package-input-error' conditions.•••* guix/packages.scm: Export `package-error?' and `package-input-error?'. * guix-build.in (guix-build): Catch `&package-input-error' conditions, print a human-readable message, and exit. Ludovic Courtès
2012-10-27location: Start column numbers at 1.•••* guix/utils.scm (source-properties->location): Use COL + 1. Ludovic Courtès
2012-10-26distro: Add i686-linux port.•••* distro/packages/bootstrap/i686-linux/bash, distro/packages/bootstrap/i686-linux/mkdir, distro/packages/bootstrap/i686-linux/tar, distro/packages/bootstrap/i686-linux/xz: New files. * distro/packages/base.scm (%bootstrap-coreutils&co, %bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc): Add hashes of the i686-linux tarballs. * Makefile.am (bootstrap_i686_linuxdir, dist_bootstrap_i686_linux_DATA, nodist_bootstrap_i686_linux_DATA): New variables (DISTCLEANFILES): Add $(nodist_bootstrap_i686_linux_DATA). (distro/packages/bootstrap/i686-linux/guile-bootstrap-2.0.6.tar.xz): New rule. Ludovic Courtès
2012-10-26distro: gcc: Adjust to support non-x86_64 architectures.•••* distro/packages/base.scm (gcc-4.7)[arguments]: In the `pre-configure' phase, patch all the relevant gcc/config files, not just those for x86_64-linux-gnu. Ludovic Courtès
2012-10-26utils: Remove special `substitute*' syntax for lists of files.•••* guix/build/utils.scm (substitute*): Remove special syntax for list-of-files; instead, check whether FILE is `list?' at run time. * distro/packages/base.scm (gcc-4.7, %binutils-static): Adjust accordingly. Ludovic Courtès
2012-10-25doc: Add `HACKING'.•••* HACKING: New file. * Makefile.am (EXTRA_DIST): Add it. Ludovic Courtès
2012-10-25Add a `system' parameter to `nixpkgs-derivation'.•••* guix/utils.scm (nixpkgs-derivation): Add a `system' parameter. Pass it in the `nix-instantiate' invocation. Ludovic Courtès