NetBSD Problem Report #45629

From www@NetBSD.org  Fri Nov 18 08:30:29 2011
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by www.NetBSD.org (Postfix) with ESMTP id 6F5DD63D7DE
	for <gnats-bugs@gnats.NetBSD.org>; Fri, 18 Nov 2011 08:30:29 +0000 (UTC)
Message-Id: <20111118083028.8766F63CD4E@www.NetBSD.org>
Date: Fri, 18 Nov 2011 08:30:28 +0000 (UTC)
From: ftigeot@wolfpond.org
Reply-To: ftigeot@wolfpond.org
To: gnats-bugs@NetBSD.org
Subject: www/seamonkey does not enable webm assembly optimizations on non-Linux platforms
X-Send-Pr-Version: www-1.0

>Number:         45629
>Category:       pkg
>Synopsis:       www/seamonkey does not enable webm assembly optimizations on non-Linux platforms
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Nov 18 08:35:00 +0000 2011
>Last-Modified:  Fri Feb 01 22:53:38 +0000 2013
>Originator:     Francois Tigeot
>Release:        DragonFly 2.13
>Organization:
>Environment:
DragonFly sekishi.zefyris.com 2.13-DEVELOPMENT DragonFly v2.13.0.303.g81cd8-DEVELOPMENT #31: Thu Nov 17 19:58:18 CET 2011     ftigeot@sekishi.zefyris.com:/usr/obj/usr/src/sys/X86_64_GENERIC  x86_64
>Description:
www/seamonkey uses a bundled version of libvpx and a custom configuration script.
The code only enables assembly optimizations in libvpx if the operating system is named Linux.
>How-To-Repeat:
Run www/seamonkey and try to play webm videos. Playing will stutter with high quality ones and/or large display sizes.
>Fix:
Apply these changes:

in mozilla/configure.in:
     case "$OS_ARCH:$CPU_ARCH" in
-    Linux:x86)
+    Linux:x86|DragonFly:x86)
       VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
       VPX_X86_ASM=1
     ;;
-    Linux:x86_64)
+    Linux:x86_64|DragonFly:x86_64)
       VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
       VPX_X86_ASM=1


in mozilla/media/libvpx/vpx_config.h:
-#elif defined(__linux__) && defined(__i386__)
+#elif (defined(__linux__) || defined(__DragonFly__)) && defined(__i386__)
 /* 32 bit Linux. */

 #include "vpx_config_x86-linux-gcc.h"
-#elif defined(__linux__) && defined(__x86_64__)
+#elif (defined(__linux__) || defined(__DragonFly__)) && defined(__x86_64__)
 /* 64 bit Linux. */
 #include "vpx_config_x86_64-linux-gcc.h"



in mozilla/media/libvpx/vpx_config_c.c:
-#elif defined(__linux__) && defined(__i386__)
+#elif (defined(__linux__) || defined(__DragonFly__)) && defined(__i386__)
 /* 32 bit Linux. */
 #include "vpx_config_x86-linux-gcc.c"

-#elif defined(__linux__) && defined(__x86_64__)
+#elif (defined(__linux__) || defined(__DragonFly__)) && defined(__x86_64__)
 /* 64 bit Linux. */
 #include "vpx_config_x86_64-linux-gcc.c"


I only included DragonFly in the code above because but assembly optimization should also be enabled for NetBSD and other platforms; I just have no way to test them.

devel/yasm should also be added as a build dependency on i386 and amd64 platforms


>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: pkg-manager->tnn
Responsible-Changed-By: wiz@NetBSD.org
Responsible-Changed-When: Mon, 21 Nov 2011 13:02:26 +0000
Responsible-Changed-Why:
Over to maintainer.


Responsible-Changed-From-To: tnn->marino
Responsible-Changed-By: marino@NetBSD.org
Responsible-Changed-When: Sat, 07 Jan 2012 19:43:52 +0000
Responsible-Changed-Why:
In the interest of fixing this before Q4 freeze, I'll take it.


From: "John Marino" <marino@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/45629 CVS commit: pkgsrc/www/seamonkey
Date: Sat, 7 Jan 2012 20:44:33 +0000

 Module Name:	pkgsrc
 Committed By:	marino
 Date:		Sat Jan  7 20:44:33 UTC 2012

 Modified Files:
 	pkgsrc/www/seamonkey: Makefile distinfo
 Added Files:
 	pkgsrc/www/seamonkey/patches: patch-mozilla_media_libvpx_vpx_config.h
 	    patch-mozilla_media_libvpx_vpx_config_c.c

 Log Message:
 www/seamonkey: PR#45629 (webm assy optimization for DragonFly)

 These patches enable optimizations that allow video play w/o stuttering.
 Other i386 and x86_64 platforms need the same optimizations, so this is
 only a partial fix of the PR.


 To generate a diff of this commit:
 cvs rdiff -u -r1.58 -r1.59 pkgsrc/www/seamonkey/Makefile
 cvs rdiff -u -r1.71 -r1.72 pkgsrc/www/seamonkey/distinfo
 cvs rdiff -u -r0 -r1.1 \
     pkgsrc/www/seamonkey/patches/patch-mozilla_media_libvpx_vpx_config.h \
     pkgsrc/www/seamonkey/patches/patch-mozilla_media_libvpx_vpx_config_c.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

Responsible-Changed-From-To: marino->tnn
Responsible-Changed-By: marino@NetBSD.org
Responsible-Changed-When: Sat, 07 Jan 2012 20:50:36 +0000
Responsible-Changed-Why:
The patches provided by Francois were committed.  However, this does not
resolve the PR as it notes that multiple other platforms need the same
treatment (ideally for all i386 and x86_64 machines).
Turning this back over to the maintainer.


Responsible-Changed-From-To: tnn->pkg-manager
Responsible-Changed-By: wiz@NetBSD.org
Responsible-Changed-When: Fri, 01 Feb 2013 22:53:38 +0000
Responsible-Changed-Why:
Back to role account.


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.