aboutsummaryrefslogtreecommitdiffstats
path: root/lang
diff options
context:
space:
mode:
authorijliao <ijliao@FreeBSD.org>2002-04-09 15:46:10 +0800
committerijliao <ijliao@FreeBSD.org>2002-04-09 15:46:10 +0800
commitecb1ca2db33c554bda51037edc013e0ce57d97cd (patch)
tree6e15fb62be868ecd7fb3bc3cde7725e66a3db78e /lang
parent120c5a42de1f531a61b8c57f4ff79c177125ab8a (diff)
downloadfreebsd-ports-graphics-ecb1ca2db33c554bda51037edc013e0ce57d97cd.tar.gz
freebsd-ports-graphics-ecb1ca2db33c554bda51037edc013e0ce57d97cd.tar.zst
freebsd-ports-graphics-ecb1ca2db33c554bda51037edc013e0ce57d97cd.zip
- Add loadable module support
PR: 36893 Submitted by: Ports Fury
Diffstat (limited to 'lang')
-rw-r--r--lang/scm/Makefile53
-rw-r--r--lang/scm/files/patch-build.scm79
-rw-r--r--lang/scm/files/require.scm.in2
-rw-r--r--lang/scm/pkg-plist315
4 files changed, 279 insertions, 170 deletions
diff --git a/lang/scm/Makefile b/lang/scm/Makefile
index 83e5d1c0b9a..53ba98fa56a 100644
--- a/lang/scm/Makefile
+++ b/lang/scm/Makefile
@@ -7,6 +7,7 @@
PORTNAME= scm
PORTVERSION= 5d5
+PORTREVISION= 1
CATEGORIES= lang
MASTER_SITES= http://swissnet.ai.mit.edu/ftpdir/scm/
DISTFILES= scm5d5.zip slib2d3.zip slib-psd1-3.tar.gz
@@ -28,38 +29,56 @@ PLIST_SUB= VERSION=${PORTVERSION}
SCM_DATA= COPYING Iedline.scm Init${PORTVERSION}.scm Link.scm \
Macexp.scm Macro.scm Transcen.scm Tscript.scm mkimpcat.scm \
r4rstest.scm
+SCM_MODULES= crs.so edline.so gsubr.so ioext.so posix.so ramap.so \
+ record.so rgx.so sc2.so socket.so unix.so
post-extract:
@${TAR} -C ${WRKDIR} -zxf ${DISTDIR}/slib-psd1-3.tar.gz
+ @${CP} ${FILESDIR}/require.scm.in ${WRKDIR}/require.scm
-do-configure:
- @${SED} -e "s:%%PREFIX%%:${PREFIX}:g" \
- ${FILESDIR}/require.scm.in > ${WRKDIR}/require.scm
+post-patch:
+ @${PERL} -pi -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKDIR}/require.scm
+ @${PERL} -pi -e 's|%%CC%%|${CC}|g ; \
+ s|%%CFLAGS%%|${CFLAGS}|g' ${WRKSRC}/build.scm
post-build:
- cd ${WRKSRC}; SCMLIT="./scmlit" ${SH} ./build \
- -F "arrays bignums cautious inexact" \
- -h system \
- -o scm \
- -s "${DATADIR}/"
+ @cd ${WRKSRC} \
+ && SCMLIT="./scmlit" ${SH} ./build \
+ -F "arrays bignums cautious inexact macro dynamic-linking" \
+ -h system \
+ -o scm \
+ -s "${PREFIX}/lib/scm/" \
+ && SCMLIT="./scmlit" ${SH} ./build \
+ -F edit-line \
+ -h system \
+ -t dll \
+ && SCMLIT="./scmlit" ${SH} ./build \
+ -F curses \
+ -h system \
+ -t dll \
+ && SCMLIT="./scmlit" ${SH} ./build \
+ -c "sc2.c rgx.c record.c gsubr.c ioext.c posix.c unix.c \
+ socket.c ramap.c" \
+ -h system \
+ -t dll
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/scm ${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/scmlit ${PREFIX}/bin
${INSTALL_MAN} ${WRKSRC}/scm.1 ${MANPREFIX}/man/man1
- @${MKDIR} ${DATADIR}
- ${INSTALL_DATA} ${WRKDIR}/require.scm ${DATADIR}
-.for file in ${SCM_DATA}
- ${INSTALL_DATA} ${WRKSRC}/${file} ${DATADIR}
+ @${MKDIR} ${PREFIX}/lib/scm
+ ${INSTALL_DATA} ${WRKDIR}/require.scm ${PREFIX}/lib/scm
+.for file in ${SCM_DATA} ${SCM_MODULES}
+ ${INSTALL_DATA} ${WRKSRC}/${file} ${PREFIX}/lib/scm
.endfor
- @${MKDIR} ${DATADIR}/slib
- ${INSTALL_DATA} ${WRKDIR}/slib/*.scm ${DATADIR}/slib
- @${MKDIR} ${DATADIR}/slib/psd
- ${INSTALL_DATA} ${WRKDIR}/slib/psd/*.scm ${DATADIR}/slib/psd
+ @${MKDIR} ${PREFIX}/lib/scm/slib
+ ${INSTALL_DATA} ${WRKDIR}/slib/*.scm ${PREFIX}/lib/scm/slib
+ @${MKDIR} ${PREFIX}/lib/scm/slib/psd
+ ${INSTALL_DATA} ${WRKDIR}/slib/psd/*.scm ${PREFIX}/lib/scm/slib/psd
${INSTALL_DATA} ${WRKDIR}/scm/scm.info ${PREFIX}/info
@install-info ${PREFIX}/info/scm.info ${PREFIX}/info/dir
${INSTALL_DATA} ${WRKDIR}/slib/slib.info ${PREFIX}/info
@install-info ${PREFIX}/info/slib.info ${PREFIX}/info/dir
- cd ${DATADIR} && ${PREFIX}/bin/scm -lmkimpcat.scm
+ cd ${PREFIX}/lib/scm && ${PREFIX}/bin/scm -lmkimpcat.scm
.include <bsd.port.mk>
diff --git a/lang/scm/files/patch-build.scm b/lang/scm/files/patch-build.scm
new file mode 100644
index 00000000000..f947c75273f
--- /dev/null
+++ b/lang/scm/files/patch-build.scm
@@ -0,0 +1,79 @@
+--- build.scm.orig Fri Jan 25 10:19:37 2002
++++ build.scm Sun Apr 7 17:20:38 2002
+@@ -585,6 +585,7 @@
+ (curses darwin "" "" #f () ())
+ (regex darwin "" "" #f () ())
+
++ (c freebsd "" "" #f () ())
+ (m freebsd "" "-lm" #f () ())
+ (curses freebsd "" "-lncurses" "/usr/lib/libncurses.a" () ())
+ (regex freebsd "" "-lgnuregex" "" () ())
+@@ -1362,7 +1363,7 @@
+ (lambda (files parms)
+ (and (batch:try-chopped-command
+ parms
+- "cc" "-O" "-c"
++ "%%CC%%" "%%CFLAGS%%" "-c"
+ (c-includes parms)
+ (c-flags parms)
+ files)
+@@ -1372,7 +1373,7 @@
+ (batch:rename-file parms
+ oname (string-append oname "~"))
+ (and (batch:try-command parms
+- "cc" "-o" oname
++ "%%CC%%" "-o" oname
+ (must-be-first
+ '("-nostartfiles"
+ "pre-crt0.o" "crt0.o"
+@@ -1381,29 +1382,31 @@
+ oname)))
+ (defcommand compile-dll-c-files freebsd
+ (lambda (files parms)
+- (and (batch:try-chopped-command
+- parms
+- "cc" "-O" "-fpic" "-c"
+- (string-append
+- "-I" (parameter-list-ref parms 'scm-srcdir))
+- (c-includes parms)
+- (c-flags parms)
+- files)
+- (let ((objs (map c->o files)))
+- (every
+- (lambda (f)
+- (and (batch:try-command
+- parms "ld" "-Bshareable" f)
+- (batch:try-command
+- parms "mv" "a.out" f)))
+- objs)
+- objs))))
+-
++ (and
++ (batch:try-chopped-command
++ parms
++ "%%CC%%" "%%CFLAGS%%"
++ "-fPIC" "-c" (c-includes parms)
++ (c-flags parms)
++ files)
++ (let* ((results
++ (map
++ (lambda (fname)
++ (and (batch:try-command
++ parms
++ "%%CC%%" "-shared" "-o"
++ (string-append fname ".so")
++ (string-append fname ".o"))
++ (batch:delete-file
++ parms (string-append fname ".o"))
++ (string-append fname ".so")))
++ (truncate-up-to (map c-> files) #\/))))
++ (and (apply and? results) results)))))
+ (defcommand make-dll-archive freebsd
+ (lambda (oname objects libs parms)
+ (and (batch:try-command
+ parms
+- "ld" "-Bshareable" "-o"
++ "%%CC%%" "-shared" "-o"
+ (string-append
+ (car (parameter-list-ref parms 'implvic))
+ oname ".so")
diff --git a/lang/scm/files/require.scm.in b/lang/scm/files/require.scm.in
index ebc50e1a93a..32a79586de0 100644
--- a/lang/scm/files/require.scm.in
+++ b/lang/scm/files/require.scm.in
@@ -1,2 +1,2 @@
-(define (library-vicinity) "%%PREFIX%%/share/scm/slib/")
+(define (library-vicinity) "%%PREFIX%%/lib/scm/slib/")
(load (in-vicinity (library-vicinity) "require"))
diff --git a/lang/scm/pkg-plist b/lang/scm/pkg-plist
index 423f5425da6..337bf324a38 100644
--- a/lang/scm/pkg-plist
+++ b/lang/scm/pkg-plist
@@ -6,155 +6,166 @@ info/scm.info
info/slib.info
@exec install-info %D/info/scm.info %D/info/dir
@exec install-info %D/info/slib.info %D/info/dir
-share/scm/COPYING
-share/scm/Iedline.scm
-share/scm/Init%%VERSION%%.scm
-share/scm/Link.scm
-share/scm/Macexp.scm
-share/scm/Macro.scm
-share/scm/Transcen.scm
-share/scm/Tscript.scm
-share/scm/implcat
-share/scm/mkimpcat.scm
-share/scm/r4rstest.scm
-share/scm/require.scm
-share/scm/slib/Bev2slib.scm
-share/scm/slib/Template.scm
-share/scm/slib/alist.scm
-share/scm/slib/alistab.scm
-share/scm/slib/array.scm
-share/scm/slib/arraymap.scm
-share/scm/slib/batch.scm
-share/scm/slib/break.scm
-share/scm/slib/byte.scm
-share/scm/slib/chap.scm
-share/scm/slib/charplot.scm
-share/scm/slib/cltime.scm
-share/scm/slib/coerce.scm
-share/scm/slib/collect.scm
-share/scm/slib/color.scm
-share/scm/slib/colornam.scm
-share/scm/slib/colorspc.scm
-share/scm/slib/comlist.scm
-share/scm/slib/comparse.scm
-share/scm/slib/cring.scm
-share/scm/slib/daylight.scm
-share/scm/slib/db2html.scm
-share/scm/slib/dbcom.scm
-share/scm/slib/dbrowse.scm
-share/scm/slib/dbutil.scm
-share/scm/slib/debug.scm
-share/scm/slib/defmacex.scm
-share/scm/slib/determ.scm
-share/scm/slib/differ.scm
-share/scm/slib/dwindtst.scm
-share/scm/slib/dynamic.scm
-share/scm/slib/dynwind.scm
-share/scm/slib/eval.scm
-share/scm/slib/factor.scm
-share/scm/slib/fft.scm
-share/scm/slib/fluidlet.scm
-share/scm/slib/format.scm
-share/scm/slib/formatst.scm
-share/scm/slib/genwrite.scm
-share/scm/slib/getopt.scm
-share/scm/slib/getparam.scm
-share/scm/slib/glob.scm
-share/scm/slib/hash.scm
-share/scm/slib/hashtab.scm
-share/scm/slib/htmlform.scm
-share/scm/slib/http-cgi.scm
-share/scm/slib/lineio.scm
-share/scm/slib/logical.scm
-share/scm/slib/macrotst.scm
-share/scm/slib/macwork.scm
-share/scm/slib/makcrc.scm
-share/scm/slib/matfile.scm
-share/scm/slib/mbe.scm
-share/scm/slib/minimize.scm
-share/scm/slib/mklibcat.scm
-share/scm/slib/modular.scm
-share/scm/slib/mulapply.scm
-share/scm/slib/mularg.scm
-share/scm/slib/mwdenote.scm
-share/scm/slib/mwexpand.scm
-share/scm/slib/mwsynrul.scm
-share/scm/slib/nclients.scm
-share/scm/slib/null.scm
-share/scm/slib/obj2str.scm
-share/scm/slib/object.scm
-share/scm/slib/paramlst.scm
-share/scm/slib/plottest.scm
-share/scm/slib/pnm.scm
-share/scm/slib/pp.scm
-share/scm/slib/ppfile.scm
-share/scm/slib/prec.scm
-share/scm/slib/printf.scm
-share/scm/slib/priorque.scm
-share/scm/slib/process.scm
-share/scm/slib/promise.scm
-share/scm/slib/psd/instrum.scm
-share/scm/slib/psd/pexpr.scm
-share/scm/slib/psd/primitives.scm
-share/scm/slib/psd/psd-slib.scm
-share/scm/slib/psd/read.scm
-share/scm/slib/psd/runtime.scm
-share/scm/slib/psd/version.scm
-share/scm/slib/psxtime.scm
-share/scm/slib/qp.scm
-share/scm/slib/queue.scm
-share/scm/slib/r4rsyn.scm
-share/scm/slib/randinex.scm
-share/scm/slib/random.scm
-share/scm/slib/ratize.scm
-share/scm/slib/rdms.scm
-share/scm/slib/recobj.scm
-share/scm/slib/record.scm
-share/scm/slib/repl.scm
-share/scm/slib/report.scm
-share/scm/slib/require.scm
-share/scm/slib/root.scm
-share/scm/slib/sc2.scm
-share/scm/slib/sc4opt.scm
-share/scm/slib/sc4sc3.scm
-share/scm/slib/scaexpp.scm
-share/scm/slib/scaglob.scm
-share/scm/slib/scainit.scm
-share/scm/slib/scamacr.scm
-share/scm/slib/scanf.scm
-share/scm/slib/scaoutp.scm
-share/scm/slib/schmooz.scm
-share/scm/slib/scmacro.scm
-share/scm/slib/selfset.scm
-share/scm/slib/sierpinski.scm
-share/scm/slib/simetrix.scm
-share/scm/slib/solid.scm
-share/scm/slib/sort.scm
-share/scm/slib/soundex.scm
-share/scm/slib/srfi-1.scm
-share/scm/slib/srfi.scm
-share/scm/slib/stdio.scm
-share/scm/slib/strcase.scm
-share/scm/slib/strport.scm
-share/scm/slib/strsrch.scm
-share/scm/slib/structure.scm
-share/scm/slib/subarray.scm
-share/scm/slib/synchk.scm
-share/scm/slib/synclo.scm
-share/scm/slib/synrul.scm
-share/scm/slib/timezone.scm
-share/scm/slib/trace.scm
-share/scm/slib/tree.scm
-share/scm/slib/trnscrpt.scm
-share/scm/slib/tsort.scm
-share/scm/slib/tzfile.scm
-share/scm/slib/uri.scm
-share/scm/slib/values.scm
-share/scm/slib/withfile.scm
-share/scm/slib/wttest.scm
-share/scm/slib/wttree.scm
-share/scm/slib/yasyn.scm
-share/scm/slibcat
-@dirrm share/scm/slib/psd
-@dirrm share/scm/slib
-@dirrm share/scm
+lib/scm/COPYING
+lib/scm/Iedline.scm
+lib/scm/Init%%VERSION%%.scm
+lib/scm/Link.scm
+lib/scm/Macexp.scm
+lib/scm/Macro.scm
+lib/scm/Transcen.scm
+lib/scm/Tscript.scm
+lib/scm/crs.so
+lib/scm/edline.so
+lib/scm/gsubr.so
+lib/scm/implcat
+lib/scm/ioext.so
+lib/scm/mkimpcat.scm
+lib/scm/posix.so
+lib/scm/r4rstest.scm
+lib/scm/ramap.so
+lib/scm/record.so
+lib/scm/require.scm
+lib/scm/rgx.so
+lib/scm/sc2.so
+lib/scm/slib/Bev2slib.scm
+lib/scm/slib/Template.scm
+lib/scm/slib/alist.scm
+lib/scm/slib/alistab.scm
+lib/scm/slib/array.scm
+lib/scm/slib/arraymap.scm
+lib/scm/slib/batch.scm
+lib/scm/slib/break.scm
+lib/scm/slib/byte.scm
+lib/scm/slib/chap.scm
+lib/scm/slib/charplot.scm
+lib/scm/slib/cltime.scm
+lib/scm/slib/coerce.scm
+lib/scm/slib/collect.scm
+lib/scm/slib/color.scm
+lib/scm/slib/colornam.scm
+lib/scm/slib/colorspc.scm
+lib/scm/slib/comlist.scm
+lib/scm/slib/comparse.scm
+lib/scm/slib/cring.scm
+lib/scm/slib/daylight.scm
+lib/scm/slib/db2html.scm
+lib/scm/slib/dbcom.scm
+lib/scm/slib/dbrowse.scm
+lib/scm/slib/dbutil.scm
+lib/scm/slib/debug.scm
+lib/scm/slib/defmacex.scm
+lib/scm/slib/determ.scm
+lib/scm/slib/differ.scm
+lib/scm/slib/dwindtst.scm
+lib/scm/slib/dynamic.scm
+lib/scm/slib/dynwind.scm
+lib/scm/slib/eval.scm
+lib/scm/slib/factor.scm
+lib/scm/slib/fft.scm
+lib/scm/slib/fluidlet.scm
+lib/scm/slib/format.scm
+lib/scm/slib/formatst.scm
+lib/scm/slib/genwrite.scm
+lib/scm/slib/getopt.scm
+lib/scm/slib/getparam.scm
+lib/scm/slib/glob.scm
+lib/scm/slib/hash.scm
+lib/scm/slib/hashtab.scm
+lib/scm/slib/htmlform.scm
+lib/scm/slib/http-cgi.scm
+lib/scm/slib/lineio.scm
+lib/scm/slib/logical.scm
+lib/scm/slib/macrotst.scm
+lib/scm/slib/macwork.scm
+lib/scm/slib/makcrc.scm
+lib/scm/slib/matfile.scm
+lib/scm/slib/mbe.scm
+lib/scm/slib/minimize.scm
+lib/scm/slib/mklibcat.scm
+lib/scm/slib/modular.scm
+lib/scm/slib/mulapply.scm
+lib/scm/slib/mularg.scm
+lib/scm/slib/mwdenote.scm
+lib/scm/slib/mwexpand.scm
+lib/scm/slib/mwsynrul.scm
+lib/scm/slib/nclients.scm
+lib/scm/slib/null.scm
+lib/scm/slib/obj2str.scm
+lib/scm/slib/object.scm
+lib/scm/slib/paramlst.scm
+lib/scm/slib/plottest.scm
+lib/scm/slib/pnm.scm
+lib/scm/slib/pp.scm
+lib/scm/slib/ppfile.scm
+lib/scm/slib/prec.scm
+lib/scm/slib/printf.scm
+lib/scm/slib/priorque.scm
+lib/scm/slib/process.scm
+lib/scm/slib/promise.scm
+lib/scm/slib/psd/instrum.scm
+lib/scm/slib/psd/pexpr.scm
+lib/scm/slib/psd/primitives.scm
+lib/scm/slib/psd/psd-slib.scm
+lib/scm/slib/psd/read.scm
+lib/scm/slib/psd/runtime.scm
+lib/scm/slib/psd/version.scm
+lib/scm/slib/psxtime.scm
+lib/scm/slib/qp.scm
+lib/scm/slib/queue.scm
+lib/scm/slib/r4rsyn.scm
+lib/scm/slib/randinex.scm
+lib/scm/slib/random.scm
+lib/scm/slib/ratize.scm
+lib/scm/slib/rdms.scm
+lib/scm/slib/recobj.scm
+lib/scm/slib/record.scm
+lib/scm/slib/repl.scm
+lib/scm/slib/report.scm
+lib/scm/slib/require.scm
+lib/scm/slib/root.scm
+lib/scm/slib/sc2.scm
+lib/scm/slib/sc4opt.scm
+lib/scm/slib/sc4sc3.scm
+lib/scm/slib/scaexpp.scm
+lib/scm/slib/scaglob.scm
+lib/scm/slib/scainit.scm
+lib/scm/slib/scamacr.scm
+lib/scm/slib/scanf.scm
+lib/scm/slib/scaoutp.scm
+lib/scm/slib/schmooz.scm
+lib/scm/slib/scmacro.scm
+lib/scm/slib/selfset.scm
+lib/scm/slib/sierpinski.scm
+lib/scm/slib/simetrix.scm
+lib/scm/slib/solid.scm
+lib/scm/slib/sort.scm
+lib/scm/slib/soundex.scm
+lib/scm/slib/srfi-1.scm
+lib/scm/slib/srfi.scm
+lib/scm/slib/stdio.scm
+lib/scm/slib/strcase.scm
+lib/scm/slib/strport.scm
+lib/scm/slib/strsrch.scm
+lib/scm/slib/structure.scm
+lib/scm/slib/subarray.scm
+lib/scm/slib/synchk.scm
+lib/scm/slib/synclo.scm
+lib/scm/slib/synrul.scm
+lib/scm/slib/timezone.scm
+lib/scm/slib/trace.scm
+lib/scm/slib/tree.scm
+lib/scm/slib/trnscrpt.scm
+lib/scm/slib/tsort.scm
+lib/scm/slib/tzfile.scm
+lib/scm/slib/uri.scm
+lib/scm/slib/values.scm
+lib/scm/slib/withfile.scm
+lib/scm/slib/wttest.scm
+lib/scm/slib/wttree.scm
+lib/scm/slib/yasyn.scm
+lib/scm/slibcat
+lib/scm/socket.so
+lib/scm/unix.so
+@dirrm lib/scm/slib/psd
+@dirrm lib/scm/slib
+@dirrm lib/scm