From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1571597-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id 609A61580D3
	for <garchives@archives.gentoo.org>; Mon, 20 Nov 2023 07:36:20 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 46EE82BC028;
	Mon, 20 Nov 2023 07:36:19 +0000 (UTC)
Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id 260222BC028
	for <gentoo-commits@lists.gentoo.org>; Mon, 20 Nov 2023 07:36:19 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id 1181C335D1E
	for <gentoo-commits@lists.gentoo.org>; Mon, 20 Nov 2023 07:36:18 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id 5F65F12C8
	for <gentoo-commits@lists.gentoo.org>; Mon, 20 Nov 2023 07:36:16 +0000 (UTC)
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" <sam@gentoo.org>
Message-ID: <1700465721.a8b4b1ee3e226ed92520015f07c9a05f08178ac7.sam@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/ghc/
X-VCS-Repository: repo/gentoo
X-VCS-Files: dev-lang/ghc/Manifest dev-lang/ghc/ghc-9.2.8.ebuild
X-VCS-Directories: dev-lang/ghc/
X-VCS-Committer: sam
X-VCS-Committer-Name: Sam James
X-VCS-Revision: a8b4b1ee3e226ed92520015f07c9a05f08178ac7
X-VCS-Branch: master
Date: Mon, 20 Nov 2023 07:36:16 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: b4662cf8-9899-41e5-8770-8970886ed01a
X-Archives-Hash: b10dba917a8d129e15ba2197a1c369b5

commit:     a8b4b1ee3e226ed92520015f07c9a05f08178ac7
Author:     hololeap <hololeap <AT> protonmail <DOT> com>
AuthorDate: Sun Nov 19 21:29:42 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Nov 20 07:35:21 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a8b4b1ee

dev-lang/ghc: Add binaries for less common arches

Add binaries for arm64, ppc64, and riscv

Add code to handle discrepencies between binaries uploaded by hololeap
and binaries uploaded by matoro.

Thanks-to: Matoro Mahri <matoro_gentoo <AT> matoro.tk>
Signed-off-by: hololeap <hololeap <AT> protonmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-lang/ghc/Manifest         |  4 ++++
 dev-lang/ghc/ghc-9.2.8.ebuild | 39 ++++++++++++++++++++++++---------------
 2 files changed, 28 insertions(+), 15 deletions(-)

diff --git a/dev-lang/ghc/Manifest b/dev-lang/ghc/Manifest
index 7762a4280397..a7a87d51806f 100644
--- a/dev-lang/ghc/Manifest
+++ b/dev-lang/ghc/Manifest
@@ -9,6 +9,10 @@ DIST ghc-bin-9.0.2-r4-powerpc64-unknown-linux-gnu.tar.gz 233834058 BLAKE2B 32ee7
 DIST ghc-bin-9.0.2-r4-powerpc64le-unknown-linux-gnu.tar.gz 210668658 BLAKE2B fe33a43ea38e5fe17a003e60f29458f0dc5115f92db311dff11b2ce3fa1a9fc0304ad93c76535fb8e4ce44bb703f8a18638149f36b076c84f5c44385486722bd SHA512 12e04c29873ddd80ff259998121b3ce4b9dcdd1157cbb38ce8ac0234c6aaa0c156b0cc78f95af86288e6f595f9e010a1db88ba737e27773b404ed6129e58044f
 DIST ghc-bin-9.0.2-r4-riscv64-unknown-linux-gnu.tar.gz 315182159 BLAKE2B 95ee2f82eb706b42a0a3303038cf28166ac1e766a5f38402f833830c311f02773881b5341d6d7a1772fdc616522b1448a740caf34e4e534b5d00fedeb23604de SHA512 dd143f8b379e8ca04ab6254aa19978a3a8caf61322e2e3b2bae7488025949845aa5d5fc0e3124ff360172c2b47e4a33df4d1d55c8a976c96b552cd3c930b2fad
 DIST ghc-bin-9.0.2-r4-x86_64-pc-linux-gnu.gpkg.tar 123955200 BLAKE2B b1f45eea658f496997e63c21e3ef190749c122ee3a058d5f25fd90a2e2c33841817c540b9bf87e27e6981d9fb28d9201454217fa8ba9c1d9fc4ccf3d20652158 SHA512 06a240f7117f30179073e075634510d9ffe880010de16c93a001dce7b3020666b0b26d51c2c08cdaee7fc6513d9ffc7082f20b233d62b9149419abba2b4bd4ee
+DIST ghc-bin-9.2.8-aarch64-unknown-linux-gnu.gpkg.tar 147927040 BLAKE2B 83aeea2797b6c3a2d12ee191266a6241ed55a87130db1062dfe0e9ad81d7546fdf1ed91efbca3fa3fef67befbc7e4dc3541701e5e5ae53339115567d4ca9a436 SHA512 57112c28f2154e8255437c9a0a0f098b5fd61687fc6d0bb7c9f98895cca0cc744c1543cefcfd0525a46a73c869d377d95e768d41e4652f1e4f65b6db64aa1858
 DIST ghc-bin-9.2.8-i686-pc-linux-gnu.gpkg.tar 105441280 BLAKE2B 76d5fdb846d91d37b0b5706f1efbdd2833aac2d926fb4036845e36470fcfc6ad0143c492908c6cc5190dc3951c647e0584956395fca51b8f357b365ad23b496a SHA512 c19819bc4d8f1208fa28acc054cbb2d490b2b1c55bf55f8d4069474b4d58c931ff1999b593000b7f0b5b7169e6b71ad26d5d0d3480d8ecdbcc5e2c58116ec3d5
+DIST ghc-bin-9.2.8-powerpc64-unknown-linux-gnu.gpkg.tar 213811200 BLAKE2B f8bda2cb88500b9122d838579b94dd3f77f3ae0df8617e1fc394a73c31d2586bd887c3a879aa166c19f38bfce50868f8381c3624f839b1da963d4f6f7ddc1bce SHA512 ca736cd3532a02acc2f19a177fe2572abc99dd405a60380ed4968905823174373bd5c79966b2d3e03ff9b67859868e74bfba625e69bb3951d11a23affd84ae2b
+DIST ghc-bin-9.2.8-powerpc64le-unknown-linux-gnu.gpkg.tar 188190720 BLAKE2B bf6517284b7aeac483f9bd9afc366536ef42ad6dace5d146b2700e88dcb18ef805e4b8bbeaca91c7c779449c2317f13e894f0f80811396334148a0884a8b5ccf SHA512 758838295f88e78b14087185ad28e5b17804e651440e8a926ebff7c661a4592e8821961711b9fca7f13249830e255097dd4e6958418e99ebd008f5e6cff588cd
+DIST ghc-bin-9.2.8-riscv64-unknown-linux-gnu.gpkg.tar 269434880 BLAKE2B 2a1f42a9a4cd757513e59d86d4ccc68922ee9e9ef30abafc648cc4b5dbe3c850f865f6cea92edbdb1e44b8b21f7372740d44de7a6ebc3a48a3259b9eb9b73ab1 SHA512 809868ecd794764530e80d5c1e74b216580d0730b305949db5bd1e89a64f4bf3ce3330c618e641ce3cc252b0de36ed908c9e8690f262f4044e9d579c2225e8df
 DIST ghc-bin-9.2.8-x86_64-pc-linux-gnu.gpkg.tar 85432320 BLAKE2B ab649a6da5120720fc388dc98685a796415f7e2d664de17887f5bdadf5c9fe6192c4a6ac1bdbbe6e635ebf77b56e1f195367444e6febe01db32e38897dad5cb9 SHA512 fb868c87714aae791b4c19eaf3780707000ff61b240daebbfe2331d5e992dd20376060239df9aaf3daa54266eb10ad7a365804a09a5f6e9b1f5ee80717a16a17
 DIST process-1.6.16.0.tar.gz 87354 BLAKE2B 8c2977d6801faef8825ed35f058a6207a518f72eb87ac3144f630bc028f4753cefb9ed4d3fc29185438bcb4f38d33f5a45aebec6a8101e4cdc1b3570ada2e5dc SHA512 1663f2746a05a5a4c29d249db54eaa49edbbadfe8d189eab02276c3f6f3d6b84c81cc4333318c42c7a7265638402cb13276f08aeea134a7f5dd98da050a34341

diff --git a/dev-lang/ghc/ghc-9.2.8.ebuild b/dev-lang/ghc/ghc-9.2.8.ebuild
index 2b6f84b93c7f..46a009b37d2c 100644
--- a/dev-lang/ghc/ghc-9.2.8.ebuild
+++ b/dev-lang/ghc/ghc-9.2.8.ebuild
@@ -30,30 +30,39 @@ BUILD_BIN_PV=9.0.2
 BUILD_BIN_REV=r4
 BUILD_BIN_PVR="${BUILD_BIN_PV}${BUILD_BIN_REV:+-${BUILD_BIN_REV}}"
 
-DEFAULT_SRC_HOST="https://eidetic.codes"
+# Binaries created and uploaded by hololeap
+SRC_URL_HOLOLEAP="https://eidetic.codes"
+ghc_binaries_hololeap() {
+	echo "
+		binary? ( ${SRC_URL_HOLOLEAP}/${PN}-bin-${BIN_PVR}-${1}.gpkg.tar )
+		!binary? ( ${SRC_URL_HOLOLEAP}/${PN}-bin-${BUILD_BIN_PVR}-${1}.gpkg.tar )
+	"
+}
 
-ghc_binaries() {
+# Binaries created and uploaded by matoro
+SRC_URL_MATORO="https://github.com/matoro/${PN}/releases/download"
+ghc_binaries_matoro() {
 	echo "
-		binary? ( ${DEFAULT_SRC_HOST}/${PN}-bin-${BIN_PVR}-${1}.gpkg.tar )
-		!binary? ( ${DEFAULT_SRC_HOST}/${PN}-bin-${BUILD_BIN_PVR}-${1}.gpkg.tar )
+		binary? ( ${SRC_URL_MATORO}/${BIN_PVR}/${PN}-bin-${BIN_PVR}-${1}.gpkg.tar )
+		!binary? ( ${SRC_URL_MATORO}/${BUILD_BIN_PVR}/${PN}-bin-${BUILD_BIN_PVR}-${1}.tar.gz )
 	"
 }
 
 # Differentiate glibc/musl
 
 #glibc_binaries="$glibc_binaries alpha? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-alpha.tbz2 )"
-glibc_binaries+=" amd64? ( $(ghc_binaries x86_64-pc-linux-gnu) )"
+glibc_binaries+=" amd64? ( $(ghc_binaries_hololeap x86_64-pc-linux-gnu) )"
 #glibc_binaries="$glibc_binaries arm? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-armv7a-hardfloat-linux-gnueabi.tbz2 )"
-#glibc_binaries+=" arm64? ( $(ghc_binaries_gz_build_bin aarch64-unknown-linux-gnu) )"
+glibc_binaries+=" arm64? ( $(ghc_binaries_matoro aarch64-unknown-linux-gnu) )"
 #glibc_binaries="$glibc_binaries ia64?  ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-ia64-fixed-fiw.tbz2 )"
 #glibc_binaries="$glibc_binaries ppc? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-ppc.tbz2 )"
-#glibc_binaries+=" ppc64? (
-#	big-endian? ( $(ghc_binaries_gz_build_bin powerpc64-unknown-linux-gnu) )
-#	!big-endian? ( $(ghc_binaries_gz_build_bin powerpc64le-unknown-linux-gnu) )
-#)"
-#glibc_binaries+=" riscv? ( $(ghc_binaries_gz_build_bin riscv64-unknown-linux-gnu) )"
+glibc_binaries+=" ppc64? (
+	big-endian? ( $(ghc_binaries_matoro powerpc64-unknown-linux-gnu) )
+	!big-endian? ( $(ghc_binaries_matoro powerpc64le-unknown-linux-gnu) )
+)"
+glibc_binaries+=" riscv? ( $(ghc_binaries_matoro riscv64-unknown-linux-gnu) )"
 #glibc_binaries="$glibc_binaries sparc? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-sparc.tbz2 )"
-glibc_binaries+=" x86? ( $(ghc_binaries i686-pc-linux-gnu) )"
+glibc_binaries+=" x86? ( $(ghc_binaries_hololeap i686-pc-linux-gnu) )"
 
 #musl_binaries="$musl_binaries alpha? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-alpha.tbz2 )"
 #musl_binaries="$musl_binaries amd64? ( https://eidetic.codes/ghc-bin-${PV}-x86_64-pc-linux-musl.tbz2 )"
@@ -79,13 +88,13 @@ yet_binary() {
 		glibc)
 			case "${ARCH}" in
 				#alpha) return 0 ;;
-				#arm64) return 0 ;;
+				arm64) return 0 ;;
 				#arm) return 0 ;;
 				amd64) return 0 ;;
 				#ia64) return 0 ;;
 				#ppc) return 0 ;;
-				#ppc64) return 0 ;;
-				#riscv) return 0 ;;
+				ppc64) return 0 ;;
+				riscv) return 0 ;;
 				#sparc) return 0 ;;
 				x86) return 0 ;;
 				*) return 1 ;;