diff options
author | Saku Laesvuori <saku@laesvuori.fi> | 2023-12-03 11:45:07 +0200 |
---|---|---|
committer | Lars-Dominik Braun <lars@6xq.net> | 2023-12-03 16:15:29 +0100 |
commit | ab8612d99eca5c25ecbefe026b04ed9f00e3f8b5 (patch) | |
tree | 5233740e9cf5f407a57542039981abb43b16bb96 /tests | |
parent | 2c9ac9ab20c76abe570ff83f8746fa089fea3047 (diff) | |
download | guix-ab8612d99eca5c25ecbefe026b04ed9f00e3f8b5.tar.gz |
guix: import: Fix parsing Cabal files that import many stanzas
* guix/import/cabal.scm (eval-cabal)[eval]: Split imports to a normalized list before mapping over it. * tests/hackage.scm: Test it. Change-Id: I39ece019251b6a23a937c8562d2d4a545a6bc7df Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/hackage.scm | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/hackage.scm b/tests/hackage.scm index 32e5f39329..403f587c41 100644 --- a/tests/hackage.scm +++ b/tests/hackage.scm @@ -622,4 +622,49 @@ executable cabal (test-assert "hackage->guix-package test cabal import" (eval-test-with-cabal test-cabal-import match-ghc-foo-import)) +(define test-cabal-multiple-imports + "name: foo +version: 1.0.0 +homepage: http://test.org +synopsis: synopsis +description: description +license: BSD3 +common commons + build-depends: + HTTP >= 4000.2.5 && < 4000.3, + mtl >= 2.0 && < 3 + +common others + build-depends: + base == 4.16.*, + stm-chans == 3.0.* + +executable cabal + import: + commons + , others +") + +(define-package-matcher match-ghc-foo-multiple-imports + ('package + ('name "ghc-foo") + ('version "1.0.0") + ('source + ('origin + ('method 'url-fetch) + ('uri ('hackage-uri "foo" 'version)) + ('sha256 + ('base32 + (? string? hash))))) + ('build-system 'haskell-build-system) + ('properties '(quote ((upstream-name . "foo")))) + ('inputs ('list 'ghc-http 'ghc-stm-chans)) + ('home-page "http://test.org") + ('synopsis (? string?)) + ('description (? string?)) + ('license 'license:bsd-3))) + +(test-assert "hackage->guix-package test cabal multiple imports" + (eval-test-with-cabal test-cabal-multiple-imports match-ghc-foo-multiple-imports)) + (test-end "hackage") |