Date: Sun, 30 Jul 2006 03:16:50 +0400 From: "Andrew Pantyukhin" <infofarmer@gmail.com> To: gnome@freebsd.org, "Michael Johnson" <ahze@ahze.net>, "Arjan van Leeuwen" <avleeuwen@piwebs.com>, "Jeremy Messenger" <mezz@freebsd.org> Subject: NPAPI/XPI support in native gecko apps and other ports Message-ID: <cb5206420607291616l3701793bt832a1b26daeffac@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hello! As you might have noticed, I've been working on NPAPI and XPI infrastructures to make user experience more enjoyable while improving flexibility of the way plugins and extensions are managed. I understand (http://wiki.freebsd.org/Gnome) there are plans to devise a separate helper port which would create links and manage browser_plugins dir. I wanted to go the very same way with XPI, but I seem to have found an alternative, which some find more likeable. Implementation details can be found here: http://wiki.freebsd.org/NPAPI http://wiki.freebsd.org/XPI http://wiki.freebsd.org/Linkfarming In a nutshell, to make an app fully NPAPI/XPI-compatible you need to: a. Copy links on installation (a line in Makefile and in plist) b. Preen links on deinstallation (a line in plist) To give an idea, some linux-gecko ports have these lines: in do-install targets: @${CP} -R ${LOCALBASE}/lib/npapi/symlinks/${APP_NAME}/ \ ${PREFIX}/lib/${APP_NAME}/plugins/ @${CP} -R ${LOCALBASE}/lib/xpi/symlinks/${APP_NAME}/ \ ${PREFIX}/lib/${APP_NAME}/extensions/ in plists: @exec /bin/cp -R %%LOCALBASE%%/lib/npapi/symlinks/%%APP_NAME%%/ %D/lib/%%APP_NAME%%/plugins/ @exec /bin/cp -R %%LOCALBASE%%/lib/xpi/symlinks/%%APP_NAME%%/ %D/lib/%%APP_NAME%%/extensions/ @unexec /usr/bin/find %D/lib/%%APP_NAME%%/plugins/ -depth 1 -type l -delete @unexec /usr/bin/find %D/lib/%%APP_NAME%%/extensions/ -depth 1 -type l -delete It is a good idea to add "2>/dev/null || true" at the end of each line. As you can see, only 3 lines are needed for NPAPI (plugins) support and 3 lines for XPI (extensions) support. It would be great if we could work together and introduce the support to the apps you maintain. If there's anything you don't like about infrastructure, it's quite understandable and let's discuss it. The final goal is to make both users and developers a little bit happier. Thanks!
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?cb5206420607291616l3701793bt832a1b26daeffac>