From 0154da010b9898da04c55f8a3d982908d10d6aa8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Sat, 24 Jul 2021 17:10:18 +0700 Subject: [PATCH] calligra: fix build, and switch to ninja --- .../patches/macro-optional-find-package.patch | 31 ++++++++++ srcpkgs/calligra/template | 59 +++++++++---------- 2 files changed, 59 insertions(+), 31 deletions(-) create mode 100644 srcpkgs/calligra/patches/macro-optional-find-package.patch diff --git a/srcpkgs/calligra/patches/macro-optional-find-package.patch b/srcpkgs/calligra/patches/macro-optional-find-package.patch new file mode 100644 index 000000000000..68fb499d5af8 --- /dev/null +++ b/srcpkgs/calligra/patches/macro-optional-find-package.patch @@ -0,0 +1,31 @@ +Index: calligra-3.2.1/cmake/modules/MacroOptionalFindPackage.cmake +=================================================================== +--- calligra-3.2.1.orig/cmake/modules/MacroOptionalFindPackage.cmake ++++ calligra-3.2.1/cmake/modules/MacroOptionalFindPackage.cmake +@@ -25,11 +25,26 @@ macro(_MOFP_SET_EMPTY_IF_DEFINED _name _ + endif(DEFINED ${_nameUpper}_${_var}) + endmacro(_MOFP_SET_EMPTY_IF_DEFINED _package _var) + ++macro(_MOFP_DEFINE_BOTH_IF_DEFINED _name _var) ++ if (DEFINED ${_name}_${_var}) ++ string(TOUPPER ${_name} _nameUpper) ++ set(${_nameUpper}_${_var} "${${_name}_${_var}}") ++ endif() ++endmacro() + + macro (MACRO_OPTIONAL_FIND_PACKAGE _name ) + option(WITH_${_name} "Search for ${_name} package" ON) + if (WITH_${_name}) + find_package(${_name} ${ARGN}) ++ _mofp_define_both_if_defined(${_name} FOUND) ++ _mofp_define_both_if_defined(${_name} INCLUDE_DIRS) ++ _mofp_define_both_if_defined(${_name} INCLUDE_DIR) ++ _mofp_define_both_if_defined(${_name} INCLUDES) ++ _mofp_define_both_if_defined(${_name} LIBRARY) ++ _mofp_define_both_if_defined(${_name} LIBRARIES) ++ _mofp_define_both_if_defined(${_name} LIBS) ++ _mofp_define_both_if_defined(${_name} FLAGS) ++ _mofp_define_both_if_defined(${_name} DEFINITIONS) + else (WITH_${_name}) + string(TOUPPER ${_name} _nameUpper) + set(${_name}_FOUND FALSE) diff --git a/srcpkgs/calligra/template b/srcpkgs/calligra/template index 6c34e0438ab8..8954565f7a00 100644 --- a/srcpkgs/calligra/template +++ b/srcpkgs/calligra/template @@ -5,7 +5,6 @@ revision=4 build_style=cmake configure_args="-Wno-dev -DCALLIGRA_SHOULD_BUILD_UNMAINTAINED=ON -DBUILD_TESTING=OFF" -make_cmd=make hostmakedepends="perl pkg-config extra-cmake-modules gettext" makedepends="akonadi-contacts-devel akonadi5-devel ecm-devel eigen3.2 exiv2-devel kactivities5-devel gsl-devel qt5-declarative-devel @@ -31,8 +30,6 @@ replaces="calligra-braindump>=0 calligra-flow>=0" build_options="webengine" desc_option_webengine="Use Qt5 WebEngine for Calligra Gemini" -export CMAKE_GENERATOR="Unix Makefiles" - if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then # webengine does not cross-build from 64bit to 32bit, use webkit if [ "$XBPS_WORDSIZE" = "$XBPS_TARGET_WORDSIZE" ]; then @@ -74,31 +71,31 @@ calligra-filters_package() { short_desc+=" - filters" depends="pstoedit" pkg_install() { - cd ${wrksrc}/build/filters - make DESTDIR=$PKGDESTDIR install + DESTDIR=$PKGDESTDIR \ + cmake -P ${wrksrc}/build/filters/cmake_install.cmake } } calligra-libs_package() { short_desc+=" - libraries" pkg_install() { for d in interfaces libs pics servicetypes; do - cd ${wrksrc}/build/${d} - make DESTDIR=$PKGDESTDIR install + DESTDIR=$PKGDESTDIR \ + cmake -P ${wrksrc}/build/${d}/cmake_install.cmake done } } calligra-plugins_package() { short_desc+=" - plugins" pkg_install() { - cd ${wrksrc}/build/plugins - make DESTDIR=$PKGDESTDIR install + DESTDIR=$PKGDESTDIR \ + cmake -P ${wrksrc}/build/plugins/cmake_install.cmake } } calligra-karbon_package() { short_desc+=" - Create scalable vector drawings" pkg_install() { - cd ${wrksrc}/build/karbon - make DESTDIR=$PKGDESTDIR install + DESTDIR=$PKGDESTDIR \ + cmake -P ${wrksrc}/build/karbon/cmake_install.cmake } } calligra-kexi_package() { @@ -109,8 +106,8 @@ calligra-kexi_package() { calligra-stage_package() { short_desc+=" - Write presentation documents" pkg_install() { - cd ${wrksrc}/build/stage - make DESTDIR=$PKGDESTDIR install + DESTDIR=$PKGDESTDIR \ + cmake -P ${wrksrc}/build/stage/cmake_install.cmake } } calligra-krita_package() { @@ -121,42 +118,42 @@ calligra-krita_package() { calligra-sheets_package() { short_desc+=" - Write spreadsheet documents" pkg_install() { - cd ${wrksrc}/build/sheets - make DESTDIR=$PKGDESTDIR install + DESTDIR=$PKGDESTDIR \ + cmake -P ${wrksrc}/build/sheets/cmake_install.cmake } } calligra-words_package() { short_desc+=" - Word Processor" depends="calligra-plugins" pkg_install() { - cd ${wrksrc}/build/words - make DESTDIR=$PKGDESTDIR install + DESTDIR=$PKGDESTDIR \ + cmake -P ${wrksrc}/build/words/cmake_install.cmake } } calligra-handbook_package() { build_style=meta short_desc+=" - Documentation (removed temporarily)" #pkg_install() { - # cd ${wrksrc}/build/doc/calligra - # make DESTDIR=$PKGDESTDIR install + # DESTDIR=$PKGDESTDIR \ + # cmake -P ${wrksrc}/build/doc/calligra/cmake_install.cmake #} } calligra-extras_package() { short_desc+=" - Extras" pkg_install() { - cd ${wrksrc}/build/extras - make DESTDIR=$PKGDESTDIR install - cd ${wrksrc}/build/data - make DESTDIR=$PKGDESTDIR install + DESTDIR=$PKGDESTDIR \ + cmake -P ${wrksrc}/build/extras/cmake_install.cmake + DESTDIR=$PKGDESTDIR \ + cmake -P ${wrksrc}/build/data/cmake_install.cmake } } calligra-devtools_package() { short_desc+=" - Developer tools" pkg_install() { - cd ${wrksrc}/build/devtools - make DESTDIR=$PKGDESTDIR install - vbin rng2cpp/rng2cpp - vbin ../filters/sheets/excel/sidewinder/recordsxml2cpp + DESTDIR=$PKGDESTDIR \ + cmake -P ${wrksrc}/build/devtools/cmake_install.cmake + vbin build/devtools/rng2cpp/rng2cpp + vbin build/filters/sheets/excel/sidewinder/recordsxml2cpp } } calligra-gemini_package() { @@ -168,9 +165,9 @@ calligra-gemini_package() { depends+=" qt5-webkit" fi pkg_install() { - cd ${wrksrc}/build/components - make DESTDIR=$PKGDESTDIR install - cd ${wrksrc}/build/gemini - make DESTDIR=$PKGDESTDIR install + DESTDIR=$PKGDESTDIR \ + cmake -P ${wrksrc}/build/components/cmake_install.cmake + DESTDIR=$PKGDESTDIR \ + cmake -P ${wrksrc}/build/gemini/cmake_install.cmake } }