gtk2hs-buildtools 0.13.2.2 → 0.13.3.0
raw patch · 8 files changed
+60/−17 lines, 8 filesdep ~Cabaldep ~basePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: Cabal, base
API changes (from Hackage documentation)
Files
- c2hs/c/CAST.hs +9/−0
- c2hs/c/CLexer.x +2/−1
- c2hs/c/CParser.y +2/−0
- c2hs/c/CPretty.hs +1/−0
- c2hs/c/CTokens.hs +3/−0
- gtk2hs-buildtools.cabal +2/−2
- hierarchyGen/Hierarchy.chs.template +3/−1
- src/Gtk2HsSetup.hs +38/−13
c2hs/c/CAST.hs view
@@ -301,6 +301,7 @@ | CIntType Attrs | CLongType Attrs | CFloatType Attrs+ | CFloat128Type Attrs | CDoubleType Attrs | CSignedType Attrs | CUnsigType Attrs@@ -324,6 +325,7 @@ posOf (CIntType at) = posOf at posOf (CLongType at) = posOf at posOf (CFloatType at) = posOf at+ posOf (CFloat128Type at) = posOf at posOf (CDoubleType at) = posOf at posOf (CSignedType at) = posOf at posOf (CUnsigType at) = posOf at@@ -342,6 +344,7 @@ (CIntType at1) == (CIntType at2) = at1 == at2 (CLongType at1) == (CLongType at2) = at1 == at2 (CFloatType at1) == (CFloatType at2) = at1 == at2+ (CFloat128Type at1) == (CFloat128Type at2) = at1 == at2 (CDoubleType at1) == (CDoubleType at2) = at1 == at2 (CSignedType at1) == (CSignedType at2) = at1 == at2 (CUnsigType at1) == (CUnsigType at2) = at1 == at2@@ -1058,6 +1061,9 @@ putByte bh 13 put_ bh ar put_ bh as+ put_ bh (CFloat128Type at) = do+ putByte bh 14+ put_ bh at get bh = do h <- getByte bh case h of@@ -1108,6 +1114,9 @@ ar <- get bh as <- get bh return (CTypeOfType ar as)+ 14 -> do+ at <- get bh+ return (CFloat128Type at) instance Binary CStorageSpec where put_ bh (CAuto aa) = do
c2hs/c/CLexer.x view
@@ -111,7 +111,7 @@ @fractpart = @digits @mantpart = @intpart?\.@fractpart|@intpart\. @exppart = [eE][\+\-]?@digits-@suffix = [fFlL]+@suffix = [fFlLqQwW] tokens :-@@ -259,6 +259,7 @@ idkwtok ('e':'l':'s':'e':[]) = tok CTokElse idkwtok ('e':'n':'u':'m':[]) = tok CTokEnum idkwtok ('e':'x':'t':'e':'r':'n':[]) = tok CTokExtern+idkwtok ('_':'_':'f':'l':'o':'a':'t':'1':'2':'8':[]) = tok CTokFloat128 idkwtok ('f':'l':'o':'a':'t':[]) = tok CTokFloat idkwtok ('f':'o':'r':[]) = tok CTokFor idkwtok ('g':'o':'t':'o':[]) = tok CTokGoto
c2hs/c/CParser.y view
@@ -191,6 +191,7 @@ enum { CTokEnum _ } extern { CTokExtern _ } float { CTokFloat _ }+"__float128" { CTokFloat128 _ } for { CTokFor _ } goto { CTokGoto _ } if { CTokIf _ }@@ -656,6 +657,7 @@ | int {% withAttrs $1 $ CIntType } | long {% withAttrs $1 $ CLongType } | float {% withAttrs $1 $ CFloatType }+ | "__float128" {% withAttrs $1 $ CFloat128Type } | double {% withAttrs $1 $ CDoubleType } | signed {% withAttrs $1 $ CSignedType } | unsigned {% withAttrs $1 $ CUnsigType }
c2hs/c/CPretty.hs view
@@ -83,6 +83,7 @@ pretty (CIntType _) = text "int" pretty (CLongType _) = text "long" pretty (CFloatType _) = text "float"+ pretty (CFloat128Type _) = text "__float128" pretty (CDoubleType _) = text "double" pretty (CSignedType _) = text "signed" pretty (CUnsigType _) = text "unsigned"
c2hs/c/CTokens.hs view
@@ -102,6 +102,7 @@ | CTokEnum !Position -- `enum' | CTokExtern !Position -- `extern' | CTokFloat !Position -- `float'+ | CTokFloat128 !Position -- `__float128' | CTokFor !Position -- `for' | CTokGoto !Position -- `goto' | CTokIf !Position -- `if'@@ -217,6 +218,7 @@ posOf (CTokEnum pos ) = pos posOf (CTokExtern pos ) = pos posOf (CTokFloat pos ) = pos+ posOf (CTokFloat128 pos ) = pos posOf (CTokFor pos ) = pos posOf (CTokGoto pos ) = pos posOf (CTokInt pos ) = pos@@ -311,6 +313,7 @@ showsPrec _ (CTokEnum _ ) = showString "enum" showsPrec _ (CTokExtern _ ) = showString "extern" showsPrec _ (CTokFloat _ ) = showString "float"+ showsPrec _ (CTokFloat128 _ ) = showString "__float128" showsPrec _ (CTokFor _ ) = showString "for" showsPrec _ (CTokGoto _ ) = showString "goto" showsPrec _ (CTokIf _ ) = showString "if"
gtk2hs-buildtools.cabal view
@@ -1,5 +1,5 @@ Name: gtk2hs-buildtools-Version: 0.13.2.2+Version: 0.13.3.0 License: GPL-2 License-file: COPYING Copyright: (c) 2001-2010 The Gtk2Hs Team@@ -40,7 +40,7 @@ build-depends: base >= 4 && < 5, process, array, pretty, filepath, random,- Cabal >= 1.24.0.0 && < 1.25,+ Cabal >= 1.24.0.0 && < 2.2, filepath >= 1.3.0.0 && < 1.5, directory >= 1.2.0.0 && < 1.4, containers >= 0.5.5.1 && < 0.6
hierarchyGen/Hierarchy.chs.template view
@@ -39,11 +39,13 @@ ) where import Foreign.ForeignPtr (ForeignPtr, castForeignPtr)-#if __GLASGOW_HASKELL__ >= 707+-- TODO work around cpphs https://ghc.haskell.org/trac/ghc/ticket/13553+#if __GLASGOW_HASKELL__ >= 707 || __GLASGOW_HASKELL__ == 0 import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr) #else import Foreign.ForeignPtr (unsafeForeignPtrToPtr) #endif+ import Foreign.C.Types (CULong(..), CUInt(..), CULLong(..)) import System.Glib.GType (GType, typeInstanceIsA) @MODULE_IMPORTS@
src/Gtk2HsSetup.hs view
@@ -26,6 +26,7 @@ libModules, hasLibs) import Distribution.Simple.LocalBuildInfo (LocalBuildInfo(withPackageDB, buildDir, localPkgDescr, installedPkgs, withPrograms), InstallDirs(..),+ ComponentLocalBuildInfo, componentPackageDeps, absoluteInstallDirs, relocatable,@@ -36,6 +37,12 @@ rawSystemProgramConf, rawSystemProgramStdoutConf, programName, programPath, c2hsProgram, pkgConfigProgram, gccProgram, requireProgram, ghcPkgProgram, simpleProgram, lookupProgram, rawSystemProgramStdout, ProgArg)+#if MIN_VERSION_Cabal(2,0,0)+import Distribution.Simple.Program.HcPkg ( defaultRegisterOptions )+import Distribution.Types.PkgconfigDependency ( PkgconfigDependency(..) )+import Distribution.Types.PkgconfigName+import qualified Distribution.Types.LocalBuildInfo as LBI (componentsConfigs) -- TODO will be removed in Cabal 2.2+#endif import Distribution.ModuleName ( ModuleName, components, toFilePath ) import Distribution.Simple.Utils import Distribution.Simple.Setup (CopyFlags(..), InstallFlags(..), CopyDest(..),@@ -185,8 +192,12 @@ | modeGenerateRegScript -> die "Generate Reg Script not supported" | otherwise -> do setupMessage verbosity "Registering" (packageId pkg)- registerPackage verbosity (compiler lbi) (withPrograms lbi) False- packageDbs installedPkgInfo+ registerPackage verbosity (compiler lbi) (withPrograms lbi)+#if MIN_VERSION_Cabal(2,0,0)+ packageDbs installedPkgInfo defaultRegisterOptions+#else+ False packageDbs installedPkgInfo+#endif where modeGenerateRegFile = isJust (flagToMaybe (regGenPkgConf regFlags))@@ -224,8 +235,13 @@ -- Processing .chs files with our local c2hs. ------------------------------------------------------------------------------ +#if MIN_VERSION_Cabal(2,0,0)+ourC2hs :: BuildInfo -> LocalBuildInfo -> ComponentLocalBuildInfo -> PreProcessor+ourC2hs bi lbi _ = PreProcessor {+#else ourC2hs :: BuildInfo -> LocalBuildInfo -> PreProcessor ourC2hs bi lbi = PreProcessor {+#endif platformIndependent = False, runPreProcessor = runC2HS bi lbi }@@ -265,16 +281,7 @@ = nub $ ["-I" ++ dir | dir <- PD.includeDirs bi] ++ [opt | opt@('-':c:_) <- PD.cppOptions bi ++ PD.ccOptions bi, c `elem` "DIU"]- ++ ["-D__GLASGOW_HASKELL__="++show (ghcDefine . ghcVersion . compilerId $ LBI.compiler lbi)]- where- ghcDefine (v1:v2:_) = v1 * 100 + v2- ghcDefine _ = __GLASGOW_HASKELL__ - ghcVersion :: CompilerId -> [Int]- ghcVersion (CompilerId GHCJS v) = drop 3 $ versionBranch v- ghcVersion (CompilerId GHC v) = versionBranch v- ghcVersion _ = error "Not GHC"- installCHI :: PackageDescription -- ^information from the .cabal file -> LocalBuildInfo -- ^information from the configure step -> Verbosity -> CopyDest -- ^flags sent to copy or install@@ -308,7 +315,12 @@ tag `isPrefixOf` field, field /= (tag++"file")] ++ [ "--tag=" ++ tag+#if MIN_VERSION_Cabal(2,0,0)+ | PackageIdentifier name version <- cPkgs+ , let major:minor:_ = versionNumbers version+#else | PackageIdentifier name (Version (major:minor:_) _) <- cPkgs+#endif , let name' = filter isAlpha (display name) , tag <- name' :[ name' ++ "-" ++ show maj ++ "." ++ show d2@@ -339,6 +351,7 @@ info verb ("Ensuring that callback hooks in "++f++" are up-to-date.") genFile hookGen signalsOpts f +#if __GLASGOW_HASKELL__ < 800 writeFile "gtk2hs_macros.h" $ generateMacros cPkgs -- Based on Cabal/Distribution/Simple/Build/Macros.hs@@ -361,6 +374,7 @@ where fixchar '-' = '_' fixchar '.' = '_' fixchar c = c+#endif --FIXME: Cabal should tell us the selected pkg-config package versions in the -- LocalBuildInfo or equivalent.@@ -372,8 +386,14 @@ [ do version <- pkgconfig ["--modversion", display pkgname] case simpleParse version of Nothing -> die "parsing output of pkg-config --modversion failed"+#if MIN_VERSION_Cabal(2,0,0)+ Just v -> return (PackageIdentifier (mkPackageName $ unPkgconfigName pkgname) v)+ | PkgconfigDependency pkgname _+#else Just v -> return (PackageIdentifier pkgname v)- | Dependency pkgname _ <- concatMap pkgconfigDepends (allBuildInfo pkg) ]+ | Dependency pkgname _+#endif+ <- concatMap pkgconfigDepends (allBuildInfo pkg) ] where pkgconfig = rawSystemProgramStdoutConf verbosity pkgConfigProgram (withPrograms lbi)@@ -486,5 +506,10 @@ -- We are not going to use this, so reporting the version we will use c2hsLocal :: Program c2hsLocal = (simpleProgram "gtk2hsC2hs") {- programFindVersion = \_ _ -> return . Just $ Version [0,13,13] []+ programFindVersion = \_ _ -> return . Just $+#if MIN_VERSION_Cabal(2,0,0)+ mkVersion [0,13,13]+#else+ Version [0,13,13] []+#endif }