aboutsummaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorPav Lucistnik <pav@FreeBSD.org>2008-06-19 02:50:47 +0000
committerPav Lucistnik <pav@FreeBSD.org>2008-06-19 02:50:47 +0000
commit1fffccb9b203900720b19fdc7daf616cf0e6df17 (patch)
tree38cc4214f93099a7638c1888275ecf29b7ad7a61 /lang
parent5b50c3211ddbca90666eab63dc18ced80140df08 (diff)
downloadports-1fffccb9b203900720b19fdc7daf616cf0e6df17.tar.gz
ports-1fffccb9b203900720b19fdc7daf616cf0e6df17.zip
Notes
Diffstat (limited to 'lang')
-rw-r--r--lang/drscheme/Makefile4
-rw-r--r--lang/drscheme/files/patch-sighand.c22
-rw-r--r--lang/drscheme/files/patch-wx_keym.cxx28
3 files changed, 51 insertions, 3 deletions
diff --git a/lang/drscheme/Makefile b/lang/drscheme/Makefile
index c1702b26ffbe..e2bfae72f0bd 100644
--- a/lang/drscheme/Makefile
+++ b/lang/drscheme/Makefile
@@ -27,7 +27,7 @@ LIB_DEPENDS= cairo.2:${PORTSDIR}/graphics/cairo \
jpeg.9:${PORTSDIR}/graphics/jpeg \
png.5:${PORTSDIR}/graphics/png
-USE_XORG= xft x11 xrender
+USE_XORG= xft x11 xrender xaw
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --prefix=${PREFIX} --enable-shared --enable-xft --enable-gl \
--enable-xrender --enable-cairo --with-x --enable-pthread \
@@ -57,8 +57,6 @@ PLTPATCHES= # none yet for this version
.include <bsd.port.pre.mk>
-BROKEN= Fails to install (signal 11)
-
.if defined(WITH_CGC)
ALL_TARGET= both
INSTALL_TARGET= install-both
diff --git a/lang/drscheme/files/patch-sighand.c b/lang/drscheme/files/patch-sighand.c
new file mode 100644
index 000000000000..1ffd96097fe1
--- /dev/null
+++ b/lang/drscheme/files/patch-sighand.c
@@ -0,0 +1,22 @@
+--- mzscheme/gc2/sighand.c.orig 2007-04-29 04:08:24.000000000 +0200
++++ mzscheme/gc2/sighand.c 2008-06-19 04:36:23.000000000 +0200
+@@ -27,13 +27,18 @@
+ /* As of 2007/04/28, this is a guess for NetBSD and OpenBSD! */
+ #if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
+ # include <signal.h>
++# include <sys/param.h>
+ void fault_handler(int sn, siginfo_t *si, void *ctx)
+ {
+ if (!designate_modified(si->si_addr))
+ abort();
+ }
+ # define NEED_SIGACTION
+-# define USE_SIGACTON_SIGNAL_KIND SIGBUS
++# if defined(__FreeBSD__) && (__FreeBSD_version < 700000)
++# define USE_SIGACTON_SIGNAL_KIND SIGBUS
++# else
++# define USE_SIGACTON_SIGNAL_KIND SIGSEGV
++# endif
+ #endif
+
+ /* ========== Solaris signal handler ========== */
diff --git a/lang/drscheme/files/patch-wx_keym.cxx b/lang/drscheme/files/patch-wx_keym.cxx
new file mode 100644
index 000000000000..22a227bfafef
--- /dev/null
+++ b/lang/drscheme/files/patch-wx_keym.cxx
@@ -0,0 +1,28 @@
+diff -ur mred/wxme/wx_keym.cxx mred/wxme/wx_keym.cxx
+--- mred/wxme/wx_keym.cxx 2007-08-03 02:56:05.000000000 +1000
++++ mred/wxme/wx_keym.cxx 2007-12-18 17:19:10.000000000 +1100
+@@ -512,14 +512,20 @@
+ if (i >= MAX_BUF - 1)
+ return 0;
+ buffer[i] = keyseq[kp];
+- if (buffer[i] < 128)
+- buffer[i] = tolower(buffer[i]);
++ if (buffer[i] < 128) {
++ wxchar t;
++ t = tolower(buffer[i]);
++ buffer[i] = t;
++ }
+ }
+ buffer[i] = 0;
+ code = 0;
+ if (buffer[1]) {
+- if (buffer[0] < 128)
+- buffer[0] = tolower(buffer[0]);
++ if (buffer[0] < 128) {
++ wxchar t;
++ t = tolower(buffer[0]);
++ buffer[0] = t;
++ }
+ for (i = 0; keylist[i].str; i++) {
+ if (!wx_c_strcmp(buffer, keylist[i].str)) {
+ code = keylist[i].code;