2019-08-03 04:45:04 -06:00
|
|
|
#!/bin/sh -e
|
2019-08-03 00:30:56 -06:00
|
|
|
|
2022-06-06 00:12:53 -06:00
|
|
|
for p in *.patch; do
|
2021-09-02 04:25:14 -06:00
|
|
|
patch -p1 < "$p"
|
|
|
|
done
|
2020-09-22 05:21:53 -06:00
|
|
|
|
2021-09-02 04:25: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
|
|
|
|
2021-09-02 04:25:14 -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
|
2021-09-02 04:25:14 -06:00
|
|
|
) done
|
2021-07-30 04:42:09 -06:00
|
|
|
|
2020-05-05 15:56:08 -06:00
|
|
|
export PATH="$PWD/junk/bin:$PATH"
|
2019-08-03 00:30:56 -06:00
|
|
|
|
2022-07-25 11:24:39 -06:00
|
|
|
for p in \
|
|
|
|
audioipc \
|
|
|
|
audioipc-client \
|
2022-08-22 09:56:28 -06:00
|
|
|
audioipc-server
|
2022-07-25 11:24:39 -06:00
|
|
|
do
|
|
|
|
sed 's/\("files":{\)[^}]*/\1/' \
|
|
|
|
"third_party/rust/$p/.cargo-checksum.json" > _
|
|
|
|
mv -f _ "third_party/rust/$p/.cargo-checksum.json"
|
|
|
|
done
|
|
|
|
|
2021-07-14 03:38:13 -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 */*)
|
2021-07-14 03:38:13 -06:00
|
|
|
export CXXSTDLIB=c++
|
|
|
|
esac
|
|
|
|
|
2022-07-25 11:24:39 -06:00
|
|
|
export CFLAGS="$CFLAGS -w"
|
|
|
|
export CXXFLAGS="$CXXFLAGS -w"
|
|
|
|
|
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
|
2020-01-13 15:13:26 -07:00
|
|
|
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
|
2020-01-13 15:13:26 -07:00
|
|
|
|
2021-07-01 06:36:11 -06:00
|
|
|
cat > .mozconfig << EOF
|
|
|
|
ac_add_options --prefix=/usr
|
|
|
|
ac_add_options --libdir=/usr/lib
|
2022-06-06 00:12:53 -06:00
|
|
|
ac_add_options --enable-default-toolkit=cairo-gtk3-wayland-only
|
2021-07-01 06:36:11 -06:00
|
|
|
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
|
2022-06-16 21:40:17 -06:00
|
|
|
ac_add_options --enable-optimize
|
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
|
2020-05-05 15:56:08 -06:00
|
|
|
|
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"
|