screen 對我們這些比較愛用 PuTTY/PieTTY 的人來說是個很方便的東西,但是因為 big5 本身的爛問題所以就算支援 UTF-8 也讓人不太想用 (utf8)。之前 rafan 把 mhsin 的 cjk-width patch 丟進去 ports 裡面了,所以 ports 裡面的 screen 只要加個 uao-patch 應該就會很符合我的需要了。
但是對於用習慣 portupgrade 的我來說,每次裝 screen 都要來個 make extract 然後自己去 patch code 實在很麻煩,mhsin 長輩又說這種東西很難弄到 official ports 裡面 (阿我就說開個 chinese/screen 咩),所以我就想到在 pkgtools.conf 裡面的 BEFOREINSTALL 動手腳。
pkgtools.conf 是個給 pkg-tools 用的檔案,裡面的設定也會影響到 portupgrade 等工具的運作。我的作法就是在 BEFOREBUILD 的地方加上這段:
BEFOREBUILD = {
'sysutils/screen' => 'make clean extract ; cd work/' + deorigin('sysutils/screen') + '/ ; patch -p0 < /home/chiouss/ports_patches/screen/screen-4.0.2-uao.diff ; cp /home/chiouss/ports_patches/screen/18 utf8encodings/',
}
因為 BEFOREBUILD 是還沒 extract 的時候就會執行,所以只好幫它 make extract 啦 :P
這樣子弄好以後只要 screen-4.0.2-uao.diff 還會 work 這個 patch 都會在 portupgrade 的時候自己執行,不過我還是希望趕快來個 zh-screen 吧!這樣才是正解阿 XD