diff --git a/Mk/Uses/mysql.mk b/Mk/Uses/mysql.mk index 48aefe4c43b9..2ffb2ad905d8 100644 --- a/Mk/Uses/mysql.mk +++ b/Mk/Uses/mysql.mk @@ -1,177 +1,177 @@ # Provide support for MySQL # Feature: mysql # Usage: USES=mysql or USES=mysql:args # Valid ARGS: , client, server, embedded # # version If no version is given (by the maintainer via the port), try to # find the currently installed version. Fall back to default if # necessary (MySQL-5.7 = 57, look at bsd.default-versions.mk for # possible values). # client Depends on the libmysqlclient library (default) # server/embedded # Depend on the server at run/build time. If none of these is # set, depends on the client. # # IGNORE_WITH_MYSQL # This variable can be defined if the ports does not support one # or more versions of MySQL. # WITH_MYSQL_VER # User defined variable to set MySQL version. # MYSQL_VER # Detected MySQL version. # # MAINTAINER: ports@FreeBSD.org .if !defined(_INCLUDE_USES_MYSQL_MK) _INCLUDE_USES_MYSQL_MK= yes . if !empty(mysql_ARGS) .undef _WANT_MYSQL_VER .undef _WANT_MYSQL_SERVER .undef _WANT_MYSQL_EMBEDDED _MYSQL_ARGS= ${mysql_ARGS:S/,/ /g} . if ${_MYSQL_ARGS:Mserver} _WANT_MYSQL_SERVER= yes _MYSQL_ARGS:= ${_MYSQL_ARGS:Nserver} . endif . if ${_MYSQL_ARGS:Membedded} _WANT_MYSQL_EMBEDDED= yes _MYSQL_ARGS:= ${_MYSQL_ARGS:Nembedded} . endif . if ${_MYSQL_ARGS:Mclient} _WANT_MYSQL_CLIENT= yes _MYSQL_ARGS:= ${_MYSQL_ARGS:Nclient} . endif # Port requested a version . if !empty(_MYSQL_ARGS) _WANT_MYSQL_VER= ${_MYSQL_ARGS} . if (${_WANT_MYSQL_VER:C/[0-9]*//} == "m") _WANT_MYSQL_FLAVOUR= mariadb . elif (${_WANT_MYSQL_VER:C/[0-9]*//} == "p") _WANT_MYSQL_FLAVOUR= percona . else _WANT_MYSQL_FLAVOUR= mysql . endif . endif . endif # !empty(mysql_ARGS) . if defined(DEFAULT_MYSQL_VER) WARNING+= "DEFAULT_MYSQL_VER is defined, consider using DEFAULT_VERSIONS=mysql=${DEFAULT_MYSQL_VER} instead" . endif DEFAULT_MYSQL_VER?= ${MYSQL_DEFAULT:S/.//} # MySQL client version currently supported. # When adding a version, please keep the comment in # Mk/bsd.default-versions.mk in sync. -. for v in 55 55m 56 56p 56w 100m 101m +. for v in 56 100m 101m MYSQL${v}_LIBVER= 18 . endfor MYSQL57_LIBVER= 20 MYSQL57p_LIBVER= 20 MYSQL80_LIBVER= 21 MYSQL102m_LIBVER= 3 MYSQL103m_LIBVER= 3 MYSQL104m_LIBVER= 3 MYSQL105m_LIBVER= 3 MYSQL106m_LIBVER= 3 # Setting/finding MySQL version we want. . if exists(${LOCALBASE}/bin/mysql) _MYSQL!= ${LOCALBASE}/bin/mysql_config --version | ${SED} -e 's/\([0-9]\{1,2\}\)\.\([0-9]*\).*/\1\2/' _PERCONA!= ${LOCALBASE}/bin/mysql --version | ${GREP} Percona | wc -l _MARIADB!= ${LOCALBASE}/bin/mysql --version | ${GREP} MariaDB | wc -l . if ${_PERCONA} == 1 _MYSQL_VER= ${_MYSQL}p _MYSQL_FLAVOUR= percona . elif ${_MARIADB} == 1 _MYSQL_VER= ${_MYSQL}m _MYSQL_FLAVOUR= mariadb . else _MYSQL_VER= ${_MYSQL} _MYSQL_FLAVOUR= mysql . endif . endif . if defined(_WANT_MYSQL_VER) . if defined(WITH_MYSQL_VER) && (${WITH_MYSQL_VER:C/[0-9]*//} == "m") WITH_MYSQL_FLAVOUR= mariadb . elif defined(WITH_MYSQL_VER) && (${WITH_MYSQL_VER:C/[0-9]*//} == "p") WITH_MYSQL_FLAVOUR= percona . else WITH_MYSQL_FLAVOUR= mysql . endif . if defined(WITH_MYSQL_VER) && ${WITH_MYSQL_VER} != ${_WANT_MYSQL_VER} IGNORE= cannot install: the port wants ${_WANT_MYSQL_FLAVOUR}${_WANT_MYSQL_VER:C/[mpw]//}-client and you try to install ${WITH_MYSQL_FLAVOUR}${WITH_MYSQL_VER:C/[mpw]//}-client . endif MYSQL_VER= ${_WANT_MYSQL_VER} . elif defined(WITH_MYSQL_VER) MYSQL_VER= ${WITH_MYSQL_VER} . else . if defined(_MYSQL_VER) MYSQL_VER= ${_MYSQL_VER} . else MYSQL_VER= ${DEFAULT_MYSQL_VER} . endif . endif # _WANT_MYSQL_VER . if ${MYSQL_VER:C/[0-9]*//} == "m" MYSQL_FLAVOUR= mariadb . elif ${MYSQL_VER:C/[0-9]*//} == "p" MYSQL_FLAVOUR= percona . else MYSQL_FLAVOUR= mysql . endif . if defined(_MYSQL_VER) . if ${_MYSQL_VER} != ${MYSQL_VER} IGNORE= cannot install: MySQL versions mismatch: ${_MYSQL_FLAVOUR}${_MYSQL_VER:C/[mpw]//}-client is installed and wanted version is ${MYSQL_FLAVOUR}${MYSQL_VER:C/[mpw]//}-client . endif . endif _MYSQL_SHLIB= libmysqlclient . if (${MYSQL_VER:C/[0-9]*//} == "m") _MYSQL_SERVER_FLAVOUR= mariadb _MYSQL_CLIENT_FLAVOUR= mariadb . if ${MYSQL_VER:C/m//} >= 102 _MYSQL_SHLIB= libmariadb . endif . elif (${MYSQL_VER:C/[0-9]*//} == "p") _MYSQL_SERVER_FLAVOUR= percona _MYSQL_CLIENT_FLAVOUR= percona . elif (${MYSQL_VER:C/[0-9]*//} == "w") _MYSQL_SERVER_FLAVOUR= mysqlwsrep _MYSQL_CLIENT_FLAVOUR= mysql . else _MYSQL_SERVER_FLAVOUR= mysql _MYSQL_CLIENT_FLAVOUR= mysql . endif _MYSQL_CLIENT= databases/${_MYSQL_CLIENT_FLAVOUR}${MYSQL_VER:C/[mp]//}-client _MYSQL_SERVER= databases/${_MYSQL_SERVER_FLAVOUR}${MYSQL_VER:C/[mp]//}-server # And now we are checking if we can use it . if defined(MYSQL${MYSQL_VER}_LIBVER) . if defined(IGNORE_WITH_MYSQL) . for VER in ${IGNORE_WITH_MYSQL} . if (${MYSQL_VER} == "${VER}") IGNORE= cannot install: does not work with MySQL version ${MYSQL_VER} (MySQL ${IGNORE_WITH_MYSQL} not supported) . endif . endfor . endif # IGNORE_WITH_MYSQL . if defined(_WANT_MYSQL_SERVER) || defined(_WANT_MYSQL_EMBEDDED) RUN_DEPENDS+= ${LOCALBASE}/libexec/mysqld:${_MYSQL_SERVER} . if defined(_WANT_MYSQL_EMBEDDED) BUILD_DEPENDS+= ${LOCALBASE}/lib/mysql/libmysqld.a:${_MYSQL_SERVER} . endif . endif . if defined(_WANT_MYSQL_CLIENT) || \ !(defined(_WANT_MYSQL_SERVER) || defined(_WANT_MYSQL_EMBEDDED)) LIB_DEPENDS+= ${_MYSQL_SHLIB}.so.${MYSQL${MYSQL_VER}_LIBVER}:${_MYSQL_CLIENT} . endif . else IGNORE= cannot install: unknown MySQL version: ${MYSQL_VER} . endif # Check for correct libs .endif diff --git a/Mk/bsd.default-versions.mk b/Mk/bsd.default-versions.mk index 9ac207aab288..3b981d336f88 100644 --- a/Mk/bsd.default-versions.mk +++ b/Mk/bsd.default-versions.mk @@ -1,171 +1,171 @@ # MAINTAINER: ports@FreeBSD.org # # Note: before committing to this file, contact portmgr to arrange for an # experimental ports run. Untested commits may be backed out at portmgr's # discretion. # # Provide default versions for ports with multiple versions selectable # by the user. # # Users who want to override these defaults can easily do so by defining # DEFAULT_VERSIONS in their make.conf as follows: # # DEFAULT_VERSIONS= perl5=5.20 ruby=2.7 .if !defined(_INCLUDE_BSD_DEFAULT_VERSIONS_MK) _INCLUDE_BSD_DEFAULT_VERSIONS_MK= yes LOCALBASE?= /usr/local . for lang in APACHE BDB COROSYNC EMACS FIREBIRD FORTRAN FPC GCC GHOSTSCRIPT GL \ IMAGEMAGICK JAVA LAZARUS LIBRSVG2 LINUX LLVM LUA MYSQL NINJA NODEJS PERL5 \ PGSQL PHP PYTHON PYTHON2 PYTHON3 RUBY RUST SAMBA SSL TCLTK VARNISH . if defined(${lang}_DEFAULT) ERROR+= "The variable ${lang}_DEFAULT is set and it should only be defined through DEFAULT_VERSIONS+=${lang:tl}=${${lang}_DEFAULT} in /etc/make.conf" . endif #.undef ${lang}_DEFAULT . endfor . for lang in ${DEFAULT_VERSIONS} _l= ${lang:C/=.*//g} ${_l:tu}_DEFAULT= ${lang:C/.*=//g} . endfor # Possible values: 2.4 APACHE_DEFAULT?= 2.4 # Possible values: 5, 18 BDB_DEFAULT?= 5 # Possible values: 2, 3 COROSYNC_DEFAULT?= 2 # Possible_values: full canna nox devel_full devel_nox #EMACS_DEFAULT?= let the flavor be the default if not explicitly set # Possible values: 2.5, 3.0, 4.0 FIREBIRD_DEFAULT?= 2.5 # Possible values: flang (experimental), gfortran FORTRAN_DEFAULT?= gfortran # Possible values: 3.2.2 FPC_DEFAULT?= 3.2.2 # Possible values: 8 (last to support powerpcspe), 9, 10, 11, 12 # (Any other version is completely unsupported and not meant for general use.) . if ${ARCH} == "powerpcspe" GCC_DEFAULT?= 8 . else GCC_DEFAULT?= 11 . endif # Possible values: mesa-libs, mesa-devel GL_DEFAULT?= mesa-libs # Possible values: 7, 8, 9, agpl GHOSTSCRIPT_DEFAULT?= agpl # Possible values: 1.17, 1.18, 1.19-devel GO_DEFAULT?= 1.18 # Possible values: 6, 6-nox11, 7, 7-nox11 IMAGEMAGICK_DEFAULT?= 7 # Possible values: 7, 8, 11, 17, 18 JAVA_DEFAULT?= 8 # Possible values: 2.2.2, 2.3.0 . if !defined(WANT_LAZARUS_DEVEL) LAZARUS_DEFAULT?= 2.2.2 . else LAZARUS_DEFAULT?= 2.3.0 . endif # Possible values: rust, legacy . if empty(ARCH:Naarch64:Narmv6:Narmv7:Namd64:Ni386:Npowerpc64:Npowerpc64le:Npowerpc) LIBRSVG2_DEFAULT?= rust . else LIBRSVG2_DEFAULT?= legacy . endif # Possible values: c7 LINUX_DEFAULT?= c7 # Possible values: 70, 80, 90, 10, 11, 12, 13, 14, -devel (to be used when non-base compiler is required) # Please give notice to the Graphics Team (x11@FreeBSD.org) in advance before # bumping the LLVM version. . if ${ARCH} == powerpc LLVM_DEFAULT?= 10 . else LLVM_DEFAULT?= 90 . endif # Possible values: 5.1, 5.2, 5.3, 5.4 LUA_DEFAULT?= 5.2 # Possible values: 5.10, 5.20, 6.8 MONO_DEFAULT= 5.10 -# Possible values: 5.5, 5.6, 5.7, 8.0, 10.3m, 10.4m, 10.5m, 5.5p, 5.6p, 5.7p, 5.6w, 5.7w +# Possible values: 5.6, 5.7, 8.0, 10.3m, 10.4m, 10.5m, 5.7p, 5.7w MYSQL_DEFAULT?= 5.7 # Possible values: ninja, samurai NINJA_DEFAULT?= ninja # Possible values: 5.32, 5.34, 5.36, devel . if !exists(${LOCALBASE}/bin/perl) || (!defined(_PORTS_ENV_CHECK) && \ defined(PACKAGE_BUILDING)) PERL5_DEFAULT?= 5.32 . elif !defined(PERL5_DEFAULT) # There's no need to replace development versions, like "5.23" with "devel" # because 1) nobody is supposed to use it outside of poudriere, and 2) it must # be set manually in /etc/make.conf in the first place, and we're never getting # in here. . if !defined(_PERL5_FROM_BIN) _PERL5_FROM_BIN!= ${LOCALBASE}/bin/perl -e 'printf "%vd\n", $$^V;' . endif _EXPORTED_VARS+= _PERL5_FROM_BIN PERL5_DEFAULT:= ${_PERL5_FROM_BIN:R} . endif # Possible values: 10, 11, 12, 13, 14, 15 PGSQL_DEFAULT?= 13 # Possible values: 7.4, 8.0, 8.1 PHP_DEFAULT?= 8.0 # Possible values: 2.7, 3.7, 3.8, 3.9, 3.10, 3.11 PYTHON_DEFAULT?= 3.9 # Possible values: 2.7 PYTHON2_DEFAULT?= 2.7 # Possible values: 3.7, 3.8, 3.9, 3.10, 3.11 PYTHON3_DEFAULT?= 3.9 # Possible values: 2.7, 3.0, 3.1, 3.2 RUBY_DEFAULT?= 3.0 # Possible values: rust, rust-nightly RUST_DEFAULT?= rust # Possible values: 4.12, 4.13 SAMBA_DEFAULT?= 4.12 # Possible values: base, openssl, libressl, libressl-devel . if !defined(SSL_DEFAULT) # If no preference was set, check for an installed base version # but give an installed port preference over it. . if !defined(SSL_DEFAULT) && \ !exists(${DESTDIR}/${LOCALBASE}/lib/libcrypto.so) && \ exists(${DESTDIR}/usr/include/openssl/opensslv.h) SSL_DEFAULT= base . else . if exists(${DESTDIR}/${LOCALBASE}/lib/libcrypto.so) . if defined(PKG_BIN) # find installed port and use it for dependency . if !defined(OPENSSL_INSTALLED) . if defined(DESTDIR) PKGARGS= -c ${DESTDIR} . else PKGARGS= . endif OPENSSL_INSTALLED!= ${PKG_BIN} ${PKGARGS} which -qo ${LOCALBASE}/lib/libcrypto.so || : . endif . if defined(OPENSSL_INSTALLED) && !empty(OPENSSL_INSTALLED) SSL_DEFAULT:= ${OPENSSL_INSTALLED:T} WARNING+= "You have ${OPENSSL_INSTALLED} installed but do not have DEFAULT_VERSIONS+=ssl=${SSL_DEFAULT} set in your make.conf" . endif . else check-makevars:: @${ECHO_MSG} "You have a ${LOCALBASE}/lib/libcrypto.so file installed, but the framework is unable" @${ECHO_MSG} "to determine what port it comes from." @${ECHO_MSG} "Add DEFAULT_VERSIONS+=ssl= to your /etc/make.conf and try again." @${FALSE} . endif . endif . endif # Make sure we have a default in the end SSL_DEFAULT?= base . endif # Possible values: 8.5, 8.6, 8.7 TCLTK_DEFAULT?= 8.6 # Possible values: 4, 6 VARNISH_DEFAULT?= 4 # Possible value: 14, 16, 18, lts, current NODEJS_DEFAULT?= lts .endif