commit:     1705044f972d682f24cc6dd80707f844f2e32f16
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 23 20:55:33 2020 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Mon Nov 23 20:55:33 2020 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=1705044f

sys-devel/gcc-10.1.0-r1: add fixincludes addition for darwin

Package-Manager: Portage-3.0.10-prefix, Repoman-3.0.2
RepoMan-Options: --force
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>

 sys-devel/gcc/gcc-10.1.0-r1.ebuild | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/sys-devel/gcc/gcc-10.1.0-r1.ebuild 
b/sys-devel/gcc/gcc-10.1.0-r1.ebuild
index 6709c606d0..4acd295e38 100644
--- a/sys-devel/gcc/gcc-10.1.0-r1.ebuild
+++ b/sys-devel/gcc/gcc-10.1.0-r1.ebuild
@@ -12,7 +12,9 @@ KEYWORDS="~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos 
~x64-macos ~sparc-solar
 RDEPEND=""
 BDEPEND="
        kernel_linux? ( ${CATEGORY}/binutils )
-       kernel_Darwin? || ( ${CATEGORY}/binutils-apple 
${CATEGORY}/native-cctools )
+       kernel_Darwin? (
+               || ( ${CATEGORY}/binutils-apple ${CATEGORY}/native-cctools )
+       )
        kernel_AIX? ( ${CATEGORY}/native-cctools )"
 
 src_prepare() {
@@ -43,6 +45,21 @@ src_prepare() {
                        libgcc/config/t-slibgcc-darwin || die
        fi
 
+       # for Darwin, allow compilation of anything using Authorization
+       # Framework (e.g. gnutls)
+       cat >> fixincludes/inclhack.def <<- EOF
+               /* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93082 */
+               fix = {
+                       hackname  = darwin_authorization;
+                       mach      = "*-*-darwin*";
+                       files     = 
Frameworks/Security.framework/Headers/Authorization.h;
+                       select    = "static const size_t 
kAuthorizationExternalFormLength = 32;\n";
+                       c_fix     = format;
+                       c_fix_arg = "enum { kAuthorizationExternalFormLength = 
32 };\n";
+                       test_text = "static const size_t 
kAuthorizationExternalFormLength = 32;\n";
+               };
+       EOF
+
        eapply_user
 }
 

Reply via email to