Received: from magnesium.8pit.net (magnesium.8pit.net [45.76.88.171]) by nld3-dev1.alpinelinux.org (Postfix) with ESMTPS id CE2D2780E86 for <~alpine/devel@lists.alpinelinux.org>; Thu, 18 Nov 2021 12:51:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=opensmtpd; bh=yL+vPgQ9uU vgkRr/O0fycij8uOOGrybdZRNInqLDG7U=; h=in-reply-to:references:from: subject:cc:to:date; d=soeren-tempel.net; b=pEj/sxNNZrUe2nRETMpqz2GqLag TaJRiB6389g+2LEVLM1OAUN5VEqKngo/FQ1m8nCdFfatNkNeH2zSJDJaZBACpaU/KT63ik 7libmMFztXjJ99Qq8KtBfZEtuOmlz3EdUhZGOiZdXklwSzxTU1ZqGbtaJV0Ax1aeMIAGWp +HSo= Received: from localhost (ip5f5ae01d.dynamic.kabel-deutschland.de [95.90.224.29]) by magnesium.8pit.net (OpenSMTPD) with ESMTPSA id 7d5199e7 (TLSv1.3:AEAD-AES256-GCM-SHA384:256:YES); Thu, 18 Nov 2021 13:51:14 +0100 (CET) Date: Thu, 18 Nov 2021 13:51:10 +0100 To: ~alpine/devel@lists.alpinelinux.org Cc: Mitch Tishmack Subject: Re: Remove haskell compiler (ghc) from alpine From: =?UTF-8?Q?S=C3=B6ren?= Tempel References: <20211021133615.32f08070@ncopa-desktop.lan> In-Reply-To: <20211021133615.32f08070@ncopa-desktop.lan> Message-Id: <35Z1BQE7AFK6B.352SRLU5VQDDU@8pit.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hello, Just a quick follow: Both GHC and Cabal have been upgraded and fixed. As such, I am very happy to report that we will ship 3.15 with Haskell support. 3.15_rc4 is the first release candidate to include both Cabal and GHC again. GHC has been upgraded to 9.0.1 [1], Cabal has been bootstrapped from source using the Python script provided by upstream [2] and upgraded to 3.6.2.0 [3] all packages listed in the original mail have been rebuild and enabled again. If you encounter any issues with these packages, please let us know. Thanks a lot to Lukas Epple from NixOS for helping out with Cabal. Greetings, S=C3=B6ren [1]: https://gitlab.alpinelinux.org/alpine/aports/-/commit/1020873d7db7cec6= a6a406d46588e62c958dcf48 [2]: https://gitlab.alpinelinux.org/alpine/aports/-/commit/ddc474c6a4c3b2b6= 3c84d120f9df10d46c3367d2 [3]: https://gitlab.alpinelinux.org/alpine/aports/-/commit/123bb7c27923b5af= ab53ff7f6fbf2e81b3d88e77 Natanael Copa wrote: > ## TL;DR >=20 > ghc is blocking the 3.15 release, so I wonder if we can remove > the following packages: >=20 > - community/gch > - community/cabal > - community/shellcheck > - testing/pandoc > - testing/apostrophe >=20 > ## longer explanation >=20 > Maintaining ghc and cabal packages requries significant amount > of time and skills. To my understanding, upstream recommends use ghcup > to install haskell, not the distro package. >=20 > We use shellcheck in our CI but shellcheck is available from upstream > as a statically precompiled binary[1] which we can use for our infra. >=20 > pandoc is also available as precompiled binary[2]. >=20 > But those cannot be used as dependencies for other packages which means > that we cannot provide a package for testing/apostrophe or > testing/py3-pypandoc. >=20 > Would it be ok to remove those packages to save ourselves from > significant amount of maintenance work? >=20 > Alternatively, are there anyone who have time and skills to take > maintenance for those? What needs to be done: >=20 > - complete the update of ghc to 9.0.2 [3]: > - either revert back to system libffi (and add comment in libffi > package that special care is needed when upgrading libffi due to > ghc needing ghc to update) or solve how the bundled libffi is handled= =2E > - find out how to update cabal. one of the following alternatives > needs to be done: > a) copy the way boostrap.sh from cabal 3.2.0.0 works (fetch and > build all the needed deps together with cabal-install itself). > b) figure out if/how we can use cabal's bootstrap.py[4] > c) find out how to use previous cabal to update cabal (another > circular dep) and investigate what the consequences of that is. > (any external dependencies will need special care when the are > upgraded). > d) create apk packages for the dependencies, similar to what arch > linux does[5]. eg package for uusi[6], haskell-hashable[7] etc. > - split out ghc-libs runtime libraries >=20 > - rebuild everything using the ghc (shellcheck, pandoc, py3-pypandoc > etc) >=20 > - figure out and document how to do the haskell-* packages in case > option d) was chosen above. Maybe also add support for haskell > packages in newapkbuild. >=20 > - figure out how to bootstrap ghc and cabal for the remaining > architectures. At least aarch64. >=20 > I have already spent way too many days on ghc and would prefer that > someone else takes over or that we remove it. >=20 > [1]: https://github.com/koalaman/shellcheck/releases/tag/v0.7.2 > [2]: https://github.com/jgm/pandoc/releases/tag/2.14.2 > [3]: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/20134 > [4]: https://github.com/haskell/cabal/tree/master/bootstrap > [5]: https://github.com/archlinux/svntogit-community/blob/packages/cabal-= install/trunk/PKGBUILD > [6]: https://github.com/archlinux/svntogit-community/blob/packages/uusi/t= runk/PKGBUILD > [7]: https://github.com/archlinux/svntogit-community/blob/packages/haskel= l-hashable/trunk/PKGBUILD