diff options
Diffstat (limited to 'guix-data-service/web')
-rw-r--r-- | guix-data-service/web/controller.scm | 16 | ||||
-rw-r--r-- | guix-data-service/web/view/html.scm | 14 |
2 files changed, 25 insertions, 5 deletions
diff --git a/guix-data-service/web/controller.scm b/guix-data-service/web/controller.scm index feac0f1..1e8d46a 100644 --- a/guix-data-service/web/controller.scm +++ b/guix-data-service/web/controller.scm @@ -148,11 +148,17 @@ (let ((derivation (select-derivation-by-output-filename conn filename))) (match derivation (() - (render-html - #:sxml (general-not-found - "Store item not found" - "No derivation found producing this output") - #:code 404)) + (match (select-derivation-source-file-by-store-path conn filename) + (() + (render-html + #:sxml (general-not-found + "Store item not found" + "No derivation found producing this output") + #:code 404)) + ((id) + (render-html + #:sxml (view-derivation-source-file filename) + #:extra-headers http-headers-for-unchanging-content)))) (derivations (render-html #:sxml (view-store-item filename diff --git a/guix-data-service/web/view/html.scm b/guix-data-service/web/view/html.scm index e6de895..1792440 100644 --- a/guix-data-service/web/view/html.scm +++ b/guix-data-service/web/view/html.scm @@ -47,6 +47,7 @@ view-derivation view-formatted-derivation view-store-item + view-derivation-source-file error-page)) (define* (header) @@ -516,6 +517,19 @@ derivations derivations-using-store-item-list))))) +(define (view-derivation-source-file filename) + (layout + #:body + `(,(header) + (div + (@ (class "container")) + (div + (@ (class "row")) + (div + (@ (class "col-sm-12")) + ,(display-store-item-title filename) + "Derivation source file.")))))) + (define (view-derivation derivation derivation-inputs derivation-outputs builds) (layout |