RHEL/Fedora: updates Koffice for GCC 4.7

pull/3/head
Francois Andriot 12 years ago
parent 7d9d6bed18
commit 15ce26197e

@ -0,0 +1,56 @@
--- koffice/chalk/plugins/viewplugins/scripting/chalkcore/krs_iterator.h.ORI 2012-04-26 20:22:29.322777779 +0200
+++ koffice/chalk/plugins/viewplugins/scripting/chalkcore/krs_iterator.h 2012-04-26 20:23:21.216311169 +0200
@@ -137,12 +137,12 @@
}
initiales = initiales.upper();
// set/get general
- addFunction("set" + initiales, &Iterator::setPixel);
- addFunction("get" + initiales, &Iterator::getPixel);
+ this->addFunction("set" + initiales, &Iterator::setPixel);
+ this->addFunction("get" + initiales, &Iterator::getPixel);
kdDebug(41011) << ( "get" + initiales ) << endl;
// Various colorSpace
- addFunction("invertColor", &Iterator::invertColor);
- addFunction("darken", &Iterator::darken);
+ this->addFunction("invertColor", &Iterator::invertColor);
+ this->addFunction("darken", &Iterator::darken);
}
~Iterator()
--- koffice/filters/chalk/png/kis_png_converter.cc.gcc47 2012-04-26 16:38:35.805156927 -0400
+++ koffice/filters/chalk/png/kis_png_converter.cc 2012-04-26 16:49:27.179323394 -0400
@@ -43,6 +43,8 @@
#include <kis_paint_layer.h>
#include <kis_group_layer.h>
+#include <zlib.h>
+
namespace {
const TQ_UINT8 PIXEL_BLUE = 0;
@@ -222,6 +224,7 @@
// Read image profile
png_charp profile_name, profile_data;
+ unsigned char* uprofile_data = reinterpret_cast<unsigned char*>(profile_data);
int compression_type;
png_uint_32 proflen;
int number_of_passes = 1;
@@ -230,7 +233,7 @@
number_of_passes = png_set_interlace_handling(png_ptr);
KisProfile* profile = 0;
- if(png_get_iCCP(png_ptr, info_ptr, &profile_name, &compression_type, &profile_data, &proflen))
+ if(png_get_iCCP(png_ptr, info_ptr, &profile_name, &compression_type, &uprofile_data, &proflen))
{
TQByteArray profile_rawdata;
// XXX: Hardcoded for icc type -- is that correct for us?
@@ -627,7 +630,7 @@
} else { // Profile
char* name = new char[(*it)->type().length()+1];
strcpy(name, (*it)->type().ascii());
- png_set_iCCP(png_ptr, info_ptr, name, PNG_COMPRESSION_TYPE_BASE, (char*)(*it)->annotation().data(), (*it) -> annotation() . size());
+ png_set_iCCP(png_ptr, info_ptr, name, PNG_COMPRESSION_TYPE_BASE, (unsigned char*)(*it)->annotation().data(), (*it) -> annotation() . size());
}
++it;
}

@ -0,0 +1,11 @@
--- /dev/shm/applications/koffice/filters/chalk/png/kis_png_converter.cc 2011-06-27 13:54:18.000000000 -0500
+++ /dev/shm/applications/koffice/filters/chalk/png/kis_png_converter.cc.new 2011-11-07 15:38:47.918508855 -0600
@@ -785,7 +785,7 @@
void KisPNGConverter::progress(png_structp png_ptr, png_uint_32 row_number, int pass)
{
- if(png_ptr == NULL || row_number > PNG_MAX_UINT || pass > 7) return;
+ if(png_ptr == NULL || row_number > PNG_UINT_31_MAX || pass > 7) return;
// setProgress(row_number);
}

@ -0,0 +1,118 @@
diff -urN koffice/configure.in koffice.new/configure.in
--- koffice/configure.in 2011-08-21 18:30:53.000000000 -0500
+++ koffice.new/configure.in 2011-12-08 17:56:31.000000000 -0600
@@ -1539,14 +1539,22 @@
# Check for Ruby
if test "x$compile_kross" = "xyes" ; then
- AC_CHECK_PROGS([RUBY], [ruby ruby1.8 ruby18], ruby)
+ AC_CHECK_PROGS([RUBY], [ruby ruby1.8 ruby18 ruby1.9 ruby19], ruby)
if test -n "$RUBY"; then
AC_MSG_CHECKING(for Ruby dirs)
RUBY_ARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"archdir"@:>@)'`
RUBY_SITEARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitearchdir"@:>@)'`
RUBY_SITEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitelibdir"@:>@)'`
- RUBY_INCLUDEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubyincludedir"@:>@)'`
+ if test -n "$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubyhdrdir"@:>@)'"; then
+ # Ruby 1.9
+ RUBY_INCLUDEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubyhdrdir"@:>@)'`
+ RUBY_VERSION_H=ruby/version.h
+ else
+ # not Ruby 1.9
+ RUBY_INCLUDEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubyincludedir"@:>@)'`
+ RUBY_VERSION_H=version.h
+ fi
RUBY_LIBDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"libdir"@:>@)'`
RUBY_LIBRUBYARG=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"LIBRUBYARG_SHARED"@:>@)'`
RUBY_ENABLESHARED=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"ENABLE_SHARED"@:>@)'`
@@ -1599,7 +1607,7 @@
[
AC_TRY_COMPILE([
#include <ruby.h>
- #include <version.h>
+ #include <$RUBY_VERSION_H>
],[
#if(RUBY_VERSION_MAJOR==1 && RUBY_VERSION_MINOR == 8 && RUBY_VERSION_TEENY <= 1)
diff -urN koffice/lib/kross/configure.in.in koffice.new/lib/kross/configure.in.in
--- koffice/lib/kross/configure.in.in 2010-08-11 22:16:27.000000000 -0500
+++ koffice.new/lib/kross/configure.in.in 2011-12-08 17:56:28.000000000 -0600
@@ -21,14 +21,22 @@
# Check for Ruby
if test "x$compile_kross" = "xyes" ; then
- AC_CHECK_PROGS([RUBY], [ruby ruby1.8 ruby18], ruby)
+ AC_CHECK_PROGS([RUBY], [ruby ruby1.8 ruby18 ruby1.9 ruby19], ruby)
if test -n "$RUBY"; then
AC_MSG_CHECKING(for Ruby dirs)
RUBY_ARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"archdir"@:>@)'`
RUBY_SITEARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitearchdir"@:>@)'`
RUBY_SITEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitelibdir"@:>@)'`
- RUBY_INCLUDEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubyincludedir"@:>@)'`
+ if test -n "$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubyhdrdir"@:>@)'"; then
+ # Ruby 1.9
+ RUBY_INCLUDEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubyhdrdir"@:>@)'`
+ RUBY_VERSION_H=ruby/version.h
+ else
+ # not Ruby 1.9
+ RUBY_INCLUDEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"rubyincludedir"@:>@)'`
+ RUBY_VERSION_H=version.h
+ fi
RUBY_LIBDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"libdir"@:>@)'`
RUBY_LIBRUBYARG=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"LIBRUBYARG_SHARED"@:>@)'`
RUBY_ENABLESHARED=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"ENABLE_SHARED"@:>@)'`
@@ -81,7 +89,7 @@
[
AC_TRY_COMPILE([
#include <ruby.h>
- #include <version.h>
+ #include <$RUBY_VERSION_H>
],[
#if(RUBY_VERSION_MAJOR==1 && RUBY_VERSION_MINOR == 8 && RUBY_VERSION_TEENY <= 1)
diff -urN koffice/lib/kross/ruby/rubyextension.cpp koffice.new/lib/kross/ruby/rubyextension.cpp
--- koffice/lib/kross/ruby/rubyextension.cpp 2011-08-17 20:25:04.000000000 -0500
+++ koffice.new/lib/kross/ruby/rubyextension.cpp 2011-12-08 21:18:42.000000000 -0600
@@ -18,7 +18,7 @@
***************************************************************************/
#include "rubyextension.h"
-#include <st.h>
+#include <ruby/st.h>
#include <tqmap.h>
#include <tqstring.h>
@@ -211,7 +211,7 @@
case T_ARRAY:
{
TQValueList<Kross::Api::Object::Ptr> l;
- for(int i = 0; i < RARRAY(value)->len; i++)
+ for(int i = 0; i < RARRAY_LEN(value); i++)
{
Kross::Api::Object::Ptr o = toObject( rb_ary_entry( value , i ) );
if(o) l.append(o);
diff -urN koffice/lib/kross/ruby/rubyscript.cpp koffice.new/lib/kross/ruby/rubyscript.cpp
--- koffice/lib/kross/ruby/rubyscript.cpp 2011-06-25 13:42:29.000000000 -0500
+++ koffice.new/lib/kross/ruby/rubyscript.cpp 2011-12-08 21:45:36.000000000 -0600
@@ -21,8 +21,8 @@
#include <ruby.h>
#include <env.h>
-#include <rubysig.h>
-#include <node.h>
+#include <ruby/backward/rubysig.h>
+#include <ruby/node.h>
#include <main/scriptcontainer.h>
@@ -70,6 +70,8 @@
krossdebug("RubyScript::compile()");
#endif
int critical;
+ int ruby_nerrs;
+ int ruby_in_eval;
ruby_nerrs = 0;
ruby_errinfo = Qnil;

@ -1,12 +1,12 @@
# Default version for this component
%define kdecomp koffice
%define version 1.6.3
%define release 3
%define release 4
# If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt".
%if "%{?_prefix}" != "/usr"
%define _variant .opt
%define _docdir %{_prefix}/share/doc
%define _docdir %{_datadir}/doc
%endif
# TDE 3.5.13 specific building variables
@ -20,6 +20,16 @@ BuildRequires: autoconf automake libtool m4
%define with_kross 1
%endif
%if 0%{?fedora} >= 17
%define with_ruby 0
%else
%define with_ruby 1
%endif
# Ruby 1.9 includes are located in strance directories ... (taken from ruby 1.9 spec file)
%global _normalized_cpu %(echo %{_target_cpu} | sed 's/^ppc/powerpc/;s/i.86/i386/;s/sparcv./sparc/;s/armv.*/arm/')
Name: trinity-%{kdecomp}
Summary: An integrated office suite
Version: %{?version}
@ -36,7 +46,6 @@ Prefix: %{_prefix}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Source0: %{kdecomp}-3.5.13.tar.gz
Source1: chalk.xpm
Source100: koshell.png
# [koffice] Disable GraphicksMagick version >= 1.2.0 [Bug #353]
@ -55,6 +64,12 @@ Patch8: kexi-mysql_migrate_long_text-1.1.3.patch
Patch9: kexi-fix-support-for-boolean-types.patch
Patch10: kexi-thoushand_objects_support-1.1.3-2.patch
Patch11: kexi-fp_expressions-1.1.3.patch
# [koffice] Fix compilation with GCC 4.7 [Bug #958]
Patch12: koffice-3.5.13-fix_gcc47_compilation.patch
# [koffice] Fix compilation with Ruby 1.9 [Bug #735]
Patch13: koffice-3.5.13-fix_ruby_1.9.patch
# [koffice] Fix compilation with libpng [Bug #603]
Patch14: koffice-3.5.13-fix_libpng.patch
# BuildRequires: world-devel ;)
BuildRequires: trinity-kdelibs-devel
@ -77,8 +92,9 @@ BuildRequires: gettext-devel
BuildRequires: mysql-devel
BuildRequires: desktop-file-utils
BuildRequires: perl
BuildRequires: wv2-devel >= 0.4.0
BuildRequires: libpqxx2-devel
BuildRequires: trinity-wv2-devel >= 0.4.0
#BuildRequires: trinity-libpqxx-devel >= 2.6.0
BuildRequires: libpqxx-devel
BuildRequires: doxygen
BuildRequires: aspell-devel
BuildRequires: libxslt-devel
@ -86,20 +102,15 @@ BuildRequires: OpenEXR-devel
BuildRequires: libexif-devel
BuildRequires: libGL-devel libGLU-devel
BuildRequires: readline-devel
%if 0%{?with_ruby}
BuildRequires: ruby ruby-devel >= 1.8.2
%endif
BuildRequires: libpaper-devel
BuildRequires: libXi-devel
BuildRequires: libutempter-devel
BuildRequires: poppler-qt-devel >= 0.1.2
BuildRequires: GraphicsMagick-devel >= 1.1.0
# libwpd for FC15 and FC16 is too recent for Koffice ! (0.9.x)
# So we built an alternate 0.8.x package !
%if 0%{?fedora} >= 15
BuildRequires: libwpd08-devel
%else
BuildRequires: libwpd-devel
%endif
BuildRequires: trinity-libwpd-devel
%description
@ -259,7 +270,7 @@ Requires: %{name}-core = %{version}-%{release}
%{summary}.
%package chalk
Summary: pixel-based image manipulation program for the KDE Office Suite [Trinity]
Summary: pixel-based image manipulation program for the TDE Office Suite [Trinity]
Group: Applications/Productivity
Requires: %{name}-core = %{version}-%{release}
Requires: %{name}-chalk-data = %{version}-%{release}
@ -268,18 +279,18 @@ Requires: %{name}-filters
Chalk is a painting and image editing application for KOffice. Chalk contains
both ease-of-use and fun features like guided painting.
This package is part of the KDE Office Suite.
This package is part of the TDE Office Suite.
%package chalk-data
Summary: data files for Chalk painting program [Trinity]
Group: Applications/Productivity
%description chalk-data
This package contains architecture-independent data files for Chalk,
the painting program shipped with the KDE Office Suite.
the painting program shipped with the TDE Office Suite.
See the chalk package for further information.
This package is part of the KDE Office Suite.
This package is part of the TDE Office Suite.
@ -296,9 +307,12 @@ This package is part of the KDE Office Suite.
%patch9 -p0
%patch10 -p0
%patch11 -p0
%patch12 -p1 -b .gcc47
%patch13 -p1
%patch14 -p5
# use LGC variant instead
sed -i.dejavu-lgc \
%__sed -i.dejavu-lgc \
-e 's|DejaVu Sans|DejaVu LGC Sans|' \
-e 's|dejavu sans|dejavu lgc sans|' \
lib/kformula/{contextstyle,fontstyle,symboltable}.cc
@ -306,8 +320,8 @@ sed -i.dejavu-lgc \
# Ugly hack to modify TQT include directory inside autoconf files.
# If TQT detection fails, it fallbacks to TQT4 instead of TQT3 !
%__sed -i admin/acinclude.m4.in \
-e "s,/usr/include/tqt,%{_includedir}/tqt,g" \
-e "s,kde_htmldir='.*',kde_htmldir='%{tde_docdir}/HTML',g"
-e "s|/usr/include/tqt|%{_includedir}/tqt|g" \
-e "s|kde_htmldir='.*'|kde_htmldir='%{tde_docdir}/HTML'|g"
%__cp -f "/usr/share/aclocal/libtool.m4" "admin/libtool.m4.in"
%__cp -f "/usr/share/libtool/config/ltmain.sh" "admin/ltmain.sh"
@ -390,12 +404,9 @@ rm -f %{buildroot}%{_libdir}/libkformdesigner.so
rm -f %{buildroot}%{_libdir}/libkplato*.so
rm -f %{buildroot}%{_libdir}/libkpresenter*.so
rm -f %{buildroot}%{_libdir}/libkword*.so
#rm -f %{buildroot}%{_libdir}/libkrita*.so
rm -f %{buildroot}%{_libdir}/libkross*.so
rm -f %{buildroot}%{_libdir}/libkugar*.so
# Chalk icon
%__install -D -m 644 %{SOURCE1} %{buildroot}%{_datadir}/pixmaps/chalk.xpm
%clean
%__rm -rf %{buildroot}
@ -526,8 +537,10 @@ update-desktop-database -q &> /dev/null ||:
%if 0%{?with_kross} > 0
%{_datadir}/apps/kross/
%{tde_libdir}/krosspython.*
%if 0%{?with_ruby}
%{tde_libdir}/krossruby.*
%endif
%endif
%files libs
%defattr(-,root,root,-)
@ -961,7 +974,6 @@ update-desktop-database -q &> /dev/null ||:
%endif
%files chalk-data
%{_datadir}/pixmaps/chalk.xpm
%{_datadir}/applications/kde/chalk.desktop
%{_datadir}/applnk/.hidden/chalk_*.desktop
%{_datadir}/apps/konqueror/servicemenus/chalk_konqi.desktop
@ -971,10 +983,16 @@ update-desktop-database -q &> /dev/null ||:
%{_datadir}/icons/hicolor/*/apps/chalk.png
%{_datadir}/services/chalk*.desktop
%{_datadir}/servicetypes/chalk*.desktop
#%{_datadir}/applnk/.hidden/chalk_pdf.desktop
%changelog
* Thu Apr 26 2012 Francois Andriot <francois.andriot@free.fr> - 1.6.3-4
- Updates BuildRequires
- Build for Fedora 17
- Fix compilation with GCC 4.7 [Bug #958]
- Fix compilation with Ruby 1.9 [Bug #735]
- Fix compilation with libpng [Bug #603]
* Sat Jan 07 2012 Francois Andriot <francois.andriot@free.fr> - 1.6.3-3
- Fix GraphicksMagick 1.3 support [Bug #353]
- Various patches for kexi [Bug #777]

Loading…
Cancel
Save