cygportを作ってみる
一個前のspidermonkeyでcygportを作ってみた。
手順。
ソースのURIを見つける。
http://ftp.mozilla.org/pub/mozilla.org/js/js-1.8.0-rc1.tar.gz
ソース名からcygportの名前を決めて作成開始。
js-1.8.0-rc1.tar.gz
から
js-1.8.0-rc1.cygportと名づける。
命名規則は
package-version-release.cygport
(アーカイブ名にreleaseが含まれない場合は1などを適当につける)
js-1.8.0-rc1.cygport
SRC_URI="http://ftp.mozilla.org/pub/mozilla.org/js/js-1.8.0-rc1.tar.gz"
download
$ cygport js-1.8.0-rc1.cygport download
ソースファイルがカレントにダウンロードされる。
prep
ソース展開
$ cygport js-1.8.0-rc1.cygport prep
エラーが出る。
cygportは
package-version
という名のディレクトリができることを期待しているが
js-1.8.0-rc1.tar.gz
は解凍すると
js
に展開されるので調整してやる。
SRC_URI="http://ftp.mozilla.org/pub/mozilla.org/js/js-1.8.0-rc1.tar.gz" SRC_DIR="js"
ソース展開
$ cygport js-1.8.0-rc1.cygport prep
$ ls js-1.8.0-rc1
CYGWIN-PATCHES@ build/ config/ dist/ inst/ log/ patch/ spkg/ src/ temp/
autoconfを使う場合やパッチ当てがある場合はここに仕込むが
Spidermonkeyは無いのでそのまま。
compile
cygport js-1.8.0-rc1.cygport
SRC_URI="http://ftp.mozilla.org/pub/mozilla.org/js/js-1.8.0-rc1.tar.gz" SRC_DIR="js" src_compile() { lndirs # ${B}はjs-1.8.0-rc1/build cd ${B}/src make -f Makefile.ref OS_ARCH=Linux LD=gcc BUILD_OPT=1 }
$ cygport js-1.8.0-rc1.cygport compile
install
ここでは実際にインストールされずに
js-1.8.0-rc1/inst/
をルートとして展開される。
cygport js-1.8.0-rc1.cygport(いちおう完成)
SRC_URI="http://ftp.mozilla.org/pub/mozilla.org/js/js-1.8.0-rc1.tar.gz" SRC_DIR="js" # makeだけでいい場合は書かなくてもいい src_compile() { lndirs cd ${B}/src make -f Makefile.ref OS_ARCH=Linux LD=gcc BUILD_OPT=1 } # make installだけでいい場合は書かなくてもいい src_install() { cd ${B}/src/Linux_All_OPT.OBJ insinto /usr/local/bin doins js.exe doins jscpucfg.exe doins jskwgen.exe cp libjs.so libjs.dll doins libjs.dll insinto /usr/local/lib doins libjs.a }
$ cygport js-1.8.0-rc1.cygport install
package
最後に
$ cygport js-1.8.0-rc1.cygport package
とするとアーカイブ
js-1.8.0-rc1-src.tar.bz2, js-1.8.0-rc1.tar.bz2
ができる。
ちゃんとインストールする別の方法があるような気がするが
とりあえず
$ cd /
$ tar jxf /usr/src/js-1.8.0-rc1.tar.bz2
以上で完了。