Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 289004 - dev-python/pyexiv2-0.3.2 (New package, deprecated upstream)
Summary: dev-python/pyexiv2-0.3.2 (New package, deprecated upstream)
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement with 4 votes (vote)
Assignee: Default Assignee for New Packages
URL: http://tilloy.net/dev/pyexiv2/
Whiteboard:
Keywords: EBUILD
Depends on:
Blocks: 526862 353748 371324
  Show dependency tree
 
Reported: 2009-10-14 06:09 UTC by Michael Kefeder
Modified: 2014-10-26 00:10 UTC (History)
13 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
ebuild for pyexiv2-0.1.3 (pyexiv2-0.1.3.ebuild,522 bytes, text/plain)
2009-10-14 06:10 UTC, Michael Kefeder
Details
New PyExiv2 build to use with Exiv2 0.19 and higher (pyexiv2-0.1.3-r1.ebuild,622 bytes, text/plain)
2010-01-28 11:58 UTC, Ceesjan Luiten
Details
Patch for PyExiv2 to make it compatible with Exiv2 0.19 and higher (r1727-findmetadatumbyid.patch,3.07 KB, patch)
2010-01-28 11:59 UTC, Ceesjan Luiten
Details | Diff
Cleaner version of the ebuild (pyexiv2-0.1.3-r1.ebuild,608 bytes, text/plain)
2010-01-28 12:04 UTC, Ceesjan Luiten
Details
pyexiv2-0.2.0.ebuild (pyexiv2-0.2.0.ebuild,994 bytes, text/plain)
2010-04-16 15:19 UTC, Chris Mayo
Details
pyexiv2-0.2.1 (pyexiv2-0.2.1.ebuild,1.03 KB, text/plain)
2010-05-08 10:34 UTC, Chris Mayo
Details
pyexiv2-0.3.0.ebuild (pyexiv2-0.3.0.ebuild,1.03 KB, text/plain)
2011-01-10 09:50 UTC, Andreas Nyback
Details
Patch for building pyexiv2 0.3.0 docs (pyexiv2-0.3.0-docs.patch,299 bytes, patch)
2011-01-10 19:03 UTC, Chris Mayo
Details | Diff
pyexiv 0.3.2 (pyexiv2-0.3.2.ebuild,1.14 KB, text/plain)
2011-12-03 23:04 UTC, Andreas Nyback
Details
pyexiv2-0.3.2.ebuild - fix for recent boost (pyexiv2-0.3.2.ebuild,1.29 KB, text/plain)
2012-03-12 15:54 UTC, Ștefan Talpalaru
Details
pyexiv2-0.3.2.ebuild - support for python ABI 2 and 3 (pyexiv2-0.3.2.ebuild,1.62 KB, text/plain)
2012-04-07 17:39 UTC, Thibault Hild
Details
scons_python_abi.patch - support for python ABI 2 and 3 (scons_python_abi.patch,1.17 KB, patch)
2012-04-07 17:43 UTC, Thibault Hild
Details | Diff
pyexiv2-0.3.2.ebuild - support for python ABI 2 and 3 - bis (pyexiv2-0.3.2.ebuild,1.77 KB, text/plain)
2012-04-08 15:25 UTC, Thibault Hild
Details
pyexiv2-0.3.2-r1.ebuild using EAPI5 and python-r1 eclass (pyexiv2-0.3.2-r1.ebuild,2.27 KB, text/plain)
2014-10-26 00:07 UTC, Paweł Stankowski
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Kefeder 2009-10-14 06:09:30 UTC
There currently is no ebuild for pyexiv2 so i created one. pyexiv2 is a python binding to media-gfx/exiv2, which reads and writes EXIF information of images.

Reproducible: Always

Steps to Reproduce:
Comment 1 Michael Kefeder 2009-10-14 06:10:22 UTC
Created attachment 207055 [details]
ebuild for pyexiv2-0.1.3
Comment 2 Ceesjan Luiten 2010-01-06 17:22:17 UTC
Seconded request. The ebuild as supplied by Michael works as expected on ~amd64
Comment 3 Ceesjan Luiten 2010-01-28 11:57:31 UTC
PyExiv2 fails to compile properly with Exiv2 0.19.

Bug on launchpad with details: https://bugs.launchpad.net/pyexiv2/+bug/503272

I've updated the ebuild to use this patch. Since I have no idea how to make epatch conditional on the version of exiv2 I've changed the version number from pyexiv2 to 1.3.0-r1
Comment 4 Ceesjan Luiten 2010-01-28 11:58:25 UTC
Created attachment 217717 [details]
New PyExiv2 build to use with Exiv2 0.19 and higher
Comment 5 Ceesjan Luiten 2010-01-28 11:59:22 UTC
Created attachment 217719 [details, diff]
Patch for PyExiv2 to make it compatible with Exiv2 0.19 and higher

Patch is an unmodified copy from the one on launchpad
Comment 6 Ceesjan Luiten 2010-01-28 12:04:39 UTC
Created attachment 217721 [details]
Cleaner version of the ebuild
Comment 7 Chris Mayo 2010-04-16 15:19:30 UTC
Created attachment 228041 [details]
pyexiv2-0.2.0.ebuild

Here's one for the much updated pyexiv-0.2.0 that requires exiv2-0.19
Comment 8 Michael Kefeder 2010-04-20 19:32:08 UTC
ebuild of Chris for 0.2.0 works fine for me on amd64
thanks
Comment 9 Chris Mayo 2010-05-08 10:34:51 UTC
Created attachment 230787 [details]
pyexiv2-0.2.1

Version bump and have to actually build docs as they are not included in the tarball
Comment 10 Andreas Nyback 2011-01-10 09:50:17 UTC
Created attachment 259451 [details]
pyexiv2-0.3.0.ebuild

New version, with new download path.
Comment 11 Chris Mayo 2011-01-10 19:03:02 UTC
Created attachment 259488 [details, diff]
Patch for building pyexiv2 0.3.0 docs

To build the docs with sphinx >= 1.0 needs the attached patch (should work with < 1 too).
Comment 12 Sebastian Pipping gentoo-dev 2011-05-23 19:11:10 UTC
I've been working on an ebuild independently, before I stumbled upon this bug now.


(In reply to comment #11)
> Created attachment 259488 [details, diff]
> Patch for building pyexiv2 0.3.0 docs
> 
> To build the docs with sphinx >= 1.0 needs the attached patch (should work with
> < 1 too).

Thanks for that patch!  An updated ebuild can be found as dev-python/pyexiv2-0.3.0-r1 can be found in the betagarden overlay.
Comment 13 Christian Faulhammer (RETIRED) gentoo-dev 2011-06-13 11:32:21 UTC
Would come in handy for Gramps 3.3.0, as an optional dependency.
Comment 14 Andreas Nyback 2011-12-03 23:04:11 UTC
Created attachment 294649 [details]
pyexiv 0.3.2

I needed 0.3.2
Had to change download path and remove the docs patch.
Maybe someone who knows better then me what they are doing can bring this forward and put it in betagarden...
Comment 15 Ștefan Talpalaru 2012-03-12 15:54:21 UTC
Created attachment 305021 [details]
pyexiv2-0.3.2.ebuild - fix for recent boost

This ebuild fixes a linking issue with boost-1.48.0-r1 (the python version is now part of the boost_python library name).
Comment 16 Thibault Hild 2012-04-07 17:39:38 UTC
Created attachment 308109 [details]
pyexiv2-0.3.2.ebuild - support for python ABI 2 and 3

This ebuild is a modification of the previous one in order to make it handle  both python 2 and 3. Be careful that the python 3 support is obtained through using the 2to3 python tool. Both ABIs can be used at the same time.
This ebuild also need an additional patch file named "scons_python_abi.patch" that I will attach in the next comment.
Comment 17 Thibault Hild 2012-04-07 17:43:40 UTC
Created attachment 308111 [details, diff]
scons_python_abi.patch - support for python ABI 2 and 3

This patch file is needed by pyexiv2-0.3.2.ebuild in order to select the python version to use when building and installing.
Comment 18 Arfrever Frehtes Taifersar Arahesis 2012-04-07 18:26:09 UTC
Usage of BOOSTLIB="boost_python-${PYTHON_ABI}" means that dependency on >=dev-libs/boost-1.48[python] is needed.

s/2to3/2to3-${PYTHON_ABI}/

Documentation should be built only once (with final Python ABI).
Comment 19 Thibault Hild 2012-04-08 15:25:42 UTC
Created attachment 308219 [details]
pyexiv2-0.3.2.ebuild - support for python ABI 2 and 3 - bis

Arfrever, thanks for reviewing.

I did fix the following in the attached ebuild:
- dependency to >=boost-1.48
- 2to3-${PYTHON_ABI}

Having the pyexiv2 documentation built (USE="doc") is harder to fix as I cannot find a way to instruct "escons" to call SCons with Python 3 (this would also provide a simpler fix to the build/install process. I don't even know if SCons supports Python 3.
Building the documentation fails for now...
Comment 20 Thibault Hild 2012-04-09 21:45:54 UTC
I realized yesterday that the ebuild also needs this boost patch for pyexiv2 to work with python3:
https://svn.boost.org/trac/boost/ticket/4609

I have integrated this patch to the boost 1.48.0-r1 ebuild and my test case succeeded.

The same test case was returning a Boost.Python.ArgumentError as described in comment #6 of this pyexiv2 bug:
https://bugs.launchpad.net/pyexiv2/+bug/824440/comments/6

The (simple) test case is:

from pyexiv2 import ImageMetadata

metadata = ImageMetadata("tmp/P1000107.JPG")
metadata.read()
tag = metadata['Exif.Image.DateTime']
print(tag.value)

It returns the right tag value with the boost patch. I need to add a src_test routine to the ebuild in order to launch the test procedure provided by the pyexiv2 package.
Comment 21 karpi 2012-09-11 17:05:29 UTC
pyexiv2 doesnot install properly for me... For python 3 it is ok, but for 2.6 is installation broken..


alnagon ~ % python3.2
Python 3.2.3 (default, Aug 24 2012, 02:55:08) 
[GCC 4.5.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyexiv2
>>> 


alnagon ~ % python2.6
Python 2.6.8 (unknown, Aug 24 2012, 18:03:05) 
[GCC 4.5.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyexiv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.6/site-packages/pyexiv2/__init__.py", line 60, in <module>
    import libexiv2python
ImportError: libboost_python-1_42.so.1.42.0: cannot open shared object file: No such file or directory
>>> 
>>> 
>>>
Comment 22 Bernd Feige 2012-11-11 16:41:35 UTC
Hi, first of all thanks for the pyexiv2 support, I've used the single-ABI ebuild with current dev-lang/python-2.7.3-r2 and dev-libs/boost-1.52.0-r1 (and predecessors) without problems. Now trying the dual-ABI version, python2 works as before but python3 gives the following when actually trying to read metadata:

python3.2
Python 3.2.3 (default, Jun 28 2012, 14:29:16) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyexiv2
>>> metadata=pyexiv2.ImageMetadata("img_18912.jpg")
>>> metadata.read()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python3.2/site-packages/pyexiv2/metadata.py", line 107, in read
    self.__image = self._instantiate_image(self.filename)
  File "/usr/lib64/python3.2/site-packages/pyexiv2/metadata.py", line 79, in _instantiate_image
    return libexiv2python._Image(filename)
Boost.Python.ArgumentError: Python argument types in
    _Image.__init__(_Image, bytes)
did not match C++ signature:
    __init__(_object*, std::string, long)
    __init__(_object*, std::string)

Appears as if the bindings would need adaptation as well? Any ideas?

Regards,
Bernd
Comment 23 Chris Mayo 2012-12-27 17:44:37 UTC
pyexiv2 seems to have ceased, no release for over a year and see:
https://bugs.launchpad.net/ubuntu/+source/gexiv2/+bug/1074028

N.B. I have created bug #448900 for gexiv2 0.5.0 which works for both Python 2 and 3.
Comment 24 Paweł Stankowski 2014-10-26 00:05:35 UTC
Pyexiv2 is still used by some projects, and still exists in newest Ubuntu repository.
Comment 25 Paweł Stankowski 2014-10-26 00:07:47 UTC
Created attachment 387386 [details]
pyexiv2-0.3.2-r1.ebuild using EAPI5 and python-r1 eclass