aboutsummaryrefslogtreecommitdiff
path: root/guix/profiles.scm
Commit message (Expand)AuthorAge
* profiles: Allow lowerable objects other than packages in <manifest-entry>.•••* guix/profiles.scm (manifest-lookup-package)[entry-lookup-package]: Add case where 'manifest-entry-item' returns something that's neither a string nor a package. Ludovic Courtès2018-05-10
* profiles: Optionally use relative file names for symlink targets.•••* guix/build/union.scm (symlink-relative): New procedure. * guix/build/profiles.scm: Re-export it. (build-profile): Add #:symlink and pass it to 'union-build'. * guix/profiles.scm (profile-derivation): Add #:relative-symlinks?. Pass #:symlink to 'build-profile'. * tests/profiles.scm ("profile-derivation relative symlinks, one entry") ("profile-derivation relative symlinks, two entries"): New tests. Ludovic Courtès2018-05-10
* profiles: 'manifest-add' truly deletes duplicate entries.•••Fixes <https://bugs.gnu.org/30569>. Reported by Andreas Enge <andreas@enge.fr>. * guix/profiles.scm (manifest-add): Don't append ENTRIES as is. Instead, cons each element of ENTRIES as we fold over it. Remove unneeded ellispes in 'match' patterns. Ludovic Courtès2018-03-01
* Merge branch 'master' into core-updatesMarius Bakke2017-12-19
|\
| * profiles: Use (guix man-db) to create the manual database.•••Fixes <https://bugs.gnu.org/29654>. Reported by Ruud van Asseldonk <dev+guix@veniogames.com>. This also speeds up database creation compared to "man-db --create" (less than half the time, on a warm cache, for 19k pages.) * guix/man-db.scm: New file. * Makefile.am (MODULES_NOT_COMPILED): Add it. * guix/profiles.scm (manual-database): Rewrite to use (guix man-db). Ludovic Courtès2017-12-17
* | Merge branch 'master' into core-updatesMarius Bakke2017-12-05
|\|
| * profiles: Really disable deprecation warnings for 'profile-derivation'.•••This is a followup to 2815fca1423cf72e6f3d0e774f1058bcbf8dfdbf. * guix/profiles.scm (profile-derivation)[builder]: Remove 'debug-disable' call, which was ineffective. Pass #:env-vars to 'gexp->derivation'. Ludovic Courtès2017-12-03
| * profile: Use _IO* but disable deprecation warning.•••This fixes a regression introduced in 2f60084f77815f454d1521396c2a383390ea2865, whereby the profile derivation would fail to run on Guile 2.0 (as is the case with "guix package --bootstrap"). Reported by Christopher Baines. * guix/profiles.scm (profile-derivation)[builder]: Use _IO* but add 'debug-disable' call. Ludovic Courtès2017-12-03
| * profiles: Avoid _IO* in profile builder.•••* guix/profiles.scm (profile-derivation)[builder]: Avoid the deprecated _IO* constants. Ludovic Courtès2017-12-03
| * profiles: Do not import the host's srfi-{19,26}.scm files.•••Previously the "manual-database" derivation would always import the host's srfi-{19,26}.scm files in the build side. In practice this means that different users could get different manual-database.drv depending on the Guile version they're using in the host. For example, the (gnu tests install) tests would fail if the host was running Guile 2.2.3 because the guest is running 2.2.2, and thus has different srfi-{19,26}.scm files. The manual-database.drv would need to be built from source, which would fail because prerequisites were missing. Reported by Mathieu Othacehe <m.othacehe@gmail.com> at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=29409#96>. * guix/profiles.scm (manual-database): Do not pass #:modules to 'gexp->derivation'. Wrap 'build' gexp in 'with-imported-modules' form. Ludovic Courtès2017-12-03
* | gnu: glibc: Don't use full version string in locale path.•••This is a follow-up to commit ee3ebf1a357bd4eb36a2fa1790a7b549cffb305a. Fixes <https://bugs.gnu.org/29537>. * gnu/packages/base.scm (glibc/linux)[version]: Change to 2.26.91-gaaa2eb83b8. [source](uri): Adjust accordingly. [arguments]: Use VERSION-MAJOR+MINOR for locales path. (glibc-locales, glibc-utf8-locales): Likewise. * guix/packages.scm (patch-and-repack): Likewise. * guix/profiles.scm (ca-certificate-bundle, profile-derivation): Likewise. Marius Bakke2017-12-03
|/
* profiles: Only check file contents if the file exists.•••* guix/profiles.scm (fonts-dir-file): Check that files exist before using "empty-file?". Ricardo Wurmus2017-08-09
* profiles: Remove workaround for an old Guile 'scandir' bug.•••* guix/profiles.scm (generation-numbers)[scandir]: Remove. Ludovic Courtès2017-07-20
* profiles: 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-07-03
* profiles: Add 'manifest-transaction-removal-candidate?'.•••* guix/profiles.scm (manifest-transaction-removal-candidate?): New procedure. * tests/profiles.scm ("manifest-transaction-removal-candidate?"): New test. Ludovic Courtès2017-06-26
* environment: Disable profile collision checks.•••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". Ludovic Courtès2017-06-21
* profiles: Move 'manifest-entry-dependencies' user after definition.•••Reported by Efraim Flashner. * guix/profiles.scm (manifest-transitive-entries): Move after <manifest-entry> definition. Ludovic Courtès2017-06-21
* profiles: Catch and report collisions in the profile.•••* 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. Ludovic Courtès2017-06-21
* profiles: Manifest entries keep a reference to their parent entry.•••* 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. Ludovic Courtès2017-06-21
* profiles: Represent propagated inputs as manifest entries.•••* 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. Ludovic Courtès2017-06-21
* profiles: Add elapsed time to manual-database hook to output message.•••* guix/profiles.scm (manual-database): Add elapsed time to manual-database hook to output message. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Maxim Cournoyer2017-05-16
* profiles: Generate database file for man pages.•••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> Maxim Cournoyer2017-04-05
* profiles: Create fonts.dir/scale for all fonts directories.•••* guix/profiles.scm (fonts-dir-file): Create fonts.dir/scale files for all fonts directories. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Huang Ying2017-03-26
* profiles: Packages in a profile can be cross-compiled.•••* guix/profiles.scm (profile-derivation): Add #:target parameter; pass it to 'gexp->derivation'. * tests/profiles.scm ("profile-derivation, cross-compilation"): New test. Ludovic Courtès2017-03-17
* profiles: gtk-im-modules: Fix for gtk3.•••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> Ying Huang2017-02-08
* profiles: Export 'ca-certificate-bundle'.•••* 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> Christopher Baines2017-01-16
* profiles: Remove dependency on 'glibc-utf8-locales' for tests.•••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. Ludovic Courtès2016-12-17
* profiles: Build profiles in a UTF-8 locale.•••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'. Ludovic Courtès2016-12-16
* store: Add 'references*'.•••* 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). Ludovic Courtès2016-11-19
* Merge branch 'master' into core-updatesMark H Weaver2016-11-07
|\
| * profiles: Extract a procedure for getting relative generation numbers.•••* 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> Chris Marusich2016-11-06
* | Merge branch 'master' into core-updatesLeo Famulari2016-10-30
|\|
| * profiles: manifest-lookup-package: Cosmetic changes.•••* guix/profiles.scm (manifest-lookup-package): Rename variables; use "string=?" instead of "equal?". Ricardo Wurmus2016-10-30
* | Merge branch 'master' into core-updatesLudovic Courtès2016-09-30
|\|
| * profiles: Build GTK+ input module cache.•••* guix/profiles.scm (gtk-im-modules): New procedure. (%default-profile-hooks): Add it. Ricardo Wurmus2016-09-26
| * profiles: manifest-lookup-package: Optionally match version prefix.•••* guix/profiles.scm (manifest-lookup-package): Optionally filter store item matches by version prefix. Ricardo Wurmus2016-09-26
| * profiles: Export <manifest-pattern> accessors.•••* guix/profiles.scm (manifest-pattern-name, manifest-pattern-version) (manifest-pattern-output): Export. Ludovic Courtès2016-09-06
| * profiles: Add manifest-transaction helper procedures.•••* guix/profiles.scm (manifest-transaction-install-entry) (manifest-transaction-remove-pattern) (manifest-transaction-null?): New procedures. * tests/profiles.scm ("manifest-transaction-null?"): New test. Ludovic Courtès2016-09-06
* | profiles: 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-23
|/
* profiles: 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-08-12
* profiles: Output in 'package->manifest-entry' defaults to "out".•••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. Ludovic Courtès2016-07-26
* profiles: Add fonts-dir-file hook.•••* guix/profiles.scm (fonts-dir-file): New procedure. (%default-profile-hooks): Add it. Alex Kost2016-07-25
* profiles: Use 'with-imported-modules'.•••* 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. Ludovic Courtès2016-07-12
* profiles: Make sure hook derivations fail upon error.•••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. Ludovic Courtès2016-06-12
* profiles: 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-11
* profiles: 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-11
* profiles: 'profile-derivation' now honors #:system.•••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. Ludovic Courtès2016-06-05
* profiles: 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-02
* profiles: Add xdg-mime-database hook.•••* guix/profiles.scm (xdg-mime-database): New function. (%default-profile-hooks): Add it. 宋文武2016-05-02
* profiles: Add xdg-desktop-database hook.•••* guix/profiles.scm (xdg-desktop-database): New function. (%default-profile-hooks): Add it. 宋文武2016-05-02