summaryrefslogtreecommitdiff
path: root/guix/gnu-maintenance.scm
AgeCommit message (Collapse)Author
2016-06-08gnu-maintenance: Replace 'find-packages' with 'find-package' (singular).Ludovic Courtès
Fixes <http://bugs.gnu.org/23718>. Reported by Efraim Flashner <efraim@flashner.co.il>. * guix/gnu-maintenance.scm (find-packages): Remove. (find-package): New procedure. * guix/import/gnu.scm (gnu->guix-package): Use 'find-package' instead of 'find-packages' and adjust accordingly.
2016-05-04utils: Move combinators to (guix combinators).Ludovic Courtès
* guix/utils.scm (compile-time-value, memoize, fold2) (fold-tree, fold-tree-leaves): Move to... * guix/combinators: ... here. New file. * tests/utils.scm ("fold2, 1 list", "fold2, 2 lists") (fold-tree tests): Move to... * tests/combinators.scm: ... here. New file. * Makefile.am (MODULES, SCM_TESTS): Add them. * gnu/packages.scm, gnu/packages/bootstrap.scm, gnu/services/herd.scm, guix/build-system/gnu.scm, guix/build-system/python.scm, guix/derivations.scm, guix/gnu-maintenance.scm, guix/import/elpa.scm, guix/scripts/archive.scm, guix/scripts/build.scm, guix/scripts/graph.scm, guix/scripts/lint.scm, guix/scripts/size.scm, guix/scripts/substitute.scm, guix/serialization.scm, guix/store.scm, guix/ui.scm: Adjust imports accordingly.
2016-04-15gnu-maintenance: Move FTP directory info to 'properties' fields.Ludovic Courtès
* guix/gnu-maintenance.scm (ftp-server/directory): Rewrite to honor PACKAGE's properties. Remove list of quirks. (releases): Add #:server and #:directory parameters. Remove call to 'ftp-server/directory'. (latest-release): Likewise. (latest-release*): Add call to 'ftp-server/directory'. Honor 'upstream-name' property of PACKAGE. * gnu/packages/fonts.scm (font-gnu-freefont-ttf): Add 'properties' field. * gnu/packages/gnupg.scm (libgpg-error, libgcrypt, libassuan): (libksba, gnupg): Likewise. * gnu/packages/gnuzilla.scm (icecat): Likewise. * gnu/packages/package-management.scm (guix-0.10.0): Likewise. * gnu/packages/pretty-print.scm (source-highlight): Likewise. * gnu/packages/scheme.scm (mit-scheme): Likewise. * gnu/packages/telephony.scm (ucommon): Likewise. * gnu/packages/tls.scm (gnutls): Likewise.
2016-04-15gnu-maintenance: Recognize source tarball with "-src" in their name.Ludovic Courtès
* guix/gnu-maintenance.scm (tarball->version): Add special case for tarball names containing "-src".
2016-04-15upstream: Pass a package object to updaters.Ludovic Courtès
* guix/upstream.scm (package-update-path): Pass PACKAGE to 'latest-release'. * guix/gnu-maintenance.scm (latest-release*) (latest-gnome-release, latest-xorg-release): Adjust accordingly. * guix/import/cran.scm (latest-cran-release): (latest-bioconductor-release): Likewise. * guix/import/elpa.scm (latest-release): Likewise. * guix/import/gem.scm (latest-release): Likewise. * guix/import/github.scm (latest-release): Likewise. * guix/import/hackage.scm (latest-release): Likewise. * guix/import/pypi.scm (latest-release): Likewise.
2016-02-24gnu-maintenance: Add X.org updater.Andy Wingo
* guix/gnu-maintenance.scm (xorg-package?, latest-xorg-release): New private functions. (%xorg-updater): New public variable. * guix/scripts/refresh.scm (%updaters): Add %xorg-updater. * doc/guix.texi (Invoking guix refresh): Mention the new updater.
2015-12-09gnu-maintenance: Really find the latest GNOME releases.Ludovic Courtès
Reported by Efraim Flashner <efraim@flashner.co.il> at <https://lists.gnu.org/archive/html/guix-devel/2015-12/msg00202.html>. * guix/gnu-maintenance.scm (latest-ftp-release): Call KEEP-FILE? on directories too. (latest-gnome-release)[even-minor-version?]: Protect again MINOR being false; change pattern to match VERSION with two or more numbers. Remove use of 'version-major+minor'. [even-numbered-tarball?]: Rename to... [even-numbered?]: ... this. Use 'package-name->name+version'. When VERSION is #f, check NAME.
2015-12-08gnu-maintenance: Exclude development releases from GNOME update candidates.Ludovic Courtès
Suggested by Efraim Flashner <efraim@flashner.co.il>. * guix/gnu-maintenance.scm (latest-ftp-release): Add #:keep-file? parameter and honor it. (latest-gnome-release)[%not-dot]: New variable. [even-minor-version?, even-numbered-tarball?]: New procedures. Pass EVEN-NUMBERED-TARBALL? as #:keep-file? argument.
2015-12-07gnu-maintenance: ftp.gnome.org does not provide signatures.Ludovic Courtès
* guix/gnu-maintenance.scm (latest-ftp-release): Add #:file->signature parameter. Honor it. (latest-gnome-release): Pass #:file->signature. * guix/upstream.scm (coalesce-sources): Keep 'signature-urls' as #f unless both sources provide it.
2015-12-07gnu-maintenance: Add GNOME updater.Ludovic Courtès
* guix/gnu-maintenance.scm (ftp-server/directory)[quirks]: Remove glib. (false-if-ftp-error): New macro. (latest-release*): Use it. (non-emacs-gnu-package?): Rename to... (pure-gnu-package?): ... this. Add call to 'gnome-package?'. (%gnu-updater): Adjust accordingly. (gnome-package?, latest-gnome-release): New procedures. (%gnome-updater): New variable. * guix/scripts/refresh.scm (%updaters): Add %GNOME-UPDATER. * doc/guix.texi (Invoking guix refresh): Mention it.
2015-12-07gnu-maintenance: Generalize 'latest-ftp-release'.Ludovic Courtès
* guix/gnu-maintenance.scm (latest-release): Rename to... (latest-ftp-release): ... this. Add #:server and #:directory parameters. (latest-release): New procedure.
2015-12-07gnu-maintenance: Do not look for releases in "w32" sub-directories.Ludovic Courtès
* guix/gnu-maintenance.scm (latest-release): Filter out "w32" directories.
2015-12-07gnu-maintenance: Add tests for 'release-file?'.Ludovic Courtès
* tests/gnu-maintenance.scm: New file. * Makefile.am (SCM_TESTS): Add it. * guix/gnu-maintenance.scm (release-file?): Export.
2015-12-07gnu-maintenance: Properly handle TeXmacs.Ludovic Courtès
* guix/gnu-maintenance.scm (ftp-server/directory): Add comment. (release-file?): Use 'string-ci=?' instead of 'equal?' when comparing project names.
2015-12-07gnu-maintenance: Adjust tarball regexp for IceCat tarballs.Ludovic Courtès
* guix/gnu-maintenance.scm (%tarball-rx): Tweak to match IceCat tarball patterns.
2015-12-07gnu-maintenance: Fix URLs returned by 'latest-release' for deep trees.Ludovic Courtès
With this, (latest-release "gcc") returns an <upstream-source> with URL: ftp://ftp.gnu.org/gnu/gcc/gcc-5.3.0/gcc-5.3.0.tar.gz Previous it would omit "gcc-5.3.0/" from the URL. Fixes a regression introduced in 0a7c5a0. * guix/gnu-maintenance.scm (latest-release)[file->url, file->source]: Add 'directory' parameter. Update users.
2015-10-27upstream: Add 'description' field to 'upstream-updater'.Alex Kost
Suggested by Ludovic Courtès <ludo@gnu.org>. * guix/upstream.scm (<upstream-updater>): Use 'define-record-type*'. [description]: New field. (lookup-updater): Adjust accordingly. * guix/gnu-maintenance.scm (%gnu-updater): Likewise. * guix/import/cran.scm (%cran-updater): Likewise. * guix/import/elpa.scm (%elpa-updater): Likewise. * po/guix/POTFILES.in: Add guix/scripts/import/cran.scm and guix/gnu-maintenance.scm.
2015-10-21gnu-maintenance: Generalize, leading to (guix upstream).Ludovic Courtès
* guix/gnu-maintenance.scm (<gnu-release>): Remove. (coalesce-releases): Move to upstream.scm. Rename to 'coalesce-sources'; adjust callers. (releases, latest-release): Return <upstream-source> objects instead of <gnu-release> objects. (latest-release*, non-emacs-gnu-package?): New procedures. (gnu-release-archive-types): Remove. (%gnu-updater): New variable. (package-update-path, download-tarball, package-update, update-package-source): Move to... * guix/upstream.scm: ... here. New file. * Makefile.am (MODULES): Add it. * po/guix/POTFILES.in: Replace gnu-maintenance.scm with upstream.scm. * guix/scripts/refresh.scm (%updaters): New variable. (update-package): Adjust to new 'package-update' interface. (guix-refresh): Adjust to new 'package-update-path'. Remove 'false-if-exception' around it.
2015-10-17gnu-maintenance: Fix file descriptor leak.Ludovic Courtès
* guix/gnu-maintenance.scm (official-gnu-packages): Close the port returned by FETCH.
2015-10-17gnu-maintenance: Use 'http-fetch/cached' by default.Ludovic Courtès
This speeds up operations like 'guix lint -c gnu-description'. * guix/gnu-maintenance.scm (official-gnu-packages): Add 'fetch' parameter and honor it. Default to 'http-fetch/cached'.
2015-06-16gnu-maintenance: Use 'home-page' as an additional hint of "GNUness".Ludovic Courtès
Reported by Rastus_Vernon on IRC. Fixes 'gnu-package?' for GNUcash. * guix/gnu-maintenance.scm (gnu-package?)[gnu-home-page?]: New procedure. Use it to determine whether PACKAGE is GNU.
2015-06-02gnu-maintenance: latest-release: Honor releases that are not in subdirs.Ludovic Courtès
Reported by Mark H Weaver. * guix/gnu-maintenance.scm (latest-release): Add 'result' parameter to 'loop'. When entering a sub-directory, use the current directory's latest release as 'result'. This fixes the code for 'gnu-pw-mgr' and 'sharutils'.
2015-05-05gnu-maintenance: 'gnu-package?' returns #t for R and for GNOME packages.Ludovic Courtès
Reported by John Darrington. * guix/gnu-maintenance.scm (gnu-package?)[mirror-type]: Add "gnome" to the list of GNU mirrors. Return #f for "cran".
2014-11-29gnu-maintenance: Support .zip files.Ludovic Courtès
Reported by Andreas Enge <andreas@enge.fr>. * guix/gnu-maintenance.scm (sans-extension): Add case for ".zip". (%tarball-rx): Extend to handle .zip extension.
2014-11-11import: Add GNU importer.Ludovic Courtès
Suggested by Karl Berry <karl@gnu.org> and Andreas Enge <andreas@enge.fr>. * guix/import/gnu.scm, guix/scripts/import/gnu.scm: New files. * Makefile.am (MODULES): Add them. * guix/scripts/import.scm (importers): Add "gnu". * guix/gnu-maintenance.scm (gnu-release-archive-types): New procedure. (download-tarball): Export.
2014-11-11gnu-maintenance: Introduce <gnu-release> data type.Ludovic Courtès
* guix/gnu-maintenance.scm (<gnu-release>): New record type. (release-file): Rename to... (release-file?): ... this. Return a Boolean. (tarball->version, coalesce-releases): New procedures. (releases): Call 'coalesce-releases' on RESULT. Return <gnu-release> objects instead of pairs. (latest-release): Likewise. (package-update-path): Adjust accordingly. * gnu/packages.scm (check-package-freshness): Adjust accordingly.
2014-05-05gnu-maintenance: Add missing type check.Ludovic Courtès
* guix/gnu-maintenance.scm (gnu-package?): Only call 'mirror-type' when URL is a string.
2014-04-29gnu-maintenance: Avoid network access in 'gnu-package?'.Ludovic Courtès
* guix/gnu-maintenance.scm (gnu-package?): Add 'mirror-type' procedure. Resort to 'official-gnu-packages' only when 'mirror-type' returns #f.
2014-02-28gnu-maintenance: Adjust 'latest-release' to filter Bash's patch directories.Ludovic Courtès
* guix/gnu-maintenance.scm (latest-release)[patch-directory-name?]: New procedure. <subdirs>: Use it to filter out Bash-like patch directories.
2013-12-03gnu-maintenance: Ignore "redirect" blurbs.Ludovic Courtès
* guix/gnu-maintenance.scm (official-gnu-packages)[official-description]: Return #f for blurbs that start with "redirect ".
2013-10-11gnu-maintenance: Adjust URL of package description file.Ludovic Courtès
* guix/gnu-maintenance.scm (%package-description-url): Adjust to the new URL.
2013-10-09gnu-maintenance: Get descriptions from 'gnumaint/pkgdescr.txt'.Ludovic Courtès
* guix/gnu-maintenance.scm (%gnumaint-base-url): New variable. (%package-list-url): Use it. (%gsrc-package-list-url): Remove. (%package-description-url): New variable. (official-gnu-packages): Change to use %PACKAGE-DESCRIPTION-URL instead of %GSRC-PACKAGE-LIST-URL. Adjust recutils field names accordingly.
2013-07-14Rename (guix web) to (guix http-client).Ludovic Courtès
* guix/web.scm: Rename to... * guix/http-client.scm: ... this. * guix/gnu-maintenance.scm, guix/scripts/substitute-binary.scm, Makefile.am, po/POTFILES.in: Update accordingly.
2013-07-12guix package: Reuse FTP connections for subsequent `latest-release' calls.Ludovic Courtès
* guix/gnu-maintenance.scm (latest-release): Add `ftp-close' and `ftp-open' keyword parameters. * guix/scripts/package.scm (ftp-open*): New variable. (check-package-freshness): Call `latest-release' with `ftp-open*' and a no-op procedure.
2013-07-12gnu-maintenance: `latest-release' closes its connection.Ludovic Courtès
* guix/gnu-maintenance.scm (latest-release): Close CONN before returning.
2013-07-10gnu-maintenance: Add `doc-description' field to <gnu-package-descriptor>.Ludovic Courtès
* guix/gnu-maintenance.scm (%gsrc-package-list-url): New variable. (<gnu-package-descriptor>): Add `doc-description' field. (official-gnu-packages)[group-package-fields]: Rename to... [read-records]: ... this. Reverse the result. [gsrc-description]: New procedure. Add the "description" field to the alist passed to `alist->record'.
2013-07-10gnu-maintenance: Use `recutils->alist'.Ludovic Courtès
* guix/gnu-maintenance.scm (official-gnu-packages)[group-package-fields]: Rewrite in terms of `recutils->alist'. Remove `state' parameter. Specify "doc-url" and "language" as multiple-value keys in the `alist->record' call.
2013-06-10guix refresh: Add '--key-download'.Nikita Karetnikov
* guix/gnu-maintenance.scm (download-tarball): Add a 'key-download' keyword argument and pass it to 'gnupg-verify*'. Make 'archive-type' a keyword argument. (package-update): Add a 'key-download' keyword argument. Pass 'archive-type' and 'key-download' keyword arguments to 'download-tarball'. * guix/gnupg.scm: Import (ice-9 i18n) and (guix ui). (gnupg-verify*): Add a 'key-download' keyword argument and adjust 'gnupg-verify*' to use it. Make 'server' a keyword argument. * guix/scripts/refresh.scm (show-help, %options): Add and document '--key-download'. (update-package): Add a 'key-download' keyword argument and pass it to 'package-update'. (guix-refresh): Pass 'key-download' to 'update-package'. Limit lines to a maximum of 79 characters.
2013-05-12Move record utilities to (guix records).Ludovic Courtès
* guix/utils.scm (define-record-type*): Move to... * guix/records.scm: ... here. New file. * guix/build-system.scm, guix/packages.scm: Use it. * guix/gnu-maintenance.scm: Likewise. (official-gnu-packages)[alist->record]: Remove. * guix/scripts/substitute-binary.scm: Likewise. (alist->record, object->fields): Remove. * tests/utils.scm ("define-record-type*", "define-record-type* with letrec* behavior", "define-record-type* & inherit", "define-record-type* & inherit & letrec* behavior", "define-record-type* & thunked", "define-record-type* & thunked & default", "define-record-type* & thunked & inherited"): Move to... * tests/records.scm: ... here. New file.
2013-05-10gnu-maintenance: Add GnuTLS FTP server.Ludovic Courtès
* guix/gnu-maintenance.scm (ftp-server/directory)[quirks]: Add GnuTLS.
2013-04-27gnu-maintenance: Fix error message of `update-package-source'.Ludovic Courtès
* guix/gnu-maintenance.scm (update-package-source): In the (not loc) case, pass the location first and convert it to a string.
2013-04-27gnu-maintenance: Fix `latest-release' for GnuPG.Ludovic Courtès
* guix/gnu-maintenance.scm (latest-release): Filter out directories whose name does not contain digits early in the process. This fixes (latest-release "gnupg").
2013-04-25gnu-maintenance: Add newline in warning messages.Ludovic Courtès
* guix/gnu-maintenance.scm (download-tarball): Add newline in warning messages.
2013-04-25web: Factorize `http-get' hackery.Ludovic Courtès
This should fix `substitute-binary --query' on Guile 2.0.5. * guix/web.scm: New file. * Makefile.am (MODULES): Add it. * po/POTFILES.in: Add it. * guix/gnu-maintenance.scm (http-fetch): Remove. (%package-list-url): Turn into a URI. (official-gnu-packages): Add #:text? #t to `http-fetch' call. * guix/scripts/substitute-binary.scm (fetch): Remove `http' case, and use `http-fetch' instead.
2013-04-25gnu-maintenance: Optimize `gnu-package?'.Ludovic Courtès
* guix/gnu-maintenance.scm (gnu-package?): Capture a memoizing version of `gnu-package?'.
2013-04-25gnu-maintenance: Optimize `release-file'.Ludovic Courtès
* guix/gnu-maintenance.scm (tarball-regexp): Remove. (%tarball-rx): New variable. (release-file): Adjust to use %TARBALL-RX.
2013-04-25gnu-maintenance: Optimize `latest-release'.Ludovic Courtès
* guix/gnu-maintenance.scm (tarball-regexp, sans-extension, release-file): New procedures. (%alpha-tarball-rx): New variable. (releases): Use them instead of local copies. (latest-release): Rewrite to not do a recursive search of all versions and instead jump directly to the latest.
2013-04-25Add `guix refresh' and related auto-update tools.Ludovic Courtès
* guix/gnu-maintenance.scm (ftp-server/directory)[quirks]: Add glib. (package-update-path, download-tarball, package-update, update-package-source): New procedures. * guix/gnupg.scm, guix/scripts/refresh.scm: New files. * Makefile.am (MODULES): Add them. * guix/utils.scm (file-extension): New procedure.
2013-04-21ui: Add a 'define-diagnostic' macro.Nikita Karetnikov
* guix/ui.scm (define-diagnostic): New macro, which is based on the previous version of 'warning'. (warning, leave): Redefine using 'define-diagnostic'. (report-error): New macro. (install-locale): Use 'warning' instead of 'format'. (call-with-error-handling): Adjust 'leave'. * gnu/packages.scm (package-files): Use 'warning' instead of 'format'. * guix/gnu-maintenance.scm (http-fetch): Use 'warning' and 'leave'. * guix/scripts/build.scm (derivations-from-package-expressions, guix-build): Adjust 'leave'. * guix/scripts/download.scm (guix-download): Adjust 'leave'. * guix/scripts/gc.scm (size->number, %options): Adjust 'leave'. * guix/scripts/package.scm (roll-back, guix-package): Adjust 'leave'. * po/POTFILES.in: Add 'guix/gnu-maintenance.scm'.
2013-04-01gnu-maintenance: Adjust `http-fetch' to the various Guile versions.Ludovic Courtès
* guix/gnu-maintenance.scm (http-fetch): Try #:streaming? #t, or 'http-get*', or 'http-get' as a last resort. Check whether DATA is #f, a string, or an input port.