hackport 0.4.5 → 0.4.6
raw patch · 7 files changed
+53/−57 lines, 7 filesdep −mtl
Dependencies removed: mtl
Files
- Error.hs +41/−44
- Merge.hs +1/−1
- Merge/Dependencies.hs +5/−1
- Portage/EBuild.hs +1/−1
- Portage/EMeta.hs +1/−1
- Status.hs +3/−3
- hackport.cabal +1/−6
Error.hs view
@@ -4,32 +4,29 @@ import Data.Typeable import Control.Exception.Extensible as EE-import Control.Monad.Error data HackPortError- = ArgumentError String- | ConnectionFailed String String- | PackageNotFound String- | InvalidTarballURL String String- | InvalidSignatureURL String String- | VerificationFailed String String- | DownloadFailed String String- | UnknownCompression String- | UnpackingFailed String Int- | NoCabalFound String- | ExtractionFailed String String Int- | CabalParseFailed String String- | BashNotFound- | BashError String- | NoOverlay- | MultipleOverlays [String]- | UnknownVerbosityLevel String- -- | WrongCacheVersion- -- | InvalidCache- | InvalidServer String- deriving (Typeable, Show)--instance Error HackPortError where+ = ArgumentError String+ | ConnectionFailed String String+ | PackageNotFound String+ | InvalidTarballURL String String+ | InvalidSignatureURL String String+ | VerificationFailed String String+ | DownloadFailed String String+ | UnknownCompression String+ | UnpackingFailed String Int+ | NoCabalFound String+ | ExtractionFailed String String Int+ | CabalParseFailed String String+ | BashNotFound+ | BashError String+ | NoOverlay+ | MultipleOverlays [String]+ | UnknownVerbosityLevel String+ -- | WrongCacheVersion+ -- | InvalidCache+ | InvalidServer String+ deriving (Typeable, Show) instance Exception HackPortError where @@ -41,23 +38,23 @@ hackPortShowError :: HackPortError -> String hackPortShowError err = case err of- ArgumentError str -> "Argument error: "++str- ConnectionFailed server reason -> "Connection to hackage server '"++server++"' failed: "++reason- PackageNotFound pkg -> "Package '"++ pkg ++"' not found on server. Try 'hackport update'?"- InvalidTarballURL url reason -> "Error while downloading tarball '"++url++"': "++reason- InvalidSignatureURL url reason -> "Error while downloading signature '"++url++"': "++reason- VerificationFailed file signature -> "Error while checking signature('"++signature++"') of '"++file++"'"- DownloadFailed url reason -> "Error while downloading '"++url++"': "++reason- UnknownCompression tarball -> "Couldn't guess compression type of '"++tarball++"'"- UnpackingFailed tarball code -> "Unpacking '"++tarball++"' failed with exit code '"++show code++"'"- NoCabalFound tarball -> "Tarball '"++tarball++"' doesn't contain a cabal file"- ExtractionFailed tarball file code -> "Extracting '"++file++"' from '"++tarball++"' failed with '"++show code++"'"- CabalParseFailed file reason -> "Error while parsing cabal file '"++file++"': "++reason- BashNotFound -> "The 'bash' executable was not found. It is required to figure out your portage-overlay. If you don't want to install bash, use '-p path-to-overlay'"- BashError str -> "Error while guessing your portage-overlay. Either set PORTDIR_OVERLAY in /etc/make.conf or use '-p path-to-overlay'.\nThe error was: \""++str++"\""- MultipleOverlays overlays -> "You have the following overlays available: '"++unwords overlays++"'. Please choose one by using 'hackport -p path-to-overlay' <command>"- NoOverlay -> "You don't have PORTDIR_OVERLAY set in '/etc/make.conf'. Please set it or use '-p path-to-overlay'"- UnknownVerbosityLevel str -> "The verbosity level '"++str++"' is invalid. Please use debug,normal or silent"- InvalidServer srv -> "Invalid server address, could not parse: " ++ srv- --WrongCacheVersion -> "The version of the cache is too old. Please update the cache using 'hackport update'"- --InvalidCache -> "Could not read the cache. Please ensure that it's up to date using 'hackport update'"+ ArgumentError str -> "Argument error: "++str+ ConnectionFailed server reason -> "Connection to hackage server '"++server++"' failed: "++reason+ PackageNotFound pkg -> "Package '"++ pkg ++"' not found on server. Try 'hackport update'?"+ InvalidTarballURL url reason -> "Error while downloading tarball '"++url++"': "++reason+ InvalidSignatureURL url reason -> "Error while downloading signature '"++url++"': "++reason+ VerificationFailed file signature -> "Error while checking signature('"++signature++"') of '"++file++"'"+ DownloadFailed url reason -> "Error while downloading '"++url++"': "++reason+ UnknownCompression tarball -> "Couldn't guess compression type of '"++tarball++"'"+ UnpackingFailed tarball code -> "Unpacking '"++tarball++"' failed with exit code '"++show code++"'"+ NoCabalFound tarball -> "Tarball '"++tarball++"' doesn't contain a cabal file"+ ExtractionFailed tarball file code -> "Extracting '"++file++"' from '"++tarball++"' failed with '"++show code++"'"+ CabalParseFailed file reason -> "Error while parsing cabal file '"++file++"': "++reason+ BashNotFound -> "The 'bash' executable was not found. It is required to figure out your portage-overlay. If you don't want to install bash, use '-p path-to-overlay'"+ BashError str -> "Error while guessing your portage-overlay. Either set PORTDIR_OVERLAY in /etc/make.conf or use '-p path-to-overlay'.\nThe error was: \""++str++"\""+ MultipleOverlays overlays -> "You have the following overlays available: '"++unwords overlays++"'. Please choose one by using 'hackport -p path-to-overlay' <command>"+ NoOverlay -> "You don't have PORTDIR_OVERLAY set in '/etc/make.conf'. Please set it or use '-p path-to-overlay'"+ UnknownVerbosityLevel str -> "The verbosity level '"++str++"' is invalid. Please use debug,normal or silent"+ InvalidServer srv -> "Invalid server address, could not parse: " ++ srv+ --WrongCacheVersion -> "The version of the cache is too old. Please update the cache using 'hackport update'"+ --InvalidCache -> "Could not read the cache. Please ensure that it's up to date using 'hackport update'"
Merge.hs view
@@ -3,7 +3,7 @@ , mergeGenericPackageDescription ) where -import Control.Monad.Except+import Control.Monad import Control.Exception import qualified Data.ByteString.Lazy.Char8 as BL import Data.Function (on)
Merge/Dependencies.hs view
@@ -260,7 +260,7 @@ m = [ ("z", any_c_p "sys-libs" "zlib") , ("bz2", any_c_p "app-arch" "bzip2") , ("mysqlclient", at_least_c_p_v "virtual" "mysql" [4,0])- , ("pq", at_least_c_p_v "dev-db" "postgresql-base" [7])+ , ("pq", at_least_c_p_v "dev-db" "postgresql" [7]) , ("ev", any_c_p "dev-libs" "libev") , ("expat", any_c_p "dev-libs" "expat") , ("curl", any_c_p "net-misc" "curl")@@ -342,6 +342,8 @@ , ("magic", any_c_p "sys-apps" "file") , ("crypt", any_c_p "virtual" "libc") , ("Xrender", any_c_p "x11-libs" "libXrender")+ , ("Xcursor", any_c_p "x11-libs" "libXcursor")+ , ("Xinerama", any_c_p "x11-libs" "libXinerama") ] ---------------------------------------------------------------@@ -495,4 +497,6 @@ ,("SDL_image", ("media-libs", "sdl-image", Portage.AnySlot)) ,("libzmq", ("net-libs", "zeromq", Portage.AnySlot)) ,("taglib_c", ("media-libs", "taglib", Portage.AnySlot))+ ,("libcurl", ("net-misc", "curl", Portage.AnySlot))+ ,("libpq", ("dev-db", "postgresql", Portage.AnySlot)) ]
Portage/EBuild.hs view
@@ -94,7 +94,7 @@ showEBuild now ebuild = ss ("# Copyright 1999-" ++ this_year ++ " Gentoo Foundation"). nl. ss "# Distributed under the terms of the GNU General Public License v2". nl.- ss "# $Header: $". nl.+ ss "# $Id$". nl. nl. ss "EAPI=5". nl. nl.
Portage/EMeta.hs view
@@ -3,7 +3,7 @@ , findExistingMeta ) where -import Control.Monad.Error+import Control.Monad import Data.Char (isSpace) import qualified Data.List as L
Status.hs view
@@ -14,8 +14,6 @@ import Portage.PackageId import Portage.Resolve -import Control.Monad.State- import qualified Data.List as List import qualified Data.ByteString.Char8 as BS@@ -27,6 +25,7 @@ import qualified Data.Traversable as T import Control.Applicative+import Control.Monad -- cabal import Distribution.Client.Types ( Repo, SourcePackageDb(..), SourcePackage(..) )@@ -98,7 +97,7 @@ portage <- filterByHerd ("haskell" `elem`) <$> loadLazy portdir let (over, both, port) = portageDiff (overlayMap overlay) (overlayMap portage) - both' <- T.forM both $ mapM $ \e -> liftIO $ do+ both' <- T.forM both $ mapM $ \e -> do -- can't fail, we know the ebuild exists in both portagedirs -- also, one of them is already bound to 'e' let (Just e1) = lookupEbuildWith (overlayMap portage) (ebuildId e)@@ -164,6 +163,7 @@ latestPortageVersion = List.maximum $ map (pkgVersion . ebuildId . fromStatus) inPortage interestingPackages = flip filter sts $ \st -> case st of+ HackageOnly _ -> False Differs _ _ -> True _ | pkgVersion (ebuildId (fromStatus st)) > latestPortageVersion -> True | otherwise -> False
hackport.cabal view
@@ -1,5 +1,5 @@ Name: hackport-Version: 0.4.5+Version: 0.4.6 License: GPL License-file: LICENSE Author: Henning Günther, Duncan Coutts, Lennart Kolmodin@@ -28,7 +28,6 @@ deepseq >= 1.3, filepath, parsec,- mtl, network >= 2.6, network-uri >= 2.6, pretty, regex-compat,@@ -102,7 +101,6 @@ base >= 2.0 && < 5, filepath, parsec,- mtl, network >= 2.6, network-uri >= 2.6, pretty, regex-compat,@@ -142,7 +140,6 @@ extensible-exceptions, filepath, HUnit,- mtl, pretty, process, time,@@ -163,7 +160,6 @@ extensible-exceptions, filepath, HUnit,- mtl, pretty, process, time,@@ -184,7 +180,6 @@ extensible-exceptions, filepath, HUnit,- mtl, pretty, process, time,