Commit 86bead36dbb4c2775028127c5776fa70dc7baa5c
Committed by
Jay Berkenbilt
1 parent
dbf9f15f
Bump version to 12.3.0 and C++ to C++-20
Showing
8 changed files
with
34 additions
and
45 deletions
CMakeLists.txt
| ... | ... | @@ -7,7 +7,7 @@ cmake_minimum_required(VERSION 3.16) |
| 7 | 7 | # also find the version number here. generate_auto_job also reads the |
| 8 | 8 | # version from here. |
| 9 | 9 | project(qpdf |
| 10 | - VERSION 12.2.1 | |
| 10 | + VERSION 12.3.0 | |
| 11 | 11 | LANGUAGES C CXX) |
| 12 | 12 | |
| 13 | 13 | # Honor CMAKE_REQUIRED_LIBRARIES when checking for include files. This |
| ... | ... | @@ -167,9 +167,9 @@ Please remove CMakeCache.txt and the CMakeFiles directories.") |
| 167 | 167 | endif() |
| 168 | 168 | |
| 169 | 169 | if(CXX_NEXT) |
| 170 | - set(CMAKE_CXX_STANDARD 20) | |
| 170 | + set(CMAKE_CXX_STANDARD 23) | |
| 171 | 171 | else() |
| 172 | - set(CMAKE_CXX_STANDARD 17) | |
| 172 | + set(CMAKE_CXX_STANDARD 20) | |
| 173 | 173 | endif() |
| 174 | 174 | set(CMAKE_CXX_EXTENSIONS OFF) |
| 175 | 175 | set(CMAKE_CXX_STANDARD_REQUIRED ON) | ... | ... |
appimage/Dockerfile
| 1 | -FROM ubuntu:18.04 | |
| 1 | +# This should be based on as old of an Ubuntu LTS as possible while | |
| 2 | +# supporting the minimum C++ or other requirements. | |
| 3 | +FROM ubuntu:22.04 | |
| 2 | 4 | ENV DEBIAN_FRONTEND=noninteractive |
| 3 | 5 | RUN apt-get update |
| 4 | 6 | RUN apt-get -y install screen git sudo \ |
| 5 | - build-essential pkg-config \ | |
| 7 | + build-essential pkg-config cmake \ | |
| 6 | 8 | zlib1g-dev libjpeg-dev libgnutls28-dev \ |
| 7 | - python3-pip texlive-latex-extra latexmk \ | |
| 8 | - inkscape imagemagick busybox-static wget fuse && \ | |
| 9 | + python3-sphinx python3-sphinx-rtd-theme \ | |
| 10 | + libjs-sphinxdoc texlive texlive-latex-extra \ | |
| 11 | + latexmk tex-gyre imagemagick busybox-static \ | |
| 12 | + wget fuse && \ | |
| 9 | 13 | apt-get clean && rm -rf /var/lib/apt/lists/* |
| 10 | -# Get cmake from pypi. We need to keep Ubuntu 18.04 for a while longer | |
| 11 | -# since the glibc in Ubuntu 20.04 is too new (as of late 2023) for | |
| 12 | -# Amazon Linux 2 in Lambda and for some supported CentOS versions. | |
| 13 | -# When we are ready to update to 20.04 or newer, remove the version | |
| 14 | -# constraint on sphinx, and install the OS package for cmake. | |
| 15 | -RUN pip3 install --upgrade pip | |
| 16 | -RUN pip3 install sphinx==4 sphinx_rtd_theme cmake | |
| 17 | -COPY entrypoint /entrypoint | |
| 18 | -RUN chmod +x /entrypoint | |
| 14 | +COPY --chmod=0755 entrypoint /entrypoint | |
| 19 | 15 | ENTRYPOINT [ "/entrypoint" ] | ... | ... |
appimage/build-appimage
| ... | ... | @@ -47,14 +47,14 @@ fi |
| 47 | 47 | _osversion=$(cat /etc/os-release | grep PRETTY_NAME | awk -F'=' '{print $2}' | sed 's#"##g') |
| 48 | 48 | |
| 49 | 49 | # Warn users building the AppImage locally: |
| 50 | -if [[ ! $_osversion =~ Ubuntu\ 18.04.*\ LTS ]]; then | |
| 50 | +if [[ ! $_osversion =~ Ubuntu\ 22.04.*\ LTS ]]; then | |
| 51 | 51 | set +x |
| 52 | 52 | echo "" |
| 53 | 53 | # 0 1 2 3 4 5 6 7 |
| 54 | 54 | # 01234567890123456789012345678901234567890123456789012345678901234567890123456789 |
| 55 | 55 | echo "+===========================================================================+" |
| 56 | 56 | echo "|| WARNING: You are about to build a QPDF AppImage on a system which is ||" |
| 57 | - echo "|| NOT Ubuntu 18.04 LTS. ||" | |
| 57 | + echo "|| NOT Ubuntu 22.04 LTS. ||" | |
| 58 | 58 | echo "|| ||" |
| 59 | 59 | echo "|| It is recommended that you use a distribution that is at least a ||" |
| 60 | 60 | echo "|| few years old to maximize the number of Linux distributions the ||" |
| ... | ... | @@ -67,7 +67,6 @@ set +x |
| 67 | 67 | set -x |
| 68 | 68 | fi |
| 69 | 69 | |
| 70 | - | |
| 71 | 70 | # From where do we run this script? |
| 72 | 71 | here="$(dirname $(readlink -f "$0"))" |
| 73 | 72 | top=$(dirname $here) |
| ... | ... | @@ -116,9 +115,7 @@ cd $here/build |
| 116 | 115 | for width in 64 128 256 512; do |
| 117 | 116 | dir=appdir/usr/share/icons/hicolor/${width}x${width}/apps |
| 118 | 117 | mkdir -p $dir |
| 119 | - inkscape -z -e qpdf-tmp.png -w $width -b white $top/logo/qpdf.svg | |
| 120 | - convert qpdf-tmp.png -gravity center -background white -extent ${width}x${width} $dir/qpdf.png | |
| 121 | - rm qpdf-tmp.png | |
| 118 | + convert $top/logo/qpdf.svg -gravity center -background white -extent ${width}x${width} $dir/qpdf.png | |
| 122 | 119 | done |
| 123 | 120 | |
| 124 | 121 | # Copy .desktop and .appdata.xml metadata for desktop integration into place: |
| ... | ... | @@ -173,21 +170,7 @@ export LD_LIBRARY_PATH=$(dirname $(find $appdir -type l -name 'libqpdf.so.*')) |
| 173 | 170 | # Replace symlink with custom script |
| 174 | 171 | rm appdir/AppRun; cp $top/appimage/AppRun appdir; chmod a+x appdir/AppRun |
| 175 | 172 | |
| 176 | -# If we are not on Ubuntu Trusty, we need to disable 'appstreamcli' validation: | |
| 177 | -if [[ $_osversion =~ Ubuntu\ 14.04.*\ LTS ]]; then | |
| 178 | - appimagetool_param="" | |
| 179 | -else | |
| 180 | - appimagetool_param="-n" | |
| 181 | - set +x | |
| 182 | - echo "" | |
| 183 | - echo " Running 'appimagetool' with '-n' parameter..." | |
| 184 | - echo " Reason: this does not seem to be a build running on" | |
| 185 | - echo " Ubuntu Trusty 14.04." | |
| 186 | - echo " '-n' disables checking of AppStream data by the 'appstreamcli'" | |
| 187 | - echo " utility since post-Trusty versions have incompatible changes." | |
| 188 | - echo "" | |
| 189 | - set -x | |
| 190 | -fi | |
| 173 | +appimagetool_param="-n" | |
| 191 | 174 | |
| 192 | 175 | # Set up a version string to include in the AppImage name |
| 193 | 176 | MAJOR_QPDF_VERSION=$( ./appdir/usr/bin/qpdf --version | grep "qpdf version" | awk '{print $3}' ) | ... | ... |
include/qpdf/DLL.h
| ... | ... | @@ -26,13 +26,13 @@ |
| 26 | 26 | |
| 27 | 27 | /* The first version of qpdf to include the version constants is 10.6.0. */ |
| 28 | 28 | #define QPDF_MAJOR_VERSION 12 |
| 29 | -#define QPDF_MINOR_VERSION 2 | |
| 30 | -#define QPDF_PATCH_VERSION 1 | |
| 29 | +#define QPDF_MINOR_VERSION 3 | |
| 30 | +#define QPDF_PATCH_VERSION 0 | |
| 31 | 31 | |
| 32 | 32 | #ifdef QPDF_FUTURE |
| 33 | -# define QPDF_VERSION "12.2.1+future" | |
| 33 | +# define QPDF_VERSION "12.3.0+future" | |
| 34 | 34 | #else |
| 35 | -# define QPDF_VERSION "12.2.1" | |
| 35 | +# define QPDF_VERSION "12.3.0" | |
| 36 | 36 | #endif |
| 37 | 37 | |
| 38 | 38 | /* | ... | ... |
job.sums
| 1 | 1 | # Generated by generate_auto_job |
| 2 | -CMakeLists.txt 6d1c286b464c50843f2cfbd5808adc2de3cf5850f934471093cfdac63f9918e7 | |
| 2 | +CMakeLists.txt 18214e276670dc8beb2ab83f789c6d94941bc92b199b353f3943024cfd41d3bc | |
| 3 | 3 | generate_auto_job f64733b79dcee5a0e3e8ccc6976448e8ddf0e8b6529987a66a7d3ab2ebc10a86 |
| 4 | 4 | include/qpdf/auto_job_c_att.hh 4c2b171ea00531db54720bf49a43f8b34481586ae7fb6cbf225099ee42bc5bb4 |
| 5 | 5 | include/qpdf/auto_job_c_copy_att.hh 50609012bff14fd82f0649185940d617d05d530cdc522185c7f3920a561ccb42 |
| ... | ... | @@ -16,5 +16,5 @@ libqpdf/qpdf/auto_job_json_init.hh b49378f00d521a9f3e0ce9086e30b082bc6ef8e43c845 |
| 16 | 16 | libqpdf/qpdf/auto_job_schema.hh f6a3e8b663714bba50b594f5e31437bbcb96ca4609d2c150c3bbc172e3b000fa |
| 17 | 17 | manual/_ext/qpdf.py 6add6321666031d55ed4aedf7c00e5662bba856dfcd66ccb526563bffefbb580 |
| 18 | 18 | manual/cli.rst 6fae28c9589bfde5b55260c95a7c64ad48688875f14f195129606405b32a04c6 |
| 19 | -manual/qpdf.1 76b02da5aed70b605e01bf26a856dbd7617d086acfb96d240063cfcc226e9817 | |
| 19 | +manual/qpdf.1 358dfe1bbeb49366d6dd17f74d883295344725b985183b8ca5e23226461654b3 | |
| 20 | 20 | manual/qpdf.1.in 436ecc85d45c4c9e2dbd1725fb7f0177fb627179469f114561adf3cb6cbb677b | ... | ... |
manual/installation.rst
manual/qpdf.1
| ... | ... | @@ -3,7 +3,7 @@ |
| 3 | 3 | .\" Edits will be automatically overwritten if the build is |
| 4 | 4 | .\" run in maintainer mode. |
| 5 | 5 | .\" |
| 6 | -.TH QPDF "1" "" "qpdf version 12.2.1" "User Commands" | |
| 6 | +.TH QPDF "1" "" "qpdf version 12.3.0" "User Commands" | |
| 7 | 7 | .SH NAME |
| 8 | 8 | qpdf \- PDF transformation software |
| 9 | 9 | .SH SYNOPSIS | ... | ... |
manual/release-notes.rst
| ... | ... | @@ -13,6 +13,16 @@ more detail. |
| 13 | 13 | |
| 14 | 14 | .. x.y.z: not yet released |
| 15 | 15 | |
| 16 | +12.3.0: not yet released | |
| 17 | + - Build changes | |
| 18 | + | |
| 19 | + - A C++-20 compiler is now required. | |
| 20 | + | |
| 21 | + - The AppImage and Linux standalone binary distributions are now | |
| 22 | + built with Ubuntu 22.04 to support C++-20, which means they will | |
| 23 | + not work on some older Linux distributions. If you need support | |
| 24 | + for an older distribution, please use version 12.2.0 or below. | |
| 25 | + | |
| 16 | 26 | 12.2.0: May 4, 2025 |
| 17 | 27 | - Upcoming C++ Version Change |
| 18 | 28 | ... | ... |