mirror of
https://github.com/openstreetmap/mod_tile.git
synced 2025-07-25 15:04:30 +00:00
Add Fedora 40 to build pipeline (#430)
_And_: * Remove Fedora 38 * Fix `openSUSE Leap 15` Docker build's default GCC no longer compiles `Mapnik` latest * C++17 is now required, so a newer GCC will be installed * Fix for coverage capturing with LCOV 2.1 * Seems to currently only exist on macOS
This commit is contained in:
@ -18,6 +18,7 @@ For your convenience, we have provided a Docker-based building and testing metho
|
||||
- fedora-37 _(Fedora 37)_ [[Dockerfile](/docker/fedora/Dockerfile)]
|
||||
- fedora-38 _(Fedora 38)_ [[Dockerfile](/docker/fedora/Dockerfile)]
|
||||
- fedora-39 _(Fedora 39)_ [[Dockerfile](/docker/fedora/Dockerfile)]
|
||||
- fedora-40 _(Fedora 40)_ [[Dockerfile](/docker/fedora/Dockerfile)]
|
||||
- fedora-rawhide _(Fedora Rawhide)_ [[Dockerfile](/docker/fedora/Dockerfile)]
|
||||
- opensuse-leap-15 _(openSUSE Leap 15)_ [[Dockerfile](/docker/opensuse/Dockerfile)]
|
||||
- opensuse-tumbleweed _(openSUSE Tumbleweed)_ [[Dockerfile](/docker/opensuse/Dockerfile)]
|
||||
|
@ -1,6 +1,4 @@
|
||||
---
|
||||
version: "3.8"
|
||||
|
||||
x-mod_tile:
|
||||
build_defaults: &build_defaults
|
||||
context: ..
|
||||
@ -197,6 +195,12 @@ services:
|
||||
<<: *build_defaults_fedora
|
||||
args:
|
||||
fedora_version: "39"
|
||||
fedora-40:
|
||||
<<: *service_defaults
|
||||
build:
|
||||
<<: *build_defaults_fedora
|
||||
args:
|
||||
fedora_version: "40"
|
||||
fedora-rawhide:
|
||||
<<: *service_defaults
|
||||
build:
|
||||
@ -209,6 +213,7 @@ services:
|
||||
<<: *build_defaults_opensuse
|
||||
args:
|
||||
boost_version: "1_75_0"
|
||||
gcc_version: "13"
|
||||
opensuse_version: "leap:15"
|
||||
opensuse-tumbleweed:
|
||||
<<: *service_defaults
|
||||
|
@ -1,5 +1,6 @@
|
||||
# Arguments
|
||||
ARG boost_version
|
||||
ARG gcc_version
|
||||
ARG opensuse_version=leap:15
|
||||
|
||||
# Mapnik Builder
|
||||
@ -7,6 +8,7 @@ FROM opensuse/${opensuse_version} as mapnik-builder
|
||||
|
||||
## Arguments
|
||||
ARG boost_version
|
||||
ARG gcc_version
|
||||
ARG opensuse_version
|
||||
|
||||
## Install mapnik-builder dependencies
|
||||
@ -17,8 +19,8 @@ RUN --mount=id=opensuse:${opensuse_version}-/var/cache/zypp,target=/var/cache/zy
|
||||
cairo-devel \
|
||||
cmake \
|
||||
freetype-devel \
|
||||
gcc \
|
||||
gcc-c++ \
|
||||
gcc${gcc_version} \
|
||||
gcc${gcc_version}-c++ \
|
||||
gdal-devel \
|
||||
git \
|
||||
harfbuzz-devel \
|
||||
@ -39,7 +41,13 @@ RUN --mount=id=opensuse:${opensuse_version}-/var/cache/zypp,target=/var/cache/zy
|
||||
python3 \
|
||||
sqlite3-devel \
|
||||
tar \
|
||||
zlib-devel
|
||||
zlib-devel && \
|
||||
if [ -n "${gcc_version}" ]; then \
|
||||
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${gcc_version} 10; \
|
||||
update-alternatives --install /usr/bin/cc gcc /usr/bin/gcc-${gcc_version} 10; \
|
||||
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-${gcc_version} 10; \
|
||||
update-alternatives --install /usr/bin/c++ g++ /usr/bin/g++-${gcc_version} 10; \
|
||||
fi
|
||||
|
||||
## Download, Build & Install `Mapnik`
|
||||
WORKDIR /tmp/mapnik_src
|
||||
@ -53,9 +61,12 @@ RUN --mount=id=opensuse:${opensuse_version}-mapnik-src:latest,target=/tmp/mapnik
|
||||
export CMAKE_BUILD_PARALLEL_LEVEL=$(nproc) && \
|
||||
export DESTDIR=/tmp/mapnik && \
|
||||
cmake -B . -S /tmp/mapnik_src \
|
||||
-DBUILD_BENCHMARK:BOOL=OFF \
|
||||
-DBUILD_DEMO_CPP:BOOL=OFF \
|
||||
-DBUILD_DEMO_VIEWER:BOOL=OFF \
|
||||
-DBUILD_TESTING:BOOL=OFF \
|
||||
-DCMAKE_BUILD_TYPE:STRING=Release \
|
||||
-DCMAKE_CXX_STANDARD:STRING=17 \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
|
||||
-DMAPNIK_PKGCONF_DIR:PATH=/usr/share/pkgconfig && \
|
||||
cmake --build . && \
|
||||
|
Reference in New Issue
Block a user