aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2023-07-09 10:31:54 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2023-07-09 10:31:54 +0000
commit5ee3f5d80cb37c8ecbf55093b009c1ab1209b505 (patch)
tree8dddc6e05d0feb330abe40da3b675bbeb4620a3b
parent97380bb19c48baa27a12589ca33443bcd2e96516 (diff)
downloadports-5ee3f5d80cb37c8ecbf55093b009c1ab1209b505.tar.gz
ports-5ee3f5d80cb37c8ecbf55093b009c1ab1209b505.zip
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]
-rw-r--r--databases/mysql80-client/Makefile2
-rw-r--r--databases/mysql80-server/Makefile9
-rw-r--r--databases/mysql80-server/files/extra-patch-scripts_CMakeLists.txt10
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