dwm, sterm ve dmenu programlarının kaynak kodları /usr/ports/
dizininde bulunması gerek. /usr/ports/
ağacı sizde yüklü değil ise aşağıdaki komutla git kullanarak yükleyin.
git clone -b 2024Q1 --single-branch https://git.freebsd.org/ports.git /usr/ports/
dwm
dwm, /usr/ports/x11-wm/dwm/
dizininde bulunuyor. Aşağıdaki komut ile programın kaynak kodunu work
dizinine çıkartalım.
make extract
Çıkartılan dizinin içine girelim.
cd work/dwm-6.4/
Patch oluşturacağımız dosyanın yedeğini alalım.
cp config.def.h config.def.h.orig
Dosyayı düzenleyelim.
$EDITOR config.def.h
Düzenledikten sonra patch dosyası oluşturalım ve /usr/ports/x11-wm/dwm/files
klasörüne atalım. Patch dosyaları patch
prefixi ile başlamalıdır.
diff -Naur config.def.h.orig config.def.h > ../../files/patch-ornekpatch
work
dizininden çıktıktan sonra kaynak kodunu temizleyin.
cd ../../
make clean
Artık dwm programını derleyebilirsiniz.
make install clean
dwm için oluşturulan patchler nasıl uygulanır
cd /usr/ports/x11-wm/dwm/
make clean && make extract
cd work/dwm-6.4/
patches bağlantısından istediğiniz patchi indirin.
fetch https://dwm.suckless.org/patches/fullgaps/dwm-fullgaps-6.4.diff # örnek patch
İndirdiğiniz patch hangi dosyalarda düzenleme yapıyorsa o dosyaların orijinal yedeğini alın. Örnek patch, config.def.h
ve dwm.c
dosyalarında değişiklik yapıyor.
cp config.def.h config.def.h.orig
cp dwm.c dwm.c.orig
patch < dwm-fullgaps-6.4.diff
patch
komutundan sonra failed
çıktıları görürseniz patch başarısız olmuş demektir, succeeded
yazıları başarılı demektir. Şimdi patchi oluşturun.
diff -Naur config.def.h.orig config.def.h > patch-1
diff -Naur dwm.c.orig dwm.c > patch-2
cat patch-1 patch-2 > ../../files/patch-fullgaps
cd ../../
make clean
make install clean # dwm hali hazırda kuruluysa install yerine reinstall kullanın.
dwm için uygulanan süreç diğer programlar (sterm, dmenu) için de geçerlidir.
Ports ağacında bir portun nerede olduğunu bulmak için aşağıdaki komutu kullanabilirsiniz.
% whereis neofetch
neofetch: /usr/ports/sysutils/neofetch
Son düzenleyen: @nxjoseph 2024-12-01T15:00:18Z