summary refs log tree commit diff
diff options
context:
space:
mode:
authorlethalman <lucabru@src.gnome.org>2015-07-14 14:56:55 +0200
committerlethalman <lucabru@src.gnome.org>2015-07-14 14:56:55 +0200
commit6bf51d3a8513d5b337a58e51fdfb660cef6718ce (patch)
treea7742fb4bd110284cd3614ceebdb1db6212a62c5
parent2fa88f65eab650de535df838ae8cd0d633fa6aad (diff)
parente1f2930213e5c6ae6f8198032b3e4fb3e7d42dc7 (diff)
Merge pull request #8719 from lancelotsix/add_poezio
Add poezio
-rw-r--r--lib/maintainers.nix1
-rw-r--r--pkgs/development/python-modules/poezio/fix_requirements.patch11
-rw-r--r--pkgs/development/python-modules/poezio/make_default_config_writable.patch25
-rw-r--r--pkgs/top-level/all-packages.nix2
-rw-r--r--pkgs/top-level/python-packages.nix64
5 files changed, 103 insertions, 0 deletions
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 497a1951068ab..73156ac0b25fb 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -142,6 +142,7 @@
   linus = "Linus Arver <linusarver@gmail.com>";
   lnl7 = "Daiderd Jordan <daiderd@gmail.com>";
   lovek323 = "Jason O'Conal <jason@oconal.id.au>";
+  lsix = "Lancelot SIX <lsix@lancelotsix.com>";
   ludo = "Ludovic Courtès <ludo@gnu.org>";
   madjar = "Georges Dubus <georges.dubus@compiletoi.net>";
   magnetophon = "Bart Brouns <bart@magnetophon.nl>";
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 0000000000000..99b022c0e782e
--- /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 0000000000000..aa431dcc928f8
--- /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 803d2e56456e2..5b294e2592900 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -12342,6 +12342,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 ad152d25f75a3..119b06e1f4211 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -2848,6 +2848,25 @@ let
     };
   };
 
+  dnspython3 = buildPythonPackage rec {
+    name = "dnspython3-${version}";
+    version = "1.12.0";
+
+    disabled = (!isPy3k);
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/d/dnspython3/${name}.zip";
+      sha256 = "138wxj702vx6zni9g2y8dbgbpin95v6hk23rh2kwfr3q4130jqz9";
+    };
+
+    meta = {
+      description = "A DNS toolkit for Python 3.x";
+      homepage = http://www.dnspython.org;
+      # BSD-like, check http://www.dnspython.org/LICENSE for details
+      license = licenses.free;
+    };
+  };
+
   docker = buildPythonPackage rec {
     name = "docker-py-1.1.0";
 
@@ -7922,6 +7941,25 @@ let
     };
   };
 
+  sleekxmpp = buildPythonPackage rec {
+    name = "sleekxmpp-${version}";
+    version = "1.2.5";
+
+    disabled = (!isPy3k);
+
+    propagatedBuildInputs = with self ; [ dnspython3 pyasn1 ];
+
+    src = pkgs.fetchurl {
+      url = "https://github.com/fritzy/SleekXMPP/archive/${version}.tar.gz";
+      sha256 = "1hqs2w5d7x532psfqipd2wl1mkmsaak83jvp1rh9rv406fzp9h67";
+    };
+
+    meta = {
+      description = "XMPP library for Python";
+      license = licenses.mit;
+      homepage = "http://sleekxmpp.com/";
+    };
+  };
 
   netaddr = buildPythonPackage rec {
     name = "netaddr-0.7.5";
@@ -16577,5 +16615,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