1Name:           gtk3
2Version:        0.15.5
3License:        LGPL-2.1
4License-file:   COPYING
5Copyright:      (c) 2001-2010 The Gtk2Hs Team
6Author:         Axel Simon, Duncan Coutts and many others
7Maintainer:     gtk2hs-users@lists.sourceforge.net
8Build-Type:     Custom
9Cabal-Version:  >= 1.24
10Stability:      provisional
11homepage:       http://projects.haskell.org/gtk2hs/
12bug-reports:    https://github.com/gtk2hs/gtk2hs/issues
13Synopsis:       Binding to the Gtk+ 3 graphical user interface library
14Description: This is the core library of the Gtk2Hs suite of libraries for Haskell
15             based on Gtk+. Gtk+ is an extensive and mature multi-platform toolkit
16             for creating graphical user interfaces.
17Category:       Graphics
18Tested-With:    GHC == 7.0.4, GHC == 7.2.2, GHC == 7.4.1
19Extra-Source-Files: hsgtk.h
20                    Graphics/UI/Gtk/ModelView/Gtk2HsStore.h
21                    Graphics/UI/Gtk/General/hsgthread.h
22                    template-hsc-gtk2hs.h
23                    marshal.list
24                    hierarchy3.list
25
26x-Types-File:       Graphics/UI/Gtk/Types.chs
27x-Types-ModName:    Graphics.UI.Gtk.Types
28x-Types-Forward:    *System.Glib.GObject Graphics.UI.Gtk.General.Threading
29x-Types-Destructor: objectUnrefFromMainloop
30
31Data-Dir:       demo
32Data-Files:     actionMenu/ActionMenu.hs
33                actionMenu/Makefile
34
35                buttonbox/ButtonBox.hs
36                buttonbox/Makefile
37
38                carsim/CarSim.hs
39                carsim/Makefile
40
41                concurrent/Makefile
42                concurrent/Progress.hs
43                concurrent/ProgressThreadedRTS.hs
44
45                embedded/Embedded.hs
46                embedded/Makefile
47                embedded/MPlayer.hs
48                embedded/Notes.txt
49                embedded/Uzbl.hs
50
51                fastdraw/FastDraw.hs
52                fastdraw/Makefile
53
54                filechooser/FileChooserDemo.glade
55                filechooser/FileChooserDemo.hs
56                filechooser/Makefile
57
58                fonts/Fonts.hs
59                fonts/Makefile
60
61                graphic/Drawing.hs
62                graphic/Makefile
63
64                gtkbuilder/GtkBuilderTest.hs
65                gtkbuilder/Makefile
66                gtkbuilder/simple.ui
67
68                hello/Makefile
69                hello/World.hs
70
71                inputmethod/Layout.hs
72                inputmethod/Makefile
73
74                menu/ComboDemo.hs
75                menu/Makefile
76                menu/MenuDemo.hs
77
78                notebook/Notebook.hs
79                notebook/Makefile
80
81                statusicon/Makefile
82                statusicon/StatusIcon.hs
83
84                treelist/Completion.hs
85                treelist/DirList.hs
86                treelist/FilterDemo.hs
87                treelist/ListDemo.hs
88                treelist/ListDND.hs
89                treelist/ListTest.glade
90                treelist/ListTest.hs
91                treelist/ListText.hs
92                treelist/Makefile
93                treelist/rgb.txt
94                treelist/TreeDemo.hs
95                treelist/TreeSort.hs
96                treelist/TreeTest.glade
97                treelist/TreeTest.hs
98
99                treelist/resListDND/desktop.png
100                treelist/resListDND/laptop.png
101                treelist/resListDND/laptopSmall.png
102                treelist/resListDND/printer.png
103                treelist/resListDND/server.png
104                treelist/resListDND/tower.png
105
106                unicode/Arabic.hs
107                unicode/Makefile
108
109                demos.txt
110
111Source-Repository head
112  type:         git
113  location:     https://github.com/gtk2hs/gtk2hs
114  subdir:       gtk
115
116Flag have-gio
117  Description: Depend on GIO package, thereby enabling certain features.
118  Default:  True
119
120Flag build-demos
121  Description: Build the demo executables
122  Default: False
123
124Flag fmode-binary
125  Description: Set the default file translation mode for file I/O operations to _O_BINARY.
126               Some GTK libraries open image files without specifing binary mode.
127               If you have trouble loading gtk in ghci, then it may help to turn this
128               option off.
129  Default: True
130
131custom-setup
132  setup-depends: base >= 4.6,
133                 Cabal >= 1.24 && < 3.3,
134                 gtk2hs-buildtools >= 0.13.2.0 && < 0.14
135
136Library
137        build-depends:  base >= 4 && < 5,
138                        array, containers, mtl, bytestring,
139                        text >= 0.11.0.6 && < 1.3,
140                        glib  >= 0.13.0.0 && < 0.14,
141                        pango >= 0.13.0.0 && < 0.14,
142                        cairo >= 0.13.0.0 && < 0.14
143        if flag(have-gio)
144          build-depends: gio >= 0.13.0 && < 0.14
145          cpp-options:    -DHAVE_GIO
146
147        exposed-modules:
148          Graphics.UI.Gtk
149          Graphics.UI.GtkInternals
150          Graphics.UI.Gtk.Abstract.Bin
151          Graphics.UI.Gtk.Abstract.Box
152          Graphics.UI.Gtk.Abstract.ButtonBox
153          Graphics.UI.Gtk.Abstract.Container
154          Graphics.UI.Gtk.Abstract.IMContext
155          Graphics.UI.Gtk.Abstract.Misc
156          Graphics.UI.Gtk.Abstract.Object
157          Graphics.UI.Gtk.Abstract.Paned
158          Graphics.UI.Gtk.Abstract.Range
159          Graphics.UI.Gtk.Abstract.Scale
160          Graphics.UI.Gtk.Abstract.Scrollbar
161          Graphics.UI.Gtk.Abstract.Separator
162          Graphics.UI.Gtk.Abstract.Widget
163          Graphics.UI.Gtk.ActionMenuToolbar.Action
164          Graphics.UI.Gtk.ActionMenuToolbar.ActionGroup
165          Graphics.UI.Gtk.ActionMenuToolbar.RadioAction
166          Graphics.UI.Gtk.ActionMenuToolbar.RecentAction
167          Graphics.UI.Gtk.ActionMenuToolbar.ToggleAction
168          Graphics.UI.Gtk.ActionMenuToolbar.UIManager
169          Graphics.UI.Gtk.Builder
170          Graphics.UI.Gtk.Buttons.Button
171          Graphics.UI.Gtk.Buttons.CheckButton
172          Graphics.UI.Gtk.Buttons.RadioButton
173          Graphics.UI.Gtk.Buttons.ToggleButton
174          Graphics.UI.Gtk.Buttons.LinkButton
175          Graphics.UI.Gtk.Buttons.ScaleButton
176          Graphics.UI.Gtk.Buttons.VolumeButton
177          Graphics.UI.Gtk.Cairo
178          Graphics.UI.Gtk.Display.AccelLabel
179          Graphics.UI.Gtk.Display.Image
180          Graphics.UI.Gtk.Display.Label
181          Graphics.UI.Gtk.Display.ProgressBar
182          Graphics.UI.Gtk.Display.LevelBar
183          Graphics.UI.Gtk.Display.Spinner
184          Graphics.UI.Gtk.Display.Statusbar
185          Graphics.UI.Gtk.Display.StatusIcon
186          Graphics.UI.Gtk.Display.InfoBar
187          Graphics.UI.Gtk.Embedding.Plug
188          Graphics.UI.Gtk.Embedding.Socket
189          Graphics.UI.Gtk.Embedding.Types
190          Graphics.UI.Gtk.Entry.Editable
191          Graphics.UI.Gtk.Entry.Entry
192          Graphics.UI.Gtk.Entry.EntryBuffer
193          Graphics.UI.Gtk.Entry.EntryCompletion
194          Graphics.UI.Gtk.Entry.HScale
195          Graphics.UI.Gtk.Entry.SpinButton
196          Graphics.UI.Gtk.Entry.VScale
197          Graphics.UI.Gtk.Gdk.AppLaunchContext
198          Graphics.UI.Gtk.Gdk.Cursor
199          Graphics.UI.Gtk.Gdk.Keymap
200          Graphics.UI.Gtk.Gdk.Display
201          Graphics.UI.Gtk.Gdk.DisplayManager
202          Graphics.UI.Gtk.Gdk.DrawWindow
203          Graphics.UI.Gtk.Gdk.EventM
204          Graphics.UI.Gtk.Gdk.Events
205          Graphics.UI.Gtk.Gdk.Gdk
206          Graphics.UI.Gtk.Gdk.GLContext
207          Graphics.UI.Gtk.Gdk.Keys
208          Graphics.UI.Gtk.Gdk.Pixbuf
209          Graphics.UI.Gtk.Gdk.PixbufAnimation
210          Graphics.UI.Gtk.Gdk.Screen
211          Graphics.UI.Gtk.General.Clipboard
212          Graphics.UI.Gtk.General.CssProvider
213          Graphics.UI.Gtk.General.Drag
214          Graphics.UI.Gtk.General.General
215          Graphics.UI.Gtk.General.IconFactory
216          Graphics.UI.Gtk.General.IconTheme
217          Graphics.UI.Gtk.General.RcStyle
218          Graphics.UI.Gtk.General.Selection
219          Graphics.UI.Gtk.General.Settings
220          Graphics.UI.Gtk.General.StockItems
221          Graphics.UI.Gtk.General.Style
222          Graphics.UI.Gtk.General.StyleContext
223          Graphics.UI.Gtk.General.StyleProvider
224          Graphics.UI.Gtk.Layout.Alignment
225          Graphics.UI.Gtk.Layout.AspectFrame
226          Graphics.UI.Gtk.Layout.Expander
227          Graphics.UI.Gtk.Layout.Fixed
228          Graphics.UI.Gtk.Layout.Grid
229          Graphics.UI.Gtk.Layout.HBox
230          Graphics.UI.Gtk.Layout.HButtonBox
231          Graphics.UI.Gtk.Layout.HPaned
232          Graphics.UI.Gtk.Layout.Layout
233          Graphics.UI.Gtk.Layout.Notebook
234          Graphics.UI.Gtk.Layout.Overlay
235          Graphics.UI.Gtk.Layout.Table
236          Graphics.UI.Gtk.Layout.VBox
237          Graphics.UI.Gtk.Layout.VButtonBox
238          Graphics.UI.Gtk.Layout.VPaned
239          Graphics.UI.Gtk.Layout.Stack
240          Graphics.UI.Gtk.Layout.StackSwitcher
241          Graphics.UI.Gtk.MenuComboToolbar.CheckMenuItem
242          Graphics.UI.Gtk.MenuComboToolbar.ComboBox
243          Graphics.UI.Gtk.MenuComboToolbar.ImageMenuItem
244          Graphics.UI.Gtk.MenuComboToolbar.Menu
245          Graphics.UI.Gtk.MenuComboToolbar.MenuBar
246          Graphics.UI.Gtk.MenuComboToolbar.MenuItem
247          Graphics.UI.Gtk.MenuComboToolbar.MenuShell
248          Graphics.UI.Gtk.MenuComboToolbar.MenuToolButton
249          Graphics.UI.Gtk.MenuComboToolbar.RadioMenuItem
250          Graphics.UI.Gtk.MenuComboToolbar.RadioToolButton
251          Graphics.UI.Gtk.MenuComboToolbar.SeparatorMenuItem
252          Graphics.UI.Gtk.MenuComboToolbar.SeparatorToolItem
253          Graphics.UI.Gtk.MenuComboToolbar.TearoffMenuItem
254          Graphics.UI.Gtk.MenuComboToolbar.ToggleToolButton
255          Graphics.UI.Gtk.MenuComboToolbar.Toolbar
256          Graphics.UI.Gtk.MenuComboToolbar.ToolButton
257          Graphics.UI.Gtk.MenuComboToolbar.ToolItem
258          Graphics.UI.Gtk.MenuComboToolbar.ToolItemGroup
259          Graphics.UI.Gtk.MenuComboToolbar.ToolPalette
260          Graphics.UI.Gtk.Misc.Accessible
261          Graphics.UI.Gtk.Misc.Adjustment
262          Graphics.UI.Gtk.Misc.Arrow
263          Graphics.UI.Gtk.Misc.Calendar
264          Graphics.UI.Gtk.Misc.DrawingArea
265          Graphics.UI.Gtk.Misc.GLArea
266          Graphics.UI.Gtk.Misc.EventBox
267          Graphics.UI.Gtk.Misc.HandleBox
268          Graphics.UI.Gtk.Misc.IMMulticontext
269          Graphics.UI.Gtk.Misc.IMContextSimple
270          Graphics.UI.Gtk.Misc.SizeGroup
271          Graphics.UI.Gtk.Misc.Switch
272          Graphics.UI.Gtk.Misc.Tooltip
273          Graphics.UI.Gtk.Misc.Viewport
274          Graphics.UI.Gtk.ModelView
275          Graphics.UI.Gtk.ModelView.CellEditable
276          Graphics.UI.Gtk.ModelView.CellLayout
277          Graphics.UI.Gtk.ModelView.CellRenderer
278          Graphics.UI.Gtk.ModelView.CellRendererSpinner
279          Graphics.UI.Gtk.ModelView.CellRendererCombo
280          Graphics.UI.Gtk.ModelView.CellRendererPixbuf
281          Graphics.UI.Gtk.ModelView.CellRendererProgress
282          Graphics.UI.Gtk.ModelView.CellRendererText
283          Graphics.UI.Gtk.ModelView.CellRendererAccel
284          Graphics.UI.Gtk.ModelView.CellRendererSpin
285          Graphics.UI.Gtk.ModelView.CellRendererToggle
286          Graphics.UI.Gtk.ModelView.CellView
287          Graphics.UI.Gtk.ModelView.CustomStore
288          Graphics.UI.Gtk.ModelView.IconView
289          Graphics.UI.Gtk.ModelView.ListStore
290          Graphics.UI.Gtk.ModelView.TreeDrag
291          Graphics.UI.Gtk.ModelView.TreeModel
292          Graphics.UI.Gtk.ModelView.TreeModelFilter
293          Graphics.UI.Gtk.ModelView.TreeModelSort
294          Graphics.UI.Gtk.ModelView.TreeRowReference
295          Graphics.UI.Gtk.ModelView.TreeSelection
296          Graphics.UI.Gtk.ModelView.TreeSortable
297          Graphics.UI.Gtk.ModelView.TreeStore
298          Graphics.UI.Gtk.ModelView.TreeView
299          Graphics.UI.Gtk.ModelView.TreeViewColumn
300          Graphics.UI.Gtk.Multiline.TextBuffer
301          Graphics.UI.Gtk.Multiline.TextIter
302          Graphics.UI.Gtk.Multiline.TextMark
303          Graphics.UI.Gtk.Multiline.TextTag
304          Graphics.UI.Gtk.Multiline.TextTagTable
305          Graphics.UI.Gtk.Multiline.TextView
306          Graphics.UI.Gtk.Ornaments.Frame
307          Graphics.UI.Gtk.Ornaments.HSeparator
308          Graphics.UI.Gtk.Ornaments.VSeparator
309          Graphics.UI.Gtk.Printing.PaperSize
310          Graphics.UI.Gtk.Printing.PageSetup
311          Graphics.UI.Gtk.Printing.PrintContext
312          Graphics.UI.Gtk.Printing.PrintOperation
313          Graphics.UI.Gtk.Printing.PrintSettings
314          Graphics.UI.Gtk.Recent.RecentChooserMenu
315          Graphics.UI.Gtk.Recent.RecentChooserWidget
316          Graphics.UI.Gtk.Recent.RecentFilter
317          Graphics.UI.Gtk.Recent.RecentManager
318          Graphics.UI.Gtk.Recent.RecentInfo
319          Graphics.UI.Gtk.Recent.RecentChooser
320          Graphics.UI.Gtk.Scrolling.HScrollbar
321          Graphics.UI.Gtk.Scrolling.ScrolledWindow
322          Graphics.UI.Gtk.Scrolling.VScrollbar
323          Graphics.UI.Gtk.Selectors.ColorButton
324          Graphics.UI.Gtk.Selectors.ColorSelection
325          Graphics.UI.Gtk.Selectors.ColorSelectionDialog
326          Graphics.UI.Gtk.Selectors.FileChooser
327          Graphics.UI.Gtk.Selectors.FileChooserButton
328          Graphics.UI.Gtk.Selectors.FileChooserDialog
329          Graphics.UI.Gtk.Selectors.FileChooserWidget
330          Graphics.UI.Gtk.Selectors.FileFilter
331          Graphics.UI.Gtk.Selectors.FontButton
332          Graphics.UI.Gtk.Selectors.FontSelection
333          Graphics.UI.Gtk.Selectors.FontSelectionDialog
334          Graphics.UI.Gtk.Selectors.HSV
335          Graphics.UI.Gtk.Windows.AboutDialog
336          Graphics.UI.Gtk.Windows.Assistant
337          Graphics.UI.Gtk.Windows.Dialog
338          Graphics.UI.Gtk.Windows.Invisible
339          Graphics.UI.Gtk.Windows.MessageDialog
340          Graphics.UI.Gtk.Windows.Window
341          Graphics.UI.Gtk.Windows.OffscreenWindow
342          Graphics.UI.Gtk.Windows.WindowGroup
343          Graphics.UI.Gtk.General.Enums
344          Graphics.UI.Gtk.Types
345        other-modules:
346          Graphics.UI.Gtk.Gdk.Enums
347          Graphics.UI.Gtk.Gdk.PixbufData
348          Graphics.UI.Gtk.General.Structs
349          Graphics.UI.Gtk.ModelView.Types
350          Graphics.UI.Gtk.ModelView.Sequence
351          Graphics.UI.Gtk.Multiline.Types
352          Graphics.UI.Gtk.Abstract.ContainerChildProperties
353          Graphics.UI.Gtk.General.DNDTypes
354          Graphics.UI.Gtk.General.Threading
355          Graphics.UI.Gtk.Signals
356
357        default-language:   Haskell98
358        default-extensions: ForeignFunctionInterface
359        c-sources: Graphics/UI/Gtk/ModelView/Gtk2HsStore.c
360                   Graphics/UI/Gtk/General/hsgthread.c
361          -- Due to http://hackage.haskell.org/trac/ghc/ticket/781
362        -- we need to compile the hsgthread.c module with -fPIC to ensure that a global
363        -- variable in GLib that holds the address for the mutex lock and unlock functions
364        -- is accessed correctly. This bug only exists on x86-64 platforms.
365        if arch(x86_64)
366          cc-options:      -fPIC
367        x-Signals-File:  Graphics/UI/Gtk/Signals.chs
368        x-Signals-Modname: Graphics.UI.Gtk.Signals
369        x-Signals-Types: marshal.list
370        -- the following field is only needed because the gtk package may have callbacks that
371        -- take 'Widget's as arguments which, in turn, need gObjectUnrefFromMainloop which
372        -- needs to be imported from this module:
373        x-Signals-Import: Graphics.UI.Gtk.General.Threading
374        include-dirs:   .
375        cpp-options: -DDISABLE_DEPRECATED -U__BLOCKS__ -DGLIB_DISABLE_DEPRECATION_WARNINGS
376        if os(darwin) || os(freebsd) || os(dragonfly)
377          cpp-options: -D_Nullable= -D_Nonnull= -D_Noreturn= -D_Bool=int  -D__attribute__(x)=
378        if os(windows)
379          cpp-options:    -DWIN32 -fno-exceptions
380          cc-options:     -fno-exceptions
381          extra-libraries: kernel32
382
383        if os(windows)
384          cpp-options: -D__USE_MINGW_ANSI_STDIO=1
385
386        x-c2hs-Header:  hsgtk.h
387        x-Types-Hierarchy:  hierarchy3.list
388
389        x-Types-Tag: default
390
391        if os(windows) && flag(fmode-binary)
392          cc-options: -DGTK2HS_SET_FMODE_BINARY
393
394        pkgconfig-depends: gthread-2.0, gtk+-3.0
395
396Executable gtk2hs-demo-actionMenu
397    default-language: Haskell98
398    hs-source-dirs: demo/actionMenu
399    main-is: ActionMenu.hs
400    if !flag(build-demos)
401      buildable: False
402    build-depends: gtk3, base, transformers, text
403
404Executable gtk2hs-demo-buttonBox
405    default-language: Haskell98
406    hs-source-dirs: demo/buttonbox
407    main-is: ButtonBox.hs
408    if !flag(build-demos)
409      buildable: False
410    build-depends: gtk3, base, transformers
411
412Executable gtk2hs-demo-carsim
413    default-language: Haskell98
414    hs-source-dirs: demo/carsim
415    main-is: CarSim.hs
416    if !flag(build-demos)
417      buildable: False
418    build-depends: gtk3, base, transformers, time, cairo
419
420Executable gtk2hs-demo-progress
421    default-language: Haskell98
422    hs-source-dirs: demo/concurrent
423    main-is: Progress.hs
424    if !flag(build-demos)
425      buildable: False
426    build-depends: gtk3, base, transformers
427
428Executable gtk2hs-demo-progressThreadedRTS
429    default-language: Haskell98
430    hs-source-dirs: demo/concurrent
431    main-is: ProgressThreadedRTS.hs
432    if !flag(build-demos)
433      buildable: False
434    build-depends: gtk3, base, transformers
435    ghc-options: -threaded
436
437Executable gtk2hs-demo-fastDraw
438    default-language: Haskell98
439    hs-source-dirs: demo/fastdraw
440    main-is: FastDraw.hs
441    if !flag(build-demos)
442      buildable: False
443    build-depends: gtk3, base, transformers, array, cairo
444
445Executable gtk2hs-demo-fonts
446    default-language: Haskell98
447    hs-source-dirs: demo/fonts
448    main-is: Fonts.hs
449    if !flag(build-demos)
450      buildable: False
451    build-depends: gtk3, base
452
453Executable gtk2hs-demo-builder
454    default-language: Haskell98
455    hs-source-dirs: demo/gtkbuilder
456    main-is: GtkBuilderTest.hs
457    if !flag(build-demos)
458      buildable: False
459    build-depends: gtk3, base, transformers
460
461Executable gtk2hs-demo-helloworld
462    default-language: Haskell98
463    hs-source-dirs: demo/hello
464    main-is: World.hs
465    if !flag(build-demos)
466      buildable: False
467    build-depends: gtk3, base, transformers
468
469Executable gtk2hs-demo-layout
470    default-language: Haskell98
471    hs-source-dirs: demo/inputmethod
472    main-is: Layout.hs
473    if !flag(build-demos)
474      buildable: False
475    build-depends: gtk3, base, transformers, cairo, text
476
477Executable gtk2hs-demo-menudemo
478    default-language: Haskell98
479    hs-source-dirs: demo/menu
480    main-is: MenuDemo.hs
481    if !flag(build-demos)
482      buildable: False
483    build-depends: gtk3, base, transformers, text
484
485Executable gtk2hs-demo-combodemo
486    default-language: Haskell98
487    hs-source-dirs: demo/menu
488    main-is: ComboDemo.hs
489    if !flag(build-demos)
490      buildable: False
491    build-depends: gtk3, text, base, transformers
492
493Executable gtk2hs-demo-notebook
494    default-language: Haskell98
495    hs-source-dirs: demo/notebook
496    main-is: Notebook.hs
497    if !flag(build-demos)
498      buildable: False
499    build-depends: gtk3, base, transformers, text
500
501Executable gtk2hs-demo-statusIcon
502    default-language: Haskell98
503    hs-source-dirs: demo/statusicon
504    main-is: StatusIcon.hs
505    if !flag(build-demos)
506      buildable: False
507    build-depends: gtk3, base, transformers
508
509Executable gtk2hs-demo-arabic
510    default-language: Haskell98
511    hs-source-dirs: demo/unicode
512    main-is: Arabic.hs
513    if !flag(build-demos)
514      buildable: False
515    build-depends: gtk3, base, transformers, text
516
517Executable gtk2hs-demo-overlay
518    default-language: Haskell98
519    hs-source-dirs: demo/overlay
520    main-is: Overlay.hs
521    if !flag(build-demos)
522      buildable: False
523    build-depends: gtk3, base, transformers
524