Warning, /graphics/digikam/project/bundles/macports/README is written in an unsupported language. File is not indexed.
0001 RESUME 0002 ------ 0003 Scripts to build binary digiKam package for MacOS 0004 0005 These scripts build a binary digiKam package for MacOS using Macports 0006 environment and Packages application. 0007 0008 These scripts follow instructions from Qt bundle deployment for MacOS as shared libraries 0009 available at this url: https://doc.qt.io/qt-5/osx-deployment.html 0010 0011 0012 AUTHORS 0013 ------- 0014 0015 (c) 2015 by Shanti <listaccount at revenant dot org> 0016 (c) 2015-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0017 0018 0019 DESCRIPTION 0020 ----------- 0021 These files and scripts are used to make a binary package of the digiKam 0022 Software Collection for MacOS. In addition to this README, there are 0023 comments in the scripts that provide some additional explanations for 0024 how they work. 0025 0026 0027 BUNDLE CONTENTS 0028 --------------- 0029 0030 Note: the bundle is relocatable. 0031 0032 Bundle is composed of two main application containers (digikam and showfoto), to start from the macOS lauchpad. 0033 The digikam sub-container include all resources shared with showfoto. 0034 The showfoto sub-container directories are linked to the digikam sub-container to reduce used-space. 0035 The host directory is called "digiKam.org" and not "digiKam" to allow Showfoto icon to be show on macOS lauchpad, 0036 else only digiKam is visible. 0037 0038 digiKam.org 0039 ├── digikam.app digiKam sub-container 0040 │ └── Contents 0041 │ ├── bin Extra binaries 0042 │ ├── etc Extra configuration 0043 │ ├── lib Libraries and extra dependencies 0044 │ ├── libexec Run time dependencies 0045 │ │ └── qt5 0046 │ │ ├── lib 0047 │ │ └── plugins Plugins 0048 │ │ ├── bearer 0049 │ │ ├── designer 0050 │ │ ├── digikam digiKam and Showfoto DPlugins 0051 │ │ │ ├── bqm 0052 │ │ │ ├── dimg 0053 │ │ │ ├── editor 0054 │ │ │ ├── generic 0055 │ │ │ └── rawimport 0056 │ │ ├── generic 0057 │ │ ├── iconengines 0058 │ │ ├── imageformats 0059 │ │ ├── kauth 0060 │ │ ├── kf5 0061 │ │ ├── platforms 0062 │ │ ├── platformthemes 0063 │ │ ├── printsupport 0064 │ │ ├── sqldrivers 0065 │ │ └── styles 0066 │ ├── MacOS digiKam binary 0067 │ ├── Resources Data and resource files 0068 │ │ ├── applications 0069 │ │ ├── data 0070 │ │ ├── digikam 0071 │ │ ├── kf5 0072 │ │ ├── knotifications5 0073 │ │ ├── kservices5 0074 │ │ ├── kservicetypes5 0075 │ │ ├── kxmlgui5 0076 │ │ ├── lensfun Lens auto correction profiles 0077 │ │ ├── locale 0078 │ │ ├── mime 0079 │ │ ├── opencv4 0080 │ │ ├── plugins 0081 │ │ ├── showfoto 0082 │ │ └── solid 0083 │ └── share Shared files 0084 └── showfoto.app Showfoto sub-container 0085 └── Contents 0086 ├── bin -> ../../digikam.app/Contents/bin 0087 ├── etc -> ../../digikam.app/Contents/etc 0088 ├── lib -> ../../digikam.app/Contents/lib 0089 ├── libexec -> ../../digikam.app/Contents/libexec 0090 ├── MacOS Showfoto binary 0091 ├── Resources -> ../../digikam.app/Contents/Resources 0092 └── share -> ../../digikam.app/Contents/share 0093 0094 REQUIREMENTS 0095 ------------ 0096 0097 To build bundle you need a macOS install in a real computer (best) or in a VM. 0098 This Github project have been tested to install automatically BigSur in VirtualBox and work as expected: 0099 0100 https://github.com/myspaghetti/macos-virtualbox 0101 0102 The scripts build digiKam with MacPorts, so you will need Xcode and the other 0103 prerequisites for Macports. 0104 0105 See this url for details: https://guide.macports.org/#installing.xcode. 0106 0107 For all other Macports requirements, see https://www.macports.org/install.php. 0108 0109 You will also need to install Packages software which does the actual packaging of the files needed to install digiKam: 0110 0111 https://s.sudre.free.fr/Software/Packages/about.html 0112 0113 IMPORTANT: 0114 - You must set the minimal MacOS target with relevant SDK installed for backward compatibility. 0115 - You must set the digiKam git tags to checkout right source code to package. 0116 - You must set the option to host debug symbols or not in package. 0117 0118 NOTE: Look in config.sh file for settings details. 0119 0120 0121 HERE THERE BE DRAGONS 0122 --------------------- 0123 Use these scripts at your own risk. For example, both scripts contain 0124 "rm -rf" (to clear previous builds) -- a mistake could wipe your drive. 0125 0126 0127 COMPONENTS 0128 ---------- 0129 There are 4 main scripts to be run by the user. 2 first ones installs 0130 MacPorts and all dependencies, next one digiKam, and last one makes a 0131 PKG binary installer for MacOS using Packages. 0132 0133 0134 SCRIPT DESCRIPTIONS 0135 ------------------- 0136 All scripts should be run from within the digikam-package directory. 0137 0138 * 01-build-macports.sh: 0139 0140 This script downloads and configures a custom non-root install 0141 of MacPorts to /opt/digikam.org._arch_. 0142 0143 * 02-build-extralibs.sh: 0144 0145 This script configures, and compile a custom non-root install to /opt/digikam.org._arch_ 0146 of extra libraries, including KF5 frameworks, and most important photo management 0147 libs used by digiKam as Exiv2 and LensFun. 0148 0149 * 03-build-digikam.sh: 0150 0151 This script configures, and compile a custom non-root install of digiKam to 0152 /opt/digikam.org._arch_. 0153 0154 * 04-build-installer.sh: 0155 0156 Once you've successfully built digiKam, /opt/digikam.org._arch_ may contain over 10GB of files. 0157 This script grabs the ~250MB needed to run digiKam and Showfoto, 0158 and places them in ./installer/opt. These include applications documentations 0159 and translations. 0160 0161 This script creates Applescript launch applications for the programs that will 0162 be run by the user (digiKam, Showfoto, etc), and preinstall/postinstall 0163 scripts in ./installer. 0164 0165 The launcher applications: 0166 1) Update desktop.org files cache system with kbuildsyscoca5. 0167 2) set "DYLD_IMAGE_SUFFIX=_debug" if the digikam port was built with the 0168 +debug variant. 0169 0170 This script also create the pre-install and post-install scripts that are run 0171 when the package is installed. They delete any pre-existing /opt/digikam.org._arch_, 0172 delete and recreate /Applications/digiKam.org. 0173 0174 Finally, this script sets the version number, and runs Packages to 0175 put everything together in the bundle. 0176 0177 Depending of configuration done in config.sh, this script is able to upload automatically 0178 the bundle file on files.kde.org digiKam area through ssh. A valid ssh key configured 0179 with remote KDE server need to be set previously with the account. You can load ssh key 0180 at startup following instruction give at this url: 0181 0182 https://unix.stackexchange.com/questions/90853/how-can-i-run-ssh-add-automatically-without-password-prompt 0183 0184 Note: the bundle can be signed with GPG. You must setup your private and public keys before 0185 and put your passphare to a text file (~/.gnupg/dkorg-gpg-pwd.txt) 0186 0187 * rll.py 0188 0189 Run by 04-build-installer.sh. It is a Python script that takes a list of binaries 0190 and libraries supplied by 04-build-installer.sh and recursively lists the dylibs on 0191 which they depend, and their dependencies, etc.. Adapted with minimal 0192 modification (mostly deleting stuff) from 0193 https://github.com/mixxxdj/mixxx/blob/master/build/osx/otool.py. 0194 0195 * makeall.sh 0196 0197 This script permit to build whole package from scratch (all stages). 0198 0199 * update.sh 0200 0201 This script re-build only digiKam and package (2 last stages). 0202 0203 0204 LICENSES 0205 -------- 0206 rll.py, like the otool.py source from which it has been adapted, is licensed 0207 under GNU General Public License version 2. 0208 0209 The scripts and other contents that we have created are licensed 0210 under the GNU General Public License version 2, or any later version.