first working version, but not very nice yet... need more support from install-lib

This commit is contained in:
frese 2003-12-16 16:46:26 +00:00
parent 1d00a81b6a
commit c4e7388406
1 changed files with 40 additions and 9 deletions

View File

@ -1,17 +1,48 @@
(define-package "scx" (0 2 1) (define-package "scx" (0 2 1)
((optional-parts (xft "Compile with Xft support" #f))) ((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)))
)
(let* ((prefix (package-installation-staging-dir)) ;; 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)) (xft? (with-optional-part? 'xft))
(configure (quasiquote ("./configure" ,(string-append "--prefix=" prefix) (configure `("./configure" ,(string-append "--prefix=" prefix)
,(if xft? "--with-xft" "--without-xft")))) ,(if xft? "--with-xft" "--without-xft")
(make '(make all install))) ,(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?) (if (is-running-dry?)
(begin (begin
(display configure) (newline) (display configure) (newline)
(display make) (newline)) (display make) (newline))
(and (zero? (run ,configure)) (if (not (and (zero? (run ,configure))
(zero? (run ,make))))) (zero? (run ,make))))
(install-file "load.scm") (exit))))
(install-directory "scheme") ;; 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)
) )