aboutsummaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* licenses: Add Zope Public License.Ricardo Wurmus2015-09-22
| | | | * guix/licenses.scm (zpl2.1): New variable.
* Update CRAN mirrors.Ricardo Wurmus2015-09-21
| | | | * guix/download.scm (%mirrors): Update mirror list for CRAN.
* import: cran-sxml->sexp: Use cran-uri in package expression.Ricardo Wurmus2015-09-21
| | | | | * guix/import/cran.scm (cran-sxml->sexp): Use the cran-uri procedure in the generated package expression.
* build: Add cran-uri procedure.Ricardo Wurmus2015-09-21
| | | | * guix/build-system/r.scm (cran-uri): New procedure.
* lint: Report lonely parentheses.Ludovic Courtès2015-09-18
| | | | | | | * guix/scripts/lint.scm (%hanging-paren-rx): New variable. (report-lone-parentheses): New procedure. (%formatting-reporters): Use it. * tests/lint.scm ("formatting: lonely parentheses"): New test.
* store: Add 'set-build-options*'.Alex Kost2015-09-18
| | | | | | Suggested by: Ludovic Courtès <ludo@gnu.org>. * guix/store.scm (set-build-options*): New procedure.
* ui: Add 'show-derivation-outputs'.Alex Kost2015-09-18
| | | | | * guix/scripts/build.scm (guix-build): Extract code from here and move to... * guix/ui.scm (show-derivation-outputs): ... here. New procedure.
* Add (guix scripts).Alex Kost2015-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/ui.scm: Add missing copyright lines. (args-fold*, environment-build-options, %default-argument-handler, parse-command-line): Move to ... * guix/scripts.scm: ...here. New file. * guix/scripts/archive.scm: Use it. * guix/scripts/build.scm: Likewise. * guix/scripts/download.scm: Likewise. * guix/scripts/edit.scm: Likewise. * guix/scripts/environment.scm: Likewise. * guix/scripts/gc.scm: Likewise. * guix/scripts/graph.scm: Likewise. * guix/scripts/hash.scm: Likewise. * guix/scripts/import/cpan.scm: Likewise. * guix/scripts/import/cran.scm: Likewise. * guix/scripts/import/elpa.scm: Likewise. * guix/scripts/import/gem.scm: Likewise. * guix/scripts/import/gnu.scm: Likewise. * guix/scripts/import/hackage.scm: Likewise. * guix/scripts/import/nix.scm: Likewise. * guix/scripts/import/pypi.scm: Likewise. * guix/scripts/lint.scm: Likewise. * guix/scripts/package.scm: Likewise. * guix/scripts/publish.scm: Likewise. * guix/scripts/pull.scm: Likewise. * guix/scripts/refresh.scm: Likewise. * guix/scripts/size.scm: Likewise. * guix/scripts/system.scm: Likewise. * tests/ui.scm (with-environment-variable, "parse-command-line", "parse-command-line and --no options"): Move to ... * tests/scripts.scm: ...here. New file. * Makefile.am (MODULES): Add guix/scripts.scm. (SCM_TESTS): Add tests/scripts.scm. * po/guix/POTFILES.in: Add guix/scripts.scm.
* download: Only show hours in the elapsed time if necessary.Steve Sprang2015-09-17
| | | | | | | * guix/build/download.scm (seconds->string): Conditionally include hours in timestamp. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* substitute: Improve readability of download progress report.Steve Sprang2015-09-16
| | | | | | | | | | | | * guix/build/download.scm (string-pad-middle, store-url-abbreviation, store-path-abbreviation): New procedures. (progress-proc): Add #:abbreviation parameter and use it. Generate a better indeterminate progress string. * guix/scripts/substitute.scm (assert-valid-narinfo): Add newlines to output. (process-substitution): Use byte-count->string and store-path-abbreviation. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* lint: Add 'check-texinfo-markup' checker.Mathieu Lirzin2015-09-15
| | | | | | * guix/script/lint.scm (check-description-style): Check for invalid Texinfo markup. * tests/lint.scm: Test it.
* guix: lint: Check for meaningful origin file names.Eric Bavier2015-09-14
| | | | | | | | | * guix/scripts/lint.scm (check-source-file-name): New procedure. (%checkers): Add 'source-file-name' checker. * tests/lint.scm ("source-file-name", "source-file-name: v prefix") ("source-file-name: valid", "source-file-name: bad checkout") ("source-file-name: good checkout"): New tests. * doc/guix.texi (Invoking guix lint): Mention file name check.
* guix: packages: Add origin-actual-file-name.Eric Bavier2015-09-14
| | | | | | | | * guix/scripts/graph.scm (uri->file-name, node-full-name): Move origin file name logic to... * guix/packages.scm (origin-actual-file-name): ...here. * tests/packages.scm ("origin-actual-file-name") ("origin-actual-file-name, file-name"): New tests.
* download: Avoid type errors when formatting download progress output.Steve Sprang2015-09-14
| | | | | * guix/build/download.scm (nearest-exact-integer): New procedure. (seconds->string, byte-count->string): Use it.
* guix system: Gracefully handle incomplete commands.Ludovic Courtès2015-09-15
| | | | | | | | Fixes <http://bugs.gnu.org/21451>. Reported by Steve Sprang <steve.sprang@gmail.com>. * guix/scripts/system.scm (guix-system)[option-arguments]: Error out when ACTION is #f.
* build: ruby: Add support for tarball and directory sources.David Thompson2015-09-14
| | | | | | | | | | | | Previously, the Ruby build system only knew how to work with gem archives, which made it difficult to build unreleased gems from a Git repository or released gems in tarball form. * gnu/build/ruby-build-system.scm (gnu:unpack, gem-archive?): New procedures. (unpack): Use GNU build system unpack phase for non-gem sources. (build): Rebuild the gemspec iff the source is a gem archive. * guix.texi ("ruby-build-system"): Mention that tarballs and directories are acceptable.
* guix build: '--log-file' can return URLs.Ludovic Courtès2015-09-10
| | | | | | | * guix/scripts/build.scm (%default-log-urls): New variable. (log-url): New procedure. (guix-build): Use it. * doc/guix.texi (Invoking guix build): Document it.
* http-client: Backport delimited input port fix from Guile.Ludovic Courtès2015-09-10
| | | | | | * guix/http-client.scm (make-delimited-input-port): Backport Guile commit 5a10e41. Monkey-patch 'make-delimited-input-port' for any Guile <= 2.0.11.
* http-client: Remove redundant import clause.Ludovic Courtès2015-09-10
| | | | * guix/http-client.scm: Remove redundant #:use-module (guix utils).
* guix: packages: Add transitive-input-references.Eric Bavier2015-09-10
| | | | | | | * guix/packages.scm (transitive-input-references): New procedure. * gnu/packages/version-control.scm (package-transitive-propagated-labels*) (package-propagated-input-refs): Delete. (git)[arguments]: Adjust to transitive-input-references.
* pull: Update to the new cgit snapshot URL.Ludovic Courtès2015-09-10
| | | | * guix/scripts/pull.scm (%snapshot-url): Update to the new URL.
* build: Improve information density and appearance of download progress output.Steve Sprang2015-09-08
| | | | | | | | | | * guix/build/download.scm (seconds->string): New function. (byte-count->string): New function. (progress-bar): New function. (throughput->string): Remove function. (progress-proc): Display base file name, elapsed time, and progress bar. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* ui: Add package-description-string.Mathieu Lirzin2015-09-08
| | | | | | | | | | | | | Provide support for Texinfo's markup in package description. * guix/ui.scm (%text-width): New parameter. (texi->plain-text): New variable. (package->recutils): Use them. (package-description-string): New variable. * emacs/guix-main.scm (%package-param-alist): Use it. * gnu/packages/perl.scm (perl-devel-globaldestruction) (perl-devel-lexalias, perl-exporter-lite): Adapt to Texinfo's markup. * gnu/packages/python.scm (python2-empy): Likewise.
* build: container: Use the same clone flags as fork(3).David Thompson2015-09-07
| | | | | | | | | | | | The intent is to make 'clone' behave a lot more like 'primitive-fork', which calls clone(2) with SIGCHLD, CLONE_CHILD_CLEARTID, and CLONE_CHILD_SETTID flags. Notably, running 'clone' at the REPL without these flags would break the REPL beyond repair. * guix/build/syscalls.scm (CLONE_CHILD_CLEARTID, CLONE_CHILD_SETTID): New variables. * gnu/build/linux-container.scm (namespaces->bit-mask): Add CLONE_CHILD_CLEARTID and CLONE_CHILD_SETTID to bit mask.
* build: ruby: Avoid long build directory names.David Thompson2015-09-07
| | | | | | | | | | Having the hash of the source gem in the source directory file name proved to be problematic when running the test suite for the 'pg' gem that creates UNIX-domain sockets in the source directory and exceeded the 108 character limit on GNU/Linux systems. * guix/build/ruby-build-system.scm (unpack): Rename unpacked gem directory to "gem".
* ui: Change 'P_' to return the empty string when passed the empty string.Ludovic Courtès2015-09-06
| | | | | | | Reported by Mathieu Lirzin <mathieu.lirzin@etu.u-bordeaux.fr> at <https://lists.gnu.org/archive/html/guix-devel/2015-09/msg00111.html>. * guix/ui.scm (P_): Check whether MSGID is empty, and return it if it is.
* licenses: Add CC-BY-SA and CC-BY.Ludovic Courtès2015-09-06
| | | | * guix/licenses.scm (cc-by-sa4.0, cc-by3.0): New variables.
* lint: Add 'license' checker.Ludovic Courtès2015-09-06
| | | | | | * guix/scripts/lint.scm (check-license): New procedure. (%checkers): Add 'license' checker. * tests/lint.scm ("license: invalid license"): New test.
* emacs-build-system: Fix a file name of info directory.Alex Kost2015-09-06
| | | | | * guix/build/emacs-build-system.scm (move-doc): Adjust to use "/share/info" instead of its sub-directory.
* download: Disable offloading for downloads.Ludovic Courtès2015-09-05
| | | | | * guix/download.scm (url-fetch): Use #:local-build? #t. * guix/git-download.scm (git-fetch): Likewise.
* build: syscalls: Properly handle clone errors.David Thompson2015-09-05
| | | | * guix/build/syscalls.scm (clone): Catch -1 return value and throw error.
* monads: Fix 'liftN' fallback case.Ludovic Courtès2015-09-04
| | | | | | | | Reported by Andy Wingo <wingo@igalia.com>. * guix/monads.scm (define-lift) <fallback case>: Add missing #'. Remove extra formal parameter. * tests/monads.scm ("lift"): Add test with 'lift1' as a procedure.
* publish: Gracefully handle the lack of a deriver.Ludovic Courtès2015-09-04
| | | | | | | | * guix/scripts/publish.scm (narinfo-string): Catch 'system-error' around 'load-derivation' call; return BASE-INFO upon ENOENT. This allows us to return the narinfo even if DERIVER is missing. Before that, the exception would be uncaught, leading to 500 Internal Error on the client side.
* graph: Add '--expression'.Ludovic Courtès2015-09-02
| | | | | | | | * guix/scripts/graph.scm (%options, show-help): Add '--expression'. (guix-graph): Call 'read/eval-package-expression' for 'expression' pairs in OPTS. * tests/guix-graph.sh: Add tests. * doc/guix.texi (Invoking guix graph): Document it.
* guix: Add GUST font license 1.0.Ricardo Wurmus2015-09-02
| | | | * guix/licenses.scm (gfl1.0): New variable.
* import: gem: Fix minor bug and add unit test.David Thompson2015-09-01
| | | | | | | | * guix/import/gem.scm (make-gem-sexp): Properly handle an empty list of licenses. When rendering a list of licenses, cons 'list onto the front of the expression. * tests/gem.scm: New file. * Makefile.am (SCM_TESTS): Add it.
* build: Add R build system.Ricardo Wurmus2015-08-31
| | | | | | | * guix/build-system/r.scm: New file. * guix/build/r-build-system: New file. * Makefile.am (MODULES): Add new files. * doc/guix.texi (Build Systems): Document r-build-system.
* import: Add 'cran' importer.Ricardo Wurmus2015-08-31
| | | | | | | | | | | | * guix/import/cran.scm: New file. * guix/scripts/import.scm: Add "cran" to 'importers'. * guix/scripts/import/cran.scm: New file. * tests/cran.scm: New file. * Makefile.am (MODULES): Add 'guix/import/cran.scm' and 'guix/scripts/import/cran.scm'. (SCM_TESTS): Add 'tests/cran.scm'. * doc/guix.texi (Invoking guix import): Document it. * po/guix/POTFILES.in: Add 'guix/scripts/import/cran.scm'.
* ui: Add 'run-guix'.Alex Kost2015-08-30
| | | | | * guix/ui.scm (guix-main): Move the code to run guix command line to ... (run-guix): ...here. New procedure. Export it.
* guix graph: Export node types and <node-type> accessors.Alex Kost2015-08-30
| | | | | | * guix/scripts/graph.scm (%node-types, node-type, node-type?, node-type-identifier, node-type-label, node-type-edges, node-type-convert, node-type-name, node-type-description): Export.
* guix lint: Export checkers and <lint-checker> accessors.Alex Kost2015-08-30
| | | | | | * guix/scripts/lint.scm (%checkers, lint-checker, lint-checker?, lint-checker-name, lint-checker-description, lint-checker-check): Export.
* download: Keep a single copy of the mirror file.Ludovic Courtès2015-08-29
| | | | | | | | This saves ~10% on 'guix build inkscape -Sd'. * guix/download.scm (%mirror-file): New variable. (url-fetch): Remove #:mirrors parameter. Remove 'mirror-file'; refer to '%mirror-file' instead.
* refresh: Add missing newline in warning message.Ludovic Courtès2015-08-29
| | | | | | | Reported by karhunkynsi on #guix. * guix/scripts/refresh.scm (update-package): Add missing newline in string literal passed to 'warning'.
* download: Keep only 2 store items for all the downloads.Ludovic Courtès2015-08-29
| | | | | | | | | This significantly reduces churn in the store. It also reduces run time of 'guix build inkscape -Sd' by ~10%. * guix/download.scm (url-fetch)[mirror-file]: New variable. [builder]: Get URL from the "guix download url" env. var. Get the mirrors from MIRROR-FILE. Pass #:script-name and #:env-vars to 'gexp->derivation'.
* gexp: Add #:script-name parameter to 'gexp->derivation'.Ludovic Courtès2015-08-29
| | | | | * guix/gexp.scm (gexp->derivation): Add #:script-name parameter. * doc/guix.texi (G-Expressions): Document it.
* monads: Inline the procedure returned by liftN.Ludovic Courtès2015-08-29
| | | | | * guix/monads.scm (define-lift): Turn into a macro that open-codes the result of its lift.
* import: Add Ruby gem importer.David Thompson2015-08-27
| | | | | | | | * gnu/scripts/import.scm (importers): Add "gem". * gnu/import/gem.scm: New file. * gnu/scripts/import/gem.scm: New file. * Makefile.am (MODULES): Add them. * guix.texi ("invoking guix import"): Document it.
* import: pypi: Move generally useful procedures to utils module.David Thompson2015-08-27
| | | | | | | | * guix/import/pypi.scm (make-pypi-sexp): Factorize license to symbol conversion code. (string->license, snake-case, guix-hash-url): Move from here... * guix/import/utils.scm: ... to here. (license->symbol): New procedure.
* Add 'guix graph'.Ludovic Courtès2015-08-27
| | | | | | | | | | | | | | | | | * guix/scripts/graph.scm, tests/graph.scm, tests/guix-graph.sh, doc/images/coreutils-bag-graph.dot, doc/images/coreutils-graph.dot: New files. * Makefile.am (MODULES): Add guix/scripts/graph.scm. (SH_TESTS): Add tests/guix-graph.sh. (SCM_TESTS): Add tests/graph.scm. * doc.am (DOT_FILES, DOT_VECTOR_GRAPHICS): New variables. (EXTRA_DIST): Use them. (dist_infoimage_DATA): Use $(DOT_FILES). (pdf-local, info-local, ps-local): Likewise. * doc/guix.texi (Packages with Multiple Outputs): Add cross-reference to 'guix graph'. (Invoking guix gc): Likewise. (Invoking guix graph): New section.
* gexp: Add 'lower-object'.Ludovic Courtès2015-08-27
| | | | | | | * guix/gexp.scm (lower-object): New procedure. (lower-inputs, lower-references, gexp->sexp): Use it. * tests/gexp.scm ("lower-object"): New test. * doc/guix.texi (G-Expressions): Document it.