Merge branch 'tcl-tkabber-fixup'

This introduces the following changes:

 * Fixes libPrefix in Tcl libraries I fucked up a few months ago and adds
   missing meta attributes.
 * Correctly set TKABBER_SITE_PLUGINS so Tkabber is able to find plugins, if
   present.
 * Rely on OPENSSL_X509_CERT_FILE instead of depending on cacert directly.
 * Introduces a new license called "Tcl/Tk", which applies to some Tcl libraries
   and is a variation of the BSD license with restrictions regarding
   governmental use.
 * New package tclgpg for GPG support in Tkabber.
This commit is contained in:
aszlig 2012-09-11 05:13:03 +02:00
commit 2c315dee85
No known key found for this signature in database
GPG Key ID: D0EBD0EC8C2DC961
9 changed files with 104 additions and 13 deletions

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -18,6 +18,7 @@ stdenv.mkDerivation {
meta = {
description = "The Tcl scription language";
homepage = http://www.tcl.tk/;
license = stdenv.lib.licenses.tcltk;
};
passthru = {

View File

@ -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}"
'';
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;
};
}

View File

@ -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;
};
}

View File

@ -9,5 +9,15 @@ stdenv.mkDerivation rec {
sha256 = "11052fgfmv9vyswzjjgfvh3pi0k3fnfnl9ri6nl4vc6f6z5ry56x";
};
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;
};
}

View File

@ -17,5 +17,15 @@ stdenv.mkDerivation rec {
sha256 = "adec50143a9ad634a671d24f7c7bbf2455487eb5f12d290f41797c32a98b93f3";
};
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;
};
}

View File

@ -176,6 +176,12 @@
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";
fullName = "zlib license";

View File

@ -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 { };