summaryrefslogtreecommitdiff
path: root/guix/profiles.scm
AgeCommit message (Collapse)Author
2017-08-09profiles: Only check file contents if the file exists.Ricardo Wurmus
* guix/profiles.scm (fonts-dir-file): Check that files exist before using "empty-file?".
2017-07-20profiles: Remove workaround for an old Guile 'scandir' bug.Ludovic Courtès
* guix/profiles.scm (generation-numbers)[scandir]: Remove.
2017-07-03profiles: xdg-desktop-database: Run the hook when GLib is referenced.宋文武
This will pull the latest 'desktop-file-utils' package into the profile closure, as the 'xdg-mime-database' hook already does. * guix/profiles.scm (xdg-desktop-database): Run the hook when 'glib' is referenced.
2017-06-26profiles: Add 'manifest-transaction-removal-candidate?'.Ludovic Courtès
* guix/profiles.scm (manifest-transaction-removal-candidate?): New procedure. * tests/profiles.scm ("manifest-transaction-removal-candidate?"): New test.
2017-06-21environment: Disable profile collision checks.Ludovic Courtès
Reported by Efraim Flashner. This is a followup to a654dc4bcf7c8e205bdefa1a1d5f23444dd22778. * guix/profiles.scm (profile-derivation): Add #:allow-collisions? and honor it. * guix/scripts/environment.scm (inputs->profile-derivation): Pass #:allow-collisions? #f to 'profile-derivation'. * tests/guix-environment.sh: Test "guix environment guix".
2017-06-21profiles: Move 'manifest-entry-dependencies' user after definition.Ludovic Courtès
Reported by Efraim Flashner. * guix/profiles.scm (manifest-transitive-entries): Move after <manifest-entry> definition.
2017-06-21profiles: Catch and report collisions in the profile.Ludovic Courtès
* guix/profiles.scm (&profile-collision-error): New error condition. (manifest-transitive-entries, manifest-entry-lookup, lower-manifest-entry) (check-for-collisions): New procedures. (profile-derivation): Add call to 'check-for-collisions'. * guix/ui.scm (call-with-error-handling): Handle '&profile-collision-error'. * tests/profiles.scm ("collision", "collision of propagated inputs") ("no collision"): New tests.
2017-06-21profiles: Manifest entries keep a reference to their parent entry.Ludovic Courtès
* guix/profiles.scm (<manifest-entry>)[parent]: New field. (package->manifest-entry): Add #:parent parameter. Fill out the 'parent' field of <manifest-entry>; pass #:parent in recursive calls. * guix/profiles.scm (sexp->manifest)[sexp->manifest-entry]: New procedure. Use it for version 3. * tests/profiles.scm ("manifest-entry-parent"): New procedure. ("read-manifest")[entry->sexp]: Add 'manifest-entry-parent' to the result.
2017-06-21profiles: Represent propagated inputs as manifest entries.Ludovic Courtès
* guix/profiles.scm (package->manifest-entry): Turn DEPS into a list of manifest entries. (manifest->gexp)[entry->gexp]: Call 'entry->gexp' on DEPS. Bump version to 3. (sexp->manifest)[infer-dependency]: New procedure. Use it for versions 1 and 2. Parse version 3. (manifest-inputs)[entry->gexp]: New procedure. Adjust to 'dependencies' being a list of <manifest-entry>. * tests/profiles.scm ("packages->manifest, propagated inputs") ("read-manifest"): New fields.
2017-05-16profiles: Add elapsed time to manual-database hook to output message.Maxim Cournoyer
* guix/profiles.scm (manual-database): Add elapsed time to manual-database hook to output message. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-04-05profiles: Generate database file for man pages.Maxim Cournoyer
The mandb database file (index.db) is used by the "apropos" (whatis) or "man -k" commands. This change introduces a profile hook to generate such database file. * guix/profiles.scm (manual-database): New procedure. (%default-profile-hooks): Add it. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2017-03-26profiles: Create fonts.dir/scale for all fonts directories.Huang Ying
* guix/profiles.scm (fonts-dir-file): Create fonts.dir/scale files for all fonts directories. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-03-17profiles: Packages in a profile can be cross-compiled.Ludovic Courtès
* guix/profiles.scm (profile-derivation): Add #:target parameter; pass it to 'gexp->derivation'. * tests/profiles.scm ("profile-derivation, cross-compilation"): New test.
2017-02-08profiles: gtk-im-modules: Fix for gtk3.Ying Huang
Gtk+3 now have multiple outputs, so the gtk-query-immodules-3.0 should be find in output "bin" instead of "out". * guix/profiles.scm (gtk-im-modules): Pass the path of gtk-query-immodules-x.x as 'query' argument to the 'build' procedure. Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2017-01-16profiles: Export 'ca-certificate-bundle'.Christopher Baines
* guix/profiles.scm: Export ca-certificate-bundle, such that it can be used in other G-expressions. This is useful where these G-expressions run programs that require a ca-certificate-bundle, e.g. git. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-12-17profiles: Remove dependency on 'glibc-utf8-locales' for tests.Ludovic Courtès
Commit 1af0860e8be81c01ad405c1226d6bc4516e62863 added a mandatory dependency on 'glibc-utf8-locales', which entails long rebuilds for tests. * guix/profiles.scm (profile-derivation): Add #:locales? parameter. Add 'set-utf8-locale' variable. Use it when LOCALES? is true. (link-to-empty-profile): Pass #:locales? #f. * guix/scripts/environment.scm (inputs->profile-derivation): Pass #:locales?. * guix/scripts/package.scm (build-and-use-profile): Likewise. * tests/packages.scm ("--search-paths with pattern"): Pass #:locales? #f. * tests/profiles.scm ("profile-derivation") ("profile-derivation, inputs", "profile-manifest, search-paths") ("etc/profile", "etc/profile when etc/ already exists"): ("etc/profile when etc/ is a symlink"): Likewise.
2016-12-16profiles: Build profiles in a UTF-8 locale.Ludovic Courtès
Fixes <http://bugs.gnu.org/25213>. Reported by Christopher Baines <mail@cbaines.net>. * guix/profiles.scm (profile-derivation)[glibc-utf8-locales]: New variable. [builder]: Use it to set 'LOCPATH'.
2016-11-19store: Add 'references*'.Ludovic Courtès
* guix/store.scm (references*): New procedure. * guix/profiles.scm (manifest-lookup-package)[references*]: Remove. * guix/scripts/system.scm (references*): Remove. * tests/gexp.scm ("gexp->file", "gexp->file + file-append") ("gexp->derivation", "gexp->derivation, cross-compilation") ("gexp->derivation, ungexp + ungexp-native") ("scheme-file", "text-file*", "mixed-text-file"): Remove 'references*' instead of (store-lift references).
2016-11-07Merge branch 'master' into core-updatesMark H Weaver
2016-11-06profiles: Extract a procedure for getting relative generation numbers.Chris Marusich
* guix/profiles.scm (relative-generation-spec->number): New procedure. * guix/scripts/package.scm (switch-generation-action): Use it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-10-30Merge branch 'master' into core-updatesLeo Famulari
2016-10-30profiles: manifest-lookup-package: Cosmetic changes.Ricardo Wurmus
* guix/profiles.scm (manifest-lookup-package): Rename variables; use "string=?" instead of "equal?".
2016-09-30Merge branch 'master' into core-updatesLudovic Courtès
2016-09-26profiles: Build GTK+ input module cache.Ricardo Wurmus
* guix/profiles.scm (gtk-im-modules): New procedure. (%default-profile-hooks): Add it.
2016-09-26profiles: manifest-lookup-package: Optionally match version prefix.Ricardo Wurmus
* guix/profiles.scm (manifest-lookup-package): Optionally filter store item matches by version prefix.
2016-09-06profiles: Export <manifest-pattern> accessors.Ludovic Courtès
* guix/profiles.scm (manifest-pattern-name, manifest-pattern-version) (manifest-pattern-output): Export.
2016-09-06profiles: Add manifest-transaction helper procedures.Ludovic Courtès
* guix/profiles.scm (manifest-transaction-install-entry) (manifest-transaction-remove-pattern) (manifest-transaction-null?): New procedures. * tests/profiles.scm ("manifest-transaction-null?"): New test.
2016-08-23profiles: gtk-icon-themes: Use 'gtk-update-icon-cache' from 'gtk+:bin'.宋文武
This is a followup to commit 7b808d7. * guix/profiles.scm (gtk-icon-themes): Use 'gtk-update-icon-cache' from the "bin" output of gtk+ package.
2016-08-12profiles: xdg-mime-database: Run the hook when have GLib based applications.宋文武
* guix/profiles.scm (xdg-mime-database): Run the hook when GLIB is referenced by the manifest. Add SHARED-MIME-INFO to the mime packages of `update-mime-database'.
2016-07-26profiles: Output in 'package->manifest-entry' defaults to "out".Ludovic Courtès
Fixes <http://bugs.gnu.org/24029>. Reported by Dylan Jeffers <sapientech@openmailbox.org>. * guix/profiles.scm (package->manifest-entry): Change #:output to default to "out". (packages->manifest): Add 'package?' in second 'match' clause. * tests/profiles.scm ("package->manifest-entry defaults to \"out\""): New test.
2016-07-25profiles: Add fonts-dir-file hook.Alex Kost
* guix/profiles.scm (fonts-dir-file): New procedure. (%default-profile-hooks): Add it.
2016-07-12profiles: Use 'with-imported-modules'.Ludovic Courtès
* guix/profiles.scm (info-dir-file): Use 'with-imported-modules' instead of the #:module argument to 'gexp->derivation'. (ghc-package-cache-file): Likewise. (ca-certificate-bundle): Likewise. (gtk-icon-themes): Likewise. (xdg-desktop-database): Likewise. (xdg-mime-database): Likewise. (profile-derivation): Likewise.
2016-06-12profiles: Make sure hook derivations fail upon error.Ludovic Courtès
Reported at <https://lists.gnu.org/archive/html/guix-devel/2016-06/msg00368.html>. * guix/profiles.scm (info-dir-file)[build]: Add explicit call to 'exit'. * guix/profiles.scm (ghc-package-cache-file)[build]: Likewise. * guix/profiles.scm (xdg-desktop-database)[build]: Likewise. * guix/profiles.scm (xdg-mime-database)[build]: Likewise.
2016-06-11profiles: manifest-lookup-package: Correctly handle package entries.宋文武
* guix/profiles.scm (manifest-lookup-package): Consider the package entry in addition to its 'package-transitive-inputs'.
2016-06-11profiles: xdg-mime-database: Union the "share/mime/packages" directory.宋文武
* guix/profiles.scm (xdg-mime-database): Call 'union-build' for the "share/mime/packages" directory of inputs.
2016-06-05profiles: 'profile-derivation' now honors #:system.Ludovic Courtès
Fixes <http://bugs.gnu.org/23682>. Reported by Ander GM <anthk@openmailbox.org>. * guix/profiles.scm (profile-derivation): Pass #:system to 'gexp->derivation'. * tests/guix-environment.sh: Add 'guix environment -s' test.
2016-05-02profiles: Factor out 'manifest-lookup-package'.宋文武
* guix/profiles.scm (manifest-lookup-package): New procedure. (gtk-icon-themes, xdg-desktop-database, xdg-mime-database): Use it.
2016-05-02profiles: Add xdg-mime-database hook.宋文武
* guix/profiles.scm (xdg-mime-database): New function. (%default-profile-hooks): Add it.
2016-05-02profiles: Add xdg-desktop-database hook.宋文武
* guix/profiles.scm (xdg-desktop-database): New function. (%default-profile-hooks): Add it.
2016-04-01profiles: Use the right 'package-name->name+version'.Ludovic Courtès
* guix/profiles.scm: Use 'package-name->name+version' from (guix build utils). Fixes 'find-among-store-items' in 'gtk-icon-themes'.
2016-02-12profiles: Add #:system argument to profile-derivation.Ludovic Courtès
Suggested by David Thompson <davet@gnu.org>. * guix/profiles.scm (profile-derivation): Add #:system parameter and honor it.
2015-12-20profiles: Honor search paths of propagated inputs.Ludovic Courtès
Fixes <http://bugs.gnu.org/22073>. Reported by Federico Beffa <beffa@ieee.org>. * guix/profiles.scm (package->manifest-entry): Use 'package-transitive-native-search-paths' when computing 'search-paths' field. * tests/profiles.scm ("package->manifest-entry, search paths"): New test.
2015-12-14profiles: Silence Info installation.Ludovic Courtès
* guix/profiles.scm (info-dir-file)[build]: Pass --silent to 'install-info'.
2015-12-04profiles: Silence GTK+ icon cache creation.Ludovic Courtès
Suggested by Ricardo Wurmus <rekado@elephly.net>. * guix/profiles.scm (gtk-icon-themes)[build]: Pass --quiet to 'gtk-update-icon-cache'.
2015-12-04profiles: Silence GTK+ icon theme union.Ludovic Courtès
Suggested by Ricardo Wurmus <rekado@elephly.net>. * guix/profiles.scm (gtk-icon-themes)[build]: Pass 'union-build' a #:log-port argument.
2015-10-27profiles: Add generation manipulation procedures.Ludovic Courtès
* guix/scripts/package.scm (delete-generations): Use 'delete-generation*' instead of 'delete-generation'. (guix-package)[process-actions]: Use 'roll-back*' instead of 'roll-back' and 'switch-to-generation*' instead of 'switch-to-generation'. (link-to-empty-profile, switch-to-generation, switch-to-previous-generation, roll-back, delete-generation): Move to... * guix/profiles.scm: ... here. Adjust to not print messages and to return values that can be used by user interfaces. * guix/ui.scm (display-generation-change, roll-back*, switch-to-generation*, delete-generation*): New procedures.
2015-10-04Use "normalized codesets" everywhere.Ludovic Courtès
In other words, change "xx_YY.UTF-8" to "xx_YY.utf8". * guix/profiles.scm (ca-certificate-bundle): Use "en_US.utf8" instead of "en_US.UTF-8". * guix/packages.scm (patch-and-repack): Likewise. * guix/build/gnu-build-system.scm (install-locale): Likewise. * guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Likewise. * gnu/packages/python.scm (python-ipython): Likewise. * gnu/packages/gawk.scm (gawk): Likewise. * build-aux/hydra/demo-os.scm: Likewise. * gnu/packages/guile.scm (guile-ncurses)[arguments]: Remove 'change-locale' phase.
2015-10-03gnu: glibc: Look for locale data in versioned sub-directories.Ludovic Courtès
* gnu/packages/base.scm (glibc)[native-search-paths]: Add 'lib/locale/VERSION' for 'GUIX_LOCPATH'. (glibc-locales, glibc-utf8-locales): Write to a VERSION sub-directory. * guix/profiles.scm (ca-certificate-bundle): Adjust LOCPATH value accordingly.
2015-09-24profiles: Make profile-specific derivations non-substitutable.Ludovic Courtès
This avoids gratuitous queries of the substituter. * guix/profiles.scm (ghc-package-cache-file): Pass #:substitutable? #f to 'gexp->derivation'. (ca-certificate-bundle): Likewise. (gtk-icon-themes): Likewise. (profile-derivation): Likewise. (info-dir-file): Likewise, plus #:local-build? #t.
2015-08-20profiles: Remove duplicate entries in 'etc/profile'.Ludovic Courtès
Reported by Andy Wingo at <http://lists.gnu.org/archive/html/guix-devel/2015-08/msg00109.html>. * guix/profiles.scm (profile-derivation)[builder]: Delete duplicates in SEARCH-PATHS.