Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ################################################################################
- # This file is part of OpenELEC - http://www.openelec.tv
- # Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
- #
- # OpenELEC is free software: you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
- # the Free Software Foundation, either version 2 of the License, or
- # (at your option) any later version.
- #
- # OpenELEC is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License
- # along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
- ################################################################################
- PKG_NAME="mysql"
- PKG_VERSION="5.7.12"
- PKG_REV="1"
- PKG_ARCH="any"
- PKG_LICENSE="LGPL"
- PKG_SITE="http://www.mysql.com"
- PKG_URL="http://ftp.gwdg.de/pub/misc/$PKG_NAME/Downloads/MySQL-5.7/$PKG_NAME-$PKG_VERSION.tar.gz"
- PKG_DEPENDS_HOST="zlib:host glibc"
- PKG_DEPENDS_TARGET="toolchain zlib:host boost ncurses mysql:host"
- PKG_PRIORITY="optional"
- PKG_SECTION="database"
- PKG_SHORTDESC="mysql: A database server"
- PKG_LONGDESC="MySQL is a SQL (Structured Query Language) database server. SQL is the most popular database language in the world. MySQL is a client server implementation that consists of a server daemon mysqld and many different client programs/libraries."
- PKG_IS_ADDON="no"
- PKG_AUTORECONF="no"
- #TARGET_CFLAGS="$TARGET_CFLAGS -fPIC -DPIC -I$SYSROOT_PREFIX/usr/include/ncurses"
- #PKG_CONFIGURE_OPTS_HOST="--with-glib-dir=$ROOT/$TOOLCHAIN"
- post_unpack() {
- if [ ! -f $ROOT/$BUILD/boost_1_59_0.tar.gz ]; then
- wget -O $ROOT/$BUILD/boost_1_59_0.tar.gz http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
- fi
- if [ ! -d $ROOT/$BUILD/boost_1_59_0 ]; then
- echo "extracting boost_1_59_0..."
- tar xzf $ROOT/$BUILD/boost_1_59_0.tar.gz -C $ROOT/$BUILD
- fi
- # openssl 1.0.2h
- # libressl 2.2.6
- sed -i 's|OPENSSL_MAJOR_VERSION STREQUAL "1"|OPENSSL_MAJOR_VERSION STREQUAL "2"|' $ROOT/$PKG_BUILD/cmake/ssl.cmake
- # hack!
- sed -i 's|GET_TARGET_PROPERTY(LIBMYSQL_OS_OUTPUT_NAME libmysql OUTPUT_NAME)|SET(LIBMYSQL_OS_OUTPUT_NAME "mysqlclient")|' $ROOT/$PKG_BUILD/scripts/CMakeLists.txt
- }
- configure_host() {
- cmake -DCMAKE_INSTALL_PREFIX=$TOOLCHAIN \
- -DCMAKE_BUILD_TYPE=Release \
- -DWITHOUT_SERVER=OFF \
- -DWITH_EMBEDDED_SERVER=OFF \
- -DWITH_INNOBASE_STORAGE_ENGINE=OFF \
- -DWITH_PARTITION_STORAGE_ENGINE=OFF \
- -DWITH_PERFSCHEMA_STORAGE_ENGINE=OFF \
- -DWITH_EXTRA_CHARSETS=none \
- -DWITH_EDITLINE=bundled \
- -DWITH_LIBEVENT=bundled \
- -DLOCAL_BOOST_DIR=$ROOT/$BUILD/boost_1_59_0 \
- -DBOOST_INCLUDE_DIR=$ROOT/$BUILD/boost_1_59_0 \
- -DWITH_UNIT_TESTS=OFF \
- -DWITH_ZLIB=bundled \
- ..
- }
- make_host() {
- make comp_err
- make gen_lex_hash
- make comp_sql
- }
- post_make_host() {
- # copy host binaries back - should be fixed
- cp scripts/comp_sql ../scripts/comp_sql
- }
- makeinstall_host() {
- mkdir -p $ROOT/$TOOLCHAIN/bin
- cp -PR extra/comp_err $ROOT/$TOOLCHAIN/bin
- cp -PR sql/gen_lex_hash $ROOT/$TOOLCHAIN/bin
- cp -PR scripts/comp_sql $ROOT/$TOOLCHAIN/bin
- }
- configure_target() {
- # strip_lto
- cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
- -DCMAKE_BUILD_TYPE=Release \
- -DFEATURE_SET=classic \
- -DDISABLE_SHARED=ON \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DINSTALL_DOCDIR=share/doc/mysql \
- -DINSTALL_DOCREADMEDIR=share/doc/mysql \
- -DINSTALL_INCLUDEDIR=include/mysql \
- -DINSTALL_INFODIR=share/info \
- -DINSTALL_MANDIR=share/man \
- -DINSTALL_MYSQLDATADIR=/storage/.mysql \
- -DINSTALL_MYSQLSHAREDIR=share/mysql \
- -DINSTALL_MYSQLTESTDIR=share/mysql/test \
- -DINSTALL_PLUGINDIR=lib/mysql/plugin \
- -DINSTALL_SBINDIR=sbin \
- -DINSTALL_SCRIPTDIR=bin \
- -DINSTALL_SUPPORTFILESDIR=share/mysql/support \
- -DMYSQL_DATADIR=/storage/.mysql \
- -DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock \
- -DSYSCONFDIR=/etc/mysql \
- -DWITH_EMBEDDED_SERVER=OFF \
- -DWITH_INNOBASE_STORAGE_ENGINE=OFF \
- -DWITH_PARTITION_STORAGE_ENGINE=OFF \
- -DWITH_PERFSCHEMA_STORAGE_ENGINE=OFF \
- -DWITH_EXTRA_CHARSETS=all \
- -DENABLE_DTRACE=OFF \
- -DWITH_EDITLINE=bundled \
- -DWITH_LIBEVENT=bundled \
- -DWITH_UNIT_TESTS=OFF \
- -DWITHOUT_SERVER=1 \
- -DWITH_ZLIB=system \
- -DSTACK_DIRECTION=1 \
- -DLOCAL_BOOST_DIR=$ROOT/$BUILD/boost_1_59_0 \
- -DBOOST_INCLUDE_DIR=$ROOT/$BUILD/boost_1_59_0 \
- -DHAVE_LLVM_LIBCPP=1 \
- -DWITH_SSL=$SYSROOT_PREFIX/usr \
- ..
- }
- aa_post_make_target() {
- # hack!
- sed -i "s|LIBMYSQL_OS_OUTPUT_NAME-NOTFOUND|mysqlclient|" scripts/mysql_config
- sed -i "s|LIBMYSQL_OS_OUTPUT_NAME-NOTFOUND|mysqlclient|" scripts/cmake_install.cmake
- sed -i "s|LIBMYSQL_OS_OUTPUT_NAME-NOTFOUND|mysqlclient|" scripts/LIBMYSQL_OS_OUTPUT_NAME-NOTFOUND.pc
- sed -i "s|LIBMYSQL_OS_OUTPUT_NAME-NOTFOUND|mysqlclient|" scripts/mysql_config.pl
- mv scripts/LIBMYSQL_OS_OUTPUT_NAME-NOTFOUND.pc scripts/mysqlclient.pc
- }
- post_makeinstall_target() {
- sed -i "s|pkgincludedir=.*|pkgincludedir=\'$SYSROOT_PREFIX/usr/include/mysql\'|" scripts/mysql_config
- sed -i "s|pkglibdir=.*|pkglibdir=\'$SYSROOT_PREFIX/usr/lib/mysql\'|" scripts/mysql_config
- #mkdir -p $ROOT/$TOOLCHAIN/bin
- #cp -PR scripts/mysql_config $ROOT/$TOOLCHAIN/bin
- cp scripts/mysql_config $SYSROOT_PREFIX/usr/bin
- ln -sf $SYSROOT_PREFIX/usr/bin/mysql_config $ROOT/$TOOLCHAIN/bin/mysql_config
- #for i in `ls -d $SYSROOT_PREFIX/usr/lib/mysql/*.a`; do
- # ln -v -sf $i $SYSROOT_PREFIX/usr/lib
- #done
- rm -rf $INSTALL/usr/bin
- rm -rf $INSTALL/usr/sbin
- rm -rf $INSTALL/usr/lib/mysql/plugin
- rm -rf $INSTALL/usr/share/mysql/bench
- rm -rf $INSTALL/usr/share/mysql/support
- rm -rf $INSTALL/usr/share/mysql/test
- if [ "$MYSQL_SERVER" = "yes" ]; then
- mkdir -p $INSTALL/usr/bin
- cp -P extra/resolveip $INSTALL/usr/bin
- cp -P extra/my_print_defaults $INSTALL/usr/bin
- cp -P client/mysql $INSTALL/usr/bin
- cp -P client/mysqladmin $INSTALL/usr/bin
- cp -P scripts/mysql_install_db $INSTALL/usr/bin
- mkdir -p $INSTALL/usr/sbin
- cp -P sql/mysqld $INSTALL/usr/sbin
- mkdir -p $INSTALL/etc/init.d
- cp $PKG_DIR/scripts/* $INSTALL/etc/init.d
- else
- rm -rf $INSTALL/usr/share/mysql
- fi
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement