pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/45629: www/seamonkey does not enable webm assembly optimizations on non-Linux platforms



>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
>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@localhost:/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




Home | Main Index | Thread Index | Old Index