From owner-svn-ports-all@FreeBSD.ORG Wed Apr 9 10:28:24 2014 Return-Path: Delivered-To: svn-ports-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8D22761E; Wed, 9 Apr 2014 10:28:24 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7A1B11270; Wed, 9 Apr 2014 10:28:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s39ASO7Z070412; Wed, 9 Apr 2014 10:28:24 GMT (envelope-from bapt@svn.freebsd.org) Received: (from bapt@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s39ASOrX070411; Wed, 9 Apr 2014 10:28:24 GMT (envelope-from bapt@svn.freebsd.org) Message-Id: <201404091028.s39ASOrX070411@svn.freebsd.org> From: Baptiste Daroussin Date: Wed, 9 Apr 2014 10:28:24 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r350677 - head/Mk/Uses X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Apr 2014 10:28:24 -0000 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