diff options
author | Lars-Dominik Braun <lars@6xq.net> | 2022-04-30 15:39:51 +0200 |
---|---|---|
committer | Lars-Dominik Braun <lars@6xq.net> | 2022-06-06 13:26:45 +0200 |
commit | 001e0bac99c977d2ff04910295b154f91aa3d369 (patch) | |
tree | 2a9001111e47d663e69a2e9a75b9e95fabf52961 | |
parent | 0972feaff1f766c1759d0b89876132ae473725ce (diff) | |
download | guix-001e0bac99c977d2ff04910295b154f91aa3d369.tar guix-001e0bac99c977d2ff04910295b154f91aa3d369.tar.gz |
import: cabal: Allow properties without space between key and value.
* guix/import/cabal.scm (lex-word): Add colon to delimiters.
* tests/hackage.scm (test-cabal-property-no-space): New variable.
("hackage->guix-package test properties without space"): New test.
-rw-r--r-- | guix/import/cabal.scm | 2 | ||||
-rw-r--r-- | tests/hackage.scm | 19 |
2 files changed, 20 insertions, 1 deletions
diff --git a/guix/import/cabal.scm b/guix/import/cabal.scm index 364fcc3176..9f3862fa14 100644 --- a/guix/import/cabal.scm +++ b/guix/import/cabal.scm @@ -573,7 +573,7 @@ location." (define (lex-word port loc) "Process tokens which can be recognized by reading the next word form PORT. LOC is the current port location." - (let* ((w (read-delimited " <>=()\t\n" port 'peek))) + (let* ((w (read-delimited " <>=():\t\n" port 'peek))) (cond ((is-if w) (lex-if loc)) ((is-elif w) (lex-elif loc)) ((is-test w port) (lex-test w loc)) diff --git a/tests/hackage.scm b/tests/hackage.scm index 15309a3381..4ce48b6baf 100644 --- a/tests/hackage.scm +++ b/tests/hackage.scm @@ -315,6 +315,25 @@ executable cabal (test-assert "hackage->guix-package test flag executable" (eval-test-with-cabal test-cabal-flag-executable match-ghc-foo)) +;; There is no mandatory space between property name and value. +(define test-cabal-property-no-space + "name:foo +version:1.0.0 +homepage:http://test.org +synopsis:synopsis +description:description +license:BSD3 +common bench-defaults + ghc-options:-Wall +executable cabal + build-depends: + HTTP >= 4000.2.5 && < 4000.3, + mtl >= 2.0 && < 3 +") + +(test-assert "hackage->guix-package test properties without space" + (eval-test-with-cabal test-cabal-property-no-space match-ghc-foo)) + ;; Check if-elif-else statements (define test-cabal-if "name: foo |