Author: egorochkin
Date: Tue Sep 28 09:33:56 2010
New Revision: 23983
URL: https://svn.nixos.org/websvn/nix/?rev=23983&sc=1

Log:
MySql-Workbench: packaged
Patch by Karn Kallio

Added:
   nixpkgs/trunk/pkgs/applications/misc/mysql-workbench/
   nixpkgs/trunk/pkgs/applications/misc/mysql-workbench/default.nix
Modified:
   nixpkgs/trunk/pkgs/top-level/all-packages.nix

Added: nixpkgs/trunk/pkgs/applications/misc/mysql-workbench/default.nix
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ nixpkgs/trunk/pkgs/applications/misc/mysql-workbench/default.nix    Tue Sep 
28 09:33:56 2010        (r23983)
@@ -0,0 +1,76 @@
+{ stdenv, fetchurl, makeWrapper, autoconf, automake, boost, file, gettext
+, glib, glibc, gnome_keyring, gtk, gtkmm, intltool, libctemplate, libglade
+, libgnome, libsigcxx, libtool, libuuid, libxml2, libzip, lua, mesa, mysql
+, pango, paramiko, pcre, pexpect, pkgconfig, python, sqlite
+}:
+
+stdenv.mkDerivation rec {
+  name = "mysql-workbench";
+  version = "5.2.27";
+
+  src = fetchurl {
+    url = 
"http://mirror.services.wisc.edu/mysql/Downloads/MySQLGUITools/mysql-workbench-gpl-${version}.tar.gz";;
+    sha256 = "01l15f9nvcpcsb56r7qb39jjlknh0dkj5iwfg1pj5bm12pbligng";
+  };
+
+  buildInputs = [ autoconf automake boost file gettext glib glibc 
gnome_keyring gtk gtkmm intltool
+    libctemplate libglade libgnome libsigcxx libtool libuuid libxml2 libzip 
lua makeWrapper mesa
+    mysql paramiko pcre pexpect pkgconfig python sqlite ];
+
+  preConfigure = ''
+    substituteInPlace $(pwd)/frontend/linux/workbench/mysql-workbench.in 
--replace "catchsegv" "${glibc}/bin/catchsegv"
+
+    ./autogen.sh --prefix=$out
+  '';
+
+  postInstall = ''
+    wrapProgram "$out/bin/mysql-workbench-bin" \
+      --prefix LD_LIBRARY_PATH : "${python}/lib" \
+      --prefix LD_LIBRARY_PATH : "$(cat 
${stdenv.gcc}/nix-support/orig-gcc)/lib64" \
+      --prefix PATH : "${gnome_keyring}/bin" \
+      --set PYTHONPATH $PYTHONPATH \
+      --run '
+# The gnome-keyring-daemon must be running.  To allow for environments like
+# kde, xfce where this is not so, we start it first.
+# It is cleaned up using a supervisor subshell which detects that
+# the parent has finished via the closed pipe as terminate signal idiom,
+# 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
+
+# Prepare fifo pipe.
+FIFOCTL="/tmp/gnome-keyring-daemon-ctl.$$.fifo"
+[ -p $FIFOCTL ] && rm $FIFOCTL
+mkfifo $FIFOCTL
+
+# Supervisor subshell waits reading from pipe, will receive EOF when parent
+# closes pipe on termination.  Negate read with ! operator to avoid subshell
+# quitting when read EOF returns 1 due to -e option being set.
+(
+    exec 19< $FIFOCTL
+    ! read -u 19
+
+    kill $GNOME_KEYRING_PID
+    rm $FIFOCTL
+) &
+
+exec 19> $FIFOCTL
+            ' 
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A MySQL visual database modeling, administration and 
querying tool.";
+    longDescription = ''
+      MySQL Workbench is a modeling tool that allows you to design
+      and generate MySQL databases graphically. It also has administration
+      and query development modules where you can manage MySQL server instances
+      and execute SQL queries.
+    '';
+
+    homepage = http://wb.mysql.com/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.kkallio ];
+    platforms = platforms.linux;
+  };
+}

Modified: nixpkgs/trunk/pkgs/top-level/all-packages.nix
==============================================================================
--- nixpkgs/trunk/pkgs/top-level/all-packages.nix       Tue Sep 28 09:33:49 
2010        (r23982)
+++ nixpkgs/trunk/pkgs/top-level/all-packages.nix       Tue Sep 28 09:33:56 
2010        (r23983)
@@ -6953,6 +6953,11 @@
     tex = tetex;
   };
 
+  mysqlWorkbench = newScope gnome ../applications/misc/mysql-workbench { 
+    lua = lua5;
+    inherit (pythonPackages) pexpect paramiko;
+  };
+
   pgadmin = callPackage ../applications/misc/pgadmin { };
 
   pgf = pgf2;
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits

Reply via email to