17
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MSYS2上で動作するnkfコマンドのパッケージを作成する

Posted at

【はじめに】

MSYS2環境を作成した後に真っ先にインストールするのは大抵 nkfコマンドなわけですが、ソースコードの場所を探して、ダウンロードしてビルドして・・・といった作業を毎回おこなうのが面倒になってきたので個人的にパッケージ化しました。ということでPKGBUILDファイルをさらします。

ビルド自体はMSYS2環境でもMINGW環境でも通ると思います。(私はMSYS2のシェル以外から動作させる気があまりないのでMSYS2側でパッケージ化しております。)

【ビルドスクリプト】

こんな感じです。コピペして PKGBUILD というファイル名で保存して使ってください。

PKBGUILD
name='nkf'

pkgname="${name}"
pkgver='2.1.3'
pkgrel='1'
pkgdesc="Network Kanji Filter"
arch=('i686' 'x86_64')
url="http://sourceforge.jp/projects/nkf/"
license=('ZLIB')
source=(
  "${name}::git://git.sourceforge.jp/gitroot/${name}/${name}.git#tag=v2_1_3"
)
md5sums=(SKIP)

build() {
  cd "${srcdir}/${name}"
  make CC=gcc
}

check() {
  cd "${srcdir}/${name}"
  make test
}

package() {
  mkdir -p "${pkgdir}/usr/bin"
  cd "${srcdir}/${name}"
  cp nkf.exe "${pkgdir}/usr/bin/"
}

【パッケージの作成】

PKGBUILDファイルを置いた場所に移動して、makepkgコマンド叩くだけです。

非常に当たり前の話ですが、BUILD環境は必須です。

 $ makepkg
==> パッケージを作成: nkf 2.1.3-1 (2015年 1月 1日 木曜日 12:34:56    )
==> ランタイムの依存関係を確認...
==> ビルドタイムの依存関係を確認...
==> ソースを取得...
  -> nkf git リポジトリを更新...
Fetching origin
==> md5sums でソースファイルを検証...
    nkf ... スキップ
==> ソースを展開...
  -> nkf git リポジトリの作業コピーを作成...
Reset branch 'makepkg'
==> 既存の $pkgdir/ ディレクトリを削除...
==> build() を開始...

(略)

==> package() を開始...
==> インストールを整理...
  -> 不要なファイルを削除...
  -> libtool ファイルを削除...
  -> man と info ページを圧縮...
  -> バイナリとライブラリから不要なシンボルを削除...
==> パッケージを作成 "nkf"...
  -> .PKGINFO ファイルを生成...
  -> .MTREE ファイルを生成...
  -> パッケージの圧縮...
==> 作成完了: nkf 2.1.3-1 (2015年 1月 1日 木曜日 12:34:57    )

これでパッケージファイル( nkf-2.1.3-1-**.pkg.tar.xz )が出来ると思うので、煮るなり焼くなりインストールするなりしてください。

17
14
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?