pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/scm Update scm to 5.5.3 a.k.a 5e3.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/9e2c1017d10e
branches:  trunk
changeset: 531579:9e2c1017d10e
user:      obache <obache%pkgsrc.org@localhost>
date:      Thu Aug 02 14:47:24 2007 +0000

description:
Update scm to 5.5.3 a.k.a 5e3.
Based on patch provided by Aleksej Saushev in PR 36471.

pkgsrc changes:
 Enable to build x11 feature (optional, default=on).
 Previously, depend on x11, but not build x11 feature.

scm5e3 news:

Richard Harke ported SCM to the Linux-ia64.

SRFI-94 Type-Restricted Numerical Functions.

SRFI-63 uniform array type support expanded to:

  A:floC64b     inexact 64.bit binary flonum complex
  A:floC32b     inexact 32.bit binary flonum complex
  A:floC16b     inexact 16.bit binary flonum complex
  A:floR64b     inexact 64.bit binary flonum real
  A:floR32b     inexact 32.bit binary flonum real
  A:floR16b     inexact 16.bit binary flonum real
  A:fixZ32b     exact   32.bit binary fixnum
  A:fixZ16b     exact   16.bit binary fixnum
  A:fixZ8b      exact   8.bit binary fixnum
  A:fixN32b     exact   32.bit nonnegative binary fixnum
  A:fixN16b     exact   16.bit nonnegative binary fixnum
  A:fixN8b      exact   8.bit nonnegative binary fixnum
  A:bool                boolean
  string                char

Radey Shouman has changed LETREC to behave like LETREC*:

  * eval.c (ceval_1): Change LETREC behavior to that of LETREC*:
  initializers are run in left to right order, and may use
  previously evaluated variables bound in the same contour.  This
  change also applies to LETRECs resulting from internal DEFINE.

  * eval.c (macroexp1): Add #ifdef to switch case handling line numbers
  in ceval_1 so that they are safely discarded when MEMOIZE_LOCALS is
  not #defined.  Perhaps line number generation should be disabled in
  that case.

  * scl.c: Changes to allow compilation with MinGW (gnu-win32);
  asinh, acosh, and atanh are not yet supported.

>From Aubrey Jaffer:

  * indexes.texi (Indexes): Give each index its own node when not in
  info mode.  Moved index stuff here so it doesn't break
  texinfo-every-node-update.

  * scm.texi (Index): Replaced nodes under Indexes with node Index
  when in info mode; fixes indexing in Emacs 21.4.1.
  Converted to use @copying.
  (Indexes): Reorganized.
  (Data Type Representations): Corrected pattern for specfun and cclo.

  * byte.c (subbytes): Added.
  (scm_subbytes_read, scm_subbytes_write): Renamed from substring.

  * Makefile (dscm4, dscm5): != is string operator in shell.
  "mv -f" for previous scm, slibcat, and implcat.

  * Init5e2.scm (boot-tail): Don't load ScmInit.scm if *script*.
  (string-index, read-line): Defined for login->home-directory, which
  may be called before REQUIRE is defined.

  * Makefile (dscm4, dscm5): Added randomize_va_space machinations.
  (dvi, pdf): New tetex-3.0(-20.FC5) broke them -- fixed.
  (SETARCH): Workarounds allow dumping in recent Linux.

  * time.c (linux): defined CLKTCK to (sysconf(_SC_CLK_TCK)).

  * repl.c (scm_read_numbered): Don't #ifndef MEMOIZED_LOCALS.

  * build.scm (dont-memoize-locals): Added feature.
  (stack-limit): Removed feature.

  * scmfig.h (STACK_LIMIT): Always defined.
  (CHECK_STACK): Condition on scm_verbose.

  * sys.c (stack_check): Always present.

  * Makefile (docs): Added target to make all documentation files;
  then invoke xdvi.

  * ugsetjmp.s (_setjump, _longjump): For Ultrix VAX circa 1997.

  * subr.c (mkbig, adjbig): Improved overflow message.

  * mkimpcat.scm (wbtab, rwb-isam): moved to "Simple associations".
  (add-source): Use 'source form and check file's existence.

  * scl.c (scm_magnitude): Extend dynamic range by eliminating
  intermediate expression swell.
  (divide): Use "Smith's formula" to extend dynamic range;
  but makes an insignificant difference when compiled with -O3.
  (atanh, acosh, asinh): define if #ifndef HAVE_ATANH.

  * scmfig.h (HAVE_ATANH): Decides whether atanh, asinh, and acosh
  are supported.

  * r4rstest.scm (5 2 1): Expose Bigloo tprint redefinition bug.
  (test-bignum): Convert test bignums from strings.
  (have-bignums?): Check bignum arithmetic works.
  (test-inexact): Do complex tests only if non-real numbers are
  supported.
  (test-inexact): Added equal? tests.
  (test-inexact): Test for -0.0 lossage.
  (test-inexact): Check that / and magnitude work for
  very large and very small complex numbers (1e300; 1e-300);

diffstat:

 lang/scm/Makefile          |  41 ++++++++++++++++++++++++-----------------
 lang/scm/PLIST             |   6 ++++--
 lang/scm/distinfo          |  12 ++++++------
 lang/scm/files/buildscm.sh |   8 ++++----
 lang/scm/options.mk        |  15 +++++++++++++++
 lang/scm/patches/patch-aa  |  36 +++++++++++++++++++++++++++---------
 lang/scm/patches/patch-ab  |  14 +++++++-------
 7 files changed, 87 insertions(+), 45 deletions(-)

diffs (268 lines):

diff -r bbd6aa1bf136 -r 9e2c1017d10e lang/scm/Makefile
--- a/lang/scm/Makefile Thu Aug 02 14:41:18 2007 +0000
+++ b/lang/scm/Makefile Thu Aug 02 14:47:24 2007 +0000
@@ -1,29 +1,36 @@
-# $NetBSD: Makefile,v 1.18 2007/02/22 19:01:21 wiz Exp $
+# $NetBSD: Makefile,v 1.19 2007/08/02 14:47:24 obache Exp $
 #
 # Convert the version number as follows 2d2 -> 2.4.2, where the d is
 # changed to a 4, representing the 4th letter.
-# Thus, 5e1 -> 5.5.1
+# Thus, 5e3 -> 5.5.3
 #
 # Do not forget to update InitXXX.scm in files/buildscm.scm
 
-DISTNAME=      scm5e1
-PKGNAME=       scm-5.5.1
-PKGREVISION=   1
+DISTNAME=      scm5e3
+PKGNAME=       scm-5.5.3
 CATEGORIES=    lang
 MASTER_SITES=  http://swissnet.ai.mit.edu/ftpdir/scm/
 EXTRACT_SUFX=  .zip
 
 MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
-HOMEPAGE=      http://www.swiss.ai.mit.edu/~jaffer/SCM.html
+HOMEPAGE=      http://www.swiss.ai.mit.edu/~jaffer/SCM
 COMMENT=       Portable scheme interpreter
 
 DEPENDS+=      slib>=3.1.1:../../devel/slib
 
-USE_TOOLS+=    gmake
-
 WRKSRC=                ${WRKDIR}/scm
 EVAL_PREFIX+=  SLIB_PREFIX=slib
-INFO_FILES=    # PLIST
+INFO_FILES=    yes
+
+SCM_MODULES+=  sc2 ramap dynl edline gsubr ioext posix record rgx socket
+SCM_MODULES+=  unix  continue scm scmmain findexec script time repl scl eval
+SCM_MODULES+=  sys subr debug unif rope unexelf
+COMPILED_INITS+=init_edline
+
+.include "options.mk"
+
+SRCS=          ${SCM_MODULES:=.c}
+OBJS=          ${SCM_MODULES:=.o}
 
 BUILD_TARGET=  scmlit libscm.a
 INSTALL_TARGET=        install installlib
@@ -32,19 +39,19 @@
 
 INSTALLATION_DIRS=     ${PKGINFODIR} share/scm
 
-.include "../../devel/ncurses/buildlink3.mk"
-.include "../../mk/x11.buildlink3.mk"
+.include "../../devel/readline/buildlink3.mk"
 
-do-configure:
+post-extract:
        ${SED} -e "s|@SLIB_PREFIX@|"${SLIB_PREFIX:Q}"|g"                \
                ${FILESDIR}/require.scm > ${WRKSRC}/require.scm
-       ${SED}  -e "s|@CC@|"${CC:Q}"|g"                                 \
-               -e "s|@CFLAGS@|"${CFLAGS:Q}"|g"                         \
-               -e "s|@PREFIX@|"${PREFIX:Q}"|g"                         \
-               ${FILESDIR}/buildscm.sh > ${WRKSRC}/buildscm.sh
+       ${SED} -e "s|@PREFIX@|"${PREFIX:Q}"|g"                          \
+               -e "s|@COMPILED_INITS@|${COMPILED_INITS:=();}|g"        \
+               ${FILESDIR}/buildscm.sh  > ${WRKSRC}/buildscm.sh
 
 post-build:
-       cd ${WRKSRC} && ${SH} ./buildscm.sh
+       cd ${WRKSRC} && env ${MAKE_ENV} LIBS=${LIBS:Q} \
+               SRCS=${SRCS:Q} OBJS=${OBJS:Q} \
+               ${SH} ./buildscm.sh
 
 post-install:
        ${INSTALL_DATA} ${WRKSRC}/slibcat ${PREFIX}/share/scm
diff -r bbd6aa1bf136 -r 9e2c1017d10e lang/scm/PLIST
--- a/lang/scm/PLIST    Thu Aug 02 14:41:18 2007 +0000
+++ b/lang/scm/PLIST    Thu Aug 02 14:47:24 2007 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.5 2006/04/05 06:27:42 jlam Exp $
+@comment $NetBSD: PLIST,v 1.6 2007/08/02 14:47:24 obache Exp $
 bin/scm
 bin/scmlit
 include/patchlvl.h
@@ -14,7 +14,7 @@
 share/scm/COPYING
 share/scm/Idiffer.scm
 share/scm/Iedline.scm
-share/scm/Init5e1.scm
+share/scm/Init5e3.scm
 share/scm/Link.scm
 share/scm/Macexp.scm
 share/scm/Macro.scm
@@ -28,8 +28,10 @@
 share/scm/mkimpcat.scm
 share/scm/r4rstest.scm
 share/scm/require.scm
+share/scm/rwb-isam.scm
 share/scm/scmhob.scm
 share/scm/slibcat
+share/scm/wbtab.scm
 share/scm/x11.scm
 share/scm/xatoms.scm
 share/scm/xevent.scm
diff -r bbd6aa1bf136 -r 9e2c1017d10e lang/scm/distinfo
--- a/lang/scm/distinfo Thu Aug 02 14:41:18 2007 +0000
+++ b/lang/scm/distinfo Thu Aug 02 14:47:24 2007 +0000
@@ -1,10 +1,10 @@
-$NetBSD: distinfo,v 1.5 2006/02/19 17:50:11 joerg Exp $
+$NetBSD: distinfo,v 1.6 2007/08/02 14:47:24 obache Exp $
 
-SHA1 (scm5e1.zip) = 20bb517f1b6229644a1f3873d7607cac3569a5fa
-RMD160 (scm5e1.zip) = 2f4c2d05061db2f0929053b0c565631c7a4806e2
-Size (scm5e1.zip) = 868500 bytes
-SHA1 (patch-aa) = be890f81fdd284cfd04c39841a06117ac63d3c04
-SHA1 (patch-ab) = d6c19134cb99d6f4d847ff53c2d73f7ba847becd
+SHA1 (scm5e3.zip) = 3d7a0160357840c6a96ef9ded6fb31d92507561d
+RMD160 (scm5e3.zip) = 91f97bf4efd6bf734fe3e789762a90f20ad7b9b2
+Size (scm5e3.zip) = 901866 bytes
+SHA1 (patch-aa) = 456277f5bbce1fd90c0683a6fa66d7946aa84d07
+SHA1 (patch-ab) = 9b3b078bdebad4bc12bd52d6a2db202d5cf88f89
 SHA1 (patch-ac) = 248981dd6fe1e099dc747d2dfca14671e60a9897
 SHA1 (patch-ad) = 8f5a993d4adcb053884985f966ceb2092999ff70
 SHA1 (patch-ae) = dc6691615dced4295ce1fa21dff5c1b955de858b
diff -r bbd6aa1bf136 -r 9e2c1017d10e lang/scm/files/buildscm.sh
--- a/lang/scm/files/buildscm.sh        Thu Aug 02 14:41:18 2007 +0000
+++ b/lang/scm/files/buildscm.sh        Thu Aug 02 14:47:24 2007 +0000
@@ -2,9 +2,9 @@
 # unix (unix) script created by SLIB/batch Thu Jul 17 21:20:04 2003
 # ================ Write file with C defines
 rm -f scmflags.h
-echo '#define IMPLINIT "@PREFIX@/share/scm/Init5e1.scm"'>>scmflags.h
+echo '#define IMPLINIT "@PREFIX@/share/scm/Init5e3.scm"'>>scmflags.h
 echo '#define INITS init_sc2();init_ramap();init_gsubr();init_ioext();init_posix();init_record();init_rgx();init_socket();init_unix();'>>scmflags.h
-echo '#define COMPILED_INITS init_edline();'>>scmflags.h
+echo '#define COMPILED_INITS @COMPILED_INITS@'>>scmflags.h
 echo '#define ARRAYS'>>scmflags.h
 echo '#define BIGNUMS'>>scmflags.h
 echo '#define CAUTIOUS'>>scmflags.h
@@ -16,7 +16,7 @@
 echo '#define CCLO'>>scmflags.h
 echo '#define TICKS'>>scmflags.h
 # ================ Compile C source files
-@CC@ @CFLAGS@ -c -Wall sc2.c ramap.c dynl.c edline.c gsubr.c ioext.c posix.c record.c rgx.c socket.c unix.c  continue.c scm.c scmmain.c findexec.c script.c time.c repl.c scl.c eval.c sys.c subr.c 
debug.c unif.c rope.c unexelf.c
+${CC} ${CFLAGS} -c -Wall ${SRCS}
 # ================ Link C object files
 mv -f scm scm~
-@CC@ -o scm sc2.o ramap.o dynl.o edline.o gsubr.o ioext.o posix.o record.o rgx.o socket.o unix.o continue.o scm.o scmmain.o findexec.o script.o time.o repl.o scl.o eval.o sys.o subr.o debug.o unif.o 
rope.o unexelf.o -lm -ledit -ltermcap
+${CC} ${LDFLAGS} -o scm ${OBJS} -lm -lreadline ${LIBS}
diff -r bbd6aa1bf136 -r 9e2c1017d10e lang/scm/options.mk
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/scm/options.mk       Thu Aug 02 14:47:24 2007 +0000
@@ -0,0 +1,15 @@
+# $NetBSD: options.mk,v 1.1 2007/08/02 14:47:24 obache Exp $
+
+PKG_OPTIONS_VAR=       PKG_OPTIONS.scm
+PKG_SUPPORTED_OPTIONS= x11
+PKG_SUGGESTED_OPTIONS= x11
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Mx11)
+.include "../../x11/libX11/buildlink3.mk"
+SCM_MODULES+=  x
+COMPILED_INITS+=init_x
+CFLAGS+=       -DX11 -I${X11BASE:Q}/include
+LIBS+=         -L${X11BASE:Q}/lib -lX11
+.endif
diff -r bbd6aa1bf136 -r 9e2c1017d10e lang/scm/patches/patch-aa
--- a/lang/scm/patches/patch-aa Thu Aug 02 14:41:18 2007 +0000
+++ b/lang/scm/patches/patch-aa Thu Aug 02 14:47:24 2007 +0000
@@ -1,6 +1,6 @@
-$NetBSD: patch-aa,v 1.3 2006/02/19 17:50:11 joerg Exp $
+$NetBSD: patch-aa,v 1.4 2007/08/02 14:47:25 obache Exp $
 
---- Makefile.orig      2005-06-24 01:20:35.000000000 +0000
+--- Makefile.orig      2006-10-25 01:47:17.000000000 +0000
 +++ Makefile
 @@ -44,7 +44,7 @@
  SHELL = /bin/sh
@@ -11,20 +11,38 @@
  #LD = $(CC) -g
  LD = $(CC)
  SCMLIT = ./scmlit
-@@ -97,7 +97,9 @@ ofiles = scm.o time.o repl.o scl.o sys.o
- # ramap.o
+@@ -86,7 +86,7 @@ srcdir.mk:   Makefile
+       echo "srcdir=`pwd`/" >> srcdir.mk
+ #srcdir=$(HOME)/scm/
+ #srcdir=/usr/local/src/scm/
+-include srcdir.mk
++#include srcdir.mk
+ 
+ # directory where COPYING and InitXXX.scm reside.
+ #IMPLPATH = /usr/local/src/scm/
+@@ -110,7 +110,9 @@ ofiles = scm.o time.o repl.o scl.o sys.o
+ # continue-ia64.o
  ifiles = Init$(VERSION).scm Transcen.scm Link.scm Macro.scm Macexp.scm \
        Tscript.scm compile.scm Iedline.scm Idiffer.scm
 -hobfiles = hobbit.scm scmhob.scm scmhob.h
 +hobsrcs = hobbit.scm scmhob.scm
 +hobincs = scmhob.h
 +hobfiles = $(hobsrcs) $(hobincs)
+ turfiles = turtlegr.c turtle grtest.scm
  xafiles = xatoms.scm x11.scm xevent.scm keysymdef.scm
  xfiles = x.c x.h xgen.scm xevent.h inc2scm $(xafiles)
+@@ -249,7 +251,7 @@ libscm.opt:
+       echo "-F engineering-notation" >> libscm.opt
+       echo "-F dynamic-linking" >> libscm.opt
+ mylib:        libscm.a
+-libscm.a:     libscm.opt
++libscm.a:     libscm.opt scmlit
+       $(BUILD) -t lib -f libscm.opt
+ libtest:      libscm.a libtest.c
+       $(LD) -o libtest libtest.c libscm.a -ldl -lm -lc
+@@ -420,12 +422,12 @@ $(PREVDOCS)scm.info:     srcdir.mk Makefile
  
-@@ -396,12 +398,12 @@ $(PREVDOCS)scm.info:     srcdir.mk Makefile
- 
- rpm_prefix=/usr/src/redhat/
+ rpm_prefix=$(HOME)/rpmbuild/
  
 -prefix = /usr/local/
 +prefix = $(PREFIX)/
@@ -37,7 +55,7 @@
  # directory where `make install' will put manual page.
  mandir = $(prefix)man/
  man1dir = $(mandir)man1/
-@@ -453,7 +455,7 @@ $(infodir)Xlibscm.info.gz: $(infodir)Xli
+@@ -477,7 +479,7 @@ $(infodir)Xlibscm.info.gz: $(infodir)Xli
  $(infodir)hobbit.info.gz:     $(infodir)hobbit.info
        gzip -f $(infodir)hobbit.info
  
@@ -46,7 +64,7 @@
        test -d $(bindir) || mkdir $(bindir)
        test -d $(mandir) || mkdir $(mandir)
        test -d $(man1dir) || mkdir $(man1dir)
-@@ -462,16 +464,16 @@ install: scm.1 db.so wbtab.scm rwb-isam.
+@@ -486,16 +488,16 @@ install: scm.1 db.so wbtab.scm rwb-isam.
        -cp scm.1 $(man1dir)
        test -d $(libdir) || mkdir $(libdir)
        test -d $(libscmdir) || mkdir $(libscmdir)
diff -r bbd6aa1bf136 -r 9e2c1017d10e lang/scm/patches/patch-ab
--- a/lang/scm/patches/patch-ab Thu Aug 02 14:41:18 2007 +0000
+++ b/lang/scm/patches/patch-ab Thu Aug 02 14:47:24 2007 +0000
@@ -1,13 +1,13 @@
-$NetBSD: patch-ab,v 1.1.1.1 2003/10/04 20:31:23 agc Exp $
+$NetBSD: patch-ab,v 1.2 2007/08/02 14:47:25 obache Exp $
 
---- socket.c.orig      2003-01-02 11:44:31.000000000 -0800
+--- socket.c.orig      2006-01-07 02:17:38.000000000 +0000
 +++ socket.c
-@@ -146,7 +146,7 @@ SCM l_hostinfo(name)
+@@ -149,7 +149,7 @@ SCM l_hostinfo(name)
    struct in_addr inad;
-   char **argv;
+   const char **argv;
    int i = 0;
--#ifndef linux
-+#if !(defined(linux) || defined(__NetBSD__))
-   if UNBNDP(name) {
+-# ifndef linux
++# if !(defined(linux) || defined(__NetBSD__))
+   if (UNBNDP(name)) {
      DEFER_INTS;
      SYSCALL(entry = gethostent(););



Home | Main Index | Thread Index | Old Index