cabal2arch 0.5.3 → 0.6
raw patch · 2 files changed
+41/−34 lines, 2 filesdep ~base
Dependency ranges changed: base
Files
- Main.hs +30/−14
- cabal2arch.cabal +11/−20
Main.hs view
@@ -38,8 +38,7 @@ import Control.Monad import Control.Concurrent-import Control.Exception-import qualified Control.Exception as C+import qualified Control.OldException as C import Data.List import Data.Maybe@@ -62,7 +61,7 @@ main :: IO () main =- bracket+ C.bracket -- We do all our work in a temp directory (do cwd <- getCurrentDirectory etmp <- myReadProcess "mktemp" ["-d"] []@@ -370,6 +369,8 @@ ,("pthread", "") ,("m", "")+ ,("gl", "")+ ,("glu", "") ,("db_cxx", "") ,("icui18n", "icu")@@ -409,6 +410,9 @@ ,"gtk2hs" ,"darcs" ,"greencard"+ ,"pandoc"+ ,"pugs-drift"+ ,"wol" ] -- translate some library dependencies to gtk names@@ -499,7 +503,9 @@ , arch_pkgver = vers , arch_url = "http://hackage.haskell.org/cgi-bin/hackage-scripts/package/"++display name -- else homepage cabal- , arch_pkgdesc = synopsis cabal+ , arch_pkgdesc = case synopsis cabal of+ [] -> take 80 (description cabal)+ s -> s , arch_license = ArchList . return $ case license cabal of@@ -535,26 +541,31 @@ ++ (display name </> display vers </> display name <-> display vers <.> "tar.gz") , arch_build =- [ "cd $startdir/src/" </> display name <-> display vers- , "runhaskell Setup configure --prefix=/usr || return 1"+ [ "cd ${srcdir}/" </> display name <-> display vers+ , "runhaskell Setup configure --prefix=/usr --docdir=/usr/share/doc/${pkgname} || return 1" , "runhaskell Setup build || return 1" ] ++ -- Only needed for libraries: (if hasLibrary then- ["runhaskell Setup register --gen-script || return 1"- ,"runhaskell Setup unregister --gen-script || return 1"- ,"install -D -m744 register.sh $startdir/pkg/usr/share/haskell/$pkgname/register.sh"- , "install -m744 unregister.sh $startdir/pkg/usr/share/haskell/$pkgname/unregister.sh"+ [ "runhaskell Setup haddock || return 1"+ , "runhaskell Setup register --gen-script || return 1"+ , "runhaskell Setup unregister --gen-script || return 1"+ , "install -D -m744 register.sh ${pkgdir}/usr/share/haskell/$pkgname/register.sh"+ , "install -m744 unregister.sh ${pkgdir}/usr/share/haskell/$pkgname/unregister.sh"+ , "install -d -m755 $pkgdir/usr/share/doc/ghc/libraries"+ , "ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/libraries/" ++ (display name) ] else []) ++- ["runhaskell Setup copy --destdir=$startdir/pkg || return 1"]+ ["runhaskell Setup copy --destdir=${pkgdir} || return 1"] ++ (if not (null (licenseFile cabal)) && license cabal `notElem` [GPL,LGPL]- then ["install -D -m644 " ++ licenseFile cabal ++- " $startdir/pkg/usr/share/licenses/$pkgname/LICENSE || return 1" ]+ then+ [ "install -D -m644 " ++ licenseFile cabal ++ " ${pkgdir}/usr/share/licenses/$pkgname/LICENSE || return 1"+ , "rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE"+ ] else []) -- if its a library:@@ -608,16 +619,21 @@ [ "HS_DIR=/usr/share/haskell/" ++ pkgname , "post_install() {" , " ${HS_DIR}/register.sh"+ , " (cd /usr/share/doc/ghc/libraries; ./gen_contents_index)" , "}" , "pre_upgrade() {" , " ${HS_DIR}/unregister.sh" , "}" , "post_upgrade() {" , " ${HS_DIR}/register.sh"+ , " (cd /usr/share/doc/ghc/libraries; ./gen_contents_index)" , "}" , "pre_remove() {" , " ${HS_DIR}/unregister.sh" , "}"+ , "post_remove() {"+ , " (cd /usr/share/doc/ghc/libraries; ./gen_contents_index)"+ , "}" , "op=$1" , "shift" , "$op $*" ]@@ -879,7 +895,7 @@ -- Safe wrapper for getEnv getEnvMaybe :: String -> IO (Maybe String)-getEnvMaybe name = handle (const $ return Nothing) (Just `fmap` getEnv name)+getEnvMaybe name = C.handle (const $ return Nothing) (Just `fmap` getEnv name) ------------------------------------------------------------------------
cabal2arch.cabal view
@@ -1,5 +1,5 @@ name: cabal2arch-version: 0.5.3+version: 0.6 homepage: http://code.haskell.org/~dons/code/cabal2arch synopsis: Create Arch Linux packages from Cabal packages description: Create Arch Linux packages from Cabal packages@@ -11,27 +11,18 @@ cabal-version: >= 1.2 build-type: Simple -flag small_base- description: Choose the new smaller, split-up base package.- executable cabal2arch main-is: Main.hs ghc-options: -Wall - if flag(small_base)- build-depends: - base < 4,- pretty,- process,- directory,- containers,- bytestring- else- build-depends: - base < 3-- build-depends:- Cabal > 1.6,- pureMD5 >= 0.2.1,- filepath+ build-depends: + base >= 4 && <= 6,+ pretty,+ process,+ directory,+ containers,+ bytestring,+ Cabal > 1.6,+ pureMD5 >= 0.2.1,+ filepath