Warning, /office/calligra/README.PACKAGERS is written in an unsupported language. File is not indexed.
0001 Packaging Information for Calligra Suite 0002 ---------------------------------------- 0003 0004 We recommend building several binary packages from the Calligra source. 0005 0006 Splitting Calligra into packages: 0007 * gives users a better choice of which components they have 0008 installed; 0009 * allows users to install just the applications without unnecessary 0010 dependencies; 0011 * helps to reduce packaging conflicts for users with non-standard 0012 package selections. 0013 0014 0015 Table Of Contents 0016 ----------------- 0017 1. Recommended cmake flags 0018 2. Calligra plugins 0019 3. Calligra libraries 0020 4. IMPORTANT On using CPU vector capabilities in Calligra Libs 0021 5. Okular plugins 0022 5.1. Runtime dependency of the Okular ODP plugin 0023 5.2. Support for PPT, PPTX and more runtime dependency 0024 5.3. Support for DOC, DOCX, WPD and more runtime dependency 0025 6. Adding unmaintained applications/modules 0026 0027 0028 1. Recommended cmake flags 0029 ========================== 0030 0031 For alpha and beta packages, please build with debug output enabled, but for 0032 production packages the -DCMAKE_CXX_FLAGS="-DKDE_NO_DEBUG_OUTPUT" is recommended. 0033 A significant performance increase will be the result. 0034 0035 All modules may not be ready for production release. 0036 It is recommended to specify -DRELEASE_BUILD=true to exclude these modules. 0037 0038 (If you want these packages to be included anyway, specify -DRELEASE_BUILD=false.) 0039 0040 NOTE: If RELEASE_BUILD is not set, CMAKE_BUILD_TYPE is considered. 0041 If it is set to Release, RelWithDebInfo or MinSizeRel, the modules are also excluded. 0042 0043 2. Calligra plugins 0044 =================== 0045 0046 Calligra applications can use plugins, placed in plugins/ subdirectory. 0047 Some of them are very special and/or have extra dependencies so should 0048 be packaged separately. 0049 0050 0051 Suggested Name Details 0052 ------------------------------------------------------------------------ 0053 calligra-semanticitems Description: Calligra semantic item plugins 0054 Contents: 0055 calligra_semanticitem_contact.so 0056 calligra_semanticitem_contact.desktop 0057 calligra_semanticitem_event.so 0058 calligra_semanticitem_event.desktop 0059 calligra_semanticitem_location.so 0060 calligra_semanticitem_location.desktop 0061 Translation File: 0062 calligra_semanticitem_contact.mo 0063 calligra_semanticitem_contact.mo 0064 calligra_semanticitem_location.mo 0065 Dependencies: 0066 libkdepimlibs (kabc, kcalcore, akonadi) 0067 libmarblewidget-qt5 or marble 0068 (provides libmarblewidget) 0069 0070 If Calligra is build with support for RDF enabled, it is STRONGLY RECOMMENDED to 0071 separate the semantic item plugins coming from "plugins/semanticitems" into 0072 their own package. That package should not be an automatic dependency on any 0073 other Calligra package, but only installed explicitely by the user. Reason are 0074 the external dependencies with these plugins, especially kdepimlibs. 0075 0076 So if e.g. a user just installs the Braindump package, this should not pull in all 0077 the things that KDEPIM/Akonadi pulls in. 0078 0079 0080 3. Calligra libraries 0081 ===================== 0082 0083 Calligra share common functionality within libraries, placed in libs/ 0084 subdirectory. Calligra libraries should be placed in a single package, 0085 separate from Calligra applications. Below is the list of the libraries. 0086 0087 Name Conditional compilation flag Globally used in Calligra? Public API 0088 (headers installed) 0089 (default: NO) (default: YES) (default: YES) 0090 ------------------------------------------------------------------------------------------ 0091 0092 flake 0093 kokross NO 0094 kopageapp 0095 koplugin NO 0096 kotext 0097 komain 0098 koodf 0099 kordf Words/Author 0100 pigment 0101 kowidgets 0102 0103 0104 4. IMPORTANT On using CPU vector capabilities in Calligra Libs 0105 ======================================================================== 0106 0107 IN BRIEF: 1) Intall Vc library [1] and don't forget to activate 0108 PACKAGERS_BUILD=ON option when building a package. 0109 2) Vc libary should be present on the building system only, 0110 it need not be installed on all the client systems. 0111 0112 Pigment can make use of the vector capabilities of the 0113 user's CPU. To make it possible Vc library [1] should be present in 0114 the host system. This is a static library and fully included into the 0115 final Pigment binary, so it is not necessary to have it 0116 installed in the client system. 0117 0118 The code generation is generally controlled by two factors: the 0119 presence of the Vc library and a special cmake option 0120 'PACKAGERS_BUILD'. Consider three cases: 0121 0122 1) Vc library is not present. PACKAGERS_BUILD=<don't care>. 0123 0124 The calligra is build with default compiller options. The resulting 0125 binary is non-optimized and portable among different CPU 0126 architectures. 0127 0128 2) Vc library is present. PACKAGERS_BUILD=OFF (default). 0129 0130 All the calligra binaries are optimized for the host CPU. This is the 0131 most efficient type of build of Calligra. But be careful, because such 0132 binaries are not portable among different CPU architectures! Using 0133 this build for packages distributed to many users will most probably 0134 result in SIGILL crashes on the client system. Use this option for 0135 private builds only. 0136 0137 3) Vc library is present. PACKAGERS_BUILD=ON. 0138 0139 This option disables CPU optimizations for the most of Calligra, but 0140 gnerates several versions of the code for its hottest parts. The 0141 specific implementation of the code is chosen on the fly when Calligra 0142 starts. This version is a bit slower than 2) but much faster than 1) 0143 and is *portable* among all the CPU architectures. Use this type of 0144 build for building distributable packages. 0145 0146 [1] - http://code.compeng.uni-frankfurt.de/projects/vc 0147 0148 0149 5. Okular plugins 0150 ================= 0151 0152 5.1. Runtime dependency of the Okular ODP plugin 0153 ------------------------------------------------ 0154 OKULAR_GENERATOR_ODP, the ODP plugin for Okular, in extras/okularodpgenerator, 0155 has a runtime dependency on the Stage engine, PART_STAGE. 0156 0157 5.2. Support for PPT, PPTX and more runtime dependency 0158 ------------------------------------------------------ 0159 The Okular ODP plugin also supports the formats PPT and PPTX, if the respective 0160 filters FILTER_PPT_TO_ODP and FILTER_PPTX_TO_ODP are built, by the products 0161 OKULAR_GENERATOR_PPT and OKULAR_GENERATOR_PPTX. 0162 0163 In that case the files 0164 * libokularGenerator_{powerpoint,pptx}_calligra.desktop 0165 * okular{Powerpoint,Pptx}_calligra.desktop 0166 * okularApplication_{powerpoint,pptx}_calligra.desktop 0167 will be installed from the filters/stage/{powerpoint,pptx}. 0168 0169 So with those desktop files and the Okular ODP plugin installed there is a 0170 runtime dependency on the Stage engine and the respective filters. 0171 0172 5.3. Support for DOC, DOCX, WPD and more runtime dependency 0173 ----------------------------------------------------------- 0174 The Okular ODT plugin also supports the formats DOC, DOCX, RTF and WPD, if the 0175 respective filters FILTER_DOC_TO_ODT, FILTER_DOCX_TO_ODT, FILTER_RTF_TO_ODT 0176 and FILTER_WORDPERFECT_TO_ODT are built, by the products OKULAR_GENERATOR_DOC, 0177 OKULAR_GENERATOR_DOCX, OKULAR_GENERATOR_RTF and OKULAR_GENERATOR_WORDPERFECT. 0178 0179 In that case the files 0180 * libokularGenerator_{doc,docx,rtf,wpd}_calligra.desktop 0181 * okular{Doc,Doxx,Rtf,Wpd}_calligra.desktop 0182 * okularApplication_{doc,docx,rtf,wpd}_calligra.desktop 0183 will be installed from the filters/word/{msword-odf,docx/import,rtf/import,wordperfect/import}. 0184 0185 So with those desktop files and the Okular ODT plugin installed there is a 0186 runtime dependency on the respective filters. 0187 0188 0189 6. Adding unmaintained applications/modules 0190 =========================================== 0191 0192 A few applications and modules do not have maintainers. So there is noone 0193 to handle bugs experienced by users or discuss new features/improvements. 0194 0195 Still those applications & modules are usable for certain needs. If you want 0196 to provide the users of your packages also with those unmaintained applications 0197 and modules, you will need to create a custom patch to the file CalligraProducts.cmake 0198 and remove the respective "UNMAINTAINED" tags from the product definitions. 0199 0200 When doing so, please state the unmaintained state in the package description, 0201 so the users are aware about the lack of support at the current time.