cabal2arch 0.6.1 → 0.7
raw patch · 2 files changed
+69/−70 lines, 2 filesdep ~Cabal
Dependency ranges changed: Cabal
Files
- Main.hs +67/−68
- cabal2arch.cabal +2/−2
Main.hs view
@@ -5,7 +5,7 @@ -- | -- Module : cabal2arch: convert cabal packages to Arch Linux PKGBUILD format--- Copyright : (c) Don Stewart, 2008+-- Copyright : (c) Don Stewart, 2008 .. 2010 -- License : BSD3 -- -- Maintainer: Don Stewart <dons@galois.com>@@ -103,9 +103,8 @@ -- Create a package description with all configurations resolved. let e_finalcabalsrc = finalizePackageDescription []- (Nothing :: Maybe (PackageIndex PackageIdentifier))- buildOS -- linux/x86_64- X86_64+ (const True) -- could check against prefered pkgs....+ (Platform X86_64 buildOS) -- linux/x86_64 (CompilerId GHC (Version [6,10,3] [])) -- now constrain it to solve in the context of a modern ghc only@@ -213,80 +212,77 @@ -- -- http://haskell.org/haskellwiki/Libraries_released_with_GHC ----- TODO populate this based on a dynamic check.+-- And what Arch Linux thinks GHC provides: ----- Check the page too.+-- http://repos.archlinux.org/wsvn/packages/ghc/repos/extra-x86_64/PKGBUILD --+-- Note: we could just list these directly, and have yaourt solve them.+--+-- NEW POLICY:+-- We rely on all "provides" from the GHC library to be listed explicitly.+-- corePackages :: [Dependency] corePackages = [- Dependency (PackageName "Cabal") (ThisVersion (Version [1,6,0,1] []))- ,Dependency (PackageName "HUnit") (ThisVersion (Version [1,2,0,3] []))- ,Dependency (PackageName "QuickCheck") (ThisVersion (Version [1,2,0,0] []))- ,Dependency (PackageName "array") (ThisVersion (Version [0,2,0,0] []))- ,Dependency (PackageName "base") (ThisVersion (Version [4,1,0,0] []))- ,Dependency (PackageName "bytestring") (ThisVersion (Version [0,9,1,4] []))- ,Dependency (PackageName "containers") (ThisVersion (Version [0,2,0,0] []))- ,Dependency (PackageName "directory") (ThisVersion (Version [1,0,0,2] [])) +-- Magic packages we have to remove+ 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 ] [] ))---- removed:--- ,Dependency (PackageName "editline") (AnyVersion)- ,Dependency (PackageName "filepath") (ThisVersion (Version [1,1,0,1] [])) ,Dependency (PackageName "ghc") (AnyVersion) ,Dependency (PackageName "ghc-prim") (AnyVersion)- ,Dependency (PackageName "haskell-src") (ThisVersion (Version [1,0,1,3] []))- ,Dependency (PackageName "haskell98") (ThisVersion (Version [1,0,1,0] []))- ,Dependency (PackageName "hpc") (ThisVersion (Version [0,5,0,2] []))- ,Dependency (PackageName "html") (ThisVersion (Version [1,0,1,2] []))- ,Dependency (PackageName "integer") (ThisVersion (Version [0,1,0,0] []))- ,Dependency (PackageName "mtl") (ThisVersion (Version [1,1,0,2] []))- ,Dependency (PackageName "network") (ThisVersion (Version [2,2,0,1] []))- ,Dependency (PackageName "old-locale") (ThisVersion (Version [1,0,0,1] []))- ,Dependency (PackageName "old-time") (ThisVersion (Version [1,0,0,1] []))- ,Dependency (PackageName "packedstring") (ThisVersion (Version [0,1,0,1] []))- ,Dependency (PackageName "parallel") (ThisVersion (Version [1,1,0,0] []))- ,Dependency (PackageName "parsec") (ThisVersion (Version [2,1,0,0] []))- ,Dependency (PackageName "pretty") (ThisVersion (Version [1,0,1,0] []))- ,Dependency (PackageName "process") (ThisVersion (Version [1,0,1,0] []))- ,Dependency (PackageName "random") (ThisVersion (Version [1,0,0,1] []))- ,Dependency (PackageName "regex-base") (ThisVersion (Version [0,72,0,2] []))- ,Dependency (PackageName "regex-compat") (ThisVersion (Version [0,71,0,1] []))- ,Dependency (PackageName "regex-posix") (ThisVersion (Version [0,72,0,2] []))- ,Dependency (PackageName "stm") (ThisVersion (Version [2,1,1,2] []))- ,Dependency (PackageName "syb") (ThisVersion (Version [0,1,0,0] []))- ,Dependency (PackageName "template-haskell") (ThisVersion (Version [2,3,0,0] []))--- ,Dependency (PackageName "time") (ThisVersion (Version [1,1,2,2] []))- ,Dependency (PackageName "unix") (ThisVersion (Version [2,3,1,0] []))- ,Dependency (PackageName "xhtml") (ThisVersion (Version [3000,2,0,1] [])) +-- 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 ++-- Removed in 6.12.x+-- ,Dependency (PackageName "html") (ThisVersion (Version [1,0,1,2] []))+-- ,Dependency (PackageName "integer") (ThisVersion (Version [0,1,0,0] []))+-- ,Dependency (PackageName "QuickCheck") (ThisVersion (Version [1,2,0,0] []))+-- ,Dependency (PackageName "haskell-src") (ThisVersion (Version [1,0,1,3] []))+-- ,Dependency (PackageName "parsec") (ThisVersion (Version [2,1,0,0] []))+-- ,Dependency (PackageName "packedstring") (ThisVersion (Version [0,1,0,1] []))+-- ,Dependency (PackageName "parallel") (ThisVersion (Version [1,1,0,0] []))+-- ,Dependency (PackageName "network") (ThisVersion (Version [2,2,0,1] []))+-- ,Dependency (PackageName "mtl") (ThisVersion (Version [1,1,0,2] []))+-- ,Dependency (PackageName "stm") (ThisVersion (Version [2,1,1,2] []))+-- ,Dependency (PackageName "HUnit") (ThisVersion (Version [1,2,0,3] []))+-- ,Dependency (PackageName "xhtml") (ThisVersion (Version [3000,2,0,1] []))+-- ,Dependency (PackageName "regex-base") (ThisVersion (Version [0,72,0,2] []))+-- ,Dependency (PackageName "regex-compat") (ThisVersion (Version [0,71,0,1] []))+-- ,Dependency (PackageName "regex-posix") (ThisVersion (Version [0,72,0,2] []))++-- Removed in 6.10.x+-- ,Dependency (PackageName "editline") (AnyVersion) -- Dependency (PackageName "ALUT") (ThisVersion (Version [2,1,0,0] [])) -- ,Dependency (PackageName "cgi") (ThisVersion (Version [3001,1,5,1] []))--- ,Dependency (PackageName "extensible-exceptions") (AnyVersion) -- ,Dependency (PackageName "fgl") (ThisVersion (Version [5,4,1,1] [])) -- gone -- ,Dependency (PackageName "GLUT") (ThisVersion (Version [2,1,1,1] []))--- ,Dependency (PackageName "OpenAL") (ThisVersion (Version [1,3,1,1] [])) -- gone--- ,Dependency (PackageName "readline") (ThisVersion (Version [1,0,1,0] []))--{--ALUT-2.1.0.0 cgi-3001.1.5.1 network-2.1.0.0 regex-base-0.72.0.1-Cabal-1.2.3.0 containers-0.1.0.1 old-locale-1.0.0.0 regex-compat-0.71.0.1-GLUT-2.1.1.1 directory-1.0.0.0 old-time-1.0.0.0 regex-posix-0.72.0.2-HUnit-1.2.0.0 fgl-5.4.1.1 packedstring-0.1.0.0 stm-2.1.1.0-OpenAL-1.3.1.1 filepath-1.1.0.0 parallel-1.0.0.0 template-haskell-2.2.0.0-OpenGL-2.2.1.1 haskell-src-1.0.1.1 parsec-2.1.0.0 time-1.1.2.0-QuickCheck-1.1.0.0 haskell98-1.0.1.0 pretty-1.0.0.0 unix-2.3.0.0-array-0.1.0.0 hpc-0.5.0.0 process-1.0.0.0 xhtml-3000.0.2.1-base-3.0.1.0 html-1.0.1.1 random-1.0.0.0-bytestring-0.9.0.1 mtl-1.1.0.0 readline-1.0.1.0--}+-- ,Dependency (PackageName "OpenAL") (ThisVersion (Version [1,3,1,1] [])) -- gone+-- ,Dependency (PackageName "readline") (ThisVersion (Version [1,0,1,0] [])) ] @@ -483,6 +479,9 @@ [ text "# Contributor:" <+> text email , text "# Package generated by cabal2arch" <+> disp version+ , text "# Note: we list all package dependencies."+ , text "# Your package tool should understand 'provides' syntax"+ , text "#" , text "pkgname" <=> text (arch_pkgname pkg) , text "pkgrel"@@ -539,8 +538,8 @@ , arch_license = ArchList . return $ case license cabal of- GPL -> GPL- LGPL -> LGPL+ x@GPL {} -> x+ x@LGPL {} -> x l -> UnknownLicense ("custom:"++ show l) -- All Hackage packages depend on GHC at build time@@ -584,14 +583,14 @@ , "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)+ , "install -d -m755 $pkgdir/usr/share/doc/ghc/html/libraries"+ , "ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/" ++ (display name) ] else []) ++ ["runhaskell Setup copy --destdir=${pkgdir} || return 1"] ++- (if not (null (licenseFile cabal)) && license cabal `notElem` [GPL,LGPL]+ (if not (null (licenseFile cabal)) && (case license cabal of GPL {} -> False; LGPL {} -> False; _ -> True) then [ "install -D -m644 " ++ licenseFile cabal ++ " ${pkgdir}/usr/share/licenses/$pkgname/LICENSE || return 1" , "rm -f ${pkgdir}/usr/share/doc/${pkgname}/LICENSE"@@ -656,20 +655,20 @@ [ "HS_DIR=/usr/share/haskell/" ++ pkgname , "post_install() {" , " ${HS_DIR}/register.sh"- , " (cd /usr/share/doc/ghc/libraries; ./gen_contents_index)"+ , " (cd /usr/share/doc/ghc/html/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)"+ , " (cd /usr/share/doc/ghc/html/libraries; ./gen_contents_index)" , "}" , "pre_remove() {" , " ${HS_DIR}/unregister.sh" , "}" , "post_remove() {"- , " (cd /usr/share/doc/ghc/libraries; ./gen_contents_index)"+ , " (cd /usr/share/doc/ghc/html/libraries; ./gen_contents_index)" , "}" , "op=$1" , "shift"@@ -682,9 +681,9 @@ help :: IO a help = do hPutStrLn stderr $ unlines- [ "cabal2pkg: [-h|--help] [directory|url]"+ [ "cabal2arch: [-h|--help] [directory|url]" , ""- , " Generate PKGBUILD to stdout for .cabal file in <directory> or at <url>"+ , " Generate PKGBUILD for the .cabal file in <directory> or at <url>" , "" , "Usage:" , " -h Display help message"
cabal2arch.cabal view
@@ -1,5 +1,5 @@ name: cabal2arch-version: 0.6.1+version: 0.7 homepage: http://code.haskell.org/~dons/code/cabal2arch synopsis: Create Arch Linux packages from Cabal packages description: Create Arch Linux packages from Cabal packages@@ -22,7 +22,7 @@ directory, containers, bytestring,- Cabal > 1.6,+ Cabal > 1.8, pureMD5 >= 0.2.1, filepath, archlinux > 0.1