MySql-Workbench: packaged
Patch by Karn Kallio svn path=/nixpkgs/trunk/; revision=23983
This commit is contained in:
parent
1ba4551be7
commit
a2909b0386
2 changed files with 81 additions and 0 deletions
76
pkgs/applications/misc/mysql-workbench/default.nix
Normal file
76
pkgs/applications/misc/mysql-workbench/default.nix
Normal file
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -6953,6 +6953,11 @@ let
|
|||
tex = tetex;
|
||||
};
|
||||
|
||||
mysqlWorkbench = newScope gnome ../applications/misc/mysql-workbench {
|
||||
lua = lua5;
|
||||
inherit (pythonPackages) pexpect paramiko;
|
||||
};
|
||||
|
||||
pgadmin = callPackage ../applications/misc/pgadmin { };
|
||||
|
||||
pgf = pgf2;
|
||||
|
|
Loading…
Reference in a new issue