summaryrefslogtreecommitdiff
path: root/guix/gnu-maintenance.scm
Commit message (Collapse)AuthorAge
* gnu-maintenance: GNOME updater honors 'upstream-name' package property.Ludovic Courtès2016-10-20
| | | | | | | | * guix/gnu-maintenance.scm (latest-gnome-release)[upstream-name]: New variable. Use it as the first argument to 'latest-ftp-release' and when constructing #:directory. * gnu/packages/gnome.scm (gconf)[properties]: New field. (network-manager)[properties]: New field.
* gnu-maintenance: Add KDE updater.David Craven2016-08-02
| | | | | | | | * guix/gnu-maintenance.scm (kde-package?, latest-kde-release): New private functions. (%kde-updater): New public variable. * guix/scripts/refresh.scm (list-updaters): Add %kde-updater. * doc/guix.texi (Invoking guix refresh): Mention the new updater.
* gnu-maintenance: Replace 'find-packages' with 'find-package' (singular).Ludovic Courtès2016-06-08
| | | | | | | | | | 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.
* utils: Move combinators to (guix combinators).Ludovic Courtès2016-05-04
| | | | | | | | | | | | | | | | | | | * 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.
* gnu-maintenance: Move FTP directory info to 'properties' fields.Ludovic Courtès2016-04-15
| | | | | | | | | | | | | | | | | | | | * 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.
* gnu-maintenance: Recognize source tarball with "-src" in their name.Ludovic Courtès2016-04-15
| | | | | * guix/gnu-maintenance.scm (tarball->version): Add special case for tarball names containing "-src".
* upstream: Pass a package object to updaters.Ludovic Courtès2016-04-15
| | | | | | | | | | | | | | * 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.
* gnu-maintenance: Add X.org updater.Andy Wingo2016-02-24
| | | | | | | | | | * 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.
* gnu-maintenance: Really find the latest GNOME releases.Ludovic Courtès2015-12-09
| | | | | | | | | | | | | | 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.
* gnu-maintenance: Exclude development releases from GNOME update candidates.Ludovic Courtès2015-12-08
| | | | | | | | | | 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.
* gnu-maintenance: ftp.gnome.org does not provide signatures.Ludovic Courtès2015-12-07
| | | | | | | | * 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.
* gnu-maintenance: Add GNOME updater.Ludovic Courtès2015-12-07
| | | | | | | | | | | | | * 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.
* gnu-maintenance: Generalize 'latest-ftp-release'.Ludovic Courtès2015-12-07
| | | | | | | * guix/gnu-maintenance.scm (latest-release): Rename to... (latest-ftp-release): ... this. Add #:server and #:directory parameters. (latest-release): New procedure.
* gnu-maintenance: Do not look for releases in "w32" sub-directories.Ludovic Courtès2015-12-07
| | | | | * guix/gnu-maintenance.scm (latest-release): Filter out "w32" directories.
* gnu-maintenance: Add tests for 'release-file?'.Ludovic Courtès2015-12-07
| | | | | | * tests/gnu-maintenance.scm: New file. * Makefile.am (SCM_TESTS): Add it. * guix/gnu-maintenance.scm (release-file?): Export.
* gnu-maintenance: Properly handle TeXmacs.Ludovic Courtès2015-12-07
| | | | | | * guix/gnu-maintenance.scm (ftp-server/directory): Add comment. (release-file?): Use 'string-ci=?' instead of 'equal?' when comparing project names.
* gnu-maintenance: Adjust tarball regexp for IceCat tarballs.Ludovic Courtès2015-12-07
| | | | | * guix/gnu-maintenance.scm (%tarball-rx): Tweak to match IceCat tarball patterns.
* gnu-maintenance: Fix URLs returned by 'latest-release' for deep trees.Ludovic Courtès2015-12-07
| | | | | | | | | | | | | 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.
* upstream: Add 'description' field to 'upstream-updater'.Alex Kost2015-10-27
| | | | | | | | | | | | | 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.
* gnu-maintenance: Generalize, leading to (guix upstream).Ludovic Courtès2015-10-21
| | | | | | | | | | | | | | | | | | | | * 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.
* gnu-maintenance: Fix file descriptor leak.Ludovic Courtès2015-10-17
| | | | | * guix/gnu-maintenance.scm (official-gnu-packages): Close the port returned by FETCH.
* gnu-maintenance: Use 'http-fetch/cached' by default.Ludovic Courtès2015-10-17
| | | | | | | 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'.
* gnu-maintenance: Use 'home-page' as an additional hint of "GNUness".Ludovic Courtès2015-06-16
| | | | | | | | 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.
* gnu-maintenance: latest-release: Honor releases that are not in subdirs.Ludovic Courtès2015-06-02
| | | | | | | | 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'.
* gnu-maintenance: 'gnu-package?' returns #t for R and for GNOME packages.Ludovic Courtès2015-05-05
| | | | | | | Reported by John Darrington. * guix/gnu-maintenance.scm (gnu-package?)[mirror-type]: Add "gnome" to the list of GNU mirrors. Return #f for "cran".
* gnu-maintenance: Support .zip files.Ludovic Courtès2014-11-29
| | | | | | | Reported by Andreas Enge <andreas@enge.fr>. * guix/gnu-maintenance.scm (sans-extension): Add case for ".zip". (%tarball-rx): Extend to handle .zip extension.
* import: Add GNU importer.Ludovic Courtès2014-11-11
| | | | | | | | | | | 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.
* gnu-maintenance: Introduce <gnu-release> data type.Ludovic Courtès2014-11-11
| | | | | | | | | | | | * 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.
* gnu-maintenance: Add missing type check.Ludovic Courtès2014-05-05
| | | | | * guix/gnu-maintenance.scm (gnu-package?): Only call 'mirror-type' when URL is a string.
* gnu-maintenance: Avoid network access in 'gnu-package?'.Ludovic Courtès2014-04-29
| | | | | * guix/gnu-maintenance.scm (gnu-package?): Add 'mirror-type' procedure. Resort to 'official-gnu-packages' only when 'mirror-type' returns #f.
* gnu-maintenance: Adjust 'latest-release' to filter Bash's patch directories.Ludovic Courtès2014-02-28
| | | | | | * guix/gnu-maintenance.scm (latest-release)[patch-directory-name?]: New procedure. <subdirs>: Use it to filter out Bash-like patch directories.
* gnu-maintenance: Ignore "redirect" blurbs.Ludovic Courtès2013-12-03
| | | | | * guix/gnu-maintenance.scm (official-gnu-packages)[official-description]: Return #f for blurbs that start with "redirect ".
* gnu-maintenance: Adjust URL of package description file.Ludovic Courtès2013-10-11
| | | | | * guix/gnu-maintenance.scm (%package-description-url): Adjust to the new URL.
* gnu-maintenance: Get descriptions from 'gnumaint/pkgdescr.txt'.Ludovic Courtès2013-10-09
| | | | | | | | | | * 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.
* Rename (guix web) to (guix http-client).Ludovic Courtès2013-07-14
| | | | | | | * 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.
* guix package: Reuse FTP connections for subsequent `latest-release' calls.Ludovic Courtès2013-07-12
| | | | | | | | * 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.
* gnu-maintenance: `latest-release' closes its connection.Ludovic Courtès2013-07-12
| | | | | * guix/gnu-maintenance.scm (latest-release): Close CONN before returning.
* gnu-maintenance: Add `doc-description' field to <gnu-package-descriptor>.Ludovic Courtès2013-07-10
| | | | | | | | | * 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'.
* gnu-maintenance: Use `recutils->alist'.Ludovic Courtès2013-07-10
| | | | | | | * 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.
* guix refresh: Add '--key-download'.Nikita Karetnikov2013-06-10
| | | | | | | | | | | | | | | | | | | | * 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.
* Move record utilities to (guix records).Ludovic Courtès2013-05-12
| | | | | | | | | | | | | | | | * 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.
* gnu-maintenance: Add GnuTLS FTP server.Ludovic Courtès2013-05-10
| | | | * guix/gnu-maintenance.scm (ftp-server/directory)[quirks]: Add GnuTLS.
* gnu-maintenance: Fix error message of `update-package-source'.Ludovic Courtès2013-04-27
| | | | | * guix/gnu-maintenance.scm (update-package-source): In the (not loc) case, pass the location first and convert it to a string.
* gnu-maintenance: Fix `latest-release' for GnuPG.Ludovic Courtès2013-04-27
| | | | | | * guix/gnu-maintenance.scm (latest-release): Filter out directories whose name does not contain digits early in the process. This fixes (latest-release "gnupg").
* gnu-maintenance: Add newline in warning messages.Ludovic Courtès2013-04-25
| | | | | * guix/gnu-maintenance.scm (download-tarball): Add newline in warning messages.
* web: Factorize `http-get' hackery.Ludovic Courtès2013-04-25
| | | | | | | | | | | | | 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.
* gnu-maintenance: Optimize `gnu-package?'.Ludovic Courtès2013-04-25
| | | | | * guix/gnu-maintenance.scm (gnu-package?): Capture a memoizing version of `gnu-package?'.
* gnu-maintenance: Optimize `release-file'.Ludovic Courtès2013-04-25
| | | | | | * guix/gnu-maintenance.scm (tarball-regexp): Remove. (%tarball-rx): New variable. (release-file): Adjust to use %TARBALL-RX.
* gnu-maintenance: Optimize `latest-release'.Ludovic Courtès2013-04-25
| | | | | | | | | * 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.
* Add `guix refresh' and related auto-update tools.Ludovic Courtès2013-04-25
| | | | | | | | | * 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.