haskell-gi 0.26.15 → 0.26.16
raw patch · 3 files changed
+26/−11 lines, 3 filesdep ~haskell-gi-basePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: haskell-gi-base
API changes (from Hackage documentation)
- Data.GI.CodeGen.API: instance GHC.Internal.Show.Show Data.GI.CodeGen.API.API
- Data.GI.CodeGen.API: instance GHC.Internal.Show.Show Data.GI.CodeGen.API.GIRInfo
- Data.GI.CodeGen.API: instance GHC.Internal.Show.Show Data.GI.CodeGen.API.GIRInfoParse
- Data.GI.CodeGen.API: instance GHC.Internal.Show.Show Data.GI.CodeGen.API.GIRNameTag
- Data.GI.CodeGen.API: instance GHC.Internal.Show.Show Data.GI.CodeGen.API.GIRNamespace
- Data.GI.CodeGen.API: instance GHC.Internal.Show.Show Data.GI.CodeGen.API.GIRNodeSpec
- Data.GI.CodeGen.API: instance GHC.Internal.Show.Show Data.GI.CodeGen.API.GIRRule
- Data.GI.CodeGen.Code: instance GHC.Internal.Base.Monoid Data.GI.CodeGen.Code.Code
- Data.GI.CodeGen.Code: instance GHC.Internal.Base.Semigroup Data.GI.CodeGen.Code.Code
- Data.GI.CodeGen.Code: instance GHC.Internal.Show.Show Data.GI.CodeGen.Code.BaseVersion
- Data.GI.CodeGen.Code: instance GHC.Internal.Show.Show Data.GI.CodeGen.Code.CGError
- Data.GI.CodeGen.Code: instance GHC.Internal.Show.Show Data.GI.CodeGen.Code.CPPConditional
- Data.GI.CodeGen.Code: instance GHC.Internal.Show.Show Data.GI.CodeGen.Code.Code
- Data.GI.CodeGen.Code: instance GHC.Internal.Show.Show Data.GI.CodeGen.Code.CodeToken
- Data.GI.CodeGen.Code: instance GHC.Internal.Show.Show Data.GI.CodeGen.Code.Export
- Data.GI.CodeGen.Code: instance GHC.Internal.Show.Show Data.GI.CodeGen.Code.ExportType
- Data.GI.CodeGen.Code: instance GHC.Internal.Show.Show Data.GI.CodeGen.Code.HaddockSection
- Data.GI.CodeGen.Code: instance GHC.Internal.Show.Show Data.GI.CodeGen.Code.ModuleFlag
- Data.GI.CodeGen.Code: instance GHC.Internal.Show.Show Data.GI.CodeGen.Code.NamedSection
- Data.GI.CodeGen.Code: instance GHC.Internal.Show.Show Data.GI.CodeGen.Code.Subsection
- Data.GI.CodeGen.Config: instance GHC.Internal.Show.Show Data.GI.CodeGen.Config.Config
- Data.GI.CodeGen.Conversions: instance GHC.Internal.Base.Functor Data.GI.CodeGen.Conversions.FExpr
- Data.GI.CodeGen.Conversions: instance GHC.Internal.Base.Functor f => GHC.Internal.Base.Applicative (Data.GI.CodeGen.Conversions.Free f)
- Data.GI.CodeGen.Conversions: instance GHC.Internal.Base.Functor f => GHC.Internal.Base.Functor (Data.GI.CodeGen.Conversions.Free f)
- Data.GI.CodeGen.Conversions: instance GHC.Internal.Base.Functor f => GHC.Internal.Base.Monad (Data.GI.CodeGen.Conversions.Free f)
- Data.GI.CodeGen.Conversions: instance GHC.Internal.Data.String.IsString Data.GI.CodeGen.Conversions.Constructor
- Data.GI.CodeGen.Conversions: instance GHC.Internal.Show.Show Data.GI.CodeGen.Conversions.Constructor
- Data.GI.CodeGen.Conversions: instance GHC.Internal.Show.Show Data.GI.CodeGen.Conversions.Map
- Data.GI.CodeGen.Conversions: instance GHC.Internal.Show.Show next => GHC.Internal.Show.Show (Data.GI.CodeGen.Conversions.FExpr next)
- Data.GI.CodeGen.CtoHaskellMap: instance GHC.Internal.Show.Show Data.GI.CodeGen.CtoHaskellMap.Hyperlink
- Data.GI.CodeGen.GtkDoc: instance GHC.Internal.Show.Show Data.GI.CodeGen.GtkDoc.CRef
- Data.GI.CodeGen.GtkDoc: instance GHC.Internal.Show.Show Data.GI.CodeGen.GtkDoc.DocSymbolName
- Data.GI.CodeGen.GtkDoc: instance GHC.Internal.Show.Show Data.GI.CodeGen.GtkDoc.GtkDoc
- Data.GI.CodeGen.GtkDoc: instance GHC.Internal.Show.Show Data.GI.CodeGen.GtkDoc.Language
- Data.GI.CodeGen.GtkDoc: instance GHC.Internal.Show.Show Data.GI.CodeGen.GtkDoc.Link
- Data.GI.CodeGen.GtkDoc: instance GHC.Internal.Show.Show Data.GI.CodeGen.GtkDoc.Token
- Data.GI.CodeGen.LibGIRepository: instance GHC.Internal.Show.Show Data.GI.CodeGen.LibGIRepository.Typelib
- Data.GI.CodeGen.ModulePath: instance GHC.Internal.Base.Monoid Data.GI.CodeGen.ModulePath.ModulePath
- Data.GI.CodeGen.ModulePath: instance GHC.Internal.Base.Semigroup Data.GI.CodeGen.ModulePath.ModulePath
- Data.GI.CodeGen.ModulePath: instance GHC.Internal.Data.String.IsString Data.GI.CodeGen.ModulePath.ModulePath
- Data.GI.CodeGen.ModulePath: instance GHC.Internal.Show.Show Data.GI.CodeGen.ModulePath.ModulePath
- Data.GI.CodeGen.Overrides: instance GHC.Internal.Base.Monoid Data.GI.CodeGen.Overrides.Overrides
- Data.GI.CodeGen.Overrides: instance GHC.Internal.Base.Semigroup Data.GI.CodeGen.Overrides.Overrides
- Data.GI.CodeGen.Overrides: instance GHC.Internal.Show.Show Data.GI.CodeGen.Overrides.OSType
- Data.GI.CodeGen.Overrides: instance GHC.Internal.Show.Show Data.GI.CodeGen.Overrides.Overrides
- Data.GI.CodeGen.Overrides: instance GHC.Internal.Show.Show Data.GI.CodeGen.Overrides.ParserState
- Data.GI.GIR.Allocation: instance GHC.Internal.Show.Show Data.GI.GIR.Allocation.AllocationInfo
- Data.GI.GIR.Allocation: instance GHC.Internal.Show.Show Data.GI.GIR.Allocation.AllocationOp
- Data.GI.GIR.Arg: instance GHC.Internal.Show.Show Data.GI.GIR.Arg.Arg
- Data.GI.GIR.Arg: instance GHC.Internal.Show.Show Data.GI.GIR.Arg.Direction
- Data.GI.GIR.Arg: instance GHC.Internal.Show.Show Data.GI.GIR.Arg.Scope
- Data.GI.GIR.BasicTypes: instance GHC.Internal.Show.Show Data.GI.GIR.BasicTypes.Alias
- Data.GI.GIR.BasicTypes: instance GHC.Internal.Show.Show Data.GI.GIR.BasicTypes.BasicType
- Data.GI.GIR.BasicTypes: instance GHC.Internal.Show.Show Data.GI.GIR.BasicTypes.Name
- Data.GI.GIR.BasicTypes: instance GHC.Internal.Show.Show Data.GI.GIR.BasicTypes.Transfer
- Data.GI.GIR.BasicTypes: instance GHC.Internal.Show.Show Data.GI.GIR.BasicTypes.Type
- Data.GI.GIR.Callable: instance GHC.Internal.Show.Show Data.GI.GIR.Callable.Callable
- Data.GI.GIR.Callback: instance GHC.Internal.Show.Show Data.GI.GIR.Callback.Callback
- Data.GI.GIR.Constant: instance GHC.Internal.Show.Show Data.GI.GIR.Constant.Constant
- Data.GI.GIR.Deprecation: instance GHC.Internal.Show.Show Data.GI.GIR.Deprecation.DeprecationInfo
- Data.GI.GIR.Documentation: instance GHC.Internal.Show.Show Data.GI.GIR.Documentation.Documentation
- Data.GI.GIR.Enum: instance GHC.Internal.Show.Show Data.GI.GIR.Enum.Enumeration
- Data.GI.GIR.Enum: instance GHC.Internal.Show.Show Data.GI.GIR.Enum.EnumerationMember
- Data.GI.GIR.Field: instance GHC.Internal.Show.Show Data.GI.GIR.Field.Field
- Data.GI.GIR.Field: instance GHC.Internal.Show.Show Data.GI.GIR.Field.FieldInfoFlag
- Data.GI.GIR.Flags: instance GHC.Internal.Show.Show Data.GI.GIR.Flags.Flags
- Data.GI.GIR.Function: instance GHC.Internal.Show.Show Data.GI.GIR.Function.Function
- Data.GI.GIR.Interface: instance GHC.Internal.Show.Show Data.GI.GIR.Interface.Interface
- Data.GI.GIR.Method: instance GHC.Internal.Show.Show Data.GI.GIR.Method.Method
- Data.GI.GIR.Method: instance GHC.Internal.Show.Show Data.GI.GIR.Method.MethodType
- Data.GI.GIR.Object: instance GHC.Internal.Show.Show Data.GI.GIR.Object.Object
- Data.GI.GIR.Parser: instance GHC.Internal.Show.Show Data.GI.GIR.Parser.ParseContext
- Data.GI.GIR.Property: instance GHC.Internal.Show.Show Data.GI.GIR.Property.Property
- Data.GI.GIR.Property: instance GHC.Internal.Show.Show Data.GI.GIR.Property.PropertyFlag
- Data.GI.GIR.Signal: instance GHC.Internal.Show.Show Data.GI.GIR.Signal.Signal
- Data.GI.GIR.Struct: instance GHC.Internal.Show.Show Data.GI.GIR.Struct.Struct
- Data.GI.GIR.Union: instance GHC.Internal.Show.Show Data.GI.GIR.Union.Union
- Data.GI.GIR.XMLUtils: instance GHC.Internal.Show.Show Data.GI.GIR.XMLUtils.GIRXMLNamespace
+ Data.GI.CodeGen.API: instance GHC.Show.Show Data.GI.CodeGen.API.API
+ Data.GI.CodeGen.API: instance GHC.Show.Show Data.GI.CodeGen.API.GIRInfo
+ Data.GI.CodeGen.API: instance GHC.Show.Show Data.GI.CodeGen.API.GIRInfoParse
+ Data.GI.CodeGen.API: instance GHC.Show.Show Data.GI.CodeGen.API.GIRNameTag
+ Data.GI.CodeGen.API: instance GHC.Show.Show Data.GI.CodeGen.API.GIRNamespace
+ Data.GI.CodeGen.API: instance GHC.Show.Show Data.GI.CodeGen.API.GIRNodeSpec
+ Data.GI.CodeGen.API: instance GHC.Show.Show Data.GI.CodeGen.API.GIRRule
+ Data.GI.CodeGen.Code: instance GHC.Base.Monoid Data.GI.CodeGen.Code.Code
+ Data.GI.CodeGen.Code: instance GHC.Base.Semigroup Data.GI.CodeGen.Code.Code
+ Data.GI.CodeGen.Code: instance GHC.Show.Show Data.GI.CodeGen.Code.BaseVersion
+ Data.GI.CodeGen.Code: instance GHC.Show.Show Data.GI.CodeGen.Code.CGError
+ Data.GI.CodeGen.Code: instance GHC.Show.Show Data.GI.CodeGen.Code.CPPConditional
+ Data.GI.CodeGen.Code: instance GHC.Show.Show Data.GI.CodeGen.Code.Code
+ Data.GI.CodeGen.Code: instance GHC.Show.Show Data.GI.CodeGen.Code.CodeToken
+ Data.GI.CodeGen.Code: instance GHC.Show.Show Data.GI.CodeGen.Code.Export
+ Data.GI.CodeGen.Code: instance GHC.Show.Show Data.GI.CodeGen.Code.ExportType
+ Data.GI.CodeGen.Code: instance GHC.Show.Show Data.GI.CodeGen.Code.HaddockSection
+ Data.GI.CodeGen.Code: instance GHC.Show.Show Data.GI.CodeGen.Code.ModuleFlag
+ Data.GI.CodeGen.Code: instance GHC.Show.Show Data.GI.CodeGen.Code.NamedSection
+ Data.GI.CodeGen.Code: instance GHC.Show.Show Data.GI.CodeGen.Code.Subsection
+ Data.GI.CodeGen.Config: instance GHC.Show.Show Data.GI.CodeGen.Config.Config
+ Data.GI.CodeGen.Conversions: instance Data.String.IsString Data.GI.CodeGen.Conversions.Constructor
+ Data.GI.CodeGen.Conversions: instance GHC.Base.Functor Data.GI.CodeGen.Conversions.FExpr
+ Data.GI.CodeGen.Conversions: instance GHC.Base.Functor f => GHC.Base.Applicative (Data.GI.CodeGen.Conversions.Free f)
+ Data.GI.CodeGen.Conversions: instance GHC.Base.Functor f => GHC.Base.Functor (Data.GI.CodeGen.Conversions.Free f)
+ Data.GI.CodeGen.Conversions: instance GHC.Base.Functor f => GHC.Base.Monad (Data.GI.CodeGen.Conversions.Free f)
+ Data.GI.CodeGen.Conversions: instance GHC.Show.Show Data.GI.CodeGen.Conversions.Constructor
+ Data.GI.CodeGen.Conversions: instance GHC.Show.Show Data.GI.CodeGen.Conversions.Map
+ Data.GI.CodeGen.Conversions: instance GHC.Show.Show next => GHC.Show.Show (Data.GI.CodeGen.Conversions.FExpr next)
+ Data.GI.CodeGen.CtoHaskellMap: instance GHC.Show.Show Data.GI.CodeGen.CtoHaskellMap.Hyperlink
+ Data.GI.CodeGen.GtkDoc: instance GHC.Show.Show Data.GI.CodeGen.GtkDoc.CRef
+ Data.GI.CodeGen.GtkDoc: instance GHC.Show.Show Data.GI.CodeGen.GtkDoc.DocSymbolName
+ Data.GI.CodeGen.GtkDoc: instance GHC.Show.Show Data.GI.CodeGen.GtkDoc.GtkDoc
+ Data.GI.CodeGen.GtkDoc: instance GHC.Show.Show Data.GI.CodeGen.GtkDoc.Language
+ Data.GI.CodeGen.GtkDoc: instance GHC.Show.Show Data.GI.CodeGen.GtkDoc.Link
+ Data.GI.CodeGen.GtkDoc: instance GHC.Show.Show Data.GI.CodeGen.GtkDoc.Token
+ Data.GI.CodeGen.LibGIRepository: instance GHC.Show.Show Data.GI.CodeGen.LibGIRepository.Typelib
+ Data.GI.CodeGen.ModulePath: instance Data.String.IsString Data.GI.CodeGen.ModulePath.ModulePath
+ Data.GI.CodeGen.ModulePath: instance GHC.Base.Monoid Data.GI.CodeGen.ModulePath.ModulePath
+ Data.GI.CodeGen.ModulePath: instance GHC.Base.Semigroup Data.GI.CodeGen.ModulePath.ModulePath
+ Data.GI.CodeGen.ModulePath: instance GHC.Show.Show Data.GI.CodeGen.ModulePath.ModulePath
+ Data.GI.CodeGen.Overrides: instance GHC.Base.Monoid Data.GI.CodeGen.Overrides.Overrides
+ Data.GI.CodeGen.Overrides: instance GHC.Base.Semigroup Data.GI.CodeGen.Overrides.Overrides
+ Data.GI.CodeGen.Overrides: instance GHC.Show.Show Data.GI.CodeGen.Overrides.OSType
+ Data.GI.CodeGen.Overrides: instance GHC.Show.Show Data.GI.CodeGen.Overrides.Overrides
+ Data.GI.CodeGen.Overrides: instance GHC.Show.Show Data.GI.CodeGen.Overrides.ParserState
+ Data.GI.GIR.Allocation: instance GHC.Show.Show Data.GI.GIR.Allocation.AllocationInfo
+ Data.GI.GIR.Allocation: instance GHC.Show.Show Data.GI.GIR.Allocation.AllocationOp
+ Data.GI.GIR.Arg: instance GHC.Show.Show Data.GI.GIR.Arg.Arg
+ Data.GI.GIR.Arg: instance GHC.Show.Show Data.GI.GIR.Arg.Direction
+ Data.GI.GIR.Arg: instance GHC.Show.Show Data.GI.GIR.Arg.Scope
+ Data.GI.GIR.BasicTypes: instance GHC.Show.Show Data.GI.GIR.BasicTypes.Alias
+ Data.GI.GIR.BasicTypes: instance GHC.Show.Show Data.GI.GIR.BasicTypes.BasicType
+ Data.GI.GIR.BasicTypes: instance GHC.Show.Show Data.GI.GIR.BasicTypes.Name
+ Data.GI.GIR.BasicTypes: instance GHC.Show.Show Data.GI.GIR.BasicTypes.Transfer
+ Data.GI.GIR.BasicTypes: instance GHC.Show.Show Data.GI.GIR.BasicTypes.Type
+ Data.GI.GIR.Callable: instance GHC.Show.Show Data.GI.GIR.Callable.Callable
+ Data.GI.GIR.Callback: instance GHC.Show.Show Data.GI.GIR.Callback.Callback
+ Data.GI.GIR.Constant: instance GHC.Show.Show Data.GI.GIR.Constant.Constant
+ Data.GI.GIR.Deprecation: instance GHC.Show.Show Data.GI.GIR.Deprecation.DeprecationInfo
+ Data.GI.GIR.Documentation: instance GHC.Show.Show Data.GI.GIR.Documentation.Documentation
+ Data.GI.GIR.Enum: instance GHC.Show.Show Data.GI.GIR.Enum.Enumeration
+ Data.GI.GIR.Enum: instance GHC.Show.Show Data.GI.GIR.Enum.EnumerationMember
+ Data.GI.GIR.Field: instance GHC.Show.Show Data.GI.GIR.Field.Field
+ Data.GI.GIR.Field: instance GHC.Show.Show Data.GI.GIR.Field.FieldInfoFlag
+ Data.GI.GIR.Flags: instance GHC.Show.Show Data.GI.GIR.Flags.Flags
+ Data.GI.GIR.Function: instance GHC.Show.Show Data.GI.GIR.Function.Function
+ Data.GI.GIR.Interface: instance GHC.Show.Show Data.GI.GIR.Interface.Interface
+ Data.GI.GIR.Method: instance GHC.Show.Show Data.GI.GIR.Method.Method
+ Data.GI.GIR.Method: instance GHC.Show.Show Data.GI.GIR.Method.MethodType
+ Data.GI.GIR.Object: instance GHC.Show.Show Data.GI.GIR.Object.Object
+ Data.GI.GIR.Parser: instance GHC.Show.Show Data.GI.GIR.Parser.ParseContext
+ Data.GI.GIR.Property: instance GHC.Show.Show Data.GI.GIR.Property.Property
+ Data.GI.GIR.Property: instance GHC.Show.Show Data.GI.GIR.Property.PropertyFlag
+ Data.GI.GIR.Signal: instance GHC.Show.Show Data.GI.GIR.Signal.Signal
+ Data.GI.GIR.Struct: instance GHC.Show.Show Data.GI.GIR.Struct.Struct
+ Data.GI.GIR.Union: instance GHC.Show.Show Data.GI.GIR.Union.Union
+ Data.GI.GIR.XMLUtils: instance GHC.Show.Show Data.GI.GIR.XMLUtils.GIRXMLNamespace
- Data.GI.CodeGen.Code: type CodeGen excType a = ReaderT CodeGenConfig StateT (CGState, ModuleInfo) Except excType a
+ Data.GI.CodeGen.Code: type CodeGen excType a = ReaderT CodeGenConfig (StateT (CGState, ModuleInfo) (Except excType)) a
- Data.GI.CodeGen.GType: data GType
+ Data.GI.CodeGen.GType: data () => GType
- Data.GI.GIR.Parser: data Element
+ Data.GI.GIR.Parser: data () => Element
- Data.GI.GIR.Parser: type Parser a = ReaderT ParseContext Except ParseError a
+ Data.GI.GIR.Parser: type Parser a = ReaderT ParseContext (Except ParseError) a
Files
haskell-gi.cabal view
@@ -1,5 +1,5 @@ name: haskell-gi-version: 0.26.15+version: 0.26.16 synopsis: Generate Haskell bindings for GObject Introspection capable libraries description: Generate Haskell bindings for GObject Introspection capable libraries. This includes most notably GTK, but many other libraries in the GObject ecosystem provide introspection data too.@@ -31,7 +31,7 @@ default-language: Haskell2010 pkgconfig-depends: gobject-introspection-1.0 >= 1.32, gobject-2.0 >= 2.32 build-depends: base >= 4.11 && < 5,- haskell-gi-base >= 0.26.5 && <0.27,+ haskell-gi-base >= 0.26.9 && <0.27, Cabal >= 1.24, attoparsec >= 0.13, containers,
lib/Data/GI/CodeGen/Callable.hs view
@@ -391,17 +391,24 @@ name' <- prepareInArg arg ft <- foreignType $ argType arg allocInfo <- typeAllocInfo (argType arg)+ case allocInfo of Just (TypeAlloc allocator n) -> do- wrapMaybe arg >>= bool- (do- name'' <- genConversion (prime name') $- literal $ M $ allocator <>- " :: " <> typeShow (io ft)- line $ "memcpy " <> name'' <> " " <> name' <> " " <> tshow n- return name'')- -- The semantics of this case are somewhat undefined.- (notImplementedError "Nullable inout structs not supported")+ when (transfer arg == TransferNothing && not (argCallerAllocates arg)) $+ -- Although meaningful, this is almost always a bug in the+ -- introspection data. Better not generating code than+ -- generating code that crashes.+ notImplementedError "‘transfer-ownership=none’ ‘caller-allocates=0’ inout structs not supported"++ wrapMaybe arg >>= bool+ (do+ name'' <- genConversion (prime name') $+ literal $ M $ allocator <>+ " :: " <> typeShow (io ft)+ line $ "memcpy " <> name'' <> " " <> name' <> " " <> tshow n+ return name'')+ -- The semantics of this case are somewhat undefined.+ (notImplementedError "Nullable inout structs not supported") Nothing -> do if argCallerAllocates arg then return name'
lib/Data/GI/CodeGen/Properties.hs view
@@ -448,6 +448,8 @@ transferType <- if writable || constructOnly then propTransferType (propType prop) else return "()"+ let puttable = readable && writable && inConstraint == ("(~) " <> outType)+ let allowedOps = (if writable then ["'AttrSet", "'AttrConstruct"] else [])@@ -460,6 +462,9 @@ <> (if isNullable && propWriteNullable prop /= Just False then ["'AttrClear"] else [])+ <> (if puttable+ then ["'AttrPut"]+ else []) it <- infoType owner prop export docSection it api <- findAPIByName owner@@ -483,6 +488,9 @@ line $ "type AttrOrigin " <> it <> " = " <> name line $ "attrGet = " <> getter line $ "attrSet = " <> setter+ if puttable+ then line $ "attrPut = " <> setter+ else line $ "attrPut = undefined" if writable || constructOnly then do line $ "attrTransfer _ v = do" indent $ genPropTransfer "v" (propType prop)