pkgsrc/lang/guile/Makefile
gdt 30d0b369b9 Update to 1.8.2. Several patches are now applied upstream. Several
others required significant adjustment due to upstream changes.
Tested on NetBSD-current/i386.

Changes in 1.8.2 (since 1.8.1):

* New procedures (see the manual for details)

** set-program-arguments
** make-vtable

* Incompatible changes

** The body of a top-level `define' no longer sees the binding being created

In a top-level `define', the binding being created is no longer visible
from the `define' body.  This breaks code like
"(define foo (begin (set! foo 1) (+ foo 1)))", where `foo' is now
unbound in the body.  However, such code was not R5RS-compliant anyway,
per Section 5.2.1.

* Bugs fixed

** Fractions were not `equal?' if stored in unreduced form.
(A subtle problem, since printing a value reduced it, making it work.)
** srfi-60 `copy-bit' failed on 64-bit systems
** "guile --use-srfi" option at the REPL can replace core functions
(Programs run with that option were ok, but in the interactive REPL
the core bindings got priority, preventing SRFI replacements or
extensions.)
** `regexp-exec' doesn't abort() on #\nul in the input or bad flags arg
** `kill' on mingw throws an error for a PID other than oneself
** Procedure names are attached to procedure-with-setters
** Array read syntax works with negative lower bound
** `array-in-bounds?' fix if an array has different lower bounds on each index
** `*' returns exact 0 for "(* inexact 0)"
This follows what it always did for "(* 0 inexact)".
** SRFI-19: Value returned by `(current-time time-process)' was incorrect
** SRFI-19: `date->julian-day' did not account for timezone offset
** `ttyname' no longer crashes when passed a non-tty argument
** `inet-ntop' no longer crashes on SPARC when passed an `AF_INET' address
** Small memory leaks have been fixed in `make-fluid' and `add-history'
** GOOPS: Fixed a bug in `method-more-specific?'
** Build problems on Solaris fixed
** Build problems on HP-UX IA64 fixed
** Build problems on MinGW fixed
2007-07-20 00:09:21 +00:00

62 lines
2 KiB
Makefile

# $NetBSD: Makefile,v 1.75 2007/07/20 00:09:21 gdt Exp $
DISTNAME= guile-1.8.2
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_GNU:=guile/}
MAINTAINER= gdt@NetBSD.org
HOMEPAGE= http://www.gnu.org/software/guile/guile.html
COMMENT= GNU's Ubiquitous Intelligent Language for Extension
CONFLICTS= guile14<1.4.1nb1 guile-oops-[0-9]*
GNU_CONFIGURE= YES
USE_TOOLS+= gmake makeinfo
USE_LIBTOOL= YES
USE_GNU_READLINE= YES
PTHREAD_AUTO_VARS= YES
INFO_FILES= # PLIST
# couldn't figure out how to work around an error on solaris-2.9/sparc with gcc when
# compiling ${WRKSRC}/libguile/filesys.c. The warning is that readdir64_r was missing
# a prototype.
CONFIGURE_ARGS+= --disable-error-on-warning
#CONFIGURE_ARGS+= --without-threads
TEST_DIRS= ${WRKSRC}
TEST_TARGET= check
OWN_DIRS= ${PREFIX}/share/guile/site
.include "../../mk/bsd.prefs.mk"
# scmconfig.h will be rebuilt first thing. This hack is here because
# gen-scmconfig.c includes string.h (from /usr/include) which in turn
# tries to include /usr/include/strings.h but instead the compiler picks
# up ./strings.h which tries to include scmconfig.h which doesn't exist
# yet. While not a clean fix, this seems to work around the problem.
#
#
# for info on the slib part, see
# http://lists.gnu.org/archive/html/guile-user/2006-11/msg00035.html
post-patch:
${TOUCH} ${WRKSRC}/libguile/scmconfig.h
echo "(define-module (ice-9 slib))" > ${WRKSRC}/ice-9/slib.scm
echo "(load-from-path \"slib/guile.init\")" >> ${WRKSRC}/ice-9/slib.scm
.if ${OPSYS} == "DragonFly"
CONFIGURE_ARGS+= ac_cv_type_complex_double=no
.endif
.if ${OPSYS} == "Darwin"
CPPFLAGS+= -Dmacosx
post-patch:
@${MV} ${WRKSRC}/guile-config/guile-config.in.orig \
${WRKSRC}/guile-config/guile-config.in
.endif
.include "../../devel/gmp/buildlink3.mk"
.include "../../devel/libltdl/buildlink3.mk"
.include "../../devel/ncurses/buildlink3.mk"
.include "../../devel/readline/buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"