Skip to content

Commit 02b1b0b

Browse files
committed
ci: better spread of libpng versions we test against (#4883)
* The "oldest" didn't really test against the oldest we claim to support. * The "latest versions" didn't really test against the latest versions. * The "bleeding edge" didn't really test against libpng master. * The auto-build was unnecessarily a few releases behind. * Documentation touch-ups --------- Signed-off-by: Larry Gritz <[email protected]>
1 parent 5403c60 commit 02b1b0b

File tree

5 files changed

+21
-2
lines changed

5 files changed

+21
-2
lines changed

.github/workflows/ci.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ jobs:
6060
opencolorio_ver: v2.3.0
6161
pybind11_ver: v2.9.0
6262
setenvs: export FREETYPE_VERSION=VER-2-12-0
63+
BUILD_PNG_VERSION=1.6.30
6364
- desc: VP2022 clang13/C++17 py39 avx2 exr3.1 ocio2.3
6465
nametag: linux-vfx2022.clang13
6566
runner: ubuntu-latest
@@ -75,6 +76,7 @@ jobs:
7576
simd: "avx2,f16c"
7677
fmt_ver: 9.1.0
7778
setenvs: export FREETYPE_VERSION=VER-2-12-0
79+
BUILD_PNG_VERSION=1.6.30
7880
- desc: oldest gcc9.3/C++17 py3.9 exr3.1 ocio2.3
7981
# Oldest gcc and versions of the dependencies that we support.
8082
nametag: linux-oldest
@@ -92,6 +94,7 @@ jobs:
9294
PTEX_VERSION=v2.3.2
9395
WEBP_VERSION=v1.1.0
9496
PUGIXML_VERSION=v1.8
97+
BUILD_PNG_VERSION=1.6.0
9598
depcmds: sudo rm -rf /usr/local/include/OpenEXR
9699
- desc: oldest clang10/C++17 py3.9 exr3.1 ocio2.3
97100
# Oldest clang and versions of the dependencies that we support.
@@ -112,6 +115,7 @@ jobs:
112115
PTEX_VERSION=v2.3.2
113116
WEBP_VERSION=v1.1.0
114117
PUGIXML_VERSION=v1.8
118+
BUILD_PNG_VERSION=1.6.0
115119
depcmds: sudo rm -rf /usr/local/include/OpenEXR
116120
- desc: hobbled gcc9.3/C++17 py3.9 exr-3.1 no-sse
117121
# Use the oldest supported versions of required dependencies, and
@@ -137,6 +141,7 @@ jobs:
137141
USE_OPENCV=0
138142
FREETYPE_VERSION=VER-2-10-0
139143
PUGIXML_VERSION=v1.8
144+
BUILD_PNG_VERSION=1.6.0
140145
depcmds: sudo rm -rf /usr/local/include/OpenEXR
141146

142147
runs-on: ${{ matrix.runner }}
@@ -372,6 +377,7 @@ jobs:
372377
setenvs: export SANITIZE=address,undefined
373378
OIIO_CMAKE_FLAGS="-DSANITIZE=address,undefined -DOIIO_HARDENING=3 -DUSE_PYTHON=0"
374379
CTEST_EXCLUSIONS="broken|png-damaged"
380+
OpenImageIO_BUILD_LOCAL_DEPS=PNG
375381

376382
# Test ABI stability. `abi_check` is the version or commit that we
377383
# believe is the current standard against which we don't want to
@@ -425,6 +431,7 @@ jobs:
425431
python_ver: "3.12"
426432
simd: avx2,f16c
427433
setenvs: export LIBJPEGTURBO_VERSION=3.1.1
434+
LIBPNG_VERSION=v1.6.50
428435
LIBRAW_VERSION=0.21.4
429436
LIBTIFF_VERSION=v4.7.0
430437
OPENJPEG_VERSION=v2.5.3
@@ -447,6 +454,7 @@ jobs:
447454
simd: avx2,f16c
448455
benchmark: 1
449456
setenvs: export LIBJPEGTURBO_VERSION=main
457+
LIBPNG_VERSION=master
450458
LIBRAW_VERSION=master
451459
LIBTIFF_VERSION=master
452460
OPENJPEG_VERSION=master
@@ -523,6 +531,7 @@ jobs:
523531
pybind11_ver: v3.0.0
524532
python_ver: "3.12"
525533
setenvs: export LIBJPEGTURBO_VERSION=3.1.1
534+
LIBPNG_VERSION=v1.6.50
526535
LIBRAW_VERSION=0.21.4
527536
LIBTIFF_VERSION=v4.7.0
528537
OPENJPEG_VERSION=v2.5.3
@@ -543,6 +552,7 @@ jobs:
543552
pybind11_ver: v3.0.0
544553
python_ver: "3.12"
545554
setenvs: export LIBJPEGTURBO_VERSION=3.1.0
555+
LIBPNG_VERSION=v1.6.50
546556
LIBRAW_VERSION=0.21.4
547557
LIBTIFF_VERSION=v4.7.0
548558
OPENJPEG_VERSION=v2.5.3

src/build-scripts/build_libpng.bash

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ set -ex
1111

1212
# Repo and branch/tag/commit of libpng to download if we don't have it yet
1313
LIBPNG_REPO=${LIBPNG_REPO:=https://github.com/pnggroup/libpng.git}
14-
LIBPNG_VERSION=${LIBPNG_VERSION:=v1.6.47}
14+
LIBPNG_VERSION=${LIBPNG_VERSION:=v1.6.50}
1515

1616
# Where to put libpng repo source (default to the ext area)
1717
LIBPNG_SRC_DIR=${LIBPNG_SRC_DIR:=${PWD}/ext/libpng}

src/build-scripts/gh-installdeps.bash

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,10 @@ if [[ "$FREETYPE_VERSION" != "" ]] ; then
208208
source src/build-scripts/build_Freetype.bash
209209
fi
210210

211+
if [[ "$LIBPNG_VERSION" != "" ]] ; then
212+
source src/build-scripts/build_libpng.bash
213+
fi
214+
211215
if [[ "$USE_ICC" != "" ]] ; then
212216
# We used gcc for the prior dependency builds, but use icc for OIIO itself
213217
echo "which icpc:" $(which icpc)

src/cmake/build_PNG.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# PNG by hand!
77
######################################################################
88

9-
set_cache (PNG_BUILD_VERSION 1.6.47 "PNG version for local builds")
9+
set_cache (PNG_BUILD_VERSION 1.6.50 "PNG version for local builds")
1010
super_set (PNG_BUILD_GIT_REPOSITORY "https://github.com/pnggroup/libpng")
1111
super_set (PNG_BUILD_GIT_TAG "v${PNG_BUILD_VERSION}")
1212
super_set (PNG_BUILD_EXTRA_CMAKE_ARGS "")

src/doc/builtinplugins.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1777,6 +1777,11 @@ files use the file extension :file:`.png`.
17771777
* - ``oiio:ColorSpace``
17781778
- string
17791779
- Color space (see Section :ref:`sec-metadata-color`).
1780+
* - ``CICP``
1781+
- int[4]
1782+
- CICP color space information (see Section :ref:`sec-metadata-color`).
1783+
Note that this attribute is only supported if OIIO was built against
1784+
libPNG 1.6.45 or newer.
17801785
* - ``ICCProfile``
17811786
- uint8[]
17821787
- The ICC color profile. A variety of other ``ICCProfile:*`` attributes

0 commit comments

Comments
 (0)