Mail archive

[alpine-aports] [PATCH 0/5] new ghc aport patch series

From: Mitch Tishmack <>
Date: Thu, 14 Jul 2016 21:53:18 -0500

This patch series supercedes any prior patch series for ghc from myself.

I've updated the series to include a port of llvm 3.7.1 as discussed on
irc. This adds a new port, llvm3.7, that lets one install llvm 3.7.1 alongside
the system llvm. It works well enough to build ghc, but might be able to
build/be built against by julia. Note however I haven't tested this. It
should also provide an llvm that other tools that are sensitive to llvm
versions could use. All binaries are suffixed with -3.7 and all other
libraries/include directories are similarly suffixed.

The dockerfiles for the bootstrap both now check sha1 sums of the tools
they download to build the bootstrap compilers.

To use this port however ghc needs to be bootstrapped through two docker
images that install a debian 8.0 container and build bootstrap compilers
for armhf and x86_64 via existing tools. Note this can take a long time
and only needs to be done successfully once per ghc release. The scp
command in the snapshot function is and should be considered suspect.
I took some liberty with where I imagined the bootstrap compilers should
go, the patch applier should adjust that as necessary. Once both bootstrap
compilers are built ghc-bootstrap's APKBUILD file will need to have its
source variable updated and the checksums recalculated. The bootstrap
compiler tarballs that are produced aren't deterministic/repeatable.

But once bootstrap tarballs are built and uploaded and llvm3.7 is built
the rest of this series should work fine. The order is important however
as all of the ports depend on one another as follows:
llvm3.7 -> ghc-bootstrap -> ghc -> cabal -> stack

This attempts to mimic the go apk as much as possible in style. Included in
this series as well is the cabal build tool, as well as the alternative stack
build tool. Both are similar to pip/gem/cargo/cpan. With all this in place
it should be possible to start porting other ghc programs or libraries.

Mitch Tishmack (5):
  testing/llvm3.7 new aport
  testing/ghc-bootstrap: new aport
  testing/ghc: new aport
  testing/cabal: new aport
  testing/stack: new aport

 testing/cabal/APKBUILD | 53 +++++++
 testing/cabal/ | 10 ++
 testing/ghc-bootstrap/APKBUILD | 50 ++++++
 testing/ghc-bootstrap/bootstrap/armhf/Dockerfile | 154 ++++++++++++++++++
 .../ghc-bootstrap/bootstrap/armhf/bootstrap.patch | 112 ++++++++++++++
 testing/ghc-bootstrap/bootstrap/armhf/settings | 32 ++++
 testing/ghc-bootstrap/bootstrap/gmpurl.patch | 22 +++
 testing/ghc-bootstrap/bootstrap/ | 88 +++++++++++
 testing/ghc-bootstrap/bootstrap/x86_64/Dockerfile | 143 +++++++++++++++++
 .../ghc-bootstrap/bootstrap/x86_64/bootstrap.patch | 112 ++++++++++++++
 testing/ghc-bootstrap/bootstrap/x86_64/settings | 32 ++++
 testing/ghc/APKBUILD | 105 +++++++++++++
 testing/llvm3.7/APKBUILD | 172 +++++++++++++++++++++
 ...Add-Musl-MuslEABI-and-Musl-EABIHF-triples.patch | 112 ++++++++++++++
 .../llvm-0002-Fix-build-with-musl-libc.patch | 35 +++++
 testing/llvm3.7/llvm-0002-musl-triple.patch | 90 +++++++++++
 ...ix-DynamicLibrary-to-build-with-musl-libc.patch | 33 ++++
 testing/llvm3.7/llvm-0003-musl-hacks.patch | 114 ++++++++++++++
 testing/llvm3.7/llvm-nm-workaround.patch | 27 ++++
 testing/stack/APKBUILD | 39 +++++
 20 files changed, 1535 insertions(+)
 create mode 100644 testing/cabal/APKBUILD
 create mode 100644 testing/cabal/
 create mode 100755 testing/ghc-bootstrap/APKBUILD
 create mode 100644 testing/ghc-bootstrap/bootstrap/armhf/Dockerfile
 create mode 100644 testing/ghc-bootstrap/bootstrap/armhf/bootstrap.patch
 create mode 100644 testing/ghc-bootstrap/bootstrap/armhf/settings
 create mode 100644 testing/ghc-bootstrap/bootstrap/gmpurl.patch
 create mode 100755 testing/ghc-bootstrap/bootstrap/
 create mode 100644 testing/ghc-bootstrap/bootstrap/x86_64/Dockerfile
 create mode 100644 testing/ghc-bootstrap/bootstrap/x86_64/bootstrap.patch
 create mode 100644 testing/ghc-bootstrap/bootstrap/x86_64/settings
 create mode 100755 testing/ghc/APKBUILD
 create mode 100755 testing/llvm3.7/APKBUILD
 create mode 100644 testing/llvm3.7/llvm-0001-Add-Musl-MuslEABI-and-Musl-EABIHF-triples.patch
 create mode 100644 testing/llvm3.7/llvm-0002-Fix-build-with-musl-libc.patch
 create mode 100644 testing/llvm3.7/llvm-0002-musl-triple.patch
 create mode 100644 testing/llvm3.7/llvm-0003-Fix-DynamicLibrary-to-build-with-musl-libc.patch
 create mode 100644 testing/llvm3.7/llvm-0003-musl-hacks.patch
 create mode 100644 testing/llvm3.7/llvm-nm-workaround.patch
 create mode 100755 testing/stack/APKBUILD

Received on Thu Jul 14 2016 - 21:53:18 UTC