packages feed

record 0.3.2 → 0.3.2.1

raw patch · 3 files changed

+16/−106 lines, 3 filesdep ~base-preludedep ~directorydep ~doctestsetup-changed

Dependency ranges changed: base-prelude, directory, doctest, template-haskell-compat-v0208

Files

Setup.hs view
@@ -1,42 +1,6 @@--- The code is mostly ripped from--- https://github.com/ekmett/lens/blob/697582fb9a980f273dbf8496253c5bbefedd0a8b/Setup.lhs-import Data.List ( nub )-import Data.Version ( showVersion )-import Distribution.Package ( PackageName(PackageName), Package, PackageId, InstalledPackageId, packageVersion, packageName )-import Distribution.PackageDescription ( PackageDescription(), TestSuite(..) )-import Distribution.Simple ( defaultMainWithHooks, UserHooks(..), simpleUserHooks )-import Distribution.Simple.Utils ( rewriteFile, createDirectoryIfMissingVerbose, copyFiles )-import Distribution.Simple.BuildPaths ( autogenModulesDir )-import Distribution.Simple.Setup ( BuildFlags(buildVerbosity), Flag(..), fromFlag, HaddockFlags(haddockDistPref))-import Distribution.Simple.LocalBuildInfo ( withLibLBI, withTestLBI, LocalBuildInfo(), ComponentLocalBuildInfo(componentPackageDeps) )-import Distribution.Text ( display )-import Distribution.Verbosity ( Verbosity, normal )-import System.FilePath ( (</>) )--main :: IO ()-main = defaultMainWithHooks simpleUserHooks-  { buildHook = \pkg lbi hooks flags -> do-     generateBuildModule (fromFlag (buildVerbosity flags)) pkg lbi-     buildHook simpleUserHooks pkg lbi hooks flags-  }--generateBuildModule :: Verbosity -> PackageDescription -> LocalBuildInfo -> IO ()-generateBuildModule verbosity pkg lbi = do-  let dir = autogenModulesDir lbi-  createDirectoryIfMissingVerbose verbosity True dir-  withLibLBI pkg lbi $ \_ libcfg -> do-    withTestLBI pkg lbi $ \suite suitecfg -> do-      rewriteFile (dir </> "Build_" ++ testName suite ++ ".hs") $ unlines-        [ "module Build_" ++ testName suite ++ " where"-        , "import Prelude"-        , "deps :: [String]"-        , "deps = " ++ (show $ formatdeps (testDeps libcfg suitecfg))-        ]-  where-    formatdeps = map (formatone . snd)-    formatone p = case packageName p of-      PackageName n -> n ++ "-" ++ showVersion (packageVersion p)+module Main where -testDeps :: ComponentLocalBuildInfo -> ComponentLocalBuildInfo -> [(InstalledPackageId, PackageId)]-testDeps xs ys = nub $ componentPackageDeps xs ++ componentPackageDeps ys+import Distribution.Extra.Doctest ( defaultMainWithDoctests ) +main :: IO ()+main = defaultMainWithDoctests "doctest"
doctest/Main.hs view
@@ -1,66 +1,13 @@--- The code is mostly ripped from--- https://github.com/ekmett/lens/blob/d1d97469f0e93c1d3535308954a060e8a04e37aa/tests/doctests.hsc-import BasePrelude-import System.Directory-import System.FilePath+module Main where++import Prelude+import Build_doctests (flags, pkgs, module_sources)+import Data.Foldable (traverse_) import Test.DocTest-import Build_doctest (deps)  main :: IO () main = do-  sources <- getSources-  doctest $ dfltParams ++ map ("-package="++) deps ++ sources-  where-    dfltParams = -      [-        "-isrc",-        "-idist/build/autogen",-        "-optP-include",-        "-optPdist/build/autogen/cabal_macros.h",-        "-XArrows",-        "-XBangPatterns",-        "-XConstraintKinds",-        "-XDataKinds",-        "-XDefaultSignatures",-        "-XDeriveDataTypeable",-        "-XDeriveFunctor",-        "-XDeriveGeneric",-        "-XEmptyDataDecls",-        "-XFlexibleContexts",-        "-XFlexibleInstances",-        "-XFunctionalDependencies",-        "-XGADTs",-        "-XGeneralizedNewtypeDeriving",-        "-XImpredicativeTypes",-        "-XLambdaCase",-        "-XLiberalTypeSynonyms",-        "-XMultiParamTypeClasses",-        "-XMultiWayIf",-        "-XNoImplicitPrelude",-        "-XNoMonomorphismRestriction",-        "-XOverloadedStrings",-        "-XPatternGuards",-        "-XParallelListComp",-        "-XQuasiQuotes",-        "-XRankNTypes",-        "-XRecordWildCards",-        "-XScopedTypeVariables",-        "-XStandaloneDeriving",-        "-XTemplateHaskell",-        "-XTupleSections",-        "-XTypeFamilies",-        "-XTypeOperators",-        "-hide-all-packages"-      ]--getSources :: IO [FilePath]-getSources = filter (isSuffixOf ".hs") <$> go "library"+  traverse_ putStrLn args+  doctest args   where-    go dir = do-      (dirs, files) <- getFilesAndDirectories dir-      (files ++) . concat <$> mapM go dirs--getFilesAndDirectories :: FilePath -> IO ([FilePath], [FilePath])-getFilesAndDirectories dir = do-  c <- map (dir </>) . filter (`notElem` ["..", "."]) <$> getDirectoryContents dir-  (,) <$> filterM doesDirectoryExist c <*> filterM doesFileExist c+    args = flags ++ pkgs ++ module_sources
record.cabal view
@@ -1,7 +1,7 @@ name:   record version:-  0.3.2+  0.3.2.1 synopsis:   First class records implemented with quasi-quotation description:@@ -73,7 +73,7 @@     text >= 1 && < 2,     --     template-haskell >= 2.8 && < 3,-    template-haskell-compat-v0208 == 0.1.*,+    template-haskell-compat-v0208 >= 0.1.1.1 && < 0.2,     --      transformers >= 0.2 && < 0.6,     base-prelude >= 0.1 && < 2,@@ -98,10 +98,9 @@   if !flag(doctest)     buildable: False   build-depends:-    doctest == 0.11.*,-    directory == 1.2.*,+    doctest >= 0.13 && < 0.17,+    directory >= 1.2 && < 1.5,     filepath >= 1.3 && < 1.5,-    base-prelude,     base