pkgconfのpkgconfigとの互換性

あけましておめでとうございます

さて、古典的な pkg-config(http://pkgconfig.freedesktop.org/wiki/) の 代わりとして、 pkgconf というものがある https://github.com/pkgconf/pkgconf

例えば Gentoo だと、 virtual/pkgconfig がインストールされていると pkg-config が入っていると認識される。 その pkg-config の実体を何にするかの選択肢は

  • dev-util/pkgconfig (もともとの`pkg-config`。 GPL ライセンス)

  • dev-util/pkgconf (BSD 1条項ライセンス)

  • dev-util/pkgconfig-openbsd (ISC ライセンス。GNU を徹底的に疎外したいOpenBSD版)

このライセンスの相異を見れば、 賢明な人の多くは GPL ライセンスが良いのは判っているから、 `dev-util/pkgconfig`を選ぶだろう。 それにその方が互換性としても確実だ

ちなみに Funtoo だと、 dev-util/pkgconf の一択である。選択の余地はない。 この点は酷いと思う https://github.com/funtoo/ports-2012/tree/funtoo.org/virtual/pkgconfig

dev-util/pkgconfpkg-config としてインストールするには、 USE="pkg-config" を要する。 言い換えれば dev-util/pkgconf[pkg-config] をインストールする。 そうすると何が起こるかというと、/usr/bin/pkg-config にシンボリックリンクを張る このシンボリックリンクを張るという解決策が、良くない

export PKG_CONFIG=/usr/bin/pkgconf が適切である。 つまり envvar で明示する

順って、どこかにこの export を為込まなければならぬ。 例えば Portage であれば /etc/portage/bashrc に書くのがよいだろう。 また求めるならば、シェルなどにおいても export をしてもよい

この envvar は、configure スクリプトなどが読み込むので、 適切に処理されるはずである

課題を整頓するとつまり

  • Gentoo の dev-util/pkgconf は、「export すべし」と情報公開でもすべきである

  • Funtoo は pkgconf 一択を撤回すべきである

  • ユーザは、 dev-util/pkgconfig を用いるのが無難である

公開日時:

wjn's repos' info.

  Japenese , English