diff options
author | Julien Lepiller <julien@lepiller.eu> | 2019-02-01 15:58:12 +0100 |
---|---|---|
committer | Julien Lepiller <julien@lepiller.eu> | 2019-02-05 22:33:06 +0100 |
commit | 0f4432c620f8d569ef29ca74bad2b7eebd803441 (patch) | |
tree | 8797e7fa4bbce816cccd81a75601ecd5fa60b906 | |
parent | 6c8666b4513ba66bb1de0c129eec8a5623fddfeb (diff) | |
download | guix-0f4432c620f8d569ef29ca74bad2b7eebd803441.tar.gz |
import: opam: Fix conditions.
* guix/import/opam.scm (condition-eq, condition-neq): The first argument can be empty. * tests/opam.scm: Add test case.
-rw-r--r-- | guix/import/opam.scm | 4 | ||||
-rw-r--r-- | tests/opam.scm | 4 |
2 files changed, 5 insertions, 3 deletions
diff --git a/guix/import/opam.scm b/guix/import/opam.scm index c254db5f2c..6ffb16b49b 100644 --- a/guix/import/opam.scm +++ b/guix/import/opam.scm @@ -90,8 +90,8 @@ (define-peg-pattern condition-lower all (and (ignore "<") (* SP) condition-string)) (define-peg-pattern condition-and all (and condition-form2 (* SP) (? (ignore "&")) (* SP) condition-form)) (define-peg-pattern condition-or all (and condition-form2 (* SP) (ignore "|") (* SP) condition-form)) -(define-peg-pattern condition-eq all (and condition-content (* SP) (ignore "=") (* SP) condition-content)) -(define-peg-pattern condition-neq all (and condition-content (* SP) (ignore (and "!" "=")) (* SP) condition-content)) +(define-peg-pattern condition-eq all (and (? condition-content) (* SP) (ignore "=") (* SP) condition-content)) +(define-peg-pattern condition-neq all (and (? condition-content) (* SP) (ignore (and "!" "=")) (* SP) condition-content)) (define-peg-pattern condition-content body (or condition-string condition-var)) (define-peg-pattern condition-content2 body (and condition-content (* SP) (not-followed-by (or "&" "=" "!")))) (define-peg-pattern condition-string all (and QUOTE (* STRCHR) QUOTE)) diff --git a/tests/opam.scm b/tests/opam.scm index e0ec5ef3d4..e8c0d15198 100644 --- a/tests/opam.scm +++ b/tests/opam.scm @@ -192,6 +192,8 @@ url { ("{>= \"0.2.0\" | build}" . (condition-or (condition-greater-or-equal (condition-string "0.2.0")) - (condition-var "build")))))) + (condition-var "build"))) + ("{ = \"1.0+beta19\" }" . (condition-eq + (condition-string "1.0+beta19")))))) (test-end "opam") |