pkgsrc/lang/scm/Makefile
obache 730ba9ab46 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);
2007-08-02 14:47:24 +00:00

63 lines
1.7 KiB
Makefile

# $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, 5e3 -> 5.5.3
#
# Do not forget to update InitXXX.scm in files/buildscm.scm
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
HOMEPAGE= http://www.swiss.ai.mit.edu/~jaffer/SCM
COMMENT= Portable scheme interpreter
DEPENDS+= slib>=3.1.1:../../devel/slib
WRKSRC= ${WRKDIR}/scm
EVAL_PREFIX+= SLIB_PREFIX=slib
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
INSTALL_MAKE_FLAGS= ${MAKE_FLAGS} mandir=${PREFIX:Q}/${PKGMANDIR:Q}/
INSTALLATION_DIRS= ${PKGINFODIR} share/scm
.include "../../devel/readline/buildlink3.mk"
post-extract:
${SED} -e "s|@SLIB_PREFIX@|"${SLIB_PREFIX:Q}"|g" \
${FILESDIR}/require.scm > ${WRKSRC}/require.scm
${SED} -e "s|@PREFIX@|"${PREFIX:Q}"|g" \
-e "s|@COMPILED_INITS@|${COMPILED_INITS:=();}|g" \
${FILESDIR}/buildscm.sh > ${WRKSRC}/buildscm.sh
post-build:
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
cd ${WRKSRC}; for f in *.info *.info-[0-9]*; do \
${TEST} ! -f "$$f" || \
${INSTALL_DATA} "$$f" ${PREFIX}/${PKGINFODIR}; \
done
.include "../../mk/bsd.pkg.mk"