From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jookia <166291@gmail.com> Subject: Re: [PATCH 1/2] svn-download: Respect current-http-proxy when downloading. Date: Mon, 29 Feb 2016 08:45:56 +1100 Message-ID: <20160228214556.GA29738@novena-choice-citizen.lan> References: <56c321a5.8445620a.d0d47.3c13@mx.google.com> <871t7wwzrx.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:37439) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <166291@gmail.com>) id 1aa9AW-0002SU-6M for guix-devel@gnu.org; Sun, 28 Feb 2016 16:46:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <166291@gmail.com>) id 1aa9AV-00089v-3C for guix-devel@gnu.org; Sun, 28 Feb 2016 16:46:24 -0500 Content-Disposition: inline In-Reply-To: <871t7wwzrx.fsf@gnu.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Ludovic =?iso-8859-1?Q?Court=E8s?= Cc: guix-devel@gnu.org On Sun, Feb 28, 2016 at 05:44:18PM +0100, Ludovic Courtès wrote: > Sorry for the delay, and thanks for the useful patch! No problem. :) > I gather ‘svn’ doesn’t honor ‘http_proxy’ in the first place, right? > That would have simplified things. It really would, but for some reason that's not a feature. Well, it was for one or two releases but that was unintentional and fixed. > Also, what about ‘https_proxy’? (This could be left for a subsequent > patch, if you prefer.) I'd have to parse the subversion URL and figure out if its scheme is HTTPS as I don't think Subverion has a https-proxy-* set of variables. > > + (define proxy-config > > + (if (current-http-proxy) > > + (and-let* ((proxy-uri (string->uri (current-http-proxy))) > > + (proxy-host (uri-host proxy-uri)) > > + (proxy-port (number->string (uri-port proxy-uri))) > > + (config-host "servers:global:http-proxy-host=") > > + (config-port "servers:global:http-proxy-port=")) > > + `("--config-option" ,(string-append config-host proxy-host) > > + "--config-option" ,(string-append config-port proxy-port))) > > + '())) > > I would suggest using an explicit (getenv "http_proxy") instead of > (current-http-proxy) since the latter is specific to the (web …) > modules, which are not involved here. > > Also, I’m not a fan of SRFI-2. :-) So I’d write it as: > > (match (getenv "http_proxy") > (#f '()) > (uri-string > (let* ((uri (string->uri uri-string)) > (host (uri-host uri)) > (port (uri-port uri))) > (list (string-append > "--config-option=servers:global:http-proxy-host=" > host) > (string-append > "--config-option=servers:global:http-proxy-port=" > (number->string port)))))) > > Probably with something like: > > (unless uri > (format (current-error-port) "invalid HTTP proxy URI: ~s~%" > uri-string) > (exit 1)) Interesting! > Could you send an updated patch? Sure, I'll do it hopefully this week. > Thanks! > > Ludo’. Cheers, Jookia.