pkgsrc/databases/mariadb1011-client/Makefile.common
jperkin e911808568 mariadb*-client: Force HAVE_CURSES_H when using ncurses.
For some reason mariadb removed any cmake detection for HAVE_CURSES_H so it is
never defined, but the source is still littered with it, causing compilation
problems because curses.h never gets included.

The whole thing is incredibly messy, and this is the least likely to
accidentally break some alternate configuration, but implementations that use
curses.h which isn't ncurses are likely to still be broken.
2023-08-17 08:20:27 +00:00

139 lines
4.6 KiB
Makefile

# $NetBSD: Makefile.common,v 1.4 2023/08/17 08:20:27 jperkin Exp $
#
# used by databases/mariadb1011-client/Makefile
# used by databases/mariadb1011-server/Makefile
DISTNAME= mariadb-10.11.4
CATEGORIES= databases
MASTER_SITES= https://archive.mariadb.org/${DISTNAME}/source/
MAINTAINER?= pkgsrc-users@NetBSD.org
HOMEPAGE= https://mariadb.org/
LICENSE= gnu-gpl-v2
DISTINFO_FILE?= ${.CURDIR}/../../databases/mariadb1011-client/distinfo
PATCHDIR?= ${.CURDIR}/../../databases/mariadb1011-client/patches
USE_CMAKE= yes
USE_LANGUAGES= c c++
USE_TOOLS+= perl:run pkg-config bison
USE_CURSES= wide
PLIST_SRC= ${PLIST_SRC_DFLT}
.include "../../mk/bsd.prefs.mk"
#
# Use MySQL defaults if set.
#
MARIADB_DATADIR?= ${MYSQL_DATADIR:U${VARBASE}/db/mariadb}
MARIADB_CHARSET?= ${MYSQL_CHARSET:Uutf8mb4}
MARIADB_COLLATION?= ${MYSQL_COLLATION:Uutf8mb4_unicode_ci}
MARIADB_EXTRA_CHARSET?= ${MYSQL_EXTRA_CHARSET:Uall}
BUILD_DEFS+= VARBASE
CMAKE_ARGS+= -DCOMPILATION_COMMENT="pkgsrc"
CMAKE_ARGS+= -DCMAKE_BUILD_TYPE="Release"
CMAKE_ARGS+= -DINSTALL_BINDIR="bin"
CMAKE_ARGS+= -DINSTALL_DOCDIR="share/doc/mysql"
CMAKE_ARGS+= -DINSTALL_DOCREADMEDIR="share/doc/mysql"
CMAKE_ARGS+= -DINSTALL_INCLUDEDIR="include/mysql"
CMAKE_ARGS+= -DINSTALL_INFODIR="${PKGINFODIR}"
CMAKE_ARGS+= -DINSTALL_LIBDIR="lib"
CMAKE_ARGS+= -DINSTALL_MANDIR="${PKGMANDIR}"
CMAKE_ARGS+= -DINSTALL_MYSQLSHAREDIR="share/mysql"
CMAKE_ARGS+= -DINSTALL_MYSQLTESTDIR=""
CMAKE_ARGS+= -DINSTALL_PAMDIR="lib/security"
CMAKE_ARGS+= -DINSTALL_PAMDATADIR="share/examples/mariadb_auth_pam"
CMAKE_ARGS+= -DINSTALL_PLUGINDIR="lib/mysql/plugin"
CMAKE_ARGS+= -DINSTALL_SBINDIR="sbin"
CMAKE_ARGS+= -DINSTALL_SCRIPTDIR="bin"
CMAKE_ARGS+= -DINSTALL_SQLBENCHDIR="share/mysql/sql-bench"
CMAKE_ARGS+= -DINSTALL_SUPPORTFILESDIR="share/mysql"
CMAKE_ARGS+= -DINSTALL_SYSCONFDIR="${PKG_SYSCONFDIR}"
CMAKE_ARGS+= -DMYSQL_DATADIR=${MARIADB_DATADIR}
CMAKE_ARGS+= -DWITH_UNIT_TESTS=OFF
CMAKE_ARGS+= -DWITH_LIBWRAP=ON
CMAKE_ARGS+= -DWITH_PCRE="system"
CMAKE_ARGS+= -DWITH_ZLIB="system"
CMAKE_ARGS+= -DDEFAULT_CHARSET=${MARIADB_CHARSET}
CMAKE_ARGS+= -DDEFAULT_COLLATION=${MARIADB_COLLATION:Q}
CMAKE_ARGS+= -DWITH_EXTRA_CHARSETS=${MARIADB_EXTRA_CHARSET:Q}
CMAKE_ARGS+= -DPLUGIN_EXAMPLE=NO
CMAKE_ARGS+= -DPLUGIN_FEEDBACK=NO
# Requires Java
CMAKE_ARGS+= -DCONNECT_WITH_JDBC=OFF
# Options which affect generation of includes
CMAKE_ARGS+= -DWITH_ARIA_STORAGE_ENGINE=ON
CMAKE_ARGS+= -DWITH_PARTITION_STORAGE_ENGINE=ON
CMAKE_ARGS+= -DWITH_PERFSCHEMA_STORAGE_ENGINE=ON
CMAKE_ARGS+= -DCMAKE_DISABLE_FIND_PACKAGE_Snappy=ON
CMAKE_ARGS+= -DCMAKE_DISABLE_FIND_PACKAGE_LZO=ON
CMAKE_ARGS+= -DCMAKE_DISABLE_FIND_PACKAGE_LZ4=ON
CMAKE_ARGS+= -DWITHOUT_MROONGA_STORAGE_ENGINE=ON
CMAKE_ARGS+= -DENABLE_DTRACE=OFF
# Ensure the correct DTrace ABI is used.
.if !empty(ABI)
CMAKE_ARGS+= -DDTRACE_FLAGS="-${ABI}"
.endif
.include "../../mk/curses.buildlink3.mk"
.if !empty(CURSES_TYPE:M*ncurses*)
CMAKE_ARGS+= -DCURSES_NEED_NCURSES=ON
CPPFLAGS+= -DHAVE_CURSES_H
.endif
.if !empty(CURSES_TYPE:M*ncursesw*)
CMAKE_ARGS+= -DCURSES_NEED_WIDE=ON
.endif
# We don't clone MariaDB from git, so avoid peeking into
# the parent repository.
CMAKE_ARGS+= -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
# https://github.com/MariaDB/server/pull/2326
# https://github.com/MariaDB/server/pull/2321
CFLAGS.SunOS+= -fPIC -DHAVE_ALLOCA_H=1
CFLAGS.NetBSD+= -DIOAPI_NO_64
REPLACE_PERL+= scripts/mytop.sh
REPLACE_PERL+= sql-bench/*.sh
SUBST_CLASSES+= perl
SUBST_STAGE.perl= pre-configure
SUBST_FILES.perl= scripts/CMakeLists.txt
SUBST_SED.perl= -e "s,/usr/bin/perl,${TOOLS_PATH.perl},g"
SUBST_SED.perl+= -e "s,/usr/local/bin/perl,${TOOLS_PATH.perl},g"
CHECK_INTERPRETER_SKIP+= share/mysql/test/*
CHECK_PORTABILITY_SKIP+= storage/columnstore/columnstore/oam/cloud/*.sh.in
CHECK_PORTABILITY_SKIP+= storage/columnstore/columnstore/oam/install_scripts/*.sh.in
CHECK_PORTABILITY_SKIP+= storage/columnstore/columnstore/oam/install_scripts/*.in
CHECK_PORTABILITY_SKIP+= BUILD/compile-pentium-gcov
PKGCONFIG_OVERRIDE+= support-files/mariadb.pc.in
PKGCONFIG_OVERRIDE+= libmariadb/mariadb_config/libmariadb.pc.in
.include "../../archivers/bzip2/buildlink3.mk"
.include "../../archivers/zstd/buildlink3.mk"
.include "../../archivers/xz/buildlink3.mk"
.include "../../devel/pcre2/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../textproc/fmtlib/buildlink3.mk"
.include "../../www/curl/buildlink3.mk"
.include "../../mk/atomic64.mk"
.include "../../mk/dlopen.buildlink3.mk"
BUILDLINK_TRANSFORM+= opt:-ldl:${BUILDLINK_LDADD.dl:Q}
.include "../../mk/krb5.buildlink3.mk"
.include "../../mk/pam.buildlink3.mk"
.include "../../mk/readline.buildlink3.mk"