summary refs log tree commit diff
AgeCommit message (Collapse)Author
2021-11-11gnu: gtk: Replace gdk-pixbuf+svg by librsvg.Maxim Cournoyer
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.
2021-11-11gnu: gdk-pixbuf: Add a search path for the loaders cache file.Maxim Cournoyer
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.
2021-11-11profiles: Add a gdk-pixbuf-loaders-cache-file hook.Maxim Cournoyer
This paves the way toward properly fixing https://issues.guix.gnu.org/50957. * guix/profiles.scm (gdk-pixbuf-loaders-cache-file): Add procedure... (%default-profile-hooks): ... and register it as a profile hook. * guix/status.scm (hook-message): Register it here too.
2021-11-11build: glib-or-gtk: Generate the gdk-pixbuf-loaders cache file in a phase.Maxim Cournoyer
Adding a profile hook to do so covers most use cases, but it is still necessary to have the gdk-pixbuf loaders cache file computed at build time, as software may expect to find loaders support at that time. * guix/build/glib-or-gtk-build-system.scm: Delete trailing #t. (%gdk-pixbuf-loaders-cache-file-prefix): New variable. (generate-gdk-pixbuf-loaders-cache): New procedure. (generate-gdk-pixbuf-loaders-cache-file): Add procedure... (%standard-phases): ... and register it as a build phase.
2021-11-11gnu: gtk: Add the generate-gdk-pixbuf-loaders-cache-file phase.Maxim Cournoyer
* 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.
2021-11-11gnu: ungoogled-chromium: Use the new lld-as-ld-wrapper.Maxim Cournoyer
* gnu/packages/chromium.scm (make-lld-wrapper): Delete procedure. (ungoogled-chromium)[native-inputs]: Replace its use by lld-as-ld-wrapper.
2021-11-11gnu: llvm: Add make-lld-wrapper, lld-wrapper and lld-as-ld-wrapper.Maxim Cournoyer
* gnu/packages/llvm.scm (make-lld-wrapper): New procedure. (lld-wrapper, lld-as-ld-wrapper): New variables.
2021-11-11gnu: python-flit: Update to 3.3.0.Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-flit): Update to 3.3.0.
2021-11-11gnu: webkitgtk: Add a debug output.Maxim Cournoyer
* gnu/packages/webkit.scm[outputs]: Add a debug output.
2021-11-11gnu: pulseaudio: Add doxygen to fix build.Maxim Cournoyer
* gnu/packages/pulseaudio.scm (pulseaudio)[native-inputs]: Add doxygen.
2021-11-11gnu: webkitgtk: Use libsoup 3 and build with GCC.Maxim Cournoyer
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.
2021-11-11gnu: libsoup: Update to 3.0.1.Maxim Cournoyer
* gnu/packages/gnome.scm (libsoup-minimal): Update to 3.0.1. [modules]: Delete argument. [phases]{adjust-tests}: Re-enable ssl-test. [native-inputs]: Add gnutls, for tests. Move nghttp2:lib to... [propagated-inputs]: ... here. Add nghttp2, which contains the pkg-config files. (vala-0.52): Add older variant. (libsoup-minimal-2): New variable. (rest)[propagated-inputs]: Use libsoup-minimal-2. (geoclue)[inputs]: Likewise. * gnu/packages/inkscape.scm (inkscape)[inputs]: Likewise.
2021-11-11gnu: libsoup: Reverse inheritance relationship with libsoup-minimal.Maxim Cournoyer
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.
2021-11-11gnu: vala: Update to 0.54.2.Maxim Cournoyer
* gnu/packages/gnome.scm (vala): Update to 0.54.2. Delete trailing #t.
2021-11-11gnu: glib-networking: Update to 2.70.rc.Maxim Cournoyer
This resolves test suite errors following the upgrade to glib 2.70. * gnu/packages/gnome.scm (glib-networking): Update to 2.70.rc.
2021-11-11gnu: glib: Update to 2.70, specify a bindir prefix and hide package.Maxim Cournoyer
* 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 18f73d80416 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.
2021-11-11gnu: libthai: Make datrie a normal native-input.Maxim Cournoyer
* gnu/packages/gtk.scm (libthai)[native-input]: Remove conditional on the datrie input.
2021-11-11gnu: pango: Update to 1.48.10.Maxim Cournoyer
* gnu/packages/gtk.scm (pango): Update to 1.48.10. Remove trailing #t. [inputs]: Remove conditional on the bash-minimal input.
2021-11-11gnu: heimdal: Fix build.Maxim Cournoyer
* gnu/packages/kerberos.scm (heimdal): Remove trailing #t. [inputs]: Add mit-krb5. Add bash-minimal inconditionally. [native-inputs]: Add perl inconditionally.
2021-11-11gnu: util-linux: Globally disable the lsns test.Maxim Cournoyer
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.
2021-11-11gnu: mit-krb5: Absorb 1.19.2 graft.Maxim Cournoyer
* gnu/packages/kerberos.scm (mit-krb5)[replacement]: Remove. [source]: Update to 1.19.2. (mit-krb5-1.19.2): Delete variable.
2021-11-11gnu: openssl: Absorb 1.1.1l graft.Maxim Cournoyer
* gnu/packages/tls.scm (openssl)[replacement]: Remove. [source]: Update to 1.1.1l. Fix indentation. * gnu/packages/tls.scm (openssl-1.1.1l): Delete variable.
2021-11-11gnu: cmake-bootstrap: Update to 3.21.3.Maxim Cournoyer
* gnu/packages/cmake.scm (cmake-bootstrap): Update to 3.21.3. (cmake)[source]: Delete field, updating the package to 3.21.3 also. Remove trailing #t. (%common-disabled-tests) <CMake.FileDownload>: Add test.
2021-11-11gnu: graphviz: Update to 2.49.0.Maxim Cournoyer
* gnu/packages/graphviz.scm (graphviz): Update to 2.49.0.
2021-11-11gnu: mesa: Update to 21.2.4.John Kehayias
* gnu/packages/patches/mesa-skip-tests.patch: Adjust for current version. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-11-11gnu: inkscape: Remove the legacy 0.92 version.Maxim Cournoyer
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.
2021-11-11gnu: rest: Use libsoup-minimal.Maxim Cournoyer
This is needed to prevent a dependency cycle between Inkscape and GTK+. * gnu/packages/gnome.scm (rest)[propagated-inputs] {libsoup}: Use the minimal variant.
2021-11-11gnu: gusb-minimal: Introduce minimal variant.Maxim Cournoyer
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.
2021-11-11gnu: libcloudproviders-minimal: Introduce minimal variant.Maxim Cournoyer
* 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.
2021-11-11gnu: colord-minimal: Introduce minimal variant.Maxim Cournoyer
* 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.
2021-11-11gnu: Add docbook-xsl-ns.Maxim Cournoyer
* gnu/packages/docbook.scm (docbook-xsl-ns): New variable.
2021-11-11gnu: json-glib-minimal: Introduce minimal variant.Maxim Cournoyer
* 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.
2021-11-11gnu: lsof: Fix indentation.Maxim Cournoyer
* gnu/packages/lsof.scm (lsof): Fix indentation.
2021-11-11gnu: lsof: Disable the LTlock test.Maxim Cournoyer
Fixes <https://issues.guix.gnu.org/44953>. * gnu/packages/lsof.scm (lsof)[phases]: Remove trailing #t. {disable-failing-tests}: Disable the LTlock test.
2021-11-11gnu: at-spi2-atk: Break a dependency cycle between GTK+ and Inkscape.Maxim Cournoyer
* gnu/packages/gtk.scm (at-spi2-atk) [propagated-inputs]: Replace at-spi2-core with at-spi2-core-minimal.
2021-11-11gnu: at-spi2-core: Reverse inheritance relationship with minimal variant.Maxim Cournoyer
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.
2021-11-11build: glib-or-gtk-build-system: Fix indentation.Maxim Cournoyer
* guix/build/glib-or-gtk-build-system.scm (gtk-module-directories) (wrap-all-programs): Fix indentation.
2021-11-11build: glib-or-gtk-build-system: Simplify the wrap-all-programs phase.Maxim Cournoyer
* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs) <handle-output>: Precisely build the list of variable specifications, rather than relying on a bunch of conditionals.
2021-11-11gnu: meson: Patch to allow installing to independent prefixes.Maxim Cournoyer
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.
2021-11-11gnu: python-pathlib2: Update to 2.3.6.Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-pathlib2): Update to 2.3.6.
2021-11-11gnu: python-pytest-6: Fix version via setuptools-scm.Maxim Cournoyer
* 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.
2021-11-11gnu: python-setuptools-scm: Update to 6.3.2Maxim Cournoyer
* 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.
2021-11-11gnu: Add python-tomli.Maxim Cournoyer
* gnu/packages/python-build.scm (python-tomli): New variable.
2021-11-11gnu: Add python-flit-core.Maxim Cournoyer
* gnu/packages/python-build.scm (python-flit-core): New variable.
2021-11-11gnu: python-pypa-build: Update to 0.7.0.Maxim Cournoyer
* gnu/packages/python-build.scm (python-pypa-build): Update to 0.7.0. [phases]{relax-requirements}: Rename to... {use-toml-instead-of-tomli}: ... this. Replace tomli by toml.
2021-11-11gnu: Move a few Python packages to (gnu packages python-build).Maxim Cournoyer
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.
2021-11-11gnu: fontconfig: Add a search path for XDG_DATA_DIRS.Maxim Cournoyer
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.
2021-11-11gnu: Build all Rust packages using the latest rustc.Maxim Cournoyer
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.
2021-11-11gnu: rust: Add rust 1.54 and move all non-bootstrapping logic to it.Maxim Cournoyer
* 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.
2021-11-11gnu: rust: Bootstrap rust from 1.39.0 and optimize build time.Maxim Cournoyer
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.