From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id 8LSeJV7n+GMWkgAAbAwnHQ (envelope-from ) for ; Fri, 24 Feb 2023 17:35:42 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id IL6wJV7n+GOZQgAA9RJhRA (envelope-from ) for ; Fri, 24 Feb 2023 17:35:42 +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 4D92F2F8F for ; Fri, 24 Feb 2023 17:35:42 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pVb2V-0001tj-3O; Fri, 24 Feb 2023 11:35:19 -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 1pVb2T-0001sq-FW for guix-devel@gnu.org; Fri, 24 Feb 2023 11:35:17 -0500 Received: from 15.mo583.mail-out.ovh.net ([178.33.107.29]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pVb2R-0003Tx-6c for guix-devel@gnu.org; Fri, 24 Feb 2023 11:35:16 -0500 Received: from director1.ghost.mail-out.ovh.net (unknown [10.108.4.73]) by mo583.mail-out.ovh.net (Postfix) with ESMTP id B22DC265CF for ; Fri, 24 Feb 2023 16:35:02 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-b8m72 (unknown [10.110.171.46]) by director1.ghost.mail-out.ovh.net (Postfix) with ESMTPS id DB5D41FE5E; Fri, 24 Feb 2023 16:35:00 +0000 (UTC) Received: from ngraves.fr ([37.59.142.109]) by ghost-submission-6684bf9d7b-b8m72 with ESMTPSA id dE2lOTTn+GNAQQEA5TlUkQ (envelope-from ); Fri, 24 Feb 2023 16:35:00 +0000 X-OVh-ClientIp: 81.67.140.142 To: guix-devel@gnu.org Cc: zimoun , Jean-Baptiste Volatier , =?utf-8?Q?Nicol=C3=B2?= Balzarotti , Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Follow-up on julia import script Date: Fri, 24 Feb 2023 17:35:00 +0100 Message-ID: <87a61358ej.fsf@ngraves.fr> MIME-Version: 1.0 Content-Type: text/plain X-Ovh-Tracer-Id: 16660503873588486877 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: -100 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrudekfedgkeehucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkgggtsehttdertddttddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepvdeftefgudejkefhveehkeffuddtfefhudeuveekgeekkefhveefudetueduueelnecuffhomhgrihhnpehgihhtlhgrsgdrtghomhdpshhrrdhhthenucfkphepuddvjedrtddrtddruddpfeejrdehledrudegvddruddtleenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepghhuihigqdguvghvvghlsehgnhhurdhorhhgpdfovfetjfhoshhtpehmohehkeefpdhmohguvgepshhmthhpohhuth Received-SPF: pass client-ip=178.33.107.29; envelope-from=ngraves@ngraves.fr; helo=15.mo583.mail-out.ovh.net X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=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.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves From: Nicolas Graves via "Development of GNU Guix and the GNU System distribution." Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1677256542; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:list-id:list-help:list-unsubscribe: list-subscribe:list-post; bh=lGRv27YOcpdfAj276c7J8Yz1/StwPwOQNCr6SZoFjr0=; b=PuEhe48bWquOvNkYy1ux0ZGrsYrG6kd/U0CJyz5UDNaS+RxTtudwKCID6XAtTCF2hl2DOU omd0G7U5j+QY6/HHWiIkL2xbK4Yz6pXyYSdIVX/n4H14w/hoRJmC2TzCljBSSDQ0bcoXN/ 809oSJ06gOL3mD0qNCmfnKH0onQe3W0hUnVZgClKYF/FR9Vida5z0Q9EFfSwDdRc8AwyFm wSUldYokuPrDkTA8KLfgVgzEdc1OSTCGMEjdwwjBRSU8N0dYB5QlzCff+M/uoAeYtJnVrT J56biFyKUlQCEexdO1bUxlycXdAcHUVjTFh3NkWVdfwSO125GBDr95gUWbZ5+A== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; 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"; dmarc=pass (policy=none) header.from=gnu.org ARC-Seal: i=1; s=key1; d=yhetil.org; t=1677256542; a=rsa-sha256; cv=none; b=GCBSV0ml1iLt0xpX5zHLqcqqRoTaD/Ajh1V57GYNLn80MdsKStN5a7/Oav6DZbekZx6vLE k4C1Rlvthln/Sq43zf96Ue0VHtEb/Fp8jcx35oRFFKNsNOo3318NBAUU1wiWmvsxeO3Wvt DDcE95vl1LynjrB/l1qVi343z8c9CebvVt9VuoqbROn8iilEPYAWVjPU8mNf5jjb8vYxfU VXvuNfwpBiPdVWSyRbRrNLblS6QB873S/zlAeg7nde8lb+t5swaOnSuVkuYshRTM4Sljnq kCqfbZGNe9nTKEvN63EctuphrPnEvr6MK4rs2nFRMmQPnhvGGZRdv1npU5zf+g== X-Migadu-Spam-Score: -2.72 Authentication-Results: aspmx1.migadu.com; dkim=none; 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"; dmarc=pass (policy=none) header.from=gnu.org X-Migadu-Queue-Id: 4D92F2F8F X-Spam-Score: -2.72 X-Migadu-Scanner: scn1.migadu.com X-TUID: vVd/cwy9hrcN Hi all, I asked a few questions today on the IRC channel about a julia import script. Just to summarize and be able to follow the subject later: - I was looking for a way to write a julia import script base on information in julia general package repository, which can be quite simple if we have a functional guile toml/ini parser included (I couldn't get my parser to work properly, but that might be fixable). - jvb shared his julia importer code here : https://gitlab.com/vjb/guix.jl - Apparently Nicolo also has a similer code. - jvb and zimoun defended that the Julia ecosystem evolves so quickly that writing a manual functional julia import script might be difficult to maintain, in particular because Julia uses an advanced resolver for its compatibilities. - My approach was a bit different but indeed didn't have the ambition to resolve compatibilities between packages (I need to check that but the check or the build phase should fail it packages are incompatible, thus when trying to build the imported package, we should now which packages should be updated if necessary). If we only restrain imports to the general package repository, then the task becomes much more simple : - from the package name, you can generate the uri of the following files - parse Project.toml to get source information - parse Versions.toml to get source hash information - parse Deps.toml to get information about dependencies Well there is no package description or such, but I think it makes a decent start for writing package information. These are all unnested toml/ini files, so if we manage to parse them with a simple function, I guess we could have such a small / limited importer. I do have the very beginning of a script here, but couldn't finish the parser : https://paste.sr.ht/~ngraves/bbeb74a720e717319344ee3c3e6ea477b378068f/manage - Maybe we could combine both by - using this limited importer if julia is not in the PATH - using a proper guix.jl importer if julia and the importer are present in the PATH or something like that ? I do not have a strong opinion about which option is more suitable, but would greatly profit from having a functional and supported julia import script. Sorry for inaccuracies if there are some, I do this from memory mostly. -- Best regards, Nicolas Graves