aboutsummaryrefslogtreecommitdiffstats
path: root/www/firefox-esr
diff options
context:
space:
mode:
authormezz <mezz@FreeBSD.org>2009-01-10 10:45:46 +0800
committermezz <mezz@FreeBSD.org>2009-01-10 10:45:46 +0800
commit867a335b88f91d457005fa0c7b3bb7c85c5fca14 (patch)
tree68af898c9a11dd756c516c49a6715cee75888e70 /www/firefox-esr
parent6f64cd00171c29c1c7cdfb1e40393e23fc35151d (diff)
downloadfreebsd-ports-gnome-867a335b88f91d457005fa0c7b3bb7c85c5fca14.tar.gz
freebsd-ports-gnome-867a335b88f91d457005fa0c7b3bb7c85c5fca14.tar.zst
freebsd-ports-gnome-867a335b88f91d457005fa0c7b3bb7c85c5fca14.zip
Add a new framework for browser plugins, USE_WEBPLUGINS. It is for which foo
plugins support one of web browsers and can take care of plist (depend on how you use it) at the same time. I have written a complete document and even show how it works in the www/firefox/Makefile.webplugins so be sure to read in there. If there is anything that isn't clear in the document, please feel free to ask and I will try my best to improvement it. FYI: GNOME 2.24 depends on this, so it's coming. BTW: It's based on www/linux-mplayer-plugin/Makefile.npapi with heavy modified. Approved by: portmgr
Diffstat (limited to 'www/firefox-esr')
-rw-r--r--www/firefox-esr/Makefile14
-rw-r--r--www/firefox-esr/Makefile.webplugins226
-rw-r--r--www/firefox-esr/files/patch-build_unix_run-mozilla.sh4
3 files changed, 230 insertions, 14 deletions
diff --git a/www/firefox-esr/Makefile b/www/firefox-esr/Makefile
index ae3cb3d3a96c..820689f1925c 100644
--- a/www/firefox-esr/Makefile
+++ b/www/firefox-esr/Makefile
@@ -3,11 +3,12 @@
# Whom: Alan Eldridge <alane@FreeBSD.org>
#
# $FreeBSD$
-# $MCom: ports/www/firefox/Makefile,v 1.43 2008/02/09 16:38:43 marcus Exp $
+# $MCom: ports-stable/www/firefox/Makefile,v 1.32 2009/01/09 23:41:22 mezz Exp $
#
PORTNAME= firefox
DISTVERSION= 2.0.0.20
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= www ipv6
MASTER_SITES= ${MASTER_SITE_MOZILLA_EXTENDED}
@@ -93,17 +94,6 @@ pre-install:
>> ${SYSTEM_PREFS}
.endif # !defined(WITHOUT_NEWTAB)
-do-install:
- if [ ! -L ${PREFIX}/lib/browser_plugins/libjavaplugin_oji.so ]; then \
- for jpi in ${JPI_LIST}; do \
- if [ -f $${jpi} ]; then \
- ${LN} -sf $${jpi} \
- ${PREFIX}/lib/browser_plugins/libjavaplugin_oji.so ; \
- break; \
- fi; \
- done; \
- fi
-
post-install:
${MKDIR} ${PREFIX}/share/applications ${PREFIX}/share/pixmaps
${INSTALL_DATA} ${WRKDIR}/${MOZILLA}.desktop ${PREFIX}/share/applications/
diff --git a/www/firefox-esr/Makefile.webplugins b/www/firefox-esr/Makefile.webplugins
new file mode 100644
index 000000000000..dd5db96f0cfc
--- /dev/null
+++ b/www/firefox-esr/Makefile.webplugins
@@ -0,0 +1,226 @@
+#-*- mode: makefile; tab-width: 4; -*
+# ex:ts=4
+#
+# New ports collection makefile for: npapi infrastructure
+# Date created: 27 June 2006
+# Whom: Andrew Pantyukhin <infofarmer@FreeBSD.org>
+#
+# $FreeBSD$
+# $MCom: ports-stable/www/firefox/Makefile.webplugins,v 1.14 2008/11/12 17:55:09 mezz Exp $
+#
+
+# MAINTAINER= gnome@FreeBSD.org
+#
+# Documentation and examples:
+#
+# Makefile.webplugins will create symlinks automatically for each supported
+# applications that supports the webplugins framework. Also, it will remove
+# these symlinks when the plug-in port is uninstalled.
+#
+# USE_WEBPLUGINS - Specify a list of application(s) that this plug-in
+# port supports. For each of these applications, a
+# symlink will be created in
+# lib/browser_plugins/symlinks. See
+# WEBPLUGINS_APPS_ALL_* below for the list of
+# supported applications.
+# Default: USE_WEBPLUGINS=${WEBPLUGINS_APPS_ALL} (all
+# applications)
+#
+# WEBPLUGINS_NAME - If your port installs file(s) in ${WEBPLUGINS_DIR},
+# then you can tweak WEBPLUGINS_NAME to change the
+# name of the directory
+# (lib/browser_plugins/symlinks/WEBPLUGINS_NAME).
+# Default: WEBPLUGINS_NAME=${PKGBASE}
+#
+# WEBPLUGINS_FILES - The plug-in file(s) that are going to be linked
+# in lib/browser_plugins/symlinks/*/. It cannot
+# be empty or the port will set IGNORE.
+#
+# WEBPLUGINS_DIR - The directory where the plug-in file(s) can be
+# found. Each plug-in file in WEBPLUGINS_FILES
+# must be found in WEBPLUGINS_DIR. If your port
+# does not install in WEBPLUGINS_DIR, but in its own
+# path. You will need to specify that here or
+# symlinks will be created to non-existent files.
+# Default: WEBPLUGINS_DIR?=${WEBPLUGINS_LIBDIR}/${WEBPLUGINS_NAME}
+#
+#
+# The USE_WEBPLUGINS supports wildcards, native, and linux; so you can do any
+# of the following:
+#
+# USE_WEBPLUGINS=gecko* (Supports gecko18 and gecko19.)
+# USE_WEBPLUGINS=native (Supports gecko*, opera*, and webkit-gtk2)
+# USE_WEBPLUGINS=linux (Supports linux-*)
+# USE_WEBPLUGINS=opera webkit-gtk2
+#
+# Example to add in Makefile and pkg-plist if the plug-in file(s) install in
+# WEBPLUGINS_DIR, and if your port does this manually:
+#
+# Makefile:
+# ------------------------------------------------------
+# [...]
+# USE_WEBPLUGINS=gecko*
+# WEBPLUGINS_FILES=fooplugin.so fooplugin.xpi
+#
+# .include <bsd.port.pre.mk>
+# .include "${PORTSDIR}/www/firefox/Makefile.webplugins"
+#
+# post-install:
+# ${MKDIR} ${WEBPLUGINS_DIR}
+# ${INSTALL_DATA} ${WEBPLUGINS_FILES:S,^,${WRKSRC}/plugins/,} \
+# ${WEBPLUGINS_DIR}
+#
+# .include <bsd.port.post.mk>
+# ------------------------------------------------------
+#
+# You do not need to add lib/browser_plugins and lib/browser_plugins/symlinks
+# in pkg-plist, because they will be removed automatically.
+#
+# pkg-plist:
+# ------------------------------------------------------
+# [...]
+# %%WEBPLUGINS_DIR%%/fooplugin.so
+# %%WEBPLUGINS_DIR%%/fooplugin.xpi
+# @dirrmtry %%WEBPLUGINS_DIR%%
+# ------------------------------------------------------
+#
+# Here is what it will look like when it creates the symlinks:
+#
+# ------------------------------------------------------
+# /usr/local/lib/browser_plugins/symlinks/gecko18/fooplugin.so -> /usr/local/lib/browser_plugins/application/fooplugin.so
+# /usr/local/lib/browser_plugins/symlinks/gecko18/fooplugin.xpi -> /usr/local/lib/browser_plugins/application/fooplugin.xpi
+# /usr/local/lib/browser_plugins/symlinks/gecko19/fooplugin.so -> /usr/local/lib/browser_plugins/application/fooplugin.so
+# /usr/local/lib/browser_plugins/symlinks/gecko19/fooplugin.xpi -> /usr/local/lib/browser_plugins/application/fooplugin.xpi
+# ------------------------------------------------------
+#
+# If your port uses libtool, and installs any *.a and *.la files, do not add
+# these files to WEBPLUGINS_FILES. WEBPLUGINS_FILES should be *.so or/and
+# *.xpi ONLY.
+#
+# Example to add in Makefile and pkg-plist if your port installs plug-ins in
+# its own directory, and you need to set WEBPLUGINS_DIR.
+#
+# Makefile:
+# ------------------------------------------------------
+# [...]
+# USE_WEBPLUGINS=gecko*
+# WEBPLUGINS_DIR=#{PREFIX}/lib/application
+# WEBPLUGINS_FILES=fooplugin.so fooplugin.xpi
+#
+# .include <bsd.port.pre.mk>
+# .include "${PORTSDIR}/www/firefox/Makefile.webplugins"
+#
+# [...]
+#
+# .include <bsd.port.post.mk>
+# ------------------------------------------------------
+#
+# As for the pkg-plist, it should only include the actual files your
+# port installs:
+#
+# pkg-plist:
+# ------------------------------------------------------
+# [...]
+# lib/application/fooplugin.a
+# lib/application/fooplugin.la
+# lib/application/fooplugin.so
+# lib/application/fooplugin.xpi
+# @dirrm lib/application
+# ------------------------------------------------------
+#
+# Here is what it will look like when it creates symlinks:
+#
+# ------------------------------------------------------
+# /usr/local/lib/browser_plugins/symlinks/gecko18/fooplugin.so -> /usr/local/lib/application/fooplugin.so
+# /usr/local/lib/browser_plugins/symlinks/gecko18/fooplugin.xpi -> /usr/local/lib/application/fooplugin.xpi
+# /usr/local/lib/browser_plugins/symlinks/gecko19/fooplugin.so -> /usr/local/lib/application/fooplugin.so
+# /usr/local/lib/browser_plugins/symlinks/gecko19/fooplugin.xpi -> /usr/local/lib/application/fooplugin.xpi
+# ------------------------------------------------------
+
+WEBPLUGINS_NAME?= ${PKGBASE}
+WEBPLUGINS_FILES?= empty
+WEBPLUGINS_APPS_ALL_LINUX= linux-firefox linux-firefox-devel linux-flock \
+ linux-flock-devel linux-mozilla \
+ linux-nvu linux-opera linux-opera-devel \
+ linux-seamonkey linux-seamonkey-devel \
+ linux-sunbird linux-sunbird-devel
+WEBPLUGINS_APPS_ALL_NATIVE= gecko18 gecko19 opera opera-devel webkit-gtk2
+WEBPLUGINS_APPS_ALL= ${WEBPLUGINS_APPS_ALL_LINUX} \
+ ${WEBPLUGINS_APPS_ALL_NATIVE}
+
+.if !defined(USE_WEBPLUGINS) || ${USE_WEBPLUGINS} == "yes" || \
+ ${USE_WEBPLUGINS} == "*"
+USE_WEBPLUGINS= ${WEBPLUGINS_APPS_ALL}
+.endif
+
+.if !defined(WEBPLUGINS_FILES) || ${WEBPLUGINS_FILES} == "empty" || \
+ ${WEBPLUGINS_FILES} == ""
+IGNORE= cannot install: the WEBPLUGINS_FILES is empty, please add plugins file in it and see in www/firefox/Makefile.webplugins for document
+.endif
+
+.for _TEMP_APP__ in ${WEBPLUGINS_APPS_ALL}
+_TEMP_APP_=${_TEMP_APP__}
+_TEMP_FLAG_=0
+. for _TEMP_USE__ in ${USE_WEBPLUGINS}
+_TEMP_USE_=${_TEMP_USE__}
+. if !${_TEMP_APP_:C!${_TEMP_USE_:S/*/.*/:S/?/./}!!} || \
+ ( ${_TEMP_APP_:Mlinux-*} && ${_TEMP_USE_:Mlinux} ) || \
+ ( ${_TEMP_APP_:Nlinux-*} && ${_TEMP_USE_:Mnative} )
+_TEMP_FLAG_=1
+. endif
+. endfor
+. if ${_TEMP_FLAG_}
+USE_WEBPLUGINS_EXP+= ${_TEMP_APP__}
+. endif
+.endfor
+
+WEBPLUGINS_APPS= ${USE_WEBPLUGINS_EXP:S.^.${LOCALBASE}/lib/.:S.$./plugins.:N*opera*:N*gecko*:N*webkit*}
+WEBPLUGINS_SLDIRS= ${USE_WEBPLUGINS_EXP:S.^.${WEBPLUGINS_SLDIR}/.}
+WEBPLUGINS_LINKFARMS= ${WEBPLUGINS_APPS} ${WEBPLUGINS_SLDIRS}
+
+WEBPLUGINS_LIBDIR= ${PREFIX}/lib/browser_plugins
+WEBPLUGINS_SLDIR= ${WEBPLUGINS_LIBDIR}/symlinks
+WEBPLUGINS_DIR?= ${WEBPLUGINS_LIBDIR}/${WEBPLUGINS_NAME}
+
+PLIST_SUB+= WEBPLUGINS_DIR="${WEBPLUGINS_DIR:S,^${PREFIX}/,,}"
+
+_LNWF= ${WEBPLUGINS_FILES:S,^,${WEBPLUGINS_DIR}/,}
+_Q= 2>/dev/null || true
+_WLD= ${WEBPLUGINS_LIBDIR:S,^${PREFIX},%D,}
+_WLF= ${WEBPLUGINS_LINKFARMS:S,${PREFIX},%D,}
+_WSD= ${WEBPLUGINS_SLDIR:S,^${PREFIX},%D,}
+
+webplugins-post-install:
+ @if [ ! -d ${WEBPLUGINS_DIR} ]; then \
+ ${ECHO_CMD}; \
+ ${ECHO_CMD} "ERROR: The \"${WEBPLUGINS_DIR}\" in WEBPLUGINS_DIR is either a typo or no longer exists. Please make a bug report to ${MAINTAINER} (maintainer)."; \
+ ${ECHO_CMD}; \
+ else \
+ for _f in ${WEBPLUGINS_FILES}; do \
+ if [ ! -f ${WEBPLUGINS_DIR}/$${_f} ]; then \
+ ${ECHO_CMD}; \
+ ${ECHO_CMD} "ERROR: The \"$${_f}\" in WEBPLUGINS_FILES is either a typo or no longer exists. Please make a bug report to ${MAINTAINER} (maintainer)."; \
+ ${ECHO_CMD}; \
+ fi; \
+ done; \
+ fi; \
+ for _d in ${WEBPLUGINS_LINKFARMS}; do \
+ ${INSTALL} -d $${_d}; \
+ for _l in ${_LNWF}; do \
+ ${LN} -sf $${_l} $${_d}/ ${_Q}; \
+ done; \
+ done; \
+ for _d in ${_WLF}; do \
+ ${ECHO_CMD} "@exec ${INSTALL} -d $$_d" >> ${TMPPLIST}; \
+ for _l in ${_LNWF}; do \
+ ${ECHO_CMD} "@exec ${LN} -sf $$_l $$_d/ ${_Q}" >> ${TMPPLIST}; \
+ done; \
+ for _f in ${WEBPLUGINS_FILES:S,^,\${_d}/,}; do \
+ ${ECHO_CMD} "@unexec ${RM} -f $$_f" >> ${TMPPLIST}; \
+ done; \
+ ${ECHO_CMD} "@unexec rmdir $$_d ${_Q}" >> ${TMPPLIST}; \
+ done
+ @${ECHO_CMD} "@unexec rmdir ${_WSD} ${_Q}" >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec rmdir ${_WLD} ${_Q}" >> ${TMPPLIST}
+
+post-install: webplugins-post-install
diff --git a/www/firefox-esr/files/patch-build_unix_run-mozilla.sh b/www/firefox-esr/files/patch-build_unix_run-mozilla.sh
index 87114cc7b898..5d8ec822d9a1 100644
--- a/www/firefox-esr/files/patch-build_unix_run-mozilla.sh
+++ b/www/firefox-esr/files/patch-build_unix_run-mozilla.sh
@@ -5,7 +5,7 @@
##
## Set LD_LIBRARY_PATH
-LD_LIBRARY_PATH=${MOZ_DIST_BIN}:${MOZ_DIST_BIN}/plugins:${MRE_HOME}${LD_LIBRARY_PATH+":$LD_LIBRARY_PATH"}
-+LD_LIBRARY_PATH=${MOZ_DIST_BIN}:${MOZ_DIST_BIN}/plugins:%%PREFIX%%/lib/browser_plugins:%%PREFIX%%/lib/browser_linux_plugins:${MRE_HOME}${LD_LIBRARY_PATH+":$LD_LIBRARY_PATH"}
++LD_LIBRARY_PATH=${MOZ_DIST_BIN}:${MOZ_DIST_BIN}/plugins:%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko18:%%LOCALBASE%%/lib/npapi/symlinks/firefox:${MRE_HOME}${LD_LIBRARY_PATH+":$LD_LIBRARY_PATH"}
if [ -n "$LD_LIBRARYN32_PATH" ]
then
LD_LIBRARYN32_PATH=${MOZ_DIST_BIN}:${MOZ_DIST_BIN}/plugins:${MRE_HOME}${LD_LIBRARYN32_PATH+":$LD_LIBRARYN32_PATH"}
@@ -14,7 +14,7 @@
export MOZILLA_FIVE_HOME LD_LIBRARY_PATH
export SHLIB_PATH LIBPATH LIBRARY_PATH ADDON_PATH DYLD_LIBRARY_PATH
+
-+MOZ_PLUGIN_PATH=%%PREFIX%%/lib/browser_plugins:%%PREFIX%%/lib/browser_linux_plugins
++MOZ_PLUGIN_PATH=%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko18:%%LOCALBASE%%/lib/npapi/symlinks/firefox
+export MOZ_PLUGIN_PATH
if [ $moz_debug -eq 1 ]