Message ID | zL3FF0tz70-22vGCL_3QsD8r6KPwAi71ftRNQ_HtEXsimU_tWYrKu6F9nqaPDRmsUj7LplbVD8SPLk8NJjnV2x4ie2F_UHYFqbIT8XZtBjM=@jeandudey.tech |
---|---|
Headers |
Return-Path: <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org> X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 70B6827BBEA; Wed, 10 Aug 2022 12:50:44 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 3BC9727BBE9 for <patchwork@mira.cbaines.net>; Wed, 10 Aug 2022 12:50:44 +0100 (BST) Received: from localhost ([::1]:49796 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org>) id 1oLkEV-0004Oc-A7 for patchwork@mira.cbaines.net; Wed, 10 Aug 2022 07:50:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58388) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1oLkCt-0004MJ-6H for guix-patches@gnu.org; Wed, 10 Aug 2022 07:49:12 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:56576) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1oLkCs-000224-1O for guix-patches@gnu.org; Wed, 10 Aug 2022 07:49:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1oLkCr-0006ci-Td for guix-patches@gnu.org; Wed, 10 Aug 2022 07:49:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#57111] [PATCH 00/56] gnu: crates-io: Allow build of various rust packages. Resent-From: Jean Pierre De Jesus DIAZ <me@jeandudey.tech> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org> Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 10 Aug 2022 11:49:01 +0000 Resent-Message-ID: <handler.57111.B.166013212125416@debbugs.gnu.org> Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 57111 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57111@debbugs.gnu.org Cc: Maxime Devos <maximedevos@telenet.be> X-Debbugs-Original-To: "guix-patches@gnu.org" <guix-patches@gnu.org> Received: via spool by submit@debbugs.gnu.org id=B.166013212125416 (code B ref -1); Wed, 10 Aug 2022 11:49:01 +0000 Received: (at submit) by debbugs.gnu.org; 10 Aug 2022 11:48:41 +0000 Received: from localhost ([127.0.0.1]:46317 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>) id 1oLkCW-0006br-Nz for submit@debbugs.gnu.org; Wed, 10 Aug 2022 07:48:40 -0400 Received: from lists.gnu.org ([209.51.188.17]:36744) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <me@jeandudey.tech>) id 1oLkCS-0006bb-IX for submit@debbugs.gnu.org; Wed, 10 Aug 2022 07:48:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58230) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <me@jeandudey.tech>) id 1oLkCO-00047i-6u for guix-patches@gnu.org; Wed, 10 Aug 2022 07:48:36 -0400 Received: from mail-4018.proton.ch ([185.70.40.18]:45283) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <me@jeandudey.tech>) id 1oLkCK-0001yD-71 for guix-patches@gnu.org; Wed, 10 Aug 2022 07:48:31 -0400 Date: Wed, 10 Aug 2022 11:48:16 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jeandudey.tech; s=protonmail3; t=1660132105; x=1660391305; bh=OZdqfyacrZpaaOcq8Dl0CzYqEmhzKcGq2Q/kI6e6c+A=; h=Date:To:From:Cc:Reply-To:Subject:Message-ID:Feedback-ID:From:To: Cc:Date:Subject:Reply-To:Feedback-ID:Message-ID; b=EjW7pTjsrMpDxMeS37IayLw4OyDe9wIb7fwLMtPHpbjD3m6dhBoWDS6Qp8hxM+PR5 fA9W0gdCQjY+E0O3tdwYYWc3TeWRZTuYxPtIfIakBaRGAGZv6q29muVXnOuAe2LRej oOI8IGUwtb7dlWC4tJKouuc976xblNW30VM3HuPShGzpFqWRG8ErU52dUy/Cfpr3H0 S5LrOg1sOX30RU2OiEFNXU1nWNbnNSZxpkmGCbokil9SS1lwb1NFbnjpSe4zKNFUK3 OdnriXs+FGbb9tc3F7+xVXdRvRVHjMLmUOyVmL9lG3HBvmhCgoTrkuDjjOPN1TFnVH UB1ho0MxCg5Cg== Message-ID: <zL3FF0tz70-22vGCL_3QsD8r6KPwAi71ftRNQ_HtEXsimU_tWYrKu6F9nqaPDRmsUj7LplbVD8SPLk8NJjnV2x4ie2F_UHYFqbIT8XZtBjM=@jeandudey.tech> Feedback-ID: 20187791:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=185.70.40.18; envelope-from=me@jeandudey.tech; helo=mail-4018.proton.ch X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: <guix-patches.gnu.org> List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=unsubscribe> List-Archive: <https://lists.gnu.org/archive/html/guix-patches> List-Post: <mailto:guix-patches@gnu.org> List-Help: <mailto:guix-patches-request@gnu.org?subject=help> List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=subscribe> Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org> Reply-to: Jean Pierre De Jesus DIAZ <me@jeandudey.tech> X-ACL-Warn: , Jean Pierre De Jesus DIAZ via Guix-patches <guix-patches@gnu.org> From: Jean Pierre De Jesus DIAZ via Guix-patches via <guix-patches@gnu.org> X-getmail-retrieved-from-mailbox: Patches |
Series |
gnu: crates-io: Allow build of various rust packages.
|
|
Message
Jean Pierre De Jesus DIAZ
Aug. 10, 2022, 11:48 a.m. UTC
This patch series allows cargo-build-system to fully build and test some of these packages. These are small rust packages though. Probably were added without verifying if the crate could get built or not. So these patches are mostly one liners removing `#:skip-build? #t'. I did a quick pass over the crates to find the simpler ones, there are more for sure but don't want to send hundreds of patches. I'll tackle these easy ones first and then I'll proceed with most complex ones on further patches that require adding new packages and modifying existing ones. I've tested all of these crates on x86_64 and they build without problems. Maxime I've CCed you as this could relate to antioxidant (as it requires crates to build, am I right?). — Jean-Pierre De Jesus DIAZ
Comments
On 10-08-2022 13:48, Jean Pierre De Jesus DIAZ wrote: > This patch series allows cargo-build-system to fully build and test > some of these packages. These are small rust packages though. > > Probably were added without verifying if the crate could get built or > not. So these patches are mostly one liners removing `#:skip-build? #t'. > [...] > Maxime I've CCed you as this could relate to antioxidant (as it > requires crates to build, am I right?). We currently skip-build? #t to reduce build time with the inefficient cargo-build-system. To avoid wasting energy, I recommend delaying such patches until we have a matching _efficient_ build system. In antioxidant, I've noticed there are often missing dependencies (test-only or otherwise), I have a list '%extra-inputs' that contains the required information for adding them Small sample: ;; TODO: add these (upstream) or teach "guix style" to add them. ;; Keep it sorted to find things in it easily! (define %extra-inputs `(("alacritty" ; forgot the reason for adding the dependency (("rust-structopt" ,(p rust-structopt-0.3)))) ("castor" ;; TODO: add them in upstream Guix (("rust-gio" ,(@ (gnu packages crates-gtk) rust-gio-0.14)) [...])) [...])) Currently, 95% of the rust packages compile (and test successfully, except for tests I've manually disabled), according to the antiox jobset at ci.guix.gnu.org. As such, you are kind of duplicating work already done. If you want to help with fixing the build inputs, I recommend using the information (currently 1498 lines) I've already gathered in antioxidant-packages.scm (%extra-inputs), by teaching "guix style" to automatically add dependencies listed in %extra-inputs. Also keep %removed-dependencies and %disable-tests in mind, sometimes crates must _not_ be added, to avoid cycles (those cycles are resolved in cargo-build-system, but cannot be in antioxidant). Greetings, Maxime.
>We currently skip-build? #t to reduce build time with the inefficient >cargo-build-system. To avoid wasting energy, I recommend delaying such >patches until we have a matching _efficient_ build system. This should be written somewhere IMHO if not done already, thought of removing the `#:skip-build?` for the crates I could find to solve build and dependency issues where possible as that's the intention of the (guix)Rust Crates section of the manual: https://guix.gnu.org/manual/en/html_node/Rust-Crates.html — Jean-Pierre De Jesus DIAZ Senior Software Engineer ------- Original Message ------- On Wednesday, August 10th, 2022 at 8:32 PM, Maxime Devos <maximedevos@telenet.be> wrote: > > On 10-08-2022 13:48, Jean Pierre De Jesus DIAZ wrote: > > > This patch series allows cargo-build-system to fully build and test > > some of these packages. These are small rust packages though. > > > > Probably were added without verifying if the crate could get built or > > not. So these patches are mostly one liners removing `#:skip-build? #t'. > > [...] > > Maxime I've CCed you as this could relate to antioxidant (as it > > requires crates to build, am I right?). > > > We currently skip-build? #t to reduce build time with the inefficient > cargo-build-system. To avoid wasting energy, I recommend delaying such > patches until we have a matching efficient build system. > > In antioxidant, I've noticed there are often missing dependencies > (test-only or otherwise), I have a list '%extra-inputs' that contains > the required information for adding them Small sample: > > ;; TODO: add these (upstream) or teach "guix style" to add them. > ;; Keep it sorted to find things in it easily! > (define %extra-inputs > `(("alacritty" ; forgot the reason for adding the dependency > (("rust-structopt" ,(p rust-structopt-0.3)))) > ("castor" ;; TODO: add them in upstream Guix > (("rust-gio" ,(@ (gnu packages crates-gtk) rust-gio-0.14)) > [...])) > [...])) > > Currently, 95% of the rust packages compile (and test successfully, > except for tests I've manually disabled), according to the antiox jobset > at ci.guix.gnu.org. > > As such, you are kind of duplicating work already done. > > If you want to help with fixing the build inputs, I recommend using the > information (currently 1498 lines) I've already gathered in > antioxidant-packages.scm (%extra-inputs), by teaching "guix style" to > automatically add dependencies listed in %extra-inputs. Also keep > %removed-dependencies and %disable-tests in mind, sometimes crates must > not be added, to avoid cycles (those cycles are resolved in > cargo-build-system, but cannot be in antioxidant). > > Greetings, > Maxime.
On Wed, Aug 10, 2022 at 11:48:16AM +0000, Jean Pierre De Jesus DIAZ via Guix-patches via wrote: > This patch series allows cargo-build-system to fully build and test > some of these packages. These are small rust packages though. > > Probably were added without verifying if the crate could get built or > not. So these patches are mostly one liners removing `#:skip-build? #t'. > > I did a quick pass over the crates to find the simpler ones, there are > more for sure but don't want to send hundreds of patches. I'll tackle > these easy ones first and then I'll proceed with most complex ones > on further patches that require adding new packages and modifying > existing ones. > > I've tested all of these crates on x86_64 and they build without > problems. > > Maxime I've CCed you as this could relate to antioxidant (as it > requires crates to build, am I right?). > > — > Jean-Pierre De Jesus DIAZ Better late than never, 23 of the patches applied cleanly, the rest either were changed to build or were removed. Patches applied to the rust-team branch.