pockestrap

Web Programmer's memo

Arch Linuxで最新のVimをパッケージ化した

最新のVimを使いたかったのですがPacmanでは最新でないVimしかなかったため、自分で最新のものをパッケージにしました。

PKGBUILD を落とす

まずは、PKGBUILDが必要です。yaourtabsで落としてきましょう。

$ yaourt -G vim
$ cd vim

# もしくは

$ sudo abs
$ cp /var/abs/extra/vim/ ./
$ cd vim

PKGBUILD を編集する

こんな感じに編集します

--- vim/PKGBUILD 2014-07-26 07:06:55.215774672 +0900
+++ vim-latest/PKGBUILD   2014-07-26 15:25:46.533908299 +0900
@@ -6,8 +6,8 @@
 pkgbase=vim
 pkgname=('vim' 'gvim' 'gvim-python3' 'vim-runtime')
 _topver=7.4
-_patchlevel=373
-__hgrev=32a77cc160d9
+_patchlevel=383
+__hgrev=7b2d05a51e76
 _versiondir="vim${_topver//./}"
 pkgver=${_topver}.${_patchlevel}
 pkgrel=1
@@ -15,13 +15,11 @@
 license=('custom:vim')
 url="http://www.vim.org"
 makedepends=('gpm' 'python2' 'python' 'ruby' 'libxt' 'desktop-file-utils' 'gtk2' 'lua')
-source=("ftp://ftp.archlinux.org/other/vim/vim-${pkgver}.tar.xz"
-        "ftp://ftp.archlinux.org/other/vim/vim-${pkgver}.tar.xz.sig"
+source=("vim-${pkgver}.tar.xz"
         'vimrc'
         'archlinux.vim'
         'gvim.desktop')
-md5sums=('74493914d81495f3cc6423d33a3de50d'
-         'SKIP'
+md5sums=('SKIP'
          'b9d4dcb9d3ee2e151dc4be1e94934f6a'
          '10353a61aadc3f276692d0e17db1478e'
          'd90413bd21f400313a785bb4010120cd')
@@ -49,10 +47,10 @@
   tar -cJf ${pkgname}-${pkgver}.tar.xz ${pkgname}-${pkgver}/*
   rm -r ${pkgname}-${pkgver}
 
-  gpg --detach-sign ${pkgname}-${pkgver}.tar.xz
+  # gpg --detach-sign ${pkgname}-${pkgver}.tar.xz
 
-  scp ${pkgname}-${pkgver}.tar.xz nym:/srv/ftp/other/vim/
-  scp ${pkgname}-${pkgver}.tar.xz.sig nym:/srv/ftp/other/vim/
+  # scp ${pkgname}-${pkgver}.tar.xz nym:/srv/ftp/other/vim/
+  # scp ${pkgname}-${pkgver}.tar.xz.sig nym:/srv/ftp/other/vim/
 }
 
 build() {

_patchlevel__hgrevを、パッケージングしたいバージョンに変更しましょう。

また、if_luaが欲しかったりしたら適宜編集してください。

vimのソースを落としてくる

vimのソースをローカルに落としてきます。

$ bash
$ soruce PKGBUILD && mksource
$ exit

パッケージを作成、インストール

$ makepkg -s
$ sudo pacman -U vim*.pkg.tar.xz 

特に変わったことはしていません。


vim-hgからいれてもよいかなーと思いましたが、vimのパッケージとは若干違いがありそうなので見送りました。