freebsd-ports/databases/luadbi/Makefile
Muhammad Moinur Rahman ee6c86aea5 */*: Refactor with IGNORE_WITH_MYSQL
- There are multiple ports which has MYSQL options and are non-DEFAULT.
  Most of the time committers actually forget to check with the OPTION
  enabled and in some cases they are BROKEN with newr versions of mysql.
  So test with different versions of mysql and mark IGNOPRE_WITH_MYSQL
  appropriately. Due to the EOL of 5.7 this has not been checked.
- Unbreak sysutils/cfengine* with MySQL 8.0 and later
- The primary purpose of running this check is having statistics of the
  MySQL usability over MariaDB to explore the future possibility of
  shifting to MariaDB as the default as major ports upstream have moved
  their codebase to support MariaDB over MySQL.
- The following actions will also be taken after the sunset of MySQL 5.7
  If a port is broken on all instances of MySQL/MariaDB:
  - If a port has the option of multiple DB backends and MySQL is the
    default then the DEFAULT will be changed to PGSQL/SQLITE before
    2024Q1. And the OPTION will be removed before 2024Q2. If a
    MAINTAINER is aware about such cases and want to prefer PGSQL over
    SQLITE or vice versa please do so at your own accord. Otherwise
    PGSQL will be preferred over SQLITE.
  - If a port has the option of multiple DB backends and MySQL is not
    the default then the the OPTION will be removed before 2024Q1.

Approved by:	portmgr (blanket)
2023-12-29 19:24:39 +01:00

70 lines
2 KiB
Makefile

PORTNAME= luadbi
PORTVERSION= 0.7.2
PORTREVISION= 1
DISTVERSIONPREFIX= v
CATEGORIES= databases
PKGNAMEPREFIX= ${LUA_PKGNAMEPREFIX}
MAINTAINER= olexander.v.melnyk@gmail.com
COMMENT= Multi-backend SQL database library for Lua
WWW= https://github.com/mwild1/luadbi
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/COPYING
USES= gmake shebangfix lua:module
SHEBANG_FILES= DBI.lua
USE_GITHUB= yes
GH_ACCOUNT= mwild1
CFLAGS+= -g -pedantic -Wall -Qunused-arguments -O2 -shared -fPIC -DPIC -std=c99 -I${LOCALBASE}/include
LDFLAGS+= -shared
MAKE_ENV+= COMMON_CFLAGS=""
MAKE_ENV+= COMMON_LDFLAGS=""
MAKE_ENV+= INSTALL_PROGRAM="${INSTALL_PROGRAM}"
MAKE_ENV+= INSTALL_DATA="${INSTALL_DATA}"
MAKE_ENV+= LUA_V="${LUA_VER}"
MAKE_ENV+= LUA_LDIR="${LUA_MODSHAREDIR}"
MAKE_ENV+= LUA_CDIR="${LUA_MODLIBDIR}"
MAKE_ENV+= LUA_INC="-I${LUA_INCDIR}"
MAKE_JOBS_UNSAFE=yes
OPTIONS_MULTI= DATABASE
OPTIONS_MULTI_DATABASE= MYSQL SQLITE3 PGSQL
OPTIONS_DEFAULT= SQLITE3
PLIST_FILES= %%LUA_MODSHAREDIR%%/DBI.lua
MYSQL_USES= mysql
MYSQL_ALL_TARGET= mysql
MYSQL_PLIST_FILES= %%LUA_MODLIBDIR%%/dbd/mysql.so
MYSQL_MAKE_ENV+= MYSQL_LDFLAGS="-L${LOCALBASE}/lib/mysql -lmysqlclient"
MYSQL_MAKE_ENV+= MYSQL_INC="-I${LOCALBASE}/include/mysql"
MYSQL_VARS= IGNORE_WITH_MYSQL="80 81"
SQLITE3_USES= localbase:ldflags sqlite:3
SQLITE3_ALL_TARGET= sqlite3
SQLITE3_PLIST_FILES= %%LUA_MODLIBDIR%%/dbd/sqlite3.so
SQLITE3_MAKE_ENV+= SQLITE3_INC=""
PGSQL_USES= pgsql
PGSQL_ALL_TARGET= psql
PGSQL_PLIST_FILES= %%LUA_MODLIBDIR%%/dbd/postgresql.so
PGSQL_MAKE_ENV+= PSQL_INC="-I${LOCALBASE}/include/postgresql/server"
do-install:
@${MKDIR} ${STAGEDIR}${LUA_MODLIBDIR}/dbd
@${MKDIR} ${STAGEDIR}${LUA_MODSHAREDIR}
${CP} ${WRKSRC}/DBI.lua ${STAGEDIR}${LUA_MODSHAREDIR}
do-install-MYSQL-on:
${INSTALL_PROGRAM} ${WRKSRC}/dbd/mysql.so ${STAGEDIR}${LUA_MODLIBDIR}/dbd
do-install-SQLITE3-on:
${INSTALL_PROGRAM} ${WRKSRC}/dbd/sqlite3.so ${STAGEDIR}${LUA_MODLIBDIR}/dbd
do-install-PGSQL-on:
${INSTALL_PROGRAM} ${WRKSRC}/dbd/postgresql.so ${STAGEDIR}${LUA_MODLIBDIR}/dbd
.include <bsd.port.mk>