Thu Feb 16 12:51:23 PM CET 2023
This commit is contained in:
parent
4c62e66792
commit
6632a98b7c
4 changed files with 81 additions and 39 deletions
|
|
@ -23,7 +23,8 @@ Build Docker Images:
|
||||||
- macos-x86_64
|
- macos-x86_64
|
||||||
- macos-aarch64
|
- macos-aarch64
|
||||||
- dind
|
- dind
|
||||||
- flatpak-appimage
|
- flatpak-appimage-x86_64
|
||||||
|
- flatpak-appimage-aarch64
|
||||||
script:
|
script:
|
||||||
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD registry.gitlab.com
|
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD registry.gitlab.com
|
||||||
- make docker-$DISTRO
|
- make docker-$DISTRO
|
||||||
|
|
@ -45,7 +46,8 @@ Build:
|
||||||
- fedora36
|
- fedora36
|
||||||
- macos-x86_64
|
- macos-x86_64
|
||||||
- macos-aarch64
|
- macos-aarch64
|
||||||
- flatpak-appimage
|
- flatpak-appimage-x86_64
|
||||||
|
- flatpak-appimage-aarch64
|
||||||
image: registry.gitlab.com/librewolf-community/browser/bsys5/dind
|
image: registry.gitlab.com/librewolf-community/browser/bsys5/dind
|
||||||
tags:
|
tags:
|
||||||
- autoscale
|
- autoscale
|
||||||
|
|
|
||||||
20
Makefile
20
Makefile
|
|
@ -1,4 +1,4 @@
|
||||||
.PHONY : help clean veryclean prune docker push rmi build update work docker-debian11 debian11 docker-mint20 mint20 docker-mint21 mint21 docker-ubuntu20 ubuntu20 docker-ubuntu21 ubuntu21 docker-ubuntu22 ubuntu22 docker-fedora37 fedora37 docker-fedora36 fedora36 docker-macos-x86_64 macos-x86_64 docker-macos-aarch64 macos-aarch64 docker-tumbleweed tumbleweed tarball docker-dind windows flatpak-appimage
|
.PHONY : help clean veryclean prune docker push rmi build update work docker-debian11 debian11 docker-mint20 mint20 docker-mint21 mint21 docker-ubuntu20 ubuntu20 docker-ubuntu21 ubuntu21 docker-ubuntu22 ubuntu22 docker-fedora37 fedora37 docker-fedora36 fedora36 docker-macos-x86_64 macos-x86_64 docker-macos-aarch64 macos-aarch64 docker-tumbleweed tumbleweed tarball docker-dind windows flatpak-appimage flatpak-appimage-aarch64
|
||||||
|
|
||||||
version:=$(shell cat version)
|
version:=$(shell cat version)
|
||||||
release:=$(shell cat release)
|
release:=$(shell cat release)
|
||||||
|
|
@ -19,7 +19,7 @@ help :
|
||||||
@echo " [docker-macos-x86_64], [docker-macos-aarch64]"
|
@echo " [docker-macos-x86_64], [docker-macos-aarch64]"
|
||||||
@echo " [docker-tumbleweed]"
|
@echo " [docker-tumbleweed]"
|
||||||
@echo " [docker-dind]"
|
@echo " [docker-dind]"
|
||||||
@echo " [docker-windows] [docker-flatpak-appimage]"
|
@echo " [docker-windows] [docker-flatpak-appimage-x86_64] [docker-flatpak-appimage-aarch64"
|
||||||
@echo ""
|
@echo ""
|
||||||
@echo "build targets:"
|
@echo "build targets:"
|
||||||
@echo " [debian11], [mint20], [mint21], [ubuntu20], [ubuntu21]"
|
@echo " [debian11], [mint20], [mint21], [ubuntu20], [ubuntu21]"
|
||||||
|
|
@ -27,7 +27,7 @@ help :
|
||||||
@echo " [fedora37], [fedora36]"
|
@echo " [fedora37], [fedora36]"
|
||||||
@echo " [macos-x64_64], [macos-aarch64]"
|
@echo " [macos-x64_64], [macos-aarch64]"
|
||||||
@echo " [tumbleweed]"
|
@echo " [tumbleweed]"
|
||||||
@echo " [windows] [flatpak-appimage]"
|
@echo " [windows] [flatpak-appimage-x86_64] [flatpak-appimage-aarch64]"
|
||||||
@echo " [tarball]"
|
@echo " [tarball]"
|
||||||
@echo ""
|
@echo ""
|
||||||
|
|
||||||
|
|
@ -76,6 +76,8 @@ build :
|
||||||
${MAKE} clean
|
${MAKE} clean
|
||||||
${MAKE} flatpak-appimage
|
${MAKE} flatpak-appimage
|
||||||
${MAKE} clean
|
${MAKE} clean
|
||||||
|
${MAKE} flatpak-appimage-aarch64
|
||||||
|
${MAKE} clean
|
||||||
|
|
||||||
push :
|
push :
|
||||||
docker push registry.gitlab.com/librewolf-community/browser/bsys5/debian11
|
docker push registry.gitlab.com/librewolf-community/browser/bsys5/debian11
|
||||||
|
|
@ -223,10 +225,14 @@ windows :
|
||||||
${MAKE} -f assets/windows.mk build
|
${MAKE} -f assets/windows.mk build
|
||||||
|
|
||||||
## flatpack-appimage
|
## flatpack-appimage
|
||||||
docker-flatpak-appimage :
|
docker-flatpak-appimage-x86_64 :
|
||||||
${MAKE} -f assets/flatpak-appimage.mk docker
|
${MAKE} -f assets/flatpak-appimage.mk arch=x86_64 docker
|
||||||
flatpak-appimage :
|
flatpak-appimage-x86_64 :
|
||||||
${MAKE} -f assets/flatpak-appimage.mk build
|
${MAKE} -f assets/flatpak-appimage.mk arch=x86_64 build
|
||||||
|
docker-flatpak-appimage-aarch64 :
|
||||||
|
${MAKE} -f assets/flatpak-appimage.mk arch=aarch64 docker
|
||||||
|
flatpak-appimage-aarch64 :
|
||||||
|
${MAKE} -f assets/flatpak-appimage.mk arch=aarch64 build
|
||||||
|
|
||||||
#
|
#
|
||||||
# Docker in Docker (for GitLab CI)
|
# Docker in Docker (for GitLab CI)
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,54 @@
|
||||||
FROM ubuntu:latest
|
# $(arch)
|
||||||
RUN apt-get -y update && apt-get -y upgrade && apt-get -y install bash git wget build-essential zip
|
|
||||||
RUN dpkg --add-architecture i386 && apt-get -y update && apt-get -y install wine32
|
|
||||||
|
|
||||||
RUN tmpdir=$(mktemp -d) && cd $tmpdir && git clone https://gitlab.com/librewolf-community/browser/windows.git && cd windows/linux && make setup-debian && make fetch && make bootstrap && cd /root && rm -rf $tmpdir
|
FROM debian:bullseye
|
||||||
|
|
||||||
|
ARG arch=error
|
||||||
|
|
||||||
|
ARG version=error
|
||||||
|
ARG source_release=error
|
||||||
|
|
||||||
|
# we use this wasi version
|
||||||
|
ENV wasi_fullversion 14.0
|
||||||
|
ENV wasi_mainversion 14
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# 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 osx sdk
|
||||||
|
RUN mkdir -p /osx-cross/MacOSX-SDKs &&\
|
||||||
|
cd /osx-cross/MacOSX-SDKs &&\
|
||||||
|
wget -q "https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/MacOSX11.3.sdk.tar.xz" &&\
|
||||||
|
tar xf MacOSX11.3.sdk.tar.xz &&\
|
||||||
|
rm -f MacOSX11.3.sdk.tar.xz
|
||||||
|
|
||||||
|
# run the bootstrap
|
||||||
|
RUN wget -q -O librewolf-$version-$source_release.source.tar.gz https://gitlab.com/api/v4/projects/32320088/packages/generic/librewolf-source/$version-$source_release/librewolf-$version-$source_release.source.tar.gz
|
||||||
|
RUN tar xf librewolf-$version-$source_release.source.tar.gz
|
||||||
|
WORKDIR librewolf-$version-$source_release
|
||||||
|
RUN echo ac_add_options --target=$arch-apple-darwin > mozconfig
|
||||||
|
RUN echo ac_add_options --enable-bootstrap >> mozconfig
|
||||||
|
RUN echo ac_add_options --with-macos-sdk=/osx-cross/MacOSX-SDKs/MacOSX11.3.sdk >> mozconfig
|
||||||
|
RUN MOZBUILD_STATE_PATH=$HOME/.mozbuild ./mach --no-interactive bootstrap --application-choice=browser
|
||||||
|
RUN ./mach artifact toolchain --from-build linux64-libdmg
|
||||||
|
RUN ./mach artifact toolchain --from-build linux64-cctools-port
|
||||||
|
RUN ./mach artifact toolchain --from-build linux64-hfsplus
|
||||||
|
RUN ./mach artifact toolchain --from-build linux64-binutils
|
||||||
|
RUN ./mach artifact toolchain --from-build sysroot-wasm32-wasi
|
||||||
|
## RUN ./mach artifact toolchain --from-build linux64-clang-macosx-cross
|
||||||
|
RUN /root/.cargo/bin/cargo install cbindgen
|
||||||
|
RUN /root/.cargo/bin/rustup target add $arch-apple-darwin
|
||||||
|
RUN cp -r binutils /root/.mozbuild
|
||||||
|
RUN cp -r cctools /root/.mozbuild
|
||||||
|
RUN cp -r sysroot-wasm32-wasi /root/.mozbuild
|
||||||
|
## RUN cp -r clang /root/.mozbuild
|
||||||
|
RUN cp -r dmg /root/.mozbuild
|
||||||
|
RUN cp -r hfsplus-tools /root/.mozbuild
|
||||||
|
RUN pip install testresources pycairo
|
||||||
|
WORKDIR ..
|
||||||
|
RUN rm -rf librewolf-$version-$source_release librewolf-$version-$source_release.source.tar.gz
|
||||||
|
|
||||||
|
# our work happens here, on the host filesystem.
|
||||||
WORKDIR /work
|
WORKDIR /work
|
||||||
VOLUME ["/work"]
|
VOLUME ["/work"]
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
# windows.mk - this one is quite a bit different from the others,
|
# $(arch)
|
||||||
# but we can fix that later.
|
# $(use_docker)
|
||||||
|
|
||||||
.PHONY : docker build
|
.PHONY : docker build
|
||||||
|
|
||||||
|
|
@ -8,35 +8,23 @@ release:=$(shell cat release)
|
||||||
source_release:=$(shell cat source_release)
|
source_release:=$(shell cat source_release)
|
||||||
full_version:=$(version)-$(source_release)$(shell [ $(release) -gt 1 ] && echo "-$(release)")
|
full_version:=$(version)-$(source_release)$(shell [ $(release) -gt 1 ] && echo "-$(release)")
|
||||||
|
|
||||||
outfile-exe=librewolf-$(full_version).en-US.win64-setup.exe
|
outfile=librewolf-$(full_version).en-US.mac.$(arch).dmg
|
||||||
outfile-zip=librewolf-$(full_version).en-US.win64-portable.zip
|
|
||||||
outfiles=$(outfile-exe) $(outfile-zip)
|
|
||||||
|
|
||||||
distro=windows
|
|
||||||
image=registry.gitlab.com/librewolf-community/browser/bsys5/$(distro):latest
|
|
||||||
|
|
||||||
docker :
|
docker :
|
||||||
|
docker build --build-arg "arch=$(arch)" --build-arg "version=$(version)" --build-arg "source_release=$(source_release)" -t registry.gitlab.com/librewolf-community/browser/bsys5/macos-$(arch) - < assets/macos.Dockerfile
|
||||||
|
|
||||||
docker build -t $(image) - < assets/windows.Dockerfile
|
build : $(outfile) $(outfile).sha256sum
|
||||||
|
|
||||||
build :
|
|
||||||
|
|
||||||
pwd
|
|
||||||
rm -rf windows
|
|
||||||
git clone https://gitlab.com/librewolf-community/browser/windows.git
|
|
||||||
|
|
||||||
( cd windows/linux && pwd && ${MAKE} fetch )
|
|
||||||
|
|
||||||
|
$(outfile) :
|
||||||
|
${MAKE} work
|
||||||
|
sed "s/_ARCH_/$(arch)/g" < assets/macos.mozconfig > work/librewolf-$(version)-$(source_release)/mozconfig
|
||||||
ifeq ($(use_docker),false)
|
ifeq ($(use_docker),false)
|
||||||
( cd windows/linux && ${MAKE} )
|
(cd work/librewolf-$(version)-$(source_release) && ./mach build && echo 'Packaging... (output hidden)' && cat browser/locales/shipped-locales | xargs ./mach package-multi-locale --locales >/dev/null)
|
||||||
else
|
else
|
||||||
docker run --rm -v $(shell pwd)/windows/linux:/work:rw registry.gitlab.com/librewolf-community/browser/bsys5/$(distro) sh -c "${MAKE} all"
|
docker run --rm -v $(shell pwd)/work:/work:rw registry.gitlab.com/librewolf-community/browser/bsys5/macos-$(arch) sh -c "cd /work/librewolf-$(version)-$(source_release) && ./mach build && echo 'Packaging... (output hidden)' && cat browser/locales/shipped-locales | xargs ./mach package-multi-locale --locales >/dev/null"
|
||||||
endif
|
endif
|
||||||
|
cp -v work/librewolf-$(version)-$(source_release)/obj-$(arch)-apple-darwin/dist/librewolf-$(version)-$(source_release).en-US.mac.dmg $(outfile)
|
||||||
|
|
||||||
cp -v windows/linux/$(outfiles) .
|
$(outfile).sha256sum : $(outfile)
|
||||||
|
sha256sum $(outfile) > $(outfile).sha256sum
|
||||||
sha256sum $(outfile-exe) > $(outfile-exe).sha256sum
|
cat $(outfile).sha256sum
|
||||||
cat $(outfile-exe).sha256sum
|
|
||||||
sha256sum $(outfile-zip) > $(outfile-zip).sha256sum
|
|
||||||
cat $(outfile-zip).sha256sum
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue