Page MenuHomeFreeBSD

Various cleanups for GHC ports.
ClosedPublic

Authored by arrowd on Nov 29 2018, 11:08 AM.

Details

Summary
  • Switch to using ld instead of binutils ld or ld.bfd on amd64/i386.
  • Add GMP option.
  • Fix create-bootstrap target to produce tarballs ready to be consumed by ports.
  • Update bootstrap compilers to 8.4.3 on amd64/i386.
  • Get rid merge build.boot.mk.in into build.mk.in.
  • Sort some Makefile variables.
Test Plan

poudriere testport -j {rel11, rel11x86, cur13, rel12x86} -I lang/{ghc,ghc843}. For each build enter the jail and compiled simple hello world Haskell program.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Do I need to regenerate the bootstrap for arm?

In D18378#391260, @mikael.urankar_gmail.com wrote:

Do I need to regenerate the bootstrap for arm?

Yes, it would be great if you do that. It can now be achieved with just make -C lang/ghc843 build create-bootstrap. Also, set all options (DOCS, DYNAMIC, GMP and PROFILE) to OFF when building bootstraps to save space and build time.

Moin moin -- the patch does not apply for me.

  • Add INTEGER_LIBRARY = %%INTEGER_LIBRARY%% to build.mk template.
This revision is now accepted and ready to land.Dec 1 2018, 12:50 PM
mikael added inline comments.
lang/ghc/bsd.ghc.mk
39–42 ↗(On Diff #51465)

This issue is fixed with 8.4.3 on aarch64 and armv6/7

278 ↗(On Diff #51465)

Can we use ${WRKSRC}/ghc-${GHC_VERSION}-${CONFIGURE_TARGET:S/${OSREL}//}.tar.xz instead? I used the llvm triple and not the 'portbld' thing on arm :/

lang/ghc/distinfo
10–11 ↗(On Diff #51465)

http://mikael.urankar.free.fr/FreeBSD/aarch64/ghc-8.4.3-boot-aarch64-freebsd.tar.xz
SHA256 (ghc-8.4.3-boot-aarch64-freebsd.tar.xz) = 84611f37d31a43a3216274ee7dcee4b89f2c5ef6ab713222f266b5658c736e05
SIZE (ghc-8.4.3-boot-aarch64-freebsd.tar.xz) = 99933576

arrowd added inline comments.
lang/ghc/bsd.ghc.mk
278 ↗(On Diff #51465)

I used the llvm triple

What does that mean? You didn't use the port to build the bootstrap?

  • Use 8.4.3 bootstrap for aarch64.
  • Move ONLY_FOR_ARCHS to bsd.ghc.mk.
This revision now requires review to proceed.Dec 5 2018, 8:00 PM
  • Enable DYNAMIC option on arm arches.
  • Use 8.4.2 bootstrap on armv{6,7}.

Still looks good to me.

This revision is now accepted and ready to land.Dec 6 2018, 7:52 PM
This revision was automatically updated to reflect the committed changes.