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 explicitly 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) Install Vc library [1] and don't forget to activate
0108              PACKAGERS_BUILD=ON option when building a package.
0109           2) Vc library 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 no one
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.