summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2017-03-09gexp: Expose functions to allow creating derivation builders.Roel Janssen
* guix/gexp.scm: Add load-path-expression and gexp-modules to the public interface of the module. See <http://bugs.gnu.org/26023>.
2017-03-09utils: Use an idiom compatible with both 2.0 and 2.2.Ludovic Courtès
Fixes a regression introduced in 7447aa36e16fb77f75df4d3369db9c942615632e. Reported by Ricardo Wurmus. * guix/utils.scm: Revert 7447aa36e16fb77f75df4d3369db9c942615632e. Use #:prefix for (ice-9 iconv) to support both 2.0 and 2.2.
2017-03-08utils: Make sure to use the right 'bytevector->string'.Ludovic Courtès
In Guile 2.2, (rnrs io ports) exports 'bytevector->string', which conflicts with that of (ice-9 iconv). * guix/utils.scm: Hide 'bytevector->string' from (rnrs io ports).
2017-03-08ui: Don't use '%default-port-encoding' to set the encoding of string ports.Ludovic Courtès
* guix/ui.scm (right-arrow): Call 'set-port-encoding!' to set PORT's encoding; remove use of 'with-fluids'. This is for compatibility with Guile 2.2 where the encoding of string ports is not influenced by %DEFAULT-PORT-ENCODING. * tests/ui.scm ("show-manifest-transaction"): Likewise.
2017-03-08ui: Avoid '_' as a pattern variable in 'match'.Ludovic Courtès
* guix/ui.scm (fill-paragraph): Don't use '_' as a pattern variable since that is shadowed by the top-level '_' binding on Guile 2.2. (show-manifest-transaction): Likewise.
2017-03-08download: Update the Savannah mirror list.Ludovic Courtès
* guix/download.scm (%mirrors) <savannah>: Remove centervenus.com, which seems to be broken. Add download-mirror.sv.gnu.org as a last resort.
2017-03-08guix archive: Allow compilation with Guile 2.2.Ludovic Courtès
* guix/scripts/archive.scm (export-from-store): Avoid shadowing the top-level '_'.
2017-03-07gnu: bash: Use the bootstrap Guile in 'url-fetch/reset-patch-level'.Ludovic Courtès
Fixes <http://bugs.gnu.org/25775>. Reported by Sirgazil, Ricardo Wurmus, Andy Wingo, and others. * guix/download.scm (in-band-download): Always use GUILE. This reverts 9f05908fb1e3707cae593d94688748294717a546. * gnu/packages/bash.scm (url-fetch/reset-patch-level): Remove #:guile. Pass %BOOTSTRAP-GUILE as #:guile to 'url-fetch'. Remove #:guile-for-build argument in 'gexp->derivation' call.
2017-03-03Merge branch 'python-tests'Marius Bakke
2017-03-03build-system/cargo: Export %cargo-build-system-modules.Danny Milosavljevic
* guix/build-system/cargo.scm (%cargo-build-system-modules): Export.
2017-02-27Merge branch 'master' into python-testsMarius Bakke
2017-02-23download: Provide a fall-back guile for older daemons.Leo Famulari
Fixes <http://bugs.gnu.org/25775>. * guix/download.scm (in-band-download): Use %bootstrap-guile as a fall-back when using older daemons that do not have a built-in downloader. Written-by: Ricardo Wurmus <rekado@elephly.net>
2017-02-14build: dub-build-system: Don't use "dub run" at all.Danny Milosavljevic
It doesn't make sense to run non-test executables (which is what "dub run" would do). The "check" function already invokes "dub test" and that's enough. * guix/build/dub-build-system.scm (build): Remove "dub run" invocation.
2017-02-14import: stackage: Avoid using (guix ui) in importer code.Federico Beffa
* guix/import/stackage.scm (stackage->guix-package, stackage-lts-info-fetch): Raise 'message' condition instead of using 'leave' from (guix ui). * guix/scripts/import/stackage.scm (guix-import-stackage): Handle conditions.
2017-02-13Merge branch 'master' into python-testsMarius Bakke
2017-02-10gnu: Add dub-build-system.Danny Milosavljevic
* guix/build-system/dub.scm: New file. * guix/build/dub-build-system.scm: New file. * Makefile.am (MODULES): Add them. * doc/guix.texi: Add section for dub-build-system.
2017-02-09git-download: Add 'git-predicate'.Mathieu Lirzin
* guix/git-download.scm (git-predicate): New procedure. * gnu/packages/package-management.scm (current-guix): Use it. (make-git-predicate): Remove.
2017-02-09import: hackage: Handle unknown packages gracefully.Federico Beffa
* guix/import/hackage.scm (hackage-fetch): Add 'guard'.
2017-02-09import: Add stackage importer and updater.Federico Beffa
* guix/import/stackage.scm: New file. * guix/scripts/import/stackage.scm: New file. * Makefile.am (MODULES): Add new files. * guix/scripts/import.scm (importers): Add "stackage". * guix/scripts/refresh.scm (%updaters): Add %stackage-updater. * doc/guix.texi (Invoking 'guix import'): Document the importer. (Invoking 'guix refresh'): Add stackage to option --type valid values. * guix/import/hackage.scm (guix-package->hackage-name, hackage-fetch, hackage-source-url, hackage-cabal-url, hackage-package?): Export them.
2017-02-09import: json: Explicitly ask for JSON data.Federico Beffa
* guix/import/json.scm (json-fetch): Add #:headers to http-fetch call.
2017-02-08import: pypi: Correctly handle multiple-URL origins.Ludovic Courtès
Fixes <https://bugs.gnu.org/25635>. Reported by Sergei Trofimovich <slyfox@inbox.ru>. * guix/import/pypi.scm (guix-package->pypi-name)[url->pypi-name]: New procedure. Rewrite body to match lists in addition to strings. * tests/pypi.scm ("guix-package->pypi-name, several URLs"): New test.
2017-02-08profiles: gtk-im-modules: Fix for gtk3.Ying Huang
Gtk+3 now have multiple outputs, so the gtk-query-immodules-3.0 should be find in output "bin" instead of "out". * guix/profiles.scm (gtk-im-modules): Pass the path of gtk-query-immodules-x.x as 'query' argument to the 'build' procedure. Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2017-02-07file-systems: Add '%network-configuration-files' and '%network-file-mappings'.Ludovic Courtès
* gnu/system/file-systems.scm (%network-configuration-files) (%network-file-mappings): New variables. * guix/scripts/environment.scm (%network-configuration-files): Remove. (launch-environment/container): Refer to '%network-file-mappings' instead of calling 'filter-map'.
2017-02-03file-systems: Add 'file-system-mapping->bind-mount'.Ludovic Courtès
* gnu/system/file-systems.scm (file-system-mapping->bind-mount): New procedure. * gnu/system/linux-container.scm (mapping->file-system): Remove. (containerized-operating-system)[mapping->fs]: Use 'file-system-mapping->bind-mount' instead of 'mapping->file-system'. * guix/scripts/environment.scm (launch-environment/container): Likewise.
2017-02-02build: r-build-system: Use deterministic built date.Ricardo Wurmus
Fixes <http://bugs.gnu.org/25598>. * guix/build/r-build-system.scm (install): Pass "--built-timestamp" option to make build deterministic.
2017-02-01download: Add GNOME mirror.Ludovic Courtès
* guix/download.scm (%mirrors): Add "https://download.gnome.org".
2017-02-01download: Add ‘url-fetch/zipbomb’.Tobias Geerinckx-Rice
From this suggestion by Ludovic Courtès: <http://lists.gnu.org/archive/html/guix-devel/2016-09/msg01983.html> * guix/download.scm (url-fetch/zipbomb): New procedure.
2017-02-01download: url-fetch/tarball: Make ‘name’ truly optional.Tobias Geerinckx-Rice
* guix/download.scm (url-fetch/tarbomb): Fall back to ‘file-name’ if ‘name’ is #f, like the regular ‘url-fetch’ does. * gnu/packages/bioinformatics.scm (muscle)[source]: Remove ‘file-name’. * gnu/packages/engineering.scm (fastcap)[source]: Likewise. * gnu/packages/scheme.scm (scmutils)[source]: Likewise.
2017-01-31lint: Use the "@" syntax for versioned packages in warnings.Ludovic Courtès
* guix/scripts/lint.scm (emit-warning): Use the "@" syntax.
2017-01-30environment: Fix setting writable? on networking related filesChristopher Baines
* guix/scripts/environment.scm (launch-environment/container): Include the file name in the call to string=? when deciding if the file should be writable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-30store: Add 'add-data-to-store'.Ludovic Courtès
* guix/serialization.scm (write-bytevector): New procedure. (write-string): Rewrite in terms of 'write-bytevector'. * guix/store.scm (write-arg): Add 'bytevector' case. (add-data-to-store): New procedure, from former 'add-text-to-store'. (add-text-to-store): Rewrite in terms of 'add-data-to-store'. * tests/store.scm ("add-data-to-store"): New test.
2017-01-28build-system/python: 'package-with-explicit-python' uses 'eq?' memoization.Ludovic Courtès
* guix/build-system/python.scm (package-with-explicit-python): Use 'mlambdaq' instead of 'mlambda'. This does not change the <package> graph and has no visible impact on performance.
2017-01-28gnu-maintenance: 'gnu-package?' uses 'eq?' memoization.Ludovic Courtès
* guix/gnu-maintenance.scm (gnu-package?): Use 'mlambdaq' instead of 'mlambda'.
2017-01-28packages: Remove 'define-memoized/v' and use 'mlambdaq' instead.Ludovic Courtès
* guix/packages.scm (define-memoized/v): Remove. (package-transitive-supported-systems): Use 'mlambdaq' instead of 'define-memoized/v'. (package-input-rewriting)[replace]: Likewise.
2017-01-28Use 'mlambda' instead of 'memoize'.Ludovic Courtès
* gnu/packages.scm (find-newest-available-packages): Use 'mlambda' instead of (memoize (lambda ...) ...). * gnu/packages/bootstrap.scm (package-with-bootstrap-guile): Likewise. * guix/build-system/gnu.scm (package-with-explicit-inputs)[rewritten-input]: Likewise. * guix/build-system/python.scm (package-with-explicit-python)[transform]: Likewise. * guix/derivations.scm (derivation->string): Likewise. * guix/gnu-maintenance.scm (gnu-package?): Likewise. * guix/modules.scm (module-file-dependencies): Likewise. * guix/scripts/graph.scm (standard-package-set): Likewise. * guix/scripts/lint.scm (official-gnu-packages*): Likewise. * guix/store.scm (store-regexp*): Likewise. * guix/utils.scm (location): Likewise.
2017-01-28Add (guix memoization).Ludovic Courtès
* guix/combinators.scm (memoize): Remove. * guix/memoization.scm: New file. * Makefile.am (MODULES): Add it. * gnu/packages.scm, gnu/packages/bootstrap.scm, guix/build-system/gnu.scm, guix/build-system/python.scm, guix/derivations.scm, guix/gnu-maintenance.scm, guix/import/cran.scm, guix/import/elpa.scm, guix/modules.scm, guix/scripts/build.scm, guix/scripts/graph.scm, guix/scripts/lint.scm, guix/store.scm, guix/utils.scm: Adjust imports accordingly.
2017-01-28packages: Add 'package-upstream-name' and use it.Ludovic Courtès
* guix/packages.scm (package-upstream-name): New procedure. * guix/gnu-maintenance.scm (gnu-package?, ftp-server/directory) (latest-release*, latest-gnome-release) (latest-kde-release): Use it instead of the inline expression.
2017-01-28import: github: Better tolerate unexpected file extensions.Ludovic Courtès
* guix/import/github.scm (find-extension): Add ".tbz". (updated-github-url): When 'find-extension' returns #f, use "" for EXT.
2017-01-28gnu-maintenance: 'gnu-package?' ignores invalid URLs.Ludovic Courtès
* guix/gnu-maintenance.scm (gnu-package?)[gnu-home-page?]: Add '>>' threading macro and use it.
2017-01-28gnu-maintenance: GNU updater handles gnu.org-hosted Emacs packages.Ludovic Courtès
* guix/gnu-maintenance.scm (pure-gnu-package?): If an "emacs-" package matches 'gnu-hosted?', return true. (gnu-hosted?): New procedure.
2017-01-28gnu-maintenance: Honor 'upstream-name' property in GNU updater.Ludovic Courtès
* guix/gnu-maintenance.scm (gnu-package?): Honor the 'usptream-name' property of PACKAGE. (ftp-server/directory): Likewise.
2017-01-26bournish: Extend 'rm' command.Ricardo Wurmus
* guix/build/bournish.scm (rm-command): New procedure. (%commands): Use it. * tests/bournish.scm: Add tests for "rm" and "rm -r".
2017-01-26import: pypi: Don't add setuptools to propagated-inputs.Carlo Zancanaro
* guix/import/pypi.scm (compute-inputs): Don't add setuptools to the imported package's propagated-inputs.
2017-01-26copy: Use userauth-public-key/auto! for ssh authentification.Mathieu Othacehe
* guix/scripts/copy.scm (open-ssh-session): Replace userauth-agent! by userauth-public-key/auto!. This way, if ssh-agent is not run, default ssh key (~/.ssh/id_rsa) will be used as a fallback. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-25container: Pass through TERM when calling exec.Christopher Baines
* guix/scripts/container/exec.scm (guix-container-exec): Capture the value of the TERM environment variable, and pass it through to the container. This means some applications now work where they did not before (e.g. htop), and others have more functionality, providing that the terminal was capable of enabling that functionality in the first place. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2017-01-25grafts: Do not pull derivation outputs not depended on.Ludovic Courtès
Fixes <http://bugs.gnu.org/24886>. Previously, the grafting derivation of, say, brdf-explorer would pull in qt:doc even though brdf-explorer depends only on qt:out, not qt:doc. * guix/grafts.scm (with-cache): Use 'vhash-assoc' and 'vhash-cons' instead of 'vhash-assq' and 'vhash-consq'. (cumulative-grafts): Pass #:outputs to 'graft-derivation/shallow'. Use OUTPUTS instead of (derivation-output-names drv). (graft-derivation): Add #:outputs parameter; pass it to 'cumulative-grafts'. * tests/grafts.scm (make-derivation-input): New variable. ("graft-derivation, replaced derivation has multiple outputs"): Make sure P2:zzz is not part of the outputs of P3D. ("graft-derivation with #:outputs") ("graft-derivation, unused outputs not depended on"): New tests.
2017-01-24grafts: Shallow grafting can be performed on a subset of the outputs.Ludovic Courtès
* guix/grafts.scm (graft-derivation/shallow): Add #:outputs parameter. [outputs]: Rename to... [output-pairs]: ... this. Adjust 'build-expression->derivation' call accordingly.
2017-01-24syscalls: Export 'read-utmpx'.Ludovic Courtès
* guix/build/syscalls.scm (read-utmpx-from-port): New procedure. * tests/syscalls.scm ("read-utmpx, EOF") ("read-utmpx"): New tests.
2017-01-21lint: Display PACKAGE@VERSION.Ludovic Courtès
* guix/scripts/lint.scm (run-checkers): Remove 'name' variable. Display PACKAGE@VERSION instead of PACKAGE-VERSION.
2017-01-19syscalls: Add utmpx procedures and data structure.Ludovic Courtès
* guix/build/syscalls.scm (<utmpx-entry>): New record type. (%utmpx): New C struct. (login-type): New bits. (setutxent, endutxent, getutxent, utmpx-entries): New procedures.