~ruther/guix-local

ref: b9a31d90e907db0a593ec80aacc35a0523a009f6 guix-local/guix/profiles.scm -rw-r--r-- 19.1 KiB
2f0556ae — Ludovic Courtès 11 years ago
profiles: Add gzip to $PATH before invoking 'install-info'.

* guix/profiles.scm (info-dir-file)[gzip]: New variable.
  [build]: Add 'setenv' call.
c2815c0f — Ludovic Courtès 11 years ago
profiles: Handle packages without a 'share/info' directory.

Reported by Mark H. Weaver.

* guix/profiles.scm (info-dir-file): Handle the case where 'scandir'
  returns #f.
79ee406d — Ludovic Courtès 11 years ago
profiles: Produce a top-level Info 'dir' file.

Fixes <http://bugs.gnu.org/18305>.
Reported by Brandon Invergo <brandon@gnu.org>.

* guix/profiles.scm (manifest-inputs, info-dir-file): New procedures.
  (profile-derivation): Use them.  Add #:info-dir? parameter and honor
  it.
* guix/scripts/package.scm (guix-package): Call 'profile-derivation'
  with #:info-dir? #f when the 'bootstrap? option is set.
* tests/profiles.scm ("profile-derivation"): Pass #:info-dir? #f.
6b74bb0a — Alex Kost 11 years ago
profiles: Report about upgrades.

* guix/profiles.scm (manifest-show-transaction): Report about upgrades.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
343745c8 — Alex Kost 11 years ago
profiles: Add 'manifest-transaction'.

* guix/profiles.scm (<manifest-transaction>): New record-type.
  (manifest-perform-transaction): New procedure.
  (manifest-show-transaction): New procedure.
* tests/profiles.scm ("manifest-perform-transaction"): New test.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
d34736c5 — Ludovic Courtès 11 years ago
profiles: Adjust to unintended manifest format change.

Reported by Andreas Enge.

* guix/profiles.scm (sexp->manifest): Adjust to handle unintended format
  change introduced in 4ca0b41.
f7554030 — Alex Kost 11 years ago
profiles: Add 'manifest-add'.

* guix/profiles.scm (manifest-add): New procedure.
* tests/profiles.scm (guile-1.8.8): New variable.
  ("manifest-add"): New test.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
462f5cca — Ludovic Courtès 11 years ago
profiles: Add 'package->manifest-entry'.

Suggested by Alex Kost <alezost@gmail.com>.

* guix/scripts/package.scm (options->installable)[package->manifest-entry]:
  Move to (guix profiles).
  [package->manifest-entry*]: New procedure.
  Use it.
* guix/profiles.scm (package->manifest-entry): New procedure.
* tests/profiles.scm (guile-for-build): New variable.
  Call '%guile-for-build'.
  ("profile-derivation"): New test.
4ca0b410 — Ludovic Courtès 11 years ago
profiles: Get rid of the 'inputs' field of 'manifest-entry'.

* guix/profiles.scm (<manifest-entry>)[inputs]: Remove.
  (profile-derivation): Rely on 'item' and 'deps' instead of 'inputs'.
  Adjust 'builder' accordingly.
* guix/scripts/package.scm (options->installable)[package->manifest-entry]:
  Remove 'inputs' field.  Change 'dependencies' field to contain
  packages.
a54c94a4 — Ludovic Courtès 11 years ago
profiles: Switch to gexps.

* guix/profiles.scm (<manifest-entry>)[path]: Rename to...
  [item]: ... this.  Update users.
  (manifest->sexp): Rename to...
  (manifest->gexp): ... this.  Return a gexp.
  (lower-input): Remove.
  (profile-derivation): Remove 'store' parameter, and turn into a
  monadic procedure.
  [inputs]: New variable.
  [builder]: Turn into a gexp.
  Replace call to 'build-expression->derivation' with call to
  'gexp->derivation'.
* guix/scripts/package.scm (link-to-empty-profile): Adjust call to
  'profile-derivation', and wrap it in 'run-with-store'.
  (show-what-to-remove/install): Rename 'path' to 'item'.  Check whether
  ITEM is a package, and return its output path if it is.
  (input->name+path): Remove.
  (options->installable): Set 'item' to P.
  (guix-package): Adjust call to 'profile-derivation'.
* tests/profiles.scm (guile-2.0.9): Change 'path' to 'item'.
48704e5b — Ludovic Courtès 11 years ago
profiles: Do away with 'manifest=?'.

* guix/profiles.scm (manifest=?): Remove.
* guix/scripts/package.scm (readlink*): New procedure.
  (guix-package)[process-actions]: Use 'readlink*' and compare the
  profile to be built, PROF, with PROFILE to determine whether there's
  nothing to be done.
ff838e2c — Ludovic Courtès 11 years ago
profiles: Remove dead code.

* guix/profiles.scm (write-manifest): Remove.
  (read-manifest): Keep private.
4979ee04 — Ludovic Courtès 12 years ago
Merge branch 'core-updates'
6ce206cb — Ludovic Courtès 12 years ago
Prefer local builds for "small" derivations.

* gnu/system.scm (union, file-union, links): Pass #:local-build? #t to
  'derivation-expression'.
* guix/derivations.scm (imported-files, compiled-modules): Likewise.
* guix/profiles.scm (profile-derivation): Likewise.
200a97e6 — Ludovic Courtès 12 years ago
Merge branch 'master' into core-updates
9e55f04a — Ludovic Courtès 12 years ago
profiles: Remove misleading message.

Fixes <http://bugs.gnu.org/16484>.
Reported by Andreas Enge <andreas@enge.fr>.

* guix/profiles.scm (profile-derivation)[builder]: Remove "building
  profile '~a' with ~a packages" message.
dd1a5a15 — Ludovic Courtès 12 years ago
derivations: Use more keyword parameters for 'build-expression->derivation'.

* guix/derivations.scm (build-expression->derivation): Turn 'system' and
  'inputs' into keyword parameters.
  Adjust callers accordingly.
* gnu/system/linux.scm, gnu/system/vm.scm, guix/build-system/cmake.scm,
  guix/build-system/gnu.scm, guix/build-system/perl.scm,
  guix/build-system/python.scm, guix/build-system/trivial.scm,
  guix/download.scm, guix/packages.scm, guix/profiles.scm,
  guix/scripts/pull.scm, tests/derivations.scm, tests/guix-build.sh,
  tests/monads.scm, tests/store.scm, tests/union.scm: Adjust users of
  'build-expression->derivation' and 'derivation-expression'
  accordingly.
* doc/guix.texi (Derivations): Adjust 'build-expression->derivation'
  documentation accordingly.
  (The Store Monad): Likewise for 'derivation-expression'.
7db9608d — Ludovic Courtès 12 years ago
Merge branch 'master' into core-updates

Conflicts:
	guix/packages.scm
a2078770 — Ludovic Courtès 12 years ago
guix package: Allow removal of a specific package output.

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

* guix/profiles.scm (<manifest-pattern>): New record type.
  (remove-manifest-entry): Remove.
  (entry-predicate, manifest-matching-entries): New procedures.
  (manifest-remove): Accept a list of <manifest-pattern>.
  (manifest-installed?): Replace 'name' parameter by 'pattern', a
  <manifest-pattern>.
* guix/scripts/package.scm (options->removable): Return a list of
  <manifest-pattern>.
  (guix-package)[process-action]: Use 'manifest-matching-entries' to
  compute the list of packages to remove.
* tests/profiles.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
cc4ecc2d — Ludovic Courtès 12 years ago
Add (guix profiles).

* guix/scripts/package.scm (show-what-to-remove/install): New procedure,
  moved from...
  (guix-package): ... here.
  (<manifest>, make-manifest, <manifest-entry>,
  profile-manifest, manifest->sexp, sexp->manifest, read-manifest,
  write-manifest, remove-manifest-entry, manifest-remove,
  manifest-installed?, manifest=?, profile-regexp, generation-numbers,
  previous-generation-number, profile-derivation, generation-number,
  generation-file-name, generation-time, lower-input): Move to...
* guix/profiles.scm: ... here.  New file.
* Makefile.am (MODULES): Add it.