~ruther/guix-local

ref: 3263b9b3968a3bbfe4d9d0cf96530ed7d01d3479 guix-local/guix/scripts/package.scm -rw-r--r-- 42.6 KiB
6879fe23 — Taylan Ulrich Bayirli/Kammer 11 years ago
guix package: Try $LOGNAME in addition to $USER.

Fixes <http://bugs.gnu.org/17946>.

Notoriously, cron jobs may set LOGNAME only and not USER.  See
e.g. crontab(5) under Debian 7 (wheezy).

* guix/scripts/package.scm (%profile-directory)
(guix-package): Also try LOGNAME if USER is unset.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
88371f0d — Ludovic Courtès 11 years ago
guix package: Do the right thing for '-p ~/.guix-profile'.

Fixes <http://bugs.gnu.org/17939>.
Reported by Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>.

* guix/scripts/package.scm (canonicalize-profile): New procedure.
  (%options): Use it for --profile.
* tests/guix-package.sh: Add test.
7470df5d — Ludovic Courtès 11 years ago
Merge branch 'master' into core-updates
ee764179 — Ludovic Courtès 11 years ago
Separate package description translations from string translations.

* po/packages/LINGUAS, po/packages/Makevars, po/packages/POTFILES.in:
  New files.
* po/guix/Makevars (DOMAIN): Change to "guix".
  (XGETTEXT_OPTIONS): Remove "--keyword=synopsis --keyword=description".
* po/guix/POTFILES.in: Remove gnu/packages/*.scm.
* configure.ac: Change to gettext 0.18.3.  Produce
  po/packages/Makefile.in.
* Makefile.am (SUBDIRS): Add po/packages.
* guix/ui.scm (%package-text-domain): New variable.
  (P_): New procedure.
  (package->recutils): Use 'P_' instead of '_'.
* guix/scripts/package.scm (find-packages-by-description): Use 'P_'
  instead of 'gettext'.
512314d7 — Ludovic Courtès 12 years ago
guix package: Fix indentation of packages to remove.

* guix/scripts/package.scm (show-what-to-remove/install): Add space when
  showing packages to remove.
27c68457 — Ludovic Courtès 12 years ago
guix package: 'search-path-environment-variables' traverses module tree once.

* guix/scripts/package.scm (search-path-environment-variables)[manifest-entry->package]:
  Use 'find-best-packages-by-name' instead of 'find-packages-by-name'.
  On a profile with 140 packages, this reduces execution time of this
  procedure from 5.8 seconds to 2.9 seconds (50% improvement.)
d2952326 — Ludovic Courtès 12 years ago
guix package: Register non-default profiles as GC roots.

* guix/scripts/package.scm (maybe-register-gc-root): New procedure.
* tests/guix-package.sh (profile): Grep the output of "guix gc
  --list-live" in a couple of places.
e06f7865 — Ludovic Courtès 12 years ago
Merge branch 'master' into core-updates
dd67b429 — Ludovic Courtès 12 years ago
guix package: Use the common build options from (guix scripts build).

* guix/scripts/build.scm (%standard-build-options): Change option
  handlers to support multiple seeds.
* guix/scripts/package.scm (show-help): Remove --dry-run, --fallback,
  --no-substitutes, and --max-silent-time.
  (%options): Likewise, and add %STANDARD-BUILD-OPTIONS.
  (%default-options): Add 'verbosity'.
  (guix-package): Call 'set-build-options-from-command-line' instead of
  'set-build-options'.
200a97e6 — Ludovic Courtès 12 years ago
Merge branch 'master' into core-updates
eb9a9fee — Ludovic Courtès 12 years ago
guix package: Gracefully handle EPIPE on '--search'.

* guix/scripts/package.scm (guix-package): Wrap body of 'search' in
  'leave-on-EPIPE'.
2f265602 — Ludovic Courtès 12 years ago
Merge branch 'master' into core-updates
80d0447c — Ludovic Courtès 12 years ago
config: '%state-directory' always honors $NIX_STATE_DIR.

* guix/config.scm.in (%state-directory): Honor $NIX_STATE_DIR.
* guix/scripts/package.scm (%profile-directory): Use %state-directory
  directly.
* guix/store.scm (%default-socket-path, log-file): Likewise.
1a43e4dc — Ludovic Courtès 12 years ago
guix package: Gracefully deal with EPIPE on stdout for --list-*.

* guix/scripts/package.scm (leave-on-EPIPE): New macro.
  (guix-package): Use it for 'list-installed', 'list-available', and
  '--list-generations'.
* tests/guix-package.sh: Add test.
760c60d6 — Ludovic Courtès 12 years ago
Add 'guix archive'.

* guix/scripts/archive.scm, tests/guix-archive.sh: New files.
* Makefile.am (MODULES): Add 'archive.scm'.
  (SH_TESTS): Add 'guix-archive.sh'.
* doc/guix.texi (Invoking guix archive): New section.
* guix/scripts/build.scm: Export 'derivation-from-expression'.
* guix/scripts/package.scm: Export 'specification->package+output'.
3f26bfc1 — Ludovic Courtès 12 years ago
Factorize package search between 'guix package' and 'guix build'.

* guix/scripts/package.scm (newest-available-packages): Remove.
  (find-best-packages-by-name): Move to...
* gnu/packages.scm (find-best-packages-by-name): ... here.
  (find-newest-available-packages): Memoize.
* guix/scripts/build.scm (specification->package): New procedure,
  formerly called 'find-package' within 'guix-build'.
  (guix-build): Adjust accordingly.
6447738c — Mark H Weaver 12 years ago
guix package: allow multiple arguments after -i, -r, and -u.

* guix/scripts/package.scm (%options): Adapt option processors to accept and
  return a second seed value: 'arg-handler', which handles bare arguments (if
  not false).  The install, remove, and upgrade option processors return an
  arg-handler that repeat the same operation.  All other option processors
  return #f as the arg-handler.  Make the arguments to install and remove
  optional.  The upgrade option processor deletes (upgrade . #f) from the
  alist before adding a new entry.
  (guix-package): Procedures passed to 'args-fold*' accept the new seed value
  'arg-handler'.  The 'operand-proc' uses 'arg-handler' (if not false).

* doc/guix.texi (Invoking guix package): Update docs.

* tests/guix-package.sh: Add test.
b874f305 — Ludovic Courtès 12 years ago
guix package: Honor the current output when upgrading.

* guix/scripts/package.scm (specification->package+output): Pass OUTPUT
  to 'package-specification->name+version+output'.
7db9608d — Ludovic Courtès 12 years ago
Merge branch 'master' into core-updates

Conflicts:
	guix/packages.scm
45b418d6 — Ludovic Courtès 12 years ago
guix package: Show the output name of what's being removed.

* guix/scripts/package.scm (show-what-to-remove/install): Show the
  output name of packages being removed.
Next