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