diff --git a/srcpkgs/firefox/patches/REVERT-721a5102bc50cccae86d05d5052501845a6fd7bb.patch b/srcpkgs/firefox/patches/REVERT-721a5102bc50cccae86d05d5052501845a6fd7bb.patch new file mode 100644 index 00000000000..59f72bed5a8 --- /dev/null +++ b/srcpkgs/firefox/patches/REVERT-721a5102bc50cccae86d05d5052501845a6fd7bb.patch @@ -0,0 +1,54 @@ + +# HG changeset patch +# User Mike Hommey +# Date 1691703966 0 +# Node ID 721a5102bc50cccae86d05d5052501845a6fd7bb +# Parent 24195ef5e1a7ff8f510159dca76ddbc92c5dce6c +Bug 1847697 - Don't use -z,pack-relative-relocs when it would lead to a ld.so error. r=firefox-build-system-reviewers,ahochheiden + +Differential Revision: https://phabricator.services.mozilla.com/D185712 + +diff --git a/toolkit/moz.configure b/toolkit/moz.configure +--- a/toolkit/moz.configure ++++ b/toolkit/moz.configure +@@ -1595,26 +1595,34 @@ with only_when("--enable-compile-environ + onerror=lambda: None, + ) + is not None + ): + # BFD ld ignores options it doesn't understand. So check + # that we did get packed relative relocations (DT_RELR). + env = os.environ.copy() + env["LANG"] = "C" +- dyn = check_cmd_output(readelf, "-d", path, env=env) ++ dyn = check_cmd_output(readelf, "-d", path, env=env).splitlines() + tags = [ +- int(l.split()[0], 16) +- for l in dyn.splitlines() +- if l.strip().startswith("0x") ++ int(l.split()[0], 16) for l in dyn if l.strip().startswith("0x") + ] + # Older versions of readelf don't know about DT_RELR but will + # still display the tag number. + if 0x23 in tags: +- return pack_rel_relocs ++ needed = [l for l in dyn if l.split()[1] == "(NEEDED)"] ++ is_glibc = any(l.endswith("[libc.so.6]") for l in needed) ++ # The mold linker doesn't add a GLIBC_ABI_DT_RELR version ++ # dependency, which ld.so doesn't like. ++ # https://github.com/rui314/mold/issues/653#issuecomment-1670274638 ++ if is_glibc: ++ versions = check_cmd_output(readelf, "-V", path, env=env) ++ if "GLIBC_ABI_DT_RELR" in versions.split(): ++ return pack_rel_relocs ++ else: ++ return pack_rel_relocs + finally: + try: + os.remove(path) + except FileNotFoundError: + pass + + add_old_configure_assignment("PACK_REL_RELOC_FLAGS", pack_relative_relocs) + + diff --git a/srcpkgs/firefox/patches/REVERT-721a5102bc50cccae86d05d5052501845a6fd7bb.patch.args b/srcpkgs/firefox/patches/REVERT-721a5102bc50cccae86d05d5052501845a6fd7bb.patch.args new file mode 100644 index 00000000000..8bbbbe94836 --- /dev/null +++ b/srcpkgs/firefox/patches/REVERT-721a5102bc50cccae86d05d5052501845a6fd7bb.patch.args @@ -0,0 +1 @@ +-RNp1 diff --git a/srcpkgs/firefox/template b/srcpkgs/firefox/template index 2b6f276b9ad..e52e90ad0e4 100644 --- a/srcpkgs/firefox/template +++ b/srcpkgs/firefox/template @@ -3,7 +3,7 @@ # THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/firefox-i18n". # pkgname=firefox -version=116.0.3 +version=117.0 revision=1 build_helper="rust" short_desc="Mozilla Firefox web browser" @@ -12,7 +12,7 @@ license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later" homepage="https://www.mozilla.org/firefox/" # distfiles="${MOZILLA_SITE}/firefox/candidates/${version/beta/b}-candidates/build1/source/firefox-${version/beta/b}.source.tar.xz" distfiles="${MOZILLA_SITE}/firefox/releases/${version}/source/firefox-${version}.source.tar.xz" -checksum=575a0d11b487a03527cc90c5e6d556c09669201cbb584b73442b202ee1d3e2e6 +checksum=fa524cb9a63334d74ef996f3cbaf1559b5836f6c8ef6e890fa20846029242ac7 lib32disabled=yes