On 03/30/14 17:29, Christian Weisgerber wrote:
> sthen's "quick hack" to unbreak gcc 4.8 after the gets() removal doesn't
> work for me. I don't see how it could, since _GLIBCXX_HAVE_GETS is
> defined *after* the #undef the substitution introduces.
>
> With the diff below instead, gcc 4.8 builds for me on amd64.
> Anybody want to test another arch?
>
> OK?
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/lang/gcc/4.8/Makefile,v
> retrieving revision 1.32
> diff -u -p -r1.32 Makefile
> --- Makefile 29 Mar 2014 15:01:51 -0000 1.32
> +++ Makefile 30 Mar 2014 15:14:32 -0000
> @@ -259,7 +259,8 @@ post-extract:
> cp ${FULLDISTDIR}/${ECJ} ${WRKSRC}/ecj.jar
> .endif
> .if ${BUILD_PACKAGES:M-ada}
> - perl -pi -e 's,^#endif$$,#undef _GLIBCXX_HAVE_GETS\n#endif,'
> ${WRKDIR}/bootstrap/include/c++/*/*/bits/os_defines.h
> + perl -pi -e 's,^#define (_GLIBCXX_HAVE_GETS) .*,/* #undef $$1 */,' \
> + ${WRKDIR}/bootstrap/include/c++/*/*/bits/c++config.h
> .endif
>
> post-install:
>
Was broken for me on both amd64/i386.
rebuilt g++-4.8.2p4.tgz on amd64/i386
the rest of 4.8 packages didn't need rebuilding.
Redoing, after removing all gcc/4.8 packages to make sure
dpb doesn't always do things in the same order on rebuilds.
Ok