freebsd-ports/www/linux-seamonkey/Makefile.common
Dmitry Marakasov 73b7596b94 - Remove manual creation and removal of share/applications, as it's now in the mtree (remaining categories)
- Add note on mtree change to CHANGES

Approved by:	portmgr (bdrewery)
2013-10-22 14:04:01 +00:00

126 lines
4.4 KiB
Text

# Created by: Andrew Pantyukhin <infofarmer@FreeBSD.org>
# $FreeBSD$
CATEGORIES+= linux
MASTER_SITES?= MOZILLA/${PORTNAME}/releases/${PORTVERSION}esr/linux-i686/en-US
PKGNAMEPREFIX?= linux-
.if defined(REPLACE_GRE)
EXTRACT_DEPENDS+=${NONEXISTENT}:${PORTSDIR}/www/linux-seamonkey:extract
.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= ${PREFIX}/lib/${APP_NAME}
COMMON_DIR= ${.CURDIR}/../../www/linux-seamonkey
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)
_A= >> ${TMPPLIST}
_Q= 2>/dev/null || true
.if !target(post-extract)
post-extract:
@${RM} -rf ${WRKSRC}/updates
@${MKDIR} ${WRKSRC}/${APP_SUBDIR}plugins
@${MKDIR} ${WRKSRC}/${APP_SUBDIR}extensions
.endif
.if defined(REPLACE_GRE)
# XXX remove after linux_base-c6 and linux-c6-gtk2 become default
# using seamonkey gre for linux_base-f10 compat
post-extract: replace-gre
replace-gre: version-compat-check
@${ECHO_MSG} "===> GRE versions are compatible, replacing with" \
"$$(${MAKE} -V PKGNAME -C ${.CURDIR}/../../www/linux-seamonkey)"
cd $$(${MAKE} -V WRKSRC -C ${.CURDIR}/../../www/linux-seamonkey); \
${CP} lib* dependentlibs.list ${WRKSRC}
version-compat-check:
@${ECHO_MSG} "===> Checking GRE version is compatible with" \
"$$(${MAKE} -V PKGNAME -C ${.CURDIR}/../../www/linux-seamonkey)"
@ff_gre_version=$$(${AWK} -F= '/Milestone/ { print $$2 }' ${WRKSRC}/platform.ini); \
sm_gre_version=$$(${AWK} -F= '/Milestone/ { print $$2 }' $$(${MAKE} -V WRKSRC -C ${.CURDIR}/../../www/linux-seamonkey)/platform.ini); \
if [ $$ff_gre_version != $$sm_gre_version ]; then \
${ECHO_MSG} "===> GRE versions aren't compatible, aborting"; \
exit 1; \
fi
.endif
.if !target(post-patch)
post-patch:
@${MKDIR} ${PREFS_FILE:H}
# out-of-process plugins don't work with linuxulator (ports/170402)
${ECHO} 'pref("dom.ipc.plugins.enabled", false);' >> ${PREFS_FILE}
.endif
.if !target(do-install)
do-install:
@${INSTALL} -d ${FDIR} ${PREFIX}/share/applications
@${INSTALL_DATA} ${WRKDIR}/${APP_NAME}.desktop ${PREFIX}/share/applications/
@${CP} -pR ${WRKSRC}/ ${FDIR}/
@${CHOWN} -R ${BINOWN}:${BINGRP} ${FDIR}/
@${LN} -sf ${FDIR}/${BIN_NAME} ${PREFIX}/bin/${APP_NAME}
@${CP} -R ${LOCALBASE}/lib/npapi/symlinks/${APP_NAME}/ \
${FDIR}/${APP_SUBDIR}plugins/ ${_Q}
@${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/npapi/symlinks/%%APP_NAME%%/ \
%D/lib/%%APP_NAME%%/${APP_SUBDIR}plugins/ ${_Q}' >> ${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}plugins/ \
-depth 1 -type l -delete ${_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}
snatch-desktop:
${SED} -E -e 's/${PORTNAME}/${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