Summary: | audio/py-pyaudio: Links with portaudio instead of portaudio2 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | martin.dieringer | ||||||||||
Component: | Individual Port(s) | Assignee: | Pawel Pekala <pawel> | ||||||||||
Status: | Closed FIXED | ||||||||||||
Severity: | Affects Some People | CC: | jaap, jbeich, pawel | ||||||||||
Priority: | Normal | Keywords: | patch, patch-ready | ||||||||||
Version: | Latest | Flags: | koobs:
maintainer-feedback+
|
||||||||||
Hardware: | Any | ||||||||||||
OS: | Any | ||||||||||||
Attachments: |
|
Description
martin.dieringer
2014-12-17 09:04:33 UTC
"-L/usr/local/lib/portaudio2" is appended instead of prepended: cc -shared -fstack-protector -O2 -pipe -fstack-protector -fno-strict-aliasing build/temp.freebsd-10.1-STABLE-amd64-2.7/src/_portaudiomodule.o -L/usr/local/lib -lportaudio -lpython2.7 -o build/lib.freebsd-10.1-STABLE-amd64-2.7/_portaudio.so -L/usr/local/lib/portaudio2 Maintainer CC'd and maintainer-feedback requested. Created attachment 150695 [details]
fix
Try the attached patch. It also fixes:
- build on DragonFly DPorts
- LIB_DEPENDS to ignore libportaudio.so from audio/portaudio
- LOCALBASE != PREFIX build
the fix works here Created attachment 150732 [details]
patch to py-pyaudio
I decided that the fix from Jann Bleich was fine (was working on a similar one). Both portlint and poudriere complainded about the LIB_DEPENDS line so I replaced in with a somewhat ugly BUILD_DEPENDS version. Thanks for reporting this and the proposed fix. jaap Comment on attachment 150732 [details] patch to py-pyaudio >-LIB_DEPENDS= libportaudio.so:${PORTSDIR}/audio/portaudio2 >+BUILD_DEPENDS= ${LOCALBASE}/include/portaudio2/portaudio.h:${PORTSDIR}/audio/portaudio2 portaudio2 is linked directly, not via dlopen. RUN_DEPENDS is still required to not break runtime for package users. And there's a generic way to depend on package that fits on 80col terminal. BUILD_DEPENDS= portaudio2>0:${PORTSDIR}/audio/portaudio2 RUN_DEPENDS= portaudio2>0:${PORTSDIR}/audio/portaudio2 Comment on attachment 150695 [details] fix Illegal use of LIB_DEPENDS, at least before bug 196109. Please don't forget to update keywords, and set/update flags as issues progress. Maintainer, if you can attach a successful poudriere build, that would be great. Created attachment 151004 [details]
Patch to py-pyaudio
- Improved fix for link problem
- Update to version 0.28
Created attachment 151006 [details] Poudriere build log The poudriere buildlog after applying proposed patch, attachment 151004 [details]. Log requested by Kubilay Kocak (See comment #9). (In reply to Kubilay Kocak from comment #9) > Please don't forget to update keywords, and set/update flags as issues > progress. > > Maintainer, if you can attach a successful poudriere build, that would be > great. Poudrere build is attached A commit references this bug: Author: pawel Date: Thu Jan 1 19:56:46 UTC 2015 New revision: 376027 URL: https://svnweb.freebsd.org/changeset/ports/376027 Log: - Update to version 0.2.8, add LICENSE [1] - Fix build on DragonFly and when LOCALBASE != PREFIX [2] - Make sure to link with audio/portaudio2 [2] PR: 196054 Submitted by: maintainer [1], Jan Beich [2] Changes: head/audio/py-pyaudio/Makefile head/audio/py-pyaudio/distinfo head/audio/py-pyaudio/files/patch-setup.py Committed with small change: LIB_DEPENDS= libportaudio.so.2:${PORTSDIR}/audio/portaudio2 this prevents false library detection in more elegant way. audio/portaudio => libportaudio.so.0 audio/portaudio2 => libportaudio.so.2 Thanks. |