
Here's an example of what new PKGBUILDs look like if we rely on the
"provides" semantics.
You see how this works even if say, haskell-containers is moved out of the ghc set?
Our deps will continue to be correct.
We should never have relied on cabal2arch to fake "provides" in the first place :)
The key now will be ensuring that GHC's provides list is 100% accurate.
# Contributor: Arch Haskell Team

On Mon, Jan 18, 2010 at 05:08:42PM -0800, Don Stewart wrote:
Here's an example of what new PKGBUILDs look like if we rely on the "provides" semantics.
makedepends=() depends=('gmp' 'ghc' 'haskell-cabal' 'haskell-x11>=1.4.6.1' 'haskell-containers' 'haskell-directory' 'haskell-filepath' 'haskell-mtl' 'haskell-process' 'haskell-unix')
http://wiki.archlinux.org/index.php/Haskell_package_guidelines#Guidelines_fo... says:
* all haskell dependencies are statically linked, so can go in the makedepends field.
Is that true? Then shouldn't most of those depends really be makedepends? Or we should update the wiki page. -- Jim Pryor profjim@jimpryor.net

On Fri, Jan 22, 2010 at 3:34 PM, Jim Pryor
On Mon, Jan 18, 2010 at 05:08:42PM -0800, Don Stewart wrote:
Here's an example of what new PKGBUILDs look like if we rely on the "provides" semantics.
makedepends=() depends=('gmp' 'ghc' 'haskell-cabal' 'haskell-x11>=1.4.6.1' 'haskell-containers' 'haskell-directory' 'haskell-filepath' 'haskell-mtl' 'haskell-process' 'haskell-unix')
http://wiki.archlinux.org/index.php/Haskell_package_guidelines#Guidelines_fo... says:
* all haskell dependencies are statically linked, so can go in the makedepends field.
Is that true? Then shouldn't most of those depends really be makedepends? Or we should update the wiki page.
IME you'll get complaints from ghc when installing libraries unless all dependencies are installed first. (Like a few days ago, when I tried installing haskell-network without first having haskell-parsec installed, due to a missing dependency in the Arch package: http://bugs.archlinux.org/task/17862) I think *applications* can have all their dependencies as 'makedepends', but libraries really shouldn't. /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus identi.ca|twitter: magthe

lists+arch-haskell:
On Mon, Jan 18, 2010 at 05:08:42PM -0800, Don Stewart wrote:
Here's an example of what new PKGBUILDs look like if we rely on the "provides" semantics.
makedepends=() depends=('gmp' 'ghc' 'haskell-cabal' 'haskell-x11>=1.4.6.1' 'haskell-containers' 'haskell-directory' 'haskell-filepath' 'haskell-mtl' 'haskell-process' 'haskell-unix')
http://wiki.archlinux.org/index.php/Haskell_package_guidelines#Guidelines_fo... says:
* all haskell dependencies are statically linked, so can go in the makedepends field.
Is that true? Then shouldn't most of those depends really be makedepends? Or we should update the wiki page.
That may no longer be true with 6.12... anyone running ghc 6.12 want to give me the output of: ldd hello on a helloworld haskell program?

On 01/22/2010 01:21 PM, Don Stewart wrote:
That may no longer be true with 6.12... anyone running ghc 6.12 want to give me the output of: ldd hello
on a helloworld haskell program? _______________________________________________
Using 6.12.1 according to GHCi. Hope this helps! Program is simply main = putStrLn "Hello World" cawthorn ~/programming/haskell/test $ ghc -o hello hello.hs cawthorn ~/programming/haskell/test $ ./hello Hello World! cawthorn ~/programming/haskell/test $ ldd hello linux-vdso.so.1 => (0x00007fff96bff000) librt.so.1 => /lib/librt.so.1 (0x00007f2203653000) libutil.so.1 => /lib/libutil.so.1 (0x00007f2203450000) libdl.so.2 => /lib/libdl.so.2 (0x00007f220324c000) libgmp.so.3 => /usr/lib/libgmp.so.3 (0x00007f2202ff1000) libm.so.6 => /lib/libm.so.6 (0x00007f2202d70000) libc.so.6 => /lib/libc.so.6 (0x00007f2202a19000) libpthread.so.0 => /lib/libpthread.so.0 (0x00007f22027fd000) /lib/ld-linux-x86-64.so.2 (0x00007f220385b000)
participants (4)
-
Don Stewart
-
Jim Pryor
-
Lewis Cawthorne
-
Magnus Therning