[297218]: sbcl-page.asd Maximize Restore History

Download this file

sbcl-page.asd    67 lines (59 with data), 2.4 kB

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

(in-package :cl-user)
(defpackage :sbcl-page-system (:use :common-lisp :asdf))
(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 (component-name component))))
    (if (slot-value component 'asdf::relative-pathname)
         (slot-value component 'asdf::relative-pathname)

(defmethod perform ((o compile-op) (f news-file))
  (funcall (intern "CONVERT-NEWS" :cl-user)))

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

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

(defsystem sbcl-page
    :name "sbcl"
    :author "Brian Mastenbrook"
    :version "1.0.0"
    :licence "MIT"
    :description "New web page for the SBCL project"
    (:cl-ppcre :s-xml)
    :components ((:file "generate-page")
                 (: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"))
                 (:file "platform-support-platforms"
                        :depends-on ("platform-support"))
                 (:file "getting-sbcl"
                        :depends-on ("generate-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"))))