72 lines
1.9 KiB
Text
72 lines
1.9 KiB
Text
|
FROM scratch as base
|
||
|
ARG ARCH=x86_64
|
||
|
ENV VERSION=2.80.0
|
||
|
ENV SRC_HASH=8228a92f92a412160b139ae68b6345bd28f24434a7b5af150ebe21ff587a561d
|
||
|
ENV SRC_FILE=glib-${VERSION}.tar.xz
|
||
|
ENV SRC_SITE=https://download.gnome.org/sources/glib/2.80/${SRC_FILE}
|
||
|
|
||
|
FROM base as fetch
|
||
|
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE}
|
||
|
|
||
|
FROM fetch as build
|
||
|
COPY --from=stagex/python . /
|
||
|
COPY --from=stagex/zlib . /
|
||
|
COPY --from=stagex/bzip2 . /
|
||
|
COPY --from=stagex/pkgconf . /
|
||
|
COPY --from=stagex/linux-headers . /
|
||
|
COPY --from=stagex/ncurses . /
|
||
|
COPY --from=stagex/meson . /
|
||
|
COPY --from=stagex/busybox . /
|
||
|
COPY --from=stagex/musl . /
|
||
|
COPY --from=stagex/gcc . /
|
||
|
COPY --from=stagex/binutils . /
|
||
|
COPY --from=stagex/make . /
|
||
|
COPY --from=stagex/cmake . /
|
||
|
COPY --from=stagex/pcre2 . /
|
||
|
COPY --from=stagex/python . /
|
||
|
COPY --from=stagex/bison . /
|
||
|
COPY --from=stagex/flex . /
|
||
|
COPY --from=stagex/py-packaging . /
|
||
|
COPY --from=stagex/libxslt . /
|
||
|
COPY --from=stagex/libffi . /
|
||
|
COPY --from=stagex/xz . /
|
||
|
COPY --from=stagex/expat . /
|
||
|
COPY --from=stagex/rhash . /
|
||
|
COPY --from=stagex/libxml2 . /
|
||
|
COPY --from=stagex/util-linux . /
|
||
|
COPY --from=stagex/libxslt . /
|
||
|
COPY --from=stagex/gettext . /
|
||
|
COPY --from=stagex/ninja . /
|
||
|
RUN tar -xf ${SRC_FILE}
|
||
|
WORKDIR glib-${VERSION}
|
||
|
COPY *.patch .
|
||
|
RUN --network=none <<-EOF
|
||
|
# set -eux \
|
||
|
patch -p1 alwaysbash.patch
|
||
|
patch -p1 deprecated-no-warn.patch
|
||
|
patch -p1 fix-tests.patch
|
||
|
patch -p1 flaky-tests.patch
|
||
|
patch -p1 tests-machine-id.patch
|
||
|
export CFLAGS="-ffat-lto-objects -O2"
|
||
|
export CXXFLAGS="-O2"
|
||
|
export CPPFLAGS="-O2"
|
||
|
meson setup \
|
||
|
--default-library=shared \
|
||
|
--prefix=/usr \
|
||
|
-Dman-pages=disabled \
|
||
|
-Dlibmount=disabled \
|
||
|
-Dtests=false \
|
||
|
-Dintrospection=disabled \
|
||
|
-Dnls=disabled \
|
||
|
. output
|
||
|
meson compile -C output
|
||
|
meson install --no-rebuild -C output
|
||
|
EOF
|
||
|
|
||
|
FROM build as install
|
||
|
RUN DESTDIR=/rootfs meson install --no-rebuild -C output
|
||
|
RUN find /rootfs -exec touch -hcd "@0" "{}" +
|
||
|
|
||
|
FROM stagex/filesystem as package
|
||
|
COPY --from=install /rootfs/. /
|