* gnu/packages/certs.scm (certdata2pem): Swap package to a C variant.
(nss-certs): Use 'openssl rehash' instead of the Perl 'c_rehash' script.
Adjust for the new certdata2pem program. The number of certificates installed
compared to when using the previous script remains unchanged (139 at the time
of this commit).
Before this change, only plain directories, tar or zip archives were supported
as the source of a package for the GNU build system; anything else would cause
the unpack phase to fail. Origins relying on snippets would suffer from the
same problem.
This change adds the support to use files of the following extensions: .gz,
.Z, .bz2, .lz, and .xz, even when they are not tarballs. Files of unknown
extensions are treated as uncompressed files and supported as well.
* guix/packages.scm (patch-and-repack): Only add the compressor utility to the
PATH when the file is compressed. Bind more inputs in the mlet, and use them
for decompressing single files. Adjust the decompression and compression
routines.
[decompression-type]: Remove nested variable.
* guix/build/utils.scm (compressor, tarball?): New procedures. Move
%xz-parallel-args to the new 'compression helpers' section.
* tests/packages.scm: Add tests. Add missing copyright year for Jan.
* guix/build/gnu-build-system.scm (first-subdirectory): Return #f when no
sub-directory was found.
(unpack): Support more file types, including uncompressed plain files.
On the daemon side, nixStore gets set to the environment variable
NIX_STORE_DIR, else the environment variable NIX_STORE else the compile time
macro NIX_STORE_DIR (see the Settings::processEnvironment method in
nix/libstore/globals.cc). When creating a build environment, it sets
NIX_STORE with the value computed as described above. Hence, it's safer to
look for both NIX_STORE_DIR and NIX_STORE in (guix build utils), so that it
works in any context (build context or external context).
* guix/build/utils.scm (%store-directory): Consider both NIX_STORE_DIR and
NIX_STORE as environment variables.
* gnu/packages/patches/boost-fix-transitive-linking.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/boost.scm (boost)[source]: Use it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/patches/nss-3.56-pkgconfig.patch: Update and ajdust.
* gnu/packages/patches/nss-increase-test-timeout.patch: Adjust.
* gnu/packages/nss.scm (nss)[version]: Compute with the git-version procedure.
[source]: Switch to use the latest changeset. Adjust snippet to match
restructuring of the source file hierarchy.
[make-flags]: Do not chdir to the "nss" directory.
[phases]: Delete trailing #t.
{check}: Honor the '#:tests?' argument. Update the date used with faketime
and adjust for the new all.sh script location.
{install}: Adapt to the location of the 'dist/' directory, which is now at the
same level as the 'source' checkout.
This fixes the build on Python 3.9.
* gnu/packages/version-control.scm (mercurial): Update to 5.6.1. Delete
trailing #t.
[phases]{check}: Remove the "test-transaction-rollback-on-sigpipe.t" test
file and add a comment.
GConf has been deprecated for a while. This change removes GConf (and
thus ORBit) from the closure of GNOME.
* gnu/packages/ibus.scm (ibus)[inputs]: Remove GCONF.
Previously, 'patch-and-repack' would always create a tar.xz archive as a
result, even if the input was a directory (a checkout). This change
reduces gratuitous CPU and storage overhead.
* guix/packages.scm (patch-and-repack)[tarxz-name]: Remove 'checkout?' case.
[build](repack): New procedure, with "tar" invocation formerly at the
top level.
If SOURCE is a directory, call 'copy-recursively'; otherwise, call
'repack'.
Change NAME to ORIGINAL-FILE-NAME when it matches 'checkout?'.
* gnu/packages/python-xyz.scm (python-isort): Update to 5.7.0.
[source]: Delete checked in binary wheels in a snippet.
[arguments]: New field.
[phases]: Replace the build and install phases, implementing the basics of a
PEP 517 build system.
{check}: Override phase.
{install-example-plugins}: New phase.
[native-inputs]: Remove python-mock. Add git-minimal, python-black,
python-colorama, python-hypothesmith, python-libcst-minimal,
python-poetry-core, python-pylama, python-pypa-build and python-pytest-mock.
[home-page]: Update home page.
* gnu/packages/python-xyz.scm (python-libcst-minimal): New variable.
(python-libcst): Add a tests? argument to the check phase override and strip
trailing #t.
Python 3.9 implemented PEP 615 (<)https://www.python.org/dev/peps/pep-0615/>),
which relies on either a compiled time default value or the PYTHONTZPATH
environment variable to find the system tzdata database.
* gnu/packages/python.scm (python-3.9)[native-search-paths]: Add a new search
path specification for PYTHONTZPATH.
Based on a reading of the install_requires field of its setup.cfg file.
* gnu/packages/check.scm (python-pytest)[native-inputs]: Move
python-iniconfig...
[propagated-inputs]: ... to here. Add python-toml. Remove
python-atomicwrites, apparently only required on the win32 platform.
This follows commit b5ccc6cc9a, which updated python-pytest to version 6 and
removed the python-pytest-6 variable.
* gnu/packages/python-check.scm (python-mypy)
[native-inputs]: Rename python-pytest-6 to python-pytest.
* gnu/packages/python-xyz.scm (python-pep517): Inherit from
python-pep517-bootstrap. Remove the inherited common fields.
(python-poetry-core, python-wheel)
(python-toml): Move to ...
* gnu/packages/python-build.scm: ... here, a new module.
(python-pep517-bootstrap): New package.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register the new module.
This is a followup to 04baa011e9.
* guix/build/gnu-build-system.scm (gnu-build): Really ignore the return
value of PROC. Wrap PROC call in 'with-throw-handler'. Add
'end-of-phase' procedure and use it.