Risposta aggiornata:
A partire dal 2019, da allora sono passato all'utilizzo del repository AUR di Arch (ma ancora sul mio sistema Debian ). L'ho fatto anche su FreeBSD, ora, con una piccola (piuttosto banale) patch. Questa NON è una risposta "passa ad Arch".
Inizialmente è stato un po 'difficile da configurare, ma l'essenza è che puoi effettivamente compilare il makepkg
programma Arch e usarlo per compilare repository AUR su Debian. L'ho fatto in questo modo (anche se potrei aver dimenticato alcune dipendenze):
La mia vecchia risposta è ancora presente dopo il separatore vicino al fondo.
1) Edificio 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) Preparazione alla compilazione delle fonti GTK3:
Ora, per compilare e installare gtk3-typeahead
. Per ottenere tutte le dipendenze di compilazione (debian), che sono più o meno le stesse di quelle di Arch, devi prima avere una deb-src
riga nel tuo sources.list in modo da apt-get build-dep
recuperare con successo i -dev
pacchetti necessari .
My sources.list
contiene la seguente riga per farlo. Modificare la riga in base alla versione e al server più vicino.
deb-src http://ftp.us.debian.org/debian/ sid main contrib
3) Edificio gtk3-typeahead
:
Quindi, è possibile eseguire quanto segue per compilare 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
Dopo aver fatto ciò, i binari saranno raggruppati in un .tar.gz
archivio a un livello sopra l'albero git. Nel mio esempio, questa sarebbe la into
directory.
Per installarlo:
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"
Questo è altamente scrivibile, e un po 'meno raffinato rispetto a gestire i miei vecchi script secondo la mia modesta opinione. Inoltre, non dipende più da Debian.
Risposta originale:
È passato un anno e questo mi infastidisce ancora, dal momento che la gente della GTK3 ha deciso di codificare questo comportamento, senza alcun modo per ripristinarlo senza ricompilare.
Tuttavia, typeahead è stato ripristinato a gtk3 come distribuito in Ubuntu.
Ubuntu ha anche richiesto al selettore di file di richiedere un doppio clic per scegliere un file, invece di richiedere un solo clic se il file era già selezionato. Se stai bene con l'applicazione di patch al codice sorgente gtk3, ho creato una patch che funziona da gtk + 3.22.7 combinando le patch di Ubuntu e aggiornandole con una versione più attuale di GTK.
Inoltre, ho creato uno script per il mio sistema debian che scarica automaticamente l'origine dell'ultima versione nel gestore pacchetti, lo aggiusta e lo compila. Funziona correttamente su Debian Sid e dovrebbe funzionare bene anche per altre distribuzioni Debian.