git: 92d6b833f0a0 - main - devel/gdb: Handle recent 14.0 systems with libc++ in /lib.

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Thu, 14 Apr 2022 17:06:10 UTC
The branch main has been updated by jhb (doc, src committer):

URL: https://cgit.FreeBSD.org/ports/commit/?id=92d6b833f0a0bd5ef69af2b87dbc97174aaa395c

commit 92d6b833f0a0bd5ef69af2b87dbc97174aaa395c
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2022-04-14 17:00:58 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2022-04-14 17:00:58 +0000

    devel/gdb: Handle recent 14.0 systems with libc++ in /lib.
    
    The auto-load python wrapper for libc++ pretty printers has to be
    installed at the same path as libc++ to work correctly.  Update the
    port to install the top-level wrapper in lib/ under the auto-load data
    directory instead of usr/lib on recent 14.0 systems.
    
    Reviewed by:    emaste
    Differential Revision:  https://reviews.freebsd.org/D34636
---
 devel/gdb/Makefile  | 17 +++++++++++++----
 devel/gdb/pkg-plist |  4 ++--
 2 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/devel/gdb/Makefile b/devel/gdb/Makefile
index 571e3b460996..66ae1ce8316a 100644
--- a/devel/gdb/Makefile
+++ b/devel/gdb/Makefile
@@ -92,7 +92,8 @@ PKGNAMESUFFIX=	${PYTHON_PKGNAMESUFFIX}
 .endif
 .endif
 
-.if ${PORT_OPTIONS:MPYTHON} && exists(/usr/lib/libc++.so.1)
+.if ${PORT_OPTIONS:MPYTHON} && \
+    (exists(/usr/lib/libc++.so.1) || exists(/lib/libc++.so.1))
 USE_GITHUB=	nodefault
 
 GH_ACCOUNT=	bsdjhb:libcxx
@@ -102,6 +103,13 @@ GH_TAGNAME=	03d0d9b:libcxx
 # Workaround USE_GITHUB preventing the default DISTFILES
 DISTFILES=	${DISTNAME}${EXTRACT_SUFX}
 
+.if exists(/usr/lib/libc++.so.1)
+LIBCXX_DIR=	/usr/lib
+.else
+LIBCXX_DIR=	/lib
+.endif
+
+PLIST_SUB+=	LIBCXX_DIR="${LIBCXX_DIR}"
 PLIST_SUB+=	LIBCXX=""
 .else
 PLIST_SUB+=	LIBCXX="@comment "
@@ -162,10 +170,11 @@ do-install-PYTHON-on:
 . for f in gdb gdb/command gdb/function gdb/printer
 	@(cd ${STAGEDIR}${PREFIX}/share/gdb/python/${f} ; ${CHMOD} 644 *.py* )
 . endfor
-.if exists(/usr/lib/libc++.so.1)
+.if exists(/usr/lib/libc++.so.1) || exists(/lib/libc++.so.1)
 	@(cd ${WRKSRC_libcxx} ; \
-		${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_ARGS} install )
-	@(cd ${STAGEDIR}${PREFIX}/share/gdb/auto-load/usr/lib && \
+		${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_ARGS} \
+		    LIBCXX_DIR="${LIBCXX_DIR}" install )
+	@(cd ${STAGEDIR}${PREFIX}/share/gdb/auto-load/${LIBCXX_DIR} && \
 		${PYTHON_CMD} -m compileall .)
 	@(cd ${STAGEDIR}${PREFIX}/share/libcxx-gdbpy/libcxx && \
 		${PYTHON_CMD} -m compileall .)
diff --git a/devel/gdb/pkg-plist b/devel/gdb/pkg-plist
index 653d280c5b1a..4efe03c46e1a 100644
--- a/devel/gdb/pkg-plist
+++ b/devel/gdb/pkg-plist
@@ -7,8 +7,8 @@ bin/gdb%%VER%%
 man/man1/gdb%%VER%%.1.gz
 %%GDB_LINK%%%%KGDB%%man/man1/kgdb.1.gz
 %%KGDB%%man/man1/kgdb%%VER%%.1.gz
-%%LIBCXX%%%%DATADIR%%/auto-load/usr/lib/libc++.so.1-gdb.py
-%%LIBCXX%%%%DATADIR%%/auto-load/usr/lib/libc++.so.1-gdb.pyc
+%%LIBCXX%%%%DATADIR%%/auto-load%%LIBCXX_DIR%%/libc++.so.1-gdb.py
+%%LIBCXX%%%%DATADIR%%/auto-load%%LIBCXX_DIR%%/libc++.so.1-gdb.pyc
 %%PYTHON%%%%DATADIR%%/python/gdb/__init__.py
 %%PYTHON%%%%DATADIR%%/python/gdb/__init__.pyc
 %%PYTHON%%%%DATADIR%%/python/gdb/FrameDecorator.py