summary refs log tree commit diff
AgeCommit message (Collapse)Author
2021-03-30packages: Call 'bag-grafts' only on the tip of the package graph.Ludovic Courtès
This reinstates pre-gexp behavior where 'expand-input' would explicitly pass #:graft? #f in recursive calls, thereby preventing redundant calls to 'bag-grafts'. * guix/packages.scm (expand-input): Turn into a monadic procedure. Lower INPUT when it's a package, passing #:graft? #f. (bag->derivation, bag->cross-derivation): Adjust accordingly. * tests/packages.scm ("search paths"): Adjust so BUILD aborts only when passed the package of interest.
2021-03-30packages: 'expand-input' accepts any file-like object.Ludovic Courtès
* guix/packages.scm (expand-input)[valid?]: Remove. Call 'file-like?' instead of 'valid?'. Remove 'struct?' clause. * tests/packages.scm ("&package-input-error"): Adjust accordingly.
2021-03-30packages: '%standard-patch-inputs' is not influenced by ↵Ludovic Courtès
'%current-target-system'. * guix/packages.scm (%standard-patch-inputs): Parameterize %CURRENT-TARGET-SYSTEM around call to CANONICAL.
2021-03-30build-system: Use 'input-tuples->gexp' and 'outputs->gexp'.Ludovic Courtès
* guix/gexp.scm (input-tuples->gexp, outputs->gexp): Make public. * guix/build-system/cargo.scm (cargo-build): Use them. * guix/build-system/gnu.scm (gnu-cross-build): Likewise. * guix/build-system/ocaml.scm (ocaml-build): Likewise. * guix/build-system/cmake.scm (cmake-cross-build): Likewise.
2021-03-30build-system: Use 'sexp->gexp' for plain sexps.Ludovic Courtès
This reduces memory allocations and list traversals during 'gexp->sexp', 'gexp-inputs', etc. * guix/build-system/cargo.scm (cargo-build): Use 'sexp->gexp' for sexps known to not contain file-like objects. Change default #:phases to a symbol. * guix/build-system/cmake.scm (cmake-build, cmake-cross-build): Likewise. * guix/build-system/copy.scm (copy-build): Likewise. * guix/build-system/font.scm (font-build): Likewise. * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Likewise. * guix/build-system/gnu.scm (%strip-flags, %strip-directories): New variables. (gnu-build): Use them. Use 'sexp->gexp' where appropriate. (gnu-cross-build): Likewise. * guix/build-system/meson.scm (meson-build): Likewise. * guix/build-system/perl.scm (perl-build): Likewise. * guix/build-system/python.scm (python-build): Likewise. * guix/build-system/ruby.scm (ruby-build): Likewise. * guix/build-system/scons.scm (scons-build): Likewise. * guix/build-system/texlive.scm (texlive-build): Likewise. * guix/build-system/trivial.scm (trivial-build): Likewise. * guix/build-system/waf.scm (waf-build): Likewise. * guix/build-system/android-ndk.scm (android-ndk-build): Likewise. * guix/build-system/ant.scm (ant-build): Likewise. * guix/build-system/asdf.scm (asdf-build/source, asdf-build): Likewise. * guix/build-system/chicken.scm (chicken-build): Likewise. * guix/build-system/clojure.scm (clojure-build): Likewise. (source->output-path, maybe-guile->guile): Remove. * guix/build-system/dub.scm (dub-build): Likewise. * guix/build-system/emacs.scm (emacs-build): Likewise. * guix/build-system/go.scm (go-build): Likewise. * guix/build-system/haskell.scm (haskell-build): Likewise. * guix/build-system/julia.scm (julia-build): Likewise. * guix/build-system/linux-module.scm (linux-module-build) (linux-module-build-cross): Likewise. * guix/build-system/maven.scm (maven-build): Likewise. * guix/build-system/minify.scm (minify-build): Likewise. * guix/build-system/node.scm (node-build): Likewise. * guix/build-system/qt.scm (qt-build, qt-cross-build): Likewise. * guix/build-system/r.scm (r-build): Likewise. * guix/build-system/rakudo.scm (rakudo-build): Likewise. * guix/build-system/renpy.scm (renpy-build): Likewise. * guix/packages.scm (patch-and-repack): Use 'sexp->gexp' when SNIPPET is a pair. * guix/svn-download.scm (svn-multi-fetch): Use 'sexp->gexp' for 'svn-multi-reference-locations'.
2021-03-30gexp: Add 'sexp->gexp'.Ludovic Courtès
* guix/gexp.scm (sexp->gexp): New procedure. * tests/gexp.scm ("sexp->gexp"): New test.
2021-03-30packages: Default origin 'patch-flags' is a gexp.Ludovic Courtès
Using a gexp instead of a list means that 'gexp->sexp' & co. do not need to scan that list for file-like objects. * guix/packages.scm (<origin>)[patch-flags]: Default to %DEFAULT-PATCH-FLAGS. (%default-patch-flags): New variable. (patch-and-repack): #:flags defaults to %DEFAULT-PATCH-FLAGS. (origin->derivation): Don't expect FLAGS to be a list.
2021-03-30packages: Core procedures are written in monadic style.Ludovic Courtès
This plays better with the functional object cache, which is no longer lost across calls to procedures created by 'store-lift'. * guix/packages.scm (input-graft, input-cross-graft): Remove 'store' parameter. Return a monadic procedure. (bag-grafts): Remove 'store' parameter and turn into a monadic procedure. (graft-derivation*): New procedure. (cached): Remove clause to match syntax without (=> CACHE). (package-grafts): Define using 'store-lower'. (package-grafts*): New procedure, from former 'package-grafts'. Remove 'store' parameter and turn into a monadic procedure. (package->derivation): Rewrite using 'mcached' and a monadic variant of the former 'package-derivation' procedure. (package->cross-derivation): Likewise. (package-derivation, package-cross-derivation): Rewrite in terms of 'store-lower'. (%graft-cache): Remove.
2021-03-30packages: Simplify patch instantiation.Ludovic Courtès
* guix/packages.scm (patch-and-repack)[instantiate-patch]: Use 'local-file' instead of 'interned-file'. When PATCH is a struct, return it. Use 'let' instead of 'mlet'.
2021-03-30packages: Turn 'bag->derivation' into a monadic procedure.Ludovic Courtès
* guix/packages.scm (bag->derivation): Turn into a monadic procedure by remove 'store' parameter and removing the call to 'store-lower'. (bag->cross-derivation): Likewise. (bag->derivation*): New procedure. (package-derivation, package-cross-derivation): Use it instead of 'bag->derivation'. * tests/packages.scm ("bag->derivation"): Change to monadic style. ("bag->derivation, cross-compilation"): Likewise.
2021-03-30build-system: Rewrite using gexps.Ludovic Courtès
* guix/packages.scm (expand-input): Remove 'store', 'system', and 'cross-system' parameters; add #:native?. Rewrite to return name/gexp-input tuples. (bag->derivation): Adjust accordingly. Lower (bag-build bag). (bag->cross-derivation): Ditto. Instead of #:native-drvs and #:target-drvs, pass #:build-inputs, #:host-inputs, and #:target-inputs. (%derivation-cache): Remove. * gnu/packages/bootstrap.scm (raw-build): Turn into a monadic procedure. * gnu/packages/commencement.scm (glibc-final)[arguments]: Use 'gexp-input' for the #:allowed-references argument. * guix/build-system/cmake.scm (cmake-build): Remove 'store' parameter. Switch to the use of gexps and 'gexp->derivation'. (lower): Remove #:source from 'private-keywords'. * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build, lower): Likewise. * guix/build-system/font.scm (font-build): Likewise. * guix/build-system/gnu.scm (gnu-build): Likewise, and remove 'canonicalize-reference'. (gnu-cross-build): Likewise, and expect #:build-inputs, #:host-inputs, and #:target-inputs instead of #:native-drvs and #:target-drvs. (lower): Likewise. * guix/build-system/perl.scm (perl-build, lower): Likewise. * guix/build-system/python.scm (python-build, lower): Likewise. * guix/build-system/ruby.scm (ruby-build, lower): Likewise. * guix/build-system/waf.scm (waf-build, lower): Likewise. * guix/build-system/trivial.scm (guile-for-build): Remove. (trivial-build): Remove 'store' parameter, change to gexps. (trivial-cross-build): Ditto, and change to #:build-inputs & co. * guix/build-system/cargo.scm (cargo-build): Change to 'gexp->derivation'. * guix/build-system/copy.scm (copy-build): Likewise. * guix/build-system/dune.scm (dune-build): Likewise. * guix/build-system/guile.scm (guile-build, guile-cross-build): Likewise. * guix/build-system/meson.scm (meson-build): Likewise. * guix/build-system/ocaml.scm (ocaml-build): Likewise. * guix/build-system/scons.scm (scons-build): Likewise. * guix/build-system/texlive.scm (texlive-build): Likewise. * guix/build-system/android-ndk.scm (android-ndk-build): Likewise. * guix/build-system/ant.scm (ant-build): Likewise. * guix/build-system/asdf.scm (asdf-build/source, asdf-build): Likewise. * guix/build-system/chicken.scm (chicken-build): Likewise. * guix/build-system/clojure.scm (clojure-build): Likewise. (source->output-path, maybe-guile->guile): Remove. * guix/build-system/dub.scm (dub-build): Likewise. * guix/build-system/emacs.scm (emacs-build): Likewise. * guix/build-system/go.scm (go-build): Likewise. * guix/build-system/haskell.scm (haskell-build): Likewise. * guix/build-system/julia.scm (julia-build): Likewise. * guix/build-system/linux-module.scm (linux-module-build) (linux-module-build-cross): Likewise. * guix/build-system/maven.scm (maven-build): Likewise. * guix/build-system/minify.scm (minify-build): Likewise. * guix/build-system/node.scm (node-build): Likewise. * guix/build-system/qt.scm (qt-build, qt-cross-build): Likewise. * guix/build-system/r.scm (r-build): Likewise. * guix/build-system/rakudo.scm (rakudo-build): Likewise. * guix/build-system/renpy.scm (renpy-build): Likewise. * tests/builders.scm ("gnu-build"): Call 'store-lower' on 'gnu-build'. Pass #:source parameter. * tests/packages.scm ("search paths"): Use 'abort-to-prompt' instead of a normal return from the 'build' method. ("package->bag, sensitivity to %current-target-system"): Change 'build' to match the new build system signature. squash! build-system: Rewrite using gexps. squash! build-system: Rewrite using gexps.
2021-03-30gexp: Optimize 'with-build-variables'.Ludovic Courtès
* guix/gexp.scm (input-tuples->gexp, outputs->gexp): New procedures. (with-build-variables): Use it.
2021-03-30gexp: Add 'with-build-variables'.Ludovic Courtès
* guix/gexp.scm (with-build-variables): New procedure.
2021-03-30gnu: nettle: Update to 3.7.2.Maxim Cournoyer
* gnu/packages/nettle.scm (nettle): Update to 3.7.2.
2021-03-30gnu: zstd: Fix tests on 32-bit architectures.Simon Tournier
* gnu/packages/compression.scm (zstd)[arguments]<#:phases>: Add 'fix-tests-32bit. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-28gnu: gd: Patch away recent pkg-config files change that breaks php build.Léo Le Bouter
* gnu/packages/patches/gd-Revert-fix-303-gdlib.pc-use-Requires-instead-of-Libs.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/gd.scm (gd): Apply patch.
2021-03-28gnu: glib-networking: Update home-page, synopsis, description and license.Raghav Gururajan
* gnu/packages/gnome.scm (glib-networking)[home-page]: Modify. [synopsis]: Modify. [description]: Modify. [license]: Update to lgpl2.1+. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-28gnu: glib-networking: Enable libproxy and openssl support.Raghav Gururajan
* gnu/packages/gnome.scm (glib-networking)[configure-flags]: Remove libproxy_support flag and add openssl flag. [inputs]: Add libproxy and openssl. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-28gnu: glib-networking: Update to 2.68.0.Raghav Gururajan
* gnu/packages/gnome.scm (glib-networking)[version]: Update to 2.68.0. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-27gnu: zstd: Fix unnecessary dependency upon $PATH.Tobias Geerinckx-Rice
* gnu/packages/compression (zstd)[arguments]: Add a 'patch-command-file-names phase.
2021-03-26gnu: gtkmm-2: Fix build.Raghav Gururajan
* gnu/packages/gtk.scm (gtkmm-2)[arguments]: Remove field. [native-inputs]: Remove field. [propagated-inputs]: Change; atkmm to atkmm-2.28, pangomm to pangomm-2.42, cairomm to cairomm-1.13 and glibmm to glibmm-2.64. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org> Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: gtkmm: Update to 3.24.4.Raghav Gururajan
* gnu/packages/gtk.scm (gtkmm)[version]: Update to 3.24.4. [build-system]: Change from gnu to glib-or-gtk. [outputs]: New output "doc". [arguments]<#:phases>['start-xvfb]: Remove phase. ['pre-check]: New phase. ['move-doc]: New phase. [native-inputs]: Add graphviz, doxygen, m4, mm-common, perl and libxslt. [synopsis]: Modify. [description]: Modify. [license]: Add gpl2+. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: gtk+: Update to 3.24.27.Raghav Gururajan
* gnu/packages/gtk.scm (gtk+) [version]: Update to 3.24.27. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: gtk+: Enable cloud-providers support.Raghav Gururajan
* gnu/packages/gtk.scm (gtk+) [arguments]<#:configure-flags> [--enable-cloudproviders]: New flag. [propagated-inputs]: Add libcloudproviders. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: gtk+: Add missing inputs.Raghav Gururajan
* gnu/packages/gtk.scm (gtk+) [native-inputs]: Add docbook-xml, hicolor-icon-theme, intltool, sassc and libxslt. [inputs]: Add graphene, harfbuzz, iso-codes and papi. [propagated-inputs]: Add cairo, fribidi, fontconfig, freetype, glib, libx11, libxcomposite, libxext, libxfixes and libxrender. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: gtk+: Enable tests.Raghav Gururajan
* gnu/packages/gtk.scm (gtk+) [arguments]<#:phases>['pre-configure]: Remove phase. ['disable-failing-tests]: New phase. ['pre-check]: New phase. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: gtk+-2: Update to 2.24.33.Raghav Gururajan
* gnu/packages/gtk.scm (gtk+-2) [version]: Update to 2.24.33. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: gtk+-2: Add missing inputs and search-path.Raghav Gururajan
* gnu/packages/gtk.scm (gtk+-2) [native-inputs]: Add intltool. [inputs]: Add libx11, libxext, libxkbcommon, libxrender and libxshmfence. [propagated-inputs]: Add cairo and glib. [search-paths]: New field. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: gtk+-2: Enable tests.Raghav Gururajan
* gnu/packages/gtk.scm (gtk+-2) [arguments]<#:parallel-tests?>: New argument. <#:phases>['disable-tests]: Remove phase. ['disable-failing-tests]: New phase. ['pre-check]: New phase. [native-inputs]: Add xorg-server-for-tests. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: yelp-xsl: Enable documentation.Raghav Gururajan
* gnu/packages/gnome.scm (yelp-xsl) [arguments]<#:configure-flag> [--enable-doc]: New flag. [native-inputs]: Add mallard-ducktype, intltool and libxslt. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: wayland-protocols: Update description.Raghav Gururajan
* gnu/packages/freedesktop.scm (wayland-protocols) [description]: Modify. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: wayland: Update synopsis, description and license.Raghav Gururajan
* gnu/packages/freedesktop.scm (wayland) [synopsis]: Modify. [description]: Modify. [license]: Change from x11 to expat. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: wayland: Fix and move documentation.Raghav Gururajan
* gnu/packages/freedesktop.scm (wayland) [outputs]: New output "doc". [arguments]<#:phases>['patch-docbook-xml]: New phase. ['move-doc]: New phase. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: wayland: Update to 1.19.0.Raghav Gururajan
* gnu/packages/freedesktop.scm (wayland)[version]: Update to 1.19.0. [build-system]: Change from gnu to meson. [native-inputs]: Move here docbook-xml and docbook-xsl from ... [inputs]: ... here. Move libffi to ... [propagated-inputs]: ... here. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: json-glib: Update synopsis and description.Raghav Gururajan
* gnu/packages/gnome.scm (json-glib) [synopsis]: Modify. [description]: Modify. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: json-glib: Enable documentation and man-pages.Raghav Gururajan
* gnu/packages/gnome.scm (json-glib) [outputs]: New output "doc". [arguments]<#:configure-flags>[-Ddocs]: New flag. [-Dman]: New flag. <#:phases>['patch-docbook]: New phase. ['move-doc]: New phase. [native-inputs]: Add docbook-xml, docbook-xsl, gtk-doc and libxslt. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: json-glib: Update to 1.6.2.Raghav Gururajan
* gnu/packages/gnome.scm (json-glib)[version]: Update to 1.6.2. [arguments]<#:glib-or-gtk?>: New argument. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: at-spi2-atk: Update home-page and license.Raghav Gururajan
* gnu/packages/gtk.scm (at-spi2-atk) [home-page]: Modify. [license]: Update to lgpl2.1+. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: at-spi2-atk: Update to 2.38.0.Raghav Gururajan
* gnu/packages/gtk.scm (at-spi2-atk) [version]: Update to 2.38.0 [arguments]<#:glib-or-gtk?>: New argument. [native-inputs]: Add gobject-introspection. [inputs]: Add glib. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: at-spi2-core: Update home-page and license.Raghav Gururajan
* gnu/packages/gtk.scm (at-spi2-core) [home-page]: Modify. [license]: Update to lgpl2.1+. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: at-spi2-core: Fix documentation.Raghav Gururajan
* gnu/packages/gtk.scm (at-spi2-core) [arguments]<#:phases>['patch-docbook-sgml]: New phase. [native-inputs]: Add docbook-xml. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: at-spi2-core: Update to 2.40.0.Raghav Gururajan
* gnu/packages/gtk.scm (at-spi2-core) [version]: Update to 2.40.0. [arguments]<#:glib-or-gtk?>: New argument. [native-inputs]: Add glib:bin and python-wrapper. [propagated-inputs]: Add libx11. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: Add atkmm-2.28.Raghav Gururajan
* gnu/packages/gtk.scm (atkmm-2.28): New variable. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: atkmm: Update synopsis, description, home-page and license.Raghav Gururajan
* gnu/packages/gtk.scm (atkmm) [synopsis]: Modify. [description]: Modify. [home-page]: Modify. [license]: Add gpl2+. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: atkmm: Enable documentation.Raghav Gururajan
* gnu/packages/gtk.scm (atkmm) [outputs]: Add new output "doc". [arguments]<#:configure-flags>[-Denable-documentation]: New flag. [arguments]<#:phases>['move-doc]: New phase. [native-inputs]: Add graphviz, doxygen. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: atkmm: Update to 2.36.0.Raghav Gururajan
* gnu/packages/gtk.scm (atkmm) [version]: Update to 2.36.0. [build-system]: Change from gnu to meson. [arguments]<#:glib-or-gtk?>: New argument. [native-inputs]: Add m4, mm-common, perl and libxslt. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: atk: Update home-page and license.Raghav Gururajan
* gnu/packages/gtk.scm (atk) [home-page]: Modify. [license]: Update to lgpl2.1+. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: atk: Update to 2.36.0.Raghav Gururajan
* gnu/packages/gtk.scm (atk) [version]: Update to 2.36.0. [arguments]<#:glib-or-gtk?>: New argument. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: atk: Re-arrange inputs in alphabetical order.Raghav Gururajan
* gnu/packages/gtk.scm (atk) [native-inputs]: Modify. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
2021-03-26gnu: libgsf: Update synopsis, description, home-page and license.Raghav Gururajan
* gnu/packages/gnome.scm (libgsf) [synopsis]: Modify. [home-page]: Modify. [description]: Modify. [license]: Modify. Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>