2
0
mirror of https://codeberg.org/kiss-community/repo synced 2024-12-25 08:40:10 -07:00
repo/extra/firefox/build

133 lines
4.1 KiB
Plaintext
Raw Normal View History

2019-08-03 04:45:04 -06:00
#!/bin/sh -e
2019-08-03 00:30:56 -06:00
2022-05-06 16:04:17 -06:00
(
cd dom/media/webrtc/third_party_build/gn-configs
mv x64_False_arm64_linux.json x64_False_arm64_linux_True.json
mv x64_False_arm64_linux.mozconfig x64_False_arm64_linux_True.mozconfig
mv x64_False_x64_linux.json x64_False_x64_linux_True.json
mv x64_False_x86_linux.json x64_False_x86_linux_True.json
mv x64_False_x86_linux.mozconfig x64_False_x86_linux_True.mozconfig
mv x64_True_arm64_linux.json x64_True_arm64_linux_True.json
mv x64_True_arm64_linux.mozconfig x64_True_arm64_linux_True.mozconfig
mv x64_True_x64_linux.json x64_True_x64_linux_True.json
mv x64_True_x64_linux.mozconfig x64_True_x64_linux_True.mozconfig
mv x64_True_x86_linux.json x64_True_x86_linux_True.json
mv x64_True_x86_linux.mozconfig x64_True_x86_linux_True.mozconfig
)
2022-05-06 23:36:21 -06:00
mv widget/gtk/mozwayland/mozwayland.h widget/gtk/wayland/mozwayland.h
2022-05-05 01:25:58 -06:00
for p in no-x11/*.patch *.patch; do
patch -p1 < "$p"
done
2020-09-22 05:21:53 -06:00
2019-08-03 02:25:00 -06:00
# Build autoconf 2.13 for Firefox's sole use.
2019-08-04 02:56:17 -06:00
# See: https://bugzilla.mozilla.org/show_bug.cgi?id=104642
2019-08-03 00:30:56 -06:00
(
cd autoconf2.13
2019-10-16 16:06:33 -06:00
./configure \
2020-03-03 14:03:38 -07:00
--prefix="$PWD/../junk" \
2019-10-16 16:06:33 -06:00
--program-suffix=-2.13
2019-08-03 00:30:56 -06:00
make
make install
)
2019-08-03 16:46:14 -06:00
# Build yasm for Firefox's sole use. Firefox is the only package which needs it
2020-03-03 14:03:38 -07:00
# and upstream is kinda dead.
(
cd yasm
./configure \
2021-08-03 09:36:26 -06:00
--prefix=/
2020-03-03 14:03:38 -07:00
make
2021-08-03 09:36:26 -06:00
make DESTDIR="$PWD/../junk" install
2020-03-03 14:03:38 -07:00
)
2021-07-30 04:42:09 -06:00
# Build zip/unzip for Firefox's sole use.
for f in zip unzip; do (
cd "$f"
2021-07-30 04:42:09 -06:00
make \
CC="$CC $CFLAGS $CXXFLAGS" \
-f unix/Makefile generic
make \
prefix="$PWD/../junk" \
-f unix/Makefile install
) done
2021-07-30 04:42:09 -06:00
export PATH="$PWD/junk/bin:$PATH"
2019-08-03 00:30:56 -06:00
# If using libc++, CXXSTDLIB needs to be set manually.
2021-07-17 21:54:36 -06:00
case $("$CC" -print-file-name=libc++.so) in */*)
export CXXSTDLIB=c++
esac
2021-09-03 09:02:25 -06:00
# Instruct the compiler to trim absolute paths in resulting binaries and instead
# change them to relative paths ($PWD/... ./...).
export RUSTFLAGS="$RUSTFLAGS --remap-path-prefix=$PWD=."
2021-07-01 09:59:54 -06:00
export LDFLAGS="$LDFLAGS -Wl,-rpath=/usr/lib/firefox,--enable-new-dtags"
2020-05-06 11:39:07 -06:00
export RUSTFLAGS="$RUSTFLAGS -Cdebuginfo=0"
2022-05-06 16:04:17 -06:00
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
export MOZ_DEBUG_FLAGS=-g0
2022-03-06 05:10:08 -07:00
export MOZBUILD_STATE_PATH="$PWD/state"
2020-05-05 17:56:03 -06:00
export MOZ_NOSPAM=1
2021-07-01 06:36:11 -06:00
cat > .mozconfig << EOF
ac_add_options --prefix=/usr
ac_add_options --libdir=/usr/lib
ac_add_options --enable-strip
ac_add_options --enable-release
ac_add_options --enable-rust-simd
2022-05-05 01:25:58 -06:00
ac_add_options --enable-audio-backends=alsa
2021-07-01 06:36:11 -06:00
ac_add_options --enable-install-strip
ac_add_options --enable-official-branding
ac_add_options --enable-application=browser
ac_add_options --enable-optimize="${CFLAGS:-} -w"
2022-03-06 05:10:08 -07:00
ac_add_options --with-wayland
2021-07-01 07:03:27 -06:00
ac_add_options --with-system-libvpx
2021-07-01 06:36:11 -06:00
ac_add_options --with-system-ffi
ac_add_options --with-system-png
ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --with-system-pixman
ac_add_options --without-system-nss
ac_add_options --without-system-nspr
2022-03-06 05:10:08 -07:00
ac_add_options --without-wasm-sandboxed-libraries
2021-07-01 06:36:11 -06:00
ac_add_options --disable-eme
ac_add_options --disable-dbus
ac_add_options --disable-tests
ac_add_options --disable-vtune
ac_add_options --disable-updater
ac_add_options --disable-jemalloc
ac_add_options --disable-elf-hack
ac_add_options --disable-callgrind
ac_add_options --disable-profiling
ac_add_options --disable-necko-wifi
ac_add_options --disable-crashreporter
ac_add_options --disable-accessibility
ac_add_options --disable-debug
ac_add_options --disable-debug-symbols
ac_add_options --disable-parental-controls
ac_add_options --disable-system-extension-dirs
EOF
2021-07-01 06:36:11 -06:00
./mach build
2021-07-17 21:45:00 -06:00
./mach install
2019-08-03 00:30:56 -06:00
2020-05-05 17:56:03 -06:00
# Remove a lot of uneeded "stuff".
2021-07-01 12:04:21 -06:00
rm -rf \
"$1/usr/include" \
"$1/usr/lib/firefox-devel" \
"$1/usr/share/idl" \
"$1/usr/lib/firefox/browser/features/fxmonitor@mozilla.org.xpi" \
"$1/usr/lib/firefox/browser/features/screenshots@mozilla.org.xpi" \
"$1/usr/lib/firefox/browser/features/webcompat-reporter@mozilla.org.xpi" \
"$1/usr/lib/firefox/browser/features/webcompat@mozilla.org.xpi" \
"$1/usr/lib/firefox/browser/features/doh-rollout@mozilla.org.xpi"