X-Git-Url: http://git.kpe.io/?p=lml2.git;a=blobdiff_plain;f=downloads.lisp;h=33d86150ab4fecccf63034f7c4d2351dd48f4f06;hp=21473d15f8366b8bd585b2efc342ca9b58670975;hb=d087da5d987f4e02b7c17c197dc61057881cbd8b;hpb=9c5e52ab7792dc7e57d02141c797d95b31b23039 diff --git a/downloads.lisp b/downloads.lisp index 21473d1..33d8615 100644 --- a/downloads.lisp +++ b/downloads.lisp @@ -123,7 +123,7 @@ (decf (dl-data-indent dl-data))) (display-one-section title value dl-data)))))) -(defun display-page (pkg-name pkg-base dl-base dl-url sects) +(defun display-page (pkg-name pkg-base dl-base dl-url giturl gitweb sects) (let ((dl-data (make-dl-data :indent 3 :base dl-base :url dl-url @@ -132,20 +132,24 @@ (display-header pkg-name dl-url) (dolist (sect sects) (display-sections sect dl-data)) + (when giturl + (lml-format "

Git Repository

~A" giturl) + (when gitweb + (lml-format "  [Browse]" gitweb))) (display-footer dl-data))) -(defun std-dl-page (pkg-name pkg-base dl-base dl-url) +(defun std-dl-page (pkg-name pkg-base dl-base dl-url &optional giturl gitweb) (let ((base (parse-namestring dl-base))) (let ((tgz-path (make-pathname :defaults base :type "gz" :name :wild)) (zip-path (make-pathname :defaults base :type "zip" :name :wild)) (doc-path (make-pathname :defaults base :type "pdf" :name :wild))) - (display-page pkg-name pkg-base dl-base dl-url + (display-page pkg-name pkg-base dl-base dl-url giturl gitweb `(("Manual" ,doc-path) ("Source Code" (("Unix (.tar.gz)" ,tgz-path) ("Windows (.zip)" ,zip-path)))))))) -(defun full-dl-page (pkg-name pkg-base dl-base dl-url) +(defun full-dl-page (pkg-name pkg-base dl-base dl-url &optional giturl gitweb) (let ((base (parse-namestring dl-base))) (let ((tgz-path (make-pathname :defaults base :type "gz" :name :wild)) (zip-path (make-pathname :defaults base :type "zip" :name :wild)) @@ -161,14 +165,24 @@ (w32-path (merge-pathnames (make-pathname :directory '(:relative "win32") :type :wild :name :wild) + base)) + (mac-path (merge-pathnames + (make-pathname :directory '(:relative "mac") + :type :wild :name :wild) + base)) + (linux-path (merge-pathnames + (make-pathname :directory '(:relative "linux") + :type :wild :name :wild) base))) - (display-page pkg-name pkg-base dl-base dl-url + (display-page pkg-name pkg-base dl-base dl-url giturl gitweb `(("Manual" ,doc-path) - ("Source Code" - (("Unix (.tar.gz)" ,tgz-path) - ("Windows (.zip)" ,zip-path))) + ,@(when (or (directory tgz-path) (directory zip-path)) + `(("Source Code" + (("Unix (.tar.gz)" ,tgz-path) + ("Windows (.zip)" ,zip-path))))) ("Binaries" - (("Linux Binaries" - (("Debian Linux" ,deb-path) - ("RedHat Linux" ,rpm-path))) + (("Linux Binaries" ,linux-path) + ("Linux .deb Packages" ,deb-path) + ("Linux .rpm Packages" ,rpm-path) + ("Mac Binaries" ,mac-path) ("Windows Binaries" ,w32-path))))))))