diff --git a/databases/mariadb-10.4/Portfile b/databases/mariadb-10.4/Portfile new file mode 100644 index 0000000000000..7ecaf3c2b79dc --- /dev/null +++ b/databases/mariadb-10.4/Portfile @@ -0,0 +1,344 @@ +# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 + +PortSystem 1.0 +PortGroup legacysupport 1.0 +legacysupport.newest_darwin_requires_legacy 10 + +name mariadb-10.4 +set name_mysql ${name} +version 10.4.13 +set version_branch [join [lrange [split ${version} .] 0 1] .] +# Please set revision_client and revision_server to 0 if you bump +# version; these can be changed independently for the 2 subports, but +# can be changed at the same time if that's what's required. +set revision_client 0 +set revision_server 0 +categories databases +platforms darwin +license GPL-2 +maintainers {michaelld @michaelld} openmaintainer + +if {$subport eq $name} { + + PortGroup cmake 1.0 + PortGroup select 1.0 + PortGroup github 1.0 + + compiler.cxx_standard 2011 + + github.setup MariaDB server ${version} mariadb- + revision ${revision_client} + + license GPL-2 + description Multithreaded SQL database server + long_description Mariadb is a fork of the MySQL server, a multi-threaded SQL database. + + cmake.out_of_source yes + use_parallel_build yes + + # mariadb-connector-c, wsrep-lib and wsrep-API are submodules, + # but because we're not + # cloning into a GIT module in the first place, we can't use the + # git submodule feature. Have to download separately and install + # into the correct location to get this port to work! Which means + # we need a mariadb-connector-c branch and so forth ... basically + # replicate what the github PG does but without using it since it + # is not designed to be used for multiple downloads. + + set libmariadb_github_author MariaDB + set libmariadb_github_project mariadb-connector-c + set libmariadb_github_branch 3.1 + + set wsrep_github_author codership + set wsrep_github_project wsrep-lib + set wsrep_github_branch master + + set wsrep_api_github_author codership + set wsrep_api_github_project wsrep-API + set wsrep_api_github_version 26 + set wsrep_api_github_branch v${wsrep_api_github_version} + + set main_distname ${distname} + set main_distfile ${distfiles} + + set libmariadb_distname ${libmariadb_github_project}-${libmariadb_github_branch} + set libmariadb_distfile ${libmariadb_distname}${extract.suffix} + + set wsrep_distname ${wsrep_github_project}-${wsrep_github_branch} + set wsrep_distfile ${wsrep_distname}${extract.suffix} + + set wsrep_api_distname ${wsrep_api_github_project}-${wsrep_api_github_branch} + set wsrep_api_extracted_distname ${wsrep_api_github_project}-${wsrep_api_github_version} + set wsrep_api_distfile ${wsrep_api_distname}${extract.suffix} + + distfiles ${main_distfile}:tagone \ + ${libmariadb_distfile}:tagtwo \ + ${wsrep_distfile}:tagthree \ + ${wsrep_api_distfile}:tagfour + + master_sites ${github.homepage}/archive/${git.branch}:tagone \ + https://github.com/${libmariadb_github_author}/${libmariadb_github_project}/archive/${libmariadb_github_branch}:tagtwo \ + https://github.com/${wsrep_github_author}/${wsrep_github_project}/archive/${wsrep_github_branch}:tagthree \ + https://github.com/${wsrep_api_github_author}/${wsrep_api_github_project}/archive/${wsrep_api_github_branch}:tagfour + + checksums ${main_distfile} \ + rmd160 71bf0e8602bc890de9e5f1815a86ff5c5aaa4226 \ + sha256 4f3527e3c9f7f95f135c873d03079b9533d0a43f8371864d7ce2a59cef3ff132 \ + size 63409385 \ + ${libmariadb_distfile} \ + rmd160 363c58e6b30a0f8fb72858d413b9ef97f9ec7905 \ + sha256 8fe951d5640eea2f66f911ffd699541f5f55ad0429abc44afeaa3103ca57aefb \ + size 751613 \ + ${wsrep_distfile} \ + rmd160 1c3d3bc6961fb51f60eae7a2aedf20e5ce086712 \ + sha256 a5a9b3bdf0b77fe316aa642b14545b27481923e3dcfd24dc2364a4b42e13b30b \ + size 143795 \ + ${wsrep_api_distfile} \ + rmd160 8ff596a9272c1658a94a24a2aa4b70ed400944b1 \ + sha256 05574361aa73eef76c7cd13b0eaa4f53955e26f7222dda0d28ac6f8f3e5cb548 \ + size 52816 + + worksrcdir ${github.project}-${git.branch} + + post-extract { + # put the libmariadb_github_project directory into position + # remove the original directory + ui_debug "delete ${worksrcpath}/libmariadb" + delete ${worksrcpath}/libmariadb + ui_debug "move ${workpath}/${libmariadb_distname} ${worksrcpath}/libmariadb" + move ${workpath}/${libmariadb_distname} ${worksrcpath}/libmariadb + + # put the wsrep_github_project directory into position + # remove the original directory + ui_debug "delete ${worksrcpath}/wsrep-lib" + delete ${worksrcpath}/wsrep-lib + ui_debug "move ${workpath}/${wsrep_distname} ${worksrcpath}/wsrep-lib" + move ${workpath}/${wsrep_distname} ${worksrcpath}/wsrep-lib + + # put the wsrep_api_github_project directory into position + # remove the original directory + ui_debug "delete ${worksrcpath}/wsrep-lib/wsrep-API/v26" + delete ${worksrcpath}/wsrep-lib/wsrep-API/v26 + ui_debug "move ${workpath}/${wsrep_api_extracted_distname} ${worksrcpath}/wsrep-lib/wsrep-API/v26" + move ${workpath}/${wsrep_api_extracted_distname} ${worksrcpath}/wsrep-lib/wsrep-API/v26 + } + + depends_lib-append port:zlib port:tcp_wrappers port:ncurses port:judy \ + path:lib/libssl.dylib:openssl port:libxml2 + depends_run-append port:mysql_select + + select.group mysql + select.file ${filespath}/${name_mysql} + + post-extract { + file mkdir ${cmake.build_dir}/macports + copy ${filespath}/macports-default.cnf \ + ${filespath}/my.cnf \ + ${cmake.build_dir}/macports/ + } + + patch.pre_args -p1 + patchfiles patch-cmake-install_layout.cmake.diff \ + patch-CMakeLists.txt.diff \ + patch-libmariadb_cmake_install.cmake.diff \ + patch-libmariadb_libmariadb_CMakeLists.txt.diff \ + patch-libmariadb_mariadb_config_CMakeLists.txt.diff \ + patch-cmake_mysql_version.cmake.diff + + post-patch { + reinplace "s|@NAME@|${name_mysql}|g" \ + ${worksrcpath}/cmake/install_layout.cmake + reinplace "s|@NAME@|${name_mysql}|g" \ + ${worksrcpath}/libmariadb/cmake/install.cmake + reinplace "s|@NAME@|${name_mysql}|g" \ + ${cmake.build_dir}/macports/macports-default.cnf \ + ${cmake.build_dir}/macports/my.cnf + reinplace "s|@PREFIX@|${prefix}|g" \ + ${cmake.build_dir}/macports/macports-default.cnf \ + ${cmake.build_dir}/macports/my.cnf + move ${worksrcpath}/VERSION ${worksrcpath}/VERSION.txt + } + + configure.args-delete \ + -DCMAKE_INSTALL_NAME_DIR=${prefix}/lib + configure.args-append \ + -DCMAKE_INSTALL_NAME_DIR:STRING=${prefix}/lib/${name_mysql}/mysql \ + -DINSTALL_LAYOUT:STRING=MACPORTS \ + -DSYSCONFDIR:PATH=${prefix}/etc/${name_mysql} \ + -DMYSQL_UNIX_ADDR:PATH=${prefix}/var/run/${name_mysql}/mysqld.sock \ + -DMYSQL_DATADIR:PATH=${prefix}/var/db/${name_mysql} \ + -DDEFAULT_CHARSET:STRING=utf8 \ + -DDEFAULT_COLLATION:STRING=utf8_general_ci \ + -DWITH_EMBEDDED_SERVER:BOOL=ON \ + -DWITH_ZLIB:STRING=system \ + -DWITH_UNIT_TESTS:BOOL=ON \ + -DWITHOUT_CASSANDRA_STORAGE_ENGINE:BOOL=ON \ + -DWITHOUT_MROONGA_STORAGE_ENGINE:BOOL=ON \ + -DWITHOUT_ROCKSDB_STORAGE_ENGINE:BOOL=ON \ + -DWITHOUT_TOKUDB_STORAGE_ENGINE:BOOL=ON \ + -DENABLE_GCOV:BOOL=OFF \ + -DENABLE_DTRACE:BOOL=OFF \ + -DWITH_READLINE:BOOL=ON \ + -DWITH_LIBWRAP:BOOL=ON \ + -DWITH_SSL:STRING=yes \ + -DWITH_SSL_PATH=${prefix} \ + -DMYSQL_MAINTAINER_MODE:STRING=AUTO \ + -DICONV_LIBRARIES=${prefix}/lib/libiconv.dylib \ + -DICONV_INCLUDE_DIR:PATH=${prefix}/include \ + -DCONNECT_WITH_LIBXML2=ON + + post-destroot { + # proc portdestroot::destroot_finish fails to find and compress our man pages + # so borrow the compress command and run on our files now. + set manpath "${destroot}${prefix}/share/man" + set gzip [findBinary gzip ${portutil::autoconf::gzip_path}] + foreach manpage [glob -type f ${destroot}${prefix}/share/man/${name_mysql}/man\[1-9\]/*] { + # Fix paths in manpages + reinplace -q "s|/etc/|${prefix}/etc/${name_mysql}/|g" ${manpage} + # Compress all manpages with gzip + system "$gzip -9vf ${manpage}" + } + #foreach samp_conffile [glob -type f ${destroot}${prefix}/share/${name_mysql}/support-files/my-*.cnf] { + # # Fix paths in sample configuration files + # reinplace -q "s|/etc/my.cnf|${prefix}/etc/${name_mysql}/my.cnf|g" ${samp_conffile} + #} + xinstall -m 755 -o root -d \ + ${destroot}${prefix}/etc/${name_mysql} + copy ${cmake.build_dir}/macports/macports-default.cnf \ + ${destroot}${prefix}/etc/${name_mysql}/ + xinstall -m 755 -o root -d \ + ${destroot}${prefix}/share/${name_mysql}/support-files/macports + copy ${cmake.build_dir}/macports/my.cnf \ + ${destroot}${prefix}/share/${name_mysql}/support-files/macports/ + } + + post-install { + if {![file exists ${prefix}/etc/LaunchDaemons/org.macports.${name_mysql}/org.macports.${name_mysql}-server.plist]} { + ui_msg "The ${name_mysql} client has been installed." + ui_msg "To install the ${name_mysql} server, install the ${name_mysql}-server port." + } + } + + pre-activate { + # The macports-default.cnf is installed by ${name_mysql}. + # Early versions of ${name_mysql}-server installed macports-default.cnf so for a + # reasonable period we need to deactivate older versions of the ${name_mysql}-server. + if { [file exists ${prefix}/etc/${name_mysql}/macports-default.cnf] + && ![catch {set vers [lindex [registry_active ${name_mysql}-server] 0]}] + && [vercmp [lindex $vers 1] 5.5.24] < 0 } { + + registry_deactivate_composite ${name_mysql}-server "" [list ports_nodepcheck 1] + } + } + + post-activate { + if {![file exists ${prefix}/etc/${name_mysql}/my.cnf]} { + copy ${prefix}/share/${name_mysql}/support-files/macports/my.cnf \ + ${prefix}/etc/${name_mysql}/ + } + } + + variant system_readline description {Use system readline instead of bundled readline} { + # Add readline support. + # "-DWITH_READLINE:BOOL=OFF" has the peculiar meaning "do not use the bundled copy + # of readline but use the system's (i.e. MacPorts') copy of readline" + depends_lib-append port:readline + configure.args-delete -DWITH_READLINE:BOOL=ON + configure.args-append -DWITH_READLINE:BOOL=OFF + } + + notes " +On activation if no ${prefix}/etc/${name_mysql}/my.cnf file exists one +will be created which loads +${prefix}/etc/${name_mysql}/macports-default.cnf. + +If a ${prefix}/etc/${name_mysql}/my.cnf file exists MacPorts does not +touch it and any changes you make to ${prefix}/etc/${name_mysql}/my.cnf +will be preserved (e.g., during port upgrades, deactivations or +activations). ${prefix}/etc/${name_mysql}/my.cnf is a good place to +customize your ${name_mysql} installation. + +Any changes made to ${prefix}/etc/${name_mysql}/macports-default.cnf +will be lost during port upgrades, deactivations or activations so you +are advised to not make changes here. Currently +${prefix}/etc/${name_mysql}/macports-default.cnf contains only one +directive; to disable networking. With disabled networking it is +possible to install and have running all the MacPorts mysql ports +simultaneously. +" + + github.livecheck.regex (${version_branch}.\[0-9\]+) + +} + +subport ${name_mysql}-server { + + revision ${revision_server} + license BSD + description (Beta version) Run ${name_mysql} as server + long_description {*}${description} + + supported_archs noarch + distfiles + + depends_run port:${name_mysql} + + if {"darwin" eq ${os.platform} && ${os.major} > 8} { + set mysqluser _mysql + } else { + set mysqluser mysql + } + add_users ${mysqluser} group=${mysqluser} realname=MySQL\ Server + + pre-extract { + copy ${filespath}/org.macports.mysql-server.plist ${workpath}/org.macports.${subport}.plist + } + + post-patch { + reinplace "s|@NAMEMYSQL@|${name_mysql}|g" \ + ${workpath}/org.macports.${subport}.plist + reinplace "s|@PREFIX@|${prefix}|g" \ + ${workpath}/org.macports.${subport}.plist + reinplace "s|@SUBPORT@|${subport}|g" \ + ${workpath}/org.macports.${subport}.plist + reinplace "s|@USER@|${mysqluser}|g" \ + ${workpath}/org.macports.${subport}.plist + reinplace "s|@GROUP@|${mysqluser}|g" \ + ${workpath}/org.macports.${subport}.plist + } + + use_configure no + + build {} + + destroot { + xinstall -d -m 755 ${destroot}${prefix}/etc/LaunchDaemons/org.macports.${subport} + xinstall -m 0644 -o root -W ${workpath} \ + org.macports.${subport}.plist \ + ${destroot}${prefix}/etc/LaunchDaemons/org.macports.${subport} + xinstall -d -m 755 ${destroot}/Library/LaunchDaemons + ln -s ${prefix}/etc/LaunchDaemons/org.macports.${subport}/org.macports.${subport}.plist \ + ${destroot}/Library/LaunchDaemons/org.macports.${subport}.plist + xinstall -m 755 -o root -d \ + ${destroot}${prefix}/var/run + xinstall -m 755 -o ${mysqluser} -g ${mysqluser} -d \ + ${destroot}${prefix}/etc/${name_mysql} \ + ${destroot}${prefix}/var/db/${name_mysql} \ + ${destroot}${prefix}/var/log/${name_mysql} \ + ${destroot}${prefix}/var/run/${name_mysql} + destroot.keepdirs-append \ + ${destroot}${prefix}/var/db/${name_mysql} \ + ${destroot}${prefix}/var/log/${name_mysql} \ + ${destroot}${prefix}/var/run/${name_mysql} + } + + notes " +If this is a new install you might want to run: + +\$ sudo -u ${mysqluser} ${prefix}/lib/${name_mysql}/bin/mysql_install_db +" + + livecheck.type none +} + +homepage https://mariadb.org/ diff --git a/databases/mariadb-10.4/files/macports-default.cnf b/databases/mariadb-10.4/files/macports-default.cnf new file mode 100644 index 0000000000000..43c952fb7ea56 --- /dev/null +++ b/databases/mariadb-10.4/files/macports-default.cnf @@ -0,0 +1,9 @@ +# WARNING! ANY CHANGES TO THIS FILE WILL BE LOST ON UNINSTALL/UPGRADES! +# Make your changes to @PREFIX@/etc/@NAME@/my.cnf +# YOU HAVE BEEN WARNED! + +# MacPorts default options +[mysqld] +# skip-networking so multple mysql server ports can be loaded +# without each competing for port 3306. +skip-networking diff --git a/databases/mariadb-10.4/files/mariadb-10.4 b/databases/mariadb-10.4/files/mariadb-10.4 new file mode 100644 index 0000000000000..b0acb1980079e --- /dev/null +++ b/databases/mariadb-10.4/files/mariadb-10.4 @@ -0,0 +1,169 @@ +lib/mariadb-10.4/bin/aria_chk +lib/mariadb-10.4/bin/aria_dump_log +lib/mariadb-10.4/bin/aria_ftdump +lib/mariadb-10.4/bin/aria_pack +lib/mariadb-10.4/bin/aria_read_log +- +lib/mariadb-10.4/bin/innochecksum +- +- +lib/mariadb-10.4/bin/msql2mysql +lib/mariadb-10.4/bin/my_print_defaults +lib/mariadb-10.4/bin/myisam_ftdump +lib/mariadb-10.4/bin/myisamchk +lib/mariadb-10.4/bin/myisamlog +lib/mariadb-10.4/bin/myisampack +lib/mariadb-10.4/bin/mysql +lib/mariadb-10.4/bin/mysql_client_test +lib/mariadb-10.4/bin/mysql_client_test_embedded +lib/mariadb-10.4/bin/mysql_config +- +lib/mariadb-10.4/bin/mysql_convert_table_format +lib/mariadb-10.4/bin/mysql_embedded +lib/mariadb-10.4/bin/mysql_find_rows +lib/mariadb-10.4/bin/mysql_fix_extensions +- +lib/mariadb-10.4/bin/mysql_install_db +lib/mariadb-10.4/bin/mysql_plugin +lib/mariadb-10.4/bin/mysql_secure_installation +lib/mariadb-10.4/bin/mysql_setpermission +- +lib/mariadb-10.4/bin/mysql_tzinfo_to_sql +lib/mariadb-10.4/bin/mysql_upgrade +lib/mariadb-10.4/bin/mysql_waitpid +- +lib/mariadb-10.4/bin/mysqlaccess +- +lib/mariadb-10.4/bin/mysqladmin +lib/mariadb-10.4/bin/mysqlbinlog +- +lib/mariadb-10.4/bin/mysqlcheck +lib/mariadb-10.4/bin/mysqld +lib/mariadb-10.4/bin/mysqld_multi +lib/mariadb-10.4/bin/mysqld_safe +lib/mariadb-10.4/bin/mysqldump +lib/mariadb-10.4/bin/mysqldumpslow +lib/mariadb-10.4/bin/mysqlhotcopy +lib/mariadb-10.4/bin/mysqlimport +- +- +lib/mariadb-10.4/bin/mysqlshow +lib/mariadb-10.4/bin/mysqlslap +lib/mariadb-10.4/bin/mysqltest +lib/mariadb-10.4/bin/mysqltest_embedded +lib/mariadb-10.4/bin/mytop +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +lib/mariadb-10.4/bin/perror +- +lib/mariadb-10.4/bin/replace +lib/mariadb-10.4/bin/resolve_stack_dump +lib/mariadb-10.4/bin/resolveip +lib/mariadb-10.4/bin/wsrep_sst_common +lib/mariadb-10.4/bin/wsrep_sst_mysqldump +lib/mariadb-10.4/bin/wsrep_sst_rsync +- +- +- +share/man/mariadb-10.4/man1/aria_chk.1.gz +share/man/mariadb-10.4/man1/aria_dump_log.1.gz +share/man/mariadb-10.4/man1/aria_ftdump.1.gz +share/man/mariadb-10.4/man1/aria_pack.1.gz +share/man/mariadb-10.4/man1/aria_read_log.1.gz +- +share/man/mariadb-10.4/man1/innochecksum.1.gz +- +share/man/mariadb-10.4/man1/msql2mysql.1.gz +share/man/mariadb-10.4/man1/my_print_defaults.1.gz +share/man/mariadb-10.4/man1/myisam_ftdump.1.gz +share/man/mariadb-10.4/man1/myisamchk.1.gz +share/man/mariadb-10.4/man1/myisamlog.1.gz +share/man/mariadb-10.4/man1/myisampack.1.gz +share/man/mariadb-10.4/man1/mysql-stress-test.pl.1.gz +share/man/mariadb-10.4/man1/mysql-test-run.pl.1.gz +share/man/mariadb-10.4/man1/mysql.1.gz +share/man/mariadb-10.4/man1/mysql.server.1.gz +share/man/mariadb-10.4/man1/mysql_client_test.1.gz +share/man/mariadb-10.4/man1/mysql_client_test_embedded.1.gz +share/man/mariadb-10.4/man1/mysql_config.1.gz +- +share/man/mariadb-10.4/man1/mysql_convert_table_format.1.gz +share/man/mariadb-10.4/man1/mysql_find_rows.1.gz +share/man/mariadb-10.4/man1/mysql_fix_extensions.1.gz +- +share/man/mariadb-10.4/man1/mysql_install_db.1.gz +share/man/mariadb-10.4/man1/mysql_plugin.1.gz +share/man/mariadb-10.4/man1/mysql_secure_installation.1.gz +share/man/mariadb-10.4/man1/mysql_setpermission.1.gz +- +share/man/mariadb-10.4/man1/mysql_tzinfo_to_sql.1.gz +share/man/mariadb-10.4/man1/mysql_upgrade.1.gz +share/man/mariadb-10.4/man1/mysql_waitpid.1.gz +- +share/man/mariadb-10.4/man1/mysqlaccess.1.gz +share/man/mariadb-10.4/man1/mysqladmin.1.gz +share/man/mariadb-10.4/man1/mysqlbinlog.1.gz +- +share/man/mariadb-10.4/man1/mysqlcheck.1.gz +share/man/mariadb-10.4/man1/mysqld_multi.1.gz +share/man/mariadb-10.4/man1/mysqld_safe.1.gz +share/man/mariadb-10.4/man1/mysqldump.1.gz +share/man/mariadb-10.4/man1/mysqldumpslow.1.gz +share/man/mariadb-10.4/man1/mysqlhotcopy.1.gz +share/man/mariadb-10.4/man1/mysqlimport.1.gz +- +- +share/man/mariadb-10.4/man1/mysqlshow.1.gz +share/man/mariadb-10.4/man1/mysqlslap.1.gz +share/man/mariadb-10.4/man1/mysqltest.1.gz +share/man/mariadb-10.4/man1/mysqltest_embedded.1.gz +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +share/man/mariadb-10.4/man1/perror.1.gz +share/man/mariadb-10.4/man1/replace.1.gz +share/man/mariadb-10.4/man1/resolve_stack_dump.1.gz +share/man/mariadb-10.4/man1/resolveip.1.gz +- +share/man/mariadb-10.4/man8/mysqld.8.gz +- +- +- +- diff --git a/databases/mariadb-10.4/files/my.cnf b/databases/mariadb-10.4/files/my.cnf new file mode 100644 index 0000000000000..1d00ab6d4416d --- /dev/null +++ b/databases/mariadb-10.4/files/my.cnf @@ -0,0 +1,2 @@ +# Use default MacPorts settings +!include @PREFIX@/etc/@NAME@/macports-default.cnf diff --git a/databases/mariadb-10.4/files/org.macports.mysql-server.plist b/databases/mariadb-10.4/files/org.macports.mysql-server.plist new file mode 100644 index 0000000000000..a308af5272cdc --- /dev/null +++ b/databases/mariadb-10.4/files/org.macports.mysql-server.plist @@ -0,0 +1,30 @@ + + + + + Label + org.macports.@SUBPORT@ + ProcessType + Interactive + Disabled + + RunAtLoad + + KeepAlive + + SessionCreate + + LaunchOnlyOnce + + UserName + @USER@ + GroupName + @GROUP@ + ExitTimeOut + 600 + ProgramArguments + + @PREFIX@/lib/@NAMEMYSQL@/bin/mysqld + + + diff --git a/databases/mariadb-10.4/files/patch-CMakeLists.txt.diff b/databases/mariadb-10.4/files/patch-CMakeLists.txt.diff new file mode 100644 index 0000000000000..dcfdbf619243f --- /dev/null +++ b/databases/mariadb-10.4/files/patch-CMakeLists.txt.diff @@ -0,0 +1,20 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -28,6 +28,7 @@ + + MESSAGE(STATUS "Running cmake version ${CMAKE_VERSION}") + ++SET(CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE ON) + SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} + ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_SOURCE_DIR}/cmake/Internal/CPack) + +@@ -267,6 +268,9 @@ + ELSEIF (NOT ENABLED_LOCAL_INFILE MATCHES "^(ON|OFF|AUTO)$") + MESSAGE(FATAL_ERROR "ENABLED_LOCAL_INFILE must be one of OFF, ON, AUTO") + ENDIF() ++IF(SYSCONFDIR) ++ SET(DEFAULT_SYSCONFDIR "${SYSCONFDIR}") ++ENDIF() + + # Set DBUG_OFF and other optional release-only flags for non-debug project types + FOREACH(BUILD_TYPE RELEASE RELWITHDEBINFO MINSIZEREL) diff --git a/databases/mariadb-10.4/files/patch-cmake-install_layout.cmake.diff b/databases/mariadb-10.4/files/patch-cmake-install_layout.cmake.diff new file mode 100644 index 0000000000000..361c81b16ec95 --- /dev/null +++ b/databases/mariadb-10.4/files/patch-cmake-install_layout.cmake.diff @@ -0,0 +1,56 @@ +--- a/cmake/install_layout.cmake ++++ b/cmake/install_layout.cmake +@@ -78,7 +78,7 @@ + ENDIF() + + SET(INSTALL_LAYOUT "${INSTALL_LAYOUT}" +-CACHE STRING "Installation directory layout. Options are: STANDALONE (as in zip or tar.gz installer) RPM DEB SVR4") ++CACHE STRING "Installation directory layout. Options are: STANDALONE (as in zip or tar.gz installer) RPM DEB SVR4 MACPORTS") + + IF(UNIX) + IF(INSTALL_LAYOUT MATCHES "RPM") +@@ -94,7 +94,7 @@ + SET(CMAKE_INSTALL_PREFIX ${default_prefix} + CACHE PATH "install prefix" FORCE) + ENDIF() +- SET(VALID_INSTALL_LAYOUTS "RPM" "STANDALONE" "DEB" "SVR4") ++ SET(VALID_INSTALL_LAYOUTS "RPM" "STANDALONE" "DEB" "SVR4" "MACPORTS") + LIST(FIND VALID_INSTALL_LAYOUTS "${INSTALL_LAYOUT}" ind) + IF(ind EQUAL -1) + MESSAGE(FATAL_ERROR "Invalid INSTALL_LAYOUT parameter:${INSTALL_LAYOUT}." +@@ -228,6 +228,35 @@ + SET(INSTALL_MYSQLDATADIR_SVR4 "/var/lib/mysql") + + SET(INSTALL_UNIX_ADDRDIR_SVR "/tmp/mysql.sock") ++# ++# MACPORTS layout ++# ++SET(INSTALL_BINDIR_MACPORTS "lib/@NAME@/bin") ++SET(INSTALL_SBINDIR_MACPORTS "lib/@NAME@/bin") ++SET(INSTALL_SCRIPTDIR_MACPORTS "lib/@NAME@/bin") ++# ++SET(INSTALL_LIBDIR_MACPORTS "lib/@NAME@/mysql") ++SET(INSTALL_PLUGINDIR_MACPORTS "lib/@NAME@/plugin") ++# ++SET(INSTALL_INCLUDEDIR_MACPORTS "include/@NAME@/mysql") ++# ++SET(INSTALL_DOCDIR_MACPORTS "share/doc/@NAME@") ++SET(INSTALL_DOCREADMEDIR_MACPORTS "share/doc/@NAME@") ++SET(INSTALL_MANDIR_MACPORTS "share/man/@NAME@") ++SET(INSTALL_INFODIR_MACPORTS "share/doc/@NAME@") ++# ++SET(INSTALL_SHAREDIR_MACPORTS "share/@NAME@") ++SET(INSTALL_MYSQLSHAREDIR_MACPORTS "share/@NAME@") ++SET(INSTALL_MYSQLTESTDIR_MACPORTS "share/@NAME@/mysql-test") ++SET(INSTALL_SQLBENCHDIR_MACPORTS "share/@NAME@") ++SET(INSTALL_SUPPORTFILESDIR_MACPORTS "share/@NAME@/support-files") ++# ++SET(INSTALL_MYSQLDATADIR_MACPORTS "var/db/@NAME@") ++SET(INSTALL_PLUGINTESTDIR_MACPORTS ${plugin_tests}) ++# ++# SUID /bin/ps is not in MacPorts sandbox causing scripts/CMakeLists.txt tests to fail so we set FIND_PROC here. ++# ++SET(FIND_PROC "ps -ef | grep -v mysqld_safe | grep -- $MYSQLD | grep $PID > /dev/null") + + # Clear cached variables if install layout was changed + IF(OLD_INSTALL_LAYOUT) diff --git a/databases/mariadb-10.4/files/patch-cmake_mysql_version.cmake.diff b/databases/mariadb-10.4/files/patch-cmake_mysql_version.cmake.diff new file mode 100644 index 0000000000000..1bc12605073e6 --- /dev/null +++ b/databases/mariadb-10.4/files/patch-cmake_mysql_version.cmake.diff @@ -0,0 +1,20 @@ +--- a/cmake/mysql_version.cmake ++++ b/cmake/mysql_version.cmake +@@ -23,7 +23,7 @@ + + # Generate "something" to trigger cmake rerun when VERSION changes + CONFIGURE_FILE( +- ${CMAKE_SOURCE_DIR}/VERSION ++ ${CMAKE_SOURCE_DIR}/VERSION.txt + ${CMAKE_BINARY_DIR}/VERSION.dep + ) + +@@ -31,7 +31,7 @@ + + MACRO(MYSQL_GET_CONFIG_VALUE keyword var) + IF(NOT ${var}) +- FILE (STRINGS ${CMAKE_SOURCE_DIR}/VERSION str REGEX "^[ ]*${keyword}=") ++ FILE (STRINGS ${CMAKE_SOURCE_DIR}/VERSION.txt str REGEX "^[ ]*${keyword}=") + IF(str) + STRING(REPLACE "${keyword}=" "" str ${str}) + STRING(REGEX REPLACE "[ ].*" "" str "${str}") diff --git a/databases/mariadb-10.4/files/patch-libmariadb_cmake_install.cmake.diff b/databases/mariadb-10.4/files/patch-libmariadb_cmake_install.cmake.diff new file mode 100644 index 0000000000000..8fd9ef7377ee7 --- /dev/null +++ b/databases/mariadb-10.4/files/patch-libmariadb_cmake_install.cmake.diff @@ -0,0 +1,23 @@ +diff --git a/libmariadb/cmake/install.cmake b/libmariadb/cmake/install.cmake +index 4a82dd9..8120366 100644 +--- a/libmariadb/cmake/install.cmake ++++ b/libmariadb/cmake/install.cmake +@@ -60,13 +60,13 @@ ENDIF() + # DEFAULT layout + # + +-SET(INSTALL_BINDIR_DEFAULT "bin") +-SET(INSTALL_LIBDIR_DEFAULT "lib/mariadb") +-SET(INSTALL_PCDIR_DEFAULT "lib/pkgconfig") +-SET(INSTALL_INCLUDEDIR_DEFAULT "include/mariadb") ++SET(INSTALL_BINDIR_DEFAULT "lib/@NAME@/bin") ++SET(INSTALL_LIBDIR_DEFAULT "lib/@NAME@") ++SET(INSTALL_PCDIR_DEFAULT "lib/@NAME@/pkgconfig") ++SET(INSTALL_INCLUDEDIR_DEFAULT "include/@NAME@") + SET(INSTALL_DOCDIR_DEFAULT "docs") + IF(NOT IS_SUBPROJECT) +- SET(INSTALL_PLUGINDIR_DEFAULT "lib/mariadb/plugin") ++ SET(INSTALL_PLUGINDIR_DEFAULT "lib/@NAME@/plugin") + ELSE() + ENDIF() + SET(LIBMARIADB_STATIC_DEFAULT "mariadbclient") diff --git a/databases/mariadb-10.4/files/patch-libmariadb_libmariadb_CMakeLists.txt.diff b/databases/mariadb-10.4/files/patch-libmariadb_libmariadb_CMakeLists.txt.diff new file mode 100644 index 0000000000000..fc11fb28b9248 --- /dev/null +++ b/databases/mariadb-10.4/files/patch-libmariadb_libmariadb_CMakeLists.txt.diff @@ -0,0 +1,13 @@ +diff --git a/libmariadb/libmariadb/CMakeLists.txt b/libmariadb/libmariadb/CMakeLists.txt +index e4217439..6fa6b468 100644 +--- a/libmariadb/libmariadb/CMakeLists.txt ++++ b/libmariadb/libmariadb/CMakeLists.txt +@@ -311,7 +311,7 @@ + IF(ICONV_INCLUDE_DIR) + INCLUDE_DIRECTORIES(BEFORE ${ICONV_INCLUDE_DIR}) + ENDIF() +- ADD_DEFINITIONS(-DLIBICONV_PLUG) ++ # ADD_DEFINITIONS(-DLIBICONV_PLUG) + ENDIF() + + IF(ZLIB_FOUND AND WITH_EXTERNAL_ZLIB) diff --git a/databases/mariadb-10.4/files/patch-libmariadb_mariadb_config_CMakeLists.txt.diff b/databases/mariadb-10.4/files/patch-libmariadb_mariadb_config_CMakeLists.txt.diff new file mode 100644 index 0000000000000..fc5e2620dcca1 --- /dev/null +++ b/databases/mariadb-10.4/files/patch-libmariadb_mariadb_config_CMakeLists.txt.diff @@ -0,0 +1,13 @@ +diff --git a/libmariadb/mariadb_config/CMakeLists.txt b/libmariadb/mariadb_config/CMakeLists.txt +index 60d8c58..7a66cf3 100644 +--- a/libmariadb/mariadb_config/CMakeLists.txt ++++ b/libmariadb/mariadb_config/CMakeLists.txt +@@ -55,7 +55,7 @@ ADD_EXECUTABLE(mariadb_config ${CMAKE_CURRENT_BINARY_DIR}/mariadb_config.c) + # Installation + # + INSTALL(TARGETS mariadb_config +- DESTINATION "bin" ++ DESTINATION "${INSTALL_BINDIR}" + COMPONENT Development) + + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libmariadb.pc