The problem:  Say you have gcc-4.2.4 installed and try to build
qemu-old, which needs gcc-3.3.6...

--------------->
===>  qemu-0.9.1p18 depends on: texi2html-* - found
===>  qemu-0.9.1p18 depends on: gcc-* - found
===>  qemu-0.9.1p18 depends on: gmake-* - found
===>  qemu-0.9.1p18 depends on: groff->=1.15.4.7p2 - found
===>  qemu-0.9.1p18 depends on: sdl-* - found
===>  Verifying specs: c m ossaudio z pthread SDL c m ossaudio z pthread SDL
===>  found c.58.0 m.5.2 ossaudio.3.1 z.4.1 pthread.13.1 SDL.8.0
===>  Checking files for qemu-0.9.1p18
`/usr/ports/distfiles/qemu-0.9.1.tar.gz' is up to date.
>> (SHA256) qemu-0.9.1.tar.gz: OK
===>  Extracting for qemu-0.9.1p18
===>  Patching for qemu-0.9.1p18
===>  Configuring for qemu-0.9.1p18
WARNING: "cc" looks like gcc 4.x
Looking for gcc 3.x
gcc 3.x not found!
QEMU is known to have problems when compiled with gcc 4.x
It is recommended that you use gcc 3.x to build QEMU
To use this compiler anyway, configure with --disable-gcc-check
*** Error code 1
<---------------

This tightens the build depends so that only gcc3 (gcc4) will be
accepted where gcc3 (gcc4) is required and not the other version.
Since these are only build depends, no bumps should be required.

Index: 3.3/gcc3.port.mk
===================================================================
RCS file: /cvs/ports/lang/gcc/3.3/gcc3.port.mk,v
retrieving revision 1.6
diff -u -p -r1.6 gcc3.port.mk
--- 3.3/gcc3.port.mk    15 Jan 2011 01:07:45 -0000      1.6
+++ 3.3/gcc3.port.mk    18 Mar 2011 17:38:15 -0000
@@ -11,21 +11,21 @@ MODGCC3_LANGS+=     ${_MODGCC3CC}
 .if ${MODGCC3_ARCHES:L} != ""
 .  for _i in ${MODGCC3_ARCHES}
 .    if !empty(MACHINE_ARCH:M${_i})
-BUILD_DEPENDS+=        lang/gcc/3.3
+BUILD_DEPENDS+=        gcc->=3.3,<3.4|gcc->=3.3v0,<3.4v0:lang/gcc/3.3
 .      for _j in ${MODGCC3_LANGS:L}
 .        if !empty(_MODGCC3CC:L:M${_j})
 MODGCC3_post-patch+= ln -s ${LOCALBASE}/bin/eg${_MODGCC3CC} 
${WRKDIR}/bin/g${_MODGCC3CC};
 MODGCC3_post-patch+= ln -s ${LOCALBASE}/bin/eg${_MODGCC3CC} 
${WRKDIR}/bin/${_MODGCC3CC};
 .        endif
 .        if !empty(_MODGCC3CXX:L:M${_j})
-BUILD_DEPENDS+=        lang/gcc/3.3,-c++
+BUILD_DEPENDS+=        g++->=3.3,<3.4|g++->=3.3v0,<3.4v0:lang/gcc/3.3,-c++
 LIB_DEPENDS+=  
libstdc++->=3.3,<3.4|libstdc++->=3.3v0,<3.4v0:lang/gcc/3.3,-estdc
 WANTLIB +=     estdc++=6
 MODGCC3_post-patch+= ln -s ${LOCALBASE}/bin/e${_MODGCC3CXX} ${WRKDIR}/bin/g++;
 MODGCC3_post-patch+= ln -s ${LOCALBASE}/bin/e${_MODGCC3CXX} 
${WRKDIR}/bin/${_MODGCC3CXX};
 .        endif
 .        if !empty(_MODGCC3G77:L:M${_j})
-BUILD_DEPENDS+=        lang/gcc/3.3,-g77
+BUILD_DEPENDS+=        g77->=3.3,<3.4|g77->=3.3v0,<3.4v0:lang/gcc/3.3,-g77
 MODGCC3_post-patch+= ln -s ${LOCALBASE}/bin/e${_MODGCC3G77} ${WRKDIR}/bin/f77;
 MODGCC3_post-patch+= ln -s ${LOCALBASE}/bin/e${_MODGCC3G77} 
${WRKDIR}/bin/${_MODGCC3G77};
 .       endif
Index: 4.2/gcc4.port.mk
===================================================================
RCS file: /cvs/ports/lang/gcc/4.2/gcc4.port.mk,v
retrieving revision 1.11
diff -u -p -r1.11 gcc4.port.mk
--- 4.2/gcc4.port.mk    17 Nov 2010 08:05:17 -0000      1.11
+++ 4.2/gcc4.port.mk    18 Mar 2011 17:40:44 -0000
@@ -33,7 +33,7 @@ _MODGCC4_LINKS =
 .if ${_MODGCC4_ARCH_USES:L} == "yes"
 
 .  if ${MODGCC4_LANGS:L:Mc} && ${COMPILER_VERSION:L:Ngcc4*}
-BUILD_DEPENDS += lang/gcc/4.2
+BUILD_DEPENDS += gcc->=4.2,<4.3|gcc->=4.2v0,<4.3v0:lang/gcc/4.2
 _MODGCC4_LINKS += egcc gcc egcc cc
 .  endif
 
@@ -42,7 +42,7 @@ _MODGCC4_LINKS += egcc gcc egcc cc
 MODGCC4STDCPP = stdc++
 WANTLIB += stdc++>=50.0
 .    else
-BUILD_DEPENDS += lang/gcc/4.2,-c++
+BUILD_DEPENDS += g++->=4.2,<4.3|g++->=4.2v0,<4.3v0:lang/gcc/4.2,-c++
 MODGCC4STDCPP = estdc++
 LIB_DEPENDS += 
libstdc++->=4.2,<4.3|libstdc++->=4.2v0,<4.3v0:lang/gcc/4.2,-estdc
 WANTLIB += estdc++>=7
@@ -51,14 +51,14 @@ _MODGCC4_LINKS += eg++ g++ eg++ c++
 .  endif
 
 .  if ${MODGCC4_LANGS:L:Mfortran}
-BUILD_DEPENDS += lang/gcc/4.2,-f95
+BUILD_DEPENDS += g95->=4.2,<4.3|g95->=4.2v0,<4.3v0:lang/gcc/4.2,-f95
 WANTLIB += gfortran>=2
 LIB_DEPENDS += g95->=4.2,<4.3|g95->=4.2v0,<4.3v0:lang/gcc/4.2,-f95
 _MODGCC4_LINKS += egfortran gfortran
 .  endif
 
 .  if ${MODGCC4_LANGS:L:Mjava}
-BUILD_DEPENDS += lang/gcc/4.2,-java,java
+BUILD_DEPENDS += gcj->=4.2,<4.3|gcj->=4.2v0,<4.3v0:lang/gcc/4.2,-java,java
 _MODGCC4_LINKS += egcj gcj egcjh gcjh ejar gjar egij gij
 .  endif
 
-- 
Christian "naddy" Weisgerber                          na...@mips.inka.de

Reply via email to