[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