GNU bug report logs - #75787
[PATCH] gnu: Add microcabal.

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix-patches; Reported by: Homo <gay@HIDDEN>; Keywords: patch; dated Thu, 23 Jan 2025 16:22:01 UTC; Maintainer for guix-patches is guix-patches@HIDDEN.

Message received at 75787 <at> debbugs.gnu.org:


Received: (at 75787) by debbugs.gnu.org; 4 Feb 2025 17:09:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Feb 04 12:09:54 2025
Received: from localhost ([127.0.0.1]:46489 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tfMQr-00062F-TU
	for submit <at> debbugs.gnu.org; Tue, 04 Feb 2025 12:09:54 -0500
Received: from layka.disroot.org ([178.21.23.139]:41558)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gay@HIDDEN>) id 1tfMQn-000623-Rs
 for 75787 <at> debbugs.gnu.org; Tue, 04 Feb 2025 12:09:51 -0500
Received: from mail01.disroot.lan (localhost [127.0.0.1])
 by disroot.org (Postfix) with ESMTP id B1C6E259F2;
 Tue,  4 Feb 2025 18:09:47 +0100 (CET)
X-Virus-Scanned: SPAM Filter at disroot.org
Received: from layka.disroot.org ([127.0.0.1])
 by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP
 id aPlXtJq9rh_U; Tue,  4 Feb 2025 18:09:47 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail;
 t=1738688967; bh=0nWbPCxCvgrbPGfNxaH2g47XkzBllSMVPXL0xmjnrdc=;
 h=Date:From:To:Subject:In-Reply-To:References;
 b=JE643oH/H3uCFG5l1Cidit71vQsNmQTDwcc5MKb/HDh6ch38h2oamWV26XDZoqfsQ
 9iOPtSepnHUJgGoa/kTDYZeZEYGM4CxiJsyPZzXTDmKDGKrhOUcwx+y9JIywO8r6nJ
 EAu91T9cyIk+Jrqu0Xd+KsOT27ywSBEp3UHw9RcqGzBFRE6Pbhm7cefnpnrPvh7FkR
 LrNxZ43KvkOBSq3HIHsRJ5jF0IwalsMpgobgCQgL2S9UwMURBdCH36vX7iG/Q6UJaK
 iyw4f1si0C/Gmy+vUs+6LBaTohs/c89B0NUZgW8tk2sEW9UNhUQfdNQPZZ4n2Ispnu
 xHUBFmw2GLy/Q==
MIME-Version: 1.0
Date: Tue, 04 Feb 2025 19:09:27 +0200
From: gay@HIDDEN
To: Lars-Dominik Braun <lars@HIDDEN>, 75787 <75787 <at> debbugs.gnu.org>
Subject: Re: [PATCH] gnu: Add microcabal.
In-Reply-To: <Z59U2uILNQoRcWcp@HIDDEN>
References: <20250123162034.16946-1-gay@HIDDEN>
 <Z54faHshABAVLBBX@HIDDEN>
 <c761fdae6b39a8360402febc64c9cdf7@HIDDEN>
 <Z59U2uILNQoRcWcp@HIDDEN>
Message-ID: <aa6fd13075a1a9e06c9238e95b97b189@HIDDEN>
X-Sender: gay@HIDDEN
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 75787
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

> do you have an example for that? I would like to be able to do both,
> if possible.

Nope, no idea yet, it might need slight modification to make such 
example possible, because there are different places where to lookup 
packages and where to install packages, to figure this out the only 
documentation available is source code.

> I believe MicroCabal explicitly unsets the search path (via `-i`
> without any argument).

Looks like intention to rebuild MicroHs to be installed as package 
managed by MicroCabal, except it doesn't know how to do that, because 
base (and few more packages) are expected to be backed into Haskell 
implementation, but then in standalone package manager scenario you can 
use old compiler (unknown to MicroCabal) and old MicroCabal (also 
unknown to MicroCabal) to build and install new compiler, new base and 
new MicroCabal. I have no idea what to do about other packages expected 
to be baked into implementation, maybe same workflow - clone git repo 
manually.




Information forwarded to guix-patches@HIDDEN:
bug#75787; Package guix-patches. Full text available.

Message received at 75787 <at> debbugs.gnu.org:


Received: (at 75787) by debbugs.gnu.org; 2 Feb 2025 11:20:11 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 02 06:20:11 2025
Received: from localhost ([127.0.0.1]:33328 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1teY1L-0005XT-1D
	for submit <at> debbugs.gnu.org; Sun, 02 Feb 2025 06:20:11 -0500
Received: from mout-p-101.mailbox.org ([2001:67c:2050:0:465::101]:37204)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <lars@HIDDEN>) id 1teY1G-0005Wk-Tr
 for 75787 <at> debbugs.gnu.org; Sun, 02 Feb 2025 06:20:08 -0500
Received: from smtp102.mailbox.org (smtp102.mailbox.org [10.196.197.102])
 (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 mout-p-101.mailbox.org (Postfix) with ESMTPS id 4Ym6bw5wB0z9stk;
 Sun,  2 Feb 2025 12:19:56 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6xq.net; s=MBO0001;
 t=1738495196;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 in-reply-to:in-reply-to:references:references;
 bh=MzKrgjmV0A+PZzhjGmjGu/8245kI2UInLiA5iug/D44=;
 b=uaIK1O5wEX/ugfCtAnjto0w1Eic63G0EwbS3i8iuvAPw8yu00NgPNKXZatUEs6nEu7XEH4
 DEzAVAbdEDsSSwMPuG2CB9GP3OOQ3zLvTiPvphP0l+TwMFDAP9cRGFatuTPq9fJX5BX/TG
 BLu39qWBuQyZpU67d+Re4xuLYmr2utXjJ3JQLWwKPegbNHhVfU0hdjcGDhumgYXNRiyXwc
 vFxfH1vRxTvfsVKFtrewiBOGgg/EQf0r6uwtjeRgBtghv+VAjrvWTlR3zvQRd6YB5C2600
 Mf4NT0AlqQZxZRVf/zFDAf2dquRrWdY7KhZN5GePFRHNjseDiOAfauzzH/M73w==
Date: Sun, 2 Feb 2025 12:19:54 +0100
From: Lars-Dominik Braun <lars@HIDDEN>
To: gay@HIDDEN
Subject: Re: [PATCH] gnu: Add microcabal.
Message-ID: <Z59U2uILNQoRcWcp@HIDDEN>
References: <20250123162034.16946-1-gay@HIDDEN>
 <Z54faHshABAVLBBX@HIDDEN>
 <c761fdae6b39a8360402febc64c9cdf7@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <c761fdae6b39a8360402febc64c9cdf7@HIDDEN>
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 75787
Cc: 75787 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Hi,

> Sorry about that, I expected it to be used only to build packages for 
> Guix, not as package manager.

do you have an example for that? I would like to be able to do both,
if possible.

> It's surprising MicroHs itself ignores MHSDIR, considering it didn't 
> ignore this variable while building MicroCabal.

I believe MicroCabal explicitly unsets the search path (via `-i`
without any argument).

> Considering inputs are runtime dependencies, shouldn't they go to 
> propagated-inputs?

Yes and no. Whenever possible, runtime dependencies should be plain
inputs. The key here is that their paths are baked into the resulting
mcabal binary via the 'fix-paths phase. propagated-inputs is (imo)
a last-resort is case that is not feasible or desired.

Lars





Information forwarded to guix-patches@HIDDEN:
bug#75787; Package guix-patches. Full text available.

Message received at 75787 <at> debbugs.gnu.org:


Received: (at 75787) by debbugs.gnu.org; 1 Feb 2025 13:46:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Feb 01 08:46:14 2025
Received: from localhost ([127.0.0.1]:57056 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1teDp8-0005Se-4p
	for submit <at> debbugs.gnu.org; Sat, 01 Feb 2025 08:46:14 -0500
Received: from layka.disroot.org ([178.21.23.139]:52400)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gay@HIDDEN>) id 1teDp4-0005ST-S8
 for 75787 <at> debbugs.gnu.org; Sat, 01 Feb 2025 08:46:11 -0500
Received: from mail01.disroot.lan (localhost [127.0.0.1])
 by disroot.org (Postfix) with ESMTP id 1FA18259FD;
 Sat,  1 Feb 2025 14:46:09 +0100 (CET)
X-Virus-Scanned: SPAM Filter at disroot.org
Received: from layka.disroot.org ([127.0.0.1])
 by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP
 id sHg4qZaAFp-D; Sat,  1 Feb 2025 14:46:04 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail;
 t=1738417564; bh=J1TWp1Qcq7TcSZ6lp4KJxo2itTB3LQJ84qTDdZL6QEM=;
 h=Date:From:To:Subject:In-Reply-To:References;
 b=dqDHG6bCViIAyRnbwPTyEiqAC/FfXsHQV8Qpy030zDZd2JfsA0IuN5tE4B6sIP3ep
 CGIpo/EHBLfncY3vsT+dVgVV4JVo7N+XpnazxRgVa57mYTgdB98hUvOdF0092YwxoW
 Ki5l1fLWO1Qq2iMBGNkp3eT1tCuI4M+vKmkShZY/V6buFbvlmgT+9lFPJtgBf/zbcB
 ro4zihL2u0BRVRvMYfldOhjAJb+c72om3i7Du9c0Vv1JY2pjtVmMAeH3DvVyU4P38N
 ZqLAUqipkp75wMcEZ9qnHClquQ4TrRV4I9Hhps3JYNZa+uScydmxVGRYhkv4Gphxo9
 lbCpOnmGAKkdA==
MIME-Version: 1.0
Date: Sat, 01 Feb 2025 15:46:04 +0200
From: gay@HIDDEN
To: Lars-Dominik Braun <lars@HIDDEN>, 75787 <at> debbugs.gnu.org
Subject: Re: [PATCH] gnu: Add microcabal.
In-Reply-To: <Z54faHshABAVLBBX@HIDDEN>
References: <20250123162034.16946-1-gay@HIDDEN>
 <Z54faHshABAVLBBX@HIDDEN>
Message-ID: <c761fdae6b39a8360402febc64c9cdf7@HIDDEN>
X-Sender: gay@HIDDEN
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 75787
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi,

Sorry about that, I expected it to be used only to build packages for 
Guix, not as package manager.

It's surprising MicroHs itself ignores MHSDIR, considering it didn't 
ignore this variable while building MicroCabal.

Considering inputs are runtime dependencies, shouldn't they go to 
propagated-inputs?




Information forwarded to guix-patches@HIDDEN:
bug#75787; Package guix-patches. Full text available.

Message received at 75787 <at> debbugs.gnu.org:


Received: (at 75787) by debbugs.gnu.org; 1 Feb 2025 13:19:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Feb 01 08:19:54 2025
Received: from localhost ([127.0.0.1]:57017 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1teDPd-0004Br-PT
	for submit <at> debbugs.gnu.org; Sat, 01 Feb 2025 08:19:54 -0500
Received: from mout-p-102.mailbox.org ([2001:67c:2050:0:465::102]:45674)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <lars@HIDDEN>) id 1teDPa-0004BV-9T
 for 75787 <at> debbugs.gnu.org; Sat, 01 Feb 2025 08:19:51 -0500
Received: from smtp1.mailbox.org (smtp1.mailbox.org
 [IPv6:2001:67c:2050:b231:465::1])
 (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 mout-p-102.mailbox.org (Postfix) with ESMTPS id 4YlYJW0jz2z9scX;
 Sat,  1 Feb 2025 14:19:39 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6xq.net; s=MBO0001;
 t=1738415979;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=8Tr2WJPTE1zoshChV1uEauQ641jxPWg+Cnf02l0odbU=;
 b=Ynk/moaTYBhjUWwWkgS88nN6km7V+aWftiKn4Z39Gl3mRNdlJoj27Jy3kQh7sSczGIFzg6
 uEIRwgLw64hoqHp7KZh2MeOftDEoo7Qdf7XzUgoLA8osJe9XMmgSWfGitdnWN/mrvGR5pD
 e8EA92h4WFmfS7BEXgVK32MC9Y8CKudguK+9bNkVGT1Xdhp2HuoohO32t93ARKz2bPzFIe
 QEe8WeHeNzBFDD68TIwMLcQ/NJvsnDL6nUx1g7jkv10ODqTTNTH8UZ3w3IP6jPmZwKWbHc
 p3VhzHP0zI6qgR3PDwLuZS5BCp++PHZXUQ1h5Zbgz/QjU+jO6gUQfcdx7OeMug==
Date: Sat, 1 Feb 2025 14:19:36 +0100
From: Lars-Dominik Braun <lars@HIDDEN>
To: Homo <gay@HIDDEN>
Subject: Re: [PATCH] gnu: Add microcabal.
Message-ID: <Z54faHshABAVLBBX@HIDDEN>
References: <20250123162034.16946-1-gay@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="oRdi2zfz9SGZ96iv"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20250123162034.16946-1-gay@HIDDEN>
X-Rspamd-Queue-Id: 4YlYJW0jz2z9scX
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 75787
Cc: divya@HIDDEN, 75787 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)


--oRdi2zfz9SGZ96iv
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit

Hi,

> * gnu/packages/haskell-apps.scm (microcabal): New variable.

I’m using a slightly modified patch (see attachment), but `mcabal`
cannot build any packages. It seems that it ignores the MHSDIR environment
variable:

    mcabal build fail
    mcabal: Build package fail
    mcabal: Building in /home/lars/.mcabal/packages/fail-4.9.0.0
    mcabal: Building library fail
    mhs: error: no location: Module not found: Mhs.Builtin
    search path=[".","dist-mcabal/autogen"]
    package path=["."]
    mhs: error: callCommand: failed 256, "mhs -Pfail-4.9.0.0 -ofail-4.9.0.0.pkg -i -i. -idist-mcabal/autogen '-DVERSION_base=\"4.19.1.0\"' '-DMIN_VERSION_base(x,y,z)=((x)<4||(x)==4&&(y)<19||(x)==4&&(y)==19&&(z)<=1)' -a. Control.Monad.Fail"

Looking at the MicroCabal sources mcabal might be expecting mhs to be
installed as an “mcabal package”?

Lars


--oRdi2zfz9SGZ96iv
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: attachment; filename="0001-gnu-Add-microcabal.patch"
Content-Transfer-Encoding: 8bit

From 9d701dac7c56db1e662e2930a324bd4581e7ce79 Mon Sep 17 00:00:00 2001
Message-ID: <9d701dac7c56db1e662e2930a324bd4581e7ce79.1738415691.git.lars@HIDDEN>
From: Homo <gay@HIDDEN>
Date: Thu, 23 Jan 2025 18:20:33 +0200
Subject: [PATCH] gnu: Add microcabal.

Depends on <https://issues.guix.gnu.org/75778>.

* gnu/packages/haskell-apps.scm (microcabal): New variable.

Change-Id: Ib676c2afc360c379183422b1038f045af5485b59
Signed-off-by: Lars-Dominik Braun <lars@HIDDEN>
---
 gnu/packages/haskell-apps.scm | 59 +++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index 1ef3ed4035..6b61ae026b 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -20,6 +20,7 @@
 ;;; Copyright  2021 Morgan Smith <Morgan.J.Smith@HIDDEN>
 ;;; Copyright  2022 David Thompson <dthompson2@HIDDEN>
 ;;; Copyright  2024 jgart <jgart@HIDDEN>
+;;; Copyright  2025 Homo <gay@HIDDEN>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -42,8 +43,10 @@ (define-module (gnu packages haskell-apps)
   #:use-module (guix git-download)
   #:use-module (guix packages)
   #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix build-system gnu)
   #:use-module (guix build-system haskell)
   #:use-module (gnu packages)
+  #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages freedesktop)
@@ -59,6 +62,7 @@ (define-module (gnu packages haskell-apps)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages rsync)
   #:use-module (gnu packages version-control)
+  #:use-module (gnu packages wget)
   #:use-module (gnu packages xorg))
 
 (define-public apply-refact
@@ -783,6 +787,61 @@ (define-public matterhorn
      "This is a terminal client for the Mattermost chat system.")
     (license license:bsd-3)))
 
+(define-public microcabal
+  ;; There are no tags, using latest commit.
+  (let ((commit "75aab2f5dfa3bacc1876dc1da9828a7e54e01d68")
+        (revision "0"))
+    (package
+      (name "microcabal")
+      (version (git-version "0.5.0.0" revision commit))
+      (source (origin
+        (method git-fetch)
+        (uri (git-reference
+          (url "https://github.com/augustss/MicroCabal")
+          (commit commit)))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "0hzp2zfvldl5gmnvr33vxbpd75fhm4kkdsvakd49wdpmcamp01yg"))))
+      (build-system gnu-build-system)
+      (arguments
+        (list
+          #:make-flags #~(list "MHS=mhs")
+          ;; Tests require *.cabal files from MicroHs's code.
+          #:tests? #f
+          #:phases
+          #~(modify-phases %standard-phases
+            (add-after 'unpack 'fix-paths
+              (lambda* (#:key inputs #:allow-other-keys)
+                (substitute* "src/MicroCabal/Unix.hs"
+                  (("(\"[^\"]*)(wget|mkdir|tar|rm|cp)( [^\"]*\")" all prefix binary postfix)
+                   (string-append
+                     prefix
+                    (search-input-file inputs (string-append "/bin/" binary))
+                    postfix)))))
+            (replace 'configure
+              (lambda _
+                (substitute* "Makefile"
+                  (("MHSDIR=[^ ]* ?")
+                    "")
+                  ;; Don't build with GHC.
+                  (("bin/gmcabal bin/mcabal")
+                    "bin/mcabal"))))
+            (replace 'install
+              (lambda _
+                (let ((bin (string-append #$output "/bin/")))
+                  (install-file "bin/mcabal" bin)))))))
+      (inputs (list wget tar coreutils))
+      (propagated-inputs (list microhs)) ;; Propagate microhs, because it needs a search path.
+      (home-page "https://github.com/augustss/MicroCabal")
+      (synopsis "Reimplementation of a subset of Cabal")
+      (description "Why a reimplementation?  Because Cabal is not a Haskell tool, it is a ghc tool.
+A Haskell tool should be compilable by an implementation of Haskell2010,
+which Cabal is definitely not.
+
+To get a consistent set of packages MicroCabal uses Stackage to find compatible packages.
+So in a sense, MicroCabal is more like a MicroStackage.")
+      (license license:asl2.0))))
+
 (define-public nixfmt
   (package
     (name "nixfmt")

base-commit: b226a1007a9111adacb05984b8d74def24257dce
prerequisite-patch-id: cf5c00ff7ab68e16a9c83d294d57d08c1745dfeb
-- 
2.47.1


--oRdi2zfz9SGZ96iv--




Information forwarded to guix-patches@HIDDEN:
bug#75787; Package guix-patches. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 23 Jan 2025 16:21:26 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 23 11:21:26 2025
Received: from localhost ([127.0.0.1]:42006 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tazxK-0007cU-Oj
	for submit <at> debbugs.gnu.org; Thu, 23 Jan 2025 11:21:26 -0500
Received: from lists.gnu.org ([2001:470:142::17]:59392)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <gay@HIDDEN>) id 1tazxF-0007bz-Es
 for submit <at> debbugs.gnu.org; Thu, 23 Jan 2025 11:21:20 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <gay@HIDDEN>) id 1tazx9-0003Bb-TA
 for guix-patches@HIDDEN; Thu, 23 Jan 2025 11:21:11 -0500
Received: from layka.disroot.org ([178.21.23.139])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <gay@HIDDEN>) id 1tazx7-0001xH-5C
 for guix-patches@HIDDEN; Thu, 23 Jan 2025 11:21:11 -0500
Received: from mail01.disroot.lan (localhost [127.0.0.1])
 by disroot.org (Postfix) with ESMTP id 5E6DE25C7C;
 Thu, 23 Jan 2025 17:21:06 +0100 (CET)
X-Virus-Scanned: SPAM Filter at disroot.org
Received: from layka.disroot.org ([127.0.0.1])
 by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP
 id ZQf1f-KbCHzN; Thu, 23 Jan 2025 17:21:02 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail;
 t=1737649257; bh=7JgufeRgmyJA/pN6cwaPta27f4D0Sylj4YeiXX7DSAQ=;
 h=From:To:Cc:Subject:Date;
 b=IbEqRc1tiArMvMQQOppfYmGYTXXVjODitZqMtAacWNUK1GZF6jKTrkCiF282J7vFH
 xOcVPywhDKRMQhDcUJYVoF1/gV9m6vdwmSniTmg/jBNqAaDHjR1Jhfbkz9xZzsXYm6
 RhOK8mWWDiim0OwHXK23svNoPREUnsDEZ+w1pPHjZEYkbyvpsu7PJfR7S2VYVEKQsR
 phYWWV7b+wWRChA58cdTwqHRIxqGSwlZ7/3ylQfEd/B5SPblomgoTBerFBeZqDCKEZ
 4ildzvmkLxqybVL5p5zMMFre4lvan3rcs+j8/Pi/ZPtJNvM461jNnjQz9RKq1xLeK8
 9WdC0wi3Ilqww==
From: Homo <gay@HIDDEN>
To: guix-patches@HIDDEN,
	lars@HIDDEN,
	divya@HIDDEN
Subject: [PATCH] gnu: Add microcabal.
Date: Thu, 23 Jan 2025 18:20:33 +0200
Message-ID: <20250123162034.16946-1-gay@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Received-SPF: pass client-ip=178.21.23.139; envelope-from=gay@HIDDEN;
 helo=layka.disroot.org
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.9 (/)
X-Debbugs-Envelope-To: submit
Cc: Homo <gay@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.1 (/)

Depends on <https://issues.guix.gnu.org/75778>.

* gnu/packages/haskell-apps.scm (microcabal): New variable.

Change-Id: Ib676c2afc360c379183422b1038f045af5485b59
---
 gnu/packages/haskell-apps.scm | 50 +++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index 1ef3ed4035..d0c3ebdc42 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -20,6 +20,7 @@
 ;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@HIDDEN>
 ;;; Copyright © 2022 David Thompson <dthompson2@HIDDEN>
 ;;; Copyright © 2024 jgart <jgart@HIDDEN>
+;;; Copyright © 2025 Homo <gay@HIDDEN>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -42,6 +43,7 @@ (define-module (gnu packages haskell-apps)
   #:use-module (guix git-download)
   #:use-module (guix packages)
   #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix build-system gnu)
   #:use-module (guix build-system haskell)
   #:use-module (gnu packages)
   #:use-module (gnu packages bash)
@@ -783,6 +785,54 @@ (define-public matterhorn
      "This is a terminal client for the Mattermost chat system.")
     (license license:bsd-3)))
 
+(define-public microcabal
+  ;; There are no tags, using latest commit.
+  (let ((commit "52e23c1472f63c546e8c366b722aaaef365713f9")
+        (revision "0"))
+    (package
+      (name "microcabal")
+      (version (git-version "0.4.1.0" revision commit))
+      (source (origin
+        (method git-fetch)
+        (uri (git-reference
+          (url "https://github.com/augustss/MicroCabal")
+          (commit commit)))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "0f1ikjgj2wrg1wrc4g4rhws791iajvajk7pr8yjr4di2v9h930ak"))))
+      (build-system gnu-build-system)
+      (arguments
+        (list
+          #:make-flags #~(list "MHS=mhs")
+          ;; Tests require *.cabal files from MicroHs's code.
+          #:tests? #f
+          #:phases
+          #~(modify-phases %standard-phases
+            (replace 'configure
+              (lambda _
+                (substitute* "Makefile"
+                  (("MHSDIR=[^ ]* ?")
+                    "")
+                  ;; Don't build with GHC.
+                  (("bin/gmcabal bin/mcabal")
+                    "bin/mcabal"))))
+            (replace 'install
+              (lambda _
+                (let ((bin (string-append #$output "/bin/")))
+                  (install-file "bin/mcabal" bin)))))))
+      (propagated-inputs (list microhs))
+      (home-page "https://github.com/augustss/MicroCabal")
+      (synopsis "Reimplementation of a subset of Cabal")
+      (description "Why a reimplementation?  Because Cabal is not a Haskell tool, it is a ghc tool.
+A Haskell tool should be compilable by an implementation of Haskell2010,
+which Cabal is definitely not.
+
+The implementation assumes a Unix-like system with commands like `wget` and `tar`.
+
+To get a consistent set of packages MicroCabal uses Stackage to find compatible packages.
+So in a sense, MicroCabal is more like a MicroStackage.")
+      (license license:asl2.0))))
+
 (define-public nixfmt
   (package
     (name "nixfmt")
-- 
2.47.1





Acknowledgement sent to Homo <gay@HIDDEN>:
New bug report received and forwarded. Copy sent to guix-patches@HIDDEN. Full text available.
Report forwarded to guix-patches@HIDDEN:
bug#75787; Package guix-patches. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Tue, 4 Feb 2025 17:15:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.