From owner-freebsd-gecko@FreeBSD.ORG Sun Sep 21 13:10:56 2014 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 415F14BC for ; Sun, 21 Sep 2014 13:10:56 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.244.247]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BF26D89C for ; Sun, 21 Sep 2014 13:10:55 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian [217.150.244.247]) by trillian.chruetertee.ch (8.14.4/8.14.3) with ESMTP id s8LDAk6C057122 for ; Sun, 21 Sep 2014 13:10:46 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.4/8.14.3/Submit) id s8LDAekp055816 for freebsd-gecko@freebsd.org; Sun, 21 Sep 2014 13:10:40 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Sun, 21 Sep 2014 13:10:40 GMT Message-Id: <201409211310.s8LDAekp055816@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org Subject: [SVN-Commit] r1701 - in trunk/www/linux-c6-freshplayerplugin: . files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reply-To: freebsd-gecko@freebsd.org X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 21 Sep 2014 13:10:56 -0000 Author: jbeich Date: Sun Sep 21 13:10:40 2014 New Revision: 1701 Log: Add a prototype port for PepperFlash wrapper, use with www/linux-firefox Depends on: sysutils/rinse from bug 193493 linux-c6-* infra ports linux libEGL.so.1 from nvidia-driver Added: trunk/www/linux-c6-freshplayerplugin/ trunk/www/linux-c6-freshplayerplugin/Makefile trunk/www/linux-c6-freshplayerplugin/distinfo trunk/www/linux-c6-freshplayerplugin/files/ trunk/www/linux-c6-freshplayerplugin/files/patch-src__pp_resource.h trunk/www/linux-c6-freshplayerplugin/files/patch-src__ppb_flash_menu.c trunk/www/linux-c6-freshplayerplugin/pkg-descr Added: trunk/www/linux-c6-freshplayerplugin/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/linux-c6-freshplayerplugin/Makefile Sun Sep 21 13:10:40 2014 (r1701) @@ -0,0 +1,152 @@ +# $FreeBSD$ + +PORTNAME= freshplayerplugin +PORTVERSION= 0.2.0 +CATEGORIES= www linux emulators +PKGNAMEPREFIX= linux-c6- + +MAINTAINER= gecko@FreeBSD.org +COMMENT= PPAPI-host NPAPI-plugin adapter (Linux CentOS 6) + +LICENSE= MIT # excluding EXTRA_LIBS + +BUILD_DEPENDS= rinse:${PORTSDIR}/sysutils/rinse +RUN_DEPENDS= ${LINUXBASE}/usr/lib/libEGL.so.1:${PORTSDIR}/x11/nvidia-driver + +USE_GITHUB= yes +GH_ACCOUNT= i-rinat +GH_TAGNAME= v${DISTVERSION} +GH_COMMIT= e2c21b9 + +USES= cmake webplugin:linux +USE_LINUX= c6 +USE_LINUX_APPS= atk fontconfig gtk2 pango \ + alsalib alsa-plugins-oss +BUILD_WRKSRC= ${WRKDIR}/centos6 +WEBPLUGIN_FILES=libfreshwrapper-pepperflash.so +PLIST_FILES= %%WEBPLUGIN_DIR%%/libfreshwrapper-pepperflash.so \ + ${EXTRA_LIBS:S,^,${LINUXBASE},} +PLIST_DIRSTRY= lib/browser_plugins +EXTRA_LIBS= /usr/lib/libconfig.so.8 \ + /usr/lib/libevent-2.0.so.5 \ + /usr/lib/libevent_pthreads-2.0.so.5 \ + /usr/lib/liburiparser.so.1 + +YUM_INSTALL= ${CHROOT} ${BUILD_WRKSRC} /usr/bin/yum -y install + +.if defined(WRKDIRPREFIX) +# Keep mount path short to avoid ENAMETOOLONG +WRKDIR= ${WRKDIRPREFIX}/${UNIQUENAME} +.endif + +post-patch: + ${REINPLACE_CMD} -e 's,/usr/lib,${LOCALBASE}/lib,' \ + ${WRKSRC}/src/config_nacl.c \ + ${WRKSRC}/src/config_pepperflash.c + +pre-configure: + @if [ ${UID} != 0 ]; then \ + ${ECHO_MSG} "Requires root permissions for chroot(8)."; \ + exit 1; \ + fi + +do-configure: + rinse --arch i386 --distribution centos-6 \ + --directory ${BUILD_WRKSRC} + + ${MOUNT} -t devfs none ${BUILD_WRKSRC}/dev + ${MOUNT} -t linprocfs none ${BUILD_WRKSRC}/proc + ${MOUNT} -t nullfs ${WRKSRC} ${BUILD_WRKSRC}/root + + ${MKDIR} /var/cache/yum + ${MOUNT} -t nullfs /var/cache/yum \ + ${BUILD_WRKSRC}/var/cache/yum + +post-configure: + ${REINPLACE_CMD} -e '/keepcache/s/=0/=1/' \ + ${BUILD_WRKSRC}/etc/yum.conf + ${BRANDELF} -t Linux ${BUILD_WRKSRC}/lib/ld-linux.so.2 + ${CP} ${BUILD_WRKSRC}/usr/lib/locale/locale-archive.tmpl \ + ${BUILD_WRKSRC}/usr/lib/locale/locale-archive + +pre-build: + ${YUM_INSTALL} epel-release \ + http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm \ + http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm \ + http://rpms.famillecollet.com/enterprise/6/remi/i386/remi-release-6.5-1.el6.remi.noarch.rpm + + # use http:// to skip upgrade + ${REINPLACE_CMD} 's/https/http/' ${BUILD_WRKSRC}/etc/yum.repos.d/epel*.repo + + # fix broken depends + ${YUM_INSTALL} gamin shared-mime-info + + ${YUM_INSTALL} \ + cmake28 \ + make \ + gcc-c++ \ + alsa-lib-devel \ + gtk2-devel \ + libconfig-devel + + ${YUM_INSTALL} --enablerepo=rpmforge uriparser-devel + ${YUM_INSTALL} --enablerepo=remi libevent-last-devel + ${YUM_INSTALL} --enablerepo=elrepo-extras mesa-libGLES-devel + +do-build: + ${CHROOT} ${BUILD_WRKSRC} \ + /bin/sh -c "cd /root && cmake28 . \ + ${CMAKE_ARGS:M*FLAGS*} ${CMAKE_ARGS:M*BUILD_TYPE*}" + ${CHROOT} ${BUILD_WRKSRC} \ + /usr/bin/make ${_MAKE_JOBS} -C /root + +do-install: + @${MKDIR} ${STAGEDIR}${WEBPLUGIN_DIR} ${STAGEDIR}${LINUXBASE}/usr/lib + ${INSTALL_LIB} ${WRKSRC}/libfreshwrapper-pepperflash.so \ + ${STAGEDIR}${WEBPLUGIN_DIR} +.for f in ${EXTRA_LIBS} + ${INSTALL_LIB} ${BUILD_WRKSRC}${f} \ + ${STAGEDIR}${LINUXBASE}${f:H} +.endfor + +pre-clean: test-clean + @${UMOUNT} ${BUILD_WRKSRC}/dev 2>/dev/null || ${TRUE} + @${UMOUNT} ${BUILD_WRKSRC}/proc 2>/dev/null || ${TRUE} + @${UMOUNT} ${BUILD_WRKSRC}/root 2>/dev/null || ${TRUE} + @${UMOUNT} ${BUILD_WRKSRC}/var/cache/yum 2>/dev/null || ${TRUE} + +pre-test: build + -${CP} ${LOCALBASE}/etc/asound.conf ${BUILD_WRKSRC}/etc + ${YUM_INSTALL} \ + ncurses-base \ + alsa-plugins-oss \ + firefox + + -${CHROOT} ${BUILD_WRKSRC} /usr/sbin/useradd -u 1001 -m foo + -${INSTALL} -o 1001 -g 1001 -m 600 \ + ~/.Xauthority ${BUILD_WRKSRC}/home/foo + ${ECHO_CMD} 'export DISPLAY=$${DISPLAY-:0}' \ + >>${BUILD_WRKSRC}/home/foo/.bashrc + ${INSTALL} -d -o 1001 -g 1001 \ + ${BUILD_WRKSRC}/home/foo/.mozilla + ${INSTALL} -d -o 1001 -g 1001 \ + ${BUILD_WRKSRC}/home/foo/.mozilla/plugins + ${LN} -sf /root/libfreshwrapper-pepperflash.so \ + ${BUILD_WRKSRC}/home/foo/.mozilla/plugins + + ${MOUNT} -t nullfs /tmp ${BUILD_WRKSRC}/tmp + ${MKDIR} ${BUILD_WRKSRC}${LOCALBASE}/lib/PepperFlash + ${MOUNT} -t nullfs ${LOCALBASE}/lib/PepperFlash \ + ${BUILD_WRKSRC}${LOCALBASE}/lib/PepperFlash + +test: pre-test + ${SETENV} -u XAUTHORITY ${CHROOT} ${BUILD_WRKSRC} /bin/su foo -c \ + "firefox -no-remote" + +test-clean: + @${UMOUNT} ${BUILD_WRKSRC}/tmp 2>/dev/null || ${TRUE} + @${UMOUNT} ${BUILD_WRKSRC}${LOCALBASE}/lib/PepperFlash 2>/dev/null || ${TRUE} + +.PHONY: pre-test test test-clean + +.include Added: trunk/www/linux-c6-freshplayerplugin/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/linux-c6-freshplayerplugin/distinfo Sun Sep 21 13:10:40 2014 (r1701) @@ -0,0 +1,2 @@ +SHA256 (freshplayerplugin-0.2.0.tar.gz) = 04fb5fa5257c37215c86e67139ece3a992757fc2fca7db552f189b2faca4072e +SIZE (freshplayerplugin-0.2.0.tar.gz) = 258233 Added: trunk/www/linux-c6-freshplayerplugin/files/patch-src__pp_resource.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/linux-c6-freshplayerplugin/files/patch-src__pp_resource.h Sun Sep 21 13:10:40 2014 (r1701) @@ -0,0 +1,41 @@ +--- src/pp_resource.h~ ++++ src/pp_resource.h +@@ -47,6 +47,38 @@ + #include + #include + #include ++#include ++ ++#if !GLIB_CHECK_VERSION(2, 31, 0) ++static inline ++GThread * ++g_thread_new(const gchar *unused, GThreadFunc func, gpointer data) ++{ ++ GThread *thread = g_thread_create(func, data, TRUE, NULL); ++ if (!thread) { ++ g_error("g_thread_create failed"); ++ } ++ return thread; ++} ++ ++static inline ++void ++g_hash_table_add(GHashTable *table, gpointer key) ++{ ++ g_hash_table_replace(table, key, key); ++} ++ ++static inline ++gpointer ++g_async_queue_timeout_pop(GAsyncQueue *queue, guint64 timeout) ++{ ++ GTimeVal end_time; ++ ++ g_get_current_time(&end_time); ++ g_time_val_add(&end_time, timeout); ++ return g_async_queue_timed_pop(queue, &end_time); ++} ++#endif + + + #define free_and_nullify(obj, field) \ Added: trunk/www/linux-c6-freshplayerplugin/files/patch-src__ppb_flash_menu.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/linux-c6-freshplayerplugin/files/patch-src__ppb_flash_menu.c Sun Sep 21 13:10:40 2014 (r1701) @@ -0,0 +1,11 @@ +--- src/ppb_flash_menu.c~ ++++ src/ppb_flash_menu.c +@@ -136,7 +136,7 @@ static + void + _destroy_flash_menu_ptac(void *param) + { +- GMenu *menu = param; ++ void *menu = param; + g_object_unref(menu); + } + Added: trunk/www/linux-c6-freshplayerplugin/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/linux-c6-freshplayerplugin/pkg-descr Sun Sep 21 13:10:40 2014 (r1701) @@ -0,0 +1,6 @@ +The main goal of this project is to get PPAPI (Pepper) Flash player +working in Firefox. A wrapper is implemented, some kind of adapter +which will look like browser to PPAPI plugin and look like NPAPI +plugin for browser. + +WWW: https://github.com/i-rinat/freshplayerplugin From owner-freebsd-gecko@FreeBSD.ORG Tue Sep 23 06:49:14 2014 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 84A6BA0B for ; Tue, 23 Sep 2014 06:49:14 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.244.247]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F16AB74B for ; Tue, 23 Sep 2014 06:49:13 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian [217.150.244.247]) by trillian.chruetertee.ch (8.14.4/8.14.3) with ESMTP id s8N6n4CB027819 for ; Tue, 23 Sep 2014 06:49:04 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.4/8.14.3/Submit) id s8N6mxlE023176 for freebsd-gecko@freebsd.org; Tue, 23 Sep 2014 06:48:59 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Tue, 23 Sep 2014 06:48:59 GMT Message-Id: <201409230648.s8N6mxlE023176@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org Subject: [SVN-Commit] r1702 - in trunk: Mk Mk/Uses audio/linux-f10-alsa-lib audio/linux-f10-alsa-plugins-oss audio/linux-f10-alsa-plugins-pulseaudio devel/nspr mail/linux-thunderbird mail/thunderbird-i18n multimedia/gmp-api multimedia/openh264 net-im/linux-instantbird security/ca_root_nss security/nss www/firefox-esr-i18n www/firefox-i18n www/libxul www/linux-c6-freshplayerplugin www/linux-firefox www/linux-seamonkey www/linux-tor-browser www/seamonkey-i18n www/xpi-adblock MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reply-To: freebsd-gecko@freebsd.org X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2014 06:49:14 -0000 Author: jbeich Date: Tue Sep 23 06:48:59 2014 New Revision: 1702 Log: kill @dirrm from ports per CHANGES from 20140922 Modified: trunk/Mk/Uses/webplugin.mk trunk/Mk/bsd.gecko.mk trunk/audio/linux-f10-alsa-lib/pkg-plist trunk/audio/linux-f10-alsa-plugins-oss/pkg-plist trunk/audio/linux-f10-alsa-plugins-pulseaudio/pkg-plist trunk/devel/nspr/pkg-plist trunk/mail/linux-thunderbird/pkg-plist trunk/mail/thunderbird-i18n/Makefile trunk/multimedia/gmp-api/pkg-plist trunk/multimedia/openh264/pkg-plist trunk/net-im/linux-instantbird/pkg-plist trunk/security/ca_root_nss/pkg-plist trunk/security/nss/pkg-plist trunk/www/firefox-esr-i18n/Makefile trunk/www/firefox-i18n/Makefile trunk/www/libxul/Makefile trunk/www/linux-c6-freshplayerplugin/Makefile trunk/www/linux-firefox/pkg-plist trunk/www/linux-seamonkey/Makefile.common trunk/www/linux-seamonkey/pkg-plist trunk/www/linux-tor-browser/pkg-plist trunk/www/seamonkey-i18n/Makefile trunk/www/xpi-adblock/Makefile.xpi Modified: trunk/Mk/Uses/webplugin.mk ============================================================================== --- trunk/Mk/Uses/webplugin.mk Sun Sep 21 13:10:40 2014 (r1701) +++ trunk/Mk/Uses/webplugin.mk Tue Sep 23 06:48:59 2014 (r1702) @@ -54,7 +54,6 @@ # [...] # %%WEBPLUGIN_DIR%%/fooplugin.so # %%WEBPLUGIN_DIR%%/fooplugin.xpi -# @dirrmtry %%WEBPLUGIN_DIR%% # ------------------------------------------------------ # # Here is what it will look like when it creates the symlinks: @@ -93,7 +92,6 @@ # lib/application/fooplugin.la # lib/application/fooplugin.so # lib/application/fooplugin.xpi -# @dirrm lib/application # ------------------------------------------------------ # # Here is what it will look like when it creates symlinks: @@ -174,9 +172,6 @@ ${LN} -sf ${l:S,^,${WEBPLUGIN_DIR}/,} ${STAGEDIR}${d}/ @${ECHO_CMD} "${d:S,^${LOCALBASE}/,,}/${l:T}" >> ${TMPPLIST} .endfor - @${ECHO_CMD} "@unexec rmdir ${d:S,^${LOCALBASE},%D,} 2>/dev/null || true" >> ${TMPPLIST} .endfor - @${ECHO_CMD} "@unexec rmdir ${_WEBPLUGIN_SLDIR:S,^${LOCALBASE},%D,} 2>/dev/null || true" >> ${TMPPLIST} - @${ECHO_CMD} "@unexec rmdir ${_WEBPLUGIN_LIBDIR:S,^${LOCALBASE},%D,} 2>/dev/null || true" >> ${TMPPLIST} .endif Modified: trunk/Mk/bsd.gecko.mk ============================================================================== --- trunk/Mk/bsd.gecko.mk Sun Sep 21 13:10:40 2014 (r1701) +++ trunk/Mk/bsd.gecko.mk Tue Sep 23 06:48:59 2014 (r1702) @@ -94,7 +94,6 @@ MOZILLA_SUFX?= none MOZSRC?= ${WRKSRC} WRKSRC?= ${WRKDIR}/mozilla -PLISTD?= ${WRKDIR}/plist_dirs PLISTF?= ${WRKDIR}/plist_files MOZ_PIS_DIR?= lib/${MOZILLA}/init.d @@ -591,15 +590,12 @@ gecko-create-plist: # Create the plist - ${RM} -f ${PLISTF} ${PLISTD} + ${RM} -f ${PLISTF} .for dir in ${MOZILLA_PLIST_DIRS} @cd ${STAGEDIR}${PREFIX}/${dir} && ${FIND} -H -s * ! -type d | \ - ${SED} -e 's|^|${dir}/|' >> ${PLISTF} && \ - ${FIND} -d * -type d | \ - ${SED} -e 's|^|@dirrm ${dir}/|' >> ${PLISTD} + ${SED} -e 's|^|${dir}/|' >> ${PLISTF} .endfor ${CAT} ${PLISTF} | ${SORT} >> ${TMPPLIST} - ${CAT} ${PLISTD} | ${SORT} -r >> ${TMPPLIST} gecko-moz-pis-pre-install: .if defined(MOZ_PIS_SCRIPTS) Modified: trunk/audio/linux-f10-alsa-lib/pkg-plist ============================================================================== --- trunk/audio/linux-f10-alsa-lib/pkg-plist Sun Sep 21 13:10:40 2014 (r1701) +++ trunk/audio/linux-f10-alsa-lib/pkg-plist Tue Sep 23 06:48:59 2014 (r1702) @@ -88,10 +88,3 @@ usr/share/doc/alsa-lib-1.0.21/TODO usr/share/doc/alsa-lib-1.0.21/asoundrc.txt @comment non-empty directory listing in revers order -@dirrm usr/share/doc/alsa-lib-1.0.21 -@dirrm usr/share/alsa/pcm -@dirrm usr/share/alsa/cards/SI7018 -@dirrm usr/share/alsa/cards -@dirrm usr/share/alsa -@dirrm usr/lib/alsa-lib/smixer -@dirrm usr/lib/alsa-lib Modified: trunk/audio/linux-f10-alsa-plugins-oss/pkg-plist ============================================================================== --- trunk/audio/linux-f10-alsa-plugins-oss/pkg-plist Sun Sep 21 13:10:40 2014 (r1701) +++ trunk/audio/linux-f10-alsa-plugins-oss/pkg-plist Tue Sep 23 06:48:59 2014 (r1702) @@ -3,5 +3,3 @@ usr/share/doc/alsa-plugins-oss-1.0.21/COPYING usr/share/doc/alsa-plugins-oss-1.0.21/COPYING.GPL usr/share/doc/alsa-plugins-oss-1.0.21/README-pcm-oss -@dirrm usr/share/doc/alsa-plugins-oss-1.0.21 -@dirrmtry usr/lib/alsa-lib Modified: trunk/audio/linux-f10-alsa-plugins-pulseaudio/pkg-plist ============================================================================== --- trunk/audio/linux-f10-alsa-plugins-pulseaudio/pkg-plist Sun Sep 21 13:10:40 2014 (r1701) +++ trunk/audio/linux-f10-alsa-plugins-pulseaudio/pkg-plist Tue Sep 23 06:48:59 2014 (r1702) @@ -4,5 +4,3 @@ usr/share/doc/alsa-plugins-pulseaudio-1.0.21/COPYING usr/share/doc/alsa-plugins-pulseaudio-1.0.21/COPYING.GPL usr/share/doc/alsa-plugins-pulseaudio-1.0.21/README-pulse -@dirrm usr/share/doc/alsa-plugins-pulseaudio-1.0.21 -@dirrmtry usr/lib/alsa-lib Modified: trunk/devel/nspr/pkg-plist ============================================================================== --- trunk/devel/nspr/pkg-plist Sun Sep 21 13:10:40 2014 (r1701) +++ trunk/devel/nspr/pkg-plist Tue Sep 23 06:48:59 2014 (r1702) @@ -90,7 +90,3 @@ lib/libplds4.so lib/libplds4.so.1 libdata/pkgconfig/nspr.pc -@dirrm include/nspr/private -@dirrm include/nspr/obsolete -@dirrm include/nspr/md -@dirrm include/nspr Modified: trunk/mail/linux-thunderbird/pkg-plist ============================================================================== --- trunk/mail/linux-thunderbird/pkg-plist Sun Sep 21 13:10:40 2014 (r1701) +++ trunk/mail/linux-thunderbird/pkg-plist Tue Sep 23 06:48:59 2014 (r1702) @@ -78,17 +78,3 @@ 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 -@dirrm lib/%%APP_NAME%%/dictionaries -@dirrm lib/%%APP_NAME%%/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd} -@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: trunk/mail/thunderbird-i18n/Makefile ============================================================================== --- trunk/mail/thunderbird-i18n/Makefile Sun Sep 21 13:10:40 2014 (r1701) +++ trunk/mail/thunderbird-i18n/Makefile Tue Sep 23 06:48:59 2014 (r1702) @@ -24,7 +24,6 @@ XPI_DISTNAMES= ${THUNDERBIRD_I18N_} PLIST?= ${WRKDIR}/plist -PLISTD?= ${WRKDIR}/plist_dirs PLISTF?= ${WRKDIR}/plist_files .include "${.CURDIR}/Makefile.option" @@ -55,12 +54,9 @@ fi; \ cd ${WRKSRC}/langpack-$$lang@thunderbird.mozilla.org/; \ ${FIND} -H -s * ! -type d | \ - ${SED} -e "s|^|lib/xpi/langpack-$$lang@thunderbird.mozilla.org/|" >> ${PLISTF} && \ - ${FIND} -d * -type d | \ - ${SED} -e "s|^|@dirrm lib/xpi/langpack-$$lang@thunderbird.mozilla.org/|" >> ${PLISTD}; \ + ${SED} -e "s|^|lib/xpi/langpack-$$lang@thunderbird.mozilla.org/|" >> ${PLISTF}; \ done ${CAT} ${PLISTF} | ${SORT} >> ${PLIST} - ${CAT} ${PLISTD} | ${SORT} -r >> ${PLIST} do-install: Modified: trunk/multimedia/gmp-api/pkg-plist ============================================================================== --- trunk/multimedia/gmp-api/pkg-plist Sun Sep 21 13:10:40 2014 (r1701) +++ trunk/multimedia/gmp-api/pkg-plist Tue Sep 23 06:48:59 2014 (r1702) @@ -16,4 +16,3 @@ include/gmp-api/gmp-video-frame.h include/gmp-api/gmp-video-host.h include/gmp-api/gmp-video-plane.h -@dirrm include/gmp-api Modified: trunk/multimedia/openh264/pkg-plist ============================================================================== --- trunk/multimedia/openh264/pkg-plist Sun Sep 21 13:10:40 2014 (r1701) +++ trunk/multimedia/openh264/pkg-plist Tue Sep 23 06:48:59 2014 (r1702) @@ -13,6 +13,3 @@ lib/libopenh264.a lib/libopenh264.so lib/libopenh264.so.0 -@dirrm include/wels -%%PLUGINS%%@dirrm %%WEBPLUGIN_DIR%% -%%PLUGINS%%@dirrmtry lib/browser_plugins Modified: trunk/net-im/linux-instantbird/pkg-plist ============================================================================== --- trunk/net-im/linux-instantbird/pkg-plist Sun Sep 21 13:10:40 2014 (r1701) +++ trunk/net-im/linux-instantbird/pkg-plist Tue Sep 23 06:48:59 2014 (r1702) @@ -61,14 +61,3 @@ 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/pref -@dirrm lib/%%APP_NAME%%/defaults -@dirrm lib/%%APP_NAME%%/dictionaries -@dirrm lib/%%APP_NAME%%/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd} -@dirrm lib/%%APP_NAME%%/extensions -@dirrm lib/%%APP_NAME%%/icons -@dirrm lib/%%APP_NAME%% Modified: trunk/security/ca_root_nss/pkg-plist ============================================================================== --- trunk/security/ca_root_nss/pkg-plist Sun Sep 21 13:10:40 2014 (r1701) +++ trunk/security/ca_root_nss/pkg-plist Tue Sep 23 06:48:59 2014 (r1702) @@ -1,4 +1,3 @@ %%CERTDIR%%/ca-root-nss.crt -@dirrmtry %%CERTDIR%% %%ETCSYMLINK%%@cwd / %%ETCSYMLINK%%etc/ssl/cert.pem Modified: trunk/security/nss/pkg-plist ============================================================================== --- trunk/security/nss/pkg-plist Sun Sep 21 13:10:40 2014 (r1701) +++ trunk/security/nss/pkg-plist Tue Sep 23 06:48:59 2014 (r1702) @@ -136,6 +136,3 @@ lib/nss/libssl3.so lib/nss/libssl3.so.1 libdata/pkgconfig/nss.pc -@dirrm lib/nss -@dirrm include/nss/nss -@dirrm include/nss Modified: trunk/www/firefox-esr-i18n/Makefile ============================================================================== --- trunk/www/firefox-esr-i18n/Makefile Sun Sep 21 13:10:40 2014 (r1701) +++ trunk/www/firefox-esr-i18n/Makefile Tue Sep 23 06:48:59 2014 (r1702) @@ -27,7 +27,6 @@ XPI_DISTNAMES= ${FIREFOX_I18N_} PLIST?= ${WRKDIR}/plist -PLISTD?= ${WRKDIR}/plist_dirs PLISTF?= ${WRKDIR}/plist_files .include "${.CURDIR}/Makefile.option" @@ -62,12 +61,9 @@ fi; \ cd ${WRKSRC}/langpack-$$lang@firefox.mozilla.org/; \ ${FIND} -H -s * ! -type d | \ - ${SED} -e "s|^|lib/xpi/langpack-$$lang@firefox.mozilla.org/|" >> ${PLISTF} && \ - ${FIND} -d * -type d | \ - ${SED} -e "s|^|@dirrm lib/xpi/langpack-$$lang@firefox.mozilla.org/|" >> ${PLISTD}; \ + ${SED} -e "s|^|lib/xpi/langpack-$$lang@firefox.mozilla.org/|" >> ${PLISTF}; \ done ${CAT} ${PLISTF} | ${SORT} >> ${PLIST} - ${CAT} ${PLISTD} | ${SORT} -r >> ${PLIST} do-install: @${MKDIR} ${STAGEDIR}${XPI_LIBDIR} ${STAGEDIR}${XPI_SLDIRS_ALL} Modified: trunk/www/firefox-i18n/Makefile ============================================================================== --- trunk/www/firefox-i18n/Makefile Sun Sep 21 13:10:40 2014 (r1701) +++ trunk/www/firefox-i18n/Makefile Tue Sep 23 06:48:59 2014 (r1702) @@ -25,7 +25,6 @@ XPI_DISTNAMES= ${FIREFOX_I18N_} PLIST?= ${WRKDIR}/plist -PLISTD?= ${WRKDIR}/plist_dirs PLISTF?= ${WRKDIR}/plist_files .include "${.CURDIR}/Makefile.option" @@ -60,12 +59,9 @@ fi; \ cd ${WRKSRC}/langpack-$$lang@firefox.mozilla.org/; \ ${FIND} -H -s * ! -type d | \ - ${SED} -e "s|^|lib/xpi/langpack-$$lang@firefox.mozilla.org/|" >> ${PLISTF} && \ - ${FIND} -d * -type d | \ - ${SED} -e "s|^|@dirrm lib/xpi/langpack-$$lang@firefox.mozilla.org/|" >> ${PLISTD}; \ + ${SED} -e "s|^|lib/xpi/langpack-$$lang@firefox.mozilla.org/|" >> ${PLISTF}; \ done ${CAT} ${PLISTF} | ${SORT} >> ${PLIST} - ${CAT} ${PLISTD} | ${SORT} -r >> ${PLIST} do-install: @${MKDIR} ${STAGEDIR}${XPI_LIBDIR} ${STAGEDIR}${XPI_SLDIRS_ALL} Modified: trunk/www/libxul/Makefile ============================================================================== --- trunk/www/libxul/Makefile Sun Sep 21 13:10:40 2014 (r1701) +++ trunk/www/libxul/Makefile Tue Sep 23 06:48:59 2014 (r1702) @@ -53,7 +53,6 @@ MOZILLA_EXEC_NAME=xulrunner USE_MOZILLA= # empty MOZILLA_PLIST_DIRS= bin include lib share/idl libdata -PLIST_DIRSTRY= share/idl MOZ_PKGCONFIG_FILES= libxul-embedding libxul mozilla-js \ mozilla-plugin Modified: trunk/www/linux-c6-freshplayerplugin/Makefile ============================================================================== --- trunk/www/linux-c6-freshplayerplugin/Makefile Sun Sep 21 13:10:40 2014 (r1701) +++ trunk/www/linux-c6-freshplayerplugin/Makefile Tue Sep 23 06:48:59 2014 (r1702) @@ -26,7 +26,6 @@ WEBPLUGIN_FILES=libfreshwrapper-pepperflash.so PLIST_FILES= %%WEBPLUGIN_DIR%%/libfreshwrapper-pepperflash.so \ ${EXTRA_LIBS:S,^,${LINUXBASE},} -PLIST_DIRSTRY= lib/browser_plugins EXTRA_LIBS= /usr/lib/libconfig.so.8 \ /usr/lib/libevent-2.0.so.5 \ /usr/lib/libevent_pthreads-2.0.so.5 \ Modified: trunk/www/linux-firefox/pkg-plist ============================================================================== --- trunk/www/linux-firefox/pkg-plist Sun Sep 21 13:10:40 2014 (r1701) +++ trunk/www/linux-firefox/pkg-plist Tue Sep 23 06:48:59 2014 (r1702) @@ -72,21 +72,3 @@ lib/%%APP_NAME%%/webapprt/webapprt.ini @exec /bin/cp -R %%LOCALBASE%%/lib/xpi/symlinks/%%APP_NAME%%/ %D/lib/%%APP_NAME%%/browser/extensions/ 2>/dev/null || true @unexec /usr/bin/find %D/lib/%%APP_NAME%%/browser/extensions/ -depth 1 -type l -delete 2>/dev/null || true -@dirrm lib/%%APP_NAME%%/browser/chrome/icons/default -@dirrm lib/%%APP_NAME%%/browser/chrome/icons -@dirrm lib/%%APP_NAME%%/browser/chrome -@dirrm lib/%%APP_NAME%%/browser/components -@dirrm lib/%%APP_NAME%%/browser/defaults/preferences -@dirrm lib/%%APP_NAME%%/browser/defaults -@dirrm lib/%%APP_NAME%%/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd} -@dirrm lib/%%APP_NAME%%/browser/extensions -@dirrm lib/%%APP_NAME%%/browser/icons -@dirrm lib/%%APP_NAME%%/browser/searchplugins -@dirrm lib/%%APP_NAME%%/browser -@dirrm lib/%%APP_NAME%%/components -@dirrm lib/%%APP_NAME%%/defaults/pref -@dirrm lib/%%APP_NAME%%/defaults -@dirrm lib/%%APP_NAME%%/dictionaries -@dirrm lib/%%APP_NAME%%/icons -@dirrm lib/%%APP_NAME%%/webapprt -@dirrm lib/%%APP_NAME%% Modified: trunk/www/linux-seamonkey/Makefile.common ============================================================================== --- trunk/www/linux-seamonkey/Makefile.common Sun Sep 21 13:10:40 2014 (r1701) +++ trunk/www/linux-seamonkey/Makefile.common Tue Sep 23 06:48:59 2014 (r1702) @@ -59,7 +59,6 @@ .if !target(post-extract) post-extract: @${RM} -rf ${WRKSRC}/updates - @${MKDIR} ${WRKSRC}/${APP_SUBDIR}extensions @${LN} -sf ${LOCALBASE}/lib/browser_plugins/symlinks/${APP_NAME} \ ${WRKSRC}/${APP_SUBDIR}plugins . if defined(WANT_GTK218) @@ -123,8 +122,6 @@ %D/lib/%%APP_NAME%%/${APP_SUBDIR}extensions/ ${_Q}' >> ${PLIST} ${ECHO_CMD} '@unexec ${FIND} %D/lib/%%APP_NAME%%/${APP_SUBDIR}extensions/ \ -depth 1 -type l -delete ${_Q}' >> ${PLIST} - cd ${WRKSRC} && ${FIND} -sd . -type d | \ - ${SED} -e "s#^\.#@dirrm lib/%%APP_NAME%%#" >> ${PLIST} .if defined(WANT_GTK218) . for f in ${GTK218_FILES} ${REINPLACE_CMD} -i '' '/${f:T}/s/^/%%GTK218%%/' ${PLIST} Modified: trunk/www/linux-seamonkey/pkg-plist ============================================================================== --- trunk/www/linux-seamonkey/pkg-plist Sun Sep 21 13:10:40 2014 (r1701) +++ trunk/www/linux-seamonkey/pkg-plist Tue Sep 23 06:48:59 2014 (r1702) @@ -126,19 +126,3 @@ 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: trunk/www/linux-tor-browser/pkg-plist ============================================================================== --- trunk/www/linux-tor-browser/pkg-plist Sun Sep 21 13:10:40 2014 (r1701) +++ trunk/www/linux-tor-browser/pkg-plist Tue Sep 23 06:48:59 2014 (r1702) @@ -1512,201 +1512,3 @@ lib/linux-tor-browser/Browser/webapprt/omni.ja lib/linux-tor-browser/Browser/webapprt/webapprt.ini lib/linux-tor-browser/start-tor-browser -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Docs/FlashProxy -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Docs/Licenses/PluggableTransports -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Docs/Licenses -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Docs/Obfsproxy -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Docs/fteproxy -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Docs/libfte -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Docs/meek -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Docs/sources -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Docs -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/Caches -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/content/code -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/content/rules -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/content -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/ar -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/bg -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/cs -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/da -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/de -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/el -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/en -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/es -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/eu -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/fa -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/fi -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/fr -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/he -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/hr -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/hu -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/it -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/ja -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/ko -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/lt -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/lv -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/ms -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/nb -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/nl -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/pl -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/pt -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/ru -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/si -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/sk -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/sl -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/sv -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/tr -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/zh-CN -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale/zh-TW -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/locale -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome/skin -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/chrome -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/components -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/defaults/preferences -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org/defaults -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions/https-everywhere@eff.org -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/extensions -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default/preferences -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.default -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.meek-http-helper/extensions -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser/profile.meek-http-helper -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Browser -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel/Tor -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Skel -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/Crypto/Cipher -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/Crypto/Hash -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/Crypto/Protocol -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/Crypto/PublicKey -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/Crypto/Random/Fortuna -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/Crypto/Random/OSRNG -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/Crypto/Random -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/Crypto/SelfTest/Cipher -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/Crypto/SelfTest/Hash -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/Crypto/SelfTest/Protocol -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/Crypto/SelfTest/PublicKey -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/Crypto/SelfTest/Random/Fortuna -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/Crypto/SelfTest/Random/OSRNG -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/Crypto/SelfTest/Random -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/Crypto/SelfTest/Signature -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/Crypto/SelfTest/Util -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/Crypto/SelfTest -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/Crypto/Signature -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/Crypto/Util -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/Crypto -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/M2Crypto/PGP -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/M2Crypto/SSL -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/M2Crypto -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/flashproxy -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/fte/tests/dfas -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/fte/tests -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/fte -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/fteproxy/defs -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/fteproxy/tests -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/fteproxy -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/obfsproxy/common -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/obfsproxy/managed -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/obfsproxy/network -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/obfsproxy/test/transports -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/obfsproxy/test -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/obfsproxy/transports/scramblesuit -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/obfsproxy/transports -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/obfsproxy -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/ometa/_generated -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/ometa/test -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/ometa -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/pyptlib/util -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/pyptlib -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/terml/_generated -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/terml/test -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/terml -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/application/test -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/application -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/conch/client -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/conch/insults -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/conch/openssh_compat -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/conch/scripts -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/conch/ssh -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/conch/test -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/conch/ui -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/conch -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/cred -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/enterprise -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/internet/iocpreactor/iocpsupport -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/internet/iocpreactor -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/internet/test -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/internet -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/lore/scripts -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/lore/test -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/lore -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/mail/scripts -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/mail/test -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/mail -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/manhole/test -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/manhole/ui/test -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/manhole/ui -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/manhole -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/names/test -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/names -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/news/test -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/news -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/pair/test -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/pair -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/persisted/test -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/persisted -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/plugins -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/protocols/gps -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/protocols/mice -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/protocols/test -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/protocols -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/python/test -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/python -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/runner/test -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/runner -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/scripts/test -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/scripts -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/spread/ui -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/spread -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/tap -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/test -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/trial/_dist/test -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/trial/_dist -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/trial/test -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/trial -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/web/_auth -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/web/test -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/web -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/words/im -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/words/protocols/jabber -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/words/protocols -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/words/test -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/words/xish -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted/words -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/twisted -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/txsocksx/test -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/txsocksx -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/yaml -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/zope/interface/common/tests -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/zope/interface/common -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/zope/interface/tests -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/zope/interface -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports/zope -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor/PluggableTransports -@dirrm lib/linux-tor-browser/Browser/TorBrowser/Tor -@dirrm lib/linux-tor-browser/Browser/TorBrowser -@dirrm lib/linux-tor-browser/Browser/browser/chrome/icons/default -@dirrm lib/linux-tor-browser/Browser/browser/chrome/icons -@dirrm lib/linux-tor-browser/Browser/browser/chrome -@dirrm lib/linux-tor-browser/Browser/browser/components -@dirrm lib/linux-tor-browser/Browser/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd} -@dirrm lib/linux-tor-browser/Browser/browser/extensions -@dirrm lib/linux-tor-browser/Browser/browser/icons -@dirrm lib/linux-tor-browser/Browser/browser/searchplugins -@dirrm lib/linux-tor-browser/Browser/browser -@dirrm lib/linux-tor-browser/Browser/components -@dirrm lib/linux-tor-browser/Browser/defaults/pref -@dirrm lib/linux-tor-browser/Browser/defaults -@dirrm lib/linux-tor-browser/Browser/dictionaries -@dirrm lib/linux-tor-browser/Browser/icons -@dirrm lib/linux-tor-browser/Browser/webapprt -@dirrm lib/linux-tor-browser/Browser -@dirrm lib/linux-tor-browser Modified: trunk/www/seamonkey-i18n/Makefile ============================================================================== --- trunk/www/seamonkey-i18n/Makefile Sun Sep 21 13:10:40 2014 (r1701) +++ trunk/www/seamonkey-i18n/Makefile Tue Sep 23 06:48:59 2014 (r1702) @@ -26,7 +26,6 @@ XPI_DISTNAMES= ${SEAMONKEY_I18N_} PLIST?= ${WRKDIR}/plist -PLISTD?= ${WRKDIR}/plist_dirs PLISTF?= ${WRKDIR}/plist_files .include "${.CURDIR}/Makefile.option" @@ -58,12 +57,9 @@ 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: trunk/www/xpi-adblock/Makefile.xpi ============================================================================== --- trunk/www/xpi-adblock/Makefile.xpi Sun Sep 21 13:10:40 2014 (r1701) +++ trunk/www/xpi-adblock/Makefile.xpi Tue Sep 23 06:48:59 2014 (r1702) @@ -7,8 +7,6 @@ # PLIST_FILES. XPI_FILES can be generated by xpi-gen, but be # sure to put chrome.manifest in ${FILESDIR} before that if you # need it. -# XPI_DIRS - List of directories in xpi archive. This is used to produce -# PLIST_DIRS. # XPI_DISTNAME - The name of distribution # Default: ${PORTNAME} # PORTNAME, PORTVERSION, DISTVERSIONSUFFIX, CATEGORIES, MAINTAINER, COMMENT @@ -143,9 +141,6 @@ .ifndef XPI_DISTNAMES XPI_XPIDIR?= ${XPI_LIBDIR}/${XPI_ID} .endif -XPI_DIRS_TRY= ${XPI_SLDIRS_ALL:S,^${PREFIX}/,,} \ - ${XPI_SLDIR:S,^${PREFIX}/,,} \ - ${XPI_LIBDIR:S,^${PREFIX}/,,} PLIST_SUB+= XPI_LIBDIR="${XPI_LIBDIR:S,^${PREFIX}/,,}" \ XPI_XPIDIR="${XPI_XPIDIR:S,^${PREFIX}/,,}" @@ -155,13 +150,11 @@ _A= >> ${TMPPLIST} _Q= 2>/dev/null || true PLIST_FILES+= ${XPI_FILES:S!^!${_TD}/!} -PLIST_DIRS+= ${XPI_DIRS:S!^!${_TD}/!} ${_TD} .for dist in ${XPI_DISTNAMES} XPI_XPIDIR_${dist}= ${XPI_LIBDIR}/${XPI_ID_${dist}} _TD_${dist}= ${XPI_XPIDIR_${dist}:S,^${PREFIX}/,,} PLIST_FILES+= ${XPI_FILES_${dist}:S!^!${_TD_${dist}}/!} -PLIST_DIRS+= ${XPI_DIRS_${dist}:S!^!${_TD_${dist}}/!} ${_TD_${dist}} .endfor .if !target(do-install) @@ -174,7 +167,6 @@ @${ECHO_CMD} '@exec ${INSTALL} -d ${XPI_SLDIRS_ALL:S,^${STAGEDIR}${PREFIX},%D,}' ${_A} @${ECHO_CMD} '@exec for _dir in ${XPI_LINKFARMS} ; { ${LN} -sf ${_TD_FULL} $$_dir/ ${_Q}; }' ${_A} @${ECHO_CMD} '@unexec for _dir in ${XPI_LINKFARMS} ; { ${RM} -f $$_dir/${XPI_ID} ; }' ${_A} - @for _dir in ${XPI_DIRS_TRY} ; { ${ECHO_CMD} "@unexec rmdir %D/$$_dir ${_Q}" ${_A} ; } .endif .if !target(relink) @@ -206,7 +198,6 @@ @if [ -d ${FILESDIR} -a -f ${FILESDIR}/chrome.manifest ] ; \ then ${ECHO_CMD} chrome.manifest ; fi @${ECHO_CMD} - @${ECHO_CMD} -n 'XPI_DIRS=' @cd ${WRKSRC} && ${FIND} -ds . -not -name . -type d | cut -f2- -d/ | ${TR} '\n' ' ' @${ECHO_CMD} @@ -214,8 +205,6 @@ @${FIND} -s ${WRKSRC} -not -type d | ${SED} -e "s,^${WRKSRC},%%XPI_XPIDIR%%," > ${PLIST} @if [ -d ${FILESDIR} -a -f ${FILESDIR}/chrome.manifest ] ; \ then ${ECHO_CMD} %%XPI_XPIDIR%%/chrome.manifest >> ${PLIST} ; fi - @${FIND} -ds ${WRKSRC} -type d -not -name ${DISTNAME} | \ - ${SED} -e "s,^${WRKSRC},@dirrm %%XPI_XPIDIR%%," >> ${PLIST} xpi-pre-chrome: @${CHMOD} g+w ${_TD_FULL} From owner-freebsd-gecko@FreeBSD.ORG Tue Sep 23 07:05:33 2014 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6D689CDB for ; Tue, 23 Sep 2014 07:05:33 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (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 53341901 for ; Tue, 23 Sep 2014 07:05:33 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id s8N75X9c098303 for ; Tue, 23 Sep 2014 07:05:33 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: gecko@FreeBSD.org Subject: [Bug 193859] New: mail/linux-thunderbird, www/linux-firefox, www/linux-seamonkey: runtime is broken after r368845 Date: Tue, 23 Sep 2014 07:05:32 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports Tree X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: patch, regression X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: jbeich@vfemail.net X-Bugzilla-Status: Needs Triage X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: xmj@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform bug_file_loc op_sys bug_status keywords bug_severity priority component assigned_to reporter cc attachments.created Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2014 07:05:33 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193859 Bug ID: 193859 Summary: mail/linux-thunderbird, www/linux-firefox, www/linux-seamonkey: runtime is broken after r368845 Product: Ports Tree Version: Latest Hardware: Any URL: https://lists.freebsd.org/pipermail/svn-ports-head/201 4-September/073474.html OS: Any Status: Needs Triage Keywords: patch, regression Severity: Affects Only Me Priority: --- Component: Individual Port(s) Assignee: xmj@FreeBSD.org Reporter: jbeich@vfemail.net CC: gecko@FreeBSD.org Created attachment 147585 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=147585&action=edit partially revert r368845 r368845 broke the logic to use f12 gtk2 libs for USE_LINUX=f10 before USE_LINUX=c6 became the default. And even for OVERRIDE_LINUX_NONBASE_PORTS=f10 the workaround is now applied unconditionally and contains unknown make(1) keyword |.def|. See URL field for error example. --- Comment #1 from Bugzilla Automation --- Maintainers CC'd -- You are receiving this mail because: You are on the CC list for the bug. From owner-freebsd-gecko@FreeBSD.ORG Tue Sep 23 14:22:21 2014 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DE48A521 for ; Tue, 23 Sep 2014 14:22:21 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (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 C4BFC605 for ; Tue, 23 Sep 2014 14:22:21 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id s8NEMLhN078176 for ; Tue, 23 Sep 2014 14:22:21 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: gecko@FreeBSD.org Subject: [Bug 193859] mail/linux-thunderbird, www/linux-firefox, www/linux-seamonkey: runtime is broken after r368845 Date: Tue, 23 Sep 2014 14:22:21 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports Tree X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: patch, regression X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: jbeich@vfemail.net X-Bugzilla-Status: Needs Triage X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: xmj@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2014 14:22:22 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193859 --- Comment #2 from Jan Beich --- WANT_GTK218 affects plist, not sure if PORTREVISION should be bumped. Probably yes as c6 landing obsoleted a few f10 packages on which gecko linux ports depend triggering a rebuild e.g., linux-f10-nspr, linux-f10-dbus-{glib,libs}. -- You are receiving this mail because: You are on the CC list for the bug. From owner-freebsd-gecko@FreeBSD.ORG Tue Sep 23 14:58:38 2014 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B1A5F3D8 for ; Tue, 23 Sep 2014 14:58:38 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (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 981B79E2 for ; Tue, 23 Sep 2014 14:58:38 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id s8NEwc6w068198 for ; Tue, 23 Sep 2014 14:58:38 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: gecko@FreeBSD.org Subject: [Bug 193859] mail/linux-thunderbird, www/linux-firefox, www/linux-seamonkey: runtime is broken after r368845 Date: Tue, 23 Sep 2014 14:58:38 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports Tree X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: patch, regression X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: xmj@FreeBSD.org X-Bugzilla-Status: Needs Triage X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: xmj@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2014 14:58:38 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193859 --- Comment #3 from Johannes Jost Meixner --- (In reply to Jan Beich from comment #2) > WANT_GTK218 affects plist, not sure if PORTREVISION should be bumped. > Probably yes as c6 landing obsoleted a few f10 packages on which gecko linux > ports depend triggering a rebuild e.g., linux-f10-nspr, > linux-f10-dbus-{glib,libs}. Until c6 is made default, those f10 packages aren't deprecated. As long as I can land https://reviews.freebsd.org/D819 I'm not sure PORTREVISION bumps are necessary due to its a) current brokenness and b) package rebuilds on wednesdays. -- You are receiving this mail because: You are on the CC list for the bug. From owner-freebsd-gecko@FreeBSD.ORG Wed Sep 24 04:07:54 2014 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8F8A8593 for ; Wed, 24 Sep 2014 04:07:54 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (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 75DCF879 for ; Wed, 24 Sep 2014 04:07:54 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id s8O47smZ061580 for ; Wed, 24 Sep 2014 04:07:54 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: gecko@FreeBSD.org Subject: [Bug 193859] mail/linux-thunderbird, www/linux-firefox, www/linux-seamonkey: runtime is broken after r368845 Date: Wed, 24 Sep 2014 04:07:54 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports Tree X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: patch, regression X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: commit-hook@freebsd.org X-Bugzilla-Status: Needs Triage X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: xmj@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2014 04:07:54 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193859 --- Comment #4 from commit-hook@freebsd.org --- A commit references this bug: Author: xmj Date: Wed Sep 24 04:07:08 UTC 2014 New revision: 369157 URL: http://svnweb.freebsd.org/changeset/ports/369157 Log: Revert breaking Linux Mozilla suite with -f10 Revert a regression introduced in r368845 that causes Linux Mozilla suite not to work until CentOS 6.5 is default. PR: 193859 Differential Revision: https://reviews.freebsd.org/D819 Submitted by: Jan Beich Approved by: swills (mentor) Changes: head/www/linux-seamonkey/Makefile.common -- You are receiving this mail because: You are on the CC list for the bug. From owner-freebsd-gecko@FreeBSD.ORG Wed Sep 24 04:17:34 2014 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4C2C881E for ; Wed, 24 Sep 2014 04:17:34 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (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 32696944 for ; Wed, 24 Sep 2014 04:17:34 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id s8O4HYJi099028 for ; Wed, 24 Sep 2014 04:17:34 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: gecko@FreeBSD.org Subject: [Bug 193859] mail/linux-thunderbird, www/linux-firefox, www/linux-seamonkey: runtime is broken after r368845 Date: Wed, 24 Sep 2014 04:17:34 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports Tree X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: patch, regression X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: xmj@FreeBSD.org X-Bugzilla-Status: Issue Resolved X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: xmj@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_status resolution Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2014 04:17:34 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193859 Johannes Jost Meixner changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Needs Triage |Issue Resolved Resolution|--- |FIXED -- You are receiving this mail because: You are on the CC list for the bug. From owner-freebsd-gecko@FreeBSD.ORG Wed Sep 24 15:27:56 2014 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B103257C for ; Wed, 24 Sep 2014 15:27:56 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.244.247]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 97065D00 for ; Wed, 24 Sep 2014 15:27:55 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian [217.150.244.247]) by trillian.chruetertee.ch (8.14.4/8.14.3) with ESMTP id s8OFRj9t085449 for ; Wed, 24 Sep 2014 15:27:45 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.4/8.14.3/Submit) id s8OFRdDZ073858 for freebsd-gecko@freebsd.org; Wed, 24 Sep 2014 15:27:39 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Wed, 24 Sep 2014 15:27:39 GMT Message-Id: <201409241527.s8OFRdDZ073858@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org Subject: [SVN-Commit] r1703 - branches/firefox32/mail/linux-thunderbird branches/firefox32/mail/thunderbird branches/firefox32/mail/thunderbird-i18n branches/firefox32/security/nss branches/firefox32/www/firefox branches/firefox32/www/firefox-esr branches/firefox32/www/firefox-esr-i18n branches/firefox32/www/firefox-nightly branches/firefox32/www/firefox-nightly/files branches/firefox32/www/libxul branches/firefox32/www/linux-firefox branches/firefox32/www/linux-seamonkey branches/firefox32/www/seamonkey branches/firefox32/www/seamonkey-i18n trunk/mail/linux-thunderbird trunk/mail/thunderbird trunk/mail/thunderbird-i18n trunk/security/nss trunk/www/firefox trunk/www/firefox-esr trunk/www/firefox-esr-i18n trunk/www/firefox-i18n trunk/www/firefox-nightly trunk/www/firefox-nightly/files trunk/www/libxul trunk/www/linux-firefox trunk/www/linux-seamonkey trunk/www/seamonkey trunk/www/seamonkey-i18n MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reply-To: freebsd-gecko@freebsd.org X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2014 15:27:56 -0000 Author: jbeich Date: Wed Sep 24 15:27:39 2014 New Revision: 1703 Log: update Added: branches/firefox32/www/firefox-nightly/files/patch-bug1063726 trunk/www/firefox-nightly/files/patch-bug1063726 Modified: branches/firefox32/mail/linux-thunderbird/Makefile branches/firefox32/mail/linux-thunderbird/distinfo branches/firefox32/mail/thunderbird-i18n/Makefile branches/firefox32/mail/thunderbird-i18n/distinfo branches/firefox32/mail/thunderbird/Makefile branches/firefox32/mail/thunderbird/distinfo branches/firefox32/security/nss/Makefile branches/firefox32/security/nss/distinfo branches/firefox32/www/firefox-esr-i18n/Makefile branches/firefox32/www/firefox-esr-i18n/distinfo branches/firefox32/www/firefox-esr/Makefile branches/firefox32/www/firefox-esr/distinfo branches/firefox32/www/firefox-nightly/Makefile branches/firefox32/www/firefox-nightly/Makefile.hgrev branches/firefox32/www/firefox-nightly/distinfo branches/firefox32/www/firefox/Makefile branches/firefox32/www/firefox/distinfo branches/firefox32/www/libxul/Makefile branches/firefox32/www/libxul/distinfo branches/firefox32/www/linux-firefox/Makefile branches/firefox32/www/linux-firefox/distinfo branches/firefox32/www/linux-seamonkey/Makefile branches/firefox32/www/linux-seamonkey/distinfo branches/firefox32/www/seamonkey-i18n/Makefile branches/firefox32/www/seamonkey-i18n/distinfo branches/firefox32/www/seamonkey/Makefile branches/firefox32/www/seamonkey/distinfo trunk/mail/linux-thunderbird/Makefile trunk/mail/linux-thunderbird/distinfo trunk/mail/thunderbird-i18n/Makefile trunk/mail/thunderbird-i18n/distinfo trunk/mail/thunderbird/Makefile trunk/mail/thunderbird/distinfo trunk/security/nss/Makefile trunk/security/nss/distinfo trunk/www/firefox-esr-i18n/Makefile trunk/www/firefox-esr-i18n/distinfo trunk/www/firefox-esr/Makefile trunk/www/firefox-esr/distinfo trunk/www/firefox-i18n/Makefile trunk/www/firefox-i18n/distinfo trunk/www/firefox-nightly/Makefile trunk/www/firefox-nightly/Makefile.hgrev trunk/www/firefox-nightly/distinfo trunk/www/firefox/Makefile trunk/www/firefox/distinfo trunk/www/libxul/Makefile trunk/www/libxul/distinfo trunk/www/linux-firefox/Makefile trunk/www/linux-firefox/distinfo trunk/www/linux-seamonkey/Makefile trunk/www/linux-seamonkey/distinfo trunk/www/seamonkey-i18n/Makefile trunk/www/seamonkey-i18n/distinfo trunk/www/seamonkey/Makefile trunk/www/seamonkey/distinfo Modified: branches/firefox32/mail/linux-thunderbird/Makefile ============================================================================== --- branches/firefox32/mail/linux-thunderbird/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/mail/linux-thunderbird/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,7 +2,7 @@ # $FreeBSD: head/mail/linux-thunderbird/Makefile 367712 2014-09-09 06:16:35Z bapt $ PORTNAME= thunderbird -DISTVERSION= 31.1.0 +DISTVERSION= 31.1.2 CATEGORIES= mail news net-im ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/linux-i686/en-US Modified: branches/firefox32/mail/linux-thunderbird/distinfo ============================================================================== --- branches/firefox32/mail/linux-thunderbird/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/mail/linux-thunderbird/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,5 +1,5 @@ -SHA256 (thunderbird-31.1.0.tar.bz2) = 234a6e0909880e7114e119e3fec34459652b43b51b307ae1f6e1a14d5f0dbdfc -SIZE (thunderbird-31.1.0.tar.bz2) = 33438760 +SHA256 (thunderbird-31.1.2.tar.bz2) = 9209fa7bdada6245717dbfaf517d68cef04719812504bc0c988def6adc7baab5 +SIZE (thunderbird-31.1.2.tar.bz2) = 33552961 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/firefox32/mail/thunderbird-i18n/Makefile ============================================================================== --- branches/firefox32/mail/thunderbird-i18n/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/mail/thunderbird-i18n/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,7 +2,7 @@ # $FreeBSD: head/mail/thunderbird-i18n/Makefile 368047 2014-09-12 17:06:09Z mandree $ PORTNAME= thunderbird-i18n -PORTVERSION= 31.1.1 +PORTVERSION= 31.1.2 CATEGORIES= mail news net-im MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}/linux-i686/xpi PKGNAMEPREFIX= Modified: branches/firefox32/mail/thunderbird-i18n/distinfo ============================================================================== --- branches/firefox32/mail/thunderbird-i18n/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/mail/thunderbird-i18n/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,110 +1,110 @@ -SHA256 (xpi/thunderbird-i18n-31.1.1/ar.xpi) = 45ac5d25d21c0a957af905d0e147a72e752285672a20c068c304d222a1cd21f5 -SIZE (xpi/thunderbird-i18n-31.1.1/ar.xpi) = 472811 -SHA256 (xpi/thunderbird-i18n-31.1.1/ast.xpi) = 021b71d1691b6e4eafe0ec3940791f7bdb42254a5285c8291a3375f38a7d41d6 -SIZE (xpi/thunderbird-i18n-31.1.1/ast.xpi) = 393048 -SHA256 (xpi/thunderbird-i18n-31.1.1/be.xpi) = a171947b8f3ed2e5f445b404c0077ebf9d20949917177a0096d1042fa490e3c5 -SIZE (xpi/thunderbird-i18n-31.1.1/be.xpi) = 427487 -SHA256 (xpi/thunderbird-i18n-31.1.1/bg.xpi) = cf1f8e7de6895e2b329ddb3efb591348e210365b335a2aba1e117c1a5530bed2 -SIZE (xpi/thunderbird-i18n-31.1.1/bg.xpi) = 493733 -SHA256 (xpi/thunderbird-i18n-31.1.1/bn-BD.xpi) = 2ac922d71f6f3709638b5a62f598b79326818155793a2c3448809cbfe6c88e9f -SIZE (xpi/thunderbird-i18n-31.1.1/bn-BD.xpi) = 555612 -SHA256 (xpi/thunderbird-i18n-31.1.1/br.xpi) = 8b39b65d08ad6dcf72b4d8d5b549ac124d9fbd3e481479ff79b54207d8de6419 -SIZE (xpi/thunderbird-i18n-31.1.1/br.xpi) = 441444 -SHA256 (xpi/thunderbird-i18n-31.1.1/ca.xpi) = 17342e8bfe1c2e9306c241ac6a844faa1c44e7f5891eaceaf9fb30b41762d505 -SIZE (xpi/thunderbird-i18n-31.1.1/ca.xpi) = 441713 -SHA256 (xpi/thunderbird-i18n-31.1.1/cs.xpi) = 3362c2102c9cf3ecb384f4bb5baab2030076b2e0101b45203c1db77b04364ff9 -SIZE (xpi/thunderbird-i18n-31.1.1/cs.xpi) = 444700 -SHA256 (xpi/thunderbird-i18n-31.1.1/da.xpi) = cfb30270b974b2b3c09180734160d2ac6612a5316f68b8191d3eecffcf2ce4b2 -SIZE (xpi/thunderbird-i18n-31.1.1/da.xpi) = 422050 -SHA256 (xpi/thunderbird-i18n-31.1.1/de.xpi) = 1783aa0170515893f15f196be3c98fa3b1b60b3b0affd958459a63bde60df6c8 -SIZE (xpi/thunderbird-i18n-31.1.1/de.xpi) = 424664 -SHA256 (xpi/thunderbird-i18n-31.1.1/el.xpi) = 99dd898371f275f1d252c517793298e37bb0d02329a134243fb2d46bdeed283b -SIZE (xpi/thunderbird-i18n-31.1.1/el.xpi) = 484854 -SHA256 (xpi/thunderbird-i18n-31.1.1/en-GB.xpi) = ad94067e3ea59e3e5aac7a48caad77e7518b2756cd3b50426db9f14ea0debfa6 -SIZE (xpi/thunderbird-i18n-31.1.1/en-GB.xpi) = 412513 -SHA256 (xpi/thunderbird-i18n-31.1.1/en-US.xpi) = 53d193f702698ac79937281f284f278ac92b6b83abc76b3e90a3341036f45d55 -SIZE (xpi/thunderbird-i18n-31.1.1/en-US.xpi) = 413659 -SHA256 (xpi/thunderbird-i18n-31.1.1/es-AR.xpi) = 4c0c242696e9b72070a4657375682b0b60d3673688a2393a01228ca74816f3f5 -SIZE (xpi/thunderbird-i18n-31.1.1/es-AR.xpi) = 438530 -SHA256 (xpi/thunderbird-i18n-31.1.1/es-ES.xpi) = 2b771ed5197982e61cc591acca4984f840352bcff7cfdeebf42f594c8aa592ff -SIZE (xpi/thunderbird-i18n-31.1.1/es-ES.xpi) = 374978 -SHA256 (xpi/thunderbird-i18n-31.1.1/et.xpi) = a4b604ec8134d723d722043697a34d3a4d055864daf083fb0f143347866d3276 -SIZE (xpi/thunderbird-i18n-31.1.1/et.xpi) = 434363 -SHA256 (xpi/thunderbird-i18n-31.1.1/eu.xpi) = b35314a636494fff93129ff64ae0c5f38928085a57cab7d60e4b942c73ef736b -SIZE (xpi/thunderbird-i18n-31.1.1/eu.xpi) = 431447 -SHA256 (xpi/thunderbird-i18n-31.1.1/fi.xpi) = 88e1248c99ab3672c27d9ac80cbba4cdb281ef8ff729ee264f07868e45625dad -SIZE (xpi/thunderbird-i18n-31.1.1/fi.xpi) = 435631 -SHA256 (xpi/thunderbird-i18n-31.1.1/fr.xpi) = 8fe47b32f4b0090a14e18468f933a2284ef27ab9ce8eda6bf1c1263d74271a53 -SIZE (xpi/thunderbird-i18n-31.1.1/fr.xpi) = 444143 -SHA256 (xpi/thunderbird-i18n-31.1.1/fy-NL.xpi) = 5957b065f85e1e9d921fbd791ce195c70e43ab66926b9475282a266ed59331fa -SIZE (xpi/thunderbird-i18n-31.1.1/fy-NL.xpi) = 438543 -SHA256 (xpi/thunderbird-i18n-31.1.1/ga-IE.xpi) = 90903a232a797053004651fa40830732d20dcca83fb1fe3e7ba2961f9df1c15e -SIZE (xpi/thunderbird-i18n-31.1.1/ga-IE.xpi) = 449360 -SHA256 (xpi/thunderbird-i18n-31.1.1/gd.xpi) = 9198aff1e5f04f43215c880b6b2e691c927fee054afe9be6369034d60c330f55 -SIZE (xpi/thunderbird-i18n-31.1.1/gd.xpi) = 453170 -SHA256 (xpi/thunderbird-i18n-31.1.1/gl.xpi) = bc44423acf05d855560f083ab97cd5dbb990f21f03c7837060336fa1c8e892fc -SIZE (xpi/thunderbird-i18n-31.1.1/gl.xpi) = 446787 -SHA256 (xpi/thunderbird-i18n-31.1.1/he.xpi) = 8ecb790935f4cd54e12a981f5639bde4749d6d49d5c5417d7755adaf63f241f8 -SIZE (xpi/thunderbird-i18n-31.1.1/he.xpi) = 476110 -SHA256 (xpi/thunderbird-i18n-31.1.1/hr.xpi) = e9ef6228d9575a5337e2258b2ebd9623e7a606cca63b28b10033e1af9450dc10 -SIZE (xpi/thunderbird-i18n-31.1.1/hr.xpi) = 436979 -SHA256 (xpi/thunderbird-i18n-31.1.1/hu.xpi) = 7860972cf67dfea862c9640230645da48677d7ee69e0340d4281b993c0047376 -SIZE (xpi/thunderbird-i18n-31.1.1/hu.xpi) = 454541 -SHA256 (xpi/thunderbird-i18n-31.1.1/hy-AM.xpi) = 4d97adfb435b3c9e7548350665b030282201133ca4f4b01dafb2d82dcd0f9c67 -SIZE (xpi/thunderbird-i18n-31.1.1/hy-AM.xpi) = 492765 -SHA256 (xpi/thunderbird-i18n-31.1.1/id.xpi) = c3e7434a29f49b0d7e8e7f1f6a8dd35ff01d12248a25d502b163dd862d495f58 -SIZE (xpi/thunderbird-i18n-31.1.1/id.xpi) = 475875 -SHA256 (xpi/thunderbird-i18n-31.1.1/is.xpi) = 10b80928e28557e07aaf044ec6bdaf465ab0d17cf27a1dd112078dd2d9430142 -SIZE (xpi/thunderbird-i18n-31.1.1/is.xpi) = 437958 -SHA256 (xpi/thunderbird-i18n-31.1.1/it.xpi) = 5064b63ac3019ee76f487703bd013b5186253926ee0516b5b2644ae6178d7a21 -SIZE (xpi/thunderbird-i18n-31.1.1/it.xpi) = 368000 -SHA256 (xpi/thunderbird-i18n-31.1.1/ja.xpi) = b67cbd4111cd5299baaf2ff17cadc78e1c32df19957617e410885e0d3a66a6a8 -SIZE (xpi/thunderbird-i18n-31.1.1/ja.xpi) = 489265 -SHA256 (xpi/thunderbird-i18n-31.1.1/ko.xpi) = 1db6c055c5466d91e29fc3950692ccd557ac7d1a05bee10337a8747dfb52152e -SIZE (xpi/thunderbird-i18n-31.1.1/ko.xpi) = 448919 -SHA256 (xpi/thunderbird-i18n-31.1.1/lt.xpi) = 481e15d77da7e9282f3045bfbf45e3753977c2f2dcfe491789e9d4d7dde50405 -SIZE (xpi/thunderbird-i18n-31.1.1/lt.xpi) = 457812 -SHA256 (xpi/thunderbird-i18n-31.1.1/nb-NO.xpi) = baa6000d30faa8c107097c0e5148b90d5c96eeb190c7d8a39c55d6323c209bc7 -SIZE (xpi/thunderbird-i18n-31.1.1/nb-NO.xpi) = 430941 -SHA256 (xpi/thunderbird-i18n-31.1.1/nl.xpi) = 0429c0f99647b2428f35eaea3fe7afefb5ed0af3e3137de321ac707f2361b425 -SIZE (xpi/thunderbird-i18n-31.1.1/nl.xpi) = 431887 -SHA256 (xpi/thunderbird-i18n-31.1.1/nn-NO.xpi) = 40b04b97892852ab986a8c8807eccba0dd393cda2908181ca69d13b2495f5ca2 -SIZE (xpi/thunderbird-i18n-31.1.1/nn-NO.xpi) = 433197 -SHA256 (xpi/thunderbird-i18n-31.1.1/pa-IN.xpi) = 190336598fa88787a1b5fb3c02689bfbeda8fb44724cf8932983f5d690905e31 -SIZE (xpi/thunderbird-i18n-31.1.1/pa-IN.xpi) = 525323 -SHA256 (xpi/thunderbird-i18n-31.1.1/pl.xpi) = abaaabcecb13c87da5c37948707a23c585a518ac0fad0415cbcd3c01a7f63684 -SIZE (xpi/thunderbird-i18n-31.1.1/pl.xpi) = 410872 -SHA256 (xpi/thunderbird-i18n-31.1.1/pt-BR.xpi) = e2f2c2252027259a63faf4af5d66d1782c3013536b8125b5f382276171ddf073 -SIZE (xpi/thunderbird-i18n-31.1.1/pt-BR.xpi) = 450476 -SHA256 (xpi/thunderbird-i18n-31.1.1/pt-PT.xpi) = f954ca61f34d726831bc56c7d41056e17103ec6f4e14deb50c7b413576ce19da -SIZE (xpi/thunderbird-i18n-31.1.1/pt-PT.xpi) = 439604 -SHA256 (xpi/thunderbird-i18n-31.1.1/rm.xpi) = 1ee8ca4636f798d265981d88fcfbebbf5e72cabcff243ec051cf5ce9d5fa9075 -SIZE (xpi/thunderbird-i18n-31.1.1/rm.xpi) = 439184 -SHA256 (xpi/thunderbird-i18n-31.1.1/ro.xpi) = b12f4eab60f7dc9ed44ffece72b481b1325fe6594f46d0723bf8c8412607d235 -SIZE (xpi/thunderbird-i18n-31.1.1/ro.xpi) = 479746 -SHA256 (xpi/thunderbird-i18n-31.1.1/ru.xpi) = 1662fb2c7961d30ca4151d083572b22f0fcf882f9f023eb9a908cba6e9e9928c -SIZE (xpi/thunderbird-i18n-31.1.1/ru.xpi) = 436155 -SHA256 (xpi/thunderbird-i18n-31.1.1/si.xpi) = 591041c12cf03fe84838c2ea2b3a26cc4d8d206b9e8a566fd19af14539697d8d -SIZE (xpi/thunderbird-i18n-31.1.1/si.xpi) = 528811 -SHA256 (xpi/thunderbird-i18n-31.1.1/sk.xpi) = 7ac2059fb064fb50223f8c6050f0d40a55c768e6da46fbae5c93a054517cb296 -SIZE (xpi/thunderbird-i18n-31.1.1/sk.xpi) = 452994 -SHA256 (xpi/thunderbird-i18n-31.1.1/sl.xpi) = 08674b608250bc80292cc3438d083a4f0108467ecab26aef4ac24146d5555027 -SIZE (xpi/thunderbird-i18n-31.1.1/sl.xpi) = 433874 -SHA256 (xpi/thunderbird-i18n-31.1.1/sq.xpi) = af2adbe89f86742892beab9bedb3616f5ac4fcda6f9b8fb90d1dfe62cbe2d896 -SIZE (xpi/thunderbird-i18n-31.1.1/sq.xpi) = 454694 -SHA256 (xpi/thunderbird-i18n-31.1.1/sr.xpi) = 7ae94982e79dba2743c94baad0e0fa0a334e176ff0ec41ea2979c909f9579802 -SIZE (xpi/thunderbird-i18n-31.1.1/sr.xpi) = 537334 -SHA256 (xpi/thunderbird-i18n-31.1.1/sv-SE.xpi) = d715f108594782433ae448e595b0f75f974d25327a8d31d960ce4f8c23219d9e -SIZE (xpi/thunderbird-i18n-31.1.1/sv-SE.xpi) = 436104 -SHA256 (xpi/thunderbird-i18n-31.1.1/ta-LK.xpi) = c8e3a0798124f15dd4e12ea10ccbed0b8df5c5ace03750c05b2a0288153ee341 -SIZE (xpi/thunderbird-i18n-31.1.1/ta-LK.xpi) = 553508 -SHA256 (xpi/thunderbird-i18n-31.1.1/tr.xpi) = ecbc30705e1e851d6e496363107077a08ef6d749bf7c2aedd4368620b5eabc03 -SIZE (xpi/thunderbird-i18n-31.1.1/tr.xpi) = 457360 -SHA256 (xpi/thunderbird-i18n-31.1.1/uk.xpi) = 270ec2a5bf47b598eb30f68f311d3edb44c76d2c2b750479e07db502379acd1a -SIZE (xpi/thunderbird-i18n-31.1.1/uk.xpi) = 499655 -SHA256 (xpi/thunderbird-i18n-31.1.1/vi.xpi) = 65e5627d594f81a52b9010e266c30603998a0147f8f68173216617944bbbe339 -SIZE (xpi/thunderbird-i18n-31.1.1/vi.xpi) = 513834 -SHA256 (xpi/thunderbird-i18n-31.1.1/zh-CN.xpi) = acebf0149f1a68b9ee37515b58cf0090a26f8e99dc942341385575c5e07e85d5 -SIZE (xpi/thunderbird-i18n-31.1.1/zh-CN.xpi) = 462667 -SHA256 (xpi/thunderbird-i18n-31.1.1/zh-TW.xpi) = 1619eb52d4a58384d2dee1f5734cc4498e3c7f7f1ad841f2068b01b7366da79f -SIZE (xpi/thunderbird-i18n-31.1.1/zh-TW.xpi) = 463407 +SHA256 (xpi/thunderbird-i18n-31.1.2/ar.xpi) = d7f7f5fa42bc7dbeeb67ea312cd1390f9daf38cf22db2d29acebcd1d3e74d1fa +SIZE (xpi/thunderbird-i18n-31.1.2/ar.xpi) = 472810 +SHA256 (xpi/thunderbird-i18n-31.1.2/ast.xpi) = 635422fbc96177f43cb01c292a3b0a06ceb3040355d00880a6ddeffb4dcfeb4a +SIZE (xpi/thunderbird-i18n-31.1.2/ast.xpi) = 393048 +SHA256 (xpi/thunderbird-i18n-31.1.2/be.xpi) = a8a48f464b3a44a5724096995431606b740af3247bb325f47a63c065f626c1d7 +SIZE (xpi/thunderbird-i18n-31.1.2/be.xpi) = 427488 +SHA256 (xpi/thunderbird-i18n-31.1.2/bg.xpi) = e5dd2c1c5a97cc90514a1d0e0852e8579e625d689964b198036a6ac6f33e446c +SIZE (xpi/thunderbird-i18n-31.1.2/bg.xpi) = 493735 +SHA256 (xpi/thunderbird-i18n-31.1.2/bn-BD.xpi) = 461fac71d5d8a3910d68740def12b2235374b39f5cfa01ab912021e295cbd3c2 +SIZE (xpi/thunderbird-i18n-31.1.2/bn-BD.xpi) = 555612 +SHA256 (xpi/thunderbird-i18n-31.1.2/br.xpi) = 3c1d248c517de97d559a85f127e6871afd1a8c245cb4999be80626a258bdbb49 +SIZE (xpi/thunderbird-i18n-31.1.2/br.xpi) = 441444 +SHA256 (xpi/thunderbird-i18n-31.1.2/ca.xpi) = fff999721e7b388880a7a9c64d73add479e2a2f9e447b8d4e506a318efde9069 +SIZE (xpi/thunderbird-i18n-31.1.2/ca.xpi) = 441712 +SHA256 (xpi/thunderbird-i18n-31.1.2/cs.xpi) = 40c16d650c2f48ea945daca989f24cc293343794c45c5cde3f7ffe1305b8f159 +SIZE (xpi/thunderbird-i18n-31.1.2/cs.xpi) = 444701 +SHA256 (xpi/thunderbird-i18n-31.1.2/da.xpi) = fdfd890e09e23004cc1ba4c0df38648cd74f1c8d9d8d336c15a2aee8f75d98fc +SIZE (xpi/thunderbird-i18n-31.1.2/da.xpi) = 422052 +SHA256 (xpi/thunderbird-i18n-31.1.2/de.xpi) = da60f2a84ca8cb6b4e15393046ae43adac368dac35327f04bf89d31e8e0f829e +SIZE (xpi/thunderbird-i18n-31.1.2/de.xpi) = 424665 +SHA256 (xpi/thunderbird-i18n-31.1.2/el.xpi) = 975fdb6134fe5436d0459eb89dc6e8ae3d8829f2b8f7b5a3387011215184cef5 +SIZE (xpi/thunderbird-i18n-31.1.2/el.xpi) = 484855 +SHA256 (xpi/thunderbird-i18n-31.1.2/en-GB.xpi) = 87ac86fac2b341286e9789c1037404588813bb858e9cd718f7de5e401ddade6e +SIZE (xpi/thunderbird-i18n-31.1.2/en-GB.xpi) = 412515 +SHA256 (xpi/thunderbird-i18n-31.1.2/en-US.xpi) = f96739de83f760ee65727e9a68ad59e13cc60d2272b6a03bc80b5153fa0a365a +SIZE (xpi/thunderbird-i18n-31.1.2/en-US.xpi) = 413660 +SHA256 (xpi/thunderbird-i18n-31.1.2/es-AR.xpi) = d50ef569c6f74ceac8d9eb128cd98c3b2bb0af4853d1bf7a26265d5f31a8d452 +SIZE (xpi/thunderbird-i18n-31.1.2/es-AR.xpi) = 438530 +SHA256 (xpi/thunderbird-i18n-31.1.2/es-ES.xpi) = 6a9ec42a0f90b1d59fb61e47e533b5c79df41e13d8452d2fba5e5a649527cffe +SIZE (xpi/thunderbird-i18n-31.1.2/es-ES.xpi) = 374979 +SHA256 (xpi/thunderbird-i18n-31.1.2/et.xpi) = 7763519e3c74f37afa026a8fe7214a2b99e9d0f86391031eaa66869e3ef74870 +SIZE (xpi/thunderbird-i18n-31.1.2/et.xpi) = 434364 +SHA256 (xpi/thunderbird-i18n-31.1.2/eu.xpi) = 233ce00a457754f2454f26e618cc01f1736671a717a96b63cc7bea3d72193172 +SIZE (xpi/thunderbird-i18n-31.1.2/eu.xpi) = 431448 +SHA256 (xpi/thunderbird-i18n-31.1.2/fi.xpi) = 833ce0403ed46f87cb2730d2a0a4f3cdaa383295f84e7beeb90d6e48b2a0ddf7 +SIZE (xpi/thunderbird-i18n-31.1.2/fi.xpi) = 435632 +SHA256 (xpi/thunderbird-i18n-31.1.2/fr.xpi) = daf99b99c3fa73679801750bfbd33ac007edc05621ad663e4e26ddfee17b5dd2 +SIZE (xpi/thunderbird-i18n-31.1.2/fr.xpi) = 444143 +SHA256 (xpi/thunderbird-i18n-31.1.2/fy-NL.xpi) = f775a2236591a18d84fcf36e5b5a5d1bb8a5864b91faa29c2b39e0bee599ff0e +SIZE (xpi/thunderbird-i18n-31.1.2/fy-NL.xpi) = 438544 +SHA256 (xpi/thunderbird-i18n-31.1.2/ga-IE.xpi) = 6eed7b3ac1e4f9ac89b138041c2a10d7fae0ef5492035397bfafe771952526db +SIZE (xpi/thunderbird-i18n-31.1.2/ga-IE.xpi) = 449361 +SHA256 (xpi/thunderbird-i18n-31.1.2/gd.xpi) = 0576fb35d74a20624581b4fe53ef916032e77e3c7bfd9a7b86fdf687a413c923 +SIZE (xpi/thunderbird-i18n-31.1.2/gd.xpi) = 453171 +SHA256 (xpi/thunderbird-i18n-31.1.2/gl.xpi) = 274c45fe7bffe038a9c846359e99847193672e7c4dcec4c47e65720a8d16e3c0 +SIZE (xpi/thunderbird-i18n-31.1.2/gl.xpi) = 446787 +SHA256 (xpi/thunderbird-i18n-31.1.2/he.xpi) = 784505dd220387ff2b569118380957882feabf61366a9cde1e794e4fc08414f7 +SIZE (xpi/thunderbird-i18n-31.1.2/he.xpi) = 476111 +SHA256 (xpi/thunderbird-i18n-31.1.2/hr.xpi) = 4908835dafeb9bef43f4fa294f254bcd64c611c40f1aa35716730f179a3af554 +SIZE (xpi/thunderbird-i18n-31.1.2/hr.xpi) = 436982 +SHA256 (xpi/thunderbird-i18n-31.1.2/hu.xpi) = 210f50f948c726744ffdfa33cdb1fd9f4434698bd6c131257984f2e2cdcc1ecc +SIZE (xpi/thunderbird-i18n-31.1.2/hu.xpi) = 454541 +SHA256 (xpi/thunderbird-i18n-31.1.2/hy-AM.xpi) = 8acd553aacfdf9f4ed66fdd50454f473146fa1762309ff48104a941e62cff995 +SIZE (xpi/thunderbird-i18n-31.1.2/hy-AM.xpi) = 492767 +SHA256 (xpi/thunderbird-i18n-31.1.2/id.xpi) = 8388260bdb9d7d715e7cfdfe21826e5d390bcb1f48d1e649d82d0142f360d42d +SIZE (xpi/thunderbird-i18n-31.1.2/id.xpi) = 475875 +SHA256 (xpi/thunderbird-i18n-31.1.2/is.xpi) = cebe06ca5e72448ffe8e5d97c61b2be3a898b1ceb9726f9a0bfa7cec714f8eb2 +SIZE (xpi/thunderbird-i18n-31.1.2/is.xpi) = 437959 +SHA256 (xpi/thunderbird-i18n-31.1.2/it.xpi) = d5bab57141fbae37f3a983ed85983d91fff71f005da1dcf89682563c92baf3f3 +SIZE (xpi/thunderbird-i18n-31.1.2/it.xpi) = 368000 +SHA256 (xpi/thunderbird-i18n-31.1.2/ja.xpi) = 06a62d4ef79c2a7006b15fae6882b7919b10843c2b93cd23decf9e4d07151555 +SIZE (xpi/thunderbird-i18n-31.1.2/ja.xpi) = 489267 +SHA256 (xpi/thunderbird-i18n-31.1.2/ko.xpi) = fb40e186e31bc836a8f18be6df4dc654b793a782f1b79f4b143ff3830781dca2 +SIZE (xpi/thunderbird-i18n-31.1.2/ko.xpi) = 448920 +SHA256 (xpi/thunderbird-i18n-31.1.2/lt.xpi) = 80dc6b4ba4fef803776e3634682cded4ae4df1a35771d30ed0c2a1f4af6a6e30 +SIZE (xpi/thunderbird-i18n-31.1.2/lt.xpi) = 457812 +SHA256 (xpi/thunderbird-i18n-31.1.2/nb-NO.xpi) = be32cfc7192a3836f48c11022ec58d28091f568f1bf2fc25e1d7667ac6222603 +SIZE (xpi/thunderbird-i18n-31.1.2/nb-NO.xpi) = 430941 +SHA256 (xpi/thunderbird-i18n-31.1.2/nl.xpi) = 0607fe516735fea3763154f63bc2212f1b76ea3cfae26f1748e7d3f05b5a1301 +SIZE (xpi/thunderbird-i18n-31.1.2/nl.xpi) = 431887 +SHA256 (xpi/thunderbird-i18n-31.1.2/nn-NO.xpi) = 31782ee5743442de756d7eb6dc601ec5843af0d6f45254f946fedca23dfbf9f5 +SIZE (xpi/thunderbird-i18n-31.1.2/nn-NO.xpi) = 433198 +SHA256 (xpi/thunderbird-i18n-31.1.2/pa-IN.xpi) = 4f3849fb31c8fe4f65869b35595621df22d2491d08df259d9fdb14ee89b9df04 +SIZE (xpi/thunderbird-i18n-31.1.2/pa-IN.xpi) = 525323 +SHA256 (xpi/thunderbird-i18n-31.1.2/pl.xpi) = ea31936122f377d83c6d059435c28c3e990cadd6d1332d97ac3a7bb196ad085b +SIZE (xpi/thunderbird-i18n-31.1.2/pl.xpi) = 410872 +SHA256 (xpi/thunderbird-i18n-31.1.2/pt-BR.xpi) = 74501df72d4747944fafafde1fedf2214c86c4f4ba594d276f5efec437f14a28 +SIZE (xpi/thunderbird-i18n-31.1.2/pt-BR.xpi) = 450477 +SHA256 (xpi/thunderbird-i18n-31.1.2/pt-PT.xpi) = 43f0d1a2a6187e3f01e75c091c599341b0895e71e3c76b7e6cd040fd95d69482 +SIZE (xpi/thunderbird-i18n-31.1.2/pt-PT.xpi) = 439603 +SHA256 (xpi/thunderbird-i18n-31.1.2/rm.xpi) = 5c8c153c5f36e7237605fcbaa2d66df0e72b7c6a20f793b9113c3e16c87240b8 +SIZE (xpi/thunderbird-i18n-31.1.2/rm.xpi) = 439185 +SHA256 (xpi/thunderbird-i18n-31.1.2/ro.xpi) = 381a1f57aa7e3646dcd29aa28eec1bd951cff1e378d5fe795a5e87556fd286ae +SIZE (xpi/thunderbird-i18n-31.1.2/ro.xpi) = 479746 +SHA256 (xpi/thunderbird-i18n-31.1.2/ru.xpi) = 667ffecf4065352a0e6b32ed5d4535dc9758167cb431b01b13bac9d4027719e5 +SIZE (xpi/thunderbird-i18n-31.1.2/ru.xpi) = 436156 +SHA256 (xpi/thunderbird-i18n-31.1.2/si.xpi) = 5bb7054dc79e73852f39464b3cabeb28ef45dd814a2fbef699fd8ac0d28cfa15 +SIZE (xpi/thunderbird-i18n-31.1.2/si.xpi) = 528812 +SHA256 (xpi/thunderbird-i18n-31.1.2/sk.xpi) = e8f13c479e58e7858ef82864927bb48d013d3f1b7c04b26b525504cb475ba02e +SIZE (xpi/thunderbird-i18n-31.1.2/sk.xpi) = 452995 +SHA256 (xpi/thunderbird-i18n-31.1.2/sl.xpi) = 4e2c3392ae516d34f2568a6de607e86e641eda8e1dd211420ab9c569354757b2 +SIZE (xpi/thunderbird-i18n-31.1.2/sl.xpi) = 433874 +SHA256 (xpi/thunderbird-i18n-31.1.2/sq.xpi) = f38d505b006a209c28fbe2497e2840b1402f15659ab8850b96e401b37439aa43 +SIZE (xpi/thunderbird-i18n-31.1.2/sq.xpi) = 454695 +SHA256 (xpi/thunderbird-i18n-31.1.2/sr.xpi) = 0ea7ab963f7316a8c99c4ede0d2604532b8e9c640d1c1ad17b5aef52410efb6a +SIZE (xpi/thunderbird-i18n-31.1.2/sr.xpi) = 537335 +SHA256 (xpi/thunderbird-i18n-31.1.2/sv-SE.xpi) = c2be7fa0cc149411afa6cd697fc5f9c5db8e8dc94eb361e9005a7c85207812ad +SIZE (xpi/thunderbird-i18n-31.1.2/sv-SE.xpi) = 436105 +SHA256 (xpi/thunderbird-i18n-31.1.2/ta-LK.xpi) = 2990c01eccc33ba92e4bd4a5b6bc6a862a3d4ba038187193862aee20590f222f +SIZE (xpi/thunderbird-i18n-31.1.2/ta-LK.xpi) = 553508 +SHA256 (xpi/thunderbird-i18n-31.1.2/tr.xpi) = 7c28f5337d0f5265ffc264e06b7f18b733358ba040d36cccc14586e4b2b212d5 +SIZE (xpi/thunderbird-i18n-31.1.2/tr.xpi) = 457359 +SHA256 (xpi/thunderbird-i18n-31.1.2/uk.xpi) = 711e037fe115f63b560e59ca33f26fe89b021587d3ade4706df0fe5c4822af16 +SIZE (xpi/thunderbird-i18n-31.1.2/uk.xpi) = 499656 +SHA256 (xpi/thunderbird-i18n-31.1.2/vi.xpi) = 9889f4d9ebf9d298b7a5076879bf34e71dd00665a6be69ff2331df49fdc0b620 +SIZE (xpi/thunderbird-i18n-31.1.2/vi.xpi) = 513834 +SHA256 (xpi/thunderbird-i18n-31.1.2/zh-CN.xpi) = b29c35c9b4de9678f8f15d5910b23b842553b80763f41f2340e823a03b44700e +SIZE (xpi/thunderbird-i18n-31.1.2/zh-CN.xpi) = 462667 +SHA256 (xpi/thunderbird-i18n-31.1.2/zh-TW.xpi) = 9c76eae686d8a72ceb11a24ad155521aa02ee65ade6a068a4dfe6df5f7ba4698 +SIZE (xpi/thunderbird-i18n-31.1.2/zh-TW.xpi) = 463408 Modified: branches/firefox32/mail/thunderbird/Makefile ============================================================================== --- branches/firefox32/mail/thunderbird/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/mail/thunderbird/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,10 +2,10 @@ # $FreeBSD: head/mail/thunderbird/Makefile 368042 2014-09-12 16:17:26Z mandree $ PORTNAME= thunderbird -DISTVERSION= 31.1.1 +DISTVERSION= 31.1.2 CATEGORIES= mail news net-im ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ - https://ftp.mozilla.org/pub/mozilla.org/${PORTNAME}/candidates/${DISTVERSION}-candidates/build2/source/ + https://ftp.mozilla.org/pub/mozilla.org/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source/ DISTFILES= ${PORTNAME}-${DISTVERSION}.source${EXTRACT_SUFX} EXTRACT_ONLY= ${PORTNAME}-${DISTVERSION}.source${EXTRACT_SUFX} Modified: branches/firefox32/mail/thunderbird/distinfo ============================================================================== --- branches/firefox32/mail/thunderbird/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/mail/thunderbird/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,4 +1,4 @@ -SHA256 (thunderbird-31.1.1.source.tar.bz2) = 4743d97ee80c0c1a73029694f210b80baeff3b1d13b9db8fc8a06213d856dd75 -SIZE (thunderbird-31.1.1.source.tar.bz2) = 170836006 +SHA256 (thunderbird-31.1.2.source.tar.bz2) = 86b18e7642ad8e6004cb4826daec586a24fae8a27da59df49f0039495dd5d7b5 +SIZE (thunderbird-31.1.2.source.tar.bz2) = 171033949 SHA256 (enigmail-1.7.2.tar.gz) = 7b3a62e83961bafec1cdac60075aa6c317c8f655a837e31a7d1f3ce6a49fc7d6 SIZE (enigmail-1.7.2.tar.gz) = 1420346 Modified: branches/firefox32/security/nss/Makefile ============================================================================== --- branches/firefox32/security/nss/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/security/nss/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,7 +2,7 @@ # $FreeBSD: head/security/nss/Makefile 367739 2014-09-09 15:00:40Z bapt $ PORTNAME= nss -PORTVERSION= 3.17 +PORTVERSION= 3.17.1 #DISTVERSIONSUFFIX= .with.ckbi.1.93 CATEGORIES= security MASTER_SITES= MOZILLA/security/${PORTNAME}/releases/${DISTNAME:tu:C/[-.]/_/g}_RTM/src Modified: branches/firefox32/security/nss/distinfo ============================================================================== --- branches/firefox32/security/nss/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/security/nss/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,2 +1,2 @@ -SHA256 (nss-3.17.tar.gz) = 3b1abcd8f89211dda2cc739bfa76552d080f7ea80482ef2727b006548a7f0c81 -SIZE (nss-3.17.tar.gz) = 6429534 +SHA256 (nss-3.17.1.tar.gz) = 0e210afba7cd1e033a08f61fcd1f466639649fc413e72aa050f3d52c19376e5f +SIZE (nss-3.17.1.tar.gz) = 6927105 Modified: branches/firefox32/www/firefox-esr-i18n/Makefile ============================================================================== --- branches/firefox32/www/firefox-esr-i18n/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/www/firefox-esr-i18n/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,8 +2,7 @@ # $FreeBSD: head/www/firefox-esr-i18n/Makefile 368047 2014-09-12 17:06:09Z mandree $ PORTNAME= firefox -PORTVERSION= 31.1.0 -PORTREVISION= 1 +PORTVERSION= 31.1.1 CATEGORIES= www MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}esr/linux-i686/xpi PKGNAMEPREFIX= Modified: branches/firefox32/www/firefox-esr-i18n/distinfo ============================================================================== --- branches/firefox32/www/firefox-esr-i18n/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/www/firefox-esr-i18n/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,178 +1,178 @@ -SHA256 (xpi/firefox-31.1.0/ach.xpi) = 1691dd1ff4bcfc51b9e5e67ca70562bd0d9b78744a4735cfbc47f672d50c2467 -SIZE (xpi/firefox-31.1.0/ach.xpi) = 445522 -SHA256 (xpi/firefox-31.1.0/af.xpi) = a420bd02b8f0a355945b16dd23a0b373548a3b36e1ffe525dc0fd0c77d6d23db -SIZE (xpi/firefox-31.1.0/af.xpi) = 431285 -SHA256 (xpi/firefox-31.1.0/an.xpi) = dadd87404b11c860bc49ddeb890c367cb97c6592c116b19f040084c88cb8f6ba -SIZE (xpi/firefox-31.1.0/an.xpi) = 407347 -SHA256 (xpi/firefox-31.1.0/ar.xpi) = 5eb9f1bac0d58ac0be637c23271c76abbeee57ed674bcd84826a66b4aefdd37a -SIZE (xpi/firefox-31.1.0/ar.xpi) = 460020 -SHA256 (xpi/firefox-31.1.0/as.xpi) = 63769ee4d825976599cb8296f9f7a484557ff55c0d587bb1558ed4398390145e -SIZE (xpi/firefox-31.1.0/as.xpi) = 448765 -SHA256 (xpi/firefox-31.1.0/ast.xpi) = 5fd4607ca582f4c7e98e923c8a7180660c91faf3962faaacae75cabcf19ab288 -SIZE (xpi/firefox-31.1.0/ast.xpi) = 352537 -SHA256 (xpi/firefox-31.1.0/be.xpi) = dd8bd0f1602ccec1b32b4ac9cf4d65f8c743c2155343c024e215dda165afc8ec -SIZE (xpi/firefox-31.1.0/be.xpi) = 378864 -SHA256 (xpi/firefox-31.1.0/bg.xpi) = 36c23ae838e6c30bd1baafa475227f1018380fc8a6c52770e58db35a5c01f0d9 -SIZE (xpi/firefox-31.1.0/bg.xpi) = 438257 -SHA256 (xpi/firefox-31.1.0/bn-BD.xpi) = 18cd34211aaada761e3236e7ac56c8e11ce74508ec4d46e3ed0259ed6bd0ba7a -SIZE (xpi/firefox-31.1.0/bn-BD.xpi) = 472822 -SHA256 (xpi/firefox-31.1.0/bn-IN.xpi) = 50ca770b533b840b46e5a20540c7bf22b5feeff45a55cb2bd16a6c6944e04bab -SIZE (xpi/firefox-31.1.0/bn-IN.xpi) = 462789 -SHA256 (xpi/firefox-31.1.0/br.xpi) = ce94b546e60c7d04623276b2f0a8f429e78b1ab2b01333dc1dea0cbe91aa04ef -SIZE (xpi/firefox-31.1.0/br.xpi) = 389900 -SHA256 (xpi/firefox-31.1.0/bs.xpi) = 937a1b78bb6092b7ed29b6f6b802833a20fa78918947524b1c8052ae9ffc89c2 -SIZE (xpi/firefox-31.1.0/bs.xpi) = 429211 -SHA256 (xpi/firefox-31.1.0/ca.xpi) = fd24974924843065612374365bddbd1573c66db534b647fa28fc71986e6e795b -SIZE (xpi/firefox-31.1.0/ca.xpi) = 403772 -SHA256 (xpi/firefox-31.1.0/cs.xpi) = 63d5f0f008fa94aade84c4a63b1fc1dc4a7dfce6d01e573bc58dc54ce0aad2b8 -SIZE (xpi/firefox-31.1.0/cs.xpi) = 391174 -SHA256 (xpi/firefox-31.1.0/csb.xpi) = e8623948febd8b45cbe9e385e8bf88eff2e651258b97953fc5c233e919986c69 -SIZE (xpi/firefox-31.1.0/csb.xpi) = 383891 -SHA256 (xpi/firefox-31.1.0/cy.xpi) = 261dad5097b136fc997af9fe0a6e40183a8371b17e9c04dab607921e802c7448 -SIZE (xpi/firefox-31.1.0/cy.xpi) = 390923 -SHA256 (xpi/firefox-31.1.0/da.xpi) = f5b82c15e675d826a8d67b42d335b2e1f88a8ca8c8dcbd52e3d01e254d2d810b -SIZE (xpi/firefox-31.1.0/da.xpi) = 397943 -SHA256 (xpi/firefox-31.1.0/de.xpi) = abebedeb1edad6f9bb02bb53bf8ed6dbf233cdbc353325331c88b7de184bc917 -SIZE (xpi/firefox-31.1.0/de.xpi) = 395360 -SHA256 (xpi/firefox-31.1.0/el.xpi) = cf1fb70531b54a56b3687eee25bf772ae76fda3bbfeab499b54f5a4a985c8290 -SIZE (xpi/firefox-31.1.0/el.xpi) = 443178 -SHA256 (xpi/firefox-31.1.0/en-GB.xpi) = 3f9d02719afbd3a4d25d2e452a0c98f6c098288ec46cec4fc5bfedd4ef019542 -SIZE (xpi/firefox-31.1.0/en-GB.xpi) = 390315 -SHA256 (xpi/firefox-31.1.0/en-US.xpi) = a7ed24f21f5dbb81a38113f45718479a2192e31a49ffa81f543686f2d2296bc0 -SIZE (xpi/firefox-31.1.0/en-US.xpi) = 422984 -SHA256 (xpi/firefox-31.1.0/en-ZA.xpi) = eb9ef4990c5a1919cd13602b46809bfd4923072ede4c593b9bac08533ef870b8 -SIZE (xpi/firefox-31.1.0/en-ZA.xpi) = 388724 -SHA256 (xpi/firefox-31.1.0/eo.xpi) = 4dc7098f0fd2b437db77689fde1d6c7f6c71b57e789b960b797558416c4acb06 -SIZE (xpi/firefox-31.1.0/eo.xpi) = 432027 -SHA256 (xpi/firefox-31.1.0/es-AR.xpi) = e1ce737df331172db3e7522027bb74d72e40ba3ac05d9c85ce6838894a9feb62 -SIZE (xpi/firefox-31.1.0/es-AR.xpi) = 400133 -SHA256 (xpi/firefox-31.1.0/es-CL.xpi) = 818a8c57b79d085336be0b570d5435585647b86e0c2aa8a98f0450f98ac581b3 -SIZE (xpi/firefox-31.1.0/es-CL.xpi) = 343004 -SHA256 (xpi/firefox-31.1.0/es-ES.xpi) = 974dec19fe1c95ad90e3d4e1d5d204ace7689f6234f266915c068500976423a7 -SIZE (xpi/firefox-31.1.0/es-ES.xpi) = 336076 -SHA256 (xpi/firefox-31.1.0/es-MX.xpi) = 85ba666a4c9dad0064530223267b1669a3c43e231ca5567cc14b349fa0d9bdf8 -SIZE (xpi/firefox-31.1.0/es-MX.xpi) = 402868 -SHA256 (xpi/firefox-31.1.0/et.xpi) = ade792f809a3b1ee686bf437f2befdfb7e65ad9a91bb40698685819ed18c5e8b -SIZE (xpi/firefox-31.1.0/et.xpi) = 390557 -SHA256 (xpi/firefox-31.1.0/eu.xpi) = 53e13ebab713373b93f00a0e4a487e933397c89cfc6f206a6d07fd14d28bda29 -SIZE (xpi/firefox-31.1.0/eu.xpi) = 413195 -SHA256 (xpi/firefox-31.1.0/fa.xpi) = 4b2072c33e83e13a2e0cd7a6d9886dfb82e893712219a723602700fb81bd7d6a -SIZE (xpi/firefox-31.1.0/fa.xpi) = 461053 -SHA256 (xpi/firefox-31.1.0/ff.xpi) = b095563401e8f78437225af75beda157dd1609f4f0be7e62049db7a5083bd903 -SIZE (xpi/firefox-31.1.0/ff.xpi) = 400339 -SHA256 (xpi/firefox-31.1.0/fi.xpi) = c036c1bfc0b9d89073b5fa6adfbdc9208bcae2a27a83c3f90a4a167f9e2635d8 -SIZE (xpi/firefox-31.1.0/fi.xpi) = 392936 -SHA256 (xpi/firefox-31.1.0/fr.xpi) = 58b56fa3ceec8683b49cf44f2824ef13f2d2d0a76a5e8d60a5a0ffffed26df43 -SIZE (xpi/firefox-31.1.0/fr.xpi) = 406658 -SHA256 (xpi/firefox-31.1.0/fy-NL.xpi) = 74829aaa4c360c4f819387bca1a04446f5a4bef53e392c96450dd81457394558 -SIZE (xpi/firefox-31.1.0/fy-NL.xpi) = 402126 -SHA256 (xpi/firefox-31.1.0/ga-IE.xpi) = 6fbe9255a9235881dd055eb3b3122d99481c5c011ab12f1e3a4dae885c472910 -SIZE (xpi/firefox-31.1.0/ga-IE.xpi) = 410273 -SHA256 (xpi/firefox-31.1.0/gd.xpi) = b8dd15a353aa2e3848a62499bf57048031d80371ef0babc73096018190367ddc -SIZE (xpi/firefox-31.1.0/gd.xpi) = 403210 -SHA256 (xpi/firefox-31.1.0/gl.xpi) = cb06e5af30eeec11bd8936f0cdee6f5a0aa26a78716f6b358d735e3959acf0f4 -SIZE (xpi/firefox-31.1.0/gl.xpi) = 390795 -SHA256 (xpi/firefox-31.1.0/gu-IN.xpi) = d8964011feff1de17842e340773956797c7adc6aa936c95061fbe36c7e97fc3b -SIZE (xpi/firefox-31.1.0/gu-IN.xpi) = 423699 -SHA256 (xpi/firefox-31.1.0/he.xpi) = e168004da7f838ce3cc34fdef40c12127bbdd6cdbd051e42151352b6f084a49f -SIZE (xpi/firefox-31.1.0/he.xpi) = 427825 -SHA256 (xpi/firefox-31.1.0/hi-IN.xpi) = de772a0053dcee686fd27051509e30eb788f8cbc092bf7b34edcb3aa5119edc1 -SIZE (xpi/firefox-31.1.0/hi-IN.xpi) = 441598 -SHA256 (xpi/firefox-31.1.0/hr.xpi) = fb2e49e2887099646c30654be777281c79c1aac80176681c6d0dc0a0e2646d15 -SIZE (xpi/firefox-31.1.0/hr.xpi) = 424567 -SHA256 (xpi/firefox-31.1.0/hsb.xpi) = 2bded9383bae355da4bc2175f0af843d2077e0a5fd51779ffa567894aca8f9e7 -SIZE (xpi/firefox-31.1.0/hsb.xpi) = 413272 -SHA256 (xpi/firefox-31.1.0/hu.xpi) = b80f9a08c119a250a307651aa0e0a322c7c0e62cd4cad37cddc8123312f92e11 -SIZE (xpi/firefox-31.1.0/hu.xpi) = 398840 -SHA256 (xpi/firefox-31.1.0/hy-AM.xpi) = 211617d00244d71dff9324b548f5acec7224e754b8337640014727bca4699f15 -SIZE (xpi/firefox-31.1.0/hy-AM.xpi) = 478939 -SHA256 (xpi/firefox-31.1.0/id.xpi) = c52d16ac835539f10c511a505746337c33b90366eba1ba16b3b338eaf2c1f491 -SIZE (xpi/firefox-31.1.0/id.xpi) = 378497 -SHA256 (xpi/firefox-31.1.0/is.xpi) = 8ef1e8a9edffe2c3184815b80b631d855cdbf152ca573b78a9fc6f9ffcd957f1 -SIZE (xpi/firefox-31.1.0/is.xpi) = 427523 -SHA256 (xpi/firefox-31.1.0/it.xpi) = 4e8746af3f1f406346cedf296ae247952b9389f6ca1a157b4bf17dc30925670e -SIZE (xpi/firefox-31.1.0/it.xpi) = 331102 -SHA256 (xpi/firefox-31.1.0/ja.xpi) = 0939a14082523c72369e96b77a9355c430e92c4b6d982e40216685b978de964b -SIZE (xpi/firefox-31.1.0/ja.xpi) = 421664 -SHA256 (xpi/firefox-31.1.0/kk.xpi) = 3ca817eda7ddc640e8ae7fa1b8fd76bcd23778c1cc545e6c548cffc1372cf189 -SIZE (xpi/firefox-31.1.0/kk.xpi) = 439312 -SHA256 (xpi/firefox-31.1.0/km.xpi) = fa6e6c97d9f278726bf0325825b3578ea9da4c6b37fa3bc4ef5162ce78d1acd4 -SIZE (xpi/firefox-31.1.0/km.xpi) = 506672 -SHA256 (xpi/firefox-31.1.0/kn.xpi) = 17c8150951a77a306419d693b696ea3b8f12969e9f3168e7003ce449100152e2 -SIZE (xpi/firefox-31.1.0/kn.xpi) = 459087 -SHA256 (xpi/firefox-31.1.0/ko.xpi) = 568f7865a4358dc40d54d248f558e66d1ede204d8525033fbafe02446538a31a -SIZE (xpi/firefox-31.1.0/ko.xpi) = 403011 -SHA256 (xpi/firefox-31.1.0/ku.xpi) = 6c24db090c42714d28afb6a28862a2be03db92248452a3f35e47439dde09f895 -SIZE (xpi/firefox-31.1.0/ku.xpi) = 420262 -SHA256 (xpi/firefox-31.1.0/lij.xpi) = a1aa34b0c7482273b8e61b4d4acee6d00fa99ff9e09790277b479736c95c44bf -SIZE (xpi/firefox-31.1.0/lij.xpi) = 386060 -SHA256 (xpi/firefox-31.1.0/lt.xpi) = aa9832cbbeb5bcfd0fc50749aed59b17a61d917b7c0e7ec2534a394351732f16 -SIZE (xpi/firefox-31.1.0/lt.xpi) = 435627 -SHA256 (xpi/firefox-31.1.0/lv.xpi) = b6d00e547b6d64dee1d0a81c9ed70e499f84d5673bf3cacb3cefc74d45b7d78d -SIZE (xpi/firefox-31.1.0/lv.xpi) = 398772 -SHA256 (xpi/firefox-31.1.0/mai.xpi) = 171e896ec959cf800d515250da137007da54b8c3cad0c788f6cd03575c66a4bf -SIZE (xpi/firefox-31.1.0/mai.xpi) = 445081 -SHA256 (xpi/firefox-31.1.0/mk.xpi) = 2a47b2a121b9b709047bdf40319050cc9a1d29203ea366bf13daa77f44de53ae -SIZE (xpi/firefox-31.1.0/mk.xpi) = 475679 -SHA256 (xpi/firefox-31.1.0/ml.xpi) = fdd966a7a76f1ad4b9adabe524596c83cd186191101e0c25b7af00047553b3e6 -SIZE (xpi/firefox-31.1.0/ml.xpi) = 466451 -SHA256 (xpi/firefox-31.1.0/mr.xpi) = c0ebdbae790e44a00d7d44d9f96cd2b3af0f98d90c03cbd5a8ea320ed1c9015f -SIZE (xpi/firefox-31.1.0/mr.xpi) = 451488 -SHA256 (xpi/firefox-31.1.0/ms.xpi) = 6c09d65b63d690f8db251a37e50061f467affc15d657f21195dbca1160a925d8 -SIZE (xpi/firefox-31.1.0/ms.xpi) = 436427 -SHA256 (xpi/firefox-31.1.0/nb-NO.xpi) = 0be3a0d6d7aad8070321a85dc951de61d44171a1f9ae6882994378d840152ed5 -SIZE (xpi/firefox-31.1.0/nb-NO.xpi) = 392202 -SHA256 (xpi/firefox-31.1.0/nl.xpi) = 085b3e8286c878687c649f46a114d31fc3bab80a7ce023d7a4bfeb3f6416d03a -SIZE (xpi/firefox-31.1.0/nl.xpi) = 391081 -SHA256 (xpi/firefox-31.1.0/nn-NO.xpi) = 6f66348dfb4bc7ae26a7896eda394aa3ea789c02c581582f4cbd18eaba7ee68d -SIZE (xpi/firefox-31.1.0/nn-NO.xpi) = 386478 -SHA256 (xpi/firefox-31.1.0/or.xpi) = ac08cf99ed7072af121cbddf3cabd97aa69a3a57fd72f0b00468b3e1737a147f -SIZE (xpi/firefox-31.1.0/or.xpi) = 464945 -SHA256 (xpi/firefox-31.1.0/pa-IN.xpi) = 2553060fd2d2300a8a3ef4dc0be305f5d635a7bae67d6ad2a83788b0ad455b87 -SIZE (xpi/firefox-31.1.0/pa-IN.xpi) = 439523 -SHA256 (xpi/firefox-31.1.0/pl.xpi) = c8d92ddfb7788d6062330edea64d19a8b2786bb54a81ae9282828c8a3e06fe5f -SIZE (xpi/firefox-31.1.0/pl.xpi) = 374943 -SHA256 (xpi/firefox-31.1.0/pt-BR.xpi) = 6c17d3df7b92aceeaeecaeb4ed36c579a15ccd0bd1651d27b6c9b2873110736a -SIZE (xpi/firefox-31.1.0/pt-BR.xpi) = 405761 -SHA256 (xpi/firefox-31.1.0/pt-PT.xpi) = 4729d757ef94ea7e0714d3c4f8bad065f04056a1ee9e8ba667b1f4dd16175e40 -SIZE (xpi/firefox-31.1.0/pt-PT.xpi) = 386540 -SHA256 (xpi/firefox-31.1.0/rm.xpi) = 63b8a224f3bf0d0de091e65a055e395918370d868d1918116a90e75b6a8b342d -SIZE (xpi/firefox-31.1.0/rm.xpi) = 399481 -SHA256 (xpi/firefox-31.1.0/ro.xpi) = 772482c0a2e59f6aad3c4e1928b892472a8c4fb75c0376708953c2c895f56f01 -SIZE (xpi/firefox-31.1.0/ro.xpi) = 439584 -SHA256 (xpi/firefox-31.1.0/ru.xpi) = 480443679119ede20dc8798a1e2d67e2f1b636ccfeae3d1cba40a01e957d72fb -SIZE (xpi/firefox-31.1.0/ru.xpi) = 368094 -SHA256 (xpi/firefox-31.1.0/si.xpi) = 9289ff40ad886e0fa9697076fa92af779a69f1878e53f0f6284607b4763611b0 -SIZE (xpi/firefox-31.1.0/si.xpi) = 463420 -SHA256 (xpi/firefox-31.1.0/sk.xpi) = 5dc10006aaa5db88784f1324b1b17f1bcbb909926e2fd4fe1ca8c8e56b5d1975 -SIZE (xpi/firefox-31.1.0/sk.xpi) = 413998 -SHA256 (xpi/firefox-31.1.0/sl.xpi) = ca48c6a9baba6c73e2b245212b0a5813d1891beab76601ec635f0ab70ecdfd29 -SIZE (xpi/firefox-31.1.0/sl.xpi) = 387330 -SHA256 (xpi/firefox-31.1.0/son.xpi) = a6e7198da1f03a6860c75171f5da2a1fe9edb3e3da9b656ac8ac6e45bd7aa1c2 -SIZE (xpi/firefox-31.1.0/son.xpi) = 395339 -SHA256 (xpi/firefox-31.1.0/sq.xpi) = 167963949e564a4229c093f8d753fc96138031907b02da838ba26a9305f0e889 -SIZE (xpi/firefox-31.1.0/sq.xpi) = 431332 -SHA256 (xpi/firefox-31.1.0/sr.xpi) = 0d2d0b8cb485b733f154709cd2c98dfded23b3cdab8ba4c46cff3c9b208282d7 -SIZE (xpi/firefox-31.1.0/sr.xpi) = 426098 -SHA256 (xpi/firefox-31.1.0/sv-SE.xpi) = 45769f32ba897c6dc6b4120571d37150dfb9cc4b92e7f9e1f9e206de5611c30d -SIZE (xpi/firefox-31.1.0/sv-SE.xpi) = 399222 -SHA256 (xpi/firefox-31.1.0/ta.xpi) = 256937991c1cfb0fb3a68fb6f6a945eaa8fe9efb17c97a1d2d7f9fddc1949365 -SIZE (xpi/firefox-31.1.0/ta.xpi) = 447882 -SHA256 (xpi/firefox-31.1.0/te.xpi) = 932c90edc1d1d5e727c6d1f76daba8981a3c9b8d2973dc190de578ada91e92ba -SIZE (xpi/firefox-31.1.0/te.xpi) = 462787 -SHA256 (xpi/firefox-31.1.0/th.xpi) = c8f3a9356f9dcf775905d18cfadaeedc8c7438d936d6355b9372a36008ad4cec -SIZE (xpi/firefox-31.1.0/th.xpi) = 478322 -SHA256 (xpi/firefox-31.1.0/tr.xpi) = 65d8f20053a01a4fecf4ee0ab4702d6117595ab55cd85372ea82411778e76416 -SIZE (xpi/firefox-31.1.0/tr.xpi) = 417566 -SHA256 (xpi/firefox-31.1.0/uk.xpi) = 87974b8599b679aafd5d5df535579bdd6eb3084662b460eb72b1599aae9ef0c8 -SIZE (xpi/firefox-31.1.0/uk.xpi) = 428199 -SHA256 (xpi/firefox-31.1.0/vi.xpi) = e9b7eb60d61e1564597d2fa1e498fbb4c2e9a701d9ad5f22e636a31751c8fb85 -SIZE (xpi/firefox-31.1.0/vi.xpi) = 413570 -SHA256 (xpi/firefox-31.1.0/xh.xpi) = 5b667901df2f46c1d2532921844cddeed8a42e6c15bdd7e4e4e26d5832c01ee7 -SIZE (xpi/firefox-31.1.0/xh.xpi) = 398073 -SHA256 (xpi/firefox-31.1.0/zh-CN.xpi) = c6ea449ec7b810e024611f7f0a5cf53a8b4e2b2c1c0a7cf9c86477feee5e78a2 -SIZE (xpi/firefox-31.1.0/zh-CN.xpi) = 419826 -SHA256 (xpi/firefox-31.1.0/zh-TW.xpi) = b67ac2b60e0ced2f297b8c3c50a869995b1b730a1f517cec64504fa15fe5b70f -SIZE (xpi/firefox-31.1.0/zh-TW.xpi) = 412717 -SHA256 (xpi/firefox-31.1.0/zu.xpi) = 1f17c41280a3554c984349293673ec91f2fbf22d9d852e83f4cf6fc5b32d5358 -SIZE (xpi/firefox-31.1.0/zu.xpi) = 433412 +SHA256 (xpi/firefox-31.1.1/ach.xpi) = 6fdf1f2e6656c3a080a05f6a613578352eb61a437247c72f94cf4503c67d8ab0 +SIZE (xpi/firefox-31.1.1/ach.xpi) = 445521 +SHA256 (xpi/firefox-31.1.1/af.xpi) = 5874296d3904ae2badcf6c3b9c429bf3293a1460465ec17b1042dc31d2c5eefb +SIZE (xpi/firefox-31.1.1/af.xpi) = 431286 +SHA256 (xpi/firefox-31.1.1/an.xpi) = 3c095a587b861f5a2b5e3ffdf30baba14f48b216c9f45c400c1bf7a6b9a4c578 +SIZE (xpi/firefox-31.1.1/an.xpi) = 407347 +SHA256 (xpi/firefox-31.1.1/ar.xpi) = 03eecec3999d308e11f5d6dbd95f3bc20c4c6764f3fd742631d966cd22c1b1a9 +SIZE (xpi/firefox-31.1.1/ar.xpi) = 460019 +SHA256 (xpi/firefox-31.1.1/as.xpi) = 4eb785835ac928665f9f7c24c3c6d3f9b4c85c2e88f637c9dca92ac1dd154e79 +SIZE (xpi/firefox-31.1.1/as.xpi) = 448764 +SHA256 (xpi/firefox-31.1.1/ast.xpi) = c4200329d076109584df6a3098918c8d39441b75e45fa9cdfed24ed9238993c8 +SIZE (xpi/firefox-31.1.1/ast.xpi) = 352536 +SHA256 (xpi/firefox-31.1.1/be.xpi) = d5343bbedf7c50466ce1d7e62cb362009448efddfe93fe30a030443f92f60a34 +SIZE (xpi/firefox-31.1.1/be.xpi) = 378864 +SHA256 (xpi/firefox-31.1.1/bg.xpi) = 8b2c1106301953f967dc47535b19ea86b626ec9ea36f52e6247e4ec96d4998ca +SIZE (xpi/firefox-31.1.1/bg.xpi) = 438256 +SHA256 (xpi/firefox-31.1.1/bn-BD.xpi) = 1ce1de4604dfbd5c80ef714e2e1475702a9dadaaa3fd208867a5e991271423ab +SIZE (xpi/firefox-31.1.1/bn-BD.xpi) = 472822 +SHA256 (xpi/firefox-31.1.1/bn-IN.xpi) = 2d7ba974217ec760593a84b8cf06c6c4db734e8f7ab4e43a297b9d943fb972f4 +SIZE (xpi/firefox-31.1.1/bn-IN.xpi) = 462788 +SHA256 (xpi/firefox-31.1.1/br.xpi) = 17eb535edbc81938d2e1921ccc8cfebfc2b1196d5eaa9188030c016c8f4eeab8 +SIZE (xpi/firefox-31.1.1/br.xpi) = 389901 +SHA256 (xpi/firefox-31.1.1/bs.xpi) = 6d9c82c976cc17db39b04d216c86eb4a209355257c93025779dd423d735ee5bb +SIZE (xpi/firefox-31.1.1/bs.xpi) = 429210 +SHA256 (xpi/firefox-31.1.1/ca.xpi) = bfe41867be0b9f537b55f7ed08818050794db65262690c2f067b009487cac302 +SIZE (xpi/firefox-31.1.1/ca.xpi) = 403771 +SHA256 (xpi/firefox-31.1.1/cs.xpi) = f3cc9f6ae8052375b913004a9a8fc32af3cbecdadb33fa550eeec277046400be +SIZE (xpi/firefox-31.1.1/cs.xpi) = 391174 +SHA256 (xpi/firefox-31.1.1/csb.xpi) = fccdbc4ad797ed4a030713af86db74fd785bf6ed1491fe630f9a6fb1654ba866 +SIZE (xpi/firefox-31.1.1/csb.xpi) = 383891 +SHA256 (xpi/firefox-31.1.1/cy.xpi) = 8a89d240e1dd6a836c97e1f23b252211fec9bd489c287dbac4a7a382d2d7fd56 +SIZE (xpi/firefox-31.1.1/cy.xpi) = 390923 +SHA256 (xpi/firefox-31.1.1/da.xpi) = c838feb1fe2974bb3dbafa662d4598a9dc2fd19e44a87ae27cbc7a8bf208c8a3 +SIZE (xpi/firefox-31.1.1/da.xpi) = 397943 +SHA256 (xpi/firefox-31.1.1/de.xpi) = 7f40ed6ade9bbb99cfe98097014f6a736c3c548d31a490ec44198497fdab293d +SIZE (xpi/firefox-31.1.1/de.xpi) = 395360 +SHA256 (xpi/firefox-31.1.1/el.xpi) = bf3cadfb7a1b5e55174c27865629d64cfda90afc37acb16175623ec054519b9b +SIZE (xpi/firefox-31.1.1/el.xpi) = 443178 +SHA256 (xpi/firefox-31.1.1/en-GB.xpi) = 223532757c5cbf945fd623db9decfb47576e54fe8df5e30e28cb29f24c5631fd +SIZE (xpi/firefox-31.1.1/en-GB.xpi) = 390314 +SHA256 (xpi/firefox-31.1.1/en-US.xpi) = 1677b307f95d3d0e27bdb156390d7e7baf8abf735b674828905d52d9a2c719c0 +SIZE (xpi/firefox-31.1.1/en-US.xpi) = 422983 +SHA256 (xpi/firefox-31.1.1/en-ZA.xpi) = 43b63fd60c4b2df5961736b9c79bf471ec0fa8b6223e3e37eae7c5e5d932e9dc +SIZE (xpi/firefox-31.1.1/en-ZA.xpi) = 388724 +SHA256 (xpi/firefox-31.1.1/eo.xpi) = 05a6c5e36a55abfa57d51fa2462177e1504b2316f76dc8f290d5d27ed2a0a0d1 +SIZE (xpi/firefox-31.1.1/eo.xpi) = 432027 +SHA256 (xpi/firefox-31.1.1/es-AR.xpi) = 215358c70e1c0a1b7d17175d34f71ac01ce097a54894dd11b10dc047cd0cfb00 +SIZE (xpi/firefox-31.1.1/es-AR.xpi) = 400133 +SHA256 (xpi/firefox-31.1.1/es-CL.xpi) = c4ad585111d1ee2a15b2fe9b25de34b28076e19a6c61adaea458fd09de9c904d +SIZE (xpi/firefox-31.1.1/es-CL.xpi) = 343004 +SHA256 (xpi/firefox-31.1.1/es-ES.xpi) = 3a9f723c6ab2e1ab0d3b54b3b8fd1af6eee80b85d22bd2a70d9a1be377e13dd5 +SIZE (xpi/firefox-31.1.1/es-ES.xpi) = 336076 +SHA256 (xpi/firefox-31.1.1/es-MX.xpi) = 6035872b5923648fea348a97e7728a82fa5efb576fee5ca081fd529be37265af +SIZE (xpi/firefox-31.1.1/es-MX.xpi) = 402868 +SHA256 (xpi/firefox-31.1.1/et.xpi) = 21abe762a361f7e4c46653ceb76bd403fe89ee72fd3747b12457ec6fa152474d +SIZE (xpi/firefox-31.1.1/et.xpi) = 390557 +SHA256 (xpi/firefox-31.1.1/eu.xpi) = e25a2edd774fac26ec91bf8d14682f861529955f9744f797d711341e5df52cbd +SIZE (xpi/firefox-31.1.1/eu.xpi) = 413195 +SHA256 (xpi/firefox-31.1.1/fa.xpi) = 4380d34f6faea6768e36ed6378786a113150da69f3e7a9ed6cd6f3ef3478a2d4 +SIZE (xpi/firefox-31.1.1/fa.xpi) = 461053 +SHA256 (xpi/firefox-31.1.1/ff.xpi) = 7b98d33bcfbe159dadc1ecd1b81f79881c8774cf1a6cc3fa5d90f5c0974c2082 +SIZE (xpi/firefox-31.1.1/ff.xpi) = 400339 +SHA256 (xpi/firefox-31.1.1/fi.xpi) = a6181675e753d2f38505a829409f58264a4d48c9e7eb88f67bada06143a542f8 +SIZE (xpi/firefox-31.1.1/fi.xpi) = 392935 +SHA256 (xpi/firefox-31.1.1/fr.xpi) = af8d1c53d9aab9610c5832a55ecc0681cf242b2dfefb10d32be5a7c7d5df7d92 +SIZE (xpi/firefox-31.1.1/fr.xpi) = 406658 +SHA256 (xpi/firefox-31.1.1/fy-NL.xpi) = 69f6f76874531b78a903353e42cb4c6be1b48cde6a826657d5750295bde241ea +SIZE (xpi/firefox-31.1.1/fy-NL.xpi) = 402126 +SHA256 (xpi/firefox-31.1.1/ga-IE.xpi) = 556ba1ab2358d4b0342d0857d33fe30cce0159b5b56c868795ee07ef52898102 +SIZE (xpi/firefox-31.1.1/ga-IE.xpi) = 410272 +SHA256 (xpi/firefox-31.1.1/gd.xpi) = 62cc0784e8505aa65bd473013d29ce340733c7bd8310a58ae8864e182b9e82a9 +SIZE (xpi/firefox-31.1.1/gd.xpi) = 403209 +SHA256 (xpi/firefox-31.1.1/gl.xpi) = cac80900712c81e12ec130c209765bf68b46fcff5eabee8b9152089903d77930 +SIZE (xpi/firefox-31.1.1/gl.xpi) = 390795 +SHA256 (xpi/firefox-31.1.1/gu-IN.xpi) = 371f13f674423f1dfd88ab7c64883440afed9dee347116dddc1aab6cb86e9f0f +SIZE (xpi/firefox-31.1.1/gu-IN.xpi) = 423698 +SHA256 (xpi/firefox-31.1.1/he.xpi) = 5d71c412e54e4a99050f57b46ab17f304a09b237fec129a1442dde5cc6911aee +SIZE (xpi/firefox-31.1.1/he.xpi) = 427826 +SHA256 (xpi/firefox-31.1.1/hi-IN.xpi) = 05d20383bc27e75c6535101a1eadc5f60d52b618d0cddfbe04161852bc31c4e5 +SIZE (xpi/firefox-31.1.1/hi-IN.xpi) = 441597 +SHA256 (xpi/firefox-31.1.1/hr.xpi) = ce3c722bd803b404600a12cbcee089667b069b012368b3d7970d00e16be501c1 +SIZE (xpi/firefox-31.1.1/hr.xpi) = 424567 +SHA256 (xpi/firefox-31.1.1/hsb.xpi) = ad80ddd7dbd7c8beef870c5260b1a57071dee059f28ede6dd9a5d8499fe5ab6d +SIZE (xpi/firefox-31.1.1/hsb.xpi) = 413272 +SHA256 (xpi/firefox-31.1.1/hu.xpi) = 56106ebf8f077e0164daf24ec2958c2827ab8faa6c82674702a4da36b71775fa +SIZE (xpi/firefox-31.1.1/hu.xpi) = 398840 +SHA256 (xpi/firefox-31.1.1/hy-AM.xpi) = aa5066e369b9059f5703472e9aa4b74eef359421a18c32e32d5ab096ebf4d744 +SIZE (xpi/firefox-31.1.1/hy-AM.xpi) = 478939 +SHA256 (xpi/firefox-31.1.1/id.xpi) = 4dae7e640509860e73039c62cce36547c7548807768ed76f106933962eb5924f +SIZE (xpi/firefox-31.1.1/id.xpi) = 378497 +SHA256 (xpi/firefox-31.1.1/is.xpi) = 6f333874466de53763ab43c17a0e19ad072bb08e07c312ee2d45246f24216a06 +SIZE (xpi/firefox-31.1.1/is.xpi) = 427523 +SHA256 (xpi/firefox-31.1.1/it.xpi) = bea9801005341306abb709f5b5e1baf6c24454b1f6883e114d4d7ec8c430f4a0 +SIZE (xpi/firefox-31.1.1/it.xpi) = 331101 +SHA256 (xpi/firefox-31.1.1/ja.xpi) = 8034e32113788b71c4a5461d435eaf5c9e0e29fc6253c08ca6681c0aa2c587cf +SIZE (xpi/firefox-31.1.1/ja.xpi) = 421664 +SHA256 (xpi/firefox-31.1.1/kk.xpi) = 928da032eaca0c2d00adc8d18909f48a4ebe314f1bdcfecb4226f2b201ffc90c +SIZE (xpi/firefox-31.1.1/kk.xpi) = 439312 +SHA256 (xpi/firefox-31.1.1/km.xpi) = a9766a123776bf9e0bab3fe1dc9a5ec1e8547a604eeffdb83dcfa3588764fffe +SIZE (xpi/firefox-31.1.1/km.xpi) = 506672 +SHA256 (xpi/firefox-31.1.1/kn.xpi) = c34a3b1b7a6d73037c0aff4b439d1bd4a763ca30ac6384eefa572a007258ab07 +SIZE (xpi/firefox-31.1.1/kn.xpi) = 459087 +SHA256 (xpi/firefox-31.1.1/ko.xpi) = 7786691a1cdce405825be81ca3a34e334b0faa7a5b9aef0138a403946d9da2db +SIZE (xpi/firefox-31.1.1/ko.xpi) = 403010 +SHA256 (xpi/firefox-31.1.1/ku.xpi) = 016ac15dbe6ec47539caff01c3da210f30c9b7f2a762c4b2e3b2c90555b71078 +SIZE (xpi/firefox-31.1.1/ku.xpi) = 420259 +SHA256 (xpi/firefox-31.1.1/lij.xpi) = 22d338a6c0a79637faf87e6ed4f5bcc3bcfb1eddf24c302f316c7c5ca4980a7d +SIZE (xpi/firefox-31.1.1/lij.xpi) = 386060 +SHA256 (xpi/firefox-31.1.1/lt.xpi) = 1af446a4e81b6deadc7f5b8a1636970af443a2559f8d567dee1b3a57e33f3919 +SIZE (xpi/firefox-31.1.1/lt.xpi) = 435627 +SHA256 (xpi/firefox-31.1.1/lv.xpi) = b97839604f2f11447311b002cb0bc2b10d1f05df186d8d993a4deac9fae49c20 +SIZE (xpi/firefox-31.1.1/lv.xpi) = 398772 +SHA256 (xpi/firefox-31.1.1/mai.xpi) = a9e704365371a55f301bbca9b6cf637df7b31023337af2b0e3d8c756b3fea340 +SIZE (xpi/firefox-31.1.1/mai.xpi) = 445080 +SHA256 (xpi/firefox-31.1.1/mk.xpi) = ba59a414acd349cfc8854c35cbb41e479469437addb89dcae88eb511051e0691 +SIZE (xpi/firefox-31.1.1/mk.xpi) = 475679 +SHA256 (xpi/firefox-31.1.1/ml.xpi) = d7915d1dae94507e63bce378a0c39343328577206134ec58481838e164b26130 +SIZE (xpi/firefox-31.1.1/ml.xpi) = 466450 +SHA256 (xpi/firefox-31.1.1/mr.xpi) = 6363700e29ddd2908ddffbff2dc33d4a1a18d1a2f76e71c965fd268842b9eaa9 +SIZE (xpi/firefox-31.1.1/mr.xpi) = 451487 +SHA256 (xpi/firefox-31.1.1/ms.xpi) = 604dc5f23278c91fe6259cebc91beab8b5cbcf09cfe308daa438612fb2a03fdd +SIZE (xpi/firefox-31.1.1/ms.xpi) = 436427 +SHA256 (xpi/firefox-31.1.1/nb-NO.xpi) = af19788ad67b8ebbdb6abe50b18650d3655c0fb95d602867eaea86bcf5715d28 +SIZE (xpi/firefox-31.1.1/nb-NO.xpi) = 392201 +SHA256 (xpi/firefox-31.1.1/nl.xpi) = ce4db00532785488cd10450231cef90aa0e93572c83c8da9cfd6a91c631bc1b0 +SIZE (xpi/firefox-31.1.1/nl.xpi) = 391081 +SHA256 (xpi/firefox-31.1.1/nn-NO.xpi) = 9dfb2fb13405ed19d8d880623d58457738a8984d44b47298649deb41c052ad68 +SIZE (xpi/firefox-31.1.1/nn-NO.xpi) = 386477 +SHA256 (xpi/firefox-31.1.1/or.xpi) = 1f179e14464af7832aa85ef3a392735a5d08e6ef8ad415d5670cda3a121310e6 +SIZE (xpi/firefox-31.1.1/or.xpi) = 464946 +SHA256 (xpi/firefox-31.1.1/pa-IN.xpi) = 78a26f4751d5a7018af41084d7e078d6741465f49ae6b2d0dc89e3d3f4d4848f +SIZE (xpi/firefox-31.1.1/pa-IN.xpi) = 439522 +SHA256 (xpi/firefox-31.1.1/pl.xpi) = 91e8441981e9684f8c521d4fbb4b393748de2f03aca8fe08c4849eb1189cfa98 +SIZE (xpi/firefox-31.1.1/pl.xpi) = 374942 +SHA256 (xpi/firefox-31.1.1/pt-BR.xpi) = 0febcf4143322916cc959a986ef1bb0d3dadd3ad562861c58aca0c4952348831 +SIZE (xpi/firefox-31.1.1/pt-BR.xpi) = 405761 +SHA256 (xpi/firefox-31.1.1/pt-PT.xpi) = 5ea85bd2f7dc5b59313e7951fd220fb9156b82d0244440b530ce920f8d8c4870 +SIZE (xpi/firefox-31.1.1/pt-PT.xpi) = 386540 +SHA256 (xpi/firefox-31.1.1/rm.xpi) = aa669ecb03ce28ef863bd2aec634f56bc893e264c29e32580bb0b2582619dbd8 +SIZE (xpi/firefox-31.1.1/rm.xpi) = 399482 +SHA256 (xpi/firefox-31.1.1/ro.xpi) = 129f2f91ccd94e910071ca2c04abc70df6ea343454c6b7cbb91fa70a09c57a40 +SIZE (xpi/firefox-31.1.1/ro.xpi) = 439583 +SHA256 (xpi/firefox-31.1.1/ru.xpi) = 653b01e41b465517f92ef604c1ef050bbacd9890b10a53af4324382d174bf4cb +SIZE (xpi/firefox-31.1.1/ru.xpi) = 368093 +SHA256 (xpi/firefox-31.1.1/si.xpi) = 06861fc68e466857de23928263c53bec114eb48d02b86555b3b0b2ebea6eaa29 +SIZE (xpi/firefox-31.1.1/si.xpi) = 463420 +SHA256 (xpi/firefox-31.1.1/sk.xpi) = fbb10e2de2d07d5573d9940fa7a56214619c1454b3e53698d455249fd15597fe +SIZE (xpi/firefox-31.1.1/sk.xpi) = 413998 +SHA256 (xpi/firefox-31.1.1/sl.xpi) = 639948ffb5acd1871ea736256eb6c34e139d1bf5de89a16ff98382d73c4b6389 +SIZE (xpi/firefox-31.1.1/sl.xpi) = 387330 +SHA256 (xpi/firefox-31.1.1/son.xpi) = ef988159928608d56ea34af4b7d5a37ec91ad7c7bba2a692e48717f35142be06 +SIZE (xpi/firefox-31.1.1/son.xpi) = 395339 +SHA256 (xpi/firefox-31.1.1/sq.xpi) = 5b7e3b0a8c8792196465c30260820f8365e8b3045a7d2786e2ad27101dec0bb4 +SIZE (xpi/firefox-31.1.1/sq.xpi) = 431332 +SHA256 (xpi/firefox-31.1.1/sr.xpi) = cf71728a9de5d45eae8688a85a9018404e37ec695cc8894fca8516d5b0fac2df +SIZE (xpi/firefox-31.1.1/sr.xpi) = 426098 +SHA256 (xpi/firefox-31.1.1/sv-SE.xpi) = fc6caed086a855da848ceb68cac8fe2b9a6a64b5a3a6605cf5c9bba84532ccd0 +SIZE (xpi/firefox-31.1.1/sv-SE.xpi) = 399222 +SHA256 (xpi/firefox-31.1.1/ta.xpi) = 28dbd7dd6a47b617b77a7dd5329ca69f5caa43ed795b7ba97500b923f2ae8b5a +SIZE (xpi/firefox-31.1.1/ta.xpi) = 447882 +SHA256 (xpi/firefox-31.1.1/te.xpi) = 0d9b89c3ee2a4939eb1f25942649a6767bf774ff3fb56b5612cb4c8ff40e12bf +SIZE (xpi/firefox-31.1.1/te.xpi) = 462784 +SHA256 (xpi/firefox-31.1.1/th.xpi) = 0c83a11e5b502d4bfd9ef8e8f1876d7a2aafd34d25d32d5d28e83b4bce26c2e8 +SIZE (xpi/firefox-31.1.1/th.xpi) = 478322 +SHA256 (xpi/firefox-31.1.1/tr.xpi) = 38e657289b5e23c0af4dac58943ef028bc52806ee9771f5fbd616530d561e56e +SIZE (xpi/firefox-31.1.1/tr.xpi) = 417566 +SHA256 (xpi/firefox-31.1.1/uk.xpi) = b3a2c405fc815451952517ec0b132699cbb247f291cd5a2190791223a744d581 +SIZE (xpi/firefox-31.1.1/uk.xpi) = 428198 +SHA256 (xpi/firefox-31.1.1/vi.xpi) = 29201bfd7c77c405e1d5f49694b398b1e205b632b8e958b5a0ba839e7eabbf3e +SIZE (xpi/firefox-31.1.1/vi.xpi) = 413570 +SHA256 (xpi/firefox-31.1.1/xh.xpi) = 38a24819d64c9f09b578601f2f285e55290d26475f806720dd1c1aa0281fdb60 +SIZE (xpi/firefox-31.1.1/xh.xpi) = 398072 +SHA256 (xpi/firefox-31.1.1/zh-CN.xpi) = 03f44281fe0d63243d6d975b1c030c202a0eba8862d507464b22bc3b69a0a9ac +SIZE (xpi/firefox-31.1.1/zh-CN.xpi) = 419826 +SHA256 (xpi/firefox-31.1.1/zh-TW.xpi) = 3ea6c0b5bf573259bbfda7fcc3933739cd2d14ce08911731157376724bc1f420 +SIZE (xpi/firefox-31.1.1/zh-TW.xpi) = 412717 +SHA256 (xpi/firefox-31.1.1/zu.xpi) = 3ad0b6daf51f88997e438d4b9e076b9f78ab8e6118b9fe153c1ff719ec4dac2b +SIZE (xpi/firefox-31.1.1/zu.xpi) = 433412 Modified: branches/firefox32/www/firefox-esr/Makefile ============================================================================== --- branches/firefox32/www/firefox-esr/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/www/firefox-esr/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,9 +2,8 @@ # $FreeBSD: head/www/firefox-esr/Makefile 367888 2014-09-10 20:50:31Z gerald $ PORTNAME= firefox -DISTVERSION= 31.1.0 +DISTVERSION= 31.1.1 DISTVERSIONSUFFIX=esr.source -PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}esr/source Modified: branches/firefox32/www/firefox-esr/distinfo ============================================================================== --- branches/firefox32/www/firefox-esr/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/www/firefox-esr/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,2 +1,2 @@ -SHA256 (firefox-31.1.0esr.source.tar.bz2) = 209c2666757c8ffeb9b8139f24a5bfda65fd52c78ce61e300e3547624bc42a7e -SIZE (firefox-31.1.0esr.source.tar.bz2) = 147741041 +SHA256 (firefox-31.1.1esr.source.tar.bz2) = 79be660e766b5adfaf3fc8031804bd64d27d330231f0de5995dd89671d1998d2 +SIZE (firefox-31.1.1esr.source.tar.bz2) = 147904415 Modified: branches/firefox32/www/firefox-nightly/Makefile ============================================================================== --- branches/firefox32/www/firefox-nightly/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/www/firefox-nightly/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -17,6 +17,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \ sqlite3>=3.8.6:${PORTSDIR}/databases/sqlite3 \ + nss>=3.17.1:${PORTSDIR}/security/nss \ v4l_compat>0:${PORTSDIR}/multimedia/v4l_compat \ libevent2>=2.0.21_2:${PORTSDIR}/devel/libevent2 \ cairo>=1.12.16_1,2:${PORTSDIR}/graphics/cairo \ @@ -29,7 +30,6 @@ nspr>=4.10.6:${PORTSDIR}/devel/nspr \ zip:${PORTSDIR}/archivers/zip \ unzip:${PORTSDIR}/archivers/unzip -# nss>=3.17.1:${PORTSDIR}/security/nss \ LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l Modified: branches/firefox32/www/firefox-nightly/Makefile.hgrev ============================================================================== --- branches/firefox32/www/firefox-nightly/Makefile.hgrev Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/www/firefox-nightly/Makefile.hgrev Wed Sep 24 15:27:39 2014 (r1703) @@ -1 +1 @@ -HGREV= 205121:92de4e82f011 +HGREV= 206902:d63a5fe3ace7 Modified: branches/firefox32/www/firefox-nightly/distinfo ============================================================================== --- branches/firefox32/www/firefox-nightly/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/www/firefox-nightly/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,2 +1,2 @@ -SHA256 (firefox-nightly/92de4e82f011.tar.bz2) = f3e12b1c5aa3bb71fc8badf5ddd97699bf8526e9d46c191552472d7be173613b -SIZE (firefox-nightly/92de4e82f011.tar.bz2) = 169879095 +SHA256 (firefox-nightly/d63a5fe3ace7.tar.bz2) = 8b8f53b15d039c408cdb7eb40d8630be37adae8e1b2e80a2e8e1b7935610c6cf +SIZE (firefox-nightly/d63a5fe3ace7.tar.bz2) = 172013889 Added: branches/firefox32/www/firefox-nightly/files/patch-bug1063726 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/firefox32/www/firefox-nightly/files/patch-bug1063726 Wed Sep 24 15:27:39 2014 (r1703) @@ -0,0 +1,41 @@ +diff --git js/src/configure.in js/src/configure.in +index 75177dd..1051ba2 100644 +--- js/src/configure.in ++++ js/src/configure.in +@@ -3913,7 +3913,17 @@ dnl ======================================================== + dnl JavaScript shell + dnl ======================================================== + +-AC_CHECK_HEADERS(malloc.h malloc/malloc.h) ++MALLOC_HEADERS="malloc.h malloc_np.h malloc/malloc.h sys/malloc.h" ++MALLOC_H= ++ ++for file in $MALLOC_HEADERS; do ++ MOZ_CHECK_HEADER($file, [MALLOC_H=$file]) ++ if test "$MALLOC_H" != ""; then ++ AC_DEFINE_UNQUOTED(MALLOC_H, <$MALLOC_H>) ++ break ++ fi ++done ++ + AC_CHECK_FUNCS(setlocale localeconv malloc_size malloc_usable_size) + + AC_SUBST(MOZILLA_VERSION) +diff --git js/src/shell/js.cpp js/src/shell/js.cpp +index 866522a..b0b475f 100644 +--- js/src/shell/js.cpp ++++ js/src/shell/js.cpp +@@ -22,11 +22,8 @@ + # include /* for isatty() */ + #endif + #include +-#ifdef HAVE_MALLOC_H /* for malloc_usable_size on Linux, _msize on Windows */ +-#include +-#endif +-#ifdef HAVE_MALLOC_MALLOC_H +-#include /* for malloc_size on OSX */ ++#if defined(MALLOC_H) ++#include MALLOC_H /* for malloc_usable_size, malloc_size, _msize */ + #endif + #include + #include Modified: branches/firefox32/www/firefox/Makefile ============================================================================== --- branches/firefox32/www/firefox/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/www/firefox/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,9 +2,8 @@ # $FreeBSD: head/www/firefox/Makefile 367888 2014-09-10 20:50:31Z gerald $ PORTNAME= firefox -DISTVERSION= 32.0.2 +DISTVERSION= 32.0.3 DISTVERSIONSUFFIX=.source -PORTREVISION= 2 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ Modified: branches/firefox32/www/firefox/distinfo ============================================================================== --- branches/firefox32/www/firefox/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/www/firefox/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,2 +1,2 @@ -SHA256 (firefox-32.0.2.source.tar.bz2) = c6c9e89c2af24a3e0ee994e8a499889d169c986678ee00f62bfee0e216ab21e2 -SIZE (firefox-32.0.2.source.tar.bz2) = 150330747 +SHA256 (firefox-32.0.3.source.tar.bz2) = ae2aa20538d03b392a04663593fb106c0aec2d8bbb78ddac84a88ce7617b1efe +SIZE (firefox-32.0.3.source.tar.bz2) = 150323569 Modified: branches/firefox32/www/libxul/Makefile ============================================================================== --- branches/firefox32/www/libxul/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/www/libxul/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,7 +2,7 @@ # $FreeBSD: head/www/libxul/Makefile 367712 2014-09-09 06:16:35Z bapt $ PORTNAME= libxul -DISTVERSION= 24.8.0 +DISTVERSION= 24.8.1 CATEGORIES?= www devel MASTER_SITES= MOZILLA/firefox/releases/${DISTVERSION}esr/source \ https://ftp.mozilla.org/pub/mozilla.org/firefox/candidates/${DISTVERSION}esr-candidates/build1/source/ Modified: branches/firefox32/www/libxul/distinfo ============================================================================== --- branches/firefox32/www/libxul/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/www/libxul/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,2 +1,2 @@ -SHA256 (firefox-24.8.0esr.source.tar.bz2) = d1247f58f898f2dcc0f21572ac0df6d27a3ed6b0a4c92f6d10ad377ac021c006 -SIZE (firefox-24.8.0esr.source.tar.bz2) = 119635865 +SHA256 (firefox-24.8.1esr.source.tar.bz2) = 53db5f6d52e4669bf2650b1dd9d480b31eb1cc42c107ed741a65fb5bcacc8932 +SIZE (firefox-24.8.1esr.source.tar.bz2) = 119811868 Modified: branches/firefox32/www/linux-firefox/Makefile ============================================================================== --- branches/firefox32/www/linux-firefox/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/www/linux-firefox/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,7 +2,7 @@ # $FreeBSD: head/www/linux-firefox/Makefile 367741 2014-09-09 15:12:32Z bapt $ PORTNAME= firefox -DISTVERSION= 32.0 +DISTVERSION= 32.0.3 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/linux-i686/en-US Modified: branches/firefox32/www/linux-firefox/distinfo ============================================================================== --- branches/firefox32/www/linux-firefox/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/www/linux-firefox/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,5 +1,5 @@ -SHA256 (firefox-32.0.tar.bz2) = 1a6d8fe7cf0df7ccee2047c2031da4b8f0ef8271d6413e0c7bc87bf208c8af90 -SIZE (firefox-32.0.tar.bz2) = 42250989 +SHA256 (firefox-32.0.3.tar.bz2) = 265ae5df1a5f2edeae8d08bdcde45df0920f6fb0ad70385371d06ff890017982 +SIZE (firefox-32.0.3.tar.bz2) = 42239723 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/firefox32/www/linux-seamonkey/Makefile ============================================================================== --- branches/firefox32/www/linux-seamonkey/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/www/linux-seamonkey/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,7 +2,7 @@ # $FreeBSD: head/www/linux-seamonkey/Makefile 367712 2014-09-09 06:16:35Z bapt $ PORTNAME= seamonkey -DISTVERSION= 2.29 +DISTVERSION= 2.29.1 CATEGORIES= www mail news editors irc ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/linux-i686/en-US Modified: branches/firefox32/www/linux-seamonkey/distinfo ============================================================================== --- branches/firefox32/www/linux-seamonkey/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/www/linux-seamonkey/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,5 +1,5 @@ -SHA256 (seamonkey-2.29.tar.bz2) = a720476302ad71f09d8767031bd212d87ee287b4af7ce3d9afb087cedba061fa -SIZE (seamonkey-2.29.tar.bz2) = 40067489 +SHA256 (seamonkey-2.29.1.tar.bz2) = 8f92ed28925080a55996ffd90d764f961c05c072cba806fac1de3c53f432393b +SIZE (seamonkey-2.29.1.tar.bz2) = 40020490 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/firefox32/www/seamonkey-i18n/Makefile ============================================================================== --- branches/firefox32/www/seamonkey-i18n/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/www/seamonkey-i18n/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,8 +2,7 @@ # $FreeBSD: head/www/seamonkey-i18n/Makefile 367888 2014-09-10 20:50:31Z gerald $ PORTNAME= seamonkey-i18n -PORTVERSION= 2.29 -PORTREVISION= 1 +PORTVERSION= 2.29.1 CATEGORIES= www mail news editors irc MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}/langpack PKGNAMEPREFIX= Modified: branches/firefox32/www/seamonkey-i18n/distinfo ============================================================================== --- branches/firefox32/www/seamonkey-i18n/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/www/seamonkey-i18n/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,54 +1,52 @@ -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.be.langpack.xpi) = 7156f9cf1bdc434df8d787f8781a3fce523cb0b03adbf6d628a633210bea45e2 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.be.langpack.xpi) = 837342 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.ca.langpack.xpi) = 2a5f02b5abc8ca12749526433ca52ced53a114a2cfc3766c93d664d13d402054 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.ca.langpack.xpi) = 830892 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.cs.langpack.xpi) = bf1b71cfc9430a1ed23675dc63f1bd8109e94812f8c4ba37971590f76fe47481 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.cs.langpack.xpi) = 832267 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.de.langpack.xpi) = d58be885968cab5a05ce93925e343bf7a2f1c048f0d77e07c1afa74775ef6fe4 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.de.langpack.xpi) = 837071 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.en-GB.langpack.xpi) = 74ebdfcbe032a008995a8af4851a68aed71c59dcf52ce2c9f62f26e6f1881b5b -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.en-GB.langpack.xpi) = 800824 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.en-US.langpack.xpi) = 90a077d0554a8c2c74adf5d227f979e047fb09263699b19f226003b57074cd98 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.en-US.langpack.xpi) = 800944 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.es-AR.langpack.xpi) = 0b29152faf12eeb15e5e103ade800a84476248533995881d4aec86725b3ba0c2 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.es-AR.langpack.xpi) = 851548 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.es-ES.langpack.xpi) = 760f505e4daf36c7c43280a7e642929408f38d55fbb2fb840cb23a2771a7ecc6 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.es-ES.langpack.xpi) = 827396 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.fi.langpack.xpi) = 5fb0e08c5aaf243e4ea8353646380b0ce3fc1ffdb39b6cc7ba861f68618e2449 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.fi.langpack.xpi) = 798956 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.fr.langpack.xpi) = 463c36cf9bddefd82edb9319f8e8622c2d19042d3e1daa130590b4f57c5bc1fa -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.fr.langpack.xpi) = 809847 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.gl.langpack.xpi) = 86787a3c7f2763015daa41c19c43d4e9a6ff86c94fa73ac7a9ed9a7e1d757eb7 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.gl.langpack.xpi) = 811260 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.hu.langpack.xpi) = b0ae2c18ac97b8d85e7610adc7940b48f7afe05efe96dacbcacd2e98e00435fd -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.hu.langpack.xpi) = 845863 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.it.langpack.xpi) = 5d7a3f10b56055513f6662cfd3f4f3ec875a3ac1bfd80f8f419a755908e68b82 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.it.langpack.xpi) = 747522 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.ja-JP-mac.langpack.xpi) = 01295c4f761047bb4dc922d8413e1ec0dbf1770f26ea8ca2b66d7b4b5f795d77 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.ja-JP-mac.langpack.xpi) = 898135 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.ja.langpack.xpi) = 5c4ebde4f5aa44f783c0fa8049f35743ed9d38d19a8454e5049226fecf5abe5d -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.ja.langpack.xpi) = 882629 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.lt.langpack.xpi) = e51a198178388e904dbbbe6516d11bdebe8088eac8aae592c2d4a74af01ea901 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.lt.langpack.xpi) = 847471 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.nb-NO.langpack.xpi) = 5095a8d70b61aa3c25d85df4a32bdf2ef679b5542a5ec2b30bbbd7945544102c -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.nb-NO.langpack.xpi) = 820413 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.nl.langpack.xpi) = c38dd25bab68fad1a866749a82607f613ca67675a2caefdd9a01c5b46ecb2a5a -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.nl.langpack.xpi) = 795956 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.pl.langpack.xpi) = dc2b727b0eb97f57797b90b51e645a460d114593881496313e4d2af06fc8e9da -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.pl.langpack.xpi) = 868183 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.pt-PT.langpack.xpi) = 22374e79ea755d3059b1978dae3c48c93e4e66858fb0f6e8e44883d820ae23ab -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.pt-PT.langpack.xpi) = 835296 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.ru.langpack.xpi) = 45979fe8e50956ae0eafedc7dc69a8ef3843ccad877270f3a2e6631c0ce5b2b8 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.ru.langpack.xpi) = 904348 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.sk.langpack.xpi) = 1212df2c49c181fd670edd77021541161e1269ab505091b72007b7f4d7a04d6a -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.sk.langpack.xpi) = 859264 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.sv-SE.langpack.xpi) = 4efc90b6202f41ab3dcba433bbdfff8a004b784d9474ac2b1edb1cd85872450b -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.sv-SE.langpack.xpi) = 824245 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.tr.langpack.xpi) = 93839797d69b5a2f7e29505545bf30a270f9cdd14472068aaa6db3e248419113 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.tr.langpack.xpi) = 808130 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.uk.langpack.xpi) = 82d67aba56e2a0db1718d0dc1953c99fd6bcf1c2b0c3246a5e0ad5bb198729cd -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.uk.langpack.xpi) = 870445 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.zh-CN.langpack.xpi) = adad6ec03d8d0ccb55872b642bf6ca41819550d01ef99fe9cdc2df5e3f29657e -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.zh-CN.langpack.xpi) = 833563 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.zh-TW.langpack.xpi) = 9512cc0203dc8af4596fc3ee6ef4bc04af19efc2c967a62818776b02b2d2ebf7 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.zh-TW.langpack.xpi) = 858130 +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.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 Modified: branches/firefox32/www/seamonkey/Makefile ============================================================================== --- branches/firefox32/www/seamonkey/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/www/seamonkey/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,7 +2,7 @@ # $FreeBSD: head/www/seamonkey/Makefile 367712 2014-09-09 06:16:35Z bapt $ PORTNAME= seamonkey -DISTVERSION= 2.29 +DISTVERSION= 2.29.1 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/ Modified: branches/firefox32/www/seamonkey/distinfo ============================================================================== --- branches/firefox32/www/seamonkey/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ branches/firefox32/www/seamonkey/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,4 +1,4 @@ -SHA256 (seamonkey-2.29.source.tar.bz2) = 48945f7832e3c0b527347054f311278aec87175973dcf474a06c2b3a46528e43 -SIZE (seamonkey-2.29.source.tar.bz2) = 174027049 +SHA256 (seamonkey-2.29.1.source.tar.bz2) = 26e345f71c6f305084ada10e10e55356fe4f08be25948cddb27eea81c0cd0679 +SIZE (seamonkey-2.29.1.source.tar.bz2) = 173439941 SHA256 (enigmail-1.7.2.tar.gz) = 7b3a62e83961bafec1cdac60075aa6c317c8f655a837e31a7d1f3ce6a49fc7d6 SIZE (enigmail-1.7.2.tar.gz) = 1420346 Modified: trunk/mail/linux-thunderbird/Makefile ============================================================================== --- trunk/mail/linux-thunderbird/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/mail/linux-thunderbird/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,7 +2,7 @@ # $FreeBSD: head/mail/linux-thunderbird/Makefile 367712 2014-09-09 06:16:35Z bapt $ PORTNAME= thunderbird -DISTVERSION= 31.1.0 +DISTVERSION= 31.1.2 CATEGORIES= mail news net-im ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/linux-i686/en-US Modified: trunk/mail/linux-thunderbird/distinfo ============================================================================== --- trunk/mail/linux-thunderbird/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/mail/linux-thunderbird/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,5 +1,5 @@ -SHA256 (thunderbird-31.1.0.tar.bz2) = 234a6e0909880e7114e119e3fec34459652b43b51b307ae1f6e1a14d5f0dbdfc -SIZE (thunderbird-31.1.0.tar.bz2) = 33438760 +SHA256 (thunderbird-31.1.2.tar.bz2) = 9209fa7bdada6245717dbfaf517d68cef04719812504bc0c988def6adc7baab5 +SIZE (thunderbird-31.1.2.tar.bz2) = 33552961 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: trunk/mail/thunderbird-i18n/Makefile ============================================================================== --- trunk/mail/thunderbird-i18n/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/mail/thunderbird-i18n/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,7 +2,7 @@ # $FreeBSD: head/mail/thunderbird-i18n/Makefile 368047 2014-09-12 17:06:09Z mandree $ PORTNAME= thunderbird-i18n -PORTVERSION= 31.1.1 +PORTVERSION= 31.1.2 CATEGORIES= mail news net-im MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}/linux-i686/xpi PKGNAMEPREFIX= Modified: trunk/mail/thunderbird-i18n/distinfo ============================================================================== --- trunk/mail/thunderbird-i18n/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/mail/thunderbird-i18n/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,110 +1,110 @@ -SHA256 (xpi/thunderbird-i18n-31.1.1/ar.xpi) = 45ac5d25d21c0a957af905d0e147a72e752285672a20c068c304d222a1cd21f5 -SIZE (xpi/thunderbird-i18n-31.1.1/ar.xpi) = 472811 -SHA256 (xpi/thunderbird-i18n-31.1.1/ast.xpi) = 021b71d1691b6e4eafe0ec3940791f7bdb42254a5285c8291a3375f38a7d41d6 -SIZE (xpi/thunderbird-i18n-31.1.1/ast.xpi) = 393048 -SHA256 (xpi/thunderbird-i18n-31.1.1/be.xpi) = a171947b8f3ed2e5f445b404c0077ebf9d20949917177a0096d1042fa490e3c5 -SIZE (xpi/thunderbird-i18n-31.1.1/be.xpi) = 427487 -SHA256 (xpi/thunderbird-i18n-31.1.1/bg.xpi) = cf1f8e7de6895e2b329ddb3efb591348e210365b335a2aba1e117c1a5530bed2 -SIZE (xpi/thunderbird-i18n-31.1.1/bg.xpi) = 493733 -SHA256 (xpi/thunderbird-i18n-31.1.1/bn-BD.xpi) = 2ac922d71f6f3709638b5a62f598b79326818155793a2c3448809cbfe6c88e9f -SIZE (xpi/thunderbird-i18n-31.1.1/bn-BD.xpi) = 555612 -SHA256 (xpi/thunderbird-i18n-31.1.1/br.xpi) = 8b39b65d08ad6dcf72b4d8d5b549ac124d9fbd3e481479ff79b54207d8de6419 -SIZE (xpi/thunderbird-i18n-31.1.1/br.xpi) = 441444 -SHA256 (xpi/thunderbird-i18n-31.1.1/ca.xpi) = 17342e8bfe1c2e9306c241ac6a844faa1c44e7f5891eaceaf9fb30b41762d505 -SIZE (xpi/thunderbird-i18n-31.1.1/ca.xpi) = 441713 -SHA256 (xpi/thunderbird-i18n-31.1.1/cs.xpi) = 3362c2102c9cf3ecb384f4bb5baab2030076b2e0101b45203c1db77b04364ff9 -SIZE (xpi/thunderbird-i18n-31.1.1/cs.xpi) = 444700 -SHA256 (xpi/thunderbird-i18n-31.1.1/da.xpi) = cfb30270b974b2b3c09180734160d2ac6612a5316f68b8191d3eecffcf2ce4b2 -SIZE (xpi/thunderbird-i18n-31.1.1/da.xpi) = 422050 -SHA256 (xpi/thunderbird-i18n-31.1.1/de.xpi) = 1783aa0170515893f15f196be3c98fa3b1b60b3b0affd958459a63bde60df6c8 -SIZE (xpi/thunderbird-i18n-31.1.1/de.xpi) = 424664 -SHA256 (xpi/thunderbird-i18n-31.1.1/el.xpi) = 99dd898371f275f1d252c517793298e37bb0d02329a134243fb2d46bdeed283b -SIZE (xpi/thunderbird-i18n-31.1.1/el.xpi) = 484854 -SHA256 (xpi/thunderbird-i18n-31.1.1/en-GB.xpi) = ad94067e3ea59e3e5aac7a48caad77e7518b2756cd3b50426db9f14ea0debfa6 -SIZE (xpi/thunderbird-i18n-31.1.1/en-GB.xpi) = 412513 -SHA256 (xpi/thunderbird-i18n-31.1.1/en-US.xpi) = 53d193f702698ac79937281f284f278ac92b6b83abc76b3e90a3341036f45d55 -SIZE (xpi/thunderbird-i18n-31.1.1/en-US.xpi) = 413659 -SHA256 (xpi/thunderbird-i18n-31.1.1/es-AR.xpi) = 4c0c242696e9b72070a4657375682b0b60d3673688a2393a01228ca74816f3f5 -SIZE (xpi/thunderbird-i18n-31.1.1/es-AR.xpi) = 438530 -SHA256 (xpi/thunderbird-i18n-31.1.1/es-ES.xpi) = 2b771ed5197982e61cc591acca4984f840352bcff7cfdeebf42f594c8aa592ff -SIZE (xpi/thunderbird-i18n-31.1.1/es-ES.xpi) = 374978 -SHA256 (xpi/thunderbird-i18n-31.1.1/et.xpi) = a4b604ec8134d723d722043697a34d3a4d055864daf083fb0f143347866d3276 -SIZE (xpi/thunderbird-i18n-31.1.1/et.xpi) = 434363 -SHA256 (xpi/thunderbird-i18n-31.1.1/eu.xpi) = b35314a636494fff93129ff64ae0c5f38928085a57cab7d60e4b942c73ef736b -SIZE (xpi/thunderbird-i18n-31.1.1/eu.xpi) = 431447 -SHA256 (xpi/thunderbird-i18n-31.1.1/fi.xpi) = 88e1248c99ab3672c27d9ac80cbba4cdb281ef8ff729ee264f07868e45625dad -SIZE (xpi/thunderbird-i18n-31.1.1/fi.xpi) = 435631 -SHA256 (xpi/thunderbird-i18n-31.1.1/fr.xpi) = 8fe47b32f4b0090a14e18468f933a2284ef27ab9ce8eda6bf1c1263d74271a53 -SIZE (xpi/thunderbird-i18n-31.1.1/fr.xpi) = 444143 -SHA256 (xpi/thunderbird-i18n-31.1.1/fy-NL.xpi) = 5957b065f85e1e9d921fbd791ce195c70e43ab66926b9475282a266ed59331fa -SIZE (xpi/thunderbird-i18n-31.1.1/fy-NL.xpi) = 438543 -SHA256 (xpi/thunderbird-i18n-31.1.1/ga-IE.xpi) = 90903a232a797053004651fa40830732d20dcca83fb1fe3e7ba2961f9df1c15e -SIZE (xpi/thunderbird-i18n-31.1.1/ga-IE.xpi) = 449360 -SHA256 (xpi/thunderbird-i18n-31.1.1/gd.xpi) = 9198aff1e5f04f43215c880b6b2e691c927fee054afe9be6369034d60c330f55 -SIZE (xpi/thunderbird-i18n-31.1.1/gd.xpi) = 453170 -SHA256 (xpi/thunderbird-i18n-31.1.1/gl.xpi) = bc44423acf05d855560f083ab97cd5dbb990f21f03c7837060336fa1c8e892fc -SIZE (xpi/thunderbird-i18n-31.1.1/gl.xpi) = 446787 -SHA256 (xpi/thunderbird-i18n-31.1.1/he.xpi) = 8ecb790935f4cd54e12a981f5639bde4749d6d49d5c5417d7755adaf63f241f8 -SIZE (xpi/thunderbird-i18n-31.1.1/he.xpi) = 476110 -SHA256 (xpi/thunderbird-i18n-31.1.1/hr.xpi) = e9ef6228d9575a5337e2258b2ebd9623e7a606cca63b28b10033e1af9450dc10 -SIZE (xpi/thunderbird-i18n-31.1.1/hr.xpi) = 436979 -SHA256 (xpi/thunderbird-i18n-31.1.1/hu.xpi) = 7860972cf67dfea862c9640230645da48677d7ee69e0340d4281b993c0047376 -SIZE (xpi/thunderbird-i18n-31.1.1/hu.xpi) = 454541 -SHA256 (xpi/thunderbird-i18n-31.1.1/hy-AM.xpi) = 4d97adfb435b3c9e7548350665b030282201133ca4f4b01dafb2d82dcd0f9c67 -SIZE (xpi/thunderbird-i18n-31.1.1/hy-AM.xpi) = 492765 -SHA256 (xpi/thunderbird-i18n-31.1.1/id.xpi) = c3e7434a29f49b0d7e8e7f1f6a8dd35ff01d12248a25d502b163dd862d495f58 -SIZE (xpi/thunderbird-i18n-31.1.1/id.xpi) = 475875 -SHA256 (xpi/thunderbird-i18n-31.1.1/is.xpi) = 10b80928e28557e07aaf044ec6bdaf465ab0d17cf27a1dd112078dd2d9430142 -SIZE (xpi/thunderbird-i18n-31.1.1/is.xpi) = 437958 -SHA256 (xpi/thunderbird-i18n-31.1.1/it.xpi) = 5064b63ac3019ee76f487703bd013b5186253926ee0516b5b2644ae6178d7a21 -SIZE (xpi/thunderbird-i18n-31.1.1/it.xpi) = 368000 -SHA256 (xpi/thunderbird-i18n-31.1.1/ja.xpi) = b67cbd4111cd5299baaf2ff17cadc78e1c32df19957617e410885e0d3a66a6a8 -SIZE (xpi/thunderbird-i18n-31.1.1/ja.xpi) = 489265 -SHA256 (xpi/thunderbird-i18n-31.1.1/ko.xpi) = 1db6c055c5466d91e29fc3950692ccd557ac7d1a05bee10337a8747dfb52152e -SIZE (xpi/thunderbird-i18n-31.1.1/ko.xpi) = 448919 -SHA256 (xpi/thunderbird-i18n-31.1.1/lt.xpi) = 481e15d77da7e9282f3045bfbf45e3753977c2f2dcfe491789e9d4d7dde50405 -SIZE (xpi/thunderbird-i18n-31.1.1/lt.xpi) = 457812 -SHA256 (xpi/thunderbird-i18n-31.1.1/nb-NO.xpi) = baa6000d30faa8c107097c0e5148b90d5c96eeb190c7d8a39c55d6323c209bc7 -SIZE (xpi/thunderbird-i18n-31.1.1/nb-NO.xpi) = 430941 -SHA256 (xpi/thunderbird-i18n-31.1.1/nl.xpi) = 0429c0f99647b2428f35eaea3fe7afefb5ed0af3e3137de321ac707f2361b425 -SIZE (xpi/thunderbird-i18n-31.1.1/nl.xpi) = 431887 -SHA256 (xpi/thunderbird-i18n-31.1.1/nn-NO.xpi) = 40b04b97892852ab986a8c8807eccba0dd393cda2908181ca69d13b2495f5ca2 -SIZE (xpi/thunderbird-i18n-31.1.1/nn-NO.xpi) = 433197 -SHA256 (xpi/thunderbird-i18n-31.1.1/pa-IN.xpi) = 190336598fa88787a1b5fb3c02689bfbeda8fb44724cf8932983f5d690905e31 -SIZE (xpi/thunderbird-i18n-31.1.1/pa-IN.xpi) = 525323 -SHA256 (xpi/thunderbird-i18n-31.1.1/pl.xpi) = abaaabcecb13c87da5c37948707a23c585a518ac0fad0415cbcd3c01a7f63684 -SIZE (xpi/thunderbird-i18n-31.1.1/pl.xpi) = 410872 -SHA256 (xpi/thunderbird-i18n-31.1.1/pt-BR.xpi) = e2f2c2252027259a63faf4af5d66d1782c3013536b8125b5f382276171ddf073 -SIZE (xpi/thunderbird-i18n-31.1.1/pt-BR.xpi) = 450476 -SHA256 (xpi/thunderbird-i18n-31.1.1/pt-PT.xpi) = f954ca61f34d726831bc56c7d41056e17103ec6f4e14deb50c7b413576ce19da -SIZE (xpi/thunderbird-i18n-31.1.1/pt-PT.xpi) = 439604 -SHA256 (xpi/thunderbird-i18n-31.1.1/rm.xpi) = 1ee8ca4636f798d265981d88fcfbebbf5e72cabcff243ec051cf5ce9d5fa9075 -SIZE (xpi/thunderbird-i18n-31.1.1/rm.xpi) = 439184 -SHA256 (xpi/thunderbird-i18n-31.1.1/ro.xpi) = b12f4eab60f7dc9ed44ffece72b481b1325fe6594f46d0723bf8c8412607d235 -SIZE (xpi/thunderbird-i18n-31.1.1/ro.xpi) = 479746 -SHA256 (xpi/thunderbird-i18n-31.1.1/ru.xpi) = 1662fb2c7961d30ca4151d083572b22f0fcf882f9f023eb9a908cba6e9e9928c -SIZE (xpi/thunderbird-i18n-31.1.1/ru.xpi) = 436155 -SHA256 (xpi/thunderbird-i18n-31.1.1/si.xpi) = 591041c12cf03fe84838c2ea2b3a26cc4d8d206b9e8a566fd19af14539697d8d -SIZE (xpi/thunderbird-i18n-31.1.1/si.xpi) = 528811 -SHA256 (xpi/thunderbird-i18n-31.1.1/sk.xpi) = 7ac2059fb064fb50223f8c6050f0d40a55c768e6da46fbae5c93a054517cb296 -SIZE (xpi/thunderbird-i18n-31.1.1/sk.xpi) = 452994 -SHA256 (xpi/thunderbird-i18n-31.1.1/sl.xpi) = 08674b608250bc80292cc3438d083a4f0108467ecab26aef4ac24146d5555027 -SIZE (xpi/thunderbird-i18n-31.1.1/sl.xpi) = 433874 -SHA256 (xpi/thunderbird-i18n-31.1.1/sq.xpi) = af2adbe89f86742892beab9bedb3616f5ac4fcda6f9b8fb90d1dfe62cbe2d896 -SIZE (xpi/thunderbird-i18n-31.1.1/sq.xpi) = 454694 -SHA256 (xpi/thunderbird-i18n-31.1.1/sr.xpi) = 7ae94982e79dba2743c94baad0e0fa0a334e176ff0ec41ea2979c909f9579802 -SIZE (xpi/thunderbird-i18n-31.1.1/sr.xpi) = 537334 -SHA256 (xpi/thunderbird-i18n-31.1.1/sv-SE.xpi) = d715f108594782433ae448e595b0f75f974d25327a8d31d960ce4f8c23219d9e -SIZE (xpi/thunderbird-i18n-31.1.1/sv-SE.xpi) = 436104 -SHA256 (xpi/thunderbird-i18n-31.1.1/ta-LK.xpi) = c8e3a0798124f15dd4e12ea10ccbed0b8df5c5ace03750c05b2a0288153ee341 -SIZE (xpi/thunderbird-i18n-31.1.1/ta-LK.xpi) = 553508 -SHA256 (xpi/thunderbird-i18n-31.1.1/tr.xpi) = ecbc30705e1e851d6e496363107077a08ef6d749bf7c2aedd4368620b5eabc03 -SIZE (xpi/thunderbird-i18n-31.1.1/tr.xpi) = 457360 -SHA256 (xpi/thunderbird-i18n-31.1.1/uk.xpi) = 270ec2a5bf47b598eb30f68f311d3edb44c76d2c2b750479e07db502379acd1a -SIZE (xpi/thunderbird-i18n-31.1.1/uk.xpi) = 499655 -SHA256 (xpi/thunderbird-i18n-31.1.1/vi.xpi) = 65e5627d594f81a52b9010e266c30603998a0147f8f68173216617944bbbe339 -SIZE (xpi/thunderbird-i18n-31.1.1/vi.xpi) = 513834 -SHA256 (xpi/thunderbird-i18n-31.1.1/zh-CN.xpi) = acebf0149f1a68b9ee37515b58cf0090a26f8e99dc942341385575c5e07e85d5 -SIZE (xpi/thunderbird-i18n-31.1.1/zh-CN.xpi) = 462667 -SHA256 (xpi/thunderbird-i18n-31.1.1/zh-TW.xpi) = 1619eb52d4a58384d2dee1f5734cc4498e3c7f7f1ad841f2068b01b7366da79f -SIZE (xpi/thunderbird-i18n-31.1.1/zh-TW.xpi) = 463407 +SHA256 (xpi/thunderbird-i18n-31.1.2/ar.xpi) = d7f7f5fa42bc7dbeeb67ea312cd1390f9daf38cf22db2d29acebcd1d3e74d1fa +SIZE (xpi/thunderbird-i18n-31.1.2/ar.xpi) = 472810 +SHA256 (xpi/thunderbird-i18n-31.1.2/ast.xpi) = 635422fbc96177f43cb01c292a3b0a06ceb3040355d00880a6ddeffb4dcfeb4a +SIZE (xpi/thunderbird-i18n-31.1.2/ast.xpi) = 393048 +SHA256 (xpi/thunderbird-i18n-31.1.2/be.xpi) = a8a48f464b3a44a5724096995431606b740af3247bb325f47a63c065f626c1d7 +SIZE (xpi/thunderbird-i18n-31.1.2/be.xpi) = 427488 +SHA256 (xpi/thunderbird-i18n-31.1.2/bg.xpi) = e5dd2c1c5a97cc90514a1d0e0852e8579e625d689964b198036a6ac6f33e446c +SIZE (xpi/thunderbird-i18n-31.1.2/bg.xpi) = 493735 +SHA256 (xpi/thunderbird-i18n-31.1.2/bn-BD.xpi) = 461fac71d5d8a3910d68740def12b2235374b39f5cfa01ab912021e295cbd3c2 +SIZE (xpi/thunderbird-i18n-31.1.2/bn-BD.xpi) = 555612 +SHA256 (xpi/thunderbird-i18n-31.1.2/br.xpi) = 3c1d248c517de97d559a85f127e6871afd1a8c245cb4999be80626a258bdbb49 +SIZE (xpi/thunderbird-i18n-31.1.2/br.xpi) = 441444 +SHA256 (xpi/thunderbird-i18n-31.1.2/ca.xpi) = fff999721e7b388880a7a9c64d73add479e2a2f9e447b8d4e506a318efde9069 +SIZE (xpi/thunderbird-i18n-31.1.2/ca.xpi) = 441712 +SHA256 (xpi/thunderbird-i18n-31.1.2/cs.xpi) = 40c16d650c2f48ea945daca989f24cc293343794c45c5cde3f7ffe1305b8f159 +SIZE (xpi/thunderbird-i18n-31.1.2/cs.xpi) = 444701 +SHA256 (xpi/thunderbird-i18n-31.1.2/da.xpi) = fdfd890e09e23004cc1ba4c0df38648cd74f1c8d9d8d336c15a2aee8f75d98fc +SIZE (xpi/thunderbird-i18n-31.1.2/da.xpi) = 422052 +SHA256 (xpi/thunderbird-i18n-31.1.2/de.xpi) = da60f2a84ca8cb6b4e15393046ae43adac368dac35327f04bf89d31e8e0f829e +SIZE (xpi/thunderbird-i18n-31.1.2/de.xpi) = 424665 +SHA256 (xpi/thunderbird-i18n-31.1.2/el.xpi) = 975fdb6134fe5436d0459eb89dc6e8ae3d8829f2b8f7b5a3387011215184cef5 +SIZE (xpi/thunderbird-i18n-31.1.2/el.xpi) = 484855 +SHA256 (xpi/thunderbird-i18n-31.1.2/en-GB.xpi) = 87ac86fac2b341286e9789c1037404588813bb858e9cd718f7de5e401ddade6e +SIZE (xpi/thunderbird-i18n-31.1.2/en-GB.xpi) = 412515 +SHA256 (xpi/thunderbird-i18n-31.1.2/en-US.xpi) = f96739de83f760ee65727e9a68ad59e13cc60d2272b6a03bc80b5153fa0a365a +SIZE (xpi/thunderbird-i18n-31.1.2/en-US.xpi) = 413660 +SHA256 (xpi/thunderbird-i18n-31.1.2/es-AR.xpi) = d50ef569c6f74ceac8d9eb128cd98c3b2bb0af4853d1bf7a26265d5f31a8d452 +SIZE (xpi/thunderbird-i18n-31.1.2/es-AR.xpi) = 438530 +SHA256 (xpi/thunderbird-i18n-31.1.2/es-ES.xpi) = 6a9ec42a0f90b1d59fb61e47e533b5c79df41e13d8452d2fba5e5a649527cffe +SIZE (xpi/thunderbird-i18n-31.1.2/es-ES.xpi) = 374979 +SHA256 (xpi/thunderbird-i18n-31.1.2/et.xpi) = 7763519e3c74f37afa026a8fe7214a2b99e9d0f86391031eaa66869e3ef74870 +SIZE (xpi/thunderbird-i18n-31.1.2/et.xpi) = 434364 +SHA256 (xpi/thunderbird-i18n-31.1.2/eu.xpi) = 233ce00a457754f2454f26e618cc01f1736671a717a96b63cc7bea3d72193172 +SIZE (xpi/thunderbird-i18n-31.1.2/eu.xpi) = 431448 +SHA256 (xpi/thunderbird-i18n-31.1.2/fi.xpi) = 833ce0403ed46f87cb2730d2a0a4f3cdaa383295f84e7beeb90d6e48b2a0ddf7 +SIZE (xpi/thunderbird-i18n-31.1.2/fi.xpi) = 435632 +SHA256 (xpi/thunderbird-i18n-31.1.2/fr.xpi) = daf99b99c3fa73679801750bfbd33ac007edc05621ad663e4e26ddfee17b5dd2 +SIZE (xpi/thunderbird-i18n-31.1.2/fr.xpi) = 444143 +SHA256 (xpi/thunderbird-i18n-31.1.2/fy-NL.xpi) = f775a2236591a18d84fcf36e5b5a5d1bb8a5864b91faa29c2b39e0bee599ff0e +SIZE (xpi/thunderbird-i18n-31.1.2/fy-NL.xpi) = 438544 +SHA256 (xpi/thunderbird-i18n-31.1.2/ga-IE.xpi) = 6eed7b3ac1e4f9ac89b138041c2a10d7fae0ef5492035397bfafe771952526db +SIZE (xpi/thunderbird-i18n-31.1.2/ga-IE.xpi) = 449361 +SHA256 (xpi/thunderbird-i18n-31.1.2/gd.xpi) = 0576fb35d74a20624581b4fe53ef916032e77e3c7bfd9a7b86fdf687a413c923 +SIZE (xpi/thunderbird-i18n-31.1.2/gd.xpi) = 453171 +SHA256 (xpi/thunderbird-i18n-31.1.2/gl.xpi) = 274c45fe7bffe038a9c846359e99847193672e7c4dcec4c47e65720a8d16e3c0 +SIZE (xpi/thunderbird-i18n-31.1.2/gl.xpi) = 446787 +SHA256 (xpi/thunderbird-i18n-31.1.2/he.xpi) = 784505dd220387ff2b569118380957882feabf61366a9cde1e794e4fc08414f7 +SIZE (xpi/thunderbird-i18n-31.1.2/he.xpi) = 476111 +SHA256 (xpi/thunderbird-i18n-31.1.2/hr.xpi) = 4908835dafeb9bef43f4fa294f254bcd64c611c40f1aa35716730f179a3af554 +SIZE (xpi/thunderbird-i18n-31.1.2/hr.xpi) = 436982 +SHA256 (xpi/thunderbird-i18n-31.1.2/hu.xpi) = 210f50f948c726744ffdfa33cdb1fd9f4434698bd6c131257984f2e2cdcc1ecc +SIZE (xpi/thunderbird-i18n-31.1.2/hu.xpi) = 454541 +SHA256 (xpi/thunderbird-i18n-31.1.2/hy-AM.xpi) = 8acd553aacfdf9f4ed66fdd50454f473146fa1762309ff48104a941e62cff995 +SIZE (xpi/thunderbird-i18n-31.1.2/hy-AM.xpi) = 492767 +SHA256 (xpi/thunderbird-i18n-31.1.2/id.xpi) = 8388260bdb9d7d715e7cfdfe21826e5d390bcb1f48d1e649d82d0142f360d42d +SIZE (xpi/thunderbird-i18n-31.1.2/id.xpi) = 475875 +SHA256 (xpi/thunderbird-i18n-31.1.2/is.xpi) = cebe06ca5e72448ffe8e5d97c61b2be3a898b1ceb9726f9a0bfa7cec714f8eb2 +SIZE (xpi/thunderbird-i18n-31.1.2/is.xpi) = 437959 +SHA256 (xpi/thunderbird-i18n-31.1.2/it.xpi) = d5bab57141fbae37f3a983ed85983d91fff71f005da1dcf89682563c92baf3f3 +SIZE (xpi/thunderbird-i18n-31.1.2/it.xpi) = 368000 +SHA256 (xpi/thunderbird-i18n-31.1.2/ja.xpi) = 06a62d4ef79c2a7006b15fae6882b7919b10843c2b93cd23decf9e4d07151555 +SIZE (xpi/thunderbird-i18n-31.1.2/ja.xpi) = 489267 +SHA256 (xpi/thunderbird-i18n-31.1.2/ko.xpi) = fb40e186e31bc836a8f18be6df4dc654b793a782f1b79f4b143ff3830781dca2 +SIZE (xpi/thunderbird-i18n-31.1.2/ko.xpi) = 448920 +SHA256 (xpi/thunderbird-i18n-31.1.2/lt.xpi) = 80dc6b4ba4fef803776e3634682cded4ae4df1a35771d30ed0c2a1f4af6a6e30 +SIZE (xpi/thunderbird-i18n-31.1.2/lt.xpi) = 457812 +SHA256 (xpi/thunderbird-i18n-31.1.2/nb-NO.xpi) = be32cfc7192a3836f48c11022ec58d28091f568f1bf2fc25e1d7667ac6222603 +SIZE (xpi/thunderbird-i18n-31.1.2/nb-NO.xpi) = 430941 +SHA256 (xpi/thunderbird-i18n-31.1.2/nl.xpi) = 0607fe516735fea3763154f63bc2212f1b76ea3cfae26f1748e7d3f05b5a1301 +SIZE (xpi/thunderbird-i18n-31.1.2/nl.xpi) = 431887 +SHA256 (xpi/thunderbird-i18n-31.1.2/nn-NO.xpi) = 31782ee5743442de756d7eb6dc601ec5843af0d6f45254f946fedca23dfbf9f5 +SIZE (xpi/thunderbird-i18n-31.1.2/nn-NO.xpi) = 433198 +SHA256 (xpi/thunderbird-i18n-31.1.2/pa-IN.xpi) = 4f3849fb31c8fe4f65869b35595621df22d2491d08df259d9fdb14ee89b9df04 +SIZE (xpi/thunderbird-i18n-31.1.2/pa-IN.xpi) = 525323 +SHA256 (xpi/thunderbird-i18n-31.1.2/pl.xpi) = ea31936122f377d83c6d059435c28c3e990cadd6d1332d97ac3a7bb196ad085b +SIZE (xpi/thunderbird-i18n-31.1.2/pl.xpi) = 410872 +SHA256 (xpi/thunderbird-i18n-31.1.2/pt-BR.xpi) = 74501df72d4747944fafafde1fedf2214c86c4f4ba594d276f5efec437f14a28 +SIZE (xpi/thunderbird-i18n-31.1.2/pt-BR.xpi) = 450477 +SHA256 (xpi/thunderbird-i18n-31.1.2/pt-PT.xpi) = 43f0d1a2a6187e3f01e75c091c599341b0895e71e3c76b7e6cd040fd95d69482 +SIZE (xpi/thunderbird-i18n-31.1.2/pt-PT.xpi) = 439603 +SHA256 (xpi/thunderbird-i18n-31.1.2/rm.xpi) = 5c8c153c5f36e7237605fcbaa2d66df0e72b7c6a20f793b9113c3e16c87240b8 +SIZE (xpi/thunderbird-i18n-31.1.2/rm.xpi) = 439185 +SHA256 (xpi/thunderbird-i18n-31.1.2/ro.xpi) = 381a1f57aa7e3646dcd29aa28eec1bd951cff1e378d5fe795a5e87556fd286ae +SIZE (xpi/thunderbird-i18n-31.1.2/ro.xpi) = 479746 +SHA256 (xpi/thunderbird-i18n-31.1.2/ru.xpi) = 667ffecf4065352a0e6b32ed5d4535dc9758167cb431b01b13bac9d4027719e5 +SIZE (xpi/thunderbird-i18n-31.1.2/ru.xpi) = 436156 +SHA256 (xpi/thunderbird-i18n-31.1.2/si.xpi) = 5bb7054dc79e73852f39464b3cabeb28ef45dd814a2fbef699fd8ac0d28cfa15 +SIZE (xpi/thunderbird-i18n-31.1.2/si.xpi) = 528812 +SHA256 (xpi/thunderbird-i18n-31.1.2/sk.xpi) = e8f13c479e58e7858ef82864927bb48d013d3f1b7c04b26b525504cb475ba02e +SIZE (xpi/thunderbird-i18n-31.1.2/sk.xpi) = 452995 +SHA256 (xpi/thunderbird-i18n-31.1.2/sl.xpi) = 4e2c3392ae516d34f2568a6de607e86e641eda8e1dd211420ab9c569354757b2 +SIZE (xpi/thunderbird-i18n-31.1.2/sl.xpi) = 433874 +SHA256 (xpi/thunderbird-i18n-31.1.2/sq.xpi) = f38d505b006a209c28fbe2497e2840b1402f15659ab8850b96e401b37439aa43 +SIZE (xpi/thunderbird-i18n-31.1.2/sq.xpi) = 454695 +SHA256 (xpi/thunderbird-i18n-31.1.2/sr.xpi) = 0ea7ab963f7316a8c99c4ede0d2604532b8e9c640d1c1ad17b5aef52410efb6a +SIZE (xpi/thunderbird-i18n-31.1.2/sr.xpi) = 537335 +SHA256 (xpi/thunderbird-i18n-31.1.2/sv-SE.xpi) = c2be7fa0cc149411afa6cd697fc5f9c5db8e8dc94eb361e9005a7c85207812ad +SIZE (xpi/thunderbird-i18n-31.1.2/sv-SE.xpi) = 436105 +SHA256 (xpi/thunderbird-i18n-31.1.2/ta-LK.xpi) = 2990c01eccc33ba92e4bd4a5b6bc6a862a3d4ba038187193862aee20590f222f +SIZE (xpi/thunderbird-i18n-31.1.2/ta-LK.xpi) = 553508 +SHA256 (xpi/thunderbird-i18n-31.1.2/tr.xpi) = 7c28f5337d0f5265ffc264e06b7f18b733358ba040d36cccc14586e4b2b212d5 +SIZE (xpi/thunderbird-i18n-31.1.2/tr.xpi) = 457359 +SHA256 (xpi/thunderbird-i18n-31.1.2/uk.xpi) = 711e037fe115f63b560e59ca33f26fe89b021587d3ade4706df0fe5c4822af16 +SIZE (xpi/thunderbird-i18n-31.1.2/uk.xpi) = 499656 +SHA256 (xpi/thunderbird-i18n-31.1.2/vi.xpi) = 9889f4d9ebf9d298b7a5076879bf34e71dd00665a6be69ff2331df49fdc0b620 +SIZE (xpi/thunderbird-i18n-31.1.2/vi.xpi) = 513834 +SHA256 (xpi/thunderbird-i18n-31.1.2/zh-CN.xpi) = b29c35c9b4de9678f8f15d5910b23b842553b80763f41f2340e823a03b44700e +SIZE (xpi/thunderbird-i18n-31.1.2/zh-CN.xpi) = 462667 +SHA256 (xpi/thunderbird-i18n-31.1.2/zh-TW.xpi) = 9c76eae686d8a72ceb11a24ad155521aa02ee65ade6a068a4dfe6df5f7ba4698 +SIZE (xpi/thunderbird-i18n-31.1.2/zh-TW.xpi) = 463408 Modified: trunk/mail/thunderbird/Makefile ============================================================================== --- trunk/mail/thunderbird/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/mail/thunderbird/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,10 +2,10 @@ # $FreeBSD: head/mail/thunderbird/Makefile 368042 2014-09-12 16:17:26Z mandree $ PORTNAME= thunderbird -DISTVERSION= 31.1.1 +DISTVERSION= 31.1.2 CATEGORIES= mail news net-im ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ - https://ftp.mozilla.org/pub/mozilla.org/${PORTNAME}/candidates/${DISTVERSION}-candidates/build2/source/ + https://ftp.mozilla.org/pub/mozilla.org/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source/ DISTFILES= ${PORTNAME}-${DISTVERSION}.source${EXTRACT_SUFX} EXTRACT_ONLY= ${PORTNAME}-${DISTVERSION}.source${EXTRACT_SUFX} Modified: trunk/mail/thunderbird/distinfo ============================================================================== --- trunk/mail/thunderbird/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/mail/thunderbird/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,4 +1,4 @@ -SHA256 (thunderbird-31.1.1.source.tar.bz2) = 4743d97ee80c0c1a73029694f210b80baeff3b1d13b9db8fc8a06213d856dd75 -SIZE (thunderbird-31.1.1.source.tar.bz2) = 170836006 +SHA256 (thunderbird-31.1.2.source.tar.bz2) = 86b18e7642ad8e6004cb4826daec586a24fae8a27da59df49f0039495dd5d7b5 +SIZE (thunderbird-31.1.2.source.tar.bz2) = 171033949 SHA256 (enigmail-1.7.2.tar.gz) = 7b3a62e83961bafec1cdac60075aa6c317c8f655a837e31a7d1f3ce6a49fc7d6 SIZE (enigmail-1.7.2.tar.gz) = 1420346 Modified: trunk/security/nss/Makefile ============================================================================== --- trunk/security/nss/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/security/nss/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,7 +2,7 @@ # $FreeBSD: head/security/nss/Makefile 367739 2014-09-09 15:00:40Z bapt $ PORTNAME= nss -PORTVERSION= 3.17 +PORTVERSION= 3.17.1 #DISTVERSIONSUFFIX= .with.ckbi.1.93 CATEGORIES= security MASTER_SITES= MOZILLA/security/${PORTNAME}/releases/${DISTNAME:tu:C/[-.]/_/g}_RTM/src Modified: trunk/security/nss/distinfo ============================================================================== --- trunk/security/nss/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/security/nss/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,2 +1,2 @@ -SHA256 (nss-3.17.tar.gz) = 3b1abcd8f89211dda2cc739bfa76552d080f7ea80482ef2727b006548a7f0c81 -SIZE (nss-3.17.tar.gz) = 6429534 +SHA256 (nss-3.17.1.tar.gz) = 0e210afba7cd1e033a08f61fcd1f466639649fc413e72aa050f3d52c19376e5f +SIZE (nss-3.17.1.tar.gz) = 6927105 Modified: trunk/www/firefox-esr-i18n/Makefile ============================================================================== --- trunk/www/firefox-esr-i18n/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/www/firefox-esr-i18n/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,8 +2,7 @@ # $FreeBSD: head/www/firefox-esr-i18n/Makefile 368047 2014-09-12 17:06:09Z mandree $ PORTNAME= firefox -PORTVERSION= 31.1.0 -PORTREVISION= 1 +PORTVERSION= 31.1.1 CATEGORIES= www MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}esr/linux-i686/xpi PKGNAMEPREFIX= Modified: trunk/www/firefox-esr-i18n/distinfo ============================================================================== --- trunk/www/firefox-esr-i18n/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/www/firefox-esr-i18n/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,178 +1,178 @@ -SHA256 (xpi/firefox-31.1.0/ach.xpi) = 1691dd1ff4bcfc51b9e5e67ca70562bd0d9b78744a4735cfbc47f672d50c2467 -SIZE (xpi/firefox-31.1.0/ach.xpi) = 445522 -SHA256 (xpi/firefox-31.1.0/af.xpi) = a420bd02b8f0a355945b16dd23a0b373548a3b36e1ffe525dc0fd0c77d6d23db -SIZE (xpi/firefox-31.1.0/af.xpi) = 431285 -SHA256 (xpi/firefox-31.1.0/an.xpi) = dadd87404b11c860bc49ddeb890c367cb97c6592c116b19f040084c88cb8f6ba -SIZE (xpi/firefox-31.1.0/an.xpi) = 407347 -SHA256 (xpi/firefox-31.1.0/ar.xpi) = 5eb9f1bac0d58ac0be637c23271c76abbeee57ed674bcd84826a66b4aefdd37a -SIZE (xpi/firefox-31.1.0/ar.xpi) = 460020 -SHA256 (xpi/firefox-31.1.0/as.xpi) = 63769ee4d825976599cb8296f9f7a484557ff55c0d587bb1558ed4398390145e -SIZE (xpi/firefox-31.1.0/as.xpi) = 448765 -SHA256 (xpi/firefox-31.1.0/ast.xpi) = 5fd4607ca582f4c7e98e923c8a7180660c91faf3962faaacae75cabcf19ab288 -SIZE (xpi/firefox-31.1.0/ast.xpi) = 352537 -SHA256 (xpi/firefox-31.1.0/be.xpi) = dd8bd0f1602ccec1b32b4ac9cf4d65f8c743c2155343c024e215dda165afc8ec -SIZE (xpi/firefox-31.1.0/be.xpi) = 378864 -SHA256 (xpi/firefox-31.1.0/bg.xpi) = 36c23ae838e6c30bd1baafa475227f1018380fc8a6c52770e58db35a5c01f0d9 -SIZE (xpi/firefox-31.1.0/bg.xpi) = 438257 -SHA256 (xpi/firefox-31.1.0/bn-BD.xpi) = 18cd34211aaada761e3236e7ac56c8e11ce74508ec4d46e3ed0259ed6bd0ba7a -SIZE (xpi/firefox-31.1.0/bn-BD.xpi) = 472822 -SHA256 (xpi/firefox-31.1.0/bn-IN.xpi) = 50ca770b533b840b46e5a20540c7bf22b5feeff45a55cb2bd16a6c6944e04bab -SIZE (xpi/firefox-31.1.0/bn-IN.xpi) = 462789 -SHA256 (xpi/firefox-31.1.0/br.xpi) = ce94b546e60c7d04623276b2f0a8f429e78b1ab2b01333dc1dea0cbe91aa04ef -SIZE (xpi/firefox-31.1.0/br.xpi) = 389900 -SHA256 (xpi/firefox-31.1.0/bs.xpi) = 937a1b78bb6092b7ed29b6f6b802833a20fa78918947524b1c8052ae9ffc89c2 -SIZE (xpi/firefox-31.1.0/bs.xpi) = 429211 -SHA256 (xpi/firefox-31.1.0/ca.xpi) = fd24974924843065612374365bddbd1573c66db534b647fa28fc71986e6e795b -SIZE (xpi/firefox-31.1.0/ca.xpi) = 403772 -SHA256 (xpi/firefox-31.1.0/cs.xpi) = 63d5f0f008fa94aade84c4a63b1fc1dc4a7dfce6d01e573bc58dc54ce0aad2b8 -SIZE (xpi/firefox-31.1.0/cs.xpi) = 391174 -SHA256 (xpi/firefox-31.1.0/csb.xpi) = e8623948febd8b45cbe9e385e8bf88eff2e651258b97953fc5c233e919986c69 -SIZE (xpi/firefox-31.1.0/csb.xpi) = 383891 -SHA256 (xpi/firefox-31.1.0/cy.xpi) = 261dad5097b136fc997af9fe0a6e40183a8371b17e9c04dab607921e802c7448 -SIZE (xpi/firefox-31.1.0/cy.xpi) = 390923 -SHA256 (xpi/firefox-31.1.0/da.xpi) = f5b82c15e675d826a8d67b42d335b2e1f88a8ca8c8dcbd52e3d01e254d2d810b -SIZE (xpi/firefox-31.1.0/da.xpi) = 397943 -SHA256 (xpi/firefox-31.1.0/de.xpi) = abebedeb1edad6f9bb02bb53bf8ed6dbf233cdbc353325331c88b7de184bc917 -SIZE (xpi/firefox-31.1.0/de.xpi) = 395360 -SHA256 (xpi/firefox-31.1.0/el.xpi) = cf1fb70531b54a56b3687eee25bf772ae76fda3bbfeab499b54f5a4a985c8290 -SIZE (xpi/firefox-31.1.0/el.xpi) = 443178 -SHA256 (xpi/firefox-31.1.0/en-GB.xpi) = 3f9d02719afbd3a4d25d2e452a0c98f6c098288ec46cec4fc5bfedd4ef019542 -SIZE (xpi/firefox-31.1.0/en-GB.xpi) = 390315 -SHA256 (xpi/firefox-31.1.0/en-US.xpi) = a7ed24f21f5dbb81a38113f45718479a2192e31a49ffa81f543686f2d2296bc0 -SIZE (xpi/firefox-31.1.0/en-US.xpi) = 422984 -SHA256 (xpi/firefox-31.1.0/en-ZA.xpi) = eb9ef4990c5a1919cd13602b46809bfd4923072ede4c593b9bac08533ef870b8 -SIZE (xpi/firefox-31.1.0/en-ZA.xpi) = 388724 -SHA256 (xpi/firefox-31.1.0/eo.xpi) = 4dc7098f0fd2b437db77689fde1d6c7f6c71b57e789b960b797558416c4acb06 -SIZE (xpi/firefox-31.1.0/eo.xpi) = 432027 -SHA256 (xpi/firefox-31.1.0/es-AR.xpi) = e1ce737df331172db3e7522027bb74d72e40ba3ac05d9c85ce6838894a9feb62 -SIZE (xpi/firefox-31.1.0/es-AR.xpi) = 400133 -SHA256 (xpi/firefox-31.1.0/es-CL.xpi) = 818a8c57b79d085336be0b570d5435585647b86e0c2aa8a98f0450f98ac581b3 -SIZE (xpi/firefox-31.1.0/es-CL.xpi) = 343004 -SHA256 (xpi/firefox-31.1.0/es-ES.xpi) = 974dec19fe1c95ad90e3d4e1d5d204ace7689f6234f266915c068500976423a7 -SIZE (xpi/firefox-31.1.0/es-ES.xpi) = 336076 -SHA256 (xpi/firefox-31.1.0/es-MX.xpi) = 85ba666a4c9dad0064530223267b1669a3c43e231ca5567cc14b349fa0d9bdf8 -SIZE (xpi/firefox-31.1.0/es-MX.xpi) = 402868 -SHA256 (xpi/firefox-31.1.0/et.xpi) = ade792f809a3b1ee686bf437f2befdfb7e65ad9a91bb40698685819ed18c5e8b -SIZE (xpi/firefox-31.1.0/et.xpi) = 390557 -SHA256 (xpi/firefox-31.1.0/eu.xpi) = 53e13ebab713373b93f00a0e4a487e933397c89cfc6f206a6d07fd14d28bda29 -SIZE (xpi/firefox-31.1.0/eu.xpi) = 413195 -SHA256 (xpi/firefox-31.1.0/fa.xpi) = 4b2072c33e83e13a2e0cd7a6d9886dfb82e893712219a723602700fb81bd7d6a -SIZE (xpi/firefox-31.1.0/fa.xpi) = 461053 -SHA256 (xpi/firefox-31.1.0/ff.xpi) = b095563401e8f78437225af75beda157dd1609f4f0be7e62049db7a5083bd903 -SIZE (xpi/firefox-31.1.0/ff.xpi) = 400339 -SHA256 (xpi/firefox-31.1.0/fi.xpi) = c036c1bfc0b9d89073b5fa6adfbdc9208bcae2a27a83c3f90a4a167f9e2635d8 -SIZE (xpi/firefox-31.1.0/fi.xpi) = 392936 -SHA256 (xpi/firefox-31.1.0/fr.xpi) = 58b56fa3ceec8683b49cf44f2824ef13f2d2d0a76a5e8d60a5a0ffffed26df43 -SIZE (xpi/firefox-31.1.0/fr.xpi) = 406658 -SHA256 (xpi/firefox-31.1.0/fy-NL.xpi) = 74829aaa4c360c4f819387bca1a04446f5a4bef53e392c96450dd81457394558 -SIZE (xpi/firefox-31.1.0/fy-NL.xpi) = 402126 -SHA256 (xpi/firefox-31.1.0/ga-IE.xpi) = 6fbe9255a9235881dd055eb3b3122d99481c5c011ab12f1e3a4dae885c472910 -SIZE (xpi/firefox-31.1.0/ga-IE.xpi) = 410273 -SHA256 (xpi/firefox-31.1.0/gd.xpi) = b8dd15a353aa2e3848a62499bf57048031d80371ef0babc73096018190367ddc -SIZE (xpi/firefox-31.1.0/gd.xpi) = 403210 -SHA256 (xpi/firefox-31.1.0/gl.xpi) = cb06e5af30eeec11bd8936f0cdee6f5a0aa26a78716f6b358d735e3959acf0f4 -SIZE (xpi/firefox-31.1.0/gl.xpi) = 390795 -SHA256 (xpi/firefox-31.1.0/gu-IN.xpi) = d8964011feff1de17842e340773956797c7adc6aa936c95061fbe36c7e97fc3b -SIZE (xpi/firefox-31.1.0/gu-IN.xpi) = 423699 -SHA256 (xpi/firefox-31.1.0/he.xpi) = e168004da7f838ce3cc34fdef40c12127bbdd6cdbd051e42151352b6f084a49f -SIZE (xpi/firefox-31.1.0/he.xpi) = 427825 -SHA256 (xpi/firefox-31.1.0/hi-IN.xpi) = de772a0053dcee686fd27051509e30eb788f8cbc092bf7b34edcb3aa5119edc1 -SIZE (xpi/firefox-31.1.0/hi-IN.xpi) = 441598 -SHA256 (xpi/firefox-31.1.0/hr.xpi) = fb2e49e2887099646c30654be777281c79c1aac80176681c6d0dc0a0e2646d15 -SIZE (xpi/firefox-31.1.0/hr.xpi) = 424567 -SHA256 (xpi/firefox-31.1.0/hsb.xpi) = 2bded9383bae355da4bc2175f0af843d2077e0a5fd51779ffa567894aca8f9e7 -SIZE (xpi/firefox-31.1.0/hsb.xpi) = 413272 -SHA256 (xpi/firefox-31.1.0/hu.xpi) = b80f9a08c119a250a307651aa0e0a322c7c0e62cd4cad37cddc8123312f92e11 -SIZE (xpi/firefox-31.1.0/hu.xpi) = 398840 -SHA256 (xpi/firefox-31.1.0/hy-AM.xpi) = 211617d00244d71dff9324b548f5acec7224e754b8337640014727bca4699f15 -SIZE (xpi/firefox-31.1.0/hy-AM.xpi) = 478939 -SHA256 (xpi/firefox-31.1.0/id.xpi) = c52d16ac835539f10c511a505746337c33b90366eba1ba16b3b338eaf2c1f491 -SIZE (xpi/firefox-31.1.0/id.xpi) = 378497 -SHA256 (xpi/firefox-31.1.0/is.xpi) = 8ef1e8a9edffe2c3184815b80b631d855cdbf152ca573b78a9fc6f9ffcd957f1 -SIZE (xpi/firefox-31.1.0/is.xpi) = 427523 -SHA256 (xpi/firefox-31.1.0/it.xpi) = 4e8746af3f1f406346cedf296ae247952b9389f6ca1a157b4bf17dc30925670e -SIZE (xpi/firefox-31.1.0/it.xpi) = 331102 -SHA256 (xpi/firefox-31.1.0/ja.xpi) = 0939a14082523c72369e96b77a9355c430e92c4b6d982e40216685b978de964b -SIZE (xpi/firefox-31.1.0/ja.xpi) = 421664 -SHA256 (xpi/firefox-31.1.0/kk.xpi) = 3ca817eda7ddc640e8ae7fa1b8fd76bcd23778c1cc545e6c548cffc1372cf189 -SIZE (xpi/firefox-31.1.0/kk.xpi) = 439312 -SHA256 (xpi/firefox-31.1.0/km.xpi) = fa6e6c97d9f278726bf0325825b3578ea9da4c6b37fa3bc4ef5162ce78d1acd4 -SIZE (xpi/firefox-31.1.0/km.xpi) = 506672 -SHA256 (xpi/firefox-31.1.0/kn.xpi) = 17c8150951a77a306419d693b696ea3b8f12969e9f3168e7003ce449100152e2 -SIZE (xpi/firefox-31.1.0/kn.xpi) = 459087 -SHA256 (xpi/firefox-31.1.0/ko.xpi) = 568f7865a4358dc40d54d248f558e66d1ede204d8525033fbafe02446538a31a -SIZE (xpi/firefox-31.1.0/ko.xpi) = 403011 -SHA256 (xpi/firefox-31.1.0/ku.xpi) = 6c24db090c42714d28afb6a28862a2be03db92248452a3f35e47439dde09f895 -SIZE (xpi/firefox-31.1.0/ku.xpi) = 420262 -SHA256 (xpi/firefox-31.1.0/lij.xpi) = a1aa34b0c7482273b8e61b4d4acee6d00fa99ff9e09790277b479736c95c44bf -SIZE (xpi/firefox-31.1.0/lij.xpi) = 386060 -SHA256 (xpi/firefox-31.1.0/lt.xpi) = aa9832cbbeb5bcfd0fc50749aed59b17a61d917b7c0e7ec2534a394351732f16 -SIZE (xpi/firefox-31.1.0/lt.xpi) = 435627 -SHA256 (xpi/firefox-31.1.0/lv.xpi) = b6d00e547b6d64dee1d0a81c9ed70e499f84d5673bf3cacb3cefc74d45b7d78d -SIZE (xpi/firefox-31.1.0/lv.xpi) = 398772 -SHA256 (xpi/firefox-31.1.0/mai.xpi) = 171e896ec959cf800d515250da137007da54b8c3cad0c788f6cd03575c66a4bf -SIZE (xpi/firefox-31.1.0/mai.xpi) = 445081 -SHA256 (xpi/firefox-31.1.0/mk.xpi) = 2a47b2a121b9b709047bdf40319050cc9a1d29203ea366bf13daa77f44de53ae -SIZE (xpi/firefox-31.1.0/mk.xpi) = 475679 -SHA256 (xpi/firefox-31.1.0/ml.xpi) = fdd966a7a76f1ad4b9adabe524596c83cd186191101e0c25b7af00047553b3e6 -SIZE (xpi/firefox-31.1.0/ml.xpi) = 466451 -SHA256 (xpi/firefox-31.1.0/mr.xpi) = c0ebdbae790e44a00d7d44d9f96cd2b3af0f98d90c03cbd5a8ea320ed1c9015f -SIZE (xpi/firefox-31.1.0/mr.xpi) = 451488 -SHA256 (xpi/firefox-31.1.0/ms.xpi) = 6c09d65b63d690f8db251a37e50061f467affc15d657f21195dbca1160a925d8 -SIZE (xpi/firefox-31.1.0/ms.xpi) = 436427 -SHA256 (xpi/firefox-31.1.0/nb-NO.xpi) = 0be3a0d6d7aad8070321a85dc951de61d44171a1f9ae6882994378d840152ed5 -SIZE (xpi/firefox-31.1.0/nb-NO.xpi) = 392202 -SHA256 (xpi/firefox-31.1.0/nl.xpi) = 085b3e8286c878687c649f46a114d31fc3bab80a7ce023d7a4bfeb3f6416d03a -SIZE (xpi/firefox-31.1.0/nl.xpi) = 391081 -SHA256 (xpi/firefox-31.1.0/nn-NO.xpi) = 6f66348dfb4bc7ae26a7896eda394aa3ea789c02c581582f4cbd18eaba7ee68d -SIZE (xpi/firefox-31.1.0/nn-NO.xpi) = 386478 -SHA256 (xpi/firefox-31.1.0/or.xpi) = ac08cf99ed7072af121cbddf3cabd97aa69a3a57fd72f0b00468b3e1737a147f -SIZE (xpi/firefox-31.1.0/or.xpi) = 464945 -SHA256 (xpi/firefox-31.1.0/pa-IN.xpi) = 2553060fd2d2300a8a3ef4dc0be305f5d635a7bae67d6ad2a83788b0ad455b87 -SIZE (xpi/firefox-31.1.0/pa-IN.xpi) = 439523 -SHA256 (xpi/firefox-31.1.0/pl.xpi) = c8d92ddfb7788d6062330edea64d19a8b2786bb54a81ae9282828c8a3e06fe5f -SIZE (xpi/firefox-31.1.0/pl.xpi) = 374943 -SHA256 (xpi/firefox-31.1.0/pt-BR.xpi) = 6c17d3df7b92aceeaeecaeb4ed36c579a15ccd0bd1651d27b6c9b2873110736a -SIZE (xpi/firefox-31.1.0/pt-BR.xpi) = 405761 -SHA256 (xpi/firefox-31.1.0/pt-PT.xpi) = 4729d757ef94ea7e0714d3c4f8bad065f04056a1ee9e8ba667b1f4dd16175e40 -SIZE (xpi/firefox-31.1.0/pt-PT.xpi) = 386540 -SHA256 (xpi/firefox-31.1.0/rm.xpi) = 63b8a224f3bf0d0de091e65a055e395918370d868d1918116a90e75b6a8b342d -SIZE (xpi/firefox-31.1.0/rm.xpi) = 399481 -SHA256 (xpi/firefox-31.1.0/ro.xpi) = 772482c0a2e59f6aad3c4e1928b892472a8c4fb75c0376708953c2c895f56f01 -SIZE (xpi/firefox-31.1.0/ro.xpi) = 439584 -SHA256 (xpi/firefox-31.1.0/ru.xpi) = 480443679119ede20dc8798a1e2d67e2f1b636ccfeae3d1cba40a01e957d72fb -SIZE (xpi/firefox-31.1.0/ru.xpi) = 368094 -SHA256 (xpi/firefox-31.1.0/si.xpi) = 9289ff40ad886e0fa9697076fa92af779a69f1878e53f0f6284607b4763611b0 -SIZE (xpi/firefox-31.1.0/si.xpi) = 463420 -SHA256 (xpi/firefox-31.1.0/sk.xpi) = 5dc10006aaa5db88784f1324b1b17f1bcbb909926e2fd4fe1ca8c8e56b5d1975 -SIZE (xpi/firefox-31.1.0/sk.xpi) = 413998 -SHA256 (xpi/firefox-31.1.0/sl.xpi) = ca48c6a9baba6c73e2b245212b0a5813d1891beab76601ec635f0ab70ecdfd29 -SIZE (xpi/firefox-31.1.0/sl.xpi) = 387330 -SHA256 (xpi/firefox-31.1.0/son.xpi) = a6e7198da1f03a6860c75171f5da2a1fe9edb3e3da9b656ac8ac6e45bd7aa1c2 -SIZE (xpi/firefox-31.1.0/son.xpi) = 395339 -SHA256 (xpi/firefox-31.1.0/sq.xpi) = 167963949e564a4229c093f8d753fc96138031907b02da838ba26a9305f0e889 -SIZE (xpi/firefox-31.1.0/sq.xpi) = 431332 -SHA256 (xpi/firefox-31.1.0/sr.xpi) = 0d2d0b8cb485b733f154709cd2c98dfded23b3cdab8ba4c46cff3c9b208282d7 -SIZE (xpi/firefox-31.1.0/sr.xpi) = 426098 -SHA256 (xpi/firefox-31.1.0/sv-SE.xpi) = 45769f32ba897c6dc6b4120571d37150dfb9cc4b92e7f9e1f9e206de5611c30d -SIZE (xpi/firefox-31.1.0/sv-SE.xpi) = 399222 -SHA256 (xpi/firefox-31.1.0/ta.xpi) = 256937991c1cfb0fb3a68fb6f6a945eaa8fe9efb17c97a1d2d7f9fddc1949365 -SIZE (xpi/firefox-31.1.0/ta.xpi) = 447882 -SHA256 (xpi/firefox-31.1.0/te.xpi) = 932c90edc1d1d5e727c6d1f76daba8981a3c9b8d2973dc190de578ada91e92ba -SIZE (xpi/firefox-31.1.0/te.xpi) = 462787 -SHA256 (xpi/firefox-31.1.0/th.xpi) = c8f3a9356f9dcf775905d18cfadaeedc8c7438d936d6355b9372a36008ad4cec -SIZE (xpi/firefox-31.1.0/th.xpi) = 478322 -SHA256 (xpi/firefox-31.1.0/tr.xpi) = 65d8f20053a01a4fecf4ee0ab4702d6117595ab55cd85372ea82411778e76416 -SIZE (xpi/firefox-31.1.0/tr.xpi) = 417566 -SHA256 (xpi/firefox-31.1.0/uk.xpi) = 87974b8599b679aafd5d5df535579bdd6eb3084662b460eb72b1599aae9ef0c8 -SIZE (xpi/firefox-31.1.0/uk.xpi) = 428199 -SHA256 (xpi/firefox-31.1.0/vi.xpi) = e9b7eb60d61e1564597d2fa1e498fbb4c2e9a701d9ad5f22e636a31751c8fb85 -SIZE (xpi/firefox-31.1.0/vi.xpi) = 413570 -SHA256 (xpi/firefox-31.1.0/xh.xpi) = 5b667901df2f46c1d2532921844cddeed8a42e6c15bdd7e4e4e26d5832c01ee7 -SIZE (xpi/firefox-31.1.0/xh.xpi) = 398073 -SHA256 (xpi/firefox-31.1.0/zh-CN.xpi) = c6ea449ec7b810e024611f7f0a5cf53a8b4e2b2c1c0a7cf9c86477feee5e78a2 -SIZE (xpi/firefox-31.1.0/zh-CN.xpi) = 419826 -SHA256 (xpi/firefox-31.1.0/zh-TW.xpi) = b67ac2b60e0ced2f297b8c3c50a869995b1b730a1f517cec64504fa15fe5b70f -SIZE (xpi/firefox-31.1.0/zh-TW.xpi) = 412717 -SHA256 (xpi/firefox-31.1.0/zu.xpi) = 1f17c41280a3554c984349293673ec91f2fbf22d9d852e83f4cf6fc5b32d5358 -SIZE (xpi/firefox-31.1.0/zu.xpi) = 433412 +SHA256 (xpi/firefox-31.1.1/ach.xpi) = 6fdf1f2e6656c3a080a05f6a613578352eb61a437247c72f94cf4503c67d8ab0 +SIZE (xpi/firefox-31.1.1/ach.xpi) = 445521 +SHA256 (xpi/firefox-31.1.1/af.xpi) = 5874296d3904ae2badcf6c3b9c429bf3293a1460465ec17b1042dc31d2c5eefb +SIZE (xpi/firefox-31.1.1/af.xpi) = 431286 +SHA256 (xpi/firefox-31.1.1/an.xpi) = 3c095a587b861f5a2b5e3ffdf30baba14f48b216c9f45c400c1bf7a6b9a4c578 +SIZE (xpi/firefox-31.1.1/an.xpi) = 407347 +SHA256 (xpi/firefox-31.1.1/ar.xpi) = 03eecec3999d308e11f5d6dbd95f3bc20c4c6764f3fd742631d966cd22c1b1a9 +SIZE (xpi/firefox-31.1.1/ar.xpi) = 460019 +SHA256 (xpi/firefox-31.1.1/as.xpi) = 4eb785835ac928665f9f7c24c3c6d3f9b4c85c2e88f637c9dca92ac1dd154e79 +SIZE (xpi/firefox-31.1.1/as.xpi) = 448764 +SHA256 (xpi/firefox-31.1.1/ast.xpi) = c4200329d076109584df6a3098918c8d39441b75e45fa9cdfed24ed9238993c8 +SIZE (xpi/firefox-31.1.1/ast.xpi) = 352536 +SHA256 (xpi/firefox-31.1.1/be.xpi) = d5343bbedf7c50466ce1d7e62cb362009448efddfe93fe30a030443f92f60a34 +SIZE (xpi/firefox-31.1.1/be.xpi) = 378864 +SHA256 (xpi/firefox-31.1.1/bg.xpi) = 8b2c1106301953f967dc47535b19ea86b626ec9ea36f52e6247e4ec96d4998ca +SIZE (xpi/firefox-31.1.1/bg.xpi) = 438256 +SHA256 (xpi/firefox-31.1.1/bn-BD.xpi) = 1ce1de4604dfbd5c80ef714e2e1475702a9dadaaa3fd208867a5e991271423ab +SIZE (xpi/firefox-31.1.1/bn-BD.xpi) = 472822 +SHA256 (xpi/firefox-31.1.1/bn-IN.xpi) = 2d7ba974217ec760593a84b8cf06c6c4db734e8f7ab4e43a297b9d943fb972f4 +SIZE (xpi/firefox-31.1.1/bn-IN.xpi) = 462788 +SHA256 (xpi/firefox-31.1.1/br.xpi) = 17eb535edbc81938d2e1921ccc8cfebfc2b1196d5eaa9188030c016c8f4eeab8 +SIZE (xpi/firefox-31.1.1/br.xpi) = 389901 +SHA256 (xpi/firefox-31.1.1/bs.xpi) = 6d9c82c976cc17db39b04d216c86eb4a209355257c93025779dd423d735ee5bb +SIZE (xpi/firefox-31.1.1/bs.xpi) = 429210 +SHA256 (xpi/firefox-31.1.1/ca.xpi) = bfe41867be0b9f537b55f7ed08818050794db65262690c2f067b009487cac302 +SIZE (xpi/firefox-31.1.1/ca.xpi) = 403771 +SHA256 (xpi/firefox-31.1.1/cs.xpi) = f3cc9f6ae8052375b913004a9a8fc32af3cbecdadb33fa550eeec277046400be +SIZE (xpi/firefox-31.1.1/cs.xpi) = 391174 +SHA256 (xpi/firefox-31.1.1/csb.xpi) = fccdbc4ad797ed4a030713af86db74fd785bf6ed1491fe630f9a6fb1654ba866 +SIZE (xpi/firefox-31.1.1/csb.xpi) = 383891 +SHA256 (xpi/firefox-31.1.1/cy.xpi) = 8a89d240e1dd6a836c97e1f23b252211fec9bd489c287dbac4a7a382d2d7fd56 +SIZE (xpi/firefox-31.1.1/cy.xpi) = 390923 +SHA256 (xpi/firefox-31.1.1/da.xpi) = c838feb1fe2974bb3dbafa662d4598a9dc2fd19e44a87ae27cbc7a8bf208c8a3 +SIZE (xpi/firefox-31.1.1/da.xpi) = 397943 +SHA256 (xpi/firefox-31.1.1/de.xpi) = 7f40ed6ade9bbb99cfe98097014f6a736c3c548d31a490ec44198497fdab293d +SIZE (xpi/firefox-31.1.1/de.xpi) = 395360 +SHA256 (xpi/firefox-31.1.1/el.xpi) = bf3cadfb7a1b5e55174c27865629d64cfda90afc37acb16175623ec054519b9b +SIZE (xpi/firefox-31.1.1/el.xpi) = 443178 +SHA256 (xpi/firefox-31.1.1/en-GB.xpi) = 223532757c5cbf945fd623db9decfb47576e54fe8df5e30e28cb29f24c5631fd +SIZE (xpi/firefox-31.1.1/en-GB.xpi) = 390314 +SHA256 (xpi/firefox-31.1.1/en-US.xpi) = 1677b307f95d3d0e27bdb156390d7e7baf8abf735b674828905d52d9a2c719c0 +SIZE (xpi/firefox-31.1.1/en-US.xpi) = 422983 +SHA256 (xpi/firefox-31.1.1/en-ZA.xpi) = 43b63fd60c4b2df5961736b9c79bf471ec0fa8b6223e3e37eae7c5e5d932e9dc +SIZE (xpi/firefox-31.1.1/en-ZA.xpi) = 388724 +SHA256 (xpi/firefox-31.1.1/eo.xpi) = 05a6c5e36a55abfa57d51fa2462177e1504b2316f76dc8f290d5d27ed2a0a0d1 +SIZE (xpi/firefox-31.1.1/eo.xpi) = 432027 +SHA256 (xpi/firefox-31.1.1/es-AR.xpi) = 215358c70e1c0a1b7d17175d34f71ac01ce097a54894dd11b10dc047cd0cfb00 +SIZE (xpi/firefox-31.1.1/es-AR.xpi) = 400133 +SHA256 (xpi/firefox-31.1.1/es-CL.xpi) = c4ad585111d1ee2a15b2fe9b25de34b28076e19a6c61adaea458fd09de9c904d +SIZE (xpi/firefox-31.1.1/es-CL.xpi) = 343004 +SHA256 (xpi/firefox-31.1.1/es-ES.xpi) = 3a9f723c6ab2e1ab0d3b54b3b8fd1af6eee80b85d22bd2a70d9a1be377e13dd5 +SIZE (xpi/firefox-31.1.1/es-ES.xpi) = 336076 +SHA256 (xpi/firefox-31.1.1/es-MX.xpi) = 6035872b5923648fea348a97e7728a82fa5efb576fee5ca081fd529be37265af +SIZE (xpi/firefox-31.1.1/es-MX.xpi) = 402868 +SHA256 (xpi/firefox-31.1.1/et.xpi) = 21abe762a361f7e4c46653ceb76bd403fe89ee72fd3747b12457ec6fa152474d +SIZE (xpi/firefox-31.1.1/et.xpi) = 390557 +SHA256 (xpi/firefox-31.1.1/eu.xpi) = e25a2edd774fac26ec91bf8d14682f861529955f9744f797d711341e5df52cbd +SIZE (xpi/firefox-31.1.1/eu.xpi) = 413195 +SHA256 (xpi/firefox-31.1.1/fa.xpi) = 4380d34f6faea6768e36ed6378786a113150da69f3e7a9ed6cd6f3ef3478a2d4 +SIZE (xpi/firefox-31.1.1/fa.xpi) = 461053 +SHA256 (xpi/firefox-31.1.1/ff.xpi) = 7b98d33bcfbe159dadc1ecd1b81f79881c8774cf1a6cc3fa5d90f5c0974c2082 +SIZE (xpi/firefox-31.1.1/ff.xpi) = 400339 +SHA256 (xpi/firefox-31.1.1/fi.xpi) = a6181675e753d2f38505a829409f58264a4d48c9e7eb88f67bada06143a542f8 +SIZE (xpi/firefox-31.1.1/fi.xpi) = 392935 +SHA256 (xpi/firefox-31.1.1/fr.xpi) = af8d1c53d9aab9610c5832a55ecc0681cf242b2dfefb10d32be5a7c7d5df7d92 +SIZE (xpi/firefox-31.1.1/fr.xpi) = 406658 +SHA256 (xpi/firefox-31.1.1/fy-NL.xpi) = 69f6f76874531b78a903353e42cb4c6be1b48cde6a826657d5750295bde241ea +SIZE (xpi/firefox-31.1.1/fy-NL.xpi) = 402126 +SHA256 (xpi/firefox-31.1.1/ga-IE.xpi) = 556ba1ab2358d4b0342d0857d33fe30cce0159b5b56c868795ee07ef52898102 +SIZE (xpi/firefox-31.1.1/ga-IE.xpi) = 410272 +SHA256 (xpi/firefox-31.1.1/gd.xpi) = 62cc0784e8505aa65bd473013d29ce340733c7bd8310a58ae8864e182b9e82a9 +SIZE (xpi/firefox-31.1.1/gd.xpi) = 403209 +SHA256 (xpi/firefox-31.1.1/gl.xpi) = cac80900712c81e12ec130c209765bf68b46fcff5eabee8b9152089903d77930 +SIZE (xpi/firefox-31.1.1/gl.xpi) = 390795 +SHA256 (xpi/firefox-31.1.1/gu-IN.xpi) = 371f13f674423f1dfd88ab7c64883440afed9dee347116dddc1aab6cb86e9f0f +SIZE (xpi/firefox-31.1.1/gu-IN.xpi) = 423698 +SHA256 (xpi/firefox-31.1.1/he.xpi) = 5d71c412e54e4a99050f57b46ab17f304a09b237fec129a1442dde5cc6911aee +SIZE (xpi/firefox-31.1.1/he.xpi) = 427826 +SHA256 (xpi/firefox-31.1.1/hi-IN.xpi) = 05d20383bc27e75c6535101a1eadc5f60d52b618d0cddfbe04161852bc31c4e5 +SIZE (xpi/firefox-31.1.1/hi-IN.xpi) = 441597 +SHA256 (xpi/firefox-31.1.1/hr.xpi) = ce3c722bd803b404600a12cbcee089667b069b012368b3d7970d00e16be501c1 +SIZE (xpi/firefox-31.1.1/hr.xpi) = 424567 +SHA256 (xpi/firefox-31.1.1/hsb.xpi) = ad80ddd7dbd7c8beef870c5260b1a57071dee059f28ede6dd9a5d8499fe5ab6d +SIZE (xpi/firefox-31.1.1/hsb.xpi) = 413272 +SHA256 (xpi/firefox-31.1.1/hu.xpi) = 56106ebf8f077e0164daf24ec2958c2827ab8faa6c82674702a4da36b71775fa +SIZE (xpi/firefox-31.1.1/hu.xpi) = 398840 +SHA256 (xpi/firefox-31.1.1/hy-AM.xpi) = aa5066e369b9059f5703472e9aa4b74eef359421a18c32e32d5ab096ebf4d744 +SIZE (xpi/firefox-31.1.1/hy-AM.xpi) = 478939 +SHA256 (xpi/firefox-31.1.1/id.xpi) = 4dae7e640509860e73039c62cce36547c7548807768ed76f106933962eb5924f +SIZE (xpi/firefox-31.1.1/id.xpi) = 378497 +SHA256 (xpi/firefox-31.1.1/is.xpi) = 6f333874466de53763ab43c17a0e19ad072bb08e07c312ee2d45246f24216a06 +SIZE (xpi/firefox-31.1.1/is.xpi) = 427523 +SHA256 (xpi/firefox-31.1.1/it.xpi) = bea9801005341306abb709f5b5e1baf6c24454b1f6883e114d4d7ec8c430f4a0 +SIZE (xpi/firefox-31.1.1/it.xpi) = 331101 +SHA256 (xpi/firefox-31.1.1/ja.xpi) = 8034e32113788b71c4a5461d435eaf5c9e0e29fc6253c08ca6681c0aa2c587cf +SIZE (xpi/firefox-31.1.1/ja.xpi) = 421664 +SHA256 (xpi/firefox-31.1.1/kk.xpi) = 928da032eaca0c2d00adc8d18909f48a4ebe314f1bdcfecb4226f2b201ffc90c +SIZE (xpi/firefox-31.1.1/kk.xpi) = 439312 +SHA256 (xpi/firefox-31.1.1/km.xpi) = a9766a123776bf9e0bab3fe1dc9a5ec1e8547a604eeffdb83dcfa3588764fffe +SIZE (xpi/firefox-31.1.1/km.xpi) = 506672 +SHA256 (xpi/firefox-31.1.1/kn.xpi) = c34a3b1b7a6d73037c0aff4b439d1bd4a763ca30ac6384eefa572a007258ab07 +SIZE (xpi/firefox-31.1.1/kn.xpi) = 459087 +SHA256 (xpi/firefox-31.1.1/ko.xpi) = 7786691a1cdce405825be81ca3a34e334b0faa7a5b9aef0138a403946d9da2db +SIZE (xpi/firefox-31.1.1/ko.xpi) = 403010 +SHA256 (xpi/firefox-31.1.1/ku.xpi) = 016ac15dbe6ec47539caff01c3da210f30c9b7f2a762c4b2e3b2c90555b71078 +SIZE (xpi/firefox-31.1.1/ku.xpi) = 420259 +SHA256 (xpi/firefox-31.1.1/lij.xpi) = 22d338a6c0a79637faf87e6ed4f5bcc3bcfb1eddf24c302f316c7c5ca4980a7d +SIZE (xpi/firefox-31.1.1/lij.xpi) = 386060 +SHA256 (xpi/firefox-31.1.1/lt.xpi) = 1af446a4e81b6deadc7f5b8a1636970af443a2559f8d567dee1b3a57e33f3919 +SIZE (xpi/firefox-31.1.1/lt.xpi) = 435627 +SHA256 (xpi/firefox-31.1.1/lv.xpi) = b97839604f2f11447311b002cb0bc2b10d1f05df186d8d993a4deac9fae49c20 +SIZE (xpi/firefox-31.1.1/lv.xpi) = 398772 +SHA256 (xpi/firefox-31.1.1/mai.xpi) = a9e704365371a55f301bbca9b6cf637df7b31023337af2b0e3d8c756b3fea340 +SIZE (xpi/firefox-31.1.1/mai.xpi) = 445080 +SHA256 (xpi/firefox-31.1.1/mk.xpi) = ba59a414acd349cfc8854c35cbb41e479469437addb89dcae88eb511051e0691 +SIZE (xpi/firefox-31.1.1/mk.xpi) = 475679 +SHA256 (xpi/firefox-31.1.1/ml.xpi) = d7915d1dae94507e63bce378a0c39343328577206134ec58481838e164b26130 +SIZE (xpi/firefox-31.1.1/ml.xpi) = 466450 +SHA256 (xpi/firefox-31.1.1/mr.xpi) = 6363700e29ddd2908ddffbff2dc33d4a1a18d1a2f76e71c965fd268842b9eaa9 +SIZE (xpi/firefox-31.1.1/mr.xpi) = 451487 +SHA256 (xpi/firefox-31.1.1/ms.xpi) = 604dc5f23278c91fe6259cebc91beab8b5cbcf09cfe308daa438612fb2a03fdd +SIZE (xpi/firefox-31.1.1/ms.xpi) = 436427 +SHA256 (xpi/firefox-31.1.1/nb-NO.xpi) = af19788ad67b8ebbdb6abe50b18650d3655c0fb95d602867eaea86bcf5715d28 +SIZE (xpi/firefox-31.1.1/nb-NO.xpi) = 392201 +SHA256 (xpi/firefox-31.1.1/nl.xpi) = ce4db00532785488cd10450231cef90aa0e93572c83c8da9cfd6a91c631bc1b0 +SIZE (xpi/firefox-31.1.1/nl.xpi) = 391081 +SHA256 (xpi/firefox-31.1.1/nn-NO.xpi) = 9dfb2fb13405ed19d8d880623d58457738a8984d44b47298649deb41c052ad68 +SIZE (xpi/firefox-31.1.1/nn-NO.xpi) = 386477 +SHA256 (xpi/firefox-31.1.1/or.xpi) = 1f179e14464af7832aa85ef3a392735a5d08e6ef8ad415d5670cda3a121310e6 +SIZE (xpi/firefox-31.1.1/or.xpi) = 464946 +SHA256 (xpi/firefox-31.1.1/pa-IN.xpi) = 78a26f4751d5a7018af41084d7e078d6741465f49ae6b2d0dc89e3d3f4d4848f +SIZE (xpi/firefox-31.1.1/pa-IN.xpi) = 439522 +SHA256 (xpi/firefox-31.1.1/pl.xpi) = 91e8441981e9684f8c521d4fbb4b393748de2f03aca8fe08c4849eb1189cfa98 +SIZE (xpi/firefox-31.1.1/pl.xpi) = 374942 +SHA256 (xpi/firefox-31.1.1/pt-BR.xpi) = 0febcf4143322916cc959a986ef1bb0d3dadd3ad562861c58aca0c4952348831 +SIZE (xpi/firefox-31.1.1/pt-BR.xpi) = 405761 +SHA256 (xpi/firefox-31.1.1/pt-PT.xpi) = 5ea85bd2f7dc5b59313e7951fd220fb9156b82d0244440b530ce920f8d8c4870 +SIZE (xpi/firefox-31.1.1/pt-PT.xpi) = 386540 +SHA256 (xpi/firefox-31.1.1/rm.xpi) = aa669ecb03ce28ef863bd2aec634f56bc893e264c29e32580bb0b2582619dbd8 +SIZE (xpi/firefox-31.1.1/rm.xpi) = 399482 +SHA256 (xpi/firefox-31.1.1/ro.xpi) = 129f2f91ccd94e910071ca2c04abc70df6ea343454c6b7cbb91fa70a09c57a40 +SIZE (xpi/firefox-31.1.1/ro.xpi) = 439583 +SHA256 (xpi/firefox-31.1.1/ru.xpi) = 653b01e41b465517f92ef604c1ef050bbacd9890b10a53af4324382d174bf4cb +SIZE (xpi/firefox-31.1.1/ru.xpi) = 368093 +SHA256 (xpi/firefox-31.1.1/si.xpi) = 06861fc68e466857de23928263c53bec114eb48d02b86555b3b0b2ebea6eaa29 +SIZE (xpi/firefox-31.1.1/si.xpi) = 463420 +SHA256 (xpi/firefox-31.1.1/sk.xpi) = fbb10e2de2d07d5573d9940fa7a56214619c1454b3e53698d455249fd15597fe +SIZE (xpi/firefox-31.1.1/sk.xpi) = 413998 +SHA256 (xpi/firefox-31.1.1/sl.xpi) = 639948ffb5acd1871ea736256eb6c34e139d1bf5de89a16ff98382d73c4b6389 +SIZE (xpi/firefox-31.1.1/sl.xpi) = 387330 +SHA256 (xpi/firefox-31.1.1/son.xpi) = ef988159928608d56ea34af4b7d5a37ec91ad7c7bba2a692e48717f35142be06 +SIZE (xpi/firefox-31.1.1/son.xpi) = 395339 +SHA256 (xpi/firefox-31.1.1/sq.xpi) = 5b7e3b0a8c8792196465c30260820f8365e8b3045a7d2786e2ad27101dec0bb4 +SIZE (xpi/firefox-31.1.1/sq.xpi) = 431332 +SHA256 (xpi/firefox-31.1.1/sr.xpi) = cf71728a9de5d45eae8688a85a9018404e37ec695cc8894fca8516d5b0fac2df +SIZE (xpi/firefox-31.1.1/sr.xpi) = 426098 +SHA256 (xpi/firefox-31.1.1/sv-SE.xpi) = fc6caed086a855da848ceb68cac8fe2b9a6a64b5a3a6605cf5c9bba84532ccd0 +SIZE (xpi/firefox-31.1.1/sv-SE.xpi) = 399222 +SHA256 (xpi/firefox-31.1.1/ta.xpi) = 28dbd7dd6a47b617b77a7dd5329ca69f5caa43ed795b7ba97500b923f2ae8b5a +SIZE (xpi/firefox-31.1.1/ta.xpi) = 447882 +SHA256 (xpi/firefox-31.1.1/te.xpi) = 0d9b89c3ee2a4939eb1f25942649a6767bf774ff3fb56b5612cb4c8ff40e12bf +SIZE (xpi/firefox-31.1.1/te.xpi) = 462784 +SHA256 (xpi/firefox-31.1.1/th.xpi) = 0c83a11e5b502d4bfd9ef8e8f1876d7a2aafd34d25d32d5d28e83b4bce26c2e8 +SIZE (xpi/firefox-31.1.1/th.xpi) = 478322 +SHA256 (xpi/firefox-31.1.1/tr.xpi) = 38e657289b5e23c0af4dac58943ef028bc52806ee9771f5fbd616530d561e56e +SIZE (xpi/firefox-31.1.1/tr.xpi) = 417566 +SHA256 (xpi/firefox-31.1.1/uk.xpi) = b3a2c405fc815451952517ec0b132699cbb247f291cd5a2190791223a744d581 +SIZE (xpi/firefox-31.1.1/uk.xpi) = 428198 +SHA256 (xpi/firefox-31.1.1/vi.xpi) = 29201bfd7c77c405e1d5f49694b398b1e205b632b8e958b5a0ba839e7eabbf3e +SIZE (xpi/firefox-31.1.1/vi.xpi) = 413570 +SHA256 (xpi/firefox-31.1.1/xh.xpi) = 38a24819d64c9f09b578601f2f285e55290d26475f806720dd1c1aa0281fdb60 +SIZE (xpi/firefox-31.1.1/xh.xpi) = 398072 +SHA256 (xpi/firefox-31.1.1/zh-CN.xpi) = 03f44281fe0d63243d6d975b1c030c202a0eba8862d507464b22bc3b69a0a9ac +SIZE (xpi/firefox-31.1.1/zh-CN.xpi) = 419826 +SHA256 (xpi/firefox-31.1.1/zh-TW.xpi) = 3ea6c0b5bf573259bbfda7fcc3933739cd2d14ce08911731157376724bc1f420 +SIZE (xpi/firefox-31.1.1/zh-TW.xpi) = 412717 +SHA256 (xpi/firefox-31.1.1/zu.xpi) = 3ad0b6daf51f88997e438d4b9e076b9f78ab8e6118b9fe153c1ff719ec4dac2b +SIZE (xpi/firefox-31.1.1/zu.xpi) = 433412 Modified: trunk/www/firefox-esr/Makefile ============================================================================== --- trunk/www/firefox-esr/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/www/firefox-esr/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,9 +2,8 @@ # $FreeBSD: head/www/firefox-esr/Makefile 367888 2014-09-10 20:50:31Z gerald $ PORTNAME= firefox -DISTVERSION= 31.1.0 +DISTVERSION= 31.1.1 DISTVERSIONSUFFIX=esr.source -PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}esr/source Modified: trunk/www/firefox-esr/distinfo ============================================================================== --- trunk/www/firefox-esr/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/www/firefox-esr/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,2 +1,2 @@ -SHA256 (firefox-31.1.0esr.source.tar.bz2) = 209c2666757c8ffeb9b8139f24a5bfda65fd52c78ce61e300e3547624bc42a7e -SIZE (firefox-31.1.0esr.source.tar.bz2) = 147741041 +SHA256 (firefox-31.1.1esr.source.tar.bz2) = 79be660e766b5adfaf3fc8031804bd64d27d330231f0de5995dd89671d1998d2 +SIZE (firefox-31.1.1esr.source.tar.bz2) = 147904415 Modified: trunk/www/firefox-i18n/Makefile ============================================================================== --- trunk/www/firefox-i18n/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/www/firefox-i18n/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,7 +2,7 @@ # $FreeBSD: head/www/firefox-i18n/Makefile 368047 2014-09-12 17:06:09Z mandree $ PORTNAME= firefox-i18n -PORTVERSION= 33.0b5 +PORTVERSION= 33.0b7 CATEGORIES= www MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}/linux-i686/xpi PKGNAMEPREFIX= Modified: trunk/www/firefox-i18n/distinfo ============================================================================== --- trunk/www/firefox-i18n/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/www/firefox-i18n/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,178 +1,178 @@ -SHA256 (xpi/firefox-i18n-33.0b5/ach.xpi) = 326ff2e35181d75de9e116c5c52f0dfde937022450752e431c123f2751caf524 -SIZE (xpi/firefox-i18n-33.0b5/ach.xpi) = 438058 -SHA256 (xpi/firefox-i18n-33.0b5/af.xpi) = edc899996d76e7a9e27e0e38c3eb2b92b9133c2f9c881dfe828e77985bda51a5 -SIZE (xpi/firefox-i18n-33.0b5/af.xpi) = 439179 -SHA256 (xpi/firefox-i18n-33.0b5/an.xpi) = 77b343dc4f36ab992fb2fecbf873f8beae21a1e77cb14fff6015f3ba3074ea75 -SIZE (xpi/firefox-i18n-33.0b5/an.xpi) = 416630 -SHA256 (xpi/firefox-i18n-33.0b5/ar.xpi) = ac7af3ff2ab9ca5730b294b162b680c4fe577b99714f7de78d6b4e5bd0ed3539 -SIZE (xpi/firefox-i18n-33.0b5/ar.xpi) = 470010 -SHA256 (xpi/firefox-i18n-33.0b5/as.xpi) = b756c693adeabaea6d19edf459d51202c36657566572e08d8214bab0dccbda49 -SIZE (xpi/firefox-i18n-33.0b5/as.xpi) = 459067 -SHA256 (xpi/firefox-i18n-33.0b5/ast.xpi) = e96f55eb0c80ec20b11ccc33cde4871b458de03b4a223177b4f7b1f292abf57e -SIZE (xpi/firefox-i18n-33.0b5/ast.xpi) = 356405 -SHA256 (xpi/firefox-i18n-33.0b5/be.xpi) = 57eb0b1dd37781703203418d54ff0f901be2b94aaf3ac340fa9ca0a179e5402c -SIZE (xpi/firefox-i18n-33.0b5/be.xpi) = 391580 -SHA256 (xpi/firefox-i18n-33.0b5/bg.xpi) = ca47b3057a506d257d175f9faed68e5eb47f3dbc7b7bcfcbeb9746125c741345 -SIZE (xpi/firefox-i18n-33.0b5/bg.xpi) = 448181 -SHA256 (xpi/firefox-i18n-33.0b5/bn-BD.xpi) = e5afa45ce4d6d8d2ec4e78dd3f31c31cceabb3c9d643048fba5af246d5c3e334 -SIZE (xpi/firefox-i18n-33.0b5/bn-BD.xpi) = 482818 -SHA256 (xpi/firefox-i18n-33.0b5/bn-IN.xpi) = f225bd62354fa76532c1d82eb5b8210e1be116dfebdfc655a8b5d2579b747b88 -SIZE (xpi/firefox-i18n-33.0b5/bn-IN.xpi) = 473625 -SHA256 (xpi/firefox-i18n-33.0b5/br.xpi) = 750e1def1c57168e739a30717cd8ff9b4f8a93d8379416fdfc3e9a799d85fa30 -SIZE (xpi/firefox-i18n-33.0b5/br.xpi) = 398474 -SHA256 (xpi/firefox-i18n-33.0b5/bs.xpi) = 9d321c4c5e53b039db82dde08a68d4465dc087548e498e39eaccd28bacd64733 -SIZE (xpi/firefox-i18n-33.0b5/bs.xpi) = 439656 -SHA256 (xpi/firefox-i18n-33.0b5/ca.xpi) = 7b6269ee98ce13f68f8c9c4a793cb0eb18df0926c4ac78fb9fa58d4306c0a5d3 -SIZE (xpi/firefox-i18n-33.0b5/ca.xpi) = 412993 -SHA256 (xpi/firefox-i18n-33.0b5/cs.xpi) = b205228c90dde0300367ac2819ffa9c5e26f6b1d24ef36a3b8abd96e86563742 -SIZE (xpi/firefox-i18n-33.0b5/cs.xpi) = 400638 -SHA256 (xpi/firefox-i18n-33.0b5/csb.xpi) = 7c58daff4492415da2935c729ba3e416742d316ef5738e062dff1b59fd053246 -SIZE (xpi/firefox-i18n-33.0b5/csb.xpi) = 394398 -SHA256 (xpi/firefox-i18n-33.0b5/cy.xpi) = 32fe5571ee29bd5e40a783f2fd8090325db6e5f4d89de2a306d482cf566bddf3 -SIZE (xpi/firefox-i18n-33.0b5/cy.xpi) = 399933 -SHA256 (xpi/firefox-i18n-33.0b5/da.xpi) = 263807b1984f53614e64f9f4309d998d5299d75a3c75a2e9a358d5c6ef73e8dd -SIZE (xpi/firefox-i18n-33.0b5/da.xpi) = 406908 -SHA256 (xpi/firefox-i18n-33.0b5/de.xpi) = 0556f3e356a4e964a15317fc5eb302d2ebf386cd66dda25ed006c7dd7eff4fc1 -SIZE (xpi/firefox-i18n-33.0b5/de.xpi) = 405048 -SHA256 (xpi/firefox-i18n-33.0b5/el.xpi) = 85d8ac635db588c518a7ffef897431180eeff3e2045184a8a2079814ab5fbbc5 -SIZE (xpi/firefox-i18n-33.0b5/el.xpi) = 453041 -SHA256 (xpi/firefox-i18n-33.0b5/en-GB.xpi) = e921687cd6765dc26706f6f9d26a60413a4a65370e207fc501181ae9fa1d597b -SIZE (xpi/firefox-i18n-33.0b5/en-GB.xpi) = 399778 -SHA256 (xpi/firefox-i18n-33.0b5/en-US.xpi) = f9ac7b755774eac5ca3220de273e9b47564111d62bfe6ac14c315994229a5cfd -SIZE (xpi/firefox-i18n-33.0b5/en-US.xpi) = 431464 -SHA256 (xpi/firefox-i18n-33.0b5/en-ZA.xpi) = 81264e882002793b0608920ca039de81ab7b708996979aadd2a08a62e1fb0361 -SIZE (xpi/firefox-i18n-33.0b5/en-ZA.xpi) = 399051 -SHA256 (xpi/firefox-i18n-33.0b5/eo.xpi) = 86a3fa8a449f9fc14939baf96045ac8abdfafc0ab8b5107d8d944726b83a4537 -SIZE (xpi/firefox-i18n-33.0b5/eo.xpi) = 440954 -SHA256 (xpi/firefox-i18n-33.0b5/es-AR.xpi) = a9950f31b4fbb9bc06c72768c520e80cd994fd82ac415013955527ab24cbc8bd -SIZE (xpi/firefox-i18n-33.0b5/es-AR.xpi) = 409126 -SHA256 (xpi/firefox-i18n-33.0b5/es-CL.xpi) = 8a542deeae8774ea7c8e832d8fee25c864953a47f4ed78348bdbf124d894540a -SIZE (xpi/firefox-i18n-33.0b5/es-CL.xpi) = 348578 -SHA256 (xpi/firefox-i18n-33.0b5/es-ES.xpi) = 0a714a95a0e6ea5d77b7c6b14e8aa938ee9083f789b15eeb844e1f103a6a6a23 -SIZE (xpi/firefox-i18n-33.0b5/es-ES.xpi) = 340953 -SHA256 (xpi/firefox-i18n-33.0b5/es-MX.xpi) = 85f83c05d961221865ee96117c4939679c53160ab72d03baf603eb1881ed9429 -SIZE (xpi/firefox-i18n-33.0b5/es-MX.xpi) = 411638 -SHA256 (xpi/firefox-i18n-33.0b5/et.xpi) = d32f690a5951fe8887e6362a8d5edde83c067e676a9d7d762b7917e10081d9c2 -SIZE (xpi/firefox-i18n-33.0b5/et.xpi) = 399281 -SHA256 (xpi/firefox-i18n-33.0b5/eu.xpi) = 1431aad45fbc9ecd525b37446c606253cafc0cc32f55d6f34c2b3c4d110f5d8f -SIZE (xpi/firefox-i18n-33.0b5/eu.xpi) = 422008 -SHA256 (xpi/firefox-i18n-33.0b5/fa.xpi) = 04ee47aa5aaa1997d4b666549def2d2db52dbb3182ed3900be95496038a4a16e -SIZE (xpi/firefox-i18n-33.0b5/fa.xpi) = 470427 -SHA256 (xpi/firefox-i18n-33.0b5/ff.xpi) = 27dc311172ab6236b3f0f3990c7c4f380f3ac1a32119993c2fa05ba500aa5281 -SIZE (xpi/firefox-i18n-33.0b5/ff.xpi) = 409281 -SHA256 (xpi/firefox-i18n-33.0b5/fi.xpi) = fb7606649dc3d508169603b58198198ddf150977fe7388277d62d97b9c6c8782 -SIZE (xpi/firefox-i18n-33.0b5/fi.xpi) = 401368 -SHA256 (xpi/firefox-i18n-33.0b5/fr.xpi) = 9cb6202926c90744dd8e051e5bcd3a0790eede475c4db529e3d2b466fba6bba3 -SIZE (xpi/firefox-i18n-33.0b5/fr.xpi) = 416095 -SHA256 (xpi/firefox-i18n-33.0b5/fy-NL.xpi) = d924ddae4f54464d041b62af395d332728fc83984b4539016bbf1dc294070c9b -SIZE (xpi/firefox-i18n-33.0b5/fy-NL.xpi) = 410821 -SHA256 (xpi/firefox-i18n-33.0b5/ga-IE.xpi) = 7366176550dbd3da065ae6bce11242d0aa527a4b0607002d7ae3186b8e1ed7f5 -SIZE (xpi/firefox-i18n-33.0b5/ga-IE.xpi) = 418716 -SHA256 (xpi/firefox-i18n-33.0b5/gd.xpi) = bf94a9f84178b3d216732e377ef461395991b87e269919df5a5085b5fb5f27a7 -SIZE (xpi/firefox-i18n-33.0b5/gd.xpi) = 411859 -SHA256 (xpi/firefox-i18n-33.0b5/gl.xpi) = 9a6e970bf9ff551c32dca1f016e4c5eae7a8bea71b75a2ef97d979c3cb899a7e -SIZE (xpi/firefox-i18n-33.0b5/gl.xpi) = 400658 -SHA256 (xpi/firefox-i18n-33.0b5/gu-IN.xpi) = d377b2de7d353f84fd9f4147b5dfa0cc1420e584422fb077a845deb488ae699b -SIZE (xpi/firefox-i18n-33.0b5/gu-IN.xpi) = 428745 -SHA256 (xpi/firefox-i18n-33.0b5/he.xpi) = 2ee716f06d4e9f673e12e6400c034b419bfbed10b1bcad642818d8eaed191c2e -SIZE (xpi/firefox-i18n-33.0b5/he.xpi) = 437395 -SHA256 (xpi/firefox-i18n-33.0b5/hi-IN.xpi) = ef16343d0c5239ce4007137f482d3a5f9021932eff26eee5f7c14952288126fb -SIZE (xpi/firefox-i18n-33.0b5/hi-IN.xpi) = 451178 -SHA256 (xpi/firefox-i18n-33.0b5/hr.xpi) = 61ff785d922a03da0c1281c584b5e4df0bdfbcd9c8d481758cb63abd88b1ec0e -SIZE (xpi/firefox-i18n-33.0b5/hr.xpi) = 433733 -SHA256 (xpi/firefox-i18n-33.0b5/hsb.xpi) = 327103ea616bcd7efce552d46c7d5c0cfde7e2b560bcb3b7ce7ae752c6710321 -SIZE (xpi/firefox-i18n-33.0b5/hsb.xpi) = 422805 -SHA256 (xpi/firefox-i18n-33.0b5/hu.xpi) = 3da6e532aba1668941f72ddb251fce42aa1e12445db4bda4a0892d01f45af9f1 -SIZE (xpi/firefox-i18n-33.0b5/hu.xpi) = 408028 -SHA256 (xpi/firefox-i18n-33.0b5/hy-AM.xpi) = b0f98cb432f9741fdb221e414ce554c6ef99ec501e1e3646ce10c727e46b0a71 -SIZE (xpi/firefox-i18n-33.0b5/hy-AM.xpi) = 488862 -SHA256 (xpi/firefox-i18n-33.0b5/id.xpi) = 74ba4e3acca2868d404aef96a68804d632d8d128efa0fa07b46202faefcb2a31 -SIZE (xpi/firefox-i18n-33.0b5/id.xpi) = 387156 -SHA256 (xpi/firefox-i18n-33.0b5/is.xpi) = d327a724476bf6e666f1a198c31a4f4295b17e3505460cf2ea1177800e67b42a -SIZE (xpi/firefox-i18n-33.0b5/is.xpi) = 436811 -SHA256 (xpi/firefox-i18n-33.0b5/it.xpi) = 1efc20c0af9f9d48f66cb3defe9ab0871b29658fbfbd83c9a9f74683ae0bb826 -SIZE (xpi/firefox-i18n-33.0b5/it.xpi) = 335740 -SHA256 (xpi/firefox-i18n-33.0b5/ja.xpi) = 89eeba88183833c0d1127e81fe77e7ca47a5b900e5a83674761c2f2536679f8d -SIZE (xpi/firefox-i18n-33.0b5/ja.xpi) = 431105 -SHA256 (xpi/firefox-i18n-33.0b5/kk.xpi) = 4d7dc35e327f8e1951abd455feaae9d5ebb7809c7a1a8116706d24418fef882f -SIZE (xpi/firefox-i18n-33.0b5/kk.xpi) = 449148 -SHA256 (xpi/firefox-i18n-33.0b5/km.xpi) = 81b39a414e65c7693fa7e73c79da870553050e72f78415779b630d9994fe39b7 -SIZE (xpi/firefox-i18n-33.0b5/km.xpi) = 517087 -SHA256 (xpi/firefox-i18n-33.0b5/kn.xpi) = 26c67d7b289933faba2db294d2989ff634ba04ca6c4c57ef40707e96aecfe0b6 -SIZE (xpi/firefox-i18n-33.0b5/kn.xpi) = 483822 -SHA256 (xpi/firefox-i18n-33.0b5/ko.xpi) = 4b917389ffabd552f7b1f0d68d2995a8ed487501e9a774f3b452b2f429d1b53a -SIZE (xpi/firefox-i18n-33.0b5/ko.xpi) = 412980 -SHA256 (xpi/firefox-i18n-33.0b5/ku.xpi) = 5482ea606f6903458b14b325660aa0a18c07162abf76100651767e4f99991f3a -SIZE (xpi/firefox-i18n-33.0b5/ku.xpi) = 430236 -SHA256 (xpi/firefox-i18n-33.0b5/lij.xpi) = b3432909cdfa3b46182475be3edfcefd730989f78cdb00843b9a7e3acbbd2f13 -SIZE (xpi/firefox-i18n-33.0b5/lij.xpi) = 396783 -SHA256 (xpi/firefox-i18n-33.0b5/lt.xpi) = 2091bea71b44272f4d9ef00e42a9857ce74dac84c2bcadaa7d3aba604d3817ec -SIZE (xpi/firefox-i18n-33.0b5/lt.xpi) = 440001 -SHA256 (xpi/firefox-i18n-33.0b5/lv.xpi) = ff22600ae7029e088efac1ae92e68c654e881fc80c19d660a51800ced54dce55 -SIZE (xpi/firefox-i18n-33.0b5/lv.xpi) = 407500 -SHA256 (xpi/firefox-i18n-33.0b5/mai.xpi) = 3a96cbfbc3f69dada0d18cb9dc19695ad7cf1fed2354d46733017d012aa9d307 -SIZE (xpi/firefox-i18n-33.0b5/mai.xpi) = 454443 -SHA256 (xpi/firefox-i18n-33.0b5/mk.xpi) = f7586910bd2932a6ce91af64dff0a7f677cf1d149c80f015c719fb952b2bc973 -SIZE (xpi/firefox-i18n-33.0b5/mk.xpi) = 485257 -SHA256 (xpi/firefox-i18n-33.0b5/ml.xpi) = c373ee267437c2fae16ef630288600079994ea5f166481d58d540c7d06db9257 -SIZE (xpi/firefox-i18n-33.0b5/ml.xpi) = 481021 -SHA256 (xpi/firefox-i18n-33.0b5/mr.xpi) = 252311cedbbce95876ba9b82683b7301d363270e59b1a210f7444381f0e6ad09 -SIZE (xpi/firefox-i18n-33.0b5/mr.xpi) = 461601 -SHA256 (xpi/firefox-i18n-33.0b5/ms.xpi) = dde73a415ee88918a2ce82da4814831cd311b2ebc0a9e3b1e0bd8217d8558340 -SIZE (xpi/firefox-i18n-33.0b5/ms.xpi) = 444564 -SHA256 (xpi/firefox-i18n-33.0b5/nb-NO.xpi) = ea4a5c1dba796bffda01294f9033249531279fa6fdfcde5b9d3d2c29ef737fbb -SIZE (xpi/firefox-i18n-33.0b5/nb-NO.xpi) = 400699 -SHA256 (xpi/firefox-i18n-33.0b5/nl.xpi) = 73bd311cf79cf57da538648dc539b17c8140218296e49e73734ba895fe571596 -SIZE (xpi/firefox-i18n-33.0b5/nl.xpi) = 399883 -SHA256 (xpi/firefox-i18n-33.0b5/nn-NO.xpi) = 0ab76e095ee850835c6fc8af174f57a876f31620fe923e43da68f39040a2eb54 -SIZE (xpi/firefox-i18n-33.0b5/nn-NO.xpi) = 397309 -SHA256 (xpi/firefox-i18n-33.0b5/or.xpi) = d6036d92991ec35eb554b58e93f465eb78e9fa439baf550a84253ec1aea1e9b6 -SIZE (xpi/firefox-i18n-33.0b5/or.xpi) = 475408 -SHA256 (xpi/firefox-i18n-33.0b5/pa-IN.xpi) = 279984225e88121fa6a949b4b6d28bca4c9cea62c2f79effa2f5749b40d1d565 -SIZE (xpi/firefox-i18n-33.0b5/pa-IN.xpi) = 446917 -SHA256 (xpi/firefox-i18n-33.0b5/pl.xpi) = 8f180291af5bd341fa62f1286624a79a444701f599c2daa487a1072f25c46d2a -SIZE (xpi/firefox-i18n-33.0b5/pl.xpi) = 382408 -SHA256 (xpi/firefox-i18n-33.0b5/pt-BR.xpi) = 896718bc7eee0401df8035db34d721f8f3994dd93f274fd770bd7b1fb7180005 -SIZE (xpi/firefox-i18n-33.0b5/pt-BR.xpi) = 414770 -SHA256 (xpi/firefox-i18n-33.0b5/pt-PT.xpi) = c6c2d1e96c16a136a0d40a3e2d3f9e5b44f7176e405a3a29d02aad56ece1c024 -SIZE (xpi/firefox-i18n-33.0b5/pt-PT.xpi) = 395265 -SHA256 (xpi/firefox-i18n-33.0b5/rm.xpi) = 2b9c4feefc577fcf52a83ed8e8a6e59cab028cda53821666b82c25c4f7068598 -SIZE (xpi/firefox-i18n-33.0b5/rm.xpi) = 409420 -SHA256 (xpi/firefox-i18n-33.0b5/ro.xpi) = 689499d3124a495f41908102e2b490b73be6c4dadbf0516d5d221aca22955a63 -SIZE (xpi/firefox-i18n-33.0b5/ro.xpi) = 450344 -SHA256 (xpi/firefox-i18n-33.0b5/ru.xpi) = edb217af8bcd4bbb7ea103030bebff726e07c98e29ea7cad06f4848dd9b6a311 -SIZE (xpi/firefox-i18n-33.0b5/ru.xpi) = 377954 -SHA256 (xpi/firefox-i18n-33.0b5/si.xpi) = 1dfb0d2027a64b388f098e8a60e74d9c505add1bf0c79076d239ecfd04c3db2f -SIZE (xpi/firefox-i18n-33.0b5/si.xpi) = 471276 -SHA256 (xpi/firefox-i18n-33.0b5/sk.xpi) = a0973516b2560fadac1fd0c46be605a827f09899f1b4e33d6ab9371c19ca017e -SIZE (xpi/firefox-i18n-33.0b5/sk.xpi) = 423458 -SHA256 (xpi/firefox-i18n-33.0b5/sl.xpi) = 8adc0e815439d63ccd8d1573064e1adbe30b2f4f8c0565a508ac58d7c50f8aae -SIZE (xpi/firefox-i18n-33.0b5/sl.xpi) = 396847 -SHA256 (xpi/firefox-i18n-33.0b5/son.xpi) = 03d7faf768c6b1d36172ef8a42d42a8b054f4e206f99b97a76ebfeb71e17cbf6 -SIZE (xpi/firefox-i18n-33.0b5/son.xpi) = 403899 -SHA256 (xpi/firefox-i18n-33.0b5/sq.xpi) = 679a1785eeef9ddc92d656e638a11be66f6311ba5169d7ccd14b24ec0471fa3a -SIZE (xpi/firefox-i18n-33.0b5/sq.xpi) = 440333 -SHA256 (xpi/firefox-i18n-33.0b5/sr.xpi) = aa343b14d30274e6d6d7fcfa5a257500a92a85b2d5de8277f679dfe3b72e49ba -SIZE (xpi/firefox-i18n-33.0b5/sr.xpi) = 434722 -SHA256 (xpi/firefox-i18n-33.0b5/sv-SE.xpi) = c6ce73c0e020a9ca964348b72262bcf1e96a770789df456d84843d849feb89cf -SIZE (xpi/firefox-i18n-33.0b5/sv-SE.xpi) = 407801 -SHA256 (xpi/firefox-i18n-33.0b5/ta.xpi) = 328cb981532fdd52859486da4ed2d3d8d56f7e4a16be9ec9945c2a8c2710af73 -SIZE (xpi/firefox-i18n-33.0b5/ta.xpi) = 458269 -SHA256 (xpi/firefox-i18n-33.0b5/te.xpi) = 6994e1c2f56b450b69db5eddfbf5954bb72a74377b60164ebf7717441b33f199 -SIZE (xpi/firefox-i18n-33.0b5/te.xpi) = 477177 -SHA256 (xpi/firefox-i18n-33.0b5/th.xpi) = d38d9420dbeb76426681aa01e07e70b13e22bb63bd7860fabfcadb867af6f4fa -SIZE (xpi/firefox-i18n-33.0b5/th.xpi) = 487651 -SHA256 (xpi/firefox-i18n-33.0b5/tr.xpi) = 66d17ced61a007816ad6691ce3274fc5b5e47df0665002edd09ce7749fdb21d7 -SIZE (xpi/firefox-i18n-33.0b5/tr.xpi) = 427164 -SHA256 (xpi/firefox-i18n-33.0b5/uk.xpi) = 34f5e7edda822bb2487a1033d41a105e83b3bd4ff483a9e455d1cbde8d61b3d4 -SIZE (xpi/firefox-i18n-33.0b5/uk.xpi) = 439276 -SHA256 (xpi/firefox-i18n-33.0b5/vi.xpi) = 3ad794096750b240a17ecdb2fd76656d863ba5b4b86c8b768e57c7334e9190f9 -SIZE (xpi/firefox-i18n-33.0b5/vi.xpi) = 421892 -SHA256 (xpi/firefox-i18n-33.0b5/xh.xpi) = 68faf84fa41edd351d638fa61189d72d7867ad664d12dce5ba8c8d5167fdc07c -SIZE (xpi/firefox-i18n-33.0b5/xh.xpi) = 407922 -SHA256 (xpi/firefox-i18n-33.0b5/zh-CN.xpi) = dcedcb08ac599993901634fb7a11921019e3fd30157e0db7d795605049818566 -SIZE (xpi/firefox-i18n-33.0b5/zh-CN.xpi) = 429311 -SHA256 (xpi/firefox-i18n-33.0b5/zh-TW.xpi) = 38cea10ac052c0d169906bebc9cb866dfe0aa2a9c19d7803672c56025d338efc -SIZE (xpi/firefox-i18n-33.0b5/zh-TW.xpi) = 421879 -SHA256 (xpi/firefox-i18n-33.0b5/zu.xpi) = 2fdc0df7ca0802f9559b8cb597af8e21e94bf387c83a8d07fbf2c9207221ea99 -SIZE (xpi/firefox-i18n-33.0b5/zu.xpi) = 442936 +SHA256 (xpi/firefox-i18n-33.0b7/ach.xpi) = fcb62d5186863a0b7555966403ec4b49fe2d506f62e27b8926cfe49739973fcb +SIZE (xpi/firefox-i18n-33.0b7/ach.xpi) = 438058 +SHA256 (xpi/firefox-i18n-33.0b7/af.xpi) = 8906cdd7e13004e6a1c73ac1365bbe20e5b8a63775277c2108aeec01784ea074 +SIZE (xpi/firefox-i18n-33.0b7/af.xpi) = 439179 +SHA256 (xpi/firefox-i18n-33.0b7/an.xpi) = 6a7f4ff30a9a75fd67b5954a8dadec2fc336d96f7f524b884d4a7abf311b34bb +SIZE (xpi/firefox-i18n-33.0b7/an.xpi) = 416630 +SHA256 (xpi/firefox-i18n-33.0b7/ar.xpi) = aeb8b38ff21a66d6ef9c69b54d3018ab703d67ae224f9dbe3abfffe68e4e0bf8 +SIZE (xpi/firefox-i18n-33.0b7/ar.xpi) = 470010 +SHA256 (xpi/firefox-i18n-33.0b7/as.xpi) = 30d055dd632ea45aaadccb9ac09294b6e89aeada64f93f58f31b0419bbbe66de +SIZE (xpi/firefox-i18n-33.0b7/as.xpi) = 459067 +SHA256 (xpi/firefox-i18n-33.0b7/ast.xpi) = ef01d58e36ece827c08ac601d196efee43868dcfda164ef420fa644d93752104 +SIZE (xpi/firefox-i18n-33.0b7/ast.xpi) = 356405 +SHA256 (xpi/firefox-i18n-33.0b7/be.xpi) = 790649cb7889998c9b978a8a8a402d1bd5dfce6b98efead01f6482325b5eacae +SIZE (xpi/firefox-i18n-33.0b7/be.xpi) = 391580 +SHA256 (xpi/firefox-i18n-33.0b7/bg.xpi) = bdd382470146c089e755422ae79cfdef8bb8df7885a6fe52e1faaf9352c12998 +SIZE (xpi/firefox-i18n-33.0b7/bg.xpi) = 448181 +SHA256 (xpi/firefox-i18n-33.0b7/bn-BD.xpi) = f9875434c54d73d757fa612e7859217beefbb29d2b6a3915b6acb12b41d88112 +SIZE (xpi/firefox-i18n-33.0b7/bn-BD.xpi) = 482818 +SHA256 (xpi/firefox-i18n-33.0b7/bn-IN.xpi) = 65e47a9c21cc7ceb5d56fe16183eb24e8d575129f03ec90eab807d31ad2ad0eb +SIZE (xpi/firefox-i18n-33.0b7/bn-IN.xpi) = 473625 +SHA256 (xpi/firefox-i18n-33.0b7/br.xpi) = f35a4febccff2582b9e158fb71025f8def72df7725101840701798b438952bc9 +SIZE (xpi/firefox-i18n-33.0b7/br.xpi) = 398474 +SHA256 (xpi/firefox-i18n-33.0b7/bs.xpi) = 7a59a23b5b6efc1558d0528c6c8aa23a765f6bc922cdf44cd936942de9699ee0 +SIZE (xpi/firefox-i18n-33.0b7/bs.xpi) = 439656 +SHA256 (xpi/firefox-i18n-33.0b7/ca.xpi) = 3b98248e18f1fd6b68c7e413f5858e87fa88e56d6d96f09d4da79c5a193b62f3 +SIZE (xpi/firefox-i18n-33.0b7/ca.xpi) = 412993 +SHA256 (xpi/firefox-i18n-33.0b7/cs.xpi) = a78db13f46f6d43ea32eaf1b6d55debe6761f0366671f7c7b0ea0e8966ecb55a +SIZE (xpi/firefox-i18n-33.0b7/cs.xpi) = 400638 +SHA256 (xpi/firefox-i18n-33.0b7/csb.xpi) = 340d3d94b5d618fc585afcca3f4fae1d8a63746b1614fd952ecec1f0f0555606 +SIZE (xpi/firefox-i18n-33.0b7/csb.xpi) = 394398 +SHA256 (xpi/firefox-i18n-33.0b7/cy.xpi) = b70dd6a50beea89c94d203b733263fbe87143b9af7196975b6254118519b4d6c +SIZE (xpi/firefox-i18n-33.0b7/cy.xpi) = 399933 +SHA256 (xpi/firefox-i18n-33.0b7/da.xpi) = 70391826adb26c07197ef644efc4798de322f7f6ff6913c0ed6a12d126a6c0ec +SIZE (xpi/firefox-i18n-33.0b7/da.xpi) = 406908 +SHA256 (xpi/firefox-i18n-33.0b7/de.xpi) = 3f36f7e8d46fa7db42456c31355de718cc137803b826fc7bc519e630f178d72e +SIZE (xpi/firefox-i18n-33.0b7/de.xpi) = 405048 +SHA256 (xpi/firefox-i18n-33.0b7/el.xpi) = f3fb3bb4728d310cebf3ea2215e9fe42a6c823a8ed035fd171e592eb95972821 +SIZE (xpi/firefox-i18n-33.0b7/el.xpi) = 453041 +SHA256 (xpi/firefox-i18n-33.0b7/en-GB.xpi) = c72b7505f3f2af589140de5fc4c218cecef5ffe7a37623f5f4145b9c7e0bdb21 +SIZE (xpi/firefox-i18n-33.0b7/en-GB.xpi) = 399778 +SHA256 (xpi/firefox-i18n-33.0b7/en-US.xpi) = 2b15e8e62fb9f75312403c000e028e09f10451c485d8e4d459bd8fb5d41c57e0 +SIZE (xpi/firefox-i18n-33.0b7/en-US.xpi) = 431464 +SHA256 (xpi/firefox-i18n-33.0b7/en-ZA.xpi) = ee38a01f8d7b3e18ea1d71351e1efb21852f42d357c6bd697c7b4b0596ef6dac +SIZE (xpi/firefox-i18n-33.0b7/en-ZA.xpi) = 399051 +SHA256 (xpi/firefox-i18n-33.0b7/eo.xpi) = dfd847279f47d8cc81d7fa6857d1c64a94397dfcd79b5fe1e9a63247cad46d03 +SIZE (xpi/firefox-i18n-33.0b7/eo.xpi) = 440954 +SHA256 (xpi/firefox-i18n-33.0b7/es-AR.xpi) = c2f0ed934a77cd2b946dbf10eee6340eb4a0845537bff3ad03f7c6aff9d999d8 +SIZE (xpi/firefox-i18n-33.0b7/es-AR.xpi) = 409126 +SHA256 (xpi/firefox-i18n-33.0b7/es-CL.xpi) = efab83141f5b637af61a8109089d92035866e1a8e66d985ec492dfa430377cb1 +SIZE (xpi/firefox-i18n-33.0b7/es-CL.xpi) = 348578 +SHA256 (xpi/firefox-i18n-33.0b7/es-ES.xpi) = e1bb453fb57384ec8affced4ee09d962dae5a39bbb84ea33ee77523dea66cbdb +SIZE (xpi/firefox-i18n-33.0b7/es-ES.xpi) = 340953 +SHA256 (xpi/firefox-i18n-33.0b7/es-MX.xpi) = e25f07943d15273cfff4fb273a71fe314f6b7e076cab4b530e1ff72cf4fd92dd +SIZE (xpi/firefox-i18n-33.0b7/es-MX.xpi) = 411638 +SHA256 (xpi/firefox-i18n-33.0b7/et.xpi) = c7079435d5b64098456d8b63bba670cb4d2dffa3af2198aea7b2d732189d5aa9 +SIZE (xpi/firefox-i18n-33.0b7/et.xpi) = 399281 +SHA256 (xpi/firefox-i18n-33.0b7/eu.xpi) = abf26fab79fd09f34eeb18f7be3e890607ddcf19dd42e61b26b72674ab5b4a34 +SIZE (xpi/firefox-i18n-33.0b7/eu.xpi) = 422008 +SHA256 (xpi/firefox-i18n-33.0b7/fa.xpi) = 3fe04398e22cbd790cf33d0c9e55b09af4978c342c7c340bf77d132644f0714e +SIZE (xpi/firefox-i18n-33.0b7/fa.xpi) = 470427 +SHA256 (xpi/firefox-i18n-33.0b7/ff.xpi) = 26f4dab74b6ef73c4144a828c8f618aa80c16f7ee869f470428e6304ecb13745 +SIZE (xpi/firefox-i18n-33.0b7/ff.xpi) = 409281 +SHA256 (xpi/firefox-i18n-33.0b7/fi.xpi) = 860a76caf57819a7031c196e92a0be233e444880481ab7dd3f03e6efeff3e834 +SIZE (xpi/firefox-i18n-33.0b7/fi.xpi) = 401368 +SHA256 (xpi/firefox-i18n-33.0b7/fr.xpi) = b171cfb63dabb1bcd97aa1697aa4b75ce97bb6f776de500b20cff77245f06ae3 +SIZE (xpi/firefox-i18n-33.0b7/fr.xpi) = 416095 +SHA256 (xpi/firefox-i18n-33.0b7/fy-NL.xpi) = 3f20d9ac5080d8d710f573dd28442a2c3f36eb927e569773a002c4c5d8c9a8ed +SIZE (xpi/firefox-i18n-33.0b7/fy-NL.xpi) = 410821 +SHA256 (xpi/firefox-i18n-33.0b7/ga-IE.xpi) = 055d3d101bd048104621cb8aa36706871c1342776f86dc70f25b75bba9a0e6e6 +SIZE (xpi/firefox-i18n-33.0b7/ga-IE.xpi) = 418716 +SHA256 (xpi/firefox-i18n-33.0b7/gd.xpi) = 45ac0e0c0936f8cfb9ba09af69605e269e9dfa850f09e1ff0a5e6efa37019abf +SIZE (xpi/firefox-i18n-33.0b7/gd.xpi) = 411859 +SHA256 (xpi/firefox-i18n-33.0b7/gl.xpi) = 31ed94a79ca3f5caf886358d5510a553a501f0afdb1ad0250e806d994fa8574c +SIZE (xpi/firefox-i18n-33.0b7/gl.xpi) = 400658 +SHA256 (xpi/firefox-i18n-33.0b7/gu-IN.xpi) = 2c4c4e6f161e2299de2fca5d8d0cc09585f3ccdc7e24d0b6eaf2286aad70e496 +SIZE (xpi/firefox-i18n-33.0b7/gu-IN.xpi) = 428745 +SHA256 (xpi/firefox-i18n-33.0b7/he.xpi) = 66f99ec1bdb23c4eca8721dee1e0c90164e46cb6805cadbfe2dce69fc86efcbc +SIZE (xpi/firefox-i18n-33.0b7/he.xpi) = 437395 +SHA256 (xpi/firefox-i18n-33.0b7/hi-IN.xpi) = c7643d707c3f814147b82c72a6094e7e6c949f131f7deda7fbcf15f2a0478e69 +SIZE (xpi/firefox-i18n-33.0b7/hi-IN.xpi) = 451178 +SHA256 (xpi/firefox-i18n-33.0b7/hr.xpi) = 3e8872f6de4474b7451b4a92b052f24fd9c2cd9d46a3ac93e6418c22e93b4eac +SIZE (xpi/firefox-i18n-33.0b7/hr.xpi) = 433733 +SHA256 (xpi/firefox-i18n-33.0b7/hsb.xpi) = 910055191471fd7c357771f89d0e59b1d6b9d5d1669147a6bda116f84f3c33b3 +SIZE (xpi/firefox-i18n-33.0b7/hsb.xpi) = 422805 +SHA256 (xpi/firefox-i18n-33.0b7/hu.xpi) = 850a746a340cd3494a0065f0f59aad1d7f2825fe62da29e38f085f82076ff690 +SIZE (xpi/firefox-i18n-33.0b7/hu.xpi) = 408028 +SHA256 (xpi/firefox-i18n-33.0b7/hy-AM.xpi) = 3b4e0e7195b8076ed427d275fceb574f29b034f7d889078cbb0e4062c6f4c412 +SIZE (xpi/firefox-i18n-33.0b7/hy-AM.xpi) = 488862 +SHA256 (xpi/firefox-i18n-33.0b7/id.xpi) = c6806d908ec0eb8a9572b1a21fbc89e9b52b621341630db65ba0f0e1684d52be +SIZE (xpi/firefox-i18n-33.0b7/id.xpi) = 387156 +SHA256 (xpi/firefox-i18n-33.0b7/is.xpi) = 63abc2589b9f5352c5ca2b3132780253acf78de62294b87ee8cb4686ad08ced0 +SIZE (xpi/firefox-i18n-33.0b7/is.xpi) = 436811 +SHA256 (xpi/firefox-i18n-33.0b7/it.xpi) = f88baf6e272f161296325722d7eb058c5b477be499cef674e2b2ca69b65a365a +SIZE (xpi/firefox-i18n-33.0b7/it.xpi) = 335740 +SHA256 (xpi/firefox-i18n-33.0b7/ja.xpi) = c9403ab21f5ad36ef98ac655ecedc3bd567c2db1553724f2fd0e3cadfa2aaa22 +SIZE (xpi/firefox-i18n-33.0b7/ja.xpi) = 431105 +SHA256 (xpi/firefox-i18n-33.0b7/kk.xpi) = c6e9af08cabaf358bdff5a827c13d4f80b8c4e6dc5a1c5605144569a0d2f90fa +SIZE (xpi/firefox-i18n-33.0b7/kk.xpi) = 449148 +SHA256 (xpi/firefox-i18n-33.0b7/km.xpi) = 9768449bc03e21360f5474580328b9ad72c1b55e3af319441829ac06e07c0fec +SIZE (xpi/firefox-i18n-33.0b7/km.xpi) = 517087 +SHA256 (xpi/firefox-i18n-33.0b7/kn.xpi) = 33cf75abda6edfdd3f50f94f78d207dcf29cfe2e766c308e20373ee87df396eb +SIZE (xpi/firefox-i18n-33.0b7/kn.xpi) = 483822 +SHA256 (xpi/firefox-i18n-33.0b7/ko.xpi) = 8ef590368891df1285a080fd9e3fef74cb7c35710b24a8d6038d8a0c8c4775cb +SIZE (xpi/firefox-i18n-33.0b7/ko.xpi) = 412980 +SHA256 (xpi/firefox-i18n-33.0b7/ku.xpi) = b3dd454f70ae41e440356cb22993cdac9acb6f85e2b92a870d76d5d74c3ff214 +SIZE (xpi/firefox-i18n-33.0b7/ku.xpi) = 430236 +SHA256 (xpi/firefox-i18n-33.0b7/lij.xpi) = 173bc2f1207a5ade4fafd6c96d01ff8dd9263605de53d3c95452035e70847657 +SIZE (xpi/firefox-i18n-33.0b7/lij.xpi) = 396783 +SHA256 (xpi/firefox-i18n-33.0b7/lt.xpi) = b5360c5dd035e16b25af84557c1ab316a9ca79bded405aa914b58c7ce0f093dd +SIZE (xpi/firefox-i18n-33.0b7/lt.xpi) = 440001 +SHA256 (xpi/firefox-i18n-33.0b7/lv.xpi) = f98f6f1bec139a1d1116c623f8a287bbb90d5e3e2cef1e12e62fc62d1eb3a3de +SIZE (xpi/firefox-i18n-33.0b7/lv.xpi) = 407500 +SHA256 (xpi/firefox-i18n-33.0b7/mai.xpi) = 0337b6649a693003e3727cfc59055fdda0263c19b61b23e00711bea9191879a2 +SIZE (xpi/firefox-i18n-33.0b7/mai.xpi) = 454443 +SHA256 (xpi/firefox-i18n-33.0b7/mk.xpi) = acfc536e98aee1eec27e62795629c8b6858a4f40673dd0c2b3d90538a2267f92 +SIZE (xpi/firefox-i18n-33.0b7/mk.xpi) = 485257 +SHA256 (xpi/firefox-i18n-33.0b7/ml.xpi) = 2117a09eccfa0ba56f2a44efb30f1b995693ce97d2039aa4a836e3f76b1038dd +SIZE (xpi/firefox-i18n-33.0b7/ml.xpi) = 481021 +SHA256 (xpi/firefox-i18n-33.0b7/mr.xpi) = e2da9f38514a6c4af524a8edf98b223f3506c28a780e6562f144a03cc7fb393a +SIZE (xpi/firefox-i18n-33.0b7/mr.xpi) = 461601 +SHA256 (xpi/firefox-i18n-33.0b7/ms.xpi) = 0eb12ca838849b6fe73fc773493fec13222a6557a5b123964b889cf0db8e2a72 +SIZE (xpi/firefox-i18n-33.0b7/ms.xpi) = 444564 +SHA256 (xpi/firefox-i18n-33.0b7/nb-NO.xpi) = 745fb549b1b6e845115ad1c36029004743244caa360ad349a66a787ffb3101b3 +SIZE (xpi/firefox-i18n-33.0b7/nb-NO.xpi) = 400699 +SHA256 (xpi/firefox-i18n-33.0b7/nl.xpi) = 0cad6143a9a83ad0d11ebb81b65126c7bbcdb9d7b7f34deb65d5a3aa8f5446bb +SIZE (xpi/firefox-i18n-33.0b7/nl.xpi) = 399883 +SHA256 (xpi/firefox-i18n-33.0b7/nn-NO.xpi) = ea8254e0ec38ba88efa031dd2d9070e2500231c7b1d9a3d6cffadc20a8efcf0f +SIZE (xpi/firefox-i18n-33.0b7/nn-NO.xpi) = 397309 +SHA256 (xpi/firefox-i18n-33.0b7/or.xpi) = eb2989bc989b6216001e1e7d1d7a25ca097b8ad77e6ac9be6b6e4160398fd5f3 +SIZE (xpi/firefox-i18n-33.0b7/or.xpi) = 475408 +SHA256 (xpi/firefox-i18n-33.0b7/pa-IN.xpi) = e6dd10f604c86d492d94f435cbc86be5f7c1969201cf4f91847a0c4a38e57f37 +SIZE (xpi/firefox-i18n-33.0b7/pa-IN.xpi) = 446917 +SHA256 (xpi/firefox-i18n-33.0b7/pl.xpi) = 4b9a4434b15f0cc1ca5d0281f12b93bbe27d1dcc47a97f3256616db9e99d61dd +SIZE (xpi/firefox-i18n-33.0b7/pl.xpi) = 382408 +SHA256 (xpi/firefox-i18n-33.0b7/pt-BR.xpi) = dc2023ecd0eb1f8ba201384b685164c86e3b66d980cc77f843167e53dc8855db +SIZE (xpi/firefox-i18n-33.0b7/pt-BR.xpi) = 414770 +SHA256 (xpi/firefox-i18n-33.0b7/pt-PT.xpi) = 5ee470f57eb2aa3953de0038afdd6fde8ea76c48aea5244621a7e002595fe369 +SIZE (xpi/firefox-i18n-33.0b7/pt-PT.xpi) = 395265 +SHA256 (xpi/firefox-i18n-33.0b7/rm.xpi) = 9b3fdec0f0994b4eb0229721945d8b7a84a32d75eb84b129de96b576a0181711 +SIZE (xpi/firefox-i18n-33.0b7/rm.xpi) = 409420 +SHA256 (xpi/firefox-i18n-33.0b7/ro.xpi) = 87b643402d5e1a76783f0c40d5235c613401492a4c932a99324d127fd2390a6a +SIZE (xpi/firefox-i18n-33.0b7/ro.xpi) = 450344 +SHA256 (xpi/firefox-i18n-33.0b7/ru.xpi) = 5700952b95414124b8da6de7d7b061696b362bdaf9a218cad5c70610633d811e +SIZE (xpi/firefox-i18n-33.0b7/ru.xpi) = 377954 +SHA256 (xpi/firefox-i18n-33.0b7/si.xpi) = 3f735b1f275c2d2acef3607dd2673b7854526909ba60eefc5dc55c30282cf7a8 +SIZE (xpi/firefox-i18n-33.0b7/si.xpi) = 471276 +SHA256 (xpi/firefox-i18n-33.0b7/sk.xpi) = cb6e73aa4078bde566f6db2590332248d07e0e3a92317cfbbeb17e864a4e95fd +SIZE (xpi/firefox-i18n-33.0b7/sk.xpi) = 423458 +SHA256 (xpi/firefox-i18n-33.0b7/sl.xpi) = 4bc3a5e6bb32f2e49160bc69a181006aa5341a3b3e9883ecd2d984664a1e5d07 +SIZE (xpi/firefox-i18n-33.0b7/sl.xpi) = 396847 +SHA256 (xpi/firefox-i18n-33.0b7/son.xpi) = 32beeda5205cf331a646604dc9daff380d2de89b4602b6effe60bbb114a089d6 +SIZE (xpi/firefox-i18n-33.0b7/son.xpi) = 403899 +SHA256 (xpi/firefox-i18n-33.0b7/sq.xpi) = a8919ec78165d3bcba50067bb395143fc99ffe731c044ee1a2b37b69d782d188 +SIZE (xpi/firefox-i18n-33.0b7/sq.xpi) = 440333 +SHA256 (xpi/firefox-i18n-33.0b7/sr.xpi) = 5bec3f591b8c1a57433b4772d30211dbdd7e4103f82f983d15a1d21b5bd9b3e6 +SIZE (xpi/firefox-i18n-33.0b7/sr.xpi) = 434722 +SHA256 (xpi/firefox-i18n-33.0b7/sv-SE.xpi) = 010a9466b1b679c4e1793f684d3471b3c45fee78aac59e957196b303f9fac459 +SIZE (xpi/firefox-i18n-33.0b7/sv-SE.xpi) = 407801 +SHA256 (xpi/firefox-i18n-33.0b7/ta.xpi) = f021d965f2fe70879b277ca42ab64f9e53db51ee45139de428cb6d24003eca96 +SIZE (xpi/firefox-i18n-33.0b7/ta.xpi) = 458269 +SHA256 (xpi/firefox-i18n-33.0b7/te.xpi) = a1e4275d79d8a67f84330060c7b96b98afeb577c2b7fae58d01b28be7ec36ebf +SIZE (xpi/firefox-i18n-33.0b7/te.xpi) = 477177 +SHA256 (xpi/firefox-i18n-33.0b7/th.xpi) = 1505bb8caabfedf1215e19586eec45d36a1cd2af5558986abba7506ee60d7f95 +SIZE (xpi/firefox-i18n-33.0b7/th.xpi) = 487651 +SHA256 (xpi/firefox-i18n-33.0b7/tr.xpi) = da34af1b422c4f3657641565dd453e4a3593307ead0290cc56d9ef788d8cb0be +SIZE (xpi/firefox-i18n-33.0b7/tr.xpi) = 427164 +SHA256 (xpi/firefox-i18n-33.0b7/uk.xpi) = 7146b416fe0ce32ffd7844b3afa36454b8b5a1690fe024945537c75e1a1181b7 +SIZE (xpi/firefox-i18n-33.0b7/uk.xpi) = 439276 +SHA256 (xpi/firefox-i18n-33.0b7/vi.xpi) = 6e3ef2effc150e88d3f498ddccff16aa94c45d6c4ef6e2717de427617a514d6d +SIZE (xpi/firefox-i18n-33.0b7/vi.xpi) = 421892 +SHA256 (xpi/firefox-i18n-33.0b7/xh.xpi) = 3822500740a4199b8cbd2a7af43460d88927022a0cc26a37880349c58c48c321 +SIZE (xpi/firefox-i18n-33.0b7/xh.xpi) = 407922 +SHA256 (xpi/firefox-i18n-33.0b7/zh-CN.xpi) = b76fb17abf4bea4162373fca0b0224d0802fee517bc44df38cc2df85362abb26 +SIZE (xpi/firefox-i18n-33.0b7/zh-CN.xpi) = 429311 +SHA256 (xpi/firefox-i18n-33.0b7/zh-TW.xpi) = c361c540ee6933f6dd5eecb289ec51575274eee209b0eb9279f0a2e1a65c9a0c +SIZE (xpi/firefox-i18n-33.0b7/zh-TW.xpi) = 421879 +SHA256 (xpi/firefox-i18n-33.0b7/zu.xpi) = 60bb2f8f5d9dc77364c2f99046eb07ded8805f45cd985129bc471584b56debd9 +SIZE (xpi/firefox-i18n-33.0b7/zu.xpi) = 442936 Modified: trunk/www/firefox-nightly/Makefile ============================================================================== --- trunk/www/firefox-nightly/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/www/firefox-nightly/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -17,6 +17,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \ sqlite3>=3.8.6:${PORTSDIR}/databases/sqlite3 \ + nss>=3.17.1:${PORTSDIR}/security/nss \ v4l_compat>0:${PORTSDIR}/multimedia/v4l_compat \ libevent2>=2.0.21_2:${PORTSDIR}/devel/libevent2 \ cairo>=1.12.16_1,2:${PORTSDIR}/graphics/cairo \ @@ -29,7 +30,6 @@ nspr>=4.10.6:${PORTSDIR}/devel/nspr \ zip:${PORTSDIR}/archivers/zip \ unzip:${PORTSDIR}/archivers/unzip -# nss>=3.17.1:${PORTSDIR}/security/nss \ LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l Modified: trunk/www/firefox-nightly/Makefile.hgrev ============================================================================== --- trunk/www/firefox-nightly/Makefile.hgrev Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/www/firefox-nightly/Makefile.hgrev Wed Sep 24 15:27:39 2014 (r1703) @@ -1 +1 @@ -HGREV= 206119:f1fd44eebac7 +HGREV= 206902:d63a5fe3ace7 Modified: trunk/www/firefox-nightly/distinfo ============================================================================== --- trunk/www/firefox-nightly/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/www/firefox-nightly/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,2 +1,2 @@ -SHA256 (firefox-nightly/f1fd44eebac7.tar.bz2) = 548dc39ace6fa09ef82bbaab7ee22244b502fc3ebe86132b007905bf1b6bc264 -SIZE (firefox-nightly/f1fd44eebac7.tar.bz2) = 171525968 +SHA256 (firefox-nightly/d63a5fe3ace7.tar.bz2) = 8b8f53b15d039c408cdb7eb40d8630be37adae8e1b2e80a2e8e1b7935610c6cf +SIZE (firefox-nightly/d63a5fe3ace7.tar.bz2) = 172013889 Added: trunk/www/firefox-nightly/files/patch-bug1063726 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/firefox-nightly/files/patch-bug1063726 Wed Sep 24 15:27:39 2014 (r1703) @@ -0,0 +1,41 @@ +diff --git js/src/configure.in js/src/configure.in +index 75177dd..1051ba2 100644 +--- js/src/configure.in ++++ js/src/configure.in +@@ -3913,7 +3913,17 @@ dnl ======================================================== + dnl JavaScript shell + dnl ======================================================== + +-AC_CHECK_HEADERS(malloc.h malloc/malloc.h) ++MALLOC_HEADERS="malloc.h malloc_np.h malloc/malloc.h sys/malloc.h" ++MALLOC_H= ++ ++for file in $MALLOC_HEADERS; do ++ MOZ_CHECK_HEADER($file, [MALLOC_H=$file]) ++ if test "$MALLOC_H" != ""; then ++ AC_DEFINE_UNQUOTED(MALLOC_H, <$MALLOC_H>) ++ break ++ fi ++done ++ + AC_CHECK_FUNCS(setlocale localeconv malloc_size malloc_usable_size) + + AC_SUBST(MOZILLA_VERSION) +diff --git js/src/shell/js.cpp js/src/shell/js.cpp +index 866522a..b0b475f 100644 +--- js/src/shell/js.cpp ++++ js/src/shell/js.cpp +@@ -22,11 +22,8 @@ + # include /* for isatty() */ + #endif + #include +-#ifdef HAVE_MALLOC_H /* for malloc_usable_size on Linux, _msize on Windows */ +-#include +-#endif +-#ifdef HAVE_MALLOC_MALLOC_H +-#include /* for malloc_size on OSX */ ++#if defined(MALLOC_H) ++#include MALLOC_H /* for malloc_usable_size, malloc_size, _msize */ + #endif + #include + #include Modified: trunk/www/firefox/Makefile ============================================================================== --- trunk/www/firefox/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/www/firefox/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,7 +2,7 @@ # $FreeBSD: head/www/firefox/Makefile 367888 2014-09-10 20:50:31Z gerald $ PORTNAME= firefox -DISTVERSION= 33.0b5 +DISTVERSION= 33.0b7 DISTVERSIONSUFFIX=.source PORTEPOCH= 1 CATEGORIES= www ipv6 Modified: trunk/www/firefox/distinfo ============================================================================== --- trunk/www/firefox/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/www/firefox/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,2 +1,2 @@ -SHA256 (firefox-33.0b5.source.tar.bz2) = 44ca40850826d6b8d9a3d117a58a6583c332e445e43ac215a2e47a64284a3180 -SIZE (firefox-33.0b5.source.tar.bz2) = 155007491 +SHA256 (firefox-33.0b7.source.tar.bz2) = 14f369736422d194f5fd20f73f38147bf4075775651ab3ee5168f93327011c85 +SIZE (firefox-33.0b7.source.tar.bz2) = 155443352 Modified: trunk/www/libxul/Makefile ============================================================================== --- trunk/www/libxul/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/www/libxul/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,7 +2,7 @@ # $FreeBSD: head/www/libxul/Makefile 367712 2014-09-09 06:16:35Z bapt $ PORTNAME= libxul -DISTVERSION= 31.1.0 +DISTVERSION= 31.1.1 CATEGORIES?= www devel MASTER_SITES= MOZILLA/firefox/releases/${DISTVERSION}esr/source DISTNAME= firefox-${DISTVERSION}esr.source Modified: trunk/www/libxul/distinfo ============================================================================== --- trunk/www/libxul/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/www/libxul/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,2 +1,2 @@ -SHA256 (firefox-31.1.0esr.source.tar.bz2) = 209c2666757c8ffeb9b8139f24a5bfda65fd52c78ce61e300e3547624bc42a7e -SIZE (firefox-31.1.0esr.source.tar.bz2) = 147741041 +SHA256 (firefox-31.1.1esr.source.tar.bz2) = 79be660e766b5adfaf3fc8031804bd64d27d330231f0de5995dd89671d1998d2 +SIZE (firefox-31.1.1esr.source.tar.bz2) = 147904415 Modified: trunk/www/linux-firefox/Makefile ============================================================================== --- trunk/www/linux-firefox/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/www/linux-firefox/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,7 +2,7 @@ # $FreeBSD: head/www/linux-firefox/Makefile 367741 2014-09-09 15:12:32Z bapt $ PORTNAME= firefox -DISTVERSION= 33.0b3 +DISTVERSION= 33.0b7 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/linux-i686/en-US Modified: trunk/www/linux-firefox/distinfo ============================================================================== --- trunk/www/linux-firefox/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/www/linux-firefox/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,5 +1,5 @@ -SHA256 (firefox-33.0b3.tar.bz2) = 3e12042a85d84c2133ba07f41376c0eda98255b6824da4affcdecc3629d014a4 -SIZE (firefox-33.0b3.tar.bz2) = 43473719 +SHA256 (firefox-33.0b7.tar.bz2) = f146b3c00e6428521eb6ffd1f348b211cb2a6c3981d1a567c6147a63b0cea201 +SIZE (firefox-33.0b7.tar.bz2) = 43449920 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: trunk/www/linux-seamonkey/Makefile ============================================================================== --- trunk/www/linux-seamonkey/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/www/linux-seamonkey/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,7 +2,7 @@ # $FreeBSD: head/www/linux-seamonkey/Makefile 367712 2014-09-09 06:16:35Z bapt $ PORTNAME= seamonkey -DISTVERSION= 2.29 +DISTVERSION= 2.29.1 CATEGORIES= www mail news editors irc ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/linux-i686/en-US Modified: trunk/www/linux-seamonkey/distinfo ============================================================================== --- trunk/www/linux-seamonkey/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/www/linux-seamonkey/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,5 +1,5 @@ -SHA256 (seamonkey-2.29.tar.bz2) = a720476302ad71f09d8767031bd212d87ee287b4af7ce3d9afb087cedba061fa -SIZE (seamonkey-2.29.tar.bz2) = 40067489 +SHA256 (seamonkey-2.29.1.tar.bz2) = 8f92ed28925080a55996ffd90d764f961c05c072cba806fac1de3c53f432393b +SIZE (seamonkey-2.29.1.tar.bz2) = 40020490 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: trunk/www/seamonkey-i18n/Makefile ============================================================================== --- trunk/www/seamonkey-i18n/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/www/seamonkey-i18n/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,8 +2,7 @@ # $FreeBSD: head/www/seamonkey-i18n/Makefile 367888 2014-09-10 20:50:31Z gerald $ PORTNAME= seamonkey-i18n -PORTVERSION= 2.29 -PORTREVISION= 1 +PORTVERSION= 2.29.1 CATEGORIES= www mail news editors irc MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}/langpack PKGNAMEPREFIX= Modified: trunk/www/seamonkey-i18n/distinfo ============================================================================== --- trunk/www/seamonkey-i18n/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/www/seamonkey-i18n/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,54 +1,52 @@ -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.be.langpack.xpi) = 7156f9cf1bdc434df8d787f8781a3fce523cb0b03adbf6d628a633210bea45e2 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.be.langpack.xpi) = 837342 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.ca.langpack.xpi) = 2a5f02b5abc8ca12749526433ca52ced53a114a2cfc3766c93d664d13d402054 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.ca.langpack.xpi) = 830892 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.cs.langpack.xpi) = bf1b71cfc9430a1ed23675dc63f1bd8109e94812f8c4ba37971590f76fe47481 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.cs.langpack.xpi) = 832267 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.de.langpack.xpi) = d58be885968cab5a05ce93925e343bf7a2f1c048f0d77e07c1afa74775ef6fe4 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.de.langpack.xpi) = 837071 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.en-GB.langpack.xpi) = 74ebdfcbe032a008995a8af4851a68aed71c59dcf52ce2c9f62f26e6f1881b5b -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.en-GB.langpack.xpi) = 800824 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.en-US.langpack.xpi) = 90a077d0554a8c2c74adf5d227f979e047fb09263699b19f226003b57074cd98 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.en-US.langpack.xpi) = 800944 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.es-AR.langpack.xpi) = 0b29152faf12eeb15e5e103ade800a84476248533995881d4aec86725b3ba0c2 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.es-AR.langpack.xpi) = 851548 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.es-ES.langpack.xpi) = 760f505e4daf36c7c43280a7e642929408f38d55fbb2fb840cb23a2771a7ecc6 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.es-ES.langpack.xpi) = 827396 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.fi.langpack.xpi) = 5fb0e08c5aaf243e4ea8353646380b0ce3fc1ffdb39b6cc7ba861f68618e2449 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.fi.langpack.xpi) = 798956 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.fr.langpack.xpi) = 463c36cf9bddefd82edb9319f8e8622c2d19042d3e1daa130590b4f57c5bc1fa -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.fr.langpack.xpi) = 809847 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.gl.langpack.xpi) = 86787a3c7f2763015daa41c19c43d4e9a6ff86c94fa73ac7a9ed9a7e1d757eb7 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.gl.langpack.xpi) = 811260 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.hu.langpack.xpi) = b0ae2c18ac97b8d85e7610adc7940b48f7afe05efe96dacbcacd2e98e00435fd -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.hu.langpack.xpi) = 845863 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.it.langpack.xpi) = 5d7a3f10b56055513f6662cfd3f4f3ec875a3ac1bfd80f8f419a755908e68b82 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.it.langpack.xpi) = 747522 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.ja-JP-mac.langpack.xpi) = 01295c4f761047bb4dc922d8413e1ec0dbf1770f26ea8ca2b66d7b4b5f795d77 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.ja-JP-mac.langpack.xpi) = 898135 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.ja.langpack.xpi) = 5c4ebde4f5aa44f783c0fa8049f35743ed9d38d19a8454e5049226fecf5abe5d -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.ja.langpack.xpi) = 882629 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.lt.langpack.xpi) = e51a198178388e904dbbbe6516d11bdebe8088eac8aae592c2d4a74af01ea901 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.lt.langpack.xpi) = 847471 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.nb-NO.langpack.xpi) = 5095a8d70b61aa3c25d85df4a32bdf2ef679b5542a5ec2b30bbbd7945544102c -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.nb-NO.langpack.xpi) = 820413 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.nl.langpack.xpi) = c38dd25bab68fad1a866749a82607f613ca67675a2caefdd9a01c5b46ecb2a5a -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.nl.langpack.xpi) = 795956 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.pl.langpack.xpi) = dc2b727b0eb97f57797b90b51e645a460d114593881496313e4d2af06fc8e9da -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.pl.langpack.xpi) = 868183 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.pt-PT.langpack.xpi) = 22374e79ea755d3059b1978dae3c48c93e4e66858fb0f6e8e44883d820ae23ab -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.pt-PT.langpack.xpi) = 835296 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.ru.langpack.xpi) = 45979fe8e50956ae0eafedc7dc69a8ef3843ccad877270f3a2e6631c0ce5b2b8 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.ru.langpack.xpi) = 904348 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.sk.langpack.xpi) = 1212df2c49c181fd670edd77021541161e1269ab505091b72007b7f4d7a04d6a -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.sk.langpack.xpi) = 859264 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.sv-SE.langpack.xpi) = 4efc90b6202f41ab3dcba433bbdfff8a004b784d9474ac2b1edb1cd85872450b -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.sv-SE.langpack.xpi) = 824245 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.tr.langpack.xpi) = 93839797d69b5a2f7e29505545bf30a270f9cdd14472068aaa6db3e248419113 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.tr.langpack.xpi) = 808130 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.uk.langpack.xpi) = 82d67aba56e2a0db1718d0dc1953c99fd6bcf1c2b0c3246a5e0ad5bb198729cd -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.uk.langpack.xpi) = 870445 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.zh-CN.langpack.xpi) = adad6ec03d8d0ccb55872b642bf6ca41819550d01ef99fe9cdc2df5e3f29657e -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.zh-CN.langpack.xpi) = 833563 -SHA256 (xpi/seamonkey-i18n-2.29/seamonkey-2.29.zh-TW.langpack.xpi) = 9512cc0203dc8af4596fc3ee6ef4bc04af19efc2c967a62818776b02b2d2ebf7 -SIZE (xpi/seamonkey-i18n-2.29/seamonkey-2.29.zh-TW.langpack.xpi) = 858130 +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.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 Modified: trunk/www/seamonkey/Makefile ============================================================================== --- trunk/www/seamonkey/Makefile Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/www/seamonkey/Makefile Wed Sep 24 15:27:39 2014 (r1703) @@ -2,7 +2,7 @@ # $FreeBSD: head/www/seamonkey/Makefile 367712 2014-09-09 06:16:35Z bapt $ PORTNAME= seamonkey -DISTVERSION= 2.29 +DISTVERSION= 2.29.1 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/ Modified: trunk/www/seamonkey/distinfo ============================================================================== --- trunk/www/seamonkey/distinfo Tue Sep 23 06:48:59 2014 (r1702) +++ trunk/www/seamonkey/distinfo Wed Sep 24 15:27:39 2014 (r1703) @@ -1,4 +1,4 @@ -SHA256 (seamonkey-2.29.source.tar.bz2) = 48945f7832e3c0b527347054f311278aec87175973dcf474a06c2b3a46528e43 -SIZE (seamonkey-2.29.source.tar.bz2) = 174027049 +SHA256 (seamonkey-2.29.1.source.tar.bz2) = 26e345f71c6f305084ada10e10e55356fe4f08be25948cddb27eea81c0cd0679 +SIZE (seamonkey-2.29.1.source.tar.bz2) = 173439941 SHA256 (enigmail-1.7.2.tar.gz) = 7b3a62e83961bafec1cdac60075aa6c317c8f655a837e31a7d1f3ce6a49fc7d6 SIZE (enigmail-1.7.2.tar.gz) = 1420346 From owner-freebsd-gecko@FreeBSD.ORG Wed Sep 24 16:12:23 2014 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 31363BF for ; Wed, 24 Sep 2014 16:12:23 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.244.247]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B7C7836E for ; Wed, 24 Sep 2014 16:12:22 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian [217.150.244.247]) by trillian.chruetertee.ch (8.14.4/8.14.3) with ESMTP id s8OGCKZG007209 for ; Wed, 24 Sep 2014 16:12:20 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.4/8.14.3/Submit) id s8OGCF3p006314 for freebsd-gecko@freebsd.org; Wed, 24 Sep 2014 16:12:15 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Wed, 24 Sep 2014 16:12:15 GMT Message-Id: <201409241612.s8OGCF3p006314@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org Subject: [SVN-Commit] r1704 - branches/firefox32/www/firefox-nightly trunk/www/firefox-nightly MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reply-To: freebsd-gecko@freebsd.org X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2014 16:12:23 -0000 Author: jbeich Date: Wed Sep 24 16:12:15 2014 New Revision: 1704 Log: fixup previous commit to actually use system nss Modified: branches/firefox32/www/firefox-nightly/Makefile trunk/www/firefox-nightly/Makefile Modified: branches/firefox32/www/firefox-nightly/Makefile ============================================================================== --- branches/firefox32/www/firefox-nightly/Makefile Wed Sep 24 15:27:39 2014 (r1703) +++ branches/firefox32/www/firefox-nightly/Makefile Wed Sep 24 16:12:15 2014 (r1704) @@ -40,7 +40,7 @@ CPE_VERSION= ${PORTVERSION:R} CPE_UPDATE= alpha1 MOZ_PKGCONFIG_FILES= # empty -USE_MOZILLA= -nss +USE_MOZILLA= # empty MOZILLA_NAME= Firefox Nightly MOZILLA_SUFX= -nightly MOZILLA= ${PORTNAME}${MOZILLA_SUFX} Modified: trunk/www/firefox-nightly/Makefile ============================================================================== --- trunk/www/firefox-nightly/Makefile Wed Sep 24 15:27:39 2014 (r1703) +++ trunk/www/firefox-nightly/Makefile Wed Sep 24 16:12:15 2014 (r1704) @@ -40,7 +40,7 @@ CPE_VERSION= ${PORTVERSION:R} CPE_UPDATE= alpha1 MOZ_PKGCONFIG_FILES= # empty -USE_MOZILLA= -nss +USE_MOZILLA= # empty MOZILLA_NAME= Firefox Nightly MOZILLA_SUFX= -nightly MOZILLA= ${PORTNAME}${MOZILLA_SUFX} From owner-freebsd-gecko@FreeBSD.ORG Wed Sep 24 17:06:48 2014 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3DECED0B for ; Wed, 24 Sep 2014 17:06:48 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.244.247]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BBAADC4D for ; Wed, 24 Sep 2014 17:06:47 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian [217.150.244.247]) by trillian.chruetertee.ch (8.14.4/8.14.3) with ESMTP id s8OH6itU027794 for ; Wed, 24 Sep 2014 17:06:44 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.4/8.14.3/Submit) id s8OH6ddp026826 for freebsd-gecko@freebsd.org; Wed, 24 Sep 2014 17:06:39 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Wed, 24 Sep 2014 17:06:39 GMT Message-Id: <201409241706.s8OH6ddp026826@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org Subject: [SVN-Commit] r1705 - branches/firefox32/security/ca_root_nss branches/firefox32/www/seamonkey-i18n trunk/security/ca_root_nss trunk/www/seamonkey-i18n MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reply-To: freebsd-gecko@freebsd.org X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2014 17:06:48 -0000 Author: jbeich Date: Wed Sep 24 17:06:39 2014 New Revision: 1705 Log: update Modified: branches/firefox32/security/ca_root_nss/Makefile branches/firefox32/security/ca_root_nss/distinfo branches/firefox32/www/seamonkey-i18n/distinfo trunk/security/ca_root_nss/Makefile trunk/security/ca_root_nss/distinfo trunk/www/seamonkey-i18n/distinfo Modified: branches/firefox32/security/ca_root_nss/Makefile ============================================================================== --- branches/firefox32/security/ca_root_nss/Makefile Wed Sep 24 16:12:15 2014 (r1704) +++ branches/firefox32/security/ca_root_nss/Makefile Wed Sep 24 17:06:39 2014 (r1705) @@ -25,7 +25,7 @@ # !!! Please DO NOT submit patches for new version until it has !!! # !!! been committed there first. !!! # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -VERSION_NSS= 3.17 +VERSION_NSS= 3.17.1 #NSS_SUFFIX= .with.ckbi.1.93 CERTDATA_TXT_PATH= nss-${VERSION_NSS}/nss/lib/ckfw/builtins/certdata.txt BUNDLE_PROCESSOR= MAca-bundle.pl Modified: branches/firefox32/security/ca_root_nss/distinfo ============================================================================== --- branches/firefox32/security/ca_root_nss/distinfo Wed Sep 24 16:12:15 2014 (r1704) +++ branches/firefox32/security/ca_root_nss/distinfo Wed Sep 24 17:06:39 2014 (r1705) @@ -1,2 +1,2 @@ -SHA256 (nss-3.17.tar.gz) = 3b1abcd8f89211dda2cc739bfa76552d080f7ea80482ef2727b006548a7f0c81 -SIZE (nss-3.17.tar.gz) = 6429534 +SHA256 (nss-3.17.1.tar.gz) = 0e210afba7cd1e033a08f61fcd1f466639649fc413e72aa050f3d52c19376e5f +SIZE (nss-3.17.1.tar.gz) = 6927105 Modified: branches/firefox32/www/seamonkey-i18n/distinfo ============================================================================== --- branches/firefox32/www/seamonkey-i18n/distinfo Wed Sep 24 16:12:15 2014 (r1704) +++ branches/firefox32/www/seamonkey-i18n/distinfo Wed Sep 24 17:06:39 2014 (r1705) @@ -4,6 +4,8 @@ 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 Modified: trunk/security/ca_root_nss/Makefile ============================================================================== --- trunk/security/ca_root_nss/Makefile Wed Sep 24 16:12:15 2014 (r1704) +++ trunk/security/ca_root_nss/Makefile Wed Sep 24 17:06:39 2014 (r1705) @@ -25,7 +25,7 @@ # !!! Please DO NOT submit patches for new version until it has !!! # !!! been committed there first. !!! # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -VERSION_NSS= 3.17 +VERSION_NSS= 3.17.1 #NSS_SUFFIX= .with.ckbi.1.93 CERTDATA_TXT_PATH= nss-${VERSION_NSS}/nss/lib/ckfw/builtins/certdata.txt BUNDLE_PROCESSOR= MAca-bundle.pl Modified: trunk/security/ca_root_nss/distinfo ============================================================================== --- trunk/security/ca_root_nss/distinfo Wed Sep 24 16:12:15 2014 (r1704) +++ trunk/security/ca_root_nss/distinfo Wed Sep 24 17:06:39 2014 (r1705) @@ -1,2 +1,2 @@ -SHA256 (nss-3.17.tar.gz) = 3b1abcd8f89211dda2cc739bfa76552d080f7ea80482ef2727b006548a7f0c81 -SIZE (nss-3.17.tar.gz) = 6429534 +SHA256 (nss-3.17.1.tar.gz) = 0e210afba7cd1e033a08f61fcd1f466639649fc413e72aa050f3d52c19376e5f +SIZE (nss-3.17.1.tar.gz) = 6927105 Modified: trunk/www/seamonkey-i18n/distinfo ============================================================================== --- trunk/www/seamonkey-i18n/distinfo Wed Sep 24 16:12:15 2014 (r1704) +++ trunk/www/seamonkey-i18n/distinfo Wed Sep 24 17:06:39 2014 (r1705) @@ -4,6 +4,8 @@ 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 From owner-freebsd-gecko@FreeBSD.ORG Wed Sep 24 17:48:58 2014 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D9A83894 for ; Wed, 24 Sep 2014 17:48:58 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.244.247]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 548CF101 for ; Wed, 24 Sep 2014 17:48:57 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian [217.150.244.247]) by trillian.chruetertee.ch (8.14.4/8.14.3) with ESMTP id s8OHmtbQ022691 for ; Wed, 24 Sep 2014 17:48:55 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.4/8.14.3/Submit) id s8OHmoQ2022118 for freebsd-gecko@freebsd.org; Wed, 24 Sep 2014 17:48:50 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Wed, 24 Sep 2014 17:48:50 GMT Message-Id: <201409241748.s8OHmoQ2022118@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org Subject: [SVN-Commit] r1706 - branches/firefox32/mail/thunderbird trunk/mail/thunderbird MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reply-To: freebsd-gecko@freebsd.org X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2014 17:48:58 -0000 Author: jbeich Date: Wed Sep 24 17:48:50 2014 New Revision: 1706 Log: use correct lightning version to unbreak thunderbird Modified: branches/firefox32/mail/thunderbird/Makefile trunk/mail/thunderbird/Makefile Modified: branches/firefox32/mail/thunderbird/Makefile ============================================================================== --- branches/firefox32/mail/thunderbird/Makefile Wed Sep 24 17:06:39 2014 (r1705) +++ branches/firefox32/mail/thunderbird/Makefile Wed Sep 24 17:48:50 2014 (r1706) @@ -31,7 +31,7 @@ LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l EM_VERSION= 1.7.2 -L_VERSION= 3.3.1.1 +L_VERSION= 3.3.1.2 SSP_UNSAFE= yes USE_AUTOTOOLS= autoconf213:env Modified: trunk/mail/thunderbird/Makefile ============================================================================== --- trunk/mail/thunderbird/Makefile Wed Sep 24 17:06:39 2014 (r1705) +++ trunk/mail/thunderbird/Makefile Wed Sep 24 17:48:50 2014 (r1706) @@ -31,7 +31,7 @@ LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l EM_VERSION= 1.7.2 -L_VERSION= 3.3.1.1 +L_VERSION= 3.3.1.2 SSP_UNSAFE= yes USE_AUTOTOOLS= autoconf213:env From owner-freebsd-gecko@FreeBSD.ORG Wed Sep 24 20:24:03 2014 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A41CDFF6 for ; Wed, 24 Sep 2014 20:24:03 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (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 8EB2B816 for ; Wed, 24 Sep 2014 20:24:03 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id s8OKO3xl094525 for ; Wed, 24 Sep 2014 20:24:03 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: gecko@FreeBSD.org Subject: maintainer-feedback requested: [Bug 193906] security/nss: update to 3.17.1 to fix CVE-2014-1568 Date: Wed, 24 Sep 2014 20:24:03 +0000 X-Bugzilla-Type: request Message-ID: In-Reply-To: References: X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2014 20:24:03 -0000 Jan Beich has asked gecko@FreeBSD.org for maintainer-feedback: Bug 193906: security/nss: update to 3.17.1 to fix CVE-2014-1568 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D193906 ------- Additional Comments from Jan Beich While native firefox/thunderbird/seamonkey ports use --with-system-nss it m= aybe still worth updating in order to fix bugs missed in other point releases as gecko@ team may not have any committers left. And there're still 3 weeks be= fore firefox 33.0. $ svn export https://trillian.chruetertee.ch/svn/freebsd-gecko/branches/firefox32 $ cp -R firefox32/ /usr/ports/ NSS -- RSA Signature Forgery linux-firefox 32.0.3,1 linux-thunderbird 31.1.2 linux-seamonkey 2.29.1 nss 3.17.1

The Mozilla Project reports:

MFSA 2014-73 RSA Signature Forgery in NSS

CVE-2014-1568 =20=20=20=20=20 https://www.mozilla.org/security/announce/2014/mfsa2014-73.html 2014-09-23 2014-09-24
= From owner-freebsd-gecko@FreeBSD.ORG Wed Sep 24 20:24:04 2014 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2036DFF8 for ; Wed, 24 Sep 2014 20:24:04 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (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 E0909818 for ; Wed, 24 Sep 2014 20:24:03 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id s8OKO3et094531 for ; Wed, 24 Sep 2014 20:24:03 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: gecko@FreeBSD.org Subject: [Bug 193906] New: security/nss: update to 3.17.1 to fix CVE-2014-1568 Date: Wed, 24 Sep 2014 20:24:03 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports Tree X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: patch X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: jbeich@vfemail.net X-Bugzilla-Status: Needs Triage X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: gecko@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: maintainer-feedback? X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status keywords bug_severity priority component assigned_to reporter flagtypes.name Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2014 20:24:04 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193906 Bug ID: 193906 Summary: security/nss: update to 3.17.1 to fix CVE-2014-1568 Product: Ports Tree Version: Latest Hardware: Any OS: Any Status: Needs Triage Keywords: patch Severity: Affects Only Me Priority: --- Component: Individual Port(s) Assignee: gecko@FreeBSD.org Reporter: jbeich@vfemail.net Assignee: gecko@FreeBSD.org Flags: maintainer-feedback?(gecko@FreeBSD.org) While native firefox/thunderbird/seamonkey ports use --with-system-nss it maybe still worth updating in order to fix bugs missed in other point releases as gecko@ team may not have any committers left. And there're still 3 weeks before firefox 33.0. $ svn export https://trillian.chruetertee.ch/svn/freebsd-gecko/branches/firefox32 $ cp -R firefox32/ /usr/ports/ NSS -- RSA Signature Forgery linux-firefox 32.0.3,1 linux-thunderbird 31.1.2 linux-seamonkey 2.29.1 nss 3.17.1

The Mozilla Project reports:

MFSA 2014-73 RSA Signature Forgery in NSS

CVE-2014-1568 https://www.mozilla.org/security/announce/2014/mfsa2014-73.html 2014-09-23 2014-09-24
--- Comment #1 from Bugzilla Automation --- Auto-assigned to maintainer gecko@FreeBSD.org -- You are receiving this mail because: You are the assignee for the bug. From owner-freebsd-gecko@FreeBSD.ORG Wed Sep 24 21:18:17 2014 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id F3AABA81 for ; Wed, 24 Sep 2014 21:18:16 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (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 DAF3CD4B for ; Wed, 24 Sep 2014 21:18:16 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id s8OLIGFL063719 for ; Wed, 24 Sep 2014 21:18:16 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: gecko@FreeBSD.org Subject: [Bug 193906] security/nss: update to 3.17.1 to fix CVE-2014-1568 Date: Wed, 24 Sep 2014 21:18:16 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports Tree X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: patch X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: jbeich@vfemail.net X-Bugzilla-Status: Needs Triage X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: gecko@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc flagtypes.name Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Sep 2014 21:18:17 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193906 Jan Beich changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bapt@FreeBSD.org Flags|maintainer-feedback?(gecko@ | |FreeBSD.org) | --- Comment #2 from Jan Beich --- Baptiste, do you have time to land the update? -- You are receiving this mail because: You are the assignee for the bug. From owner-freebsd-gecko@FreeBSD.ORG Thu Sep 25 07:41:09 2014 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 44CBD8D4 for ; Thu, 25 Sep 2014 07:41:09 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (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 2B13AC5 for ; Thu, 25 Sep 2014 07:41:09 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id s8P7f94A048141 for ; Thu, 25 Sep 2014 07:41:09 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: gecko@FreeBSD.org Subject: [Bug 193906] security/nss: update to 3.17.1 to fix CVE-2014-1568 Date: Thu, 25 Sep 2014 07:41:09 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports Tree X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: patch X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: commit-hook@freebsd.org X-Bugzilla-Status: Needs Triage X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: gecko@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Sep 2014 07:41:09 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193906 --- Comment #3 from commit-hook@freebsd.org --- A commit references this bug: Author: des Date: Thu Sep 25 07:40:34 UTC 2014 New revision: 369218 URL: http://svnweb.freebsd.org/changeset/ports/369218 Log: Upgrade to 3.17.1 PR: 193906 MFH: 2014Q3 Security: CVE-2014-1568 Changes: head/security/nss/Makefile head/security/nss/distinfo -- You are receiving this mail because: You are the assignee for the bug. From owner-freebsd-gecko@FreeBSD.ORG Thu Sep 25 07:44:10 2014 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D5EBAA66 for ; Thu, 25 Sep 2014 07:44:10 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (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 BC66010B for ; Thu, 25 Sep 2014 07:44:10 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id s8P7iAUW050767 for ; Thu, 25 Sep 2014 07:44:10 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: gecko@FreeBSD.org Subject: [Bug 193906] security/nss: update to 3.17.1 to fix CVE-2014-1568 Date: Thu, 25 Sep 2014 07:44:11 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports Tree X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: patch X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: commit-hook@freebsd.org X-Bugzilla-Status: Needs Triage X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: gecko@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Sep 2014 07:44:10 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193906 --- Comment #4 from commit-hook@freebsd.org --- A commit references this bug: Author: des Date: Thu Sep 25 07:43:18 UTC 2014 New revision: 369219 URL: http://svnweb.freebsd.org/changeset/ports/369219 Log: Add entry for the NSS signature forgery bug. PR: 193906 MFH: 2014Q3 Security: CVE-2014-1568 Changes: head/security/vuxml/vuln.xml -- You are receiving this mail because: You are the assignee for the bug. From owner-freebsd-gecko@FreeBSD.ORG Thu Sep 25 11:38:42 2014 Return-Path: Delivered-To: gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8D070F94 for ; Thu, 25 Sep 2014 11:38:42 +0000 (UTC) Received: from support.denonn.eu (support.denonn.eu [185.63.253.171]) by mx1.freebsd.org (Postfix) with ESMTP id 2419AECB for ; Thu, 25 Sep 2014 11:38:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; s=dkim; d=denonn.eu; h=MIME-Version:Content-Type:Message-Id:Date:From:To:Subject; i=squelch@denonn.eu; bh=JlKBiZ7vL9nBOYfQfmwa/0uEb0k=; b=HLVsPJIGlowCxw0uhnJWyvVcUzKD8KO12awarrlOA2TXH9HHk7isDL6oIjzvSfnVYoKCXFD6NK3E av3trW5kazSVF8NPKZQ9dhiR3quiChhKYuEvcvwdgtMrr9oZW8Mrs8KnhaeuyZuZSQtqiOJ5sqkz 1XJyFAsU+MtTvzwL29s= Received: by support.denonn.eu id h4fvda0001gj for ; Thu, 25 Sep 2014 11:36:39 +0000 (envelope-from ) MIME-Version: 1.0 Message-Id: Date: Thu, 25 Sep 2014 11:36:39 +0000 From: Hello andrewzellinger@me.com To: gecko@freebsd.org Subject: Hello gecko@freebsd.org Content-Type: text/plain; X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Sep 2014 11:38:42 -0000 Hi, I wanted to check how you feel today? From owner-freebsd-gecko@FreeBSD.ORG Thu Sep 25 22:14:35 2014 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id F09D8EE2 for ; Thu, 25 Sep 2014 22:14:35 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.244.247]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8F9929C3 for ; Thu, 25 Sep 2014 22:14:33 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian [217.150.244.247]) by trillian.chruetertee.ch (8.14.4/8.14.3) with ESMTP id s8PMEOu1041169 for ; Thu, 25 Sep 2014 22:14:24 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.4/8.14.3/Submit) id s8PMEIRW040138 for freebsd-gecko@freebsd.org; Thu, 25 Sep 2014 22:14:18 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Thu, 25 Sep 2014 22:14:18 GMT Message-Id: <201409252214.s8PMEIRW040138@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org Subject: [SVN-Commit] r1707 - in trunk: mail/thunderbird/files www/firefox-esr/files www/firefox-nightly/files www/firefox/files www/libxul/files www/seamonkey/files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reply-To: freebsd-gecko@freebsd.org X-Mailman-Approved-At: Thu, 25 Sep 2014 22:45:59 +0000 X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Sep 2014 22:14:36 -0000 Author: jbeich Date: Thu Sep 25 22:14:18 2014 New Revision: 1707 Log: add OSS audio fallback for HTML5 audio Added: trunk/mail/thunderbird/files/patch-bug1021761 trunk/www/firefox-esr/files/patch-bug1021761 trunk/www/firefox-nightly/files/patch-bug1021761 trunk/www/firefox/files/patch-bug1021761 trunk/www/libxul/files/patch-bug1021761 trunk/www/seamonkey/files/patch-bug1021761 Added: trunk/mail/thunderbird/files/patch-bug1021761 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/mail/thunderbird/files/patch-bug1021761 Thu Sep 25 22:14:18 2014 (r1707) @@ -0,0 +1,1092 @@ +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); +@@ -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 +--- mozilla//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; ++ pthread_t th; ++}; ++ ++static struct cubeb_ops const oss_ops; ++ ++int oss_init(cubeb ** context, char const * context_name) ++{ ++ cubeb* ctx = (cubeb*)malloc(sizeof(cubeb)); ++ ctx->ops = &oss_ops; ++ *context = ctx; ++ return CUBEB_OK; ++} ++ ++static void oss_destroy(cubeb *ctx) ++{ ++ free(ctx); ++} ++ ++static char const * oss_get_backend_id(cubeb * context) ++{ ++ static char oss_name[] = "oss"; ++ return oss_name; ++} ++ ++static int oss_get_max_channel_count(cubeb * ctx, uint32_t * max_channels) ++{ ++ *max_channels = 2; /* Let's support only stereo for now */ ++ return CUBEB_OK; ++} ++ ++static int oss_get_min_latency(cubeb * context, cubeb_stream_params params, ++ uint32_t * latency_ms) ++{ ++ /* 40ms is a big enough number to work ok */ ++ *latency_ms = 40; ++ return CUBEB_OK; ++} ++ ++static int oss_get_preferred_sample_rate(cubeb *context, uint32_t * rate) ++{ ++ /* 48000 seems a prefered choice for most audio devices ++ * and a good choice for OSS */ ++ *rate = 48000; ++ return CUBEB_OK; ++} ++ ++static void run_state_callback(cubeb_stream *stream, cubeb_state state) ++{ ++ if (stream->state_callback) { ++ stream->state_callback(stream, stream->user_ptr, state); ++ } ++} ++ ++static long run_data_callback(cubeb_stream *stream, void *buffer, long nframes) ++{ ++ long got = 0; ++ pthread_mutex_lock(&stream->state_mutex); ++ if (stream->data_callback && stream->running && !stream->stopped) { ++ pthread_mutex_unlock(&stream->state_mutex); ++ got = stream->data_callback(stream, stream->user_ptr, buffer, nframes); ++ } else { ++ pthread_mutex_unlock(&stream->state_mutex); ++ } ++ return got; ++} ++ ++static void apply_volume(int16_t* buffer, unsigned int n, ++ float volume, float panning) ++{ ++ float left = volume; ++ float right = volume; ++ unsigned int i; ++ int pan[2]; ++ if (panning<0) { ++ right *= (1+panning); ++ } else { ++ left *= (1-panning); ++ } ++ pan[0] = 128.0*left; ++ pan[1] = 128.0*right; ++ for(i=0; irunning) { ++ pthread_mutex_lock(&stream->state_mutex); ++ if (stream->stopped) { ++ pthread_mutex_unlock(&stream->state_mutex); ++ run_state_callback(stream, CUBEB_STATE_STOPPED); ++ pthread_mutex_lock(&stream->state_mutex); ++ while (stream->stopped) { ++ pthread_cond_wait(&stream->state_cond, &stream->state_mutex); ++ } ++ pthread_mutex_unlock(&stream->state_mutex); ++ run_state_callback(stream, CUBEB_STATE_STARTED); ++ continue; ++ } ++ pthread_mutex_unlock(&stream->state_mutex); ++ if (stream->floating) { ++ got = run_data_callback(stream, f_buffer, ++ OSS_BUFFER_SIZE/stream->params.channels); ++ for (i=0; i<((unsigned long)got)*stream->params.channels; i++) { ++ buffer[i] = f_buffer[i]*32767.0; ++ } ++ } else { ++ got = run_data_callback(stream, buffer, ++ OSS_BUFFER_SIZE/stream->params.channels); ++ } ++ apply_volume(buffer, got*stream->params.channels, ++ stream->volume, stream->panning); ++ if (got<0) { ++ run_state_callback(stream, CUBEB_STATE_ERROR); ++ break; ++ } ++ if (!got) { ++ run_state_callback(stream, CUBEB_STATE_DRAINED); ++ } ++ if (got) { ++ size_t i = 0; ++ size_t s = got*stream->params.channels*sizeof(int16_t); ++ while (i < s) { ++ ssize_t n = write(stream->fd, ((char*)buffer) + i, s - i); ++ if (n<=0) { ++ run_state_callback(stream, CUBEB_STATE_ERROR); ++ break; ++ } ++ i+=n; ++ } ++ stream->written_frags+=got; ++ } ++ } ++ return NULL; ++} ++ ++static void oss_try_set_latency(cubeb_stream* stream, unsigned int latency) ++{ ++ unsigned int latency_bytes, n_frag; ++ int frag; ++ /* fragment size of 1024 is a good choice with good chances to be accepted */ ++ unsigned int frag_size=1024; ++ unsigned int frag_log=10; /* 2^frag_log = frag_size */ ++ latency_bytes = ++ latency*stream->params.rate*stream->params.channels*sizeof(uint16_t)/1000; ++ n_frag = latency_bytes>>frag_log; ++ frag = (n_frag<<16) | frag_log; ++ /* Even if this fails we wish to continue, not checking for errors */ ++ ioctl(stream->fd, SNDCTL_DSP_SETFRAGMENT, &frag); ++} ++ ++static int oss_stream_init(cubeb * context, cubeb_stream ** stm, ++ char const * stream_name, ++ cubeb_stream_params stream_params, ++ unsigned int latency, ++ cubeb_data_callback data_callback, ++ cubeb_state_callback state_callback, void * user_ptr) ++{ ++ cubeb_stream* stream = (cubeb_stream*)malloc(sizeof(cubeb_stream)); ++ stream->context = context; ++ stream->data_callback = data_callback; ++ stream->state_callback = state_callback; ++ stream->user_ptr = user_ptr; ++ ++ if ((stream->fd = open(CUBEB_OSS_DEFAULT_OUTPUT, O_WRONLY)) == -1) { ++ free(stream); ++ return CUBEB_ERROR; ++ } ++#define SET(what, to) do { unsigned int i = to; \ ++ int j = ioctl(stream->fd, what, &i); \ ++ if (j == -1 || i != to) { \ ++ close(stream->fd); \ ++ free(stream); \ ++ return CUBEB_ERROR_INVALID_FORMAT; } } while (0) ++ ++ stream->params = stream_params; ++ stream->volume = 1.0; ++ stream->panning = 0.0; ++ ++ oss_try_set_latency(stream, latency); ++ ++ stream->floating = 0; ++ SET(SNDCTL_DSP_CHANNELS, stream_params.channels); ++ SET(SNDCTL_DSP_SPEED, stream_params.rate); ++ switch (stream_params.format) { ++ case CUBEB_SAMPLE_S16LE: ++ SET(SNDCTL_DSP_SETFMT, AFMT_S16_LE); ++ break; ++ case CUBEB_SAMPLE_S16BE: ++ SET(SNDCTL_DSP_SETFMT, AFMT_S16_BE); ++ break; ++ case CUBEB_SAMPLE_FLOAT32LE: ++ SET(SNDCTL_DSP_SETFMT, AFMT_S16_NE); ++ stream->floating = 1; ++ break; ++ default: ++ close(stream->fd); ++ free(stream); ++ return CUBEB_ERROR; ++ } ++ ++ ++ pthread_mutex_init(&stream->state_mutex, NULL); ++ pthread_cond_init(&stream->state_cond, NULL); ++ ++ stream->running = 1; ++ stream->stopped = 1; ++ stream->position_bytes = 0; ++ stream->last_position_bytes = 0; ++ stream->written_frags = 0; ++ stream->missed_frags = 0; ++ ++ pthread_create(&stream->th, NULL, writer, (void*)stream); ++ ++ *stm = stream; ++ ++ return CUBEB_OK; ++} ++ ++static void oss_stream_destroy(cubeb_stream * stream) ++{ ++ pthread_mutex_lock(&stream->state_mutex); ++ ++ stream->running = 0; ++ stream->stopped = 0; ++ pthread_cond_signal(&stream->state_cond); ++ ++ pthread_mutex_unlock(&stream->state_mutex); ++ ++ pthread_join(stream->th, NULL); ++ ++ pthread_mutex_destroy(&stream->state_mutex); ++ pthread_cond_destroy(&stream->state_cond); ++ close(stream->fd); ++ free(stream); ++} ++ ++static int oss_stream_get_latency(cubeb_stream * stream, uint32_t * latency) ++{ ++ if (ioctl(stream->fd, SNDCTL_DSP_GETODELAY, latency)==-1) { ++ return CUBEB_ERROR; ++ } ++ /* Convert latency from bytes to frames */ ++ *latency /= stream->params.channels*sizeof(int16_t); ++ return CUBEB_OK; ++} ++ ++ ++static int oss_stream_current_optr(cubeb_stream * stream, uint64_t * position) ++{ ++ count_info ci; ++ /* Unfortunately, this ioctl is only available in OSS 4.x */ ++#ifdef SNDCTL_DSP_CURRENT_OPTR ++ oss_count_t count; ++ if (ioctl(stream->fd, SNDCTL_DSP_CURRENT_OPTR, &count) != -1) { ++ *position = count.samples;// + count.fifo_samples; ++ return CUBEB_OK; ++ } ++#endif ++ /* Fall back to this ioctl in case the previous one fails */ ++ if (ioctl(stream->fd, SNDCTL_DSP_GETOPTR, &ci) == -1) { ++ return CUBEB_ERROR; ++ } ++ /* ci.bytes is only 32 bit and will start to wrap after arithmetic overflow */ ++ stream->position_bytes += ci.bytes - stream->last_position_bytes; ++ stream->last_position_bytes = ci.bytes; ++ *position = stream->position_bytes/stream->params.channels/sizeof(int16_t); ++ return CUBEB_OK; ++} ++ ++static int oss_stream_get_position(cubeb_stream * stream, uint64_t * position) ++{ ++ if ( oss_stream_current_optr(stream, position) == CUBEB_OK ){ ++ *position -= stream->missed_frags; ++ return CUBEB_OK; ++ } ++ /* If no correct method to get position works we resort to this */ ++ *position = stream->written_frags; ++ return CUBEB_OK; ++} ++ ++ ++static int oss_stream_start(cubeb_stream * stream) ++{ ++ pthread_mutex_lock(&stream->state_mutex); ++ if (stream->stopped) { ++ uint64_t ptr; ++ oss_stream_current_optr(stream, &ptr); ++ stream->missed_frags = ptr - stream->written_frags; ++ stream->stopped = 0; ++ pthread_cond_signal(&stream->state_cond); ++ } ++ pthread_mutex_unlock(&stream->state_mutex); ++ return CUBEB_OK; ++} ++ ++static int oss_stream_stop(cubeb_stream * stream) ++{ ++ pthread_mutex_lock(&stream->state_mutex); ++ stream->stopped = 1; ++ pthread_mutex_unlock(&stream->state_mutex); ++ return CUBEB_OK; ++} ++ ++int oss_stream_set_panning(cubeb_stream * stream, float panning) ++{ ++ if (stream->params.channels == 2) { ++ stream->panning=panning; ++ } ++ return CUBEB_OK; ++} ++ ++int oss_stream_set_volume(cubeb_stream * stream, float volume) ++{ ++ stream->volume=volume; ++ return CUBEB_OK; ++} ++ ++static struct cubeb_ops const oss_ops = { ++ .init = oss_init, ++ .get_backend_id = oss_get_backend_id, ++ .get_max_channel_count = oss_get_max_channel_count, ++ .get_min_latency = oss_get_min_latency, ++ .get_preferred_sample_rate = oss_get_preferred_sample_rate, ++ .destroy = oss_destroy, ++ .stream_init = oss_stream_init, ++ .stream_destroy = oss_stream_destroy, ++ .stream_start = oss_stream_start, ++ .stream_stop = oss_stream_stop, ++ .stream_get_position = oss_stream_get_position, ++ .stream_get_latency = oss_stream_get_latency ++}; +diff --git media/libcubeb/src/moz.build media/libcubeb/src/moz.build +index 8b7a0dd..31212ce 100644 +--- mozilla/media/libcubeb/src/moz.build ++++ mozilla/media/libcubeb/src/moz.build +@@ -17,6 +17,12 @@ if CONFIG['MOZ_ALSA']: + ] + DEFINES['USE_ALSA'] = True + ++if CONFIG['MOZ_OSS']: ++ SOURCES += [ ++ 'cubeb_oss.c', ++ ] ++ DEFINES['USE_OSS'] = True ++ + if CONFIG['MOZ_PULSEAUDIO']: + SOURCES += [ + 'cubeb_pulse.c', +@@ -75,5 +81,6 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk': + + FAIL_ON_WARNINGS = True + ++CFLAGS += CONFIG['MOZ_OSS_CFLAGS'] + CFLAGS += CONFIG['MOZ_ALSA_CFLAGS'] + CFLAGS += CONFIG['MOZ_PULSEAUDIO_CFLAGS'] +diff --git toolkit/library/libxul.mk toolkit/library/libxul.mk +index e191f13..4fb268a 100644 +--- mozilla/toolkit/library/libxul.mk ++++ mozilla/toolkit/library/libxul.mk +@@ -146,6 +146,10 @@ OS_LIBS += $(call EXPAND_LIBNAME,secur32 + endif + endif + ++ifdef MOZ_OSS ++EXTRA_DSO_LDOPTS += $(MOZ_OSS_LIBS) ++endif ++ + ifdef MOZ_ALSA + EXTRA_DSO_LDOPTS += $(MOZ_ALSA_LIBS) + endif Added: trunk/www/firefox-esr/files/patch-bug1021761 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/firefox-esr/files/patch-bug1021761 Thu Sep 25 22:14:18 2014 (r1707) @@ -0,0 +1,1092 @@ +diff --git configure.in configure.in +index 48e60c0..ec08417 100644 +--- configure.in ++++ 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 +--- media/libcubeb/AUTHORS ++++ 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 +--- media/libcubeb/src/cubeb.c ++++ 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 +--- media/libcubeb/src/cubeb_alsa.c ++++ 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); +@@ -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 ++++ 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; ++ pthread_t th; ++}; ++ ++static struct cubeb_ops const oss_ops; ++ ++int oss_init(cubeb ** context, char const * context_name) ++{ ++ cubeb* ctx = (cubeb*)malloc(sizeof(cubeb)); ++ ctx->ops = &oss_ops; ++ *context = ctx; ++ return CUBEB_OK; ++} ++ ++static void oss_destroy(cubeb *ctx) ++{ ++ free(ctx); ++} ++ ++static char const * oss_get_backend_id(cubeb * context) ++{ ++ static char oss_name[] = "oss"; ++ return oss_name; ++} ++ ++static int oss_get_max_channel_count(cubeb * ctx, uint32_t * max_channels) ++{ ++ *max_channels = 2; /* Let's support only stereo for now */ ++ return CUBEB_OK; ++} ++ ++static int oss_get_min_latency(cubeb * context, cubeb_stream_params params, ++ uint32_t * latency_ms) ++{ ++ /* 40ms is a big enough number to work ok */ ++ *latency_ms = 40; ++ return CUBEB_OK; ++} ++ ++static int oss_get_preferred_sample_rate(cubeb *context, uint32_t * rate) ++{ ++ /* 48000 seems a prefered choice for most audio devices ++ * and a good choice for OSS */ ++ *rate = 48000; ++ return CUBEB_OK; ++} ++ ++static void run_state_callback(cubeb_stream *stream, cubeb_state state) ++{ ++ if (stream->state_callback) { ++ stream->state_callback(stream, stream->user_ptr, state); ++ } ++} ++ ++static long run_data_callback(cubeb_stream *stream, void *buffer, long nframes) ++{ ++ long got = 0; ++ pthread_mutex_lock(&stream->state_mutex); ++ if (stream->data_callback && stream->running && !stream->stopped) { ++ pthread_mutex_unlock(&stream->state_mutex); ++ got = stream->data_callback(stream, stream->user_ptr, buffer, nframes); ++ } else { ++ pthread_mutex_unlock(&stream->state_mutex); ++ } ++ return got; ++} ++ ++static void apply_volume(int16_t* buffer, unsigned int n, ++ float volume, float panning) ++{ ++ float left = volume; ++ float right = volume; ++ unsigned int i; ++ int pan[2]; ++ if (panning<0) { ++ right *= (1+panning); ++ } else { ++ left *= (1-panning); ++ } ++ pan[0] = 128.0*left; ++ pan[1] = 128.0*right; ++ for(i=0; irunning) { ++ pthread_mutex_lock(&stream->state_mutex); ++ if (stream->stopped) { ++ pthread_mutex_unlock(&stream->state_mutex); ++ run_state_callback(stream, CUBEB_STATE_STOPPED); ++ pthread_mutex_lock(&stream->state_mutex); ++ while (stream->stopped) { ++ pthread_cond_wait(&stream->state_cond, &stream->state_mutex); ++ } ++ pthread_mutex_unlock(&stream->state_mutex); ++ run_state_callback(stream, CUBEB_STATE_STARTED); ++ continue; ++ } ++ pthread_mutex_unlock(&stream->state_mutex); ++ if (stream->floating) { ++ got = run_data_callback(stream, f_buffer, ++ OSS_BUFFER_SIZE/stream->params.channels); ++ for (i=0; i<((unsigned long)got)*stream->params.channels; i++) { ++ buffer[i] = f_buffer[i]*32767.0; ++ } ++ } else { ++ got = run_data_callback(stream, buffer, ++ OSS_BUFFER_SIZE/stream->params.channels); ++ } ++ apply_volume(buffer, got*stream->params.channels, ++ stream->volume, stream->panning); ++ if (got<0) { ++ run_state_callback(stream, CUBEB_STATE_ERROR); ++ break; ++ } ++ if (!got) { ++ run_state_callback(stream, CUBEB_STATE_DRAINED); ++ } ++ if (got) { ++ size_t i = 0; ++ size_t s = got*stream->params.channels*sizeof(int16_t); ++ while (i < s) { ++ ssize_t n = write(stream->fd, ((char*)buffer) + i, s - i); ++ if (n<=0) { ++ run_state_callback(stream, CUBEB_STATE_ERROR); ++ break; ++ } ++ i+=n; ++ } ++ stream->written_frags+=got; ++ } ++ } ++ return NULL; ++} ++ ++static void oss_try_set_latency(cubeb_stream* stream, unsigned int latency) ++{ ++ unsigned int latency_bytes, n_frag; ++ int frag; ++ /* fragment size of 1024 is a good choice with good chances to be accepted */ ++ unsigned int frag_size=1024; ++ unsigned int frag_log=10; /* 2^frag_log = frag_size */ ++ latency_bytes = ++ latency*stream->params.rate*stream->params.channels*sizeof(uint16_t)/1000; ++ n_frag = latency_bytes>>frag_log; ++ frag = (n_frag<<16) | frag_log; ++ /* Even if this fails we wish to continue, not checking for errors */ ++ ioctl(stream->fd, SNDCTL_DSP_SETFRAGMENT, &frag); ++} ++ ++static int oss_stream_init(cubeb * context, cubeb_stream ** stm, ++ char const * stream_name, ++ cubeb_stream_params stream_params, ++ unsigned int latency, ++ cubeb_data_callback data_callback, ++ cubeb_state_callback state_callback, void * user_ptr) ++{ ++ cubeb_stream* stream = (cubeb_stream*)malloc(sizeof(cubeb_stream)); ++ stream->context = context; ++ stream->data_callback = data_callback; ++ stream->state_callback = state_callback; ++ stream->user_ptr = user_ptr; ++ ++ if ((stream->fd = open(CUBEB_OSS_DEFAULT_OUTPUT, O_WRONLY)) == -1) { ++ free(stream); ++ return CUBEB_ERROR; ++ } ++#define SET(what, to) do { unsigned int i = to; \ ++ int j = ioctl(stream->fd, what, &i); \ ++ if (j == -1 || i != to) { \ ++ close(stream->fd); \ ++ free(stream); \ ++ return CUBEB_ERROR_INVALID_FORMAT; } } while (0) ++ ++ stream->params = stream_params; ++ stream->volume = 1.0; ++ stream->panning = 0.0; ++ ++ oss_try_set_latency(stream, latency); ++ ++ stream->floating = 0; ++ SET(SNDCTL_DSP_CHANNELS, stream_params.channels); ++ SET(SNDCTL_DSP_SPEED, stream_params.rate); ++ switch (stream_params.format) { ++ case CUBEB_SAMPLE_S16LE: ++ SET(SNDCTL_DSP_SETFMT, AFMT_S16_LE); ++ break; ++ case CUBEB_SAMPLE_S16BE: ++ SET(SNDCTL_DSP_SETFMT, AFMT_S16_BE); ++ break; ++ case CUBEB_SAMPLE_FLOAT32LE: ++ SET(SNDCTL_DSP_SETFMT, AFMT_S16_NE); ++ stream->floating = 1; ++ break; ++ default: ++ close(stream->fd); ++ free(stream); ++ return CUBEB_ERROR; ++ } ++ ++ ++ pthread_mutex_init(&stream->state_mutex, NULL); ++ pthread_cond_init(&stream->state_cond, NULL); ++ ++ stream->running = 1; ++ stream->stopped = 1; ++ stream->position_bytes = 0; ++ stream->last_position_bytes = 0; ++ stream->written_frags = 0; ++ stream->missed_frags = 0; ++ ++ pthread_create(&stream->th, NULL, writer, (void*)stream); ++ ++ *stm = stream; ++ ++ return CUBEB_OK; ++} ++ ++static void oss_stream_destroy(cubeb_stream * stream) ++{ ++ pthread_mutex_lock(&stream->state_mutex); ++ ++ stream->running = 0; ++ stream->stopped = 0; ++ pthread_cond_signal(&stream->state_cond); ++ ++ pthread_mutex_unlock(&stream->state_mutex); ++ ++ pthread_join(stream->th, NULL); ++ ++ pthread_mutex_destroy(&stream->state_mutex); ++ pthread_cond_destroy(&stream->state_cond); ++ close(stream->fd); ++ free(stream); ++} ++ ++static int oss_stream_get_latency(cubeb_stream * stream, uint32_t * latency) ++{ ++ if (ioctl(stream->fd, SNDCTL_DSP_GETODELAY, latency)==-1) { ++ return CUBEB_ERROR; ++ } ++ /* Convert latency from bytes to frames */ ++ *latency /= stream->params.channels*sizeof(int16_t); ++ return CUBEB_OK; ++} ++ ++ ++static int oss_stream_current_optr(cubeb_stream * stream, uint64_t * position) ++{ ++ count_info ci; ++ /* Unfortunately, this ioctl is only available in OSS 4.x */ ++#ifdef SNDCTL_DSP_CURRENT_OPTR ++ oss_count_t count; ++ if (ioctl(stream->fd, SNDCTL_DSP_CURRENT_OPTR, &count) != -1) { ++ *position = count.samples;// + count.fifo_samples; ++ return CUBEB_OK; ++ } ++#endif ++ /* Fall back to this ioctl in case the previous one fails */ ++ if (ioctl(stream->fd, SNDCTL_DSP_GETOPTR, &ci) == -1) { ++ return CUBEB_ERROR; ++ } ++ /* ci.bytes is only 32 bit and will start to wrap after arithmetic overflow */ ++ stream->position_bytes += ci.bytes - stream->last_position_bytes; ++ stream->last_position_bytes = ci.bytes; ++ *position = stream->position_bytes/stream->params.channels/sizeof(int16_t); ++ return CUBEB_OK; ++} ++ ++static int oss_stream_get_position(cubeb_stream * stream, uint64_t * position) ++{ ++ if ( oss_stream_current_optr(stream, position) == CUBEB_OK ){ ++ *position -= stream->missed_frags; ++ return CUBEB_OK; ++ } ++ /* If no correct method to get position works we resort to this */ ++ *position = stream->written_frags; ++ return CUBEB_OK; ++} ++ ++ ++static int oss_stream_start(cubeb_stream * stream) ++{ ++ pthread_mutex_lock(&stream->state_mutex); ++ if (stream->stopped) { ++ uint64_t ptr; ++ oss_stream_current_optr(stream, &ptr); ++ stream->missed_frags = ptr - stream->written_frags; ++ stream->stopped = 0; ++ pthread_cond_signal(&stream->state_cond); ++ } ++ pthread_mutex_unlock(&stream->state_mutex); ++ return CUBEB_OK; ++} ++ ++static int oss_stream_stop(cubeb_stream * stream) ++{ ++ pthread_mutex_lock(&stream->state_mutex); ++ stream->stopped = 1; ++ pthread_mutex_unlock(&stream->state_mutex); ++ return CUBEB_OK; ++} ++ ++int oss_stream_set_panning(cubeb_stream * stream, float panning) ++{ ++ if (stream->params.channels == 2) { ++ stream->panning=panning; ++ } ++ return CUBEB_OK; ++} ++ ++int oss_stream_set_volume(cubeb_stream * stream, float volume) ++{ ++ stream->volume=volume; ++ return CUBEB_OK; ++} ++ ++static struct cubeb_ops const oss_ops = { ++ .init = oss_init, ++ .get_backend_id = oss_get_backend_id, ++ .get_max_channel_count = oss_get_max_channel_count, ++ .get_min_latency = oss_get_min_latency, ++ .get_preferred_sample_rate = oss_get_preferred_sample_rate, ++ .destroy = oss_destroy, ++ .stream_init = oss_stream_init, ++ .stream_destroy = oss_stream_destroy, ++ .stream_start = oss_stream_start, ++ .stream_stop = oss_stream_stop, ++ .stream_get_position = oss_stream_get_position, ++ .stream_get_latency = oss_stream_get_latency ++}; +diff --git media/libcubeb/src/moz.build media/libcubeb/src/moz.build +index 8b7a0dd..31212ce 100644 +--- media/libcubeb/src/moz.build ++++ media/libcubeb/src/moz.build +@@ -17,6 +17,12 @@ if CONFIG['MOZ_ALSA']: + ] + DEFINES['USE_ALSA'] = True + ++if CONFIG['MOZ_OSS']: ++ SOURCES += [ ++ 'cubeb_oss.c', ++ ] ++ DEFINES['USE_OSS'] = True ++ + if CONFIG['MOZ_PULSEAUDIO']: + SOURCES += [ + 'cubeb_pulse.c', +@@ -75,5 +81,6 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk': + + FAIL_ON_WARNINGS = True + ++CFLAGS += CONFIG['MOZ_OSS_CFLAGS'] + CFLAGS += CONFIG['MOZ_ALSA_CFLAGS'] + CFLAGS += CONFIG['MOZ_PULSEAUDIO_CFLAGS'] +diff --git toolkit/library/libxul.mk toolkit/library/libxul.mk +index e191f13..4fb268a 100644 +--- toolkit/library/libxul.mk ++++ toolkit/library/libxul.mk +@@ -146,6 +146,10 @@ OS_LIBS += $(call EXPAND_LIBNAME,secur32 + endif + endif + ++ifdef MOZ_OSS ++EXTRA_DSO_LDOPTS += $(MOZ_OSS_LIBS) ++endif ++ + ifdef MOZ_ALSA + EXTRA_DSO_LDOPTS += $(MOZ_ALSA_LIBS) + endif Added: trunk/www/firefox-nightly/files/patch-bug1021761 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/firefox-nightly/files/patch-bug1021761 Thu Sep 25 22:14:18 2014 (r1707) @@ -0,0 +1,1105 @@ +diff --git configure.in configure.in +index 48e60c0..ec08417 100644 +--- configure.in ++++ 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 +--- media/libcubeb/AUTHORS ++++ 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 +--- media/libcubeb/src/cubeb.c ++++ 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 +--- media/libcubeb/src/cubeb_alsa.c ++++ 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); +@@ -327,10 +374,10 @@ alsa_refill_stream(cubeb_stream * stm) + b[i] *= stm->volume; + } + } +- wrote = snd_pcm_writei(stm->pcm, p, got); ++ 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 ++++ media/libcubeb/src/cubeb_oss.c +@@ -0,0 +1,404 @@ ++/* ++ * 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; ++ pthread_t th; ++}; ++ ++static struct cubeb_ops const oss_ops; ++ ++int oss_init(cubeb ** context, char const * context_name) ++{ ++ cubeb* ctx = (cubeb*)malloc(sizeof(cubeb)); ++ ctx->ops = &oss_ops; ++ *context = ctx; ++ return CUBEB_OK; ++} ++ ++static void oss_destroy(cubeb *ctx) ++{ ++ free(ctx); ++} ++ ++static char const * oss_get_backend_id(cubeb * context) ++{ ++ static char oss_name[] = "oss"; ++ return oss_name; ++} ++ ++static int oss_get_max_channel_count(cubeb * ctx, uint32_t * max_channels) ++{ ++ *max_channels = 2; /* Let's support only stereo for now */ ++ return CUBEB_OK; ++} ++ ++static int oss_get_min_latency(cubeb * context, cubeb_stream_params params, ++ uint32_t * latency_ms) ++{ ++ /* 40ms is a big enough number to work ok */ ++ *latency_ms = 40; ++ return CUBEB_OK; ++} ++ ++static int oss_get_preferred_sample_rate(cubeb *context, uint32_t * rate) ++{ ++ /* 48000 seems a prefered choice for most audio devices ++ * and a good choice for OSS */ ++ *rate = 48000; ++ return CUBEB_OK; ++} ++ ++static void run_state_callback(cubeb_stream *stream, cubeb_state state) ++{ ++ if (stream->state_callback) { ++ stream->state_callback(stream, stream->user_ptr, state); ++ } ++} ++ ++static long run_data_callback(cubeb_stream *stream, void *buffer, long nframes) ++{ ++ long got = 0; ++ pthread_mutex_lock(&stream->state_mutex); ++ if (stream->data_callback && stream->running && !stream->stopped) { ++ pthread_mutex_unlock(&stream->state_mutex); ++ got = stream->data_callback(stream, stream->user_ptr, buffer, nframes); ++ } else { ++ pthread_mutex_unlock(&stream->state_mutex); ++ } ++ return got; ++} ++ ++static void apply_volume(int16_t* buffer, unsigned int n, ++ float volume, float panning) ++{ ++ float left = volume; ++ float right = volume; ++ unsigned int i; ++ int pan[2]; ++ if (panning<0) { ++ right *= (1+panning); ++ } else { ++ left *= (1-panning); ++ } ++ pan[0] = 128.0*left; ++ pan[1] = 128.0*right; ++ for(i=0; irunning) { ++ pthread_mutex_lock(&stream->state_mutex); ++ if (stream->stopped) { ++ pthread_mutex_unlock(&stream->state_mutex); ++ run_state_callback(stream, CUBEB_STATE_STOPPED); ++ pthread_mutex_lock(&stream->state_mutex); ++ while (stream->stopped) { ++ pthread_cond_wait(&stream->state_cond, &stream->state_mutex); ++ } ++ pthread_mutex_unlock(&stream->state_mutex); ++ run_state_callback(stream, CUBEB_STATE_STARTED); ++ continue; ++ } ++ pthread_mutex_unlock(&stream->state_mutex); ++ if (stream->floating) { ++ got = run_data_callback(stream, f_buffer, ++ OSS_BUFFER_SIZE/stream->params.channels); ++ for (i=0; i<((unsigned long)got)*stream->params.channels; i++) { ++ buffer[i] = f_buffer[i]*32767.0; ++ } ++ } else { ++ got = run_data_callback(stream, buffer, ++ OSS_BUFFER_SIZE/stream->params.channels); ++ } ++ apply_volume(buffer, got*stream->params.channels, ++ stream->volume, stream->panning); ++ if (got<0) { ++ run_state_callback(stream, CUBEB_STATE_ERROR); ++ break; ++ } ++ if (!got) { ++ run_state_callback(stream, CUBEB_STATE_DRAINED); ++ } ++ if (got) { ++ size_t i = 0; ++ size_t s = got*stream->params.channels*sizeof(int16_t); ++ while (i < s) { ++ ssize_t n = write(stream->fd, ((char*)buffer) + i, s - i); ++ if (n<=0) { ++ run_state_callback(stream, CUBEB_STATE_ERROR); ++ break; ++ } ++ i+=n; ++ } ++ stream->written_frags+=got; ++ } ++ } ++ return NULL; ++} ++ ++static void oss_try_set_latency(cubeb_stream* stream, unsigned int latency) ++{ ++ unsigned int latency_bytes, n_frag; ++ int frag; ++ /* fragment size of 1024 is a good choice with good chances to be accepted */ ++ unsigned int frag_size=1024; ++ unsigned int frag_log=10; /* 2^frag_log = frag_size */ ++ latency_bytes = ++ latency*stream->params.rate*stream->params.channels*sizeof(uint16_t)/1000; ++ n_frag = latency_bytes>>frag_log; ++ frag = (n_frag<<16) | frag_log; ++ /* Even if this fails we wish to continue, not checking for errors */ ++ ioctl(stream->fd, SNDCTL_DSP_SETFRAGMENT, &frag); ++} ++ ++static int oss_stream_init(cubeb * context, cubeb_stream ** stm, ++ char const * stream_name, ++ cubeb_stream_params stream_params, ++ unsigned int latency, ++ cubeb_data_callback data_callback, ++ cubeb_state_callback state_callback, void * user_ptr) ++{ ++ cubeb_stream* stream = (cubeb_stream*)malloc(sizeof(cubeb_stream)); ++ stream->context = context; ++ stream->data_callback = data_callback; ++ stream->state_callback = state_callback; ++ stream->user_ptr = user_ptr; ++ ++ if ((stream->fd = open(CUBEB_OSS_DEFAULT_OUTPUT, O_WRONLY)) == -1) { ++ free(stream); ++ return CUBEB_ERROR; ++ } ++#define SET(what, to) do { unsigned int i = to; \ ++ int j = ioctl(stream->fd, what, &i); \ ++ if (j == -1 || i != to) { \ ++ close(stream->fd); \ ++ free(stream); \ ++ return CUBEB_ERROR_INVALID_FORMAT; } } while (0) ++ ++ stream->params = stream_params; ++ stream->volume = 1.0; ++ stream->panning = 0.0; ++ ++ oss_try_set_latency(stream, latency); ++ ++ stream->floating = 0; ++ SET(SNDCTL_DSP_CHANNELS, stream_params.channels); ++ SET(SNDCTL_DSP_SPEED, stream_params.rate); ++ switch (stream_params.format) { ++ case CUBEB_SAMPLE_S16LE: ++ SET(SNDCTL_DSP_SETFMT, AFMT_S16_LE); ++ break; ++ case CUBEB_SAMPLE_S16BE: ++ SET(SNDCTL_DSP_SETFMT, AFMT_S16_BE); ++ break; ++ case CUBEB_SAMPLE_FLOAT32LE: ++ SET(SNDCTL_DSP_SETFMT, AFMT_S16_NE); ++ stream->floating = 1; ++ break; ++ default: ++ close(stream->fd); ++ free(stream); ++ return CUBEB_ERROR; ++ } ++ ++ ++ pthread_mutex_init(&stream->state_mutex, NULL); ++ pthread_cond_init(&stream->state_cond, NULL); ++ ++ stream->running = 1; ++ stream->stopped = 1; ++ stream->position_bytes = 0; ++ stream->last_position_bytes = 0; ++ stream->written_frags = 0; ++ stream->missed_frags = 0; ++ ++ pthread_create(&stream->th, NULL, writer, (void*)stream); ++ ++ *stm = stream; ++ ++ return CUBEB_OK; ++} ++ ++static void oss_stream_destroy(cubeb_stream * stream) ++{ ++ pthread_mutex_lock(&stream->state_mutex); ++ ++ stream->running = 0; ++ stream->stopped = 0; ++ pthread_cond_signal(&stream->state_cond); ++ ++ pthread_mutex_unlock(&stream->state_mutex); ++ ++ pthread_join(stream->th, NULL); ++ ++ pthread_mutex_destroy(&stream->state_mutex); ++ pthread_cond_destroy(&stream->state_cond); ++ close(stream->fd); ++ free(stream); ++} ++ ++static int oss_stream_get_latency(cubeb_stream * stream, uint32_t * latency) ++{ ++ if (ioctl(stream->fd, SNDCTL_DSP_GETODELAY, latency)==-1) { ++ return CUBEB_ERROR; ++ } ++ /* Convert latency from bytes to frames */ ++ *latency /= stream->params.channels*sizeof(int16_t); ++ return CUBEB_OK; ++} ++ ++ ++static int oss_stream_current_optr(cubeb_stream * stream, uint64_t * position) ++{ ++ count_info ci; ++ /* Unfortunately, this ioctl is only available in OSS 4.x */ ++#ifdef SNDCTL_DSP_CURRENT_OPTR ++ oss_count_t count; ++ if (ioctl(stream->fd, SNDCTL_DSP_CURRENT_OPTR, &count) != -1) { ++ *position = count.samples;// + count.fifo_samples; ++ return CUBEB_OK; ++ } ++#endif ++ /* Fall back to this ioctl in case the previous one fails */ ++ if (ioctl(stream->fd, SNDCTL_DSP_GETOPTR, &ci) == -1) { ++ return CUBEB_ERROR; ++ } ++ /* ci.bytes is only 32 bit and will start to wrap after arithmetic overflow */ ++ stream->position_bytes += ci.bytes - stream->last_position_bytes; ++ stream->last_position_bytes = ci.bytes; ++ *position = stream->position_bytes/stream->params.channels/sizeof(int16_t); ++ return CUBEB_OK; ++} ++ ++static int oss_stream_get_position(cubeb_stream * stream, uint64_t * position) ++{ ++ if ( oss_stream_current_optr(stream, position) == CUBEB_OK ){ ++ *position -= stream->missed_frags; ++ return CUBEB_OK; ++ } ++ /* If no correct method to get position works we resort to this */ ++ *position = stream->written_frags; ++ return CUBEB_OK; ++} ++ ++ ++static int oss_stream_start(cubeb_stream * stream) ++{ ++ pthread_mutex_lock(&stream->state_mutex); ++ if (stream->stopped) { ++ uint64_t ptr; ++ oss_stream_current_optr(stream, &ptr); ++ stream->missed_frags = ptr - stream->written_frags; ++ stream->stopped = 0; ++ pthread_cond_signal(&stream->state_cond); ++ } ++ pthread_mutex_unlock(&stream->state_mutex); ++ return CUBEB_OK; ++} ++ ++static int oss_stream_stop(cubeb_stream * stream) ++{ ++ pthread_mutex_lock(&stream->state_mutex); ++ stream->stopped = 1; ++ pthread_mutex_unlock(&stream->state_mutex); ++ return CUBEB_OK; ++} ++ ++int oss_stream_set_panning(cubeb_stream * stream, float panning) ++{ ++ if (stream->params.channels == 2) { ++ stream->panning=panning; ++ } ++ return CUBEB_OK; ++} ++ ++int oss_stream_set_volume(cubeb_stream * stream, float volume) ++{ ++ stream->volume=volume; ++ return CUBEB_OK; ++} ++ ++static struct cubeb_ops const oss_ops = { ++ .init = oss_init, ++ .get_backend_id = oss_get_backend_id, ++ .get_max_channel_count = oss_get_max_channel_count, ++ .get_min_latency = oss_get_min_latency, ++ .get_preferred_sample_rate = oss_get_preferred_sample_rate, ++ .destroy = oss_destroy, ++ .stream_init = oss_stream_init, ++ .stream_destroy = oss_stream_destroy, ++ .stream_start = oss_stream_start, ++ .stream_stop = oss_stream_stop, ++ .stream_get_position = oss_stream_get_position, ++ .stream_get_latency = oss_stream_get_latency, ++ .stream_set_volume = oss_stream_set_volume, ++ .stream_set_panning = oss_stream_set_panning, ++ .stream_get_current_device = NULL, ++ .stream_device_destroy = NULL, ++ .stream_register_device_changed_callback = NULL ++}; +diff --git media/libcubeb/src/moz.build media/libcubeb/src/moz.build +index 8b7a0dd..31212ce 100644 +--- media/libcubeb/src/moz.build ++++ media/libcubeb/src/moz.build +@@ -17,6 +17,12 @@ if CONFIG['MOZ_ALSA']: + ] + DEFINES['USE_ALSA'] = True + ++if CONFIG['MOZ_OSS']: ++ SOURCES += [ ++ 'cubeb_oss.c', ++ ] ++ DEFINES['USE_OSS'] = True ++ + if CONFIG['MOZ_PULSEAUDIO']: + SOURCES += [ + 'cubeb_pulse.c', +@@ -75,5 +81,6 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk': + + FAIL_ON_WARNINGS = True + ++CFLAGS += CONFIG['MOZ_OSS_CFLAGS'] + CFLAGS += CONFIG['MOZ_ALSA_CFLAGS'] + CFLAGS += CONFIG['MOZ_PULSEAUDIO_CFLAGS'] +diff --git toolkit/library/moz.build toolkit/library/moz.build +index e191f13..4fb268a 100644 +--- toolkit/library/moz.build ++++ toolkit/library/moz.build +@@ -239,6 +239,9 @@ if CONFIG['MOZ_NATIVE_LIBVPX']: + if not CONFIG['MOZ_TREE_PIXMAN']: + OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS'] + ++if CONFIG['MOZ_OSS']: ++ OS_LIBS += CONFIG['MOZ_OSS_LIBS'] ++ + if CONFIG['MOZ_ALSA']: + OS_LIBS += CONFIG['MOZ_ALSA_LIBS'] + Added: trunk/www/firefox/files/patch-bug1021761 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/firefox/files/patch-bug1021761 Thu Sep 25 22:14:18 2014 (r1707) @@ -0,0 +1,1101 @@ +diff --git configure.in configure.in +index 48e60c0..ec08417 100644 +--- configure.in ++++ 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 +--- media/libcubeb/AUTHORS ++++ 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 +--- media/libcubeb/src/cubeb.c ++++ 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 +--- media/libcubeb/src/cubeb_alsa.c ++++ 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 ++++ 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; ++ pthread_t th; ++}; ++ ++static struct cubeb_ops const oss_ops; ++ ++int oss_init(cubeb ** context, char const * context_name) ++{ ++ cubeb* ctx = (cubeb*)malloc(sizeof(cubeb)); ++ ctx->ops = &oss_ops; ++ *context = ctx; ++ return CUBEB_OK; ++} ++ ++static void oss_destroy(cubeb *ctx) ++{ ++ free(ctx); ++} ++ ++static char const * oss_get_backend_id(cubeb * context) ++{ ++ static char oss_name[] = "oss"; ++ return oss_name; ++} ++ ++static int oss_get_max_channel_count(cubeb * ctx, uint32_t * max_channels) ++{ ++ *max_channels = 2; /* Let's support only stereo for now */ ++ return CUBEB_OK; ++} ++ ++static int oss_get_min_latency(cubeb * context, cubeb_stream_params params, ++ uint32_t * latency_ms) ++{ ++ /* 40ms is a big enough number to work ok */ ++ *latency_ms = 40; ++ return CUBEB_OK; ++} ++ ++static int oss_get_preferred_sample_rate(cubeb *context, uint32_t * rate) ++{ ++ /* 48000 seems a prefered choice for most audio devices ++ * and a good choice for OSS */ ++ *rate = 48000; ++ return CUBEB_OK; ++} ++ ++static void run_state_callback(cubeb_stream *stream, cubeb_state state) ++{ ++ if (stream->state_callback) { ++ stream->state_callback(stream, stream->user_ptr, state); ++ } ++} ++ ++static long run_data_callback(cubeb_stream *stream, void *buffer, long nframes) ++{ ++ long got = 0; ++ pthread_mutex_lock(&stream->state_mutex); ++ if (stream->data_callback && stream->running && !stream->stopped) { ++ pthread_mutex_unlock(&stream->state_mutex); ++ got = stream->data_callback(stream, stream->user_ptr, buffer, nframes); ++ } else { ++ pthread_mutex_unlock(&stream->state_mutex); ++ } ++ return got; ++} ++ ++static void apply_volume(int16_t* buffer, unsigned int n, ++ float volume, float panning) ++{ ++ float left = volume; ++ float right = volume; ++ unsigned int i; ++ int pan[2]; ++ if (panning<0) { ++ right *= (1+panning); ++ } else { ++ left *= (1-panning); ++ } ++ pan[0] = 128.0*left; ++ pan[1] = 128.0*right; ++ for(i=0; irunning) { ++ pthread_mutex_lock(&stream->state_mutex); ++ if (stream->stopped) { ++ pthread_mutex_unlock(&stream->state_mutex); ++ run_state_callback(stream, CUBEB_STATE_STOPPED); ++ pthread_mutex_lock(&stream->state_mutex); ++ while (stream->stopped) { ++ pthread_cond_wait(&stream->state_cond, &stream->state_mutex); ++ } ++ pthread_mutex_unlock(&stream->state_mutex); ++ run_state_callback(stream, CUBEB_STATE_STARTED); ++ continue; ++ } ++ pthread_mutex_unlock(&stream->state_mutex); ++ if (stream->floating) { ++ got = run_data_callback(stream, f_buffer, ++ OSS_BUFFER_SIZE/stream->params.channels); ++ for (i=0; i<((unsigned long)got)*stream->params.channels; i++) { ++ buffer[i] = f_buffer[i]*32767.0; ++ } ++ } else { ++ got = run_data_callback(stream, buffer, ++ OSS_BUFFER_SIZE/stream->params.channels); ++ } ++ apply_volume(buffer, got*stream->params.channels, ++ stream->volume, stream->panning); ++ if (got<0) { ++ run_state_callback(stream, CUBEB_STATE_ERROR); ++ break; ++ } ++ if (!got) { ++ run_state_callback(stream, CUBEB_STATE_DRAINED); ++ } ++ if (got) { ++ size_t i = 0; ++ size_t s = got*stream->params.channels*sizeof(int16_t); ++ while (i < s) { ++ ssize_t n = write(stream->fd, ((char*)buffer) + i, s - i); ++ if (n<=0) { ++ run_state_callback(stream, CUBEB_STATE_ERROR); ++ break; ++ } ++ i+=n; ++ } ++ stream->written_frags+=got; ++ } ++ } ++ return NULL; ++} ++ ++static void oss_try_set_latency(cubeb_stream* stream, unsigned int latency) ++{ ++ unsigned int latency_bytes, n_frag; ++ int frag; ++ /* fragment size of 1024 is a good choice with good chances to be accepted */ ++ unsigned int frag_size=1024; ++ unsigned int frag_log=10; /* 2^frag_log = frag_size */ ++ latency_bytes = ++ latency*stream->params.rate*stream->params.channels*sizeof(uint16_t)/1000; ++ n_frag = latency_bytes>>frag_log; ++ frag = (n_frag<<16) | frag_log; ++ /* Even if this fails we wish to continue, not checking for errors */ ++ ioctl(stream->fd, SNDCTL_DSP_SETFRAGMENT, &frag); ++} ++ ++static int oss_stream_init(cubeb * context, cubeb_stream ** stm, ++ char const * stream_name, ++ cubeb_stream_params stream_params, ++ unsigned int latency, ++ cubeb_data_callback data_callback, ++ cubeb_state_callback state_callback, void * user_ptr) ++{ ++ cubeb_stream* stream = (cubeb_stream*)malloc(sizeof(cubeb_stream)); ++ stream->context = context; ++ stream->data_callback = data_callback; ++ stream->state_callback = state_callback; ++ stream->user_ptr = user_ptr; ++ ++ if ((stream->fd = open(CUBEB_OSS_DEFAULT_OUTPUT, O_WRONLY)) == -1) { ++ free(stream); ++ return CUBEB_ERROR; ++ } ++#define SET(what, to) do { unsigned int i = to; \ ++ int j = ioctl(stream->fd, what, &i); \ ++ if (j == -1 || i != to) { \ ++ close(stream->fd); \ ++ free(stream); \ ++ return CUBEB_ERROR_INVALID_FORMAT; } } while (0) ++ ++ stream->params = stream_params; ++ stream->volume = 1.0; ++ stream->panning = 0.0; ++ ++ oss_try_set_latency(stream, latency); ++ ++ stream->floating = 0; ++ SET(SNDCTL_DSP_CHANNELS, stream_params.channels); ++ SET(SNDCTL_DSP_SPEED, stream_params.rate); ++ switch (stream_params.format) { ++ case CUBEB_SAMPLE_S16LE: ++ SET(SNDCTL_DSP_SETFMT, AFMT_S16_LE); ++ break; ++ case CUBEB_SAMPLE_S16BE: ++ SET(SNDCTL_DSP_SETFMT, AFMT_S16_BE); ++ break; ++ case CUBEB_SAMPLE_FLOAT32LE: ++ SET(SNDCTL_DSP_SETFMT, AFMT_S16_NE); ++ stream->floating = 1; ++ break; ++ default: ++ close(stream->fd); ++ free(stream); ++ return CUBEB_ERROR; ++ } ++ ++ ++ pthread_mutex_init(&stream->state_mutex, NULL); ++ pthread_cond_init(&stream->state_cond, NULL); ++ ++ stream->running = 1; ++ stream->stopped = 1; ++ stream->position_bytes = 0; ++ stream->last_position_bytes = 0; ++ stream->written_frags = 0; ++ stream->missed_frags = 0; ++ ++ pthread_create(&stream->th, NULL, writer, (void*)stream); ++ ++ *stm = stream; ++ ++ return CUBEB_OK; ++} ++ ++static void oss_stream_destroy(cubeb_stream * stream) ++{ ++ pthread_mutex_lock(&stream->state_mutex); ++ ++ stream->running = 0; ++ stream->stopped = 0; ++ pthread_cond_signal(&stream->state_cond); ++ ++ pthread_mutex_unlock(&stream->state_mutex); ++ ++ pthread_join(stream->th, NULL); ++ ++ pthread_mutex_destroy(&stream->state_mutex); ++ pthread_cond_destroy(&stream->state_cond); ++ close(stream->fd); ++ free(stream); ++} ++ ++static int oss_stream_get_latency(cubeb_stream * stream, uint32_t * latency) ++{ ++ if (ioctl(stream->fd, SNDCTL_DSP_GETODELAY, latency)==-1) { ++ return CUBEB_ERROR; ++ } ++ /* Convert latency from bytes to frames */ ++ *latency /= stream->params.channels*sizeof(int16_t); ++ return CUBEB_OK; ++} ++ ++ ++static int oss_stream_current_optr(cubeb_stream * stream, uint64_t * position) ++{ ++ count_info ci; ++ /* Unfortunately, this ioctl is only available in OSS 4.x */ ++#ifdef SNDCTL_DSP_CURRENT_OPTR ++ oss_count_t count; ++ if (ioctl(stream->fd, SNDCTL_DSP_CURRENT_OPTR, &count) != -1) { ++ *position = count.samples;// + count.fifo_samples; ++ return CUBEB_OK; ++ } ++#endif ++ /* Fall back to this ioctl in case the previous one fails */ ++ if (ioctl(stream->fd, SNDCTL_DSP_GETOPTR, &ci) == -1) { ++ return CUBEB_ERROR; ++ } ++ /* ci.bytes is only 32 bit and will start to wrap after arithmetic overflow */ ++ stream->position_bytes += ci.bytes - stream->last_position_bytes; ++ stream->last_position_bytes = ci.bytes; ++ *position = stream->position_bytes/stream->params.channels/sizeof(int16_t); ++ return CUBEB_OK; ++} ++ ++static int oss_stream_get_position(cubeb_stream * stream, uint64_t * position) ++{ ++ if ( oss_stream_current_optr(stream, position) == CUBEB_OK ){ ++ *position -= stream->missed_frags; ++ return CUBEB_OK; ++ } ++ /* If no correct method to get position works we resort to this */ ++ *position = stream->written_frags; ++ return CUBEB_OK; ++} ++ ++ ++static int oss_stream_start(cubeb_stream * stream) ++{ ++ pthread_mutex_lock(&stream->state_mutex); ++ if (stream->stopped) { ++ uint64_t ptr; ++ oss_stream_current_optr(stream, &ptr); ++ stream->missed_frags = ptr - stream->written_frags; ++ stream->stopped = 0; ++ pthread_cond_signal(&stream->state_cond); ++ } ++ pthread_mutex_unlock(&stream->state_mutex); ++ return CUBEB_OK; ++} ++ ++static int oss_stream_stop(cubeb_stream * stream) ++{ ++ pthread_mutex_lock(&stream->state_mutex); ++ stream->stopped = 1; ++ pthread_mutex_unlock(&stream->state_mutex); ++ return CUBEB_OK; ++} ++ ++int oss_stream_set_panning(cubeb_stream * stream, float panning) ++{ ++ if (stream->params.channels == 2) { ++ stream->panning=panning; ++ } ++ return CUBEB_OK; ++} ++ ++int oss_stream_set_volume(cubeb_stream * stream, float volume) ++{ ++ stream->volume=volume; ++ return CUBEB_OK; ++} ++ ++static struct cubeb_ops const oss_ops = { ++ .init = oss_init, ++ .get_backend_id = oss_get_backend_id, ++ .get_max_channel_count = oss_get_max_channel_count, ++ .get_min_latency = oss_get_min_latency, ++ .get_preferred_sample_rate = oss_get_preferred_sample_rate, ++ .destroy = oss_destroy, ++ .stream_init = oss_stream_init, ++ .stream_destroy = oss_stream_destroy, ++ .stream_start = oss_stream_start, ++ .stream_stop = oss_stream_stop, ++ .stream_get_position = oss_stream_get_position, ++ .stream_get_latency = oss_stream_get_latency ++}; +diff --git media/libcubeb/src/moz.build media/libcubeb/src/moz.build +index 8b7a0dd..31212ce 100644 +--- media/libcubeb/src/moz.build ++++ media/libcubeb/src/moz.build +@@ -17,6 +17,12 @@ if CONFIG['MOZ_ALSA']: + ] + DEFINES['USE_ALSA'] = True + ++if CONFIG['MOZ_OSS']: ++ SOURCES += [ ++ 'cubeb_oss.c', ++ ] ++ DEFINES['USE_OSS'] = True ++ + if CONFIG['MOZ_PULSEAUDIO']: + SOURCES += [ + 'cubeb_pulse.c', +@@ -75,5 +81,6 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk': + + FAIL_ON_WARNINGS = True + ++CFLAGS += CONFIG['MOZ_OSS_CFLAGS'] + CFLAGS += CONFIG['MOZ_ALSA_CFLAGS'] + CFLAGS += CONFIG['MOZ_PULSEAUDIO_CFLAGS'] +diff --git toolkit/library/libxul.mk toolkit/library/libxul.mk +index e191f13..4fb268a 100644 +--- toolkit/library/libxul.mk ++++ toolkit/library/libxul.mk +@@ -146,6 +146,10 @@ OS_LIBS += $(call EXPAND_LIBNAME,secur32 + endif + endif + ++ifdef MOZ_OSS ++EXTRA_DSO_LDOPTS += $(MOZ_OSS_LIBS) ++endif ++ + ifdef MOZ_ALSA + EXTRA_DSO_LDOPTS += $(MOZ_ALSA_LIBS) + endif Added: trunk/www/libxul/files/patch-bug1021761 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/libxul/files/patch-bug1021761 Thu Sep 25 22:14:18 2014 (r1707) @@ -0,0 +1,1092 @@ +diff --git configure.in configure.in +index 48e60c0..ec08417 100644 +--- configure.in ++++ 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 +--- media/libcubeb/AUTHORS ++++ 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 +--- media/libcubeb/src/cubeb.c ++++ 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 +--- media/libcubeb/src/cubeb_alsa.c ++++ 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); +@@ -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 ++++ 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; ++ pthread_t th; ++}; ++ ++static struct cubeb_ops const oss_ops; ++ ++int oss_init(cubeb ** context, char const * context_name) ++{ ++ cubeb* ctx = (cubeb*)malloc(sizeof(cubeb)); ++ ctx->ops = &oss_ops; ++ *context = ctx; ++ return CUBEB_OK; ++} ++ ++static void oss_destroy(cubeb *ctx) ++{ ++ free(ctx); ++} ++ ++static char const * oss_get_backend_id(cubeb * context) ++{ ++ static char oss_name[] = "oss"; ++ return oss_name; ++} ++ ++static int oss_get_max_channel_count(cubeb * ctx, uint32_t * max_channels) ++{ ++ *max_channels = 2; /* Let's support only stereo for now */ ++ return CUBEB_OK; ++} ++ ++static int oss_get_min_latency(cubeb * context, cubeb_stream_params params, ++ uint32_t * latency_ms) ++{ ++ /* 40ms is a big enough number to work ok */ ++ *latency_ms = 40; ++ return CUBEB_OK; ++} ++ ++static int oss_get_preferred_sample_rate(cubeb *context, uint32_t * rate) ++{ ++ /* 48000 seems a prefered choice for most audio devices ++ * and a good choice for OSS */ ++ *rate = 48000; ++ return CUBEB_OK; ++} ++ ++static void run_state_callback(cubeb_stream *stream, cubeb_state state) ++{ ++ if (stream->state_callback) { ++ stream->state_callback(stream, stream->user_ptr, state); ++ } ++} ++ ++static long run_data_callback(cubeb_stream *stream, void *buffer, long nframes) ++{ ++ long got = 0; ++ pthread_mutex_lock(&stream->state_mutex); ++ if (stream->data_callback && stream->running && !stream->stopped) { ++ pthread_mutex_unlock(&stream->state_mutex); ++ got = stream->data_callback(stream, stream->user_ptr, buffer, nframes); ++ } else { ++ pthread_mutex_unlock(&stream->state_mutex); ++ } ++ return got; ++} ++ ++static void apply_volume(int16_t* buffer, unsigned int n, ++ float volume, float panning) ++{ ++ float left = volume; ++ float right = volume; ++ unsigned int i; ++ int pan[2]; ++ if (panning<0) { ++ right *= (1+panning); ++ } else { ++ left *= (1-panning); ++ } ++ pan[0] = 128.0*left; ++ pan[1] = 128.0*right; ++ for(i=0; irunning) { ++ pthread_mutex_lock(&stream->state_mutex); ++ if (stream->stopped) { ++ pthread_mutex_unlock(&stream->state_mutex); ++ run_state_callback(stream, CUBEB_STATE_STOPPED); ++ pthread_mutex_lock(&stream->state_mutex); ++ while (stream->stopped) { ++ pthread_cond_wait(&stream->state_cond, &stream->state_mutex); ++ } ++ pthread_mutex_unlock(&stream->state_mutex); ++ run_state_callback(stream, CUBEB_STATE_STARTED); ++ continue; ++ } ++ pthread_mutex_unlock(&stream->state_mutex); ++ if (stream->floating) { ++ got = run_data_callback(stream, f_buffer, ++ OSS_BUFFER_SIZE/stream->params.channels); ++ for (i=0; i<((unsigned long)got)*stream->params.channels; i++) { ++ buffer[i] = f_buffer[i]*32767.0; ++ } ++ } else { ++ got = run_data_callback(stream, buffer, ++ OSS_BUFFER_SIZE/stream->params.channels); ++ } ++ apply_volume(buffer, got*stream->params.channels, ++ stream->volume, stream->panning); ++ if (got<0) { ++ run_state_callback(stream, CUBEB_STATE_ERROR); ++ break; ++ } ++ if (!got) { ++ run_state_callback(stream, CUBEB_STATE_DRAINED); ++ } ++ if (got) { ++ size_t i = 0; ++ size_t s = got*stream->params.channels*sizeof(int16_t); ++ while (i < s) { ++ ssize_t n = write(stream->fd, ((char*)buffer) + i, s - i); ++ if (n<=0) { ++ run_state_callback(stream, CUBEB_STATE_ERROR); ++ break; ++ } ++ i+=n; ++ } ++ stream->written_frags+=got; ++ } ++ } ++ return NULL; ++} ++ ++static void oss_try_set_latency(cubeb_stream* stream, unsigned int latency) ++{ ++ unsigned int latency_bytes, n_frag; ++ int frag; ++ /* fragment size of 1024 is a good choice with good chances to be accepted */ ++ unsigned int frag_size=1024; ++ unsigned int frag_log=10; /* 2^frag_log = frag_size */ ++ latency_bytes = ++ latency*stream->params.rate*stream->params.channels*sizeof(uint16_t)/1000; ++ n_frag = latency_bytes>>frag_log; ++ frag = (n_frag<<16) | frag_log; ++ /* Even if this fails we wish to continue, not checking for errors */ ++ ioctl(stream->fd, SNDCTL_DSP_SETFRAGMENT, &frag); ++} ++ ++static int oss_stream_init(cubeb * context, cubeb_stream ** stm, ++ char const * stream_name, ++ cubeb_stream_params stream_params, ++ unsigned int latency, ++ cubeb_data_callback data_callback, ++ cubeb_state_callback state_callback, void * user_ptr) ++{ ++ cubeb_stream* stream = (cubeb_stream*)malloc(sizeof(cubeb_stream)); ++ stream->context = context; ++ stream->data_callback = data_callback; ++ stream->state_callback = state_callback; ++ stream->user_ptr = user_ptr; ++ ++ if ((stream->fd = open(CUBEB_OSS_DEFAULT_OUTPUT, O_WRONLY)) == -1) { ++ free(stream); ++ return CUBEB_ERROR; ++ } ++#define SET(what, to) do { unsigned int i = to; \ ++ int j = ioctl(stream->fd, what, &i); \ ++ if (j == -1 || i != to) { \ ++ close(stream->fd); \ ++ free(stream); \ ++ return CUBEB_ERROR_INVALID_FORMAT; } } while (0) ++ ++ stream->params = stream_params; ++ stream->volume = 1.0; ++ stream->panning = 0.0; ++ ++ oss_try_set_latency(stream, latency); ++ ++ stream->floating = 0; ++ SET(SNDCTL_DSP_CHANNELS, stream_params.channels); ++ SET(SNDCTL_DSP_SPEED, stream_params.rate); ++ switch (stream_params.format) { ++ case CUBEB_SAMPLE_S16LE: ++ SET(SNDCTL_DSP_SETFMT, AFMT_S16_LE); ++ break; ++ case CUBEB_SAMPLE_S16BE: ++ SET(SNDCTL_DSP_SETFMT, AFMT_S16_BE); ++ break; ++ case CUBEB_SAMPLE_FLOAT32LE: ++ SET(SNDCTL_DSP_SETFMT, AFMT_S16_NE); ++ stream->floating = 1; ++ break; ++ default: ++ close(stream->fd); ++ free(stream); ++ return CUBEB_ERROR; ++ } ++ ++ ++ pthread_mutex_init(&stream->state_mutex, NULL); ++ pthread_cond_init(&stream->state_cond, NULL); ++ ++ stream->running = 1; ++ stream->stopped = 1; ++ stream->position_bytes = 0; ++ stream->last_position_bytes = 0; ++ stream->written_frags = 0; ++ stream->missed_frags = 0; ++ ++ pthread_create(&stream->th, NULL, writer, (void*)stream); ++ ++ *stm = stream; ++ ++ return CUBEB_OK; ++} ++ ++static void oss_stream_destroy(cubeb_stream * stream) ++{ ++ pthread_mutex_lock(&stream->state_mutex); ++ ++ stream->running = 0; ++ stream->stopped = 0; ++ pthread_cond_signal(&stream->state_cond); ++ ++ pthread_mutex_unlock(&stream->state_mutex); ++ ++ pthread_join(stream->th, NULL); ++ ++ pthread_mutex_destroy(&stream->state_mutex); ++ pthread_cond_destroy(&stream->state_cond); ++ close(stream->fd); ++ free(stream); ++} ++ ++static int oss_stream_get_latency(cubeb_stream * stream, uint32_t * latency) ++{ ++ if (ioctl(stream->fd, SNDCTL_DSP_GETODELAY, latency)==-1) { ++ return CUBEB_ERROR; ++ } ++ /* Convert latency from bytes to frames */ ++ *latency /= stream->params.channels*sizeof(int16_t); ++ return CUBEB_OK; ++} ++ ++ ++static int oss_stream_current_optr(cubeb_stream * stream, uint64_t * position) ++{ ++ count_info ci; ++ /* Unfortunately, this ioctl is only available in OSS 4.x */ ++#ifdef SNDCTL_DSP_CURRENT_OPTR ++ oss_count_t count; ++ if (ioctl(stream->fd, SNDCTL_DSP_CURRENT_OPTR, &count) != -1) { ++ *position = count.samples;// + count.fifo_samples; ++ return CUBEB_OK; ++ } ++#endif ++ /* Fall back to this ioctl in case the previous one fails */ ++ if (ioctl(stream->fd, SNDCTL_DSP_GETOPTR, &ci) == -1) { ++ return CUBEB_ERROR; ++ } ++ /* ci.bytes is only 32 bit and will start to wrap after arithmetic overflow */ ++ stream->position_bytes += ci.bytes - stream->last_position_bytes; ++ stream->last_position_bytes = ci.bytes; ++ *position = stream->position_bytes/stream->params.channels/sizeof(int16_t); ++ return CUBEB_OK; ++} ++ ++static int oss_stream_get_position(cubeb_stream * stream, uint64_t * position) ++{ ++ if ( oss_stream_current_optr(stream, position) == CUBEB_OK ){ ++ *position -= stream->missed_frags; ++ return CUBEB_OK; ++ } ++ /* If no correct method to get position works we resort to this */ ++ *position = stream->written_frags; ++ return CUBEB_OK; ++} ++ ++ ++static int oss_stream_start(cubeb_stream * stream) ++{ ++ pthread_mutex_lock(&stream->state_mutex); ++ if (stream->stopped) { ++ uint64_t ptr; ++ oss_stream_current_optr(stream, &ptr); ++ stream->missed_frags = ptr - stream->written_frags; ++ stream->stopped = 0; ++ pthread_cond_signal(&stream->state_cond); ++ } ++ pthread_mutex_unlock(&stream->state_mutex); ++ return CUBEB_OK; ++} ++ ++static int oss_stream_stop(cubeb_stream * stream) ++{ ++ pthread_mutex_lock(&stream->state_mutex); ++ stream->stopped = 1; ++ pthread_mutex_unlock(&stream->state_mutex); ++ return CUBEB_OK; ++} ++ ++int oss_stream_set_panning(cubeb_stream * stream, float panning) ++{ ++ if (stream->params.channels == 2) { ++ stream->panning=panning; ++ } ++ return CUBEB_OK; ++} ++ ++int oss_stream_set_volume(cubeb_stream * stream, float volume) ++{ ++ stream->volume=volume; ++ return CUBEB_OK; ++} ++ ++static struct cubeb_ops const oss_ops = { ++ .init = oss_init, ++ .get_backend_id = oss_get_backend_id, ++ .get_max_channel_count = oss_get_max_channel_count, ++ .get_min_latency = oss_get_min_latency, ++ .get_preferred_sample_rate = oss_get_preferred_sample_rate, ++ .destroy = oss_destroy, ++ .stream_init = oss_stream_init, ++ .stream_destroy = oss_stream_destroy, ++ .stream_start = oss_stream_start, ++ .stream_stop = oss_stream_stop, ++ .stream_get_position = oss_stream_get_position, ++ .stream_get_latency = oss_stream_get_latency ++}; +diff --git media/libcubeb/src/moz.build media/libcubeb/src/moz.build +index 8b7a0dd..31212ce 100644 +--- media/libcubeb/src/moz.build ++++ media/libcubeb/src/moz.build +@@ -17,6 +17,12 @@ if CONFIG['MOZ_ALSA']: + ] + DEFINES['USE_ALSA'] = True + ++if CONFIG['MOZ_OSS']: ++ SOURCES += [ ++ 'cubeb_oss.c', ++ ] ++ DEFINES['USE_OSS'] = True ++ + if CONFIG['MOZ_PULSEAUDIO']: + SOURCES += [ + 'cubeb_pulse.c', +@@ -75,5 +81,6 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk': + + FAIL_ON_WARNINGS = True + ++CFLAGS += CONFIG['MOZ_OSS_CFLAGS'] + CFLAGS += CONFIG['MOZ_ALSA_CFLAGS'] + CFLAGS += CONFIG['MOZ_PULSEAUDIO_CFLAGS'] +diff --git toolkit/library/libxul.mk toolkit/library/libxul.mk +index e191f13..4fb268a 100644 +--- toolkit/library/libxul.mk ++++ toolkit/library/libxul.mk +@@ -146,6 +146,10 @@ OS_LIBS += $(call EXPAND_LIBNAME,secur32 + endif + endif + ++ifdef MOZ_OSS ++EXTRA_DSO_LDOPTS += $(MOZ_OSS_LIBS) ++endif ++ + ifdef MOZ_ALSA + EXTRA_DSO_LDOPTS += $(MOZ_ALSA_LIBS) + endif Added: trunk/www/seamonkey/files/patch-bug1021761 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/seamonkey/files/patch-bug1021761 Thu Sep 25 22:14:18 2014 (r1707) @@ -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 +--- mozilla//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; ++ pthread_t th; ++}; ++ ++static struct cubeb_ops const oss_ops; ++ ++int oss_init(cubeb ** context, char const * context_name) ++{ ++ cubeb* ctx = (cubeb*)malloc(sizeof(cubeb)); ++ ctx->ops = &oss_ops; ++ *context = ctx; ++ return CUBEB_OK; ++} ++ ++static void oss_destroy(cubeb *ctx) ++{ ++ free(ctx); ++} ++ ++static char const * oss_get_backend_id(cubeb * context) ++{ ++ static char oss_name[] = "oss"; ++ return oss_name; ++} ++ ++static int oss_get_max_channel_count(cubeb * ctx, uint32_t * max_channels) ++{ ++ *max_channels = 2; /* Let's support only stereo for now */ ++ return CUBEB_OK; ++} ++ ++static int oss_get_min_latency(cubeb * context, cubeb_stream_params params, ++ uint32_t * latency_ms) ++{ ++ /* 40ms is a big enough number to work ok */ ++ *latency_ms = 40; ++ return CUBEB_OK; ++} ++ ++static int oss_get_preferred_sample_rate(cubeb *context, uint32_t * rate) ++{ ++ /* 48000 seems a prefered choice for most audio devices ++ * and a good choice for OSS */ ++ *rate = 48000; ++ return CUBEB_OK; ++} ++ ++static void run_state_callback(cubeb_stream *stream, cubeb_state state) ++{ ++ if (stream->state_callback) { ++ stream->state_callback(stream, stream->user_ptr, state); ++ } ++} ++ ++static long run_data_callback(cubeb_stream *stream, void *buffer, long nframes) ++{ ++ long got = 0; ++ pthread_mutex_lock(&stream->state_mutex); ++ if (stream->data_callback && stream->running && !stream->stopped) { ++ pthread_mutex_unlock(&stream->state_mutex); ++ got = stream->data_callback(stream, stream->user_ptr, buffer, nframes); ++ } else { ++ pthread_mutex_unlock(&stream->state_mutex); ++ } ++ return got; ++} ++ ++static void apply_volume(int16_t* buffer, unsigned int n, ++ float volume, float panning) ++{ ++ float left = volume; ++ float right = volume; ++ unsigned int i; ++ int pan[2]; ++ if (panning<0) { ++ right *= (1+panning); ++ } else { ++ left *= (1-panning); ++ } ++ pan[0] = 128.0*left; ++ pan[1] = 128.0*right; ++ for(i=0; irunning) { ++ pthread_mutex_lock(&stream->state_mutex); ++ if (stream->stopped) { ++ pthread_mutex_unlock(&stream->state_mutex); ++ run_state_callback(stream, CUBEB_STATE_STOPPED); ++ pthread_mutex_lock(&stream->state_mutex); ++ while (stream->stopped) { ++ pthread_cond_wait(&stream->state_cond, &stream->state_mutex); ++ } ++ pthread_mutex_unlock(&stream->state_mutex); ++ run_state_callback(stream, CUBEB_STATE_STARTED); ++ continue; ++ } ++ pthread_mutex_unlock(&stream->state_mutex); ++ if (stream->floating) { ++ got = run_data_callback(stream, f_buffer, ++ OSS_BUFFER_SIZE/stream->params.channels); ++ for (i=0; i<((unsigned long)got)*stream->params.channels; i++) { ++ buffer[i] = f_buffer[i]*32767.0; ++ } ++ } else { ++ got = run_data_callback(stream, buffer, ++ OSS_BUFFER_SIZE/stream->params.channels); ++ } ++ apply_volume(buffer, got*stream->params.channels, ++ stream->volume, stream->panning); ++ if (got<0) { ++ run_state_callback(stream, CUBEB_STATE_ERROR); ++ break; ++ } ++ if (!got) { ++ run_state_callback(stream, CUBEB_STATE_DRAINED); ++ } ++ if (got) { ++ size_t i = 0; ++ size_t s = got*stream->params.channels*sizeof(int16_t); ++ while (i < s) { ++ ssize_t n = write(stream->fd, ((char*)buffer) + i, s - i); ++ if (n<=0) { ++ run_state_callback(stream, CUBEB_STATE_ERROR); ++ break; ++ } ++ i+=n; ++ } ++ stream->written_frags+=got; ++ } ++ } ++ return NULL; ++} ++ ++static void oss_try_set_latency(cubeb_stream* stream, unsigned int latency) ++{ ++ unsigned int latency_bytes, n_frag; ++ int frag; ++ /* fragment size of 1024 is a good choice with good chances to be accepted */ ++ unsigned int frag_size=1024; ++ unsigned int frag_log=10; /* 2^frag_log = frag_size */ ++ latency_bytes = ++ latency*stream->params.rate*stream->params.channels*sizeof(uint16_t)/1000; ++ n_frag = latency_bytes>>frag_log; ++ frag = (n_frag<<16) | frag_log; ++ /* Even if this fails we wish to continue, not checking for errors */ ++ ioctl(stream->fd, SNDCTL_DSP_SETFRAGMENT, &frag); ++} ++ ++static int oss_stream_init(cubeb * context, cubeb_stream ** stm, ++ char const * stream_name, ++ cubeb_stream_params stream_params, ++ unsigned int latency, ++ cubeb_data_callback data_callback, ++ cubeb_state_callback state_callback, void * user_ptr) ++{ ++ cubeb_stream* stream = (cubeb_stream*)malloc(sizeof(cubeb_stream)); ++ stream->context = context; ++ stream->data_callback = data_callback; ++ stream->state_callback = state_callback; ++ stream->user_ptr = user_ptr; ++ ++ if ((stream->fd = open(CUBEB_OSS_DEFAULT_OUTPUT, O_WRONLY)) == -1) { ++ free(stream); ++ return CUBEB_ERROR; ++ } ++#define SET(what, to) do { unsigned int i = to; \ ++ int j = ioctl(stream->fd, what, &i); \ ++ if (j == -1 || i != to) { \ ++ close(stream->fd); \ ++ free(stream); \ ++ return CUBEB_ERROR_INVALID_FORMAT; } } while (0) ++ ++ stream->params = stream_params; ++ stream->volume = 1.0; ++ stream->panning = 0.0; ++ ++ oss_try_set_latency(stream, latency); ++ ++ stream->floating = 0; ++ SET(SNDCTL_DSP_CHANNELS, stream_params.channels); ++ SET(SNDCTL_DSP_SPEED, stream_params.rate); ++ switch (stream_params.format) { ++ case CUBEB_SAMPLE_S16LE: ++ SET(SNDCTL_DSP_SETFMT, AFMT_S16_LE); ++ break; ++ case CUBEB_SAMPLE_S16BE: ++ SET(SNDCTL_DSP_SETFMT, AFMT_S16_BE); ++ break; ++ case CUBEB_SAMPLE_FLOAT32LE: ++ SET(SNDCTL_DSP_SETFMT, AFMT_S16_NE); ++ stream->floating = 1; ++ break; ++ default: ++ close(stream->fd); ++ free(stream); ++ return CUBEB_ERROR; ++ } ++ ++ ++ pthread_mutex_init(&stream->state_mutex, NULL); ++ pthread_cond_init(&stream->state_cond, NULL); ++ ++ stream->running = 1; ++ stream->stopped = 1; ++ stream->position_bytes = 0; ++ stream->last_position_bytes = 0; ++ stream->written_frags = 0; ++ stream->missed_frags = 0; ++ ++ pthread_create(&stream->th, NULL, writer, (void*)stream); ++ ++ *stm = stream; ++ ++ return CUBEB_OK; ++} ++ ++static void oss_stream_destroy(cubeb_stream * stream) ++{ ++ pthread_mutex_lock(&stream->state_mutex); ++ ++ stream->running = 0; ++ stream->stopped = 0; ++ pthread_cond_signal(&stream->state_cond); ++ ++ pthread_mutex_unlock(&stream->state_mutex); ++ ++ pthread_join(stream->th, NULL); ++ ++ pthread_mutex_destroy(&stream->state_mutex); ++ pthread_cond_destroy(&stream->state_cond); ++ close(stream->fd); ++ free(stream); ++} ++ ++static int oss_stream_get_latency(cubeb_stream * stream, uint32_t * latency) ++{ ++ if (ioctl(stream->fd, SNDCTL_DSP_GETODELAY, latency)==-1) { ++ return CUBEB_ERROR; ++ } ++ /* Convert latency from bytes to frames */ ++ *latency /= stream->params.channels*sizeof(int16_t); ++ return CUBEB_OK; ++} ++ ++ ++static int oss_stream_current_optr(cubeb_stream * stream, uint64_t * position) ++{ ++ count_info ci; ++ /* Unfortunately, this ioctl is only available in OSS 4.x */ ++#ifdef SNDCTL_DSP_CURRENT_OPTR ++ oss_count_t count; ++ if (ioctl(stream->fd, SNDCTL_DSP_CURRENT_OPTR, &count) != -1) { ++ *position = count.samples;// + count.fifo_samples; ++ return CUBEB_OK; ++ } ++#endif ++ /* Fall back to this ioctl in case the previous one fails */ ++ if (ioctl(stream->fd, SNDCTL_DSP_GETOPTR, &ci) == -1) { ++ return CUBEB_ERROR; ++ } ++ /* ci.bytes is only 32 bit and will start to wrap after arithmetic overflow */ ++ stream->position_bytes += ci.bytes - stream->last_position_bytes; ++ stream->last_position_bytes = ci.bytes; ++ *position = stream->position_bytes/stream->params.channels/sizeof(int16_t); ++ return CUBEB_OK; ++} ++ ++static int oss_stream_get_position(cubeb_stream * stream, uint64_t * position) ++{ ++ if ( oss_stream_current_optr(stream, position) == CUBEB_OK ){ ++ *position -= stream->missed_frags; ++ return CUBEB_OK; ++ } ++ /* If no correct method to get position works we resort to this */ ++ *position = stream->written_frags; ++ return CUBEB_OK; ++} ++ ++ ++static int oss_stream_start(cubeb_stream * stream) ++{ ++ pthread_mutex_lock(&stream->state_mutex); ++ if (stream->stopped) { ++ uint64_t ptr; ++ oss_stream_current_optr(stream, &ptr); ++ stream->missed_frags = ptr - stream->written_frags; ++ stream->stopped = 0; ++ pthread_cond_signal(&stream->state_cond); ++ } ++ pthread_mutex_unlock(&stream->state_mutex); ++ return CUBEB_OK; ++} ++ ++static int oss_stream_stop(cubeb_stream * stream) ++{ ++ pthread_mutex_lock(&stream->state_mutex); ++ stream->stopped = 1; ++ pthread_mutex_unlock(&stream->state_mutex); ++ return CUBEB_OK; ++} ++ ++int oss_stream_set_panning(cubeb_stream * stream, float panning) ++{ ++ if (stream->params.channels == 2) { ++ stream->panning=panning; ++ } ++ return CUBEB_OK; ++} ++ ++int oss_stream_set_volume(cubeb_stream * stream, float volume) ++{ ++ stream->volume=volume; ++ return CUBEB_OK; ++} ++ ++static struct cubeb_ops const oss_ops = { ++ .init = oss_init, ++ .get_backend_id = oss_get_backend_id, ++ .get_max_channel_count = oss_get_max_channel_count, ++ .get_min_latency = oss_get_min_latency, ++ .get_preferred_sample_rate = oss_get_preferred_sample_rate, ++ .destroy = oss_destroy, ++ .stream_init = oss_stream_init, ++ .stream_destroy = oss_stream_destroy, ++ .stream_start = oss_stream_start, ++ .stream_stop = oss_stream_stop, ++ .stream_get_position = oss_stream_get_position, ++ .stream_get_latency = oss_stream_get_latency ++}; +diff --git media/libcubeb/src/moz.build media/libcubeb/src/moz.build +index 8b7a0dd..31212ce 100644 +--- mozilla/media/libcubeb/src/moz.build ++++ mozilla/media/libcubeb/src/moz.build +@@ -17,6 +17,12 @@ if CONFIG['MOZ_ALSA']: + ] + DEFINES['USE_ALSA'] = True + ++if CONFIG['MOZ_OSS']: ++ SOURCES += [ ++ 'cubeb_oss.c', ++ ] ++ DEFINES['USE_OSS'] = True ++ + if CONFIG['MOZ_PULSEAUDIO']: + SOURCES += [ + 'cubeb_pulse.c', +@@ -75,5 +81,6 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk': + + FAIL_ON_WARNINGS = True + ++CFLAGS += CONFIG['MOZ_OSS_CFLAGS'] + CFLAGS += CONFIG['MOZ_ALSA_CFLAGS'] + CFLAGS += CONFIG['MOZ_PULSEAUDIO_CFLAGS'] +diff --git toolkit/library/libxul.mk toolkit/library/libxul.mk +index e191f13..4fb268a 100644 +--- mozilla/toolkit/library/libxul.mk ++++ mozilla/toolkit/library/libxul.mk +@@ -146,6 +146,10 @@ OS_LIBS += $(call EXPAND_LIBNAME,secur32 + endif + endif + ++ifdef MOZ_OSS ++EXTRA_DSO_LDOPTS += $(MOZ_OSS_LIBS) ++endif ++ + ifdef MOZ_ALSA + EXTRA_DSO_LDOPTS += $(MOZ_ALSA_LIBS) + endif From owner-freebsd-gecko@FreeBSD.ORG Thu Sep 25 23:46:49 2014 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BA8D790E for ; Thu, 25 Sep 2014 23:46:49 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.244.247]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4CA0025C for ; Thu, 25 Sep 2014 23:46:48 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian [217.150.244.247]) by trillian.chruetertee.ch (8.14.4/8.14.3) with ESMTP id s8PNkkmS066859 for ; Thu, 25 Sep 2014 23:46:46 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.4/8.14.3/Submit) id s8PNkfR1065897 for freebsd-gecko@freebsd.org; Thu, 25 Sep 2014 23:46:41 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Thu, 25 Sep 2014 23:46:41 GMT Message-Id: <201409252346.s8PNkfR1065897@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org Subject: [SVN-Commit] r1708 - in trunk: mail/thunderbird/files www/seamonkey/files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reply-To: freebsd-gecko@freebsd.org X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Sep 2014 23:46:49 -0000 Author: jbeich Date: Thu Sep 25 23:46:41 2014 New Revision: 1708 Log: unbreak |make patch| Modified: trunk/mail/thunderbird/files/patch-bug1021761 trunk/www/seamonkey/files/patch-bug1021761 Modified: trunk/mail/thunderbird/files/patch-bug1021761 ============================================================================== --- trunk/mail/thunderbird/files/patch-bug1021761 Thu Sep 25 22:14:18 2014 (r1707) +++ trunk/mail/thunderbird/files/patch-bug1021761 Thu Sep 25 23:46:41 2014 (r1708) @@ -649,7 +649,7 @@ diff --git media/libcubeb/src/cubeb_oss.c media/libcubeb/src/cubeb_oss.c new file mode 100644 index 0000000..5e38e27 ---- mozilla//dev/null +--- /dev/null +++ mozilla/media/libcubeb/src/cubeb_oss.c @@ -0,0 +1,399 @@ +/* Modified: trunk/www/seamonkey/files/patch-bug1021761 ============================================================================== --- trunk/www/seamonkey/files/patch-bug1021761 Thu Sep 25 22:14:18 2014 (r1707) +++ trunk/www/seamonkey/files/patch-bug1021761 Thu Sep 25 23:46:41 2014 (r1708) @@ -658,7 +658,7 @@ diff --git media/libcubeb/src/cubeb_oss.c media/libcubeb/src/cubeb_oss.c new file mode 100644 index 0000000..5e38e27 ---- mozilla//dev/null +--- /dev/null +++ mozilla/media/libcubeb/src/cubeb_oss.c @@ -0,0 +1,399 @@ +/* From owner-freebsd-gecko@FreeBSD.ORG Fri Sep 26 13:13:23 2014 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E46C367B for ; Fri, 26 Sep 2014 13:13:23 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (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 CABCD9E6 for ; Fri, 26 Sep 2014 13:13:23 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id s8QDDNlG078321 for ; Fri, 26 Sep 2014 13:13:23 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: gecko@FreeBSD.org Subject: [Bug 193906] security/nss: update to 3.17.1 to fix CVE-2014-1568 Date: Fri, 26 Sep 2014 13:13:24 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports Tree X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: patch X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: jbeich@vfemail.net X-Bugzilla-Status: Issue Resolved X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: gecko@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_status resolution Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Sep 2014 13:13:24 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193906 Jan Beich changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Needs Triage |Issue Resolved Resolution|--- |FIXED --- Comment #5 from Jan Beich --- Beat updated vulnerable linux-* ports. http://svnweb.freebsd.org/changeset/ports/369237 -- You are receiving this mail because: You are the assignee for the bug. From owner-freebsd-gecko@FreeBSD.ORG Fri Sep 26 13:28:16 2014 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E238BA8D for ; Fri, 26 Sep 2014 13:28:15 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.244.247]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6A103B5B for ; Fri, 26 Sep 2014 13:28:14 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian [217.150.244.247]) by trillian.chruetertee.ch (8.14.4/8.14.3) with ESMTP id s8QDSBlQ029146 for ; Fri, 26 Sep 2014 13:28:11 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.4/8.14.3/Submit) id s8QDS5oZ023138 for freebsd-gecko@freebsd.org; Fri, 26 Sep 2014 13:28:05 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Fri, 26 Sep 2014 13:28:05 GMT Message-Id: <201409261328.s8QDS5oZ023138@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org Subject: [SVN-Commit] r1709 - branches/firefox32/mail/linux-thunderbird branches/firefox32/mail/thunderbird branches/firefox32/mail/thunderbird-i18n branches/firefox32/security/ca_root_nss branches/firefox32/security/nss branches/firefox32/www/firefox branches/firefox32/www/firefox-esr branches/firefox32/www/firefox-esr-i18n branches/firefox32/www/firefox-i18n branches/firefox32/www/libxul branches/firefox32/www/linux-firefox branches/firefox32/www/linux-seamonkey branches/firefox32/www/seamonkey branches/firefox32/www/seamonkey-i18n trunk/mail/linux-thunderbird trunk/mail/thunderbird trunk/mail/thunderbird-i18n trunk/security/ca_root_nss trunk/security/nss trunk/www/firefox trunk/www/firefox-esr trunk/www/firefox-esr-i18n trunk/www/firefox-i18n trunk/www/libxul trunk/www/linux-firefox trunk/www/linux-seamonkey trunk/www/seamonkey trunk/www/seamonkey-i18n MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reply-To: freebsd-gecko@freebsd.org X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Sep 2014 13:28:16 -0000 Author: jbeich Date: Fri Sep 26 13:28:05 2014 New Revision: 1709 Log: sync with ports Modified: branches/firefox32/mail/linux-thunderbird/Makefile branches/firefox32/mail/thunderbird-i18n/Makefile branches/firefox32/mail/thunderbird/Makefile branches/firefox32/security/ca_root_nss/Makefile branches/firefox32/security/ca_root_nss/pkg-plist branches/firefox32/security/nss/Makefile branches/firefox32/www/firefox-esr-i18n/Makefile branches/firefox32/www/firefox-esr/Makefile branches/firefox32/www/firefox-i18n/Makefile branches/firefox32/www/firefox/Makefile branches/firefox32/www/libxul/Makefile branches/firefox32/www/linux-firefox/Makefile branches/firefox32/www/linux-seamonkey/Makefile branches/firefox32/www/linux-seamonkey/Makefile.common branches/firefox32/www/seamonkey-i18n/Makefile branches/firefox32/www/seamonkey/Makefile trunk/mail/linux-thunderbird/Makefile trunk/mail/thunderbird-i18n/Makefile trunk/mail/thunderbird/Makefile trunk/security/ca_root_nss/Makefile trunk/security/nss/Makefile trunk/www/firefox-esr-i18n/Makefile trunk/www/firefox-esr/Makefile trunk/www/firefox-i18n/Makefile trunk/www/firefox/Makefile trunk/www/libxul/Makefile trunk/www/linux-firefox/Makefile trunk/www/linux-seamonkey/Makefile trunk/www/linux-seamonkey/Makefile.common trunk/www/seamonkey-i18n/Makefile trunk/www/seamonkey/Makefile Modified: branches/firefox32/mail/linux-thunderbird/Makefile ============================================================================== --- branches/firefox32/mail/linux-thunderbird/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ branches/firefox32/mail/linux-thunderbird/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: Andrew Pantyukhin -# $FreeBSD: head/mail/linux-thunderbird/Makefile 367712 2014-09-09 06:16:35Z bapt $ +# $FreeBSD: head/mail/linux-thunderbird/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= thunderbird DISTVERSION= 31.1.2 Modified: branches/firefox32/mail/thunderbird-i18n/Makefile ============================================================================== --- branches/firefox32/mail/thunderbird-i18n/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ branches/firefox32/mail/thunderbird-i18n/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: Andrew Pantyukhin -# $FreeBSD: head/mail/thunderbird-i18n/Makefile 368047 2014-09-12 17:06:09Z mandree $ +# $FreeBSD: head/mail/thunderbird-i18n/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= thunderbird-i18n PORTVERSION= 31.1.2 Modified: branches/firefox32/mail/thunderbird/Makefile ============================================================================== --- branches/firefox32/mail/thunderbird/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ branches/firefox32/mail/thunderbird/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: Joe Marcus Clarke -# $FreeBSD: head/mail/thunderbird/Makefile 368042 2014-09-12 16:17:26Z mandree $ +# $FreeBSD: head/mail/thunderbird/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= thunderbird DISTVERSION= 31.1.2 Modified: branches/firefox32/security/ca_root_nss/Makefile ============================================================================== --- branches/firefox32/security/ca_root_nss/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ branches/firefox32/security/ca_root_nss/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,4 +1,4 @@ -# $FreeBSD: head/security/ca_root_nss/Makefile 367712 2014-09-09 06:16:35Z bapt $ +# $FreeBSD: head/security/ca_root_nss/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= ca_root_nss PORTVERSION= ${VERSION_NSS} Modified: branches/firefox32/security/ca_root_nss/pkg-plist ============================================================================== --- branches/firefox32/security/ca_root_nss/pkg-plist Thu Sep 25 23:46:41 2014 (r1708) +++ branches/firefox32/security/ca_root_nss/pkg-plist Fri Sep 26 13:28:05 2014 (r1709) @@ -1,4 +1,2 @@ %%CERTDIR%%/ca-root-nss.crt -@dirrmtry %%CERTDIR%% -%%ETCSYMLINK%%@cwd / -%%ETCSYMLINK%%etc/ssl/cert.pem +%%ETCSYMLINK%%/etc/ssl/cert.pem Modified: branches/firefox32/security/nss/Makefile ============================================================================== --- branches/firefox32/security/nss/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ branches/firefox32/security/nss/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: Maxim Sobolev -# $FreeBSD: head/security/nss/Makefile 367739 2014-09-09 15:00:40Z bapt $ +# $FreeBSD: head/security/nss/Makefile 369218 2014-09-25 07:40:33Z des $ PORTNAME= nss PORTVERSION= 3.17.1 Modified: branches/firefox32/www/firefox-esr-i18n/Makefile ============================================================================== --- branches/firefox32/www/firefox-esr-i18n/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ branches/firefox32/www/firefox-esr-i18n/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: Andrew Pantyukhin -# $FreeBSD: head/www/firefox-esr-i18n/Makefile 368047 2014-09-12 17:06:09Z mandree $ +# $FreeBSD: head/www/firefox-esr-i18n/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= firefox PORTVERSION= 31.1.1 Modified: branches/firefox32/www/firefox-esr/Makefile ============================================================================== --- branches/firefox32/www/firefox-esr/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ branches/firefox32/www/firefox-esr/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: Alan Eldridge -# $FreeBSD: head/www/firefox-esr/Makefile 367888 2014-09-10 20:50:31Z gerald $ +# $FreeBSD: head/www/firefox-esr/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= firefox DISTVERSION= 31.1.1 Modified: branches/firefox32/www/firefox-i18n/Makefile ============================================================================== --- branches/firefox32/www/firefox-i18n/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ branches/firefox32/www/firefox-i18n/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: Andrew Pantyukhin -# $FreeBSD: head/www/firefox-i18n/Makefile 368047 2014-09-12 17:06:09Z mandree $ +# $FreeBSD: head/www/firefox-i18n/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= firefox-i18n PORTVERSION= 32.0.2 Modified: branches/firefox32/www/firefox/Makefile ============================================================================== --- branches/firefox32/www/firefox/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ branches/firefox32/www/firefox/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: Alan Eldridge -# $FreeBSD: head/www/firefox/Makefile 367888 2014-09-10 20:50:31Z gerald $ +# $FreeBSD: head/www/firefox/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= firefox DISTVERSION= 32.0.3 Modified: branches/firefox32/www/libxul/Makefile ============================================================================== --- branches/firefox32/www/libxul/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ branches/firefox32/www/libxul/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: Michael Johnson -# $FreeBSD: head/www/libxul/Makefile 367712 2014-09-09 06:16:35Z bapt $ +# $FreeBSD: head/www/libxul/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= libxul DISTVERSION= 24.8.1 Modified: branches/firefox32/www/linux-firefox/Makefile ============================================================================== --- branches/firefox32/www/linux-firefox/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ branches/firefox32/www/linux-firefox/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: voisine -# $FreeBSD: head/www/linux-firefox/Makefile 367741 2014-09-09 15:12:32Z bapt $ +# $FreeBSD: head/www/linux-firefox/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= firefox DISTVERSION= 32.0.3 Modified: branches/firefox32/www/linux-seamonkey/Makefile ============================================================================== --- branches/firefox32/www/linux-seamonkey/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ branches/firefox32/www/linux-seamonkey/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: Andrew Pantyukhin -# $FreeBSD: head/www/linux-seamonkey/Makefile 367712 2014-09-09 06:16:35Z bapt $ +# $FreeBSD: head/www/linux-seamonkey/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= seamonkey DISTVERSION= 2.29.1 Modified: branches/firefox32/www/linux-seamonkey/Makefile.common ============================================================================== --- branches/firefox32/www/linux-seamonkey/Makefile.common Thu Sep 25 23:46:41 2014 (r1708) +++ branches/firefox32/www/linux-seamonkey/Makefile.common Fri Sep 26 13:28:05 2014 (r1709) @@ -1,6 +1,5 @@ # Created by: Andrew Pantyukhin -# $FreeBSD: head/www/linux-seamonkey/Makefile.common 367712 2014-09-09 06:16:35Z bapt $ - +# $FreeBSD: head/www/linux-seamonkey/Makefile.common 369157 2014-09-24 04:07:08Z xmj $ .if defined(OVERRIDE_LINUX_NONBASE_PORTS) && \ ${OVERRIDE_LINUX_NONBASE_PORTS} != "f10" .undef WANT_GTK218 Modified: branches/firefox32/www/seamonkey-i18n/Makefile ============================================================================== --- branches/firefox32/www/seamonkey-i18n/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ branches/firefox32/www/seamonkey-i18n/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: Andrew Pantyukhin -# $FreeBSD: head/www/seamonkey-i18n/Makefile 367888 2014-09-10 20:50:31Z gerald $ +# $FreeBSD: head/www/seamonkey-i18n/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= seamonkey-i18n PORTVERSION= 2.29.1 Modified: branches/firefox32/www/seamonkey/Makefile ============================================================================== --- branches/firefox32/www/seamonkey/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ branches/firefox32/www/seamonkey/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: eivind/dima/jseger -# $FreeBSD: head/www/seamonkey/Makefile 367712 2014-09-09 06:16:35Z bapt $ +# $FreeBSD: head/www/seamonkey/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= seamonkey DISTVERSION= 2.29.1 Modified: trunk/mail/linux-thunderbird/Makefile ============================================================================== --- trunk/mail/linux-thunderbird/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ trunk/mail/linux-thunderbird/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: Andrew Pantyukhin -# $FreeBSD: head/mail/linux-thunderbird/Makefile 367712 2014-09-09 06:16:35Z bapt $ +# $FreeBSD: head/mail/linux-thunderbird/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= thunderbird DISTVERSION= 31.1.2 Modified: trunk/mail/thunderbird-i18n/Makefile ============================================================================== --- trunk/mail/thunderbird-i18n/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ trunk/mail/thunderbird-i18n/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: Andrew Pantyukhin -# $FreeBSD: head/mail/thunderbird-i18n/Makefile 368047 2014-09-12 17:06:09Z mandree $ +# $FreeBSD: head/mail/thunderbird-i18n/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= thunderbird-i18n PORTVERSION= 31.1.2 Modified: trunk/mail/thunderbird/Makefile ============================================================================== --- trunk/mail/thunderbird/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ trunk/mail/thunderbird/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: Joe Marcus Clarke -# $FreeBSD: head/mail/thunderbird/Makefile 368042 2014-09-12 16:17:26Z mandree $ +# $FreeBSD: head/mail/thunderbird/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= thunderbird DISTVERSION= 31.1.2 Modified: trunk/security/ca_root_nss/Makefile ============================================================================== --- trunk/security/ca_root_nss/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ trunk/security/ca_root_nss/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,4 +1,4 @@ -# $FreeBSD: head/security/ca_root_nss/Makefile 367712 2014-09-09 06:16:35Z bapt $ +# $FreeBSD: head/security/ca_root_nss/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= ca_root_nss PORTVERSION= ${VERSION_NSS} Modified: trunk/security/nss/Makefile ============================================================================== --- trunk/security/nss/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ trunk/security/nss/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: Maxim Sobolev -# $FreeBSD: head/security/nss/Makefile 367739 2014-09-09 15:00:40Z bapt $ +# $FreeBSD: head/security/nss/Makefile 369218 2014-09-25 07:40:33Z des $ PORTNAME= nss PORTVERSION= 3.17.1 Modified: trunk/www/firefox-esr-i18n/Makefile ============================================================================== --- trunk/www/firefox-esr-i18n/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ trunk/www/firefox-esr-i18n/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: Andrew Pantyukhin -# $FreeBSD: head/www/firefox-esr-i18n/Makefile 368047 2014-09-12 17:06:09Z mandree $ +# $FreeBSD: head/www/firefox-esr-i18n/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= firefox PORTVERSION= 31.1.1 Modified: trunk/www/firefox-esr/Makefile ============================================================================== --- trunk/www/firefox-esr/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ trunk/www/firefox-esr/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: Alan Eldridge -# $FreeBSD: head/www/firefox-esr/Makefile 367888 2014-09-10 20:50:31Z gerald $ +# $FreeBSD: head/www/firefox-esr/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= firefox DISTVERSION= 31.1.1 Modified: trunk/www/firefox-i18n/Makefile ============================================================================== --- trunk/www/firefox-i18n/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ trunk/www/firefox-i18n/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: Andrew Pantyukhin -# $FreeBSD: head/www/firefox-i18n/Makefile 368047 2014-09-12 17:06:09Z mandree $ +# $FreeBSD: head/www/firefox-i18n/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= firefox-i18n PORTVERSION= 33.0b7 Modified: trunk/www/firefox/Makefile ============================================================================== --- trunk/www/firefox/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ trunk/www/firefox/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: Alan Eldridge -# $FreeBSD: head/www/firefox/Makefile 367888 2014-09-10 20:50:31Z gerald $ +# $FreeBSD: head/www/firefox/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= firefox DISTVERSION= 33.0b7 Modified: trunk/www/libxul/Makefile ============================================================================== --- trunk/www/libxul/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ trunk/www/libxul/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: Michael Johnson -# $FreeBSD: head/www/libxul/Makefile 367712 2014-09-09 06:16:35Z bapt $ +# $FreeBSD: head/www/libxul/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= libxul DISTVERSION= 31.1.1 Modified: trunk/www/linux-firefox/Makefile ============================================================================== --- trunk/www/linux-firefox/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ trunk/www/linux-firefox/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: voisine -# $FreeBSD: head/www/linux-firefox/Makefile 367741 2014-09-09 15:12:32Z bapt $ +# $FreeBSD: head/www/linux-firefox/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= firefox DISTVERSION= 33.0b7 Modified: trunk/www/linux-seamonkey/Makefile ============================================================================== --- trunk/www/linux-seamonkey/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ trunk/www/linux-seamonkey/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: Andrew Pantyukhin -# $FreeBSD: head/www/linux-seamonkey/Makefile 367712 2014-09-09 06:16:35Z bapt $ +# $FreeBSD: head/www/linux-seamonkey/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= seamonkey DISTVERSION= 2.29.1 Modified: trunk/www/linux-seamonkey/Makefile.common ============================================================================== --- trunk/www/linux-seamonkey/Makefile.common Thu Sep 25 23:46:41 2014 (r1708) +++ trunk/www/linux-seamonkey/Makefile.common Fri Sep 26 13:28:05 2014 (r1709) @@ -1,6 +1,5 @@ # Created by: Andrew Pantyukhin -# $FreeBSD: head/www/linux-seamonkey/Makefile.common 367712 2014-09-09 06:16:35Z bapt $ - +# $FreeBSD: head/www/linux-seamonkey/Makefile.common 369157 2014-09-24 04:07:08Z xmj $ .if defined(OVERRIDE_LINUX_NONBASE_PORTS) && \ ${OVERRIDE_LINUX_NONBASE_PORTS} != "f10" .undef WANT_GTK218 Modified: trunk/www/seamonkey-i18n/Makefile ============================================================================== --- trunk/www/seamonkey-i18n/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ trunk/www/seamonkey-i18n/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: Andrew Pantyukhin -# $FreeBSD: head/www/seamonkey-i18n/Makefile 367888 2014-09-10 20:50:31Z gerald $ +# $FreeBSD: head/www/seamonkey-i18n/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= seamonkey-i18n PORTVERSION= 2.29.1 Modified: trunk/www/seamonkey/Makefile ============================================================================== --- trunk/www/seamonkey/Makefile Thu Sep 25 23:46:41 2014 (r1708) +++ trunk/www/seamonkey/Makefile Fri Sep 26 13:28:05 2014 (r1709) @@ -1,5 +1,5 @@ # Created by: eivind/dima/jseger -# $FreeBSD: head/www/seamonkey/Makefile 367712 2014-09-09 06:16:35Z bapt $ +# $FreeBSD: head/www/seamonkey/Makefile 369237 2014-09-25 11:08:06Z beat $ PORTNAME= seamonkey DISTVERSION= 2.29.1 From owner-freebsd-gecko@FreeBSD.ORG Fri Sep 26 13:32:28 2014 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2039AB10 for ; Fri, 26 Sep 2014 13:32:28 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.244.247]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B6ADFC16 for ; Fri, 26 Sep 2014 13:32:27 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian [217.150.244.247]) by trillian.chruetertee.ch (8.14.4/8.14.3) with ESMTP id s8QDWP89043414 for ; Fri, 26 Sep 2014 13:32:25 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.4/8.14.3/Submit) id s8QDWKhc041378 for freebsd-gecko@freebsd.org; Fri, 26 Sep 2014 13:32:20 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Fri, 26 Sep 2014 13:32:20 GMT Message-Id: <201409261332.s8QDWKhc041378@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org Subject: [SVN-Commit] r1710 - branches/firefox32/mail/thunderbird-i18n branches/firefox32/www/firefox-esr-i18n branches/firefox32/www/firefox-i18n branches/firefox32/www/seamonkey-i18n trunk/mail/thunderbird-i18n trunk/www/firefox-esr-i18n trunk/www/firefox-i18n trunk/www/seamonkey-i18n MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reply-To: freebsd-gecko@freebsd.org X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Sep 2014 13:32:28 -0000 Author: jbeich Date: Fri Sep 26 13:32:20 2014 New Revision: 1710 Log: re-apply ports@368080 + seamonkey-i18n Modified: branches/firefox32/mail/thunderbird-i18n/Makefile branches/firefox32/www/firefox-esr-i18n/Makefile branches/firefox32/www/firefox-i18n/Makefile branches/firefox32/www/seamonkey-i18n/Makefile trunk/mail/thunderbird-i18n/Makefile trunk/www/firefox-esr-i18n/Makefile trunk/www/firefox-i18n/Makefile trunk/www/seamonkey-i18n/Makefile Modified: branches/firefox32/mail/thunderbird-i18n/Makefile ============================================================================== --- branches/firefox32/mail/thunderbird-i18n/Makefile Fri Sep 26 13:28:05 2014 (r1709) +++ branches/firefox32/mail/thunderbird-i18n/Makefile Fri Sep 26 13:32:20 2014 (r1710) @@ -12,7 +12,7 @@ MAINTAINER= gecko@FreeBSD.org COMMENT= Localized interface for Thunderbird -USES= gecko:thunderbird zip +USES= gecko:thunderbird,build zip USE_XPI= thunderbird NO_BUILD= yes @@ -30,9 +30,6 @@ .include "${.CURDIR}/Makefile.option" .include -# make sure that thunderbird always gets upgraded before this port -BUILD_DEPENDS= thunderbird>=0:${PORTSDIR}/mail/thunderbird - .ifndef WITHOUT_SWITCHER RUN_DEPENDS+= xpi-quick-locale-switcher>=0:${PORTSDIR}/www/xpi-quick-locale-switcher .endif Modified: branches/firefox32/www/firefox-esr-i18n/Makefile ============================================================================== --- branches/firefox32/www/firefox-esr-i18n/Makefile Fri Sep 26 13:28:05 2014 (r1709) +++ branches/firefox32/www/firefox-esr-i18n/Makefile Fri Sep 26 13:32:20 2014 (r1710) @@ -15,7 +15,7 @@ EXTRACT_DEPENDS= zip:${PORTSDIR}/archivers/zip -USES= zip:infozip gecko:firefox +USES= zip:infozip gecko:firefox,build USE_XPI= firefox NO_ARCH= yes @@ -32,9 +32,6 @@ .include "${.CURDIR}/Makefile.option" .include -# make sure that firefox always gets upgraded before this port -BUILD_DEPENDS+= firefox-esr>=0:${PORTSDIR}/www/firefox-esr - .ifndef WITHOUT_SWITCHER RUN_DEPENDS+= xpi-quick-locale-switcher>=0:${PORTSDIR}/www/xpi-quick-locale-switcher .endif Modified: branches/firefox32/www/firefox-i18n/Makefile ============================================================================== --- branches/firefox32/www/firefox-i18n/Makefile Fri Sep 26 13:28:05 2014 (r1709) +++ branches/firefox32/www/firefox-i18n/Makefile Fri Sep 26 13:32:20 2014 (r1710) @@ -14,7 +14,7 @@ EXTRACT_DEPENDS= zip:${PORTSDIR}/archivers/zip -USES= zip:infozip gecko:firefox,32 +USES= zip:infozip gecko:firefox,32,build USE_XPI= firefox linux-firefox NO_ARCH= yes @@ -31,9 +31,6 @@ .include "${.CURDIR}/Makefile.option" .include -# make sure that firefox always gets upgraded before this port -BUILD_DEPENDS+= firefox>=0:${PORTSDIR}/www/firefox - .ifndef WITHOUT_SWITCHER RUN_DEPENDS+= xpi-quick-locale-switcher>=0:${PORTSDIR}/www/xpi-quick-locale-switcher .endif Modified: branches/firefox32/www/seamonkey-i18n/Makefile ============================================================================== --- branches/firefox32/www/seamonkey-i18n/Makefile Fri Sep 26 13:28:05 2014 (r1709) +++ branches/firefox32/www/seamonkey-i18n/Makefile Fri Sep 26 13:32:20 2014 (r1710) @@ -14,7 +14,7 @@ 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 Modified: trunk/mail/thunderbird-i18n/Makefile ============================================================================== --- trunk/mail/thunderbird-i18n/Makefile Fri Sep 26 13:28:05 2014 (r1709) +++ trunk/mail/thunderbird-i18n/Makefile Fri Sep 26 13:32:20 2014 (r1710) @@ -12,7 +12,7 @@ MAINTAINER= gecko@FreeBSD.org COMMENT= Localized interface for Thunderbird -USES= gecko:thunderbird zip +USES= gecko:thunderbird,build zip USE_XPI= thunderbird NO_BUILD= yes @@ -29,9 +29,6 @@ .include "${.CURDIR}/Makefile.option" .include -# make sure that thunderbird always gets upgraded before this port -BUILD_DEPENDS= thunderbird>=0:${PORTSDIR}/mail/thunderbird - .ifndef WITHOUT_SWITCHER RUN_DEPENDS+= xpi-quick-locale-switcher>=0:${PORTSDIR}/www/xpi-quick-locale-switcher .endif Modified: trunk/www/firefox-esr-i18n/Makefile ============================================================================== --- trunk/www/firefox-esr-i18n/Makefile Fri Sep 26 13:28:05 2014 (r1709) +++ trunk/www/firefox-esr-i18n/Makefile Fri Sep 26 13:32:20 2014 (r1710) @@ -15,7 +15,7 @@ EXTRACT_DEPENDS= zip:${PORTSDIR}/archivers/zip -USES= zip:infozip gecko:firefox +USES= zip:infozip gecko:firefox,build USE_XPI= firefox NO_ARCH= yes @@ -31,9 +31,6 @@ .include "${.CURDIR}/Makefile.option" .include -# make sure that firefox always gets upgraded before this port -BUILD_DEPENDS+= firefox-esr>=0:${PORTSDIR}/www/firefox-esr - .ifndef WITHOUT_SWITCHER RUN_DEPENDS+= xpi-quick-locale-switcher>=0:${PORTSDIR}/www/xpi-quick-locale-switcher .endif Modified: trunk/www/firefox-i18n/Makefile ============================================================================== --- trunk/www/firefox-i18n/Makefile Fri Sep 26 13:28:05 2014 (r1709) +++ trunk/www/firefox-i18n/Makefile Fri Sep 26 13:32:20 2014 (r1710) @@ -14,7 +14,7 @@ EXTRACT_DEPENDS= zip:${PORTSDIR}/archivers/zip -USES= zip:infozip gecko:firefox,33 +USES= zip:infozip gecko:firefox,33,build USE_XPI= firefox linux-firefox NO_ARCH= yes @@ -30,9 +30,6 @@ .include "${.CURDIR}/Makefile.option" .include -# make sure that firefox always gets upgraded before this port -BUILD_DEPENDS+= firefox>=0:${PORTSDIR}/www/firefox - .ifndef WITHOUT_SWITCHER RUN_DEPENDS+= xpi-quick-locale-switcher>=0:${PORTSDIR}/www/xpi-quick-locale-switcher .endif Modified: trunk/www/seamonkey-i18n/Makefile ============================================================================== --- trunk/www/seamonkey-i18n/Makefile Fri Sep 26 13:28:05 2014 (r1709) +++ trunk/www/seamonkey-i18n/Makefile Fri Sep 26 13:32:20 2014 (r1710) @@ -14,7 +14,7 @@ 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 From owner-freebsd-gecko@FreeBSD.ORG Fri Sep 26 15:44:30 2014 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5FF2A9C6 for ; Fri, 26 Sep 2014 15:44:30 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.244.247]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E021BD06 for ; Fri, 26 Sep 2014 15:44:29 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian [217.150.244.247]) by trillian.chruetertee.ch (8.14.4/8.14.3) with ESMTP id s8QFiO2J024879 for ; Fri, 26 Sep 2014 15:44:24 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.4/8.14.3/Submit) id s8QFiJvd024774 for freebsd-gecko@freebsd.org; Fri, 26 Sep 2014 15:44:19 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Fri, 26 Sep 2014 15:44:19 GMT Message-Id: <201409261544.s8QFiJvd024774@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org Subject: [SVN-Commit] r1711 - trunk/www/linux-c6-freshplayerplugin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reply-To: freebsd-gecko@freebsd.org X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Sep 2014 15:44:30 -0000 Author: jbeich Date: Fri Sep 26 15:44:19 2014 New Revision: 1711 Log: make nvidia dependency optional Modified: trunk/www/linux-c6-freshplayerplugin/Makefile Modified: trunk/www/linux-c6-freshplayerplugin/Makefile ============================================================================== --- trunk/www/linux-c6-freshplayerplugin/Makefile Fri Sep 26 13:32:20 2014 (r1710) +++ trunk/www/linux-c6-freshplayerplugin/Makefile Fri Sep 26 15:44:19 2014 (r1711) @@ -11,7 +11,6 @@ LICENSE= MIT # excluding EXTRA_LIBS BUILD_DEPENDS= rinse:${PORTSDIR}/sysutils/rinse -RUN_DEPENDS= ${LINUXBASE}/usr/lib/libEGL.so.1:${PORTSDIR}/x11/nvidia-driver USE_GITHUB= yes GH_ACCOUNT= i-rinat @@ -38,6 +37,21 @@ WRKDIR= ${WRKDIRPREFIX}/${UNIQUENAME} .endif +OPTIONS_DEFINE= NVIDIA_GL + +NVIDIA_GL_RUN_DEPENDS= ${LINUXBASE}/usr/lib/libEGL.so.1:${PORTSDIR}/x11/nvidia-driver +NVIDIA_GL_DESC?= Use GL driver from nvidia-driver + +.include + +.if ! ${PORT_OPTIONS:MNVIDIA_GL} +USE_LINUX_APPS+=dri +EXTRA_LIBS+= /usr/lib/libEGL.so.1 \ + /usr/lib/libGLESv2.so.2 \ + /usr/lib/libgbm.so.1 \ + /lib/libudev.so.0 +.endif + post-patch: ${REINPLACE_CMD} -e 's,/usr/lib,${LOCALBASE}/lib,' \ ${WRKSRC}/src/config_nacl.c \ @@ -84,6 +98,7 @@ cmake28 \ make \ gcc-c++ \ + libudev \ alsa-lib-devel \ gtk2-devel \ libconfig-devel @@ -100,10 +115,11 @@ /usr/bin/make ${_MAKE_JOBS} -C /root do-install: - @${MKDIR} ${STAGEDIR}${WEBPLUGIN_DIR} ${STAGEDIR}${LINUXBASE}/usr/lib + @${MKDIR} ${STAGEDIR}${WEBPLUGIN_DIR} ${INSTALL_LIB} ${WRKSRC}/libfreshwrapper-pepperflash.so \ ${STAGEDIR}${WEBPLUGIN_DIR} .for f in ${EXTRA_LIBS} + @${MKDIR} ${STAGEDIR}${LINUXBASE}${f:H} ${INSTALL_LIB} ${BUILD_WRKSRC}${f} \ ${STAGEDIR}${LINUXBASE}${f:H} .endfor From owner-freebsd-gecko@FreeBSD.ORG Fri Sep 26 16:18:22 2014 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 036D92D4 for ; Fri, 26 Sep 2014 16:18:22 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.244.247]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 896EAF8 for ; Fri, 26 Sep 2014 16:18:21 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian [217.150.244.247]) by trillian.chruetertee.ch (8.14.4/8.14.3) with ESMTP id s8QGIJRl028152 for ; Fri, 26 Sep 2014 16:18:19 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.4/8.14.3/Submit) id s8QGIEap027673 for freebsd-gecko@freebsd.org; Fri, 26 Sep 2014 16:18:14 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Fri, 26 Sep 2014 16:18:14 GMT Message-Id: <201409261618.s8QGIEap027673@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org Subject: [SVN-Commit] r1712 - trunk/Mk/Uses MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reply-To: freebsd-gecko@freebsd.org X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Sep 2014 16:18:22 -0000 Author: jbeich Date: Fri Sep 26 16:18:14 2014 New Revision: 1712 Log: sync with ports@369030 Modified: trunk/Mk/Uses/webplugin.mk Modified: trunk/Mk/Uses/webplugin.mk ============================================================================== --- trunk/Mk/Uses/webplugin.mk Fri Sep 26 15:44:19 2014 (r1711) +++ trunk/Mk/Uses/webplugin.mk Fri Sep 26 16:18:14 2014 (r1712) @@ -1,4 +1,4 @@ -# $FreeBSD: head/Mk/Uses/webplugin.mk 348308 2014-03-15 10:31:54Z gerald $ +# $FreeBSD: head/Mk/Uses/webplugin.mk 369053 2014-09-23 12:46:38Z bapt $ # # Documentation and examples: # @@ -163,15 +163,17 @@ WEBPLUGIN_DIR?= ${_WEBPLUGIN_LIBDIR:S,^${LOCALBASE}/,${PREFIX}/,}/${WEBPLUGIN_NAME} PLIST_SUB+= WEBPLUGIN_DIR="${WEBPLUGIN_DIR:S,^${PREFIX}/,,}" +.for d in ${_WEBPLUGIN_LINKFARMS} +.for l in ${WEBPLUGIN_FILES} +PLIST_FILES+= ${d}/${l} +.endfor +.endfor webplugin-post-install: - @${ECHO_CMD} "@cwd ${LOCALBASE}" >> ${TMPPLIST} .for d in ${_WEBPLUGIN_LINKFARMS} - ${INSTALL} -d ${STAGEDIR}${d} + ${MKDIR} ${STAGEDIR}${d} .for l in ${WEBPLUGIN_FILES} ${LN} -sf ${l:S,^,${WEBPLUGIN_DIR}/,} ${STAGEDIR}${d}/ - @${ECHO_CMD} "${d:S,^${LOCALBASE}/,,}/${l:T}" >> ${TMPPLIST} .endfor .endfor - .endif From owner-freebsd-gecko@FreeBSD.ORG Fri Sep 26 21:18:09 2014 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CFF9FDA7 for ; Fri, 26 Sep 2014 21:18:09 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.244.247]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4B9D79CA for ; Fri, 26 Sep 2014 21:18:08 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian [217.150.244.247]) by trillian.chruetertee.ch (8.14.4/8.14.3) with ESMTP id s8QLI5cu047739 for ; Fri, 26 Sep 2014 21:18:05 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.4/8.14.3/Submit) id s8QLHx1d047339 for freebsd-gecko@freebsd.org; Fri, 26 Sep 2014 21:17:59 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Fri, 26 Sep 2014 21:17:59 GMT Message-Id: <201409262117.s8QLHx1d047339@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org Subject: [SVN-Commit] r1713 - trunk/Mk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reply-To: freebsd-gecko@freebsd.org X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Sep 2014 21:18:09 -0000 Author: jbeich Date: Fri Sep 26 21:17:59 2014 New Revision: 1713 Log: (doesn't build yet) when on 10+ system use gcc + libc++ for PGO Modified: trunk/Mk/bsd.gecko.mk Modified: trunk/Mk/bsd.gecko.mk ============================================================================== --- trunk/Mk/bsd.gecko.mk Fri Sep 26 16:18:14 2014 (r1712) +++ trunk/Mk/bsd.gecko.mk Fri Sep 26 21:17:59 2014 (r1713) @@ -85,7 +85,7 @@ MOZILLA_BIN?= ${PORTNAME}-bin MOZILLA_EXEC_NAME?=${MOZILLA} MOZ_RPATH?= ${MOZILLA} -USES+= cpe compiler:c++11-lib gmake iconv perl5 pkgconfig \ +USES+= cpe gmake iconv perl5 pkgconfig \ python:2,build desktop-file-utils CPE_VENDOR?=mozilla USE_PERL5= build @@ -327,13 +327,15 @@ .endif .if ${PORT_OPTIONS:MPGO} -USE_GCC?= yes +USES+= compiler:gcc-c++11-lib USE_DISPLAY=yes .undef GNU_CONFIGURE MAKEFILE= ${WRKSRC}/client.mk ALL_TARGET= profiledbuild MOZ_EXPORT+=MOZ_OPTIMIZE_FLAGS="-Os" MOZ_PGO_OPTIMIZE_FLAGS="${CFLAGS:M-O*}" +.else +USES+= compiler:c++11-lib .endif .if ${PORT_OPTIONS:MALSA} From owner-freebsd-gecko@FreeBSD.ORG Fri Sep 26 21:32:05 2014 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CE8DF231 for ; Fri, 26 Sep 2014 21:32:05 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.244.247]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 482B6BAA for ; Fri, 26 Sep 2014 21:32:04 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian [217.150.244.247]) by trillian.chruetertee.ch (8.14.4/8.14.3) with ESMTP id s8QLW2Fg076434 for ; Fri, 26 Sep 2014 21:32:02 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.4/8.14.3/Submit) id s8QLVvw2076009 for freebsd-gecko@freebsd.org; Fri, 26 Sep 2014 21:31:57 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Fri, 26 Sep 2014 21:31:57 GMT Message-Id: <201409262131.s8QLVvw2076009@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org Subject: [SVN-Commit] r1714 - trunk/Mk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reply-To: freebsd-gecko@freebsd.org X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Sep 2014 21:32:06 -0000 Author: jbeich Date: Fri Sep 26 21:31:57 2014 New Revision: 1714 Log: re-do previous commit for every USE_GCC Modified: trunk/Mk/bsd.gecko.mk Modified: trunk/Mk/bsd.gecko.mk ============================================================================== --- trunk/Mk/bsd.gecko.mk Fri Sep 26 21:17:59 2014 (r1713) +++ trunk/Mk/bsd.gecko.mk Fri Sep 26 21:31:57 2014 (r1714) @@ -85,7 +85,7 @@ MOZILLA_BIN?= ${PORTNAME}-bin MOZILLA_EXEC_NAME?=${MOZILLA} MOZ_RPATH?= ${MOZILLA} -USES+= cpe gmake iconv perl5 pkgconfig \ +USES+= cpe compiler:c++11-lib gmake iconv perl5 pkgconfig \ python:2,build desktop-file-utils CPE_VENDOR?=mozilla USE_PERL5= build @@ -327,15 +327,13 @@ .endif .if ${PORT_OPTIONS:MPGO} -USES+= compiler:gcc-c++11-lib +USES:= compiler:gcc-c++11-lib ${USES:Ncompiler*c++11*} USE_DISPLAY=yes .undef GNU_CONFIGURE MAKEFILE= ${WRKSRC}/client.mk ALL_TARGET= profiledbuild MOZ_EXPORT+=MOZ_OPTIMIZE_FLAGS="-Os" MOZ_PGO_OPTIMIZE_FLAGS="${CFLAGS:M-O*}" -.else -USES+= compiler:c++11-lib .endif .if ${PORT_OPTIONS:MALSA} @@ -441,7 +439,7 @@ . endif . endif .elif ${ARCH:Mpowerpc*} -USE_GCC?= yes +USES:= compiler:gcc-c++11-lib ${USES:Ncompiler*c++11*} CFLAGS+= -D__STDC_CONSTANT_MACROS . if ${ARCH} == "powerpc64" MOZ_EXPORT+= UNAME_m="${ARCH}" From owner-freebsd-gecko@FreeBSD.ORG Fri Sep 26 23:06:40 2014 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0E420882 for ; Fri, 26 Sep 2014 23:06:40 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.244.247]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A403376E for ; Fri, 26 Sep 2014 23:06:39 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian [217.150.244.247]) by trillian.chruetertee.ch (8.14.4/8.14.3) with ESMTP id s8QN6UuP064782 for ; Fri, 26 Sep 2014 23:06:30 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.4/8.14.3/Submit) id s8QN6PXu063075 for freebsd-gecko@freebsd.org; Fri, 26 Sep 2014 23:06:25 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Fri, 26 Sep 2014 23:06:25 GMT Message-Id: <201409262306.s8QN6PXu063075@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org Subject: [SVN-Commit] r1715 - in trunk: mail/thunderbird/files www/firefox-esr/files www/firefox-nightly/files www/firefox/files www/libxul/files www/seamonkey/files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reply-To: freebsd-gecko@freebsd.org X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Sep 2014 23:06:40 -0000 Author: jbeich Date: Fri Sep 26 23:06:25 2014 New Revision: 1715 Log: unbreak gcc build after r1713 Added: trunk/mail/thunderbird/files/patch-bug1073709 trunk/www/firefox-esr/files/patch-bug1073709 trunk/www/firefox-nightly/files/patch-bug1073709 trunk/www/firefox/files/patch-bug1073709 trunk/www/libxul/files/patch-bug1073709 trunk/www/seamonkey/files/patch-bug1073709 Added: trunk/mail/thunderbird/files/patch-bug1073709 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/mail/thunderbird/files/patch-bug1073709 Fri Sep 26 23:06:25 2014 (r1715) @@ -0,0 +1,18 @@ +diff --git mfbt/Atomics.h mfbt/Atomics.h +index 495a9d3..c7f7601 100644 +--- mozilla/mfbt/Atomics.h ++++ mozilla/mfbt/Atomics.h +@@ -34,10 +34,12 @@ + * loose typing of the atomic builtins. GCC 4.5 and 4.6 lacks inline + * definitions for unspecialized std::atomic and causes linking errors. + * Therefore, we require at least 4.7.0 for using libstdc++. ++ * ++ * libc++ is only functional with clang. + */ + # if MOZ_USING_LIBSTDCXX && MOZ_LIBSTDCXX_VERSION_AT_LEAST(4, 7, 0) + # define MOZ_HAVE_CXX11_ATOMICS +-# elif MOZ_USING_LIBCXX ++# elif MOZ_USING_LIBCXX && defined(__clang__) + # define MOZ_HAVE_CXX11_ATOMICS + # endif + /* Added: trunk/www/firefox-esr/files/patch-bug1073709 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/firefox-esr/files/patch-bug1073709 Fri Sep 26 23:06:25 2014 (r1715) @@ -0,0 +1,18 @@ +diff --git mfbt/Atomics.h mfbt/Atomics.h +index 495a9d3..c7f7601 100644 +--- mfbt/Atomics.h ++++ mfbt/Atomics.h +@@ -34,10 +34,12 @@ + * loose typing of the atomic builtins. GCC 4.5 and 4.6 lacks inline + * definitions for unspecialized std::atomic and causes linking errors. + * Therefore, we require at least 4.7.0 for using libstdc++. ++ * ++ * libc++ is only functional with clang. + */ + # if MOZ_USING_LIBSTDCXX && MOZ_LIBSTDCXX_VERSION_AT_LEAST(4, 7, 0) + # define MOZ_HAVE_CXX11_ATOMICS +-# elif MOZ_USING_LIBCXX ++# elif MOZ_USING_LIBCXX && defined(__clang__) + # define MOZ_HAVE_CXX11_ATOMICS + # endif + /* Added: trunk/www/firefox-nightly/files/patch-bug1073709 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/firefox-nightly/files/patch-bug1073709 Fri Sep 26 23:06:25 2014 (r1715) @@ -0,0 +1,18 @@ +diff --git mfbt/Atomics.h mfbt/Atomics.h +index 495a9d3..c7f7601 100644 +--- mfbt/Atomics.h ++++ mfbt/Atomics.h +@@ -34,10 +34,12 @@ + * loose typing of the atomic builtins. GCC 4.5 and 4.6 lacks inline + * definitions for unspecialized std::atomic and causes linking errors. + * Therefore, we require at least 4.7.0 for using libstdc++. ++ * ++ * libc++ is only functional with clang. + */ + # if MOZ_USING_LIBSTDCXX && MOZ_LIBSTDCXX_VERSION_AT_LEAST(4, 7, 0) + # define MOZ_HAVE_CXX11_ATOMICS +-# elif MOZ_USING_LIBCXX ++# elif MOZ_USING_LIBCXX && defined(__clang__) + # define MOZ_HAVE_CXX11_ATOMICS + # endif + /* Added: trunk/www/firefox/files/patch-bug1073709 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/firefox/files/patch-bug1073709 Fri Sep 26 23:06:25 2014 (r1715) @@ -0,0 +1,18 @@ +diff --git mfbt/Atomics.h mfbt/Atomics.h +index 495a9d3..c7f7601 100644 +--- mfbt/Atomics.h ++++ mfbt/Atomics.h +@@ -34,10 +34,12 @@ + * loose typing of the atomic builtins. GCC 4.5 and 4.6 lacks inline + * definitions for unspecialized std::atomic and causes linking errors. + * Therefore, we require at least 4.7.0 for using libstdc++. ++ * ++ * libc++ is only functional with clang. + */ + # if MOZ_USING_LIBSTDCXX && MOZ_LIBSTDCXX_VERSION_AT_LEAST(4, 7, 0) + # define MOZ_HAVE_CXX11_ATOMICS +-# elif MOZ_USING_LIBCXX ++# elif MOZ_USING_LIBCXX && defined(__clang__) + # define MOZ_HAVE_CXX11_ATOMICS + # endif + /* Added: trunk/www/libxul/files/patch-bug1073709 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/libxul/files/patch-bug1073709 Fri Sep 26 23:06:25 2014 (r1715) @@ -0,0 +1,18 @@ +diff --git mfbt/Atomics.h mfbt/Atomics.h +index 495a9d3..c7f7601 100644 +--- mfbt/Atomics.h ++++ mfbt/Atomics.h +@@ -34,10 +34,12 @@ + * loose typing of the atomic builtins. GCC 4.5 and 4.6 lacks inline + * definitions for unspecialized std::atomic and causes linking errors. + * Therefore, we require at least 4.7.0 for using libstdc++. ++ * ++ * libc++ is only functional with clang. + */ + # if MOZ_USING_LIBSTDCXX && MOZ_LIBSTDCXX_VERSION_AT_LEAST(4, 7, 0) + # define MOZ_HAVE_CXX11_ATOMICS +-# elif MOZ_USING_LIBCXX ++# elif MOZ_USING_LIBCXX && defined(__clang__) + # define MOZ_HAVE_CXX11_ATOMICS + # endif + /* Added: trunk/www/seamonkey/files/patch-bug1073709 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/seamonkey/files/patch-bug1073709 Fri Sep 26 23:06:25 2014 (r1715) @@ -0,0 +1,18 @@ +diff --git mfbt/Atomics.h mfbt/Atomics.h +index 495a9d3..c7f7601 100644 +--- mozilla/mfbt/Atomics.h ++++ mozilla/mfbt/Atomics.h +@@ -34,10 +34,12 @@ + * loose typing of the atomic builtins. GCC 4.5 and 4.6 lacks inline + * definitions for unspecialized std::atomic and causes linking errors. + * Therefore, we require at least 4.7.0 for using libstdc++. ++ * ++ * libc++ is only functional with clang. + */ + # if MOZ_USING_LIBSTDCXX && MOZ_LIBSTDCXX_VERSION_AT_LEAST(4, 7, 0) + # define MOZ_HAVE_CXX11_ATOMICS +-# elif MOZ_USING_LIBCXX ++# elif MOZ_USING_LIBCXX && defined(__clang__) + # define MOZ_HAVE_CXX11_ATOMICS + # endif + /* From owner-freebsd-gecko@FreeBSD.ORG Sat Sep 27 14:34:24 2014 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A5930394 for ; Sat, 27 Sep 2014 14:34:24 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.244.247]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4801561C for ; Sat, 27 Sep 2014 14:34:23 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian [217.150.244.247]) by trillian.chruetertee.ch (8.14.4/8.14.3) with ESMTP id s8REYJJS091343 for ; Sat, 27 Sep 2014 14:34:19 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.4/8.14.3/Submit) id s8REYEL5090707 for freebsd-gecko@freebsd.org; Sat, 27 Sep 2014 14:34:14 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Sat, 27 Sep 2014 14:34:14 GMT Message-Id: <201409271434.s8REYEL5090707@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org Subject: [SVN-Commit] r1716 - trunk/www/linux-tor-browser MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reply-To: freebsd-gecko@freebsd.org X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Sep 2014 14:34:24 -0000 Author: jbeich Date: Sat Sep 27 14:34:14 2014 New Revision: 1716 Log: update TBB Modified: trunk/www/linux-tor-browser/Makefile trunk/www/linux-tor-browser/distinfo trunk/www/linux-tor-browser/pkg-plist Modified: trunk/www/linux-tor-browser/Makefile ============================================================================== --- trunk/www/linux-tor-browser/Makefile Fri Sep 26 23:06:25 2014 (r1715) +++ trunk/www/linux-tor-browser/Makefile Sat Sep 27 14:34:14 2014 (r1716) @@ -2,7 +2,7 @@ PORTNAME= tor-browser DISTVERSIONPREFIX=linux32- -DISTVERSION= 4.0-alpha-2 +DISTVERSION= 4.0-alpha-3 DISTVERSIONSUFFIX=_${LOCALE} CATEGORIES= www security linux MASTER_SITES= https://people.torproject.org/~mikeperry/builds/${DISTVERSION}/ \ Modified: trunk/www/linux-tor-browser/distinfo ============================================================================== --- trunk/www/linux-tor-browser/distinfo Fri Sep 26 23:06:25 2014 (r1715) +++ trunk/www/linux-tor-browser/distinfo Sat Sep 27 14:34:14 2014 (r1716) @@ -1,30 +1,30 @@ -SHA256 (tor-browser-linux32-4.0-alpha-2_ar.tar.xz) = 3a33a3ad31b6d84e3c3aafe3036a6142999cde2d34241284ca39a73231423d34 -SIZE (tor-browser-linux32-4.0-alpha-2_ar.tar.xz) = 30724872 -SHA256 (tor-browser-linux32-4.0-alpha-2_de.tar.xz) = 5a4782b36ebbbeb5ee389a02492cee061660621a4a65159e8cd0bebdad5159c3 -SIZE (tor-browser-linux32-4.0-alpha-2_de.tar.xz) = 30694628 -SHA256 (tor-browser-linux32-4.0-alpha-2_en-US.tar.xz) = 79c718c1b0faeff2f0746f38a437de520b2fbae46bf1c799bf59bfa6f28a787e -SIZE (tor-browser-linux32-4.0-alpha-2_en-US.tar.xz) = 30417128 -SHA256 (tor-browser-linux32-4.0-alpha-2_es-ES.tar.xz) = 993fea315635b84b7d42d285426528a4694f80f2e2b72adb9f4014b18a9eb539 -SIZE (tor-browser-linux32-4.0-alpha-2_es-ES.tar.xz) = 30639444 -SHA256 (tor-browser-linux32-4.0-alpha-2_fa.tar.xz) = f2c633f7e0c3bb1dbf532aabbd12057a7a4f308827eb1887b8b6670c6e7e165a -SIZE (tor-browser-linux32-4.0-alpha-2_fa.tar.xz) = 30738084 -SHA256 (tor-browser-linux32-4.0-alpha-2_fr.tar.xz) = f147305b1997bcc5a13c724ff94f3a53a887d53541055801d699034798f12169 -SIZE (tor-browser-linux32-4.0-alpha-2_fr.tar.xz) = 30705076 -SHA256 (tor-browser-linux32-4.0-alpha-2_it.tar.xz) = e2df844002e0c0d34c3c6005149bbe8aa12f3a4aac0aab3852a1a07dc09138f4 -SIZE (tor-browser-linux32-4.0-alpha-2_it.tar.xz) = 30637384 -SHA256 (tor-browser-linux32-4.0-alpha-2_ko.tar.xz) = 909b4a44624a3080a38cd34b4c1a271078611259ecb97ade91725665d4e6f818 -SIZE (tor-browser-linux32-4.0-alpha-2_ko.tar.xz) = 30715120 -SHA256 (tor-browser-linux32-4.0-alpha-2_nl.tar.xz) = 4a28ea7d086196fb80f20e0cd430455c5b750a95f327f5f537b2bdbe087ef675 -SIZE (tor-browser-linux32-4.0-alpha-2_nl.tar.xz) = 30692808 -SHA256 (tor-browser-linux32-4.0-alpha-2_pl.tar.xz) = fb85361495d17c4cc81c63386796116e57820f128c427acdefb7b3f7d6e1d577 -SIZE (tor-browser-linux32-4.0-alpha-2_pl.tar.xz) = 30710760 -SHA256 (tor-browser-linux32-4.0-alpha-2_pt-PT.tar.xz) = 6f3e5ec7c2ad6e6f26f48f7ba6b5946e2e3add6f7492000671b33941c8679d35 -SIZE (tor-browser-linux32-4.0-alpha-2_pt-PT.tar.xz) = 30699800 -SHA256 (tor-browser-linux32-4.0-alpha-2_ru.tar.xz) = 8e4158c1d5e6916a8d7514fc94cb995ffcbaab0b3e516dba93d909a9110fb4ec -SIZE (tor-browser-linux32-4.0-alpha-2_ru.tar.xz) = 30687572 -SHA256 (tor-browser-linux32-4.0-alpha-2_tr.tar.xz) = 55b91b84f0afc37c695dc89ff057eed7cd415e0c3f28a5a7ed9dd7d2e2d7be0d -SIZE (tor-browser-linux32-4.0-alpha-2_tr.tar.xz) = 30702244 -SHA256 (tor-browser-linux32-4.0-alpha-2_vi.tar.xz) = 1e8df88b043b8e3ae610cb560e0d05676be6b5fd27b112317a952e8aa3bf1198 -SIZE (tor-browser-linux32-4.0-alpha-2_vi.tar.xz) = 30725824 -SHA256 (tor-browser-linux32-4.0-alpha-2_zh-CN.tar.xz) = 323fe636ea4dc0b6b039ec50a812fdeebb2291bcf9dc481dd2cce5ba767b8889 -SIZE (tor-browser-linux32-4.0-alpha-2_zh-CN.tar.xz) = 30724252 +SHA256 (tor-browser-linux32-4.0-alpha-3_ar.tar.xz) = fe920b32b105a9c356af44f2f64652cdda9144b26b9c9d49e48b9a73d03a9b05 +SIZE (tor-browser-linux32-4.0-alpha-3_ar.tar.xz) = 30734916 +SHA256 (tor-browser-linux32-4.0-alpha-3_de.tar.xz) = 594212333fccbf5a069f9656f09f683cba7ade0807042b0d3acd5f53b417705d +SIZE (tor-browser-linux32-4.0-alpha-3_de.tar.xz) = 30698320 +SHA256 (tor-browser-linux32-4.0-alpha-3_en-US.tar.xz) = 06100939b3260b4beafc20090e291e007229fc1a0858e8316844087d37bfc10f +SIZE (tor-browser-linux32-4.0-alpha-3_en-US.tar.xz) = 30430008 +SHA256 (tor-browser-linux32-4.0-alpha-3_es-ES.tar.xz) = 65d4649d17a509232984a0f422bec52b70788d347212b6df34333575cd565951 +SIZE (tor-browser-linux32-4.0-alpha-3_es-ES.tar.xz) = 30655916 +SHA256 (tor-browser-linux32-4.0-alpha-3_fa.tar.xz) = a8d38e3e7277d4964b0df85698b2465cd051298b25d2efe792eddd630676ed3a +SIZE (tor-browser-linux32-4.0-alpha-3_fa.tar.xz) = 30749204 +SHA256 (tor-browser-linux32-4.0-alpha-3_fr.tar.xz) = e627d5234da400f6d25042ace6fa596e9ff651ce1568f7c4a208cfe78914f265 +SIZE (tor-browser-linux32-4.0-alpha-3_fr.tar.xz) = 30713884 +SHA256 (tor-browser-linux32-4.0-alpha-3_it.tar.xz) = c06af5211c7ec2f0d5faa27f09759617a60d16d4ad21b212bedc7ac7f6bd8891 +SIZE (tor-browser-linux32-4.0-alpha-3_it.tar.xz) = 30645252 +SHA256 (tor-browser-linux32-4.0-alpha-3_ko.tar.xz) = dbb8238785bc3fd69657b74148dbede7a6f478c5490d6d9de7220d3b83fe1c6d +SIZE (tor-browser-linux32-4.0-alpha-3_ko.tar.xz) = 30727052 +SHA256 (tor-browser-linux32-4.0-alpha-3_nl.tar.xz) = 76f703e78874bbbb40e6f57989aa6b52c9681bee3c414f425f9c3957aa006811 +SIZE (tor-browser-linux32-4.0-alpha-3_nl.tar.xz) = 30707612 +SHA256 (tor-browser-linux32-4.0-alpha-3_pl.tar.xz) = 7b88b20d413666109fe24b66de9702387ca2584725501880ce86af1a256829c6 +SIZE (tor-browser-linux32-4.0-alpha-3_pl.tar.xz) = 30720440 +SHA256 (tor-browser-linux32-4.0-alpha-3_pt-PT.tar.xz) = c06c0149976ab98d11c8a551749fbd2c18db0790cf0918c75a628d4987c0f6eb +SIZE (tor-browser-linux32-4.0-alpha-3_pt-PT.tar.xz) = 30707800 +SHA256 (tor-browser-linux32-4.0-alpha-3_ru.tar.xz) = 37d1d4cb066fada40d594589df4047ea2b2f36041a89ed919d74ef5fa7cc81a3 +SIZE (tor-browser-linux32-4.0-alpha-3_ru.tar.xz) = 30696744 +SHA256 (tor-browser-linux32-4.0-alpha-3_tr.tar.xz) = 7ba4cdff727cae576a18e6268b68155f77cc85e975d65dce9fac4071b1355970 +SIZE (tor-browser-linux32-4.0-alpha-3_tr.tar.xz) = 30717060 +SHA256 (tor-browser-linux32-4.0-alpha-3_vi.tar.xz) = 1ac091e600853a02f2012fc939cb0c635cc674b5321d89e8af981c324775dfe7 +SIZE (tor-browser-linux32-4.0-alpha-3_vi.tar.xz) = 30733552 +SHA256 (tor-browser-linux32-4.0-alpha-3_zh-CN.tar.xz) = d16fc17581bf4741f76268b57e7bd3cd249ee97328b8b508366cef85fbc1ee01 +SIZE (tor-browser-linux32-4.0-alpha-3_zh-CN.tar.xz) = 30737652 Modified: trunk/www/linux-tor-browser/pkg-plist ============================================================================== --- trunk/www/linux-tor-browser/pkg-plist Fri Sep 26 23:06:25 2014 (r1715) +++ trunk/www/linux-tor-browser/pkg-plist Sat Sep 27 14:34:14 2014 (r1716) @@ -21,6 +21,7 @@ lib/linux-tor-browser/Browser/TorBrowser/Docs/Licenses/NoScript.txt lib/linux-tor-browser/Browser/TorBrowser/Docs/Licenses/PluggableTransports/LICENSE lib/linux-tor-browser/Browser/TorBrowser/Docs/Licenses/PluggableTransports/LICENSE.CC0 +lib/linux-tor-browser/Browser/TorBrowser/Docs/Licenses/PluggableTransports/LICENSE.GO lib/linux-tor-browser/Browser/TorBrowser/Docs/Licenses/PluggableTransports/LICENSE.PYTHON lib/linux-tor-browser/Browser/TorBrowser/Docs/Licenses/Tor-Launcher.txt lib/linux-tor-browser/Browser/TorBrowser/Docs/Licenses/Tor.txt