From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Problems with downloading from https Date: Mon, 27 Oct 2014 13:24:28 +0100 Message-ID: <87ioj566pv.fsf@gnu.org> References: <877fzogiq5.fsf@gmail.com> <20141025200250.675.55930@vulcan.local.tld> <87y4s348k1.fsf@gmail.com> <87fveboseq.fsf@gnu.org> <87k33m4ob9.fsf@gmail.com> <87vbn6h7f4.fsf@gnu.org> <87oasxj2z1.fsf@netris.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42407) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XijLJ-0005pE-MT for guix-devel@gnu.org; Mon, 27 Oct 2014 08:24:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XijLE-00074K-V6 for guix-devel@gnu.org; Mon, 27 Oct 2014 08:24:13 -0400 Received: from hera.aquilenet.fr ([2a01:474::1]:42330) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XijLE-00074F-GH for guix-devel@gnu.org; Mon, 27 Oct 2014 08:24:08 -0400 In-Reply-To: <87oasxj2z1.fsf@netris.org> (Mark H. Weaver's message of "Mon, 27 Oct 2014 05:06:58 -0400") 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: Mark H Weaver Cc: guix-devel@gnu.org, Alex Kost Mark H Weaver skribis: > ludo@gnu.org (Ludovic Court=C3=A8s) writes: > >> Alex Kost skribis: >> >>> Ludovic Court=C3=A8s (2014-10-26 16:46 +0300) wrote: >>> >>>> Alex Kost skribis: >>>> >>>>> Yes, I installed gnutls, but it didn't work because I didn't set the >>>>> right guile paths: =E2=80=9Cguix package --search-paths=E2=80=9D reco= mmends >>>>> "/usr/local/var/guix/profiles/per-user//guix-profile/share/guil= e/site/2.0" >>>>> but "gnutls.scm" is actually placed in >>>>> "/usr/local/var/guix/profiles/per-user//guix-profile/share/guil= e/site" >>>>> so =E2=80=98(use-modules (gnutls))=E2=80=99 failed for me. >>>> >>>> Oh, that=E2=80=99s a bug of the GnuTLS package: we should pass the rig= ht >>>> configure flag so that modules go to site/2.0. Could you do that? > > Alex committed this change, and it broke all https downloads in Guix, > leading to hydra build failures. For example, see: > > http://hydra.gnu.org/build/132928/nixlog/1/raw > > The reason is that guix/download.scm contains this code: > > ;; Add GnuTLS to the inputs and to the load path. > #~(eval-when (load expand eval) > (set! %load-path > (cons (string-append #$(gnutls-package) > "/share/guile/site") > %load-path))) > #~#t) Oops, my bad. I think this code should be changed to use site/2.0, which is the standard search path specification. > For now, I think we should revert this commit and discuss it further > before proceeding. I would just fix the above code to append (effective-version). WDYT? >>> Yes, but I'm a little concerned. Should it really be so? What about >>> guile-1.8; isn't it supposed to use gnutls module as well? >> >> 1.8 has long been deprecated, so let=E2=80=99s not worry about it. > > I think Alex was right to be concerned. We'll have the same problem > when Guile 2.2 comes around, and then again for 2.4. I'm reluctant to > hardcode "2.0" into the code above. Think about what it implies for > GnuTLS in the future. Will they be expected to install their modules > into site/2.0, site/2.2, site/2.4, etc? Do we really want to advocate > this practice to projects that install Guile modules? No, you=E2=80=99re right, of course. However, I tend to distinguish betwee= n the immediate issue that calls for a fix, and the design issue that has to be addressed, but is less pressing. Currently, there are a couple of packages that hard-code site/2.0. They should be changed to use: (string-append "--with-site-dir=3D.../site/" (effective-version)) That doesn=E2=80=99t help with 1.8, though, because 1.8 uses /site. Perhap= s a fix would be to change 1.8 in Guix so that it uses a versioned site directory like future versions do? Another option would be to ignore 1.8. WDYT? There may be similar problems with Python, Ruby, etc., although these haven=E2=80=99t come up yet, I think. These can hopefully be addressed by having their respective build system pass #:effective-version to the build code. Thoughts? Thanks, Ludo=E2=80=99.