cabal-debian 4.17.3 → 4.17.4
raw patch · 5 files changed
+28/−4 lines, 5 filesdep ~Cabal
Dependency ranges changed: Cabal
Files
- cabal-debian.cabal +2/−2
- changelog +8/−0
- src/Debian/Debianize/BuildDependencies.hs +6/−0
- src/Debian/Debianize/Finalize.hs +9/−2
- src/Debian/Debianize/Options.hs +3/−0
cabal-debian.cabal view
@@ -1,5 +1,5 @@ Name: cabal-debian-Version: 4.17.3+Version: 4.17.4 License: BSD3 License-File: debian/copyright Author: David Fox <dsf@seereason.com>@@ -182,7 +182,7 @@ if flag(ghcjs-support) Build-Depends: Cabal >= 1.21 else- Build-Depends: Cabal >= 1.9+ Build-Depends: Cabal >= 1.9 && < 1.21 Exposed-Modules: Data.Algorithm.Diff.Context Data.Algorithm.Diff.Pretty
changelog view
@@ -1,3 +1,11 @@+haskell-cabal-debian (4.17.4) unstable; urgency=low++ * Add missing ifdefs to hide the GHCJS constructor when ghcjs-support+ flag is False.+ * Require Cabal < 1.21 when ghcjs-support flag is False.++ -- David Fox <dsf@seereason.com> Tue, 02 Sep 2014 09:06:20 -0700+ haskell-cabal-debian (4.17.3) unstable; urgency=low * Moved source repository to github.com.
src/Debian/Debianize/BuildDependencies.hs view
@@ -110,7 +110,9 @@ mapM (buildDependencies hcTypePairs) (List.filter (not . selfDependency (Cabal.package pkgDesc)) deps) >>= return . concat hcPackageTypes :: CompilerFlavor -> Set B.PackageType hcPackageTypes GHC = fromList [B.Development, B.Profiling]+#if MIN_VERSION_Cabal(1,21,0) hcPackageTypes GHCJS = fromList [B.Development]+#endif hcPackageTypes hc = error $ "Unsupported compiler flavor: " ++ show hc @@ -122,7 +124,9 @@ cDeps <- cabalDeps let xs = nub $ if doc then (if member GHC hcs then [anyrel "ghc-doc"] else []) +++#if MIN_VERSION_Cabal(1,21,0) (if member GHCJS hcs then [anyrel "ghcjs"] else []) +++#endif bDeps ++ concat cDeps else [] filterMissing xs@@ -312,10 +316,12 @@ compilerPackageName GHC B.Profiling = D.BinPkgName "ghc-prof" compilerPackageName GHC B.Development = D.BinPkgName "ghc" compilerPackageName GHC _ = D.BinPkgName "ghc" -- whatevs+#if MIN_VERSION_Cabal(1,21,0) compilerPackageName GHCJS B.Documentation = D.BinPkgName "ghcjs" compilerPackageName GHCJS B.Profiling = error "Profiling not supported for GHCJS" compilerPackageName GHCJS B.Development = D.BinPkgName "ghcjs" compilerPackageName GHCJS _ = D.BinPkgName "ghcjs" -- whatevs+#endif compilerPackageName x _ = error $ "Unsupported compiler flavor: " ++ show x -- FIXME: we are assuming here that ghc conflicts with all the
src/Debian/Debianize/Finalize.hs view
@@ -1,5 +1,5 @@ -- | Compute the debianization of a cabal package.-{-# LANGUAGE OverloadedStrings, ScopedTypeVariables #-}+{-# LANGUAGE CPP, OverloadedStrings, ScopedTypeVariables #-} module Debian.Debianize.Finalize ( debianization , finalizeDebianization' -- external use deprecated - used in test script@@ -42,7 +42,10 @@ import Debian.Release (parseReleaseName) import Debian.Time (getCurrentLocalRFC822Time) import Debian.Version (buildDebianVersion, DebianVersion, parseDebianVersion)-import Distribution.Compiler (CompilerFlavor(GHC, GHCJS))+import Distribution.Compiler (CompilerFlavor(GHC))+#if MIN_VERSION_Cabal(1,21,0)+import Distribution.Compiler (CompilerFlavor(GHCJS))+#endif import Distribution.Package (Dependency(..), PackageIdentifier(..), PackageName(PackageName)) import Distribution.PackageDescription (PackageDescription) import Distribution.PackageDescription as Cabal (allBuildInfo, BuildInfo(buildable, extraLibs), Executable(buildInfo, exeName))@@ -364,7 +367,9 @@ do hcs <- access A.compilerFlavors >>= return . Set.toList builddir <- access T.buildDir >>= return . fromEmpty (case hcs of [GHC] -> singleton "dist-ghc/build"+#if MIN_VERSION_Cabal(1,21,0) [GHCJS] -> singleton "dist-ghcjs/build"+#endif _ -> error $ "Unexpected compiler: " ++ show hcs) dDir <- access T.packageDescription >>= maybe (error "expandAtoms") (return . dataDir) expandApacheSites@@ -397,12 +402,14 @@ doAtom [GHC] (A.InstallCabalExec b name dest) = T.install b (builddir </> name </> name) dest -- A GHCJS executable is a directory with files, copy them -- all into place.+#if MIN_VERSION_Cabal(1,21,0) doAtom [GHCJS] (A.InstallCabalExec b name dest) = T.rulesFragments += (Text.unlines [ pack ("binary-fixup" </> show (pretty b)) <> "::" , pack ("\t(cd " <> builddir </> name <> " && find " <> name <.> "jsexe" <> " -type f) |\\\n" <> "\t while read i; do install -Dp " <> builddir </> name </> "$$i debian" </> show (pretty b) </> makeRelative "/" dest </> "$$i; done") ])+#endif doAtom _ _ = return () -- Turn A.InstallCabalExecTo into a make rule
src/Debian/Debianize/Options.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} module Debian.Debianize.Options ( options , compileArgs@@ -183,8 +184,10 @@ , "set to /, but it must be set."]), Option "" ["ghc"] (NoArg (compilerFlavors %= (insert GHC))) "Generate packages for GHC - same as --with-compiler GHC", Option "" ["no-ghc"] (NoArg (compilerFlavors %= (delete GHC))) "Do not generate packages for GHC - same as --without-compiler GHC",+#if MIN_VERSION_Cabal(1,21,0) Option "" ["ghcjs"] (NoArg (compilerFlavors %= (insert GHCJS))) "Generate packages for GHCJS - same as --with-compiler GHCJS", Option "" ["no-ghcjs"] (NoArg (compilerFlavors %= (delete GHCJS))) "Do not generate packages for GHCJS - same as --without-compiler GHCJS",+#endif Option "" ["hugs"] (NoArg (compilerFlavors %= (insert Hugs))) "Generate packages for Hugs - same as --with-compiler GHC", Option "" ["no-hugs"] (NoArg (compilerFlavors %= (delete Hugs))) "Do not generate packages for Hugs - same as --without-compiler Hugs", Option "" ["with-compiler"] (ReqArg (\ s -> maybe (error $ "Invalid compiler id: " ++ show s)