[arch-commits] Commit in inkscape/trunk (PKGBUILD gc74.patch)

Gaetan Bisson bisson at nymeria.archlinux.org
Mon Mar 3 23:18:42 UTC 2014


    Date: Tuesday, March 4, 2014 @ 00:18:42
  Author: bisson
Revision: 206639

fix FS#39106

Added:
  inkscape/trunk/gc74.patch
Modified:
  inkscape/trunk/PKGBUILD

------------+
 PKGBUILD   |    8 ++++++--
 gc74.patch |   54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 60 insertions(+), 2 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2014-03-03 22:06:05 UTC (rev 206638)
+++ PKGBUILD	2014-03-03 23:18:42 UTC (rev 206639)
@@ -20,15 +20,18 @@
             'uniconvertor: reading/writing to some proprietary formats')
 source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2"
         'spuriouscomma.patch'
-	'freetype.patch')
+	'freetype.patch'
+         'gc74.patch')
 sha1sums=('5f26f6ad191d1e7c2a9fb69a438722beb172224c'
           '7d1d5a6d1d2b0926721a994d5889c52890fc57c1'
-          'aba4d98bebae088c3401fd9259ea3cf70b96fbbf')
+          'aba4d98bebae088c3401fd9259ea3cf70b96fbbf'
+          '3e1b5b6852d668388a857bc7a73fb7731fb262b8')
 
 install=install
 
 prepare() {
 	cd "${srcdir}/${pkgname}-${pkgver}"
+	patch -p1 -i ../gc74.patch # FS#39106
 	patch -p0 -i ../freetype.patch # FS#37956
 	patch -p0 -i ../spuriouscomma.patch
 	sed -i 's|/usr/bin/python\>|/usr/bin/python2|g' cxxtest/*.py
@@ -37,6 +40,7 @@
 	sed -i 's|python -c|python2 -c|g' configure share/extensions/uniconv*.py
 	sed -i 's|"python"|"python2"|g' src/main.cpp
 	sed -i '/^#include <g.kmm/i #include <glibmm.h>' src/*{,/*{,/*{,/*}}}.{h,cpp}
+	sed -i '/extern unsigned GC_version;/c unsigned GC_version=GC_VERSION_MAJOR<<16+GC_VERSION_MINOR<<8+GC_VERSION_MICRO;' configure
 }
 
 build() {

Added: gc74.patch
===================================================================
--- gc74.patch	                        (rev 0)
+++ gc74.patch	2014-03-03 23:18:42 UTC (rev 206639)
@@ -0,0 +1,54 @@
+--- inkscape-0.48.4/src/gc-core.h.old	2013-12-31 01:22:38.976653890 +0400
++++ inkscape-0.48.4/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)();
+--- inkscape-0.48.4/src/gc.cpp.old	2013-12-31 01:23:50.462651778 +0400
++++ inkscape-0.48.4/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;
+ }




More information about the arch-commits mailing list