started work on mingw32 again

This commit is contained in:
Bert van der Weerd 2022-06-06 07:14:02 +02:00
parent b86375f84e
commit 682de53eed
No known key found for this signature in database
GPG Key ID: 73370A0B9E5516B0
2 changed files with 114 additions and 67 deletions

View File

@ -1,26 +1,67 @@
FROM debian:bullseye
ARG version=error
ARG source_release=error
# we use this wasi version
ENV wasi_fullversion 14.0
ENV wasi_mainversion 14
# these ones seem to be needed by ubuntu
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=Europe/Amsterdam
# dependencies needed to run ./mach bootstrap
RUN apt-get -y update && apt-get -y upgrade && apt-get -y install mercurial python3 python3-dev python3-pip wget build-essential libpython3-dev m4 unzip uuid zip libasound2-dev libcurl4-openssl-dev libdbus-1-dev libdbus-glib-1-dev libdrm-dev libgtk-3-dev libpulse-dev libx11-xcb-dev libxt-dev xvfb rsync
RUN ( apt-get -y update && apt-get -y upgrade && apt-get -y install mercurial python3 python3-dev python3-pip wget dpkg-sig ; true)
RUN ( dnf -y upgrade && dnf -y install mercurial python3 python3-devel wget rpm-build rpm-sign ; true)
# setup wasi
RUN export target_wasi_location=$HOME/.mozbuild/wrlb/ &&\
wget -q https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-$wasi_mainversion/wasi-sdk-$wasi_fullversion-linux.tar.gz &&\
tar xf wasi-sdk-$wasi_fullversion-linux.tar.gz &&\
mkdir -p $target_wasi_location &&\
rm -rf $target_wasi_location/wasi-sysroot &&\
cp -r wasi-sdk-$wasi_fullversion/share/wasi-sysroot $target_wasi_location &&\
rm -f wasi-sdk-*.tar.gz* && rm -rf wasi-sdk-*
# run the bootstrap
RUN wget -q -O librewolf-$version-$source_release.source.tar.gz https://gitlab.com/librewolf-community/browser/source/-/jobs/artifacts/main/raw/librewolf-$version-$source_release.source.tar.gz?job=Build &&\
tar xf librewolf-$version-$source_release.source.tar.gz &&\
cd librewolf-$version-$source_release &&\
MOZBUILD_STATE_PATH=$HOME/.mozbuild ./mach --no-interactive bootstrap --application-choice=browser &&\
/root/.cargo/bin/cargo install cbindgen &&\
cd .. &&\
rm -rf librewolf-$version-$source_release librewolf-$version-$source_release.source.tar.gz
# our work happens here, on the host filesystem.
WORKDIR /work
VOLUME ["/work"]
##
##
##
#
#FROM debian:bullseye
#
#ARG version=error
#ARG source_release=error
#
# dependencies needed to run ./mach bootstrap
#RUN apt-get -y update && apt-get -y upgrade && apt-get -y install mercurial python3 python3-dev python3-pip wget build-essential libpython3-dev m4 unzip uuid zip libasound2-dev libcurl4-openssl-dev libdbus-1-dev libdbus-glib-1-dev libdrm-dev libgtk-3-dev libpulse-dev libx11-xcb-dev libxt-dev xvfb rsync
# setup windows tools
RUN true
#
#RUN true
#
#
# run the bootstrap
#
RUN wget -q -O librewolf-$version-$source_release.source.tar.gz https://gitlab.com/librewolf-community/browser/source/-/jobs/artifacts/main/raw/librewolf-$version-$source_release.source.tar.gz?job=Build
RUN tar xf librewolf-$version-$source_release.source.tar.gz
WORKDIR librewolf-$version-$source_release
####RUN wget -q -O librewolf-$version-$source_release.source.tar.gz https://gitlab.com/librewolf-community/browser/source/-/jobs/artifacts/main/raw/librewolf-$version-$source_release.source.tar.gz?job=Build
#RUN tar xf librewolf-$version-$source_release.source.tar.gz
#WORKDIR librewolf-$version-$source_release
#RUN wget -q -O firefox-$version.source.tar.gz "https://archive.mozilla.org/pub/firefox/releases/$version/source/firefox-$version.source.tar.xz"
#RUN tar xf firefox-$version.source.tar.gz
@ -31,60 +72,48 @@ WORKDIR librewolf-$version-$source_release
#RUN wget -O bootstrap.py https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py
#RUN python3 bootstrap.py --no-interactive --application-choice=browser
#WORKDIR mozilla-unified
#
#
#
# mozconfig file
#RUN echo "" > mozconfig
#RUN echo "ac_add_options --target=x86_64-pc-mingw32" >> mozconfig
#RUN echo "ac_add_options --enable-bootstrap" >> mozconfig
#RUN echo "ac_add_options --disable-profiling" >> mozconfig
#RUN echo "" >> mozconfig
#
#
# throw in a patch to see if that fixes the zstandard issue.
#RUN wget https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/extra/firefox/revert-crossbeam-crates-upgrade.patch
#RUN patch -p1 -i revert-crossbeam-crates-upgrade.patch
RUN MOZBUILD_STATE_PATH=$HOME/.mozbuild ./mach --no-interactive bootstrap --application-choice=browser
#
#
#RUN MOZBUILD_STATE_PATH=$HOME/.mozbuild ./mach --no-interactive bootstrap --application-choice=browser
#RUN ./mach --no-interactive bootstrap --application-choice=browser
RUN /root/.cargo/bin/cargo install cbindgen
RUN /root/.cargo/bin/rustup target add x86_64-pc-mingw32
#
#
#
#RUN /root/.cargo/bin/cargo install cbindgen
#RUN /root/.cargo/bin/rustup target add x86_64-pc-mingw32
# not sure about this one..
RUN pip install testresources pycairo
#RUN pip install testresources pycairo
#
#
#
# setup wasi
ENV wasi_fullversion 14.0
ENV wasi_mainversion 14
RUN export target_wasi_location=$HOME/.mozbuild/wrlb/ &&\
wget -q https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-$wasi_mainversion/wasi-sdk-$wasi_fullversion-linux.tar.gz &&\
tar xf wasi-sdk-$wasi_fullversion-linux.tar.gz &&\
mkdir -p $target_wasi_location &&\
rm -rf $target_wasi_location/wasi-sysroot &&\
cp -r wasi-sdk-$wasi_fullversion/share/wasi-sysroot $target_wasi_location &&\
rm -f wasi-sdk-*.tar.gz* && rm -rf wasi-sdk-*
#ENV wasi_fullversion 14.0
#ENV wasi_mainversion 14
#RUN export target_wasi_location=$HOME/.mozbuild/wrlb/ &&\
# wget -q https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-$wasi_mainversion/wasi-sdk-$wasi_fullversion-linux.tar.gz &&\
# tar xf wasi-sdk-$wasi_fullversion-linux.tar.gz &&\
# mkdir -p $target_wasi_location &&\
# rm -rf $target_wasi_location/wasi-sysroot &&\
# cp -r wasi-sdk-$wasi_fullversion/share/wasi-sysroot $target_wasi_location &&\
# rm -f wasi-sdk-*.tar.gz* && rm -rf wasi-sdk-*
#
# our work happens here, on the host filesystem.
WORKDIR /work
VOLUME ["/work"]
#WORKDIR /work
#VOLUME ["/work"]

View File

@ -5,24 +5,42 @@
version:=$(shell cat version)
release:=$(shell cat release)
source_release:=$(shell cat source_release)
full_version:=$(version)-$(source_release)$(shell [ $(release) -gt 1 ] && echo "-$(release)")
#use_docker=true
ifeq ($(use_docker),)
use_docker:=true
endif
outfile=librewolf-$(version)-$(release).en-US.win64.zip
docker-image=librewolf/bsys5-image-windows
outfile=librewolf-$(full_version).en-US.win64-x86_64.tar.bz2
docker :
docker build --build-arg "version=$(version)" --build-arg "source_release=$(source_release)" -t $(docker-image) - < assets/windows.Dockerfile
docker build --build-arg "version=$(version)" --build-arg "source_release=$(source_release)" -t win64:latest - < assets/windows.Dockerfile
build : $(outfile) $(outfile).sha256sum
$(outfile) $(outfile).sha256sum :
$(outfile) :
${MAKE} work
if [ $(use_docker) = true ]; then \
docker run --rm -v $(shell pwd)/work:/work:rw $(docker-image) sh -c "cd /work/librewolf-$(version)-$(source_release) && ./mach build && ./mach package" ; \
else \
(cd work/librewolf-$(version)-$(source_release) && ./mach build && ./mach package) ; \
fi
ifeq ($(use_docker),false)
(cd work/librewolf-$(version)-$(source_release) && ./mach build && cat browser/locales/shipped-locales | xargs ./mach package-multi-locale --locales > /dev/null)
else
docker run --rm -v $(shell pwd)/work:/work:rw win64:latest sh -c "cd /work/librewolf-$(version)-$(source_release) && ./mach build && echo Packaging... && cat browser/locales/shipped-locales | xargs ./mach package-multi-locale --locales >/dev/null"
endif
cp -v work/librewolf-$(version)-$(source_release)/obj-x86_64-pc-linux-gnu/dist/librewolf-$(version)-$(source_release).en-US.linux-x86_64.tar.bz2 $(outfile)
$(outfile).sha256sum : $(outfile)
sha256sum $(outfile) > $(outfile).sha256sum
cat $(outfile).sha256sum
## $(use_docker)
#
#.PHONY : docker build
#
#version:=$(shell cat version)
#release:=$(shell cat release)
#source_release:=$(shell cat source_release)
#
##use_docker=true
#ifeq ($(use_docker),)
#use_docker:=true
#endif
#
#outfile=librewolf-$(version)-$(release).en-US.win64.zip
#docker-image=librewolf/bsys5-image-windows