pkgsrc-Bugs archive

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

pkg/49705: Update www/nspluginwrapper to 1.4.4



>Number:         49705
>Category:       pkg
>Synopsis:       Update www/nspluginwrapper to 1.4.4
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Sat Feb 28 21:10:00 +0000 2015
>Originator:     Izumi Tsutsui
>Release:        NetBSD 6.1.5
>Organization:
>Environment:
System: NetBSD 6.1.5 (GENERIC)
Architecture: i386 and x86_64
Machine: i386 and amd64
>Description:
Current status:

* Current www/nspluginwrapper is 1.2.2 for Linux 2.2.5 days
  and it often shows warnings like "WARNING: unhandled variable 18" etc.

* There is PR pkg/47208 for nspluginwrapper 1.4.4 update,
  but it requires a bit scary "libnoanonsocket.c" hack
  which overrides libc's bind(3) function by LD_PRELOAD.
** It does actually work on NetBSD/i386 6.1.5, but it still lacks
   64 bit amd64 support.

Background:

* As its homepage description, "nspluginwrapper allows browsers
  to run foreign plug-ins built for a different architecture."
  http://nspluginwrapper.org/

* nspluginwrapper provides both "plugin-side" binaries and
  "client-side" binaries.
** "npviewer.bin" binary in plugin architecture (i.e. Linux in most cases)
   and "npplayer" or "npwrapper.so" binaries in client (i.e. NetBSD etc.
   as pkgsrc hosts) are required.

* In Linux distributions, they provided nspluginwrapper packages
  just "to use 32 bit Linux plugin binaries on 64 bit Linux hosts"
** Then they only provided 32 bit Linux "npwrapper.so" and there is
   no 64 bit Linux "npwrapper.so" binaries
*** Nowadays at least Adobe provides 64 bit native Flash plugin binaries
    so probably that is the reason why nspluginwrapper development
    is no longer active since end of 2011.

* Furthermore, to use Linux plugin on non-Linux hosts,
  nspluginwrapper binaries for plugin side (i.e. Linux ones)
  should be built with "--enable-generic" to avoid Linux specific
  "anonymous socket" features (which probably NetBSD doesn't support)
  as mentioned above
** But all Linux distributions built nspluginwrapper binaries without
   the generic option after 1.3.x, because they don't have to consider
   non-Linux users at all

>How-To-Repeat:
Code inspection and trying current versions on actual machines etc.

>Fix:
To use nspluginwrapper 1.4.4 features on non-Linux hosts,
we have to build plugin-side binaries (at least nswrapper.so
for adobe-flash-plugin11) on Linux hosts with "--enable-generic"
option.

In that case we can also use 64 bit native adobe-flash-plugin binaries
on NetBSD/amd64 hosts.

I have built Linux nspluginwrapper-1.4.4 binaries on
openSUSE 12.1 hosts both i586 (32 bit) and x86_64 (64 bit)
and put binaries here:
http://teokurebsd.org/netbsd/packages/distfiles/nspluginwrapper/
 nspluginwrapper-1.4.4-suse121-generic.i386.tar.gz
 nspluginwrapper-1.4.4-suse121-generic.x86_64.tar.gz

These binaries are created as the following
* install openSUSE 12.1 (both 32 bit and 64 bit) on VirtualBox on Windows 7
 http://software.opensuse.org/121/
** (I chose Japanese and GNOME3 desktop, if it matters)
* update all installed binaries with option "update also -devel" by YaST2
* download and extract stock nspluginwrapper-1.4.4
 http://nspluginwrapper.org/download/nspluginwrapper-1.4.4.tar.gz
* apply the following build fix on Linux from upstream github
  (not actually necessary to build plugin-side binaries though) 
  https://github.com/davidben/nspluginwrapper/commit/6bd99e4da88ffce9c61962d74bd53644438de563
* configure with proper options
** For 32 bit:
  ./configure --enable-generic
** For 64 bit: 
  ./configure --target-cpu=x86_64 --disable-biarch --enable-generic --enable-viewer --enable-player
* make
* sudo make install
* cd /
* tar -zcvf ~/nspluginwrapper-1.4.4-suse121-generic.${MACHINE_ARCH}.tar.gz usr/lib/nspluginwrapper

The following pkgsrc/www/nspluginwrapper files:
 https://github.com/tsutsui/pkgsrc-wip-nspluginwrapper/archive/239958f0a05419b9c8c4e8db438fd5abf5eec067.zip
and pkgsrc/multimedia/adobe-flash-plugin11 patches:
 https://gist.githubusercontent.com/tsutsui/938f633dd49d33c4b7b8/raw/7434c0a33dbe084b35f7d9d2e90bd9d666e66eb1/adobe-flash-plugin11-11.2.202.442-64bit.diff
allow us to use nspluginwrap-1.4.4, even with 64 bit native plugin binary
on NetBSD/amd64 host.
 https://pbs.twimg.com/media/B-YJEknCYAA6Vdb.png:orig

Note I have no idea (and no interest) how these custom Linux
binaries are managed and updated in official pkgsrc framework.
I am not a pkgsrc developer and I just want updated working
binaries I use on my machines as ordinary desktop users.
I really don't like bikeshed discussion (which always ignores
actual users' experience) about bootstrap binaries in distfiles.

---
Izumi Tsutsui



Home | Main Index | Thread Index | Old Index