summaryrefslogtreecommitdiffstats
path: root/redhat
diff options
context:
space:
mode:
authorFrancois Andriot <francois.andriot@free.fr>2012-04-28 12:44:45 +0200
committerFrancois Andriot <francois.andriot@free.fr>2012-04-28 12:44:45 +0200
commit15ce26197ee572979f11cec6d12122923a81e8dc (patch)
tree07ae25ff6e263b8722002ce3a6fdf241daa33bb2 /redhat
parent7d9d6bed18d84ef5eadc23e357888c140782ee89 (diff)
downloadtde-packaging-15ce26197ee572979f11cec6d12122923a81e8dc.tar.gz
tde-packaging-15ce26197ee572979f11cec6d12122923a81e8dc.zip
RHEL/Fedora: updates Koffice for GCC 4.7
Diffstat (limited to 'redhat')
-rw-r--r--redhat/applications/koffice/koffice-3.5.13-fix_gcc47_compilation.patch56
-rw-r--r--redhat/applications/koffice/koffice-3.5.13-fix_libpng.patch11
-rw-r--r--redhat/applications/koffice/koffice-3.5.13-fix_ruby_1.9.patch118
-rw-r--r--redhat/applications/koffice/trinity-koffice.spec68
4 files changed, 228 insertions, 25 deletions
diff --git a/redhat/applications/koffice/koffice-3.5.13-fix_gcc47_compilation.patch b/redhat/applications/koffice/koffice-3.5.13-fix_gcc47_compilation.patch
new file mode 100644
index 000000000..d632a9d79
--- /dev/null
+++ b/redhat/applications/koffice/koffice-3.5.13-fix_gcc47_compilation.patch
@@ -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;
+ }
diff --git a/redhat/applications/koffice/koffice-3.5.13-fix_libpng.patch b/redhat/applications/koffice/koffice-3.5.13-fix_libpng.patch
new file mode 100644
index 000000000..cba4b2584
--- /dev/null
+++ b/redhat/applications/koffice/koffice-3.5.13-fix_libpng.patch
@@ -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);
+ }
+
diff --git a/redhat/applications/koffice/koffice-3.5.13-fix_ruby_1.9.patch b/redhat/applications/koffice/koffice-3.5.13-fix_ruby_1.9.patch
new file mode 100644
index 000000000..9802009fa
--- /dev/null
+++ b/redhat/applications/koffice/koffice-3.5.13-fix_ruby_1.9.patch
@@ -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;
diff --git a/redhat/applications/koffice/trinity-koffice.spec b/redhat/applications/koffice/trinity-koffice.spec
index 5e8a87d0c..9f487c4e6 100644
--- a/redhat/applications/koffice/trinity-koffice.spec
+++ b/redhat/applications/koffice/trinity-koffice.spec
@@ -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]