[7cfd61]: sbcl-page.asd Maximize Restore History

Download this file

sbcl-page.asd    68 lines (60 with data), 2.5 kB

;;;; Silly emacs, this is -*- Lisp -*-

(cl:defpackage :sbcl-page-system (:use :common-lisp :asdf))
(cl:in-package :sbcl-page-system)

(defclass news-file (source-file)
  ())

;;; lifted from asdf
(defmethod component-relative-pathname ((component news-file))
  (let* ((*default-pathname-defaults* (asdf::component-parent-pathname component))
         (name-type
          (make-pathname
           :name (component-name component))))
    (if (slot-value component 'asdf::relative-pathname)
        (merge-pathnames
         (slot-value component 'asdf::relative-pathname)
         name-type)
        name-type)))

(defmethod perform ((o compile-op) (f news-file))
  (funcall (intern "CONVERT-NEWS" :sbcl-page) (component-pathname f)))

(defmethod perform ((o load-op) (f news-file))
  (mapcar #'load (asdf::input-files o f)))

(defmethod output-files ((o compile-op) (f news-file))
  (values (list
           (make-pathname :name "news" :type "lisp-expr"
                          :defaults (component-pathname f)))
          t))

(defsystem sbcl-page
    :name "sbcl"
    :author "Brian Mastenbrook"
    :version "1.0.0"
    :licence "MIT"
    :description "New web page for the SBCL project"
    :depends-on
    (:cl-ppcre)
    :components ((:file "xml-mixed-mode")
                 (:file "generate-page" :depends-on ("xml-mixed-mode"))
                 (:file "index-page"
                        :depends-on ("generate-page"))
                 (:file "news-page"
                        :depends-on ("generate-page"))
                 (:file "news-items"
                        :depends-on ("news-page"))
                 (:news-file "NEWS" :depends-on ("news-items"))
                 (:file "platform-support"
                        :depends-on ("generate-page" "index-page"))
                 (:file "platform-support-platforms"
                        :depends-on ("platform-support"))
                 (:file "getting-sbcl"
                        :depends-on ("generate-page" "index-page"))
                 (:file "history"
                        :depends-on ("generate-page"))
                 (:file "porting-sbcl"
                        :depends-on ("generate-page"))
                 (:file "links-page"
                        :depends-on ("generate-page"))
                 (:file "keys-page"
                        :depends-on ("generate-page"))
                 (:file "keys"
                        :depends-on ("keys-page"))
		 (:file "sidebar-links"
			:depends-on ("generate-page"))))