diff options
author | Karn Kallio <kkallio@skami.org> | 2016-09-17 01:46:14 -0400 |
---|---|---|
committer | Domen Kožar <domen@dev.si> | 2016-09-19 09:58:37 +0200 |
commit | 07154a77e70ce1135292c49ae6fa457426c45328 (patch) | |
tree | 81704a3c1e7f3091566e006aba426c53fb2131e0 /pkgs/applications | |
parent | 16227c728d875fcf1b126135fb13591ef4c9a42a (diff) | |
download | nixlib-07154a77e70ce1135292c49ae6fa457426c45328.tar nixlib-07154a77e70ce1135292c49ae6fa457426c45328.tar.gz nixlib-07154a77e70ce1135292c49ae6fa457426c45328.tar.bz2 nixlib-07154a77e70ce1135292c49ae6fa457426c45328.tar.lz nixlib-07154a77e70ce1135292c49ae6fa457426c45328.tar.xz nixlib-07154a77e70ce1135292c49ae6fa457426c45328.tar.zst nixlib-07154a77e70ce1135292c49ae6fa457426c45328.zip |
mysqlworkbench : fix build and update to latest version 6.3.7
Diffstat (limited to 'pkgs/applications')
-rw-r--r-- | pkgs/applications/misc/mysql-workbench/default.nix | 70 |
1 files changed, 55 insertions, 15 deletions
diff --git a/pkgs/applications/misc/mysql-workbench/default.nix b/pkgs/applications/misc/mysql-workbench/default.nix index 775d344643e3..fbb10bc9ceb6 100644 --- a/pkgs/applications/misc/mysql-workbench/default.nix +++ b/pkgs/applications/misc/mysql-workbench/default.nix @@ -1,32 +1,72 @@ -{ stdenv, fetchurl, makeWrapper, autoreconfHook, boost, file -, glib, glibc, libgnome_keyring, gnome_keyring, gtk, gtkmm, intltool -, libctemplate, libglade -, libiodbc -, libgnome, libsigcxx, libuuid, libxml2, libzip, lua, mesa, mysql -, pango, pcre, pkgconfig, sqlite, sudo -, pythonPackages +{ stdenv, fetchurl, makeWrapper, cmake, pkgconfig +, glibc, gnome_keyring, gtk, gtkmm, pcre, swig, sudo +, mysql, libxml2, libctemplate, libmysqlconnectorcpp +, vsqlite, tinyxml, gdal, libiodbc, libpthreadstubs +, libXdmcp, libuuid, libzip, libgnome_keyring, file +, pythonPackages, jre, autoconf, automake, libtool +, boost, glibmm, libsigcxx, pangomm, libX11, openssl +, proj, cairo, libglade }: let inherit (pythonPackages) pexpect pycrypto python paramiko; in stdenv.mkDerivation rec { pname = "mysql-workbench"; - version = "5.2.47"; + version = "6.3.7"; name = "${pname}-${version}"; src = fetchurl { - url = "http://mirror.cogentco.com/pub/mysql/MySQLGUITools/mysql-workbench-gpl-${version}-src.tar.gz"; - sha256 = "1343fn3msdxqfpxw0kgm0mdx5r7g9ra1cpc8p2xhl7kz2pmqp4p6"; + url = "http://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-${version}-src.tar.gz"; + sha256 = "1v4k04facdn2qzflf0clf3ir5hghqlabq89ssm2s4x1nqdniz544"; }; - buildInputs = [ autoreconfHook boost file glib glibc libgnome_keyring gtk gtkmm intltool - libctemplate libglade libgnome libiodbc libsigcxx libuuid libxml2 libzip lua makeWrapper mesa - mysql.lib paramiko pcre pexpect pkgconfig pycrypto python sqlite ]; + buildInputs = [ cmake pkgconfig glibc gnome_keyring gtk gtk.dev gtkmm pcre swig python sudo + paramiko mysql libxml2 libctemplate libmysqlconnectorcpp vsqlite tinyxml gdal libiodbc file + libpthreadstubs libXdmcp libuuid libzip libgnome_keyring libgnome_keyring.dev jre autoconf + automake libtool boost glibmm glibmm.dev libsigcxx pangomm libX11 pexpect pycrypto openssl + proj cairo cairo.dev makeWrapper libglade ] ; + + prePatch = '' + for f in backend/wbpublic/{grt/spatial_handler.h,grtui/geom_draw_box.h,objimpl/db.query/db_query_Resultset.cpp} ; + do + sed -i 's@#include <gdal/@#include <@' $f ; + done + + sed -i '32s@mysqlparser@mysqlparser sqlparser@' library/mysql.parser/CMakeLists.txt + + cat <<EOF > ext/antlr-runtime/fix-configure + #!${stdenv.shell} + echo "fixing bundled antlr3c configure" ; + sed -i 's@/usr/bin/file@${file}/bin/file@' configure + sed -i '12121d' configure + EOF + chmod +x ext/antlr-runtime/fix-configure + sed -i '236s@&&@& ''${PROJECT_SOURCE_DIR}/ext/antlr-runtime/fix-configure &@' CMakeLists.txt - preConfigure = '' substituteInPlace $(pwd)/frontend/linux/workbench/mysql-workbench.in --replace "catchsegv" "${glibc.bin}/bin/catchsegv" + substituteInPlace $(pwd)/frontend/linux/workbench/mysql-workbench.in --replace "/usr/lib/x86_64-linux-gnu" "${proj}/lib" + patchShebangs $(pwd)/library/mysql.parser/grammar/build-parser + patchShebangs $(pwd)/tools/get_wb_version.sh ''; + NIX_CFLAGS_COMPILE = [ + "-I${libsigcxx}/lib/sigc++-2.0/include" + "-I${pangomm}/lib/pangomm-1.4/include" + "-I${glibmm}/lib/giomm-2.4/include" + ]; + + cmakeFlags = [ + "-DCMAKE_CXX_FLAGS=-std=c++11" + "-DMySQL_CONFIG_PATH=${mysql}/bin/mysql_config" + "-DCTemplate_INCLUDE_DIR=${libctemplate}/include" + "-DCAIRO_INCLUDE_DIRS=${cairo.dev}/include" + "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk}/lib/gtk-2.0/include" + "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${gtk.dev}/include" + "-DGTK2_GTKMMCONFIG_INCLUDE_DIR=${gtkmm}/lib/gtkmm-2.4/include" + "-DGTK2_GDKMMCONFIG_INCLUDE_DIR=${gtkmm}/lib/gdkmm-2.4/include" + "-DGTK2_GLIBMMCONFIG_INCLUDE_DIR=${glibmm}/lib/glibmm-2.4/include" + ]; + postInstall = '' patchShebangs $out/share/mysql-workbench/extras/build_freetds.sh @@ -52,7 +92,7 @@ in stdenv.mkDerivation rec { # used because we cannot clean up after ourselves due to the exec call. # Start gnome-keyring-daemon, export the environment variables it asks us to set. -for expr in $( gnome-keyring-daemon --components=ssh,pkcs11 --start ) ; do eval "export "$expr ; done +for expr in $( gnome-keyring-daemon --start ) ; do eval "export "$expr ; done # Prepare fifo pipe. FIFOCTL="/tmp/gnome-keyring-daemon-ctl.$$.fifo" |