Age | Commit message (Expand) | Author |
2019-06-20 | import: hackage: Add two expected failing test cases....This adds failing test cases for two hackage import bugs:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25138
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=35743
* tests/hackage.scm: Make comment style consistent. Add two
cabal parsing tests, marked as expected failures.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Robert Vollmert |
2019-06-13 | import: hackage: Handle Hackage revisions....Hackage packages can have metadata revisions (Cabal file only) that are
not reflected in the source archive. The Haskell build system has
support for this, but until now the Hackage importer would create a
package based on the revised Cabal file which would then build using the
old Cabal file.
Fixes <https://bugs.gnu.org/35750>.
* guix/import/cabal.scm (<cabal-package>): Add 'revision' field.
(eval-cabal): Parse 'x-revision:' property.
* guix/import/hackage.scm (read-cabal-and-hash): New procedure.
(hackage-fetch-and-hash): New procedure.
(hackage-fetch): Rewrite using 'hackage-fetch-and-hash'.
(hackage-module->sexp): Add 'cabal-hash' argument and use it to populate
the '#:cabal-revision' argument.
(hackage->guix-package): Use the new '-and-hash' functions to get the
hash of the Cabal file and pass it to 'hackage-module->sexp'.
* guix/tests/hackage.scm: Test import of Cabal file revision.
Signed-off-by: Timothy Sample <samplet@ngyro.com>
| Robert Vollmert |
2019-06-02 | import: hackage: Parse braced properties....This adds partial support for Cabal properties that use curly
braces instead of the layout rule. See for example
https://hackage.haskell.org/package/cassava/
* guix/import/cabal.scm (read-braced-value): New procedure.
(is-property): Remove.
(is-layout-property, is-braced-property): New variables.
(lex-property): Rename to...
(lex-layout-property): ... this.
(lex-braced-property, lex-property): New procedures.
(lex-token): Add call to 'lex-property'.
* guix/tests/hackage.scm: Test braced description import.
* tests/hackage.scm (test-cabal-multiline-desc): Rename to...
(test-cabal-multiline-layout): ... this.
("hackage->guix-package test multiline desc"): Rename to...
("hackage->guix-package test multiline desc (layout)"): ... this.
(test-cabal-multiline-braced): New variable.
("hackage->guix-package test multiline desc (braced)"): New test.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Robert Vollmert |
2019-06-02 | tests: hackage: Test multiline cabal description....* tests/hackage.scm (test-cabal-multiline-desc): New variable.
("hackage->guix-package test multiline desc"): New test.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Robert Vollmert |
2019-06-02 | tests: Fix hackage tests....This is a followup to 1cc12357a65e4479c2f4735e915941382ef82d94.
* tests/hackage.scm: ghc-mtl is no longer added as an input.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Robert Vollmert |
2019-06-01 | tests: Indent hackage tests...* tests/hackage.scm: Reindent using etc/indent-code.el.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Robert Vollmert |
2019-06-01 | tests: hackage: Don't mock hackage-fetch....* tests/hackage.scm: Pass a string input port to tests instead of
mocking hackage download.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Robert Vollmert |
2019-06-01 | tests: hackage: Factor out package pattern....* tests/hackage.scm: Import result pattern matching via helper.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Robert Vollmert |
2019-05-26 | import: hackage: Fix Cabal test....* guix/import/hackage.scm (hackage->guix-package): Remove call to 'memoize'.
(hackage->guix-package/m): New procedure.
(hackage-recursive-import): Use it.
* tests/hackage.scm ("hackage->guix-package test 6"): Adjust.
Co-authored-by: Robert Vollmert <rob@vllmrt.net>
| Ludovic Courtès |