diff --git a/mail-client/icedove/additional-files/icedove_addon.rdef.in b/mail-client/icedove/additional-files/icedove_addon.rdef.in new file mode 100644 index 000000000..0750a2ce5 --- /dev/null +++ b/mail-client/icedove/additional-files/icedove_addon.rdef.in @@ -0,0 +1,288 @@ +resource app_flags B_MULTIPLE_LAUNCH; + +resource app_version { + major = @MAJOR@, + middle = @MIDDLE@, + minor = @MINOR@, + + variety = B_APPV_FINAL, + internal = 0, + + short_info = "Send with Icedove", + long_info = "@LONG_INFO@" +}; + +resource app_signature "application/x-vnd.icedove-tracker-addon"; + +resource vector_icon { + $"6E6369662705FF050102000602241A19BD03DC3D03DC241A194B80054A09BE00" + $"8AE234FF4E9A06020102033D03DC241A19A41A193D03DC49FC2E4A09AD00FFFF" + $"FFB2CC4E9A0600FF8AE234FF020112023CF8E4241274241274BCF8E449FC5245" + $"2DBD00FFFFFFFF00020112023D3490243C0DA352F43C625049FC0D4B808700FF" + $"FFFFFF00020012023ADEB0BC7C023C7C023ADEB04AF5154A96F100FFFFFFFF00" + $"02001202BC7C223ADE413ADE413C7C224A84A24B0DA600FFFFFFFF0002011202" + $"382CAAB682843AEBD33C87E74A01834A139600FFFFFFFF00020112039F565E38" + $"64C3B864C39F565E4A01D24A14E100FFFF59FFD7FFFF00020112039CD5A03608" + $"6DB6086D9CD5A04AC504489B1D00FFFF59FFD7FFFF00020112039B797B347DF1" + $"B47DF19B797B4B12A748EAE200FFFF59FFD7FFFF00020112039D90E2368EBBB6" + $"8EBB9D90E2490C1848796E00FFFF59FFD7FFFF00020112039D90E2368EBBB68E" + $"BB9D90E24AD9FD49216D00FFFF59FFD7FFFF00020112039D90E2368EBBB68EBB" + $"9D90E24A774D4AE4A700FFFF59FFD7FFFF00020112039D90E2368EBBB68EBB9D" + $"90E24835EE4A96F300FFFF59FFD7FFFF00020112039B797B347DF1B47DF19B79" + $"7B4A8A2E4B14EC00FFFF59FFD7FFFF00020112039CD5A036086DB6086D9CD5A0" + $"4870AA4ADC3400FFFF59FFD7FFFF00020112039CD5A036086DB6086D9CD5A048" + $"70CC48ABC400FFFF59FFD7FFFF00020112039B797B347DF1B47DF19B797B47B3" + $"2D4AB45200FFFF59FFD7FFFF00020112039B797B347DF1B47DF19B797B48D15B" + $"4814B100FFFF59FFD7FFFF0003033C8202000602BA7DFFB9F16239F162BA7DFF" + $"4A0D4C4A015600729FCFFFFFFFFF03729FCF0201060236ABEE38F43BBB967C39" + $"3EAB4A7BBB49E31500729FCFFFFFFFFF035557530500020006022BCA43AE46CC" + $"3071D02E08F048AB8F4A0A4D00729FCFFFFFFFFF02010602B0B78533438CB368" + $"74B0D63E48AF5749EFF300729FCFFFFFFFFF02000602A88AA9AE7200B0A0342A" + $"BAAF493C4D4A13F400729FCFFFFFFFFF020106022DA4D633817B33A921ADCE0B" + $"4942424A01C600729FCFFFFFFFFF0201120327F4BF2ECCA0AE4A54273C9C48E2" + $"844A21D30000B466005AFF000002011203A9A7182EC5DBAE44CAA8FD1448F638" + $"4A22510000B466005AFF000002011203AABD573374B1AFCBBAA7025648ED1B4A" + $"187D00FFFF59FFD7FFFF000201060235924F3C322FBE30D03790154A32104BF0" + $"5000729FCFFFFFFFFF020006023B17B5BA96AA3A96AA3B17B54A70EF4B41A800" + $"729FCFFFFFFFFF04007F030244950401772D0208BFB4B661BFB4B661C323B661" + $"C806BB2FC64FB836C9BEBE29C806C4CCC9BDC1D3C64EC7C5BFB3C999C322C99A" + $"BC44C999B760C4CBB918C7C4B5A9C1D2B761BB2FB5A93CB918B836BFB4B661BC" + $"45B661BFB4B661BFB4B661BFB4B661BFB4B6610208BFB4B661BFB4B661C323B6" + $"61C806BB2FC64FB836C9BEBE29C806C4CCC9BDC1D3C64EC7C5BFB3C999C322C9" + $"9ABC44C999B760C4CBB918C7C4B5A9C1D2B761BB2FB5A93CB918B836BFB4B661" + $"BC45B661BFB4B661BFB4B661BFB4B661BFB4B6610208BFB4B661BFB4B661C323" + $"B661C806BB2FC64FB836C9BEBE29C806C4CCC9BDC1D3C64EC7C5BFB3C999C322" + $"C99ABC44C999B760C4CBB918C7C4B5A9C1D2B761BB2FB5A93CB918B836BFB4B6" + $"61BC45B661BFB4B661BFB4B661BFB4B661BFB4B6610208BFB4B661BFB4B661C3" + $"23B661C806BB2FC64FB836C9BEBE29C806C4CCC9BDC1D3C64EC7C5BFB3C999C3" + $"22C99ABC44C999B760C4CBB918C7C4B5A9C1D2B761BB2FB5A93CB918B836BFB4" + $"B661BC45B661BFB4B661BFB4B661BFB4B661BFB4B6610208BFB3C491BFB3C491" + $"C233C492C5C3C112C483C33CC703BEE8C5C3BA13C703BC3DC483B7E8BFB4B693" + $"C234B693BD34B693B9A4BA12BAE4B7E8B864BC3CB9A4C112B864BEE7BAE4C33C" + $"BFB3C491BD33C491BFB3C491BFB3C491BFB3C491BFB3C4910208BFB3BE19BFB3" + $"BE19C266BE19C63CC0E8C4E3BF2BC795C2A5C63CC685C795C4C8C4E3C841BFB3" + $"C953C265C953BD01C953B92AC684BA83C841B7D1C4C8B92AC0E7B7D1C2A4BA83" + $"BF2BBFB3BE19BD01BE19BFB3BE19BFB3BE19BFB3BE19BFB3BE1906047EBD72C9" + $"36BF26B677B440BFE9B2D4BFE0BD72C936BD79C92ABD72C936C93606047EC8C2" + $"BE0FB603BFC2BF76B4DCBF6DB370C8C2BE0FC8B6BE16C8C2BE0FBE0F06047EC4" + $"71C84DBB21B82BC0A8BF65BEB2C09FC471C84DC471C85BC471C84DC84D0608FF" + $"7FC1B3C045C1B3C045C1B3C0F3C0BFC1ECC156C194C028C243BED7C1EBBF6EC2" + $"43BE40C194BDE3C045BDE3C0F3BDE3BF96BED7BE9EBE40BEF5BF6EBE47C0BFBE" + $"9EC028BE47C156BEF5C1B3C045C1B3BF96C1B3C045C0450608FF7FBDBBBAE3BD" + $"BBBAE3BDBBBB40BD3836BD89BB96BCE8BBF3BC3436BC84BBF3BBE3BB96BBB1BA" + $"E3BBB1BB40BBB1BA85BC34BA01BBE3BA2FBC84B9D2BD39BA01BCE8B9D2BD89BA" + $"2FBDBBBAE3BDBBBA85BDBBBAE3BAE30608FF7FBB96BB83BB96BB83BB96BBCDBB" + $"2FBC37BB6FBC12BAEFBC5CBA5FBC37BA9FBC5CBA1FBC12B9F8BB83B9F8BBCDB9" + $"F8BB39BA5FBACFBA1FBAF4BAA0BAAABB2FBACFBAEFBAAABB6FBAF5BB96BB83BB" + $"96BB39BB96BB83BB830608FF7FBC7AB9A1BC7AB9A1BC7AB9CFBC3ABA10BC62B9" + $"F9BC13BA26BBBBBA10BBE3BA26BB94B9F9BB7CB9A1BB7CB9CFBB7CB974BBBBB9" + $"33BB94B94ABBE3B91DBC3AB933BC13B91DBC62B94ABC7AB9A1BC7AB974BC7AB9" + $"A1B9A1062BFFEFEFFFBFBFFFEFFEFF1FB7EEBC58B7EEBC58B7E5BC5FB7CEBC77" + $"B7DABC69B70BBD51B75ABEE3B75ABEE3B75ABEE3B6C6BE2CB717BD46B676BF12" + $"B744C075B744C075B744C075B68DBFE0B65FBEEFB6BBC0D1B7A0C1CDB6F4C1AA" + $"B6DDC0F3B70BC262B86EC2F8B86EC2F8B86EC2F8B807C3D3B744C332B8CAC474" + $"BA5CC3EABA68C536B926C4E5BAC4C54DBB73C544BB20C54EBB90C57DBBCDC5ED" + $"BBADC5B5BE39CA1FC56DC2BCC4F9C854C696C2E2C8D2C133C8A1C1E7C8FFC089" + $"C7A0C117C7EDC0EFC7E7C0EFC8A7BF84C913C056C85DBEF3C75CBFE7C7C9BF6D" + $"C71DC045C6DAC08DC75CBFE7C712C03AC7BA3FC769BE52C80EBE9CC700BE23C6" + $"77BECAC6B1BE66C660BF79C5FEC021C677BECAC61ABF6B51BE58C608BE13C671" + $"BDF7C5E0BE1EC580BE32C5B03CC5AFBDF0C62DBC15C679BCC9C5D8BB4BC591BC" + $"9FC591BC9FC591BC9FC587BA00C5E7BB13C527B8EDC522BB06C449B862C524B9" + $"1FC36EB7A6C41DB978C236B73EC380B7AAC202B72DC1DAB736C1E6B72AC196B7" + $"78C319BC14C337B950C2F8BF39BEE5C297BE66BF5DBE6BC26DBE46C0AEBE29C1" + $"E2BE77BEABBBB5BEA2BC7EBE2FBAC4BF2EBA5F44BA5FC02AB9EAC128B932C05D" + $"B982C0DBB7CFBE2DB7EEBC58B878BBEAB7EEBC58BC580611BFBBBBFB02BF1DC3" + $"B0BF1DC3B0BE4BC0A0B932C05EBAADC2B3B7B7BE09B7CEBC77B891BB9DB70BBD" + $"51B75BBEE3B6C6BE2BB716BD46B675BF11B744C075B68CBFE0B65EBEEFB6BAC0" + $"D1B7A0C1CEB6F4C1ABB6DDC0F3B70BC263B86EC2F8B807C3D2B744C331B8CAC4" + $"73BA5CC3E9BA68C536B926C4E6BBA9C587BCDFC4CFBDA2C5E3BC61C5FABEE4C5" + $"CCBF1DC3B0BF6BC4D2BF1DC3B0BF1DC3B00611BFBBBBFB02BF1DC3B0BF1DC3B0" + $"BE4BC0A0B932C05EBAADC2B3B7B7BE09B7CEBC77B891BB9DB70BBD51B75BBEE3" + $"B6C6BE2BB716BD46B675BF11B744C075B68CBFE0B65EBEEFB6BAC0D1B7A0C1CE" + $"B6F4C1ABB6DDC0F3B70BC263B86EC2F8B807C3D2B744C331B8CAC473BA5CC3E9" + $"BA68C536B926C4E6BBA9C587BCDFC4CFBDA2C5E3BC61C5FABEE4C5CCBF1DC3B0" + $"BF6BC4D2BF1DC3B0BF1DC3B0021CC1DAB736C1DAB736C197B777C31ABC13C338" + $"B950C2F8BF39BEE6C296BE66BF5DBE6BC26DBE46C0ADBE29C1E1BE77BEAABBB6" + $"BEA2BC7EBE2EB9A6BFD2BBCEC5EDBA2FC31FBE39CA1EC56DC2BBC4F9C854C696" + $"C2E1C8D2C132C8A2C1E7C900C089C7A0C117C7EDC0EFC7E7C0EFC8A7BF83C913" + $"C056C85DBEF3C75CBFE6C7C9BF6CC71DC045C6DBC08DC6DBC08DC6DBC08DC75C" + $"BFE6C712C03AC7BA3FC769BE52C80EBE9CC700BE23C678BEC9C6B1BE66C660BF" + $"78C5FEC021C5FEC021C5FEC021C678BEC9C61ABF6AC687BE58C609BE13C672BD" + $"F7C5E0BE1EC580BE32C5B1BE27C5B0BDF0C62DBC15C679BCC9C5D8BB4AC592BC" + $"9FC592BC9FC592BC9FC587BA00C5E7BB13C527B8EDC523BB06C523BB06C523BB" + $"06C449B862C524B91FC36FB7A6C41DB977C41DB977C41DB977C236B73DC381B7" + $"AAC203B72CC1DAB736C1E6B72AC1DAB736C1DAB736C1DAB736C1DAB736021CC1" + $"DAB736C1DAB736C197B777C31ABC13C338B950C2F8BF39BEE6C296BE66BF5DBE" + $"6BC26DBE46C0ADBE29C1E1BE77BEAABBB6BEA2BC7EBE2EB9A6BFD2BBCEC5EDBA" + $"2FC31FBE39CA1EC56DC2BBC4F9C854C696C2E1C8D2C132C8A2C1E7C900C089C7" + $"A0C117C7EDC0EFC7E7C0EFC8A7BF83C913C056C85DBEF3C75CBFE6C7C9BF6CC7" + $"1DC045C6DBC08DC6DBC08DC6DBC08DC75CBFE6C712C03AC7BA3FC769BE52C80E" + $"BE9CC700BE23C678BEC9C6B1BE66C660BF78C5FEC021C5FEC021C5FEC021C678" + $"BEC9C61ABF6AC687BE58C609BE13C672BDF7C5E0BE1EC580BE32C5B1BE27C5B0" + $"BDF0C62DBC15C679BCC9C5D8BB4AC592BC9FC592BC9FC592BC9FC587BA00C5E7" + $"BB13C527B8EDC523BB06C523BB06C523BB06C449B862C524B91FC36FB7A6C41D" + $"B977C41DB977C41DB977C236B73DC381B7AAC203B72CC1DAB736C1E6B72AC1DA" + $"B736C1DAB736C1DAB736C1DAB736040EBFBBBB0BBEFCC301BEFCC301BE02BF5D" + $"C31ABC14C2F73FC33DB8CDC237B73DC0EDB6D1C381B7AAC41DB977C44AB861C3" + $"6FB7A5C524B91EC523BB06C588BA00C528B8EDC5E7BB13C591BC9FC62EBC15C5" + $"D8BB4BC683BCE0C56EBE4DC659BEF0C6C3BDD6C5F0C009C401C069C4BBC1C7C5" + $"D6C0B5C3A0C2D8C1F4C2D3040EBFBBBB0BBEFCC301BEFCC301BE02BF5DC31ABC" + $"14C2F73FC33DB8CDC237B73DC0EDB6D1C381B7AAC41DB977C44AB861C36FB7A5" + $"C524B91EC523BB06C588BA00C528B8EDC5E7BB13C591BC9FC62EBC15C5D8BB4B" + $"C683BCE0C56EBE4DC659BEF0C6C3BDD6C5F0C009C401C069C4BBC1C7C5D6C0B5" + $"C3A0C2D8C1F4C2D30607FF1FBC2FC080BC2FC080BC0EC083BBBFC095BBEAC089" + $"BBFDC0A9BC45C111BC2CC0E0BC7FC0D9BCD2C0A3BC7AC0B6BCB2C08FBC68C07E" + $"38C081BC4EC05BBC2FC080BC4CC078BC2FC080C0800607FF1FBC2FC080BC2FC0" + $"80BC0EC083BBBFC095BBEAC089BBFDC0A9BC45C111BC2CC0E0BC7FC0D9BCD2C0" + $"A3BC7AC0B6BCB2C08FBC68C07E38C081BC4EC05BBC2FC080BC4CC078BC2FC080" + $"C08006047EBB44BF38BBC9C043BC21BF6FBAFFBFEFBB44BF38BC11BF8EBB44BF" + $"38BF380608FF7FBBC5BFE8BBC5BFE8BBB9C004BB81C01CBB9FC018BB63C020BB" + $"32BFFBBB45C013BB1FBFE3BB27BFA6BB1BBFC2BB33BF8ABB6BBF72BB4DBF76BB" + $"89BF6EBBBABF93BBA7BF7BBBCDBFABBBC5BFE8BBD1BFCBBBC5BFE8BFE80608FF" + $"7FBB82C001BB82C001BB80C006BB6EC007BB78C009BB63C006BB4EBFFABB57C0" + $"01BB46BFF4BB44BFE7BB42BFECBB46BFE2BB59BFE1BB4EBFE0BB64BFE3BB78BF" + $"EEBB6FBFE8BB81BFF5BB82C001BB85BFFCBB82C001C0010608FF7FBBB4BFBDBB" + $"B4BFBDBBB0BFC6BB91BFCABBA3BFCCBB80BFC9BB60BFB6BB6DBFC1BB53BFABBB" + $"52BF94BB4EBF9DBB56BF8ABB74BF86BB63BF84BB86BF87BBA5BF9ABB98BF8FBB" + $"B3BFA6BBB4BFBDBBB8BFB3BBB4BFBDBFBD06047EBDC0BF8DBCFBC06CBCDDBF88" + $"BDD3C050BDC0BF8DBCE4BFAABDC0BF8DBF8D0608FF7FBD16C015BD16C015BD1A" + $"C033BD4AC059BD2EC04DBD66C064BD9FC04EBD87C060BDB7C03BBDC0BFFFBDC4" + $"C01DBDBCBFE0BD8CBFBBBDA8BFC6BD70BFAFBD37BFC6BD4FBFB3BD1FBFD8BD16" + $"C015BD12BFF6BD16C015C0150608FF7FBD50C03FBD50C03FBD50C044BD62C04A" + $"BD57C049BD6DC04BBD84C046BD7AC04ABD8EC042BD93C036BD93C03CBD92C030" + $"BD80C02BBD8BC02CBD75C029BD5FC02FBD69C02BBD55C033BD50C03FBD4FC039" + $"BD50C03FC03F0608FF7FBD32BFEFBD32BFEFBD33BFFABD4FC006BD3EC003BD61" + $"C009BD84BFFFBD75C006BD94BFF7BD9BBFE2BD9DBFECBD9ABFD7BD7EBFCBBD8F" + $"BFCFBD6DBFC8BD49BFD2BD58BFCBBD39BFDABD32BFEFBD30BFE5BD32BFEFBFEF" + $"0608FF7FBC40C096BC40C096BC41C09CBC3AC0A6BC3EC0A2BC36C0AABC2CC0A7" + $"BC30C0AABC27C0A4BC23C098BC23C09FBC22C092BC29C088BC2542BC2DC085BC" + $"37C087BC33C084BC3CC08ABC40C096BC40C08FBC40C096C0960608FF7FBC7FC0" + $"9DBC7FC09DBC7EC0A3BC75C0ABBC7AC0A8BC70C0ADBC67C0A8BC6BC0ACBC63C0" + $"A5BC62C098BC61C09EBC63C092BC6CC08ABC6742BC71C087BC7A42BC76C088BC" + $"7EC090BC7FC09DBC80C096BC7FC09DC09D0608FF7FBC60C0A0BC60C0A0BC5FC0" + $"ADBC56C0C0BC5BC0BABC50C0C6BC46C0BFBC4AC0C6BC41C0B8BC40C09EBC3FC0" + $"ABBC41C090BC4BC07EBC45C084BC50C077BC5BC07FBC56C078BC5FC086BC60C0" + $"A0BC61C093BC60C0A0C0A00610EFEEEE7EC0F7C7CFC0F7C7CFC2ECC741C496C4" + $"D4C3F3C636C53AC37148C695C34FC474C3E54BC2B9C4C6C216C6F5C1D2C4E1C2" + $"31C44BC172C577C113C754C054C55CC0B3C4ABBFF4C60DC039C78BBEE4C577BE" + $"E4C4B8BEE4C636BF43C78BBD9DC569BDB8C4FCBD82C5D6BE25C739BC3AC585BC" + $"2DC4D3BC48C636C0F7C7CFBE23C89CC0F7C7CFC7CF0606FE07C06FC26EC12EC0" + $"ACC010C1A2C24CBFB7C35DBEB4C327BF3CC24CC068C0F8C1A2C0C1C10CC12EC2" + $"38C06FC26EC07DC26EC06FC26EC26E0205B651B5A7B651B5A7BC93B5A8C916B5" + $"A8C2D5B5A8C916BBEAC916C86DC916C22CC2D4C86DB650C86CBC92C86DB651C2" + $"2BB651B5A7B651BBE9B651B5A70229C757C7D3C757C7D3C74FC7BEC740C795C7" + $"48C7A9C704C7B2C688C7C0C6C7C7C0C628C7C0C599C76CC5D8C7A4C558C733C5" + $"3751C537C6E6C537C602C5CCC52AC569C58EC630C4C4C726C491C6A3C491C787" + $"C491C818C4ECC7D7C4AFC85AC529C87CC5D8C87CC577C87CC619C846C691C86A" + $"C657C81DC6D3C7ACC6F4C7EAC6F4C78CC6F4C77CC6CCC77CC6E7C77CC6BFC780" + $"C6A6C77DC6B2C79AC624C7CEC521C7B4C5A3C7B2C521C77AC521C796C521C775" + $"C521C766C521C76EC521C75EC520C74AC51FC755C520C73FC51EC72DC51EC736" + $"C51EC726C51EC719C51EC71FC51EC6DBC51EC672C55FC6A3C533C645C584C605" + $"C5F9C621C5B8C5E7C63AC5D9C6B1C5D9C677C5D9C6D6C5F6C710C5E2C6F6C60B" + $"C72BC64EC738C629C738C6A2C738C73BC666C6F1C6F2C73EC666C743C666C740" + $"C666C73BC67FC72BC6B2C733C699C722C6CFC71DC6F2C71DC6E5C71DC721C782" + $"C738C73FC738C7E1C738C86AC6C7C82EC712C8A3C681C8BFC5CDC8BFC62EC8BF" + $"C55EC84AC4B9C898C502C7FDC472C72FC44EC79FC44EC6DFC44EC647C484C692" + $"C460C5FBC4A7C589C512C5BCC4D6C525C585C4F2C68EC4F2C604C4F2C6FCC566" + $"C79FC519C757C5B1C7E2C67EC804C60EC804C6C4C804C757C7D3C70CC7F4C757" + $"C7D3C757C7D3C757C7D3C757C7D3C757C7D3C757C7D3C757C7D30209C74AC5F0" + $"C74AC5F0C72BC628C6EAC684C70BC659C6B5C6CAC669C6EDC68AC6EDC647C6ED" + $"C637C698C637C6D0C637C664C655C5FBC641C630C679C597C700C565C6B2C565" + $"C71DC565C762C579C73DC56CC75AC5A1C74AC5F053C5C8C74AC5F0C74AC5F0C7" + $"4AC5F0C74AC5F00229C757C7D3C757C7D3C74FC7BEC740C795C748C7A9C704C7" + $"B2C688C7C0C6C7C7C0C628C7C0C599C76CC5D8C7A4C558C733C53751C537C6E6" + $"C537C602C5CCC52AC569C58EC630C4C4C726C491C6A3C491C787C491C818C4EC" + $"C7D7C4AFC85AC529C87CC5D8C87CC577C87CC619C846C691C86AC657C81DC6D3" + $"C7ACC6F4C7EAC6F4C78CC6F4C77CC6CCC77CC6E7C77CC6BFC780C6A6C77DC6B2" + $"C79AC624C7CEC521C7B4C5A3C7B2C521C77AC521C796C521C775C521C766C521" + $"C76EC521C75EC520C74AC51FC755C520C73FC51EC72DC51EC736C51EC726C51E" + $"C719C51EC71FC51EC6DBC51EC672C55FC6A3C533C645C584C605C5F9C621C5B8" + $"C5E7C63AC5D9C6B1C5D9C677C5D9C6D6C5F6C710C5E2C6F6C60BC72BC64EC738" + $"C629C738C6A2C738C73BC666C6F1C6F2C73EC666C743C666C740C666C73BC67F" + $"C72BC6B2C733C699C722C6CFC71DC6F2C71DC6E5C71DC721C782C738C73FC738" + $"C7E1C738C86AC6C7C82EC712C8A3C681C8BFC5CDC8BFC62EC8BFC55EC84AC4B9" + $"C898C502C7FDC472C72FC44EC79FC44EC6DFC44EC647C484C692C460C5FBC4A7" + $"C589C512C5BCC4D6C525C585C4F2C68EC4F2C604C4F2C6FCC566C79FC519C757" + $"C5B1C7E2C67EC804C60EC804C6C4C804C757C7D3C70CC7F4C757C7D3C757C7D3" + $"C757C7D3C757C7D3C757C7D3C757C7D3C757C7D30609FFFF00C74AC5F0C74AC5" + $"F0C72BC628C6EAC684C70BC659C6B5C6CAC669C6EDC68AC6EDC647C6EDC637C6" + $"98C637C6D0C637C664C655C5FBC641C630C679C597C700C565C6B2C565C71DC5" + $"65C762C579C73DC56CC75AC5A1C74AC5F053C5C8C74AC5F0C74A0229C757C7D3" + $"C757C7D3C74FC7BEC740C795C748C7A9C704C7B2C688C7C0C6C7C7C0C628C7C0" + $"C599C76CC5D8C7A4C558C733C53751C537C6E6C537C602C5CCC52AC569C58EC6" + $"30C4C4C726C491C6A3C491C787C491C818C4ECC7D7C4AFC85AC529C87CC5D8C8" + $"7CC577C87CC619C846C691C86AC657C81DC6D3C7ACC6F4C7EAC6F4C78CC6F4C7" + $"7CC6CCC77CC6E7C77CC6BFC780C6A6C77DC6B2C79AC624C7CEC521C7B4C5A3C7" + $"B2C521C77AC521C796C521C775C521C766C521C76EC521C75EC520C74AC51FC7" + $"55C520C73FC51EC72DC51EC736C51EC726C51EC719C51EC71FC51EC6DBC51EC6" + $"72C55FC6A3C533C645C584C605C5F9C621C5B8C5E7C63AC5D9C6B1C5D9C677C5" + $"D9C6D6C5F6C710C5E2C6F6C60BC72BC64EC738C629C738C6A2C738C73BC666C6" + $"F1C6F2C73EC666C743C666C740C666C73BC67FC72BC6B2C733C699C722C6CFC7" + $"1DC6F2C71DC6E5C71DC721C782C738C73FC738C7E1C738C86AC6C7C82EC712C8" + $"A3C681C8BFC5CDC8BFC62EC8BFC55EC84AC4B9C898C502C7FDC472C72FC44EC7" + $"9FC44EC6DFC44EC647C484C692C460C5FBC4A7C589C512C5BCC4D6C525C585C4" + $"F2C68EC4F2C604C4F2C6FCC566C79FC519C757C5B1C7E2C67EC804C60EC804C6" + $"C4C804C757C7D3C70CC7F4C757C7D3C757C7D3C757C7D3C757C7D3C757C7D3C7" + $"57C7D3C757C7D30609FFFF00C74AC5F0C74AC5F0C72BC628C6EAC684C70BC659" + $"C6B5C6CAC669C6EDC68AC6EDC647C6EDC637C698C637C6D0C637C664C655C5FB" + $"C641C630C679C597C700C565C6B2C565C71DC565C762C579C73DC56CC75AC5A1" + $"C74AC5F053C5C8C74AC5F0C74A0229C757C7D3C757C7D3C74FC7BEC740C795C7" + $"48C7A9C704C7B2C688C7C0C6C7C7C0C628C7C0C599C76CC5D8C7A4C558C733C5" + $"3751C537C6E6C537C602C5CCC52AC569C58EC630C4C4C726C491C6A3C491C787" + $"C491C818C4ECC7D7C4AFC85AC529C87CC5D8C87CC577C87CC619C846C691C86A" + $"C657C81DC6D3C7ACC6F4C7EAC6F4C78CC6F4C77CC6CCC77CC6E7C77CC6BFC780" + $"C6A6C77DC6B2C79AC624C7CEC521C7B4C5A3C7B2C521C77AC521C796C521C775" + $"C521C766C521C76EC521C75EC520C74AC51FC755C520C73FC51EC72DC51EC736" + $"C51EC726C51EC719C51EC71FC51EC6DBC51EC672C55FC6A3C533C645C584C605" + $"C5F9C621C5B8C5E7C63AC5D9C6B1C5D9C677C5D9C6D6C5F6C710C5E2C6F6C60B" + $"C72BC64EC738C629C738C6A2C738C73BC666C6F1C6F2C73EC666C743C666C740" + $"C666C73BC67FC72BC6B2C733C699C722C6CFC71DC6F2C71DC6E5C71DC721C782" + $"C738C73FC738C7E1C738C86AC6C7C82EC712C8A3C681C8BFC5CDC8BFC62EC8BF" + $"C55EC84AC4B9C898C502C7FDC472C72FC44EC79FC44EC6DFC44EC647C484C692" + $"C460C5FBC4A7C589C512C5BCC4D6C525C585C4F2C68EC4F2C604C4F2C6FCC566" + $"C79FC519C757C5B1C7E2C67EC804C60EC804C6C4C804C757C7D3C70CC7F4C757" + $"C7D3C757C7D3C757C7D3C757C7D3C757C7D3C757C7D3C757C7D30209C74AC5F0" + $"C74AC5F0C72BC628C6EAC684C70BC659C6B5C6CAC669C6EDC68AC6EDC647C6ED" + $"C637C698C637C6D0C637C664C655C5FBC641C630C679C597C700C565C6B2C565" + $"C71DC565C762C579C73DC56CC75AC5A1C74AC5F053C5C8C74AC5F0C74AC5F0C7" + $"4AC5F0C74AC5F00229C757C7D3C757C7D3C74FC7BEC740C795C748C7A9C704C7" + $"B2C688C7C0C6C7C7C0C628C7C0C599C76CC5D8C7A4C558C733C53751C537C6E6" + $"C537C602C5CCC52AC569C58EC630C4C4C726C491C6A3C491C787C491C818C4EC" + $"C7D7C4AFC85AC529C87CC5D8C87CC577C87CC619C846C691C86AC657C81DC6D3" + $"C7ACC6F4C7EAC6F4C78CC6F4C77CC6CCC77CC6E7C77CC6BFC780C6A6C77DC6B2" + $"C79AC624C7CEC521C7B4C5A3C7B2C521C77AC521C796C521C775C521C766C521" + $"C76EC521C75EC520C74AC51FC755C520C73FC51EC72DC51EC736C51EC726C51E" + $"C719C51EC71FC51EC6DBC51EC672C55FC6A3C533C645C584C605C5F9C621C5B8" + $"C5E7C63AC5D9C6B1C5D9C677C5D9C6D6C5F6C710C5E2C6F6C60BC72BC64EC738" + $"C629C738C6A2C738C73BC666C6F1C6F2C73EC666C743C666C740C666C73BC67F" + $"C72BC6B2C733C699C722C6CFC71DC6F2C71DC6E5C71DC721C782C738C73FC738" + $"C7E1C738C86AC6C7C82EC712C8A3C681C8BFC5CDC8BFC62EC8BFC55EC84AC4B9" + $"C898C502C7FDC472C72FC44EC79FC44EC6DFC44EC647C484C692C460C5FBC4A7" + $"C589C512C5BCC4D6C525C585C4F2C68EC4F2C604C4F2C6FCC566C79FC519C757" + $"C5B1C7E2C67EC804C60EC804C6C4C804C757C7D3C70CC7F4C757C7D3C757C7D3" + $"C757C7D3C757C7D3C757C7D3C757C7D3C757C7D3280A26010002401541000000" + $"0000003E028F44D6964A33880A0101011001178502040A020102000A03010300" + $"0A040104000A050105000A060106000A070107000A080108000A090109000A0C" + $"010A000A12010B000A14010C000A15010D12407D4F000000000000406FE0C5E5" + $"BCC6BE0501178322040A16010E02407D4F000000000000406FE0C5E5BCC6BE05" + $"0A17010F12407D4F000000000000406FE0C5E5BCC6BE0501178022040A180110" + $"02407D4F000000000000406FE0C5E5BCC6BE050A17011112407D4F0000000000" + $"00406FE0C5E5BCC6BE0501178022040A00011202407D4F000000000000406FE0" + $"C5E5BCC6BE050A17011312407D4F000000000000406FE0C5E5BCC6BE05011780" + $"22040A19011402407D4F000000000000406FE0C5E5BCC6BE050A17011512407D" + $"4F000000000000406FE0C5E5BCC6BE0501178000040A17011602407D4F000000" + $"000000406FE0C5E5BCC6BE050A1A011702407D4F000000000000406FE0C5E5BC" + $"C6BE050A1B011802407D4F000000000000406FE0C5E5BCC6BE050A1C01190240" + $"7D4F000000000000406FE0C5E5BCC6BE050A17011A02407D4F00000000000040" + $"6FE0C5E5BCC6BE050A1A011B02407D4F000000000000406FE0C5E5BCC6BE050A" + $"1D011C02407D4F000000000000406FE0C5E5BCC6BE050A1E011D02407D4F0000" + $"00000000406FE0C5E5BCC6BE050A1F011E02407D4F000000000000406FE0C5E5" + $"BCC6BE050A20011F02407D4F000000000000406FE0C5E5BCC6BE050A21012002" + $"407D4F000000000000406FE0C5E5BCC6BE050A22012102407D4F000000000000" + $"406FE0C5E5BCC6BE050A23012202407D4F000000000000406FE0C5E5BCC6BE05" + $"0A24012402422D7C000000000000421532CBA456CB108C0A2402252612422D7C" + $"000000000000421532CBA456CB108C01178222040A1502272802422D7C000000" + $"000000421532CBA456CB108C0A2502292A12422D7C000000000000421532CBA4" + $"56CB108C01178122040A00022B2C02422D7C000000000000421532CBA456CB10" + $"8C" +}; diff --git a/mail-client/icedove/additional-files/icedove_launcher.rdef.in b/mail-client/icedove/additional-files/icedove_launcher.rdef.in new file mode 100644 index 000000000..9fc2bd716 --- /dev/null +++ b/mail-client/icedove/additional-files/icedove_launcher.rdef.in @@ -0,0 +1,292 @@ +resource app_flags B_MULTIPLE_LAUNCH; + +resource app_version { + major = @MAJOR@, + middle = @MIDDLE@, + minor = @MINOR@, + + variety = B_APPV_FINAL, + internal = 0, + + short_info = "Icedove Mail", + long_info = "@LONG_INFO@" +}; + +resource app_signature "application/x-vnd.icedove-launcher"; + +resource file_types message { + "types" = "message/rfc822" +}; + +resource vector_icon { + $"6E6369662705FF050102000602241A19BD03DC3D03DC241A194B80054A09BE00" + $"8AE234FF4E9A06020102033D03DC241A19A41A193D03DC49FC2E4A09AD00FFFF" + $"FFB2CC4E9A0600FF8AE234FF020112023CF8E4241274241274BCF8E449FC5245" + $"2DBD00FFFFFFFF00020112023D3490243C0DA352F43C625049FC0D4B808700FF" + $"FFFFFF00020012023ADEB0BC7C023C7C023ADEB04AF5154A96F100FFFFFFFF00" + $"02001202BC7C223ADE413ADE413C7C224A84A24B0DA600FFFFFFFF0002011202" + $"382CAAB682843AEBD33C87E74A01834A139600FFFFFFFF00020112039F565E38" + $"64C3B864C39F565E4A01D24A14E100FFFF59FFD7FFFF00020112039CD5A03608" + $"6DB6086D9CD5A04AC504489B1D00FFFF59FFD7FFFF00020112039B797B347DF1" + $"B47DF19B797B4B12A748EAE200FFFF59FFD7FFFF00020112039D90E2368EBBB6" + $"8EBB9D90E2490C1848796E00FFFF59FFD7FFFF00020112039D90E2368EBBB68E" + $"BB9D90E24AD9FD49216D00FFFF59FFD7FFFF00020112039D90E2368EBBB68EBB" + $"9D90E24A774D4AE4A700FFFF59FFD7FFFF00020112039D90E2368EBBB68EBB9D" + $"90E24835EE4A96F300FFFF59FFD7FFFF00020112039B797B347DF1B47DF19B79" + $"7B4A8A2E4B14EC00FFFF59FFD7FFFF00020112039CD5A036086DB6086D9CD5A0" + $"4870AA4ADC3400FFFF59FFD7FFFF00020112039CD5A036086DB6086D9CD5A048" + $"70CC48ABC400FFFF59FFD7FFFF00020112039B797B347DF1B47DF19B797B47B3" + $"2D4AB45200FFFF59FFD7FFFF00020112039B797B347DF1B47DF19B797B48D15B" + $"4814B100FFFF59FFD7FFFF0003033C8202000602BA7DFFB9F16239F162BA7DFF" + $"4A0D4C4A015600729FCFFFFFFFFF03729FCF0201060236ABEE38F43BBB967C39" + $"3EAB4A7BBB49E31500729FCFFFFFFFFF035557530500020006022BCA43AE46CC" + $"3071D02E08F048AB8F4A0A4D00729FCFFFFFFFFF02010602B0B78533438CB368" + $"74B0D63E48AF5749EFF300729FCFFFFFFFFF02000602A88AA9AE7200B0A0342A" + $"BAAF493C4D4A13F400729FCFFFFFFFFF020106022DA4D633817B33A921ADCE0B" + $"4942424A01C600729FCFFFFFFFFF0201120327F4BF2ECCA0AE4A54273C9C48E2" + $"844A21D30000B466005AFF000002011203A9A7182EC5DBAE44CAA8FD1448F638" + $"4A22510000B466005AFF000002011203AABD573374B1AFCBBAA7025648ED1B4A" + $"187D00FFFF59FFD7FFFF000201060235924F3C322FBE30D03790154A32104BF0" + $"5000729FCFFFFFFFFF020006023B17B5BA96AA3A96AA3B17B54A70EF4B41A800" + $"729FCFFFFFFFFF04007F030244950401772D0208BFB4B661BFB4B661C323B661" + $"C806BB2FC64FB836C9BEBE29C806C4CCC9BDC1D3C64EC7C5BFB3C999C322C99A" + $"BC44C999B760C4CBB918C7C4B5A9C1D2B761BB2FB5A93CB918B836BFB4B661BC" + $"45B661BFB4B661BFB4B661BFB4B661BFB4B6610208BFB4B661BFB4B661C323B6" + $"61C806BB2FC64FB836C9BEBE29C806C4CCC9BDC1D3C64EC7C5BFB3C999C322C9" + $"9ABC44C999B760C4CBB918C7C4B5A9C1D2B761BB2FB5A93CB918B836BFB4B661" + $"BC45B661BFB4B661BFB4B661BFB4B661BFB4B6610208BFB4B661BFB4B661C323" + $"B661C806BB2FC64FB836C9BEBE29C806C4CCC9BDC1D3C64EC7C5BFB3C999C322" + $"C99ABC44C999B760C4CBB918C7C4B5A9C1D2B761BB2FB5A93CB918B836BFB4B6" + $"61BC45B661BFB4B661BFB4B661BFB4B661BFB4B6610208BFB4B661BFB4B661C3" + $"23B661C806BB2FC64FB836C9BEBE29C806C4CCC9BDC1D3C64EC7C5BFB3C999C3" + $"22C99ABC44C999B760C4CBB918C7C4B5A9C1D2B761BB2FB5A93CB918B836BFB4" + $"B661BC45B661BFB4B661BFB4B661BFB4B661BFB4B6610208BFB3C491BFB3C491" + $"C233C492C5C3C112C483C33CC703BEE8C5C3BA13C703BC3DC483B7E8BFB4B693" + $"C234B693BD34B693B9A4BA12BAE4B7E8B864BC3CB9A4C112B864BEE7BAE4C33C" + $"BFB3C491BD33C491BFB3C491BFB3C491BFB3C491BFB3C4910208BFB3BE19BFB3" + $"BE19C266BE19C63CC0E8C4E3BF2BC795C2A5C63CC685C795C4C8C4E3C841BFB3" + $"C953C265C953BD01C953B92AC684BA83C841B7D1C4C8B92AC0E7B7D1C2A4BA83" + $"BF2BBFB3BE19BD01BE19BFB3BE19BFB3BE19BFB3BE19BFB3BE1906047EBD72C9" + $"36BF26B677B440BFE9B2D4BFE0BD72C936BD79C92ABD72C936C93606047EC8C2" + $"BE0FB603BFC2BF76B4DCBF6DB370C8C2BE0FC8B6BE16C8C2BE0FBE0F06047EC4" + $"71C84DBB21B82BC0A8BF65BEB2C09FC471C84DC471C85BC471C84DC84D0608FF" + $"7FC1B3C045C1B3C045C1B3C0F3C0BFC1ECC156C194C028C243BED7C1EBBF6EC2" + $"43BE40C194BDE3C045BDE3C0F3BDE3BF96BED7BE9EBE40BEF5BF6EBE47C0BFBE" + $"9EC028BE47C156BEF5C1B3C045C1B3BF96C1B3C045C0450608FF7FBDBBBAE3BD" + $"BBBAE3BDBBBB40BD3836BD89BB96BCE8BBF3BC3436BC84BBF3BBE3BB96BBB1BA" + $"E3BBB1BB40BBB1BA85BC34BA01BBE3BA2FBC84B9D2BD39BA01BCE8B9D2BD89BA" + $"2FBDBBBAE3BDBBBA85BDBBBAE3BAE30608FF7FBB96BB83BB96BB83BB96BBCDBB" + $"2FBC37BB6FBC12BAEFBC5CBA5FBC37BA9FBC5CBA1FBC12B9F8BB83B9F8BBCDB9" + $"F8BB39BA5FBACFBA1FBAF4BAA0BAAABB2FBACFBAEFBAAABB6FBAF5BB96BB83BB" + $"96BB39BB96BB83BB830608FF7FBC7AB9A1BC7AB9A1BC7AB9CFBC3ABA10BC62B9" + $"F9BC13BA26BBBBBA10BBE3BA26BB94B9F9BB7CB9A1BB7CB9CFBB7CB974BBBBB9" + $"33BB94B94ABBE3B91DBC3AB933BC13B91DBC62B94ABC7AB9A1BC7AB974BC7AB9" + $"A1B9A1062BFFEFEFFFBFBFFFEFFEFF1FB7EEBC58B7EEBC58B7E5BC5FB7CEBC77" + $"B7DABC69B70BBD51B75ABEE3B75ABEE3B75ABEE3B6C6BE2CB717BD46B676BF12" + $"B744C075B744C075B744C075B68DBFE0B65FBEEFB6BBC0D1B7A0C1CDB6F4C1AA" + $"B6DDC0F3B70BC262B86EC2F8B86EC2F8B86EC2F8B807C3D3B744C332B8CAC474" + $"BA5CC3EABA68C536B926C4E5BAC4C54DBB73C544BB20C54EBB90C57DBBCDC5ED" + $"BBADC5B5BE39CA1FC56DC2BCC4F9C854C696C2E2C8D2C133C8A1C1E7C8FFC089" + $"C7A0C117C7EDC0EFC7E7C0EFC8A7BF84C913C056C85DBEF3C75CBFE7C7C9BF6D" + $"C71DC045C6DAC08DC75CBFE7C712C03AC7BA3FC769BE52C80EBE9CC700BE23C6" + $"77BECAC6B1BE66C660BF79C5FEC021C677BECAC61ABF6B51BE58C608BE13C671" + $"BDF7C5E0BE1EC580BE32C5B03CC5AFBDF0C62DBC15C679BCC9C5D8BB4BC591BC" + $"9FC591BC9FC591BC9FC587BA00C5E7BB13C527B8EDC522BB06C449B862C524B9" + $"1FC36EB7A6C41DB978C236B73EC380B7AAC202B72DC1DAB736C1E6B72AC196B7" + $"78C319BC14C337B950C2F8BF39BEE5C297BE66BF5DBE6BC26DBE46C0AEBE29C1" + $"E2BE77BEABBBB5BEA2BC7EBE2FBAC4BF2EBA5F44BA5FC02AB9EAC128B932C05D" + $"B982C0DBB7CFBE2DB7EEBC58B878BBEAB7EEBC58BC580611BFBBBBFB02BF1DC3" + $"B0BF1DC3B0BE4BC0A0B932C05EBAADC2B3B7B7BE09B7CEBC77B891BB9DB70BBD" + $"51B75BBEE3B6C6BE2BB716BD46B675BF11B744C075B68CBFE0B65EBEEFB6BAC0" + $"D1B7A0C1CEB6F4C1ABB6DDC0F3B70BC263B86EC2F8B807C3D2B744C331B8CAC4" + $"73BA5CC3E9BA68C536B926C4E6BBA9C587BCDFC4CFBDA2C5E3BC61C5FABEE4C5" + $"CCBF1DC3B0BF6BC4D2BF1DC3B0BF1DC3B00611BFBBBBFB02BF1DC3B0BF1DC3B0" + $"BE4BC0A0B932C05EBAADC2B3B7B7BE09B7CEBC77B891BB9DB70BBD51B75BBEE3" + $"B6C6BE2BB716BD46B675BF11B744C075B68CBFE0B65EBEEFB6BAC0D1B7A0C1CE" + $"B6F4C1ABB6DDC0F3B70BC263B86EC2F8B807C3D2B744C331B8CAC473BA5CC3E9" + $"BA68C536B926C4E6BBA9C587BCDFC4CFBDA2C5E3BC61C5FABEE4C5CCBF1DC3B0" + $"BF6BC4D2BF1DC3B0BF1DC3B0021CC1DAB736C1DAB736C197B777C31ABC13C338" + $"B950C2F8BF39BEE6C296BE66BF5DBE6BC26DBE46C0ADBE29C1E1BE77BEAABBB6" + $"BEA2BC7EBE2EB9A6BFD2BBCEC5EDBA2FC31FBE39CA1EC56DC2BBC4F9C854C696" + $"C2E1C8D2C132C8A2C1E7C900C089C7A0C117C7EDC0EFC7E7C0EFC8A7BF83C913" + $"C056C85DBEF3C75CBFE6C7C9BF6CC71DC045C6DBC08DC6DBC08DC6DBC08DC75C" + $"BFE6C712C03AC7BA3FC769BE52C80EBE9CC700BE23C678BEC9C6B1BE66C660BF" + $"78C5FEC021C5FEC021C5FEC021C678BEC9C61ABF6AC687BE58C609BE13C672BD" + $"F7C5E0BE1EC580BE32C5B1BE27C5B0BDF0C62DBC15C679BCC9C5D8BB4AC592BC" + $"9FC592BC9FC592BC9FC587BA00C5E7BB13C527B8EDC523BB06C523BB06C523BB" + $"06C449B862C524B91FC36FB7A6C41DB977C41DB977C41DB977C236B73DC381B7" + $"AAC203B72CC1DAB736C1E6B72AC1DAB736C1DAB736C1DAB736C1DAB736021CC1" + $"DAB736C1DAB736C197B777C31ABC13C338B950C2F8BF39BEE6C296BE66BF5DBE" + $"6BC26DBE46C0ADBE29C1E1BE77BEAABBB6BEA2BC7EBE2EB9A6BFD2BBCEC5EDBA" + $"2FC31FBE39CA1EC56DC2BBC4F9C854C696C2E1C8D2C132C8A2C1E7C900C089C7" + $"A0C117C7EDC0EFC7E7C0EFC8A7BF83C913C056C85DBEF3C75CBFE6C7C9BF6CC7" + $"1DC045C6DBC08DC6DBC08DC6DBC08DC75CBFE6C712C03AC7BA3FC769BE52C80E" + $"BE9CC700BE23C678BEC9C6B1BE66C660BF78C5FEC021C5FEC021C5FEC021C678" + $"BEC9C61ABF6AC687BE58C609BE13C672BDF7C5E0BE1EC580BE32C5B1BE27C5B0" + $"BDF0C62DBC15C679BCC9C5D8BB4AC592BC9FC592BC9FC592BC9FC587BA00C5E7" + $"BB13C527B8EDC523BB06C523BB06C523BB06C449B862C524B91FC36FB7A6C41D" + $"B977C41DB977C41DB977C236B73DC381B7AAC203B72CC1DAB736C1E6B72AC1DA" + $"B736C1DAB736C1DAB736C1DAB736040EBFBBBB0BBEFCC301BEFCC301BE02BF5D" + $"C31ABC14C2F73FC33DB8CDC237B73DC0EDB6D1C381B7AAC41DB977C44AB861C3" + $"6FB7A5C524B91EC523BB06C588BA00C528B8EDC5E7BB13C591BC9FC62EBC15C5" + $"D8BB4BC683BCE0C56EBE4DC659BEF0C6C3BDD6C5F0C009C401C069C4BBC1C7C5" + $"D6C0B5C3A0C2D8C1F4C2D3040EBFBBBB0BBEFCC301BEFCC301BE02BF5DC31ABC" + $"14C2F73FC33DB8CDC237B73DC0EDB6D1C381B7AAC41DB977C44AB861C36FB7A5" + $"C524B91EC523BB06C588BA00C528B8EDC5E7BB13C591BC9FC62EBC15C5D8BB4B" + $"C683BCE0C56EBE4DC659BEF0C6C3BDD6C5F0C009C401C069C4BBC1C7C5D6C0B5" + $"C3A0C2D8C1F4C2D30607FF1FBC2FC080BC2FC080BC0EC083BBBFC095BBEAC089" + $"BBFDC0A9BC45C111BC2CC0E0BC7FC0D9BCD2C0A3BC7AC0B6BCB2C08FBC68C07E" + $"38C081BC4EC05BBC2FC080BC4CC078BC2FC080C0800607FF1FBC2FC080BC2FC0" + $"80BC0EC083BBBFC095BBEAC089BBFDC0A9BC45C111BC2CC0E0BC7FC0D9BCD2C0" + $"A3BC7AC0B6BCB2C08FBC68C07E38C081BC4EC05BBC2FC080BC4CC078BC2FC080" + $"C08006047EBB44BF38BBC9C043BC21BF6FBAFFBFEFBB44BF38BC11BF8EBB44BF" + $"38BF380608FF7FBBC5BFE8BBC5BFE8BBB9C004BB81C01CBB9FC018BB63C020BB" + $"32BFFBBB45C013BB1FBFE3BB27BFA6BB1BBFC2BB33BF8ABB6BBF72BB4DBF76BB" + $"89BF6EBBBABF93BBA7BF7BBBCDBFABBBC5BFE8BBD1BFCBBBC5BFE8BFE80608FF" + $"7FBB82C001BB82C001BB80C006BB6EC007BB78C009BB63C006BB4EBFFABB57C0" + $"01BB46BFF4BB44BFE7BB42BFECBB46BFE2BB59BFE1BB4EBFE0BB64BFE3BB78BF" + $"EEBB6FBFE8BB81BFF5BB82C001BB85BFFCBB82C001C0010608FF7FBBB4BFBDBB" + $"B4BFBDBBB0BFC6BB91BFCABBA3BFCCBB80BFC9BB60BFB6BB6DBFC1BB53BFABBB" + $"52BF94BB4EBF9DBB56BF8ABB74BF86BB63BF84BB86BF87BBA5BF9ABB98BF8FBB" + $"B3BFA6BBB4BFBDBBB8BFB3BBB4BFBDBFBD06047EBDC0BF8DBCFBC06CBCDDBF88" + $"BDD3C050BDC0BF8DBCE4BFAABDC0BF8DBF8D0608FF7FBD16C015BD16C015BD1A" + $"C033BD4AC059BD2EC04DBD66C064BD9FC04EBD87C060BDB7C03BBDC0BFFFBDC4" + $"C01DBDBCBFE0BD8CBFBBBDA8BFC6BD70BFAFBD37BFC6BD4FBFB3BD1FBFD8BD16" + $"C015BD12BFF6BD16C015C0150608FF7FBD50C03FBD50C03FBD50C044BD62C04A" + $"BD57C049BD6DC04BBD84C046BD7AC04ABD8EC042BD93C036BD93C03CBD92C030" + $"BD80C02BBD8BC02CBD75C029BD5FC02FBD69C02BBD55C033BD50C03FBD4FC039" + $"BD50C03FC03F0608FF7FBD32BFEFBD32BFEFBD33BFFABD4FC006BD3EC003BD61" + $"C009BD84BFFFBD75C006BD94BFF7BD9BBFE2BD9DBFECBD9ABFD7BD7EBFCBBD8F" + $"BFCFBD6DBFC8BD49BFD2BD58BFCBBD39BFDABD32BFEFBD30BFE5BD32BFEFBFEF" + $"0608FF7FBC40C096BC40C096BC41C09CBC3AC0A6BC3EC0A2BC36C0AABC2CC0A7" + $"BC30C0AABC27C0A4BC23C098BC23C09FBC22C092BC29C088BC2542BC2DC085BC" + $"37C087BC33C084BC3CC08ABC40C096BC40C08FBC40C096C0960608FF7FBC7FC0" + $"9DBC7FC09DBC7EC0A3BC75C0ABBC7AC0A8BC70C0ADBC67C0A8BC6BC0ACBC63C0" + $"A5BC62C098BC61C09EBC63C092BC6CC08ABC6742BC71C087BC7A42BC76C088BC" + $"7EC090BC7FC09DBC80C096BC7FC09DC09D0608FF7FBC60C0A0BC60C0A0BC5FC0" + $"ADBC56C0C0BC5BC0BABC50C0C6BC46C0BFBC4AC0C6BC41C0B8BC40C09EBC3FC0" + $"ABBC41C090BC4BC07EBC45C084BC50C077BC5BC07FBC56C078BC5FC086BC60C0" + $"A0BC61C093BC60C0A0C0A00610EFEEEE7EC0F7C7CFC0F7C7CFC2ECC741C496C4" + $"D4C3F3C636C53AC37148C695C34FC474C3E54BC2B9C4C6C216C6F5C1D2C4E1C2" + $"31C44BC172C577C113C754C054C55CC0B3C4ABBFF4C60DC039C78BBEE4C577BE" + $"E4C4B8BEE4C636BF43C78BBD9DC569BDB8C4FCBD82C5D6BE25C739BC3AC585BC" + $"2DC4D3BC48C636C0F7C7CFBE23C89CC0F7C7CFC7CF0606FE07C06FC26EC12EC0" + $"ACC010C1A2C24CBFB7C35DBEB4C327BF3CC24CC068C0F8C1A2C0C1C10CC12EC2" + $"38C06FC26EC07DC26EC06FC26EC26E0205B651B5A7B651B5A7BC93B5A8C916B5" + $"A8C2D5B5A8C916BBEAC916C86DC916C22CC2D4C86DB650C86CBC92C86DB651C2" + $"2BB651B5A7B651BBE9B651B5A70229C757C7D3C757C7D3C74FC7BEC740C795C7" + $"48C7A9C704C7B2C688C7C0C6C7C7C0C628C7C0C599C76CC5D8C7A4C558C733C5" + $"3751C537C6E6C537C602C5CCC52AC569C58EC630C4C4C726C491C6A3C491C787" + $"C491C818C4ECC7D7C4AFC85AC529C87CC5D8C87CC577C87CC619C846C691C86A" + $"C657C81DC6D3C7ACC6F4C7EAC6F4C78CC6F4C77CC6CCC77CC6E7C77CC6BFC780" + $"C6A6C77DC6B2C79AC624C7CEC521C7B4C5A3C7B2C521C77AC521C796C521C775" + $"C521C766C521C76EC521C75EC520C74AC51FC755C520C73FC51EC72DC51EC736" + $"C51EC726C51EC719C51EC71FC51EC6DBC51EC672C55FC6A3C533C645C584C605" + $"C5F9C621C5B8C5E7C63AC5D9C6B1C5D9C677C5D9C6D6C5F6C710C5E2C6F6C60B" + $"C72BC64EC738C629C738C6A2C738C73BC666C6F1C6F2C73EC666C743C666C740" + $"C666C73BC67FC72BC6B2C733C699C722C6CFC71DC6F2C71DC6E5C71DC721C782" + $"C738C73FC738C7E1C738C86AC6C7C82EC712C8A3C681C8BFC5CDC8BFC62EC8BF" + $"C55EC84AC4B9C898C502C7FDC472C72FC44EC79FC44EC6DFC44EC647C484C692" + $"C460C5FBC4A7C589C512C5BCC4D6C525C585C4F2C68EC4F2C604C4F2C6FCC566" + $"C79FC519C757C5B1C7E2C67EC804C60EC804C6C4C804C757C7D3C70CC7F4C757" + $"C7D3C757C7D3C757C7D3C757C7D3C757C7D3C757C7D3C757C7D30209C74AC5F0" + $"C74AC5F0C72BC628C6EAC684C70BC659C6B5C6CAC669C6EDC68AC6EDC647C6ED" + $"C637C698C637C6D0C637C664C655C5FBC641C630C679C597C700C565C6B2C565" + $"C71DC565C762C579C73DC56CC75AC5A1C74AC5F053C5C8C74AC5F0C74AC5F0C7" + $"4AC5F0C74AC5F00229C757C7D3C757C7D3C74FC7BEC740C795C748C7A9C704C7" + $"B2C688C7C0C6C7C7C0C628C7C0C599C76CC5D8C7A4C558C733C53751C537C6E6" + $"C537C602C5CCC52AC569C58EC630C4C4C726C491C6A3C491C787C491C818C4EC" + $"C7D7C4AFC85AC529C87CC5D8C87CC577C87CC619C846C691C86AC657C81DC6D3" + $"C7ACC6F4C7EAC6F4C78CC6F4C77CC6CCC77CC6E7C77CC6BFC780C6A6C77DC6B2" + $"C79AC624C7CEC521C7B4C5A3C7B2C521C77AC521C796C521C775C521C766C521" + $"C76EC521C75EC520C74AC51FC755C520C73FC51EC72DC51EC736C51EC726C51E" + $"C719C51EC71FC51EC6DBC51EC672C55FC6A3C533C645C584C605C5F9C621C5B8" + $"C5E7C63AC5D9C6B1C5D9C677C5D9C6D6C5F6C710C5E2C6F6C60BC72BC64EC738" + $"C629C738C6A2C738C73BC666C6F1C6F2C73EC666C743C666C740C666C73BC67F" + $"C72BC6B2C733C699C722C6CFC71DC6F2C71DC6E5C71DC721C782C738C73FC738" + $"C7E1C738C86AC6C7C82EC712C8A3C681C8BFC5CDC8BFC62EC8BFC55EC84AC4B9" + $"C898C502C7FDC472C72FC44EC79FC44EC6DFC44EC647C484C692C460C5FBC4A7" + $"C589C512C5BCC4D6C525C585C4F2C68EC4F2C604C4F2C6FCC566C79FC519C757" + $"C5B1C7E2C67EC804C60EC804C6C4C804C757C7D3C70CC7F4C757C7D3C757C7D3" + $"C757C7D3C757C7D3C757C7D3C757C7D3C757C7D30609FFFF00C74AC5F0C74AC5" + $"F0C72BC628C6EAC684C70BC659C6B5C6CAC669C6EDC68AC6EDC647C6EDC637C6" + $"98C637C6D0C637C664C655C5FBC641C630C679C597C700C565C6B2C565C71DC5" + $"65C762C579C73DC56CC75AC5A1C74AC5F053C5C8C74AC5F0C74A0229C757C7D3" + $"C757C7D3C74FC7BEC740C795C748C7A9C704C7B2C688C7C0C6C7C7C0C628C7C0" + $"C599C76CC5D8C7A4C558C733C53751C537C6E6C537C602C5CCC52AC569C58EC6" + $"30C4C4C726C491C6A3C491C787C491C818C4ECC7D7C4AFC85AC529C87CC5D8C8" + $"7CC577C87CC619C846C691C86AC657C81DC6D3C7ACC6F4C7EAC6F4C78CC6F4C7" + $"7CC6CCC77CC6E7C77CC6BFC780C6A6C77DC6B2C79AC624C7CEC521C7B4C5A3C7" + $"B2C521C77AC521C796C521C775C521C766C521C76EC521C75EC520C74AC51FC7" + $"55C520C73FC51EC72DC51EC736C51EC726C51EC719C51EC71FC51EC6DBC51EC6" + $"72C55FC6A3C533C645C584C605C5F9C621C5B8C5E7C63AC5D9C6B1C5D9C677C5" + $"D9C6D6C5F6C710C5E2C6F6C60BC72BC64EC738C629C738C6A2C738C73BC666C6" + $"F1C6F2C73EC666C743C666C740C666C73BC67FC72BC6B2C733C699C722C6CFC7" + $"1DC6F2C71DC6E5C71DC721C782C738C73FC738C7E1C738C86AC6C7C82EC712C8" + $"A3C681C8BFC5CDC8BFC62EC8BFC55EC84AC4B9C898C502C7FDC472C72FC44EC7" + $"9FC44EC6DFC44EC647C484C692C460C5FBC4A7C589C512C5BCC4D6C525C585C4" + $"F2C68EC4F2C604C4F2C6FCC566C79FC519C757C5B1C7E2C67EC804C60EC804C6" + $"C4C804C757C7D3C70CC7F4C757C7D3C757C7D3C757C7D3C757C7D3C757C7D3C7" + $"57C7D3C757C7D30609FFFF00C74AC5F0C74AC5F0C72BC628C6EAC684C70BC659" + $"C6B5C6CAC669C6EDC68AC6EDC647C6EDC637C698C637C6D0C637C664C655C5FB" + $"C641C630C679C597C700C565C6B2C565C71DC565C762C579C73DC56CC75AC5A1" + $"C74AC5F053C5C8C74AC5F0C74A0229C757C7D3C757C7D3C74FC7BEC740C795C7" + $"48C7A9C704C7B2C688C7C0C6C7C7C0C628C7C0C599C76CC5D8C7A4C558C733C5" + $"3751C537C6E6C537C602C5CCC52AC569C58EC630C4C4C726C491C6A3C491C787" + $"C491C818C4ECC7D7C4AFC85AC529C87CC5D8C87CC577C87CC619C846C691C86A" + $"C657C81DC6D3C7ACC6F4C7EAC6F4C78CC6F4C77CC6CCC77CC6E7C77CC6BFC780" + $"C6A6C77DC6B2C79AC624C7CEC521C7B4C5A3C7B2C521C77AC521C796C521C775" + $"C521C766C521C76EC521C75EC520C74AC51FC755C520C73FC51EC72DC51EC736" + $"C51EC726C51EC719C51EC71FC51EC6DBC51EC672C55FC6A3C533C645C584C605" + $"C5F9C621C5B8C5E7C63AC5D9C6B1C5D9C677C5D9C6D6C5F6C710C5E2C6F6C60B" + $"C72BC64EC738C629C738C6A2C738C73BC666C6F1C6F2C73EC666C743C666C740" + $"C666C73BC67FC72BC6B2C733C699C722C6CFC71DC6F2C71DC6E5C71DC721C782" + $"C738C73FC738C7E1C738C86AC6C7C82EC712C8A3C681C8BFC5CDC8BFC62EC8BF" + $"C55EC84AC4B9C898C502C7FDC472C72FC44EC79FC44EC6DFC44EC647C484C692" + $"C460C5FBC4A7C589C512C5BCC4D6C525C585C4F2C68EC4F2C604C4F2C6FCC566" + $"C79FC519C757C5B1C7E2C67EC804C60EC804C6C4C804C757C7D3C70CC7F4C757" + $"C7D3C757C7D3C757C7D3C757C7D3C757C7D3C757C7D3C757C7D30209C74AC5F0" + $"C74AC5F0C72BC628C6EAC684C70BC659C6B5C6CAC669C6EDC68AC6EDC647C6ED" + $"C637C698C637C6D0C637C664C655C5FBC641C630C679C597C700C565C6B2C565" + $"C71DC565C762C579C73DC56CC75AC5A1C74AC5F053C5C8C74AC5F0C74AC5F0C7" + $"4AC5F0C74AC5F00229C757C7D3C757C7D3C74FC7BEC740C795C748C7A9C704C7" + $"B2C688C7C0C6C7C7C0C628C7C0C599C76CC5D8C7A4C558C733C53751C537C6E6" + $"C537C602C5CCC52AC569C58EC630C4C4C726C491C6A3C491C787C491C818C4EC" + $"C7D7C4AFC85AC529C87CC5D8C87CC577C87CC619C846C691C86AC657C81DC6D3" + $"C7ACC6F4C7EAC6F4C78CC6F4C77CC6CCC77CC6E7C77CC6BFC780C6A6C77DC6B2" + $"C79AC624C7CEC521C7B4C5A3C7B2C521C77AC521C796C521C775C521C766C521" + $"C76EC521C75EC520C74AC51FC755C520C73FC51EC72DC51EC736C51EC726C51E" + $"C719C51EC71FC51EC6DBC51EC672C55FC6A3C533C645C584C605C5F9C621C5B8" + $"C5E7C63AC5D9C6B1C5D9C677C5D9C6D6C5F6C710C5E2C6F6C60BC72BC64EC738" + $"C629C738C6A2C738C73BC666C6F1C6F2C73EC666C743C666C740C666C73BC67F" + $"C72BC6B2C733C699C722C6CFC71DC6F2C71DC6E5C71DC721C782C738C73FC738" + $"C7E1C738C86AC6C7C82EC712C8A3C681C8BFC5CDC8BFC62EC8BFC55EC84AC4B9" + $"C898C502C7FDC472C72FC44EC79FC44EC6DFC44EC647C484C692C460C5FBC4A7" + $"C589C512C5BCC4D6C525C585C4F2C68EC4F2C604C4F2C6FCC566C79FC519C757" + $"C5B1C7E2C67EC804C60EC804C6C4C804C757C7D3C70CC7F4C757C7D3C757C7D3" + $"C757C7D3C757C7D3C757C7D3C757C7D3C757C7D3280A26010002401541000000" + $"0000003E028F44D6964A33880A0101011001178502040A020102000A03010300" + $"0A040104000A050105000A060106000A070107000A080108000A090109000A0C" + $"010A000A12010B000A14010C000A15010D12407D4F000000000000406FE0C5E5" + $"BCC6BE0501178322040A16010E02407D4F000000000000406FE0C5E5BCC6BE05" + $"0A17010F12407D4F000000000000406FE0C5E5BCC6BE0501178022040A180110" + $"02407D4F000000000000406FE0C5E5BCC6BE050A17011112407D4F0000000000" + $"00406FE0C5E5BCC6BE0501178022040A00011202407D4F000000000000406FE0" + $"C5E5BCC6BE050A17011312407D4F000000000000406FE0C5E5BCC6BE05011780" + $"22040A19011402407D4F000000000000406FE0C5E5BCC6BE050A17011512407D" + $"4F000000000000406FE0C5E5BCC6BE0501178000040A17011602407D4F000000" + $"000000406FE0C5E5BCC6BE050A1A011702407D4F000000000000406FE0C5E5BC" + $"C6BE050A1B011802407D4F000000000000406FE0C5E5BCC6BE050A1C01190240" + $"7D4F000000000000406FE0C5E5BCC6BE050A17011A02407D4F00000000000040" + $"6FE0C5E5BCC6BE050A1A011B02407D4F000000000000406FE0C5E5BCC6BE050A" + $"1D011C02407D4F000000000000406FE0C5E5BCC6BE050A1E011D02407D4F0000" + $"00000000406FE0C5E5BCC6BE050A1F011E02407D4F000000000000406FE0C5E5" + $"BCC6BE050A20011F02407D4F000000000000406FE0C5E5BCC6BE050A21012002" + $"407D4F000000000000406FE0C5E5BCC6BE050A22012102407D4F000000000000" + $"406FE0C5E5BCC6BE050A23012202407D4F000000000000406FE0C5E5BCC6BE05" + $"0A24012402422D7C000000000000421532CBA456CB108C0A2402252612422D7C" + $"000000000000421532CBA456CB108C01178222040A1502272802422D7C000000" + $"000000421532CBA456CB108C0A2502292A12422D7C000000000000421532CBA4" + $"56CB108C01178122040A00022B2C02422D7C000000000000421532CBA456CB10" + $"8C" +}; diff --git a/mail-client/icedove/icedove-137.0.recipe b/mail-client/icedove/icedove-138.0.recipe similarity index 75% rename from mail-client/icedove/icedove-137.0.recipe rename to mail-client/icedove/icedove-138.0.recipe index 84a6ea62e..f8b538c1a 100644 --- a/mail-client/icedove/icedove-137.0.recipe +++ b/mail-client/icedove/icedove-138.0.recipe @@ -8,11 +8,16 @@ COPYRIGHT="1998–2025 MZLA Technologies Corporation," LICENSE="MPL v2.0" REVISION="1" SOURCE_URI="https://ftp.mozilla.org/pub/thunderbird/releases/$portVersion/source/thunderbird-$portVersion.source.tar.xz" -CHECKSUM_SHA256="7b93cf879d78f6b09ccd81f05b16b6772a1688c4cc7adfc8de669f647f85c5c1" +CHECKSUM_SHA256="c92ce790e32f29c76162817db5f73a5769e16b7b8c8942fa40b120d261ef8d9b" SOURCE_DIR="thunderbird-$portVersion" -PATCHES="icedove-$portVersion.patchset" +PATCHES=" + icedove-$portVersion.patchset + icedove_launcher-$portVersion.patchset + " ADDITIONAL_FILES=" icedove.rdef.in + icedove_addon.rdef.in + icedove_launcher.rdef.in branding.zip mozconfig " @@ -104,6 +109,10 @@ BUILD() cp -f $portDir/additional-files/mozconfig mozconfig ./mach build + + cd tools/haiku-launcher + gcc -o "Icedove Mail" launcher.cpp -lbe + gcc -shared -o "Send with Icedove" addon.cpp -lbe } INSTALL() @@ -120,6 +129,10 @@ INSTALL() mv $appsDir/Icedove/thunderbird $appsDir/Icedove/Icedove mv $appsDir/Icedove/thunderbird-bin $appsDir/Icedove/icedove-bin + mkdir -p $addOnsDir/Tracker + cp "tools/haiku-launcher/Send with Icedove" $addOnsDir/Tracker + cp "tools/haiku-launcher/Icedove Mail" $appsDir/Icedove + mkdir -p $appsDir/Icedove/lib # arranging the files in lib directories @@ -149,7 +162,23 @@ INSTALL() -e "s|@LONG_INFO@|$LONG_INFO|" \ $portDir/additional-files/icedove.rdef.in > icedove.rdef + sed \ + -e "s|@MAJOR@|$MAJOR|" \ + -e "s|@MIDDLE@|$MIDDLE|" \ + -e "s|@MINOR@|$MINOR|" \ + -e "s|@LONG_INFO@|$LONG_INFO|" \ + $portDir/additional-files/icedove_launcher.rdef.in > icedove_launcher.rdef + + sed \ + -e "s|@MAJOR@|$MAJOR|" \ + -e "s|@MIDDLE@|$MIDDLE|" \ + -e "s|@MINOR@|$MINOR|" \ + -e "s|@LONG_INFO@|$LONG_INFO|" \ + $portDir/additional-files/icedove_addon.rdef.in > icedove_addon.rdef + addResourcesToBinaries icedove.rdef $appsDir/Icedove/Icedove + addResourcesToBinaries icedove_launcher.rdef "$appsDir/Icedove/Icedove Mail" + addResourcesToBinaries icedove_addon.rdef "$addOnsDir/Tracker/Send with Icedove" addAppDeskbarSymlink $appsDir/Icedove/Icedove } diff --git a/mail-client/icedove/patches/icedove-137.0.patchset b/mail-client/icedove/patches/icedove-138.0.patchset similarity index 91% rename from mail-client/icedove/patches/icedove-137.0.patchset rename to mail-client/icedove/patches/icedove-138.0.patchset index c6521cb15..e5624f715 100644 --- a/mail-client/icedove/patches/icedove-137.0.patchset +++ b/mail-client/icedove/patches/icedove-138.0.patchset @@ -1,6 +1,6 @@ -From 49b66e0c5b00600fb14de6212ecf0943699455c8 Mon Sep 17 00:00:00 2001 +From fb594a491c83faf0bce4091a5a6ad5f0a943632f Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Thu, 3 Apr 2025 14:57:58 +1000 +Date: Fri, 9 May 2025 20:09:43 +1000 Subject: Add Haiku build support Based on patches sourced from https://github.com/kenz-gelsoft/gecko-dev/ @@ -9,9 +9,10 @@ Based on patches sourced from https://github.com/kenz-gelsoft/gecko-dev/ - Implemented the cubeb audio backend for MediaKit. - Made additional modifications for Haiku compatibility. - Implemented native notifications. +- Implement remote server diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js -index 97acbf8..1a83004 100644 +index 89b8b83..3a4a918 100644 --- a/browser/app/profile/firefox.js +++ b/browser/app/profile/firefox.js @@ -15,7 +15,9 @@ @@ -25,7 +26,7 @@ index 97acbf8..1a83004 100644 #endif #endif -@@ -273,7 +275,7 @@ pref("browser.fixup.domainsuffixwhitelist.local", true); +@@ -272,7 +274,7 @@ pref("browser.fixup.domainsuffixwhitelist.local", true); // search string, that may contain a valid host, to a search engine. pref("browser.fixup.dns_first_for_single_words", false); @@ -34,7 +35,7 @@ index 97acbf8..1a83004 100644 pref("general.autoScroll", false); #else pref("general.autoScroll", true); -@@ -1090,7 +1092,7 @@ pref("security.allow_parent_unrestricted_js_loads", false); +@@ -1084,7 +1086,7 @@ pref("security.allow_parent_unrestricted_js_loads", false); pref("browser.tabs.min_inactive_duration_before_unload", 600000); // Does middleclick paste of clipboard to new tab button @@ -99,7 +100,7 @@ index 11b51ae..7c04ddf 100644 LIBRARY_DEFINES["MOZ_HAS_MOZGLUE"] = True if not CONFIG["MOZ_GLUE_IN_PROGRAM"]: diff --git a/build/moz.configure/bindgen.configure b/build/moz.configure/bindgen.configure -index 53f0e6e..ecd20e7 100644 +index 2738f77..806ce8d 100644 --- a/build/moz.configure/bindgen.configure +++ b/build/moz.configure/bindgen.configure @@ -203,7 +203,7 @@ def bindgen_libclang_path(libclang_path, clang, library_name_info, host): @@ -154,10 +155,10 @@ index 9bf4bb2..4c911a3 100644 def target_is_solaris(target): if target.kernel == "SunOS": diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure -index cbaf3b4..84fd8e0 100644 +index 8fa9277..c6eb2ec 100644 --- a/build/moz.configure/toolchain.configure +++ b/build/moz.configure/toolchain.configure -@@ -2937,7 +2937,7 @@ def security_hardening_cflags( +@@ -2943,7 +2943,7 @@ def security_hardening_cflags( if ( c_compiler.type == "clang" and c_compiler.version >= "11.0.1" @@ -590,6 +591,39 @@ index c39941d..36e4dde 100644 #[cfg(any(target_os = "linux", target_os = "android"))] (libc::SOL_UDP, gro::UDP_GRO) => unsafe { stride = cmsg::decode::(cmsg) as usize; +diff --git a/comm/third_party/rust/wgpu-hal/.cargo-checksum.json b/comm/third_party/rust/wgpu-hal/.cargo-checksum.json +index e48594c..c4b30b7 100644 +--- a/comm/third_party/rust/wgpu-hal/.cargo-checksum.json ++++ b/comm/third_party/rust/wgpu-hal/.cargo-checksum.json +@@ -1 +1 @@ +-{"files":{"Cargo.toml":"f27848ebaa3b29a9857c545212793f99a020cd271907b504b16ed740691a08db","LICENSE.APACHE":"a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9","LICENSE.MIT":"c7fea58d1cfe49634cd92e54fc10a9d871f4b275321a4cd8c09e449122caaeb4","README.md":"cf9e84804a635e4a8a9fefc596be9da6bf7354dde0d105e27d56a12cb20dd8e3","build.rs":"40c99bddda32846afd639d84b9a160ddab338092560b5cb3402112ff37ab4fba","examples/halmark/main.rs":"a16c6902b2ad1a4d8db8d057091b47259d5f59e63058b07a4bada6c7defd9312","examples/halmark/shader.wgsl":"26c256ec36d6f0e9a1647431ca772766bee4382d64eaa718ba7b488dcfb6bcca","examples/raw-gles.em.html":"70fbe68394a1a4522192de1dcfaf7d399f60d7bdf5de70b708f9bb0417427546","examples/raw-gles.rs":"288dae4c701aa7e5ba498fdd03ea42e1046a27db0914d93c88a43a7953cb9064","examples/ray-traced-triangle/main.rs":"3d702095bd8295a0f762fded0e123845beb4d2c25bda2cf05c2de94a9420023c","examples/ray-traced-triangle/shader.wgsl":"cc10caf92746724a71f6dd0dbc3a71e57b37c7d1d83278556805a535c0728a9d","src/auxil/dxgi/conv.rs":"c7564baf7142ebcc1135e14f0c2600580edde8903279372bd25767fe532d20d3","src/auxil/dxgi/exception.rs":"7df3597c1fd6e7708f96a342846b87e6c6cc17fb9dbe09f6aec54984809a4818","src/auxil/dxgi/factory.rs":"fbae1cf83f4ac8cd356557fb3caa0da92c3968d68a36f5c8ea18b90b3bcaeeaa","src/auxil/dxgi/mod.rs":"56925eb2801c4abe80254ada791cd6587a97472f50df715534d61a362253e05b","src/auxil/dxgi/result.rs":"a14b8b0dd052e7dde11220043f180d2e8ce7ae522dea6e96536c82db13fc7abc","src/auxil/dxgi/time.rs":"1414a57363adf8381d89d9c1efdf9eee471081e1a2a583ae90f0310fd8902fd4","src/auxil/mod.rs":"540b9250d9f0e0af709245ce1e284eaca15b27d47550b0ebba2a512da1666c48","src/auxil/renderdoc.rs":"e687710ea0c9e88c9be0e2acd39d136635b835ffb941886b875811b3ec945080","src/dx12/adapter.rs":"ffcd8f8f429334c85a66c74795f2adbf2b03d4538af8fd70e480bd42fd9e6292","src/dx12/command.rs":"b348f945b4af33aecf667139c8ec7a697d5cf8cbb686c3220ac655c86164b876","src/dx12/conv.rs":"818bbbac8bb593fe1b0346b69cfd36c68e9a78e8be7e9f1ecac62a19133fc2ff","src/dx12/descriptor.rs":"fa523bb069b775065367a71edad7fbbfa2bad6f952a4781b048ecec0d35b70fb","src/dx12/device.rs":"c5343a6e783bdb5cf10beed9969261667ae244b74d2a081a246730da124a0c1e","src/dx12/instance.rs":"626ff3377fae82a356da3ebc66b6c453a6c9bfb0bb0cce51c4c3f20b2d9df964","src/dx12/mod.rs":"f1a1168520a77917e51ef226712bd5bc944e17af5455cfa40a4fab0121a78921","src/dx12/sampler.rs":"402b5850dc64ab23b760fa9ab44c229ed808bc4ab58f78de0b889b68a0e207c0","src/dx12/shader_compilation.rs":"32458bd5e63a855f24aea2345a4b65b3f2d1704a06480d6107ea247b6f0974b3","src/dx12/suballocation.rs":"ff637f0c1d618ea2abf259c13b7830ba15fba77d026c575835afa459261283b6","src/dx12/types.rs":"3fc7619fc09303eb3c936d4ded6889f94ce9e8b9aa62742ce900baa1b1e1cca7","src/dx12/view.rs":"3f4c23a34b86e3bfbcb11169a9dec5e1c21425e7ecad846b36c159ced0138cee","src/dynamic/adapter.rs":"e93f7d082a3950c9e8ccff8a631d251c7598b4b25dda9fe6347dadfa3ba07829","src/dynamic/command.rs":"a67394c333b2f0773717d64d7ca9a900868e7ce46dac832ec09a17a5a84bfa43","src/dynamic/device.rs":"230c48fba8e49cc46c420bcd1621beaf9802be9e65710cbfc2c1aea78e91b573","src/dynamic/instance.rs":"7b515c201e1ca24f24439544dbfa1d19ea1412a4f89bd803e009aed13b021e55","src/dynamic/mod.rs":"b02a3c11b22c896cf66ef206f5d4bb4e24988ecadc29972c572baf347f54aa04","src/dynamic/queue.rs":"d76abb4797e90253386d24584f186dbe1909e772560156b2e891fa043cfefbdc","src/dynamic/surface.rs":"4328c2fe86931f50aa00ac3d6982d0879b774eebf7a507903d1b1898c891fb4d","src/gles/adapter.rs":"e0187c442af127cb3940af9f1c5b27836a290bed706ca2177b7e03e1ae3021ef","src/gles/command.rs":"11becc2f9e6171b0cc90456d9c414b94e7f2152a53e4753c90aca3c42ab0204f","src/gles/conv.rs":"7f885dd2bc72641d22f8f2e688ebdd857663bfe315f1b5364ea302f99a05adbf","src/gles/device.rs":"d638f7e434005fe921922a75aa6d2404766bd687ecdc95f5eeb09079c5ea8bf6","src/gles/egl.rs":"c9737871f276c81f1994ebd55dabf8817cb46bdb4ecd495b1c28b52aba8f74fd","src/gles/emscripten.rs":"316d2bb6f2a4bb126dbe68a223f7393399080d116b61c39504454acdf4f9cfaf","src/gles/fence.rs":"083cd49747aba6272002aba0b0c37e5768cdbc2a1b8bacd1a244ee905d3f7b0f","src/gles/mod.rs":"346cbbe8bd070b24f36aefd3c425d8c255716a675a3ce182f12c39f580f6a077","src/gles/queue.rs":"992099d38a23d1f30292749932e627e74d490b62fbbba945b0349ac04d86dd88","src/gles/shaders/clear.frag":"9133ed8ed97d3641fbb6b5f5ea894a3554c629ccc1b80a5fc9221d7293aa1954","src/gles/shaders/clear.vert":"a543768725f4121ff2e9e1fb5b00644931e9d6f2f946c0ef01968afb5a135abd","src/gles/shaders/srgb_present.frag":"dd9a43c339a2fa4ccf7f6a1854c6f400cabf271a7d5e9230768e9f39d47f3ff5","src/gles/shaders/srgb_present.vert":"6e85d489403d80b81cc94790730bb53b309dfc5eeede8f1ea3412a660f31d357","src/gles/web.rs":"cb5940bf7b2381811675011b640040274f407a7d1908d0f82c813d6a9d3b00f7","src/gles/wgl.rs":"4242466a745e2263204e61b7de011c4a9a4c559ab06ae4df063685762b0cd042","src/lib.rs":"46ce110c98da4c32a678010f75d0b60bb44e55ed3edc139d8234d9e760d796b9","src/metal/adapter.rs":"6fef5b86aa923a75495adc5a51f4b9c7fa78da3194e7a58d3c6c527a2032f3f3","src/metal/command.rs":"e8af9260abc9852fce35d4dda981750c8f4c4d970ca9959e48442a036414aa8a","src/metal/conv.rs":"17f37cf5fea93b437e5ec9cfff9ae96e2c6a7f23fb2d3890616fb8dbeb5f13c4","src/metal/device.rs":"7874cfb8c865c2e65bfc07489b61a58f67a40974749b705a25172db444064ff5","src/metal/layer_observer.rs":"8370a6e443d01739b951b8538ee719a03b69fc0cbac92c748db418fbcc8837b5","src/metal/mod.rs":"d074363a2a7696dafac0c37d2460bbcb938b5a4b5029f8247a9574e2d42df819","src/metal/surface.rs":"828cf6f22bb5038afbd471d4164ecc256e832d51b0a845a12be839289f8bded8","src/metal/time.rs":"c32d69f30e846dfcc0e39e01097fb80df63b2bebb6586143bb62494999850246","src/noop/buffer.rs":"89a938411204b33082200a1306fe589587de15142392d7ec591676512e4cfeb2","src/noop/command.rs":"917b70ac315101633094b3f92744310a60940747a2cc8a9368141200ce0ed1fd","src/noop/mod.rs":"1af00e4b7bd2e57fec3c1dfbd56efd5acf3dfeb9f2d3618f91a6e40cdce6d59d","src/vulkan/adapter.rs":"db66ff6030749dc7960a5f8a224a6131bbb14c44f3ae238d6cb3b717a00c0c4d","src/vulkan/command.rs":"571662697bdfd6d8f5dada24a57dd72b6324f9f3abc787025adca67df7455cd4","src/vulkan/conv.rs":"ebb9bd12bfcf2c596d89c515b3d767241d61beb7cc138c61759a627183f23aa7","src/vulkan/device.rs":"6c69b59f703d119727727428a9bf389c242a2fb09628bcc4c91a1982e7fb0ee5","src/vulkan/drm.rs":"22aaa0644cf7e90840bce0377e8f990c0a839f46a054497dbb96105d59999022","src/vulkan/instance.rs":"0880893f69bc348cd1d5bcc00509d09e84e84960fe0c4ac2f9a2e4b0090d83a7","src/vulkan/mod.rs":"025833e3521186838a50219ef4a584fd7b388cc88a7901db75a33ad32790d66b","src/vulkan/sampler.rs":"77a91ec2e61481256eddcff7c4081d72b5cda09e2824333d77945da9eada8933"},"package":null} +\ No newline at end of file ++{"files":{"Cargo.toml":"f27848ebaa3b29a9857c545212793f99a020cd271907b504b16ed740691a08db","LICENSE.APACHE":"a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9","LICENSE.MIT":"c7fea58d1cfe49634cd92e54fc10a9d871f4b275321a4cd8c09e449122caaeb4","README.md":"cf9e84804a635e4a8a9fefc596be9da6bf7354dde0d105e27d56a12cb20dd8e3","build.rs":"40c99bddda32846afd639d84b9a160ddab338092560b5cb3402112ff37ab4fba","examples/halmark/main.rs":"a16c6902b2ad1a4d8db8d057091b47259d5f59e63058b07a4bada6c7defd9312","examples/halmark/shader.wgsl":"26c256ec36d6f0e9a1647431ca772766bee4382d64eaa718ba7b488dcfb6bcca","examples/raw-gles.em.html":"70fbe68394a1a4522192de1dcfaf7d399f60d7bdf5de70b708f9bb0417427546","examples/raw-gles.rs":"288dae4c701aa7e5ba498fdd03ea42e1046a27db0914d93c88a43a7953cb9064","examples/ray-traced-triangle/main.rs":"3d702095bd8295a0f762fded0e123845beb4d2c25bda2cf05c2de94a9420023c","examples/ray-traced-triangle/shader.wgsl":"cc10caf92746724a71f6dd0dbc3a71e57b37c7d1d83278556805a535c0728a9d","src/auxil/dxgi/conv.rs":"c7564baf7142ebcc1135e14f0c2600580edde8903279372bd25767fe532d20d3","src/auxil/dxgi/exception.rs":"7df3597c1fd6e7708f96a342846b87e6c6cc17fb9dbe09f6aec54984809a4818","src/auxil/dxgi/factory.rs":"fbae1cf83f4ac8cd356557fb3caa0da92c3968d68a36f5c8ea18b90b3bcaeeaa","src/auxil/dxgi/mod.rs":"56925eb2801c4abe80254ada791cd6587a97472f50df715534d61a362253e05b","src/auxil/dxgi/result.rs":"a14b8b0dd052e7dde11220043f180d2e8ce7ae522dea6e96536c82db13fc7abc","src/auxil/dxgi/time.rs":"1414a57363adf8381d89d9c1efdf9eee471081e1a2a583ae90f0310fd8902fd4","src/auxil/mod.rs":"540b9250d9f0e0af709245ce1e284eaca15b27d47550b0ebba2a512da1666c48","src/auxil/renderdoc.rs":"e687710ea0c9e88c9be0e2acd39d136635b835ffb941886b875811b3ec945080","src/dx12/adapter.rs":"ffcd8f8f429334c85a66c74795f2adbf2b03d4538af8fd70e480bd42fd9e6292","src/dx12/command.rs":"b348f945b4af33aecf667139c8ec7a697d5cf8cbb686c3220ac655c86164b876","src/dx12/conv.rs":"818bbbac8bb593fe1b0346b69cfd36c68e9a78e8be7e9f1ecac62a19133fc2ff","src/dx12/descriptor.rs":"fa523bb069b775065367a71edad7fbbfa2bad6f952a4781b048ecec0d35b70fb","src/dx12/device.rs":"c5343a6e783bdb5cf10beed9969261667ae244b74d2a081a246730da124a0c1e","src/dx12/instance.rs":"626ff3377fae82a356da3ebc66b6c453a6c9bfb0bb0cce51c4c3f20b2d9df964","src/dx12/mod.rs":"f1a1168520a77917e51ef226712bd5bc944e17af5455cfa40a4fab0121a78921","src/dx12/sampler.rs":"402b5850dc64ab23b760fa9ab44c229ed808bc4ab58f78de0b889b68a0e207c0","src/dx12/shader_compilation.rs":"32458bd5e63a855f24aea2345a4b65b3f2d1704a06480d6107ea247b6f0974b3","src/dx12/suballocation.rs":"ff637f0c1d618ea2abf259c13b7830ba15fba77d026c575835afa459261283b6","src/dx12/types.rs":"3fc7619fc09303eb3c936d4ded6889f94ce9e8b9aa62742ce900baa1b1e1cca7","src/dx12/view.rs":"3f4c23a34b86e3bfbcb11169a9dec5e1c21425e7ecad846b36c159ced0138cee","src/dynamic/adapter.rs":"e93f7d082a3950c9e8ccff8a631d251c7598b4b25dda9fe6347dadfa3ba07829","src/dynamic/command.rs":"a67394c333b2f0773717d64d7ca9a900868e7ce46dac832ec09a17a5a84bfa43","src/dynamic/device.rs":"230c48fba8e49cc46c420bcd1621beaf9802be9e65710cbfc2c1aea78e91b573","src/dynamic/instance.rs":"7b515c201e1ca24f24439544dbfa1d19ea1412a4f89bd803e009aed13b021e55","src/dynamic/mod.rs":"b02a3c11b22c896cf66ef206f5d4bb4e24988ecadc29972c572baf347f54aa04","src/dynamic/queue.rs":"d76abb4797e90253386d24584f186dbe1909e772560156b2e891fa043cfefbdc","src/dynamic/surface.rs":"4328c2fe86931f50aa00ac3d6982d0879b774eebf7a507903d1b1898c891fb4d","src/gles/adapter.rs":"e0187c442af127cb3940af9f1c5b27836a290bed706ca2177b7e03e1ae3021ef","src/gles/command.rs":"11becc2f9e6171b0cc90456d9c414b94e7f2152a53e4753c90aca3c42ab0204f","src/gles/conv.rs":"7f885dd2bc72641d22f8f2e688ebdd857663bfe315f1b5364ea302f99a05adbf","src/gles/device.rs":"d638f7e434005fe921922a75aa6d2404766bd687ecdc95f5eeb09079c5ea8bf6","src/gles/egl.rs":"c9737871f276c81f1994ebd55dabf8817cb46bdb4ecd495b1c28b52aba8f74fd","src/gles/emscripten.rs":"316d2bb6f2a4bb126dbe68a223f7393399080d116b61c39504454acdf4f9cfaf","src/gles/fence.rs":"083cd49747aba6272002aba0b0c37e5768cdbc2a1b8bacd1a244ee905d3f7b0f","src/gles/mod.rs":"346cbbe8bd070b24f36aefd3c425d8c255716a675a3ce182f12c39f580f6a077","src/gles/queue.rs":"992099d38a23d1f30292749932e627e74d490b62fbbba945b0349ac04d86dd88","src/gles/shaders/clear.frag":"9133ed8ed97d3641fbb6b5f5ea894a3554c629ccc1b80a5fc9221d7293aa1954","src/gles/shaders/clear.vert":"a543768725f4121ff2e9e1fb5b00644931e9d6f2f946c0ef01968afb5a135abd","src/gles/shaders/srgb_present.frag":"dd9a43c339a2fa4ccf7f6a1854c6f400cabf271a7d5e9230768e9f39d47f3ff5","src/gles/shaders/srgb_present.vert":"6e85d489403d80b81cc94790730bb53b309dfc5eeede8f1ea3412a660f31d357","src/gles/web.rs":"cb5940bf7b2381811675011b640040274f407a7d1908d0f82c813d6a9d3b00f7","src/gles/wgl.rs":"4242466a745e2263204e61b7de011c4a9a4c559ab06ae4df063685762b0cd042","src/lib.rs":"46ce110c98da4c32a678010f75d0b60bb44e55ed3edc139d8234d9e760d796b9","src/metal/adapter.rs":"6fef5b86aa923a75495adc5a51f4b9c7fa78da3194e7a58d3c6c527a2032f3f3","src/metal/command.rs":"e8af9260abc9852fce35d4dda981750c8f4c4d970ca9959e48442a036414aa8a","src/metal/conv.rs":"17f37cf5fea93b437e5ec9cfff9ae96e2c6a7f23fb2d3890616fb8dbeb5f13c4","src/metal/device.rs":"7874cfb8c865c2e65bfc07489b61a58f67a40974749b705a25172db444064ff5","src/metal/layer_observer.rs":"8370a6e443d01739b951b8538ee719a03b69fc0cbac92c748db418fbcc8837b5","src/metal/mod.rs":"d074363a2a7696dafac0c37d2460bbcb938b5a4b5029f8247a9574e2d42df819","src/metal/surface.rs":"828cf6f22bb5038afbd471d4164ecc256e832d51b0a845a12be839289f8bded8","src/metal/time.rs":"c32d69f30e846dfcc0e39e01097fb80df63b2bebb6586143bb62494999850246","src/noop/buffer.rs":"89a938411204b33082200a1306fe589587de15142392d7ec591676512e4cfeb2","src/noop/command.rs":"917b70ac315101633094b3f92744310a60940747a2cc8a9368141200ce0ed1fd","src/noop/mod.rs":"1af00e4b7bd2e57fec3c1dfbd56efd5acf3dfeb9f2d3618f91a6e40cdce6d59d","src/vulkan/adapter.rs":"db66ff6030749dc7960a5f8a224a6131bbb14c44f3ae238d6cb3b717a00c0c4d","src/vulkan/command.rs":"571662697bdfd6d8f5dada24a57dd72b6324f9f3abc787025adca67df7455cd4","src/vulkan/conv.rs":"ebb9bd12bfcf2c596d89c515b3d767241d61beb7cc138c61759a627183f23aa7","src/vulkan/device.rs":"6c69b59f703d119727727428a9bf389c242a2fb09628bcc4c91a1982e7fb0ee5","src/vulkan/drm.rs":"0a475822af75d14b7c13221d9bc150f7f1067e3145e1a37fdfe93a4a6b48424a","src/vulkan/instance.rs":"0880893f69bc348cd1d5bcc00509d09e84e84960fe0c4ac2f9a2e4b0090d83a7","src/vulkan/mod.rs":"025833e3521186838a50219ef4a584fd7b388cc88a7901db75a33ad32790d66b","src/vulkan/sampler.rs":"77a91ec2e61481256eddcff7c4081d72b5cda09e2824333d77945da9eada8933"},"package":null} +diff --git a/comm/third_party/rust/wgpu-hal/src/vulkan/drm.rs b/comm/third_party/rust/wgpu-hal/src/vulkan/drm.rs +index ec62a8f..8e69c40 100644 +--- a/comm/third_party/rust/wgpu-hal/src/vulkan/drm.rs ++++ b/comm/third_party/rust/wgpu-hal/src/vulkan/drm.rs +@@ -72,17 +72,15 @@ impl super::Instance { + matches the DRM device referred to by our file descriptor. + */ + +- let primary_devid = +- libc::makedev(drm_props.primary_major as _, drm_props.primary_minor as _); +- let render_devid = +- libc::makedev(drm_props.render_major as _, drm_props.render_minor as _); ++ let primary_devid = drm_props.primary_minor as u64; ++ let render_devid = drm_props.render_minor as u64; + + // Various platforms use different widths between `dev_t` and `c_int`, so just + // force-convert to `u64` to keep things portable. + #[allow(clippy::useless_conversion)] + if [primary_devid, render_devid] + .map(u64::from) +- .contains(&drm_stat.st_rdev) ++ .contains(&(drm_stat.st_rdev as u64)) + { + physical_device = Some(device) + } diff --git a/config/makefiles/rust.mk b/config/makefiles/rust.mk index 29f5a8a..5551187 100644 --- a/config/makefiles/rust.mk @@ -654,10 +688,10 @@ index ab0faee..f9c9389 100644 std::string fullPath = directory + libraryName; diff --git a/gfx/layers/wr/IpcResourceUpdateQueue.cpp b/gfx/layers/wr/IpcResourceUpdateQueue.cpp -index d19dc7f..dcbd9e3 100644 +index 1c04ba7..c6257e0 100644 --- a/gfx/layers/wr/IpcResourceUpdateQueue.cpp +++ b/gfx/layers/wr/IpcResourceUpdateQueue.cpp -@@ -51,7 +51,8 @@ layers::OffsetRange ShmSegmentsWriter::Write(Range aBytes) { +@@ -50,7 +50,8 @@ layers::OffsetRange ShmSegmentsWriter::Write(Range aBytes) { const size_t start = mCursor; const size_t length = aBytes.length(); @@ -823,10 +857,10 @@ index 1ff12f6..b49b16a 100644 # define HAVE_PIPE2 1 #endif diff --git a/js/src/moz.build b/js/src/moz.build -index 1ad7d71..6459242 100644 +index 8ce0179..2e86330 100644 --- a/js/src/moz.build +++ b/js/src/moz.build -@@ -508,6 +508,11 @@ elif CONFIG["OS_ARCH"] == "WASI": +@@ -507,6 +507,11 @@ elif CONFIG["OS_ARCH"] == "WASI": "threading/noop/NoopThread.cpp", ] else: @@ -1448,7 +1482,7 @@ index fd6c684..880d871 100644 # We allow warnings for third-party code that can be updated from upstream. diff --git a/mfbt/Assertions.h b/mfbt/Assertions.h -index 611c2b4..bfe08ba 100644 +index a21ee9d..68d78f3 100644 --- a/mfbt/Assertions.h +++ b/mfbt/Assertions.h @@ -231,7 +231,7 @@ MOZ_NoReturn(int aLine) { @@ -1461,10 +1495,10 @@ index 611c2b4..bfe08ba 100644 # define MOZ_REALLY_CRASH(line) __builtin_trap() diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml -index 8597446..9e51ece 100644 +index a8ba391..7e1cc81 100644 --- a/modules/libpref/init/StaticPrefList.yaml +++ b/modules/libpref/init/StaticPrefList.yaml -@@ -11069,6 +11069,8 @@ +@@ -11167,6 +11167,8 @@ value: true #elif defined(XP_SOLARIS) value: true @@ -1473,7 +1507,7 @@ index 8597446..9e51ece 100644 #else value: false #endif -@@ -11113,6 +11115,8 @@ +@@ -11211,6 +11213,8 @@ value: true #elif defined(XP_SOLARIS) value: true @@ -1482,7 +1516,7 @@ index 8597446..9e51ece 100644 #else value: false #endif -@@ -11146,6 +11150,8 @@ +@@ -11244,6 +11248,8 @@ value: true #elif defined(XP_SOLARIS) value: true @@ -1491,7 +1525,7 @@ index 8597446..9e51ece 100644 #else value: false #endif -@@ -11165,6 +11171,8 @@ +@@ -11263,6 +11269,8 @@ value: true #elif defined(XP_SOLARIS) value: true @@ -1500,7 +1534,7 @@ index 8597446..9e51ece 100644 #else value: false #endif -@@ -11184,6 +11192,8 @@ +@@ -11282,6 +11290,8 @@ value: true #elif defined(XP_SOLARIS) value: true @@ -1509,7 +1543,7 @@ index 8597446..9e51ece 100644 #else value: false #endif -@@ -11203,6 +11213,8 @@ +@@ -11301,6 +11311,8 @@ value: true #elif defined(XP_SOLARIS) value: true @@ -1518,7 +1552,7 @@ index 8597446..9e51ece 100644 #else value: false #endif -@@ -11234,6 +11246,8 @@ +@@ -11332,6 +11344,8 @@ value: true #elif defined(XP_SOLARIS) value: true @@ -1527,7 +1561,7 @@ index 8597446..9e51ece 100644 #else value: false #endif -@@ -12215,6 +12229,8 @@ +@@ -12323,6 +12337,8 @@ type: bool #if defined(MOZ_WIDGET_ANDROID) value: true @@ -1537,10 +1571,10 @@ index 8597446..9e51ece 100644 value: false #endif diff --git a/moz.configure b/moz.configure -index 1c81efe..9ce1db9 100755 +index 5e9cc42..c5a79e2 100755 --- a/moz.configure +++ b/moz.configure -@@ -855,6 +855,8 @@ def strip_flags(flags, profiling, target): +@@ -865,6 +865,8 @@ def strip_flags(flags, profiling, target): # On Darwin, it tries to strip things it can't, so we need to limit its scope. elif target.kernel == "Darwin": return ["-x", "-S"] @@ -1653,7 +1687,7 @@ index 6f87118..d26267d 100644 #include #include diff --git a/netwerk/base/nsStandardURL.cpp b/netwerk/base/nsStandardURL.cpp -index ff93236..60c7976 100644 +index b2778ad..553fdfc 100644 --- a/netwerk/base/nsStandardURL.cpp +++ b/netwerk/base/nsStandardURL.cpp @@ -320,7 +320,7 @@ struct DumpLeakedURLs { @@ -1691,10 +1725,10 @@ index f9fa0f6..7bb78a9 100644 long pageSize = sysconf(_SC_PAGESIZE); long pageCount = sysconf(_SC_PHYS_PAGES); diff --git a/python/mach/mach/site.py b/python/mach/mach/site.py -index cfce1e2..ac90531 100644 +index 8f49a78..c69c15b 100644 --- a/python/mach/mach/site.py +++ b/python/mach/mach/site.py -@@ -1471,6 +1471,14 @@ def _create_venv_with_pthfile( +@@ -1472,6 +1472,14 @@ def _create_venv_with_pthfile( _ensure_python_exe(Path(target_venv.python_path).parent) @@ -1838,6 +1872,22 @@ index 25f43bb..967aee7 100644 "kFreeBSD": "__FreeBSD_kernel__", "Linux": "__linux__", "NetBSD": "__NetBSD__", +diff --git a/python/sites/mach.txt b/python/sites/mach.txt +index 6e3db1c..b282ffa 100644 +--- a/python/sites/mach.txt ++++ b/python/sites/mach.txt +@@ -104,9 +104,9 @@ vendored:third_party/python/wheel + vendored:third_party/python/zipp + # glean-sdk may not be installable if a wheel isn't available + # and it has to be built from source. +-pypi-optional:glean-sdk==63.1.0:telemetry will not be collected ++#pypi-optional:glean-sdk==63.1.0:telemetry will not be collected + # Mach gracefully handles the case where `psutil` is unavailable. + # We aren't (yet) able to pin packages in automation, so we have to + # support down to the oldest locally-installed version (5.4.2). +-pypi-optional:psutil>=5.4.2,<=5.9.4:telemetry will be missing some data ++#pypi-optional:psutil>=5.4.2,<=5.9.4:telemetry will be missing some data + pypi-optional:zstandard>=0.11.1,<=0.23.0:zstd archives will not be possible to extract diff --git a/security/certverifier/ExtendedValidation.cpp b/security/certverifier/ExtendedValidation.cpp index 63f3018..f717d4c 100644 --- a/security/certverifier/ExtendedValidation.cpp @@ -1853,10 +1903,10 @@ index 63f3018..f717d4c 100644 unsigned char certFingerprint[SHA256_LENGTH]; srv = PK11_HashBuf(SEC_OID_SHA256, certFingerprint, cert->derCert.data, diff --git a/supply-chain/audits.toml b/supply-chain/audits.toml -index ed1dce3..41dfaf7 100644 +index 5f1c993..be358d4 100644 --- a/supply-chain/audits.toml +++ b/supply-chain/audits.toml -@@ -2445,6 +2445,12 @@ criteria = "safe-to-deploy" +@@ -2502,6 +2502,12 @@ criteria = "safe-to-deploy" delta = "6.0.1 -> 6.0.2" notes = "I'm the author of the changes in this version of the crate." @@ -1869,7 +1919,7 @@ index ed1dce3..41dfaf7 100644 [[audits.goblin]] who = "Jan-Erik Rediger " criteria = "safe-to-deploy" -@@ -3100,6 +3106,12 @@ criteria = "safe-to-deploy" +@@ -3178,6 +3184,12 @@ criteria = "safe-to-deploy" version = "0.14.0" notes = "Victor and Myk developed this crate at Mozilla." @@ -1883,10 +1933,10 @@ index ed1dce3..41dfaf7 100644 who = "Mike Hommey " criteria = "safe-to-deploy" diff --git a/supply-chain/config.toml b/supply-chain/config.toml -index 97d3b52..afa2a07 100644 +index d507a95..5e54223 100644 --- a/supply-chain/config.toml +++ b/supply-chain/config.toml -@@ -68,6 +68,10 @@ notes = "Used for testing." +@@ -76,6 +76,10 @@ notes = "Used for testing." dependency-criteria = { tokio-reactor = [], tokio-threadpool = [] } notes = "The dependencies on tokio-reactor and tokio-threadpools are just a hack to pin the version used by audioipc-{client,server}. Suppress vetting on those for the same reasons behind the policy entries." @@ -1897,7 +1947,7 @@ index 97d3b52..afa2a07 100644 [policy.gluesmith] criteria = "safe-to-run" notes = "Used for fuzzing." -@@ -92,6 +96,10 @@ notes = "This crate has two testing-only dependencies which are specified as reg +@@ -100,6 +104,10 @@ notes = "This crate has two testing-only dependencies which are specified as reg audit-as-crates-io = false notes = "This override is an api-compatible fork with an orthogonal implementation." @@ -2580,11 +2630,337 @@ index d5c0aca..506a7b1 100644 else: UNIFIED_SOURCES += ["ProcInfo_linux.cpp"] elif toolkit == "windows": +diff --git a/toolkit/components/remote/RemoteUtils.h b/toolkit/components/remote/RemoteUtils.h +index c4c1bcd..2beb4ea 100644 +--- a/toolkit/components/remote/RemoteUtils.h ++++ b/toolkit/components/remote/RemoteUtils.h +@@ -13,7 +13,7 @@ + # include "WinUtils.h" + #endif + +-#if defined XP_WIN || defined XP_MACOSX ++#if defined XP_WIN || defined XP_MACOSX || defined XP_HAIKU + static void BuildClassName(const char* aProgram, const char* aProfile, + nsString& aClassName) { + // On Windows, the class name is used as the window class. +@@ -30,6 +30,8 @@ static void BuildClassName(const char* aProgram, const char* aProfile, + + # if defined XP_WIN + constexpr size_t ClassNameMaxLength = 256; ++# elif defined XP_HAIKU ++ constexpr size_t ClassNameMaxLength = 32; + # else + constexpr size_t ClassNameMaxLength = 128; + # endif +diff --git a/toolkit/components/remote/moz.build b/toolkit/components/remote/moz.build +index 4230dfe..f003ea3 100644 +--- a/toolkit/components/remote/moz.build ++++ b/toolkit/components/remote/moz.build +@@ -28,7 +28,7 @@ if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": + "nsUnixRemoteServer.cpp", + "RemoteUtils.cpp", + ] +- if CONFIG["MOZ_ENABLE_DBUS"]: ++ if CONFIG["MOZ_ENABLE_DBUS"] and CONFIG["OS_ARCH"] != "Haiku": + SOURCES += [ + "nsDBusRemoteClient.cpp", + "nsDBusRemoteServer.cpp", +@@ -39,11 +39,22 @@ if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": + ] + CXXFLAGS += CONFIG["MOZ_DBUS_CFLAGS"] + else: +- SOURCES += [ +- "nsGTKRemoteServer.cpp", +- "nsXRemoteClient.cpp", +- "nsXRemoteServer.cpp", +- ] ++ if CONFIG["OS_ARCH"] == "Haiku": ++ SOURCES += [ ++ "nsHaikuRemoteClient.cpp", ++ "nsHaikuRemoteServer.cpp", ++ ] ++ EXPORTS += [ ++ "nsUnixRemoteServer.h", ++ "RemoteUtils.h", ++ ] ++ CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"] ++ else: ++ SOURCES += [ ++ "nsGTKRemoteServer.cpp", ++ "nsXRemoteClient.cpp", ++ "nsXRemoteServer.cpp", ++ ] + CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"] + + if CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows": +diff --git a/toolkit/components/remote/nsHaikuRemoteClient.cpp b/toolkit/components/remote/nsHaikuRemoteClient.cpp +new file mode 100644 +index 0000000..2bec3ce +--- /dev/null ++++ b/toolkit/components/remote/nsHaikuRemoteClient.cpp +@@ -0,0 +1,35 @@ ++#include ++#include ++ ++#include "nsHaikuRemoteClient.h" ++ ++#include "RemoteUtils.h" ++ ++nsresult nsHaikuRemoteClient::Init() { ++ return NS_OK; ++} ++ ++nsresult nsHaikuRemoteClient::SendCommandLine(const char* aProgram, ++ const char* aProfile, ++ int32_t argc, ++ const char** argv, ++ bool aRaise) { ++ nsString className; ++ BuildClassName(aProgram, aProfile, className); ++ BString portName; ++ portName.SetTo(NS_ConvertUTF16toUTF8(className.get()).get()); ++ ++ port_id port = find_port(portName.String()); ++ if (port < 0) { ++ return NS_ERROR_NOT_AVAILABLE; ++ } ++ ++ BString message; ++ message << (aRaise ? "1" : "0"); ++ for (int i = 0; i < argc; i++) { ++ message << "|" << argv[i]; ++ } ++ ++ status_t result = write_port(port, 1, message.String(), message.Length() + 1); ++ return (result == B_OK) ? NS_OK : NS_ERROR_FAILURE; ++} +diff --git a/toolkit/components/remote/nsHaikuRemoteClient.h b/toolkit/components/remote/nsHaikuRemoteClient.h +new file mode 100644 +index 0000000..de9c0a2 +--- /dev/null ++++ b/toolkit/components/remote/nsHaikuRemoteClient.h +@@ -0,0 +1,22 @@ ++#ifndef HAIKU_REMOTE_CLIENT_H ++#define HAIKU_REMOTE_CLIENT_H ++ ++#pragma GCC visibility push(default) ++#include ++#include ++#include ++#pragma GCC visibility pop ++ ++#include "nsRemoteClient.h" ++ ++class nsHaikuRemoteClient : public nsRemoteClient { ++public: ++ virtual ~nsHaikuRemoteClient() = default; ++ ++ nsresult Init() override; ++ nsresult SendCommandLine(const char* aProgram, const char* aProfile, ++ int32_t argc, const char** argv, ++ bool aRaise) override; ++}; ++ ++#endif +diff --git a/toolkit/components/remote/nsHaikuRemoteServer.cpp b/toolkit/components/remote/nsHaikuRemoteServer.cpp +new file mode 100644 +index 0000000..aebefa1 +--- /dev/null ++++ b/toolkit/components/remote/nsHaikuRemoteServer.cpp +@@ -0,0 +1,107 @@ ++#include "nsHaikuRemoteServer.h" ++#include "RemoteUtils.h" ++ ++#include "nsCommandLine.h" ++#include "nsICommandLineRunner.h" ++#include "nsICommandLine.h" ++#include "nsCOMPtr.h" ++#include "nsThreadUtils.h" ++ ++#include ++ ++nsHaikuRemoteServer::nsHaikuRemoteServer() ++ : fRunning(false), fPort(B_BAD_PORT_ID) {} ++ ++nsHaikuRemoteServer::~nsHaikuRemoteServer() { ++ Shutdown(); ++} ++ ++nsresult nsHaikuRemoteServer::Startup(const char* aAppName, const char* aProfileName) { ++ nsString className; ++ BuildClassName(aAppName, aProfileName, className); ++ BString portName; ++ portName.SetTo(NS_ConvertUTF16toUTF8(className.get()).get()); ++ ++ fPort = create_port(10, portName.String()); ++ if (fPort < 0) { ++ return NS_ERROR_FAILURE; ++ } ++ ++ fRunning = true; ++ fListenerThread = std::thread([this]() { ListenLoop(); }); ++ ++ return NS_OK; ++} ++ ++void nsHaikuRemoteServer::Shutdown() { ++ fRunning = false; ++ if (fPort >= 0) { ++ delete_port(fPort); ++ fPort = B_BAD_PORT_ID; ++ } ++ if (fListenerThread.joinable()) { ++ fListenerThread.join(); ++ } ++} ++ ++void nsHaikuRemoteServer::ListenLoop() { ++ while (fRunning) { ++ char buffer[B_PATH_NAME_LENGTH * 2]; ++ int32 code; ++ ssize_t len = read_port(fPort, &code, buffer, sizeof(buffer)); ++ if (len > 0) { ++ buffer[len] = '\0'; ++ HandleMessage(buffer); ++ } else { ++ snooze(50000); ++ } ++ } ++} ++ ++nsresult nsHaikuRemoteServer::HandleMessage(const char* message) { ++ return NS_DispatchToMainThread( ++ NS_NewRunnableFunction("HandleMessageOnMainThread", [this, msg = std::string(message)]() { ++ this->HandleMessageOnMainThread(msg.c_str()); ++ }) ++ ); ++} ++ ++void nsHaikuRemoteServer::HandleMessageOnMainThread(const char* message) { ++ BString messageString(message); ++ BStringList argsList; ++ messageString.Split("|", true, argsList); ++ ++ if (argsList.IsEmpty()) ++ return; ++ ++ bool activate = (argsList.First() == "1"); ++ ++ argsList.Remove(0); ++ ++ int argc = argsList.CountStrings(); ++ const char** argv = new const char*[argc]; ++ for (int i = 0; i < argc; i++) { ++ argv[i] = argsList.StringAt(i).String(); ++ } ++ ++ nsCOMPtr cmdLine(new nsCommandLine()); ++ nsresult rv = cmdLine->Init(argc, argv, nullptr, nsICommandLine::STATE_REMOTE_AUTO); ++ delete[] argv; ++ ++ if (NS_SUCCEEDED(rv)) { ++ cmdLine->Run(); ++ if (activate) { ++ team_info teamInfo; ++ if (get_team_info(B_CURRENT_TEAM, &teamInfo) == B_OK) { ++ if (be_roster->ActivateApp(teamInfo.team) != B_OK && be_app != NULL) { ++ // if the activation fails, activate all titled windows ++ for (int32 i = 0; BWindow* window = be_app->WindowAt(i); i++) { ++ if (window->Type() == B_TITLED_WINDOW) { ++ window->Activate(true); ++ } ++ } ++ } ++ } ++ } ++ } ++} +diff --git a/toolkit/components/remote/nsHaikuRemoteServer.h b/toolkit/components/remote/nsHaikuRemoteServer.h +new file mode 100644 +index 0000000..7c6d057 +--- /dev/null ++++ b/toolkit/components/remote/nsHaikuRemoteServer.h +@@ -0,0 +1,37 @@ ++#ifndef HAIKU_REMOTE_SERVER_H ++#define HAIKU_REMOTE_SERVER_H ++ ++#include "nsRemoteServer.h" ++ ++#include ++#include ++ ++#pragma GCC visibility push(default) ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#pragma GCC visibility pop ++ ++class nsHaikuRemoteServer : public nsRemoteServer { ++public: ++ nsHaikuRemoteServer(); ++ ~nsHaikuRemoteServer() override; ++ ++ nsresult Startup(const char* aAppName, const char* aProfileName) override; ++ void Shutdown() override; ++ ++private: ++ void ListenLoop(); ++ nsresult HandleMessage(const char* message); ++ void HandleMessageOnMainThread(const char* message); ++ ++ std::atomic fRunning; ++ std::thread fListenerThread; ++ port_id fPort; ++}; ++ ++#endif +diff --git a/toolkit/components/remote/nsRemoteService.cpp b/toolkit/components/remote/nsRemoteService.cpp +index 46860f6..b010d4d 100644 +--- a/toolkit/components/remote/nsRemoteService.cpp ++++ b/toolkit/components/remote/nsRemoteService.cpp +@@ -7,7 +7,10 @@ + + #include "nsRemoteClient.h" + #ifdef MOZ_WIDGET_GTK +-# ifdef MOZ_ENABLE_DBUS ++# if defined(XP_HAIKU) ++# include "nsHaikuRemoteServer.h" ++# include "nsHaikuRemoteClient.h" ++# elif defined(MOZ_ENABLE_DBUS) + # include "nsDBusRemoteServer.h" + # include "nsDBusRemoteClient.h" + # else +@@ -196,7 +199,9 @@ nsresult nsRemoteService::SendCommandLine(const nsACString& aProfile, + + UniquePtr client; + #ifdef MOZ_WIDGET_GTK +-# if defined(MOZ_ENABLE_DBUS) ++# if defined(XP_HAIKU) ++ client = MakeUnique(); ++# elif defined(MOZ_ENABLE_DBUS) + client = MakeUnique(mStartupToken); + # else + client = MakeUnique(mStartupToken); +@@ -258,7 +263,9 @@ void nsRemoteService::StartupServer() { + } + + #ifdef MOZ_WIDGET_GTK +-# if defined(MOZ_ENABLE_DBUS) ++# if defined(XP_HAIKU) ++ mRemoteServer = MakeUnique(); ++# elif defined(MOZ_ENABLE_DBUS) + mRemoteServer = MakeUnique(); + # else + mRemoteServer = MakeUnique(); diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build -index 841bab1..6a58715 100644 +index 66fe86e..ee7fb31 100644 --- a/toolkit/library/moz.build +++ b/toolkit/library/moz.build -@@ -344,6 +344,10 @@ if CONFIG["OS_ARCH"] == "Darwin": +@@ -345,6 +345,10 @@ if CONFIG["OS_ARCH"] == "Darwin": "-weak_framework MediaPlayer", ] @@ -2687,7 +3063,7 @@ index 360a7db..69b089f 100644 return elemString; diff --git a/toolkit/moz.configure b/toolkit/moz.configure -index e5e5176..b14c7eb 100644 +index 09b3065..d317d21 100644 --- a/toolkit/moz.configure +++ b/toolkit/moz.configure @@ -299,6 +299,8 @@ def audio_backends_default(target): @@ -2736,7 +3112,7 @@ index e5e5176..b14c7eb 100644 ) -@@ -3661,7 +3672,7 @@ with only_when(compile_environment): +@@ -3720,7 +3731,7 @@ with only_when(compile_environment): @depends(target) def default_user_appdir(target): @@ -2865,10 +3241,10 @@ index 0000000..8c3bf79 +CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"] diff --git a/toolkit/system/haiku/nsAlertsIconListener.cpp b/toolkit/system/haiku/nsAlertsIconListener.cpp new file mode 100644 -index 0000000..e90fe1c +index 0000000..4c4d1a6 --- /dev/null +++ b/toolkit/system/haiku/nsAlertsIconListener.cpp -@@ -0,0 +1,302 @@ +@@ -0,0 +1,306 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode:nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this @@ -3129,6 +3505,10 @@ index 0000000..e90fe1c + return NS_OK; +} + ++void nsAlertsIconListener::Disconnect() { ++ Release(); ++} ++ +nsresult nsAlertsIconListener::Close() { + if (mIconRequest) { + mIconRequest->Cancel(NS_BINDING_ABORTED); @@ -3173,10 +3553,10 @@ index 0000000..e90fe1c +} diff --git a/toolkit/system/haiku/nsAlertsIconListener.h b/toolkit/system/haiku/nsAlertsIconListener.h new file mode 100644 -index 0000000..257cc1f +index 0000000..d9ac4f3 --- /dev/null +++ b/toolkit/system/haiku/nsAlertsIconListener.h -@@ -0,0 +1,74 @@ +@@ -0,0 +1,75 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this @@ -3223,6 +3603,7 @@ index 0000000..257cc1f + + void SendCallback(); + void SendClosed(); ++ void Disconnect(); + + protected: + virtual ~nsAlertsIconListener(); @@ -3252,11 +3633,11 @@ index 0000000..257cc1f + +#endif diff --git a/toolkit/themes/shared/popup.css b/toolkit/themes/shared/popup.css -index ed0caa9..42b7ae1 100644 +index 5701d30..c1172a1 100644 --- a/toolkit/themes/shared/popup.css +++ b/toolkit/themes/shared/popup.css -@@ -59,6 +59,12 @@ panel { - --panel-shadow-margin: 0px; +@@ -43,6 +43,12 @@ panel { + } } + /* Disable border-radius and shadow for Haiku popups */ @@ -3269,10 +3650,10 @@ index ed0caa9..42b7ae1 100644 appearance: auto; -moz-default-appearance: menupopup; diff --git a/toolkit/toolkit.mozbuild b/toolkit/toolkit.mozbuild -index c50b7f3..19f155c 100644 +index 304c39a..c69f810 100644 --- a/toolkit/toolkit.mozbuild +++ b/toolkit/toolkit.mozbuild -@@ -145,6 +145,7 @@ if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": +@@ -144,6 +144,7 @@ if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": DIRS += [ "/media/mozva", "/toolkit/system/gnome", @@ -3281,10 +3662,10 @@ index c50b7f3..19f155c 100644 if CONFIG["ENABLE_WEBDRIVER"]: diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp -index bdd95b8..62d98ad 100644 +index 3581105..aceace6 100644 --- a/toolkit/xre/nsAppRunner.cpp +++ b/toolkit/xre/nsAppRunner.cpp -@@ -344,14 +344,16 @@ MOZ_CONSTINIT nsString gProcessStartupShortcut; +@@ -345,14 +345,16 @@ MOZ_CONSTINIT nsString gProcessStartupShortcut; # ifdef MOZ_WAYLAND # include # include "mozilla/widget/nsWaylandDisplay.h" @@ -3303,7 +3684,7 @@ index bdd95b8..62d98ad 100644 MOZ_RUNINIT std::unique_ptr gWaylandProxy; #endif -@@ -431,6 +433,9 @@ static void UnexpectedExit() { +@@ -432,6 +434,9 @@ static void UnexpectedExit() { #if defined(MOZ_WAYLAND) bool IsWaylandEnabled() { @@ -3313,7 +3694,7 @@ index bdd95b8..62d98ad 100644 static bool isWaylandEnabled = []() { const char* waylandDisplay = PR_GetEnv("WAYLAND_DISPLAY"); if (!waylandDisplay) { -@@ -461,6 +466,7 @@ bool IsWaylandEnabled() { +@@ -462,6 +467,7 @@ bool IsWaylandEnabled() { return !gtk_check_version(3, 24, 30); }(); return isWaylandEnabled; @@ -3321,7 +3702,7 @@ index bdd95b8..62d98ad 100644 } #else bool IsWaylandEnabled() { return false; } -@@ -3773,7 +3779,7 @@ class XREMain { +@@ -3812,7 +3818,7 @@ class XREMain { #endif }; @@ -3330,7 +3711,7 @@ index bdd95b8..62d98ad 100644 static SmprintfPointer FormatUid(uid_t aId) { if (const auto pw = getpwuid(aId)) { return mozilla::Smprintf("%s", pw->pw_name); -@@ -3822,7 +3828,7 @@ static bool CheckForUserMismatch() { +@@ -3861,7 +3867,7 @@ static bool CheckForUserMismatch() { } return false; } @@ -3339,7 +3720,7 @@ index bdd95b8..62d98ad 100644 static bool CheckForUserMismatch() { return false; } #endif -@@ -4815,7 +4821,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) { +@@ -4858,7 +4864,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) { // display_name is owned by gdk. display_name = gdk_get_display_arg_name(); bool waylandEnabled = IsWaylandEnabled(); @@ -3348,7 +3729,7 @@ index bdd95b8..62d98ad 100644 if (!display_name) { auto* proxyEnv = getenv("MOZ_DISABLE_WAYLAND_PROXY"); bool disableWaylandProxy = proxyEnv && *proxyEnv; -@@ -4870,7 +4876,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) { +@@ -4913,7 +4919,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) { } else { gdk_display_manager_open_display(gdk_display_manager_get(), nullptr); } @@ -3357,7 +3738,7 @@ index bdd95b8..62d98ad 100644 // We want to use proxy for main connection only so // restore original Wayland display for next potential Wayland connections // from gfx probe code and so on. -@@ -6156,7 +6162,9 @@ int XREMain::XRE_main(int argc, char* argv[], const BootstrapConfig& aConfig) { +@@ -6199,7 +6205,9 @@ int XREMain::XRE_main(int argc, char* argv[], const BootstrapConfig& aConfig) { if (!gfxPlatform::IsHeadless()) { # ifdef MOZ_WAYLAND WaylandDisplayRelease(); @@ -3467,10 +3848,10 @@ index 4c53061..76d3561 100644 # else diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build -index a3d475e..ced2c38 100644 +index c61079e..63017a7 100644 --- a/widget/gtk/moz.build +++ b/widget/gtk/moz.build -@@ -23,7 +23,9 @@ if CONFIG["COMPILE_ENVIRONMENT"]: +@@ -28,7 +28,9 @@ if CONFIG["COMPILE_ENVIRONMENT"]: DIRS += ["mozgtk"] if CONFIG["MOZ_WAYLAND"]: @@ -3482,7 +3863,7 @@ index a3d475e..ced2c38 100644 if CONFIG["MOZ_ENABLE_VAAPI"]: DIRS += ["vaapitest"] diff --git a/widget/gtk/nsWaylandDisplay.cpp b/widget/gtk/nsWaylandDisplay.cpp -index e5b974b..3b65ec6 100644 +index 052971c..664d95d 100644 --- a/widget/gtk/nsWaylandDisplay.cpp +++ b/widget/gtk/nsWaylandDisplay.cpp @@ -20,7 +20,9 @@ @@ -3512,7 +3893,7 @@ index e5b974b..3b65ec6 100644 } void nsWaylandDisplay::RemovePointer() { -@@ -631,19 +635,22 @@ static void WlLogHandler(const char* format, va_list args) { +@@ -630,19 +634,22 @@ static void WlLogHandler(const char* format, va_list args) { if (strstr(error, "still attached")) { return; } @@ -3537,10 +3918,10 @@ index e5b974b..3b65ec6 100644 nsWaylandDisplay::nsWaylandDisplay(wl_display* aDisplay) diff --git a/xpcom/base/nsSystemInfo.cpp b/xpcom/base/nsSystemInfo.cpp -index 033e951..39463db 100644 +index 2aa1dd1..bf224f0 100644 --- a/xpcom/base/nsSystemInfo.cpp +++ b/xpcom/base/nsSystemInfo.cpp -@@ -81,6 +81,10 @@ +@@ -82,6 +82,10 @@ # include "mozilla/SandboxInfo.h" #endif @@ -3551,7 +3932,7 @@ index 033e951..39463db 100644 // Slot for NS_InitXPCOM to pass information to nsSystemInfo::Init. // Only set to nonzero (potentially) if XP_UNIX. On such systems, the // system call to discover the appropriate value is not thread-safe, -@@ -1366,7 +1370,15 @@ nsresult nsSystemInfo::Init() { +@@ -1410,7 +1414,15 @@ nsresult nsSystemInfo::Init() { SetInt32Property(u"pagesize"_ns, PR_GetPageSize()); SetInt32Property(u"pageshift"_ns, PR_GetPageShift()); SetInt32Property(u"memmapalign"_ns, PR_GetMemMapAlignment()); diff --git a/mail-client/icedove/patches/icedove_launcher-138.0.patchset b/mail-client/icedove/patches/icedove_launcher-138.0.patchset new file mode 100644 index 000000000..55175ba0e --- /dev/null +++ b/mail-client/icedove/patches/icedove_launcher-138.0.patchset @@ -0,0 +1,180 @@ +From 3f06e35dcce2fa58e903eefadc98b91343b4a61d Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Thu, 8 May 2025 21:29:49 +1000 +Subject: Add simple launcher and tracker addon + + +diff --git a/tools/haiku-launcher/addon.cpp b/tools/haiku-launcher/addon.cpp +new file mode 100644 +index 0000000..e373c40 +--- /dev/null ++++ b/tools/haiku-launcher/addon.cpp +@@ -0,0 +1,49 @@ ++#include ++ ++#include ++#include ++#include ++ ++#include ++ ++const char* kIcedoveSignature = "application/x-vnd.icedove-launcher"; ++ ++void ++process_refs(entry_ref base_ref, BMessage* message, void* reserved) ++{ ++ char **argv = new char*[ARG_MAX]; ++ ++ int argc = 0; ++ argv[argc++] = strdup("-compose"); ++ argv[argc] = NULL; ++ ++ BEntry entry; ++ entry_ref ref; ++ ++ BString attachment; ++ attachment << "attachment='"; ++ for (int32 i = 0; message->FindRef("refs", i, &ref) == B_OK; i++) { ++ if (entry.SetTo(&ref, true) != B_OK) ++ continue; ++ if (entry.IsDirectory()) ++ continue; ++ ++ BPath path; ++ entry.GetPath(&path); ++ if (i > 0) ++ attachment << ","; ++ attachment << path.Path(); ++ } ++ attachment << "'"; ++ ++ argv[argc++] = strdup(attachment.String()); ++ argv[argc] = NULL; ++ ++ if (argc > 1) ++ be_roster->Launch(kIcedoveSignature, argc, argv); ++ ++ for(int32 i = 0; argv[i] != NULL; i++) ++ free(argv[i]); ++ ++ delete[] argv; ++} +diff --git a/tools/haiku-launcher/launcher.cpp b/tools/haiku-launcher/launcher.cpp +new file mode 100644 +index 0000000..e242936 +--- /dev/null ++++ b/tools/haiku-launcher/launcher.cpp +@@ -0,0 +1,111 @@ ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++class BrowserLauncherApp : public BApplication { ++ public: ++ BrowserLauncherApp(const char *signature, int argc, char **argv); ++ ~BrowserLauncherApp() {}; ++ ++ virtual void RefsReceived(BMessage *pmsg); ++ virtual void ArgvRecieved(int32 argc, char**argv); ++ virtual void ReadyToRun(); ++ BString GetBinPath(void); ++ ++ private: ++ BString fCommandLine; ++}; ++ ++BrowserLauncherApp::BrowserLauncherApp(const char *signature, int argc, char **argv) ++ : BApplication(signature) ++{ ++ ArgvRecieved(argc, argv); ++} ++ ++BString ++BrowserLauncherApp::GetBinPath(void) ++{ ++ BPath binPath; ++ ++ image_info info; ++ int32 cookie = 0; ++ ++ while (get_next_image_info(B_CURRENT_TEAM, &cookie, &info) == B_OK) { ++ if (info.type == B_APP_IMAGE) { ++ binPath.SetTo(info.name); ++ binPath.GetParent(&binPath); ++ break; ++ } ++ } ++ ++ binPath.Append("Icedove"); ++ ++ return binPath.Path(); ++} ++ ++void ++BrowserLauncherApp::RefsReceived(BMessage *pmsg) ++{ ++ fCommandLine = GetBinPath(); ++ ++ entry_ref ref; ++ for (int32 i = 0; pmsg->FindRef("refs", i, &ref) == B_OK; i++) { ++ BPath file = BPath(&ref); ++ fCommandLine += " \""; ++ fCommandLine += file.Path(); ++ fCommandLine += "\""; ++ } ++ ++ BString url; ++ for (int32 i = 0; pmsg->FindString("url", i, &url) == B_OK; i++) { ++ fCommandLine += " \""; ++ fCommandLine += url; ++ fCommandLine += "\""; ++ } ++ ++ fCommandLine += " &"; ++} ++ ++void ++BrowserLauncherApp::ArgvRecieved(int32 argc, char**argv) ++{ ++ BMessage message(B_REFS_RECEIVED); ++ for (int i = 1; i < argc; i++) { ++ const char* url = argv[i]; ++ BEntry entry(argv[i], true); ++ BPath path; ++ if (entry.Exists() && entry.GetPath(&path) == B_OK) ++ url = path.Path(); ++ message.AddString("url", url); ++ } ++ RefsReceived(&message); ++} ++ ++void ++BrowserLauncherApp::ReadyToRun() ++{ ++ if (!fCommandLine.IsEmpty()) ++ system(fCommandLine.String()); ++ ++ Quit(); ++} ++ ++int main(int argc, char **argv) ++{ ++ BrowserLauncherApp application("application/x-vnd.icedove-launcher", argc, argv); ++ application.Run(); ++ return 0; ++} ++ ++ +-- +2.48.1