summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2021-11-04 21:37:07 +0100
committerFabian Groffen <grobian@gentoo.org>2021-11-04 21:37:16 +0100
commit9deec41183bab5d5e490f152d5971920214e6d66 (patch)
treedd41ac991090c425777c81df1a43d2e314a112e9
parentsci-libs/pcl: fix build with newer VTK (diff)
downloadgentoo-9deec41183bab5d5e490f152d5971920214e6d66.tar.gz
gentoo-9deec41183bab5d5e490f152d5971920214e6d66.tar.bz2
gentoo-9deec41183bab5d5e490f152d5971920214e6d66.zip
sys-devel/binutils-apple-8.2.1-r101: fix build on macOS monterey
Based on original path by Tee KOBAYASHI, which was based on work from https://trac.macports.org/ticket/63221 Adapted to be conditional, that is, only defined when not yet defined. Closes: https://bugs.gentoo.org/821697 Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Fabian Groffen <grobian@gentoo.org>
-rw-r--r--sys-devel/binutils-apple/binutils-apple-8.2.1-r101.ebuild4
-rw-r--r--sys-devel/binutils-apple/files/binutils-apple-8.2.1-macos-12.patch24
2 files changed, 28 insertions, 0 deletions
diff --git a/sys-devel/binutils-apple/binutils-apple-8.2.1-r101.ebuild b/sys-devel/binutils-apple/binutils-apple-8.2.1-r101.ebuild
index dc08967e9583..091e4e5990b4 100644
--- a/sys-devel/binutils-apple/binutils-apple-8.2.1-r101.ebuild
+++ b/sys-devel/binutils-apple/binutils-apple-8.2.1-r101.ebuild
@@ -27,6 +27,10 @@ BDEPEND=""
S="${WORKDIR}/darwin-xtools-gentoo-${PVR}"
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.2.1-macos-12.patch
+)
+
src_configure() {
CTARGET=${CTARGET:-${CHOST}}
if [[ ${CTARGET} == ${CHOST} ]] ; then
diff --git a/sys-devel/binutils-apple/files/binutils-apple-8.2.1-macos-12.patch b/sys-devel/binutils-apple/files/binutils-apple-8.2.1-macos-12.patch
new file mode 100644
index 000000000000..b30f91d44cb5
--- /dev/null
+++ b/sys-devel/binutils-apple/files/binutils-apple-8.2.1-macos-12.patch
@@ -0,0 +1,24 @@
+Extracted from the patch in
+https://reviews.llvm.org/rG96d071cd0ccc53bbf94bcd6ed4b52c9006b17e15
+License is unclear.
+
+support macOS Monterey by providing definitions which formerly were
+provided
+
+--- a/cctools/otool/print_objc.c
++++ b/cctools/otool/print_objc.c
+@@ -75,6 +75,14 @@
+ uint32_t protocols; /* struct objc_protocol_list * (32-bit pointer) */
+ };
+
++#ifndef CLS_GETINFO
++# define CLS_GETINFO(cls, infomask) ((cls)->info & (infomask))
++// class is not a metaclass
++#define CLS_CLASS 0x1
++// class is a metaclass
++#define CLS_META 0x2
++#endif
++
+ struct objc_category_t {
+ uint32_t category_name; /* char * (32-bit pointer) */
+ uint32_t class_name; /* char * (32-bit pointer) */