From b9334743ee9dd276abfff69b99cfa52a742555f5 Mon Sep 17 00:00:00 2001 From: Karn Kallio Date: Sat, 17 Sep 2016 01:42:29 -0400 Subject: [PATCH] mysql: Add version 5.7.x of Oracle mysql for building mysql workbench. --- pkgs/servers/sql/mysql/5.7.x.nix | 64 ++++++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 6 +++ 2 files changed, 70 insertions(+) create mode 100644 pkgs/servers/sql/mysql/5.7.x.nix diff --git a/pkgs/servers/sql/mysql/5.7.x.nix b/pkgs/servers/sql/mysql/5.7.x.nix new file mode 100644 index 00000000000..a2052eca9c2 --- /dev/null +++ b/pkgs/servers/sql/mysql/5.7.x.nix @@ -0,0 +1,64 @@ +{ stdenv, fetchurl, cmake, bison, ncurses, openssl, readline, zlib, perl +, boost, cctools, CoreServices }: + +# Note: zlib is not required; MySQL can use an internal zlib. + +stdenv.mkDerivation rec { + name = "mysql-${version}"; + version = "5.7.15"; + + src = fetchurl { + url = "mirror://mysql/MySQL-5.7/${name}.tar.gz"; + sha256 = "0mlrxcvkn6bf869hjw9fb6m24ak26ndffnd91b4mknmz8cqkb1ch"; + }; + + preConfigure = stdenv.lib.optional stdenv.isDarwin '' + ln -s /bin/ps $TMPDIR/ps + export PATH=$PATH:$TMPDIR + ''; + + buildInputs = [ cmake bison ncurses openssl readline zlib boost ] + ++ stdenv.lib.optionals stdenv.isDarwin [ perl cctools CoreServices ]; + + enableParallelBuilding = true; + + cmakeFlags = [ + "-DWITH_SSL=yes" + "-DWITH_READLINE=yes" + "-DWITH_EMBEDDED_SERVER=yes" + "-DWITH_ZLIB=yes" + "-DHAVE_IPV6=yes" + "-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock" + "-DMYSQL_DATADIR=/var/lib/mysql" + "-DINSTALL_SYSCONFDIR=etc/mysql" + "-DINSTALL_INFODIR=share/mysql/docs" + "-DINSTALL_MANDIR=share/man" + "-DINSTALL_PLUGINDIR=lib/mysql/plugin" + "-DINSTALL_SCRIPTDIR=bin" + "-DINSTALL_INCLUDEDIR=include/mysql" + "-DINSTALL_DOCREADMEDIR=share/mysql" + "-DINSTALL_SUPPORTFILESDIR=share/mysql" + "-DINSTALL_MYSQLSHAREDIR=share/mysql" + "-DINSTALL_DOCDIR=share/mysql/docs" + "-DINSTALL_SHAREDIR=share/mysql" + ]; + + NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; + + prePatch = '' + sed -i -e "s|/usr/bin/libtool|libtool|" cmake/libutils.cmake + ''; + postInstall = '' + sed -i -e "s|basedir=\"\"|basedir=\"$out\"|" $out/bin/mysql_install_db + rm -r $out/mysql-test "$out"/lib/*.a + rm $out/share/man/man1/mysql-test-run.pl.1 + ''; + + passthru.mysqlVersion = "5.7"; + + meta = { + homepage = http://www.mysql.com/; + description = "The world's most popular open source database"; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d4d9a4cbb30..646ea108b59 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10577,6 +10577,12 @@ in inherit (darwin.apple_sdk.frameworks) CoreServices; }; + mysql57 = callPackage ../servers/sql/mysql/5.7.x.nix { + inherit (darwin) cctools; + inherit (darwin.apple_sdk.frameworks) CoreServices; + boost = boost159; + }; + mysql = mariadb; libmysql = mysql.client; # `libmysql` is a slight misnomer ATM