更新された回答:
2019年の時点で、ArchのAURリポジトリを使用することを期待しています(しかし、まだDebianシステム上にあります)。また、FreeBSDでこれを行って、今では小さな(やや些細な)パッチを適用しています。これは「Archへの切り替え」の答えではありません。
最初は設定するのが少し大変でしたが、その要点は、Archのmakepkg
プログラムを実際にコンパイルし、それを使用してDebianでAURリポジトリをコンパイルできることです。私はこれをそのようにした(いくつかの依存関係を忘れているかもしれないが):
私の古い答えは、下部近くのセパレータの後にまだ存在しています。
1)建物makepkg
:
sudo apt-get install bsdtar # pacman depends on bsdtar (libarchive) these days
git clone git://projects.archlinux.org/pacman.git
cd pacman
./configure --sysconfdir=/etc --localstatedir=/var --prefix=/opt/arch # Put built program outside of the usual '/usr/local' when installed to avoid conflicts
make
sudo make install # Install pacman/makepkg
# Make a directory pacman expects to exist to dodge makepkg errors
sudo mkdir -p /var/cache/pacman/pkg
2)GTK3ソースをコンパイルする準備:
次に、をビルドしてインストールしgtk3-typeahead
ます。Archのビルドとほぼ同じである(debian)ビルドの依存関係をすべて取得するには、必要なパッケージを正常に取得deb-src
できるように、最初にsources.listに行を追加apt-get build-dep
する必要があり-dev
ます。
私sources.list
はそれを行うために次の行が含まれています。リリースと最も近いサーバーに基づいて行を変更します。
deb-src http://ftp.us.debian.org/debian/ sid main contrib
3)建物gtk3-typeahead
:
次に、以下を実行してビルドできますgtk3-typeahead
。
sudo apt-get update
sudo apt-get build-dep 'gtk+3.0' # install gtk3 build dependencies
mkdir /path/to/put/arch/git/repo/into
cd /path/to/put/arch/git/repo/into
git clone https://aur.archlinux.org/gtk3-typeahead.git gtk3-typeahead
cd gtk3-typeahead
# Tack onto configure script arguments so that libraries overwrite the official
# Debian ones in /usr/lib/x86_64-linux-gnu, instead of installing to /usr/lib.
# CHANGE THIS APPROPRIATELY IF RUNNING 32-BIT (or some other architecture like POWER/MIPS)
sed '/\-\-sysconfdir=/a\
--libdir=/usr/lib/x86_64-linux-gnu \\' PKGBUILD > PKGBUILD2
mv PKGBUILD2 PKGBUILD
# temporarily add archlinux programs to PATH so we can use 'makepkg'
PATH="/opt/arch/bin:""$PATH"
# Don't check pacman dependencies, since our dependency libraries weren't
# installed via pacman like makepkg expects!
makepkg --nodeps
これを実行すると、バイナリは.tar.gz
gitツリーの1レベル上のアーカイブにパックされます。私の例では、これはinto
ディレクトリになります。
それをインストールするには:
TARBALLPATH="$(readlink -f gtk3-typeahead-*.tar.gz | sort | tail -n 1)" # get full path to tarball of most recent build, if multiple are available
cd /
bsdtar xf "$TARBALLPATH"
これは非常にスクリプティング可能であり、謙虚な意見で私の古いスクリプトを扱うよりも少し簡潔です。また、debianに依存しなくなりました。
元の回答:
GTK3の人々はこの動作をハードコードすることを決定し、再コンパイルせずに元に戻すことはできなかったので、1年が経ちましたが、これでもいらいらします。
ただし、typeaheadはUbuntuで配布されているようにgtk3にパッチが適用されました。
また、Ubuntuは、ファイルが既に選択されている場合にシングルクリックだけを要求するのではなく、ファイルを選択するためにダブルクリックを必要とするファイル選択を行いました。gtk3ソースコードにパッチを適用しても問題ない場合は、ubktu パッチを組み合わせてGTKの最新バージョンに更新するgtk + 3.22.7の時点で機能するパッチを作成しました。
さらに、パッケージマネージャーで最新バージョンのソースを自動的にダウンロードし、パッチを適用してコンパイルする、debianシステム用のスクリプトを作成しました。Debian Sidで正しく実行され、他のDebianディストリビューションでも正常に動作するはずです。