From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:8:6d80::]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id 21/yBMhGXmA8OwAAgWs5BA (envelope-from ) for ; Fri, 26 Mar 2021 21:40:40 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id gDxLOcdGXmDKCQAAB5/wlQ (envelope-from ) for ; Fri, 26 Mar 2021 20:40:39 +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 5A32F1A43D for ; Fri, 26 Mar 2021 21:40:39 +0100 (CET) Received: from localhost ([::1]:52396 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lPtG1-0003pI-B0 for larch@yhetil.org; Fri, 26 Mar 2021 16:40:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33724) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lPsxV-0007R8-Nt for guix-devel@gnu.org; Fri, 26 Mar 2021 16:21:30 -0400 Received: from mx1.riseup.net ([198.252.153.129]:35410) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lPsxT-0006tL-5G for guix-devel@gnu.org; Fri, 26 Mar 2021 16:21:29 -0400 Received: from fews1.riseup.net (fews1-pn.riseup.net [10.0.1.83]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client CN "*.riseup.net", Issuer "Sectigo RSA Domain Validation Secure Server CA" (not verified)) by mx1.riseup.net (Postfix) with ESMTPS id 4F6YJz6nCNzDxny; Fri, 26 Mar 2021 13:21:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1616790084; bh=QlnEg9ZVVltqHdVmay9XB/+f0Cf1EjZjnmiIfptjKTs=; h=From:To:Subject:References:Date:In-Reply-To:From; b=paEmFAqhAGGkB88A4gdpGq/MeNXWftJM1XNxblyD4gt7vlFmpIwPp9ReMse0Y0knP ynb+D9urecxThRgPpgvPes44I6fa4ROwiAbLsEYd/eOQhY9Kk1FYhXQO18In8aFBM8 9NN1KMhY4SaodAf3/foee8HjctvyUfGqUJfIpzpE= X-Riseup-User-ID: 99CF308F37C89F8B929D3285040BFA7852E64C31687BDA3FEE107C5F98D4C056 Received: from hyperion (unknown [181.46.252.31]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by fews1.riseup.net (Postfix) with ESMTPSA id 4F6YJy75XNz5wGH; Fri, 26 Mar 2021 13:21:22 -0700 (PDT) From: c4t0 To: guix-devel@gnu.org, zimoun Subject: Re: guix import hackage fails with errors, and failed tests References: <87mtut7a6a.fsf@riseup.net> <874kh07317.fsf@riseup.net> <86o8f8b6ih.fsf@gmail.com> <87wntv597f.fsf@riseup.net> <86czvmcyz1.fsf@gmail.com> Date: Fri, 26 Mar 2021 17:21:19 -0300 In-Reply-To: <86czvmcyz1.fsf@gmail.com> (zimoun's message of "Fri, 26 Mar 2021 05:37:06 +0100") Message-ID: <871rc1u0n4.fsf@riseup.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=198.252.153.129; envelope-from=c4t0@riseup.net; helo=mx1.riseup.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list 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+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1616791239; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=AoE2x4dyfoQS8+mAr4mH3aZ2GOausQqOtzbufGdisSg=; b=G8s7IPJy3LKf5yzvsDkbuxHUC3VzjlBqZDlBEaE6ixmPx/0PIewl6RJDeqBj6iDnw0Pgg/ +JJuAQzCso4yX+egmZJ4WQCo9ag1LZ4r2/bLp409iMMMOYkmZYQhg1K9Lmo0Gp4w5Ec+ay Yq/IWKLjlHP4ZW52Sbd9Y/AJIGiAAgD9dnQ4R5u8nrKd3t+mF5f+/Xdg6A+SMpKBH2R+BP O9CZ65BS5+8HyC0IWn7xC0oZM0ZkJN2uRKaxoUOQreaRKd8PWk4sMjQ5fpFxAjK0ACoWov KiVBHlwgqKh4Huvx08FVv1aXjkONEt2fy9du98YN8O6kmQWHghW00S3PweCZJw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1616791239; a=rsa-sha256; cv=none; b=Q5uVVdrS2cgcG83tKeuSx2a8HyylbvlZBfpm0Su3GuPzPxcEt1+qja70R68u/+mN9bJuU7 9rSBezqqXQXfbNjICk3ww1Bl2nI0CSibECXrax8M2Jty9rD8be67OonUiTiF1gLf55XYF0 IIKI/On7qKW2FFdy056eIh/D64Nom/bHXApU1FyRUwthBiRJV8Uu0VgqHWDnF+Meg+ldM6 zPAjttMGorrObY/btOm06OtwhV3ZoOqWlr94ldi4I2BCvn2kQRYKnpitmKF6LG5NH4r1Ku Q8sXj81kyssxhiut0VqXlCHT3bNJ6eaUH1D8gemQN8KbLp0C11JIOOkJR+OKFg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=riseup.net header.s=squak header.b=paEmFAqh; dmarc=pass (policy=none) header.from=riseup.net; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: -3.12 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=riseup.net header.s=squak header.b=paEmFAqh; dmarc=pass (policy=none) header.from=riseup.net; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: 5A32F1A43D X-Spam-Score: -3.12 X-Migadu-Scanner: scn0.migadu.com X-TUID: KsUK5RmCaz1o Hello! zimoun writes: > Hi, > > On Thu, 25 Mar 2021 at 16:23, c4t0 wrote: >> zimoun writes: > >>> The issue with this is that Guix would somehow depend on Haskell. And >>> it would not happen: GHC is not bootstrappable, is huge, etc. >> >> I get the point of bootstrappable guix, and yes GHC is really huge, but >> if you're importing a haskell package, doesn't make sense to require the >> haskell ecosystem? you'll be having it installed anyways... >> >> I don't see a problem from the user pov, but I agree with you that is >> bad to require a haskell package at testing time. > > Your mean from the Guix user using Haskell point of view where they > already has this huge =E2=80=9Cguix size cabal-install=E2=80=9D. yes it's big; but mostly ghc storage total = self /gnu/store/wkhglgmlz28kpkd3ky7f3kfjkxmvyb10-ghc-8.6.5 1639.2 1= 358.0 79.7% ... /gnu/store/h9lmnjq7ip6fgpxyj3akjybx3dam218d-cabal-install-2.4.0.0 1703.1 = 10.2 0.6% I'll have to ammend my self, it's no really that bad at testing time, the problem is as you correctly said: > What about the Guix > users point of view who are not using Haskell? That=E2=80=99s why Guix d= oes not > depend on per language tools for the importers. We can consider the argument backwards. If a user is not using haskell, is not even packaging software, why make him have import-code at all? or why shipping autotools when we can do a parser and macro transformers in guile-scheme, and so on? I'm pushing it to make the point here, don't get me wrong; it's obvious that we won't be reimplement gcc in guile ever. in emacs we have autoloads. Maybe 'guix import hackage ...' should then, and only then install the necesary dependencies. Or print a warning that it'll use a scheme parser and that you can have a native one installing X. btw, I've made that cabal.scm use a command line utility for the patch, and it fails with a warning if something is wrong and continues to parse with the scheme parser. That because it only formats a file. But the idea is similar, it only uses it when it available. For testing, well, you should have it to address the bugs that it solves; otherwise you can do without. we already do this with cpan: "If Perl is available in the store, then the =E2=80=98corelist=E2=80=99 utility will be used to filter core modules = out of the list of dependencies." quoted from the manual. it does something really better that I did though, it checks the store: (define %corelist (delay (let* ((perl (with-store store (derivation->output-path (package-derivation store (perl-package))))) (core (string-append perl "/bin/corelist"))) (and (access? core X_OK) core)))) =20=20=20=20=20=20=20=20=20=20=20 > Without speaking that > Guix runs on many architectures other than x86_64. > the same applies, if is using haskell chances are that it has x86. The status for arm is not so bad now a days https://www.haskell.org/ghc/blog/20200515-ghc-on-arm.html otherwise it won't make much sense to use 'guix import hackage' but it could use the scheme imp. It's true though that we couldn't do it with FFI, at least not without much= of a hassle. > >> so... maybe a package that leverages the import system *and* the haskell >> ecosystem to aid the haskell package mantainers? >> >> what would be a good idea to leverage the other packaging system tools >> to import packages to guix with out making guix humongous? >> >> can we have a module with importers that augment the guix 'native' ones >> with foreign tools? > > Well, Guix provides an extension mechanism, see GUIX_EXTENSIONS_PATH. > Maybe it is the entry point for what you would like to have. > Are you refering to GUIX_PACKAGE_PATH? Lastly, programmers that know about parsers are a subset of the ones that can do api plumbering. It's been almost two years since this bug https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D35743 this one has a delay of three years until it solved: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D23961 and this one, has been 4 years since open with out much progress. https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D25138 I didn't do a statistical analysis, and it can be other reason -maybe nobody cares about haskell in guix and they are using nix?- but I think that these issues don't get fixed bacause we need to modify a parser. btw I'm not arguing to push my patch, it's rather hacky, but to initiate a discussion that can address this to the future. I'm even willing to try to tackle the parser. Saludos! COD.