aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* 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.
* Add a preliminary `guix-package' command-line tool.Ludovic Courtès2012-11-01
| | | | | | | * 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'.
* store: Add `store-path-package-name'.Ludovic Courtès2012-11-01
| | | | | * guix/store.scm (store-path-package-name): New procedure. * tests/utils.scm ("store-path-package-name"): New test.
* utils: Remove stuff committed by error.Ludovic Courtès2012-11-01
| | | | | | This was wrongfully committed in df1fab58. * guix/utils.scm (hash-set-proc, hash-ref*, memoizing-lambda): Remove.
* build: Add unit test for the `guix-build' command.Ludovic Courtès2012-11-01
| | | | | | | | | * 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.
* Add (guix ui).Ludovic Courtès2012-11-01
| | | | | | | | | | | | * 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.
* build-system/gnu: Distinguish between imported modules and used modules.Ludovic Courtès2012-10-31
| | | | | * guix/build-system/gnu.scm (gnu-build): Add the `imported-modules' keyword parameter. Pass it to `build-expression->derivation'.
* release.nix: Use `--no-substitutes' in `distro.hello'.Ludovic Courtès2012-10-31
| | | | | | * release.nix (distro.hello): Use `guix-build --no-substitutes', to avoid failures due to unavailable stale substitutes on hydra.nixos.org.
* guix-build: Add `--root'.Ludovic Courtès2012-10-30
| | | | | | | | * 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.
* Add (guix build union).Ludovic Courtès2012-10-29
| | | | | | * guix/build/union.scm, tests/union.scm: New files. * Makefile.am (MODULES): Add `guix/build/union.scm'. (TESTS): Add `tests/union.scm'.
* release.nix: Change `distro.hello' to produce something.Ludovic Courtès2012-10-28
| | | | | | * 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'.
* distro: Build Bash sequentially.Ludovic Courtès2012-10-28
| | | | | * distro/packages/base.scm (bash): Set `#:parallel-build?' and `#:parallel-tests?' to #f.
* tests: Use our own bootstrap tools.Ludovic Courtès2012-10-28
| | | | | | * 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.
* release.nix: Add a `distro.hello' job.Ludovic Courtès2012-10-27
| | | | * release.nix (distro.hello): New job.
* build: Preserve the executable bit of bootstrap binaries.Ludovic Courtès2012-10-27
| | | | * Makefile.am (install-data-hook): New target.
* build: Make sure scripts know where to find their modules.Ludovic Courtès2012-10-27
| | | | | * guix-build.in, guix-download.in: Define `prefix' and `datarootdir', so that `guilemoduledir' expands to something meaningful.
* release.nix: Pre-download the Guile bootstrap tarball.Ludovic Courtès2012-10-27
| | | | | * release.nix (bootstrap_guile): New variable. (build)[preBuild]: New attribute.
* build: Fix out-of-source-tree builds.Ludovic Courtès2012-10-27
| | | | | | | | * 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.
* distro: Change $DISTRO_{PATCH,BOOTSTRAP}_DIRECTORY to search paths.Ludovic Courtès2012-10-27
| | | | | | | | | | | | | * 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'.
* release.nix: Set succeed-on-failure and build-out-source-tree.Ludovic Courtès2012-10-27
| | | | | | * release.nix: Define `succeedOnFailure', `keepBuildDirectory', and `buildOutOfSourceTree'. (build): Inherit them.
* build: Move `distro/patches' to `distro/packages/patches'.Ludovic Courtès2012-10-27
| | | | | | | * distro/patches: Move directory to... * distro/packages/patches: ... here. * Makefile.am (dist_patch_DATA): Adjust accordingly. * pre-inst-env.in (DISTRO_PATCH_DIRECTORY): Likewise.
* build: Use `pre-inst-env' to compile the source.Ludovic Courtès2012-10-27
| | | | | | * 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'.
* guix-build: Gracefully handle `&package-input-error' conditions.Ludovic Courtès2012-10-27
| | | | | | * 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.