From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id 6K2QBijXkl8kHQAA0tVLHw (envelope-from ) for ; Fri, 23 Oct 2020 13:14:16 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id EI7UACjXkl9/XQAAbx9fmQ (envelope-from ) for ; Fri, 23 Oct 2020 13:14:16 +0000 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 3477B9404C9 for ; Fri, 23 Oct 2020 13:14:15 +0000 (UTC) Received: from localhost ([::1]:59302 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kVwtZ-0005Jj-Nk for larch@yhetil.org; Fri, 23 Oct 2020 09:14:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51652) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kVwsQ-0004gm-Nv for guix-patches@gnu.org; Fri, 23 Oct 2020 09:13:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:44776) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kVwsQ-0008Ih-D5 for guix-patches@gnu.org; Fri, 23 Oct 2020 09:13:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kVwsQ-0003is-8w for guix-patches@gnu.org; Fri, 23 Oct 2020 09:13:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#44130] [PATCH] Add a recursive version of mkdir-p Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 23 Oct 2020 13:13:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 44130 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: divoplade Cc: 44130@debbugs.gnu.org Received: via spool by 44130-submit@debbugs.gnu.org id=B44130.160345877414295 (code B ref 44130); Fri, 23 Oct 2020 13:13:02 +0000 Received: (at 44130) by debbugs.gnu.org; 23 Oct 2020 13:12:54 +0000 Received: from localhost ([127.0.0.1]:56322 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kVwsH-0003iV-Si for submit@debbugs.gnu.org; Fri, 23 Oct 2020 09:12:54 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51484) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kVwsG-0003iE-4m for 44130@debbugs.gnu.org; Fri, 23 Oct 2020 09:12:52 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:49191) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kVwsA-0008Hf-Nh; Fri, 23 Oct 2020 09:12:46 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=55368 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kVwsA-0004xv-A0; Fri, 23 Oct 2020 09:12:46 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <6ff632f5c1e378647cecc7177b7018fb8a0ee6d4.camel@divoplade.fr> Date: Fri, 23 Oct 2020 15:12:44 +0200 In-Reply-To: <6ff632f5c1e378647cecc7177b7018fb8a0ee6d4.camel@divoplade.fr> (divoplade's message of "Thu, 22 Oct 2020 01:29:48 +0200") Message-ID: <87y2jxnl0z.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -3.3 (---) X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Spam-Score: -1.51 X-TUID: /mQM7k6TXyOs Hi! divoplade skribis: > I need this mkdir-p function in any non-trivial program I write. I had > 3 bad choices: > > 1. Lobby guile to provide this function out of the box (this will take > time); > 2. Copy that of guix, or gash, or any other: this does not seem > acceptable to me, because this function will surely evolve (for > instance, if guile gets suport for mingw and we start running guile > programs on windows) and I don't want to update more than one version > of this function; > 3. Depend on guix, gash or another package: this would be too large a > dependency for my programs. > > So I wrote it in its own package and I intend to depend on it for my > other projects. It would be best if you could accept this package in > guix proper. > > What do you think? I have nothing against adding this package to Guix, but=E2=80=A6 Do you realize that the package definition is longer than the =E2=80=98mkdi= r-p=E2=80=99 procedure itself? :-) I think npm packages are too fine-grain; I don=E2=80=99t think this is the approach to follow for Guile. It=E2=80=99s likely that packages that need =E2=80=98mkdir-p=E2=80=99 also = need other high-level file system operations that Gash (say) provides. In that case, I=E2=80=99d encourage people to depend on Gash. If Gash is too big a dependency for the project, including its own copy of this 24-line procedure is probably acceptable. All that said, I do think that Guile itself should eventually include some of the utilities found in (guix build utils) or Gash. For instance, it recently got a new =E2=80=98pipeline=E2=80=99 procedure, which= comes from Gash, and I think it=E2=80=99s a great addition. This is the way to go in = the longer term. Thoughts? Ludo=E2=80=99.