This manifest makes it easy to test travels from the current revision
back to the revision of a past Guix release.
Suggested by zimoun <zimon.toutoune@gmail.com>.
* etc/time-travel-manifest.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
Fixes <https://issues.guix.gnu.org/56441>.
Reported by zimoun <zimon.toutoune@gmail.com>.
Fixes a bug introduced in 4ff12d1de7 with
version 4 of the manifest format. A new 'guix time-machine' would
create a v4 manifest; when targeting an old revision (v3),
'generate-package-cache' would fail to read that manifest and abort.
Furthermore, an old Guix living in a new profile with a v4 manifest
would be unable to describe itself via (guix describe).
* guix/channels.scm (package-cache-file): Add 'format-version' field to
PROFILE.
(channel-instances->derivation): Pass #:format-version to
'profile-derivation'.
* guix/profiles.scm (%manifest-format-version): New variable.
(manifest->gexp): Add optional 'format-version' parameter.
[optional, entry->gexp]: Honor it.
(profile-derivation): Add #:format-version parameter and honor it.
(<profile>)[format-version]: New field.
(profile-compiler): Honor it.
* guix/build/profiles.scm (manifest-sexp->inputs+search-paths): Support
both versions 3 and 4. Remove unused 'properties' variable.
* tests/profiles.scm ("profile-derivation format version 3"): New test.
Version 2 was introduced in commit
dedb17ad01 (May 2015), which made it into
Guix 0.9.0.
* guix/profiles.scm (find-package): Remove.
(sexp->manifest)[infer-search-paths]: Remove.
Remove clauses for versions 0 and 1.
* gnu/packages/lisp-xyz.scm (sbcl-slime-swank)[arguments]: Patch swank.asd to
store the .fasl in the ASDF registry so that they are found in the
package.
Also patch swank-loader.lisp so that it does not try to remove the .fasl from
the store.
(cl-slime-swank)[arguments]: Revert above patch of the swank.ask so that the
source package does not get bound to the SBCL package.
We would not have to do this if SLIME/Swank used ASDF properly instead of
working around it.
* gnu/packages/lisp-xyz.scm (sbcl-osicat)[source]: Remove unneeded release.sh
file.
This takes the closure size of cl-osicat from 40 MiB down to 0 MiB.
* gnu/packages/lisp-xyz.scm (sbcl-trivial-clipboard)[inputs]: Replace xclip
with xsel.
[arguments]: Adapt reference.
This takes the closure size of cl-trivial-clipboard from 90 MiB down to 78 MiB.
* gnu/packages/lisp-xyz.scm (sbcl-cluffer)[arguments]: Unpatch shell shebangs.
It's only needed to generate the documentation (which we should do at
build-time by the way).
This takes the closure size of cl-cluffer from 40 MiB down to 0 MiB.
* gnu/packages/lisp-xyz.scm (sbcl-clsql)[source]: Delete the 'debian' folder
and all Makefiles.
This takes the closure size from 930 MiB down to 889 MiB.
* gnu/packages/lisp.scm (sbcl)[arguments]: Add phase to do it.
This shrinks SBCL from 167MiB to 150MiB.
Most importantly, this propagates to all sbcl-* packages.
* doc/guix-cookbook.texi (A Scheme Crash Course): Suggest 'guix shell'
instead of 'guix environment'.
(Customizing the Kernel, The benefits of manifests): Likewise.
Gdal declared its configure script as deprecated with the release of
version 3.5 and is planning to deprecate it with release 3.6 which is
scheduled for November 2022.
* gnu/packages/geo.scm (gdal)[build-system]: Use cmake-build-system.
[arguments]: Remove configure flags for library search paths;
they are found automatically by cmake now. Add
-DGDAL_USE_INTERNAL_LIBS=WHEN_NO_EXTERNAL and
-DGDAL_USE_JPEG12_INTERNAL=OFF to get approximately the same results
as with the old configure script.
[inputs]: Remove pcre. Add pcre2 and qhull.