Build files for extra/ghc 7.6.1-1 (working on armv6h) #370

Merged
merged 4 commits into from Mar 23, 2013

Conversation

Projects
None yet
3 participants
Contributor

dflemstr commented Jan 31, 2013

Partial fix for #175, see that issue for more info.

Contributor

dflemstr commented Jan 31, 2013

Here's a built version of this package that was bootstrapped via distcc for ALARM on armv6hf/Raspberry Pi (B2, actual hardware) from Debian ARM/Raspbian GHC 7.4.1 on the same hardware. This means that you need distcc installed to use this particular version of the build. You only need distcc, not any associated servers or different compilers/versions, and distccd should not be started. The next bootstrapped iteration of this package would not depend on distcc, since the package will not use distcc when rebuilt with the attached PKGBUILD.

If this package file is important, I'd appreciate a mirror for it, since Dropbox bandwidth is limited.

Owner

kmihelich commented Jan 31, 2013

How do you figure it depends on distcc? We build everything via distcc, nothing depends on it to be there.

Contributor

dflemstr commented Jan 31, 2013

Because that particular package build is built with the distcc compiler path in it, i.e. without distcc, one will get this:

$ ghc hello.hs
[1 of 1] Compiling Main             ( hello.hs, hello.o )
You are using a new version of LLVM that hasn't been tested yet!
We will try though...
ghc: could not execute: /usr/lib/distcc/bin/gcc
Contributor

dflemstr commented Jan 31, 2013

(One can of course also symlink that path to make it work, but my point was that it is a fiddly bootstrapped package)

Owner

kmihelich commented Jan 31, 2013

Ah, so this is a package that should not be built via distcc since it hardcodes the paths in like that. Qt does the same thing, good to know.

Contributor

dflemstr commented Jan 31, 2013

It is also possible to pass in the gcc path to the configure script; would it be more useful if the PKGBUILD did that? One could theoretically want to use distcc in combination with ghc, and that would become more of a hassle if we changed the configure invocation with a "hard-coded" path.

Owner

kmihelich commented Jan 31, 2013

What I meant is that it appears the ghc build looks for gcc, finds it at the distcc symlink, and then stores that path in the program. Qt builds do the same thing, though programs built later with distcc that use qt find distcc's gcc first. This causes a problem there because if the distcc path was embedded, subsequent programs would cause a distcc symlink loop and then nothing builds.

ghc may operate in the same manner, but we can't have it embedding the distcc path. This is as easy as specifying !distcc in the PKGBUILD options variable.

Contributor

dflemstr commented Jan 31, 2013

It is strange, then, that extra/ghc/PKGBUILD in the upstream ABS, on which this PKGBUILD is based, doesn't specify that option. I would imagine that the mainline Arch package repos are built using distcc...

However, if you despite this think that I should add that option, just say so and I'll add a commit.

Owner

kmihelich commented Feb 1, 2013

Upstream doesn't use distcc.. you don't need to when you have a fast x86 box to build on.

Owner

kmihelich commented Feb 2, 2013

Is your only change to the package adding a patch? You should include a mini-changelog of how the package is modified from upstream at the top. See other packages in this repository, such as core/glibc for inspiration. This allows us to maintain the changes in future versions, and is outlined in the repository README.

Contributor

dflemstr commented Feb 3, 2013

Has anyone tried building the package on armv7? I'm converting all of the Haskell packages, and the addition of armv7 support might mean having to introduce more complicated build scripts.

Owner

kmihelich commented Feb 3, 2013

I'll bring it in and try when I get time. The hurdle is getting through the chicken and the egg problem with needing ghc to build ghc.

@xenoxaos xenoxaos merged commit cfbc4e2 into archlinuxarm:master Mar 23, 2013

dflemstr deleted the dflemstr:ghc-7.6.1-1 branch Mar 23, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment