diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 8e8ae4c4988..026a874a779 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -140,6 +140,7 @@ linus = "Linus Arver "; lnl7 = "Daiderd Jordan "; lovek323 = "Jason O'Conal "; + lsix = "Lancelot SIX "; ludo = "Ludovic Courtès "; madjar = "Georges Dubus "; magnetophon = "Bart Brouns "; diff --git a/pkgs/development/python-modules/poezio/fix_requirements.patch b/pkgs/development/python-modules/poezio/fix_requirements.patch new file mode 100644 index 00000000000..99b022c0e78 --- /dev/null +++ b/pkgs/development/python-modules/poezio/fix_requirements.patch @@ -0,0 +1,11 @@ +--- a/setup.py 2014-03-20 22:27:14.000000000 +0100 ++++ b/setup.py 2015-07-10 21:18:30.156196111 +0200 +@@ -49,7 +49,7 @@ + scripts = ['scripts/poezio'], + data_files = [('share/man/man1/', ['data/poezio.1'])], + +- install_requires = ['sleekxmpp==1.2.4', ++ install_requires = ['sleekxmpp==1.2.5', + 'dnspython3>=1.11.1'], + extras_require = {'OTR plugin': 'python-potr>=1.0', + 'Screen autoaway plugin': 'pyinotify==0.9.4'} diff --git a/pkgs/development/python-modules/poezio/make_default_config_writable.patch b/pkgs/development/python-modules/poezio/make_default_config_writable.patch new file mode 100644 index 00000000000..aa431dcc928 --- /dev/null +++ b/pkgs/development/python-modules/poezio/make_default_config_writable.patch @@ -0,0 +1,25 @@ +diff -ruN a/src/config.py b/src/config.py +--- a/src/config.py 2014-03-20 22:27:05.000000000 +0100 ++++ b/src/config.py 2015-07-10 21:24:37.583136078 +0200 +@@ -18,6 +18,7 @@ + + import os + import logging ++import stat + + from configparser import RawConfigParser, NoOptionError, NoSectionError + from os import environ, makedirs, path, remove +@@ -279,6 +280,13 @@ + copy2(default, options.filename) + elif path.isfile(other): + copy2(other, options.filename) ++ ++ # Inside the nixstore, the reference file is readonly, so is the copy. ++ # Make it writable by the user who just created it. ++ if os.path.exists(options.filename): ++ os.chmod(options.filename, ++ os.stat(options.filename).st_mode | stat.S_IWUSR) ++ + firstrun = True + + try: diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 689f43c7664..340cdf39084 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12322,6 +12322,8 @@ let plugin-torture = callPackage ../applications/audio/plugin-torture { }; + poezio = python3Packages.poezio; + pommed = callPackage ../os-specific/linux/pommed { inherit (xorg) libXpm; }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 16bbd6ef009..9a43d971d1e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -16401,5 +16401,31 @@ let }; }; + poezio = buildPythonPackage rec { + name = "poezio-${version}"; + version = "0.8.1"; + + namePrefix = ""; + disabled = (!isPy3k); + propagatedBuildInputs = with self ; [ dnspython3 sleekxmpp ]; + + patches = + let patch_base = ../development/python-modules/poezio ; + in [ "${patch_base}/make_default_config_writable.patch" + "${patch_base}/fix_requirements.patch" + ]; + + src = pkgs.fetchurl { + url = "http://dev.louiz.org/attachments/download/52/${name}.tar.xz"; + sha256 = "0n3phh3lc82609ssfvqvd4papvhykd1sf2bm88dggh2x4mypwjff"; + }; + + meta = { + description = "Free console XMPP client"; + homepage = http://poez.io; + license = licenses.mit; + maintainers = [ maintainers.lsix ]; + }; + }; }; in pythonPackages