From owner-freebsd-gnome@FreeBSD.ORG Tue Aug 1 18:46:00 2006 Return-Path: X-Original-To: gnome@freebsd.org Delivered-To: freebsd-gnome@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E0DA616A4DF; Tue, 1 Aug 2006 18:45:59 +0000 (UTC) (envelope-from mezz7@cox.net) Received: from centrmmtao02.cox.net (centrmmtao02.cox.net [70.168.83.82]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1C81943D5E; Tue, 1 Aug 2006 18:45:57 +0000 (GMT) (envelope-from mezz7@cox.net) Received: from mezz.mezzweb.com ([24.255.149.218]) by centrmmtao02.cox.net (InterMail vM.6.01.06.01 201-2131-130-101-20060113) with ESMTP id <20060801184554.QHIO22014.centrmmtao02.cox.net@mezz.mezzweb.com>; Tue, 1 Aug 2006 14:45:54 -0400 Date: Tue, 01 Aug 2006 13:46:07 -0500 To: infofarmer@freebsd.org From: "Jeremy Messenger" Content-Type: text/plain; format=flowed; delsp=yes; charset=us-ascii MIME-Version: 1.0 References: Content-Transfer-Encoding: 7bit Message-ID: In-Reply-To: User-Agent: Opera Mail/9.00 (Linux) Cc: gnome@freebsd.org, Arjan van Leeuwen , Jeremy Messenger Subject: Re: NPAPI/XPI support in native gecko apps and other ports X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Aug 2006 18:46:00 -0000 On Sat, 29 Jul 2006 18:16:50 -0500, Andrew Pantyukhin wrote: > 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. Can you remove create any symlink in share/linux-opera/plugins please? It is causing linux-opera to display two plugins if I add lib/npapi/symlinks/linux-opera support in linux-opera (going to commit it soon). I personal rather to have linux-opera to find any plugins in lib/npapi/symlinks/linux-opera than have stuff in share/linux-opera/plugins. It is painless that way. Thanks! While I am here, as for the other browsers that will have a several symlinks in plugins directory by NPAPI and XPI stuff, you will need to add @dirrmtry path/browsers/{extensions,plugins} and @dirrmtry path/browsers for plist in Makefile.npapi and browsers' plist. For example: 1) install linux-flashplugins7 or other stuff 2) deinstall one of browser 3) uninstall linux-flashplugins7 or other stuff 4) path/browsers/{extensions,plugins} will be ending up leftover. Cheers, Mezz > Thanks! -- mezz7@cox.net - mezz@FreeBSD.org FreeBSD GNOME Team - FreeBSD Multimedia Hat (ports, not src) http://www.FreeBSD.org/gnome/ - gnome@FreeBSD.org http://wiki.freebsd.org/multimedia - multimedia@FreeBSD.org