forked from pool/MozillaFirefox
Compare commits
67 Commits
Author | SHA256 | Date | |
---|---|---|---|
519cec749e | |||
6b3fcc6ae1 | |||
|
613b2aa26a | ||
7b71e58f7a | |||
|
3d34ceee8d | ||
493f603b75 | |||
|
907f9ebbb3 | ||
331649180e | |||
|
f5de6987c8 | ||
948b5f39d0 | |||
|
c5d30293e2 | ||
d023218841 | |||
|
9865226fda | ||
5bc67424ee | |||
|
b0d93e7dae | ||
|
28a1a8f674 | ||
|
3dcfa7e476 | ||
1c009b84cc | |||
|
f01e196d71 | ||
|
de6e91879a | ||
e45d0d81d3 | |||
|
caf9625167 | ||
|
182cfeee26 | ||
5feeaece7b | |||
|
2bbe0a69a1 | ||
3ea69c38f1 | |||
|
4b366dac1f | ||
8c7ed61a97 | |||
|
c3f911d998 | ||
|
cbdfc3d65a | ||
|
0a09fb785c | ||
d432587fcf | |||
|
4f243df708 | ||
|
f256e053b0 | ||
b9550c87b0 | |||
|
b05d1b670d | ||
e1158ab5be | |||
|
55e8aca1ce | ||
46a01a1b5f | |||
|
55fe4a5056 | ||
baa820544d | |||
|
7f911f5ab4 | ||
1c477cbce0 | |||
|
f61f955454 | ||
666da69274 | |||
|
dbfcbec55a | ||
03fe740876 | |||
|
13e7b2ae0d | ||
d1d6a0968b | |||
|
9e86c649c9 | ||
|
a409d8adda | ||
78130d13f6 | |||
|
df90b62ed6 | ||
cd12b8e0e6 | |||
|
f50f411e72 | ||
|
944ffaaffb | ||
|
d5ecca7d59 | ||
446a0e7696 | |||
|
46b65f8c49 | ||
51bca241c8 | |||
|
fe2ab4d47d | ||
b292b641fd | |||
|
d873e57e81 | ||
e21c4e6bf7 | |||
|
4ad63c96a3 | ||
|
1b43cd3da8 | ||
|
f2f6b49a7f |
File diff suppressed because it is too large
Load Diff
@@ -1,39 +1,91 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Name=%NAME
|
||||
Name=Firefox
|
||||
Name[ar]=فيَرفُكس
|
||||
Name[be]=Firefox
|
||||
Name[ca]=Firefox
|
||||
Name[cs]=Firefox
|
||||
Name[da]=Firefox
|
||||
Name[de]=Firefox
|
||||
Name[el]=Firefox
|
||||
Name[es]=Firefox
|
||||
Name[fi]=Firefox
|
||||
Name[fr]=Firefox
|
||||
Name[gl]=Firefox
|
||||
Name[hu]=Firefox
|
||||
Name[id]=Firefox
|
||||
Name[it]=Firefox
|
||||
Name[ja]=Firefox
|
||||
Name[ka]=Firefox
|
||||
Name[kab]=Firefox (tunigin tusligt)
|
||||
Name[km]=Firefox
|
||||
Name[lt]=Firefox
|
||||
Name[nb]=Firefox
|
||||
Name[nl]=Firefox
|
||||
Name[pl]=Firefox
|
||||
Name[pt]=Firefox
|
||||
Name[pt_BR]=Firefox
|
||||
Name[ro]=Firefox
|
||||
Name[ru]=Firefox
|
||||
Name[sk]=Firefox
|
||||
Name[sv]=Firefox
|
||||
Name[tr]=Firefox
|
||||
Name[uk]=Firefox
|
||||
Name[wa]=Firefox
|
||||
Name[zh_CN]=火狐
|
||||
Name[zh_TW]=Firefox
|
||||
GenericName=Web Browser
|
||||
GenericName[ar]=متصفّح وِب
|
||||
GenericName[be]=Вэб-браўзер
|
||||
GenericName[ca]=Navegador web
|
||||
GenericName[cs]=Webový prohlížeč
|
||||
GenericName[da]=Webbrowser
|
||||
GenericName[de]=Web-Browser
|
||||
GenericName[el]=Περιηγητής ιστοσελίδων
|
||||
GenericName[es]=Navegador web
|
||||
GenericName[et]=Veebisirvik
|
||||
GenericName[fa]=مرورگر اینترنتی
|
||||
GenericName[fi]=WWW-selain
|
||||
GenericName[fi]=Verkkoselain
|
||||
GenericName[fr]=Navigateur Web
|
||||
GenericName[gl]=Navegador Web
|
||||
GenericName[hu]=Webböngésző
|
||||
GenericName[it]=Browser Web
|
||||
GenericName[ja]=ウェブ・ブラウザ
|
||||
GenericName[id]=Peramban Web
|
||||
GenericName[it]=Navigatore web
|
||||
GenericName[ja]=Web ブラウザ
|
||||
GenericName[ka]=ბრაუზერი
|
||||
GenericName[kab]=Sekker iminig n web
|
||||
GenericName[km]=កម្មវិធីរុករកបណ្ដាញ
|
||||
GenericName[ko]=웹 브라우저
|
||||
GenericName[lt]=Žiniatinklio naršyklė
|
||||
GenericName[nb]=Nettleser
|
||||
GenericName[nl]=Webbrowser
|
||||
GenericName[nn]=Nettlesar
|
||||
GenericName[no]=Nettleser
|
||||
GenericName[pl]=Przeglądarka WWW
|
||||
GenericName[pt]=Navegador Web
|
||||
GenericName[pl]=Przeglądarka internetowa
|
||||
GenericName[pt]=Navegador de internet
|
||||
GenericName[pt_BR]=Navegador Web
|
||||
GenericName[ro]=Navigator de web
|
||||
GenericName[ru]=Веб-браузер
|
||||
GenericName[sk]=Internetový prehliadač
|
||||
GenericName[sk]=Webový prehliadač
|
||||
GenericName[sv]=Webbläsare
|
||||
GenericName[uk]=Веб-браузер
|
||||
GenericName[tr]=Web Tarayıcı
|
||||
GenericName[uk]=Навігатор Тенет
|
||||
GenericName[wa]=Betchteu waibe
|
||||
GenericName[zh_CN]=网页浏览器
|
||||
GenericName[zh_TW]=網頁瀏覽器
|
||||
Comment=Browse the Web
|
||||
Comment[ca]=Navegueu per el web
|
||||
Comment[ca]=Navegueu per la xarxa
|
||||
Comment[cs]=Prohlížení stránek World Wide Webu
|
||||
Comment[de]=Im Internet surfen
|
||||
Comment[es]=Navegue por la web
|
||||
Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
|
||||
Comment[fi]=Selaa Internetin WWW-sivuja
|
||||
Comment[fr]=Navigue sur Internet
|
||||
Comment[gl]=Navegue pola web
|
||||
Comment[hu]=A világháló böngészése
|
||||
Comment[it]=Esplora il web
|
||||
Comment[ja]=ウェブを閲覧します
|
||||
Comment[ja]=Web を閲覧します
|
||||
Comment[ka]=იმუშავეთ ინტერნეტში
|
||||
Comment[ko]=웹을 돌아 다닙니다
|
||||
Comment[nb]=Surf på nettet
|
||||
Comment[nl]=Verken het internet
|
||||
@@ -43,14 +95,16 @@ Comment[pl]=Przeglądanie stron WWW
|
||||
Comment[pt]=Navegue na Internet
|
||||
Comment[pt_BR]=Navegue na Internet
|
||||
Comment[ru]=Просмотр веб-страниц
|
||||
Comment[sk]=Prehliadanie internetu
|
||||
Comment[sk]=Prehľadávanie webu
|
||||
Comment[sv]=Surfa på webben
|
||||
Comment[tr]=Web'de gezinin
|
||||
Comment[uk]=Перегляд веб-сторінок
|
||||
TryExec=%EXEC
|
||||
Exec=%EXEC %u
|
||||
Icon=%ICON
|
||||
TryExec=firefox
|
||||
Exec=firefox %u
|
||||
Icon=firefox
|
||||
Terminal=false
|
||||
StartupNotify=true
|
||||
Categories=Network;WebBrowser;GTK;
|
||||
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;application/x-xpinstall;x-scheme-handler/http;x-scheme-handler/https;
|
||||
Type=Application
|
||||
|
||||
@@ -67,8 +121,7 @@ Name[ast]=Ventana nueva
|
||||
Name[az]=Yeni Pəncərə
|
||||
Name[be]=Новае акно
|
||||
Name[bg]=Нов прозорец
|
||||
Name[bn_BD]=নতুন উইন্ডো (N)
|
||||
Name[bn_IN]=নতুন উইন্ডো
|
||||
Name[bn]=নতুন উইন্ডো (N)
|
||||
Name[br]=Prenestr nevez
|
||||
Name[brx]=गोदान उइन्ड'(N)
|
||||
Name[bs]=Novi prozor
|
||||
@@ -80,37 +133,30 @@ Name[da]=Nyt vindue
|
||||
Name[de]=Neues Fenster
|
||||
Name[dsb]=Nowe wokno
|
||||
Name[el]=Νέο παράθυρο
|
||||
Name[en_GB]=New Window
|
||||
Name[en_US]=New Window
|
||||
Name[en_ZA]=New Window
|
||||
Name[eo]=Nova fenestro
|
||||
Name[es_AR]=Nueva ventana
|
||||
Name[es_CL]=Nueva ventana
|
||||
Name[es_ES]=Nueva ventana
|
||||
Name[es_MX]=Nueva ventana
|
||||
Name[es]=Nueva Ventana
|
||||
Name[et]=Uus aken
|
||||
Name[eu]=Leiho berria
|
||||
Name[fa]=پنجره جدید
|
||||
Name[ff]=Henorde Hesere
|
||||
Name[fi]=Uusi ikkuna
|
||||
Name[fr]=Nouvelle fenêtre
|
||||
Name[fy_NL]=Nij finster
|
||||
Name[ga_IE]=Fuinneog Nua
|
||||
Name[fy]=Nij finster
|
||||
Name[ga]=Fuinneog Nua
|
||||
Name[gd]=Uinneag ùr
|
||||
Name[gl]=Nova xanela
|
||||
Name[gn]=Ovetã pyahu
|
||||
Name[gu_IN]=નવી વિન્ડો
|
||||
Name[gu]=નવી વિન્ડો
|
||||
Name[he]=חלון חדש
|
||||
Name[hi_IN]=नया विंडो
|
||||
Name[hi]=नया विंडो
|
||||
Name[hr]=Novi prozor
|
||||
Name[hsb]=Nowe wokno
|
||||
Name[hu]=Új ablak
|
||||
Name[hy_AM]=Նոր Պատուհան
|
||||
Name[hy]=Նոր Պատուհան
|
||||
Name[id]=Jendela Baru
|
||||
Name[is]=Nýr gluggi
|
||||
Name[it]=Nuova finestra
|
||||
Name[ja]=新しいウィンドウ
|
||||
Name[ja_JP-mac]=新規ウインドウ
|
||||
Name[ka]=ახალი ფანჯარა
|
||||
Name[kk]=Жаңа терезе
|
||||
Name[km]=បង្អួចថ្មី
|
||||
@@ -129,15 +175,14 @@ Name[ml]=പുതിയ ജാലകം
|
||||
Name[mr]=नवीन पटल
|
||||
Name[ms]=Tetingkap Baru
|
||||
Name[my]=ဝင်းဒိုးအသစ်
|
||||
Name[nb_NO]=Nytt vindu
|
||||
Name[ne_NP]=नयाँ सञ्झ्याल
|
||||
Name[nb]=Nytt Vindu
|
||||
Name[ne]=नयाँ सञ्झ्याल
|
||||
Name[nl]=Nieuw venster
|
||||
Name[nn_NO]=Nytt vindauge
|
||||
Name[nn]=Nytt vindauge
|
||||
Name[or]=ନୂତନ ୱିଣ୍ଡୋ
|
||||
Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ
|
||||
Name[pl]=Nowe okno
|
||||
Name[pt]=Nova janela
|
||||
Name[pt_BR]=Nova janela
|
||||
Name[pt_PT]=Nova janela
|
||||
Name[rm]=Nova fanestra
|
||||
Name[ro]=Fereastră nouă
|
||||
Name[ru]=Новое окно
|
||||
@@ -148,7 +193,7 @@ Name[sl]=Novo okno
|
||||
Name[son]=Zanfun taaga
|
||||
Name[sq]=Dritare e Re
|
||||
Name[sr]=Нови прозор
|
||||
Name[sv_SE]=Nytt fönster
|
||||
Name[sv]=Nytt fönster
|
||||
Name[ta]=புதிய சாளரம்
|
||||
Name[te]=కొత్త విండో
|
||||
Name[th]=หน้าต่างใหม่
|
||||
@@ -162,25 +207,24 @@ Name[wo]=Palanteer bu bees
|
||||
Name[xh]=Ifestile entsha
|
||||
Name[zh_CN]=新建窗口
|
||||
Name[zh_TW]=開新視窗
|
||||
Exec=%EXEC --new-window %u
|
||||
Exec=firefox --new-window %u
|
||||
|
||||
[Desktop Action PrivateBrowsing]
|
||||
Name=New Private Browsing Window
|
||||
Name[ach]=Dirica manyen me mung
|
||||
Name[af]=Nuwe privaatvenster
|
||||
Name[an]=Nueva finestra privada
|
||||
Name[ar]=نافذة خاصة جديدة
|
||||
Name[ar]=نافذة تصفح خاصة الجديدة
|
||||
Name[as]=নতুন ব্যক্তিগত উইন্ডো
|
||||
Name[ast]=Ventana privada nueva
|
||||
Name[az]=Yeni Məxfi Pəncərə
|
||||
Name[be]=Новае акно адасаблення
|
||||
Name[bg]=Нов прозорец за поверително сърфиране
|
||||
Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো
|
||||
Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো
|
||||
Name[bn]=নতুন ব্যক্তিগত উইন্ডো
|
||||
Name[br]=Prenestr merdeiñ prevez nevez
|
||||
Name[brx]=गोदान प्राइभेट उइन्ड'
|
||||
Name[bs]=Novi privatni prozor
|
||||
Name[ca]=Finestra privada nova
|
||||
Name[ca]=Finestra de navegació privada nova
|
||||
Name[cak]=K'ak'a' ichinan tzuwäch
|
||||
Name[cs]=Nové anonymní okno
|
||||
Name[cy]=Ffenestr Breifat Newydd
|
||||
@@ -188,37 +232,30 @@ Name[da]=Nyt privat vindue
|
||||
Name[de]=Neues privates Fenster
|
||||
Name[dsb]=Nowe priwatne wokno
|
||||
Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
|
||||
Name[en_GB]=New Private Window
|
||||
Name[en_US]=New Private Window
|
||||
Name[en_ZA]=New Private Window
|
||||
Name[eo]=Nova privata fenestro
|
||||
Name[es_AR]=Nueva ventana privada
|
||||
Name[es_CL]=Nueva ventana privada
|
||||
Name[es_ES]=Nueva ventana privada
|
||||
Name[es_MX]=Nueva ventana privada
|
||||
Name[es]=Nueva Ventana de Navegación Privada
|
||||
Name[et]=Uus privaatne aken
|
||||
Name[eu]=Leiho pribatu berria
|
||||
Name[fa]=پنجره ناشناس جدید
|
||||
Name[ff]=Henorde Suturo Hesere
|
||||
Name[fi]=Uusi yksityinen ikkuna
|
||||
Name[fr]=Nouvelle fenêtre de navigation privée
|
||||
Name[fy_NL]=Nij priveefinster
|
||||
Name[ga_IE]=Fuinneog Nua Phríobháideach
|
||||
Name[fy]=Nij priveefinster
|
||||
Name[ga]=Fuinneog Nua Phríobháideach
|
||||
Name[gd]=Uinneag phrìobhaideach ùr
|
||||
Name[gl]=Nova xanela privada
|
||||
Name[gl]=Nova xanela de navegación privada
|
||||
Name[gn]=Ovetã ñemi pyahu
|
||||
Name[gu_IN]=નવી ખાનગી વિન્ડો
|
||||
Name[gu]=નવી ખાનગી વિન્ડો
|
||||
Name[he]=חלון פרטי חדש
|
||||
Name[hi_IN]=नयी निजी विंडो
|
||||
Name[hi]=नयी निजी विंडो
|
||||
Name[hr]=Novi privatni prozor
|
||||
Name[hsb]=Nowe priwatne wokno
|
||||
Name[hu]=Új privát ablak
|
||||
Name[hy_AM]=Սկսել Գաղտնի դիտարկում
|
||||
Name[hy]=Սկսել Գաղտնի դիտարկում
|
||||
Name[id]=Jendela Mode Pribadi Baru
|
||||
Name[is]=Nýr huliðsgluggi
|
||||
Name[it]=Nuova finestra anonima
|
||||
Name[ja]=新しいプライベートウィンドウ
|
||||
Name[ja_JP-mac]=新規プライベートウインドウ
|
||||
Name[ka]=ახალი პირადი ფანჯარა
|
||||
Name[kk]=Жаңа жекелік терезе
|
||||
Name[km]=បង្អួចឯកជនថ្មី
|
||||
@@ -236,16 +273,14 @@ Name[mk]=Нов приватен прозорец
|
||||
Name[ml]=പുതിയ സ്വകാര്യ ജാലകം
|
||||
Name[mr]=नवीन वैयक्तिक पटल
|
||||
Name[ms]=Tetingkap Persendirian Baharu
|
||||
Name[my]=New Private Window
|
||||
Name[nb_NO]=Nytt privat vindu
|
||||
Name[ne_NP]=नयाँ निजी सञ्झ्याल
|
||||
Name[nb]=Nytt privat nettlesingsvindu
|
||||
Name[ne]=नयाँ निजी सञ्झ्याल
|
||||
Name[nl]=Nieuw privévenster
|
||||
Name[nn_NO]=Nytt privat vindauge
|
||||
Name[nn]=Nytt privat vindauge
|
||||
Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ
|
||||
Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ
|
||||
Name[pl]=Nowe okno prywatne
|
||||
Name[pt]=Nova janela privada
|
||||
Name[pt_BR]=Nova janela privativa
|
||||
Name[pt_PT]=Nova janela privada
|
||||
Name[rm]=Nova fanestra privata
|
||||
Name[ro]=Fereastră privată nouă
|
||||
Name[ru]=Новое приватное окно
|
||||
@@ -256,7 +291,7 @@ Name[sl]=Novo zasebno okno
|
||||
Name[son]=Sutura zanfun taaga
|
||||
Name[sq]=Dritare e Re Private
|
||||
Name[sr]=Нови приватан прозор
|
||||
Name[sv_SE]=Nytt privat fönster
|
||||
Name[sv]=Nytt privat surfningsfönster
|
||||
Name[ta]=புதிய தனிப்பட்ட சாளரம்
|
||||
Name[te]=కొత్త ఆంతరంగిక విండో
|
||||
Name[th]=หน้าต่างส่วนตัวใหม่
|
||||
@@ -270,13 +305,22 @@ Name[wo]=Panlanteeru biir bu bees
|
||||
Name[xh]=Ifestile yangasese entsha
|
||||
Name[zh_CN]=新建隐私浏览窗口
|
||||
Name[zh_TW]=新增隱私視窗
|
||||
Exec=%EXEC --private-window %u
|
||||
Exec=firefox --private-window %u
|
||||
|
||||
[Desktop Action ProfileManager]
|
||||
Name=Profile Manager
|
||||
Name[ca]=Gestor de perfils
|
||||
Name[cs]=Správa profilů
|
||||
Name[de]=Profilmanager
|
||||
Name[es]=Gestor de Perfiles
|
||||
Name[fr]=Gestionnaire de profil
|
||||
Name[gl]=Xestor de perfís
|
||||
Name[ja]=プロファイルマネージャ
|
||||
Name[ka]=პროფილების მმართველი
|
||||
Name[nb]=Profilbehandler
|
||||
Name[ru]=Менеджер профилей
|
||||
Name[sk]=Správca profilov
|
||||
Name[sv]=Profilhanterare
|
||||
Name[tr]=Profil Yöneticisi
|
||||
Name[uk]=Менеджер профілів
|
||||
Exec=%EXEC --ProfileManager
|
||||
Exec=firefox --ProfileManager
|
||||
|
27
MozillaFirefox.desktop.in.in
Normal file
27
MozillaFirefox.desktop.in.in
Normal file
@@ -0,0 +1,27 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
_Name=%NAME
|
||||
_GenericName=Web Browser
|
||||
_Comment=Browse the Web
|
||||
TryExec=%EXEC
|
||||
Exec=%EXEC %u
|
||||
Icon=%ICON
|
||||
Terminal=false
|
||||
StartupNotify=true
|
||||
Categories=Network;WebBrowser;GTK;
|
||||
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;application/x-xpinstall;x-scheme-handler/http;x-scheme-handler/https;
|
||||
Type=Application
|
||||
|
||||
Actions=new-window;PrivateBrowsing;ProfileManager
|
||||
|
||||
[Desktop Action new-window]
|
||||
_Name=New Window
|
||||
Exec=%EXEC --new-window %u
|
||||
|
||||
[Desktop Action PrivateBrowsing]
|
||||
_Name=New Private Browsing Window
|
||||
Exec=%EXEC --private-window %u
|
||||
|
||||
[Desktop Action ProfileManager]
|
||||
_Name=Profile Manager
|
||||
Exec=%EXEC --ProfileManager
|
@@ -1,8 +1,7 @@
|
||||
#
|
||||
# spec file for package MozillaFirefox
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2006-2024 Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
# Copyright (c) 2006-2025 Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -28,10 +27,10 @@
|
||||
# orig_suffix b3
|
||||
# major 69
|
||||
# mainver %%major.99
|
||||
%define major 129
|
||||
%define mainver %major.0.1
|
||||
%define orig_version 129.0.1
|
||||
%define orig_suffix %{nil}
|
||||
%define major 140
|
||||
%define mainver %major.1.0
|
||||
%define orig_version 140.1.0
|
||||
%define orig_suffix esr
|
||||
%define update_channel release
|
||||
%define branding 1
|
||||
%define devpkg 1
|
||||
@@ -42,6 +41,9 @@
|
||||
# upstream default is clang (to use gcc for large parts set to 0)
|
||||
%define clang_build 0
|
||||
|
||||
# PIE, full relro
|
||||
%define build_hardened 1
|
||||
|
||||
%bcond_with only_print_mozconfig
|
||||
|
||||
# define if ccache should be used or not
|
||||
@@ -50,17 +52,10 @@
|
||||
# SLE-12 doesn't have this macro
|
||||
%{!?_rpmmacrodir: %global _rpmmacrodir %{_rpmconfigdir}/macros.d}
|
||||
|
||||
# No i586 on SLE-12, as the rpmlints are broken and can't handle the big rpms resulting from this build.
|
||||
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
|
||||
# We don't ship i586 anywhere anymore
|
||||
ExclusiveArch: aarch64 ppc64le x86_64 s390x
|
||||
%else
|
||||
# Firefox only supports i686
|
||||
%ifarch %ix86
|
||||
ExclusiveArch: i586 i686
|
||||
BuildArch: i686
|
||||
%{expand:%%global optflags %(echo "%optflags"|sed -e s/i586/i686/) -march=i686 -mtune=generic -msse2}
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# Let mach set the appropriate LTO-flags for us, but correctly.
|
||||
%{expand:%%global optflags %(echo "%optflags"|sed -e s/-flto=auto//) }
|
||||
|
||||
# general build definitions
|
||||
@@ -74,6 +69,7 @@ BuildArch: i686
|
||||
%define firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
|
||||
%define __provides_exclude ^lib.*\\.so.*$
|
||||
%define __requires_exclude ^(libmoz.*|liblgpllibs.*|libxul.*|libgk.*)$
|
||||
|
||||
%define localize 1
|
||||
%ifarch %ix86 x86_64
|
||||
%define crashreporter 1
|
||||
@@ -103,8 +99,8 @@ BuildRequires: gcc13-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
BuildRequires: cargo1.78
|
||||
BuildRequires: rust1.78
|
||||
BuildRequires: cargo1.86
|
||||
BuildRequires: rust1.86
|
||||
%if 0%{useccache} != 0
|
||||
BuildRequires: ccache
|
||||
%endif
|
||||
@@ -113,13 +109,13 @@ BuildRequires: libcurl-devel
|
||||
BuildRequires: libiw-devel
|
||||
BuildRequires: libproxy-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mozilla-nspr-devel >= 4.35
|
||||
BuildRequires: mozilla-nss-devel >= 3.102.1
|
||||
BuildRequires: mozilla-nspr-devel >= 4.36
|
||||
BuildRequires: mozilla-nss-devel >= 3.112
|
||||
BuildRequires: nasm >= 2.14
|
||||
BuildRequires: nodejs >= 12.22.12
|
||||
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
|
||||
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 150000
|
||||
BuildRequires: nodejs12 >= 12.22.12
|
||||
BuildRequires: libXtst-devel
|
||||
BuildRequires: python-libxml2
|
||||
#BuildRequires: python-libxml2
|
||||
BuildRequires: python39
|
||||
BuildRequires: python39-curses
|
||||
BuildRequires: python39-devel
|
||||
@@ -137,9 +133,12 @@ BuildRequires: python3-curses
|
||||
BuildRequires: python3-devel
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: rust-cbindgen >= 0.26
|
||||
BuildRequires: rust-cbindgen >= 0.27
|
||||
%if 0%{?suse_version} > 1600
|
||||
BuildRequires: translate-suse-desktop
|
||||
%endif
|
||||
BuildRequires: unzip
|
||||
BuildRequires: update-desktop-files
|
||||
# BuildRequires: update-desktop-files
|
||||
BuildRequires: xorg-x11-libXt-devel
|
||||
%if 0%{?do_profiling}
|
||||
BuildRequires: xvfb-run
|
||||
@@ -173,20 +172,19 @@ Provides: firefox = %{version}-%{release}
|
||||
Provides: web_browser
|
||||
Provides: appdata()
|
||||
Provides: appdata(firefox.appdata.xml)
|
||||
# this is needed to match this package with the kde4 helper package without the main package
|
||||
# having a hard requirement on the kde4 package
|
||||
%define kde_helper_version 6
|
||||
Provides: mozilla-kde4-version = %{kde_helper_version}
|
||||
Summary: Mozilla %{appname} Web Browser
|
||||
License: MPL-2.0
|
||||
Group: Productivity/Networking/Web/Browsers
|
||||
URL: http://www.mozilla.org/
|
||||
%if !%{with only_print_mozconfig}
|
||||
Source: http://ftp.mozilla.org/pub/%{srcname}/releases/%{version}%{orig_suffix}/source/%{srcname}-%{orig_version}%{orig_suffix}.source.tar.xz
|
||||
Source1: MozillaFirefox.desktop
|
||||
Source1: MozillaFirefox.desktop.in.in
|
||||
Source2: MozillaFirefox-rpmlintrc
|
||||
Source3: mozilla.sh.in
|
||||
Source4: tar_stamps
|
||||
# Ready made desktop file for products that don't support %%translate_suse_desktop.
|
||||
# You can be prompted for the update during the Factory build.
|
||||
Source5: MozillaFirefox.desktop
|
||||
%if %{localize}
|
||||
Source7: l10n-%{orig_version}%{orig_suffix}.tar.xz
|
||||
%endif
|
||||
@@ -208,7 +206,10 @@ Source20: https://ftp.mozilla.org/pub/%{srcname}/releases/%{version}%{orig
|
||||
Source21: https://ftp.mozilla.org/pub/%{srcname}/releases/%{version}%{orig_suffix}/KEY#/mozilla.keyring
|
||||
# Gecko/Toolkit
|
||||
Patch1: mozilla-nongnome-proxies.patch
|
||||
Patch2: mozilla-kde.patch
|
||||
# Use xdg-desktop-portal file picker on KDE on SLE-15
|
||||
%if 0%{?sle_version} > 150000 && 0%{?sle_version} <= 150700
|
||||
Patch2: mozilla-kde-force-xdg-portal.patch
|
||||
%endif
|
||||
Patch3: mozilla-ntlm-full-path.patch
|
||||
Patch4: mozilla-aarch64-startup-crash.patch
|
||||
Patch6: mozilla-s390-context.patch
|
||||
@@ -219,20 +220,21 @@ Patch14: mozilla-bmo849632.patch
|
||||
Patch15: mozilla-bmo998749.patch
|
||||
Patch17: mozilla-libavcodec58_91.patch
|
||||
Patch18: mozilla-silence-no-return-type.patch
|
||||
Patch19: mozilla-bmo531915.patch
|
||||
Patch20: one_swizzle_to_rule_them_all.patch
|
||||
Patch21: svg-rendering.patch
|
||||
Patch23: mozilla-rust-disable-future-incompat.patch
|
||||
Patch25: mozilla-bmo1898476.patch
|
||||
Patch26: mozilla-bmo1907511.patch
|
||||
Patch24: mozilla-bmo1746799.patch
|
||||
# Firefox/browser
|
||||
Patch101: firefox-kde.patch
|
||||
Patch102: firefox-branded-icons.patch
|
||||
%endif
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Requires(post): coreutils shared-mime-info desktop-file-utils
|
||||
Requires(postun): shared-mime-info desktop-file-utils
|
||||
Requires: %{name}-branding >= 68
|
||||
%if 0%{?suse_version} >= 1600 || 0%{?sle_version} >= 120500
|
||||
Requires: xdg-desktop-portal
|
||||
%else
|
||||
Recommends: xdg-desktop-portal
|
||||
%endif
|
||||
%requires_ge mozilla-nspr
|
||||
%requires_ge mozilla-nss
|
||||
%requires_ge libfreetype6
|
||||
@@ -331,11 +333,33 @@ fi
|
||||
%else
|
||||
%setup -q -n %{srcname}-%{orig_version}
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1600
|
||||
cp %{SOURCE1} %{desktop_file_name}.desktop.in.in
|
||||
%else
|
||||
cp %{SOURCE5} %{desktop_file_name}.desktop
|
||||
%endif
|
||||
cd $RPM_BUILD_DIR/%{srcname}-%{orig_version}
|
||||
%autopatch -p1
|
||||
%endif
|
||||
|
||||
%build
|
||||
# desktop file
|
||||
%if 0%{?suse_version} > 1600
|
||||
sed "s:%%NAME:%{appname}:g
|
||||
s:%%EXEC:%{progname}:g
|
||||
s:%%ICON:%{progname}:g
|
||||
s:%%WMCLASS:%{progname}%{major}:g" \
|
||||
%{desktop_file_name}.desktop.in.in > %{desktop_file_name}.desktop.in
|
||||
%translate_suse_desktop %{desktop_file_name}.desktop
|
||||
if ! diff %{desktop_file_name}.desktop %{SOURCE5} ; then
|
||||
cat <<EOF
|
||||
A new version of desktop file exists. Please update MozillaFirefox.desktop
|
||||
rpm source from $PWD/%{desktop_file_name}.desktop
|
||||
to get translations to older products.
|
||||
EOF
|
||||
exit 1
|
||||
fi
|
||||
%endif
|
||||
%if !%{with only_print_mozconfig}
|
||||
# no need to add build time to binaries
|
||||
modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{pkgname}.changes")"
|
||||
@@ -351,12 +375,6 @@ sed -i "s|potential_python_binary = f\"python3.{i}\"|potential_python_binary = f
|
||||
export PYTHON3=/usr/bin/python3.9
|
||||
%endif
|
||||
|
||||
kdehelperversion=$(cat toolkit/xre/nsKDEUtils.cpp | grep '#define KMOZILLAHELPER_VERSION' | cut -d ' ' -f 3)
|
||||
if test "$kdehelperversion" != %{kde_helper_version}; then
|
||||
echo fix kde helper version in the .spec file
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# When doing only_print_mozconfig, this file isn't necessarily available, so skip it
|
||||
cp %{SOURCE4} .obsenv.sh
|
||||
%else
|
||||
@@ -376,11 +394,11 @@ export BUILD_OFFICIAL=1
|
||||
export MOZ_TELEMETRY_REPORTING=1
|
||||
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
|
||||
export CFLAGS="%{optflags}"
|
||||
%if 0%{?clang_build} == 0
|
||||
%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150600
|
||||
export CC=gcc-13
|
||||
export CXX=g++-13
|
||||
%else
|
||||
%if 0%{?clang_build} == 0
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
%endif
|
||||
@@ -394,7 +412,9 @@ export CXX=g++
|
||||
# A lie to prevent -Wl,--gc-sections being set which requires more memory than 32bit can offer
|
||||
#export GC_SECTIONS_BREAKS_DEBUG_RANGES=yes
|
||||
%endif
|
||||
%if 0%{?build_hardened}
|
||||
export LDFLAGS="\$LDFLAGS -fPIC -Wl,-z,relro,-z,now"
|
||||
%endif
|
||||
%ifarch ppc64 ppc64le
|
||||
%endif
|
||||
%ifarch %ix86
|
||||
@@ -411,11 +431,18 @@ source ./.obsenv.sh
|
||||
%limit_build -m 2500
|
||||
%endif
|
||||
|
||||
# Mitigating OOM-errors on SLE-16
|
||||
%if 0%{?suse_version} == 1600
|
||||
%ifarch s390x
|
||||
%limit_build -m 2500
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# Generating mozconfig
|
||||
cat << EOF > $MOZCONFIG
|
||||
mk_add_options MOZILLA_OFFICIAL=1
|
||||
mk_add_options BUILD_OFFICIAL=1
|
||||
mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs}
|
||||
mk_add_options MOZ_MAKE_FLAGS=%{?_smp_mflags}
|
||||
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
|
||||
. \$topsrcdir/browser/config/mozconfig
|
||||
ac_add_options --disable-bootstrap
|
||||
@@ -432,12 +459,15 @@ ac_add_options --enable-default-toolkit=cairo-gtk3
|
||||
%ifarch %ix86 %arm
|
||||
ac_add_options --disable-debug-symbols
|
||||
%else
|
||||
ac_add_options --enable-debug-symbols=-g0
|
||||
ac_add_options --enable-debug-symbols=-g1
|
||||
%endif
|
||||
ac_add_options --disable-install-strip
|
||||
%ifarch %ix86 %arm
|
||||
# OOM on 32-bit when ld passed -Wl,-z,pack-relative-relocs
|
||||
# ac_add_options --enable-elf-hack
|
||||
# We have to disable elf-hack on SLE-12 aarch64, because the autogenerated
|
||||
# code produces a "no return in non-void function"-error.
|
||||
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
|
||||
%ifarch aarch64
|
||||
ac_add_options --disable-elf-hack
|
||||
%endif
|
||||
%endif
|
||||
ac_add_options --with-system-nspr
|
||||
ac_add_options --with-system-nss
|
||||
@@ -488,7 +518,7 @@ ac_add_options --enable-optimize="-O1"
|
||||
%endif
|
||||
%ifarch x86_64
|
||||
# LTO needs newer toolchain stack only (at least GCC 8.2.1 (r268506)
|
||||
%if 0%{?suse_version} > 1500
|
||||
%if 0%{?suse_version} > 1600
|
||||
ac_add_options --enable-lto
|
||||
%if 0%{?do_profiling}
|
||||
ac_add_options MOZ_PGO=1
|
||||
@@ -533,7 +563,12 @@ ac_add_options --enable-official-branding
|
||||
%endif
|
||||
EOF
|
||||
|
||||
%if 0%{?suse_version} >= 1600
|
||||
# Needed for reproducible builds, only available for rpm version >= 4.19
|
||||
%define njobs ${RPM_BUILD_NCPUS:-0}
|
||||
%else
|
||||
%define njobs 0%{?jobs:%jobs}
|
||||
%endif
|
||||
mkdir -p $RPM_BUILD_DIR/langpacks_artifacts/
|
||||
sed -r '/^(ja-JP-mac|ga-IE|en-US|)$/d;s/ .*$//' $RPM_BUILD_DIR/%{srcname}-%{orig_version}/browser/locales/shipped-locales \
|
||||
| xargs -n 1 %{?njobs:-P %njobs} -I {} /bin/sh -c '
|
||||
@@ -562,6 +597,7 @@ ccache -s
|
||||
%endif
|
||||
|
||||
%install
|
||||
install -D -m 0644 %{desktop_file_name}.desktop %{buildroot}%{_datadir}/applications/%{desktop_file_name}.desktop
|
||||
cd $RPM_BUILD_DIR/obj
|
||||
source %{SOURCE4}
|
||||
export MOZ_SOURCE_STAMP=$RELEASE_TAG
|
||||
@@ -615,14 +651,6 @@ s:%%PROFILE:.mozilla/firefox:g" \
|
||||
%{SOURCE3} > %{buildroot}%{progdir}/%{progname}.sh
|
||||
chmod 755 %{buildroot}%{progdir}/%{progname}.sh
|
||||
ln -sf ../..%{progdir}/%{progname}.sh %{buildroot}%{_bindir}/%{progname}
|
||||
# desktop file
|
||||
mkdir -p %{buildroot}%{_datadir}/applications
|
||||
sed "s:%%NAME:%{appname}:g
|
||||
s:%%EXEC:%{progname}:g
|
||||
s:%%ICON:%{progname}:g
|
||||
s:%%WMCLASS:%{progname}%{major}:g" \
|
||||
%{SOURCE1} > %{buildroot}%{_datadir}/applications/%{desktop_file_name}.desktop
|
||||
%suse_update_desktop_file %{desktop_file_name} Network WebBrowser GTK
|
||||
# additional mime-types
|
||||
mkdir -p %{buildroot}%{_datadir}/mime/packages
|
||||
cp %{SOURCE8} %{buildroot}%{_datadir}/mime/packages/%{progname}.xml
|
||||
@@ -706,7 +734,6 @@ exit 0
|
||||
%dir %{progdir}/browser/
|
||||
%dir %{progdir}/browser/chrome/
|
||||
%{progdir}/browser/defaults
|
||||
%{progdir}/browser/features/
|
||||
%{progdir}/browser/chrome/icons
|
||||
%{progdir}/browser/omni.ja
|
||||
%dir %{progdir}/distribution/
|
||||
@@ -720,9 +747,7 @@ exit 0
|
||||
%{progdir}/dependentlibs.list
|
||||
%{progdir}/*.so
|
||||
%{progdir}/glxtest
|
||||
%if 0%{wayland_supported}
|
||||
%{progdir}/vaapitest
|
||||
%endif
|
||||
%ifarch aarch64 riscv64 %arm
|
||||
%{progdir}/v4l2test
|
||||
%endif
|
||||
@@ -732,10 +757,11 @@ exit 0
|
||||
%{progdir}/platform.ini
|
||||
%if %crashreporter
|
||||
%{progdir}/crashreporter
|
||||
#%{progdir}/crashreporter.ini
|
||||
#%{progdir}/Throbber-small.gif
|
||||
%{progdir}/minidump-analyzer
|
||||
#%{progdir}/browser/crashreporter-override.ini
|
||||
%{progdir}/crashhelper
|
||||
#%%{progdir}/crashreporter.ini
|
||||
#%%{progdir}/Throbber-small.gif
|
||||
#%%{progdir}/minidump-analyzer
|
||||
#%%{progdir}/browser/crashreporter-override.ini
|
||||
%endif
|
||||
%{_datadir}/applications/%{desktop_file_name}.desktop
|
||||
%{_datadir}/mime/packages/%{progname}.xml
|
||||
|
45
_constraints
45
_constraints
@@ -1,9 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<constraints>
|
||||
<hardware>
|
||||
<jobs>4</jobs>
|
||||
<disk>
|
||||
<size unit="G">26</size>
|
||||
<size unit="G">50</size>
|
||||
</disk>
|
||||
<physicalmemory>
|
||||
<size unit="G">15</size>
|
||||
@@ -24,7 +23,6 @@
|
||||
</physicalmemory>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
<!-- LTO disabled - less RAM -->
|
||||
<overwrite>
|
||||
<conditions>
|
||||
<arch>aarch64</arch>
|
||||
@@ -33,20 +31,49 @@
|
||||
<cpu>
|
||||
<flag>asimdrdm</flag>
|
||||
</cpu>
|
||||
<physicalmemory>
|
||||
<size unit="G">14</size>
|
||||
</physicalmemory>
|
||||
<memory>
|
||||
<size unit="G">12</size>
|
||||
</memory>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
<overwrite>
|
||||
<conditions>
|
||||
<arch>i586</arch>
|
||||
</conditions>
|
||||
<hardware>
|
||||
<memory>
|
||||
<size unit="G">26</size>
|
||||
</memory>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
<overwrite>
|
||||
<conditions>
|
||||
<arch>x86_64</arch>
|
||||
</conditions>
|
||||
<hardware>
|
||||
<memory>
|
||||
<size unit="G">26</size>
|
||||
</memory>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
<overwrite>
|
||||
<conditions>
|
||||
<arch>ppc64le</arch>
|
||||
</conditions>
|
||||
<hardware>
|
||||
<memory>
|
||||
<size unit="G">12</size>
|
||||
</memory>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
<overwrite>
|
||||
<conditions>
|
||||
<arch>s390x</arch>
|
||||
</conditions>
|
||||
<hardware>
|
||||
<physicalmemory>
|
||||
<size unit="G">12</size>
|
||||
</physicalmemory>
|
||||
<memory>
|
||||
<size unit="G">14</size>
|
||||
</memory>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
</constraints>
|
||||
|
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9ddfe823e4c22167a77e47f56a8afde0d9621784a9e4e5dba4906e758175c073
|
||||
size 561709736
|
@@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCgAdFiEErdcHlHlwDcrf3VM34207E/PZMnQFAma6BisACgkQ4207E/PZ
|
||||
MnQlDxAAzavl3Tkgdnpvx7YADuS7u/JIGhI1e6OyeNVzvXtSY4cyIYrFNVpH3qXx
|
||||
0vKdk2fyL2c3YYLkMP7BfNKgAhYQhALnvxoAVqocSRmVHRjGyewUM6iC3k/SpgIf
|
||||
r700/XNrq/Y++5zpvWO6P2fgipzaYVARyy2i5YUtsdYrNkAgEYYP1Qm4SM8gHg6e
|
||||
tyt99uEEyhiAHrW4m9cFm+BzsIg23JhreY0AA/4czTORIcd37Oj0r4CcH5Wkpa15
|
||||
N1yU33A+xhIreeNaZHCf9NJjQuP+TLjqZV13940tqe7BJl1Loaj9P68+g51/SEfq
|
||||
6ZuRQXQCMKPk/FJ7ZDZPMJpsI7ydvVHkBoWNBf6SeJqJblcguQucgL3q6KWkOauh
|
||||
Msy7opz2p1kp8SYGpDoKA+KOHq+kl3/GQe6ACfkjqlqOzrJeAx3E2Cm4puYuqMQe
|
||||
duCluu992WvzwDhEEkTaikWXw3MAeWe7wYCL+ya4rxRmjHptbde01XRM6LEXgb7f
|
||||
d3HBkxJczEuwYsnYmgWf7leBSf30VLRyegi4k5oJK0qiUeJ5uFj+vV3/6kzcu6KE
|
||||
gW6Z6Kr+IkrTGViQrj4z1qg5td6tO+rsfE983Sw2jjRMha9bRM+dGUHvFWXxt9Bo
|
||||
vCwDJr5Y4k+MkgQ4L6Fi8hurst3eONIVJrGMgRQJAAeeMUVXjG8=
|
||||
=mBRM
|
||||
-----END PGP SIGNATURE-----
|
BIN
firefox-140.1.0esr.source.tar.xz
(Stored with Git LFS)
Normal file
BIN
firefox-140.1.0esr.source.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
firefox-140.1.0esr.source.tar.xz.asc
Normal file
16
firefox-140.1.0esr.source.tar.xz.asc
Normal file
@@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCgAdFiEECb7tY/NGKi3/qzuHXstkl8GiAlYFAmh1PNEACgkQXstkl8Gi
|
||||
AlZpnQ//UsQXZjG4TnhAQlRtHgByr7yYLpc/iQ+3QvwZsPBChKhgEqKPhX9J+Uan
|
||||
my6Th+tMUTfwFchfV+rKsiFXpEMQJvhmDLLPFJEQsLTunsO/73ci63GKM1pFAmUe
|
||||
Y1cp9ekuMi2a2+zQr6iZ1/hxEqphAx4YLv35rCik1yrA323GWVkzrHbhuyopf4XH
|
||||
UQ6Aj356vPXPW5HEl3w6GNP1nRfsKuEOfIfCLcsHD26DyYVcAowHnt9+PHkqFHxW
|
||||
w1rUkh/GmgFzPFSBBXNWIWzCUFe8MSEr2GMcwIga5HV+MvkPQk4deO4fbWOx0rpn
|
||||
WWb5rNW3wkqJ4HTxoMrFoW972d0E23qjYVnSwS1lQq8/TJnOtG2QqZKWgmYIapjy
|
||||
fLqjhKoOgq2gUUUKCFa+2WhLQckk8nhaFyYmos5ndqXOPIoeWH/6GGWtbbV1WBHo
|
||||
6XU8eS59y6XFcbYi00I7tTAeVB5d5xEfPMYvm/UifE0DX89sSD1XPTc0R46nHwHo
|
||||
zZlA4VIcrm9h6FRhRhw+qCf9O8D+1jKcDozutSDqSMXyOjGJFgT/qCQcQQ1/X4ai
|
||||
ZK/8yG5pKfkneiebhWLT12qy5FK40cXDVByW94CTQqd558GX3BG+kIKTWr9sgAkr
|
||||
a/Xa8gpGGCS6zMeI4gJMTrA7UN7SEtF4dqppeB4YeRCRG4rw41w=
|
||||
=H9wW
|
||||
-----END PGP SIGNATURE-----
|
@@ -1,16 +1,19 @@
|
||||
# HG changeset patch
|
||||
|
||||
From: Martin Sirringhaus <martin.sirringhaus@suse.com>
|
||||
|
||||
# Parent e0751ad74e835e80041a61ea00c2a63bf6fbe2de
|
||||
# Parent ad547c5985d362e88a47ccbba0cc5fa07bd24e8b
|
||||
# Parent 9309f1ac14b7173985576932c01874184be1dcf9
|
||||
---
|
||||
browser/branding/branding-common.mozbuild | 3 +++
|
||||
browser/installer/package-manifest.in | 3 +++
|
||||
2 files changed, 6 insertions(+)
|
||||
|
||||
diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/branding-common.mozbuild
|
||||
index a38663a3dc1e..c8c32bc298b9 100644
|
||||
--- a/browser/branding/branding-common.mozbuild
|
||||
+++ b/browser/branding/branding-common.mozbuild
|
||||
@@ -26,12 +26,15 @@ def FirefoxBranding():
|
||||
"PrivateBrowsing_70.png",
|
||||
"VisualElements_150.png",
|
||||
"VisualElements_70.png",
|
||||
]
|
||||
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
||||
@@ -31,6 +31,9 @@ def FirefoxBranding():
|
||||
FINAL_TARGET_FILES.chrome.icons.default += [
|
||||
"default128.png",
|
||||
"default16.png",
|
||||
@@ -20,16 +23,11 @@ diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/brandi
|
||||
"default32.png",
|
||||
"default48.png",
|
||||
"default64.png",
|
||||
]
|
||||
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
|
||||
index d06952934172..89000c77fe05 100644
|
||||
--- a/browser/installer/package-manifest.in
|
||||
+++ b/browser/installer/package-manifest.in
|
||||
@@ -208,20 +208,23 @@
|
||||
; [Browser Chrome Files]
|
||||
@RESPATH@/browser/chrome.manifest
|
||||
@RESPATH@/browser/chrome/browser@JAREXT@
|
||||
@RESPATH@/browser/chrome/browser.manifest
|
||||
@RESPATH@/chrome/toolkit@JAREXT@
|
||||
@@ -223,10 +223,13 @@
|
||||
@RESPATH@/chrome/toolkit.manifest
|
||||
#ifdef MOZ_GTK
|
||||
@RESPATH@/browser/chrome/icons/default/default16.png
|
||||
@@ -41,10 +39,5 @@ diff --git a/browser/installer/package-manifest.in b/browser/installer/package-m
|
||||
@RESPATH@/browser/chrome/icons/default/default128.png
|
||||
+@RESPATH@/browser/chrome/icons/default/default256.png
|
||||
#endif
|
||||
@RESPATH@/browser/features/*
|
||||
|
||||
; [DevTools Startup Files]
|
||||
@RESPATH@/browser/chrome/devtools-startup@JAREXT@
|
||||
@RESPATH@/browser/chrome/devtools-startup.manifest
|
||||
|
||||
; DevTools
|
||||
|
@@ -1,302 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Sirringhaus <msirringhaus@suse.de>
|
||||
Date: Tue, 8 Aug 2023 16:18:24 +0300
|
||||
Subject: [PATCH] Add KDE integration to Firefox
|
||||
|
||||
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751
|
||||
Bug: https://bugzilla.suse.com/show_bug.cgi?id=170055
|
||||
|
||||
How to apply this patch:
|
||||
|
||||
1. Import and apply it
|
||||
2. cp browser/base/content/browser.xul browser/base/content/browser-kde.xul
|
||||
3. Find editBookmarkPanelDoneButton
|
||||
4. Replace #ifndef with #ifdef in the line above (this hanges the button order from Gnome-style to KDE-style)
|
||||
5. hg qrefresh
|
||||
---
|
||||
browser/components/preferences/main.js | 18 +++
|
||||
browser/components/shell/moz.build | 2 +
|
||||
.../components/shell/nsKDEShellService.cpp | 109 ++++++++++++++++++
|
||||
browser/components/shell/nsKDEShellService.h | 32 +++++
|
||||
.../components/shell/nsUnixShellService.cpp | 22 ++++
|
||||
browser/components/shell/nsUnixShellService.h | 15 +++
|
||||
6 files changed, 198 insertions(+)
|
||||
create mode 100644 browser/components/shell/nsKDEShellService.cpp
|
||||
create mode 100644 browser/components/shell/nsKDEShellService.h
|
||||
create mode 100644 browser/components/shell/nsUnixShellService.cpp
|
||||
create mode 100644 browser/components/shell/nsUnixShellService.h
|
||||
|
||||
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
|
||||
--- a/browser/components/preferences/main.js
|
||||
+++ b/browser/components/preferences/main.js
|
||||
@@ -292,16 +292,23 @@ var gMainPane = {
|
||||
}, backoffTimes[this._backoffIndex + 1 < backoffTimes.length ? this._backoffIndex++ : backoffTimes.length - 1]);
|
||||
};
|
||||
|
||||
window.setTimeout(() => {
|
||||
window.requestIdleCallback(pollForDefaultBrowser);
|
||||
}, backoffTimes[this._backoffIndex]);
|
||||
}
|
||||
|
||||
+ var env = Components.classes["@mozilla.org/process/environment;1"]
|
||||
+ .getService(Components.interfaces.nsIEnvironment);
|
||||
+ var kde_session = 0;
|
||||
+ if (env.get('KDE_FULL_SESSION') == "true") {
|
||||
+ kde_session = 1;
|
||||
+ }
|
||||
+
|
||||
this.initBrowserContainers();
|
||||
this.buildContentProcessCountMenuList();
|
||||
|
||||
this.updateDefaultPerformanceSettingsPref();
|
||||
|
||||
let defaultPerformancePref = Preferences.get(
|
||||
"browser.preferences.defaultPerformanceSettings.enabled"
|
||||
);
|
||||
@@ -1753,16 +1760,27 @@ var gMainPane = {
|
||||
|
||||
// Disable the set default button, so that the user doesn't try to hit it again
|
||||
// while awaiting on setDefaultBrowser
|
||||
let setDefaultButton = document.getElementById("setDefaultButton");
|
||||
setDefaultButton.disabled = true;
|
||||
|
||||
try {
|
||||
await shellSvc.setDefaultBrowser(false);
|
||||
+ if (kde_session == 1) {
|
||||
+ var shellObj = Components.classes["@mozilla.org/file/local;1"]
|
||||
+ .createInstance(Components.interfaces.nsILocalFile);
|
||||
+ shellObj.initWithPath("/usr/bin/kwriteconfig");
|
||||
+ var process = Components.classes["@mozilla.org/process/util;1"]
|
||||
+ .createInstance(Components.interfaces.nsIProcess);
|
||||
+ process.init(shellObj);
|
||||
+ var args = ["--file", "kdeglobals", "--group", "General", "--key",
|
||||
+ "BrowserApplication", "firefox"];
|
||||
+ process.run(false, args, args.length);
|
||||
+ }
|
||||
} catch (ex) {
|
||||
console.error(ex);
|
||||
return;
|
||||
} finally {
|
||||
// Make sure to re-enable the default button when we're finished, regardless of the outcome
|
||||
setDefaultButton.disabled = false;
|
||||
}
|
||||
|
||||
diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build
|
||||
--- a/browser/components/shell/moz.build
|
||||
+++ b/browser/components/shell/moz.build
|
||||
@@ -31,16 +31,18 @@ if CONFIG["MOZ_WIDGET_TOOLKIT"] == "coco
|
||||
]
|
||||
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
||||
XPIDL_SOURCES += [
|
||||
"nsIGNOMEShellService.idl",
|
||||
]
|
||||
|
||||
SOURCES += [
|
||||
"nsGNOMEShellService.cpp",
|
||||
+ "nsKDEShellService.cpp",
|
||||
+ "nsUnixShellService.cpp",
|
||||
]
|
||||
if CONFIG["MOZ_ENABLE_DBUS"]:
|
||||
SOURCES += [
|
||||
"nsGNOMEShellDBusHelper.cpp",
|
||||
"nsGNOMEShellSearchProvider.cpp",
|
||||
]
|
||||
include("/ipc/chromium/chromium-config.mozbuild")
|
||||
|
||||
diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components/shell/nsKDEShellService.cpp
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/browser/components/shell/nsKDEShellService.cpp
|
||||
@@ -0,0 +1,108 @@
|
||||
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
+/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
+
|
||||
+#include "mozilla/ArrayUtils.h"
|
||||
+
|
||||
+#include "nsCOMPtr.h"
|
||||
+#include "nsKDEShellService.h"
|
||||
+#include "nsShellService.h"
|
||||
+#include "nsKDEUtils.h"
|
||||
+#include "nsIPrefService.h"
|
||||
+#include "nsIProcess.h"
|
||||
+#include "nsIFile.h"
|
||||
+#include "nsServiceManagerUtils.h"
|
||||
+#include "nsComponentManagerUtils.h"
|
||||
+#include "nsIMutableArray.h"
|
||||
+#include "nsISupportsPrimitives.h"
|
||||
+#include "nsArrayUtils.h"
|
||||
+
|
||||
+using namespace mozilla;
|
||||
+
|
||||
+nsresult
|
||||
+nsKDEShellService::Init()
|
||||
+{
|
||||
+ if( !nsKDEUtils::kdeSupport())
|
||||
+ return NS_ERROR_NOT_AVAILABLE;
|
||||
+ return NS_OK;
|
||||
+}
|
||||
+
|
||||
+NS_IMPL_ISUPPORTS(nsKDEShellService, nsIGNOMEShellService, nsIShellService)
|
||||
+
|
||||
+NS_IMETHODIMP
|
||||
+nsKDEShellService::IsDefaultBrowser(bool aForAllTypes,
|
||||
+ bool* aIsDefaultBrowser)
|
||||
+{
|
||||
+ *aIsDefaultBrowser = false;
|
||||
+
|
||||
+ nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID );
|
||||
+ if (!command)
|
||||
+ return NS_ERROR_FAILURE;
|
||||
+
|
||||
+ nsCOMPtr<nsISupportsCString> str = do_CreateInstance( NS_SUPPORTS_CSTRING_CONTRACTID );
|
||||
+ if (!str)
|
||||
+ return NS_ERROR_FAILURE;
|
||||
+
|
||||
+ str->SetData("ISDEFAULTBROWSER"_ns);
|
||||
+ command->AppendElement( str );
|
||||
+
|
||||
+ if( nsKDEUtils::command( command ))
|
||||
+ *aIsDefaultBrowser = true;
|
||||
+ return NS_OK;
|
||||
+}
|
||||
+
|
||||
+NS_IMETHODIMP
|
||||
+nsKDEShellService::SetDefaultBrowser(bool aForAllUsers)
|
||||
+{
|
||||
+ nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID );
|
||||
+ if (!command)
|
||||
+ return NS_ERROR_FAILURE;
|
||||
+
|
||||
+ nsCOMPtr<nsISupportsCString> cmdstr = do_CreateInstance( NS_SUPPORTS_CSTRING_CONTRACTID );
|
||||
+ nsCOMPtr<nsISupportsCString> paramstr = do_CreateInstance( NS_SUPPORTS_CSTRING_CONTRACTID );
|
||||
+ if (!cmdstr || !paramstr)
|
||||
+ return NS_ERROR_FAILURE;
|
||||
+
|
||||
+ cmdstr->SetData("SETDEFAULTBROWSER"_ns);
|
||||
+ command->AppendElement( cmdstr );
|
||||
+
|
||||
+ paramstr->SetData("ALLTYPES"_ns);
|
||||
+ command->AppendElement( paramstr );
|
||||
+
|
||||
+ return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
|
||||
+}
|
||||
+
|
||||
+NS_IMETHODIMP
|
||||
+nsKDEShellService::GetCanSetDesktopBackground(bool* aResult)
|
||||
+{
|
||||
+ *aResult = true;
|
||||
+ return NS_OK;
|
||||
+}
|
||||
+
|
||||
+NS_IMETHODIMP
|
||||
+nsKDEShellService::SetDesktopBackground(dom::Element* aElement,
|
||||
+ int32_t aPosition,
|
||||
+ const nsACString& aImageName)
|
||||
+{
|
||||
+ return NS_ERROR_NOT_IMPLEMENTED;
|
||||
+}
|
||||
+
|
||||
+NS_IMETHODIMP
|
||||
+nsKDEShellService::GetDesktopBackgroundColor(PRUint32 *aColor)
|
||||
+{
|
||||
+ return NS_ERROR_NOT_IMPLEMENTED;
|
||||
+}
|
||||
+
|
||||
+NS_IMETHODIMP
|
||||
+nsKDEShellService::SetDesktopBackgroundColor(PRUint32 aColor)
|
||||
+{
|
||||
+ return NS_ERROR_NOT_IMPLEMENTED;
|
||||
+}
|
||||
+
|
||||
+NS_IMETHODIMP
|
||||
+nsKDEShellService::IsDefaultForScheme(nsTSubstring<char> const& aScheme, bool* aIsDefaultBrowser)
|
||||
+{
|
||||
+ return NS_ERROR_NOT_IMPLEMENTED;
|
||||
+}
|
||||
+
|
||||
diff --git a/browser/components/shell/nsKDEShellService.h b/browser/components/shell/nsKDEShellService.h
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/browser/components/shell/nsKDEShellService.h
|
||||
@@ -0,0 +1,32 @@
|
||||
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
+/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
+
|
||||
+#ifndef nskdeshellservice_h____
|
||||
+#define nskdeshellservice_h____
|
||||
+
|
||||
+#include "nsIGNOMEShellService.h"
|
||||
+#include "nsToolkitShellService.h"
|
||||
+#include "nsString.h"
|
||||
+#include "mozilla/Attributes.h"
|
||||
+
|
||||
+class nsKDEShellService final : public nsIGNOMEShellService,
|
||||
+ public nsToolkitShellService
|
||||
+{
|
||||
+public:
|
||||
+ nsKDEShellService() : mCheckedThisSession(false) { }
|
||||
+
|
||||
+ NS_DECL_ISUPPORTS
|
||||
+ NS_DECL_NSISHELLSERVICE
|
||||
+ NS_DECL_NSIGNOMESHELLSERVICE
|
||||
+
|
||||
+ nsresult Init();
|
||||
+
|
||||
+private:
|
||||
+ ~nsKDEShellService() {}
|
||||
+
|
||||
+ bool mCheckedThisSession;
|
||||
+};
|
||||
+
|
||||
+#endif // nskdeshellservice_h____
|
||||
diff --git a/browser/components/shell/nsUnixShellService.cpp b/browser/components/shell/nsUnixShellService.cpp
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/browser/components/shell/nsUnixShellService.cpp
|
||||
@@ -0,0 +1,22 @@
|
||||
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
+/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
+
|
||||
+
|
||||
+#include "nsUnixShellService.h"
|
||||
+#include "nsGNOMEShellService.h"
|
||||
+#include "nsKDEShellService.h"
|
||||
+#include "nsKDEUtils.h"
|
||||
+#include "mozilla/ModuleUtils.h"
|
||||
+
|
||||
+NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGNOMEShellService, Init)
|
||||
+NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsKDEShellService, Init)
|
||||
+
|
||||
+NS_IMETHODIMP
|
||||
+nsUnixShellServiceConstructor(REFNSIID aIID, void **aResult)
|
||||
+{
|
||||
+ if( nsKDEUtils::kdeSupport())
|
||||
+ return nsKDEShellServiceConstructor( aIID, aResult );
|
||||
+ return nsGNOMEShellServiceConstructor( aIID, aResult );
|
||||
+}
|
||||
diff --git a/browser/components/shell/nsUnixShellService.h b/browser/components/shell/nsUnixShellService.h
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/browser/components/shell/nsUnixShellService.h
|
||||
@@ -0,0 +1,15 @@
|
||||
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
+/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
+
|
||||
+
|
||||
+#ifndef nsunixshellservice_h____
|
||||
+#define nsunixshellservice_h____
|
||||
+
|
||||
+#include "nsIGNOMEShellService.h"
|
||||
+
|
||||
+NS_IMETHODIMP
|
||||
+nsUnixShellServiceConstructor(nsISupports *aOuter, REFNSIID aIID, void **aResult);
|
||||
+
|
||||
+#endif // nsunixshellservice_h____
|
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:eeaffb7ee1447376e76ea12095541e6ec4e8d6148207c260da4da947b56d3ef6
|
||||
size 34484384
|
BIN
l10n-140.1.0esr.tar.xz
(Stored with Git LFS)
Normal file
BIN
l10n-140.1.0esr.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -1,4 +1,7 @@
|
||||
# HG changeset patch
|
||||
|
||||
From: Martin Sirringhaus <martin.sirringhaus@suse.com>
|
||||
|
||||
# User msirringhaus@suse.de
|
||||
# Date 1558442998 -7200
|
||||
# Tue May 21 14:49:58 2019 +0200
|
||||
@@ -6,11 +9,15 @@
|
||||
# Parent 76b747f7d113bddbb8593184d81e1bfe5fd51af0
|
||||
bsc#991344 - Rpi3: Firefox crashes after a few seconds of usage
|
||||
bmo#1302554 - ARM/AARCH64: Firefox crashes on NULL nsIChannel** result pointer in nsIOService::NewChannelFromURIWithProxyFlagsInternal()
|
||||
---
|
||||
netwerk/base/nsIOService.cpp | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/netwerk/base/nsIOService.cpp b/netwerk/base/nsIOService.cpp
|
||||
index 277e640509ca..569f2cecc076 100644
|
||||
--- a/netwerk/base/nsIOService.cpp
|
||||
+++ b/netwerk/base/nsIOService.cpp
|
||||
@@ -1159,7 +1159,13 @@ nsresult nsIOService::NewChannelFromURIW
|
||||
@@ -1253,7 +1253,13 @@ nsresult nsIOService::NewChannelFromURIWithProxyFlagsInternal(
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1,16 +1,20 @@
|
||||
# HG changeset patch
|
||||
# Parent 125a78208d2cef58191a0328ffe894dd14c6b146
|
||||
|
||||
From: Martin Sirringhaus <martin.sirringhaus@suse.com>
|
||||
|
||||
# Parent e31f5228a09ed69d7ac3c84e54f0faa6a5910ae0
|
||||
Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834
|
||||
---
|
||||
gfx/2d/DrawTargetSkia.cpp | 3 ++-
|
||||
gfx/2d/Types.h | 13 +++----------
|
||||
gfx/skia/skia/modules/skcms/skcms.cc | 22 ++++++++++++++++------
|
||||
3 files changed, 21 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp
|
||||
index 26ec951c7d11..610f6d11c6b6 100644
|
||||
--- a/gfx/2d/DrawTargetSkia.cpp
|
||||
+++ b/gfx/2d/DrawTargetSkia.cpp
|
||||
@@ -151,17 +151,18 @@ static IntRect CalculateSurfaceBounds(co
|
||||
if (!sampledBounds.ToIntRect(&bounds)) {
|
||||
return surfaceBounds;
|
||||
}
|
||||
|
||||
return surfaceBounds.Intersect(bounds);
|
||||
@@ -160,7 +160,8 @@ static IntRect CalculateSurfaceBounds(const IntSize& aSize, const Rect* aBounds,
|
||||
}
|
||||
|
||||
static const int kARGBAlphaOffset =
|
||||
@@ -20,20 +24,11 @@ diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp
|
||||
|
||||
static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize,
|
||||
const int32_t aStride, SurfaceFormat aFormat) {
|
||||
if (aFormat != SurfaceFormat::B8G8R8X8 || aSize.IsEmpty()) {
|
||||
return true;
|
||||
}
|
||||
// We should've initialized the data to be opaque already
|
||||
// On debug builds, verify that this is actually true.
|
||||
diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h
|
||||
index b1053223d3b7..828cb5cf6a34 100644
|
||||
--- a/gfx/2d/Types.h
|
||||
+++ b/gfx/2d/Types.h
|
||||
@@ -84,28 +84,21 @@ enum class SurfaceFormat : int8_t {
|
||||
YUV422, // Single plane YUV 4:2:2 interleaved as Y`0 Cb Y`1 Cr.
|
||||
HSV,
|
||||
Lab,
|
||||
Depth,
|
||||
|
||||
@@ -101,18 +101,11 @@ enum class SurfaceFormat : int8_t {
|
||||
// This represents the unknown format.
|
||||
UNKNOWN, // TODO: Replace uses with Maybe<SurfaceFormat>.
|
||||
|
||||
@@ -55,20 +50,11 @@ diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h
|
||||
|
||||
// The following values are OS and endian-independent synonyms.
|
||||
//
|
||||
// TODO(aosmond): When everything blocking bug 1581828 has been resolved, we
|
||||
// can make this use R8B8G8A8 and R8B8G8X8 for non-Windows platforms.
|
||||
OS_RGBA = A8R8G8B8_UINT32,
|
||||
OS_RGBX = X8R8G8B8_UINT32
|
||||
};
|
||||
diff --git a/gfx/skia/skia/modules/skcms/skcms.cc b/gfx/skia/skia/modules/skcms/skcms.cc
|
||||
index 703af72b74ea..97ff241325a7 100644
|
||||
--- a/gfx/skia/skia/modules/skcms/skcms.cc
|
||||
+++ b/gfx/skia/skia/modules/skcms/skcms.cc
|
||||
@@ -26,16 +26,18 @@
|
||||
// it'd be a lot slower. But we want all those headers included so we
|
||||
// can use their features after runtime checks later.
|
||||
#include <smmintrin.h>
|
||||
#include <avxintrin.h>
|
||||
#include <avx2intrin.h>
|
||||
@@ -31,6 +31,8 @@
|
||||
#include <avx512fintrin.h>
|
||||
#include <avx512dqintrin.h>
|
||||
#endif
|
||||
@@ -77,17 +63,7 @@ diff --git a/gfx/skia/skia/modules/skcms/skcms.cc b/gfx/skia/skia/modules/skcms/
|
||||
#endif
|
||||
|
||||
using namespace skcms_private;
|
||||
|
||||
static bool sAllowRuntimeCPUDetection = true;
|
||||
|
||||
void skcms_DisableRuntimeCPUDetection() {
|
||||
sAllowRuntimeCPUDetection = false;
|
||||
@@ -319,30 +321,38 @@ enum {
|
||||
skcms_Signature_sf32 = 0x73663332,
|
||||
// XYZ is also a PCS signature, so it's defined in skcms.h
|
||||
// skcms_Signature_XYZ = 0x58595A20,
|
||||
};
|
||||
|
||||
@@ -324,20 +326,28 @@ enum {
|
||||
static uint16_t read_big_u16(const uint8_t* ptr) {
|
||||
uint16_t be;
|
||||
memcpy(&be, ptr, sizeof(be));
|
||||
@@ -122,8 +98,3 @@ diff --git a/gfx/skia/skia/modules/skcms/skcms.cc b/gfx/skia/skia/modules/skcms/
|
||||
#endif
|
||||
}
|
||||
|
||||
static int32_t read_big_i32(const uint8_t* ptr) {
|
||||
return (int32_t)read_big_u32(ptr);
|
||||
}
|
||||
|
||||
static float read_big_fixed(const uint8_t* ptr) {
|
||||
|
61
mozilla-bmo1746799.patch
Normal file
61
mozilla-bmo1746799.patch
Normal file
@@ -0,0 +1,61 @@
|
||||
[PATCH] Map linearly from cubeb volume to pa volume
|
||||
|
||||
From: andrew <andrew@arobeia.co.uk>
|
||||
|
||||
Fixes incorrect volume mapping.
|
||||
|
||||
Rebased to current SUSE sources and updated checksums Wed Sep 04 00:00:00 2024
|
||||
---
|
||||
third_party/rust/cubeb-pulse/.cargo-checksum.json | 2 +-
|
||||
third_party/rust/cubeb-pulse/src/backend/stream.rs | 4 ++--
|
||||
third_party/rust/pulse-ffi/.cargo-checksum.json | 2 +-
|
||||
third_party/rust/pulse-ffi/src/ffi_types.rs | 5 +++++
|
||||
4 files changed, 9 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/third_party/rust/cubeb-pulse/.cargo-checksum.json b/third_party/rust/cubeb-pulse/.cargo-checksum.json
|
||||
index bc4918e2ea2c..a3b984934a73 100644
|
||||
--- a/third_party/rust/cubeb-pulse/.cargo-checksum.json
|
||||
+++ b/third_party/rust/cubeb-pulse/.cargo-checksum.json
|
||||
@@ -1 +1 @@
|
||||
-{"files":{".editorconfig":"bf047bd1da10cabb99eea666d1e57c321eba4716dccb3e4ed0e2c5fe3ca53858",".github/workflows/build.yml":"477366d58c9dc059dbe4a158a6e910f23a3e9ecac7411f73616e06375583b764","AUTHORS":"0e0ac930a68ce2f6b876126b195add177f0d3886facb9260f4d9b69f1988f0cc","Cargo.toml":"37491c1b911bcedf99e624fbfb100aa6ecaa357d0d048dc9ff0da341d35f687c","LICENSE":"44c6b5ae5ec3fe2fbc608b00e6f4896f4d2d5c7e525fcbaa3eaa3cf2f3d5a983","README.md":"0079450bb4b013bac065ed1750851e461a3710ebad1f323817da1cb82db0bc4f","src/backend/context.rs":"c0db5f2447de1d6df5aa2812fa342a085e73156a072c221c7379b9a6a9b86786","src/backend/cork_state.rs":"4a0f1afc7d9f333dac89218cc56d7d32fbffb487cd48c1c9a4e03d79cb3b5e28","src/backend/intern.rs":"11ca424e4eb77f8eb9fd5a6717d1e791facf9743156a8534f0016fcf64d57b0f","src/backend/mod.rs":"dfb30ec497d6215e4535e936fea8fe3a407ef24dc1cec43b52c0ffa923d9229c","src/backend/stream.rs":"dfe5b747e100cae4aeae36cf2ebb9dc4715b411b4116721a40eec2944eb0ec23","src/capi.rs":"fa0fa020f0d0efe55aa0fc3596405e8407bbe2cbe6c7a558345304e6da87994e","src/lib.rs":"b41bbdc562cbfb130ed7c1e53fe69944774f515705341d8ce48a2f82c8c0c2c5"},"package":null}
|
||||
\ No newline at end of file
|
||||
+{"files":{".editorconfig":"bf047bd1da10cabb99eea666d1e57c321eba4716dccb3e4ed0e2c5fe3ca53858",".github/workflows/build.yml":"477366d58c9dc059dbe4a158a6e910f23a3e9ecac7411f73616e06375583b764","AUTHORS":"0e0ac930a68ce2f6b876126b195add177f0d3886facb9260f4d9b69f1988f0cc","Cargo.toml":"37491c1b911bcedf99e624fbfb100aa6ecaa357d0d048dc9ff0da341d35f687c","LICENSE":"44c6b5ae5ec3fe2fbc608b00e6f4896f4d2d5c7e525fcbaa3eaa3cf2f3d5a983","README.md":"0079450bb4b013bac065ed1750851e461a3710ebad1f323817da1cb82db0bc4f","src/backend/context.rs":"c0db5f2447de1d6df5aa2812fa342a085e73156a072c221c7379b9a6a9b86786","src/backend/cork_state.rs":"4a0f1afc7d9f333dac89218cc56d7d32fbffb487cd48c1c9a4e03d79cb3b5e28","src/backend/intern.rs":"11ca424e4eb77f8eb9fd5a6717d1e791facf9743156a8534f0016fcf64d57b0f","src/backend/mod.rs":"dfb30ec497d6215e4535e936fea8fe3a407ef24dc1cec43b52c0ffa923d9229c","src/backend/stream.rs":"2dfc61c4eac69624558756d87283496d01f56f44bf311119eff0f1d124cd88f3","src/capi.rs":"fa0fa020f0d0efe55aa0fc3596405e8407bbe2cbe6c7a558345304e6da87994e","src/lib.rs":"b41bbdc562cbfb130ed7c1e53fe69944774f515705341d8ce48a2f82c8c0c2c5"},"package":null}
|
||||
diff --git a/third_party/rust/cubeb-pulse/src/backend/stream.rs b/third_party/rust/cubeb-pulse/src/backend/stream.rs
|
||||
index a1740eba6363..9042054017a0 100644
|
||||
--- a/third_party/rust/cubeb-pulse/src/backend/stream.rs
|
||||
+++ b/third_party/rust/cubeb-pulse/src/backend/stream.rs
|
||||
@@ -765,8 +765,8 @@ impl<'ctx> StreamOps for PulseStream<'ctx> {
|
||||
self.volume = volume;
|
||||
} else {
|
||||
let channels = stm.get_sample_spec().channels;
|
||||
- let vol = pulse::sw_volume_from_linear(f64::from(volume));
|
||||
- cvol.set(u32::from(channels), vol);
|
||||
+ let vol = volume * (PA_VOLUME_NORM as f32);
|
||||
+ cvol.set(u32::from(channels), vol as pa_volume_t);
|
||||
|
||||
let index = stm.get_index();
|
||||
|
||||
diff --git a/third_party/rust/pulse-ffi/.cargo-checksum.json b/third_party/rust/pulse-ffi/.cargo-checksum.json
|
||||
index a0e236d5b745..66d0f9644f6b 100644
|
||||
--- a/third_party/rust/pulse-ffi/.cargo-checksum.json
|
||||
+++ b/third_party/rust/pulse-ffi/.cargo-checksum.json
|
||||
@@ -1 +1 @@
|
||||
-{"files":{"Cargo.toml":"f8cc9775a76c5fa246bb44a6a603bd0e7b2f0f068b4d9f40b68bac9ba777dd83","src/ffi_funcs.rs":"a16646c5e7c49e94b907a7a404cfcadf3007688005c689cca936f0c2ee2e28e6","src/ffi_types.rs":"2ca56bc3638a40d331e53117a5dd175d0a6e102b1e0eccb9c2adc565c6861a33","src/lib.rs":"6aff308de11954a067d0f6ef95bf3126aabb6d928a5191e91d9a38ebadba91c2"},"package":null}
|
||||
\ No newline at end of file
|
||||
+{"files":{"Cargo.toml":"f8cc9775a76c5fa246bb44a6a603bd0e7b2f0f068b4d9f40b68bac9ba777dd83","src/ffi_funcs.rs":"a16646c5e7c49e94b907a7a404cfcadf3007688005c689cca936f0c2ee2e28e6","src/ffi_types.rs":"f39a27712b17256583331f7ce5722413d0c7b51d73d8def8f50e839e23dfb411","src/lib.rs":"6aff308de11954a067d0f6ef95bf3126aabb6d928a5191e91d9a38ebadba91c2"},"package":null}
|
||||
diff --git a/third_party/rust/pulse-ffi/src/ffi_types.rs b/third_party/rust/pulse-ffi/src/ffi_types.rs
|
||||
index 9a6a23d75722..747a46fe2530 100644
|
||||
--- a/third_party/rust/pulse-ffi/src/ffi_types.rs
|
||||
+++ b/third_party/rust/pulse-ffi/src/ffi_types.rs
|
||||
@@ -22,6 +22,11 @@ pub const PA_SAMPLE_MAX: c_int = 13;
|
||||
pub const PA_SAMPLE_INVALID: c_int = -1;
|
||||
pub type pa_sample_format_t = c_int;
|
||||
|
||||
+pub const PA_VOLUME_MUTED: c_uint = 0;
|
||||
+pub const PA_VOLUME_NORM: c_uint = 0x10000;
|
||||
+pub const PA_VOLUME_MAX: c_uint = 0x7fffffff;
|
||||
+
|
||||
+
|
||||
#[repr(C)]
|
||||
#[derive(Copy, Clone, Debug)]
|
||||
pub struct Struct_pa_sample_spec {
|
@@ -1,401 +0,0 @@
|
||||
|
||||
# HG changeset patch
|
||||
# User stransky <stransky@redhat.com>
|
||||
# Date 1720609192 0
|
||||
# Node ID f9323daf7abeb19f69ac5762a0a442c0dc15636e
|
||||
# Parent 5afadee4e18fc5779d789d9371a3d2d67a29d1da
|
||||
Bug 1898476 [Wayland] Move MozContainerSurfaceLock from MozContainerWayland to MozContainerSurfaceLock module r=emilio
|
||||
|
||||
Differential Revision: https://phabricator.services.mozilla.com/D214883
|
||||
|
||||
diff --git a/widget/gtk/MozContainerSurfaceLock.cpp b/widget/gtk/MozContainerSurfaceLock.cpp
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/widget/gtk/MozContainerSurfaceLock.cpp
|
||||
@@ -0,0 +1,31 @@
|
||||
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
+/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
+
|
||||
+#include "MozContainerSurfaceLock.h"
|
||||
+#include "MozContainer.h"
|
||||
+#include "WidgetUtilsGtk.h"
|
||||
+
|
||||
+using namespace mozilla::widget;
|
||||
+
|
||||
+MozContainerSurfaceLock::MozContainerSurfaceLock(MozContainer* aContainer) {
|
||||
+#ifdef MOZ_WAYLAND
|
||||
+ mContainer = aContainer;
|
||||
+ if (GdkIsWaylandDisplay()) {
|
||||
+ // mSurface can be nullptr if we lock hidden MozContainer and
|
||||
+ // that's correct, MozContainer is still locked.
|
||||
+ mSurface = moz_container_wayland_surface_lock(aContainer);
|
||||
+ }
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+MozContainerSurfaceLock::~MozContainerSurfaceLock() {
|
||||
+#ifdef MOZ_WAYLAND
|
||||
+ if (GdkIsWaylandDisplay()) {
|
||||
+ moz_container_wayland_surface_unlock(mContainer, &mSurface);
|
||||
+ }
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+struct wl_surface* MozContainerSurfaceLock::GetSurface() { return mSurface; }
|
||||
diff --git a/widget/gtk/MozContainerSurfaceLock.h b/widget/gtk/MozContainerSurfaceLock.h
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/widget/gtk/MozContainerSurfaceLock.h
|
||||
@@ -0,0 +1,28 @@
|
||||
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
+/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
+
|
||||
+#ifndef widget_gtk_MozContainerSurfaceLock_h
|
||||
+#define widget_gtk_MozContainerSurfaceLock_h
|
||||
+
|
||||
+struct wl_surface;
|
||||
+struct _MozContainer;
|
||||
+typedef struct _MozContainer MozContainer;
|
||||
+
|
||||
+class MozContainerSurfaceLock {
|
||||
+ public:
|
||||
+ explicit MozContainerSurfaceLock(MozContainer* aContainer);
|
||||
+ ~MozContainerSurfaceLock();
|
||||
+
|
||||
+ // wl_surface can be nullptr if we lock hidden MozContainer.
|
||||
+ struct wl_surface* GetSurface();
|
||||
+
|
||||
+ private:
|
||||
+#ifdef MOZ_WAYLAND
|
||||
+ MozContainer* mContainer = nullptr;
|
||||
+#endif
|
||||
+ struct wl_surface* mSurface = nullptr;
|
||||
+};
|
||||
+
|
||||
+#endif // widget_gtk_MozContainerSurfaceLock_h
|
||||
diff --git a/widget/gtk/MozContainerWayland.cpp b/widget/gtk/MozContainerWayland.cpp
|
||||
--- a/widget/gtk/MozContainerWayland.cpp
|
||||
+++ b/widget/gtk/MozContainerWayland.cpp
|
||||
@@ -82,33 +82,16 @@ using namespace mozilla;
|
||||
using namespace mozilla::widget;
|
||||
|
||||
static bool moz_container_wayland_surface_create_locked(
|
||||
const MutexAutoLock& aProofOfLock, MozContainer* container);
|
||||
static void moz_container_wayland_set_opaque_region_locked(
|
||||
const MutexAutoLock& aProofOfLock, MozContainer* container,
|
||||
const LayoutDeviceIntRegion&);
|
||||
|
||||
-// Lock mozcontainer and get wayland surface of it. You need to pair with
|
||||
-// moz_container_wayland_surface_unlock() even
|
||||
-// if moz_container_wayland_surface_lock() fails and returns nullptr.
|
||||
-static struct wl_surface* moz_container_wayland_surface_lock(
|
||||
- MozContainer* container);
|
||||
-static void moz_container_wayland_surface_unlock(MozContainer* container,
|
||||
- struct wl_surface** surface);
|
||||
-
|
||||
-MozContainerSurfaceLock::MozContainerSurfaceLock(MozContainer* aContainer) {
|
||||
- mContainer = aContainer;
|
||||
- mSurface = moz_container_wayland_surface_lock(aContainer);
|
||||
-}
|
||||
-MozContainerSurfaceLock::~MozContainerSurfaceLock() {
|
||||
- moz_container_wayland_surface_unlock(mContainer, &mSurface);
|
||||
-}
|
||||
-struct wl_surface* MozContainerSurfaceLock::GetSurface() { return mSurface; }
|
||||
-
|
||||
// Invalidate gtk wl_surface to commit changes to wl_subsurface.
|
||||
// wl_subsurface changes are effective when parent surface is commited.
|
||||
static void moz_container_wayland_invalidate(MozContainer* container) {
|
||||
LOGWAYLAND("moz_container_wayland_invalidate [%p]\n",
|
||||
(void*)moz_container_get_nsWindow(container));
|
||||
|
||||
GdkWindow* window = gtk_widget_get_window(GTK_WIDGET(container));
|
||||
if (!window) {
|
||||
diff --git a/widget/gtk/MozContainerWayland.h b/widget/gtk/MozContainerWayland.h
|
||||
--- a/widget/gtk/MozContainerWayland.h
|
||||
+++ b/widget/gtk/MozContainerWayland.h
|
||||
@@ -8,16 +8,17 @@
|
||||
#ifndef __MOZ_CONTAINER_WAYLAND_H__
|
||||
#define __MOZ_CONTAINER_WAYLAND_H__
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include <functional>
|
||||
#include <vector>
|
||||
#include "mozilla/Mutex.h"
|
||||
#include "WindowSurface.h"
|
||||
+#include "MozContainerSurfaceLock.h"
|
||||
|
||||
/*
|
||||
* MozContainer
|
||||
*
|
||||
* This class serves three purposes in the nsIWidget implementation.
|
||||
*
|
||||
* - It provides objects to receive signals from GTK for events on native
|
||||
* windows.
|
||||
@@ -56,25 +57,22 @@ struct MozContainerWayland {
|
||||
mozilla::Mutex container_lock{"MozContainerWayland::container_lock"};
|
||||
};
|
||||
|
||||
struct _MozContainer;
|
||||
struct _MozContainerClass;
|
||||
typedef struct _MozContainer MozContainer;
|
||||
typedef struct _MozContainerClass MozContainerClass;
|
||||
|
||||
-class MozContainerSurfaceLock {
|
||||
- MozContainer* mContainer;
|
||||
- struct wl_surface* mSurface;
|
||||
-
|
||||
- public:
|
||||
- explicit MozContainerSurfaceLock(MozContainer* aContainer);
|
||||
- ~MozContainerSurfaceLock();
|
||||
- struct wl_surface* GetSurface();
|
||||
-};
|
||||
+// Lock mozcontainer and get wayland surface of it. You need to pair with
|
||||
+// moz_container_wayland_surface_unlock() even
|
||||
+// if moz_container_wayland_surface_lock() fails and returns nullptr.
|
||||
+struct wl_surface* moz_container_wayland_surface_lock(MozContainer* container);
|
||||
+void moz_container_wayland_surface_unlock(MozContainer* container,
|
||||
+ struct wl_surface** surface);
|
||||
|
||||
void moz_container_wayland_map(GtkWidget*);
|
||||
gboolean moz_container_wayland_map_event(GtkWidget*, GdkEventAny*);
|
||||
void moz_container_wayland_size_allocate(GtkWidget*, GtkAllocation*);
|
||||
void moz_container_wayland_unmap(GtkWidget*);
|
||||
|
||||
struct wl_egl_window* moz_container_wayland_get_egl_window(
|
||||
MozContainer* container, double scale);
|
||||
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
|
||||
--- a/widget/gtk/moz.build
|
||||
+++ b/widget/gtk/moz.build
|
||||
@@ -28,16 +28,17 @@ if CONFIG["MOZ_WAYLAND"]:
|
||||
if CONFIG["MOZ_ENABLE_VAAPI"]:
|
||||
DIRS += ["vaapitest"]
|
||||
|
||||
if CONFIG["MOZ_ENABLE_V4L2"]:
|
||||
DIRS += ["v4l2test"]
|
||||
|
||||
EXPORTS += [
|
||||
"MozContainer.h",
|
||||
+ "MozContainerSurfaceLock.h",
|
||||
"nsGTKToolkit.h",
|
||||
"nsGtkUtils.h",
|
||||
"nsImageToPixbuf.h",
|
||||
]
|
||||
|
||||
EXPORTS.mozilla += [
|
||||
"GfxInfo.h",
|
||||
"GfxInfoUtils.h",
|
||||
@@ -66,16 +67,17 @@ UNIFIED_SOURCES += [
|
||||
"DMABufLibWrapper.cpp",
|
||||
"DMABufSurface.cpp",
|
||||
"GfxInfo.cpp",
|
||||
"gtk3drawing.cpp",
|
||||
"GtkCompositorWidget.cpp",
|
||||
"IMContextWrapper.cpp",
|
||||
"InProcessGtkCompositorWidget.cpp",
|
||||
"MozContainer.cpp",
|
||||
+ "MozContainerSurfaceLock.cpp",
|
||||
"MPRISServiceHandler.cpp",
|
||||
"NativeKeyBindings.cpp",
|
||||
"NativeMenuGtk.cpp",
|
||||
"NativeMenuSupport.cpp",
|
||||
"nsApplicationChooser.cpp",
|
||||
"nsAppShell.cpp",
|
||||
"nsBidiKeyboard.cpp",
|
||||
"nsClipboard.cpp",
|
||||
@@ -109,16 +111,17 @@ if CONFIG["MOZ_WAYLAND"]:
|
||||
UNIFIED_SOURCES += [
|
||||
"MozContainerWayland.cpp",
|
||||
"nsClipboardWayland.cpp",
|
||||
"nsWaylandDisplay.cpp",
|
||||
"WaylandBuffer.cpp",
|
||||
"WindowSurfaceWaylandMultiBuffer.cpp",
|
||||
]
|
||||
EXPORTS.mozilla.widget += [
|
||||
+ "MozContainerSurfaceLock.h",
|
||||
"MozContainerWayland.h",
|
||||
"nsWaylandDisplay.h",
|
||||
"WaylandBuffer.h",
|
||||
]
|
||||
|
||||
if CONFIG["MOZ_X11"]:
|
||||
UNIFIED_SOURCES += [
|
||||
"nsClipboardX11.cpp",
|
||||
|
||||
|
||||
# HG changeset patch
|
||||
# User stransky <stransky@redhat.com>
|
||||
# Date 1720609193 0
|
||||
# Node ID a264ff9e9f6f87ca0520a884b29c4be90001533e
|
||||
# Parent f9323daf7abeb19f69ac5762a0a442c0dc15636e
|
||||
Bug 1898476 [Wayland] Provide surface lock by GtkCompositorWidget r=emilio
|
||||
|
||||
Depends on D214883
|
||||
|
||||
Differential Revision: https://phabricator.services.mozilla.com/D214884
|
||||
|
||||
diff --git a/widget/gtk/GtkCompositorWidget.cpp b/widget/gtk/GtkCompositorWidget.cpp
|
||||
--- a/widget/gtk/GtkCompositorWidget.cpp
|
||||
+++ b/widget/gtk/GtkCompositorWidget.cpp
|
||||
@@ -206,10 +206,14 @@ void GtkCompositorWidget::SetRenderingSu
|
||||
}
|
||||
|
||||
#ifdef MOZ_LOGGING
|
||||
bool GtkCompositorWidget::IsPopup() {
|
||||
return mWidget ? mWidget->IsPopup() : false;
|
||||
}
|
||||
#endif
|
||||
|
||||
+UniquePtr<MozContainerSurfaceLock> GtkCompositorWidget::LockSurface() {
|
||||
+ return mWidget->LockSurface();
|
||||
+}
|
||||
+
|
||||
} // namespace widget
|
||||
} // namespace mozilla
|
||||
diff --git a/widget/gtk/GtkCompositorWidget.h b/widget/gtk/GtkCompositorWidget.h
|
||||
--- a/widget/gtk/GtkCompositorWidget.h
|
||||
+++ b/widget/gtk/GtkCompositorWidget.h
|
||||
@@ -5,16 +5,18 @@
|
||||
|
||||
#ifndef widget_gtk_GtkCompositorWidget_h
|
||||
#define widget_gtk_GtkCompositorWidget_h
|
||||
|
||||
#include "GLDefs.h"
|
||||
#include "mozilla/DataMutex.h"
|
||||
#include "mozilla/widget/CompositorWidget.h"
|
||||
#include "WindowSurfaceProvider.h"
|
||||
+#include "mozilla/UniquePtr.h"
|
||||
+#include "MozContainerSurfaceLock.h"
|
||||
|
||||
class nsIWidget;
|
||||
class nsWindow;
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
namespace layers {
|
||||
class NativeLayerRootWayland;
|
||||
@@ -91,16 +93,18 @@ class GtkCompositorWidget : public Compo
|
||||
RefPtr<mozilla::layers::NativeLayerRoot> GetNativeLayerRoot() override;
|
||||
#endif
|
||||
|
||||
// PlatformCompositorWidgetDelegate Overrides
|
||||
|
||||
void NotifyClientSizeChanged(const LayoutDeviceIntSize& aClientSize) override;
|
||||
GtkCompositorWidget* AsGtkCompositorWidget() override { return this; }
|
||||
|
||||
+ UniquePtr<MozContainerSurfaceLock> LockSurface();
|
||||
+
|
||||
private:
|
||||
#if defined(MOZ_WAYLAND)
|
||||
void ConfigureWaylandBackend();
|
||||
#endif
|
||||
#if defined(MOZ_X11)
|
||||
void ConfigureX11Backend(Window aXWindow, bool aShaped);
|
||||
#endif
|
||||
#ifdef MOZ_LOGGING
|
||||
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
|
||||
--- a/widget/gtk/nsWindow.cpp
|
||||
+++ b/widget/gtk/nsWindow.cpp
|
||||
@@ -10271,8 +10271,15 @@ void nsWindow::SetDragSource(GdkDragCont
|
||||
mSourceDragContext = aSourceDragContext;
|
||||
if (IsPopup() &&
|
||||
(widget::GdkIsWaylandDisplay() || widget::IsXWaylandProtocol())) {
|
||||
if (auto* menuPopupFrame = GetMenuPopupFrame(GetFrame())) {
|
||||
menuPopupFrame->SetIsDragSource(!!aSourceDragContext);
|
||||
}
|
||||
}
|
||||
}
|
||||
+
|
||||
+UniquePtr<MozContainerSurfaceLock> nsWindow::LockSurface() {
|
||||
+ if (mIsDestroyed) {
|
||||
+ return nullptr;
|
||||
+ }
|
||||
+ return MakeUnique<MozContainerSurfaceLock>(mContainer);
|
||||
+}
|
||||
diff --git a/widget/gtk/nsWindow.h b/widget/gtk/nsWindow.h
|
||||
--- a/widget/gtk/nsWindow.h
|
||||
+++ b/widget/gtk/nsWindow.h
|
||||
@@ -8,16 +8,17 @@
|
||||
#ifndef __nsWindow_h__
|
||||
#define __nsWindow_h__
|
||||
|
||||
#include <gdk/gdk.h>
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#include "CompositorWidget.h"
|
||||
#include "MozContainer.h"
|
||||
+#include "MozContainerSurfaceLock.h"
|
||||
#include "VsyncSource.h"
|
||||
#include "mozilla/EventForwards.h"
|
||||
#include "mozilla/Maybe.h"
|
||||
#include "mozilla/RefPtr.h"
|
||||
#include "mozilla/TouchEvents.h"
|
||||
#include "mozilla/UniquePtr.h"
|
||||
#include "mozilla/RWLock.h"
|
||||
#include "mozilla/widget/WindowSurface.h"
|
||||
@@ -416,16 +417,18 @@ class nsWindow final : public nsBaseWidg
|
||||
static bool TitlebarUseShapeMask();
|
||||
bool IsRemoteContent() { return HasRemoteContent(); }
|
||||
void NativeMoveResizeWaylandPopupCallback(const GdkRectangle* aFinalSize,
|
||||
bool aFlippedX, bool aFlippedY);
|
||||
static bool IsToplevelWindowTransparent();
|
||||
|
||||
static nsWindow* GetFocusedWindow();
|
||||
|
||||
+ mozilla::UniquePtr<MozContainerSurfaceLock> LockSurface();
|
||||
+
|
||||
#ifdef MOZ_WAYLAND
|
||||
// Use xdg-activation protocol to transfer focus from gFocusWindow to aWindow.
|
||||
static void TransferFocusToWaylandWindow(nsWindow* aWindow);
|
||||
void FocusWaylandWindow(const char* aTokenID);
|
||||
|
||||
bool GetCSDDecorationOffset(int* aDx, int* aDy);
|
||||
bool SetEGLNativeWindowSize(const LayoutDeviceIntSize& aEGLWindowSize);
|
||||
void WaylandDragWorkaround(GdkEventButton* aEvent);
|
||||
|
||||
|
||||
# HG changeset patch
|
||||
# User stransky <stransky@redhat.com>
|
||||
# Date 1720609193 0
|
||||
# Node ID eb230ecdf8eb26a9ed340873b58fe7b71f94f8e8
|
||||
# Parent a264ff9e9f6f87ca0520a884b29c4be90001533e
|
||||
Bug 1898476 [Wayland] Lock Wayland surface before Swap buffers in RenderCompositorEGL r=emilio
|
||||
|
||||
Depends on D214884
|
||||
|
||||
Differential Revision: https://phabricator.services.mozilla.com/D214885
|
||||
|
||||
diff --git a/gfx/webrender_bindings/RenderCompositorEGL.cpp b/gfx/webrender_bindings/RenderCompositorEGL.cpp
|
||||
--- a/gfx/webrender_bindings/RenderCompositorEGL.cpp
|
||||
+++ b/gfx/webrender_bindings/RenderCompositorEGL.cpp
|
||||
@@ -149,16 +149,26 @@ RenderedFrameId RenderCompositorEGL::End
|
||||
const auto width = right - left;
|
||||
const auto height = bottom - top;
|
||||
|
||||
bufferInvalid.OrWith(
|
||||
gfx::IntRect(left, (GetBufferSize().height - bottom), width, height));
|
||||
}
|
||||
gl()->SetDamage(bufferInvalid);
|
||||
}
|
||||
+
|
||||
+#ifdef MOZ_WIDGET_GTK
|
||||
+ // Rendering on Wayland has to be atomic (buffer attach + commit) and
|
||||
+ // wayland surface is also used by main thread so lock it before
|
||||
+ // we paint at SwapBuffers().
|
||||
+ UniquePtr<MozContainerSurfaceLock> lock;
|
||||
+ if (auto* gtkWidget = mWidget->AsGTK()) {
|
||||
+ lock = gtkWidget->LockSurface();
|
||||
+ }
|
||||
+#endif
|
||||
gl()->SwapBuffers();
|
||||
return frameId;
|
||||
}
|
||||
|
||||
void RenderCompositorEGL::Pause() { DestroyEGLSurface(); }
|
||||
|
||||
bool RenderCompositorEGL::Resume() {
|
||||
if (kIsAndroid) {
|
||||
|
@@ -1,29 +0,0 @@
|
||||
|
||||
# HG changeset patch
|
||||
# User stransky <stransky@redhat.com>
|
||||
# Date 1720807971 0
|
||||
# Node ID d8a0164db5db7090fd7549b03dd0391f7151649c
|
||||
# Parent e243955016ffa880296b8d82cf531887dfb3ac22
|
||||
Bug 1907511 [Linux/X11] Check mWindow at GtkCompositorWidget::LockSurface() r=emilio
|
||||
|
||||
Differential Revision: https://phabricator.services.mozilla.com/D216380
|
||||
|
||||
diff --git a/widget/gtk/GtkCompositorWidget.cpp b/widget/gtk/GtkCompositorWidget.cpp
|
||||
--- a/widget/gtk/GtkCompositorWidget.cpp
|
||||
+++ b/widget/gtk/GtkCompositorWidget.cpp
|
||||
@@ -207,13 +207,13 @@ void GtkCompositorWidget::SetRenderingSu
|
||||
|
||||
#ifdef MOZ_LOGGING
|
||||
bool GtkCompositorWidget::IsPopup() {
|
||||
return mWidget ? mWidget->IsPopup() : false;
|
||||
}
|
||||
#endif
|
||||
|
||||
UniquePtr<MozContainerSurfaceLock> GtkCompositorWidget::LockSurface() {
|
||||
- return mWidget->LockSurface();
|
||||
+ return mWidget ? mWidget->LockSurface() : nullptr;
|
||||
}
|
||||
|
||||
} // namespace widget
|
||||
} // namespace mozilla
|
||||
|
@@ -1,33 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
# Parent fa8a5832a374ccd7af5db927b992b5d9f15273ef
|
||||
|
||||
diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private.h
|
||||
--- a/modules/fdlibm/src/math_private.h
|
||||
+++ b/modules/fdlibm/src/math_private.h
|
||||
@@ -25,19 +25,24 @@
|
||||
|
||||
#include "fdlibm.h"
|
||||
|
||||
/*
|
||||
* Emulate FreeBSD internal double types.
|
||||
* Adapted from https://github.com/freebsd/freebsd-src/search?q=__double_t
|
||||
*/
|
||||
|
||||
+#ifdef __i386__
|
||||
+typedef long double __double_t;
|
||||
+typedef long double __float_t;
|
||||
+#else
|
||||
typedef double __double_t;
|
||||
+typedef float __float_t;
|
||||
+#endif
|
||||
typedef __double_t double_t;
|
||||
-typedef float __float_t;
|
||||
|
||||
/*
|
||||
* The original fdlibm code used statements like:
|
||||
* n0 = ((*(int*)&one)>>29)^1; * index of high word *
|
||||
* ix0 = *(n0+(int*)&x); * high word of x *
|
||||
* ix1 = *((1-n0)+(int*)&x); * low word of x *
|
||||
* to dig two 32 bit words out of the 64 bit IEEE floating point
|
||||
* value. That is non-ANSI, and, moreover, the gcc instruction
|
@@ -1,16 +1,22 @@
|
||||
# HG changeset patch
|
||||
|
||||
From: Martin Sirringhaus <martin.sirringhaus@suse.com>
|
||||
|
||||
# Parent 3de59fe1b8708c01e134ce698c4232b8a854f617
|
||||
Problem: webGL sites are displayed in the wrong color (usually blue-ish)
|
||||
Solution: Problem is with skia once again. Output of webgl seems endian-correct, but skia only
|
||||
knows how to deal with little endian.
|
||||
So we swizzle the output of webgl after reading it from readpixels()
|
||||
Note: This does not fix all webGL sites, but is a step in the right direction
|
||||
---
|
||||
gfx/gl/GLContext.h | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
Index: firefox-115.0/gfx/gl/GLContext.h
|
||||
===================================================================
|
||||
--- firefox-115.0.orig/gfx/gl/GLContext.h
|
||||
+++ firefox-115.0/gfx/gl/GLContext.h
|
||||
@@ -1560,6 +1560,13 @@ class GLContext : public GenericAtomicRe
|
||||
diff --git a/gfx/gl/GLContext.h b/gfx/gl/GLContext.h
|
||||
index 45c75e8b6ecf..5096d59b7e70 100644
|
||||
--- a/gfx/gl/GLContext.h
|
||||
+++ b/gfx/gl/GLContext.h
|
||||
@@ -1595,6 +1595,13 @@ class GLContext : public GenericAtomicRefCounted, public SupportsWeakPtr {
|
||||
BEFORE_GL_CALL;
|
||||
mSymbols.fReadPixels(x, y, width, height, format, type, pixels);
|
||||
OnSyncCall();
|
||||
|
@@ -1,14 +1,21 @@
|
||||
# HG changeset patch
|
||||
|
||||
From: Martin Sirringhaus <martin.sirringhaus@suse.com>
|
||||
|
||||
# User msirringhaus@suse.de
|
||||
# Date 1583738770 -3600
|
||||
# Mon Mar 09 08:26:10 2020 +0100
|
||||
# Node ID 34676feac1a542e409e22acf5b98735f8313b1ce
|
||||
# Parent 506857dace0a08d1c9685e3ac264646590b3e27f
|
||||
[mq]: mozilla-bmo998749.patch
|
||||
---
|
||||
gfx/2d/FilterProcessing.h | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff -r 506857dace0a -r 34676feac1a5 gfx/2d/FilterProcessing.h
|
||||
--- a/gfx/2d/FilterProcessing.h Fri Feb 28 12:31:51 2020 +0100
|
||||
+++ b/gfx/2d/FilterProcessing.h Mon Mar 09 08:26:10 2020 +0100
|
||||
diff --git a/gfx/2d/FilterProcessing.h b/gfx/2d/FilterProcessing.h
|
||||
index d6beb626119f..1f609c8e5006 100644
|
||||
--- a/gfx/2d/FilterProcessing.h
|
||||
+++ b/gfx/2d/FilterProcessing.h
|
||||
@@ -13,10 +13,17 @@
|
||||
namespace mozilla {
|
||||
namespace gfx {
|
||||
|
20
mozilla-kde-force-xdg-portal.patch
Normal file
20
mozilla-kde-force-xdg-portal.patch
Normal file
@@ -0,0 +1,20 @@
|
||||
The Firefox pref `widget.use-xdg-desktop-portal.file-picker` is a tristate with the states:
|
||||
0 - Never
|
||||
1 - Always
|
||||
2 - Auto
|
||||
where Auto means "yes" if Firefox detects that is run inside a flatpak, or if a certain env-variable is set, "no" otherwise.
|
||||
With this patch, we flip the auto-state also to "yes" (for the file-picker only!), if we are running KDE.
|
||||
|
||||
diff --git a/widget/gtk/WidgetUtilsGtk.cpp b/widget/gtk/WidgetUtilsGtk.cpp
|
||||
index afa392d0d5a1f..c7621c1d0c0a2 100644
|
||||
--- a/widget/gtk/WidgetUtilsGtk.cpp
|
||||
+++ b/widget/gtk/WidgetUtilsGtk.cpp
|
||||
@@ -294,6 +294,8 @@ bool ShouldUsePortal(PortalKind aPortalKind) {
|
||||
const int32_t pref = [&] {
|
||||
switch (aPortalKind) {
|
||||
case PortalKind::FilePicker:
|
||||
+ // We want to use the FilePicker-Portal on KDE, if possible
|
||||
+ autoBehavior |= IsKdeDesktopEnvironment();
|
||||
return StaticPrefs::widget_use_xdg_desktop_portal_file_picker();
|
||||
case PortalKind::MimeHandler:
|
||||
// Mime portal breaks default browser handling, see bug 1516290.
|
1774
mozilla-kde.patch
1774
mozilla-kde.patch
File diff suppressed because it is too large
Load Diff
@@ -1,15 +1,17 @@
|
||||
# HG changeset patch
|
||||
|
||||
From: Martin Sirringhaus <martin.sirringhaus@suse.com>
|
||||
|
||||
# Parent fdc16b43f28c2e974929ca702563aaac52799654
|
||||
---
|
||||
dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
|
||||
index 042218af04f4..814ef7d750fe 100644
|
||||
--- a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
|
||||
+++ b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
|
||||
@@ -44,16 +44,18 @@ static const char* sLibs[] = {
|
||||
"libavcodec.53.dylib",
|
||||
#elif defined(XP_OPENBSD)
|
||||
"libavcodec.so", // OpenBSD hardly controls the major/minor library version
|
||||
// of ffmpeg and update it regulary on ABI/API changes
|
||||
#else
|
||||
@@ -50,6 +50,8 @@ static const char* sLibs[] = {
|
||||
"libavcodec.so.61",
|
||||
"libavcodec.so.60",
|
||||
"libavcodec.so.59",
|
||||
@@ -18,8 +20,3 @@ diff --git a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp b/dom/media/plat
|
||||
"libavcodec.so.58",
|
||||
"libavcodec-ffmpeg.so.58",
|
||||
"libavcodec-ffmpeg.so.57",
|
||||
"libavcodec-ffmpeg.so.56",
|
||||
"libavcodec.so.57",
|
||||
"libavcodec.so.56",
|
||||
"libavcodec.so.55",
|
||||
"libavcodec.so.54",
|
||||
|
@@ -1,19 +1,22 @@
|
||||
# HG changeset patch
|
||||
|
||||
From: Martin Sirringhaus <martin.sirringhaus@suse.com>
|
||||
|
||||
# User Wolfgang Rosenauer
|
||||
# Date 1558442915 -7200
|
||||
# Tue May 21 14:48:35 2019 +0200
|
||||
# Node ID 6bcf2dfebc1ea2aa34e5cc61152709fc8e409dc5
|
||||
# Parent 715f01d61df8627117e6aefca540f0c1bba45011
|
||||
Do not use gconf for proxy settings if not running within Gnome
|
||||
Index: toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp,v
|
||||
retrieving revision 1.1
|
||||
---
|
||||
.../system/unixproxy/nsUnixSystemProxySettings.cpp | 11 +++++++----
|
||||
1 file changed, 7 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||
index 3d8435f9827f..4b87fc5a1914 100644
|
||||
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||
@@ -52,10 +52,13 @@ nsUnixSystemProxySettings::GetMainThread
|
||||
@@ -52,10 +52,13 @@ nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) {
|
||||
}
|
||||
|
||||
void nsUnixSystemProxySettings::Init() {
|
||||
|
@@ -1,18 +1,25 @@
|
||||
# HG changeset patch
|
||||
|
||||
From: Martin Sirringhaus <martin.sirringhaus@suse.com>
|
||||
|
||||
# User Petr Cerny <pcerny@novell.com>
|
||||
# Parent 7308e4a7c1f769f4bbbc90870b849cadd99495a6
|
||||
# Parent 1c6a565013e4c5f3494f964269783939cd5ed0b8
|
||||
# Parent 3399aced682c232525633755ff79b37a0be75548
|
||||
Bug 634334 - call to the ntlm_auth helper fails
|
||||
---
|
||||
extensions/auth/nsAuthSambaNTLM.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/extensions/auth/nsAuthSambaNTLM.cpp b/extensions/auth/nsAuthSambaNTLM.cpp
|
||||
index c3b66fbfcc07..13df3d82849b 100644
|
||||
--- a/extensions/auth/nsAuthSambaNTLM.cpp
|
||||
+++ b/extensions/auth/nsAuthSambaNTLM.cpp
|
||||
@@ -160,7 +160,7 @@ nsresult nsAuthSambaNTLM::SpawnNTLMAuthH
|
||||
const char* username = PR_GetEnv("USER");
|
||||
if (!username) return NS_ERROR_FAILURE;
|
||||
@@ -153,7 +153,7 @@ nsresult nsAuthSambaNTLM::SpawnNTLMAuthHelper() {
|
||||
options.fds_to_remap.push_back(
|
||||
std::pair{fromChildPipeWrite.get(), STDOUT_FILENO});
|
||||
|
||||
- std::vector<std::string> argvVec{"ntlm_auth", "--helper-protocol",
|
||||
+ std::vector<std::string> argvVec{"/usr/bin/ntlm_auth", "--helper-protocol",
|
||||
"ntlmssp-client-1", "--use-cached-creds",
|
||||
"--username", username};
|
||||
|
||||
- const char* const args[] = {"ntlm_auth",
|
||||
+ const char* const args[] = {"/usr/bin/ntlm_auth",
|
||||
"--helper-protocol",
|
||||
"ntlmssp-client-1",
|
||||
"--use-cached-creds",
|
||||
|
@@ -1,12 +1,22 @@
|
||||
# HG changeset patch
|
||||
|
||||
From: Martin Sirringhaus <martin.sirringhaus@suse.com>
|
||||
|
||||
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
# Parent 9959fe2a13a39cbeb98ca1bef2e21caba16717bd
|
||||
---
|
||||
build/moz.configure/lto-pgo.configure | 6 +++---
|
||||
build/pgo/profileserver.py | 25 ++++++++++++++++++++----
|
||||
build/unix/mozconfig.unix | 9 +++++++++
|
||||
extensions/spellcheck/src/moz.build | 2 ++
|
||||
toolkit/components/terminator/nsTerminator.cpp | 5 +++++
|
||||
5 files changed, 40 insertions(+), 7 deletions(-)
|
||||
|
||||
Index: firefox-115.0/build/moz.configure/lto-pgo.configure
|
||||
===================================================================
|
||||
--- firefox-115.0.orig/build/moz.configure/lto-pgo.configure
|
||||
+++ firefox-115.0/build/moz.configure/lto-pgo.configure
|
||||
@@ -251,8 +251,8 @@ def lto(
|
||||
diff --git a/build/moz.configure/lto-pgo.configure b/build/moz.configure/lto-pgo.configure
|
||||
index eb0f87400885..257a71a4e5df 100644
|
||||
--- a/build/moz.configure/lto-pgo.configure
|
||||
+++ b/build/moz.configure/lto-pgo.configure
|
||||
@@ -347,8 +347,8 @@ def lto(
|
||||
cflags.append("-flto")
|
||||
ldflags.append("-flto")
|
||||
else:
|
||||
@@ -17,7 +27,7 @@ Index: firefox-115.0/build/moz.configure/lto-pgo.configure
|
||||
|
||||
if target.os == "Android" and "cross" in values:
|
||||
# Work around https://github.com/rust-lang/rust/issues/90088
|
||||
@@ -268,7 +268,7 @@ def lto(
|
||||
@@ -364,7 +364,7 @@ def lto(
|
||||
if "full" in values:
|
||||
cflags.append("-flto")
|
||||
else:
|
||||
@@ -26,10 +36,10 @@ Index: firefox-115.0/build/moz.configure/lto-pgo.configure
|
||||
# With clang-cl, -flto can only be used with -c or -fuse-ld=lld.
|
||||
# AC_TRY_LINKs during configure don't have -c, so pass -fuse-ld=lld.
|
||||
cflags.append("-fuse-ld=lld")
|
||||
Index: firefox-115.0/build/pgo/profileserver.py
|
||||
===================================================================
|
||||
--- firefox-115.0.orig/build/pgo/profileserver.py
|
||||
+++ firefox-115.0/build/pgo/profileserver.py
|
||||
diff --git a/build/pgo/profileserver.py b/build/pgo/profileserver.py
|
||||
index 6017810c873f..64c76af933ea 100755
|
||||
--- a/build/pgo/profileserver.py
|
||||
+++ b/build/pgo/profileserver.py
|
||||
@@ -11,7 +11,7 @@ import subprocess
|
||||
import sys
|
||||
|
||||
@@ -39,7 +49,7 @@ Index: firefox-115.0/build/pgo/profileserver.py
|
||||
from mozfile import TemporaryDirectory
|
||||
from mozhttpd import MozHttpd
|
||||
from mozprofile import FirefoxProfile, Preferences
|
||||
@@ -87,9 +87,22 @@ if __name__ == "__main__":
|
||||
@@ -97,9 +97,22 @@ if __name__ == "__main__":
|
||||
locations = ServerLocations()
|
||||
locations.add_host(host="127.0.0.1", port=PORT, options="primary,privileged")
|
||||
|
||||
@@ -65,7 +75,7 @@ Index: firefox-115.0/build/pgo/profileserver.py
|
||||
|
||||
with TemporaryDirectory() as profilePath:
|
||||
# TODO: refactor this into mozprofile
|
||||
@@ -213,6 +226,10 @@ if __name__ == "__main__":
|
||||
@@ -229,6 +242,10 @@ if __name__ == "__main__":
|
||||
print("Firefox exited successfully, but produced a crashreport")
|
||||
sys.exit(1)
|
||||
|
||||
@@ -76,10 +86,10 @@ Index: firefox-115.0/build/pgo/profileserver.py
|
||||
llvm_profdata = env.get("LLVM_PROFDATA")
|
||||
if llvm_profdata:
|
||||
profraw_files = glob.glob("*.profraw")
|
||||
Index: firefox-115.0/build/unix/mozconfig.unix
|
||||
===================================================================
|
||||
--- firefox-115.0.orig/build/unix/mozconfig.unix
|
||||
+++ firefox-115.0/build/unix/mozconfig.unix
|
||||
diff --git a/build/unix/mozconfig.unix b/build/unix/mozconfig.unix
|
||||
index 05bf666b3925..de449359b01f 100644
|
||||
--- a/build/unix/mozconfig.unix
|
||||
+++ b/build/unix/mozconfig.unix
|
||||
@@ -4,6 +4,15 @@ if [ -n "$FORCE_GCC" ]; then
|
||||
CC="$MOZ_FETCHES_DIR/gcc/bin/gcc"
|
||||
CXX="$MOZ_FETCHES_DIR/gcc/bin/g++"
|
||||
@@ -96,21 +106,21 @@ Index: firefox-115.0/build/unix/mozconfig.unix
|
||||
# We want to make sure we use binutils and other binaries in the tooltool
|
||||
# package.
|
||||
mk_add_options "export PATH=$MOZ_FETCHES_DIR/gcc/bin:$MOZ_FETCHES_DIR/binutils/bin:$PATH"
|
||||
Index: firefox-115.0/extensions/spellcheck/src/moz.build
|
||||
===================================================================
|
||||
--- firefox-115.0.orig/extensions/spellcheck/src/moz.build
|
||||
+++ firefox-115.0/extensions/spellcheck/src/moz.build
|
||||
@@ -28,3 +28,5 @@ EXPORTS.mozilla += [
|
||||
diff --git a/extensions/spellcheck/src/moz.build b/extensions/spellcheck/src/moz.build
|
||||
index c4ce09efca34..ee64cb1f48fa 100644
|
||||
--- a/extensions/spellcheck/src/moz.build
|
||||
+++ b/extensions/spellcheck/src/moz.build
|
||||
@@ -26,3 +26,5 @@ EXPORTS.mozilla += [
|
||||
"mozInlineSpellChecker.h",
|
||||
"mozSpellChecker.h",
|
||||
]
|
||||
+
|
||||
+CXXFLAGS += ['-fno-devirtualize']
|
||||
Index: firefox-115.0/toolkit/components/terminator/nsTerminator.cpp
|
||||
===================================================================
|
||||
--- firefox-115.0.orig/toolkit/components/terminator/nsTerminator.cpp
|
||||
+++ firefox-115.0/toolkit/components/terminator/nsTerminator.cpp
|
||||
@@ -460,6 +460,11 @@ void nsTerminator::StartWatchdog() {
|
||||
diff --git a/toolkit/components/terminator/nsTerminator.cpp b/toolkit/components/terminator/nsTerminator.cpp
|
||||
index 8c456b142a4f..cb8109f7f966 100644
|
||||
--- a/toolkit/components/terminator/nsTerminator.cpp
|
||||
+++ b/toolkit/components/terminator/nsTerminator.cpp
|
||||
@@ -330,6 +330,11 @@ void nsTerminator::StartWatchdog() {
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@@ -1,10 +1,17 @@
|
||||
# HG changeset patch
|
||||
|
||||
From: Martin Sirringhaus <martin.sirringhaus@suse.com>
|
||||
|
||||
# Parent 135d931b3e674a670473f69f8c079e741ac63643
|
||||
---
|
||||
build/moz.configure/rust.configure | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure
|
||||
index b92c26dcab0c..0db45298648e 100644
|
||||
--- a/build/moz.configure/rust.configure
|
||||
+++ b/build/moz.configure/rust.configure
|
||||
@@ -668,7 +668,7 @@ def rust_compile_flags(
|
||||
@@ -679,7 +679,7 @@ def rust_compile_flags(
|
||||
debug_assertions = False
|
||||
|
||||
if debug_symbols:
|
||||
|
@@ -1,16 +0,0 @@
|
||||
# HG changeset patch
|
||||
# Parent 83a5e219b271976ee9dfa46b74ecc1c1c6d49f94
|
||||
|
||||
Index: firefox-128.0/Cargo.toml
|
||||
===================================================================
|
||||
--- firefox-128.0.orig/Cargo.toml
|
||||
+++ firefox-128.0/Cargo.toml
|
||||
@@ -236,3 +236,8 @@ mio_0_8 = { package = "mio", git = "http
|
||||
# Patch `gpu-descriptor` 0.3.0 to remove unnecessary `allocator-api2` dep.:
|
||||
# Still waiting for the now-merged <https://github.com/zakarumych/gpu-descriptor/pull/40> to be released.
|
||||
gpu-descriptor = { git = "https://github.com/zakarumych/gpu-descriptor", rev = "7b71a4e47c81903ad75e2c53deb5ab1310f6ff4d" }
|
||||
+
|
||||
+# Package code v0.1.4 uses code "that will be rejected by a future version of Rust"
|
||||
+# Shut up such messages for now to make the build succeed
|
||||
+[future-incompat-report]
|
||||
+frequency = "never"
|
@@ -1,15 +1,22 @@
|
||||
# HG changeset patch
|
||||
|
||||
From: Martin Sirringhaus <martin.sirringhaus@suse.com>
|
||||
|
||||
# User msirringhaus@suse.de
|
||||
# Date 1558452408 -7200
|
||||
# Tue May 21 17:26:48 2019 +0200
|
||||
# Node ID 602e92722e765a3c238d3b96b26c0c8063b5eeb4
|
||||
# Parent 783ceb006fcdabe5ad23bd561362e721c7ed5f8c
|
||||
[mq]: mozilla-s390-context.patch
|
||||
---
|
||||
js/src/wasm/WasmSignalHandlers.cpp | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp
|
||||
index 06954b3dd560..3e198159affd 100644
|
||||
--- a/js/src/wasm/WasmSignalHandlers.cpp
|
||||
+++ b/js/src/wasm/WasmSignalHandlers.cpp
|
||||
@@ -174,6 +174,10 @@ using mozilla::DebugOnly;
|
||||
@@ -172,6 +172,10 @@ using namespace js::wasm;
|
||||
# define FP_sig(p) ((p)->uc_mcontext.gregs[REG_FPRS])
|
||||
# define SP_sig(p) ((p)->uc_mcontext.gregs[REG_SP])
|
||||
# endif
|
||||
@@ -20,7 +27,7 @@ diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers
|
||||
# elif defined(__NetBSD__)
|
||||
# define EIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EIP])
|
||||
# define EBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EBP])
|
||||
@@ -416,6 +420,10 @@ struct macos_aarch64_context {
|
||||
@@ -414,6 +418,10 @@ struct macos_aarch64_context {
|
||||
# define FP_sig(p) RFP_sig(p)
|
||||
# define SP_sig(p) R03_sig(p)
|
||||
# define LR_sig(p) RRA_sig(p)
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -2,19 +2,20 @@ This file contains the public PGP key that is used to sign builds and
|
||||
artifacts of Mozilla projects (such as Firefox and Thunderbird).
|
||||
|
||||
Please realize that this file itself or the public key servers may be
|
||||
compromised. You are encouraged to validate the authenticity of these keys in
|
||||
an out-of-band manner.
|
||||
compromised. You are encouraged to validate the authenticity of these
|
||||
keys in an out-of-band manner.
|
||||
|
||||
Mozilla users: pgp < KEY
|
||||
gpg --show-keys < KEY
|
||||
|
||||
pub rsa4096 2015-07-17 [SC]
|
||||
14F26682D0916CDD81E37B6D61B7B526D98F0353
|
||||
uid [ full ] Mozilla Software Releases <release@mozilla.com>
|
||||
uid Mozilla Software Releases <release@mozilla.com>
|
||||
sub rsa4096 2021-05-17 [S] [expired: 2023-05-17]
|
||||
sub rsa4096 2015-07-17 [S] [expired: 2017-07-16]
|
||||
sub rsa4096 2017-06-22 [S] [expired: 2019-06-22]
|
||||
sub rsa4096 2019-05-30 [S] [expired: 2021-05-29]
|
||||
sub rsa4096 2021-05-17 [S] [expired: 2023-05-17]
|
||||
sub rsa4096 2023-05-05 [S] [expires: 2025-05-04]
|
||||
sub rsa4096 2025-03-13 [S] [expires: 2027-03-13]
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
@@ -400,6 +401,41 @@ W81ABx4ASBktXAf1IweRbbxqW8OgMhG6xHTeiEjjav7SmlD0XVOxjhI+qBoNPovW
|
||||
lChqONxablBkuh0Jd6kdNiaSEM9cd60kK3GT/dBMyv0yVhhLci6HQZ+Mf4cbn0Kt
|
||||
ayzuQLOcdRCN3FF/JNQH3v6LA1MdRfmJlgC4UdiepBb1uCgtVIPizRuXWDjyjzeP
|
||||
ZRN/AqaUbEoNBHhIz0nKhQGDbst4ugIzJWIX+6UokwPC3jvJqQQttccjAy6kXBmx
|
||||
fxyRMB5BEeLY0+qVPyvOxpXEGnlSHYmdIS4=
|
||||
=ZEQW
|
||||
fxyRMB5BEeLY0+qVPyvOxpXEGnlSHYmdIS65Ag0EZ9KQfQEQAOVIyh0sZPPFLWxo
|
||||
FT0WhPzHw8BhgnCBNdZAh9+SM0Apq2VcQKSjBjKiterOTtc6EVh0K2ikbGKHQ1Sv
|
||||
wNdsYL01cSkJSJORig/1Du1eh+2nlo8nut7xT//V+2FQyWFCLDeQvLlAs3QHMrMY
|
||||
xTcwNk3qi/z1Z5Q4e6Re2aKRU00LtSomD6CKWy9nAaqTRNzzdndJwIyCyshX4bbU
|
||||
zAzE7Wbgh/E0/FgBGw87LYITqyU6US4lvoUXB+89XxwMxO9I74L118gXEyybz+JN
|
||||
0/w87hXAKnaKjasSvobKE4mau8SXqmOO66MxiMaF4Xsmr3oIwo8q9W5d+hA+t225
|
||||
ipq2rZZErmPL44deMCeKmepjLTa9CoxX2oVpDWGOYFRyJRkLDyyH4O3gCo/5qv4r
|
||||
OTJqPFfKPtrjWFJKGf4P4UD0GSBX2Q+mOf2XHWsMJE4t8T7jxQCSAQUMwt6M18h1
|
||||
auIqcfkuNvdJhcl2GvJyCMIbkA3AoiuKaSPgoVCmJdbc6Ao9ydmMUB5Q1rYpMNKC
|
||||
MsuVP9OcX8FoHEVMXOvr0f6Wfj+iHytfO2VTqrw/cqoCyuPoSrgxjs1/cRSz5g9f
|
||||
Z0zrOtQyNB5yJ3YPTG3va1/XLflrjPcT4ZUkej9nkFpCNWdEZVWD/z3vXBGSV11N
|
||||
9Cdy60QbD4yZvDjV2GQ+dwAF1o1BABEBAAGJBHIEGAEKACYWIQQU8maC0JFs3YHj
|
||||
e21ht7Um2Y8DUwUCZ9KQfQIbAgUJA8JnAAJACRBht7Um2Y8DU8F0IAQZAQoAHRYh
|
||||
BAm+7WPzRiot/6s7h17LZJfBogJWBQJn0pB9AAoJEF7LZJfBogJW9I4QAJbv4Rhb
|
||||
4x6Jl75x2Lfp46/e3fZVDhzUdLjK8A/acRF7JRBuJVJRaijJ5tngdknmlmbzfqly
|
||||
zsMWUciAwVJRvijNFDeicet5zJpBRsXEUAug3iVCD1KlVvLzjCi9Eb9s6xCQjSJ8
|
||||
DZE020s41wdqtb1nziDASAkg+YH2DzpTEaZVNM39uNDKbaJLYIjKA9MV1YHArqUl
|
||||
dFsoofBe4zIZRFyvMD7Gmr7Xm0IWYLrfmnenm1JJYIkvGUeVoP8dEonAVhLVwvww
|
||||
ufobV0qdtMfhZsgFwf1XSHI9MtD4yAVtBqBTkfFeRLnBjJK/ywYxGqbadt1b57I4
|
||||
ywTQ16oXNrlTF1Su0I8i/fo0i/9ohNl3opN3LbaEbhT37M4xpy4MgL2Fthddc2gW
|
||||
vF/8TFRaXw7LaLSR7HwO+Y0CpOtV/Ct4RzKEulY5DpV9b1JQJhpLcjMz+pBDAM3K
|
||||
JuiV6Bcfoz5PZowFy74UmE02Vzk/oyuI/o4KMihy0UzWQVkOZTTu4eONktgGiZOn
|
||||
RFdiLKVgeLEDXTLdhbuwGS2+wX3I7lLP9AWpK8Ahc81eUwU6MwdbfwfJ1ELtKaa/
|
||||
JmMjaWkr5aGrp88d8ePR9jYA47Z2q0esB67pRJVe0McVJlu9GQGq05S7lZKs6mi9
|
||||
dHTzeHwua//IXHMK0s3WhMU7vGwJ3E2+pTstf8AQALSwkezD3QchPV+5CAUYY7Cm
|
||||
MXB6zzIU18wCS61Y8QdDvqmtWHdMVTp4xT14fS6cvB4uFzacGQJ7CVIWeZgwEFzZ
|
||||
iev3dKpnUOGg0WQSwmQQA0JCg6/qS0AeUPINjhWtNcR7voCqAYeRcjo47UJclD/K
|
||||
KNTCn27btHRaEmpTdTtC6sxiVElFObb3a9tHXqwLWp8gJ+NZ+6mlrvvH2hm1CAyQ
|
||||
TDRYC7nN69QJrKHR8HA3AeR5figQHLwvmfQlV2erZE17GT+L5t0HxX/HKZCim91P
|
||||
Apqa+7iY0eKPAG5iacABrBi9zzh/ex0ovvuxsBDKUFCSu7HIivnAVrdS/kbO1qJ5
|
||||
I3MBMp0dlQ6PS6LeZIRhxts0aPPZedsXytoL7kFLISfJ55AuhJpskz+55uviJhp/
|
||||
H3zNBYtQ+dmFmp4RRk/Nvu0zv6OGtaZy6M5X24Pbzb/OApBML84cEmb3iZie9J2Z
|
||||
YW68/D96sP09x6GItCJlCIdQZkRcwmkQwgtq9sJDw92/vSGeYdRn+oCAxJ14eObC
|
||||
sVwcfJARLt45btEnx+zRCAHAHQHpV6qTGT6nqg57XuM9iNNdyTGKRU+Iklgb9LRx
|
||||
VAQfbn5uXYb5j2ox5pjxtbXTf9Lbo7RkygcWSKZPWmYgGsKS6jmXkDa/TyOlPxkb
|
||||
aknpPbYMBztRT4Ju0VU4
|
||||
=4Dnl
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
@@ -1,15 +1,21 @@
|
||||
# HG changeset patch
|
||||
|
||||
From: Martin Sirringhaus <martin.sirringhaus@suse.com>
|
||||
|
||||
# User M. Sirringhaus <msirringhaus@suse.de>
|
||||
# Date 1645518286 -3600
|
||||
# Tue Feb 22 09:24:46 2022 +0100
|
||||
# Node ID 494640792b4677f6462e95b90a54a4e22aeb738b
|
||||
# Parent 81832d035e101471dcf52dd91de287268add7a91
|
||||
imported patch one_swizzle_to_rule_them_all.patch
|
||||
---
|
||||
gfx/webrender_bindings/RenderCompositorSWGL.cpp | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
Index: firefox-115.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
|
||||
===================================================================
|
||||
--- firefox-115.0.orig/gfx/webrender_bindings/RenderCompositorSWGL.cpp
|
||||
+++ firefox-115.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
|
||||
diff --git a/gfx/webrender_bindings/RenderCompositorSWGL.cpp b/gfx/webrender_bindings/RenderCompositorSWGL.cpp
|
||||
index 664416a407a8..2b0e9e16adb7 100644
|
||||
--- a/gfx/webrender_bindings/RenderCompositorSWGL.cpp
|
||||
+++ b/gfx/webrender_bindings/RenderCompositorSWGL.cpp
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "RenderCompositorSWGL.h"
|
||||
|
||||
@@ -18,7 +24,7 @@ Index: firefox-115.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
|
||||
#include "mozilla/widget/CompositorWidget.h"
|
||||
|
||||
#ifdef MOZ_WIDGET_GTK
|
||||
@@ -242,6 +243,13 @@ void RenderCompositorSWGL::CommitMappedB
|
||||
@@ -240,6 +241,13 @@ void RenderCompositorSWGL::CommitMappedBuffer(bool aDirty) {
|
||||
}
|
||||
mDT->Flush();
|
||||
|
||||
|
@@ -1,15 +1,22 @@
|
||||
# HG changeset patch
|
||||
|
||||
From: Martin Sirringhaus <martin.sirringhaus@suse.com>
|
||||
|
||||
# User M. Sirringhaus <msirringhaus@suse.de>
|
||||
# Date 1645518286 -3600
|
||||
# Tue Feb 22 09:24:46 2022 +0100
|
||||
# Node ID 81832d035e101471dcf52dd91de287268add7a91
|
||||
# Parent 66f7ce16eb4965108687280e5443edd610631efb
|
||||
imported patch svg-rendering.patch
|
||||
---
|
||||
image/imgFrame.cpp | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
diff --git a/image/imgFrame.cpp b/image/imgFrame.cpp
|
||||
index 95f23479df9a..a6963a02e1ff 100644
|
||||
--- a/image/imgFrame.cpp
|
||||
+++ b/image/imgFrame.cpp
|
||||
@@ -372,6 +372,17 @@ nsresult imgFrame::InitWithDrawable(gfxD
|
||||
@@ -382,6 +382,17 @@ nsresult imgFrame::InitWithDrawable(gfxDrawable* aDrawable,
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
||||
|
14
tar_stamps
14
tar_stamps
@@ -1,10 +1,10 @@
|
||||
PRODUCT="firefox"
|
||||
CHANNEL="release"
|
||||
VERSION="129.0.1"
|
||||
VERSION_SUFFIX=""
|
||||
PREV_VERSION="129.0"
|
||||
PREV_VERSION_SUFFIX=""
|
||||
VERSION="140.1.0"
|
||||
VERSION_SUFFIX="esr"
|
||||
PREV_VERSION="140.0.0"
|
||||
PREV_VERSION_SUFFIX="esr"
|
||||
#SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
|
||||
RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-release"
|
||||
RELEASE_TAG="9a56b747aa5f53cb8784337f8c5d6a056d11c5e7"
|
||||
RELEASE_TIMESTAMP="20240812083845"
|
||||
RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-esr140"
|
||||
RELEASE_TAG="0c53463d0e61c036c08be46403e896e174f2182e"
|
||||
RELEASE_TIMESTAMP="20250714132824"
|
||||
|
Reference in New Issue
Block a user