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
System: NetBSD 6.1.5 (GENERIC)
Architecture: i386 and x86_64
Machine: i386 and amd64
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.


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

* 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 "" 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 "" and there is
   no 64 bit Linux "" 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

Code inspection and trying current versions on actual machines etc.

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

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:

These binaries are created as the following
* install openSUSE 12.1 (both 32 bit and 64 bit) on VirtualBox on Windows 7
** (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
* apply the following build fix on Linux from upstream github
  (not actually necessary to build plugin-side binaries though)
* 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:
and pkgsrc/multimedia/adobe-flash-plugin11 patches:
allow us to use nspluginwrap-1.4.4, even with 64 bit native plugin binary
on NetBSD/amd64 host.

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