tkabber: Merge main package with site plugins.
The site plugins are released alongside the main Tkabber sources, so it makes no sense to have them in a separate package (which also introduces an impurity). In addition, both packages share the same makefile structure, so it really makes sense to merge them. Before people might get worried about my decision to enable those plugins by default: Since version 1.0, Tkabber is no longer loading _all_ available plugins, but gives you a menu (Plugins Management) to selectively enable plugins (whereas all plugins are disabled by default). Signed-off-by: aszlig <aszlig@redmoonstudios.org>
This commit is contained in:
parent
3a5334f853
commit
e3cb9e5e5f
@ -1,21 +0,0 @@
|
||||
{ stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "tkabber-plugins-${version}";
|
||||
version = "1.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://files.jabber.ru/tkabber/tkabber-plugins-${version}.tar.xz";
|
||||
sha256 = "d61251dc664f0bfa8534e578096dede9a7bb7d4f2620489f8d2c43d36cd61ba9";
|
||||
};
|
||||
|
||||
configurePhase = ''
|
||||
sed -e "s@/usr/local@$out@" -i Makefile
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "http://tkabber.jabber.ru/tkabber-plugins";
|
||||
description = "Plugins for the Tkabber instant messenger";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
};
|
||||
}
|
@ -1,9 +1,24 @@
|
||||
{ stdenv, fetchurl, tcl, tk, tcllib, tcltls, tclgpg
|
||||
, bwidget, makeWrapper, x11
|
||||
, withSitePlugins ? true
|
||||
, theme ? null
|
||||
}:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
let
|
||||
version = "1.0";
|
||||
|
||||
main = {
|
||||
name = "tkabber";
|
||||
sha256 = "49ee6e897dfe52ebac256531b54955e6b39223f606a9b8ad63a52475389db206";
|
||||
};
|
||||
|
||||
plugins = {
|
||||
name = "tkabber-plugins";
|
||||
sha256 = "d61251dc664f0bfa8534e578096dede9a7bb7d4f2620489f8d2c43d36cd61ba9";
|
||||
};
|
||||
|
||||
tclLibraries = [ bwidget tcllib tcltls tclgpg ];
|
||||
|
||||
getTclLibPath = p: "${p}/lib/${p.libPrefix}";
|
||||
@ -11,36 +26,39 @@ let
|
||||
tclLibPaths = stdenv.lib.concatStringsSep " "
|
||||
(map getTclLibPath tclLibraries);
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "tkabber-1.0";
|
||||
mkTkabber = attrs: stdenv.mkDerivation (rec {
|
||||
name = "${attrs.name}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://files.jabber.ru/tkabber/${name}.tar.xz";
|
||||
sha256 = "49ee6e897dfe52ebac256531b54955e6b39223f606a9b8ad63a52475389db206";
|
||||
};
|
||||
src = fetchurl {
|
||||
url = "http://files.jabber.ru/tkabber/${name}.tar.xz";
|
||||
inherit (attrs) sha256;
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
prePatch = ''
|
||||
sed -e "s@/usr/local@$out@" -i Makefile
|
||||
'';
|
||||
} // removeAttrs attrs [ "name" "sha256" ]);
|
||||
|
||||
in mkTkabber (main // {
|
||||
postPatch = ''
|
||||
substituteInPlace login.tcl --replace \
|
||||
"custom::defvar loginconf(sslcacertstore) \"\"" \
|
||||
"custom::defvar loginconf(sslcacertstore) \$env(OPENSSL_X509_CERT_FILE)"
|
||||
'' + stdenv.lib.optionalString (theme != null) ''
|
||||
'' + optionalString (theme != null) ''
|
||||
themePath="$out/share/doc/tkabber/examples/xrdb/${theme}.xrdb"
|
||||
sed -i '/^if.*load_default_xrdb/,/^}$/ {
|
||||
s@option readfile \(\[fullpath [^]]*\]\)@option readfile "'"$themePath"'"@
|
||||
}' tkabber.tcl
|
||||
'';
|
||||
|
||||
configurePhase = ''
|
||||
mkdir -p $out/bin
|
||||
sed -e "s@/usr/local@$out@" -i Makefile
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
for prog in $out/bin/*; do
|
||||
wrapProgram "$prog" \
|
||||
--prefix PATH : "${tk}/bin" \
|
||||
--set TCLLIBPATH '"${tclLibPaths}"' \
|
||||
--set TKABBER_SITE_PLUGINS '$HOME/.nix-profile/share/tkabber-plugins'
|
||||
${optionalString withSitePlugins ''
|
||||
--set TKABBER_SITE_PLUGINS '${mkTkabber plugins}/share/tkabber-plugins'
|
||||
''}
|
||||
done
|
||||
'';
|
||||
|
||||
@ -48,7 +66,7 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
meta = {
|
||||
homepage = "http://tkabber.jabber.ru/";
|
||||
description = "A GUI client for the XMPP (Jabber) instant messaging protocol";
|
||||
description = "A GUI XMPP (Jabber) client written in Tcl/Tk";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -2065,8 +2065,6 @@ let
|
||||
|
||||
tkabber = callPackage ../applications/networking/instant-messengers/tkabber { };
|
||||
|
||||
tkabber_plugins = callPackage ../applications/networking/instant-messengers/tkabber-plugins { };
|
||||
|
||||
qfsm = callPackage ../applications/science/electronics/qfsm { };
|
||||
|
||||
tkgate = callPackage ../applications/science/electronics/tkgate/1.x.nix {
|
||||
|
Loading…
Reference in New Issue
Block a user