diff --git a/Distribution/ArchLinux/CabalTranslation.hs b/Distribution/ArchLinux/CabalTranslation.hs
--- a/Distribution/ArchLinux/CabalTranslation.hs
+++ b/Distribution/ArchLinux/CabalTranslation.hs
@@ -205,7 +205,7 @@
           "http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz"
     , arch_build =
         [ "cd ${srcdir}/${_hkgname}-${pkgver}"
-        , "runhaskell Setup configure -O --enable-split-objs --enable-shared \\"
+        , "runhaskell Setup configure -O ${PKGBUILD_HASKELL_ENABLE_PROFILING:+-p } --enable-split-objs --enable-shared \\"
         , "   --prefix=/usr --docdir=/usr/share/doc/${pkgname} --libsubdir=\\$compiler/site-local/\\$pkgid"
         , "runhaskell Setup build"
         , "runhaskell Setup haddock"
@@ -219,7 +219,8 @@
         , "install    -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh"
         , "install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries"
         , "ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}"
-        ,"runhaskell Setup copy --destdir=${pkgdir}"]
+        , "runhaskell Setup copy --destdir=${pkgdir}"
+        ]
     -- if its a library:
     , arch_install = Just "${pkgname}.install"
     }
diff --git a/Distribution/ArchLinux/HackageTranslation.hs b/Distribution/ArchLinux/HackageTranslation.hs
--- a/Distribution/ArchLinux/HackageTranslation.hs
+++ b/Distribution/ArchLinux/HackageTranslation.hs
@@ -6,69 +6,21 @@
 -- Maintainer: Arch Haskell Team <arch-haskell@haskell.org>
 --
 
-module Distribution.ArchLinux.HackageTranslation where
+module Distribution.ArchLinux.HackageTranslation
+  ( getVersionConflicts
+  , getLatestVersions
+  )
+  where
+
 import Distribution.ArchLinux.CabalTranslation
 import Distribution.ArchLinux.SystemProvides
 -- Cabal modules
 import Distribution.Package
 import Distribution.Version
 import Distribution.PackageDescription
-import Distribution.PackageDescription.Parse
 -- Standard types
-import Distribution.Text
 import qualified Data.Map as M
-import qualified Data.Set as Set
 import Data.Maybe
--- Read tarballs
-import qualified Codec.Archive.Tar as Tar
-import qualified Data.ByteString.Lazy.Char8 as Bytes
-
---
--- | Reads a tarball and converts it to a list of PackageDescription's
---
-getCabalsFromTarball :: Bytes.ByteString -> [GenericPackageDescription]
-getCabalsFromTarball tarball = Tar.foldEntries insertThis [] (const []) files
-  where files = Tar.read tarball
-        insertThis file list = case getCabalFromEntry file of
-          Nothing -> list
-          Just pkg -> pkg:list
-
-getCabalFromEntry :: Tar.Entry -> Maybe GenericPackageDescription
-getCabalFromEntry file = case Tar.entryContent file of
-  Tar.NormalFile contents _ -> parse2maybe $ parsePackageDescription $ Bytes.unpack contents
-  _ -> Nothing
-
-parse2maybe :: ParseResult a -> Maybe a
-parse2maybe a = case a of
-      ParseOk _ pkg -> Just pkg
-      _ -> Nothing
-
---
--- | Reads a tarball and get cabal files according to a list
---
-getSpecifiedCabalsFromTarball :: Bytes.ByteString -> [String] -> [GenericPackageDescription]
-getSpecifiedCabalsFromTarball tarball list =
-  getSpecifiedCabals (mapMaybe parsePackageIdentifier list) (getCabalsFromTarball tarball)
-
---
--- | Parses a list of lines of the form "package-name 1.2.3.4"
---
-parsePackageIdentifier :: String -> Maybe PackageIdentifier
-parsePackageIdentifier s = case words s of
-  []             -> void
-  "#":_          -> void
-  name:version:_ -> case simpleParse version of
-        Nothing -> err
-        Just v -> Just $ PackageIdentifier { pkgName = PackageName name, pkgVersion = v }
-  _ -> err
- where
-  void = Nothing
-  err = error ("Malformed package identifier " ++ show s)
-
-getSpecifiedCabals :: [PackageIdentifier] -> [GenericPackageDescription] -> [GenericPackageDescription]
-getSpecifiedCabals list packages = filter wasSpecified packages
-  where set = Set.fromList list
-        wasSpecified p = Set.member (packageId p) set
 
 --
 -- | Check for inconsistencies in version requirements
diff --git a/archlinux.cabal b/archlinux.cabal
--- a/archlinux.cabal
+++ b/archlinux.cabal
@@ -1,8 +1,12 @@
 name:           archlinux
-version:        0.3.6
+version:        1.0
 license:        BSD3
 license-file:   LICENSE
-author:         Don Stewart <dons@galois.com>
+author:         Don Stewart <dons@galois.com>,
+                Rémy Oudompheng <remyoudompheng@gmail.com>,
+                Peter Simons <simons@cryp.to>,
+                Magnus Therning <magnus@therning.org>,
+                Linus Arver <linusarver@gmail.com>
 maintainer:     ArchHaskell Team <arch-haskell@haskell.org>
 homepage:       http://github.com/archhaskell/
 category:       Distribution
@@ -19,33 +23,18 @@
   location:     git://github.com/archhaskell/archlinux.git
 
 library
-    build-depends:  base >= 4 && < 6,
-                    Cabal >= 1.6,
-                    pretty,
-                    containers,
-                    directory,
-                    filepath,
-                    bytestring,
-                    tar
-
-    exposed-modules:
-        Distribution.ArchLinux.PkgBuild
-        Distribution.ArchLinux.SrcRepo
-        Distribution.ArchLinux.CabalTranslation
-        Distribution.ArchLinux.HackageTranslation
-        Distribution.ArchLinux.SystemProvides
-    other-modules:
-        Paths_archlinux
+  ghc-Options:	-Wall
+  build-depends:
+    base >= 4 && < 6,
+    Cabal >= 1.6,
+    pretty,
+    containers,
+    directory,
+    filepath
 
-executable recdeps
-    main-is: scripts/recdeps.hs
-    build-depends:
-        base >=4 && <6,
-        directory,
-        filepath,
-        containers,
-        pretty,
-        Cabal >= 1.6
-    other-modules:
-        Distribution.ArchLinux.PkgBuild
-        Distribution.ArchLinux.SrcRepo
+  exposed-modules:
+    Distribution.ArchLinux.PkgBuild
+    Distribution.ArchLinux.SrcRepo
+    Distribution.ArchLinux.CabalTranslation
+    Distribution.ArchLinux.SystemProvides
+    Distribution.ArchLinux.HackageTranslation
diff --git a/scripts/recdeps.hs b/scripts/recdeps.hs
deleted file mode 100644
--- a/scripts/recdeps.hs
+++ /dev/null
@@ -1,19 +0,0 @@
---
--- | This test reads the current directory and dumps a topologically sorted package list
---
-
-module Main where
-
-import Distribution.ArchLinux.SrcRepo
-import System.IO
-import System.Directory
-import System.Environment
-import Control.Monad
-
-main = do
-  [pkg] <- getArgs
-  dot <- getCurrentDirectory
-  repo <- getRepoFromDir dot
-  case repo of
-    Nothing -> return ()
-    Just r -> foldM (\a -> \s -> putStrLn s) () (getDependencies pkg r)
