From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Subject: bug#37071: guix import pypi httpie fails Date: Wed, 28 Aug 2019 22:48:48 +0200 Message-ID: <871rx5f233.fsf@gnu.org> References: <47016DD3-0499-428A-9DE0-DACF8AE4D78B@vllmrt.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:55293) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i34sJ-0000Yy-Kl for bug-guix@gnu.org; Wed, 28 Aug 2019 16:49:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i34sI-0006VK-Ih for bug-guix@gnu.org; Wed, 28 Aug 2019 16:49:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:42496) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1i34sI-0006V7-F0 for bug-guix@gnu.org; Wed, 28 Aug 2019 16:49:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1i34sI-0003yP-Bq for bug-guix@gnu.org; Wed, 28 Aug 2019 16:49:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <47016DD3-0499-428A-9DE0-DACF8AE4D78B@vllmrt.net> (Robert Vollmert's message of "Sun, 18 Aug 2019 12:40:43 +0200") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Robert Vollmert Cc: 37071@debbugs.gnu.org, Maxim Cournoyer Hi, Robert Vollmert skribis: > $ guix import pypi httpie > =E2=80=A60.2.tar.gz 83KiB 291KiB/s 00:00 [###########= #######] 100.0% > =E2=80=A6.py3-none-any.whl 58KiB 201KiB/s 00:00 [###########= #######] 100.0% > guix import: warning: Failed to extract file: httpie-1.0.2.dist-info/META= DATA from wheel. > Backtrace: > 15 (primitive-load "/home/rob/.config/guix/current/bin/guix") > In guix/ui.scm: > 1692:12 14 (run-guix-command _ . _) > In guix/scripts/import.scm: > 115:11 13 (guix-import . _) > In guix/scripts/import/pypi.scm: > 102:23 12 (guix-import-pypi . _) > In guix/memoization.scm: > 98:0 11 (_ # ("httpie") _) > In unknown file: > 10 (_ # =E2=80=A6) > In ice-9/boot-9.scm: > 829:9 9 (catch _ _ # =E2=80=A6) > In guix/utils.scm: > 635:8 8 (call-with-temporary-output-file _) > In guix/import/pypi.scm: > 384:25 7 (_ "/tmp/guix-file.A9OwRK" _) > In guix/utils.scm: > 635:8 6 (call-with-temporary-output-file #) > In guix/import/utils.scm: > 133:10 5 (_ "/tmp/guix-file.jFzPxe" _) > 123:4 4 (url-fetch _ _) > In guix/build/download.scm: > 763:4 3 (url-fetch "/tmp/guix-file.A9OwRK" "/tmp/guix-file.jFz=E2=80= =A6" =E2=80=A6) > In srfi/srfi-1.scm: > 679:15 2 (append-map _ _ . _) > 592:17 1 (map1 (#f)) > In guix/build/download.scm: > 728:8 0 (maybe-expand-mirrors _ _) > > guix/build/download.scm:728:8: In procedure maybe-expand-mirrors: > In procedure struct_vtable: Wrong type argument in position 1 (expecting = struct): #f The key here is the message =E2=80=9CFailed to extract [=E2=80=A6] METADATA= from wheel=E2=80=9D. When that happens, I think we miss too much information to do anything sensible. Maxim, do you confirm? If you add =E2=80=98unzip=E2=80=99 to $PATH, the problem should vanish. We should probably process wheels & co. in derivations to avoid relying on tools that may or may not be in $PATH. Thoughts? Ludo=E2=80=99.