summaryrefslogtreecommitdiff
path: root/guix/gnu-maintenance.scm
AgeCommit message (Collapse)Author
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.
2013-03-28gnu-maintenance: Improve 'official-gnu-packages'; add related procedures.Nikita Karetnikov
* guix/gnu-maintenance.scm (http-fetch): Return an input port. (<gnu-package-descriptor>): Add it. (official-gnu-packages): Use <gnu-package-descriptor>. (find-packages): Add it. (gnu-package?): Adjust accordingly.
2013-03-16guix package: Gracefully handle `official-gnu-packages' failure.Ludovic Courtès
* guix/gnu-maintenance.scm (http-fetch): Error out when DATA is #f. * guix/scripts/package.scm (check-package-freshness): Wrap `gnu-package?' call in `false-if-exception'. Reported by Cyril Roelandt <tipecaml@gmail.com>.
2013-03-05gnu-maintenance: Clarify `releases'.Ludovic Courtès
* guix/gnu-maintenance.scm (releases): Change to use `match' and `match-lambda'. Add `release-file' auxiliary function.
2013-03-05gnu-maintenance: Fix `gnu-package?' for packages lacking a `source'.Ludovic Courtès
* guix/gnu-maintenance.scm (gnu-package?): Support PACKAGE when its source is #f.
2013-03-05guix package: Inform about new upstream versions of GNU packages.Ludovic Courtès
* guix/gnu-maintenance.scm (gnu-package?): New procedure. * guix/scripts/package.scm (waiting): New macro. (check-package-freshness): New procedure. (guix-package)[process-actions]: Use it. * doc/guix.texi (Invoking guix package): Mention the feature.
2013-02-12Add version-compare and version>? to utils.scm.Mark H Weaver
* guix/utils.scm (version-compare, version>?): New exported procedures, based on version-string>?, which was formerly in gnu-maintenance.scm. * guix/gnu-maintenance.scm (version-string>?): Removed procedure. (latest-release): Use 'version>?' instead of 'version-string>?'.
2013-01-08gnu-maintenance: Add `latest-release' and related tools.Ludovic Courtès
* guix/gnu-maintenance.scm (ftp-server/directory, releases, version-string>?, latest-release, gnu-package-name->name+version): New procedures. (%package-name-rx): New variable.
2013-01-06Update license headers.Ludovic Courtès
Change all license headers, except guix/build/* and ld-wrapper.scm, with this code: (use-modules (guix build utils) (srfi srfi-1)) (fluid-set! %default-port-encoding "UTF-8") (substitute* (remove (lambda (f) (or (string-contains f ".tar.") (string-contains f ".git/") (string-contains f ".so") (string-suffix? ".o" f) (string-suffix? ".a" f) (string-suffix? ".go" f) (string-suffix? ".pdf" f) (string-suffix? ".png" f) (string-suffix? ".info" f) (equal? (basename f) "guix-daemon") (equal? (basename f) "nix-setuid-helper") (string-contains f "nix-upstream/") (string-contains f "distro/packages/bootstrap/"))) (find-files "." "\\.[a-z]+$")) (("^([[:graph:]]+) This file is part of Guix." _ comment-start) (string-append comment-start " This file is part of GNU Guix.")) (("^([[:graph:]]+) Guix --- Nix package management.*" _ comment-start) (string-append comment-start " GNU Guix --- Functional package management for GNU\n")) (("^([[:graph:]]+) Guix is " _ comment-start) (string-append comment-start " GNU Guix is ")) (("^([[:graph:]]+) along with Guix." _ comment-start) (string-append comment-start " along with GNU Guix.")) (("^([[:graph:]]+) Copyright \\(C\\)" _ comment-start) (string-append comment-start " Copyright ©"))) Change headers using C-style comments manually.
2012-12-05Add (guix gnu-maintenance).Nikita Karetnikov
* guix/gnu-maintenance.scm: New file. * Makefile.am (MODULES): Add it.