123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- # Copyright 1999-2014 Gentoo Foundation
- # Distributed under the terms of the GNU General Public License v2
- EAPI=5
- inherit perl-app perl-module toolchain-funcs
- DESCRIPTION="essential command-line utilities for MySQL"
- HOMEPAGE="http://www.maatkit.org/"
- SRC_URI="https://maatkit.googlecode.com/files/${P}.tar.gz"
- LICENSE="GPL-2"
- SLOT="0"
- KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~ppc-macos"
- IUSE="udf"
- COMMON_DEPEND="dev-perl/DBI
- dev-perl/DBD-mysql
- virtual/perl-Time-HiRes"
- RDEPEND="${COMMON_DEPEND}
- virtual/perl-Getopt-Long
- virtual/perl-Time-Local
- virtual/perl-Digest-MD5
- virtual/perl-IO-Compress
- virtual/perl-File-Temp
- virtual/perl-File-Spec
- virtual/perl-Time-HiRes
- virtual/perl-Scalar-List-Utils
- dev-perl/TermReadKey"
- DEPEND="${COMMON_DEPEND}
- udf? ( dev-db/mysql )
- virtual/perl-ExtUtils-MakeMaker"
- mysql-udf_src_compile() {
- local udfdir="${T}/udf/"
- mkdir -p "${udfdir}"
- local udfname udffile udfext udfoutpath
- udfname="${1}"
- udfext=".so"
- udffile="${udfname}${udfext}"
- udfoutpath="${udfdir}/${udffile}"
- shift
- CXX="$(tc-getCXX)"
- local src="$@"
- if [ -z "$@" ]; then
- src="${udfname}.cc"
- fi
- for f in ${src} ; do
- [ -f "${f}" ] || \
- die "UDF ${udfname}: Cannot find source file ${f} to compile"
- done
- einfo "UDF ${udfname}: compiling from ${src}"
- ${CXX} \
- ${CXXFLAGS} -I/usr/include/mysql \
- ${LDFLAGS} -fPIC -shared -o "${udfoutpath}" $src \
- || die "UDF ${udfname}: Failed to compile"
- }
- mysql-udf_src_install() {
- local udfdir="${T}/udf/"
- local udfname udfext udffile udfoutpath
- udfname="${1}"
- udfext=".so"
- udffile="${udfname}${udfext}"
- udfoutpath="${udfdir}/${udffile}"
- insinto /usr/$(get_libdir)/mysql/plugins
- doins "${udfoutpath}"
- }
- udf_done_intro=0
- mysql-udf_pkg_postinst() {
- local udfname udffile udfext udffunc udfreturn
- udfname="${1}"
- udfext=".so"
- udffile="${udfname}${udfext}"
- udffunc="${2}"
- udfreturn="${3}"
- if [ ${udf_done_intro} -eq 0 ]; then
- elog "To use the UDFs that were built:"
- elog "Update your configuration to include 'plugin_dir=/usr/$(get_libdir)/mysql/plugins'"
- elog "Issue the following commands as a user with FUNCTION privileges:"
- udf_done_intro=1
- fi
- elog "CREATE FUNCTION ${udffunc} RETURNS ${udfreturn} SONAME '${udffile}'"
- }
- src_compile() {
- perl-app_src_compile
- if use udf; then
- cd "${S}"/udf
- mysql-udf_src_compile murmur_udf
- mysql-udf_src_compile fnv_udf
- fi
- }
- src_install() {
- perl-module_src_install
- if use udf; then
- mysql-udf_src_install murmur_udf
- mysql-udf_src_install fnv_udf
- fi
- }
- pkg_postinst() {
- if use udf; then
- mysql-udf_pkg_postinst murmur_udf murmur_hash INTEGER
- mysql-udf_pkg_postinst fnv_udf fnv_64 INTEGER
- fi
- }
|