packages feed

hpack 0.19.2 → 0.19.3

raw patch · 6 files changed

+66/−2 lines, 6 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

+ Hpack.Config: [sectionExtraFrameworksDirs] :: Section a -> [FilePath]
+ Hpack.Config: [sectionFrameworks] :: Section a -> [FilePath]
- Hpack.Config: Section :: a -> [FilePath] -> Dependencies -> [String] -> [String] -> [GhcOption] -> [GhcProfOption] -> [GhcjsOption] -> [CppOption] -> [CcOption] -> [FilePath] -> [FilePath] -> [FilePath] -> [FilePath] -> [FilePath] -> [FilePath] -> [LdOption] -> Maybe Bool -> [Conditional] -> Dependencies -> Section a
+ Hpack.Config: Section :: a -> [FilePath] -> Dependencies -> [String] -> [String] -> [GhcOption] -> [GhcProfOption] -> [GhcjsOption] -> [CppOption] -> [CcOption] -> [FilePath] -> [FilePath] -> [FilePath] -> [FilePath] -> [FilePath] -> [FilePath] -> [FilePath] -> [FilePath] -> [LdOption] -> Maybe Bool -> [Conditional] -> Dependencies -> Section a

Files

CHANGELOG.md view
@@ -1,3 +1,9 @@+## Changes in 0.19.3+  - Add support for `frameworks` and `extra-frameworks-dirs`++## Changes in 0.19.2+ - Compatibility with `Glob >= 0.9.0`+ ## Changes in 0.19.1   - Add `IsList` instance for `Dependencies` 
hpack.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack  name:           hpack-version:        0.19.2+version:        0.19.3 synopsis:       An alternative format for Haskell packages description:    See README at <https://github.com/sol/hpack#readme> category:       Development
src/Hpack/Config.hs view
@@ -126,7 +126,7 @@     deps xs = [(name, version) | (name, version) <- (Map.toList . unDependencies . sectionDependencies) xs]  section :: a -> Section a-section a = Section a [] mempty [] [] [] [] [] [] [] [] [] [] [] [] [] [] Nothing [] mempty+section a = Section a [] mempty [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] Nothing [] mempty  packageConfig :: FilePath packageConfig = "package.yaml"@@ -241,6 +241,8 @@ , commonOptionsJsSources :: Maybe (List FilePath) , commonOptionsExtraLibDirs :: Maybe (List FilePath) , commonOptionsExtraLibraries :: Maybe (List FilePath)+, commonOptionsExtraFrameworksDirs :: Maybe (List FilePath)+, commonOptionsFrameworks :: Maybe (List String) , commonOptionsIncludeDirs :: Maybe (List FilePath) , commonOptionsInstallIncludes :: Maybe (List FilePath) , commonOptionsLdOptions :: Maybe (List LdOption)@@ -436,6 +438,8 @@ , sectionJsSources :: [FilePath] , sectionExtraLibDirs :: [FilePath] , sectionExtraLibraries :: [FilePath]+, sectionExtraFrameworksDirs :: [FilePath]+, sectionFrameworks :: [FilePath] , sectionIncludeDirs :: [FilePath] , sectionInstallIncludes :: [FilePath] , sectionLdOptions :: [LdOption]@@ -736,6 +740,8 @@   , sectionJsSources = sectionJsSources globalOptions ++ sectionJsSources options   , sectionExtraLibDirs = sectionExtraLibDirs globalOptions ++ sectionExtraLibDirs options   , sectionExtraLibraries = sectionExtraLibraries globalOptions ++ sectionExtraLibraries options+  , sectionExtraFrameworksDirs = sectionExtraFrameworksDirs globalOptions ++ sectionExtraFrameworksDirs options+  , sectionFrameworks = sectionFrameworks globalOptions ++ sectionFrameworks options   , sectionIncludeDirs = sectionIncludeDirs globalOptions ++ sectionIncludeDirs options   , sectionInstallIncludes = sectionInstallIncludes globalOptions ++ sectionInstallIncludes options   , sectionLdOptions = sectionLdOptions globalOptions ++ sectionLdOptions options@@ -762,6 +768,8 @@       , sectionJsSources = fromMaybeList commonOptionsJsSources       , sectionExtraLibDirs = fromMaybeList commonOptionsExtraLibDirs       , sectionExtraLibraries = fromMaybeList commonOptionsExtraLibraries+      , sectionExtraFrameworksDirs = fromMaybeList commonOptionsExtraFrameworksDirs+      , sectionFrameworks = fromMaybeList commonOptionsFrameworks       , sectionIncludeDirs = fromMaybeList commonOptionsIncludeDirs       , sectionInstallIncludes = fromMaybeList commonOptionsInstallIncludes       , sectionLdOptions = fromMaybeList commonOptionsLdOptions
src/Hpack/Run.hs view
@@ -232,6 +232,8 @@   , Field "js-sources" (LineSeparatedList sectionJsSources)   , renderDirectories "extra-lib-dirs" sectionExtraLibDirs   , Field "extra-libraries" (LineSeparatedList sectionExtraLibraries)+  , renderDirectories "extra-frameworks-dirs" sectionExtraFrameworksDirs+  , Field "frameworks" (LineSeparatedList sectionFrameworks)   , renderLdOptions sectionLdOptions   , renderDependencies "build-depends" sectionDependencies   , renderDependencies "build-tools" sectionBuildTools
test/Hpack/ConfigSpec.hs view
@@ -148,6 +148,24 @@         captureUnknownFieldsValue <$> decodeEither input           `shouldBe` Right (section Empty){sectionExtraLibraries = ["foo", "bar"]} +      it "accepts extra-frameworks-dirs" $ do+        let input = [i|+              extra-frameworks-dirs:+                - foo+                - bar+              |]+        captureUnknownFieldsValue <$> decodeEither input+          `shouldBe` Right (section Empty){sectionExtraFrameworksDirs = ["foo", "bar"]}++      it "accepts frameworks" $ do+        let input = [i|+              frameworks:+                - foo+                - bar+              |]+        captureUnknownFieldsValue <$> decodeEither input+          `shouldBe` Right (section Empty){sectionFrameworks = ["foo", "bar"]}+       context "when parsing conditionals" $ do         it "accepts conditionals" $ do           let input = [i|
test/Hpack/RunSpec.hs view
@@ -254,6 +254,36 @@           , "  default-language: Haskell2010"           ] +      it "includes frameworks" $ do+        renderPackage_ package {packageExecutables = [(section $ Executable "foo" "Main.hs" []) {sectionFrameworks = ["foo", "bar"]}]} `shouldBe` unlines [+            "name: foo"+          , "version: 0.0.0"+          , "build-type: Simple"+          , "cabal-version: >= 1.10"+          , ""+          , "executable foo"+          , "  main-is: Main.hs"+          , "  frameworks:"+          , "      foo"+          , "      bar"+          , "  default-language: Haskell2010"+          ]++      it "includes extra-framework-dirs" $ do+        renderPackage_ package {packageExecutables = [(section $ Executable "foo" "Main.hs" []) {sectionExtraFrameworksDirs = ["foo", "bar"]}]} `shouldBe` unlines [+            "name: foo"+          , "version: 0.0.0"+          , "build-type: Simple"+          , "cabal-version: >= 1.10"+          , ""+          , "executable foo"+          , "  main-is: Main.hs"+          , "  extra-frameworks-dirs:"+          , "      foo"+          , "      bar"+          , "  default-language: Haskell2010"+          ]+       it "includes GHC profiling options" $ do         renderPackage_ package {packageExecutables = [(section $ Executable "foo" "Main.hs" []) {sectionGhcProfOptions = ["-fprof-auto", "-rtsopts"]}]} `shouldBe` unlines [             "name: foo"