[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/02: website: Provide JSON sources list used by Software Heritage.
From: |
Ludovic Courtès |
Subject: |
02/02: website: Provide JSON sources list used by Software Heritage. |
Date: |
Mon, 9 Mar 2020 05:50:40 -0400 (EDT) |
civodul pushed a commit to branch master
in repository guix-artwork.
commit 3915713936424c58138f2aba6cef0b70126fd03e
Author: zimoun <address@hidden>
AuthorDate: Tue Feb 18 13:25:14 2020 +0100
website: Provide JSON sources list used by Software Heritage.
Format discussed here <https://forge.softwareheritage.org/D2025#51269>.
* website/apps/packages/builder.scm (origin->json): Add list modifier.
(sources-json-builder): New procedure.
(builder): Call it.
Signed-off-by: Ludovic Courtès <address@hidden>
---
website/apps/packages/builder.scm | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/website/apps/packages/builder.scm
b/website/apps/packages/builder.scm
index 8ce9ac9..85494a6 100644
--- a/website/apps/packages/builder.scm
+++ b/website/apps/packages/builder.scm
@@ -74,6 +74,7 @@
(flatten
(list
(index-builder)
+ (sources-json-builder)
(packages-json-builder)
(packages-builder)
(package-list-builder))))
@@ -156,6 +157,21 @@
(list->vector (map package->json (all-packages)))
scm->json))
+(define (sources-json-builder)
+ "Return a JSON page listing all the sources.
+
+See <https://forge.softwareheritage.org/D2025#51269>."
+ (define (package->json package)
+ `(,@(if (origin? (package-source package))
+ (origin->json (package-source package))
+ `(("type" . "no-origin")
+ ("name" . ,(package-name package))))))
+
+ (make-page "sources.json"
+ `(("sources" . ,(list->vector (map package->json (all-packages))))
+ ("version" . "1"))
+ scm->json))
+
(define (index-builder)
"Return a Haunt page listing some random packages."
(define (sample n from)