From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <guix-patches-bounces+larch=yhetil.org@gnu.org>
Received: from mp12.migadu.com ([2001:41d0:2:4a6f::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by ms5.migadu.com with LMTPS
	id YACABvq1Z2PHNgEAbAwnHQ
	(envelope-from <guix-patches-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Sun, 06 Nov 2022 14:26:18 +0100
Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by mp12.migadu.com with LMTPS
	id mOdRBvq1Z2NM2AAAauVa8A
	(envelope-from <guix-patches-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Sun, 06 Nov 2022 14:26:18 +0100
Received: from lists.gnu.org (lists.gnu.org [209.51.188.17])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by aspmx1.migadu.com (Postfix) with ESMTPS id C2848933D
	for <larch@yhetil.org>; Sun,  6 Nov 2022 14:26:17 +0100 (CET)
Received: from localhost ([::1] helo=lists1p.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.90_1)
	(envelope-from <guix-patches-bounces@gnu.org>)
	id 1orff9-0006Ow-4D; Sun, 06 Nov 2022 08:26:11 -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 <Debian-debbugs@debbugs.gnu.org>)
 id 1orff6-0006OX-QN
 for guix-patches@gnu.org; Sun, 06 Nov 2022 08:26:09 -0500
Received: from debbugs.gnu.org ([209.51.188.43])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>)
 id 1orff0-0006as-EL
 for guix-patches@gnu.org; Sun, 06 Nov 2022 08:26:08 -0500
Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2)
 (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1orfez-0003zT-Tq
 for guix-patches@gnu.org; Sun, 06 Nov 2022 08:26:01 -0500
X-Loop: help-debbugs@gnu.org
Subject: [bug#57963] [PATCH v5 2/2] home: services: Support user's fontconfig
 configuration.
Resent-From: Taiju HIGASHI <higashi@taiju.info>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org>
Resent-CC: guix-patches@gnu.org
Resent-Date: Sun, 06 Nov 2022 13:26:01 +0000
Resent-Message-ID: <handler.57963.B57963.166774110315263@debbugs.gnu.org>
Resent-Sender: help-debbugs@gnu.org
X-GNU-PR-Message: followup 57963
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: "(" <paren@disroot.org>
Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@gnu.org>, 57963@debbugs.gnu.org,
 Liliana Marie Prikler <liliana.prikler@gmail.com>,
 Andrew Tropin <andrew@trop.in>
Received: via spool by 57963-submit@debbugs.gnu.org id=B57963.166774110315263
 (code B ref 57963); Sun, 06 Nov 2022 13:26:01 +0000
Received: (at 57963) by debbugs.gnu.org; 6 Nov 2022 13:25:03 +0000
Received: from localhost ([127.0.0.1]:58925 helo=debbugs.gnu.org)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>)
 id 1orfe3-0003y7-1S
 for submit@debbugs.gnu.org; Sun, 06 Nov 2022 08:25:03 -0500
Received: from mail-pg1-f173.google.com ([209.85.215.173]:33527)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <higashi@taiju.info>) id 1orfdx-0003xR-Ui
 for 57963@debbugs.gnu.org; Sun, 06 Nov 2022 08:25:02 -0500
Received: by mail-pg1-f173.google.com with SMTP id b62so8277943pgc.0
 for <57963@debbugs.gnu.org>; Sun, 06 Nov 2022 05:24:57 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=taiju-info.20210112.gappssmtp.com; s=20210112;
 h=mime-version:user-agent:message-id:in-reply-to:date:references
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=gVbhZpY5Yu3YB+rLXJoCyEjLLLuZ+1ljMZqUSFmBjeI=;
 b=bo1whnSEAaJeSZuoNWactp2BOddn2gURLHTKtPPMfkMV/BceFyP/s7pmyH98VrU3/R
 Bb41jCcorkAGtaTdz5G8CJ371NjaKRL5zDqXlxnjMnYEKThnFUyHIGZqBrQkovMcw78O
 cjj1il+pROjKwQaAx8odxp5ymVS1UoYV9HVwNdH8z47GMkDaI6zr6aFF4j3MLf30zbCS
 +LWioqTxjFPNCyJ9Fr2rZ2v1jZaLRdiz2zN52YpjZONbPR4eNpfv+cBsqYwbPf2MpvX7
 2P8JOkp/36lpiE5VVDgaqp62xBZ4KyaV357OBGkPK9Jvx4YeVZ3bkjAeo5hZmmVZu1Qd
 vItw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=mime-version:user-agent:message-id:in-reply-to:date:references
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=gVbhZpY5Yu3YB+rLXJoCyEjLLLuZ+1ljMZqUSFmBjeI=;
 b=X1Uc81B5/Rn+fUZBnpH6laszgeVULgdvvX9vDFm5pMFKmy5kVWxXa1qJJ24n8100zR
 9bks1s+/7PMFqUqxuLwJCqOSi2firt8UQ2hXr7fAihblsSV7WLbhRCS6pg5d1wWN+i/L
 Tzhbqsxre5JZJw/axvLuI3Pjal4UMKTh7u5mCE3YGGFqhHTMDtEuooN+raIz+p4IFSJ1
 FJg+QyA5UUOARNtoCMY9zeORMthvKlbXjZgc/tNkN4NscpsotEIBXj8pL93FKXGfVqX8
 3/zIDPlKq1k1LcnzcJ4LtTx4An2QlPWA8aYks6wgkQi5DDGrUXxbRkE/zny062WSWQwX
 TaRw==
X-Gm-Message-State: ACrzQf0yIb3TrftlrDwKuMvz5q32R5cAwqMKpTzvsdbpOTpaHNFvp2Fc
 Qrki+lfcii+H5difgChx0WWUIw==
X-Google-Smtp-Source: AMsMyM55j/AtysExRY1HBzwg8iV1l5W/uIVHLHth+dnsyYnyR0DrpvW6xUzUvyJKqIfTVai1AN12FQ==
X-Received: by 2002:a63:e64f:0:b0:43c:9db1:8096 with SMTP id
 p15-20020a63e64f000000b0043c9db18096mr37470902pgj.567.1667741091985; 
 Sun, 06 Nov 2022 05:24:51 -0800 (PST)
Received: from Taix ([240b:253:ec40:2400:b7d1:436e:2d61:e925])
 by smtp.gmail.com with ESMTPSA id
 y15-20020a17090264cf00b001753654d9c5sm3128329pli.95.2022.11.06.05.24.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 06 Nov 2022 05:24:50 -0800 (PST)
From: Taiju HIGASHI <higashi@taiju.info>
References: <87k053sxur.fsf@gnu.org> <87zgdzat99.fsf@trop.in>
 <87zgdxgx0l.fsf@taiju.info> <875ygiqur9.fsf@gnu.org>
 <87r0z5e23k.fsf@taiju.info> <87czanebhd.fsf@taiju.info>
 <871qqtapbo.fsf@taiju.info>
 <20a8312539654df3c98954620979078e3e41a150.camel@gmail.com>
 <87r0yt96iy.fsf@taiju.info>
 <c9ed26b9378d8af618498daebb36d416b826ca3e.camel@gmail.com>
 <87y1sugmh2.fsf@taiju.info>
 <0b28bb01db01fafe30acb45f4b12e259b79121a6.camel@gmail.com>
 <87leorqf7w.fsf@taiju.info>
 <CO3NK706PMH8.2PCJQCLUZRRHE@guix-framework>
Date: Sun, 06 Nov 2022 22:24:47 +0900
In-Reply-To: <CO3NK706PMH8.2PCJQCLUZRRHE@guix-framework> (paren@disroot.org's
 message of "Fri, 04 Nov 2022 16:29:56 +0000")
Message-ID: <87tu3cp65c.fsf@taiju.info>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
X-BeenThere: guix-patches@gnu.org
List-Id: <guix-patches.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-patches>,
 <mailto:guix-patches-request@gnu.org?subject=unsubscribe>
List-Archive: <https://lists.gnu.org/archive/html/guix-patches>
List-Post: <mailto:guix-patches@gnu.org>
List-Help: <mailto:guix-patches-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-patches>,
 <mailto:guix-patches-request@gnu.org?subject=subscribe>
Sender: "Guix-patches" <guix-patches-bounces@gnu.org>
Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org
X-Migadu-Flow: FLOW_IN
X-Migadu-Country: US
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org;
	s=key1; t=1667741177;
	h=from:from:sender:sender:reply-to:subject:subject:date:date:
	 message-id:message-id:to:to:cc:cc:mime-version:mime-version:
	 content-type:content-type:resent-cc:resent-from:resent-sender:
	 resent-message-id:in-reply-to:in-reply-to:references:references:
	 list-id:list-help:list-unsubscribe:list-subscribe:list-post:
	 dkim-signature; bh=gVbhZpY5Yu3YB+rLXJoCyEjLLLuZ+1ljMZqUSFmBjeI=;
	b=IBn42Ev0GMdXS8PeTF9dH45v96z/zgyHAZzvUvR0FGzJNlEMw51NM+RnhmrOeG5SI8ojrf
	5ZVRIhyY/1JovEPfzBcHPqjhafvs6nPwzSg46lFog5oBva64VF94IDRDOPwSHd3fHmujDf
	qbz4l3ZtpqDHLlNo2vLOcXcJsnGI8Maz8dNkq3jcqSTmtfAwgC61h9YX5/+IbP+rtT6C3r
	ol4qnRiZRPl+itq/Cd8phQxE81gvLVdBReTTTKnBSWgr9qjVQ2umRJX3+Mt54cPNWgzwK3
	361ZpOpW5dF84xC+0XAiDfYTk6gefN3MV6oTX8RpvtQic4C7Lm4sx5LsnAN/Nw==
ARC-Seal: i=1; s=key1; d=yhetil.org; t=1667741177; a=rsa-sha256; cv=none;
	b=ppo7kwZBOJtHaJP+kulIELiLoO9kIBVmWGbsdIPXZIpKBxLLl02etB+t5UgoxMo0udj8FF
	AtPXsHaqPFvmkHwbNR/ytj9BQq3HQdEdMwz1oWCUdQU3SCLCwHbs73mQ6Ad9CzhiyBLy5p
	ioqIhEIMZK1YBUESVJQCwDnNQgRIewLNmJ3SdBJS3oJC2hG7DHFvVU4qDU+gYf8adQPxyu
	TrbV/1ZvVNAueuCVYbIInBLtUxLU6oHbbPMWqfg7iUryFYmoKIPHiO9UKIUYTAS4qlfK9w
	ByV7mc2dmFbArrFC83lfjzLyIlDX1E+kJnlB/3PzKE+X5AvoCesSr7Innn1oBQ==
ARC-Authentication-Results: i=1;
	aspmx1.migadu.com;
	dkim=fail ("headers rsa verify failed") header.d=taiju-info.20210112.gappssmtp.com header.s=20210112 header.b=bo1whnSE;
	dmarc=none;
	spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"
X-Migadu-Spam-Score: 4.00
Authentication-Results: aspmx1.migadu.com;
	dkim=fail ("headers rsa verify failed") header.d=taiju-info.20210112.gappssmtp.com header.s=20210112 header.b=bo1whnSE;
	dmarc=none;
	spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"
X-Migadu-Queue-Id: C2848933D
X-Spam-Score: 4.00
X-Migadu-Scanner: scn1.migadu.com
X-TUID: 58yRcZnSZ8yG

"(" <paren@disroot.org> writes:

> Heya,
>
> On Fri Nov 4, 2022 at 8:46 AM GMT, Taiju HIGASHI wrote:
>> Sorry. I did not understand what you meant by making it a gexp-compiler
>> instead. Is there anything reference documents or codes?
>
> Guix's file-like objects are compiled into derivations using gexp-compilers,
> which may be defined using the ``define-gexp-compiler'' form. These two are
> equivalent:
>
>   ;;; with procedure
>
>   (define (foo->file-like foo)
>     "Turns FOO into a derivation."
>     (plain-file "foo"
>       (foo-text foo)))
>
>   ;; this way, you need to use foo->file-like whenever you want to use
>   ;; foo in place of a file-like object
>
>   (foo->file-like (foo (text "hello")))
>
>   ;;; with gexp compiler
>
>   (define-gexp-compiler (foo-compiler (foo <foo-record>) system target)
>     ;;
>     (lower-object
>      (plain-file "foo"
>        (foo-text foo))))
>
>   ;; now, a ``foo'' can be treated as a lowerable file-like object! you
>   ;; can put it anywhere you'd put a file-like.
>   (foo (text "hello"))
>
> So, basically, define-gexp-compiler lets you make new kinds of file-like
> object from records! This is actually how computed-file, file-append, et
> al are defined; see guix/gexp.scm. (Many of the gexp-compilers define both
> a compiler and an expander; the compiler is a derivation to build when
> the object is built, and the expander is the string to return when it's
> gexped. file-append [line 680 in my checkout] is a good, clear example of
> this.)
>
>     -- (

Thank you for your kindness.
I think I understand a little more now, and I will read the surrounding
source code to better understand it. Thanks to you, I may be able to
understand what was suggested earlier in this thread!

Thanks,
-- 
Taiju