summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-haskell/gtk
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-haskell/gtk')
-rw-r--r--dev-haskell/gtk/Manifest8
-rw-r--r--dev-haskell/gtk/files/gtk-0.12.0-ghc-7.2.patch23
-rw-r--r--dev-haskell/gtk/files/gtk-0.12.3-glib-2.32.patch18
-rw-r--r--dev-haskell/gtk/files/gtk-0.12.3.1-ghc-7.6.patch287
-rw-r--r--dev-haskell/gtk/files/gtk-0.13.4-ghc-7.10.patch20
-rw-r--r--dev-haskell/gtk/gtk-0.12.0.ebuild41
-rw-r--r--dev-haskell/gtk/gtk-0.12.4-r1.ebuild47
-rw-r--r--dev-haskell/gtk/gtk-0.12.5.0.2.ebuild48
-rw-r--r--dev-haskell/gtk/gtk-0.12.5.7.2.ebuild63
-rw-r--r--dev-haskell/gtk/gtk-0.13.3.0.2.ebuild51
-rw-r--r--dev-haskell/gtk/gtk-0.13.4.0.2.ebuild60
-rw-r--r--dev-haskell/gtk/gtk-0.13.6.0.2.ebuild58
-rw-r--r--dev-haskell/gtk/gtk-0.13.7.0.2.ebuild60
-rw-r--r--dev-haskell/gtk/metadata.xml17
14 files changed, 801 insertions, 0 deletions
diff --git a/dev-haskell/gtk/Manifest b/dev-haskell/gtk/Manifest
new file mode 100644
index 000000000000..87c20a57d931
--- /dev/null
+++ b/dev-haskell/gtk/Manifest
@@ -0,0 +1,8 @@
+DIST gtk-0.12.0.tar.gz 655682 SHA256 423fdd63794b88c822a3aeb8f8bbf5c846fe7c9630a81516cd0daa0cd2001ee7 SHA512 9e4667c4df9181665aafb38743dfdf51d89144ea36579f7761c73fdff5245f1f496d2bcdb1932958f5b870ccd6eda6a23d2bf04017727812d176c974178a1e6f WHIRLPOOL a112222fbd48cdf04e3bf0cc3acf0337a5cb0ff7cd02695691dc6aa0196efccb8f8c4a73a8870024713a4c9a60c3d71bbe06ff7ddfd11e71878c091a211937de
+DIST gtk-0.12.4.tar.gz 661848 SHA256 e21ed8c3c7c0345bbaec8f1537a8605c64804e9937cef0cc9a84fce65274ce70 SHA512 0ab19e103e9695a19cfe9554b7b5d99d81c05d4464d4ad072028e2bf7a4f509b7b76ff76c476fdebc43514d9da52b1d7f6797e7114963515c32163e964102a65 WHIRLPOOL 56288954983277a1ddfaf5a04a3cd0727dd4998ccba82ab6070975a7f3b6fd99db7b0b09177fdc9006630d1781db5e539dfbe92a6a702f1db76ad13f25b19091
+DIST gtk-0.12.5.0.tar.gz 670530 SHA256 56683c26d9da4c60265e54ef52ec6ceb3bb771b48e4e84fe98e0cca954ea42f6 SHA512 e4632cf46a3d63a9562fcc4866c29d3aed048e358a17fbc0c2340ff32449b156230af051b3e99e79796e9c27824f4ba0d164d5109da92b459b020efbf9fef9f0 WHIRLPOOL 15619e86232d121285f88353e457d4593d05084240586156f48ad67029a062a1b0330e2d2790486eb6c6f5a971d7df29879935fac99cddfd644d268aaf94eded
+DIST gtk-0.12.5.7.tar.gz 671695 SHA256 7c1c759dbbd7dec96da17e294d4d91542e731e62e41c9647394394df7a245d41 SHA512 ec8bb9a97f329a6be314d05481027bfe38317d3c16b48209d71a56b82dcf797cab1b1c94726a66d66677858523306ff59ab225b09d36f32b678a8b11a9ad165c WHIRLPOOL 32cf792f5d499ea304a8aaff21a63f85a7cb0aa1eeda1880bf573f8920d5d3c0757209b49bdc6811acb49e7e5131ce25997b145914871f52e0963817e82d0138
+DIST gtk-0.13.3.tar.gz 678376 SHA256 879bbfe5a9b0bda7d1a4a7e695b39173c8a1f766745bd0994dc5f83b4a36db04 SHA512 b0c4981bdd964b382d8dd746dcc18f24dc5b81f8cfd448083ad8461e2e6c17c71106f6fd59cfeaeaec912e8416a7b4e924daf7163f51aec6b84202fafa0dab87 WHIRLPOOL fe5541af483ac89a6d451393eaeb2ef2e7a6dc937c3c3deb61d725c98f2fe7fe90c01025b4c76a3a20ef2a89e92cb7034fde2c07dd59cadb69ef1a412edfafa3
+DIST gtk-0.13.4.tar.gz 678430 SHA256 171ffd0464938b4be3cd161911d8ddbaa71e11afe786abe64b7c787986e4ccf5 SHA512 5957ea6cb87d3dedc91050757dc99035c04b63f5ac4ffaa835b4aaf7b98f380756237365e9d2873ddffbe7dbe37b95b2f8a6dbc0ffea2110c3a8c57a6a2522c7 WHIRLPOOL 4f9c437b378f1471cad231fe2d02f3f144348a0843050f37aad6a7bbe3c68eba8316059c76ba1cc1053465bedaefef7e557ca3e32bc0713c0ff8845b5543fe7b
+DIST gtk-0.13.6.tar.gz 686960 SHA256 4c74ab4affda49230c0f98bd67276d114484ac3857f7e8a22d1e66339dda43f6 SHA512 7b5b0c6c0c369592ab686b21332f03ddbc8fe1432ca99cba31c35073ae9bf431a2f19a51e5584c0eeb6e006790625bfbdbf302aa052cc4dcbc19f7988de57a2e WHIRLPOOL ce61c7597ac7bcd3a0f63c6eb0b85c59802ceb5f6b906b10178828576776780a4bc851402a37a4d4c0ffafb4b3715e0cd5c815633213180af6975ab0541c762c
+DIST gtk-0.13.7.tar.gz 684611 SHA256 323a468a71a831802ecc3c98f2d015a79516a2304b3c9f3a2013fa3b216a39d7 SHA512 12d4e7e7ed79fd2ca9e5dc09a4a97b0b89fa22c63bb62e01087da205246fc2a28a9f9bc0622316c0cd64ea110f43405320df784ebf51d8da4bf74219c6e7191c WHIRLPOOL 34098aa925f02105b2cc6e1ce8633b122a75cfd6ea9097996056c0d0ea0672fe0b14454a789959fa41d9a504901bbfac9d831a431436bf65b600b6e840e0e257
diff --git a/dev-haskell/gtk/files/gtk-0.12.0-ghc-7.2.patch b/dev-haskell/gtk/files/gtk-0.12.0-ghc-7.2.patch
new file mode 100644
index 000000000000..1d454c5f06ea
--- /dev/null
+++ b/dev-haskell/gtk/files/gtk-0.12.0-ghc-7.2.patch
@@ -0,0 +1,23 @@
+diff --git a/Graphics/UI/Gtk/General/Structs.hsc b/Graphics/UI/Gtk/General/Structs.hsc
+index 2df0385..c1b8452 100644
+--- a/Graphics/UI/Gtk/General/Structs.hsc
++++ b/Graphics/UI/Gtk/General/Structs.hsc
+@@ -1,4 +1,5 @@
+ {-# LANGUAGE ScopedTypeVariables, TypeSynonymInstances #-}
++{-# LANGUAGE FlexibleInstances #-}
+ {-# OPTIONS_HADDOCK hide #-}
+ -- -*-haskell-*-
+
+diff --git a/gtk.cabal b/gtk.cabal
+index bd97975..aa7165f 100644
+--- a/gtk.cabal
++++ b/gtk.cabal
+@@ -126,7 +126,7 @@ Flag have-gio
+
+ Library
+ build-depends: base >= 4 && < 5,
+- array, containers, haskell98, mtl, bytestring,
++ array, containers, mtl, bytestring,
+ glib >= 0.12.0 && < 0.13,
+ pango >= 0.12.0 && < 0.13,
+ cairo >= 0.12.0 && < 0.13
diff --git a/dev-haskell/gtk/files/gtk-0.12.3-glib-2.32.patch b/dev-haskell/gtk/files/gtk-0.12.3-glib-2.32.patch
new file mode 100644
index 000000000000..1f07c0737150
--- /dev/null
+++ b/dev-haskell/gtk/files/gtk-0.12.3-glib-2.32.patch
@@ -0,0 +1,18 @@
+fix build failure against recent glib-2.32
+
+In file included from Graphics/UI/Gtk/General/hsgthread.c:29:0:
+
+/usr/include/glib-2.0/glib/gthread.h:28:2:
+ ошибка: #error "Only <glib.h> can be included directly."
+diff --git a/Graphics/UI/Gtk/General/hsgthread.c b/Graphics/UI/Gtk/General/hsgthread.c
+index 5eaed46..6d20e73 100644
+--- a/Graphics/UI/Gtk/General/hsgthread.c
++++ b/Graphics/UI/Gtk/General/hsgthread.c
+@@ -26,7 +26,6 @@
+ */
+
+ #include <glib.h>
+-#include <glib/gthread.h>
+ #include <gdk/gdk.h>
+ #include "hsgthread.h"
+
diff --git a/dev-haskell/gtk/files/gtk-0.12.3.1-ghc-7.6.patch b/dev-haskell/gtk/files/gtk-0.12.3.1-ghc-7.6.patch
new file mode 100644
index 000000000000..ab5a9973f4d6
--- /dev/null
+++ b/dev-haskell/gtk/files/gtk-0.12.3.1-ghc-7.6.patch
@@ -0,0 +1,287 @@
+--- gtk-0.12.3.1-orig/Graphics/UI/Gtk/Windows/Assistant.chs 2012-06-18 07:39:34.000000000 +1000
++++ gtk-0.12.3.1/Graphics/UI/Gtk/Windows/Assistant.chs 2012-10-11 12:51:38.040935853 +1100
+@@ -274,7 +274,7 @@
+ {#pointer AssistantPageFunc#}
+
+ foreign import ccall "wrapper" mkAssistantPageFunc ::
+- ({#type glong#} -> Ptr () -> IO {#type glong#})
++ ({#type gint#} -> Ptr () -> IO {#type gint#})
+ -> IO AssistantPageFunc
+
+ -- | Sets the page type for @page@. The page type determines the page behavior
+--- gtk-0.12.3.1-orig/Graphics/UI/Gtk/Multiline/TextIter.chs 2012-06-18 07:39:34.000000000 +1000
++++ gtk-0.12.3.1/Graphics/UI/Gtk/Multiline/TextIter.chs 2012-10-11 12:50:59.510893025 +1100
+@@ -797,7 +797,7 @@
+ {#pointer TextCharPredicate#}
+
+ foreign import ccall "wrapper" mkTextCharPredicate ::
+- ({#type gunichar#} -> Ptr () -> {#type gboolean#}) -> IO TextCharPredicate
++ ({#type gunichar#} -> Ptr () -> IO {#type gboolean#}) -> IO TextCharPredicate
+
+ -- | Move 'TextIter' forward until a
+ -- predicate function returns True.
+@@ -810,7 +810,7 @@
+ textIterForwardFindChar :: TextIter -> (Char -> Bool) -> Maybe TextIter ->
+ IO Bool
+ textIterForwardFindChar ti pred limit = do
+- fPtr <- mkTextCharPredicate (\c _ -> fromBool $ pred (chr (fromIntegral c)))
++ fPtr <- mkTextCharPredicate (\c _ -> return $ fromBool $ pred (chr (fromIntegral c)))
+ res <- liftM toBool $ {#call text_iter_forward_find_char#}
+ ti fPtr nullPtr (fromMaybe (TextIter nullForeignPtr) limit)
+ freeHaskellFunPtr fPtr
+@@ -827,7 +827,7 @@
+ textIterBackwardFindChar :: TextIter -> (Char -> Bool) -> Maybe TextIter ->
+ IO Bool
+ textIterBackwardFindChar ti pred limit = do
+- fPtr <- mkTextCharPredicate (\c _ -> fromBool $ pred (chr (fromIntegral c)))
++ fPtr <- mkTextCharPredicate (\c _ -> return $ fromBool $ pred (chr (fromIntegral c)))
+ res <- liftM toBool $ {#call text_iter_backward_find_char#}
+ ti fPtr nullPtr (fromMaybe (TextIter nullForeignPtr) limit)
+ freeHaskellFunPtr fPtr
+--- gtk-0.12.3.1-orig/Graphics/UI/Gtk/ModelView/TreeView.chs 2012-06-18 07:39:34.000000000 +1000
++++ gtk-0.12.3.1/Graphics/UI/Gtk/ModelView/TreeView.chs 2012-10-11 12:50:02.711356413 +1100
+@@ -582,7 +582,7 @@
+ {#pointer TreeViewColumnDropFunc#}
+
+ foreign import ccall "wrapper" mkTreeViewColumnDropFunc ::
+- (Ptr () -> Ptr TreeViewColumn -> Ptr TreeViewColumn -> Ptr TreeViewColumn ->
++ (Ptr TreeView -> Ptr TreeViewColumn -> Ptr TreeViewColumn -> Ptr TreeViewColumn ->
+ Ptr () -> IO {#type gboolean#}) -> IO TreeViewColumnDropFunc
+
+ -- | Scroll to a coordinate.
+@@ -798,7 +798,7 @@
+ {#pointer TreeViewMappingFunc#}
+
+ foreign import ccall "wrapper" mkTreeViewMappingFunc ::
+- (Ptr () -> Ptr NativeTreePath -> Ptr () -> IO ()) ->
++ (Ptr TreeView -> Ptr NativeTreePath -> Ptr () -> IO ()) ->
+ IO TreeViewMappingFunc
+
+ -- | Check if row is expanded.
+--- gtk-0.12.3.1-orig/Graphics/UI/Gtk/ModelView/TreeSelection.chs 2012-06-18 07:39:34.000000000 +1000
++++ gtk-0.12.3.1/Graphics/UI/Gtk/ModelView/TreeSelection.chs 2012-10-11 12:49:22.402264615 +1100
+@@ -151,7 +151,7 @@
+ treeSelectionSetSelectFunction :: TreeSelectionClass self => self
+ -> TreeSelectionCB -> IO ()
+ treeSelectionSetSelectFunction ts fun = do
+- fPtr <- mkTreeSelectionFunc (\_ _ tp _ -> do
++ fPtr <- mkTreeSelectionFunc (\_ _ tp _ _ -> do
+ path <- peekTreePath (castPtr tp)
+ liftM fromBool $ fun path
+ )
+@@ -168,7 +168,7 @@
+ {#pointer TreeSelectionFunc#}
+
+ foreign import ccall "wrapper" mkTreeSelectionFunc ::
+- (Ptr () -> Ptr () -> Ptr TreePath -> Ptr () -> IO CInt)->
++ (Ptr TreeSelection -> Ptr TreeModel -> Ptr NativeTreePath -> {#type gint#} -> Ptr () -> IO CInt)->
+ IO TreeSelectionFunc
+
+ -- | Retrieve the 'TreeView' widget that this 'TreeSelection' works on.
+@@ -199,7 +199,7 @@
+ -> TreeSelectionForeachCB
+ -> IO ()
+ treeSelectionSelectedForeach self fun = do
+- fPtr <- mkTreeSelectionForeachFunc (\_ _ iterPtr -> do
++ fPtr <- mkTreeSelectionForeachFunc (\_ _ iterPtr _ -> do
+ -- make a deep copy of the iterator. This makes it possible to store this
+ -- iterator in Haskell land somewhere. The TreeModel parameter is not
+ -- passed to the function due to performance reasons. But since it is
+@@ -219,7 +219,7 @@
+ {#pointer TreeSelectionForeachFunc#}
+
+ foreign import ccall "wrapper" mkTreeSelectionForeachFunc ::
+- (Ptr () -> Ptr () -> Ptr TreeIter -> IO ()) -> IO TreeSelectionForeachFunc
++ (Ptr TreeModel -> Ptr NativeTreePath -> Ptr TreeIter -> Ptr () -> IO ()) -> IO TreeSelectionForeachFunc
+
+ #if GTK_CHECK_VERSION(2,2,0)
+ -- | Creates a list of paths of all selected rows.
+--- gtk-0.12.3.1-orig/Graphics/UI/Gtk/ModelView/TreeModelFilter.chs 2012-06-18 07:39:34.000000000 +1000
++++ gtk-0.12.3.1/Graphics/UI/Gtk/ModelView/TreeModelFilter.chs 2012-10-11 12:47:30.867237897 +1100
+@@ -160,7 +160,7 @@
+ {#pointer TreeModelFilterVisibleFunc #}
+
+ foreign import ccall "wrapper" mkTreeModelFilterVisibleFunc ::
+- (Ptr TreeModelFilter -> Ptr TreeIter -> Ptr () -> IO {#type gboolean#}) ->
++ (Ptr TreeModel -> Ptr TreeIter -> Ptr () -> IO {#type gboolean#}) ->
+ IO TreeModelFilterVisibleFunc
+
+ -- %hash c:a56d d:b42e
+--- gtk-0.12.3.1-orig/Graphics/UI/Gtk/ModelView/TreeModel.chs 2012-06-18 07:39:34.000000000 +1000
++++ gtk-0.12.3.1/Graphics/UI/Gtk/ModelView/TreeModel.chs 2012-10-11 12:47:06.478576590 +1100
+@@ -427,7 +427,7 @@
+ {#pointer TreeModelForeachFunc#}
+
+ foreign import ccall "wrapper" mkTreeModelForeachFunc ::
+- (Ptr () -> Ptr () -> Ptr TreeIter -> Ptr () -> IO CInt) ->
++ (Ptr TreeModel -> Ptr NativeTreePath -> Ptr TreeIter -> Ptr () -> IO CInt) ->
+ IO TreeModelForeachFunc
+
+ #if GTK_CHECK_VERSION(2,2,0)
+--- gtk-0.12.3.1-orig/Graphics/UI/Gtk/MenuComboToolbar/ComboBox.chs 2012-06-18 07:39:34.000000000 +1000
++++ gtk-0.12.3.1/Graphics/UI/Gtk/MenuComboToolbar/ComboBox.chs 2012-10-11 12:46:41.970912216 +1100
+@@ -493,17 +493,17 @@
+ {# call gtk_combo_box_set_row_separator_func #}
+ (toComboBox self) nullFunPtr nullPtr nullFunPtr
+ comboBoxSetRowSeparatorSource self (Just (model, extract)) = do
+- funPtr <- mkRowSeparatorFunc $ \_ iterPtr -> do
++ funPtr <- mkRowSeparatorFunc $ \_ iterPtr _ -> do
+ iter <- peek iterPtr
+ value <- customStoreGetRow model iter
+- return (extract value)
++ return (fromBool $ extract value)
+ {# call gtk_combo_box_set_row_separator_func #}
+ (toComboBox self) funPtr (castFunPtrToPtr funPtr) destroyFunPtr
+
+ {#pointer TreeViewRowSeparatorFunc#}
+
+ foreign import ccall "wrapper" mkRowSeparatorFunc ::
+- (Ptr TreeModel -> Ptr TreeIter -> IO Bool) -> IO TreeViewRowSeparatorFunc
++ (Ptr TreeModel -> Ptr TreeIter -> Ptr () -> IO {#type gboolean #}) -> IO TreeViewRowSeparatorFunc
+
+ -- %hash c:5bf8
+ -- | Sets whether the popup menu should have a tearoff menu item.
+--- gtk-0.12.3.1-orig/Graphics/UI/Gtk/General/Clipboard.chs 2012-06-18 07:39:34.000000000 +1000
++++ gtk-0.12.3.1/Graphics/UI/Gtk/General/Clipboard.chs 2012-10-11 12:45:41.325267512 +1100
+@@ -260,7 +260,7 @@
+ -- data succeeded.
+ clipboardSetWithData self targets getFunc clearFunc = do
+ gFunPtr <- mkClipboardGetFunc
+- (\_ sPtr info -> runReaderT (getFunc info) sPtr >> return ())
++ (\_ sPtr info _ -> runReaderT (getFunc info) sPtr >> return ())
+ cFunPtr <- mkClipboardClearFunc
+ (\_ _ -> clearFunc)
+ res <- withTargetEntries targets $ \nTargets targets ->
+@@ -282,7 +282,7 @@
+ {#pointer ClipboardClearFunc#}
+
+ foreign import ccall "wrapper" mkClipboardGetFunc ::
+- (Ptr Clipboard -> Ptr () -> {#type guint#} -> IO ()) -> IO ClipboardGetFunc
++ (Ptr Clipboard -> Ptr () -> {#type guint#} -> Ptr () -> IO ()) -> IO ClipboardGetFunc
+
+ foreign import ccall "wrapper" mkClipboardClearFunc ::
+ (Ptr Clipboard -> Ptr () -> IO ()) -> IO ClipboardClearFunc
+@@ -313,7 +313,7 @@
+ -- ignored.
+ clipboardSetWithOwner self targets getFunc clearFunc owner = do
+ gFunPtr <- mkClipboardGetFunc
+- (\_ sPtr info -> runReaderT (getFunc info) sPtr >> return ())
++ (\_ sPtr info _ -> runReaderT (getFunc info) sPtr >> return ())
+ cFunPtr <- mkClipboardClearFunc
+ (\_ _ -> clearFunc)
+ res <- withTargetEntries targets $ \nTargets targets ->
+@@ -404,7 +404,7 @@
+ clipboardRequestContents self (Atom target) callback = do
+ cbRef <- newIORef nullFunPtr
+ cbPtr <- mkClipboardReceivedFunc
+- (\_ sPtr -> do
++ (\_ sPtr _ -> do
+ freeHaskellFunPtr =<< readIORef cbRef
+ runReaderT callback sPtr
+ return ())
+@@ -418,7 +418,7 @@
+ {#pointer ClipboardReceivedFunc#}
+
+ foreign import ccall "wrapper" mkClipboardReceivedFunc ::
+- (Ptr Clipboard -> Ptr () -> IO ()) -> IO ClipboardReceivedFunc
++ (Ptr Clipboard -> Ptr () -> Ptr () -> IO ()) -> IO ClipboardReceivedFunc
+
+ -- %hash c:7bb1 d:4ef1
+ -- | Requests the contents of the clipboard as text. When the text is later
+@@ -439,7 +439,7 @@
+ clipboardRequestText self callback = do
+ cbRef <- newIORef nullFunPtr
+ cbPtr <- mkClipboardTextReceivedFunc
+- (\_ sPtr -> do
++ (\_ sPtr _ -> do
+ freeHaskellFunPtr =<< readIORef cbRef
+ mStr <- if sPtr==nullPtr then return Nothing else
+ liftM Just $ peekUTFString sPtr
+@@ -453,7 +453,7 @@
+ {#pointer ClipboardTextReceivedFunc#}
+
+ foreign import ccall "wrapper" mkClipboardTextReceivedFunc ::
+- (Ptr Clipboard -> CString -> IO ()) -> IO ClipboardTextReceivedFunc
++ (Ptr Clipboard -> CString -> Ptr () -> IO ()) -> IO ClipboardTextReceivedFunc
+
+
+ #if GTK_CHECK_VERSION(2,6,0)
+@@ -477,7 +477,7 @@
+ clipboardRequestImage self callback = do
+ cbRef <- newIORef nullFunPtr
+ cbPtr <- mkClipboardImageReceivedFunc
+- (\_ sPtr -> do
++ (\_ sPtr _ -> do
+ freeHaskellFunPtr =<< readIORef cbRef
+ mPixbuf <- maybeNull (makeNewGObject mkPixbuf) (return sPtr)
+ callback mPixbuf)
+@@ -490,7 +490,7 @@
+ {#pointer ClipboardImageReceivedFunc#}
+
+ foreign import ccall "wrapper" mkClipboardImageReceivedFunc ::
+- (Ptr Clipboard -> Ptr Pixbuf -> IO ()) -> IO ClipboardImageReceivedFunc
++ (Ptr Clipboard -> Ptr Pixbuf -> Ptr () -> IO ()) -> IO ClipboardImageReceivedFunc
+
+ #endif
+
+@@ -513,7 +513,7 @@
+ clipboardRequestTargets self callback = do
+ cbRef <- newIORef nullFunPtr
+ cbPtr <- mkClipboardTargetsReceivedFunc
+- (\_ tPtr len -> do
++ (\_ tPtr len _ -> do
+ -- We must free Haskell pointer *in* the callback to avoid segfault.
+ freeHaskellFunPtr =<< readIORef cbRef
+ mTargets <- if tPtr==nullPtr then return Nothing else
+@@ -528,7 +528,7 @@
+ {#pointer ClipboardTargetsReceivedFunc#}
+
+ foreign import ccall "wrapper" mkClipboardTargetsReceivedFunc ::
+- (Ptr Clipboard -> Ptr (Ptr ()) -> {#type gint#} -> IO ()) -> IO ClipboardTargetsReceivedFunc
++ (Ptr Clipboard -> Ptr (Ptr ()) -> {#type gint#} -> Ptr () -> IO ()) -> IO ClipboardTargetsReceivedFunc
+
+ #if GTK_CHECK_VERSION(2,10,0)
+ -- %hash c:5601 d:d6a6
+@@ -552,10 +552,10 @@
+ clipboardRequestRichText self buffer callback = do
+ cbRef <- newIORef nullFunPtr
+ cbPtr <- mkClipboardRichTextReceivedFunc
+- (\_ tPtr sPtr len -> do
++ (\_ tPtr sPtr len _ -> do
+ freeHaskellFunPtr =<< readIORef cbRef
+ mRes <- if sPtr==nullPtr then return Nothing else liftM Just $ do
+- str <- peekUTFStringLen (sPtr,fromIntegral len)
++ str <- peekUTFStringLen (castPtr sPtr,fromIntegral len)
+ return (Atom tPtr, str)
+ callback mRes)
+ writeIORef cbRef cbPtr
+@@ -568,7 +568,7 @@
+ {#pointer ClipboardRichTextReceivedFunc#}
+
+ foreign import ccall "wrapper" mkClipboardRichTextReceivedFunc ::
+- (Ptr Clipboard -> Ptr () -> CString -> {#type gsize#} -> IO ()) ->
++ (Ptr Clipboard -> Ptr () -> Ptr CUChar -> {#type gsize#} -> Ptr () -> IO ()) ->
+ IO ClipboardRichTextReceivedFunc
+ #endif
+ #endif
+--- gtk-0.12.3.1-orig/Graphics/UI/Gtk/Abstract/Object.chs 2012-06-18 07:39:34.000000000 +1000
++++ gtk-0.12.3.1/Graphics/UI/Gtk/Abstract/Object.chs 2012-10-11 12:40:38.320051642 +1100
+@@ -126,7 +126,8 @@
+
+ {#pointer GWeakNotify#}
+
+-foreign import ccall "wrapper" mkDestructor :: IO () -> IO GWeakNotify
++foreign import ccall "wrapper" mkDestructor
++ :: (Ptr () -> Ptr GObject -> IO ()) -> IO GWeakNotify
+
+ -- | Attach a callback that will be called after the
+ -- destroy hooks have been called
+@@ -134,7 +135,7 @@
+ objectWeakref :: ObjectClass o => o -> IO () -> IO GWeakNotify
+ objectWeakref obj uFun = do
+ funPtrContainer <- newIORef nullFunPtr
+- uFunPtr <- mkDestructor $ do
++ uFunPtr <- mkDestructor $ \_ _ -> do
+ uFun
+ funPtr <- readIORef funPtrContainer
+ freeHaskellFunPtr funPtr
diff --git a/dev-haskell/gtk/files/gtk-0.13.4-ghc-7.10.patch b/dev-haskell/gtk/files/gtk-0.13.4-ghc-7.10.patch
new file mode 100644
index 000000000000..f322ed715f55
--- /dev/null
+++ b/dev-haskell/gtk/files/gtk-0.13.4-ghc-7.10.patch
@@ -0,0 +1,20 @@
+--- gtk-0.13.4-orig/SetupWrapper.hs 2014-12-24 22:16:46.000000000 +1100
++++ gtk-0.13.4/SetupWrapper.hs 2015-03-10 22:00:39.902873712 +1100
+@@ -18,7 +18,7 @@
+
+ import System.Environment
+ import System.Process
+-import System.Exit
++import System.Exit (ExitCode(..), exitWith)
+ import System.FilePath
+ import System.Directory
+ import qualified Control.Exception as Exception
+--- gtk-0.13.4-orig/Graphics/UI/Gtk/Gdk/EventM.hsc 2014-12-24 22:16:46.000000000 +1100
++++ gtk-0.13.4/Graphics/UI/Gtk/Gdk/EventM.hsc 2015-03-10 21:44:29.022453643 +1100
+@@ -1,5 +1,6 @@
+ {-# LANGUAGE ScopedTypeVariables #-}
+ {-# LANGUAGE EmptyDataDecls #-}
++{-# LANGUAGE FlexibleContexts #-}
+ -- -*-haskell-*-
+
+ #include <gtk/gtk.h>
diff --git a/dev-haskell/gtk/gtk-0.12.0.ebuild b/dev-haskell/gtk/gtk-0.12.0.ebuild
new file mode 100644
index 000000000000..9b4329dde7d6
--- /dev/null
+++ b/dev-haskell/gtk/gtk-0.12.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# ebuild generated by hackport 0.2.13
+
+EAPI="3"
+
+#nocabaldep is for the fancy cabal-detection feature at build-time
+CABAL_FEATURES="lib profile haddock hscolour nocabaldep"
+inherit base haskell-cabal
+
+DESCRIPTION="Haskell bindings to the Gtk+ graphical user interface library"
+HOMEPAGE="http://www.haskell.org/gtk2hs/"
+SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="2"
+KEYWORDS="amd64 x86"
+IUSE="+gio"
+
+RDEPEND="=dev-haskell/cairo-0.12*:0
+ =dev-haskell/glib-0.12*:0
+ dev-haskell/mtl
+ =dev-haskell/pango-0.12*:0
+ >=dev-lang/ghc-6.10.1
+ dev-libs/glib:2
+ x11-libs/gtk+:2
+ gio? ( =dev-haskell/gio-0.12*:0 )"
+DEPEND="${RDEPEND}
+ dev-haskell/gtk2hs-buildtools:0"
+
+PATCHES=("${FILESDIR}/${PN}-0.12.0-ghc-7.2.patch"
+ "${FILESDIR}/${PN}-0.12.3-glib-2.32.patch")
+
+src_configure() {
+ # Upstream has this enabled, so we might as well force it enabled to be sure.
+ cabal_src_configure \
+ --flags=deprecated \
+ $(cabal_flag gio have-gio)
+}
diff --git a/dev-haskell/gtk/gtk-0.12.4-r1.ebuild b/dev-haskell/gtk/gtk-0.12.4-r1.ebuild
new file mode 100644
index 000000000000..e9103c4053a8
--- /dev/null
+++ b/dev-haskell/gtk/gtk-0.12.4-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.3.9999
+
+GTK_MAJ_VER="2"
+
+#nocabaldep is for the fancy cabal-detection feature at build-time
+CABAL_FEATURES="lib profile haddock hoogle hscolour nocabaldep"
+inherit haskell-cabal
+
+DESCRIPTION="Binding to the Gtk+ graphical user interface library"
+HOMEPAGE="http://projects.haskell.org/gtk2hs/"
+SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="${GTK_MAJ_VER}/${PV}"
+KEYWORDS="~alpha amd64 ~ia64 ppc ppc64 sparc x86"
+IUSE="+gio"
+
+RDEPEND=">=dev-haskell/cairo-0.12.0:0=[profile?]
+ <dev-haskell/cairo-0.13:0=[profile?]
+ >=dev-haskell/gio-0.12.0:0=[profile?]
+ <dev-haskell/gio-0.13:0=[profile?]
+ >=dev-haskell/glib-0.12.0:0=[profile?]
+ <dev-haskell/glib-0.13:0=[profile?]
+ dev-haskell/mtl:=[profile?]
+ >=dev-haskell/pango-0.12.0:0=[profile?]
+ <dev-haskell/pango-0.13:0=[profile?]
+ >=dev-lang/ghc-6.10.4:=
+ dev-libs/glib:2
+ x11-libs/gtk+:${GTK_MAJ_VER}
+ gio? ( =dev-haskell/gio-0.12*:0[profile?] )"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.8
+ >=dev-haskell/gtk2hs-buildtools-0.12.4:0=
+ virtual/pkgconfig"
+
+src_configure() {
+ # Upstream has this enabled, so we might as well force it enabled to be sure.
+ cabal_src_configure \
+ --flags=deprecated \
+ $(cabal_flag gio have-gio)
+}
diff --git a/dev-haskell/gtk/gtk-0.12.5.0.2.ebuild b/dev-haskell/gtk/gtk-0.12.5.0.2.ebuild
new file mode 100644
index 000000000000..39e25795c80f
--- /dev/null
+++ b/dev-haskell/gtk/gtk-0.12.5.0.2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.3.5.9999
+
+GTK_MAJ_VER="2"
+
+MY_PV="${PV%.*}"
+MY_P="${PN}-${MY_PV}"
+
+#nocabaldep is for the fancy cabal-detection feature at build-time
+CABAL_FEATURES="lib profile haddock hoogle hscolour nocabaldep"
+inherit haskell-cabal
+
+DESCRIPTION="Binding to the Gtk+ graphical user interface library"
+HOMEPAGE="http://projects.haskell.org/gtk2hs/"
+SRC_URI="mirror://hackage/packages/archive/${PN}/${MY_PV}/${MY_P}.tar.gz"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-2.1"
+SLOT="${GTK_MAJ_VER}/${PV}"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="+gio"
+
+RDEPEND=">=dev-haskell/cairo-0.12.5:0=[profile?] <dev-haskell/cairo-0.13:0=[profile?]
+ >=dev-haskell/glib-0.12.5:0=[profile?] <dev-haskell/glib-0.13:0=[profile?]
+ dev-haskell/mtl:=[profile?]
+ >=dev-haskell/pango-0.12.5:0=[profile?] <dev-haskell/pango-0.13:0=[profile?]
+ >=dev-lang/ghc-6.10.4:=
+ dev-libs/glib:2
+ x11-libs/gtk+:${GTK_MAJ_VER}
+ gio? ( >=dev-haskell/gio-0.12.5:0=[profile?] <dev-haskell/gio-0.13:0=[profile?] )
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/gtk2hs-buildtools-0.12.5.1-r1:0=
+ virtual/pkgconfig
+"
+
+src_configure() {
+ # Upstream has this enabled, so we might as well force it enabled to be sure.
+ cabal_src_configure \
+ --flags=deprecated \
+ $(cabal_flag gio have-gio)
+}
diff --git a/dev-haskell/gtk/gtk-0.12.5.7.2.ebuild b/dev-haskell/gtk/gtk-0.12.5.7.2.ebuild
new file mode 100644
index 000000000000..92fce67ec481
--- /dev/null
+++ b/dev-haskell/gtk/gtk-0.12.5.7.2.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.4.9999
+
+GTK_MAJ_VER="2"
+
+MY_PV="${PV%.*}"
+MY_P="${PN}-${MY_PV}"
+
+CABAL_FEATURES="lib profile haddock hoogle hscolour"
+inherit haskell-cabal
+
+DESCRIPTION="Binding to the Gtk+ graphical user interface library"
+HOMEPAGE="http://projects.haskell.org/gtk2hs/"
+SRC_URI="mirror://hackage/packages/archive/${PN}/${MY_PV}/${MY_P}.tar.gz"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-2.1"
+SLOT="${GTK_MAJ_VER}/${PV}"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="+fmode-binary +gio"
+
+RDEPEND="fmode-binary? ( >=dev-haskell/glib-0.12.5.4:0=[profile?] <dev-haskell/glib-0.13:0=[profile?]
+ dev-haskell/mtl:=[profile?]
+ >=dev-haskell/pango-0.12.5.3:0=[profile?] <dev-haskell/pango-0.13:0=[profile?]
+ >=dev-lang/ghc-7.4.1:=
+ dev-libs/glib:2
+ x11-libs/gtk+:2 )
+ gio? ( >=dev-haskell/cairo-0.12.5.3:0=[profile?] <dev-haskell/cairo-0.13:0=[profile?]
+ >=dev-haskell/gio-0.12.5:0=[profile?] <dev-haskell/gio-0.13:0=[profile?]
+ >=dev-haskell/glib-0.12.5.4:0=[profile?] <dev-haskell/glib-0.13:0=[profile?]
+ dev-haskell/mtl:=[profile?]
+ >=dev-haskell/pango-0.12.5.3:0=[profile?] <dev-haskell/pango-0.13:0=[profile?]
+ >=dev-lang/ghc-7.4.1:=
+ dev-libs/glib:2
+ x11-libs/gtk+:2 )
+ !gio? ( fmode-binary? ( >=dev-haskell/cairo-0.12.5.3:0=[profile?] <dev-haskell/cairo-0.13:0=[profile?] )
+ !fmode-binary? ( >=dev-haskell/cairo-0.12.5.3:0=[profile?] <dev-haskell/cairo-0.13:0=[profile?]
+ >=dev-haskell/glib-0.12.5.4:0=[profile?] <dev-haskell/glib-0.13:0=[profile?]
+ dev-haskell/mtl:=[profile?]
+ >=dev-haskell/pango-0.12.5.3:0=[profile?] <dev-haskell/pango-0.13:0=[profile?]
+ >=dev-lang/ghc-7.4.1:=
+ dev-libs/glib:2
+ x11-libs/gtk+:2 ) )
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.8
+ >=dev-haskell/gtk2hs-buildtools-0.12.5.1-r1:0=
+ virtual/pkgconfig
+"
+
+src_configure() {
+ # Upstream has this enabled, so we might as well force it enabled to be sure.
+ cabal_src_configure \
+ --flags=deprecated \
+ $(cabal_flag fmode-binary fmode-binary) \
+ $(cabal_flag gio have-giob)
+}
diff --git a/dev-haskell/gtk/gtk-0.13.3.0.2.ebuild b/dev-haskell/gtk/gtk-0.13.3.0.2.ebuild
new file mode 100644
index 000000000000..f7fa68f2637c
--- /dev/null
+++ b/dev-haskell/gtk/gtk-0.13.3.0.2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.4.4.9999
+
+GTK_MAJ_VER="2"
+
+MY_PV="${PV%.0.*}"
+MY_P="${PN}-${MY_PV}"
+
+#nocabaldep is for the fancy cabal-detection feature at build-time
+CABAL_FEATURES="lib profile haddock hoogle hscolour nocabaldep"
+inherit haskell-cabal
+
+DESCRIPTION="Binding to the Gtk+ graphical user interface library"
+HOMEPAGE="http://projects.haskell.org/gtk2hs/"
+SRC_URI="mirror://hackage/packages/archive/${PN}/${MY_PV}/${MY_P}.tar.gz"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-2.1"
+SLOT="${GTK_MAJ_VER}/${PV}"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="examples +fmode-binary +gio"
+
+RDEPEND=">=dev-haskell/cairo-0.13.0.0:=[profile?] <dev-haskell/cairo-0.14:=[profile?]
+ >=dev-haskell/glib-0.13.0.0:=[profile?] <dev-haskell/glib-0.14:=[profile?]
+ dev-haskell/mtl:=[profile?]
+ >=dev-haskell/pango-0.13.0.0:=[profile?] <dev-haskell/pango-0.14:=[profile?]
+ >=dev-haskell/text-0.11.0.6:=[profile?] <dev-haskell/text-1.3:=[profile?]
+ >=dev-lang/ghc-7.4.1:=
+ dev-libs/glib:2
+ x11-libs/gtk+:${GTK_MAJ_VER}
+ gio? ( >=dev-haskell/gio-0.13.0:=[profile?] <dev-haskell/gio-0.14:=[profile?] )
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/gtk2hs-buildtools-0.13.0.3:0=
+ virtual/pkgconfig
+"
+
+src_configure() {
+ # Upstream has this enabled, so we might as well force it enabled to be sure.
+ cabal_src_configure \
+ --flags=deprecated \
+ $(cabal_flag fmode-binary fmode-binary) \
+ $(cabal_flag gio have-gio) \
+ --flags=-have-quartz-gtk
+}
diff --git a/dev-haskell/gtk/gtk-0.13.4.0.2.ebuild b/dev-haskell/gtk/gtk-0.13.4.0.2.ebuild
new file mode 100644
index 000000000000..109d920975b6
--- /dev/null
+++ b/dev-haskell/gtk/gtk-0.13.4.0.2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.4.4.9999
+
+GTK_MAJ_VER="2"
+
+MY_PV="${PV%.0.*}"
+MY_P="${PN}-${MY_PV}"
+
+#nocabaldep is for the fancy cabal-detection feature at build-time
+CABAL_FEATURES="lib profile haddock hoogle hscolour nocabaldep"
+inherit base haskell-cabal
+
+DESCRIPTION="Binding to the Gtk+ graphical user interface library"
+HOMEPAGE="http://projects.haskell.org/gtk2hs/"
+SRC_URI="mirror://hackage/packages/archive/${PN}/${MY_PV}/${MY_P}.tar.gz"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-2.1"
+SLOT="${GTK_MAJ_VER}/${PV}"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="examples +fmode-binary +gio"
+
+RDEPEND=">=dev-haskell/cairo-0.13.0.0:=[profile?] <dev-haskell/cairo-0.14:=[profile?]
+ >=dev-haskell/glib-0.13.0.0:=[profile?] <dev-haskell/glib-0.14:=[profile?]
+ dev-haskell/mtl:=[profile?]
+ >=dev-haskell/pango-0.13.0.0:=[profile?] <dev-haskell/pango-0.14:=[profile?]
+ >=dev-haskell/text-0.11.0.6:=[profile?] <dev-haskell/text-1.3:=[profile?]
+ >=dev-lang/ghc-7.4.1:=
+ dev-libs/glib:2
+ x11-libs/gtk+:${GTK_MAJ_VER}
+ gio? ( >=dev-haskell/gio-0.13.0:=[profile?] <dev-haskell/gio-0.14:=[profile?] )
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/gtk2hs-buildtools-0.13.0.3:0=
+ virtual/pkgconfig
+"
+
+PATCHES=("${FILESDIR}/${PN}-0.13.4-ghc-7.10.patch")
+
+src_prepare() {
+ base_src_prepare
+ # workaround for module order
+ cabal_chdeps \
+ 'other-modules:' 'exposed-modules:'
+}
+
+src_configure() {
+ # Upstream has this enabled, so we might as well force it enabled to be sure.
+ cabal_src_configure \
+ --flags=deprecated \
+ $(cabal_flag fmode-binary fmode-binary) \
+ $(cabal_flag gio have-gio) \
+ --flags=-have-quartz-gtk
+}
diff --git a/dev-haskell/gtk/gtk-0.13.6.0.2.ebuild b/dev-haskell/gtk/gtk-0.13.6.0.2.ebuild
new file mode 100644
index 000000000000..0248af1649bb
--- /dev/null
+++ b/dev-haskell/gtk/gtk-0.13.6.0.2.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.4.4.9999
+
+GTK_MAJ_VER="2"
+
+MY_PV="${PV%.0.*}"
+MY_P="${PN}-${MY_PV}"
+
+#nocabaldep is for the fancy cabal-detection feature at build-time
+CABAL_FEATURES="lib profile haddock hoogle hscolour nocabaldep"
+inherit haskell-cabal
+
+DESCRIPTION="Binding to the Gtk+ graphical user interface library"
+HOMEPAGE="http://projects.haskell.org/gtk2hs/"
+SRC_URI="mirror://hackage/packages/archive/${PN}/${MY_PV}/${MY_P}.tar.gz"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-2.1"
+SLOT="${GTK_MAJ_VER}/${PV}"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="examples +fmode-binary +gio"
+
+RDEPEND=">=dev-haskell/cairo-0.13.0.0:=[profile?] <dev-haskell/cairo-0.14:=[profile?]
+ >=dev-haskell/glib-0.13.0.0:=[profile?] <dev-haskell/glib-0.14:=[profile?]
+ dev-haskell/mtl:=[profile?]
+ >=dev-haskell/pango-0.13.0.0:=[profile?] <dev-haskell/pango-0.14:=[profile?]
+ >=dev-haskell/text-0.11.0.6:=[profile?] <dev-haskell/text-1.3:=[profile?]
+ >=dev-lang/ghc-7.4.1:=
+ dev-libs/glib:2
+ x11-libs/gtk+:${GTK_MAJ_VER}
+ gio? ( >=dev-haskell/gio-0.13.0:=[profile?] <dev-haskell/gio-0.14:=[profile?] )
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/gtk2hs-buildtools-0.13.0.3:0=
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ base_src_prepare
+ # workaround for module order
+ cabal_chdeps \
+ 'other-modules:' 'exposed-modules:'
+}
+
+src_configure() {
+ # Upstream has this enabled, so we might as well force it enabled to be sure.
+ cabal_src_configure \
+ --flags=deprecated \
+ $(cabal_flag fmode-binary fmode-binary) \
+ $(cabal_flag gio have-gio) \
+ --flags=-have-quartz-gtk
+}
diff --git a/dev-haskell/gtk/gtk-0.13.7.0.2.ebuild b/dev-haskell/gtk/gtk-0.13.7.0.2.ebuild
new file mode 100644
index 000000000000..f852bf05e62e
--- /dev/null
+++ b/dev-haskell/gtk/gtk-0.13.7.0.2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.4.4.9999
+
+GTK_MAJ_VER="2"
+
+MY_PV="${PV%.0.*}"
+MY_P="${PN}-${MY_PV}"
+
+#nocabaldep is for the fancy cabal-detection feature at build-time
+CABAL_FEATURES="lib profile haddock hoogle hscolour nocabaldep"
+inherit haskell-cabal
+
+DESCRIPTION="Binding to the Gtk+ graphical user interface library"
+HOMEPAGE="http://projects.haskell.org/gtk2hs/"
+SRC_URI="mirror://hackage/packages/archive/${PN}/${MY_PV}/${MY_P}.tar.gz"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-2.1"
+SLOT="${GTK_MAJ_VER}/${PV}"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="examples +fmode-binary +gio"
+
+RDEPEND=">=dev-haskell/cairo-0.13.0.0:=[profile?] <dev-haskell/cairo-0.14:=[profile?]
+ >=dev-haskell/glib-0.13.0.0:=[profile?] <dev-haskell/glib-0.14:=[profile?]
+ dev-haskell/mtl:=[profile?]
+ >=dev-haskell/pango-0.13.0.0:=[profile?] <dev-haskell/pango-0.14:=[profile?]
+ >=dev-haskell/text-0.11.0.6:=[profile?] <dev-haskell/text-1.3:=[profile?]
+ >=dev-lang/ghc-7.4.1:=
+ dev-libs/glib:2
+ x11-libs/gtk+:${GTK_MAJ_VER}
+ gio? ( >=dev-haskell/gio-0.13.0:=[profile?] <dev-haskell/gio-0.14:=[profile?] )
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/gtk2hs-buildtools-0.13.0.3:0=
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ # workaround for module order
+ cabal_chdeps \
+ 'other-modules:' 'exposed-modules:'
+ # fix build with gcc 5.1.0 and later https://github.com/gtk2hs/gtk2hs/issues/104
+ sed -e 's@gccProg, "--cppopts=-E"@gccProg, "--cppopts=-E", "--cppopts=-P"@' \
+ -i Gtk2HsSetup.hs || die
+}
+
+src_configure() {
+ # Upstream has this enabled, so we might as well force it enabled to be sure.
+ cabal_src_configure \
+ --flags=deprecated \
+ $(cabal_flag fmode-binary fmode-binary) \
+ $(cabal_flag gio have-gio) \
+ --flags=-have-quartz-gtk
+}
diff --git a/dev-haskell/gtk/metadata.xml b/dev-haskell/gtk/metadata.xml
new file mode 100644
index 000000000000..3afbbf4db337
--- /dev/null
+++ b/dev-haskell/gtk/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>haskell</herd>
+ <longdescription>
+ This is the core library of the Gtk2Hs suite of libraries for Haskell
+ based on Gtk+. Gtk+ is an extensive and mature multi-platform toolkit
+ for creating graphical user interfaces.
+ </longdescription>
+ <use>
+ <flag name='gio'>Depend on GIO package, thereby enabling certain features.</flag>
+ <flag name='fmode-binary'>Set the default file translation mode for
+ file I/O operations to _O_BINARY. Some GTK libraries open image
+ files without specifing binary mode. If you have trouble loading
+ gtk in ghci, then it may help to turn this option off.</flag>
+ </use>
+</pkgmetadata>