From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id +LXZE8c2k19UEgAA0tVLHw (envelope-from ) for ; Fri, 23 Oct 2020 20:02:15 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id +FmtD8c2k1/bBQAAB5/wlQ (envelope-from ) for ; Fri, 23 Oct 2020 20:02:15 +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 9B8369401BF for ; Fri, 23 Oct 2020 20:02:14 +0000 (UTC) Received: from localhost ([::1]:48596 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kW3GP-00034S-AI for larch@yhetil.org; Fri, 23 Oct 2020 16:02:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37648) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kW3GE-00034F-KB for guix-patches@gnu.org; Fri, 23 Oct 2020 16:02:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:46915) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kW3GE-0003Ck-B4 for guix-patches@gnu.org; Fri, 23 Oct 2020 16:02:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kW3GE-0006Nr-9E for guix-patches@gnu.org; Fri, 23 Oct 2020 16:02:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#44130] [PATCH] Add a recursive version of mkdir-p References: <6ff632f5c1e378647cecc7177b7018fb8a0ee6d4.camel@divoplade.fr> Resent-From: Leo Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 23 Oct 2020 20:02: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: d@divoplade.fr Cc: 44130@debbugs.gnu.org Received: via spool by 44130-submit@debbugs.gnu.org id=B44130.160348330124505 (code B ref 44130); Fri, 23 Oct 2020 20:02:02 +0000 Received: (at 44130) by debbugs.gnu.org; 23 Oct 2020 20:01:41 +0000 Received: from localhost ([127.0.0.1]:58461 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kW3Ft-0006NB-8t for submit@debbugs.gnu.org; Fri, 23 Oct 2020 16:01:41 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:30475) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kW3Fp-0006N1-VR for 44130@debbugs.gnu.org; Fri, 23 Oct 2020 16:01:40 -0400 Received: from nijino.local (217-149-162-161.nat.highway.telekom.at [217.149.162.161]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4CHw9B4Hpqz3wYd; Fri, 23 Oct 2020 22:01:34 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1603483294; bh=fVQOA70omqjIQ3srt4bDIdxdqHRpczJcEw5q/CKdOQI=; h=Subject:From:To:Cc:Date:In-Reply-To; b=PLg5dAmsa/thcR9aMHebm7RQ9qKjl6uFCosS8qnkBTf04TXy07KaSvxijYKhngLjA i1nnBaAfRsvBlffImej0N4O263gyEl5xbW/QDkKzFx1QaJofQNx51ZamdkWNr+YjQR XTo352vtJKcGH5pv3mhZDBVImKQQOQa74NROHJ6Q= Message-ID: <7dc336ad9bc86c4ef1e0bd85c8a3c39670a1307b.camel@student.tugraz.at> From: Leo Prikler Date: Fri, 23 Oct 2020 22:01:33 +0200 In-Reply-To: 3dca955c97222648074515b1a2c5ace96a2f1fd6.camel@divoplade.fr Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUG-Backscatter-control: bt4lQm5Tva3SBgCuw0EnZw X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -1.9 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.116 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=pass header.d=tugraz.at header.s=mailrelay header.b=PLg5dAms; dmarc=pass (policy=none) header.from=student.tugraz.at; 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: -0.21 X-TUID: 9i+56z7J80AN > Le vendredi 23 octobre 2020 à 18:37 +0200, Ludovic Courtès a écrit : > > > > What I was questioning is the temptation to make one-function > > packages > > as is common for instance in npm. > > Ah, so I can summarize. My solutions are: > > 1. Guile provides mkdir-p: Perfect! > 2. I put the function in a package: not great, but acceptable. > 3. I depend on gash: not acceptable, there's only mkdir-p that's > interesting, the rest is for advanced system tools. > 4. I copy that function around: not acceptable. 5. You depend on any other package, that provides mkdir-p among other utilities big enough to be packaged in Guix: Not acceptable. 6. You depend on any other package, that provides just mkdir-p with maybe a few other utilities, that make Guix devs question whether this will become the next npm. 7. You write a module, that evals untrusted code from the internet and point it towards your implementation of mkdir-p. 8. You find existing implementations of mkdir-p insufficient and roll yet another mkdir-p. 9. You write an accelerated mkdir-p in native code as a shared library. 10. You combine 7 and 9. ... For what it's worth, I've been hacking on a slightly more complete set of filesystem utilities over at [1] for the past few days. It is not yet complete to the point that I'd consider its inclusion into Guix upstream, but you might want to try it out and perhaps contribute if that fits your niche. > So, there's no temptation to make one-function packages. > > Should I understand that you question the integration of one-function > packages into guix? If you don't want it in guix, then it's fine, I > can > just use it only for myself, I have my own channel. In which case, > please just say so, so we can all move on to more interesting things. In that case, you still recreate npm, just with an additional layer of indirection. Obviously Guix developers can not stop you from doing so, only advise you not to. Regards, Leo [1] https://gitlab.com/leoprikler/guile-filesystem