calligra: fix build, and switch to ninja

This commit is contained in:
Đoàn Trần Công Danh 2021-07-24 17:10:18 +07:00 committed by John Zimmermann
parent c6f2f095b0
commit c64d95e8fc
2 changed files with 59 additions and 31 deletions

View File

@ -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)

View File

@ -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
}
}