tbb-commits
Threads by month
- ----- 2025 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 1 participants
- 19540 discussions
[tor-browser-build/maint-11.0a8] Release preparations for 11.0a8
by sysrqb@torproject.org 09 Oct '21
by sysrqb@torproject.org 09 Oct '21
09 Oct '21
commit ddaba554bdd12ccf74ff5faf131a94d888ea3a2c
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Fri Oct 8 18:03:39 2021 +0000
Release preparations for 11.0a8
Version and Changelog updates
---
projects/geckoview/config | 2 +-
.../tor-browser/Bundle-Data/Docs/ChangeLog.txt | 4 +
projects/tor-browser/allowed_addons.json | 744 +++++++++++----------
rbm.conf | 4 +-
4 files changed, 388 insertions(+), 366 deletions(-)
diff --git a/projects/geckoview/config b/projects/geckoview/config
index fba0d9b..a05719b 100644
--- a/projects/geckoview/config
+++ b/projects/geckoview/config
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
version: '[% c("abbrev") %]'
filename: 'geckoview-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
-git_hash: 'tor-browser-[% c("var/geckoview_version") %]-[% c("var/torbrowser_branch") %]-1-build1'
+git_hash: 'tor-browser-[% c("var/geckoview_version") %]-[% c("var/torbrowser_branch") %]-1-build2'
tag_gpg_id: 1
git_url: https://git.torproject.org/tor-browser.git
git_submodule: 1
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index ee52bb3..8d6bde7 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,7 @@
+Tor Browser 11.0a8 -- October 10 2021
+ * Android
+ * Bug 40052: Skip L10nRegistry source registration on Android [torbutton]
+
Tor Browser 11.0a7 -- September 10 2021
* All Platforms
* Update Openssl to 1.1.1l
diff --git a/projects/tor-browser/allowed_addons.json b/projects/tor-browser/allowed_addons.json
index d6b10b8..bafecdd 100644
--- a/projects/tor-browser/allowed_addons.json
+++ b/projects/tor-browser/allowed_addons.json
@@ -17,7 +17,7 @@
"picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/13/13299/13299734.png?mo…"
}
],
- "average_daily_users": 661457,
+ "average_daily_users": 695579,
"categories": {
"android": [
"experimental",
@@ -31,7 +31,7 @@
"contributions_url": "https://opencollective.com/darkreader?utm_content=product-page-contribute&u…",
"created": "2017-09-19T07:03:00Z",
"current_version": {
- "id": 5262581,
+ "id": 5303417,
"compatibility": {
"firefox": {
"min": "54.0",
@@ -42,28 +42,7 @@
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/darkreader/versions/52625…",
- "files": [
- {
- "id": 3806938,
- "created": "2021-07-07T11:58:46Z",
- "hash": "sha256:9ba482118d25675af31ee403c740972a106fdccfd117c4449c046b70f1a2d95d",
- "is_restart_required": false,
- "is_webextension": true,
- "is_mozilla_signed_extension": false,
- "platform": "all",
- "size": 541270,
- "status": "public",
- "url": "https://addons.mozilla.org/firefox/downloads/file/3806938/dark_reader-4.9.3…",
- "permissions": [
- "storage",
- "tabs",
- "theme",
- "<all_urls>"
- ],
- "optional_permissions": []
- }
- ],
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/darkreader/versions/53034…",
"is_strict_compatibility_enabled": false,
"license": {
"id": 22,
@@ -97,10 +76,33 @@
"url": "http://www.opensource.org/licenses/mit-license.php"
},
"release_notes": {
- "en-US": "- Dynamic mode bug fixes and performance improvements.\n- Minor UI improvements.\n- Users' fixes for websites."
+ "en-US": "- Fixed settings not being saved.\n- Fixed not working popup for some users.\n- Dynamic mode performance improvements.\n- v5 Preview design update.\n- Users' fixes for websites."
},
"reviewed": null,
- "version": "4.9.34"
+ "version": "4.9.39",
+ "files": [
+ {
+ "id": 3847766,
+ "created": "2021-10-01T14:43:47Z",
+ "hash": "sha256:570728350a0ada6dff2077512fbe14348ba8c841489320f5a4f57d5525a59454",
+ "is_restart_required": false,
+ "is_webextension": true,
+ "is_mozilla_signed_extension": false,
+ "platform": "all",
+ "size": 560309,
+ "status": "public",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3847766/dark_reader-4.9.3…",
+ "permissions": [
+ "alarms",
+ "contextMenus",
+ "storage",
+ "tabs",
+ "theme",
+ "<all_urls>"
+ ],
+ "optional_permissions": []
+ }
+ ]
},
"default_locale": "en-US",
"description": {
@@ -164,7 +166,7 @@
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2021-07-07T12:32:16Z",
+ "last_updated": "2021-10-04T09:03:41Z",
"name": {
"ar": "Dark Reader",
"bn": "Dark Reader",
@@ -237,10 +239,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.5641,
- "bayesian_average": 4.562755895987041,
- "count": 3838,
- "text_count": 1244
+ "average": 4.5613,
+ "bayesian_average": 4.559966853638345,
+ "count": 3916,
+ "text_count": 1263
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/darkreader/reviews/",
"requires_payment": false,
@@ -325,11 +327,13 @@
"zh-CN": "https://github.com/darkreader/darkreader",
"zh-TW": "https://github.com/darkreader/darkreader"
},
- "tags": [],
+ "tags": [
+ "dark mode"
+ ],
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/darkreader/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/darkreader/versions/",
- "weekly_downloads": 21102
+ "weekly_downloads": 24111
},
"notes": null
},
@@ -345,7 +349,7 @@
"picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/5/5474/5474073.png?modif…"
}
],
- "average_daily_users": 704025,
+ "average_daily_users": 733783,
"categories": {
"android": [
"security-privacy"
@@ -369,6 +373,20 @@
}
},
"edit_url": "https://addons.mozilla.org/en-US/developers/addon/https-everywhere/versions…",
+ "is_strict_compatibility_enabled": false,
+ "license": {
+ "id": 5278,
+ "is_custom": true,
+ "name": {
+ "en-US": "Multiple"
+ },
+ "url": "https://addons.mozilla.org/en-US/firefox/addon/https-everywhere/license/202…"
+ },
+ "release_notes": {
+ "en-US": "2021.7.13\n* Amend Incognito Key for Chrome and Firefox #20092\n* Fix unexpected arithmetic operations on strings #20043\n* Remove Top Alexa Labeller #20083\n* Update deprecated log function #20101\n* Patch Chrome Test Failure #20102"
+ },
+ "reviewed": null,
+ "version": "2021.7.13",
"files": [
{
"id": 3809748,
@@ -393,21 +411,7 @@
],
"optional_permissions": []
}
- ],
- "is_strict_compatibility_enabled": false,
- "license": {
- "id": 5278,
- "is_custom": true,
- "name": {
- "en-US": "Multiple"
- },
- "url": "https://addons.mozilla.org/en-US/firefox/addon/https-everywhere/license/202…"
- },
- "release_notes": {
- "en-US": "2021.7.13\n* Amend Incognito Key for Chrome and Firefox #20092\n* Fix unexpected arithmetic operations on strings #20043\n* Remove Top Alexa Labeller #20083\n* Update deprecated log function #20101\n* Patch Chrome Test Failure #20102"
- },
- "reviewed": null,
- "version": "2021.7.13"
+ ]
},
"default_locale": "en-US",
"description": {
@@ -479,9 +483,9 @@
},
"ratings": {
"average": 4.6632,
- "bayesian_average": 4.66069632192248,
- "count": 2111,
- "text_count": 415
+ "bayesian_average": 4.660699978581624,
+ "count": 2144,
+ "text_count": 427
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/https-everywhere/reviews/",
"requires_payment": false,
@@ -504,11 +508,13 @@
"support_url": {
"en-US": "https://www.eff.org/https-everywhere"
},
- "tags": [],
+ "tags": [
+ "security"
+ ],
"type": "extension",
"url": "https://www.eff.org/https-everywhere",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/https-everywhere/versions/",
- "weekly_downloads": 12652
+ "weekly_downloads": 13289
},
"notes": null
},
@@ -524,7 +530,7 @@
"picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/6/6937/6937656.png?modif…"
}
],
- "average_daily_users": 207951,
+ "average_daily_users": 222216,
"categories": {
"android": [
"security-privacy"
@@ -536,7 +542,7 @@
"contributions_url": "",
"created": "2014-06-10T05:46:02Z",
"current_version": {
- "id": 5128293,
+ "id": 5289638,
"compatibility": {
"firefox": {
"min": "56.0a1",
@@ -547,19 +553,34 @@
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/decentraleyes/versions/51…",
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/decentraleyes/versions/52…",
+ "is_strict_compatibility_enabled": false,
+ "license": {
+ "id": 3338,
+ "is_custom": false,
+ "name": {
+ "en-US": "Mozilla Public License, version 2.0"
+ },
+ "url": "http://www.mozilla.org/MPL/2.0/"
+ },
+ "release_notes": {
+ "en-US": "<i>New features:</i>\n\n- Added support for preconfigured enterprise policies.\n\n<i>New languages:</i>\n\n- Added support for the Albanian language.\n- Added partial support for the Sinhala language.\n- Added partial support for the Punjabi language.\n\n<i>Enhancements:</i>\n\n- Improved render performance of the popup panel.\n- Implemented preference prioritization logic.\n- Added additional resources to the staging environment.\n- Added dark mode-support to the welcome page.\n\n<i>Other changes:</i>\n\n- Applied a minor security update to the audit tool.\n- Applied various performance optimizations and stability improvements.\n- Improved and extended various existing localizations.",
+ "nl": ""
+ },
+ "reviewed": null,
+ "version": "2.0.16",
"files": [
{
- "id": 3672658,
- "created": "2020-11-05T02:52:56Z",
- "hash": "sha256:2554069168458cc1351e5d37ee995de044e514ec72369829ff0bcbf31d586ddf",
+ "id": 3833987,
+ "created": "2021-09-02T02:21:27Z",
+ "hash": "sha256:fa87ceac1242c26a40c07e31be62d519c4e2cd6ffb5c1f83248cc924766465c9",
"is_restart_required": false,
"is_webextension": true,
"is_mozilla_signed_extension": false,
"platform": "all",
- "size": 6857292,
+ "size": 6939989,
"status": "public",
- "url": "https://addons.mozilla.org/firefox/downloads/file/3672658/decentraleyes-2.0…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3833987/decentraleyes-2.0…",
"permissions": [
"*://*/*",
"privacy",
@@ -572,21 +593,7 @@
],
"optional_permissions": []
}
- ],
- "is_strict_compatibility_enabled": false,
- "license": {
- "id": 3338,
- "is_custom": false,
- "name": {
- "en-US": "Mozilla Public License, version 2.0"
- },
- "url": "http://www.mozilla.org/MPL/2.0/"
- },
- "release_notes": {
- "en-US": "<i>New languages:</i>\n\n- Added support for the Ukrainian language.\n- Added support for the Catalan language.\n- Added partial support for the Bengali language.\n- Added support for the Croatian language.\n\n<i>Enhancements:</i>\n\n- Significantly optimized core web request listener-related logic.\n- Improved support for recent mobile versions of Firefox.\n\n<i>Other changes:</i>\n\n- Applied various performance optimizations and stability improvements.\n- Improved and extended various existing localizations."
- },
- "reviewed": null,
- "version": "2.0.15"
+ ]
},
"default_locale": "en-US",
"description": {
@@ -661,7 +668,7 @@
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2020-11-05T10:28:48Z",
+ "last_updated": "2021-09-03T09:18:28Z",
"name": {
"ar": "Decentraleyes",
"bg": "Decentraleyes",
@@ -737,10 +744,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.8002,
- "bayesian_average": 4.795452199110953,
- "count": 1151,
- "text_count": 223
+ "average": 4.8003,
+ "bayesian_average": 4.795533245154584,
+ "count": 1162,
+ "text_count": 225
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/reviews/",
"requires_payment": false,
@@ -823,7 +830,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/versions/",
- "weekly_downloads": 4400
+ "weekly_downloads": 9001
},
"notes": null
},
@@ -839,7 +846,7 @@
"picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/5/5474/5474073.png?modif…"
}
],
- "average_daily_users": 928678,
+ "average_daily_users": 993769,
"categories": {
"android": [
"security-privacy"
@@ -863,6 +870,41 @@
}
},
"edit_url": "https://addons.mozilla.org/en-US/developers/addon/privacy-badger17/versions…",
+ "is_strict_compatibility_enabled": false,
+ "license": {
+ "id": 6,
+ "is_custom": false,
+ "name": {
+ "ca": "LlicÚncia GPL (General Public License) de GNU, version 3.0",
+ "cs": "GNU General Public License, verze 3.0",
+ "de": "GNU General Public License, Version 3.0",
+ "el": "GNU General Public License, ÎκΎοÏη 3.0",
+ "en-US": "GNU General Public License, version 3.0",
+ "es": "Licencia pública GNU, versión 3.0",
+ "eu": "GNU General Public License, 3.0 bertsioa",
+ "fa": "Ù
Ø¬ÙØ² عÙ
ÙÙ
Û Ú©ÙÛ Ú¯ÙÙØ ÙØ³Ø®ÙÙ Û³Ù«Û°",
+ "ga-IE": "GNU General Public License, leagan 3.0",
+ "id": "GNU General Public License, versi 3.0",
+ "it": "Licenza GNU General Public License, versione 3.0",
+ "ja": "GNU General Public License ããŒãžã§ã³ 3.0",
+ "nl": "GNU General Public License, versie 3.0",
+ "pl": "General Public Licence, wersja 3.0",
+ "pt-PT": "GNU General Public License, versão 3.0",
+ "ru": "GNU General Public License, веÑÑÐžÑ 3.0",
+ "sk": "GNU General Public License, verzia 3.0",
+ "sq": "Leje e Përgjithshme Publike GNU, version 3.0",
+ "uk": "GNU General Public License, веÑÑÑÑ 3.0",
+ "vi": "Giấy phép CÃŽng cá»ng GNU, phiên bản 3.0",
+ "zh-CN": "GNU éçšå
Œ
±ææïŒçæ¬ 3.0",
+ "zh-TW": "GNU General Public LicenseïŒçæ¬ 3.0"
+ },
+ "url": "http://www.gnu.org/licenses/gpl-3.0.html"
+ },
+ "release_notes": {
+ "en-US": "2021.8.17 is a bug fix release to fix link clicking on various websites. Notes for 2021.8.11:\n\n<ul><li>Improved buttons in the popup: Disable and Report are larger and use less text, Donate is now a link</li><li>Removed \"Prevent WebRTC from leaking local IP address\" from the options page. If you previously enabled this setting, it remains available for now. However, the setting is now deprecated and will be removed in a future update. To learn more, visit <a href=\"https://outgoing.prod.mozaws.net/v1/af49a1a8134f54e070543c835f324c55c326cee…" rel=\"nofollow\">https://github.com/EFForg/privacybadger/issues/2782</a></li><li>Improved dark theme in Chrome</li><li>Fixed various site breakages</li><li>Improved translations (Simplified Chinese, Esperanto, French, German, Greek, Hebrew, Italian, Polish, Spanish, Swedish, Ukrainian)</li></ul>"
+ },
+ "reviewed": null,
+ "version": "2021.8.17",
"files": [
{
"id": 3826636,
@@ -1277,42 +1319,7 @@
],
"optional_permissions": []
}
- ],
- "is_strict_compatibility_enabled": false,
- "license": {
- "id": 6,
- "is_custom": false,
- "name": {
- "ca": "LlicÚncia GPL (General Public License) de GNU, version 3.0",
- "cs": "GNU General Public License, verze 3.0",
- "de": "GNU General Public License, Version 3.0",
- "el": "GNU General Public License, ÎκΎοÏη 3.0",
- "en-US": "GNU General Public License, version 3.0",
- "es": "Licencia pública GNU, versión 3.0",
- "eu": "GNU General Public License, 3.0 bertsioa",
- "fa": "Ù
Ø¬ÙØ² عÙ
ÙÙ
Û Ú©ÙÛ Ú¯ÙÙØ ÙØ³Ø®ÙÙ Û³Ù«Û°",
- "ga-IE": "GNU General Public License, leagan 3.0",
- "id": "GNU General Public License, versi 3.0",
- "it": "Licenza GNU General Public License, versione 3.0",
- "ja": "GNU General Public License ããŒãžã§ã³ 3.0",
- "nl": "GNU General Public License, versie 3.0",
- "pl": "General Public Licence, wersja 3.0",
- "pt-PT": "GNU General Public License, versão 3.0",
- "ru": "GNU General Public License, веÑÑÐžÑ 3.0",
- "sk": "GNU General Public License, verzia 3.0",
- "sq": "Leje e Përgjithshme Publike GNU, version 3.0",
- "uk": "GNU General Public License, веÑÑÑÑ 3.0",
- "vi": "Giấy phép CÃŽng cá»ng GNU, phiên bản 3.0",
- "zh-CN": "GNU éçšå
Œ
±ææïŒçæ¬ 3.0",
- "zh-TW": "GNU General Public LicenseïŒçæ¬ 3.0"
- },
- "url": "http://www.gnu.org/licenses/gpl-3.0.html"
- },
- "release_notes": {
- "en-US": "2021.8.17 is a bug fix release to fix link clicking on various websites. Notes for 2021.8.11:\n\n<ul><li>Improved buttons in the popup: Disable and Report are larger and use less text, Donate is now a link</li><li>Removed \"Prevent WebRTC from leaking local IP address\" from the options page. If you previously enabled this setting, it remains available for now. However, the setting is now deprecated and will be removed in a future update. To learn more, visit <a href=\"https://outgoing.prod.mozaws.net/v1/af49a1a8134f54e070543c835f324c55c326cee…" rel=\"nofollow\">https://github.com/EFForg/privacybadger/issues/2782</a></li><li>Improved dark theme in Chrome</li><li>Fixed various site breakages</li><li>Improved translations (Simplified Chinese, Esperanto, French, German, Greek, Hebrew, Italian, Polish, Spanish, Swedish, Ukrainian)</li></ul>"
- },
- "reviewed": null,
- "version": "2021.8.17"
+ ]
},
"default_locale": "en-US",
"description": {
@@ -1382,10 +1389,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.7917,
- "bayesian_average": 4.788806543982308,
- "count": 1887,
- "text_count": 376
+ "average": 4.7921,
+ "bayesian_average": 4.789202711954273,
+ "count": 1910,
+ "text_count": 381
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17/reviews/",
"requires_payment": false,
@@ -1409,7 +1416,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17/versions/",
- "weekly_downloads": 15952
+ "weekly_downloads": 34671
},
"notes": null
},
@@ -1425,7 +1432,7 @@
"picture_url": null
}
],
- "average_daily_users": 4899877,
+ "average_daily_users": 5269033,
"categories": {
"android": [
"security-privacy"
@@ -1437,54 +1444,18 @@
"contributions_url": "",
"created": "2015-04-25T07:26:22Z",
"current_version": {
- "id": 5272512,
+ "id": 5302965,
"compatibility": {
"firefox": {
- "min": "57.0",
+ "min": "60.0",
"max": "*"
},
"android": {
- "min": "57.0",
+ "min": "60.0",
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/ublock-origin/versions/52…",
- "files": [
- {
- "id": 3816867,
- "created": "2021-07-28T16:56:06Z",
- "hash": "sha256:b3a3c81891acb4620e33dd548b50375aad826376044a6143b5a947d0406a559e",
- "is_restart_required": false,
- "is_webextension": true,
- "is_mozilla_signed_extension": false,
- "platform": "all",
- "size": 2834032,
- "status": "public",
- "url": "https://addons.mozilla.org/firefox/downloads/file/3816867/ublock_origin-1.3…",
- "permissions": [
- "dns",
- "menus",
- "privacy",
- "storage",
- "tabs",
- "unlimitedStorage",
- "webNavigation",
- "webRequest",
- "webRequestBlocking",
- "<all_urls>",
- "http://*/*",
- "https://*/*",
- "file://*/*",
- "https://easylist.to/*",
- "https://*.fanboy.co.nz/*",
- "https://filterlists.com/*",
- "https://forums.lanik.us/*",
- "https://github.com/*",
- "https://*.github.io/*"
- ],
- "optional_permissions": []
- }
- ],
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/ublock-origin/versions/53…",
"is_strict_compatibility_enabled": false,
"license": {
"id": 6,
@@ -1516,10 +1487,46 @@
"url": "http://www.gnu.org/licenses/gpl-3.0.html"
},
"release_notes": {
- "en-US": "<b>Closed as fixed:</b>\n\n- <a href=\"https://outgoing.prod.mozaws.net/v1/ed252fd41f6f4eae57ca94c28a28d4d595db8b3…" rel=\"nofollow\">uBO 1.37 breaks at least some sites that use googletagmanager if specific filters in use</a>"
+ "en-US": "See complete release notes for <a href=\"https://outgoing.prod.mozaws.net/v1/39b2ede80ef84c6164bf4ae0abebd10427c27c3…" rel=\"nofollow\">1.38.2</a> and <a href=\"https://outgoing.prod.mozaws.net/v1/e1b8675de2590801991b0bbabc7584efad8e4e3…" rel=\"nofollow\">1.38.0</a>.\n\n<b>1.38.2</b>\n\n<b>Closed as fixed:</b>\n\n<ul><li><a href=\"https://outgoing.prod.mozaws.net/v1/7bbd3342d12ca16af4ec711a95c97276d546bc9…" rel=\"nofollow\">Regression with <code>important</code> filter option</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/f32bfbb8adb95bb37c0914a987b617223931088…" rel=\"nofollow\">Weird issues with removeparam and negated typ
es</a></li></ul>\n<b>1.38.0</b>\n\n<b>New</b>\n\n<b>:matches-path(...)</b>\n\nNew cosmetic procedural operator, <code>:matches-path(...)</code>. See <a href=\"https://outgoing.prod.mozaws.net/v1/0b8db97707b495cc09519fc174fe38e430a092b…" rel=\"nofollow\">\"Add $path modifier of Adguard or any equivalents of this\"</a>.\n\n<b>Removed</b>\n\nThe setting <em>\"Prevent WebRTC from leaking local IP addresses\"</em> has been removed since it is no longer necessary in modern browsers, except for Firefox for Android where the issue is still present.\n\n<b>Closed as fixed:</b>\n\n<ul><li><a href=\"https://outgoing.prod.mozaws.net/v1/36a3ee268d5c299e8ec08b1ebe63a249b96d541…" rel=\"nofollow\">Remove WebRTC leak prevention</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/33554784d1a5f07bad97857cd755097e11f298e…
c0ce5dc6abc4abc/https%3A//github.com/uBlockOrigin/uBlock-issues/issues/1717\" rel=\"nofollow\">$removeparam doesn't work well with UrlEncoded gb2312 Chinese word</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/dbff64ae643a44b8c5d0bc0dd90a1117a5056e4…" rel=\"nofollow\">Scriptlets don't work randomly in Firefox</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/c4e66447786a108f2f815a3619de33d88d335de…" rel=\"nofollow\">Security: comments can be used to smuggle url() functions into css values</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/d7b163312b5f8028fd69980302a9e655899d367…" rel=\"nofollow\">Prevent uBO from hiding html or body when matched by a generic cosmetic filter</a></li><li><a href=\"https://outg
oing.prod.mozaws.net/v1/63094c0ffc0ae3cbcb87091614d2ba518308691a5477fe1a3f0…" rel=\"nofollow\">On Android Popup Overlays [or Underlays] On-Screen Navigation Buttons</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/0b8db97707b495cc09519fc174fe38e430a092b…" rel=\"nofollow\">Add $path modifier of Adguard or any equivalents of this</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/d6e7c2667106e016708e356d1015c8b6c9d6a17…" rel=\"nofollow\">The overview panel will not show everything if the uBO's icon is placed in the Firefox overflow menu</a></li><li>[patch by @vtriolet] <a href=\"https://outgoing.prod.mozaws.net/v1/60071caa5c95750eda947868f230780fa114825…
s/1676\" rel=\"nofollow\">TypeError in noscript-spoof scriptlet with invalid meta refresh URL</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/cc410f918b9e5bd668bc1cb5d575c8c3cfd7815…" rel=\"nofollow\">TypeError when trying to use element picker on plaintext resource</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/9655be9bbec985b682e4e488d739945244b3943…" rel=\"nofollow\">Split out core functionality into separate module</a>\n <ul> <li>This is of course an ongoing work for the foreseeable future, but the concrete goal sought in the issue has been reached, i.e. the static network filtering engine can be used as a nodejs module with no external dependencies.\n </li><li>Since uBO's codebase now uses <a href=\"https://outgoing.prod.mozaws.net/v1/ab012f71e112b4af02ca4ced93600a107437074…
9037f7a12cf/https%3A//developer.mozilla.org/en-US/docs/Web/JavaScript/Guide…" rel=\"nofollow\">JS modules</a>, the minimum version of supported browsers has been increased to Chromium 61, Firefox 60, and Opera 48.\n </li></ul></li></ul>\n<b>Notable commits without en entry in the issue tracker</b>\n\n<ul><li><a href=\"https://outgoing.prod.mozaws.net/v1/35b2226f10cfaa31e279d899cffe83bc92f0080…" rel=\"nofollow\">Better lookup all elements under mouse cursor in element picker</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/8e7fddc8fd19ebc5b738b23aa448c714fe2beae…" rel=\"nofollow\">Add visual hint to grab area of element picker dialog</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/fa918b16dc66724a02233d59579933b99a7ddaa…
c6/https%3A//github.com/gorhill/uBlock/commit/745fbd1c02b7179052ba97f51c54f…" rel=\"nofollow\">Add no-xhr-if scriptlet</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/6a63adca3212cc590f35882686bad7fe9e1afd6…" rel=\"nofollow\">Refactor hntrie to avoid the need for boundary cells</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/b7d41befb2148b7edfdd47498c92e820a9717c4…" rel=\"nofollow\">Fix bad test in WASM version of HNTrieContainer</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/b0518dbc267b256317e3d65f33ff09b32101a6b…" rel=\"nofollow\">Export the rule-based filtering engines to the nodejs package</a></li><li><a href=\"http
s://outgoing.prod.mozaws.net/v1/0672264a1f035c7e4915dee9fc01762b9bde0b0a20f…" rel=\"nofollow\">Rewrite logical expressions for ESLint</a></li><li>[patch by @mjethani] <a href=\"https://outgoing.prod.mozaws.net/v1/23acba3b6ffca69772b0b89f306ab3022375fc3…" rel=\"nofollow\">Add Makefile</a></li><li>[patch by @mjethani] <a href=\"https://outgoing.prod.mozaws.net/v1/c0eeac8448e88220d7da49ad01f30027c5cbd0c…" rel=\"nofollow\">Make uAssets a submodule</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/5c2bd6088ce0c5974482f63ed846f340104ebe7…" rel=\"nofollow\">Ensure compiled sections are ordered i
n ascending id</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/759a262bccef4602e39107c2f3c999c95044c48…" rel=\"nofollow\">Fix handling of some procedural cosmetic filters with explicit <code>:scope</code></a></li></ul>\n<a href=\"https://outgoing.prod.mozaws.net/v1/ebe2bbe808db6cfa38ec887f0f115ef5b16e7cc…" rel=\"nofollow\">Commits history since last version</a>."
},
"reviewed": null,
- "version": "1.37.2"
+ "version": "1.38.2",
+ "files": [
+ {
+ "id": 3847314,
+ "created": "2021-09-30T13:05:07Z",
+ "hash": "sha256:11c02e45981aec36a006bb5bf5d72bfc94b16361995ae8e49b1bd9b765346dad",
+ "is_restart_required": false,
+ "is_webextension": true,
+ "is_mozilla_signed_extension": false,
+ "platform": "all",
+ "size": 2851296,
+ "status": "public",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3847314/ublock_origin-1.3…",
+ "permissions": [
+ "dns",
+ "menus",
+ "privacy",
+ "storage",
+ "tabs",
+ "unlimitedStorage",
+ "webNavigation",
+ "webRequest",
+ "webRequestBlocking",
+ "<all_urls>",
+ "http://*/*",
+ "https://*/*",
+ "file://*/*",
+ "https://easylist.to/*",
+ "https://*.fanboy.co.nz/*",
+ "https://filterlists.com/*",
+ "https://forums.lanik.us/*",
+ "https://github.com/*",
+ "https://*.github.io/*"
+ ],
+ "optional_permissions": []
+ }
+ ]
},
"default_locale": "en-US",
"description": {
@@ -1609,7 +1616,7 @@
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2021-08-27T15:05:49Z",
+ "last_updated": "2021-10-04T08:58:19Z",
"name": {
"ar": "uBlock Origin",
"bg": "uBlock Origin",
@@ -1754,10 +1761,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.7674,
- "bayesian_average": 4.766958863380986,
- "count": 12311,
- "text_count": 3351
+ "average": 4.7682,
+ "bayesian_average": 4.767759779683781,
+ "count": 12497,
+ "text_count": 3377
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/reviews/",
"requires_payment": false,
@@ -1808,11 +1815,18 @@
"ka": "https://old.reddit.com/r/uBlockOrigin/",
"ur": "https://old.reddit.com/r/uBlockOrigin/"
},
- "tags": [],
+ "tags": [
+ "ad blocker",
+ "anti malware",
+ "anti tracker",
+ "content blocker",
+ "privacy",
+ "security"
+ ],
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/versions/",
- "weekly_downloads": 113962
+ "weekly_downloads": 123786
},
"notes": null
},
@@ -1828,7 +1842,7 @@
"picture_url": null
}
],
- "average_daily_users": 78944,
+ "average_daily_users": 80772,
"categories": {
"android": [
"photos-media"
@@ -1852,26 +1866,6 @@
}
},
"edit_url": "https://addons.mozilla.org/en-US/developers/addon/video-background-play-fix…",
- "files": [
- {
- "id": 3764692,
- "created": "2021-04-22T21:46:53Z",
- "hash": "sha256:73cfa682e0398ca1b51890340e4a6df3fcea945f54e9e677e9db942152aa614d",
- "is_restart_required": false,
- "is_webextension": true,
- "is_mozilla_signed_extension": false,
- "platform": "all",
- "size": 12088,
- "status": "public",
- "url": "https://addons.mozilla.org/firefox/downloads/file/3764692/videowiedergabe_i…",
- "permissions": [
- "*://*.youtube.com/*",
- "*://*.youtube-nocookie.com/*",
- "*://*.vimeo.com/*"
- ],
- "optional_permissions": []
- }
- ],
"is_strict_compatibility_enabled": false,
"license": {
"id": 22,
@@ -1910,7 +1904,27 @@
"ro": "ÃmbunÄtÄÈiri experimentale pentru Youtube."
},
"reviewed": null,
- "version": "1.6.0"
+ "version": "1.6.0",
+ "files": [
+ {
+ "id": 3764692,
+ "created": "2021-04-22T21:46:53Z",
+ "hash": "sha256:73cfa682e0398ca1b51890340e4a6df3fcea945f54e9e677e9db942152aa614d",
+ "is_restart_required": false,
+ "is_webextension": true,
+ "is_mozilla_signed_extension": false,
+ "platform": "all",
+ "size": 12088,
+ "status": "public",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3764692/videowiedergabe_i…",
+ "permissions": [
+ "*://*.youtube.com/*",
+ "*://*.youtube-nocookie.com/*",
+ "*://*.vimeo.com/*"
+ ],
+ "optional_permissions": []
+ }
+ ]
},
"default_locale": "en-US",
"description": {
@@ -1948,10 +1962,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.5203,
- "bayesian_average": 4.51525768651512,
- "count": 1009,
- "text_count": 381
+ "average": 4.5201,
+ "bayesian_average": 4.515054688905204,
+ "count": 1021,
+ "text_count": 387
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/video-background-play-fix/re…",
"requires_payment": false,
@@ -1973,7 +1987,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/video-background-play-fix/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/video-background-play-fix/ve…",
- "weekly_downloads": 349
+ "weekly_downloads": 280
},
"notes": null
},
@@ -1989,7 +2003,7 @@
"picture_url": null
}
],
- "average_daily_users": 95431,
+ "average_daily_users": 98750,
"categories": {
"android": [
"experimental",
@@ -2014,34 +2028,6 @@
}
},
"edit_url": "https://addons.mozilla.org/en-US/developers/addon/privacy-possum/versions/4…",
- "files": [
- {
- "id": 3360398,
- "created": "2019-07-18T08:01:21Z",
- "hash": "sha256:0840a8c443e25d8a65da22ce1b557216456b900a699b3541e42e1b47e8cb6c0e",
- "is_restart_required": false,
- "is_webextension": true,
- "is_mozilla_signed_extension": false,
- "platform": "all",
- "size": 284724,
- "status": "public",
- "url": "https://addons.mozilla.org/firefox/downloads/file/3360398/privacy_possum-20…",
- "permissions": [
- "tabs",
- "http://*/*",
- "https://*/*",
- "contextMenus",
- "webRequest",
- "webRequestBlocking",
- "webNavigation",
- "storage",
- "cookies",
- "*://twitter.com/*",
- "*://tweetdeck.twitter.com/*"
- ],
- "optional_permissions": []
- }
- ],
"is_strict_compatibility_enabled": false,
"license": {
"id": 6,
@@ -2076,7 +2062,35 @@
"en-US": "First update in a while! Sorry, having a full-time job does that. I welcome all the help I can get at <a href=\"https://outgoing.prod.mozaws.net/v1/602e8bbf1bf2ebf94898d7014c9c33280d857cb…" rel=\"nofollow\">https://github.com/cowlicks/privacypossum</a>\n\nI'm always happy to help folk contribute at any skill level. There is always some way to help.\n\nThis is mostly a release that improves testing and developer workflow stuff, which should help me make more frequent releases in the future.\n\nThere are also several minor bugfixes and updates."
},
"reviewed": null,
- "version": "2019.7.18"
+ "version": "2019.7.18",
+ "files": [
+ {
+ "id": 3360398,
+ "created": "2019-07-18T08:01:21Z",
+ "hash": "sha256:0840a8c443e25d8a65da22ce1b557216456b900a699b3541e42e1b47e8cb6c0e",
+ "is_restart_required": false,
+ "is_webextension": true,
+ "is_mozilla_signed_extension": false,
+ "platform": "all",
+ "size": 284724,
+ "status": "public",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3360398/privacy_possum-20…",
+ "permissions": [
+ "tabs",
+ "http://*/*",
+ "https://*/*",
+ "contextMenus",
+ "webRequest",
+ "webRequestBlocking",
+ "webNavigation",
+ "storage",
+ "cookies",
+ "*://twitter.com/*",
+ "*://tweetdeck.twitter.com/*"
+ ],
+ "optional_permissions": []
+ }
+ ]
},
"default_locale": "en-US",
"description": {
@@ -2128,10 +2142,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.4718,
- "bayesian_average": 4.456933270509478,
- "count": 337,
- "text_count": 95
+ "average": 4.4797,
+ "bayesian_average": 4.464936053096786,
+ "count": 344,
+ "text_count": 97
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-possum/reviews/",
"requires_payment": false,
@@ -2147,11 +2161,13 @@
"support_url": {
"en-US": "https://github.com/cowlicks"
},
- "tags": [],
+ "tags": [
+ "privacy"
+ ],
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-possum/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-possum/versions/",
- "weekly_downloads": 1484
+ "weekly_downloads": 1431
},
"notes": null
},
@@ -2167,7 +2183,7 @@
"picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/12/12929/12929064.png?mo…"
}
],
- "average_daily_users": 186586,
+ "average_daily_users": 193788,
"categories": {
"android": [
"photos-media",
@@ -2181,7 +2197,7 @@
"contributions_url": "https://www.paypal.com/donate?hosted_button_id=GLL4UNSNU6SQN&utm_content=pr…",
"created": "2017-06-17T15:23:33Z",
"current_version": {
- "id": 5270922,
+ "id": 5300256,
"compatibility": {
"firefox": {
"min": "68.0",
@@ -2192,35 +2208,7 @@
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/search_by_image/versions/…",
- "files": [
- {
- "id": 3815277,
- "created": "2021-07-25T20:46:43Z",
- "hash": "sha256:c893835efe00471376df0f60cb519bf35ffb72ed3c32362e4fb9b2faca87d1b9",
- "is_restart_required": false,
- "is_webextension": true,
- "is_mozilla_signed_extension": false,
- "platform": "all",
- "size": 704857,
- "status": "public",
- "url": "https://addons.mozilla.org/firefox/downloads/file/3815277/search_by_image-3…",
- "permissions": [
- "contextMenus",
- "storage",
- "tabs",
- "activeTab",
- "notifications",
- "webRequest",
- "webRequestBlocking",
- "<all_urls>",
- "http://*/*",
- "https://*/*",
- "file:///*"
- ],
- "optional_permissions": []
- }
- ],
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/search_by_image/versions/…",
"is_strict_compatibility_enabled": false,
"license": {
"id": 6,
@@ -2255,7 +2243,37 @@
"en-US": "Learn more about this release from the <a href=\"https://outgoing.prod.mozaws.net/v1/034fc31c913b4c441795892fe3d65db9f7edbe6…" rel=\"nofollow\">changelog</a>."
},
"reviewed": null,
- "version": "3.7.1"
+ "version": "3.9.1",
+ "files": [
+ {
+ "id": 3844605,
+ "created": "2021-09-24T07:50:46Z",
+ "hash": "sha256:c7d4c71e0abc59b387c34a5715768e568b9324d2dded21140904fb08751f9ca4",
+ "is_restart_required": false,
+ "is_webextension": true,
+ "is_mozilla_signed_extension": false,
+ "platform": "all",
+ "size": 653702,
+ "status": "public",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3844605/search_by_image-3…",
+ "permissions": [
+ "alarms",
+ "contextMenus",
+ "storage",
+ "unlimitedStorage",
+ "tabs",
+ "activeTab",
+ "notifications",
+ "webRequest",
+ "webRequestBlocking",
+ "<all_urls>",
+ "http://*/*",
+ "https://*/*",
+ "file:///*"
+ ],
+ "optional_permissions": []
+ }
+ ]
},
"default_locale": "en-US",
"description": {
@@ -2277,7 +2295,7 @@
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2021-07-26T11:54:11Z",
+ "last_updated": "2021-09-24T13:12:46Z",
"name": {
"en-US": "Search by Image"
},
@@ -2389,10 +2407,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.655,
- "bayesian_average": 4.649572141760124,
- "count": 971,
- "text_count": 193
+ "average": 4.6609,
+ "bayesian_average": 4.655469994915242,
+ "count": 985,
+ "text_count": 194
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/search_by_image/reviews/",
"requires_payment": false,
@@ -2413,7 +2431,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/search_by_image/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/search_by_image/versions/",
- "weekly_downloads": 3454
+ "weekly_downloads": 3326
},
"notes": null
},
@@ -2436,7 +2454,7 @@
"picture_url": null
}
],
- "average_daily_users": 58115,
+ "average_daily_users": 59979,
"categories": {
"android": [
"other"
@@ -2456,6 +2474,20 @@
}
},
"edit_url": "https://addons.mozilla.org/en-US/developers/addon/google-search-fixer/versi…",
+ "is_strict_compatibility_enabled": false,
+ "license": {
+ "id": 3338,
+ "is_custom": false,
+ "name": {
+ "en-US": "Mozilla Public License, version 2.0"
+ },
+ "url": "http://www.mozilla.org/MPL/2.0/"
+ },
+ "release_notes": {
+ "en-US": "This version features improves the performance and reliability of the add-on,\nand allows the Desktop mode to behave as intended."
+ },
+ "reviewed": null,
+ "version": "1.6",
"files": [
{
"id": 3655036,
@@ -2670,21 +2702,7 @@
],
"optional_permissions": []
}
- ],
- "is_strict_compatibility_enabled": false,
- "license": {
- "id": 3338,
- "is_custom": false,
- "name": {
- "en-US": "Mozilla Public License, version 2.0"
- },
- "url": "http://www.mozilla.org/MPL/2.0/"
- },
- "release_notes": {
- "en-US": "This version features improves the performance and reliability of the add-on,\nand allows the Desktop mode to behave as intended."
- },
- "reviewed": null,
- "version": "1.6"
+ ]
},
"default_locale": "en-US",
"description": {
@@ -2718,10 +2736,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.4575,
- "bayesian_average": 4.452669484127272,
- "count": 1036,
- "text_count": 281
+ "average": 4.4509,
+ "bayesian_average": 4.4460780552462875,
+ "count": 1049,
+ "text_count": 284
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/google-search-fixer/reviews/",
"requires_payment": false,
@@ -2741,7 +2759,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/google-search-fixer/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/google-search-fixer/versions/",
- "weekly_downloads": 29
+ "weekly_downloads": 37
},
"notes": null
},
@@ -2757,7 +2775,7 @@
"picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/0/0/143.png?modified=150…"
}
],
- "average_daily_users": 351112,
+ "average_daily_users": 365057,
"categories": {
"android": [
"performance",
@@ -2783,33 +2801,6 @@
}
},
"edit_url": "https://addons.mozilla.org/en-US/developers/addon/noscript/versions/5272300",
- "files": [
- {
- "id": 3816655,
- "created": "2021-07-28T06:38:27Z",
- "hash": "sha256:b833e81823986646dbc473ebbee987bd47757fbe79c9d1720150f08ba6ca9ba9",
- "is_restart_required": false,
- "is_webextension": true,
- "is_mozilla_signed_extension": false,
- "platform": "all",
- "size": 656784,
- "status": "public",
- "url": "https://addons.mozilla.org/firefox/downloads/file/3816655/noscript_security…",
- "permissions": [
- "contextMenus",
- "storage",
- "tabs",
- "unlimitedStorage",
- "webNavigation",
- "webRequest",
- "webRequestBlocking",
- "<all_urls>",
- "ftp://*/*",
- "file://*/*"
- ],
- "optional_permissions": []
- }
- ],
"is_strict_compatibility_enabled": false,
"license": {
"id": 13,
@@ -2844,7 +2835,34 @@
"en-US": "v 11.2.11\n============================================================\nx [nscl] Fixed JavaScript access to CSS rules broken on\n Chromium when unrestricted CSS is disabled - issue #204\nx Prevent Chromium builds from being sent to AMO for signing\nx [nscl] Fixed CPU/RAM overload on some pages with\n unrestricted CSS disabled but scripting enabled (not\n recommended setting) - issue #194, issue #199\nx [nscl] Fixed CPU spikes on Chromium triggered by automatic\n file downloads (thanks ptheborg for report)"
},
"reviewed": null,
- "version": "11.2.11"
+ "version": "11.2.11",
+ "files": [
+ {
+ "id": 3816655,
+ "created": "2021-07-28T06:38:27Z",
+ "hash": "sha256:b833e81823986646dbc473ebbee987bd47757fbe79c9d1720150f08ba6ca9ba9",
+ "is_restart_required": false,
+ "is_webextension": true,
+ "is_mozilla_signed_extension": false,
+ "platform": "all",
+ "size": 656784,
+ "status": "public",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3816655/noscript_security…",
+ "permissions": [
+ "contextMenus",
+ "storage",
+ "tabs",
+ "unlimitedStorage",
+ "webNavigation",
+ "webRequest",
+ "webRequestBlocking",
+ "<all_urls>",
+ "ftp://*/*",
+ "file://*/*"
+ ],
+ "optional_permissions": []
+ }
+ ]
},
"default_locale": "en-US",
"description": {
@@ -2865,7 +2883,7 @@
"zh-CN": "éèŠ\n<a href=\"https://outgoing.prod.mozaws.net/v1/e19d2306e457c98e6c3e03f52480e7206685d42…" rel=\"nofollow\">äžç¯åºç¡ç<b>NoScript 10 æå</b></a>\n\nä»è¢« NoScript 10 çæ° UI æå°æïŒ\nççè¿ç¯<a href=\"https://outgoing.prod.mozaws.net/v1/f5ad7f79289d1b2c198593e25708cba9ab4104a…" rel=\"nofollow\">çšæ·èŽ¡ç®ç NoScript 10 å
¥éš</a>ã\nè¿æè¿ç¯<a href=\"https://outgoing.prod.mozaws.net/v1/4e700d4e76086494b5553ff9e42d881037d3adc…" rel=\"nofollow\"> NoScript 10 \"Quantum\" vs NoScript 5 \"Classic\" (or \"Legacy\") comparison</a>ã\n\näœäžºâPC World World Class Awardâ倧å¥çè·åŸè
å¹¶å
çœ®äº Tor æµè§åšïŒNoScript å°äžºæšæäŸæäœ³ççœç»ä¿æ
€ã\n\nå®åªå
è®žåšæšéæ©çä¿¡ä»»åäžæ§è¡ JavaScriptãFlashãJava åå
¶ä»å¯æ§è¡å
容ïŒäŸåŠæšçå®¶åºé¶è¡çœç«ïŒèœå€çŒè§£å
æ¬ Spectre å Meltdown çè¿çšå¯å©çšæŒæŽã\n\nå€äºäºå
¶ç¬ç¹ç ClearClick ææ¯ïŒå®å¯ä»¥ä¿æ€æšçâ信任蟹çâäžåè·šç«ç¹èæ¬æ»å»ïŒXSSïŒïŒè·šåº DNS éæ°ç»å®/ CSRF æ»å»ïŒè·¯ç±åšé»å®¢ïŒåç¹å»å«æïŒClickjackingïŒå°è¯ã\n\nè¿ç§å
åå¶äººçæºå¶åšäžæå€±ä»»äœåèœçåæäžïŒé²æ¢å©çšå®å
šæŒæŽïŒå·²ç¥çè³æªç¥çïŒïŒè¿è¡æ»å»ã\näžå®¶ä»¬äžèŽåæïŒæ¥æ NoScript ç Firefox æŽå®å
š :-)\n\nåžžè§é®é¢è§£çïŒ<a href=\"https://outgoing.prod.mozaws.net/v1/8a4a623eb90a9becd02eed9474b3d82f9e6a93c…" rel=\"nofollow\">https://noscript.net/faq</a>\n论åïŒ<a href=\"https://outgoing.prod.mozaws.net/v1/8a6b9e607349db8d83719e8645277b459753899…
" rel=\"nofollow\">https://noscript.net/forum</a>"
},
"developer_comments": {
- "en-US": "Security issues affecting Firefox or the Tor Browser which can be fixed by a NoScript update are guaranteed to be addressed within 24 hours. This sometimes requires many updates to be issued in a short timespan, and when this happen you may notice NoScript UI's asking to \"<em>reload this page in order to operate properly</em>\". This is normal on \"live\" updates, and it just means the UI is out of sync with the page content, but there's no need to worry as <strong>all the restrictions to scripts and active content are still in place</strong>.",
+ "en-US": "Security issues affecting Firefox or the Tor Browser which can be fixed by a NoScript update are guaranteed to be addressed within 24 hours. This sometimes requires many updates to be issued in a short timespan, and when this happens you may notice NoScript UI's asking to \"<em>reload this page in order to operate properly</em>\". This is normal on \"live\" updates, and it just means the UI is out of sync with the page content, but there's no need to worry as <strong>all the restrictions to scripts and active content are still in place</strong>.",
"vi": "Vì nÆ¡i nà y khÃŽng phải là má»t diá»
n Äà n há» trợ, bạn sẜ khÃŽng nháºn ÄÆ°á»£c bất kì sá»± trợ giúp nà o á» Äây, và câu há»i cá»§a bạn có thá» sẜ bá» biến mất.\n\nNếu bạn cần há» trợ, vui lòng\n1) Äá»c FAQ: <a href=\"https://outgoing.prod.mozaws.net/v1/8e7d554d2a514b5ac64530fd2bee08d42dab512…" rel=\"nofollow\">http://noscript.net/faq</a>\n2) và o diá»
n Äà n nà y: <a href=\"https://outgoing.prod.mozaws.net/v1/a223b9b9c59b6a55f9c71a27aab7a5410118253…" rel=\"nofollow\">http://noscript.net/forum</a>\n3) liên há» trá»±c tiếp vá»i tÃŽi: <a href=\"https://outgoing.prod.mozaws.net/v1/8a23530493574ca29557b267b5d63d6f06fd0b8…" rel=\"nofollow\">http://maone.net</a>\n\nBạn luÃŽn ÄÆ°á»£c hoan nghênh!\n\nCÃC VẀN Äá» CÃI ÄẶT ÄÆ¯á»¢C NHẮC Tá»I TRONG FAQ 2.1, <a
href=\"https://outgoing.prod.mozaws.net/v1/b740116c06642d0cfd01391259960b99f7299fa…" rel=\"nofollow\">http://noscript.net/faq#qa2_1</a>",
"zh-CN": "å 䞺è¿éå¹¶äžæ¯åž®å©è®ºåïŒæä»¥æšåšè¿éæåºçé®é¢å°ç³æ²å€§æµ·ïŒåŸäžå°æä»¬çä»»äœåž®å©ã\n\nåŠææšéèŠåž®å©ïŒæšå¯ä»¥ïŒ\n1ïŒé
读垞è§é®é¢è§£çïŒ<a href=\"https://outgoing.prod.mozaws.net/v1/8e7d554d2a514b5ac64530fd2bee08d42dab512…" rel=\"nofollow\">http://noscript.net/faq</a>\n2ïŒè®¿é®è®ºåïŒ<a href=\"https://outgoing.prod.mozaws.net/v1/a223b9b9c59b6a55f9c71a27aab7a5410118253…" rel=\"nofollow\">http://noscript.net/forum</a>\n3ïŒçŽæ¥åæèç³»ïŒ<a href=\"https://outgoing.prod.mozaws.net/v1/8a23530493574ca29557b267b5d63d6f06fd0b8…" rel=\"nofollow\">http://maone.net</a>\n\néåžžæ¬¢è¿æšïŒ\n\næå
³å®è£
çé®é¢éœå
å«åšåžžè§é®é¢è§£ç2.1äžïŒ<a href=\"https://outgoing.prod.mozaws.net/v1/b740116c06642d0cfd01391259960b99f7299fa…
http%3A//noscript.net/faq%23qa2_1\" rel=\"nofollow\">http://noscript.net/faq#qa2_1</a>\n\néèŠäºé¡¹ïŒåšè¯¢é®æè¯è®ºå
³äºå¯åšæ¶åhttps://<a href=\"https://outgoing.prod.mozaws.net/v1/04f8ee575d40068bcc9955faa2f3969749fbe22…" rel=\"nofollow\">secure.informaction.com/ipecho</a> åéç*å®å
šå¿å*æ¥è¯¢æå®æåéä¿¡æ¯å°æšçWAN IPä¹åïŒè¯·é
读å
³äºWAN IPçä¿æ€ç¹æ§ <a href=\"https://outgoing.prod.mozaws.net/v1/5253c8b9f201aa735198552ef86d72cb558b30b…" rel=\"nofollow\">http://noscript.net/abe/wan</a> ïŒåš2.0çååžè¯Žæåè¿éçéç§æ¿çäžä¹ææå°ïŒãåŠææšå¯¹å®æŽçå¿åæ§åå®å
šçéç§ä¿æ€åèœæææçïŒåªéèŠæ£æ¥ïŒææŸæšä¿¡ä»»çäººæ£æ¥ïŒè¿éçæºä»£ç ïŒæä»¶æ¯content/DNS.jsã谢谢"
},
@@ -2982,10 +3000,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.3838,
- "bayesian_average": 4.381087184465328,
- "count": 1811,
- "text_count": 722
+ "average": 4.3828,
+ "bayesian_average": 4.380074109469608,
+ "count": 1826,
+ "text_count": 726
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/noscript/reviews/",
"requires_payment": false,
@@ -3021,7 +3039,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/noscript/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/noscript/versions/",
- "weekly_downloads": 8234
+ "weekly_downloads": 8193
},
"notes": null
},
@@ -3037,7 +3055,7 @@
"picture_url": null
}
],
- "average_daily_users": 122541,
+ "average_daily_users": 126280,
"categories": {
"android": [
"performance",
@@ -3063,30 +3081,6 @@
}
},
"edit_url": "https://addons.mozilla.org/en-US/developers/addon/youtube-high-definition/v…",
- "files": [
- {
- "id": 3719055,
- "created": "2021-02-01T14:06:14Z",
- "hash": "sha256:4ec1f8d3a2081b783d166f32b078d561f1a79942c450381a8d8305085cd24394",
- "is_restart_required": false,
- "is_webextension": true,
- "is_mozilla_signed_extension": false,
- "platform": "all",
- "size": 234119,
- "status": "public",
- "url": "https://addons.mozilla.org/firefox/downloads/file/3719055/youtube_high_defi…",
- "permissions": [
- "tabs",
- "storage",
- "cookies",
- "webRequest",
- "webRequestBlocking",
- "<all_urls>",
- "*://*.youtube.com/*"
- ],
- "optional_permissions": []
- }
- ],
"is_strict_compatibility_enabled": false,
"license": {
"id": 12,
@@ -3119,7 +3113,31 @@
},
"release_notes": null,
"reviewed": null,
- "version": "85.0.0"
+ "version": "85.0.0",
+ "files": [
+ {
+ "id": 3719055,
+ "created": "2021-02-01T14:06:14Z",
+ "hash": "sha256:4ec1f8d3a2081b783d166f32b078d561f1a79942c450381a8d8305085cd24394",
+ "is_restart_required": false,
+ "is_webextension": true,
+ "is_mozilla_signed_extension": false,
+ "platform": "all",
+ "size": 234119,
+ "status": "public",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3719055/youtube_high_defi…",
+ "permissions": [
+ "tabs",
+ "storage",
+ "cookies",
+ "webRequest",
+ "webRequestBlocking",
+ "<all_urls>",
+ "*://*.youtube.com/*"
+ ],
+ "optional_permissions": []
+ }
+ ]
},
"default_locale": "en-US",
"description": {
@@ -3170,10 +3188,10 @@
"category": "recommended"
},
"ratings": {
- "average": 3.9125,
- "bayesian_average": 3.9081909928823353,
- "count": 994,
- "text_count": 358
+ "average": 3.9131,
+ "bayesian_average": 3.908778716674277,
+ "count": 1001,
+ "text_count": 359
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/youtube-high-definition/revi…",
"requires_payment": false,
@@ -3192,7 +3210,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/youtube-high-definition/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/youtube-high-definition/vers…",
- "weekly_downloads": 1402
+ "weekly_downloads": 1519
},
"notes": null
}
diff --git a/rbm.conf b/rbm.conf
index d231de1..50e0a1d 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -57,8 +57,8 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '11.0a7'
- torbrowser_build: 'build2'
+ torbrowser_version: '11.0a8'
+ torbrowser_build: 'build1'
torbrowser_incremental_from:
- 11.0a4
- 11.0a5
1
0
[tor-browser/tor-browser-92.0-11.0-1] fixup! Bug 10760: Integrate TorButton to TorBrowser core
by sysrqb@torproject.org 09 Oct '21
by sysrqb@torproject.org 09 Oct '21
09 Oct '21
commit dac9fb1c2f31d05f29e720a8d6104555edd2fed2
Author: Richard Pospesel <richard(a)torproject.org>
Date: Fri Oct 8 17:07:08 2021 +0200
fixup! Bug 10760: Integrate TorButton to TorBrowser core
---
toolkit/torproject/torbutton | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/toolkit/torproject/torbutton b/toolkit/torproject/torbutton
index 5264bddf8bc7..03caae3ba467 160000
--- a/toolkit/torproject/torbutton
+++ b/toolkit/torproject/torbutton
@@ -1 +1 @@
-Subproject commit 5264bddf8bc71cbb4e88921b55e7b95fa4522b69
+Subproject commit 03caae3ba4676c4989af948458d6f02c6d3e1a8c
1
0
08 Oct '21
commit cfe7169306f95353af61473cb9114d48b79fc0b3
Author: Richard Pospesel <richard(a)torproject.org>
Date: Fri Oct 8 17:53:45 2021 +0200
Release preparations for 10.5.9
Version and Changelog updates
---
projects/geckoview/config | 2 +-
.../tor-browser/Bundle-Data/Docs/ChangeLog.txt | 4 +
projects/tor-browser/allowed_addons.json | 196 +++++++++++----------
rbm.conf | 4 +-
4 files changed, 107 insertions(+), 99 deletions(-)
diff --git a/projects/geckoview/config b/projects/geckoview/config
index b576ffc..19b6d49 100644
--- a/projects/geckoview/config
+++ b/projects/geckoview/config
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
version: '[% c("abbrev") %]'
filename: 'geckoview-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
-git_hash: 'tor-browser-[% c("var/geckoview_version") %]-[% c("var/torbrowser_branch") %]-1-build1'
+git_hash: 'tor-browser-[% c("var/geckoview_version") %]-[% c("var/torbrowser_branch") %]-1-build2'
tag_gpg_id: 1
git_url: https://git.torproject.org/tor-browser.git
git_submodule: 1
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index fdbbe18..2314568 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,7 @@
+Tor Browser 10.5.9 -- October 9 2021
+ * Android
+ * Bug 40052: Skip L10nRegistry source registration on Android [torbutton]
+
Tor Browser 10.5.8 -- October 5 2021
* Windows + OS X + Linux
* Update Firefox to 78.15.0esr
diff --git a/projects/tor-browser/allowed_addons.json b/projects/tor-browser/allowed_addons.json
index 3ca027a..2f3e8ee 100644
--- a/projects/tor-browser/allowed_addons.json
+++ b/projects/tor-browser/allowed_addons.json
@@ -17,7 +17,7 @@
"picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/13/13299/13299734.png?mo…"
}
],
- "average_daily_users": 686351,
+ "average_daily_users": 695579,
"categories": {
"android": [
"experimental",
@@ -31,7 +31,7 @@
"contributions_url": "https://opencollective.com/darkreader?utm_content=product-page-contribute&u…",
"created": "2017-09-19T07:03:00Z",
"current_version": {
- "id": 5298753,
+ "id": 5303417,
"compatibility": {
"firefox": {
"min": "54.0",
@@ -42,7 +42,7 @@
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/darkreader/versions/52987…",
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/darkreader/versions/53034…",
"is_strict_compatibility_enabled": false,
"license": {
"id": 22,
@@ -76,32 +76,31 @@
"url": "http://www.opensource.org/licenses/mit-license.php"
},
"release_notes": {
- "en-US": "- Fixed regression bugs after 4.9.35 release (hotkeys, Dev Tools, sunrise/sunset).\n- Users' fixes for websites."
+ "en-US": "- Fixed settings not being saved.\n- Fixed not working popup for some users.\n- Dynamic mode performance improvements.\n- v5 Preview design update.\n- Users' fixes for websites."
},
"reviewed": null,
- "version": "4.9.36",
+ "version": "4.9.39",
"files": [
{
- "id": 3843102,
- "created": "2021-09-21T18:28:05Z",
- "hash": "sha256:eded8ba84d7740a1084cbfb2fcf2abcad62f2e4689ba0bf3c3f64b3093a2d6e0",
+ "id": 3847766,
+ "created": "2021-10-01T14:43:47Z",
+ "hash": "sha256:570728350a0ada6dff2077512fbe14348ba8c841489320f5a4f57d5525a59454",
"is_restart_required": false,
"is_webextension": true,
"is_mozilla_signed_extension": false,
"platform": "all",
- "size": 559016,
+ "size": 560309,
"status": "public",
- "url": "https://addons.mozilla.org/firefox/downloads/file/3843102/dark_reader-4.9.3…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3847766/dark_reader-4.9.3…",
"permissions": [
"alarms",
+ "contextMenus",
"storage",
"tabs",
"theme",
"<all_urls>"
],
- "optional_permissions": [
- "contextMenus"
- ]
+ "optional_permissions": []
}
]
},
@@ -167,7 +166,7 @@
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2021-09-22T08:21:06Z",
+ "last_updated": "2021-10-04T09:03:41Z",
"name": {
"ar": "Dark Reader",
"bn": "Dark Reader",
@@ -240,10 +239,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.559,
- "bayesian_average": 4.557667412591712,
- "count": 3898,
- "text_count": 1260
+ "average": 4.5613,
+ "bayesian_average": 4.559966853638345,
+ "count": 3916,
+ "text_count": 1263
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/darkreader/reviews/",
"requires_payment": false,
@@ -334,7 +333,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/darkreader/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/darkreader/versions/",
- "weekly_downloads": 23932
+ "weekly_downloads": 24111
},
"notes": null
},
@@ -350,7 +349,7 @@
"picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/5/5474/5474073.png?modif…"
}
],
- "average_daily_users": 720072,
+ "average_daily_users": 733783,
"categories": {
"android": [
"security-privacy"
@@ -483,10 +482,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.6643,
- "bayesian_average": 4.661795555090914,
- "count": 2130,
- "text_count": 421
+ "average": 4.6632,
+ "bayesian_average": 4.660699978581624,
+ "count": 2144,
+ "text_count": 427
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/https-everywhere/reviews/",
"requires_payment": false,
@@ -515,7 +514,7 @@
"type": "extension",
"url": "https://www.eff.org/https-everywhere",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/https-everywhere/versions/",
- "weekly_downloads": 12375
+ "weekly_downloads": 13289
},
"notes": null
},
@@ -531,7 +530,7 @@
"picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/6/6937/6937656.png?modif…"
}
],
- "average_daily_users": 214936,
+ "average_daily_users": 222216,
"categories": {
"android": [
"security-privacy"
@@ -745,9 +744,9 @@
"category": "recommended"
},
"ratings": {
- "average": 4.8005,
- "bayesian_average": 4.795737818129609,
- "count": 1158,
+ "average": 4.8003,
+ "bayesian_average": 4.795533245154584,
+ "count": 1162,
"text_count": 225
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/reviews/",
@@ -831,7 +830,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/versions/",
- "weekly_downloads": 4835
+ "weekly_downloads": 9001
},
"notes": null
},
@@ -847,7 +846,7 @@
"picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/5/5474/5474073.png?modif…"
}
],
- "average_daily_users": 954282,
+ "average_daily_users": 993769,
"categories": {
"android": [
"security-privacy"
@@ -1390,9 +1389,9 @@
"category": "recommended"
},
"ratings": {
- "average": 4.7881,
- "bayesian_average": 4.785200456031825,
- "count": 1897,
+ "average": 4.7921,
+ "bayesian_average": 4.789202711954273,
+ "count": 1910,
"text_count": 381
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17/reviews/",
@@ -1417,7 +1416,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17/versions/",
- "weekly_downloads": 17835
+ "weekly_downloads": 34671
},
"notes": null
},
@@ -1433,7 +1432,7 @@
"picture_url": null
}
],
- "average_daily_users": 5102149,
+ "average_daily_users": 5269033,
"categories": {
"android": [
"security-privacy"
@@ -1445,18 +1444,18 @@
"contributions_url": "",
"created": "2015-04-25T07:26:22Z",
"current_version": {
- "id": 5272512,
+ "id": 5302965,
"compatibility": {
"firefox": {
- "min": "57.0",
+ "min": "60.0",
"max": "*"
},
"android": {
- "min": "57.0",
+ "min": "60.0",
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/ublock-origin/versions/52…",
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/ublock-origin/versions/53…",
"is_strict_compatibility_enabled": false,
"license": {
"id": 6,
@@ -1488,22 +1487,22 @@
"url": "http://www.gnu.org/licenses/gpl-3.0.html"
},
"release_notes": {
- "en-US": "<b>Closed as fixed:</b>\n\n- <a href=\"https://outgoing.prod.mozaws.net/v1/ed252fd41f6f4eae57ca94c28a28d4d595db8b3…" rel=\"nofollow\">uBO 1.37 breaks at least some sites that use googletagmanager if specific filters in use</a>"
+ "en-US": "See complete release notes for <a href=\"https://outgoing.prod.mozaws.net/v1/39b2ede80ef84c6164bf4ae0abebd10427c27c3…" rel=\"nofollow\">1.38.2</a> and <a href=\"https://outgoing.prod.mozaws.net/v1/e1b8675de2590801991b0bbabc7584efad8e4e3…" rel=\"nofollow\">1.38.0</a>.\n\n<b>1.38.2</b>\n\n<b>Closed as fixed:</b>\n\n<ul><li><a href=\"https://outgoing.prod.mozaws.net/v1/7bbd3342d12ca16af4ec711a95c97276d546bc9…" rel=\"nofollow\">Regression with <code>important</code> filter option</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/f32bfbb8adb95bb37c0914a987b617223931088…" rel=\"nofollow\">Weird issues with removeparam and negated typ
es</a></li></ul>\n<b>1.38.0</b>\n\n<b>New</b>\n\n<b>:matches-path(...)</b>\n\nNew cosmetic procedural operator, <code>:matches-path(...)</code>. See <a href=\"https://outgoing.prod.mozaws.net/v1/0b8db97707b495cc09519fc174fe38e430a092b…" rel=\"nofollow\">\"Add $path modifier of Adguard or any equivalents of this\"</a>.\n\n<b>Removed</b>\n\nThe setting <em>\"Prevent WebRTC from leaking local IP addresses\"</em> has been removed since it is no longer necessary in modern browsers, except for Firefox for Android where the issue is still present.\n\n<b>Closed as fixed:</b>\n\n<ul><li><a href=\"https://outgoing.prod.mozaws.net/v1/36a3ee268d5c299e8ec08b1ebe63a249b96d541…" rel=\"nofollow\">Remove WebRTC leak prevention</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/33554784d1a5f07bad97857cd755097e11f298e…
c0ce5dc6abc4abc/https%3A//github.com/uBlockOrigin/uBlock-issues/issues/1717\" rel=\"nofollow\">$removeparam doesn't work well with UrlEncoded gb2312 Chinese word</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/dbff64ae643a44b8c5d0bc0dd90a1117a5056e4…" rel=\"nofollow\">Scriptlets don't work randomly in Firefox</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/c4e66447786a108f2f815a3619de33d88d335de…" rel=\"nofollow\">Security: comments can be used to smuggle url() functions into css values</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/d7b163312b5f8028fd69980302a9e655899d367…" rel=\"nofollow\">Prevent uBO from hiding html or body when matched by a generic cosmetic filter</a></li><li><a href=\"https://outg
oing.prod.mozaws.net/v1/63094c0ffc0ae3cbcb87091614d2ba518308691a5477fe1a3f0…" rel=\"nofollow\">On Android Popup Overlays [or Underlays] On-Screen Navigation Buttons</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/0b8db97707b495cc09519fc174fe38e430a092b…" rel=\"nofollow\">Add $path modifier of Adguard or any equivalents of this</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/d6e7c2667106e016708e356d1015c8b6c9d6a17…" rel=\"nofollow\">The overview panel will not show everything if the uBO's icon is placed in the Firefox overflow menu</a></li><li>[patch by @vtriolet] <a href=\"https://outgoing.prod.mozaws.net/v1/60071caa5c95750eda947868f230780fa114825…
s/1676\" rel=\"nofollow\">TypeError in noscript-spoof scriptlet with invalid meta refresh URL</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/cc410f918b9e5bd668bc1cb5d575c8c3cfd7815…" rel=\"nofollow\">TypeError when trying to use element picker on plaintext resource</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/9655be9bbec985b682e4e488d739945244b3943…" rel=\"nofollow\">Split out core functionality into separate module</a>\n <ul> <li>This is of course an ongoing work for the foreseeable future, but the concrete goal sought in the issue has been reached, i.e. the static network filtering engine can be used as a nodejs module with no external dependencies.\n </li><li>Since uBO's codebase now uses <a href=\"https://outgoing.prod.mozaws.net/v1/ab012f71e112b4af02ca4ced93600a107437074…
9037f7a12cf/https%3A//developer.mozilla.org/en-US/docs/Web/JavaScript/Guide…" rel=\"nofollow\">JS modules</a>, the minimum version of supported browsers has been increased to Chromium 61, Firefox 60, and Opera 48.\n </li></ul></li></ul>\n<b>Notable commits without en entry in the issue tracker</b>\n\n<ul><li><a href=\"https://outgoing.prod.mozaws.net/v1/35b2226f10cfaa31e279d899cffe83bc92f0080…" rel=\"nofollow\">Better lookup all elements under mouse cursor in element picker</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/8e7fddc8fd19ebc5b738b23aa448c714fe2beae…" rel=\"nofollow\">Add visual hint to grab area of element picker dialog</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/fa918b16dc66724a02233d59579933b99a7ddaa…
c6/https%3A//github.com/gorhill/uBlock/commit/745fbd1c02b7179052ba97f51c54f…" rel=\"nofollow\">Add no-xhr-if scriptlet</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/6a63adca3212cc590f35882686bad7fe9e1afd6…" rel=\"nofollow\">Refactor hntrie to avoid the need for boundary cells</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/b7d41befb2148b7edfdd47498c92e820a9717c4…" rel=\"nofollow\">Fix bad test in WASM version of HNTrieContainer</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/b0518dbc267b256317e3d65f33ff09b32101a6b…" rel=\"nofollow\">Export the rule-based filtering engines to the nodejs package</a></li><li><a href=\"http
s://outgoing.prod.mozaws.net/v1/0672264a1f035c7e4915dee9fc01762b9bde0b0a20f…" rel=\"nofollow\">Rewrite logical expressions for ESLint</a></li><li>[patch by @mjethani] <a href=\"https://outgoing.prod.mozaws.net/v1/23acba3b6ffca69772b0b89f306ab3022375fc3…" rel=\"nofollow\">Add Makefile</a></li><li>[patch by @mjethani] <a href=\"https://outgoing.prod.mozaws.net/v1/c0eeac8448e88220d7da49ad01f30027c5cbd0c…" rel=\"nofollow\">Make uAssets a submodule</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/5c2bd6088ce0c5974482f63ed846f340104ebe7…" rel=\"nofollow\">Ensure compiled sections are ordered i
n ascending id</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/759a262bccef4602e39107c2f3c999c95044c48…" rel=\"nofollow\">Fix handling of some procedural cosmetic filters with explicit <code>:scope</code></a></li></ul>\n<a href=\"https://outgoing.prod.mozaws.net/v1/ebe2bbe808db6cfa38ec887f0f115ef5b16e7cc…" rel=\"nofollow\">Commits history since last version</a>."
},
"reviewed": null,
- "version": "1.37.2",
+ "version": "1.38.2",
"files": [
{
- "id": 3816867,
- "created": "2021-07-28T16:56:06Z",
- "hash": "sha256:b3a3c81891acb4620e33dd548b50375aad826376044a6143b5a947d0406a559e",
+ "id": 3847314,
+ "created": "2021-09-30T13:05:07Z",
+ "hash": "sha256:11c02e45981aec36a006bb5bf5d72bfc94b16361995ae8e49b1bd9b765346dad",
"is_restart_required": false,
"is_webextension": true,
"is_mozilla_signed_extension": false,
"platform": "all",
- "size": 2834032,
+ "size": 2851296,
"status": "public",
- "url": "https://addons.mozilla.org/firefox/downloads/file/3816867/ublock_origin-1.3…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3847314/ublock_origin-1.3…",
"permissions": [
"dns",
"menus",
@@ -1617,7 +1616,7 @@
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2021-09-13T15:00:48Z",
+ "last_updated": "2021-10-04T08:58:19Z",
"name": {
"ar": "uBlock Origin",
"bg": "uBlock Origin",
@@ -1762,10 +1761,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.7674,
- "bayesian_average": 4.766958928564049,
- "count": 12415,
- "text_count": 3365
+ "average": 4.7682,
+ "bayesian_average": 4.767759744458693,
+ "count": 12496,
+ "text_count": 3376
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/reviews/",
"requires_payment": false,
@@ -1819,12 +1818,15 @@
"tags": [
"ad blocker",
"anti malware",
- "content blocker"
+ "anti tracker",
+ "content blocker",
+ "privacy",
+ "security"
],
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/versions/",
- "weekly_downloads": 115858
+ "weekly_downloads": 123786
},
"notes": null
},
@@ -1840,7 +1842,7 @@
"picture_url": null
}
],
- "average_daily_users": 80156,
+ "average_daily_users": 80772,
"categories": {
"android": [
"photos-media"
@@ -1960,10 +1962,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.5192,
- "bayesian_average": 4.514151453205919,
- "count": 1015,
- "text_count": 386
+ "average": 4.5201,
+ "bayesian_average": 4.515054688905204,
+ "count": 1021,
+ "text_count": 387
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/video-background-play-fix/re…",
"requires_payment": false,
@@ -1985,7 +1987,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/video-background-play-fix/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/video-background-play-fix/ve…",
- "weekly_downloads": 347
+ "weekly_downloads": 280
},
"notes": null
},
@@ -2001,7 +2003,7 @@
"picture_url": null
}
],
- "average_daily_users": 97115,
+ "average_daily_users": 98750,
"categories": {
"android": [
"experimental",
@@ -2140,9 +2142,9 @@
"category": "recommended"
},
"ratings": {
- "average": 4.4766,
- "bayesian_average": 4.4618412859255185,
- "count": 342,
+ "average": 4.4797,
+ "bayesian_average": 4.464936053096786,
+ "count": 344,
"text_count": 97
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-possum/reviews/",
@@ -2165,7 +2167,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-possum/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-possum/versions/",
- "weekly_downloads": 1229
+ "weekly_downloads": 1431
},
"notes": null
},
@@ -2181,7 +2183,7 @@
"picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/12/12929/12929064.png?mo…"
}
],
- "average_daily_users": 191448,
+ "average_daily_users": 193788,
"categories": {
"android": [
"photos-media",
@@ -2195,7 +2197,7 @@
"contributions_url": "https://www.paypal.com/donate?hosted_button_id=GLL4UNSNU6SQN&utm_content=pr…",
"created": "2017-06-17T15:23:33Z",
"current_version": {
- "id": 5270922,
+ "id": 5300256,
"compatibility": {
"firefox": {
"min": "68.0",
@@ -2206,7 +2208,7 @@
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/search_by_image/versions/…",
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/search_by_image/versions/…",
"is_strict_compatibility_enabled": false,
"license": {
"id": 6,
@@ -2241,22 +2243,24 @@
"en-US": "Learn more about this release from the <a href=\"https://outgoing.prod.mozaws.net/v1/034fc31c913b4c441795892fe3d65db9f7edbe6…" rel=\"nofollow\">changelog</a>."
},
"reviewed": null,
- "version": "3.7.1",
+ "version": "3.9.1",
"files": [
{
- "id": 3815277,
- "created": "2021-07-25T20:46:43Z",
- "hash": "sha256:c893835efe00471376df0f60cb519bf35ffb72ed3c32362e4fb9b2faca87d1b9",
+ "id": 3844605,
+ "created": "2021-09-24T07:50:46Z",
+ "hash": "sha256:c7d4c71e0abc59b387c34a5715768e568b9324d2dded21140904fb08751f9ca4",
"is_restart_required": false,
"is_webextension": true,
"is_mozilla_signed_extension": false,
"platform": "all",
- "size": 704857,
+ "size": 653702,
"status": "public",
- "url": "https://addons.mozilla.org/firefox/downloads/file/3815277/search_by_image-3…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3844605/search_by_image-3…",
"permissions": [
+ "alarms",
"contextMenus",
"storage",
+ "unlimitedStorage",
"tabs",
"activeTab",
"notifications",
@@ -2291,7 +2295,7 @@
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2021-07-26T11:54:11Z",
+ "last_updated": "2021-09-24T13:12:46Z",
"name": {
"en-US": "Search by Image"
},
@@ -2403,9 +2407,9 @@
"category": "recommended"
},
"ratings": {
- "average": 4.6578,
- "bayesian_average": 4.652387287173338,
- "count": 982,
+ "average": 4.6609,
+ "bayesian_average": 4.655469994915242,
+ "count": 985,
"text_count": 194
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/search_by_image/reviews/",
@@ -2427,7 +2431,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/search_by_image/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/search_by_image/versions/",
- "weekly_downloads": 3854
+ "weekly_downloads": 3326
},
"notes": null
},
@@ -2450,7 +2454,7 @@
"picture_url": null
}
],
- "average_daily_users": 59446,
+ "average_daily_users": 59979,
"categories": {
"android": [
"other"
@@ -2732,10 +2736,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.4497,
- "bayesian_average": 4.444876099468952,
- "count": 1043,
- "text_count": 282
+ "average": 4.4509,
+ "bayesian_average": 4.4460780552462875,
+ "count": 1049,
+ "text_count": 284
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/google-search-fixer/reviews/",
"requires_payment": false,
@@ -2755,7 +2759,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/google-search-fixer/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/google-search-fixer/versions/",
- "weekly_downloads": 22
+ "weekly_downloads": 37
},
"notes": null
},
@@ -2771,7 +2775,7 @@
"picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/0/0/143.png?modified=150…"
}
],
- "average_daily_users": 356928,
+ "average_daily_users": 365057,
"categories": {
"android": [
"performance",
@@ -2996,10 +3000,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.3841,
- "bayesian_average": 4.381375035586434,
- "count": 1817,
- "text_count": 723
+ "average": 4.3825,
+ "bayesian_average": 4.379771152947895,
+ "count": 1825,
+ "text_count": 726
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/noscript/reviews/",
"requires_payment": false,
@@ -3035,7 +3039,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/noscript/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/noscript/versions/",
- "weekly_downloads": 7856
+ "weekly_downloads": 8193
},
"notes": null
},
@@ -3051,7 +3055,7 @@
"picture_url": null
}
],
- "average_daily_users": 124544,
+ "average_daily_users": 126280,
"categories": {
"android": [
"performance",
@@ -3184,9 +3188,9 @@
"category": "recommended"
},
"ratings": {
- "average": 3.9142,
- "bayesian_average": 3.909895065667832,
- "count": 1002,
+ "average": 3.9131,
+ "bayesian_average": 3.908778716674277,
+ "count": 1001,
"text_count": 359
},
"ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/youtube-high-definition/revi…",
@@ -3206,7 +3210,7 @@
"type": "extension",
"url": "https://addons.mozilla.org/en-US/firefox/addon/youtube-high-definition/",
"versions_url": "https://addons.mozilla.org/en-US/firefox/addon/youtube-high-definition/vers…",
- "weekly_downloads": 1550
+ "weekly_downloads": 1519
},
"notes": null
}
diff --git a/rbm.conf b/rbm.conf
index 2e90a29..26eb3c6 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -57,8 +57,8 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '10.5.8'
- torbrowser_build: 'build2'
+ torbrowser_version: '10.5.9'
+ torbrowser_build: 'build1'
torbrowser_incremental_from:
- 10.5.6
project_name: tor-browser
1
0
[tor-browser/tor-browser-92.0-10.5-1] fixup! Bug 10760: Integrate TorButton to TorBrowser core
by richard@torproject.org 08 Oct '21
by richard@torproject.org 08 Oct '21
08 Oct '21
commit 2c8dc16816462d5a86964169a5d200a0945792b2
Author: Richard Pospesel <richard(a)torproject.org>
Date: Fri Oct 8 17:07:08 2021 +0200
fixup! Bug 10760: Integrate TorButton to TorBrowser core
---
toolkit/torproject/torbutton | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/toolkit/torproject/torbutton b/toolkit/torproject/torbutton
index 5264bddf8bc7..03caae3ba467 160000
--- a/toolkit/torproject/torbutton
+++ b/toolkit/torproject/torbutton
@@ -1 +1 @@
-Subproject commit 5264bddf8bc71cbb4e88921b55e7b95fa4522b69
+Subproject commit 03caae3ba4676c4989af948458d6f02c6d3e1a8c
1
0
[torbutton/maint-10.5-android] Bug 40052: Skip L10nRegistry source registration on Android
by richard@torproject.org 08 Oct '21
by richard@torproject.org 08 Oct '21
08 Oct '21
commit 03caae3ba4676c4989af948458d6f02c6d3e1a8c
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Thu Oct 7 20:53:39 2021 +0000
Bug 40052: Skip L10nRegistry source registration on Android
---
components/startup-observer.js | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/components/startup-observer.js b/components/startup-observer.js
index f9697987..2c02eeba 100644
--- a/components/startup-observer.js
+++ b/components/startup-observer.js
@@ -84,6 +84,11 @@ function StartupObserver() {
cleanupCookies();
+ if (Services.appinfo.OS === "Android") {
+ // Torbutton on Android doesn't use any localized files.
+ return;
+ }
+
// Using all possible locales so that we do not have to change this list every time we support
// a new one.
const allLocales = [
1
0
[tor-browser-build/master] Bug 40371: Fix firefox_platform_version
by sysrqb@torproject.org 07 Oct '21
by sysrqb@torproject.org 07 Oct '21
07 Oct '21
commit 8a0d2c71a44e7d80d5a8326ccf3ab5da3274e27e
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Thu Oct 7 10:04:14 2021 +0200
Bug 40371: Fix firefox_platform_version
---
projects/firefox/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/firefox/config b/projects/firefox/config
index ff5d984..6af62a7 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -8,7 +8,7 @@ git_submodule: 1
gpg_keyring: torbutton.gpg
var:
- firefox_platform_version: 91.2.0esr
+ firefox_platform_version: 91.2.0
firefox_version: '[% c("var/firefox_platform_version") %]esr'
torbrowser_branch: 11.0
branding_directory: 'browser/branding/alpha'
1
0
06 Oct '21
commit f263671ba38d9aa9ca14452f0449325cde76c700
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Wed Oct 6 22:25:51 2021 +0000
Pickup the branch with 'esr'
---
projects/firefox/config | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/projects/firefox/config b/projects/firefox/config
index 999aff3..ff5d984 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -8,8 +8,8 @@ git_submodule: 1
gpg_keyring: torbutton.gpg
var:
- firefox_platform_version: 91.2.0
- firefox_version: '[% c("var/firefox_platform_version") %]'
+ firefox_platform_version: 91.2.0esr
+ firefox_version: '[% c("var/firefox_platform_version") %]esr'
torbrowser_branch: 11.0
branding_directory: 'browser/branding/alpha'
copyright_year: '[% exec("git show -s --format=%ci").remove("-.*") %]'
1
0
[tor-browser-build/master] Merge remote-tracking branch 'boklmgl/bug_40336_v2'
by sysrqb@torproject.org 06 Oct '21
by sysrqb@torproject.org 06 Oct '21
06 Oct '21
commit eaf75d984a0ceb212d02ff19ba0d54baf81499f1
Merge: 830c87a 098fc5e
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Wed Oct 6 22:21:06 2021 +0000
Merge remote-tracking branch 'boklmgl/bug_40336_v2'
...01-Revert-Bug-30318-Add-snowflake-support.patch | 78 ----------------------
projects/tor-android-service/build | 3 -
projects/tor-android-service/config | 2 -
projects/tor-browser/build | 11 +--
projects/tor-browser/config | 2 +-
projects/tor-onion-proxy-library/build | 28 +++-----
projects/tor-onion-proxy-library/config | 5 --
rbm.conf | 12 ----
8 files changed, 11 insertions(+), 130 deletions(-)
diff --cc rbm.conf
index d7bbd5f,63105ad..87b2c09
--- a/rbm.conf
+++ b/rbm.conf
@@@ -445,13 -450,9 +439,10 @@@ targets
flag_mwindows: '-mwindows'
compiler: mingw-w64
faketime_path: /usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1
- # We only build snowflake on the alpha and nightly
- # channels for now.
- snowflake: '[% c("var/alpha") || c("var/nightly") %]'
deps:
- build-essential
- - python
+ - python3
+ - python3-distutils
- bison
- automake
- libtool
@@@ -472,16 -473,13 +463,13 @@@
configure_opt: '--host=x86_64-apple-darwin CC="x86_64-apple-darwin-clang [% c("var/FLAGS") %]" CXX="x86_64-apple-darwin-clang++ [% c("var/FLAGS") %]" [% c("var/configure_opt_project") %]'
FLAGS: "-target x86_64-apple-darwin -B $cctoolsdir -isysroot $sysrootdir"
LDFLAGS: "-Wl,-syslibroot,$sysrootdir -Wl,-dead_strip -Wl,-pie"
- macosx_deployment_target: '10.9'
+ macosx_deployment_target: '10.12'
locale_ja: ja-JP-mac
- # We only support RLBox on the nightly channel for now
- rlbox: '[% c("var/nightly") %]'
+ rlbox: 0
- # We only build snowflake on the alpha and nightly
- # channels for now.
- snowflake: '[% c("var/alpha") || c("var/nightly") %]'
deps:
- build-essential
- - python
+ - python3
+ - python3-distutils
- automake
- libtool
- zip
1
0
commit 830c87a25e3a42e15a3454180a99ff6fe6d1600d
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Wed Oct 6 22:16:43 2021 +0000
Pick up 91.2.0 branch
---
projects/firefox/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/firefox/config b/projects/firefox/config
index a51daee..999aff3 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -8,7 +8,7 @@ git_submodule: 1
gpg_keyring: torbutton.gpg
var:
- firefox_platform_version: 91.0.1
+ firefox_platform_version: 91.2.0
firefox_version: '[% c("var/firefox_platform_version") %]'
torbrowser_branch: 11.0
branding_directory: 'browser/branding/alpha'
1
0
[tor-browser-build/master] Bug 40347: Make the list of toolchain updates needed for firefox91
by sysrqb@torproject.org 06 Oct '21
by sysrqb@torproject.org 06 Oct '21
06 Oct '21
commit 6c63cad7122da1bd3f9aae134d1d73f983a2984b
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Thu Aug 5 10:57:19 2021 +0200
Bug 40347: Make the list of toolchain updates needed for firefox91
---
projects/firefox/config | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/projects/firefox/config b/projects/firefox/config
index 07af41b..d5e1b2a 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -41,8 +41,7 @@ steps:
list_toolchain_updates:
git_url: https://github.com/mozilla/gecko-dev.git
- # < 91.0a1
- git_hash: f351e19360729b351bfc7c1386d6e4ca4ea676e2
+ git_hash: esr91
tag_gpg_id: 0
input_files: []
var:
1
0
[tor-browser-build/master] Bug 40044: Add proper .tar.gz extensions to lucetc/wasi-sdk filenames
by sysrqb@torproject.org 06 Oct '21
by sysrqb@torproject.org 06 Oct '21
06 Oct '21
commit 6fa26ef9cb698f73a591955c6ad924b42a55561b
Author: Georg Koppen <gk(a)torproject.org>
Date: Sun Jan 3 18:09:35 2021 +0000
Bug 40044: Add proper .tar.gz extensions to lucetc/wasi-sdk filenames
---
projects/lucetc/config | 2 +-
projects/wasi-sysroot/config | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/projects/lucetc/config b/projects/lucetc/config
index 1177b4f..9c96214 100644
--- a/projects/lucetc/config
+++ b/projects/lucetc/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %]'
+filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
version: '[% c("abbrev") %]'
git_hash: a0a1ce981638109f1f76cd1eecf17a0436a20055
git_url: https://github.com/PLSysSec/lucet_sandbox_compiler/
diff --git a/projects/wasi-sysroot/config b/projects/wasi-sysroot/config
index c4ded87..683f682 100644
--- a/projects/wasi-sysroot/config
+++ b/projects/wasi-sysroot/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %]'
+filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
version: '[% c("abbrev") %]'
git_hash: 5225b05436ce57f01fe649f411f3ff701246628b
git_url: https://github.com/CraneStation/wasi-sdk
1
0
[tor-browser-build/master] Bug 40222: Bump GCC to 10.3.0 for Linux
by sysrqb@torproject.org 06 Oct '21
by sysrqb@torproject.org 06 Oct '21
06 Oct '21
commit a730b8dd332eacbcdbadd41fccc0d081a8bcb0b8
Author: Georg Koppen <gk(a)torproject.org>
Date: Sun Jan 31 19:27:24 2021 +0000
Bug 40222: Bump GCC to 10.3.0 for Linux
---
projects/firefox/abicheck.cc | 6 +++---
projects/gcc/config | 4 ++--
projects/tor/build | 2 +-
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/projects/firefox/abicheck.cc b/projects/firefox/abicheck.cc
index 53d1dcc..52e87d9 100644
--- a/projects/firefox/abicheck.cc
+++ b/projects/firefox/abicheck.cc
@@ -3,9 +3,9 @@
* This program is useful in determining if the libstdc++.so.6 installed
* on the system is recent enough. Specifically, this program requires
* `GLIBCXX_3.4.28` which should be provided by libstdc++.so.6 from
- * gcc >= 9.3.0. If the program executes successfully, that means we
- * should use the system version of libstdc++.so.6 and if not, that means
- * we should use the bundled version.
+ * GCC >= 9.3.0 (we are good here as well with GCC 10.2.0). If the program
+ * executes successfully, that means we should use the system version of
+ * libstdc++.so.6 and if not, that means we should use the bundled version.
*
* We use std::pmr::monotonic_buffer_resource in order to require
* GLIBCXX_3.4.28:
diff --git a/projects/gcc/config b/projects/gcc/config
index c515b19..b8ab369 100644
--- a/projects/gcc/config
+++ b/projects/gcc/config
@@ -3,7 +3,7 @@ filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
# Note: When updating the gcc version, if this includes a libstdc++
# ABI change we should also update projects/firefox/abicheck.cc to
# require the new version.
-version: 9.3.0
+version: 10.3.0
var:
container:
use_container: 1
@@ -54,4 +54,4 @@ targets:
input_files:
- project: container-image
- URL: 'https://ftp.gnu.org/gnu/gcc/gcc-[% c("version") %]/gcc-[% c("version") %].tar.xz'
- sha256sum: 71e197867611f6054aa1119b13a0c0abac12834765fe2d81f35ac57f84f742d1
+ sha256sum: 64f404c1a650f27fc33da242e1f2df54952e3963a49e06e73f6940f3223ac344
diff --git a/projects/tor/build b/projects/tor/build
index 0d81087..9c46910 100644
--- a/projects/tor/build
+++ b/projects/tor/build
@@ -65,7 +65,7 @@ openssldir=/var/tmp/dist/openssl/openssl
mkdir -p $libstdc_dir
cp /var/tmp/dist/gcc/[% c("var/libdir") %]/libstdc++.so.6 $libstdc_dir/
[% IF c("var/asan") -%]
- cp /var/tmp/dist/gcc/[% c("var/libdir") %]/libasan.so.5 "$distdir/Tor/"
+ cp /var/tmp/dist/gcc/[% c("var/libdir") %]/libasan.so.6 "$distdir/Tor/"
cp /var/tmp/dist/gcc/[% c("var/libdir") %]/libubsan.so.1 "$distdir/Tor/"
[% END -%]
chmod 700 "$distdir"/Tor/*.so*
1
0
06 Oct '21
commit e5c24f4fac0df35aa3c96f6abea187bbf9f6d7d1
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Thu Sep 2 10:43:22 2021 +0200
Bug 40357: Update binutils to 2.35.2
---
projects/binutils/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/binutils/config b/projects/binutils/config
index 9fe4496..86aaf29 100644
--- a/projects/binutils/config
+++ b/projects/binutils/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 2.35.1
+version: 2.35.2
filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
var:
configure_opt: '--disable-multilib --enable-gold --enable-deterministic-archives --enable-plugins'
1
0
[tor-browser-build/master] Bug 40336: Delete snowflake config option
by sysrqb@torproject.org 06 Oct '21
by sysrqb@torproject.org 06 Oct '21
06 Oct '21
commit 098fc5e1057a2eedc0297e0bd47e83992d2da62d
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Thu Sep 2 12:20:02 2021 +0200
Bug 40336: Delete snowflake config option
Since snowflake is now enabled everywhere, we don't need the config
option anymore.
---
...01-Revert-Bug-30318-Add-snowflake-support.patch | 78 ----------------------
projects/tor-android-service/build | 3 -
projects/tor-android-service/config | 2 -
projects/tor-browser/build | 11 +--
projects/tor-browser/config | 2 +-
projects/tor-onion-proxy-library/build | 28 +++-----
projects/tor-onion-proxy-library/config | 5 --
rbm.conf | 12 ----
8 files changed, 11 insertions(+), 130 deletions(-)
diff --git a/projects/tor-android-service/0001-Revert-Bug-30318-Add-snowflake-support.patch b/projects/tor-android-service/0001-Revert-Bug-30318-Add-snowflake-support.patch
deleted file mode 100644
index b7be2ae..0000000
--- a/projects/tor-android-service/0001-Revert-Bug-30318-Add-snowflake-support.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From f3cf622e537a1283b821b3f3ce8e396a01bcb84b Mon Sep 17 00:00:00 2001
-From: Georg Koppen <gk(a)torproject.org>
-Date: Sat, 16 Jan 2021 20:56:30 +0000
-Subject: [PATCH] Revert "Bug 30318: Add snowflake support"
-
-This reverts commit ecc251d0a73f7e2034a271efd28036a0108b8688.
-
-diff --git a/service/src/main/assets/common/bridges.txt b/service/src/main/assets/common/bridges.txt
-index 1525eba..fe37735 100644
---- a/service/src/main/assets/common/bridges.txt
-+++ b/service/src/main/assets/common/bridges.txt
-@@ -13,5 +13,3 @@ obfs4 45.145.95.6:27015 C5B7CD6946FF10C5B3E89691A7D3F2C122D2117C cert=TD7PbUO0/0
- obfs4 [2a0c:4d80:42:702::1]:27015 C5B7CD6946FF10C5B3E89691A7D3F2C122D2117C cert=TD7PbUO0/0k6xYHMPW3vJxICfkMZNdkRrb63Zhl5j9dW3iRGiCx0A7mPhe5T2EDzQ35+Zw iat-mode=0
- obfs4 51.222.13.177:80 5EDAC3B810E12B01F6FD8050D2FD3E277B289A08 cert=2uplIpLQ0q9+0qMFrK5pkaYRDOe460LL9WHBvatgkuRr/SL31wBOEupaMMJ6koRE6Ld0ew iat-mode=0
- meek_lite 0.0.2.0:2 97700DFE9F483596DDA6264C4D7DF7641E1E39CE url=https://meek.azureedge.net/ front=ajax.aspnetcdn.com
--
--snowflake 0.0.3.0:1 2B280B23E1107BB62ABFC40DDCC8824814F80A72
-diff --git a/service/src/main/java/org/torproject/android/service/CustomTorInstaller.java b/service/src/main/java/org/torproject/android/service/CustomTorInstaller.java
-index 52bc4fe..198c981 100644
---- a/service/src/main/java/org/torproject/android/service/CustomTorInstaller.java
-+++ b/service/src/main/java/org/torproject/android/service/CustomTorInstaller.java
-@@ -40,17 +40,14 @@ public class CustomTorInstaller extends TorInstaller {
- @Override
- public InputStream openBridgesStream() throws IOException {
- /*
-- BridgesList is an overloaded field, which can cause some confusion.
-- The list can be:
-- 1) a filter like obfs4, meek, or snowflake OR
-- 2) it can be a custom bridge
-- For (1), we just pass back all bridges, the filter will occur
-- elsewhere in the library.
-- For (2) we return the bridge list as a raw stream.
-- If length is greater than 9, then we know this is a custom bridge
-+ BridgesList is an overloaded field, which can cause some confusion. The list can be:
-+ 1) a filter like obfs4 or meek OR 2) it can be a custom bridge
-+ For (1), we just pass back all bridges, the filter will occur elsewhere in the library.
-+ For (2) we return the bridge list as a raw stream
-+ If length is greater than 5, then we know this is a custom bridge
- */
- String userDefinedBridgeList = Prefs.getBridgesList();
-- byte bridgeType = (byte) (userDefinedBridgeList.length() > 9 ? 1 : 0);
-+ byte bridgeType = (byte) (userDefinedBridgeList.length() > 5 ? 1 : 0);
- // Terrible hack. Must keep in sync with topl::addBridgesFromResources.
- if (bridgeType == 0) {
- switch (userDefinedBridgeList) {
-@@ -60,9 +57,6 @@ public class CustomTorInstaller extends TorInstaller {
- case "meek":
- bridgeType = 3;
- break;
-- case "snowflake":
-- bridgeType = 4;
-- break;
- }
- }
-
-diff --git a/service/src/main/java/org/torproject/android/service/TorService.java b/service/src/main/java/org/torproject/android/service/TorService.java
-index f1ddcda..32d7f30 100644
---- a/service/src/main/java/org/torproject/android/service/TorService.java
-+++ b/service/src/main/java/org/torproject/android/service/TorService.java
-@@ -365,12 +365,10 @@ public final class TorService extends Service implements TorServiceConstants, Or
-
- //Check bridges to see if we need this
- File nativeDir = new File(getApplicationInfo().nativeLibraryDir);
-- File pluggableTransportObfs = new File(nativeDir, "libObfs4proxy.so");
-- if(!pluggableTransportObfs.canExecute()) pluggableTransportObfs.setExecutable(true);
-- File pluggableTransportSnow = new File(nativeDir, "libSnowflake.so");
-- if(!pluggableTransportSnow.canExecute()) pluggableTransportSnow.setExecutable(true);
-+ File pluggableTransport = new File(nativeDir, "libObfs4proxy.so");
-+ if(!pluggableTransport.canExecute()) pluggableTransport.setExecutable(true);
-
-- builder.configurePluggableTransportsFromSettings(pluggableTransportObfs, pluggableTransportSnow);
-+ builder.configurePluggableTransportsFromSettings(pluggableTransport);
- mDataService.updateConfigBuilder(builder);
- onionProxyManager.getTorInstaller().updateTorConfigCustom
- (builder.asString());
---
-2.30.0
-
diff --git a/projects/tor-android-service/build b/projects/tor-android-service/build
index 68d63cd..797d5c2 100644
--- a/projects/tor-android-service/build
+++ b/projects/tor-android-service/build
@@ -14,9 +14,6 @@ tar -C $GRADLE_HOME -xf $rootdir/[% c('input_files_by_name/gradle') %]
tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz
cd /var/tmp/build/[% project %]-[% c('version') %]
-[% IF ! c("var/snowflake") %]
- patch -p1 < $rootdir/0001-Revert-Bug-30318-Add-snowflake-support.patch
-[% END %]
# Replace pre-packaged tor library with the latest build
rm -fR service/src/main/jniLibs/*
[% FOREACH arch = ['armv7', 'aarch64', 'x86', 'x86_64'] -%]
diff --git a/projects/tor-android-service/config b/projects/tor-android-service/config
index 171f4a9..c1ccb7d 100644
--- a/projects/tor-android-service/config
+++ b/projects/tor-android-service/config
@@ -25,8 +25,6 @@ input_files:
exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
- project: tor-onion-proxy-library
name: topl
- - filename: 0001-Revert-Bug-30318-Add-snowflake-support.patch
- enable: '[% ! c("var/snowflake") %]'
- project: tor
name: tor-armv7
target_prepend:
diff --git a/projects/tor-browser/build b/projects/tor-browser/build
index 1d2e35b..d2b8482 100644
--- a/projects/tor-browser/build
+++ b/projects/tor-browser/build
@@ -48,9 +48,7 @@ MARTOOLS=$rootdir/mar-tools
mv [% c('input_files_by_name/noscript') %] "$TBDIR/$EXTSPATH/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi"
tar -C "$TBDIR" -xf [% c('input_files_by_name/obfs4') %]
-[% IF c("var/snowflake") %]
- tar -C "$TBDIR" -xf [% c('input_files_by_name/snowflake') -%]
-[% END -%]
+tar -C "$TBDIR" -xf [% c('input_files_by_name/snowflake') -%]
tar -C "$TBDIR[% IF c("var/osx") %]/Contents/Resources[% END %]" -xf [% c('input_files_by_name/fonts') %]
@@ -135,12 +133,7 @@ cp -a Bundle-Data/Docs/* "$TBDIR/$DOCSPATH"
tar -C Bundle-Data/[% bundledata_osname %] [% IF ! c("var/namecoin") %]--exclude=*Electrum-NMC* --exclude=*ncprop279*[% END %] -c . | tar -C "$TBDIR[% IF ! c("var/osx") %]/TorBrowser[% END %]" -x
cat Bundle-Data/PTConfigs/[% bundledata_osname %]/torrc-defaults-appendix >> "$TBDIR/$TORCONFIGPATH/torrc-defaults"
-[% IF ! c("var/snowflake") %]
- grep -v 'default_bridge\.snowflake' Bundle-Data/PTConfigs/bridge_prefs.js \
- >> "$GENERATEDPREFSPATH"
-[% ELSE %]
- cat Bundle-Data/PTConfigs/bridge_prefs.js >> "$GENERATEDPREFSPATH"
-[% END %]
+cat Bundle-Data/PTConfigs/bridge_prefs.js >> "$GENERATEDPREFSPATH"
[% IF ! c("var/multi_lingual") %]
echo 'pref("extensions.torlauncher.prompt_for_locale", false);' >> "$GENERATEDPREFSPATH"
diff --git a/projects/tor-browser/config b/projects/tor-browser/config
index 09f77b2..4091361 100644
--- a/projects/tor-browser/config
+++ b/projects/tor-browser/config
@@ -75,7 +75,7 @@ input_files:
enable: '[% ! c("var/android") %]'
- project: snowflake
name: snowflake
- enable: '[% c("var/snowflake") && ! c("var/android") %]'
+ enable: '[% ! c("var/android") %]'
- filename: Bundle-Data
enable: '[% ! c("var/android") %]'
- URL: https://addons.cdn.mozilla.net/user-media/addons/722/noscript_security_suit…
diff --git a/projects/tor-onion-proxy-library/build b/projects/tor-onion-proxy-library/build
index d4950f6..452d7e4 100644
--- a/projects/tor-onion-proxy-library/build
+++ b/projects/tor-onion-proxy-library/build
@@ -21,42 +21,30 @@ cd /var/tmp/build/[% project %]-[% c('version') %]
# build will pull down the correct android tool versions
patch -p1 < $rootdir/gradle.patch
patch -p1 < $rootdir/0001-Bug-33931-Filter-bridges-in-stream-by-type.patch
-[% IF c("var/snowflake") %]
- patch -p1 < $rootdir/0001-Bug-30318-Add-snowflake-support.patch
-[% END %]
+patch -p1 < $rootdir/0001-Bug-30318-Add-snowflake-support.patch
[% FOREACH arch = ['armv7', 'aarch64', 'x86', 'x86_64'] -%]
# Extract obfs4proxy from TorBrowser/Tor/PluggableTransports/obfs4proxy
tar --strip-components=4 -xf $rootdir/[% c('input_files_by_name/obfs4-' _ arch) %]
- [% IF c("var/snowflake") %]
- # Extract snowflake from TorBrowser/Tor/PluggableTransports/snowflake
- tar --strip-components=4 -xf $rootdir/[% c('input_files_by_name/snowflake-' _ arch) %]
- [% END %]
+ # Extract snowflake from TorBrowser/Tor/PluggableTransports/snowflake
+ tar --strip-components=4 -xf $rootdir/[% c('input_files_by_name/snowflake-' _ arch) %]
# Overwrite the obfs4proxy binary provided by Pluto and add Snowflake
[% IF arch == "armv7" -%]
cp obfs4proxy external/pluto/bin/armeabi-v7a/
cp obfs4proxy external/pluto/bin/armeabi/
- [% IF c("var/snowflake") %]
- cp snowflake-client external/pluto/bin/armeabi-v7a/
- cp snowflake-client external/pluto/bin/armeabi/
- [% END %]
+ cp snowflake-client external/pluto/bin/armeabi-v7a/
+ cp snowflake-client external/pluto/bin/armeabi/
[% ELSIF arch == "aarch64" -%]
cp obfs4proxy external/pluto/bin/arm64-v8a/
- [% IF c("var/snowflake") %]
- cp snowflake-client external/pluto/bin/arm64-v8a/
- [% END %]
+ cp snowflake-client external/pluto/bin/arm64-v8a/
[% ELSE -%]
cp obfs4proxy external/pluto/bin/[% arch %]/
- [% IF c("var/snowflake") %]
- cp snowflake-client external/pluto/bin/[% arch %]/
- [% END %]
+ cp snowflake-client external/pluto/bin/[% arch %]/
[% END -%]
rm obfs4proxy
- [% IF c("var/snowflake") %]
- rm snowflake-client
- [% END %]
+ rm snowflake-client
[% END -%]
# Build Android Libraries and Apps
diff --git a/projects/tor-onion-proxy-library/config b/projects/tor-onion-proxy-library/config
index f4a5c24..09f1bc7 100644
--- a/projects/tor-onion-proxy-library/config
+++ b/projects/tor-onion-proxy-library/config
@@ -42,26 +42,21 @@ input_files:
name: snowflake-armv7
target_prepend:
- android-armv7
- enable: '[% c("var/snowflake") %]'
- project: snowflake
name: snowflake-aarch64
target_prepend:
- android-aarch64
- enable: '[% c("var/snowflake") %]'
- project: snowflake
name: snowflake-x86
target_prepend:
- android-x86
- enable: '[% c("var/snowflake") %]'
- project: snowflake
name: snowflake-x86_64
target_prepend:
- android-x86_64
- enable: '[% c("var/snowflake") %]'
- filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
name: gradle-dependencies
exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
- filename: gradle.patch
- filename: 0001-Bug-33931-Filter-bridges-in-stream-by-type.patch
- filename: 0001-Bug-30318-Add-snowflake-support.patch
- enable: '[% c("var/snowflake") %]'
diff --git a/rbm.conf b/rbm.conf
index d231de1..63105ad 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -335,9 +335,6 @@ targets:
android_min_api_aarch64: 21
# This is needed to get the offline build part for Glean right.
glean_parser: 1.29.0
- # We only build snowflake on the alpha and nightly
- # channels for now.
- snowflake: '[% c("var/alpha") || c("var/nightly") %]'
container:
suite: buster
arch: amd64
@@ -394,9 +391,6 @@ targets:
linux: 1
compiler: gcc
configure_opt: '[% c("var/configure_opt_project") %]'
- # We only build snowflake on the alpha and nightly
- # channels for now.
- snowflake: '[% c("var/alpha") || c("var/nightly") %]'
# Only build Namecoin for linux on nightly
namecoin: '[% c("var/nightly") %]'
container:
@@ -456,9 +450,6 @@ targets:
flag_mwindows: '-mwindows'
compiler: mingw-w64
faketime_path: /usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1
- # We only build snowflake on the alpha and nightly
- # channels for now.
- snowflake: '[% c("var/alpha") || c("var/nightly") %]'
deps:
- build-essential
- python
@@ -486,9 +477,6 @@ targets:
locale_ja: ja-JP-mac
# We only support RLBox on the nightly channel for now
rlbox: '[% c("var/nightly") %]'
- # We only build snowflake on the alpha and nightly
- # channels for now.
- snowflake: '[% c("var/alpha") || c("var/nightly") %]'
deps:
- build-essential
- python
1
0
[tor-browser-build/master] Bug 40305: Update Linux toolchain to switch to mozilla91
by sysrqb@torproject.org 06 Oct '21
by sysrqb@torproject.org 06 Oct '21
06 Oct '21
commit c2c853e787c5d736f37bed8fc3f7f3bece3ed95a
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Thu Jul 8 16:59:17 2021 +0200
Bug 40305: Update Linux toolchain to switch to mozilla91
---
projects/clang/build | 21 +++++++++++----------
projects/clang/config | 3 +++
projects/firefox/build | 8 +++++---
projects/lucetc/build | 2 +-
projects/lucetc/config | 7 ++++---
projects/rust/build | 3 +++
projects/rust/config | 3 +++
projects/wasi-sysroot/build | 11 +++++++----
projects/wasi-sysroot/config | 3 +--
projects/wasi-sysroot/no-git.patch | 28 ----------------------------
rbm.conf | 3 +++
11 files changed, 41 insertions(+), 51 deletions(-)
diff --git a/projects/clang/build b/projects/clang/build
index 608d80c..41669b9 100644
--- a/projects/clang/build
+++ b/projects/clang/build
@@ -4,14 +4,13 @@ distdir=/var/tmp/dist/[% project %]
mkdir -p /var/tmp/dist
tar -C /var/tmp/dist -xf [% c('input_files_by_name/cmake') %]
export PATH="/var/tmp/dist/cmake/bin:$PATH"
-[% IF c("var/linux") || c("var/android") %]
- [% IF c("var/linux") %]
- # We need a link to our GCC, otherwise the system cc gets used which points
- # to /usr/bin/gcc.
- [% pc('gcc', 'var/setup', { compiler_tarfile => c('input_files_by_name/gcc'),
- hardened_gcc => 0 }) %]
- ln -s gcc /var/tmp/dist/gcc/bin/cc
- [% END %]
+[% IF c("var/linux") %]
+ # We need a link to our GCC, otherwise the system cc gets used which points
+ # to /usr/bin/gcc.
+ [% pc('gcc', 'var/setup', { compiler_tarfile => c('input_files_by_name/gcc'),
+ hardened_gcc => 0 }) %]
+ ln -s gcc /var/tmp/dist/gcc/bin/cc
+ [% pc('python', 'var/setup', { python_tarfile => c('input_files_by_name/python') }) %]
[% END -%]
[% IF c("var/linux") || c("var/android") || c("var/windows") -%]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/binutils') %]
@@ -28,13 +27,15 @@ cd build
[% IF ! c("var/ff91esr") %]
cmake .. -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=$distdir \
-DCMAKE_BUILD_TYPE:STRING=Release \
- [% IF c("var/rlbox") -%]-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly \[% END -%]
+ [% IF c("var/rlbox") -%]-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly[% END %] \
$LLVM_HOME
[% ELSE %]
cmake ../llvm -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=$distdir \
-DCMAKE_BUILD_TYPE=Release \
+ [% IF c("var/android") -%]
-DLLVM_TARGETS_TO_BUILD="X86;ARM;AArch64" \
- [% IF c("var/rlbox") -%]-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly \[% END -%]
+ [% END -%]
+ [% IF c("var/rlbox") -%]-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly[% END %] \
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;compiler-rt;libcxx;libcxxabi;lld"
[% END -%]
make -j[% c("buildconf/num_procs") %]
diff --git a/projects/clang/config b/projects/clang/config
index 3ce6d97..038a44b 100644
--- a/projects/clang/config
+++ b/projects/clang/config
@@ -36,3 +36,6 @@ input_files:
- project: llvm-project
name: clang-source
enable: '[% c("var/ff91esr") %]'
+ - project: python
+ name: python
+ enable: '[% c("var/linux") %]'
diff --git a/projects/firefox/build b/projects/firefox/build
index eb2a663..732da0f 100644
--- a/projects/firefox/build
+++ b/projects/firefox/build
@@ -49,7 +49,7 @@ export LLVM_CONFIG="/var/tmp/dist/clang/bin/llvm-config"
rtdir=/var/tmp/dist/macosx-toolchain/clang/lib/clang/[% pc("clang", "version") %]/lib/wasi
[% END-%]
mkdir -p $rtdir
- cp /var/tmp/dist/wasi-sysroot/lib/clang/9.0.0/lib/wasi/libclang_rt.builtins-wasm32.a $rtdir
+ cp /var/tmp/dist/wasi-sysroot/lib/clang/11.0.0/lib/wasi/libclang_rt.builtins-wasm32.a $rtdir
tar -C /var/tmp/dist -xf [% c('input_files_by_name/lucetc') %]
export PATH="/var/tmp/dist/lucetc/bin:$PATH"
export WASM_SANDBOXED_LIBRARIES=graphite,ogg
@@ -108,6 +108,8 @@ tar -C browser/extensions -xf $rootdir/[% c('input_files_by_name/tor-launcher')
rm -f configure
rm -f js/src/configure
+export MACH_USE_SYSTEM_PYTHON=1
+
# Android does not support --enable-bundled-fonts option
./mach configure --with-tor-browser-version=[% c("var/torbrowser_version") %] --with-distribution-id=org.torproject --enable-update-channel=[% c("var/channel") %] --enable-bundled-fonts --with-branding=[% c("var/branding_directory") %]
@@ -200,10 +202,10 @@ cd $distdir
# No need for an unstripped geckodriver
strip geckodriver
[% END %]
- mkdir -p $distdir/Debug/Browser/gtk2
+ mkdir -p $distdir/Debug/Browser
# Strip and generate debuginfo for the firefox binary that we keep, all *.so
# files, the plugin-container, and the updater (see ticket #10126)
- for LIB in Browser/*.so Browser/gtk2/*.so Browser/firefox.real Browser/plugin-container Browser/updater
+ for LIB in Browser/*.so Browser/firefox.real Browser/plugin-container Browser/updater
do
objcopy --only-keep-debug $LIB Debug/$LIB
strip $LIB
diff --git a/projects/lucetc/build b/projects/lucetc/build
index e06c272..5ff071f 100644
--- a/projects/lucetc/build
+++ b/projects/lucetc/build
@@ -35,7 +35,7 @@ tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz
# Now prepare the offline build
# Move the directory for hardcoding the path in .cargo/config
mv /var/tmp/build/[% project %]-[% c('version') %] $builddir
-tar -C $builddir -xjf lucetc-vendor.tar.bz2
+tar -C $builddir -xf [% c('input_files_by_name/lucetc-vendor') %]
cd $builddir
# .cargo exists already, let's just add to it
cat >> .cargo/config << 'EOF'
diff --git a/projects/lucetc/config b/projects/lucetc/config
index 9c96214..8de3a8e 100644
--- a/projects/lucetc/config
+++ b/projects/lucetc/config
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
version: '[% c("abbrev") %]'
-git_hash: a0a1ce981638109f1f76cd1eecf17a0436a20055
+git_hash: d582d76bf0d17984501f3933688bf7a1eb5cf208
git_url: https://github.com/PLSysSec/lucet_sandbox_compiler/
git_submodule: 1
@@ -28,8 +28,9 @@ input_files:
- name: wasi-sysroot
project: wasi-sysroot
# Use `make cargo_vendor-lucetc` to re-generate the vendor tarball
- - URL: https://people.torproject.org/~gk/mirrors/sources/lucetc-vendor.tar.bz2
- sha256sum: 12ba97fca12177e7ed5b5409fcfdbd31dc7db2e82282768d99dee5bcb1b1246a
+ - name: lucetc-vendor
+ URL: 'https://people.torproject.org/~boklm/mirrors/sources/lucetc-vendor-[% c("version") %].tar.bz2'
+ sha256sum: 6b044ed76bc8870040174c8fbfa49c3a791b3aba7d32dd00cad541025eb16077
- filename: Remove-march-native-from-COMMON_CFLAGS.patch
steps:
diff --git a/projects/rust/build b/projects/rust/build
index 3d68e61..722aacc 100644
--- a/projects/rust/build
+++ b/projects/rust/build
@@ -14,6 +14,9 @@ cd /var/tmp/dist/rust-[% c('var/previous_version') %]-x86_64-unknown-linux-gnu
export PATH="$distdir-rust-old/bin:$PATH"
[% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %]
+[% IF c("var/linux") -%]
+ [% pc('python', 'var/setup', { python_tarfile => c('input_files_by_name/python') }) %]
+[% END -%]
[% IF c("var/osx") %]
# We need to clear `CC` and `LDFLAGS` as they are used for the host platform
diff --git a/projects/rust/config b/projects/rust/config
index 55bf544..1e79687 100644
--- a/projects/rust/config
+++ b/projects/rust/config
@@ -96,6 +96,9 @@ input_files:
sig_ext: asc
file_gpg_id: 1
gpg_keyring: rust.gpg
+ - project: python
+ name: python
+ enable: '[% c("var/linux") %]'
- filename: unwind.patch
enable: '[% c("var/windows-i686") %]'
- filename: 43909.patch
diff --git a/projects/wasi-sysroot/build b/projects/wasi-sysroot/build
index e66d1e0..8ab9524 100644
--- a/projects/wasi-sysroot/build
+++ b/projects/wasi-sysroot/build
@@ -21,13 +21,16 @@ tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz
mv /var/tmp/build/[% project %]-[% c('version') %] $builddir
cd $builddir
-# We have no .git in our tar ball but the Makefile depends on that. Just
-# hard-code the version for now.
-patch -p1 < $rootdir/no-git.patch
+# We have no .git in our tar ball but the script version.sh used by
+# the Makefile depends on that. We replace the script.
+cat > 'version.sh' << EOF
+#!/bin/sh
+echo '[% c("abbrev") %]'
+EOF
# XXX: We don't want to use the clang 9.0 wasi-sdk would use, see:
# https://bugzilla.mozilla.org/show_bug.cgi?id=1605708
-make -j[% c("buildconf/num_procs") %] PREFIX=$distdir/[% project %]
+make -j[% c("buildconf/num_procs") %] PREFIX=$distdir/[% project %] DESTDIR=/
cd $distdir
[% c('tar', {
diff --git a/projects/wasi-sysroot/config b/projects/wasi-sysroot/config
index 683f682..96bf873 100644
--- a/projects/wasi-sysroot/config
+++ b/projects/wasi-sysroot/config
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
version: '[% c("abbrev") %]'
-git_hash: 5225b05436ce57f01fe649f411f3ff701246628b
+git_hash: b36c433738f0c29160a5ac1c1cee1b1b884bf4a0
git_url: https://github.com/CraneStation/wasi-sdk
git_submodule: 1
@@ -27,4 +27,3 @@ input_files:
project: cmake
- name: ninja
project: ninja
- - filename: no-git.patch
diff --git a/projects/wasi-sysroot/no-git.patch b/projects/wasi-sysroot/no-git.patch
deleted file mode 100644
index 27c3446..0000000
--- a/projects/wasi-sysroot/no-git.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 55a106779cd012f9cf5d6f46a7a3523de9ba93c3 Mon Sep 17 00:00:00 2001
-From: Georg Koppen <gk(a)torproject.org>
-Date: Sat, 7 Dec 2019 16:12:42 +0000
-Subject: [PATCH] No .git in our tarball
-
-
-diff --git a/Makefile b/Makefile
-index f09a901..dc114cb 100644
---- a/Makefile
-+++ b/Makefile
-@@ -6,11 +6,11 @@ LLVM_PROJ_DIR?=$(ROOT_DIR)/src/llvm-project
- PREFIX?=/opt/wasi-sdk
-
- CLANG_VERSION=$(shell ./llvm_version.sh $(LLVM_PROJ_DIR))
--VERSION:=$(shell ./version.sh)
--DEBUG_PREFIX_MAP=-fdebug-prefix-map=$(ROOT_DIR)=wasisdk://v$(VERSION)
-+#VERSION:=$(shell ./version.sh)
-+DEBUG_PREFIX_MAP=-fdebug-prefix-map=$(ROOT_DIR)=wasisdk://v8.1g5225b05436ce
-
- default: build
-- @echo "Use -fdebug-prefix-map=$(ROOT_DIR)=wasisdk://v$(VERSION)"
-+ @echo "Use -fdebug-prefix-map=$(ROOT_DIR)=wasisdk://v8.1g5225b05436ce"
-
- clean:
- rm -rf build $(PREFIX)
---
-2.24.0
-
diff --git a/rbm.conf b/rbm.conf
index d231de1..79f7917 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -369,13 +369,16 @@ targets:
torbrowser-linux-x86_64:
- linux-x86_64
- linux
+ - ff91esr
torbrowser-linux-x86_64-asan:
- linux-asan
- linux-x86_64
- linux
+ - ff91esr
torbrowser-linux-i686:
- linux-i686
- linux
+ - ff91esr
linux-x86_64:
arch: x86_64
var:
1
0
[tor-browser-build/master] Bug 40353: Temporarily disable rlbox for linux builds
by sysrqb@torproject.org 06 Oct '21
by sysrqb@torproject.org 06 Oct '21
06 Oct '21
commit 2028dfd8ace131a99f4d114786c3bc4cc3ec3765
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Wed Aug 18 18:04:52 2021 +0200
Bug 40353: Temporarily disable rlbox for linux builds
---
rbm.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rbm.conf b/rbm.conf
index 79f7917..b389872 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -385,7 +385,7 @@ targets:
linux-x86_64: 1
osname: linux-x86_64
# We only support RLBox on the nightly channel and x86_64 for now
- rlbox: '[% c("var/nightly") %]'
+ rlbox: 0
linux-i686:
arch: i686
var:
1
0
[tor-browser-build/master] Bug 40466: Set ff91esr firefox version
by sysrqb@torproject.org 06 Oct '21
by sysrqb@torproject.org 06 Oct '21
06 Oct '21
commit bc634cbe6f545cd9f678c9eab7f5a140d24b916c
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Fri Aug 20 14:26:53 2021 +0200
Bug 40466: Set ff91esr firefox version
---
projects/firefox/config | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/projects/firefox/config b/projects/firefox/config
index d5e1b2a..a1de42c 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -49,6 +49,11 @@ steps:
use_container: 0
targets:
+ ff91esr:
+ var:
+ firefox_platform_version: 91.0.1
+ firefox_version: '[% c("var/firefox_platform_version") %]'
+
release:
var:
branding_directory: 'browser/branding/official'
1
0
[tor-browser-build/master] Bug 40354: Add bullseye to projects/mmdebstrap-image/config
by sysrqb@torproject.org 06 Oct '21
by sysrqb@torproject.org 06 Oct '21
06 Oct '21
commit 0a8ad5ede2a42523e9f4daff6213c11fca4f857c
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Mon Sep 6 17:09:13 2021 +0200
Bug 40354: Add bullseye to projects/mmdebstrap-image/config
---
projects/mmdebstrap-image/config | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/projects/mmdebstrap-image/config b/projects/mmdebstrap-image/config
index 102053d..f326728 100644
--- a/projects/mmdebstrap-image/config
+++ b/projects/mmdebstrap-image/config
@@ -50,6 +50,13 @@ targets:
suite: buster
arch: amd64
+ bullseye-amd64:
+ var:
+ minimal_apt_version: 2.2.4
+ container:
+ suite: bullseye
+ arch: amd64
+
input_files:
- project: mmdebstrap
name: mmdebstrap
1
0
[tor-browser-build/master] Bug 28240: switch from SJLJ exception handling to Dwarf2 in mingw for win32
by sysrqb@torproject.org 06 Oct '21
by sysrqb@torproject.org 06 Oct '21
06 Oct '21
commit 29c88a91da1aac43a837ef39e7b5d4556d8e2c73
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Sun Sep 19 09:25:39 2021 +0200
Bug 28240: switch from SJLJ exception handling to Dwarf2 in mingw for win32
---
projects/mingw-w64/build | 2 +-
projects/mingw-w64/config | 2 +-
projects/rust/build | 10 ---
projects/rust/config | 2 -
projects/rust/unwind.patch | 163 ---------------------------------------------
5 files changed, 2 insertions(+), 177 deletions(-)
diff --git a/projects/mingw-w64/build b/projects/mingw-w64/build
index 155c531..2d8e8e2 100644
--- a/projects/mingw-w64/build
+++ b/projects/mingw-w64/build
@@ -26,7 +26,7 @@ tar xJf $rootdir/gcc-[% c("var/gcc_version") %].tar.xz
# CFLAGS_FOR_TARGET.
export CFLAGS_FOR_TARGET="-Wl,--nxcompat -Wl,--dynamicbase -Wl,--no-insert-timestamp [% c('var/flag_noSEH') %]"
# Rust requires enabling pthreads
-gcc-[% c("var/gcc_version") %]/configure --prefix=$distdir --target=[% c("arch") %]-w64-mingw32 --with-gnu-ld --with-gnu-as --disable-multilib --enable-threads=posix --enable-languages=c,c++
+gcc-[% c("var/gcc_version") %]/configure --prefix=$distdir --target=[% c("arch") %]-w64-mingw32 --with-gnu-ld --with-gnu-as --disable-multilib --enable-threads=posix --enable-languages=c,c++[% IF c("var/windows-i686") %] --disable-sjlj-exceptions --with-dwarf2[% END %]
make -j[% c("buildconf/num_procs") %] all-gcc
make install-gcc
diff --git a/projects/mingw-w64/config b/projects/mingw-w64/config
index c5dde82..6758997 100644
--- a/projects/mingw-w64/config
+++ b/projects/mingw-w64/config
@@ -19,7 +19,7 @@ var:
targets:
windows-i686:
var:
- libgcc_dll: libgcc_s_sjlj-1.dll
+ libgcc_dll: libgcc_s_dw2-1.dll
arch_deps:
- g++-mingw-w64-i686
windows-x86_64:
diff --git a/projects/rust/build b/projects/rust/build
index 722aacc..69bd0f4 100644
--- a/projects/rust/build
+++ b/projects/rust/build
@@ -58,16 +58,6 @@ cd /var/tmp/build/rustc-[% c('version') %]-src
patch -p1 < $rootdir/fix-build-1.53.0.patch
[% END %]
-[% IF c("var/windows-i686") %]
- # Cross-compiling for Windows 32bit is currently not possible without any
- # patches. The reason for that is libstd expecting DWARF unwinding while most
- # toolchains on Linux, targeting Windows 32bit, use SjLj unwinding.
- # See: https://github.com/rust-lang/rust/issues/12859 for discussion about
- # that and https://github.com/rust-lang/rust/pull/49633 for a newer attempt to
- # fix this problem. We apply the patch from neersighted.
- patch -p1 < $rootdir/unwind.patch
-[% END %]
-
mkdir build
cd build
../configure --prefix=$distdir --disable-docs --disable-compiler-docs [% c("var/configure_opt") %]
diff --git a/projects/rust/config b/projects/rust/config
index 1e79687..01e1843 100644
--- a/projects/rust/config
+++ b/projects/rust/config
@@ -99,8 +99,6 @@ input_files:
- project: python
name: python
enable: '[% c("var/linux") %]'
- - filename: unwind.patch
- enable: '[% c("var/windows-i686") %]'
- filename: 43909.patch
name: 43909
enable: '[% ! c("var/ff91esr") %]'
diff --git a/projects/rust/unwind.patch b/projects/rust/unwind.patch
deleted file mode 100644
index 65c51f9..0000000
--- a/projects/rust/unwind.patch
+++ /dev/null
@@ -1,163 +0,0 @@
-From 90ddcca6235b5f24c57df6a648e8d489c7e3eae5 Mon Sep 17 00:00:00 2001
-From: Bjorn Neergaard <bjorn(a)neersighted.com>
-Date: Sat, 9 Feb 2019 19:39:23 +0000
-Subject: [PATCH] Fix cross-compiling i686-pc-windows-gnu from Linux
-
-This is still very rough and serves as a proof-of-concept for fixing
-Linux -> 32-bit MinGW cross compilation workflow. Currently, clang and
-GCC's MinGW targets both only support DW2 (DWARF) or SJLJ (Set Jump Long
-Jump) unwinding on 32-bit Windows.
-
-The default for GCC (and the way it is shipped on every major distro) is
-to use SJLJ on Windows, as DWARF cannot traverse non-DWARF frames. This
-would work fine, except for the fact that libgcc (our C runtime on the
-MinGW platform) exports symbols under a different name when configured
-to use SJLJ-style unwinding, and uses a preprocessor macro internally to
-alias them.
-
-Because of this, we have to detect this scenario and link to the correct
-symbols ourselves. Linking has been tested with a full bootstrap on both
-x86_64-unknown-linux-gnu and i686-pc-windows-gnu, as well as
-cross-compilation of some of my own projects.
-
-Obviously, the detection is a bit unrefined. Right now we
-unconditionally use SJLJ when compiling Linux -> MinGW. I'd like to add
-feature detection using compiler build flags or autotools-style
-compilation and object analysis. Input on the best way to proceed here
-is welcome.
-
-Also, currently there is copy-pasted/duplicated code in libunwind.
-Ideally, this could be reduced, but this would likely require a
-rethinking of how iOS is special-cased above, to avoid further
-duplication. Input on how to best structure this file is requested.
-
-diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
-index 65a00db3394..e821507c341 100644
---- a/src/bootstrap/compile.rs
-+++ b/src/bootstrap/compile.rs
-@@ -207,6 +207,11 @@ pub fn std_cargo(builder: &Builder<'_>, target: Interned<String>, cargo: &mut Ca
- let mut features = builder.std_features();
- features.push_str(&compiler_builtins_c_feature);
-
-+ // FIXME: Temporary detection of SJLJ MinGW compilers.
-+ if builder.config.build.contains("linux") && target == "i686-pc-windows-gnu" {
-+ features.push_str(" sjlj_eh");
-+ }
-+
- cargo
- .arg("--features")
- .arg(features)
-diff --git a/src/libstd/Cargo.toml b/src/libstd/Cargo.toml
-index b147aa55b2a..cad4d88caa2 100644
---- a/src/libstd/Cargo.toml
-+++ b/src/libstd/Cargo.toml
-@@ -68,6 +68,7 @@ panic_immediate_abort = ["core/panic_immediate_abort"]
- # https://github.com/rust-lang/stdarch/blob/master/crates/std_detect/Cargo.to…
- std_detect_file_io = []
- std_detect_dlsym_getauxval = []
-+sjlj_eh = ["unwind/sjlj_eh"]
-
- [package.metadata.fortanix-sgx]
- # Maximum possible number of threads when testing
-diff --git a/src/libtest/Cargo.toml b/src/libtest/Cargo.toml
-index 170fbb984cf..b1b0be71067 100644
---- a/src/libtest/Cargo.toml
-+++ b/src/libtest/Cargo.toml
-@@ -29,3 +29,4 @@ llvm-libunwind = ["std/llvm-libunwind"]
- panic-unwind = ["std/panic_unwind"]
- panic_immediate_abort = ["std/panic_immediate_abort"]
- profiler = ["std/profiler"]
-+sjlj_eh = ["std/sjlj_eh"]
-diff --git a/src/libunwind/Cargo.toml b/src/libunwind/Cargo.toml
-index 77bcfffd506..9d9fc5fbff5 100644
---- a/src/libunwind/Cargo.toml
-+++ b/src/libunwind/Cargo.toml
-@@ -26,3 +26,4 @@ cc = { version = "1.0.1" }
-
- [features]
- llvm-libunwind = []
-+sjlj_eh = []
-diff --git a/src/libunwind/libunwind.rs b/src/libunwind/libunwind.rs
-index 0c57861f70a..44c767ebfc5 100644
---- a/src/libunwind/libunwind.rs
-+++ b/src/libunwind/libunwind.rs
-@@ -79,8 +79,8 @@ pub type _Unwind_Exception_Cleanup_Fn =
- link(name = "unwind", kind = "static")
- )]
- extern "C" {
-- #[unwind(allowed)]
-- pub fn _Unwind_Resume(exception: *mut _Unwind_Exception) -> !;
-+ #[cfg_attr(stage0, unwind)]
-+ #[cfg_attr(not(stage0), unwind(allowed))]
- pub fn _Unwind_DeleteException(exception: *mut _Unwind_Exception);
- pub fn _Unwind_GetLanguageSpecificData(ctx: *mut _Unwind_Context) -> *mut c_void;
- pub fn _Unwind_GetRegionStart(ctx: *mut _Unwind_Context) -> _Unwind_Ptr;
-@@ -222,32 +222,50 @@ if #[cfg(all(any(target_os = "ios", target_os = "netbsd", not(target_arch = "arm
- } // cfg_if!
-
- cfg_if::cfg_if! {
--if #[cfg(not(all(target_os = "ios", target_arch = "arm")))] {
-- // Not 32-bit iOS
-- #[cfg_attr(all(feature = "llvm-libunwind",
-- any(target_os = "fuchsia", target_os = "linux")),
-- link(name = "unwind", kind = "static"))]
-+if #[cfg(all(target_os = "ios", target_arch = "arm"))] {
-+ // 32-bit iOS uses SjLj and does not provide _Unwind_Backtrace()
- extern "C" {
-- #[unwind(allowed)]
-- pub fn _Unwind_RaiseException(exception: *mut _Unwind_Exception) -> _Unwind_Reason_Code;
-+ #[cfg_attr(stage0, unwind)]
-+ #[cfg_attr(not(stage0), unwind(allowed))]
-+ pub fn _Unwind_Resume(exception: *mut _Unwind_Exception) -> !;
-+ pub fn _Unwind_SjLj_RaiseException(e: *mut _Unwind_Exception) -> _Unwind_Reason_Code;
-+ }
-+
-+ #[inline]
-+ pub unsafe fn _Unwind_RaiseException(exc: *mut _Unwind_Exception) -> _Unwind_Reason_Code {
-+ _Unwind_SjLj_RaiseException(exc)
-+ }
-+
-+} else if #[cfg(feature = "sjlj_eh")] {
-+ extern "C" {
-+ #[cfg_attr(stage0, unwind)]
-+ #[cfg_attr(not(stage0), unwind(allowed))]
-+ pub fn _Unwind_SjLj_Resume(e: *mut _Unwind_Exception) -> !;
-+ pub fn _Unwind_SjLj_RaiseException(e: *mut _Unwind_Exception) -> _Unwind_Reason_Code;
- pub fn _Unwind_Backtrace(trace: _Unwind_Trace_Fn,
- trace_argument: *mut c_void)
- -> _Unwind_Reason_Code;
- }
--} else {
-- // 32-bit iOS uses SjLj and does not provide _Unwind_Backtrace()
-- #[cfg_attr(all(feature = "llvm-libunwind",
-- any(target_os = "fuchsia", target_os = "linux")),
-- link(name = "unwind", kind = "static"))]
-- extern "C" {
-- #[unwind(allowed)]
-- pub fn _Unwind_SjLj_RaiseException(e: *mut _Unwind_Exception) -> _Unwind_Reason_Code;
-+
-+ #[inline]
-+ pub unsafe fn _Unwind_Resume(exc: *mut _Unwind_Exception) -> ! {
-+ _Unwind_SjLj_Resume(exc)
- }
-
- #[inline]
- pub unsafe fn _Unwind_RaiseException(exc: *mut _Unwind_Exception) -> _Unwind_Reason_Code {
- _Unwind_SjLj_RaiseException(exc)
- }
-+} else {
-+ extern "C" {
-+ #[cfg_attr(stage0, unwind)]
-+ #[cfg_attr(not(stage0), unwind(allowed))]
-+ pub fn _Unwind_Resume(exception: *mut _Unwind_Exception) -> !;
-+ pub fn _Unwind_RaiseException(exception: *mut _Unwind_Exception) -> _Unwind_Reason_Code;
-+ pub fn _Unwind_Backtrace(trace: _Unwind_Trace_Fn,
-+ trace_argument: *mut c_void)
-+ -> _Unwind_Reason_Code;
-+ }
- }
- } // cfg_if!
-
---
-2.28.0
-
1
0
[tor-browser-build/master] Bug 40307: Update macOS toolchain to switch to mozilla91
by sysrqb@torproject.org 06 Oct '21
by sysrqb@torproject.org 06 Oct '21
06 Oct '21
commit 5c4ec887367ad46464f35a35fc630b00e1b3180f
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Sat Aug 7 09:50:52 2021 +0200
Bug 40307: Update macOS toolchain to switch to mozilla91
Based on work from sysrqb (tor-browser-build!342).
---
projects/cctools/config | 2 +-
projects/firefox/mozconfig-osx-x86_64 | 2 +-
projects/libtapi/build | 3 +-
projects/libtapi/config | 2 +-
projects/macosx-toolchain/build | 75 ++++++++++++++++++++++++++++-------
projects/macosx-toolchain/config | 10 ++---
projects/ninja/build | 2 +-
projects/node/config | 4 ++
projects/rust/build | 2 +-
projects/rust/config | 2 +-
rbm.conf | 11 ++---
11 files changed, 83 insertions(+), 32 deletions(-)
diff --git a/projects/cctools/config b/projects/cctools/config
index 280e692..2725cfe 100644
--- a/projects/cctools/config
+++ b/projects/cctools/config
@@ -3,7 +3,7 @@ filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
version: '[% c("abbrev") %]'
# This can be found in
# taskcluster/ci/fetch/toolchains.yml
-git_hash: f2890afb8a52944dd8265e489a0691c7b0afdd54
+git_hash: 30518813875aed656aa7f18b6d485feee25f8f87
git_url: https://github.com/tpoechtrager/cctools-port
var:
diff --git a/projects/firefox/mozconfig-osx-x86_64 b/projects/firefox/mozconfig-osx-x86_64
index 4609839..6cbc76c 100644
--- a/projects/firefox/mozconfig-osx-x86_64
+++ b/projects/firefox/mozconfig-osx-x86_64
@@ -4,7 +4,7 @@ TOOLCHAIN_DIR=/var/tmp/dist/macosx-toolchain
mk_add_options "export LD_LIBRARY_PATH=$TOOLCHAIN_DIR/clang/lib"
CROSS_CCTOOLS_PATH=$TOOLCHAIN_DIR/cctools
-CROSS_SYSROOT=$TOOLCHAIN_DIR/MacOSX10.11.sdk
+CROSS_SYSROOT=$TOOLCHAIN_DIR/MacOSX10.12.sdk
CROSS_PRIVATE_FRAMEWORKS=$CROSS_SYSROOT/System/Library/PrivateFrameworks
HARDENING_FLAGS="-Werror=format -Werror=format-security -fstack-protector-strong -D_FORTIFY_SOURCE=2"
FLAGS="-target x86_64-apple-darwin -B $CROSS_CCTOOLS_PATH/bin -isysroot $CROSS_SYSROOT $HARDENING_FLAGS"
diff --git a/projects/libtapi/build b/projects/libtapi/build
index a0d9c3e..0d1bd1f 100644
--- a/projects/libtapi/build
+++ b/projects/libtapi/build
@@ -36,7 +36,8 @@ cmake $builddir/src/llvm \
-DCMAKE_INSTALL_PREFIX=$distdir \
-DLLVM_TARGETS_TO_BUILD="X86;ARM;AArch64" \
-DTAPI_REPOSITORY_STRING=$TAPI_REPOSITORY \
- -DTAPI_FULL_VERSION=$TAPI_VERSION
+ -DTAPI_FULL_VERSION=$TAPI_VERSION \
+ -DPYTHON_EXECUTABLE=/usr/bin/python3
ninja clangBasic
ninja libtapi install-libtapi install-tapi-headers
diff --git a/projects/libtapi/config b/projects/libtapi/config
index 6c4f5d0..17aaac3 100644
--- a/projects/libtapi/config
+++ b/projects/libtapi/config
@@ -3,7 +3,7 @@ filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
version: '[% c("abbrev") %]'
# This can be found in
# taskcluster/ci/fetch/toolchains.yml
-git_hash: 3efb201881e7a76a21e0554906cf306432539cef
+git_hash: b4f141a16c7c82f75973429c92242a8c7de3ddb1
git_url: https://github.com/tpoechtrager/apple-libtapi
var:
diff --git a/projects/macosx-toolchain/build b/projects/macosx-toolchain/build
index 5716a9e..c4d1937 100644
--- a/projects/macosx-toolchain/build
+++ b/projects/macosx-toolchain/build
@@ -9,31 +9,33 @@ tar -C /var/tmp/dist -xf [% c('input_files_by_name/ninja') %]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/clang') %]
tar -C $distdir -xf [% c('input_files_by_name/SDK') %]
tar -C $distdir -xf [% c('input_files_by_name/cctools') %]
-tar -C $builddir -xf [% c('input_files_by_name/clang-source') %]
+tar -C $builddir -xf [% c('input_files_by_name/llvm-project') %]
+arch=x86_64
clangdir=/var/tmp/dist/clang/bin
cctoolsdir=$distdir/cctools/bin
-sysrootdir=$distdir/MacOSX10.11.sdk/
+sysrootdir=$distdir/MacOSX[% c("version") %].sdk/
+target=x86_64-apple-darwin
# We still need to put the cctoolsdir on the path. That's because of `lipo`. See
# the respective comment in the cctools build script.
export PATH="/var/tmp/dist/ninja:/var/tmp/dist/cmake/bin:$cctoolsdir:$PATH"
export MACOSX_DEPLOYMENT_TARGET=[% c("var/macosx_deployment_target") %]
+export MACH_USE_SYSTEM_PYTHON=1
-cd $builddir/clang-source/projects
+cd $builddir/clang-source
patch -p1 < $rootdir/compiler-rt-cross-compile.patch
patch -p1 < $rootdir/compiler-rt-no-codesign.patch
cd ..
-mkdir build
-cd build
+mkdir build_clang
+pushd build_clang
# We follow quite closely Mozilla's build/build-clang/build-clang.py with the
-# clang-macosx64.json flavor. This currently implies disabling Xray as it
-# requires an OSX 10.12 SDK (see: https://bugs.llvm.org/show_bug.cgi?id=38959)
+# clang-macosx64.json flavor.
cmake -GNinja \
-DCMAKE_C_COMPILER=$clangdir/clang \
-DCMAKE_CXX_COMPILER=$clangdir/clang++ \
-DCMAKE_ASM_COMPILER=$clangdir/clang \
-DCMAKE_LINKER=$clangdir/clang \
- -DCMAKE_AR=$cctoolsdir/x86_64-apple-darwin-ar \
+ -DCMAKE_AR=$cctoolsdir/$target-ar \
-DCMAKE_C_FLAGS="[% c('var/FLAGS') %] -I$sysrootdir/usr/include -iframework $sysrootdir/System/Library/Frameworks" \
-DCMAKE_CXX_FLAGS="-stdlib=libc++ [% c('var/FLAGS') %] -I$sysrootdir/usr/include -iframework $sysrootdir/System/Library/Frameworks" \
-DCMAKE_ASM_FLAGS="[% c('var/FLAGS') %] -I$sysrootdir/usr/include -iframework $sysrootdir/System/Library/Frameworks" \
@@ -43,15 +45,15 @@ cmake -GNinja \
-DCMAKE_INSTALL_PREFIX=$distdir/clang \
-DLLVM_TARGETS_TO_BUILD="X86;ARM;AArch64" \
-DLLVM_ENABLE_ASSERTIONS=OFF \
- -DPYTHON_EXECUTABLE=/usr/bin/python2.7 \
+ -DPYTHON_EXECUTABLE=/usr/bin/python3 \
-DLLVM_TOOL_LIBCXX_BUILD=ON \
-DLLVM_ENABLE_BINDINGS=OFF \
-DLLVM_ENABLE_LIBXML2=FORCE_ON \
-DLLVM_LINK_LLVM_DYLIB=ON \
- -DCMAKE_RANLIB=$cctoolsdir/x86_64-apple-darwin-ranlib \
- -DCMAKE_LIBTOOL=$cctoolsdir/x86_64-apple-darwin-libtool \
+ -DCMAKE_RANLIB=$cctoolsdir/$target-ranlib \
+ -DCMAKE_LIBTOOL=$cctoolsdir/$target-libtool \
-DCMAKE_SYSTEM_NAME=Darwin \
- -DCMAKE_SYSTEM_VERSION=10.10 \
+ -DCMAKE_SYSTEM_VERSION=$MACOSX_DEPLOYMENT_TARGET \
-DLLVM_ENABLE_THREADS=OFF \
-DCOMPILER_RT_BUILD_XRAY=OFF \
-DLIBCXXABI_LIBCXX_INCLUDES=$builddir/clang-source/projects/libcxx/include \
@@ -61,10 +63,53 @@ cmake -GNinja \
-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
-DCMAKE_MACOSX_RPATH=ON \
- -DCMAKE_OSX_ARCHITECTURES=x86_64 \
- -DDARWIN_osx_ARCHS=x86_64 \
+ -DCMAKE_OSX_ARCHITECTURES=$arch \
+ -DDARWIN_macosx_OVERRIDE_SDK_VERSION=$MACOSX_DEPLOYMENT_TARGET \
+ -DDARWIN_osx_ARCHS=$arch \
-DDARWIN_osx_SYSROOT=$sysrootdir \
- -DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-apple-darwin $builddir/clang-source
+ -DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-apple-darwin $builddir/clang-source/llvm
+
+ninja install -v
+
+popd
+mkdir build_compiler_rt
+pushd build_compiler_rt
+
+# And we build compiler-rt by following taskcluster/scripts/misc/build-compiler-rt.sh.
+cmake -GNinja \
+ -DCMAKE_C_COMPILER=$clangdir/clang \
+ -DCMAKE_CXX_COMPILER=$clangdir/clang++ \
+ -DCMAKE_C_COMPILER_TARGET=$target \
+ -DCMAKE_CXX_COMPILER_TARGET=$target \
+ -DCMAKE_ASM_COMPILER_TARGET=$target \
+ -DCMAKE_AR=$clangdir/llvm-ar \
+ -DCMAKE_RANLIB=$clangdir/llvm-ranlib \
+ -DCMAKE_C_FLAGS="[% c('var/FLAGS') %] -I$sysrootdir/usr/include -iframework $sysrootdir/System/Library/Frameworks" \
+ -DCMAKE_CXX_FLAGS="-stdlib=libc++ [% c('var/FLAGS') %] -I$sysrootdir/usr/include -iframework $sysrootdir/System/Library/Frameworks" \
+ -DCMAKE_ASM_FLAGS="[% c('var/FLAGS') %] -I$sysrootdir/usr/include -iframework $sysrootdir/System/Library/Frameworks" \
+ -DCMAKE_EXE_LINKER_FLAGS="[% c('var/LDFLAGS') %]" \
+ -DCMAKE_SHARED_LINKER_FLAGS="[% c('var/LDFLAGS') %]" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DLLVM_ENABLE_ASSERTIONS=OFF \
+ -DCMAKE_INSTALL_PREFIX=$distdir/clang/lib/clang/[% pc("clang", "version") %]/ \
+ -DLLVM_CONFIG_PATH=$clangdir/llvm-config \
+ -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \
+ -DCMAKE_LINKER=$cctoolsdir/$target-ld \
+ -DCMAKE_LIPO=$cctoolsdir/lipo \
+ -DCMAKE_SYSTEM_NAME=Darwin \
+ -DCMAKE_SYSTEM_VERSION=$MACOSX_DEPLOYMENT_TARGET \
+ -DDARWIN_macosx_OVERRIDE_SDK_VERSION=$MACOSX_DEPLOYMENT_TARGET \
+ -DDARWIN_osx_ARCHS=$arch \
+ -DDARWIN_osx_SYSROOT=$sysrootdir \
+ -DDARWIN_osx_BUILTIN_ARCHS=$arch \
+ -DCMAKE_OSX_SYSROOT=$sysrootdir \
+ -DCMAKE_FIND_ROOT_PATH=$sysrootdir \
+ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
+ -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
+ -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
+ -DDARWIN_osx_BUILTIN_ARCHS=$arch \
+ $builddir/clang-source/compiler-rt
+
ninja install -v
# We now have a native macosx64 toolchain.
diff --git a/projects/macosx-toolchain/config b/projects/macosx-toolchain/config
index 5f9a109..b42d190 100644
--- a/projects/macosx-toolchain/config
+++ b/projects/macosx-toolchain/config
@@ -1,13 +1,13 @@
# vim: filetype=yaml sw=2
filename: '[% project %]-[% c("version") %]-1-[% c("var/build_id") %].tar.gz'
-version: 10.11
+version: 10.12
var:
container:
use_container: 1
setup: |
mkdir -p /var/tmp/dist
tar -C /var/tmp/dist -xf $rootdir/[% c("compiler_tarfile") %]
- export sysrootdir=/var/tmp/dist/[% project %]/MacOSX10.11.sdk/
+ export sysrootdir=/var/tmp/dist/[% project %]/MacOSX[% c("version") %].sdk/
export clangdir=/var/tmp/dist/[% project %]/clang
export cctoolsdir=/var/tmp/dist/[% project %]/cctools/bin
export PATH="$clangdir/bin:$cctoolsdir:$PATH"
@@ -30,8 +30,8 @@ input_files:
# build/macosx/cross-mozconfig.common
- name: SDK
URL: 'https://people.torproject.org/~gk/mirrors/sources/MacOSX[% c("version") %].sdk.tar.bz2'
- sha256sum: d11e410d757d023be66d2fe7eaa85a1d232da3ac04f177eff3d8b8275cd9ffca
- - name: clang-source
- project: clang-source
+ sha256sum: d2ef4ae4f85675c08795d33f283e307b6299184d78d4b10bdbea39df6dca7d94
+ - name: llvm-project
+ project: llvm-project
- filename: compiler-rt-cross-compile.patch
- filename: compiler-rt-no-codesign.patch
diff --git a/projects/ninja/build b/projects/ninja/build
index 9fc0eaa..527f1b6 100644
--- a/projects/ninja/build
+++ b/projects/ninja/build
@@ -10,7 +10,7 @@ mkdir /var/tmp/build
tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz
cd /var/tmp/build/[% project %]-[% c('version') %]
-[% IF c("var/windows") -%]
+[% IF c("var/windows") || c("var/osx") -%]
# Starting with Debian Bullseye, /usr/bin/python does not exist, so
# we need to use python3 explicitly
sed -i 's/env python$/env python3/' configure.py
diff --git a/projects/node/config b/projects/node/config
index ce058cf..2682fad 100644
--- a/projects/node/config
+++ b/projects/node/config
@@ -16,6 +16,10 @@ targets:
var:
arch_deps:
- python2
+ osx-x86_64:
+ var:
+ arch_deps:
+ - python2
input_files:
- project: container-image
diff --git a/projects/rust/build b/projects/rust/build
index 69bd0f4..213e1c1 100644
--- a/projects/rust/build
+++ b/projects/rust/build
@@ -31,7 +31,7 @@ export PATH="$distdir-rust-old/bin:$PATH"
cat > $distdir/helper/x86_64-apple-darwin-clang << 'EOF'
#!/bin/sh
BASEDIR=/var/tmp/dist/macosx-toolchain
-$BASEDIR/cctools/bin/x86_64-apple-darwin-clang -target x86_64-apple-darwin -B $BASEDIR/cctools/bin -isysroot $BASEDIR/MacOSX10.11.sdk/ -Wl,-syslibroot,$BASEDIR/MacOSX10.11.sdk/ -Wl,-dead_strip -Wl,-pie "$@"
+$BASEDIR/cctools/bin/x86_64-apple-darwin-clang -target x86_64-apple-darwin -B $BASEDIR/cctools/bin -isysroot $sysrootdir -Wl,-syslibroot,$sysrootdir -Wl,-dead_strip -Wl,-pie "$@"
EOF
chmod +x $distdir/helper/x86_64-apple-darwin-clang
diff --git a/projects/rust/config b/projects/rust/config
index 4995f1c..2a6657f 100644
--- a/projects/rust/config
+++ b/projects/rust/config
@@ -67,7 +67,7 @@ targets:
- libssl-dev
- pkg-config
- zlib1g-dev
- configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --target=x86_64-apple-darwin --set=target.x86_64-apple-darwin.cc=x86_64-apple-darwin-clang
+ configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --target=x86_64-unknown-linux-gnu,x86_64-apple-darwin --set=target.x86_64-apple-darwin.cc=x86_64-apple-darwin-clang
windows:
var:
diff --git a/rbm.conf b/rbm.conf
index c67fdc9..be891d0 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -476,28 +476,29 @@ targets:
torbrowser-osx-x86_64:
- osx-x86_64
+ - ff91esr
osx-x86_64:
arch: x86_64
var:
osx: 1
osname: osx-x86_64
container:
- suite: buster
+ suite: bullseye
arch: amd64
compiler: 'macosx-toolchain'
configure_opt: '--host=x86_64-apple-darwin CC="x86_64-apple-darwin-clang [% c("var/FLAGS") %]" CXX="x86_64-apple-darwin-clang++ [% c("var/FLAGS") %]" [% c("var/configure_opt_project") %]'
FLAGS: "-target x86_64-apple-darwin -B $cctoolsdir -isysroot $sysrootdir"
LDFLAGS: "-Wl,-syslibroot,$sysrootdir -Wl,-dead_strip -Wl,-pie"
- macosx_deployment_target: '10.9'
+ macosx_deployment_target: '10.12'
locale_ja: ja-JP-mac
- # We only support RLBox on the nightly channel for now
- rlbox: '[% c("var/nightly") %]'
+ rlbox: 0
# We only build snowflake on the alpha and nightly
# channels for now.
snowflake: '[% c("var/alpha") || c("var/nightly") %]'
deps:
- build-essential
- - python
+ - python3
+ - python3-distutils
- automake
- libtool
- zip
1
0
06 Oct '21
commit 7099a3ffaa985015b728a8ce17cb4c3244d0f7a8
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Wed Sep 22 08:47:18 2021 +0200
Bug 40334: Remove ff91esr target
All platforms switched to >= 91, so we don't need the ff91esr target
anymore.
We still keep the options that allow us to easily change the versions
of cbindgen, node and rust, as we will probably need to change them later
for the android version.
---
projects/cbindgen/config | 16 +--
projects/clang/build | 16 +--
projects/clang/config | 11 +-
projects/firefox/config | 9 +-
projects/node/config | 8 +-
projects/rust/43909.patch | 252 -------------------------------------------
projects/rust/build | 26 ++---
projects/rust/config | 13 +--
projects/tor-launcher/config | 2 +-
rbm.conf | 17 ---
10 files changed, 24 insertions(+), 346 deletions(-)
diff --git a/projects/cbindgen/config b/projects/cbindgen/config
index 6b7695e..bc52920 100644
--- a/projects/cbindgen/config
+++ b/projects/cbindgen/config
@@ -5,21 +5,13 @@ git_hash: '[% c("var/cbindgen_hash") %]'
filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
var:
- cbindgen_version: 0.14.1
- cbindgen_hash: 0761b9bbe48d01ded1bbec45bbeea5544b3b1002
- cbindgen_vendor_hash: 1c500bc1b8de4eb400f90a528c4b5c6b2c7357e401a95c5354469a18fd365dbc
- cbindgen_vendor_people_tpo_user: gk
+ cbindgen_version: 0.19.0
+ cbindgen_hash: d9e490ce8b836194595bd30611253a7028059da2
+ cbindgen_vendor_hash: 7d99c195b180e28ca7499d8744d020b864f952a5ba699716707aec9a06b4ee8b
+ cbindgen_vendor_people_tpo_user: boklm
container:
use_container: 1
-targets:
- ff91esr:
- var:
- cbindgen_version: 0.19.0
- cbindgen_hash: d9e490ce8b836194595bd30611253a7028059da2
- cbindgen_vendor_hash: 7d99c195b180e28ca7499d8744d020b864f952a5ba699716707aec9a06b4ee8b
- cbindgen_vendor_people_tpo_user: boklm
-
input_files:
- project: container-image
- name: rust
diff --git a/projects/clang/build b/projects/clang/build
index 2f31dbf..33c89d5 100644
--- a/projects/clang/build
+++ b/projects/clang/build
@@ -23,21 +23,13 @@ cd clang-source
export LLVM_HOME=$(pwd)
mkdir build
cd build
-# XXX: remove duplicated parts while fixing tor-browser-build#40048
-[% IF ! c("var/ff91esr") %]
- cmake .. -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=$distdir \
- -DCMAKE_BUILD_TYPE:STRING=Release \
- [% IF c("var/rlbox") -%]-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly[% END %] \
- $LLVM_HOME
-[% ELSE %]
- cmake ../llvm -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=$distdir \
- -DCMAKE_BUILD_TYPE=Release \
+cmake ../llvm -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=$distdir \
+ -DCMAKE_BUILD_TYPE=Release \
[% IF c("var/android") -%]
- -DLLVM_TARGETS_TO_BUILD="X86;ARM;AArch64" \
+ -DLLVM_TARGETS_TO_BUILD="X86;ARM;AArch64" \
[% END -%]
[% IF c("var/rlbox") -%]-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly[% END %] \
- -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;compiler-rt;libcxx;libcxxabi;lld"
-[% END -%]
+ -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;compiler-rt;libcxx;libcxxabi;lld"
make -j[% c("buildconf/num_procs") %]
make install
cd /var/tmp/dist
diff --git a/projects/clang/config b/projects/clang/config
index 855c200..11ea039 100644
--- a/projects/clang/config
+++ b/projects/clang/config
@@ -3,15 +3,10 @@ version: '[% c("var/llvm_version") %]'
filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
var:
- llvm_version: '[% pc("clang-source", "version") %]'
+ llvm_version: '[% pc("llvm-project", "version") %]'
container:
use_container: 1
-targets:
- ff91esr:
- var:
- llvm_version: '[% pc("llvm-project", "version") %]'
-
input_files:
- project: container-image
- name: '[% c("var/compiler") %]'
@@ -22,12 +17,8 @@ input_files:
enable: '[% c("var/linux") %] || [% c("var/android") %]'
- project: cmake
name: cmake
- - project: clang-source
- name: clang-source
- enable: '[% ! c("var/ff91esr") %]'
- project: llvm-project
name: clang-source
- enable: '[% c("var/ff91esr") %]'
- project: python
name: python
enable: '[% c("var/linux") %]'
diff --git a/projects/firefox/config b/projects/firefox/config
index a1de42c..a51daee 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -8,8 +8,8 @@ git_submodule: 1
gpg_keyring: torbutton.gpg
var:
- firefox_platform_version: 78.14.0
- firefox_version: '[% c("var/firefox_platform_version") %]esr'
+ firefox_platform_version: 91.0.1
+ firefox_version: '[% c("var/firefox_platform_version") %]'
torbrowser_branch: 11.0
branding_directory: 'browser/branding/alpha'
copyright_year: '[% exec("git show -s --format=%ci").remove("-.*") %]'
@@ -49,11 +49,6 @@ steps:
use_container: 0
targets:
- ff91esr:
- var:
- firefox_platform_version: 91.0.1
- firefox_version: '[% c("var/firefox_platform_version") %]'
-
release:
var:
branding_directory: 'browser/branding/official'
diff --git a/projects/node/config b/projects/node/config
index 2682fad..041e5d9 100644
--- a/projects/node/config
+++ b/projects/node/config
@@ -2,16 +2,12 @@
version: '[% c("var/node_version") %]'
filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
var:
- node_version: 10.21.0
- node_hash: 26b01fa28338cacaa8a66d7963ab2514e81678c268ab52ec55dcf937aadcb73b
+ node_version: 10.23.1
+ node_hash: 88aa16f5af79615b183ca55ed81393763169e75d1fb96013cf1831895c6cedfa
container:
use_container: 1
targets:
- ff91esr:
- var:
- node_version: 10.23.1
- node_hash: 88aa16f5af79615b183ca55ed81393763169e75d1fb96013cf1831895c6cedfa
windows:
var:
arch_deps:
diff --git a/projects/rust/43909.patch b/projects/rust/43909.patch
deleted file mode 100644
index 78d2a75..0000000
--- a/projects/rust/43909.patch
+++ /dev/null
@@ -1,252 +0,0 @@
-From c95310f2d4fd3c88241c3b5d6dbf6251d34a3256 Mon Sep 17 00:00:00 2001
-From: Nikita Popov <nikita.ppv(a)gmail.com>
-Date: Sat, 16 Nov 2019 16:22:18 +0100
-Subject: [PATCH] Restructure caching
-
-Variant on D70103. The caching is switched to always use a BB to
-cache entry map, which then contains per-value caches. A separate
-set contains value handles with a deletion callback. This allows us
-to properly invalidate overdefined values.
-
-A possible alternative would be to always cache by value first and
-have per-BB maps/sets in the each cache entry. In that case we could
-use a ValueMap and would avoid the separate value handle set. I went
-with the BB indexing at the top level to make it easier to integrate
-D69914, but possibly that's not the right choice.
-
-Differential Revision: https://reviews.llvm.org/D70376
-
-diff --git a/llvm/lib/Analysis/LazyValueInfo.cpp b/llvm/lib/Analysis/LazyValueInfo.cpp
-index 110c085d3f3..aa6862cb588 100644
---- a/llvm/lib/Analysis/LazyValueInfo.cpp
-+++ b/llvm/lib/Analysis/LazyValueInfo.cpp
-@@ -133,12 +133,9 @@ namespace {
- /// A callback value handle updates the cache when values are erased.
- class LazyValueInfoCache;
- struct LVIValueHandle final : public CallbackVH {
-- // Needs to access getValPtr(), which is protected.
-- friend struct DenseMapInfo<LVIValueHandle>;
--
- LazyValueInfoCache *Parent;
-
-- LVIValueHandle(Value *V, LazyValueInfoCache *P)
-+ LVIValueHandle(Value *V, LazyValueInfoCache *P = nullptr)
- : CallbackVH(V), Parent(P) { }
-
- void deleted() override;
-@@ -152,89 +149,63 @@ namespace {
- /// This is the cache kept by LazyValueInfo which
- /// maintains information about queries across the clients' queries.
- class LazyValueInfoCache {
-- /// This is all of the cached block information for exactly one Value*.
-- /// The entries are sorted by the BasicBlock* of the
-- /// entries, allowing us to do a lookup with a binary search.
-- /// Over-defined lattice values are recorded in OverDefinedCache to reduce
-- /// memory overhead.
-- struct ValueCacheEntryTy {
-- ValueCacheEntryTy(Value *V, LazyValueInfoCache *P) : Handle(V, P) {}
-- LVIValueHandle Handle;
-- SmallDenseMap<PoisoningVH<BasicBlock>, ValueLatticeElement, 4> BlockVals;
-+ /// This is all of the cached information for one basic block. It contains
-+ /// the per-value lattice elements, as well as a separate set for
-+ /// overdefined values to reduce memory usage.
-+ struct BlockCacheEntryTy {
-+ SmallDenseMap<AssertingVH<Value>, ValueLatticeElement, 4> LatticeElements;
-+ SmallDenseSet<AssertingVH<Value>, 4> OverDefined;
- };
-
-- /// This tracks, on a per-block basis, the set of values that are
-- /// over-defined at the end of that block.
-- typedef DenseMap<PoisoningVH<BasicBlock>, SmallPtrSet<Value *, 4>>
-- OverDefinedCacheTy;
-- /// Keep track of all blocks that we have ever seen, so we
-- /// don't spend time removing unused blocks from our caches.
-- DenseSet<PoisoningVH<BasicBlock> > SeenBlocks;
--
-- /// This is all of the cached information for all values,
-- /// mapped from Value* to key information.
-- DenseMap<Value *, std::unique_ptr<ValueCacheEntryTy>> ValueCache;
-- OverDefinedCacheTy OverDefinedCache;
--
-+ /// Cached information per basic block.
-+ DenseMap<PoisoningVH<BasicBlock>, BlockCacheEntryTy> BlockCache;
-+ /// Set of value handles used to erase values from the cache on deletion.
-+ DenseSet<LVIValueHandle, DenseMapInfo<Value *>> ValueHandles;
-
- public:
- void insertResult(Value *Val, BasicBlock *BB,
- const ValueLatticeElement &Result) {
-- SeenBlocks.insert(BB);
--
-+ auto &CacheEntry = BlockCache.try_emplace(BB).first->second;
- // Insert over-defined values into their own cache to reduce memory
- // overhead.
- if (Result.isOverdefined())
-- OverDefinedCache[BB].insert(Val);
-- else {
-- auto It = ValueCache.find_as(Val);
-- if (It == ValueCache.end()) {
-- ValueCache[Val] = make_unique<ValueCacheEntryTy>(Val, this);
-- It = ValueCache.find_as(Val);
-- assert(It != ValueCache.end() && "Val was just added to the map!");
-- }
-- It->second->BlockVals[BB] = Result;
-- }
-- }
--
-- bool isOverdefined(Value *V, BasicBlock *BB) const {
-- auto ODI = OverDefinedCache.find(BB);
--
-- if (ODI == OverDefinedCache.end())
-- return false;
-+ CacheEntry.OverDefined.insert(Val);
-+ else
-+ CacheEntry.LatticeElements.insert({ Val, Result });
-
-- return ODI->second.count(V);
-+ auto HandleIt = ValueHandles.find_as(Val);
-+ if (HandleIt == ValueHandles.end())
-+ ValueHandles.insert({ Val, this });
- }
-
- bool hasCachedValueInfo(Value *V, BasicBlock *BB) const {
-- if (isOverdefined(V, BB))
-- return true;
--
-- auto I = ValueCache.find_as(V);
-- if (I == ValueCache.end())
-+ auto It = BlockCache.find(BB);
-+ if (It == BlockCache.end())
- return false;
-
-- return I->second->BlockVals.count(BB);
-+ return It->second.OverDefined.count(V) ||
-+ It->second.LatticeElements.count(V);
- }
-
- ValueLatticeElement getCachedValueInfo(Value *V, BasicBlock *BB) const {
-- if (isOverdefined(V, BB))
-+ auto It = BlockCache.find(BB);
-+ if (It == BlockCache.end())
-+ return ValueLatticeElement();
-+
-+ if (It->second.OverDefined.count(V))
- return ValueLatticeElement::getOverdefined();
-
-- auto I = ValueCache.find_as(V);
-- if (I == ValueCache.end())
-+ auto LatticeIt = It->second.LatticeElements.find(V);
-+ if (LatticeIt == It->second.LatticeElements.end())
- return ValueLatticeElement();
-- auto BBI = I->second->BlockVals.find(BB);
-- if (BBI == I->second->BlockVals.end())
-- return ValueLatticeElement();
-- return BBI->second;
-+
-+ return LatticeIt->second;
- }
-
- /// clear - Empty the cache.
- void clear() {
-- SeenBlocks.clear();
-- ValueCache.clear();
-- OverDefinedCache.clear();
-+ BlockCache.clear();
-+ ValueHandles.clear();
- }
-
- /// Inform the cache that a given value has been deleted.
-@@ -248,23 +219,18 @@ namespace {
- /// OldSucc might have (unless also overdefined in NewSucc). This just
- /// flushes elements from the cache and does not add any.
- void threadEdgeImpl(BasicBlock *OldSucc,BasicBlock *NewSucc);
--
-- friend struct LVIValueHandle;
- };
- }
-
- void LazyValueInfoCache::eraseValue(Value *V) {
-- for (auto I = OverDefinedCache.begin(), E = OverDefinedCache.end(); I != E;) {
-- // Copy and increment the iterator immediately so we can erase behind
-- // ourselves.
-- auto Iter = I++;
-- SmallPtrSetImpl<Value *> &ValueSet = Iter->second;
-- ValueSet.erase(V);
-- if (ValueSet.empty())
-- OverDefinedCache.erase(Iter);
-+ for (auto &Pair : BlockCache) {
-+ Pair.second.LatticeElements.erase(V);
-+ Pair.second.OverDefined.erase(V);
- }
-
-- ValueCache.erase(V);
-+ auto HandleIt = ValueHandles.find_as(V);
-+ if (HandleIt != ValueHandles.end())
-+ ValueHandles.erase(HandleIt);
- }
-
- void LVIValueHandle::deleted() {
-@@ -274,18 +240,7 @@ void LVIValueHandle::deleted() {
- }
-
- void LazyValueInfoCache::eraseBlock(BasicBlock *BB) {
-- // Shortcut if we have never seen this block.
-- DenseSet<PoisoningVH<BasicBlock> >::iterator I = SeenBlocks.find(BB);
-- if (I == SeenBlocks.end())
-- return;
-- SeenBlocks.erase(I);
--
-- auto ODI = OverDefinedCache.find(BB);
-- if (ODI != OverDefinedCache.end())
-- OverDefinedCache.erase(ODI);
--
-- for (auto &I : ValueCache)
-- I.second->BlockVals.erase(BB);
-+ BlockCache.erase(BB);
- }
-
- void LazyValueInfoCache::threadEdgeImpl(BasicBlock *OldSucc,
-@@ -303,10 +258,11 @@ void LazyValueInfoCache::threadEdgeImpl(BasicBlock *OldSucc,
- std::vector<BasicBlock*> worklist;
- worklist.push_back(OldSucc);
-
-- auto I = OverDefinedCache.find(OldSucc);
-- if (I == OverDefinedCache.end())
-+ auto I = BlockCache.find(OldSucc);
-+ if (I == BlockCache.end() || I->second.OverDefined.empty())
- return; // Nothing to process here.
-- SmallVector<Value *, 4> ValsToClear(I->second.begin(), I->second.end());
-+ SmallVector<Value *, 4> ValsToClear(I->second.OverDefined.begin(),
-+ I->second.OverDefined.end());
-
- // Use a worklist to perform a depth-first search of OldSucc's successors.
- // NOTE: We do not need a visited list since any blocks we have already
-@@ -320,10 +276,10 @@ void LazyValueInfoCache::threadEdgeImpl(BasicBlock *OldSucc,
- if (ToUpdate == NewSucc) continue;
-
- // If a value was marked overdefined in OldSucc, and is here too...
-- auto OI = OverDefinedCache.find(ToUpdate);
-- if (OI == OverDefinedCache.end())
-+ auto OI = BlockCache.find(ToUpdate);
-+ if (OI == BlockCache.end() || OI->second.OverDefined.empty())
- continue;
-- SmallPtrSetImpl<Value *> &ValueSet = OI->second;
-+ auto &ValueSet = OI->second.OverDefined;
-
- bool changed = false;
- for (Value *V : ValsToClear) {
-@@ -333,11 +289,6 @@ void LazyValueInfoCache::threadEdgeImpl(BasicBlock *OldSucc,
- // If we removed anything, then we potentially need to update
- // blocks successors too.
- changed = true;
--
-- if (ValueSet.empty()) {
-- OverDefinedCache.erase(OI);
-- break;
-- }
- }
-
- if (!changed) continue;
---
-2.24.0
-
diff --git a/projects/rust/build b/projects/rust/build
index 213e1c1..e513f2d 100644
--- a/projects/rust/build
+++ b/projects/rust/build
@@ -4,10 +4,8 @@ distdir=/var/tmp/dist/[% project %]
mkdir -p $distdir
tar -C /var/tmp/dist -xf [% c('input_files_by_name/cmake') %]
export PATH="/var/tmp/dist/cmake/bin:$PATH"
-[% IF c("var/ff91esr") %]
- tar -C /var/tmp/dist -xf [% c('input_files_by_name/ninja') %]
- export PATH=/var/tmp/dist/ninja:$PATH
-[% END %]
+tar -C /var/tmp/dist -xf [% c('input_files_by_name/ninja') %]
+export PATH=/var/tmp/dist/ninja:$PATH
tar -C /var/tmp/dist -xf [% c('input_files_by_name/previous_rust') %]
cd /var/tmp/dist/rust-[% c('var/previous_version') %]-x86_64-unknown-linux-gnu
./install.sh --prefix=$distdir-rust-old
@@ -43,20 +41,12 @@ mkdir /var/tmp/build
tar -C /var/tmp/build -xf [% c('input_files_by_name/rust') %]
cd /var/tmp/build/rustc-[% c('version') %]-src
-[% IF ! c("var/ff91esr") %]
- # LLVM has reproducibility issues when optimizing bitcode, which we need to
- # patch. See: #32053 for more details.
- cd src/llvm-project
- patch -p1 < $rootdir/[% c('input_files_by_name/43909') %]
- cd ../../
-[% ELSE -%]
- # Patches for fixing:
- # https://github.com/rust-lang/rust/issues/86436
- # https://github.com/rust-lang/rust/pull/86568
- # https://github.com/rust-lang/rust/issues/86999
- # This can be removed when updating to >= 1.54.0.
- patch -p1 < $rootdir/fix-build-1.53.0.patch
-[% END %]
+# Patches for fixing:
+# https://github.com/rust-lang/rust/issues/86436
+# https://github.com/rust-lang/rust/pull/86568
+# https://github.com/rust-lang/rust/issues/86999
+# This can be removed when updating to >= 1.54.0.
+patch -p1 < $rootdir/fix-build-1.53.0.patch
mkdir build
cd build
diff --git a/projects/rust/config b/projects/rust/config
index 2a6657f..56a0a88 100644
--- a/projects/rust/config
+++ b/projects/rust/config
@@ -3,16 +3,12 @@ filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
version: '[% c("var/current_version") %]'
var:
- current_version: 1.43.0
- previous_version: 1.42.0
+ current_version: 1.53.0
+ previous_version: 1.52.0
container:
use_container: 1
targets:
- ff91esr:
- var:
- current_version: 1.53.0
- previous_version: 1.52.0
android:
var:
arch_deps:
@@ -83,7 +79,6 @@ input_files:
name: cmake
- project: ninja
name: ninja
- enable: '[% c("var/ff91esr") %]'
- project: '[% c("var/compiler") %]'
name: '[% c("var/compiler") %]'
- URL: 'https://static.rust-lang.org/dist/rustc-[% c("var/current_version") %]-src.tar.gz'
@@ -99,11 +94,7 @@ input_files:
- project: python
name: python
enable: '[% c("var/linux") %]'
- - filename: 43909.patch
- name: 43909
- enable: '[% ! c("var/ff91esr") %]'
# Fix for https://github.com/rust-lang/rust/issues/86436
# Taken from https://github.com/rust-lang/rust/pull/86568 (merged it 1.54.0)
- filename: fix-build-1.53.0.patch
- enable: '[% c("var/ff91esr") %]'
diff --git a/projects/tor-launcher/config b/projects/tor-launcher/config
index 2abdb1b..e349026 100644
--- a/projects/tor-launcher/config
+++ b/projects/tor-launcher/config
@@ -20,7 +20,7 @@ steps:
use_container: 0
targets:
- ff91esr:
+ nightly:
version: '[% c("abbrev") %]'
git_hash: master
tag_gpg_id: 0
diff --git a/rbm.conf b/rbm.conf
index be891d0..d7bbd5f 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -265,17 +265,9 @@ targets:
- zip
- unzip
- # Temporary target for the switch to firefox91. We use it to switch each
- # platform separately to firefox91, and we should remove it once all
- # platforms have been moved to it.
- ff91esr:
- var:
- ff91esr: 1
-
torbrowser-android-armv7:
- android-armv7
- android
- - ff91esr
android-armv7:
arch: armv7
var:
@@ -287,7 +279,6 @@ targets:
torbrowser-android-x86:
- android-x86
- android
- - ff91esr
android-x86:
arch: x86
var:
@@ -299,7 +290,6 @@ targets:
torbrowser-android-x86_64:
- android-x86_64
- android
- - ff91esr
android-x86_64:
arch: x86_64
var:
@@ -311,7 +301,6 @@ targets:
torbrowser-android-aarch64:
- android-aarch64
- android
- - ff91esr
android-aarch64:
arch: aarch64
var:
@@ -369,16 +358,13 @@ targets:
torbrowser-linux-x86_64:
- linux-x86_64
- linux
- - ff91esr
torbrowser-linux-x86_64-asan:
- linux-asan
- linux-x86_64
- linux
- - ff91esr
torbrowser-linux-i686:
- linux-i686
- linux
- - ff91esr
linux-x86_64:
arch: x86_64
var:
@@ -428,11 +414,9 @@ targets:
torbrowser-windows-i686:
- windows-i686
- windows
- - ff91esr
torbrowser-windows-x86_64:
- windows-x86_64
- windows
- - ff91esr
windows-x86_64:
arch: x86_64
var:
@@ -476,7 +460,6 @@ targets:
torbrowser-osx-x86_64:
- osx-x86_64
- - ff91esr
osx-x86_64:
arch: x86_64
var:
1
0
[tor-browser-build/master] Bug 40048: Remove projects/clang-source
by sysrqb@torproject.org 06 Oct '21
by sysrqb@torproject.org 06 Oct '21
06 Oct '21
commit e170c8b0c54cc630c5cb282739239662d0054d2f
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Wed Sep 22 08:54:29 2021 +0200
Bug 40048: Remove projects/clang-source
We are now using the llvm-project folder structure, in
projects/llvm-project.
---
projects/clang-source/43909.patch | 252 --------------------------------------
projects/clang-source/build | 33 -----
projects/clang-source/config | 39 ------
3 files changed, 324 deletions(-)
diff --git a/projects/clang-source/43909.patch b/projects/clang-source/43909.patch
deleted file mode 100644
index 78d2a75..0000000
--- a/projects/clang-source/43909.patch
+++ /dev/null
@@ -1,252 +0,0 @@
-From c95310f2d4fd3c88241c3b5d6dbf6251d34a3256 Mon Sep 17 00:00:00 2001
-From: Nikita Popov <nikita.ppv(a)gmail.com>
-Date: Sat, 16 Nov 2019 16:22:18 +0100
-Subject: [PATCH] Restructure caching
-
-Variant on D70103. The caching is switched to always use a BB to
-cache entry map, which then contains per-value caches. A separate
-set contains value handles with a deletion callback. This allows us
-to properly invalidate overdefined values.
-
-A possible alternative would be to always cache by value first and
-have per-BB maps/sets in the each cache entry. In that case we could
-use a ValueMap and would avoid the separate value handle set. I went
-with the BB indexing at the top level to make it easier to integrate
-D69914, but possibly that's not the right choice.
-
-Differential Revision: https://reviews.llvm.org/D70376
-
-diff --git a/llvm/lib/Analysis/LazyValueInfo.cpp b/llvm/lib/Analysis/LazyValueInfo.cpp
-index 110c085d3f3..aa6862cb588 100644
---- a/llvm/lib/Analysis/LazyValueInfo.cpp
-+++ b/llvm/lib/Analysis/LazyValueInfo.cpp
-@@ -133,12 +133,9 @@ namespace {
- /// A callback value handle updates the cache when values are erased.
- class LazyValueInfoCache;
- struct LVIValueHandle final : public CallbackVH {
-- // Needs to access getValPtr(), which is protected.
-- friend struct DenseMapInfo<LVIValueHandle>;
--
- LazyValueInfoCache *Parent;
-
-- LVIValueHandle(Value *V, LazyValueInfoCache *P)
-+ LVIValueHandle(Value *V, LazyValueInfoCache *P = nullptr)
- : CallbackVH(V), Parent(P) { }
-
- void deleted() override;
-@@ -152,89 +149,63 @@ namespace {
- /// This is the cache kept by LazyValueInfo which
- /// maintains information about queries across the clients' queries.
- class LazyValueInfoCache {
-- /// This is all of the cached block information for exactly one Value*.
-- /// The entries are sorted by the BasicBlock* of the
-- /// entries, allowing us to do a lookup with a binary search.
-- /// Over-defined lattice values are recorded in OverDefinedCache to reduce
-- /// memory overhead.
-- struct ValueCacheEntryTy {
-- ValueCacheEntryTy(Value *V, LazyValueInfoCache *P) : Handle(V, P) {}
-- LVIValueHandle Handle;
-- SmallDenseMap<PoisoningVH<BasicBlock>, ValueLatticeElement, 4> BlockVals;
-+ /// This is all of the cached information for one basic block. It contains
-+ /// the per-value lattice elements, as well as a separate set for
-+ /// overdefined values to reduce memory usage.
-+ struct BlockCacheEntryTy {
-+ SmallDenseMap<AssertingVH<Value>, ValueLatticeElement, 4> LatticeElements;
-+ SmallDenseSet<AssertingVH<Value>, 4> OverDefined;
- };
-
-- /// This tracks, on a per-block basis, the set of values that are
-- /// over-defined at the end of that block.
-- typedef DenseMap<PoisoningVH<BasicBlock>, SmallPtrSet<Value *, 4>>
-- OverDefinedCacheTy;
-- /// Keep track of all blocks that we have ever seen, so we
-- /// don't spend time removing unused blocks from our caches.
-- DenseSet<PoisoningVH<BasicBlock> > SeenBlocks;
--
-- /// This is all of the cached information for all values,
-- /// mapped from Value* to key information.
-- DenseMap<Value *, std::unique_ptr<ValueCacheEntryTy>> ValueCache;
-- OverDefinedCacheTy OverDefinedCache;
--
-+ /// Cached information per basic block.
-+ DenseMap<PoisoningVH<BasicBlock>, BlockCacheEntryTy> BlockCache;
-+ /// Set of value handles used to erase values from the cache on deletion.
-+ DenseSet<LVIValueHandle, DenseMapInfo<Value *>> ValueHandles;
-
- public:
- void insertResult(Value *Val, BasicBlock *BB,
- const ValueLatticeElement &Result) {
-- SeenBlocks.insert(BB);
--
-+ auto &CacheEntry = BlockCache.try_emplace(BB).first->second;
- // Insert over-defined values into their own cache to reduce memory
- // overhead.
- if (Result.isOverdefined())
-- OverDefinedCache[BB].insert(Val);
-- else {
-- auto It = ValueCache.find_as(Val);
-- if (It == ValueCache.end()) {
-- ValueCache[Val] = make_unique<ValueCacheEntryTy>(Val, this);
-- It = ValueCache.find_as(Val);
-- assert(It != ValueCache.end() && "Val was just added to the map!");
-- }
-- It->second->BlockVals[BB] = Result;
-- }
-- }
--
-- bool isOverdefined(Value *V, BasicBlock *BB) const {
-- auto ODI = OverDefinedCache.find(BB);
--
-- if (ODI == OverDefinedCache.end())
-- return false;
-+ CacheEntry.OverDefined.insert(Val);
-+ else
-+ CacheEntry.LatticeElements.insert({ Val, Result });
-
-- return ODI->second.count(V);
-+ auto HandleIt = ValueHandles.find_as(Val);
-+ if (HandleIt == ValueHandles.end())
-+ ValueHandles.insert({ Val, this });
- }
-
- bool hasCachedValueInfo(Value *V, BasicBlock *BB) const {
-- if (isOverdefined(V, BB))
-- return true;
--
-- auto I = ValueCache.find_as(V);
-- if (I == ValueCache.end())
-+ auto It = BlockCache.find(BB);
-+ if (It == BlockCache.end())
- return false;
-
-- return I->second->BlockVals.count(BB);
-+ return It->second.OverDefined.count(V) ||
-+ It->second.LatticeElements.count(V);
- }
-
- ValueLatticeElement getCachedValueInfo(Value *V, BasicBlock *BB) const {
-- if (isOverdefined(V, BB))
-+ auto It = BlockCache.find(BB);
-+ if (It == BlockCache.end())
-+ return ValueLatticeElement();
-+
-+ if (It->second.OverDefined.count(V))
- return ValueLatticeElement::getOverdefined();
-
-- auto I = ValueCache.find_as(V);
-- if (I == ValueCache.end())
-+ auto LatticeIt = It->second.LatticeElements.find(V);
-+ if (LatticeIt == It->second.LatticeElements.end())
- return ValueLatticeElement();
-- auto BBI = I->second->BlockVals.find(BB);
-- if (BBI == I->second->BlockVals.end())
-- return ValueLatticeElement();
-- return BBI->second;
-+
-+ return LatticeIt->second;
- }
-
- /// clear - Empty the cache.
- void clear() {
-- SeenBlocks.clear();
-- ValueCache.clear();
-- OverDefinedCache.clear();
-+ BlockCache.clear();
-+ ValueHandles.clear();
- }
-
- /// Inform the cache that a given value has been deleted.
-@@ -248,23 +219,18 @@ namespace {
- /// OldSucc might have (unless also overdefined in NewSucc). This just
- /// flushes elements from the cache and does not add any.
- void threadEdgeImpl(BasicBlock *OldSucc,BasicBlock *NewSucc);
--
-- friend struct LVIValueHandle;
- };
- }
-
- void LazyValueInfoCache::eraseValue(Value *V) {
-- for (auto I = OverDefinedCache.begin(), E = OverDefinedCache.end(); I != E;) {
-- // Copy and increment the iterator immediately so we can erase behind
-- // ourselves.
-- auto Iter = I++;
-- SmallPtrSetImpl<Value *> &ValueSet = Iter->second;
-- ValueSet.erase(V);
-- if (ValueSet.empty())
-- OverDefinedCache.erase(Iter);
-+ for (auto &Pair : BlockCache) {
-+ Pair.second.LatticeElements.erase(V);
-+ Pair.second.OverDefined.erase(V);
- }
-
-- ValueCache.erase(V);
-+ auto HandleIt = ValueHandles.find_as(V);
-+ if (HandleIt != ValueHandles.end())
-+ ValueHandles.erase(HandleIt);
- }
-
- void LVIValueHandle::deleted() {
-@@ -274,18 +240,7 @@ void LVIValueHandle::deleted() {
- }
-
- void LazyValueInfoCache::eraseBlock(BasicBlock *BB) {
-- // Shortcut if we have never seen this block.
-- DenseSet<PoisoningVH<BasicBlock> >::iterator I = SeenBlocks.find(BB);
-- if (I == SeenBlocks.end())
-- return;
-- SeenBlocks.erase(I);
--
-- auto ODI = OverDefinedCache.find(BB);
-- if (ODI != OverDefinedCache.end())
-- OverDefinedCache.erase(ODI);
--
-- for (auto &I : ValueCache)
-- I.second->BlockVals.erase(BB);
-+ BlockCache.erase(BB);
- }
-
- void LazyValueInfoCache::threadEdgeImpl(BasicBlock *OldSucc,
-@@ -303,10 +258,11 @@ void LazyValueInfoCache::threadEdgeImpl(BasicBlock *OldSucc,
- std::vector<BasicBlock*> worklist;
- worklist.push_back(OldSucc);
-
-- auto I = OverDefinedCache.find(OldSucc);
-- if (I == OverDefinedCache.end())
-+ auto I = BlockCache.find(OldSucc);
-+ if (I == BlockCache.end() || I->second.OverDefined.empty())
- return; // Nothing to process here.
-- SmallVector<Value *, 4> ValsToClear(I->second.begin(), I->second.end());
-+ SmallVector<Value *, 4> ValsToClear(I->second.OverDefined.begin(),
-+ I->second.OverDefined.end());
-
- // Use a worklist to perform a depth-first search of OldSucc's successors.
- // NOTE: We do not need a visited list since any blocks we have already
-@@ -320,10 +276,10 @@ void LazyValueInfoCache::threadEdgeImpl(BasicBlock *OldSucc,
- if (ToUpdate == NewSucc) continue;
-
- // If a value was marked overdefined in OldSucc, and is here too...
-- auto OI = OverDefinedCache.find(ToUpdate);
-- if (OI == OverDefinedCache.end())
-+ auto OI = BlockCache.find(ToUpdate);
-+ if (OI == BlockCache.end() || OI->second.OverDefined.empty())
- continue;
-- SmallPtrSetImpl<Value *> &ValueSet = OI->second;
-+ auto &ValueSet = OI->second.OverDefined;
-
- bool changed = false;
- for (Value *V : ValsToClear) {
-@@ -333,11 +289,6 @@ void LazyValueInfoCache::threadEdgeImpl(BasicBlock *OldSucc,
- // If we removed anything, then we potentially need to update
- // blocks successors too.
- changed = true;
--
-- if (ValueSet.empty()) {
-- OverDefinedCache.erase(OI);
-- break;
-- }
- }
-
- if (!changed) continue;
---
-2.24.0
-
diff --git a/projects/clang-source/build b/projects/clang-source/build
deleted file mode 100644
index 4f824a6..0000000
--- a/projects/clang-source/build
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/bash
-[% c("var/set_default_env") -%]
-tar -xf $rootdir/[% c('input_files_by_name/llvm') %]
-tar -xf $rootdir/[% c('input_files_by_name/clang') %]
-tar -xf $rootdir/[% c('input_files_by_name/clang-tools-extra') %]
-tar -xf $rootdir/[% c('input_files_by_name/libcxx') %]
-tar -xf $rootdir/[% c('input_files_by_name/libcxxabi') %]
-tar -xf $rootdir/[% c('input_files_by_name/lld') %]
-tar -xf $rootdir/[% c('input_files_by_name/compiler-rt') %]
-tar -xf $rootdir/[% c('input_files_by_name/libunwind') %]
-
-mv llvm-[% c("version") %].src llvm
-[% IF ! c("var/windows") -%]
- # LLVM has reproducibility issues when optimizing bitcode, which we need to
- # patch. See: #32053 for more details.
- patch -p1 < $rootdir/43909.patch
-[% END -%]
-mv clang-[% c("version") %].src llvm/tools/clang
-# Having clang-tidy available seems like a good idea
-mv clang-tools-extra-[% c("version") %].src llvm/tools/clang/tools/extra
-mv libcxx-[% c("version") %].src llvm/projects/libcxx
-mv libcxxabi-[% c("version") %].src llvm/projects/libcxxabi
-mv lld-[% c("version") %].src llvm/tools/lld
-mv compiler-rt-[% c("version") %].src llvm/projects/compiler-rt
-# We need libunwind only for mingw-w64-clang, don't include it as tightly by
-# putting it into projects/
-mv libunwind-[% c("version") %].src llvm/libunwind
-mv llvm [% project %]
-
-[% c('tar', {
- tar_src => [ project ],
- tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
- }) %]
diff --git a/projects/clang-source/config b/projects/clang-source/config
deleted file mode 100644
index a6dce85..0000000
--- a/projects/clang-source/config
+++ /dev/null
@@ -1,39 +0,0 @@
-# vim: filetype=yaml sw=2
-version: 9.0.1
-filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
-gpg_keyring: clang.gpg
-sig_ext: sig
-
-targets:
- windows:
- # We use clang 11 for Windows builds:
- # https://hg.mozilla.org/releases/mozilla-esr78/rev/cc840a008393
- version: 11.0.1
-
-input_files:
- - URL: 'https://github.com/llvm/llvm-project/releases/download/llvmorg-[% c("version") %]/llvm-[% c("version") %].src.tar.xz'
- name: llvm
- file_gpg_id: 1
- - URL: 'https://github.com/llvm/llvm-project/releases/download/llvmorg-[% c("version") %]/clang-[% c("version") %].src.tar.xz'
- name: clang
- file_gpg_id: 1
- - URL: 'https://github.com/llvm/llvm-project/releases/download/llvmorg-[% c("version") %]/clang-tools-extra-[% c("version") %].src.tar.xz'
- name: clang-tools-extra
- file_gpg_id: 1
- - URL: 'https://github.com/llvm/llvm-project/releases/download/llvmorg-[% c("version") %]/libcxx-[% c("version") %].src.tar.xz'
- name: libcxx
- file_gpg_id: 1
- - URL: 'https://github.com/llvm/llvm-project/releases/download/llvmorg-[% c("version") %]/libcxxabi-[% c("version") %].src.tar.xz'
- name: libcxxabi
- file_gpg_id: 1
- - URL: 'https://github.com/llvm/llvm-project/releases/download/llvmorg-[% c("version") %]/lld-[% c("version") %].src.tar.xz'
- name: lld
- file_gpg_id: 1
- - URL: 'https://github.com/llvm/llvm-project/releases/download/llvmorg-[% c("version") %]/compiler-rt-[% c("version") %].src.tar.xz'
- name: compiler-rt
- file_gpg_id: 1
- - URL: 'https://github.com/llvm/llvm-project/releases/download/llvmorg-[% c("version") %]/libunwind-[% c("version") %].src.tar.xz'
- name: libunwind
- file_gpg_id: 1
- - filename: 43909.patch
- enable: '[% ! c("var/windows") %]'
1
0
[tor-browser-build/master] Bug 40306: Update Windows toolchain to switch to mozilla91
by sysrqb@torproject.org 06 Oct '21
by sysrqb@torproject.org 06 Oct '21
06 Oct '21
commit d1ed741bff7be58757d8135c4646b3875ab96183
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Thu Aug 5 11:47:57 2021 +0200
Bug 40306: Update Windows toolchain to switch to mozilla91
---
projects/binutils/config | 5 -
projects/clang/build | 2 +-
projects/clang/config | 8 -
projects/mingw-w64-clang/build | 28 +-
projects/mingw-w64-clang/config | 7 +-
projects/mingw-w64-clang/mingw-unknown.patch | 46 ++
projects/mingw-w64-clang/mingw-winrt.patch | 1028 +-------------------------
projects/mingw-w64/config | 6 +-
projects/ninja/build | 5 +
projects/node/config | 4 +
projects/rust/config | 2 +-
projects/tor-browser/build | 10 +-
projects/tor-browser/config | 6 +-
projects/tor-browser/pe_checksum_fix.py | 6 +-
rbm.conf | 7 +-
15 files changed, 120 insertions(+), 1050 deletions(-)
diff --git a/projects/binutils/config b/projects/binutils/config
index 86aaf29..7eb4ac6 100644
--- a/projects/binutils/config
+++ b/projects/binutils/config
@@ -7,11 +7,6 @@ var:
use_container: 1
targets:
- # We use the windows-clang target for the binutils we use for building
- # clang during windows builds. See projects/clang/config.
- windows-clang:
- var:
- configure_opt: '--disable-multilib --enable-gold --enable-deterministic-archives --enable-plugins'
windows:
var:
configure_opt: '--target=[% c("arch") %]-w64-mingw32 --disable-multilib --enable-deterministic-archives'
diff --git a/projects/clang/build b/projects/clang/build
index 41669b9..2f31dbf 100644
--- a/projects/clang/build
+++ b/projects/clang/build
@@ -12,7 +12,7 @@ export PATH="/var/tmp/dist/cmake/bin:$PATH"
ln -s gcc /var/tmp/dist/gcc/bin/cc
[% pc('python', 'var/setup', { python_tarfile => c('input_files_by_name/python') }) %]
[% END -%]
-[% IF c("var/linux") || c("var/android") || c("var/windows") -%]
+[% IF c("var/linux") || c("var/android") -%]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/binutils') %]
export PATH="/var/tmp/dist/binutils/bin:$PATH"
[% END -%]
diff --git a/projects/clang/config b/projects/clang/config
index 038a44b..855c200 100644
--- a/projects/clang/config
+++ b/projects/clang/config
@@ -20,14 +20,6 @@ input_files:
- name: binutils
project: binutils
enable: '[% c("var/linux") %] || [% c("var/android") %]'
- # We build our own binutils as the one from buster has a regression:
- # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=953423
- # https://sourceware.org/bugzilla/show_bug.cgi?id=24458
- - name: binutils
- project: binutils
- enable: '[% c("var/windows") %]'
- target_prepend:
- - windows-clang
- project: cmake
name: cmake
- project: clang-source
diff --git a/projects/mingw-w64-clang/build b/projects/mingw-w64-clang/build
index 974d2a9..00b1171 100644
--- a/projects/mingw-w64-clang/build
+++ b/projects/mingw-w64-clang/build
@@ -11,7 +11,7 @@ mkdir -p $builddir
cd $builddir
tar -xf $rootdir/mingw-w64-clang-[% c('version') %].tar.gz
mv mingw-w64-clang-[% c('version') %] mingw-w64-clang
-tar -xf $rootdir/[% c('input_files_by_name/clang-source') %]
+tar -xf $rootdir/[% c('input_files_by_name/llvm-project') %]
tar -xf $rootdir/[% c('input_files_by_name/llvm-mingw') %]
# Adding the wrappers and symlinks we need
@@ -61,6 +61,7 @@ default_win32_winnt=0x601
cd $builddir/mingw-w64-clang
patch -p1 < $rootdir/mingw-winrt.patch
patch -p1 < $rootdir/mingw-dwrite_3.patch
+patch -p1 < $rootdir/mingw-unknown.patch
cd mingw-w64-headers
mkdir build && cd build
@@ -92,7 +93,7 @@ make -j[% c("buildconf/num_procs") %]
make -j[% c("buildconf/num_procs") %] install
# compiler-rt
-cd $builddir/clang-source/projects/compiler-rt
+cd $builddir/clang-source/compiler-rt
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=$CC \
@@ -102,9 +103,9 @@ cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER_WORKS=1 \
-DCMAKE_C_COMPILER_TARGET=$compiler_rt_machine-windows-gnu \
-DCOMPILER_RT_DEFAULT_TARGET_ONLY=TRUE \
- $builddir/clang-source/projects/compiler-rt/lib/builtins
+ $builddir/clang-source/compiler-rt/lib/builtins
make -j[% c("buildconf/num_procs") %]
- rtdir=$distdir/lib/clang/[% pc("clang-source", "version") %]/lib/windows
+ rtdir=$distdir/lib/clang/[% pc("llvm-project", "version") %]/lib/windows
mkdir -p $rtdir
cp lib/windows/libclang_rt.builtins-$compiler_rt_machine.a $rtdir/
@@ -130,14 +131,14 @@ cmake -DCMAKE_BUILD_TYPE=Release \
-DLIBUNWIND_ENABLE_THREADS=TRUE \
-DLIBUNWIND_ENABLE_SHARED=FALSE \
-DLIBUNWIND_ENABLE_CROSS_UNWINDING=FALSE \
- -DCMAKE_CXX_FLAGS="-Wno-dll-attribute-on-redeclaration -nostdinc++ -I$builddir/clang-source/projects/libcxx/include -DPSAPI_VERSION=2" \
+ -DCMAKE_CXX_FLAGS="-Wno-dll-attribute-on-redeclaration -nostdinc++ -I$builddir/clang-source/libcxx/include -DPSAPI_VERSION=2" \
-DCMAKE_C_FLAGS="-Wno-dll-attribute-on-redeclaration" \
$builddir/clang-source/libunwind
make -j[% c("buildconf/num_procs") %]
make -j[% c("buildconf/num_procs") %] install
# libcxxabi
-cd $builddir/clang-source/projects/libcxxabi
+cd $builddir/clang-source/libcxxabi
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$distdir/[% c("arch") %]-w64-mingw32 \
@@ -156,19 +157,16 @@ cmake -DCMAKE_BUILD_TYPE=Release \
-DLIBCXXABI_ENABLE_THREADS=ON \
-DLIBCXXABI_TARGET_TRIPLE=[% c("arch") %]-w64-mingw32 \
-DLIBCXXABI_ENABLE_SHARED=OFF \
- -DLIBCXXABI_LIBCXX_INCLUDES=$builddir/clang-source/projects/libcxx/include \
+ -DLIBCXXABI_LIBCXX_INCLUDES=$builddir/clang-source/libcxx/include \
-DLLVM_NO_OLD_LIBSTDCXX=TRUE \
-DCXX_SUPPORTS_CXX11=TRUE \
-DCXX_SUPPORTS_CXX_STD=True \
-DCMAKE_CXX_FLAGS="-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_HAS_THREAD_API_WIN32" \
- $builddir/clang-source/projects/libcxxabi
+ $builddir/clang-source/libcxxabi
make -j[% c("buildconf/num_procs") %] VERBOSE=1
# libcxx
-# the build expects ../llvm to exist so we add a symlink
-# See https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/merge_re…
-ln -s /var/tmp/build/clang-source /var/tmp/build/clang-source/projects/llvm
-cd $builddir/clang-source/projects/libcxx
+cd $builddir/clang-source/libcxx
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$distdir/[% c("arch") %]-w64-mingw32 \
@@ -194,10 +192,10 @@ cmake -DCMAKE_BUILD_TYPE=Release \
-DLIBCXX_ENABLE_FILESYSTEM=OFF \
-DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=TRUE \
-DLIBCXX_CXX_ABI=libcxxabi \
- -DLIBCXX_CXX_ABI_INCLUDE_PATHS=$builddir/clang-source/projects/libcxxabi/include \
- -DLIBCXX_CXX_ABI_LIBRARY_PATH=$builddir/clang-source/projects/libcxxabi/build/lib \
+ -DLIBCXX_CXX_ABI_INCLUDE_PATHS=$builddir/clang-source/libcxxabi/include \
+ -DLIBCXX_CXX_ABI_LIBRARY_PATH=$builddir/clang-source/libcxxabi/build/lib \
-DCMAKE_CXX_FLAGS="-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS" \
- $builddir/clang-source/projects/libcxx
+ $builddir/clang-source/libcxx
make -j[% c("buildconf/num_procs") %] VERBOSE=1
make -j[% c("buildconf/num_procs") %] install
diff --git a/projects/mingw-w64-clang/config b/projects/mingw-w64-clang/config
index 080c75b..b589b53 100644
--- a/projects/mingw-w64-clang/config
+++ b/projects/mingw-w64-clang/config
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
git_url: https://git.code.sf.net/p/mingw-w64/mingw-w64
-git_hash: 660e09f3cb20f181b6d6435cb623d65a3922a063
+git_hash: cdb052f1d4056cd510cb83197b55868427b87476
version: '[% c("abbrev") %]'
var:
@@ -18,9 +18,10 @@ input_files:
name: clang
- project: cmake
name: cmake
- - project: clang-source
- name: clang-source
+ - project: llvm-project
+ name: llvm-project
- project: llvm-mingw
name: llvm-mingw
- filename: mingw-winrt.patch
- filename: mingw-dwrite_3.patch
+ - filename: mingw-unknown.patch
diff --git a/projects/mingw-w64-clang/mingw-unknown.patch b/projects/mingw-w64-clang/mingw-unknown.patch
new file mode 100644
index 0000000..cca10e9
--- /dev/null
+++ b/projects/mingw-w64-clang/mingw-unknown.patch
@@ -0,0 +1,46 @@
+From ae5fe7a557873f05a4954f4b3a47e4b41053a406 Mon Sep 17 00:00:00 2001
+From: Tom Ritter <tom(a)ritter.vg>
+Date: Tue, 29 Jun 2021 23:10:24 -0400
+Subject: [PATCH] Add back the IUnknown_QI functions
+
+---
+ mingw-w64-headers/include/unknwn.h | 23 +++++++++++++++++++++++
+ 1 file changed, 23 insertions(+)
+
+diff --git a/mingw-w64-headers/include/unknwn.h b/mingw-w64-headers/include/unknwn.h
+index d8c309071..968c41d61 100644
+--- a/mingw-w64-headers/include/unknwn.h
++++ b/mingw-w64-headers/include/unknwn.h
+@@ -167,6 +167,29 @@ static FORCEINLINE ULONG IUnknown_Release(IUnknown* This) {
+
+ #endif
+
++HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(
++ IUnknown* This,
++ REFIID riid,
++ void **ppvObject);
++void __RPC_STUB IUnknown_QueryInterface_Stub(
++ IRpcStubBuffer* This,
++ IRpcChannelBuffer* pRpcChannelBuffer,
++ PRPC_MESSAGE pRpcMessage,
++ DWORD* pdwStubPhase);
++ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(
++ IUnknown* This);
++void __RPC_STUB IUnknown_AddRef_Stub(
++ IRpcStubBuffer* This,
++ IRpcChannelBuffer* pRpcChannelBuffer,
++ PRPC_MESSAGE pRpcMessage,
++ DWORD* pdwStubPhase);
++ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(
++ IUnknown* This);
++void __RPC_STUB IUnknown_Release_Stub(
++ IRpcStubBuffer* This,
++ IRpcChannelBuffer* pRpcChannelBuffer,
++ PRPC_MESSAGE pRpcMessage,
++ DWORD* pdwStubPhase);
+
+ #endif /* __IUnknown_INTERFACE_DEFINED__ */
+
+--
+2.25.1
+
diff --git a/projects/mingw-w64-clang/mingw-winrt.patch b/projects/mingw-w64-clang/mingw-winrt.patch
index e7124e1..526844c 100644
--- a/projects/mingw-w64-clang/mingw-winrt.patch
+++ b/projects/mingw-w64-clang/mingw-winrt.patch
@@ -1,995 +1,30 @@
-commit 07fff0900d668fbd75e0ac0a6382a86d486cee88
-Author: Jacek Caban <jacek(a)codeweavers.com>
-Date: Sun Mar 24 21:20:55 2019 +0100
+From 105a640ff423978987112d8f37edfbfc29c014f9 Mon Sep 17 00:00:00 2001
+From: Tom Ritter <tom(a)ritter.vg>
+Date: Wed, 30 Jun 2021 09:25:45 -0400
+Subject: [PATCH] winrt headers
- winrt headers
+---
+ .../include/windows.foundation.metadata.h | 315 ++
+ .../include/windows.foundation.numerics.h | 204 ++
+ .../include/windows.graphics.directx.h | 343 ++
+ .../include/windows.graphics.effects.h | 184 +
+ .../include/windows.ui.composition.h | 3212 +++++++++++++++++
+ .../include/windows.ui.composition.interop.h | 31 +
+ mingw-w64-headers/include/windows.ui.core.h | 127 +
+ mingw-w64-headers/include/windows.ui.h | 72 +
+ 8 files changed, 4488 insertions(+)
+ create mode 100644 mingw-w64-headers/include/windows.foundation.metadata.h
+ create mode 100644 mingw-w64-headers/include/windows.foundation.numerics.h
+ create mode 100644 mingw-w64-headers/include/windows.graphics.directx.h
+ create mode 100644 mingw-w64-headers/include/windows.graphics.effects.h
+ create mode 100644 mingw-w64-headers/include/windows.ui.composition.h
+ create mode 100644 mingw-w64-headers/include/windows.ui.composition.interop.h
+ create mode 100644 mingw-w64-headers/include/windows.ui.core.h
+ create mode 100644 mingw-w64-headers/include/windows.ui.h
-diff --git a/mingw-w64-headers/include/intsafe.h b/mingw-w64-headers/include/intsafe.h
-index 701d4cef..daaedb83 100644
---- a/mingw-w64-headers/include/intsafe.h
-+++ b/mingw-w64-headers/include/intsafe.h
-@@ -411,5 +411,8 @@ __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(ULongLongMult, ULONGLONG, mul)
- __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(LongLongMult, LONGLONG, mul)
-
- #endif /* __GNUC__ >= 5 */
-+
-+#define SizeTToUInt32 UIntPtrToUInt
-+
- #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
- #endif /* _INTSAFE_H_INCLUDED_ */
-diff --git a/mingw-w64-headers/include/windows.foundation.h b/mingw-w64-headers/include/windows.foundation.h
-index 6c4d3ec8..59797984 100644
---- a/mingw-w64-headers/include/windows.foundation.h
-+++ b/mingw-w64-headers/include/windows.foundation.h
-@@ -1,11 +1,12 @@
--/*** Autogenerated by WIDL 1.5.31 from include/windows.foundation.idl - Do not edit ***/
-+/*** Autogenerated by WIDL 4.4 from windows.foundation.idl - Do not edit ***/
-
-+#ifdef _WIN32
- #ifndef __REQUIRED_RPCNDR_H_VERSION__
- #define __REQUIRED_RPCNDR_H_VERSION__ 475
- #endif
--
- #include <rpc.h>
- #include <rpcndr.h>
-+#endif
-
- #ifndef COM_NO_WINDOWS_H
- #include <windows.h>
-@@ -17,24 +18,18 @@
-
- /* Forward declarations */
-
--#ifndef __IAsyncInfo_FWD_DEFINED__
--#define __IAsyncInfo_FWD_DEFINED__
--typedef interface IAsyncInfo IAsyncInfo;
--#endif
--
--#ifndef __IASyncAction_FWD_DEFINED__
--#define __IASyncAction_FWD_DEFINED__
--typedef interface IASyncAction IASyncAction;
--#endif
--
--#ifndef __AsyncActionCompletedHandler_FWD_DEFINED__
--#define __AsyncActionCompletedHandler_FWD_DEFINED__
--typedef interface AsyncActionCompletedHandler AsyncActionCompletedHandler;
--#endif
--
--#ifndef __IAsyncOperation_FWD_DEFINED__
--#define __IAsyncOperation_FWD_DEFINED__
--typedef interface IAsyncOperation IAsyncOperation;
-+#ifndef ____x_ABI_CWindows_CFoundation_CIStringable_FWD_DEFINED__
-+#define ____x_ABI_CWindows_CFoundation_CIStringable_FWD_DEFINED__
-+typedef interface __x_ABI_CWindows_CFoundation_CIStringable __x_ABI_CWindows_CFoundation_CIStringable;
-+#ifdef __cplusplus
-+namespace ABI {
-+ namespace Windows {
-+ namespace Foundation {
-+ interface IStringable;
-+ }
-+ }
-+}
-+#endif /* __cplusplus */
- #endif
-
- /* Headers for imported files */
-@@ -45,667 +40,331 @@ typedef interface IAsyncOperation IAsyncOperation;
- extern "C" {
- #endif
-
--#ifndef __IAsyncInfo_FWD_DEFINED__
--#define __IAsyncInfo_FWD_DEFINED__
--typedef interface IAsyncInfo IAsyncInfo;
--#endif
--
--#ifndef __IAsyncAction_FWD_DEFINED__
--#define __IAsyncAction_FWD_DEFINED__
--typedef interface IAsyncAction IAsyncAction;
--#endif
--
--#ifndef __IAsyncOperation_FWD_DEFINED__
--#define __IAsyncOperation_FWD_DEFINED__
--typedef interface IAsyncOperation IAsyncOperation;
--#endif
--
--#ifndef __AsyncActionCompletedHandler_FWD_DEFINED__
--#define __AsyncActionCompletedHandler_FWD_DEFINED__
--typedef interface AsyncActionCompletedHandler AsyncActionCompletedHandler;
--#endif
--
--#ifndef __TypedEventHandler_FWD_DEFINED__
--#define __TypedEventHandler_FWD_DEFINED__
--typedef interface TypedEventHandler TypedEventHandler;
--#endif
--
--struct DateTime;
--
--struct EventRegistrationToken;
--
--#ifndef __IVectorView_FWD_DEFINED__
--#define __IVectorView_FWD_DEFINED__
--typedef interface IVectorView IVectorView;
--#endif
--
--#ifndef __IPropertySet_FWD_DEFINED__
--#define __IPropertySet_FWD_DEFINED__
--typedef interface IPropertySet IPropertySet;
--#endif
--
--typedef enum AsyncStatus {
-- Started = 0,
-- Completed = 1,
-- Canceled = 2,
-- Error = 3
--} AsyncStatus;
--typedef struct DateTime {
-- UINT64 UniversalTime;
--} DateTime;
--typedef struct EventRegistrationToken {
-- UINT64 Value;
--} EventRegistrationToken;
--/*****************************************************************************
-- * IAsyncInfo interface
-- */
--#ifndef __IAsyncInfo_INTERFACE_DEFINED__
--#define __IAsyncInfo_INTERFACE_DEFINED__
--
--DEFINE_GUID(IID_IAsyncInfo, 0x00000036, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
--#if defined(__cplusplus) && !defined(CINTERFACE)
--MIDL_INTERFACE("00000036-0000-0000-c000-000000000046")
--IAsyncInfo : public IInspectable
--{
-- virtual HRESULT STDMETHODCALLTYPE get_Id(
-- unsigned int *id) = 0;
--
-- virtual HRESULT STDMETHODCALLTYPE get_Status(
-- AsyncStatus *status) = 0;
--
-- virtual HRESULT STDMETHODCALLTYPE get_ErrorCode(
-- HRESULT *errorCode) = 0;
--
-- virtual HRESULT STDMETHODCALLTYPE Cancel(
-- ) = 0;
--
-- virtual HRESULT STDMETHODCALLTYPE Close(
-- ) = 0;
--
--};
--#ifdef __CRT_UUID_DECL
--__CRT_UUID_DECL(IAsyncInfo, 0x00000036, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
--#endif
-+#ifdef __cplusplus
-+} /* extern "C" */
-+namespace ABI {
-+ namespace Windows {
-+ namespace Foundation {
-+ enum PropertyType {
-+ PropertyType_Empty = 0,
-+ PropertyType_UInt8 = 1,
-+ PropertyType_Int16 = 2,
-+ PropertyType_UInt16 = 3,
-+ PropertyType_Int32 = 4,
-+ PropertyType_UInt32 = 5,
-+ PropertyType_Int64 = 6,
-+ PropertyType_UInt64 = 7,
-+ PropertyType_Single = 8,
-+ PropertyType_Double = 9,
-+ PropertyType_Char16 = 10,
-+ PropertyType_Boolean = 11,
-+ PropertyType_String = 12,
-+ PropertyType_Inspectable = 13,
-+ PropertyType_DateTime = 14,
-+ PropertyType_TimeSpan = 15,
-+ PropertyType_Guid = 16,
-+ PropertyType_Point = 17,
-+ PropertyType_Size = 18,
-+ PropertyType_Rect = 19,
-+ PropertyType_OtherType = 20,
-+ PropertyType_UInt8Array = 1025,
-+ PropertyType_Int16Array = 1026,
-+ PropertyType_UInt16Array = 1027,
-+ PropertyType_Int32Array = 1028,
-+ PropertyType_UInt32Array = 1029,
-+ PropertyType_Int64Array = 1030,
-+ PropertyType_UInt64Array = 1031,
-+ PropertyType_SingleArray = 1032,
-+ PropertyType_DoubleArray = 1033,
-+ PropertyType_Char16Array = 1034,
-+ PropertyType_BooleanArray = 1035,
-+ PropertyType_StringArray = 1036,
-+ PropertyType_InspectableArray = 1037,
-+ PropertyType_DateTimeArray = 1038,
-+ PropertyType_TimeSpanArray = 1039,
-+ PropertyType_GuidArray = 1040,
-+ PropertyType_PointArray = 1041,
-+ PropertyType_SizeArray = 1042,
-+ PropertyType_RectArray = 1043,
-+ PropertyType_OtherTypeArray = 1044
-+ };
-+ }
-+ }
-+}
-+extern "C" {
- #else
--typedef struct IAsyncInfoVtbl {
-- BEGIN_INTERFACE
--
-- /*** IUnknown methods ***/
-- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-- IAsyncInfo* This,
-- REFIID riid,
-- void **ppvObject);
--
-- ULONG (STDMETHODCALLTYPE *AddRef)(
-- IAsyncInfo* This);
--
-- ULONG (STDMETHODCALLTYPE *Release)(
-- IAsyncInfo* This);
--
-- /*** IInspectable methods ***/
-- HRESULT (STDMETHODCALLTYPE *GetIids)(
-- IAsyncInfo* This,
-- ULONG *iidCount,
-- IID **iids);
--
-- HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
-- IAsyncInfo* This,
-- HSTRING *className);
--
-- HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
-- IAsyncInfo* This,
-- TrustLevel *trustLevel);
--
-- /*** IAsyncInfo methods ***/
-- HRESULT (STDMETHODCALLTYPE *get_Id)(
-- IAsyncInfo* This,
-- unsigned int *id);
--
-- HRESULT (STDMETHODCALLTYPE *get_Status)(
-- IAsyncInfo* This,
-- AsyncStatus *status);
--
-- HRESULT (STDMETHODCALLTYPE *get_ErrorCode)(
-- IAsyncInfo* This,
-- HRESULT *errorCode);
--
-- HRESULT (STDMETHODCALLTYPE *Cancel)(
-- IAsyncInfo* This);
--
-- HRESULT (STDMETHODCALLTYPE *Close)(
-- IAsyncInfo* This);
--
-- END_INTERFACE
--} IAsyncInfoVtbl;
--interface IAsyncInfo {
-- CONST_VTBL IAsyncInfoVtbl* lpVtbl;
-+enum __x_ABI_CWindows_CFoundation_CPropertyType {
-+ PropertyType_Empty = 0,
-+ PropertyType_UInt8 = 1,
-+ PropertyType_Int16 = 2,
-+ PropertyType_UInt16 = 3,
-+ PropertyType_Int32 = 4,
-+ PropertyType_UInt32 = 5,
-+ PropertyType_Int64 = 6,
-+ PropertyType_UInt64 = 7,
-+ PropertyType_Single = 8,
-+ PropertyType_Double = 9,
-+ PropertyType_Char16 = 10,
-+ PropertyType_Boolean = 11,
-+ PropertyType_String = 12,
-+ PropertyType_Inspectable = 13,
-+ PropertyType_DateTime = 14,
-+ PropertyType_TimeSpan = 15,
-+ PropertyType_Guid = 16,
-+ PropertyType_Point = 17,
-+ PropertyType_Size = 18,
-+ PropertyType_Rect = 19,
-+ PropertyType_OtherType = 20,
-+ PropertyType_UInt8Array = 1025,
-+ PropertyType_Int16Array = 1026,
-+ PropertyType_UInt16Array = 1027,
-+ PropertyType_Int32Array = 1028,
-+ PropertyType_UInt32Array = 1029,
-+ PropertyType_Int64Array = 1030,
-+ PropertyType_UInt64Array = 1031,
-+ PropertyType_SingleArray = 1032,
-+ PropertyType_DoubleArray = 1033,
-+ PropertyType_Char16Array = 1034,
-+ PropertyType_BooleanArray = 1035,
-+ PropertyType_StringArray = 1036,
-+ PropertyType_InspectableArray = 1037,
-+ PropertyType_DateTimeArray = 1038,
-+ PropertyType_TimeSpanArray = 1039,
-+ PropertyType_GuidArray = 1040,
-+ PropertyType_PointArray = 1041,
-+ PropertyType_SizeArray = 1042,
-+ PropertyType_RectArray = 1043,
-+ PropertyType_OtherTypeArray = 1044
- };
--
--#ifdef COBJMACROS
--#ifndef WIDL_C_INLINE_WRAPPERS
--/*** IUnknown methods ***/
--#define IAsyncInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
--#define IAsyncInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
--#define IAsyncInfo_Release(This) (This)->lpVtbl->Release(This)
--/*** IInspectable methods ***/
--#define IAsyncInfo_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
--#define IAsyncInfo_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
--#define IAsyncInfo_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
--/*** IAsyncInfo methods ***/
--#define IAsyncInfo_get_Id(This,id) (This)->lpVtbl->get_Id(This,id)
--#define IAsyncInfo_get_Status(This,status) (This)->lpVtbl->get_Status(This,status)
--#define IAsyncInfo_get_ErrorCode(This,errorCode) (This)->lpVtbl->get_ErrorCode(This,errorCode)
--#define IAsyncInfo_Cancel(This) (This)->lpVtbl->Cancel(This)
--#define IAsyncInfo_Close(This) (This)->lpVtbl->Close(This)
--#else
--/*** IUnknown methods ***/
--static FORCEINLINE HRESULT IAsyncInfo_QueryInterface(IAsyncInfo* This,REFIID riid,void **ppvObject) {
-- return This->lpVtbl->QueryInterface(This,riid,ppvObject);
--}
--static FORCEINLINE ULONG IAsyncInfo_AddRef(IAsyncInfo* This) {
-- return This->lpVtbl->AddRef(This);
--}
--static FORCEINLINE ULONG IAsyncInfo_Release(IAsyncInfo* This) {
-- return This->lpVtbl->Release(This);
--}
--/*** IInspectable methods ***/
--static FORCEINLINE HRESULT IAsyncInfo_GetIids(IAsyncInfo* This,ULONG *iidCount,IID **iids) {
-- return This->lpVtbl->GetIids(This,iidCount,iids);
--}
--static FORCEINLINE HRESULT IAsyncInfo_GetRuntimeClassName(IAsyncInfo* This,HSTRING *className) {
-- return This->lpVtbl->GetRuntimeClassName(This,className);
--}
--static FORCEINLINE HRESULT IAsyncInfo_GetTrustLevel(IAsyncInfo* This,TrustLevel *trustLevel) {
-- return This->lpVtbl->GetTrustLevel(This,trustLevel);
--}
--/*** IAsyncInfo methods ***/
--static FORCEINLINE HRESULT IAsyncInfo_get_Id(IAsyncInfo* This,unsigned int *id) {
-- return This->lpVtbl->get_Id(This,id);
--}
--static FORCEINLINE HRESULT IAsyncInfo_get_Status(IAsyncInfo* This,AsyncStatus *status) {
-- return This->lpVtbl->get_Status(This,status);
--}
--static FORCEINLINE HRESULT IAsyncInfo_get_ErrorCode(IAsyncInfo* This,HRESULT *errorCode) {
-- return This->lpVtbl->get_ErrorCode(This,errorCode);
--}
--static FORCEINLINE HRESULT IAsyncInfo_Cancel(IAsyncInfo* This) {
-- return This->lpVtbl->Cancel(This);
--}
--static FORCEINLINE HRESULT IAsyncInfo_Close(IAsyncInfo* This) {
-- return This->lpVtbl->Close(This);
--}
- #endif
--#endif
--
--#endif
--
--HRESULT STDMETHODCALLTYPE IAsyncInfo_get_Id_Proxy(
-- IAsyncInfo* This,
-- unsigned int *id);
--void __RPC_STUB IAsyncInfo_get_Id_Stub(
-- IRpcStubBuffer* This,
-- IRpcChannelBuffer* pRpcChannelBuffer,
-- PRPC_MESSAGE pRpcMessage,
-- DWORD* pdwStubPhase);
--HRESULT STDMETHODCALLTYPE IAsyncInfo_get_Status_Proxy(
-- IAsyncInfo* This,
-- AsyncStatus *status);
--void __RPC_STUB IAsyncInfo_get_Status_Stub(
-- IRpcStubBuffer* This,
-- IRpcChannelBuffer* pRpcChannelBuffer,
-- PRPC_MESSAGE pRpcMessage,
-- DWORD* pdwStubPhase);
--HRESULT STDMETHODCALLTYPE IAsyncInfo_get_ErrorCode_Proxy(
-- IAsyncInfo* This,
-- HRESULT *errorCode);
--void __RPC_STUB IAsyncInfo_get_ErrorCode_Stub(
-- IRpcStubBuffer* This,
-- IRpcChannelBuffer* pRpcChannelBuffer,
-- PRPC_MESSAGE pRpcMessage,
-- DWORD* pdwStubPhase);
--HRESULT STDMETHODCALLTYPE IAsyncInfo_Cancel_Proxy(
-- IAsyncInfo* This);
--void __RPC_STUB IAsyncInfo_Cancel_Stub(
-- IRpcStubBuffer* This,
-- IRpcChannelBuffer* pRpcChannelBuffer,
-- PRPC_MESSAGE pRpcMessage,
-- DWORD* pdwStubPhase);
--HRESULT STDMETHODCALLTYPE IAsyncInfo_Close_Proxy(
-- IAsyncInfo* This);
--void __RPC_STUB IAsyncInfo_Close_Stub(
-- IRpcStubBuffer* This,
-- IRpcChannelBuffer* pRpcChannelBuffer,
-- PRPC_MESSAGE pRpcMessage,
-- DWORD* pdwStubPhase);
--
--#endif /* __IAsyncInfo_INTERFACE_DEFINED__ */
--
--/*****************************************************************************
-- * IASyncAction interface
-- */
--#ifndef __IASyncAction_INTERFACE_DEFINED__
--#define __IASyncAction_INTERFACE_DEFINED__
--
--DEFINE_GUID(IID_IASyncAction, 0x5a648006, 0x843a, 0x4da9, 0x86,0x5b, 0x9d,0x26,0xe5,0xdf,0xad,0x7b);
--#if defined(__cplusplus) && !defined(CINTERFACE)
--MIDL_INTERFACE("5a648006-843a-4da9-865b-9d26e5dfad7b")
--IASyncAction : public IInspectable
--{
-- virtual HRESULT STDMETHODCALLTYPE put_Completed(
-- AsyncActionCompletedHandler *handler) = 0;
--
-- virtual HRESULT STDMETHODCALLTYPE get_Completed(
-- AsyncActionCompletedHandler **handler) = 0;
--
-- virtual HRESULT STDMETHODCALLTYPE GetResults(
-- ) = 0;
-
--};
--#ifdef __CRT_UUID_DECL
--__CRT_UUID_DECL(IASyncAction, 0x5a648006, 0x843a, 0x4da9, 0x86,0x5b, 0x9d,0x26,0xe5,0xdf,0xad,0x7b)
--#endif
-+#ifdef __cplusplus
-+} /* extern "C" */
-+namespace ABI {
-+ namespace Windows {
-+ namespace Foundation {
-+ struct Point {
-+ FLOAT X;
-+ FLOAT Y;
-+ };
-+ }
-+ }
-+}
-+extern "C" {
- #else
--typedef struct IASyncActionVtbl {
-- BEGIN_INTERFACE
--
-- /*** IUnknown methods ***/
-- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-- IASyncAction* This,
-- REFIID riid,
-- void **ppvObject);
--
-- ULONG (STDMETHODCALLTYPE *AddRef)(
-- IASyncAction* This);
--
-- ULONG (STDMETHODCALLTYPE *Release)(
-- IASyncAction* This);
--
-- /*** IInspectable methods ***/
-- HRESULT (STDMETHODCALLTYPE *GetIids)(
-- IASyncAction* This,
-- ULONG *iidCount,
-- IID **iids);
--
-- HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
-- IASyncAction* This,
-- HSTRING *className);
--
-- HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
-- IASyncAction* This,
-- TrustLevel *trustLevel);
--
-- /*** IASyncAction methods ***/
-- HRESULT (STDMETHODCALLTYPE *put_Completed)(
-- IASyncAction* This,
-- AsyncActionCompletedHandler *handler);
--
-- HRESULT (STDMETHODCALLTYPE *get_Completed)(
-- IASyncAction* This,
-- AsyncActionCompletedHandler **handler);
--
-- HRESULT (STDMETHODCALLTYPE *GetResults)(
-- IASyncAction* This);
--
-- END_INTERFACE
--} IASyncActionVtbl;
--interface IASyncAction {
-- CONST_VTBL IASyncActionVtbl* lpVtbl;
-+struct __x_ABI_CWindows_CFoundation_CPoint {
-+ FLOAT X;
-+ FLOAT Y;
- };
--
--#ifdef COBJMACROS
--#ifndef WIDL_C_INLINE_WRAPPERS
--/*** IUnknown methods ***/
--#define IASyncAction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
--#define IASyncAction_AddRef(This) (This)->lpVtbl->AddRef(This)
--#define IASyncAction_Release(This) (This)->lpVtbl->Release(This)
--/*** IInspectable methods ***/
--#define IASyncAction_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
--#define IASyncAction_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
--#define IASyncAction_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
--/*** IASyncAction methods ***/
--#define IASyncAction_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
--#define IASyncAction_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
--#define IASyncAction_GetResults(This) (This)->lpVtbl->GetResults(This)
--#else
--/*** IUnknown methods ***/
--static FORCEINLINE HRESULT IASyncAction_QueryInterface(IASyncAction* This,REFIID riid,void **ppvObject) {
-- return This->lpVtbl->QueryInterface(This,riid,ppvObject);
--}
--static FORCEINLINE ULONG IASyncAction_AddRef(IASyncAction* This) {
-- return This->lpVtbl->AddRef(This);
--}
--static FORCEINLINE ULONG IASyncAction_Release(IASyncAction* This) {
-- return This->lpVtbl->Release(This);
--}
--/*** IInspectable methods ***/
--static FORCEINLINE HRESULT IASyncAction_GetIids(IASyncAction* This,ULONG *iidCount,IID **iids) {
-- return This->lpVtbl->GetIids(This,iidCount,iids);
--}
--static FORCEINLINE HRESULT IASyncAction_GetRuntimeClassName(IASyncAction* This,HSTRING *className) {
-- return This->lpVtbl->GetRuntimeClassName(This,className);
--}
--static FORCEINLINE HRESULT IASyncAction_GetTrustLevel(IASyncAction* This,TrustLevel *trustLevel) {
-- return This->lpVtbl->GetTrustLevel(This,trustLevel);
--}
--/*** IASyncAction methods ***/
--static FORCEINLINE HRESULT IASyncAction_put_Completed(IASyncAction* This,AsyncActionCompletedHandler *handler) {
-- return This->lpVtbl->put_Completed(This,handler);
--}
--static FORCEINLINE HRESULT IASyncAction_get_Completed(IASyncAction* This,AsyncActionCompletedHandler **handler) {
-- return This->lpVtbl->get_Completed(This,handler);
--}
--static FORCEINLINE HRESULT IASyncAction_GetResults(IASyncAction* This) {
-- return This->lpVtbl->GetResults(This);
--}
--#endif
- #endif
-
--#endif
--
--HRESULT STDMETHODCALLTYPE IASyncAction_put_Completed_Proxy(
-- IASyncAction* This,
-- AsyncActionCompletedHandler *handler);
--void __RPC_STUB IASyncAction_put_Completed_Stub(
-- IRpcStubBuffer* This,
-- IRpcChannelBuffer* pRpcChannelBuffer,
-- PRPC_MESSAGE pRpcMessage,
-- DWORD* pdwStubPhase);
--HRESULT STDMETHODCALLTYPE IASyncAction_get_Completed_Proxy(
-- IASyncAction* This,
-- AsyncActionCompletedHandler **handler);
--void __RPC_STUB IASyncAction_get_Completed_Stub(
-- IRpcStubBuffer* This,
-- IRpcChannelBuffer* pRpcChannelBuffer,
-- PRPC_MESSAGE pRpcMessage,
-- DWORD* pdwStubPhase);
--HRESULT STDMETHODCALLTYPE IASyncAction_GetResults_Proxy(
-- IASyncAction* This);
--void __RPC_STUB IASyncAction_GetResults_Stub(
-- IRpcStubBuffer* This,
-- IRpcChannelBuffer* pRpcChannelBuffer,
-- PRPC_MESSAGE pRpcMessage,
-- DWORD* pdwStubPhase);
--
--#endif /* __IASyncAction_INTERFACE_DEFINED__ */
--
--/*****************************************************************************
-- * AsyncActionCompletedHandler interface
-- */
--#ifndef __AsyncActionCompletedHandler_INTERFACE_DEFINED__
--#define __AsyncActionCompletedHandler_INTERFACE_DEFINED__
--
--DEFINE_GUID(IID_AsyncActionCompletedHandler, 0xa4ed5c81, 0x76c9, 0x40bd, 0x8b,0xe6, 0xb1,0xd9,0x0f,0xb2,0x0a,0xe7);
--#if defined(__cplusplus) && !defined(CINTERFACE)
--MIDL_INTERFACE("a4ed5c81-76c9-40bd-8be6-b1d90fb20ae7")
--AsyncActionCompletedHandler : public IUnknown
--{
-- virtual HRESULT STDMETHODCALLTYPE Invoke(
-- IInspectable *asyncAction,
-- AsyncStatus status) = 0;
--
-+#ifdef __cplusplus
-+} /* extern "C" */
-+namespace ABI {
-+ namespace Windows {
-+ namespace Foundation {
-+ struct Size {
-+ FLOAT Width;
-+ FLOAT Height;
-+ };
-+ }
-+ }
-+}
-+extern "C" {
-+#else
-+struct __x_ABI_CWindows_CFoundation_CSize {
-+ FLOAT Width;
-+ FLOAT Height;
- };
--#ifdef __CRT_UUID_DECL
--__CRT_UUID_DECL(AsyncActionCompletedHandler, 0xa4ed5c81, 0x76c9, 0x40bd, 0x8b,0xe6, 0xb1,0xd9,0x0f,0xb2,0x0a,0xe7)
- #endif
--#else
--typedef struct AsyncActionCompletedHandlerVtbl {
-- BEGIN_INTERFACE
--
-- /*** IUnknown methods ***/
-- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-- AsyncActionCompletedHandler* This,
-- REFIID riid,
-- void **ppvObject);
--
-- ULONG (STDMETHODCALLTYPE *AddRef)(
-- AsyncActionCompletedHandler* This);
--
-- ULONG (STDMETHODCALLTYPE *Release)(
-- AsyncActionCompletedHandler* This);
--
-- /*** AsyncActionCompletedHandler methods ***/
-- HRESULT (STDMETHODCALLTYPE *Invoke)(
-- AsyncActionCompletedHandler* This,
-- IInspectable *asyncAction,
-- AsyncStatus status);
-
-- END_INTERFACE
--} AsyncActionCompletedHandlerVtbl;
--interface AsyncActionCompletedHandler {
-- CONST_VTBL AsyncActionCompletedHandlerVtbl* lpVtbl;
-+#ifdef __cplusplus
-+namespace ABI {
-+ namespace Windows {
-+ namespace Foundation {
-+typedef struct Size Size;
-+ }
-+ }
-+}
-+#endif /* __cplusplus */
-+#ifdef __cplusplus
-+} /* extern "C" */
-+namespace ABI {
-+ namespace Windows {
-+ namespace Foundation {
-+ struct Rect {
-+ FLOAT X;
-+ FLOAT Y;
-+ FLOAT Width;
-+ FLOAT Height;
-+ };
-+ }
-+ }
-+}
-+extern "C" {
-+#else
-+struct __x_ABI_CWindows_CFoundation_CRect {
-+ FLOAT X;
-+ FLOAT Y;
-+ FLOAT Width;
-+ FLOAT Height;
- };
-+#endif
-
--#ifdef COBJMACROS
--#ifndef WIDL_C_INLINE_WRAPPERS
--/*** IUnknown methods ***/
--#define AsyncActionCompletedHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
--#define AsyncActionCompletedHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
--#define AsyncActionCompletedHandler_Release(This) (This)->lpVtbl->Release(This)
--/*** AsyncActionCompletedHandler methods ***/
--#define AsyncActionCompletedHandler_Invoke(This,asyncAction,status) (This)->lpVtbl->Invoke(This,asyncAction,status)
--#else
--/*** IUnknown methods ***/
--static FORCEINLINE HRESULT AsyncActionCompletedHandler_QueryInterface(AsyncActionCompletedHandler* This,REFIID riid,void **ppvObject) {
-- return This->lpVtbl->QueryInterface(This,riid,ppvObject);
--}
--static FORCEINLINE ULONG AsyncActionCompletedHandler_AddRef(AsyncActionCompletedHandler* This) {
-- return This->lpVtbl->AddRef(This);
--}
--static FORCEINLINE ULONG AsyncActionCompletedHandler_Release(AsyncActionCompletedHandler* This) {
-- return This->lpVtbl->Release(This);
--}
--/*** AsyncActionCompletedHandler methods ***/
--static FORCEINLINE HRESULT AsyncActionCompletedHandler_Invoke(AsyncActionCompletedHandler* This,IInspectable *asyncAction,AsyncStatus status) {
-- return This->lpVtbl->Invoke(This,asyncAction,status);
-+#ifdef __cplusplus
-+} /* extern "C" */
-+namespace ABI {
-+ namespace Windows {
-+ namespace Foundation {
-+ struct DateTime {
-+ INT64 UniversalTime;
-+ };
-+ }
-+ }
- }
--#endif
-+extern "C" {
-+#else
-+struct __x_ABI_CWindows_CFoundation_CDateTime {
-+ INT64 UniversalTime;
-+};
- #endif
-
-+#ifdef __cplusplus
-+} /* extern "C" */
-+namespace ABI {
-+ namespace Windows {
-+ namespace Foundation {
-+ struct TimeSpan {
-+ INT64 Duration;
-+ };
-+ }
-+ }
-+}
-+extern "C" {
-+#else
-+struct __x_ABI_CWindows_CFoundation_CTimeSpan {
-+ INT64 Duration;
-+};
- #endif
-
--HRESULT STDMETHODCALLTYPE AsyncActionCompletedHandler_Invoke_Proxy(
-- AsyncActionCompletedHandler* This,
-- IInspectable *asyncAction,
-- AsyncStatus status);
--void __RPC_STUB AsyncActionCompletedHandler_Invoke_Stub(
-- IRpcStubBuffer* This,
-- IRpcChannelBuffer* pRpcChannelBuffer,
-- PRPC_MESSAGE pRpcMessage,
-- DWORD* pdwStubPhase);
--
--#endif /* __AsyncActionCompletedHandler_INTERFACE_DEFINED__ */
--
- /*****************************************************************************
-- * IAsyncOperation interface
-+ * IStringable interface
- */
--#ifndef __IAsyncOperation_INTERFACE_DEFINED__
--#define __IAsyncOperation_INTERFACE_DEFINED__
-+#ifndef ____x_ABI_CWindows_CFoundation_CIStringable_INTERFACE_DEFINED__
-+#define ____x_ABI_CWindows_CFoundation_CIStringable_INTERFACE_DEFINED__
-
--DEFINE_GUID(IID_IAsyncOperation, 0x9fc2b0bb, 0xe446, 0x44e2, 0xaa,0x61, 0x9c,0xab,0x8f,0x63,0x6a,0xf2);
-+DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIStringable, 0x96369f54, 0x8eb6, 0x48f0, 0xab,0xce, 0xc1,0xb2,0x11,0xe6,0x27,0xc3);
- #if defined(__cplusplus) && !defined(CINTERFACE)
--MIDL_INTERFACE("9fc2b0bb-e446-44e2-aa61-9cab8f636af2")
--IAsyncOperation : public IAsyncInfo
--{
-- virtual HRESULT STDMETHODCALLTYPE put_Completed(
-- AsyncActionCompletedHandler *handler) = 0;
--
-- virtual HRESULT STDMETHODCALLTYPE get_Completed(
-- AsyncActionCompletedHandler **handler) = 0;
--
-- virtual IInspectable * STDMETHODCALLTYPE GetResults(
-- ) = 0;
--
--};
-+} /* extern "C" */
-+namespace ABI {
-+ namespace Windows {
-+ namespace Foundation {
-+ MIDL_INTERFACE("96369f54-8eb6-48f0-abce-c1b211e627c3")
-+ IStringable : public IInspectable
-+ {
-+ virtual HRESULT STDMETHODCALLTYPE ToString(
-+ HSTRING *value) = 0;
-+
-+ };
-+ }
-+ }
-+}
-+extern "C" {
- #ifdef __CRT_UUID_DECL
--__CRT_UUID_DECL(IAsyncOperation, 0x9fc2b0bb, 0xe446, 0x44e2, 0xaa,0x61, 0x9c,0xab,0x8f,0x63,0x6a,0xf2)
-+__CRT_UUID_DECL(ABI::Windows::Foundation::IStringable, 0x96369f54, 0x8eb6, 0x48f0, 0xab,0xce, 0xc1,0xb2,0x11,0xe6,0x27,0xc3)
- #endif
- #else
--typedef struct IAsyncOperationVtbl {
-+typedef struct __x_ABI_CWindows_CFoundation_CIStringableVtbl {
- BEGIN_INTERFACE
-
- /*** IUnknown methods ***/
- HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-- IAsyncOperation* This,
-+ __x_ABI_CWindows_CFoundation_CIStringable *This,
- REFIID riid,
- void **ppvObject);
-
- ULONG (STDMETHODCALLTYPE *AddRef)(
-- IAsyncOperation* This);
-+ __x_ABI_CWindows_CFoundation_CIStringable *This);
-
- ULONG (STDMETHODCALLTYPE *Release)(
-- IAsyncOperation* This);
-+ __x_ABI_CWindows_CFoundation_CIStringable *This);
-
- /*** IInspectable methods ***/
- HRESULT (STDMETHODCALLTYPE *GetIids)(
-- IAsyncOperation* This,
-+ __x_ABI_CWindows_CFoundation_CIStringable *This,
- ULONG *iidCount,
- IID **iids);
-
- HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
-- IAsyncOperation* This,
-+ __x_ABI_CWindows_CFoundation_CIStringable *This,
- HSTRING *className);
-
- HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
-- IAsyncOperation* This,
-+ __x_ABI_CWindows_CFoundation_CIStringable *This,
- TrustLevel *trustLevel);
-
-- /*** IAsyncInfo methods ***/
-- HRESULT (STDMETHODCALLTYPE *get_Id)(
-- IAsyncOperation* This,
-- unsigned int *id);
--
-- HRESULT (STDMETHODCALLTYPE *get_Status)(
-- IAsyncOperation* This,
-- AsyncStatus *status);
--
-- HRESULT (STDMETHODCALLTYPE *get_ErrorCode)(
-- IAsyncOperation* This,
-- HRESULT *errorCode);
--
-- HRESULT (STDMETHODCALLTYPE *Cancel)(
-- IAsyncOperation* This);
--
-- HRESULT (STDMETHODCALLTYPE *Close)(
-- IAsyncOperation* This);
--
-- /*** IAsyncOperation methods ***/
-- HRESULT (STDMETHODCALLTYPE *put_Completed)(
-- IAsyncOperation* This,
-- AsyncActionCompletedHandler *handler);
--
-- HRESULT (STDMETHODCALLTYPE *get_Completed)(
-- IAsyncOperation* This,
-- AsyncActionCompletedHandler **handler);
--
-- IInspectable * (STDMETHODCALLTYPE *GetResults)(
-- IAsyncOperation* This);
-+ /*** IStringable methods ***/
-+ HRESULT (STDMETHODCALLTYPE *ToString)(
-+ __x_ABI_CWindows_CFoundation_CIStringable *This,
-+ HSTRING *value);
-
- END_INTERFACE
--} IAsyncOperationVtbl;
--interface IAsyncOperation {
-- CONST_VTBL IAsyncOperationVtbl* lpVtbl;
-+} __x_ABI_CWindows_CFoundation_CIStringableVtbl;
-+
-+interface __x_ABI_CWindows_CFoundation_CIStringable {
-+ CONST_VTBL __x_ABI_CWindows_CFoundation_CIStringableVtbl* lpVtbl;
- };
-
- #ifdef COBJMACROS
- #ifndef WIDL_C_INLINE_WRAPPERS
- /*** IUnknown methods ***/
--#define IAsyncOperation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
--#define IAsyncOperation_AddRef(This) (This)->lpVtbl->AddRef(This)
--#define IAsyncOperation_Release(This) (This)->lpVtbl->Release(This)
-+#define __x_ABI_CWindows_CFoundation_CIStringable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-+#define __x_ABI_CWindows_CFoundation_CIStringable_AddRef(This) (This)->lpVtbl->AddRef(This)
-+#define __x_ABI_CWindows_CFoundation_CIStringable_Release(This) (This)->lpVtbl->Release(This)
- /*** IInspectable methods ***/
--#define IAsyncOperation_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
--#define IAsyncOperation_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
--#define IAsyncOperation_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
--/*** IAsyncInfo methods ***/
--#define IAsyncOperation_get_Id(This,id) (This)->lpVtbl->get_Id(This,id)
--#define IAsyncOperation_get_Status(This,status) (This)->lpVtbl->get_Status(This,status)
--#define IAsyncOperation_get_ErrorCode(This,errorCode) (This)->lpVtbl->get_ErrorCode(This,errorCode)
--#define IAsyncOperation_Cancel(This) (This)->lpVtbl->Cancel(This)
--#define IAsyncOperation_Close(This) (This)->lpVtbl->Close(This)
--/*** IAsyncOperation methods ***/
--#define IAsyncOperation_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
--#define IAsyncOperation_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
--#define IAsyncOperation_GetResults(This) (This)->lpVtbl->GetResults(This)
-+#define __x_ABI_CWindows_CFoundation_CIStringable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
-+#define __x_ABI_CWindows_CFoundation_CIStringable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
-+#define __x_ABI_CWindows_CFoundation_CIStringable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
-+/*** IStringable methods ***/
-+#define __x_ABI_CWindows_CFoundation_CIStringable_ToString(This,value) (This)->lpVtbl->ToString(This,value)
- #else
- /*** IUnknown methods ***/
--static FORCEINLINE HRESULT IAsyncOperation_QueryInterface(IAsyncOperation* This,REFIID riid,void **ppvObject) {
-+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_QueryInterface(__x_ABI_CWindows_CFoundation_CIStringable* This,REFIID riid,void **ppvObject) {
- return This->lpVtbl->QueryInterface(This,riid,ppvObject);
- }
--static FORCEINLINE ULONG IAsyncOperation_AddRef(IAsyncOperation* This) {
-+static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIStringable_AddRef(__x_ABI_CWindows_CFoundation_CIStringable* This) {
- return This->lpVtbl->AddRef(This);
- }
--static FORCEINLINE ULONG IAsyncOperation_Release(IAsyncOperation* This) {
-+static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIStringable_Release(__x_ABI_CWindows_CFoundation_CIStringable* This) {
- return This->lpVtbl->Release(This);
- }
- /*** IInspectable methods ***/
--static FORCEINLINE HRESULT IAsyncOperation_GetIids(IAsyncOperation* This,ULONG *iidCount,IID **iids) {
-+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_GetIids(__x_ABI_CWindows_CFoundation_CIStringable* This,ULONG *iidCount,IID **iids) {
- return This->lpVtbl->GetIids(This,iidCount,iids);
- }
--static FORCEINLINE HRESULT IAsyncOperation_GetRuntimeClassName(IAsyncOperation* This,HSTRING *className) {
-+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIStringable* This,HSTRING *className) {
- return This->lpVtbl->GetRuntimeClassName(This,className);
- }
--static FORCEINLINE HRESULT IAsyncOperation_GetTrustLevel(IAsyncOperation* This,TrustLevel *trustLevel) {
-+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIStringable* This,TrustLevel *trustLevel) {
- return This->lpVtbl->GetTrustLevel(This,trustLevel);
- }
--/*** IAsyncInfo methods ***/
--static FORCEINLINE HRESULT IAsyncOperation_get_Id(IAsyncOperation* This,unsigned int *id) {
-- return This->lpVtbl->get_Id(This,id);
--}
--static FORCEINLINE HRESULT IAsyncOperation_get_Status(IAsyncOperation* This,AsyncStatus *status) {
-- return This->lpVtbl->get_Status(This,status);
--}
--static FORCEINLINE HRESULT IAsyncOperation_get_ErrorCode(IAsyncOperation* This,HRESULT *errorCode) {
-- return This->lpVtbl->get_ErrorCode(This,errorCode);
--}
--static FORCEINLINE HRESULT IAsyncOperation_Cancel(IAsyncOperation* This) {
-- return This->lpVtbl->Cancel(This);
--}
--static FORCEINLINE HRESULT IAsyncOperation_Close(IAsyncOperation* This) {
-- return This->lpVtbl->Close(This);
--}
--/*** IAsyncOperation methods ***/
--static FORCEINLINE HRESULT IAsyncOperation_put_Completed(IAsyncOperation* This,AsyncActionCompletedHandler *handler) {
-- return This->lpVtbl->put_Completed(This,handler);
--}
--static FORCEINLINE HRESULT IAsyncOperation_get_Completed(IAsyncOperation* This,AsyncActionCompletedHandler **handler) {
-- return This->lpVtbl->get_Completed(This,handler);
--}
--static FORCEINLINE IInspectable * IAsyncOperation_GetResults(IAsyncOperation* This) {
-- return This->lpVtbl->GetResults(This);
-+/*** IStringable methods ***/
-+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_ToString(__x_ABI_CWindows_CFoundation_CIStringable* This,HSTRING *value) {
-+ return This->lpVtbl->ToString(This,value);
- }
- #endif
- #endif
-
- #endif
-
--HRESULT STDMETHODCALLTYPE IAsyncOperation_put_Completed_Proxy(
-- IAsyncOperation* This,
-- AsyncActionCompletedHandler *handler);
--void __RPC_STUB IAsyncOperation_put_Completed_Stub(
-- IRpcStubBuffer* This,
-- IRpcChannelBuffer* pRpcChannelBuffer,
-- PRPC_MESSAGE pRpcMessage,
-- DWORD* pdwStubPhase);
--HRESULT STDMETHODCALLTYPE IAsyncOperation_get_Completed_Proxy(
-- IAsyncOperation* This,
-- AsyncActionCompletedHandler **handler);
--void __RPC_STUB IAsyncOperation_get_Completed_Stub(
-- IRpcStubBuffer* This,
-- IRpcChannelBuffer* pRpcChannelBuffer,
-- PRPC_MESSAGE pRpcMessage,
-- DWORD* pdwStubPhase);
--IInspectable * STDMETHODCALLTYPE IAsyncOperation_GetResults_Proxy(
-- IAsyncOperation* This);
--void __RPC_STUB IAsyncOperation_GetResults_Stub(
-- IRpcStubBuffer* This,
-- IRpcChannelBuffer* pRpcChannelBuffer,
-- PRPC_MESSAGE pRpcMessage,
-- DWORD* pdwStubPhase);
--
--#endif /* __IAsyncOperation_INTERFACE_DEFINED__ */
-+#endif /* ____x_ABI_CWindows_CFoundation_CIStringable_INTERFACE_DEFINED__ */
-
- /* Begin additional prototypes for all interfaces */
-
-+ULONG __RPC_USER HSTRING_UserSize (ULONG *, ULONG, HSTRING *);
-+unsigned char * __RPC_USER HSTRING_UserMarshal (ULONG *, unsigned char *, HSTRING *);
-+unsigned char * __RPC_USER HSTRING_UserUnmarshal(ULONG *, unsigned char *, HSTRING *);
-+void __RPC_USER HSTRING_UserFree (ULONG *, HSTRING *);
-
- /* End additional prototypes */
-
diff --git a/mingw-w64-headers/include/windows.foundation.metadata.h b/mingw-w64-headers/include/windows.foundation.metadata.h
new file mode 100644
-index 00000000..13262699
+index 000000000..132626999
--- /dev/null
+++ b/mingw-w64-headers/include/windows.foundation.metadata.h
@@ -0,0 +1,315 @@
@@ -1310,7 +345,7 @@ index 00000000..13262699
+#endif /* __windows_foundation_metadata_h__ */
diff --git a/mingw-w64-headers/include/windows.foundation.numerics.h b/mingw-w64-headers/include/windows.foundation.numerics.h
new file mode 100644
-index 00000000..e20017ce
+index 000000000..e20017ce6
--- /dev/null
+++ b/mingw-w64-headers/include/windows.foundation.numerics.h
@@ -0,0 +1,204 @@
@@ -1520,7 +555,7 @@ index 00000000..e20017ce
+#endif /* __windows_foundation_numerics_h__ */
diff --git a/mingw-w64-headers/include/windows.graphics.directx.h b/mingw-w64-headers/include/windows.graphics.directx.h
new file mode 100644
-index 00000000..4bc4cb44
+index 000000000..4bc4cb44b
--- /dev/null
+++ b/mingw-w64-headers/include/windows.graphics.directx.h
@@ -0,0 +1,343 @@
@@ -1869,7 +904,7 @@ index 00000000..4bc4cb44
+#endif /* __windows_graphics_directx_h__ */
diff --git a/mingw-w64-headers/include/windows.graphics.effects.h b/mingw-w64-headers/include/windows.graphics.effects.h
new file mode 100644
-index 00000000..7c6e62a5
+index 000000000..7c6e62a54
--- /dev/null
+++ b/mingw-w64-headers/include/windows.graphics.effects.h
@@ -0,0 +1,184 @@
@@ -2059,7 +1094,7 @@ index 00000000..7c6e62a5
+#endif /* __windows_graphics_effects_h__ */
diff --git a/mingw-w64-headers/include/windows.ui.composition.h b/mingw-w64-headers/include/windows.ui.composition.h
new file mode 100644
-index 00000000..9410a3ce
+index 000000000..9410a3ce6
--- /dev/null
+++ b/mingw-w64-headers/include/windows.ui.composition.h
@@ -0,0 +1,3212 @@
@@ -5277,7 +4312,7 @@ index 00000000..9410a3ce
+#endif /* __windows_ui_composition_h__ */
diff --git a/mingw-w64-headers/include/windows.ui.composition.interop.h b/mingw-w64-headers/include/windows.ui.composition.interop.h
new file mode 100644
-index 00000000..a82afdf1
+index 000000000..a82afdf1b
--- /dev/null
+++ b/mingw-w64-headers/include/windows.ui.composition.interop.h
@@ -0,0 +1,31 @@
@@ -5314,7 +4349,7 @@ index 00000000..a82afdf1
+
diff --git a/mingw-w64-headers/include/windows.ui.core.h b/mingw-w64-headers/include/windows.ui.core.h
new file mode 100644
-index 00000000..a3c16ac2
+index 000000000..a3c16ac23
--- /dev/null
+++ b/mingw-w64-headers/include/windows.ui.core.h
@@ -0,0 +1,127 @@
@@ -5447,7 +4482,7 @@ index 00000000..a3c16ac2
+#endif /* __windows_ui_core_h__ */
diff --git a/mingw-w64-headers/include/windows.ui.h b/mingw-w64-headers/include/windows.ui.h
new file mode 100644
-index 00000000..2e4abd54
+index 000000000..2e4abd547
--- /dev/null
+++ b/mingw-w64-headers/include/windows.ui.h
@@ -0,0 +1,72 @@
@@ -5523,3 +4558,6 @@ index 00000000..2e4abd54
+#endif
+
+#endif /* __windows_ui_h__ */
+--
+2.25.1
+
diff --git a/projects/mingw-w64/config b/projects/mingw-w64/config
index 6758997..3792a76 100644
--- a/projects/mingw-w64/config
+++ b/projects/mingw-w64/config
@@ -1,12 +1,12 @@
# vim: filetype=yaml sw=2
filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
git_url: https://git.code.sf.net/p/mingw-w64/mingw-w64
-git_hash: 660e09f3cb20f181b6d6435cb623d65a3922a063
+git_hash: cdb052f1d4056cd510cb83197b55868427b87476
version: '[% c("abbrev") %]'
var:
container:
use_container: 1
- gcc_version: 9.3.0
+ gcc_version: 10.3.0
deps:
- automake
- build-essential
@@ -30,6 +30,6 @@ targets:
input_files:
- project: container-image
- URL: 'https://ftp.gnu.org/gnu/gcc/gcc-[% c("var/gcc_version") %]/gcc-[% c("var/gcc_version") %].tar.xz'
- sha256sum: 71e197867611f6054aa1119b13a0c0abac12834765fe2d81f35ac57f84f742d1
+ sha256sum: 64f404c1a650f27fc33da242e1f2df54952e3963a49e06e73f6940f3223ac344
- name: binutils
project: binutils
diff --git a/projects/ninja/build b/projects/ninja/build
index 6500ca7..9fc0eaa 100644
--- a/projects/ninja/build
+++ b/projects/ninja/build
@@ -10,6 +10,11 @@ mkdir /var/tmp/build
tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz
cd /var/tmp/build/[% project %]-[% c('version') %]
+[% IF c("var/windows") -%]
+ # Starting with Debian Bullseye, /usr/bin/python does not exist, so
+ # we need to use python3 explicitly
+ sed -i 's/env python$/env python3/' configure.py
+[% END -%]
./configure.py --bootstrap
mkdir $distdir
diff --git a/projects/node/config b/projects/node/config
index 30fce8d..ce058cf 100644
--- a/projects/node/config
+++ b/projects/node/config
@@ -12,6 +12,10 @@ targets:
var:
node_version: 10.23.1
node_hash: 88aa16f5af79615b183ca55ed81393763169e75d1fb96013cf1831895c6cedfa
+ windows:
+ var:
+ arch_deps:
+ - python2
input_files:
- project: container-image
diff --git a/projects/rust/config b/projects/rust/config
index 01e1843..4995f1c 100644
--- a/projects/rust/config
+++ b/projects/rust/config
@@ -75,7 +75,7 @@ targets:
- libssl-dev
- pkg-config
- zlib1g-dev
- configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --target=[% c("arch") %]-pc-windows-gnu
+ configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --target=x86_64-unknown-linux-gnu,[% c("arch") %]-pc-windows-gnu
input_files:
- project: container-image
diff --git a/projects/tor-browser/build b/projects/tor-browser/build
index 1d2e35b..6deec70 100644
--- a/projects/tor-browser/build
+++ b/projects/tor-browser/build
@@ -226,14 +226,6 @@ popd
[% IF c("var/windows") %]
- # We need to install a recent version of python-pefile so that it works
- # in a x86_64 container:
- # https://github.com/TheTorProject/tor-messenger-build/pull/10
- tar xf $rootdir/[% c('input_files_by_name/python-pefile') %]
- cd $(echo [% c('input_files_by_name/python-pefile') %] | sed s/\.tar\.gz$//)
- python setup.py install --user
- cd ..
-
tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/nsis') %]
export PATH="/var/tmp/dist/nsis/bin:$PATH"
@@ -288,7 +280,7 @@ cd $distdir
makensis torbrowser.nsi
# Working around NSIS braindamage
mv torbrowser-install.exe torbrowser-install-tmp.exe
- python $rootdir/pe_checksum_fix.py
+ python3 $rootdir/pe_checksum_fix.py
mv torbrowser-install-tmp2.exe torbrowser-install.exe
rm torbrowser-install-tmp.exe
mv torbrowser-install.exe $OUTDIR/torbrowser-install[% IF c("var/windows-x86_64") %]-win64[% END %]-[% c("var/torbrowser_version") %]_${PKG_LOCALE}.exe
diff --git a/projects/tor-browser/config b/projects/tor-browser/config
index 09f77b2..a3f21d3 100644
--- a/projects/tor-browser/config
+++ b/projects/tor-browser/config
@@ -35,7 +35,7 @@ targets:
windows:
var:
arch_deps:
- - python-future
+ - python3-pefile
windows-i686:
var:
mar_osname: win32
@@ -98,10 +98,6 @@ input_files:
enable: '[% c("var/windows") %]'
- filename: pe_checksum_fix.py
enable: '[% c("var/windows") %]'
- - name: python-pefile
- URL: https://files.pythonhosted.org/packages/7e/9b/f99171190f04cd23768547dd34533…
- sha256sum: 675c35ee0e1677db9e80d2f48d8a7ff2cf38e6207e8cd5e2a2c6d126db025854
- enable: '[% c("var/windows") %]'
# To generate a new keystore, see how-to-generate-keystore.txt
- filename: android-qa.keystore
enable: '[% c("var/android") %]'
diff --git a/projects/tor-browser/pe_checksum_fix.py b/projects/tor-browser/pe_checksum_fix.py
index 85d8fef..73cd009 100755
--- a/projects/tor-browser/pe_checksum_fix.py
+++ b/projects/tor-browser/pe_checksum_fix.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# Copyright (c) 2015-2017, The Tor Project, Inc.
#
@@ -45,12 +45,12 @@ Thanks to a cypherpunk for this workaround idea.
import pefile;
-f = open('torbrowser-install-tmp.exe')
+f = open('torbrowser-install-tmp.exe', 'rb')
exe = f.read()
f.close()
remainder = len(exe) % 8
if remainder > 0:
- exe += '\0' * (8 - remainder)
+ exe += bytes('\0' * (8 - remainder), 'utf-8')
pef = pefile.PE(data=exe, fast_load=True)
pef.OPTIONAL_HEADER.CheckSum = pef.generate_checksum()
pef.write(filename='torbrowser-install-tmp2.exe')
diff --git a/rbm.conf b/rbm.conf
index b389872..c67fdc9 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -428,9 +428,11 @@ targets:
torbrowser-windows-i686:
- windows-i686
- windows
+ - ff91esr
torbrowser-windows-x86_64:
- windows-x86_64
- windows
+ - ff91esr
windows-x86_64:
arch: x86_64
var:
@@ -451,7 +453,7 @@ targets:
var:
windows: 1
container:
- suite: buster
+ suite: bullseye
arch: amd64
configure_opt: '--host=[% c("arch") %]-w64-mingw32 CFLAGS="[% c("var/CFLAGS") %]" LDFLAGS="[% c("var/LDFLAGS") %]" [% c("var/configure_opt_project") %]'
CFLAGS: '-fstack-protector-strong -fno-strict-overflow -Wno-missing-field-initializers -Wformat -Wformat-security [% c("var/flag_mwindows") %]'
@@ -464,7 +466,8 @@ targets:
snowflake: '[% c("var/alpha") || c("var/nightly") %]'
deps:
- build-essential
- - python
+ - python3
+ - python3-distutils
- bison
- automake
- libtool
1
0
[tor-browser-build/master] Bug 40360: Check cctools and libtapi commits in list_toolchain_updates_checks
by sysrqb@torproject.org 06 Oct '21
by sysrqb@torproject.org 06 Oct '21
06 Oct '21
commit 8ff0de0fe55b3ab2f3b6b91c2fdb2b91eef8bff2
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Thu Sep 30 15:52:55 2021 +0200
Bug 40360: Check cctools and libtapi commits in list_toolchain_updates_checks
---
projects/firefox/list_toolchain_updates_checks | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/projects/firefox/list_toolchain_updates_checks b/projects/firefox/list_toolchain_updates_checks
index 6c8b88e..a308468 100644
--- a/projects/firefox/list_toolchain_updates_checks
+++ b/projects/firefox/list_toolchain_updates_checks
@@ -132,6 +132,24 @@ needed=$(perl -MYAML::XS -e "$p")
current='[% pc("macosx-toolchain", "version") %]'
check_update_needed macos-sdk "$needed" "$current"
+# cctools
+read -d '' p << 'EOF' || true
+my $d = YAML::XS::LoadFile('taskcluster/ci/fetch/toolchains.yml');
+print $d->{'cctools-port'}{fetch}{revision};
+EOF
+needed=$(perl -MYAML::XS -e "$p")
+current='[% pc("cctools", "git_hash") %]'
+check_update_needed cctools "$needed" "$current"
+
+# libtapi
+read -d '' p << 'EOF' || true
+my $d = YAML::XS::LoadFile('taskcluster/ci/fetch/toolchains.yml');
+print $d->{'libtapi'}{fetch}{revision};
+EOF
+needed=$(perl -MYAML::XS -e "$p")
+current='[% pc("libtapi", "git_hash") %]'
+check_update_needed libtapi "$needed" "$current"
+
# End of macOS checks
[% END -%]
1
0
[tor-browser/tor-browser-91.2.0esr-11.0-1] Bug 1728536 - Fix compilation error with `--disable-maintenance-service`. r?#application-update-reviewers
by sysrqb@torproject.org 06 Oct '21
by sysrqb@torproject.org 06 Oct '21
06 Oct '21
commit ebc9d98f7fcb7bfa84a9f6ef502cf261998a04b7
Author: Nick Alexander <nalexander(a)mozilla.com>
Date: Mon Sep 27 17:10:27 2021 +0000
Bug 1728536 - Fix compilation error with `--disable-maintenance-service`. r?#application-update-reviewers
This was a regression from Bug 1658711.
Differential Revision: https://phabricator.services.mozilla.com/D126715
---
toolkit/mozapps/update/updater/updater.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/toolkit/mozapps/update/updater/updater.cpp b/toolkit/mozapps/update/updater/updater.cpp
index ddbcdf5cc22a..68d7186bbc4b 100644
--- a/toolkit/mozapps/update/updater/updater.cpp
+++ b/toolkit/mozapps/update/updater/updater.cpp
@@ -3679,6 +3679,7 @@ int NS_main(int argc, NS_tchar** argv) {
# endif
}
+# ifdef MOZ_MAINTENANCE_SERVICE
// If we started the elevated updater, and it finished, check the secure
// update status file to make sure that it succeeded, and if it did we
// need to launch the PostUpdate process in the unelevated updater which
@@ -3696,6 +3697,7 @@ int NS_main(int argc, NS_tchar** argv) {
}
}
}
+# endif
CloseHandle(elevatedFileHandle);
1
0