aboutsummaryrefslogtreecommitdiffstats
path: root/graphics/wings-devel
diff options
context:
space:
mode:
authorolgeni <olgeni@FreeBSD.org>2012-08-15 18:58:34 +0800
committerolgeni <olgeni@FreeBSD.org>2012-08-15 18:58:34 +0800
commitc0ee4e2cc8707438a88cba556b1286df78d668c2 (patch)
tree4df03e4f7f827dba6e331a4b1e9836036afefebb /graphics/wings-devel
parent418042cfab97c74ce38ffbbdcc1cd6009af9c540 (diff)
downloadfreebsd-ports-gnome-c0ee4e2cc8707438a88cba556b1286df78d668c2.tar.gz
freebsd-ports-gnome-c0ee4e2cc8707438a88cba556b1286df78d668c2.tar.zst
freebsd-ports-gnome-c0ee4e2cc8707438a88cba556b1286df78d668c2.zip
Add compatibility fixes for Erlang R15.
Diffstat (limited to 'graphics/wings-devel')
-rw-r--r--graphics/wings-devel/Makefile2
-rw-r--r--graphics/wings-devel/files/patch-plugins__src_accel_perlin__noise__drv.c63
-rw-r--r--graphics/wings-devel/files/patch-plugins__src_accel_wings__pick__drv.c67
3 files changed, 131 insertions, 1 deletions
diff --git a/graphics/wings-devel/Makefile b/graphics/wings-devel/Makefile
index 3ab806557c06..cd44cf45831d 100644
--- a/graphics/wings-devel/Makefile
+++ b/graphics/wings-devel/Makefile
@@ -7,7 +7,7 @@
PORTNAME= wings
PORTVERSION= 1.3.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics
MASTER_SITES= SF
DIST_SUBDIR= erlang
diff --git a/graphics/wings-devel/files/patch-plugins__src_accel_perlin__noise__drv.c b/graphics/wings-devel/files/patch-plugins__src_accel_perlin__noise__drv.c
new file mode 100644
index 000000000000..46e5922224b7
--- /dev/null
+++ b/graphics/wings-devel/files/patch-plugins__src_accel_perlin__noise__drv.c
@@ -0,0 +1,63 @@
+
+$FreeBSD$
+
+--- plugins_src/accel/perlin_noise_drv.c.orig
++++ plugins_src/accel/perlin_noise_drv.c
+@@ -22,6 +22,11 @@
+ #include <math.h>
+ #include <string.h>
+
++#if ERL_DRV_EXTENDED_MAJOR_VERSION < 2
++typedef int ErlDrvSizeT;
++typedef int ErlDrvSSizeT;
++#endif
++
+ #define PNOISE3 3
+ #define SNOISE1 4
+ #define SNOISE2 5
+@@ -57,9 +62,9 @@
+ */
+ static ErlDrvData perlin_noise_start(ErlDrvPort port, char *buff);
+ static void perlin_noise_stop(ErlDrvData handle);
+-static int control(ErlDrvData handle, unsigned int command,
+- char* buff, int count,
+- char** res, int res_size);
++static ErlDrvSSizeT control(ErlDrvData handle, unsigned int command,
++ char* buff, ErlDrvSizeT count,
++ char** res, ErlDrvSizeT res_size);
+
+ /*
+ * Internal routines
+@@ -82,7 +87,18 @@
+ NULL, /* void * that is not used (BC) */
+ control, /* F_PTR control, port_control callback */
+ NULL, /* F_PTR timeout, driver_set_timer callback */
+- NULL /* F_PTR outputv, reserved */
++ NULL, /* F_PTR outputv, reserved */
++ NULL,
++ NULL,
++ NULL,
++ NULL,
++ ERL_DRV_EXTENDED_MARKER,
++ ERL_DRV_EXTENDED_MAJOR_VERSION,
++ ERL_DRV_EXTENDED_MINOR_VERSION,
++ 0,
++ NULL,
++ NULL,
++ NULL
+ };
+
+ /*
+@@ -114,9 +130,9 @@
+
+ }
+
+-static int control(ErlDrvData handle, unsigned int command,
+- char* buff, int count,
+- char** res, int res_size)
++static ErlDrvSSizeT control(ErlDrvData handle, unsigned int command,
++ char* buff, ErlDrvSizeT count,
++ char** res, ErlDrvSizeT res_size)
+ {
+ ErlDrvBinary* bin;
+
diff --git a/graphics/wings-devel/files/patch-plugins__src_accel_wings__pick__drv.c b/graphics/wings-devel/files/patch-plugins__src_accel_wings__pick__drv.c
new file mode 100644
index 000000000000..853f7e98bcb7
--- /dev/null
+++ b/graphics/wings-devel/files/patch-plugins__src_accel_wings__pick__drv.c
@@ -0,0 +1,67 @@
+
+$FreeBSD$
+
+--- plugins_src/accel/wings_pick_drv.c.orig
++++ plugins_src/accel/wings_pick_drv.c
+@@ -20,14 +20,19 @@
+ #endif
+ #include <string.h>
+
++#if ERL_DRV_EXTENDED_MAJOR_VERSION < 2
++typedef int ErlDrvSizeT;
++typedef int ErlDrvSSizeT;
++#endif
++
+ /*
+ * Interface routines.
+ */
+ static ErlDrvData wings_file_start(ErlDrvPort port, char *buff);
+ static void wings_file_stop(ErlDrvData handle);
+-static int control(ErlDrvData handle, unsigned int command,
+- char* buff, int count,
+- char** res, int res_size);
++static ErlDrvSSizeT control(ErlDrvData handle, unsigned int command,
++ char* buff, ErlDrvSizeT count,
++ char** res, ErlDrvSizeT res_size);
+ static void outputv(ErlDrvData drv_data, ErlIOVec* ev);
+
+ /*
+@@ -47,7 +52,18 @@
+ NULL, /* void * that is not used (BC) */
+ control, /* F_PTR control, port_control callback */
+ NULL, /* F_PTR timeout, driver_set_timer callback */
+- outputv /* F_PTR outputv, reserved */
++ outputv, /* F_PTR outputv, reserved */
++ NULL,
++ NULL,
++ NULL,
++ NULL,
++ ERL_DRV_EXTENDED_MARKER,
++ ERL_DRV_EXTENDED_MAJOR_VERSION,
++ ERL_DRV_EXTENDED_MINOR_VERSION,
++ 0,
++ NULL,
++ NULL,
++ NULL
+ };
+
+ struct vertex_struct {
+@@ -107,14 +123,14 @@
+ * Handle commands.
+ */
+
+-static int
++static ErlDrvSSizeT
+ control(ErlDrvData handle, unsigned int command,
+- char* buf, int count,
+- char** res, int res_size)
++ char* buf, ErlDrvSizeT count,
++ char** res, ErlDrvSizeT res_size)
+ {
+ switch (command) {
+ case 0: { /* Define matrix */
+- memcpy((void *) m, (void *) buf, count);
++ memcpy((void *) m, (void *) buf, (size_t) count);
+ #if 0
+ {
+ int i, j;