diff options
-rw-r--r-- | eclass/java-utils-2.eclass | 4 | ||||
-rw-r--r-- | eclass/mono.eclass | 80 | ||||
-rw-r--r-- | eclass/mysql.eclass | 64 |
3 files changed, 54 insertions, 94 deletions
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass index 3e6a12a42f..865c206036 100644 --- a/eclass/java-utils-2.eclass +++ b/eclass/java-utils-2.eclass @@ -6,7 +6,7 @@ # # Licensed under the GNU General Public License, v2 # -# $Header: /var/cvsroot/gentoo-x86/eclass/java-utils-2.eclass,v 1.138 2011/03/23 19:32:57 serkan Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/java-utils-2.eclass,v 1.139 2011/03/26 00:43:12 serkan Exp $ # ----------------------------------------------------------------------------- # @eclass-begin @@ -1805,7 +1805,7 @@ ejunit_() { # @ebuild-function ejunit # # Junit wrapper function. Makes it easier to run the tests and checks for -# dev-java/junit in DEPEND. Launches the tests using junit.textui.TestRunner. +# dev-java/junit in DEPEND. Launches the tests using org.junit.runner.JUnitCore. # # Examples: # ejunit -cp build/classes org.blinkenlights.jid3.test.AllTests diff --git a/eclass/mono.eclass b/eclass/mono.eclass deleted file mode 100644 index c36a77b2ad..0000000000 --- a/eclass/mono.eclass +++ /dev/null @@ -1,80 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/mono.eclass,v 1.13 2009/03/08 15:46:54 loki_val Exp $ - -# @ECLASS: mono.eclass -# @MAINTAINER: -# dotnet@gentoo.org -# @BLURB: common settings and functions for mono and dotnet related -# packages -# @DESCRIPTION: -# The mono eclass contains common environment settings that are useful for -# dotnet packages. Currently, it provides no functions, just exports -# MONO_SHARED_DIR and sets LC_ALL in order to prevent errors during compilation -# of dotnet packages. - -inherit multilib - -# >=mono-0.92 versions using mcs -pkg:foo-sharp require shared memory, so we set the -# shared dir to ${T} so that ${T}/.wapi can be used during the install process. -export MONO_SHARED_DIR="${T}" - -# Building mono, nant and many other dotnet packages is known to fail if LC_ALL -# variable is not set to C. To prevent this all mono related packages will be -# build with LC_ALL=C (see bugs #146424, #149817) -export LC_ALL=C - -# Monodevelop-using applications need this to be set or they will try to create config -# files in the user's ~ dir. - -export XDG_CONFIG_HOME="${T}" - -# Fix bug 83020: -# "Access Violations Arise When Emerging Mono-Related Packages with MONO_AOT_CACHE" - -unset MONO_AOT_CACHE - -egacinstall() { - gacutil -i "${1}" \ - -root "${ED}"/usr/$(get_libdir) \ - -gacdir /usr/$(get_libdir) \ - -package ${2:-${GACPN:-${PN}}} \ - || die "installing ${1} into the Global Assembly Cache failed" -} - -mono_multilib_comply() { - local dir finddirs=() mv_command=${mv_command:-mv} - if [[ -d "${ED}/usr/lib" && "$(get_libdir)" != "lib" ]] - then - if ! [[ -d "${ED}"/usr/"$(get_libdir)" ]] - then - mkdir "${ED}"/usr/"$(get_libdir)" || die "Couldn't mkdir ${ED}/usr/$(get_libdir)" - fi - ${mv_command} "${ED}"/usr/lib/* "${ED}"/usr/"$(get_libdir)"/ || die "Moving files into correct libdir failed" - rm -rf "${ED}"/usr/lib - for dir in "${ED}"/usr/"$(get_libdir)"/pkgconfig "${ED}"/usr/share/pkgconfig - do - - if [[ -d "${dir}" && "$(find "${dir}" -name '*.pc')" != "" ]] - then - pushd "${dir}" &> /dev/null - sed -i -r -e 's:/(lib)([^a-zA-Z0-9]|$):/'"$(get_libdir)"'\2:g' \ - *.pc \ - || die "Sedding some sense into pkgconfig files failed." - popd "${dir}" &> /dev/null - fi - done - if [[ -d "${ED}/usr/bin" ]] - then - for exe in "${ED}/usr/bin"/* - do - if [[ "$(file "${exe}")" == *"shell script text"* ]] - then - sed -r -i -e ":/lib(/|$): s:/lib(/|$):/$(get_libdir)\1:" \ - "${exe}" || die "Sedding some sense into ${exe} failed" - fi - done - fi - - fi -} diff --git a/eclass/mysql.eclass b/eclass/mysql.eclass index 3a7aec2aa2..55b2b73671 100644 --- a/eclass/mysql.eclass +++ b/eclass/mysql.eclass @@ -1,6 +1,6 @@ # Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/mysql.eclass,v 1.156 2010/11/28 21:55:54 robbat2 Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/mysql.eclass,v 1.157 2011/03/26 23:44:43 jmbsvicetto Exp $ # @ECLASS: mysql.eclass # @MAINTAINER: @@ -145,6 +145,10 @@ RDEPEND="${DEPEND} !prefix? ( !minimal? ( dev-db/mysql-init-scripts ) ) selinux? ( sec-policy/selinux-mysql )" +if [ "${EAPI:-0}" = "2" ]; then + DEPEND="${DEPEND} static? ( sys-libs/ncurses[static-libs] )" +fi + # compile-time-only mysql_version_is_at_least "5.1" \ || DEPEND="${DEPEND} berkdb? ( sys-apps/ed )" @@ -153,6 +157,12 @@ mysql_version_is_at_least "5.1" \ mysql_version_is_at_least "5.1.12" \ && DEPEND="${DEPEND} >=dev-util/cmake-2.4.3" +[[ "${PN}" == "mariadb" ]] \ +&& mysql_version_is_at_least "5.2" \ +&& DEPEND="${DEPEND} oqgraph? ( >=dev-libs/boost-1.40.0 )" +#SphinxSE is included but is not available in 5.2.4 due to a missing plug.in file +# sphinx? ( app-misc/sphinx )" + # dev-perl/DBD-mysql is needed by some scripts installed by MySQL PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" @@ -241,6 +251,12 @@ mysql_version_is_at_least "5.1" \ [[ "${PN}" == "mariadb" ]] \ && IUSE="${IUSE} libevent" +[[ "${PN}" == "mariadb" ]] \ +&& mysql_version_is_at_least "5.2" \ +&& IUSE="${IUSE} oqgraph" +#SphinxSE is included but is not available in 5.2.4 due to a missing plug.in file +#&& IUSE="${IUSE} oqgraph sphinx" + # MariaDB has integrated PBXT # PBXT_VERSION means that we have a PBXT patch for this PV # PBXT was only introduced after 5.1.12 @@ -627,16 +643,17 @@ configure_51() { if use extraengine ; then # like configuration=max-no-ndb, archive and example removed in 5.1.11 # not added yet: ibmdb2i - # Not supporting as examples: example,daemon_example,ftexample + # Not supporting as examples: example,daemon_example,ftexample plugins_sta="${plugins_sta} partition" - plugins_dyn="${plugins_sta} federated" if [[ "${PN}" != "mariadb" ]] ; then elog "Before using the Federated storage engine, please be sure to read" elog "http://dev.mysql.com/doc/refman/5.1/en/federated-limitations.html" + plugins_dyn="${plugins_sta} federated" else elog "MariaDB includes the FederatedX engine. Be sure to read" elog "http://askmonty.org/wiki/index.php/Manual:FederatedX_storage_engine" + plugins_dyn="${plugins_sta} federatedx" fi else plugins_dis="${plugins_dis} partition federated" @@ -664,7 +681,15 @@ configure_51() { if [[ "${PN}" == "mariadb" ]] ; then # In MariaDB, InnoDB is packaged in the xtradb directory, so it's not # caught above. - plugins_sta="${plugins_sta} maria" + # This is not optional, without it several upstream testcases fail. + # Also strongly recommended by upstream. + if [[ "${PV}" < "5.2.0" ]] ; then + myconf="${myconf} --with-maria-tmp-tables" + plugins_sta="${plugins_sta} maria" + else + myconf="${myconf} --with-aria-tmp-tables" + plugins_sta="${plugins_sta} aria" + fi [ -e "${S}"/storage/innobase ] || [ -e "${S}"/storage/xtradb ] || die "The ${P} package doesn't provide innobase nor xtradb" @@ -674,9 +699,16 @@ configure_51() { done myconf="${myconf} $(use_with libevent)" - # This is not optional, without it several upstream testcases fail. - # Also strongly recommended by upstream. - myconf="${myconf} --with-maria-tmp-tables" + + if mysql_version_is_at_least "5.2" ; then + #This should include sphinx, but the 5.2.4 archive forgot the plug.in file + #for i in oqgraph sphinx ; do + for i in oqgraph ; do + use ${i} \ + && plugins_dyn="${plugins_dyn} ${i}" \ + || plugins_dis="${plugins_dis} ${i}" + done + fi fi if pbxt_available && [[ "${PBXT_NEWSTYLE}" == "1" ]]; then @@ -754,6 +786,15 @@ mysql_pkg_setup() { fi fi + # bug 350844 + case "${EAPI:-0}" in + 0 | 1) + if use static && !built_with_use sys-libs/ncurses static-libs; then + die "To build MySQL statically you need to enable static-libs for sys-libs/ncurses" + fi + ;; + esac + # Check for USE flag problems in pkg_setup if use static && use ssl ; then M="MySQL does not support being built statically with SSL support enabled!" @@ -800,7 +841,7 @@ mysql_pkg_setup() { GCC_VER=$(gcc-version) case ${CHOST}:${GCC_VER} in *-darwin*:4.*) : ;; # bug #310615 - *:2*|*:3*|*:4.0|*:4.1|*:4.2) + *:2*|*:3*|*:4.0|*:4.1|*:4.2) eerror "Some releases of MySQL required a very new GCC, and then" eerror "later release relaxed that requirement again. Either pick a" eerror "MySQL >=5.0.87, or use a newer GCC." @@ -905,7 +946,7 @@ mysql_src_prepare() { popd >/dev/null fi - if pbxt_available && [[ "${PBXT_NEWSTYLE}" == "1" ]] && use pbxt ; then + if pbxt_patch_available && [[ "${PBXT_NEWSTYLE}" == "1" ]] && use pbxt ; then einfo "Adding storage engine: PBXT" pushd "${S}"/storage >/dev/null i='pbxt' @@ -1284,7 +1325,6 @@ mysql_pkg_config() { local pwd1="a" local pwd2="b" - local MYSQL_ROOT_PASSWORD='' local maxtry=15 if [ -z "${MYSQL_ROOT_PASSWORD}" -a -f "${EROOT}/root/.my.cnf" ]; then @@ -1304,8 +1344,8 @@ mysql_pkg_config() { if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then - einfo "Please provide a password for the mysql 'root' user now," - einfo "or in the MYSQL_ROOT_PASSWORD env var." + einfo "Please provide a password for the mysql 'root' user now, in the" + einfo "MYSQL_ROOT_PASSWORD env var or through the /root/.my.cnf file." ewarn "Avoid [\"'\\_%] characters in the password" read -rsp " >" pwd1 ; echo |