From 17a4cf173cc258c9e998108349aa8a4b23f585d6 Mon Sep 17 00:00:00 2001
From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
Date: Thu, 25 Oct 2018 00:39:04 +0000
Subject: [PATCH] user/calligra: new package

---
 user/calligra/APKBUILD       | 80 ++++++++++++++++++++++++++++++++++
 user/calligra/c99-math.patch | 18 ++++++++
 user/calligra/poppler.patch  | 84 ++++++++++++++++++++++++++++++++++++
 3 files changed, 182 insertions(+)
 create mode 100644 user/calligra/APKBUILD
 create mode 100644 user/calligra/c99-math.patch
 create mode 100644 user/calligra/poppler.patch

diff --git a/user/calligra/APKBUILD b/user/calligra/APKBUILD
new file mode 100644
index 0000000000..c03a90f7fd
--- /dev/null
+++ b/user/calligra/APKBUILD
@@ -0,0 +1,80 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=calligra
+pkgver=3.1.0
+pkgrel=0
+pkgdesc="KDE Office suite"
+url="https://www.calligra.org/"
+arch="all"
+options="!check"  # Tests require X11
+license="GPL-2.0-only"
+depends="shared-mime-info"
+makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtscript-dev
+
+	karchive-dev kcmutils-dev kcodecs-dev kcompletion-dev kconfig-dev
+	kconfigwidgets-dev kcoreaddons-dev kdbusaddons-dev kdoctools-dev
+	kguiaddons-dev ki18n-dev kiconthemes-dev kio-dev kitemviews-dev
+	kjobwidgets-dev kdelibs4support-dev knotifications-dev kparts-dev
+	knotifyconfig-dev kross-dev ktextwidgets-dev kwallet-dev
+	kwidgetsaddons-dev kwindowsystem-dev kxmlgui-dev sonnet-dev
+
+	kactivities-dev khtml-dev kholidays-dev qt5-qtwebkit-dev
+
+	boost-dev eigen-dev fontconfig-dev freetype-dev gsl-dev lcms2-dev
+	libetonyek-dev libgit2-dev libodfgen-dev librevenge-dev libvisio-dev
+	libwpd-dev libwpg-dev libwps-dev marble-dev poppler-dev poppler-qt5-dev
+	qca-dev
+
+	kcalcore-dev kcontacts-dev kdiagram-dev"
+subpackages="$pkgname-dev $pkgname-lang"
+source="https://download.kde.org/stable/calligra/$pkgver/calligra-$pkgver.tar.xz
+	https://download.kde.org/stable/calligra/$pkgver/calligraplan-$pkgver.tar.xz
+	c99-math.patch
+	poppler.patch
+	"
+
+prepare() {
+	default_prepare
+
+	cd "$builddir"
+	mv ../calligraplan-$pkgver plan
+	sed -e "/add_subdirectory(plan)/s/#//" \
+		-e "/^calligra_disable_product(APP_PLAN/s/^/#/" \
+		-i CMakeLists.txt
+	mkdir build
+}
+
+build() {
+	cd "$builddir"/build
+	if [ "$CBUILD" != "$CHOST" ]; then
+		CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+	fi
+	cmake \
+		-DCMAKE_INSTALL_PREFIX=/usr \
+		-DCMAKE_INSTALL_LIBDIR=lib \
+		-DBUILD_SHARED_LIBS=True \
+		-DCMAKE_BUILD_TYPE=RelWithDebugInfo \
+		-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
+		-DCMAKE_C_FLAGS="$CFLAGS" \
+		-DEIGEN3_INCLUDE_DIR=/usr/include/eigen3 \
+		-DPRODUCTSET="KARBON PLAN SHEETS STAGE WORDS" \
+		-DBUILD_UNMAINTAINED=True \
+		${CMAKE_CROSSOPTS} \
+		..
+	make
+}
+
+check() {
+	cd "$builddir"/build
+	CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+	cd "$builddir"/build
+	make DESTDIR="$pkgdir" install
+}
+
+sha512sums="ad1b689a5b36deafcf6985d4a0a1e8148d10e19fb4a0be8343c6e1d24146b9a8ffa0890ab5bbb21816b3134d21150b57f6159db1a30cc54c0fde5bf7bdf4537b  calligra-3.1.0.tar.xz
+a8ccc6ee2f0381b811926a296122464bdb79aad7c75ff0f7a554e4596165ff7fd7ef62c9af9232ea36542d6b538446c8920fe77cbbe7ffacdf6e6b99a1b68156  calligraplan-3.1.0.tar.xz
+b03d2f33a0233638be06b4219328404eac4a77c508619c4037b3b53556b257fc4888cd690bb3755562040a198cbd51a323d13553fed3f2082398556a49482c6e  c99-math.patch
+960614eb2d367443810cc356d004d43867a4fa4085b054ffd1522b94ef09e9338e723117c91148383d33d54104729750a199ab1b75569aaa7164a908afd3cd4c  poppler.patch"
diff --git a/user/calligra/c99-math.patch b/user/calligra/c99-math.patch
new file mode 100644
index 0000000000..4326dd7fa1
--- /dev/null
+++ b/user/calligra/c99-math.patch
@@ -0,0 +1,18 @@
+--- calligra-3.1.0/filters/words/msword-odf/wv2/CMakeLists.txt.old	2018-01-26 09:24:44.000000000 +0000
++++ calligra-3.1.0/filters/words/msword-odf/wv2/CMakeLists.txt	2018-10-24 23:22:43.440000000 +0000
+@@ -64,12 +64,12 @@
+   set( CMAKE_REQUIRED_INCLUDES math.h )
+ endif()
+ 
+-check_function_exists( isinf HAVE_FUNC_ISINF )
+-check_function_exists( isnan HAVE_FUNC_ISNAN )
++check_symbol_exists( isinf math.h HAVE_FUNC_ISINF )
++check_symbol_exists( isnan math.h HAVE_FUNC_ISNAN )
+ if(MINGW)
+ add_definitions( -DHAVE_FUNC_ISFINITE )
+ endif()
+-check_function_exists( finite HAVE_FUNC_FINITE )
++check_symbol_exists( finite math.h HAVE_FUNC_FINITE )
+ check_function_exists( _finite HAVE_FUNC__FINITE )
+ 
+ #
diff --git a/user/calligra/poppler.patch b/user/calligra/poppler.patch
new file mode 100644
index 0000000000..458a315146
--- /dev/null
+++ b/user/calligra/poppler.patch
@@ -0,0 +1,84 @@
+From a615718222f8ad3bba4b88fad640382e517f7dd9 Mon Sep 17 00:00:00 2001
+From: Antonio Rojas <arojas@archlinux.org>
+Date: Wed, 24 Oct 2018 08:28:00 +0200
+Subject: Fix build with poppler>=0.69
+
+Remove no longer available Object::memCheck usage (which didn't do anything anyway since DEBUG_MEM was not set); add some const's
+
+Differential Revision: https://phabricator.kde.org/D16388
+---
+ filters/karbon/pdf/PdfImport.cpp    | 3 ---
+ filters/karbon/pdf/SvgOutputDev.cpp | 8 ++++----
+ filters/karbon/pdf/SvgOutputDev.h   | 2 +-
+ 3 files changed, 5 insertions(+), 8 deletions(-)
+
+diff --git a/filters/karbon/pdf/PdfImport.cpp b/filters/karbon/pdf/PdfImport.cpp
+index c3e96b0..48b08df 100644
+--- a/filters/karbon/pdf/PdfImport.cpp
++++ b/filters/karbon/pdf/PdfImport.cpp
+@@ -102,9 +102,6 @@ KoFilter::ConversionStatus PdfImport::convert(const QByteArray& from, const QByt
+     delete globalParams;
+     globalParams = 0;
+ 
+-    // check for memory leaks
+-    Object::memCheck(stderr);
+-
+     return KoFilter::OK;
+ }
+ 
+diff --git a/filters/karbon/pdf/SvgOutputDev.cpp b/filters/karbon/pdf/SvgOutputDev.cpp
+index 931917a..7901317 100644
+--- a/filters/karbon/pdf/SvgOutputDev.cpp
++++ b/filters/karbon/pdf/SvgOutputDev.cpp
+@@ -212,7 +212,7 @@ QString SvgOutputDev::convertMatrix(const QMatrix &matrix)
+            .arg(matrix.dx()) .arg(matrix.dy());
+ }
+ 
+-QString SvgOutputDev::convertMatrix(double * matrix)
++QString SvgOutputDev::convertMatrix(const double * matrix)
+ {
+     return QString("matrix(%1 %2 %3 %4 %5 %6)")
+            .arg(matrix[0]).arg(matrix[1])
+@@ -402,7 +402,7 @@ void SvgOutputDev::drawString(GfxState * state, GooString * s)
+ 
+     QString str;
+ 
+-    char * p = s->getCString();
++    const char * p = s->getCString();
+     int len = s->getLength();
+     CharCode code;
+     Unicode *u = nullptr;
+@@ -429,7 +429,7 @@ void SvgOutputDev::drawString(GfxState * state, GooString * s)
+     double x = state->getCurX();
+     double y = state->getCurY();
+ 
+-    double * ctm = state->getCTM();
++    const double * ctm = state->getCTM();
+     QMatrix transform(ctm[0], ctm[1], ctm[2], ctm[3], ctm[4], ctm[5]);
+ 
+     QMatrix mirror;
+@@ -522,7 +522,7 @@ void SvgOutputDev::drawImage(GfxState *state, Object */*ref*/, Stream *str,
+         return;
+     }
+ 
+-    double * ctm = state->getCTM();
++    const double * ctm = state->getCTM();
+     QMatrix m;
+     m.setMatrix(ctm[0] / width, ctm[1] / width, -ctm[2] / height, -ctm[3] / height, ctm[2] + ctm[4], ctm[3] + ctm[5]);
+ 
+diff --git a/filters/karbon/pdf/SvgOutputDev.h b/filters/karbon/pdf/SvgOutputDev.h
+index 85fe55d..2a44908 100644
+--- a/filters/karbon/pdf/SvgOutputDev.h
++++ b/filters/karbon/pdf/SvgOutputDev.h
+@@ -84,7 +84,7 @@ public:
+ private:
+     QString convertPath(GfxPath *path);
+     QString convertMatrix(const QMatrix &matrix);
+-    QString convertMatrix(double * matrix);
++    QString convertMatrix(const double * matrix);
+     QString printFill();
+     QString printStroke();
+ 
+-- 
+cgit v0.11.2
+
-- 
GitLab