Ludovic Courtès
e47e3effaf
distro: Add procps.
...
* distro/packages/linux.scm (procps): New variable.
2013-01-12 16:51:16 +01:00
Ludovic Courtès
eb6d676e2a
distro: tcl, expect: Enable tests.
...
* distro/packages/tcl.scm (tcl, expect): Remove #:tests? argument; add
#:test-target.
2013-01-12 16:24:35 +01:00
Ludovic Courtès
b22a12fda7
doc: Mention store sharing with Nix; update `package' example.
...
* doc/guix.texi: Set @documentlanguage.
(Installation): Add reference to `INSTALL' and `README'.
(Requirements): Mention store sharing with Nix.
(Defining Packages): Update example to include `use-modules' clauses
and to use (guix licenses).
2013-01-11 16:16:36 +01:00
Ludovic Courtès
01e354eb83
Merge branch 'core-updates'
...
Conflicts:
guix/build/union.scm
2013-01-11 16:01:49 +01:00
Ludovic Courtès
28e5560421
download: Abbreviate URLs when displaying the progress report.
...
* guix/build/download.scm (uri-abbreviation): New procedure.
(ftp-fetch, http-fetch): Use it instead of `uri->string' when calling
`progress-proc'. Reported by Andreas Enge.
2013-01-11 15:41:58 +01:00
Ludovic Courtès
ab6522aeb0
distro: gawk: Adjust to the libsigsegv output change.
...
* distro/packages/gawk.scm (gawk): Adjust the libsigsegv with a single
output.
2013-01-10 22:35:35 +01:00
Ludovic Courtès
f03e7115d7
distro: libsigsegv: Use a single output.
...
* distro/packages/libsigsegv.scm (libsigsegv): Use just a single output,
otherwise nothing ends up in `out' as a consequence of commit a06a99f
.
Reported by Andreas Enge <andreas@enge.fr>.
2013-01-10 22:33:35 +01:00
Ludovic Courtès
5fedc65b0f
build: Print the Guix system type.
...
* m4/guix.m4 (GUIX_SYSTEM_TYPE): Print the system type.
2013-01-10 22:18:16 +01:00
Ludovic Courtès
704197f4bf
distro: gmp: Update to 5.0.1.
...
* distro/packages/multiprecision.scm (gmp): Update to 5.0.1.
2013-01-10 00:11:20 +01:00
Ludovic Courtès
4873f8ed9f
distro: binutils: Add a "lib" output.
...
* distro/packages/base.scm (binutils): Add `outputs' field.
2013-01-10 00:09:25 +01:00
Ludovic Courtès
a06a99ff77
build-system/gnu: Improve support for "lib" outputs; support "doc" outputs.
...
* guix/build/gnu-build-system.scm (configure)[package-name]: New
procedure.
When LIBDIR is true and INCLUDEDIR is false, add
--includedir=LIBDIR/include.
Add support for --docdir when a "doc" output exists.
2013-01-10 00:08:40 +01:00
Ludovic Courtès
bfe384cc4c
doc: Clarify package version specification example.
...
* doc/guix.texi (Invoking guix-package): Use "guile-1.8.8" as the
example, not "guile-1.8" since there is no such version.
2013-01-09 22:26:28 +01:00
Ludovic Courtès
c0b3c89f16
Augment `TODO'.
2013-01-09 22:12:23 +01:00
Ludovic Courtès
b2d58cd80a
union: Detect collisions, and delete duplicate leaves.
...
* guix/build/union.scm (delete-duplicate-leaves): New procedure.
(union-build)[leaf=?, resolve-collision]: New procedures.
Use `delete-duplicate-leaves' on the result of `tree-union'.
* tests/union.scm ("delete-duplicate-leaves, default",
"delete-duplicate-leaves, file names"): New tests.
2013-01-09 22:10:06 +01:00
Ludovic Courtès
b9e5c0a949
guix-package: Create ~/.guix-profile when it doesn't exist.
...
* guix-package.in (guix-package): Create the %USER-ENVIRONMENT-DIRECTORY
symlink if it doesn't exist yet.
* doc/guix.texi (Invoking guix-package): Document it.
2013-01-09 19:57:44 +01:00
Ludovic Courtès
44b6be7744
guix-package: Show package outputs in `--list-available'.
...
* guix-package.in (guix-package)[process-query]: For `list-available',
show the outputs of each package.
* doc/guix.texi (Invoking guix-package): Update accordingly.
2013-01-09 19:26:37 +01:00
Ludovic Courtès
58db733e6d
doc: Update copyright years; add visible copyright statement.
...
* doc/guix.texi (YEARS): New variable.
Use it for all copyright statements.
(Top): Add a copyright statement and license header here.
2013-01-09 13:01:48 +01:00
Ludovic Courtès
bd5e766b87
doc: Documentation installation and the daemon.
...
* doc/guix.texi (Installation): New node.
2013-01-09 12:58:27 +01:00
Ludovic Courtès
2498d43adb
daemon: Fix warning message when running as root without a build user group.
...
* nix/nix-daemon/guix-daemon.cc (main): Fix warning message when running
as root without `--build-users-group'.
2013-01-09 12:16:26 +01:00
Ludovic Courtès
6221db61f5
guix-daemon: Rename `--build-cores' for consistency with `guix-build'.
...
* nix/nix-daemon/guix-daemon.cc (options): Change `--build-cores' to
`--cores', and `-C' to `-c'.
(parse_opt): Adjust accordingly.
2013-01-09 12:14:23 +01:00
Ludovic Courtès
784bb1f37b
derivations: Fix `derivation-prerequisites-to-build' when outputs are there.
...
Before it would list inputs not built, even if the outputs of the given
derivation were already available.
* guix/derivations.scm (derivation-prerequisites-to-build): Add
`outputs' keyword parameter.
[built?, derivation-built?]: New procedures.
[loop]: Add `sub-drvs' parameter. Use `derivation-built?' to check if
the SUB-DRVS of DRV are built before checking its inputs.
2013-01-09 08:38:57 +01:00
Ludovic Courtès
9149f1a087
doc: Update porting instructions in `HACKING'.
...
* HACKING (When the platform is supported by Nixpkgs): Update
instructions.
2013-01-08 22:57:09 +01:00
Ludovic Courtès
98fefb210a
gnu-maintenance: Add `latest-release' and related tools.
...
* guix/gnu-maintenance.scm (ftp-server/directory, releases,
version-string>?, latest-release, gnu-package-name->name+version): New
procedures.
(%package-name-rx): New variable.
2013-01-08 22:46:12 +01:00
Ludovic Courtès
87009d8aa1
guix-package: Use `guile-final', not `guile-2.0' to build the environment.
...
* guix-package.in (guix-package): Use either %BOOTSTRAP-GUILE or
GUILE-FINAL.
2013-01-08 00:05:37 +01:00
Ludovic Courtès
9762706b90
guix-package: Be verbose when Guile itself needs to be built.
...
* guix-package.in (guix-package)[guile-missing?]: New procedure.
(guix-package): Always redirect `current-build-output-port' to
`current-error-port' when (guile-missing?).
2013-01-08 00:04:46 +01:00
Ludovic Courtès
cc57f25d96
guix-package: Remove `-b' shorthand for `--bootstrap'.
...
* guix-package.in (%options): Remove #\b as an alternate for
"bootstrap".
(show-help): Adjust accordingly.
* tests/guix-package.sh: Use `--bootstrap' instead of `-b'.
2013-01-07 22:54:54 +01:00
Ludovic Courtès
ad85c617b5
snix: Update `license' check in unit test.
...
* tests/snix.scm ("nixpkgs->guix-package"): Expect `license' to be a
symbol. This is a follow-up to commit e7aa73e
.
2013-01-07 22:53:46 +01:00
Ludovic Courtès
e7aa73ef09
snix: Use (guix licenses) variables.
...
* guix/snix.scm (snix-derivation->guix-package)[license-variable]: New
procedure.
Use it to determine the variable name for the license.
2013-01-07 22:32:28 +01:00
Ludovic Courtès
ab8ed44fce
snix: Gracefully handle `null' in Nix build inputs.
...
* guix/snix.scm (snix-derivation->guix-package)[convert-inputs]:
Gracefully handle `null' as an input.
2013-01-07 22:23:50 +01:00
Ludovic Courtès
708d0ceb50
distro: Add GNU Aspell.
...
* distro/packages/aspell.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-07 21:30:45 +01:00
Ludovic Courtès
4e6b699d50
distro: Add GSL.
...
* distro/packages/algebra.scm (gsl): New variable.
2013-01-07 21:23:33 +01:00
Ludovic Courtès
27160c856b
distro: Add GNU GLOBAL.
...
* distro/packages/global.scm: New file.
* Makefile.am (MODULES): Add it.
2013-01-07 21:12:12 +01:00
Ludovic Courtès
4a219a1a47
distro: Add Tcl, Expect, and DejaGNU.
...
* distro/packages/dejagnu.scm, distro/packages/tcl.scm: New files.
* Makefile.am (MODULES): Add them.
2013-01-07 21:11:19 +01:00
Ludovic Courtès
b30e4f3f12
distro: bdb: Adjust to lack of /bin/sh.
...
* distro/packages/bdb.scm (bdb): Pass `CONFIG_SHELL' and `SHELL' to the
`configure' script.
2013-01-06 18:47:24 +01:00
Ludovic Courtès
2357f85032
Update a few more license headers.
...
* distro/packages/openssl.scm, m4/guix.m4, nix/sync-with-upstream:
Update headers.
2013-01-06 18:43:58 +01:00
Ludovic Courtès
e66ca1a5a8
download: Report the progress of HTTP downloads.
...
* guix/build/download.scm (http-fetch): Rename `bv' to `bv-or-port'.
Use `http-get*' followed by `dump-port' when the former is available,
and pass a progress procedure to `dump-port'.
2013-01-06 18:36:50 +01:00
Ludovic Courtès
e47bac7902
download: Report the progress of FTP downloads.
...
* guix/build/download.scm (progress-proc): New procedure.
(ftp-fetch): Call `ftp-size' on URI. Use `progress-proc', and pass
the result to `dump-port', along with #:buffer-size.
2013-01-06 18:35:23 +01:00
Ludovic Courtès
fb83842efb
ftp-client: Add `ftp-size'.
...
* guix/ftp-client.scm (ftp-size): New procedure.
2013-01-06 18:23:44 +01:00
Ludovic Courtès
a9f8b72ee1
distro: time: Adjust `configure' phase to old `configure' script.
...
* distro/packages/time.scm (time): Add `arguments'.
2013-01-06 17:42:59 +01:00
Ludovic Courtès
4050e5d6cf
Merge branch 'master' into core-updates
...
Conflicts:
build-aux/download.scm
distro/packages/autotools.scm
distro/packages/base.scm
distro/packages/bootstrap.scm
distro/packages/lsh.scm
distro/packages/make-bootstrap.scm
distro/packages/ncurses.scm
distro/packages/perl.scm
tests/derivations.scm
tests/union.scm
2013-01-06 17:33:02 +01:00
Ludovic Courtès
79580eb698
distro: Update bootstrap binaries to an nscd-less libc.
...
Update bootstrap binaries following changes in commit d3b5972
("Build
glibc without nscd, and with static NSS modules.")
* Makefile.am (distro/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz,
distro/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz): Update hashes.
* build-aux/download.scm (file-name->uri): Update URL.
* distro/packages/bootstrap.scm (%bootstrap-coreutils&co,
%bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc): Update URLs
and hashes.
2013-01-06 01:16:14 +01:00
Ludovic Courtès
233e76769a
Update license headers.
...
Change all license headers, except guix/build/* and ld-wrapper.scm, with
this code:
(use-modules (guix build utils)
(srfi srfi-1))
(fluid-set! %default-port-encoding "UTF-8")
(substitute* (remove (lambda (f)
(or (string-contains f ".tar.")
(string-contains f ".git/")
(string-contains f ".so")
(string-suffix? ".o" f)
(string-suffix? ".a" f)
(string-suffix? ".go" f)
(string-suffix? ".pdf" f)
(string-suffix? ".png" f)
(string-suffix? ".info" f)
(equal? (basename f) "guix-daemon")
(equal? (basename f) "nix-setuid-helper")
(string-contains f "nix-upstream/")
(string-contains f "distro/packages/bootstrap/")))
(find-files "." "\\.[a-z]+$"))
(("^([[:graph:]]+) This file is part of Guix." _ comment-start)
(string-append comment-start " This file is part of GNU Guix."))
(("^([[:graph:]]+) Guix --- Nix package management.*" _ comment-start)
(string-append comment-start
" GNU Guix --- Functional package management for GNU\n"))
(("^([[:graph:]]+) Guix is " _ comment-start)
(string-append comment-start " GNU Guix is "))
(("^([[:graph:]]+) along with Guix." _ comment-start)
(string-append comment-start " along with GNU Guix."))
(("^([[:graph:]]+) Copyright \\(C\\)" _ comment-start)
(string-append comment-start " Copyright ©")))
Change headers using C-style comments manually.
2013-01-06 00:47:50 +01:00
Ludovic Courtès
fe8ff02827
Add `guix-gc'.
...
* guix-gc.in, tests/guix-gc.sh: New files.
* configure.ac: Output `guix-gc', and make it executable.
* Makefile.am (bin_SCRIPTS): Add `guix-gc'.
(TESTS): Add `tests/guix-gc.sh'.
* doc/guix.texi (Features): Add xref to "Invoking guix-gc".
(Invoking guix-gc): New node.
* po/POTFILES.in: Add `guix-gc.in'.
2013-01-06 00:28:06 +01:00
Ludovic Courtès
2646c55b03
guix-build: Make `--root' effective for .drv files too.
...
* guix-build.in (guix-build)[register-root]: Change first argument to
`paths', which should be a list of store paths. Update caller to call
`derivation-path->output-paths' on DRV. When `derivations-only?',
also register root for .drv files.
2013-01-06 00:18:43 +01:00
Ludovic Courtès
7244a5f74e
derivations: Add `derivation-path->output-paths'.
...
* guix/derivations.scm (derivation-path->output-paths): New procedure.
* tests/derivations.scm ("multiple-output derivation"): Test it.
2013-01-05 23:51:13 +01:00
Ludovic Courtès
4155e2a909
Update license headers of builder-side code.
...
Change license headers with this script:
(use-modules (guix build utils))
(fluid-set! %default-port-encoding "UTF-8")
(substitute* (cons "distro/packages/ld-wrapper.scm"
(find-files "guix/build" "\\.scm$"))
(("^([[:graph:]]+) This file is part of Guix." _ comment-start)
(string-append comment-start " This file is part of GNU Guix."))
(("^([[:graph:]]+) Guix --- Nix package management.*" _ comment-start)
(string-append comment-start
" GNU Guix --- Functional package management for GNU\n"))
(("^([[:graph:]]+) Guix is " _ comment-start)
(string-append comment-start " GNU Guix is "))
(("^([[:graph:]]+) along with Guix." _ comment-start)
(string-append comment-start " along with GNU Guix."))
(("^([[:graph:]]+) Copyright \\(C\\)" _ comment-start)
(string-append comment-start " Copyright ©")))
* distro/packages/ld-wrapper.scm, guix/build/download.scm,
guix/build/gnu-build-system.scm, guix/build/union.scm,
guix/build/utils.scm: Update license headers.
2013-01-05 16:08:07 +01:00
Ludovic Courtès
7584f822bf
utils: Add `which'.
...
* guix/build/utils.scm (which): New procedure.
* distro/packages/lsh.scm (lsh): Use `which' instead of `search-path'.
* distro/packages/perl.scm (perl): Likewise.
* distro/packages/attr.scm (attr): Likewise.
2013-01-05 16:02:32 +01:00
Ludovic Courtès
3441e16497
ui: Factorize bug-report information in `--help'.
...
* guix/config.scm.in (%guix-home-page-url): New variable.
* guix/ui.scm (show-bug-report-information): New procedure.
* guix-build.in (show-help): Use it.
* guix-download.in (show-help): Likewise.
* guix-import.in (show-help): Likewise.
* guix-package.in (show-help): Likewise.
2013-01-05 15:55:47 +01:00
Ludovic Courtès
312543dcfc
distro: make-bootstrap: Add `%bootstrap-tarballs' package.
...
* distro/packages/make-bootstrap.scm (%bootstrap-tarballs): New
variable.
2013-01-05 15:46:08 +01:00
Ludovic Courtès
d3b59727fb
distro: make-bootstrap: Build glibc without nscd, and with static NSS modules.
...
* distro/packages/make-bootstrap.scm (%glibc-with-relocatable-system):
Rename to...
(%glibc-for-bootstrap): ... this. Add new configure flags.
2013-01-05 12:41:05 +01:00