Skip to content

Commit 39b0d18

Browse files
committed
Updated pixman to 0.46.0
1 parent 2bdf76e commit 39b0d18

File tree

92 files changed

+5416
-1255
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

92 files changed

+5416
-1255
lines changed

.ImageMagick/ImageMagick.version.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
#define DELEGATE_VERSION_NUM 0,44,2
2-
#define DELEGATE_VERSION_STRING "0.44.2 (2024-12-03)"
1+
#define DELEGATE_VERSION_NUM 0,46,0
2+
#define DELEGATE_VERSION_STRING "0.46.0 (2025-04-30)"

.clang-format

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
BasedOnStyle: LLVM
2+
AlwaysBreakAfterReturnType: TopLevelDefinitions
3+
BraceWrapping:
4+
IndentBraces: true
5+
ConstructorInitializerIndentWidth: 4
6+
ContinuationIndentWidth: 4
7+
IndentAccessModifiers: true
8+
IndentCaseBlocks: true
9+
IndentCaseLabels: true
10+
IndentWidth: 4
11+
BreakBeforeBraces: Allman
12+
AttributeMacros: ['__attribute__']
13+
AlignConsecutiveMacros: true
14+
AlignAfterOpenBracket: Align
15+
AlignConsecutiveAssignments: true
16+
AlignConsecutiveDeclarations: true
17+
AllowAllArgumentsOnNextLine: false
18+
AllowAllParametersOfDeclarationOnNextLine: false
19+
BinPackArguments: true
20+
BinPackParameters: false
21+
PenaltyBreakAssignment: 1000
22+
ReflowComments: false
23+
SpaceBeforeParens: Always
24+
SpaceInEmptyBlock: true
25+
SpacesInContainerLiterals: true
26+
TabWidth: 8
27+
UseTab: ForContinuationAndIndentation

.gitlab-ci.d/01-docker.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Docker build stage
2+
#
3+
# It builds a multi-arch image for all required architectures. Each image can be
4+
# later easily used with properly configured Docker (which uses binfmt and QEMU
5+
# underneath).
6+
7+
include:
8+
- local: .gitlab-ci.d/templates/docker.yml
9+
inputs:
10+
runner_tags: [aarch64]
11+
job_name_suffix: ":aarch64"
12+
targets:
13+
- linux-arm-v5
14+
- linux-arm-v7
15+
- linux-arm64-v8
16+
- windows-arm64-v8
17+
- local: .gitlab-ci.d/templates/docker.yml
18+
inputs:
19+
runner_tags: [kvm]
20+
job_name_suffix: ":kvm"
21+
targets:
22+
- linux-mips64le
23+
- linux-mipsel
24+
- linux-ppc64le
25+
- linux-riscv64
26+
- local: .gitlab-ci.d/templates/docker.yml
27+
inputs:
28+
targets:
29+
- linux-386
30+
- linux-amd64
31+
- linux-mips
32+
- linux-ppc
33+
- linux-ppc64
34+
- windows-686
35+
- windows-amd64

.gitlab-ci.d/01-docker/Dockerfile

Lines changed: 196 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,196 @@
1+
ARG BASE_IMAGE=docker.io/debian
2+
ARG BASE_IMAGE_TAG=bookworm-slim
3+
FROM ${BASE_IMAGE}:${BASE_IMAGE_TAG} AS base-image
4+
5+
ENV APT_UPDATE="apt-get update" \
6+
APT_INSTALL="env DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends" \
7+
APT_CLEANUP="rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*"
8+
9+
FROM base-image AS base
10+
11+
LABEL org.opencontainers.image.title="Pixman build environment for platform coverage" \
12+
org.opencontainers.image.authors="Marek Pikuła <[email protected]>"
13+
14+
ARG GCOVR_VERSION="~=7.2"
15+
ARG MESON_VERSION="~=1.7"
16+
RUN echo "deb http://deb.debian.org/debian bookworm-backports main" > /etc/apt/sources.list.d/debian-12-backports.list \
17+
&& ${APT_UPDATE} \
18+
&& ${APT_INSTALL} \
19+
# Build dependencies.
20+
build-essential \
21+
ninja-build \
22+
pkg-config \
23+
# pipx dependencies.
24+
python3-argcomplete \
25+
python3-packaging \
26+
python3-pip \
27+
python3-platformdirs \
28+
python3-userpath \
29+
python3-venv \
30+
# gcovr dependencies.
31+
python3-lxml \
32+
# User bookworm-backports for QEMU, as it has version 7 by default, which
33+
# has some issues.
34+
&& ${APT_INSTALL} \
35+
$(grep bookworm /etc/os-release >/dev/null && echo -t bookworm-backports) \
36+
qemu-user \
37+
&& ${APT_CLEANUP} \
38+
# Install pipx using pip to have a more recent version of pipx, which
39+
# supports the `--global` flag.
40+
&& pip install pipx --break-system-packages \
41+
# Install a recent version of meson and gcovr using pipx to have the same
42+
# version across all variants regardless of base.
43+
&& pipx install --global --system-site-packages \
44+
gcovr${GCOVR_VERSION} \
45+
meson${MESON_VERSION} \
46+
&& gcovr --version \
47+
&& echo Meson version: \
48+
&& meson --version
49+
50+
FROM base AS llvm-base
51+
# LLVM 16 is the highest available in Bookworm. Preferably, we should use the
52+
# same version for all platforms, but it's not possible at the moment.
53+
ARG LLVM_VERSION=16
54+
RUN ${APT_UPDATE} \
55+
&& ${APT_INSTALL} \
56+
clang-${LLVM_VERSION} \
57+
libclang-rt-${LLVM_VERSION}-dev \
58+
lld-${LLVM_VERSION} \
59+
llvm-${LLVM_VERSION} \
60+
&& ${APT_CLEANUP} \
61+
&& ln -f /usr/bin/clang-${LLVM_VERSION} /usr/bin/clang \
62+
&& ln -f /usr/bin/lld-${LLVM_VERSION} /usr/bin/lld \
63+
&& ln -f /usr/bin/llvm-ar-${LLVM_VERSION} /usr/bin/llvm-ar \
64+
&& ln -f /usr/bin/llvm-strip-${LLVM_VERSION} /usr/bin/llvm-strip
65+
66+
FROM llvm-base AS native-base
67+
ARG LLVM_VERSION=16
68+
RUN ${APT_UPDATE} \
69+
&& ${APT_INSTALL} \
70+
# Runtime library dependencies.
71+
libglib2.0-dev \
72+
libgtk-3-dev \
73+
libpng-dev \
74+
# Install libomp-dev if available (OpenMP support for LLVM). It's done only
75+
# for the native images, as OpenMP support in cross-build environment is
76+
# tricky for LLVM.
77+
&& (${APT_INSTALL} libomp-${LLVM_VERSION}-dev \
78+
|| echo "OpenMP not available on this platform.") \
79+
&& ${APT_CLEANUP}
80+
81+
# The following targets differ in BASE_IMAGE.
82+
FROM native-base AS linux-386
83+
FROM native-base AS linux-amd64
84+
FROM native-base AS linux-arm-v5
85+
FROM native-base AS linux-arm-v7
86+
FROM native-base AS linux-arm64-v8
87+
FROM native-base AS linux-mips64le
88+
FROM native-base AS linux-mipsel
89+
FROM native-base AS linux-ppc64le
90+
FROM native-base AS linux-riscv64
91+
92+
# The following targets should have a common BASE_IMAGE.
93+
FROM llvm-base AS linux-mips
94+
RUN ${APT_UPDATE} \
95+
&& ${APT_INSTALL} gcc-multilib-mips-linux-gnu \
96+
&& ${APT_CLEANUP}
97+
98+
FROM llvm-base AS linux-ppc
99+
RUN ${APT_UPDATE} \
100+
&& ${APT_INSTALL} gcc-multilib-powerpc-linux-gnu \
101+
&& ${APT_CLEANUP}
102+
103+
FROM llvm-base AS linux-ppc64
104+
RUN ${APT_UPDATE} \
105+
&& ${APT_INSTALL} gcc-multilib-powerpc64-linux-gnu \
106+
&& ${APT_CLEANUP}
107+
108+
# Windows base image with a pre-built LLVM MinGW toolchain.
109+
FROM base-image AS windows-llvm-base-build
110+
ARG LLVM_MINGW_RELEASE=20250402
111+
ARG LLVM_MINGW_VARIANT=llvm-mingw-${LLVM_MINGW_RELEASE}-ucrt-ubuntu-20.04
112+
RUN ${APT_UPDATE} \
113+
&& ${APT_INSTALL} \
114+
ca-certificates \
115+
wget \
116+
xz-utils \
117+
&& ${APT_CLEANUP} \
118+
&& wget https://github.com/mstorsjo/llvm-mingw/releases/download/${LLVM_MINGW_RELEASE}/${LLVM_MINGW_VARIANT}-`uname -m`.tar.xz \
119+
-O - | tar -xJ -C /opt \
120+
&& mv /opt/llvm* /opt/llvm
121+
122+
FROM base AS windows-llvm-base
123+
RUN ${APT_UPDATE} \
124+
&& ${APT_INSTALL} procps \
125+
&& ${APT_CLEANUP}
126+
COPY --from=windows-llvm-base-build /opt/llvm /opt/llvm
127+
ENV PATH=/opt/llvm/bin:${PATH} \
128+
# Inspired by https://code.videolan.org/videolan/docker-images
129+
WINE_BOOT='wine wineboot --init \
130+
&& while pgrep wineserver > /dev/null; do \
131+
echo "waiting ..."; \
132+
sleep 1; \
133+
done \
134+
&& rm -rf /tmp/wine-*'
135+
136+
FROM windows-llvm-base AS windows-686
137+
ENV WINEPATH=/opt/llvm/i686-w64-mingw32/bin \
138+
WINEARCH=win32
139+
RUN dpkg --add-architecture i386 \
140+
&& ${APT_UPDATE} \
141+
&& ${APT_INSTALL} \
142+
libwine:i386 \
143+
wine \
144+
wine32 \
145+
&& ${APT_CLEANUP} \
146+
&& ${WINE_BOOT}
147+
148+
# Dependencies needed both for Wine build and the final image.
149+
FROM windows-llvm-base AS windows-wine-build-base
150+
RUN ${APT_UPDATE} \
151+
&& ${APT_INSTALL} \
152+
libfreetype-dev \
153+
libgnutls28-dev \
154+
libkrb5-dev \
155+
libx11-dev \
156+
libxcomposite-dev \
157+
libxcursor-dev \
158+
libxext-dev \
159+
libxfixes-dev \
160+
libxi-dev \
161+
libxrandr-dev \
162+
libxrender-dev \
163+
&& ${APT_CLEANUP}
164+
165+
# Wine build intermediate target, not going into the final image.
166+
FROM windows-wine-build-base AS windows-wine-build
167+
RUN ${APT_UPDATE} \
168+
&& ${APT_INSTALL} \
169+
bison \
170+
ca-certificates \
171+
clang \
172+
flex \
173+
git \
174+
lld \
175+
llvm \
176+
&& ${APT_CLEANUP}
177+
ARG WINE_VERSION=10.5
178+
RUN git clone https://gitlab.winehq.org/wine/wine.git \
179+
-b wine-${WINE_VERSION} \
180+
--depth 1
181+
RUN cd wine \
182+
&& ./configure --enable-win64 --disable-tests --without-unwind --prefix=/opt/wine \
183+
&& make -j`nproc` \
184+
&& make install
185+
186+
FROM windows-llvm-base AS windows-amd64
187+
COPY --from=windows-wine-build /opt/wine /opt/wine
188+
ENV PATH=/opt/wine/bin:${PATH} \
189+
WINEPATH=/opt/llvm/x86_64-w64-mingw32/bin
190+
RUN ${WINE_BOOT}
191+
192+
FROM windows-wine-build-base AS windows-arm64-v8
193+
COPY --from=windows-wine-build /opt/wine /opt/wine
194+
ENV PATH=/opt/wine/bin:${PATH} \
195+
WINEPATH=/opt/llvm/aarch64-w64-mingw32/bin
196+
RUN ${WINE_BOOT}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
DOCKER_PLATFORM=linux/386
2+
BASE_IMAGE=docker.io/i386/debian
3+
BASE_IMAGE_TAG=bookworm-slim
4+
LLVM_VERSION=16
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
DOCKER_PLATFORM=linux/amd64
2+
BASE_IMAGE=docker.io/amd64/debian
3+
BASE_IMAGE_TAG=bookworm-slim
4+
LLVM_VERSION=16
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
DOCKER_PLATFORM=linux/arm/v5
2+
BASE_IMAGE=docker.io/arm32v5/debian
3+
BASE_IMAGE_TAG=bookworm-slim
4+
LLVM_VERSION=16
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
DOCKER_PLATFORM=linux/arm/v7
2+
BASE_IMAGE=docker.io/arm32v7/debian
3+
BASE_IMAGE_TAG=bookworm-slim
4+
LLVM_VERSION=16
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
DOCKER_PLATFORM=linux/arm64/v8
2+
BASE_IMAGE=docker.io/arm64v8/debian
3+
BASE_IMAGE_TAG=bookworm-slim
4+
LLVM_VERSION=16
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
DOCKER_PLATFORM=linux/amd64
2+
BASE_IMAGE=docker.io/amd64/debian
3+
BASE_IMAGE_TAG=bookworm-slim
4+
LLVM_VERSION=16
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
DOCKER_PLATFORM=linux/mips64le
2+
BASE_IMAGE=docker.io/mips64le/debian
3+
BASE_IMAGE_TAG=bookworm-slim
4+
LLVM_VERSION=16
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
DOCKER_PLATFORM=linux/mipsel
2+
BASE_IMAGE=docker.io/serenitycode/debian-debootstrap
3+
BASE_IMAGE_TAG=mipsel-bookworm-slim
4+
LLVM_VERSION=14
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
linux-amd64.env
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
linux-amd64.env
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
DOCKER_PLATFORM=linux/ppc64le
2+
BASE_IMAGE=docker.io/ppc64le/debian
3+
BASE_IMAGE_TAG=bookworm-slim
4+
LLVM_VERSION=16
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
DOCKER_PLATFORM=linux/riscv64
2+
BASE_IMAGE=docker.io/riscv64/debian
3+
BASE_IMAGE_TAG=sid-slim
4+
LLVM_VERSION=18
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
linux-amd64.env
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
linux-amd64.env
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
linux-arm64-v8.env

0 commit comments

Comments
 (0)