2015年11月14日土曜日

KiCad4.0RC2

KiCad4.0RC2が出ました。
buildしたのでイメージをKiCad4.0RC2.dmgに置いておきます。

標準のbuildとは下記の点が異なっています。
- TrackPad/MagicMouseの動作をMacの標準的な動作に変更しています
- /Library/Application Support/kicad/internatが読まれてないので検索パスを追加しています
- fontを日本語対応のものに差し替えています

イメージをダウンロードして開くとkicadアプリケーションとkicadディレクトリがあります。
kicad.appは/Applications
kicadは/Library/Application\ Support
にそれぞれコピーします。
(finderで開いた時の矢印のとおりにDrag&Dropして下さい)

最初の1回めは開発元が未確認のため開けませんと言われてしまうので、/Applicationフォルダを開いてKiCadを右クリックし「開く」を選択して、ダイアログボックスの「開く」を選択すると起動します。

変更の詳細とbuildの手順を以下のとおりです。
今回はKiCadのbuildよりもOS X El Capitanに入れ替えた影響で色々とはまってしまいました。

変更内容はRC1の時にも書きましたが、もう一度書いておきます。

build済みはNightlyBuildがhttp://downloads.kicad-pcb.org/osx/にありますが、TrackPad/MagicMouseの使い勝手がMacの標準的な使い方とあっていません。
具体的にはTrackPadならピンチで拡大・縮小、2本指の操作で指を動かす方向にスクロール、MagicMaouseなら1本指で指を動かした方向にスクロールというのが標準的な使い方かと思います。(人によっては異論があるかもしれませんが、私はこれに慣れてしまっています)
NightlyBuildの方はTrackPadのピンチは効かず、2本指の操作で拡大/縮小、MagicMouseの1本指の操作も拡大/縮小になっています。
これはWindowsマウスのホイール動作に拡大/縮小が割り当てられているためと思われますが、クリック感があり上下にしか動かないホイールの動作とTrackPad/MagicMouseの360°操作では使い勝手が大きく違って、何をするにも画面が大きく拡大/縮小されてしまって使い物になりません。
仕方がないので自分でbuildします。

幸いなことに、この件に関するpatchがKiCadの中に既に含まれていて必要なpatchを当ててbuildしてくれるscriptが用意されています。
以前~gcorral/kicad/osx-trackpad-gesturesというbranchで進んでいたOSXのtrackpad対応が入っているようです。
これでbuildしてみて実行してみましたが、どうも以前のようにうまく行きません。
TrackPadのピンチで拡大/縮小が出来るようになっているのですが、2本指での操作でも拡大/縮小になってしまいます。MagicMouseの方も同様です。
osx-trackpad-gesturesと4.0のツリーを比較してみると関係ありそうな所が数箇所あったので修正してみました。
後々の為にpatchにしておきます。(あとでbuildの詳細でやり方を説明します)
これでbuildすると、当初の目論見どおり2本指の操作でスクロール、MagicMouseでもスクロールに出来ました。
さらに基板に日本語でシルクを入れられるように日本語フォント対応も追加します。
Windows環境が必要ですが、ここの手順どおりで日本語フォントを含んだnewstroke_font.cppを作成出来ます。
 http://wiki.kicad.jp/日本語フォントのマージ手順

ここまででひと通り準備が整ったので、以下buildの詳細手順です。

最初に面倒くさいところからやっていきます。
1.brewの対応のための/usr/local/の作成(これは既にbrewをinstallされてれば存在しているので不要です)
2.boostのbuildの対応のために/usr/libにsymbolic-linkを貼ります
こちらは/usr/libに幾つかdylibが存在しないためエラーになるための対応です。

El Capitanの場合、通常は/usr以下はroot権限でも書込みできません。
そのため以下の手順で一旦書き込みできる状態にして、変更後に書き込みできない状態に戻します。

⌘-Rを押しながら再起動してリカバリーモードに入ります。
ユーティリティのTerminalを起動し
# csrutil disable
を設定し再起動
# sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/lib/*.dylib /usr/lib
でsymbolic linkを作成
もし/usr/local/を作ってない場合は作成します。
# sudo mkdir /usr/local
# sudo chown $(whoami):admin /usr/local
一応セキュリティリスクを減らすためにrootlessをenableに戻します。
再度⌘-Rを押しながら再起動し
Terminalで
# csrutil enable
にもどして再起動

以下はXcodeとCommandLineTools、brewが入っている前提で書きますので無い場合は入れて下さい。

まずはbrewを最新の状態にして必要な物をinstallします。
# brew update
# brew upgrade
# brew install cmake bzr glew cairo swig openssl

bzrに自分の名前とメールアドレスを設定します。
# bzr whoami '自分の名前 <name@example.net>'

適当なところにKiCad build用のdirectoryを掘ります。
# mkdir KiCad4.0
# cd KiCad4.0

KiCad 4.0のソースコード入手
# bzr branch lp:kicad/4.0

wxPythonソースコード入手
http://www.wxpython.org/download.php#source
から下の方にあるwxPython-srcのlinkをたどってtar-ballを取得し先ほどのdirectoryに移動し展開します。ブラウザで辿ってもいいですが下記で取得できます。
# curl -O http://jaist.dl.sourceforge.net/project/wxpython/wxPython/3.0.2.0/wxPython-src-3.0.2.0.tar.bz2
# tar xjvf wxPython-src-3.0.2.0.tar.bz2

展開されたdirectory名を変更しておきます。
# mv wxPython-src-3.0.2.0 wx-src

kicad4.0rc2_macosx_patch.tgzをダウンロードして先ほどのdirectoryに移動し展開します。


kicad_macosx_scroll.patch
kicad_macosx_internat.patch
newstroke_font.cpp_j
の3のつのファイルができます。

TrackPad、MagicMouseのスクロール対応とEl Capitan対応
# cd 4.0
# patch -p0 < ../kicad_maxosx_scroll.patch

このpatchで
common/draw_panel.cpp
common/view/wx_view_controls.cpp
scripts/osx_build_wx.sh
の3つのファイルを修正しています。

/Library/Application Support/kicad/internatのパスを検索していないようなので修正
# patch -p0 < ../kicad_macosx_internat.patch

このpatchで
common/pgm_base.cpp
のファイルを修正しています。

日本語フォント対応
# cp ../newstroke_font.cpp_j common/newstroke_font.cpp

更になぜか私の環境ではbzr-svnで/Library/Python/2.6/site-packages/subvertpy/client.soを呼び出しているところでrpathが設定されておらず下のようなエラーが発生します。

bzr: ERROR: Unable to import library "subvertpy": bzr-svn: Unable to load subvertpy extensions: dlopen(/Library/Python/2.6/site-packages/subvertpy/client.so, 2): Library not loaded: @rpath/lib/libsvn_diff-1.0.dylib
  Referenced from: /usr/lib/libsvn_client-1.0.dylib
  Reason: image not found

これは私の環境だけかもしれないのでエラーが出たら以下の対処をして下さい。
/Library/Python/2.6/site-packages/subvertpy/client.soに細工をします。
# cd /Library/Python/2.6/site-packages/subvertpy
戻せるようにbackupをとって
# sudo cp client.so client.so_org
client.soにrpathを/usrとして追加
# sudo install_name_tool -add_rpath /usr client.so
これでbzr-svnのエラーが出なくなります。

次にwxPythonのbuildです。結構時間がかかります。
# sh scripts/osx_build_wx.sh ../wx-src ../wx-bin ./ 10.11 -j4
# cd ..

kicad本体のbuild。こちらもかなり時間がかかります。
# mkdir build
# cd buld
# cmake ../4.0 \
      -DCMAKE_C_COMPILER=clang \
      -DCMAKE_CXX_COMPILER=clang++ \
      -DCMAKE_OSX_DEPLOYMENT_TARGET=10.11 \
      -DPYTHON_EXECUTABLE=`which python` \
      -DKICAD_SCRIPTING=ON \
      -DKICAD_SCRIPTING_MODULES=ON \
      -DKICAD_SCRIPTING_WXPYTHON=ON \
      -DwxWidgets_CONFIG_EXECUTABLE=../wx-bin/bin/wx-config \
      -DPYTHON_SITE_PACKAGE_PATH=`pwd`/../wx-bin/lib/python2.7/site-packages \
      -DCMAKE_INSTALL_PREFIX=../bin \
      -DUSE_IMAGES_IN_MENUS=ON \
      -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl \
      -DCMAKE_BUILD_TYPE=Release
# make
# make install
# cd ..

次にその他のリソースをNightlyBuildから持ってきて無理やりパッケージし直します。
http://downloads.kicad-pcb.org/osx/のRC2相当はkicad-r6303なのでこれをダウンロードしてマウントします。

# curl -O http://downloads.kicad-pcb.org/osx/kicad-r6303.20151109-045453.dmg

そのままではReadOnlyなのでRW出来るように変換します。

# hdiutil convert kicad-r6303.20151109-045453.dmg -format UDSP -o kicad-r6303.sparseimage
# hdiutil attach kicad-r6303.sparseimage

アプリケーション本体を置き換えるため大文字のKiCadディレクトリを削除します。
# rm -rf /Volumes/KiCad/Kicad
finder上の位置合わせをconsoleからできないのでfinderでbin/KiCad.appを開いているKiCad Volume上のKiCadディレクトリがあったところにコピーします。

フォルダを開いたままの状態でdiskimageをdetachします。
# hdiutil detach /Volumes/KiCad

イメージの未使用領域を開放します。
# hdiutil compact kicad-r6303.sparseimage

最終的なReadOnly圧縮イメージに変換します。
# hdiutil convert kicad-r6303.sparseimage -format UDZO -o KiCad4.0RC2.dmg

このイメージが一番上のほうに置いてあるイメージになります。

0 件のコメント:

コメントを投稿