[arch-haskell] [magnus@therning.org: Some patches for cabal2arch]

Don Stewart dons at galois.com
Thu Jun 18 17:41:31 EDT 2009


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 at therning.org> -----

Date: Thu, 04 Jun 2009 22:50:00 +0100
From: Magnus Therning <magnus at therning.org>
To: Don Stewart <dons at 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 at 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 at therning.org
  * Use Control.OldException explicitly

Thu Jun  4 22:42:14 BST 2009  magnus at 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 at 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 at 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 at 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 at galois.com>**20090503220339
 Ignore-this: 9c7065402eb4b0fa40cb98d78257b1e8
] 
[Don't die on meta packages
Don Stewart <dons at galois.com>**20090503220326
 Ignore-this: 865718094cb482a99e6d218eaffe8bca
] 
[bump
Don Stewart <dons at galois.com>**20090120060802] 
[more stuff
Don Stewart <dons at galois.com>**20090118204158] 
[tweaks
Don Stewart <dons at galois.com>**20090115012123] 
[Update list to match ghc 6.10
Don Stewart <dons at galois.com>**20090115012027] 
[Fix type errors
Don Stewart <dons at galois.com>**20081211003027
 Ignore-this: b04864e1a4ef3f82d14d84a36f8159d9
] 
[Bump
Don Stewart <dons at galois.com>**20081211002459
 Ignore-this: 68ee33c3a389cd2b4be843078c2a2363
] 
[Changes for compatability with Cabal>=1.6
Asgaroth <asgaroth_ at gmx.de>**20081210181517] 
[Bump
Don Stewart <dons at galois.com>**20080912223231] 
[Typo correction in String Constant
Matthew William Cox <matt at mattcox.ca>**20080824050628] 
[more notes
Don Stewart <dons at galois.com>**20080819003802] 
[require cabal > 1.4.0.0
Don Stewart <dons at galois.com>**20080816214330] 
[typo
Don Stewart <dons at galois.com>**20080809221828] 
[typo
Don Stewart <dons at galois.com>**20080809221819] 
[Add Cabal as always required
Don Stewart <dons at galois.com>**20080809221600] 
[libraries have a "runtime" dep on other libraires
Don Stewart <dons at galois.com>**20080731043213] 
[more tewaks
Don Stewart <dons at galois.com>**20080710232737] 
[bump
Don Stewart <dons at galois.com>**20080704172433] 
[more apps
Don Stewart <dons at galois.com>**20080704172421] 
[Add mozembed
Don Stewart <dons at galois.com>**20080624224843] 
[more stuf
Don Stewart <dons at galois.com>**20080622182333] 
[Add C dependencies support
Don Stewart <dons at galois.com>**20080621231902] 
[more stuff
Don Stewart <dons at galois.com>**20080621192207] 
[more stuff
Don Stewart <dons at galois.com>**20080619214200] 
[bump
Don Stewart <dons at galois.com>**20080619154829] 
[bump version
Don Stewart <dons at galois.com>**20080619005235] 
[more libs
Don Stewart <dons at galois.com>**20080619005042] 
[titles, fftw
Don Stewart <dons at galois.com>**20080619001858] 
[nub
Don Stewart <dons at galois.com>**20080618055140] 
[more stuff
Don Stewart <dons at galois.com>**20080618014217] 
[incorrect bump
Don Stewart <dons at galois.com>**20080618002208] 
[more libraries
Don Stewart <dons at galois.com>**20080618001954] 
[Handle missing LICENSE files
Don Stewart <dons at galois.com>**20080617214806] 
[fix bug with quoting in pkgdesc.
Don Stewart <dons at galois.com>**20080617210705] 
[more libs
Don Stewart <dons at galois.com>**20080617001133] 
[more libs, new env var
Don Stewart <dons at galois.com>**20080616215343] 
[bump version
Don Stewart <dons at galois.com>**20080616180921] 
[add gtk2hs support
Don Stewart <dons at galois.com>**20080616180845] 
[Enough to build 250 libraries
Don Stewart <dons at galois.com>**20080616075512] 
[Add more rules for C libraries
Don Stewart <dons at galois.com>**20080616013917] 
[some more libraries
Don Stewart <dons at galois.com>**20080616001949] 
[depend on new puremd5
Don Stewart <dons at galois.com>**20080613235859] 
[Determine canonical name for C libraries
Don Stewart <dons at galois.com>**20080613211325] 
[always use hackage url
Don Stewart <dons at galois.com>**20080613053013] 
[0.3.1
Don Stewart <dons at galois.com>**20080613045331] 
[depend on stable pureMD5
Don Stewart <dons at galois.com>**20080613045238] 
[add missing libraries and bump version
Don Stewart <dons at galois.com>**20080613041415] 
[bump version
Don Stewart <dons at galois.com>**20080613010106] 
[lowercase
Don Stewart <dons at galois.com>**20080613000828] 
[typo
Don Stewart <dons at galois.com>**20080613000354] 
[tweaks
Don Stewart <dons at galois.com>**20080613000100] 
[Bump version, now produces valid libraries
Don Stewart <dons at galois.com>**20080612232452] 
[Finish off beta version
Don Stewart <dons at galois.com>**20080612224944] 
[more notes
Don Stewart <dons at galois.com>**20080612063850] 
[add build() generation and correct version dep printing
Don Stewart <dons at galois.com>**20080612043420] 
[Initial stab at cabal2arch
Don Stewart <dons at galois.com>**20080612012022] 
Patch bundle hash:
60a5d14760663bdbbf06e3616119f857ed3a768f




----- End forwarded message -----


More information about the arch-haskell mailing list