freebsd-ports/finance/quickfix/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

74 lines
1.8 KiB
Makefile

PORTNAME= quickfix
PORTVERSION= 1.15.1
DISTVERSIONPREFIX= v
PORTREVISION= 3
CATEGORIES= finance devel
MAINTAINER= m.tsatsenko@gmail.com
COMMENT= Free FIX Protocol Implementation
WWW= https://www.quickfixengine.org/
LICENSE= GPLv3+
BROKEN_i386= fails to build
BUILD_DEPENDS= bash:shells/bash
USES= autoreconf gmake gnome iconv libtool shebangfix ssl
USE_GITHUB= yes
USE_GNOME= libxml2
USE_LDCONFIG= yes
SHEBANG_FILES= examples/tradeclientgui/banzai/build.sh
HAS_CONFIGURE= yes
CONFIGURE_ENV= CXX=${CXX} CC=${CC} LIBS=-L${LOCALBASE}/lib/
CONFIGURE_ARGS+= --without-python2
OPTIONS_DEFINE= MYSQL PGSQL PYTHON RUBY JAVA
OPTIONS_DEFAULT= PGSQL
OPTIONS_SUB= YES
PGSQL_USES= pgsql
PGSQL_CONFIGURE_WITH= postgresql
MYSQL_USES= mysql
MYSQL_CONFIGURE_WITH= mysql
MYSQL_VARS= IGNORE_WITH_MYSQL="80 81"
PYTHON_USES= python:3.8
PYTHON_CONFIGURE_WITH= python3
RUBY_USES= ruby
RUBY_CONFIGURE_WITH= ruby
RUBY_LIB_DEPENDS+=libunwind.so:devel/libunwind
JAVA_USE= java=yes
JAVA_CONFIGURE_WITH= java
INSTALL_TARGET=install-strip
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MPYTHON}
BROKEN= fails to build
.endif
.if ${ARCH} != amd64 && ${ARCH} != i386
CXXFLAGS+= -DENABLE_BOOST_ATOMIC_COUNT
LIB_DEPENDS+= libboost_system.so:devel/boost-libs
USES+= compiler:c++11-lang localbase
.endif
post-extract:
@${REINPLACE_CMD} -e 's|^make|gmake|' \
${WRKSRC}/src/ruby/make_ruby.sh
@${REINPLACE_CMD} -e 's|CXX = g++|CXX = ${CXX}|' \
${WRKSRC}/UnitTest++/Makefile
pre-configure:
cd ${WRKSRC} && ${sh} ${WRKSRC}/bootstrap
@${REINPLACE_CMD} -e 's|pkgconfdir = .*|pkgconfdir=${LOCALBASE}/libdata/pkgconfig|' \
${WRKSRC}/Makefile.in
pre-build:
${GMAKE} -C ${WRKSRC}/UnitTest++ TestUnitTest++
post-install-RUBY-on:
${STRIP_CMD} ${STAGEDIR}${RUBY_SITEARCHLIBDIR}/quickfix.so
.include <bsd.port.mk>