diff --git a/pkgs/development/python-modules/pyfribidi/default.nix b/pkgs/development/python-modules/pyfribidi/default.nix index 50a0bfa1e22f..fcb201c03110 100644 --- a/pkgs/development/python-modules/pyfribidi/default.nix +++ b/pkgs/development/python-modules/pyfribidi/default.nix @@ -1,14 +1,14 @@ { stdenv , buildPythonPackage , fetchPypi -, isPy3k , isPyPy +, six }: buildPythonPackage rec { version = "0.12.0"; pname = "pyfribidi"; - disabled = isPy3k || isPyPy; + disabled = isPyPy; src = fetchPypi { inherit pname version; @@ -16,6 +16,10 @@ buildPythonPackage rec { sha256 = "64726a4a56783acdc79c6b9b3a15f16e6071077c897a0b999f3b43f744bc621c"; }; + patches = stdenv.lib.optional stdenv.cc.isClang ./pyfribidi-clang.patch; + + propagatedBuildInputs = [ six ]; + meta = with stdenv.lib; { description = "A simple wrapper around fribidi"; homepage = https://github.com/pediapress/pyfribidi; diff --git a/pkgs/development/python-modules/pyfribidi/pyfribidi-clang.patch b/pkgs/development/python-modules/pyfribidi/pyfribidi-clang.patch new file mode 100644 index 000000000000..c570843f7e8b --- /dev/null +++ b/pkgs/development/python-modules/pyfribidi/pyfribidi-clang.patch @@ -0,0 +1,17 @@ +diff --git a/pyfribidi.c b/pyfribidi.c +index 9a0120d..238134a 100644 +--- a/pyfribidi.c ++++ b/pyfribidi.c +@@ -148,10 +148,11 @@ init_pyfribidi (void) + { + #if PY_MAJOR_VERSION >= 3 + PyObject *module = PyModule_Create (&pyfribidi_moduledef); ++ if (module == NULL) return NULL; + #else + PyObject *module = Py_InitModule ("_pyfribidi", PyfribidiMethods); ++ if (module == NULL) return; + #endif +- if (module == NULL) return NULL; + + PyModule_AddIntConstant (module, "RTL", (long) FRIBIDI_TYPE_RTL); + PyModule_AddIntConstant (module, "LTR", (long) FRIBIDI_TYPE_LTR);