Does anyone have a policy document they can point to for the following: "No package should ever be listed in both depends and makedepends." Cheers, Don ----- Forwarded message from Magnus Therning <magnus@therning.org> ----- Date: Thu, 04 Jun 2009 22:50:00 +0100 From: Magnus Therning <magnus@therning.org> To: Don Stewart <dons@galois.com> Subject: Some patches for cabal2arch Enjoy. /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus identi.ca|twitter: magthe Sat May 30 10:13:23 BST 2009 magnus@therning.org * Replacing all occurances of $startdir/{pkg,src} $startdir should never be used in PKGBUILD, instead $pkgdir and $srcdir should be used instead. Apparently there is no guarantee that $startdir/{pkg,src}==${pkg,src}dir. Sat May 30 10:33:51 BST 2009 magnus@therning.org * Use Control.OldException explicitly Thu Jun 4 22:42:14 BST 2009 magnus@therning.org * Clean up depends/makedepends No package should ever be listed in both depends and makedepends. For packages with only executables: makedepends = buildDepends depends = ['gmp'] ++ clibs For packages with only libs: makedepends = [] depends = buildDepends For packages with both executables and libs: makedepends = [] depends = buildDepends ++ ['gmp'] ++ clibs New patches: [Replacing all occurances of $startdir/{pkg,src} magnus@therning.org**20090530091323 Ignore-this: aa69185376663346b3710c7a80a8d388 $startdir should never be used in PKGBUILD, instead $pkgdir and $srcdir should be used instead. Apparently there is no guarantee that $startdir/{pkg,src}==${pkg,src}dir. ] { hunk ./Main.hs 525 ++ (display name </> display vers </> display name <-> display vers <.> "tar.gz") , arch_build = - [ "cd $startdir/src/" </> display name <-> display vers + [ "cd ${srcdir}/" </> display name <-> display vers , "runhaskell Setup configure --prefix=/usr || return 1" , "runhaskell Setup build || return 1" ] ++ hunk ./Main.hs 535 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" + ,"install -D -m744 register.sh ${pkgdir}/usr/share/haskell/$pkgname/register.sh" + , "install -m744 unregister.sh ${pkgdir}/usr/share/haskell/$pkgname/unregister.sh" ] else []) ++ hunk ./Main.hs 540 - ["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 ++ hunk ./Main.hs 544 - " $startdir/pkg/usr/share/licenses/$pkgname/LICENSE || return 1" ] + " ${pkgdir}/usr/share/licenses/$pkgname/LICENSE || return 1" ] else []) -- if its a library: } [Use Control.OldException explicitly magnus@therning.org**20090530093351 Ignore-this: 89ac5a923e7bb3d072adc8f39bfad4c9 ] { hunk ./Main.hs 41 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 hunk ./Main.hs 64 main :: IO () main = - bracket + C.bracket -- We do all our work in a temp directory (do cwd <- getCurrentDirectory etmp <- myReadProcess "mktemp" ["-d"] [] hunk ./Main.hs 868 -- 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) ------------------------------------------------------------------------ hunk ./cabal2arch.cabal 23 if flag(small_base) build-depends: - base < 4, + base, pretty, process, directory, } [Clean up depends/makedepends magnus@therning.org**20090604214214 Ignore-this: 3781e18ed593d5b31a927b22e8755168 No package should ever be listed in both depends and makedepends. For packages with only executables: makedepends = buildDepends depends = ['gmp'] ++ clibs For packages with only libs: makedepends = [] depends = buildDepends For packages with both executables and libs: makedepends = [] depends = buildDepends ++ ['gmp'] ++ clibs ] hunk ./Main.hs 500 -- All Hackage packages depend on GHC at build time -- All Haskell libraries are prefixed with "haskell-" - , arch_makedepends = my_makedepends + , arch_makedepends = if hasLibrary + then ArchList [] + else my_makedepends , arch_depends = (if not (isLibrary) Context: [Update versions for 6.10.2 Don Stewart <dons@galois.com>**20090503220339 Ignore-this: 9c7065402eb4b0fa40cb98d78257b1e8 ] [Don't die on meta packages Don Stewart <dons@galois.com>**20090503220326 Ignore-this: 865718094cb482a99e6d218eaffe8bca ] [bump Don Stewart <dons@galois.com>**20090120060802] [more stuff Don Stewart <dons@galois.com>**20090118204158] [tweaks Don Stewart <dons@galois.com>**20090115012123] [Update list to match ghc 6.10 Don Stewart <dons@galois.com>**20090115012027] [Fix type errors Don Stewart <dons@galois.com>**20081211003027 Ignore-this: b04864e1a4ef3f82d14d84a36f8159d9 ] [Bump Don Stewart <dons@galois.com>**20081211002459 Ignore-this: 68ee33c3a389cd2b4be843078c2a2363 ] [Changes for compatability with Cabal>=1.6 Asgaroth <asgaroth_@gmx.de>**20081210181517] [Bump Don Stewart <dons@galois.com>**20080912223231] [Typo correction in String Constant Matthew William Cox <matt@mattcox.ca>**20080824050628] [more notes Don Stewart <dons@galois.com>**20080819003802] [require cabal > 1.4.0.0 Don Stewart <dons@galois.com>**20080816214330] [typo Don Stewart <dons@galois.com>**20080809221828] [typo Don Stewart <dons@galois.com>**20080809221819] [Add Cabal as always required Don Stewart <dons@galois.com>**20080809221600] [libraries have a "runtime" dep on other libraires Don Stewart <dons@galois.com>**20080731043213] [more tewaks Don Stewart <dons@galois.com>**20080710232737] [bump Don Stewart <dons@galois.com>**20080704172433] [more apps Don Stewart <dons@galois.com>**20080704172421] [Add mozembed Don Stewart <dons@galois.com>**20080624224843] [more stuf Don Stewart <dons@galois.com>**20080622182333] [Add C dependencies support Don Stewart <dons@galois.com>**20080621231902] [more stuff Don Stewart <dons@galois.com>**20080621192207] [more stuff Don Stewart <dons@galois.com>**20080619214200] [bump Don Stewart <dons@galois.com>**20080619154829] [bump version Don Stewart <dons@galois.com>**20080619005235] [more libs Don Stewart <dons@galois.com>**20080619005042] [titles, fftw Don Stewart <dons@galois.com>**20080619001858] [nub Don Stewart <dons@galois.com>**20080618055140] [more stuff Don Stewart <dons@galois.com>**20080618014217] [incorrect bump Don Stewart <dons@galois.com>**20080618002208] [more libraries Don Stewart <dons@galois.com>**20080618001954] [Handle missing LICENSE files Don Stewart <dons@galois.com>**20080617214806] [fix bug with quoting in pkgdesc. Don Stewart <dons@galois.com>**20080617210705] [more libs Don Stewart <dons@galois.com>**20080617001133] [more libs, new env var Don Stewart <dons@galois.com>**20080616215343] [bump version Don Stewart <dons@galois.com>**20080616180921] [add gtk2hs support Don Stewart <dons@galois.com>**20080616180845] [Enough to build 250 libraries Don Stewart <dons@galois.com>**20080616075512] [Add more rules for C libraries Don Stewart <dons@galois.com>**20080616013917] [some more libraries Don Stewart <dons@galois.com>**20080616001949] [depend on new puremd5 Don Stewart <dons@galois.com>**20080613235859] [Determine canonical name for C libraries Don Stewart <dons@galois.com>**20080613211325] [always use hackage url Don Stewart <dons@galois.com>**20080613053013] [0.3.1 Don Stewart <dons@galois.com>**20080613045331] [depend on stable pureMD5 Don Stewart <dons@galois.com>**20080613045238] [add missing libraries and bump version Don Stewart <dons@galois.com>**20080613041415] [bump version Don Stewart <dons@galois.com>**20080613010106] [lowercase Don Stewart <dons@galois.com>**20080613000828] [typo Don Stewart <dons@galois.com>**20080613000354] [tweaks Don Stewart <dons@galois.com>**20080613000100] [Bump version, now produces valid libraries Don Stewart <dons@galois.com>**20080612232452] [Finish off beta version Don Stewart <dons@galois.com>**20080612224944] [more notes Don Stewart <dons@galois.com>**20080612063850] [add build() generation and correct version dep printing Don Stewart <dons@galois.com>**20080612043420] [Initial stab at cabal2arch Don Stewart <dons@galois.com>**20080612012022] Patch bundle hash: 60a5d14760663bdbbf06e3616119f857ed3a768f ----- End forwarded message -----