LoginSignup
8
8

More than 5 years have passed since last update.

gecodeをCygwin向けにパッケージ化してみる

Last updated at Posted at 2014-07-16

http://qiita.com/yositani2002/items/6e9b765452676a40a2ef
こちらでBerkshlelfのv3系を使いたいが為に,gecodeをソースインストールしました。
ソースインストールにはかなり時間がかかりますので、パッケージが無いのか探してみました。

Cygwinには標準のレポジトリ以外に、cygportというレポジトリがあるようです。
cygportで以下のように探してみましたが、gecodeやlibgecodeを探しても見つかりませんでした。

bash
##設定を有効化
$ apt-cyg update -m ftp://ftp.cygwinports.org/pub/cygwinports
# 名前で検索
$ apt-cyg find gecode*
$ apt-cyg find libgecode*
##元のレポジトリに戻し
$ apt-cyg update -m  ftp://ftp.jaist.ac.jp/pub/cygwin/

名前が同じで紛らわしいですが、自分でパッケージをつくるビルドツールとしてのcygportというコマンドがあるようです。

今回はそのビルドツールとしてのcygportでgecode-3.7.3をパッケージ化し、配布できるようにしてみました。

出来上がったものだけで、ビルドツールに興味ないという方は以下のファイルを解凍の上、
ftpかhttpのサーバーに展開し、以下のようにすれば導入できるかと思います。

bash
$ wget https://bitbucket.org/yositani2002/cygport-gecode/downloads/x86_64.tar.gz
$ tar xzvf x86_64.tar.gz
$ mv x86_64 <公開ディレクトリ>
$ apt-cyg update -m  {ftp,http}://<公開しているサーバー>/
$ apt-cyg install gecode
//レポジトリ戻し
$ apt-cyg update -m  ftp://ftp.jaist.ac.jp/pub/cygwin/

以下は自力でパッケージ化する場合の話になります。

本家マニュアル
https://cygwin.com/cygport/manual.html
http://www.cygwin.com/cygport/README

参考にしたサイト
http://fd0.hatenablog.jp/entry/2014/01/26/002816

以下はレポジトリからとってきてパッケージ化する流れです。

bash
//依存パッケージはREADMEのREQUIREMENTSを参照ください。
$ apt-cyg install cygport gettext gettext-devel ..
$ cd /usr/src
$ git clone https://bitbucket.org/yositani2002/cygport-gecode.git
$ cd cygport-gecode
$ cygport gecode fetch
//一つづついく場合
$ cygport gecode prep
$ cygport gecode make
$ cygport gecode check
$ cygport gecode install
$ cygport gecode package
//またはprepからpackageまで一括でやる場合
$ cygport gecode all

treeコマンドがなかったのでDOS窓から。

C:\cygwin64\usr\src\gecode-3.7.3.x86_64>tree dist /F
フォルダー パスの一覧
ボリューム シリアル番号は 32A1-7B09 です
C:\CYGWIN64\USR\SRC\GECODE-3.7.3.X86_64\DIST
└─gecode
    │  gecode-3.7.3-src.tar.xz
    │  gecode-gecode-3.7.3-3.7.3.tar.xz
    │  setup.hint
    │
    └─gecode-debuginfo
            gecode-debuginfo-gecode-3.7.3-3.7.3.tar.xz
            setup.hint

geniniコマンドはperlのスクリプトです。cygwinの本家にあります。
以下の手順で、dist配下が公開されている状態を想定しています。。

$ cp -R gecode /var/www/dist/x86_64/release/
$ cd /var/www/dist
$ genini --recursive x86_64 | bzip2 -c > x86_64/setup.bz2

以上でパッケージの作成と公開が終了です。
これで例えば、berkshelfのインストールは最短コースだとこうなるかと思います。

bash
$ apt-cyg update -m  http://<ホスト>/<パス>
$ apt-cyg install gecode
//戻し
$ apt-cyg update -m  ftp://ftp.jaist.ac.jp/pub/cygwin/
$ USE_SYSTEM_GECODE=1 gem install berkshelf

うまくいったでしょうか。

8
8
0

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
8
8