tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Mac OS X Snow Leopard and "imake"



Am 11.06.2010 um 00:04 schrieb Tim Zingelman:
> The problem seems worse than that now... I see the same as reported here:
>   http://mail-index.netbsd.org/pkgsrc-users/2010/06/04/msg012274.html
> 
> I worked around it by doing this:
>  cd /usr/pkgsrc/devel/imake
>  X11_TYPE=modular bmake install
> and then was able to build other things that depend upon imake without
> X11_TYPE=modular.

The problem is that pkgtools/x11-links believes it depends on imake where in 
fact it does not (or at least I don't see a reason why it should).

I think the dependency gets introduced by mk/buildlink3/imake-check.mk

The CVS comment is also quite interesting:

"If using X11_TYPE=modular this means we have imake(1) from pkgsrc.
We can't use our own imake to check for builtin packages so disable the
check and always report that no builtin implementation exists.
No objections on tech-pkg@"

doing the same for non-modular xorg without native imake, I consequently 
applied the following patch:

--- mk/buildlink3/imake-check.mk.orig   2010-06-12 00:27:43.000000000 +0200
+++ mk/buildlink3/imake-check.mk        2010-06-12 00:33:59.000000000 +0200
@@ -57,16 +57,22 @@
 # .include "../../mk/buildlink3/imake-check.mk"
 #
 
+.if defined(IMAKE)
+_TMP_IMAKE=    ${IMAKE}
+.else
+_TMP_IMAKE=    ${X11BASE}/bin/imake
+.endif
+
 .for _pair_ in ${BUILTIN_IMAKE_CHECK}
 .  for pkg in ${_pair_:C/\:[^:]*$//}
 .  for symbol in ${_pair_:C/^[^:]*\://}
-.  if ${X11_TYPE} == "modular"
+.  if ${X11_TYPE} == "modular" || !exists(${_TMP_IMAKE})
 BUILTIN_IMAKE_CHECK.${pkg}=    no
 .  else
 USE_TOOLS+=    cat:pkgsrc echo:pkgsrc grep:pkgsrc mkdir:pkgsrc         \
                rm:pkgsrc test:pkgsrc
-USE_TOOLS+=    imake:pkgsrc ${IMAKE_TOOLS:S/$/:pkgsrc/}        # XXX
-IMAKE?=                ${X11BASE}/bin/imake                            # XXX
+USE_TOOLS+=    imake:pkgsrc ${IMAKE_TOOLS:S/$/:pkgsrc/}
+IMAKE?=                ${X11BASE}/bin/imake
 
 .    if !defined(BUILTIN_IMAKE_CHECK.${pkg})
 BUILTIN_IMAKE_CHECK.${pkg}!=                           \


This seems to do the trick for me, though I haven't given too much thought yet 
to possible side effects.
Any comments, also on the syntax used, would be welcome.


-- 
Georg Schwarz  http://home.pages.de/~schwarz/
georg.schwarz%freenet.de@localhost +49 170 8768585







Home | Main Index | Thread Index | Old Index