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 +7,7 @@ cmake_minimum_required(VERSION 3.16) | ||
| 7 | # also find the version number here. generate_auto_job also reads the | 7 | # also find the version number here. generate_auto_job also reads the |
| 8 | # version from here. | 8 | # version from here. |
| 9 | project(qpdf | 9 | project(qpdf |
| 10 | - VERSION 12.2.1 | 10 | + VERSION 12.3.0 |
| 11 | LANGUAGES C CXX) | 11 | LANGUAGES C CXX) |
| 12 | 12 | ||
| 13 | # Honor CMAKE_REQUIRED_LIBRARIES when checking for include files. This | 13 | # Honor CMAKE_REQUIRED_LIBRARIES when checking for include files. This |
| @@ -167,9 +167,9 @@ Please remove CMakeCache.txt and the CMakeFiles directories.") | @@ -167,9 +167,9 @@ Please remove CMakeCache.txt and the CMakeFiles directories.") | ||
| 167 | endif() | 167 | endif() |
| 168 | 168 | ||
| 169 | if(CXX_NEXT) | 169 | if(CXX_NEXT) |
| 170 | - set(CMAKE_CXX_STANDARD 20) | 170 | + set(CMAKE_CXX_STANDARD 23) |
| 171 | else() | 171 | else() |
| 172 | - set(CMAKE_CXX_STANDARD 17) | 172 | + set(CMAKE_CXX_STANDARD 20) |
| 173 | endif() | 173 | endif() |
| 174 | set(CMAKE_CXX_EXTENSIONS OFF) | 174 | set(CMAKE_CXX_EXTENSIONS OFF) |
| 175 | set(CMAKE_CXX_STANDARD_REQUIRED ON) | 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 | ENV DEBIAN_FRONTEND=noninteractive | 4 | ENV DEBIAN_FRONTEND=noninteractive |
| 3 | RUN apt-get update | 5 | RUN apt-get update |
| 4 | RUN apt-get -y install screen git sudo \ | 6 | RUN apt-get -y install screen git sudo \ |
| 5 | - build-essential pkg-config \ | 7 | + build-essential pkg-config cmake \ |
| 6 | zlib1g-dev libjpeg-dev libgnutls28-dev \ | 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 | apt-get clean && rm -rf /var/lib/apt/lists/* | 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 | ENTRYPOINT [ "/entrypoint" ] | 15 | ENTRYPOINT [ "/entrypoint" ] |
appimage/build-appimage
| @@ -47,14 +47,14 @@ fi | @@ -47,14 +47,14 @@ fi | ||
| 47 | _osversion=$(cat /etc/os-release | grep PRETTY_NAME | awk -F'=' '{print $2}' | sed 's#"##g') | 47 | _osversion=$(cat /etc/os-release | grep PRETTY_NAME | awk -F'=' '{print $2}' | sed 's#"##g') |
| 48 | 48 | ||
| 49 | # Warn users building the AppImage locally: | 49 | # Warn users building the AppImage locally: |
| 50 | -if [[ ! $_osversion =~ Ubuntu\ 18.04.*\ LTS ]]; then | 50 | +if [[ ! $_osversion =~ Ubuntu\ 22.04.*\ LTS ]]; then |
| 51 | set +x | 51 | set +x |
| 52 | echo "" | 52 | echo "" |
| 53 | # 0 1 2 3 4 5 6 7 | 53 | # 0 1 2 3 4 5 6 7 |
| 54 | # 01234567890123456789012345678901234567890123456789012345678901234567890123456789 | 54 | # 01234567890123456789012345678901234567890123456789012345678901234567890123456789 |
| 55 | echo "+===========================================================================+" | 55 | echo "+===========================================================================+" |
| 56 | echo "|| WARNING: You are about to build a QPDF AppImage on a system which is ||" | 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 | echo "|| ||" | 58 | echo "|| ||" |
| 59 | echo "|| It is recommended that you use a distribution that is at least a ||" | 59 | echo "|| It is recommended that you use a distribution that is at least a ||" |
| 60 | echo "|| few years old to maximize the number of Linux distributions the ||" | 60 | echo "|| few years old to maximize the number of Linux distributions the ||" |
| @@ -67,7 +67,6 @@ set +x | @@ -67,7 +67,6 @@ set +x | ||
| 67 | set -x | 67 | set -x |
| 68 | fi | 68 | fi |
| 69 | 69 | ||
| 70 | - | ||
| 71 | # From where do we run this script? | 70 | # From where do we run this script? |
| 72 | here="$(dirname $(readlink -f "$0"))" | 71 | here="$(dirname $(readlink -f "$0"))" |
| 73 | top=$(dirname $here) | 72 | top=$(dirname $here) |
| @@ -116,9 +115,7 @@ cd $here/build | @@ -116,9 +115,7 @@ cd $here/build | ||
| 116 | for width in 64 128 256 512; do | 115 | for width in 64 128 256 512; do |
| 117 | dir=appdir/usr/share/icons/hicolor/${width}x${width}/apps | 116 | dir=appdir/usr/share/icons/hicolor/${width}x${width}/apps |
| 118 | mkdir -p $dir | 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 | done | 119 | done |
| 123 | 120 | ||
| 124 | # Copy .desktop and .appdata.xml metadata for desktop integration into place: | 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,21 +170,7 @@ export LD_LIBRARY_PATH=$(dirname $(find $appdir -type l -name 'libqpdf.so.*')) | ||
| 173 | # Replace symlink with custom script | 170 | # Replace symlink with custom script |
| 174 | rm appdir/AppRun; cp $top/appimage/AppRun appdir; chmod a+x appdir/AppRun | 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 | # Set up a version string to include in the AppImage name | 175 | # Set up a version string to include in the AppImage name |
| 193 | MAJOR_QPDF_VERSION=$( ./appdir/usr/bin/qpdf --version | grep "qpdf version" | awk '{print $3}' ) | 176 | MAJOR_QPDF_VERSION=$( ./appdir/usr/bin/qpdf --version | grep "qpdf version" | awk '{print $3}' ) |
include/qpdf/DLL.h
| @@ -26,13 +26,13 @@ | @@ -26,13 +26,13 @@ | ||
| 26 | 26 | ||
| 27 | /* The first version of qpdf to include the version constants is 10.6.0. */ | 27 | /* The first version of qpdf to include the version constants is 10.6.0. */ |
| 28 | #define QPDF_MAJOR_VERSION 12 | 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 | #ifdef QPDF_FUTURE | 32 | #ifdef QPDF_FUTURE |
| 33 | -# define QPDF_VERSION "12.2.1+future" | 33 | +# define QPDF_VERSION "12.3.0+future" |
| 34 | #else | 34 | #else |
| 35 | -# define QPDF_VERSION "12.2.1" | 35 | +# define QPDF_VERSION "12.3.0" |
| 36 | #endif | 36 | #endif |
| 37 | 37 | ||
| 38 | /* | 38 | /* |
job.sums
| 1 | # Generated by generate_auto_job | 1 | # Generated by generate_auto_job |
| 2 | -CMakeLists.txt 6d1c286b464c50843f2cfbd5808adc2de3cf5850f934471093cfdac63f9918e7 | 2 | +CMakeLists.txt 18214e276670dc8beb2ab83f789c6d94941bc92b199b353f3943024cfd41d3bc |
| 3 | generate_auto_job f64733b79dcee5a0e3e8ccc6976448e8ddf0e8b6529987a66a7d3ab2ebc10a86 | 3 | generate_auto_job f64733b79dcee5a0e3e8ccc6976448e8ddf0e8b6529987a66a7d3ab2ebc10a86 |
| 4 | include/qpdf/auto_job_c_att.hh 4c2b171ea00531db54720bf49a43f8b34481586ae7fb6cbf225099ee42bc5bb4 | 4 | include/qpdf/auto_job_c_att.hh 4c2b171ea00531db54720bf49a43f8b34481586ae7fb6cbf225099ee42bc5bb4 |
| 5 | include/qpdf/auto_job_c_copy_att.hh 50609012bff14fd82f0649185940d617d05d530cdc522185c7f3920a561ccb42 | 5 | include/qpdf/auto_job_c_copy_att.hh 50609012bff14fd82f0649185940d617d05d530cdc522185c7f3920a561ccb42 |
| @@ -16,5 +16,5 @@ libqpdf/qpdf/auto_job_json_init.hh b49378f00d521a9f3e0ce9086e30b082bc6ef8e43c845 | @@ -16,5 +16,5 @@ libqpdf/qpdf/auto_job_json_init.hh b49378f00d521a9f3e0ce9086e30b082bc6ef8e43c845 | ||
| 16 | libqpdf/qpdf/auto_job_schema.hh f6a3e8b663714bba50b594f5e31437bbcb96ca4609d2c150c3bbc172e3b000fa | 16 | libqpdf/qpdf/auto_job_schema.hh f6a3e8b663714bba50b594f5e31437bbcb96ca4609d2c150c3bbc172e3b000fa |
| 17 | manual/_ext/qpdf.py 6add6321666031d55ed4aedf7c00e5662bba856dfcd66ccb526563bffefbb580 | 17 | manual/_ext/qpdf.py 6add6321666031d55ed4aedf7c00e5662bba856dfcd66ccb526563bffefbb580 |
| 18 | manual/cli.rst 6fae28c9589bfde5b55260c95a7c64ad48688875f14f195129606405b32a04c6 | 18 | manual/cli.rst 6fae28c9589bfde5b55260c95a7c64ad48688875f14f195129606405b32a04c6 |
| 19 | -manual/qpdf.1 76b02da5aed70b605e01bf26a856dbd7617d086acfb96d240063cfcc226e9817 | 19 | +manual/qpdf.1 358dfe1bbeb49366d6dd17f74d883295344725b985183b8ca5e23226461654b3 |
| 20 | manual/qpdf.1.in 436ecc85d45c4c9e2dbd1725fb7f0177fb627179469f114561adf3cb6cbb677b | 20 | manual/qpdf.1.in 436ecc85d45c4c9e2dbd1725fb7f0177fb627179469f114561adf3cb6cbb677b |
manual/installation.rst
| @@ -16,7 +16,7 @@ need to build qpdf in various circumstances. | @@ -16,7 +16,7 @@ need to build qpdf in various circumstances. | ||
| 16 | Basic Dependencies | 16 | Basic Dependencies |
| 17 | ~~~~~~~~~~~~~~~~~~ | 17 | ~~~~~~~~~~~~~~~~~~ |
| 18 | 18 | ||
| 19 | -- A C++ compiler that supports C++-17 | 19 | +- A C++ compiler that supports C++-20 |
| 20 | 20 | ||
| 21 | - `CMake <https://www.cmake.org>`__ version 3.16 or later | 21 | - `CMake <https://www.cmake.org>`__ version 3.16 or later |
| 22 | 22 |
manual/qpdf.1
| @@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
| 3 | .\" Edits will be automatically overwritten if the build is | 3 | .\" Edits will be automatically overwritten if the build is |
| 4 | .\" run in maintainer mode. | 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 | .SH NAME | 7 | .SH NAME |
| 8 | qpdf \- PDF transformation software | 8 | qpdf \- PDF transformation software |
| 9 | .SH SYNOPSIS | 9 | .SH SYNOPSIS |
manual/release-notes.rst
| @@ -13,6 +13,16 @@ more detail. | @@ -13,6 +13,16 @@ more detail. | ||
| 13 | 13 | ||
| 14 | .. x.y.z: not yet released | 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 | 12.2.0: May 4, 2025 | 26 | 12.2.0: May 4, 2025 |
| 17 | - Upcoming C++ Version Change | 27 | - Upcoming C++ Version Change |
| 18 | 28 |