From 95d6424e9ab887e048530de490f799b4f9da79b2 Mon Sep 17 00:00:00 2001 From: vinymeuh Date: Mon, 30 Oct 2017 19:34:41 +0100 Subject: [PATCH] pythonPackages.py3exiv2: init at 0.2.1 --- .../python-modules/py3exiv2/default.nix | 29 +++++++++++++++++++ .../python-modules/py3exiv2/setup.patch | 11 +++++++ pkgs/top-level/python-packages.nix | 2 ++ 3 files changed, 42 insertions(+) create mode 100644 pkgs/development/python-modules/py3exiv2/default.nix create mode 100644 pkgs/development/python-modules/py3exiv2/setup.patch diff --git a/pkgs/development/python-modules/py3exiv2/default.nix b/pkgs/development/python-modules/py3exiv2/default.nix new file mode 100644 index 000000000000..4656b99df0a0 --- /dev/null +++ b/pkgs/development/python-modules/py3exiv2/default.nix @@ -0,0 +1,29 @@ +{ buildPythonPackage, isPy3k, fetchPypi, stdenv, exiv2, boost, libcxx }: + +buildPythonPackage rec { + pname = "py3exiv2"; + version = "0.2.1"; + name = "${pname}-${version}"; + disabled = !(isPy3k); + + src = fetchPypi { + inherit pname version; + sha256 = "06q7mlqy05c3jr61nmz93fxb6ilizfyggbh5sg0krwjap2sw1fr8"; + }; + + buildInputs = [ exiv2 boost ]; + + # work around python distutils compiling C++ with $CC (see issue #26709) + NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1"; + + # fix broken libboost_python3 detection + patches = [ ./setup.patch ]; + + meta = { + homepage = "https://launchpad.net/py3exiv2"; + description = "A Python3 binding to the library exiv2"; + license = with stdenv.lib.licenses; [ gpl3 ]; + maintainers = with stdenv.lib.maintainers; [ vinymeuh ]; + platforms = with stdenv.lib.platforms; linux ++ darwin; + }; +} diff --git a/pkgs/development/python-modules/py3exiv2/setup.patch b/pkgs/development/python-modules/py3exiv2/setup.patch new file mode 100644 index 000000000000..bb4b11523479 --- /dev/null +++ b/pkgs/development/python-modules/py3exiv2/setup.patch @@ -0,0 +1,11 @@ +--- a/setup.py 2017-10-16 22:03:02.000000000 +0200 ++++ b/setup.py 2017-10-16 22:03:34.000000000 +0200 +@@ -39,7 +39,7 @@ + if '3' in l[2:]: + return l.replace('libboost', 'boost') + +-libboost = get_libboost_name() ++libboost = 'boost_python3' + + setup( + name='py3exiv2', diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 60d5f9577e47..1d95a7fbfac5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -232,6 +232,8 @@ in { pyexiv2 = if (!isPy3k) then callPackage ../development/python-modules/pyexiv2 {} else throw "pyexiv2 not supported for interpreter ${python.executable}"; + py3exiv2 = callPackage ../development/python-modules/py3exiv2 { }; + pygame = callPackage ../development/python-modules/pygame { }; pygame-git = callPackage ../development/python-modules/pygame/git.nix { };