From unknown Sat Jun 21 03:24:24 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#37857] [PATCH] guix: svn: Allow dropping externals Resent-From: Julien Lepiller Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 21 Oct 2019 19:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 37857 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 37857@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.157168775422213 (code B ref -1); Mon, 21 Oct 2019 19:56:02 +0000 Received: (at submit) by debbugs.gnu.org; 21 Oct 2019 19:55:54 +0000 Received: from localhost ([127.0.0.1]:57878 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iMdmT-0005mC-TO for submit@debbugs.gnu.org; Mon, 21 Oct 2019 15:55:54 -0400 Received: from lists.gnu.org ([209.51.188.17]:50506) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iMdmR-0005m3-VR for submit@debbugs.gnu.org; Mon, 21 Oct 2019 15:55:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36418) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMdmQ-0008Uu-4h for guix-patches@gnu.org; Mon, 21 Oct 2019 15:55:51 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMdmO-00010y-O0 for guix-patches@gnu.org; Mon, 21 Oct 2019 15:55:49 -0400 Received: from lepiller.eu ([2a00:5884:8208::1]:33750) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iMdmO-0000yh-5T for guix-patches@gnu.org; Mon, 21 Oct 2019 15:55:48 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id d841fd5a for ; Mon, 21 Oct 2019 19:55:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=lepiller.eu; h=date:from :to:subject:message-id:mime-version:content-type; s=dkim; bh=uXr jg7sZ8zQYefMT+4A79Q/vU6I=; b=fY6AuwoZmrdGLOrpo8BBKqXN2O4lxgG1xpu zUrorZ84FqajLBy9LCywyY1xfmixoPWxJ4AqEbZRx5r89wDD3B9yrWgXTdKFzefC 4l9NZ1OGR+FI3aSU4FwBzRhkrdWmH9wiV1VurRAQCI5Blmz3eMaHr3UvFJlISbau GCdhqxfcOulNvrY9VmGEb5eSitlcK8pwdN1+eP+XC3yFvZ8RWU3pxbbjvKxCXDJc YKRY6Mb0noSVnWS3PoJ680LaYBE2raOTQ4npqCtGqL2D8GeWnm5kawWjqzKmyZSm ecxDrJVbCpoPtoywmoKaP39C5DttMjK7qXWDnX5ayLlenH7Y1Rg== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id f7340c6b (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for ; Mon, 21 Oct 2019 19:55:43 +0000 (UTC) Date: Mon, 21 Oct 2019 21:55:38 +0200 From: Julien Lepiller Message-ID: <20191021215538.60675430@sybil.lepiller.eu> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/5YGId=0cICC7dsvAt/YNUCf" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:5884:8208::1 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --MP_/5YGId=0cICC7dsvAt/YNUCf Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline A subversion repository can contain externals, references to other projects that also use subversion. This is very similar to git submodules. When checking out a repository, svn will automatically check these external repositories too. However, if the externals are not pinned to a specific revision, svn will fetch the latest sources for the external, leading to non reproducibility of the sources' hash. This patch adds a fetch-externals? field to svn-reference and svn-multi-reference, defaulting to #t for preserving the old behavior. Setting it to #f will prevent fetching any external from the project. This is useful for josm for instance. --MP_/5YGId=0cICC7dsvAt/YNUCf Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0001-guix-svn-Allow-dropping-externals.patch >From 0ac412a3c912b2fe7ebd05d178120db50d47184e Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Mon, 21 Oct 2019 21:48:31 +0200 Subject: [PATCH] guix: svn: Allow dropping externals. * guix/build/svn.scm (svn-fetch): Allow to ignore externals. * guix/svn-download.scm (svn-reference, svn-multi-reference): Add fetch-externals? field. --- guix/build/svn.scm | 4 ++++ guix/svn-download.scm | 25 ++++++++++++++++--------- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/guix/build/svn.scm b/guix/build/svn.scm index e3188add3e..ff3ca3a666 100644 --- a/guix/build/svn.scm +++ b/guix/build/svn.scm @@ -31,6 +31,7 @@ (define* (svn-fetch url revision directory #:key (svn-command "svn") + (fetch-externals? #t) (user-name #f) (password #f)) "Fetch REVISION from URL into DIRECTORY. REVISION must be an integer, and a @@ -45,6 +46,9 @@ valid Subversion revision. Return #t on success, #f otherwise." (list (string-append "--username=" user-name) (string-append "--password=" password)) '()) + ,@(if fetch-externals? + '() + (list "--ignore-externals")) ,url ,directory)) #t) diff --git a/guix/svn-download.scm b/guix/svn-download.scm index 4139cbc2e2..16da2102d6 100644 --- a/guix/svn-download.scm +++ b/guix/svn-download.scm @@ -31,6 +31,7 @@ svn-reference? svn-reference-url svn-reference-revision + svn-reference-fetch-externals? svn-fetch download-svn-to-store @@ -39,6 +40,7 @@ svn-multi-reference-url svn-multi-reference-revision svn-multi-reference-locations + svn-multi-reference-fetch-externals? svn-multi-fetch)) ;;; Commentary: @@ -52,10 +54,11 @@ (define-record-type* svn-reference make-svn-reference svn-reference? - (url svn-reference-url) ; string - (revision svn-reference-revision) ; number - (user-name svn-reference-user-name (default #f)) - (password svn-reference-password (default #f))) + (url svn-reference-url) ; string + (revision svn-reference-revision) ; number + (fetch-externals? svn-reference-fetch-externals? (default #t)) + (user-name svn-reference-user-name (default #f)) + (password svn-reference-password (default #f))) (define (subversion-package) "Return the default Subversion package." @@ -78,6 +81,7 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." '#$(svn-reference-revision ref) #$output #:svn-command (string-append #+svn "/bin/svn") + #:fetch-externals? #$(svn-reference-fetch-externals? ref) #:user-name #$(svn-reference-user-name ref) #:password #$(svn-reference-password ref))))) @@ -93,11 +97,12 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (define-record-type* svn-multi-reference make-svn-multi-reference svn-multi-reference? - (url svn-multi-reference-url) ; string - (revision svn-multi-reference-revision) ; number - (locations svn-multi-reference-locations) ; list of strings - (user-name svn-multi-reference-user-name (default #f)) - (password svn-multi-reference-password (default #f))) + (url svn-multi-reference-url) ; string + (revision svn-multi-reference-revision) ; number + (locations svn-multi-reference-locations) ; list of strings + (fetch-externals? svn-multi-reference-fetch-externals? (default #t)) + (user-name svn-multi-reference-user-name (default #f)) + (password svn-multi-reference-password (default #f))) (define* (svn-multi-fetch ref hash-algo hash #:optional name @@ -125,6 +130,8 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (string-append #$output "/" location) (string-append #$output "/" (dirname location))) #:svn-command (string-append #+svn "/bin/svn") + #:fetch-externals? + #$(svn-reference-fetch-externals? ref) #:user-name #$(svn-multi-reference-user-name ref) #:password #$(svn-multi-reference-password ref))) '#$(svn-multi-reference-locations ref))))) -- 2.22.0 --MP_/5YGId=0cICC7dsvAt/YNUCf-- From unknown Sat Jun 21 03:24:24 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#37857] [PATCH] guix: svn: Allow dropping externals Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 22 Oct 2019 16:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 37857 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Julien Lepiller Cc: 37857@debbugs.gnu.org Received: via spool by 37857-submit@debbugs.gnu.org id=B37857.157176067328438 (code B ref 37857); Tue, 22 Oct 2019 16:12:02 +0000 Received: (at 37857) by debbugs.gnu.org; 22 Oct 2019 16:11:13 +0000 Received: from localhost ([127.0.0.1]:60357 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iMwka-0007OZ-RQ for submit@debbugs.gnu.org; Tue, 22 Oct 2019 12:11:13 -0400 Received: from eggs.gnu.org ([209.51.188.92]:54890) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iMwkZ-0007OL-Cz for 37857@debbugs.gnu.org; Tue, 22 Oct 2019 12:11:11 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:59616) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iMwkR-0002as-Mg; Tue, 22 Oct 2019 12:11:05 -0400 Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=39576 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iMwkP-0002Qb-V8; Tue, 22 Oct 2019 12:11:03 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20191021215538.60675430@sybil.lepiller.eu> Date: Tue, 22 Oct 2019 18:10:59 +0200 In-Reply-To: <20191021215538.60675430@sybil.lepiller.eu> (Julien Lepiller's message of "Mon, 21 Oct 2019 21:55:38 +0200") Message-ID: <87d0eozros.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Julien, Julien Lepiller skribis: >>>From 0ac412a3c912b2fe7ebd05d178120db50d47184e Mon Sep 17 00:00:00 2001 > From: Julien Lepiller > Date: Mon, 21 Oct 2019 21:48:31 +0200 > Subject: [PATCH] guix: svn: Allow dropping externals. > > * guix/build/svn.scm (svn-fetch): Allow to ignore externals. > * guix/svn-download.scm (svn-reference, svn-multi-reference): Add > fetch-externals? field. Nice. For consistency with git-download.scm & co., what about calling the parameter and the field =E2=80=98recursive?=E2=80=99 rather than =E2=80=98f= etch-externals?=E2=80=99? > (define-record-type* > svn-reference make-svn-reference > svn-reference? > - (url svn-reference-url) ; string > - (revision svn-reference-revision) ; number > - (user-name svn-reference-user-name (default #f)) > - (password svn-reference-password (default #f))) > + (url svn-reference-url) ; string > + (revision svn-reference-revision) ; number > + (fetch-externals? svn-reference-fetch-externals? (default #t)) Do you know of packages that rely on externals? It=E2=80=99d be great to eventually default to #f, but for that we=E2=80=99= d need to check every package that uses =E2=80=98svn-fetch=E2=80=99 (notably all the = TeX Live packages.) Thanks, Ludo=E2=80=99. From unknown Sat Jun 21 03:24:24 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Julien Lepiller Subject: bug#37857: closed (Re: [bug#37857] [PATCH] guix: svn: Allow dropping externals) Message-ID: References: <20191023233423.5e7b1bdf@sybil.lepiller.eu> <20191021215538.60675430@sybil.lepiller.eu> X-Gnu-PR-Message: they-closed 37857 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 37857@debbugs.gnu.org Date: Wed, 23 Oct 2019 21:35:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1571866502-28695-1" This is a multi-part message in MIME format... ------------=_1571866502-28695-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #37857: [PATCH] guix: svn: Allow dropping externals which was filed against the guix-patches package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 37857@debbugs.gnu.org. --=20 37857: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D37857 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1571866502-28695-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 37857-done) by debbugs.gnu.org; 23 Oct 2019 21:34:32 +0000 Received: from localhost ([127.0.0.1]:35095 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iNOH1-0007S4-VM for submit@debbugs.gnu.org; Wed, 23 Oct 2019 17:34:32 -0400 Received: from lepiller.eu ([89.234.186.109]:47290) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iNOGz-0007Rv-8S for 37857-done@debbugs.gnu.org; Wed, 23 Oct 2019 17:34:30 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 28a2c8e3 for <37857-done@debbugs.gnu.org>; Wed, 23 Oct 2019 21:34:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=lepiller.eu; h=date:from :to:subject:message-id:in-reply-to:references:mime-version :content-type:content-transfer-encoding; s=dkim; bh=TAq8ChYtu8Hn IvAPrrUPRz3iomE=; b=GrJNjyKpIO+EDmyZKRmNtOgoSyFQ+/fw4xXz5Nn0N5OT ZeCqwoYf/eOpHesT1ubRYbYtD2LtjlEnijbk1zZSk0ziCSQ2JhHbL4P/KpXcXY1Z WLCltW8a6JL11M1RZcPATQZchBeAz6XKYR3wdO7BswLeJBGUV64zfTB9+zospzBH sV/zYbIK71hHgbdepuXvplDH4+ImRCFgwSz+hhEPOd9v4JfbqGn+4TYUl6jL6RYJ uriKZ0NYWnTcL7joFownt4UDINEGmWMFpt5W4KXwcyErmWiZXs8AF1LRUFi2mwT5 VGoYeCyj8bCIu2RxnhNnBt8MxOKKwscMawgRo/svyw== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 8e73530f (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <37857-done@debbugs.gnu.org>; Wed, 23 Oct 2019 21:34:27 +0000 (UTC) Date: Wed, 23 Oct 2019 23:34:23 +0200 From: Julien Lepiller To: 37857-done@debbugs.gnu.org Subject: Re: [bug#37857] [PATCH] guix: svn: Allow dropping externals Message-ID: <20191023233423.5e7b1bdf@sybil.lepiller.eu> In-Reply-To: <20191021215538.60675430@sybil.lepiller.eu> References: <20191021215538.60675430@sybil.lepiller.eu> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 37857-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Pushed as 51395c84fdbf8daed6392951a973ad750cf3eefa. ------------=_1571866502-28695-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 21 Oct 2019 19:55:54 +0000 Received: from localhost ([127.0.0.1]:57878 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iMdmT-0005mC-TO for submit@debbugs.gnu.org; Mon, 21 Oct 2019 15:55:54 -0400 Received: from lists.gnu.org ([209.51.188.17]:50506) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iMdmR-0005m3-VR for submit@debbugs.gnu.org; Mon, 21 Oct 2019 15:55:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36418) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMdmQ-0008Uu-4h for guix-patches@gnu.org; Mon, 21 Oct 2019 15:55:51 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMdmO-00010y-O0 for guix-patches@gnu.org; Mon, 21 Oct 2019 15:55:49 -0400 Received: from lepiller.eu ([2a00:5884:8208::1]:33750) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iMdmO-0000yh-5T for guix-patches@gnu.org; Mon, 21 Oct 2019 15:55:48 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id d841fd5a for ; Mon, 21 Oct 2019 19:55:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=lepiller.eu; h=date:from :to:subject:message-id:mime-version:content-type; s=dkim; bh=uXr jg7sZ8zQYefMT+4A79Q/vU6I=; b=fY6AuwoZmrdGLOrpo8BBKqXN2O4lxgG1xpu zUrorZ84FqajLBy9LCywyY1xfmixoPWxJ4AqEbZRx5r89wDD3B9yrWgXTdKFzefC 4l9NZ1OGR+FI3aSU4FwBzRhkrdWmH9wiV1VurRAQCI5Blmz3eMaHr3UvFJlISbau GCdhqxfcOulNvrY9VmGEb5eSitlcK8pwdN1+eP+XC3yFvZ8RWU3pxbbjvKxCXDJc YKRY6Mb0noSVnWS3PoJ680LaYBE2raOTQ4npqCtGqL2D8GeWnm5kawWjqzKmyZSm ecxDrJVbCpoPtoywmoKaP39C5DttMjK7qXWDnX5ayLlenH7Y1Rg== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id f7340c6b (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for ; Mon, 21 Oct 2019 19:55:43 +0000 (UTC) Date: Mon, 21 Oct 2019 21:55:38 +0200 From: Julien Lepiller To: guix-patches@gnu.org Subject: [PATCH] guix: svn: Allow dropping externals Message-ID: <20191021215538.60675430@sybil.lepiller.eu> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/5YGId=0cICC7dsvAt/YNUCf" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:5884:8208::1 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --MP_/5YGId=0cICC7dsvAt/YNUCf Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline A subversion repository can contain externals, references to other projects that also use subversion. This is very similar to git submodules. When checking out a repository, svn will automatically check these external repositories too. However, if the externals are not pinned to a specific revision, svn will fetch the latest sources for the external, leading to non reproducibility of the sources' hash. This patch adds a fetch-externals? field to svn-reference and svn-multi-reference, defaulting to #t for preserving the old behavior. Setting it to #f will prevent fetching any external from the project. This is useful for josm for instance. --MP_/5YGId=0cICC7dsvAt/YNUCf Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0001-guix-svn-Allow-dropping-externals.patch >From 0ac412a3c912b2fe7ebd05d178120db50d47184e Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Mon, 21 Oct 2019 21:48:31 +0200 Subject: [PATCH] guix: svn: Allow dropping externals. * guix/build/svn.scm (svn-fetch): Allow to ignore externals. * guix/svn-download.scm (svn-reference, svn-multi-reference): Add fetch-externals? field. --- guix/build/svn.scm | 4 ++++ guix/svn-download.scm | 25 ++++++++++++++++--------- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/guix/build/svn.scm b/guix/build/svn.scm index e3188add3e..ff3ca3a666 100644 --- a/guix/build/svn.scm +++ b/guix/build/svn.scm @@ -31,6 +31,7 @@ (define* (svn-fetch url revision directory #:key (svn-command "svn") + (fetch-externals? #t) (user-name #f) (password #f)) "Fetch REVISION from URL into DIRECTORY. REVISION must be an integer, and a @@ -45,6 +46,9 @@ valid Subversion revision. Return #t on success, #f otherwise." (list (string-append "--username=" user-name) (string-append "--password=" password)) '()) + ,@(if fetch-externals? + '() + (list "--ignore-externals")) ,url ,directory)) #t) diff --git a/guix/svn-download.scm b/guix/svn-download.scm index 4139cbc2e2..16da2102d6 100644 --- a/guix/svn-download.scm +++ b/guix/svn-download.scm @@ -31,6 +31,7 @@ svn-reference? svn-reference-url svn-reference-revision + svn-reference-fetch-externals? svn-fetch download-svn-to-store @@ -39,6 +40,7 @@ svn-multi-reference-url svn-multi-reference-revision svn-multi-reference-locations + svn-multi-reference-fetch-externals? svn-multi-fetch)) ;;; Commentary: @@ -52,10 +54,11 @@ (define-record-type* svn-reference make-svn-reference svn-reference? - (url svn-reference-url) ; string - (revision svn-reference-revision) ; number - (user-name svn-reference-user-name (default #f)) - (password svn-reference-password (default #f))) + (url svn-reference-url) ; string + (revision svn-reference-revision) ; number + (fetch-externals? svn-reference-fetch-externals? (default #t)) + (user-name svn-reference-user-name (default #f)) + (password svn-reference-password (default #f))) (define (subversion-package) "Return the default Subversion package." @@ -78,6 +81,7 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." '#$(svn-reference-revision ref) #$output #:svn-command (string-append #+svn "/bin/svn") + #:fetch-externals? #$(svn-reference-fetch-externals? ref) #:user-name #$(svn-reference-user-name ref) #:password #$(svn-reference-password ref))))) @@ -93,11 +97,12 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (define-record-type* svn-multi-reference make-svn-multi-reference svn-multi-reference? - (url svn-multi-reference-url) ; string - (revision svn-multi-reference-revision) ; number - (locations svn-multi-reference-locations) ; list of strings - (user-name svn-multi-reference-user-name (default #f)) - (password svn-multi-reference-password (default #f))) + (url svn-multi-reference-url) ; string + (revision svn-multi-reference-revision) ; number + (locations svn-multi-reference-locations) ; list of strings + (fetch-externals? svn-multi-reference-fetch-externals? (default #t)) + (user-name svn-multi-reference-user-name (default #f)) + (password svn-multi-reference-password (default #f))) (define* (svn-multi-fetch ref hash-algo hash #:optional name @@ -125,6 +130,8 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (string-append #$output "/" location) (string-append #$output "/" (dirname location))) #:svn-command (string-append #+svn "/bin/svn") + #:fetch-externals? + #$(svn-reference-fetch-externals? ref) #:user-name #$(svn-multi-reference-user-name ref) #:password #$(svn-multi-reference-password ref))) '#$(svn-multi-reference-locations ref))))) -- 2.22.0 --MP_/5YGId=0cICC7dsvAt/YNUCf-- ------------=_1571866502-28695-1--