[Backport] Use Mapnik v4.0.0 for Dockerfiles and GitHub Actions (#452)

This commit is contained in:
Hummeltech
2024-06-26 16:37:31 -07:00
committed by David Hummel
parent d26a2cb98d
commit 1f2a7f0b34
15 changed files with 178 additions and 280 deletions

View File

@ -1,66 +1,52 @@
--- ---
inputs: inputs:
version: version:
default: latest
description: Version of Mapnik to build & install description: Version of Mapnik to build & install
required: true required: true
runs: runs:
using: composite using: composite
steps: steps:
- name: Create `Mapnik` source directory - name: Cache "Checkout `Mapnik`" & "Build `Mapnik`"
run: | id: cache-mapnik
mkdir mapnik-src
shell: bash --noprofile --norc -euxo pipefail {0}
- name: Cache "Download `Mapnik`" & "Build `Mapnik`"
id: cache-mapnik-src
uses: actions/cache@v4 uses: actions/cache@v4
with: with:
path: mapnik-src path: |
key: ${{ matrix.image }}-${{ matrix.compiler }}-mapnik-${{ inputs.version }} mapnik-build
mapnik-src
key: ${{ matrix.image || matrix.os || matrix.box_generic || github.job }}-${{ matrix.compiler }}-mapnik-${{ inputs.version }}
- name: Download `Mapnik` - name: Checkout `Mapnik`
run: | uses: actions/checkout@v4
curl --silent --location \ with:
https://github.com/mapnik/mapnik/releases/download/v${{ inputs.version }}/mapnik-v${{ inputs.version }}.tar.bz2 \ path: mapnik-src
| tar --extract --bzip2 --strip-components=1 --file=- ref: ${{ inputs.version != 'latest' && format('v{0}', inputs.version) || '' }}
shell: bash --noprofile --norc -euxo pipefail {0} repository: mapnik/mapnik
working-directory: mapnik-src submodules: recursive
if: steps.cache-mapnik-src.outputs.cache-hit != 'true' if: steps.cache-mapnik.outputs.cache-hit != 'true'
- name: Build `Mapnik` - name: Build `Mapnik`
run: | run: |
# Export variables export CMAKE_BUILD_PARALLEL_LEVEL=${BUILD_PARALLEL_LEVEL:-$(nproc)}
export CUSTOM_DEFINES="-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H=1" cmake -B mapnik-build -S mapnik-src \
export GDAL_DATA=/usr/share/gdal -DBUILD_BENCHMARK:BOOL=OFF \
export JOBS=${JOBS:-$(nproc)} -DBUILD_DEMO_CPP:BOOL=OFF \
export PROJ_LIB=/usr/share/proj -DBUILD_DEMO_VIEWER:BOOL=OFF \
export PYTHON=${PYTHON:-python3} -DBUILD_TESTING:BOOL=OFF \
-DBUILD_UTILITY_GEOMETRY_TO_WKB:BOOL=OFF \
# Create GDAL_DATA/PROJ_LIB directories -DBUILD_UTILITY_MAPNIK_INDEX:BOOL=OFF \
mkdir --parents ${GDAL_DATA} ${PROJ_LIB} -DBUILD_UTILITY_MAPNIK_RENDER:BOOL=OFF \
-DBUILD_UTILITY_OGRINDEX:BOOL=OFF \
# Configure & build -DBUILD_UTILITY_PGSQL2SQLITE:BOOL=OFF \
./configure \ -DBUILD_UTILITY_SHAPEINDEX:BOOL=OFF \
CC="${CC:-gcc}" \ -DBUILD_UTILITY_SVG2PNG:BOOL=OFF \
CUSTOM_CFLAGS="${CUSTOM_CFLAGS:-}" \ -DCMAKE_BUILD_TYPE:STRING=Release \
CUSTOM_CXXFLAGS="${CUSTOM_CXXFLAGS:-}" \ -DCMAKE_INSTALL_PREFIX:PATH=/usr
CUSTOM_DEFINES="${CUSTOM_DEFINES:-}" \ cmake --build mapnik-build
CUSTOM_LDFLAGS="${CUSTOM_LDFLAGS:-}" \
CXX="${CXX:-g++}" \
FAST=True \
OPTIMIZATION=0 \
PREFIX="/usr"
make PYTHON=${PYTHON} || make PYTHON=${PYTHON}
shell: bash --noprofile --norc -euxo pipefail {0} shell: bash --noprofile --norc -euxo pipefail {0}
working-directory: mapnik-src if: steps.cache-mapnik.outputs.cache-hit != 'true'
if: steps.cache-mapnik-src.outputs.cache-hit != 'true'
- name: Install `Mapnik` - name: Install `Mapnik`
run: | run: ${{ !matrix.image && 'sudo' || '' }} cmake --install mapnik-build
# Export `PYTHON`
export PYTHON=${PYTHON:-python3}
make install PYTHON=${PYTHON}
shell: bash --noprofile --norc -euxo pipefail {0} shell: bash --noprofile --norc -euxo pipefail {0}
working-directory: mapnik-src

View File

@ -1,46 +0,0 @@
---
runs:
using: composite
steps:
- name: Cache "Checkout `Mapnik`" & "Build `Mapnik`"
id: cache-mapnik
uses: actions/cache@v4
with:
path: |
mapnik-build
mapnik-src
key: ${{ matrix.image || matrix.os || matrix.box_generic || github.job }}-${{ matrix.compiler }}-mapnik-latest
- name: Checkout `Mapnik`
uses: actions/checkout@v4
with:
path: mapnik-src
repository: mapnik/mapnik
submodules: recursive
if: steps.cache-mapnik.outputs.cache-hit != 'true'
- name: Build `Mapnik`
run: |
export CMAKE_BUILD_PARALLEL_LEVEL=${BUILD_PARALLEL_LEVEL:-$(nproc)}
cmake -B mapnik-build -S mapnik-src \
-DBUILD_BENCHMARK:BOOL=OFF \
-DBUILD_DEMO_CPP:BOOL=OFF \
-DBUILD_DEMO_VIEWER:BOOL=OFF \
-DBUILD_TESTING:BOOL=OFF \
-DBUILD_UTILITY_GEOMETRY_TO_WKB:BOOL=OFF \
-DBUILD_UTILITY_MAPNIK_INDEX:BOOL=OFF \
-DBUILD_UTILITY_MAPNIK_RENDER:BOOL=OFF \
-DBUILD_UTILITY_OGRINDEX:BOOL=OFF \
-DBUILD_UTILITY_PGSQL2SQLITE:BOOL=OFF \
-DBUILD_UTILITY_SHAPEINDEX:BOOL=OFF \
-DBUILD_UTILITY_SVG2PNG:BOOL=OFF \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_CXX_STANDARD:STRING=17 \
-DCMAKE_INSTALL_PREFIX:PATH=/usr
cmake --build mapnik-build
shell: bash --noprofile --norc -euxo pipefail {0}
if: steps.cache-mapnik.outputs.cache-hit != 'true'
- name: Install `Mapnik`
run: ${{ !matrix.image && 'sudo' || '' }} cmake --install mapnik-build
shell: bash --noprofile --norc -euxo pipefail {0}

View File

@ -104,27 +104,21 @@ inputs:
memcached memcached
opensuse-mapnik-build-dependencies: opensuse-mapnik-build-dependencies:
default: >- default: >-
bzip2 cmake
freetype-devel freetype-devel
gdal-devel gdal-devel
git
harfbuzz-devel harfbuzz-devel
libboost_filesystem1_75_0-devel
libboost_headers1_75_0-devel
libboost_program_options1_75_0-devel
libboost_regex1_75_0-devel libboost_regex1_75_0-devel
libboost_system1_75_0-devel
libicu-devel libicu-devel
libjpeg8-devel libjpeg8-devel
libpng16-devel libpng16-devel
libtiff-devel libtiff-devel
libwebp-devel libwebp-devel
libxml2-devel libxml2-devel
make
postgresql-devel postgresql-devel
proj-devel proj-devel
python3
sqlite3-devel sqlite3-devel
tar
zlib-devel zlib-devel
rhel-build-dependencies: rhel-build-dependencies:
default: >- default: >-
@ -145,9 +139,10 @@ inputs:
rhel-mapnik-build-dependencies: rhel-mapnik-build-dependencies:
default: >- default: >-
boost-devel boost-devel
bzip2 cmake
freetype-devel freetype-devel
gdal-devel gdal-devel
git
harfbuzz-devel harfbuzz-devel
libicu-devel libicu-devel
libjpeg-devel libjpeg-devel
@ -155,12 +150,9 @@ inputs:
libtiff-devel libtiff-devel
libwebp-devel libwebp-devel
libxml2-devel libxml2-devel
make
postgresql-devel postgresql-devel
proj-devel proj-devel
python3
sqlite-devel sqlite-devel
tar
zlib-devel zlib-devel
ubuntu-build-dependencies: ubuntu-build-dependencies:
default: >- default: >-
@ -196,9 +188,9 @@ inputs:
lcov lcov
memcached memcached
mapnik-build-version-centos-stream: mapnik-build-version-centos-stream:
default: 3.1.0 default: 4.0.0
mapnik-build-version-opensuse: mapnik-build-version-opensuse:
default: 3.1.0 default: 4.0.0
runs: runs:
using: composite using: composite
@ -309,11 +301,15 @@ runs:
if: (!matrix.mapnik_latest && startsWith(matrix.image, 'opensuse/')) if: (!matrix.mapnik_latest && startsWith(matrix.image, 'opensuse/'))
- name: Build & Install latest `mapnik` (Debian/Ubuntu) - name: Build & Install latest `mapnik` (Debian/Ubuntu)
uses: ./.github/actions/dependencies/build-and-install/mapnik/latest uses: ./.github/actions/dependencies/build-and-install/mapnik
with:
version: latest
if: | if: |
matrix.mapnik_latest && matrix.mapnik_latest &&
(startsWith(matrix.image, 'debian:') || startsWith(matrix.image, 'ubuntu:') || runner.os == 'Linux') (startsWith(matrix.image, 'debian:') || startsWith(matrix.image, 'ubuntu:') || runner.os == 'Linux')
- name: Build & Install latest `mapnik` (openSUSE) - name: Build & Install latest `mapnik` (openSUSE)
uses: ./.github/actions/dependencies/build-and-install/mapnik/latest uses: ./.github/actions/dependencies/build-and-install/mapnik
with:
version: latest
if: (matrix.mapnik_latest && startsWith(matrix.image, 'opensuse/')) if: (matrix.mapnik_latest && startsWith(matrix.image, 'opensuse/'))

View File

@ -16,9 +16,10 @@ AC_CONFIG_HEADERS([includes/config.h])
AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_MACRO_DIR([m4])
# Checks for programs. # Checks for programs.
AC_PROG_CXX
AC_PROG_CC AC_PROG_CC
AC_PROG_CC_C99 AC_PROG_CC_C99
AC_PROG_CXX
AC_PROG_RANLIB
dnl Find C++ compiler dnl Find C++ compiler
AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no) AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no)

View File

@ -40,9 +40,9 @@ RUN export CMAKE_BUILD_PARALLEL_LEVEL=$(nproc) && \
-DENABLE_TESTS:BOOL=ON && \ -DENABLE_TESTS:BOOL=ON && \
cmake --build . cmake --build .
RUN export CTEST_PARALLEL_LEVEL=$(nproc) && \ RUN export CTEST_PARALLEL_LEVEL=$(nproc) && \
export DESTDIR=/tmp/mod_tile && \ ctest --output-on-failure
ctest --output-on-failure && \ RUN export DESTDIR=/tmp/mod_tile && \
(cmake --install . --strip || make DESTDIR=${DESTDIR} install/strip) cmake --install . --strip
# Runner # Runner
FROM archlinux:latest as runner FROM archlinux:latest as runner

View File

@ -1,7 +1,7 @@
# Arguments # Arguments
ARG centos_stream_version ARG centos_stream_version=9
ARG extra_repository ARG extra_repository=crb
ARG mapnik_version=3.1.0 ARG mapnik_version=4.0.0
# Mapnik Builder # Mapnik Builder
FROM quay.io/centos/centos:stream${centos_stream_version} as mapnik-builder FROM quay.io/centos/centos:stream${centos_stream_version} as mapnik-builder
@ -16,18 +16,18 @@ RUN --mount=id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \ echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
echo "keepcache=True" >> /etc/dnf/dnf.conf && \ echo "keepcache=True" >> /etc/dnf/dnf.conf && \
dnf --assumeyes install "dnf-command(config-manager)" && \ dnf --assumeyes install "dnf-command(config-manager)" && \
dnf config-manager --save \ dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
--setopt=${extra_repository}.enabled=1 && \
dnf --assumeyes install epel-release && \ dnf --assumeyes install epel-release && \
dnf --assumeyes upgrade && \ dnf --assumeyes upgrade && \
dnf --assumeyes install \ dnf --assumeyes install \
boost-devel \ boost-devel \
bzip2 \
cairo-devel \ cairo-devel \
cmake \
freetype-devel \ freetype-devel \
gcc \ gcc \
gcc-c++ \ gcc-c++ \
gdal-devel \ gdal-devel \
git \
harfbuzz-devel \ harfbuzz-devel \
libicu-devel \ libicu-devel \
libjpeg-devel \ libjpeg-devel \
@ -36,48 +36,38 @@ RUN --mount=id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/
libwebp-devel \ libwebp-devel \
libxml2-devel \ libxml2-devel \
make \ make \
patch \
postgresql-devel \ postgresql-devel \
proj-devel \ proj-devel \
python3 \
sqlite-devel \ sqlite-devel \
tar \
zlib-devel zlib-devel
## Download, Build & Install `Mapnik` ## Download, Build & Install `Mapnik`
WORKDIR /tmp/mapnik_src WORKDIR /tmp/mapnik_src
RUN --mount=id=centos:stream${centos_stream_version}-mapnik:${mapnik_version},target=/tmp/mapnik_src,type=cache \ RUN --mount=id=centos:stream${centos_stream_version}-mapnik-src:${mapnik_version},target=/tmp/mapnik_src,type=cache \
export DESTDIR="/tmp/mapnik"; \ if [ ! -f CMakeLists.txt ]; then \
export GDAL_DATA="$(gdal-config --datadir)"; \ git clone --branch v${mapnik_version} --depth 1 --jobs 8 --recurse-submodules https://github.com/mapnik/mapnik.git /tmp/mapnik_src; \
export JOBS="$(nproc)"; \ fi
export PROJ_LIB="/usr/share/proj"; \ WORKDIR /tmp/mapnik_build
export PYTHON="python3"; \ RUN --mount=id=centos:stream${centos_stream_version}-mapnik-src:${mapnik_version},target=/tmp/mapnik_src,type=cache \
mkdir --parents ${GDAL_DATA} ${PROJ_LIB}; \ --mount=id=centos:stream${centos_stream_version}-mapnik-build:${mapnik_version},target=/tmp/mapnik_build,type=cache \
if [ ! -f SConstruct ]; then \ export CMAKE_BUILD_PARALLEL_LEVEL=$(nproc) && \
curl --silent --location https://github.com/mapnik/mapnik/releases/download/v${mapnik_version}/mapnik-v${mapnik_version}.tar.bz2 \ export DESTDIR=/tmp/mapnik && \
| tar --extract --bzip2 --strip-components=1 --file=-; \ cmake -B . -S /tmp/mapnik_src \
curl --silent --location https://github.com/mapnik/mapnik/commit/8944e81367d2b3b91a41e24116e1813c01491e5d.patch \ -DBUILD_BENCHMARK:BOOL=OFF \
| patch -Np1; \ -DBUILD_DEMO_CPP:BOOL=OFF \
curl --silent --location https://github.com/mapnik/mapnik/commit/83779b7b6bdd229740b1b5e12a4a8fe27114cb7d.patch \ -DBUILD_DEMO_VIEWER:BOOL=OFF \
| patch -F3 -Np1; \ -DBUILD_TESTING:BOOL=OFF \
fi; \ -DBUILD_UTILITY_GEOMETRY_TO_WKB:BOOL=OFF \
bash configure \ -DBUILD_UTILITY_MAPNIK_INDEX:BOOL=OFF \
CPP_TESTS=False \ -DBUILD_UTILITY_MAPNIK_RENDER:BOOL=OFF \
CUSTOM_CFLAGS="${CUSTOM_CFLAGS:-}" \ -DBUILD_UTILITY_OGRINDEX:BOOL=OFF \
CUSTOM_CXXFLAGS="${CUSTOM_CXXFLAGS:-}" \ -DBUILD_UTILITY_PGSQL2SQLITE:BOOL=OFF \
CUSTOM_DEFINES="${CUSTOM_DEFINES:-}" \ -DBUILD_UTILITY_SHAPEINDEX:BOOL=OFF \
CUSTOM_LDFLAGS="${CUSTOM_LDFLAGS:-}" \ -DBUILD_UTILITY_SVG2PNG:BOOL=OFF \
DEMO=False \ -DCMAKE_BUILD_TYPE:STRING=Release \
DESTDIR="${DESTDIR}" \ -DCMAKE_INSTALL_PREFIX:PATH=/usr && \
FAST=True \ cmake --build . && \
INPUT_PLUGINS=all \ cmake --install . --strip
LIBDIR_SCHEMA=lib64 \
OPTIMIZATION=2 \
PREFIX=/usr \
SVG2PNG=True \
XMLPARSER=libxml2 && \
make PYTHON="${PYTHON}" && \
make install PYTHON="${PYTHON}"
# Builder # Builder
FROM quay.io/centos/centos:stream${centos_stream_version} as builder FROM quay.io/centos/centos:stream${centos_stream_version} as builder
@ -91,14 +81,14 @@ RUN --mount=id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \ echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
echo "keepcache=True" >> /etc/dnf/dnf.conf && \ echo "keepcache=True" >> /etc/dnf/dnf.conf && \
dnf --assumeyes install "dnf-command(config-manager)" && \ dnf --assumeyes install "dnf-command(config-manager)" && \
dnf config-manager --save \ dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
--setopt=${extra_repository}.enabled=1 && \
dnf --assumeyes install epel-release && \ dnf --assumeyes install epel-release && \
dnf --assumeyes upgrade && \ dnf --assumeyes upgrade && \
dnf --assumeyes install \ dnf --assumeyes install \
boost-devel \ boost-devel \
cairo-devel \ cairo-devel \
cmake \ cmake \
freetype-devel \
gcc \ gcc \
gcc-c++ \ gcc-c++ \
gdal \ gdal \
@ -108,14 +98,17 @@ RUN --mount=id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/
iniparser-devel \ iniparser-devel \
libcurl-devel \ libcurl-devel \
libicu-devel \ libicu-devel \
libjpeg \ libjpeg-devel \
libmemcached-devel \ libmemcached-devel \
libpng-devel \
librados2-devel \ librados2-devel \
libtiff \ libtiff-devel \
libwebp \ libwebp-devel \
libxml2-devel \
make \ make \
pkg-config \
procps \ procps \
proj proj-devel
## Copy files from builder(s) ## Copy files from builder(s)
### Mapnik ### Mapnik
@ -134,9 +127,9 @@ RUN export CMAKE_BUILD_PARALLEL_LEVEL=$(nproc) && \
-DENABLE_TESTS:BOOL=ON && \ -DENABLE_TESTS:BOOL=ON && \
cmake --build . cmake --build .
RUN export CTEST_PARALLEL_LEVEL=$(nproc) && \ RUN export CTEST_PARALLEL_LEVEL=$(nproc) && \
export DESTDIR=/tmp/mod_tile && \ ctest --output-on-failure
ctest --output-on-failure && \ RUN export DESTDIR=/tmp/mod_tile && \
(cmake --install . --strip || make DESTDIR=${DESTDIR} install/strip) cmake --install . --strip
# Runner # Runner
FROM quay.io/centos/centos:stream${centos_stream_version} as runner FROM quay.io/centos/centos:stream${centos_stream_version} as runner
@ -150,13 +143,10 @@ RUN --mount=id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \ echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
echo "keepcache=True" >> /etc/dnf/dnf.conf && \ echo "keepcache=True" >> /etc/dnf/dnf.conf && \
dnf --assumeyes install "dnf-command(config-manager)" && \ dnf --assumeyes install "dnf-command(config-manager)" && \
dnf config-manager --save \ dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
--setopt=${extra_repository}.enabled=1 && \
dnf --assumeyes install epel-release && \ dnf --assumeyes install epel-release && \
dnf --assumeyes upgrade && \ dnf --assumeyes upgrade && \
dnf --assumeyes install \ dnf --assumeyes install \
boost-filesystem \
boost-program-options \
boost-regex \ boost-regex \
cairo \ cairo \
gdal \ gdal \

View File

@ -1,7 +1,7 @@
# Arguments # Arguments
ARG centos_stream_version ARG centos_stream_version=9
ARG extra_repository ARG extra_repository=crb
ARG mapnik_version=3.1.0 ARG mapnik_version=4.0.0
# Mapnik Builder # Mapnik Builder
FROM quay.io/centos/centos:stream${centos_stream_version} as mapnik-builder FROM quay.io/centos/centos:stream${centos_stream_version} as mapnik-builder
@ -16,18 +16,18 @@ RUN --mount=id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \ echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
echo "keepcache=True" >> /etc/dnf/dnf.conf && \ echo "keepcache=True" >> /etc/dnf/dnf.conf && \
dnf --assumeyes install "dnf-command(config-manager)" && \ dnf --assumeyes install "dnf-command(config-manager)" && \
dnf config-manager --save \ dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
--setopt=${extra_repository}.enabled=1 && \
dnf --assumeyes install epel-release && \ dnf --assumeyes install epel-release && \
dnf --assumeyes upgrade && \ dnf --assumeyes upgrade && \
dnf --assumeyes install \ dnf --assumeyes install \
boost-devel \ boost-devel \
bzip2 \
cairo-devel \ cairo-devel \
cmake \
freetype-devel \ freetype-devel \
gcc \ gcc \
gcc-c++ \ gcc-c++ \
gdal-devel \ gdal-devel \
git \
harfbuzz-devel \ harfbuzz-devel \
libicu-devel \ libicu-devel \
libjpeg-devel \ libjpeg-devel \
@ -36,48 +36,38 @@ RUN --mount=id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/
libwebp-devel \ libwebp-devel \
libxml2-devel \ libxml2-devel \
make \ make \
patch \
postgresql-devel \ postgresql-devel \
proj-devel \ proj-devel \
python3 \
sqlite-devel \ sqlite-devel \
tar \
zlib-devel zlib-devel
## Download, Build & Install `Mapnik` ## Download, Build & Install `Mapnik`
WORKDIR /tmp/mapnik_src WORKDIR /tmp/mapnik_src
RUN --mount=id=centos:stream${centos_stream_version}-mapnik:${mapnik_version},target=/tmp/mapnik_src,type=cache \ RUN --mount=id=centos:stream${centos_stream_version}-mapnik-src:${mapnik_version},target=/tmp/mapnik_src,type=cache \
export DESTDIR="/tmp/mapnik"; \ if [ ! -f CMakeLists.txt ]; then \
export GDAL_DATA="$(gdal-config --datadir)"; \ git clone --branch v${mapnik_version} --depth 1 --jobs 8 --recurse-submodules https://github.com/mapnik/mapnik.git /tmp/mapnik_src; \
export JOBS="$(nproc)"; \ fi
export PROJ_LIB="/usr/share/proj"; \ WORKDIR /tmp/mapnik_build
export PYTHON="python3"; \ RUN --mount=id=centos:stream${centos_stream_version}-mapnik-src:${mapnik_version},target=/tmp/mapnik_src,type=cache \
mkdir --parents ${GDAL_DATA} ${PROJ_LIB}; \ --mount=id=centos:stream${centos_stream_version}-mapnik-build:${mapnik_version},target=/tmp/mapnik_build,type=cache \
if [ ! -f SConstruct ]; then \ export CMAKE_BUILD_PARALLEL_LEVEL=$(nproc) && \
curl --silent --location https://github.com/mapnik/mapnik/releases/download/v${mapnik_version}/mapnik-v${mapnik_version}.tar.bz2 \ export DESTDIR=/tmp/mapnik && \
| tar --extract --bzip2 --strip-components=1 --file=-; \ cmake -B . -S /tmp/mapnik_src \
curl --silent --location https://github.com/mapnik/mapnik/commit/8944e81367d2b3b91a41e24116e1813c01491e5d.patch \ -DBUILD_BENCHMARK:BOOL=OFF \
| patch -Np1; \ -DBUILD_DEMO_CPP:BOOL=OFF \
curl --silent --location https://github.com/mapnik/mapnik/commit/83779b7b6bdd229740b1b5e12a4a8fe27114cb7d.patch \ -DBUILD_DEMO_VIEWER:BOOL=OFF \
| patch -F3 -Np1; \ -DBUILD_TESTING:BOOL=OFF \
fi; \ -DBUILD_UTILITY_GEOMETRY_TO_WKB:BOOL=OFF \
bash configure \ -DBUILD_UTILITY_MAPNIK_INDEX:BOOL=OFF \
CPP_TESTS=False \ -DBUILD_UTILITY_MAPNIK_RENDER:BOOL=OFF \
CUSTOM_CFLAGS="${CUSTOM_CFLAGS:-}" \ -DBUILD_UTILITY_OGRINDEX:BOOL=OFF \
CUSTOM_CXXFLAGS="${CUSTOM_CXXFLAGS:-}" \ -DBUILD_UTILITY_PGSQL2SQLITE:BOOL=OFF \
CUSTOM_DEFINES="${CUSTOM_DEFINES:-}" \ -DBUILD_UTILITY_SHAPEINDEX:BOOL=OFF \
CUSTOM_LDFLAGS="${CUSTOM_LDFLAGS:-}" \ -DBUILD_UTILITY_SVG2PNG:BOOL=OFF \
DEMO=False \ -DCMAKE_BUILD_TYPE:STRING=Release \
DESTDIR="${DESTDIR}" \ -DCMAKE_INSTALL_PREFIX:PATH=/usr && \
FAST=True \ cmake --build . && \
INPUT_PLUGINS=all \ cmake --install . --strip
LIBDIR_SCHEMA=lib64 \
OPTIMIZATION=2 \
PREFIX=/usr \
SVG2PNG=True \
XMLPARSER=libxml2 && \
make PYTHON="${PYTHON}" && \
make install PYTHON="${PYTHON}"
# Builder # Builder
FROM quay.io/centos/centos:stream${centos_stream_version} as builder FROM quay.io/centos/centos:stream${centos_stream_version} as builder
@ -91,8 +81,7 @@ RUN --mount=id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \ echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
echo "keepcache=True" >> /etc/dnf/dnf.conf && \ echo "keepcache=True" >> /etc/dnf/dnf.conf && \
dnf --assumeyes install "dnf-command(config-manager)" && \ dnf --assumeyes install "dnf-command(config-manager)" && \
dnf config-manager --save \ dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
--setopt=${extra_repository}.enabled=1 && \
dnf --assumeyes install epel-release && \ dnf --assumeyes install epel-release && \
dnf --assumeyes upgrade && \ dnf --assumeyes upgrade && \
dnf --assumeyes install \ dnf --assumeyes install \
@ -116,8 +105,7 @@ RUN --mount=id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/
libxml2-devel \ libxml2-devel \
make \ make \
proj-devel \ proj-devel \
redhat-rpm-config \ redhat-rpm-config
sqlite-devel
## Copy files from builder(s) ## Copy files from builder(s)
### Mapnik ### Mapnik
@ -144,13 +132,10 @@ RUN --mount=id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \ echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
echo "keepcache=True" >> /etc/dnf/dnf.conf && \ echo "keepcache=True" >> /etc/dnf/dnf.conf && \
dnf --assumeyes install "dnf-command(config-manager)" && \ dnf --assumeyes install "dnf-command(config-manager)" && \
dnf config-manager --save \ dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
--setopt=${extra_repository}.enabled=1 && \
dnf --assumeyes install epel-release && \ dnf --assumeyes install epel-release && \
dnf --assumeyes upgrade && \ dnf --assumeyes upgrade && \
dnf --assumeyes install \ dnf --assumeyes install \
boost-filesystem \
boost-program-options \
boost-regex \ boost-regex \
cairo \ cairo \
gdal \ gdal \
@ -178,7 +163,7 @@ COPY --from=builder \
## Fix mapnik directories ## Fix mapnik directories
RUN sed \ RUN sed \
--expression "s#/usr/lib/mapnik/3.1/input#$(find /usr -mindepth 1 -type d -name input)#g" \ --expression "s#/usr/lib/mapnik/3.1/input#$(find /usr -mindepth 1 -type d -name input | grep mapnik)#g" \
--expression "s#/usr/share/fonts/truetype#/usr/share/fonts#g" \ --expression "s#/usr/share/fonts/truetype#/usr/share/fonts#g" \
/usr/local/etc/renderd.conf > /etc/renderd.conf /usr/local/etc/renderd.conf > /etc/renderd.conf

View File

@ -14,13 +14,11 @@ RUN --mount=id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \ echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
echo "keepcache=True" >> /etc/dnf/dnf.conf && \ echo "keepcache=True" >> /etc/dnf/dnf.conf && \
dnf --assumeyes install "dnf-command(config-manager)" && \ dnf --assumeyes install "dnf-command(config-manager)" && \
dnf config-manager --save \ dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
--setopt=${extra_repository}.enabled=1 && \
dnf --assumeyes install epel-release && \ dnf --assumeyes install epel-release && \
dnf --assumeyes upgrade && \ dnf --assumeyes upgrade && \
dnf --assumeyes install \ dnf --assumeyes install \
boost-devel \ boost-devel \
bzip2 \
cairo-devel \ cairo-devel \
cmake \ cmake \
freetype-devel \ freetype-devel \
@ -36,12 +34,9 @@ RUN --mount=id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/
libwebp-devel \ libwebp-devel \
libxml2-devel \ libxml2-devel \
make \ make \
patch \
postgresql-devel \ postgresql-devel \
proj-devel \ proj-devel \
python3 \
sqlite-devel \ sqlite-devel \
tar \
zlib-devel zlib-devel
## Download, Build & Install `Mapnik` ## Download, Build & Install `Mapnik`
@ -56,14 +51,21 @@ RUN --mount=id=centos:stream${centos_stream_version}-mapnik-src:latest,target=/t
export CMAKE_BUILD_PARALLEL_LEVEL=$(nproc) && \ export CMAKE_BUILD_PARALLEL_LEVEL=$(nproc) && \
export DESTDIR=/tmp/mapnik && \ export DESTDIR=/tmp/mapnik && \
cmake -B . -S /tmp/mapnik_src \ cmake -B . -S /tmp/mapnik_src \
-DBUILD_BENCHMARK:BOOL=OFF \
-DBUILD_DEMO_CPP:BOOL=OFF \
-DBUILD_DEMO_VIEWER:BOOL=OFF \ -DBUILD_DEMO_VIEWER:BOOL=OFF \
-DBUILD_TESTING:BOOL=OFF \ -DBUILD_TESTING:BOOL=OFF \
-DBUILD_UTILITY_GEOMETRY_TO_WKB:BOOL=OFF \
-DBUILD_UTILITY_MAPNIK_INDEX:BOOL=OFF \
-DBUILD_UTILITY_MAPNIK_RENDER:BOOL=OFF \
-DBUILD_UTILITY_OGRINDEX:BOOL=OFF \
-DBUILD_UTILITY_PGSQL2SQLITE:BOOL=OFF \
-DBUILD_UTILITY_SHAPEINDEX:BOOL=OFF \
-DBUILD_UTILITY_SVG2PNG:BOOL=OFF \
-DCMAKE_BUILD_TYPE:STRING=Release \ -DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_CXX_STANDARD:STRING=17 \ -DCMAKE_INSTALL_PREFIX:PATH=/usr && \
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
-DMAPNIK_PKGCONF_DIR:PATH=/usr/share/pkgconfig && \
cmake --build . && \ cmake --build . && \
(cmake --install . --prefix /usr --strip || make DESTDIR=${DESTDIR} install/strip) cmake --install . --strip
# Builder # Builder
FROM quay.io/centos/centos:stream${centos_stream_version} as builder FROM quay.io/centos/centos:stream${centos_stream_version} as builder
@ -77,8 +79,7 @@ RUN --mount=id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \ echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
echo "keepcache=True" >> /etc/dnf/dnf.conf && \ echo "keepcache=True" >> /etc/dnf/dnf.conf && \
dnf --assumeyes install "dnf-command(config-manager)" && \ dnf --assumeyes install "dnf-command(config-manager)" && \
dnf config-manager --save \ dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
--setopt=${extra_repository}.enabled=1 && \
dnf --assumeyes install epel-release && \ dnf --assumeyes install epel-release && \
dnf --assumeyes upgrade && \ dnf --assumeyes upgrade && \
dnf --assumeyes install \ dnf --assumeyes install \
@ -124,9 +125,9 @@ RUN export CMAKE_BUILD_PARALLEL_LEVEL=$(nproc) && \
-DENABLE_TESTS:BOOL=ON && \ -DENABLE_TESTS:BOOL=ON && \
cmake --build . cmake --build .
RUN export CTEST_PARALLEL_LEVEL=$(nproc) && \ RUN export CTEST_PARALLEL_LEVEL=$(nproc) && \
export DESTDIR=/tmp/mod_tile && \ ctest --output-on-failure
ctest --output-on-failure && \ RUN export DESTDIR=/tmp/mod_tile && \
(cmake --install . --strip || make DESTDIR=${DESTDIR} install/strip) cmake --install . --strip
# Runner # Runner
FROM quay.io/centos/centos:stream${centos_stream_version} as runner FROM quay.io/centos/centos:stream${centos_stream_version} as runner
@ -140,8 +141,7 @@ RUN --mount=id=centos:stream${centos_stream_version}-/var/cache/dnf,target=/var/
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \ echo "install_weak_deps=False" >> /etc/dnf/dnf.conf && \
echo "keepcache=True" >> /etc/dnf/dnf.conf && \ echo "keepcache=True" >> /etc/dnf/dnf.conf && \
dnf --assumeyes install "dnf-command(config-manager)" && \ dnf --assumeyes install "dnf-command(config-manager)" && \
dnf config-manager --save \ dnf config-manager --save --setopt=${extra_repository}.enabled=1 && \
--setopt=${extra_repository}.enabled=1 && \
dnf --assumeyes install epel-release && \ dnf --assumeyes install epel-release && \
dnf --assumeyes upgrade && \ dnf --assumeyes upgrade && \
dnf --assumeyes install \ dnf --assumeyes install \

View File

@ -44,9 +44,9 @@ RUN export CMAKE_BUILD_PARALLEL_LEVEL=$(nproc) && \
-DENABLE_TESTS:BOOL=ON && \ -DENABLE_TESTS:BOOL=ON && \
cmake --build . cmake --build .
RUN export CTEST_PARALLEL_LEVEL=$(nproc) && \ RUN export CTEST_PARALLEL_LEVEL=$(nproc) && \
export DESTDIR=/tmp/mod_tile && \ ctest --output-on-failure
ctest --output-on-failure && \ RUN export DESTDIR=/tmp/mod_tile && \
(cmake --install . --strip || make DESTDIR=${DESTDIR} install/strip) cmake --install . --strip
# Runner # Runner
FROM debian:${debian_version} as runner FROM debian:${debian_version} as runner

View File

@ -73,7 +73,7 @@ COPY --from=builder \
## Fix mapnik directories ## Fix mapnik directories
RUN sed \ RUN sed \
--expression "s#/usr/lib/mapnik/3.1/input#$(find /usr -mindepth 1 -type d -name input)#g" \ --expression "s#/usr/lib/mapnik/3.1/input#$(find /usr -mindepth 1 -type d -name input | grep mapnik)#g" \
--expression "s#/usr/share/fonts/truetype#/usr/share/fonts#g" \ --expression "s#/usr/share/fonts/truetype#/usr/share/fonts#g" \
/usr/local/etc/renderd.conf > /etc/renderd.conf /usr/local/etc/renderd.conf > /etc/renderd.conf

View File

@ -38,9 +38,9 @@ RUN export CMAKE_BUILD_PARALLEL_LEVEL=$(nproc) && \
-DENABLE_TESTS:BOOL=ON && \ -DENABLE_TESTS:BOOL=ON && \
cmake --build . cmake --build .
RUN export CTEST_PARALLEL_LEVEL=$(nproc) && \ RUN export CTEST_PARALLEL_LEVEL=$(nproc) && \
export DESTDIR=/tmp/mod_tile && \ ctest --output-on-failure
ctest --output-on-failure && \ RUN export DESTDIR=/tmp/mod_tile && \
(cmake --install . --strip || make DESTDIR=${DESTDIR} install/strip) cmake --install . --strip
# Runner # Runner
FROM fedora:${fedora_version} as runner FROM fedora:${fedora_version} as runner

View File

@ -1,6 +1,7 @@
# Arguments # Arguments
ARG boost_version ARG boost_version
ARG gcc_version ARG gcc_version
ARG mapnik_version=4.0.0
ARG opensuse_version=leap:15 ARG opensuse_version=leap:15
# Mapnik Builder # Mapnik Builder
@ -9,10 +10,11 @@ FROM opensuse/${opensuse_version} as mapnik-builder
## Arguments ## Arguments
ARG boost_version ARG boost_version
ARG gcc_version ARG gcc_version
ARG mapnik_version
ARG opensuse_version ARG opensuse_version
## Install mapnik-builder dependencies ## Install mapnik-builder dependencies
RUN --mount=id=opensuse:${opensuse_version}-/var/cache/zypp,target=/var/cache/zypp,type=cache,sharing=locked \ RUN --mount=id=opensuse/${opensuse_version}-/var/cache/zypp,target=/var/cache/zypp,type=cache,sharing=locked \
zypper modifyrepo --all --keep-packages && \ zypper modifyrepo --all --keep-packages && \
zypper --non-interactive update && \ zypper --non-interactive update && \
zypper --non-interactive install \ zypper --non-interactive install \
@ -24,12 +26,7 @@ RUN --mount=id=opensuse:${opensuse_version}-/var/cache/zypp,target=/var/cache/zy
gdal-devel \ gdal-devel \
git \ git \
harfbuzz-devel \ harfbuzz-devel \
libboost_atomic${boost_version}-devel \
libboost_filesystem${boost_version}-devel \
libboost_headers${boost_version}-devel \
libboost_program_options${boost_version}-devel \
libboost_regex${boost_version}-devel \ libboost_regex${boost_version}-devel \
libboost_system${boost_version}-devel \
libicu-devel \ libicu-devel \
libjpeg8-devel \ libjpeg8-devel \
libpng16-devel \ libpng16-devel \
@ -38,9 +35,7 @@ RUN --mount=id=opensuse:${opensuse_version}-/var/cache/zypp,target=/var/cache/zy
libxml2-devel \ libxml2-devel \
postgresql-devel \ postgresql-devel \
proj-devel \ proj-devel \
python3 \
sqlite3-devel \ sqlite3-devel \
tar \
zlib-devel && \ zlib-devel && \
if [ -n "${gcc_version}" ]; then \ if [ -n "${gcc_version}" ]; then \
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${gcc_version} 10; \ update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${gcc_version} 10; \
@ -51,13 +46,13 @@ RUN --mount=id=opensuse:${opensuse_version}-/var/cache/zypp,target=/var/cache/zy
## Download, Build & Install `Mapnik` ## Download, Build & Install `Mapnik`
WORKDIR /tmp/mapnik_src WORKDIR /tmp/mapnik_src
RUN --mount=id=opensuse:${opensuse_version}-mapnik-src:latest,target=/tmp/mapnik_src,type=cache \ RUN --mount=id=opensuse/${opensuse_version}-mapnik-src:${mapnik_version},target=/tmp/mapnik_src,type=cache \
if [ ! -f CMakeLists.txt ]; then \ if [ ! -f CMakeLists.txt ]; then \
git clone --depth 1 --jobs 8 --recurse-submodules https://github.com/mapnik/mapnik.git /tmp/mapnik_src; \ git clone --branch v${mapnik_version} --depth 1 --jobs 8 --recurse-submodules https://github.com/mapnik/mapnik.git /tmp/mapnik_src; \
fi fi
WORKDIR /tmp/mapnik_build WORKDIR /tmp/mapnik_build
RUN --mount=id=opensuse:${opensuse_version}-mapnik-src:latest,target=/tmp/mapnik_src,type=cache \ RUN --mount=id=opensuse/${opensuse_version}-mapnik-src:${mapnik_version},target=/tmp/mapnik_src,type=cache \
--mount=id=opensuse:${opensuse_version}-mapnik-build:latest,target=/tmp/mapnik_build,type=cache \ --mount=id=opensuse/${opensuse_version}-mapnik-build:${mapnik_version},target=/tmp/mapnik_build,type=cache \
export CMAKE_BUILD_PARALLEL_LEVEL=$(nproc) && \ export CMAKE_BUILD_PARALLEL_LEVEL=$(nproc) && \
export DESTDIR=/tmp/mapnik && \ export DESTDIR=/tmp/mapnik && \
cmake -B . -S /tmp/mapnik_src \ cmake -B . -S /tmp/mapnik_src \
@ -65,12 +60,17 @@ RUN --mount=id=opensuse:${opensuse_version}-mapnik-src:latest,target=/tmp/mapnik
-DBUILD_DEMO_CPP:BOOL=OFF \ -DBUILD_DEMO_CPP:BOOL=OFF \
-DBUILD_DEMO_VIEWER:BOOL=OFF \ -DBUILD_DEMO_VIEWER:BOOL=OFF \
-DBUILD_TESTING:BOOL=OFF \ -DBUILD_TESTING:BOOL=OFF \
-DBUILD_UTILITY_GEOMETRY_TO_WKB:BOOL=OFF \
-DBUILD_UTILITY_MAPNIK_INDEX:BOOL=OFF \
-DBUILD_UTILITY_MAPNIK_RENDER:BOOL=OFF \
-DBUILD_UTILITY_OGRINDEX:BOOL=OFF \
-DBUILD_UTILITY_PGSQL2SQLITE:BOOL=OFF \
-DBUILD_UTILITY_SHAPEINDEX:BOOL=OFF \
-DBUILD_UTILITY_SVG2PNG:BOOL=OFF \
-DCMAKE_BUILD_TYPE:STRING=Release \ -DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_CXX_STANDARD:STRING=17 \ -DCMAKE_INSTALL_PREFIX:PATH=/usr && \
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
-DMAPNIK_PKGCONF_DIR:PATH=/usr/share/pkgconfig && \
cmake --build . && \ cmake --build . && \
(cmake --install . --prefix /usr --strip || make DESTDIR=${DESTDIR} install/strip) cmake --install . --strip
# Builder # Builder
FROM opensuse/${opensuse_version} as builder FROM opensuse/${opensuse_version} as builder
@ -80,7 +80,7 @@ ARG boost_version
ARG opensuse_version ARG opensuse_version
## Install builder dependencies ## Install builder dependencies
RUN --mount=id=opensuse:${opensuse_version}-/var/cache/zypp,target=/var/cache/zypp,type=cache,sharing=locked \ RUN --mount=id=opensuse/${opensuse_version}-/var/cache/zypp,target=/var/cache/zypp,type=cache,sharing=locked \
zypper modifyrepo --all --keep-packages && \ zypper modifyrepo --all --keep-packages && \
zypper --non-interactive update && \ zypper --non-interactive update && \
zypper --non-interactive install \ zypper --non-interactive install \
@ -93,12 +93,7 @@ RUN --mount=id=opensuse:${opensuse_version}-/var/cache/zypp,target=/var/cache/zy
gdal \ gdal \
glib2-devel \ glib2-devel \
harfbuzz-devel \ harfbuzz-devel \
libboost_atomic${boost_version}-devel \
libboost_filesystem${boost_version}-devel \
libboost_headers${boost_version}-devel \
libboost_program_options${boost_version}-devel \
libboost_regex${boost_version}-devel \ libboost_regex${boost_version}-devel \
libboost_system${boost_version}-devel \
libcurl-devel \ libcurl-devel \
libicu-devel \ libicu-devel \
libiniparser-devel \ libiniparser-devel \
@ -131,9 +126,9 @@ RUN export CMAKE_BUILD_PARALLEL_LEVEL=$(nproc) && \
-DENABLE_TESTS:BOOL=ON && \ -DENABLE_TESTS:BOOL=ON && \
cmake --build . cmake --build .
RUN export CTEST_PARALLEL_LEVEL=$(nproc) && \ RUN export CTEST_PARALLEL_LEVEL=$(nproc) && \
export DESTDIR=/tmp/mod_tile && \ ctest --output-on-failure
ctest --output-on-failure && \ RUN export DESTDIR=/tmp/mod_tile && \
(cmake --install . --strip || make DESTDIR=${DESTDIR} install/strip) cmake --install . --strip
# Runner # Runner
FROM opensuse/${opensuse_version} as runner FROM opensuse/${opensuse_version} as runner
@ -143,7 +138,7 @@ ARG boost_version
ARG opensuse_version ARG opensuse_version
## Install runner dependencies ## Install runner dependencies
RUN --mount=id=opensuse:${opensuse_version}-/var/cache/zypp,target=/var/cache/zypp,type=cache,sharing=locked \ RUN --mount=id=opensuse/${opensuse_version}-/var/cache/zypp,target=/var/cache/zypp,type=cache,sharing=locked \
zypper modifyrepo --all --keep-packages && \ zypper modifyrepo --all --keep-packages && \
zypper --non-interactive update && \ zypper --non-interactive update && \
zypper --non-interactive install \ zypper --non-interactive install \
@ -152,11 +147,7 @@ RUN --mount=id=opensuse:${opensuse_version}-/var/cache/zypp,target=/var/cache/zy
cairo-devel \ cairo-devel \
gdal \ gdal \
harfbuzz-devel \ harfbuzz-devel \
libboost_atomic${boost_version}-devel \
libboost_filesystem${boost_version}-devel \
libboost_program_options${boost_version}-devel \
libboost_regex${boost_version}-devel \ libboost_regex${boost_version}-devel \
libboost_system${boost_version}-devel \
libicu-devel \ libicu-devel \
libiniparser-devel \ libiniparser-devel \
libjpeg8-devel \ libjpeg8-devel \

View File

@ -44,9 +44,9 @@ RUN export CMAKE_BUILD_PARALLEL_LEVEL=$(nproc) && \
-DENABLE_TESTS:BOOL=ON && \ -DENABLE_TESTS:BOOL=ON && \
cmake --build . cmake --build .
RUN export CTEST_PARALLEL_LEVEL=$(nproc) && \ RUN export CTEST_PARALLEL_LEVEL=$(nproc) && \
export DESTDIR=/tmp/mod_tile && \ ctest --output-on-failure
ctest --output-on-failure && \ RUN export DESTDIR=/tmp/mod_tile && \
(cmake --install . --strip || make DESTDIR=${DESTDIR} install/strip) cmake --install . --strip
# Runner # Runner
FROM ubuntu:${ubuntu_version} as runner FROM ubuntu:${ubuntu_version} as runner

View File

@ -73,7 +73,7 @@ COPY --from=builder \
## Fix mapnik directories ## Fix mapnik directories
RUN sed \ RUN sed \
--expression "s#/usr/lib/mapnik/3.1/input#$(find /usr -mindepth 1 -type d -name input)#g" \ --expression "s#/usr/lib/mapnik/3.1/input#$(find /usr -mindepth 1 -type d -name input | grep mapnik)#g" \
--expression "s#/usr/share/fonts/truetype#/usr/share/fonts#g" \ --expression "s#/usr/share/fonts/truetype#/usr/share/fonts#g" \
/usr/local/etc/renderd.conf > /etc/renderd.conf /usr/local/etc/renderd.conf > /etc/renderd.conf

View File

@ -28,12 +28,7 @@ sudo zypper --non-interactive install \
gdal \ gdal \
glib2-devel \ glib2-devel \
harfbuzz-devel \ harfbuzz-devel \
libboost_atomic-devel \
libboost_filesystem-devel \
libboost_headers-devel \
libboost_program_options-devel \
libboost_regex-devel \ libboost_regex-devel \
libboost_system-devel \
libcurl-devel \ libcurl-devel \
libicu-devel \ libicu-devel \
libiniparser-devel \ libiniparser-devel \