summaryrefslogtreecommitdiff
path: root/Makefile.am
AgeCommit message (Collapse)Author
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-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-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-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-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-27build: Preserve the executable bit of bootstrap binaries.Ludovic Courtès
* Makefile.am (install-data-hook): New target.
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-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-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-25doc: Add `HACKING'.Ludovic Courtès
* HACKING: New file. * Makefile.am (EXTRA_DIST): Add it.
2012-10-25Add `guix-download'.Ludovic Courtès
* guix-download.in: New file. * configure.ac: Emit `guix-download' and make it executable. * Makefile.am (bin_SCRIPTS): Add `guix-download'. * po/POTFILES.in: Add `guix-download.in'.
2012-10-17distro: Use our own pre-built Guile to bootstrap.Ludovic Courtès
* distro/packages/base.scm (%bootstrap-guile): Build from a tarball containing a pre-built Guile. * distro.scm (%bootstrap-binaries-directory): New variable. (search-bootstrap-binary): New procedure. * Makefile.am (bootstrapdir, bootstrap_x86_64_linuxdir, dist_bootstrap_x86_64_linux_DATA, DISTCLEANFILES, DOWNLOAD_FILE): New variables. (distro/packages/bootstrap/x86_64-linux/guile-bootstrap-2.0.6.tar.xz): New rule. (EXTRA_DIST): Add `build-aux/download.scm'. (.scm.go): Define the `DISTRO_BOOTSTRAP_DIRECTORY' and `DISTRO_INSTALLED_BOOTSTRAP_DIRECTORY' environment variables. * pre-inst-env.in: Define `DISTRO_BOOTSTRAP_DIRECTORY'. * build-aux/download.scm: New file. * distro/packages/bootstrap/x86_64-linux/{bash, mkdir, tar, xz}: New files.
2012-10-17distro: Add patch to allow the bootstrap Guile to work without iconv.Ludovic Courtès
* distro/patches/guile-default-utf8.patch: New file. * Makefile.am (dist_patch_DATA): Add it. * distro/packages/base.scm (%guile-static): Use it. (%guile-static-stripped): Add call to `remove-store-references'.
2012-10-17build: Use `pre-inst-env' to run tests.Ludovic Courtès
* Makefile.am (TESTS_ENVIRONMENT): Remove. (LOG_COMPILER): Use `pre-inst-env'.
2012-10-13distro: Add a statically-linked, relocatable Guile 2.0 package.Ludovic Courtès
* distro/packages/base.scm (%guile-static, %guile-static-stripped): New variables. * distro/patches/guile-relocatable.patch: New file. * Makefile.am (dist_patch_DATA): Add it.
2012-10-13doc: Add the stub of a manual.Ludovic Courtès
* doc/guix.texi: New file. * doc/fdl-1.3.texi: New file, copied from Gnulib. * Makefile.am (info_TEXINFOS): New variable. (EXTRA_DIST): Add `doc/fdl-1.3.texi'.
2012-09-26distro: Add the `guile', `typesetting', and `databases' package modules.Ludovic Courtès
* distro.scm (package-files): Adjust PREFIX-LEN to use the top-level directory, not %DISTRO-MODULE-DIRECTORY. * distro/packages/base.scm (guile-reader, guile-reader/guile-1.8, guile-reader/guile-2.0, lout, recutils): Move to... * distro/packages/guile.scm, distro/packages/typesetting.scm, distro/packages/databases.scm: ... here. New files. * Makefile.am (MODULES): Add them. (EXTRA_DIST): Add `.dir-locals.el'. * .dir-locals.el: New file, with settings formerly in `base.scm'.
2012-09-26distro: Rename (distro ...) to (distro packages ...).Ludovic Courtès
* distro/base.scm, distro/ld-wrapper.scm: Move to `distro/packages'. Adjust LD-WRAPPER-BOOT3 input file name accordingly. * Makefile.am (MODULES): Adjust accordingly. * distro.scm (%distro-module-directory): Change to "/distro/packages". * guix/build-system/gnu.scm (standard-inputs): Change module name to (distro packages base). * tests/packages.scm (test-packages): Likewise.
2012-09-26distro: Add an `ld' wrapper, to pass missing `-rpath' flags.Ludovic Courtès
* distro/ld-wrapper.scm: New file. * Makefile.am (MODULES): Add it. * distro/base.scm (ld-wrapper-boot3): New variable. (%boot3-inputs): Add LD-WRAPPER-BOOT3. (bash-final, guile-final, ld-wrapper): New final. (%final-inputs): Use BASH-FINAL; add LD-WRAPPER. (gcc-4.7): Remove the `-rpath' trick from the `lib' spec string.
2012-09-14distro: gcc: Patch `lib' spec to add `-rpath' for each `-L'.Ludovic Courtès
* distro/base.scm (gcc-4.7): Patch `LIB_SPEC' to add `-rpath' for each `-L'. Spec string suggested by Marc Glisse <marc.glisse@inria.fr>. (libtool): Add `libtool-skip-tests.patch'. * distro/patches/libtool-skip-tests.patch: New file. * Makefile.am (dist_patch_DATA): Add it.
2012-09-12Add (guix ftp) and companion modules.Ludovic Courtès
* guix/ftp-client.scm, guix/ftp.scm, guix/build/ftp.scm: New files. * Makefile.am (MODULES): Add them. * distro/base.scm (libffi): Use `ftp-fetch'.
2012-09-11distro: Add Perl.Ludovic Courtès
* distro/base.scm (perl): New variable. * distro/patches/perl-no-sys-dirs.patch: New file. * Makefile.am (dist_patch_DATA): Add it.
2012-09-10Add (guix build-system trivial).Ludovic Courtès
* guix/build-system/trivial.scm: New file. * Makefile.am (MODULES): Add it. * tests/packages.scm ("trivial"): New test. * guix/packages.scm (package-derivation): Allow SOURCE to be #f.
2012-09-02distro: diffutils: Allow builds with glibc 2.16+.Ludovic Courtès
* distro/patches/diffutils-gets-undeclared.patch: New file. * Makefile.am (dist_patch_DATA): Add it. * distro/base.scm (diffutils): Apply. `diffutils-gets-undeclared.patch'.
2012-09-02distro: tar: Allow builds with glibc 2.16+.Ludovic Courtès
* distro/patches/tar-gets-undeclared.patch: New file. * Makefile.am (dist_patch_DATA): Add it. * distro/base.scm (tar): Apply. `tar-gets-undeclared.patch'.
2012-09-01distro: m4: Add patch to allow builds with glibc 2.16+.Ludovic Courtès
* distro/base.scm (m4): Use `m4-gets-undeclared.patch'. * distro/patches/m4-gets-undeclared.patch: New file. * Makefile.am (dist_patch_DATA): Add it.
2012-08-29distro: Add missing Binutils patch.Ludovic Courtès
* distro/patches/binutils-ld-new-dtags.patch: New file. * Makefile.am (dist_patch_DATA): Add it.
2012-08-22distro: Move patches to their own directory.Ludovic Courtès
* Makefile.am (nobase_dist_guilemodule_DATA): Keep only $(MODULES). (patchdir): New variable. (dist_patch_DATA): New variable. Patch files formerly in $(nobase_dist_guilemodule_DATA). (.scm.go): Define `DISTRO_PATCH_DIRECTORY' and `DISTRO_INSTALLED_PATCH_DIRECTORY'. (TESTS_ENVIRONMENT): Define `DISTRO_PATCH_DIRECTORY'. * distro.scm (%patch-directory): New variable. (search-patch): New procedure. * distro/base.scm: Use `search-patch' instead of `(search-path %load-path ...)'. * distro/findutils-absolute-paths.patch, distro/guile-1.8-cpp-4.5.patch, distro/m4-readlink-EINVAL.patch, distro/m4-s_isdir.patch, distro/make-impure-dirs.patch: Move to `distro/patches'.
2012-08-22distro: Add GNU Findutils.Ludovic Courtès
* distro/base.scm (findutils): New variable. * distro/findutils-absolute-paths.patch: New file. * Makefile.am (nobase_dist_guilemodule_DATA): Add it.
2012-08-21distro: Add GNU Make.Ludovic Courtès
* distro/base.scm (gnu-make): New variable. * distro/make-impure-dirs.patch: New file. * Makefile.am (nobase_dist_guilemodule_DATA): Add it.
2012-08-17build: Add `--with-libgcrypt-prefix'; capture the path to libgcrypt.Ludovic Courtès
* configure.ac: Add `--with-libgcrypt-prefix'. Substitute `LIBGCRYPT'. * Makefile.am (.scm.go): Pass $(LIBGCRYPT). * guix/utils.scm (%libgcrypt): New variable. (sha256): Use it.
2012-08-14build: Pass the right flags for "make distcheck".Ludovic Courtès
* Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): New variable. * configure.ac: Define and substitute `NIX_PREFIX'.
2012-08-14build: Add `test.drv' to the distribution.Ludovic Courtès
* Makefile.am (EXTRA_DIST): Add `tests/test.drv'.
2012-08-14build: Pass $(NIX_INSTANTIATE) to the build and test environments.Ludovic Courtès
* Makefile.am (.scm.go): Define $NIX_INSTANTIATE. (TESTS_ENVIRONMENT): Likewise, and define $NIX_HASH. * guix/utils.scm (nixpkgs-derivation): Use $NIX_INSTANTIATE when defined. * tests/utils.scm (%nix-hash): New variable. ("sha256 & bytevector->nix-base32-string"): Use it.
2012-08-14build: Add SRFI-64 to the distribution.Ludovic Courtès
* Makefile.am (MODULES): Add `srfi/srfi-64.scm' and `srfi/srfi-64.upstream.scm'.
2012-08-14build: Add release.nix.Ludovic Courtès
* release.nix: New file. * Makefile.am (EXTRA_DIST): Add it.
2012-07-12distro: Add GNU Readline.Ludovic Courtès
* distro/base.scm (readline): New variable. (guile-1.8, guile-2.0): Use it. * distro/readline-link-ncurses.patch: New file. * Makefile.am (nobase_dist_guilemodule_DATA): Add it.
2012-07-11distro: Add GNU M4.Ludovic Courtès
* distro/base.scm (m4): New variable. * distro/m4-readlink-EINVAL.patch, distro/m4-s_isdir.patch: New files. * Makefile.am (nobase_dist_guilemodule_DATA): Add them.
2012-07-07build: Adjust tests to Automake 1.12.Ludovic Courtès
* Makefile.am (TESTS_ENVIRONMENT): Remove `guile' invocation. Add semicolons, and export the variables as shown in the Automake 1.12 manual. (LOG_COMPILER): New variable, with `guile' invocation.
2012-07-06distro: Add GNU Guile 1.8.Ludovic Courtès
* distro/base.scm (guile-1.8): New variable. * distro/guile-1.8-cpp-4.5.patch: New file. * Makefile.am (nobase_dist_guilemodule_DATA): Add it.
2012-07-05Add builder-side utilities for phases, stream editing, & co.Ludovic Courtès
* guix/build/utils.scm (with-directory-excursion): New macro. (alist-cons-before, alist-cons-after, alist-replace): New procedures. (substitute): New procedure. * tests/build-utils.scm: New file. * Makefile.am (TESTS): Add `tests/build-utils.scm'.
2012-07-02build: Don't auto-compile tests.Ludovic Courtès
* Makefile.am (TESTS_ENVIRONMENT): Add `--no-auto-compile'.
2012-07-01build: Build (guix utils) first.Ludovic Courtès
* Makefile.am (MODULES): Move `guix/utils.scm' first.
2012-07-01Add `guix-build'.Ludovic Courtès
* guix-build.in: New file. * configure.ac: Emit `guix-build'. Add `commands-exec'. * Makefile.am (bin_SCRIPTS): New variable. * po/POTFILES.in: Add `guix-build.in'.
2012-06-30Add (distro) with a package searching facility.Ludovic Courtès
* Makefile.am (MODULES): Add `distro.scm'. * distro.scm: New file. * po/POTFILES.in: Add it. * tests/packages.scm ("find-packages-by-name", "find-packages-by-name with version"): New tests.
2012-06-29Gettextize, with GNU Gettext 0.18.1.Ludovic Courtès
* Makefile.am (EXTRA_DIST): Add `build-aux/config.rpath'. (SUBDIRS, ACLOCAL_AMFLAGS): New variables. * configure.ac: Use `AM_GNU_GETTEXT'. Emit `po/Makefile.in'. * po/Makevars, po/POTFILES.in: New files.
2012-06-28Add a declarative packaging layer.Ludovic Courtès
* Makefile.am (MODULES): Add `guix/packages.scm' and `distro/base.scm'. (TESTS): Add `tests/packages.scm'. (EXTRA_DIST): New variable. * guix/packages.scm, distro/base.scm, tests/packages.scm: New files. * guix/http.scm (http-fetch): Make `name' an optional argument, to match the expectations of `package-source-derivation'.