aboutsummaryrefslogtreecommitdiff
path: root/databases/mysql-connector-c
diff options
context:
space:
mode:
authorJohn Marino <marino@FreeBSD.org>2016-09-13 16:17:21 +0000
committerJohn Marino <marino@FreeBSD.org>2016-09-13 16:17:21 +0000
commit240f33dfa0ddd7ecb1ae55ecc32cef8efc337c16 (patch)
treeb3a0b60e2c3496e6f82f2e6e4d38e8adef863f57 /databases/mysql-connector-c
parentd977e59822f9938b6609afd274518069a594d094 (diff)
downloadports-240f33dfa0ddd7ecb1ae55ecc32cef8efc337c16.tar.gz
ports-240f33dfa0ddd7ecb1ae55ecc32cef8efc337c16.zip
databases/mysql-connector-c: Fix build for non-base SSL, support LibreSSL
Also, SSL is only a build requirement. While here, prevent extract shared libraries from building on DragonFly. Approved by: SSL blanket
Notes
Notes: svn path=/head/; revision=422030
Diffstat (limited to 'databases/mysql-connector-c')
-rw-r--r--databases/mysql-connector-c/Makefile13
-rw-r--r--databases/mysql-connector-c/files/patch-cmake_ssl.cmake22
-rw-r--r--databases/mysql-connector-c/files/patch-libmysql_CMakeLists.txt11
3 files changed, 35 insertions, 11 deletions
diff --git a/databases/mysql-connector-c/Makefile b/databases/mysql-connector-c/Makefile
index ad44dd96c8e0..8a52d5293c14 100644
--- a/databases/mysql-connector-c/Makefile
+++ b/databases/mysql-connector-c/Makefile
@@ -12,11 +12,8 @@ COMMENT= MySQL database connector for C
LICENSE= GPLv2
-USE_OPENSSL= yes
-WITH_OPENSSL_PORT=yes
-USES= cmake:outsource compiler:features mysql
-CMAKE_ARGS+= -DWITH_SSL=system \
- -DOPENSSL_INCLUDE_DIR=${LOCALBASE}/include/openssl
+USES= cmake:outsource compiler:features mysql ssl:build
+CMAKE_ARGS+= -DOPENSSL_INCLUDE_DIR="${OPENSSLINC}"
USE_LDCONFIG= ${PREFIX}/lib/${PORTNAME}
PLIST_SUB+= PORTVERSION=${PORTVERSION}
@@ -27,4 +24,10 @@ PLIST_SUB+= PORTVERSION=${PORTVERSION}
CFLAGS+= -march=i586
.endif
+.if ${SSL_DEFAULT} == base
+CMAKE_ARGS+= -DWITH_SSL="system"
+.else
+CMAKE_ARGS+= -DWITH_SSL="${OPENSSLBASE}"
+.endif
+
.include <bsd.port.post.mk>
diff --git a/databases/mysql-connector-c/files/patch-cmake_ssl.cmake b/databases/mysql-connector-c/files/patch-cmake_ssl.cmake
index c240d3089cda..b085b4c85afa 100644
--- a/databases/mysql-connector-c/files/patch-cmake_ssl.cmake
+++ b/databases/mysql-connector-c/files/patch-cmake_ssl.cmake
@@ -1,14 +1,24 @@
--- cmake/ssl.cmake.orig 2015-02-25 21:09:49 UTC
+++ cmake/ssl.cmake
-@@ -164,9 +164,9 @@ MACRO (MYSQL_CHECK_SSL)
- # Verify version number. Version information looks like:
- # #define OPENSSL_VERSION_NUMBER 0x1000103fL
+@@ -166,17 +166,19 @@ MACRO (MYSQL_CHECK_SSL)
# Encoded as MNNFFPPS: major minor fix patch status
-- FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
-+ FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/opensslv.h"
+ FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
OPENSSL_VERSION_NUMBER
- REGEX "^#define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
-+ REGEX "^#[\t ]define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
++ REGEX "define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
)
STRING(REGEX REPLACE
"^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1"
+ OPENSSL_MAJOR_VERSION "${OPENSSL_VERSION_NUMBER}"
+ )
+
++ # LibreSSL is allowed too
+ IF(OPENSSL_INCLUDE_DIR AND
+ OPENSSL_LIBRARY AND
+ CRYPTO_LIBRARY AND
+- OPENSSL_MAJOR_VERSION STREQUAL "1"
++ (OPENSSL_MAJOR_VERSION STREQUAL "1" OR
++ OPENSSL_MAJOR_VERSION STREQUAL "2")
+ )
+ SET(OPENSSL_FOUND TRUE)
+ ELSE()
diff --git a/databases/mysql-connector-c/files/patch-libmysql_CMakeLists.txt b/databases/mysql-connector-c/files/patch-libmysql_CMakeLists.txt
new file mode 100644
index 000000000000..5575e89f24c2
--- /dev/null
+++ b/databases/mysql-connector-c/files/patch-libmysql_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- libmysql/CMakeLists.txt.orig 2015-02-25 21:09:49 UTC
++++ libmysql/CMakeLists.txt
+@@ -254,7 +254,7 @@ IF(NOT DISABLE_SHARED)
+ COMPONENT SharedLibraries)
+ IF(UNIX)
+ # libtool compatability
+- IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE)
++ IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD|DragonFly" OR APPLE)
+ SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}")
+ ELSE()
+ SET(OS_SHARED_LIB_VERSION