From owner-svn-ports-all@FreeBSD.ORG Thu Oct 16 12:20:35 2014 Return-Path: Delivered-To: svn-ports-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DB4F4418; Thu, 16 Oct 2014 12:20:35 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C4F62C1A; Thu, 16 Oct 2014 12:20:35 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s9GCKZAM099962; Thu, 16 Oct 2014 12:20:35 GMT (envelope-from beat@FreeBSD.org) Received: (from beat@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id s9GCKXOT099946; Thu, 16 Oct 2014 12:20:33 GMT (envelope-from beat@FreeBSD.org) Message-Id: <201410161220.s9GCKXOT099946@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: beat set sender to beat@FreeBSD.org using -f From: Beat Gaetzi Date: Thu, 16 Oct 2014 12:20:33 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-branches@freebsd.org Subject: svn commit: r371004 - in branches/2014Q4/www: linux-seamonkey seamonkey seamonkey-i18n seamonkey/files X-SVN-Group: ports-branches MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Oct 2014 12:20:36 -0000 Author: beat Date: Thu Oct 16 12:20:33 2014 New Revision: 371004 URL: https://svnweb.freebsd.org/changeset/ports/371004 QAT: https://qat.redports.org/buildarchive/r371004/ Log: MFH: r370991 - Update SeaMonkey to 2.30 - Disable SSL 3.0 with pref (Upstream bug 1076983) - Apply r368080 to seamonkey-i18n - Kill @dirrm from gecko@ ports per CHANGES from 20140922 PR: 194356 Submitted by: Jan Beich Security: http://www.vuxml.org/freebsd/9c1495ac-8d8c-4789-a0f3-8ca6b476619c.html Approved by: ports-secteam (rea) Added: branches/2014Q4/www/seamonkey/files/patch-bug1021761 - copied unchanged from r370991, head/www/seamonkey/files/patch-bug1021761 branches/2014Q4/www/seamonkey/files/patch-bug1041268 - copied unchanged from r370991, head/www/seamonkey/files/patch-bug1041268 branches/2014Q4/www/seamonkey/files/patch-bug1073709 - copied unchanged from r370991, head/www/seamonkey/files/patch-bug1073709 branches/2014Q4/www/seamonkey/files/patch-bug1076983 - copied unchanged from r370991, head/www/seamonkey/files/patch-bug1076983 branches/2014Q4/www/seamonkey/files/patch-system-openh264 - copied unchanged from r370991, head/www/seamonkey/files/patch-system-openh264 Deleted: branches/2014Q4/www/seamonkey/files/patch-bug1015547 branches/2014Q4/www/seamonkey/files/patch-bug1026828 branches/2014Q4/www/seamonkey/files/patch-clang34-disable-stdcall Modified: branches/2014Q4/www/linux-seamonkey/Makefile branches/2014Q4/www/linux-seamonkey/distinfo branches/2014Q4/www/linux-seamonkey/pkg-plist branches/2014Q4/www/seamonkey-i18n/Makefile branches/2014Q4/www/seamonkey-i18n/distinfo branches/2014Q4/www/seamonkey/Makefile branches/2014Q4/www/seamonkey/distinfo branches/2014Q4/www/seamonkey/files/patch-bug779713 branches/2014Q4/www/seamonkey/files/patch-bug826985 branches/2014Q4/www/seamonkey/files/patch-bug847568 Directory Properties: branches/2014Q4/ (props changed) Modified: branches/2014Q4/www/linux-seamonkey/Makefile ============================================================================== --- branches/2014Q4/www/linux-seamonkey/Makefile Thu Oct 16 11:53:42 2014 (r371003) +++ branches/2014Q4/www/linux-seamonkey/Makefile Thu Oct 16 12:20:33 2014 (r371004) @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= seamonkey -DISTVERSION= 2.29.1 +DISTVERSION= 2.30 CATEGORIES= www mail news editors irc ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/linux-i686/en-US Modified: branches/2014Q4/www/linux-seamonkey/distinfo ============================================================================== --- branches/2014Q4/www/linux-seamonkey/distinfo Thu Oct 16 11:53:42 2014 (r371003) +++ branches/2014Q4/www/linux-seamonkey/distinfo Thu Oct 16 12:20:33 2014 (r371004) @@ -1,5 +1,5 @@ -SHA256 (seamonkey-2.29.1.tar.bz2) = 8f92ed28925080a55996ffd90d764f961c05c072cba806fac1de3c53f432393b -SIZE (seamonkey-2.29.1.tar.bz2) = 40020490 +SHA256 (seamonkey-2.30.tar.bz2) = 629d3ab73a1fdbe2650ac2cda75c7c30fbed8eada52d05f2f88e5321b97b4fca +SIZE (seamonkey-2.30.tar.bz2) = 39998490 SHA256 (glib2-2.22.2-2.fc12.i686.rpm) = e3b459c245ec14e7248e9de4b506963a4773407f3e58835db5070d0ed02ecc99 SIZE (glib2-2.22.2-2.fc12.i686.rpm) = 1162908 SHA256 (gtk2-2.18.3-19.fc12.i686.rpm) = aea9cf7ffe9c8dae0faa2bf3d2aa1b2117c55dce03da72dcce8c268279ec0a4b Modified: branches/2014Q4/www/linux-seamonkey/pkg-plist ============================================================================== --- branches/2014Q4/www/linux-seamonkey/pkg-plist Thu Oct 16 11:53:42 2014 (r371003) +++ branches/2014Q4/www/linux-seamonkey/pkg-plist Thu Oct 16 12:20:33 2014 (r371004) @@ -50,9 +50,6 @@ lib/%%APP_NAME%%/chrome/icons/default/pl lib/%%APP_NAME%%/chrome/icons/default/places16.png lib/%%APP_NAME%%/chrome/icons/default/places48.png lib/%%APP_NAME%%/chrome/icons/default/seamonkey.png -lib/%%APP_NAME%%/chrome/icons/default/venkman-window.png -lib/%%APP_NAME%%/chrome/icons/default/venkman-window16.png -lib/%%APP_NAME%%/chrome/icons/default/venkman-window48.png lib/%%APP_NAME%%/components/components.manifest lib/%%APP_NAME%%/components/libdbusservice.so lib/%%APP_NAME%%/components/libmozgnome.so @@ -64,14 +61,16 @@ lib/%%APP_NAME%%/crashreporter.ini lib/%%APP_NAME%%/defaults/messenger/mailViews.dat lib/%%APP_NAME%%/defaults/pref/browser-prefs.js lib/%%APP_NAME%%/defaults/pref/channel-prefs.js +lib/%%APP_NAME%%/defaults/profile/chrome/userChrome-example.css +lib/%%APP_NAME%%/defaults/profile/chrome/userContent-example.css lib/%%APP_NAME%%/defaults/profile/localstore.rdf +lib/%%APP_NAME%%/defaults/profile/mimeTypes.rdf lib/%%APP_NAME%%/defaults/profile/panels.rdf lib/%%APP_NAME%%/dependentlibs.list lib/%%APP_NAME%%/dictionaries/en-US.aff lib/%%APP_NAME%%/dictionaries/en-US.dic lib/%%APP_NAME%%/distribution/extensions/inspector@mozilla.org.xpi lib/%%APP_NAME%%/distribution/extensions/{59c81df5-4b7a-477b-912d-4e0fdf64e5f2}.xpi -lib/%%APP_NAME%%/distribution/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}.xpi lib/%%APP_NAME%%/extensions/modern@themes.mozilla.org.xpi lib/%%APP_NAME%%/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi lib/%%APP_NAME%%/icons/updater.png @@ -126,19 +125,3 @@ lib/%%APP_NAME%%/updater lib/%%APP_NAME%%/updater.ini @exec /bin/cp -R %%LOCALBASE%%/lib/xpi/symlinks/%%APP_NAME%%/ %D/lib/%%APP_NAME%%/extensions/ 2>/dev/null || true @unexec /usr/bin/find %D/lib/%%APP_NAME%%/extensions/ -depth 1 -type l -delete 2>/dev/null || true -@dirrm lib/%%APP_NAME%%/chrome/icons/default -@dirrm lib/%%APP_NAME%%/chrome/icons -@dirrm lib/%%APP_NAME%%/chrome -@dirrm lib/%%APP_NAME%%/components -@dirrm lib/%%APP_NAME%%/defaults/messenger -@dirrm lib/%%APP_NAME%%/defaults/pref -@dirrm lib/%%APP_NAME%%/defaults/profile -@dirrm lib/%%APP_NAME%%/defaults -@dirrm lib/%%APP_NAME%%/dictionaries -@dirrm lib/%%APP_NAME%%/distribution/extensions -@dirrm lib/%%APP_NAME%%/distribution -@dirrm lib/%%APP_NAME%%/extensions -@dirrm lib/%%APP_NAME%%/icons -@dirrm lib/%%APP_NAME%%/isp -@dirrm lib/%%APP_NAME%%/searchplugins -@dirrm lib/%%APP_NAME%% Modified: branches/2014Q4/www/seamonkey-i18n/Makefile ============================================================================== --- branches/2014Q4/www/seamonkey-i18n/Makefile Thu Oct 16 11:53:42 2014 (r371003) +++ branches/2014Q4/www/seamonkey-i18n/Makefile Thu Oct 16 12:20:33 2014 (r371004) @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= seamonkey-i18n -PORTVERSION= 2.29.1 +PORTVERSION= 2.30 CATEGORIES= www mail news editors irc MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}/langpack PKGNAMEPREFIX= @@ -14,7 +14,7 @@ COMMENT= Localized interface for SeaMonk EXTRACT_DEPENDS= zip:${PORTSDIR}/archivers/zip -USES= zip:infozip gecko:seamonkey +USES= zip:infozip gecko:seamonkey,build USE_XPI= seamonkey linux-seamonkey NO_ARCH= yes @@ -25,7 +25,6 @@ WDIR= langpack-*@seamonkey.mozilla.org XPI_DISTNAMES= ${SEAMONKEY_I18N_} PLIST?= ${WRKDIR}/plist -PLISTD?= ${WRKDIR}/plist_dirs PLISTF?= ${WRKDIR}/plist_files .include "${.CURDIR}/Makefile.option" @@ -57,12 +56,9 @@ do-extract: fi; \ cd ${WRKSRC}/langpack-$$lang@seamonkey.mozilla.org/; \ ${FIND} -H -s * ! -type d | \ - ${SED} -e "s|^|lib/xpi/langpack-$$lang@seamonkey.mozilla.org/|" >> ${PLISTF} && \ - ${FIND} -d * -type d | \ - ${SED} -e "s|^|@dirrm lib/xpi/langpack-$$lang@seamonkey.mozilla.org/|" >> ${PLISTD}; \ + ${SED} -e "s|^|lib/xpi/langpack-$$lang@seamonkey.mozilla.org/|" >> ${PLISTF}; \ done ${CAT} ${PLISTF} | ${SORT} >> ${PLIST} - ${CAT} ${PLISTD} | ${SORT} -r >> ${PLIST} do-install: @${MKDIR} ${STAGEDIR}${XPI_LIBDIR} ${STAGEDIR}${XPI_SLDIRS_ALL} Modified: branches/2014Q4/www/seamonkey-i18n/distinfo ============================================================================== --- branches/2014Q4/www/seamonkey-i18n/distinfo Thu Oct 16 11:53:42 2014 (r371003) +++ branches/2014Q4/www/seamonkey-i18n/distinfo Thu Oct 16 12:20:33 2014 (r371004) @@ -1,54 +1,54 @@ -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.be.langpack.xpi) = 48e99f9a34bc17166e432ddf57060ef007a52a2f5a72f678b30c2ca150d788d4 -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.be.langpack.xpi) = 837343 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.ca.langpack.xpi) = da62c41035d664f70164c82ba410ca63e8cee66842584be02526b979a1ea17d7 -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.ca.langpack.xpi) = 830894 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.cs.langpack.xpi) = a4fb43ae82e84f6f6ee3c563d7369c7df23a4e75c4c8bc579161867e8a62dc0c -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.cs.langpack.xpi) = 832269 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.de.langpack.xpi) = bb7f7996400cab45d3cfe6599c225a9ebb4a11c02f213f8f048cb02698729f08 -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.de.langpack.xpi) = 837074 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.en-GB.langpack.xpi) = db76c94cee1683b2fbc54f29b5a472d22d41f02146adb4f73f4a1e909c8febfa -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.en-GB.langpack.xpi) = 800825 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.en-US.langpack.xpi) = dc60fe6d769d27828cd2cc2f3e7eb7403a2ebeed2fd16a0ec81aa64a58e65550 -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.en-US.langpack.xpi) = 800947 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.es-AR.langpack.xpi) = f6c23b2ca45b5f62cf9957a3723787b7e9a6b2ebadb36c114bf68b44a1bea8b7 -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.es-AR.langpack.xpi) = 851550 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.es-ES.langpack.xpi) = 2194e35efaf96f6b571fae1f6cdc02f7d877870163d71ebe29850fcaa7aebf32 -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.es-ES.langpack.xpi) = 827398 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.fi.langpack.xpi) = 90e56c6c84f0fb20fd1246efb9e14280006b9498702e4f6f0a1d4b7d07c8e36b -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.fi.langpack.xpi) = 798958 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.fr.langpack.xpi) = f5b984b90314d4d84c777e2c614058cba38f48d001130b6bb44d65209212e6a8 -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.fr.langpack.xpi) = 809849 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.gl.langpack.xpi) = ddfca812273b853171175f8e49629515cfe786a5e611106cf87696d0997c75b8 -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.gl.langpack.xpi) = 811262 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.hu.langpack.xpi) = f1de97811c9853c9ab2d5811baa3aee513bfc21b9f6ffe19f9a494a2a74c9731 -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.hu.langpack.xpi) = 845864 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.it.langpack.xpi) = 59f3cc936e9e0abf8ff1634b5aa7efd20c3cbb36bc3d87a2ca66843f8f5a85e1 -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.it.langpack.xpi) = 747523 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.ja-JP-mac.langpack.xpi) = 18b9a04b12224faa267fff4478dd615f20a95ec77fb5672426a90809ef1a5065 -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.ja-JP-mac.langpack.xpi) = 898137 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.ja.langpack.xpi) = ef93a8e30fef1d9fef12ab63abcde4b99b2294c74f0d88823ac30c8a6189a6c9 -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.ja.langpack.xpi) = 882631 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.lt.langpack.xpi) = 73ad71029ffa88d71082465d27b3fd3faa74fc2358b2c79f176b68d8aa6153a1 -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.lt.langpack.xpi) = 847473 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.nb-NO.langpack.xpi) = c36b9c2a943aef843fe03b735a62f57114ab7333ac9b59dbb69f4f625dbc3194 -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.nb-NO.langpack.xpi) = 820415 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.nl.langpack.xpi) = 0678cb91ee1864222641034a4982f13509196cb36c61b3f794bf944e9f0bba8b -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.nl.langpack.xpi) = 795958 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.pl.langpack.xpi) = 548f9f16d70224e712e68b557cf5c6f6d50658dbba803b5de17b1f987326fcd8 -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.pl.langpack.xpi) = 868185 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.pt-PT.langpack.xpi) = 88dfff6b9ea02e057ea284a70ea2098d83c8fd9dfeaadb8b6cb3773e3bcc894d -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.pt-PT.langpack.xpi) = 835298 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.ru.langpack.xpi) = 683e6b1bb5549ba77459a1ef2a308a536010874f15421ff85b48d63bd8cfdffc -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.ru.langpack.xpi) = 904350 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.sk.langpack.xpi) = cd19bbc1f21995ef0eeb0d6187e59b568414eb23c960406fc8ec3043fea17a2e -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.sk.langpack.xpi) = 859266 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.sv-SE.langpack.xpi) = 2f37fc22042d362a759fce13a817ce41105240a5be8ebbe9f85825306c98a047 -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.sv-SE.langpack.xpi) = 824247 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.tr.langpack.xpi) = ccb92bc100a1893a0476b74150c18e69cfc795ec0067c109b924780965c646a1 -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.tr.langpack.xpi) = 808132 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.uk.langpack.xpi) = 39814cea13d2a356abbdd052841c607d980172ba2a5fafbacbf0d0ce151be65f -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.uk.langpack.xpi) = 870448 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.zh-CN.langpack.xpi) = adb0634422270ecd074a95b6288f728746ed32041f3de127a609aac71c74a4c3 -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.zh-CN.langpack.xpi) = 833565 -SHA256 (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.zh-TW.langpack.xpi) = 51baf967ad8b2b8f5cf0ccd3c92674f0d427bc2ee9f1adea7a535257993c59ce -SIZE (xpi/seamonkey-i18n-2.29.1/seamonkey-2.29.1.zh-TW.langpack.xpi) = 858131 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.be.langpack.xpi) = 942e41816717417241480048c5bdb3359050170d5d1373baac60637072125318 +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.be.langpack.xpi) = 841428 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.ca.langpack.xpi) = f1885b21616e0c0598b5209a64ab6c709b6a38e6c87d7e7dc46bbb5a080d220f +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.ca.langpack.xpi) = 834809 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.cs.langpack.xpi) = 1d27172ba95f2604b33e108c3d3121ea24c019c2a29cdc23905bc6a88558783e +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.cs.langpack.xpi) = 836086 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.de.langpack.xpi) = d0af448d7eb0994eb6bcb21e6fdeaede037b91fd74558743b2212629304ecb82 +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.de.langpack.xpi) = 840719 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.en-GB.langpack.xpi) = 54b6ddc03323c03e1ff7651941ac30d7723ff7a16efefc34c31f40a9418273d3 +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.en-GB.langpack.xpi) = 805934 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.en-US.langpack.xpi) = 8a28853922139e19db1b1e5ab64ff555d40710b202259b58d8ed74769d49d330 +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.en-US.langpack.xpi) = 805932 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.es-AR.langpack.xpi) = e2c138ef0a4a7fa0dc4cba91fea2e52c6f580bbe1bcbba1e929ef133ca1892e8 +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.es-AR.langpack.xpi) = 854761 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.es-ES.langpack.xpi) = 34e7b38ef23dcef4b6279a155aef5e33abd2d9f7f39c54970ccb4e86a0236e0d +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.es-ES.langpack.xpi) = 831828 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.fi.langpack.xpi) = f08ad7cb30ef288ee023fff77c1d9f7daf92e27f6b046aaacb39f5bc77d21f86 +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.fi.langpack.xpi) = 802428 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.fr.langpack.xpi) = d4b8853961ff4040124b74657c052944e1fb34ce155a57b63802a36104c1b18a +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.fr.langpack.xpi) = 813379 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.gl.langpack.xpi) = 085312f4d6e0da8c6dc05ee976eb73c64f8db5deea94e93e51094af2c612daf9 +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.gl.langpack.xpi) = 815086 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.hu.langpack.xpi) = d8e348427de7fc4a12b29eebb242d85f2a783155ee1980115a12ea18c20b3a76 +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.hu.langpack.xpi) = 846944 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.it.langpack.xpi) = 7cfbf41c51267252e948c726d82c99f1dd08b41e0824c4b3aee3745139bf6aea +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.it.langpack.xpi) = 744667 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.ja-JP-mac.langpack.xpi) = 2b637b618da5dccf98fd9cac168e943a3327aa96e94493af8ebc58aabdd96322 +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.ja-JP-mac.langpack.xpi) = 901956 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.ja.langpack.xpi) = 310b1915fddd645ef599c4ccd43a012d7ad5b6dcd8b9ee1ed55314dfe1b84d50 +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.ja.langpack.xpi) = 886414 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.lt.langpack.xpi) = cf3f171f9b322f463d4776118f91e9213efc47d9da311e9666b0134956c9f9d5 +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.lt.langpack.xpi) = 852885 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.nb-NO.langpack.xpi) = 4174506d5b648bd3a32860d7f1a13f38acc8efd4add445654c39d148d8bd579a +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.nb-NO.langpack.xpi) = 825465 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.nl.langpack.xpi) = 65d96aa66d3d5e7df067a24af45ac1642d402df0d83b3ad62566de8b1341ef52 +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.nl.langpack.xpi) = 799416 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.pl.langpack.xpi) = 7c0ec1aee1224a271ed7f8bdb65cc661ac1896492c40a560c703e0bf41409f2c +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.pl.langpack.xpi) = 871070 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.pt-PT.langpack.xpi) = a199d31a141a793468315c4b8e2af945dad65300af3dc08ecf6e46cc8a268e94 +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.pt-PT.langpack.xpi) = 839078 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.ru.langpack.xpi) = 2de977bae6270ab0a81de79f83f1fbd193d0a34b5522ce58f08d7e0437267db1 +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.ru.langpack.xpi) = 908478 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.sk.langpack.xpi) = 3171795cb2b8d38cb2efd2a0c92cf9b9292cedae910630b76b82c49dc6965424 +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.sk.langpack.xpi) = 863112 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.sv-SE.langpack.xpi) = a8be050ec15e4c73ae2b91bcdbbd7d1b49f10606f3dcd8507ff3716c8ea738cb +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.sv-SE.langpack.xpi) = 827757 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.tr.langpack.xpi) = e21d7da74395703daada431cf7cabc4dde2368aa6f3acff689a3ff95c3c986c7 +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.tr.langpack.xpi) = 811821 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.uk.langpack.xpi) = cc18e2c32851c0672505c3afa93503b87c7f176ff10115f378c52499d9119113 +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.uk.langpack.xpi) = 874148 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.zh-CN.langpack.xpi) = e61da8c2d17b9afa0aad1d41910f00c785f618bb457cb9590176d4e5447cf6ad +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.zh-CN.langpack.xpi) = 837222 +SHA256 (xpi/seamonkey-i18n-2.30/seamonkey-2.30.zh-TW.langpack.xpi) = 29993aeafcf649561008394400cad3e9cb053891af1f69709aff4d2ce5ca90c0 +SIZE (xpi/seamonkey-i18n-2.30/seamonkey-2.30.zh-TW.langpack.xpi) = 863385 Modified: branches/2014Q4/www/seamonkey/Makefile ============================================================================== --- branches/2014Q4/www/seamonkey/Makefile Thu Oct 16 11:53:42 2014 (r371003) +++ branches/2014Q4/www/seamonkey/Makefile Thu Oct 16 12:20:33 2014 (r371004) @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= seamonkey -DISTVERSION= 2.29.1 +DISTVERSION= 2.30 CATEGORIES?= www mail news editors irc ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ https://ftp.mozilla.org/pub/mozilla.org/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source/ @@ -31,7 +31,7 @@ BUILD_DEPENDS= nspr>=4.10.6:${PORTSDIR}/ LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l EM_VERSION= 1.7.2 -L_VERSION= 3.4 +L_VERSION= 3.5 SSP_UNSAFE= yes USE_AUTOTOOLS= autoconf213:env @@ -84,9 +84,8 @@ MOZSRC:= ${WRKSRC}/mozilla XPI_LIBDIR= ${PREFIX}/lib/xpi # avoid clang 3.2/3.3 crash in js/src/jsgc.cpp on refillFreeList<(js::AllowGC)1> -# http://svnweb.freebsd.org/changeset/base/255804 -.if ${OPSYS} == FreeBSD -.if ${CHOSEN_COMPILER_TYPE} == clang && ${ARCH} == i386 && ${OSVERSION} < 1000056 +# To be removed when 9.2R goes EOL. http://llvm.org/PR15840 +.if ${ARCH} == i386 && ${CHOSEN_COMPILER_TYPE} == clang && ${COMPILER_VERSION:M3[23]} . if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS} BROKEN= Cannot build with OPTIMIZED_CFLAGS option due to \ a ${CHOSEN_COMPILER_TYPE} bug: unset the option or \ @@ -100,7 +99,6 @@ CXXFLAGS+= -O1 . endif . endif .endif -.endif .if ${PORT_OPTIONS:MALSA} RUN_DEPENDS+= alsa-lib>=1.0.27.2_1:${PORTSDIR}/audio/alsa-lib Modified: branches/2014Q4/www/seamonkey/distinfo ============================================================================== --- branches/2014Q4/www/seamonkey/distinfo Thu Oct 16 11:53:42 2014 (r371003) +++ branches/2014Q4/www/seamonkey/distinfo Thu Oct 16 12:20:33 2014 (r371004) @@ -1,4 +1,4 @@ -SHA256 (seamonkey-2.29.1.source.tar.bz2) = 26e345f71c6f305084ada10e10e55356fe4f08be25948cddb27eea81c0cd0679 -SIZE (seamonkey-2.29.1.source.tar.bz2) = 173439941 +SHA256 (seamonkey-2.30.source.tar.bz2) = 613eb08d80bf671b390869e9682810d7ae312a9858f6b69da76155f42ff1d516 +SIZE (seamonkey-2.30.source.tar.bz2) = 178435927 SHA256 (enigmail-1.7.2.tar.gz) = 7b3a62e83961bafec1cdac60075aa6c317c8f655a837e31a7d1f3ce6a49fc7d6 SIZE (enigmail-1.7.2.tar.gz) = 1420346 Copied: branches/2014Q4/www/seamonkey/files/patch-bug1021761 (from r370991, head/www/seamonkey/files/patch-bug1021761) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/2014Q4/www/seamonkey/files/patch-bug1021761 Thu Oct 16 12:20:33 2014 (r371004, copy of r370991, head/www/seamonkey/files/patch-bug1021761) @@ -0,0 +1,1101 @@ +diff --git configure.in configure.in +index 48e60c0..ec08417 100644 +--- mozilla/configure.in ++++ mozilla/configure.in +@@ -5438,6 +5438,60 @@ fi + AC_SUBST(MOZ_WEBM_ENCODER) + + dnl ================================== ++dnl = Check OSS availability ++dnl ================================== ++ ++dnl If using Linux, Solaris or BSDs, ensure that OSS is available ++case "$OS_TARGET" in ++Linux|SunOS|DragonFly|FreeBSD|NetBSD|GNU/kFreeBSD) ++ MOZ_OSS=1 ++ ;; ++esac ++ ++MOZ_ARG_DISABLE_BOOL(oss, ++[ --disable-oss Disable OpenSoundSystem support], ++ MOZ_OSS=, ++ MOZ_OSS=1) ++ ++_SAVE_CFLAGS=$CFLAGS ++_SAVE_LIBS=$LIBS ++if test -n "$MOZ_OSS"; then ++ dnl Prefer 4Front implementation ++ AC_MSG_CHECKING([MOZ_OSS_CFLAGS]) ++ if test -z "$MOZ_OSS_CFLAGS"; then ++ for oss_conf in /etc/oss.conf /usr/local/etc/oss.conf; do ++ if test -e "$oss_conf"; then ++ . "$oss_conf" ++ fi ++ done ++ if test -d "$OSSLIBDIR"; then ++ MOZ_OSS_CFLAGS="-I$OSSLIBDIR/include" ++ fi ++ fi ++ AC_MSG_RESULT([$MOZ_OSS_CFLAGS]) ++ ++ CFLAGS="$CFLAGS $MOZ_OSS_CFLAGS" ++ MOZ_CHECK_HEADERS(sys/soundcard.h linux/soundcard.h soundcard.h) ++ ++ if test "$ac_cv_header_sys_soundcard_h" != "yes" -a \ ++ "$ac_cv_header_linux_soundcard_h" != "yes" -a \ ++ "$ac_cv_header_soundcard_h" != "yes"; then ++ AC_MSG_ERROR([Need OSS for Ogg, Wave or WebM decoding on $OS_TARGET. Disable with --disable-ogg --disable-wave --disable-webm.]) ++ fi ++ ++ dnl Assume NetBSD implementation over SunAudio ++ AC_CHECK_LIB(ossaudio, _oss_ioctl, ++ [AC_DEFINE_UNQUOTED(CUBEB_OSS_DEFAULT_OUTPUT, "/dev/sound") ++ MOZ_OSS_LIBS="-lossaudio"]) ++fi ++CFLAGS=$_SAVE_CFLAGS ++LIBS=$_SAVE_LIBS ++ ++AC_SUBST(MOZ_OSS) ++AC_SUBST_LIST(MOZ_OSS_CFLAGS) ++AC_SUBST_LIST(MOZ_OSS_LIBS) ++ ++dnl ================================== + dnl = Check alsa availability on Linux + dnl ================================== + +@@ -5451,12 +5505,23 @@ MOZ_ARG_ENABLE_BOOL(alsa, + MOZ_ALSA=1, + MOZ_ALSA=) + ++MOZ_ARG_DISABLE_BOOL(alsa-dlopen, ++[ --disable-alsa-dlopen Disable runtime linking of libasound.so], ++ DISABLE_LIBASOUND_DLOPEN=1, ++ DISABLE_LIBASOUND_DLOPEN=) ++ + if test -n "$MOZ_ALSA"; then + PKG_CHECK_MODULES(MOZ_ALSA, alsa, , + [echo "$MOZ_ALSA_PKG_ERRORS" + AC_MSG_ERROR([Need alsa for Ogg, Wave or WebM decoding on Linux. Disable with --disable-ogg --disable-wave --disable-webm. (On Ubuntu, you might try installing the package libasound2-dev.)])]) + fi + ++if test -n "$DISABLE_LIBASOUND_DLOPEN"; then ++ AC_DEFINE(DISABLE_LIBASOUND_DLOPEN) ++else ++ MOZ_ALSA_LIBS= ++fi ++ + AC_SUBST(MOZ_ALSA) + + dnl ======================================================== +diff --git media/libcubeb/AUTHORS media/libcubeb/AUTHORS +index b441e8a..950d9e5 100644 +--- mozilla/media/libcubeb/AUTHORS ++++ mozilla/media/libcubeb/AUTHORS +@@ -4,3 +4,4 @@ Michael Wu + Paul Adenot + David Richards + Sebastien Alaiwan ++Evgeniy Vodolazskiy +diff --git media/libcubeb/src/cubeb.c media/libcubeb/src/cubeb.c +index 9c3adcc..45d765b 100644 +--- mozilla/media/libcubeb/src/cubeb.c ++++ mozilla/media/libcubeb/src/cubeb.c +@@ -54,6 +54,9 @@ int opensl_init(cubeb ** context, char const * context_name); + #if defined(USE_AUDIOTRACK) + int audiotrack_init(cubeb ** context, char const * context_name); + #endif ++#if defined(USE_OSS) ++int oss_init(cubeb ** context, char const * context_name); ++#endif + + int + validate_stream_params(cubeb_stream_params stream_params) +@@ -120,6 +123,9 @@ cubeb_init(cubeb ** context, char const * context_name) + #if defined(USE_AUDIOTRACK) + audiotrack_init, + #endif ++#if defined(USE_OSS) ++ oss_init, ++#endif + }; + int i; + +diff --git media/libcubeb/src/cubeb_alsa.c media/libcubeb/src/cubeb_alsa.c +index a962553..1f780f4 100644 +--- mozilla/media/libcubeb/src/cubeb_alsa.c ++++ mozilla/media/libcubeb/src/cubeb_alsa.c +@@ -11,6 +11,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -24,6 +25,50 @@ + + #define ALSA_PA_PLUGIN "ALSA <-> PulseAudio PCM I/O Plugin" + ++#ifdef DISABLE_LIBASOUND_DLOPEN ++#define WRAP(x) x ++#else ++#define WRAP(x) cubeb_##x ++#define MAKE_TYPEDEF(x) static typeof(x) * cubeb_##x ++MAKE_TYPEDEF(snd_config); ++MAKE_TYPEDEF(snd_config_add); ++MAKE_TYPEDEF(snd_config_copy); ++MAKE_TYPEDEF(snd_config_delete); ++MAKE_TYPEDEF(snd_config_get_id); ++MAKE_TYPEDEF(snd_config_get_string); ++MAKE_TYPEDEF(snd_config_imake_integer); ++MAKE_TYPEDEF(snd_config_search); ++MAKE_TYPEDEF(snd_config_search_definition); ++MAKE_TYPEDEF(snd_lib_error_set_handler); ++MAKE_TYPEDEF(snd_pcm_avail_update); ++MAKE_TYPEDEF(snd_pcm_close); ++MAKE_TYPEDEF(snd_pcm_delay); ++MAKE_TYPEDEF(snd_pcm_drain); ++MAKE_TYPEDEF(snd_pcm_frames_to_bytes); ++MAKE_TYPEDEF(snd_pcm_get_params); ++/* snd_pcm_hw_params_alloca is actually a macro */ ++/* MAKE_TYPEDEF(snd_pcm_hw_params_alloca); */ ++MAKE_TYPEDEF(snd_pcm_hw_params_sizeof); ++#define snd_pcm_hw_params_sizeof cubeb_snd_pcm_hw_params_sizeof ++MAKE_TYPEDEF(snd_pcm_hw_params_any); ++MAKE_TYPEDEF(snd_pcm_hw_params_get_channels_max); ++MAKE_TYPEDEF(snd_pcm_hw_params_get_rate); ++MAKE_TYPEDEF(snd_pcm_hw_params_set_rate_near); ++MAKE_TYPEDEF(snd_pcm_nonblock); ++MAKE_TYPEDEF(snd_pcm_open); ++MAKE_TYPEDEF(snd_pcm_open_lconf); ++MAKE_TYPEDEF(snd_pcm_pause); ++MAKE_TYPEDEF(snd_pcm_poll_descriptors); ++MAKE_TYPEDEF(snd_pcm_poll_descriptors_count); ++MAKE_TYPEDEF(snd_pcm_poll_descriptors_revents); ++MAKE_TYPEDEF(snd_pcm_recover); ++MAKE_TYPEDEF(snd_pcm_set_params); ++MAKE_TYPEDEF(snd_pcm_state); ++MAKE_TYPEDEF(snd_pcm_writei); ++ ++#undef MAKE_TYPEDEF ++#endif ++ + /* ALSA is not thread-safe. snd_pcm_t instances are individually protected + by the owning cubeb_stream's mutex. snd_pcm_t creation and destruction + is not thread-safe until ALSA 1.0.24 (see alsa-lib.git commit 91c9c8f1), +@@ -64,6 +109,8 @@ struct cubeb { + workaround is not required. */ + snd_config_t * local_config; + int is_pa; ++ ++ void * libasound; + }; + + enum stream_state { +@@ -262,7 +309,7 @@ alsa_refill_stream(cubeb_stream * stm) + + pthread_mutex_lock(&stm->mutex); + +- r = snd_pcm_poll_descriptors_revents(stm->pcm, stm->fds, stm->nfds, &revents); ++ r = WRAP(snd_pcm_poll_descriptors_revents)(stm->pcm, stm->fds, stm->nfds, &revents); + if (r < 0 || revents != POLLOUT) { + /* This should be a stream error; it makes no sense for poll(2) to wake + for this stream and then have the stream report that it's not ready. +@@ -271,10 +318,10 @@ alsa_refill_stream(cubeb_stream * stm) + return RUNNING; + } + +- avail = snd_pcm_avail_update(stm->pcm); ++ avail = WRAP(snd_pcm_avail_update)(stm->pcm); + if (avail == -EPIPE) { +- snd_pcm_recover(stm->pcm, avail, 1); +- avail = snd_pcm_avail_update(stm->pcm); ++ WRAP(snd_pcm_recover)(stm->pcm, avail, 1); ++ avail = WRAP(snd_pcm_avail_update)(stm->pcm); + } + + /* Failed to recover from an xrun, this stream must be broken. */ +@@ -293,8 +340,8 @@ alsa_refill_stream(cubeb_stream * stm) + available to write. If avail is still zero here, the stream must be in + a funky state, so recover and try again. */ + if (avail == 0) { +- snd_pcm_recover(stm->pcm, -EPIPE, 1); +- avail = snd_pcm_avail_update(stm->pcm); ++ WRAP(snd_pcm_recover)(stm->pcm, -EPIPE, 1); ++ avail = WRAP(snd_pcm_avail_update)(stm->pcm); + if (avail <= 0) { + pthread_mutex_unlock(&stm->mutex); + stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR); +@@ -302,7 +349,7 @@ alsa_refill_stream(cubeb_stream * stm) + } + } + +- p = calloc(1, snd_pcm_frames_to_bytes(stm->pcm, avail)); ++ p = calloc(1, WRAP(snd_pcm_frames_to_bytes)(stm->pcm, avail)); + assert(p); + + pthread_mutex_unlock(&stm->mutex); +@@ -313,10 +360,10 @@ alsa_refill_stream(cubeb_stream * stm) + return ERROR; + } + if (got > 0) { +- snd_pcm_sframes_t wrote = snd_pcm_writei(stm->pcm, p, got); ++ snd_pcm_sframes_t wrote = WRAP(snd_pcm_writei)(stm->pcm, p, got); + if (wrote == -EPIPE) { +- snd_pcm_recover(stm->pcm, wrote, 1); +- wrote = snd_pcm_writei(stm->pcm, p, got); ++ WRAP(snd_pcm_recover)(stm->pcm, wrote, 1); ++ wrote = WRAP(snd_pcm_writei)(stm->pcm, p, got); + } + assert(wrote >= 0 && wrote == got); + stm->write_position += wrote; +@@ -342,7 +389,7 @@ alsa_refill_stream(cubeb_stream * stm) + + /* Fill the remaining buffer with silence to guarantee one full period + has been written. */ +- snd_pcm_writei(stm->pcm, (char *) p + got, avail - got); ++ WRAP(snd_pcm_writei)(stm->pcm, (char *) p + got, avail - got); + + set_timeout(&stm->drain_timeout, buffer_time * 1000); + +@@ -453,26 +500,26 @@ get_slave_pcm_node(snd_config_t * lconf, snd_config_t * root_pcm) + + slave_def = NULL; + +- r = snd_config_search(root_pcm, "slave", &slave_pcm); ++ r = WRAP(snd_config_search)(root_pcm, "slave", &slave_pcm); + if (r < 0) { + return NULL; + } + +- r = snd_config_get_string(slave_pcm, &string); ++ r = WRAP(snd_config_get_string)(slave_pcm, &string); + if (r >= 0) { +- r = snd_config_search_definition(lconf, "pcm_slave", string, &slave_def); ++ r = WRAP(snd_config_search_definition)(lconf, "pcm_slave", string, &slave_def); + if (r < 0) { + return NULL; + } + } + + do { +- r = snd_config_search(slave_def ? slave_def : slave_pcm, "pcm", &pcm); ++ r = WRAP(snd_config_search)(slave_def ? slave_def : slave_pcm, "pcm", &pcm); + if (r < 0) { + break; + } + +- r = snd_config_get_string(slave_def ? slave_def : slave_pcm, &string); ++ r = WRAP(snd_config_get_string)(slave_def ? slave_def : slave_pcm, &string); + if (r < 0) { + break; + } +@@ -481,7 +528,7 @@ get_slave_pcm_node(snd_config_t * lconf, snd_config_t * root_pcm) + if (r < 0 || r > (int) sizeof(node_name)) { + break; + } +- r = snd_config_search(lconf, node_name, &pcm); ++ r = WRAP(snd_config_search)(lconf, node_name, &pcm); + if (r < 0) { + break; + } +@@ -490,7 +537,7 @@ get_slave_pcm_node(snd_config_t * lconf, snd_config_t * root_pcm) + } while (0); + + if (slave_def) { +- snd_config_delete(slave_def); ++ WRAP(snd_config_delete)(slave_def); + } + + return NULL; +@@ -513,22 +560,22 @@ init_local_config_with_workaround(char const * pcm_name) + + lconf = NULL; + +- if (snd_config == NULL) { ++ if (*WRAP(snd_config) == NULL) { + return NULL; + } + +- r = snd_config_copy(&lconf, snd_config); ++ r = WRAP(snd_config_copy)(&lconf, *WRAP(snd_config)); + if (r < 0) { + return NULL; + } + + do { +- r = snd_config_search_definition(lconf, "pcm", pcm_name, &pcm_node); ++ r = WRAP(snd_config_search_definition)(lconf, "pcm", pcm_name, &pcm_node); + if (r < 0) { + break; + } + +- r = snd_config_get_id(pcm_node, &string); ++ r = WRAP(snd_config_get_id)(pcm_node, &string); + if (r < 0) { + break; + } +@@ -537,7 +584,7 @@ init_local_config_with_workaround(char const * pcm_name) + if (r < 0 || r > (int) sizeof(node_name)) { + break; + } +- r = snd_config_search(lconf, node_name, &pcm_node); ++ r = WRAP(snd_config_search)(lconf, node_name, &pcm_node); + if (r < 0) { + break; + } +@@ -548,12 +595,12 @@ init_local_config_with_workaround(char const * pcm_name) + } + + /* Fetch the PCM node's type, and bail out if it's not the PulseAudio plugin. */ +- r = snd_config_search(pcm_node, "type", &node); ++ r = WRAP(snd_config_search)(pcm_node, "type", &node); + if (r < 0) { + break; + } + +- r = snd_config_get_string(node, &string); ++ r = WRAP(snd_config_get_string)(node, &string); + if (r < 0) { + break; + } +@@ -564,18 +611,18 @@ init_local_config_with_workaround(char const * pcm_name) + + /* Don't clobber an explicit existing handle_underrun value, set it only + if it doesn't already exist. */ +- r = snd_config_search(pcm_node, "handle_underrun", &node); ++ r = WRAP(snd_config_search)(pcm_node, "handle_underrun", &node); + if (r != -ENOENT) { + break; + } + + /* Disable pcm_pulse's asynchronous underrun handling. */ +- r = snd_config_imake_integer(&node, "handle_underrun", 0); ++ r = WRAP(snd_config_imake_integer)(&node, "handle_underrun", 0); + if (r < 0) { + break; + } + +- r = snd_config_add(pcm_node, node); ++ r = WRAP(snd_config_add)(pcm_node, node); + if (r < 0) { + break; + } +@@ -583,7 +630,7 @@ init_local_config_with_workaround(char const * pcm_name) + return lconf; + } while (0); + +- snd_config_delete(lconf); ++ WRAP(snd_config_delete)(lconf); + + return NULL; + } +@@ -595,9 +642,9 @@ alsa_locked_pcm_open(snd_pcm_t ** pcm, snd_pcm_stream_t stream, snd_config_t * l + + pthread_mutex_lock(&cubeb_alsa_mutex); + if (local_config) { +- r = snd_pcm_open_lconf(pcm, CUBEB_ALSA_PCM_NAME, stream, SND_PCM_NONBLOCK, local_config); ++ r = WRAP(snd_pcm_open_lconf)(pcm, CUBEB_ALSA_PCM_NAME, stream, SND_PCM_NONBLOCK, local_config); + } else { +- r = snd_pcm_open(pcm, CUBEB_ALSA_PCM_NAME, stream, SND_PCM_NONBLOCK); ++ r = WRAP(snd_pcm_open)(pcm, CUBEB_ALSA_PCM_NAME, stream, SND_PCM_NONBLOCK); + } + pthread_mutex_unlock(&cubeb_alsa_mutex); + +@@ -610,7 +657,7 @@ alsa_locked_pcm_close(snd_pcm_t * pcm) + int r; + + pthread_mutex_lock(&cubeb_alsa_mutex); +- r = snd_pcm_close(pcm); ++ r = WRAP(snd_pcm_close)(pcm); + pthread_mutex_unlock(&cubeb_alsa_mutex); + + return r; +@@ -667,12 +714,65 @@ alsa_init(cubeb ** context, char const * context_name) + pthread_attr_t attr; + snd_pcm_t * dummy; + ++ void * libasound = NULL; ++ ++#ifndef DISABLE_LIBASOUND_DLOPEN ++ libasound = dlopen("libasound.so", RTLD_LAZY); ++ if (!libasound) { ++ return CUBEB_ERROR; ++ } ++ ++#define LOAD(x) do { \ ++ cubeb_##x = dlsym(libasound, #x); \ ++ if (!cubeb_##x) { \ ++ dlclose(libasound); \ ++ return CUBEB_ERROR; \ ++ } \ ++ } while(0) ++ ++ LOAD(snd_config); ++ LOAD(snd_config_add); ++ LOAD(snd_config_copy); ++ LOAD(snd_config_delete); ++ LOAD(snd_config_get_id); ++ LOAD(snd_config_get_string); ++ LOAD(snd_config_imake_integer); ++ LOAD(snd_config_search); ++ LOAD(snd_config_search_definition); ++ LOAD(snd_lib_error_set_handler); ++ LOAD(snd_pcm_avail_update); ++ LOAD(snd_pcm_close); ++ LOAD(snd_pcm_delay); ++ LOAD(snd_pcm_drain); ++ LOAD(snd_pcm_frames_to_bytes); ++ LOAD(snd_pcm_get_params); ++ /* snd_pcm_hw_params_alloca is actually a macro */ ++ /* LOAD(snd_pcm_hw_params_alloca); */ ++ LOAD(snd_pcm_hw_params_sizeof); ++ LOAD(snd_pcm_hw_params_any); ++ LOAD(snd_pcm_hw_params_get_channels_max); ++ LOAD(snd_pcm_hw_params_get_rate); ++ LOAD(snd_pcm_hw_params_set_rate_near); ++ LOAD(snd_pcm_nonblock); ++ LOAD(snd_pcm_open); ++ LOAD(snd_pcm_open_lconf); ++ LOAD(snd_pcm_pause); ++ LOAD(snd_pcm_poll_descriptors); ++ LOAD(snd_pcm_poll_descriptors_count); ++ LOAD(snd_pcm_poll_descriptors_revents); ++ LOAD(snd_pcm_recover); ++ LOAD(snd_pcm_set_params); ++ LOAD(snd_pcm_state); ++ LOAD(snd_pcm_writei); ++ ++#undef LOAD ++#endif + assert(context); + *context = NULL; + + pthread_mutex_lock(&cubeb_alsa_mutex); + if (!cubeb_alsa_error_handler_set) { +- snd_lib_error_set_handler(silent_error_handler); ++ WRAP(snd_lib_error_set_handler)(silent_error_handler); + cubeb_alsa_error_handler_set = 1; + } + pthread_mutex_unlock(&cubeb_alsa_mutex); +@@ -680,6 +780,8 @@ alsa_init(cubeb ** context, char const * context_name) + ctx = calloc(1, sizeof(*ctx)); + assert(ctx); + ++ ctx->libasound = libasound; ++ + ctx->ops = &alsa_ops; + + r = pthread_mutex_init(&ctx->mutex, NULL); +@@ -729,7 +831,7 @@ alsa_init(cubeb ** context, char const * context_name) + config fails with EINVAL, the PA PCM is too old for this workaround. */ + if (r == -EINVAL) { + pthread_mutex_lock(&cubeb_alsa_mutex); +- snd_config_delete(ctx->local_config); ++ WRAP(snd_config_delete)(ctx->local_config); + pthread_mutex_unlock(&cubeb_alsa_mutex); + ctx->local_config = NULL; + } else if (r >= 0) { +@@ -768,9 +870,13 @@ alsa_destroy(cubeb * ctx) + pthread_mutex_destroy(&ctx->mutex); + free(ctx->fds); + ++ if (ctx->libasound) { ++ dlclose(ctx->libasound); ++ } ++ + if (ctx->local_config) { + pthread_mutex_lock(&cubeb_alsa_mutex); +- snd_config_delete(ctx->local_config); ++ WRAP(snd_config_delete)(ctx->local_config); + pthread_mutex_unlock(&cubeb_alsa_mutex); + } + +@@ -838,7 +944,7 @@ alsa_stream_init(cubeb * ctx, cubeb_stream ** stream, char const * stream_name, + return CUBEB_ERROR; + } + +- r = snd_pcm_nonblock(stm->pcm, 1); ++ r = WRAP(snd_pcm_nonblock)(stm->pcm, 1); + assert(r == 0); + + /* Ugly hack: the PA ALSA plugin allows buffer configurations that can't +@@ -848,23 +954,23 @@ alsa_stream_init(cubeb * ctx, cubeb_stream ** stream, char const * stream_name, + latency = latency < 500 ? 500 : latency; + } + +- r = snd_pcm_set_params(stm->pcm, format, SND_PCM_ACCESS_RW_INTERLEAVED, +- stm->params.channels, stm->params.rate, 1, +- latency * 1000); ++ r = WRAP(snd_pcm_set_params)(stm->pcm, format, SND_PCM_ACCESS_RW_INTERLEAVED, ++ stm->params.channels, stm->params.rate, 1, ++ latency * 1000); + if (r < 0) { + alsa_stream_destroy(stm); + return CUBEB_ERROR_INVALID_FORMAT; + } + +- r = snd_pcm_get_params(stm->pcm, &stm->buffer_size, &stm->period_size); ++ r = WRAP(snd_pcm_get_params)(stm->pcm, &stm->buffer_size, &stm->period_size); + assert(r == 0); + +- stm->nfds = snd_pcm_poll_descriptors_count(stm->pcm); ++ stm->nfds = WRAP(snd_pcm_poll_descriptors_count)(stm->pcm); + assert(stm->nfds > 0); + + stm->saved_fds = calloc(stm->nfds, sizeof(struct pollfd)); + assert(stm->saved_fds); +- r = snd_pcm_poll_descriptors(stm->pcm, stm->saved_fds, stm->nfds); ++ r = WRAP(snd_pcm_poll_descriptors)(stm->pcm, stm->saved_fds, stm->nfds); + assert((nfds_t) r == stm->nfds); + + r = pthread_cond_init(&stm->cond, NULL); +@@ -895,7 +1001,7 @@ alsa_stream_destroy(cubeb_stream * stm) + pthread_mutex_lock(&stm->mutex); + if (stm->pcm) { + if (stm->state == DRAINING) { +- snd_pcm_drain(stm->pcm); ++ WRAP(snd_pcm_drain)(stm->pcm); + } + alsa_locked_pcm_close(stm->pcm); + stm->pcm = NULL; +@@ -937,12 +1043,12 @@ alsa_get_max_channel_count(cubeb * ctx, uint32_t * max_channels) + return CUBEB_ERROR; + } + +- rv = snd_pcm_hw_params_any(stm->pcm, hw_params); ++ rv = WRAP(snd_pcm_hw_params_any)(stm->pcm, hw_params); + if (rv < 0) { + return CUBEB_ERROR; + } + +- rv = snd_pcm_hw_params_get_channels_max(hw_params, max_channels); ++ rv = WRAP(snd_pcm_hw_params_get_channels_max)(hw_params, max_channels); + if (rv < 0) { + return CUBEB_ERROR; + } +@@ -962,34 +1068,34 @@ alsa_get_preferred_sample_rate(cubeb * ctx, uint32_t * rate) { + + /* get a pcm, disabling resampling, so we get a rate the + * hardware/dmix/pulse/etc. supports. */ +- rv = snd_pcm_open(&pcm, "", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0); ++ rv = WRAP(snd_pcm_open)(&pcm, "", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0); + if (rv < 0) { + return CUBEB_ERROR; + } + +- rv = snd_pcm_hw_params_any(pcm, hw_params); ++ rv = WRAP(snd_pcm_hw_params_any)(pcm, hw_params); + if (rv < 0) { +- snd_pcm_close(pcm); ++ WRAP(snd_pcm_close)(pcm); + return CUBEB_ERROR; + } + +- rv = snd_pcm_hw_params_get_rate(hw_params, rate, &dir); ++ rv = WRAP(snd_pcm_hw_params_get_rate)(hw_params, rate, &dir); + if (rv >= 0) { + /* There is a default rate: use it. */ +- snd_pcm_close(pcm); ++ WRAP(snd_pcm_close)(pcm); + return CUBEB_OK; + } + + /* Use a common rate, alsa may adjust it based on hw/etc. capabilities. */ + *rate = 44100; + +- rv = snd_pcm_hw_params_set_rate_near(pcm, hw_params, rate, NULL); ++ rv = WRAP(snd_pcm_hw_params_set_rate_near)(pcm, hw_params, rate, NULL); + if (rv < 0) { +- snd_pcm_close(pcm); ++ WRAP(snd_pcm_close)(pcm); + return CUBEB_ERROR; + } + +- snd_pcm_close(pcm); ++ WRAP(snd_pcm_close)(pcm); + + return CUBEB_OK; + } +@@ -1013,7 +1119,7 @@ alsa_stream_start(cubeb_stream * stm) + ctx = stm->context; + + pthread_mutex_lock(&stm->mutex); +- snd_pcm_pause(stm->pcm, 0); ++ WRAP(snd_pcm_pause)(stm->pcm, 0); + gettimeofday(&stm->last_activity, NULL); + pthread_mutex_unlock(&stm->mutex); + +@@ -1047,7 +1153,7 @@ alsa_stream_stop(cubeb_stream * stm) + pthread_mutex_unlock(&ctx->mutex); + + pthread_mutex_lock(&stm->mutex); +- snd_pcm_pause(stm->pcm, 1); ++ WRAP(snd_pcm_pause)(stm->pcm, 1); + pthread_mutex_unlock(&stm->mutex); + + return CUBEB_OK; +@@ -1063,8 +1169,8 @@ alsa_stream_get_position(cubeb_stream * stm, uint64_t * position) + pthread_mutex_lock(&stm->mutex); + + delay = -1; +- if (snd_pcm_state(stm->pcm) != SND_PCM_STATE_RUNNING || +- snd_pcm_delay(stm->pcm, &delay) != 0) { ++ if (WRAP(snd_pcm_state)(stm->pcm) != SND_PCM_STATE_RUNNING || ++ WRAP(snd_pcm_delay)(stm->pcm, &delay) != 0) { + *position = stm->last_position; + pthread_mutex_unlock(&stm->mutex); + return CUBEB_OK; +@@ -1089,7 +1195,7 @@ alsa_stream_get_latency(cubeb_stream * stm, uint32_t * latency) + snd_pcm_sframes_t delay; + /* This function returns the delay in frames until a frame written using + snd_pcm_writei is sent to the DAC. The DAC delay should be < 1ms anyways. */ +- if (snd_pcm_delay(stm->pcm, &delay)) { ++ if (WRAP(snd_pcm_delay)(stm->pcm, &delay)) { + return CUBEB_ERROR; + } + +diff --git media/libcubeb/src/cubeb_oss.c media/libcubeb/src/cubeb_oss.c +new file mode 100644 +index 0000000..5e38e27 +--- /dev/null ++++ mozilla/media/libcubeb/src/cubeb_oss.c +@@ -0,0 +1,399 @@ ++/* ++ * Copyright © 2014 Mozilla Foundation ++ * ++ * This program is made available under an ISC-style license. See the ++ * accompanying file LICENSE for details. ++ */ ++#if defined(HAVE_SYS_SOUNDCARD_H) ++#include ++#elif defined(HAVE_LINUX_SOUNDCARD_H) ++#include ++#else ++#include ++#endif ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "cubeb/cubeb.h" ++#include "cubeb-internal.h" ++ ++#ifndef CUBEB_OSS_DEFAULT_OUTPUT ++#define CUBEB_OSS_DEFAULT_OUTPUT "/dev/dsp" ++#endif ++ ++#define OSS_BUFFER_SIZE 1024 ++ ++struct cubeb { ++ struct cubeb_ops const * ops; ++}; ++ ++struct cubeb_stream { ++ cubeb * context; ++ ++ cubeb_data_callback data_callback; ++ cubeb_state_callback state_callback; ++ void * user_ptr; ++ float volume; ++ float panning; ++ ++ pthread_mutex_t state_mutex; ++ pthread_cond_t state_cond; ++ ++ int running; ++ int stopped; ++ int floating; ++ ++ /* These two vars are needed to support old versions of OSS */ ++ unsigned int position_bytes; ++ unsigned int last_position_bytes; ++ ++ uint64_t written_frags; /* The number of fragments written to /dev/dsp */ ++ uint64_t missed_frags; /* fragments output with stopped stream */ ++ ++ cubeb_stream_params params; ++ int fd; *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***