scx/pkg-def.scm

51 lines
1.9 KiB
Scheme
Raw Normal View History

2003-12-11 09:54:55 -05:00
(define-package "scx" (0 2 1)
((options (with-xft "Compile with Xft support" "<yes/no>" #t #t #f
,parse-boolean ,show-boolean)))
2003-12-11 09:54:55 -05:00
;; compile and install c libs
(display "configuring, compiling and installing the native code library\n")
(let* ((scsh-includes (include-dir))
(build-host (get-option-value 'build))
(prefix (string-append (get-directory 'lib #f) "/" build-host))
(xft? (get-option-value 'with-xft))
(configure `("./configure"
,(string-append "--prefix=" prefix)
,(if xft? "--with-xft" "--without-xft")
,(string-append "--with-scsh-includes=" scsh-includes)
,(string-append "--build=" build-host)))
(make `(make install
,(string-append "DESTDIR=" (get-option-value 'dest-dir)))))
(if (get-option-value 'dry-run)
2003-12-11 09:54:55 -05:00
(begin
(display configure) (newline)
(display make) (newline))
(if (not (and (zero? (run ,configure))
(zero? (run ,make))))
(exit))))
;; create load.scm with sed, this is platform-independent
(if (not (get-option-value 'non-shared-only))
(begin
(display "creating load.scm\n")
(let ((schemedir (get-directory 'scheme #f))
(libdir (get-directory 'lib #f))
(load-xft-packages (if (get-option-value 'with-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)
-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 (get-option-value 'dry-run)
(begin (display cmd) (display " > ") (display tgt) (newline))
(if (not (zero? (run ,cmd (> ,tgt))))
(exit)))))))
(install-directory-contents "scheme" 'scheme)
2003-12-11 09:54:55 -05:00
)