diff options
author | olgeni <olgeni@FreeBSD.org> | 2012-08-15 18:58:07 +0800 |
---|---|---|
committer | olgeni <olgeni@FreeBSD.org> | 2012-08-15 18:58:07 +0800 |
commit | 418042cfab97c74ce38ffbbdcc1cd6009af9c540 (patch) | |
tree | 64161579576e8cb4fe4fd3c24ca3df4a1ddd1ebc /graphics | |
parent | 17e5ff33a2a3599447bfa12b0101c65ed1d14546 (diff) | |
download | freebsd-ports-gnome-418042cfab97c74ce38ffbbdcc1cd6009af9c540.tar.gz freebsd-ports-gnome-418042cfab97c74ce38ffbbdcc1cd6009af9c540.tar.zst freebsd-ports-gnome-418042cfab97c74ce38ffbbdcc1cd6009af9c540.zip |
Add compatibility fixes for Erlang R15.
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/wings/Makefile | 2 | ||||
-rw-r--r-- | graphics/wings/files/patch-plugins__src_accel_perlin__noise__drv.c | 63 | ||||
-rw-r--r-- | graphics/wings/files/patch-plugins__src_accel_wings__pick__drv.c | 67 |
3 files changed, 131 insertions, 1 deletions
diff --git a/graphics/wings/Makefile b/graphics/wings/Makefile index f98047c3fadd..c3841cbd97a8 100644 --- a/graphics/wings/Makefile +++ b/graphics/wings/Makefile @@ -7,7 +7,7 @@ PORTNAME= wings PORTVERSION= 1.4.1 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= graphics MASTER_SITES= SF DIST_SUBDIR= erlang diff --git a/graphics/wings/files/patch-plugins__src_accel_perlin__noise__drv.c b/graphics/wings/files/patch-plugins__src_accel_perlin__noise__drv.c new file mode 100644 index 000000000000..46e5922224b7 --- /dev/null +++ b/graphics/wings/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/files/patch-plugins__src_accel_wings__pick__drv.c b/graphics/wings/files/patch-plugins__src_accel_wings__pick__drv.c new file mode 100644 index 000000000000..853f7e98bcb7 --- /dev/null +++ b/graphics/wings/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; |