The attached patches are to advance the version of mysql workbench to 6.2.4, 
which fixes the currently failing build against master nixpkgs.

There are also new expressions for some added dependencies (mysqlc++ connector 
library and vsqlite a c++ wrapper library for sqlite).

Also there is a patch to fix the build of gdal when the with-python option is 
given.
>From e37cad832949fbdf07e7c02f1cadc6992dba0162 Mon Sep 17 00:00:00 2001
From: Karn Kallio <[email protected]>
Date: Wed, 31 Dec 2014 20:54:26 -0430
Subject: [PATCH 1/4] Add MySQL Connector C++, a mysql server client library.

---
 .../libraries/libmysqlconnectorcpp/default.nix     | 26 ++++++++++++++++++++++
 pkgs/top-level/all-packages.nix                    |  2 ++
 2 files changed, 28 insertions(+)
 create mode 100644 pkgs/development/libraries/libmysqlconnectorcpp/default.nix

diff --git a/pkgs/development/libraries/libmysqlconnectorcpp/default.nix b/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
new file mode 100644
index 0000000..fb26262
--- /dev/null
+++ b/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, cmake, boost, mysql }:
+
+stdenv.mkDerivation rec {
+  name = "libmysqlconnectorcpp-${version}";
+  version = "1.1.5";
+
+  src = fetchurl {
+    url = "http://cdn.mysql.com/Downloads/Connector-C++/mysql-connector-c++-${version}.tar.gz";;
+    sha256 = "1s6cn6g94hmrkq3jq4gzldh46i2im8q6n16pm86nxm99v8k6fsgk";
+  };
+
+  buildInputs = [ cmake boost mysql ];
+
+  cmakeFlags = [ "-DMYSQL_LIB_DIR=${mysql}/lib/mysql" ];
+
+  preConfigure = ''
+    sed -i '[email protected]@''${CMAKE_CURRENT_BINARY_DIR}/config.h@' cppconn/CMakeLists.txt
+  '';
+
+  meta = {
+    homepage = http://dev.mysql.com/downloads/connector/cpp/;
+    description = "C++ library for connecting to mysql servers.";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index aef3dc3..732db09 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5962,6 +5962,8 @@ let
 
   libmsgpack = callPackage ../development/libraries/libmsgpack { };
 
+  libmysqlconnectorcpp = callPackage ../development/libraries/libmysqlconnectorcpp { };
+
   libnatspec = callPackage ../development/libraries/libnatspec { };
 
   libndp = callPackage ../development/libraries/libndp { };
-- 
2.1.4

>From d1ac2ef8baa35e96b5cbb84f5029b75f287b7462 Mon Sep 17 00:00:00 2001
From: Karn Kallio <[email protected]>
Date: Wed, 31 Dec 2014 21:06:35 -0430
Subject: [PATCH 2/4] Add vsqlite, a C++ wrapper library for sqlite.

---
 pkgs/development/libraries/vsqlite/default.nix | 20 ++++++++++++++++++++
 pkgs/top-level/all-packages.nix                |  2 ++
 2 files changed, 22 insertions(+)
 create mode 100644 pkgs/development/libraries/vsqlite/default.nix

diff --git a/pkgs/development/libraries/vsqlite/default.nix b/pkgs/development/libraries/vsqlite/default.nix
new file mode 100644
index 0000000..43a8f7d
--- /dev/null
+++ b/pkgs/development/libraries/vsqlite/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, boost, sqlite }:
+
+stdenv.mkDerivation rec {
+  name = "vsqlite-${version}";
+  version = "0.3.13";
+
+  src = fetchurl {
+    url = "http://evilissimo.fedorapeople.org/releases/vsqlite--/0.3.13/vsqlite++-${version}.tar.gz";;
+    sha256 = "17fkj0d2jh0xkjpcayhs1xvbnh1d69f026i7vs1zqnbiwbkpz237";
+  };
+
+  buildInputs = [ boost sqlite ];
+
+  meta = {
+    homepage = http://vsqlite.virtuosic-bytes.com/;
+    description = "C++ wrapper library for sqlite.";
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 732db09..910a44d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -7106,6 +7106,8 @@ let
 
   vrpn = callPackage ../development/libraries/vrpn { };
 
+  vsqlite = callPackage ../development/libraries/vsqlite { };
+
   vtk = callPackage ../development/libraries/vtk { };
 
   vtkWithQt4 = vtk.override { qtLib = qt4; };
-- 
2.1.4

>From 88e7f959d2f351c5a66615621f360d8dda419eee Mon Sep 17 00:00:00 2001
From: Karn Kallio <[email protected]>
Date: Thu, 1 Jan 2015 22:13:01 -0430
Subject: [PATCH 3/4] gdal : Fix build when --with-python given.

---
 pkgs/development/libraries/gdal/default.nix | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix
index 76c896d..798a538 100644
--- a/pkgs/development/libraries/gdal/default.nix
+++ b/pkgs/development/libraries/gdal/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, composableDerivation, unzip, libjpeg, libtiff, zlib
-, postgresql, mysql, libgeotiff, python, pythonPackages, proj}:
+, postgresql, mysql, libgeotiff, python, pythonPackages, proj, libpng}:
 
 composableDerivation.composableDerivation {} (fixed: rec {
   version = "1.11.1";
@@ -10,10 +10,16 @@ composableDerivation.composableDerivation {} (fixed: rec {
     sha256 = "0h1kib2pzv4nbppdnxv6vhngvk9ic531y8rzcwb8bg6am125jszl";
   };
 
-  buildInputs = [ unzip libjpeg libtiff python pythonPackages.numpy proj];
+  buildInputs = [ unzip libjpeg libtiff libpng python pythonPackages.numpy proj ];
 
-  # don't use optimization for gcc >= 4.3. That's said to be causeing segfaults
-  preConfigure = "export CFLAGS=-O0; export CXXFLAGS=-O0";
+  preConfigure = ''
+    # don't use optimization for gcc >= 4.3. That's said to be causeing segfaults
+    export CFLAGS=-O0; export CXXFLAGS=-O0
+
+    sed -i '8 i\
+    PYTHON := CXX="gcc" ; CC="gcc" $(PYTHON)' swig/python/GNUmakefile
+    sed -i '71s@1@0@' swig/python/GNUmakefile
+  '';
 
   configureFlags = [
     "--with-jpeg=${libjpeg}"
@@ -23,10 +29,16 @@ composableDerivation.composableDerivation {} (fixed: rec {
     "--with-pg=${postgresql}/bin/pg_config"
     "--with-mysql=${mysql}/bin/mysql_config"
     "--with-geotiff=${libgeotiff}"
+    "--with-png=${libpng}"        # for mysql workbench
     "--with-python"               # optional
     "--with-static-proj4=${proj}" # optional
   ];
 
+  preInstall = ''
+    ensureDir $(toPythonPath $out)
+    export PYTHONPATH=$(toPythonPath $out):$PYTHONPATH
+  '';
+
   meta = {
     description = "Translator library for raster geospatial data formats";
     homepage = http://www.gdal.org/;
-- 
2.1.4

>From a97c9722dd5822d0b53588a662e862013e091ac6 Mon Sep 17 00:00:00 2001
From: Karn Kallio <[email protected]>
Date: Sun, 4 Jan 2015 12:40:43 -0430
Subject: [PATCH 4/4] mysql workbench: advance to version 6.2.4, also fixing
 the build.

---
 pkgs/applications/misc/mysql-workbench/default.nix | 47 ++++++++++++++--------
 pkgs/top-level/all-packages.nix                    |  1 -
 2 files changed, 31 insertions(+), 17 deletions(-)

diff --git a/pkgs/applications/misc/mysql-workbench/default.nix b/pkgs/applications/misc/mysql-workbench/default.nix
index 93450d1..e20358b 100644
--- a/pkgs/applications/misc/mysql-workbench/default.nix
+++ b/pkgs/applications/misc/mysql-workbench/default.nix
@@ -1,31 +1,46 @@
-{ stdenv, fetchurl, makeWrapper, autoconf, automake, boost, file, gettext
-, glib, glibc, libgnome_keyring, gnome_keyring, gtk, gtkmm, intltool
-, libctemplate, libglade
-, libiodbc
-, libgnome, libsigcxx, libtool, libuuid, libxml2, libzip, lua, mesa, mysql
-, pango, paramiko, pcre, pexpect, pkgconfig, pycrypto, python, sqlite
+{ stdenv, fetchurl, cmake, pkgconfig, autoconf, automake, libtool, makeWrapper
+, glib, glibc, gtk, gtkmm, libgnome_keyring, gnome_keyring, gdal, libiodbc
+, mysql, libmysqlconnectorcpp, libxml2, tinyxml, vsqlite
+, libzip, libuuid, jre, libctemplate, swig, python, boost
+, cairo, pcre, libgnome, lua, libpthreadstubs, libXdmcp, libxshmfence
+, fontconfig, pango, glibmm, libsigcxx, pangomm, paramiko, pexpect
 }:
 
 stdenv.mkDerivation rec {
   pname = "mysql-workbench";
-  version = "5.2.47";
+  version = "6.2.4";
   name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "http://mirror.cogentco.com/pub/mysql/MySQLGUITools/mysql-workbench-gpl-${version}-src.tar.gz";;
-    sha256 = "1343fn3msdxqfpxw0kgm0mdx5r7g9ra1cpc8p2xhl7kz2pmqp4p6";
+    url = "http://cdn.mysql.com/Downloads/MySQLGUITools/mysql-workbench-community-${version}-src.tar.gz";;
+    sha256 = "1amgs55gnx5p4jclbp69pdnbnh9s57yv3dk3iazf7z95fxdpgq5k";
   };
 
-  buildInputs = [ autoconf automake boost file gettext glib glibc libgnome_keyring gtk gtkmm intltool
-    libctemplate libglade libgnome libiodbc libsigcxx libtool libuuid libxml2 libzip lua makeWrapper mesa
-    mysql paramiko pcre pexpect pkgconfig pycrypto python sqlite ];
+  antlrJar = fetchurl {
+    url = http://www.antlr3.org/download/antlr-3.4-complete.jar;
+    sha256 = "1xqbam8vf04q5fasb0m2n1pn5dbp2yw763sj492ncq04c5mqcglx";
+  };
+
+  buildInputs = [ cmake pkgconfig glib glibc gtk gtkmm libgnome_keyring gnome_keyring gdal libiodbc
+    mysql libmysqlconnectorcpp libxml2 tinyxml vsqlite libzip libuuid jre libctemplate swig python
+    cairo pcre libgnome lua autoconf automake libpthreadstubs libXdmcp libxshmfence libtool boost
+    fontconfig pango glibmm libsigcxx pangomm makeWrapper paramiko pexpect ];
 
   preConfigure = ''
-    substituteInPlace $(pwd)/frontend/linux/workbench/mysql-workbench.in --replace "catchsegv" "${glibc}/bin/catchsegv"
-  '';
+    substituteInPlace build/cmake/Modules/FindMySQL.cmake --replace "/usr/" "${mysql}/"
+    substituteInPlace build/cmake/Modules/FindMySQLCppConn.cmake --replace "/usr/" "${mysql}/"
+    substituteInPlace build/cmake/Modules/FindCTemplate.cmake --replace "/usr/" "${libctemplate}/"
+    substituteInPlace library/mysql.parser/grammar/build-parser --replace /bin/bash /bin/sh
+    substituteInPlace tools/get_wb_version.sh --replace /bin/bash /bin/sh
+    sed -i '9i\
+    LINUX_RES_JAR_PATH=${antlrJar}' library/mysql.parser/grammar/build-parser
+
+    sed -i '/#include/s@gdal/@@' backend/wbpublic/grt/spatial_handler.h
+    sed -i '/#include/s@gdal/@@' backend/wbpublic/grtui/geom_draw_box.h
+    sed -i '/\(#\|%\)include/s@cairo/@@' library/forms/swig/cairo.i
+    sed -i '/ReloadIfChanged();/s@.*@ctemplate::Template::ReloadAllIfChanged();@' backend/wbpublic/sqlide/recordset_text_storage.cpp
 
-  postConfigure = ''
-    autoreconf -fi
+    export CMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH:${gtk}/lib/gtk-2.0:${glib}/lib/glib-2.0:${gtkmm}/lib/gdkmm-2.4:${gtkmm}/lib/gtkmm-2.4:${glibmm}/lib/glibmm-2.4:${libsigcxx}/lib/sigc++-2.0:${pangomm}/lib/pangomm-1.4:${glibmm}/lib/giomm-2.4:${gdal}"
   '';
 
   postInstall = ''
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 910a44d..92e892a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -12712,7 +12712,6 @@ let
   lkproof = callPackage ../tools/typesetting/tex/lkproof { };
 
   mysqlWorkbench = newScope gnome ../applications/misc/mysql-workbench {
-    lua = lua5_1;
     inherit (pythonPackages) pexpect paramiko;
   };
 
-- 
2.1.4

_______________________________________________
nix-dev mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-dev

Reply via email to