summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Expand)Author
2017-03-09gexp: Expose functions to allow creating derivation builders....* guix/gexp.scm: Add load-path-expression and gexp-modules to the public interface of the module. See <http://bugs.gnu.org/26023>. Roel Janssen
2017-03-09utils: Use an idiom compatible with both 2.0 and 2.2....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. Ludovic Courtès
2017-03-08utils: Make sure to use the right 'bytevector->string'....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). Ludovic Courtès
2017-03-08ui: Don't use '%default-port-encoding' to set the encoding of string ports....* 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. Ludovic Courtès
2017-03-08ui: Avoid '_' as a pattern variable in 'match'....* 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. Ludovic Courtès
2017-03-08download: Update the Savannah mirror list....* guix/download.scm (%mirrors) <savannah>: Remove centervenus.com, which seems to be broken. Add download-mirror.sv.gnu.org as a last resort. Ludovic Courtès
2017-03-08guix archive: Allow compilation with Guile 2.2....* guix/scripts/archive.scm (export-from-store): Avoid shadowing the top-level '_'. Ludovic Courtès
2017-03-07gnu: bash: Use the bootstrap Guile in 'url-fetch/reset-patch-level'....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. Ludovic Courtès
2017-03-03Merge branch 'python-tests'Marius Bakke
2017-03-03build-system/cargo: Export %cargo-build-system-modules....* guix/build-system/cargo.scm (%cargo-build-system-modules): Export. Danny Milosavljevic
2017-02-27Merge branch 'master' into python-testsMarius Bakke
2017-02-23download: Provide a fall-back guile for older daemons....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> Leo Famulari
2017-02-14build: dub-build-system: Don't use "dub run" at all....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. Danny Milosavljevic
2017-02-14import: stackage: Avoid using (guix ui) in importer code....* 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. Federico Beffa
2017-02-13Merge branch 'master' into python-testsMarius Bakke
2017-02-10gnu: Add dub-build-system....* 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. Danny Milosavljevic
2017-02-09git-download: Add 'git-predicate'....* guix/git-download.scm (git-predicate): New procedure. * gnu/packages/package-management.scm (current-guix): Use it. (make-git-predicate): Remove. Mathieu Lirzin
2017-02-09import: hackage: Handle unknown packages gracefully....* guix/import/hackage.scm (hackage-fetch): Add 'guard'. Federico Beffa
2017-02-09import: Add stackage importer and updater....* 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. Federico Beffa
2017-02-09import: json: Explicitly ask for JSON data....* guix/import/json.scm (json-fetch): Add #:headers to http-fetch call. Federico Beffa
2017-02-08import: pypi: Correctly handle multiple-URL origins....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. Ludovic Courtès
2017-02-08profiles: gtk-im-modules: Fix for gtk3....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> Ying Huang
2017-02-07file-systems: Add '%network-configuration-files' and '%network-file-mappings'....* 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'. Ludovic Courtès
2017-02-03file-systems: Add 'file-system-mapping->bind-mount'....* 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. Ludovic Courtès
2017-02-02build: r-build-system: Use deterministic built date....Fixes <http://bugs.gnu.org/25598>. * guix/build/r-build-system.scm (install): Pass "--built-timestamp" option to make build deterministic. Ricardo Wurmus
2017-02-01download: Add GNOME mirror....* guix/download.scm (%mirrors): Add "https://download.gnome.org". Ludovic Courtès
2017-02-01download: Add ‘url-fetch/zipbomb’....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. Tobias Geerinckx-Rice
2017-02-01download: url-fetch/tarball: Make ‘name’ truly optional....* 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. Tobias Geerinckx-Rice
2017-01-31lint: Use the "@" syntax for versioned packages in warnings....* guix/scripts/lint.scm (emit-warning): Use the "@" syntax. Ludovic Courtès
2017-01-30environment: Fix setting writable? on networking related files...* 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> Christopher Baines
2017-01-30store: Add 'add-data-to-store'....* 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. Ludovic Courtès
2017-01-28build-system/python: 'package-with-explicit-python' uses 'eq?' memoization....* 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. Ludovic Courtès
2017-01-28gnu-maintenance: 'gnu-package?' uses 'eq?' memoization....* guix/gnu-maintenance.scm (gnu-package?): Use 'mlambdaq' instead of 'mlambda'. Ludovic Courtès
2017-01-28packages: Remove 'define-memoized/v' and use 'mlambdaq' instead....* guix/packages.scm (define-memoized/v): Remove. (package-transitive-supported-systems): Use 'mlambdaq' instead of 'define-memoized/v'. (package-input-rewriting)[replace]: Likewise. Ludovic Courtès
2017-01-28Use 'mlambda' instead of 'memoize'....* 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. Ludovic Courtès
2017-01-28Add (guix memoization)....* 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. Ludovic Courtès
2017-01-28packages: Add 'package-upstream-name' and use it....* 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. Ludovic Courtès
2017-01-28import: github: Better tolerate unexpected file extensions....* guix/import/github.scm (find-extension): Add ".tbz". (updated-github-url): When 'find-extension' returns #f, use "" for EXT. Ludovic Courtès
2017-01-28gnu-maintenance: 'gnu-package?' ignores invalid URLs....* guix/gnu-maintenance.scm (gnu-package?)[gnu-home-page?]: Add '>>' threading macro and use it. Ludovic Courtès
2017-01-28gnu-maintenance: GNU updater handles gnu.org-hosted Emacs packages....* guix/gnu-maintenance.scm (pure-gnu-package?): If an "emacs-" package matches 'gnu-hosted?', return true. (gnu-hosted?): New procedure. Ludovic Courtès
2017-01-28gnu-maintenance: Honor 'upstream-name' property in GNU updater....* guix/gnu-maintenance.scm (gnu-package?): Honor the 'usptream-name' property of PACKAGE. (ftp-server/directory): Likewise. Ludovic Courtès
2017-01-26bournish: Extend 'rm' command....* guix/build/bournish.scm (rm-command): New procedure. (%commands): Use it. * tests/bournish.scm: Add tests for "rm" and "rm -r". Ricardo Wurmus
2017-01-26import: pypi: Don't add setuptools to propagated-inputs....* guix/import/pypi.scm (compute-inputs): Don't add setuptools to the imported package's propagated-inputs. Carlo Zancanaro
2017-01-26copy: Use userauth-public-key/auto! for ssh authentification....* 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> Mathieu Othacehe
2017-01-25container: Pass through TERM when calling exec....* 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> Christopher Baines
2017-01-25grafts: Do not pull derivation outputs not depended on....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. Ludovic Courtès
2017-01-24grafts: Shallow grafting can be performed on a subset of the outputs....* guix/grafts.scm (graft-derivation/shallow): Add #:outputs parameter. [outputs]: Rename to... [output-pairs]: ... this. Adjust 'build-expression->derivation' call accordingly. Ludovic Courtès
2017-01-24syscalls: Export 'read-utmpx'....* guix/build/syscalls.scm (read-utmpx-from-port): New procedure. * tests/syscalls.scm ("read-utmpx, EOF") ("read-utmpx"): New tests. Ludovic Courtès
2017-01-21lint: Display PACKAGE@VERSION....* guix/scripts/lint.scm (run-checkers): Remove 'name' variable. Display PACKAGE@VERSION instead of PACKAGE-VERSION. Ludovic Courtès
2017-01-19syscalls: Add utmpx procedures and data structure....* guix/build/syscalls.scm (<utmpx-entry>): New record type. (%utmpx): New C struct. (login-type): New bits. (setutxent, endutxent, getutxent, utmpx-entries): New procedures. Ludovic Courtès