git.iko.soy/typeable/cabal2nix
on master help sign in
PackageList.hs: improved import specification
commitbdfde6a44987314f907bbd8b00683df14c9d3128 authorPeter Simons <simons@cryp.to> dateSun 21 Aug 2011, 20:55 (15 years ago) parent23ee664
1 file changed+10−9
src/PackageList.hs+10−9
src/PackageList.hs+10−9
@@ -1,13 +1,14 @@
11module Main ( main ) where
22
33import Control.Exception ( assert )
4−import Data.Char
5−import Data.List
6−import Data.Version
7−import Distribution.Package
8−import Distribution.Text
9−import System.Process
10−import Text.Regex.Posix
4+import Data.Char ( toLower )
5+import Data.List ( nubBy, sortBy )
6+import Data.Ord ( comparing )
7+import Data.Version ( Version(..) )
8+import Distribution.Package ( PackageIdentifier(..), PackageName(..) )
9+import Distribution.Text ( simpleParse, display )
10+import System.Process ( readProcess )
11+import Text.Regex.Posix ( (=~), match, makeRegexOpts, compExtended, execBlank )
1112
1213type Pkg = (String,Version,String) -- (Name, Version, Attribute)
1314type Pkgset = [Pkg]
@@ -18,7 +19,7 @@ comparePkgByVersion (n1,v1,a1) (n2,v2,a2)
1819 | otherwise = compare a2 a1
1920
2021comparePkgByName :: Pkg -> Pkg-> Ordering
21−comparePkgByName (n1,_,_) (n2,_,_) = compare (map toLower n1) (map toLower n2)
22+comparePkgByName (n1,_,_) (n2,_,_) = comparing (map toLower) n1 n2
2223
2324parseHaskellPackageName :: String -> Maybe Pkg
2425parseHaskellPackageName name =
@@ -47,7 +48,7 @@ selectLatestVersions :: Pkgset -> Pkgset
4748selectLatestVersions = nubBy (\x y -> comparePkgByName x y == EQ) . sortBy comparePkgByVersion
4849
4950formatPackageLine :: Pkg -> String
50−formatPackageLine (name,version,attr) = show (name, showVersion version, Just url)
51+formatPackageLine (name,version,attr) = show (name, display version, Just url)
5152 where
5253 url = "http://hydra.nixos.org/job/nixpkgs/trunk/" ++ attr
5354