scx/pkg-def.scm

49 lines
1.9 KiB
Scheme

(define-package "scx" (0 2 1)
((optional-parts (xft "Compile with Xft support" #f))
; we need something like one of these
;(include-clib-options #t))
;(extra-options (scsh-includes "where the scsh include files are"
; ("scsh-includes") #t #f)))
)
;; compile and install c libs
(let* ((scsh-includes "/afs/wsi/i386_fbsd46/scsh-0.6.5/include/")
;(scsh-includes (get-extra-option 'scsh-includes))
(prefix (get-directory 'lib #t))
(xft? (with-optional-part? 'xft))
(configure `("./configure" ,(string-append "--prefix=" prefix)
,(if xft? "--with-xft" "--without-xft")
,(if scsh-includes (string-append "--with-scsh-includes="
scsh-includes) "")))
;; better use the real install-prefix as DESTDIR for make...
(make '(make install)))
(if (is-running-dry?)
(begin
(display configure) (newline)
(display make) (newline))
(if (not (and (zero? (run ,configure))
(zero? (run ,make))))
(exit))))
;; create load.scm with sed
(display "creating load.scm\n")
(let ((schemedir (get-directory 'scheme #f))
(libdir (get-directory 'lib #f))
(load-xft-packages (if (with-optional-part? 'xft) "yes" "no"))
(target-dir (get-directory 'base #t))
(sed-replace (lambda (from to)
(string-append "s|" from "|" to "|g"))))
(let ((cmd `(sed -e ,(sed-replace "@scxschemedir@" schemedir)
;; this a bad hack, we would need dir 'lib-base
-e ,(sed-replace "@scxhost@" "\"../\" (host)")
-e ,(sed-replace "@scxlibdir@" libdir)
-e ,(sed-replace "@scxload_xft_packages@"
load-xft-packages)
"load.scm.in"))
(tgt (string-append target-dir "/load.scm")))
(if (is-running-dry?)
(begin (display cmd) (display " > ") (display tgt) (newline))
(run ,cmd (> ,tgt)))))
(display "copying scheme code\n")
(install-directory-contents "scheme" 'scheme)
)