Sun Mar 22 20:23:52 2020 UTC ()
databases/mysql57-client: allow SUBST class to be a no-op


(rillig)
diff -r1.23 -r1.24 pkgsrc/databases/mysql57-client/Makefile.common

cvs diff -r1.23 -r1.24 pkgsrc/databases/mysql57-client/Makefile.common (switch to unified diff)

--- pkgsrc/databases/mysql57-client/Makefile.common 2020/03/17 18:33:08 1.23
+++ pkgsrc/databases/mysql57-client/Makefile.common 2020/03/22 20:23:52 1.24
@@ -1,139 +1,140 @@ @@ -1,139 +1,140 @@
1# $NetBSD: Makefile.common,v 1.23 2020/03/17 18:33:08 adam Exp $ 1# $NetBSD: Makefile.common,v 1.24 2020/03/22 20:23:52 rillig Exp $
2# 2#
3# used by databases/mysql57-client/Makefile 3# used by databases/mysql57-client/Makefile
4# used by databases/mysql57-server/Makefile 4# used by databases/mysql57-server/Makefile
5 5
6DISTNAME= mysql-5.7.29 6DISTNAME= mysql-5.7.29
7CATEGORIES= databases 7CATEGORIES= databases
8MASTER_SITES= ${MASTER_SITE_MYSQL:=MySQL-5.7/} 8MASTER_SITES= ${MASTER_SITE_MYSQL:=MySQL-5.7/}
9 9
10MAINTAINER?= pkgsrc-users@NetBSD.org 10MAINTAINER?= pkgsrc-users@NetBSD.org
11HOMEPAGE= https://www.mysql.com/ 11HOMEPAGE= https://www.mysql.com/
12LICENSE= gnu-gpl-v2 12LICENSE= gnu-gpl-v2
13 13
14DISTINFO_FILE?= ${.CURDIR}/../../databases/mysql57-client/distinfo 14DISTINFO_FILE?= ${.CURDIR}/../../databases/mysql57-client/distinfo
15PATCHDIR?= ${.CURDIR}/../../databases/mysql57-client/patches 15PATCHDIR?= ${.CURDIR}/../../databases/mysql57-client/patches
16 16
17USE_CMAKE= yes 17USE_CMAKE= yes
18USE_LANGUAGES= c c++ 18USE_LANGUAGES= c c++
19USE_TOOLS+= bash bison gmake perl:run 19USE_TOOLS+= bash bison gmake perl:run
20USE_GCC_RUNTIME= yes 20USE_GCC_RUNTIME= yes
21USE_BUILTIN.libevent= no 21USE_BUILTIN.libevent= no
22 22
23.include "../../mk/bsd.prefs.mk" 23.include "../../mk/bsd.prefs.mk"
24 24
25.include "options.mk" 25.include "options.mk"
26 26
27# MYSQL_USER username of the database administrator 27# MYSQL_USER username of the database administrator
28# MYSQL_GROUP group of the database administrator 28# MYSQL_GROUP group of the database administrator
29# MYSQL_DATADIR home directory (location of the databases) 29# MYSQL_DATADIR home directory (location of the databases)
30# MYSQL_PIDFILE process ID file 30# MYSQL_PIDFILE process ID file
31# MYSQL_CHARSET default character set 31# MYSQL_CHARSET default character set
32# MYSQL_EXTRA_CHARSET additional character set to be compiled in 32# MYSQL_EXTRA_CHARSET additional character set to be compiled in
33MYSQL_USER?= mysql 33MYSQL_USER?= mysql
34MYSQL_GROUP?= mysql 34MYSQL_GROUP?= mysql
35MYSQL_DATADIR?= ${VARBASE}/mysql 35MYSQL_DATADIR?= ${VARBASE}/mysql
36MYSQL_PIDFILE?= ${MYSQL_DATADIR}/${HOST}.pid 36MYSQL_PIDFILE?= ${MYSQL_DATADIR}/${HOST}.pid
37MYSQL_CHARSET?= latin1 37MYSQL_CHARSET?= latin1
38MYSQL_COLLATION?= latin1_swedish_ci 38MYSQL_COLLATION?= latin1_swedish_ci
39MYSQL_EXTRA_CHARSET?= all 39MYSQL_EXTRA_CHARSET?= all
40 40
41PKG_USERS_VARS+= MYSQL_USER 41PKG_USERS_VARS+= MYSQL_USER
42PKG_GROUPS_VARS+= MYSQL_GROUP 42PKG_GROUPS_VARS+= MYSQL_GROUP
43 43
44CONFIG_SHELL= ${TOOLS_PATH.bash} 44CONFIG_SHELL= ${TOOLS_PATH.bash}
45 45
46CFLAGS.IRIX+= -DIRIX5 -DNEEDS_BSTRING_H 46CFLAGS.IRIX+= -DIRIX5 -DNEEDS_BSTRING_H
47 47
48BUILD_DEFS+= VARBASE 48BUILD_DEFS+= VARBASE
49 49
50# paths 50# paths
51CMAKE_ARGS+= -DINSTALL_DOCDIR="share/doc/mysql" 51CMAKE_ARGS+= -DINSTALL_DOCDIR="share/doc/mysql"
52CMAKE_ARGS+= -DINSTALL_DOCREADMEDIR="share/doc/mysql" 52CMAKE_ARGS+= -DINSTALL_DOCREADMEDIR="share/doc/mysql"
53CMAKE_ARGS+= -DINSTALL_INCLUDEDIR="include/mysql" 53CMAKE_ARGS+= -DINSTALL_INCLUDEDIR="include/mysql"
54CMAKE_ARGS+= -DINSTALL_INFODIR="info" 54CMAKE_ARGS+= -DINSTALL_INFODIR="info"
55CMAKE_ARGS+= -DINSTALL_MANDIR="${PKGMANDIR}" 55CMAKE_ARGS+= -DINSTALL_MANDIR="${PKGMANDIR}"
56CMAKE_ARGS+= -DINSTALL_MYSQLSHAREDIR="share/mysql" 56CMAKE_ARGS+= -DINSTALL_MYSQLSHAREDIR="share/mysql"
57CMAKE_ARGS+= -DINSTALL_MYSQLTESTDIR="share/mysql/test" 57CMAKE_ARGS+= -DINSTALL_MYSQLTESTDIR="share/mysql/test"
58CMAKE_ARGS+= -DINSTALL_PLUGINDIR="lib/mysql/plugin" 58CMAKE_ARGS+= -DINSTALL_PLUGINDIR="lib/mysql/plugin"
59CMAKE_ARGS+= -DINSTALL_SBINDIR="sbin" 59CMAKE_ARGS+= -DINSTALL_SBINDIR="sbin"
60CMAKE_ARGS+= -DINSTALL_SCRIPTDIR="bin" 60CMAKE_ARGS+= -DINSTALL_SCRIPTDIR="bin"
61CMAKE_ARGS+= -DINSTALL_SQLBENCHDIR="share/mysql/sql-bench" 61CMAKE_ARGS+= -DINSTALL_SQLBENCHDIR="share/mysql/sql-bench"
62CMAKE_ARGS+= -DINSTALL_SUPPORTFILESDIR="share/mysql" 62CMAKE_ARGS+= -DINSTALL_SUPPORTFILESDIR="share/mysql"
63CMAKE_ARGS+= -DMYSQL_DATADIR=${MYSQL_DATADIR} 63CMAKE_ARGS+= -DMYSQL_DATADIR=${MYSQL_DATADIR}
64 64
65CMAKE_ARGS+= -DCMAKE_BUILD_TYPE=Release 65CMAKE_ARGS+= -DCMAKE_BUILD_TYPE=Release
66 66
67CMAKE_ARGS+= -DWITH_BOOST="system" 67CMAKE_ARGS+= -DWITH_BOOST="system"
68CMAKE_ARGS+= -DWITH_LIBEVENT="system" 68CMAKE_ARGS+= -DWITH_LIBEVENT="system"
69CMAKE_ARGS+= -DWITH_LZ4="system" 69CMAKE_ARGS+= -DWITH_LZ4="system"
70CMAKE_ARGS+= -DWITH_SSL="system" 70CMAKE_ARGS+= -DWITH_SSL="system"
71CMAKE_ARGS+= -DWITH_ZLIB="system" 71CMAKE_ARGS+= -DWITH_ZLIB="system"
72CMAKE_ARGS+= -DDEFAULT_CHARSET=${MYSQL_CHARSET} 72CMAKE_ARGS+= -DDEFAULT_CHARSET=${MYSQL_CHARSET}
73CMAKE_ARGS+= -DDEFAULT_COLLATION=${MYSQL_COLLATION} 73CMAKE_ARGS+= -DDEFAULT_COLLATION=${MYSQL_COLLATION}
74CMAKE_ARGS+= -DWITH_EXTRA_CHARSETS=${MYSQL_EXTRA_CHARSET} 74CMAKE_ARGS+= -DWITH_EXTRA_CHARSETS=${MYSQL_EXTRA_CHARSET}
75 75
76 76
77# we need atomic builtins 77# we need atomic builtins
78.if ${OPSYS} == "NetBSD" && ${MACHINE_ARCH} == "i386" 78.if ${OPSYS} == "NetBSD" && ${MACHINE_ARCH} == "i386"
79GNU_ARCH.i386= i586 79GNU_ARCH.i386= i586
80CFLAGS+= -march=i586 80CFLAGS+= -march=i586
81.endif 81.endif
82 82
83CPPFLAGS+= -Dunix 83CPPFLAGS+= -Dunix
84CFLAGS+= -DUSE_OLD_FUNCTIONS # 3.23.x compat 84CFLAGS+= -DUSE_OLD_FUNCTIONS # 3.23.x compat
85#CFLAGS+= -D__STDC_FORMAT_MACROS=1 # always defined too late 85#CFLAGS+= -D__STDC_FORMAT_MACROS=1 # always defined too late
86 86
87.if ${OPSYS} != "Interix" 87.if ${OPSYS} != "Interix"
88CFLAGS+= -fPIC -DPIC 88CFLAGS+= -fPIC -DPIC
89CXXFLAGS+= -fPIC -DPIC 89CXXFLAGS+= -fPIC -DPIC
90.endif 90.endif
91 91
92CMAKE_ARGS.SunOS+= -DFORCE_UNSUPPORTED_COMPILER=YES 92CMAKE_ARGS.SunOS+= -DFORCE_UNSUPPORTED_COMPILER=YES
93 93
94# Force HAVE_CURSES_H on Solaris since the configure script is broken 94# Force HAVE_CURSES_H on Solaris since the configure script is broken
95# and does not properly detect this, breaking the build later on. Also 95# and does not properly detect this, breaking the build later on. Also
96# explicitly disable epoll support as it is Linux-specific. 96# explicitly disable epoll support as it is Linux-specific.
97CMAKE_ARGS.SunOS+= -DHAVE_SYS_EPOLL_H=NO 97CMAKE_ARGS.SunOS+= -DHAVE_SYS_EPOLL_H=NO
98CFLAGS.SunOS+= -DHAVE_CURSES_H 98CFLAGS.SunOS+= -DHAVE_CURSES_H
99CXXFLAGS.SunOS+= -DHAVE_CURSES_H 99CXXFLAGS.SunOS+= -DHAVE_CURSES_H
100 100
101.include "../../mk/pthread.buildlink3.mk" 101.include "../../mk/pthread.buildlink3.mk"
102 102
103.if defined(PTHREAD_TYPE) && (${PTHREAD_TYPE} == "pth") 103.if defined(PTHREAD_TYPE) && (${PTHREAD_TYPE} == "pth")
104CFLAGS+= -DSIGNALS_DONT_BREAK_READ 104CFLAGS+= -DSIGNALS_DONT_BREAK_READ
105CXXFLAGS+= -DSIGNALS_DONT_BREAK_READ 105CXXFLAGS+= -DSIGNALS_DONT_BREAK_READ
106.endif 106.endif
107 107
108LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/mysql 108LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/mysql
109 109
110SUBST_CLASSES+= scr 110SUBST_CLASSES+= scr
111SUBST_STAGE.scr= pre-configure 111SUBST_STAGE.scr= pre-configure
112SUBST_FILES.scr= scripts/mysqld_safe.sh 112SUBST_FILES.scr= scripts/mysqld_safe.sh
113SUBST_FILES.scr+= support-files/mysql.server.sh 113SUBST_FILES.scr+= support-files/mysql.server.sh
114SUBST_SED.scr= -e "s,chown,${CHOWN},g" 114SUBST_SED.scr= -e "s,chown,${CHOWN},g"
115SUBST_SED.scr+= -e "s,/bin/sh,${RCD_SCRIPTS_SHELL},g" 115SUBST_SED.scr+= -e "s,/bin/sh,${RCD_SCRIPTS_SHELL},g"
116SUBST_SED.scr+= -e "s,@SHELL_PATH@,${RCD_SCRIPTS_SHELL},g" 116SUBST_SED.scr+= -e "s,@SHELL_PATH@,${RCD_SCRIPTS_SHELL},g"
117SUBST_MESSAGE.scr= Fixing scripts. 117SUBST_MESSAGE.scr= Fixing scripts.
 118SUBST_NOOP_OK.scr= yes # since RCD_SCRIPTS_SHELL may be /bin/sh
118 119
119# Don't use the base system "libedit" under NetBSD because MySQL expects 120# Don't use the base system "libedit" under NetBSD because MySQL expects
120# an incompatible prototype for "rl_completion_entry_function". 121# an incompatible prototype for "rl_completion_entry_function".
121.if ${OPSYS} == "NetBSD" 122.if ${OPSYS} == "NetBSD"
122USE_BUILTIN.editline= no 123USE_BUILTIN.editline= no
123.endif 124.endif
124 125
125.include "../../mk/readline.buildlink3.mk" 126.include "../../mk/readline.buildlink3.mk"
126.if ${READLINE_TYPE} == "readline" 127.if ${READLINE_TYPE} == "readline"
127CMAKE_ARGS+= -DWITH_READLINE="system" 128CMAKE_ARGS+= -DWITH_READLINE="system"
128.else 129.else
129CMAKE_ARGS+= -DWITH_EDITLINE="system" 130CMAKE_ARGS+= -DWITH_EDITLINE="system"
130.endif 131.endif
131 132
132CHECK_PORTABILITY_SKIP+= packaging/deb-in/mysql-packagesource-server.config.in 133CHECK_PORTABILITY_SKIP+= packaging/deb-in/mysql-packagesource-server.config.in
133 134
134.include "../../mk/curses.buildlink3.mk" 135.include "../../mk/curses.buildlink3.mk"
135.include "../../archivers/lz4/buildlink3.mk" 136.include "../../archivers/lz4/buildlink3.mk"
136.include "../../devel/boost-libs/buildlink3.mk" 137.include "../../devel/boost-libs/buildlink3.mk"
137.include "../../devel/libevent/buildlink3.mk" 138.include "../../devel/libevent/buildlink3.mk"
138.include "../../devel/zlib/buildlink3.mk" 139.include "../../devel/zlib/buildlink3.mk"
139.include "../../security/openssl/buildlink3.mk" 140.include "../../security/openssl/buildlink3.mk"