diff --git a/pkgs/applications/networking/instant-messengers/tkabber-plugins/default.nix b/pkgs/applications/networking/instant-messengers/tkabber-plugins/default.nix index c361f3270e6..b46133e433e 100644 --- a/pkgs/applications/networking/instant-messengers/tkabber-plugins/default.nix +++ b/pkgs/applications/networking/instant-messengers/tkabber-plugins/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, tkabber}: +{ stdenv, fetchurl }: stdenv.mkDerivation rec { name = "tkabber-plugins-${version}"; @@ -10,9 +10,12 @@ stdenv.mkDerivation rec { }; configurePhase = '' - mkdir -p $out/bin sed -e "s@/usr/local@$out@" -i Makefile ''; - buildInputs = [tkabber]; + meta = { + homepage = "http://tkabber.jabber.ru/tkabber-plugins"; + description = "Plugins for the Tkabber instant messenger"; + license = stdenv.lib.licenses.gpl2; + }; } diff --git a/pkgs/applications/networking/instant-messengers/tkabber/default.nix b/pkgs/applications/networking/instant-messengers/tkabber/default.nix index 30c91d3d905..03a98cb2059 100644 --- a/pkgs/applications/networking/instant-messengers/tkabber/default.nix +++ b/pkgs/applications/networking/instant-messengers/tkabber/default.nix @@ -1,6 +1,15 @@ -{ stdenv, fetchurl, tcl, tk, tcllib, tcltls, bwidget, cacert, makeWrapper, x11 }: +{ stdenv, fetchurl, tcl, tk, tcllib, tcltls, tclgpg +, bwidget, makeWrapper, x11 }: -stdenv.mkDerivation rec { +let + tclLibraries = [ bwidget tcllib tcltls tclgpg ]; + + getTclLibPath = p: "${p}/lib/${p.libPrefix}"; + + tclLibPaths = stdenv.lib.concatStringsSep " " + (map getTclLibPath tclLibraries); + +in stdenv.mkDerivation rec { name = "tkabber-0.11.1"; src = fetchurl { @@ -13,7 +22,7 @@ stdenv.mkDerivation rec { patchPhase = '' substituteInPlace login.tcl --replace \ "custom::defvar loginconf(sslcacertstore) \"\"" \ - "custom::defvar loginconf(sslcacertstore) \"${cacert}/etc/ca-bundle.crt\"" + "custom::defvar loginconf(sslcacertstore) \$env(OPENSSL_X509_CERT_FILE)" sed -i '/^if.*load_default_xrdb/,/^}$/ { s@option readfile \(\[fullpath [^]]*\]\)@option readfile "'"$out/share/doc/tkabber/examples/xrdb/${defaultTheme}.xrdb"'"@ @@ -26,13 +35,16 @@ stdenv.mkDerivation rec { ''; postInstall = '' - wrapProgram $out/bin/tkabber --set TCLLIBPATH "${bwidget}/tcltk\ ${tcllib}/lib/tcllib${tcllib.version}\ ${tcltls}/lib/tls${tcltls.version}" + wrapProgram $out/bin/tkabber \ + --set TCLLIBPATH '"${tclLibPaths}"' \ + --set TKABBER_SITE_PLUGINS '$HOME/.nix-profile/share/tkabber-plugins' ''; - buildInputs = [tcl tk tcllib tcltls bwidget x11 makeWrapper]; + buildInputs = [ tcl tk x11 makeWrapper ] ++ tclLibraries; meta = { homepage = "http://tkabber.jabber.ru/"; description = "A GUI client for the XMPP (Jabber) instant messaging protocol"; + license = stdenv.lib.licenses.gpl2; }; } diff --git a/pkgs/development/interpreters/tcl/default.nix b/pkgs/development/interpreters/tcl/default.nix index 060aa3b5a6b..48755065b99 100644 --- a/pkgs/development/interpreters/tcl/default.nix +++ b/pkgs/development/interpreters/tcl/default.nix @@ -18,6 +18,7 @@ stdenv.mkDerivation { meta = { description = "The Tcl scription language"; homepage = http://www.tcl.tk/; + license = stdenv.lib.licenses.tcltk; }; passthru = { diff --git a/pkgs/development/libraries/bwidget/default.nix b/pkgs/development/libraries/bwidget/default.nix index 693e0587a0b..31dc885bc43 100644 --- a/pkgs/development/libraries/bwidget/default.nix +++ b/pkgs/development/libraries/bwidget/default.nix @@ -12,9 +12,19 @@ stdenv.mkDerivation rec { dontBuild = true; installPhase = '' - ensureDir "$out/tcltk" - cp -R *.tcl lang images "$out/tcltk/" + ensureDir "$out/lib/${passthru.libPrefix}" + cp -R *.tcl lang images "$out/lib/${passthru.libPrefix}" ''; - buildInputs = [tcl]; + passthru = { + libPrefix = "bwidget${version}"; + }; + + buildInputs = [ tcl ]; + + meta = { + homepage = "http://tcl.activestate.com/software/tcllib/"; + description = "The BWidget toolkit is a high-level widget set for Tcl/Tk."; + license = stdenv.lib.licenses.tcltk; + }; } diff --git a/pkgs/development/libraries/tclgpg/default.nix b/pkgs/development/libraries/tclgpg/default.nix new file mode 100644 index 00000000000..d8bea7f14e3 --- /dev/null +++ b/pkgs/development/libraries/tclgpg/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchsvn, autoconf, automake, tcl, tcllib, gnupg }: + +stdenv.mkDerivation rec { + name = "tclgpg-${version}"; + version = "1.0pre"; + + src = fetchsvn { + url = "http://tclgpg.googlecode.com/svn/trunk"; + rev = 74; + sha256 = "5207b1d246fea6d4527e8c044579dae45a2e31eeaa5633f4f97c7e7b54ec27c5"; + }; + + configureFlags = "--with-tcl=" + tcl + "/lib " + + "--with-tclinclude=" + tcl + "/include "; + + preConfigure = '' + configureFlags="--exec_prefix=$prefix $configureFlags" + sed -i -e 's|dtplite|TCLLIBPATH="${tcllib}/lib/tcllib${tcllib.version}" &|' Makefile.in + autoreconf -vfi + ''; + + prePatch = '' + sed -i -e 's|\[auto_execok gpg\]|"${gnupg}/bin/gpg2"|' tclgpg.tcl + ''; + + passthru = { + libPrefix = "gpg1.0"; + }; + + buildInputs = [ autoconf automake tcl tcllib ]; + + meta = { + homepage = http://code.google.com/p/tclgpg/; + description = "A Tcl interface to GNU Privacy Guard"; + license = stdenv.lib.licenses.bsd2; + }; +} diff --git a/pkgs/development/libraries/tcllib/default.nix b/pkgs/development/libraries/tcllib/default.nix index fcfbbe19d94..12bbe0914e0 100644 --- a/pkgs/development/libraries/tcllib/default.nix +++ b/pkgs/development/libraries/tcllib/default.nix @@ -9,5 +9,15 @@ stdenv.mkDerivation rec { sha256 = "11052fgfmv9vyswzjjgfvh3pi0k3fnfnl9ri6nl4vc6f6z5ry56x"; }; - buildInputs = [tcl]; + passthru = { + libPrefix = "tcllib${version}"; + }; + + buildInputs = [ tcl ]; + + meta = { + homepage = "http://tcl.activestate.com/software/tcllib/"; + description = "Tcl-only library of standard routines for Tcl"; + license = stdenv.lib.licenses.tcltk; + }; } diff --git a/pkgs/development/libraries/tcltls/default.nix b/pkgs/development/libraries/tcltls/default.nix index dbbfc3d3855..278fed37514 100644 --- a/pkgs/development/libraries/tcltls/default.nix +++ b/pkgs/development/libraries/tcltls/default.nix @@ -17,5 +17,15 @@ stdenv.mkDerivation rec { sha256 = "adec50143a9ad634a671d24f7c7bbf2455487eb5f12d290f41797c32a98b93f3"; }; - buildInputs = [tcl openssl]; + passthru = { + libPrefix = "tls${version}"; + }; + + buildInputs = [ tcl openssl ]; + + meta = { + homepage = "http://tls.sourceforge.net/"; + description = "An OpenSSL / RSA-bsafe Tcl extension"; + license = stdenv.lib.licenses.tcltk; + }; } diff --git a/pkgs/lib/licenses.nix b/pkgs/lib/licenses.nix index dc88f887cc7..87f9298706e 100644 --- a/pkgs/lib/licenses.nix +++ b/pkgs/lib/licenses.nix @@ -175,6 +175,12 @@ shortName = "Proprietary"; fullName = "Proprietary (non redistributable) license"; }; + + tcltk = { + shortName = "Tcl/Tk"; + fullName = "Tcl/Tk license"; + url = http://www.tcl.tk/software/tcltk/license.html; + }; zlib = { shortName = "zlib"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bda43c9ad0e..097d01b2f41 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4869,6 +4869,8 @@ let tclap = callPackage ../development/libraries/tclap {}; + tclgpg = callPackage ../development/libraries/tclgpg { }; + tcllib = callPackage ../development/libraries/tcllib { }; tcltls = callPackage ../development/libraries/tcltls { };