From 356fd545cd6710f50e4c69945a358f52a5517d65 Mon Sep 17 00:00:00 2001 From: Jan Palus Date: Fri, 17 Jul 2020 12:59:02 +0200 Subject: [PATCH] up to 78.0 - added virtualenv patch from firefox - lightning addon now integrated into main app - updated deps according to https://www.thunderbird.net/en-US/thunderbird/78.0/system-requirements/ --- enable-addons.patch | 4 +- format.patch | 835 ---------------------------- thunderbird-system-virtualenv.patch | 21 + thunderbird.spec | 72 +-- 4 files changed, 39 insertions(+), 893 deletions(-) delete mode 100644 format.patch create mode 100644 thunderbird-system-virtualenv.patch diff --git a/enable-addons.patch b/enable-addons.patch index d0f39e3..8aab52f 100644 --- a/enable-addons.patch +++ b/enable-addons.patch @@ -9,8 +9,8 @@ // Preferences for AMO integration pref("extensions.getAddons.cache.enabled", true); ---- comm/suite/browser/browser-prefs.js~ 2013-11-06 19:54:38.789734061 +0100 -+++ comm/suite/browser/browser-prefs.js 2013-11-06 20:55:33.765611935 +0100 +--- comm/suite/app/profile/suite-prefs.js~ 2013-11-06 19:54:38.789734061 +0100 ++++ comm/suite/app/profile/suite-prefs.js 2013-11-06 20:55:33.765611935 +0100 @@ -616,7 +616,7 @@ // Disable add-ons installed into the shared user and shared system areas by // default. This does not include the application directory. See the SCOPE diff --git a/format.patch b/format.patch deleted file mode 100644 index 7639d4d..0000000 --- a/format.patch +++ /dev/null @@ -1,835 +0,0 @@ - -# HG changeset patch -# User Mike Hommey -# Date 1566200940 0 -# Node ID 42478b7856c0f10c862a1234e4e01040ee99deea -# Parent 6eccfe79d02f025ada20d121eda69cf0b7921f16 -Bug 1531309 - Don't use __PRETTY_FUNCTION__ or __FUNCTION__ as format strings. r=sylvestre - -__PRETTY_FUNCTION__ and __FUNCTION__ are not guaranteed to be a string -literal, and only string literals should be used as format strings. GCC -9 complains about this with -Werror=format-security. - -Differential Revision: https://phabricator.services.mozilla.com/D42459 - -diff --git a/dom/media/systemservices/CamerasChild.cpp b/dom/media/systemservices/CamerasChild.cpp ---- a/dom/media/systemservices/CamerasChild.cpp -+++ b/dom/media/systemservices/CamerasChild.cpp -@@ -153,36 +153,36 @@ int CamerasChild::AddDeviceChangeCallbac - - // So here we setup camera engine via EnsureInitialized(aCapEngine) - - EnsureInitialized(CameraEngine); - return DeviceChangeCallback::AddDeviceChangeCallback(aCallback); - } - - mozilla::ipc::IPCResult CamerasChild::RecvReplyFailure(void) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - MonitorAutoLock monitor(mReplyMonitor); - mReceivedReply = true; - mReplySuccess = false; - monitor.Notify(); - return IPC_OK(); - } - - mozilla::ipc::IPCResult CamerasChild::RecvReplySuccess(void) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - MonitorAutoLock monitor(mReplyMonitor); - mReceivedReply = true; - mReplySuccess = true; - monitor.Notify(); - return IPC_OK(); - } - - mozilla::ipc::IPCResult CamerasChild::RecvReplyNumberOfCapabilities( - const int& numdev) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - MonitorAutoLock monitor(mReplyMonitor); - mReceivedReply = true; - mReplySuccess = true; - mReplyInteger = numdev; - monitor.Notify(); - return IPC_OK(); - } - -@@ -257,51 +257,51 @@ bool CamerasChild::DispatchToParent(nsIR - if (!mReplySuccess) { - return false; - } - return true; - } - - int CamerasChild::NumberOfCapabilities(CaptureEngine aCapEngine, - const char* deviceUniqueIdUTF8) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - LOG(("NumberOfCapabilities for %s", deviceUniqueIdUTF8)); - nsCString unique_id(deviceUniqueIdUTF8); - nsCOMPtr runnable = - mozilla::NewRunnableMethod( - "camera::PCamerasChild::SendNumberOfCapabilities", this, - &CamerasChild::SendNumberOfCapabilities, aCapEngine, unique_id); - LockAndDispatch<> dispatcher(this, __func__, runnable, 0, mReplyInteger); - LOG(("Capture capability count: %d", dispatcher.ReturnValue())); - return dispatcher.ReturnValue(); - } - - int CamerasChild::NumberOfCaptureDevices(CaptureEngine aCapEngine) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - nsCOMPtr runnable = mozilla::NewRunnableMethod( - "camera::PCamerasChild::SendNumberOfCaptureDevices", this, - &CamerasChild::SendNumberOfCaptureDevices, aCapEngine); - LockAndDispatch<> dispatcher(this, __func__, runnable, 0, mReplyInteger); - LOG(("Capture Devices: %d", dispatcher.ReturnValue())); - return dispatcher.ReturnValue(); - } - - mozilla::ipc::IPCResult CamerasChild::RecvReplyNumberOfCaptureDevices( - const int& numdev) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - MonitorAutoLock monitor(mReplyMonitor); - mReceivedReply = true; - mReplySuccess = true; - mReplyInteger = numdev; - monitor.Notify(); - return IPC_OK(); - } - - int CamerasChild::EnsureInitialized(CaptureEngine aCapEngine) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - nsCOMPtr runnable = mozilla::NewRunnableMethod( - "camera::PCamerasChild::SendEnsureInitialized", this, - &CamerasChild::SendEnsureInitialized, aCapEngine); - LockAndDispatch<> dispatcher(this, __func__, runnable, 0, mReplyInteger); - LOG(("Capture Devices: %d", dispatcher.ReturnValue())); - return dispatcher.ReturnValue(); - } - -@@ -320,17 +320,17 @@ int CamerasChild::GetCaptureCapability( - if (dispatcher.Success()) { - capability = mReplyCapability; - } - return dispatcher.ReturnValue(); - } - - mozilla::ipc::IPCResult CamerasChild::RecvReplyGetCaptureCapability( - const VideoCaptureCapability& ipcCapability) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - MonitorAutoLock monitor(mReplyMonitor); - mReceivedReply = true; - mReplySuccess = true; - mReplyCapability.width = ipcCapability.width(); - mReplyCapability.height = ipcCapability.height(); - mReplyCapability.maxFPS = ipcCapability.maxFPS(); - mReplyCapability.videoType = - static_cast(ipcCapability.videoType()); -@@ -338,17 +338,17 @@ mozilla::ipc::IPCResult CamerasChild::Re - monitor.Notify(); - return IPC_OK(); - } - - int CamerasChild::GetCaptureDevice( - CaptureEngine aCapEngine, unsigned int list_number, char* device_nameUTF8, - const unsigned int device_nameUTF8Length, char* unique_idUTF8, - const unsigned int unique_idUTF8Length, bool* scary) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - nsCOMPtr runnable = - mozilla::NewRunnableMethod( - "camera::PCamerasChild::SendGetCaptureDevice", this, - &CamerasChild::SendGetCaptureDevice, aCapEngine, list_number); - LockAndDispatch<> dispatcher(this, __func__, runnable, -1, mZero); - if (dispatcher.Success()) { - base::strlcpy(device_nameUTF8, mReplyDeviceName.get(), - device_nameUTF8Length); -@@ -359,32 +359,32 @@ int CamerasChild::GetCaptureDevice( - LOG(("Got %s name %s id", device_nameUTF8, unique_idUTF8)); - } - return dispatcher.ReturnValue(); - } - - mozilla::ipc::IPCResult CamerasChild::RecvReplyGetCaptureDevice( - const nsCString& device_name, const nsCString& device_id, - const bool& scary) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - MonitorAutoLock monitor(mReplyMonitor); - mReceivedReply = true; - mReplySuccess = true; - mReplyDeviceName = device_name; - mReplyDeviceID = device_id; - mReplyScary = scary; - monitor.Notify(); - return IPC_OK(); - } - - int CamerasChild::AllocateCaptureDevice( - CaptureEngine aCapEngine, const char* unique_idUTF8, - const unsigned int unique_idUTF8Length, int& aStreamId, - const mozilla::ipc::PrincipalInfo& aPrincipalInfo) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - nsCString unique_id(unique_idUTF8); - nsCOMPtr runnable = - mozilla::NewRunnableMethod( - "camera::PCamerasChild::SendAllocateCaptureDevice", this, - &CamerasChild::SendAllocateCaptureDevice, aCapEngine, unique_id, - aPrincipalInfo); - LockAndDispatch<> dispatcher(this, __func__, runnable, -1, mZero); -@@ -392,28 +392,28 @@ int CamerasChild::AllocateCaptureDevice( - LOG(("Capture Device allocated: %d", mReplyInteger)); - aStreamId = mReplyInteger; - } - return dispatcher.ReturnValue(); - } - - mozilla::ipc::IPCResult CamerasChild::RecvReplyAllocateCaptureDevice( - const int& numdev) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - MonitorAutoLock monitor(mReplyMonitor); - mReceivedReply = true; - mReplySuccess = true; - mReplyInteger = numdev; - monitor.Notify(); - return IPC_OK(); - } - - int CamerasChild::ReleaseCaptureDevice(CaptureEngine aCapEngine, - const int capture_id) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - nsCOMPtr runnable = - mozilla::NewRunnableMethod( - "camera::PCamerasChild::SendReleaseCaptureDevice", this, - &CamerasChild::SendReleaseCaptureDevice, aCapEngine, capture_id); - LockAndDispatch<> dispatcher(this, __func__, runnable, -1, mZero); - return dispatcher.ReturnValue(); - } - -@@ -437,42 +437,42 @@ void CamerasChild::RemoveCallback(const - break; - } - } - } - - int CamerasChild::StartCapture(CaptureEngine aCapEngine, const int capture_id, - webrtc::VideoCaptureCapability& webrtcCaps, - FrameRelay* cb) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - AddCallback(aCapEngine, capture_id, cb); - VideoCaptureCapability capCap( - webrtcCaps.width, webrtcCaps.height, webrtcCaps.maxFPS, - static_cast(webrtcCaps.videoType), webrtcCaps.interlaced); - nsCOMPtr runnable = - mozilla::NewRunnableMethod( - "camera::PCamerasChild::SendStartCapture", this, - &CamerasChild::SendStartCapture, aCapEngine, capture_id, capCap); - LockAndDispatch<> dispatcher(this, __func__, runnable, -1, mZero); - return dispatcher.ReturnValue(); - } - - int CamerasChild::FocusOnSelectedSource(CaptureEngine aCapEngine, - const int aCaptureId) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - nsCOMPtr runnable = - mozilla::NewRunnableMethod( - "camera::PCamerasChild::SendFocusOnSelectedSource", this, - &CamerasChild::SendFocusOnSelectedSource, aCapEngine, aCaptureId); - LockAndDispatch<> dispatcher(this, __func__, runnable, -1, mZero); - return dispatcher.ReturnValue(); - } - - int CamerasChild::StopCapture(CaptureEngine aCapEngine, const int capture_id) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - nsCOMPtr runnable = - mozilla::NewRunnableMethod( - "camera::PCamerasChild::SendStopCapture", this, - &CamerasChild::SendStopCapture, aCapEngine, capture_id); - LockAndDispatch<> dispatcher(this, __func__, runnable, -1, mZero); - if (dispatcher.Success()) { - RemoveCallback(aCapEngine, capture_id); - } -diff --git a/dom/media/systemservices/CamerasParent.cpp b/dom/media/systemservices/CamerasParent.cpp ---- a/dom/media/systemservices/CamerasParent.cpp -+++ b/dom/media/systemservices/CamerasParent.cpp -@@ -97,17 +97,17 @@ StaticMutex CamerasParent::sMutex; - // - the IPC thread on which PBackground is running and which receives and - // sends messages - // - a thread which will execute the actual (possibly slow) camera access - // called "VideoCapture". On Windows this is a thread with an event loop - // suitable for UI access. - - // InputObserver is owned by CamerasParent, and it has a ref to CamerasParent - void InputObserver::OnDeviceChange() { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - MOZ_ASSERT(mParent); - - RefPtr self(this); - RefPtr ipc_runnable = NewRunnableFrom([self]() { - if (self->mParent->IsShuttingDown()) { - return NS_ERROR_FAILURE; - } - Unused << self->mParent->SendDeviceChange(); -@@ -196,17 +196,17 @@ nsresult CamerasParent::DispatchToVideoC - if (!sVideoCaptureThread || !sVideoCaptureThread->IsRunning()) { - return NS_ERROR_FAILURE; - } - sVideoCaptureThread->message_loop()->PostTask(event.forget()); - return NS_OK; - } - - void CamerasParent::StopVideoCapture() { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - // We are called from the main thread (xpcom-shutdown) or - // from PBackground (when the Actor shuts down). - // Shut down the WebRTC stack (on the capture thread) - RefPtr self(this); - DebugOnly rv = - DispatchToVideoCaptureThread(NewRunnableFrom([self]() { - MonitorAutoLock lock(*(self->sThreadMonitor)); - self->CloseEngines(); -@@ -278,17 +278,17 @@ int CamerasParent::DeliverFrameOverIPC(C - return 0; - } - - ShmemBuffer CamerasParent::GetBuffer(size_t aSize) { - return mShmemPool.GetIfAvailable(aSize); - } - - void CallbackHelper::OnFrame(const webrtc::VideoFrame& aVideoFrame) { -- LOG_VERBOSE((__PRETTY_FUNCTION__)); -+ LOG_VERBOSE(("%s", __PRETTY_FUNCTION__)); - RefPtr runnable = nullptr; - // Get frame properties - camera::VideoFrameProperties properties; - VideoFrameUtils::InitFrameBufferProperties(aVideoFrame, properties); - // Get a shared memory buffer to copy the frame data into - ShmemBuffer shMemBuffer = mParent->GetBuffer(properties.bufferSize()); - if (!shMemBuffer.Valid()) { - // Either we ran out of buffers or they're not the right size yet -@@ -314,17 +314,17 @@ void CallbackHelper::OnFrame(const webrt - - mozilla::ipc::IPCResult CamerasParent::RecvReleaseFrame( - mozilla::ipc::Shmem&& s) { - mShmemPool.Put(ShmemBuffer(s)); - return IPC_OK(); - } - - bool CamerasParent::SetupEngine(CaptureEngine aCapEngine) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - StaticRefPtr& engine = sEngines[aCapEngine]; - - if (!engine) { - UniquePtr captureDeviceInfo; - auto config = MakeUnique(); - - switch (aCapEngine) { - case ScreenEngine: -@@ -366,17 +366,17 @@ bool CamerasParent::SetupEngine(CaptureE - device_info->RegisterVideoInputFeedBack(mCameraObserver); - } - } - - return true; - } - - void CamerasParent::CloseEngines() { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - if (!mWebRTCAlive) { - return; - } - MOZ_ASSERT(sVideoCaptureThread->thread_id() == PlatformThread::CurrentId()); - - // Stop the callers - while (mCallbacks.Length()) { - auto capEngine = mCallbacks[0]->mCapEngine; -@@ -406,17 +406,17 @@ void CamerasParent::CloseEngines() { - } - } - } - - mWebRTCAlive = false; - } - - VideoEngine* CamerasParent::EnsureInitialized(int aEngine) { -- LOG_VERBOSE((__PRETTY_FUNCTION__)); -+ LOG_VERBOSE(("%s", __PRETTY_FUNCTION__)); - // We're shutting down, don't try to do new WebRTC ops. - if (!mWebRTCAlive) { - return nullptr; - } - CaptureEngine capEngine = static_cast(aEngine); - if (!SetupEngine(capEngine)) { - LOG(("CamerasParent failed to initialize engine")); - return nullptr; -@@ -427,17 +427,17 @@ VideoEngine* CamerasParent::EnsureInitia - - // Dispatch the runnable to do the camera operation on the - // specific Cameras thread, preventing us from blocking, and - // chain a runnable to send back the result on the IPC thread. - // It would be nice to get rid of the code duplication here, - // perhaps via Promises. - mozilla::ipc::IPCResult CamerasParent::RecvNumberOfCaptureDevices( - const CaptureEngine& aCapEngine) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - LOG(("CaptureEngine=%d", aCapEngine)); - RefPtr self(this); - RefPtr webrtc_runnable = NewRunnableFrom([self, aCapEngine]() { - int num = -1; - if (auto engine = self->EnsureInitialized(aCapEngine)) { - if (auto devInfo = engine->GetOrCreateVideoCaptureDeviceInfo()) { - num = devInfo->NumberOfDevices(); - } -@@ -461,17 +461,17 @@ mozilla::ipc::IPCResult CamerasParent::R - return NS_OK; - }); - DispatchToVideoCaptureThread(webrtc_runnable); - return IPC_OK(); - } - - mozilla::ipc::IPCResult CamerasParent::RecvEnsureInitialized( - const CaptureEngine& aCapEngine) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - - RefPtr self(this); - RefPtr webrtc_runnable = NewRunnableFrom([self, aCapEngine]() { - bool result = self->EnsureInitialized(aCapEngine); - - RefPtr ipc_runnable = NewRunnableFrom([self, result]() { - if (!self->mChildIsAlive) { - return NS_ERROR_FAILURE; -@@ -491,17 +491,17 @@ mozilla::ipc::IPCResult CamerasParent::R - return NS_OK; - }); - DispatchToVideoCaptureThread(webrtc_runnable); - return IPC_OK(); - } - - mozilla::ipc::IPCResult CamerasParent::RecvNumberOfCapabilities( - const CaptureEngine& aCapEngine, const nsCString& unique_id) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - LOG(("Getting caps for %s", unique_id.get())); - - RefPtr self(this); - RefPtr webrtc_runnable = NewRunnableFrom([self, unique_id, - aCapEngine]() { - int num = -1; - if (auto engine = self->EnsureInitialized(aCapEngine)) { - if (auto devInfo = engine->GetOrCreateVideoCaptureDeviceInfo()) { -@@ -528,17 +528,17 @@ mozilla::ipc::IPCResult CamerasParent::R - }); - DispatchToVideoCaptureThread(webrtc_runnable); - return IPC_OK(); - } - - mozilla::ipc::IPCResult CamerasParent::RecvGetCaptureCapability( - const CaptureEngine& aCapEngine, const nsCString& unique_id, - const int& num) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - LOG(("RecvGetCaptureCapability: %s %d", unique_id.get(), num)); - - RefPtr self(this); - RefPtr webrtc_runnable = NewRunnableFrom([self, unique_id, - aCapEngine, num]() { - webrtc::VideoCaptureCapability webrtcCaps; - int error = -1; - if (auto engine = self->EnsureInitialized(aCapEngine)) { -@@ -581,17 +581,17 @@ mozilla::ipc::IPCResult CamerasParent::R - return NS_OK; - }); - DispatchToVideoCaptureThread(webrtc_runnable); - return IPC_OK(); - } - - mozilla::ipc::IPCResult CamerasParent::RecvGetCaptureDevice( - const CaptureEngine& aCapEngine, const int& aListNumber) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - - RefPtr self(this); - RefPtr webrtc_runnable = NewRunnableFrom([self, aCapEngine, - aListNumber]() { - char deviceName[MediaEngineSource::kMaxDeviceNameLength]; - char deviceUniqueId[MediaEngineSource::kMaxUniqueIdLength]; - nsCString name; - nsCString uniqueId; -@@ -751,17 +751,17 @@ int CamerasParent::ReleaseCaptureDevice( - if (auto engine = EnsureInitialized(aCapEngine)) { - error = engine->ReleaseVideoCapture(capnum); - } - return error; - } - - mozilla::ipc::IPCResult CamerasParent::RecvReleaseCaptureDevice( - const CaptureEngine& aCapEngine, const int& numdev) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - LOG(("RecvReleaseCamera device nr %d", numdev)); - - RefPtr self(this); - RefPtr webrtc_runnable = NewRunnableFrom([self, aCapEngine, - numdev]() { - int error = self->ReleaseCaptureDevice(aCapEngine, numdev); - RefPtr ipc_runnable = NewRunnableFrom([self, error, numdev]() { - if (!self->mChildIsAlive) { -@@ -783,22 +783,22 @@ mozilla::ipc::IPCResult CamerasParent::R - }); - DispatchToVideoCaptureThread(webrtc_runnable); - return IPC_OK(); - } - - mozilla::ipc::IPCResult CamerasParent::RecvStartCapture( - const CaptureEngine& aCapEngine, const int& capnum, - const VideoCaptureCapability& ipcCaps) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - - RefPtr self(this); - RefPtr webrtc_runnable = NewRunnableFrom([self, aCapEngine, capnum, - ipcCaps]() { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - CallbackHelper** cbh; - int error = -1; - if (self->EnsureInitialized(aCapEngine)) { - cbh = self->mCallbacks.AppendElement(new CallbackHelper( - static_cast(aCapEngine), capnum, self)); - - self->sEngines[aCapEngine]->WithEntry( - capnum, [&capnum, &aCapEngine, &error, &ipcCaps, &cbh, -@@ -910,17 +910,17 @@ mozilla::ipc::IPCResult CamerasParent::R - return NS_OK; - }); - DispatchToVideoCaptureThread(webrtc_runnable); - return IPC_OK(); - } - - mozilla::ipc::IPCResult CamerasParent::RecvFocusOnSelectedSource( - const CaptureEngine& aCapEngine, const int& aCapNum) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - RefPtr webrtc_runnable = NewRunnableFrom( - [self = RefPtr(this), aCapEngine, aCapNum]() { - if (auto engine = self->EnsureInitialized(aCapEngine)) { - engine->WithEntry(aCapNum, [self](VideoEngine::CaptureEntry& cap) { - if (cap.VideoCapture()) { - bool result = cap.VideoCapture()->FocusOnSelectedSource(); - RefPtr ipc_runnable = - NewRunnableFrom([self, result]() { -@@ -972,17 +972,17 @@ void CamerasParent::StopCapture(const Ca - break; - } - } - } - } - - mozilla::ipc::IPCResult CamerasParent::RecvStopCapture( - const CaptureEngine& aCapEngine, const int& capnum) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - - RefPtr self(this); - RefPtr webrtc_runnable = - NewRunnableFrom([self, aCapEngine, capnum]() { - self->StopCapture(aCapEngine, capnum); - return NS_OK; - }); - nsresult rv = DispatchToVideoCaptureThread(webrtc_runnable); -@@ -1010,29 +1010,29 @@ void CamerasParent::StopIPC() { - mShmemPool.Cleanup(this); - // We don't want to receive callbacks or anything if we can't - // forward them anymore anyway. - mChildIsAlive = false; - mDestroyed = true; - } - - mozilla::ipc::IPCResult CamerasParent::RecvAllDone() { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - // Don't try to send anything to the child now - mChildIsAlive = false; - IProtocol* mgr = Manager(); - if (!Send__delete__(this)) { - return IPC_FAIL_NO_REASON(mgr); - } - return IPC_OK(); - } - - void CamerasParent::ActorDestroy(ActorDestroyReason aWhy) { - // No more IPC from here -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - StopIPC(); - // Shut down WebRTC (if we're not in full shutdown, else this - // will already have happened) - StopVideoCapture(); - } - - nsString CamerasParent::GetNewName() { - static volatile uint64_t counter = 0; -diff --git a/dom/media/systemservices/MediaParent.cpp b/dom/media/systemservices/MediaParent.cpp ---- a/dom/media/systemservices/MediaParent.cpp -+++ b/dom/media/systemservices/MediaParent.cpp -@@ -373,17 +373,17 @@ class OriginKeyStore : public nsISupport - private: - nsCOMPtr mProfileDir; - }; - - private: - virtual ~OriginKeyStore() { - StaticMutexAutoLock lock(sOriginKeyStoreMutex); - sOriginKeyStore = nullptr; -- LOG((__FUNCTION__)); -+ LOG(("%s", __FUNCTION__)); - } - - public: - static OriginKeyStore* Get() { - MOZ_ASSERT(NS_IsMainThread()); - StaticMutexAutoLock lock(sOriginKeyStoreMutex); - if (!sOriginKeyStore) { - sOriginKeyStore = new OriginKeyStore(); -@@ -504,17 +504,17 @@ mozilla::ipc::IPCResult Parent::R - } - return IPC_OK(); - } - - template - void Parent::ActorDestroy(ActorDestroyReason aWhy) { - // No more IPC from here - mDestroyed = true; -- LOG((__FUNCTION__)); -+ LOG(("%s", __FUNCTION__)); - } - - template - Parent::Parent() - : mOriginKeyStore(OriginKeyStore::Get()), mDestroyed(false) { - LOG(("media::Parent: %p", this)); - } - -diff --git a/dom/media/systemservices/VideoEngine.cpp b/dom/media/systemservices/VideoEngine.cpp ---- a/dom/media/systemservices/VideoEngine.cpp -+++ b/dom/media/systemservices/VideoEngine.cpp -@@ -23,17 +23,17 @@ namespace camera { - #undef LOG_ENABLED - mozilla::LazyLogModule gVideoEngineLog("VideoEngine"); - #define LOG(args) MOZ_LOG(gVideoEngineLog, mozilla::LogLevel::Debug, args) - #define LOG_ENABLED() MOZ_LOG_TEST(gVideoEngineLog, mozilla::LogLevel::Debug) - - int VideoEngine::sId = 0; - #if defined(ANDROID) - int VideoEngine::SetAndroidObjects() { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - - JavaVM* const javaVM = mozilla::jni::GetVM(); - if (!javaVM || webrtc::SetCaptureAndroidVM(javaVM) != 0) { - LOG(("Could not set capture Android VM")); - return -1; - } - # ifdef WEBRTC_INCLUDE_INTERNAL_VIDEO_RENDER - if (webrtc::SetRenderAndroidVM(javaVM) != 0) { -@@ -42,17 +42,17 @@ int VideoEngine::SetAndroidObjects() { - } - # endif - return 0; - } - #endif - - void VideoEngine::CreateVideoCapture(int32_t& id, - const char* deviceUniqueIdUTF8) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - MOZ_ASSERT(deviceUniqueIdUTF8); - - id = GenerateId(); - LOG(("CaptureDeviceInfo.type=%s id=%d", mCaptureDevInfo.TypeName(), id)); - - for (auto& it : mCaps) { - if (it.second.VideoCapture() && - it.second.VideoCapture()->CurrentDeviceName() && -@@ -135,17 +135,17 @@ int VideoEngine::ReleaseVideoCapture(con - } - - mIdMap.erase(id); - return found ? 0 : (-1); - } - - std::shared_ptr - VideoEngine::GetOrCreateVideoCaptureDeviceInfo() { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - int64_t currentTime = 0; - - const char* capDevTypeName = - webrtc::CaptureDeviceInfo(mCaptureDevInfo.type).TypeName(); - - if (mDeviceInfo) { - LOG(("Device cache available.")); - // Camera cache is invalidated by HW change detection elsewhere -@@ -210,17 +210,17 @@ VideoEngine::GetOrCreateVideoCaptureDevi - } - - const UniquePtr& VideoEngine::GetConfiguration() { - return mConfig; - } - - already_AddRefed VideoEngine::Create( - UniquePtr&& aConfig) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - LOG(("Creating new VideoEngine with CaptureDeviceType %s", - aConfig->Get().TypeName())); - return do_AddRef(new VideoEngine(std::move(aConfig))); - } - - VideoEngine::CaptureEntry::CaptureEntry( - int32_t aCapnum, rtc::scoped_refptr aCapture) - : mCapnum(aCapnum), mVideoCaptureModule(aCapture) {} -@@ -258,13 +258,13 @@ int32_t VideoEngine::GenerateId() { - return mId = sId++; - } - - VideoEngine::VideoEngine(UniquePtr&& aConfig) - : mId(0), - mCaptureDevInfo(aConfig->Get()), - mDeviceInfo(nullptr), - mConfig(std::move(aConfig)) { -- LOG((__PRETTY_FUNCTION__)); -+ LOG(("%s", __PRETTY_FUNCTION__)); - } - - } // namespace camera - } // namespace mozilla -diff --git a/dom/media/webrtc/MediaEngineRemoteVideoSource.cpp b/dom/media/webrtc/MediaEngineRemoteVideoSource.cpp ---- a/dom/media/webrtc/MediaEngineRemoteVideoSource.cpp -+++ b/dom/media/webrtc/MediaEngineRemoteVideoSource.cpp -@@ -68,7 +68,7 @@ - } - - void MediaEngineRemoteVideoSource::Init() { -- LOG(__PRETTY_FUNCTION__); -+ LOG("%s", __PRETTY_FUNCTION__); - AssertIsOnOwningThread(); - - char deviceName[kMaxDeviceNameLength]; -@@ -89,7 +89,7 @@ - } - - void MediaEngineRemoteVideoSource::Shutdown() { -- LOG(__PRETTY_FUNCTION__); -+ LOG("%s", __PRETTY_FUNCTION__); - AssertIsOnOwningThread(); - - if (!mInitDone) { -@@ -109,7 +109,7 @@ - } - - void MediaEngineRemoteVideoSource::SetName(nsString aName) { -- LOG(__PRETTY_FUNCTION__); -+ LOG("%s", __PRETTY_FUNCTION__); - AssertIsOnOwningThread(); - - mDeviceName = std::move(aName); -@@ -193,7 +193,7 @@ - const nsString& aDeviceId, - const mozilla::ipc::PrincipalInfo& aPrincipalInfo, - const char** aOutBadConstraint) { -- LOG(__PRETTY_FUNCTION__); -+ LOG("%s", __PRETTY_FUNCTION__); - AssertIsOnOwningThread(); - - MOZ_ASSERT(mState == kReleased); -@@ -231,7 +231,7 @@ - } - - nsresult MediaEngineRemoteVideoSource::Deallocate() { -- LOG(__PRETTY_FUNCTION__); -+ LOG("%s", __PRETTY_FUNCTION__); - AssertIsOnOwningThread(); - - MOZ_ASSERT(mState == kStopped || mState == kAllocated); -@@ -267,7 +267,7 @@ - void MediaEngineRemoteVideoSource::SetTrack( - const RefPtr& aStream, TrackID aTrackID, - const PrincipalHandle& aPrincipal) { -- LOG(__PRETTY_FUNCTION__); -+ LOG("%s", __PRETTY_FUNCTION__); - AssertIsOnOwningThread(); - - MOZ_ASSERT(mState == kAllocated); -@@ -292,7 +292,7 @@ - } - - nsresult MediaEngineRemoteVideoSource::Start() { -- LOG(__PRETTY_FUNCTION__); -+ LOG("%s", __PRETTY_FUNCTION__); - AssertIsOnOwningThread(); - - MOZ_ASSERT(mState == kAllocated || mState == kStopped); -@@ -345,7 +345,7 @@ - } - - nsresult MediaEngineRemoteVideoSource::FocusOnSelectedSource() { -- LOG(__PRETTY_FUNCTION__); -+ LOG("%s", __PRETTY_FUNCTION__); - AssertIsOnOwningThread(); - - int result; -@@ -355,7 +355,7 @@ - } - - nsresult MediaEngineRemoteVideoSource::Stop() { -- LOG(__PRETTY_FUNCTION__); -+ LOG("%s", __PRETTY_FUNCTION__); - AssertIsOnOwningThread(); - - if (mState == kStopped || mState == kAllocated) { -@@ -381,7 +381,7 @@ - nsresult MediaEngineRemoteVideoSource::Reconfigure( - const MediaTrackConstraints& aConstraints, const MediaEnginePrefs& aPrefs, - const nsString& aDeviceId, const char** aOutBadConstraint) { -- LOG(__PRETTY_FUNCTION__); -+ LOG("%s", __PRETTY_FUNCTION__); - AssertIsOnOwningThread(); - - MOZ_ASSERT(mInitDone); -@@ -762,7 +762,7 @@ - const NormalizedConstraints& aConstraints, const MediaEnginePrefs& aPrefs, - const nsString& aDeviceId, webrtc::CaptureCapability& aCapability, - const DistanceCalculation aCalculate) { -- LOG(__PRETTY_FUNCTION__); -+ LOG("%s", __PRETTY_FUNCTION__); - AssertIsOnOwningThread(); - - if (MOZ_LOG_TEST(gMediaManagerLog, LogLevel::Debug)) { -@@ -928,7 +928,7 @@ - } - - void MediaEngineRemoteVideoSource::Refresh(int aIndex) { -- LOG(__PRETTY_FUNCTION__); -+ LOG("%s", __PRETTY_FUNCTION__); - AssertIsOnOwningThread(); - - // NOTE: mCaptureIndex might have changed when allocated! diff --git a/thunderbird-system-virtualenv.patch b/thunderbird-system-virtualenv.patch new file mode 100644 index 0000000..35bb5b2 --- /dev/null +++ b/thunderbird-system-virtualenv.patch @@ -0,0 +1,21 @@ +--- xulrunner-27.0/mozilla/python/mozbuild/mozbuild/virtualenv.py~ 2013-05-11 21:19:23.000000000 +0200 ++++ xulrunner-27.0/mozilla/python/mozbuild/mozbuild/virtualenv.py 2013-05-14 22:51:32.136719267 +0200 +@@ -71,8 +71,7 @@ + @property + def virtualenv_script_path(self): + """Path to virtualenv's own populator script.""" +- return os.path.join(self.topsrcdir, 'third_party', 'python', +- 'virtualenv', 'virtualenv.py') ++ return '/usr/bin/virtualenv-2' + + @property + def bin_path(self): +@@ -294,7 +293,7 @@ + into the wrong place. This is how virtualenv's work. + """ + packages = self.packages() +- python_lib = distutils.sysconfig.get_python_lib() ++ python_lib = distutils.sysconfig.get_python_lib(1) + + def handle_package(package): + if package[0] == 'setup.py': diff --git a/thunderbird.spec b/thunderbird.spec index f6bc0c4..9cc0b22 100644 --- a/thunderbird.spec +++ b/thunderbird.spec @@ -4,7 +4,6 @@ # # Conditional builds %bcond_with tests # enable tests (whatever they check) -%bcond_without ldap # disable e-mail address lookups in LDAP directories %bcond_without lightning # disable Sunbird/Lightning calendar %bcond_without official # official Thunderbird branding %bcond_with crashreporter # report crashes to crash-stats.mozilla.com @@ -36,21 +35,18 @@ curl -s $U | sed -ne 's,.*href="\([^"]\+\)/".*,'"$U"'xpi/\1.xpi,p' %define with_lowmem 1 %endif -%define nspr_ver 4.21 -%define nss_ver 3.44.4 - -# The actual sqlite version (see RHBZ#480989): -%define sqlite_build_version %(pkg-config --silence-errors --modversion sqlite3 2>/dev/null || echo ERROR) +%define nspr_ver 4.25 +%define nss_ver 3.53.1 Summary: Thunderbird - email client Summary(pl.UTF-8): Thunderbird - klient poczty Name: thunderbird -Version: 68.10.0 +Version: 78.0 Release: 1 License: MPL v2.0 Group: X11/Applications/Mail Source0: http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/%{version}/source/%{name}-%{version}.source.tar.xz -# Source0-md5: 62ea95edc0e0c0bd90c6a3307ebe2aac +# Source0-md5: b92652deac6adc0be11f5e4f09c62842 Source1: %{name}.desktop Source2: %{name}.sh Source100: http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/%{version}/linux-i686/xpi/ar.xpi @@ -172,12 +168,11 @@ Source157: http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/%{ve Patch0: prefs.patch Patch1: no-subshell.patch Patch2: enable-addons.patch -Patch3: format.patch +Patch3: %{name}-system-virtualenv.patch URL: http://www.mozilla.org/projects/thunderbird/ BuildRequires: alsa-lib-devel BuildRequires: autoconf2_13 >= 2.13 %{?with_gold:BuildRequires: binutils >= 3:2.20.51.0.7} -BuildRequires: bzip2-devel %{?with_system_cairo:BuildRequires: cairo-devel >= 1.10.2-5} BuildRequires: cargo %{?with_clang:BuildRequires: clang} @@ -186,7 +181,7 @@ BuildRequires: dbus-glib-devel >= 0.60 BuildRequires: fontconfig-devel >= 2.7.0 BuildRequires: freetype-devel >= 1:2.1.8 BuildRequires: glib2-devel >= 1:2.22 -BuildRequires: gtk+3-devel >= 3.4.0 +BuildRequires: gtk+3-devel >= 3.14.0 BuildRequires: libatomic-devel BuildRequires: libevent-devel BuildRequires: libffi-devel > 3.0.9 @@ -196,7 +191,7 @@ BuildRequires: libiw-devel BuildRequires: libjpeg-devel >= 6b BuildRequires: libjpeg-turbo-devel BuildRequires: libpng-devel >= 2:1.6.25 -BuildRequires: libstdc++-devel +BuildRequires: libstdc++-devel >= 6:4.8.1 %{?with_system_libvpx:BuildRequires: libvpx-devel >= 1.5.0} BuildRequires: llvm-devel BuildRequires: mozldap-devel @@ -210,10 +205,8 @@ BuildRequires: pkgconfig BuildRequires: python >= 1:2.7 BuildRequires: python-virtualenv BuildRequires: rust >= 1.34.0 -BuildRequires: rust-cbindgen >= 0.8.2 +BuildRequires: rust-cbindgen >= 0.14.1 BuildRequires: sed >= 4.0 -BuildRequires: sqlite3-devel >= 3.28.0 -BuildRequires: startup-notification-devel >= 0.8 BuildRequires: virtualenv BuildRequires: xorg-lib-libX11-devel BuildRequires: xorg-lib-libXcomposite-devel @@ -230,19 +223,20 @@ Requires(post): mktemp >= 1.5-18 %{?with_system_cairo:Requires: cairo >= 1.10.2-5} Requires: dbus-glib >= 0.60 Requires: glib2 >= 1:2.22 -Requires: gtk+3 >= 3.4.0 +Requires: glibc >= 6:2.17 +Requires: gtk+3 >= 3.14.0 Requires: libpng >= 2:1.6.25 +Requires: libstdc++ >= 6:4.8.1 %{?with_system_libvpx:Requires: libvpx >= 1.5.0} Requires: myspell-common Requires: nspr >= 1:%{nspr_ver} Requires: nss >= 1:%{nss_ver} Requires: pango >= 1:1.22.0 -Requires: sqlite3 >= %{sqlite_build_version} -Requires: startup-notification >= 0.8 Requires: libjpeg-turbo Obsoletes: icedove Obsoletes: mozilla-thunderbird Obsoletes: mozilla-thunderbird-dictionary-en-US +Obsoletes: thunderbird-addon-lightning < 78.0 Conflicts: thunderbird-lang-resources < %{version} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -255,7 +249,7 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) # firefox/thunderbird/seamonkey provide their own versions %define _noautoprovfiles %{_libdir}/%{name}/components -%define moz_caps liblgpllibs.so libmozalloc.so libmozgtk.so libmozjs.so libmozsandbox.so libmozwayland.so libxul.so +%define moz_caps liblgpllibs.so libmozalloc.so libmozgtk.so libmozjs.so libmozsandbox.so libmozsqlite3.so libmozwayland.so librnp.so libxul.so # we don't want these to satisfy packages depending on xulrunner %define _noautoprov %{moz_caps} # and as we don't provide them, don't require either @@ -271,21 +265,6 @@ Thunderbird is an open-source, fast and portable email client. Thunderbird jest mającym otwarte źródła, szybkim i przenośnym klientem poczty. -%package addon-lightning -Summary: An integrated calendar for Thunderbird -Summary(pl.UTF-8): Zintegrowany kalendarz dla Thunderbird -License: MPL 1.1 or GPL v2+ or LGPL v2.1+ -Group: Applications/Networking -Requires: %{name} = %{version}-%{release} -Obsoletes: icedove-addon-lightning - -%description addon-lightning -Lightning is an calendar extension to Thunderbird email client. - -%description addon-lightning -l pl.UTF-8 -Lightning to rozszerzenie do klienta poczty Thunderbird dodające -funkcjonalność kalendarza. - %package lang-ar Summary: Arabic resources for Thunderbird Summary(pl.UTF-8): Arabskie pliki językowe dla Thunderbirda @@ -1261,7 +1240,7 @@ unpack() { %patch0 -p1 %patch1 -p1 %patch2 -p0 -%patch3 -p1 +%patch3 -p2 %build cp -p %{_datadir}/automake/config.* build/autoconf @@ -1331,28 +1310,18 @@ ac_add_options --disable-crashreporter %ifarch %{ix86} %{x8664} %{arm} ac_add_options --disable-elf-hack %endif -ac_add_options --disable-gconf ac_add_options --disable-necko-wifi ac_add_options --disable-updater ac_add_options --enable-alsa ac_add_options --enable-application=comm/mail ac_add_options --enable-chrome-format=omni ac_add_options --enable-default-toolkit=cairo-gtk3 -%if %{with ldap} -ac_add_options --enable-ldap -%else -ac_add_options --disable-ldap -%endif %{?with_official:ac_add_options --enable-official-branding} %{?with_gold:ac_add_options --enable-linker=gold} -ac_add_options --enable-readline %{?with_shared_js:ac_add_options --enable-shared-js} -ac_add_options --enable-startup-notification %{?with_system_cairo:ac_add_options --enable-system-cairo} ac_add_options --enable-system-ffi -ac_add_options --enable-system-sqlite ac_add_options --with-distribution-id=org.pld-linux -ac_add_options --with-system-bz2 ac_add_options --with%{!?with_system_icu:out}-system-icu ac_add_options --with-system-jpeg ac_add_options --with-system-libevent @@ -1470,7 +1439,9 @@ exit 0 %ifarch %{ix86} %{x8664} %attr(755,root,root) %{_libdir}/%{name}/libmozsandbox.so %endif +%attr(755,root,root) %{_libdir}/%{name}/libmozsqlite3.so %attr(755,root,root) %{_libdir}/%{name}/libmozwayland.so +%attr(755,root,root) %{_libdir}/%{name}/librnp.so %attr(755,root,root) %{_libdir}/%{name}/libxul.so %attr(755,root,root) %{_libdir}/%{name}/*-bin %attr(755,root,root) %{_libdir}/%{name}/pingsender @@ -1479,8 +1450,6 @@ exit 0 %attr(755,root,root) %{_libdir}/%{name}/thunderbird %{_libdir}/%{name}/application.ini -%{_libdir}/%{name}/blocklist.xml -%{_libdir}/%{name}/chrome.manifest %{_libdir}/%{name}/dependentlibs.list %{_libdir}/%{name}/omni.ja %{_libdir}/%{name}/platform.ini @@ -1498,9 +1467,6 @@ exit 0 %{_libdir}/%{name}/Throbber-small.gif %endif -%dir %{_libdir}/%{name}/distribution -%dir %{_libdir}/%{name}/distribution/extensions - # symlinks %{_libdir}/%{name}/chrome %{_libdir}/%{name}/defaults @@ -1516,12 +1482,6 @@ exit 0 %dir %{_datadir}/%{name}/extensions %{_datadir}/%{name}/isp -%if %{with lightning} -%files addon-lightning -%defattr(644,root,root,755) -%{_libdir}/%{name}/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}.xpi -%endif - %files lang-ar %defattr(644,root,root,755) %{_datadir}/%{name}/extensions/langpack-ar@thunderbird.mozilla.org.xpi -- 2.43.0