From patchwork Mon Aug 12 14:51:55 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Nicol=C3=B2_Balzarotti?= X-Patchwork-Id: 14914 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 575F31724B; Mon, 12 Aug 2019 15:53:10 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, HTML_MESSAGE,T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 05D8D1723E for ; Mon, 12 Aug 2019 15:53:10 +0100 (BST) Received: from localhost ([::1]:46150 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hxBh7-0001QB-M6 for patchwork@mira.cbaines.net; Mon, 12 Aug 2019 10:53:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37945) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hxBh1-0001Q5-Vf for guix-patches@gnu.org; Mon, 12 Aug 2019 10:53:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hxBh0-0007be-LC for guix-patches@gnu.org; Mon, 12 Aug 2019 10:53:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:38472) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hxBh0-0007bZ-IH for guix-patches@gnu.org; Mon, 12 Aug 2019 10:53:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hxBh0-0001Mv-Ey for guix-patches@gnu.org; Mon, 12 Aug 2019 10:53:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#37010] website: export package list to JSON Resent-From: =?utf-8?q?Nicol=C3=B2?= Balzarotti Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 12 Aug 2019 14:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 37010 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 37010@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.15656215345196 (code B ref -1); Mon, 12 Aug 2019 14:53:02 +0000 Received: (at submit) by debbugs.gnu.org; 12 Aug 2019 14:52:14 +0000 Received: from localhost ([127.0.0.1]:47293 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hxBgD-0001Lk-KV for submit@debbugs.gnu.org; Mon, 12 Aug 2019 10:52:13 -0400 Received: from lists.gnu.org ([209.51.188.17]:43978) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hxBgC-0001Lc-9K for submit@debbugs.gnu.org; Mon, 12 Aug 2019 10:52:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37761) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hxBgA-0001J5-US for guix-patches@gnu.org; Mon, 12 Aug 2019 10:52:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hxBg9-0007Lo-NC for guix-patches@gnu.org; Mon, 12 Aug 2019 10:52:10 -0400 Received: from mail-ot1-x32b.google.com ([2607:f8b0:4864:20::32b]:46835) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hxBg9-0007LS-I0 for guix-patches@gnu.org; Mon, 12 Aug 2019 10:52:09 -0400 Received: by mail-ot1-x32b.google.com with SMTP id z17so41299708otk.13 for ; Mon, 12 Aug 2019 07:52:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=KkDLZT2bJQAk7DkZvJt+6ANJHmwd6tbJJqIYHlzFyCQ=; b=K/3Rvsg4OVyD5hk5QD7Ii7qrmOxWdW9dFGl5NsnZt2XrVHQMhfwXXc3dRdTBBNCEya g+sQzYVtLgVHjBbS+CdbhEmpdzN0kdNSIlf2uN6+qoySpbNnj2Hl4Z+6djqec9OxFQEY 3eEdw1btmE+Hg00r4cicNqEM/seYKS6SZu0d7ukBbivd0AYJ97Sd14RIl2/u4p7EVA9Z 4PFXGrvOo3O8Ah+nT3t8/LynrYnyMZ+SuhldZAkl+d3m3ZfIbKHEG+G6jJgF7gY7aUl5 eS5+L2w7Mzet14LrKajqGwZZam2XL6wy4vKDv9pkl5oWjxgNTUafp9z3V6Xng5t7Ek2J tp7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=KkDLZT2bJQAk7DkZvJt+6ANJHmwd6tbJJqIYHlzFyCQ=; b=l8JJ+7GLCwfQb+Dmzt7YiX+fcBNjalUhYz4rc3HYgRTu1HGT8pctMjHLUUouLKoo/Q +lVZ9NFXvkUVsRa0H5aHQUsZYu6r3+opKs218V9CFVLKJ7/Vmk5Fl9keIe1lONHbTh9F ZdJPn6qLcdoTwQDWjY6pOFbj7jXroWS6j9tVJ6/HQhePzmAGk7rLdjqEUurqM10tD+6o zkwtW4JLIFLq5jMKZnPSG4CfGCXQTDGI9lzIYh7C2q6mXQ8O3UZY10ZBOgaH+S/11MOk F+vnKOJLIwaqBwJnyoJsCDojw6ZOwCyL8q2ma06i21p0tdWbETJLAnLGcSZtjP42TSao Qpbw== X-Gm-Message-State: APjAAAUBRG9U9kzBsgTk9vP0VG3BW7V8Gut0lOwX/tRNUPsRMrrCRjjc JLxrVxgoCy/PfYA4TAORk92XU5cRyafFoVxxaQ+Jyw== X-Google-Smtp-Source: APXvYqx9xtZYjy6YRrDgYN8u7P7DTzCJKC3g7DGSm1kiGH3qZrwhHUgyn+gD2ROjEP5H8RZ8hd+qz4+IWwGh2ZA6oFM= X-Received: by 2002:a6b:f216:: with SMTP id q22mr33753909ioh.65.1565621527825; Mon, 12 Aug 2019 07:52:07 -0700 (PDT) MIME-Version: 1.0 From: =?utf-8?q?Nicol=C3=B2?= Balzarotti Date: Mon, 12 Aug 2019 14:51:55 +0000 Message-ID: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Hi, I'm sending a patch to guix-artwork. My aim was to help in getting this issue (https://github.com/repology/repology/issues/218) fixed (and have guix packages back on repology). Probably is possible to add more fields, but they are not strictly required (as per https://repology.org/addrepo) Also, I don't know if (ab)using make-page that way is right. Any suggestion is welcome. Thanks, Nicolò From 3949a27b653f25704ad57e95133ec9487bcd3ccb Mon Sep 17 00:00:00 2001 From: nixo Date: Mon, 12 Aug 2019 16:42:08 +0200 Subject: [PATCH] website: export JSON package list to packages.json --- website/apps/packages/builder.scm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/website/apps/packages/builder.scm b/website/apps/packages/builder.scm index 59f86c1..fc08d6a 100644 --- a/website/apps/packages/builder.scm +++ b/website/apps/packages/builder.scm @@ -1,6 +1,7 @@ ;;; GNU Guix web site ;;; Copyright © 2017 Ludovic Courtès ;;; Copyright © 2019 Ricardo Wurmus +;;; Copyright © 2019 Nicolò Balzarotti ;;; ;;; Initially written by sirgazil ;;; who waives all copyright interest on this file. @@ -36,6 +37,8 @@ #:use-module (haunt page) #:use-module (haunt utils) #:use-module (srfi srfi-1) + #:use-module (guix) + #:use-module (json) #:export (builder)) @@ -76,6 +79,7 @@ ;; used instead. They should generate pages as those described ;; in the proposal. (list + (package-json-builder) (detailed-index-builder) (detailed-package-list-builder))))) @@ -101,6 +105,17 @@ (length (all-packages)))))) (make-page "packages/index.html" (index-t context) sxml->html))) +(define (package-json-builder) + "Return a JSON listing all packages." + (define (package-fields package) + `(("name" ,(package-name package)) + ("version" ,(package-version package)) + ("synopsis" ,(package-synopsis package)) + ("homepage" ,(package-home-page package)))) + (define (packages->json packages) + (map package-fields packages)) + (make-page "packages.json" + (packages->json (all-packages)) scm->json)) (define (detailed-index-builder) "Return a Haunt page listing some random packages." -- 2.22.0