A question about dependencies

Hye-Shik Chang perky at i18n.org
Tue Jun 29 10:36:54 PDT 2004


On Tue, Jun 29, 2004 at 07:17:57PM +0200, Oliver Eikemeier wrote:
> Hye-Shik Chang wrote:
> 
> >On Tue, Jun 29, 2004 at 06:54:44PM +0200, Michael Nottebrock wrote:
> >>
> >>Perhaps. However, it would still be nice to be able to USE_PYTHON in 
> >>such a
> >>slave port. Is there no way to add some shimmies to bsd.python.mk so a
> >>buildtime only dependency becomes feasible?
> >>
> >
> >Okay.  Please review this patch whether it's enough to resolve the
> >problem.
> >
> >Index: Mk/bsd.python.mk
> >===================================================================
> >RCS file: /home/pcvs/ports/Mk/bsd.python.mk,v
> >retrieving revision 1.50
> >diff -u -r1.50 bsd.python.mk
> >--- Mk/bsd.python.mk	21 Jun 2004 01:33:52 -0000	1.50
> >+++ Mk/bsd.python.mk	29 Jun 2004 17:01:35 -0000
> >@@ -275,11 +275,17 @@
> > .endif
> >
> > # dependencies
> >-PYTHON_NO_DEPENDS?=		NO
> >+PYTHON_NO_DEPENDS?=			NO
> >+PYTHON_NO_BUILD_DEPENDS?=	NO
> >+PYTHON_NO_RUN_DEPENDS?=		NO
> >
> > .if ${PYTHON_NO_DEPENDS} == "NO"
> >+.if ${PYTHON_NO_BUILD_DEPENDS} == "NO"
> > BUILD_DEPENDS+=	${PYTHON_CMD}:${PYTHON_PORTSDIR}
> >+.endif
> >+.if ${PYTHON_NO_RUN_DEPENDS} == "NO"
> > RUN_DEPENDS+=	${PYTHON_CMD}:${PYTHON_PORTSDIR}
> >+.endif
> > .endif		# ${PYTHON_NO_DEPENDS} == "NO"
> >
> > .if defined(USE_ZOPE)
> 
> I would like something more uniform, like USE_PYTHON_BUILD, 
> USE_PYTHON_RUN checked with defined(). The above seems to be too 
> sensitive to bugs like PYTHON_NO_DEPENDS=no, and it is not obvious what 
> ..._NO_... = "NO" means, contrary to ..._NO_... = "yes".
> 

Aah, Right. How about this, then?:


Index: bsd.port.mk
===================================================================
RCS file: /home/pcvs/ports/Mk/bsd.port.mk,v
retrieving revision 1.491
diff -u -r1.491 bsd.port.mk
--- bsd.port.mk	10 Jun 2004 07:30:19 -0000	1.491
+++ bsd.port.mk	29 Jun 2004 17:34:53 -0000
@@ -297,6 +297,9 @@
 #				  that file for more information on USE_PYTHON_*
 #				  and USE_PYDISTUTILS).
 #				  Default: not set.
+# USE_PYTHON_BUILD	- Says that the port uses Python in one or more of the
+#					  extract, patch, build or install phases.
+# USE_PYTHON_RUN	- Says that the port uses Python for running.
 # USE_RUBY		- Says that the port relies on the Ruby language.
 #				  Implies inclusion of bsd.ruby.mk.  (Also see
 #				  that file for more information on USE_RUBY_*).
@@ -1143,7 +1146,7 @@
 .include "${PORTSDIR}/Mk/bsd.php.mk"
 .endif
 
-.if defined(USE_PYTHON)
+.if defined(USE_PYTHON) || defined(USE_PYTHON_BUILD) || defined(USE_PYTHON_RUN)
 .include "${PORTSDIR}/Mk/bsd.python.mk"
 .endif
 
@@ -1531,7 +1534,7 @@
 .include "${PORTSDIR}/Mk/bsd.sdl.mk"
 .endif
 
-.if defined(USE_PYTHON)
+.if defined(USE_PYTHON) || defined(USE_PYTHON_BUILD) || defined(USE_PYTHON_RUN)
 .include "${PORTSDIR}/Mk/bsd.python.mk"
 .endif
 
Index: bsd.python.mk
===================================================================
RCS file: /home/pcvs/ports/Mk/bsd.python.mk,v
retrieving revision 1.50
diff -u -r1.50 bsd.python.mk
--- bsd.python.mk	21 Jun 2004 01:33:52 -0000	1.50
+++ bsd.python.mk	29 Jun 2004 17:34:53 -0000
@@ -132,6 +132,19 @@
 					|| ${ECHO_CMD} ${_PYTHON_PORTBRANCH}
 .endif	# defined(PYTHON_VERSION)
 
+.if !defined(USE_PYTHON)
+.if defined(USE_PYTHON_BUILD)
+USE_PYTHON=		${USE_PYTHON_BUILD}
+.elif defined(USE_PYTHON_RUN)
+USE_PYTHON=		${USE_PYTHON_RUN}
+.else
+USE_PYTHON=		any
+.endif	# defined(USE_PYTHON_BUILD)
+.else
+USE_PYTHON_BUILD=	yes
+USE_PYTHON_RUN=		yes
+.endif	# !defined(USE_PYTHON)
+
 # Validate Python version whether it meets USE_PYTHON version restriction.
 _PYTHON_VERSION_CHECK!=		${ECHO_CMD} "${USE_PYTHON}" | \
 							${SED} 's/^\([1-9]\.[0-9]\)$$/\1-\1/'
@@ -278,8 +291,12 @@
 PYTHON_NO_DEPENDS?=		NO
 
 .if ${PYTHON_NO_DEPENDS} == "NO"
+.if defined(USE_PYTHON_BUILD)
 BUILD_DEPENDS+=	${PYTHON_CMD}:${PYTHON_PORTSDIR}
+.endif
+.if defined(USE_PYTHON_RUN)
 RUN_DEPENDS+=	${PYTHON_CMD}:${PYTHON_PORTSDIR}
+.endif
 .endif		# ${PYTHON_NO_DEPENDS} == "NO"
 
 .if defined(USE_ZOPE)


Hye-Shik


More information about the freebsd-ports mailing list