summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* syscalls: Adjust 'clone' to Guile 2.2.Ludovic Courtès2017-03-15
| | | | | | | | | | | | | | | | | | | 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'.
* zlib: Don't rely on EBADF being ignored by 'fport_close'.Ludovic Courtès2017-03-15
| | | | | | | | | | | | | 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.
* pack: Add unit test.Ludovic Courtès2017-03-14
| | | | | | | * 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.
* pack: Use maximum compression; use '-n' for gzip.Ludovic Courtès2017-03-14
| | | | | | | | * 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.
* pack: Add '--symlink'.Ludovic Courtès2017-03-14
| | | | | | | | | | | | | | * 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.
* pack: Add '--localstatedir' option.Ludovic Courtès2017-03-14
| | | | | | | | | | | | * 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.
* upstream: Avoid '_' as a pattern variable in 'match'.Ludovic Courtès2017-03-14
| | | | | * guix/upstream.scm (lookup-updater): Don't use '_' as a pattern variable.
* download: Export '%x509-certificate-directory'.Ludovic Courtès2017-03-13
| | | | | | * guix/build/download.scm (%x509-certificate-directory): Export, as expected by (guix scripts pull) since commit 7e81d699de7a2c924a048175516fe1ac3820d8e6.
* pull: Default to HTTPS.Marius Bakke2017-03-12
| | | | | * guix/scripts/pull.scm (%snapshot-url): Use HTTPS. (guix-pull): Authenticate against LE-CERTS when URL is from Savannah.
* syscalls: Adjust 'define-bits' to macro literal semantics of 2.2.Ludovic Courtès2017-03-12
| | | | | | * 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.
* Add 'guix pack'.Ludovic Courtès2017-03-12
| | | | | | | | | | | | * 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.
* gexp: Expose functions to allow creating derivation builders.Roel Janssen2017-03-09
| | | | | * guix/gexp.scm: Add load-path-expression and gexp-modules to the public interface of the module. See <http://bugs.gnu.org/26023>.
* utils: Use an idiom compatible with both 2.0 and 2.2.Ludovic Courtès2017-03-09
| | | | | | | | 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.
* utils: Make sure to use the right 'bytevector->string'.Ludovic Courtès2017-03-08
| | | | | | | 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).
* ui: Don't use '%default-port-encoding' to set the encoding of string ports.Ludovic Courtès2017-03-08
| | | | | | | | * 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.
* ui: Avoid '_' as a pattern variable in 'match'.Ludovic Courtès2017-03-08
| | | | | | * 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.
* download: Update the Savannah mirror list.Ludovic Courtès2017-03-08
| | | | | * guix/download.scm (%mirrors) <savannah>: Remove centervenus.com, which seems to be broken. Add download-mirror.sv.gnu.org as a last resort.
* guix archive: Allow compilation with Guile 2.2.Ludovic Courtès2017-03-08
| | | | | * guix/scripts/archive.scm (export-from-store): Avoid shadowing the top-level '_'.
* gnu: bash: Use the bootstrap Guile in 'url-fetch/reset-patch-level'.Ludovic Courtès2017-03-07
| | | | | | | | | | | 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.
* Merge branch 'python-tests'Marius Bakke2017-03-03
|\
| * Merge branch 'master' into python-testsMarius Bakke2017-02-27
| |\
| * \ Merge branch 'master' into python-testsMarius Bakke2017-02-13
| |\ \
| * \ \ Merge branch 'master' into python-testsLeo Famulari2017-01-13
| |\ \ \
| * | | | build-system/python: Make sure 'check' returns failures.Marius Bakke2016-12-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/python-build-system.scm (check): Wrap 'call-setuppy' in 'if' so that it actually fails when the tests fail. Print informational message when skipped.
* | | | | build-system/cargo: Export %cargo-build-system-modules.Danny Milosavljevic2017-03-03
| |_|_|/ |/| | | | | | | | | | | * guix/build-system/cargo.scm (%cargo-build-system-modules): Export.
* | | | download: Provide a fall-back guile for older daemons.Leo Famulari2017-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | build: dub-build-system: Don't use "dub run" at all.Danny Milosavljevic2017-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | import: stackage: Avoid using (guix ui) in importer code.Federico Beffa2017-02-14
| |_|/ |/| | | | | | | | | | | | | | * 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.
* | | gnu: Add dub-build-system.Danny Milosavljevic2017-02-10
| | | | | | | | | | | | | | | | | | | | | * 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.
* | | git-download: Add 'git-predicate'.Mathieu Lirzin2017-02-09
| | | | | | | | | | | | | | | | | | * guix/git-download.scm (git-predicate): New procedure. * gnu/packages/package-management.scm (current-guix): Use it. (make-git-predicate): Remove.
* | | import: hackage: Handle unknown packages gracefully.Federico Beffa2017-02-09
| | | | | | | | | | | | * guix/import/hackage.scm (hackage-fetch): Add 'guard'.
* | | import: Add stackage importer and updater.Federico Beffa2017-02-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | import: json: Explicitly ask for JSON data.Federico Beffa2017-02-09
| | | | | | | | | | | | * guix/import/json.scm (json-fetch): Add #:headers to http-fetch call.
* | | import: pypi: Correctly handle multiple-URL origins.Ludovic Courtès2017-02-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | profiles: gtk-im-modules: Fix for gtk3.Ying Huang2017-02-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | file-systems: Add '%network-configuration-files' and '%network-file-mappings'.Ludovic Courtès2017-02-07
| | | | | | | | | | | | | | | | | | | | | | | | * 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'.
* | | file-systems: Add 'file-system-mapping->bind-mount'.Ludovic Courtès2017-02-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | build: r-build-system: Use deterministic built date.Ricardo Wurmus2017-02-02
| | | | | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/25598>. * guix/build/r-build-system.scm (install): Pass "--built-timestamp" option to make build deterministic.
* | | download: Add GNOME mirror.Ludovic Courtès2017-02-01
| | | | | | | | | | | | * guix/download.scm (%mirrors): Add "https://download.gnome.org".
* | | download: Add ‘url-fetch/zipbomb’.Tobias Geerinckx-Rice2017-02-01
| | | | | | | | | | | | | | | | | | | | | 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.
* | | download: url-fetch/tarball: Make ‘name’ truly optional.Tobias Geerinckx-Rice2017-02-01
| | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | lint: Use the "@" syntax for versioned packages in warnings.Ludovic Courtès2017-01-31
| | | | | | | | | | | | * guix/scripts/lint.scm (emit-warning): Use the "@" syntax.
* | | environment: Fix setting writable? on networking related filesChristopher Baines2017-01-30
| | | | | | | | | | | | | | | | | | | | | | | | * 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>
* | | store: Add 'add-data-to-store'.Ludovic Courtès2017-01-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | build-system/python: 'package-with-explicit-python' uses 'eq?' memoization.Ludovic Courtès2017-01-28
| | | | | | | | | | | | | | | | | | * 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.
* | | gnu-maintenance: 'gnu-package?' uses 'eq?' memoization.Ludovic Courtès2017-01-28
| | | | | | | | | | | | | | | * guix/gnu-maintenance.scm (gnu-package?): Use 'mlambdaq' instead of 'mlambda'.
* | | packages: Remove 'define-memoized/v' and use 'mlambdaq' instead.Ludovic Courtès2017-01-28
| | | | | | | | | | | | | | | | | | | | | * guix/packages.scm (define-memoized/v): Remove. (package-transitive-supported-systems): Use 'mlambdaq' instead of 'define-memoized/v'. (package-input-rewriting)[replace]: Likewise.
* | | Use 'mlambda' instead of 'memoize'.Ludovic Courtès2017-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | Add (guix memoization).Ludovic Courtès2017-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | packages: Add 'package-upstream-name' and use it.Ludovic Courtès2017-01-28
| | | | | | | | | | | | | | | | | | | | | * 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.