module Main ( main ) where import Distribution.Package import Distribution.PackageDescription import Distribution.PackageDescription.Parse import Distribution.PackageDescription.PrettyPrint import Distribution.Version import Distribution.Verbosity import System.Environment main :: IO () main = getArgs >>= mapM_ (\cabalFile -> readPackageDescription silent cabalFile >>= writeGenericPackageDescription cabalFile . stripVersionRestrictions) stripVersionRestrictions :: GenericPackageDescription -> GenericPackageDescription stripVersionRestrictions pkg = pkg { condLibrary = fmap f2 (condLibrary pkg) , condExecutables = map f1 (condExecutables pkg) , condTestSuites = map f1 (condTestSuites pkg) } where f1 (string,condTree) = (string, f2 condTree) f2 ct = ct { condTreeConstraints = map f3 (condTreeConstraints ct) } f3 (Dependency d _) = Dependency d anyVersion