Install Firefox
Attempting to cross-compile Firefox will be rather challenging. It has loads of dependencies, written in a variety of languages. Some issues are more interesting than others. Notably, _dev-libs/nss_ needs to be installed on the host in order to cross-compile itself, but its ebuild does not specify this ([Bug 759127][0]). Also the build system for _gnome-base/librsvg_ is broken: [Gentoo Bug 835758][1], [GNOME Issue #810][2]. Cross-compiling _dev-libs/gobject-introspection_ is also broken ([Bug 759127][3], [850895][4]). With all of these changes, we can get to the point where Portage starts building Firefox, it will take hours and all of my machine's resources, so I haven't tested if will actually build. We shall see once Jenkins tries it... [0]: https://bugs.gentoo.org/759127 [1]: https://bugs.gentoo.org/835758 [2]: https://gitlab.gnome.org/GNOME/librsvg/-/issues/810 [3]: https://bugs.gentoo.org/850895 [4]: https://bugs.gentoo.org/751325kiosk
parent
43d15bdbf8
commit
4a555211f5
|
@ -1 +1,2 @@
|
|||
net-wireless/wpa_supplicant
|
||||
www-client/firefox
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
USE="${USE} -python -readline"
|
|
@ -0,0 +1,4 @@
|
|||
# Disable GObject introspection because it cannot be cross-compiled
|
||||
# https://bugs.gentoo.org/850895
|
||||
# https://bugs.gentoo.org/751325
|
||||
USE="${USE} -introspection -vala"
|
|
@ -0,0 +1 @@
|
|||
VIDEO_CARDS='v3d vc4'
|
|
@ -0,0 +1 @@
|
|||
USE="${USE} -X wayland"
|
|
@ -0,0 +1 @@
|
|||
dev-libs/nss ~amd64
|
|
@ -0,0 +1,6 @@
|
|||
media-libs/harfbuzz -cairo
|
||||
media-libs/libvpx postproc
|
||||
media-libs/mesa -llvm wayland
|
||||
media-video/ffmpeg openssl -gnutls
|
||||
www-client/firefox -telemetry dbus wayland
|
||||
x11-libs/gtk+ wayland
|
|
@ -0,0 +1,48 @@
|
|||
--- a/Makefile.in 2024-12-13 12:17:08.339616211 -0600
|
||||
+++ b/Makefile.in 2024-12-13 12:18:30.301517960 -0600
|
||||
@@ -641,12 +641,6 @@
|
||||
rsvg/src/test_utils/reference_utils.rs \
|
||||
rsvg-bench/Cargo.toml \
|
||||
rsvg-bench/src/main.rs \
|
||||
- rsvg_convert/tests/internal_predicates/file.rs \
|
||||
- rsvg_convert/tests/internal_predicates/mod.rs \
|
||||
- rsvg_convert/tests/internal_predicates/pdf.rs \
|
||||
- rsvg_convert/tests/internal_predicates/png.rs \
|
||||
- rsvg_convert/tests/internal_predicates/svg.rs \
|
||||
- rsvg_convert/tests/rsvg_convert.rs \
|
||||
librsvg-c/tests/legacy_sizing.rs \
|
||||
gdk-pixbuf-loader/Cargo.toml \
|
||||
gdk-pixbuf-loader/src/lib.rs \
|
||||
@@ -685,15 +679,6 @@
|
||||
librsvgincdir = $(includedir)/librsvg-$(RSVG_API_VERSION)/librsvg
|
||||
librsvginc_HEADERS = $(librsvg_public_headers)
|
||||
|
||||
-# Use SCRIPTS instead of PROGRAMS since we build it on our own
|
||||
-bin_SCRIPTS = rsvg-convert$(EXEEXT)
|
||||
-RSVG_CONVERT_BIN = $(CARGO_TARGET_DIR)/$(RUST_TARGET_SUBDIR)/rsvg-convert$(EXEEXT)
|
||||
-RSVG_CONVERT_SRC = \
|
||||
- rsvg_convert/Cargo.toml \
|
||||
- rsvg_convert/build.rs \
|
||||
- rsvg_convert/src/main.rs \
|
||||
- $(NULL)
|
||||
-
|
||||
@HAVE_RST2MAN_TRUE@man1_MANS = rsvg-convert.1
|
||||
dist_doc_DATA = \
|
||||
README.md \
|
||||
@@ -1643,16 +1628,6 @@
|
||||
$(CARGO) --locked build $(CARGO_VERBOSE) $(CARGO_TARGET_ARGS) $(CARGO_RELEASE_ARGS) --package librsvg-c \
|
||||
&& cd $(LIBRSVG_BUILD_DIR) && $(LINK) $< && cp $(RUST_LIB) .libs/librsvg_c_api.a
|
||||
|
||||
-$(RSVG_CONVERT_BIN): $(RSVG_CONVERT_SRC) | librsvg_c_api.la
|
||||
- +cd $(top_srcdir) && \
|
||||
- PKG_CONFIG_ALLOW_CROSS=1 \
|
||||
- PKG_CONFIG='$(PKG_CONFIG)' \
|
||||
- CARGO_TARGET_DIR=$(CARGO_TARGET_DIR) \
|
||||
- $(CARGO) --locked build $(CARGO_VERBOSE) $(CARGO_TARGET_ARGS) $(CARGO_RELEASE_ARGS) --package rsvg_convert
|
||||
-
|
||||
-rsvg-convert$(EXEEXT): $(RSVG_CONVERT_BIN)
|
||||
- cd $(LIBRSVG_BUILD_DIR) && cp $(RSVG_CONVERT_BIN) rsvg-convert$(EXEEXT)
|
||||
-
|
||||
rsvg-convert.1: rsvg-convert.rst
|
||||
@HAVE_RST2MAN_TRUE@ $(RST2MAN) $(top_srcdir)/rsvg-convert.rst rsvg-convert.1
|
||||
@HAVE_RST2MAN_FALSE@ @echo "========================================"
|
11
prepare.sh
11
prepare.sh
|
@ -6,3 +6,14 @@ fi
|
|||
if [ "$(find /var/db/repos/gentoo/metadata -newermt '-24 hours' | wc -l)" -eq 0 ]; then
|
||||
emaint sync
|
||||
fi
|
||||
|
||||
mkdir -p /etc/portage/package.use
|
||||
mkdir -p /etc/portage/make.conf
|
||||
cp portage/package.use/firefox /etc/portage/package.use/
|
||||
cp portage/make.conf/introspection.conf /etc/portage/make.conf/
|
||||
cp portage/make.conf/wayland.conf /etc/portage/make.conf/
|
||||
echo 'VIDEO_CARDS=""' > /etc/portage/make.conf/videocards.conf
|
||||
|
||||
xargs -r emerge -vbknuUj --rebuilt-binaries=y --color=y <<EOF
|
||||
dev-libs/nss
|
||||
EOF
|
||||
|
|
Loading…
Reference in New Issue