Ludovic Courtès
0ec1af59e5
guix-package: Create or diagnose missing profile directory.
...
Reported by Andreas Enge.
* guix-package.in (%profile-directory): Honor $NIX_STATE_DIR.
(guix-package)[ensure-default-profile]: Use it.
[process-actions]: Call it when the `profile' option is
%CURRENT-PROFILE.
* tests/guix-package.sh: Add installation test with $HOME set, using the
default profile.
2013-01-14 23:44:58 +01:00
Ludovic Courtès
ae9e328800
guix-package: Fix check for ~/.guix-profile existence.
...
* guix-package.in (guix-package): When testing whether
%USER-ENVIRONMENT-DIRECTORY exists, use `lstat' instead of
`file-exists?'. Reported by Andreas Enge.
2013-01-13 23:47:37 +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
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
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
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
4aa52039a7
guix-package: Avoid use of the `guix' sub-directory for profiles.
...
* guix-package.in (%current-profile): Change to `guix-profile'.
2012-12-13 23:02:22 +01:00
Ludovic Courtès
a020d2a996
guix-package: Use directory names from (guix config).
...
* guix-package.in (%profile-directory): Use %STATE-DIRECTORY instead of
a hard-coded directory.
2012-12-13 22:57:36 +01:00
Ludovic Courtès
70915c1a2e
guix-package: Add `--verbose'; silence the environment's build by default.
...
* guix-package.in (%options): Add `--verbose'.
(show-help): Update accordingly.
(guix-package): Parameterize `current-build-output-port' according to
VERBOSE?. By default, silence the environment build's output.
2012-12-12 14:59:16 +01:00
Ludovic Courtès
1c67d639d5
guix-package: Gracefully handle multiple installs of the same path.
...
* guix-package.in (guix-package)[process-actions]: Compute PACKAGES such
that packages listed in INSTALL* are first removed from the remainder
of the list. When PROF is equal to the previous profile's store path,
do nothing. Reported by Andreas Enge <andreas@enge.fr>.
* tests/guix-package.sh: Test the behavior of installing the same store
path twice. When removing a package, omit its version number.
2012-12-12 00:01:17 +01:00
Ludovic Courtès
5075e28305
guix-package: Extract version strings when installing a direct store path.
...
* guix-package.in (guix-package)[process-actions]: Extract the version
string from store paths.
* tests/guix-package.sh: Adjust accordingly.
2012-11-19 23:53:32 +01:00
Ludovic Courtès
d9d0536340
guix-package: Record the correct version string in manifests.
...
* guix-package.in (guix-package)[find-package]: Return (package-version p),
not VERSION.
2012-11-19 23:21:54 +01:00
Ludovic Courtès
64fc89b6ec
guix-package: Add `--list-available'.
...
* guix-package.in (show-help, %options): Add `--list-available'.
(guix-package)[process-query]: Add support for `--list-available'.
* doc/guix.texi (Invoking guix-package): Document it.
* tests/guix-package.sh: Add test.
* guix/ui.scm (location->string): New procedure.
* guix/utils.scm: Export <location>.
2012-11-19 23:04:38 +01:00
Ludovic Courtès
733b4130d7
guix-package: Add `--list-installed'.
...
* guix-package.in (show-help, %options): Add `--list-installed'.
(guix-package): Move main body to...
[process-actions]: ... here. New internal procedure.
[process-query]: New procedure.
* tests/guix-package.sh: Add tests for `--list-installed'.
* doc/guix.texi (Invoking guix-package): Document it.
2012-11-19 23:04:35 +01:00
Ludovic Courtès
c6f09dfade
guix-package: Fix typo.
...
* guix-package.in (guix-package)[find-package]: Don't use `_' as the
wildcard, to avoid collision with `gettext'.
2012-11-19 22:19:26 +01:00
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.
2012-11-07 19:14:22 +01:00
Ludovic Courtès
1227fabb65
guix-package: Fix invalid module use.
...
* guix-package.in: Use (distro packages guile), not (... base).
2012-11-07 19:13:10 +01:00
Ludovic Courtès
5901471cec
guix-package: Remove extraneous procedures.
...
* guix-package.in (_, N_): Remove.
2012-11-04 18:19:28 +01:00
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.
2012-11-04 01:29:18 +01:00
Ludovic Courtès
1275baeba7
guix-package: Use more (guix ui) features.
...
* guix-package.in (leave): Remove.
(guix-package): Wrap body in `with-error-handling'.
2012-11-03 21:23:16 +01:00
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.
2012-11-03 21:19:43 +01:00
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'.
2012-11-01 01:46:15 +01:00