summaryrefslogtreecommitdiff
path: root/package/firefox
diff options
context:
space:
mode:
Diffstat (limited to 'package/firefox')
-rw-r--r--package/firefox/Makefile56
-rw-r--r--package/firefox/patches/patch-build_moz_configure_flags_configure13
-rw-r--r--package/firefox/patches/patch-servo_components_style_traits_values_rs37
-rw-r--r--package/firefox/patches/patch-servo_ports_geckolib_cbindgen_toml10
4 files changed, 116 insertions, 0 deletions
diff --git a/package/firefox/Makefile b/package/firefox/Makefile
new file mode 100644
index 000000000..93a0199cb
--- /dev/null
+++ b/package/firefox/Makefile
@@ -0,0 +1,56 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= firefox
+PKG_VERSION:= 129.0.2
+PKG_RELEASE:= 1
+PKG_HASH:= 35a1da121af474833d013ecbc1f77aa55bb35678fe06d438842d320dfab3f344
+PKG_DESCR:= www browser
+PKG_SECTION:= app/browser
+PKG_DEPENDS:= pango libfreetype fontconfig libxcomposite libxcursor
+PKG_DEPENDS+= libgtk3 dbus-glib alsa-lib libatk harfbuzz
+PKG_BUILDDEP:= python3-host nodejs-host pango freetype fontconfig libXcomposite
+PKG_BUILDDEP+= libXcursor libgtk3 dbus-glib alsa-lib atk harfbuzz
+PKG_SITES:= https://ftp.mozilla.org/pub/firefox/releases/$(PKG_VERSION)/source/
+
+PKG_ARCH_DEPENDS:= aarch64
+
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).source.tar.xz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,FIREFOX,firefox,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
+
+ifeq ($(ADK_TARGET_ARCH),aarch64)
+TARGET_NAME:= aarch64-linux-gnu
+endif
+
+CONFIG_STYLE:= minimal
+CONFIGURE_ENV+= CROSS_COMPILE=1 \
+ BINDGEN_CFLAGS="--sysroot /usr/$(TARGET_NAME)" \
+ AS="$(GNU_TARGET_NAME)-gcc"
+CONFIGURE_ARGS+= --prefix=/usr \
+ --target=$(TARGET_NAME) \
+ --with-toolchain-prefix=$(GNU_TARGET_NAME)- \
+ --enable-application=browser \
+ --enable-official-branding \
+ --disable-audio-backends \
+ --without-wasm-sandboxed-libraries \
+ --disable-profiling \
+ --disable-crashreporter \
+ --with-clang-path=/usr/bin/clang-18 \
+ --with-libclang-path=/usr/lib/llvm-18/lib
+
+firefox-install:
+ $(INSTALL_DIR) $(IDIR_FIREFOX)/usr/bin
+ $(INSTALL_DIR) $(IDIR_FIREFOX)/usr/lib/firefox
+ $(CP) $(WRKINST)/usr/bin/firefox \
+ $(IDIR_FIREFOX)/usr/bin
+ $(CP) $(WRKINST)/usr/lib/firefox/* \
+ $(IDIR_FIREFOX)/usr/lib/firefox
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/firefox/patches/patch-build_moz_configure_flags_configure b/package/firefox/patches/patch-build_moz_configure_flags_configure
new file mode 100644
index 000000000..c0ac77a7c
--- /dev/null
+++ b/package/firefox/patches/patch-build_moz_configure_flags_configure
@@ -0,0 +1,13 @@
+--- firefox-129.0.2.orig/build/moz.configure/flags.configure 2024-08-19 21:21:42.000000000 +0200
++++ firefox-129.0.2/build/moz.configure/flags.configure 2024-09-08 06:27:20.661198142 +0200
+@@ -72,10 +72,6 @@ def link_libstdcxx_statically(
+ )
+
+
+-@depends(when=link_libstdcxx_statically)
+-def check_libstdcxx_linkage():
+- die("Firefox does not support linking statically with libstdc++")
+-
+
+ check_and_add_flag(
+ "-mieee",
diff --git a/package/firefox/patches/patch-servo_components_style_traits_values_rs b/package/firefox/patches/patch-servo_components_style_traits_values_rs
new file mode 100644
index 000000000..cc02de658
--- /dev/null
+++ b/package/firefox/patches/patch-servo_components_style_traits_values_rs
@@ -0,0 +1,37 @@
+--- firefox-129.0.2.orig/servo/components/style_traits/values.rs 2024-08-19 21:21:51.000000000 +0200
++++ firefox-129.0.2/servo/components/style_traits/values.rs 2024-09-08 06:18:31.271680673 +0200
+@@ -388,11 +388,11 @@ impl Separator for Space {
+ where
+ F: for<'tt> FnMut(&mut Parser<'i, 'tt>) -> Result<T, ParseError<'i, E>>,
+ {
+- input.skip_whitespace(); // Unnecessary for correctness, but may help try() rewind less.
++ input.skip_whitespace(); // Unnecessary for correctness, but may help try_parse() rewind less.
+ let mut results = vec![parse_one(input)?];
+ loop {
+- input.skip_whitespace(); // Unnecessary for correctness, but may help try() rewind less.
+- if let Ok(item) = input.try(&mut parse_one) {
++ input.skip_whitespace(); // Unnecessary for correctness, but may help try_parse() rewind less.
++ if let Ok(item) = input.try_parse(&mut parse_one) {
+ results.push(item);
+ } else {
+ return Ok(results);
+@@ -413,14 +413,14 @@ impl Separator for CommaWithSpace {
+ where
+ F: for<'tt> FnMut(&mut Parser<'i, 'tt>) -> Result<T, ParseError<'i, E>>,
+ {
+- input.skip_whitespace(); // Unnecessary for correctness, but may help try() rewind less.
++ input.skip_whitespace(); // Unnecessary for correctness, but may help try_parse() rewind less.
+ let mut results = vec![parse_one(input)?];
+ loop {
+- input.skip_whitespace(); // Unnecessary for correctness, but may help try() rewind less.
++ input.skip_whitespace(); // Unnecessary for correctness, but may help try_parse() rewind less.
+ let comma_location = input.current_source_location();
+- let comma = input.try(|i| i.expect_comma()).is_ok();
+- input.skip_whitespace(); // Unnecessary for correctness, but may help try() rewind less.
+- if let Ok(item) = input.try(&mut parse_one) {
++ let comma = input.try_parse(|i| i.expect_comma()).is_ok();
++ input.skip_whitespace(); // Unnecessary for correctness, but may help try_parse() rewind less.
++ if let Ok(item) = input.try_parse(&mut parse_one) {
+ results.push(item);
+ } else if comma {
+ return Err(comma_location.new_unexpected_token_error(Token::Comma));
diff --git a/package/firefox/patches/patch-servo_ports_geckolib_cbindgen_toml b/package/firefox/patches/patch-servo_ports_geckolib_cbindgen_toml
new file mode 100644
index 000000000..7cf9a3d17
--- /dev/null
+++ b/package/firefox/patches/patch-servo_ports_geckolib_cbindgen_toml
@@ -0,0 +1,10 @@
+--- firefox-129.0.2.orig/servo/ports/geckolib/cbindgen.toml 2024-08-19 21:21:52.000000000 +0200
++++ firefox-129.0.2/servo/ports/geckolib/cbindgen.toml 2024-09-08 06:18:31.275680774 +0200
+@@ -360,7 +360,6 @@ renaming_overrides_prefixing = true
+ "Keyframe" = "Keyframe"
+ "nsChangeHint" = "nsChangeHint"
+ "ServoElementSnapshotTable" = "ServoElementSnapshotTable"
+-"Keyframe" = "Keyframe"
+ "ComputedKeyframeValues" = "ComputedKeyframeValues"
+ "OriginFlags" = "OriginFlags"
+ "ServoTraversalFlags" = "ServoTraversalFlags"