Ludovic Courtès
eeaf44276c
doc: Document the features and `guix-package'.
* doc/guix.texi: Change the category to "Package management". Add an
@direntry for "Invoking guix-package".
(Package Management): New chapter.
10 years ago
Ludovic Courtès
9518856b9b
guix-package: Fix handling of the PACKAGE:OUTPUT syntax.
* guix-package.in (guix-package)[find-package]: Return the correct NAME
and SUB-DRV when NAME contains #\:.
* tests/guix-package.sh (profile): Add test.
10 years ago
Ludovic Courtès
1227fabb65
guix-package: Fix invalid module use.
* guix-package.in: Use (distro packages guile), not (... base).
10 years ago
Ludovic Courtès
74fe2df2ad
build: Remove now unnecessary dependency of downloads on guix/utils.go.
* 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):
Remove dependency on guix/utils.go.
10 years ago
Ludovic Courtès
c78bd12b44
doc: Document `guix-build'.
* doc/guix.texi (Invoking guix-build): Populate.
10 years ago
Ludovic Courtès
d3c9a1dae8
doc: Remove unnecessary @ifinfo .
* doc/guix.texi: Remove @ifinfo around @dir{category,entry}. Suggested
by Karl Berry <karl@freefriends.org>.
10 years ago
Ludovic Courtès
8ba60d7b65
distro: Move bootstrap tarball packages to (distro packages make-bootstrap).
* 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.
10 years ago
Ludovic Courtès
ce1ef15b25
distro: bash-final: Link with `-static-libgcc'.
* distro/packages/base.scm (bash-final): Pass through
`static-libgcc-package'.
10 years ago
Ludovic Courtès
53dcd5eea1
build-system/gnu: Add `static-libgcc-package' & supporting procedure.
* guix/build-system/gnu.scm (package-with-extra-configure-variable,
static-libgcc-package): New procedures.
10 years ago
Ludovic Courtès
bca114d528
distro: gcc: Don't add a RUNPATH to GCC when using `-static-libgcc'.
* distro/packages/base.scm (gcc-4.7)[LIB_SPEC]: Add a `-rpath' to GCC
only when !static and !static-libgcc.
10 years ago
Ludovic Courtès
4500581a7c
distro: readline: Allow stripping of the libraires.
* distro/packages/readline.scm (readline)[arguments]: Add `post-install'
phase to make libraries writable.
10 years ago
Ludovic Courtès
0af2c24ef7
utils: Add `default-keyword-arguments' and `substitute-keyword-arguments'.
* distro/packages/base.scm (default-keyword-arguments,
substitute-keyword-arguments): Move to...
* guix/utils.scm: ... here.
10 years ago
Ludovic Courtès
a48dddfe9c
distro: Add missing `package-with-bootstrap-guile'.
* distro/packages/base.scm (binutils-final): Add missing
`package-with-bootstrap-guile'.
10 years ago
Ludovic Courtès
d1acf1fd4a
distro: recutils: Comment out optional dependencies.
* distro/packages/recutils.scm (recutils): Comment out optional
dependencies not packaged here.
10 years ago
Ludovic Courtès
8d1939e4d0
distro: Add GnuPG and companion libraries.
* distro/packages/gnupg.scm: New file.
* Makefile.am (MODULES): Add it.
10 years ago
Ludovic Courtès
6a92093dcd
distro: Add zlib.
* distro/packages/compression.scm (zlib): New variable.
10 years ago
Ludovic Courtès
a268f085db
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.
10 years ago
Ludovic Courtès
d373e57ea3
distro: Add GNU Pth.
* distro/packages/pth.scm: New file.
* Makefile.am (MODULES): Add it.
10 years ago
Ludovic Courtès
1627f7f733
distro: Add GNU gperf.
* distro/packages/gperf.scm: New file.
* Makefile.am (MODULES): Add it.
* distro/packages/guile.scm (guile-reader): Use it.
10 years ago
Ludovic Courtès
c44899a28b
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.
10 years ago
Ludovic Courtès
18633d4f35
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.
10 years ago
Ludovic Courtès
9d9e645081
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.
10 years ago
Ludovic Courtès
59b775cca9
doc: Add "Adding new packages" in `HACKING'.
* HACKING (Adding new packages): New section.
10 years ago
Ludovic Courtès
10226c05b1
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'.
10 years ago
Ludovic Courtès
5901471cec
guix-package: Remove extraneous procedures.
* guix-package.in (_, N_): Remove.
10 years ago
Ludovic Courtès
d45122f537
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.
10 years ago
Ludovic Courtès
6709752fe7
release.nix: Pass `--with-libgcrypt-prefix' in the `tarball' job.
* release.nix (jobs.tarball)[configureFlags]: Pass
`--with-libgcrypt-prefix'.
10 years ago
Ludovic Courtès
9b48fb88ca
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.
10 years ago
Ludovic Courtès
d388c2c435
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)'.
10 years ago
Ludovic Courtès
1275baeba7
guix-package: Use more (guix ui) features.
* guix-package.in (leave): Remove.
(guix-package): Wrap body in `with-error-handling'.
10 years ago
Ludovic Courtès
cdd5d6f95f
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.
10 years ago
Ludovic Courtès
00e219d1c9
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'.
10 years ago
Ludovic Courtès
e76bdf8b87
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.
10 years ago
Ludovic Courtès
81dbd783bd
tests: Run without substitutes.
* tests/builders.scm, tests/derivations.scm, tests/packages.scm: Set
#:use-substitutes? #f for %STORE.
10 years ago
Ludovic Courtès
0afdc48532
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'.
10 years ago
Ludovic Courtès
e3d741065e
store: Add `store-path-package-name'.
* guix/store.scm (store-path-package-name): New procedure.
* tests/utils.scm ("store-path-package-name"): New test.
10 years ago
Ludovic Courtès
07d18f39cc
utils: Remove stuff committed by error.
This was wrongfully committed in df1fab58
.
* guix/utils.scm (hash-set-proc, hash-ref*, memoizing-lambda): Remove.
10 years ago
Ludovic Courtès
97298ffae9
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.
10 years ago
Ludovic Courtès
073c34d72f
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.
10 years ago
Ludovic Courtès
111111d046
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'.
10 years ago
Ludovic Courtès
f03da4a008
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.
10 years ago
Ludovic Courtès
34811f02bf
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.
10 years ago
Ludovic Courtès
c8c88afaa1
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'.
10 years ago
Ludovic Courtès
48da001fd9
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'.
10 years ago
Ludovic Courtès
d6ed71cbf4
distro: Build Bash sequentially.
* distro/packages/base.scm (bash): Set `#:parallel-build?' and
`#:parallel-tests?' to #f.
10 years ago
Ludovic Courtès
8f3ecbd715
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.
10 years ago
Ludovic Courtès
9144af5aa7
release.nix: Add a `distro.hello' job.
* release.nix (distro.hello): New job.
10 years ago
Ludovic Courtès
5992f213d7
build: Preserve the executable bit of bootstrap binaries.
* Makefile.am (install-data-hook): New target.
10 years ago
Ludovic Courtès
b8605698b8
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.
10 years ago
Ludovic Courtès
1c52c42fe2
release.nix: Pre-download the Guile bootstrap tarball.
* release.nix (bootstrap_guile): New variable.
(build)[preBuild]: New attribute.
10 years ago