From 83dab052f6036ac407ba1b9f123aae4abc2c29a2 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 2 Sep 2014 08:07:53 -0300 Subject: your-freedom-20140902-1: updating version --- libre/your-freedom/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libre/your-freedom/PKGBUILD b/libre/your-freedom/PKGBUILD index 44e5e314b..2edc47996 100644 --- a/libre/your-freedom/PKGBUILD +++ b/libre/your-freedom/PKGBUILD @@ -5,8 +5,8 @@ pkgdesc="This package conflicts with every nonfree package known to date to ensu license=('GPL3') #url="https://projects.parabolagnulinux.org/blacklist.git" url="https://lukeshu.com/git/mirror/parabola/blacklist.git" -pkgver=20140827.1 -_gitver=5575cf1f075adc00652d6c9aad01369e1410d8fb +pkgver=20140902 +_gitver=bfd30ccf75e7637ed277491339646faf85db304a pkgrel=1 arch=('any') @@ -16,7 +16,7 @@ install=${pkgname}.install makedepends=(librelib) #source=(blacklist-${_gitver}.txt::https://projects.parabolagnulinux.org/blacklist.git/plain/blacklist.txt?id=${_gitver}) source=(blacklist-${_gitver}.txt::https://lukeshu.com/git/mirror/parabola/blacklist.git/plain/blacklist.txt?id=${_gitver}) -md5sums=('4ab2276e3fe204e2876e26714f22baf3') +md5sums=('86a541c856434deecf0b067b9d70993a') package() { cd "$srcdir" -- cgit v1.2.3 From 3d8c47975ad9e1cbca544af2410e66c5b63f6edf Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 2 Sep 2014 18:28:02 -0300 Subject: abiword: remove libre suffix and add complex pkgrel --- libre/abiword-libre/PKGBUILD | 109 -- libre/abiword-libre/abiword-2.8.6-glib-2.31.patch | 40 - libre/abiword-libre/abiword-2.8.6-libpng15.patch | 100 -- .../abiword-libre/abiword-2.8.6-no-undefined.patch | 21 - libre/abiword-libre/abiword-3.0.0-librevenge.patch | 1186 -------------- libre/abiword-libre/abiword.install | 12 - libre/abiword-libre/compat_libwpg_0_9.patch | 371 ----- libre/abiword-libre/fix_crash_saving_pdf.patch | 86 - libre/abiword-libre/liberation-fonts.patch | 1694 -------------------- libre/abiword/PKGBUILD | 106 ++ libre/abiword/abiword-2.8.6-glib-2.31.patch | 40 + libre/abiword/abiword-2.8.6-libpng15.patch | 100 ++ libre/abiword/abiword-2.8.6-no-undefined.patch | 21 + libre/abiword/abiword-3.0.0-librevenge.patch | 1186 ++++++++++++++ libre/abiword/abiword.install | 12 + libre/abiword/compat_libwpg_0_9.patch | 371 +++++ libre/abiword/fix_crash_saving_pdf.patch | 86 + libre/abiword/liberation-fonts.patch | 1694 ++++++++++++++++++++ 18 files changed, 3616 insertions(+), 3619 deletions(-) delete mode 100644 libre/abiword-libre/PKGBUILD delete mode 100644 libre/abiword-libre/abiword-2.8.6-glib-2.31.patch delete mode 100644 libre/abiword-libre/abiword-2.8.6-libpng15.patch delete mode 100644 libre/abiword-libre/abiword-2.8.6-no-undefined.patch delete mode 100644 libre/abiword-libre/abiword-3.0.0-librevenge.patch delete mode 100644 libre/abiword-libre/abiword.install delete mode 100644 libre/abiword-libre/compat_libwpg_0_9.patch delete mode 100644 libre/abiword-libre/fix_crash_saving_pdf.patch delete mode 100644 libre/abiword-libre/liberation-fonts.patch create mode 100644 libre/abiword/PKGBUILD create mode 100644 libre/abiword/abiword-2.8.6-glib-2.31.patch create mode 100644 libre/abiword/abiword-2.8.6-libpng15.patch create mode 100644 libre/abiword/abiword-2.8.6-no-undefined.patch create mode 100644 libre/abiword/abiword-3.0.0-librevenge.patch create mode 100644 libre/abiword/abiword.install create mode 100644 libre/abiword/compat_libwpg_0_9.patch create mode 100644 libre/abiword/fix_crash_saving_pdf.patch create mode 100644 libre/abiword/liberation-fonts.patch diff --git a/libre/abiword-libre/PKGBUILD b/libre/abiword-libre/PKGBUILD deleted file mode 100644 index 4d48bf983..000000000 --- a/libre/abiword-libre/PKGBUILD +++ /dev/null @@ -1,109 +0,0 @@ -# $Id: PKGBUILD 215017 2014-06-11 14:14:55Z jgc $ -# Contributor (Arch): Giovanni Scafora -# Contributor (Arch): Maël Lavault -# Maintainer: André Silva - -_pkgbase=abiword -pkgbase=abiword-libre -pkgname=('abiword-libre' 'abiword-libre-plugins') -pkgver=3.0.0 -pkgrel=3 -arch=('i686' 'x86_64' 'mips64el') -license=('GPL') -url='http://www.abisource.com' -makedepends=('pkgconfig' 'asio' 'boost' 'fribidi' 'goffice' 'libwmf' 'wv' - 'link-grammar' 'gtkmathview' 'aiksaurus' 'libxslt' 'enchant' - 'libots' 'libwpg' 'librsvg' 'loudmouth' 'libsoup' 'psiconv' - 'redland' 'libical') -options=('!makeflags') -source=(http://abisource.com/downloads/$_pkgbase/$pkgver/source/$_pkgbase-$pkgver.tar.gz - fix_crash_saving_pdf.patch - abiword-3.0.0-librevenge.patch - liberation-fonts.patch) -md5sums=('8d9c41cff3a8fbef8d0c835c65600e65' - 'c3336f5ac7d227ff755c7e42459f20e1' - '6fc2d653d3b814bbfd9b0d71c69c4796' - 'e7ef4d436469ae4b24b0f784b09ab023') - -prepare() { - cd $_pkgbase-$pkgver - - # fix FS#39652 - http://bugzilla.abisource.com/show_bug.cgi?id=13586#c2 - patch -Np2 -i ${srcdir}/fix_crash_saving_pdf.patch - - # fix build with librevenge based import filters - patch -Np0 -i ${srcdir}/abiword-3.0.0-librevenge.patch - - # replace nonfree fonts support to liberation fonts - patch -Np1 -i "${srcdir}/liberation-fonts.patch" - - find plugins -name plugin.m4 | xargs cat > plugin-configure.m4 - - #aclocal -I m4 --install - #autoconf - libtoolize --force - autoreconf -fi -} - - -build() { - cd $_pkgbase-$pkgver - -# Collab plugin is somehow broken: -# part service -#In file included from ./../../../backends/service/xp/RealmConnection.h:33:0, -# from ./../../../backends/service/xp/AbiCollabSaveInterceptor.h:23, -# from ./../../../backends/service/xp/ServiceAccountHandler.h:33, -# from ServiceUnixAccountHandler.h:23, -# from ServiceUnixAccountHandler.cpp:20: -#./../../../core/sync/xp/SynchronizedQueue.h:32:1: error: expected class-name before '{' token -# { -# part tcp -#In file included from ./../../../backends/tcp/xp/IOServerHandler.h:29:0, -# from ./../../../backends/tcp/xp/TCPAccountHandler.h:25, -# from TCPUnixAccountHandler.h:22, -# from TCPUnixAccountHandler.cpp:20: -#./../../../backends/tcp/xp/Session.h:34:63: error: expected class-name before ',' token -# class Session : public Synchronizer, public boost::noncopyable, public boost::enable_shared_from_this - - ./configure --prefix=/usr \ - --enable-shared \ - --disable-static \ - --enable-clipart \ - --enable-templates \ - --disable-builtin-plugins \ - --enable-plugins \ - --disable-collab-backend-service \ - --disable-collab-backend-tcp - make -} - -package_abiword-libre() { - pkgdesc='Fully-featured word processor, without nonfree fonts support' - depends=('fribidi' 'wv' 'goffice' 'librsvg' 'enchant' 'desktop-file-utils' - 'redland' 'libical' 'gtk-update-icon-cache') - install=$_pkgbase.install - optdepends=('abiword-libre-plugins') - conflicts=("abiword-libre-plugins<${pkgver}-${pkgrel}" 'abiword') - replaces=('abiword') - provides=("abiword=$pkgver") - - cd $_pkgbase-$pkgver - make DESTDIR="$pkgdir" install - - # split out plugins, there's no Makefile target for a clean way - mkdir ${srcdir}/_pluginsdir - mv "$pkgdir"/usr/lib/abiword-${pkgver%.*}/plugins ${srcdir}/_pluginsdir -} - -package_abiword-libre-plugins() { - pkgdesc='Additional plugins for Abiword, without nonfree fonts support' - depends=("abiword-libre=${pkgver}-${pkgrel}" 'loudmouth' 'libwpg' 'libwmf' 'link-grammar' - 'gtkmathview' 'aiksaurus' 'libxslt' 'libsoup' 'libots' 'libgsf' 'psiconv') - conflicts=('abiword-plugins') - replaces=('abiword-plugins') - provides=("abiword-plugins=$pkgver") - - install -dm755 ${pkgdir}/usr/lib/abiword-${pkgver%.*} - mv ${srcdir}/_pluginsdir/plugins ${pkgdir}/usr/lib/abiword-${pkgver%.*}/ -} diff --git a/libre/abiword-libre/abiword-2.8.6-glib-2.31.patch b/libre/abiword-libre/abiword-2.8.6-glib-2.31.patch deleted file mode 100644 index 8b938cc25..000000000 --- a/libre/abiword-libre/abiword-2.8.6-glib-2.31.patch +++ /dev/null @@ -1,40 +0,0 @@ ------------------------------------------------------------------------- -r30479 | hub | 2011-11-29 00:39:09 -0500 (Tue, 29 Nov 2011) | 2 lines -Changed paths: - M /abiword/trunk/src/af/util/xp/ut_go_file.h - -Bug 13197: only import glib.h -Patch by Dominique Leuenberger. ------------------------------------------------------------------------- -r30602 | hub | 2012-01-30 02:00:38 -0500 (Mon, 30 Jan 2012) | 2 lines -Changed paths: - M /abiword/trunk/goffice-bits/goffice/app/goffice-app.h - -Bug 13247 - Fix glib headers. Patch by Funda Wang -(safe to backport) ------------------------------------------------------------------------- -Index: src/af/util/xp/ut_go_file.h -=================================================================== ---- src/af/util/xp/ut_go_file.h (revision 30478) -+++ src/af/util/xp/ut_go_file.h (revision 30479) -@@ -31,7 +31,6 @@ - - #include - #include --#include - #include - - G_BEGIN_DECLS -Index: goffice-bits/goffice/app/goffice-app.h -=================================================================== ---- goffice-bits/goffice/app/goffice-app.h (revision 30601) -+++ goffice-bits/goffice/app/goffice-app.h (revision 30602) -@@ -22,7 +22,7 @@ - #ifndef GOFFICE_APP_H - #define GOFFICE_APP_H - --#include -+#include - - G_BEGIN_DECLS - diff --git a/libre/abiword-libre/abiword-2.8.6-libpng15.patch b/libre/abiword-libre/abiword-2.8.6-libpng15.patch deleted file mode 100644 index 7eded4c83..000000000 --- a/libre/abiword-libre/abiword-2.8.6-libpng15.patch +++ /dev/null @@ -1,100 +0,0 @@ -$NetBSD: patch-plugins_bmp_xp_ie__impGraphic__BMP.cpp,v 1.1 2011/02/01 10:48:15 wiz Exp $ - -Fix build with png-1.5. - ---- plugins/bmp/xp/ie_impGraphic_BMP.cpp.orig 2009-06-25 04:02:06.000000000 +0000 -+++ plugins/bmp/xp/ie_impGraphic_BMP.cpp -@@ -191,7 +191,10 @@ UT_Error IE_ImpGraphic_BMP::_convertGrap - - /* Clean Up Memory Used */ - -- FREEP(m_pPNGInfo->palette); -+ png_colorp palette; -+ int num_palette; -+ png_get_PLTE( m_pPNG, m_pPNGInfo, &palette, &num_palette ); -+ FREEP(palette); - DELETEP(pBB); - png_destroy_write_struct(&m_pPNG, &m_pPNGInfo); - -@@ -313,7 +316,7 @@ UT_Error IE_ImpGraphic_BMP::Initialize_P - * the normal method of doing things with libpng). REQUIRED unless you - * set up your own error handlers in the png_create_read_struct() earlier. - */ -- if (setjmp(m_pPNG->jmpbuf)) -+ if (setjmp(png_jmpbuf(m_pPNG))) - { - /* Free all of the memory associated with the png_ptr and info_ptr */ - png_destroy_write_struct(&m_pPNG, &m_pPNGInfo); -@@ -332,7 +335,7 @@ UT_Error IE_ImpGraphic_BMP::Initialize_P - UT_Error IE_ImpGraphic_BMP::Convert_BMP_Pallet(UT_ByteBuf* pBB) - { - /* Reset error handling for libpng */ -- if (setjmp(m_pPNG->jmpbuf)) -+ if (setjmp(png_jmpbuf(m_pPNG))) - { - png_destroy_write_struct(&m_pPNG, &m_pPNGInfo); - return UT_ERROR; -@@ -372,7 +375,7 @@ UT_Error IE_ImpGraphic_BMP::Initialize_P - UT_Error IE_ImpGraphic_BMP::Convert_BMP(UT_ByteBuf* pBB) - { - /* Reset error handling for libpng */ -- if (setjmp(m_pPNG->jmpbuf)) -+ if (setjmp(png_jmpbuf(m_pPNG))) - { - png_destroy_write_struct(&m_pPNG, &m_pPNGInfo); - return UT_ERROR; - -$NetBSD: patch-plugins_garble_xp_abiword-garble-png.cpp,v 1.1 2011/02/01 10:48:15 wiz Exp $ - -Fix build with png-1.5. - ---- plugins/garble/xp/abiword-garble-png.cpp.orig 2009-09-05 15:34:44.000000000 +0000 -+++ plugins/garble/xp/abiword-garble-png.cpp -@@ -79,7 +79,7 @@ bool abiword_document::garble_png( void* - png_set_strip_alpha( png_ptr ); - png_set_interlace_handling( png_ptr ); - png_set_bgr( png_ptr ); -- rowbytes = info_ptr->rowbytes; -+ rowbytes = png_get_rowbytes( png_ptr, info_ptr ); - png_destroy_read_struct( &png_ptr, &info_ptr, NULL ); - } - -$NetBSD: patch-af,v 1.12 2011/01/15 15:07:11 wiz Exp $ - -Fix build with png-1.5. - ---- src/wp/impexp/gtk/ie_impGraphic_GdkPixbuf.cpp.orig 2009-07-01 04:02:04.000000000 +0000 -+++ src/wp/impexp/gtk/ie_impGraphic_GdkPixbuf.cpp -@@ -185,7 +185,7 @@ UT_Error IE_ImpGraphic_GdkPixbuf::import - /** needed for the stejmp context */ - UT_Error IE_ImpGraphic_GdkPixbuf::_png_write(GdkPixbuf * pixbuf) - { -- if (setjmp(m_pPNG->jmpbuf)) -+ if (setjmp(png_jmpbuf(m_pPNG))) - { - DELETEP(m_pPngBB); - png_destroy_write_struct(&m_pPNG, &m_pPNGInfo); -@@ -446,7 +446,7 @@ UT_Error IE_ImpGraphic_GdkPixbuf::Initia - * the normal method of doing things with libpng). REQUIRED unless you - * set up your own error handlers in the png_create_read_struct() earlier. - */ -- if (setjmp(m_pPNG->jmpbuf)) -+ if (setjmp(png_jmpbuf(m_pPNG))) - { - /* Free all of the memory associated with the png_ptr and info_ptr */ - png_destroy_write_struct(&m_pPNG, &m_pPNGInfo); -$NetBSD: patch-ae,v 1.21 2011/01/15 15:07:11 wiz Exp $ - -Fix build with png-1.5. - ---- src/af/util/xp/ut_png.cpp.orig 2008-02-24 03:33:07.000000000 +0000 -+++ src/af/util/xp/ut_png.cpp -@@ -71,7 +71,7 @@ bool UT_PNG_getDimensions(const UT_ByteB - * the normal method of doing things with libpng). REQUIRED unless you - * set up your own error handlers in the png_create_read_struct() earlier. - */ -- if (setjmp(png_ptr->jmpbuf)) -+ if (setjmp(png_jmpbuf(png_ptr))) - { - /* Free all of the memory associated with the png_ptr and info_ptr */ - png_destroy_read_struct(&png_ptr, &info_ptr, static_cast(NULL)); diff --git a/libre/abiword-libre/abiword-2.8.6-no-undefined.patch b/libre/abiword-libre/abiword-2.8.6-no-undefined.patch deleted file mode 100644 index c07000edb..000000000 --- a/libre/abiword-libre/abiword-2.8.6-no-undefined.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -u -r abiword-2.8.6.orig/src/Makefile.am abiword-2.8.6/src/Makefile.am ---- abiword-2.8.6.orig/src/Makefile.am 2009-09-09 15:11:01.000000000 +0200 -+++ abiword-2.8.6/src/Makefile.am 2011-08-02 23:35:51.904761961 +0200 -@@ -107,7 +107,7 @@ - - AbiWord_LDFLAGS = \ - $(DEPS_LIBS) \ -- --no-undefined \ -+ -Wl,--no-undefined \ - -avoid-version \ - -export-dynamic \ - -headerpad_max_install_names -@@ -129,7 +129,7 @@ - - abiword_LDFLAGS = \ - $(platform_ldflags) \ -- --no-undefined \ -+ -Wl,--no-undefined \ - -avoid-version \ - -export-dynamic - diff --git a/libre/abiword-libre/abiword-3.0.0-librevenge.patch b/libre/abiword-libre/abiword-3.0.0-librevenge.patch deleted file mode 100644 index 9ff7aea24..000000000 --- a/libre/abiword-libre/abiword-3.0.0-librevenge.patch +++ /dev/null @@ -1,1186 +0,0 @@ -Index: plugins/wpg/xp/ie_impGraphic_WPG.cpp -=================================================================== ---- plugins/wpg/xp/ie_impGraphic_WPG.cpp (revision 34460) -+++ plugins/wpg/xp/ie_impGraphic_WPG.cpp (working copy) -@@ -31,7 +31,7 @@ - #include - #include - #include --#include -+#include - #include "xap_Module.h" - - using libwpg::WPGraphics; -@@ -38,30 +38,35 @@ - - ABI_PLUGIN_DECLARE("WPG") - --class AbiWordPerfectGraphicsInputStream : public WPXInputStream -+class AbiWordPerfectGraphicsInputStream : public librevenge::RVNGInputStream - { - public: - AbiWordPerfectGraphicsInputStream(GsfInput *input); - ~AbiWordPerfectGraphicsInputStream(); - -- virtual bool isOLEStream(); -- virtual WPXInputStream * getDocumentOLEStream(); -- virtual WPXInputStream * getDocumentOLEStream(const char * name); -+ virtual bool isStructured(); -+ virtual unsigned subStreamCount(); -+ virtual const char* subStreamName(unsigned); -+ bool existsSubStream(const char*); -+ virtual librevenge::RVNGInputStream* getSubStreamByName(const char*); -+ virtual librevenge::RVNGInputStream* getSubStreamById(unsigned); - virtual const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead); -- virtual int seek(long offset, WPX_SEEK_TYPE seekType); -+ virtual int seek(long offset, librevenge::RVNG_SEEK_TYPE seekType); - virtual long tell(); -- virtual bool atEOS(); -+ virtual bool isEnd(); - - private: - - GsfInput *m_input; - GsfInfile *m_ole; -+ std::map m_substreams; - }; - - AbiWordPerfectGraphicsInputStream::AbiWordPerfectGraphicsInputStream(GsfInput *input) : -- WPXInputStream(), -+ librevenge::RVNGInputStream(), - m_input(input), -- m_ole(NULL) -+ m_ole(NULL), -+ m_substreams() - { - g_object_ref(G_OBJECT(input)); - } -@@ -86,50 +91,120 @@ - return buf; - } - --int AbiWordPerfectGraphicsInputStream::seek(long offset, WPX_SEEK_TYPE seekType) -+int AbiWordPerfectGraphicsInputStream::seek(long offset, librevenge::RVNG_SEEK_TYPE seekType) - { - GSeekType gsfSeekType = G_SEEK_SET; - switch(seekType) - { -- case WPX_SEEK_CUR: -+ case librevenge::RVNG_SEEK_CUR: - gsfSeekType = G_SEEK_CUR; - break; -- case WPX_SEEK_SET: -+ case librevenge::RVNG_SEEK_SET: - gsfSeekType = G_SEEK_SET; - break; -+ case librevenge::RVNG_SEEK_END: -+ gsfSeekType = G_SEEK_END; -+ break; - } - - return gsf_input_seek(m_input, offset, gsfSeekType); - } - --bool AbiWordPerfectGraphicsInputStream::isOLEStream() -+bool AbiWordPerfectGraphicsInputStream::isStructured() - { - if (!m_ole) - m_ole = GSF_INFILE(gsf_infile_msole_new (m_input, NULL)); - -- if (m_ole != NULL) -+ if (!m_ole) -+ m_ole = GSF_INFILE(gsf_infile_zip_new (m_input, NULL)); -+ -+ if (m_ole) - return true; - - return false; - } - --WPXInputStream * AbiWordPerfectGraphicsInputStream::getDocumentOLEStream() -+unsigned AbiWordPerfectGraphicsInputStream::subStreamCount() - { -- return getDocumentOLEStream("PerfectOffice_MAIN"); -+ if (!m_ole) -+ m_ole = GSF_INFILE(gsf_infile_msole_new (m_input, NULL)); -+ -+ if (!m_ole) -+ m_ole = GSF_INFILE(gsf_infile_zip_new (m_input, NULL)); -+ -+ if (m_ole) -+ { -+ int numChildren = gsf_infile_num_children(m_ole); -+ if (numChildren > 0) -+ return numChildren; -+ return 0; -+ } -+ -+ return 0; - } - --WPXInputStream * AbiWordPerfectGraphicsInputStream::getDocumentOLEStream(const char * name) -+const char * AbiWordPerfectGraphicsInputStream::subStreamName(unsigned id) - { -- WPXInputStream *documentStream = NULL; -+ if (!m_ole) -+ m_ole = GSF_INFILE(gsf_infile_msole_new (m_input, NULL)); - - if (!m_ole) -+ m_ole = GSF_INFILE(gsf_infile_zip_new (m_input, NULL)); -+ -+ if (m_ole) -+ { -+ if ((int)id >= gsf_infile_num_children(m_ole)) -+ { -+ return 0; -+ } -+ std::map::iterator i = m_substreams.lower_bound(id); -+ if (i == m_substreams.end() || m_substreams.key_comp()(id, i->first)) -+ { -+ std::string name = gsf_infile_name_by_index(m_ole, (int)id); -+ i = m_substreams.insert(i, std::map::value_type(id, name)); -+ } -+ return i->second.c_str(); -+ } -+ -+ return 0; -+} -+ -+bool AbiWordPerfectGraphicsInputStream::existsSubStream(const char * name) -+{ -+ if (!m_ole) - m_ole = GSF_INFILE(gsf_infile_msole_new (m_input, NULL)); - -+ if (!m_ole) -+ m_ole = GSF_INFILE(gsf_infile_zip_new (m_input, NULL)); -+ - if (m_ole) - { - GsfInput *document = gsf_infile_child_by_name(m_ole, name); - if (document) - { -+ g_object_unref(G_OBJECT (document)); -+ return true; -+ } -+ } -+ -+ return false; -+} -+ -+librevenge::RVNGInputStream * AbiWordPerfectGraphicsInputStream::getSubStreamByName(const char * name) -+{ -+ librevenge::RVNGInputStream *documentStream = NULL; -+ -+ if (!m_ole) -+ m_ole = GSF_INFILE(gsf_infile_msole_new (m_input, NULL)); -+ -+ if (!m_ole) -+ m_ole = GSF_INFILE(gsf_infile_zip_new (m_input, NULL)); -+ -+ if (m_ole) -+ { -+ GsfInput *document = gsf_infile_child_by_name(m_ole, name); -+ if (document) -+ { - documentStream = new AbiWordPerfectGraphicsInputStream(document); - g_object_unref(G_OBJECT (document)); // the only reference should be encapsulated within the new stream - } -@@ -138,12 +213,35 @@ - return documentStream; - } - -+librevenge::RVNGInputStream * AbiWordPerfectGraphicsInputStream::getSubStreamById(unsigned id) -+{ -+ librevenge::RVNGInputStream *documentStream = NULL; -+ -+ if (!m_ole) -+ m_ole = GSF_INFILE(gsf_infile_msole_new (m_input, NULL)); -+ -+ if (!m_ole) -+ m_ole = GSF_INFILE(gsf_infile_zip_new (m_input, NULL)); -+ -+ if (m_ole) -+ { -+ GsfInput *document = gsf_infile_child_by_index(m_ole, (int)id); -+ if (document) -+ { -+ documentStream = new AbiWordPerfectGraphicsInputStream(document); -+ g_object_unref(G_OBJECT (document)); // the only reference should be encapsulated within the new stream -+ } -+ } -+ -+ return documentStream; -+} -+ - long AbiWordPerfectGraphicsInputStream::tell() - { - return gsf_input_tell(m_input); - } - --bool AbiWordPerfectGraphicsInputStream::atEOS() -+bool AbiWordPerfectGraphicsInputStream::isEnd() - { - return gsf_input_eof(m_input); - } -@@ -244,14 +342,24 @@ - UT_Error IE_Imp_WordPerfectGraphics::importGraphic(GsfInput *input, FG_Graphic **ppfg) - { - AbiWordPerfectGraphicsInputStream gsfInput(input); -- WPXString svgOutput; -- if (WPGraphics::generateSVG(&gsfInput, svgOutput)) -+ librevenge::RVNGString svgOutput; -+ librevenge::RVNGStringVector vec; -+ librevenge::RVNGSVGDrawingGenerator generator(vec, ""); -+ -+ if (!libwpg::WPGraphics::parse(&gsfInput, &generator) || vec.empty() || vec[0].empty()) - { -- GsfInput * svgInput = gsf_input_memory_new((const guint8*)svgOutput.cstr(), svgOutput.len(), false); -- UT_Error result = IE_ImpGraphic::loadGraphic(svgInput, IE_ImpGraphic::fileTypeForSuffix(".svg"), ppfg); -- g_object_unref(svgInput); -- return result; -+ return UT_ERROR; - } -- return UT_ERROR; -+ -+ svgOutput.append("\n"); -+ svgOutput.append("\n"); -+ svgOutput.append(vec[0]); -+ svgOutput.append("\n"); -+ -+ GsfInput * svgInput = gsf_input_memory_new((const guint8*)svgOutput.cstr(), svgOutput.len(), false); -+ UT_Error result = IE_ImpGraphic::loadGraphic(svgInput, IE_ImpGraphic::fileTypeForSuffix(".svg"), ppfg); -+ g_object_unref(svgInput); -+ return result; - } - -Index: plugins/wpg/plugin.m4 -=================================================================== ---- plugins/wpg/plugin.m4 (revision 34460) -+++ plugins/wpg/plugin.m4 (working copy) -@@ -1,5 +1,5 @@ - --wpg_pkgs="$gsf_req libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0" -+wpg_pkgs="libwpg-0.3 $gsf_req" - wpg_deps="no" - - if test "$enable_wpg" != ""; then -Index: plugins/wordperfect/xp/ie_imp_WordPerfect.h -=================================================================== ---- plugins/wordperfect/xp/ie_imp_WordPerfect.h (revision 34460) -+++ plugins/wordperfect/xp/ie_imp_WordPerfect.h (working copy) -@@ -30,7 +30,7 @@ - #define IE_IMP_WP_H - - #include --#include -+#include - #include "ie_imp.h" - #include "ut_string.h" - #include "ut_string_class.h" -@@ -92,7 +92,7 @@ - IE_Imp ** ppie); - }; - --class IE_Imp_WordPerfect : public IE_Imp, public WPXDocumentInterface -+class IE_Imp_WordPerfect : public IE_Imp, public librevenge::RVNGTextInterface - { - public: - IE_Imp_WordPerfect(PD_Document * pDocument); -@@ -101,69 +101,83 @@ - virtual void pasteFromBuffer(PD_DocumentRange * pDocRange, - UT_uint8 * pData, UT_uint32 lenData, const char * szEncoding = 0); - -- virtual void setDocumentMetaData(const WPXPropertyList &propList); -+ virtual void setDocumentMetaData(const librevenge::RVNGPropertyList &propList); - -- virtual void startDocument(); -- virtual void endDocument(); -+ virtual void startDocument(const librevenge::RVNGPropertyList &propList); -+ virtual void endDocument(); - -- virtual void openPageSpan(const WPXPropertyList &propList); -- virtual void closePageSpan() {} -- virtual void openHeader(const WPXPropertyList &propList); -- virtual void closeHeader(); -- virtual void openFooter(const WPXPropertyList &propList); -- virtual void closeFooter(); -+ virtual void defineEmbeddedFont(const librevenge::RVNGPropertyList & /* propList */) {} - -- virtual void openParagraph(const WPXPropertyList &propList, const WPXPropertyListVector &tabStops); -- virtual void closeParagraph() {} -+ virtual void definePageStyle(const librevenge::RVNGPropertyList &) {} -+ virtual void openPageSpan(const librevenge::RVNGPropertyList &propList); -+ virtual void closePageSpan() {} -+ virtual void openHeader(const librevenge::RVNGPropertyList &propList); -+ virtual void closeHeader(); -+ virtual void openFooter(const librevenge::RVNGPropertyList &propList); -+ virtual void closeFooter(); - -- virtual void openSpan(const WPXPropertyList &propList); -- virtual void closeSpan() {} -+ virtual void defineSectionStyle(const librevenge::RVNGPropertyList &) {} -+ virtual void openSection(const librevenge::RVNGPropertyList &propList); -+ virtual void closeSection() {} - -- virtual void openSection(const WPXPropertyList &propList, const WPXPropertyListVector &columns); -- virtual void closeSection() {} -+ virtual void defineParagraphStyle(const librevenge::RVNGPropertyList &) {} -+ virtual void openParagraph(const librevenge::RVNGPropertyList &propList); -+ virtual void closeParagraph() {} - -- virtual void insertTab(); -- virtual void insertText(const WPXString &text); -- virtual void insertLineBreak(); -+ virtual void defineCharacterStyle(const librevenge::RVNGPropertyList &) {} -+ virtual void openSpan(const librevenge::RVNGPropertyList &propList); -+ virtual void closeSpan() {} - -- virtual void defineOrderedListLevel(const WPXPropertyList &propList); -- virtual void defineUnorderedListLevel(const WPXPropertyList &propList); -- virtual void openOrderedListLevel(const WPXPropertyList &propList); -- virtual void openUnorderedListLevel(const WPXPropertyList &propList); -- virtual void closeOrderedListLevel(); -- virtual void closeUnorderedListLevel(); -- virtual void openListElement(const WPXPropertyList &propList, const WPXPropertyListVector &tabStops); -- virtual void closeListElement() {} -+ virtual void openLink(const librevenge::RVNGPropertyList & /* propList */) {} -+ virtual void closeLink() {} - -- virtual void openFootnote(const WPXPropertyList &propList); -- virtual void closeFootnote(); -- virtual void openEndnote(const WPXPropertyList &propList); -- virtual void closeEndnote(); -+ virtual void insertTab(); -+ virtual void insertText(const librevenge::RVNGString &text); -+ virtual void insertSpace(); -+ virtual void insertLineBreak(); -+ virtual void insertField(const librevenge::RVNGPropertyList & /* propList */) {} - -- virtual void openTable(const WPXPropertyList &propList, const WPXPropertyListVector &columns); -- virtual void openTableRow(const WPXPropertyList &propList); -- virtual void closeTableRow() {} -- virtual void openTableCell(const WPXPropertyList &propList); -- virtual void closeTableCell() {} -- virtual void insertCoveredTableCell(const WPXPropertyList & /*propList*/) {} -- virtual void closeTable(); -+ virtual void openOrderedListLevel(const librevenge::RVNGPropertyList &propList); -+ virtual void openUnorderedListLevel(const librevenge::RVNGPropertyList &propList); -+ virtual void closeOrderedListLevel(); -+ virtual void closeUnorderedListLevel(); -+ virtual void openListElement(const librevenge::RVNGPropertyList &propList); -+ virtual void closeListElement() {} - -- virtual void definePageStyle(const WPXPropertyList&) {} -- virtual void defineParagraphStyle(const WPXPropertyList&, const WPXPropertyListVector&) {} -- virtual void defineCharacterStyle(const WPXPropertyList&) {} -- virtual void defineSectionStyle(const WPXPropertyList&, const WPXPropertyListVector&) {} -- virtual void insertSpace() {} -- virtual void insertField(const WPXString&, const WPXPropertyList&) {} -- virtual void openComment(const WPXPropertyList&) {} -- virtual void closeComment() {} -- virtual void openTextBox(const WPXPropertyList&) {} -- virtual void closeTextBox() {} -- virtual void openFrame(const WPXPropertyList&) {} -- virtual void closeFrame() {} -- virtual void insertBinaryObject(const WPXPropertyList&, const WPXBinaryData&) {} -- virtual void insertEquation(const WPXPropertyList&, const WPXString&) {} -+ virtual void openFootnote(const librevenge::RVNGPropertyList &propList); -+ virtual void closeFootnote(); -+ virtual void openEndnote(const librevenge::RVNGPropertyList &propList); -+ virtual void closeEndnote(); -+ virtual void openComment(const librevenge::RVNGPropertyList & /* propList */) {} -+ virtual void closeComment() {} -+ virtual void openTextBox(const librevenge::RVNGPropertyList & /* propList */) {} -+ virtual void closeTextBox() {} - -+ virtual void openTable(const librevenge::RVNGPropertyList &propList); -+ virtual void openTableRow(const librevenge::RVNGPropertyList &propList); -+ virtual void closeTableRow() {} -+ virtual void openTableCell(const librevenge::RVNGPropertyList &propList); -+ virtual void closeTableCell() {} -+ virtual void insertCoveredTableCell(const librevenge::RVNGPropertyList & /* propList */) {} -+ virtual void closeTable(); - -+ virtual void openFrame(const librevenge::RVNGPropertyList & /* propList */) {} -+ virtual void closeFrame() {} -+ -+ virtual void openGroup(const librevenge::RVNGPropertyList & /* propList */) {} -+ virtual void closeGroup() {} -+ -+ virtual void defineGraphicStyle(const librevenge::RVNGPropertyList & /* propList */) {} -+ virtual void drawRectangle(const librevenge::RVNGPropertyList & /* propList */) {} -+ virtual void drawEllipse(const librevenge::RVNGPropertyList & /* propList */) {} -+ virtual void drawPolygon(const librevenge::RVNGPropertyList & /* propList */) {} -+ virtual void drawPolyline(const librevenge::RVNGPropertyList & /* propList */) {} -+ virtual void drawPath(const librevenge::RVNGPropertyList & /* propList */) {} -+ virtual void drawConnector(const librevenge::RVNGPropertyList & /* propList */) {} -+ -+ virtual void insertBinaryObject(const librevenge::RVNGPropertyList & /* propList */) {} -+ virtual void insertEquation(const librevenge::RVNGPropertyList & /* propList */) {} -+ - protected: - virtual UT_Error _loadFile(GsfInput * input); - UT_Error _appendSection(int numColumns, const float, const float); -Index: plugins/wordperfect/xp/ie_impexp_WordPerfect.cpp -=================================================================== ---- plugins/wordperfect/xp/ie_impexp_WordPerfect.cpp (revision 34460) -+++ plugins/wordperfect/xp/ie_impexp_WordPerfect.cpp (working copy) -@@ -35,7 +35,6 @@ - ABI_PLUGIN_DECLARE("WordPerfect") - - static IE_Imp_WordPerfect_Sniffer * m_ImpSniffer = 0; --static IE_Exp_WordPerfect_Sniffer * m_ExpSniffer = 0; - - #ifdef HAVE_LIBWPS - static IE_Imp_MSWorks_Sniffer * m_MSWorks_ImpSniffer = 0; -@@ -49,13 +48,7 @@ - m_ImpSniffer = new IE_Imp_WordPerfect_Sniffer (); - } - -- if (!m_ExpSniffer) -- { -- m_ExpSniffer = new IE_Exp_WordPerfect_Sniffer (); -- } -- - UT_ASSERT (m_ImpSniffer); -- UT_ASSERT (m_ExpSniffer); - - #ifdef HAVE_LIBWPS - if (!m_MSWorks_ImpSniffer) -@@ -79,7 +72,7 @@ - mi->usage = "No Usage"; - - IE_Imp::registerImporter (m_ImpSniffer); -- //IE_Exp::registerExporter (m_ExpSniffer); -+ - return 1; - } - -@@ -93,18 +86,11 @@ - mi->usage = 0; - - UT_ASSERT (m_ImpSniffer); -- UT_ASSERT (m_ExpSniffer); - - IE_Imp::unregisterImporter (m_ImpSniffer); - delete m_ImpSniffer; - m_ImpSniffer = 0; - -- /* -- IE_Exp::unregisterExporter (m_ExpSniffer); -- delete m_ExpSniffer; -- m_ExpSniffer = 0; -- */ -- - #ifdef HAVE_LIBWPS - IE_Imp::unregisterImporter (m_MSWorks_ImpSniffer); - delete m_MSWorks_ImpSniffer; -Index: plugins/wordperfect/xp/ie_imp_WordPerfect.cpp -=================================================================== ---- plugins/wordperfect/xp/ie_imp_WordPerfect.cpp (revision 34460) -+++ plugins/wordperfect/xp/ie_imp_WordPerfect.cpp (working copy) -@@ -31,6 +31,8 @@ - #include - #include - #include -+#include -+#include - #include - #include - #include -@@ -60,42 +62,47 @@ - - // Stream class - --#include -+#include -+#include - - #include - #include - #include -+#include - - #ifdef HAVE_LIBWPS - #include - #endif - --class AbiWordperfectInputStream : public WPXInputStream -+class AbiWordperfectInputStream : public librevenge::RVNGInputStream - { - public: - AbiWordperfectInputStream(GsfInput *input); - ~AbiWordperfectInputStream(); - -- virtual bool isOLEStream(); -- virtual WPXInputStream * getDocumentOLEStream(); -- -- virtual WPXInputStream * getDocumentOLEStream(const char * name); -- -+ virtual bool isStructured(); -+ virtual unsigned subStreamCount(); -+ virtual const char* subStreamName(unsigned); -+ bool existsSubStream(const char*); -+ virtual librevenge::RVNGInputStream* getSubStreamByName(const char*); -+ virtual librevenge::RVNGInputStream* getSubStreamById(unsigned); - virtual const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead); -- virtual int seek(long offset, WPX_SEEK_TYPE seekType); -+ virtual int seek(long offset, librevenge::RVNG_SEEK_TYPE seekType); - virtual long tell(); -- virtual bool atEOS(); -+ virtual bool isEnd(); - - private: - - GsfInput *m_input; - GsfInfile *m_ole; -+ std::map m_substreams; - }; - - AbiWordperfectInputStream::AbiWordperfectInputStream(GsfInput *input) : -- WPXInputStream(), -+ librevenge::RVNGInputStream(), - m_input(input), -- m_ole(NULL) -+ m_ole(NULL), -+ m_substreams() - { - g_object_ref(G_OBJECT(input)); - } -@@ -120,50 +127,120 @@ - return buf; - } - --int AbiWordperfectInputStream::seek(long offset, WPX_SEEK_TYPE seekType) -+int AbiWordperfectInputStream::seek(long offset, librevenge::RVNG_SEEK_TYPE seekType) - { - GSeekType gsfSeekType = G_SEEK_SET; - switch(seekType) - { -- case WPX_SEEK_CUR: -+ case librevenge::RVNG_SEEK_CUR: - gsfSeekType = G_SEEK_CUR; - break; -- case WPX_SEEK_SET: -+ case librevenge::RVNG_SEEK_SET: - gsfSeekType = G_SEEK_SET; - break; -+ case librevenge::RVNG_SEEK_END: -+ gsfSeekType = G_SEEK_END; -+ break; - } - - return gsf_input_seek(m_input, offset, gsfSeekType); - } - --bool AbiWordperfectInputStream::isOLEStream() -+bool AbiWordperfectInputStream::isStructured() - { - if (!m_ole) - m_ole = GSF_INFILE(gsf_infile_msole_new (m_input, NULL)); - -- if (m_ole != NULL) -+ if (!m_ole) -+ m_ole = GSF_INFILE(gsf_infile_zip_new (m_input, NULL)); -+ -+ if (m_ole) - return true; - - return false; - } - --WPXInputStream * AbiWordperfectInputStream::getDocumentOLEStream() -+unsigned AbiWordperfectInputStream::subStreamCount() - { -- return getDocumentOLEStream("PerfectOffice_MAIN"); -+ if (!m_ole) -+ m_ole = GSF_INFILE(gsf_infile_msole_new (m_input, NULL)); -+ -+ if (!m_ole) -+ m_ole = GSF_INFILE(gsf_infile_zip_new (m_input, NULL)); -+ -+ if (m_ole) -+ { -+ int numChildren = gsf_infile_num_children(m_ole); -+ if (numChildren > 0) -+ return numChildren; -+ return 0; -+ } -+ -+ return 0; - } - --WPXInputStream * AbiWordperfectInputStream::getDocumentOLEStream(const char * name) -+const char * AbiWordperfectInputStream::subStreamName(unsigned id) - { -- WPXInputStream *documentStream = NULL; -+ if (!m_ole) -+ m_ole = GSF_INFILE(gsf_infile_msole_new (m_input, NULL)); - - if (!m_ole) -+ m_ole = GSF_INFILE(gsf_infile_zip_new (m_input, NULL)); -+ -+ if (m_ole) -+ { -+ if ((int)id >= gsf_infile_num_children(m_ole)) -+ { -+ return 0; -+ } -+ std::map::iterator i = m_substreams.lower_bound(id); -+ if (i == m_substreams.end() || m_substreams.key_comp()(id, i->first)) -+ { -+ std::string name = gsf_infile_name_by_index(m_ole, (int)id); -+ i = m_substreams.insert(i, std::map::value_type(id, name)); -+ } -+ return i->second.c_str(); -+ } -+ -+ return 0; -+} -+ -+bool AbiWordperfectInputStream::existsSubStream(const char * name) -+{ -+ if (!m_ole) - m_ole = GSF_INFILE(gsf_infile_msole_new (m_input, NULL)); - -+ if (!m_ole) -+ m_ole = GSF_INFILE(gsf_infile_zip_new (m_input, NULL)); -+ - if (m_ole) - { - GsfInput *document = gsf_infile_child_by_name(m_ole, name); - if (document) - { -+ g_object_unref(G_OBJECT (document)); -+ return true; -+ } -+ } -+ -+ return false; -+} -+ -+librevenge::RVNGInputStream * AbiWordperfectInputStream::getSubStreamByName(const char * name) -+{ -+ librevenge::RVNGInputStream *documentStream = NULL; -+ -+ if (!m_ole) -+ m_ole = GSF_INFILE(gsf_infile_msole_new (m_input, NULL)); -+ -+ if (!m_ole) -+ m_ole = GSF_INFILE(gsf_infile_zip_new (m_input, NULL)); -+ -+ if (m_ole) -+ { -+ GsfInput *document = gsf_infile_child_by_name(m_ole, name); -+ if (document) -+ { - documentStream = new AbiWordperfectInputStream(document); - g_object_unref(G_OBJECT (document)); // the only reference should be encapsulated within the new stream - } -@@ -172,12 +249,35 @@ - return documentStream; - } - -+librevenge::RVNGInputStream * AbiWordperfectInputStream::getSubStreamById(unsigned id) -+{ -+ librevenge::RVNGInputStream *documentStream = NULL; -+ -+ if (!m_ole) -+ m_ole = GSF_INFILE(gsf_infile_msole_new (m_input, NULL)); -+ -+ if (!m_ole) -+ m_ole = GSF_INFILE(gsf_infile_zip_new (m_input, NULL)); -+ -+ if (m_ole) -+ { -+ GsfInput *document = gsf_infile_child_by_index(m_ole, (int)id); -+ if (document) -+ { -+ documentStream = new AbiWordperfectInputStream(document); -+ g_object_unref(G_OBJECT (document)); // the only reference should be encapsulated within the new stream -+ } -+ } -+ -+ return documentStream; -+} -+ - long AbiWordperfectInputStream::tell() - { - return gsf_input_tell(m_input); - } - --bool AbiWordperfectInputStream::atEOS() -+bool AbiWordperfectInputStream::isEnd() - { - return gsf_input_eof(m_input); - } -@@ -247,13 +347,13 @@ - { - AbiWordperfectInputStream gsfInput(input); - -- WPDConfidence confidence = WPDocument::isFileFormatSupported(&gsfInput); -- -+ libwpd::WPDConfidence confidence = libwpd::WPDocument::isFileFormatSupported(&gsfInput); -+ - switch (confidence) - { -- case WPD_CONFIDENCE_NONE: -+ case libwpd::WPD_CONFIDENCE_NONE: - return UT_CONFIDENCE_ZILCH; -- case WPD_CONFIDENCE_EXCELLENT: -+ case libwpd::WPD_CONFIDENCE_EXCELLENT: - return UT_CONFIDENCE_PERFECT; - default: - return UT_CONFIDENCE_ZILCH; -@@ -312,9 +412,9 @@ - UT_Error IE_Imp_WordPerfect::_loadFile(GsfInput * input) - { - AbiWordperfectInputStream gsfInput(input); -- WPDResult error = WPDocument::parse(&gsfInput, static_cast(this), NULL); -+ libwpd::WPDResult error = libwpd::WPDocument::parse(&gsfInput, static_cast(this), NULL); - -- if (error != WPD_OK) -+ if (error != libwpd::WPD_OK) - { - UT_DEBUGMSG(("AbiWordPerfect: ERROR: %i!\n", (int)error)); - return UT_IE_IMPORTERROR; -@@ -329,7 +429,7 @@ - // nada - } - --void IE_Imp_WordPerfect::setDocumentMetaData(const WPXPropertyList &propList) -+void IE_Imp_WordPerfect::setDocumentMetaData(const librevenge::RVNGPropertyList &propList) - { - if (propList["dc:author"]) - getDoc()->setMetaDataProp(PD_META_KEY_CREATOR, propList["dc:author"]->getStr().cstr()); -@@ -339,15 +439,15 @@ - getDoc()->setMetaDataProp(PD_META_KEY_PUBLISHER, propList["dc:publisher"]->getStr().cstr()); - if (propList["dc:type"]) - getDoc()->setMetaDataProp(PD_META_KEY_TYPE, propList["dc:category"]->getStr().cstr()); -- if (propList["libwpd:keywords"]) -- getDoc()->setMetaDataProp(PD_META_KEY_KEYWORDS, propList["libwpd:keywords"]->getStr().cstr()); -+ if (propList["librevenge:keywords"]) -+ getDoc()->setMetaDataProp(PD_META_KEY_KEYWORDS, propList["librevenge:keywords"]->getStr().cstr()); - if (propList["dc:language"]) - getDoc()->setMetaDataProp(PD_META_KEY_LANGUAGE, propList["dc:language"]->getStr().cstr()); -- if (propList["libwpd:abstract"]) -- getDoc()->setMetaDataProp(PD_META_KEY_DESCRIPTION, propList["libwpd:abstract"]->getStr().cstr()); -+ if (propList["librevenge:abstract"]) -+ getDoc()->setMetaDataProp(PD_META_KEY_DESCRIPTION, propList["librevenge:abstract"]->getStr().cstr()); - } - --void IE_Imp_WordPerfect::startDocument() -+void IE_Imp_WordPerfect::startDocument(const librevenge::RVNGPropertyList & /* propList */) - { - UT_DEBUGMSG(("AbiWordPerfect: startDocument\n")); - } -@@ -357,7 +457,7 @@ - UT_DEBUGMSG(("AbiWordPerfect: endDocument\n")); - } - --void IE_Imp_WordPerfect::openPageSpan(const WPXPropertyList &propList) -+void IE_Imp_WordPerfect::openPageSpan(const librevenge::RVNGPropertyList &propList) - { - if (m_bHdrFtrOpenCount) return; // HACK - UT_DEBUGMSG(("AbiWordPerfect: openPageSpan\n")); -@@ -378,7 +478,7 @@ - - } - --void IE_Imp_WordPerfect::openHeader(const WPXPropertyList & /*propList*/) -+void IE_Imp_WordPerfect::openHeader(const librevenge::RVNGPropertyList & /*propList*/) - { - m_bHdrFtrOpenCount++; - -@@ -420,7 +520,7 @@ - */ - } - --void IE_Imp_WordPerfect::openFooter(const WPXPropertyList & /*propList*/) -+void IE_Imp_WordPerfect::openFooter(const librevenge::RVNGPropertyList & /*propList*/) - { - m_bHdrFtrOpenCount++; - // see above comments re: openHeader -@@ -432,7 +532,7 @@ - // see above comments re: closeHeader - } - --void IE_Imp_WordPerfect::openParagraph(const WPXPropertyList &propList, const WPXPropertyListVector &tabStops) -+void IE_Imp_WordPerfect::openParagraph(const librevenge::RVNGPropertyList &propList) - { - if (m_bHdrFtrOpenCount) return; // HACK - UT_DEBUGMSG(("AbiWordPerfect: openParagraph()\n")); -@@ -478,13 +578,15 @@ - (int)(m_topMargin*72), (int)(m_bottomMargin*72), m_leftMarginOffset, m_rightMarginOffset, m_textIndent, lineSpacing); - propBuffer += tmpBuffer; - -- if (tabStops.count() > 0) // Append the tabstop information -+ const librevenge::RVNGPropertyListVector *tabStops = propList.child("style:tab-stops"); -+ -+ if (tabStops && tabStops->count()) // Append the tabstop information - { - propBuffer += "; tabstops:"; - tmpBuffer = ""; -- WPXPropertyListVector::Iter i(tabStops); -- for (i.rewind(); i.next();) -- { -+ librevenge::RVNGPropertyListVector::Iter i(*tabStops); -+ for (i.rewind(); i.next();) -+ { - propBuffer += tmpBuffer; - if (i()["style:position"]) - { -@@ -515,8 +617,8 @@ - propBuffer += "0"; - - tmpBuffer = ","; -- } -- } -+ } -+ } - - - -@@ -543,7 +645,7 @@ - } - } - --void IE_Imp_WordPerfect::openSpan(const WPXPropertyList &propList) -+void IE_Imp_WordPerfect::openSpan(const librevenge::RVNGPropertyList &propList) - { - if (m_bHdrFtrOpenCount) return; // HACK - UT_DEBUGMSG(("AbiWordPerfect: Appending current text properties\n")); -@@ -614,13 +716,14 @@ - X_CheckDocumentError(appendFmt(propsArray)); - } - --void IE_Imp_WordPerfect::openSection(const WPXPropertyList &propList, const WPXPropertyListVector &columns) -+void IE_Imp_WordPerfect::openSection(const librevenge::RVNGPropertyList &propList) - { - if (m_bHdrFtrOpenCount) return; // HACK - UT_DEBUGMSG(("AbiWordPerfect: openSection\n")); - - float marginLeft = 0.0f, marginRight = 0.0f; -- int columnsCount = ((columns.count() == 0) ? 1 : columns.count()); -+ const librevenge::RVNGPropertyListVector *columns = propList.child("style:columns"); -+ int columnsCount = ((!columns || !columns->count()) ? 1 : columns->count()); - - // TODO: support spaceAfter - if (propList["fo:start-indent"]) -@@ -647,7 +750,7 @@ - X_CheckDocumentError(appendSpan(&ucs,1)); - } - --void IE_Imp_WordPerfect::insertText(const WPXString &text) -+void IE_Imp_WordPerfect::insertText(const librevenge::RVNGString &text) - { - if (m_bHdrFtrOpenCount) return; // HACK - if (text.len()) -@@ -658,6 +761,15 @@ - } - } - -+void IE_Imp_WordPerfect::insertSpace() -+{ -+ if (m_bHdrFtrOpenCount) return; // HACK -+ UT_DEBUGMSG(("AbiWordPerfect: insertSpace\n")); -+ -+ UT_UCS4Char ucs = UCS_SPACE; -+ X_CheckDocumentError(appendSpan(&ucs,1)); -+} -+ - void IE_Imp_WordPerfect::insertLineBreak() - { - if (m_bHdrFtrOpenCount) return; // HACK -@@ -668,12 +780,11 @@ - } - - -- --void IE_Imp_WordPerfect::defineOrderedListLevel(const WPXPropertyList &propList) -+void IE_Imp_WordPerfect::openOrderedListLevel(const librevenge::RVNGPropertyList &propList) - { - if (m_bHdrFtrOpenCount) return; // HACK -- UT_DEBUGMSG(("AbiWordPerfect: defineOrderedListLevel\n")); -- -+ UT_DEBUGMSG(("AbiWordPerfect: openOrderedListLevel\n")); -+ - int listID = 0, startingNumber = 0, level = 1; - char listType = '1'; - UT_UTF8String textBeforeNumber, textAfterNumber; -@@ -680,12 +791,12 @@ - float listLeftOffset = 0.0f; - float listMinLabelWidth = 0.0f; - -- if (propList["libwpd:id"]) -- listID = propList["libwpd:id"]->getInt(); -+ if (propList["librevenge:id"]) -+ listID = propList["librevenge:id"]->getInt(); - if (propList["text:start-value"]) - startingNumber = propList["text:start-value"]->getInt(); -- if (propList["libwpd:level"]) -- level = propList["libwpd:level"]->getInt(); -+ if (propList["librevenge:level"]) -+ level = propList["librevenge:level"]->getInt(); - if (propList["style:num-prefix"]) - textBeforeNumber += propList["style:num-prefix"]->getStr().cstr(); - if (propList["style:num-suffix"]) -@@ -716,22 +827,38 @@ - m_pCurrentListDefinition->setListMinLabelWidth(level, listMinLabelWidth); - _updateDocumentOrderedListDefinition(m_pCurrentListDefinition, level, listType, textBeforeNumber, textAfterNumber, startingNumber); - } -+ -+ m_iCurrentListLevel++; - } - --void IE_Imp_WordPerfect::defineUnorderedListLevel(const WPXPropertyList &propList) -+void IE_Imp_WordPerfect::closeOrderedListLevel() - { - if (m_bHdrFtrOpenCount) return; // HACK -- UT_DEBUGMSG(("AbiWordPerfect: defineUnorderedListLevel\n")); -+ UT_DEBUGMSG(("AbiWordPerfect: closeOrderedListLevel (level: %i)\n", m_iCurrentListLevel)); -+ UT_ASSERT(m_iCurrentListLevel > 0); -+ -+ // every time we close a list level, the level above it is normally renumbered to start at "1" -+ // again. this code takes care of that. -+ if (m_iCurrentListLevel < (WP6_NUM_LIST_LEVELS-1)) -+ m_pCurrentListDefinition->setLevelNumber(m_iCurrentListLevel + 1, 0); -+ -+ m_iCurrentListLevel--; -+} - -+void IE_Imp_WordPerfect::openUnorderedListLevel(const librevenge::RVNGPropertyList &propList) -+{ -+ if (m_bHdrFtrOpenCount) return; // HACK -+ UT_DEBUGMSG(("AbiWordPerfect: openUNorderedListLevel\n")); -+ - int listID = 0, level = 1; -- WPXString textBeforeNumber, textAfterNumber; -+ librevenge::RVNGString textBeforeNumber, textAfterNumber; - float listLeftOffset = 0.0f; - float listMinLabelWidth = 0.0f; - -- if (propList["libwpd:id"]) -- listID = propList["libwpd:id"]->getInt(); -- if (propList["libwpd:level"]) -- level = propList["libwpd:level"]->getInt(); -+ if (propList["librevenge:id"]) -+ listID = propList["librevenge:id"]->getInt(); -+ if (propList["librevenge:level"]) -+ level = propList["librevenge:level"]->getInt(); - if (propList["text:space-before"]) - listLeftOffset = propList["text:space-before"]->getDouble(); - if (propList["text:min-label-width"]) -@@ -752,39 +879,10 @@ - m_pCurrentListDefinition->setListMinLabelWidth(level, listMinLabelWidth); - _updateDocumentUnorderedListDefinition(m_pCurrentListDefinition, level); - } --} - --//void IE_Imp_WordPerfect::openOrderedListLevel(const int listID) --void IE_Imp_WordPerfect::openOrderedListLevel(const WPXPropertyList & /*propList*/) --{ -- if (m_bHdrFtrOpenCount) return; // HACK -- UT_DEBUGMSG(("AbiWordPerfect: openOrderedListLevel\n")); -- - m_iCurrentListLevel++; - } - --void IE_Imp_WordPerfect::closeOrderedListLevel() --{ -- if (m_bHdrFtrOpenCount) return; // HACK -- UT_DEBUGMSG(("AbiWordPerfect: closeOrderedListLevel (level: %i)\n", m_iCurrentListLevel)); -- UT_ASSERT(m_iCurrentListLevel > 0); -- -- // every time we close a list level, the level above it is normally renumbered to start at "1" -- // again. this code takes care of that. -- if (m_iCurrentListLevel < (WP6_NUM_LIST_LEVELS-1)) -- m_pCurrentListDefinition->setLevelNumber(m_iCurrentListLevel + 1, 0); -- -- m_iCurrentListLevel--; --} -- --void IE_Imp_WordPerfect::openUnorderedListLevel(const WPXPropertyList & /*propList*/) --{ -- if (m_bHdrFtrOpenCount) return; // HACK -- UT_DEBUGMSG(("AbiWordPerfect: openUNorderedListLevel\n")); -- -- m_iCurrentListLevel++; --} -- - void IE_Imp_WordPerfect::closeUnorderedListLevel() - { - if (m_bHdrFtrOpenCount) return; // HACK -@@ -796,7 +894,7 @@ - - // ASSUMPTION: We assume that unordered lists will always pass a number of "0". unpredictable behaviour - // may result otherwise --void IE_Imp_WordPerfect::openListElement(const WPXPropertyList &propList, const WPXPropertyListVector & /*tabStops*/) -+void IE_Imp_WordPerfect::openListElement(const librevenge::RVNGPropertyList &propList) - { - if (m_bHdrFtrOpenCount) return; // HACK - UT_DEBUGMSG(("AbiWordPerfect: openListElement\n")); -@@ -885,7 +983,7 @@ - X_CheckDocumentError(appendSpan(&ucs,1)); - } - --void IE_Imp_WordPerfect::openFootnote(const WPXPropertyList & /*propList*/) -+void IE_Imp_WordPerfect::openFootnote(const librevenge::RVNGPropertyList & /*propList*/) - { - if (m_bHdrFtrOpenCount) return; // HACK - -@@ -934,7 +1032,7 @@ - X_CheckDocumentError(appendStrux(PTX_EndFootnote,NULL)); - } - --void IE_Imp_WordPerfect::openEndnote(const WPXPropertyList & /*propList*/) -+void IE_Imp_WordPerfect::openEndnote(const librevenge::RVNGPropertyList & /*propList*/) - { - if (m_bHdrFtrOpenCount) return; // HACK - const gchar** propsArray = NULL; -@@ -975,7 +1073,7 @@ - X_CheckDocumentError(appendStrux(PTX_EndEndnote,NULL)); - } - --void IE_Imp_WordPerfect::openTable(const WPXPropertyList &propList, const WPXPropertyListVector &columns) -+void IE_Imp_WordPerfect::openTable(const librevenge::RVNGPropertyList &propList) - { - if (m_bHdrFtrOpenCount) return; // HACK - // TODO: handle 'marginLeftOffset' and 'marginRightOffset' -@@ -1000,14 +1098,18 @@ - } - } - -- propBuffer += "table-column-props:"; -- WPXPropertyListVector::Iter i(columns); -- for (i.rewind(); i.next();) -+ const librevenge::RVNGPropertyListVector *columns = propList.child("librevenge:table-columns"); -+ if (columns) - { -- UT_String tmpBuffer; -- if (i()["style:column-width"]) -- UT_String_sprintf(tmpBuffer, "%s/", i()["style:column-width"]->getStr().cstr()); -- propBuffer += tmpBuffer; -+ propBuffer += "table-column-props:"; -+ librevenge::RVNGPropertyListVector::Iter i(*columns); -+ for (i.rewind(); i.next();) -+ { -+ UT_String tmpBuffer; -+ if (i()["style:column-width"]) -+ UT_String_sprintf(tmpBuffer, "%s/", i()["style:column-width"]->getStr().cstr()); -+ propBuffer += tmpBuffer; -+ } - } - - const gchar* propsArray[3]; -@@ -1018,7 +1120,7 @@ - X_CheckDocumentError(appendStrux(PTX_SectionTable, propsArray)); - } - --void IE_Imp_WordPerfect::openTableRow(const WPXPropertyList & /*propList*/) -+void IE_Imp_WordPerfect::openTableRow(const librevenge::RVNGPropertyList & /*propList*/) - { - if (m_bHdrFtrOpenCount) return; // HACK - UT_DEBUGMSG(("AbiWordPerfect: openRow\n")); -@@ -1030,14 +1132,14 @@ - m_bInCell = false; - } - --void IE_Imp_WordPerfect::openTableCell(const WPXPropertyList &propList) -+void IE_Imp_WordPerfect::openTableCell(const librevenge::RVNGPropertyList &propList) - { - if (m_bHdrFtrOpenCount) return; // HACK - int col =0, row = 0, colSpan = 0, rowSpan = 0; -- if (propList["libwpd:column"]) -- col = propList["libwpd:column"]->getInt(); -- if (propList["libwpd:row"]) -- row = propList["libwpd:row"]->getInt(); -+ if (propList["librevenge:column"]) -+ col = propList["librevenge:column"]->getInt(); -+ if (propList["librevenge:row"]) -+ row = propList["librevenge:row"]->getInt(); - if (propList["table:number-columns-spanned"]) - colSpan = propList["table:number-columns-spanned"]->getInt(); - if (propList["table:number-rows-spanned"]) -@@ -1247,9 +1349,9 @@ - virtual UT_Error _loadFile(GsfInput * input) - { - AbiWordperfectInputStream gsfInput(input); -- WPSResult error = WPSDocument::parse(&gsfInput, static_cast(this)); -+ libwps::WPSResult error = libwps::WPSDocument::parse(&gsfInput, static_cast(this)); - -- if (error != WPS_OK) -+ if (error != libwps::WPS_OK) - { - UT_DEBUGMSG(("AbiMSWorks: ERROR: %i!\n", (int)error)); - return UT_IE_IMPORTERROR; -@@ -1286,13 +1388,17 @@ - { - AbiWordperfectInputStream gsfInput(input); - -- WPSConfidence confidence = WPSDocument::isFileFormatSupported(&gsfInput); -+ libwps::WPSKind kind; -+ libwps::WPSConfidence confidence = libwps::WPSDocument::isFileFormatSupported(&gsfInput, kind); -+ -+ if (kind != libwps::WPS_TEXT) -+ confidence = libwps::WPS_CONFIDENCE_NONE; - - switch (confidence) - { -- case WPS_CONFIDENCE_NONE: -+ case libwps::WPS_CONFIDENCE_NONE: - return UT_CONFIDENCE_ZILCH; -- case WPS_CONFIDENCE_EXCELLENT: -+ case libwps::WPS_CONFIDENCE_EXCELLENT: - return UT_CONFIDENCE_PERFECT; - default: - return UT_CONFIDENCE_ZILCH; -Index: plugins/wordperfect/xp/Makefile.am -=================================================================== ---- plugins/wordperfect/xp/Makefile.am (revision 34460) -+++ plugins/wordperfect/xp/Makefile.am (working copy) -@@ -6,8 +6,6 @@ - -DABI_BUILD_VERSION=\"$(VERSION)\" - - libxp_la_SOURCES = \ -- ie_exp_WordPerfect.cpp \ -- ie_exp_WordPerfect.h \ - ie_impexp_WordPerfect.cpp \ - ie_impexp_WordPerfect.h \ - ie_imp_WordPerfect.cpp \ -Index: plugins/wordperfect/xp/ie_impexp_WordPerfect.h -=================================================================== ---- plugins/wordperfect/xp/ie_impexp_WordPerfect.h (revision 34460) -+++ plugins/wordperfect/xp/ie_impexp_WordPerfect.h (working copy) -@@ -24,7 +24,6 @@ - */ - - #include "ie_imp_WordPerfect.h" --#include "ie_exp_WordPerfect.h" - #include "xap_Module.h" - - #define IE_MIMETYPE_WP_51 "application/wordperfect5.1" -Index: plugins/wordperfect/plugin.m4 -=================================================================== ---- plugins/wordperfect/plugin.m4 (revision 34460) -+++ plugins/wordperfect/plugin.m4 (working copy) -@@ -1,6 +1,6 @@ - --wordperfect_pkgs="libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0 $gsf_req" --wordperfect_wps_pkgs='libwps-0.2 >= 0.1.0' -+wordperfect_pkgs="libwpd-0.10 $gsf_req" -+wordperfect_wps_pkgs='libwps-0.3' - wordperfect_deps="no" - - WORDPERFECT_CFLAGS= -@@ -29,7 +29,7 @@ - - PKG_CHECK_EXISTS([ $wordperfect_wps_pkgs ], - [ -- wp_deps_pkgs="$wp_deps_pkgs $wordperfect_wps_pkgs" -+ wp_deps_pkgs="$wordperfect_wps_pkgs $wp_deps_pkgs" - WPS_DEFINE=" -DHAVE_LIBWPS" - ]) - - diff --git a/libre/abiword-libre/abiword.install b/libre/abiword-libre/abiword.install deleted file mode 100644 index cc4abc0b6..000000000 --- a/libre/abiword-libre/abiword.install +++ /dev/null @@ -1,12 +0,0 @@ -post_install() { - update-desktop-database -q - gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor -} - -post_upgrade() { - post_install $1 -} - -post_remove() { - post_install $1 -} diff --git a/libre/abiword-libre/compat_libwpg_0_9.patch b/libre/abiword-libre/compat_libwpg_0_9.patch deleted file mode 100644 index cf36e188e..000000000 --- a/libre/abiword-libre/compat_libwpg_0_9.patch +++ /dev/null @@ -1,371 +0,0 @@ -diff -Nur abiword-2.8.6.orig//plugin-configure.m4 abiword-2.8.6/plugin-configure.m4 ---- abiword-2.8.6.orig//plugin-configure.m4 2010-06-13 14:17:27.000000000 -0700 -+++ abiword-2.8.6/plugin-configure.m4 2010-12-06 13:59:43.083048588 -0800 -@@ -794,7 +794,7 @@ - AC_SUBST([OPENXML_LIBS]) - - --wpg_pkgs="$gsf_req libwpg-0.1 >= 0.1.0 libwpd-0.8 >= 0.8.0" -+wpg_pkgs="$gsf_req libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0" - wpg_deps="no" - - if test "$enable_wpg" != ""; then -@@ -1497,8 +1497,8 @@ - AC_SUBST([EML_LIBS]) - - --wordperfect_pkgs="libwpd-0.8 >= 0.8.0 $gsf_req" --wordperfect_wps_pkgs='libwps-0.1 >= 0.1.0' -+wordperfect_pkgs="libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0 $gsf_req" -+wordperfect_wps_pkgs='libwps-0.2 >= 0.1.0' - wordperfect_deps="no" - - WORDPERFECT_CFLAGS= -diff -Nur abiword-2.8.6.orig//plugins/wordperfect/plugin.m4 abiword-2.8.6/plugins/wordperfect/plugin.m4 ---- abiword-2.8.6.orig//plugins/wordperfect/plugin.m4 2010-05-30 07:50:46.000000000 -0700 -+++ abiword-2.8.6/plugins/wordperfect/plugin.m4 2010-12-06 13:59:53.929715254 -0800 -@@ -1,6 +1,6 @@ - --wordperfect_pkgs="libwpd-0.8 >= 0.8.0 $gsf_req" --wordperfect_wps_pkgs='libwps-0.1 >= 0.1.0' -+wordperfect_pkgs="libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0 $gsf_req" -+wordperfect_wps_pkgs='libwps-0.2 >= 0.1.0' - wordperfect_deps="no" - - WORDPERFECT_CFLAGS= -diff -Nur abiword-2.8.6.orig//plugins/wordperfect/xp/ie_imp_WordPerfect.cpp abiword-2.8.6/plugins/wordperfect/xp/ie_imp_WordPerfect.cpp ---- abiword-2.8.6.orig//plugins/wordperfect/xp/ie_imp_WordPerfect.cpp 2010-02-06 13:06:11.000000000 -0800 -+++ abiword-2.8.6/plugins/wordperfect/xp/ie_imp_WordPerfect.cpp 2010-12-06 13:59:53.926381921 -0800 -@@ -60,7 +60,7 @@ - - // Stream class - --#include -+#include - - #include - #include -@@ -70,12 +70,7 @@ - #include - #endif - --class AbiWordperfectInputStream : --#ifdef HAVE_LIBWPS -- public WPSInputStream --#else -- public WPXInputStream --#endif -+class AbiWordperfectInputStream : public WPXInputStream - { - public: - AbiWordperfectInputStream(GsfInput *input); -@@ -86,7 +81,7 @@ - - virtual WPXInputStream * getDocumentOLEStream(const char * name); - -- virtual const uint8_t *read(size_t numBytes, size_t &numBytesRead); -+ virtual const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead); - virtual int seek(long offset, WPX_SEEK_TYPE seekType); - virtual long tell(); - virtual bool atEOS(); -@@ -98,11 +93,7 @@ - }; - - AbiWordperfectInputStream::AbiWordperfectInputStream(GsfInput *input) : --#ifdef HAVE_LIBWPS -- WPSInputStream(), --#else -- WPXInputStream(true), --#endif -+ WPXInputStream(), - m_input(input), - m_ole(NULL) - { -@@ -117,9 +108,9 @@ - g_object_unref(G_OBJECT(m_input)); - } - --const uint8_t * AbiWordperfectInputStream::read(size_t numBytes, size_t &numBytesRead) -+const unsigned char * AbiWordperfectInputStream::read(unsigned long numBytes, unsigned long &numBytesRead) - { -- const uint8_t *buf = gsf_input_read(m_input, numBytes, NULL); -+ const unsigned char *buf = gsf_input_read(m_input, numBytes, NULL); - - if (buf == NULL) - numBytesRead = 0; -@@ -256,19 +247,12 @@ - { - AbiWordperfectInputStream gsfInput(input); - -- WPDConfidence confidence = WPDocument::isFileFormatSupported(&gsfInput, true); -+ WPDConfidence confidence = WPDocument::isFileFormatSupported(&gsfInput); - - switch (confidence) - { - case WPD_CONFIDENCE_NONE: -- // libwpd > 0.7.1 reports POOR if the text file is plain text (that _could_ be a WP4x document) -- // however, we'll let the text importer handle such cases -- case WPD_CONFIDENCE_POOR: - return UT_CONFIDENCE_ZILCH; -- case WPD_CONFIDENCE_LIKELY: -- return UT_CONFIDENCE_SOSO; -- case WPD_CONFIDENCE_GOOD: -- return UT_CONFIDENCE_GOOD; - case WPD_CONFIDENCE_EXCELLENT: - return UT_CONFIDENCE_PERFECT; - default: -@@ -328,7 +312,7 @@ - UT_Error IE_Imp_WordPerfect::_loadFile(GsfInput * input) - { - AbiWordperfectInputStream gsfInput(input); -- WPDResult error = WPDocument::parse(&gsfInput, static_cast(this)); -+ WPDResult error = WPDocument::parse(&gsfInput, static_cast(this), NULL); - - if (error != WPD_OK) - { -@@ -381,9 +365,9 @@ - float marginLeft = 1.0f, marginRight = 1.0f; - - if (propList["fo:margin-left"]) -- marginLeft = propList["fo:margin-left"]->getFloat(); -+ marginLeft = propList["fo:margin-left"]->getDouble(); - if (propList["fo:margin-right"]) -- marginRight = propList["fo:margin-right"]->getFloat(); -+ marginRight = propList["fo:margin-right"]->getDouble(); - - if (marginLeft != m_leftPageMargin || marginRight != m_rightPageMargin /* || */ - /* marginTop != m_marginBottom || marginBottom != m_marginBottom */ ) -@@ -456,15 +440,15 @@ - float marginTop = 0.0f, marginBottom = 0.0f; - float marginLeft = 0.0f, marginRight = 0.0f, textIndent = 0.0f; - if (propList["fo:margin-top"]) -- marginTop = propList["fo:margin-top"]->getFloat(); -+ marginTop = propList["fo:margin-top"]->getDouble(); - if (propList["fo:margin-bottom"]) -- marginBottom = propList["fo:margin-bottom"]->getFloat(); -+ marginBottom = propList["fo:margin-bottom"]->getDouble(); - if (propList["fo:margin-left"]) -- marginLeft = propList["fo:margin-left"]->getFloat(); -+ marginLeft = propList["fo:margin-left"]->getDouble(); - if (propList["fo:margin-right"]) -- marginRight = propList["fo:margin-right"]->getFloat(); -+ marginRight = propList["fo:margin-right"]->getDouble(); - if (propList["fo:text-indent"]) -- textIndent = propList["fo:text-indent"]->getFloat(); -+ textIndent = propList["fo:text-indent"]->getDouble(); - - m_topMargin = marginTop; - m_bottomMargin = marginBottom; -@@ -487,7 +471,7 @@ - - float lineSpacing = 1.0f; - if (propList["fo:line-height"]) -- lineSpacing = propList["fo:line-height"]->getFloat(); -+ lineSpacing = propList["fo:line-height"]->getDouble(); - - UT_String tmpBuffer; - UT_String_sprintf(tmpBuffer, "; margin-top:%.4fin; margin-bottom:%.4fin; margin-left:%.4fin; margin-right:%.4fin; text-indent:%.4fin; line-height:%.4f", -@@ -504,7 +488,7 @@ - propBuffer += tmpBuffer; - if (i()["style:position"]) - { -- UT_String_sprintf(tmpBuffer, "%.4fin", i()["style:position"]->getFloat()); -+ UT_String_sprintf(tmpBuffer, "%.4fin", i()["style:position"]->getDouble()); - propBuffer += tmpBuffer; - } - -@@ -640,9 +624,9 @@ - - // TODO: support spaceAfter - if (propList["fo:margin-left"]) -- marginLeft = propList["fo:margin-left"]->getFloat(); -+ marginLeft = propList["fo:margin-left"]->getDouble(); - if (propList["fo:margin-right"]) -- marginRight = propList["fo:margin-right"]->getFloat(); -+ marginRight = propList["fo:margin-right"]->getDouble(); - - if (marginLeft != m_leftSectionMargin || marginRight != m_rightSectionMargin || m_sectionColumnsCount != columnsCount) - m_bSectionChanged = true; -@@ -709,9 +693,9 @@ - if (propList["style:num-format"]) - listType = propList["style:num-format"]->getStr().cstr()[0]; - if (propList["text:space-before"]) -- listLeftOffset = propList["text:space-before"]->getFloat(); -+ listLeftOffset = propList["text:space-before"]->getDouble(); - if (propList["text:min-label-width"]) -- listMinLabelWidth = propList["text:min-label-width"]->getFloat(); -+ listMinLabelWidth = propList["text:min-label-width"]->getDouble(); - - if (!m_pCurrentListDefinition || - m_pCurrentListDefinition->getOutlineHash() != listID || -@@ -749,9 +733,9 @@ - if (propList["libwpd:level"]) - level = propList["libwpd:level"]->getInt(); - if (propList["text:space-before"]) -- listLeftOffset = propList["text:space-before"]->getFloat(); -+ listLeftOffset = propList["text:space-before"]->getDouble(); - if (propList["text:min-label-width"]) -- listMinLabelWidth = propList["text:min-label-width"]->getFloat(); -+ listMinLabelWidth = propList["text:min-label-width"]->getDouble(); - - if (!m_pCurrentListDefinition || m_pCurrentListDefinition->getOutlineHash() != listID) - { -@@ -871,10 +855,10 @@ - - UT_String_sprintf(tempBuffer, "margin-left:%.4fin; ", m_pCurrentListDefinition->getListLeftOffset(m_iCurrentListLevel) - + m_pCurrentListDefinition->getListMinLabelWidth(m_iCurrentListLevel) -- - (propList["fo:text-indent"] ? propList["fo:text-indent"]->getFloat() : 0.0f)); -+ - (propList["fo:text-indent"] ? propList["fo:text-indent"]->getDouble() : 0.0f)); - propBuffer += tempBuffer; - UT_String_sprintf(tempBuffer, "text-indent:%.4fin", - m_pCurrentListDefinition->getListMinLabelWidth(m_iCurrentListLevel) -- + (propList["fo:text-indent"] ? propList["fo:text-indent"]->getFloat() : 0.0f)); -+ + (propList["fo:text-indent"] ? propList["fo:text-indent"]->getDouble() : 0.0f)); - propBuffer += tempBuffer; - - listAttribs[attribsCount++] = PT_PROPS_ATTRIBUTE_NAME; -@@ -1263,7 +1247,7 @@ - virtual UT_Error _loadFile(GsfInput * input) - { - AbiWordperfectInputStream gsfInput(input); -- WPSResult error = WPSDocument::parse(&gsfInput, static_cast(this)); -+ WPSResult error = WPSDocument::parse(&gsfInput, static_cast(this)); - - if (error != WPS_OK) - { -@@ -1302,18 +1286,12 @@ - { - AbiWordperfectInputStream gsfInput(input); - -- WPSConfidence confidence = WPSDocument::isFileFormatSupported(&gsfInput, true); -+ WPSConfidence confidence = WPSDocument::isFileFormatSupported(&gsfInput); - - switch (confidence) - { - case WPS_CONFIDENCE_NONE: - return UT_CONFIDENCE_ZILCH; -- case WPS_CONFIDENCE_POOR: -- return UT_CONFIDENCE_POOR; -- case WPS_CONFIDENCE_LIKELY: -- return UT_CONFIDENCE_SOSO; -- case WPS_CONFIDENCE_GOOD: -- return UT_CONFIDENCE_GOOD; - case WPS_CONFIDENCE_EXCELLENT: - return UT_CONFIDENCE_PERFECT; - default: -diff -Nur abiword-2.8.6.orig//plugins/wordperfect/xp/ie_imp_WordPerfect.h abiword-2.8.6/plugins/wordperfect/xp/ie_imp_WordPerfect.h ---- abiword-2.8.6.orig//plugins/wordperfect/xp/ie_imp_WordPerfect.h 2009-06-19 01:55:49.000000000 -0700 -+++ abiword-2.8.6/plugins/wordperfect/xp/ie_imp_WordPerfect.h 2010-12-06 13:59:53.929715254 -0800 -@@ -30,13 +30,7 @@ - #define IE_IMP_WP_H - - #include --#ifdef _WIN32 --#define POINT WPX_POINT --#endif - #include --#ifdef _WIN32 --#undef POINT --#endif - #include "ie_imp.h" - #include "ut_string.h" - #include "ut_string_class.h" -@@ -98,7 +92,7 @@ - IE_Imp ** ppie); - }; - --class IE_Imp_WordPerfect : public IE_Imp, public WPXHLListenerImpl -+class IE_Imp_WordPerfect : public IE_Imp, public WPXDocumentInterface - { - public: - IE_Imp_WordPerfect(PD_Document * pDocument); -@@ -154,6 +148,21 @@ - virtual void insertCoveredTableCell(const WPXPropertyList & /*propList*/) {} - virtual void closeTable(); - -+ virtual void definePageStyle(const WPXPropertyList&) {} -+ virtual void defineParagraphStyle(const WPXPropertyList&, const WPXPropertyListVector&) {} -+ virtual void defineCharacterStyle(const WPXPropertyList&) {} -+ virtual void defineSectionStyle(const WPXPropertyList&, const WPXPropertyListVector&) {} -+ virtual void insertSpace() {} -+ virtual void insertField(const WPXString&, const WPXPropertyList&) {} -+ virtual void openComment(const WPXPropertyList&) {} -+ virtual void closeComment() {} -+ virtual void openTextBox(const WPXPropertyList&) {} -+ virtual void closeTextBox() {} -+ virtual void openFrame(const WPXPropertyList&) {} -+ virtual void closeFrame() {} -+ virtual void insertBinaryObject(const WPXPropertyList&, const WPXBinaryData&) {} -+ virtual void insertEquation(const WPXPropertyList&, const WPXString&) {} -+ - - protected: - virtual UT_Error _loadFile(GsfInput * input); -diff -Nur abiword-2.8.6.orig//plugins/wpg/plugin.m4 abiword-2.8.6/plugins/wpg/plugin.m4 ---- abiword-2.8.6.orig//plugins/wpg/plugin.m4 2010-05-30 07:50:46.000000000 -0700 -+++ abiword-2.8.6/plugins/wpg/plugin.m4 2010-12-06 13:59:53.929715254 -0800 -@@ -1,5 +1,5 @@ - --wpg_pkgs="$gsf_req libwpg-0.1 >= 0.1.0 libwpd-0.8 >= 0.8.0" -+wpg_pkgs="$gsf_req libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0" - wpg_deps="no" - - if test "$enable_wpg" != ""; then -diff -Nur abiword-2.8.6.orig//plugins/wpg/xp/ie_impGraphic_WPG.cpp abiword-2.8.6/plugins/wpg/xp/ie_impGraphic_WPG.cpp ---- abiword-2.8.6.orig//plugins/wpg/xp/ie_impGraphic_WPG.cpp 2008-08-15 14:52:32.000000000 -0700 -+++ abiword-2.8.6/plugins/wpg/xp/ie_impGraphic_WPG.cpp 2010-12-06 13:59:53.923048588 -0800 -@@ -31,11 +31,10 @@ - #include - #include - #include --#include -+#include - #include "xap_Module.h" - - using libwpg::WPGraphics; --using libwpg::WPGString; - - ABI_PLUGIN_DECLARE("WPG") - -@@ -48,7 +47,7 @@ - virtual bool isOLEStream(); - virtual WPXInputStream * getDocumentOLEStream(); - virtual WPXInputStream * getDocumentOLEStream(const char * name); -- virtual const uint8_t *read(size_t numBytes, size_t &numBytesRead); -+ virtual const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead); - virtual int seek(long offset, WPX_SEEK_TYPE seekType); - virtual long tell(); - virtual bool atEOS(); -@@ -60,7 +59,7 @@ - }; - - AbiWordPerfectGraphicsInputStream::AbiWordPerfectGraphicsInputStream(GsfInput *input) : -- WPXInputStream(true), -+ WPXInputStream(), - m_input(input), - m_ole(NULL) - { -@@ -75,9 +74,9 @@ - g_object_unref(G_OBJECT(m_input)); - } - --const uint8_t * AbiWordPerfectGraphicsInputStream::read(size_t numBytes, size_t &numBytesRead) -+const unsigned char * AbiWordPerfectGraphicsInputStream::read(unsigned long numBytes, unsigned long &numBytesRead) - { -- const uint8_t *buf = gsf_input_read(m_input, numBytes, NULL); -+ const unsigned char *buf = gsf_input_read(m_input, numBytes, NULL); - - if (buf == NULL) - numBytesRead = 0; -@@ -245,10 +244,10 @@ - UT_Error IE_Imp_WordPerfectGraphics::importGraphic(GsfInput *input, FG_Graphic **ppfg) - { - AbiWordPerfectGraphicsInputStream gsfInput(input); -- WPGString svgOutput; -+ WPXString svgOutput; - if (WPGraphics::generateSVG(&gsfInput, svgOutput)) - { -- GsfInput * svgInput = gsf_input_memory_new((const guint8*)svgOutput.cstr(), svgOutput.length(), false); -+ GsfInput * svgInput = gsf_input_memory_new((const guint8*)svgOutput.cstr(), svgOutput.len(), false); - UT_Error result = IE_ImpGraphic::loadGraphic(svgInput, IE_ImpGraphic::fileTypeForSuffix(".svg"), ppfg); - g_object_unref(svgInput); - return result; diff --git a/libre/abiword-libre/fix_crash_saving_pdf.patch b/libre/abiword-libre/fix_crash_saving_pdf.patch deleted file mode 100644 index 6dd78c7f9..000000000 --- a/libre/abiword-libre/fix_crash_saving_pdf.patch +++ /dev/null @@ -1,86 +0,0 @@ ---- abiword/trunk/src/text/fmt/gtk/fv_UnixSelectionHandles.cpp 2013/12/23 03:20:34 33661 -+++ abiword/trunk/src/text/fmt/gtk/fv_UnixSelectionHandles.cpp 2013/12/28 02:04:39 33662 -@@ -36,42 +36,60 @@ - - mode = _fv_text_handle_get_mode (handle); - -- if (pos == FV_TEXT_HANDLE_POSITION_SELECTION_START) -+ if (pos == FV_TEXT_HANDLE_POSITION_SELECTION_START) { - handles->updateSelectionStart ((UT_sint32)x, (UT_sint32)y); -+ } - else { -- if (mode == FV_TEXT_HANDLE_MODE_SELECTION) -+ if (mode == FV_TEXT_HANDLE_MODE_SELECTION) { - handles->updateSelectionEnd ((UT_sint32)x, (UT_sint32)y); -- else -+ } -+ else { - handles->updateCursor((UT_sint32)x, (UT_sint32)y); -+ } - } - } - - FV_UnixSelectionHandles::FV_UnixSelectionHandles(FV_View *view, FV_Selection selection) - : FV_SelectionHandles (view, selection) -+ , m_text_handle(NULL) - { - XAP_Frame * pFrame = static_cast(m_pView->getParentData()); -- XAP_UnixFrameImpl * pFrameImpl =static_cast( pFrame->getFrameImpl()); -- GtkWidget * pWidget = pFrameImpl->getViewWidget(); -- -- m_text_handle = _fv_text_handle_new (pWidget); -- _fv_text_handle_set_relative_to (m_text_handle, -- gtk_widget_get_window (pWidget)); -- g_signal_connect (m_text_handle, "handle-dragged", -- G_CALLBACK(handle_dragged_cb), this); -+ // When saving to PDF (and printing) we don't have a frame -+ // See bug 13586 -+ if (pFrame) { -+ XAP_UnixFrameImpl * pFrameImpl = static_cast(pFrame->getFrameImpl()); -+ GtkWidget * pWidget = pFrameImpl->getViewWidget(); -+ -+ m_text_handle = _fv_text_handle_new (pWidget); -+ _fv_text_handle_set_relative_to (m_text_handle, -+ gtk_widget_get_window (pWidget)); -+ g_signal_connect (m_text_handle, "handle-dragged", -+ G_CALLBACK(handle_dragged_cb), this); -+ } - } - - FV_UnixSelectionHandles::~FV_UnixSelectionHandles() - { -+ if(!m_text_handle) { -+ return; -+ } - g_object_unref (m_text_handle); - } - - void FV_UnixSelectionHandles::hide() - { -+ if(!m_text_handle) { -+ return; -+ } - _fv_text_handle_set_mode (m_text_handle, FV_TEXT_HANDLE_MODE_NONE); - } - - void FV_UnixSelectionHandles::setCursorCoords(UT_sint32 x, UT_sint32 y, UT_uint32 height, bool visible) - { -+ if(!m_text_handle) { -+ return; -+ } -+ - GdkRectangle rect; - - _fv_text_handle_set_mode(m_text_handle, FV_TEXT_HANDLE_MODE_CURSOR); -@@ -92,6 +110,10 @@ - void FV_UnixSelectionHandles::setSelectionCoords(UT_sint32 start_x, UT_sint32 start_y, UT_uint32 start_height, bool start_visible, - UT_sint32 end_x, UT_sint32 end_y, UT_uint32 end_height, bool end_visible) - { -+ if(!m_text_handle) { -+ return; -+ } -+ - GdkRectangle rect; - - _fv_text_handle_set_mode(m_text_handle, FV_TEXT_HANDLE_MODE_SELECTION); - diff --git a/libre/abiword-libre/liberation-fonts.patch b/libre/abiword-libre/liberation-fonts.patch deleted file mode 100644 index 1660c3ead..000000000 --- a/libre/abiword-libre/liberation-fonts.patch +++ /dev/null @@ -1,1694 +0,0 @@ -diff --git a/plugins/latex/xp/ie_exp_LaTeX.cpp b/plugins/latex/xp/ie_exp_LaTeX.cpp -index f3d56c6..d5a77ef 100644 ---- a/plugins/latex/xp/ie_exp_LaTeX.cpp -+++ b/plugins/latex/xp/ie_exp_LaTeX.cpp -@@ -1046,7 +1046,7 @@ void s_LaTeX_Listener::_openSpan(PT_AttrPropIndex api) - m_pie->write("\\texttt{"); - m_NumCloseBrackets++; - } -- if (!strcmp("Arial", szValue) || -+ if (!strcmp("Liberation Sans", szValue) || - !strcmp("Helvetic", szValue) || - !strcmp("Luxi Sans",szValue)) { - m_pie->write("\\textsf{"); -diff --git a/plugins/opendocument/imp/xp/ODi_FontFaceDecls.cpp b/plugins/opendocument/imp/xp/ODi_FontFaceDecls.cpp -index ed167dc..e0831c9 100644 ---- a/plugins/opendocument/imp/xp/ODi_FontFaceDecls.cpp -+++ b/plugins/opendocument/imp/xp/ODi_FontFaceDecls.cpp -@@ -59,7 +59,7 @@ void ODi_FontFaceDecls::startElement (const gchar* pName, - fontFamily = pFontFamily; - - if (pFontFamily && (pFontFamily[0] == '\'') && (pFontFamily[strlen(pFontFamily)-1] == '\'')) { -- // e.g.: Turns a "'Times New Roman'" into a "Times New Roman". -+ // e.g.: Turns a "'Liberation Serif'" into a "Liberation Serif". - // OpenOffice.org sometimes adds those extra "'" surrounding the - // font family name if it's composed by more than one word. - m_fontFamilies[pStyleName] = -diff --git a/plugins/openwriter/xp/ie_exp_OpenWriter.cpp b/plugins/openwriter/xp/ie_exp_OpenWriter.cpp -index 1fab89a..a399c59 100644 ---- a/plugins/openwriter/xp/ie_exp_OpenWriter.cpp -+++ b/plugins/openwriter/xp/ie_exp_OpenWriter.cpp -@@ -900,12 +900,12 @@ bool OO_StylesWriter::writeStyles(PD_Document * pDoc, GsfOutfile * oo, OO_Styles - { - "\n", - "\n", -- "\n", -+ "\n", - "\n", - "\n", - "\n", - "\n", -- "\n", -+ "\n", - "\n" - }; - -diff --git a/plugins/openxml/common/xp/OXML_FontManager.cpp b/plugins/openxml/common/xp/OXML_FontManager.cpp -index 41b719d..2c53c1a 100644 ---- a/plugins/openxml/common/xp/OXML_FontManager.cpp -+++ b/plugins/openxml/common/xp/OXML_FontManager.cpp -@@ -34,7 +34,7 @@ - #include - - OXML_FontManager::OXML_FontManager() : -- m_defaultFont("Times New Roman") -+ m_defaultFont("Liberation Serif") - { - m_major_rts.clear(); - m_minor_rts.clear(); -diff --git a/plugins/openxml/common/xp/OXML_List.cpp b/plugins/openxml/common/xp/OXML_List.cpp -index 5bcb47a..88dba7e 100644 ---- a/plugins/openxml/common/xp/OXML_List.cpp -+++ b/plugins/openxml/common/xp/OXML_List.cpp -@@ -258,7 +258,7 @@ UT_Error OXML_List::serialize(IE_Exp_OpenXML* exporter) - txt = txt.replace(index+1, 1, 1, '1'+i); - } - -- std::string fontFamily("Times New Roman"); -+ std::string fontFamily("Liberation Serif"); - const gchar* listType = "bullet"; - switch(type) - { -diff --git a/plugins/passepartout/xp/ie_exp_Passepartout.cpp b/plugins/passepartout/xp/ie_exp_Passepartout.cpp -index e18e7f1..eec9367 100644 ---- a/plugins/passepartout/xp/ie_exp_Passepartout.cpp -+++ b/plugins/passepartout/xp/ie_exp_Passepartout.cpp -@@ -318,7 +318,7 @@ void Passepartout_Listener::_openBlock(PT_AttrPropIndex api) - } - else - { -- TempStr = UT_UTF8String_sprintf(" font-family=\"%s\"", "Times New Roman" ); -+ TempStr = UT_UTF8String_sprintf(" font-family=\"%s\"", "Liberation Serif" ); - m_pie->write(TempStr.utf8_str()); - } - -@@ -426,7 +426,7 @@ void Passepartout_Listener::_openFont(PT_AttrPropIndex api) - } - else - { -- TempStr = UT_UTF8String_sprintf(" font-family=\"%s\"", "Times New Roman" ); -+ TempStr = UT_UTF8String_sprintf(" font-family=\"%s\"", "Liberation Serif" ); - m_pie->write(TempStr.utf8_str()); - } - -diff --git a/plugins/t602/xp/ie_imp_T602.cpp b/plugins/t602/xp/ie_imp_T602.cpp -index a57a9e2..f7f2301 100644 ---- a/plugins/t602/xp/ie_imp_T602.cpp -+++ b/plugins/t602/xp/ie_imp_T602.cpp -@@ -620,7 +620,7 @@ switch (c) - case 0x01: - m_sfont ^=1; - if (m_sfont & 1) -- { m_size=static_cast(0.8*m_basesize); m_family="Arial"; -+ { m_size=static_cast(0.8*m_basesize); m_family="Liberation Sans"; - /* FIXME? -> .profile?*/ } - else - { m_size=m_basesize; m_family=m_basefamily; } -diff --git a/src/af/gr/gtk/gr_UnixCairoGraphics.cpp b/src/af/gr/gtk/gr_UnixCairoGraphics.cpp -index 4c8d23c..6bcfd6d 100644 ---- a/src/af/gr/gtk/gr_UnixCairoGraphics.cpp -+++ b/src/af/gr/gtk/gr_UnixCairoGraphics.cpp -@@ -234,7 +234,7 @@ GR_Font * GR_UnixCairoGraphics::getGUIFont(void) - const char *guiFontName = pango_font_description_get_family(tempStyle->font_desc); - #endif - if (!guiFontName) -- guiFontName = "'Times New Roman'"; -+ guiFontName = "'Liberation Serif'"; - - UT_UTF8String s = XAP_EncodingManager::get_instance()->getLanguageISOName(); - -diff --git a/src/af/gr/xp/gr_CairoGraphics.cpp b/src/af/gr/xp/gr_CairoGraphics.cpp -index 224b883..38ef911 100644 ---- a/src/af/gr/xp/gr_CairoGraphics.cpp -+++ b/src/af/gr/xp/gr_CairoGraphics.cpp -@@ -776,8 +776,8 @@ bool GR_CairoGraphics::shape(GR_ShapingInfo & si, GR_RenderInfo *& ri) - - /* - * Pango does a royally bad job of the font substitution in -- * pango_itemize(): it will happily return 'Times New Roman' as -- * font when we have requested 'Arial', even though the latter is -+ * pango_itemize(): it will happily return 'Liberation Serif' as -+ * font when we have requested 'Liberation Sans', even though the latter is - * present and has the necessary coverage. Consequently we have to - * do the font substitution manually even on the first shapping. - * -@@ -3054,7 +3054,7 @@ GR_Font * GR_CairoGraphics::getDefaultFont(GR_Font::FontFamilyEnum f, - - case GR_Font::FF_Technical: - case GR_Font::FF_BiDi: -- pszFontFamily = "Arial"; -+ pszFontFamily = "Liberation Sans"; - break; - - default: -diff --git a/src/af/util/xp/ut_misc.cpp b/src/af/util/xp/ut_misc.cpp -index 52246c3..bcd5a6d 100644 ---- a/src/af/util/xp/ut_misc.cpp -+++ b/src/af/util/xp/ut_misc.cpp -@@ -570,7 +570,7 @@ const gchar ** UT_setPropsToValue(const gchar ** props, const gchar * value) - } - - /*! -- splits the xml property string (font-size:24pt;font-face:Arial') into names and values -+ splits the xml property string (font-size:24pt;font-face:Liberation Sans') into names and values - and stores them in an array - - the caller has to delete[] the array; the process is destructive to props -diff --git a/src/af/xap/cocoa/xap_CocoaToolPalette.nib/keyedobjects.nib b/src/af/xap/cocoa/xap_CocoaToolPalette.nib/keyedobjects.nib -index f21c815..e284cc9 100644 ---- a/src/af/xap/cocoa/xap_CocoaToolPalette.nib/keyedobjects.nib -+++ b/src/af/xap/cocoa/xap_CocoaToolPalette.nib/keyedobjects.nib -@@ -10910,7 +10910,7 @@ - 624 - - -- Times New Roman -+ Liberation Serif - _popUpItemAction: - - $class -diff --git a/src/af/xap/gtk/xap_UnixDlg_FileOpenSaveAs.cpp b/src/af/xap/gtk/xap_UnixDlg_FileOpenSaveAs.cpp -index bf94333..f77b40b 100644 ---- a/src/af/xap/gtk/xap_UnixDlg_FileOpenSaveAs.cpp -+++ b/src/af/xap/gtk/xap_UnixDlg_FileOpenSaveAs.cpp -@@ -904,7 +904,7 @@ gint XAP_UnixDialog_FileOpenSaveAs::previewPicture (void) - - const gchar * file_name = gtk_file_chooser_get_uri (m_FC); - -- GR_Font * fnt = pGr->findFont("Times New Roman", -+ GR_Font * fnt = pGr->findFont("Liberation Serif", - "normal", "", "normal", - "", "12pt", - pSS->getLanguageName()); -diff --git a/src/af/xap/win/xap_Win32Dlg_About.cpp b/src/af/xap/win/xap_Win32Dlg_About.cpp -index 2cc4aa6..3aec3f0 100644 ---- a/src/af/xap/win/xap_Win32Dlg_About.cpp -+++ b/src/af/xap/win/xap_Win32Dlg_About.cpp -@@ -289,7 +289,7 @@ void XAP_Win32Dialog_About::runModal(XAP_Frame * pFrame) - lf.lfWeight = 0; - HFONT hfontSmall = CreateFontIndirectW(&lf); - -- wcscpy(lf.lfFaceName, L"Arial"); -+ wcscpy(lf.lfFaceName, L"Liberation Sans"); - lf.lfHeight = 36; - lf.lfWeight = FW_BOLD; - HFONT hfontHeading = CreateFontIndirectW(&lf); -diff --git a/src/af/xap/xp/xap_Dlg_FontChooser.cpp b/src/af/xap/xp/xap_Dlg_FontChooser.cpp -index 56ad605..8a89eb5 100644 ---- a/src/af/xap/xp/xap_Dlg_FontChooser.cpp -+++ b/src/af/xap/xp/xap_Dlg_FontChooser.cpp -@@ -570,7 +570,7 @@ void XAP_Preview_FontPreview::draw(const UT_Rect *clip) - std::string sWeight = getVal("font-weight"); - - if(sFamily.empty()) -- sFamily = "Times New Roman"; -+ sFamily = "Liberation Serif"; - - if(sStyle.empty()) - sStyle = "normal"; -diff --git a/src/af/xap/xp/xap_Dlg_Zoom.cpp b/src/af/xap/xp/xap_Dlg_Zoom.cpp -index 25f1a38..c025206 100644 ---- a/src/af/xap/xp/xap_Dlg_Zoom.cpp -+++ b/src/af/xap/xp/xap_Dlg_Zoom.cpp -@@ -124,7 +124,7 @@ void XAP_Dialog_Zoom::_createPreviewFromGC(GR_Graphics * gc, - UT_ASSERT(m_zoomPreview); - - m_zoomPreview->setWindowSize(width, height); -- m_zoomPreview->setString("10-pt Times New Roman"); -+ m_zoomPreview->setString("10-pt Liberation Serif"); - m_zoomPreview->setFont(XAP_Preview_Zoom::font_NORMAL); - m_zoomPreview->setZoomPercent(m_zoomPercent); - -diff --git a/src/af/xap/xp/xap_Preview_Zoom.cpp b/src/af/xap/xp/xap_Preview_Zoom.cpp -index 3ac69e1..0fdae0e 100644 ---- a/src/af/xap/xp/xap_Preview_Zoom.cpp -+++ b/src/af/xap/xp/xap_Preview_Zoom.cpp -@@ -63,7 +63,7 @@ void XAP_Preview_Zoom::setFont(XAP_Preview_Zoom::tFont f) - { - case XAP_Preview_Zoom::font_NORMAL: - sprintf (fontString, "%dpt", (10 * m_zoomPercent / 100)); -- found = m_gc->findFont("Times New Roman", -+ found = m_gc->findFont("Liberation Serif", - "normal", "", "normal", - "", fontString, - NULL); -diff --git a/src/text/fmt/xp/fl_BlockLayout.cpp b/src/text/fmt/xp/fl_BlockLayout.cpp -index f56e1f5..f0d8dd5 100644 ---- a/src/text/fmt/xp/fl_BlockLayout.cpp -+++ b/src/text/fmt/xp/fl_BlockLayout.cpp -@@ -10260,7 +10260,7 @@ void fl_BlockLayout::StartList( const gchar * style, pf_Frag_Strux* prevSDH) - szDec="."; - if(!szFont) - { -- szFont = "Times New Roman"; -+ szFont = "Liberation Serif"; - UT_ASSERT(UT_SHOULD_NOT_HAPPEN); - } - } -diff --git a/src/text/fmt/xp/fp_Line.cpp b/src/text/fmt/xp/fp_Line.cpp -index 8be126c..ede4ddd 100644 ---- a/src/text/fmt/xp/fp_Line.cpp -+++ b/src/text/fmt/xp/fp_Line.cpp -@@ -1856,7 +1856,7 @@ void fp_Line::_doClearScreenFromRunToEnd(UT_sint32 runIndex) - pRun = m_vecRuns.getNthItem(_getRunLogIndx(runIndex)); - - // Handle case where character extends behind the left side -- // like italic Times New Roman f. Clear a litle bit before if -+ // like italic Liberation Serif f. Clear a litle bit before if - // there is clear screen there - UT_sint32 j = runIndex - 1; - -diff --git a/src/text/fmt/xp/fp_TextRun.cpp b/src/text/fmt/xp/fp_TextRun.cpp -index 0e93665..ddb46cb 100644 ---- a/src/text/fmt/xp/fp_TextRun.cpp -+++ b/src/text/fmt/xp/fp_TextRun.cpp -@@ -1442,7 +1442,7 @@ void fp_TextRun::_clearScreen(bool /* bFullLineHeightRect */) - - // - // Handle case where character extend behind the left side -- // like italic Times New Roman f -+ // like italic Liberation Serif f - // - fp_Line * thisLine = getLine(); - fp_Run * pPrev = getPrevRun(); -diff --git a/src/text/fmt/xp/fv_View.cpp b/src/text/fmt/xp/fv_View.cpp -index 38cf5cf..360f99d 100644 ---- a/src/text/fmt/xp/fv_View.cpp -+++ b/src/text/fmt/xp/fv_View.cpp -@@ -586,9 +586,9 @@ FV_View::FV_View(XAP_App * pApp, void* pParentData, FL_DocLayout* pLayout) - s += pCountry; - } - -- // do a fuzzy match for Times New Roman -+ // do a fuzzy match for Liberation Serif - const char * pszFamily = -- GR_Graphics::findNearestFont ("Times New Roman", -+ GR_Graphics::findNearestFont ("Liberation Serif", - "normal", "normal", - "normal", "normal", - "12pt", s.utf8_str()); -diff --git a/src/text/ptbl/xp/pp_Property.cpp b/src/text/ptbl/xp/pp_Property.cpp -index 2c9a27b..c191b38 100644 ---- a/src/text/ptbl/xp/pp_Property.cpp -+++ b/src/text/ptbl/xp/pp_Property.cpp -@@ -104,7 +104,7 @@ static PP_Property _props[] = - - { "field-color", "dcdcdc", true, NULL, PP_LEVEL_FIELD}, - { "field-font", "NULL", true, NULL, PP_LEVEL_FIELD}, -- { "font-family", "Times New Roman", true, NULL, PP_LEVEL_CHAR}, -+ { "font-family", "Liberation Serif", true, NULL, PP_LEVEL_CHAR}, - { "font-size", "12pt", true, NULL, PP_LEVEL_CHAR}, // MS word defaults to 10pt, but it just seems too small - { "font-stretch", "normal", true, NULL, PP_LEVEL_CHAR}, - { "font-style", "normal", true, NULL, PP_LEVEL_CHAR}, -diff --git a/src/text/ptbl/xp/pp_Revision.cpp b/src/text/ptbl/xp/pp_Revision.cpp -index 47a9976..ebfc7f5 100644 ---- a/src/text/ptbl/xp/pp_Revision.cpp -+++ b/src/text/ptbl/xp/pp_Revision.cpp -@@ -436,7 +436,7 @@ void PP_RevisionAttr::_init(const gchar *r) - return; - - // the string we are parsing looks like -- // "+1,-2,!3{font-family: Times New Roman}" -+ // "+1,-2,!3{font-family: Liberation Serif}" - - // first duplicate the string so we can play with it ... - char * s = (char*) g_strdup(r); -diff --git a/src/text/ptbl/xp/pp_Revision.h b/src/text/ptbl/xp/pp_Revision.h -index f093ef0..9f77e84 100644 ---- a/src/text/ptbl/xp/pp_Revision.h -+++ b/src/text/ptbl/xp/pp_Revision.h -@@ -116,7 +116,7 @@ class ABI_EXPORT PP_Revision: public PP_AttrProp - where n is a numerical id of the revision and props is regular - property string, for instance - -- font-family:Times New Roman -+ font-family:Liberation Serif - - revoval of property/attribute is indicated by setting to -/-, e.g., - -diff --git a/src/text/ptbl/xp/pt_PT_Styles.cpp b/src/text/ptbl/xp/pt_PT_Styles.cpp -index 3829f0d..c9f370c 100644 ---- a/src/text/ptbl/xp/pt_PT_Styles.cpp -+++ b/src/text/ptbl/xp/pt_PT_Styles.cpp -@@ -176,7 +176,7 @@ bool pt_PieceTable::_loadBuiltinStyles(void) - s += pCountry; - } - -- const char* pszFamily = XAP_App::findNearestFont("Times New Roman", -+ const char* pszFamily = XAP_App::findNearestFont("Liberation Serif", - "normal", "", - "normal", "", "12pt", - s.utf8_str()); -@@ -188,7 +188,7 @@ bool pt_PieceTable::_loadBuiltinStyles(void) - "text-indent:0in; text-position:normal; line-height:1.0; " - "color:000000; bgcolor:transparent; widows:2", pszFamily); - -- pszFamily = XAP_App::findNearestFont("Arial", "normal", "", -+ pszFamily = XAP_App::findNearestFont("Liberation Sans", "normal", "", - "normal", "", "12pt", s.utf8_str()); - - // used to set the dom-dir of the style here, but we do not want to do that. The -@@ -263,7 +263,7 @@ bool pt_PieceTable::_loadBuiltinStyles(void) - UT_String_sprintf(stTmp, list_fmt, "Arrowhead List","0", LIST_DEFAULT_INDENT, LIST_DEFAULT_INDENT_LABEL, "transparent", "%L", pszFamily, "NULL"); - _s("Arrowhead List",false, "P", "", "Current Settings", stTmp.c_str()); - -- // pszFamily is the nearest font to Arial found in the system -+ // pszFamily is the nearest font to Liberation Sans found in the system - UT_String_sprintf(stTmp, "tabstops:0.3in/L0; list-style:Numbered List; " - "start-value:1; margin-left:0.0in; text-indent:0.0in; " - "field-color:transparent; list-delim:%%L.; field-font:%s; " -@@ -274,7 +274,7 @@ bool pt_PieceTable::_loadBuiltinStyles(void) - _s("Numbered Heading 2",true,"P","Heading 2","Normal", stTmp.c_str()); - _s("Numbered Heading 3",true,"P","Heading 3","Normal", stTmp.c_str()); - -- // pszFamily is the nearest font to Arial found in the system -+ // pszFamily is the nearest font to Liberation Sans found in the system - - UT_String_sprintf(stTmp, list_fmt, "Numbered List", "1",LIST_DEFAULT_INDENT, LIST_DEFAULT_INDENT_LABEL, "transparent", "%L.", "NULL", "."); - -diff --git a/src/wp/ap/xp/ap_Dialog_Lists.cpp b/src/wp/ap/xp/ap_Dialog_Lists.cpp -index 5aa32cb..dfeb4c1 100644 ---- a/src/wp/ap/xp/ap_Dialog_Lists.cpp -+++ b/src/wp/ap/xp/ap_Dialog_Lists.cpp -@@ -1109,7 +1109,7 @@ void AP_Lists_preview::setData(const gchar * pszFont,float fAlign,float fIndent) - // - if(!pszFont || strcmp(pszFont,"NULL")== 0) - { -- m_pFont = m_gc->findFont("Times New Roman", -+ m_pFont = m_gc->findFont("Liberation Serif", - "normal", "", "normal", - "", "16pt", NULL); - } -diff --git a/src/wp/ap/xp/ap_Dialog_PageNumbers.cpp b/src/wp/ap/xp/ap_Dialog_PageNumbers.cpp -index ecfdfcb..db3a518 100644 ---- a/src/wp/ap/xp/ap_Dialog_PageNumbers.cpp -+++ b/src/wp/ap/xp/ap_Dialog_PageNumbers.cpp -@@ -88,7 +88,7 @@ AP_Preview_PageNumbers::AP_Preview_PageNumbers (GR_Graphics * gc) - char fontString [10]; - sprintf(fontString, "%dpt", 8); - -- GR_Font * found = m_gc->findFont("Times New Roman", "normal", -+ GR_Font * found = m_gc->findFont("Liberation Serif", "normal", - "", "normal", "", fontString, - NULL); - -diff --git a/src/wp/ap/xp/ap_Preview_Annotation.cpp b/src/wp/ap/xp/ap_Preview_Annotation.cpp -index 5068315..91571e3 100644 ---- a/src/wp/ap/xp/ap_Preview_Annotation.cpp -+++ b/src/wp/ap/xp/ap_Preview_Annotation.cpp -@@ -95,7 +95,7 @@ void AP_Preview_Annotation::setSizeFromAnnotation(void) - pG = pView->getGraphics(); - - UT_return_if_fail(pG); -- GR_Font * pFont = pG->findFont("Times New Roman", "normal", -+ GR_Font * pFont = pG->findFont("Liberation Serif", "normal", - "normal", "normal", - "normal", "12pt", - NULL); -@@ -124,7 +124,7 @@ void AP_Preview_Annotation::draw(const UT_Rect *clip) - UT_RGBColor FGcolor(0,0,0); - UT_RGBColor BGcolor(m_clrBackground); - -- m_pFont = m_gc->findFont("Times New Roman", "normal", -+ m_pFont = m_gc->findFont("Liberation Serif", "normal", - "normal", "normal", - "normal", "12pt", - NULL); -diff --git a/src/wp/ap/xp/ap_Preview_Paragraph.cpp b/src/wp/ap/xp/ap_Preview_Paragraph.cpp -index fc4dc38..fba04f1 100644 ---- a/src/wp/ap/xp/ap_Preview_Paragraph.cpp -+++ b/src/wp/ap/xp/ap_Preview_Paragraph.cpp -@@ -540,7 +540,7 @@ void AP_Preview_Paragraph::draw(const UT_Rect *clip) - bool AP_Preview_Paragraph::_loadDrawFont(const char *name) - { - // we draw at 7 points in this preview -- GR_Font * font = m_gc->findFont(name ? name : "Times New Roman", -+ GR_Font * font = m_gc->findFont(name ? name : "Liberation Serif", - "normal", "", "normal", - "", "7pt", - NULL); // might need to get the real lang -diff --git a/src/wp/impexp/xp/ie_imp_MsWord_97.cpp b/src/wp/impexp/xp/ie_imp_MsWord_97.cpp -index 4673f80..d194004 100644 ---- a/src/wp/impexp/xp/ie_imp_MsWord_97.cpp -+++ b/src/wp/impexp/xp/ie_imp_MsWord_97.cpp -@@ -628,10 +628,10 @@ s_fieldFontForListStyle (MSWordListIdType id) - return "NULL"; - - case WLNF_UPPER_LETTER: // upper letter -- return "Times New Roman"; -+ return "Liberation Serif"; - - case WLNF_LOWER_LETTER: // lower letter -- return "Times New Roman"; -+ return "Liberation Serif"; - - case WLNF_BULLETS: // bullet list - UT_DEBUGMSG(("Fieldfont set to symbol \n")); -@@ -639,11 +639,11 @@ s_fieldFontForListStyle (MSWordListIdType id) - - case WLNF_EUROPEAN_ARABIC: - case WLNF_ORDINAL: // ordinal -- return "Times New Roman"; -+ return "Liberation Serif"; - - default: -- UT_DEBUGMSG(("unknown list type %d field-font set to Times New Roman \n",id)); -- return "Times New Roman"; -+ UT_DEBUGMSG(("unknown list type %d field-font set to Liberation Serif \n",id)); -+ return "Liberation Serif"; - } - } - -@@ -5250,7 +5250,7 @@ void IE_Imp_MsWord_97::_generateCharProps(UT_String &s, const CHP * achp, wvPars - if(fname) - s += fname; - else -- s += "Times New Roman"; -+ s += "Liberation Serif"; - FREEP(fname); - } - -diff --git a/src/wp/impexp/xp/ie_imp_RTF.cpp b/src/wp/impexp/xp/ie_imp_RTF.cpp -index 97a6f29..3177c9c 100644 ---- a/src/wp/impexp/xp/ie_imp_RTF.cpp -+++ b/src/wp/impexp/xp/ie_imp_RTF.cpp -@@ -6313,11 +6313,11 @@ bool IE_Imp_RTF::buildCharacterProps(std::string & propBuffer) - // {\f83\fnil\fcharset0\fprq0{\*\panose 00000000000000000000} ;} - // note the empty slot after the panose entry - // later it gets referenced: {\b\f83\fs24\cf1\cgrid0 Malte Cornils -- // this turns those into "Times New Roman" for now, as a hack to keep from crashing -+ // this turns those into "Liberation Serif" for now, as a hack to keep from crashing - if ( pFont->m_pFontName != NULL ) - propBuffer += pFont->m_pFontName; - else -- propBuffer += "Times New Roman"; -+ propBuffer += "Liberation Serif"; - } - if (m_currentRTFState.m_charProps.m_hasColour) - { -@@ -9034,7 +9034,7 @@ bool IE_Imp_RTF::ReadFontTable() - { - // NB: Ignores whitespace until we've seen non-whitespace data. - // This means we pick up the spaces in font names like -- // "Times New Roman", but it also means that any font names -+ // "Liberation Serif", but it also means that any font names - // that genuinely start with spaces will have them discarded. - // This is hopefully not a problem. - tokenType = NextToken(keyword, ¶meter,& paramUsed, -@@ -9102,11 +9102,11 @@ bool IE_Imp_RTF::ReadFontTable() - // It's possible that the font name will be empty. This might happend - // because the font table didn't specify a name, or because the \ansicpgN - // command was invalid, in which case the mbtowc convertion might fail. -- // In these cases, substitute "Times New Roman". -+ // In these cases, substitute "Liberation Serif". - if (!sFontNamesAndPanose[SFontTableState::MainFontName].length()) - { -- UT_DEBUGMSG(("RTF: Font Index %d: Substituting \"Times New Roman\" for missing font name.\n", fontIndex)); -- sFontNamesAndPanose[SFontTableState::MainFontName] = "Times New Roman"; -+ UT_DEBUGMSG(("RTF: Font Index %d: Substituting \"Liberation Serif\" for missing font name.\n", fontIndex)); -+ sFontNamesAndPanose[SFontTableState::MainFontName] = "Liberation Serif"; - } - // Validate and post-process the Panose string. - if (!PostProcessAndValidatePanose(sFontNamesAndPanose[SFontTableState::Panose])) -diff --git a/user/wp/readme.abw b/user/wp/readme.abw -index 7bf2cdc..48e3bb6 100644 ---- a/user/wp/readme.abw -+++ b/user/wp/readme.abw -@@ -16,9 +16,9 @@ - - - -- -- -- -+ -+ -+ - - -
-diff --git a/user/wp/templates/Business-Letter.awt b/user/wp/templates/Business-Letter.awt -index 524558a..9448277 100644 ---- a/user/wp/templates/Business-Letter.awt -+++ b/user/wp/templates/Business-Letter.awt -@@ -19,14 +19,14 @@ - - - -- -- -- -+ -+ -+ - -- -- -- -- -+ -+ -+ -+ - - -
-diff --git a/user/wp/templates/Business-Report.awt b/user/wp/templates/Business-Report.awt -index c2e85c9..f2f5b16 100644 ---- a/user/wp/templates/Business-Report.awt -+++ b/user/wp/templates/Business-Report.awt -@@ -21,7 +21,7 @@ -

-

-

Title

--

Subtitle

-+

Subtitle

-

-

Release 1.0

-

-@@ -99,11 +99,11 @@ -
-

-

--

Heading 1

-+

Heading 1

-

text

--

Heading 2

-+

Heading 2

-

text

--

Heading 3

-+

Heading 3

-

-
-
-diff --git a/user/wp/templates/Employee-Directory.awt b/user/wp/templates/Employee-Directory.awt -index c4f7ebc..b0faa54 100644 ---- a/user/wp/templates/Employee-Directory.awt -+++ b/user/wp/templates/Employee-Directory.awt -@@ -10,9 +10,9 @@ - - -
--

Company Name

--

Directory of Employees

--

-+

Company Name

-+

Directory of Employees

-+

-

-

-

-@@ -36,59 +36,59 @@ -

Normal Style (123) 555-1212

-

-

--

Department Name

--

The big boss upstairs (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

--

--

Department Name

--

The big boss upstairs (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

--

--

Department Name

--

The big boss upstairs (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

--

--

Department Name

--

The big boss upstairs (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

Last Name, First Name (123) 555-1212

--

--

--

General Numbers

--

Front Desk (123) 555-1212

--

Security (123) 555-1212

--

Building Management (123) 555-1212

--

Other General Numbers (123) 555-1212

-+

Department Name

-+

The big boss upstairs (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

-+

-+

Department Name

-+

The big boss upstairs (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

-+

-+

Department Name

-+

The big boss upstairs (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

-+

-+

Department Name

-+

The big boss upstairs (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

Last Name, First Name (123) 555-1212

-+

-+

-+

General Numbers

-+

Front Desk (123) 555-1212

-+

Security (123) 555-1212

-+

Building Management (123) 555-1212

-+

Other General Numbers (123) 555-1212

-
- - -diff --git a/user/wp/templates/Fax-Coversheet.awt b/user/wp/templates/Fax-Coversheet.awt -index acc7ba8..cc5779c 100644 ---- a/user/wp/templates/Fax-Coversheet.awt -+++ b/user/wp/templates/Fax-Coversheet.awt -@@ -10,26 +10,26 @@ - - -
--

Company Name

--

Company Address Line 1

--

Company Address Line 2

--

Company Address Line 3

--

--

FAX

--

TO: From:

--

Fax: Pages:

--

Phone: Date:

-+

Company Name

-+

Company Address Line 1

-+

Company Address Line 2

-+

Company Address Line 3

-+

-+

FAX

-+

TO: From:

-+

Fax: Pages:

-+

Phone: Date:

-

-

Re: CC:

-

-

--

 Urgent  For Review  Please Comment  Please Reply  Please Recycle

--

-+

 Urgent  For Review  Please Comment  Please Reply  Please Recycle

-+

-

-

--

Comments

-+

Comments

-

--

This text should the replaced with your comments about the fax and any additional comment to the receiver.

-+

This text should the replaced with your comments about the fax and any additional comment to the receiver.

-
- - -diff --git a/user/wp/templates/Friendly-Letter.awt b/user/wp/templates/Friendly-Letter.awt -index 5a25db1..2e687fc 100644 ---- a/user/wp/templates/Friendly-Letter.awt -+++ b/user/wp/templates/Friendly-Letter.awt -@@ -16,12 +16,12 @@ - - - -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ - - -
-diff --git a/user/wp/templates/Memo.awt b/user/wp/templates/Memo.awt -index 79b5538..560a4cd 100644 ---- a/user/wp/templates/Memo.awt -+++ b/user/wp/templates/Memo.awt -@@ -14,10 +14,10 @@ - Fri Mar 12 21:07:56 2004 - - -- -- -- -- -+ -+ -+ -+ - - - -@@ -59,10 +59,10 @@ -

The box that this text is in uses AbiWord's table support to draw the border. You can either allow the border to fit to the size of the text as it is now, or press <ENTER> repeatedly at the end of your memo to expand the border to fill the rest of the page.

-

Don't forget to change the header and footer before printing! If you wish to save this memo for later and ensure that the date above is saved as today's (not automatically updating), select it and type the desired date text over it.

-

The styles used in this document for correct conversion, import, export, and HTML are:

--

Heading 1 for Company Name

--

Heading 2 for Slogan

--

Heading 3 for "Date:", "To:", etc.

--

Normal for body text

-+

Heading 1 for Company Name

-+

Heading 2 for Slogan

-+

Heading 3 for "Date:", "To:", etc.

-+

Normal for body text

- - -

-diff --git a/user/wp/templates/Press-Release.awt b/user/wp/templates/Press-Release.awt -index 708bce7..4d8bac1 100644 ---- a/user/wp/templates/Press-Release.awt -+++ b/user/wp/templates/Press-Release.awt -@@ -16,19 +16,19 @@ - - - -- -- -- -- -+ -+ -+ -+ - - - -- -+ - - - - -- -+ - - - -@@ -36,19 +36,19 @@ - - - -- -- -- -+ -+ -+ - - - - -- -- -- -+ -+ -+ - - -- -+ - - - -@@ -77,7 +77,7 @@ -

- - --

FOR IMMEDIATE RELEASE

-+

FOR IMMEDIATE RELEASE

-
- -

-diff --git a/user/wp/templates/Resume.awt b/user/wp/templates/Resume.awt -index 1e61cdd..8eda0b7 100644 ---- a/user/wp/templates/Resume.awt -+++ b/user/wp/templates/Resume.awt -@@ -14,11 +14,11 @@ - Fri Mar 12 22:08:25 2004 - - -- -- -- -- -- -+ -+ -+ -+ -+ - - -
-diff --git a/user/wp/templates/normal.awt b/user/wp/templates/normal.awt -index 4c83f82..e7fcb00 100644 ---- a/user/wp/templates/normal.awt -+++ b/user/wp/templates/normal.awt -@@ -9,7 +9,7 @@ - - - -- -+ - - - -diff --git a/user/wp/templates/normal.awt-am_ET b/user/wp/templates/normal.awt-am_ET -index cb1a8d4..c7b7707 100644 ---- a/user/wp/templates/normal.awt-am_ET -+++ b/user/wp/templates/normal.awt-am_ET -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-ar b/user/wp/templates/normal.awt-ar -index 9aa7a5c..0cd8882 100644 ---- a/user/wp/templates/normal.awt-ar -+++ b/user/wp/templates/normal.awt-ar -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-ar_EG b/user/wp/templates/normal.awt-ar_EG -index 5fcf2d1..b920dcc 100644 ---- a/user/wp/templates/normal.awt-ar_EG -+++ b/user/wp/templates/normal.awt-ar_EG -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-ar_SA b/user/wp/templates/normal.awt-ar_SA -index 09c1bbb..12ad0d6 100644 ---- a/user/wp/templates/normal.awt-ar_SA -+++ b/user/wp/templates/normal.awt-ar_SA -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-bg_BG b/user/wp/templates/normal.awt-bg_BG -index df6f2bf..d789046 100644 ---- a/user/wp/templates/normal.awt-bg_BG -+++ b/user/wp/templates/normal.awt-bg_BG -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-ca_ES b/user/wp/templates/normal.awt-ca_ES -index 0a337a2..69fecfd 100644 ---- a/user/wp/templates/normal.awt-ca_ES -+++ b/user/wp/templates/normal.awt-ca_ES -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-cs_CZ b/user/wp/templates/normal.awt-cs_CZ -index 3e5e87e..d2cb937 100644 ---- a/user/wp/templates/normal.awt-cs_CZ -+++ b/user/wp/templates/normal.awt-cs_CZ -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-da_DK b/user/wp/templates/normal.awt-da_DK -index 6ce3d83..f8706cb 100644 ---- a/user/wp/templates/normal.awt-da_DK -+++ b/user/wp/templates/normal.awt-da_DK -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-de b/user/wp/templates/normal.awt-de -index 8faa619..c0c18f7 100644 ---- a/user/wp/templates/normal.awt-de -+++ b/user/wp/templates/normal.awt-de -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-de_AT b/user/wp/templates/normal.awt-de_AT -index 9abfde1..d0ec20e 100644 ---- a/user/wp/templates/normal.awt-de_AT -+++ b/user/wp/templates/normal.awt-de_AT -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-de_CH b/user/wp/templates/normal.awt-de_CH -index 0aa531a..24b0f8d 100644 ---- a/user/wp/templates/normal.awt-de_CH -+++ b/user/wp/templates/normal.awt-de_CH -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-de_DE b/user/wp/templates/normal.awt-de_DE -index 0190408..6372e78 100644 ---- a/user/wp/templates/normal.awt-de_DE -+++ b/user/wp/templates/normal.awt-de_DE -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-div_MV b/user/wp/templates/normal.awt-div_MV -index 9a8c50e..88270ce 100644 ---- a/user/wp/templates/normal.awt-div_MV -+++ b/user/wp/templates/normal.awt-div_MV -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-el_GR b/user/wp/templates/normal.awt-el_GR -index e1c8de5..1db03a4 100644 ---- a/user/wp/templates/normal.awt-el_GR -+++ b/user/wp/templates/normal.awt-el_GR -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-en_AU b/user/wp/templates/normal.awt-en_AU -index c7fa4c9..0e29beb 100644 ---- a/user/wp/templates/normal.awt-en_AU -+++ b/user/wp/templates/normal.awt-en_AU -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-en_CA b/user/wp/templates/normal.awt-en_CA -index 3729a04..cff6807 100644 ---- a/user/wp/templates/normal.awt-en_CA -+++ b/user/wp/templates/normal.awt-en_CA -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-en_GB b/user/wp/templates/normal.awt-en_GB -index 14b8bcf..55364cd 100644 ---- a/user/wp/templates/normal.awt-en_GB -+++ b/user/wp/templates/normal.awt-en_GB -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-en_IE b/user/wp/templates/normal.awt-en_IE -index 95e3fc7..7b0c3a5 100644 ---- a/user/wp/templates/normal.awt-en_IE -+++ b/user/wp/templates/normal.awt-en_IE -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-en_NZ b/user/wp/templates/normal.awt-en_NZ -index 70016d2..0871e93 100644 ---- a/user/wp/templates/normal.awt-en_NZ -+++ b/user/wp/templates/normal.awt-en_NZ -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-en_ZA b/user/wp/templates/normal.awt-en_ZA -index ebe7ee3..c4f7795 100644 ---- a/user/wp/templates/normal.awt-en_ZA -+++ b/user/wp/templates/normal.awt-en_ZA -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-es b/user/wp/templates/normal.awt-es -index 12c611c..a2067e0 100644 ---- a/user/wp/templates/normal.awt-es -+++ b/user/wp/templates/normal.awt-es -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-es_AR b/user/wp/templates/normal.awt-es_AR -index 87130b5..fc8ac38 100644 ---- a/user/wp/templates/normal.awt-es_AR -+++ b/user/wp/templates/normal.awt-es_AR -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-es_ES b/user/wp/templates/normal.awt-es_ES -index 87130b5..fc8ac38 100644 ---- a/user/wp/templates/normal.awt-es_ES -+++ b/user/wp/templates/normal.awt-es_ES -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-es_IR b/user/wp/templates/normal.awt-es_IR -index 4d3e321..33c7144 100644 ---- a/user/wp/templates/normal.awt-es_IR -+++ b/user/wp/templates/normal.awt-es_IR -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-es_MX b/user/wp/templates/normal.awt-es_MX -index 52c3411..2522a82 100644 ---- a/user/wp/templates/normal.awt-es_MX -+++ b/user/wp/templates/normal.awt-es_MX -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-fa_IR b/user/wp/templates/normal.awt-fa_IR -index db24783..a0f0bde 100644 ---- a/user/wp/templates/normal.awt-fa_IR -+++ b/user/wp/templates/normal.awt-fa_IR -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-fi_FI b/user/wp/templates/normal.awt-fi_FI -index 1471a71..b65fa66 100644 ---- a/user/wp/templates/normal.awt-fi_FI -+++ b/user/wp/templates/normal.awt-fi_FI -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-fr b/user/wp/templates/normal.awt-fr -index 4e94583..67ae7c2 100644 ---- a/user/wp/templates/normal.awt-fr -+++ b/user/wp/templates/normal.awt-fr -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-fr_BE b/user/wp/templates/normal.awt-fr_BE -index 8b310c4..d4b7723 100644 ---- a/user/wp/templates/normal.awt-fr_BE -+++ b/user/wp/templates/normal.awt-fr_BE -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-fr_CA b/user/wp/templates/normal.awt-fr_CA -index e673aac..c3bb3fd 100644 ---- a/user/wp/templates/normal.awt-fr_CA -+++ b/user/wp/templates/normal.awt-fr_CA -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-fr_CH b/user/wp/templates/normal.awt-fr_CH -index 1888a71..eb4b5de 100644 ---- a/user/wp/templates/normal.awt-fr_CH -+++ b/user/wp/templates/normal.awt-fr_CH -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-fr_FR b/user/wp/templates/normal.awt-fr_FR -index f877981..0f523f6 100644 ---- a/user/wp/templates/normal.awt-fr_FR -+++ b/user/wp/templates/normal.awt-fr_FR -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-gl_ES b/user/wp/templates/normal.awt-gl_ES -index 7f4876b..006645e 100644 ---- a/user/wp/templates/normal.awt-gl_ES -+++ b/user/wp/templates/normal.awt-gl_ES -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-he b/user/wp/templates/normal.awt-he -index a3da00f..f1a238f 100644 ---- a/user/wp/templates/normal.awt-he -+++ b/user/wp/templates/normal.awt-he -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-he_IL b/user/wp/templates/normal.awt-he_IL -index 98d81eb..e78e16b 100644 ---- a/user/wp/templates/normal.awt-he_IL -+++ b/user/wp/templates/normal.awt-he_IL -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-hu_HU b/user/wp/templates/normal.awt-hu_HU -index d79154f..0dd6026 100644 ---- a/user/wp/templates/normal.awt-hu_HU -+++ b/user/wp/templates/normal.awt-hu_HU -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-it_IT b/user/wp/templates/normal.awt-it_IT -index a72f1d4..1121843 100644 ---- a/user/wp/templates/normal.awt-it_IT -+++ b/user/wp/templates/normal.awt-it_IT -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-ja_JP b/user/wp/templates/normal.awt-ja_JP -index 4f379e1..351fdd6 100644 ---- a/user/wp/templates/normal.awt-ja_JP -+++ b/user/wp/templates/normal.awt-ja_JP -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-lt_LT b/user/wp/templates/normal.awt-lt_LT -index e9d6ec1..b66be4a 100644 ---- a/user/wp/templates/normal.awt-lt_LT -+++ b/user/wp/templates/normal.awt-lt_LT -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-nb_NO b/user/wp/templates/normal.awt-nb_NO -index 1b6398f..5cdf741 100644 ---- a/user/wp/templates/normal.awt-nb_NO -+++ b/user/wp/templates/normal.awt-nb_NO -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-nl_NL b/user/wp/templates/normal.awt-nl_NL -index 0f8b299..4be5de2 100644 ---- a/user/wp/templates/normal.awt-nl_NL -+++ b/user/wp/templates/normal.awt-nl_NL -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-nn_NO b/user/wp/templates/normal.awt-nn_NO -index 981d577..1a36ad3 100644 ---- a/user/wp/templates/normal.awt-nn_NO -+++ b/user/wp/templates/normal.awt-nn_NO -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-pl_PL b/user/wp/templates/normal.awt-pl_PL -index 0405d45..7f32223 100644 ---- a/user/wp/templates/normal.awt-pl_PL -+++ b/user/wp/templates/normal.awt-pl_PL -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-ps b/user/wp/templates/normal.awt-ps -index 971e62f..e5e674f 100644 ---- a/user/wp/templates/normal.awt-ps -+++ b/user/wp/templates/normal.awt-ps -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-pt_BR b/user/wp/templates/normal.awt-pt_BR -index bdf4c09..4d85f5c 100644 ---- a/user/wp/templates/normal.awt-pt_BR -+++ b/user/wp/templates/normal.awt-pt_BR -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-pt_PT b/user/wp/templates/normal.awt-pt_PT -index 7a44c3e..e1b766e 100644 ---- a/user/wp/templates/normal.awt-pt_PT -+++ b/user/wp/templates/normal.awt-pt_PT -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-ru b/user/wp/templates/normal.awt-ru -index c34fd94..6e29dfd 100644 ---- a/user/wp/templates/normal.awt-ru -+++ b/user/wp/templates/normal.awt-ru -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-ru_RU b/user/wp/templates/normal.awt-ru_RU -index b07198e..4f435ea 100644 ---- a/user/wp/templates/normal.awt-ru_RU -+++ b/user/wp/templates/normal.awt-ru_RU -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-sk_SK b/user/wp/templates/normal.awt-sk_SK -index d03a1a5..bb04b0e 100644 ---- a/user/wp/templates/normal.awt-sk_SK -+++ b/user/wp/templates/normal.awt-sk_SK -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-sl b/user/wp/templates/normal.awt-sl -index 2dfcf1a..e874715 100644 ---- a/user/wp/templates/normal.awt-sl -+++ b/user/wp/templates/normal.awt-sl -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-sv b/user/wp/templates/normal.awt-sv -index d0f5163..82aa982 100644 ---- a/user/wp/templates/normal.awt-sv -+++ b/user/wp/templates/normal.awt-sv -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-sv_SE b/user/wp/templates/normal.awt-sv_SE -index 932da12..55d9e8c 100644 ---- a/user/wp/templates/normal.awt-sv_SE -+++ b/user/wp/templates/normal.awt-sv_SE -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-syr b/user/wp/templates/normal.awt-syr -index 72b77ad..3bd9503 100644 ---- a/user/wp/templates/normal.awt-syr -+++ b/user/wp/templates/normal.awt-syr -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-tr b/user/wp/templates/normal.awt-tr -index 489bc0a..2497b35 100644 ---- a/user/wp/templates/normal.awt-tr -+++ b/user/wp/templates/normal.awt-tr -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-tr_TR b/user/wp/templates/normal.awt-tr_TR -index bf775c8..bfd3982 100644 ---- a/user/wp/templates/normal.awt-tr_TR -+++ b/user/wp/templates/normal.awt-tr_TR -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-uk_UA b/user/wp/templates/normal.awt-uk_UA -index 6c759ad..76cbd8c 100644 ---- a/user/wp/templates/normal.awt-uk_UA -+++ b/user/wp/templates/normal.awt-uk_UA -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-ur_PK b/user/wp/templates/normal.awt-ur_PK -index 00cc1c7..8fcaf67 100644 ---- a/user/wp/templates/normal.awt-ur_PK -+++ b/user/wp/templates/normal.awt-ur_PK -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-yi b/user/wp/templates/normal.awt-yi -index e25ac13..02ffba4 100644 ---- a/user/wp/templates/normal.awt-yi -+++ b/user/wp/templates/normal.awt-yi -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-zh_CN b/user/wp/templates/normal.awt-zh_CN -index d103911..3a949bc 100644 ---- a/user/wp/templates/normal.awt-zh_CN -+++ b/user/wp/templates/normal.awt-zh_CN -@@ -9,7 +9,7 @@ - - - -- -+ - - -
-diff --git a/user/wp/templates/normal.awt-zh_TW b/user/wp/templates/normal.awt-zh_TW -index 3570d5e..8a2cdd7 100644 ---- a/user/wp/templates/normal.awt-zh_TW -+++ b/user/wp/templates/normal.awt-zh_TW -@@ -9,7 +9,7 @@ - - - -- -+ - - -
diff --git a/libre/abiword/PKGBUILD b/libre/abiword/PKGBUILD new file mode 100644 index 000000000..70eccc2ca --- /dev/null +++ b/libre/abiword/PKGBUILD @@ -0,0 +1,106 @@ +# $Id: PKGBUILD 215017 2014-06-11 14:14:55Z jgc $ +# Contributor (Arch): Giovanni Scafora +# Contributor (Arch): Maël Lavault +# Maintainer: André Silva + +pkgbase=abiword +pkgname=('abiword' 'abiword-plugins') +pkgver=3.0.0 +pkgrel=3.parabola1 +arch=('i686' 'x86_64' 'mips64el') +license=('GPL') +url='http://www.abisource.com' +makedepends=('pkgconfig' 'asio' 'boost' 'fribidi' 'goffice' 'libwmf' 'wv' + 'link-grammar' 'gtkmathview' 'aiksaurus' 'libxslt' 'enchant' + 'libots' 'libwpg' 'librsvg' 'loudmouth' 'libsoup' 'psiconv' + 'redland' 'libical') +options=('!makeflags') +source=(http://abisource.com/downloads/$pkgbase/$pkgver/source/$pkgbase-$pkgver.tar.gz + fix_crash_saving_pdf.patch + abiword-3.0.0-librevenge.patch + liberation-fonts.patch) +md5sums=('8d9c41cff3a8fbef8d0c835c65600e65' + 'c3336f5ac7d227ff755c7e42459f20e1' + '6fc2d653d3b814bbfd9b0d71c69c4796' + 'e7ef4d436469ae4b24b0f784b09ab023') + +prepare() { + cd $pkgbase-$pkgver + + # fix FS#39652 - http://bugzilla.abisource.com/show_bug.cgi?id=13586#c2 + patch -Np2 -i ${srcdir}/fix_crash_saving_pdf.patch + + # fix build with librevenge based import filters + patch -Np0 -i ${srcdir}/abiword-3.0.0-librevenge.patch + + # replace nonfree fonts support to liberation fonts + patch -Np1 -i "${srcdir}/liberation-fonts.patch" + + find plugins -name plugin.m4 | xargs cat > plugin-configure.m4 + + #aclocal -I m4 --install + #autoconf + libtoolize --force + autoreconf -fi +} + + +build() { + cd $pkgbase-$pkgver + +# Collab plugin is somehow broken: +# part service +#In file included from ./../../../backends/service/xp/RealmConnection.h:33:0, +# from ./../../../backends/service/xp/AbiCollabSaveInterceptor.h:23, +# from ./../../../backends/service/xp/ServiceAccountHandler.h:33, +# from ServiceUnixAccountHandler.h:23, +# from ServiceUnixAccountHandler.cpp:20: +#./../../../core/sync/xp/SynchronizedQueue.h:32:1: error: expected class-name before '{' token +# { +# part tcp +#In file included from ./../../../backends/tcp/xp/IOServerHandler.h:29:0, +# from ./../../../backends/tcp/xp/TCPAccountHandler.h:25, +# from TCPUnixAccountHandler.h:22, +# from TCPUnixAccountHandler.cpp:20: +#./../../../backends/tcp/xp/Session.h:34:63: error: expected class-name before ',' token +# class Session : public Synchronizer, public boost::noncopyable, public boost::enable_shared_from_this + + ./configure --prefix=/usr \ + --enable-shared \ + --disable-static \ + --enable-clipart \ + --enable-templates \ + --disable-builtin-plugins \ + --enable-plugins \ + --disable-collab-backend-service \ + --disable-collab-backend-tcp + make +} + +package_abiword() { + pkgdesc='Fully-featured word processor, without nonfree fonts support' + depends=('fribidi' 'wv' 'goffice' 'librsvg' 'enchant' 'desktop-file-utils' + 'redland' 'libical' 'gtk-update-icon-cache') + install=$pkgbase.install + optdepends=('abiword-plugins') + conflicts=("abiword-plugins<${pkgver}-${pkgrel}" 'abiword-libre') + replaces=('abiword-libre') + + cd $pkgbase-$pkgver + make DESTDIR="$pkgdir" install + + # split out plugins, there's no Makefile target for a clean way + mkdir ${srcdir}/_pluginsdir + mv "$pkgdir"/usr/lib/abiword-${pkgver%.*}/plugins ${srcdir}/_pluginsdir +} + +package_abiword-plugins() { + pkgdesc='Additional plugins for Abiword, without nonfree fonts support' + depends=("abiword=${pkgver}-${pkgrel}" 'loudmouth' 'libwpg' 'libwmf' 'link-grammar' + 'gtkmathview' 'aiksaurus' 'libxslt' 'libsoup' 'libots' 'libgsf' 'psiconv') + conflicts=('abiword-libre-plugins') + replaces=('abiword-libre-plugins') + + install -dm755 ${pkgdir}/usr/lib/abiword-${pkgver%.*} + mv ${srcdir}/_pluginsdir/plugins ${pkgdir}/usr/lib/abiword-${pkgver%.*}/ +} diff --git a/libre/abiword/abiword-2.8.6-glib-2.31.patch b/libre/abiword/abiword-2.8.6-glib-2.31.patch new file mode 100644 index 000000000..8b938cc25 --- /dev/null +++ b/libre/abiword/abiword-2.8.6-glib-2.31.patch @@ -0,0 +1,40 @@ +------------------------------------------------------------------------ +r30479 | hub | 2011-11-29 00:39:09 -0500 (Tue, 29 Nov 2011) | 2 lines +Changed paths: + M /abiword/trunk/src/af/util/xp/ut_go_file.h + +Bug 13197: only import glib.h +Patch by Dominique Leuenberger. +------------------------------------------------------------------------ +r30602 | hub | 2012-01-30 02:00:38 -0500 (Mon, 30 Jan 2012) | 2 lines +Changed paths: + M /abiword/trunk/goffice-bits/goffice/app/goffice-app.h + +Bug 13247 - Fix glib headers. Patch by Funda Wang +(safe to backport) +------------------------------------------------------------------------ +Index: src/af/util/xp/ut_go_file.h +=================================================================== +--- src/af/util/xp/ut_go_file.h (revision 30478) ++++ src/af/util/xp/ut_go_file.h (revision 30479) +@@ -31,7 +31,6 @@ + + #include + #include +-#include + #include + + G_BEGIN_DECLS +Index: goffice-bits/goffice/app/goffice-app.h +=================================================================== +--- goffice-bits/goffice/app/goffice-app.h (revision 30601) ++++ goffice-bits/goffice/app/goffice-app.h (revision 30602) +@@ -22,7 +22,7 @@ + #ifndef GOFFICE_APP_H + #define GOFFICE_APP_H + +-#include ++#include + + G_BEGIN_DECLS + diff --git a/libre/abiword/abiword-2.8.6-libpng15.patch b/libre/abiword/abiword-2.8.6-libpng15.patch new file mode 100644 index 000000000..7eded4c83 --- /dev/null +++ b/libre/abiword/abiword-2.8.6-libpng15.patch @@ -0,0 +1,100 @@ +$NetBSD: patch-plugins_bmp_xp_ie__impGraphic__BMP.cpp,v 1.1 2011/02/01 10:48:15 wiz Exp $ + +Fix build with png-1.5. + +--- plugins/bmp/xp/ie_impGraphic_BMP.cpp.orig 2009-06-25 04:02:06.000000000 +0000 ++++ plugins/bmp/xp/ie_impGraphic_BMP.cpp +@@ -191,7 +191,10 @@ UT_Error IE_ImpGraphic_BMP::_convertGrap + + /* Clean Up Memory Used */ + +- FREEP(m_pPNGInfo->palette); ++ png_colorp palette; ++ int num_palette; ++ png_get_PLTE( m_pPNG, m_pPNGInfo, &palette, &num_palette ); ++ FREEP(palette); + DELETEP(pBB); + png_destroy_write_struct(&m_pPNG, &m_pPNGInfo); + +@@ -313,7 +316,7 @@ UT_Error IE_ImpGraphic_BMP::Initialize_P + * the normal method of doing things with libpng). REQUIRED unless you + * set up your own error handlers in the png_create_read_struct() earlier. + */ +- if (setjmp(m_pPNG->jmpbuf)) ++ if (setjmp(png_jmpbuf(m_pPNG))) + { + /* Free all of the memory associated with the png_ptr and info_ptr */ + png_destroy_write_struct(&m_pPNG, &m_pPNGInfo); +@@ -332,7 +335,7 @@ UT_Error IE_ImpGraphic_BMP::Initialize_P + UT_Error IE_ImpGraphic_BMP::Convert_BMP_Pallet(UT_ByteBuf* pBB) + { + /* Reset error handling for libpng */ +- if (setjmp(m_pPNG->jmpbuf)) ++ if (setjmp(png_jmpbuf(m_pPNG))) + { + png_destroy_write_struct(&m_pPNG, &m_pPNGInfo); + return UT_ERROR; +@@ -372,7 +375,7 @@ UT_Error IE_ImpGraphic_BMP::Initialize_P + UT_Error IE_ImpGraphic_BMP::Convert_BMP(UT_ByteBuf* pBB) + { + /* Reset error handling for libpng */ +- if (setjmp(m_pPNG->jmpbuf)) ++ if (setjmp(png_jmpbuf(m_pPNG))) + { + png_destroy_write_struct(&m_pPNG, &m_pPNGInfo); + return UT_ERROR; + +$NetBSD: patch-plugins_garble_xp_abiword-garble-png.cpp,v 1.1 2011/02/01 10:48:15 wiz Exp $ + +Fix build with png-1.5. + +--- plugins/garble/xp/abiword-garble-png.cpp.orig 2009-09-05 15:34:44.000000000 +0000 ++++ plugins/garble/xp/abiword-garble-png.cpp +@@ -79,7 +79,7 @@ bool abiword_document::garble_png( void* + png_set_strip_alpha( png_ptr ); + png_set_interlace_handling( png_ptr ); + png_set_bgr( png_ptr ); +- rowbytes = info_ptr->rowbytes; ++ rowbytes = png_get_rowbytes( png_ptr, info_ptr ); + png_destroy_read_struct( &png_ptr, &info_ptr, NULL ); + } + +$NetBSD: patch-af,v 1.12 2011/01/15 15:07:11 wiz Exp $ + +Fix build with png-1.5. + +--- src/wp/impexp/gtk/ie_impGraphic_GdkPixbuf.cpp.orig 2009-07-01 04:02:04.000000000 +0000 ++++ src/wp/impexp/gtk/ie_impGraphic_GdkPixbuf.cpp +@@ -185,7 +185,7 @@ UT_Error IE_ImpGraphic_GdkPixbuf::import + /** needed for the stejmp context */ + UT_Error IE_ImpGraphic_GdkPixbuf::_png_write(GdkPixbuf * pixbuf) + { +- if (setjmp(m_pPNG->jmpbuf)) ++ if (setjmp(png_jmpbuf(m_pPNG))) + { + DELETEP(m_pPngBB); + png_destroy_write_struct(&m_pPNG, &m_pPNGInfo); +@@ -446,7 +446,7 @@ UT_Error IE_ImpGraphic_GdkPixbuf::Initia + * the normal method of doing things with libpng). REQUIRED unless you + * set up your own error handlers in the png_create_read_struct() earlier. + */ +- if (setjmp(m_pPNG->jmpbuf)) ++ if (setjmp(png_jmpbuf(m_pPNG))) + { + /* Free all of the memory associated with the png_ptr and info_ptr */ + png_destroy_write_struct(&m_pPNG, &m_pPNGInfo); +$NetBSD: patch-ae,v 1.21 2011/01/15 15:07:11 wiz Exp $ + +Fix build with png-1.5. + +--- src/af/util/xp/ut_png.cpp.orig 2008-02-24 03:33:07.000000000 +0000 ++++ src/af/util/xp/ut_png.cpp +@@ -71,7 +71,7 @@ bool UT_PNG_getDimensions(const UT_ByteB + * the normal method of doing things with libpng). REQUIRED unless you + * set up your own error handlers in the png_create_read_struct() earlier. + */ +- if (setjmp(png_ptr->jmpbuf)) ++ if (setjmp(png_jmpbuf(png_ptr))) + { + /* Free all of the memory associated with the png_ptr and info_ptr */ + png_destroy_read_struct(&png_ptr, &info_ptr, static_cast(NULL)); diff --git a/libre/abiword/abiword-2.8.6-no-undefined.patch b/libre/abiword/abiword-2.8.6-no-undefined.patch new file mode 100644 index 000000000..c07000edb --- /dev/null +++ b/libre/abiword/abiword-2.8.6-no-undefined.patch @@ -0,0 +1,21 @@ +diff -u -r abiword-2.8.6.orig/src/Makefile.am abiword-2.8.6/src/Makefile.am +--- abiword-2.8.6.orig/src/Makefile.am 2009-09-09 15:11:01.000000000 +0200 ++++ abiword-2.8.6/src/Makefile.am 2011-08-02 23:35:51.904761961 +0200 +@@ -107,7 +107,7 @@ + + AbiWord_LDFLAGS = \ + $(DEPS_LIBS) \ +- --no-undefined \ ++ -Wl,--no-undefined \ + -avoid-version \ + -export-dynamic \ + -headerpad_max_install_names +@@ -129,7 +129,7 @@ + + abiword_LDFLAGS = \ + $(platform_ldflags) \ +- --no-undefined \ ++ -Wl,--no-undefined \ + -avoid-version \ + -export-dynamic + diff --git a/libre/abiword/abiword-3.0.0-librevenge.patch b/libre/abiword/abiword-3.0.0-librevenge.patch new file mode 100644 index 000000000..9ff7aea24 --- /dev/null +++ b/libre/abiword/abiword-3.0.0-librevenge.patch @@ -0,0 +1,1186 @@ +Index: plugins/wpg/xp/ie_impGraphic_WPG.cpp +=================================================================== +--- plugins/wpg/xp/ie_impGraphic_WPG.cpp (revision 34460) ++++ plugins/wpg/xp/ie_impGraphic_WPG.cpp (working copy) +@@ -31,7 +31,7 @@ + #include + #include + #include +-#include ++#include + #include "xap_Module.h" + + using libwpg::WPGraphics; +@@ -38,30 +38,35 @@ + + ABI_PLUGIN_DECLARE("WPG") + +-class AbiWordPerfectGraphicsInputStream : public WPXInputStream ++class AbiWordPerfectGraphicsInputStream : public librevenge::RVNGInputStream + { + public: + AbiWordPerfectGraphicsInputStream(GsfInput *input); + ~AbiWordPerfectGraphicsInputStream(); + +- virtual bool isOLEStream(); +- virtual WPXInputStream * getDocumentOLEStream(); +- virtual WPXInputStream * getDocumentOLEStream(const char * name); ++ virtual bool isStructured(); ++ virtual unsigned subStreamCount(); ++ virtual const char* subStreamName(unsigned); ++ bool existsSubStream(const char*); ++ virtual librevenge::RVNGInputStream* getSubStreamByName(const char*); ++ virtual librevenge::RVNGInputStream* getSubStreamById(unsigned); + virtual const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead); +- virtual int seek(long offset, WPX_SEEK_TYPE seekType); ++ virtual int seek(long offset, librevenge::RVNG_SEEK_TYPE seekType); + virtual long tell(); +- virtual bool atEOS(); ++ virtual bool isEnd(); + + private: + + GsfInput *m_input; + GsfInfile *m_ole; ++ std::map m_substreams; + }; + + AbiWordPerfectGraphicsInputStream::AbiWordPerfectGraphicsInputStream(GsfInput *input) : +- WPXInputStream(), ++ librevenge::RVNGInputStream(), + m_input(input), +- m_ole(NULL) ++ m_ole(NULL), ++ m_substreams() + { + g_object_ref(G_OBJECT(input)); + } +@@ -86,50 +91,120 @@ + return buf; + } + +-int AbiWordPerfectGraphicsInputStream::seek(long offset, WPX_SEEK_TYPE seekType) ++int AbiWordPerfectGraphicsInputStream::seek(long offset, librevenge::RVNG_SEEK_TYPE seekType) + { + GSeekType gsfSeekType = G_SEEK_SET; + switch(seekType) + { +- case WPX_SEEK_CUR: ++ case librevenge::RVNG_SEEK_CUR: + gsfSeekType = G_SEEK_CUR; + break; +- case WPX_SEEK_SET: ++ case librevenge::RVNG_SEEK_SET: + gsfSeekType = G_SEEK_SET; + break; ++ case librevenge::RVNG_SEEK_END: ++ gsfSeekType = G_SEEK_END; ++ break; + } + + return gsf_input_seek(m_input, offset, gsfSeekType); + } + +-bool AbiWordPerfectGraphicsInputStream::isOLEStream() ++bool AbiWordPerfectGraphicsInputStream::isStructured() + { + if (!m_ole) + m_ole = GSF_INFILE(gsf_infile_msole_new (m_input, NULL)); + +- if (m_ole != NULL) ++ if (!m_ole) ++ m_ole = GSF_INFILE(gsf_infile_zip_new (m_input, NULL)); ++ ++ if (m_ole) + return true; + + return false; + } + +-WPXInputStream * AbiWordPerfectGraphicsInputStream::getDocumentOLEStream() ++unsigned AbiWordPerfectGraphicsInputStream::subStreamCount() + { +- return getDocumentOLEStream("PerfectOffice_MAIN"); ++ if (!m_ole) ++ m_ole = GSF_INFILE(gsf_infile_msole_new (m_input, NULL)); ++ ++ if (!m_ole) ++ m_ole = GSF_INFILE(gsf_infile_zip_new (m_input, NULL)); ++ ++ if (m_ole) ++ { ++ int numChildren = gsf_infile_num_children(m_ole); ++ if (numChildren > 0) ++ return numChildren; ++ return 0; ++ } ++ ++ return 0; + } + +-WPXInputStream * AbiWordPerfectGraphicsInputStream::getDocumentOLEStream(const char * name) ++const char * AbiWordPerfectGraphicsInputStream::subStreamName(unsigned id) + { +- WPXInputStream *documentStream = NULL; ++ if (!m_ole) ++ m_ole = GSF_INFILE(gsf_infile_msole_new (m_input, NULL)); + + if (!m_ole) ++ m_ole = GSF_INFILE(gsf_infile_zip_new (m_input, NULL)); ++ ++ if (m_ole) ++ { ++ if ((int)id >= gsf_infile_num_children(m_ole)) ++ { ++ return 0; ++ } ++ std::map::iterator i = m_substreams.lower_bound(id); ++ if (i == m_substreams.end() || m_substreams.key_comp()(id, i->first)) ++ { ++ std::string name = gsf_infile_name_by_index(m_ole, (int)id); ++ i = m_substreams.insert(i, std::map::value_type(id, name)); ++ } ++ return i->second.c_str(); ++ } ++ ++ return 0; ++} ++ ++bool AbiWordPerfectGraphicsInputStream::existsSubStream(const char * name) ++{ ++ if (!m_ole) + m_ole = GSF_INFILE(gsf_infile_msole_new (m_input, NULL)); + ++ if (!m_ole) ++ m_ole = GSF_INFILE(gsf_infile_zip_new (m_input, NULL)); ++ + if (m_ole) + { + GsfInput *document = gsf_infile_child_by_name(m_ole, name); + if (document) + { ++ g_object_unref(G_OBJECT (document)); ++ return true; ++ } ++ } ++ ++ return false; ++} ++ ++librevenge::RVNGInputStream * AbiWordPerfectGraphicsInputStream::getSubStreamByName(const char * name) ++{ ++ librevenge::RVNGInputStream *documentStream = NULL; ++ ++ if (!m_ole) ++ m_ole = GSF_INFILE(gsf_infile_msole_new (m_input, NULL)); ++ ++ if (!m_ole) ++ m_ole = GSF_INFILE(gsf_infile_zip_new (m_input, NULL)); ++ ++ if (m_ole) ++ { ++ GsfInput *document = gsf_infile_child_by_name(m_ole, name); ++ if (document) ++ { + documentStream = new AbiWordPerfectGraphicsInputStream(document); + g_object_unref(G_OBJECT (document)); // the only reference should be encapsulated within the new stream + } +@@ -138,12 +213,35 @@ + return documentStream; + } + ++librevenge::RVNGInputStream * AbiWordPerfectGraphicsInputStream::getSubStreamById(unsigned id) ++{ ++ librevenge::RVNGInputStream *documentStream = NULL; ++ ++ if (!m_ole) ++ m_ole = GSF_INFILE(gsf_infile_msole_new (m_input, NULL)); ++ ++ if (!m_ole) ++ m_ole = GSF_INFILE(gsf_infile_zip_new (m_input, NULL)); ++ ++ if (m_ole) ++ { ++ GsfInput *document = gsf_infile_child_by_index(m_ole, (int)id); ++ if (document) ++ { ++ documentStream = new AbiWordPerfectGraphicsInputStream(document); ++ g_object_unref(G_OBJECT (document)); // the only reference should be encapsulated within the new stream ++ } ++ } ++ ++ return documentStream; ++} ++ + long AbiWordPerfectGraphicsInputStream::tell() + { + return gsf_input_tell(m_input); + } + +-bool AbiWordPerfectGraphicsInputStream::atEOS() ++bool AbiWordPerfectGraphicsInputStream::isEnd() + { + return gsf_input_eof(m_input); + } +@@ -244,14 +342,24 @@ + UT_Error IE_Imp_WordPerfectGraphics::importGraphic(GsfInput *input, FG_Graphic **ppfg) + { + AbiWordPerfectGraphicsInputStream gsfInput(input); +- WPXString svgOutput; +- if (WPGraphics::generateSVG(&gsfInput, svgOutput)) ++ librevenge::RVNGString svgOutput; ++ librevenge::RVNGStringVector vec; ++ librevenge::RVNGSVGDrawingGenerator generator(vec, ""); ++ ++ if (!libwpg::WPGraphics::parse(&gsfInput, &generator) || vec.empty() || vec[0].empty()) + { +- GsfInput * svgInput = gsf_input_memory_new((const guint8*)svgOutput.cstr(), svgOutput.len(), false); +- UT_Error result = IE_ImpGraphic::loadGraphic(svgInput, IE_ImpGraphic::fileTypeForSuffix(".svg"), ppfg); +- g_object_unref(svgInput); +- return result; ++ return UT_ERROR; + } +- return UT_ERROR; ++ ++ svgOutput.append("\n"); ++ svgOutput.append("\n"); ++ svgOutput.append(vec[0]); ++ svgOutput.append("\n"); ++ ++ GsfInput * svgInput = gsf_input_memory_new((const guint8*)svgOutput.cstr(), svgOutput.len(), false); ++ UT_Error result = IE_ImpGraphic::loadGraphic(svgInput, IE_ImpGraphic::fileTypeForSuffix(".svg"), ppfg); ++ g_object_unref(svgInput); ++ return result; + } + +Index: plugins/wpg/plugin.m4 +=================================================================== +--- plugins/wpg/plugin.m4 (revision 34460) ++++ plugins/wpg/plugin.m4 (working copy) +@@ -1,5 +1,5 @@ + +-wpg_pkgs="$gsf_req libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0" ++wpg_pkgs="libwpg-0.3 $gsf_req" + wpg_deps="no" + + if test "$enable_wpg" != ""; then +Index: plugins/wordperfect/xp/ie_imp_WordPerfect.h +=================================================================== +--- plugins/wordperfect/xp/ie_imp_WordPerfect.h (revision 34460) ++++ plugins/wordperfect/xp/ie_imp_WordPerfect.h (working copy) +@@ -30,7 +30,7 @@ + #define IE_IMP_WP_H + + #include +-#include ++#include + #include "ie_imp.h" + #include "ut_string.h" + #include "ut_string_class.h" +@@ -92,7 +92,7 @@ + IE_Imp ** ppie); + }; + +-class IE_Imp_WordPerfect : public IE_Imp, public WPXDocumentInterface ++class IE_Imp_WordPerfect : public IE_Imp, public librevenge::RVNGTextInterface + { + public: + IE_Imp_WordPerfect(PD_Document * pDocument); +@@ -101,69 +101,83 @@ + virtual void pasteFromBuffer(PD_DocumentRange * pDocRange, + UT_uint8 * pData, UT_uint32 lenData, const char * szEncoding = 0); + +- virtual void setDocumentMetaData(const WPXPropertyList &propList); ++ virtual void setDocumentMetaData(const librevenge::RVNGPropertyList &propList); + +- virtual void startDocument(); +- virtual void endDocument(); ++ virtual void startDocument(const librevenge::RVNGPropertyList &propList); ++ virtual void endDocument(); + +- virtual void openPageSpan(const WPXPropertyList &propList); +- virtual void closePageSpan() {} +- virtual void openHeader(const WPXPropertyList &propList); +- virtual void closeHeader(); +- virtual void openFooter(const WPXPropertyList &propList); +- virtual void closeFooter(); ++ virtual void defineEmbeddedFont(const librevenge::RVNGPropertyList & /* propList */) {} + +- virtual void openParagraph(const WPXPropertyList &propList, const WPXPropertyListVector &tabStops); +- virtual void closeParagraph() {} ++ virtual void definePageStyle(const librevenge::RVNGPropertyList &) {} ++ virtual void openPageSpan(const librevenge::RVNGPropertyList &propList); ++ virtual void closePageSpan() {} ++ virtual void openHeader(const librevenge::RVNGPropertyList &propList); ++ virtual void closeHeader(); ++ virtual void openFooter(const librevenge::RVNGPropertyList &propList); ++ virtual void closeFooter(); + +- virtual void openSpan(const WPXPropertyList &propList); +- virtual void closeSpan() {} ++ virtual void defineSectionStyle(const librevenge::RVNGPropertyList &) {} ++ virtual void openSection(const librevenge::RVNGPropertyList &propList); ++ virtual void closeSection() {} + +- virtual void openSection(const WPXPropertyList &propList, const WPXPropertyListVector &columns); +- virtual void closeSection() {} ++ virtual void defineParagraphStyle(const librevenge::RVNGPropertyList &) {} ++ virtual void openParagraph(const librevenge::RVNGPropertyList &propList); ++ virtual void closeParagraph() {} + +- virtual void insertTab(); +- virtual void insertText(const WPXString &text); +- virtual void insertLineBreak(); ++ virtual void defineCharacterStyle(const librevenge::RVNGPropertyList &) {} ++ virtual void openSpan(const librevenge::RVNGPropertyList &propList); ++ virtual void closeSpan() {} + +- virtual void defineOrderedListLevel(const WPXPropertyList &propList); +- virtual void defineUnorderedListLevel(const WPXPropertyList &propList); +- virtual void openOrderedListLevel(const WPXPropertyList &propList); +- virtual void openUnorderedListLevel(const WPXPropertyList &propList); +- virtual void closeOrderedListLevel(); +- virtual void closeUnorderedListLevel(); +- virtual void openListElement(const WPXPropertyList &propList, const WPXPropertyListVector &tabStops); +- virtual void closeListElement() {} ++ virtual void openLink(const librevenge::RVNGPropertyList & /* propList */) {} ++ virtual void closeLink() {} + +- virtual void openFootnote(const WPXPropertyList &propList); +- virtual void closeFootnote(); +- virtual void openEndnote(const WPXPropertyList &propList); +- virtual void closeEndnote(); ++ virtual void insertTab(); ++ virtual void insertText(const librevenge::RVNGString &text); ++ virtual void insertSpace(); ++ virtual void insertLineBreak(); ++ virtual void insertField(const librevenge::RVNGPropertyList & /* propList */) {} + +- virtual void openTable(const WPXPropertyList &propList, const WPXPropertyListVector &columns); +- virtual void openTableRow(const WPXPropertyList &propList); +- virtual void closeTableRow() {} +- virtual void openTableCell(const WPXPropertyList &propList); +- virtual void closeTableCell() {} +- virtual void insertCoveredTableCell(const WPXPropertyList & /*propList*/) {} +- virtual void closeTable(); ++ virtual void openOrderedListLevel(const librevenge::RVNGPropertyList &propList); ++ virtual void openUnorderedListLevel(const librevenge::RVNGPropertyList &propList); ++ virtual void closeOrderedListLevel(); ++ virtual void closeUnorderedListLevel(); ++ virtual void openListElement(const librevenge::RVNGPropertyList &propList); ++ virtual void closeListElement() {} + +- virtual void definePageStyle(const WPXPropertyList&) {} +- virtual void defineParagraphStyle(const WPXPropertyList&, const WPXPropertyListVector&) {} +- virtual void defineCharacterStyle(const WPXPropertyList&) {} +- virtual void defineSectionStyle(const WPXPropertyList&, const WPXPropertyListVector&) {} +- virtual void insertSpace() {} +- virtual void insertField(const WPXString&, const WPXPropertyList&) {} +- virtual void openComment(const WPXPropertyList&) {} +- virtual void closeComment() {} +- virtual void openTextBox(const WPXPropertyList&) {} +- virtual void closeTextBox() {} +- virtual void openFrame(const WPXPropertyList&) {} +- virtual void closeFrame() {} +- virtual void insertBinaryObject(const WPXPropertyList&, const WPXBinaryData&) {} +- virtual void insertEquation(const WPXPropertyList&, const WPXString&) {} ++ virtual void openFootnote(const librevenge::RVNGPropertyList &propList); ++ virtual void closeFootnote(); ++ virtual void openEndnote(const librevenge::RVNGPropertyList &propList); ++ virtual void closeEndnote(); ++ virtual void openComment(const librevenge::RVNGPropertyList & /* propList */) {} ++ virtual void closeComment() {} ++ virtual void openTextBox(const librevenge::RVNGPropertyList & /* propList */) {} ++ virtual void closeTextBox() {} + ++ virtual void openTable(const librevenge::RVNGPropertyList &propList); ++ virtual void openTableRow(const librevenge::RVNGPropertyList &propList); ++ virtual void closeTableRow() {} ++ virtual void openTableCell(const librevenge::RVNGPropertyList &propList); ++ virtual void closeTableCell() {} ++ virtual void insertCoveredTableCell(const librevenge::RVNGPropertyList & /* propList */) {} ++ virtual void closeTable(); + ++ virtual void openFrame(const librevenge::RVNGPropertyList & /* propList */) {} ++ virtual void closeFrame() {} ++ ++ virtual void openGroup(const librevenge::RVNGPropertyList & /* propList */) {} ++ virtual void closeGroup() {} ++ ++ virtual void defineGraphicStyle(const librevenge::RVNGPropertyList & /* propList */) {} ++ virtual void drawRectangle(const librevenge::RVNGPropertyList & /* propList */) {} ++ virtual void drawEllipse(const librevenge::RVNGPropertyList & /* propList */) {} ++ virtual void drawPolygon(const librevenge::RVNGPropertyList & /* propList */) {} ++ virtual void drawPolyline(const librevenge::RVNGPropertyList & /* propList */) {} ++ virtual void drawPath(const librevenge::RVNGPropertyList & /* propList */) {} ++ virtual void drawConnector(const librevenge::RVNGPropertyList & /* propList */) {} ++ ++ virtual void insertBinaryObject(const librevenge::RVNGPropertyList & /* propList */) {} ++ virtual void insertEquation(const librevenge::RVNGPropertyList & /* propList */) {} ++ + protected: + virtual UT_Error _loadFile(GsfInput * input); + UT_Error _appendSection(int numColumns, const float, const float); +Index: plugins/wordperfect/xp/ie_impexp_WordPerfect.cpp +=================================================================== +--- plugins/wordperfect/xp/ie_impexp_WordPerfect.cpp (revision 34460) ++++ plugins/wordperfect/xp/ie_impexp_WordPerfect.cpp (working copy) +@@ -35,7 +35,6 @@ + ABI_PLUGIN_DECLARE("WordPerfect") + + static IE_Imp_WordPerfect_Sniffer * m_ImpSniffer = 0; +-static IE_Exp_WordPerfect_Sniffer * m_ExpSniffer = 0; + + #ifdef HAVE_LIBWPS + static IE_Imp_MSWorks_Sniffer * m_MSWorks_ImpSniffer = 0; +@@ -49,13 +48,7 @@ + m_ImpSniffer = new IE_Imp_WordPerfect_Sniffer (); + } + +- if (!m_ExpSniffer) +- { +- m_ExpSniffer = new IE_Exp_WordPerfect_Sniffer (); +- } +- + UT_ASSERT (m_ImpSniffer); +- UT_ASSERT (m_ExpSniffer); + + #ifdef HAVE_LIBWPS + if (!m_MSWorks_ImpSniffer) +@@ -79,7 +72,7 @@ + mi->usage = "No Usage"; + + IE_Imp::registerImporter (m_ImpSniffer); +- //IE_Exp::registerExporter (m_ExpSniffer); ++ + return 1; + } + +@@ -93,18 +86,11 @@ + mi->usage = 0; + + UT_ASSERT (m_ImpSniffer); +- UT_ASSERT (m_ExpSniffer); + + IE_Imp::unregisterImporter (m_ImpSniffer); + delete m_ImpSniffer; + m_ImpSniffer = 0; + +- /* +- IE_Exp::unregisterExporter (m_ExpSniffer); +- delete m_ExpSniffer; +- m_ExpSniffer = 0; +- */ +- + #ifdef HAVE_LIBWPS + IE_Imp::unregisterImporter (m_MSWorks_ImpSniffer); + delete m_MSWorks_ImpSniffer; +Index: plugins/wordperfect/xp/ie_imp_WordPerfect.cpp +=================================================================== +--- plugins/wordperfect/xp/ie_imp_WordPerfect.cpp (revision 34460) ++++ plugins/wordperfect/xp/ie_imp_WordPerfect.cpp (working copy) +@@ -31,6 +31,8 @@ + #include + #include + #include ++#include ++#include + #include + #include + #include +@@ -60,42 +62,47 @@ + + // Stream class + +-#include ++#include ++#include + + #include + #include + #include ++#include + + #ifdef HAVE_LIBWPS + #include + #endif + +-class AbiWordperfectInputStream : public WPXInputStream ++class AbiWordperfectInputStream : public librevenge::RVNGInputStream + { + public: + AbiWordperfectInputStream(GsfInput *input); + ~AbiWordperfectInputStream(); + +- virtual bool isOLEStream(); +- virtual WPXInputStream * getDocumentOLEStream(); +- +- virtual WPXInputStream * getDocumentOLEStream(const char * name); +- ++ virtual bool isStructured(); ++ virtual unsigned subStreamCount(); ++ virtual const char* subStreamName(unsigned); ++ bool existsSubStream(const char*); ++ virtual librevenge::RVNGInputStream* getSubStreamByName(const char*); ++ virtual librevenge::RVNGInputStream* getSubStreamById(unsigned); + virtual const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead); +- virtual int seek(long offset, WPX_SEEK_TYPE seekType); ++ virtual int seek(long offset, librevenge::RVNG_SEEK_TYPE seekType); + virtual long tell(); +- virtual bool atEOS(); ++ virtual bool isEnd(); + + private: + + GsfInput *m_input; + GsfInfile *m_ole; ++ std::map m_substreams; + }; + + AbiWordperfectInputStream::AbiWordperfectInputStream(GsfInput *input) : +- WPXInputStream(), ++ librevenge::RVNGInputStream(), + m_input(input), +- m_ole(NULL) ++ m_ole(NULL), ++ m_substreams() + { + g_object_ref(G_OBJECT(input)); + } +@@ -120,50 +127,120 @@ + return buf; + } + +-int AbiWordperfectInputStream::seek(long offset, WPX_SEEK_TYPE seekType) ++int AbiWordperfectInputStream::seek(long offset, librevenge::RVNG_SEEK_TYPE seekType) + { + GSeekType gsfSeekType = G_SEEK_SET; + switch(seekType) + { +- case WPX_SEEK_CUR: ++ case librevenge::RVNG_SEEK_CUR: + gsfSeekType = G_SEEK_CUR; + break; +- case WPX_SEEK_SET: ++ case librevenge::RVNG_SEEK_SET: + gsfSeekType = G_SEEK_SET; + break; ++ case librevenge::RVNG_SEEK_END: ++ gsfSeekType = G_SEEK_END; ++ break; + } + + return gsf_input_seek(m_input, offset, gsfSeekType); + } + +-bool AbiWordperfectInputStream::isOLEStream() ++bool AbiWordperfectInputStream::isStructured() + { + if (!m_ole) + m_ole = GSF_INFILE(gsf_infile_msole_new (m_input, NULL)); + +- if (m_ole != NULL) ++ if (!m_ole) ++ m_ole = GSF_INFILE(gsf_infile_zip_new (m_input, NULL)); ++ ++ if (m_ole) + return true; + + return false; + } + +-WPXInputStream * AbiWordperfectInputStream::getDocumentOLEStream() ++unsigned AbiWordperfectInputStream::subStreamCount() + { +- return getDocumentOLEStream("PerfectOffice_MAIN"); ++ if (!m_ole) ++ m_ole = GSF_INFILE(gsf_infile_msole_new (m_input, NULL)); ++ ++ if (!m_ole) ++ m_ole = GSF_INFILE(gsf_infile_zip_new (m_input, NULL)); ++ ++ if (m_ole) ++ { ++ int numChildren = gsf_infile_num_children(m_ole); ++ if (numChildren > 0) ++ return numChildren; ++ return 0; ++ } ++ ++ return 0; + } + +-WPXInputStream * AbiWordperfectInputStream::getDocumentOLEStream(const char * name) ++const char * AbiWordperfectInputStream::subStreamName(unsigned id) + { +- WPXInputStream *documentStream = NULL; ++ if (!m_ole) ++ m_ole = GSF_INFILE(gsf_infile_msole_new (m_input, NULL)); + + if (!m_ole) ++ m_ole = GSF_INFILE(gsf_infile_zip_new (m_input, NULL)); ++ ++ if (m_ole) ++ { ++ if ((int)id >= gsf_infile_num_children(m_ole)) ++ { ++ return 0; ++ } ++ std::map::iterator i = m_substreams.lower_bound(id); ++ if (i == m_substreams.end() || m_substreams.key_comp()(id, i->first)) ++ { ++ std::string name = gsf_infile_name_by_index(m_ole, (int)id); ++ i = m_substreams.insert(i, std::map::value_type(id, name)); ++ } ++ return i->second.c_str(); ++ } ++ ++ return 0; ++} ++ ++bool AbiWordperfectInputStream::existsSubStream(const char * name) ++{ ++ if (!m_ole) + m_ole = GSF_INFILE(gsf_infile_msole_new (m_input, NULL)); + ++ if (!m_ole) ++ m_ole = GSF_INFILE(gsf_infile_zip_new (m_input, NULL)); ++ + if (m_ole) + { + GsfInput *document = gsf_infile_child_by_name(m_ole, name); + if (document) + { ++ g_object_unref(G_OBJECT (document)); ++ return true; ++ } ++ } ++ ++ return false; ++} ++ ++librevenge::RVNGInputStream * AbiWordperfectInputStream::getSubStreamByName(const char * name) ++{ ++ librevenge::RVNGInputStream *documentStream = NULL; ++ ++ if (!m_ole) ++ m_ole = GSF_INFILE(gsf_infile_msole_new (m_input, NULL)); ++ ++ if (!m_ole) ++ m_ole = GSF_INFILE(gsf_infile_zip_new (m_input, NULL)); ++ ++ if (m_ole) ++ { ++ GsfInput *document = gsf_infile_child_by_name(m_ole, name); ++ if (document) ++ { + documentStream = new AbiWordperfectInputStream(document); + g_object_unref(G_OBJECT (document)); // the only reference should be encapsulated within the new stream + } +@@ -172,12 +249,35 @@ + return documentStream; + } + ++librevenge::RVNGInputStream * AbiWordperfectInputStream::getSubStreamById(unsigned id) ++{ ++ librevenge::RVNGInputStream *documentStream = NULL; ++ ++ if (!m_ole) ++ m_ole = GSF_INFILE(gsf_infile_msole_new (m_input, NULL)); ++ ++ if (!m_ole) ++ m_ole = GSF_INFILE(gsf_infile_zip_new (m_input, NULL)); ++ ++ if (m_ole) ++ { ++ GsfInput *document = gsf_infile_child_by_index(m_ole, (int)id); ++ if (document) ++ { ++ documentStream = new AbiWordperfectInputStream(document); ++ g_object_unref(G_OBJECT (document)); // the only reference should be encapsulated within the new stream ++ } ++ } ++ ++ return documentStream; ++} ++ + long AbiWordperfectInputStream::tell() + { + return gsf_input_tell(m_input); + } + +-bool AbiWordperfectInputStream::atEOS() ++bool AbiWordperfectInputStream::isEnd() + { + return gsf_input_eof(m_input); + } +@@ -247,13 +347,13 @@ + { + AbiWordperfectInputStream gsfInput(input); + +- WPDConfidence confidence = WPDocument::isFileFormatSupported(&gsfInput); +- ++ libwpd::WPDConfidence confidence = libwpd::WPDocument::isFileFormatSupported(&gsfInput); ++ + switch (confidence) + { +- case WPD_CONFIDENCE_NONE: ++ case libwpd::WPD_CONFIDENCE_NONE: + return UT_CONFIDENCE_ZILCH; +- case WPD_CONFIDENCE_EXCELLENT: ++ case libwpd::WPD_CONFIDENCE_EXCELLENT: + return UT_CONFIDENCE_PERFECT; + default: + return UT_CONFIDENCE_ZILCH; +@@ -312,9 +412,9 @@ + UT_Error IE_Imp_WordPerfect::_loadFile(GsfInput * input) + { + AbiWordperfectInputStream gsfInput(input); +- WPDResult error = WPDocument::parse(&gsfInput, static_cast(this), NULL); ++ libwpd::WPDResult error = libwpd::WPDocument::parse(&gsfInput, static_cast(this), NULL); + +- if (error != WPD_OK) ++ if (error != libwpd::WPD_OK) + { + UT_DEBUGMSG(("AbiWordPerfect: ERROR: %i!\n", (int)error)); + return UT_IE_IMPORTERROR; +@@ -329,7 +429,7 @@ + // nada + } + +-void IE_Imp_WordPerfect::setDocumentMetaData(const WPXPropertyList &propList) ++void IE_Imp_WordPerfect::setDocumentMetaData(const librevenge::RVNGPropertyList &propList) + { + if (propList["dc:author"]) + getDoc()->setMetaDataProp(PD_META_KEY_CREATOR, propList["dc:author"]->getStr().cstr()); +@@ -339,15 +439,15 @@ + getDoc()->setMetaDataProp(PD_META_KEY_PUBLISHER, propList["dc:publisher"]->getStr().cstr()); + if (propList["dc:type"]) + getDoc()->setMetaDataProp(PD_META_KEY_TYPE, propList["dc:category"]->getStr().cstr()); +- if (propList["libwpd:keywords"]) +- getDoc()->setMetaDataProp(PD_META_KEY_KEYWORDS, propList["libwpd:keywords"]->getStr().cstr()); ++ if (propList["librevenge:keywords"]) ++ getDoc()->setMetaDataProp(PD_META_KEY_KEYWORDS, propList["librevenge:keywords"]->getStr().cstr()); + if (propList["dc:language"]) + getDoc()->setMetaDataProp(PD_META_KEY_LANGUAGE, propList["dc:language"]->getStr().cstr()); +- if (propList["libwpd:abstract"]) +- getDoc()->setMetaDataProp(PD_META_KEY_DESCRIPTION, propList["libwpd:abstract"]->getStr().cstr()); ++ if (propList["librevenge:abstract"]) ++ getDoc()->setMetaDataProp(PD_META_KEY_DESCRIPTION, propList["librevenge:abstract"]->getStr().cstr()); + } + +-void IE_Imp_WordPerfect::startDocument() ++void IE_Imp_WordPerfect::startDocument(const librevenge::RVNGPropertyList & /* propList */) + { + UT_DEBUGMSG(("AbiWordPerfect: startDocument\n")); + } +@@ -357,7 +457,7 @@ + UT_DEBUGMSG(("AbiWordPerfect: endDocument\n")); + } + +-void IE_Imp_WordPerfect::openPageSpan(const WPXPropertyList &propList) ++void IE_Imp_WordPerfect::openPageSpan(const librevenge::RVNGPropertyList &propList) + { + if (m_bHdrFtrOpenCount) return; // HACK + UT_DEBUGMSG(("AbiWordPerfect: openPageSpan\n")); +@@ -378,7 +478,7 @@ + + } + +-void IE_Imp_WordPerfect::openHeader(const WPXPropertyList & /*propList*/) ++void IE_Imp_WordPerfect::openHeader(const librevenge::RVNGPropertyList & /*propList*/) + { + m_bHdrFtrOpenCount++; + +@@ -420,7 +520,7 @@ + */ + } + +-void IE_Imp_WordPerfect::openFooter(const WPXPropertyList & /*propList*/) ++void IE_Imp_WordPerfect::openFooter(const librevenge::RVNGPropertyList & /*propList*/) + { + m_bHdrFtrOpenCount++; + // see above comments re: openHeader +@@ -432,7 +532,7 @@ + // see above comments re: closeHeader + } + +-void IE_Imp_WordPerfect::openParagraph(const WPXPropertyList &propList, const WPXPropertyListVector &tabStops) ++void IE_Imp_WordPerfect::openParagraph(const librevenge::RVNGPropertyList &propList) + { + if (m_bHdrFtrOpenCount) return; // HACK + UT_DEBUGMSG(("AbiWordPerfect: openParagraph()\n")); +@@ -478,13 +578,15 @@ + (int)(m_topMargin*72), (int)(m_bottomMargin*72), m_leftMarginOffset, m_rightMarginOffset, m_textIndent, lineSpacing); + propBuffer += tmpBuffer; + +- if (tabStops.count() > 0) // Append the tabstop information ++ const librevenge::RVNGPropertyListVector *tabStops = propList.child("style:tab-stops"); ++ ++ if (tabStops && tabStops->count()) // Append the tabstop information + { + propBuffer += "; tabstops:"; + tmpBuffer = ""; +- WPXPropertyListVector::Iter i(tabStops); +- for (i.rewind(); i.next();) +- { ++ librevenge::RVNGPropertyListVector::Iter i(*tabStops); ++ for (i.rewind(); i.next();) ++ { + propBuffer += tmpBuffer; + if (i()["style:position"]) + { +@@ -515,8 +617,8 @@ + propBuffer += "0"; + + tmpBuffer = ","; +- } +- } ++ } ++ } + + + +@@ -543,7 +645,7 @@ + } + } + +-void IE_Imp_WordPerfect::openSpan(const WPXPropertyList &propList) ++void IE_Imp_WordPerfect::openSpan(const librevenge::RVNGPropertyList &propList) + { + if (m_bHdrFtrOpenCount) return; // HACK + UT_DEBUGMSG(("AbiWordPerfect: Appending current text properties\n")); +@@ -614,13 +716,14 @@ + X_CheckDocumentError(appendFmt(propsArray)); + } + +-void IE_Imp_WordPerfect::openSection(const WPXPropertyList &propList, const WPXPropertyListVector &columns) ++void IE_Imp_WordPerfect::openSection(const librevenge::RVNGPropertyList &propList) + { + if (m_bHdrFtrOpenCount) return; // HACK + UT_DEBUGMSG(("AbiWordPerfect: openSection\n")); + + float marginLeft = 0.0f, marginRight = 0.0f; +- int columnsCount = ((columns.count() == 0) ? 1 : columns.count()); ++ const librevenge::RVNGPropertyListVector *columns = propList.child("style:columns"); ++ int columnsCount = ((!columns || !columns->count()) ? 1 : columns->count()); + + // TODO: support spaceAfter + if (propList["fo:start-indent"]) +@@ -647,7 +750,7 @@ + X_CheckDocumentError(appendSpan(&ucs,1)); + } + +-void IE_Imp_WordPerfect::insertText(const WPXString &text) ++void IE_Imp_WordPerfect::insertText(const librevenge::RVNGString &text) + { + if (m_bHdrFtrOpenCount) return; // HACK + if (text.len()) +@@ -658,6 +761,15 @@ + } + } + ++void IE_Imp_WordPerfect::insertSpace() ++{ ++ if (m_bHdrFtrOpenCount) return; // HACK ++ UT_DEBUGMSG(("AbiWordPerfect: insertSpace\n")); ++ ++ UT_UCS4Char ucs = UCS_SPACE; ++ X_CheckDocumentError(appendSpan(&ucs,1)); ++} ++ + void IE_Imp_WordPerfect::insertLineBreak() + { + if (m_bHdrFtrOpenCount) return; // HACK +@@ -668,12 +780,11 @@ + } + + +- +-void IE_Imp_WordPerfect::defineOrderedListLevel(const WPXPropertyList &propList) ++void IE_Imp_WordPerfect::openOrderedListLevel(const librevenge::RVNGPropertyList &propList) + { + if (m_bHdrFtrOpenCount) return; // HACK +- UT_DEBUGMSG(("AbiWordPerfect: defineOrderedListLevel\n")); +- ++ UT_DEBUGMSG(("AbiWordPerfect: openOrderedListLevel\n")); ++ + int listID = 0, startingNumber = 0, level = 1; + char listType = '1'; + UT_UTF8String textBeforeNumber, textAfterNumber; +@@ -680,12 +791,12 @@ + float listLeftOffset = 0.0f; + float listMinLabelWidth = 0.0f; + +- if (propList["libwpd:id"]) +- listID = propList["libwpd:id"]->getInt(); ++ if (propList["librevenge:id"]) ++ listID = propList["librevenge:id"]->getInt(); + if (propList["text:start-value"]) + startingNumber = propList["text:start-value"]->getInt(); +- if (propList["libwpd:level"]) +- level = propList["libwpd:level"]->getInt(); ++ if (propList["librevenge:level"]) ++ level = propList["librevenge:level"]->getInt(); + if (propList["style:num-prefix"]) + textBeforeNumber += propList["style:num-prefix"]->getStr().cstr(); + if (propList["style:num-suffix"]) +@@ -716,22 +827,38 @@ + m_pCurrentListDefinition->setListMinLabelWidth(level, listMinLabelWidth); + _updateDocumentOrderedListDefinition(m_pCurrentListDefinition, level, listType, textBeforeNumber, textAfterNumber, startingNumber); + } ++ ++ m_iCurrentListLevel++; + } + +-void IE_Imp_WordPerfect::defineUnorderedListLevel(const WPXPropertyList &propList) ++void IE_Imp_WordPerfect::closeOrderedListLevel() + { + if (m_bHdrFtrOpenCount) return; // HACK +- UT_DEBUGMSG(("AbiWordPerfect: defineUnorderedListLevel\n")); ++ UT_DEBUGMSG(("AbiWordPerfect: closeOrderedListLevel (level: %i)\n", m_iCurrentListLevel)); ++ UT_ASSERT(m_iCurrentListLevel > 0); ++ ++ // every time we close a list level, the level above it is normally renumbered to start at "1" ++ // again. this code takes care of that. ++ if (m_iCurrentListLevel < (WP6_NUM_LIST_LEVELS-1)) ++ m_pCurrentListDefinition->setLevelNumber(m_iCurrentListLevel + 1, 0); ++ ++ m_iCurrentListLevel--; ++} + ++void IE_Imp_WordPerfect::openUnorderedListLevel(const librevenge::RVNGPropertyList &propList) ++{ ++ if (m_bHdrFtrOpenCount) return; // HACK ++ UT_DEBUGMSG(("AbiWordPerfect: openUNorderedListLevel\n")); ++ + int listID = 0, level = 1; +- WPXString textBeforeNumber, textAfterNumber; ++ librevenge::RVNGString textBeforeNumber, textAfterNumber; + float listLeftOffset = 0.0f; + float listMinLabelWidth = 0.0f; + +- if (propList["libwpd:id"]) +- listID = propList["libwpd:id"]->getInt(); +- if (propList["libwpd:level"]) +- level = propList["libwpd:level"]->getInt(); ++ if (propList["librevenge:id"]) ++ listID = propList["librevenge:id"]->getInt(); ++ if (propList["librevenge:level"]) ++ level = propList["librevenge:level"]->getInt(); + if (propList["text:space-before"]) + listLeftOffset = propList["text:space-before"]->getDouble(); + if (propList["text:min-label-width"]) +@@ -752,39 +879,10 @@ + m_pCurrentListDefinition->setListMinLabelWidth(level, listMinLabelWidth); + _updateDocumentUnorderedListDefinition(m_pCurrentListDefinition, level); + } +-} + +-//void IE_Imp_WordPerfect::openOrderedListLevel(const int listID) +-void IE_Imp_WordPerfect::openOrderedListLevel(const WPXPropertyList & /*propList*/) +-{ +- if (m_bHdrFtrOpenCount) return; // HACK +- UT_DEBUGMSG(("AbiWordPerfect: openOrderedListLevel\n")); +- + m_iCurrentListLevel++; + } + +-void IE_Imp_WordPerfect::closeOrderedListLevel() +-{ +- if (m_bHdrFtrOpenCount) return; // HACK +- UT_DEBUGMSG(("AbiWordPerfect: closeOrderedListLevel (level: %i)\n", m_iCurrentListLevel)); +- UT_ASSERT(m_iCurrentListLevel > 0); +- +- // every time we close a list level, the level above it is normally renumbered to start at "1" +- // again. this code takes care of that. +- if (m_iCurrentListLevel < (WP6_NUM_LIST_LEVELS-1)) +- m_pCurrentListDefinition->setLevelNumber(m_iCurrentListLevel + 1, 0); +- +- m_iCurrentListLevel--; +-} +- +-void IE_Imp_WordPerfect::openUnorderedListLevel(const WPXPropertyList & /*propList*/) +-{ +- if (m_bHdrFtrOpenCount) return; // HACK +- UT_DEBUGMSG(("AbiWordPerfect: openUNorderedListLevel\n")); +- +- m_iCurrentListLevel++; +-} +- + void IE_Imp_WordPerfect::closeUnorderedListLevel() + { + if (m_bHdrFtrOpenCount) return; // HACK +@@ -796,7 +894,7 @@ + + // ASSUMPTION: We assume that unordered lists will always pass a number of "0". unpredictable behaviour + // may result otherwise +-void IE_Imp_WordPerfect::openListElement(const WPXPropertyList &propList, const WPXPropertyListVector & /*tabStops*/) ++void IE_Imp_WordPerfect::openListElement(const librevenge::RVNGPropertyList &propList) + { + if (m_bHdrFtrOpenCount) return; // HACK + UT_DEBUGMSG(("AbiWordPerfect: openListElement\n")); +@@ -885,7 +983,7 @@ + X_CheckDocumentError(appendSpan(&ucs,1)); + } + +-void IE_Imp_WordPerfect::openFootnote(const WPXPropertyList & /*propList*/) ++void IE_Imp_WordPerfect::openFootnote(const librevenge::RVNGPropertyList & /*propList*/) + { + if (m_bHdrFtrOpenCount) return; // HACK + +@@ -934,7 +1032,7 @@ + X_CheckDocumentError(appendStrux(PTX_EndFootnote,NULL)); + } + +-void IE_Imp_WordPerfect::openEndnote(const WPXPropertyList & /*propList*/) ++void IE_Imp_WordPerfect::openEndnote(const librevenge::RVNGPropertyList & /*propList*/) + { + if (m_bHdrFtrOpenCount) return; // HACK + const gchar** propsArray = NULL; +@@ -975,7 +1073,7 @@ + X_CheckDocumentError(appendStrux(PTX_EndEndnote,NULL)); + } + +-void IE_Imp_WordPerfect::openTable(const WPXPropertyList &propList, const WPXPropertyListVector &columns) ++void IE_Imp_WordPerfect::openTable(const librevenge::RVNGPropertyList &propList) + { + if (m_bHdrFtrOpenCount) return; // HACK + // TODO: handle 'marginLeftOffset' and 'marginRightOffset' +@@ -1000,14 +1098,18 @@ + } + } + +- propBuffer += "table-column-props:"; +- WPXPropertyListVector::Iter i(columns); +- for (i.rewind(); i.next();) ++ const librevenge::RVNGPropertyListVector *columns = propList.child("librevenge:table-columns"); ++ if (columns) + { +- UT_String tmpBuffer; +- if (i()["style:column-width"]) +- UT_String_sprintf(tmpBuffer, "%s/", i()["style:column-width"]->getStr().cstr()); +- propBuffer += tmpBuffer; ++ propBuffer += "table-column-props:"; ++ librevenge::RVNGPropertyListVector::Iter i(*columns); ++ for (i.rewind(); i.next();) ++ { ++ UT_String tmpBuffer; ++ if (i()["style:column-width"]) ++ UT_String_sprintf(tmpBuffer, "%s/", i()["style:column-width"]->getStr().cstr()); ++ propBuffer += tmpBuffer; ++ } + } + + const gchar* propsArray[3]; +@@ -1018,7 +1120,7 @@ + X_CheckDocumentError(appendStrux(PTX_SectionTable, propsArray)); + } + +-void IE_Imp_WordPerfect::openTableRow(const WPXPropertyList & /*propList*/) ++void IE_Imp_WordPerfect::openTableRow(const librevenge::RVNGPropertyList & /*propList*/) + { + if (m_bHdrFtrOpenCount) return; // HACK + UT_DEBUGMSG(("AbiWordPerfect: openRow\n")); +@@ -1030,14 +1132,14 @@ + m_bInCell = false; + } + +-void IE_Imp_WordPerfect::openTableCell(const WPXPropertyList &propList) ++void IE_Imp_WordPerfect::openTableCell(const librevenge::RVNGPropertyList &propList) + { + if (m_bHdrFtrOpenCount) return; // HACK + int col =0, row = 0, colSpan = 0, rowSpan = 0; +- if (propList["libwpd:column"]) +- col = propList["libwpd:column"]->getInt(); +- if (propList["libwpd:row"]) +- row = propList["libwpd:row"]->getInt(); ++ if (propList["librevenge:column"]) ++ col = propList["librevenge:column"]->getInt(); ++ if (propList["librevenge:row"]) ++ row = propList["librevenge:row"]->getInt(); + if (propList["table:number-columns-spanned"]) + colSpan = propList["table:number-columns-spanned"]->getInt(); + if (propList["table:number-rows-spanned"]) +@@ -1247,9 +1349,9 @@ + virtual UT_Error _loadFile(GsfInput * input) + { + AbiWordperfectInputStream gsfInput(input); +- WPSResult error = WPSDocument::parse(&gsfInput, static_cast(this)); ++ libwps::WPSResult error = libwps::WPSDocument::parse(&gsfInput, static_cast(this)); + +- if (error != WPS_OK) ++ if (error != libwps::WPS_OK) + { + UT_DEBUGMSG(("AbiMSWorks: ERROR: %i!\n", (int)error)); + return UT_IE_IMPORTERROR; +@@ -1286,13 +1388,17 @@ + { + AbiWordperfectInputStream gsfInput(input); + +- WPSConfidence confidence = WPSDocument::isFileFormatSupported(&gsfInput); ++ libwps::WPSKind kind; ++ libwps::WPSConfidence confidence = libwps::WPSDocument::isFileFormatSupported(&gsfInput, kind); ++ ++ if (kind != libwps::WPS_TEXT) ++ confidence = libwps::WPS_CONFIDENCE_NONE; + + switch (confidence) + { +- case WPS_CONFIDENCE_NONE: ++ case libwps::WPS_CONFIDENCE_NONE: + return UT_CONFIDENCE_ZILCH; +- case WPS_CONFIDENCE_EXCELLENT: ++ case libwps::WPS_CONFIDENCE_EXCELLENT: + return UT_CONFIDENCE_PERFECT; + default: + return UT_CONFIDENCE_ZILCH; +Index: plugins/wordperfect/xp/Makefile.am +=================================================================== +--- plugins/wordperfect/xp/Makefile.am (revision 34460) ++++ plugins/wordperfect/xp/Makefile.am (working copy) +@@ -6,8 +6,6 @@ + -DABI_BUILD_VERSION=\"$(VERSION)\" + + libxp_la_SOURCES = \ +- ie_exp_WordPerfect.cpp \ +- ie_exp_WordPerfect.h \ + ie_impexp_WordPerfect.cpp \ + ie_impexp_WordPerfect.h \ + ie_imp_WordPerfect.cpp \ +Index: plugins/wordperfect/xp/ie_impexp_WordPerfect.h +=================================================================== +--- plugins/wordperfect/xp/ie_impexp_WordPerfect.h (revision 34460) ++++ plugins/wordperfect/xp/ie_impexp_WordPerfect.h (working copy) +@@ -24,7 +24,6 @@ + */ + + #include "ie_imp_WordPerfect.h" +-#include "ie_exp_WordPerfect.h" + #include "xap_Module.h" + + #define IE_MIMETYPE_WP_51 "application/wordperfect5.1" +Index: plugins/wordperfect/plugin.m4 +=================================================================== +--- plugins/wordperfect/plugin.m4 (revision 34460) ++++ plugins/wordperfect/plugin.m4 (working copy) +@@ -1,6 +1,6 @@ + +-wordperfect_pkgs="libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0 $gsf_req" +-wordperfect_wps_pkgs='libwps-0.2 >= 0.1.0' ++wordperfect_pkgs="libwpd-0.10 $gsf_req" ++wordperfect_wps_pkgs='libwps-0.3' + wordperfect_deps="no" + + WORDPERFECT_CFLAGS= +@@ -29,7 +29,7 @@ + + PKG_CHECK_EXISTS([ $wordperfect_wps_pkgs ], + [ +- wp_deps_pkgs="$wp_deps_pkgs $wordperfect_wps_pkgs" ++ wp_deps_pkgs="$wordperfect_wps_pkgs $wp_deps_pkgs" + WPS_DEFINE=" -DHAVE_LIBWPS" + ]) + + diff --git a/libre/abiword/abiword.install b/libre/abiword/abiword.install new file mode 100644 index 000000000..cc4abc0b6 --- /dev/null +++ b/libre/abiword/abiword.install @@ -0,0 +1,12 @@ +post_install() { + update-desktop-database -q + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} diff --git a/libre/abiword/compat_libwpg_0_9.patch b/libre/abiword/compat_libwpg_0_9.patch new file mode 100644 index 000000000..cf36e188e --- /dev/null +++ b/libre/abiword/compat_libwpg_0_9.patch @@ -0,0 +1,371 @@ +diff -Nur abiword-2.8.6.orig//plugin-configure.m4 abiword-2.8.6/plugin-configure.m4 +--- abiword-2.8.6.orig//plugin-configure.m4 2010-06-13 14:17:27.000000000 -0700 ++++ abiword-2.8.6/plugin-configure.m4 2010-12-06 13:59:43.083048588 -0800 +@@ -794,7 +794,7 @@ + AC_SUBST([OPENXML_LIBS]) + + +-wpg_pkgs="$gsf_req libwpg-0.1 >= 0.1.0 libwpd-0.8 >= 0.8.0" ++wpg_pkgs="$gsf_req libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0" + wpg_deps="no" + + if test "$enable_wpg" != ""; then +@@ -1497,8 +1497,8 @@ + AC_SUBST([EML_LIBS]) + + +-wordperfect_pkgs="libwpd-0.8 >= 0.8.0 $gsf_req" +-wordperfect_wps_pkgs='libwps-0.1 >= 0.1.0' ++wordperfect_pkgs="libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0 $gsf_req" ++wordperfect_wps_pkgs='libwps-0.2 >= 0.1.0' + wordperfect_deps="no" + + WORDPERFECT_CFLAGS= +diff -Nur abiword-2.8.6.orig//plugins/wordperfect/plugin.m4 abiword-2.8.6/plugins/wordperfect/plugin.m4 +--- abiword-2.8.6.orig//plugins/wordperfect/plugin.m4 2010-05-30 07:50:46.000000000 -0700 ++++ abiword-2.8.6/plugins/wordperfect/plugin.m4 2010-12-06 13:59:53.929715254 -0800 +@@ -1,6 +1,6 @@ + +-wordperfect_pkgs="libwpd-0.8 >= 0.8.0 $gsf_req" +-wordperfect_wps_pkgs='libwps-0.1 >= 0.1.0' ++wordperfect_pkgs="libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0 $gsf_req" ++wordperfect_wps_pkgs='libwps-0.2 >= 0.1.0' + wordperfect_deps="no" + + WORDPERFECT_CFLAGS= +diff -Nur abiword-2.8.6.orig//plugins/wordperfect/xp/ie_imp_WordPerfect.cpp abiword-2.8.6/plugins/wordperfect/xp/ie_imp_WordPerfect.cpp +--- abiword-2.8.6.orig//plugins/wordperfect/xp/ie_imp_WordPerfect.cpp 2010-02-06 13:06:11.000000000 -0800 ++++ abiword-2.8.6/plugins/wordperfect/xp/ie_imp_WordPerfect.cpp 2010-12-06 13:59:53.926381921 -0800 +@@ -60,7 +60,7 @@ + + // Stream class + +-#include ++#include + + #include + #include +@@ -70,12 +70,7 @@ + #include + #endif + +-class AbiWordperfectInputStream : +-#ifdef HAVE_LIBWPS +- public WPSInputStream +-#else +- public WPXInputStream +-#endif ++class AbiWordperfectInputStream : public WPXInputStream + { + public: + AbiWordperfectInputStream(GsfInput *input); +@@ -86,7 +81,7 @@ + + virtual WPXInputStream * getDocumentOLEStream(const char * name); + +- virtual const uint8_t *read(size_t numBytes, size_t &numBytesRead); ++ virtual const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead); + virtual int seek(long offset, WPX_SEEK_TYPE seekType); + virtual long tell(); + virtual bool atEOS(); +@@ -98,11 +93,7 @@ + }; + + AbiWordperfectInputStream::AbiWordperfectInputStream(GsfInput *input) : +-#ifdef HAVE_LIBWPS +- WPSInputStream(), +-#else +- WPXInputStream(true), +-#endif ++ WPXInputStream(), + m_input(input), + m_ole(NULL) + { +@@ -117,9 +108,9 @@ + g_object_unref(G_OBJECT(m_input)); + } + +-const uint8_t * AbiWordperfectInputStream::read(size_t numBytes, size_t &numBytesRead) ++const unsigned char * AbiWordperfectInputStream::read(unsigned long numBytes, unsigned long &numBytesRead) + { +- const uint8_t *buf = gsf_input_read(m_input, numBytes, NULL); ++ const unsigned char *buf = gsf_input_read(m_input, numBytes, NULL); + + if (buf == NULL) + numBytesRead = 0; +@@ -256,19 +247,12 @@ + { + AbiWordperfectInputStream gsfInput(input); + +- WPDConfidence confidence = WPDocument::isFileFormatSupported(&gsfInput, true); ++ WPDConfidence confidence = WPDocument::isFileFormatSupported(&gsfInput); + + switch (confidence) + { + case WPD_CONFIDENCE_NONE: +- // libwpd > 0.7.1 reports POOR if the text file is plain text (that _could_ be a WP4x document) +- // however, we'll let the text importer handle such cases +- case WPD_CONFIDENCE_POOR: + return UT_CONFIDENCE_ZILCH; +- case WPD_CONFIDENCE_LIKELY: +- return UT_CONFIDENCE_SOSO; +- case WPD_CONFIDENCE_GOOD: +- return UT_CONFIDENCE_GOOD; + case WPD_CONFIDENCE_EXCELLENT: + return UT_CONFIDENCE_PERFECT; + default: +@@ -328,7 +312,7 @@ + UT_Error IE_Imp_WordPerfect::_loadFile(GsfInput * input) + { + AbiWordperfectInputStream gsfInput(input); +- WPDResult error = WPDocument::parse(&gsfInput, static_cast(this)); ++ WPDResult error = WPDocument::parse(&gsfInput, static_cast(this), NULL); + + if (error != WPD_OK) + { +@@ -381,9 +365,9 @@ + float marginLeft = 1.0f, marginRight = 1.0f; + + if (propList["fo:margin-left"]) +- marginLeft = propList["fo:margin-left"]->getFloat(); ++ marginLeft = propList["fo:margin-left"]->getDouble(); + if (propList["fo:margin-right"]) +- marginRight = propList["fo:margin-right"]->getFloat(); ++ marginRight = propList["fo:margin-right"]->getDouble(); + + if (marginLeft != m_leftPageMargin || marginRight != m_rightPageMargin /* || */ + /* marginTop != m_marginBottom || marginBottom != m_marginBottom */ ) +@@ -456,15 +440,15 @@ + float marginTop = 0.0f, marginBottom = 0.0f; + float marginLeft = 0.0f, marginRight = 0.0f, textIndent = 0.0f; + if (propList["fo:margin-top"]) +- marginTop = propList["fo:margin-top"]->getFloat(); ++ marginTop = propList["fo:margin-top"]->getDouble(); + if (propList["fo:margin-bottom"]) +- marginBottom = propList["fo:margin-bottom"]->getFloat(); ++ marginBottom = propList["fo:margin-bottom"]->getDouble(); + if (propList["fo:margin-left"]) +- marginLeft = propList["fo:margin-left"]->getFloat(); ++ marginLeft = propList["fo:margin-left"]->getDouble(); + if (propList["fo:margin-right"]) +- marginRight = propList["fo:margin-right"]->getFloat(); ++ marginRight = propList["fo:margin-right"]->getDouble(); + if (propList["fo:text-indent"]) +- textIndent = propList["fo:text-indent"]->getFloat(); ++ textIndent = propList["fo:text-indent"]->getDouble(); + + m_topMargin = marginTop; + m_bottomMargin = marginBottom; +@@ -487,7 +471,7 @@ + + float lineSpacing = 1.0f; + if (propList["fo:line-height"]) +- lineSpacing = propList["fo:line-height"]->getFloat(); ++ lineSpacing = propList["fo:line-height"]->getDouble(); + + UT_String tmpBuffer; + UT_String_sprintf(tmpBuffer, "; margin-top:%.4fin; margin-bottom:%.4fin; margin-left:%.4fin; margin-right:%.4fin; text-indent:%.4fin; line-height:%.4f", +@@ -504,7 +488,7 @@ + propBuffer += tmpBuffer; + if (i()["style:position"]) + { +- UT_String_sprintf(tmpBuffer, "%.4fin", i()["style:position"]->getFloat()); ++ UT_String_sprintf(tmpBuffer, "%.4fin", i()["style:position"]->getDouble()); + propBuffer += tmpBuffer; + } + +@@ -640,9 +624,9 @@ + + // TODO: support spaceAfter + if (propList["fo:margin-left"]) +- marginLeft = propList["fo:margin-left"]->getFloat(); ++ marginLeft = propList["fo:margin-left"]->getDouble(); + if (propList["fo:margin-right"]) +- marginRight = propList["fo:margin-right"]->getFloat(); ++ marginRight = propList["fo:margin-right"]->getDouble(); + + if (marginLeft != m_leftSectionMargin || marginRight != m_rightSectionMargin || m_sectionColumnsCount != columnsCount) + m_bSectionChanged = true; +@@ -709,9 +693,9 @@ + if (propList["style:num-format"]) + listType = propList["style:num-format"]->getStr().cstr()[0]; + if (propList["text:space-before"]) +- listLeftOffset = propList["text:space-before"]->getFloat(); ++ listLeftOffset = propList["text:space-before"]->getDouble(); + if (propList["text:min-label-width"]) +- listMinLabelWidth = propList["text:min-label-width"]->getFloat(); ++ listMinLabelWidth = propList["text:min-label-width"]->getDouble(); + + if (!m_pCurrentListDefinition || + m_pCurrentListDefinition->getOutlineHash() != listID || +@@ -749,9 +733,9 @@ + if (propList["libwpd:level"]) + level = propList["libwpd:level"]->getInt(); + if (propList["text:space-before"]) +- listLeftOffset = propList["text:space-before"]->getFloat(); ++ listLeftOffset = propList["text:space-before"]->getDouble(); + if (propList["text:min-label-width"]) +- listMinLabelWidth = propList["text:min-label-width"]->getFloat(); ++ listMinLabelWidth = propList["text:min-label-width"]->getDouble(); + + if (!m_pCurrentListDefinition || m_pCurrentListDefinition->getOutlineHash() != listID) + { +@@ -871,10 +855,10 @@ + + UT_String_sprintf(tempBuffer, "margin-left:%.4fin; ", m_pCurrentListDefinition->getListLeftOffset(m_iCurrentListLevel) + + m_pCurrentListDefinition->getListMinLabelWidth(m_iCurrentListLevel) +- - (propList["fo:text-indent"] ? propList["fo:text-indent"]->getFloat() : 0.0f)); ++ - (propList["fo:text-indent"] ? propList["fo:text-indent"]->getDouble() : 0.0f)); + propBuffer += tempBuffer; + UT_String_sprintf(tempBuffer, "text-indent:%.4fin", - m_pCurrentListDefinition->getListMinLabelWidth(m_iCurrentListLevel) +- + (propList["fo:text-indent"] ? propList["fo:text-indent"]->getFloat() : 0.0f)); ++ + (propList["fo:text-indent"] ? propList["fo:text-indent"]->getDouble() : 0.0f)); + propBuffer += tempBuffer; + + listAttribs[attribsCount++] = PT_PROPS_ATTRIBUTE_NAME; +@@ -1263,7 +1247,7 @@ + virtual UT_Error _loadFile(GsfInput * input) + { + AbiWordperfectInputStream gsfInput(input); +- WPSResult error = WPSDocument::parse(&gsfInput, static_cast(this)); ++ WPSResult error = WPSDocument::parse(&gsfInput, static_cast(this)); + + if (error != WPS_OK) + { +@@ -1302,18 +1286,12 @@ + { + AbiWordperfectInputStream gsfInput(input); + +- WPSConfidence confidence = WPSDocument::isFileFormatSupported(&gsfInput, true); ++ WPSConfidence confidence = WPSDocument::isFileFormatSupported(&gsfInput); + + switch (confidence) + { + case WPS_CONFIDENCE_NONE: + return UT_CONFIDENCE_ZILCH; +- case WPS_CONFIDENCE_POOR: +- return UT_CONFIDENCE_POOR; +- case WPS_CONFIDENCE_LIKELY: +- return UT_CONFIDENCE_SOSO; +- case WPS_CONFIDENCE_GOOD: +- return UT_CONFIDENCE_GOOD; + case WPS_CONFIDENCE_EXCELLENT: + return UT_CONFIDENCE_PERFECT; + default: +diff -Nur abiword-2.8.6.orig//plugins/wordperfect/xp/ie_imp_WordPerfect.h abiword-2.8.6/plugins/wordperfect/xp/ie_imp_WordPerfect.h +--- abiword-2.8.6.orig//plugins/wordperfect/xp/ie_imp_WordPerfect.h 2009-06-19 01:55:49.000000000 -0700 ++++ abiword-2.8.6/plugins/wordperfect/xp/ie_imp_WordPerfect.h 2010-12-06 13:59:53.929715254 -0800 +@@ -30,13 +30,7 @@ + #define IE_IMP_WP_H + + #include +-#ifdef _WIN32 +-#define POINT WPX_POINT +-#endif + #include +-#ifdef _WIN32 +-#undef POINT +-#endif + #include "ie_imp.h" + #include "ut_string.h" + #include "ut_string_class.h" +@@ -98,7 +92,7 @@ + IE_Imp ** ppie); + }; + +-class IE_Imp_WordPerfect : public IE_Imp, public WPXHLListenerImpl ++class IE_Imp_WordPerfect : public IE_Imp, public WPXDocumentInterface + { + public: + IE_Imp_WordPerfect(PD_Document * pDocument); +@@ -154,6 +148,21 @@ + virtual void insertCoveredTableCell(const WPXPropertyList & /*propList*/) {} + virtual void closeTable(); + ++ virtual void definePageStyle(const WPXPropertyList&) {} ++ virtual void defineParagraphStyle(const WPXPropertyList&, const WPXPropertyListVector&) {} ++ virtual void defineCharacterStyle(const WPXPropertyList&) {} ++ virtual void defineSectionStyle(const WPXPropertyList&, const WPXPropertyListVector&) {} ++ virtual void insertSpace() {} ++ virtual void insertField(const WPXString&, const WPXPropertyList&) {} ++ virtual void openComment(const WPXPropertyList&) {} ++ virtual void closeComment() {} ++ virtual void openTextBox(const WPXPropertyList&) {} ++ virtual void closeTextBox() {} ++ virtual void openFrame(const WPXPropertyList&) {} ++ virtual void closeFrame() {} ++ virtual void insertBinaryObject(const WPXPropertyList&, const WPXBinaryData&) {} ++ virtual void insertEquation(const WPXPropertyList&, const WPXString&) {} ++ + + protected: + virtual UT_Error _loadFile(GsfInput * input); +diff -Nur abiword-2.8.6.orig//plugins/wpg/plugin.m4 abiword-2.8.6/plugins/wpg/plugin.m4 +--- abiword-2.8.6.orig//plugins/wpg/plugin.m4 2010-05-30 07:50:46.000000000 -0700 ++++ abiword-2.8.6/plugins/wpg/plugin.m4 2010-12-06 13:59:53.929715254 -0800 +@@ -1,5 +1,5 @@ + +-wpg_pkgs="$gsf_req libwpg-0.1 >= 0.1.0 libwpd-0.8 >= 0.8.0" ++wpg_pkgs="$gsf_req libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0" + wpg_deps="no" + + if test "$enable_wpg" != ""; then +diff -Nur abiword-2.8.6.orig//plugins/wpg/xp/ie_impGraphic_WPG.cpp abiword-2.8.6/plugins/wpg/xp/ie_impGraphic_WPG.cpp +--- abiword-2.8.6.orig//plugins/wpg/xp/ie_impGraphic_WPG.cpp 2008-08-15 14:52:32.000000000 -0700 ++++ abiword-2.8.6/plugins/wpg/xp/ie_impGraphic_WPG.cpp 2010-12-06 13:59:53.923048588 -0800 +@@ -31,11 +31,10 @@ + #include + #include + #include +-#include ++#include + #include "xap_Module.h" + + using libwpg::WPGraphics; +-using libwpg::WPGString; + + ABI_PLUGIN_DECLARE("WPG") + +@@ -48,7 +47,7 @@ + virtual bool isOLEStream(); + virtual WPXInputStream * getDocumentOLEStream(); + virtual WPXInputStream * getDocumentOLEStream(const char * name); +- virtual const uint8_t *read(size_t numBytes, size_t &numBytesRead); ++ virtual const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead); + virtual int seek(long offset, WPX_SEEK_TYPE seekType); + virtual long tell(); + virtual bool atEOS(); +@@ -60,7 +59,7 @@ + }; + + AbiWordPerfectGraphicsInputStream::AbiWordPerfectGraphicsInputStream(GsfInput *input) : +- WPXInputStream(true), ++ WPXInputStream(), + m_input(input), + m_ole(NULL) + { +@@ -75,9 +74,9 @@ + g_object_unref(G_OBJECT(m_input)); + } + +-const uint8_t * AbiWordPerfectGraphicsInputStream::read(size_t numBytes, size_t &numBytesRead) ++const unsigned char * AbiWordPerfectGraphicsInputStream::read(unsigned long numBytes, unsigned long &numBytesRead) + { +- const uint8_t *buf = gsf_input_read(m_input, numBytes, NULL); ++ const unsigned char *buf = gsf_input_read(m_input, numBytes, NULL); + + if (buf == NULL) + numBytesRead = 0; +@@ -245,10 +244,10 @@ + UT_Error IE_Imp_WordPerfectGraphics::importGraphic(GsfInput *input, FG_Graphic **ppfg) + { + AbiWordPerfectGraphicsInputStream gsfInput(input); +- WPGString svgOutput; ++ WPXString svgOutput; + if (WPGraphics::generateSVG(&gsfInput, svgOutput)) + { +- GsfInput * svgInput = gsf_input_memory_new((const guint8*)svgOutput.cstr(), svgOutput.length(), false); ++ GsfInput * svgInput = gsf_input_memory_new((const guint8*)svgOutput.cstr(), svgOutput.len(), false); + UT_Error result = IE_ImpGraphic::loadGraphic(svgInput, IE_ImpGraphic::fileTypeForSuffix(".svg"), ppfg); + g_object_unref(svgInput); + return result; diff --git a/libre/abiword/fix_crash_saving_pdf.patch b/libre/abiword/fix_crash_saving_pdf.patch new file mode 100644 index 000000000..6dd78c7f9 --- /dev/null +++ b/libre/abiword/fix_crash_saving_pdf.patch @@ -0,0 +1,86 @@ +--- abiword/trunk/src/text/fmt/gtk/fv_UnixSelectionHandles.cpp 2013/12/23 03:20:34 33661 ++++ abiword/trunk/src/text/fmt/gtk/fv_UnixSelectionHandles.cpp 2013/12/28 02:04:39 33662 +@@ -36,42 +36,60 @@ + + mode = _fv_text_handle_get_mode (handle); + +- if (pos == FV_TEXT_HANDLE_POSITION_SELECTION_START) ++ if (pos == FV_TEXT_HANDLE_POSITION_SELECTION_START) { + handles->updateSelectionStart ((UT_sint32)x, (UT_sint32)y); ++ } + else { +- if (mode == FV_TEXT_HANDLE_MODE_SELECTION) ++ if (mode == FV_TEXT_HANDLE_MODE_SELECTION) { + handles->updateSelectionEnd ((UT_sint32)x, (UT_sint32)y); +- else ++ } ++ else { + handles->updateCursor((UT_sint32)x, (UT_sint32)y); ++ } + } + } + + FV_UnixSelectionHandles::FV_UnixSelectionHandles(FV_View *view, FV_Selection selection) + : FV_SelectionHandles (view, selection) ++ , m_text_handle(NULL) + { + XAP_Frame * pFrame = static_cast(m_pView->getParentData()); +- XAP_UnixFrameImpl * pFrameImpl =static_cast( pFrame->getFrameImpl()); +- GtkWidget * pWidget = pFrameImpl->getViewWidget(); +- +- m_text_handle = _fv_text_handle_new (pWidget); +- _fv_text_handle_set_relative_to (m_text_handle, +- gtk_widget_get_window (pWidget)); +- g_signal_connect (m_text_handle, "handle-dragged", +- G_CALLBACK(handle_dragged_cb), this); ++ // When saving to PDF (and printing) we don't have a frame ++ // See bug 13586 ++ if (pFrame) { ++ XAP_UnixFrameImpl * pFrameImpl = static_cast(pFrame->getFrameImpl()); ++ GtkWidget * pWidget = pFrameImpl->getViewWidget(); ++ ++ m_text_handle = _fv_text_handle_new (pWidget); ++ _fv_text_handle_set_relative_to (m_text_handle, ++ gtk_widget_get_window (pWidget)); ++ g_signal_connect (m_text_handle, "handle-dragged", ++ G_CALLBACK(handle_dragged_cb), this); ++ } + } + + FV_UnixSelectionHandles::~FV_UnixSelectionHandles() + { ++ if(!m_text_handle) { ++ return; ++ } + g_object_unref (m_text_handle); + } + + void FV_UnixSelectionHandles::hide() + { ++ if(!m_text_handle) { ++ return; ++ } + _fv_text_handle_set_mode (m_text_handle, FV_TEXT_HANDLE_MODE_NONE); + } + + void FV_UnixSelectionHandles::setCursorCoords(UT_sint32 x, UT_sint32 y, UT_uint32 height, bool visible) + { ++ if(!m_text_handle) { ++ return; ++ } ++ + GdkRectangle rect; + + _fv_text_handle_set_mode(m_text_handle, FV_TEXT_HANDLE_MODE_CURSOR); +@@ -92,6 +110,10 @@ + void FV_UnixSelectionHandles::setSelectionCoords(UT_sint32 start_x, UT_sint32 start_y, UT_uint32 start_height, bool start_visible, + UT_sint32 end_x, UT_sint32 end_y, UT_uint32 end_height, bool end_visible) + { ++ if(!m_text_handle) { ++ return; ++ } ++ + GdkRectangle rect; + + _fv_text_handle_set_mode(m_text_handle, FV_TEXT_HANDLE_MODE_SELECTION); + diff --git a/libre/abiword/liberation-fonts.patch b/libre/abiword/liberation-fonts.patch new file mode 100644 index 000000000..1660c3ead --- /dev/null +++ b/libre/abiword/liberation-fonts.patch @@ -0,0 +1,1694 @@ +diff --git a/plugins/latex/xp/ie_exp_LaTeX.cpp b/plugins/latex/xp/ie_exp_LaTeX.cpp +index f3d56c6..d5a77ef 100644 +--- a/plugins/latex/xp/ie_exp_LaTeX.cpp ++++ b/plugins/latex/xp/ie_exp_LaTeX.cpp +@@ -1046,7 +1046,7 @@ void s_LaTeX_Listener::_openSpan(PT_AttrPropIndex api) + m_pie->write("\\texttt{"); + m_NumCloseBrackets++; + } +- if (!strcmp("Arial", szValue) || ++ if (!strcmp("Liberation Sans", szValue) || + !strcmp("Helvetic", szValue) || + !strcmp("Luxi Sans",szValue)) { + m_pie->write("\\textsf{"); +diff --git a/plugins/opendocument/imp/xp/ODi_FontFaceDecls.cpp b/plugins/opendocument/imp/xp/ODi_FontFaceDecls.cpp +index ed167dc..e0831c9 100644 +--- a/plugins/opendocument/imp/xp/ODi_FontFaceDecls.cpp ++++ b/plugins/opendocument/imp/xp/ODi_FontFaceDecls.cpp +@@ -59,7 +59,7 @@ void ODi_FontFaceDecls::startElement (const gchar* pName, + fontFamily = pFontFamily; + + if (pFontFamily && (pFontFamily[0] == '\'') && (pFontFamily[strlen(pFontFamily)-1] == '\'')) { +- // e.g.: Turns a "'Times New Roman'" into a "Times New Roman". ++ // e.g.: Turns a "'Liberation Serif'" into a "Liberation Serif". + // OpenOffice.org sometimes adds those extra "'" surrounding the + // font family name if it's composed by more than one word. + m_fontFamilies[pStyleName] = +diff --git a/plugins/openwriter/xp/ie_exp_OpenWriter.cpp b/plugins/openwriter/xp/ie_exp_OpenWriter.cpp +index 1fab89a..a399c59 100644 +--- a/plugins/openwriter/xp/ie_exp_OpenWriter.cpp ++++ b/plugins/openwriter/xp/ie_exp_OpenWriter.cpp +@@ -900,12 +900,12 @@ bool OO_StylesWriter::writeStyles(PD_Document * pDoc, GsfOutfile * oo, OO_Styles + { + "\n", + "\n", +- "\n", ++ "\n", + "\n", + "\n", + "\n", + "\n", +- "\n", ++ "\n", + "\n" + }; + +diff --git a/plugins/openxml/common/xp/OXML_FontManager.cpp b/plugins/openxml/common/xp/OXML_FontManager.cpp +index 41b719d..2c53c1a 100644 +--- a/plugins/openxml/common/xp/OXML_FontManager.cpp ++++ b/plugins/openxml/common/xp/OXML_FontManager.cpp +@@ -34,7 +34,7 @@ + #include + + OXML_FontManager::OXML_FontManager() : +- m_defaultFont("Times New Roman") ++ m_defaultFont("Liberation Serif") + { + m_major_rts.clear(); + m_minor_rts.clear(); +diff --git a/plugins/openxml/common/xp/OXML_List.cpp b/plugins/openxml/common/xp/OXML_List.cpp +index 5bcb47a..88dba7e 100644 +--- a/plugins/openxml/common/xp/OXML_List.cpp ++++ b/plugins/openxml/common/xp/OXML_List.cpp +@@ -258,7 +258,7 @@ UT_Error OXML_List::serialize(IE_Exp_OpenXML* exporter) + txt = txt.replace(index+1, 1, 1, '1'+i); + } + +- std::string fontFamily("Times New Roman"); ++ std::string fontFamily("Liberation Serif"); + const gchar* listType = "bullet"; + switch(type) + { +diff --git a/plugins/passepartout/xp/ie_exp_Passepartout.cpp b/plugins/passepartout/xp/ie_exp_Passepartout.cpp +index e18e7f1..eec9367 100644 +--- a/plugins/passepartout/xp/ie_exp_Passepartout.cpp ++++ b/plugins/passepartout/xp/ie_exp_Passepartout.cpp +@@ -318,7 +318,7 @@ void Passepartout_Listener::_openBlock(PT_AttrPropIndex api) + } + else + { +- TempStr = UT_UTF8String_sprintf(" font-family=\"%s\"", "Times New Roman" ); ++ TempStr = UT_UTF8String_sprintf(" font-family=\"%s\"", "Liberation Serif" ); + m_pie->write(TempStr.utf8_str()); + } + +@@ -426,7 +426,7 @@ void Passepartout_Listener::_openFont(PT_AttrPropIndex api) + } + else + { +- TempStr = UT_UTF8String_sprintf(" font-family=\"%s\"", "Times New Roman" ); ++ TempStr = UT_UTF8String_sprintf(" font-family=\"%s\"", "Liberation Serif" ); + m_pie->write(TempStr.utf8_str()); + } + +diff --git a/plugins/t602/xp/ie_imp_T602.cpp b/plugins/t602/xp/ie_imp_T602.cpp +index a57a9e2..f7f2301 100644 +--- a/plugins/t602/xp/ie_imp_T602.cpp ++++ b/plugins/t602/xp/ie_imp_T602.cpp +@@ -620,7 +620,7 @@ switch (c) + case 0x01: + m_sfont ^=1; + if (m_sfont & 1) +- { m_size=static_cast(0.8*m_basesize); m_family="Arial"; ++ { m_size=static_cast(0.8*m_basesize); m_family="Liberation Sans"; + /* FIXME? -> .profile?*/ } + else + { m_size=m_basesize; m_family=m_basefamily; } +diff --git a/src/af/gr/gtk/gr_UnixCairoGraphics.cpp b/src/af/gr/gtk/gr_UnixCairoGraphics.cpp +index 4c8d23c..6bcfd6d 100644 +--- a/src/af/gr/gtk/gr_UnixCairoGraphics.cpp ++++ b/src/af/gr/gtk/gr_UnixCairoGraphics.cpp +@@ -234,7 +234,7 @@ GR_Font * GR_UnixCairoGraphics::getGUIFont(void) + const char *guiFontName = pango_font_description_get_family(tempStyle->font_desc); + #endif + if (!guiFontName) +- guiFontName = "'Times New Roman'"; ++ guiFontName = "'Liberation Serif'"; + + UT_UTF8String s = XAP_EncodingManager::get_instance()->getLanguageISOName(); + +diff --git a/src/af/gr/xp/gr_CairoGraphics.cpp b/src/af/gr/xp/gr_CairoGraphics.cpp +index 224b883..38ef911 100644 +--- a/src/af/gr/xp/gr_CairoGraphics.cpp ++++ b/src/af/gr/xp/gr_CairoGraphics.cpp +@@ -776,8 +776,8 @@ bool GR_CairoGraphics::shape(GR_ShapingInfo & si, GR_RenderInfo *& ri) + + /* + * Pango does a royally bad job of the font substitution in +- * pango_itemize(): it will happily return 'Times New Roman' as +- * font when we have requested 'Arial', even though the latter is ++ * pango_itemize(): it will happily return 'Liberation Serif' as ++ * font when we have requested 'Liberation Sans', even though the latter is + * present and has the necessary coverage. Consequently we have to + * do the font substitution manually even on the first shapping. + * +@@ -3054,7 +3054,7 @@ GR_Font * GR_CairoGraphics::getDefaultFont(GR_Font::FontFamilyEnum f, + + case GR_Font::FF_Technical: + case GR_Font::FF_BiDi: +- pszFontFamily = "Arial"; ++ pszFontFamily = "Liberation Sans"; + break; + + default: +diff --git a/src/af/util/xp/ut_misc.cpp b/src/af/util/xp/ut_misc.cpp +index 52246c3..bcd5a6d 100644 +--- a/src/af/util/xp/ut_misc.cpp ++++ b/src/af/util/xp/ut_misc.cpp +@@ -570,7 +570,7 @@ const gchar ** UT_setPropsToValue(const gchar ** props, const gchar * value) + } + + /*! +- splits the xml property string (font-size:24pt;font-face:Arial') into names and values ++ splits the xml property string (font-size:24pt;font-face:Liberation Sans') into names and values + and stores them in an array + + the caller has to delete[] the array; the process is destructive to props +diff --git a/src/af/xap/cocoa/xap_CocoaToolPalette.nib/keyedobjects.nib b/src/af/xap/cocoa/xap_CocoaToolPalette.nib/keyedobjects.nib +index f21c815..e284cc9 100644 +--- a/src/af/xap/cocoa/xap_CocoaToolPalette.nib/keyedobjects.nib ++++ b/src/af/xap/cocoa/xap_CocoaToolPalette.nib/keyedobjects.nib +@@ -10910,7 +10910,7 @@ + 624 + + +- Times New Roman ++ Liberation Serif + _popUpItemAction: + + $class +diff --git a/src/af/xap/gtk/xap_UnixDlg_FileOpenSaveAs.cpp b/src/af/xap/gtk/xap_UnixDlg_FileOpenSaveAs.cpp +index bf94333..f77b40b 100644 +--- a/src/af/xap/gtk/xap_UnixDlg_FileOpenSaveAs.cpp ++++ b/src/af/xap/gtk/xap_UnixDlg_FileOpenSaveAs.cpp +@@ -904,7 +904,7 @@ gint XAP_UnixDialog_FileOpenSaveAs::previewPicture (void) + + const gchar * file_name = gtk_file_chooser_get_uri (m_FC); + +- GR_Font * fnt = pGr->findFont("Times New Roman", ++ GR_Font * fnt = pGr->findFont("Liberation Serif", + "normal", "", "normal", + "", "12pt", + pSS->getLanguageName()); +diff --git a/src/af/xap/win/xap_Win32Dlg_About.cpp b/src/af/xap/win/xap_Win32Dlg_About.cpp +index 2cc4aa6..3aec3f0 100644 +--- a/src/af/xap/win/xap_Win32Dlg_About.cpp ++++ b/src/af/xap/win/xap_Win32Dlg_About.cpp +@@ -289,7 +289,7 @@ void XAP_Win32Dialog_About::runModal(XAP_Frame * pFrame) + lf.lfWeight = 0; + HFONT hfontSmall = CreateFontIndirectW(&lf); + +- wcscpy(lf.lfFaceName, L"Arial"); ++ wcscpy(lf.lfFaceName, L"Liberation Sans"); + lf.lfHeight = 36; + lf.lfWeight = FW_BOLD; + HFONT hfontHeading = CreateFontIndirectW(&lf); +diff --git a/src/af/xap/xp/xap_Dlg_FontChooser.cpp b/src/af/xap/xp/xap_Dlg_FontChooser.cpp +index 56ad605..8a89eb5 100644 +--- a/src/af/xap/xp/xap_Dlg_FontChooser.cpp ++++ b/src/af/xap/xp/xap_Dlg_FontChooser.cpp +@@ -570,7 +570,7 @@ void XAP_Preview_FontPreview::draw(const UT_Rect *clip) + std::string sWeight = getVal("font-weight"); + + if(sFamily.empty()) +- sFamily = "Times New Roman"; ++ sFamily = "Liberation Serif"; + + if(sStyle.empty()) + sStyle = "normal"; +diff --git a/src/af/xap/xp/xap_Dlg_Zoom.cpp b/src/af/xap/xp/xap_Dlg_Zoom.cpp +index 25f1a38..c025206 100644 +--- a/src/af/xap/xp/xap_Dlg_Zoom.cpp ++++ b/src/af/xap/xp/xap_Dlg_Zoom.cpp +@@ -124,7 +124,7 @@ void XAP_Dialog_Zoom::_createPreviewFromGC(GR_Graphics * gc, + UT_ASSERT(m_zoomPreview); + + m_zoomPreview->setWindowSize(width, height); +- m_zoomPreview->setString("10-pt Times New Roman"); ++ m_zoomPreview->setString("10-pt Liberation Serif"); + m_zoomPreview->setFont(XAP_Preview_Zoom::font_NORMAL); + m_zoomPreview->setZoomPercent(m_zoomPercent); + +diff --git a/src/af/xap/xp/xap_Preview_Zoom.cpp b/src/af/xap/xp/xap_Preview_Zoom.cpp +index 3ac69e1..0fdae0e 100644 +--- a/src/af/xap/xp/xap_Preview_Zoom.cpp ++++ b/src/af/xap/xp/xap_Preview_Zoom.cpp +@@ -63,7 +63,7 @@ void XAP_Preview_Zoom::setFont(XAP_Preview_Zoom::tFont f) + { + case XAP_Preview_Zoom::font_NORMAL: + sprintf (fontString, "%dpt", (10 * m_zoomPercent / 100)); +- found = m_gc->findFont("Times New Roman", ++ found = m_gc->findFont("Liberation Serif", + "normal", "", "normal", + "", fontString, + NULL); +diff --git a/src/text/fmt/xp/fl_BlockLayout.cpp b/src/text/fmt/xp/fl_BlockLayout.cpp +index f56e1f5..f0d8dd5 100644 +--- a/src/text/fmt/xp/fl_BlockLayout.cpp ++++ b/src/text/fmt/xp/fl_BlockLayout.cpp +@@ -10260,7 +10260,7 @@ void fl_BlockLayout::StartList( const gchar * style, pf_Frag_Strux* prevSDH) + szDec="."; + if(!szFont) + { +- szFont = "Times New Roman"; ++ szFont = "Liberation Serif"; + UT_ASSERT(UT_SHOULD_NOT_HAPPEN); + } + } +diff --git a/src/text/fmt/xp/fp_Line.cpp b/src/text/fmt/xp/fp_Line.cpp +index 8be126c..ede4ddd 100644 +--- a/src/text/fmt/xp/fp_Line.cpp ++++ b/src/text/fmt/xp/fp_Line.cpp +@@ -1856,7 +1856,7 @@ void fp_Line::_doClearScreenFromRunToEnd(UT_sint32 runIndex) + pRun = m_vecRuns.getNthItem(_getRunLogIndx(runIndex)); + + // Handle case where character extends behind the left side +- // like italic Times New Roman f. Clear a litle bit before if ++ // like italic Liberation Serif f. Clear a litle bit before if + // there is clear screen there + UT_sint32 j = runIndex - 1; + +diff --git a/src/text/fmt/xp/fp_TextRun.cpp b/src/text/fmt/xp/fp_TextRun.cpp +index 0e93665..ddb46cb 100644 +--- a/src/text/fmt/xp/fp_TextRun.cpp ++++ b/src/text/fmt/xp/fp_TextRun.cpp +@@ -1442,7 +1442,7 @@ void fp_TextRun::_clearScreen(bool /* bFullLineHeightRect */) + + // + // Handle case where character extend behind the left side +- // like italic Times New Roman f ++ // like italic Liberation Serif f + // + fp_Line * thisLine = getLine(); + fp_Run * pPrev = getPrevRun(); +diff --git a/src/text/fmt/xp/fv_View.cpp b/src/text/fmt/xp/fv_View.cpp +index 38cf5cf..360f99d 100644 +--- a/src/text/fmt/xp/fv_View.cpp ++++ b/src/text/fmt/xp/fv_View.cpp +@@ -586,9 +586,9 @@ FV_View::FV_View(XAP_App * pApp, void* pParentData, FL_DocLayout* pLayout) + s += pCountry; + } + +- // do a fuzzy match for Times New Roman ++ // do a fuzzy match for Liberation Serif + const char * pszFamily = +- GR_Graphics::findNearestFont ("Times New Roman", ++ GR_Graphics::findNearestFont ("Liberation Serif", + "normal", "normal", + "normal", "normal", + "12pt", s.utf8_str()); +diff --git a/src/text/ptbl/xp/pp_Property.cpp b/src/text/ptbl/xp/pp_Property.cpp +index 2c9a27b..c191b38 100644 +--- a/src/text/ptbl/xp/pp_Property.cpp ++++ b/src/text/ptbl/xp/pp_Property.cpp +@@ -104,7 +104,7 @@ static PP_Property _props[] = + + { "field-color", "dcdcdc", true, NULL, PP_LEVEL_FIELD}, + { "field-font", "NULL", true, NULL, PP_LEVEL_FIELD}, +- { "font-family", "Times New Roman", true, NULL, PP_LEVEL_CHAR}, ++ { "font-family", "Liberation Serif", true, NULL, PP_LEVEL_CHAR}, + { "font-size", "12pt", true, NULL, PP_LEVEL_CHAR}, // MS word defaults to 10pt, but it just seems too small + { "font-stretch", "normal", true, NULL, PP_LEVEL_CHAR}, + { "font-style", "normal", true, NULL, PP_LEVEL_CHAR}, +diff --git a/src/text/ptbl/xp/pp_Revision.cpp b/src/text/ptbl/xp/pp_Revision.cpp +index 47a9976..ebfc7f5 100644 +--- a/src/text/ptbl/xp/pp_Revision.cpp ++++ b/src/text/ptbl/xp/pp_Revision.cpp +@@ -436,7 +436,7 @@ void PP_RevisionAttr::_init(const gchar *r) + return; + + // the string we are parsing looks like +- // "+1,-2,!3{font-family: Times New Roman}" ++ // "+1,-2,!3{font-family: Liberation Serif}" + + // first duplicate the string so we can play with it ... + char * s = (char*) g_strdup(r); +diff --git a/src/text/ptbl/xp/pp_Revision.h b/src/text/ptbl/xp/pp_Revision.h +index f093ef0..9f77e84 100644 +--- a/src/text/ptbl/xp/pp_Revision.h ++++ b/src/text/ptbl/xp/pp_Revision.h +@@ -116,7 +116,7 @@ class ABI_EXPORT PP_Revision: public PP_AttrProp + where n is a numerical id of the revision and props is regular + property string, for instance + +- font-family:Times New Roman ++ font-family:Liberation Serif + + revoval of property/attribute is indicated by setting to -/-, e.g., + +diff --git a/src/text/ptbl/xp/pt_PT_Styles.cpp b/src/text/ptbl/xp/pt_PT_Styles.cpp +index 3829f0d..c9f370c 100644 +--- a/src/text/ptbl/xp/pt_PT_Styles.cpp ++++ b/src/text/ptbl/xp/pt_PT_Styles.cpp +@@ -176,7 +176,7 @@ bool pt_PieceTable::_loadBuiltinStyles(void) + s += pCountry; + } + +- const char* pszFamily = XAP_App::findNearestFont("Times New Roman", ++ const char* pszFamily = XAP_App::findNearestFont("Liberation Serif", + "normal", "", + "normal", "", "12pt", + s.utf8_str()); +@@ -188,7 +188,7 @@ bool pt_PieceTable::_loadBuiltinStyles(void) + "text-indent:0in; text-position:normal; line-height:1.0; " + "color:000000; bgcolor:transparent; widows:2", pszFamily); + +- pszFamily = XAP_App::findNearestFont("Arial", "normal", "", ++ pszFamily = XAP_App::findNearestFont("Liberation Sans", "normal", "", + "normal", "", "12pt", s.utf8_str()); + + // used to set the dom-dir of the style here, but we do not want to do that. The +@@ -263,7 +263,7 @@ bool pt_PieceTable::_loadBuiltinStyles(void) + UT_String_sprintf(stTmp, list_fmt, "Arrowhead List","0", LIST_DEFAULT_INDENT, LIST_DEFAULT_INDENT_LABEL, "transparent", "%L", pszFamily, "NULL"); + _s("Arrowhead List",false, "P", "", "Current Settings", stTmp.c_str()); + +- // pszFamily is the nearest font to Arial found in the system ++ // pszFamily is the nearest font to Liberation Sans found in the system + UT_String_sprintf(stTmp, "tabstops:0.3in/L0; list-style:Numbered List; " + "start-value:1; margin-left:0.0in; text-indent:0.0in; " + "field-color:transparent; list-delim:%%L.; field-font:%s; " +@@ -274,7 +274,7 @@ bool pt_PieceTable::_loadBuiltinStyles(void) + _s("Numbered Heading 2",true,"P","Heading 2","Normal", stTmp.c_str()); + _s("Numbered Heading 3",true,"P","Heading 3","Normal", stTmp.c_str()); + +- // pszFamily is the nearest font to Arial found in the system ++ // pszFamily is the nearest font to Liberation Sans found in the system + + UT_String_sprintf(stTmp, list_fmt, "Numbered List", "1",LIST_DEFAULT_INDENT, LIST_DEFAULT_INDENT_LABEL, "transparent", "%L.", "NULL", "."); + +diff --git a/src/wp/ap/xp/ap_Dialog_Lists.cpp b/src/wp/ap/xp/ap_Dialog_Lists.cpp +index 5aa32cb..dfeb4c1 100644 +--- a/src/wp/ap/xp/ap_Dialog_Lists.cpp ++++ b/src/wp/ap/xp/ap_Dialog_Lists.cpp +@@ -1109,7 +1109,7 @@ void AP_Lists_preview::setData(const gchar * pszFont,float fAlign,float fIndent) + // + if(!pszFont || strcmp(pszFont,"NULL")== 0) + { +- m_pFont = m_gc->findFont("Times New Roman", ++ m_pFont = m_gc->findFont("Liberation Serif", + "normal", "", "normal", + "", "16pt", NULL); + } +diff --git a/src/wp/ap/xp/ap_Dialog_PageNumbers.cpp b/src/wp/ap/xp/ap_Dialog_PageNumbers.cpp +index ecfdfcb..db3a518 100644 +--- a/src/wp/ap/xp/ap_Dialog_PageNumbers.cpp ++++ b/src/wp/ap/xp/ap_Dialog_PageNumbers.cpp +@@ -88,7 +88,7 @@ AP_Preview_PageNumbers::AP_Preview_PageNumbers (GR_Graphics * gc) + char fontString [10]; + sprintf(fontString, "%dpt", 8); + +- GR_Font * found = m_gc->findFont("Times New Roman", "normal", ++ GR_Font * found = m_gc->findFont("Liberation Serif", "normal", + "", "normal", "", fontString, + NULL); + +diff --git a/src/wp/ap/xp/ap_Preview_Annotation.cpp b/src/wp/ap/xp/ap_Preview_Annotation.cpp +index 5068315..91571e3 100644 +--- a/src/wp/ap/xp/ap_Preview_Annotation.cpp ++++ b/src/wp/ap/xp/ap_Preview_Annotation.cpp +@@ -95,7 +95,7 @@ void AP_Preview_Annotation::setSizeFromAnnotation(void) + pG = pView->getGraphics(); + + UT_return_if_fail(pG); +- GR_Font * pFont = pG->findFont("Times New Roman", "normal", ++ GR_Font * pFont = pG->findFont("Liberation Serif", "normal", + "normal", "normal", + "normal", "12pt", + NULL); +@@ -124,7 +124,7 @@ void AP_Preview_Annotation::draw(const UT_Rect *clip) + UT_RGBColor FGcolor(0,0,0); + UT_RGBColor BGcolor(m_clrBackground); + +- m_pFont = m_gc->findFont("Times New Roman", "normal", ++ m_pFont = m_gc->findFont("Liberation Serif", "normal", + "normal", "normal", + "normal", "12pt", + NULL); +diff --git a/src/wp/ap/xp/ap_Preview_Paragraph.cpp b/src/wp/ap/xp/ap_Preview_Paragraph.cpp +index fc4dc38..fba04f1 100644 +--- a/src/wp/ap/xp/ap_Preview_Paragraph.cpp ++++ b/src/wp/ap/xp/ap_Preview_Paragraph.cpp +@@ -540,7 +540,7 @@ void AP_Preview_Paragraph::draw(const UT_Rect *clip) + bool AP_Preview_Paragraph::_loadDrawFont(const char *name) + { + // we draw at 7 points in this preview +- GR_Font * font = m_gc->findFont(name ? name : "Times New Roman", ++ GR_Font * font = m_gc->findFont(name ? name : "Liberation Serif", + "normal", "", "normal", + "", "7pt", + NULL); // might need to get the real lang +diff --git a/src/wp/impexp/xp/ie_imp_MsWord_97.cpp b/src/wp/impexp/xp/ie_imp_MsWord_97.cpp +index 4673f80..d194004 100644 +--- a/src/wp/impexp/xp/ie_imp_MsWord_97.cpp ++++ b/src/wp/impexp/xp/ie_imp_MsWord_97.cpp +@@ -628,10 +628,10 @@ s_fieldFontForListStyle (MSWordListIdType id) + return "NULL"; + + case WLNF_UPPER_LETTER: // upper letter +- return "Times New Roman"; ++ return "Liberation Serif"; + + case WLNF_LOWER_LETTER: // lower letter +- return "Times New Roman"; ++ return "Liberation Serif"; + + case WLNF_BULLETS: // bullet list + UT_DEBUGMSG(("Fieldfont set to symbol \n")); +@@ -639,11 +639,11 @@ s_fieldFontForListStyle (MSWordListIdType id) + + case WLNF_EUROPEAN_ARABIC: + case WLNF_ORDINAL: // ordinal +- return "Times New Roman"; ++ return "Liberation Serif"; + + default: +- UT_DEBUGMSG(("unknown list type %d field-font set to Times New Roman \n",id)); +- return "Times New Roman"; ++ UT_DEBUGMSG(("unknown list type %d field-font set to Liberation Serif \n",id)); ++ return "Liberation Serif"; + } + } + +@@ -5250,7 +5250,7 @@ void IE_Imp_MsWord_97::_generateCharProps(UT_String &s, const CHP * achp, wvPars + if(fname) + s += fname; + else +- s += "Times New Roman"; ++ s += "Liberation Serif"; + FREEP(fname); + } + +diff --git a/src/wp/impexp/xp/ie_imp_RTF.cpp b/src/wp/impexp/xp/ie_imp_RTF.cpp +index 97a6f29..3177c9c 100644 +--- a/src/wp/impexp/xp/ie_imp_RTF.cpp ++++ b/src/wp/impexp/xp/ie_imp_RTF.cpp +@@ -6313,11 +6313,11 @@ bool IE_Imp_RTF::buildCharacterProps(std::string & propBuffer) + // {\f83\fnil\fcharset0\fprq0{\*\panose 00000000000000000000} ;} + // note the empty slot after the panose entry + // later it gets referenced: {\b\f83\fs24\cf1\cgrid0 Malte Cornils +- // this turns those into "Times New Roman" for now, as a hack to keep from crashing ++ // this turns those into "Liberation Serif" for now, as a hack to keep from crashing + if ( pFont->m_pFontName != NULL ) + propBuffer += pFont->m_pFontName; + else +- propBuffer += "Times New Roman"; ++ propBuffer += "Liberation Serif"; + } + if (m_currentRTFState.m_charProps.m_hasColour) + { +@@ -9034,7 +9034,7 @@ bool IE_Imp_RTF::ReadFontTable() + { + // NB: Ignores whitespace until we've seen non-whitespace data. + // This means we pick up the spaces in font names like +- // "Times New Roman", but it also means that any font names ++ // "Liberation Serif", but it also means that any font names + // that genuinely start with spaces will have them discarded. + // This is hopefully not a problem. + tokenType = NextToken(keyword, ¶meter,& paramUsed, +@@ -9102,11 +9102,11 @@ bool IE_Imp_RTF::ReadFontTable() + // It's possible that the font name will be empty. This might happend + // because the font table didn't specify a name, or because the \ansicpgN + // command was invalid, in which case the mbtowc convertion might fail. +- // In these cases, substitute "Times New Roman". ++ // In these cases, substitute "Liberation Serif". + if (!sFontNamesAndPanose[SFontTableState::MainFontName].length()) + { +- UT_DEBUGMSG(("RTF: Font Index %d: Substituting \"Times New Roman\" for missing font name.\n", fontIndex)); +- sFontNamesAndPanose[SFontTableState::MainFontName] = "Times New Roman"; ++ UT_DEBUGMSG(("RTF: Font Index %d: Substituting \"Liberation Serif\" for missing font name.\n", fontIndex)); ++ sFontNamesAndPanose[SFontTableState::MainFontName] = "Liberation Serif"; + } + // Validate and post-process the Panose string. + if (!PostProcessAndValidatePanose(sFontNamesAndPanose[SFontTableState::Panose])) +diff --git a/user/wp/readme.abw b/user/wp/readme.abw +index 7bf2cdc..48e3bb6 100644 +--- a/user/wp/readme.abw ++++ b/user/wp/readme.abw +@@ -16,9 +16,9 @@ + + + +- +- +- ++ ++ ++ + + +
+diff --git a/user/wp/templates/Business-Letter.awt b/user/wp/templates/Business-Letter.awt +index 524558a..9448277 100644 +--- a/user/wp/templates/Business-Letter.awt ++++ b/user/wp/templates/Business-Letter.awt +@@ -19,14 +19,14 @@ + + + +- +- +- ++ ++ ++ + +- +- +- +- ++ ++ ++ ++ + + +
+diff --git a/user/wp/templates/Business-Report.awt b/user/wp/templates/Business-Report.awt +index c2e85c9..f2f5b16 100644 +--- a/user/wp/templates/Business-Report.awt ++++ b/user/wp/templates/Business-Report.awt +@@ -21,7 +21,7 @@ +

+

+

Title

+-

Subtitle

++

Subtitle

+

+

Release 1.0

+

+@@ -99,11 +99,11 @@ +
+

+

+-

Heading 1

++

Heading 1

+

text

+-

Heading 2

++

Heading 2

+

text

+-

Heading 3

++

Heading 3

+

+
+
+diff --git a/user/wp/templates/Employee-Directory.awt b/user/wp/templates/Employee-Directory.awt +index c4f7ebc..b0faa54 100644 +--- a/user/wp/templates/Employee-Directory.awt ++++ b/user/wp/templates/Employee-Directory.awt +@@ -10,9 +10,9 @@ + + +
+-

Company Name

+-

Directory of Employees

+-

++

Company Name

++

Directory of Employees

++

+

+

+

+@@ -36,59 +36,59 @@ +

Normal Style (123) 555-1212

+

+

+-

Department Name

+-

The big boss upstairs (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

+-

+-

Department Name

+-

The big boss upstairs (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

+-

+-

Department Name

+-

The big boss upstairs (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

+-

+-

Department Name

+-

The big boss upstairs (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

Last Name, First Name (123) 555-1212

+-

+-

+-

General Numbers

+-

Front Desk (123) 555-1212

+-

Security (123) 555-1212

+-

Building Management (123) 555-1212

+-

Other General Numbers (123) 555-1212

++

Department Name

++

The big boss upstairs (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

++

++

Department Name

++

The big boss upstairs (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

++

++

Department Name

++

The big boss upstairs (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

++

++

Department Name

++

The big boss upstairs (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

Last Name, First Name (123) 555-1212

++

++

++

General Numbers

++

Front Desk (123) 555-1212

++

Security (123) 555-1212

++

Building Management (123) 555-1212

++

Other General Numbers (123) 555-1212

+
+ + +diff --git a/user/wp/templates/Fax-Coversheet.awt b/user/wp/templates/Fax-Coversheet.awt +index acc7ba8..cc5779c 100644 +--- a/user/wp/templates/Fax-Coversheet.awt ++++ b/user/wp/templates/Fax-Coversheet.awt +@@ -10,26 +10,26 @@ + + +
+-

Company Name

+-

Company Address Line 1

+-

Company Address Line 2

+-

Company Address Line 3

+-

+-

FAX

+-

TO: From:

+-

Fax: Pages:

+-

Phone: Date:

++

Company Name

++

Company Address Line 1

++

Company Address Line 2

++

Company Address Line 3

++

++

FAX

++

TO: From:

++

Fax: Pages:

++

Phone: Date:

+

+

Re: CC:

+

+

+-

 Urgent  For Review  Please Comment  Please Reply  Please Recycle

+-

++

 Urgent  For Review  Please Comment  Please Reply  Please Recycle

++

+

+

+-

Comments

++

Comments

+

+-

This text should the replaced with your comments about the fax and any additional comment to the receiver.

++

This text should the replaced with your comments about the fax and any additional comment to the receiver.

+
+ + +diff --git a/user/wp/templates/Friendly-Letter.awt b/user/wp/templates/Friendly-Letter.awt +index 5a25db1..2e687fc 100644 +--- a/user/wp/templates/Friendly-Letter.awt ++++ b/user/wp/templates/Friendly-Letter.awt +@@ -16,12 +16,12 @@ + + + +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ + + +
+diff --git a/user/wp/templates/Memo.awt b/user/wp/templates/Memo.awt +index 79b5538..560a4cd 100644 +--- a/user/wp/templates/Memo.awt ++++ b/user/wp/templates/Memo.awt +@@ -14,10 +14,10 @@ + Fri Mar 12 21:07:56 2004 + + +- +- +- +- ++ ++ ++ ++ + + + +@@ -59,10 +59,10 @@ +

The box that this text is in uses AbiWord's table support to draw the border. You can either allow the border to fit to the size of the text as it is now, or press <ENTER> repeatedly at the end of your memo to expand the border to fill the rest of the page.

+

Don't forget to change the header and footer before printing! If you wish to save this memo for later and ensure that the date above is saved as today's (not automatically updating), select it and type the desired date text over it.

+

The styles used in this document for correct conversion, import, export, and HTML are:

+-

Heading 1 for Company Name

+-

Heading 2 for Slogan

+-

Heading 3 for "Date:", "To:", etc.

+-

Normal for body text

++

Heading 1 for Company Name

++

Heading 2 for Slogan

++

Heading 3 for "Date:", "To:", etc.

++

Normal for body text

+ + +

+diff --git a/user/wp/templates/Press-Release.awt b/user/wp/templates/Press-Release.awt +index 708bce7..4d8bac1 100644 +--- a/user/wp/templates/Press-Release.awt ++++ b/user/wp/templates/Press-Release.awt +@@ -16,19 +16,19 @@ + + + +- +- +- +- ++ ++ ++ ++ + + + +- ++ + + + + +- ++ + + + +@@ -36,19 +36,19 @@ + + + +- +- +- ++ ++ ++ + + + + +- +- +- ++ ++ ++ + + +- ++ + + + +@@ -77,7 +77,7 @@ +

+ + +-

FOR IMMEDIATE RELEASE

++

FOR IMMEDIATE RELEASE

+
+ +

+diff --git a/user/wp/templates/Resume.awt b/user/wp/templates/Resume.awt +index 1e61cdd..8eda0b7 100644 +--- a/user/wp/templates/Resume.awt ++++ b/user/wp/templates/Resume.awt +@@ -14,11 +14,11 @@ + Fri Mar 12 22:08:25 2004 + + +- +- +- +- +- ++ ++ ++ ++ ++ + + +
+diff --git a/user/wp/templates/normal.awt b/user/wp/templates/normal.awt +index 4c83f82..e7fcb00 100644 +--- a/user/wp/templates/normal.awt ++++ b/user/wp/templates/normal.awt +@@ -9,7 +9,7 @@ + + + +- ++ + + + +diff --git a/user/wp/templates/normal.awt-am_ET b/user/wp/templates/normal.awt-am_ET +index cb1a8d4..c7b7707 100644 +--- a/user/wp/templates/normal.awt-am_ET ++++ b/user/wp/templates/normal.awt-am_ET +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-ar b/user/wp/templates/normal.awt-ar +index 9aa7a5c..0cd8882 100644 +--- a/user/wp/templates/normal.awt-ar ++++ b/user/wp/templates/normal.awt-ar +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-ar_EG b/user/wp/templates/normal.awt-ar_EG +index 5fcf2d1..b920dcc 100644 +--- a/user/wp/templates/normal.awt-ar_EG ++++ b/user/wp/templates/normal.awt-ar_EG +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-ar_SA b/user/wp/templates/normal.awt-ar_SA +index 09c1bbb..12ad0d6 100644 +--- a/user/wp/templates/normal.awt-ar_SA ++++ b/user/wp/templates/normal.awt-ar_SA +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-bg_BG b/user/wp/templates/normal.awt-bg_BG +index df6f2bf..d789046 100644 +--- a/user/wp/templates/normal.awt-bg_BG ++++ b/user/wp/templates/normal.awt-bg_BG +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-ca_ES b/user/wp/templates/normal.awt-ca_ES +index 0a337a2..69fecfd 100644 +--- a/user/wp/templates/normal.awt-ca_ES ++++ b/user/wp/templates/normal.awt-ca_ES +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-cs_CZ b/user/wp/templates/normal.awt-cs_CZ +index 3e5e87e..d2cb937 100644 +--- a/user/wp/templates/normal.awt-cs_CZ ++++ b/user/wp/templates/normal.awt-cs_CZ +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-da_DK b/user/wp/templates/normal.awt-da_DK +index 6ce3d83..f8706cb 100644 +--- a/user/wp/templates/normal.awt-da_DK ++++ b/user/wp/templates/normal.awt-da_DK +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-de b/user/wp/templates/normal.awt-de +index 8faa619..c0c18f7 100644 +--- a/user/wp/templates/normal.awt-de ++++ b/user/wp/templates/normal.awt-de +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-de_AT b/user/wp/templates/normal.awt-de_AT +index 9abfde1..d0ec20e 100644 +--- a/user/wp/templates/normal.awt-de_AT ++++ b/user/wp/templates/normal.awt-de_AT +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-de_CH b/user/wp/templates/normal.awt-de_CH +index 0aa531a..24b0f8d 100644 +--- a/user/wp/templates/normal.awt-de_CH ++++ b/user/wp/templates/normal.awt-de_CH +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-de_DE b/user/wp/templates/normal.awt-de_DE +index 0190408..6372e78 100644 +--- a/user/wp/templates/normal.awt-de_DE ++++ b/user/wp/templates/normal.awt-de_DE +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-div_MV b/user/wp/templates/normal.awt-div_MV +index 9a8c50e..88270ce 100644 +--- a/user/wp/templates/normal.awt-div_MV ++++ b/user/wp/templates/normal.awt-div_MV +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-el_GR b/user/wp/templates/normal.awt-el_GR +index e1c8de5..1db03a4 100644 +--- a/user/wp/templates/normal.awt-el_GR ++++ b/user/wp/templates/normal.awt-el_GR +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-en_AU b/user/wp/templates/normal.awt-en_AU +index c7fa4c9..0e29beb 100644 +--- a/user/wp/templates/normal.awt-en_AU ++++ b/user/wp/templates/normal.awt-en_AU +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-en_CA b/user/wp/templates/normal.awt-en_CA +index 3729a04..cff6807 100644 +--- a/user/wp/templates/normal.awt-en_CA ++++ b/user/wp/templates/normal.awt-en_CA +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-en_GB b/user/wp/templates/normal.awt-en_GB +index 14b8bcf..55364cd 100644 +--- a/user/wp/templates/normal.awt-en_GB ++++ b/user/wp/templates/normal.awt-en_GB +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-en_IE b/user/wp/templates/normal.awt-en_IE +index 95e3fc7..7b0c3a5 100644 +--- a/user/wp/templates/normal.awt-en_IE ++++ b/user/wp/templates/normal.awt-en_IE +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-en_NZ b/user/wp/templates/normal.awt-en_NZ +index 70016d2..0871e93 100644 +--- a/user/wp/templates/normal.awt-en_NZ ++++ b/user/wp/templates/normal.awt-en_NZ +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-en_ZA b/user/wp/templates/normal.awt-en_ZA +index ebe7ee3..c4f7795 100644 +--- a/user/wp/templates/normal.awt-en_ZA ++++ b/user/wp/templates/normal.awt-en_ZA +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-es b/user/wp/templates/normal.awt-es +index 12c611c..a2067e0 100644 +--- a/user/wp/templates/normal.awt-es ++++ b/user/wp/templates/normal.awt-es +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-es_AR b/user/wp/templates/normal.awt-es_AR +index 87130b5..fc8ac38 100644 +--- a/user/wp/templates/normal.awt-es_AR ++++ b/user/wp/templates/normal.awt-es_AR +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-es_ES b/user/wp/templates/normal.awt-es_ES +index 87130b5..fc8ac38 100644 +--- a/user/wp/templates/normal.awt-es_ES ++++ b/user/wp/templates/normal.awt-es_ES +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-es_IR b/user/wp/templates/normal.awt-es_IR +index 4d3e321..33c7144 100644 +--- a/user/wp/templates/normal.awt-es_IR ++++ b/user/wp/templates/normal.awt-es_IR +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-es_MX b/user/wp/templates/normal.awt-es_MX +index 52c3411..2522a82 100644 +--- a/user/wp/templates/normal.awt-es_MX ++++ b/user/wp/templates/normal.awt-es_MX +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-fa_IR b/user/wp/templates/normal.awt-fa_IR +index db24783..a0f0bde 100644 +--- a/user/wp/templates/normal.awt-fa_IR ++++ b/user/wp/templates/normal.awt-fa_IR +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-fi_FI b/user/wp/templates/normal.awt-fi_FI +index 1471a71..b65fa66 100644 +--- a/user/wp/templates/normal.awt-fi_FI ++++ b/user/wp/templates/normal.awt-fi_FI +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-fr b/user/wp/templates/normal.awt-fr +index 4e94583..67ae7c2 100644 +--- a/user/wp/templates/normal.awt-fr ++++ b/user/wp/templates/normal.awt-fr +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-fr_BE b/user/wp/templates/normal.awt-fr_BE +index 8b310c4..d4b7723 100644 +--- a/user/wp/templates/normal.awt-fr_BE ++++ b/user/wp/templates/normal.awt-fr_BE +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-fr_CA b/user/wp/templates/normal.awt-fr_CA +index e673aac..c3bb3fd 100644 +--- a/user/wp/templates/normal.awt-fr_CA ++++ b/user/wp/templates/normal.awt-fr_CA +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-fr_CH b/user/wp/templates/normal.awt-fr_CH +index 1888a71..eb4b5de 100644 +--- a/user/wp/templates/normal.awt-fr_CH ++++ b/user/wp/templates/normal.awt-fr_CH +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-fr_FR b/user/wp/templates/normal.awt-fr_FR +index f877981..0f523f6 100644 +--- a/user/wp/templates/normal.awt-fr_FR ++++ b/user/wp/templates/normal.awt-fr_FR +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-gl_ES b/user/wp/templates/normal.awt-gl_ES +index 7f4876b..006645e 100644 +--- a/user/wp/templates/normal.awt-gl_ES ++++ b/user/wp/templates/normal.awt-gl_ES +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-he b/user/wp/templates/normal.awt-he +index a3da00f..f1a238f 100644 +--- a/user/wp/templates/normal.awt-he ++++ b/user/wp/templates/normal.awt-he +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-he_IL b/user/wp/templates/normal.awt-he_IL +index 98d81eb..e78e16b 100644 +--- a/user/wp/templates/normal.awt-he_IL ++++ b/user/wp/templates/normal.awt-he_IL +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-hu_HU b/user/wp/templates/normal.awt-hu_HU +index d79154f..0dd6026 100644 +--- a/user/wp/templates/normal.awt-hu_HU ++++ b/user/wp/templates/normal.awt-hu_HU +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-it_IT b/user/wp/templates/normal.awt-it_IT +index a72f1d4..1121843 100644 +--- a/user/wp/templates/normal.awt-it_IT ++++ b/user/wp/templates/normal.awt-it_IT +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-ja_JP b/user/wp/templates/normal.awt-ja_JP +index 4f379e1..351fdd6 100644 +--- a/user/wp/templates/normal.awt-ja_JP ++++ b/user/wp/templates/normal.awt-ja_JP +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-lt_LT b/user/wp/templates/normal.awt-lt_LT +index e9d6ec1..b66be4a 100644 +--- a/user/wp/templates/normal.awt-lt_LT ++++ b/user/wp/templates/normal.awt-lt_LT +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-nb_NO b/user/wp/templates/normal.awt-nb_NO +index 1b6398f..5cdf741 100644 +--- a/user/wp/templates/normal.awt-nb_NO ++++ b/user/wp/templates/normal.awt-nb_NO +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-nl_NL b/user/wp/templates/normal.awt-nl_NL +index 0f8b299..4be5de2 100644 +--- a/user/wp/templates/normal.awt-nl_NL ++++ b/user/wp/templates/normal.awt-nl_NL +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-nn_NO b/user/wp/templates/normal.awt-nn_NO +index 981d577..1a36ad3 100644 +--- a/user/wp/templates/normal.awt-nn_NO ++++ b/user/wp/templates/normal.awt-nn_NO +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-pl_PL b/user/wp/templates/normal.awt-pl_PL +index 0405d45..7f32223 100644 +--- a/user/wp/templates/normal.awt-pl_PL ++++ b/user/wp/templates/normal.awt-pl_PL +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-ps b/user/wp/templates/normal.awt-ps +index 971e62f..e5e674f 100644 +--- a/user/wp/templates/normal.awt-ps ++++ b/user/wp/templates/normal.awt-ps +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-pt_BR b/user/wp/templates/normal.awt-pt_BR +index bdf4c09..4d85f5c 100644 +--- a/user/wp/templates/normal.awt-pt_BR ++++ b/user/wp/templates/normal.awt-pt_BR +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-pt_PT b/user/wp/templates/normal.awt-pt_PT +index 7a44c3e..e1b766e 100644 +--- a/user/wp/templates/normal.awt-pt_PT ++++ b/user/wp/templates/normal.awt-pt_PT +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-ru b/user/wp/templates/normal.awt-ru +index c34fd94..6e29dfd 100644 +--- a/user/wp/templates/normal.awt-ru ++++ b/user/wp/templates/normal.awt-ru +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-ru_RU b/user/wp/templates/normal.awt-ru_RU +index b07198e..4f435ea 100644 +--- a/user/wp/templates/normal.awt-ru_RU ++++ b/user/wp/templates/normal.awt-ru_RU +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-sk_SK b/user/wp/templates/normal.awt-sk_SK +index d03a1a5..bb04b0e 100644 +--- a/user/wp/templates/normal.awt-sk_SK ++++ b/user/wp/templates/normal.awt-sk_SK +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-sl b/user/wp/templates/normal.awt-sl +index 2dfcf1a..e874715 100644 +--- a/user/wp/templates/normal.awt-sl ++++ b/user/wp/templates/normal.awt-sl +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-sv b/user/wp/templates/normal.awt-sv +index d0f5163..82aa982 100644 +--- a/user/wp/templates/normal.awt-sv ++++ b/user/wp/templates/normal.awt-sv +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-sv_SE b/user/wp/templates/normal.awt-sv_SE +index 932da12..55d9e8c 100644 +--- a/user/wp/templates/normal.awt-sv_SE ++++ b/user/wp/templates/normal.awt-sv_SE +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-syr b/user/wp/templates/normal.awt-syr +index 72b77ad..3bd9503 100644 +--- a/user/wp/templates/normal.awt-syr ++++ b/user/wp/templates/normal.awt-syr +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-tr b/user/wp/templates/normal.awt-tr +index 489bc0a..2497b35 100644 +--- a/user/wp/templates/normal.awt-tr ++++ b/user/wp/templates/normal.awt-tr +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-tr_TR b/user/wp/templates/normal.awt-tr_TR +index bf775c8..bfd3982 100644 +--- a/user/wp/templates/normal.awt-tr_TR ++++ b/user/wp/templates/normal.awt-tr_TR +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-uk_UA b/user/wp/templates/normal.awt-uk_UA +index 6c759ad..76cbd8c 100644 +--- a/user/wp/templates/normal.awt-uk_UA ++++ b/user/wp/templates/normal.awt-uk_UA +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-ur_PK b/user/wp/templates/normal.awt-ur_PK +index 00cc1c7..8fcaf67 100644 +--- a/user/wp/templates/normal.awt-ur_PK ++++ b/user/wp/templates/normal.awt-ur_PK +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-yi b/user/wp/templates/normal.awt-yi +index e25ac13..02ffba4 100644 +--- a/user/wp/templates/normal.awt-yi ++++ b/user/wp/templates/normal.awt-yi +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-zh_CN b/user/wp/templates/normal.awt-zh_CN +index d103911..3a949bc 100644 +--- a/user/wp/templates/normal.awt-zh_CN ++++ b/user/wp/templates/normal.awt-zh_CN +@@ -9,7 +9,7 @@ + + + +- ++ + + +
+diff --git a/user/wp/templates/normal.awt-zh_TW b/user/wp/templates/normal.awt-zh_TW +index 3570d5e..8a2cdd7 100644 +--- a/user/wp/templates/normal.awt-zh_TW ++++ b/user/wp/templates/normal.awt-zh_TW +@@ -9,7 +9,7 @@ + + + +- ++ + + +
-- cgit v1.2.3 From e71d0fb45478db6be56e55fe2913d50026f67a58 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 2 Sep 2014 18:44:40 -0300 Subject: mesa-demos: remove libre suffix and add complex pkgrel --- libre/mesa-demos-libre/LICENSE | 82 -------------------------- libre/mesa-demos-libre/PKGBUILD | 50 ---------------- libre/mesa-demos-libre/libre.patch | 116 ------------------------------------- libre/mesa-demos/LICENSE | 82 ++++++++++++++++++++++++++ libre/mesa-demos/PKGBUILD | 49 ++++++++++++++++ libre/mesa-demos/libre.patch | 116 +++++++++++++++++++++++++++++++++++++ 6 files changed, 247 insertions(+), 248 deletions(-) delete mode 100644 libre/mesa-demos-libre/LICENSE delete mode 100644 libre/mesa-demos-libre/PKGBUILD delete mode 100644 libre/mesa-demos-libre/libre.patch create mode 100644 libre/mesa-demos/LICENSE create mode 100644 libre/mesa-demos/PKGBUILD create mode 100644 libre/mesa-demos/libre.patch diff --git a/libre/mesa-demos-libre/LICENSE b/libre/mesa-demos-libre/LICENSE deleted file mode 100644 index ae33d2709..000000000 --- a/libre/mesa-demos-libre/LICENSE +++ /dev/null @@ -1,82 +0,0 @@ -Disclaimer - -Mesa is a 3-D graphics library with an API which is very similar to -that of OpenGL* -To the extent that Mesa utilizes the OpenGL command syntax or state -machine, it is being used with authorization from Silicon Graphics, -Inc.(SGI). However, the author does not possess an OpenGL license -from SGI, and makes no claim that Mesa is in any way a compatible -replacement for OpenGL or associated with SGI. Those who want a -licensed implementation of OpenGL should contact a licensed -vendor. - -Please do not refer to the library as MesaGL (for legal -reasons). It's just Mesa or The Mesa 3-D graphics -library - -* OpenGL is a trademark of Silicon Graphics Incorporated. - -License / Copyright Information - -The Mesa distribution consists of several components. Different copyrights -and licenses apply to different components. For example, GLUT is copyrighted -by Mark Kilgard, some demo programs are copyrighted by SGI, some of the Mesa -device drivers are copyrighted by their authors. See below for a list of -Mesa's main components and the license for each. - -The core Mesa library is licensed according to the terms of the MIT license. -This allows integration with the XFree86, Xorg and DRI projects. - -The default Mesa license is as follows: - -Copyright (C) 1999-2007 Brian Paul All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Attention, Contributors - -When contributing to the Mesa project you must agree to the licensing terms -of the component to which you're contributing. -The following section lists the primary components of the Mesa distribution -and their respective licenses. - - -Mesa Component Licenses - -Component Location Primary Author License ----------------------------------------------------------------------------- -Main Mesa code src/mesa/ Brian Paul Mesa (MIT) - -Device drivers src/mesa/drivers/* See drivers See drivers - -Ext headers include/GL/glext.h SGI SGI Free B - include/GL/glxext.h - -GLUT src/glut/ Mark Kilgard Mark's copyright - -Mesa GLU library src/glu/mesa/ Brian Paul GNU-LGPL - -SGI GLU library src/glu/sgi/ SGI SGI Free B - -demo programs progs/demos/ various see source files - -X demos progs/xdemos/ Brian Paul see source files - -SGI demos progs/samples/ SGI SGI copyright - -RedBook demos progs/redbook/ SGI SGI copyright diff --git a/libre/mesa-demos-libre/PKGBUILD b/libre/mesa-demos-libre/PKGBUILD deleted file mode 100644 index 728432ce3..000000000 --- a/libre/mesa-demos-libre/PKGBUILD +++ /dev/null @@ -1,50 +0,0 @@ -# $Id: PKGBUILD 216566 2014-07-06 13:43:09Z andyrtr $ -# Maintainer (Arch): Jan de Groot -# Maintainer (Arch): Andreas Radke -# Maintainer: André Silva - -pkgname='mesa-demos-libre' -pkgver=8.2.0 -pkgrel=3 -arch=('i686' 'x86_64' 'mips64el') -pkgdesc="Mesa demos and tools, without nonfree demos" -url="http://mesa3d.sourceforge.net" -license=('custom') -provides=("mesa-demos=$pkgver") -replaces=('mesa-demos') -conflicts=('mesa-demos') -depends=('libgl' 'glew' 'freeglut') -mksource=("ftp://ftp.freedesktop.org/pub/mesa/demos/${pkgver}/mesa-demos-${pkgver}.tar.bz2") -source=("https://repo.parabolagnulinux.org/other/mesa-demos-libre/mesa-demos-libre-${pkgver}.tar.bz2" - 'LICENSE' - 'libre.patch') -mksha256sums=('e4bfecb5816ddd4b7b37c1bc876b63f1f7f06fda5879221a9774d0952f90ba92') -sha256sums=('a16f31e0b36de9603339d5aaae3b7cded9f560411ca3309d259a12d6071707ca' - '7fdc119cf53c8ca65396ea73f6d10af641ba41ea1dd2bd44a824726e01c8b3f2' - '2c381ed421e734dac877116c82ff9df07a8a38658186bba9e95805d145e8eb56') - -mksource() { - cd mesa-demos-${pkgver} - # remove nonfree demos (pointblast and spriteblast) - rm -v src/demos/{pointblast,spriteblast}.c -} - -prepare() { - cd mesa-demos-${pkgver} - # remove nonfree demos references (pointblast and spriteblast) - patch -Np1 -i ../libre.patch -} - -build() { - cd mesa-demos-${pkgver} - ./configure --prefix=/usr \ - --with-system-data-files=/usr/share/mesa-demos - make -} - -package() { - cd mesa-demos-${pkgver} - make DESTDIR="${pkgdir}" install - install -m755 -d "${pkgdir}/usr/share/licenses/mesa-demos" - install -m755 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/mesa-demos/" -} diff --git a/libre/mesa-demos-libre/libre.patch b/libre/mesa-demos-libre/libre.patch deleted file mode 100644 index 43e2d1e37..000000000 --- a/libre/mesa-demos-libre/libre.patch +++ /dev/null @@ -1,116 +0,0 @@ -diff -Nur mesa-demos-8.2.0.orig/src/demos/Makefile.am mesa-demos-8.2.0/src/demos/Makefile.am ---- mesa-demos-8.2.0.orig/src/demos/Makefile.am 1989-12-31 22:00:00.000000000 -0200 -+++ mesa-demos-8.2.0/src/demos/Makefile.am 2014-08-07 00:37:02.756984258 -0300 -@@ -65,7 +65,6 @@ - multiarb \ - paltex \ - pixeltest \ -- pointblast \ - projtex \ - ray \ - readpix \ -@@ -74,7 +73,6 @@ - shadowtex \ - singlebuffer \ - spectex \ -- spriteblast \ - stex3d \ - teapot \ - terrain \ -diff -Nur mesa-demos-8.2.0.orig/src/demos/Makefile.in mesa-demos-8.2.0/src/demos/Makefile.in ---- mesa-demos-8.2.0.orig/src/demos/Makefile.in 1989-12-31 22:00:00.000000000 -0200 -+++ mesa-demos-8.2.0/src/demos/Makefile.in 2014-08-07 00:39:20.077849509 -0300 -@@ -118,11 +118,11 @@ - @HAVE_GLUT_TRUE@ ipers$(EXEEXT) isosurf$(EXEEXT) \ - @HAVE_GLUT_TRUE@ lodbias$(EXEEXT) morph3d$(EXEEXT) \ - @HAVE_GLUT_TRUE@ multiarb$(EXEEXT) paltex$(EXEEXT) \ --@HAVE_GLUT_TRUE@ pixeltest$(EXEEXT) pointblast$(EXEEXT) \ -+@HAVE_GLUT_TRUE@ pixeltest$(EXEEXT) \ - @HAVE_GLUT_TRUE@ projtex$(EXEEXT) ray$(EXEEXT) readpix$(EXEEXT) \ - @HAVE_GLUT_TRUE@ reflect$(EXEEXT) renormal$(EXEEXT) \ - @HAVE_GLUT_TRUE@ shadowtex$(EXEEXT) singlebuffer$(EXEEXT) \ --@HAVE_GLUT_TRUE@ spectex$(EXEEXT) spriteblast$(EXEEXT) \ -+@HAVE_GLUT_TRUE@ spectex$(EXEEXT) \ - @HAVE_GLUT_TRUE@ stex3d$(EXEEXT) teapot$(EXEEXT) \ - @HAVE_GLUT_TRUE@ terrain$(EXEEXT) tessdemo$(EXEEXT) \ - @HAVE_GLUT_TRUE@ texcyl$(EXEEXT) texenv$(EXEEXT) \ -@@ -247,9 +247,6 @@ - pixeltest_SOURCES = pixeltest.c - pixeltest_OBJECTS = pixeltest.$(OBJEXT) - pixeltest_LDADD = $(LDADD) --pointblast_SOURCES = pointblast.c --pointblast_OBJECTS = pointblast.$(OBJEXT) --pointblast_LDADD = $(LDADD) - projtex_SOURCES = projtex.c - projtex_OBJECTS = projtex.$(OBJEXT) - projtex_DEPENDENCIES = ../util/libutil.la -@@ -274,9 +271,6 @@ - spectex_SOURCES = spectex.c - spectex_OBJECTS = spectex.$(OBJEXT) - spectex_LDADD = $(LDADD) --spriteblast_SOURCES = spriteblast.c --spriteblast_OBJECTS = spriteblast.$(OBJEXT) --spriteblast_LDADD = $(LDADD) - stex3d_SOURCES = stex3d.c - stex3d_OBJECTS = stex3d.$(OBJEXT) - stex3d_LDADD = $(LDADD) -@@ -353,8 +347,8 @@ - fbotexture.c fire.c fogcoord.c fplight.c fslight.c gamma.c \ - gearbox.c gears.c geartrain.c glinfo.c gloss.c gltestperf.c \ - ipers.c isosurf.c lodbias.c morph3d.c multiarb.c paltex.c \ -- pixeltest.c pointblast.c projtex.c ray.c readpix.c reflect.c \ -- renormal.c shadowtex.c singlebuffer.c spectex.c spriteblast.c \ -+ pixeltest.c projtex.c ray.c readpix.c reflect.c \ -+ renormal.c shadowtex.c singlebuffer.c spectex.c \ - stex3d.c teapot.c terrain.c tessdemo.c texcyl.c texenv.c \ - textures.c trispd.c $(tunnel_SOURCES) tunnel2.c vao_demo.c \ - winpos.c -@@ -364,8 +358,8 @@ - fbotexture.c fire.c fogcoord.c fplight.c fslight.c gamma.c \ - gearbox.c gears.c geartrain.c glinfo.c gloss.c gltestperf.c \ - ipers.c isosurf.c lodbias.c morph3d.c multiarb.c paltex.c \ -- pixeltest.c pointblast.c projtex.c ray.c readpix.c reflect.c \ -- renormal.c shadowtex.c singlebuffer.c spectex.c spriteblast.c \ -+ pixeltest.c projtex.c ray.c readpix.c reflect.c \ -+ renormal.c shadowtex.c singlebuffer.c spectex.c \ - stex3d.c teapot.c terrain.c tessdemo.c texcyl.c texenv.c \ - textures.c trispd.c $(tunnel_SOURCES) tunnel2.c vao_demo.c \ - winpos.c -@@ -804,10 +798,6 @@ - @rm -f pixeltest$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pixeltest_OBJECTS) $(pixeltest_LDADD) $(LIBS) - --pointblast$(EXEEXT): $(pointblast_OBJECTS) $(pointblast_DEPENDENCIES) $(EXTRA_pointblast_DEPENDENCIES) -- @rm -f pointblast$(EXEEXT) -- $(AM_V_CCLD)$(LINK) $(pointblast_OBJECTS) $(pointblast_LDADD) $(LIBS) -- - projtex$(EXEEXT): $(projtex_OBJECTS) $(projtex_DEPENDENCIES) $(EXTRA_projtex_DEPENDENCIES) - @rm -f projtex$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(projtex_OBJECTS) $(projtex_LDADD) $(LIBS) -@@ -840,10 +830,6 @@ - @rm -f spectex$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(spectex_OBJECTS) $(spectex_LDADD) $(LIBS) - --spriteblast$(EXEEXT): $(spriteblast_OBJECTS) $(spriteblast_DEPENDENCIES) $(EXTRA_spriteblast_DEPENDENCIES) -- @rm -f spriteblast$(EXEEXT) -- $(AM_V_CCLD)$(LINK) $(spriteblast_OBJECTS) $(spriteblast_LDADD) $(LIBS) -- - stex3d$(EXEEXT): $(stex3d_OBJECTS) $(stex3d_DEPENDENCIES) $(EXTRA_stex3d_DEPENDENCIES) - @rm -f stex3d$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(stex3d_OBJECTS) $(stex3d_LDADD) $(LIBS) -@@ -931,7 +917,6 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multiarb.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/paltex.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pixeltest.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pointblast.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/projtex.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ray.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readpix.Po@am__quote@ -@@ -940,7 +925,6 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shadowtex.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/singlebuffer.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spectex.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spriteblast.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stex3d.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/teapot.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/terrain.Po@am__quote@ diff --git a/libre/mesa-demos/LICENSE b/libre/mesa-demos/LICENSE new file mode 100644 index 000000000..ae33d2709 --- /dev/null +++ b/libre/mesa-demos/LICENSE @@ -0,0 +1,82 @@ +Disclaimer + +Mesa is a 3-D graphics library with an API which is very similar to +that of OpenGL* +To the extent that Mesa utilizes the OpenGL command syntax or state +machine, it is being used with authorization from Silicon Graphics, +Inc.(SGI). However, the author does not possess an OpenGL license +from SGI, and makes no claim that Mesa is in any way a compatible +replacement for OpenGL or associated with SGI. Those who want a +licensed implementation of OpenGL should contact a licensed +vendor. + +Please do not refer to the library as MesaGL (for legal +reasons). It's just Mesa or The Mesa 3-D graphics +library + +* OpenGL is a trademark of Silicon Graphics Incorporated. + +License / Copyright Information + +The Mesa distribution consists of several components. Different copyrights +and licenses apply to different components. For example, GLUT is copyrighted +by Mark Kilgard, some demo programs are copyrighted by SGI, some of the Mesa +device drivers are copyrighted by their authors. See below for a list of +Mesa's main components and the license for each. + +The core Mesa library is licensed according to the terms of the MIT license. +This allows integration with the XFree86, Xorg and DRI projects. + +The default Mesa license is as follows: + +Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Attention, Contributors + +When contributing to the Mesa project you must agree to the licensing terms +of the component to which you're contributing. +The following section lists the primary components of the Mesa distribution +and their respective licenses. + + +Mesa Component Licenses + +Component Location Primary Author License +---------------------------------------------------------------------------- +Main Mesa code src/mesa/ Brian Paul Mesa (MIT) + +Device drivers src/mesa/drivers/* See drivers See drivers + +Ext headers include/GL/glext.h SGI SGI Free B + include/GL/glxext.h + +GLUT src/glut/ Mark Kilgard Mark's copyright + +Mesa GLU library src/glu/mesa/ Brian Paul GNU-LGPL + +SGI GLU library src/glu/sgi/ SGI SGI Free B + +demo programs progs/demos/ various see source files + +X demos progs/xdemos/ Brian Paul see source files + +SGI demos progs/samples/ SGI SGI copyright + +RedBook demos progs/redbook/ SGI SGI copyright diff --git a/libre/mesa-demos/PKGBUILD b/libre/mesa-demos/PKGBUILD new file mode 100644 index 000000000..24521b827 --- /dev/null +++ b/libre/mesa-demos/PKGBUILD @@ -0,0 +1,49 @@ +# $Id: PKGBUILD 216566 2014-07-06 13:43:09Z andyrtr $ +# Maintainer (Arch): Jan de Groot +# Maintainer (Arch): Andreas Radke +# Maintainer: André Silva + +pkgname='mesa-demos' +pkgver=8.2.0 +pkgrel=3.parabola1 +arch=('i686' 'x86_64' 'mips64el') +pkgdesc="Mesa demos and tools, without nonfree demos" +url="http://mesa3d.sourceforge.net" +license=('custom') +replaces=('mesa-demos-libre') +conflicts=('mesa-demos-libre') +depends=('libgl' 'glew' 'freeglut') +mksource=("ftp://ftp.freedesktop.org/pub/mesa/demos/${pkgver}/mesa-demos-${pkgver}.tar.bz2") +source=("https://repo.parabolagnulinux.org/other/mesa-demos-libre/mesa-demos-libre-${pkgver}.tar.bz2" + 'LICENSE' + 'libre.patch') +mksha256sums=('e4bfecb5816ddd4b7b37c1bc876b63f1f7f06fda5879221a9774d0952f90ba92') +sha256sums=('a16f31e0b36de9603339d5aaae3b7cded9f560411ca3309d259a12d6071707ca' + '7fdc119cf53c8ca65396ea73f6d10af641ba41ea1dd2bd44a824726e01c8b3f2' + '2c381ed421e734dac877116c82ff9df07a8a38658186bba9e95805d145e8eb56') + +mksource() { + cd mesa-demos-${pkgver} + # remove nonfree demos (pointblast and spriteblast) + rm -v src/demos/{pointblast,spriteblast}.c +} + +prepare() { + cd mesa-demos-${pkgver} + # remove nonfree demos references (pointblast and spriteblast) + patch -Np1 -i ../libre.patch +} + +build() { + cd mesa-demos-${pkgver} + ./configure --prefix=/usr \ + --with-system-data-files=/usr/share/mesa-demos + make +} + +package() { + cd mesa-demos-${pkgver} + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/mesa-demos" + install -m755 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/mesa-demos/" +} diff --git a/libre/mesa-demos/libre.patch b/libre/mesa-demos/libre.patch new file mode 100644 index 000000000..43e2d1e37 --- /dev/null +++ b/libre/mesa-demos/libre.patch @@ -0,0 +1,116 @@ +diff -Nur mesa-demos-8.2.0.orig/src/demos/Makefile.am mesa-demos-8.2.0/src/demos/Makefile.am +--- mesa-demos-8.2.0.orig/src/demos/Makefile.am 1989-12-31 22:00:00.000000000 -0200 ++++ mesa-demos-8.2.0/src/demos/Makefile.am 2014-08-07 00:37:02.756984258 -0300 +@@ -65,7 +65,6 @@ + multiarb \ + paltex \ + pixeltest \ +- pointblast \ + projtex \ + ray \ + readpix \ +@@ -74,7 +73,6 @@ + shadowtex \ + singlebuffer \ + spectex \ +- spriteblast \ + stex3d \ + teapot \ + terrain \ +diff -Nur mesa-demos-8.2.0.orig/src/demos/Makefile.in mesa-demos-8.2.0/src/demos/Makefile.in +--- mesa-demos-8.2.0.orig/src/demos/Makefile.in 1989-12-31 22:00:00.000000000 -0200 ++++ mesa-demos-8.2.0/src/demos/Makefile.in 2014-08-07 00:39:20.077849509 -0300 +@@ -118,11 +118,11 @@ + @HAVE_GLUT_TRUE@ ipers$(EXEEXT) isosurf$(EXEEXT) \ + @HAVE_GLUT_TRUE@ lodbias$(EXEEXT) morph3d$(EXEEXT) \ + @HAVE_GLUT_TRUE@ multiarb$(EXEEXT) paltex$(EXEEXT) \ +-@HAVE_GLUT_TRUE@ pixeltest$(EXEEXT) pointblast$(EXEEXT) \ ++@HAVE_GLUT_TRUE@ pixeltest$(EXEEXT) \ + @HAVE_GLUT_TRUE@ projtex$(EXEEXT) ray$(EXEEXT) readpix$(EXEEXT) \ + @HAVE_GLUT_TRUE@ reflect$(EXEEXT) renormal$(EXEEXT) \ + @HAVE_GLUT_TRUE@ shadowtex$(EXEEXT) singlebuffer$(EXEEXT) \ +-@HAVE_GLUT_TRUE@ spectex$(EXEEXT) spriteblast$(EXEEXT) \ ++@HAVE_GLUT_TRUE@ spectex$(EXEEXT) \ + @HAVE_GLUT_TRUE@ stex3d$(EXEEXT) teapot$(EXEEXT) \ + @HAVE_GLUT_TRUE@ terrain$(EXEEXT) tessdemo$(EXEEXT) \ + @HAVE_GLUT_TRUE@ texcyl$(EXEEXT) texenv$(EXEEXT) \ +@@ -247,9 +247,6 @@ + pixeltest_SOURCES = pixeltest.c + pixeltest_OBJECTS = pixeltest.$(OBJEXT) + pixeltest_LDADD = $(LDADD) +-pointblast_SOURCES = pointblast.c +-pointblast_OBJECTS = pointblast.$(OBJEXT) +-pointblast_LDADD = $(LDADD) + projtex_SOURCES = projtex.c + projtex_OBJECTS = projtex.$(OBJEXT) + projtex_DEPENDENCIES = ../util/libutil.la +@@ -274,9 +271,6 @@ + spectex_SOURCES = spectex.c + spectex_OBJECTS = spectex.$(OBJEXT) + spectex_LDADD = $(LDADD) +-spriteblast_SOURCES = spriteblast.c +-spriteblast_OBJECTS = spriteblast.$(OBJEXT) +-spriteblast_LDADD = $(LDADD) + stex3d_SOURCES = stex3d.c + stex3d_OBJECTS = stex3d.$(OBJEXT) + stex3d_LDADD = $(LDADD) +@@ -353,8 +347,8 @@ + fbotexture.c fire.c fogcoord.c fplight.c fslight.c gamma.c \ + gearbox.c gears.c geartrain.c glinfo.c gloss.c gltestperf.c \ + ipers.c isosurf.c lodbias.c morph3d.c multiarb.c paltex.c \ +- pixeltest.c pointblast.c projtex.c ray.c readpix.c reflect.c \ +- renormal.c shadowtex.c singlebuffer.c spectex.c spriteblast.c \ ++ pixeltest.c projtex.c ray.c readpix.c reflect.c \ ++ renormal.c shadowtex.c singlebuffer.c spectex.c \ + stex3d.c teapot.c terrain.c tessdemo.c texcyl.c texenv.c \ + textures.c trispd.c $(tunnel_SOURCES) tunnel2.c vao_demo.c \ + winpos.c +@@ -364,8 +358,8 @@ + fbotexture.c fire.c fogcoord.c fplight.c fslight.c gamma.c \ + gearbox.c gears.c geartrain.c glinfo.c gloss.c gltestperf.c \ + ipers.c isosurf.c lodbias.c morph3d.c multiarb.c paltex.c \ +- pixeltest.c pointblast.c projtex.c ray.c readpix.c reflect.c \ +- renormal.c shadowtex.c singlebuffer.c spectex.c spriteblast.c \ ++ pixeltest.c projtex.c ray.c readpix.c reflect.c \ ++ renormal.c shadowtex.c singlebuffer.c spectex.c \ + stex3d.c teapot.c terrain.c tessdemo.c texcyl.c texenv.c \ + textures.c trispd.c $(tunnel_SOURCES) tunnel2.c vao_demo.c \ + winpos.c +@@ -804,10 +798,6 @@ + @rm -f pixeltest$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(pixeltest_OBJECTS) $(pixeltest_LDADD) $(LIBS) + +-pointblast$(EXEEXT): $(pointblast_OBJECTS) $(pointblast_DEPENDENCIES) $(EXTRA_pointblast_DEPENDENCIES) +- @rm -f pointblast$(EXEEXT) +- $(AM_V_CCLD)$(LINK) $(pointblast_OBJECTS) $(pointblast_LDADD) $(LIBS) +- + projtex$(EXEEXT): $(projtex_OBJECTS) $(projtex_DEPENDENCIES) $(EXTRA_projtex_DEPENDENCIES) + @rm -f projtex$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(projtex_OBJECTS) $(projtex_LDADD) $(LIBS) +@@ -840,10 +830,6 @@ + @rm -f spectex$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(spectex_OBJECTS) $(spectex_LDADD) $(LIBS) + +-spriteblast$(EXEEXT): $(spriteblast_OBJECTS) $(spriteblast_DEPENDENCIES) $(EXTRA_spriteblast_DEPENDENCIES) +- @rm -f spriteblast$(EXEEXT) +- $(AM_V_CCLD)$(LINK) $(spriteblast_OBJECTS) $(spriteblast_LDADD) $(LIBS) +- + stex3d$(EXEEXT): $(stex3d_OBJECTS) $(stex3d_DEPENDENCIES) $(EXTRA_stex3d_DEPENDENCIES) + @rm -f stex3d$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(stex3d_OBJECTS) $(stex3d_LDADD) $(LIBS) +@@ -931,7 +917,6 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multiarb.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/paltex.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pixeltest.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pointblast.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/projtex.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ray.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readpix.Po@am__quote@ +@@ -940,7 +925,6 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shadowtex.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/singlebuffer.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spectex.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spriteblast.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stex3d.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/teapot.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/terrain.Po@am__quote@ -- cgit v1.2.3 From 9a32f5e3dc833908d4156d1912c30545fd063bcc Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 2 Sep 2014 18:54:59 -0300 Subject: sdl: remove libre suffix and add complex pkgrel --- libre/sdl-libre/PKGBUILD | 68 --- libre/sdl-libre/X11_KeyToUnicode.patch | 52 -- libre/sdl-libre/fix_joystick_misc_axes.diff | 13 - libre/sdl-libre/libre.patch | 578 --------------------- libre/sdl-libre/libsdl-1.2.15-resizing.patch | 63 --- libre/sdl-libre/sdl-1.2.14-disable-mmx.patch | 13 - .../sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch | 23 - libre/sdl-libre/sdl_x11sym.patch | 12 - libre/sdl/PKGBUILD | 67 +++ libre/sdl/X11_KeyToUnicode.patch | 52 ++ libre/sdl/fix_joystick_misc_axes.diff | 13 + libre/sdl/libre.patch | 578 +++++++++++++++++++++ libre/sdl/libsdl-1.2.15-resizing.patch | 63 +++ libre/sdl/sdl-1.2.14-disable-mmx.patch | 13 + libre/sdl/sdl-1.2.14-fix-mouse-clicking.patch | 23 + libre/sdl/sdl_x11sym.patch | 12 + 16 files changed, 821 insertions(+), 822 deletions(-) delete mode 100644 libre/sdl-libre/PKGBUILD delete mode 100644 libre/sdl-libre/X11_KeyToUnicode.patch delete mode 100644 libre/sdl-libre/fix_joystick_misc_axes.diff delete mode 100644 libre/sdl-libre/libre.patch delete mode 100644 libre/sdl-libre/libsdl-1.2.15-resizing.patch delete mode 100644 libre/sdl-libre/sdl-1.2.14-disable-mmx.patch delete mode 100644 libre/sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch delete mode 100644 libre/sdl-libre/sdl_x11sym.patch create mode 100644 libre/sdl/PKGBUILD create mode 100644 libre/sdl/X11_KeyToUnicode.patch create mode 100644 libre/sdl/fix_joystick_misc_axes.diff create mode 100644 libre/sdl/libre.patch create mode 100644 libre/sdl/libsdl-1.2.15-resizing.patch create mode 100644 libre/sdl/sdl-1.2.14-disable-mmx.patch create mode 100644 libre/sdl/sdl-1.2.14-fix-mouse-clicking.patch create mode 100644 libre/sdl/sdl_x11sym.patch diff --git a/libre/sdl-libre/PKGBUILD b/libre/sdl-libre/PKGBUILD deleted file mode 100644 index ab057d514..000000000 --- a/libre/sdl-libre/PKGBUILD +++ /dev/null @@ -1,68 +0,0 @@ -# $Id: PKGBUILD 212210 2014-05-10 21:41:06Z heftig $ -# Maintainer (Arch): Jan Alexander Steffens (heftig) -# Contributor (Arch): Allan McRae -# Contributor (Arch): dorphell -# Maintainer: André Silva -# Maintainer: Márcio Silva -# Maintainer (Connochaetos): Henry Jensen - -pkgname=sdl-libre -pkgver=1.2.15 -pkgrel=6 -pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard, without nonfree riva_mmio.h file" -arch=('i686' 'x86_64' 'mips64el') -url="http://www.libsdl.org" -license=('LGPL') -provides=("sdl=${pkgver}") -conflicts=('sdl') -replaces=('sdl') -depends=('glibc' 'libxext' 'libxrender' 'libx11') -makedepends=('alsa-lib' 'mesa' 'libpulse' 'glu') -optdepends=('alsa-lib: ALSA audio driver' - 'libpulse: PulseAudio audio driver') -options=('staticlibs') -mksource=(http://www.libsdl.org/release/SDL-${pkgver}.tar.gz - libre.patch) -source=(https://repo.parabolagnulinux.org/other/$pkgname/SDL-libre-${pkgver}.tar.gz - sdl-1.2.14-fix-mouse-clicking.patch - sdl-1.2.14-disable-mmx.patch - fix_joystick_misc_axes.diff - libsdl-1.2.15-resizing.patch - sdl_x11sym.patch - X11_KeyToUnicode.patch) -mkmd5sums=('9d96df8417572a2afb781a7c4c811a85' - '5c665f72b8a2adc97a91f6db6f2da79a') -md5sums=('c6e53ef16fa347ed066c3d68fe93c378' - '04d8c179f125e04bcd4c9d60e013c2d7' - 'e5c16b7611f62c7cb25f0534eff68852' - '687586a108b597a2a6b73070c1d37e51' - '3dd50347d8856160a9cbd7f80383a1f8' - '148b285bccee9d21bb96db807363b962' - 'edea272dff4698470877c016d818918d') - -mksource() { - cd SDL-$pkgver - patch -Np0 -i ../libre.patch -} - -prepare() { - cd SDL-$pkgver - patch -Np1 -i ../sdl-1.2.14-fix-mouse-clicking.patch - patch -Np1 -i ../sdl-1.2.14-disable-mmx.patch - patch -Np1 -i ../fix_joystick_misc_axes.diff - patch -Np1 -i ../libsdl-1.2.15-resizing.patch - patch -Np0 -i ../sdl_x11sym.patch - patch -Np1 -i ../X11_KeyToUnicode.patch -} - -build() { - cd SDL-$pkgver - ./configure --prefix=/usr --disable-nasm --enable-alsa \ - --with-x --disable-rpath --disable-static - make -} - -package() { - cd SDL-$pkgver - make DESTDIR="$pkgdir" install -} diff --git a/libre/sdl-libre/X11_KeyToUnicode.patch b/libre/sdl-libre/X11_KeyToUnicode.patch deleted file mode 100644 index 5f0f325b1..000000000 --- a/libre/sdl-libre/X11_KeyToUnicode.patch +++ /dev/null @@ -1,52 +0,0 @@ - -# HG changeset patch -# User Sam Lantinga -# Date 1327258041 18000 -# Node ID 900a0fae90ca65cff55a70a17b9ec39d2ddccbcf -# Parent 5273dfd19a5e8c5736a0d417bd441f704c5355f8 -Fixed bug 1390 - X11_KeyToUnicode - -manuel.montezelo 2012-01-22 08:56:18 PST - -We had the following bug report at Debian: -http://bugs.debian.org/376560 - -Same one in Ubuntu: -https://bugs.launchpad.net/ubuntu/+source/libsdl1.2/+bug/66217 - -We've been including a patch since then (attached) to actually export the -symbol, since 2006. In the last release the function seems to be there, alive -and kicking. - -It's affecting other people too: -http://www.garagegames.com/community/forums/viewthread/52287 - -diff -r 5273dfd19a5e -r 900a0fae90ca src/video/x11/SDL_x11events.c ---- a/src/video/x11/SDL_x11events.c Sat Jan 21 12:06:51 2012 -0500 -+++ b/src/video/x11/SDL_x11events.c Sun Jan 22 13:47:21 2012 -0500 -@@ -1246,8 +1246,11 @@ - * sequences (dead accents, compose key sequences) will not work since the - * state has been irrevocably lost. - */ -+extern DECLSPEC Uint16 SDLCALL X11_KeyToUnicode(SDLKey, SDLMod); -+ - Uint16 X11_KeyToUnicode(SDLKey keysym, SDLMod modifiers) - { -+ static int warning = 0; - struct SDL_VideoDevice *this = current_video; - char keybuf[32]; - int i; -@@ -1255,6 +1258,12 @@ - XKeyEvent xkey; - Uint16 unicode; - -+ if ( warning ) { -+ warning = 0; -+ fprintf(stderr, "WARNING: Application is using X11_KeyToUnicode().\n"); -+ fprintf(stderr, "This is not an official SDL function, please report this as a bug.\n"); -+ } -+ - if ( !this || !SDL_Display ) { - return 0; - } - diff --git a/libre/sdl-libre/fix_joystick_misc_axes.diff b/libre/sdl-libre/fix_joystick_misc_axes.diff deleted file mode 100644 index 75e3755c9..000000000 --- a/libre/sdl-libre/fix_joystick_misc_axes.diff +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/joystick/linux/SDL_sysjoystick.c b/src/joystick/linux/SDL_sysjoystick.c -index ee43974..80e46e4 100644 ---- a/src/joystick/linux/SDL_sysjoystick.c -+++ b/src/joystick/linux/SDL_sysjoystick.c -@@ -702,7 +702,7 @@ static SDL_bool EV_ConfigJoystick(SDL_Joystick *joystick, int fd) - ++joystick->nbuttons; - } - } -- for ( i=0; iFifoFree >> 2; \ -- FifoFreeCount -= (cnt); \ --} --#endif /* __RIVA_HW_H__ */ -- ---- src/video/fbcon/SDL_fbriva.c 2012-01-19 04:30:06.000000000 -0200 -+++ src/video/fbcon/SDL_fbriva.c 2012-04-01 15:10:10.108451467 -0300 -@@ -24,12 +24,10 @@ - #include "SDL_video.h" - #include "../SDL_blit.h" - #include "SDL_fbriva.h" --#include "riva_mmio.h" - #include "riva_regs.h" - - - static int FifoEmptyCount = 0; --static int FifoFreeCount = 0; - - /* Wait for vertical retrace */ - static void WaitVBL(_THIS) -@@ -41,20 +39,6 @@ - while ( !(*port & 0x08) ) - ; - } --static void NV3WaitIdle(_THIS) --{ -- RivaRop *Rop = (RivaRop *)(mapped_io + ROP_OFFSET); -- while ( (Rop->FifoFree < FifoEmptyCount) || -- (*(mapped_io + PGRAPH_OFFSET + 0x000006B0) & 0x01) ) -- ; --} --static void NV4WaitIdle(_THIS) --{ -- RivaRop *Rop = (RivaRop *)(mapped_io + ROP_OFFSET); -- while ( (Rop->FifoFree < FifoEmptyCount) || -- (*(mapped_io + PGRAPH_OFFSET + 0x00000700) & 0x01) ) -- ; --} - - #if 0 /* Not yet implemented? */ - /* Sets video mem colorkey and accelerated blit function */ -@@ -74,7 +58,6 @@ - { - int dstX, dstY; - int dstW, dstH; -- RivaBitmap *Bitmap = (RivaBitmap *)(mapped_io + BITMAP_OFFSET); - - /* Don't blit to the display surface when switched away */ - if ( switched_away ) { -@@ -93,13 +76,6 @@ - dstX += rect->x; - dstY += rect->y; - -- RIVA_FIFO_FREE(Bitmap, 1); -- Bitmap->Color1A = color; -- -- RIVA_FIFO_FREE(Bitmap, 2); -- Bitmap->UnclippedRectangle[0].TopLeft = (dstX << 16) | dstY; -- Bitmap->UnclippedRectangle[0].WidthHeight = (dstW << 16) | dstH; -- - FB_AddBusySurface(dst); - - if ( dst == this->screen ) { -@@ -115,7 +91,6 @@ - int srcX, srcY; - int dstX, dstY; - int dstW, dstH; -- RivaScreenBlt *Blt = (RivaScreenBlt *)(mapped_io + BLT_OFFSET); - - /* FIXME: For now, only blit to display surface */ - if ( dst->pitch != SDL_VideoSurface->pitch ) { -@@ -142,11 +117,6 @@ - dstX += dstrect->x; - dstY += dstrect->y; - -- RIVA_FIFO_FREE(Blt, 3); -- Blt->TopLeftSrc = (srcY << 16) | srcX; -- Blt->TopLeftDst = (dstY << 16) | dstX; -- Blt->WidthHeight = (dstH << 16) | dstW; -- - FB_AddBusySurface(src); - FB_AddBusySurface(dst); - -@@ -185,23 +155,15 @@ - - void FB_RivaAccel(_THIS, __u32 card) - { -- RivaRop *Rop = (RivaRop *)(mapped_io + ROP_OFFSET); - - /* We have hardware accelerated surface functions */ - this->CheckHWBlit = CheckHWBlit; - wait_vbl = WaitVBL; - switch (card) { -- case FB_ACCEL_NV3: -- wait_idle = NV3WaitIdle; -- break; -- case FB_ACCEL_NV4: -- wait_idle = NV4WaitIdle; -- break; - default: - /* Hmm... FIXME */ - break; - } -- FifoEmptyCount = Rop->FifoFree; - - /* The Riva has an accelerated color fill */ - this->info.blit_fill = 1; ---- src/video/fbcon/SDL_fbvideo.c.orig 2011-09-08 17:30:03.670583685 +0200 -+++ src/video/fbcon/SDL_fbvideo.c 2011-09-08 17:30:24.230582737 +0200 -@@ -46,7 +46,6 @@ - #include "SDL_fbevents_c.h" - #include "SDL_fb3dfx.h" - #include "SDL_fbmatrox.h" --#include "SDL_fbriva.h" - - /*#define FBCON_DEBUG*/ - -@@ -769,13 +768,6 @@ - #endif - FB_3DfxAccel(this, finfo.accel); - break; -- case FB_ACCEL_NV3: -- case FB_ACCEL_NV4: --#ifdef FBACCEL_DEBUG -- printf("NVidia hardware accelerator!\n"); --#endif -- FB_RivaAccel(this, finfo.accel); -- break; - default: - #ifdef FBACCEL_DEBUG - printf("Unknown hardware accelerator.\n"); diff --git a/libre/sdl-libre/libsdl-1.2.15-resizing.patch b/libre/sdl-libre/libsdl-1.2.15-resizing.patch deleted file mode 100644 index 0655a13e1..000000000 --- a/libre/sdl-libre/libsdl-1.2.15-resizing.patch +++ /dev/null @@ -1,63 +0,0 @@ -Description: Revert change that breaks window corner resizing - http://bugzilla.libsdl.org/show_bug.cgi?id=1430 -Author: Andrew Caudwell -Last-Update: 2012-04-10 -Bug-Debian: http://bugs.debian.org/665779 - -diff -r c787fb1b5699 src/video/x11/SDL_x11events.c ---- a/src/video/x11/SDL_x11events.c Mon Feb 20 23:51:08 2012 -0500 -+++ b/src/video/x11/SDL_x11events.c Mon Mar 26 12:26:52 2012 +1300 -@@ -57,12 +57,6 @@ - static SDLKey MISC_keymap[256]; - SDLKey X11_TranslateKeycode(Display *display, KeyCode kc); - --/* -- Pending resize target for ConfigureNotify (so outdated events don't -- cause inappropriate resize events) --*/ --int X11_PendingConfigureNotifyWidth = -1; --int X11_PendingConfigureNotifyHeight = -1; - - #ifdef X_HAVE_UTF8_STRING - Uint32 Utf8ToUcs4(const Uint8 *utf8) -@@ -825,16 +819,6 @@ - #ifdef DEBUG_XEVENTS - printf("ConfigureNotify! (resize: %dx%d)\n", xevent.xconfigure.width, xevent.xconfigure.height); - #endif -- if ((X11_PendingConfigureNotifyWidth != -1) && -- (X11_PendingConfigureNotifyHeight != -1)) { -- if ((xevent.xconfigure.width != X11_PendingConfigureNotifyWidth) && -- (xevent.xconfigure.height != X11_PendingConfigureNotifyHeight)) { -- /* Event is from before the resize, so ignore. */ -- break; -- } -- X11_PendingConfigureNotifyWidth = -1; -- X11_PendingConfigureNotifyHeight = -1; -- } - if ( SDL_VideoSurface ) { - if ((xevent.xconfigure.width != SDL_VideoSurface->w) || - (xevent.xconfigure.height != SDL_VideoSurface->h)) { -diff -r c787fb1b5699 src/video/x11/SDL_x11events_c.h ---- a/src/video/x11/SDL_x11events_c.h Mon Feb 20 23:51:08 2012 -0500 -+++ b/src/video/x11/SDL_x11events_c.h Mon Mar 26 12:26:52 2012 +1300 -@@ -27,8 +27,3 @@ - extern void X11_InitOSKeymap(_THIS); - extern void X11_PumpEvents(_THIS); - extern void X11_SetKeyboardState(Display *display, const char *key_vec); -- --/* Variables to be exported */ --extern int X11_PendingConfigureNotifyWidth; --extern int X11_PendingConfigureNotifyHeight; -- -diff -r c787fb1b5699 src/video/x11/SDL_x11video.c ---- a/src/video/x11/SDL_x11video.c Mon Feb 20 23:51:08 2012 -0500 -+++ b/src/video/x11/SDL_x11video.c Mon Mar 26 12:26:52 2012 +1300 -@@ -1182,8 +1182,6 @@ - current = NULL; - goto done; - } -- X11_PendingConfigureNotifyWidth = width; -- X11_PendingConfigureNotifyHeight = height; - } else { - if (X11_CreateWindow(this,current,width,height,bpp,flags) < 0) { - current = NULL; diff --git a/libre/sdl-libre/sdl-1.2.14-disable-mmx.patch b/libre/sdl-libre/sdl-1.2.14-disable-mmx.patch deleted file mode 100644 index 1bb6e0e47..000000000 --- a/libre/sdl-libre/sdl-1.2.14-disable-mmx.patch +++ /dev/null @@ -1,13 +0,0 @@ -# and another one from FS#26020 - ---- a/src/video/SDL_yuv_sw.c 2009-10-13 06:07:15.000000000 +0700 -+++ b/src/video/SDL_yuv_sw.c 2011-09-20 19:26:30.247742620 +0700 -@@ -89,6 +89,8 @@ - #include "SDL_yuvfuncs.h" - #include "SDL_yuv_sw_c.h" - -+#undef __OPTIMIZE__ -+ - /* The functions used to manipulate software video overlays */ - static struct private_yuvhwfuncs sw_yuvfuncs = { - SDL_LockYUV_SW, diff --git a/libre/sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch b/libre/sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch deleted file mode 100644 index 7d3e5acfc..000000000 --- a/libre/sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- SDL-1.2.14/src/video/x11/SDL_x11events.c.orig 2010-04-08 11:57:05.003169834 -0700 -+++ SDL-1.2.14/src/video/x11/SDL_x11events.c 2010-04-08 12:33:51.690926340 -0700 -@@ -423,12 +423,15 @@ - if ( xevent.xcrossing.mode == NotifyUngrab ) - printf("Mode: NotifyUngrab\n"); - #endif -- if ( this->input_grab == SDL_GRAB_OFF ) { -- posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS); -+ if ( (xevent.xcrossing.mode != NotifyGrab) && -+ (xevent.xcrossing.mode != NotifyUngrab) ) { -+ if ( this->input_grab == SDL_GRAB_OFF ) { -+ posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS); -+ } -+ posted = SDL_PrivateMouseMotion(0, 0, -+ xevent.xcrossing.x, -+ xevent.xcrossing.y); - } -- posted = SDL_PrivateMouseMotion(0, 0, -- xevent.xcrossing.x, -- xevent.xcrossing.y); - } - break; - diff --git a/libre/sdl-libre/sdl_x11sym.patch b/libre/sdl-libre/sdl_x11sym.patch deleted file mode 100644 index 9aaa2353b..000000000 --- a/libre/sdl-libre/sdl_x11sym.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- src/video/x11/SDL_x11sym.h-orig 2013-07-16 23:56:46.718523385 -0600 -+++ src/video/x11/SDL_x11sym.h 2013-07-16 23:58:27.025186485 -0600 -@@ -165,7 +165,8 @@ - */ - #ifdef LONG64 - SDL_X11_MODULE(IO_32BIT) --SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return) -+ -+SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return) - SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),) - #endif - diff --git a/libre/sdl/PKGBUILD b/libre/sdl/PKGBUILD new file mode 100644 index 000000000..957598225 --- /dev/null +++ b/libre/sdl/PKGBUILD @@ -0,0 +1,67 @@ +# $Id: PKGBUILD 212210 2014-05-10 21:41:06Z heftig $ +# Maintainer (Arch): Jan Alexander Steffens (heftig) +# Contributor (Arch): Allan McRae +# Contributor (Arch): dorphell +# Maintainer: André Silva +# Maintainer: Márcio Silva +# Maintainer (Connochaetos): Henry Jensen + +pkgname=sdl +pkgver=1.2.15 +pkgrel=6.parabola1 +pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard, without nonfree riva_mmio.h file" +arch=('i686' 'x86_64' 'mips64el') +url="http://www.libsdl.org" +license=('LGPL') +conflicts=('sdl-libre') +replaces=('sdl-libre') +depends=('glibc' 'libxext' 'libxrender' 'libx11') +makedepends=('alsa-lib' 'mesa' 'libpulse' 'glu') +optdepends=('alsa-lib: ALSA audio driver' + 'libpulse: PulseAudio audio driver') +options=('staticlibs') +mksource=(http://www.libsdl.org/release/SDL-${pkgver}.tar.gz + libre.patch) +source=(https://repo.parabolagnulinux.org/other/${pkgname}-libre/SDL-libre-${pkgver}.tar.gz + sdl-1.2.14-fix-mouse-clicking.patch + sdl-1.2.14-disable-mmx.patch + fix_joystick_misc_axes.diff + libsdl-1.2.15-resizing.patch + sdl_x11sym.patch + X11_KeyToUnicode.patch) +mkmd5sums=('9d96df8417572a2afb781a7c4c811a85' + '5c665f72b8a2adc97a91f6db6f2da79a') +md5sums=('c6e53ef16fa347ed066c3d68fe93c378' + '04d8c179f125e04bcd4c9d60e013c2d7' + 'e5c16b7611f62c7cb25f0534eff68852' + '687586a108b597a2a6b73070c1d37e51' + '3dd50347d8856160a9cbd7f80383a1f8' + '148b285bccee9d21bb96db807363b962' + 'edea272dff4698470877c016d818918d') + +mksource() { + cd SDL-$pkgver + patch -Np0 -i ../libre.patch +} + +prepare() { + cd SDL-$pkgver + patch -Np1 -i ../sdl-1.2.14-fix-mouse-clicking.patch + patch -Np1 -i ../sdl-1.2.14-disable-mmx.patch + patch -Np1 -i ../fix_joystick_misc_axes.diff + patch -Np1 -i ../libsdl-1.2.15-resizing.patch + patch -Np0 -i ../sdl_x11sym.patch + patch -Np1 -i ../X11_KeyToUnicode.patch +} + +build() { + cd SDL-$pkgver + ./configure --prefix=/usr --disable-nasm --enable-alsa \ + --with-x --disable-rpath --disable-static + make +} + +package() { + cd SDL-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/libre/sdl/X11_KeyToUnicode.patch b/libre/sdl/X11_KeyToUnicode.patch new file mode 100644 index 000000000..5f0f325b1 --- /dev/null +++ b/libre/sdl/X11_KeyToUnicode.patch @@ -0,0 +1,52 @@ + +# HG changeset patch +# User Sam Lantinga +# Date 1327258041 18000 +# Node ID 900a0fae90ca65cff55a70a17b9ec39d2ddccbcf +# Parent 5273dfd19a5e8c5736a0d417bd441f704c5355f8 +Fixed bug 1390 - X11_KeyToUnicode + +manuel.montezelo 2012-01-22 08:56:18 PST + +We had the following bug report at Debian: +http://bugs.debian.org/376560 + +Same one in Ubuntu: +https://bugs.launchpad.net/ubuntu/+source/libsdl1.2/+bug/66217 + +We've been including a patch since then (attached) to actually export the +symbol, since 2006. In the last release the function seems to be there, alive +and kicking. + +It's affecting other people too: +http://www.garagegames.com/community/forums/viewthread/52287 + +diff -r 5273dfd19a5e -r 900a0fae90ca src/video/x11/SDL_x11events.c +--- a/src/video/x11/SDL_x11events.c Sat Jan 21 12:06:51 2012 -0500 ++++ b/src/video/x11/SDL_x11events.c Sun Jan 22 13:47:21 2012 -0500 +@@ -1246,8 +1246,11 @@ + * sequences (dead accents, compose key sequences) will not work since the + * state has been irrevocably lost. + */ ++extern DECLSPEC Uint16 SDLCALL X11_KeyToUnicode(SDLKey, SDLMod); ++ + Uint16 X11_KeyToUnicode(SDLKey keysym, SDLMod modifiers) + { ++ static int warning = 0; + struct SDL_VideoDevice *this = current_video; + char keybuf[32]; + int i; +@@ -1255,6 +1258,12 @@ + XKeyEvent xkey; + Uint16 unicode; + ++ if ( warning ) { ++ warning = 0; ++ fprintf(stderr, "WARNING: Application is using X11_KeyToUnicode().\n"); ++ fprintf(stderr, "This is not an official SDL function, please report this as a bug.\n"); ++ } ++ + if ( !this || !SDL_Display ) { + return 0; + } + diff --git a/libre/sdl/fix_joystick_misc_axes.diff b/libre/sdl/fix_joystick_misc_axes.diff new file mode 100644 index 000000000..75e3755c9 --- /dev/null +++ b/libre/sdl/fix_joystick_misc_axes.diff @@ -0,0 +1,13 @@ +diff --git a/src/joystick/linux/SDL_sysjoystick.c b/src/joystick/linux/SDL_sysjoystick.c +index ee43974..80e46e4 100644 +--- a/src/joystick/linux/SDL_sysjoystick.c ++++ b/src/joystick/linux/SDL_sysjoystick.c +@@ -702,7 +702,7 @@ static SDL_bool EV_ConfigJoystick(SDL_Joystick *joystick, int fd) + ++joystick->nbuttons; + } + } +- for ( i=0; iFifoFree >> 2; \ +- FifoFreeCount -= (cnt); \ +-} +-#endif /* __RIVA_HW_H__ */ +- +--- src/video/fbcon/SDL_fbriva.c 2012-01-19 04:30:06.000000000 -0200 ++++ src/video/fbcon/SDL_fbriva.c 2012-04-01 15:10:10.108451467 -0300 +@@ -24,12 +24,10 @@ + #include "SDL_video.h" + #include "../SDL_blit.h" + #include "SDL_fbriva.h" +-#include "riva_mmio.h" + #include "riva_regs.h" + + + static int FifoEmptyCount = 0; +-static int FifoFreeCount = 0; + + /* Wait for vertical retrace */ + static void WaitVBL(_THIS) +@@ -41,20 +39,6 @@ + while ( !(*port & 0x08) ) + ; + } +-static void NV3WaitIdle(_THIS) +-{ +- RivaRop *Rop = (RivaRop *)(mapped_io + ROP_OFFSET); +- while ( (Rop->FifoFree < FifoEmptyCount) || +- (*(mapped_io + PGRAPH_OFFSET + 0x000006B0) & 0x01) ) +- ; +-} +-static void NV4WaitIdle(_THIS) +-{ +- RivaRop *Rop = (RivaRop *)(mapped_io + ROP_OFFSET); +- while ( (Rop->FifoFree < FifoEmptyCount) || +- (*(mapped_io + PGRAPH_OFFSET + 0x00000700) & 0x01) ) +- ; +-} + + #if 0 /* Not yet implemented? */ + /* Sets video mem colorkey and accelerated blit function */ +@@ -74,7 +58,6 @@ + { + int dstX, dstY; + int dstW, dstH; +- RivaBitmap *Bitmap = (RivaBitmap *)(mapped_io + BITMAP_OFFSET); + + /* Don't blit to the display surface when switched away */ + if ( switched_away ) { +@@ -93,13 +76,6 @@ + dstX += rect->x; + dstY += rect->y; + +- RIVA_FIFO_FREE(Bitmap, 1); +- Bitmap->Color1A = color; +- +- RIVA_FIFO_FREE(Bitmap, 2); +- Bitmap->UnclippedRectangle[0].TopLeft = (dstX << 16) | dstY; +- Bitmap->UnclippedRectangle[0].WidthHeight = (dstW << 16) | dstH; +- + FB_AddBusySurface(dst); + + if ( dst == this->screen ) { +@@ -115,7 +91,6 @@ + int srcX, srcY; + int dstX, dstY; + int dstW, dstH; +- RivaScreenBlt *Blt = (RivaScreenBlt *)(mapped_io + BLT_OFFSET); + + /* FIXME: For now, only blit to display surface */ + if ( dst->pitch != SDL_VideoSurface->pitch ) { +@@ -142,11 +117,6 @@ + dstX += dstrect->x; + dstY += dstrect->y; + +- RIVA_FIFO_FREE(Blt, 3); +- Blt->TopLeftSrc = (srcY << 16) | srcX; +- Blt->TopLeftDst = (dstY << 16) | dstX; +- Blt->WidthHeight = (dstH << 16) | dstW; +- + FB_AddBusySurface(src); + FB_AddBusySurface(dst); + +@@ -185,23 +155,15 @@ + + void FB_RivaAccel(_THIS, __u32 card) + { +- RivaRop *Rop = (RivaRop *)(mapped_io + ROP_OFFSET); + + /* We have hardware accelerated surface functions */ + this->CheckHWBlit = CheckHWBlit; + wait_vbl = WaitVBL; + switch (card) { +- case FB_ACCEL_NV3: +- wait_idle = NV3WaitIdle; +- break; +- case FB_ACCEL_NV4: +- wait_idle = NV4WaitIdle; +- break; + default: + /* Hmm... FIXME */ + break; + } +- FifoEmptyCount = Rop->FifoFree; + + /* The Riva has an accelerated color fill */ + this->info.blit_fill = 1; +--- src/video/fbcon/SDL_fbvideo.c.orig 2011-09-08 17:30:03.670583685 +0200 ++++ src/video/fbcon/SDL_fbvideo.c 2011-09-08 17:30:24.230582737 +0200 +@@ -46,7 +46,6 @@ + #include "SDL_fbevents_c.h" + #include "SDL_fb3dfx.h" + #include "SDL_fbmatrox.h" +-#include "SDL_fbriva.h" + + /*#define FBCON_DEBUG*/ + +@@ -769,13 +768,6 @@ + #endif + FB_3DfxAccel(this, finfo.accel); + break; +- case FB_ACCEL_NV3: +- case FB_ACCEL_NV4: +-#ifdef FBACCEL_DEBUG +- printf("NVidia hardware accelerator!\n"); +-#endif +- FB_RivaAccel(this, finfo.accel); +- break; + default: + #ifdef FBACCEL_DEBUG + printf("Unknown hardware accelerator.\n"); diff --git a/libre/sdl/libsdl-1.2.15-resizing.patch b/libre/sdl/libsdl-1.2.15-resizing.patch new file mode 100644 index 000000000..0655a13e1 --- /dev/null +++ b/libre/sdl/libsdl-1.2.15-resizing.patch @@ -0,0 +1,63 @@ +Description: Revert change that breaks window corner resizing + http://bugzilla.libsdl.org/show_bug.cgi?id=1430 +Author: Andrew Caudwell +Last-Update: 2012-04-10 +Bug-Debian: http://bugs.debian.org/665779 + +diff -r c787fb1b5699 src/video/x11/SDL_x11events.c +--- a/src/video/x11/SDL_x11events.c Mon Feb 20 23:51:08 2012 -0500 ++++ b/src/video/x11/SDL_x11events.c Mon Mar 26 12:26:52 2012 +1300 +@@ -57,12 +57,6 @@ + static SDLKey MISC_keymap[256]; + SDLKey X11_TranslateKeycode(Display *display, KeyCode kc); + +-/* +- Pending resize target for ConfigureNotify (so outdated events don't +- cause inappropriate resize events) +-*/ +-int X11_PendingConfigureNotifyWidth = -1; +-int X11_PendingConfigureNotifyHeight = -1; + + #ifdef X_HAVE_UTF8_STRING + Uint32 Utf8ToUcs4(const Uint8 *utf8) +@@ -825,16 +819,6 @@ + #ifdef DEBUG_XEVENTS + printf("ConfigureNotify! (resize: %dx%d)\n", xevent.xconfigure.width, xevent.xconfigure.height); + #endif +- if ((X11_PendingConfigureNotifyWidth != -1) && +- (X11_PendingConfigureNotifyHeight != -1)) { +- if ((xevent.xconfigure.width != X11_PendingConfigureNotifyWidth) && +- (xevent.xconfigure.height != X11_PendingConfigureNotifyHeight)) { +- /* Event is from before the resize, so ignore. */ +- break; +- } +- X11_PendingConfigureNotifyWidth = -1; +- X11_PendingConfigureNotifyHeight = -1; +- } + if ( SDL_VideoSurface ) { + if ((xevent.xconfigure.width != SDL_VideoSurface->w) || + (xevent.xconfigure.height != SDL_VideoSurface->h)) { +diff -r c787fb1b5699 src/video/x11/SDL_x11events_c.h +--- a/src/video/x11/SDL_x11events_c.h Mon Feb 20 23:51:08 2012 -0500 ++++ b/src/video/x11/SDL_x11events_c.h Mon Mar 26 12:26:52 2012 +1300 +@@ -27,8 +27,3 @@ + extern void X11_InitOSKeymap(_THIS); + extern void X11_PumpEvents(_THIS); + extern void X11_SetKeyboardState(Display *display, const char *key_vec); +- +-/* Variables to be exported */ +-extern int X11_PendingConfigureNotifyWidth; +-extern int X11_PendingConfigureNotifyHeight; +- +diff -r c787fb1b5699 src/video/x11/SDL_x11video.c +--- a/src/video/x11/SDL_x11video.c Mon Feb 20 23:51:08 2012 -0500 ++++ b/src/video/x11/SDL_x11video.c Mon Mar 26 12:26:52 2012 +1300 +@@ -1182,8 +1182,6 @@ + current = NULL; + goto done; + } +- X11_PendingConfigureNotifyWidth = width; +- X11_PendingConfigureNotifyHeight = height; + } else { + if (X11_CreateWindow(this,current,width,height,bpp,flags) < 0) { + current = NULL; diff --git a/libre/sdl/sdl-1.2.14-disable-mmx.patch b/libre/sdl/sdl-1.2.14-disable-mmx.patch new file mode 100644 index 000000000..1bb6e0e47 --- /dev/null +++ b/libre/sdl/sdl-1.2.14-disable-mmx.patch @@ -0,0 +1,13 @@ +# and another one from FS#26020 + +--- a/src/video/SDL_yuv_sw.c 2009-10-13 06:07:15.000000000 +0700 ++++ b/src/video/SDL_yuv_sw.c 2011-09-20 19:26:30.247742620 +0700 +@@ -89,6 +89,8 @@ + #include "SDL_yuvfuncs.h" + #include "SDL_yuv_sw_c.h" + ++#undef __OPTIMIZE__ ++ + /* The functions used to manipulate software video overlays */ + static struct private_yuvhwfuncs sw_yuvfuncs = { + SDL_LockYUV_SW, diff --git a/libre/sdl/sdl-1.2.14-fix-mouse-clicking.patch b/libre/sdl/sdl-1.2.14-fix-mouse-clicking.patch new file mode 100644 index 000000000..7d3e5acfc --- /dev/null +++ b/libre/sdl/sdl-1.2.14-fix-mouse-clicking.patch @@ -0,0 +1,23 @@ +--- SDL-1.2.14/src/video/x11/SDL_x11events.c.orig 2010-04-08 11:57:05.003169834 -0700 ++++ SDL-1.2.14/src/video/x11/SDL_x11events.c 2010-04-08 12:33:51.690926340 -0700 +@@ -423,12 +423,15 @@ + if ( xevent.xcrossing.mode == NotifyUngrab ) + printf("Mode: NotifyUngrab\n"); + #endif +- if ( this->input_grab == SDL_GRAB_OFF ) { +- posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS); ++ if ( (xevent.xcrossing.mode != NotifyGrab) && ++ (xevent.xcrossing.mode != NotifyUngrab) ) { ++ if ( this->input_grab == SDL_GRAB_OFF ) { ++ posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS); ++ } ++ posted = SDL_PrivateMouseMotion(0, 0, ++ xevent.xcrossing.x, ++ xevent.xcrossing.y); + } +- posted = SDL_PrivateMouseMotion(0, 0, +- xevent.xcrossing.x, +- xevent.xcrossing.y); + } + break; + diff --git a/libre/sdl/sdl_x11sym.patch b/libre/sdl/sdl_x11sym.patch new file mode 100644 index 000000000..9aaa2353b --- /dev/null +++ b/libre/sdl/sdl_x11sym.patch @@ -0,0 +1,12 @@ +--- src/video/x11/SDL_x11sym.h-orig 2013-07-16 23:56:46.718523385 -0600 ++++ src/video/x11/SDL_x11sym.h 2013-07-16 23:58:27.025186485 -0600 +@@ -165,7 +165,8 @@ + */ + #ifdef LONG64 + SDL_X11_MODULE(IO_32BIT) +-SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return) ++ ++SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return) + SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),) + #endif + -- cgit v1.2.3 From f0d435b2b7ece4750734fff37c2d6c46e69b5b37 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 2 Sep 2014 19:01:58 -0300 Subject: debootstrap-1.0.60-1.parabola1: updating version, remove libre suffix and add complex pkgrel --- pcr/debootstrap-libre/PKGBUILD | 68 ---------- pcr/debootstrap-libre/debootstrap.8.gz | Bin 2580 -> 0 bytes pcr/debootstrap-libre/debootstrap.install | 14 --- pcr/debootstrap-libre/gnewsense | 194 ----------------------------- pcr/debootstrap-libre/trisquel | 199 ------------------------------ pcr/debootstrap/PKGBUILD | 66 ++++++++++ pcr/debootstrap/debootstrap.8.gz | Bin 0 -> 2580 bytes pcr/debootstrap/debootstrap.install | 14 +++ pcr/debootstrap/gnewsense | 194 +++++++++++++++++++++++++++++ pcr/debootstrap/trisquel | 199 ++++++++++++++++++++++++++++++ 10 files changed, 473 insertions(+), 475 deletions(-) delete mode 100644 pcr/debootstrap-libre/PKGBUILD delete mode 100644 pcr/debootstrap-libre/debootstrap.8.gz delete mode 100644 pcr/debootstrap-libre/debootstrap.install delete mode 100644 pcr/debootstrap-libre/gnewsense delete mode 100644 pcr/debootstrap-libre/trisquel create mode 100644 pcr/debootstrap/PKGBUILD create mode 100644 pcr/debootstrap/debootstrap.8.gz create mode 100644 pcr/debootstrap/debootstrap.install create mode 100644 pcr/debootstrap/gnewsense create mode 100644 pcr/debootstrap/trisquel diff --git a/pcr/debootstrap-libre/PKGBUILD b/pcr/debootstrap-libre/PKGBUILD deleted file mode 100644 index 6b8d08730..000000000 --- a/pcr/debootstrap-libre/PKGBUILD +++ /dev/null @@ -1,68 +0,0 @@ -# Maintainer: André Silva - -_pkgname=debootstrap -pkgname=debootstrap-libre -pkgver=1.0.59 -pkgrel=1 -pkgdesc="A tool used to create a gNewSense or Trisquel base system from scratch, without requiring the availability of dpkg or apt (Debian support removed)" -arch=('any') -license=('MIT') -url="http://packages.debian.org/sid/debootstrap" -depends=('wget') -replaces=($_pkgname) -conflicts=($_pkgname) -provides=($_pkgname=$pkgver) -source=("http://ftp.debian.org/debian/pool/main/d/${_pkgname}/${_pkgname}_${pkgver}_all.deb" - "${_pkgname}.8.gz" - 'gnewsense' - 'trisquel') -install="debootstrap.install" -md5sums=('16d5acf9a2676692a57b662975b70170' - 'b565d089342b8a7ee35166b5d90825c7' - '13978bdd1d877a0dd2c3c874ecd54f03' - 'b020aa8426e70a6024c8e76312c17d78') - -package(){ - tar -xJf "${srcdir}/data.tar.xz" -C "${pkgdir}/" - # remove Debian files - rm -v "${pkgdir}/usr/share/doc/debootstrap"/{README,changelog.gz} - rm -v "${pkgdir}/usr/share/man/man8/debootstrap.8.gz" - # remove Debian scripts - rm -v "${pkgdir}/usr/share/debootstrap/scripts"/* - # move the executables to /usr/bin - mkdir -p ${pkgdir}/usr/bin - mv "${pkgdir}/usr/sbin"/* "${pkgdir}/usr/bin/" - rmdir "${pkgdir}/usr/sbin" - # patch the path to use gNewSense or Trisquel defaults (prevents error in chrooted environment) - sed -i 's|export PATH|export PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/java/jre/bin:/usr/bin/vendor_perl:/usr/bin/core_perl"|' ${pkgdir}/usr/bin/debootstrap - # doesn't work with gpg 2.x, patch to point to gpg1v - sed 's/gpgv/gpg1v/g;' -i "${pkgdir}/usr/bin/debootstrap" "${pkgdir}/usr/share/debootstrap/functions" - - # add rebranded man - install -m644 ${_pkgname}.8.gz "${pkgdir}/usr/share/man/man8" - - # move license to licenses folder - install -Dm644 "${pkgdir}/usr/share/doc/debootstrap/copyright" \ - "${pkgdir}/usr/share/licenses/${_pkgname}/LICENSE" - rm -rv "${pkgdir}/usr/share/doc" - - # add gNewSense script - install -m644 gnewsense "$pkgdir/usr/share/debootstrap/scripts" - - # create gNewSense symlinks - ln -s gnewsense "$pkgdir/usr/share/debootstrap/scripts/parkes" - - # add Trisquel script - install -m644 trisquel "$pkgdir/usr/share/debootstrap/scripts" - - # create Trisquel symlinks - ln -s trisquel "$pkgdir/usr/share/debootstrap/scripts/awen" - ln -s trisquel "$pkgdir/usr/share/debootstrap/scripts/belenos" - ln -s trisquel "$pkgdir/usr/share/debootstrap/scripts/brigantia" - ln -s trisquel "$pkgdir/usr/share/debootstrap/scripts/dagda" - ln -s trisquel "$pkgdir/usr/share/debootstrap/scripts/dwyn" - ln -s trisquel "$pkgdir/usr/share/debootstrap/scripts/robur" - ln -s trisquel "$pkgdir/usr/share/debootstrap/scripts/slaine" - ln -s trisquel "$pkgdir/usr/share/debootstrap/scripts/taranis" - ln -s trisquel "$pkgdir/usr/share/debootstrap/scripts/toutatis" -} diff --git a/pcr/debootstrap-libre/debootstrap.8.gz b/pcr/debootstrap-libre/debootstrap.8.gz deleted file mode 100644 index 07ec4808c..000000000 Binary files a/pcr/debootstrap-libre/debootstrap.8.gz and /dev/null differ diff --git a/pcr/debootstrap-libre/debootstrap.install b/pcr/debootstrap-libre/debootstrap.install deleted file mode 100644 index 3da2f1d22..000000000 --- a/pcr/debootstrap-libre/debootstrap.install +++ /dev/null @@ -1,14 +0,0 @@ -post_install() { - if [ "$(uname -m)" = "x86_64" ]; then - darch="amd64" - elif [ "$(uname -m)" = "i686" ]; then - darch="i386" - else - darch="mips64el" - fi - echo "$darch" > /usr/share/debootstrap/arch -} - -pre_remove() { - rm -f /usr/share/debootstrap/arch -} diff --git a/pcr/debootstrap-libre/gnewsense b/pcr/debootstrap-libre/gnewsense deleted file mode 100644 index 884ac88a0..000000000 --- a/pcr/debootstrap-libre/gnewsense +++ /dev/null @@ -1,194 +0,0 @@ -default_mirror http://archive.gnewsense.org/gnewsense-three/gnewsense -mirror_style release -download_style apt -finddebs_style from-indices -variants - buildd fakechroot minbase scratchbox - -if doing_variant fakechroot; then - test "$FAKECHROOT" = "true" || error 1 FAKECHROOTREQ "This variant requires fakechroot environment to be started" -fi - -case $ARCH in - alpha|ia64) LIBC="libc6.1" ;; - kfreebsd-*) LIBC="libc0.1" ;; - hurd-*) LIBC="libc0.3" ;; - *) LIBC="libc6" ;; -esac - -work_out_debs () { - required="$(get_debs Priority: required)" - - if doing_variant - || doing_variant fakechroot; then - #required="$required $(get_debs Priority: important)" - # ^^ should be getting debconf here somehow maybe - base="$(get_debs Priority: important)" - elif doing_variant buildd || doing_variant scratchbox; then - base="apt $(get_debs Build-Essential: yes)" - elif doing_variant minbase; then - base="apt" - fi - - if doing_variant fakechroot; then - # ldd.fake needs binutils - required="$required binutils" - fi -} - -first_stage_install () { - extract $required - - mkdir -p "$TARGET/var/lib/dpkg" - : >"$TARGET/var/lib/dpkg/status" - : >"$TARGET/var/lib/dpkg/available" - - setup_etc - if [ ! -e "$TARGET/etc/fstab" ]; then - echo '# UNCONFIGURED FSTAB FOR BASE SYSTEM' > "$TARGET/etc/fstab" - chown 0:0 "$TARGET/etc/fstab"; chmod 644 "$TARGET/etc/fstab" - fi - - if doing_variant fakechroot; then - setup_devices_fakechroot - else - setup_devices - fi - - x_feign_install () { - local pkg="$1" - local deb="$(debfor $pkg)" - local ver="$(extract_deb_field "$TARGET/$deb" Version)" - - mkdir -p "$TARGET/var/lib/dpkg/info" - - echo \ -"Package: $pkg -Version: $ver -Status: install ok installed" >> "$TARGET/var/lib/dpkg/status" - - touch "$TARGET/var/lib/dpkg/info/${pkg}.list" - } - - x_feign_install dpkg -} - -second_stage_install () { - x_core_install () { - smallyes '' | in_target dpkg --force-depends --install $(debfor "$@") - } - - p () { - baseprog="$(($baseprog + ${1:-1}))" - } - - if doing_variant fakechroot; then - setup_proc_fakechroot - elif doing_variant scratchbox; then - true - else - setup_proc - in_target /sbin/ldconfig - fi - - DEBIAN_FRONTEND=noninteractive - DEBCONF_NONINTERACTIVE_SEEN=true - export DEBIAN_FRONTEND DEBCONF_NONINTERACTIVE_SEEN - - baseprog=0 - bases=7 - - p; progress $baseprog $bases INSTCORE "Installing core packages" #1 - info INSTCORE "Installing core packages..." - - p; progress $baseprog $bases INSTCORE "Installing core packages" #2 - ln -sf mawk "$TARGET/usr/bin/awk" - x_core_install base-files base-passwd - p; progress $baseprog $bases INSTCORE "Installing core packages" #3 - x_core_install dpkg - - if [ ! -e "$TARGET/etc/localtime" ]; then - ln -sf /usr/share/zoneinfo/UTC "$TARGET/etc/localtime" - fi - - if doing_variant fakechroot; then - install_fakechroot_tools - fi - - p; progress $baseprog $bases INSTCORE "Installing core packages" #4 - x_core_install $LIBC - - p; progress $baseprog $bases INSTCORE "Installing core packages" #5 - x_core_install perl-base - - p; progress $baseprog $bases INSTCORE "Installing core packages" #6 - rm "$TARGET/usr/bin/awk" - x_core_install mawk - - p; progress $baseprog $bases INSTCORE "Installing core packages" #7 - if doing_variant -; then - x_core_install debconf - fi - - baseprog=0 - bases=$(set -- $required; echo $#) - - info UNPACKREQ "Unpacking required packages..." - - exec 7>&1 - - smallyes '' | - (repeatn 5 in_target_failmsg UNPACK_REQ_FAIL_FIVE "Failure while unpacking required packages. This will be attempted up to five times." "" \ - dpkg --status-fd 8 --force-depends --unpack $(debfor $required) 8>&1 1>&7 || echo EXITCODE $?) | - dpkg_progress $baseprog $bases UNPACKREQ "Unpacking required packages" UNPACKING - - info CONFREQ "Configuring required packages..." - - mv "$TARGET/sbin/start-stop-daemon" "$TARGET/sbin/start-stop-daemon.REAL" - echo \ -"#!/bin/sh -echo -echo \"Warning: Fake start-stop-daemon called, doing nothing\"" > "$TARGET/sbin/start-stop-daemon" - chmod 755 "$TARGET/sbin/start-stop-daemon" - - setup_dselect_method apt - - smallyes '' | - (in_target_failmsg CONF_REQ_FAIL "Failure while configuring required packages." "" \ - dpkg --status-fd 8 --configure --pending --force-configure-any --force-depends 8>&1 1>&7 || echo EXITCODE $?) | - dpkg_progress $baseprog $bases CONFREQ "Configuring required packages" CONFIGURING - - baseprog=0 - bases="$(set -- $base; echo $#)" - - info UNPACKBASE "Unpacking the base system..." - - setup_available $required $base - done_predeps= - while predep=$(get_next_predep); do - # We have to resolve dependencies of pre-dependencies manually because - # dpkg --predep-package doesn't handle this. - predep=$(without "$(without "$(resolve_deps $predep)" "$required")" "$done_predeps") - # XXX: progress is tricky due to how dpkg_progress works - # -- cjwatson 2009-07-29 - p; smallyes '' | - in_target dpkg --force-overwrite --force-confold --skip-same-version --install $(debfor $predep) - base=$(without "$base" "$predep") - done_predeps="$done_predeps $predep" - done - - smallyes '' | - (repeatn 5 in_target_failmsg INST_BASE_FAIL_FIVE "Failure while installing base packages. This will be re-attempted up to five times." "" \ - dpkg --status-fd 8 --force-overwrite --force-confold --skip-same-version --unpack $(debfor $base) 8>&1 1>&7 || echo EXITCODE $?) | - dpkg_progress $baseprog $bases UNPACKBASE "Unpacking base system" UNPACKING - - info CONFBASE "Configuring the base system..." - - smallyes '' | - (repeatn 5 in_target_failmsg CONF_BASE_FAIL_FIVE "Failure while configuring base packages. This will be re-attempted up to five times." "" \ - dpkg --status-fd 8 --force-confold --skip-same-version --configure -a 8>&1 1>&7 || echo EXITCODE $?) | - dpkg_progress $baseprog $bases CONFBASE "Configuring base system" CONFIGURING - - mv "$TARGET/sbin/start-stop-daemon.REAL" "$TARGET/sbin/start-stop-daemon" - - progress $bases $bases CONFBASE "Configuring base system" - info BASESUCCESS "Base system installed successfully." -} diff --git a/pcr/debootstrap-libre/trisquel b/pcr/debootstrap-libre/trisquel deleted file mode 100644 index 7efa062f9..000000000 --- a/pcr/debootstrap-libre/trisquel +++ /dev/null @@ -1,199 +0,0 @@ -default_mirror http://archive.trisquel.info/trisquel -mirror_style release -download_style apt -finddebs_style from-indices -variants - buildd fakechroot minbase - -if doing_variant fakechroot; then - test "$FAKECHROOT" = "true" || error 1 FAKECHROOTREQ "This variant requires fakechroot environment to be started" -fi - -case $ARCH in - alpha|ia64) LIBC="libc6.1" ;; - *) LIBC="libc6" ;; -esac - -work_out_debs () { - required="$(get_debs Priority: required)" - - if doing_variant -; then - #required="$required $(get_debs Priority: important)" - # ^^ should be getting debconf here somehow maybe - base="$(get_debs Priority: important)" - elif doing_variant buildd; then - base="$(get_debs Build-Essential: yes)" - elif doing_variant fakechroot || doing_variant minbase; then - base="apt" - fi -} - -first_stage_install () { - extract $required - - mkdir -p "$TARGET/var/lib/dpkg" - : >"$TARGET/var/lib/dpkg/status" - : >"$TARGET/var/lib/dpkg/available" - - setup_etc - if [ ! -e "$TARGET/etc/fstab" ]; then - echo '# UNCONFIGURED FSTAB FOR BASE SYSTEM' > "$TARGET/etc/fstab" - chown 0:0 "$TARGET/etc/fstab"; chmod 644 "$TARGET/etc/fstab" - fi - - if doing_variant fakechroot; then - setup_devices_fakechroot - else - setup_devices - fi - - x_feign_install () { - local pkg="$1" - local deb="$(debfor $pkg)" - local ver="$(extract_deb_field "$TARGET/$deb" Version)" - - mkdir -p "$TARGET/var/lib/dpkg/info" - - echo \ -"Package: $pkg -Version: $ver -Status: install ok installed" >> "$TARGET/var/lib/dpkg/status" - - touch "$TARGET/var/lib/dpkg/info/${pkg}.list" - } - - x_feign_install dpkg -} - -second_stage_install () { - x_core_install () { - smallyes '' | in_target dpkg --force-depends --install $(debfor "$@") - } - - p () { - baseprog="$(($baseprog + ${1:-1}))" - } - - if doing_variant fakechroot; then - setup_proc_fakechroot - else - setup_proc - in_target /sbin/ldconfig - fi - - DEBIAN_FRONTEND=noninteractive - DEBCONF_NONINTERACTIVE_SEEN=true - export DEBIAN_FRONTEND DEBCONF_NONINTERACTIVE_SEEN - - baseprog=0 - bases=7 - - p; progress $baseprog $bases INSTCORE "Installing core packages" #1 - info INSTCORE "Installing core packages..." - - p; progress $baseprog $bases INSTCORE "Installing core packages" #2 - ln -sf mawk "$TARGET/usr/bin/awk" - x_core_install base-files base-passwd - p; progress $baseprog $bases INSTCORE "Installing core packages" #3 - x_core_install dpkg - - if [ ! -e "$TARGET/etc/localtime" ]; then - ln -sf /usr/share/zoneinfo/Etc/UTC "$TARGET/etc/localtime" - fi - - if doing_variant fakechroot; then - install_fakechroot_tools - fi - - p; progress $baseprog $bases INSTCORE "Installing core packages" #4 - x_core_install $LIBC - - p; progress $baseprog $bases INSTCORE "Installing core packages" #5 - x_core_install perl-base - - p; progress $baseprog $bases INSTCORE "Installing core packages" #6 - rm "$TARGET/usr/bin/awk" - x_core_install mawk - - p; progress $baseprog $bases INSTCORE "Installing core packages" #7 - if doing_variant -; then - x_core_install debconf - fi - - baseprog=0 - bases=$(set -- $required; echo $#) - - info UNPACKREQ "Unpacking required packages..." - - smallyes '' | - (repeatn 5 in_target_failmsg UNPACK_REQ_FAIL_FIVE "Failure while unpacking required packages. This will be attempted up to five times." "" \ - dpkg --status-fd 8 --force-depends --unpack $(debfor $required) 8>&1 1>&7 | - dpkg_progress $baseprog $bases UNPACKREQ "Unpacking required packages" UNPACKING) 7>&1 - - info CONFREQ "Configuring required packages..." - - if doing_variant fakechroot; then - # fix initscripts postinst (no mounting possible, and wrong if condition) - sed -i '/dpkg.*--compare-versions/ s/\/lt-nl/' "$TARGET/var/lib/dpkg/info/initscripts.postinst" - fi - - mv "$TARGET/sbin/start-stop-daemon" "$TARGET/sbin/start-stop-daemon.REAL" - echo \ -"#!/bin/sh -echo -echo \"Warning: Fake start-stop-daemon called, doing nothing\"" > "$TARGET/sbin/start-stop-daemon" - chmod 755 "$TARGET/sbin/start-stop-daemon" - - if [ -x "$TARGET/sbin/initctl" ]; then - mv "$TARGET/sbin/initctl" "$TARGET/sbin/initctl.REAL" - echo \ -"#!/bin/sh -echo -echo \"Warning: Fake initctl called, doing nothing\"" > "$TARGET/sbin/initctl" - chmod 755 "$TARGET/sbin/initctl" - fi - - setup_dselect_method apt - - smallyes '' | - (in_target_failmsg CONF_REQ_FAIL "Failure while configuring required packages." "" \ - dpkg --status-fd 8 --configure --pending --force-configure-any --force-depends 8>&1 1>&7 | - dpkg_progress $baseprog $bases CONFREQ "Configuring required packages" CONFIGURING) 7>&1 - - baseprog=0 - bases="$(set -- $base; echo $#)" - - info UNPACKBASE "Unpacking the base system..." - - setup_available $required $base - done_predeps= - while predep=$(get_next_predep); do - # We have to resolve dependencies of pre-dependencies manually because - # dpkg --predep-package doesn't handle this. - predep=$(without "$(without "$(resolve_deps $predep)" "$required")" "$done_predeps") - # XXX: progress is tricky due to how dpkg_progress works - # -- cjwatson 2009-07-29 - p; smallyes '' | in_target dpkg --force-overwrite --force-confold --skip-same-version --install $(debfor $predep) - base=$(without "$base" "$predep") - done_predeps="$done_predeps $predep" - done - - smallyes '' | - (repeatn 5 in_target_failmsg INST_BASE_FAIL_FIVE "Failure while installing base packages. This will be re-attempted up to five times." "" \ - dpkg --status-fd 8 --force-overwrite --force-confold --skip-same-version --unpack $(debfor $base) 8>&1 1>&7 | - dpkg_progress $baseprog $bases UNPACKBASE "Unpacking base system" UNPACKING) 7>&1 - - info CONFBASE "Configuring the base system..." - - smallyes '' | - (repeatn 5 in_target_failmsg CONF_BASE_FAIL_FIVE "Failure while configuring base packages. This will be attempted 5 times." "" \ - dpkg --status-fd 8 --force-confold --skip-same-version --configure -a 8>&1 1>&7 | - dpkg_progress $baseprog $bases CONFBASE "Configuring base system" CONFIGURING) 7>&1 - - if [ -x "$TARGET/sbin/initctl.REAL" ]; then - mv "$TARGET/sbin/initctl.REAL" "$TARGET/sbin/initctl" - fi - mv "$TARGET/sbin/start-stop-daemon.REAL" "$TARGET/sbin/start-stop-daemon" - - progress $bases $bases CONFBASE "Configuring base system" - info BASESUCCESS "Base system installed successfully." -} diff --git a/pcr/debootstrap/PKGBUILD b/pcr/debootstrap/PKGBUILD new file mode 100644 index 000000000..13d5db98d --- /dev/null +++ b/pcr/debootstrap/PKGBUILD @@ -0,0 +1,66 @@ +# Maintainer: André Silva + +pkgname=debootstrap +pkgver=1.0.60 +pkgrel=1.parabola1 +pkgdesc="A tool used to create a gNewSense or Trisquel base system from scratch, without requiring the availability of dpkg or apt (Debian support removed)" +arch=('any') +license=('MIT') +url="http://packages.debian.org/sid/debootstrap" +depends=('wget') +replaces=(${pkgname}-libre) +conflicts=(${pkgname}-libre) +source=("http://ftp.debian.org/debian/pool/main/d/${pkgname}/${pkgname}_${pkgver}_all.deb" + "${pkgname}.8.gz" + 'gnewsense' + 'trisquel') +install="debootstrap.install" +md5sums=('c5d76a54d58e9567bda7958a7140bc30' + 'b565d089342b8a7ee35166b5d90825c7' + '13978bdd1d877a0dd2c3c874ecd54f03' + 'b020aa8426e70a6024c8e76312c17d78') + +package(){ + tar -xJf "${srcdir}/data.tar.xz" -C "${pkgdir}/" + # remove Debian files + rm -v "${pkgdir}/usr/share/doc/debootstrap"/{README,changelog.gz} + rm -v "${pkgdir}/usr/share/man/man8/debootstrap.8.gz" + # remove Debian scripts + rm -v "${pkgdir}/usr/share/debootstrap/scripts"/* + # move the executables to /usr/bin + mkdir -p ${pkgdir}/usr/bin + mv "${pkgdir}/usr/sbin"/* "${pkgdir}/usr/bin/" + rmdir "${pkgdir}/usr/sbin" + # patch the path to use gNewSense or Trisquel defaults (prevents error in chrooted environment) + sed -i 's|export PATH|export PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/java/jre/bin:/usr/bin/vendor_perl:/usr/bin/core_perl"|' ${pkgdir}/usr/bin/debootstrap + # doesn't work with gpg 2.x, patch to point to gpg1v + sed 's/gpgv/gpg1v/g;' -i "${pkgdir}/usr/bin/debootstrap" "${pkgdir}/usr/share/debootstrap/functions" + + # add rebranded man + install -m644 ${pkgname}.8.gz "${pkgdir}/usr/share/man/man8" + + # move license to licenses folder + install -Dm644 "${pkgdir}/usr/share/doc/debootstrap/copyright" \ + "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + rm -rv "${pkgdir}/usr/share/doc" + + # add gNewSense script + install -m644 gnewsense "$pkgdir/usr/share/debootstrap/scripts" + + # create gNewSense symlinks + ln -s gnewsense "$pkgdir/usr/share/debootstrap/scripts/parkes" + + # add Trisquel script + install -m644 trisquel "$pkgdir/usr/share/debootstrap/scripts" + + # create Trisquel symlinks + ln -s trisquel "$pkgdir/usr/share/debootstrap/scripts/awen" + ln -s trisquel "$pkgdir/usr/share/debootstrap/scripts/belenos" + ln -s trisquel "$pkgdir/usr/share/debootstrap/scripts/brigantia" + ln -s trisquel "$pkgdir/usr/share/debootstrap/scripts/dagda" + ln -s trisquel "$pkgdir/usr/share/debootstrap/scripts/dwyn" + ln -s trisquel "$pkgdir/usr/share/debootstrap/scripts/robur" + ln -s trisquel "$pkgdir/usr/share/debootstrap/scripts/slaine" + ln -s trisquel "$pkgdir/usr/share/debootstrap/scripts/taranis" + ln -s trisquel "$pkgdir/usr/share/debootstrap/scripts/toutatis" +} diff --git a/pcr/debootstrap/debootstrap.8.gz b/pcr/debootstrap/debootstrap.8.gz new file mode 100644 index 000000000..07ec4808c Binary files /dev/null and b/pcr/debootstrap/debootstrap.8.gz differ diff --git a/pcr/debootstrap/debootstrap.install b/pcr/debootstrap/debootstrap.install new file mode 100644 index 000000000..3da2f1d22 --- /dev/null +++ b/pcr/debootstrap/debootstrap.install @@ -0,0 +1,14 @@ +post_install() { + if [ "$(uname -m)" = "x86_64" ]; then + darch="amd64" + elif [ "$(uname -m)" = "i686" ]; then + darch="i386" + else + darch="mips64el" + fi + echo "$darch" > /usr/share/debootstrap/arch +} + +pre_remove() { + rm -f /usr/share/debootstrap/arch +} diff --git a/pcr/debootstrap/gnewsense b/pcr/debootstrap/gnewsense new file mode 100644 index 000000000..884ac88a0 --- /dev/null +++ b/pcr/debootstrap/gnewsense @@ -0,0 +1,194 @@ +default_mirror http://archive.gnewsense.org/gnewsense-three/gnewsense +mirror_style release +download_style apt +finddebs_style from-indices +variants - buildd fakechroot minbase scratchbox + +if doing_variant fakechroot; then + test "$FAKECHROOT" = "true" || error 1 FAKECHROOTREQ "This variant requires fakechroot environment to be started" +fi + +case $ARCH in + alpha|ia64) LIBC="libc6.1" ;; + kfreebsd-*) LIBC="libc0.1" ;; + hurd-*) LIBC="libc0.3" ;; + *) LIBC="libc6" ;; +esac + +work_out_debs () { + required="$(get_debs Priority: required)" + + if doing_variant - || doing_variant fakechroot; then + #required="$required $(get_debs Priority: important)" + # ^^ should be getting debconf here somehow maybe + base="$(get_debs Priority: important)" + elif doing_variant buildd || doing_variant scratchbox; then + base="apt $(get_debs Build-Essential: yes)" + elif doing_variant minbase; then + base="apt" + fi + + if doing_variant fakechroot; then + # ldd.fake needs binutils + required="$required binutils" + fi +} + +first_stage_install () { + extract $required + + mkdir -p "$TARGET/var/lib/dpkg" + : >"$TARGET/var/lib/dpkg/status" + : >"$TARGET/var/lib/dpkg/available" + + setup_etc + if [ ! -e "$TARGET/etc/fstab" ]; then + echo '# UNCONFIGURED FSTAB FOR BASE SYSTEM' > "$TARGET/etc/fstab" + chown 0:0 "$TARGET/etc/fstab"; chmod 644 "$TARGET/etc/fstab" + fi + + if doing_variant fakechroot; then + setup_devices_fakechroot + else + setup_devices + fi + + x_feign_install () { + local pkg="$1" + local deb="$(debfor $pkg)" + local ver="$(extract_deb_field "$TARGET/$deb" Version)" + + mkdir -p "$TARGET/var/lib/dpkg/info" + + echo \ +"Package: $pkg +Version: $ver +Status: install ok installed" >> "$TARGET/var/lib/dpkg/status" + + touch "$TARGET/var/lib/dpkg/info/${pkg}.list" + } + + x_feign_install dpkg +} + +second_stage_install () { + x_core_install () { + smallyes '' | in_target dpkg --force-depends --install $(debfor "$@") + } + + p () { + baseprog="$(($baseprog + ${1:-1}))" + } + + if doing_variant fakechroot; then + setup_proc_fakechroot + elif doing_variant scratchbox; then + true + else + setup_proc + in_target /sbin/ldconfig + fi + + DEBIAN_FRONTEND=noninteractive + DEBCONF_NONINTERACTIVE_SEEN=true + export DEBIAN_FRONTEND DEBCONF_NONINTERACTIVE_SEEN + + baseprog=0 + bases=7 + + p; progress $baseprog $bases INSTCORE "Installing core packages" #1 + info INSTCORE "Installing core packages..." + + p; progress $baseprog $bases INSTCORE "Installing core packages" #2 + ln -sf mawk "$TARGET/usr/bin/awk" + x_core_install base-files base-passwd + p; progress $baseprog $bases INSTCORE "Installing core packages" #3 + x_core_install dpkg + + if [ ! -e "$TARGET/etc/localtime" ]; then + ln -sf /usr/share/zoneinfo/UTC "$TARGET/etc/localtime" + fi + + if doing_variant fakechroot; then + install_fakechroot_tools + fi + + p; progress $baseprog $bases INSTCORE "Installing core packages" #4 + x_core_install $LIBC + + p; progress $baseprog $bases INSTCORE "Installing core packages" #5 + x_core_install perl-base + + p; progress $baseprog $bases INSTCORE "Installing core packages" #6 + rm "$TARGET/usr/bin/awk" + x_core_install mawk + + p; progress $baseprog $bases INSTCORE "Installing core packages" #7 + if doing_variant -; then + x_core_install debconf + fi + + baseprog=0 + bases=$(set -- $required; echo $#) + + info UNPACKREQ "Unpacking required packages..." + + exec 7>&1 + + smallyes '' | + (repeatn 5 in_target_failmsg UNPACK_REQ_FAIL_FIVE "Failure while unpacking required packages. This will be attempted up to five times." "" \ + dpkg --status-fd 8 --force-depends --unpack $(debfor $required) 8>&1 1>&7 || echo EXITCODE $?) | + dpkg_progress $baseprog $bases UNPACKREQ "Unpacking required packages" UNPACKING + + info CONFREQ "Configuring required packages..." + + mv "$TARGET/sbin/start-stop-daemon" "$TARGET/sbin/start-stop-daemon.REAL" + echo \ +"#!/bin/sh +echo +echo \"Warning: Fake start-stop-daemon called, doing nothing\"" > "$TARGET/sbin/start-stop-daemon" + chmod 755 "$TARGET/sbin/start-stop-daemon" + + setup_dselect_method apt + + smallyes '' | + (in_target_failmsg CONF_REQ_FAIL "Failure while configuring required packages." "" \ + dpkg --status-fd 8 --configure --pending --force-configure-any --force-depends 8>&1 1>&7 || echo EXITCODE $?) | + dpkg_progress $baseprog $bases CONFREQ "Configuring required packages" CONFIGURING + + baseprog=0 + bases="$(set -- $base; echo $#)" + + info UNPACKBASE "Unpacking the base system..." + + setup_available $required $base + done_predeps= + while predep=$(get_next_predep); do + # We have to resolve dependencies of pre-dependencies manually because + # dpkg --predep-package doesn't handle this. + predep=$(without "$(without "$(resolve_deps $predep)" "$required")" "$done_predeps") + # XXX: progress is tricky due to how dpkg_progress works + # -- cjwatson 2009-07-29 + p; smallyes '' | + in_target dpkg --force-overwrite --force-confold --skip-same-version --install $(debfor $predep) + base=$(without "$base" "$predep") + done_predeps="$done_predeps $predep" + done + + smallyes '' | + (repeatn 5 in_target_failmsg INST_BASE_FAIL_FIVE "Failure while installing base packages. This will be re-attempted up to five times." "" \ + dpkg --status-fd 8 --force-overwrite --force-confold --skip-same-version --unpack $(debfor $base) 8>&1 1>&7 || echo EXITCODE $?) | + dpkg_progress $baseprog $bases UNPACKBASE "Unpacking base system" UNPACKING + + info CONFBASE "Configuring the base system..." + + smallyes '' | + (repeatn 5 in_target_failmsg CONF_BASE_FAIL_FIVE "Failure while configuring base packages. This will be re-attempted up to five times." "" \ + dpkg --status-fd 8 --force-confold --skip-same-version --configure -a 8>&1 1>&7 || echo EXITCODE $?) | + dpkg_progress $baseprog $bases CONFBASE "Configuring base system" CONFIGURING + + mv "$TARGET/sbin/start-stop-daemon.REAL" "$TARGET/sbin/start-stop-daemon" + + progress $bases $bases CONFBASE "Configuring base system" + info BASESUCCESS "Base system installed successfully." +} diff --git a/pcr/debootstrap/trisquel b/pcr/debootstrap/trisquel new file mode 100644 index 000000000..7efa062f9 --- /dev/null +++ b/pcr/debootstrap/trisquel @@ -0,0 +1,199 @@ +default_mirror http://archive.trisquel.info/trisquel +mirror_style release +download_style apt +finddebs_style from-indices +variants - buildd fakechroot minbase + +if doing_variant fakechroot; then + test "$FAKECHROOT" = "true" || error 1 FAKECHROOTREQ "This variant requires fakechroot environment to be started" +fi + +case $ARCH in + alpha|ia64) LIBC="libc6.1" ;; + *) LIBC="libc6" ;; +esac + +work_out_debs () { + required="$(get_debs Priority: required)" + + if doing_variant -; then + #required="$required $(get_debs Priority: important)" + # ^^ should be getting debconf here somehow maybe + base="$(get_debs Priority: important)" + elif doing_variant buildd; then + base="$(get_debs Build-Essential: yes)" + elif doing_variant fakechroot || doing_variant minbase; then + base="apt" + fi +} + +first_stage_install () { + extract $required + + mkdir -p "$TARGET/var/lib/dpkg" + : >"$TARGET/var/lib/dpkg/status" + : >"$TARGET/var/lib/dpkg/available" + + setup_etc + if [ ! -e "$TARGET/etc/fstab" ]; then + echo '# UNCONFIGURED FSTAB FOR BASE SYSTEM' > "$TARGET/etc/fstab" + chown 0:0 "$TARGET/etc/fstab"; chmod 644 "$TARGET/etc/fstab" + fi + + if doing_variant fakechroot; then + setup_devices_fakechroot + else + setup_devices + fi + + x_feign_install () { + local pkg="$1" + local deb="$(debfor $pkg)" + local ver="$(extract_deb_field "$TARGET/$deb" Version)" + + mkdir -p "$TARGET/var/lib/dpkg/info" + + echo \ +"Package: $pkg +Version: $ver +Status: install ok installed" >> "$TARGET/var/lib/dpkg/status" + + touch "$TARGET/var/lib/dpkg/info/${pkg}.list" + } + + x_feign_install dpkg +} + +second_stage_install () { + x_core_install () { + smallyes '' | in_target dpkg --force-depends --install $(debfor "$@") + } + + p () { + baseprog="$(($baseprog + ${1:-1}))" + } + + if doing_variant fakechroot; then + setup_proc_fakechroot + else + setup_proc + in_target /sbin/ldconfig + fi + + DEBIAN_FRONTEND=noninteractive + DEBCONF_NONINTERACTIVE_SEEN=true + export DEBIAN_FRONTEND DEBCONF_NONINTERACTIVE_SEEN + + baseprog=0 + bases=7 + + p; progress $baseprog $bases INSTCORE "Installing core packages" #1 + info INSTCORE "Installing core packages..." + + p; progress $baseprog $bases INSTCORE "Installing core packages" #2 + ln -sf mawk "$TARGET/usr/bin/awk" + x_core_install base-files base-passwd + p; progress $baseprog $bases INSTCORE "Installing core packages" #3 + x_core_install dpkg + + if [ ! -e "$TARGET/etc/localtime" ]; then + ln -sf /usr/share/zoneinfo/Etc/UTC "$TARGET/etc/localtime" + fi + + if doing_variant fakechroot; then + install_fakechroot_tools + fi + + p; progress $baseprog $bases INSTCORE "Installing core packages" #4 + x_core_install $LIBC + + p; progress $baseprog $bases INSTCORE "Installing core packages" #5 + x_core_install perl-base + + p; progress $baseprog $bases INSTCORE "Installing core packages" #6 + rm "$TARGET/usr/bin/awk" + x_core_install mawk + + p; progress $baseprog $bases INSTCORE "Installing core packages" #7 + if doing_variant -; then + x_core_install debconf + fi + + baseprog=0 + bases=$(set -- $required; echo $#) + + info UNPACKREQ "Unpacking required packages..." + + smallyes '' | + (repeatn 5 in_target_failmsg UNPACK_REQ_FAIL_FIVE "Failure while unpacking required packages. This will be attempted up to five times." "" \ + dpkg --status-fd 8 --force-depends --unpack $(debfor $required) 8>&1 1>&7 | + dpkg_progress $baseprog $bases UNPACKREQ "Unpacking required packages" UNPACKING) 7>&1 + + info CONFREQ "Configuring required packages..." + + if doing_variant fakechroot; then + # fix initscripts postinst (no mounting possible, and wrong if condition) + sed -i '/dpkg.*--compare-versions/ s/\/lt-nl/' "$TARGET/var/lib/dpkg/info/initscripts.postinst" + fi + + mv "$TARGET/sbin/start-stop-daemon" "$TARGET/sbin/start-stop-daemon.REAL" + echo \ +"#!/bin/sh +echo +echo \"Warning: Fake start-stop-daemon called, doing nothing\"" > "$TARGET/sbin/start-stop-daemon" + chmod 755 "$TARGET/sbin/start-stop-daemon" + + if [ -x "$TARGET/sbin/initctl" ]; then + mv "$TARGET/sbin/initctl" "$TARGET/sbin/initctl.REAL" + echo \ +"#!/bin/sh +echo +echo \"Warning: Fake initctl called, doing nothing\"" > "$TARGET/sbin/initctl" + chmod 755 "$TARGET/sbin/initctl" + fi + + setup_dselect_method apt + + smallyes '' | + (in_target_failmsg CONF_REQ_FAIL "Failure while configuring required packages." "" \ + dpkg --status-fd 8 --configure --pending --force-configure-any --force-depends 8>&1 1>&7 | + dpkg_progress $baseprog $bases CONFREQ "Configuring required packages" CONFIGURING) 7>&1 + + baseprog=0 + bases="$(set -- $base; echo $#)" + + info UNPACKBASE "Unpacking the base system..." + + setup_available $required $base + done_predeps= + while predep=$(get_next_predep); do + # We have to resolve dependencies of pre-dependencies manually because + # dpkg --predep-package doesn't handle this. + predep=$(without "$(without "$(resolve_deps $predep)" "$required")" "$done_predeps") + # XXX: progress is tricky due to how dpkg_progress works + # -- cjwatson 2009-07-29 + p; smallyes '' | in_target dpkg --force-overwrite --force-confold --skip-same-version --install $(debfor $predep) + base=$(without "$base" "$predep") + done_predeps="$done_predeps $predep" + done + + smallyes '' | + (repeatn 5 in_target_failmsg INST_BASE_FAIL_FIVE "Failure while installing base packages. This will be re-attempted up to five times." "" \ + dpkg --status-fd 8 --force-overwrite --force-confold --skip-same-version --unpack $(debfor $base) 8>&1 1>&7 | + dpkg_progress $baseprog $bases UNPACKBASE "Unpacking base system" UNPACKING) 7>&1 + + info CONFBASE "Configuring the base system..." + + smallyes '' | + (repeatn 5 in_target_failmsg CONF_BASE_FAIL_FIVE "Failure while configuring base packages. This will be attempted 5 times." "" \ + dpkg --status-fd 8 --force-confold --skip-same-version --configure -a 8>&1 1>&7 | + dpkg_progress $baseprog $bases CONFBASE "Configuring base system" CONFIGURING) 7>&1 + + if [ -x "$TARGET/sbin/initctl.REAL" ]; then + mv "$TARGET/sbin/initctl.REAL" "$TARGET/sbin/initctl" + fi + mv "$TARGET/sbin/start-stop-daemon.REAL" "$TARGET/sbin/start-stop-daemon" + + progress $bases $bases CONFBASE "Configuring base system" + info BASESUCCESS "Base system installed successfully." +} -- cgit v1.2.3 From a9759accda976048a678a11d88d1f52aea6b1ab6 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 2 Sep 2014 19:17:56 -0300 Subject: lib32-mesa-demos-8.2.0-2.parabola1: remove libre suffix and add complex pkgrel --- libre-multilib/lib32-mesa-demos-libre/PKGBUILD | 55 ---------- libre-multilib/lib32-mesa-demos-libre/libre.patch | 116 ---------------------- libre-multilib/lib32-mesa-demos/PKGBUILD | 54 ++++++++++ libre-multilib/lib32-mesa-demos/libre.patch | 116 ++++++++++++++++++++++ 4 files changed, 170 insertions(+), 171 deletions(-) delete mode 100644 libre-multilib/lib32-mesa-demos-libre/PKGBUILD delete mode 100644 libre-multilib/lib32-mesa-demos-libre/libre.patch create mode 100644 libre-multilib/lib32-mesa-demos/PKGBUILD create mode 100644 libre-multilib/lib32-mesa-demos/libre.patch diff --git a/libre-multilib/lib32-mesa-demos-libre/PKGBUILD b/libre-multilib/lib32-mesa-demos-libre/PKGBUILD deleted file mode 100644 index badab3a2e..000000000 --- a/libre-multilib/lib32-mesa-demos-libre/PKGBUILD +++ /dev/null @@ -1,55 +0,0 @@ -# $Id: PKGBUILD 115314 2014-07-08 15:30:12Z bluewind $ -# Maintainer (Arch): Jan de Groot -# Maintainer (Arch): Andreas Radke -# Maintainer: André Silva - -_pkgbasename=mesa-demos-libre -pkgname=lib32-$_pkgbasename -pkgver=8.2.0 -pkgrel=2 -arch=(x86_64) -pkgdesc="Mesa demos and tools (32-bit), without nonfree demos" -url="http://mesa3d.sourceforge.net" -license=('custom') -provides=("lib32-mesa-demos=$pkgver") -replaces=('lib32-mesa-demos') -conflicts=('lib32-mesa-demos') -depends=('lib32-libgl' 'lib32-glew' 'mesa-demos-libre') -makedepends=(gcc-multilib 'lib32-mesa' 'lib32-glew') -source=(https://repo.parabolagnulinux.org/other/mesa-demos-libre/mesa-demos-libre-${pkgver}.tar.bz2 - libre.patch) -md5sums=('67cd419bd5bbaa6436ad98a703d30441' - 'e986d07f36931e895bdbd9c83ed260c8') - -prepare() { - cd "${srcdir}/mesa-demos-${pkgver}" - # remove nonfree demos references (pointblast and spriteblast) - patch -Np1 -i ../libre.patch -} - -build() { - export CC="gcc -m32" - export CXX="g++ -m32" - export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" - - cd "${srcdir}/mesa-demos-${pkgver}" - ./configure --prefix=/usr - - make -} - -package() { - depends=('lib32-glew' mesa-demos-libre) - - cd "${srcdir}/mesa-demos-${pkgver}" - make DESTDIR="${pkgdir}" install - - for i in "$pkgdir/usr/bin/"*; do - mv "$i" "$i"32 - done - - rm -r "$pkgdir/usr/share/mesa-demos" - - mkdir -p "$pkgdir/usr/share/licenses" - ln -s mesa-demos "$pkgdir/usr/share/licenses/lib32-mesa-demos" -} diff --git a/libre-multilib/lib32-mesa-demos-libre/libre.patch b/libre-multilib/lib32-mesa-demos-libre/libre.patch deleted file mode 100644 index 43e2d1e37..000000000 --- a/libre-multilib/lib32-mesa-demos-libre/libre.patch +++ /dev/null @@ -1,116 +0,0 @@ -diff -Nur mesa-demos-8.2.0.orig/src/demos/Makefile.am mesa-demos-8.2.0/src/demos/Makefile.am ---- mesa-demos-8.2.0.orig/src/demos/Makefile.am 1989-12-31 22:00:00.000000000 -0200 -+++ mesa-demos-8.2.0/src/demos/Makefile.am 2014-08-07 00:37:02.756984258 -0300 -@@ -65,7 +65,6 @@ - multiarb \ - paltex \ - pixeltest \ -- pointblast \ - projtex \ - ray \ - readpix \ -@@ -74,7 +73,6 @@ - shadowtex \ - singlebuffer \ - spectex \ -- spriteblast \ - stex3d \ - teapot \ - terrain \ -diff -Nur mesa-demos-8.2.0.orig/src/demos/Makefile.in mesa-demos-8.2.0/src/demos/Makefile.in ---- mesa-demos-8.2.0.orig/src/demos/Makefile.in 1989-12-31 22:00:00.000000000 -0200 -+++ mesa-demos-8.2.0/src/demos/Makefile.in 2014-08-07 00:39:20.077849509 -0300 -@@ -118,11 +118,11 @@ - @HAVE_GLUT_TRUE@ ipers$(EXEEXT) isosurf$(EXEEXT) \ - @HAVE_GLUT_TRUE@ lodbias$(EXEEXT) morph3d$(EXEEXT) \ - @HAVE_GLUT_TRUE@ multiarb$(EXEEXT) paltex$(EXEEXT) \ --@HAVE_GLUT_TRUE@ pixeltest$(EXEEXT) pointblast$(EXEEXT) \ -+@HAVE_GLUT_TRUE@ pixeltest$(EXEEXT) \ - @HAVE_GLUT_TRUE@ projtex$(EXEEXT) ray$(EXEEXT) readpix$(EXEEXT) \ - @HAVE_GLUT_TRUE@ reflect$(EXEEXT) renormal$(EXEEXT) \ - @HAVE_GLUT_TRUE@ shadowtex$(EXEEXT) singlebuffer$(EXEEXT) \ --@HAVE_GLUT_TRUE@ spectex$(EXEEXT) spriteblast$(EXEEXT) \ -+@HAVE_GLUT_TRUE@ spectex$(EXEEXT) \ - @HAVE_GLUT_TRUE@ stex3d$(EXEEXT) teapot$(EXEEXT) \ - @HAVE_GLUT_TRUE@ terrain$(EXEEXT) tessdemo$(EXEEXT) \ - @HAVE_GLUT_TRUE@ texcyl$(EXEEXT) texenv$(EXEEXT) \ -@@ -247,9 +247,6 @@ - pixeltest_SOURCES = pixeltest.c - pixeltest_OBJECTS = pixeltest.$(OBJEXT) - pixeltest_LDADD = $(LDADD) --pointblast_SOURCES = pointblast.c --pointblast_OBJECTS = pointblast.$(OBJEXT) --pointblast_LDADD = $(LDADD) - projtex_SOURCES = projtex.c - projtex_OBJECTS = projtex.$(OBJEXT) - projtex_DEPENDENCIES = ../util/libutil.la -@@ -274,9 +271,6 @@ - spectex_SOURCES = spectex.c - spectex_OBJECTS = spectex.$(OBJEXT) - spectex_LDADD = $(LDADD) --spriteblast_SOURCES = spriteblast.c --spriteblast_OBJECTS = spriteblast.$(OBJEXT) --spriteblast_LDADD = $(LDADD) - stex3d_SOURCES = stex3d.c - stex3d_OBJECTS = stex3d.$(OBJEXT) - stex3d_LDADD = $(LDADD) -@@ -353,8 +347,8 @@ - fbotexture.c fire.c fogcoord.c fplight.c fslight.c gamma.c \ - gearbox.c gears.c geartrain.c glinfo.c gloss.c gltestperf.c \ - ipers.c isosurf.c lodbias.c morph3d.c multiarb.c paltex.c \ -- pixeltest.c pointblast.c projtex.c ray.c readpix.c reflect.c \ -- renormal.c shadowtex.c singlebuffer.c spectex.c spriteblast.c \ -+ pixeltest.c projtex.c ray.c readpix.c reflect.c \ -+ renormal.c shadowtex.c singlebuffer.c spectex.c \ - stex3d.c teapot.c terrain.c tessdemo.c texcyl.c texenv.c \ - textures.c trispd.c $(tunnel_SOURCES) tunnel2.c vao_demo.c \ - winpos.c -@@ -364,8 +358,8 @@ - fbotexture.c fire.c fogcoord.c fplight.c fslight.c gamma.c \ - gearbox.c gears.c geartrain.c glinfo.c gloss.c gltestperf.c \ - ipers.c isosurf.c lodbias.c morph3d.c multiarb.c paltex.c \ -- pixeltest.c pointblast.c projtex.c ray.c readpix.c reflect.c \ -- renormal.c shadowtex.c singlebuffer.c spectex.c spriteblast.c \ -+ pixeltest.c projtex.c ray.c readpix.c reflect.c \ -+ renormal.c shadowtex.c singlebuffer.c spectex.c \ - stex3d.c teapot.c terrain.c tessdemo.c texcyl.c texenv.c \ - textures.c trispd.c $(tunnel_SOURCES) tunnel2.c vao_demo.c \ - winpos.c -@@ -804,10 +798,6 @@ - @rm -f pixeltest$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pixeltest_OBJECTS) $(pixeltest_LDADD) $(LIBS) - --pointblast$(EXEEXT): $(pointblast_OBJECTS) $(pointblast_DEPENDENCIES) $(EXTRA_pointblast_DEPENDENCIES) -- @rm -f pointblast$(EXEEXT) -- $(AM_V_CCLD)$(LINK) $(pointblast_OBJECTS) $(pointblast_LDADD) $(LIBS) -- - projtex$(EXEEXT): $(projtex_OBJECTS) $(projtex_DEPENDENCIES) $(EXTRA_projtex_DEPENDENCIES) - @rm -f projtex$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(projtex_OBJECTS) $(projtex_LDADD) $(LIBS) -@@ -840,10 +830,6 @@ - @rm -f spectex$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(spectex_OBJECTS) $(spectex_LDADD) $(LIBS) - --spriteblast$(EXEEXT): $(spriteblast_OBJECTS) $(spriteblast_DEPENDENCIES) $(EXTRA_spriteblast_DEPENDENCIES) -- @rm -f spriteblast$(EXEEXT) -- $(AM_V_CCLD)$(LINK) $(spriteblast_OBJECTS) $(spriteblast_LDADD) $(LIBS) -- - stex3d$(EXEEXT): $(stex3d_OBJECTS) $(stex3d_DEPENDENCIES) $(EXTRA_stex3d_DEPENDENCIES) - @rm -f stex3d$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(stex3d_OBJECTS) $(stex3d_LDADD) $(LIBS) -@@ -931,7 +917,6 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multiarb.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/paltex.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pixeltest.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pointblast.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/projtex.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ray.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readpix.Po@am__quote@ -@@ -940,7 +925,6 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shadowtex.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/singlebuffer.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spectex.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spriteblast.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stex3d.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/teapot.Po@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/terrain.Po@am__quote@ diff --git a/libre-multilib/lib32-mesa-demos/PKGBUILD b/libre-multilib/lib32-mesa-demos/PKGBUILD new file mode 100644 index 000000000..07230a3d7 --- /dev/null +++ b/libre-multilib/lib32-mesa-demos/PKGBUILD @@ -0,0 +1,54 @@ +# $Id: PKGBUILD 117596 2014-08-19 02:28:18Z fyan $ +# Maintainer (Arch): Jan de Groot +# Maintainer (Arch): Andreas Radke +# Maintainer: André Silva + +_pkgbasename=mesa-demos +pkgname=lib32-$_pkgbasename +pkgver=8.2.0 +pkgrel=2.parabola1 +arch=(x86_64) +pkgdesc="Mesa demos and tools (32-bit), without nonfree demos" +url="http://mesa3d.sourceforge.net" +license=('custom') +replaces=('lib32-mesa-demos-libre') +conflicts=('lib32-mesa-demos-libre') +depends=('lib32-libgl' 'lib32-glew' 'mesa-demos') +makedepends=(gcc-multilib 'lib32-mesa' 'lib32-glew') +source=(https://repo.parabolagnulinux.org/other/mesa-demos-libre/mesa-demos-libre-${pkgver}.tar.bz2 + libre.patch) +md5sums=('67cd419bd5bbaa6436ad98a703d30441' + 'e986d07f36931e895bdbd9c83ed260c8') + +prepare() { + cd "${srcdir}/mesa-demos-${pkgver}" + # remove nonfree demos references (pointblast and spriteblast) + patch -Np1 -i ../libre.patch +} + +build() { + export CC="gcc -m32" + export CXX="g++ -m32" + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + + cd "${srcdir}/mesa-demos-${pkgver}" + ./configure --prefix=/usr + + make +} + +package() { + depends=('lib32-glew' mesa-demos) + + cd "${srcdir}/mesa-demos-${pkgver}" + make DESTDIR="${pkgdir}" install + + for i in "$pkgdir/usr/bin/"*; do + mv "$i" "$i"32 + done + + rm -r "$pkgdir/usr/share/mesa-demos" + + mkdir -p "$pkgdir/usr/share/licenses" + ln -s $_pkgbasename "$pkgdir/usr/share/licenses/$pkgname" +} diff --git a/libre-multilib/lib32-mesa-demos/libre.patch b/libre-multilib/lib32-mesa-demos/libre.patch new file mode 100644 index 000000000..43e2d1e37 --- /dev/null +++ b/libre-multilib/lib32-mesa-demos/libre.patch @@ -0,0 +1,116 @@ +diff -Nur mesa-demos-8.2.0.orig/src/demos/Makefile.am mesa-demos-8.2.0/src/demos/Makefile.am +--- mesa-demos-8.2.0.orig/src/demos/Makefile.am 1989-12-31 22:00:00.000000000 -0200 ++++ mesa-demos-8.2.0/src/demos/Makefile.am 2014-08-07 00:37:02.756984258 -0300 +@@ -65,7 +65,6 @@ + multiarb \ + paltex \ + pixeltest \ +- pointblast \ + projtex \ + ray \ + readpix \ +@@ -74,7 +73,6 @@ + shadowtex \ + singlebuffer \ + spectex \ +- spriteblast \ + stex3d \ + teapot \ + terrain \ +diff -Nur mesa-demos-8.2.0.orig/src/demos/Makefile.in mesa-demos-8.2.0/src/demos/Makefile.in +--- mesa-demos-8.2.0.orig/src/demos/Makefile.in 1989-12-31 22:00:00.000000000 -0200 ++++ mesa-demos-8.2.0/src/demos/Makefile.in 2014-08-07 00:39:20.077849509 -0300 +@@ -118,11 +118,11 @@ + @HAVE_GLUT_TRUE@ ipers$(EXEEXT) isosurf$(EXEEXT) \ + @HAVE_GLUT_TRUE@ lodbias$(EXEEXT) morph3d$(EXEEXT) \ + @HAVE_GLUT_TRUE@ multiarb$(EXEEXT) paltex$(EXEEXT) \ +-@HAVE_GLUT_TRUE@ pixeltest$(EXEEXT) pointblast$(EXEEXT) \ ++@HAVE_GLUT_TRUE@ pixeltest$(EXEEXT) \ + @HAVE_GLUT_TRUE@ projtex$(EXEEXT) ray$(EXEEXT) readpix$(EXEEXT) \ + @HAVE_GLUT_TRUE@ reflect$(EXEEXT) renormal$(EXEEXT) \ + @HAVE_GLUT_TRUE@ shadowtex$(EXEEXT) singlebuffer$(EXEEXT) \ +-@HAVE_GLUT_TRUE@ spectex$(EXEEXT) spriteblast$(EXEEXT) \ ++@HAVE_GLUT_TRUE@ spectex$(EXEEXT) \ + @HAVE_GLUT_TRUE@ stex3d$(EXEEXT) teapot$(EXEEXT) \ + @HAVE_GLUT_TRUE@ terrain$(EXEEXT) tessdemo$(EXEEXT) \ + @HAVE_GLUT_TRUE@ texcyl$(EXEEXT) texenv$(EXEEXT) \ +@@ -247,9 +247,6 @@ + pixeltest_SOURCES = pixeltest.c + pixeltest_OBJECTS = pixeltest.$(OBJEXT) + pixeltest_LDADD = $(LDADD) +-pointblast_SOURCES = pointblast.c +-pointblast_OBJECTS = pointblast.$(OBJEXT) +-pointblast_LDADD = $(LDADD) + projtex_SOURCES = projtex.c + projtex_OBJECTS = projtex.$(OBJEXT) + projtex_DEPENDENCIES = ../util/libutil.la +@@ -274,9 +271,6 @@ + spectex_SOURCES = spectex.c + spectex_OBJECTS = spectex.$(OBJEXT) + spectex_LDADD = $(LDADD) +-spriteblast_SOURCES = spriteblast.c +-spriteblast_OBJECTS = spriteblast.$(OBJEXT) +-spriteblast_LDADD = $(LDADD) + stex3d_SOURCES = stex3d.c + stex3d_OBJECTS = stex3d.$(OBJEXT) + stex3d_LDADD = $(LDADD) +@@ -353,8 +347,8 @@ + fbotexture.c fire.c fogcoord.c fplight.c fslight.c gamma.c \ + gearbox.c gears.c geartrain.c glinfo.c gloss.c gltestperf.c \ + ipers.c isosurf.c lodbias.c morph3d.c multiarb.c paltex.c \ +- pixeltest.c pointblast.c projtex.c ray.c readpix.c reflect.c \ +- renormal.c shadowtex.c singlebuffer.c spectex.c spriteblast.c \ ++ pixeltest.c projtex.c ray.c readpix.c reflect.c \ ++ renormal.c shadowtex.c singlebuffer.c spectex.c \ + stex3d.c teapot.c terrain.c tessdemo.c texcyl.c texenv.c \ + textures.c trispd.c $(tunnel_SOURCES) tunnel2.c vao_demo.c \ + winpos.c +@@ -364,8 +358,8 @@ + fbotexture.c fire.c fogcoord.c fplight.c fslight.c gamma.c \ + gearbox.c gears.c geartrain.c glinfo.c gloss.c gltestperf.c \ + ipers.c isosurf.c lodbias.c morph3d.c multiarb.c paltex.c \ +- pixeltest.c pointblast.c projtex.c ray.c readpix.c reflect.c \ +- renormal.c shadowtex.c singlebuffer.c spectex.c spriteblast.c \ ++ pixeltest.c projtex.c ray.c readpix.c reflect.c \ ++ renormal.c shadowtex.c singlebuffer.c spectex.c \ + stex3d.c teapot.c terrain.c tessdemo.c texcyl.c texenv.c \ + textures.c trispd.c $(tunnel_SOURCES) tunnel2.c vao_demo.c \ + winpos.c +@@ -804,10 +798,6 @@ + @rm -f pixeltest$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(pixeltest_OBJECTS) $(pixeltest_LDADD) $(LIBS) + +-pointblast$(EXEEXT): $(pointblast_OBJECTS) $(pointblast_DEPENDENCIES) $(EXTRA_pointblast_DEPENDENCIES) +- @rm -f pointblast$(EXEEXT) +- $(AM_V_CCLD)$(LINK) $(pointblast_OBJECTS) $(pointblast_LDADD) $(LIBS) +- + projtex$(EXEEXT): $(projtex_OBJECTS) $(projtex_DEPENDENCIES) $(EXTRA_projtex_DEPENDENCIES) + @rm -f projtex$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(projtex_OBJECTS) $(projtex_LDADD) $(LIBS) +@@ -840,10 +830,6 @@ + @rm -f spectex$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(spectex_OBJECTS) $(spectex_LDADD) $(LIBS) + +-spriteblast$(EXEEXT): $(spriteblast_OBJECTS) $(spriteblast_DEPENDENCIES) $(EXTRA_spriteblast_DEPENDENCIES) +- @rm -f spriteblast$(EXEEXT) +- $(AM_V_CCLD)$(LINK) $(spriteblast_OBJECTS) $(spriteblast_LDADD) $(LIBS) +- + stex3d$(EXEEXT): $(stex3d_OBJECTS) $(stex3d_DEPENDENCIES) $(EXTRA_stex3d_DEPENDENCIES) + @rm -f stex3d$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(stex3d_OBJECTS) $(stex3d_LDADD) $(LIBS) +@@ -931,7 +917,6 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multiarb.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/paltex.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pixeltest.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pointblast.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/projtex.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ray.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readpix.Po@am__quote@ +@@ -940,7 +925,6 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shadowtex.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/singlebuffer.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spectex.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spriteblast.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stex3d.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/teapot.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/terrain.Po@am__quote@ -- cgit v1.2.3 From fae3599baca9298cbd8aaf2edf1978977801645e Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 2 Sep 2014 19:25:48 -0300 Subject: lib32-sdl-1.2.15-6.parabola1: updating revision from Arch, remove libre suffix and add complex pkgrel --- libre-multilib/lib32-sdl-libre/PKGBUILD | 57 -- .../lib32-sdl-libre/fix_joystick_misc_axes.diff | 13 - libre-multilib/lib32-sdl-libre/libre.patch | 578 --------------------- .../lib32-sdl-libre/libsdl-1.2.15-resizing.patch | 63 --- .../lib32-sdl-libre/sdl-1.2.14-disable-mmx.patch | 13 - .../sdl-1.2.14-fix-mouse-clicking.patch | 23 - libre-multilib/lib32-sdl/PKGBUILD | 66 +++ libre-multilib/lib32-sdl/X11_KeyToUnicode.patch | 52 ++ .../lib32-sdl/fix_joystick_misc_axes.diff | 13 + libre-multilib/lib32-sdl/libre.patch | 578 +++++++++++++++++++++ .../lib32-sdl/libsdl-1.2.15-resizing.patch | 63 +++ .../lib32-sdl/sdl-1.2.14-disable-mmx.patch | 13 + .../lib32-sdl/sdl-1.2.14-fix-mouse-clicking.patch | 23 + libre-multilib/lib32-sdl/sdl_x11sym.patch | 12 + 14 files changed, 820 insertions(+), 747 deletions(-) delete mode 100644 libre-multilib/lib32-sdl-libre/PKGBUILD delete mode 100644 libre-multilib/lib32-sdl-libre/fix_joystick_misc_axes.diff delete mode 100644 libre-multilib/lib32-sdl-libre/libre.patch delete mode 100644 libre-multilib/lib32-sdl-libre/libsdl-1.2.15-resizing.patch delete mode 100644 libre-multilib/lib32-sdl-libre/sdl-1.2.14-disable-mmx.patch delete mode 100644 libre-multilib/lib32-sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch create mode 100644 libre-multilib/lib32-sdl/PKGBUILD create mode 100644 libre-multilib/lib32-sdl/X11_KeyToUnicode.patch create mode 100644 libre-multilib/lib32-sdl/fix_joystick_misc_axes.diff create mode 100644 libre-multilib/lib32-sdl/libre.patch create mode 100644 libre-multilib/lib32-sdl/libsdl-1.2.15-resizing.patch create mode 100644 libre-multilib/lib32-sdl/sdl-1.2.14-disable-mmx.patch create mode 100644 libre-multilib/lib32-sdl/sdl-1.2.14-fix-mouse-clicking.patch create mode 100644 libre-multilib/lib32-sdl/sdl_x11sym.patch diff --git a/libre-multilib/lib32-sdl-libre/PKGBUILD b/libre-multilib/lib32-sdl-libre/PKGBUILD deleted file mode 100644 index 1b294adf0..000000000 --- a/libre-multilib/lib32-sdl-libre/PKGBUILD +++ /dev/null @@ -1,57 +0,0 @@ -# $Id: PKGBUILD 78820 2012-10-25 06:47:28Z foutrelis $ -# Maintainer (Arch): Jan Alexander Steffens (heftig) -# Contributor (Arch): Allan McRae -# Contributor (Arch): dorphell -# Maintainer: André Silva - -_pkgbasename=sdl-libre -pkgname=lib32-$_pkgbasename -pkgver=1.2.15 -pkgrel=3 -pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard (32-bit), without nonfree riva_mmio.h file" -arch=('x86_64') -url="http://www.libsdl.org" -license=('LGPL') -provides=("lib32-sdl=${pkgver}") -conflicts=('lib32-sdl') -replaces=('lib32-sdl') -depends=('lib32-libxext' 'lib32-libxrender' 'lib32-libx11' $_pkgbasename) -makedepends=('lib32-alsa-lib' 'lib32-mesa' 'lib32-libpulse' gcc-multilib) -optdepends=('lib32-alsa-lib: ALSA audio driver' - 'lib32-libpulse: PulseAudio audio driver') -options=('!libtool') -source=(https://repo.parabolagnulinux.org/other/$pkgname/SDL-libre-${pkgver}.tar.gz - sdl-1.2.14-fix-mouse-clicking.patch - sdl-1.2.14-disable-mmx.patch - fix_joystick_misc_axes.diff - libsdl-1.2.15-resizing.patch) -md5sums=('c6e53ef16fa347ed066c3d68fe93c378' - '04d8c179f125e04bcd4c9d60e013c2d7' - 'e5c16b7611f62c7cb25f0534eff68852' - '687586a108b597a2a6b73070c1d37e51' - '3dd50347d8856160a9cbd7f80383a1f8') - -build() { - export CC="gcc -m32" - export CXX="g++ -m32" - export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" - - cd SDL-$pkgver - patch -Np1 -i ../sdl-1.2.14-fix-mouse-clicking.patch - patch -Np1 -i ../sdl-1.2.14-disable-mmx.patch - patch -Np1 -i ../fix_joystick_misc_axes.diff - patch -Np1 -i ../libsdl-1.2.15-resizing.patch - ./configure --prefix=/usr --disable-nasm --enable-alsa \ - --with-x --disable-rpath --disable-static --libdir=/usr/lib32 - make -} - -package() { - cd SDL-$pkgver - make DESTDIR="$pkgdir" install - - rm -rf "$pkgdir"/usr/{include,share} - - cd "$pkgdir/usr/bin" - mv sdl-config sdl-config-32 -} diff --git a/libre-multilib/lib32-sdl-libre/fix_joystick_misc_axes.diff b/libre-multilib/lib32-sdl-libre/fix_joystick_misc_axes.diff deleted file mode 100644 index 75e3755c9..000000000 --- a/libre-multilib/lib32-sdl-libre/fix_joystick_misc_axes.diff +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/joystick/linux/SDL_sysjoystick.c b/src/joystick/linux/SDL_sysjoystick.c -index ee43974..80e46e4 100644 ---- a/src/joystick/linux/SDL_sysjoystick.c -+++ b/src/joystick/linux/SDL_sysjoystick.c -@@ -702,7 +702,7 @@ static SDL_bool EV_ConfigJoystick(SDL_Joystick *joystick, int fd) - ++joystick->nbuttons; - } - } -- for ( i=0; iFifoFree >> 2; \ -- FifoFreeCount -= (cnt); \ --} --#endif /* __RIVA_HW_H__ */ -- ---- src/video/fbcon/SDL_fbriva.c 2012-01-19 04:30:06.000000000 -0200 -+++ src/video/fbcon/SDL_fbriva.c 2012-04-01 15:10:10.108451467 -0300 -@@ -24,12 +24,10 @@ - #include "SDL_video.h" - #include "../SDL_blit.h" - #include "SDL_fbriva.h" --#include "riva_mmio.h" - #include "riva_regs.h" - - - static int FifoEmptyCount = 0; --static int FifoFreeCount = 0; - - /* Wait for vertical retrace */ - static void WaitVBL(_THIS) -@@ -41,20 +39,6 @@ - while ( !(*port & 0x08) ) - ; - } --static void NV3WaitIdle(_THIS) --{ -- RivaRop *Rop = (RivaRop *)(mapped_io + ROP_OFFSET); -- while ( (Rop->FifoFree < FifoEmptyCount) || -- (*(mapped_io + PGRAPH_OFFSET + 0x000006B0) & 0x01) ) -- ; --} --static void NV4WaitIdle(_THIS) --{ -- RivaRop *Rop = (RivaRop *)(mapped_io + ROP_OFFSET); -- while ( (Rop->FifoFree < FifoEmptyCount) || -- (*(mapped_io + PGRAPH_OFFSET + 0x00000700) & 0x01) ) -- ; --} - - #if 0 /* Not yet implemented? */ - /* Sets video mem colorkey and accelerated blit function */ -@@ -74,7 +58,6 @@ - { - int dstX, dstY; - int dstW, dstH; -- RivaBitmap *Bitmap = (RivaBitmap *)(mapped_io + BITMAP_OFFSET); - - /* Don't blit to the display surface when switched away */ - if ( switched_away ) { -@@ -93,13 +76,6 @@ - dstX += rect->x; - dstY += rect->y; - -- RIVA_FIFO_FREE(Bitmap, 1); -- Bitmap->Color1A = color; -- -- RIVA_FIFO_FREE(Bitmap, 2); -- Bitmap->UnclippedRectangle[0].TopLeft = (dstX << 16) | dstY; -- Bitmap->UnclippedRectangle[0].WidthHeight = (dstW << 16) | dstH; -- - FB_AddBusySurface(dst); - - if ( dst == this->screen ) { -@@ -115,7 +91,6 @@ - int srcX, srcY; - int dstX, dstY; - int dstW, dstH; -- RivaScreenBlt *Blt = (RivaScreenBlt *)(mapped_io + BLT_OFFSET); - - /* FIXME: For now, only blit to display surface */ - if ( dst->pitch != SDL_VideoSurface->pitch ) { -@@ -142,11 +117,6 @@ - dstX += dstrect->x; - dstY += dstrect->y; - -- RIVA_FIFO_FREE(Blt, 3); -- Blt->TopLeftSrc = (srcY << 16) | srcX; -- Blt->TopLeftDst = (dstY << 16) | dstX; -- Blt->WidthHeight = (dstH << 16) | dstW; -- - FB_AddBusySurface(src); - FB_AddBusySurface(dst); - -@@ -185,23 +155,15 @@ - - void FB_RivaAccel(_THIS, __u32 card) - { -- RivaRop *Rop = (RivaRop *)(mapped_io + ROP_OFFSET); - - /* We have hardware accelerated surface functions */ - this->CheckHWBlit = CheckHWBlit; - wait_vbl = WaitVBL; - switch (card) { -- case FB_ACCEL_NV3: -- wait_idle = NV3WaitIdle; -- break; -- case FB_ACCEL_NV4: -- wait_idle = NV4WaitIdle; -- break; - default: - /* Hmm... FIXME */ - break; - } -- FifoEmptyCount = Rop->FifoFree; - - /* The Riva has an accelerated color fill */ - this->info.blit_fill = 1; ---- src/video/fbcon/SDL_fbvideo.c.orig 2011-09-08 17:30:03.670583685 +0200 -+++ src/video/fbcon/SDL_fbvideo.c 2011-09-08 17:30:24.230582737 +0200 -@@ -46,7 +46,6 @@ - #include "SDL_fbevents_c.h" - #include "SDL_fb3dfx.h" - #include "SDL_fbmatrox.h" --#include "SDL_fbriva.h" - - /*#define FBCON_DEBUG*/ - -@@ -769,13 +768,6 @@ - #endif - FB_3DfxAccel(this, finfo.accel); - break; -- case FB_ACCEL_NV3: -- case FB_ACCEL_NV4: --#ifdef FBACCEL_DEBUG -- printf("NVidia hardware accelerator!\n"); --#endif -- FB_RivaAccel(this, finfo.accel); -- break; - default: - #ifdef FBACCEL_DEBUG - printf("Unknown hardware accelerator.\n"); diff --git a/libre-multilib/lib32-sdl-libre/libsdl-1.2.15-resizing.patch b/libre-multilib/lib32-sdl-libre/libsdl-1.2.15-resizing.patch deleted file mode 100644 index 0655a13e1..000000000 --- a/libre-multilib/lib32-sdl-libre/libsdl-1.2.15-resizing.patch +++ /dev/null @@ -1,63 +0,0 @@ -Description: Revert change that breaks window corner resizing - http://bugzilla.libsdl.org/show_bug.cgi?id=1430 -Author: Andrew Caudwell -Last-Update: 2012-04-10 -Bug-Debian: http://bugs.debian.org/665779 - -diff -r c787fb1b5699 src/video/x11/SDL_x11events.c ---- a/src/video/x11/SDL_x11events.c Mon Feb 20 23:51:08 2012 -0500 -+++ b/src/video/x11/SDL_x11events.c Mon Mar 26 12:26:52 2012 +1300 -@@ -57,12 +57,6 @@ - static SDLKey MISC_keymap[256]; - SDLKey X11_TranslateKeycode(Display *display, KeyCode kc); - --/* -- Pending resize target for ConfigureNotify (so outdated events don't -- cause inappropriate resize events) --*/ --int X11_PendingConfigureNotifyWidth = -1; --int X11_PendingConfigureNotifyHeight = -1; - - #ifdef X_HAVE_UTF8_STRING - Uint32 Utf8ToUcs4(const Uint8 *utf8) -@@ -825,16 +819,6 @@ - #ifdef DEBUG_XEVENTS - printf("ConfigureNotify! (resize: %dx%d)\n", xevent.xconfigure.width, xevent.xconfigure.height); - #endif -- if ((X11_PendingConfigureNotifyWidth != -1) && -- (X11_PendingConfigureNotifyHeight != -1)) { -- if ((xevent.xconfigure.width != X11_PendingConfigureNotifyWidth) && -- (xevent.xconfigure.height != X11_PendingConfigureNotifyHeight)) { -- /* Event is from before the resize, so ignore. */ -- break; -- } -- X11_PendingConfigureNotifyWidth = -1; -- X11_PendingConfigureNotifyHeight = -1; -- } - if ( SDL_VideoSurface ) { - if ((xevent.xconfigure.width != SDL_VideoSurface->w) || - (xevent.xconfigure.height != SDL_VideoSurface->h)) { -diff -r c787fb1b5699 src/video/x11/SDL_x11events_c.h ---- a/src/video/x11/SDL_x11events_c.h Mon Feb 20 23:51:08 2012 -0500 -+++ b/src/video/x11/SDL_x11events_c.h Mon Mar 26 12:26:52 2012 +1300 -@@ -27,8 +27,3 @@ - extern void X11_InitOSKeymap(_THIS); - extern void X11_PumpEvents(_THIS); - extern void X11_SetKeyboardState(Display *display, const char *key_vec); -- --/* Variables to be exported */ --extern int X11_PendingConfigureNotifyWidth; --extern int X11_PendingConfigureNotifyHeight; -- -diff -r c787fb1b5699 src/video/x11/SDL_x11video.c ---- a/src/video/x11/SDL_x11video.c Mon Feb 20 23:51:08 2012 -0500 -+++ b/src/video/x11/SDL_x11video.c Mon Mar 26 12:26:52 2012 +1300 -@@ -1182,8 +1182,6 @@ - current = NULL; - goto done; - } -- X11_PendingConfigureNotifyWidth = width; -- X11_PendingConfigureNotifyHeight = height; - } else { - if (X11_CreateWindow(this,current,width,height,bpp,flags) < 0) { - current = NULL; diff --git a/libre-multilib/lib32-sdl-libre/sdl-1.2.14-disable-mmx.patch b/libre-multilib/lib32-sdl-libre/sdl-1.2.14-disable-mmx.patch deleted file mode 100644 index 1bb6e0e47..000000000 --- a/libre-multilib/lib32-sdl-libre/sdl-1.2.14-disable-mmx.patch +++ /dev/null @@ -1,13 +0,0 @@ -# and another one from FS#26020 - ---- a/src/video/SDL_yuv_sw.c 2009-10-13 06:07:15.000000000 +0700 -+++ b/src/video/SDL_yuv_sw.c 2011-09-20 19:26:30.247742620 +0700 -@@ -89,6 +89,8 @@ - #include "SDL_yuvfuncs.h" - #include "SDL_yuv_sw_c.h" - -+#undef __OPTIMIZE__ -+ - /* The functions used to manipulate software video overlays */ - static struct private_yuvhwfuncs sw_yuvfuncs = { - SDL_LockYUV_SW, diff --git a/libre-multilib/lib32-sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch b/libre-multilib/lib32-sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch deleted file mode 100644 index 7d3e5acfc..000000000 --- a/libre-multilib/lib32-sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- SDL-1.2.14/src/video/x11/SDL_x11events.c.orig 2010-04-08 11:57:05.003169834 -0700 -+++ SDL-1.2.14/src/video/x11/SDL_x11events.c 2010-04-08 12:33:51.690926340 -0700 -@@ -423,12 +423,15 @@ - if ( xevent.xcrossing.mode == NotifyUngrab ) - printf("Mode: NotifyUngrab\n"); - #endif -- if ( this->input_grab == SDL_GRAB_OFF ) { -- posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS); -+ if ( (xevent.xcrossing.mode != NotifyGrab) && -+ (xevent.xcrossing.mode != NotifyUngrab) ) { -+ if ( this->input_grab == SDL_GRAB_OFF ) { -+ posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS); -+ } -+ posted = SDL_PrivateMouseMotion(0, 0, -+ xevent.xcrossing.x, -+ xevent.xcrossing.y); - } -- posted = SDL_PrivateMouseMotion(0, 0, -- xevent.xcrossing.x, -- xevent.xcrossing.y); - } - break; - diff --git a/libre-multilib/lib32-sdl/PKGBUILD b/libre-multilib/lib32-sdl/PKGBUILD new file mode 100644 index 000000000..4bb815cfe --- /dev/null +++ b/libre-multilib/lib32-sdl/PKGBUILD @@ -0,0 +1,66 @@ +# $Id: PKGBUILD 114755 2014-07-03 20:47:41Z heftig $ +# Maintainer (Arch): Jan Alexander Steffens (heftig) +# Contributor (Arch): Allan McRae +# Contributor (Arch): dorphell +# Maintainer: André Silva + +_pkgbasename=sdl +pkgname=lib32-$_pkgbasename +pkgver=1.2.15 +pkgrel=6.parabola1 +pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard (32-bit), without nonfree riva_mmio.h file" +arch=('x86_64') +url="http://www.libsdl.org" +license=('LGPL') +conflicts=('lib32-sdl-libre') +replaces=('lib32-sdl-libre') +depends=('lib32-libxext' 'lib32-libxrender' 'lib32-libx11' $_pkgbasename) +makedepends=('lib32-alsa-lib' 'lib32-mesa' 'lib32-libpulse' 'lib32-glu' gcc-multilib) +optdepends=('lib32-alsa-lib: ALSA audio driver' + 'lib32-libpulse: PulseAudio audio driver') +options=('staticlibs') +source=(https://repo.parabolagnulinux.org/other/sdl-libre/SDL-libre-${pkgver}.tar.gz + sdl-1.2.14-fix-mouse-clicking.patch + sdl-1.2.14-disable-mmx.patch + fix_joystick_misc_axes.diff + libsdl-1.2.15-resizing.patch + sdl_x11sym.patch + X11_KeyToUnicode.patch) +md5sums=('c6e53ef16fa347ed066c3d68fe93c378' + '04d8c179f125e04bcd4c9d60e013c2d7' + 'e5c16b7611f62c7cb25f0534eff68852' + '687586a108b597a2a6b73070c1d37e51' + '3dd50347d8856160a9cbd7f80383a1f8' + '148b285bccee9d21bb96db807363b962' + 'edea272dff4698470877c016d818918d') + +prepare() { + cd SDL-$pkgver + patch -Np1 -i ../sdl-1.2.14-fix-mouse-clicking.patch + patch -Np1 -i ../sdl-1.2.14-disable-mmx.patch + patch -Np1 -i ../fix_joystick_misc_axes.diff + patch -Np1 -i ../libsdl-1.2.15-resizing.patch + patch -Np0 -i ../sdl_x11sym.patch + patch -Np1 -i ../X11_KeyToUnicode.patch +} + +build() { + export CC="gcc -m32" + export CXX="g++ -m32" + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + + cd SDL-$pkgver + ./configure --prefix=/usr --disable-nasm --enable-alsa \ + --with-x --disable-rpath --disable-static --libdir=/usr/lib32 + make +} + +package() { + cd SDL-$pkgver + make DESTDIR="$pkgdir" install + + rm -rf "$pkgdir"/usr/{include,share} + + cd "$pkgdir/usr/bin" + mv sdl-config sdl-config-32 +} diff --git a/libre-multilib/lib32-sdl/X11_KeyToUnicode.patch b/libre-multilib/lib32-sdl/X11_KeyToUnicode.patch new file mode 100644 index 000000000..5f0f325b1 --- /dev/null +++ b/libre-multilib/lib32-sdl/X11_KeyToUnicode.patch @@ -0,0 +1,52 @@ + +# HG changeset patch +# User Sam Lantinga +# Date 1327258041 18000 +# Node ID 900a0fae90ca65cff55a70a17b9ec39d2ddccbcf +# Parent 5273dfd19a5e8c5736a0d417bd441f704c5355f8 +Fixed bug 1390 - X11_KeyToUnicode + +manuel.montezelo 2012-01-22 08:56:18 PST + +We had the following bug report at Debian: +http://bugs.debian.org/376560 + +Same one in Ubuntu: +https://bugs.launchpad.net/ubuntu/+source/libsdl1.2/+bug/66217 + +We've been including a patch since then (attached) to actually export the +symbol, since 2006. In the last release the function seems to be there, alive +and kicking. + +It's affecting other people too: +http://www.garagegames.com/community/forums/viewthread/52287 + +diff -r 5273dfd19a5e -r 900a0fae90ca src/video/x11/SDL_x11events.c +--- a/src/video/x11/SDL_x11events.c Sat Jan 21 12:06:51 2012 -0500 ++++ b/src/video/x11/SDL_x11events.c Sun Jan 22 13:47:21 2012 -0500 +@@ -1246,8 +1246,11 @@ + * sequences (dead accents, compose key sequences) will not work since the + * state has been irrevocably lost. + */ ++extern DECLSPEC Uint16 SDLCALL X11_KeyToUnicode(SDLKey, SDLMod); ++ + Uint16 X11_KeyToUnicode(SDLKey keysym, SDLMod modifiers) + { ++ static int warning = 0; + struct SDL_VideoDevice *this = current_video; + char keybuf[32]; + int i; +@@ -1255,6 +1258,12 @@ + XKeyEvent xkey; + Uint16 unicode; + ++ if ( warning ) { ++ warning = 0; ++ fprintf(stderr, "WARNING: Application is using X11_KeyToUnicode().\n"); ++ fprintf(stderr, "This is not an official SDL function, please report this as a bug.\n"); ++ } ++ + if ( !this || !SDL_Display ) { + return 0; + } + diff --git a/libre-multilib/lib32-sdl/fix_joystick_misc_axes.diff b/libre-multilib/lib32-sdl/fix_joystick_misc_axes.diff new file mode 100644 index 000000000..75e3755c9 --- /dev/null +++ b/libre-multilib/lib32-sdl/fix_joystick_misc_axes.diff @@ -0,0 +1,13 @@ +diff --git a/src/joystick/linux/SDL_sysjoystick.c b/src/joystick/linux/SDL_sysjoystick.c +index ee43974..80e46e4 100644 +--- a/src/joystick/linux/SDL_sysjoystick.c ++++ b/src/joystick/linux/SDL_sysjoystick.c +@@ -702,7 +702,7 @@ static SDL_bool EV_ConfigJoystick(SDL_Joystick *joystick, int fd) + ++joystick->nbuttons; + } + } +- for ( i=0; iFifoFree >> 2; \ +- FifoFreeCount -= (cnt); \ +-} +-#endif /* __RIVA_HW_H__ */ +- +--- src/video/fbcon/SDL_fbriva.c 2012-01-19 04:30:06.000000000 -0200 ++++ src/video/fbcon/SDL_fbriva.c 2012-04-01 15:10:10.108451467 -0300 +@@ -24,12 +24,10 @@ + #include "SDL_video.h" + #include "../SDL_blit.h" + #include "SDL_fbriva.h" +-#include "riva_mmio.h" + #include "riva_regs.h" + + + static int FifoEmptyCount = 0; +-static int FifoFreeCount = 0; + + /* Wait for vertical retrace */ + static void WaitVBL(_THIS) +@@ -41,20 +39,6 @@ + while ( !(*port & 0x08) ) + ; + } +-static void NV3WaitIdle(_THIS) +-{ +- RivaRop *Rop = (RivaRop *)(mapped_io + ROP_OFFSET); +- while ( (Rop->FifoFree < FifoEmptyCount) || +- (*(mapped_io + PGRAPH_OFFSET + 0x000006B0) & 0x01) ) +- ; +-} +-static void NV4WaitIdle(_THIS) +-{ +- RivaRop *Rop = (RivaRop *)(mapped_io + ROP_OFFSET); +- while ( (Rop->FifoFree < FifoEmptyCount) || +- (*(mapped_io + PGRAPH_OFFSET + 0x00000700) & 0x01) ) +- ; +-} + + #if 0 /* Not yet implemented? */ + /* Sets video mem colorkey and accelerated blit function */ +@@ -74,7 +58,6 @@ + { + int dstX, dstY; + int dstW, dstH; +- RivaBitmap *Bitmap = (RivaBitmap *)(mapped_io + BITMAP_OFFSET); + + /* Don't blit to the display surface when switched away */ + if ( switched_away ) { +@@ -93,13 +76,6 @@ + dstX += rect->x; + dstY += rect->y; + +- RIVA_FIFO_FREE(Bitmap, 1); +- Bitmap->Color1A = color; +- +- RIVA_FIFO_FREE(Bitmap, 2); +- Bitmap->UnclippedRectangle[0].TopLeft = (dstX << 16) | dstY; +- Bitmap->UnclippedRectangle[0].WidthHeight = (dstW << 16) | dstH; +- + FB_AddBusySurface(dst); + + if ( dst == this->screen ) { +@@ -115,7 +91,6 @@ + int srcX, srcY; + int dstX, dstY; + int dstW, dstH; +- RivaScreenBlt *Blt = (RivaScreenBlt *)(mapped_io + BLT_OFFSET); + + /* FIXME: For now, only blit to display surface */ + if ( dst->pitch != SDL_VideoSurface->pitch ) { +@@ -142,11 +117,6 @@ + dstX += dstrect->x; + dstY += dstrect->y; + +- RIVA_FIFO_FREE(Blt, 3); +- Blt->TopLeftSrc = (srcY << 16) | srcX; +- Blt->TopLeftDst = (dstY << 16) | dstX; +- Blt->WidthHeight = (dstH << 16) | dstW; +- + FB_AddBusySurface(src); + FB_AddBusySurface(dst); + +@@ -185,23 +155,15 @@ + + void FB_RivaAccel(_THIS, __u32 card) + { +- RivaRop *Rop = (RivaRop *)(mapped_io + ROP_OFFSET); + + /* We have hardware accelerated surface functions */ + this->CheckHWBlit = CheckHWBlit; + wait_vbl = WaitVBL; + switch (card) { +- case FB_ACCEL_NV3: +- wait_idle = NV3WaitIdle; +- break; +- case FB_ACCEL_NV4: +- wait_idle = NV4WaitIdle; +- break; + default: + /* Hmm... FIXME */ + break; + } +- FifoEmptyCount = Rop->FifoFree; + + /* The Riva has an accelerated color fill */ + this->info.blit_fill = 1; +--- src/video/fbcon/SDL_fbvideo.c.orig 2011-09-08 17:30:03.670583685 +0200 ++++ src/video/fbcon/SDL_fbvideo.c 2011-09-08 17:30:24.230582737 +0200 +@@ -46,7 +46,6 @@ + #include "SDL_fbevents_c.h" + #include "SDL_fb3dfx.h" + #include "SDL_fbmatrox.h" +-#include "SDL_fbriva.h" + + /*#define FBCON_DEBUG*/ + +@@ -769,13 +768,6 @@ + #endif + FB_3DfxAccel(this, finfo.accel); + break; +- case FB_ACCEL_NV3: +- case FB_ACCEL_NV4: +-#ifdef FBACCEL_DEBUG +- printf("NVidia hardware accelerator!\n"); +-#endif +- FB_RivaAccel(this, finfo.accel); +- break; + default: + #ifdef FBACCEL_DEBUG + printf("Unknown hardware accelerator.\n"); diff --git a/libre-multilib/lib32-sdl/libsdl-1.2.15-resizing.patch b/libre-multilib/lib32-sdl/libsdl-1.2.15-resizing.patch new file mode 100644 index 000000000..0655a13e1 --- /dev/null +++ b/libre-multilib/lib32-sdl/libsdl-1.2.15-resizing.patch @@ -0,0 +1,63 @@ +Description: Revert change that breaks window corner resizing + http://bugzilla.libsdl.org/show_bug.cgi?id=1430 +Author: Andrew Caudwell +Last-Update: 2012-04-10 +Bug-Debian: http://bugs.debian.org/665779 + +diff -r c787fb1b5699 src/video/x11/SDL_x11events.c +--- a/src/video/x11/SDL_x11events.c Mon Feb 20 23:51:08 2012 -0500 ++++ b/src/video/x11/SDL_x11events.c Mon Mar 26 12:26:52 2012 +1300 +@@ -57,12 +57,6 @@ + static SDLKey MISC_keymap[256]; + SDLKey X11_TranslateKeycode(Display *display, KeyCode kc); + +-/* +- Pending resize target for ConfigureNotify (so outdated events don't +- cause inappropriate resize events) +-*/ +-int X11_PendingConfigureNotifyWidth = -1; +-int X11_PendingConfigureNotifyHeight = -1; + + #ifdef X_HAVE_UTF8_STRING + Uint32 Utf8ToUcs4(const Uint8 *utf8) +@@ -825,16 +819,6 @@ + #ifdef DEBUG_XEVENTS + printf("ConfigureNotify! (resize: %dx%d)\n", xevent.xconfigure.width, xevent.xconfigure.height); + #endif +- if ((X11_PendingConfigureNotifyWidth != -1) && +- (X11_PendingConfigureNotifyHeight != -1)) { +- if ((xevent.xconfigure.width != X11_PendingConfigureNotifyWidth) && +- (xevent.xconfigure.height != X11_PendingConfigureNotifyHeight)) { +- /* Event is from before the resize, so ignore. */ +- break; +- } +- X11_PendingConfigureNotifyWidth = -1; +- X11_PendingConfigureNotifyHeight = -1; +- } + if ( SDL_VideoSurface ) { + if ((xevent.xconfigure.width != SDL_VideoSurface->w) || + (xevent.xconfigure.height != SDL_VideoSurface->h)) { +diff -r c787fb1b5699 src/video/x11/SDL_x11events_c.h +--- a/src/video/x11/SDL_x11events_c.h Mon Feb 20 23:51:08 2012 -0500 ++++ b/src/video/x11/SDL_x11events_c.h Mon Mar 26 12:26:52 2012 +1300 +@@ -27,8 +27,3 @@ + extern void X11_InitOSKeymap(_THIS); + extern void X11_PumpEvents(_THIS); + extern void X11_SetKeyboardState(Display *display, const char *key_vec); +- +-/* Variables to be exported */ +-extern int X11_PendingConfigureNotifyWidth; +-extern int X11_PendingConfigureNotifyHeight; +- +diff -r c787fb1b5699 src/video/x11/SDL_x11video.c +--- a/src/video/x11/SDL_x11video.c Mon Feb 20 23:51:08 2012 -0500 ++++ b/src/video/x11/SDL_x11video.c Mon Mar 26 12:26:52 2012 +1300 +@@ -1182,8 +1182,6 @@ + current = NULL; + goto done; + } +- X11_PendingConfigureNotifyWidth = width; +- X11_PendingConfigureNotifyHeight = height; + } else { + if (X11_CreateWindow(this,current,width,height,bpp,flags) < 0) { + current = NULL; diff --git a/libre-multilib/lib32-sdl/sdl-1.2.14-disable-mmx.patch b/libre-multilib/lib32-sdl/sdl-1.2.14-disable-mmx.patch new file mode 100644 index 000000000..1bb6e0e47 --- /dev/null +++ b/libre-multilib/lib32-sdl/sdl-1.2.14-disable-mmx.patch @@ -0,0 +1,13 @@ +# and another one from FS#26020 + +--- a/src/video/SDL_yuv_sw.c 2009-10-13 06:07:15.000000000 +0700 ++++ b/src/video/SDL_yuv_sw.c 2011-09-20 19:26:30.247742620 +0700 +@@ -89,6 +89,8 @@ + #include "SDL_yuvfuncs.h" + #include "SDL_yuv_sw_c.h" + ++#undef __OPTIMIZE__ ++ + /* The functions used to manipulate software video overlays */ + static struct private_yuvhwfuncs sw_yuvfuncs = { + SDL_LockYUV_SW, diff --git a/libre-multilib/lib32-sdl/sdl-1.2.14-fix-mouse-clicking.patch b/libre-multilib/lib32-sdl/sdl-1.2.14-fix-mouse-clicking.patch new file mode 100644 index 000000000..7d3e5acfc --- /dev/null +++ b/libre-multilib/lib32-sdl/sdl-1.2.14-fix-mouse-clicking.patch @@ -0,0 +1,23 @@ +--- SDL-1.2.14/src/video/x11/SDL_x11events.c.orig 2010-04-08 11:57:05.003169834 -0700 ++++ SDL-1.2.14/src/video/x11/SDL_x11events.c 2010-04-08 12:33:51.690926340 -0700 +@@ -423,12 +423,15 @@ + if ( xevent.xcrossing.mode == NotifyUngrab ) + printf("Mode: NotifyUngrab\n"); + #endif +- if ( this->input_grab == SDL_GRAB_OFF ) { +- posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS); ++ if ( (xevent.xcrossing.mode != NotifyGrab) && ++ (xevent.xcrossing.mode != NotifyUngrab) ) { ++ if ( this->input_grab == SDL_GRAB_OFF ) { ++ posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS); ++ } ++ posted = SDL_PrivateMouseMotion(0, 0, ++ xevent.xcrossing.x, ++ xevent.xcrossing.y); + } +- posted = SDL_PrivateMouseMotion(0, 0, +- xevent.xcrossing.x, +- xevent.xcrossing.y); + } + break; + diff --git a/libre-multilib/lib32-sdl/sdl_x11sym.patch b/libre-multilib/lib32-sdl/sdl_x11sym.patch new file mode 100644 index 000000000..9aaa2353b --- /dev/null +++ b/libre-multilib/lib32-sdl/sdl_x11sym.patch @@ -0,0 +1,12 @@ +--- src/video/x11/SDL_x11sym.h-orig 2013-07-16 23:56:46.718523385 -0600 ++++ src/video/x11/SDL_x11sym.h 2013-07-16 23:58:27.025186485 -0600 +@@ -165,7 +165,8 @@ + */ + #ifdef LONG64 + SDL_X11_MODULE(IO_32BIT) +-SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return) ++ ++SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return) + SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),) + #endif + -- cgit v1.2.3 From 4cbcea3c1078e754ad555410d2fad0d3ed0e3bd3 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 2 Sep 2014 19:41:33 -0300 Subject: pcsx2: remove libre suffix and add complex pkgrel --- libre-multilib/pcsx2-libre/PKGBUILD | 63 ------------------------------------- libre-multilib/pcsx2/PKGBUILD | 61 +++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 63 deletions(-) delete mode 100644 libre-multilib/pcsx2-libre/PKGBUILD create mode 100644 libre-multilib/pcsx2/PKGBUILD diff --git a/libre-multilib/pcsx2-libre/PKGBUILD b/libre-multilib/pcsx2-libre/PKGBUILD deleted file mode 100644 index 3fb9571a9..000000000 --- a/libre-multilib/pcsx2-libre/PKGBUILD +++ /dev/null @@ -1,63 +0,0 @@ -# $Id: PKGBUILD 105941 2014-02-19 17:17:38Z alucryd $ -# Maintainer (Arch): Maxime Gauduin -# Contributor (Arch): josephgbr -# Contributor (Arch): vEX - -_pkgname=pcsx2 -pkgname=$_pkgname-libre -pkgver=1.2.2 -pkgrel=3 -pkgdesc='A Sony PlayStation 2 emulator, without nonfree nvidia-cg-toolkit support' -arch=('i686' 'x86_64' 'mips64el') -url='http://www.pcsx2.net' -license=('GPL2' 'GPL3' 'LGPL2.1' 'LGPL3') -makedepends=('cmake' 'sparsehash') -if [[ $CARCH == "i686" ]]; then - depends=('glew' 'libaio' 'libcanberra' 'libjpeg-turbo' 'portaudio' 'soundtouch' 'wxgtk2.8') -elif [[ $CARCH == "x86_64" ]]; then - makedepends+=('gcc-multilib' 'lib32-glew' 'lib32-libaio' 'lib32-libcanberra' 'lib32-libjpeg-turbo' 'lib32-mesa-libgl' 'lib32-portaudio' 'lib32-soundtouch' 'lib32-wxgtk2.8') -fi -provides=("$_pkgname=$pkgver") -conflicts=("$_pkgname") -replaces=("$_pkgname") -options=('!emptydirs') -source=("https://github.com/PCSX2/pcsx2/archive/v${pkgver}.tar.gz") -sha256sums=('4fccef58098d099ffe955fadd5ceee78ed063ab585b8772f4242fd6dc5fd2d23') - -prepare() { - cd ${_pkgname}-${pkgver} - # remove Cg shader on ZZogl plugin - sed -i '\|zzogl-pg-cg| s|^|#|' plugins/CMakeLists.txt -} - -build() { - cd ${_pkgname}-${pkgver} - - if [[ -d build ]]; then - rm -rf build - fi - mkdir build && cd build - - if [[ $CARCH == "i686" ]]; then - cmake .. -DCMAKE_INSTALL_PREFIX='/usr' -DCMAKE_BUILD_TYPE='Release' -D{GLSL_API,PACKAGE_MODE,REBUILD_SHADER,XDG_STD}='ON' -DPLUGIN_DIR='/usr/lib/pcsx2' -DGAMEINDEX_DIR='/usr/share/pcsx2' -DwxWidgets_CONFIG_EXECUTABLE='/usr/bin/wx-config-2.8' -DwxWidgets_wxrc_EXECUTABLE='/usr/bin/wxrc-2.8' - elif [[ $CARCH == "x86_64" ]]; then - export CC='gcc -m32' - export CXX='g++ -m32' - export PKG_CONFIG_PATH='/usr/lib32/pkgconfig' - cmake .. -DCMAKE_INSTALL_PREFIX='/usr' -DCMAKE_BUILD_TYPE='Release' -D{GLSL_API,PACKAGE_MODE,REBUILD_SHADER,XDG_STD}='ON' -DPLUGIN_DIR='/usr/lib32/pcsx2' -DGAMEINDEX_DIR='/usr/share/pcsx2' -DwxWidgets_CONFIG_EXECUTABLE='/usr/bin/wx-config32-2.8' -DwxWidgets_wxrc_EXECUTABLE='/usr/bin/wxrc32-2.8' -DCMAKE_LIBRARY_PATH='/usr/lib32' - fi - - make -} - -package() { - cd ${_pkgname}-${pkgver}/build - - if [[ $CARCH == "x86_64" ]]; then - depends=('lib32-glew' 'lib32-libaio' 'lib32-libcanberra' 'lib32-libjpeg-turbo' 'lib32-portaudio' 'lib32-soundtouch' 'lib32-wxgtk2.8') - fi - - make DESTDIR="${pkgdir}" install -} - -# vim: ts=2 sw=2 et: diff --git a/libre-multilib/pcsx2/PKGBUILD b/libre-multilib/pcsx2/PKGBUILD new file mode 100644 index 000000000..462310975 --- /dev/null +++ b/libre-multilib/pcsx2/PKGBUILD @@ -0,0 +1,61 @@ +# $Id: PKGBUILD 117536 2014-08-18 21:27:02Z alucryd $ +# Maintainer (Arch): Maxime Gauduin +# Contributor (Arch): josephgbr +# Contributor (Arch): vEX + +pkgname=pcsx2 +pkgver=1.2.2 +pkgrel=3.parabola1 +pkgdesc='A Sony PlayStation 2 emulator, without nonfree nvidia-cg-toolkit support' +arch=('i686' 'x86_64' 'mips64el') +url='http://www.pcsx2.net' +license=('GPL2' 'GPL3' 'LGPL2.1' 'LGPL3') +makedepends=('cmake' 'sparsehash') +if [[ $CARCH == "i686" ]]; then + depends=('glew' 'libaio' 'libcanberra' 'libjpeg-turbo' 'portaudio' 'soundtouch' 'wxgtk2.8') +elif [[ $CARCH == "x86_64" ]]; then + makedepends+=('gcc-multilib' 'lib32-glew' 'lib32-libaio' 'lib32-libcanberra' 'lib32-libjpeg-turbo' 'lib32-libgl' 'lib32-portaudio' 'lib32-soundtouch' 'lib32-wxgtk2.8') +fi +conflicts=("${pkgname}-libre") +replaces=("${pkgname}-libre") +options=('!emptydirs') +source=("https://github.com/PCSX2/pcsx2/archive/v${pkgver}.tar.gz") +sha256sums=('4fccef58098d099ffe955fadd5ceee78ed063ab585b8772f4242fd6dc5fd2d23') + +prepare() { + cd ${pkgname}-${pkgver} + # remove Cg shader on ZZogl plugin + sed -i '\|zzogl-pg-cg| s|^|#|' plugins/CMakeLists.txt +} + +build() { + cd ${pkgname}-${pkgver} + + if [[ -d build ]]; then + rm -rf build + fi + mkdir build && cd build + + if [[ $CARCH == "i686" ]]; then + cmake .. -DCMAKE_INSTALL_PREFIX='/usr' -DCMAKE_BUILD_TYPE='Release' -D{GLSL_API,PACKAGE_MODE,REBUILD_SHADER,XDG_STD}='ON' -DPLUGIN_DIR='/usr/lib/pcsx2' -DGAMEINDEX_DIR='/usr/share/pcsx2' -DwxWidgets_CONFIG_EXECUTABLE='/usr/bin/wx-config-2.8' -DwxWidgets_wxrc_EXECUTABLE='/usr/bin/wxrc-2.8' + elif [[ $CARCH == "x86_64" ]]; then + export CC='gcc -m32' + export CXX='g++ -m32' + export PKG_CONFIG_PATH='/usr/lib32/pkgconfig' + cmake .. -DCMAKE_INSTALL_PREFIX='/usr' -DCMAKE_BUILD_TYPE='Release' -D{GLSL_API,PACKAGE_MODE,REBUILD_SHADER,XDG_STD}='ON' -DPLUGIN_DIR='/usr/lib32/pcsx2' -DGAMEINDEX_DIR='/usr/share/pcsx2' -DwxWidgets_CONFIG_EXECUTABLE='/usr/bin/wx-config32-2.8' -DwxWidgets_wxrc_EXECUTABLE='/usr/bin/wxrc32-2.8' -DCMAKE_LIBRARY_PATH='/usr/lib32' + fi + + make +} + +package() { + cd ${pkgname}-${pkgver}/build + + if [[ $CARCH == "x86_64" ]]; then + depends=('lib32-glew' 'lib32-libaio' 'lib32-libcanberra' 'lib32-libjpeg-turbo' 'lib32-portaudio' 'lib32-soundtouch' 'lib32-wxgtk2.8') + fi + + make DESTDIR="${pkgdir}" install +} + +# vim: ts=2 sw=2 et: -- cgit v1.2.3