git: 5ee3f5d80cb3 - main - databases/mysql80-client: Fix mysqlclient.pc
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 09 Jul 2023 10:46:21 UTC
The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=5ee3f5d80cb37c8ecbf55093b009c1ab1209b505 commit 5ee3f5d80cb37c8ecbf55093b009c1ab1209b505 Author: Po-Chuan Hsieh <sunpoet@FreeBSD.org> AuthorDate: 2023-07-09 10:31:54 +0000 Commit: Po-Chuan Hsieh <sunpoet@FreeBSD.org> CommitDate: 2023-07-09 10:31:54 +0000 databases/mysql80-client: Fix mysqlclient.pc - Bump PORTREVISION for package change Not all supported FreeBSD releases has openssl.pc in base system. This patch adds a check for openssl.pc. It helps to build databases/py-mysqlclient. If you do not have openssl.pc from your SSL provider. Before the fix: % grep Requires.private: /usr/local/libdata/pkgconfig/mysqlclient.pc Requires.private: openssl After the fix: % grep Requires.private: /usr/local/libdata/pkgconfig/mysqlclient.pc Requires.private: The build log [1] of databases/py-mysqlclient without the fix: ===> Building for py39-mysqlclient-2.2.0 * Getting build dependencies for wheel... Package openssl was not found in the pkg-config search path. Perhaps you should add the directory containing `openssl.pc' to the PKG_CONFIG_PATH environment variable Package 'openssl', required by 'mysqlclient', not found Trying pkg-config --exists mysqlclient Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py", line 353, in <module> main() File "/usr/local/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py", line 335, in main json_out['return_val'] = hook(**hook_input['kwargs']) File "/usr/local/lib/python3.9/site-packages/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel return hook(config_settings) File "/usr/local/lib/python3.9/site-packages/setuptools/build_meta.py", line 177, in get_requires_for_build_wheel return self._get_build_requires( File "/usr/local/lib/python3.9/site-packages/setuptools/build_meta.py", line 159, in _get_build_requires self.run_setup() File "/usr/local/lib/python3.9/site-packages/setuptools/build_meta.py", line 174, in run_setup exec(compile(code, __file__, 'exec'), locals()) File "setup.py", line 154, in <module> ext_options = get_config_posix(get_options()) File "setup.py", line 50, in get_config_posix cflags = subprocess.check_output( File "/usr/local/lib/python3.9/subprocess.py", line 424, in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, File "/usr/local/lib/python3.9/subprocess.py", line 528, in run raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command 'pkg-config --cflags mysqlclient' returned non-zero exit status 1. ERROR Backend subprocess exited when trying to invoke get_requires_for_build_wheel *** Error code 1 Stop. make: stopped in /usr/ports/databases/py-mysqlclient Approved by: portmgr (blanket) Reference: https://pkg-status.freebsd.org/beefy16/data/131amd64-default/0f3f003a3111/logs/py39-mysqlclient-2.2.0.log [1] --- databases/mysql80-client/Makefile | 2 +- databases/mysql80-server/Makefile | 9 ++++++++- .../mysql80-server/files/extra-patch-scripts_CMakeLists.txt | 10 ++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/databases/mysql80-client/Makefile b/databases/mysql80-client/Makefile index 9cfa8d717d8b..3ac1d1bcef1b 100644 --- a/databases/mysql80-client/Makefile +++ b/databases/mysql80-client/Makefile @@ -1,5 +1,5 @@ PORTNAME= mysql -PORTREVISION= 2 +PORTREVISION= 3 PKGNAMESUFFIX= 80-client COMMENT= Multithreaded SQL database (client) diff --git a/databases/mysql80-server/Makefile b/databases/mysql80-server/Makefile index 876d9757d1a3..1d5156b365ef 100644 --- a/databases/mysql80-server/Makefile +++ b/databases/mysql80-server/Makefile @@ -194,9 +194,16 @@ CXXFLAGS+= -malign-double USES+= compiler:c++17-lang .endif +.include <bsd.port.pre.mk> + post-extract: @${RM} -rv ${WRKSRC}/sql/sql_hints.yy.cc ${WRKSRC}/sql/sql_hints.yy.h +# This can be removed after FreeBSD 12.4 and 13.1 EoL +.if defined(CLIENT_ONLY) && !exists(${OPENSSLBASE}/libdata/pkgconfig/openssl.pc) +EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-scripts_CMakeLists.txt +.endif + .if !defined(CLIENT_ONLY) post-install: ${MKDIR} ${STAGEDIR}${ETCDIR} @@ -206,4 +213,4 @@ post-install: ${MKDIR} ${STAGEDIR}${MY_TMPDIR} .endif -.include <bsd.port.mk> +.include <bsd.port.post.mk> diff --git a/databases/mysql80-server/files/extra-patch-scripts_CMakeLists.txt b/databases/mysql80-server/files/extra-patch-scripts_CMakeLists.txt new file mode 100644 index 000000000000..df891b025ccd --- /dev/null +++ b/databases/mysql80-server/files/extra-patch-scripts_CMakeLists.txt @@ -0,0 +1,10 @@ +--- scripts/CMakeLists.txt.orig 2022-12-16 15:34:44 UTC ++++ scripts/CMakeLists.txt +@@ -362,7 +362,6 @@ IF (WITH_SSL STREQUAL "system") + # We have implemented "system" for other platforms as well, but those + # are non-native packages. + IF(LINUX OR SOLARIS OR FREEBSD) +- SET(CONFIG_REQUIRES_PRIVATE "openssl") + STRING(REPLACE "-lssl" "" CONFIG_LIBS_PRIVATE "${CONFIG_LIBS_PRIVATE}") + STRING(REPLACE "-lcrypto" "" CONFIG_LIBS_PRIVATE "${CONFIG_LIBS_PRIVATE}") + STRING(REGEX REPLACE "[ ]+" " " CONFIG_LIBS_PRIVATE