diff --git a/pkgs/development/python-modules/irclib/default.nix b/pkgs/development/python-modules/irclib/default.nix new file mode 100644 index 000000000000..c709308b7af4 --- /dev/null +++ b/pkgs/development/python-modules/irclib/default.nix @@ -0,0 +1,32 @@ +a : +let + fetchurl = a.fetchurl; + + version = a.lib.getAttr ["version"] "0.4.8" a; + buildInputs = with a; [ + python + ]; +in +rec { + src = fetchurl { + url = "http://prdownloads.sourceforge.net/sourceforge/python-irclib/python-irclib-${version}.tar.gz"; + sha256 = "1x5456y4rbxmnw4yblhb4as5791glcw394bm36px3x6l05j3mvl1"; + }; + patches = [(fetchurl { + url = "http://trac.uwc.ac.za/trac/python_tools/browser/xmpp/resources/irc-transport/irclib.py.diff?rev=387&format=raw"; + name = "irclib.py.diff"; + sha256 = "5fb8d95d6c95c93eaa400b38447c63e7a176b9502bc49b2f9b788c9905f4ec5e"; + })]; + patchFlags = "irclib.py"; + + inherit buildInputs; + configureFlags = []; + + /* doConfigure should be removed if not needed */ + phaseNames = ["doPatch" "installPythonPackage"]; + + name = "python-irclib-" + version; + meta = { + description = "Python IRC library"; + }; +} diff --git a/pkgs/development/python-modules/xmpppy/default.nix b/pkgs/development/python-modules/xmpppy/default.nix new file mode 100644 index 000000000000..9afa28011dee --- /dev/null +++ b/pkgs/development/python-modules/xmpppy/default.nix @@ -0,0 +1,30 @@ +a : +let + fetchurl = a.fetchurl; + + version = a.lib.getAttr ["version"] "0.5.0rc1" a; + buildInputs = with a; [ + python setuptools + ]; +in +rec { + src = fetchurl { + url = "http://prdownloads.sourceforge.net/sourceforge/xmpppy/xmpppy-${version}.tar.gz"; + sha256 = "16hbh8kwc5n4qw2rz1mrs8q17rh1zq9cdl05b1nc404n7idh56si"; + }; + + inherit buildInputs; + configureFlags = []; + + /* doConfigure should be removed if not needed */ + phaseNames = ["mkDirs" "installPythonPackage"]; + mkDirs = a.FullDepEntry('' + ensureDir $out/bin $out/lib $out/share $(toPythonPath $out) + export PYTHONPATH=$PYTHONPATH:$(toPythonPath $out) + '') ["defEnsureDir" "addInputs"]; + + name = "xmpp.py-" + version; + meta = { + description = "XMPP python library"; + }; +} diff --git a/pkgs/servers/xmpp/pyIRCt/default.nix b/pkgs/servers/xmpp/pyIRCt/default.nix new file mode 100644 index 000000000000..b8a7379070cb --- /dev/null +++ b/pkgs/servers/xmpp/pyIRCt/default.nix @@ -0,0 +1,38 @@ +a : +let + fetchurl = a.fetchurl; + + version = a.lib.getAttr ["version"] "0.4" a; + buildInputs = with a; [ + xmpppy pythonIRClib python makeWrapper + ]; +in +rec { + src = fetchurl { + url = "http://prdownloads.sourceforge.net/sourceforge/xmpppy/irc-transport-${version}.tar.gz"; + sha256 = "0gbc0dvj1p3088b6x315yjrlwnc5vvzp0var36wlf9z60ghvk8yb"; + }; + + inherit buildInputs; + configureFlags = []; + + /* doConfigure should be removed if not needed */ + phaseNames = ["deploy" (a.makeManyWrappers "$out/share/${name}/irc.py" a.pythonWrapperArguments)]; + deploy = a.FullDepEntry ('' + ensureDir $out/bin $out/share/${name} + sed -e 's@/usr/bin/@${a.python}/bin/@' -i irc.py + sed -e '/configFiles/aconfigFiles += [os.getenv("HOME")+"/.pyIRCt.xml"]' -i config.py + sed -e '/configFiles/aconfigFiles += [os.getenv("HOME")+"/.python-irc-transport.xml"]' -i config.py + sed -e '/configFiles/iimport os' -i config.py + cp * $out/share/$name + echo "#! /bin/sh" > $out/bin/pyIRCt + echo "cd $out/share/${name}" >> $out/bin/pyIRCt + echo "./irc.py \"$@\"" >> $out/bin/pyIRCt + chmod a+rx $out/bin/pyIRCt $out/share/${name}/irc.py + '') ["minInit" "addInputs" "doUnpack" "defEnsureDir"]; + + name = "pyIRCt-" + version; + meta = { + description = "IRC transport module for XMPP"; + }; +} diff --git a/pkgs/servers/xmpp/pyMAILt/default.nix b/pkgs/servers/xmpp/pyMAILt/default.nix new file mode 100644 index 000000000000..5a2c4c5484c8 --- /dev/null +++ b/pkgs/servers/xmpp/pyMAILt/default.nix @@ -0,0 +1,40 @@ +a : +let + fetchurl = a.fetchurl; + + buildInputs = with a; [ + xmpppy python makeWrapper + ]; +in +rec { + src = a.fetchcvs { + cvsRoot = ":pserver:anonymous@xmpppy.cvs.sourceforge.net:/cvsroot/xmpppy"; + module = "xmpppy/mail-transport"; + date = "2009-01-01"; + sha256 = "15301252e52b4ccb2156baefed8982a2a0cce3ae8eae3caf3cc28dfa615c8d6e"; + }; + + inherit buildInputs; + configureFlags = []; + + /* doConfigure should be removed if not needed */ + phaseNames = ["deploy" (a.makeManyWrappers "$out/share/${name}/mail.py" a.pythonWrapperArguments)]; + deploy = a.FullDepEntry ('' + cd mail-transport + ensureDir $out/bin $out/share/${name} + sed -e 's@/usr/bin/@${a.python}/bin/@' -i mail.py + sed -e '/configFiles/aconfigFiles += [os.getenv("HOME")+"/.pyMAILt.xml"]' -i config.py + sed -e '/configFiles/aconfigFiles += [os.getenv("HOME")+"/.python-mail-transport.xml"]' -i config.py + sed -e '/configFiles/iimport os' -i config.py + cp * $out/share/$name + echo "#! /bin/sh" > $out/bin/pyMAILt + echo "cd $out/share/${name}" >> $out/bin/pyMAILt + echo "./mail.py \"$@\"" >> $out/bin/pyMAILt + chmod a+rx $out/bin/pyMAILt $out/share/${name}/mail.py + '') ["minInit" "addInputs" "doUnpack" "defEnsureDir"]; + + name = "pyMAILt"; + meta = { + description = "Email transport module for XMPP"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 693408506991..228df732d981 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1161,6 +1161,10 @@ let dbus = dbus.libs; }; + pythonIRClib = builderDefsPackage (import ../development/python-modules/irclib) { + inherit python; + }; + pythonSexy = builderDefsPackage (import ../development/python-modules/libsexy) { inherit python libsexy pkgconfig libxml2 pygtk; inherit (gtkLibs) pango gtk glib; @@ -1450,6 +1454,10 @@ let perlURI perlLWP; }; + xmpppy = builderDefsPackage (import ../development/python-modules/xmpppy) { + inherit python setuptools; + }; + xpf = import ../tools/text/xml/xpf { inherit fetchurl stdenv python; @@ -6642,6 +6650,14 @@ let inherit fetchurl stdenv ant; }; + pyIRCt = builderDefsPackage (import ../servers/xmpp/pyIRCt) { + inherit xmpppy pythonIRClib python makeWrapper; + }; + + pyMAILt = builderDefsPackage (import ../servers/xmpp/pyMAILt) { + inherit xmpppy python makeWrapper fetchcvs; + }; + samba = import ../servers/samba { inherit stdenv fetchurl readline openldap pam kerberos popt iniparser libunwind acl fam;