licenses: Rename 'bsd-style' to 'non-copyleft'.
* guix/licenses.scm (bsd-style): Rename to...
(non-copyleft): ... this. Clarify docstring.
(bsd-style): Introduce as an alias for 'non-copyleft'.
gnu: cmake: Add CMAKE_PREFIX_PATH as a native search path, and drop
CMAKE_LIBRARY_PATH and CMAKE_INCLUDE_PATH from the cmake build system.
* gnu/packages/cmake.scm (cmake)[native-search-paths]: New field.
* guix/build/cmake-build-system.scm (configure): Drop environment variables
CMAKE_LIBRARY_PATH and CMAKE_INCLUDE_PATH.
build-system/python: Delay evaluation of the 'python2' package.
This fixes a bug whereby uses of 'package-with-python2' at the top-level
in modules other than (gnu packages python) could lead to an "Unbound
variable: python2" error due to the circular references.
Reported by Tomáš Čech.
* guix/build-system/python.scm (package-with-explicit-python)[arguments]:
Check whether PYTHON is a promise, and force it if it is.
(package-with-python2): Wrap 'default-python2' call in 'delay'.
lint: Add tests for the 'source' checker.
* guix/scripts/lint.scm (check-source): Export.
* tests/lint.scm (%null-sha256): New procedure.
("source: 200", "source: 404"): New tests.
store: Attempt to decode build logs as UTF-8.
* guix/serialization.scm (read-maybe-utf8-string): New procedure.
* guix/store.scm (process-stderr): Use it for the build log and errors.
* tests/store.scm ("current-build-output-port, UTF-8",
"current-build-output-port, UTF-8 + garbage"): New tests.
serialization: Factorize 'read-byte-string'.
* guix/serialization.scm (read-byte-string): New procedure.
(read-string, read-latin1-string): Use it.
tests: Remove dependency on 'glibc-utf8-locales' for profile tests.
This fixes a regression introduced in commit 536c3ee.
* guix/profiles.scm (ca-certificate-bundle): When MANIFEST is empty,
make a trivial derivation.
* guix/scripts/package.scm (guix-package)[process-actions]: Pass
#:ca-certificate-bundle? to 'profile-generation'.
* tests/packages.scm ("--search-paths with pattern"): Likewise.
* tests/profiles.scm ("profile-derivation"): Likewise.
Merge branch 'core-updates'.
http-client: Monkey-patch 'make-chunked-input-port' on Guile <= 2.0.11.
Fixes <http://bugs.gnu.org/19976>.
* guix/http-client.scm (when-guile<=2.0.5): Rename to...
(when-guile<=2.0.5-or-otherwise-broken): ... this.
(%web-http): New variable.
Monkey-patch 'make-chunked-input-port' when %WEB-HTTP defines
'read-chunk-body'.
http-client: Update backport of chunked encoding support to Guile 2.0.5.
* guix/http-client.scm (read-chunk, read-chunk-body)
[when-guile<=2.0.5]: Remove.
(make-chunked-input-port) [when-guile<=2.0.5]: Update to Guile commit
00d3ecf2.
profiles: Produce a single-file CA certificate bundle.
* guix/profiles.scm (ca-certificate-bundle): New procedure.
(profile-derivation): Add 'ca-certificate-bundle?' keyword argument. If
true (the default), add the result of 'ca-certificate-bundle' to 'inputs'.
Co-Authored-By: Ludovic Courtès <ludo@gnu.org>
build: ruby: Install executables in /bin.
* guix/build/ruby-build-system.scm (install): Add '--bindir' flag to gem
command.
build: ruby: Add gitify phase.
* guix/build-system/ruby.scm (lower): Add git as implicit input.
* guix/build/ruby-build-system.scm (gitify): New procedure.
(%standard-phases): Add gitify phase.
gexp: Make sure 'gexp-outputs' removes duplicate outputs.
Fixes a regression introduced in f9efe56.
* guix/gexp.scm (gexp-outputs): Add call to 'delete-duplicates'.
* tests/gexp.scm ("output list, combined gexps, duplicate output"): New
test.
Revert "build-system/gnu: Keep the sloppy conversion strategy during bootstrap."
This reverts commit b479c3ddaf85c831e34888229849bc1ce34419de.
This commit was the result of an incorrect characterization of the
problem; see the log of commit 87c8b92 for details.
build-system/gnu: Keep the sloppy conversion strategy during bootstrap.
* guix/build/gnu-build-system.scm (gnu-build): Leave
%DEFAULT-PORT-CONVERSION-STRATEGY unchanged when 'string->bytevector'
fails to convert to ISO-8859-1. This is an attempt to work around the
build failures at <http://hydra.gnu.org/build/263002>.
utils: Treat 'configure' and Makefiles with an 8-bit encoding.
* guix/build/utils.scm (patch-makefile-SHELL, patch-/usr/bin/file): Wrap
'substitute*' in 'with-fluids'. Fixes <http://hydra.gnu.org/build/262895>.
packages: Set the port conversion strategy to 'error'.
Suggested by Mark H Weaver.
* guix/build/gnu-build-system.scm (gnu-build): Set
%DEFAULT-PORT-CONVERSION-STRATEGY to 'error.
* guix/packages.scm (patch-and-repack)[builder]: Likewise.
utils: Change 'patch-shebangs' to use binary input.
* guix/build/utils.scm (get-char*): New procedure.
(patch-shebang): Use it instead of 'read-char'.
(fold-port-matches): Remove local 'get-char' and use 'get-char*'
instead.
gexp: Aggregate outputs of compound gexps.
* guix/gexp.scm (gexp-outputs)[add-reference-output]: Recurse into
lists.
* tests/gexp.scm ("output list + ungexp-splicing list, combined gexps"):
New test.