freebsd-ports/www/linux-seamonkey/Makefile.common
Florian Smeets 7efa77ad7c Update to nspr 4.10.2
Update to nss 3.15.3.1
Update firefox-esr and thunderbird to 24.2.0
Update firefox to 26.0
Update seamonkey to 2.23

- catch up with directory renames since USES=webplugins was introduced;
  fixes plugins not being automatically enabled after install
- linux-firefox and linux-seamonkey can play HTML5 audio [2][3] and
  measure about:memory usage, again
- dom.ipc.plugins.enabled->true no longer crash linux-firefox which makes
  some flash sites work again; as there's no nspluginwrapper in-between
  the infamous "youtube issue" never occurs
- install DEBUG with symbols [3] and describe the option better [4]
- enable dumping about:memory upon kill -65, kill -66 and GC/CC log
  upon kill -67 to a file under /tmp directory; linux-firefox uses
  kill -34, kill -35 and kill -36 respectively

PR:		ports/183861 [1]
PR:		ports/184006 [2]
PR:		ports/169896 [3]
PR:		ports/184285 [3]
PR:		ports/184286 [4]
Security:	dd116b19-64b3-11e3-868f-0025905a4771
In collaboration with: Jan Beich <jbeich@tormail.org>
2013-12-14 13:42:06 +00:00

145 lines
4.5 KiB
Makefile

# Created by: Andrew Pantyukhin <infofarmer@FreeBSD.org>
# $FreeBSD$
.if defined(OVERRIDE_LINUX_NONBASE_PORTS) && \
${OVERRIDE_LINUX_NONBASE_PORTS} != "f10"
.undef WANT_GTK218
.endif
CATEGORIES+= linux
MASTER_SITES?= MOZILLA/${PORTNAME}/releases/${PORTVERSION}esr/linux-i686/en-US
PKGNAMEPREFIX?= linux-
.if defined(WANT_GTK218)
MASTER_SITES+= https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/12/Everything/i386/os/Packages/:f12
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
glib2-2.22.2-2.fc12.i686.rpm:f12 \
gtk2-2.18.3-19.fc12.i686.rpm:f12
GTK218_FILES= lib/libgio-2.0.so.0 \
lib/libglib-2.0.so.0 \
usr/lib/libgdk-x11-2.0.so.0 \
usr/lib/libgtk-x11-2.0.so.0
.endif
NO_BUILD= yes
ONLY_FOR_ARCHS= i386 amd64
APP_NAME= ${PKGBASE}
BIN_NAME?= ${PORTNAME}
USE_LINUX= yes
USE_LINUX_APPS+= atk fontconfig gtk2 hicontheme pango
WRKSRC?= ${WRKDIR}/${BIN_NAME}
FDIR= ${STAGEDIR}${PREFIX}/lib/${APP_NAME}
COMMON_DIR= ${.CURDIR}/../../www/linux-seamonkey
APP_ENV+= MOZ_CRASHREPORTER_DISABLE=1
PLIST_SUB+= APP_NAME=${APP_NAME}
SUB_LIST+= APP_NAME=${APP_NAME}
SUB_FILES= ${APP_NAME}.desktop
PREFS_FILE?= ${WRKSRC}/defaults/pref/browser-prefs.js
.if defined(PKGNAMESUFFIX) && ${PKGNAMESUFFIX:M*devel*}
DESKTOP_SUFFIX?= (Linux, devel)
.endif
DESKTOP_SUFFIX?= (Linux)
.if defined(WANT_GTK218)
PLIST_SUB+= GTK218=""
.else
PLIST_SUB+= GTK218="@comment "
.endif
_A= >> ${TMPPLIST}
_Q= 2>/dev/null || true
.if !target(post-extract)
post-extract:
@${RM} -rf ${WRKSRC}/updates
@${MKDIR} ${WRKSRC}/${APP_SUBDIR}extensions
@${LN} -sf ${LOCALBASE}/lib/browser_plugins/symlinks/${APP_NAME} \
${WRKSRC}/${APP_SUBDIR}plugins
. if defined(WANT_GTK218)
. for f in ${GTK218_FILES}
@${CP} -p ${WRKDIR}/${f} ${WRKSRC}
@${ECHO_CMD} ${f:T} >>${WRKSRC}/dependentlibs.list
. endfor
@${REINPLACE_CMD} -i '' '/libxul/ { h; d; }; $$G' \
${WRKSRC}/dependentlibs.list
. endif
.endif
.if !target(post-patch)
post-patch:
@${MKDIR} ${PREFS_FILE:H}
# empty port preferences
@${DO_NADA} >>${PREFS_FILE}
. if (${DISTVERSION:R:R} < 28 && ${PORTNAME} != "seamonkey") || \
(${PORTNAME} == "seamonkey" && ${DISTVERSION:C/[0-9]*\.//:C/b.*//} < 25)
# dummy resident-unique for make about:memory's "measure"
@${REINPLACE_CMD} -i '' \
's,/proc/self/smaps\(.Private\),////////dev/null\1,' \
${WRKSRC}/libxul.so
. endif
.endif
.if !target(do-install)
do-install:
@${INSTALL_DATA} ${WRKDIR}/${APP_NAME}.desktop ${STAGEDIR}${PREFIX}/share/applications/
@${CP} -pR ${WRKSRC}/ ${FDIR}/
@${PRINTF} '#! /bin/sh\n${APP_ENV} \
${PREFIX}/lib/${APP_NAME}/${BIN_NAME} "$$@"\n' \
>>${STAGEDIR}${PREFIX}/bin/${APP_NAME}
@${CHMOD} +x ${STAGEDIR}${PREFIX}/bin/${APP_NAME}
@${CP} -R ${LOCALBASE}/lib/xpi/symlinks/${APP_NAME}/ \
${FDIR}/${APP_SUBDIR}extensions/ ${_Q}
.endif
# Keep empty directories with pkg_* tools
.if !target(post-extract-script)
post-extract-script:
@if [ "${PKG_BIN:T}" != "pkg-static" ]; then \
for d in $$(${FIND} ${WRKSRC} -type d -empty); do \
${TOUCH} $$d/.keep_me; \
${ECHO_CMD} lib/${APP_NAME}/$${d#${WRKSRC}/}/.keep_me \
>> ${WRKDIR}/.PLIST.opkg; \
done; \
fi
.endif
.if !target(post-install-script)
post-install-script:
@if [ -f ${WRKDIR}/.PLIST.opkg ]; then \
${CAT} ${TMPPLIST} >> ${WRKDIR}/.PLIST.opkg; \
${MV} ${WRKDIR}/.PLIST.opkg ${TMPPLIST}; \
fi
.endif
# Maintainer section
create-plist: build
${ECHO_CMD} bin/%%APP_NAME%% > ${PLIST}
${ECHO_CMD} share/applications/%%APP_NAME%%.desktop >> ${PLIST}
cd ${WRKSRC} && ${FIND} -s . -type f -or -type l | \
${SED} -e "s#^\.#lib/%%APP_NAME%%#" | ${SORT} >> ${PLIST}
${ECHO_CMD} '@exec ${CP} -R %%LOCALBASE%%/lib/xpi/symlinks/%%APP_NAME%%/ \
%D/lib/%%APP_NAME%%/${APP_SUBDIR}extensions/ ${_Q}' >> ${PLIST}
${ECHO_CMD} '@unexec ${FIND} %D/lib/%%APP_NAME%%/${APP_SUBDIR}extensions/ \
-depth 1 -type l -delete ${_Q}' >> ${PLIST}
cd ${WRKSRC} && ${FIND} -sd . -type d | \
${SED} -e "s#^\.#@dirrm lib/%%APP_NAME%%#" >> ${PLIST}
.if defined(WANT_GTK218)
. for f in ${GTK218_FILES}
${REINPLACE_CMD} -i '' '/${f:T}/s/^/%%GTK218%%/' ${PLIST}
. endfor
.endif
snatch-desktop:
${SED} -E -e 's/${PORTNAME}/${APP_NAME}/' \
-e "s,@MOZILLA_NAME@,$$(echo ${PORTNAME} | ${SED} 's/\b./\u&/g')," \
-e 's/@MOZILLA@|%%MOZILLA%%/${APP_NAME}/' \
-e 's/^(Name.*=.+)$$/\1 ${DESKTOP_SUFFIX}/' \
-e 's/^(GenericName.*=.+)$$/\1 ${DESKTOP_SUFFIX}/' \
-e 's!^Icon=.*$$!Icon=%%PREFIX%%/lib/%%APP_NAME%%/chrome/icons/default/default.xpm!' \
${PORTSDIR}/${PKGCATEGORY}/${PORTNAME}/files/${PORTNAME}.desktop.in > \
${FILESDIR}/${APP_NAME}.desktop.in