Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Apr 2014 10:28:24 +0000 (UTC)
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r350677 - head/Mk/Uses
Message-ID:  <201404091028.s39ASOrX070411@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bapt
Date: Wed Apr  9 10:28:23 2014
New Revision: 350677
URL: http://svnweb.freebsd.org/changeset/ports/350677
QAT: https://qat.redports.org/buildarchive/r350677/

Log:
  Add USES=geck to handle dependencies on the gecko engine via:
  libxul, seamonkey and/or firefox
  default being libxul

Added:
  head/Mk/Uses/gecko.mk   (contents, props changed)

Added: head/Mk/Uses/gecko.mk
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/Mk/Uses/gecko.mk	Wed Apr  9 10:28:23 2014	(r350677)
@@ -0,0 +1,129 @@
+# $FreeBSD$
+#
+# Handle dependency of different gecko based applications
+#
+# MAINTAINER: gecko@FreeBSD.org
+#
+# Feature:	gecko
+# Usage:	USES=gecko or USES=gecko:ARGS
+# Valid ARGS:	libxul, firefox, seamonkey, thunderbird
+#		in case the first argument is not libxul
+#		The following arguments are available
+#		- build: also add the dependency as a build
+#		         dependency
+#		- [0-9][0-9][+]?: a version optionnally
+#		                  followed by a +
+#
+
+.if !defined(_INCLUDE_USES_GECKO_MK)
+_INCLUDE_USES_GECKO_MK=	yes
+
+.if !defined(gecko_ARGS)
+_GECKO_ARGS=	libxul
+.else
+_GECKO_ARGS=	${gecko_ARGS:S/,/ /g}
+.endif
+
+_GECKO_VERSION=	${_GECKO_ARGS:M[0-9][0-9]*}
+
+.if ${_GECKO_ARGS:Mlibxul}
+# Compat with older versions
+GECKO=	libxul
+GECKO_CONFING?=	${LOCALBASE}/bin/${GECKO}-config
+XPIDL?=		${LOCALBASE}/lib/${GECKO}/xpidl
+XPIDL_INCL?=	`${GECKO_CONFIG} --idlflags`
+
+BUILD_DEPENDS+=	libxul>=24:${PORTSDIR}/www/libxul
+RUN_DEPENDS+=	libxul>=24:${PORTSDIR}/www/libxul
+
+.elif ${_GECKO_ARGS:Mfirefox}
+
+_GECKO_DEFAULT_VERSION=	24
+_GECKO_VERSIONS=		24 28
+_GECKO_TYPE=	firefox
+
+# Dependence lines for different Firefox versions
+24_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:${PORTSDIR}/www/firefox-esr
+25_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:${PORTSDIR}/www/firefox
+
+.if exists(${LOCALBASE}/bin/firefox)
+_GECKO_INSTALLED_VER!=	${LOCALBASE}/bin/firefox --version 2>/dev/null
+_GECKO_INSTALLED_VER:=	${_GECKO_INSTALLED_VER:M[0-9][0-9]*:C/([0-9][0-9]).*/\1/g}
+.endif
+
+.elif ${_GECKO_ARGS:Mseamonkey}
+
+_GECKO_DEFAULT_VERSION=	25
+_GECKO_VERSIONS=		25
+_GECKO_TYPE=	seamonkey
+
+.if exists(${LOCALBASE}/bin/seamonkey)
+_GECKO_INSTALLED_VER!=	${LOCALBASE}/bin/seamonkey --version 2>/dev/null
+_GECKO_INSTALLED_VER:=	${_GECKO_INSTALLED_VER:M[0-9][0-9]*:C/([0-9][0-9]).*/\1/g}
+.endif
+
+# Dependence lines for different Seamonkey versions
+22_DEPENDS=		${LOCALBASE}/lib/seamonkey/seamonkey:${PORTSDIR}/www/seamonkey
+
+.elif ${_GECKO_ARGS:Mthunderbird}
+
+_GECKO_DEFAULT_VERSION=	24
+_GECKO_VERSIONS=	24
+_GECKO_TYPE=	thunderbird
+
+.if exists(${LOCALBASE}/bin/thunderbird)
+_GECKO_INSTALLED_VER!=	${LOCALBASE}/bin/thunderbird --version 2>/dev/null
+_GECKO_INSTALLED_VER:=	${_GECKO_INSTALLED_VER:M[0-9][0-9]*:C/([0-9][0-9]).*/\1/g}
+.endif
+
+# Dependence lines for different Seamonkey versions
+24_DEPENDS=		${LOCALBASE}/lib/seamonkey/seamonkey:${PORTSDIR}/www/seamonkey
+
+.else
+IGNORE=	Unknown type of gecko dependency you may specify either libxul, firefox, seamonkey or thunderbird
+.endif
+
+.if defined(_GECKO_TYPE)
+.if ${_GECKO_VERSION:M*+}
+_GECKO_MIN_VERSION:=		${_GECKO_VERSION:S/+//}
+_GECKO_WANTED_VERSIONS:=	${_GECKO_DEFAULT_VERSION}
+.endif
+
+.if ${_GECKO_VERSION:M[0-9][0-9]}
+_GECKO_WANTED_VERSIONS:=	${_GECKO_VERSION:M[0-9][0-9]}
+.endif
+
+_GECKO_WANTED_VERSIONS?=	${_GECKO_DEFAULT_VERSION}
+
+.if defined(_GECKO_MIN_VERSION)
+.  for _v in _GECKO_VERSIONS
+.    if ${_GECKO_MIN_VERSION} <= ${_v}
+_GECKO_WANTED_VERSIONS+=	${_v}
+.    endif
+.  endfor
+.endif
+
+.for _v in ${_GECKO_WANTED_VERSIONS:O:u}
+_GECKO_HIGHEST_VERSION:=	${_v}
+.if defined(_GECKO_INSTALLED_VER) && ${_GECKO_INSTALLED_VER} == ${_v}
+_GECKO_WANTED_VERSION:=	${_v}
+.endif
+.endfor
+
+.if !defined(_GECKO_WANTED_VERSION)
+.if defined(_GECKO_INSTALLED_VER)
+IGNORE=	cannot install: ${_GECKO_TYPE} versions mismatch: ${_GECKO_TYPE}-${_GECKO_INSTALLED_VER} is installed and wanted version is ${_GECKO_TYPE}-${_GECKO_VERSION:M[0-9][0-9]}
+.else
+_GECKO_WANTED_VERSION:=	${_GECKO_HIGHEST_VERSION}
+.endif
+.endif
+
+
+.if ${_GECKO_ARGS:Mbuild}
+BUILD_DEPENDS+=	${${_GECKO_WANTED_VERSION}_DEPENDS}
+.endif
+RUN_DEPENDS+=	${${_GECKO_WANTED_VERSION}_DEPENDS}
+
+.endif
+
+.endif



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201404091028.s39ASOrX070411>