Mercurial > hgrepos > Python2 > PyMuPDF
diff mupdf-source/thirdparty/zint/README.linux @ 2:b50eed0cc0ef upstream
ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4.
The directory name has changed: no version number in the expanded directory now.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:43:07 +0200 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mupdf-source/thirdparty/zint/README.linux Mon Sep 15 11:43:07 2025 +0200 @@ -0,0 +1,135 @@ +% README.linux 2024-10-04 +% Tested on Ubuntu 20.04.4 LTS, Ubuntu 22.04 LTS, Ubuntu 24.04 LTS and +% Fedora Linux 40 (Workstation Edition) + +1. Prerequisites for building zint +================================== + +Prerequisites are git, cmake, make, gcc and gcc-c++, e.g. Ubuntu/Debian + + sudo apt install git cmake build-essential + +or Fedora (git, make and gcc should already be installed) + + sudo dnf install cmake gcc-c++ + +libpng is optional but necessary for PNG support, e.g. Ubuntu/Debian + + sudo apt install libpng-dev + +or Fedora + + sudo dnf install libpng-devel + +Then either download the source code tarball + + wget -O zint-2.13.0-src.tar.gz \ + https://sourceforge.net/projects/zint/files/zint/2.13.0/zint-2.13.0-src.tar.gz/download + tar xf zint-2.13.0-src.tar.gz + cd zint-2.13.0-src + +or clone the latest source + + git clone https://git.code.sf.net/p/zint/code zint + cd zint + + +2. Prerequisites for building zint-qt +===================================== + +zint-qt can be built with either Qt5 (preferred) or Qt6. First, install mesa (for OpenGL), e.g. +Ubuntu/Debian + + sudo apt install mesa-common-dev libglu1-mesa-dev + +or Fedora + + sudo dnf install mesa-libGL mesa-libGL-devel + +zint-qt has issues running on Wayland so sets X11 as the Qt platform (via the environment variable +"QT_QPA_PLATFORM=xcb") on startup unless already set. + +2.1. Using Qt packages +---------------------- + +If packages for Qt exist for your distro, it might be easiest to use them, although knowing +what their ever-changing names and contents are isn't. A complication is that zint-qt uses 2 Qt +components beyond the basic setup: Qt UI Tools (for dynamically loading the symbology-specific +tabs), and Qt SVG (for rendering icons). + +E.g. on Ubuntu 22.04 or 24.04 + + sudo apt install qtbase5-dev qttools5-dev qttools5-dev-tools libqt5svg5-dev + +or Ubuntu 20.04 + + sudo apt install qt5-default qt5-uitools + +or Fedora (not recommended) + + sudo dnf install qt5-qtbase-devel qt5-qttools-devel qt5-qttools-static qt5-qtsvg-devel + +You may need to tell CMake where to find the ".cmake" modules: + + export CMAKE_MODULE_PATH=<cmake-module-path>/Qt5 + +e.g. CMAKE_MODULE_PATH=/usr/lib/x86_64-linux-gnu/cmake/Qt5 + +2.2. Using the Qt Maintenance Tool +---------------------------------- + +Alternatively, for a more consistent experience, sign up and download the Qt Maintenance Tool +from + + https://www.qt.io/download-qt-installer + +On Ubuntu/Debian you may need to install xinerama to run the tool: + + sudo apt install libxcb-xinerama0 + +Launch the tool and install the "Desktop gcc 64-bit" component for either Qt 5.15.2 (preferred) +or Qt 6 (>= 6.1). + +Once Qt is installed you may need to tell CMake where it is: + + export CMAKE_PREFIX_PATH=<qt-version-dir>/gcc_64 + +e.g. export CMAKE_PREFIX_PATH=/opt/Qt/5.15.2/gcc_64 + + +3. Build +======== + +The rest is standard CMake + + cd zint + mkdir build + cd build + cmake .. + make + sudo make install + + +4. CMake options +================ + +A number of options are available: + +ZINT_COVERAGE:BOOL=OFF # Set code coverage flags +ZINT_DEBUG:BOOL=OFF # Set debug compile flags +ZINT_FRONTEND:BOOL=ON # Build frontend +ZINT_NOOPT:BOOL=OFF # Set no optimize compile flags +ZINT_SANITIZE:BOOL=OFF # Set sanitize compile/link flags +ZINT_SHARED:BOOL=ON # Build shared library +ZINT_STATIC:BOOL=OFF # Build static library +ZINT_TEST:BOOL=OFF # Set test compile flag +ZINT_UNINSTALL:BOOL=ON # Add uninstall target +ZINT_USE_PNG:BOOL=ON # Build with PNG support +ZINT_USE_QT:BOOL=ON # Build with Qt support +ZINT_QT6:BOOL=OFF # If ZINT_USE_QT, use Qt6 + +which can be set by doing e.g. + + cmake -DZINT_SANITIZE=ON .. + +For details on ZINT_TEST and building the zint test suite, see "backend/tests/README".
