aboutsummaryrefslogtreecommitdiff
Commit message (Expand)AuthorAge
* distro: Add missing `package-with-bootstrap-guile'.•••* distro/packages/base.scm (binutils-final): Add missing `package-with-bootstrap-guile'. Ludovic Courtès2012-11-05
* distro: recutils: Comment out optional dependencies.•••* distro/packages/recutils.scm (recutils): Comment out optional dependencies not packaged here. Ludovic Courtès2012-11-05
* distro: Add GnuPG and companion libraries.•••* distro/packages/gnupg.scm: New file. * Makefile.am (MODULES): Add it. Ludovic Courtès2012-11-05
* distro: Add zlib.•••* distro/packages/compression.scm (zlib): New variable. Ludovic Courtès2012-11-05
* distro: 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ès2012-11-04
* distro: Add GNU Pth.•••* distro/packages/pth.scm: New file. * Makefile.am (MODULES): Add it. Ludovic Courtès2012-11-04
* distro: Add GNU gperf.•••* distro/packages/gperf.scm: New file. * Makefile.am (MODULES): Add it. * distro/packages/guile.scm (guile-reader): Use it. Ludovic Courtès2012-11-04
* distro: 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ès2012-11-04
* distro: 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ès2012-11-04
* distro: 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ès2012-11-04
* doc: Add "Adding new packages" in `HACKING'.•••* HACKING (Adding new packages): New section. Ludovic Courtès2012-11-04
* Add (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ès2012-11-04
* guix-package: Remove extraneous procedures.•••* guix-package.in (_, N_): Remove. Ludovic Courtès2012-11-04
* packages: `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ès2012-11-04
* release.nix: Pass `--with-libgcrypt-prefix' in the `tarball' job.•••* release.nix (jobs.tarball)[configureFlags]: Pass `--with-libgcrypt-prefix'. Ludovic Courtès2012-11-04
* utils: 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ès2012-11-04
* build: 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ès2012-11-03
* guix-package: Use more (guix ui) features.•••* guix-package.in (leave): Remove. (guix-package): Wrap body in `with-error-handling'. Ludovic Courtès2012-11-03
* ui: 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ès2012-11-03
* build: 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ès2012-11-03
* 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. Ludovic Courtès2012-11-03
* tests: Run without substitutes.•••* tests/builders.scm, tests/derivations.scm, tests/packages.scm: Set #:use-substitutes? #f for %STORE. Ludovic Courtès2012-11-02
* Add 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ès2012-11-01
* store: 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ès2012-11-01
* utils: Remove stuff committed by error.•••This was wrongfully committed in df1fab58. * guix/utils.scm (hash-set-proc, hash-ref*, memoizing-lambda): Remove. Ludovic Courtès2012-11-01
* build: 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ès2012-11-01
* Add (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ès2012-11-01
* build-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ès2012-10-31
* release.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ès2012-10-31
* guix-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ès2012-10-30
* Add (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ès2012-10-29
* release.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ès2012-10-28
* distro: Build Bash sequentially.•••* distro/packages/base.scm (bash): Set `#:parallel-build?' and `#:parallel-tests?' to #f. Ludovic Courtès2012-10-28
* tests: 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ès2012-10-28
* release.nix: Add a `distro.hello' job.•••* release.nix (distro.hello): New job. Ludovic Courtès2012-10-27
* build: Preserve the executable bit of bootstrap binaries.•••* Makefile.am (install-data-hook): New target. Ludovic Courtès2012-10-27
* build: 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ès2012-10-27
* release.nix: Pre-download the Guile bootstrap tarball.•••* release.nix (bootstrap_guile): New variable. (build)[preBuild]: New attribute. Ludovic Courtès2012-10-27
* build: 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ès2012-10-27
* distro: 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ès2012-10-27
* release.nix: Set succeed-on-failure and build-out-source-tree.•••* release.nix: Define `succeedOnFailure', `keepBuildDirectory', and `buildOutOfSourceTree'. (build): Inherit them. Ludovic Courtès2012-10-27
* build: 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ès2012-10-27
* build: 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ès2012-10-27
* guix-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ès2012-10-27
* location: Start column numbers at 1.•••* guix/utils.scm (source-properties->location): Use COL + 1. Ludovic Courtès2012-10-27
* distro: 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ès2012-10-26
* distro: 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ès2012-10-26
* utils: 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ès2012-10-26
* doc: Add `HACKING'.•••* HACKING: New file. * Makefile.am (EXTRA_DIST): Add it. Ludovic Courtès2012-10-25
* Add a `system' parameter to `nixpkgs-derivation'.•••* guix/utils.scm (nixpkgs-derivation): Add a `system' parameter. Pass it in the `nix-instantiate' invocation. Ludovic Courtès2012-10-25