From bb47f923f7aec6a6d35e87053c5613e7b405558c Mon Sep 17 00:00:00 2001 From: Ryan Culpepper Date: Mon, 6 Jan 2014 02:30:17 -0500 Subject: [PATCH] create download page for (version, distro) only when installers exist Previously, created every page in (all-versions X all-distros). (cherry picked from commit 202dc90d96fceae4c998f0452188e753fe1b9d55) --- .../meta/web/download/download-pages.rkt | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkgs/plt-services/meta/web/download/download-pages.rkt b/pkgs/plt-services/meta/web/download/download-pages.rkt index 6b614faf20..cb22203eb2 100644 --- a/pkgs/plt-services/meta/web/download/download-pages.rkt +++ b/pkgs/plt-services/meta/web/download/download-pages.rkt @@ -100,6 +100,14 @@ (define (cell rel pkg) @td[align: 'center]{ @nbsp @(make-page rel pkg){[download]} @nbsp}) + ;; release=>packages : hash[release => (listof package)] + ;; Indicates what packages actually exist (have installers) for a given release. + (define release=>packages (make-hash)) + (for ([i (in-list all-installers)]) + (define r (installer-release i)) + (define prev-packages (hash-ref release=>packages r null)) + (unless (member (installer-package i) prev-packages) + (hash-set! release=>packages r (cons (installer-package i) prev-packages)))) @tbody{ @sep @(for/list ([r (in-list all-releases)]) @@ -108,7 +116,10 @@ @tr[class: 'version-row]{ @td{@|nbsp nbsp| @strong{Version @ver}, @(release-page r){@release-date-string[r]} @nbsp} - @(map (λ (p) (cell r p)) all-packages) + @(for/list ([p (in-list all-packages)]) + (if (member p (hash-ref release=>packages r)) + (cell r p) + @td[])) @td{@nbsp @a[href: @list{@|docs|/@|ver|/html}]{[HTML]} @; @nbsp @a[href: @list{@|docs|/@|ver|/pdf}]{[PDF]} @; @nbsp}}