summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2019-02-08 18:26:28 +0100
committerRicardo Wurmus <rekado@elephly.net>2019-02-08 18:26:28 +0100
commitc6830aef4c45094f4765e7e06cf34011297bebdd (patch)
treebb1113ea2c4643304da1695cff0ef62edd4436b7
parentwebsite: packages: Enabel expensive builders for guix.info. (diff)
downloadguix-artwork-c6830aef4c45094f4765e7e06cf34011297bebdd.tar.gz
website: index-builder: Pick random packages.
* website/apps/packages/builder.scm (index-builder): Pick random packages.
-rw-r--r--website/apps/packages/builder.scm8
1 files changed, 5 insertions, 3 deletions
diff --git a/website/apps/packages/builder.scm b/website/apps/packages/builder.scm
index d85b5ee..beb7541 100644
--- a/website/apps/packages/builder.scm
+++ b/website/apps/packages/builder.scm
@@ -91,10 +91,12 @@
(define (index-builder)
"Return a Haunt page listing some random packages."
- ;; TODO: Pick random packages.
+ (define (sample n from)
+ (map (lambda (id) (list-ref from id))
+ (list-tabulate n (lambda _ (random (length from))))))
(let ((context (list (cons "packages"
- (take-at-most (all-packages)
- %max-packages-on-index)))))
+ (sample %max-packages-on-index
+ (all-packages))))))
(make-page "packages/index.html" (index-t context) sxml->html)))