summaryrefslogtreecommitdiff
path: root/guix/import/cabal.scm
Commit message (Collapse)AuthorAge
* import: cabal, hackage: Avoid error when custom setup section is missing.Ricardo Wurmus2018-08-07
| | | | | | | | | 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.
* import: hackage: Emit native-inputs in the importer.Danny Milosavljevic2018-07-27
| | | | | | | | | | | | * 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.
* import: hackage: Fix typo.Danny Milosavljevic2018-07-13
| | | | | * guix/import/cabal.scm (cabal-custom-setuo-name): Rename to... (cabal-custom-setup-name): ...this.
* import: hackage: Evaluate "-any" and "-none" version comparison operators.Danny Milosavljevic2018-07-12
| | | | | | | * 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.
* import: hackage: Support "-any" and "-none" version comparison operators.Danny Milosavljevic2018-07-12
| | | | | | | | | | * 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.
* import: hackage: Support "custom-setup" field.Danny Milosavljevic2018-07-12
| | | | | | | | | | | | | 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.
* packages: Use '@' in package record printers.Mathieu Lirzin2016-01-28
| | | | | | | * guix/packages.scm <package>: Use '@' in record printer. * guix/import/cabal.scm <cabal-package>: Likewise * guix/import/elpa.scm <elpa-package>: Likewise. * tests/packages.scm: Adapt to it.
* import: hackage: Make parsing of tests and fields more flexible.Federico Beffa2015-11-26
| | | | | | | * guix/import/cabal.scm (is-test): Allow spaces between keyword and parentheses. (is-id): Add argument 'port'. Allow spaces between keyword and column. (lex-word): Adjust call to 'is-id'.
* import: hackage: Make it resilient to missing final newline.Federico Beffa2015-11-26
| | | | | * guix/import/cabal.scm (peek-next-line-indent): Check for missing final newline.
* import: hackage: Imporve parsing of tests.Federico Beffa2015-11-26
| | | | | * guix/import/cabal.scm (lex-word): Add support for tests with no spaces. (impl): Rewrite.
* import: hackage: Add recognition of 'true' and 'false' symbols.Federico Beffa2015-11-26
| | | | | | | * guix/import/cabal.scm (is-true, is-false, lex-true, lex-false): New procedures. (lex-word): Use them. (make-cabal-parser): Add TRUE and FALSE tokens. (eval): Add entries for 'true and 'false symbols.
* import: cabal: Make token recognition case-insensitive.Federico Beffa2015-07-08
| | | | | | * guix/import/cabal.scm (make-rx-matcher): Add optional parameter FLAG. (is-property, is-flag, is-src-repo, is-exec, is-test-suite, is-benchmark, is-lib, is-else, is-if): Make test case-insensitive.
* import: hackage: Refactor parsing code and add new options.Federico Beffa2015-06-09
* guix/import/cabal.scm: New file. * guix/import/hackage.scm: Update to use the new Cabal parsing module. * tests/hackage.scm: Update tests. * guix/scripts/import/hackage.scm: Add new '--cabal-environment' and '--stdin' options. * doc/guix.texi: ... and document them. * Makefile.am (MODULES): Add 'guix/import/cabal.scm', 'guix/import/hackage.scm' and 'guix/scripts/import/hackage.scm'. (SCM_TESTS): Add 'tests/hackage.scm'.