2014-12-28 5 views
1

Homebrew formula for gtk-mac-integration을 생성하려고합니다. bindings/python/gtkosx_application에서 만들어 실행하면 실패 메이크 파일이 잘못된 위치에 h2def.py 파일을 찾을하려고하기 때문에autotools 및 pkg-config를 사용하여 pkg-config 패키지의 데이터 파일을 참조하는 방법은 무엇입니까?

/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: can't open file '/usr/local/Cellar/gtk-mac-integration/2.0.7/share/pygobject/2.0/codegen/h2def.py': [Errno 2] No such file or directory 
make[3]: *** [gtkosx_application.defs] Error 2 

이것은 다음에 $(datadir) 포인트 :이 실패한 이유

gtkosx_application.defs: $(headers) 
     $(PYTHON) $(datadir)/pygobject/2.0/codegen/h2def.py $(headers) > [email protected] 

그것은 나에게 분명하다 설치 될 패키지의 공유 디렉토리 (gkt-mac-integration). Homebrew는 모든 패키지를 자신의 접두사 (/usr/local/Cellar/...)에 설치하기 때문에 gtk-mac-integration 및 pygobject와 동일하지 않습니다.

나는 pygobject 데이터 디렉토리가

pkg-config --variable=datadir pygobject-2.0 

내가 올바른 수정 위의 문자열로 메이크에 datadir을 대체하는 것입니다 생각하지 않습니다 사용하여 위치를 찾을 수 알아? 이 작업을 올바르게 수행하려면 configure.acMakefile.am을 어떻게 조정해야합니까?

+0

가능한 [autotools를 통한 pkg-config 변수 쿼리] (http://stackoverflow.com/questions/21664473/quest-pkg-config-variable-through-autotools) –

답변

0

예, 빌드 시스템의 버그처럼 들립니다.

inreplace 기능을 사용하여 패치 할 수 있습니다. def install 후이 삽입 :

inreplace %w[bindings/python/gtkmacintegration/Makefile.am bindings/python/gtkmacintegration/Makefile.in bindings/python/gtkosx_application/Makefile.am bindings/python/gtkosx_application/Makefile.in], '$(datadir)/pygobject', | %x[pkg-config --variable=datadir pygobject-2.0].chomp + '/pygobject'

(나는이 밖으로 시도 공식은 그 후 빌드..)

당신이 상류를보고해야합니다. 그들은 configure 스크립트에서 이것을 분류하기 위해 빌드 시스템을 변경해야합니다.

+0

패치가 이미 제출되어 허용되었습니다. :) –