From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id YLdHAIjvTGFzBwAAgWs5BA (envelope-from ) for ; Thu, 23 Sep 2021 23:20:08 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id 4H5zN4fvTGHYJgAAbx9fmQ (envelope-from ) for ; Thu, 23 Sep 2021 21:20:07 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 958F4B9AC for ; Thu, 23 Sep 2021 23:20:06 +0200 (CEST) Received: from localhost ([::1]:44414 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mTW8T-0004eb-ER for larch@yhetil.org; Thu, 23 Sep 2021 17:20:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33936) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mTW8Q-0004eJ-0a for guix-patches@gnu.org; Thu, 23 Sep 2021 17:20:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:44496) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mTW8P-00088l-OR for guix-patches@gnu.org; Thu, 23 Sep 2021 17:20:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mTW8P-0004SI-KD for guix-patches@gnu.org; Thu, 23 Sep 2021 17:20:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#50755] [PATCH v2] import: Generate list of importers based on available modules References: <87tuibh43w.fsf@airmail.cc> In-Reply-To: <87tuibh43w.fsf@airmail.cc> Resent-From: pinoaffe Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 23 Sep 2021 21:20:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 50755 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 50755@debbugs.gnu.org Received: via spool by 50755-submit@debbugs.gnu.org id=B50755.163243199617110 (code B ref 50755); Thu, 23 Sep 2021 21:20:01 +0000 Received: (at 50755) by debbugs.gnu.org; 23 Sep 2021 21:19:56 +0000 Received: from localhost ([127.0.0.1]:56042 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mTW8K-0004Ru-4F for submit@debbugs.gnu.org; Thu, 23 Sep 2021 17:19:56 -0400 Received: from mail.cock.li ([37.120.193.124]:36312) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mTW8J-0004Rg-8c for 50755@debbugs.gnu.org; Thu, 23 Sep 2021 17:19:55 -0400 User-agent: mu4e 1.4.15; emacs 27.2 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=airmail.cc; s=mail; t=1632431989; bh=x0zhPYxTfkpkzvap2CaRHPIXYdpQ21S74I0/9H4qAp8=; h=From:To:Subject:Date:From; b=pVEo7aWVfyp0CUD93H3HFCCebndOOoTgB4bfjuRGDLzqXd/9XTrcgBhlJPlfApgf+ BGKpHINq6Sc28dvbc8l4SGJzLc1OHx8vrBhd91Rzcqe2J5VpUrAfM5IQITofXXba/o 8JtfRZF+MDEzkUhOn1qN433ooBH/I/n+CGavTpaCWj1tQHArfsrV+hgMZoIY2G/Zco pI1xaLnvmDAZdl5GV5rTUP6boh4sZiEuQMKVBkgE1ppj7uFftMOiG8PrDNZEjN0Qps wGO9rfzeyIYtMI+7fVBt1dwbXNNEwH+fBcuHQcLDX3cW1+mNf8WkhxouurKV3Ybl5A 4uBlDnb/RFyaA== From: pinoaffe Date: Thu, 23 Sep 2021 23:19:48 +0200 Message-ID: <87wnn7ouq3.fsf@airmail.cc> MIME-Version: 1.0 Content-Type: text/plain 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: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1632432006; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=UWrdmL8dvr0rT8h2iFIlGg04PeWF72fA0ZinIVo/jRI=; b=CdNSnsnomzHaIQQEJwZ1H+tbEkamnZiVCBykBbjrlKxMLVWsDP69xAG4BoWtNRIxSsGj8W 2jtPOug1836ctn6v13kWGOEPAz5aJAomnTOEgQbmvudByvvkydhbkItYYrWbGuWK5zJZ7b s8UdHJR8KwEVwF65//za/7k0O1xCabxQqhG+alWhz0x3XjHOQGxm+7ZcQGkyuYb/NqbfaJ zzH9FYPE3z1bzZ393DogUuXZcIoZUhDSHdoHHtowUIXIfYnYFujjWmOxfIkN5gNseoTaoc S0FBiBs0X9ZzN70teXH1Ta5yY81HF2bGQzNnRtYKo4DM7apQhIWfrD1uS17tog== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1632432006; a=rsa-sha256; cv=none; b=kgmdCs6cpTBM7kHoN6/NxSyI66XKRnWjcookI1K9BlM2pB+myA9zrlR53f8UsH3UHkC7Oh cmtWv9sepiwFpv8dAM7RxoMe4dViTefPBUSO8+2i0VoU9EK0a/nT22mwQyknfIi3t2Bbl5 Cqh5DwqXZEqRBptPtbURg+Ir8TqkRAVO2uLbeZAt0Ti7rCo78GgXXOy61tUb+rWU+wgtfj OcUAkGBxCUqKK5+EIE2P8DeGw3Lt41MGkc+DuHgKfKnlb1bpK6SupfLzudZd6L1V/4Lz+M zBOMZyUmPvnOUj6OckiYEib2qQn0e7NJCWzEhJcmIbF6UiyBUu9Sssz48NVMsQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=airmail.cc header.s=mail header.b=pVEo7aWV; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Spam-Score: -0.29 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=airmail.cc header.s=mail header.b=pVEo7aWV; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: 958F4B9AC X-Spam-Score: -0.29 X-Migadu-Scanner: scn1.migadu.com X-TUID: mbzCJu/2drup * guix/scripts/import.scm (importers): Generate a list of all importers by looping over available guile modules, allowing for extensibility. --- guix/scripts/import.scm | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm index 40fa6759ae..ed702d3bff 100644 --- a/guix/scripts/import.scm +++ b/guix/scripts/import.scm @@ -23,6 +23,7 @@ (define-module (guix scripts import) #:use-module (guix ui) + #:use-module (guix discovery) #:use-module (guix scripts) #:use-module (guix utils) #:use-module (srfi srfi-1) @@ -78,9 +79,14 @@ rather than \\n." ;;; Entry point. ;;; -(define importers '("gnu" "pypi" "cpan" "hackage" "stackage" "egg" "elpa" - "gem" "go" "cran" "crate" "texlive" "json" "opam" - "minetest")) +(define importers (filter-map (lambda (module) + (match (module-name module) + (`(guix scripts import ,importer) + (symbol->string importer)) + ( #t #f))) + (all-modules (map (lambda (entry) + `(,entry . "guix/scripts/import")) + %load-path)))) (define (resolve-importer name) (let ((module (resolve-interface -- 2.32.0