--- a/components/gcc45/gcc-45-runtime.p5m Wed Jun 27 14:31:20 2012 -0700
+++ b/components/gcc45/gcc-45-runtime.p5m Sat Jun 30 03:06:16 2012 +0100
@@ -18,9 +18,13 @@
#
# CDDL HEADER END
#
-# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
#
+# GCC 4.5 must be built without the workaround active:
+# http://defect.opensolaris.org/bz/show_bug.cgi?id=19009
+<transform file -> set pkg.gcc3 false>
+
set name=pkg.fmri value=pkg:/system/library/gcc-45-runtime@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
set name=pkg.summary value="GCC - 4.5 Runtime"
set name=info.classification value="org.opensolaris.category.2008:Development/C" \
--- a/components/gcc45/gcc-45.p5m Wed Jun 27 14:31:20 2012 -0700
+++ b/components/gcc45/gcc-45.p5m Sat Jun 30 03:06:16 2012 +0100
@@ -18,10 +18,15 @@
#
# CDDL HEADER END
#
-# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
#
<transform file path=usr.*/man/.+ -> default mangler.man.stability uncommitted>
+
+# GCC 4.5 must be built without the workaround active:
+# http://defect.opensolaris.org/bz/show_bug.cgi?id=19009
+<transform file -> set pkg.gcc3 false>
+
set name=pkg.fmri value=pkg:/developer/gcc-45@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
set name=pkg.summary value="GCC - 4.5 Compilers"
set name=info.classification value="org.opensolaris.category.2008:Development/C" \
--- a/transforms/publish-cleanup Wed Jun 27 14:31:20 2012 -0700
+++ b/transforms/publish-cleanup Sat Jun 30 03:06:16 2012 +0100
@@ -18,7 +18,7 @@
#
# CDDL HEADER END
#
-# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
#
#
@@ -33,3 +33,12 @@
# drop the license actions from the manifests, we aren't going to compare them
#<transform license -> drop>
+#
+# Workaround for http://defect.opensolaris.org/bz/show_bug.cgi?id=19009
+# By default disable gcc45. This can be overriden by setting pkg.gcc3 to false.
+#
+<transform file -> default pkg.gcc3 true>
+<transform file pkg.gcc3=true -> add pkg.depend.bypass-generate usr/gcc/4.*>
+<transform file pkg.gcc3=true -> add pkg.depend.bypass-generate usr/lib(.*)/libgcc_s.so.1>
+<transform file pkg.gcc3=true -> add pkg.depend.bypass-generate usr/lib(.*)/libstdc\\+\\+.so.*>
+<transform file pkg.gcc3=.* -> delete pkg.gcc3 .*>