expand binary paths
[lml2.git] / downloads.lisp
index 21473d15f8366b8bd585b2efc342ca9b58670975..e7b58975f5ab22558c641dc4de2c43e93479174a 100644 (file)
               (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
     (display-header pkg-name dl-url)
     (dolist (sect sects)
       (display-sections sect dl-data))
+    (when giturl
+      (lml-format "<h2>Git Repository</h2><tt>~A</tt>" giturl)
+      (when gitweb
+        (lml-format "&nbsp;&nbsp;[<a href=\"~A\">Browse</a>]" 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))
           (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)))
                       ("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))))))))