* gnu/packages/gnome.scm (tracker-miners)[inputs]: Use the same libsoup
version as tracker.
(tracker)[inputs]: Warn that tracker-miners should
use the same version of libsoup.
Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
* gnu/packages/pascal.scm (fpc): Inputs are controlled to be package-like
objects, so the previous attempt also failed.
[native-inputs]{fpc-binary}: Backtrack to the original solution, which is to
use the x86_64 bootstrap input for unsupported architectures.
Due to webkitgtk being built with libsoup@3, the pkg-config file it produces
corresponds to 'webkit2gtk-4.1' rather than 'webkit2gtk-4.0', which is the one
gnome-boxes need.
* gnu/packages/gnome.scm (gnome-boxes)[meson]: New argument.
[native-inputs]{libsoup}: Use libsoup-minimal-2.
{webkitgtk}: Use webkitgtk-with-libsoup2.
* gnu/packages/pascal.scm (fpc)[native-inputs]: Defer evaluating the match
directive; the error condition would previously be eagerly evaluated and cause
Guix to fail on non-intel machines.
Update genimage from version 11 to 14. A patch is required for the
tests due to differences in ext tooling.
* gnu/local.mk (dist_patch_DATA): Replace patch reference.
* gnu/packages/genimage.scm: Update package source.
* gnu/packages/patches/genimage-mke2fs-test.patch: New patch file.
* gnu/packages/patches/genimage-signedness.patch: Delete obsolete patch.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
The bootstrap binaries (!) were probably too old.
* gnu/packages/pascal.scm: Add missing copyright line.
(%fpc-version, %fpc-release-date): New variables.
(fpc-bootstrap-i386-3.0.4): Add a FIXME for a proper bootstrap. Rename to...
(fpc-bootstrap-i386): ... this and update to 3.2.2. Use %fpc-version.
(fpc-bootstrap-x86_64-3.0.4): Rename to...
(fpc-bootstrap-x86_64): ... this and update to 3.2.2. Use %fpc-version.
(fpc): Remove trailing #t.
[version]: Use %fcp-version.
[inputs]: Adjust accordingly.
[phases]: Remove hard coded version and release strings.
Only the last rust is now suitable to be used, which is 1.54 (the default).
* gnu/packages/crates-io.scm (rust-diffus-0.10)
(rust-jetscii-0.5, rust-news-flash-1, rust-opml-1)
(rust-snake-case-0.3, rust-strong-xml-0.6): Remove #:rust argument.
(rust-obfstr-0.3): Remove arguments field.
And reinstate tests on non-x86 architectures, as the past problems now appear
to be resolved.
* gnu/packages/base.scm (binutils-gold): Inherit from binutils-next.
[tests?]: Remove argument.
[inputs]: Remove gcc:lib, which is already included implicitly.
Fixes <https://issues.guix.gnu.org/51452>.
* gnu/packages/maths.scm (openblas)[make-flags]: Make the x86_64, i686,
powerpc64le and aarch64 architectures share the same flags; this causes the
DYNAMIC_OLDER=1 to be added for all of them and TARGET=GENERIC to be added for
the x86_64 and i686 architectures.
* gnu/packages/python-xyz.scm (python-pymodbus): Update to 2.5.3.
[phases]{disable-problematic-tests}: Delete an extra test module.
[native-inputs]: Remove python-asynctest.
* gnu/packages/gnuzilla.scm (icecat)[configure-flags]: Add the
--enable-geckodriver flag.
[phases]{install}: Also install the 'geckodriver' command.
[description]: Mention the existence of 'geckodriver'.
* gnu/packages/polkit.scm (polkit): Disable a JavaScript related test, somehow
triggered in the polkit-duktape build.
(polkit-duktape): New variable.
* gnu/packages/patches/polkit-use-duktape.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
Since gtkmm@3 at least requires it, to workaround a possible new bug in Meson.
Keep Meson at 0.60, because it also introduces useful features, such as
validating that the build options used exist.
* gnu/packages/build-tools.scm (meson-0.59): New variable.
* gnu/packages/cpp.scm (cling): New variable.
(llvm-cling): New private variable.
(clang-cling): Likewise.
* gnu/packages/patches/cling-use-shared-library.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/dlang.scm (ldc-bootstrap): Rename to...
(ldc-bootstrap-0.17): ... this. Fix indentation. Disable tests.
[phases]: Remove test related patching.
{patch-phobos}: Rename to ...
{patch-paths}: ... this.
[inputs]: Remove llvm-6, which is propagated by clang-6.
(ldc-bootstrap-1.12): New variable, based on the previous ldc.
[source]: Use the official release tarball.
[build-type]: Set the build type to Release.
[configure-flags]: Pass the -GNinja configure flag.
[phases]{patch-paths}: Override to adjust for changed paths.
{build, install}: Override to use ninja.
[native-inputs]: Add ld-gold-wrapper. Update llvm to version 11 and use
ldc-bootstrap-0.17 as the bootstrapping D compiler. Add ninja. Remove the
phobos-src, druntime-src and dmd-testsuite-src source inputs, now included in
the official release.
(ldc-bootstrap-1.24): Other intermediate variant for bootstrapping purposes.
(ldc): Update to 1.27.1.
[make-flags]: New argument.
[configure-flags]: Adjust.
[phases]{fix-compiler-rt-library-discovery}: New phase.
{patch-paths-in-tests}: Likewise.
{disable-problematic-tests}: Likewise. Compared to before, many GDB tests are
reinstated.
{set-cc-and-cxx-to-use-clang}: New phase.
{tests}: Override.
[inputs]: Update clang to version 11. Bootstrap from a stage 1 version of
itself.
* gnu/packages/patches/ldc-bootstrap-disable-tests.patch: Delete file.
* gnu/packages/patches/ldc-disable-phobos-tests.patch: Likewise.
* gnu/local.mk: De-register them.
* gnu/packages/python-xyz.scm (python-numpy): Update to 1.21.3.
[native-inputs]: Add python-hypothesis and python-pytest-xdist.
[phases]: Delete trailing #t. Do not explicitly reorder the check phase, as
it already runs after the install phase for the python build system.
{configure-blas-lapack}: Rename to...
{configure-blas}: ... this, to cleanup remnants of lapack left in commit
6623d1cd7f.
{check}: Honor TESTS?. Invoke the tests via the runtests.py script and enable
parallel tests.
(python2-numpy-1.8)[phases]{configure-blas-lapack}: Likewise (as for the
python-numpy package).
The option has been replaced by `vulkan-layers', an array of options.
* gnu/packages/gl.scm (mesa): Remove trailing #t.
[configure-flags]: Replace the vulkan-overlay-layer build option by
vulkan-layers.
The newer meson 0.60 failed the build because the jasper flag no longer
exists.
* gnu/packages/gtk.scm (gdk-pixbuf)[configure-flags]<jasper>: Remove configure
flag.
[phases]{patch-docbook}: Remove condition and TODO comment.
[inputs]: Remove jasper.
This is made in an attempt to get rid of non-deterministic test failures,
namely:
[ FAILED ] TlsConnectDatagram13.AeadLimit
* gnu/packages/nss.scm (nss): Update comment about nss-certs. Update to 3.71.
[phases]{check}: Update faketime date.
[inputs]{sqlite}: Use the regular version.
* gnu/packages/certs.scm (nss-certs): Inherit version and source from nss.
Tests from the perfschema test suite has a high failure rate. Upstream only
tests the main test suite in their CI, so don't try to outdo them.
* gnu/packages/databases.scm (mariadb): Delete trailing #t.
[phases]{check}: Only run the main test suite.
Now that we have a search path that honors it on gdk-pixbuf, it is more
valuable to keep it.
* gnu/packages/gnome.scm (librsvg)[phases]{pre-configure}: Install loaders,
cache file to locations derived from %gdk-pixbuf-loaders-cache-file.
With the addition of a profile hook for computing the gdk-pixbuf loaders cache
file, there is no longer a need for gdk-pixbuf+svg, and librsvg can propagate
gdk-pixbuf without fear, so replace the former for the latter.
The replacement was automated with the following command:
$ git grep -l ',gdk-pixbuf+svg)' \
| xargs sed 's/(".*" ,gdk-pixbuf+svg)/("librsvg" ,librsvg)/' -i
* gnu/packages/gtk.scm (gdk-pixbuf+svg): Delete package.
(gtk+-2)[propagated-inputs]: Replace gdk-pixbuf+svg with librsvg.
(gtk+)[propagated-inputs]: Likewise.
* gnu/packages/gnome.scm (gdk-pixbuf+svg): Add deprecated package.
Fixes <https://issues.guix.gnu.org/50957>.
The previous commit added a profile hook to compute a gdk-pixbuf loaders cache
file. This change enables gdk-pixbuf to make use of it.
* gnu/packages/gtk.scm (gdk-pixbuf)[native-search-paths]: Add a search path
specification to set the GDK_PIXBUF_MODULE_FILE environment variable.
* gnu/packages/gtk.scm (gtk+)[arguments]: Import the (guix build
glib-or-gtk-build-system) module and put it in scope.
[phases]{generate-gdk-pixbuf-loaders-cache-file}: New phase.
(gtk): Likewise.
Clang is not needed when building with libsoup 3.
* gnu/packages/webkit.scm (webkitgtk): Delete trailing #t.
[configure-flags]: Remove -DUSE_SOUP2.
[phases]{prepare-build-environment}: Remove phase.
[native-inputs]: Remove clang.
Because starting small and adding more on top is easier maintenance-wise than
the reverse.
* gnu/packages/gnome.scm (libsoup-minimal): New variable, made by stripping
all doc-related output, phases and inputs from libsoup.
[outputs]: Remove doc output.
[configure-flags]: Set gtk_doc option to false.
[phases]{patch-docbook-xml, move-doc}: Remove phases.
[native-inputs]{docbook-xml-4.1.2, gtk-doc}: Remove inputs.
(libsoup): Inherit from the above.
[outputs]: Re-add "doc" output.
[configure-flags]: Set gtk_doc option to true.
[phases]{patch-docbook-xml, move-doc}: Re-add phases.
[native-inputs]{docbook-xml-4.1.2, gtk-doc}: Re-add inputs.
* gnu/packages/glib.scm (glib): Update to 2.70. Remove trailing #t.
[outputs]: Add a debug output.
[configure-flags]: Specify --bindir and disable manpage generation.
[phases]{disable-failing-tests}: Disable the flaky testfilemonitor test.
{move-static-libraries}: Use rename-file instead of link and delete.
{move-bin}: Rename to...
{patch-pkg-config-files}: ... this, and adjust the substitutions.
[native-inputs]: Remove docbook-xsl, libxml2 and libxslt.
[properties]: Re-add the hidden? property that commit 18f73d8041 had
temporarily removed.
(glib-with-documentation)[properties]: Revert to a visible package.
[native-inputs]: Add docbook-xsl and libxslt.
[configure-flags]: Delete the inherited "-Dman=false" flag.
Justification: the test also failed on the CI for x86_64 and caused an
evaluation to fail.
* gnu/packages/linux.scm (util-linux)[phases]{disable-lsns-test}: Disable
globally.
The older 0.92 Inkscape package was previously kept because of problems
building lib2geom on the ARM architectures. As this no longer appears to be a
problem (tested on the overdrive1 machine), finally replace the older Inkscape
by the newer 1.1 release.
* gnu/packages/inkscape.scm (inkscape-1.1): Delete variable, moving the
package definition to...
(inkscape): ... the now single inkscape variable. Remove trailing #t.
[tests?]: Remove.
[phases]{generate-gdk-pixbuf-loaders-cache-file}: Add phase.
This is needed to prevent a dependency cycle between Inkscape and GTK+.
* gnu/packages/gnome.scm (rest)[propagated-inputs]
{libsoup}: Use the minimal variant.
This is needed to prevent a dependency cycle between Inkscape and GTK+.
* gnu/packages/gnome.scm (gusb-minimal): New variable.
[configure-flags]: Disable docs.
[native-inputs]: Remove gtk-doc.
(gusb): Rewrite in terms of gusb-minimal.
[configure-flags]: Enable docs.
[native-inputs]: Add gtk-doc.
* gnu/packages/gnome.scm (libcloudproviders-minimal): New minimal variant that
doesn't require Inkscape to be built (through gtk-doc).
[source]: Adjust URI.
[outputs]: Remove field.
[configure-flags]: Disable introspection, docs and vala bindings.
[phases]{move-doc}: Move phase to ...
(libcloudproviders)[phases]: ... here.
Rewrite in terms of libcloudproviders-minimal. The "doc" output is moved
here.
[configure-flags]: Clear inherited flags and enable doc.
* gnu/packages/gtk.scm (gtk+)[inputs]{libcloudproviders}: Use the minimal
variant to prevent a cycle with Inkscape.
* gnu/packages/gnome.scm (colord-minimal): New minimal variant that doesn't
require Inkscape to be built (through gtk-doc). Remove trailing #t.
[configure-flags]: Disable docs and manpage generation. Sort order.
(colord): Rewrite in terms of colord-minimal.
[configure-flags]: Enable manpages and bash completion.
[phases]{fix-bash-completion-dir}: New phase.
[native-inputs]: Add bash_completion, docbook-xsl-ns and libxml2.
* gnu/packages/gtk.scm (gtk+)[inputs]{colord}: Use the colord-minimal variant
to prevent a cycle with Inkscape.
* gnu/packages/gnome.scm (json-glib-minimal): New variable.
[source]: Adjust URI.
[outputs]: Move doc output to...
(json-glib)[outputs]: ... here. Rewrite in terms of json-glib-minimal.
* gnu/packages/gtk.scm (gtk+): Use json-glib-minimal to break a cycle with
Inkscape.
Since the minimal variant is here to stay, this should make things easier to
maintain.
* gnu/packages/gtk.scm (at-spi2-core-minimal): Rewrite after removing
inheritance, making it the base minimal package, with no documentation-related
inputs or build phases.
(at-spi2-core): Rewrite definition, inherit from the above minimal variant,
adding the documentation-related inputs and build phases.
Meson goes to lengths at preventing installation to directories outside of the
main installation prefix. This isn't convenient or desirable in Guix; patch
it out using a patch maintained by Nix.
* gnu/packages/patches/meson-allow-dirs-outside-of-prefix.patch: Add patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/build-tools.scm (meson): Use it.
* gnu/packages/check.scm (python-pytest-6): Fix indentation.
[phases]{fix-version}: Rename to...
{pretend-version}: ... this. Use the supported setuptools-scm mechanism to
manually fix the version string, as suggested upstream.
* gnu/packages/python-xyz.scm (python-setuptools-scm): Update to 6.3.2.
[propagated-inputs]: Add python-packaging-bootstrap and python-tomli.
(properties): Set the python2-variant property.
(python2-setuptools-scm): Pin to version 5.0.2, the last release to support
Python 2.
This is in prevision of updating python-pypa-build, which now requires
python-packaging and adding python-tomli, which requires python-six.
* gnu/packages/python-xyz.scm (python-six)
(python-six-bootstrap, python2-six-bootstrap)
(python-pyparsing, python2-pyparsing, python-pyparsing-2.4.7)
(python-packaging-bootstrap, python2-packaging-bootstrap): Move packages to...
* gnu/packages/python-build.scm: ... here. Update python-parsing to latest.
* gnu/packages/python-xyz.scm (python-six, python-packaging): Adjust to
inherit from their bootstrap versions.
Fixes <https://issues.guix.gnu.org/31403>.
* gnu/packages/fontutils.scm (fontconfig)[source]: Fix indentation.
[configure-flags]: Drop the "--with-add-fonts" configure option as it's no
longer necessary/desirable to special case the system and user profiles.
[native-search-paths]: New search path.
The older Rusts are made private variables; they shouldn't be used by users as
they are not tested and are only built at stage 1, which makes them unsuitable
to compile Rust applications.
* gnu/packages/crates-io.scm (rust-cargo-0.53)[arguments]: Remove #:rust
argument.
(rust-cxx-1, rust-cxx-build-1, rust-cxx-gen-0.7): Likewise.
* gnu/packages/crates-io.scm
(rust-cxx-gen-0.7, rust-cxxbridge-macro-1, rust-postgres-0.19): Likewise.
(rust-rust-decimal-1, rust-sized-chunks-0.6, rust-socket2-0.4): Likewise.
(rust-tokio-postgres-0.7, rust-im-rc-15): Likewise.
* gnu/packages/gnome.scm (librsvg): Likewise.
* gnu/packages/gnuzilla.scm (mozjs-78): Likewise.
* gnu/packages/rust-apps.scm
(hyperfine, tectonic rust-analyzer, rust-cargo-c): Likewise.
* gnu/packages/shells.scm (nushell): Likewise.
* gnu/packages/syndication.scm (newsboat): Likewise.
* gnu/packages/rust.scm: (rust-1.39, rust-1.40, rust-1.41, rust-1.42)
(rust-1.43, rust-1.44, rust-1.45, rust-1.46, rust-1.47, rust-1.48, rust-1.49)
(rust-1.50, rust-1.51, rust-1.52, rust-1.53, rust-1.54): Make variables private.
* gnu/packages/rust.scm (rust-1.44): Do not replace LLVM version, for
simplicity. It used to be required at this point because LLVM 7 was no longer
supported for rust-1.44, but we're now using LLVM 9.
(rust-1.46): Move all additional phases, doc output to rust-1.54.
(rust-1.53, rust-1.54): New variables.
(rust-1.54): Adjust snippet field.
(rust): Set default Rust to the latest version, 1.54.0.
[native-inputs]: Use the latest GDB.
Only stage 1 (rather than stage 2) rustc and cargo are built and the
installation phase rewritten to not invoke the build tool, which helps to
shorten the build time to about 10 minutes per Rust on a fast machine. The
total build time should take less than 4h30, down from the current 8 hours on
a Ryzen 3900X CPU.
* gnu/packages/patches/rust-reproducible-builds.patch: Delete file.
* gnu/packages/patches/rustc-1.39.0-src.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it, and un-register
rust-reproducible-builds.patch.
* gnu/packages/rust.scm (%mrustc-commit): New variable.
(%mrustc-source): Update to latest commit.
(rust-1.29): Morph into...
(rust-1.39): ... this.
[source]: Adjust the snippet, patches and patch-flags fields.
[inputs]: Replace llvm-7 by llvm (9).
[make-flags]: Add the RUSTC_VERSION, MRUSTC_TARGET_VER and OUTDIR_SUF make
variables. Remove the RUSTCSRC make variable.
[phases]{copy-mrustc-and-patch}: Rename to...
{setup-mrustc-sources}: ... this. A symbolic link is created inside the
mrustc directory, pointing to the Rust 1.39.0 sources.
{patch-makefiles}: Adjust directory. Patch date and git definitions. Edit
out the RUSTC_SRC_DL prerequisite. Adjust the patching of a shebang.
{patch-cargo-checksums}: Adjust.
{configure-cargo-home}: New phase.
{configure}: Create and add a 'cc' shim to PATH.
{build}: Do not invoke make in parallel mode inside the run_rustc directory.
(rust-1.30): Morph into...
(rust-1.40): ... this, integrating the changes introduced between 1.30 and
1.40.
[modules]: Properly import (guix build cargo-utils).
[phases]{add-cc-shim-to-path}: New phase.
{configure}: Increase the codegen-units value to 256.
{build}: Only build stage 1 rustc and cargo, and group the commands into one
invocation.
{install}: Manually install the stage 1 build artifacts.
{patch-cargo-checksums}: Remove the ad-hoc use-modules, no longer needed.
[source]: Adjust.
[arguments]: Set validate-runpath? to #f.
[phases]{patch-cargo-checksums}: Remove phase.
{configure}: Repatriate the jemalloc configuration changes from 1.40.
[native-inputs]: Replace the rust-1.29 inputs by rust-1.39. Use regular
jemalloc and llvm versions.
(rust-1.41)[phases]: Add the patch-cargo-checksums phase.
(rust-1.31, rust-1.32, rust-1.33, rust-1.34, rust-1.35, rust-1.36, rust-1.37)
(rust-1.38, rust-1.39, rust-1.40): Delete variables.
(rust-1.46)[phases]{install}: Group build, test and install commands.
(rust-1.47)[phases]{build}: Override to adjust for the relocation of the
standard library source directory.
Fixes <https://issues.guix.gnu.org/50105>.
* gnu/packages/aux-files/python/sitecustomize.py: Add a comment explaining the
general idea, and use sys.prefix instead of sys.executable.
(major_minor): Use the unpacking operator (*) to provide the arguments.
(site_packages_prefix): Use os.path.join to form the path.
(python_site): Likewise. Use sys.prefix instead of sys.executable.
(all_sites_raw): Split on os.path.pathsep.
(sys.path): Directly splice the result in the list.
Suggested-by: Hartmut Goebel <h.goebel@crazy-compilers.com>
Reported-by: Mathieu Othacehe <othacehe@gnu.org>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>