Policy change in cabal2arch wrt. "provides"

Hey all, After some discussion on the IRC channel, I've changed the policy in cabal2arch wrt. "provides". That is, whether to list explicitly all dependencies on a package -- even those provided in the GHC bundle. Not listing things is convenient -- as it means that tools that don't understand 'provides' will work. However, it means we have to update cabal2arch on every major GHC release. And all the PKGBUILDs!! Listing all dependencies, then relying on tools to readd the provides field of GHC and get it right, means we do *zero* work when a GHC major release happens -- since libs can move in and out of the provides set without problems. So that is now the policy, and the upcoming cabal2arch update will generate PKGBUILDS including the following deps (as needed): -- Official Provides: http://repos.archlinux.org/wsvn/packages/ghc/repos/extra-x86_64/PKGBUILD -- ,Dependency (PackageName "array") (ThisVersion (Version [0,3,0,0] [])) -- ,Dependency (PackageName "bytestring") (ThisVersion (Version [0,9,1,5] [])) -- ,Dependency (PackageName "Cabal") (ThisVersion (Version [1,8,0,2] [])) -- ,Dependency (PackageName "containers") (ThisVersion (Version [0,3,0,0] [])) -- ,Dependency (PackageName "directory") (ThisVersion (Version [1,0,1,0] [])) -- ,Dependency (PackageName "extensible-exceptions") (AnyVersion) -- ,Dependency (PackageName "filepath") (ThisVersion (Version [1,1,0,3] [])) -- ,Dependency (PackageName "haskell98") (ThisVersion (Version [1,0,1,1] [])) -- ,Dependency (PackageName "hpc") (ThisVersion (Version [0,5,0,4] [])) -- ,Dependency (PackageName "old-locale") (ThisVersion (Version [1,0,0,2] [])) -- ,Dependency (PackageName "old-time") (ThisVersion (Version [1,0,0,1] [])) -- ,Dependency (PackageName "pretty") (ThisVersion (Version [1,0,1,1] [])) -- ,Dependency (PackageName "process") (ThisVersion (Version [1,0,1,2] [])) -- ,Dependency (PackageName "random") (ThisVersion (Version [1,0,0,2] [])) -- ,Dependency (PackageName "syb") (ThisVersion (Version [0,1,0,2] [])) -- ,Dependency (PackageName "template-haskell") (ThisVersion (Version [2,4,0,0] [])) -- ,Dependency (PackageName "time") (ThisVersion (Version [1,1,4] [])) -- ,Dependency (PackageName "unix") (ThisVersion (Version [2,4,0,0] [])) -- utf8-string It will continue to **NOT** list these: ,Dependency (PackageName "base") (ThisVersion (Version [4,1,0,0] [])) ,Dependency (PackageName "dph-base") (ThisVersion (Version [ 0,3 ] [] )) ,Dependency (PackageName "dph-par" ) (ThisVersion (Version [ 0,3 ] [] )) ,Dependency (PackageName "dph-prim-interface") (ThisVersion (Version [ 0,3 ] [] )) ,Dependency (PackageName "dph-prim-par" ) (ThisVersion (Version [ 0,3 ] [] )) ,Dependency (PackageName "dph-prim-seq" ) (ThisVersion (Version [ 0,3 ] [] )) ,Dependency (PackageName "dph-seq" ) (ThisVersion (Version [ 0,3 ] [] )) ,Dependency (PackageName "ghc") (AnyVersion) ,Dependency (PackageName "ghc-prim") (AnyVersion) Which are all "magic" Now, we will need a list of package tools that don't support "provides" to not recommend. And I will have cabal2arch insert a comment regarding our requirement to support "provides" Comments? -- Don
participants (1)
-
Don Stewart