summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Expand)Author
2015-09-21import: cran-sxml->sexp: Use cran-uri in package expression....* guix/import/cran.scm (cran-sxml->sexp): Use the cran-uri procedure in the generated package expression. Ricardo Wurmus
2015-09-21build: Add cran-uri procedure....* guix/build-system/r.scm (cran-uri): New procedure. Ricardo Wurmus
2015-09-18lint: Report lonely parentheses....* 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. Ludovic Courtès
2015-09-18store: Add 'set-build-options*'....Suggested by: Ludovic Courtès <ludo@gnu.org>. * guix/store.scm (set-build-options*): New procedure. Alex Kost
2015-09-18ui: Add 'show-derivation-outputs'....* guix/scripts/build.scm (guix-build): Extract code from here and move to... * guix/ui.scm (show-derivation-outputs): ... here. New procedure. Alex Kost
2015-09-18Add (guix scripts)....* 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. Alex Kost
2015-09-17download: Only show hours in the elapsed time if necessary....* guix/build/download.scm (seconds->string): Conditionally include hours in timestamp. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Steve Sprang
2015-09-16substitute: Improve readability of download progress report....* 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> Steve Sprang
2015-09-15lint: Add 'check-texinfo-markup' checker....* guix/script/lint.scm (check-description-style): Check for invalid Texinfo markup. * tests/lint.scm: Test it. Mathieu Lirzin
2015-09-14guix: lint: Check for meaningful origin file names....* 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. Eric Bavier
2015-09-14guix: packages: Add origin-actual-file-name....* 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. Eric Bavier
2015-09-14download: Avoid type errors when formatting download progress output....* guix/build/download.scm (nearest-exact-integer): New procedure. (seconds->string, byte-count->string): Use it. Steve Sprang
2015-09-15guix system: Gracefully handle incomplete commands....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. Ludovic Courtès
2015-09-14build: ruby: Add support for tarball and directory sources....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. David Thompson
2015-09-10guix build: '--log-file' can return URLs....* 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. Ludovic Courtès
2015-09-10http-client: Backport delimited input port fix from Guile....* guix/http-client.scm (make-delimited-input-port): Backport Guile commit 5a10e41. Monkey-patch 'make-delimited-input-port' for any Guile <= 2.0.11. Ludovic Courtès
2015-09-10http-client: Remove redundant import clause....* guix/http-client.scm: Remove redundant #:use-module (guix utils). Ludovic Courtès
2015-09-10guix: packages: Add transitive-input-references....* 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. Eric Bavier
2015-09-10pull: Update to the new cgit snapshot URL....* guix/scripts/pull.scm (%snapshot-url): Update to the new URL. Ludovic Courtès
2015-09-08build: Improve information density and appearance of download progress output....* 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> Steve Sprang
2015-09-08ui: Add package-description-string....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. Mathieu Lirzin
2015-09-07build: container: Use the same clone flags as fork(3)....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. David Thompson
2015-09-07build: ruby: Avoid long build directory names....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". David Thompson
2015-09-06ui: Change 'P_' to return the empty string when passed the empty string....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. Ludovic Courtès
2015-09-06licenses: Add CC-BY-SA and CC-BY....* guix/licenses.scm (cc-by-sa4.0, cc-by3.0): New variables. Ludovic Courtès
2015-09-06lint: Add 'license' checker....* guix/scripts/lint.scm (check-license): New procedure. (%checkers): Add 'license' checker. * tests/lint.scm ("license: invalid license"): New test. Ludovic Courtès
2015-09-06emacs-build-system: Fix a file name of info directory....* guix/build/emacs-build-system.scm (move-doc): Adjust to use "/share/info" instead of its sub-directory. Alex Kost
2015-09-05download: Disable offloading for downloads....* guix/download.scm (url-fetch): Use #:local-build? #t. * guix/git-download.scm (git-fetch): Likewise. Ludovic Courtès
2015-09-05build: syscalls: Properly handle clone errors....* guix/build/syscalls.scm (clone): Catch -1 return value and throw error. David Thompson
2015-09-04monads: Fix 'liftN' fallback case....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. Ludovic Courtès
2015-09-04publish: Gracefully handle the lack of a deriver....* 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. Ludovic Courtès
2015-09-02graph: Add '--expression'....* 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. Ludovic Courtès
2015-09-02guix: Add GUST font license 1.0....* guix/licenses.scm (gfl1.0): New variable. Ricardo Wurmus
2015-09-01import: gem: Fix minor bug and add unit test....* 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. David Thompson
2015-08-31build: Add R build system....* 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. Ricardo Wurmus
2015-08-31import: Add 'cran' importer....* 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'. Ricardo Wurmus
2015-08-30ui: Add 'run-guix'....* guix/ui.scm (guix-main): Move the code to run guix command line to ... (run-guix): ...here. New procedure. Export it. Alex Kost
2015-08-30guix graph: Export node types and <node-type> accessors....* 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. Alex Kost
2015-08-30guix lint: Export checkers and <lint-checker> accessors....* guix/scripts/lint.scm (%checkers, lint-checker, lint-checker?, lint-checker-name, lint-checker-description, lint-checker-check): Export. Alex Kost
2015-08-29download: Keep a single copy of the mirror file....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. Ludovic Courtès
2015-08-29refresh: Add missing newline in warning message....Reported by karhunkynsi on #guix. * guix/scripts/refresh.scm (update-package): Add missing newline in string literal passed to 'warning'. Ludovic Courtès
2015-08-29download: Keep only 2 store items for all the downloads....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'. Ludovic Courtès
2015-08-29gexp: Add #:script-name parameter to 'gexp->derivation'....* guix/gexp.scm (gexp->derivation): Add #:script-name parameter. * doc/guix.texi (G-Expressions): Document it. Ludovic Courtès
2015-08-29monads: Inline the procedure returned by liftN....* guix/monads.scm (define-lift): Turn into a macro that open-codes the result of its lift. Ludovic Courtès
2015-08-27import: Add Ruby gem importer....* 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. David Thompson
2015-08-27import: pypi: Move generally useful procedures to utils module....* 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. David Thompson
2015-08-27Add 'guix graph'....* 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. Ludovic Courtès
2015-08-27gexp: Add 'lower-object'....* 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. Ludovic Courtès
2015-08-24guix package: -s shows outputs....* guix/ui.scm (package->recutils): Print "outputs:". Mark H Weaver
2015-08-20profiles: Remove duplicate entries in 'etc/profile'....Reported by Andy Wingo at <http://lists.gnu.org/archive/html/guix-devel/2015-08/msg00109.html>. * guix/profiles.scm (profile-derivation)[builder]: Delete duplicates in SEARCH-PATHS. Ludovic Courtès