Sat May 8 15:51:28 2021 UTC ()
merge the version check for Darwin and !Darwin

mariadb55-client is now detected and used if available on macOS


(jdolecek)
diff -r1.28 -r1.29 pkgsrc/mk/mysql.buildlink3.mk

cvs diff -r1.28 -r1.29 pkgsrc/mk/mysql.buildlink3.mk (switch to unified diff)

--- pkgsrc/mk/mysql.buildlink3.mk 2020/10/20 21:53:31 1.28
+++ pkgsrc/mk/mysql.buildlink3.mk 2021/05/08 15:51:28 1.29
@@ -1,139 +1,134 @@ @@ -1,139 +1,134 @@
1# $NetBSD: mysql.buildlink3.mk,v 1.28 2020/10/20 21:53:31 otis Exp $ 1# $NetBSD: mysql.buildlink3.mk,v 1.29 2021/05/08 15:51:28 jdolecek Exp $
2# 2#
3# This file is included by packages that require some version of the 3# This file is included by packages that require some version of the
4# MySQL database client. 4# MySQL database client.
5# 5#
6# User-settable variables: 6# User-settable variables:
7# 7#
8# MYSQL_VERSION_DEFAULT 8# MYSQL_VERSION_DEFAULT
9# The preferred MySQL version. 9# The preferred MySQL version.
10# 10#
11# Possible: 57 56 MARIADB55 11# Possible: 57 56 MARIADB55
12# Default: 57 12# Default: 57
13# 13#
14# Package-settable variables: 14# Package-settable variables:
15# 15#
16# MYSQL_VERSIONS_ACCEPTED 16# MYSQL_VERSIONS_ACCEPTED
17# The list of MySQL versions that the package accepts. 17# The list of MySQL versions that the package accepts.
18# 18#
19# Possible: (see MYSQL_VERSION_DEFAULT) 19# Possible: (see MYSQL_VERSION_DEFAULT)
20# Default: (all) 20# Default: (all)
21# 21#
22# Variables set by this file: 22# Variables set by this file:
23# 23#
24# MYSQL_VERSION 24# MYSQL_VERSION
25 25
26.if !defined(MYSQL_VERSION_MK) 26.if !defined(MYSQL_VERSION_MK)
27MYSQL_VERSION_MK= # defined 27MYSQL_VERSION_MK= # defined
28 28
29BUILD_DEFS+= MYSQL_VERSION_DEFAULT 29BUILD_DEFS+= MYSQL_VERSION_DEFAULT
30BUILD_DEFS_EFFECTS+= MYSQL_PKGSRCDIR 30BUILD_DEFS_EFFECTS+= MYSQL_PKGSRCDIR
31 31
32_VARGROUPS+= mysql 32_VARGROUPS+= mysql
33_USER_VARS.mysql= MYSQL_VERSION_DEFAULT 33_USER_VARS.mysql= MYSQL_VERSION_DEFAULT
34_PKG_VARS.mysql= MYSQL_VERSIONS_ACCEPTED 34_PKG_VARS.mysql= MYSQL_VERSIONS_ACCEPTED
35_SYS_VARS.mysql= MYSQL_PKGSRCDIR 35_SYS_VARS.mysql= MYSQL_PKGSRCDIR
36 36
37.include "../../mk/bsd.prefs.mk" 37.include "../../mk/bsd.prefs.mk"
38 38
39MYSQL_VERSION_DEFAULT?= 57 39MYSQL_VERSION_DEFAULT?= 57
40MYSQL_VERSIONS_ACCEPTED?= 57 56 MARIADB55 40MYSQL_VERSIONS_ACCEPTED?= 57 56 MARIADB55
41 41
42# transform the list into individual variables 42# transform the list into individual variables
43.for mv in ${MYSQL_VERSIONS_ACCEPTED} 43.for mv in ${MYSQL_VERSIONS_ACCEPTED}
44_MYSQL_VERSION_${mv}_OK= yes 44_MYSQL_VERSION_${mv}_OK= yes
45.endfor 45.endfor
46 46
47# check what is installed 47# check what is installed
48.if ${OPSYS} == "Darwin" 48.if ${OPSYS} == "Darwin"
49. if exists(${LOCALBASE}/lib/libmysqlclient.20.dylib) 49_MYSQL_SO_57= 20.dylib
50_MYSQL_VERSION_57_INSTALLED= yes 50_MYSQL_SO_56= 18.dylib
51_MYSQL_VERSION_INSTALLED= 57 
52. endif 
53. if exists(${LOCALBASE}/lib/libmysqlclient.18.dylib) 
54. if exists(${LOCALBASE}/include/mysql/mysql/client_authentication.h) 
55_MYSQL_VERSION_56_INSTALLED= yes 
56_MYSQL_VERSION_INSTALLED= 56 
57. endif 
58. endif 
59.else 51.else
60. if exists(${LOCALBASE}/lib/libmysqlclient.so.20) 52_MYSQL_SO_57= so.20
 53_MYSQL_SO_56= so.18
 54.endif
 55
 56.if exists(${LOCALBASE}/lib/libmysqlclient.${_MYSQL_SO_57})
61_MYSQL_VERSION_57_INSTALLED= yes 57_MYSQL_VERSION_57_INSTALLED= yes
62_MYSQL_VERSION_INSTALLED= 57 58_MYSQL_VERSION_INSTALLED= 57
63. endif 59.endif
64. if exists(${LOCALBASE}/lib/libmysqlclient.so.18) 60.if exists(${LOCALBASE}/lib/libmysqlclient.${_MYSQL_SO_56})
65. if exists(${LOCALBASE}/include/mysql/mysql/client_authentication.h) 61. if exists(${LOCALBASE}/include/mysql/mysql/client_authentication.h)
66_MYSQL_VERSION_56_INSTALLED= yes 62_MYSQL_VERSION_56_INSTALLED= yes
67_MYSQL_VERSION_INSTALLED= 56 63_MYSQL_VERSION_INSTALLED= 56
68. elif exists(${LOCALBASE}/share/mariadb) 64. elif exists(${LOCALBASE}/share/mariadb)
69_MYSQL_VERSION_MARIADB55_INSTALLED= yes 65_MYSQL_VERSION_MARIADB55_INSTALLED= yes
70_MYSQL_VERSION_INSTALLED= MARIADB55 66_MYSQL_VERSION_INSTALLED= MARIADB55
71. endif 
72. endif 67. endif
73.endif 68.endif
74 69
75 70
76# if a version is explicitely required, take it 71# if a version is explicitely required, take it
77.if defined(MYSQL_VERSION_REQD) 72.if defined(MYSQL_VERSION_REQD)
78_MYSQL_VERSION= ${MYSQL_VERSION_REQD} 73_MYSQL_VERSION= ${MYSQL_VERSION_REQD}
79.endif 74.endif
80# if the default is already installed, it is first choice 75# if the default is already installed, it is first choice
81.if !defined(_MYSQL_VERSION) 76.if !defined(_MYSQL_VERSION)
82. if defined(_MYSQL_VERSION_${MYSQL_VERSION_DEFAULT}_OK) 77. if defined(_MYSQL_VERSION_${MYSQL_VERSION_DEFAULT}_OK)
83. if defined(_MYSQL_VERSION_${MYSQL_VERSION_DEFAULT}_INSTALLED) 78. if defined(_MYSQL_VERSION_${MYSQL_VERSION_DEFAULT}_INSTALLED)
84_MYSQL_VERSION= ${MYSQL_VERSION_DEFAULT} 79_MYSQL_VERSION= ${MYSQL_VERSION_DEFAULT}
85. endif 80. endif
86. endif 81. endif
87.endif 82.endif
88# prefer an already installed version, in order of "accepted" 83# prefer an already installed version, in order of "accepted"
89.if !defined(_MYSQL_VERSION) 84.if !defined(_MYSQL_VERSION)
90. for mv in ${MYSQL_VERSIONS_ACCEPTED} 85. for mv in ${MYSQL_VERSIONS_ACCEPTED}
91. if defined(_MYSQL_VERSION_${mv}_INSTALLED) 86. if defined(_MYSQL_VERSION_${mv}_INSTALLED)
92_MYSQL_VERSION?= ${mv} 87_MYSQL_VERSION?= ${mv}
93. else 88. else
94# keep information as last resort - see below 89# keep information as last resort - see below
95_MYSQL_VERSION_FIRSTACCEPTED?= ${mv} 90_MYSQL_VERSION_FIRSTACCEPTED?= ${mv}
96. endif 91. endif
97. endfor 92. endfor
98.endif 93.endif
99# if the default is OK for the addon pkg, take this 94# if the default is OK for the addon pkg, take this
100.if !defined(_MYSQL_VERSION) 95.if !defined(_MYSQL_VERSION)
101. if defined(_MYSQL_VERSION_${MYSQL_VERSION_DEFAULT}_OK) 96. if defined(_MYSQL_VERSION_${MYSQL_VERSION_DEFAULT}_OK)
102_MYSQL_VERSION= ${MYSQL_VERSION_DEFAULT} 97_MYSQL_VERSION= ${MYSQL_VERSION_DEFAULT}
103. endif 98. endif
104.endif 99.endif
105# take the first one accepted by the package 100# take the first one accepted by the package
106.if !defined(_MYSQL_VERSION) 101.if !defined(_MYSQL_VERSION)
107_MYSQL_VERSION= ${_MYSQL_VERSION_FIRSTACCEPTED} 102_MYSQL_VERSION= ${_MYSQL_VERSION_FIRSTACCEPTED}
108.endif 103.endif
109 104
110# 105#
111# set variables for the version we decided to use: 106# set variables for the version we decided to use:
112# 107#
113.if ${_MYSQL_VERSION} == "57" 108.if ${_MYSQL_VERSION} == "57"
114MYSQL_PKGSRCDIR= ../../databases/mysql57-client 109MYSQL_PKGSRCDIR= ../../databases/mysql57-client
115.elif ${_MYSQL_VERSION} == "56" 110.elif ${_MYSQL_VERSION} == "56"
116MYSQL_PKGSRCDIR= ../../databases/mysql56-client 111MYSQL_PKGSRCDIR= ../../databases/mysql56-client
117.elif ${_MYSQL_VERSION} == "MARIADB55" 112.elif ${_MYSQL_VERSION} == "MARIADB55"
118MYSQL_PKGSRCDIR= ../../databases/mariadb55-client 113MYSQL_PKGSRCDIR= ../../databases/mariadb55-client
119.else 114.else
120# force an error 115# force an error
121PKG_FAIL_REASON+= "[mysql.buildlink3.mk] ${_MYSQL_VERSION} is not a valid mysql package." 116PKG_FAIL_REASON+= "[mysql.buildlink3.mk] ${_MYSQL_VERSION} is not a valid mysql package."
122.endif 117.endif
123 118
124# 119#
125# check installed version aginst required: 120# check installed version aginst required:
126# 121#
127.if defined(_MYSQL_VERSION_INSTALLED) 122.if defined(_MYSQL_VERSION_INSTALLED)
128. if ${_MYSQL_VERSION} != ${_MYSQL_VERSION_INSTALLED} 123. if ${_MYSQL_VERSION} != ${_MYSQL_VERSION_INSTALLED}
129PKG_FAIL_REASON+= "${PKGBASE} requires mysql-${_MYSQL_VERSION}, but mysql-${_MYSQL_VERSION_INSTALLED} is already installed." 124PKG_FAIL_REASON+= "${PKGBASE} requires mysql-${_MYSQL_VERSION}, but mysql-${_MYSQL_VERSION_INSTALLED} is already installed."
130. endif 125. endif
131.endif 126.endif
132 127
133.if defined(MYSQL_PKGSRCDIR) 128.if defined(MYSQL_PKGSRCDIR)
134.include "${MYSQL_PKGSRCDIR}/buildlink3.mk" 129.include "${MYSQL_PKGSRCDIR}/buildlink3.mk"
135.endif 130.endif
136 131
137MYSQL_VERSION= ${_MYSQL_VERSION} 132MYSQL_VERSION= ${_MYSQL_VERSION}
138 133
139.endif # MYSQL_VERSION_MK 134.endif # MYSQL_VERSION_MK