From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id 0IUaDcSQd2MJmgAAbAwnHQ (envelope-from ) for ; Fri, 18 Nov 2022 15:03:48 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id WAUJDcSQd2OjEwEA9RJhRA (envelope-from ) for ; Fri, 18 Nov 2022 15:03:48 +0100 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 8648639069 for ; Fri, 18 Nov 2022 15:03:47 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ow1xW-0001Mi-9t; Fri, 18 Nov 2022 09:03:10 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ow1xQ-0001M9-5t for guix-devel@gnu.org; Fri, 18 Nov 2022 09:03:08 -0500 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ow1xO-0006ZC-3f; Fri, 18 Nov 2022 09:03:03 -0500 Received: by mail-wr1-x42c.google.com with SMTP id d9so9358718wrm.13; Fri, 18 Nov 2022 06:03:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=U2cwLQkTXp+ps+mt1DxcncOJsFrBydGz9CZ3mCH7Qb4=; b=MaHyD6xXkX0BkfkT7R+CKV83m7YC842QRiffSBQK4EhP+lzzOfp3fknZWiq8cK8VB4 fOSaNIyri9xnVKrobv5PBKgDgMMx5qMQmPD7cSnlLNL15xIG9DU3JjuCN9+b8dM2MYD0 vddUEAs3VZfwJxKxEUpvxKLzBNRSpxpfEKPmOTZPBrwbJ3+DDmkqYXvWAPONhwGS3uvO 53YG/NxRImEVWKbOjN8T2HXsCiaDXkYvPJh+SvO5NibJzDsksyoiC03lUILfYaIo4PnB UWp0PqgUnD1z5No3K31Fx8mWS6PoT3Q+Qs+fSabHo6cHm4ceIdX19iCQSxYPmdKIfHNW d7Vw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=U2cwLQkTXp+ps+mt1DxcncOJsFrBydGz9CZ3mCH7Qb4=; b=rOhLMeSXyogqXwPxj0PxzkEw1TutZSyx95iZacBTFNTLSXas81FMLe7RK0M/BX5D7W u55KwJOjgmUy4OKl4PV56NhcR+0UtNYbSSViqDq/oW2bCKeDzMQWam5fJwUwQuDYQwMy Eak+t8v4p4f5eVAHth8PzIx9ZM0B/cL+1odvSY8Rpt3nE7TRRJWj5EOdW42ZFe7WBLi6 5sK3jIca4NBY8fVzOvcXzdhu9DjNwV2iqT9snaM59bgoz4Gsu4kvfRjrei5yvs+hF8jG TWw1+2NAanApJFnrO1ZNIsVDjPeM3D9XhrsLPEY2FqSSju8Auaxt4cpwVRQ3M8V13lc0 5PrA== X-Gm-Message-State: ANoB5pknbYfpDwSt9tvLAczqRwwuY1qBWUd2hV67BDjdR9FQH6N3h3ot XqmBOAPPeQrVS2cSFMtjmp8WPLQhQe4= X-Google-Smtp-Source: AA0mqf7Rd/5tJpqt3tr/a6RMOdF7zfmc+DZ50hUyCBZYvXxkWS1CKaAFsP3hJYpfXa3yYxClBkX5ZQ== X-Received: by 2002:adf:f54e:0:b0:241:c68b:6b41 with SMTP id j14-20020adff54e000000b00241c68b6b41mr443744wrp.95.1668780178722; Fri, 18 Nov 2022 06:02:58 -0800 (PST) Received: from lili (roam-nat-fw-prg-194-254-61-40.net.univ-paris-diderot.fr. [194.254.61.40]) by smtp.gmail.com with ESMTPSA id q6-20020a5d61c6000000b0022cce7689d3sm4391215wrv.36.2022.11.18.06.02.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Nov 2022 06:02:58 -0800 (PST) From: zimoun To: jgart , Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: Guix Devel Subject: Re: guix melpa mirror! In-Reply-To: <20221117190626.GB12202@dismail.de> References: <20221116070959.GB4217@dismail.de> <87edu1ipem.fsf@gnu.org> <20221117190626.GB12202@dismail.de> Date: Fri, 18 Nov 2022 09:20:25 +0100 Message-ID: <86cz9kk71y.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=zimon.toutoune@gmail.com; helo=mail-wr1-x42c.google.com X-Spam_score_int: -4 X-Spam_score: -0.5 X-Spam_bar: / X-Spam_report: (-0.5 / 5.0 requ) BAYES_00=-1.9, DATE_IN_PAST_03_06=1.592, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 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-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1668780227; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=U2cwLQkTXp+ps+mt1DxcncOJsFrBydGz9CZ3mCH7Qb4=; b=PTINiK8szXPuZrS6t+HhzAQT1Zsl+0JYNqKxiFOlb4SbzkQkU/J/8yYT1kR4UBsZJ7S9I9 zb9dWba49BD+vVXzJJr7IRLHD0SoJm3SdMi7k08scjgvlBOMxAX4r8SHuHwNvqcJovcGIO BzTqUM/j1/q+FIzoWNmw8yzdte9x1LtWYDhK4KdkPV6TxdhQqhgYAhY1V4hFH2dyaQohpV YsdEX7WfcwzWfHnrGfyug+Otnb+ustN2y8YUzJyOwWd5KUPN35F6ChitSGWXettP8yNc/H Ngzx6r3ni83KR/O6lvd5vW0gRXviesRMf5Rc903ba3xZYl4LQYFBkySYkEOjOA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1668780227; a=rsa-sha256; cv=none; b=hfWUkbBp2keitY7JzzXScEIzi5A9gGkSzaEL2JANUN36GJDFFhg99iy3ql07ODHMCafQBj ineMcImaB74RnV9xnZ3u8eyKkgksh8mPkqzNY9KmD6U6Be9PAHbWjDE3YD/125267ZATz2 Oz6NMeslEhCs99Um4BZrcTs4s5545jcg//E8t6ElMu5zz2cmVDT83lC8oq4JApvHOzOybp MK0bQBj1F1uda/q1DIcBn7jd3Z0KayGgwaII2T2vduaBP/1LkCFPUjN1MyPMmJiu2Of2Ys 4qVDyIoDJejsxCggn32yVTqRVB3fciWbWIl36Jtf3BcHDprWJauzFoxr0nAUQQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=MaHyD6xX; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -7.32 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=MaHyD6xX; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 8648639069 X-Spam-Score: -7.32 X-Migadu-Scanner: scn0.migadu.com X-TUID: lNuvmjCUNs+i --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi, On Thu, 17 Nov 2022 at 19:06, jgart wrote: > I would love for guix to have very powerful automated package creation > for all language ecosystems!=20 Well, it strongly depends on the quality of the targeted language ecosystem. For some, they provide enough metadata to rely on for good automatizing; for instance, R with CRAN or Bioconductor. Sadly, for many others ecosystem, they (upstream) do not provide enough metadata to automatically fill all the package fields. And some manual tweaks are required. For example, let count the number of packages that are tweaking their =E2=80=99arguments=E2=80=99 fields (from =E2=80=99#:tests? #f=E2=80=99 to c= omplex phases modifications). This is far from being a perfect metrics but it is a rough indication about upstream quality: if they provide clean package respecting their build system or if the package requires Guix adjustments. Well, I get: r : 2093 =3D 2093 =3D 1991 + 102=20 which is good (only ~5% require =E2=80=99arguments=E2=80=99 tweaks), but python : 2630 =3D 2630 =3D 803 + 1827 is bad (only ~31% do not require an =E2=80=99arguments=E2=80=99 tweak). About Emacs, it reads, emacs : 1222 =3D 1222 =3D 874 + 348=20 >From my point of view, it seems that it would be hard to have full automated Emacs packaging for Guix. Well, it requires some work to find some heuristics at importing (converting) time and that=E2=80=99s not straightforward, IMHO. Cheers, simon --8<---------------cut here---------------start------------->8--- $ guix repl -- arguments-vs-import.scm key : tot =3D tot =3D no-arguments + arguments ocaml : 57 =3D 57 =3D 0 + 57=20=20 haskell : 723 =3D 723 =3D 505 + 218=20 clojure : 11 =3D 11 =3D 0 + 11=20=20 qt : 226 =3D 226 =3D 98 + 128=20 copy : 105 =3D 105 =3D 1 + 104=20 maven : 1 =3D 1 =3D 0 + 1=20=20=20 node : 48 =3D 48 =3D 2 + 46=20=20 minetest-mod : 18 =3D 18 =3D 18 + 0=20=20=20 chicken : 9 =3D 9 =3D 0 + 9=20=20=20 emacs : 1222 =3D 1222 =3D 874 + 348=20 linux-module : 14 =3D 14 =3D 0 + 14=20=20 raw : 1 =3D 1 =3D 1 + 0=20=20=20 glib-or-gtk : 128 =3D 128 =3D 31 + 97=20=20 asdf/source : 659 =3D 659 =3D 553 + 106=20 dune : 226 =3D 226 =3D 39 + 187=20 go : 483 =3D 483 =3D 0 + 483=20 cmake : 1115 =3D 1115 =3D 92 + 1023 minify : 11 =3D 11 =3D 1 + 10=20=20 perl : 823 =3D 823 =3D 710 + 113=20 android-ndk : 11 =3D 11 =3D 0 + 11=20=20 waf : 25 =3D 25 =3D 0 + 25=20=20 trivial : 223 =3D 223 =3D 0 + 223=20 julia : 273 =3D 273 =3D 129 + 144=20 r : 2093 =3D 2093 =3D 1991 + 102=20 guile : 41 =3D 41 =3D 14 + 27=20=20 elm : 29 =3D 29 =3D 24 + 5=20=20=20 cargo : 3342 =3D 3342 =3D 195 + 3147 ruby : 475 =3D 475 =3D 80 + 395=20 rebar : 19 =3D 19 =3D 11 + 8=20=20=20 scons : 14 =3D 14 =3D 0 + 14=20=20 font : 85 =3D 85 =3D 61 + 24=20=20 rakudo : 21 =3D 21 =3D 10 + 11=20=20 gnu : 4241 =3D 4241 =3D 812 + 3429 asdf/ecl : 637 =3D 637 =3D 434 + 203=20 asdf/sbcl : 678 =3D 678 =3D 453 + 225=20 ant : 462 =3D 462 =3D 1 + 461=20 meson : 448 =3D 448 =3D 88 + 360=20 texlive : 143 =3D 143 =3D 0 + 143=20 python : 2630 =3D 2630 =3D 803 + 1827 --8<---------------cut here---------------end--------------->8--- --=-=-= Content-Type: text/plain Content-Disposition: inline; filename=arguments-vs-import.scm Content-Description: script.scm (use-modules (guix) (gnu) (ice-9 match)) (define table (make-hash-table)) (fold-packages (lambda (package result) (let ((bs (build-system-name (package-build-system package))) (arg (package-arguments package))) (match (hash-ref result bs) ((tot wo wi) (if (null? arg) (hash-set! result bs (list (1+ tot) (1+ wo) wi)) (hash-set! result bs (list (1+ tot) wo (1+ wi))))) (#f (if (null? arg) (hash-set! result bs (list 1 1 0)) (hash-set! result bs (list 1 0 1)))) (_ (format #t "Error: ~s~%" (package-name package)))) result)) table) (define fmt "~13s: ~4s = ~4s = ~4s + ~4s~%") (format #t fmt 'key 'tot 'tot 'no-arguments 'arguments) (hash-for-each-handle (lambda (kv) (match kv ((key . value) (match value ((tot wo wi) (format #t fmt key (+ wo wi) tot wo wi)))))) table) --=-=-=--