nixpkgs/pkgs/applications/networking/instant-messengers/tkabber/default.nix
aszlig 5d15972278
tkabber: Clean up TCLLIBPATH generation.
This should make things a lot more DRY as we now can generalize library paths by
using the libPrefix attribute of each library. In addition this also cuts the
line length in wrapProgram.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2012-09-09 06:59:59 +02:00

48 lines
1.3 KiB
Nix

{ stdenv, fetchurl, tcl, tk, tcllib, tcltls, tclgpg
, bwidget, cacert, makeWrapper, x11 }:
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 {
url = "http://files.jabber.ru/tkabber/tkabber-0.11.1.tar.gz";
sha256 = "19xv555cm7a2gczdalf9srxm39hmsh0fbidhwxa74a89nqkbf4lv";
};
defaultTheme = "ocean-deep";
patchPhase = ''
substituteInPlace login.tcl --replace \
"custom::defvar loginconf(sslcacertstore) \"\"" \
"custom::defvar loginconf(sslcacertstore) \"${cacert}/etc/ca-bundle.crt\""
sed -i '/^if.*load_default_xrdb/,/^}$/ {
s@option readfile \(\[fullpath [^]]*\]\)@option readfile "'"$out/share/doc/tkabber/examples/xrdb/${defaultTheme}.xrdb"'"@
}' tkabber.tcl
'';
configurePhase = ''
mkdir -p $out/bin
sed -e "s@/usr/local@$out@" -i Makefile
'';
postInstall = ''
wrapProgram $out/bin/tkabber --set TCLLIBPATH '"${tclLibPaths}"'
'';
buildInputs = [ tcl tk x11 makeWrapper ] ++ tclLibraries;
meta = {
homepage = "http://tkabber.jabber.ru/";
description = "A GUI client for the XMPP (Jabber) instant messaging protocol";
};
}