diff --git a/.gitignore b/.gitignore index e69de29..f5171c4 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,15 @@ +/libetonyek-0.0.0.tar.xz +/libetonyek-0.0.1.tar.xz +/libetonyek-0.0.2.tar.xz +/libetonyek-0.0.3.tar.xz +/libetonyek-0.0.4.tar.xz +/libetonyek-0.1.0.tar.xz +/libetonyek-0.1.1.tar.xz +/libetonyek-0.1.2.tar.xz +/libetonyek-0.1.3.tar.xz +/libetonyek-0.1.4.tar.xz +/libetonyek-0.1.5.tar.xz +/libetonyek-0.1.6.tar.xz +/libetonyek-0.1.7.tar.xz +/libetonyek-0.1.8.tar.xz +/libetonyek-0.1.9.tar.xz diff --git a/0001-add-missing-include-for-std-for_each.patch b/0001-add-missing-include-for-std-for_each.patch new file mode 100644 index 0000000..2a98a53 --- /dev/null +++ b/0001-add-missing-include-for-std-for_each.patch @@ -0,0 +1,33 @@ +From 4b4d879a6db69ea05b89fdf99df8cb5d902d16b6 Mon Sep 17 00:00:00 2001 +From: Roland Illig +Date: Tue, 19 May 2020 08:43:39 +0200 +Subject: [PATCH] add missing include for std::for_each + +On NetBSD 8.0 x86_64, gcc complains: + NUM3Parser.cpp: In member function 'virtual bool libetonyek::NUM3Parser::parseDocument()': + NUM3Parser.cpp:46:3: error: 'for_each' is not a member of 'std' + std::for_each(sheetListRefs.begin(), sheetListRefs.end(), std::bind(&NUM3Parser::parseSheet, this, std::placeholders::_1)); + +Change-Id: I723ba1bcbd10ed9215ceea8c5b224fdc5242be65 +Reviewed-on: https://gerrit.libreoffice.org/c/libetonyek/+/94450 +Tested-by: Thorsten Behrens +Reviewed-by: Thorsten Behrens +--- + src/lib/NUM3Parser.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/lib/NUM3Parser.cpp b/src/lib/NUM3Parser.cpp +index 66fb195..c19b611 100644 +--- a/src/lib/NUM3Parser.cpp ++++ b/src/lib/NUM3Parser.cpp +@@ -7,6 +7,7 @@ + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + ++#include + #include + + #include "NUM3Parser.h" +-- +2.26.2 + diff --git a/0001-glm-force-dmat3-initialization-needed-from-v0.9.9.0.patch b/0001-glm-force-dmat3-initialization-needed-from-v0.9.9.0.patch new file mode 100644 index 0000000..1add518 --- /dev/null +++ b/0001-glm-force-dmat3-initialization-needed-from-v0.9.9.0.patch @@ -0,0 +1,62 @@ +From 548c2735c09570726f08d5ae9fee8efefb54d529 Mon Sep 17 00:00:00 2001 +From: osnola +Date: Sun, 31 Mar 2019 09:34:11 +0200 +Subject: [PATCH] glm: force dmat3 initialization (needed from v0.9.9.0) + +Change-Id: I2cb285f2d9bc1e9818ed946b38caaf8a5de9e61a +Reviewed-on: https://gerrit.libreoffice.org/69993 +Reviewed-by: Laurent Alonso(fr) +Tested-by: Laurent Alonso(fr) +--- + src/lib/IWORKCollector.cpp | 6 +++--- + src/lib/KEYCollector.cpp | 3 +-- + 2 files changed, 4 insertions(+), 5 deletions(-) + +diff --git a/src/lib/IWORKCollector.cpp b/src/lib/IWORKCollector.cpp +index 41a9c79..794b462 100644 +--- a/src/lib/IWORKCollector.cpp ++++ b/src/lib/IWORKCollector.cpp +@@ -183,8 +183,8 @@ private: + IWORKCollector::Level::Level() + : m_geometry() + , m_graphicStyle() +- , m_trafo() +- , m_previousTrafo() ++ , m_trafo(1) ++ , m_previousTrafo(1) + { + } + +@@ -601,7 +601,7 @@ void IWORKCollector::startLevel() + return; + } + +- glm::dmat3 currentTrafo, prevTrafo; ++ glm::dmat3 currentTrafo(1), prevTrafo(1); + if (!m_levelStack.empty()) + { + currentTrafo = m_levelStack.top().m_trafo; +diff --git a/src/lib/KEYCollector.cpp b/src/lib/KEYCollector.cpp +index a9d8cc3..08e7e69 100644 +--- a/src/lib/KEYCollector.cpp ++++ b/src/lib/KEYCollector.cpp +@@ -167,7 +167,7 @@ void KEYCollector::insertTextPlaceholder(const KEYPlaceholderPtr_t &placeholder) + { + if (bool(placeholder)) + { +- glm::dmat3 trafo; ++ glm::dmat3 trafo(1); + if (bool(placeholder->m_geometry)) + trafo = makeTransformation(*placeholder->m_geometry); + trafo *= m_levelStack.top().m_trafo; +@@ -417,7 +417,6 @@ void KEYCollector::drawTextBox(const IWORKTextPtr_t &text, const glm::dmat3 &tra + double w = boundingBox->m_naturalSize.m_width; + double h = boundingBox->m_naturalSize.m_height; + vec = trafo * glm::dvec3(w, h, 0); +- + if (vec[0]>0) + props.insert("svg:width", pt2in(vec[0])); + if (vec[1]>0) +-- +2.24.1 + diff --git a/libetonyek.spec b/libetonyek.spec new file mode 100644 index 0000000..0919903 --- /dev/null +++ b/libetonyek.spec @@ -0,0 +1,273 @@ +%global apiversion 0.1 + +Name: libetonyek +Version: 0.1.9 +Release: 9%{?dist} +Summary: A library for import of Apple iWork documents + +License: MPLv2.0 +URL: http://wiki.documentfoundation.org/DLP/Libraries/libetonyek +Source: http://dev-www.libreoffice.org/src/%{name}/%{name}-%{version}.tar.xz + +BuildRequires: boost-devel +BuildRequires: doxygen +BuildRequires: gcc-c++ +BuildRequires: glm-devel +BuildRequires: gperf +BuildRequires: help2man +BuildRequires: pkgconfig(cppunit) +BuildRequires: pkgconfig(liblangtag) +BuildRequires: pkgconfig(librevenge-0.0) +BuildRequires: pkgconfig(librevenge-generators-0.0) +BuildRequires: pkgconfig(librevenge-stream-0.0) +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(mdds-1.5) +BuildRequires: pkgconfig(zlib) + +Patch1: 0001-glm-force-dmat3-initialization-needed-from-v0.9.9.0.patch +Patch2: 0001-add-missing-include-for-std-for_each.patch + +%description +%{name} is library for import of Apple iWork documents. It supports +documents created by any version of Keynote, Pages or Numbers. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%package doc +Summary: Documentation of %{name} API +BuildArch: noarch + +%description doc +The %{name}-doc package contains documentation files for %{name}. + +%package tools +Summary: Tools to transform Apple iWork documents into other formats +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description tools +Tools to transform Apple iWork documents into other formats. Currently +supported: CSV, HTML, SVG, text, and raw. + +%prep +%autosetup -p1 + +%build +%configure --disable-silent-rules --disable-static --disable-werror --with-mdds=1.5 +sed -i \ + -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \ + -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \ + libtool +%make_build + +%install +%make_install +rm -f %{buildroot}/%{_libdir}/*.la +# we install API docs directly from build +rm -rf %{buildroot}/%{_docdir}/%{name} + +# generate and install man pages +export LD_LIBRARY_PATH=%{buildroot}/%{_libdir}${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} +for tool in key2raw key2text key2xhtml numbers2csv numbers2raw numbers2text pages2html pages2raw pages2text; do + help2man -N -S '%{name} %{version}' -o ${tool}.1 %{buildroot}%{_bindir}/${tool} +done +install -m 0755 -d %{buildroot}/%{_mandir}/man1 +install -m 0644 key2*.1 numbers2*.1 pages2*.1 %{buildroot}/%{_mandir}/man1 + +%ldconfig_scriptlets + +%check +export LD_LIBRARY_PATH=%{buildroot}/%{_libdir}${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} +if ! %make_build check; then + cat src/test/*.log + exit 1 +fi + +%files +%doc AUTHORS FEATURES NEWS README +%license COPYING +%{_libdir}/%{name}-%{apiversion}.so.* + +%files devel +%doc ChangeLog +%{_includedir}/%{name}-%{apiversion} +%{_libdir}/%{name}-%{apiversion}.so +%{_libdir}/pkgconfig/%{name}-%{apiversion}.pc + +%files doc +%license COPYING +%doc docs/doxygen/html + +%files tools +%{_bindir}/key2raw +%{_bindir}/key2text +%{_bindir}/key2xhtml +%{_bindir}/numbers2csv +%{_bindir}/numbers2raw +%{_bindir}/numbers2text +%{_bindir}/pages2html +%{_bindir}/pages2raw +%{_bindir}/pages2text +%{_mandir}/man1/key2raw.1* +%{_mandir}/man1/key2text.1* +%{_mandir}/man1/key2xhtml.1* +%{_mandir}/man1/numbers2csv.1* +%{_mandir}/man1/numbers2raw.1* +%{_mandir}/man1/numbers2text.1* +%{_mandir}/man1/pages2html.1* +%{_mandir}/man1/pages2raw.1* +%{_mandir}/man1/pages2text.1* + +%changelog +* Tue Jul 28 2020 Fedora Release Engineering - 0.1.9-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 14 2020 Tom Stellard - 0.1.9-8 +- Use make macros +- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro + +* Thu Jun 04 2020 David Tardon - 0.1.9-7 +- fix build with latest boost + +* Thu Feb 06 2020 Caolán McNamara - 0.1.9-6 +- add fix for contemporary glm + +* Wed Jan 29 2020 Fedora Release Engineering - 0.1.9-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 0.1.9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 0.1.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jan 25 2019 Jonathan Wakely - 0.1.9-2 +- Rebuilt for Boost 1.69 + +* Sat Dec 29 2018 David Tardon - 0.1.9-1 +- new upstream release + +* Fri Jul 13 2018 Fedora Release Engineering - 0.1.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Sun Apr 22 2018 David Tardon - 0.1.8-1 +- new upstream release + +* Wed Feb 07 2018 Fedora Release Engineering - 0.1.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Jan 23 2018 Jonathan Wakely - 0.1.7-2 +- Rebuilt for Boost 1.66 + +* Mon Oct 23 2017 David Tardon - 0.1.7-1 +- new upstream release + +* Thu Aug 03 2017 Fedora Release Engineering - 0.1.6-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 0.1.6-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Jul 03 2017 Jonathan Wakely - 0.1.6-8 +- Rebuilt for Boost 1.64 + +* Mon May 15 2017 Fedora Release Engineering - 0.1.6-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 0.1.6-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Jan 27 2017 Jonathan Wakely - 0.1.6-5 +- Rebuilt for Boost 1.63 + +* Sun Feb 14 2016 David Tardon - 0.1.6-4 +- switch to mdds 1.x + +* Thu Feb 04 2016 Fedora Release Engineering - 0.1.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jan 15 2016 Jonathan Wakely - 0.1.6-2 +- Rebuilt for Boost 1.60 + +* Wed Jan 13 2016 David Tardon - 0.1.6-1 +- new upstream release + +* Thu Dec 03 2015 David Tardon - 0.1.5-1 +- new upstream release + +* Wed Nov 18 2015 David Tardon - 0.1.4-1 +- new upstream release + +* Thu Aug 27 2015 Jonathan Wakely - 0.1.3-4 +- Rebuilt for Boost 1.59 + +* Wed Jul 29 2015 Fedora Release Engineering - 0.1.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 + +* Wed Jul 22 2015 David Tardon - 0.1.3-2 +- rebuild for Boost 1.58 + +* Wed Jun 24 2015 David Tardon - 0.1.3-1 +- new upstream release + +* Wed Jun 17 2015 Fedora Release Engineering - 0.1.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri Jun 12 2015 David Tardon - 0.1.2-3 +- fix output of shapes + +* Tue May 26 2015 David Tardon - 0.1.2-2 +- fix some problems found by coverity + +* Wed May 20 2015 David Tardon - 0.1.2-1 +- new upstream release + +* Sat May 02 2015 Kalev Lember - 0.1.1-5 +- Rebuilt for GCC 5 C++11 ABI change + +* Tue Jan 27 2015 Petr Machata - 0.1.1-4 +- Rebuild for boost 1.57.0 + +* Sun Aug 17 2014 Fedora Release Engineering - 0.1.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 0.1.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue Jun 03 2014 David Tardon - 0.1.1-1 +- new upstream release + +* Thu May 29 2014 David Tardon - 0.1.0-2 +- fix detection of Keynote 3 documents + +* Mon May 26 2014 David Tardon - 0.1.0-1 +- new upstream release + +* Fri May 23 2014 Petr Machata - 0.0.4-3 +- Rebuild for boost 1.55.0 + +* Mon May 05 2014 Jaromir Capik - 0.0.4-2 +- fixing FTBFS on ppc64le + +* Tue Apr 15 2014 David Tardon - 0.0.4-1 +- new upstream release + +* Wed Apr 09 2014 David Tardon - 0.0.3-2 +- generate man pages + +* Fri Dec 06 2013 David Tardon - 0.0.3-1 +- new release + +* Wed Dec 04 2013 David Tardon - 0.0.2-1 +- new release + +* Mon Nov 04 2013 David Tardon - 0.0.1-1 +- new release + +* Wed Oct 30 2013 David Tardon 0.0.0-1 +- initial import diff --git a/sources b/sources new file mode 100644 index 0000000..75a8907 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (libetonyek-0.1.9.tar.xz) = 3f439b369d450bb1a4bdb3fe92023bda234b323cf676570f1738318c56867a97910f536280b9b164c3fdaa423a3ee669c935df75a5c700bc1530ea5b9a00391e