Compare commits

...

58 Commits

Author SHA1 Message Date
Dominika 8cc38aced8 * less verbose dependency install 2021-12-05 14:22:27 +01:00
Dominika 03dd51e472 * change repo ;p 2021-12-05 13:23:00 +01:00
Dominika 2a7c8af65f * temporarily removed conflicting patch, bumping to 94 2021-12-05 13:18:56 +01:00
Dominika Liberda 0be3fe7abb useragent override 2021-10-21 00:44:10 +02:00
Dominika Liberda fbd1ebe106 switch to musl build 2021-10-14 22:34:58 +02:00
Dominika Liberda ddf182b041 * more patches! 2021-10-12 16:08:55 +02:00
Dominika Liberda d4f2fc5f6f new patches 2021-10-12 12:17:07 +02:00
Dominika Liberda 367999d9a9 switching CI, adding new patches 2021-10-12 00:52:06 +02:00
Dominika Liberda a3db9047d0 try w/o webrtc? 2021-10-11 20:50:12 +02:00
Dominika Liberda b589bdd92a verbose mach 2021-10-11 16:46:01 +02:00
Dominika Liberda 1bfe6ab98e ??? 2021-10-11 16:10:03 +02:00
Dominika Liberda 894ee2dd85 i'm blind #2 2021-10-11 16:02:30 +02:00
Dominika Liberda 12fe44f097 i'm blind 2021-10-11 16:00:59 +02:00
Dominika Liberda ce9f7d7639 asdf 2021-10-11 15:51:21 +02:00
Dominika Liberda 97a8e62e94 libssp not found fix 2021-10-11 15:46:42 +02:00
Dominika Liberda 99b0e85392 musl fixes 2021-10-11 15:30:13 +02:00
Dominika Liberda d92750f28f asdf 2021-10-11 15:21:28 +02:00
Dominika Liberda 10612c8cc3 cbindgen if 2021-10-11 15:17:54 +02:00
Dominika Liberda 83a6751e80 * try building for musl 2021-10-11 15:01:43 +02:00
Dominika Liberda e7d4305a04 disable tag checkout for common repo 2021-10-11 00:47:30 +02:00
Dominika Liberda 7c105c8ecb asdf 2021-10-11 00:42:15 +02:00
Dominika Liberda b508fc9d0a asdf 2021-10-10 22:54:09 +02:00
Dominika Liberda bb26234350 asdf 2021-10-10 22:24:39 +02:00
Dominika Liberda 93b98fdacd asdf 2021-10-10 20:13:22 +02:00
Dominika Liberda acb29bc4e6 gmake u fuck 2021-10-10 17:10:45 +02:00
Dominika Liberda 144a9f1793 gmake 2021-10-10 16:51:37 +02:00
Dominika Liberda 2323842987 make 2021-10-10 16:04:49 +02:00
Dominika Liberda a6fa2867ae asdfasdfasdf 2021-10-10 15:57:55 +02:00
Dominika Liberda 52b2c8e955 mozilla fuck you 2021-10-10 15:51:06 +02:00
Dominika Liberda 5d0e25f3ca asfd 2021-10-10 15:13:27 +02:00
Dominika Liberda a4d819e2dd asfd 2021-10-10 15:07:41 +02:00
Dominika Liberda 7b1fba588c +jack 2021-10-10 14:49:33 +02:00
Dominika Liberda 8bcd7a17f2 + alsa 2021-10-10 14:37:07 +02:00
Dominika Liberda b0a21ef9df pkg-config 2021-10-10 14:06:00 +02:00
Dominika Liberda a52f076e10 ... 2021-10-10 13:58:46 +02:00
Dominika Liberda e3e49a7da2 cc fixes 2021-10-10 13:53:45 +02:00
Dominika Liberda 6df64d7560 bb -> gnu patch 2021-10-10 13:46:22 +02:00
Dominika Liberda df3ba5ff49 temporarily disable conflicting patch 2021-10-10 13:26:06 +02:00
Dominika Liberda e057b7c338 asdf 2021-10-10 13:13:58 +02:00
Dominika Liberda bd5a61ad49 asdf 2021-10-10 12:52:00 +02:00
Dominika Liberda 61ef268cd7 fixes 2021-10-10 12:46:58 +02:00
Dominika Liberda e14993de88 jebać gnu coreutils 2021-10-10 12:41:31 +02:00
Dominika Liberda cc4f1b7473 simplier ci 2021-10-10 12:32:52 +02:00
Dominika Liberda ca6bad6d04 ???? 2021-10-10 12:30:05 +02:00
Dominika Liberda d537748ea7 I love CI 2021-10-10 12:25:59 +02:00
Dominika Liberda 33a9b396e0 ??? 2021-10-10 12:21:52 +02:00
Dominika Liberda 90f0e69652 I hate yaml 2021-10-10 12:19:49 +02:00
Dominika Liberda 59d553962e + add bash lmao 2021-10-10 12:19:18 +02:00
Dominika Liberda aeac987294 + changing CI to void? 2021-10-10 12:17:38 +02:00
Dominika Liberda e90b3739b2 ... 2021-10-10 11:31:22 +02:00
Dominika Liberda a03a53c794 * i love exuo 2021-10-09 23:18:11 +02:00
Dominika Liberda f0241fda8f + added ff3.6 branding 2021-10-09 23:06:41 +02:00
Dominika Liberda 0526013cdc * changing CI 2021-10-09 18:58:50 +02:00
ohfp d56b020e95 11 != 13. not-enough-coffee-error, I guess 2021-10-08 12:01:52 +02:00
ohfp 434858650e 12 != 13 2021-10-08 11:40:22 +02:00
ohfp 17e1d6daf7 v93.0-1 2021-10-08 01:41:18 +02:00
ohfp 26d33367db
v92.0.1-1 2021-09-26 13:44:09 +02:00
ohfp ad9c9ecad4 v92.0-1 2021-09-10 11:02:10 +02:00
8 changed files with 148 additions and 133 deletions

View File

@ -9,37 +9,28 @@ variables:
# AARCH64: $AARCH64
# X86_64: $X86_64
.carch_aarch64: &carch_aarch64
variables:
CARCH: 'aarch64'
.carch_x86_64: &carch_x86_64
variables:
CARCH: 'x86_64'
.tarball_build_config: &tarball_build_config
tarball_x86_64:
image: ghcr.io/void-linux/void-linux:latest-thin-bb-x86_64
stage: build
script:
- ./build_tarball.sh "${CI_PROJECT_DIR}/LibreWolf-${pkgver}-${pkgrel}.${CARCH}.tar.bz2"
- echo "repository=https://void.sakamoto.pl/current/" > /usr/share/xbps.d/00-repository-main.conf
- echo "repository=https://void.sakamoto.pl/current/nonfree" >> /usr/share/xbps.d/00-repository-main.conf
- xbps-install -Sy bash
- bash ./build_tarball.sh "${CI_PROJECT_DIR}/Foxgirl-${pkgver}-${pkgrel}.${CARCH}.tar.bz2"
artifacts:
name: "Librewolf-Tarball-${pkgver}-${pkgrel}-${CARCH}"
name: "Foxgirl-${pkgver}-${pkgrel}-${CARCH}"
paths:
- "LibreWolf-${pkgver}-${pkgrel}.${CARCH}.tar.bz2"
- "Foxgirl-${pkgver}-${pkgrel}.${CARCH}.tar.bz2"
tarball_x86_64:
image: ubuntu:18.04
tags: [x86_64b]
<<: *carch_x86_64
<<: *tarball_build_config
only:
variables:
- $X86_64
tarball_aarch64:
image: arm64v8/ubuntu:18.04
tags: [aarch64b]
<<: *carch_aarch64
<<: *tarball_build_config
only:
variables:
- $AARCH64
tarball_x86_64_musl:
image: ghcr.io/void-linux/void-linux:latest-thin-bb-x86_64-musl
stage: build
script:
- echo "repository=https://void.sakamoto.pl/current/musl" > /usr/share/xbps.d/00-repository-main.conf
- echo "repository=https://void.sakamoto.pl/current/musl/nonfree" >> /usr/share/xbps.d/00-repository-main.conf
- xbps-install -Sy bash
- bash ./build_tarball.sh "${CI_PROJECT_DIR}/Foxgirl-${pkgver}-${pkgrel}.${CARCH}.tar.bz2"
artifacts:
name: "Foxgirl-${pkgver}-${pkgrel}-${CARCH}_musl"
paths:
- "Foxgirl-${pkgver}-${pkgrel}.${CARCH}.tar.bz2"

View File

@ -4,7 +4,8 @@
# - any command fails (-e | --errexit)
# - any variable is unset (-u | --nounset)
# - a part of a piped sequence fails (-o pipefail)
set -euo pipefail
#set -euo pipefail
set -e
SCRIPT_FOLDER=$(realpath $(dirname $0));

View File

@ -5,24 +5,18 @@ Author: Olivier Tilloy <olivier.tilloy@canonical.com>
--- a/build/moz.configure/toolchain.configure
+++ b/build/moz.configure/toolchain.configure
@@ -2349,15 +2349,17 @@
@@ -2287,10 +2287,12 @@
set_config("LINKER_KIND", select_linker.KIND)
-@depends_if(select_linker, target, macos_sdk, sysroot_path, multiarch_dir)
+@depends_if(select_linker, target, macos_sdk, sysroot_path, multiarch_dir, host)
-@depends_if(select_linker, target, target_sysroot, target_multiarch_dir, c_compiler)
+@depends_if(select_linker, target, target_sysroot, target_multiarch_dir, c_compiler, host)
@imports("os")
-def linker_ldflags(linker, target, macos_sdk, sysroot_path, multiarch_dir):
+def linker_ldflags(linker, target, macos_sdk, sysroot_path, multiarch_dir, host):
-def linker_ldflags(linker, target, sysroot, multiarch_dir, c_compiler):
+def linker_ldflags(linker, target, sysroot, multiarch_dir, c_compiler, host):
flags = list((linker and linker.LINKER_FLAG) or [])
if target.kernel == "Darwin":
if linker and linker.KIND == "ld64":
flags.append("-Wl,-syslibroot,%s" % macos_sdk)
else:
flags.append("-Wl,--sysroot=%s" % macos_sdk)
+ if host.cpu == "arm":
+ flags.append("-Wl,--no-keep-memory")
# rpath-link is irrelevant to wasm, see for more info https://github.com/emscripten-core/emscripten/issues/11076.
if sysroot_path and multiarch_dir and target.os != "WASI":
if sysroot.path and multiarch_dir and target.os != "WASI":
for d in ("lib", "usr/lib"):

View File

@ -4,70 +4,60 @@ printf "\n\n-------------------------------------- DEPENDENCY INSTALLATION -----
set -e
# Setup Script Variables
_DEPENDENCIES="wget git xvfb \
xz-utils \
gettext-base \
curl python3 libjack-dev \
python3-psutil python-psutil python3-dev python-dev \
autotools-dev \
autoconf2.13 \
zip \
libx11-dev \
libx11-xcb-dev \
libxt-dev \
libxext-dev \
libgtk-3-dev \
libglib2.0-dev \
libpango1.0-dev \
libfontconfig1-dev \
libfreetype6-dev \
libstartup-notification0-dev \
libasound2-dev \
libcurl4-openssl-dev \
libdbus-glib-1-dev \
lsb-release \
libiw-dev \
mesa-common-dev \
libnotify-dev \
libxrender-dev \
libpulse-dev \
libssl-dev \
yasm \
unzip \
dbus-x11 \
python \
libffi-dev \
nodejs-mozilla \
cargo \
rustc \
nasm-mozilla"
# cargo \
# rustc \
export DEBIAN_FRONTEND=noninteractive
_DEPENDENCIES="wget git xorg-server-xvfb \
xz grep coreutils patch tar \
gettext pkg-config \
curl python3 libjack \
python3-psutil python3-devel python-devel \
automake \
autoconf213 \
zip \
libX11-devel \
libXt-devel \
libXext-devel \
gtk+3-devel \
libglib-devel \
pango-devel \
fontconfig-devel \
freetype-devel \
libcurl-devel \
MesaLib-devel \
libnotify-devel \
libXrender-devel \
pulseaudio-devel \
openssl-devel \
yasm \
unzip \
dbus-x11 \
python \
libffi-devel \
nodejs-lts \
cargo \
rust \
nasm \
clang \
llvm \
alsa-lib-devel \
jack-devel \
perl \
cbindgen \
pixman-devel \
libevent-devel libnotify-devel libvpx-devel \
libXcomposite-devel libSM-devel libXdamage-devel \
dbus-glib-devel \
make"
# Installs Dependencies
printf "\nInstalling dependencies: $_DEPENDENCIES\n";
apt-get -qq update;
apt-get -y -qq install $_DEPENDENCIES;
xbps-install -Sy $_DEPENDENCIES 2>&1 >/dev/null
if [[ $CARCH == 'x86_64' ]];then
# Installs (non-ancient) clang
apt install -y software-properties-common apt-transport-https ca-certificates
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add
apt-add-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-12 main"
apt-get update
apt-get -y install clang-12 libclang-12-dev
else
apt install -y software-properties-common apt-transport-https ca-certificates
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add
apt-add-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main"
apt-get update
apt-get -y install clang-10 libclang-10-dev
if [[ "$(/lib/libc.so 2>&1)" == *"musl libc"* ]]; then
xbps-install -y libfl-devel libssp-devel libssp 2>&1 >/dev/null
fi
# we need a more recent rust
# curl https://sh.rustup.rs -o rustup.sh
# bash rustup.sh -y
# source /root/.cargo/env
ln -s /bin/clang /bin/cc
mkdir /usr/lib/nodejs-mozilla/
ln -s /usr/bin/ /usr/lib/nodejs-mozilla/bin
mkdir /usr/lib/nasm-mozilla
ln -s /usr/bin/ /usr/lib/nasm-mozilla/bin
ln -s /usr/bin/make /usr/bin/gmake

View File

@ -9,11 +9,12 @@ if [[ -z ${pkgver} || -z ${pkgrel} ]]; then
fi
# Setup Script Variables
SOURCE_FOLDER=$1;
_SOURCE_CODE_URL="https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz";
#_SOURCE_CODE_URL="https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz";
_SOURCE_CODE_URL="https://f.sakamoto.pl/firefox-$pkgver.source.tar.xz";
_SOURCE_TAR="firefox-${pkgver}.tar.xz"
# Downloading and Extracting Firefox Source Code
printf "\nDownloading Firefox Source Code\n";
wget -O $_SOURCE_TAR $_SOURCE_CODE_URL
wget -O $_SOURCE_TAR $_SOURCE_CODE_URL 2>&1 > /dev/null
mkdir -p $SOURCE_FOLDER
tar -x --strip-components=1 -C $SOURCE_FOLDER -f $_SOURCE_TAR

View File

@ -6,7 +6,8 @@ set -e
# Setup Script Variables
srcdir=$1;
CI_PROJECT_DIR=${CI_PROJECT_DIR:-$(realpath $(dirname $0)/../)}
_COMMON_REPO='https://gitlab.com/librewolf-community/browser/common.git';
#_COMMON_REPO='https://gitlab.com/librewolf-community/browser/common.git';
_COMMON_REPO='https://git.sakamoto.pl/domi/foxgirl-common.git';
_PKGVER_TAG="v${pkgver}-${pkgrel}"
_COMMON_TAG=${COMMON_TAG:-${_PKGVER_TAG}}
_COMMON_DIR="${CI_PROJECT_DIR}"/common
@ -19,10 +20,25 @@ mkdir -p ${_MOZBUILD}
printf "\nCopying branding and source code changes to firefox source code\n";
git clone $_COMMON_REPO ${_COMMON_DIR}
cd ${_COMMON_DIR}
git checkout ${_COMMON_TAG}
#git checkout ${_COMMON_TAG}
cd ..
cp -r ${_COMMON_DIR}/source_files/* $srcdir/;
# get foxgirl branding (ff3.6)
wget "https://web.archive.org/web/0/http://people.mozilla.com/~faaborg/files/shiretoko/firefoxIcon/firefoxIcon.zip"
mkdir -p icons icons/content
pushd icons
unzip ../firefoxIcon.zip
for i in firefox*noshadow.png; do
mv "$i" "default$(grep -Poh "[0-9]+" <<< "$i").png"
done
mv firefox-256.png content/about-logo.png
mv firefox-512.png "content/about-logo@2x.png"
popd
cp -rlf icons/* $srcdir/browser/branding/librewolf/
cd $srcdir
cat >${CI_PROJECT_DIR}/mozconfig <<END
@ -43,8 +59,8 @@ ac_add_options --enable-rust-simd
# Branding
ac_add_options --enable-update-channel=release
ac_add_options --with-app-name=librewolf
ac_add_options --with-app-basename=LibreWolf
ac_add_options --with-app-name=foxgirl
ac_add_options --with-app-basename=Foxgirl
ac_add_options --with-branding=browser/branding/librewolf
ac_add_options --with-distribution-id=io.gitlab.librewolf-community
ac_add_options --with-unsigned-addon-scopes=app,system
@ -72,6 +88,12 @@ mk_add_options MOZ_TELEMETRY_REPORTING=0
# ac_add_options --enable-linker=gold
END
if [[ "$(/lib/libc.so 2>&1)" == *"musl libc"* ]]; then
echo "ac_add_options --disable-jemalloc" >> ${CI_PROJECT_DIR}/mozconfig
echo "ac_add_options --disable-gold" >> ${CI_PROJECT_DIR}/mozconfig
echo "ac_add_options --disable-webrtc" >> ${CI_PROJECT_DIR}/mozconfig
fi
# allow setting limited resource usage via ENV / CI:
if [[ ! -z ${CORES_TO_USE} ]]; then
@ -83,11 +105,11 @@ if [[ $CARCH == 'aarch64' ]]; then
# taken from manjaro build:
ac_add_options --enable-optimize="-g0 -O2"
export CC='clang-10'
export CXX='clang++-10'
export AR=llvm-ar-10
export NM=llvm-nm-10
export RANLIB=llvm-ranlib-10
export CC='clang'
export CXX='clang++'
export AR=llvm-ar
export NM=llvm-nm
export RANLIB=llvm-ranlib
END
export MOZ_DEBUG_FLAGS=" "
@ -96,7 +118,7 @@ END
export RUSTFLAGS="-Cdebuginfo=0"
export LDFLAGS+=" -Wl,--no-keep-memory -Wl"
patch -Np1 -i ${_PATCHES_DIR}/arm.patch
# patch -Np1 -i ${_PATCHES_DIR}/arm.patch # not required anymore?
wget https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/extra/firefox/build-arm-libopus.patch -O ${_PATCHES_DIR}/build-arm-libopus.patch
patch -Np1 -i ${_PATCHES_DIR}/build-arm-libopus.patch
@ -105,11 +127,11 @@ else
# ubuntu seems to recommend this
ac_add_options --disable-elf-hack
export CC='clang-12'
export CXX='clang++-12'
export AR=llvm-ar-12
export NM=llvm-nm-12
export RANLIB=llvm-ranlib-12
export CC='clang'
export CXX='clang++'
export AR=llvm-ar
export NM=llvm-nm
export RANLIB=llvm-ranlib
# probably not needed, enabled by default?
ac_add_options --enable-optimize
@ -174,4 +196,18 @@ patch -Np1 -i ${_PATCHES_DIR}/about-dialog.patch
# created directories
patch -Np1 -i ${_PATCHES_DIR}/mozilla_dirs.patch
# Foxgirl-specific patches
patch -Np1 -i "${_PATCHES_DIR}/urlbar.patch"
patch -Np1 -i "${_PATCHES_DIR}/icons.patch"
patch -Np1 -i "${_PATCHES_DIR}/wordmark.patch"
patch -Np1 -i "${_PATCHES_DIR}/css.patch"
patch -Np1 -i "${_PATCHES_DIR}/defsites.patch"
patch -Np1 -i "${_PATCHES_DIR}/bookmarksbar.patch"
patch -Np1 -i "${_PATCHES_DIR}/smile.patch"
patch -Np1 -i "${_PATCHES_DIR}/strings.patch"
patch -Np1 -i "${_PATCHES_DIR}/view-page-info.patch"
#patch -Np1 -i "${_PATCHES_DIR}/useragent-override.patch"
echo '[]' > browser/components/newtab/data/content/tippytop/top_sites.json
echo '[]' > browser/components/urlbar/content/preloaded-top-urls.json
rm -rf common

View File

@ -7,7 +7,7 @@ set -e
srcdir=$1;
OUTPUT_TARBALL=$2;
CI_PROJECT_DIR=${CI_PROJECT_DIR:-$(realpath $(dirname $0)/../)}
_SOURCE_CODE_BINARY_TARBALL_LOCATION="${srcdir}/firefox-${pkgver}/obj/dist/librewolf*.tar.bz2";
_SOURCE_CODE_BINARY_TARBALL_LOCATION="${srcdir}/firefox-${pkgver}/obj/dist/foxgirl*.tar.bz2";
_MOZBUILD=$srcdir/../mozbuild
export DEB_BUILD_HARDENING=1
export DEB_BUILD_HARDENING_STACKPROTECTOR=1
@ -64,7 +64,9 @@ cd $srcdir;
rm -f mozconfig
# install cbindgen
cargo install --version 0.19.0 cbindgen
#if [[ "$(/lib/libc.so)" != *"musl libc"* ]]; then
# cargo install --version 0.20.0 cbindgen
#fi
if [[ $CARCH == 'aarch64' ]]; then
@ -90,7 +92,7 @@ echo "Building symbol archive..."
# End "build()" equivalent.
# Packages the build into a binary tarball
printf "\nPackaging LibreWolf\n";
printf "\nPackaging\n";
./mach package;
# Moves the packaged tarball to the specified location

View File

@ -10,9 +10,9 @@ TOGGLE_SETTINGS_SCRIPT=$2;
LAUNCHER_SCRIPT=$3;
CI_PROJECT_DIR=${CI_PROJECT_DIR:-$(realpath $(dirname $0)/../)}
_SCRIPT_FOLDER=$(realpath $(dirname $0));
_EXTRACTED_TARBALL_FOLDER=$_SCRIPT_FOLDER/librewolf;
_SETTINGS_TAG=${SETTINGS_TAG:-'1.6'}
_SETTINGS_REPO='https://gitlab.com/librewolf-community/settings.git';
_EXTRACTED_TARBALL_FOLDER=$_SCRIPT_FOLDER/foxgirl;
_SETTINGS_TAG=${SETTINGS_TAG:-'2.0'}
_SETTINGS_REPO='https://git.sakamoto.pl/domi/foxgirl-settings';
# Extracts the binary tarball
printf "\nExtracting librewolf binary tarball\n";
@ -24,7 +24,7 @@ printf "\nCopying librewolf settings to extracted binary tarball\n";
git clone $_SETTINGS_REPO $_EXTRACTED_TARBALL_FOLDER/settings;
cd $_EXTRACTED_TARBALL_FOLDER/settings
git checkout $_SETTINGS_TAG
#git checkout $_SETTINGS_TAG
cd -
# no need to keep that in there:
rm -rf "${_EXTRACTED_TARBALL_FOLDER}/settings/.git";
@ -44,12 +44,12 @@ install -Dvm644 /dev/stdin "$distini" <<END
[Global]
id=io.gitlab.librewolf-community
version=1.0
about=LibreWolf
about=Foxgirl
[Preferences]
app.distributor="LibreWolf Community"
app.distributor.channel=librewolf
app.partner.librewolf=librewolf
app.distributor="idk lmao"
app.distributor.channel=foxgirl
app.partner.librewolf=foxgirl
END
# Create Appstream metadate file