From patchwork Wed Mar 15 12:51:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 48035 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id EC46C16B5A; Wed, 15 Mar 2023 12:54:04 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,URIBL_BLOCKED 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 8D76C16C76 for ; Wed, 15 Mar 2023 12:54:00 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcQbs-0003PF-PH; Wed, 15 Mar 2023 08:52:04 -0400 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 1pcQbr-0003OL-3M for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pcQbq-00038K-Re for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pcQbq-0001Y3-Hc for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62202] [PATCH 01/21] import: juliahub: first script draft. References: <871qlq89kz.fsf@ngraves.fr> In-Reply-To: <871qlq89kz.fsf@ngraves.fr> Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 15 Mar 2023 12:52:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62202 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62202@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62202-submit@debbugs.gnu.org id=B62202.16788847055811 (code B ref 62202); Wed, 15 Mar 2023 12:52:02 +0000 Received: (at 62202) by debbugs.gnu.org; 15 Mar 2023 12:51:45 +0000 Received: from localhost ([127.0.0.1]:39290 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbW-0001VO-0I for submit@debbugs.gnu.org; Wed, 15 Mar 2023 08:51:45 -0400 Received: from 12.mo550.mail-out.ovh.net ([87.98.162.229]:37163) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbS-0001VD-SL for 62202@debbugs.gnu.org; Wed, 15 Mar 2023 08:51:40 -0400 Received: from director7.ghost.mail-out.ovh.net (unknown [10.109.156.73]) by mo550.mail-out.ovh.net (Postfix) with ESMTP id 790D8260F8 for <62202@debbugs.gnu.org>; Wed, 15 Mar 2023 12:51:37 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-r6rck (unknown [10.111.208.134]) by director7.ghost.mail-out.ovh.net (Postfix) with ESMTPS id CDC3A1FE59; Wed, 15 Mar 2023 12:51:35 +0000 (UTC) Received: from ngraves.fr ([37.59.142.108]) by ghost-submission-6684bf9d7b-r6rck with ESMTPSA id 44hPNVe/EWSQBgAA9fVuhw (envelope-from ); Wed, 15 Mar 2023 12:51:35 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-108S002b48fa032-bfe0-4244-9314-0f7f72124386, F74D9BBE9ED44B45FF66447495DD0B0753EB5D4A) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Wed, 15 Mar 2023 13:51:10 +0100 Message-Id: <20230315125130.23041-1-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 X-Ovh-Tracer-Id: 13788051735402439394 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvkedggeefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffogggtgfesthekredtredtjeenucfhrhhomheppfhitgholhgrshcuifhrrghvvghsuceonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqeenucggtffrrghtthgvrhhnpeelvdetleduhffgtdefffeltddugffhhffftddvieelueefffelheffgfejtdfgleenucffohhmrghinhepghhnuhdrohhrghdpjhhulhhirghhuhgsrdgtohhmpdhjuhhlihgrhhhusgdrohhrghenucfkphepuddvjedrtddrtddruddpfeejrdehledrudegvddruddtkeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepiedvvddtvdesuggvsggsuhhgshdrghhnuhdrohhrghdpoffvtefjohhsthepmhhoheehtddpmhhouggvpehsmhhtphhouhht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- guix/import/go.scm | 6 +- guix/import/juliahub.scm | 183 +++++++++++++++++++++++++++++++ guix/scripts/import.scm | 2 +- guix/scripts/import/juliahub.scm | 107 ++++++++++++++++++ 4 files changed, 295 insertions(+), 3 deletions(-) create mode 100644 guix/import/juliahub.scm create mode 100644 guix/scripts/import/juliahub.scm diff --git a/guix/import/go.scm b/guix/import/go.scm index 69937f8a4d..f264715fbd 100644 --- a/guix/import/go.scm +++ b/guix/import/go.scm @@ -503,9 +503,11 @@ (define (transform-version version) '(string-append "v" version) '(go-version->git-ref version)))) -(define (vcs->origin vcs-type vcs-repo-url version) +(define* (vcs->origin vcs-type vcs-repo-url version + #:optional transform-version) "Generate the `origin' block of a package depending on what type of source -control system is being used." +control system is being used. Optionally use the function TRANSFORM-VERSION +which takes version as an input." (case vcs-type ((git) (git->origin vcs-repo-url `(tag-or-commit . ,version) transform-version)) diff --git a/guix/import/juliahub.scm b/guix/import/juliahub.scm new file mode 100644 index 0000000000..efe6abbb24 --- /dev/null +++ b/guix/import/juliahub.scm @@ -0,0 +1,183 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2023 Nicolas Graves +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (guix import juliahub) + #:use-module (ice-9 textual-ports) + #:use-module (ice-9 regex) + #:use-module (ice-9 match) + #:use-module (ice-9 string-fun) + #:use-module (srfi srfi-9) + #:use-module (srfi srfi-1) + #:use-module (guix http-client) + #:use-module (guix import utils) + #:use-module (guix import json) + #:use-module (guix base16) + #:use-module (guix base32) + #:use-module (guix packages) + #:use-module (guix upstream) + #:use-module (json) + #:use-module ((guix licenses) #:prefix license:) + + #:export (juliahub->guix-package)) + +(define (juliahub-uri name) + (let* ((url (string-append "https://docs.juliahub.com/" name "/")) + (port (http-fetch url #:text? #t)) + (_ (get-line port)) + (meta (get-line port)) + (regex "url=[a-zA-Z0-9]{5}\\/[0-9\\.]*") + (redirect (match:substring (string-match regex meta)))) + (close-port port) + (string-drop redirect 4))) + +(define (juliahub-url name) + (let* ((url (string-append "https://docs.juliahub.com/" name "/")) + (uri (juliahub-uri name))) + (string-append url uri "/"))) + +(define (juliahub-slug-version name) + (let* ((uri (juliahub-uri name)) + (slug (string-take uri 5)) + (latest-version (string-drop uri 6))) + `(,slug ,latest-version))) + +(define (json->juliahub-direct-dependencies vector) + (if (vector? vector) + (filter-map + (lambda (el) + (let ((dep (json->juliahub-dependency el))) + (if (juliahub-dependency-direct? dep) + dep + #f))) + (vector->list vector)))) + +;; Julia package. +(define-json-mapping make-juliahub-package juliahub-package? + json->juliahub-package + (homepage juliahub-package-homepage) ;string + (readme juliahub-package-readme) ;string + ;; (slug juliahub-package-slug) ;string + (version juliahub-package-version) ;string + (description juliahub-package-description) ;string + (dependencies + juliahub-package-dependencies "deps" + json->juliahub-direct-dependencies) ;list of + ;; (lambda (vector) + ;; (map json->juliahub-dependency (vector->list vector)))) + (url juliahub-package-url) ;string + (uuid juliahub-package-uuid) ;string + (license juliahub-package-license)) ;string + +(define-json-mapping + make-juliahub-dependency juliahub-dependency? + json->juliahub-dependency + (direct? juliahub-dependency-direct? "direct") ;boolean + (name juliahub-dependency-name) ;string + (uuid juliahub-dependency-uuid) ;string + (versions juliahub-dependency-versions "versions" vector->list)) ;list of strings + ;; (slug juliahub-dependency-slug) ;string + +(define (julia-name->guix-name name) + (string-append "julia-" (snake-case name))) + +(define* (juliahub-fetch name #:key (version #f)) + "Return a record for package NAME, or #f on failure." + (and=> (json-fetch (string-append (juliahub-url name) "pkg.json")) + json->juliahub-package)) + +(define (make-julia-sexp name version uri hash home-page synopsis description + dependencies licenses) + "Return the `package' s-expression for a Julia package with the given NAME, +VERSION, URI, HASH, HOME-PAGE, DESCRIPTION, DEPENDENCIES, and LICENSES." + `(package + (name ,(julia-name->guix-name name)) + (version ,version) + (source (origin + (method url-fetch) + (uri ,uri) + (sha256 + (base32 + "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5" + ;; ,(bytevector->nix-base32-string hash) + )))) + (build-system julia-build-system) + ,@(if (null? dependencies) + '() + `((inputs + (list ,@(map (compose julia-name->guix-name juliahub-dependency-name) + dependencies))))) + (synopsis ,synopsis) + (description ,description) + (home-page ,home-page) + (license ,(match licenses + (() #f) + ((license) (license->symbol license)) + (_ `(list ,@(map license->symbol licenses))))))) + +(define* (juliahub->guix-package package-name + #:key version #:allow-other-keys) + "Fetch the metadata for PACKAGE-NAME from juliahub.org, and return the +`package' s-expression corresponding to that package, or #f on failure. +Optionally include a VERSION string to fetch a specific version juliahub." + (let ((package (if version + (juliahub-fetch package-name version) + (juliahub-fetch package-name)))) + (if package + (let* ((dependencies-names + (map juliahub-dependency-name + (juliahub-package-dependencies package))) + (licenses + (map spdx-string->license + (list (juliahub-package-license package))))) + (values (make-julia-sexp + package-name + (juliahub-package-version package) + (juliahub-package-url package) + "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5" + (juliahub-package-homepage package) + (juliahub-package-description package) + (beautify-description (juliahub-package-readme package)) + (juliahub-package-dependencies package) + licenses) + dependencies-names)) + (values #f '())))) + +(define* (import-release package #:key (version #f)) + "Return an for the latest release of PACKAGE." + (let* ((package-name (guix-package->juliahub-name package)) + (package (juliahub-fetch package-name)) + (version (or version (juliahub-version gem))) + (url (rubyjuliahubs-uri gem-name version))) + (upstream-source + (package (package-name package)) + (version version) + (urls (list url))))) + +(define %juliahub-updater + (upstream-updater + (name 'juliahub) + (description "Updater for Juliahub packages") + (pred juliahub-package?) + (import import-release))) + +(define* (juliahub-recursive-import package-name #:optional version) + (recursive-import package-name + #:repo '() + #:repo->guix-package juliahub->guix-package + #:guix-name ruby-package-name + #:version version)) diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm index f84a964a53..ef4e0b9cc6 100644 --- a/guix/scripts/import.scm +++ b/guix/scripts/import.scm @@ -47,7 +47,7 @@ (define %standard-import-options '()) (define importers '("gnu" "pypi" "cpan" "hackage" "stackage" "egg" "elpa" "gem" "go" "cran" "crate" "texlive" "json" "opam" - "minetest" "elm" "hexpm")) + "minetest" "elm" "hexpm" "juliahub")) (define (resolve-importer name) (let ((module (resolve-interface diff --git a/guix/scripts/import/juliahub.scm b/guix/scripts/import/juliahub.scm new file mode 100644 index 0000000000..1317c67aa3 --- /dev/null +++ b/guix/scripts/import/juliahub.scm @@ -0,0 +1,107 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2023 Nicolas Graves +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (guix scripts import juliahub) + #:use-module (guix ui) + #:use-module (guix utils) + #:use-module (guix scripts) + #:use-module (guix import juliahub) + #:use-module (guix scripts import) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-11) + #:use-module (srfi srfi-37) + #:use-module (ice-9 match) + #:use-module (ice-9 format) + #:use-module (ice-9 receive) + #:export (guix-import-juliahub)) + + +;;; +;;; Command-line options. +;;; + +(define %default-options + '()) + +(define (show-help) + (display (G_ "Usage: guix import juliahub PACKAGE-NAME[@VERSION] Import and +convert the Julia package for PACKAGE-NAME. Optionally, a version can be +specified after the at-sign (@) character.\n")) + (display (G_ " + -h, --help display this help and exit")) + (display (G_ " + -V, --version display version information and exit")) + (display (G_ " + -r, --recursive generate package expressions for all Gem packages\ + that are not yet in Guix")) + (newline) + (show-bug-report-information)) + +(define %options + ;; Specification of the command-line options. + (cons* (option '(#\h "help") #f #f + (lambda args + (show-help) + (exit 0))) + (option '(#\V "version") #f #f + (lambda args + (show-version-and-exit "guix import gem"))) + (option '(#\r "recursive") #f #f + (lambda (opt name arg result) + (alist-cons 'recursive #t result))) + %standard-import-options)) + + +;;; +;;; Entry point. +;;; + +(define (guix-import-juliahub . args) + (define (parse-options) + ;; Return the alist of option values. + (parse-command-line args %options (list %default-options) + #:build-options? #f)) + + (let* ((opts (parse-options)) + (args (filter-map (match-lambda + (('argument . value) + value) + (_ #f)) + (reverse opts)))) + (match args + ((spec) + (receive (package-name package-version) + (package-name->name+version spec) + (let ((code (if (assoc-ref opts 'recursive) + (map (match-lambda + ((and ('package ('name name) . rest) pkg) + `(define-public ,(string->symbol name) + ,pkg)) + (_ #f)) + (juliahub-recursive-import package-name package-version)) + (let ((sexp (juliahub->guix-package package-name #:version package-version))) + (if sexp sexp #f))))) + (match code + ((or #f '(#f)) + (leave (G_ "failed to download meta-data for package '~a'~%") + package-name)) + (_ code))))) + (() + (leave (G_ "too few arguments~%"))) + ((many ...) + (leave (G_ "too many arguments~%")))))) From patchwork Wed Mar 15 12:51:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 48017 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 868A416C76; Wed, 15 Mar 2023 12:52:34 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,URIBL_BLOCKED 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 57D6F16961 for ; Wed, 15 Mar 2023 12:52:33 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcQbu-0003Po-K5; Wed, 15 Mar 2023 08:52:07 -0400 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 1pcQbr-0003Oc-MZ for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pcQbr-00038U-AT for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pcQbr-0001YI-5W for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62202] [PATCH 02/21] import: utils: Change git->origin function to git->origin+version. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 15 Mar 2023 12:52:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62202 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62202@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62202-submit@debbugs.gnu.org id=B62202.16788847065825 (code B ref 62202); Wed, 15 Mar 2023 12:52:03 +0000 Received: (at 62202) by debbugs.gnu.org; 15 Mar 2023 12:51:46 +0000 Received: from localhost ([127.0.0.1]:39295 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbZ-0001Vh-9L for submit@debbugs.gnu.org; Wed, 15 Mar 2023 08:51:45 -0400 Received: from 7.mo560.mail-out.ovh.net ([188.165.48.182]:58983) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbV-0001VN-GV for 62202@debbugs.gnu.org; Wed, 15 Mar 2023 08:51:42 -0400 Received: from director9.ghost.mail-out.ovh.net (unknown [10.108.4.60]) by mo560.mail-out.ovh.net (Postfix) with ESMTP id C19E420C7E for <62202@debbugs.gnu.org>; Wed, 15 Mar 2023 12:51:39 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-lqxrt (unknown [10.110.115.9]) by director9.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 114611FE98; Wed, 15 Mar 2023 12:51:38 +0000 (UTC) Received: from ngraves.fr ([37.59.142.103]) by ghost-submission-6684bf9d7b-lqxrt with ESMTPSA id lnghCFq/EWTd1wAA847UKw (envelope-from ); Wed, 15 Mar 2023 12:51:38 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-103G005a188a3de-ed7c-44b7-9f37-8c222b24d13f, F74D9BBE9ED44B45FF66447495DD0B0753EB5D4A) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Wed, 15 Mar 2023 13:51:11 +0100 Message-Id: <20230315125130.23041-2-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315125130.23041-1-ngraves@ngraves.fr> References: <20230315125130.23041-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 13788614688387621602 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvkedggeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepfefgvdfhuedtffelffdvfefftdeffeefudfgfeegheffieeuueegvdduheefteffnecuffhomhgrihhnpehsphgugidrohhrghenucfkphepuddvjedrtddrtddruddpfeejrdehledrudegvddruddtfeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepiedvvddtvdesuggvsggsuhhgshdrghhnuhdrohhrghdpoffvtefjohhsthepmhhoheeitddpmhhouggvpehsmhhtphhouhht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- guix/import/go.scm | 2 +- guix/import/utils.scm | 50 +++++++++++++++++++++++++++---------------- 2 files changed, 33 insertions(+), 19 deletions(-) diff --git a/guix/import/go.scm b/guix/import/go.scm index f264715fbd..3be82ed164 100644 --- a/guix/import/go.scm +++ b/guix/import/go.scm @@ -510,7 +510,7 @@ (define* (vcs->origin vcs-type vcs-repo-url version which takes version as an input." (case vcs-type ((git) - (git->origin vcs-repo-url `(tag-or-commit . ,version) transform-version)) + (git->origin vcs-repo-url `(tag-or-commit . ,version) transform-version)) ((hg) `(origin (method hg-fetch) diff --git a/guix/import/utils.scm b/guix/import/utils.scm index 529d7f11f8..171dca54e8 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -65,6 +65,7 @@ (define-module (guix import utils) url-fetch guix-hash-url + git->origin+dir git->origin package-names->package-inputs @@ -156,9 +157,12 @@ (define (guix-hash-url filename) "Return the hash of FILENAME in nix-base32 format." (bytevector->nix-base32-string (file-sha256 filename))) -(define* (git->origin repo-url ref #:optional ref->commit) - "Generate the `origin' block of a package depending on the git source -control system. REPO-URL or REF can be null." +(define* (git->origin+dir repo-url ref #:optional ref->commit) + "Returns a generated `origin' block of a package depending on the git source +control system, and the directory in the store where the package has been +downloaded, in case further processing is necessary. REPO-URL or REF can be +null. REF->COMMIT can be a function or #t, in which case the commit matching +ref is used. If REF->COMMIT is not used, the value inside REF is used." (let-values (((directory commit) (with-store store (latest-repository-commit store repo-url #:ref ref)))) @@ -172,21 +176,31 @@ (define* (git->origin repo-url ref #:optional ref->commit) version) (_ (ref->commit version))))) - `(origin - (method git-fetch) - (uri (git-reference - (url ,(and (not (eq? repo-url 'null)) repo-url)) - (commit ,vcommit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - ,(if (pair? ref) - (bytevector->nix-base32-string - (file-hash* directory - ;; 'git-fetch' already filtered out the '.git' directory. - #:select? (const #true) - #:recursive? #true)) - #f))))))) + (values + `(origin + (method git-fetch) + (uri (git-reference + (url ,(and (not (eq? repo-url 'null)) repo-url)) + (commit ,vcommit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + ,(if (pair? ref) + (bytevector->nix-base32-string + (file-hash* directory + ;; 'git-fetch' already filtered out the '.git' directory. + #:select? (const #true) + #:recursive? #true)) + #f)))) + directory)))) + +(define* (git->origin repo-url ref #:optional ref->commit) + "Returns a generated `origin' block of a package depending on the git source +control system. REPO-URL or REF can be null. REF->COMMIT can be a function or +#t, in which case the commit matching ref is used. If REF->COMMIT is not used, +the value inside REF is used." + (let-values (((origin _) (git->origin+dir repo-url ref ref->commit))) + origin)) (define %spdx-license-identifiers ;; https://spdx.org/licenses/ From patchwork Wed Mar 15 12:51:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 48028 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id B9BFD16B5A; Wed, 15 Mar 2023 12:53:36 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,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 7187D16C76 for ; Wed, 15 Mar 2023 12:53:28 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcQby-0003RB-Ax; Wed, 15 Mar 2023 08:52:10 -0400 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 1pcQbs-0003Oy-C8 for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pcQbs-00038e-1q for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pcQbr-0001YY-S9 for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62202] [PATCH 03/21] import: juliahub: Add support for native-inputs. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 15 Mar 2023 12:52:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62202 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62202@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62202-submit@debbugs.gnu.org id=B62202.16788847085852 (code B ref 62202); Wed, 15 Mar 2023 12:52:03 +0000 Received: (at 62202) by debbugs.gnu.org; 15 Mar 2023 12:51:48 +0000 Received: from localhost ([127.0.0.1]:39299 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbb-0001WI-Vz for submit@debbugs.gnu.org; Wed, 15 Mar 2023 08:51:48 -0400 Received: from 4.mo576.mail-out.ovh.net ([46.105.42.102]:37665) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbX-0001VP-C8 for 62202@debbugs.gnu.org; Wed, 15 Mar 2023 08:51:44 -0400 Received: from director4.ghost.mail-out.ovh.net (unknown [10.109.146.166]) by mo576.mail-out.ovh.net (Postfix) with ESMTP id 6652926562 for <62202@debbugs.gnu.org>; Wed, 15 Mar 2023 12:51:41 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-r6rck (unknown [10.110.115.95]) by director4.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 016CD1FE9F; Wed, 15 Mar 2023 12:51:40 +0000 (UTC) Received: from ngraves.fr ([37.59.142.105]) by ghost-submission-6684bf9d7b-r6rck with ESMTPSA id YDEWBFy/EWSfBgAA9fVuhw (envelope-from ); Wed, 15 Mar 2023 12:51:40 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-105G0067c88f7f9-db12-40e4-ae65-071514e0176c, F74D9BBE9ED44B45FF66447495DD0B0753EB5D4A) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Wed, 15 Mar 2023 13:51:12 +0100 Message-Id: <20230315125130.23041-3-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315125130.23041-1-ngraves@ngraves.fr> References: <20230315125130.23041-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 13789177636127498978 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvkedggeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepleffjeetueethfefkeffffefvddukeejkefgleduiedthfekvefhiedvhfffgeegnecukfhppeduvdejrddtrddtrddupdefjedrheelrddugedvrddutdehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeeivddvtddvseguvggssghughhsrdhgnhhurdhorhhgpdfovfetjfhoshhtpehmohehjeeipdhmohguvgepshhmthhpohhuth X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- guix/import/juliahub.scm | 105 ++++++++++++++++++++++++--------------- 1 file changed, 64 insertions(+), 41 deletions(-) diff --git a/guix/import/juliahub.scm b/guix/import/juliahub.scm index efe6abbb24..4544dee980 100644 --- a/guix/import/juliahub.scm +++ b/guix/import/juliahub.scm @@ -20,13 +20,14 @@ (define-module (guix import juliahub) #:use-module (ice-9 textual-ports) #:use-module (ice-9 regex) #:use-module (ice-9 match) + #:use-module (ice-9 streams) #:use-module (ice-9 string-fun) - #:use-module (srfi srfi-9) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-9) + #:use-module (srfi srfi-11) #:use-module (guix http-client) #:use-module (guix import utils) #:use-module (guix import json) - #:use-module (guix base16) #:use-module (guix base32) #:use-module (guix packages) #:use-module (guix upstream) @@ -66,19 +67,42 @@ (define (json->juliahub-direct-dependencies vector) #f))) (vector->list vector)))) +(define (ini-list->extra-dependencies lst) + (match lst + (('(extras) ooo ...) + (extra-list->extra-dependencies ooo)) + (((tag) ooo ...) + (ini-list->extra-dependencies ooo)) + ((attribute '= value ooo ...) + (ini-list->extra-dependencies ooo)) + ('() + '()))) + +(define (extra-list->extra-dependencies lst) + (match lst + ((attribute '= value ooo ...) + `(,(symbol->string attribute) ,@(extra-list->extra-dependencies ooo))) + (((tag) ooo ...) + '()) + ('() + '()))) + +(define (parse-extra-dependencies directory) + (let* ((port (open-input-file (string-append directory "/Project.toml"))) + (ini-list (stream->list (port->stream port read)))) + (close-port port) + (ini-list->extra-dependencies ini-list))) + ;; Julia package. (define-json-mapping make-juliahub-package juliahub-package? json->juliahub-package (homepage juliahub-package-homepage) ;string (readme juliahub-package-readme) ;string - ;; (slug juliahub-package-slug) ;string (version juliahub-package-version) ;string (description juliahub-package-description) ;string - (dependencies - juliahub-package-dependencies "deps" + (direct-dependencies + juliahub-package-direct-dependencies "deps" json->juliahub-direct-dependencies) ;list of - ;; (lambda (vector) - ;; (map json->juliahub-dependency (vector->list vector)))) (url juliahub-package-url) ;string (uuid juliahub-package-uuid) ;string (license juliahub-package-license)) ;string @@ -90,7 +114,6 @@ (define-json-mapping (name juliahub-dependency-name) ;string (uuid juliahub-dependency-uuid) ;string (versions juliahub-dependency-versions "versions" vector->list)) ;list of strings - ;; (slug juliahub-dependency-slug) ;string (define (julia-name->guix-name name) (string-append "julia-" (snake-case name))) @@ -100,27 +123,25 @@ (define* (juliahub-fetch name #:key (version #f)) (and=> (json-fetch (string-append (juliahub-url name) "pkg.json")) json->juliahub-package)) -(define (make-julia-sexp name version uri hash home-page synopsis description - dependencies licenses) +(define (make-julia-sexp name source home-page synopsis description + direct-dependencies test-dependencies-names licenses) "Return the `package' s-expression for a Julia package with the given NAME, -VERSION, URI, HASH, HOME-PAGE, DESCRIPTION, DEPENDENCIES, and LICENSES." +VERSION, URI, HASH, HOME-PAGE, DESCRIPTION, DEPENDENCIES, +TEST-DEPENDENCIES-NAMES and LICENSES." `(package (name ,(julia-name->guix-name name)) (version ,version) - (source (origin - (method url-fetch) - (uri ,uri) - (sha256 - (base32 - "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5" - ;; ,(bytevector->nix-base32-string hash) - )))) + (source ,source) (build-system julia-build-system) - ,@(if (null? dependencies) + ,@(if (null? direct-dependencies) '() - `((inputs + `((propagated-inputs (list ,@(map (compose julia-name->guix-name juliahub-dependency-name) - dependencies))))) + direct-dependencies))))) + ,@(if (null? test-dependencies-names) + '() + `((native-inputs + (list ,@(map julia-name->guix-name test-dependencies-names))))) (synopsis ,synopsis) (description ,description) (home-page ,home-page) @@ -135,26 +156,28 @@ (define* (juliahub->guix-package package-name `package' s-expression corresponding to that package, or #f on failure. Optionally include a VERSION string to fetch a specific version juliahub." (let ((package (if version - (juliahub-fetch package-name version) - (juliahub-fetch package-name)))) + (juliahub-fetch package-name version) + (juliahub-fetch package-name)))) (if package - (let* ((dependencies-names - (map juliahub-dependency-name - (juliahub-package-dependencies package))) - (licenses - (map spdx-string->license - (list (juliahub-package-license package))))) - (values (make-julia-sexp - package-name - (juliahub-package-version package) - (juliahub-package-url package) - "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5" - (juliahub-package-homepage package) - (juliahub-package-description package) - (beautify-description (juliahub-package-readme package)) - (juliahub-package-dependencies package) - licenses) - dependencies-names)) + (let-values (((source directory) + (git->origin+dir url `(tag-or-commit . ,package-version)))) + (let* ((dependencies-names + (map juliahub-dependency-name + (juliahub-package-direct-dependencies package))) + (licenses + (map spdx-string->license + (list (juliahub-package-license package)))) + (test-dependencies-names (parse-extra-dependencies directory))) + (values (make-julia-sexp + package-name + source + (juliahub-package-homepage package) + (juliahub-package-description package) + (beautify-description (juliahub-package-readme package)) + (juliahub-package-direct-dependencies package) + test-dependencies-names + licenses) + (append dependencies-names test-dependencies)))) (values #f '())))) (define* (import-release package #:key (version #f)) From patchwork Wed Mar 15 12:51:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 48018 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 2EC7716C76; Wed, 15 Mar 2023 12:52:37 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,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 76D4816961 for ; Wed, 15 Mar 2023 12:52:35 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcQbx-0003QH-7s; Wed, 15 Mar 2023 08:52:09 -0400 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 1pcQbt-0003PV-21 for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pcQbs-00038n-Kn for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pcQbs-0001Ym-GF for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62202] [PATCH 04/21] import: juliahub: Correct source parsing. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 15 Mar 2023 12:52:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62202 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62202@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62202-submit@debbugs.gnu.org id=B62202.16788847085859 (code B ref 62202); Wed, 15 Mar 2023 12:52:04 +0000 Received: (at 62202) by debbugs.gnu.org; 15 Mar 2023 12:51:48 +0000 Received: from localhost ([127.0.0.1]:39301 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbc-0001WL-Ft for submit@debbugs.gnu.org; Wed, 15 Mar 2023 08:51:48 -0400 Received: from 16.mo561.mail-out.ovh.net ([188.165.56.217]:55973) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbY-0001VV-8Y for 62202@debbugs.gnu.org; Wed, 15 Mar 2023 08:51:45 -0400 Received: from director9.ghost.mail-out.ovh.net (unknown [10.109.138.203]) by mo561.mail-out.ovh.net (Postfix) with ESMTP id 8F12121183 for <62202@debbugs.gnu.org>; Wed, 15 Mar 2023 12:51:42 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-vwb8w (unknown [10.110.103.92]) by director9.ghost.mail-out.ovh.net (Postfix) with ESMTPS id E829D1FE2D; Wed, 15 Mar 2023 12:51:41 +0000 (UTC) Received: from ngraves.fr ([37.59.142.109]) by ghost-submission-6684bf9d7b-vwb8w with ESMTPSA id lXVCNl2/EWRf/SgAlZUlMg (envelope-from ); Wed, 15 Mar 2023 12:51:41 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-109S003436170e3-6853-48d7-aee7-31d6a2240de7, F74D9BBE9ED44B45FF66447495DD0B0753EB5D4A) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Wed, 15 Mar 2023 13:51:13 +0100 Message-Id: <20230315125130.23041-4-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315125130.23041-1-ngraves@ngraves.fr> References: <20230315125130.23041-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 13789459113138905826 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvkedggeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepleffjeetueethfefkeffffefvddukeejkefgleduiedthfekvefhiedvhfffgeegnecukfhppeduvdejrddtrddtrddupdefjedrheelrddugedvrddutdelnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeeivddvtddvseguvggssghughhsrdhgnhhurdhorhhgpdfovfetjfhoshhtpehmohehiedupdhmohguvgepshhmthhpohhuth X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- guix/import/juliahub.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/guix/import/juliahub.scm b/guix/import/juliahub.scm index 4544dee980..4c3ceed109 100644 --- a/guix/import/juliahub.scm +++ b/guix/import/juliahub.scm @@ -160,7 +160,11 @@ (define* (juliahub->guix-package package-name (juliahub-fetch package-name)))) (if package (let-values (((source directory) - (git->origin+dir url `(tag-or-commit . ,package-version)))) + (git->origin+dir + (juliahub-package-url package) + `(tag-or-commit + . ,(string-append + "v" (juliahub-package-version package)))))) (let* ((dependencies-names (map juliahub-dependency-name (juliahub-package-direct-dependencies package))) From patchwork Wed Mar 15 12:51:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 48024 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id A7DDF16CAB; Wed, 15 Mar 2023 12:53:05 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS autolearn=ham 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 3362616961 for ; Wed, 15 Mar 2023 12:53:05 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcQby-0003RD-Jm; Wed, 15 Mar 2023 08:52:10 -0400 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 1pcQbt-0003Pd-G2 for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pcQbt-000390-3X for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pcQbs-0001Z1-VI for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62202] [PATCH 05/21] import: juliahub: Add indirect dependencies. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 15 Mar 2023 12:52:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62202 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62202@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62202-submit@debbugs.gnu.org id=B62202.16788847095867 (code B ref 62202); Wed, 15 Mar 2023 12:52:04 +0000 Received: (at 62202) by debbugs.gnu.org; 15 Mar 2023 12:51:49 +0000 Received: from localhost ([127.0.0.1]:39303 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbc-0001WS-P3 for submit@debbugs.gnu.org; Wed, 15 Mar 2023 08:51:49 -0400 Received: from 15.mo583.mail-out.ovh.net ([178.33.107.29]:35657) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbZ-0001VX-5h for 62202@debbugs.gnu.org; Wed, 15 Mar 2023 08:51:46 -0400 Received: from director7.ghost.mail-out.ovh.net (unknown [10.109.156.62]) by mo583.mail-out.ovh.net (Postfix) with ESMTP id 1C97E25D68 for <62202@debbugs.gnu.org>; Wed, 15 Mar 2023 12:51:42 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-ljxbb (unknown [10.110.103.232]) by director7.ghost.mail-out.ovh.net (Postfix) with ESMTPS id B51C91FE62; Wed, 15 Mar 2023 12:51:42 +0000 (UTC) Received: from ngraves.fr ([37.59.142.102]) by ghost-submission-6684bf9d7b-ljxbb with ESMTPSA id bBwSK16/EWQX7B8AwsBWZw (envelope-from ); Wed, 15 Mar 2023 12:51:42 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-102R004b2172859-b997-41fb-a03f-501c056b6cc2, F74D9BBE9ED44B45FF66447495DD0B0753EB5D4A) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Wed, 15 Mar 2023 13:51:14 +0100 Message-Id: <20230315125130.23041-5-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315125130.23041-1-ngraves@ngraves.fr> References: <20230315125130.23041-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 13789459111543497442 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvkedggeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepleffjeetueethfefkeffffefvddukeejkefgleduiedthfekvefhiedvhfffgeegnecukfhppeduvdejrddtrddtrddupdefjedrheelrddugedvrddutddvnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeeivddvtddvseguvggssghughhsrdhgnhhurdhorhhgpdfovfetjfhoshhtpehmohehkeefpdhmohguvgepshhmthhpohhuth X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- guix/import/juliahub.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/guix/import/juliahub.scm b/guix/import/juliahub.scm index 4c3ceed109..fb361a0044 100644 --- a/guix/import/juliahub.scm +++ b/guix/import/juliahub.scm @@ -67,6 +67,16 @@ (define (json->juliahub-direct-dependencies vector) #f))) (vector->list vector)))) +(define (json->juliahub-indirect-dependencies vector) + (if (vector? vector) + (filter-map + (lambda (el) + (let ((dep (json->juliahub-dependency el))) + (if (not (juliahub-dependency-direct? dep)) + dep + #f))) + (vector->list vector)))) + (define (ini-list->extra-dependencies lst) (match lst (('(extras) ooo ...) @@ -103,6 +113,9 @@ (define-json-mapping make-juliahub-package juliahub-package? (direct-dependencies juliahub-package-direct-dependencies "deps" json->juliahub-direct-dependencies) ;list of + (indirect-dependencies + juliahub-package-indirect-dependencies "deps" + json->juliahub-indirect-dependencies) ;list of (url juliahub-package-url) ;string (uuid juliahub-package-uuid) ;string (license juliahub-package-license)) ;string @@ -181,7 +194,7 @@ (define* (juliahub->guix-package package-name (juliahub-package-direct-dependencies package) test-dependencies-names licenses) - (append dependencies-names test-dependencies)))) + (append dependencies-names test-dependencies-names)))) (values #f '())))) (define* (import-release package #:key (version #f)) From patchwork Wed Mar 15 12:51:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 48020 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 58CD216CB3; Wed, 15 Mar 2023 12:52:53 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham 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 4623F16C76 for ; Wed, 15 Mar 2023 12:52:50 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcQbz-0003RN-3z; Wed, 15 Mar 2023 08:52:11 -0400 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 1pcQbv-0003QB-Hf for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:07 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pcQbt-000399-J7 for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:06 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pcQbt-0001ZD-Dm for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:05 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62202] [PATCH 06/21] import: juliahub: Add updater and recursive-importer. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 15 Mar 2023 12:52:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62202 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62202@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62202-submit@debbugs.gnu.org id=B62202.16788847095874 (code B ref 62202); Wed, 15 Mar 2023 12:52:05 +0000 Received: (at 62202) by debbugs.gnu.org; 15 Mar 2023 12:51:49 +0000 Received: from localhost ([127.0.0.1]:39306 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbd-0001Wa-57 for submit@debbugs.gnu.org; Wed, 15 Mar 2023 08:51:49 -0400 Received: from 15.mo581.mail-out.ovh.net ([87.98.180.21]:52681) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQba-0001Vs-9a for 62202@debbugs.gnu.org; Wed, 15 Mar 2023 08:51:47 -0400 Received: from director3.ghost.mail-out.ovh.net (unknown [10.108.4.253]) by mo581.mail-out.ovh.net (Postfix) with ESMTP id 296B12258B for <62202@debbugs.gnu.org>; Wed, 15 Mar 2023 12:51:44 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-gf8xs (unknown [10.110.103.57]) by director3.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 7594B1FE65; Wed, 15 Mar 2023 12:51:43 +0000 (UTC) Received: from ngraves.fr ([37.59.142.107]) by ghost-submission-6684bf9d7b-gf8xs with ESMTPSA id /J2sIF+/EWR+CQAAW2kIng (envelope-from ); Wed, 15 Mar 2023 12:51:43 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-107S0014f05d24b-e775-4662-bee9-0b846d223a5d, F74D9BBE9ED44B45FF66447495DD0B0753EB5D4A) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Wed, 15 Mar 2023 13:51:15 +0100 Message-Id: <20230315125130.23041-6-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315125130.23041-1-ngraves@ngraves.fr> References: <20230315125130.23041-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 13790022061887840994 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvkedggeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepffelffdtieeijedugffgvddvieetheegveehueeggfegleehleekffehtdeuuefhnecuffhomhgrihhnpehjuhhlihgrhhhusgdrtghomhenucfkphepuddvjedrtddrtddruddpfeejrdehledrudegvddruddtjeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepiedvvddtvdesuggvsggsuhhgshdrghhnuhdrohhrghdpoffvtefjohhsthepmhhoheekuddpmhhouggvpehsmhhtphhouhht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- guix/import/juliahub.scm | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/guix/import/juliahub.scm b/guix/import/juliahub.scm index fb361a0044..c38c830caa 100644 --- a/guix/import/juliahub.scm +++ b/guix/import/juliahub.scm @@ -34,7 +34,9 @@ (define-module (guix import juliahub) #:use-module (json) #:use-module ((guix licenses) #:prefix license:) - #:export (juliahub->guix-package)) + #:export (juliahub->guix-package + %juliahub-updater + juliahub-recursive-import)) (define (juliahub-uri name) (let* ((url (string-append "https://docs.juliahub.com/" name "/")) @@ -197,16 +199,26 @@ (define* (juliahub->guix-package package-name (append dependencies-names test-dependencies-names)))) (values #f '())))) +(define (guix-package->juliahub-name package) + (let* ((url (juliahub-package-url package)) + (git-name (car (last-pair (string-split url #\/)))) + (ungitted-name (if (string-suffix? ".git" git-name) + (string-drop-right git-name 4) + git-name)) + (package-name (if (string-suffix? ".jl" ungitted-name) + (string-drop-right ungitted-name 4) + ungitted-name))) + package-name)) + (define* (import-release package #:key (version #f)) "Return an for the latest release of PACKAGE." (let* ((package-name (guix-package->juliahub-name package)) (package (juliahub-fetch package-name)) - (version (or version (juliahub-version gem))) - (url (rubyjuliahubs-uri gem-name version))) + (version (or version (juliahub-package-version package)))) (upstream-source (package (package-name package)) (version version) - (urls (list url))))) + (urls (list (juliahub-package-url package)))))) (define %juliahub-updater (upstream-updater @@ -219,5 +231,5 @@ (define* (juliahub-recursive-import package-name #:optional version) (recursive-import package-name #:repo '() #:repo->guix-package juliahub->guix-package - #:guix-name ruby-package-name + #:guix-name julia-name->guix-name #:version version)) From patchwork Wed Mar 15 12:51:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 48019 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 0490F16CB7; Wed, 15 Mar 2023 12:52:53 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,URIBL_BLOCKED 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 37CCD16961 for ; Wed, 15 Mar 2023 12:52:49 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcQbz-0003RS-AQ; Wed, 15 Mar 2023 08:52:11 -0400 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 1pcQbv-0003QA-Hf for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:07 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pcQbu-00039F-00 for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:07 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pcQbt-0001ZL-SW for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:05 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62202] [PATCH 07/21] import: juliahub: Filter out julia stdlibs. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 15 Mar 2023 12:52:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62202 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62202@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62202-submit@debbugs.gnu.org id=B62202.16788847165902 (code B ref 62202); Wed, 15 Mar 2023 12:52:05 +0000 Received: (at 62202) by debbugs.gnu.org; 15 Mar 2023 12:51:56 +0000 Received: from localhost ([127.0.0.1]:39310 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbj-0001X6-KD for submit@debbugs.gnu.org; Wed, 15 Mar 2023 08:51:55 -0400 Received: from 19.mo581.mail-out.ovh.net ([178.33.251.118]:59103) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbb-0001Vz-1J for 62202@debbugs.gnu.org; Wed, 15 Mar 2023 08:51:47 -0400 Received: from director9.ghost.mail-out.ovh.net (unknown [10.108.20.202]) by mo581.mail-out.ovh.net (Postfix) with ESMTP id D903322FE1 for <62202@debbugs.gnu.org>; Wed, 15 Mar 2023 12:51:45 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-8xsrj (unknown [10.110.115.222]) by director9.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 4D6481FD0E; Wed, 15 Mar 2023 12:51:45 +0000 (UTC) Received: from ngraves.fr ([37.59.142.105]) by ghost-submission-6684bf9d7b-8xsrj with ESMTPSA id yXU6EWG/EWTSxAAAr+9Hqw (envelope-from ); Wed, 15 Mar 2023 12:51:45 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-105G006a7594cdb-75a8-4c1e-b381-8dcd8abb98c4, F74D9BBE9ED44B45FF66447495DD0B0753EB5D4A) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Wed, 15 Mar 2023 13:51:16 +0100 Message-Id: <20230315125130.23041-7-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315125130.23041-1-ngraves@ngraves.fr> References: <20230315125130.23041-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 13790303534594843362 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvkedggeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepffelffdtieeijedugffgvddvieetheegveehueeggfegleehleekffehtdeuuefhnecuffhomhgrihhnpehjuhhlihgrhhhusgdrtghomhenucfkphepuddvjedrtddrtddruddpfeejrdehledrudegvddruddtheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepiedvvddtvdesuggvsggsuhhgshdrghhnuhdrohhrghdpoffvtefjohhsthepmhhoheekuddpmhhouggvpehsmhhtphhouhht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- guix/import/juliahub.scm | 49 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/guix/import/juliahub.scm b/guix/import/juliahub.scm index c38c830caa..af08f3d698 100644 --- a/guix/import/juliahub.scm +++ b/guix/import/juliahub.scm @@ -38,6 +38,47 @@ (define-module (guix import juliahub) %juliahub-updater juliahub-recursive-import)) +;; To update, see file sysimg.jl +(define %julia-stdlibs + (list "julia" + "ArgTools" + "Artifacts" + "Base64" + "CRC32c" + "FileWatching" + "Libdl" + "Logging" + "Mmap" + "NetworkOptions" + "SHA" + "Serialization" + "Sockets" + "Unicode" + "DelimitedFiles" + "LinearAlgebra" + "Markdown" + "Printf" + "Random" + "Tar" + "Dates" + "Distributed" + "Future" + "InteractiveUtils" + "LibGit2" + "Profile" + "SparseArrays" + "UUIDs" + "REPL" + "SharedArrays" + "Statistics" + "SuiteSparse" + "TOML" + "Test" + "LibCURL" + "Downloads" + "Pkg" + "LazyArtifacts")) + (define (juliahub-uri name) (let* ((url (string-append "https://docs.juliahub.com/" name "/")) (port (http-fetch url #:text? #t)) @@ -64,7 +105,9 @@ (define (json->juliahub-direct-dependencies vector) (filter-map (lambda (el) (let ((dep (json->juliahub-dependency el))) - (if (juliahub-dependency-direct? dep) + (if (and (juliahub-dependency-direct? dep) + (not (member (juliahub-dependency-name dep) + %julia-stdlibs))) dep #f))) (vector->list vector)))) @@ -74,7 +117,9 @@ (define (json->juliahub-indirect-dependencies vector) (filter-map (lambda (el) (let ((dep (json->juliahub-dependency el))) - (if (not (juliahub-dependency-direct? dep)) + (if (and (not (juliahub-dependency-direct? dep)) + (not (member (juliahub-dependency-name dep) + %julia-stdlibs))) dep #f))) (vector->list vector)))) From patchwork Wed Mar 15 12:51:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 48023 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id AD33F16C76; Wed, 15 Mar 2023 12:53:04 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,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 0AFD616961 for ; Wed, 15 Mar 2023 12:53:03 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcQbz-0003Rd-Cj; Wed, 15 Mar 2023 08:52:11 -0400 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 1pcQbv-0003Q9-GU for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:07 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pcQbu-00039I-Cf for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:07 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pcQbu-0001ZT-8F for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:06 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62202] [PATCH 08/21] import: juliahub: Simplify juliahub dependency management. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 15 Mar 2023 12:52:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62202 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62202@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62202-submit@debbugs.gnu.org id=B62202.16788847175918 (code B ref 62202); Wed, 15 Mar 2023 12:52:06 +0000 Received: (at 62202) by debbugs.gnu.org; 15 Mar 2023 12:51:57 +0000 Received: from localhost ([127.0.0.1]:39313 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbk-0001X9-0D for submit@debbugs.gnu.org; Wed, 15 Mar 2023 08:51:56 -0400 Received: from 20.mo581.mail-out.ovh.net ([46.105.49.208]:39895) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbc-0001WJ-Px for 62202@debbugs.gnu.org; Wed, 15 Mar 2023 08:51:49 -0400 Received: from director10.ghost.mail-out.ovh.net (unknown [10.108.16.251]) by mo581.mail-out.ovh.net (Postfix) with ESMTP id B5B2323417 for <62202@debbugs.gnu.org>; Wed, 15 Mar 2023 12:51:47 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-7krfw (unknown [10.110.171.145]) by director10.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 599201FEB0; Wed, 15 Mar 2023 12:51:46 +0000 (UTC) Received: from ngraves.fr ([37.59.142.98]) by ghost-submission-6684bf9d7b-7krfw with ESMTPSA id +4VFGmK/EWTEsAAAVuhi0A (envelope-from ); Wed, 15 Mar 2023 12:51:46 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-98R002fb52551e-c1e4-4466-8be0-4501e44917c9, F74D9BBE9ED44B45FF66447495DD0B0753EB5D4A) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Wed, 15 Mar 2023 13:51:17 +0100 Message-Id: <20230315125130.23041-8-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315125130.23041-1-ngraves@ngraves.fr> References: <20230315125130.23041-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 13790866484996268770 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvkedggeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepleffjeetueethfefkeffffefvddukeejkefgleduiedthfekvefhiedvhfffgeegnecukfhppeduvdejrddtrddtrddupdefjedrheelrddugedvrdelkeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepiedvvddtvdesuggvsggsuhhgshdrghhnuhdrohhrghdpoffvtefjohhsthepmhhoheekuddpmhhouggvpehsmhhtphhouhht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- guix/import/juliahub.scm | 42 ++++++++++++++-------------------------- 1 file changed, 14 insertions(+), 28 deletions(-) diff --git a/guix/import/juliahub.scm b/guix/import/juliahub.scm index af08f3d698..b1eeb736a8 100644 --- a/guix/import/juliahub.scm +++ b/guix/import/juliahub.scm @@ -100,26 +100,13 @@ (define (juliahub-slug-version name) (latest-version (string-drop uri 6))) `(,slug ,latest-version))) -(define (json->juliahub-direct-dependencies vector) +(define (json->juliahub-dependencies vector) (if (vector? vector) (filter-map (lambda (el) (let ((dep (json->juliahub-dependency el))) - (if (and (juliahub-dependency-direct? dep) - (not (member (juliahub-dependency-name dep) - %julia-stdlibs))) - dep - #f))) - (vector->list vector)))) - -(define (json->juliahub-indirect-dependencies vector) - (if (vector? vector) - (filter-map - (lambda (el) - (let ((dep (json->juliahub-dependency el))) - (if (and (not (juliahub-dependency-direct? dep)) - (not (member (juliahub-dependency-name dep) - %julia-stdlibs))) + (if (not (member (juliahub-dependency-name dep) + %julia-stdlibs)) dep #f))) (vector->list vector)))) @@ -157,12 +144,9 @@ (define-json-mapping make-juliahub-package juliahub-package? (readme juliahub-package-readme) ;string (version juliahub-package-version) ;string (description juliahub-package-description) ;string - (direct-dependencies - juliahub-package-direct-dependencies "deps" - json->juliahub-direct-dependencies) ;list of - (indirect-dependencies - juliahub-package-indirect-dependencies "deps" - json->juliahub-indirect-dependencies) ;list of + (dependencies + juliahub-package-dependencies "deps" + json->juliahub-dependencies) ;list of (url juliahub-package-url) ;string (uuid juliahub-package-uuid) ;string (license juliahub-package-license)) ;string @@ -184,7 +168,7 @@ (define* (juliahub-fetch name #:key (version #f)) json->juliahub-package)) (define (make-julia-sexp name source home-page synopsis description - direct-dependencies test-dependencies-names licenses) + dependencies test-dependencies-names licenses) "Return the `package' s-expression for a Julia package with the given NAME, VERSION, URI, HASH, HOME-PAGE, DESCRIPTION, DEPENDENCIES, TEST-DEPENDENCIES-NAMES and LICENSES." @@ -193,11 +177,13 @@ (define (make-julia-sexp name source home-page synopsis description (version ,version) (source ,source) (build-system julia-build-system) - ,@(if (null? direct-dependencies) - '() - `((propagated-inputs - (list ,@(map (compose julia-name->guix-name juliahub-dependency-name) - direct-dependencies))))) + ,@(let ((direct-dependencies + (filter julia-dependency-direct? dependencies))) + (if (null? direct-dependencies) + '() + `((propagated-inputs + (list ,@(map (compose julia-name->guix-name juliahub-dependency-name) + direct-dependencies)))))) ,@(if (null? test-dependencies-names) '() `((native-inputs From patchwork Wed Mar 15 12:51:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 48016 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 4E3A716C76; Wed, 15 Mar 2023 12:52:18 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,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 233D916961 for ; Wed, 15 Mar 2023 12:52:17 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcQbz-0003RM-17; Wed, 15 Mar 2023 08:52:11 -0400 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 1pcQbv-0003QD-I1 for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:07 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pcQbu-00039J-OW for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:07 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pcQbu-0001Za-KR for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:06 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62202] [PATCH 09/21] import: juliahub: Improve dependency management. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 15 Mar 2023 12:52:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62202 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62202@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62202-submit@debbugs.gnu.org id=B62202.16788847175929 (code B ref 62202); Wed, 15 Mar 2023 12:52:06 +0000 Received: (at 62202) by debbugs.gnu.org; 15 Mar 2023 12:51:57 +0000 Received: from localhost ([127.0.0.1]:39315 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbl-0001XP-0H for submit@debbugs.gnu.org; Wed, 15 Mar 2023 08:51:57 -0400 Received: from 17.mo581.mail-out.ovh.net ([188.165.35.227]:45655) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbe-0001Wo-JP for 62202@debbugs.gnu.org; Wed, 15 Mar 2023 08:51:51 -0400 Received: from director5.ghost.mail-out.ovh.net (unknown [10.108.1.191]) by mo581.mail-out.ovh.net (Postfix) with ESMTP id 80A4F23528 for <62202@debbugs.gnu.org>; Wed, 15 Mar 2023 12:51:49 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-74llp (unknown [10.110.103.37]) by director5.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 2D2091FE96; Wed, 15 Mar 2023 12:51:48 +0000 (UTC) Received: from ngraves.fr ([37.59.142.110]) by ghost-submission-6684bf9d7b-74llp with ESMTPSA id OuBlD2S/EWQnNhcA/ww3gA (envelope-from ); Wed, 15 Mar 2023 12:51:48 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-110S00495087c72-54ce-4829-a9d2-791bb8747380, F74D9BBE9ED44B45FF66447495DD0B0753EB5D4A) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Wed, 15 Mar 2023 13:51:18 +0100 Message-Id: <20230315125130.23041-9-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315125130.23041-1-ngraves@ngraves.fr> References: <20230315125130.23041-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 13791429434507322082 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvkedggeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepleffjeetueethfefkeffffefvddukeejkefgleduiedthfekvefhiedvhfffgeegnecukfhppeduvdejrddtrddtrddupdefjedrheelrddugedvrdduuddtnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeeivddvtddvseguvggssghughhsrdhgnhhurdhorhhgpdfovfetjfhoshhtpehmohehkedupdhmohguvgepshhmthhpohhuth X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- guix/import/juliahub.scm | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/guix/import/juliahub.scm b/guix/import/juliahub.scm index b1eeb736a8..fc25ba1d42 100644 --- a/guix/import/juliahub.scm +++ b/guix/import/juliahub.scm @@ -168,22 +168,20 @@ (define* (juliahub-fetch name #:key (version #f)) json->juliahub-package)) (define (make-julia-sexp name source home-page synopsis description - dependencies test-dependencies-names licenses) + direct-dependencies test-dependencies-names licenses) "Return the `package' s-expression for a Julia package with the given NAME, -VERSION, URI, HASH, HOME-PAGE, DESCRIPTION, DEPENDENCIES, +VERSION, URI, HASH, HOME-PAGE, DESCRIPTION, DIRECT-DEPENDENCIES, TEST-DEPENDENCIES-NAMES and LICENSES." `(package (name ,(julia-name->guix-name name)) (version ,version) (source ,source) (build-system julia-build-system) - ,@(let ((direct-dependencies - (filter julia-dependency-direct? dependencies))) - (if (null? direct-dependencies) - '() - `((propagated-inputs - (list ,@(map (compose julia-name->guix-name juliahub-dependency-name) - direct-dependencies)))))) + ,@(if (null? direct-dependencies) + '() + `((propagated-inputs + (list ,@(map (compose julia-name->guix-name juliahub-dependency-name) + direct-dependencies))))) ,@(if (null? test-dependencies-names) '() `((native-inputs @@ -211,9 +209,12 @@ (define* (juliahub->guix-package package-name `(tag-or-commit . ,(string-append "v" (juliahub-package-version package)))))) - (let* ((dependencies-names + (let* ((direct-dependencies + (filter juliahub-dependency-direct? + (juliahub-package-dependencies package))) + (dependencies-names (map juliahub-dependency-name - (juliahub-package-direct-dependencies package))) + direct-dependencies)) (licenses (map spdx-string->license (list (juliahub-package-license package)))) @@ -224,7 +225,7 @@ (define* (juliahub->guix-package package-name (juliahub-package-homepage package) (juliahub-package-description package) (beautify-description (juliahub-package-readme package)) - (juliahub-package-direct-dependencies package) + direct-dependencies test-dependencies-names licenses) (append dependencies-names test-dependencies-names)))) From patchwork Wed Mar 15 12:51:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 48033 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id C32F316961; Wed, 15 Mar 2023 12:54:00 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,URIBL_BLOCKED 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 843A816961 for ; Wed, 15 Mar 2023 12:53:58 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcQc0-0003SB-OR; Wed, 15 Mar 2023 08:52:12 -0400 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 1pcQby-0003RC-I1 for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:10 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pcQbv-00039j-L1 for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:09 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pcQbv-0001Zp-HP for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:07 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62202] [PATCH 10/21] import: juliahub: Add functions to parse the git repo for a git tag. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 15 Mar 2023 12:52:07 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62202 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62202@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62202-submit@debbugs.gnu.org id=B62202.16788847235982 (code B ref 62202); Wed, 15 Mar 2023 12:52:07 +0000 Received: (at 62202) by debbugs.gnu.org; 15 Mar 2023 12:52:03 +0000 Received: from localhost ([127.0.0.1]:39322 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbq-0001YB-Rk for submit@debbugs.gnu.org; Wed, 15 Mar 2023 08:52:03 -0400 Received: from 8.mo584.mail-out.ovh.net ([188.165.33.112]:34987) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbj-0001X4-OO for 62202@debbugs.gnu.org; Wed, 15 Mar 2023 08:51:57 -0400 Received: from director6.ghost.mail-out.ovh.net (unknown [10.108.20.172]) by mo584.mail-out.ovh.net (Postfix) with ESMTP id 0570F22F69 for <62202@debbugs.gnu.org>; Wed, 15 Mar 2023 12:51:53 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-74llp (unknown [10.110.171.145]) by director6.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 44BFA1FE33; Wed, 15 Mar 2023 12:51:52 +0000 (UTC) Received: from ngraves.fr ([37.59.142.96]) by ghost-submission-6684bf9d7b-74llp with ESMTPSA id FMVkFWi/EWQrNhcA/ww3gA (envelope-from ); Wed, 15 Mar 2023 12:51:52 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-96R001b39c5f89-9641-4aa6-8301-a3ef5fa45645, F74D9BBE9ED44B45FF66447495DD0B0753EB5D4A) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Wed, 15 Mar 2023 13:51:19 +0100 Message-Id: <20230315125130.23041-10-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315125130.23041-1-ngraves@ngraves.fr> References: <20230315125130.23041-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 13792555337731597026 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvkedggeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepudfggeejleevtdffjeetheffvedtheekieeuveehgffggfdthedtfeeigeehuedunecuffhomhgrihhnpehgihhthhhusghushgvrhgtohhnthgvnhhtrdgtohhmpdhjuhhlihgrhhhusgdrohhrghenucfkphepuddvjedrtddrtddruddpfeejrdehledrudegvddrleeinecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeeivddvtddvseguvggssghughhsrdhgnhhurdhorhhgpdfovfetjfhoshhtpehmohehkeegpdhmohguvgepshhmthhpohhuth X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- guix/import/juliahub.scm | 62 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 56 insertions(+), 6 deletions(-) diff --git a/guix/import/juliahub.scm b/guix/import/juliahub.scm index fc25ba1d42..5327e92325 100644 --- a/guix/import/juliahub.scm +++ b/guix/import/juliahub.scm @@ -26,6 +26,7 @@ (define-module (guix import juliahub) #:use-module (srfi srfi-9) #:use-module (srfi srfi-11) #:use-module (guix http-client) + #:use-module (guix git) #:use-module (guix import utils) #:use-module (guix import json) #:use-module (guix base32) @@ -38,6 +39,48 @@ (define-module (guix import juliahub) %juliahub-updater juliahub-recursive-import)) +;; Juliahub may be more up-to-date than the General registry or the actual git +;; tag (it seems around 6 hours pass between the time a commit is supplied to +;; JuliaRegistrator as a release, and the time Julia TagBot Github Action makes +;; the git tag). We have no simple way to get the commit of the latest-version. +;; Thus the best simple thing we can do is get the latest-git-version, and +;; import this version instead. We do this by parsing Package.toml in the General +;; registry, and then getting the refs of the git repo supplied by this +;; file. Parsing this file is also necessary if the package is in a subdir of a +;; git repository, because the information isn't present in Juliahub. +;; There's a last case where some Julia packages are not based on a particular +;; git tag, and where looking for the commit is tedious and artificial. In these +;; cases, we introduce the tree-commit which is available in the Versions.toml +;; file in the General repository. This is equivalent to a commit, since we have +;; a unique hash of the listing of files and directories, thus it can be used to +;; identify the state of a repository. + +(define %general-base-url + "https://raw.githubusercontent.com/JuliaRegistries/General/master/") + +(define (general-url package-name file) + (let ((folder (string-capitalize (string-take package-name 1)))) + (string-append + %general-base-url folder "/" package-name "/" file))) + +(define (ini-list->alist lst) + (match lst + ((attribute '= value ooo ...) + `((,attribute . ,value) ,@(ini-list->alist ooo))) + ('() + '()))) + +(define (ini-fetch url) + (let* ((port (http-fetch url #:text? #t)) + (ini-list (stream->list (port->stream port read)))) + (close-port port) + (ini-list->alist ini-list))) + +(define (latest-git-tag repo) + (let* ((last-ref (last (remote-refs repo #:tags? #t))) + (last-git-tag (last (string-split last-ref #\/)))) + (string-drop last-git-tag 1))) + ;; To update, see file sysimg.jl (define %julia-stdlibs (list "julia" @@ -194,14 +237,21 @@ (define (make-julia-sexp name source home-page synopsis description ((license) (license->symbol license)) (_ `(list ,@(map license->symbol licenses))))))) +;; TODO handle subdir case properly. + (define* (juliahub->guix-package package-name #:key version #:allow-other-keys) "Fetch the metadata for PACKAGE-NAME from juliahub.org, and return the `package' s-expression corresponding to that package, or #f on failure. Optionally include a VERSION string to fetch a specific version juliahub." - (let ((package (if version - (juliahub-fetch package-name version) - (juliahub-fetch package-name)))) + (let* ((package-toml (ini-fetch (general-url name "Package.toml"))) + (subdir (assoc-ref package-toml 'subdir)) + (tag (latest-git-tag (assoc-ref package-toml 'repo))) + (package (if version + (juliahub-fetch package-name version) + (if tag + (juliahub-fetch package-name tag) + (juliahub-fetch package-name))))) (if package (let-values (((source directory) (git->origin+dir @@ -233,13 +283,13 @@ (define* (juliahub->guix-package package-name (define (guix-package->juliahub-name package) (let* ((url (juliahub-package-url package)) - (git-name (car (last-pair (string-split url #\/)))) + (git-name (last (string-split url #\/))) (ungitted-name (if (string-suffix? ".git" git-name) (string-drop-right git-name 4) git-name)) (package-name (if (string-suffix? ".jl" ungitted-name) - (string-drop-right ungitted-name 4) - ungitted-name))) + (string-drop-right ungitted-name 4) + ungitted-name))) package-name)) (define* (import-release package #:key (version #f)) From patchwork Wed Mar 15 12:51:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 48021 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 2558216C76; Wed, 15 Mar 2023 12:52:54 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS autolearn=ham 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 4F96916CB0 for ; Wed, 15 Mar 2023 12:52:52 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcQby-0003RK-Re; Wed, 15 Mar 2023 08:52:10 -0400 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 1pcQbv-0003QC-Ha for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:07 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pcQbv-00039M-4T for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:07 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pcQbv-0001Zi-0G for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:07 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62202] [PATCH 11/21] import: juliahub: Improve test dependencies parsing. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 15 Mar 2023 12:52:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62202 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62202@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62202-submit@debbugs.gnu.org id=B62202.16788847235966 (code B ref 62202); Wed, 15 Mar 2023 12:52:06 +0000 Received: (at 62202) by debbugs.gnu.org; 15 Mar 2023 12:52:03 +0000 Received: from localhost ([127.0.0.1]:39319 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbq-0001Y4-HQ for submit@debbugs.gnu.org; Wed, 15 Mar 2023 08:52:02 -0400 Received: from 3.mo576.mail-out.ovh.net ([188.165.52.203]:44545) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbj-0001X2-Ax for 62202@debbugs.gnu.org; Wed, 15 Mar 2023 08:51:56 -0400 Received: from director6.ghost.mail-out.ovh.net (unknown [10.109.156.164]) by mo576.mail-out.ovh.net (Postfix) with ESMTP id 531A6265E1 for <62202@debbugs.gnu.org>; Wed, 15 Mar 2023 12:51:54 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-mfzm4 (unknown [10.110.115.9]) by director6.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 1D5C71FE33; Wed, 15 Mar 2023 12:51:54 +0000 (UTC) Received: from ngraves.fr ([37.59.142.97]) by ghost-submission-6684bf9d7b-mfzm4 with ESMTPSA id eAi8BWq/EWQwlwAAhlYjSA (envelope-from ); Wed, 15 Mar 2023 12:51:54 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-97G00218613940-e019-48a7-8a0f-dae9d375784c, F74D9BBE9ED44B45FF66447495DD0B0753EB5D4A) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Wed, 15 Mar 2023 13:51:20 +0100 Message-Id: <20230315125130.23041-11-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315125130.23041-1-ngraves@ngraves.fr> References: <20230315125130.23041-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 13792836809647973090 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvkedggeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepleffjeetueethfefkeffffefvddukeejkefgleduiedthfekvefhiedvhfffgeegnecukfhppeduvdejrddtrddtrddupdefjedrheelrddugedvrdeljeenucevlhhushhtvghrufhiiigvpedunecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepiedvvddtvdesuggvsggsuhhgshdrghhnuhdrohhrghdpoffvtefjohhsthepmhhoheejiedpmhhouggvpehsmhhtphhouhht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- guix/import/juliahub.scm | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/guix/import/juliahub.scm b/guix/import/juliahub.scm index 5327e92325..2ea461b72a 100644 --- a/guix/import/juliahub.scm +++ b/guix/import/juliahub.scm @@ -154,31 +154,27 @@ (define (json->juliahub-dependencies vector) #f))) (vector->list vector)))) -(define (ini-list->extra-dependencies lst) +(define (ini-list->test-dependencies lst) (match lst - (('(extras) ooo ...) - (extra-list->extra-dependencies ooo)) - (((tag) ooo ...) - (ini-list->extra-dependencies ooo)) - ((attribute '= value ooo ...) - (ini-list->extra-dependencies ooo)) + (('test '= ooo ...) + `(,(caar ooo) ,@(test-list->test-dependencies (cdar ooo)))) + ((value ooo ...) + (ini-list->test-dependencies ooo)) ('() - '()))) + '()))) -(define (extra-list->extra-dependencies lst) +(define (test-list->test-dependencies lst) (match lst - ((attribute '= value ooo ...) - `(,(symbol->string attribute) ,@(extra-list->extra-dependencies ooo))) - (((tag) ooo ...) - '()) + ((('unquote value) ooo ...) + `(,value ,@(test-list->test-dependencies ooo))) ('() - '()))) + '()))) -(define (parse-extra-dependencies directory) +(define (parse-test-dependencies directory) (let* ((port (open-input-file (string-append directory "/Project.toml"))) (ini-list (stream->list (port->stream port read)))) (close-port port) - (ini-list->extra-dependencies ini-list))) + (ini-list->test-dependencies ini-list))) ;; Julia package. (define-json-mapping make-juliahub-package juliahub-package? @@ -268,7 +264,7 @@ (define* (juliahub->guix-package package-name (licenses (map spdx-string->license (list (juliahub-package-license package)))) - (test-dependencies-names (parse-extra-dependencies directory))) + (test-dependencies-names (parse-test-dependencies directory))) (values (make-julia-sexp package-name source From patchwork Wed Mar 15 12:51:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 48022 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 89BC416C76; Wed, 15 Mar 2023 12:53:01 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,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 5CC0716961 for ; Wed, 15 Mar 2023 12:53:00 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcQc2-0003Up-Vy; Wed, 15 Mar 2023 08:52:15 -0400 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 1pcQbz-0003RO-54 for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:11 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pcQbw-00039m-3u for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:09 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pcQbv-0001Zw-T6 for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:07 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62202] [PATCH 12/21] import: juliahub: Handle the case where we have a subdirectory. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 15 Mar 2023 12:52:07 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62202 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62202@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62202-submit@debbugs.gnu.org id=B62202.16788847245996 (code B ref 62202); Wed, 15 Mar 2023 12:52:07 +0000 Received: (at 62202) by debbugs.gnu.org; 15 Mar 2023 12:52:04 +0000 Received: from localhost ([127.0.0.1]:39325 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbr-0001YR-FT for submit@debbugs.gnu.org; Wed, 15 Mar 2023 08:52:03 -0400 Received: from 11.mo581.mail-out.ovh.net ([87.98.173.157]:51159) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbl-0001XN-K7 for 62202@debbugs.gnu.org; Wed, 15 Mar 2023 08:51:58 -0400 Received: from director2.ghost.mail-out.ovh.net (unknown [10.109.138.153]) by mo581.mail-out.ovh.net (Postfix) with ESMTP id 96C5223998 for <62202@debbugs.gnu.org>; Wed, 15 Mar 2023 12:51:56 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-r6rck (unknown [10.111.208.70]) by director2.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 35F261FEAA; Wed, 15 Mar 2023 12:51:55 +0000 (UTC) Received: from ngraves.fr ([37.59.142.101]) by ghost-submission-6684bf9d7b-r6rck with ESMTPSA id 4Q87DGu/EWS+BgAA9fVuhw (envelope-from ); Wed, 15 Mar 2023 12:51:55 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-101G0041049e45e-8604-48f5-b1ba-22a30fcaef31, F74D9BBE9ED44B45FF66447495DD0B0753EB5D4A) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Wed, 15 Mar 2023 13:51:21 +0100 Message-Id: <20230315125130.23041-12-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315125130.23041-1-ngraves@ngraves.fr> References: <20230315125130.23041-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 13793399762104738530 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvkedggeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepvddtfeeuueehgfduffehgedtlefguefggedvgfevjeeikeeuvdetgeeuudeltdefnecuffhomhgrihhnpehjuhhlihgrhhhusgdrohhrghenucfkphepuddvjedrtddrtddruddpfeejrdehledrudegvddruddtudenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepiedvvddtvdesuggvsggsuhhgshdrghhnuhdrohhrghdpoffvtefjohhsthepmhhoheekuddpmhhouggvpehsmhhtphhouhht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- guix/import/juliahub.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/guix/import/juliahub.scm b/guix/import/juliahub.scm index 2ea461b72a..b646f93295 100644 --- a/guix/import/juliahub.scm +++ b/guix/import/juliahub.scm @@ -233,14 +233,12 @@ (define (make-julia-sexp name source home-page synopsis description ((license) (license->symbol license)) (_ `(list ,@(map license->symbol licenses))))))) -;; TODO handle subdir case properly. - (define* (juliahub->guix-package package-name #:key version #:allow-other-keys) "Fetch the metadata for PACKAGE-NAME from juliahub.org, and return the `package' s-expression corresponding to that package, or #f on failure. Optionally include a VERSION string to fetch a specific version juliahub." - (let* ((package-toml (ini-fetch (general-url name "Package.toml"))) + (let* ((package-toml (ini-fetch (general-url package-name "Package.toml"))) (subdir (assoc-ref package-toml 'subdir)) (tag (latest-git-tag (assoc-ref package-toml 'repo))) (package (if version @@ -264,7 +262,11 @@ (define* (juliahub->guix-package package-name (licenses (map spdx-string->license (list (juliahub-package-license package)))) - (test-dependencies-names (parse-test-dependencies directory))) + (test-dependencies-names + (if subdir + (parse-test-dependencies + (string-append subdir "/" directory)) + (parse-test-dependencies directory)))) (values (make-julia-sexp package-name source From patchwork Wed Mar 15 12:51:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 48025 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 0370916CB7; Wed, 15 Mar 2023 12:53:32 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,URIBL_BLOCKED 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 2C96E16961 for ; Wed, 15 Mar 2023 12:53:28 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcQc7-0003Y1-Hr; Wed, 15 Mar 2023 08:52:19 -0400 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 1pcQbz-0003RP-5B for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:11 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pcQbw-00039p-KS for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:09 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pcQbw-0001a9-HD for guix-patches@gnu.org; Wed, 15 Mar 2023 08:52:08 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62202] [PATCH 13/21] import: juliahub: Add support for versions for juliahub-fetch. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 15 Mar 2023 12:52:08 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62202 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62202@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62202-submit@debbugs.gnu.org id=B62202.16788847246010 (code B ref 62202); Wed, 15 Mar 2023 12:52:08 +0000 Received: (at 62202) by debbugs.gnu.org; 15 Mar 2023 12:52:04 +0000 Received: from localhost ([127.0.0.1]:39328 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbr-0001Yf-W1 for submit@debbugs.gnu.org; Wed, 15 Mar 2023 08:52:04 -0400 Received: from 20.mo582.mail-out.ovh.net ([178.32.124.17]:46657) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbp-0001Xo-6R for 62202@debbugs.gnu.org; Wed, 15 Mar 2023 08:52:02 -0400 Received: from director2.ghost.mail-out.ovh.net (unknown [10.108.20.16]) by mo582.mail-out.ovh.net (Postfix) with ESMTP id 462B322F9D for <62202@debbugs.gnu.org>; Wed, 15 Mar 2023 12:51:59 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-kqlrr (unknown [10.110.103.53]) by director2.ghost.mail-out.ovh.net (Postfix) with ESMTPS id F23B01FE63; Wed, 15 Mar 2023 12:51:58 +0000 (UTC) Received: from ngraves.fr ([37.59.142.101]) by ghost-submission-6684bf9d7b-kqlrr with ESMTPSA id V7HiOW6/EWSpOhkADUMIIQ (envelope-from ); Wed, 15 Mar 2023 12:51:58 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-101G004820e2bb6-51a3-47e2-b88b-86777d2e2b01, F74D9BBE9ED44B45FF66447495DD0B0753EB5D4A) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Wed, 15 Mar 2023 13:51:22 +0100 Message-Id: <20230315125130.23041-13-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315125130.23041-1-ngraves@ngraves.fr> References: <20230315125130.23041-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 13794244187407901410 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvkedggeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepffelffdtieeijedugffgvddvieetheegveehueeggfegleehleekffehtdeuuefhnecuffhomhgrihhnpehjuhhlihgrhhhusgdrtghomhenucfkphepuddvjedrtddrtddruddpfeejrdehledrudegvddruddtudenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepiedvvddtvdesuggvsggsuhhgshdrghhnuhdrohhrghdpoffvtefjohhsthepmhhoheekvddpmhhouggvpehsmhhtphhouhht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- guix/import/juliahub.scm | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/guix/import/juliahub.scm b/guix/import/juliahub.scm index b646f93295..6ce0487dba 100644 --- a/guix/import/juliahub.scm +++ b/guix/import/juliahub.scm @@ -122,7 +122,7 @@ (define %julia-stdlibs "Pkg" "LazyArtifacts")) -(define (juliahub-uri name) +(define (juliahub-redirect-uri name) (let* ((url (string-append "https://docs.juliahub.com/" name "/")) (port (http-fetch url #:text? #t)) (_ (get-line port)) @@ -134,11 +134,11 @@ (define (juliahub-uri name) (define (juliahub-url name) (let* ((url (string-append "https://docs.juliahub.com/" name "/")) - (uri (juliahub-uri name))) + (uri (juliahub-redirect-uri name))) (string-append url uri "/"))) -(define (juliahub-slug-version name) - (let* ((uri (juliahub-uri name)) +(define (juliahub-slug+version name) + (let* ((uri (juliahub-redirect-uri name)) (slug (string-take uri 5)) (latest-version (string-drop uri 6))) `(,slug ,latest-version))) @@ -203,8 +203,12 @@ (define (julia-name->guix-name name) (define* (juliahub-fetch name #:key (version #f)) "Return a record for package NAME, or #f on failure." - (and=> (json-fetch (string-append (juliahub-url name) "pkg.json")) - json->juliahub-package)) + (let ((url (if version + (string-append "https://docs.juliahub.com/" name "/" + (car (juliahub-slug+version name)) "/" + version "/pkg.json") + (string-append (juliahub-url name) "pkg.json")))) + (and=> (json-fetch url) json->juliahub-package))) (define (make-julia-sexp name source home-page synopsis description direct-dependencies test-dependencies-names licenses) @@ -242,9 +246,9 @@ (define* (juliahub->guix-package package-name (subdir (assoc-ref package-toml 'subdir)) (tag (latest-git-tag (assoc-ref package-toml 'repo))) (package (if version - (juliahub-fetch package-name version) + (juliahub-fetch package-name #:version version) (if tag - (juliahub-fetch package-name tag) + (juliahub-fetch package-name #:version tag) (juliahub-fetch package-name))))) (if package (let-values (((source directory) From patchwork Wed Mar 15 12:51:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 48030 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 04D3F16CAB; Wed, 15 Mar 2023 12:53:46 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS autolearn=ham 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 7749D16961 for ; Wed, 15 Mar 2023 12:53:45 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcQct-0003x9-LA; Wed, 15 Mar 2023 08:53:09 -0400 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 1pcQco-0003vA-8F for guix-patches@gnu.org; Wed, 15 Mar 2023 08:53:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pcQcn-0003Li-Vf for guix-patches@gnu.org; Wed, 15 Mar 2023 08:53:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pcQcn-0001d2-RW for guix-patches@gnu.org; Wed, 15 Mar 2023 08:53:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62202] [PATCH 14/21] import: juliahub: Filter out stdlibs from test-dependencies. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 15 Mar 2023 12:53:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62202 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62202@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62202-submit@debbugs.gnu.org id=B62202.16788847336130 (code B ref 62202); Wed, 15 Mar 2023 12:53:01 +0000 Received: (at 62202) by debbugs.gnu.org; 15 Mar 2023 12:52:13 +0000 Received: from localhost ([127.0.0.1]:39345 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQc0-0001an-JL for submit@debbugs.gnu.org; Wed, 15 Mar 2023 08:52:12 -0400 Received: from 3.mo575.mail-out.ovh.net ([46.105.58.60]:36459) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbs-0001YK-4T for 62202@debbugs.gnu.org; Wed, 15 Mar 2023 08:52:04 -0400 Received: from director10.ghost.mail-out.ovh.net (unknown [10.109.138.64]) by mo575.mail-out.ovh.net (Postfix) with ESMTP id 72FA124A42 for <62202@debbugs.gnu.org>; Wed, 15 Mar 2023 12:52:02 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-fx869 (unknown [10.110.171.1]) by director10.ghost.mail-out.ovh.net (Postfix) with ESMTPS id AD7611FE05; Wed, 15 Mar 2023 12:52:01 +0000 (UTC) Received: from ngraves.fr ([37.59.142.108]) by ghost-submission-6684bf9d7b-fx869 with ESMTPSA id Ag4DKHG/EWQ/HgwAtympfQ (envelope-from ); Wed, 15 Mar 2023 12:52:01 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-108S002a8026c38-3ed0-41b0-8a9c-35f608334558, F74D9BBE9ED44B45FF66447495DD0B0753EB5D4A) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Wed, 15 Mar 2023 13:51:23 +0100 Message-Id: <20230315125130.23041-14-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315125130.23041-1-ngraves@ngraves.fr> References: <20230315125130.23041-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 13794807136908534498 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvkedggeefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepleffjeetueethfefkeffffefvddukeejkefgleduiedthfekvefhiedvhfffgeegnecukfhppeduvdejrddtrddtrddupdefjedrheelrddugedvrddutdeknecuvehluhhsthgvrhfuihiivgepvdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeeivddvtddvseguvggssghughhsrdhgnhhurdhorhhgpdfovfetjfhoshhtpehmohehjeehpdhmohguvgepshhmthhpohhuth X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- guix/import/juliahub.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guix/import/juliahub.scm b/guix/import/juliahub.scm index 6ce0487dba..1c7b029296 100644 --- a/guix/import/juliahub.scm +++ b/guix/import/juliahub.scm @@ -174,7 +174,8 @@ (define (parse-test-dependencies directory) (let* ((port (open-input-file (string-append directory "/Project.toml"))) (ini-list (stream->list (port->stream port read)))) (close-port port) - (ini-list->test-dependencies ini-list))) + (filter (lambda (x) (not (member x %julia-stdlibs))) + (ini-list->test-dependencies ini-list)))) ;; Julia package. (define-json-mapping make-juliahub-package juliahub-package? From patchwork Wed Mar 15 12:51:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 48036 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 17C7916C76; Wed, 15 Mar 2023 12:54:10 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,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 1100F16961 for ; Wed, 15 Mar 2023 12:54:08 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcQdD-0004DF-Cv; Wed, 15 Mar 2023 08:53:27 -0400 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 1pcQco-0003vn-Ol for guix-patches@gnu.org; Wed, 15 Mar 2023 08:53:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pcQco-0003Lu-Dy for guix-patches@gnu.org; Wed, 15 Mar 2023 08:53:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pcQco-0001d9-97 for guix-patches@gnu.org; Wed, 15 Mar 2023 08:53:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62202] [PATCH 15/21] import: juliahub: More robust toml regex parser. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 15 Mar 2023 12:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62202 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62202@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62202-submit@debbugs.gnu.org id=B62202.16788847336138 (code B ref 62202); Wed, 15 Mar 2023 12:53:02 +0000 Received: (at 62202) by debbugs.gnu.org; 15 Mar 2023 12:52:13 +0000 Received: from localhost ([127.0.0.1]:39348 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQc0-0001ap-SH for submit@debbugs.gnu.org; Wed, 15 Mar 2023 08:52:13 -0400 Received: from 8.mo575.mail-out.ovh.net ([46.105.74.219]:40835) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbu-0001ZR-W3 for 62202@debbugs.gnu.org; Wed, 15 Mar 2023 08:52:08 -0400 Received: from director1.ghost.mail-out.ovh.net (unknown [10.108.4.183]) by mo575.mail-out.ovh.net (Postfix) with ESMTP id 9F21424BE2 for <62202@debbugs.gnu.org>; Wed, 15 Mar 2023 12:52:05 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-qw29x (unknown [10.111.208.12]) by director1.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 0F2161FEA5; Wed, 15 Mar 2023 12:52:04 +0000 (UTC) Received: from ngraves.fr ([37.59.142.103]) by ghost-submission-6684bf9d7b-qw29x with ESMTPSA id JraRMXS/EWR/yAAA3vnIvw (envelope-from ); Wed, 15 Mar 2023 12:52:04 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-103G0052aebf83f-b331-447d-94ff-fa4c67c92dfa, F74D9BBE9ED44B45FF66447495DD0B0753EB5D4A) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Wed, 15 Mar 2023 13:51:24 +0100 Message-Id: <20230315125130.23041-15-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315125130.23041-1-ngraves@ngraves.fr> References: <20230315125130.23041-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 13795933034247152354 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvkedggeefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepvddtfeeuueehgfduffehgedtlefguefggedvgfevjeeikeeuvdetgeeuudeltdefnecuffhomhgrihhnpehjuhhlihgrhhhusgdrohhrghenucfkphepuddvjedrtddrtddruddpfeejrdehledrudegvddruddtfeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepiedvvddtvdesuggvsggsuhhgshdrghhnuhdrohhrghdpoffvtefjohhsthepmhhoheejhedpmhhouggvpehsmhhtphhouhht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- guix/import/juliahub.scm | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/guix/import/juliahub.scm b/guix/import/juliahub.scm index 1c7b029296..3985d8d0be 100644 --- a/guix/import/juliahub.scm +++ b/guix/import/juliahub.scm @@ -154,28 +154,15 @@ (define (json->juliahub-dependencies vector) #f))) (vector->list vector)))) -(define (ini-list->test-dependencies lst) - (match lst - (('test '= ooo ...) - `(,(caar ooo) ,@(test-list->test-dependencies (cdar ooo)))) - ((value ooo ...) - (ini-list->test-dependencies ooo)) - ('() - '()))) - -(define (test-list->test-dependencies lst) - (match lst - ((('unquote value) ooo ...) - `(,value ,@(test-list->test-dependencies ooo))) - ('() - '()))) - (define (parse-test-dependencies directory) (let* ((port (open-input-file (string-append directory "/Project.toml"))) - (ini-list (stream->list (port->stream port read)))) + (project.toml (get-string-all port)) + (regex "\ntest = \\[.*\\]") + (deps (match:substring (string-match regex project.toml))) + (pure (string-delete (list->char-set (list #\" #\ )) deps))) (close-port port) (filter (lambda (x) (not (member x %julia-stdlibs))) - (ini-list->test-dependencies ini-list)))) + (string-split (string-drop (string-drop-right pure 1) 7) #\,)))) ;; Julia package. (define-json-mapping make-juliahub-package juliahub-package? @@ -243,9 +230,9 @@ (define* (juliahub->guix-package package-name "Fetch the metadata for PACKAGE-NAME from juliahub.org, and return the `package' s-expression corresponding to that package, or #f on failure. Optionally include a VERSION string to fetch a specific version juliahub." - (let* ((package-toml (ini-fetch (general-url package-name "Package.toml"))) - (subdir (assoc-ref package-toml 'subdir)) - (tag (latest-git-tag (assoc-ref package-toml 'repo))) + (let* ((package.toml (ini-fetch (general-url package-name "Package.toml"))) + (subdir (assoc-ref package.toml 'subdir)) + (tag (latest-git-tag (assoc-ref package.toml 'repo))) (package (if version (juliahub-fetch package-name #:version version) (if tag From patchwork Wed Mar 15 12:51:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 48032 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 6FA2F16CB7; Wed, 15 Mar 2023 12:54:00 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS autolearn=ham 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 C349F16C76 for ; Wed, 15 Mar 2023 12:53:58 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcQd5-0003xx-C8; Wed, 15 Mar 2023 08:53:21 -0400 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 1pcQcp-0003wD-5L for guix-patches@gnu.org; Wed, 15 Mar 2023 08:53:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pcQco-0003MS-So for guix-patches@gnu.org; Wed, 15 Mar 2023 08:53:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pcQco-0001dH-MM for guix-patches@gnu.org; Wed, 15 Mar 2023 08:53:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62202] [PATCH 16/21] import: juliahub: Beautify description. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 15 Mar 2023 12:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62202 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62202@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62202-submit@debbugs.gnu.org id=B62202.16788847346151 (code B ref 62202); Wed, 15 Mar 2023 12:53:02 +0000 Received: (at 62202) by debbugs.gnu.org; 15 Mar 2023 12:52:14 +0000 Received: from localhost ([127.0.0.1]:39350 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQc1-0001ax-8i for submit@debbugs.gnu.org; Wed, 15 Mar 2023 08:52:13 -0400 Received: from 6.mo581.mail-out.ovh.net ([188.165.39.218]:50091) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbx-0001aF-DF for 62202@debbugs.gnu.org; Wed, 15 Mar 2023 08:52:10 -0400 Received: from director2.ghost.mail-out.ovh.net (unknown [10.109.146.19]) by mo581.mail-out.ovh.net (Postfix) with ESMTP id 70B6924945 for <62202@debbugs.gnu.org>; Wed, 15 Mar 2023 12:52:08 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-fx869 (unknown [10.110.208.177]) by director2.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 0E7061FE6C; Wed, 15 Mar 2023 12:52:08 +0000 (UTC) Received: from ngraves.fr ([37.59.142.97]) by ghost-submission-6684bf9d7b-fx869 with ESMTPSA id 67TSAXi/EWRJHgwAtympfQ (envelope-from ); Wed, 15 Mar 2023 12:52:08 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-97G0021e40c609-e7e3-41ec-a004-4bd8b22eb2d8, F74D9BBE9ED44B45FF66447495DD0B0753EB5D4A) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Wed, 15 Mar 2023 13:51:25 +0100 Message-Id: <20230315125130.23041-16-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315125130.23041-1-ngraves@ngraves.fr> References: <20230315125130.23041-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 13796777460289561314 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvkedggeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepleffjeetueethfefkeffffefvddukeejkefgleduiedthfekvefhiedvhfffgeegnecukfhppeduvdejrddtrddtrddupdefjedrheelrddugedvrdeljeenucevlhhushhtvghrufhiiigvpeefnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepiedvvddtvdesuggvsggsuhhgshdrghhnuhdrohhrghdpoffvtefjohhsthepmhhoheekuddpmhhouggvpehsmhhtphhouhht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- guix/import/juliahub.scm | 60 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 56 insertions(+), 4 deletions(-) diff --git a/guix/import/juliahub.scm b/guix/import/juliahub.scm index 3985d8d0be..338f042441 100644 --- a/guix/import/juliahub.scm +++ b/guix/import/juliahub.scm @@ -32,8 +32,10 @@ (define-module (guix import juliahub) #:use-module (guix base32) #:use-module (guix packages) #:use-module (guix upstream) - #:use-module (json) #:use-module ((guix licenses) #:prefix license:) + #:use-module (json) + #:use-module (htmlprag) + #:use-module (sxml transform) #:export (juliahub->guix-package %juliahub-updater @@ -164,6 +166,53 @@ (define (parse-test-dependencies directory) (filter (lambda (x) (not (member x %julia-stdlibs))) (string-split (string-drop (string-drop-right pure 1) 7) #\,)))) +(define %juliahub-beautify-description-rules + `((h1 *preorder* . ,(lambda args #f)) + (h2 *preorder* . ,(lambda args #f)) + (h3 *preorder* . ,(lambda args #f)) + (h4 *preorder* . ,(lambda args #f)) + (hr *preorder* . ,(lambda args #f)) + (span *preorder* . ,(lambda args #f)) + (img *preorder* . ,(lambda args #f)) + (pre *preorder* . ,(lambda args #f)) + (div *preorder* . ,(lambda args #f)) + (table *preorder* . ,(lambda args #f)) + (imgalt *preorder* . ,(lambda args #f)) + (@ *preorder* . ,(lambda args #f)) + (*TOP* . ,(lambda args (cdr args))) + (p . ,(lambda args (cdr args))) + (em . ,(lambda args (cdr args))) + (strong . ,(lambda args (cdr args))) + (a . ,(lambda args + (match args + ((tag link ref) + (if ref ref #f)) + (_ #f)))) + (ul . ,(lambda args + `("@itemize" ,@(cdr args) "\n@end itemize"))) + (ol . ,(lambda args + `("@enumerate" ,@(cdr args) "@end enumerate"))) + (blockquote . ,(lambda args + `("@quotation" ,@(cdr args) "@end quotation"))) + (li . ,(lambda args + `("\n@item" ,@(cdr args)))) + (code . ,(lambda args + (string-append + "@code{" + (string-join (cdr args) " ") + "}"))) + (*text* . ,(lambda (tag x) x)) + (*default* . ,(lambda (tag . body) + (cons tag body))))) + +(define (juliahub-beautify-description description) + (string-join + (filter (lambda (x) (if (equal? x " ") #f x)) + (flatten + (pre-post-order (html->sxml description) + %juliahub-beautify-description-rules))) + " ")) + ;; Julia package. (define-json-mapping make-juliahub-package juliahub-package? json->juliahub-package @@ -211,8 +260,9 @@ (define (make-julia-sexp name source home-page synopsis description ,@(if (null? direct-dependencies) '() `((propagated-inputs - (list ,@(map (compose julia-name->guix-name juliahub-dependency-name) - direct-dependencies))))) + (list + ,@(map (compose julia-name->guix-name juliahub-dependency-name) + direct-dependencies))))) ,@(if (null? test-dependencies-names) '() `((native-inputs @@ -264,7 +314,9 @@ (define* (juliahub->guix-package package-name source (juliahub-package-homepage package) (juliahub-package-description package) - (beautify-description (juliahub-package-readme package)) + ((compose beautify-description + juliahub-beautify-description) + (juliahub-package-readme package)) direct-dependencies test-dependencies-names licenses) From patchwork Wed Mar 15 12:51:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 48026 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 08FC316CAB; Wed, 15 Mar 2023 12:53:36 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,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 2AC8E16961 for ; Wed, 15 Mar 2023 12:53:35 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcQdF-0004Kk-Qx; Wed, 15 Mar 2023 08:53:29 -0400 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 1pcQcp-0003wE-Gi for guix-patches@gnu.org; Wed, 15 Mar 2023 08:53:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pcQcp-0003Mj-8O for guix-patches@gnu.org; Wed, 15 Mar 2023 08:53:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pcQcp-0001dO-4E for guix-patches@gnu.org; Wed, 15 Mar 2023 08:53:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62202] [PATCH 17/21] import: juliahub: Fix license management. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 15 Mar 2023 12:53:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62202 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62202@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62202-submit@debbugs.gnu.org id=B62202.16788847346158 (code B ref 62202); Wed, 15 Mar 2023 12:53:03 +0000 Received: (at 62202) by debbugs.gnu.org; 15 Mar 2023 12:52:14 +0000 Received: from localhost ([127.0.0.1]:39352 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQc1-0001bA-Tw for submit@debbugs.gnu.org; Wed, 15 Mar 2023 08:52:14 -0400 Received: from 1.mo576.mail-out.ovh.net ([178.33.251.173]:40269) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQby-0001aS-Jr for 62202@debbugs.gnu.org; Wed, 15 Mar 2023 08:52:11 -0400 Received: from director6.ghost.mail-out.ovh.net (unknown [10.109.156.164]) by mo576.mail-out.ovh.net (Postfix) with ESMTP id AF74326629 for <62202@debbugs.gnu.org>; Wed, 15 Mar 2023 12:52:09 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-lwwhg (unknown [10.110.208.62]) by director6.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 2CA4D1FE96; Wed, 15 Mar 2023 12:52:09 +0000 (UTC) Received: from ngraves.fr ([37.59.142.96]) by ghost-submission-6684bf9d7b-lwwhg with ESMTPSA id +3WlCHm/EWRRpAAAHUGJ8A (envelope-from ); Wed, 15 Mar 2023 12:52:09 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-96R001b754a16a-1fbf-474b-af01-66a79434892f, F74D9BBE9ED44B45FF66447495DD0B0753EB5D4A) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Wed, 15 Mar 2023 13:51:26 +0100 Message-Id: <20230315125130.23041-17-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315125130.23041-1-ngraves@ngraves.fr> References: <20230315125130.23041-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 13797058935116980962 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvkedggeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepleffjeetueethfefkeffffefvddukeejkefgleduiedthfekvefhiedvhfffgeegnecukfhppeduvdejrddtrddtrddupdefjedrheelrddugedvrdelieenucevlhhushhtvghrufhiiigvpedvnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepiedvvddtvdesuggvsggsuhhgshdrghhnuhdrohhrghdpoffvtefjohhsthepmhhoheejiedpmhhouggvpehsmhhtphhouhht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- guix/import/juliahub.scm | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/guix/import/juliahub.scm b/guix/import/juliahub.scm index 338f042441..e4b26bea34 100644 --- a/guix/import/juliahub.scm +++ b/guix/import/juliahub.scm @@ -248,10 +248,10 @@ (define* (juliahub-fetch name #:key (version #f)) (and=> (json-fetch url) json->juliahub-package))) (define (make-julia-sexp name source home-page synopsis description - direct-dependencies test-dependencies-names licenses) + direct-dependencies test-dependencies-names license) "Return the `package' s-expression for a Julia package with the given NAME, VERSION, URI, HASH, HOME-PAGE, DESCRIPTION, DIRECT-DEPENDENCIES, -TEST-DEPENDENCIES-NAMES and LICENSES." +TEST-DEPENDENCIES-NAMES and LICENSE." `(package (name ,(julia-name->guix-name name)) (version ,version) @@ -270,10 +270,8 @@ (define (make-julia-sexp name source home-page synopsis description (synopsis ,synopsis) (description ,description) (home-page ,home-page) - (license ,(match licenses - (() #f) - ((license) (license->symbol license)) - (_ `(list ,@(map license->symbol licenses))))))) + (license + ,(if license (spdx-string->license license) #f)))) (define* (juliahub->guix-package package-name #:key version #:allow-other-keys) @@ -301,9 +299,6 @@ (define* (juliahub->guix-package package-name (dependencies-names (map juliahub-dependency-name direct-dependencies)) - (licenses - (map spdx-string->license - (list (juliahub-package-license package)))) (test-dependencies-names (if subdir (parse-test-dependencies @@ -319,7 +314,7 @@ (define* (juliahub->guix-package package-name (juliahub-package-readme package)) direct-dependencies test-dependencies-names - licenses) + (juliahub-package-license package)) (append dependencies-names test-dependencies-names)))) (values #f '())))) From patchwork Wed Mar 15 12:51:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 48027 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 3522A16B5A; Wed, 15 Mar 2023 12:53:36 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,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 6A55216CB0 for ; Wed, 15 Mar 2023 12:53:29 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcQdA-00044j-OE; Wed, 15 Mar 2023 08:53:24 -0400 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 1pcQcp-0003wF-RN for guix-patches@gnu.org; Wed, 15 Mar 2023 08:53:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pcQcp-0003Mq-JU for guix-patches@gnu.org; Wed, 15 Mar 2023 08:53:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pcQcp-0001dV-Fd for guix-patches@gnu.org; Wed, 15 Mar 2023 08:53:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62202] [PATCH 18/21] import: juliahub: Fix version management. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 15 Mar 2023 12:53:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62202 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62202@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62202-submit@debbugs.gnu.org id=B62202.16788847416185 (code B ref 62202); Wed, 15 Mar 2023 12:53:03 +0000 Received: (at 62202) by debbugs.gnu.org; 15 Mar 2023 12:52:21 +0000 Received: from localhost ([127.0.0.1]:39356 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQc9-0001bf-9M for submit@debbugs.gnu.org; Wed, 15 Mar 2023 08:52:21 -0400 Received: from 19.mo583.mail-out.ovh.net ([46.105.35.78]:50355) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQbz-0001aZ-My for 62202@debbugs.gnu.org; Wed, 15 Mar 2023 08:52:12 -0400 Received: from director7.ghost.mail-out.ovh.net (unknown [10.109.156.105]) by mo583.mail-out.ovh.net (Postfix) with ESMTP id B22D2261F9 for <62202@debbugs.gnu.org>; Wed, 15 Mar 2023 12:52:10 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-jz7bk (unknown [10.110.171.251]) by director7.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 6BA481FE9E; Wed, 15 Mar 2023 12:52:10 +0000 (UTC) Received: from ngraves.fr ([37.59.142.108]) by ghost-submission-6684bf9d7b-jz7bk with ESMTPSA id K8IgF3q/EWQINg0A78Klgg (envelope-from ); Wed, 15 Mar 2023 12:52:10 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-108S002ab271c7c-5c0f-4c03-9363-de78c773a064, F74D9BBE9ED44B45FF66447495DD0B0753EB5D4A) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Wed, 15 Mar 2023 13:51:27 +0100 Message-Id: <20230315125130.23041-18-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315125130.23041-1-ngraves@ngraves.fr> References: <20230315125130.23041-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 13797340412112265954 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvkedggeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepleffjeetueethfefkeffffefvddukeejkefgleduiedthfekvefhiedvhfffgeegnecukfhppeduvdejrddtrddtrddupdefjedrheelrddugedvrddutdeknecuvehluhhsthgvrhfuihiivgepgeenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeeivddvtddvseguvggssghughhsrdhgnhhurdhorhhgpdfovfetjfhoshhtpehmohehkeefpdhmohguvgepshhmthhpohhuth X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- guix/import/juliahub.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/guix/import/juliahub.scm b/guix/import/juliahub.scm index e4b26bea34..94d4ae8233 100644 --- a/guix/import/juliahub.scm +++ b/guix/import/juliahub.scm @@ -247,10 +247,10 @@ (define* (juliahub-fetch name #:key (version #f)) (string-append (juliahub-url name) "pkg.json")))) (and=> (json-fetch url) json->juliahub-package))) -(define (make-julia-sexp name source home-page synopsis description +(define (make-julia-sexp name version source home-page synopsis description direct-dependencies test-dependencies-names license) "Return the `package' s-expression for a Julia package with the given NAME, -VERSION, URI, HASH, HOME-PAGE, DESCRIPTION, DIRECT-DEPENDENCIES, +VERSION, SOURCE, HOME-PAGE, DESCRIPTION, DIRECT-DEPENDENCIES, TEST-DEPENDENCIES-NAMES and LICENSE." `(package (name ,(julia-name->guix-name name)) @@ -306,6 +306,7 @@ (define* (juliahub->guix-package package-name (parse-test-dependencies directory)))) (values (make-julia-sexp package-name + (juliahub-package-version package) source (juliahub-package-homepage package) (juliahub-package-description package) From patchwork Wed Mar 15 12:51:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 48034 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 9E89416CAB; Wed, 15 Mar 2023 12:54:01 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS autolearn=ham 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 28D4216B5A for ; Wed, 15 Mar 2023 12:54:00 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcQdG-0004L5-6a; Wed, 15 Mar 2023 08:53:30 -0400 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 1pcQcq-0003x6-Sl for guix-patches@gnu.org; Wed, 15 Mar 2023 08:53:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pcQcp-0003Mx-VN for guix-patches@gnu.org; Wed, 15 Mar 2023 08:53:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pcQcp-0001dd-RK for guix-patches@gnu.org; Wed, 15 Mar 2023 08:53:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62202] [PATCH 19/21] import: juliahub: Fix undefined homepages. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 15 Mar 2023 12:53:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62202 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62202@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62202-submit@debbugs.gnu.org id=B62202.16788847426192 (code B ref 62202); Wed, 15 Mar 2023 12:53:03 +0000 Received: (at 62202) by debbugs.gnu.org; 15 Mar 2023 12:52:22 +0000 Received: from localhost ([127.0.0.1]:39358 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQc9-0001bi-IV for submit@debbugs.gnu.org; Wed, 15 Mar 2023 08:52:21 -0400 Received: from 4.mo561.mail-out.ovh.net ([178.33.46.10]:39613) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQc0-0001ag-Nq for 62202@debbugs.gnu.org; Wed, 15 Mar 2023 08:52:13 -0400 Received: from director10.ghost.mail-out.ovh.net (unknown [10.109.146.173]) by mo561.mail-out.ovh.net (Postfix) with ESMTP id B615B22EE8 for <62202@debbugs.gnu.org>; Wed, 15 Mar 2023 12:52:11 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-lwhtl (unknown [10.110.208.172]) by director10.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 537E31FEB9; Wed, 15 Mar 2023 12:52:11 +0000 (UTC) Received: from ngraves.fr ([37.59.142.102]) by ghost-submission-6684bf9d7b-lwhtl with ESMTPSA id D8cAEnu/EWR4BgEAQqKfuQ (envelope-from ); Wed, 15 Mar 2023 12:52:11 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-102R004f32b1969-728a-4725-a3a8-c79f4eec9019, F74D9BBE9ED44B45FF66447495DD0B0753EB5D4A) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Wed, 15 Mar 2023 13:51:28 +0100 Message-Id: <20230315125130.23041-19-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315125130.23041-1-ngraves@ngraves.fr> References: <20230315125130.23041-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 13797621887618638562 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvkedggeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepleffjeetueethfefkeffffefvddukeejkefgleduiedthfekvefhiedvhfffgeegnecukfhppeduvdejrddtrddtrddupdefjedrheelrddugedvrddutddvnecuvehluhhsthgvrhfuihiivgepudenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeeivddvtddvseguvggssghughhsrdhgnhhurdhorhhgpdfovfetjfhoshhtpehmohehiedupdhmohguvgepshhmthhpohhuth X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- guix/import/juliahub.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/guix/import/juliahub.scm b/guix/import/juliahub.scm index 94d4ae8233..06574db724 100644 --- a/guix/import/juliahub.scm +++ b/guix/import/juliahub.scm @@ -303,12 +303,16 @@ (define* (juliahub->guix-package package-name (if subdir (parse-test-dependencies (string-append subdir "/" directory)) - (parse-test-dependencies directory)))) + (parse-test-dependencies directory))) + (homepage (juliahub-package-homepage package))) (values (make-julia-sexp package-name (juliahub-package-version package) source - (juliahub-package-homepage package) + (match homepage + ("" (juliahub-package-url package)) + ((? string?) homepage) + (_ (juliahub-package-url package))) (juliahub-package-description package) ((compose beautify-description juliahub-beautify-description) From patchwork Wed Mar 15 12:51:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 48029 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id BC1E716CAB; Wed, 15 Mar 2023 12:53:40 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS autolearn=ham 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 4428016961 for ; Wed, 15 Mar 2023 12:53:40 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcQdC-00047C-Hu; Wed, 15 Mar 2023 08:53:26 -0400 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 1pcQcr-0003xi-Vm for guix-patches@gnu.org; Wed, 15 Mar 2023 08:53:07 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pcQcq-0003N2-A3 for guix-patches@gnu.org; Wed, 15 Mar 2023 08:53:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pcQcq-0001dk-5x for guix-patches@gnu.org; Wed, 15 Mar 2023 08:53:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62202] [PATCH 20/21] import: utils: Rule out texinfo common syntax from @ escape. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 15 Mar 2023 12:53:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62202 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62202@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62202-submit@debbugs.gnu.org id=B62202.16788847426199 (code B ref 62202); Wed, 15 Mar 2023 12:53:04 +0000 Received: (at 62202) by debbugs.gnu.org; 15 Mar 2023 12:52:22 +0000 Received: from localhost ([127.0.0.1]:39360 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQc9-0001bp-Sr for submit@debbugs.gnu.org; Wed, 15 Mar 2023 08:52:22 -0400 Received: from 2.mo582.mail-out.ovh.net ([46.105.76.65]:42109) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQc3-0001bG-4r for 62202@debbugs.gnu.org; Wed, 15 Mar 2023 08:52:16 -0400 Received: from director11.ghost.mail-out.ovh.net (unknown [10.108.4.136]) by mo582.mail-out.ovh.net (Postfix) with ESMTP id D17C622E14 for <62202@debbugs.gnu.org>; Wed, 15 Mar 2023 12:52:13 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-drmhd (unknown [10.110.115.179]) by director11.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 5935E1FDFE; Wed, 15 Mar 2023 12:52:12 +0000 (UTC) Received: from ngraves.fr ([37.59.142.103]) by ghost-submission-6684bf9d7b-drmhd with ESMTPSA id j5uGGXy/EWQcgQEACTsY+Q (envelope-from ); Wed, 15 Mar 2023 12:52:12 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-103G0056da8d9c0-a480-4c85-ac50-57ae5c0fc30b, F74D9BBE9ED44B45FF66447495DD0B0753EB5D4A) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Wed, 15 Mar 2023 13:51:29 +0100 Message-Id: <20230315125130.23041-20-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315125130.23041-1-ngraves@ngraves.fr> References: <20230315125130.23041-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 13798184836765770466 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvkedggeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepleffjeetueethfefkeffffefvddukeejkefgleduiedthfekvefhiedvhfffgeegnecukfhppeduvdejrddtrddtrddupdefjedrheelrddugedvrddutdefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeeivddvtddvseguvggssghughhsrdhgnhhurdhorhhgpdfovfetjfhoshhtpehmohehkedvpdhmohguvgepshhmthhpohhuth X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- guix/import/juliahub.scm | 5 +---- guix/import/utils.scm | 8 +++++++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/guix/import/juliahub.scm b/guix/import/juliahub.scm index 06574db724..0d3f89ad61 100644 --- a/guix/import/juliahub.scm +++ b/guix/import/juliahub.scm @@ -197,10 +197,7 @@ (define %juliahub-beautify-description-rules (li . ,(lambda args `("\n@item" ,@(cdr args)))) (code . ,(lambda args - (string-append - "@code{" - (string-join (cdr args) " ") - "}"))) + `("@code{" ,@(cdr args) "}"))) (*text* . ,(lambda (tag x) x)) (*default* . ,(lambda (tag . body) (cons tag body))))) diff --git a/guix/import/utils.scm b/guix/import/utils.scm index 171dca54e8..5ed1dfd815 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -376,7 +376,13 @@ (define* (beautify-description description #:optional (length 80)) (cut string-trim-both <> #\') ;; Escape single @ to prevent it from being understood as ;; invalid Texinfo syntax. - (cut regexp-substitute/global #f "@" <> 'pre "@@" 'post))))) + (lambda (word) + (if + (member word '("@itemize" "@item" "@end" "@quotation" + "@enumerate" "@code" "@code{")) + word + ((cut regexp-substitute/global + #f "@" <> 'pre "@@" 'post) word))))))) (words (string-tokenize (string-trim-both description) (char-set-complement From patchwork Wed Mar 15 12:51:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 48031 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 0F87816B5A; Wed, 15 Mar 2023 12:53:53 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,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 41D1E16B5A for ; Wed, 15 Mar 2023 12:53:51 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcQdH-0004LR-5X; Wed, 15 Mar 2023 08:53:31 -0400 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 1pcQcr-0003xh-TL for guix-patches@gnu.org; Wed, 15 Mar 2023 08:53:07 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pcQcq-0003NC-MM for guix-patches@gnu.org; Wed, 15 Mar 2023 08:53:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pcQcq-0001dr-Hg for guix-patches@gnu.org; Wed, 15 Mar 2023 08:53:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62202] [PATCH 21/21] import: juliahub: output package names as symbols. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 15 Mar 2023 12:53:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62202 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62202@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 62202-submit@debbugs.gnu.org id=B62202.16788847426207 (code B ref 62202); Wed, 15 Mar 2023 12:53:04 +0000 Received: (at 62202) by debbugs.gnu.org; 15 Mar 2023 12:52:22 +0000 Received: from localhost ([127.0.0.1]:39362 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQcA-0001bw-6m for submit@debbugs.gnu.org; Wed, 15 Mar 2023 08:52:22 -0400 Received: from 3.mo560.mail-out.ovh.net ([46.105.58.226]:41155) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pcQc3-0001bO-LB for 62202@debbugs.gnu.org; Wed, 15 Mar 2023 08:52:17 -0400 Received: from director7.ghost.mail-out.ovh.net (unknown [10.108.4.24]) by mo560.mail-out.ovh.net (Postfix) with ESMTP id A80D423023 for <62202@debbugs.gnu.org>; Wed, 15 Mar 2023 12:52:14 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-qjmj9 (unknown [10.110.103.46]) by director7.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 644D51FE0A; Wed, 15 Mar 2023 12:52:14 +0000 (UTC) Received: from ngraves.fr ([37.59.142.107]) by ghost-submission-6684bf9d7b-qjmj9 with ESMTPSA id IF0fFn6/EWQMkgAAMA2FAQ (envelope-from ); Wed, 15 Mar 2023 12:52:14 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-107S0015dd5a981-ba16-44e2-9368-d0c5b89ac599, F74D9BBE9ED44B45FF66447495DD0B0753EB5D4A) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Wed, 15 Mar 2023 13:51:30 +0100 Message-Id: <20230315125130.23041-21-ngraves@ngraves.fr> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315125130.23041-1-ngraves@ngraves.fr> References: <20230315125130.23041-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 13798466311078077154 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvkedggeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepleffjeetueethfefkeffffefvddukeejkefgleduiedthfekvefhiedvhfffgeegnecukfhppeduvdejrddtrddtrddupdefjedrheelrddugedvrddutdejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeeivddvtddvseguvggssghughhsrdhgnhhurdhorhhgpdfovfetjfhoshhtpehmohehiedtpdhmohguvgepshhmthhpohhuth X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches --- guix/import/juliahub.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/guix/import/juliahub.scm b/guix/import/juliahub.scm index 0d3f89ad61..3e5735b950 100644 --- a/guix/import/juliahub.scm +++ b/guix/import/juliahub.scm @@ -258,12 +258,15 @@ (define (make-julia-sexp name version source home-page synopsis description '() `((propagated-inputs (list - ,@(map (compose julia-name->guix-name juliahub-dependency-name) + ,@(map (compose string->symbol + julia-name->guix-name + juliahub-dependency-name) direct-dependencies))))) ,@(if (null? test-dependencies-names) '() `((native-inputs - (list ,@(map julia-name->guix-name test-dependencies-names))))) + (list ,@(map (compose string->symbol julia-name->guix-name) + test-dependencies-names))))) (synopsis ,synopsis) (description ,description) (home-page ,home-page)