Both dev-python/python-magic and sys-apps/file with python flag enabled install python "magic" module. Each has different API unfortunately and they cause collisions on site-packages/magic.py path. python-magic should likely conflict with sys-apps/file[python]. Ccing base-system so that they are aware of the issue as well.
Thanks will be fixed in -r1 which will hit the tree shortly.
*python-magic-0.4.6-r1 (16 Oct 2013) 16 Oct 2013; Ian Whyman <thev00d00@gentoo.org> +python-magic-0.4.6-r1.ebuild, -python-magic-0.4.3.ebuild, -python-magic-0.4.6.ebuild: Block python use on sys-apps/file #488270 Are you sure you want to DEPEND on sys-apps/file here? How does python-magic need sys-apps/file?
(In reply to Jeroen Roovers from comment #2) > *python-magic-0.4.6-r1 (16 Oct 2013) > 16 Oct 2013; Ian Whyman <thev00d00@gentoo.org> > +python-magic-0.4.6-r1.ebuild, > -python-magic-0.4.3.ebuild, -python-magic-0.4.6.ebuild: > Block python use on sys-apps/file #488270 > > Are you sure you want to DEPEND on sys-apps/file here? How does python-magic > need sys-apps/file? libmagic is installed by sys-apps/file and magic.py from python-magic uses it. in fact, that's the whole purpose of this python module :-) <snip> libmagic = None # Let's try to find magic or magic1 dll = ctypes.util.find_library('magic') or ctypes.util.find_library('magic1') # This is necessary because find_library returns None if it doesn't find the library if dll: libmagic = ctypes.CDLL(dll) if not libmagic or not libmagic._name: import sys platform_to_lib = {'darwin': ['/opt/local/lib/libmagic.dylib', '/usr/local/lib/libmagic.dylib'] + # Assumes there will only be one version installed glob.glob('/usr/local/Cellar/libmagic/*/lib/libmagic.dylib'), 'win32': ['magic1.dll']} for dll in platform_to_lib.get(sys.platform, []): try: libmagic = ctypes.CDLL(dll) break except OSError: pass if not libmagic or not libmagic._name: # It is better to raise an ImportError since we are importing magic module raise ImportError('failed to find libmagic. Check your installation') </snip> reclosing
This causes big problems with binwalk being installed at the same time...
(In reply to Jason A. Donenfeld from comment #4) > This causes big problems with binwalk being installed at the same time... https://github.com/ahupp/python-magic/issues/33 https://github.com/globocom/thumbor/issues/188 https://github.com/ahupp/python-magic/issues/57
Problem is that while dev-python/eyeD3-0.7.4 compiles without dev-python/python-magic, these files disappear: <<< obj /usr/lib64/python3.3/site-packages/eyed3/utils/log.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/utils/console.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/utils/cli.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/utils/binfuncs.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/utils/__pycache__/log.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/utils/__pycache__/log.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/utils/__pycache__/console.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/utils/__pycache__/console.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/utils/__pycache__/cli.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/utils/__pycache__/cli.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/utils/__pycache__/binfuncs.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/utils/__pycache__/binfuncs.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/utils/__pycache__/__init__.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/utils/__pycache__/__init__.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/utils/__init__.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/xep_118.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/statistics.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/nfo.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/mp3.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/lameinfo.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/itunes.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/fixup.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/examples.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/classic.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/_amazon.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/__pycache__/xep_118.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/__pycache__/xep_118.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/__pycache__/statistics.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/__pycache__/statistics.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/__pycache__/nfo.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/__pycache__/nfo.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/__pycache__/mp3.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/__pycache__/mp3.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/__pycache__/lameinfo.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/__pycache__/lameinfo.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/__pycache__/itunes.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/__pycache__/itunes.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/__pycache__/fixup.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/__pycache__/fixup.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/__pycache__/examples.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/__pycache__/examples.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/__pycache__/classic.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/__pycache__/classic.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/__pycache__/__init__.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/__pycache__/__init__.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/plugins/__init__.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/mp3/headers.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/mp3/__pycache__/headers.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/mp3/__pycache__/headers.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/mp3/__pycache__/__init__.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/mp3/__pycache__/__init__.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/mp3/__init__.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/main.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/info.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/id3/tag.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/id3/headers.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/id3/frames.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/id3/apple.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/id3/__pycache__/tag.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/id3/__pycache__/tag.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/id3/__pycache__/headers.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/id3/__pycache__/headers.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/id3/__pycache__/frames.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/id3/__pycache__/frames.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/id3/__pycache__/apple.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/id3/__pycache__/apple.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/id3/__pycache__/__init__.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/id3/__pycache__/__init__.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/id3/__init__.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/core.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/compat.py <<< obj /usr/lib64/python3.3/site-packages/eyed3/__pycache__/main.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/__pycache__/main.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/__pycache__/info.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/__pycache__/info.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/__pycache__/core.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/__pycache__/core.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/__pycache__/compat.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/__pycache__/compat.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/__pycache__/__init__.cpython-33.pyo <<< obj /usr/lib64/python3.3/site-packages/eyed3/__pycache__/__init__.cpython-33.pyc <<< obj /usr/lib64/python3.3/site-packages/eyed3/__init__.py <<< obj /usr/lib64/python3.3/site-packages/eyeD3-0.7.4-py3.3.egg-info/top_level.txt <<< obj /usr/lib64/python3.3/site-packages/eyeD3-0.7.4-py3.3.egg-info/requires.txt <<< obj /usr/lib64/python3.3/site-packages/eyeD3-0.7.4-py3.3.egg-info/not-zip-safe <<< obj /usr/lib64/python3.3/site-packages/eyeD3-0.7.4-py3.3.egg-info/dependency_links.txt <<< obj /usr/lib64/python3.3/site-packages/eyeD3-0.7.4-py3.3.egg-info/SOURCES.txt <<< obj /usr/lib64/python3.3/site-packages/eyeD3-0.7.4-py3.3.egg-info/PKG-INFO <<< dir /usr/lib64/python3.3/site-packages/eyed3/utils/__pycache__ <<< dir /usr/lib64/python3.3/site-packages/eyed3/utils <<< dir /usr/lib64/python3.3/site-packages/eyed3/plugins/__pycache__ <<< dir /usr/lib64/python3.3/site-packages/eyed3/plugins <<< dir /usr/lib64/python3.3/site-packages/eyed3/mp3/__pycache__ <<< dir /usr/lib64/python3.3/site-packages/eyed3/mp3 <<< dir /usr/lib64/python3.3/site-packages/eyed3/id3/__pycache__ <<< dir /usr/lib64/python3.3/site-packages/eyed3/id3 <<< dir /usr/lib64/python3.3/site-packages/eyed3/__pycache__ <<< dir /usr/lib64/python3.3/site-packages/eyed3 <<< dir /usr/lib64/python3.3/site-packages/eyeD3-0.7.4-py3.3.egg-info ChangeLog of eyeD3 says it's optional, well "Not a hard dependecy but pull python-magic in when we can." So I compilained a bit at https://github.com/ahupp/python-magic/issues/57 :-)
Arg. Ignore my last comment entirely, I've mixed it completely with overlay version. Sorry for bugspam. :-(
I dropped python-magic from eyeD3, it's optional and non-fatal
If nothing else uses it in Portage, maybe this shouldn't be in Portage either before they rename the library?
(In reply to Samuli Suominen from comment #9) > If nothing else uses it in Portage, maybe this shouldn't be in Portage > either before they rename the library? and to clarify, nothing does
I don't see any need to remove it. Closing this again....