Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Feb 2010 21:57:50 GMT
From:      svn-freebsd-gecko@chruetertee.ch
To:        freebsd-gecko@freebsd.org
Subject:   [SVN-Commit] r274 - branches/experimental/Mk
Message-ID:  <201002222157.o1MLvohf093140@trillian.chruetertee.ch>

next in thread | raw e-mail | index | archive | help
Author: beat
Date: Mon Feb 22 21:57:49 2010
New Revision: 274

Log:
- Add first version of USE_FIREFOX and USE_FIREFOX_BUILD to bsd.gecko.mk

Modified:
   branches/experimental/Mk/bsd.gecko.mk
   branches/experimental/Mk/bsd.port.mk

Modified: branches/experimental/Mk/bsd.gecko.mk
==============================================================================
--- branches/experimental/Mk/bsd.gecko.mk	Mon Feb 22 21:52:02 2010	(r273)
+++ branches/experimental/Mk/bsd.gecko.mk	Mon Feb 22 21:57:49 2010	(r274)
@@ -8,6 +8,114 @@
 #
 # 4 column tabs prevent hair loss and tooth decay!
 
+.if !defined(_POSTMKINCLUDED) && !defined(Gecko_Pre_Include)
+
+# USE_FIREFOX           - Add runtime dependency on Firefox. If no version
+#                         is given by the maintainer via the port or by the
+#                         user via defined variable try to find the highest
+#                         stable installed version.
+#                         Available values: yes 36+ 35+ 30+ 36 35 30
+#                         NOTE:
+#                         default value 36 is used in case of USE_FIREFOX=yes
+#
+# USE_FIREFOX_BUILD     - Add buildtime dependency on Firefox.
+#                         Available values: see USE_FIREFOX
+#
+# INVALID_FIREFOX_VER   - This variable contains a list of Firefox versions
+#                         not supported by the port. This setting is effective
+#                         only when USE_FIREFOX is set to a range (e.g. 30+)
+#
+# WITH_FIREFOX_VER      - User defined global variable to set Firefox version
+#                         This variable is effective only if USE_FIREFOX is
+#                         set to a range (e.g. 30+) and WITH_FIREFOX_VER
+#                         points inside that range.
+#                         NOTE: INVALID_FIREFOX_VER takes precedence
+
+#
+# Firefox part
+#
+.if defined(USE_FIREFOX) || defined(USE_FIREFOX_BUILD)
+
+# Process USE_FIREFOX_BUILD
+.if !defined(USE_FIREFOX)
+.if defined(USE_FIREFOX_BUILD)
+USE_FIREFOX:=				${USE_FIREFOX_BUILD}
+_FIREFOX_BUILD_DEPENDS=		yes
+.endif
+.endif
+
+_FIREFOX_DEFAULT_VERSION=	36
+_FIREFOX_VERSIONS=			36 35 30
+_FIREFOX_RANGE_VERSIONS=	36+ 35+ 30+
+
+# For specifying [36, 35, ..]+
+_FIREFOX_30P=	30 ${_FIREFOX_35P}
+_FIREFOX_35P=	35 ${_FIREFOX_36P}
+_FIREFOX_36P=	36
+
+# Set the default Firefox version and check if USE_FIREFOX=yes was given
+.if ${USE_FIREFOX} == "yes"
+USE_FIREFOX=	${_FIREFOX_DEFAULT_VERSION}
+.endif
+
+.if !defined(_FIREFOX_${USE_FIREFOX}P)
+IGNORE:=			cannot install: unknown Firefox version: firefox-${USE_FIREFOX:C/([0-9])([0-9])/\1.\2/}
+.endif
+
+# Check if we have user-defined WITH_FIREFOX_VER and if it matches
+# the range specified in port's USE_FIREFOX
+.if defined(WITH_FIREFOX_VER)
+.for ver in ${_FIREFOX_RANGE_VERSIONS}
+.if ${USE_FIREFOX} == "${ver}"
+_MATCHED_FIREFOX_VER:=		${USE_FIREFOX:S/+//}
+.for firefox in ${_FIREFOXL_${_MATCHED_FIREFOX_VER}P}
+.if ${WITH_FIREFOX_VER} == ${firefox}
+#  Check if user supplied WITH_FIREFOX is in the INVALID_FIREFOX_VER list
+_BRKFIREFOX=		no
+.for iver in ${INVALID_FIREFOX_VER}
+.if ${WITH_FIREFOX_VER} == ${iver}
+_BRKFIREFOX=		yes
+.endif
+.endfor
+#  If WITH_FIREFOX is not in the INVALID_FIREFOX_VER list, use it
+#  otherwise take default from port
+.if ${_BRKFIREFOX} == "no"
+USE_FIREFOX=	${WITH_FIREFOX_VER}
+.endif
+.endif
+.endfor
+.endif
+.endfor
+.endif
+
+# Setting/finding Firefox version we want.
+.if exists(${LOCALBASE}/bin/firefox3)
+_FIREFOX_VER!=	${LOCALBASE}/bin/firefox3 --version | ${SED} -e 's/Mozilla Firefox \([0-9]\)\.\([0-9]*\).*/\1\2/'
+.endif
+
+.if defined(_FIREFOX_VER)
+.if ${_FIREFOX_VER} != ${USE_FIREFOX}
+IGNORE=			cannot install: Firefox versions mismatch: firefox-${_FIREFOX_VER:C/([0-9])([0-9])/\1.\2/} is installed and wanted version is firefox-${USE_FIREFOX:C/([0-9])([0-9])/\1.\2/}
+.endif
+.endif
+
+# Dependence lines for different Firefox versions
+36_DEPENDS=		${LOCALBASE}/lib/firefox3/firefox:${PORTSDIR}/www/firefox
+35_DEPENDS=		${LOCALBASE}/lib/firefox3/firefox:${PORTSDIR}/www/firefox35
+30_DEPENDS=		${LOCALBASE}/lib/firefox3/firefox:${PORTSDIR}/www/firefox3
+
+# Add dependencies
+.if defined(USE_FIREFOX)
+.if defined(_FIREFOX_BUILD_DEPENDS)
+BUILD_DEPENDS+= ${${USE_FIREFOX}_DEPENDS}
+.else
+RUN_DEPENDS+=	${${USE_FIREFOX}_DEPENDS}
+.endif
+.endif
+
+.endif # defined(USE_FIREFOX)
+.endif
+
 # ======================= USERS =================================
 # To specify which gecko-based backend you prefer, use something like:
 #

Modified: branches/experimental/Mk/bsd.port.mk
==============================================================================
--- branches/experimental/Mk/bsd.port.mk	Mon Feb 22 21:52:02 2010	(r273)
+++ branches/experimental/Mk/bsd.port.mk	Mon Feb 22 21:57:49 2010	(r274)
@@ -1550,7 +1550,7 @@
 .include "${PORTSDIR}/Mk/bsd.qt.mk"
 .endif
 
-.if defined(WANT_GECKO) || defined(USE_GECKO)
+.if defined(WANT_GECKO) || defined(USE_GECKO) || defined(USE_FIREFOX) || defined(USE_FIREFOX_BUILD)
 .include "${PORTSDIR}/Mk/bsd.gecko.mk"
 .endif
 



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