diff --git a/Network/Download.hsc b/Network/Download.hsc
--- a/Network/Download.hsc
+++ b/Network/Download.hsc
@@ -105,7 +105,7 @@
 -- | Download the content as for "openURI", but return it as a list of
 -- parsed tags using the tagsoup html parser.
 --
-openAsTags:: String -> IO (Either String [TagSoup.Tag])
+openAsTags:: String -> IO (Either String [TagSoup.Tag String])
 openAsTags s = (fmap TagSoup.parseTags) `fmap` openURIString s
 
 -- | Download the content as for "openURI", but return it as parsed XML,
diff --git a/download.cabal b/download.cabal
--- a/download.cabal
+++ b/download.cabal
@@ -1,5 +1,5 @@
 name:            download
-version:         0.3
+version:         0.3.1
 homepage:        http://code.haskell.org/~dons/code/download
 synopsis:        High-level file download based on URLs
 description:     High-level file download based on URLs
@@ -41,9 +41,9 @@
 copyright:       (c) 2008, Don Stewart <dons@galois.com>
 author:          Don Stewart
 maintainer:      Don Stewart <dons@galois.com>
-cabal-version:   >= 1.2.0
+cabal-version:   >= 1.6
 build-type:      Simple
-tested-with:     GHC ==6.8.2
+tested-with:     GHC ==6.8.2, GHC ==6.12.1
 
 -- flag external
 --  description: Build with an external libdownload
@@ -59,14 +59,14 @@
                      EmptyDataDecls,
                      GeneralizedNewtypeDeriving
 
-    ghc-options:     -Wall -fvia-C
+    ghc-options:     -Wall
 
     if flag(small_base)
-        build-depends:   base >= 3, bytestring
+        build-depends:   base >= 3 && < 4, bytestring
     else
-        build-depends:   base > 3
+        build-depends:   base > 3 && < 5
 
-    build-depends: tagsoup, feed, xml
+    build-depends: tagsoup == 0.8.*, feed, xml
 
     ------------------------------------------------------------------------
     -- Building libdownload
@@ -81,8 +81,7 @@
 --        install-includes:   hs_download_utils.h
 --    else
 
-    cc-options:         -O2
-                        -DINET6
+    cc-options:         -DINET6
                         -D_GNU_SOURCE
                         -D_FILE_OFFSET_BITS=64
                         -UDEBUG
