diff --git a/iconv.cabal b/iconv.cabal
--- a/iconv.cabal
+++ b/iconv.cabal
@@ -1,10 +1,11 @@
 name:            iconv
-version:         0.4
-copyright:       (c) 2006-2007 Duncan Coutts
+version:         0.4.0.2
+copyright:       (c) 2006-2008 Duncan Coutts
 license:         BSD3
 license-file:    LICENSE
 author:          Duncan Coutts <duncan@haskell.org>
 maintainer:      Duncan Coutts <duncan@haskell.org>
+category:        Text
 synopsis:        String encoding conversion
 description:     Provides an interface to the POSIX iconv library functions
                  for string encoding conversion.
@@ -26,5 +27,11 @@
     build-depends: base < 2.0 || >= 2.2, bytestring >= 0.9
   extensions:      CPP, ForeignFunctionInterface
   includes:        iconv.h
-  -- extra-libraries: --may need iconv lib on some systems
+  if os(darwin) || os(freebsd)
+    -- on many systems the iconv api is part of the standard C library
+    -- but on some others we have to link to an external libiconv:
+    extra-libraries: iconv
+
+  -- We need to compile via C because on some platforms (notably darwin)
+  -- iconv is a macro rather than real C function. doh!
   ghc-options:     -fvia-C -Wall
