diff --git a/Main.hs b/Main.hs
--- a/Main.hs
+++ b/Main.hs
@@ -235,6 +235,8 @@
     ,Dependency (PackageName "dph-seq"        )    (ThisVersion (Version [ 0,3 ] [] ))
     ,Dependency (PackageName "ghc")              (AnyVersion)
     ,Dependency (PackageName "ghc-prim")         (AnyVersion)
+    ,Dependency (PackageName "integer")         (AnyVersion)
+    ,Dependency (PackageName "integer-gmp")         (AnyVersion)
 
 -- Official Provides: http://repos.archlinux.org/wsvn/packages/ghc/repos/extra-x86_64/PKGBUILD
 --  ,Dependency (PackageName "array")            (ThisVersion (Version  [0,3,0,0] []))
@@ -333,12 +335,17 @@
 findCLibs :: PackageDescription -> [String]
 findCLibs (PackageDescription { library = lib, executables = exe }) =
     -- warn for packages not in list.
-    map (canonicalise . map toLower) (some ++ rest)
+    filter (not . null) $ map (canonicalise . map toLower) (some ++ rest)
   where
     some = concatMap (extraLibs.buildInfo) exe
     rest = case lib of
                     Nothing -> []
-                    Just l  -> extraLibs (libBuildInfo l)
+                    Just l  -> extraLibs (libBuildInfo l) ++
+                                map (\(Dependency (PackageName n) _) ->
+                                    if '-' `elem` n 
+                                        then reverse . drop 1 . dropWhile (/= '-') .  reverse $ n
+                                        else n)
+                                        (pkgconfigDepends (libBuildInfo l))
 
     canonicalise k = case M.lookup k translationTable of
         Nothing -> trace ("WARNING: this library depends on a C library we do not know the pacman name for (" ++ map toLower k ++ ") . Check the C library names in the generated PKGBUILD File") $ map toLower k
@@ -385,13 +392,13 @@
         ,("doublefann", "fann")
         ,("ev",         "libev")
 
-        ,("pthread",     "")
+        ,("pthread",    "")
         ,("m",          "")
-        ,("gl",          "")
-        ,("glu",          "")
-        ,("db_cxx",          "")
-        ,("db_cxx",          "")
-        ,("xdamage",        "")
+        ,("gl",         "")
+        ,("glu",        "")
+        ,("db_cxx",     "")
+        ,("db_cxx",     "")
+        ,("xdamage",    "")
 
         ,("icui18n",          "icu")
         ,("icuuc",          "icu")
@@ -402,6 +409,25 @@
         ,("ffi",        "libffi")
         ,("ogg",        "libogg")
         ,("theora",        "libtheora")
+
+
+        -- subsumed into glib
+
+        ,("gobject",                "")
+        ,("gio",                    "")
+        ,("gthread",                "")
+        ,("gnome-vfs-module",       "")
+        ,("gstreamer-audio",        "")
+        ,("gstreamer-base",         "")
+        ,("gstreamer-controller",   "")
+        ,("gstreamer-dataprotocol", "")
+        ,("gstreamer-net",          "")
+
+        ,("webkit",      "libwebkit")
+        ,("gtk+",        "gtkglext")
+
+        ,("gstreamer",   "gstreamer0.10")
+        ,("gstreamer-plugins-base", "gstreamer0.10-base")
         ]
         -- atlas
 
@@ -444,6 +470,9 @@
 -- translate some library dependencies to gtk names
 --
 gtk2hsIfy :: [Dependency] -> [Dependency]
+gtk2hsIfy = id
+
+{-
 gtk2hsIfy [] = []
 gtk2hsIfy xs | foundSome = Dependency (PackageName "gtk2hs") AnyVersion :
                            [ v | v@(Dependency n _) <- xs
@@ -453,10 +482,13 @@
     where
         foundSome = not . null $ filter (`elem` gtkLibs) (map unDep xs)
         unDep (Dependency n _) = n
-
+-}
 
+-- TODO: will need to remove this:
 gtkLibs :: [PackageName]
 gtkLibs = map PackageName
+    []
+    {-
     ["glade" -- guihaskell
     ,"cairo"
     ,"glib"
@@ -467,7 +499,9 @@
     ,"mozembed"
     ,"svgcairo"
     ]
+    -}
 
+
 ------------------------------------------------------------------------
 -- Parsing and pretty printing:
 
@@ -482,6 +516,8 @@
  , text "# Note: we list all package dependencies."
  , text "# Your package tool should understand 'provides' syntax"
  , text "#"
+ , text "# Keep up to date on http://archhaskell.wordpress.com/"
+ , text "#"
  , text "pkgname"
     <=> text (arch_pkgname pkg)
  , text "pkgrel"
@@ -626,9 +662,15 @@
         `mappend`
      anyClibraries
         `mappend`
-     ArchList [ ArchDep d | b <- allBuildInfo cabal
+     ArchList [ ArchDep d' | b <- allBuildInfo cabal
                           , d@(Dependency n _) <- buildTools b
-                          , n /= PackageName "hsc2hs"  ]
+                          , n /= PackageName "hsc2hs"
+                          , let d' | n `elem` gtkTools
+                                        = Dependency (PackageName "gtk2hs-buildtools") AnyVersion
+                                   | otherwise        = d
+                          ]
+
+    gtkTools = map PackageName ["gtk2hsTypeGen" , "gtk2hsHookGenerator", "gtk2hsC2hs"]
 
     -- TODO: need a 'nub' in here.
 
diff --git a/cabal2arch.cabal b/cabal2arch.cabal
--- a/cabal2arch.cabal
+++ b/cabal2arch.cabal
@@ -1,5 +1,5 @@
 name:               cabal2arch
-version:            0.7
+version:            0.7.2
 homepage:           http://code.haskell.org/~dons/code/cabal2arch
 synopsis:           Create Arch Linux packages from Cabal packages
 description:        Create Arch Linux packages from Cabal packages
