Build GLib manually in Docker and Snap

This commit is contained in:
Ilya Fedin 2023-12-01 14:29:35 +04:00 committed by John Preston
parent 664ebe4ed0
commit 06564efe0e
2 changed files with 42 additions and 7 deletions

View file

@ -703,7 +703,22 @@ RUN git clone -b xkbcommon-1.6.0 --depth=1 {{ GIT }}/xkbcommon/libxkbcommon.git
&& cd .. \
&& rm -rf libxkbcommon
FROM patches AS glibmm
FROM patches AS glib
RUN git clone -b 2.78.1 --depth=1 {{ GIT }}/GNOME/glib.git \
&& cd glib \
&& meson build \
--buildtype=plain \
--default-library=both \
-Dtests=false \
-Dmm-common:use-network=true \
&& meson compile -C build \
&& DESTDIR="{{ LibrariesPath }}/glib-cache" meson install -C build \
&& cd .. \
&& rm -rf glib
FROM builder AS glibmm
COPY --link --from=glib {{ LibrariesPath }}/glib-cache /
RUN git clone -b 2.78.0 --depth=1 {{ GIT }}/GNOME/glibmm.git \
&& cd glibmm \
&& git apply ../patches/glibmm.patch \
@ -715,7 +730,6 @@ RUN git clone -b 2.78.0 --depth=1 {{ GIT }}/GNOME/glibmm.git \
-Dsigc++-3.0:build-documentation=false \
-Dsigc++-3.0:build-examples=false \
-Dsigc++-3.0:validation=false \
-Dglib:tests=false \
-Dmm-common:use-network=true \
&& meson compile -C build \
&& DESTDIR="{{ LibrariesPath }}/glibmm-cache" meson install -C build \
@ -723,7 +737,7 @@ RUN git clone -b 2.78.0 --depth=1 {{ GIT }}/GNOME/glibmm.git \
&& rm -rf glibmm
FROM builder AS gobject-introspection
COPY --link --from=glibmm {{ LibrariesPath }}/glibmm-cache /
COPY --link --from=glib {{ LibrariesPath }}/glib-cache /
RUN git clone -b 1.78.1 --depth=1 {{ GIT }}/GNOME/gobject-introspection.git \
&& cd gobject-introspection \
@ -880,6 +894,7 @@ COPY --link --from=ffmpeg {{ LibrariesPath }}/ffmpeg-cache /
COPY --link --from=openal {{ LibrariesPath }}/openal-cache /
COPY --link --from=openssl {{ LibrariesPath }}/openssl-cache /
COPY --link --from=xkbcommon {{ LibrariesPath }}/xkbcommon-cache /
COPY --link --from=glib {{ LibrariesPath }}/glib-cache /
COPY --link --from=glibmm {{ LibrariesPath }}/glibmm-cache /
COPY --link --from=gobject-introspection {{ LibrariesPath }}/gobject-introspection-cache /
COPY --link --from=qt {{ LibrariesPath }}/qt-cache /

View file

@ -259,6 +259,27 @@ parts:
after:
- mozjpeg
glib:
source: https://github.com/GNOME/glib.git
source-depth: 1
source-tag: 2.78.1
plugin: meson
build-packages:
- mm-common
- ninja-build
meson-parameters:
- --buildtype=release
- --prefix=/usr
- --strip
- -Dtests=false
- -Dintrospection=disabled
prime:
- -./usr/include
- -./usr/lib/$CRAFT_ARCH_TRIPLET/pkgconfig
- -./usr/lib/$CRAFT_ARCH_TRIPLET/*.so
after:
- meson-deps
glibmm:
source: https://github.com/GNOME/glibmm.git
source-depth: 1
@ -277,14 +298,13 @@ parts:
- -Dsigc++-3.0:build-documentation=false
- -Dsigc++-3.0:build-examples=false
- -Dsigc++-3.0:validation=false
- -Dglib:tests=false
- -Dglib:introspection=disabled
prime:
- -./usr/include
- -./usr/lib/$CRAFT_ARCH_TRIPLET/pkgconfig
- -./usr/lib/$CRAFT_ARCH_TRIPLET/*.so
after:
- meson-deps
- glib
libjxl:
source: https://github.com/libjxl/libjxl.git
@ -523,7 +543,7 @@ parts:
- -./usr/mkspecs
- -./usr/modules
after:
- glibmm
- glib
- mozjpeg
- patches
@ -608,5 +628,5 @@ parts:
- -./usr/lib/$CRAFT_ARCH_TRIPLET/*.a
after:
- ffmpeg
- glibmm
- glib
- mozjpeg