aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2022-04-14 17:00:58 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2022-04-14 17:00:58 +0000
commit92d6b833f0a0bd5ef69af2b87dbc97174aaa395c (patch)
tree8a5b574fcf112179ad37deadfbd7e59c267276dc
parent94d5b74e39987d04e0af6e2ce4bbb4c27d1e4d07 (diff)
downloadports-92d6b833f0a0bd5ef69af2b87dbc97174aaa395c.tar.gz
ports-92d6b833f0a0bd5ef69af2b87dbc97174aaa395c.zip
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
-rw-r--r--devel/gdb/Makefile17
-rw-r--r--devel/gdb/pkg-plist4
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