aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-11-05distro: gcc: Don't add a RUNPATH to GCC when using `-static-libgcc'.Ludovic Courtès
* distro/packages/base.scm (gcc-4.7)[LIB_SPEC]: Add a `-rpath' to GCC only when !static and !static-libgcc.
2012-11-05distro: readline: Allow stripping of the libraires.Ludovic Courtès
* distro/packages/readline.scm (readline)[arguments]: Add `post-install' phase to make libraries writable.
2012-11-05utils: Add `default-keyword-arguments' and `substitute-keyword-arguments'.Ludovic Courtès
* distro/packages/base.scm (default-keyword-arguments, substitute-keyword-arguments): Move to... * guix/utils.scm: ... here.
2012-11-05distro: Add missing `package-with-bootstrap-guile'.Ludovic Courtès
* distro/packages/base.scm (binutils-final): Add missing `package-with-bootstrap-guile'.
2012-11-05distro: recutils: Comment out optional dependencies.Ludovic Courtès
* distro/packages/recutils.scm (recutils): Comment out optional dependencies not packaged here.
2012-11-05distro: Add GnuPG and companion libraries.Ludovic Courtès
* distro/packages/gnupg.scm: New file. * Makefile.am (MODULES): Add it.
2012-11-05distro: Add zlib.Ludovic Courtès
* distro/packages/compression.scm (zlib): New variable.
2012-11-04distro: Add (distro packages compression).Ludovic Courtès
* distro/packages/base.scm (gzip, bzip2, xz): Move to... * distro/packages/compression.scm: ... here. New file. * Makefile.am (MODULES): Add it.
2012-11-04distro: Add GNU Pth.Ludovic Courtès
* distro/packages/pth.scm: New file. * Makefile.am (MODULES): Add it.
2012-11-04distro: Add GNU gperf.Ludovic Courtès
* distro/packages/gperf.scm: New file. * Makefile.am (MODULES): Add it. * distro/packages/guile.scm (guile-reader): Use it.
2012-11-04distro: Split (distro packages base) into several files.Ludovic Courtès
* 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.
2012-11-04distro: Move bootstrap packages to (distro packages bootstrap).Ludovic Courtès
* 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.
2012-11-04distro: Go for one module per package.Ludovic Courtès
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.
2012-11-04doc: Add "Adding new packages" in `HACKING'.Ludovic Courtès
* HACKING (Adding new packages): New section.
2012-11-04Add (guix snix) and the `guix-import' command.Ludovic Courtès
* 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'.
2012-11-04guix-package: Remove extraneous procedures.Ludovic Courtès
* guix-package.in (_, N_): Remove.
2012-11-04packages: `description' → `synopsis', `long-description' → `description'.Ludovic Courtès
* 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.
2012-11-04release.nix: Pass `--with-libgcrypt-prefix' in the `tarball' job.Ludovic Courtès
* release.nix (jobs.tarball)[configureFlags]: Pass `--with-libgcrypt-prefix'.
2012-11-04utils: Add `package-name->name+version'.Ludovic Courtès
* 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.
2012-11-03build: Require GNU libgcrypt.Ludovic Courtès
* 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)'.
2012-11-03guix-package: Use more (guix ui) features.Ludovic Courtès
* guix-package.in (leave): Remove. (guix-package): Wrap body in `with-error-handling'.
2012-11-03ui: Factorize `--version'.Ludovic Courtès
* 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.
2012-11-03build: Produce (guix config) instead of using compile-time tricks.Ludovic Courtès
* 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'.
2012-11-03build: Clearly mark Nixpkgs as optional.Ludovic Courtès
* 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.
2012-11-02tests: Run without substitutes.Ludovic Courtès
* tests/builders.scm, tests/derivations.scm, tests/packages.scm: Set #:use-substitutes? #f for %STORE.
2012-11-01Add a preliminary `guix-package' command-line tool.Ludovic Courtès
* 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'.
2012-11-01store: Add `store-path-package-name'.Ludovic Courtès
* guix/store.scm (store-path-package-name): New procedure. * tests/utils.scm ("store-path-package-name"): New test.
2012-11-01utils: Remove stuff committed by error.Ludovic Courtès
This was wrongfully committed in df1fab58. * guix/utils.scm (hash-set-proc, hash-ref*, memoizing-lambda): Remove.
2012-11-01build: Add unit test for the `guix-build' command.Ludovic Courtès
* 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.
2012-11-01Add (guix ui).Ludovic Courtès
* 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.
2012-10-31build-system/gnu: Distinguish between imported modules and used modules.Ludovic Courtès
* guix/build-system/gnu.scm (gnu-build): Add the `imported-modules' keyword parameter. Pass it to `build-expression->derivation'.
2012-10-31release.nix: Use `--no-substitutes' in `distro.hello'.Ludovic Courtès
* release.nix (distro.hello): Use `guix-build --no-substitutes', to avoid failures due to unavailable stale substitutes on hydra.nixos.org.
2012-10-30guix-build: Add `--root'.Ludovic Courtès
* 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.
2012-10-29Add (guix build union).Ludovic Courtès
* guix/build/union.scm, tests/union.scm: New files. * Makefile.am (MODULES): Add `guix/build/union.scm'. (TESTS): Add `tests/union.scm'.
2012-10-28release.nix: Change `distro.hello' to produce something.Ludovic Courtès
* 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'.
2012-10-28distro: Build Bash sequentially.Ludovic Courtès
* distro/packages/base.scm (bash): Set `#:parallel-build?' and `#:parallel-tests?' to #f.
2012-10-28tests: Use our own bootstrap tools.Ludovic Courtès
* 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.
2012-10-27release.nix: Add a `distro.hello' job.Ludovic Courtès
* release.nix (distro.hello): New job.
2012-10-27build: Preserve the executable bit of bootstrap binaries.Ludovic Courtès
* Makefile.am (install-data-hook): New target.
2012-10-27build: Make sure scripts know where to find their modules.Ludovic Courtès
* guix-build.in, guix-download.in: Define `prefix' and `datarootdir', so that `guilemoduledir' expands to something meaningful.
2012-10-27release.nix: Pre-download the Guile bootstrap tarball.Ludovic Courtès
* release.nix (bootstrap_guile): New variable. (build)[preBuild]: New attribute.
2012-10-27build: Fix out-of-source-tree builds.Ludovic Courtès
* 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.
2012-10-27distro: Change $DISTRO_{PATCH,BOOTSTRAP}_DIRECTORY to search paths.Ludovic Courtès
* 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'.
2012-10-27release.nix: Set succeed-on-failure and build-out-source-tree.Ludovic Courtès
* release.nix: Define `succeedOnFailure', `keepBuildDirectory', and `buildOutOfSourceTree'. (build): Inherit them.
2012-10-27build: Move `distro/patches' to `distro/packages/patches'.Ludovic Courtès
* distro/patches: Move directory to... * distro/packages/patches: ... here. * Makefile.am (dist_patch_DATA): Adjust accordingly. * pre-inst-env.in (DISTRO_PATCH_DIRECTORY): Likewise.
2012-10-27build: Use `pre-inst-env' to compile the source.Ludovic Courtès
* 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'.
2012-10-27guix-build: Gracefully handle `&package-input-error' conditions.Ludovic Courtès
* 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.
2012-10-27location: Start column numbers at 1.Ludovic Courtès
* guix/utils.scm (source-properties->location): Use COL + 1.
2012-10-26distro: Add i686-linux port.Ludovic Courtès
* 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.
2012-10-26distro: gcc: Adjust to support non-x86_64 architectures.Ludovic Courtès
* 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.