gecodeをCygwin向けにパッケージ化してみる
http://qiita.com/yositani2002/items/6e9b765452676a40a2ef
こちらでBerkshlelfのv3系を使いたいが為に,gecodeをソースインストールしました。
ソースインストールにはかなり時間がかかりますので、パッケージが無いのか探してみました。
Cygwinには標準のレポジトリ以外に、cygportというレポジトリがあるようです。
cygportで以下のように探してみましたが、gecodeやlibgecodeを探しても見つかりませんでした。
##設定を有効化
$ 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のサーバーに展開し、以下のようにすれば導入できるかと思います。
$ 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
以下はレポジトリからとってきてパッケージ化する流れです。
//依存パッケージは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のインストールは最短コースだとこうなるかと思います。
$ 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
うまくいったでしょうか。
Author And Source
この問題について(gecodeをCygwin向けにパッケージ化してみる), 我々は、より多くの情報をここで見つけました https://qiita.com/yositani/items/44bdd70f51d21313e2d0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .