diff --git a/guix-data-service/web/controller.scm b/guix-data-service/web/controller.scm index a4c5dfb..3f35304 100644 --- a/guix-data-service/web/controller.scm +++ b/guix-data-service/web/controller.scm @@ -307,6 +307,16 @@ (render-formatted-derivation conn (string-append "/gnu/store/" filename)) (not-found (request-uri request)))) + (('GET "gnu" "store" filename "plain") + (if (string-suffix? ".drv" filename) + (let ((raw-drv + (select-serialized-derivation-by-file-name + conn + (string-append "/gnu/store/" filename)))) + (if raw-drv + (render-text raw-drv) + (not-found (request-uri request)))) + (not-found (request-uri request)))) (('GET "gnu" "store" filename "narinfos") (render-narinfos conn filename)) (((or 'GET 'POST) "build-server" _ ...) diff --git a/guix-data-service/web/view/html.scm b/guix-data-service/web/view/html.scm index 8375d0b..c0df5cb 100644 --- a/guix-data-service/web/view/html.scm +++ b/guix-data-service/web/view/html.scm @@ -536,7 +536,11 @@ (a (@ (class "btn btn-lg btn-default") (href ,(string-append file-name "/formatted")) (role "button")) - "Formatted view")))))) + "Formatted view") + (a (@ (class "btn btn-lg btn-default") + (href ,(string-append file-name "/plain")) + (role "button")) + "Plain view")))))) (div (@ (class "row")) (div @@ -640,7 +644,11 @@ (a (@ (class "btn btn-lg btn-default disabled") (href ,(string-append file-name "/formatted")) (role "button")) - "Formatted view")))))) + "Formatted view") + (a (@ (class "btn btn-lg btn-default") + (href ,(string-append file-name "/plain")) + (role "button")) + "Plain view")))))) (div (@ (class "row")) (div