diff options
author | ryoon <ryoon@pkgsrc.org> | 2014-06-11 00:40:59 +0000 |
---|---|---|
committer | ryoon <ryoon@pkgsrc.org> | 2014-06-11 00:40:59 +0000 |
commit | f0c7e70018c84ada52dd59149a7c8e34c1fa8971 (patch) | |
tree | e47afbb25ae5ba98e520d4211851ebd5955b237a /www | |
parent | 32cd810e16d232e93ec88f0da43094bfb7c48583 (diff) | |
download | pkgsrc-f0c7e70018c84ada52dd59149a7c8e34c1fa8971.tar.gz |
Update to 30.0
* debug build is broken
Changelog:
New
Sidebars button in browser chrome enables faster access to social, bookmark, & history sidebars
New
Mac OS X command-E sets find term to selected text
New
Support for GStreamer 1.0
Changed
Disallow calling WebIDL constructors as functions on the web
Developer
With the exception of those bundled inside an extension or ones that are whitelisted, plugins will no longer be activated by default (see blog post)
Developer
Fixes to box-shadow and other visual overflow (see bug 480888)
Developer
Mute and volume available per window when using WebAudio
Developer
background-blend-mode enabled by default
Developer
Use of line-height allowed for <input type="reset|button|submit">
Developer
ES6 array and generator comprehensions implemented (read docs for more details)
Developer
Error stack now contains column number
Developer
Support for alpha option in canvas context options (feature description)
Fixed
Ignore autocomplete="off" when offering to save passwords via the password manager (see 956906)
Fixed
TypedArrays don't support new named properties (see 695438)
Fixed
Various security fixes
Fixed in Firefox 30
MFSA 2014-54 Buffer overflow in Gamepad API
MFSA 2014-53 Buffer overflow in Web Audio Speex resampler
MFSA 2014-52 Use-after-free with SMIL Animation Controller
MFSA 2014-51 Use-after-free in Event Listener Manager
MFSA 2014-50 Clickjacking through cursor invisability after Flash interaction
MFSA 2014-49 Use-after-free and out of bounds issues found using Address Sanitizer
MFSA 2014-48 Miscellaneous memory safety hazards (rv:30.0 / rv:24.6)
Diffstat (limited to 'www')
47 files changed, 444 insertions, 2733 deletions
diff --git a/www/firefox/Makefile b/www/firefox/Makefile index 365310869fa..fd009455b05 100644 --- a/www/firefox/Makefile +++ b/www/firefox/Makefile @@ -1,9 +1,8 @@ -# $NetBSD: Makefile,v 1.169 2014/06/09 14:18:08 ryoon Exp $ +# $NetBSD: Makefile,v 1.170 2014/06/11 00:40:59 ryoon Exp $ FIREFOX_VER= ${MOZ_BRANCH}${MOZ_BRANCH_MINOR} -MOZ_BRANCH= 29.0.1 +MOZ_BRANCH= 30.0 MOZ_BRANCH_MINOR= -PKGREVISION= 3 DISTNAME= firefox-${FIREFOX_VER}.source PKGNAME= firefox-${MOZ_BRANCH}${MOZ_BRANCH_MINOR:S/b/beta/:S/esr//} diff --git a/www/firefox/PLIST b/www/firefox/PLIST index 8147d8db399..a781c5141e3 100644 --- a/www/firefox/PLIST +++ b/www/firefox/PLIST @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.81 2014/05/28 03:25:25 pho Exp $ +@comment $NetBSD: PLIST,v 1.82 2014/06/11 00:40:59 ryoon Exp $ bin/firefox lib/firefox/application.ini lib/firefox/browser/blocklist.xml @@ -32,10 +32,6 @@ lib/firefox/browser/chrome/browser/content/browser/aboutWelcomeBack.xhtml lib/firefox/browser/chrome/browser/content/browser/aboutaccounts/aboutaccounts.css lib/firefox/browser/chrome/browser/content/browser/aboutaccounts/aboutaccounts.js lib/firefox/browser/chrome/browser/content/browser/aboutaccounts/aboutaccounts.xhtml -lib/firefox/browser/chrome/browser/content/browser/aboutaccounts/fonts.css -lib/firefox/browser/chrome/browser/content/browser/aboutaccounts/fonts/clearsans-regular.woff -lib/firefox/browser/chrome/browser/content/browser/aboutaccounts/fonts/firasans-light.woff -lib/firefox/browser/chrome/browser/content/browser/aboutaccounts/fonts/firasans-regular.woff lib/firefox/browser/chrome/browser/content/browser/aboutaccounts/images/fox.png lib/firefox/browser/chrome/browser/content/browser/aboutaccounts/images/graphic_sync_intro.png lib/firefox/browser/chrome/browser/content/browser/aboutaccounts/images/graphic_sync_intro@2x.png @@ -430,6 +426,7 @@ lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/commandline.css lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/common.css lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/computedview.css lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/controls.png +lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/controls@2x.png lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/dark-theme.css lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/debugger-blackbox-eye.png lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/debugger-blackbox.png @@ -452,7 +449,6 @@ lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/filters.svg lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/floating-scrollbars-light.css lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/floating-scrollbars.css lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/font-inspector.css -lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/inspect-button.png lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/inspector.css lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/itemArrow-dark-ltr.png lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/itemArrow-dark-rtl.png @@ -640,7 +636,10 @@ lib/firefox/browser/chrome/browser/skin/classic/browser/tabview/tabview.png lib/firefox/browser/chrome/browser/skin/classic/browser/urlbar-arrow.png lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-shareDevice-16.png lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-shareDevice-64.png +lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-shareMicrophone-16.png +lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-shareMicrophone-64.png lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-sharingDevice-16.png +lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-sharingMicrophone-16.png lib/firefox/browser/chrome/browser/skin/classic/communicator/communicator.css lib/firefox/browser/chrome/chrome.manifest lib/firefox/browser/chrome/en-US/locale/branding/brand.dtd @@ -764,10 +763,10 @@ lib/firefox/browser/chrome/icons/default/default32.png lib/firefox/browser/chrome/icons/default/default48.png lib/firefox/browser/chrome/pdfjs/LICENSE lib/firefox/browser/chrome/pdfjs/README.mozilla -lib/firefox/browser/chrome/pdfjs/components/PdfRedirector.js -lib/firefox/browser/chrome/pdfjs/components/PdfStreamConverter.js lib/firefox/browser/chrome/pdfjs/content/PdfJs.jsm lib/firefox/browser/chrome/pdfjs/content/PdfJsTelemetry.jsm +lib/firefox/browser/chrome/pdfjs/content/PdfRedirector.jsm +lib/firefox/browser/chrome/pdfjs/content/PdfStreamConverter.jsm lib/firefox/browser/chrome/pdfjs/content/build/pdf.js lib/firefox/browser/chrome/pdfjs/content/build/pdf.worker.js lib/firefox/browser/chrome/pdfjs/content/default_preferences.js @@ -779,44 +778,75 @@ lib/firefox/browser/chrome/pdfjs/content/web/images/annotation-help.svg lib/firefox/browser/chrome/pdfjs/content/web/images/annotation-insert.svg lib/firefox/browser/chrome/pdfjs/content/web/images/annotation-key.svg lib/firefox/browser/chrome/pdfjs/content/web/images/annotation-newparagraph.svg +lib/firefox/browser/chrome/pdfjs/content/web/images/annotation-noicon.svg lib/firefox/browser/chrome/pdfjs/content/web/images/annotation-note.svg lib/firefox/browser/chrome/pdfjs/content/web/images/annotation-paragraph.svg lib/firefox/browser/chrome/pdfjs/content/web/images/findbarButton-next-rtl.png +lib/firefox/browser/chrome/pdfjs/content/web/images/findbarButton-next-rtl@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/findbarButton-next.png +lib/firefox/browser/chrome/pdfjs/content/web/images/findbarButton-next@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/findbarButton-previous-rtl.png +lib/firefox/browser/chrome/pdfjs/content/web/images/findbarButton-previous-rtl@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/findbarButton-previous.png +lib/firefox/browser/chrome/pdfjs/content/web/images/findbarButton-previous@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/grab.cur lib/firefox/browser/chrome/pdfjs/content/web/images/grabbing.cur lib/firefox/browser/chrome/pdfjs/content/web/images/loading-icon.gif lib/firefox/browser/chrome/pdfjs/content/web/images/loading-small.png lib/firefox/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-documentProperties.png +lib/firefox/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-documentProperties@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-firstPage.png +lib/firefox/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-firstPage@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-handTool.png +lib/firefox/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-handTool@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-lastPage.png +lib/firefox/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-lastPage@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-rotateCcw.png +lib/firefox/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-rotateCcw@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-rotateCw.png +lib/firefox/browser/chrome/pdfjs/content/web/images/secondaryToolbarButton-rotateCw@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/shadow.png lib/firefox/browser/chrome/pdfjs/content/web/images/texture.png lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-bookmark.png +lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-bookmark@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-download.png +lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-download@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-menuArrows.png +lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-menuArrows@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-openFile.png +lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-openFile@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-pageDown-rtl.png +lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-pageDown-rtl@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-pageDown.png +lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-pageDown@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-pageUp-rtl.png +lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-pageUp-rtl@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-pageUp.png +lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-pageUp@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-presentationMode.png +lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-presentationMode@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-print.png +lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-print@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-search.png +lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-search@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-secondaryToolbarToggle-rtl.png +lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-secondaryToolbarToggle-rtl@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-secondaryToolbarToggle.png +lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-secondaryToolbarToggle@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-sidebarToggle-rtl.png +lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-sidebarToggle-rtl@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-sidebarToggle.png +lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-sidebarToggle@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-viewOutline-rtl.png +lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-viewOutline-rtl@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-viewOutline.png +lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-viewOutline@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-viewThumbnail.png +lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-viewThumbnail@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-zoomIn.png +lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-zoomIn@2x.png lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-zoomOut.png +lib/firefox/browser/chrome/pdfjs/content/web/images/toolbarButton-zoomOut@2x.png lib/firefox/browser/chrome/pdfjs/content/web/l10n.js lib/firefox/browser/chrome/pdfjs/content/web/viewer.css lib/firefox/browser/chrome/pdfjs/content/web/viewer.html @@ -835,7 +865,7 @@ lib/firefox/browser/components/components.manifest lib/firefox/browser/components/devtools-clhandler.js lib/firefox/browser/components/fuelApplication.js lib/firefox/browser/components/interfaces.xpt -lib/firefox/browser/components/libbrowsercomps${DLL_SUFFIX} +lib/firefox/browser/components/libbrowsercomps.so lib/firefox/browser/components/nsBrowserContentHandler.js lib/firefox/browser/components/nsBrowserGlue.js lib/firefox/browser/components/nsSessionStartup.js @@ -858,6 +888,7 @@ lib/firefox/browser/modules/AboutHome.jsm lib/firefox/browser/modules/BrowserNewTabPreloader.jsm lib/firefox/browser/modules/BrowserUITelemetry.jsm lib/firefox/browser/modules/ContentClick.jsm +lib/firefox/browser/modules/ContentLinkHandler.jsm lib/firefox/browser/modules/CustomizableUI.jsm lib/firefox/browser/modules/CustomizableWidgets.jsm lib/firefox/browser/modules/CustomizationTabPreloader.jsm @@ -866,6 +897,7 @@ lib/firefox/browser/modules/DownloadsCommon.jsm lib/firefox/browser/modules/DownloadsLogger.jsm lib/firefox/browser/modules/DownloadsTaskbar.jsm lib/firefox/browser/modules/DragPositionManager.jsm +lib/firefox/browser/modules/Feeds.jsm lib/firefox/browser/modules/MigrationUtils.jsm lib/firefox/browser/modules/NetworkPrioritizer.jsm lib/firefox/browser/modules/PanelWideWidgetTracker.jsm @@ -878,6 +910,7 @@ lib/firefox/browser/modules/SitePermissions.jsm lib/firefox/browser/modules/Social.jsm lib/firefox/browser/modules/TabCrashReporter.jsm lib/firefox/browser/modules/UITour.jsm +lib/firefox/browser/modules/WebappManager.jsm lib/firefox/browser/modules/devtools/AppCacheUtils.jsm lib/firefox/browser/modules/devtools/BreadcrumbsWidget.jsm lib/firefox/browser/modules/devtools/BuiltinCommands.jsm @@ -939,7 +972,6 @@ lib/firefox/browser/modules/devtools/scratchpad-manager.jsm lib/firefox/browser/modules/devtools/scratchpad/scratchpad-panel.js lib/firefox/browser/modules/devtools/shadereditor/panel.js lib/firefox/browser/modules/devtools/shared/autocomplete-popup.js -lib/firefox/browser/modules/devtools/shared/event-emitter.js lib/firefox/browser/modules/devtools/shared/inplace-editor.js lib/firefox/browser/modules/devtools/shared/observable-object.js lib/firefox/browser/modules/devtools/shared/telemetry.js @@ -957,6 +989,7 @@ lib/firefox/browser/modules/devtools/sourceeditor/editor.js lib/firefox/browser/modules/devtools/styleeditor/styleeditor-panel.js lib/firefox/browser/modules/devtools/styleeditor/utils.js lib/firefox/browser/modules/devtools/styleinspector/computed-view.js +lib/firefox/browser/modules/devtools/styleinspector/css-parsing-utils.js lib/firefox/browser/modules/devtools/styleinspector/rule-view.js lib/firefox/browser/modules/devtools/styleinspector/style-inspector.js lib/firefox/browser/modules/devtools/tilt/TiltWorkerCrafter.js @@ -976,14 +1009,12 @@ lib/firefox/browser/modules/distribution.js lib/firefox/browser/modules/offlineAppCache.jsm lib/firefox/browser/modules/sessionstore/ContentRestore.jsm lib/firefox/browser/modules/sessionstore/DocShellCapabilities.jsm -lib/firefox/browser/modules/sessionstore/FormData.jsm lib/firefox/browser/modules/sessionstore/FrameTree.jsm lib/firefox/browser/modules/sessionstore/GlobalState.jsm lib/firefox/browser/modules/sessionstore/PageStyle.jsm lib/firefox/browser/modules/sessionstore/PrivacyFilter.jsm lib/firefox/browser/modules/sessionstore/PrivacyLevel.jsm lib/firefox/browser/modules/sessionstore/RecentlyClosedTabsAndWindowsMenuUtils.jsm -lib/firefox/browser/modules/sessionstore/ScrollPosition.jsm lib/firefox/browser/modules/sessionstore/SessionCookies.jsm lib/firefox/browser/modules/sessionstore/SessionFile.jsm lib/firefox/browser/modules/sessionstore/SessionHistory.jsm @@ -996,9 +1027,7 @@ lib/firefox/browser/modules/sessionstore/TabAttributes.jsm lib/firefox/browser/modules/sessionstore/TabState.jsm lib/firefox/browser/modules/sessionstore/TabStateCache.jsm lib/firefox/browser/modules/sessionstore/Utils.jsm -lib/firefox/browser/modules/sessionstore/XPathGenerator.jsm lib/firefox/browser/modules/tabview/utils.jsm -lib/firefox/browser/modules/webappsUI.jsm lib/firefox/browser/modules/webrtcUI.jsm lib/firefox/browser/searchplugins/amazondotcom.xml lib/firefox/browser/searchplugins/bing.xml @@ -1241,6 +1270,7 @@ lib/firefox/chrome/toolkit/content/global/BrowserElementPanning.js lib/firefox/chrome/toolkit/content/global/XPCNativeWrapper.js lib/firefox/chrome/toolkit/content/global/about.js lib/firefox/chrome/toolkit/content/global/about.xhtml +lib/firefox/chrome/toolkit/content/global/aboutAbout.js lib/firefox/chrome/toolkit/content/global/aboutAbout.xhtml lib/firefox/chrome/toolkit/content/global/aboutCompartments.xhtml lib/firefox/chrome/toolkit/content/global/aboutMemory.css @@ -1757,21 +1787,19 @@ lib/firefox/components/AlarmsManager.js lib/firefox/components/AppsService.js lib/firefox/components/BrowserElementParent.js lib/firefox/components/ColorAnalyzer.js -lib/firefox/components/ConsoleAPI.js +lib/firefox/components/ConsoleAPIStorage.js lib/firefox/components/ContactManager.js lib/firefox/components/DataReportingService.js lib/firefox/components/DataStoreService.js lib/firefox/components/DownloadLegacy.js lib/firefox/components/FeedProcessor.js lib/firefox/components/FormHistoryStartup.js -lib/firefox/components/HttpDataUsage.js lib/firefox/components/MozKeyboard.js lib/firefox/components/NetworkGeolocationProvider.js lib/firefox/components/NotificationStorage.js lib/firefox/components/PageThumbsProtocol.js lib/firefox/components/Payment.js lib/firefox/components/PaymentFlowInfo.js -lib/firefox/components/PaymentRequestInfo.js lib/firefox/components/PermissionSettings.js lib/firefox/components/PhoneNumberService.js lib/firefox/components/PlacesCategoriesStarter.js @@ -1797,9 +1825,9 @@ lib/firefox/components/contentSecurityPolicy.js lib/firefox/components/crypto-SDR.js lib/firefox/components/interfaces.xpt lib/firefox/components/jsconsole-clhandler.js -${PLIST.gnome}lib/firefox/components/libdbusservice${DLL_SUFFIX} -lib/firefox/components/libmozgnome${DLL_SUFFIX} -${PLIST.gnome}lib/firefox/components/libnkgnomevfs${DLL_SUFFIX} +${PLIST.gnome}lib/firefox/components/libdbusservice.so +lib/firefox/components/libmozgnome.so +${PLIST.gnome}lib/firefox/components/libnkgnomevfs.so lib/firefox/components/marionettecomponent.js lib/firefox/components/messageWakeupService.js lib/firefox/components/nsBlocklistService.js @@ -1881,17 +1909,11 @@ lib/firefox/hyphenation/hyph_sl.dic lib/firefox/hyphenation/hyph_sv.dic lib/firefox/hyphenation/hyph_tr.dic lib/firefox/hyphenation/hyph_uk.dic -lib/firefox/libmozalloc${DLL_SUFFIX} -${PLIST.mozglue}lib/firefox/libmozglue${DLL_SUFFIX} -lib/firefox/libmozjs${DLL_SUFFIX} -lib/firefox/libxul${DLL_SUFFIX} +lib/firefox/libmozalloc.so +lib/firefox/libxul.so lib/firefox/modules/ActivitiesService.jsm lib/firefox/modules/ActivitiesServiceFilter.jsm -lib/firefox/modules/AddonLogging.jsm lib/firefox/modules/AddonManager.jsm -lib/firefox/modules/AddonRepository.jsm -lib/firefox/modules/AddonRepository_SQLiteMigrator.jsm -lib/firefox/modules/AddonUpdateChecker.jsm lib/firefox/modules/AlarmDB.jsm lib/firefox/modules/AlarmService.jsm lib/firefox/modules/AppDownloadManager.jsm @@ -1905,6 +1927,7 @@ lib/firefox/modules/BookmarkHTMLUtils.jsm lib/firefox/modules/BookmarkJSONUtils.jsm lib/firefox/modules/BrowserElementParent.jsm lib/firefox/modules/BrowserElementPromptService.jsm +lib/firefox/modules/BrowserUtils.jsm lib/firefox/modules/CSPUtils.jsm lib/firefox/modules/CertUtils.jsm lib/firefox/modules/CharsetMenu.jsm @@ -1913,7 +1936,6 @@ lib/firefox/modules/ClusterLib.js lib/firefox/modules/ColorAnalyzer_worker.js lib/firefox/modules/ColorConversion.js lib/firefox/modules/CommonDialog.jsm -lib/firefox/modules/ConsoleAPIStorage.jsm lib/firefox/modules/ContactDB.jsm lib/firefox/modules/ContactService.jsm lib/firefox/modules/ContentPrefInstance.jsm @@ -1946,6 +1968,7 @@ lib/firefox/modules/Downloads.jsm lib/firefox/modules/FileUtils.jsm lib/firefox/modules/Finder.jsm lib/firefox/modules/ForgetAboutSite.jsm +lib/firefox/modules/FormData.jsm lib/firefox/modules/FormHistory.jsm lib/firefox/modules/FrameWorker.jsm lib/firefox/modules/FrameWorkerContent.js @@ -1963,7 +1986,6 @@ lib/firefox/modules/InlineSpellChecker.jsm lib/firefox/modules/InsecurePasswordUtils.jsm lib/firefox/modules/Keyboard.jsm lib/firefox/modules/LightweightThemeConsumer.jsm -lib/firefox/modules/LightweightThemeImageOptimizer.jsm lib/firefox/modules/LightweightThemeManager.jsm lib/firefox/modules/LoadContextInfo.jsm lib/firefox/modules/Log.jsm @@ -1973,6 +1995,7 @@ lib/firefox/modules/MessagePortWorker.js lib/firefox/modules/Metrics.jsm lib/firefox/modules/Microformats.js lib/firefox/modules/MozSocialAPI.jsm +lib/firefox/modules/NativeApp.jsm lib/firefox/modules/NetUtil.jsm lib/firefox/modules/NewTabUtils.jsm lib/firefox/modules/NotificationDB.jsm @@ -1995,12 +2018,13 @@ lib/firefox/modules/PhoneNumberNormalizer.jsm lib/firefox/modules/PhoneNumberUtils.jsm lib/firefox/modules/PlacesBackups.jsm lib/firefox/modules/PlacesDBUtils.jsm +lib/firefox/modules/PlacesTransactions.jsm lib/firefox/modules/PlacesUtils.jsm -lib/firefox/modules/PluginProvider.jsm lib/firefox/modules/PluralForm.jsm lib/firefox/modules/PopupNotifications.jsm lib/firefox/modules/Preferences.jsm lib/firefox/modules/PrivateBrowsingUtils.jsm +lib/firefox/modules/Promise-backend.js lib/firefox/modules/Promise.jsm lib/firefox/modules/PropertyListUtils.jsm lib/firefox/modules/PushService.jsm @@ -2013,6 +2037,7 @@ lib/firefox/modules/RemoteWebNavigation.jsm lib/firefox/modules/RemoteWebProgress.jsm lib/firefox/modules/ResetProfile.jsm lib/firefox/modules/SafeBrowsing.jsm +lib/firefox/modules/ScrollPosition.jsm lib/firefox/modules/SelectContentHelper.jsm lib/firefox/modules/SelectParentHelper.jsm lib/firefox/modules/Services.jsm @@ -2023,11 +2048,11 @@ lib/firefox/modules/ShortcutUtils.jsm lib/firefox/modules/Sntp.jsm lib/firefox/modules/SocialService.jsm lib/firefox/modules/SpatialNavigation.jsm -lib/firefox/modules/SpellCheckDictionaryBootstrap.js lib/firefox/modules/Sqlite.jsm lib/firefox/modules/SystemMessagePermissionsChecker.jsm lib/firefox/modules/Task.jsm lib/firefox/modules/TelemetryFile.jsm +lib/firefox/modules/TelemetryLog.jsm lib/firefox/modules/TelemetryPing.jsm lib/firefox/modules/TelemetryStopwatch.jsm lib/firefox/modules/TelemetryTimestamps.jsm @@ -2040,21 +2065,30 @@ lib/firefox/modules/UserAgentOverrides.jsm lib/firefox/modules/UserAgentUpdates.jsm lib/firefox/modules/WebappOSUtils.jsm lib/firefox/modules/Webapps.jsm -lib/firefox/modules/WebappsInstaller.jsm lib/firefox/modules/WindowDraggingUtils.jsm lib/firefox/modules/WindowsPrefSync.jsm lib/firefox/modules/WorkerAPI.jsm lib/firefox/modules/XPCOMUtils.jsm -lib/firefox/modules/XPIProvider.jsm -lib/firefox/modules/XPIProviderUtils.js +lib/firefox/modules/XPathGenerator.jsm +lib/firefox/modules/ZipUtils.jsm lib/firefox/modules/accessibility/AccessFu.jsm lib/firefox/modules/accessibility/Constants.jsm +lib/firefox/modules/accessibility/ContentControl.jsm lib/firefox/modules/accessibility/EventManager.jsm lib/firefox/modules/accessibility/OutputGenerator.jsm lib/firefox/modules/accessibility/Presentation.jsm lib/firefox/modules/accessibility/TouchAdapter.jsm lib/firefox/modules/accessibility/TraversalRules.jsm lib/firefox/modules/accessibility/Utils.jsm +lib/firefox/modules/addons/AddonLogging.jsm +lib/firefox/modules/addons/AddonRepository.jsm +lib/firefox/modules/addons/AddonRepository_SQLiteMigrator.jsm +lib/firefox/modules/addons/AddonUpdateChecker.jsm +lib/firefox/modules/addons/LightweightThemeImageOptimizer.jsm +lib/firefox/modules/addons/PluginProvider.jsm +lib/firefox/modules/addons/SpellCheckDictionaryBootstrap.js +lib/firefox/modules/addons/XPIProvider.jsm +lib/firefox/modules/addons/XPIProviderUtils.js lib/firefox/modules/commonjs/diffpatcher/History.md lib/firefox/modules/commonjs/diffpatcher/License.md lib/firefox/modules/commonjs/diffpatcher/Readme.md @@ -2146,10 +2180,12 @@ lib/firefox/modules/commonjs/sdk/keyboard/utils.js lib/firefox/modules/commonjs/sdk/l10n.js lib/firefox/modules/commonjs/sdk/l10n/core.js lib/firefox/modules/commonjs/sdk/l10n/html.js +lib/firefox/modules/commonjs/sdk/l10n/json/core.js lib/firefox/modules/commonjs/sdk/l10n/loader.js lib/firefox/modules/commonjs/sdk/l10n/locale.js lib/firefox/modules/commonjs/sdk/l10n/plural-rules.js lib/firefox/modules/commonjs/sdk/l10n/prefs.js +lib/firefox/modules/commonjs/sdk/l10n/properties/core.js lib/firefox/modules/commonjs/sdk/lang/functional.js lib/firefox/modules/commonjs/sdk/lang/type.js lib/firefox/modules/commonjs/sdk/lang/weak-set.js @@ -2192,9 +2228,16 @@ lib/firefox/modules/commonjs/sdk/simple-storage.js lib/firefox/modules/commonjs/sdk/stylesheet/style.js lib/firefox/modules/commonjs/sdk/stylesheet/utils.js lib/firefox/modules/commonjs/sdk/system.js +lib/firefox/modules/commonjs/sdk/system/child_process.js +lib/firefox/modules/commonjs/sdk/system/child_process/LICENSE +lib/firefox/modules/commonjs/sdk/system/child_process/README.md +lib/firefox/modules/commonjs/sdk/system/child_process/subprocess.js +lib/firefox/modules/commonjs/sdk/system/child_process/subprocess_worker_unix.js +lib/firefox/modules/commonjs/sdk/system/child_process/subprocess_worker_win.js lib/firefox/modules/commonjs/sdk/system/environment.js lib/firefox/modules/commonjs/sdk/system/events.js lib/firefox/modules/commonjs/sdk/system/globals.js +lib/firefox/modules/commonjs/sdk/system/process.js lib/firefox/modules/commonjs/sdk/system/runtime.js lib/firefox/modules/commonjs/sdk/system/unload.js lib/firefox/modules/commonjs/sdk/system/xul-app.js @@ -2279,6 +2322,7 @@ lib/firefox/modules/commonjs/toolkit/loader.js lib/firefox/modules/ctypes.jsm lib/firefox/modules/debug.js lib/firefox/modules/devtools/Console.jsm +lib/firefox/modules/devtools/DevToolsExtensions.jsm lib/firefox/modules/devtools/DevToolsUtils.js lib/firefox/modules/devtools/DevToolsUtils.jsm lib/firefox/modules/devtools/Devices.jsm @@ -2288,26 +2332,101 @@ lib/firefox/modules/devtools/Require.jsm lib/firefox/modules/devtools/Simulator.jsm lib/firefox/modules/devtools/SourceMap.jsm lib/firefox/modules/devtools/Templater.jsm -lib/firefox/modules/devtools/acorn.js -lib/firefox/modules/devtools/acorn_loose.js +lib/firefox/modules/devtools/acorn/acorn.js +lib/firefox/modules/devtools/acorn/acorn_loose.js +lib/firefox/modules/devtools/acorn/walk.js lib/firefox/modules/devtools/app-actor-front.js +lib/firefox/modules/devtools/async-utils.js lib/firefox/modules/devtools/client/connection-manager.js lib/firefox/modules/devtools/css-color.js lib/firefox/modules/devtools/dbg-client.jsm lib/firefox/modules/devtools/dbg-server.jsm +lib/firefox/modules/devtools/event-emitter.js lib/firefox/modules/devtools/gcli.jsm +lib/firefox/modules/devtools/gcli/api.js +lib/firefox/modules/devtools/gcli/cli.js +lib/firefox/modules/devtools/gcli/commands/clear.js +lib/firefox/modules/devtools/gcli/commands/commands.js +lib/firefox/modules/devtools/gcli/commands/connect.js +lib/firefox/modules/devtools/gcli/commands/context.js +lib/firefox/modules/devtools/gcli/commands/exec.js +lib/firefox/modules/devtools/gcli/commands/global.js +lib/firefox/modules/devtools/gcli/commands/help.js +lib/firefox/modules/devtools/gcli/commands/intro.js +lib/firefox/modules/devtools/gcli/commands/lang.js +lib/firefox/modules/devtools/gcli/commands/mocks.js +lib/firefox/modules/devtools/gcli/commands/pref.js +lib/firefox/modules/devtools/gcli/commands/preflist.js +lib/firefox/modules/devtools/gcli/commands/test.js +lib/firefox/modules/devtools/gcli/connectors/connectors.js +lib/firefox/modules/devtools/gcli/connectors/index.js +lib/firefox/modules/devtools/gcli/connectors/protocol.js +lib/firefox/modules/devtools/gcli/connectors/rdp.js +lib/firefox/modules/devtools/gcli/connectors/remoted.js +lib/firefox/modules/devtools/gcli/converters/basic.js +lib/firefox/modules/devtools/gcli/converters/converters.js +lib/firefox/modules/devtools/gcli/converters/html.js +lib/firefox/modules/devtools/gcli/converters/terminal.js +lib/firefox/modules/devtools/gcli/fields/delegate.js +lib/firefox/modules/devtools/gcli/fields/fields.js +lib/firefox/modules/devtools/gcli/fields/selection.js +lib/firefox/modules/devtools/gcli/index.js +lib/firefox/modules/devtools/gcli/languages/command.html +lib/firefox/modules/devtools/gcli/languages/command.js +lib/firefox/modules/devtools/gcli/languages/javascript.js +lib/firefox/modules/devtools/gcli/languages/languages.js +lib/firefox/modules/devtools/gcli/mozui/completer.js +lib/firefox/modules/devtools/gcli/mozui/ffdisplay.js +lib/firefox/modules/devtools/gcli/mozui/inputter.js +lib/firefox/modules/devtools/gcli/mozui/tooltip.js +lib/firefox/modules/devtools/gcli/settings.js +lib/firefox/modules/devtools/gcli/types/array.js +lib/firefox/modules/devtools/gcli/types/boolean.js +lib/firefox/modules/devtools/gcli/types/command.js +lib/firefox/modules/devtools/gcli/types/date.js +lib/firefox/modules/devtools/gcli/types/delegate.js +lib/firefox/modules/devtools/gcli/types/file.js +lib/firefox/modules/devtools/gcli/types/fileparser.js +lib/firefox/modules/devtools/gcli/types/javascript.js +lib/firefox/modules/devtools/gcli/types/node.js +lib/firefox/modules/devtools/gcli/types/number.js +lib/firefox/modules/devtools/gcli/types/resource.js +lib/firefox/modules/devtools/gcli/types/selection.js +lib/firefox/modules/devtools/gcli/types/setting.js +lib/firefox/modules/devtools/gcli/types/string.js +lib/firefox/modules/devtools/gcli/types/types.js +lib/firefox/modules/devtools/gcli/ui/focus.js +lib/firefox/modules/devtools/gcli/ui/history.js +lib/firefox/modules/devtools/gcli/ui/intro.js +lib/firefox/modules/devtools/gcli/ui/menu.css +lib/firefox/modules/devtools/gcli/ui/menu.html +lib/firefox/modules/devtools/gcli/ui/menu.js +lib/firefox/modules/devtools/gcli/ui/view.js +lib/firefox/modules/devtools/gcli/util/domtemplate.js +lib/firefox/modules/devtools/gcli/util/fileparser.js +lib/firefox/modules/devtools/gcli/util/filesystem.js +lib/firefox/modules/devtools/gcli/util/host.js +lib/firefox/modules/devtools/gcli/util/l10n.js +lib/firefox/modules/devtools/gcli/util/legacy.js +lib/firefox/modules/devtools/gcli/util/prism.js +lib/firefox/modules/devtools/gcli/util/promise.js +lib/firefox/modules/devtools/gcli/util/spell.js +lib/firefox/modules/devtools/gcli/util/util.js lib/firefox/modules/devtools/output-parser.js lib/firefox/modules/devtools/pretty-fast.js lib/firefox/modules/devtools/server/actors/childtab.js lib/firefox/modules/devtools/server/actors/device.js +lib/firefox/modules/devtools/server/actors/eventlooplag.js lib/firefox/modules/devtools/server/actors/gcli.js lib/firefox/modules/devtools/server/actors/highlighter.js lib/firefox/modules/devtools/server/actors/inspector.js lib/firefox/modules/devtools/server/actors/memory.js +lib/firefox/modules/devtools/server/actors/preference.js lib/firefox/modules/devtools/server/actors/pretty-print-worker.js lib/firefox/modules/devtools/server/actors/profiler.js lib/firefox/modules/devtools/server/actors/root.js lib/firefox/modules/devtools/server/actors/script.js +lib/firefox/modules/devtools/server/actors/storage.js lib/firefox/modules/devtools/server/actors/string.js lib/firefox/modules/devtools/server/actors/styleeditor.js lib/firefox/modules/devtools/server/actors/styles.js @@ -2325,6 +2444,7 @@ lib/firefox/modules/devtools/source-map.js lib/firefox/modules/devtools/styleinspector/css-logic.js lib/firefox/modules/devtools/toolkit/webconsole/client.js lib/firefox/modules/devtools/toolkit/webconsole/network-helper.js +lib/firefox/modules/devtools/toolkit/webconsole/network-monitor.js lib/firefox/modules/devtools/toolkit/webconsole/utils.js lib/firefox/modules/devtools/touch-events.js lib/firefox/modules/identity/FirefoxAccounts.jsm @@ -2339,11 +2459,14 @@ lib/firefox/modules/identity/Sandbox.jsm lib/firefox/modules/identity/jwcrypto.jsm lib/firefox/modules/jsdebugger.jsm lib/firefox/modules/mcc_iso3166_table.jsm +lib/firefox/modules/media/IdpProxy.jsm +lib/firefox/modules/media/PeerConnectionIdp.jsm lib/firefox/modules/nsFormAutoCompleteResult.jsm lib/firefox/modules/osfile.jsm lib/firefox/modules/osfile/_PromiseWorker.jsm lib/firefox/modules/osfile/osfile_async_front.jsm lib/firefox/modules/osfile/osfile_async_worker.js +lib/firefox/modules/osfile/osfile_native.jsm lib/firefox/modules/osfile/osfile_shared_allthreads.jsm lib/firefox/modules/osfile/osfile_shared_front.jsm lib/firefox/modules/osfile/osfile_unix_allthreads.jsm @@ -2358,7 +2481,8 @@ lib/firefox/modules/osfile/ospath_win.jsm lib/firefox/modules/reflect.jsm lib/firefox/modules/services-common/async.js lib/firefox/modules/services-common/bagheeraclient.js -lib/firefox/modules/services-common/hawk.js +lib/firefox/modules/services-common/hawkclient.js +lib/firefox/modules/services-common/hawkrequest.js lib/firefox/modules/services-common/observers.js lib/firefox/modules/services-common/rest.js lib/firefox/modules/services-common/storageservice.js @@ -2462,6 +2586,8 @@ lib/firefox/run-mozilla.sh lib/firefox/webapprt-stub lib/firefox/webapprt/chrome.manifest lib/firefox/webapprt/chrome/chrome.manifest +lib/firefox/webapprt/chrome/en-US/locale/webapprt/appstrings.properties +lib/firefox/webapprt/chrome/en-US/locale/webapprt/dom.properties lib/firefox/webapprt/chrome/en-US/locale/webapprt/getUserMediaDialog.dtd lib/firefox/webapprt/chrome/en-US/locale/webapprt/webapp.dtd lib/firefox/webapprt/chrome/en-US/locale/webapprt/webapp.properties @@ -2482,8 +2608,8 @@ lib/firefox/webapprt/defaults/preferences/prefs.js lib/firefox/webapprt/modules/RemoteDebugger.jsm lib/firefox/webapprt/modules/Startup.jsm lib/firefox/webapprt/modules/WebRTCHandler.jsm +lib/firefox/webapprt/modules/WebappManager.jsm lib/firefox/webapprt/modules/WebappRT.jsm -lib/firefox/webapprt/modules/WebappsHandler.jsm lib/firefox/webapprt/webapprt.ini share/applications/firefox.desktop share/pixmaps/firefox.png diff --git a/www/firefox/distinfo b/www/firefox/distinfo index 55665dff8b2..fe41fb030c4 100644 --- a/www/firefox/distinfo +++ b/www/firefox/distinfo @@ -1,13 +1,13 @@ -$NetBSD: distinfo,v 1.153 2014/06/06 01:05:50 pho Exp $ +$NetBSD: distinfo,v 1.154 2014/06/11 00:40:59 ryoon Exp $ -SHA1 (firefox-29.0.1.source.tar.bz2) = 2819ef63403de2bcfff5496bd21a3b8cb5dfce82 -RMD160 (firefox-29.0.1.source.tar.bz2) = f728179a12a46824971ca01cf79eb0318e4775c5 -Size (firefox-29.0.1.source.tar.bz2) = 142735471 bytes -SHA1 (patch-aa) = f40e910e402015c6720eb227bdb2226067aa037d +SHA1 (firefox-30.0.source.tar.bz2) = 21dce1a2d4b8085c5f7f66b5f4f60bc37598285d +RMD160 (firefox-30.0.source.tar.bz2) = a1fce7102f9dde33c6db7869ebe600d028998875 +Size (firefox-30.0.source.tar.bz2) = 143171952 bytes +SHA1 (patch-aa) = b3441219b4d4b34a8ac09be824b89c9b61684823 SHA1 (patch-ak) = 971ddb1f12b14bcee604c9d7e72da5e7bf47d9be SHA1 (patch-al) = cca5df21d018bb9f428ad26d00718f33afe88ec5 SHA1 (patch-ao) = ca7e6723a10b9f6e3306cd12557e1856727edee9 -SHA1 (patch-as) = fd8d7ad61f5557693af96bb5fe9439f8cdb347db +SHA1 (patch-as) = c197e5bf9ef2f325add320f59c81525b1162a2d3 SHA1 (patch-bf) = 75c971043e9f693203d6bd670b2c20c4952a7756 SHA1 (patch-bg) = d6c02294765265d9e85cf49c22320d88573c2e25 SHA1 (patch-bi) = 3dd927d93431afe000cd4a45b4d9920e63158a85 @@ -23,48 +23,35 @@ SHA1 (patch-build_gyp.mozbuild) = 2842da0783d344dd12e86adde447f7cda6191518 SHA1 (patch-build_pgo_profileserver.py) = 8666187258e47c037f2065a19a5b38946fdc0f6c SHA1 (patch-config_Makefile.in) = 296bd3bc33346cfcfa658fe641c2ee2ac67549f1 SHA1 (patch-config_baseconfig.mk) = 07c295fbfbaeb969b336def32d8924729e332075 -SHA1 (patch-config_external_moz.build) = 03b9351b72938b5a339bd923e6e945a87afbdcbd +SHA1 (patch-config_external_moz.build) = f437c4802de266caf512dc470879c8ed0961559b SHA1 (patch-config_stl__wrappers_ios) = 00d723e2f2f252485350ede5833f0bb84c1235c1 SHA1 (patch-config_stl__wrappers_ostream) = 7be7fe36704ffbdc070a113b46b4f391a598206b -SHA1 (patch-config_system-headers) = e6d68f60e24a29fd72c7d40c3001cabd5ea17361 +SHA1 (patch-config_system-headers) = a582df0242d4347a03e3aa3ca0463bf0e710e654 SHA1 (patch-config_system__wrappers_unwind.h) = b3bdac0710179b9c8f8eabd824216d0114504491 -SHA1 (patch-content_base_src_Makefile.in) = 44016467828b787343444ba62c12637988e0f903 +SHA1 (patch-content_base_src_moz.build) = fc2660dcc82f11c89d6d5a5772f27c9827f58f44 SHA1 (patch-content_media_AudioStream.cpp) = 70021dfd1cc86e8999f144b49a23bfb27dd24157 -SHA1 (patch-content_media_AudioStream.h) = 905a0ff67c131fbf50670b5836bff84f1284d0c4 -SHA1 (patch-content_media_Makefile.in) = 7aaac3bac94c9463ca324e05ebab4b9858f46fc5 -SHA1 (patch-content_media_gstreamer_GStreamerAllocator.cpp) = ad6921fc0481a59be7988e4f03099412c1c5a4ff -SHA1 (patch-content_media_gstreamer_GStreamerAllocator.h) = c2dd30332b3a13aea81d0e60ae2da535973cdc57 -SHA1 (patch-content_media_gstreamer_GStreamerFormatHelper.cpp) = 5728aad1f00f8600dd5c512c727640883c2bf225 -SHA1 (patch-content_media_gstreamer_GStreamerFunctionList.h) = 50ee48661c4491e45385c7b16da0e6012a22519d -SHA1 (patch-content_media_gstreamer_GStreamerLoader.cpp) = a86bc37efb7012a9a360dd41b9f84d87c783bdda -SHA1 (patch-content_media_gstreamer_GStreamerLoader.h) = 0458ab4ecab7f76133c31af2ed952e0eeff71164 -SHA1 (patch-content_media_gstreamer_GStreamerReader-0.10.cpp) = c6d97000395bbf16187c6f2d985f51edda1aab9f -SHA1 (patch-content_media_gstreamer_GStreamerReader.cpp) = 99fd1f24ed5f3f350fdbc39d56694fa77039a2d3 -SHA1 (patch-content_media_gstreamer_GStreamerReader.h) = 118f83ebdec7bcda4f0ced8064a9b3c6cad78172 -SHA1 (patch-content_media_gstreamer_moz.build) = c38bd0d432577b55429ae5466b1b02c7b6fd1901 -SHA1 (patch-content_media_test_manifest.js) = 5b98d9eb16f898211fc0e30d821303bf72e8aaeb +SHA1 (patch-content_media_AudioStream.h) = ab3f68071f8ee891ccda6c2653f936582b1af58a +SHA1 (patch-content_media_Makefile.in) = 54c8c5e41eb36bae0ce544360ded9f75ba3acc13 +SHA1 (patch-content_media_gstreamer_GStreamerAllocator.cpp) = 524a669e411189926e142912b6d94d3d8dbdb0eb SHA1 (patch-dom_plugins_ipc_PluginModuleChild.cpp) = 69b0a51d733cd52e7d200052362e0faf4ec918f1 SHA1 (patch-dom_plugins_ipc_PluginModuleChild.h) = 0a7f3167e939822013ae6195406657453578453e SHA1 (patch-dom_plugins_ipc_PluginProcessChild.cpp) = 5ab28cc0398b72cb5e1b0586406845495b9f87e4 -SHA1 (patch-dom_system_OSFileConstants.cpp) = e7f984ae16794f88816b99b1c58bac112689460c +SHA1 (patch-dom_system_OSFileConstants.cpp) = fec01c3c2c1b7e1c57abe9ec269067ee98eede3d SHA1 (patch-extensions_spellcheck_hunspell_src_mozHunspell.cpp) = a2a0652d0eac018fda06e729bf5ba786dd8a3866 -SHA1 (patch-gfx__skia__include__core__SkPreConfig.h) = 6f99cf0eb5d4617d529c378707f537bc1e5cb28f SHA1 (patch-gfx_graphite2_src_Bidi.cpp) = 5e80b4a32a47ae44d237fec69ea87bdd612a76ce SHA1 (patch-gfx_moz.build) = a98bda4727538f4a0f09a20b84f9dd883edaf7d9 -SHA1 (patch-gfx_skia_Makefile.in) = df1592fcab275a13e7015c9d73283f4326898186 -SHA1 (patch-gfx_skia_moz.build) = 1eb1b2c8948f7faaab267cace79f179fb258523c -SHA1 (patch-gfx_skia_src_utils_SkThreadUtils__pthread__linux.cpp) = 19342e66383e224b34f98c9d58ad05d4041dd9f4 +SHA1 (patch-gfx_skia_Makefile.in) = 03349db0ff9b14c2012c36d746adf2ee6cb87e62 SHA1 (patch-gfx_thebes_Makefile.in) = 16b63bc42870aa8c042416c6e04b3513981ca6f0 SHA1 (patch-image_decoders_nsJPEGDecoder.cpp) = e5df11499b1ec14e1d4c9a1408c0611d1c4e0574 SHA1 (patch-intl_hyphenation_src_hnjalloc.h) = 7fcc7b0fcf5a33486214197e925fbc8e6e22e2ee SHA1 (patch-intl_unicharutil_util_Makefile.in) = c8f37cc420ba26b63c66fbbf69b13a8b4fea43fc -SHA1 (patch-ipc_chromium_Makefile.in) = 3a1f5b218217fc8e5e9a07195054618071c38059 +SHA1 (patch-ipc_chromium_Makefile.in) = edd85b79cd3879f7595b932442bb0e93505d5506 SHA1 (patch-ipc_chromium_moz.build) = de12255865e45cfdf0f7dc57ce101be75ac8ad54 SHA1 (patch-ipc_chromium_src_base_base__paths.h) = 7bc83577a9678542db4dff7dda19d751ff6d78c1 SHA1 (patch-ipc_chromium_src_base_debug__util__posix.cc) = 677f0b5ccdcde7a8551f2d07d2a472361a5da03f SHA1 (patch-ipc_chromium_src_base_file__util.h) = 9d6d074b1692c6b4e722bfac8d67c66040a6fa76 SHA1 (patch-ipc_chromium_src_base_file__util__posix.cc) = 18096b89ac3f239a0eb7c1d9c5080c1ac2c73e1b -SHA1 (patch-ipc_chromium_src_base_message__loop.cc) = 8be8d93843e28a828b5f221ab1b59929ee5740ba +SHA1 (patch-ipc_chromium_src_base_message__loop.cc) = 16158489773bbcba35e224d30bebace0c93599ae SHA1 (patch-ipc_chromium_src_base_message__pump__libevent.cc) = 12f3e063cf3fef23f0e3e0fdba5d5a4c1fc32af3 SHA1 (patch-ipc_chromium_src_base_platform__thread.h) = e6d7ac39a8b2a1b232638f7671e8530acfed0b97 SHA1 (patch-ipc_chromium_src_base_platform__thread__posix.cc) = ff1371ffb84abf2d2adcf25e66502943992d5109 @@ -76,7 +63,7 @@ SHA1 (patch-ipc_chromium_src_base_sys__info__posix.cc) = 27890c56194e483fc0758ed SHA1 (patch-ipc_chromium_src_base_time__posix.cc) = 337a0b4a5d51d68c7699b79c7591b953ea23ca67 SHA1 (patch-ipc_chromium_src_build_build__config.h) = af5a10df7d8fe9715f0e43cd6be14f8f20c53517 SHA1 (patch-ipc_chromium_src_chrome_common_transport__dib.h) = 7af18973c005d7b144a225bacf41833e059cb400 -SHA1 (patch-ipc_glue_GeckoChildProcessHost.cpp) = 50373a1c428bd1ca38e80ce9c2e48fe6562a0924 +SHA1 (patch-ipc_glue_GeckoChildProcessHost.cpp) = 9a158075e31e2c8d6159bd4b97d0b272e193f3db SHA1 (patch-ipc_glue_ScopedXREEmbed.cpp) = 97c39f25527dac4c22b38ce446ca2cd4cef08fd0 SHA1 (patch-ipc_glue_StringUtil.cpp) = f238adebb5bdf57f7109a781c6f3fb195763f3c0 SHA1 (patch-js__src__vm__SPSProfiler.cpp) = 989ba25e4c5308d21d07baa802decce13609a475 @@ -85,8 +72,11 @@ SHA1 (patch-js_src_ctypes_CTypes.h) = 768a084239f92a424c1c7dc9eaaf9be9456ca9f0 SHA1 (patch-js_src_frontend_ParseMaps.cpp) = c00117d79b78904bc50a1d664a8fc0e4e339bfbc SHA1 (patch-js_src_gc_Memory.cpp) = 3db31553ec6f7b1fac4fd4ce11b77be1ea4208b8 SHA1 (patch-js_src_jsmath.cpp) = 7d4993ae91e9b5e6820358165603819aefb586f9 +SHA1 (patch-layout_base_nsCSSRendering.cpp) = 908475d745c295acbcb2da06571155d9e30e4c0f +SHA1 (patch-layout_style_crashtests_border-image-visited-link.html) = 97d8f79d6afa0da52d8040f81299497a13b09ad9 +SHA1 (patch-layout_style_crashtests_crashtests.list) = 04561a561632996b3a5eb4516855483a9c46ef7b SHA1 (patch-mb) = b661abce429a88554fca6c930b4dbf71ba6bb5cb -SHA1 (patch-media_libcubeb_src_Makefile.in) = 671fff09dedc1aa7aea251b4856c12d78b19b23b +SHA1 (patch-media_libcubeb_src_Makefile.in) = fe880774789b0be54dec6fd83b89457fc8c2cabc SHA1 (patch-media_libcubeb_src_cubeb__alsa.c) = 5ef0de0ac875334e959ff0d4bfa43a2e5ab087b9 SHA1 (patch-media_libcubeb_src_moz.build) = 822833bc0fd60cd4936550dc43af3294ebac40cd SHA1 (patch-media_libpng_pngpriv.h) = c9cefd1b5dd85fbd0c875c3f9bc108975398fe3a @@ -100,8 +90,8 @@ SHA1 (patch-media_webrtc_signaling_signaling.gyp) = 91d5fcc2409b1398c84dedc96971 SHA1 (patch-media_webrtc_signaling_test_Makefile.in) = 509e07cba9aeca256ef28674862ce81bac7253bd SHA1 (patch-media_webrtc_trunk_webrtc_build_common.gypi) = 4ff5796e15d9aa6adb8495d6f2e5a7f0445a0fac SHA1 (patch-media_webrtc_trunk_webrtc_modules_audio__coding_codecs_opus_opus.gypi) = ae0fcc32f7d146d2a494b42a58a9fcbb73c2a74c -SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc) = 9e555f0bafccfdc3d645bb51c036de32f61cf866 -SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc) = 71ecd6dc95134f86a7a823a1b186b1136ebd51c9 +SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc) = 9ff1dcf200feaf67bf576f07beb612e0ec91d7d1 +SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc) = ffc1d956e826a0005b76285596ba24a2f4a3806c SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi) = 4721f01a89ef353c9b743b3cfefda4877d5283d9 SHA1 (patch-media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp) = 78a9522f0e37cfc3ec8267e6c15de9dba0ec7ff3 SHA1 (patch-memory_jemalloc_Makefile.in) = 772e996c8da254f952d0f3a0c9325a177c838543 @@ -109,23 +99,16 @@ SHA1 (patch-memory_mozalloc_mozalloc__abort.cpp) = 9d9036ddd28c7b8ce37860e0120df SHA1 (patch-mfbt_Poison.cpp) = b582943c02f57835451c9eecd004c9912d42ce84 SHA1 (patch-modules_libjar_nsZipArchive.cpp) = 6aff0f8ed42575d8ca36a524e12e9a1f7351004a SHA1 (patch-netwerk_dns_Makefile.in) = b6bd9814d909dd6f7cff10dbeac3bedd79c2508e -SHA1 (patch-netwerk_sctp_src_netinet6_sctp6__usrreq.c) = 31d49db31b1e130f1b455f883e5b7c606d438771 -SHA1 (patch-netwerk_sctp_src_netinet_sctp__os__userspace.h) = b3f94ac0f2bd652371fef22c642b14bf30162998 -SHA1 (patch-netwerk_sctp_src_netinet_sctp__usrreq.c) = 421b6e071a9934567ccba337033a42208e6e4bd5 -SHA1 (patch-netwerk_sctp_src_user__recv__thread.c) = cf26945441f74c581aeb5a8d7435780f4a48a607 -SHA1 (patch-netwerk_sctp_src_user__socket.c) = c0b32ed2888b5845ce2b7646b85af8f0728bc7c3 -SHA1 (patch-netwerk_sctp_src_user__socketvar.h) = 1b6e2864916ced693b1ab6c1bbdd80a4ffc4f7e4 SHA1 (patch-netwerk_wifi_moz.build) = 8c88e5bab2a5e164e97ce568686bd280d4b90bec SHA1 (patch-netwerk_wifi_nsWifiScannerFreeBSD.cpp) = c5711adc111dc8413a7234e7d5814a0af9ceeecc SHA1 (patch-pb) = 97c9b2e4cefd524dc6ba825f71c3da2a761aa1f4 SHA1 (patch-pc) = 8b2baa88f0983a2fef4f801cf6b1ae425f6c813a SHA1 (patch-rc) = 2733724442a2cb49c5091146fd7e6001af686121 SHA1 (patch-security_manager_ssl_src_nsNSSComponent.cpp) = c4c96b7d3cb0c5dbcfe3820fd52421eec2592452 -SHA1 (patch-toolkit_components_osfile_modules_osfile__unix__allthreads.jsm) = 12f5722de5d59f06236cad3d188c9503387805c1 -SHA1 (patch-toolkit_components_osfile_modules_osfile__unix__back.jsm) = 274b06bd4bfea5b6d7d67c0d39a484d179ed560c +SHA1 (patch-toolkit_components_osfile_modules_osfile__unix__back.jsm) = 6b926ccd793391ad7bd7101635f4b3eefe3db130 +SHA1 (patch-toolkit_components_osfile_modules_osfile__unix__front.jsm) = 78f89457f5ddc958dec607a53800ae8367b94b0c SHA1 (patch-toolkit_library_Makefile.in) = fbbd166267a23d840babb0896c24a57e62708c7f SHA1 (patch-toolkit_toolkit.mozbuild) = 0993d50cc02c2b421e6de087dfb0a9cb30562c6b -SHA1 (patch-toolkit_xre_nsAppRunner.cpp) = 20fffba2ca4067cdcdd81df2ea5fa3a92945c4bc SHA1 (patch-toolkit_xre_nsEmbedFunctions.cpp) = 6ee6fba04a3ecc6596f8aed67f752a1075901fa8 SHA1 (patch-webapprt_moz.build) = cb3d92bc8ada1e2b49877cf7bbe6fbc32278230a SHA1 (patch-xb) = 30eea880b40cee45d1235d3292fead4b5a54bbaa @@ -135,12 +118,14 @@ SHA1 (patch-xf) = 1720ae5cf3cf0df6f2e9519c83a332585bdd67bf SHA1 (patch-xg) = b80e660e85b06e4f71146bd41bd4bc0d2e3b6488 SHA1 (patch-xl) = 9555b86c72b2e144e341d6af1dbfbc07cc8c94db SHA1 (patch-xm) = 81e02e410c00175cbb98c646dda90c7adf199657 -SHA1 (patch-xpcom_base_nsStackWalk.cpp) = 087c1bcdeb9a418a5a7ce10ed5790df3bb3d0fb1 -SHA1 (patch-xpcom_base_nscore.h) = b1a190d8ef4478b882daeceda51584f947555a28 -SHA1 (patch-xpcom_build_PoisonIOInterposer.h) = a3bed2bdabab83a4514bc52908a727442c4a7eaf +SHA1 (patch-xpcom_base_nsDebugImpl.cpp) = dfeb14b000ba435170a17bab98fdf07335f4ef71 +SHA1 (patch-xpcom_base_nsStackWalk.cpp) = fa62f11a97f909ce1c5cea60cf6e58a6071490a5 +SHA1 (patch-xpcom_base_nsUUIDGenerator.cpp) = a170286ef39e44111d3bbfee98515447267dbfad +SHA1 (patch-xpcom_base_nsUUIDGenerator.h) = 62e334685fcefc3d1c708e1436c7bf2a40d87ab7 +SHA1 (patch-xpcom_base_nscore.h) = f4fe66cc9e714a2101a4d1287359d1c300574438 +SHA1 (patch-xpcom_build_PoisonIOInterposer.h) = fdb961a615e5c66a1d0a3c724cf124a2b47f2ed6 +SHA1 (patch-xpcom_build_nsXPComInit.cpp) = 727fd1ce934f129de5fcc5e6059d3cb8c30b1e17 SHA1 (patch-xpcom_ds_TimeStamp.h) = a1fb060f91720eb330f102b28d9373bbdbe96e30 -SHA1 (patch-xpcom_glue_standalone_nsXPCOMGlue.cpp) = 033ca3f1e35658ca81161e18e6ddc2048ce20b1f -SHA1 (patch-xpcom_io_nsLocalFileUnix.cpp) = 3de3345eb98ffe78628d5bac672ce4ab5806270e SHA1 (patch-xpcom_reflect_xptcall_src_md_unix_moz.build) = 954b60998c5621b896fae372fe067df693574ea4 SHA1 (patch-xpcom_reflect_xptcall_src_md_unix_xptcinvoke__asm__mips.S) = b2b81fcdf6591089fcc5de4c8f820e96c0a50256 SHA1 (patch-xpcom_reflect_xptcall_src_md_unix_xptcinvoke__gcc__x86__unix.cpp) = 8cd42915cd32756b55894a773a1e6d7c012b4467 diff --git a/www/firefox/mozilla-common.mk b/www/firefox/mozilla-common.mk index ea7c64d2b06..fb813b88769 100644 --- a/www/firefox/mozilla-common.mk +++ b/www/firefox/mozilla-common.mk @@ -1,4 +1,4 @@ -# $NetBSD: mozilla-common.mk,v 1.36 2014/05/30 03:03:36 pho Exp $ +# $NetBSD: mozilla-common.mk,v 1.37 2014/06/11 00:40:59 ryoon Exp $ # # common Makefile fragment for mozilla packages based on gecko 2.0. # @@ -84,7 +84,8 @@ CONFIGURE_ARGS+= --enable-canvas CONFIGURE_ARGS+= --disable-installer CONFIGURE_ARGS+= --enable-url-classifier #CONFIGURE_ARGS+= --enable-startup-notification -CONFIGURE_ARGS+= --enable-shared-js +# Disabled from https://bugzilla.mozilla.org/show_bug.cgi?id=977400 +#CONFIGURE_ARGS+= --enable-shared-js CONFIGURE_ARGS+= --with-system-ply CONFIGURE_ARGS+= --disable-icf CONFIGURE_ARGS+= --disable-necko-wifi @@ -197,13 +198,13 @@ PLIST_SUBST+= DLL_SUFFIX=".so" #.include "../../audio/libopus/buildlink3.mk" #.include "../../audio/tremor/buildlink3.mk" #.include "../../audio/libvorbis/buildlink3.mk" -BUILDLINK_API_DEPENDS.sqlite3+= sqlite3>=3.8.2 +BUILDLINK_API_DEPENDS.sqlite3+= sqlite3>=3.8.3.1 CONFIGURE_ENV+= ac_cv_sqlite_secure_delete=yes # c.f. patches/patch-al .include "../../databases/sqlite3/buildlink3.mk" BUILDLINK_API_DEPENDS.libevent+= libevent>=1.1 .include "../../devel/libevent/buildlink3.mk" .include "../../devel/libffi/buildlink3.mk" -BUILDLINK_API_DEPENDS.nspr+= nspr>=4.10.3 +BUILDLINK_API_DEPENDS.nspr+= nspr>=4.10.6 .include "../../devel/nspr/buildlink3.mk" .include "../../textproc/icu/buildlink3.mk" BUILDLINK_API_DEPENDS.nss+= nss>=3.16 diff --git a/www/firefox/patches/patch-aa b/www/firefox/patches/patch-aa index b2640300794..c4432c23e61 100644 --- a/www/firefox/patches/patch-aa +++ b/www/firefox/patches/patch-aa @@ -1,4 +1,4 @@ -$NetBSD: patch-aa,v 1.27 2014/05/30 10:22:05 pho Exp $ +$NetBSD: patch-aa,v 1.28 2014/06/11 00:40:59 ryoon Exp $ * The profiler does not support Darwin/PPC so don't try to enable it on that platform. @@ -13,9 +13,9 @@ $NetBSD: patch-aa,v 1.27 2014/05/30 10:22:05 pho Exp $ heavy patching. Ideally they should be fixed individually but that will be an extremely hard work, so don't define XP_MACOSX for now. ---- configure.in.orig 2014-05-06 22:55:16.000000000 +0000 +--- configure.in.orig 2014-05-29 23:30:30.000000000 +0000 +++ configure.in -@@ -1613,7 +1613,13 @@ Linux) +@@ -1673,7 +1673,13 @@ Linux) MOZ_ENABLE_PROFILER_SPS= esac ;; @@ -30,7 +30,7 @@ $NetBSD: patch-aa,v 1.27 2014/05/30 10:22:05 pho Exp $ *) MOZ_ENABLE_PROFILER_SPS= ;; -@@ -1717,7 +1723,7 @@ case "$host" in +@@ -1777,7 +1783,7 @@ case "$host" in ;; *-darwin*) @@ -39,7 +39,7 @@ $NetBSD: patch-aa,v 1.27 2014/05/30 10:22:05 pho Exp $ HOST_NSPR_MDCPUCFG='\"md/_darwin.cfg\"' HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}" ;; -@@ -1857,7 +1863,6 @@ case "$target" in +@@ -1909,7 +1915,6 @@ case "$target" in AC_DEFINE(XP_DARWIN) _PLATFORM_DEFAULT_TOOLKIT='cairo-uikit' else @@ -47,7 +47,7 @@ $NetBSD: patch-aa,v 1.27 2014/05/30 10:22:05 pho Exp $ AC_DEFINE(XP_DARWIN) _PLATFORM_DEFAULT_TOOLKIT='cairo-cocoa' # The ExceptionHandling framework is needed for Objective-C exception -@@ -2534,118 +2539,15 @@ MOZ_CXX11 +@@ -2514,118 +2519,15 @@ MOZ_CXX11 AC_LANG_C @@ -173,7 +173,16 @@ $NetBSD: patch-aa,v 1.27 2014/05/30 10:22:05 pho Exp $ fi # GNU_CC # visibility hidden flag for Sun Studio on Solaris -@@ -3711,6 +3613,14 @@ if test -n "$YASM"; then +@@ -2996,7 +2898,7 @@ dnl Checks for library functions. + dnl ======================================================== + AC_PROG_GCC_TRADITIONAL + AC_FUNC_MEMCMP +-AC_CHECK_FUNCS(stat64 lstat64 truncate64 statvfs64 statvfs statfs64 statfs getpagesize localtime_r) ++AC_CHECK_FUNCS(stat64 lstat64 truncate64 statvfs64 statvfs statfs64 statfs getpagesize localtime_r arc4random arc4random_buf) + + dnl check for clock_gettime(), the CLOCK_MONOTONIC clock + AC_CACHE_CHECK(for clock_gettime(CLOCK_MONOTONIC), +@@ -3683,6 +3585,14 @@ if test -n "$YASM"; then _YASM_BUILD=` echo ${YASM_VERSION} | $AWK -F\. '{ print $4 }'` fi @@ -188,7 +197,7 @@ $NetBSD: patch-aa,v 1.27 2014/05/30 10:22:05 pho Exp $ if test -z "$SKIP_LIBRARY_CHECKS"; then dnl system JPEG support dnl ======================================================== -@@ -3738,11 +3648,7 @@ if test "$MOZ_NATIVE_JPEG" = 1; then +@@ -3710,11 +3620,7 @@ if test "$MOZ_NATIVE_JPEG" = 1; then #include <jpeglib.h> ], [ #if JPEG_LIB_VERSION < $MOZJPEG #error "Insufficient JPEG library version ($MOZJPEG required)." @@ -201,38 +210,7 @@ $NetBSD: patch-aa,v 1.27 2014/05/30 10:22:05 pho Exp $ MOZ_NATIVE_JPEG=1, AC_MSG_ERROR([Insufficient JPEG library version for --with-system-jpeg])) fi -@@ -3940,6 +3846,22 @@ fi - AC_SUBST(MOZ_NATIVE_ICU) - - dnl ======================================================== -+dnl system icu support -+dnl ======================================================== -+MOZ_NATIVE_ICU= -+MOZ_ARG_WITH_BOOL(system-icu, -+[ --with-system-icu -+ Use system icu (located with pkgconfig)], -+ MOZ_NATIVE_ICU=1) -+ -+if test -n "$MOZ_NATIVE_ICU"; then -+ PKG_CHECK_MODULES(MOZ_ICU, icu-i18n >= 50.1) -+ MOZ_JS_STATIC_LIBS="$MOZ_JS_STATIC_LIBS $MOZ_ICU_LIBS" -+fi -+ -+AC_SUBST(MOZ_NATIVE_ICU) -+ -+dnl ======================================================== - dnl Java SDK support - dnl ======================================================== - -@@ -3974,6 +3896,7 @@ MOZ_SAMPLE_TYPE_FLOAT32= - MOZ_SAMPLE_TYPE_S16= - MOZ_OPUS=1 - MOZ_WEBM=1 -+MOZ_GSTREAMER= - MOZ_DIRECTSHOW= - MOZ_WMF= - MOZ_FMP4= -@@ -4433,6 +4356,10 @@ cairo-gonk) +@@ -4378,6 +4284,10 @@ cairo-gonk) esac @@ -243,7 +221,7 @@ $NetBSD: patch-aa,v 1.27 2014/05/30 10:22:05 pho Exp $ AC_SUBST(MOZ_PDF_PRINTING) if test "$MOZ_PDF_PRINTING"; then PDF_SURFACE_FEATURE="#define CAIRO_HAS_PDF_SURFACE 1" -@@ -5135,6 +5062,9 @@ if test -n "$MOZ_WEBRTC"; then +@@ -5098,6 +5008,9 @@ if test -n "$MOZ_WEBRTC"; then MOZ_VPX=1 MOZ_VPX_ERROR_CONCEALMENT=1 @@ -253,7 +231,7 @@ $NetBSD: patch-aa,v 1.27 2014/05/30 10:22:05 pho Exp $ dnl enable once Signaling lands MOZ_WEBRTC_SIGNALING=1 AC_DEFINE(MOZ_WEBRTC_SIGNALING) -@@ -5157,15 +5087,18 @@ AC_SUBST(MOZ_SRTP) +@@ -5122,15 +5035,18 @@ AC_SUBST(MOZ_SRTP) dnl Use integers over floats for audio on B2G and Android, because audio dnl backends for those platforms don't support floats. @@ -275,7 +253,7 @@ $NetBSD: patch-aa,v 1.27 2014/05/30 10:22:05 pho Exp $ dnl ======================================================== dnl = Disable Speech API code -@@ -5229,6 +5162,57 @@ if test -n "$MOZ_OGG"; then +@@ -5182,6 +5098,114 @@ if test "${ac_cv_c_attribute_aligned}" ! fi dnl ======================================================== @@ -289,6 +267,63 @@ $NetBSD: patch-aa,v 1.27 2014/05/30 10:22:05 pho Exp $ + +if test -n "$MOZ_NATIVE_OGG"; then + PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.2.1) ++ ++ _SAVE_LIBS=$LIBS ++ LIBS="$LIBS $MOZ_OGG_LIBS" ++ AC_CHECK_FUNC(ogg_set_mem_functions, [], ++ [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)]) ++ LIBS=$_SAVE_LIBS ++fi ++ ++AC_SUBST(MOZ_NATIVE_OGG) ++AC_SUBST(MOZ_OGG_CFLAGS) ++AC_SUBST(MOZ_OGG_LIBS) ++ ++dnl ======================================================== ++dnl Check for libvorbis ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-vorbis, ++[ --with-system-vorbis Use system libvorbis (located with pkgconfig)], ++MOZ_NATIVE_VORBIS=1, ++MOZ_NATIVE_VORBIS=) ++ ++if test -n "$MOZ_NATIVE_VORBIS"; then ++ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.4) ++fi ++ ++AC_SUBST(MOZ_NATIVE_VORBIS) ++AC_SUBST(MOZ_VORBIS_CFLAGS) ++AC_SUBST(MOZ_VORBIS_LIBS) ++ ++dnl ======================================================== ++dnl Check for integer-only libvorbis aka tremor ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-tremor, ++[ --with-system-tremor Use system libtremor (located with pkgconfig)], ++MOZ_NATIVE_TREMOR=1, ++MOZ_NATIVE_TREMOR=) ++ ++if test -n "$MOZ_NATIVE_TREMOR"; then ++ PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1) ++fi ++ ++AC_SUBST(MOZ_NATIVE_TREMOR) ++AC_SUBST(MOZ_TREMOR_CFLAGS) ++AC_SUBST(MOZ_TREMOR_LIBS) ++ ++dnl ======================================================== ++dnl Check for libogg ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-ogg, ++[ --with-system-ogg Use system libogg (located with pkgconfig)], ++MOZ_NATIVE_OGG=1, ++MOZ_NATIVE_OGG=) ++ ++if test -n "$MOZ_NATIVE_OGG"; then ++ PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.2.1) +fi + +AC_SUBST(MOZ_NATIVE_OGG) @@ -333,7 +368,7 @@ $NetBSD: patch-aa,v 1.27 2014/05/30 10:22:05 pho Exp $ dnl = Disable Opus audio codec support dnl ======================================================== MOZ_ARG_DISABLE_BOOL(opus, -@@ -5237,6 +5221,76 @@ MOZ_ARG_DISABLE_BOOL(opus, +@@ -5190,6 +5214,97 @@ MOZ_ARG_DISABLE_BOOL(opus, MOZ_OPUS=1) dnl ======================================================== @@ -400,6 +435,27 @@ $NetBSD: patch-aa,v 1.27 2014/05/30 10:22:05 pho Exp $ + +if test -n "$MOZ_NATIVE_SOUNDTOUCH"; then + PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.7.0) ++ ++ AC_LANG_SAVE ++ AC_LANG_CPLUSPLUS ++ _SAVE_CXXFLAGS=$CXXFLAGS ++ CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS" ++ AC_CACHE_CHECK(for soundtouch sample type, ++ ac_cv_soundtouch_sample_type, ++ [AC_TRY_COMPILE([#include <SoundTouch.h> ++ #ifndef SOUNDTOUCH_INTEGER_SAMPLES ++ #error soundtouch expects float samples ++ #endif], ++ [], ++ [ac_cv_soundtouch_sample_type=short], ++ [ac_cv_soundtouch_sample_type=float])]) ++ CXXFLAGS=$_SAVE_CXXFLAGS ++ AC_LANG_RESTORE ++ ++ if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \ ++ -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then ++ AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove --with-system-soundtouch.]) ++ fi +fi + +AC_SUBST(MOZ_NATIVE_SOUNDTOUCH) @@ -410,93 +466,7 @@ $NetBSD: patch-aa,v 1.27 2014/05/30 10:22:05 pho Exp $ dnl = Disable VP8 decoder support dnl ======================================================== MOZ_ARG_DISABLE_BOOL(webm, -@@ -5615,44 +5669,61 @@ WINNT|Darwin|Android) - ;; - *) - MOZ_GSTREAMER=1 -+ GST_API_VERSION=0.10 - ;; - esac - --MOZ_ARG_ENABLE_BOOL(gstreamer, --[ --enable-gstreamer Enable GStreamer support], --MOZ_GSTREAMER=1, --MOZ_GSTREAMER=) -- --if test "$MOZ_GSTREAMER"; then -- # API version, eg 0.10, 1.0 etc -+MOZ_ARG_ENABLE_STRING(gstreamer, -+[ --enable-gstreamer[=0.10] Enable GStreamer support], -+[ MOZ_GSTREAMER=1 -+ # API version, eg 0.10, 1.0 etc -+ if test -z "$enableval" -o "$enableval" = "yes"; then - GST_API_VERSION=0.10 -+ elif test "$enableval" = "no"; then -+ MOZ_GSTREAMER= -+ else -+ GST_API_VERSION=$enableval -+ fi], -+) -+ -+if test -n "$MOZ_GSTREAMER"; then - # core/base release number -- GST_VERSION=0.10.25 -+ if test "$GST_API_VERSION" = "1.0"; then -+ GST_VERSION=1.0 -+ else -+ GST_VERSION=0.10.25 -+ fi -+ - PKG_CHECK_MODULES(GSTREAMER, - gstreamer-$GST_API_VERSION >= $GST_VERSION - gstreamer-app-$GST_API_VERSION -- gstreamer-plugins-base-$GST_API_VERSION, , -- AC_MSG_ERROR([gstreamer and gstreamer-plugins-base development packages are needed to build gstreamer backend. Install them or disable gstreamer support with --disable-gstreamer])) -- if test -n "$GSTREAMER_LIBS"; then -- _SAVE_LDFLAGS=$LDFLAGS -- LDFLAGS="$LDFLAGS $GSTREAMER_LIBS -lgstvideo-$GST_API_VERSION" -- AC_TRY_LINK(,[return 0;],_HAVE_LIBGSTVIDEO=1,_HAVE_LIBGSTVIDEO=) -- if test -n "$_HAVE_LIBGSTVIDEO" ; then -- GSTREAMER_LIBS="$GSTREAMER_LIBS -lgstvideo-$GST_API_VERSION" -- else -- AC_MSG_ERROR([gstreamer-plugins-base found, but no libgstvideo. Something has gone terribly wrong. Try reinstalling gstreamer-plugins-base; failing that, disable the gstreamer backend with --disable-gstreamer.]) -- fi -- LDFLAGS=$_SAVE_LDFLAGS -+ gstreamer-plugins-base-$GST_API_VERSION, -+ [_HAVE_GSTREAMER=1], -+ [_HAVE_GSTREAMER=]) -+ if test -z "$_HAVE_GSTREAMER"; then -+ AC_MSG_ERROR([gstreamer and gstreamer-plugins-base development packages are needed to build gstreamer backend. Install them or disable gstreamer support with --disable-gstreamer]) -+ fi -+ -+ _SAVE_LDFLAGS=$LDFLAGS -+ LDFLAGS="$LDFLAGS $GSTREAMER_LIBS -lgstvideo-$GST_API_VERSION" -+ AC_TRY_LINK(,[return 0;],_HAVE_LIBGSTVIDEO=1,_HAVE_LIBGSTVIDEO=) -+ if test -n "$_HAVE_LIBGSTVIDEO" ; then -+ GSTREAMER_LIBS="$GSTREAMER_LIBS -lgstvideo-$GST_API_VERSION" - else -- AC_MSG_ERROR([gstreamer and gstreamer-plugins-base development packages are needed to build gstreamer backend. Install them or disable gstreamer support with --disable-gstreamer]) -+ AC_MSG_ERROR([gstreamer-plugins-base found, but no libgstvideo. Something has gone terribly wrong. Try reinstalling gstreamer-plugins-base; failing that, disable the gstreamer backend with --disable-gstreamer.]) - fi -+ LDFLAGS=$_SAVE_LDFLAGS -+ -+ AC_SUBST(GSTREAMER_CFLAGS) -+ AC_SUBST(GSTREAMER_LIBS) - fi --AC_SUBST(GSTREAMER_CFLAGS) --AC_SUBST(GSTREAMER_LIBS) -+ - AC_SUBST(MOZ_GSTREAMER) -+AC_SUBST(GST_API_VERSION) - - if test -n "$MOZ_GSTREAMER"; then -- AC_DEFINE(MOZ_GSTREAMER) -+ AC_DEFINE(MOZ_GSTREAMER) -+ AC_DEFINE_UNQUOTED(GST_API_VERSION, "$GST_API_VERSION") - fi - - -@@ -5866,7 +5937,9 @@ MOZ_ARG_DISABLE_BOOL(gamepad, +@@ -5839,7 +5954,9 @@ MOZ_ARG_DISABLE_BOOL(gamepad, if test "$MOZ_GAMEPAD"; then case "$OS_TARGET" in Darwin) @@ -507,7 +477,7 @@ $NetBSD: patch-aa,v 1.27 2014/05/30 10:22:05 pho Exp $ ;; WINNT) if test -n "$MOZ_DIRECTX_SDK_PATH" ; then -@@ -7939,6 +8012,52 @@ if test "$USE_FC_FREETYPE"; then +@@ -7912,6 +8029,52 @@ if test "$USE_FC_FREETYPE"; then fi dnl ======================================================== @@ -560,7 +530,7 @@ $NetBSD: patch-aa,v 1.27 2014/05/30 10:22:05 pho Exp $ dnl Check for pixman and cairo dnl ======================================================== -@@ -8189,7 +8308,7 @@ case "$OS_TARGET" in +@@ -8161,7 +8324,7 @@ case "$OS_TARGET" in NECKO_WIFI=1 fi ;; @@ -569,24 +539,3 @@ $NetBSD: patch-aa,v 1.27 2014/05/30 10:22:05 pho Exp $ NECKO_WIFI=1 ;; Linux) -@@ -8736,6 +8855,20 @@ AC_SUBST(MOZ_ENABLE_SZIP) - AC_SUBST(MOZ_SZIP_FLAGS) - - if test -n "$COMPILE_ENVIRONMENT"; then -+AC_MSG_CHECKING([for posix_fadvise]) -+AC_TRY_LINK([#define _XOPEN_SOURCE 600 -+ #include <fcntl.h>], -+ [posix_fadvise(0, 0, 0, 0);], -+ [ac_cv___posix_fadvise=true], -+ [ac_cv___posix_fadvise=false]) -+ -+if test "$ac_cv___posix_fadvise" = true ; then -+ AC_DEFINE(HAVE_POSIX_FADVISE) -+ AC_MSG_RESULT(yes) -+else -+ AC_MSG_RESULT(no) -+fi -+ - AC_MSG_CHECKING([for posix_fallocate]) - AC_TRY_LINK([#define _XOPEN_SOURCE 600 - #include <fcntl.h>], diff --git a/www/firefox/patches/patch-as b/www/firefox/patches/patch-as index e8c4a8b151e..95d62acc712 100644 --- a/www/firefox/patches/patch-as +++ b/www/firefox/patches/patch-as @@ -1,10 +1,10 @@ -$NetBSD: patch-as,v 1.10 2014/04/30 15:07:18 ryoon Exp $ +$NetBSD: patch-as,v 1.11 2014/06/11 00:40:59 ryoon Exp $ Treat DragonFly like FreeBSD. ---- js/src/configure.in.orig 2014-04-18 02:03:06.000000000 +0000 +--- js/src/configure.in.orig 2014-05-29 23:30:53.000000000 +0000 +++ js/src/configure.in -@@ -2165,116 +2165,13 @@ AC_LANG_CPLUSPLUS +@@ -2082,116 +2082,13 @@ AC_LANG_CPLUSPLUS MOZ_CXX11 @@ -126,7 +126,7 @@ Treat DragonFly like FreeBSD. fi # GNU_CC # visibility hidden flag for Sun Studio on Solaris -@@ -3280,7 +3177,7 @@ if test "$MOZ_MEMORY"; then +@@ -3162,7 +3059,7 @@ if test "$MOZ_MEMORY"; then *-darwin*) AC_DEFINE(MOZ_MEMORY_DARWIN) ;; @@ -135,28 +135,7 @@ Treat DragonFly like FreeBSD. AC_DEFINE(MOZ_MEMORY_BSD) ;; *-android*|*-linuxandroid*) -@@ -4144,6 +4041,20 @@ AC_SUBST(CXX_VERSION) - AC_SUBST(MSMANIFEST_TOOL) - AC_SUBST(MOZ_LINKER) - -+AC_MSG_CHECKING([for posix_fadvise]) -+AC_TRY_LINK([#define _XOPEN_SOURCE 600 -+ #include <fcntl.h>], -+ [posix_fadvise(0, 0, 0, 0);], -+ [ac_cv___posix_fadvise=true], -+ [ac_cv___posix_fadvise=false]) -+ -+if test "$ac_cv___posix_fadvise" = true ; then -+ AC_DEFINE(HAVE_POSIX_FADVISE) -+ AC_MSG_RESULT(yes) -+else -+ AC_MSG_RESULT(no) -+fi -+ - AC_MSG_CHECKING([for posix_fallocate]) - AC_TRY_LINK([#define _XOPEN_SOURCE 600 - #include <fcntl.h>], -@@ -4512,6 +4423,16 @@ fi +@@ -4100,6 +3997,16 @@ MOZ_SUBCONFIGURE_ICU() dnl ======================================================== dnl JavaScript shell dnl ======================================================== diff --git a/www/firefox/patches/patch-config_external_moz.build b/www/firefox/patches/patch-config_external_moz.build index e25707598fb..b37d6cfb049 100644 --- a/www/firefox/patches/patch-config_external_moz.build +++ b/www/firefox/patches/patch-config_external_moz.build @@ -1,12 +1,18 @@ -$NetBSD: patch-config_external_moz.build,v 1.2 2014/04/30 15:07:18 ryoon Exp $ +$NetBSD: patch-config_external_moz.build,v 1.3 2014/06/11 00:40:59 ryoon Exp $ ---- config/external/moz.build.orig 2014-04-18 02:02:39.000000000 +0000 +--- config/external/moz.build.orig 2014-05-29 23:30:30.000000000 +0000 +++ config/external/moz.build -@@ -15,13 +15,13 @@ if CONFIG['MOZ_UPDATER']: +@@ -15,13 +15,19 @@ if CONFIG['MOZ_UPDATER']: if not CONFIG['MOZ_NATIVE_BZ2']: external_dirs += ['modules/libbz2'] -if CONFIG['MOZ_VORBIS']: ++if not CONFIG['MOZ_NATIVE_OGG']: ++ external_dirs += ['media/libogg'] ++ ++if not CONFIG['MOZ_NATIVE_THEORA']: ++ external_dirs += ['media/libtheora'] ++ +if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_NATIVE_VORBIS']: external_dirs += ['media/libvorbis'] @@ -19,16 +25,7 @@ $NetBSD: patch-config_external_moz.build,v 1.2 2014/04/30 15:07:18 ryoon Exp $ external_dirs += ['media/libopus'] if CONFIG['MOZ_WEBM']: -@@ -34,16 +34,23 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ - external_dirs += ['media/libvpx'] - - if CONFIG['MOZ_OGG']: -- external_dirs += ['media/libogg', 'media/libtheora'] -+ if not CONFIG['MOZ_NATIVE_OGG']: -+ external_dirs += ['media/libogg'] -+ if not CONFIG['MOZ_NATIVE_THEORA']: -+ external_dirs += ['media/libtheora'] - +@@ -36,13 +42,15 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ if not CONFIG['MOZ_NATIVE_PNG']: external_dirs += ['media/libpng'] @@ -41,6 +38,8 @@ $NetBSD: patch-config_external_moz.build,v 1.2 2014/04/30 15:07:18 ryoon Exp $ external_dirs += [ 'media/kiss_fft', 'media/libcubeb', +- 'media/libogg', +- 'media/libtheora', - 'media/libspeex_resampler', - 'media/libsoundtouch', ] diff --git a/www/firefox/patches/patch-config_system-headers b/www/firefox/patches/patch-config_system-headers index 66f4d47a86c..6ab1cd4d132 100644 --- a/www/firefox/patches/patch-config_system-headers +++ b/www/firefox/patches/patch-config_system-headers @@ -1,8 +1,8 @@ -$NetBSD: patch-config_system-headers,v 1.8 2014/04/30 15:07:18 ryoon Exp $ +$NetBSD: patch-config_system-headers,v 1.9 2014/06/11 00:40:59 ryoon Exp $ ---- config/system-headers.orig 2014-04-18 02:02:39.000000000 +0000 +--- config/system-headers.orig 2014-05-29 23:30:30.000000000 +0000 +++ config/system-headers -@@ -1051,8 +1051,6 @@ X11/Xutil.h +@@ -1050,8 +1050,6 @@ X11/Xutil.h xpt_struct.h xpt_xdr.h zmouse.h @@ -11,7 +11,7 @@ $NetBSD: patch-config_system-headers,v 1.8 2014/04/30 15:07:18 ryoon Exp $ #if MOZ_NATIVE_PNG==1 png.h #endif -@@ -1118,6 +1116,8 @@ ogg/ogg.h +@@ -1119,6 +1117,8 @@ ogg/ogg.h ogg/os_types.h nestegg/nestegg.h cubeb/cubeb.h @@ -20,13 +20,12 @@ $NetBSD: patch-config_system-headers,v 1.8 2014/04/30 15:07:18 ryoon Exp $ #endif gst/gst.h gst/app/gstappsink.h -@@ -1146,3 +1146,39 @@ unicode/utypes.h +@@ -1147,3 +1147,38 @@ unicode/utypes.h #endif libutil.h unwind.h +cairo-qt.h +#if MOZ_NATIVE_GRAPHITE2==1 -+unwind.h +graphite2/Font.h +graphite2/Segment.h +#endif diff --git a/www/firefox/patches/patch-content_base_src_Makefile.in b/www/firefox/patches/patch-content_base_src_Makefile.in deleted file mode 100644 index dee5f3485e6..00000000000 --- a/www/firefox/patches/patch-content_base_src_Makefile.in +++ /dev/null @@ -1,15 +0,0 @@ -$NetBSD: patch-content_base_src_Makefile.in,v 1.1 2014/03/20 21:02:00 ryoon Exp $ - ---- content/base/src/Makefile.in.orig 2014-03-15 05:19:10.000000000 +0000 -+++ content/base/src/Makefile.in -@@ -5,6 +5,10 @@ - - include $(topsrcdir)/config/rules.mk - -+ifdef MOZ_NATIVE_HARFBUZZ -+nsContentUtils.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS) -+endif -+ - # gcc requires -msse2 for this file since it uses SSE2 intrinsics. (See bug - # 585538 comment 12.) - ifneq (,$(INTEL_ARCHITECTURE)) diff --git a/www/firefox/patches/patch-content_media_AudioStream.h b/www/firefox/patches/patch-content_media_AudioStream.h index 2dced5bf353..60123f0c79a 100644 --- a/www/firefox/patches/patch-content_media_AudioStream.h +++ b/www/firefox/patches/patch-content_media_AudioStream.h @@ -1,6 +1,6 @@ -$NetBSD: patch-content_media_AudioStream.h,v 1.1 2014/04/30 15:07:18 ryoon Exp $ +$NetBSD: patch-content_media_AudioStream.h,v 1.2 2014/06/11 00:40:59 ryoon Exp $ ---- content/media/AudioStream.h.orig 2014-04-18 02:02:42.000000000 +0000 +--- content/media/AudioStream.h.orig 2014-05-29 23:30:33.000000000 +0000 +++ content/media/AudioStream.h @@ -15,6 +15,7 @@ #include "mozilla/StaticMutex.h" @@ -10,3 +10,12 @@ $NetBSD: patch-content_media_AudioStream.h,v 1.1 2014/04/30 15:07:18 ryoon Exp $ template <> class nsAutoRefTraits<cubeb_stream> : public nsPointerRefTraits<cubeb_stream> +@@ -24,7 +25,7 @@ public: + }; + + namespace soundtouch { +-class SoundTouch; ++class MOZ_IMPORT_API SoundTouch; + } + + namespace mozilla { diff --git a/www/firefox/patches/patch-content_media_Makefile.in b/www/firefox/patches/patch-content_media_Makefile.in index 46bcd6989ec..ee6f98e7a0d 100644 --- a/www/firefox/patches/patch-content_media_Makefile.in +++ b/www/firefox/patches/patch-content_media_Makefile.in @@ -1,11 +1,12 @@ -$NetBSD: patch-content_media_Makefile.in,v 1.2 2014/04/30 15:07:18 ryoon Exp $ +$NetBSD: patch-content_media_Makefile.in,v 1.3 2014/06/11 00:40:59 ryoon Exp $ ---- content/media/Makefile.in.orig 2014-04-18 02:02:42.000000000 +0000 +--- content/media/Makefile.in.orig 2014-05-29 23:30:33.000000000 +0000 +++ content/media/Makefile.in -@@ -7,4 +7,32 @@ include $(topsrcdir)/config/rules.mk +@@ -6,3 +6,31 @@ include $(topsrcdir)/config/rules.mk + CFLAGS += $(GSTREAMER_CFLAGS) CXXFLAGS += $(GSTREAMER_CFLAGS) - ++ +ifdef MOZ_NATIVE_OGG +CXXFLAGS += $(MOZ_OGG_CFLAGS) +endif @@ -33,5 +34,3 @@ $NetBSD: patch-content_media_Makefile.in,v 1.2 2014/04/30 15:07:18 ryoon Exp $ +ifdef MOZ_NATIVE_SOUNDTOUCH +CXXFLAGS += $(MOZ_SOUNDTOUCH_CFLAGS) +endif -+ - AudioNodeEngineNEON.$(OBJ_SUFFIX): CXXFLAGS += -mfpu=neon diff --git a/www/firefox/patches/patch-content_media_gstreamer_GStreamerAllocator.cpp b/www/firefox/patches/patch-content_media_gstreamer_GStreamerAllocator.cpp index 41685651dd3..06be23b6e12 100644 --- a/www/firefox/patches/patch-content_media_gstreamer_GStreamerAllocator.cpp +++ b/www/firefox/patches/patch-content_media_gstreamer_GStreamerAllocator.cpp @@ -1,202 +1,12 @@ -$NetBSD: patch-content_media_gstreamer_GStreamerAllocator.cpp,v 1.2 2014/04/30 15:07:18 ryoon Exp $ +$NetBSD: patch-content_media_gstreamer_GStreamerAllocator.cpp,v 1.3 2014/06/11 00:40:59 ryoon Exp $ ---- content/media/gstreamer/GStreamerAllocator.cpp.orig 2014-04-28 00:05:17.000000000 +0000 +--- content/media/gstreamer/GStreamerAllocator.cpp.orig 2014-05-29 23:30:33.000000000 +0000 +++ content/media/gstreamer/GStreamerAllocator.cpp -@@ -0,0 +1,197 @@ -+#ifdef HAVE_CONFIG_H -+#include "config.h" -+#endif -+ -+#include "GStreamerAllocator.h" -+ -+#include <gst/video/video.h> -+#include <gst/video/gstvideometa.h> -+ -+#include "GStreamerLoader.h" -+ -+using namespace mozilla::layers; -+ -+namespace mozilla { -+ -+typedef struct -+{ -+ GstAllocator parent; -+ GStreamerReader *reader; -+} MozGfxMemoryAllocator; -+ -+typedef struct -+{ -+ GstAllocatorClass parent; -+} MozGfxMemoryAllocatorClass; -+ -+typedef struct -+{ -+ GstMemory memory; -+ PlanarYCbCrImage* image; -+ guint8* data; -+} MozGfxMemory; -+ -+typedef struct -+{ -+ GstMeta meta; -+} MozGfxMeta; -+ -+typedef struct -+{ -+ GstVideoBufferPoolClass parent_class; -+} MozGfxBufferPoolClass; -+ -+typedef struct -+{ -+ GstVideoBufferPool pool; -+} MozGfxBufferPool; -+ -+G_DEFINE_TYPE(MozGfxMemoryAllocator, moz_gfx_memory_allocator, GST_TYPE_ALLOCATOR); -+G_DEFINE_TYPE(MozGfxBufferPool, moz_gfx_buffer_pool, GST_TYPE_VIDEO_BUFFER_POOL); -+ -+void -+moz_gfx_memory_reset(MozGfxMemory *mem) -+{ -+ if (mem->image) -+ mem->image->Release(); -+ -+ ImageContainer* container = ((MozGfxMemoryAllocator*) mem->memory.allocator)->reader->GetImageContainer(); -+ mem->image = reinterpret_cast<PlanarYCbCrImage*>(container->CreateImage(ImageFormat::PLANAR_YCBCR).get()); -+ mem->data = mem->image->AllocateAndGetNewBuffer(mem->memory.size); -+} -+ -+static GstMemory* -+moz_gfx_memory_allocator_alloc(GstAllocator* aAllocator, gsize aSize, -+ GstAllocationParams* aParams) -+{ -+ MozGfxMemory* mem = g_slice_new (MozGfxMemory); -+ gsize maxsize = aSize + aParams->prefix + aParams->padding; -+ gst_memory_init(GST_MEMORY_CAST (mem), -+ (GstMemoryFlags)aParams->flags, -+ aAllocator, NULL, maxsize, aParams->align, -+ aParams->prefix, aSize); -+ mem->image = NULL; -+ moz_gfx_memory_reset(mem); -+ -+ return (GstMemory *) mem; -+} -+ -+static void -+moz_gfx_memory_allocator_free (GstAllocator * allocator, GstMemory * gmem) -+{ -+ MozGfxMemory *mem = (MozGfxMemory *) gmem; -+ -+ if (mem->memory.parent) -+ goto sub_mem; -+ -+ if (mem->image) -+ mem->image->Release(); -+ -+sub_mem: -+ g_slice_free (MozGfxMemory, mem); -+} -+ -+static gpointer -+moz_gfx_memory_map (MozGfxMemory * mem, gsize maxsize, GstMapFlags flags) -+{ -+ // check that the allocation didn't fail -+ if (mem->data == nullptr) -+ return nullptr; -+ -+ return mem->data + mem->memory.offset; -+} -+ -+static gboolean -+moz_gfx_memory_unmap (MozGfxMemory * mem) -+{ -+ return TRUE; -+} -+ -+static MozGfxMemory * -+moz_gfx_memory_share (MozGfxMemory * mem, gssize offset, gsize size) -+{ -+ MozGfxMemory *sub; -+ GstMemory *parent; -+ -+ /* find the real parent */ -+ if ((parent = mem->memory.parent) == NULL) -+ parent = (GstMemory *) mem; -+ -+ if (size == (gsize) -1) -+ size = mem->memory.size - offset; -+ -+ /* the shared memory is always readonly */ -+ sub = g_slice_new (MozGfxMemory); -+ -+ gst_memory_init (GST_MEMORY_CAST (sub), -+ (GstMemoryFlags) (GST_MINI_OBJECT_FLAGS (parent) | GST_MINI_OBJECT_FLAG_LOCK_READONLY), -+ mem->memory.allocator, &mem->memory, mem->memory.maxsize, mem->memory.align, -+ mem->memory.offset + offset, size); -+ -+ sub->image = mem->image; -+ sub->data = mem->data; -+ -+ return sub; -+} -+ -+static void -+moz_gfx_memory_allocator_class_init (MozGfxMemoryAllocatorClass * klass) -+{ -+ GstAllocatorClass *allocator_class; -+ -+ allocator_class = (GstAllocatorClass *) klass; -+ -+ allocator_class->alloc = moz_gfx_memory_allocator_alloc; -+ allocator_class->free = moz_gfx_memory_allocator_free; -+} -+ -+static void -+moz_gfx_memory_allocator_init (MozGfxMemoryAllocator * allocator) -+{ -+ GstAllocator *alloc = GST_ALLOCATOR_CAST (allocator); -+ -+ alloc->mem_type = "moz-gfx-image"; -+ alloc->mem_map = (GstMemoryMapFunction) moz_gfx_memory_map; -+ alloc->mem_unmap = (GstMemoryUnmapFunction) moz_gfx_memory_unmap; -+ alloc->mem_share = (GstMemoryShareFunction) moz_gfx_memory_share; -+ /* fallback copy and is_span */ -+} -+ -+void -+moz_gfx_memory_allocator_set_reader(GstAllocator* aAllocator, GStreamerReader* aReader) -+{ -+ MozGfxMemoryAllocator *allocator = (MozGfxMemoryAllocator *) aAllocator; -+ allocator->reader = aReader; -+} -+ -+nsRefPtr<PlanarYCbCrImage> -+moz_gfx_memory_get_image(GstMemory *aMemory) -+{ -+ NS_ASSERTION(GST_IS_MOZ_GFX_MEMORY_ALLOCATOR(aMemory->allocator), "Should be a gfx image"); -+ -+ return ((MozGfxMemory *) aMemory)->image; -+} -+ -+void -+moz_gfx_buffer_pool_reset_buffer (GstBufferPool* aPool, GstBuffer* aBuffer) -+{ -+ GstMemory* mem = gst_buffer_peek_memory(aBuffer, 0); -+ -+ NS_ASSERTION(GST_IS_MOZ_GFX_MEMORY_ALLOCATOR(mem->allocator), "Should be a gfx image"); -+ moz_gfx_memory_reset((MozGfxMemory *) mem); -+ GST_BUFFER_POOL_CLASS(moz_gfx_buffer_pool_parent_class)->reset_buffer(aPool, aBuffer); -+} -+ -+static void -+moz_gfx_buffer_pool_class_init (MozGfxBufferPoolClass * klass) -+{ -+ GstBufferPoolClass *pool_class = (GstBufferPoolClass *) klass; -+ pool_class->reset_buffer = moz_gfx_buffer_pool_reset_buffer; -+} -+ -+static void -+moz_gfx_buffer_pool_init (MozGfxBufferPool * pool) -+{ -+} -+ -+} // namespace mozilla +@@ -51,7 +51,6 @@ typedef struct + #pragma GCC diagnostic ignored "-Wunused-function" + G_DEFINE_TYPE(MozGfxMemoryAllocator, moz_gfx_memory_allocator, GST_TYPE_ALLOCATOR); + G_DEFINE_TYPE(MozGfxBufferPool, moz_gfx_buffer_pool, GST_TYPE_VIDEO_BUFFER_POOL); +-#pragma GCC diagnostic pop + + void + moz_gfx_memory_reset(MozGfxMemory *mem) diff --git a/www/firefox/patches/patch-content_media_gstreamer_GStreamerAllocator.h b/www/firefox/patches/patch-content_media_gstreamer_GStreamerAllocator.h deleted file mode 100644 index a8b15f3a754..00000000000 --- a/www/firefox/patches/patch-content_media_gstreamer_GStreamerAllocator.h +++ /dev/null @@ -1,30 +0,0 @@ -$NetBSD: patch-content_media_gstreamer_GStreamerAllocator.h,v 1.1 2014/03/20 21:02:00 ryoon Exp $ - ---- content/media/gstreamer/GStreamerAllocator.h.orig 2014-03-20 11:09:40.000000000 +0000 -+++ content/media/gstreamer/GStreamerAllocator.h -@@ -0,0 +1,25 @@ -+/* This Source Code Form is subject to the terms of the Mozilla Public -+ * License, v. 2.0. If a copy of the MPL was not distributed with this file, -+ * You can obtain one at http://mozilla.org/MPL/2.0/. */ -+ -+#if !defined(GStreamerAllocator_h_) -+#define GStreamerAllocator_h_ -+ -+#include "GStreamerReader.h" -+ -+#define GST_TYPE_MOZ_GFX_MEMORY_ALLOCATOR (moz_gfx_memory_allocator_get_type()) -+#define GST_IS_MOZ_GFX_MEMORY_ALLOCATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_MOZ_GFX_MEMORY_ALLOCATOR)) -+#define GST_TYPE_MOZ_GFX_BUFFER_POOL (moz_gfx_buffer_pool_get_type()) -+#define GST_IS_MOZ_GFX_BUFFER_POOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_MOZ_GFX_BUFFER_POOL)) -+ -+namespace mozilla { -+ -+GType moz_gfx_memory_allocator_get_type(); -+void moz_gfx_memory_allocator_set_reader(GstAllocator *aAllocator, GStreamerReader* aReader); -+nsRefPtr<layers::PlanarYCbCrImage> moz_gfx_memory_get_image(GstMemory *aMemory); -+ -+GType moz_gfx_buffer_pool_get_type(); -+ -+} // namespace mozilla -+ -+#endif diff --git a/www/firefox/patches/patch-content_media_gstreamer_GStreamerFormatHelper.cpp b/www/firefox/patches/patch-content_media_gstreamer_GStreamerFormatHelper.cpp deleted file mode 100644 index 2886bda65fa..00000000000 --- a/www/firefox/patches/patch-content_media_gstreamer_GStreamerFormatHelper.cpp +++ /dev/null @@ -1,29 +0,0 @@ -$NetBSD: patch-content_media_gstreamer_GStreamerFormatHelper.cpp,v 1.3 2014/03/20 21:02:00 ryoon Exp $ - ---- content/media/gstreamer/GStreamerFormatHelper.cpp.orig 2014-03-15 05:19:11.000000000 +0000 -+++ content/media/gstreamer/GStreamerFormatHelper.cpp -@@ -294,12 +294,23 @@ bool GStreamerFormatHelper::CanHandleCod - GList* GStreamerFormatHelper::GetFactories() { - NS_ASSERTION(sLoadOK, "GStreamer library not linked"); - -- uint32_t cookie = gst_default_registry_get_feature_list_cookie (); -+#if GST_VERSION_MAJOR >= 1 -+ uint32_t cookie = gst_registry_get_feature_list_cookie(gst_registry_get()); -+#else -+ uint32_t cookie = gst_default_registry_get_feature_list_cookie(); -+#endif - if (cookie != mCookie) { - g_list_free(mFactories); -+#if GST_VERSION_MAJOR >= 1 -+ mFactories = -+ gst_registry_feature_filter(gst_registry_get(), -+ (GstPluginFeatureFilter)FactoryFilter, -+ false, nullptr); -+#else - mFactories = - gst_default_registry_feature_filter((GstPluginFeatureFilter)FactoryFilter, - false, nullptr); -+#endif - mCookie = cookie; - } - diff --git a/www/firefox/patches/patch-content_media_gstreamer_GStreamerFunctionList.h b/www/firefox/patches/patch-content_media_gstreamer_GStreamerFunctionList.h deleted file mode 100644 index 9d2f5c2dd33..00000000000 --- a/www/firefox/patches/patch-content_media_gstreamer_GStreamerFunctionList.h +++ /dev/null @@ -1,169 +0,0 @@ -$NetBSD: patch-content_media_gstreamer_GStreamerFunctionList.h,v 1.2 2014/04/30 15:07:18 ryoon Exp $ - ---- content/media/gstreamer/GStreamerFunctionList.h.orig 2014-04-18 02:02:42.000000000 +0000 -+++ content/media/gstreamer/GStreamerFunctionList.h -@@ -9,7 +9,6 @@ - * List of symbol names we need to dlsym from the gstreamer library. - */ - GST_FUNC(LIBGSTAPP, gst_app_sink_get_type) --GST_FUNC(LIBGSTAPP, gst_app_sink_pull_buffer) - GST_FUNC(LIBGSTAPP, gst_app_sink_set_callbacks) - GST_FUNC(LIBGSTAPP, gst_app_src_end_of_stream) - GST_FUNC(LIBGSTAPP, gst_app_src_get_size) -@@ -22,10 +21,8 @@ GST_FUNC(LIBGSTAPP, gst_app_src_set_stre - GST_FUNC(LIBGSTREAMER, gst_bin_get_by_name) - GST_FUNC(LIBGSTREAMER, gst_bin_get_type) - GST_FUNC(LIBGSTREAMER, gst_bin_iterate_recurse) --GST_FUNC(LIBGSTREAMER, gst_buffer_copy_metadata) - GST_FUNC(LIBGSTREAMER, gst_buffer_get_type) - GST_FUNC(LIBGSTREAMER, gst_buffer_new) --GST_FUNC(LIBGSTREAMER, gst_buffer_new_and_alloc) - GST_FUNC(LIBGSTREAMER, gst_bus_set_sync_handler) - GST_FUNC(LIBGSTREAMER, gst_bus_timed_pop_filtered) - GST_FUNC(LIBGSTREAMER, gst_caps_append) -@@ -37,47 +34,37 @@ GST_FUNC(LIBGSTREAMER, gst_caps_new_any) - GST_FUNC(LIBGSTREAMER, gst_caps_new_empty) - GST_FUNC(LIBGSTREAMER, gst_caps_new_full) - GST_FUNC(LIBGSTREAMER, gst_caps_new_simple) --GST_FUNC(LIBGSTREAMER, gst_caps_unref) --GST_FUNC(LIBGSTREAMER, gst_element_factory_get_klass) -+GST_FUNC(LIBGSTREAMER, gst_caps_set_simple) - GST_FUNC(LIBGSTREAMER, gst_element_factory_get_static_pad_templates) - GST_FUNC(LIBGSTREAMER, gst_element_factory_get_type) - GST_FUNC(LIBGSTREAMER, gst_element_factory_make) - GST_FUNC(LIBGSTREAMER, gst_element_get_factory) --GST_FUNC(LIBGSTREAMER, gst_element_get_pad) -+GST_FUNC(LIBGSTREAMER, gst_element_get_static_pad) - GST_FUNC(LIBGSTREAMER, gst_element_get_type) - GST_FUNC(LIBGSTREAMER, gst_element_query_convert) - GST_FUNC(LIBGSTREAMER, gst_element_query_duration) - GST_FUNC(LIBGSTREAMER, gst_element_seek_simple) - GST_FUNC(LIBGSTREAMER, gst_element_set_state) --GST_FUNC(LIBGSTREAMER, gst_event_parse_new_segment) - GST_FUNC(LIBGSTREAMER, gst_flow_get_name) - GST_FUNC(LIBGSTREAMER, gst_init) - GST_FUNC(LIBGSTREAMER, gst_init_check) - GST_FUNC(LIBGSTREAMER, gst_iterator_next) - GST_FUNC(LIBGSTREAMER, gst_message_parse_error) - GST_FUNC(LIBGSTREAMER, gst_message_type_get_name) --GST_FUNC(LIBGSTREAMER, gst_mini_object_get_type) --GST_FUNC(LIBGSTREAMER, gst_mini_object_new) - GST_FUNC(LIBGSTREAMER, gst_mini_object_ref) - GST_FUNC(LIBGSTREAMER, gst_mini_object_unref) - GST_FUNC(LIBGSTREAMER, gst_object_get_name) - GST_FUNC(LIBGSTREAMER, gst_object_get_parent) - GST_FUNC(LIBGSTREAMER, gst_object_unref) --GST_FUNC(LIBGSTREAMER, gst_pad_add_event_probe) --GST_FUNC(LIBGSTREAMER, gst_pad_alloc_buffer) - GST_FUNC(LIBGSTREAMER, gst_pad_get_element_private) --GST_FUNC(LIBGSTREAMER, gst_pad_get_negotiated_caps) --GST_FUNC(LIBGSTREAMER, gst_pad_set_bufferalloc_function) - GST_FUNC(LIBGSTREAMER, gst_pad_set_element_private) - GST_FUNC(LIBGSTREAMER, gst_parse_bin_from_description) - GST_FUNC(LIBGSTREAMER, gst_pipeline_get_bus) - GST_FUNC(LIBGSTREAMER, gst_pipeline_get_type) - GST_FUNC(LIBGSTREAMER, gst_plugin_feature_get_rank) - GST_FUNC(LIBGSTREAMER, gst_registry_feature_filter) --GST_FUNC(LIBGSTREAMER, gst_registry_get_default) - GST_FUNC(LIBGSTREAMER, gst_registry_get_feature_list_cookie) - GST_FUNC(LIBGSTREAMER, gst_segment_init) --GST_FUNC(LIBGSTREAMER, gst_segment_set_newsegment) - GST_FUNC(LIBGSTREAMER, gst_segment_to_stream_time) - GST_FUNC(LIBGSTREAMER, gst_static_caps_get) - GST_FUNC(LIBGSTREAMER, gst_structure_copy) -@@ -86,11 +73,83 @@ GST_FUNC(LIBGSTREAMER, gst_structure_get - GST_FUNC(LIBGSTREAMER, gst_structure_get_value) - GST_FUNC(LIBGSTREAMER, gst_structure_new) - GST_FUNC(LIBGSTREAMER, gst_util_uint64_scale) -+ -+#if GST_VERSION_MAJOR == 0 -+GST_FUNC(LIBGSTAPP, gst_app_sink_pull_buffer) -+GST_FUNC(LIBGSTREAMER, gst_buffer_copy_metadata) -+GST_FUNC(LIBGSTREAMER, gst_buffer_new_and_alloc) -+GST_FUNC(LIBGSTREAMER, gst_caps_unref) -+GST_FUNC(LIBGSTREAMER, gst_element_factory_get_klass) -+GST_FUNC(LIBGSTREAMER, gst_element_get_pad) -+GST_FUNC(LIBGSTREAMER, gst_event_parse_new_segment) -+GST_FUNC(LIBGSTREAMER, gst_mini_object_get_type) -+GST_FUNC(LIBGSTREAMER, gst_mini_object_new) -+GST_FUNC(LIBGSTREAMER, gst_pad_add_event_probe) -+GST_FUNC(LIBGSTREAMER, gst_pad_alloc_buffer) -+GST_FUNC(LIBGSTREAMER, gst_pad_get_negotiated_caps) -+GST_FUNC(LIBGSTREAMER, gst_pad_set_bufferalloc_function) -+GST_FUNC(LIBGSTREAMER, gst_registry_get_default) -+GST_FUNC(LIBGSTREAMER, gst_segment_set_newsegment) - GST_FUNC(LIBGSTVIDEO, gst_video_format_get_component_height) - GST_FUNC(LIBGSTVIDEO, gst_video_format_get_component_offset) - GST_FUNC(LIBGSTVIDEO, gst_video_format_get_component_width) -+GST_FUNC(LIBGSTVIDEO, gst_video_format_get_pixel_stride) - GST_FUNC(LIBGSTVIDEO, gst_video_format_get_row_stride) - GST_FUNC(LIBGSTVIDEO, gst_video_format_parse_caps) -+#else -+ -+GST_FUNC(LIBGSTAPP, gst_app_sink_pull_sample) -+GST_FUNC(LIBGSTREAMER, _gst_caps_any) -+GST_FUNC(LIBGSTREAMER, gst_allocator_get_type) -+GST_FUNC(LIBGSTREAMER, gst_buffer_copy_into) -+GST_FUNC(LIBGSTREAMER, gst_buffer_extract) -+GST_FUNC(LIBGSTREAMER, gst_buffer_get_meta) -+GST_FUNC(LIBGSTREAMER, gst_buffer_get_size) -+GST_FUNC(LIBGSTREAMER, gst_buffer_map) -+GST_FUNC(LIBGSTREAMER, gst_buffer_new_allocate) -+GST_FUNC(LIBGSTREAMER, gst_buffer_n_memory) -+GST_FUNC(LIBGSTREAMER, gst_buffer_peek_memory) -+GST_FUNC(LIBGSTREAMER, gst_buffer_pool_acquire_buffer) -+GST_FUNC(LIBGSTREAMER, gst_buffer_pool_config_set_allocator) -+GST_FUNC(LIBGSTREAMER, gst_buffer_pool_config_set_params) -+GST_FUNC(LIBGSTREAMER, gst_buffer_pool_get_config) -+GST_FUNC(LIBGSTREAMER, gst_buffer_pool_get_type) -+GST_FUNC(LIBGSTREAMER, gst_buffer_pool_is_active) -+GST_FUNC(LIBGSTREAMER, gst_buffer_pool_set_active) -+GST_FUNC(LIBGSTREAMER, gst_buffer_pool_set_config) -+GST_FUNC(LIBGSTREAMER, gst_buffer_set_size) -+GST_FUNC(LIBGSTREAMER, gst_buffer_unmap) -+GST_FUNC(LIBGSTREAMER, gst_element_factory_get_metadata) -+GST_FUNC(LIBGSTREAMER, gst_event_parse_segment) -+GST_FUNC(LIBGSTREAMER, gst_event_type_get_name) -+GST_FUNC(LIBGSTREAMER, gst_memory_init) -+GST_FUNC(LIBGSTREAMER, gst_memory_map) -+GST_FUNC(LIBGSTREAMER, gst_memory_unmap) -+GST_FUNC(LIBGSTREAMER, gst_object_get_type) -+GST_FUNC(LIBGSTREAMER, gst_pad_add_probe) -+GST_FUNC(LIBGSTREAMER, gst_pad_get_current_caps) -+GST_FUNC(LIBGSTREAMER, gst_pad_probe_info_get_query) -+GST_FUNC(LIBGSTREAMER, gst_query_add_allocation_meta) -+GST_FUNC(LIBGSTREAMER, gst_query_add_allocation_param) -+GST_FUNC(LIBGSTREAMER, gst_query_add_allocation_pool) -+GST_FUNC(LIBGSTREAMER, gst_query_parse_allocation) -+GST_FUNC(LIBGSTREAMER, gst_registry_get) -+GST_FUNC(LIBGSTREAMER, gst_sample_get_buffer) -+GST_FUNC(LIBGSTREAMER, gst_segment_copy_into) -+GST_FUNC(LIBGSTREAMER, gst_structure_free) -+GST_FUNC(LIBGSTVIDEO, gst_buffer_pool_config_get_video_alignment) -+GST_FUNC(LIBGSTVIDEO, gst_buffer_pool_has_option) -+GST_FUNC(LIBGSTVIDEO, gst_video_buffer_pool_get_type) -+GST_FUNC(LIBGSTVIDEO, gst_video_frame_map) -+GST_FUNC(LIBGSTVIDEO, gst_video_frame_unmap) -+GST_FUNC(LIBGSTVIDEO, gst_video_info_align) -+GST_FUNC(LIBGSTVIDEO, gst_video_info_from_caps) -+GST_FUNC(LIBGSTVIDEO, gst_video_info_init) -+GST_FUNC(LIBGSTVIDEO, gst_video_meta_api_get_type) -+GST_FUNC(LIBGSTVIDEO, gst_video_meta_map) -+GST_FUNC(LIBGSTVIDEO, gst_video_meta_unmap) -+ -+#endif - - /* - * Functions that have been defined in the header file. We replace them so that -@@ -100,6 +159,11 @@ GST_FUNC(LIBGSTVIDEO, gst_video_format_p - REPLACE_FUNC(gst_buffer_ref); - REPLACE_FUNC(gst_buffer_unref); - REPLACE_FUNC(gst_message_unref); -+ -+#if GST_VERSION_MAJOR == 1 -+REPLACE_FUNC(gst_caps_unref); -+REPLACE_FUNC(gst_sample_unref); -+#endif - #endif - - #endif // !defined(__APPLE__) diff --git a/www/firefox/patches/patch-content_media_gstreamer_GStreamerLoader.cpp b/www/firefox/patches/patch-content_media_gstreamer_GStreamerLoader.cpp deleted file mode 100644 index 92451a214dc..00000000000 --- a/www/firefox/patches/patch-content_media_gstreamer_GStreamerLoader.cpp +++ /dev/null @@ -1,97 +0,0 @@ -$NetBSD: patch-content_media_gstreamer_GStreamerLoader.cpp,v 1.1 2014/03/20 21:02:00 ryoon Exp $ - ---- content/media/gstreamer/GStreamerLoader.cpp.orig 2014-03-15 05:19:11.000000000 +0000 -+++ content/media/gstreamer/GStreamerLoader.cpp -@@ -6,13 +6,21 @@ - #include <dlfcn.h> - #include <stdio.h> - --#include "GStreamerLoader.h" -+#include "nsDebug.h" - #include "mozilla/NullPtr.h" - -+#include "GStreamerLoader.h" -+ - #define LIBGSTREAMER 0 - #define LIBGSTAPP 1 - #define LIBGSTVIDEO 2 - -+#ifdef __OpenBSD__ -+#define LIB_GST_SUFFIX ".so" -+#else -+#define LIB_GST_SUFFIX ".so.0" -+#endif -+ - namespace mozilla { - - /* -@@ -32,6 +40,11 @@ namespace mozilla { - GstBuffer * gst_buffer_ref_impl(GstBuffer *buf); - void gst_buffer_unref_impl(GstBuffer *buf); - void gst_message_unref_impl(GstMessage *msg); -+void gst_caps_unref_impl(GstCaps *caps); -+ -+#if GST_VERSION_MAJOR == 1 -+void gst_sample_unref_impl(GstSample *sample); -+#endif - - bool - load_gstreamer() -@@ -58,32 +71,25 @@ load_gstreamer() - if (major == GST_VERSION_MAJOR && minor == GST_VERSION_MINOR) { - gstreamerLib = RTLD_DEFAULT; - } else { --#ifdef __OpenBSD__ -- gstreamerLib = dlopen("libgstreamer-0.10.so", RTLD_NOW | RTLD_LOCAL); --#else -- gstreamerLib = dlopen("libgstreamer-0.10.so.0", RTLD_NOW | RTLD_LOCAL); --#endif -+ gstreamerLib = dlopen("libgstreamer-" GST_API_VERSION LIB_GST_SUFFIX, RTLD_NOW | RTLD_LOCAL); - } - -- void *handles[] = { -+ void *handles[3] = { - gstreamerLib, --#ifdef __OpenBSD__ -- dlopen("libgstapp-0.10.so", RTLD_NOW | RTLD_LOCAL), -- dlopen("libgstvideo-0.10.so", RTLD_NOW | RTLD_LOCAL) --#else -- dlopen("libgstapp-0.10.so.0", RTLD_NOW | RTLD_LOCAL), -- dlopen("libgstvideo-0.10.so.0", RTLD_NOW | RTLD_LOCAL) --#endif -+ dlopen("libgstapp-" GST_API_VERSION LIB_GST_SUFFIX, RTLD_NOW | RTLD_LOCAL), -+ dlopen("libgstvideo-" GST_API_VERSION LIB_GST_SUFFIX, RTLD_NOW | RTLD_LOCAL) - }; - - for (size_t i = 0; i < sizeof(handles) / sizeof(handles[0]); i++) { - if (!handles[i]) { -+ NS_WARNING("Couldn't link gstreamer libraries"); - goto fail; - } - } - - #define GST_FUNC(lib, symbol) \ - if (!(symbol = (typeof(symbol))dlsym(handles[lib], #symbol))) { \ -+ NS_WARNING("Couldn't link symbol " #symbol); \ - goto fail; \ - } - #define REPLACE_FUNC(symbol) symbol = symbol##_impl; -@@ -123,4 +129,18 @@ gst_message_unref_impl(GstMessage *msg) - gst_mini_object_unref(GST_MINI_OBJECT_CAST(msg)); - } - -+#if GST_VERSION_MAJOR == 1 -+void -+gst_sample_unref_impl(GstSample *sample) -+{ -+ gst_mini_object_unref(GST_MINI_OBJECT_CAST(sample)); -+} -+#endif -+ -+void -+gst_caps_unref_impl(GstCaps *caps) -+{ -+ gst_mini_object_unref(GST_MINI_OBJECT_CAST(caps)); -+} -+ - } diff --git a/www/firefox/patches/patch-content_media_gstreamer_GStreamerLoader.h b/www/firefox/patches/patch-content_media_gstreamer_GStreamerLoader.h deleted file mode 100644 index 8a0d20a1be9..00000000000 --- a/www/firefox/patches/patch-content_media_gstreamer_GStreamerLoader.h +++ /dev/null @@ -1,24 +0,0 @@ -$NetBSD: patch-content_media_gstreamer_GStreamerLoader.h,v 1.1 2014/03/20 21:02:00 ryoon Exp $ - ---- content/media/gstreamer/GStreamerLoader.h.orig 2014-03-15 05:19:11.000000000 +0000 -+++ content/media/gstreamer/GStreamerLoader.h -@@ -22,6 +22,11 @@ - #include <gst/video/video.h> - #pragma GCC diagnostic pop - -+#if GST_VERSION_MAJOR == 1 -+#include <gst/video/gstvideometa.h> -+#include <gst/video/gstvideopool.h> -+#endif -+ - namespace mozilla { - - /* -@@ -42,4 +47,7 @@ bool load_gstreamer(); - - } - -+#undef GST_CAPS_ANY -+#define GST_CAPS_ANY (*_gst_caps_any) -+ - #endif // GStreamerLoader_h_ diff --git a/www/firefox/patches/patch-content_media_gstreamer_GStreamerReader-0.10.cpp b/www/firefox/patches/patch-content_media_gstreamer_GStreamerReader-0.10.cpp deleted file mode 100644 index 7113ac8029c..00000000000 --- a/www/firefox/patches/patch-content_media_gstreamer_GStreamerReader-0.10.cpp +++ /dev/null @@ -1,205 +0,0 @@ -$NetBSD: patch-content_media_gstreamer_GStreamerReader-0.10.cpp,v 1.2 2014/04/30 15:07:18 ryoon Exp $ - ---- content/media/gstreamer/GStreamerReader-0.10.cpp.orig 2014-04-28 00:05:17.000000000 +0000 -+++ content/media/gstreamer/GStreamerReader-0.10.cpp -@@ -0,0 +1,200 @@ -+#include "nsError.h" -+#include "MediaDecoderStateMachine.h" -+#include "AbstractMediaDecoder.h" -+#include "MediaResource.h" -+#include "GStreamerReader.h" -+#include "GStreamerMozVideoBuffer.h" -+#include "GStreamerFormatHelper.h" -+#include "VideoUtils.h" -+#include "mozilla/dom/TimeRanges.h" -+#include "mozilla/Preferences.h" -+ -+using namespace mozilla; -+using mozilla::layers::PlanarYCbCrImage; -+using mozilla::layers::ImageContainer; -+ -+GstFlowReturn GStreamerReader::AllocateVideoBufferCb(GstPad* aPad, -+ guint64 aOffset, -+ guint aSize, -+ GstCaps* aCaps, -+ GstBuffer** aBuf) -+{ -+ GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(gst_pad_get_element_private(aPad)); -+ return reader->AllocateVideoBuffer(aPad, aOffset, aSize, aCaps, aBuf); -+} -+ -+GstFlowReturn GStreamerReader::AllocateVideoBuffer(GstPad* aPad, -+ guint64 aOffset, -+ guint aSize, -+ GstCaps* aCaps, -+ GstBuffer** aBuf) -+{ -+ nsRefPtr<PlanarYCbCrImage> image; -+ return AllocateVideoBufferFull(aPad, aOffset, aSize, aCaps, aBuf, image); -+} -+ -+GstFlowReturn GStreamerReader::AllocateVideoBufferFull(GstPad* aPad, -+ guint64 aOffset, -+ guint aSize, -+ GstCaps* aCaps, -+ GstBuffer** aBuf, -+ nsRefPtr<PlanarYCbCrImage>& aImage) -+{ -+ /* allocate an image using the container */ -+ ImageContainer* container = mDecoder->GetImageContainer(); -+ if (container == nullptr) { -+ return GST_FLOW_ERROR; -+ } -+ PlanarYCbCrImage* img = reinterpret_cast<PlanarYCbCrImage*>(container->CreateImage(ImageFormat::PLANAR_YCBCR).get()); -+ nsRefPtr<PlanarYCbCrImage> image = dont_AddRef(img); -+ -+ /* prepare a GstBuffer pointing to the underlying PlanarYCbCrImage buffer */ -+ GstBuffer* buf = GST_BUFFER(gst_moz_video_buffer_new()); -+ GST_BUFFER_SIZE(buf) = aSize; -+ /* allocate the actual YUV buffer */ -+ GST_BUFFER_DATA(buf) = image->AllocateAndGetNewBuffer(aSize); -+ -+ aImage = image; -+ -+ /* create a GstMozVideoBufferData to hold the image */ -+ GstMozVideoBufferData* bufferdata = new GstMozVideoBufferData(image); -+ -+ /* Attach bufferdata to our GstMozVideoBuffer, it will take care to free it */ -+ gst_moz_video_buffer_set_data(GST_MOZ_VIDEO_BUFFER(buf), bufferdata); -+ -+ *aBuf = buf; -+ return GST_FLOW_OK; -+} -+ -+gboolean GStreamerReader::EventProbe(GstPad* aPad, GstEvent* aEvent) -+{ -+ GstElement* parent = GST_ELEMENT(gst_pad_get_parent(aPad)); -+ switch(GST_EVENT_TYPE(aEvent)) { -+ case GST_EVENT_NEWSEGMENT: -+ { -+ gboolean update; -+ gdouble rate; -+ GstFormat format; -+ gint64 start, stop, position; -+ GstSegment* segment; -+ -+ /* Store the segments so we can convert timestamps to stream time, which -+ * is what the upper layers sync on. -+ */ -+ ReentrantMonitorAutoEnter mon(mGstThreadsMonitor); -+ gst_event_parse_new_segment(aEvent, &update, &rate, &format, -+ &start, &stop, &position); -+ if (parent == GST_ELEMENT(mVideoAppSink)) -+ segment = &mVideoSegment; -+ else -+ segment = &mAudioSegment; -+ gst_segment_set_newsegment(segment, update, rate, format, -+ start, stop, position); -+ break; -+ } -+ case GST_EVENT_FLUSH_STOP: -+ /* Reset on seeks */ -+ ResetDecode(); -+ break; -+ default: -+ break; -+ } -+ gst_object_unref(parent); -+ -+ return TRUE; -+} -+ -+gboolean GStreamerReader::EventProbeCb(GstPad* aPad, -+ GstEvent* aEvent, -+ gpointer aUserData) -+{ -+ GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(aUserData); -+ return reader->EventProbe(aPad, aEvent); -+} -+ -+nsRefPtr<PlanarYCbCrImage> GStreamerReader::GetImageFromBuffer(GstBuffer* aBuffer) -+{ -+ if (!GST_IS_MOZ_VIDEO_BUFFER (aBuffer)) -+ return nullptr; -+ -+ nsRefPtr<PlanarYCbCrImage> image; -+ GstMozVideoBufferData* bufferdata = reinterpret_cast<GstMozVideoBufferData*>(gst_moz_video_buffer_get_data(GST_MOZ_VIDEO_BUFFER(aBuffer))); -+ image = bufferdata->mImage; -+ -+ PlanarYCbCrImage::Data data; -+ data.mPicX = data.mPicY = 0; -+ data.mPicSize = gfx::IntSize(mPicture.width, mPicture.height); -+ data.mStereoMode = StereoMode::MONO; -+ -+ data.mYChannel = GST_BUFFER_DATA(aBuffer); -+ data.mYStride = gst_video_format_get_row_stride(mFormat, 0, mPicture.width); -+ data.mYSize = gfx::IntSize(data.mYStride, -+ gst_video_format_get_component_height(mFormat, 0, mPicture.height)); -+ data.mYSkip = 0; -+ data.mCbCrStride = gst_video_format_get_row_stride(mFormat, 1, mPicture.width); -+ data.mCbCrSize = gfx::IntSize(data.mCbCrStride, -+ gst_video_format_get_component_height(mFormat, 1, mPicture.height)); -+ data.mCbChannel = data.mYChannel + gst_video_format_get_component_offset(mFormat, 1, -+ mPicture.width, mPicture.height); -+ data.mCrChannel = data.mYChannel + gst_video_format_get_component_offset(mFormat, 2, -+ mPicture.width, mPicture.height); -+ data.mCbSkip = 0; -+ data.mCrSkip = 0; -+ -+ image->SetDataNoCopy(data); -+ -+ return image; -+} -+ -+void GStreamerReader::CopyIntoImageBuffer(GstBuffer* aBuffer, -+ GstBuffer** aOutBuffer, -+ nsRefPtr<PlanarYCbCrImage> &aImage) -+{ -+ AllocateVideoBufferFull(nullptr, GST_BUFFER_OFFSET(aBuffer), -+ GST_BUFFER_SIZE(aBuffer), nullptr, aOutBuffer, aImage); -+ -+ gst_buffer_copy_metadata(*aOutBuffer, aBuffer, (GstBufferCopyFlags)GST_BUFFER_COPY_ALL); -+ memcpy(GST_BUFFER_DATA(*aOutBuffer), GST_BUFFER_DATA(aBuffer), GST_BUFFER_SIZE(*aOutBuffer)); -+ -+ aImage = GetImageFromBuffer(*aOutBuffer); -+} -+ -+GstCaps* GStreamerReader::BuildAudioSinkCaps() -+{ -+ GstCaps* caps; -+#ifdef IS_LITTLE_ENDIAN -+ int endianness = 1234; -+#else -+ int endianness = 4321; -+#endif -+ gint width; -+#ifdef MOZ_SAMPLE_TYPE_FLOAT32 -+ caps = gst_caps_from_string("audio/x-raw-float, channels={1,2}"); -+ width = 32; -+#else /* !MOZ_SAMPLE_TYPE_FLOAT32 */ -+ caps = gst_caps_from_string("audio/x-raw-int, channels={1,2}"); -+ width = 16; -+#endif -+ gst_caps_set_simple(caps, -+ "width", G_TYPE_INT, width, -+ "endianness", G_TYPE_INT, endianness, -+ NULL); -+ -+ return caps; -+} -+ -+void GStreamerReader::InstallPadCallbacks() -+{ -+ GstPad* sinkpad = gst_element_get_static_pad(GST_ELEMENT(mVideoAppSink), "sink"); -+ gst_pad_add_event_probe(sinkpad, -+ G_CALLBACK(&GStreamerReader::EventProbeCb), this); -+ -+ gst_pad_set_bufferalloc_function(sinkpad, GStreamerReader::AllocateVideoBufferCb); -+ gst_pad_set_element_private(sinkpad, this); -+ gst_object_unref(sinkpad); -+ -+ sinkpad = gst_element_get_static_pad(GST_ELEMENT(mAudioAppSink), "sink"); -+ gst_pad_add_event_probe(sinkpad, -+ G_CALLBACK(&GStreamerReader::EventProbeCb), this); -+ gst_object_unref(sinkpad); -+} diff --git a/www/firefox/patches/patch-content_media_gstreamer_GStreamerReader.cpp b/www/firefox/patches/patch-content_media_gstreamer_GStreamerReader.cpp deleted file mode 100644 index fab6759e13b..00000000000 --- a/www/firefox/patches/patch-content_media_gstreamer_GStreamerReader.cpp +++ /dev/null @@ -1,975 +0,0 @@ -$NetBSD: patch-content_media_gstreamer_GStreamerReader.cpp,v 1.2 2014/04/30 15:07:18 ryoon Exp $ - ---- content/media/gstreamer/GStreamerReader.cpp.orig 2014-04-18 02:02:42.000000000 +0000 -+++ content/media/gstreamer/GStreamerReader.cpp -@@ -10,8 +10,10 @@ - #include "AbstractMediaDecoder.h" - #include "MediaResource.h" - #include "GStreamerReader.h" -+#if GST_VERSION_MAJOR >= 1 -+#include "GStreamerAllocator.h" -+#endif - #include "GStreamerFormatHelper.h" --#include "GStreamerMozVideoBuffer.h" - #include "VideoUtils.h" - #include "mozilla/dom/TimeRanges.h" - #include "mozilla/Preferences.h" -@@ -33,14 +35,16 @@ extern PRLogModuleInfo* gMediaDecoderLog - #define LOG(type, msg, ...) - #endif - --extern bool --IsYV12Format(const VideoData::YCbCrBuffer::Plane& aYPlane, -- const VideoData::YCbCrBuffer::Plane& aCbPlane, -- const VideoData::YCbCrBuffer::Plane& aCrPlane); -- -+#if DEBUG - static const unsigned int MAX_CHANNELS = 4; --// Let the demuxer work in pull mode for short files --static const int SHORT_FILE_SIZE = 1024 * 1024; -+#endif -+// Let the demuxer work in pull mode for short files. This used to be a micro -+// optimization to have more accurate durations for ogg files in mochitests. -+// Since as of today we aren't using gstreamer to demux ogg, and having demuxers -+// work in pull mode over http makes them slower (since they really assume -+// near-zero latency in pull mode) set the constant to 0 for now, which -+// effectively disables it. -+static const int SHORT_FILE_SIZE = 0; - // The default resource->Read() size when working in push mode - static const int DEFAULT_SOURCE_READ_SIZE = 50 * 1024; - -@@ -62,6 +66,10 @@ GStreamerReader::GStreamerReader(Abstrac - : MediaDecoderReader(aDecoder), - mMP3FrameParser(aDecoder->GetResource()->GetLength()), - mUseParserDuration(false), -+#if GST_VERSION_MAJOR >= 1 -+ mAllocator(nullptr), -+ mBufferPool(nullptr), -+#endif - mPlayBin(nullptr), - mBus(nullptr), - mSource(nullptr), -@@ -74,6 +82,9 @@ GStreamerReader::GStreamerReader(Abstrac - mAudioSinkBufferCount(0), - mGstThreadsMonitor("media.gst.threads"), - mReachedEos(false), -+#if GST_VERSION_MAJOR >= 1 -+ mConfigureAlignment(true), -+#endif - fpsNum(0), - fpsDen(0) - { -@@ -85,8 +96,12 @@ GStreamerReader::GStreamerReader(Abstrac - - mSinkCallbacks.eos = GStreamerReader::EosCb; - mSinkCallbacks.new_preroll = GStreamerReader::NewPrerollCb; -+#if GST_VERSION_MAJOR >= 1 -+ mSinkCallbacks.new_sample = GStreamerReader::NewBufferCb; -+#else - mSinkCallbacks.new_buffer = GStreamerReader::NewBufferCb; - mSinkCallbacks.new_buffer_list = nullptr; -+#endif - - gst_segment_init(&mVideoSegment, GST_FORMAT_UNDEFINED); - gst_segment_init(&mAudioSegment, GST_FORMAT_UNDEFINED); -@@ -110,65 +125,59 @@ GStreamerReader::~GStreamerReader() - mAudioAppSink = nullptr; - gst_object_unref(mBus); - mBus = nullptr; -+#if GST_VERSION_MAJOR >= 1 -+ g_object_unref(mAllocator); -+ g_object_unref(mBufferPool); -+#endif - } - } - - nsresult GStreamerReader::Init(MediaDecoderReader* aCloneDonor) - { -- GError* error = nullptr; -- if (!gst_init_check(0, 0, &error)) { -- LOG(PR_LOG_ERROR, "gst initialization failed: %s", error->message); -- g_error_free(error); -- return NS_ERROR_FAILURE; -- } -+ GStreamerFormatHelper::Instance(); -+ -+#if GST_VERSION_MAJOR >= 1 -+ mAllocator = static_cast<GstAllocator*>(g_object_new(GST_TYPE_MOZ_GFX_MEMORY_ALLOCATOR, nullptr)); -+ moz_gfx_memory_allocator_set_reader(mAllocator, this); -+ -+ mBufferPool = static_cast<GstBufferPool*>(g_object_new(GST_TYPE_MOZ_GFX_BUFFER_POOL, nullptr)); -+#endif - -+#if GST_VERSION_MAJOR >= 1 -+ mPlayBin = gst_element_factory_make("playbin", nullptr); -+#else - mPlayBin = gst_element_factory_make("playbin2", nullptr); -+#endif - if (!mPlayBin) { -- LOG(PR_LOG_ERROR, "couldn't create playbin2"); -+ LOG(PR_LOG_ERROR, "couldn't create playbin"); - return NS_ERROR_FAILURE; - } - g_object_set(mPlayBin, "buffer-size", 0, nullptr); - mBus = gst_pipeline_get_bus(GST_PIPELINE(mPlayBin)); - - mVideoSink = gst_parse_bin_from_description("capsfilter name=filter ! " -- "appsink name=videosink sync=true max-buffers=1 " -+ "appsink name=videosink sync=false max-buffers=1 " -+#if GST_VERSION_MAJOR >= 1 -+ "caps=video/x-raw,format=I420" -+#else - "caps=video/x-raw-yuv,format=(fourcc)I420" -+#endif - , TRUE, nullptr); - mVideoAppSink = GST_APP_SINK(gst_bin_get_by_name(GST_BIN(mVideoSink), - "videosink")); -- gst_app_sink_set_callbacks(mVideoAppSink, &mSinkCallbacks, -- (gpointer) this, nullptr); -- GstPad* sinkpad = gst_element_get_pad(GST_ELEMENT(mVideoAppSink), "sink"); -- gst_pad_add_event_probe(sinkpad, -- G_CALLBACK(&GStreamerReader::EventProbeCb), this); -- gst_object_unref(sinkpad); -- gst_pad_set_bufferalloc_function(sinkpad, GStreamerReader::AllocateVideoBufferCb); -- gst_pad_set_element_private(sinkpad, this); -- - mAudioSink = gst_parse_bin_from_description("capsfilter name=filter ! " --#ifdef MOZ_SAMPLE_TYPE_FLOAT32 -- "appsink name=audiosink max-buffers=2 sync=false caps=audio/x-raw-float," --#ifdef IS_LITTLE_ENDIAN -- "channels={1,2},width=32,endianness=1234", TRUE, nullptr); --#else -- "channels={1,2},width=32,endianness=4321", TRUE, nullptr); --#endif --#else -- "appsink name=audiosink max-buffers=2 sync=false caps=audio/x-raw-int," --#ifdef IS_LITTLE_ENDIAN -- "channels={1,2},width=16,endianness=1234", TRUE, nullptr); --#else -- "channels={1,2},width=16,endianness=4321", TRUE, nullptr); --#endif --#endif -+ "appsink name=audiosink sync=false max-buffers=1", TRUE, nullptr); - mAudioAppSink = GST_APP_SINK(gst_bin_get_by_name(GST_BIN(mAudioSink), - "audiosink")); -+ GstCaps* caps = BuildAudioSinkCaps(); -+ g_object_set(mAudioAppSink, "caps", caps, nullptr); -+ gst_caps_unref(caps); -+ -+ gst_app_sink_set_callbacks(mVideoAppSink, &mSinkCallbacks, -+ (gpointer) this, nullptr); - gst_app_sink_set_callbacks(mAudioAppSink, &mSinkCallbacks, - (gpointer) this, nullptr); -- sinkpad = gst_element_get_pad(GST_ELEMENT(mAudioAppSink), "sink"); -- gst_pad_add_event_probe(sinkpad, -- G_CALLBACK(&GStreamerReader::EventProbeCb), this); -- gst_object_unref(sinkpad); -+ InstallPadCallbacks(); - - g_object_set(mPlayBin, "uri", "appsrc://", - "video-sink", mVideoSink, -@@ -331,13 +340,12 @@ nsresult GStreamerReader::ReadMetadata(M - /* Little trick: set the target caps to "skip" so that playbin2 fails to - * find a decoder for the stream we want to skip. - */ -- GstCaps* filterCaps = gst_caps_new_simple ("skip", nullptr); -+ GstCaps* filterCaps = gst_caps_new_simple ("skip", nullptr, nullptr); - g_object_set(filter, "caps", filterCaps, nullptr); - gst_caps_unref(filterCaps); - gst_object_unref(filter); - } - -- /* start the pipeline */ - LOG(PR_LOG_DEBUG, "starting metadata pipeline"); - gst_element_set_state(mPlayBin, GST_STATE_PAUSED); - -@@ -358,6 +366,7 @@ nsresult GStreamerReader::ReadMetadata(M - gst_message_unref(message); - ret = NS_ERROR_FAILURE; - } else { -+ LOG(PR_LOG_DEBUG, "read metadata pipeline prerolled"); - gst_message_unref(message); - ret = NS_OK; - break; -@@ -371,23 +380,8 @@ nsresult GStreamerReader::ReadMetadata(M - /* we couldn't get this to play */ - return ret; - -- /* FIXME: workaround for a bug in matroskademux. This seek makes matroskademux -- * parse the index */ -- if (gst_element_seek_simple(mPlayBin, GST_FORMAT_TIME, -- GST_SEEK_FLAG_FLUSH, 0)) { -- /* after a seek we need to wait again for ASYNC_DONE */ -- message = gst_bus_timed_pop_filtered(mBus, GST_CLOCK_TIME_NONE, -- (GstMessageType)(GST_MESSAGE_ASYNC_DONE | GST_MESSAGE_ERROR)); -- if (GST_MESSAGE_TYPE(message) == GST_MESSAGE_ERROR) { -- gst_element_set_state(mPlayBin, GST_STATE_NULL); -- gst_message_unref(message); -- return NS_ERROR_FAILURE; -- } -- } -- - /* report the duration */ - gint64 duration; -- GstFormat format = GST_FORMAT_TIME; - - if (isMP3 && mMP3FrameParser.IsMP3()) { - // The MP3FrameParser has reported a duration; use that over the gstreamer -@@ -396,17 +390,25 @@ nsresult GStreamerReader::ReadMetadata(M - mUseParserDuration = true; - mLastParserDuration = mMP3FrameParser.GetDuration(); - mDecoder->SetMediaDuration(mLastParserDuration); -- -- } else if (gst_element_query_duration(GST_ELEMENT(mPlayBin), -- &format, &duration) && format == GST_FORMAT_TIME) { -- // Otherwise use the gstreamer duration. -- ReentrantMonitorAutoEnter mon(mDecoder->GetReentrantMonitor()); -- LOG(PR_LOG_DEBUG, "returning duration %" GST_TIME_FORMAT, GST_TIME_ARGS(duration)); -- duration = GST_TIME_AS_USECONDS (duration); -- mDecoder->SetMediaDuration(duration); -- - } else { -- mDecoder->SetMediaSeekable(false); -+ LOG(PR_LOG_DEBUG, "querying duration"); -+ // Otherwise use the gstreamer duration. -+#if GST_VERSION_MAJOR >= 1 -+ if (gst_element_query_duration(GST_ELEMENT(mPlayBin), -+ GST_FORMAT_TIME, &duration)) { -+#else -+ GstFormat format = GST_FORMAT_TIME; -+ if (gst_element_query_duration(GST_ELEMENT(mPlayBin), -+ &format, &duration) && format == GST_FORMAT_TIME) { -+#endif -+ ReentrantMonitorAutoEnter mon(mDecoder->GetReentrantMonitor()); -+ LOG(PR_LOG_DEBUG, "have duration %" GST_TIME_FORMAT, -+ GST_TIME_ARGS (duration)); -+ duration = GST_TIME_AS_USECONDS (duration); -+ mDecoder->SetMediaDuration(duration); -+ } else { -+ mDecoder->SetMediaSeekable(false); -+ } - } - - int n_video = 0, n_audio = 0; -@@ -419,7 +421,11 @@ nsresult GStreamerReader::ReadMetadata(M - *aTags = nullptr; - - // Watch the pipeline for fatal errors -+#if GST_VERSION_MAJOR >= 1 -+ gst_bus_set_sync_handler(mBus, GStreamerReader::ErrorCb, this, nullptr); -+#else - gst_bus_set_sync_handler(mBus, GStreamerReader::ErrorCb, this); -+#endif - - /* set the pipeline to PLAYING so that it starts decoding and queueing data in - * the appsinks */ -@@ -433,19 +439,35 @@ nsresult GStreamerReader::CheckSupported - bool done = false; - bool unsupported = false; - -- GstIterator *it = gst_bin_iterate_recurse(GST_BIN(mPlayBin)); -+ GstIterator* it = gst_bin_iterate_recurse(GST_BIN(mPlayBin)); - while (!done) { -+ GstIteratorResult res; - GstElement* element; -- GstIteratorResult res = gst_iterator_next(it, (void **)&element); -+ -+#if GST_VERSION_MAJOR >= 1 -+ GValue value = {0,}; -+ res = gst_iterator_next(it, &value); -+#else -+ res = gst_iterator_next(it, (void **) &element); -+#endif - switch(res) { - case GST_ITERATOR_OK: - { -+#if GST_VERSION_MAJOR >= 1 -+ element = GST_ELEMENT (g_value_get_object (&value)); -+#endif - GstElementFactory* factory = gst_element_get_factory(element); - if (factory) { - const char* klass = gst_element_factory_get_klass(factory); -- GstPad* pad = gst_element_get_pad(element, "sink"); -+ GstPad* pad = gst_element_get_static_pad(element, "sink"); - if (pad) { -- GstCaps* caps = gst_pad_get_negotiated_caps(pad); -+ GstCaps* caps; -+ -+#if GST_VERSION_MAJOR >= 1 -+ caps = gst_pad_get_current_caps(pad); -+#else -+ caps = gst_pad_get_negotiated_caps(pad); -+#endif - - if (caps) { - /* check for demuxers but ignore elements like id3demux */ -@@ -460,7 +482,11 @@ nsresult GStreamerReader::CheckSupported - } - } - -+#if GST_VERSION_MAJOR >= 1 -+ g_value_unset (&value); -+#else - gst_object_unref(element); -+#endif - done = unsupported; - break; - } -@@ -484,6 +510,8 @@ nsresult GStreamerReader::ResetDecode() - { - nsresult res = NS_OK; - -+ LOG(PR_LOG_DEBUG, "reset decode"); -+ - if (NS_FAILED(MediaDecoderReader::ResetDecode())) { - res = NS_ERROR_FAILURE; - } -@@ -494,6 +522,11 @@ nsresult GStreamerReader::ResetDecode() - mVideoSinkBufferCount = 0; - mAudioSinkBufferCount = 0; - mReachedEos = false; -+#if GST_VERSION_MAJOR >= 1 -+ mConfigureAlignment = true; -+#endif -+ -+ LOG(PR_LOG_DEBUG, "reset decode done"); - - return res; - } -@@ -517,11 +550,11 @@ bool GStreamerReader::DecodeAudioData() - /* We have nothing decoded so it makes no sense to return to the state machine - * as it will call us back immediately, we'll return again and so on, wasting - * CPU cycles for no job done. So, block here until there is either video or -- * audio data available -+ * audio data available - */ - mon.Wait(); - if (!mAudioSinkBufferCount) { -- /* There is still no audio data available, so either there is video data or -+ /* There is still no audio data available, so either there is video data or - * something else has happened (Eos, etc...). Return to the state machine - * to process it. - */ -@@ -533,24 +566,44 @@ bool GStreamerReader::DecodeAudioData() - } - } - -+#if GST_VERSION_MAJOR >= 1 -+ GstSample *sample = gst_app_sink_pull_sample(mAudioAppSink); -+ buffer = gst_buffer_ref(gst_sample_get_buffer(sample)); -+ gst_sample_unref(sample); -+#else - buffer = gst_app_sink_pull_buffer(mAudioAppSink); -+#endif -+ - mAudioSinkBufferCount--; - } - - int64_t timestamp = GST_BUFFER_TIMESTAMP(buffer); - timestamp = gst_segment_to_stream_time(&mAudioSegment, - GST_FORMAT_TIME, timestamp); -+ - timestamp = GST_TIME_AS_USECONDS(timestamp); -+ - int64_t duration = 0; - if (GST_CLOCK_TIME_IS_VALID(GST_BUFFER_DURATION(buffer))) - duration = GST_TIME_AS_USECONDS(GST_BUFFER_DURATION(buffer)); - - int64_t offset = GST_BUFFER_OFFSET(buffer); -+#if GST_VERSION_MAJOR >= 1 -+ GstMapInfo info; -+ gst_buffer_map(buffer, &info, GST_MAP_READ); -+ unsigned int size = info.size; -+#else - unsigned int size = GST_BUFFER_SIZE(buffer); -+#endif - int32_t frames = (size / sizeof(AudioDataValue)) / mInfo.mAudio.mChannels; - ssize_t outSize = static_cast<size_t>(size / sizeof(AudioDataValue)); - nsAutoArrayPtr<AudioDataValue> data(new AudioDataValue[outSize]); -+#if GST_VERSION_MAJOR >= 1 -+ memcpy(data, info.data, info.size); -+ gst_buffer_unmap(buffer, &info); -+#else - memcpy(data, GST_BUFFER_DATA(buffer), GST_BUFFER_SIZE(buffer)); -+#endif - AudioData* audio = new AudioData(offset, timestamp, duration, - frames, data.forget(), mInfo.mAudio.mChannels); - -@@ -561,7 +614,7 @@ bool GStreamerReader::DecodeAudioData() - } - - bool GStreamerReader::DecodeVideoFrame(bool &aKeyFrameSkip, -- int64_t aTimeThreshold) -+ int64_t aTimeThreshold) - { - NS_ASSERTION(mDecoder->OnDecodeThread(), "Should be on decode thread."); - -@@ -580,11 +633,11 @@ bool GStreamerReader::DecodeVideoFrame(b - /* We have nothing decoded so it makes no sense to return to the state machine - * as it will call us back immediately, we'll return again and so on, wasting - * CPU cycles for no job done. So, block here until there is either video or -- * audio data available -+ * audio data available - */ - mon.Wait(); - if (!mVideoSinkBufferCount) { -- /* There is still no video data available, so either there is audio data or -+ /* There is still no video data available, so either there is audio data or - * something else has happened (Eos, etc...). Return to the state machine - * to process it - */ -@@ -598,11 +651,17 @@ bool GStreamerReader::DecodeVideoFrame(b - - mDecoder->NotifyDecodedFrames(0, 1); - -+#if GST_VERSION_MAJOR >= 1 -+ GstSample *sample = gst_app_sink_pull_sample(mVideoAppSink); -+ buffer = gst_buffer_ref(gst_sample_get_buffer(sample)); -+ gst_sample_unref(sample); -+#else - buffer = gst_app_sink_pull_buffer(mVideoAppSink); -+#endif - mVideoSinkBufferCount--; - } - -- bool isKeyframe = !GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_DISCONT); -+ bool isKeyframe = !GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_DELTA_UNIT); - if ((aKeyFrameSkip && !isKeyframe)) { - gst_buffer_unref(buffer); - return true; -@@ -618,10 +677,18 @@ bool GStreamerReader::DecodeVideoFrame(b - "frame has invalid timestamp"); - - timestamp = GST_TIME_AS_USECONDS(timestamp); -+ int64_t duration; -+ if (GST_CLOCK_TIME_IS_VALID(GST_BUFFER_DURATION(buffer))) -+ duration = GST_TIME_AS_USECONDS(GST_BUFFER_DURATION(buffer)); -+ else if (fpsNum && fpsDen) -+ /* add 1-frame duration */ -+ duration = gst_util_uint64_scale(GST_USECOND, fpsDen, fpsNum); -+ - if (timestamp < aTimeThreshold) { - LOG(PR_LOG_DEBUG, "skipping frame %" GST_TIME_FORMAT - " threshold %" GST_TIME_FORMAT, -- GST_TIME_ARGS(timestamp), GST_TIME_ARGS(aTimeThreshold)); -+ GST_TIME_ARGS(timestamp * 1000), -+ GST_TIME_ARGS(aTimeThreshold * 1000)); - gst_buffer_unref(buffer); - return true; - } -@@ -630,61 +697,36 @@ bool GStreamerReader::DecodeVideoFrame(b - /* no more frames */ - return false; - -- int64_t duration = 0; -- if (GST_CLOCK_TIME_IS_VALID(GST_BUFFER_DURATION(buffer))) -- duration = GST_TIME_AS_USECONDS(GST_BUFFER_DURATION(buffer)); -- else if (fpsNum && fpsDen) -- /* 1-frame duration */ -- duration = gst_util_uint64_scale(GST_USECOND, fpsNum, fpsDen); -- -- nsRefPtr<PlanarYCbCrImage> image; -- GstMozVideoBufferData* bufferdata = reinterpret_cast<GstMozVideoBufferData*> -- GST_IS_MOZ_VIDEO_BUFFER(buffer)?gst_moz_video_buffer_get_data(GST_MOZ_VIDEO_BUFFER(buffer)):nullptr; -- -- if(bufferdata) -- image = bufferdata->mImage; -+#if GST_VERSION_MAJOR >= 1 -+ if (mConfigureAlignment && buffer->pool) { -+ GstStructure *config = gst_buffer_pool_get_config(buffer->pool); -+ GstVideoAlignment align; -+ if (gst_buffer_pool_config_get_video_alignment(config, &align)) -+ gst_video_info_align(&mVideoInfo, &align); -+ gst_structure_free(config); -+ mConfigureAlignment = false; -+ } -+#endif - -+ nsRefPtr<PlanarYCbCrImage> image = GetImageFromBuffer(buffer); - if (!image) { - /* Ugh, upstream is not calling gst_pad_alloc_buffer(). Fallback to - * allocating a PlanarYCbCrImage backed GstBuffer here and memcpy. - */ - GstBuffer* tmp = nullptr; -- AllocateVideoBufferFull(nullptr, GST_BUFFER_OFFSET(buffer), -- GST_BUFFER_SIZE(buffer), nullptr, &tmp, image); -- -- /* copy */ -- gst_buffer_copy_metadata(tmp, buffer, (GstBufferCopyFlags)GST_BUFFER_COPY_ALL); -- memcpy(GST_BUFFER_DATA(tmp), GST_BUFFER_DATA(buffer), -- GST_BUFFER_SIZE(tmp)); -+ CopyIntoImageBuffer(buffer, &tmp, image); - gst_buffer_unref(buffer); - buffer = tmp; - } - -- guint8* data = GST_BUFFER_DATA(buffer); -- -- int width = mPicture.width; -- int height = mPicture.height; -- GstVideoFormat format = mFormat; -- -- VideoData::YCbCrBuffer b; -- for(int i = 0; i < 3; i++) { -- b.mPlanes[i].mData = data + gst_video_format_get_component_offset(format, i, -- width, height); -- b.mPlanes[i].mStride = gst_video_format_get_row_stride(format, i, width); -- b.mPlanes[i].mHeight = gst_video_format_get_component_height(format, -- i, height); -- b.mPlanes[i].mWidth = gst_video_format_get_component_width(format, -- i, width); -- b.mPlanes[i].mOffset = 0; -- b.mPlanes[i].mSkip = 0; -- } -- -- isKeyframe = !GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_DELTA_UNIT); - int64_t offset = mDecoder->GetResource()->Tell(); // Estimate location in media. -- VideoData* video = VideoData::Create(mInfo.mVideo, image, offset, -- timestamp, duration, b, -- isKeyframe, -1, mPicture); -+ VideoData* video = VideoData::CreateFromImage(mInfo.mVideo, -+ mDecoder->GetImageContainer(), -+ offset, timestamp, duration, -+ static_cast<Image*>(image.get()), -+ isKeyframe, -1, mPicture); - mVideoQueue.Push(video); -+ - gst_buffer_unref(buffer); - - return true; -@@ -707,6 +749,10 @@ nsresult GStreamerReader::Seek(int64_t a - return NS_ERROR_FAILURE; - } - LOG(PR_LOG_DEBUG, "seek succeeded"); -+ GstMessage* message = gst_bus_timed_pop_filtered(mBus, GST_CLOCK_TIME_NONE, -+ (GstMessageType)(GST_MESSAGE_ASYNC_DONE | GST_MESSAGE_ERROR)); -+ gst_message_unref(message); -+ LOG(PR_LOG_DEBUG, "seek completed"); - - return DecodeToTarget(aTarget); - } -@@ -718,7 +764,9 @@ nsresult GStreamerReader::GetBuffered(do - return NS_OK; - } - -+#if GST_VERSION_MAJOR == 0 - GstFormat format = GST_FORMAT_TIME; -+#endif - MediaResource* resource = mDecoder->GetResource(); - nsTArray<MediaByteRange> ranges; - resource->GetCachedRanges(ranges); -@@ -740,12 +788,21 @@ nsresult GStreamerReader::GetBuffered(do - int64_t endOffset = ranges[index].mEnd; - gint64 startTime, endTime; - -+#if GST_VERSION_MAJOR >= 1 -+ if (!gst_element_query_convert(GST_ELEMENT(mPlayBin), GST_FORMAT_BYTES, -+ startOffset, GST_FORMAT_TIME, &startTime)) -+ continue; -+ if (!gst_element_query_convert(GST_ELEMENT(mPlayBin), GST_FORMAT_BYTES, -+ endOffset, GST_FORMAT_TIME, &endTime)) -+ continue; -+#else - if (!gst_element_query_convert(GST_ELEMENT(mPlayBin), GST_FORMAT_BYTES, - startOffset, &format, &startTime) || format != GST_FORMAT_TIME) - continue; - if (!gst_element_query_convert(GST_ELEMENT(mPlayBin), GST_FORMAT_BYTES, - endOffset, &format, &endTime) || format != GST_FORMAT_TIME) - continue; -+#endif - - double start = (double) GST_TIME_AS_USECONDS (startTime) / GST_MSECOND; - double end = (double) GST_TIME_AS_USECONDS (endTime) / GST_MSECOND; -@@ -766,7 +823,13 @@ void GStreamerReader::ReadAndPushData(gu - nsresult rv = NS_OK; - - GstBuffer* buffer = gst_buffer_new_and_alloc(aLength); -+#if GST_VERSION_MAJOR >= 1 -+ GstMapInfo info; -+ gst_buffer_map(buffer, &info, GST_MAP_WRITE); -+ guint8 *data = info.data; -+#else - guint8* data = GST_BUFFER_DATA(buffer); -+#endif - uint32_t size = 0, bytesRead = 0; - while(bytesRead < aLength) { - rv = resource->Read(reinterpret_cast<char*>(data + bytesRead), -@@ -780,7 +843,12 @@ void GStreamerReader::ReadAndPushData(gu - int64_t offset2 = resource->Tell(); - unused << offset2; - -+#if GST_VERSION_MAJOR >= 1 -+ gst_buffer_unmap(buffer, &info); -+ gst_buffer_set_size(buffer, bytesRead); -+#else - GST_BUFFER_SIZE(buffer) = bytesRead; -+#endif - - GstFlowReturn ret = gst_app_src_push_buffer(mSource, gst_buffer_ref(buffer)); - if (ret != GST_FLOW_OK) { -@@ -813,8 +881,13 @@ int64_t GStreamerReader::QueryDuration() - gint64 duration = 0; - GstFormat format = GST_FORMAT_TIME; - -+#if GST_VERSION_MAJOR >= 1 -+ if (gst_element_query_duration(GST_ELEMENT(mPlayBin), -+ format, &duration)) { -+#else - if (gst_element_query_duration(GST_ELEMENT(mPlayBin), - &format, &duration)) { -+#endif - if (format == GST_FORMAT_TIME) { - LOG(PR_LOG_DEBUG, "pipeline duration %" GST_TIME_FORMAT, - GST_TIME_ARGS (duration)); -@@ -893,109 +966,6 @@ gboolean GStreamerReader::SeekData(GstAp - return NS_SUCCEEDED(rv); - } - --gboolean GStreamerReader::EventProbeCb(GstPad* aPad, -- GstEvent* aEvent, -- gpointer aUserData) --{ -- GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(aUserData); -- return reader->EventProbe(aPad, aEvent); --} -- --gboolean GStreamerReader::EventProbe(GstPad* aPad, GstEvent* aEvent) --{ -- GstElement* parent = GST_ELEMENT(gst_pad_get_parent(aPad)); -- switch(GST_EVENT_TYPE(aEvent)) { -- case GST_EVENT_NEWSEGMENT: -- { -- gboolean update; -- gdouble rate; -- GstFormat format; -- gint64 start, stop, position; -- GstSegment* segment; -- -- /* Store the segments so we can convert timestamps to stream time, which -- * is what the upper layers sync on. -- */ -- ReentrantMonitorAutoEnter mon(mGstThreadsMonitor); -- gst_event_parse_new_segment(aEvent, &update, &rate, &format, -- &start, &stop, &position); -- if (parent == GST_ELEMENT(mVideoAppSink)) -- segment = &mVideoSegment; -- else -- segment = &mAudioSegment; -- gst_segment_set_newsegment(segment, update, rate, format, -- start, stop, position); -- break; -- } -- case GST_EVENT_FLUSH_STOP: -- /* Reset on seeks */ -- ResetDecode(); -- break; -- default: -- break; -- } -- gst_object_unref(parent); -- -- return TRUE; --} -- --GstFlowReturn GStreamerReader::AllocateVideoBufferFull(GstPad* aPad, -- guint64 aOffset, -- guint aSize, -- GstCaps* aCaps, -- GstBuffer** aBuf, -- nsRefPtr<PlanarYCbCrImage>& aImage) --{ -- /* allocate an image using the container */ -- ImageContainer* container = mDecoder->GetImageContainer(); -- if (!container) { -- // We don't have an ImageContainer. We probably belong to an <audio> -- // element. -- return GST_FLOW_NOT_SUPPORTED; -- } -- PlanarYCbCrImage* img = -- reinterpret_cast<PlanarYCbCrImage*>( -- container->CreateImage(ImageFormat::PLANAR_YCBCR).get()); -- nsRefPtr<PlanarYCbCrImage> image = dont_AddRef(img); -- -- /* prepare a GstBuffer pointing to the underlying PlanarYCbCrImage buffer */ -- GstBuffer* buf = GST_BUFFER(gst_moz_video_buffer_new()); -- GST_BUFFER_SIZE(buf) = aSize; -- /* allocate the actual YUV buffer */ -- GST_BUFFER_DATA(buf) = image->AllocateAndGetNewBuffer(aSize); -- -- aImage = image; -- -- /* create a GstMozVideoBufferData to hold the image */ -- GstMozVideoBufferData* bufferdata = new GstMozVideoBufferData(image); -- -- /* Attach bufferdata to our GstMozVideoBuffer, it will take care to free it */ -- gst_moz_video_buffer_set_data(GST_MOZ_VIDEO_BUFFER(buf), bufferdata); -- -- *aBuf = buf; -- return GST_FLOW_OK; --} -- --GstFlowReturn GStreamerReader::AllocateVideoBufferCb(GstPad* aPad, -- guint64 aOffset, -- guint aSize, -- GstCaps* aCaps, -- GstBuffer** aBuf) --{ -- GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(gst_pad_get_element_private(aPad)); -- return reader->AllocateVideoBuffer(aPad, aOffset, aSize, aCaps, aBuf); --} -- --GstFlowReturn GStreamerReader::AllocateVideoBuffer(GstPad* aPad, -- guint64 aOffset, -- guint aSize, -- GstCaps* aCaps, -- GstBuffer** aBuf) --{ -- nsRefPtr<PlanarYCbCrImage> image; -- return AllocateVideoBufferFull(aPad, aOffset, aSize, aCaps, aBuf, image); --} -- - GstFlowReturn GStreamerReader::NewPrerollCb(GstAppSink* aSink, - gpointer aUserData) - { -@@ -1012,8 +982,12 @@ void GStreamerReader::AudioPreroll() - { - /* The first audio buffer has reached the audio sink. Get rate and channels */ - LOG(PR_LOG_DEBUG, "Audio preroll"); -- GstPad* sinkpad = gst_element_get_pad(GST_ELEMENT(mAudioAppSink), "sink"); -+ GstPad* sinkpad = gst_element_get_static_pad(GST_ELEMENT(mAudioAppSink), "sink"); -+#if GST_VERSION_MAJOR >= 1 -+ GstCaps *caps = gst_pad_get_current_caps(sinkpad); -+#else - GstCaps* caps = gst_pad_get_negotiated_caps(sinkpad); -+#endif - GstStructure* s = gst_caps_get_structure(caps, 0); - mInfo.mAudio.mRate = mInfo.mAudio.mChannels = 0; - gst_structure_get_int(s, "rate", (gint*) &mInfo.mAudio.mRate); -@@ -1031,9 +1005,18 @@ void GStreamerReader::VideoPreroll() - { - /* The first video buffer has reached the video sink. Get width and height */ - LOG(PR_LOG_DEBUG, "Video preroll"); -- GstPad* sinkpad = gst_element_get_pad(GST_ELEMENT(mVideoAppSink), "sink"); -+ GstPad* sinkpad = gst_element_get_static_pad(GST_ELEMENT(mVideoAppSink), "sink"); -+#if GST_VERSION_MAJOR >= 1 -+ GstCaps* caps = gst_pad_get_current_caps(sinkpad); -+ memset (&mVideoInfo, 0, sizeof (mVideoInfo)); -+ gst_video_info_from_caps(&mVideoInfo, caps); -+ mFormat = mVideoInfo.finfo->format; -+ mPicture.width = mVideoInfo.width; -+ mPicture.height = mVideoInfo.height; -+#else - GstCaps* caps = gst_pad_get_negotiated_caps(sinkpad); - gst_video_format_parse_caps(caps, &mFormat, &mPicture.width, &mPicture.height); -+#endif - GstStructure* structure = gst_caps_get_structure(caps, 0); - gst_structure_get_fraction(structure, "framerate", &fpsNum, &fpsDen); - NS_ASSERTION(mPicture.width && mPicture.height, "invalid video resolution"); -@@ -1062,6 +1045,7 @@ void GStreamerReader::NewVideoBuffer() - /* We have a new video buffer queued in the video sink. Increment the counter - * and notify the decode thread potentially blocked in DecodeVideoFrame - */ -+ - mDecoder->NotifyDecodedFrames(1, 0); - mVideoSinkBufferCount++; - mon.NotifyAll(); -@@ -1198,5 +1182,199 @@ void GStreamerReader::NotifyDataArrived( - } - } - -+#if GST_VERSION_MAJOR >= 1 -+GstCaps* GStreamerReader::BuildAudioSinkCaps() -+{ -+ GstCaps* caps = gst_caps_from_string("audio/x-raw, channels={1,2}"); -+ const char* format; -+#ifdef MOZ_SAMPLE_TYPE_FLOAT32 -+#ifdef IS_LITTLE_ENDIAN -+ format = "F32LE"; -+#else -+ format = "F32BE"; -+#endif -+#else /* !MOZ_SAMPLE_TYPE_FLOAT32 */ -+#ifdef IS_LITTLE_ENDIAN -+ format = "S16LE"; -+#else -+ format = "S16BE"; -+#endif -+#endif -+ gst_caps_set_simple(caps, "format", G_TYPE_STRING, format, nullptr); -+ -+ return caps; -+} -+ -+void GStreamerReader::InstallPadCallbacks() -+{ -+ GstPad* sinkpad = gst_element_get_static_pad(GST_ELEMENT(mVideoAppSink), "sink"); -+ -+ gst_pad_add_probe(sinkpad, -+ (GstPadProbeType) (GST_PAD_PROBE_TYPE_SCHEDULING | -+ GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM | -+ GST_PAD_PROBE_TYPE_EVENT_UPSTREAM | -+ GST_PAD_PROBE_TYPE_EVENT_FLUSH), -+ &GStreamerReader::EventProbeCb, this, nullptr); -+ gst_pad_add_probe(sinkpad, GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM, -+ GStreamerReader::QueryProbeCb, nullptr, nullptr); -+ -+ gst_pad_set_element_private(sinkpad, this); -+ gst_object_unref(sinkpad); -+ -+ sinkpad = gst_element_get_static_pad(GST_ELEMENT(mAudioAppSink), "sink"); -+ gst_pad_add_probe(sinkpad, -+ (GstPadProbeType) (GST_PAD_PROBE_TYPE_SCHEDULING | -+ GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM | -+ GST_PAD_PROBE_TYPE_EVENT_UPSTREAM | -+ GST_PAD_PROBE_TYPE_EVENT_FLUSH), -+ &GStreamerReader::EventProbeCb, this, nullptr); -+ gst_object_unref(sinkpad); -+} -+ -+GstPadProbeReturn GStreamerReader::EventProbeCb(GstPad *aPad, -+ GstPadProbeInfo *aInfo, -+ gpointer aUserData) -+{ -+ GStreamerReader *reader = (GStreamerReader *) aUserData; -+ GstEvent *aEvent = (GstEvent *)aInfo->data; -+ return reader->EventProbe(aPad, aEvent); -+} -+ -+GstPadProbeReturn GStreamerReader::EventProbe(GstPad *aPad, GstEvent *aEvent) -+{ -+ GstElement* parent = GST_ELEMENT(gst_pad_get_parent(aPad)); -+ -+ LOG(PR_LOG_DEBUG, "event probe %s", GST_EVENT_TYPE_NAME (aEvent)); -+ -+ switch(GST_EVENT_TYPE(aEvent)) { -+ case GST_EVENT_SEGMENT: -+ { -+ const GstSegment *newSegment; -+ GstSegment* segment; -+ -+ /* Store the segments so we can convert timestamps to stream time, which -+ * is what the upper layers sync on. -+ */ -+ ReentrantMonitorAutoEnter mon(mGstThreadsMonitor); -+#if GST_VERSION_MINOR <= 1 && GST_VERSION_MICRO < 1 -+ ResetDecode(); -+#endif -+ gst_event_parse_segment(aEvent, &newSegment); -+ if (parent == GST_ELEMENT(mVideoAppSink)) -+ segment = &mVideoSegment; -+ else -+ segment = &mAudioSegment; -+ gst_segment_copy_into (newSegment, segment); -+ break; -+ } -+ case GST_EVENT_FLUSH_STOP: -+ /* Reset on seeks */ -+ ResetDecode(); -+ break; -+ default: -+ break; -+ } -+ gst_object_unref(parent); -+ -+ return GST_PAD_PROBE_OK; -+} -+ -+GstPadProbeReturn GStreamerReader::QueryProbeCb(GstPad* aPad, GstPadProbeInfo* aInfo, gpointer aUserData) -+{ -+ GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(gst_pad_get_element_private(aPad)); -+ return reader->QueryProbe(aPad, aInfo, aUserData); -+} -+ -+GstPadProbeReturn GStreamerReader::QueryProbe(GstPad* aPad, GstPadProbeInfo* aInfo, gpointer aUserData) -+{ -+ GstQuery *query = gst_pad_probe_info_get_query(aInfo); -+ GstPadProbeReturn ret = GST_PAD_PROBE_OK; -+ -+ switch (GST_QUERY_TYPE (query)) { -+ case GST_QUERY_ALLOCATION: -+ GstCaps *caps; -+ GstVideoInfo info; -+ gboolean need_pool; -+ -+ gst_query_parse_allocation(query, &caps, &need_pool); -+ gst_video_info_init(&info); -+ gst_video_info_from_caps(&info, caps); -+ gst_query_add_allocation_param(query, mAllocator, nullptr); -+ gst_query_add_allocation_pool(query, mBufferPool, info.size, 0, 0); -+ gst_query_add_allocation_meta(query, GST_VIDEO_META_API_TYPE, nullptr); -+ break; -+ default: -+ break; -+ } -+ -+ return ret; -+} -+ -+void GStreamerReader::ImageDataFromVideoFrame(GstVideoFrame *aFrame, -+ PlanarYCbCrImage::Data *aData) -+{ -+ NS_ASSERTION(GST_VIDEO_INFO_IS_YUV(&mVideoInfo), -+ "Non-YUV video frame formats not supported"); -+ NS_ASSERTION(GST_VIDEO_FRAME_N_COMPONENTS(aFrame) == 3, -+ "Unsupported number of components in video frame"); -+ -+ aData->mPicX = aData->mPicY = 0; -+ aData->mPicSize = gfx::IntSize(mPicture.width, mPicture.height); -+ aData->mStereoMode = StereoMode::MONO; -+ -+ aData->mYChannel = GST_VIDEO_FRAME_COMP_DATA(aFrame, 0); -+ aData->mYStride = GST_VIDEO_FRAME_COMP_STRIDE(aFrame, 0); -+ aData->mYSize = gfx::IntSize(GST_VIDEO_FRAME_COMP_WIDTH(aFrame, 0), -+ GST_VIDEO_FRAME_COMP_HEIGHT(aFrame, 0)); -+ aData->mYSkip = GST_VIDEO_FRAME_COMP_PSTRIDE(aFrame, 0) - 1; -+ aData->mCbCrStride = GST_VIDEO_FRAME_COMP_STRIDE(aFrame, 1); -+ aData->mCbCrSize = gfx::IntSize(GST_VIDEO_FRAME_COMP_WIDTH(aFrame, 1), -+ GST_VIDEO_FRAME_COMP_HEIGHT(aFrame, 1)); -+ aData->mCbChannel = GST_VIDEO_FRAME_COMP_DATA(aFrame, 1); -+ aData->mCrChannel = GST_VIDEO_FRAME_COMP_DATA(aFrame, 2); -+ aData->mCbSkip = GST_VIDEO_FRAME_COMP_PSTRIDE(aFrame, 1) - 1; -+ aData->mCrSkip = GST_VIDEO_FRAME_COMP_PSTRIDE(aFrame, 2) - 1; -+} -+ -+nsRefPtr<PlanarYCbCrImage> GStreamerReader::GetImageFromBuffer(GstBuffer* aBuffer) -+{ -+ nsRefPtr<PlanarYCbCrImage> image = nullptr; -+ -+ if (gst_buffer_n_memory(aBuffer) == 1) { -+ GstMemory* mem = gst_buffer_peek_memory(aBuffer, 0); -+ if (GST_IS_MOZ_GFX_MEMORY_ALLOCATOR(mem->allocator)) { -+ image = moz_gfx_memory_get_image(mem); -+ -+ GstVideoFrame frame; -+ gst_video_frame_map(&frame, &mVideoInfo, aBuffer, GST_MAP_READ); -+ PlanarYCbCrImage::Data data; -+ ImageDataFromVideoFrame(&frame, &data); -+ image->SetDataNoCopy(data); -+ gst_video_frame_unmap(&frame); -+ } -+ } -+ -+ return image; -+} -+ -+void GStreamerReader::CopyIntoImageBuffer(GstBuffer* aBuffer, -+ GstBuffer** aOutBuffer, -+ nsRefPtr<PlanarYCbCrImage> &image) -+{ -+ *aOutBuffer = gst_buffer_new_allocate(mAllocator, gst_buffer_get_size(aBuffer), nullptr); -+ GstMemory *mem = gst_buffer_peek_memory(*aOutBuffer, 0); -+ GstMapInfo map_info; -+ gst_memory_map(mem, &map_info, GST_MAP_WRITE); -+ gst_buffer_extract(aBuffer, 0, map_info.data, gst_buffer_get_size(aBuffer)); -+ gst_memory_unmap(mem, &map_info); -+ -+ /* create a new gst buffer with the newly created memory and copy the -+ * metadata over from the incoming buffer */ -+ gst_buffer_copy_into(*aOutBuffer, aBuffer, -+ (GstBufferCopyFlags)(GST_BUFFER_COPY_METADATA), 0, -1); -+ image = GetImageFromBuffer(*aOutBuffer); -+} -+#endif -+ - } // namespace mozilla - diff --git a/www/firefox/patches/patch-content_media_gstreamer_GStreamerReader.h b/www/firefox/patches/patch-content_media_gstreamer_GStreamerReader.h deleted file mode 100644 index cc6fa481bd2..00000000000 --- a/www/firefox/patches/patch-content_media_gstreamer_GStreamerReader.h +++ /dev/null @@ -1,103 +0,0 @@ -$NetBSD: patch-content_media_gstreamer_GStreamerReader.h,v 1.1 2014/03/20 21:02:00 ryoon Exp $ - ---- content/media/gstreamer/GStreamerReader.h.orig 2014-03-15 05:19:11.000000000 +0000 -+++ content/media/gstreamer/GStreamerReader.h -@@ -22,6 +22,7 @@ - - #include "MediaDecoderReader.h" - #include "MP3FrameParser.h" -+#include "ImageContainer.h" - #include "nsRect.h" - - namespace mozilla { -@@ -30,10 +31,6 @@ namespace dom { - class TimeRanges; - } - --namespace layers { --class PlanarYCbCrImage; --} -- - class AbstractMediaDecoder; - - class GStreamerReader : public MediaDecoderReader -@@ -67,10 +64,20 @@ public: - return mInfo.HasVideo(); - } - -+ layers::ImageContainer* GetImageContainer() { return mDecoder->GetImageContainer(); } -+ - private: - - void ReadAndPushData(guint aLength); - int64_t QueryDuration(); -+ nsRefPtr<layers::PlanarYCbCrImage> GetImageFromBuffer(GstBuffer* aBuffer); -+ void CopyIntoImageBuffer(GstBuffer *aBuffer, GstBuffer** aOutBuffer, nsRefPtr<layers::PlanarYCbCrImage> &image); -+ GstCaps* BuildAudioSinkCaps(); -+ void InstallPadCallbacks(); -+ -+#if GST_VERSION_MAJOR >= 1 -+ void ImageDataFromVideoFrame(GstVideoFrame *aFrame, layers::PlanarYCbCrImage::Data *aData); -+#endif - - /* Called once the pipeline is setup to check that the stream only contains - * supported formats -@@ -105,20 +112,31 @@ private: - gboolean SeekData(GstAppSrc* aSrc, guint64 aOffset); - - /* Called when events reach the sinks. See inline comments */ -+#if GST_VERSION_MAJOR == 1 -+ static GstPadProbeReturn EventProbeCb(GstPad *aPad, GstPadProbeInfo *aInfo, gpointer aUserData); -+ GstPadProbeReturn EventProbe(GstPad *aPad, GstEvent *aEvent); -+#else - static gboolean EventProbeCb(GstPad* aPad, GstEvent* aEvent, gpointer aUserData); - gboolean EventProbe(GstPad* aPad, GstEvent* aEvent); -+#endif - -- /* Called when elements in the video branch of the pipeline call -- * gst_pad_alloc_buffer(). Used to provide PlanarYCbCrImage backed GstBuffers -- * to the pipeline so that a memory copy can be avoided when handling YUV -- * buffers from the pipeline to the gfx side. -- */ -+ /* Called when the video part of the pipeline allocates buffers. Used to -+ * provide PlanarYCbCrImage backed GstBuffers to the pipeline so that a memory -+ * copy can be avoided when handling YUV buffers from the pipeline to the gfx -+ * side. -+ */ -+#if GST_VERSION_MAJOR == 1 -+ static GstPadProbeReturn QueryProbeCb(GstPad *aPad, GstPadProbeInfo *aInfo, gpointer aUserData); -+ GstPadProbeReturn QueryProbe(GstPad *aPad, GstPadProbeInfo *aInfo, gpointer aUserData); -+#else - static GstFlowReturn AllocateVideoBufferCb(GstPad* aPad, guint64 aOffset, guint aSize, - GstCaps* aCaps, GstBuffer** aBuf); - GstFlowReturn AllocateVideoBufferFull(GstPad* aPad, guint64 aOffset, guint aSize, - GstCaps* aCaps, GstBuffer** aBuf, nsRefPtr<layers::PlanarYCbCrImage>& aImage); - GstFlowReturn AllocateVideoBuffer(GstPad* aPad, guint64 aOffset, guint aSize, - GstCaps* aCaps, GstBuffer** aBuf); -+#endif -+ - - /* Called when the pipeline is prerolled, that is when at start or after a - * seek, the first audio and video buffers are queued in the sinks. -@@ -167,6 +185,11 @@ private: - bool mUseParserDuration; - int64_t mLastParserDuration; - -+#if GST_VERSION_MAJOR >= 1 -+ GstAllocator *mAllocator; -+ GstBufferPool *mBufferPool; -+ GstVideoInfo mVideoInfo; -+#endif - GstElement* mPlayBin; - GstBus* mBus; - GstAppSrc* mSource; -@@ -197,6 +220,9 @@ private: - * DecodeAudioData and DecodeVideoFrame should not expect any more data - */ - bool mReachedEos; -+#if GST_VERSION_MAJOR >= 1 -+ bool mConfigureAlignment; -+#endif - int fpsNum; - int fpsDen; - }; diff --git a/www/firefox/patches/patch-content_media_gstreamer_moz.build b/www/firefox/patches/patch-content_media_gstreamer_moz.build deleted file mode 100644 index 6badf82e80e..00000000000 --- a/www/firefox/patches/patch-content_media_gstreamer_moz.build +++ /dev/null @@ -1,25 +0,0 @@ -$NetBSD: patch-content_media_gstreamer_moz.build,v 1.1 2014/03/20 21:02:00 ryoon Exp $ - ---- content/media/gstreamer/moz.build.orig 2014-03-15 05:19:11.000000000 +0000 -+++ content/media/gstreamer/moz.build -@@ -15,10 +15,19 @@ SOURCES += [ - 'GStreamerDecoder.cpp', - 'GStreamerFormatHelper.cpp', - 'GStreamerLoader.cpp', -- 'GStreamerMozVideoBuffer.cpp', - 'GStreamerReader.cpp', - ] - -+if CONFIG['GST_API_VERSION'] == '1.0': -+ SOURCES += [ -+ 'GStreamerAllocator.cpp', -+ ] -+else: -+ SOURCES += [ -+ 'GStreamerMozVideoBuffer.cpp', -+ 'GStreamerReader-0.10.cpp', -+ ] -+ - FAIL_ON_WARNINGS = True - - FINAL_LIBRARY = 'gklayout' diff --git a/www/firefox/patches/patch-content_media_test_manifest.js b/www/firefox/patches/patch-content_media_test_manifest.js deleted file mode 100644 index a91d314d1e9..00000000000 --- a/www/firefox/patches/patch-content_media_test_manifest.js +++ /dev/null @@ -1,17 +0,0 @@ -$NetBSD: patch-content_media_test_manifest.js,v 1.1 2014/03/20 21:02:00 ryoon Exp $ - ---- content/media/test/manifest.js.orig 2014-03-15 05:19:11.000000000 +0000 -+++ content/media/test/manifest.js -@@ -357,9 +357,9 @@ var gUnseekableTests = [ - { name:"bogus.duh", type:"bogus/duh"} - ]; - // Unfortunately big-buck-bunny-unseekable.mp4 is doesn't play on Windows 7, so --// only include it in the unseekable tests if we're on later versions of Windows. --if (navigator.userAgent.indexOf("Windows") == -1 || -- IsWindows8OrLater()) { -+// only include it in the unseekable tests if we're on later versions of Windows. -+// This test actually only passes on win8 at the moment. -+if (navigator.userAgent.indexOf("Windows") != -1 && IsWindows8OrLater()) { - gUnseekableTests = gUnseekableTests.concat([ - { name:"big-buck-bunny-unseekable.mp4", type:"video/mp4" } - ]); diff --git a/www/firefox/patches/patch-dom_system_OSFileConstants.cpp b/www/firefox/patches/patch-dom_system_OSFileConstants.cpp index 40794f90923..f5f015215fe 100644 --- a/www/firefox/patches/patch-dom_system_OSFileConstants.cpp +++ b/www/firefox/patches/patch-dom_system_OSFileConstants.cpp @@ -1,13 +1,13 @@ -$NetBSD: patch-dom_system_OSFileConstants.cpp,v 1.4 2014/05/30 10:22:05 pho Exp $ +$NetBSD: patch-dom_system_OSFileConstants.cpp,v 1.5 2014/06/11 00:40:59 ryoon Exp $ * NetBSD 5 does not support posix_spawn(3) * Replace XP_MACOSX with XP_DARWIN as the former is not defined when the toolkit is not cocoa. ---- dom/system/OSFileConstants.cpp.orig 2014-05-06 22:55:26.000000000 +0000 +--- dom/system/OSFileConstants.cpp.orig 2014-05-29 23:30:40.000000000 +0000 +++ dom/system/OSFileConstants.cpp -@@ -9,22 +9,26 @@ +@@ -9,6 +9,10 @@ #include "prsystem.h" @@ -18,15 +18,7 @@ $NetBSD: patch-dom_system_OSFileConstants.cpp,v 1.4 2014/05/30 10:22:05 pho Exp #if defined(XP_UNIX) #include "unistd.h" #include "dirent.h" - #include "sys/stat.h" --#if !defined(ANDROID) -+#if !defined(ANDROID) && (defined(__NetBSD_) && (__NetBSD_Version__ < 600000000)) - #include <spawn.h> --#endif // !defined(ANDROID) -+#endif // !defined(ANDROID) && NetBSD 5.* - #endif // defined(XP_UNIX) - - #if defined(XP_LINUX) +@@ -26,9 +30,9 @@ #include <linux/fadvise.h> #endif // defined(XP_LINUX) @@ -38,9 +30,9 @@ $NetBSD: patch-dom_system_OSFileConstants.cpp,v 1.4 2014/05/30 10:22:05 pho Exp #if defined(XP_WIN) #include <windows.h> -@@ -526,10 +530,10 @@ static const dom::ConstantSpec gLibcProp - // The size of |time_t|. - { "OSFILE_SIZEOF_TIME_T", INT_TO_JSVAL(sizeof (time_t)) }, +@@ -533,10 +537,10 @@ static const dom::ConstantSpec gLibcProp + // The size of |fsblkcnt_t|. + { "OSFILE_SIZEOF_FSBLKCNT_T", INT_TO_JSVAL(sizeof (fsblkcnt_t)) }, -#if !defined(ANDROID) +#if !defined(ANDROID) && (defined(__NetBSD_) && (__NetBSD_Version__ < 600000000)) @@ -51,3 +43,12 @@ $NetBSD: patch-dom_system_OSFileConstants.cpp,v 1.4 2014/05/30 10:22:05 pho Exp // Defining |dirent|. // Size +@@ -596,7 +600,7 @@ static const dom::ConstantSpec gLibcProp + + { "OSFILE_SIZEOF_STATVFS", INT_TO_JSVAL(sizeof (struct statvfs)) }, + +- { "OSFILE_OFFSETOF_STATVFS_F_BSIZE", INT_TO_JSVAL(offsetof (struct statvfs, f_bsize)) }, ++ { "OSFILE_OFFSETOF_STATVFS_F_FRSIZE", INT_TO_JSVAL(offsetof (struct statvfs, f_frsize)) }, + { "OSFILE_OFFSETOF_STATVFS_F_BAVAIL", INT_TO_JSVAL(offsetof (struct statvfs, f_bavail)) }, + + #endif // defined(XP_UNIX) diff --git a/www/firefox/patches/patch-gfx__skia__include__core__SkPreConfig.h b/www/firefox/patches/patch-gfx__skia__include__core__SkPreConfig.h deleted file mode 100644 index 5693621ebc8..00000000000 --- a/www/firefox/patches/patch-gfx__skia__include__core__SkPreConfig.h +++ /dev/null @@ -1,16 +0,0 @@ -$NetBSD: patch-gfx__skia__include__core__SkPreConfig.h,v 1.4 2014/02/20 13:19:03 ryoon Exp $ - -Configure sparc cpus as big endian (Bugzilla #884376) - -diff -r 581ea0e6531e gfx/skia/include/core/SkPreConfig.h ---- gfx/skia/include/core/SkPreConfig.h.orig 2013-10-25 22:27:18.000000000 +0000 -+++ gfx/skia/include/core/SkPreConfig.h -@@ -100,7 +100,7 @@ - - #if !defined(SK_CPU_BENDIAN) && !defined(SK_CPU_LENDIAN) - #if defined (__ppc__) || defined(__PPC__) || defined(__ppc64__) \ -- || defined(__PPC64__) -+ || defined(__PPC64__) || defined(__sparc) || defined(__sparc__) - #define SK_CPU_BENDIAN - #else - #define SK_CPU_LENDIAN diff --git a/www/firefox/patches/patch-gfx_skia_Makefile.in b/www/firefox/patches/patch-gfx_skia_Makefile.in index bbc919b294c..d60eeeb5048 100644 --- a/www/firefox/patches/patch-gfx_skia_Makefile.in +++ b/www/firefox/patches/patch-gfx_skia_Makefile.in @@ -1,8 +1,8 @@ -$NetBSD: patch-gfx_skia_Makefile.in,v 1.3 2014/03/20 21:02:00 ryoon Exp $ +$NetBSD: patch-gfx_skia_Makefile.in,v 1.4 2014/06/11 00:40:59 ryoon Exp $ ---- gfx/skia/Makefile.in.orig 2014-03-15 05:19:16.000000000 +0000 +--- gfx/skia/Makefile.in.orig 2014-05-29 23:30:46.000000000 +0000 +++ gfx/skia/Makefile.in -@@ -34,6 +34,10 @@ ifeq (qt,$(MOZ_WIDGET_TOOLKIT)) +@@ -15,6 +15,10 @@ ifeq (qt,$(MOZ_WIDGET_TOOLKIT)) OS_CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PANGO_CFLAGS) $(CAIRO_FT_CFLAGS) endif @@ -12,4 +12,4 @@ $NetBSD: patch-gfx_skia_Makefile.in,v 1.3 2014/03/20 21:02:00 ryoon Exp $ + include $(topsrcdir)/config/rules.mk - ifneq (,$(INTEL_ARCHITECTURE)) + ifeq ($(CPU_ARCH)_$(GNU_CC),arm_1) diff --git a/www/firefox/patches/patch-gfx_skia_moz.build b/www/firefox/patches/patch-gfx_skia_moz.build deleted file mode 100644 index 8d5012ca5a9..00000000000 --- a/www/firefox/patches/patch-gfx_skia_moz.build +++ /dev/null @@ -1,13 +0,0 @@ -$NetBSD: patch-gfx_skia_moz.build,v 1.6 2014/03/20 21:02:00 ryoon Exp $ - ---- gfx/skia/moz.build.orig 2014-03-15 05:19:16.000000000 +0000 -+++ gfx/skia/moz.build -@@ -209,7 +209,7 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt - 'src/ports/SkFontHost_cairo.cpp', - 'src/ports/SkFontHost_FreeType_common.cpp', - ] -- if CONFIG['OS_TARGET'] == 'Linux': -+ if CONFIG['MOZ_X11'] == 1 or CONFIG['OS_TARGET'] == 'Linux': - EXPORTS.skia += [ - 'include/ports/SkTypeface_cairo.h', - ] diff --git a/www/firefox/patches/patch-gfx_skia_src_utils_SkThreadUtils__pthread__linux.cpp b/www/firefox/patches/patch-gfx_skia_src_utils_SkThreadUtils__pthread__linux.cpp deleted file mode 100644 index f55e216ba88..00000000000 --- a/www/firefox/patches/patch-gfx_skia_src_utils_SkThreadUtils__pthread__linux.cpp +++ /dev/null @@ -1,86 +0,0 @@ -$NetBSD: patch-gfx_skia_src_utils_SkThreadUtils__pthread__linux.cpp,v 1.6 2014/04/30 15:07:18 ryoon Exp $ - -* Use cpuset(3) for NetBSD. From rmind@. - ---- gfx/skia/src/utils/SkThreadUtils_pthread_linux.cpp.orig 2014-04-18 02:02:58.000000000 +0000 -+++ gfx/skia/src/utils/SkThreadUtils_pthread_linux.cpp -@@ -12,16 +12,20 @@ - #include "SkThreadUtils.h" - #include "SkThreadUtils_pthread.h" - -+#include <unistd.h> - #include <pthread.h> - #ifdef __FreeBSD__ - #include <pthread_np.h> - #endif -+#ifdef __NetBSD__ -+#include <sched.h> -+#endif - - #if defined(__FreeBSD__) || defined(__NetBSD__) - #define cpu_set_t cpuset_t - #endif - --#ifndef CPU_COUNT -+#if !defined(CPU_COUNT) && !defined(__NetBSD__) - static int CPU_COUNT(cpu_set_t *set) { - int count = 0; - for (int i = 0; i < CPU_SETSIZE; i++) { -@@ -31,7 +35,24 @@ static int CPU_COUNT(cpu_set_t *set) { - } - return count; - } --#endif /* !CPU_COUNT */ -+#endif -+ -+#if defined(__NetBSD__) -+ -+#define CPU_ISSET(c, s) cpuset_isset(c, s) -+ -+static int CPU_COUNT(cpuset_t *set) { -+ static const int ncpu = sysconf(_SC_NPROCESSORS_CONF); -+ int count = 0; -+ -+ for (int i = 0; i < ncpu; i++) { -+ if (cpuset_isset(i, set)) { -+ count++; -+ } -+ } -+ return count; -+ } -+#endif - - static int nth_set_cpu(unsigned int n, cpu_set_t* cpuSet) { - n %= CPU_COUNT(cpuSet); -@@ -51,6 +72,7 @@ bool SkThread::setProcessorAffinity(unsi - return false; - } - -+#if !defined(__NetBSD__) - cpu_set_t parentCpuset; - if (0 != pthread_getaffinity_np(pthread_self(), sizeof(cpu_set_t), &parentCpuset)) { - return false; -@@ -62,4 +84,23 @@ bool SkThread::setProcessorAffinity(unsi - return 0 == pthread_setaffinity_np(pthreadData->fPThread, - sizeof(cpu_set_t), - &cpuset); -+#else -+ cpuset_t *cpuset = cpuset_create(); -+ if (!cpuset) { -+ return false; -+ } -+ size_t csize = cpuset_size(cpuset); -+ if (0 != pthread_getaffinity_np(pthread_self(), csize, cpuset)) { -+ cpuset_destroy(cpuset); -+ return false; -+ } -+ -+ int nthcpu = nth_set_cpu(processor, cpuset); -+ cpuset_zero(cpuset); -+ cpuset_set(nthcpu, cpuset); -+ -+ bool ok = 0 == pthread_setaffinity_np(pthreadData->fPThread, csize, cpuset); -+ cpuset_destroy(cpuset); -+ return ok; -+#endif - } diff --git a/www/firefox/patches/patch-ipc_chromium_Makefile.in b/www/firefox/patches/patch-ipc_chromium_Makefile.in index b584dd7e743..735cc9953b2 100644 --- a/www/firefox/patches/patch-ipc_chromium_Makefile.in +++ b/www/firefox/patches/patch-ipc_chromium_Makefile.in @@ -1,15 +1,13 @@ -$NetBSD: patch-ipc_chromium_Makefile.in,v 1.6 2014/03/20 21:02:00 ryoon Exp $ +$NetBSD: patch-ipc_chromium_Makefile.in,v 1.7 2014/06/11 00:40:59 ryoon Exp $ ---- ipc/chromium/Makefile.in.orig 2014-03-15 05:19:19.000000000 +0000 +--- ipc/chromium/Makefile.in.orig 2014-05-29 23:30:52.000000000 +0000 +++ ipc/chromium/Makefile.in -@@ -11,9 +11,7 @@ vpath %.c \ - $(srcdir)/src/third_party/libevent \ - $(NULL) - else # } else { --# message_pump_libevent.cc includes third_party/libevent/event.h, --# which we put in $(DIST), see export rule below --LOCAL_INCLUDES += -I$(DIST) -+LOCAL_INCLUDES += $(filter %/compat, $(MOZ_LIBEVENT_CFLAGS)) - endif # } +@@ -28,6 +28,8 @@ include $(topsrcdir)/config/rules.mk + + ifdef MOZ_NATIVE_LIBEVENT # { - vpath %.cc \ ++OS_CPPFLAGS += $(filter %/compat, $(MOZ_LIBEVENT_CFLAGS)) ++ + export-preqs = \ + $(call mkdir_deps,$(CURDIR)/third_party/libevent) \ + $(NULL) diff --git a/www/firefox/patches/patch-ipc_chromium_src_base_message__loop.cc b/www/firefox/patches/patch-ipc_chromium_src_base_message__loop.cc index 06eff91ea1e..a2700577ba4 100644 --- a/www/firefox/patches/patch-ipc_chromium_src_base_message__loop.cc +++ b/www/firefox/patches/patch-ipc_chromium_src_base_message__loop.cc @@ -1,8 +1,8 @@ -$NetBSD: patch-ipc_chromium_src_base_message__loop.cc,v 1.1 2014/05/30 03:03:36 pho Exp $ +$NetBSD: patch-ipc_chromium_src_base_message__loop.cc,v 1.2 2014/06/11 00:40:59 ryoon Exp $ Don't assume cocoa toolkit just because OS_ARCH is Darwin. ---- ipc/chromium/src/base/message_loop.cc.orig 2014-05-06 22:55:41.000000000 +0000 +--- ipc/chromium/src/base/message_loop.cc.orig 2014-05-29 23:30:52.000000000 +0000 +++ ipc/chromium/src/base/message_loop.cc @@ -14,20 +14,18 @@ #include "base/string_util.h" @@ -26,7 +26,7 @@ Don't assume cocoa toolkit just because OS_ARCH is Darwin. #ifdef ANDROID #include "base/message_pump_android.h" #endif -@@ -135,11 +133,11 @@ MessageLoop::MessageLoop(Type type) +@@ -135,9 +133,9 @@ MessageLoop::MessageLoop(Type type) } #elif defined(OS_POSIX) if (type_ == TYPE_UI) { @@ -38,5 +38,3 @@ Don't assume cocoa toolkit just because OS_ARCH is Darwin. pump_ = new base::MessagePumpForUI(); #endif // OS_LINUX } else if (type_ == TYPE_IO) { - pump_ = new base::MessagePumpLibevent(); - } else { diff --git a/www/firefox/patches/patch-ipc_glue_GeckoChildProcessHost.cpp b/www/firefox/patches/patch-ipc_glue_GeckoChildProcessHost.cpp index 869e4db0e92..98d1d90157c 100644 --- a/www/firefox/patches/patch-ipc_glue_GeckoChildProcessHost.cpp +++ b/www/firefox/patches/patch-ipc_glue_GeckoChildProcessHost.cpp @@ -1,9 +1,9 @@ -$NetBSD: patch-ipc_glue_GeckoChildProcessHost.cpp,v 1.7 2014/05/30 03:03:36 pho Exp $ +$NetBSD: patch-ipc_glue_GeckoChildProcessHost.cpp,v 1.8 2014/06/11 00:40:59 ryoon Exp $ * Just because OS_ARCH is Darwin does not mean MacOS X specific kludges are needed. ---- ipc/glue/GeckoChildProcessHost.cpp.orig 2014-05-06 22:55:41.000000000 +0000 +--- ipc/glue/GeckoChildProcessHost.cpp.orig 2014-05-29 23:30:53.000000000 +0000 +++ ipc/glue/GeckoChildProcessHost.cpp @@ -4,7 +4,13 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this @@ -19,7 +19,7 @@ $NetBSD: patch-ipc_glue_GeckoChildProcessHost.cpp,v 1.7 2014/05/30 03:03:36 pho #if defined(XP_WIN) && defined(MOZ_CONTENT_SANDBOX) #include "sandboxBroker.h" -@@ -504,7 +510,7 @@ GeckoChildProcessHost::PerformAsyncLaunc +@@ -548,7 +554,7 @@ GeckoChildProcessHost::PerformAsyncLaunc // and passing wstrings from one config to the other is unsafe. So // we split the logic here. @@ -28,43 +28,7 @@ $NetBSD: patch-ipc_glue_GeckoChildProcessHost.cpp,v 1.7 2014/05/30 03:03:36 pho base::environment_map newEnvVars; ChildPrivileges privs = mPrivileges; if (privs == base::PRIVILEGES_DEFAULT) { -@@ -523,7 +529,7 @@ GeckoChildProcessHost::PerformAsyncLaunc - if (NS_SUCCEEDED(rv)) { - nsCString path; - greDir->GetNativePath(path); --# if defined(OS_LINUX) || defined(OS_BSD) -+# if defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS) - # if defined(MOZ_WIDGET_ANDROID) - path += "/lib"; - # endif // MOZ_WIDGET_ANDROID -@@ -538,7 +544,17 @@ GeckoChildProcessHost::PerformAsyncLaunc - newEnvVars["LD_LIBRARY_PATH"] = path.get(); - } - # elif OS_MACOSX -- newEnvVars["DYLD_LIBRARY_PATH"] = path.get(); -+ const char *dyld_library_path = PR_GetEnv("DYLD_LIBRARY_PATH"); -+ nsCString new_dyld_lib_path; -+ if (dyld_library_path && *dyld_library_path) { -+ new_dyld_lib_path.Assign(path.get()); -+ new_dyld_lib_path.AppendLiteral(":"); -+ new_dyld_lib_path.Append(dyld_library_path); -+ newEnvVars["DYLD_LIBRARY_PATH"] = new_dyld_lib_path.get(); -+ } else { -+ newEnvVars["DYLD_LIBRARY_PATH"] = path.get(); -+ } -+# if defined(MOZ_WIDGET_COCOA) - // XXX DYLD_INSERT_LIBRARIES should only be set when launching a plugin - // process, and has no effect on other subprocesses (the hooks in - // libplugin_child_interpose.dylib become noops). But currently it -@@ -558,6 +574,7 @@ GeckoChildProcessHost::PerformAsyncLaunc - interpose.Append(path.get()); - interpose.AppendLiteral("/libplugin_child_interpose.dylib"); - newEnvVars["DYLD_INSERT_LIBRARIES"] = interpose.get(); -+# endif // MOZ_WIDGET_COCOA - # endif // OS_LINUX - } - } -@@ -632,7 +649,7 @@ GeckoChildProcessHost::PerformAsyncLaunc +@@ -671,7 +677,7 @@ GeckoChildProcessHost::PerformAsyncLaunc childArgv.push_back(pidstring); #if defined(MOZ_CRASHREPORTER) @@ -73,7 +37,7 @@ $NetBSD: patch-ipc_glue_GeckoChildProcessHost.cpp,v 1.7 2014/05/30 03:03:36 pho int childCrashFd, childCrashRemapFd; if (!CrashReporter::CreateNotificationPipeForChild( &childCrashFd, &childCrashRemapFd)) -@@ -665,7 +682,7 @@ GeckoChildProcessHost::PerformAsyncLaunc +@@ -704,7 +710,7 @@ GeckoChildProcessHost::PerformAsyncLaunc childArgv.push_back(childProcessType); base::LaunchApp(childArgv, mFileMap, diff --git a/www/firefox/patches/patch-media_libcubeb_src_Makefile.in b/www/firefox/patches/patch-media_libcubeb_src_Makefile.in index 3141e460ea4..c2d532aa1c7 100644 --- a/www/firefox/patches/patch-media_libcubeb_src_Makefile.in +++ b/www/firefox/patches/patch-media_libcubeb_src_Makefile.in @@ -1,15 +1,12 @@ -$NetBSD: patch-media_libcubeb_src_Makefile.in,v 1.1 2014/04/30 15:07:18 ryoon Exp $ +$NetBSD: patch-media_libcubeb_src_Makefile.in,v 1.2 2014/06/11 00:40:59 ryoon Exp $ ---- media/libcubeb/src/Makefile.in.orig 2014-04-18 02:03:46.000000000 +0000 +--- media/libcubeb/src/Makefile.in.orig 2014-05-29 23:31:19.000000000 +0000 +++ media/libcubeb/src/Makefile.in -@@ -10,6 +10,10 @@ CFLAGS += \ +@@ -9,3 +9,7 @@ CFLAGS += \ + $(MOZ_ALSA_CFLAGS) \ $(MOZ_PULSEAUDIO_CFLAGS) \ $(NULL) - ++ +ifdef MOZ_NATIVE_SPEEX +CFLAGS += $(MOZ_SPEEX_CFLAGS) +endif -+ - ifeq ($(MOZ_WIDGET_TOOLKIT),gonk) - LOCAL_INCLUDES += -I$(ANDROID_SOURCE)/frameworks/wilhelm/include \ - -I$(ANDROID_SOURCE)/system/media/wilhelm/include diff --git a/www/firefox/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc b/www/firefox/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc index 20332f5ab8f..e9f342eba46 100644 --- a/www/firefox/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc +++ b/www/firefox/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc @@ -1,16 +1,8 @@ -$NetBSD: patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc,v 1.7 2014/04/30 15:07:18 ryoon Exp $ +$NetBSD: patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc,v 1.8 2014/06/11 00:40:59 ryoon Exp $ ---- media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc.orig 2014-04-18 02:03:54.000000000 +0000 +--- media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc.orig 2014-05-29 23:31:23.000000000 +0000 +++ media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc -@@ -18,17 +18,28 @@ - #include <sys/stat.h> - #include <unistd.h> - //v4l includes --#if defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__) -+#if defined(__NetBSD__) || defined(__OpenBSD__) - #include <sys/videoio.h> - #elif defined(__sun) - #include <sys/videodev2.h> +@@ -25,10 +25,21 @@ #else #include <linux/videodev2.h> #endif diff --git a/www/firefox/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc b/www/firefox/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc index 616e97ba83e..9e143204525 100644 --- a/www/firefox/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc +++ b/www/firefox/patches/patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc @@ -1,16 +1,8 @@ -$NetBSD: patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc,v 1.7 2014/04/30 15:07:18 ryoon Exp $ +$NetBSD: patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc,v 1.8 2014/06/11 00:40:59 ryoon Exp $ ---- media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc.orig 2014-04-18 02:03:54.000000000 +0000 +--- media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc.orig 2014-05-29 23:31:23.000000000 +0000 +++ media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc -@@ -18,13 +18,16 @@ - #include <unistd.h> - - //v4l includes --#if defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__) -+#if defined(__NetBSD__) || defined(__OpenBSD__) - #include <sys/videoio.h> - #elif defined(__sun) - #include <sys/videodev2.h> +@@ -25,6 +25,9 @@ #else #include <linux/videodev2.h> #endif diff --git a/www/firefox/patches/patch-netwerk_sctp_src_netinet6_sctp6__usrreq.c b/www/firefox/patches/patch-netwerk_sctp_src_netinet6_sctp6__usrreq.c deleted file mode 100644 index 86f9622cdea..00000000000 --- a/www/firefox/patches/patch-netwerk_sctp_src_netinet6_sctp6__usrreq.c +++ /dev/null @@ -1,13 +0,0 @@ -$NetBSD: patch-netwerk_sctp_src_netinet6_sctp6__usrreq.c,v 1.3 2014/02/20 13:19:03 ryoon Exp $ - ---- netwerk/sctp/src/netinet6/sctp6_usrreq.c.orig 2013-06-17 22:13:23.000000000 +0000 -+++ netwerk/sctp/src/netinet6/sctp6_usrreq.c -@@ -459,6 +459,8 @@ sctp6_notify(struct sctp_inpcb *inp, - (icmph->icmp6_code == ICMP_UNREACH_HOST_PROHIB) || - #ifdef __Panda__ - (icmph->icmp6_code == ICMP_UNREACH_ADMIN)) { -+#elif defined(__Userspace_os_NetBSD) -+ (icmph->icmp6_code == ICMP_UNREACH_ADMIN_PROHIBIT)) { - #else - (icmph->icmp6_code == ICMP_UNREACH_FILTER_PROHIB)) { - #endif diff --git a/www/firefox/patches/patch-netwerk_sctp_src_netinet_sctp__os__userspace.h b/www/firefox/patches/patch-netwerk_sctp_src_netinet_sctp__os__userspace.h deleted file mode 100644 index 1024da6f7f5..00000000000 --- a/www/firefox/patches/patch-netwerk_sctp_src_netinet_sctp__os__userspace.h +++ /dev/null @@ -1,41 +0,0 @@ -$NetBSD: patch-netwerk_sctp_src_netinet_sctp__os__userspace.h,v 1.4 2014/02/20 13:19:03 ryoon Exp $ - ---- netwerk/sctp/src/netinet/sctp_os_userspace.h.orig 2013-06-17 22:13:23.000000000 +0000 -+++ netwerk/sctp/src/netinet/sctp_os_userspace.h -@@ -383,7 +383,7 @@ struct udphdr { - #else /* !defined(Userspace_os_Windows) */ - #include <sys/cdefs.h> /* needed? added from old __FreeBSD__ */ - #include <sys/socket.h> --#if defined(__Userspace_os_FreeBSD) || defined(__Userspace_os_OpenBSD) || defined(ANDROID) -+#if defined(__Userspace_os_FreeBSD) || defined(__Userspace_os_OpenBSD) || defined(ANDROID) || defined(__Userspace_os_NetBSD) - #include <pthread.h> - #endif - typedef pthread_mutex_t userland_mutex_t; -@@ -397,7 +397,9 @@ typedef pthread_t userland_thread_t; - #define MA_OWNED 7 /* sys/mutex.h typically on FreeBSD */ - #if !defined(__Userspace_os_FreeBSD) - struct mtx {int dummy;}; -+#if !defined(__Userspace_os_NetBSD) - struct selinfo {int dummy;}; -+#endif - struct sx {int dummy;}; - #endif - -@@ -500,7 +502,7 @@ struct sx {int dummy;}; - #include <netinet/ip6.h> - #include <netinet/icmp6.h> - #endif --#if defined(__Userspace_os_Linux) || defined(__Userspace_os_Darwin) || defined(__Userspace_os_FreeBSD) || defined(__Userspace_os_OpenBSD) ||defined(__Userspace_os_Windows) -+#if defined(__Userspace_os_Linux) || defined(__Userspace_os_Darwin) || defined(__Userspace_os_FreeBSD) || defined(__Userspace_os_OpenBSD) ||defined(__Userspace_os_Windows) || defined(__Userspace_os_NetBSD) - #include "user_ip6_var.h" - #else - #include <netinet6/ip6_var.h> -@@ -1120,6 +1122,8 @@ sctp_get_mbuf_for_msg(unsigned int space - #if defined(__Userspace_os_FreeBSD) || defined(__Userspace_os_OpenBSD) - /* stolen from /usr/include/sys/socket.h */ - #define CMSG_ALIGN(n) _ALIGN(n) -+#elif defined(__Userspace_os_NetBSD) -+#define CMSG_ALIGN(n) (((n) + __ALIGNBYTES) & ~__ALIGNBYTES) - #elif defined(__Userspace_os_Darwin) - #if !defined(__DARWIN_ALIGNBYTES) - #define __DARWIN_ALIGNBYTES (sizeof(__darwin_size_t) - 1) diff --git a/www/firefox/patches/patch-netwerk_sctp_src_netinet_sctp__usrreq.c b/www/firefox/patches/patch-netwerk_sctp_src_netinet_sctp__usrreq.c deleted file mode 100644 index 3ffe85ee398..00000000000 --- a/www/firefox/patches/patch-netwerk_sctp_src_netinet_sctp__usrreq.c +++ /dev/null @@ -1,13 +0,0 @@ -$NetBSD: patch-netwerk_sctp_src_netinet_sctp__usrreq.c,v 1.3 2014/02/20 13:19:03 ryoon Exp $ - ---- netwerk/sctp/src/netinet/sctp_usrreq.c.orig 2013-06-17 22:13:23.000000000 +0000 -+++ netwerk/sctp/src/netinet/sctp_usrreq.c -@@ -414,6 +414,8 @@ sctp_notify(struct sctp_inpcb *inp, - (icmph->icmp_code == ICMP_UNREACH_HOST_PROHIB) || - #ifdef __Panda__ - (icmph->icmp_code == ICMP_UNREACH_ADMIN)) { -+#elif defined(__Userspace_os_NetBSD) -+ (icmph->icmp_code == ICMP_UNREACH_ADMIN_PROHIBIT)) { - #else - (icmph->icmp_code == ICMP_UNREACH_FILTER_PROHIB)) { - #endif diff --git a/www/firefox/patches/patch-netwerk_sctp_src_user__recv__thread.c b/www/firefox/patches/patch-netwerk_sctp_src_user__recv__thread.c deleted file mode 100644 index b1cc1f5fce4..00000000000 --- a/www/firefox/patches/patch-netwerk_sctp_src_user__recv__thread.c +++ /dev/null @@ -1,13 +0,0 @@ -$NetBSD: patch-netwerk_sctp_src_user__recv__thread.c,v 1.3 2014/02/20 13:19:03 ryoon Exp $ - ---- netwerk/sctp/src/user_recv_thread.c.orig 2013-05-11 19:19:49.000000000 +0000 -+++ netwerk/sctp/src/user_recv_thread.c -@@ -35,7 +35,7 @@ - #include <netinet/in.h> - #include <unistd.h> - #include <pthread.h> --#if !defined(__Userspace_os_FreeBSD) -+#if !defined(__Userspace_os_FreeBSD) && !defined(__Userspace_os_NetBSD) - #include <sys/uio.h> - #else - #include <user_ip6_var.h> diff --git a/www/firefox/patches/patch-netwerk_sctp_src_user__socket.c b/www/firefox/patches/patch-netwerk_sctp_src_user__socket.c deleted file mode 100644 index e59db31077e..00000000000 --- a/www/firefox/patches/patch-netwerk_sctp_src_user__socket.c +++ /dev/null @@ -1,53 +0,0 @@ -$NetBSD: patch-netwerk_sctp_src_user__socket.c,v 1.3 2014/02/20 13:19:03 ryoon Exp $ - ---- netwerk/sctp/src/user_socket.c.orig 2013-06-17 22:13:23.000000000 +0000 -+++ netwerk/sctp/src/user_socket.c -@@ -1104,8 +1104,13 @@ userspace_sctp_recvmsg(struct socket *so - (struct sctp_sndrcvinfo *)sinfo, 1); - - if (error) { -+#if defined(__Userspace_os_NetBSD) -+ if (auio.uio_resid != (int)ulen && ( -+ error == EINTR || error == EWOULDBLOCK)) -+#else - if (auio.uio_resid != (int)ulen && (error == ERESTART || - error == EINTR || error == EWOULDBLOCK)) -+#endif - error = 0; - } - if ((fromlenp != NULL) && (fromlen > 0) && (from != NULL)) { -@@ -1193,7 +1198,11 @@ usrsctp_recvv(struct socket *so, - (struct sctp_sndrcvinfo *)&seinfo, 1); - if (errno) { - if (auio.uio_resid != (int)ulen && -+#if defined(__Userspace_os_NetBSD) -+ (errno == EINTR || errno == EWOULDBLOCK)) { -+#else - (errno == ERESTART || errno == EINTR || errno == EWOULDBLOCK)) { -+#endif - errno = 0; - } - } -@@ -2143,7 +2152,11 @@ int user_connect(struct socket *so, stru - error = pthread_cond_wait(SOCK_COND(so), SOCK_MTX(so)); - #endif - if (error) { -+#if defined(__Userspace_os_NetBSD) -+ if (error == EINTR) -+#else - if (error == EINTR || error == ERESTART) -+#endif - interrupted = 1; - break; - } -@@ -2157,8 +2170,10 @@ int user_connect(struct socket *so, stru - bad: - if (!interrupted) - so->so_state &= ~SS_ISCONNECTING; -+#if !defined(__Userspace_os_NetBSD) - if (error == ERESTART) - error = EINTR; -+#endif - done1: - return (error); - } diff --git a/www/firefox/patches/patch-netwerk_sctp_src_user__socketvar.h b/www/firefox/patches/patch-netwerk_sctp_src_user__socketvar.h deleted file mode 100644 index 70f7a5496c3..00000000000 --- a/www/firefox/patches/patch-netwerk_sctp_src_user__socketvar.h +++ /dev/null @@ -1,27 +0,0 @@ -$NetBSD: patch-netwerk_sctp_src_user__socketvar.h,v 1.4 2014/02/20 13:19:03 ryoon Exp $ - ---- netwerk/sctp/src/user_socketvar.h.orig 2013-06-17 22:13:23.000000000 +0000 -+++ netwerk/sctp/src/user_socketvar.h -@@ -47,7 +47,7 @@ - /* #include <sys/_lock.h> was 0 byte file */ - /* #include <sys/_mutex.h> was 0 byte file */ - /* #include <sys/_sx.h> */ /*__Userspace__ alternative?*/ --#if !defined(__Userspace_os_Windows) && !defined(__Userspace_os_FreeBSD) -+#if !defined(__Userspace_os_Windows) && !defined(__Userspace_os_FreeBSD) && !defined(__Userspace_os_NetBSD) - #include <sys/uio.h> - #endif - #define SOCK_MAXADDRLEN 255 -@@ -64,11 +64,11 @@ - #define ERESTART (-1) - #endif - --#if !defined(__Userspace_os_Darwin) && !defined(__Userspace_os_OpenBSD) -+#if !defined(__Userspace_os_Darwin) && !defined(__Userspace_os_OpenBSD) && !defined(__Userspace_os_NetBSD) - enum uio_rw { UIO_READ, UIO_WRITE }; - #endif - --#if !defined(__Userspace_os_OpenBSD) -+#if !defined(__Userspace_os_OpenBSD) && !defined(__Userspace_os_NetBSD) - /* Segment flag values. */ - enum uio_seg { - UIO_USERSPACE, /* from user data space */ diff --git a/www/firefox/patches/patch-toolkit_components_osfile_modules_osfile__unix__allthreads.jsm b/www/firefox/patches/patch-toolkit_components_osfile_modules_osfile__unix__allthreads.jsm deleted file mode 100644 index 20866868b25..00000000000 --- a/www/firefox/patches/patch-toolkit_components_osfile_modules_osfile__unix__allthreads.jsm +++ /dev/null @@ -1,13 +0,0 @@ -$NetBSD: patch-toolkit_components_osfile_modules_osfile__unix__allthreads.jsm,v 1.2 2014/04/30 15:07:18 ryoon Exp $ - ---- toolkit/components/osfile/modules/osfile_unix_allthreads.jsm.orig 2014-04-18 02:04:23.000000000 +0000 -+++ toolkit/components/osfile/modules/osfile_unix_allthreads.jsm -@@ -41,6 +41,8 @@ let Const = SharedAll.Constants.libc; - // Open libc - let libc; - let libc_candidates = [ "libc.so", -+ "libc.so.6", -+ "libc.so.7", - "libSystem.B.dylib", - "a.out" ]; - for (let i = 0; i < libc_candidates.length; ++i) { diff --git a/www/firefox/patches/patch-toolkit_components_osfile_modules_osfile__unix__back.jsm b/www/firefox/patches/patch-toolkit_components_osfile_modules_osfile__unix__back.jsm index 3440a9762dd..10ef5717325 100644 --- a/www/firefox/patches/patch-toolkit_components_osfile_modules_osfile__unix__back.jsm +++ b/www/firefox/patches/patch-toolkit_components_osfile_modules_osfile__unix__back.jsm @@ -1,33 +1,49 @@ -$NetBSD: patch-toolkit_components_osfile_modules_osfile__unix__back.jsm,v 1.5 2014/03/20 21:02:00 ryoon Exp $ +$NetBSD: patch-toolkit_components_osfile_modules_osfile__unix__back.jsm,v 1.6 2014/06/11 00:40:59 ryoon Exp $ Based on martin@'s patch for firefox 27.0 * Use off_t for st_size * Use function name for NetBSD ---- toolkit/components/osfile/modules/osfile_unix_back.jsm.orig 2014-03-15 05:19:36.000000000 +0000 +--- toolkit/components/osfile/modules/osfile_unix_back.jsm.orig 2014-05-29 23:31:41.000000000 +0000 +++ toolkit/components/osfile/modules/osfile_unix_back.jsm -@@ -558,18 +558,19 @@ +@@ -228,8 +228,8 @@ + let statvfs = new SharedAll.HollowStructure("statvfs", + Const.OSFILE_SIZEOF_STATVFS); + +- statvfs.add_field_at(Const.OSFILE_OFFSETOF_STATVFS_F_BSIZE, +- "f_bsize", Type.unsigned_long.implementation); ++ statvfs.add_field_at(Const.OSFILE_OFFSETOF_STATVFS_F_FRSIZE, ++ "f_frsize", Type.unsigned_long.implementation); + statvfs.add_field_at(Const.OSFILE_OFFSETOF_STATVFS_F_BAVAIL, + "f_bavail", Type.fsblkcnt_t.implementation); + +@@ -626,21 +626,22 @@ return Stat.fxstat(ver, fd, buf); }; } else if (OS.Constants.Sys.Name == "NetBSD") { - // NetBSD 5.0 and newer -- declareLazyFFI(SysFile, "stat", libc, "__stat50", ctypes.default_abi, +- libc.declareLazyFFI(SysFile, "stat", +- "__stat50", ctypes.default_abi, + // NetBSD 5.0 uses *30, and netbsd-6 uses *50 + let v = OS.Constants.libc.OSFILE_SIZEOF_TIME_T < 8 ? "30" : "50"; -+ declareLazyFFI(SysFile, "stat", libc, "__stat"+v, ctypes.default_abi, ++ libc.declareLazyFFI(SysFile, "stat", ++ "__stat"+v, ctypes.default_abi, /*return*/ Type.negativeone_or_nothing, /*path*/ Type.path, /*buf*/ Type.stat.out_ptr ); -- declareLazyFFI(SysFile, "lstat", libc, "__lstat50", ctypes.default_abi, -+ declareLazyFFI(SysFile, "lstat", libc, "__lstat"+v, ctypes.default_abi, + libc.declareLazyFFI(SysFile, "lstat", +- "__lstat50", ctypes.default_abi, ++ "__lstat"+v, ctypes.default_abi, /*return*/ Type.negativeone_or_nothing, /*path*/ Type.path, /*buf*/ Type.stat.out_ptr ); -- declareLazyFFI(SysFile, "fstat", libc, "__fstat50", ctypes.default_abi, -+ declareLazyFFI(SysFile, "fstat", libc, "__fstat"+v, ctypes.default_abi, +- libc.declareLazyFFI(SysFile, "fstat", +- "__fstat50", ctypes.default_abi, ++ libc.declareLazyFFI(SysFile, "fstat", libc, ++ "__fstat"+v, ctypes.default_abi, /*return*/ Type.negativeone_or_nothing, /*fd*/ Type.fd, /*buf*/ Type.stat.out_ptr diff --git a/www/firefox/patches/patch-toolkit_xre_nsAppRunner.cpp b/www/firefox/patches/patch-toolkit_xre_nsAppRunner.cpp deleted file mode 100644 index 99b434ec65f..00000000000 --- a/www/firefox/patches/patch-toolkit_xre_nsAppRunner.cpp +++ /dev/null @@ -1,36 +0,0 @@ -$NetBSD: patch-toolkit_xre_nsAppRunner.cpp,v 1.3 2014/06/06 01:05:50 pho Exp $ - -MacOS X < 10.6 had an undocumented behavior concerning execve(2) -inside a threaded process. If a process tried to call execve(2) and -had more than one active thread, the kernel returned ENOTSUP. So we -have to either fork(2) or vfork(2) before calling execve(2) to make -sure the caller is single-threaded as otherwise the application fails -to restart itself. - -__mac_execve() in XNU 1228 (Darwin 9, MacOS X 10.5) had the -restriction: -http://www.opensource.apple.com/source/xnu/xnu-1228.15.4/bsd/kern/kern_exec.c - -In XNU 1456 (Darwin 10, MacOS X 10.6) the multi-threaded check -disappeared: -http://www.opensource.apple.com/source/xnu/xnu-1456.1.26/bsd/kern/kern_exec.c - ---- toolkit/xre/nsAppRunner.cpp.orig 2014-05-06 22:56:36.000000000 +0000 -+++ toolkit/xre/nsAppRunner.cpp -@@ -1715,6 +1715,16 @@ static nsresult LaunchChild(nsINativeApp - #elif defined(XP_OS2) - if (_execv(exePath.get(), gRestartArgv) == -1) - return NS_ERROR_FAILURE; -+#elif defined(XP_DARWIN) -+ pid_t pid = fork(); -+ if (pid == 0) { // child -+ if (execv(exePath.get(), gRestartArgv) == -1) { -+ _exit(1); -+ } -+ } -+ else if (pid == -1) { -+ return NS_ERROR_FAILURE; -+ } - #elif defined(XP_UNIX) - if (execv(exePath.get(), gRestartArgv) == -1) - return NS_ERROR_FAILURE; diff --git a/www/firefox/patches/patch-xpcom_base_nsStackWalk.cpp b/www/firefox/patches/patch-xpcom_base_nsStackWalk.cpp index 286aad06ab2..3f1b8984f3e 100644 --- a/www/firefox/patches/patch-xpcom_base_nsStackWalk.cpp +++ b/www/firefox/patches/patch-xpcom_base_nsStackWalk.cpp @@ -1,22 +1,11 @@ -$NetBSD: patch-xpcom_base_nsStackWalk.cpp,v 1.6 2014/05/30 10:22:06 pho Exp $ +$NetBSD: patch-xpcom_base_nsStackWalk.cpp,v 1.7 2014/06/11 00:40:59 ryoon Exp $ * Replace XP_MACOSX with XP_DARWIN as the former is not defined when the toolkit is not cocoa. ---- xpcom/base/nsStackWalk.cpp.orig 2014-05-06 22:56:38.000000000 +0000 +--- xpcom/base/nsStackWalk.cpp.orig 2014-05-29 23:31:50.000000000 +0000 +++ xpcom/base/nsStackWalk.cpp -@@ -23,12 +23,18 @@ struct CriticalAddress { - }; - static CriticalAddress gCriticalAddress; - --#if defined(HAVE_DLOPEN) || defined(XP_MACOSX) -+// for _Unwind_Backtrace from libcxxrt or libunwind -+// cxxabi.h from libcxxrt implicitly includes unwind.h first -+#if defined(HAVE__UNWIND_BACKTRACE) && !defined(_GNU_SOURCE) -+#define _GNU_SOURCE -+#endif -+ -+#if defined(HAVE_DLOPEN) || defined(XP_DARWIN) +@@ -33,8 +33,8 @@ static CriticalAddress gCriticalAddress; #include <dlfcn.h> #endif @@ -27,7 +16,7 @@ $NetBSD: patch-xpcom_base_nsStackWalk.cpp,v 1.6 2014/05/30 10:22:06 pho Exp $ (defined(__i386) || defined(__ppc__) || defined(HAVE__UNWIND_BACKTRACE))) #define NSSTACKWALK_SUPPORTS_LINUX \ -@@ -36,11 +42,11 @@ static CriticalAddress gCriticalAddress; +@@ -42,11 +42,11 @@ static CriticalAddress gCriticalAddress; ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \ defined(HAVE__UNWIND_BACKTRACE))) @@ -41,7 +30,7 @@ $NetBSD: patch-xpcom_base_nsStackWalk.cpp,v 1.6 2014/05/30 10:22:06 pho Exp $ #include <pthread.h> #include <CoreServices/CoreServices.h> -@@ -832,7 +838,7 @@ NS_FormatCodeAddressDetails(void *aPC, c +@@ -838,7 +838,7 @@ NS_FormatCodeAddressDetails(void *aPC, c // WIN32 x86 stack walking code // i386 or PPC Linux stackwalking code or Solaris @@ -50,7 +39,7 @@ $NetBSD: patch-xpcom_base_nsStackWalk.cpp,v 1.6 2014/05/30 10:22:06 pho Exp $ #include <stdlib.h> #include <string.h> -@@ -1156,7 +1162,7 @@ FramePointerStackWalk(NS_WalkStackCallba +@@ -1162,7 +1162,7 @@ FramePointerStackWalk(NS_WalkStackCallba (long(next) & 3)) { break; } @@ -59,7 +48,7 @@ $NetBSD: patch-xpcom_base_nsStackWalk.cpp,v 1.6 2014/05/30 10:22:06 pho Exp $ // ppc mac or powerpc64 linux void *pc = *(bp+2); bp += 3; -@@ -1186,7 +1192,7 @@ FramePointerStackWalk(NS_WalkStackCallba +@@ -1192,7 +1192,7 @@ FramePointerStackWalk(NS_WalkStackCallba } #define X86_OR_PPC (defined(__i386) || defined(PPC) || defined(__ppc__)) @@ -68,13 +57,3 @@ $NetBSD: patch-xpcom_base_nsStackWalk.cpp,v 1.6 2014/05/30 10:22:06 pho Exp $ EXPORT_XPCOM_API(nsresult) NS_StackWalk(NS_WalkStackCallback aCallback, uint32_t aSkipFrames, -@@ -1222,9 +1228,6 @@ NS_StackWalk(NS_WalkStackCallback aCallb - #elif defined(HAVE__UNWIND_BACKTRACE) - - // libgcc_s.so symbols _Unwind_Backtrace@@GCC_3.3 and _Unwind_GetIP@@GCC_3.0 --#ifndef _GNU_SOURCE --#define _GNU_SOURCE --#endif - #include <unwind.h> - - struct unwind_info { diff --git a/www/firefox/patches/patch-xpcom_base_nscore.h b/www/firefox/patches/patch-xpcom_base_nscore.h index b3c515a227d..b594af8e909 100644 --- a/www/firefox/patches/patch-xpcom_base_nscore.h +++ b/www/firefox/patches/patch-xpcom_base_nscore.h @@ -1,13 +1,13 @@ -$NetBSD: patch-xpcom_base_nscore.h,v 1.1 2014/03/20 21:02:00 ryoon Exp $ +$NetBSD: patch-xpcom_base_nscore.h,v 1.2 2014/06/11 00:40:59 ryoon Exp $ ---- xpcom/base/nscore.h.orig 2014-03-15 05:19:39.000000000 +0000 +--- xpcom/base/nscore.h.orig 2014-05-29 23:31:50.000000000 +0000 +++ xpcom/base/nscore.h -@@ -110,7 +110,7 @@ +@@ -114,7 +114,7 @@ * NS_HIDDEN_(int) NS_FASTCALL func2(char *foo); */ --#if defined(__i386__) && defined(__GNUC__) && !defined(XP_OS2) -+#if defined(__i386__) && defined(__GNUC__) && !defined(XP_OS2) && !(defined(__clang__) && __clang_major__ == 3 && __clang_minor__ == 4 && __clang_patchlevel__ == 0) +-#if defined(__i386__) && defined(__GNUC__) ++#if defined(__i386__) && defined(__GNUC__) && !(defined(__clang__) && __clang_major__ == 3 && __clang_minor__ == 4 && __clang_patchlevel__ == 0) #define NS_FASTCALL __attribute__ ((regparm (3), stdcall)) #define NS_CONSTRUCTOR_FASTCALL __attribute__ ((regparm (3), stdcall)) #elif defined(XP_WIN) && !defined(_WIN64) diff --git a/www/firefox/patches/patch-xpcom_build_PoisonIOInterposer.h b/www/firefox/patches/patch-xpcom_build_PoisonIOInterposer.h index 0de18a31cd9..7ef92090c76 100644 --- a/www/firefox/patches/patch-xpcom_build_PoisonIOInterposer.h +++ b/www/firefox/patches/patch-xpcom_build_PoisonIOInterposer.h @@ -1,19 +1,10 @@ -$NetBSD: patch-xpcom_build_PoisonIOInterposer.h,v 1.1 2014/05/30 10:22:06 pho Exp $ +$NetBSD: patch-xpcom_build_PoisonIOInterposer.h,v 1.2 2014/06/11 00:40:59 ryoon Exp $ Replace XP_MACOSX with XP_DARWIN as the former is not defined when the toolkit is not cocoa. ---- xpcom/build/PoisonIOInterposer.h.orig 2014-05-06 22:56:38.000000000 +0000 +--- xpcom/build/PoisonIOInterposer.h.orig 2014-05-29 23:31:50.000000000 +0000 +++ xpcom/build/PoisonIOInterposer.h -@@ -26,7 +26,7 @@ void MozillaUnRegisterDebugFILE(FILE *f) -
- MOZ_END_EXTERN_C
-
--#if defined(MOZ_ENABLE_PROFILER_SPS) && (defined(XP_WIN) || defined(XP_MACOSX))
-+#if defined(MOZ_ENABLE_PROFILER_SPS) && (defined(XP_WIN) || defined(XP_DARWIN))
-
- #ifdef __cplusplus
- namespace mozilla {
@@ -44,7 +44,7 @@ bool IsDebugFile(intptr_t aFileID);
*/
void InitPoisonIOInterposer();
@@ -32,15 +23,7 @@ the toolkit is not cocoa. /**
* Clear IO poisoning, this is only safe to do on the main-thread when no other
-@@ -63,19 +63,19 @@ void ClearPoisonIOInterposer();
- } // namespace mozilla
- #endif /* __cplusplus */
-
--#else /* MOZ_ENABLE_PROFILER_SPS && (XP_WIN || XP_MACOSX) */
-+#else /* MOZ_ENABLE_PROFILER_SPS && (XP_WIN || XP_DARWIN) */
-
- #ifdef __cplusplus
- namespace mozilla {
+@@ -70,9 +70,9 @@ namespace mozilla {
inline bool IsDebugFile(intptr_t aFileID){ return true; }
inline void InitPoisonIOInterposer(){}
inline void ClearPoisonIOInterposer(){}
@@ -52,7 +35,3 @@ the toolkit is not cocoa. } // namespace mozilla
#endif /* __cplusplus */
--#endif /* MOZ_ENABLE_PROFILER_SPS && (XP_WIN || XP_MACOSX) */
-+#endif /* MOZ_ENABLE_PROFILER_SPS && (XP_WIN || XP_DARWIN) */
-
- #endif // mozilla_PoisonIOInterposer_h
diff --git a/www/firefox/patches/patch-xpcom_glue_standalone_nsXPCOMGlue.cpp b/www/firefox/patches/patch-xpcom_glue_standalone_nsXPCOMGlue.cpp deleted file mode 100644 index f833bc03524..00000000000 --- a/www/firefox/patches/patch-xpcom_glue_standalone_nsXPCOMGlue.cpp +++ /dev/null @@ -1,34 +0,0 @@ -$NetBSD: patch-xpcom_glue_standalone_nsXPCOMGlue.cpp,v 1.1 2014/05/30 10:22:06 pho Exp $ - -Replace XP_MACOSX with XP_DARWIN as the former is not defined when the -toolkit is not cocoa. - ---- xpcom/glue/standalone/nsXPCOMGlue.cpp.orig 2014-05-26 07:53:46.000000000 +0000 -+++ xpcom/glue/standalone/nsXPCOMGlue.cpp -@@ -119,7 +119,7 @@ CloseLibHandle(LibHandleType aLibHandle) - DosFreeModule(aLibHandle); - } - --#elif defined(XP_MACOSX) -+#elif defined(XP_DARWIN) - #include <mach-o/dyld.h> - - typedef const mach_header *LibHandleType; -@@ -348,7 +348,7 @@ typedef Scoped<ScopedCloseFileTraits> Sc - static void - XPCOMGlueUnload() - { --#if !defined(XP_WIN) && !defined(XP_OS2) && !defined(XP_MACOSX) \ -+#if !defined(XP_WIN) && !defined(XP_OS2) && !defined(XP_DARWIN) \ - && defined(NS_TRACE_MALLOC) - if (sTop) { - _malloc = __libc_malloc; -@@ -461,7 +461,7 @@ XPCOMGlueLoad(const char *xpcomFile) - return nullptr; - } - --#if !defined(XP_WIN) && !defined(XP_OS2) && !defined(XP_MACOSX) \ -+#if !defined(XP_WIN) && !defined(XP_OS2) && !defined(XP_DARWIN) \ - && defined(NS_TRACE_MALLOC) - _malloc = (__ptr_t(*)(size_t)) GetSymbol(sTop->libHandle, "malloc"); - _calloc = (__ptr_t(*)(size_t, size_t)) GetSymbol(sTop->libHandle, "calloc"); diff --git a/www/firefox/patches/patch-xpcom_io_nsLocalFileUnix.cpp b/www/firefox/patches/patch-xpcom_io_nsLocalFileUnix.cpp deleted file mode 100644 index 52e4acf2f88..00000000000 --- a/www/firefox/patches/patch-xpcom_io_nsLocalFileUnix.cpp +++ /dev/null @@ -1,13 +0,0 @@ -$NetBSD: patch-xpcom_io_nsLocalFileUnix.cpp,v 1.1 2014/03/20 21:02:00 ryoon Exp $ - ---- xpcom/io/nsLocalFileUnix.cpp.orig 2014-03-15 05:19:39.000000000 +0000 -+++ xpcom/io/nsLocalFileUnix.cpp -@@ -382,7 +382,7 @@ nsLocalFile::OpenNSPRFileDesc(int32_t fl - PR_Delete(mPath.get()); - } - --#if defined(LINUX) && !defined(ANDROID) -+#if defined(HAVE_POSIX_FADVISE) - if (flags & OS_READAHEAD) { - posix_fadvise(PR_FileDesc2NativeHandle(*_retval), 0, 0, - POSIX_FADV_SEQUENTIAL); |