aboutsummaryrefslogtreecommitdiffstats
path: root/graphics
diff options
context:
space:
mode:
authorkwm <kwm@FreeBSD.org>2014-07-11 03:26:34 +0800
committerkwm <kwm@FreeBSD.org>2014-07-11 03:26:34 +0800
commit0c66aef400693e066de435db5362d9f96a210a0f (patch)
tree48e9a0122def377ee098dafe52eb5c9c3771edc0 /graphics
parent5fdecbef13252aad6efe7069c9967b0c993682b1 (diff)
downloadfreebsd-ports-gnome-0c66aef400693e066de435db5362d9f96a210a0f.tar.gz
freebsd-ports-gnome-0c66aef400693e066de435db5362d9f96a210a0f.tar.zst
freebsd-ports-gnome-0c66aef400693e066de435db5362d9f96a210a0f.zip
Fix the build with beohm-gc 7.4.
patch-beohm-gc-7.4 optained from upstream. Homebrewed configure fix.
Diffstat (limited to 'graphics')
-rw-r--r--graphics/inkscape/Makefile2
-rw-r--r--graphics/inkscape/files/patch-beohm-gc-7.454
-rw-r--r--graphics/inkscape/files/patch-configure20
3 files changed, 73 insertions, 3 deletions
diff --git a/graphics/inkscape/Makefile b/graphics/inkscape/Makefile
index 71ac0f370219..d45cf668e54b 100644
--- a/graphics/inkscape/Makefile
+++ b/graphics/inkscape/Makefile
@@ -3,7 +3,7 @@
PORTNAME= inkscape
PORTVERSION= 0.48.4
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= graphics gnome
MASTER_SITES= SF
MASTER_SITE_SUBDIR=${PORTNAME:tl}/${PORTNAME:tl}/${PORTVERSION}
diff --git a/graphics/inkscape/files/patch-beohm-gc-7.4 b/graphics/inkscape/files/patch-beohm-gc-7.4
new file mode 100644
index 000000000000..b610d097490b
--- /dev/null
+++ b/graphics/inkscape/files/patch-beohm-gc-7.4
@@ -0,0 +1,54 @@
+--- src/gc-core.h.old 2013-12-31 01:22:38.976653890 +0400
++++ src/gc-core.h 2013-12-31 01:22:48.525653608 +0400
+@@ -57,7 +57,7 @@
+ CleanupFunc *old_func,
+ void **old_data);
+ int (*general_register_disappearing_link)(void **p_ptr,
+- void *base);
++ const void *base);
+ int (*unregister_disappearing_link)(void **p_ptr);
+ std::size_t (*get_heap_size)();
+ std::size_t (*get_free_bytes)();
+--- src/gc.cpp.old 2013-12-31 01:23:50.462651778 +0400
++++ src/gc.cpp 2013-12-31 01:40:37.718622017 +0400
+@@ -70,8 +70,8 @@
+ return base + debug_base_fixup();
+ }
+
+-int debug_general_register_disappearing_link(void **p_ptr, void *base) {
+- char *real_base=reinterpret_cast<char *>(base) - debug_base_fixup();
++int debug_general_register_disappearing_link(void **p_ptr, const void *base) {
++ char *real_base=const_cast<char *>(reinterpret_cast<const char *>(base)) - debug_base_fixup();
+ return GC_general_register_disappearing_link(p_ptr, real_base);
+ }
+
+@@ -90,7 +90,7 @@
+ }
+ }
+
+-int dummy_general_register_disappearing_link(void **, void *) { return false; }
++int dummy_general_register_disappearing_link(void **, const void *) { return false; }
+
+ int dummy_unregister_disappearing_link(void **/*link*/) { return false; }
+
+@@ -112,7 +112,11 @@
+ &GC_malloc_atomic_uncollectable,
+ &GC_base,
+ &GC_register_finalizer_ignore_self,
++#if (GC_MAJOR_VERSION >= 7 && GC_MINOR_VERSION >= 4)
+ &GC_general_register_disappearing_link,
++#else
++ (int (*)(void**, const void*))(&GC_general_register_disappearing_link),
++#endif
+ &GC_unregister_disappearing_link,
+ &GC_get_heap_size,
+ &GC_get_free_bytes,
+@@ -202,7 +206,7 @@
+ die_because_not_initialized();
+ }
+
+-int stub_general_register_disappearing_link(void **, void *) {
++int stub_general_register_disappearing_link(void **, const void *) {
+ die_because_not_initialized();
+ return 0;
+ }
diff --git a/graphics/inkscape/files/patch-configure b/graphics/inkscape/files/patch-configure
index 55c8269c3692..c4f5d1426460 100644
--- a/graphics/inkscape/files/patch-configure
+++ b/graphics/inkscape/files/patch-configure
@@ -1,5 +1,5 @@
---- configure.orig 2013-10-16 22:37:30.000000000 +0200
-+++ configure 2013-10-16 22:37:37.000000000 +0200
+--- configure.orig 2014-07-10 22:35:29.000000000 +0200
++++ configure 2014-07-10 22:46:14.000000000 +0200
@@ -7498,7 +7498,7 @@
cc_vers_all=`expr $cc_vers_major '*' 1000000 + $cc_vers_minor '*' 1000 + $cc_vers_patch`
@@ -9,3 +9,19 @@
fi
fi
+@@ -8961,10 +8961,11 @@
+ #include <stdio.h>
+ extern unsigned GC_version;
+ int main(void){
+- unsigned min = ((6 << 16) | (4 << 8) | 0);
+- printf("%d.%d.%d ",GC_version >> 16, (GC_version >> 8) & 0xFF, GC_version & 0xFF);
+- if (GC_version>=min) return 0;
+- return 1;
++ printf("%d.%d.%d ", GC_VERSION_MAJOR, GC_VERSION_MINOR, GC_VERSION_MICRO);
++ if (GC_VERSION_MAJOR >= 6 && GC_VERSION_MINOR >= 4)
++ return 0;
++ else
++ return 1;
+ }
+ _ACEOF
+ if ac_fn_cxx_try_run "$LINENO"; then :