Age | Commit message (Expand) | Author |
2018-08-27 | pull: Use (git) and (guix git) unconditionally....The autoload hack was added a year ago, before 0.14.0, i.e., before any
release would depend on Guile-Git. Both 0.14.0 and 0.15.0 required
Guile-Git, and 'guix pull' now automatically pulls it in, so this hack
is no longer necessary.
* guix/scripts/pull.scm: Use (git) and (guix git). Remove top-level
call to 'module-autoload!'.
(ensure-guile-git!): Remove.
(guix-pull): Remove call to 'ensure-guile-git!'.
| Ludovic Courtès |
2018-08-27 | self: Shrink the module search path of the 'guix' command....Previously we'd have lots of useless entries on the search paths, such
as libtasn1, libidn2, zlib, gmp, etc. because they are propagated by
gnutls.
* guix/self.scm (guix-command)[source-directories, object-directories]:
New variables. Use them in the body of "guix-command". Filter their
items with 'file-exists?'.
| Ludovic Courtès |
2018-08-26 | cve: Update feed URL....* guix/cve.scm (yearly-feed-uri): Remove "static." from the URL since
the web site now redirects to the URL without "static.".
| Ludovic Courtès |
2018-08-24 | grafts: Add (guix build debug-link) and use it....Fixes <https://bugs.gnu.org/19973>.
Reported by Mark H Weaver <mhw@netris.org>.
* guix/build/debug-link.scm: New file.
* guix/build/graft.scm (%graft-hooks): New variable.
(graft): Add #:hooks and honor it.
* guix/grafts.scm (graft-derivation/shallow): Add (guix build
debug-link) and (guix elf) to #:modules.
* tests/debug-link.scm: New file.
* Makefile.am (MODULES): Add guix/build/debug-link.scm.
(SCM_TESTS): Add tests/debug-link.scm.
| Ludovic Courtès |
2018-08-24 | grafts: Add high-level 'graft' procedure on the build side....* guix/build/graft.scm (graft): New procedure.
* guix/grafts.scm (graft-derivation/shallow)[build]: Use it instead of
inline code.
| Ludovic Courtès |
2018-08-21 | inferior: Adjust for Guile 2.0....Partly fixes <https://bugs.gnu.org/32326>.
Reported by Michael Bowcutt <mbowcutt@riseup.net>.
* guix/inferior.scm (open-inferior): Wrap 'setvbuf' call in 'cond-expand'.
| Ludovic Courtès |
2018-08-21 | build-system/asdf: Fix typo in "dependency"....* guix/build-system/asdf.scm (default-lisp): Fix typo in "dependency".
| Pierre Neidhardt |
2018-08-20 | import: github: Filter out tags that don't look like version numbers....* guix/import/github.scm (latest-released-version): Filter out RELEASE
if it doesn't start with digit.
| Ludovic Courtès |
2018-08-20 | import: github: Get /tags when /releases returns the empty list....This allows "guix refresh" to work for many packages where it would
previously fail with "no updater for PACKAGE".
* guix/import/github.scm (fetch-releases-or-tags): New procedure.
(latest-released-version): Use it instead of calling 'json-fetch'.
Adjust 'hash-ref' call.
| Ludovic Courtès |
2018-08-20 | import: github: Request API v3 in the 'Accept' header....* guix/import/json.scm (json-fetch): Add #:headers argument and honor it.
* guix/import/github.scm (latest-released-version): Pass #:headers to
'json-fetch'.
| Ludovic Courtès |
2018-08-16 | Merge branch 'master' into staging | Marius Bakke |
2018-08-11 | import: hackage: Support recursive importing....* guix/import/hackage.scm (hackage-recursive-import): New procedure.
(hackage-module->sexp): Return dependencies alongside dependencies.
(hackage->guix-package): Memoize results.
* guix/scripts/import/hackage.scm (show-help, %options, guix-import-hackage):
Support recursive importing.
* doc/guix.texi (Invoking guix import): Document option.
| Ricardo Wurmus |
2018-08-11 | Migrate search.cpan.org home pages to metacpan.org....The venerable search.cpan.org has retired[0].
[0]: https://log.perl.org/2018/05/goodbye-search-dot-cpan-dot-org.html
* guix/import/cpan.scm (cpan-home): Generate metacpan.org home page URIs.
Update all previously generated ones in (gnu packages) to their
canonical new homes.
| Tobias Geerinckx-Rice |
2018-08-10 | Merge branch 'master' into staging | Marius Bakke |
2018-08-07 | import: cabal, hackage: Avoid error when custom setup section is missing....Fixes <https://debbugs.gnu.org/32387>.
* guix/import/cabal.scm (eval-cabal): Avoid mis-match when the custom-setup
section cannot be created.
* guix/import/hackage.scm (cabal-custom-setup-dependencies->names): Do not
crash when cabal-package-custom-setup returns #F.
| Ricardo Wurmus |
2018-07-30 | Merge branch 'master' into staging | Marius Bakke |
2018-07-29 | ssh: Display the size of the store items being sent....* guix/ssh.scm (send-files): Compute the size of MISSING and display
it.
| Ludovic Courtès |
2018-07-28 | Merge branch 'master' into staging | Marius Bakke |
2018-07-28 | build-system/meson: Remove RUNPATH workarounds....* guix/build-system/meson.scm (default-patchelf): Remove.
(lower)[build-inputs]: Remove PATCHELF.
(meson-build): Don't delete 'fix-runpath' phase on armhf.
* guix/build/meson-build-system.scm (configure): Add "--c_link_args" and
"-cpp_link_args" instead of setting LDFLAGS.
(meson-build): Don't apply 'fix-runpath' phase.
| Marius Bakke |
2018-07-27 | import: hackage: Emit native-inputs in the importer....* guix/import/cabal.scm (cabal-custom-setup-dependencies): Export.
(cabal-package-custom-setup): Export.
(<cabal-package>): New field "custom-setup".
(make-cabal-package): Modify.
(eval-cabal): Modify.
* guix/import/hackage.scm (cabal-dependencies->names): Factor out...
(cabal-test-dependencies->names): ...this.
(cabal-custom-setup-dependencies->names): New procedure.
(hackage-module->sexp): Modify.
| Danny Milosavljevic |
2018-07-24 | ruby-build-system: Make phase "replace-git-ls-files" handle more cases....* guix/build/ruby-build-system.scm (replace-git-ls-files): Modify.
| Danny Milosavljevic |
2018-07-24 | import: PyPI: Update redirected URL....* guix/import/pypi.scm (guix-package->pypi-name, pypi->guix-package): Update
docstrings.
(pypi-package?): Test for pypi.org, too.
(pypi-fetch): s/pypi.python.org/pypi.org/
* tests/pypi.scm ("guix-package->pypi-name, new URL style",
"pypi->guix-package", "pypi->guix-package, wheels"): Likewise.
| Marius Bakke |
2018-07-23 | build-system: Add 'guile-build-system'....* guix/build-system/guile.scm, guix/build/guile-build-system.scm: New
files.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Document 'guile-build-system'.
| Ludovic Courtès |
2018-07-22 | Revert "guix: Compress and decompress xz archives in parallel."...Threaded compression makes archives non-deterministic: the result depends on
the number of threads used for compressing. See <https://bugs.gnu.org/31015>.
This reverts commit 63102406f22412bb922de5549deb89d3594a38c0.
| Marius Bakke |
2018-07-20 | database: Reset timestamps to one second after the Epoch....Previously, store items registered in the database by this code (for
instance, store items retrieved by 'guix offload' and passed to
'restore-file-set') would have an mtime of 0 instead of 1.
This would cause problems for things like .go files: Guile would
consider them to be older than the corresponding .scm file, and
consequently it would ignore them and possibly use another (incorrect)
.go file.
Reported by Ricardo Wurmus.
* guix/store/database.scm (reset-timestamps): Pass 1, not 0, to
'utime'.
* tests/store-database.scm ("register-path"): Check the mtime of FILE
and REF.
| Ludovic Courtès |
2018-07-20 | deduplication: Work around Guile bug in 'seek'....Fixes <https://bugs.gnu.org/32161>.
Reported by Ricardo Wurmus <rekado@elephly.net>.
This mostly reverts 83099892e0cf0d9c59f5e1a0774331026e48baa8.
* guix/store/deduplication.scm (counting-wrapper-port): New procedure.
(nar-sha256): Use it.
| Ludovic Courtès |
2018-07-19 | build-system/go: Use invoke instead of system*....* guix/build/go-build-system.scm (unpack, build): Use invoke.
(install-source): Unconditionally return #t.
(check): Use invoke and unconditionally return #t.
| Leo Famulari |
2018-07-19 | guix: ant-build-system: Reorder before generating INDEX.LIST....* guix/build/ant-build-system.scm (%standard-phases): Add
reorder-jar-content phase.
| Julien Lepiller |
2018-07-19 | deduplication: Remove 'counting-wrapper-port'....* guix/store/deduplication.scm (counting-wrapper-port): Remove.
(nar-sha256): Call 'port-position' directly on PORT.
| Ludovic Courtès |
2018-07-19 | hash: sha256 port now implements 'port-position'....* guix/hash.scm (open-sha256-port)[position]: New variable.
[get-position]: New procedure.
Pass it to 'make-custom-binary-output-port'.
* tests/hash.scm ("open-sha256-port, hello"): Test 'port-position'.
| Ludovic Courtès |
2018-07-19 | self: Use the new 'imported-files'....That way, the source of most nodes is now a content-addressed store item
instead of a derivation.
* guix/self.scm (<file-mapping>): New record type.
(file-mapping-compiler): New procedure.
(scheme-node): Use 'file-mapping' instead of 'imported-files'.
(imported-files): Remove.
| Ludovic Courtès |
2018-07-19 | gexp: 'imported-files/derivation' can copy files instead of symlinking....* guix/gexp.scm (imported-files/derivation): Add #:symlink? and honor
it.
(imported-files): Pass #:symlink? to 'imported-files/derivation'.
* tests/gexp.scm ("imported-files with file-like objects"): Add 'file=?'
and use it instead of calling 'readlink'.
| Ludovic Courtès |
2018-07-19 | gexp: 'imported-files' no longer creates a derivation by default....* guix/gexp.scm (gexp->derivation): Add #:import-creates-derivation?.
Pass #:derivation? to 'imported-modules' and 'compiled-modules'. In -L
argument, check whether MODULES is a derivation.
(%not-slash): New variable.
(file-mapping->tree): New procedure.
(imported-files): Rename to...
(imported-files/derivation): ... this.
(imported-files): New procedure. Rewrite in terms of
'interned-file-tree' when possible; add #:derivation? parameter.
(imported-modules, compiled-modules): Add #:derivation? parameter and
pass it to 'imported-files'.
* guix/packages.scm (patch-and-repack): Pass
#:import-creates-derivation? to 'gexp->derivation'.
* tests/gexp.scm ("imported-files"): Adjust to no longer expect a
derivation.
| Ludovic Courtès |
2018-07-19 | gexp: Remove unnecessary 'mlet'....* guix/gexp.scm (imported-modules): Use 'let' instead of 'mlet'.
| Ludovic Courtès |
2018-07-19 | store: Add 'add-file-tree-to-store'....* guix/store.scm (%not-slash): New variable.
(add-file-tree-to-store, interned-file-tree): New procedures.
* tests/store.scm ("add-file-tree-to-store"): New test.
| Ludovic Courtès |
2018-07-19 | serialization: Add 'write-file-tree'....* guix/serialization.scm (write-contents-from-port): New procedure.
(write-contents): Write in terms of 'write-contents-from-port'.
(filter/sort-directory-entries, write-file-tree): New procedures.
(write-file): Rewrite in terms of 'write-file-tree'.
* tests/nar.scm ("write-file-tree + restore-file"): New test.
| Ludovic Courtès |
2018-07-15 | ruby-build-system: Error or return #t from all phases....Previously, if the tests didn't pass, the check phase would evaluate to #f,
but the package would be built sucessfully. This changes all the phases to
raise exceptions if errors are encountered, and return #t otherwise.
This involves using invoke rather than system*, so that exceptions are raised
if the program exits with a status other than 0, and also returning #t at the
end of functions.
* gnu/build/ruby-build-system.scm (unpack): Use invoke rather than system*,
and return #t at the end.
(build, check): Use invoke rather than system*.
(install): Remove the use of "and", and rewrite the error handling to raise an
exception.
(wrap): Return #t.
| Christopher Baines |
2018-07-13 | utils: Really clean up temporary directories....Fixes <https://bugs.gnu.org/32126>.
* guix/utils.scm (call-with-temporary-directory): Use DELETE-FILE-RECURSIVELY
instead of RMDIR.
| Leo Famulari |
2018-07-13 | pull: Display new/upgraded packages upon completion....* guix/scripts/pull.scm (display-profile-news): New procedure.
(build-and-install): Call it.
(display-new/upgraded-packages): Add #:heading and honor it.
| Ludovic Courtès |
2018-07-13 | pull: Use (guix inferior) to display new and upgraded packages....* guix/scripts/pull.scm (display-profile-content): Call
'display-generation'.
(display-new/upgraded-packages, display-profile-content-diff): New
procedures.
(process-query)[list-generation]: Remove.
[list-generations]: New procedure.
Adjust accordingly.
* doc/guix.texi (Invoking guix pull): Update example of '-l'.
| Ludovic Courtès |
2018-07-13 | Add (guix inferior) and (guix scripts repl)....* guix/inferior.scm, guix/scripts/repl.scm, tests/inferior.scm: New
files.
* Makefile.am (MODULES): Add 'guix/scripts/repl.scm' and
'guix/inferior.scm'.
(SCM_TESTS): Add 'tests/inferior.scm'.
* doc/guix.texi (Invoking guix repl): New node.
| Ludovic Courtès |
2018-07-13 | guix package: Use relative symlinks to generations....Reported by Roel Janssen <roel@gnu.org>
at <https://lists.gnu.org/archive/html/guix-devel/2018-07/msg00036.html>.
* guix/profiles.scm (switch-to-generation): Use (basename generation) as
the symlink target.
* guix/scripts/package.scm (build-and-use-profile): Likewise,
use (basename name) as the symlink target.
* tests/guix-package.sh: Adjust --roll-back test accordingly. Add
explicitly test with '-p foo/prof'.
| Ludovic Courtès |
2018-07-13 | git: Call 'url-cache-directory' outside 'update-cached-checkout'....* guix/git.scm (update-cached-checkout): Call 'url-cache-directory' in
'cache-directory' key argument.
(latest-repository-commit): Call 'url-cache-directory'.
| Oleg Pykhalov |
2018-07-13 | import: hackage: Fix typo....* guix/import/cabal.scm (cabal-custom-setuo-name): Rename to...
(cabal-custom-setup-name): ...this.
| Danny Milosavljevic |
2018-07-13 | Merge branch 'staging' | Marius Bakke |
2018-07-12 | import: hackage: Evaluate "-any" and "-none" version comparison operators....* guix/import/cabal.scm (eval-cabal): Modify.
* tests/hackage.scm (test-cabal-4): New variable and test.
(test-cabal-5): New variable and test.
(test-cabal-6): New variable and test.
| Danny Milosavljevic |
2018-07-12 | import: hackage: Support "-any" and "-none" version comparison operators....* guix/import/cabal.scm (make-cabal-parser): Modify.
(is-any): New variable.
(is-none): New variable.
(lex-any): New procedure.
(lex-none): New procedure.
(lex-word): Modify.
(eval-cabal): Modify.
| Danny Milosavljevic |
2018-07-12 | import: hackage: Support "custom-setup" field....Fixes <https://bugs.gnu.org/23961>.
* guix/import/cabal.scm (make-cabal-parser): Modify.
(is-custom-setup): New variable.
(lex-custom-setup): New procedure.
(is-id): Modify.
(lex-version): Modify.
(<cabal-custom-setup>): New record type.
(eval-cabal): Modify.
(dependencies): Add parameter.
| Danny Milosavljevic |
2018-07-12 | gexp: Allow bytevector as content of `plain-file'....This allows for using a package source directly from git, doing something like
(define (command->bytevector command)
(let ((port (apply open-pipe* OPEN_READ command)))
(let ((output (get-bytevector-all port)))
(close-port port)
output)))
(define-public hello-git
(package
(name "hello")
(version "git")
(source (let* ((commit "stable-2.0")
(content (command->bytevector
`("git" "archive" "--format" "tar" "--prefix"
,(string-append commit "/") ,commit)))
(file-name (string-append "hello-" commit)))
(plain-file file-name content)))
...
))
* guix/gexp.scm (<plain-file>): Also allow bytevector content.
(plain-file-compiler): Handle bytevector content.
* doc/guix.texi (G-Expressions): Describe plain-file now also taking
bytevectors.
| Jan Nieuwenhuizen |
2018-07-12 | store: Add `binary-file'....* guix/store.scm (binary-file): New function.
* doc/guix.texi (The Store Monad): Describe binary-file.
| Jan Nieuwenhuizen |