unzipのビルドはできたけれど、毎回手動でやるのもなんなので、自前のPortfileを作って使いやすくする。
macportsの説明を見ると、どこかにディレクトリを作ってPortfileを置いて、/opt/local/etc/macports/sources.conf に書けば良いらしいので、その路線で行く。
また、何か書くたびにいちいちblogを書いてファイルを添付すると言うのもなんなので、githubに置くことにする。
githubのアカウントは既にあるとして、新しいリポジトリmacportsを作成する。
と、その前に、macのsshの公開鍵をgithubのアカウントの設定→SSH公開鍵で追加しておく。
すると、画面に手順が出るので、そのまま実行。
このPortfileでは、オリジナルのunzipにFS#15256 – [unzip] New unzip 6.0 lacks -O -I optionsのパッチをあてたいんだけど、patchをダウンロードするのに「URL/ファイル名」の形式ではなく URL?hoge の形式になっている。
Portfileにpatch関連ので書けるのは patch_sites, patchfiles, patch.argsくらいなので、このようなサイトに対応する方法がわからない。
そこで、苦肉の策として、以下のようにしてみた。
と、言うわけでできたPortfileはgithubにあります。
オリジナルとの変更点は、ここで見られる。
Portfileが書けたら、以下の手順で有効にする。
【追記】
portの実行でportのディレクトリにファイルを置くのは気持ち悪いので、patchのダウンロード先をdistfilesにしてみた。
そしたら、patchfilesに書いても再度取りに行こうとしなくなったので、patchfilesに書いて、sumチェックもできるようになった。
変更点はこんな感じ。
macportsの説明を見ると、どこかにディレクトリを作ってPortfileを置いて、/opt/local/etc/macports/sources.conf に書けば良いらしいので、その路線で行く。
また、何か書くたびにいちいちblogを書いてファイルを添付すると言うのもなんなので、githubに置くことにする。
githubのアカウントは既にあるとして、新しいリポジトリmacportsを作成する。
と、その前に、macのsshの公開鍵をgithubのアカウントの設定→SSH公開鍵で追加しておく。
すると、画面に手順が出るので、そのまま実行。
$ git config --global user.name "" $ git config --global user.email false@wizard-limit.net $ mkdir macports $ cd macports $ git init $ touch README $ git add README $ git commit -m 'first commit' $ git remote add origin git@github.com:false-git/macports.git $ git push -u origin masterそしたら、まずはオリジナルのunzipのPortfileをベースにしたいので、続けて以下のようにする。
$ mkdir archivers $ cd archivers $ mkdir unzip-iconv $ cd unzip-iconv $ cp /opt/local/var/macports/sources/rsync.macports.org/release/ports/archivers/unzip/Portfile . $ cd ../.. $ git add archivers $ git commit -m 'import original unzip portfile'これで準備ができたので、archivers/unzip-iconv/Portfileをエディタで修正する。
このPortfileでは、オリジナルのunzipにFS#15256 – [unzip] New unzip 6.0 lacks -O -I optionsのパッチをあてたいんだけど、patchをダウンロードするのに「URL/ファイル名」の形式ではなく URL?hoge の形式になっている。
Portfileにpatch関連ので書けるのは patch_sites, patchfiles, patch.argsくらいなので、このようなサイトに対応する方法がわからない。
そこで、苦肉の策として、以下のようにしてみた。
- patchfilesは最初は空。
- pre-fetch で curl fetch でパッチファイルを files/ にダウンロードする。
- ダウンロードしたら、patchfilesにパッチファイルを追加する。こうしないと、pre-fetchで持ってきても別途取りに行こうとして失敗する
と、言うわけでできたPortfileはgithubにあります。
オリジナルとの変更点は、ここで見られる。
Portfileが書けたら、以下の手順で有効にする。
- /opt/local/etc/macports/sources.confにportsを置いたディレクトリを追加。
file:///Users/false/macports
- portsを置いたディレクトリで、portindexを実行する。
【追記】
portの実行でportのディレクトリにファイルを置くのは気持ち悪いので、patchのダウンロード先をdistfilesにしてみた。
そしたら、patchfilesに書いても再度取りに行こうとしなくなったので、patchfilesに書いて、sumチェックもできるようになった。
変更点はこんな感じ。
カテゴリ
Macトラックバック(0)
このブログ記事を参照しているブログ一覧: macportsのPortfileを書く
このブログ記事に対するトラックバックURL: https://www.wizard-limit.net/cgi-bin/mt/mt-tb.cgi/2620
コメントする