summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Expand)Author
2017-03-16utils: Move base16 procedures to (guix base16)....* guix/utils.scm (bytevector->base16-string, base16-string->bytevector): Move to... * guix/base16.scm: ... here. New file. * tests/utils.scm ("bytevector->base16-string->bytevector"): Move to... * tests/base16.scm: ... here. New file. * Makefile.am (MODULES): Add guix/base16.scm. (SCM_TESTS): Add tests/base16.scm. * build-aux/download.scm, guix/derivations.scm, guix/docker.scm, guix/import/snix.scm, guix/pk-crypto.scm, guix/scripts/authenticate.scm, guix/scripts/download.scm, guix/scripts/hash.scm, guix/store.scm, tests/hash.scm, tests/pk-crypto.scm: Adjust imports accordingly. Ludovic Courtès
2017-03-15syscalls: Adjust 'clone' to Guile 2.2....Before that, something like: (call-with-container (lambda () (match (primitive-fork) …))) would hang in 'primitive-fork' as the child process (the one started in the container) would try to pthread_join the finalization thread in 'stop_finalization_thread' in libguile, not knowing that this thread is nonexistent. * guix/build/syscalls.scm (%set-automatic-finalization-enabled?!): New procedure. (without-automatic-finalization): New macro. (clone): Wrap PROC call in 'without-automatic-finalization'. Ludovic Courtès
2017-03-15zlib: Don't rely on EBADF being ignored by 'fport_close'....In 2.2, 'fport_close' no longer swallows EBADF and instead raises a 'system-error' for this. This commit adjusts for 2.2. * guix/zlib.scm (close-procedure): Remove. (make-gzip-input-port): Use 'port->fdes' instead of 'fileno'. Use 'gzclose' instead of 'close-procedure'. (make-gzip-output-port): Likewise. * tests/zlib.scm ("compression/decompression pipe"): Don't check whether PARENT is closed using 'port-closed?'. Instead, use 'seek' on the underlying FD and check for EBADF. Ludovic Courtès
2017-03-14pack: Add unit test....* guix/scripts/pack.scm (self-contained-tarball): Add #:tar option. [build](tar-supports-sort?): New variable. Use it. * tests/pack.scm: New file. * Makefile.am (SCM_TESTS): Add it. Ludovic Courtès
2017-03-14pack: Use maximum compression; use '-n' for gzip....* guix/scripts/pack.scm (<compressor>)[tar-option]: Remove. [command]: New field. (%compressors): Provide complete commands. Use '-9' or equivalent for each compressor; use '-n' for gzip. (self-contained-tarball)[build]: Adjust accordingly. Ludovic Courtès
2017-03-14pack: Add '--symlink'....* guix/scripts/pack.scm (self-contained-tarball): Add #:symlinks parameter. [build](symlink->directives): New procedure (directives): New variable. Add call to 'evaluate-populate-directive'. Pass the directories among DIRECTIVES to 'tar'. (%default-options): Add 'symlinks'. (%options, show-help): Add '--symlink'. (guix-pack): Honor it. * gnu/build/install.scm (evaluate-populate-directive): Export. * doc/guix.texi (Invoking guix pack): Document it. Ludovic Courtès
2017-03-14pack: Add '--localstatedir' option....* guix/scripts/pack.scm (self-contained-tarball): Add #:localstatedir? parameter and honor it. (%options, show-help): Add '--localstatedir'. (guix-pack): Honor it. * gnu/build/install.scm (populate-single-profile-directory): Add #:register? parameter and honor it. * doc/guix.texi (Binary Installation): Use '--localstatedir' in example. (Invoking guix pack): Document it. Ludovic Courtès
2017-03-14upstream: Avoid '_' as a pattern variable in 'match'....* guix/upstream.scm (lookup-updater): Don't use '_' as a pattern variable. Ludovic Courtès
2017-03-13download: Export '%x509-certificate-directory'....* guix/build/download.scm (%x509-certificate-directory): Export, as expected by (guix scripts pull) since commit 7e81d699de7a2c924a048175516fe1ac3820d8e6. Ludovic Courtès
2017-03-12pull: Default to HTTPS....* guix/scripts/pull.scm (%snapshot-url): Use HTTPS. (guix-pull): Authenticate against LE-CERTS when URL is from Savannah. Marius Bakke
2017-03-12syscalls: Adjust 'define-bits' to macro literal semantics of 2.2....* guix/build/syscalls.scm (define-bits): Do not define NAMES... as top-level variables since that prevents literal matches in 2.2. Instead, determine constant values at expansion time. Ludovic Courtès
2017-03-12Add 'guix pack'....* gnu/system/install.scm (self-contained-tarball): Move to... * guix/scripts/pack.scm: ... here. New file. * doc/guix.texi (Binary Installation): Mention 'guix pack'. (Invoking guix pack): New node. * build-aux/make-binary-tarball.scm: Remove. * Makefile.am (MODULES): Add guix/scripts/pack.scm. (EXTRA_DIST): Remove build-aux/make-binary-tarball.scm. (guix-binary.%.tar.xz): Rewrite using 'guix pack'. * build-aux/hydra/gnu-system.scm (tarball-jobs): Adjust accordingly. Ludovic Courtès
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