horizon-spec 0.6.4 → 0.9.0
raw patch · 20 files changed
+69/−690 lines, 20 filesdep −horizon-specdep −prettyprinterdep −sydtestdep ~containersdep ~dhalldep ~path
Dependencies removed: horizon-spec, prettyprinter, sydtest
Dependency ranges changed: containers, dhall, path, path-dhall-instance, template-haskell, text, th-lift
Files
- ChangeLog.md +11/−0
- LICENSE +1/−1
- README.md +0/−15
- dhall/package.dhall +0/−157
- horizon-spec.cabal +10/−38
- src/Horizon/Spec.hs +28/−29
- src/Horizon/Spec/Types/HaskellPackage.hs +3/−1
- src/Horizon/Spec/Types/HaskellSource.hs +1/−3
- src/Horizon/Spec/Types/LocalSource.hs +0/−12
- src/Horizon/Spec/Types/Policy.hs +13/−0
- src/Horizon/Spec/Utils.hs +2/−6
- test/Spec.hs +0/−39
- test/data/modified-overlay/input.dhall +0/−9
- test/data/modified-overlay/output.golden +0/−91
- test/data/modified-package-set/input.dhall +0/−9
- test/data/modified-package-set/output.golden +0/−91
- test/data/sample-overlay/input.dhall +0/−3
- test/data/sample-overlay/output.golden +0/−91
- test/data/sample-package-set/input.dhall +0/−4
- test/data/sample-package-set/output.golden +0/−91
ChangeLog.md view
@@ -1,5 +1,16 @@ # Changelog for horizon-spec +## v0.9.0++* Support horizon-spec (dhall) 0.9.0.+* Remove `FromLocal` and `callLocal`.++## v0.7.0++* Horizon.Spec.Types.Policy: Add `Policy` type with `Keep` and `Pin`+ constructors.+* Horizon.Spec.Types.HaskellPackage: Add 'policy' field.+ ## v0.6.4 * Separate Types out into separate modules.
LICENSE view
@@ -1,4 +1,4 @@-Copyright 2022 Homotopic.Tech Ltd+Copyright 2022-2023 Homotopic.Tech Ltd Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in
README.md view
@@ -2,18 +2,3 @@ horizon-spec contains the type definitions for [horizon-platform](https://horizon-haskell.net).--Both haskell and dhall versions are supplied.--## Building--```-nix build-```--## Development--```-nix develop-cabal test all-```
− dhall/package.dhall
@@ -1,157 +0,0 @@-let Prelude =- env:DHALL_PRELUDE- ? https://raw.githubusercontent.com/dhall-lang/dhall-lang/v21.1.0/Prelude/package.dhall- sha256:0fed19a88330e9a8a3fbe1e8442aa11d12e38da51eb12ba8bcb56f3c25d0854a--let FilePath = Text--let Directory = Text--let Name = Text--let Version = Text--let Revision = Text--let Subdir = Text--let Url = Text--let HaskellSource =- < FromHackage : { name : Name, version : Version }- | FromGit : { url : Url, revision : Revision, subdir : Optional Subdir }- | FromLocal : Subdir- | FromTarball : Url- >--let Modifiers =- { Type =- { doBenchmark : Bool- , doCheck : Bool- , doJailbreak : Bool- , enableProfiling : Bool- , includeBenchmarks : Bool- , includeExecutables : Bool- , includeTests : Bool- }- , default =- { doBenchmark = False- , doCheck = False- , doJailbreak = True- , enableProfiling = True- , includeBenchmarks = True- , includeExecutables = True- , includeTests = True- }- }--let Attr = λ(a : Type) → { mapKey : Text, mapValue : a }--let Flag- : ∀(x : Type) → Type- = λ(x : Type) → < Enable : x | Disable : x >--let CabalFlag = Flag Text--let HaskellPackage =- { Type =- { source : HaskellSource- , modifiers : Modifiers.Type- , flags : List CabalFlag- }- , default = { modifiers = Modifiers.default, flags = [] : List CabalFlag }- }--let Compiler = Text--let PackageEntry = Attr HaskellPackage.Type--let PackageList = List PackageEntry--let PackageSet = { compiler : Compiler, packages : PackageList }--let Overlay = PackageSet--let PackageSetExportSettings =- { packagesDir : Directory- , packageSetFile : FilePath- , packageSet : PackageSet- }--let OverlayExportSettings =- { packagesDir : Directory, overlayFile : FilePath, overlay : Overlay }--let HorizonExport =- < MakePackageSet : PackageSetExportSettings- | MakeOverlay : OverlayExportSettings- >--let callHackage- : Name → Version → HaskellPackage.Type- = λ(name : Name) →- λ(version : Version) →- HaskellPackage::{ source = HaskellSource.FromHackage { name, version } }--let callGit- : Url → Revision → Optional Subdir → HaskellPackage.Type- = λ(url : Url) →- λ(revision : Revision) →- λ(subdir : Optional Subdir) →- HaskellPackage::{- , source = HaskellSource.FromGit { url, revision, subdir }- }--let callLocal- : Subdir → HaskellPackage.Type- = λ(subdir : Subdir) →- HaskellPackage::{ source = HaskellSource.FromLocal subdir }--let callTarball- : Url → HaskellPackage.Type- = λ(url : Url) → HaskellPackage::{ source = HaskellSource.FromTarball url }--let modPackageList- : Modifiers.Type → PackageList → PackageList- = λ(xs : Modifiers.Type) →- λ(ps : PackageList) →- Prelude.List.map- PackageEntry- PackageEntry- (λ(x : PackageEntry) → x with mapValue.modifiers = xs)- ps--let modPackageSet- : Modifiers.Type → PackageSet → PackageSet- = λ(xs : Modifiers.Type) →- λ(ps : PackageSet) →- ps- with packages = modPackageList xs ps.packages--in { Attr- , CabalFlag- , Compiler- , Directory- , FilePath- , Flag- , HaskellSource- , HaskellPackage- , HorizonExport- , Modifiers- , Name- , OverlayExportSettings- , Overlay- , PackageEntry- , PackageList- , PackageSetExportSettings- , PackageSet- , Revision- , Subdir- , Version- , Url- , callGit- , callHackage- , callLocal- , callTarball- , modPackageList- , modPackageSet- }
horizon-spec.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: horizon-spec-version: 0.6.4+version: 0.9.0 synopsis: Horizon Stable Package Set Type Definitions description: This package contains the type definitions for the Horizon stable package set (https://horizon-haskell.net). This is a schema used to define package sets sourcing from hackage and git.@@ -15,16 +15,7 @@ build-type: Simple extra-source-files: ChangeLog.md- dhall/package.dhall README.md- test/data/modified-overlay/input.dhall- test/data/modified-overlay/output.golden- test/data/modified-package-set/input.dhall- test/data/modified-package-set/output.golden- test/data/sample-overlay/input.dhall- test/data/sample-overlay/output.golden- test/data/sample-package-set/input.dhall- test/data/sample-package-set/output.golden source-repository head type: git@@ -41,7 +32,6 @@ Horizon.Spec.Types.HaskellPackage Horizon.Spec.Types.HaskellSource Horizon.Spec.Types.HorizonExport- Horizon.Spec.Types.LocalSource Horizon.Spec.Types.Modifiers Horizon.Spec.Types.Name Horizon.Spec.Types.Overlay@@ -52,6 +42,7 @@ Horizon.Spec.Types.PackageSet Horizon.Spec.Types.PackageSetExportSettings Horizon.Spec.Types.PackageSetFile+ Horizon.Spec.Types.Policy Horizon.Spec.Types.Repo Horizon.Spec.Types.Revision Horizon.Spec.Types.Subdir@@ -76,32 +67,13 @@ -Wno-safe -Wno-unsafe build-depends:- , base >=4.7 && <5- , containers- , dhall- , path- , path-dhall-instance- , template-haskell- , text- , th-lift-- default-language: Haskell2010--executable horizon-spec-tests- main-is: Spec.hs- hs-source-dirs: test- ghc-options:- -Weverything -Wno-all-missed-specialisations -Wno-implicit-prelude- -Wno-missing-safe-haskell-mode -Wno-prepositive-qualified-module- -Wno-safe -Wno-unsafe-- default-extensions: TypeApplications- build-depends:- , base >=4.7 && <5- , dhall- , horizon-spec- , prettyprinter- , sydtest- , text+ , base >=4.7 && <5+ , containers >=0.6.6 && <0.7+ , dhall >=1.41.2 && <1.42+ , path >=0.9.2 && <0.10+ , path-dhall-instance >=0.2.1 && <0.3+ , template-haskell >=2.19.0 && <2.20+ , text >=2.0.1 && <2.1+ , th-lift >=0.8.2 && <0.9 default-language: Haskell2010
src/Horizon/Spec.hs view
@@ -1,33 +1,32 @@ {-# OPTIONS_GHC -fno-warn-missing-import-lists #-} {-# LANGUAGE DuplicateRecordFields #-}-module Horizon.Spec (- module Horizon.Spec.Types.CabalFlag,- module Horizon.Spec.Types.Compiler,- module Horizon.Spec.Types.Flag,- module Horizon.Spec.Types.GitSource,- module Horizon.Spec.Types.HackageSource,- module Horizon.Spec.Types.HaskellPackage,- module Horizon.Spec.Types.HaskellSource,- module Horizon.Spec.Types.HorizonExport,- module Horizon.Spec.Types.LocalSource,- module Horizon.Spec.Types.Modifiers,- module Horizon.Spec.Types.Name,- module Horizon.Spec.Types.OverlayExportSettings,- module Horizon.Spec.Types.OverlayFile,- module Horizon.Spec.Types.Overlay,- module Horizon.Spec.Types.PackageList,- module Horizon.Spec.Types.PackageSetExportSettings-, module Horizon.Spec.Types.PackageSetFile-, module Horizon.Spec.Types.PackageSet-, module Horizon.Spec.Types.PackagesDir-, module Horizon.Spec.Types.Repo-, module Horizon.Spec.Types.Revision-, module Horizon.Spec.Types.Subdir-, module Horizon.Spec.Types.TarballSource-, module Horizon.Spec.Types.Url-, module Horizon.Spec.Types.Version- )- where+module Horizon.Spec+ ( module Horizon.Spec.Types.CabalFlag+ , module Horizon.Spec.Types.Compiler+ , module Horizon.Spec.Types.Flag+ , module Horizon.Spec.Types.GitSource+ , module Horizon.Spec.Types.HackageSource+ , module Horizon.Spec.Types.HaskellPackage+ , module Horizon.Spec.Types.HaskellSource+ , module Horizon.Spec.Types.HorizonExport+ , module Horizon.Spec.Types.Modifiers+ , module Horizon.Spec.Types.Name+ , module Horizon.Spec.Types.OverlayExportSettings+ , module Horizon.Spec.Types.OverlayFile+ , module Horizon.Spec.Types.Overlay+ , module Horizon.Spec.Types.PackageList+ , module Horizon.Spec.Types.PackageSetExportSettings+ , module Horizon.Spec.Types.PackageSetFile+ , module Horizon.Spec.Types.PackageSet+ , module Horizon.Spec.Types.PackagesDir+ , module Horizon.Spec.Types.Repo+ , module Horizon.Spec.Types.Revision+ , module Horizon.Spec.Types.Subdir+ , module Horizon.Spec.Types.TarballSource+ , module Horizon.Spec.Types.Url+ , module Horizon.Spec.Types.Version+ , module Horizon.Spec.Utils+ ) where import Horizon.Spec.Types.CabalFlag import Horizon.Spec.Types.Compiler@@ -37,7 +36,6 @@ import Horizon.Spec.Types.HaskellPackage import Horizon.Spec.Types.HaskellSource import Horizon.Spec.Types.HorizonExport-import Horizon.Spec.Types.LocalSource import Horizon.Spec.Types.Modifiers import Horizon.Spec.Types.Name import Horizon.Spec.Types.Overlay@@ -54,3 +52,4 @@ import Horizon.Spec.Types.TarballSource import Horizon.Spec.Types.Url import Horizon.Spec.Types.Version+import Horizon.Spec.Utils
src/Horizon/Spec/Types/HaskellPackage.hs view
@@ -12,14 +12,16 @@ import Horizon.Spec.Types.CabalFlag (CabalFlag) import Horizon.Spec.Types.HaskellSource (HaskellSource) import Horizon.Spec.Types.Modifiers (Modifiers, defaultModifiers)+import Horizon.Spec.Types.Policy (Policy) type HaskellPackage :: Type data HaskellPackage where MkHaskellPackage :: { source :: HaskellSource , modifiers :: Modifiers+ , policy :: [Policy] , flags :: [CabalFlag] } -> HaskellPackage deriving stock (Show, Eq, Generic) deriving anyclass (FromDhall, ToDhall) mkHaskellPackage :: HaskellSource -> HaskellPackage-mkHaskellPackage x = MkHaskellPackage { source = x, flags = [], modifiers = defaultModifiers }+mkHaskellPackage x = MkHaskellPackage { source = x, flags = [], modifiers = defaultModifiers, policy = [] }
src/Horizon/Spec/Types/HaskellSource.hs view
@@ -1,19 +1,17 @@ {-# LANGUAGE DeriveAnyClass #-} -module Horizon.Spec.Types.HaskellSource (HaskellSource(FromGit, FromHackage, FromTarball, FromLocal)) where+module Horizon.Spec.Types.HaskellSource (HaskellSource(FromGit, FromHackage, FromTarball)) where import Data.Kind (Type) import Dhall (FromDhall, Generic, ToDhall) import Horizon.Spec.Types.GitSource (GitSource) import Horizon.Spec.Types.HackageSource (HackageSource)-import Horizon.Spec.Types.LocalSource (LocalSource) import Horizon.Spec.Types.TarballSource (TarballSource) type HaskellSource :: Type data HaskellSource where FromGit :: GitSource -> HaskellSource FromHackage :: HackageSource -> HaskellSource- FromLocal :: LocalSource -> HaskellSource FromTarball :: TarballSource -> HaskellSource deriving stock (Show, Eq, Generic) deriving anyclass (FromDhall, ToDhall)
− src/Horizon/Spec/Types/LocalSource.hs
@@ -1,12 +0,0 @@-module Horizon.Spec.Types.LocalSource (LocalSource(MkLocalSource), fromLocalSource) where--import Data.Kind (Type)-import Dhall (FromDhall, ToDhall)-import Horizon.Spec.Types.Subdir (Subdir)---type LocalSource :: Type-newtype LocalSource where- MkLocalSource :: { fromLocalSource :: Subdir } -> LocalSource- deriving stock (Eq, Show)- deriving newtype (FromDhall, ToDhall)
+ src/Horizon/Spec/Types/Policy.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE DeriveAnyClass #-}+module Horizon.Spec.Types.Policy (Policy(Keep, Pin)) where++import Data.Kind (Type)+import Dhall (FromDhall, ToDhall)+import GHC.Generics (Generic)++type Policy :: Type+data Policy where+ Keep :: Policy+ Pin :: Policy+ deriving stock (Eq, Show, Ord, Generic)+ deriving anyclass (FromDhall, ToDhall)
src/Horizon/Spec/Utils.hs view
@@ -2,14 +2,13 @@ ( callHackage , callGit , callTarball- , callLocal) where+ ) where import Horizon.Spec.Types.GitSource (GitSource (MkGitSource)) import Horizon.Spec.Types.HackageSource (HackageSource (MkHackageSource)) import Horizon.Spec.Types.HaskellPackage (HaskellPackage, mkHaskellPackage)-import Horizon.Spec.Types.HaskellSource (HaskellSource (FromGit, FromHackage, FromLocal, FromTarball))-import Horizon.Spec.Types.LocalSource (LocalSource (MkLocalSource))+import Horizon.Spec.Types.HaskellSource (HaskellSource (FromGit, FromHackage, FromTarball)) import Horizon.Spec.Types.Name (Name) import Horizon.Spec.Types.Repo (Repo) import Horizon.Spec.Types.Revision (Revision)@@ -26,6 +25,3 @@ callTarball :: Url -> HaskellPackage callTarball = mkHaskellPackage . FromTarball . MkTarballSource--callLocal :: Subdir -> HaskellPackage-callLocal = mkHaskellPackage . FromLocal . MkLocalSource
− test/Spec.hs
@@ -1,39 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RankNTypes #-}-{-# LANGUAGE ScopedTypeVariables #-}-module Main ( main ) where--import Data.Proxy (Proxy (Proxy))-import Data.Text.Encoding (encodeUtf8)-import Dhall (FromDhall, ToDhall, auto, embed,- inject, inputFile)-import Dhall.Pretty (layout, prettyExpr)-import Horizon.Spec (HorizonExport, Overlay, PackageSet)-import Prettyprinter.Render.Text (renderStrict)-import Test.Syd (Spec, describe,- doNotRandomiseExecutionOrder, it,- pureGoldenByteStringFile,- sequential, sydTest)--expectedOutputTest- :: forall a.- FromDhall a- => ToDhall a- => Proxy a- -> FilePath- -> Spec-expectedOutputTest _ n = describe n $ do- it "expands correctly" $ do- x <- inputFile @a auto $ "test/data/" ++ n ++ "/input.dhall"- let doc = prettyExpr $ embed inject x- let docstr = encodeUtf8 $ renderStrict $ layout doc- pure $ pureGoldenByteStringFile ("test/data/" ++ n ++ "/output.golden") docstr--main :: IO ()-main = sydTest $ doNotRandomiseExecutionOrder $ sequential $ do- expectedOutputTest (Proxy @PackageSet) "sample-package-set"- expectedOutputTest (Proxy @PackageSet) "modified-package-set"- expectedOutputTest (Proxy @Overlay) "sample-overlay"- expectedOutputTest (Proxy @Overlay) "modified-overlay"- expectedOutputTest (Proxy @HorizonExport) "sample-package-set-export"- expectedOutputTest (Proxy @HorizonExport) "sample-overlay-export"
− test/data/modified-overlay/input.dhall
@@ -1,9 +0,0 @@-let H = ../../../dhall/package.dhall--in { compiler = "ghc-9.4.2"- , packages =- H.modPackageList- H.Modifiers::{ doCheck = True, doJailbreak = False }- (toMap ../packages.dhall)- }- : H.Overlay
− test/data/modified-overlay/output.golden
@@ -1,91 +0,0 @@-{ compiler = "ghc-9.4.2"-, packages =- [ { mapKey = "Cabal-syntax"- , mapValue =- { source =- < FromGit : { url : Text, revision : Text, subdir : Optional Text }- | FromHackage : { name : Text, version : Text }- | FromLocal : Text- | FromTarball : Text- >.FromGit- { url = "https://gitlab.haskell.org/ghc/packages/Cabal"- , revision = "e714824c6e652bf894f914bc57feccc15759668a"- , subdir = Some "Cabal-syntax/"- }- , modifiers =- { doBenchmark = False- , doCheck = True- , doJailbreak = False- , enableProfiling = True- , includeBenchmarks = True- , includeExecutables = True- , includeTests = True- }- , flags = [] : List < Enable : Text | Disable : Text >- }- }- , { mapKey = "lens"- , mapValue =- { source =- < FromGit : { url : Text, revision : Text, subdir : Optional Text }- | FromHackage : { name : Text, version : Text }- | FromLocal : Text- | FromTarball : Text- >.FromHackage- { name = "lens", version = "5.2" }- , modifiers =- { doBenchmark = False- , doCheck = True- , doJailbreak = False- , enableProfiling = True- , includeBenchmarks = True- , includeExecutables = True- , includeTests = True- }- , flags = [] : List < Enable : Text | Disable : Text >- }- }- , { mapKey = "myPackage"- , mapValue =- { source =- < FromGit : { url : Text, revision : Text, subdir : Optional Text }- | FromHackage : { name : Text, version : Text }- | FromLocal : Text- | FromTarball : Text- >.FromLocal- "myPackage/"- , modifiers =- { doBenchmark = False- , doCheck = True- , doJailbreak = False- , enableProfiling = True- , includeBenchmarks = True- , includeExecutables = True- , includeTests = True- }- , flags = [] : List < Enable : Text | Disable : Text >- }- }- , { mapKey = "network-mux"- , mapValue =- { source =- < FromGit : { url : Text, revision : Text, subdir : Optional Text }- | FromHackage : { name : Text, version : Text }- | FromLocal : Text- | FromTarball : Text- >.FromTarball- "https://input-output-hk.github.io/cardano-haskell-packages/package/network-mux-0.2.0.0.tar.gz"- , modifiers =- { doBenchmark = False- , doCheck = True- , doJailbreak = False- , enableProfiling = True- , includeBenchmarks = True- , includeExecutables = True- , includeTests = True- }- , flags = [] : List < Enable : Text | Disable : Text >- }- }- ]-}
− test/data/modified-package-set/input.dhall
@@ -1,9 +0,0 @@-let H = ../../../dhall/package.dhall--in { compiler = "ghc-9.4.2"- , packages =- H.modPackageList- H.Modifiers::{ doCheck = True, doJailbreak = False }- (toMap ../packages.dhall)- }- : H.PackageSet
− test/data/modified-package-set/output.golden
@@ -1,91 +0,0 @@-{ compiler = "ghc-9.4.2"-, packages =- [ { mapKey = "Cabal-syntax"- , mapValue =- { source =- < FromGit : { url : Text, revision : Text, subdir : Optional Text }- | FromHackage : { name : Text, version : Text }- | FromLocal : Text- | FromTarball : Text- >.FromGit- { url = "https://gitlab.haskell.org/ghc/packages/Cabal"- , revision = "e714824c6e652bf894f914bc57feccc15759668a"- , subdir = Some "Cabal-syntax/"- }- , modifiers =- { doBenchmark = False- , doCheck = True- , doJailbreak = False- , enableProfiling = True- , includeBenchmarks = True- , includeExecutables = True- , includeTests = True- }- , flags = [] : List < Enable : Text | Disable : Text >- }- }- , { mapKey = "lens"- , mapValue =- { source =- < FromGit : { url : Text, revision : Text, subdir : Optional Text }- | FromHackage : { name : Text, version : Text }- | FromLocal : Text- | FromTarball : Text- >.FromHackage- { name = "lens", version = "5.2" }- , modifiers =- { doBenchmark = False- , doCheck = True- , doJailbreak = False- , enableProfiling = True- , includeBenchmarks = True- , includeExecutables = True- , includeTests = True- }- , flags = [] : List < Enable : Text | Disable : Text >- }- }- , { mapKey = "myPackage"- , mapValue =- { source =- < FromGit : { url : Text, revision : Text, subdir : Optional Text }- | FromHackage : { name : Text, version : Text }- | FromLocal : Text- | FromTarball : Text- >.FromLocal- "myPackage/"- , modifiers =- { doBenchmark = False- , doCheck = True- , doJailbreak = False- , enableProfiling = True- , includeBenchmarks = True- , includeExecutables = True- , includeTests = True- }- , flags = [] : List < Enable : Text | Disable : Text >- }- }- , { mapKey = "network-mux"- , mapValue =- { source =- < FromGit : { url : Text, revision : Text, subdir : Optional Text }- | FromHackage : { name : Text, version : Text }- | FromLocal : Text- | FromTarball : Text- >.FromTarball- "https://input-output-hk.github.io/cardano-haskell-packages/package/network-mux-0.2.0.0.tar.gz"- , modifiers =- { doBenchmark = False- , doCheck = True- , doJailbreak = False- , enableProfiling = True- , includeBenchmarks = True- , includeExecutables = True- , includeTests = True- }- , flags = [] : List < Enable : Text | Disable : Text >- }- }- ]-}
− test/data/sample-overlay/input.dhall
@@ -1,3 +0,0 @@-let H = ../../../dhall/package.dhall--in { compiler = "ghc-9.4.2", packages = toMap ../packages.dhall } : H.Overlay
− test/data/sample-overlay/output.golden
@@ -1,91 +0,0 @@-{ compiler = "ghc-9.4.2"-, packages =- [ { mapKey = "Cabal-syntax"- , mapValue =- { source =- < FromGit : { url : Text, revision : Text, subdir : Optional Text }- | FromHackage : { name : Text, version : Text }- | FromLocal : Text- | FromTarball : Text- >.FromGit- { url = "https://gitlab.haskell.org/ghc/packages/Cabal"- , revision = "e714824c6e652bf894f914bc57feccc15759668a"- , subdir = Some "Cabal-syntax/"- }- , modifiers =- { doBenchmark = False- , doCheck = False- , doJailbreak = True- , enableProfiling = True- , includeBenchmarks = True- , includeExecutables = True- , includeTests = True- }- , flags = [] : List < Enable : Text | Disable : Text >- }- }- , { mapKey = "lens"- , mapValue =- { source =- < FromGit : { url : Text, revision : Text, subdir : Optional Text }- | FromHackage : { name : Text, version : Text }- | FromLocal : Text- | FromTarball : Text- >.FromHackage- { name = "lens", version = "5.2" }- , modifiers =- { doBenchmark = False- , doCheck = False- , doJailbreak = True- , enableProfiling = True- , includeBenchmarks = True- , includeExecutables = True- , includeTests = True- }- , flags = [] : List < Enable : Text | Disable : Text >- }- }- , { mapKey = "myPackage"- , mapValue =- { source =- < FromGit : { url : Text, revision : Text, subdir : Optional Text }- | FromHackage : { name : Text, version : Text }- | FromLocal : Text- | FromTarball : Text- >.FromLocal- "myPackage/"- , modifiers =- { doBenchmark = False- , doCheck = False- , doJailbreak = True- , enableProfiling = True- , includeBenchmarks = True- , includeExecutables = True- , includeTests = True- }- , flags = [] : List < Enable : Text | Disable : Text >- }- }- , { mapKey = "network-mux"- , mapValue =- { source =- < FromGit : { url : Text, revision : Text, subdir : Optional Text }- | FromHackage : { name : Text, version : Text }- | FromLocal : Text- | FromTarball : Text- >.FromTarball- "https://input-output-hk.github.io/cardano-haskell-packages/package/network-mux-0.2.0.0.tar.gz"- , modifiers =- { doBenchmark = False- , doCheck = False- , doJailbreak = True- , enableProfiling = True- , includeBenchmarks = True- , includeExecutables = True- , includeTests = True- }- , flags = [] : List < Enable : Text | Disable : Text >- }- }- ]-}
− test/data/sample-package-set/input.dhall
@@ -1,4 +0,0 @@-let H = ../../../dhall/package.dhall--in { compiler = "ghc-9.4.2", packages = toMap ../packages.dhall }- : H.PackageSet
− test/data/sample-package-set/output.golden
@@ -1,91 +0,0 @@-{ compiler = "ghc-9.4.2"-, packages =- [ { mapKey = "Cabal-syntax"- , mapValue =- { source =- < FromGit : { url : Text, revision : Text, subdir : Optional Text }- | FromHackage : { name : Text, version : Text }- | FromLocal : Text- | FromTarball : Text- >.FromGit- { url = "https://gitlab.haskell.org/ghc/packages/Cabal"- , revision = "e714824c6e652bf894f914bc57feccc15759668a"- , subdir = Some "Cabal-syntax/"- }- , modifiers =- { doBenchmark = False- , doCheck = False- , doJailbreak = True- , enableProfiling = True- , includeBenchmarks = True- , includeExecutables = True- , includeTests = True- }- , flags = [] : List < Enable : Text | Disable : Text >- }- }- , { mapKey = "lens"- , mapValue =- { source =- < FromGit : { url : Text, revision : Text, subdir : Optional Text }- | FromHackage : { name : Text, version : Text }- | FromLocal : Text- | FromTarball : Text- >.FromHackage- { name = "lens", version = "5.2" }- , modifiers =- { doBenchmark = False- , doCheck = False- , doJailbreak = True- , enableProfiling = True- , includeBenchmarks = True- , includeExecutables = True- , includeTests = True- }- , flags = [] : List < Enable : Text | Disable : Text >- }- }- , { mapKey = "myPackage"- , mapValue =- { source =- < FromGit : { url : Text, revision : Text, subdir : Optional Text }- | FromHackage : { name : Text, version : Text }- | FromLocal : Text- | FromTarball : Text- >.FromLocal- "myPackage/"- , modifiers =- { doBenchmark = False- , doCheck = False- , doJailbreak = True- , enableProfiling = True- , includeBenchmarks = True- , includeExecutables = True- , includeTests = True- }- , flags = [] : List < Enable : Text | Disable : Text >- }- }- , { mapKey = "network-mux"- , mapValue =- { source =- < FromGit : { url : Text, revision : Text, subdir : Optional Text }- | FromHackage : { name : Text, version : Text }- | FromLocal : Text- | FromTarball : Text- >.FromTarball- "https://input-output-hk.github.io/cardano-haskell-packages/package/network-mux-0.2.0.0.tar.gz"- , modifiers =- { doBenchmark = False- , doCheck = False- , doJailbreak = True- , enableProfiling = True- , includeBenchmarks = True- , includeExecutables = True- , includeTests = True- }- , flags = [] : List < Enable : Text | Disable : Text >- }- }- ]-}