Page MenuHomeFreeBSD

Various cleanups for GHC ports.

Authored by arrowd on Nov 29 2018, 11:08 AM.
Referenced Files
Unknown Object (File)
Jan 3 2023, 2:25 AM
Unknown Object (File)
Dec 31 2022, 7:42 PM
Unknown Object (File)
Dec 31 2022, 5:27 AM
Unknown Object (File)
Dec 27 2022, 12:46 PM
Unknown Object (File)
Nov 27 2022, 9:33 AM


  • 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 into
  • 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

No Lint Coverage
No Test Coverage
Build Status
Buildable 21288
Build 20623: arc lint + arc unit

Event Timeline

Do I need to regenerate the bootstrap for arm?

In D18378#391260, 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 template.
This revision is now accepted and ready to land.Dec 1 2018, 12:50 PM
mikael added inline comments.

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


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 :/

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.

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
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.