Kicad 5.1.11 Windowsビルド

久しぶりに Kicad のWindowsビルドを実行してみました。
しかしダメダメ・・・MSYS2 の環境構築で止まってしまいます。
どうにもならんので手動でビルド試してみました。

最終的に

-DKICAD_SCRIPTING_WXPYTHON=OFF

にして WxPython 諦めたらパッケージはできました。
手順は

git clone https://gitlab.com/kicad/packaging/kicad-win-builder.git

で取得。
とりあえず make_all.bat 実行。
エラーでまくって停止するので MSYS2 を別にダウンロードしてきてフォルダ丸ごと入れ替え。
msys2 のシェル起動して

pacman --noconfirm -S base-devel

環境出来上がったら

pacman --noconfirm -S git make doxygen

pacman --noconfirm -S \
mingw-w64-i686-toolchain \
mingw-w64-i686-boost \
mingw-w64-i686-cairo \
mingw-w64-i686-curl \
mingw-w64-i686-glew \
mingw-w64-i686-openssl \
mingw-w64-i686-wxPython \
mingw-w64-i686-wxWidgets \
mingw-w64-i686-cmake \
mingw-w64-i686-gcc \
mingw-w64-i686-python2 \
mingw-w64-i686-python2-pip \
mingw-w64-i686-pkg-config \
mingw-w64-i686-swig \
mingw-w64-i686-libxslt \

pacman --noconfirm -S \
mingw-w64-x86_64-toolchain \
mingw-w64-x86_64-boost \
mingw-w64-x86_64-cairo \
mingw-w64-x86_64-curl \
mingw-w64-x86_64-glew \
mingw-w64-x86_64-openssl \
mingw-w64-x86_64-wxPython \
mingw-w64-x86_64-wxWidgets \
mingw-w64-x86_64-cmake \
mingw-w64-x86_64-gcc \
mingw-w64-x86_64-python2 \
mingw-w64-x86_64-python2-pip \
mingw-w64-x86_64-pkg-config \
mingw-w64-x86_64-swig \
mingw-w64-x86_64-libxslt

完了したらアップデート

pacman --noconfirm -Su

あとは環境変数設定してビルド。
完了したらパッケージ作成

$HOME/copydlls.sh \
--arch=i686 \
--pkgpath=$HOME/MINGW-packages/mingw-w64-kicad-git \
--nsispath=$HOME/nsis \
--makensis=/.support/nsis-3.06.1/Bin/makensis.exe

$HOME/copydlls.sh \
--arch=x86_64 \
--pkgpath=\$HOME/MINGW-packages/mingw-w64-kicad-git \
--nsispath=$HOME/nsis \
--makensis=/.support/nsis-3.06.1/Bin/makensis.exe

なんとなく MSYS2 丸ごと差し替えてるのでバージョンの食い違いでも起きてるような感じだけど良くわかりませんでした。

 

KiCad 5.1.4 インストールファイルの容量差について

KiCad 5.1.4 インストールファイルの容量差について

あらまし

Kicad 5.1.4 の日本語フォントマージビルドしたインストールパッケージを公開したらフォントマージしているはずなのに本家よりファイル容量が少ないとご指摘いただきました、ありがとうございます。
気になったので調査してみました。

ファイル展開と比較

まずは本家のインストールファイルをダウンロードして容量比較。

アンダーバーついてる方がフォントマージビルドですが 1,460KB 容量少ないです。

このままではしょうがないのでファイルを展開。
フォルダでプロパティ確認すると、

右がフォントマージビルド。
フォントマージビルドのほうが 747,215B でかい逆転現象。

展開したディレクトリを丸ごと比較してみました。 結果
がっかりするぐらい違ってましたがビルドしてる日時が違うので当然ですね。
よく確認するとバイナリのバージョン違いが多いです。
世界中の皆さんが日々更新のおかげで。ありがたいことです。
問題は存在しないファイルですが一番気になったのが wxWidgets の312(バージョン?)です。ごっそり欠落していますが 30 は入っているので動作には支障ないのでしょうか?不明です。

結論と感想

結論としては分からない!でした。
私のレベルでは無理・・・
ただ、差分のリスト作成できたので動作不具合時検証の役に立つと思います。

5.1 以降の日本語マージビルドやってて libzstd.dll が無いと起動時に怒られて真っ先に対応したんだけど本家にはファイルの存在が無くてショックでした。( ;∀;)

 

KiCad 5.1.4 Windows版 日本語フォントマージビルド

KiCad 5.1.4 Windows版 日本語フォントマージビルド

2019年09月05日 新規投稿
2019年09月05日 本家のインストールファイルよりサイズが小さいとご指摘いただきました。調査してみます。
2019年09月06日 ファイルサイズの調査してみました。結果
2019年09月18日 当ページでビルドした5.1.4 バージョン32bit版のフットプリントエディタ起動に不具合がある報告をユーザーの方から頂きましたので公開中止します。32bit版の使用はしないでください。現在調査中です。

KiCad で図面に日本語入力・表示してみたくて自力でコンパイルしてみた第5弾。 5.1.2公開後、油断してたら5.1.4がリリースされ、皆さん使用しているようなので負けずにビルド挑戦しました。
おなじみでしょうが、すべて自己責任で! 間違い・質問・ご要望は お問い合わせ まで。
インストールパッケージは一番下です。

総評

今までに比べると慣れてきたせいもあって短期間でビルドできるようになりました。
ビルド実行していると多少欠落するファイルがありますが以前の作業環境ある場合はコピペで対応できます。
ただし、初めてビルドする人でもシームレスに作業できるように記事を書くポリシーがあるので面倒なダウングレードを行って手順を記載してます、ご了承くださいませ、それでも4.X.Xの頃に比べたらずいぶん楽勝です。
とりあえず欠落してたファイルは、

libeay32.dll
ssleay32.dll
librtmp*.dll
libgnutls*.dll
libreadline7.dll
libzstd.dll
pip.exe
pip.exe.manifest
pip-script.py

こんな感じでしたが、ほとんど5.1.0のビルドしたときと同じです。 新しくpip関係のファイルが記事作成時点のビルドでは生成されなかったので以前のバージョンに戻してビルドさせファイルをバックアップする方法でしのいでます。
そのほか64ビット版だと .manifest ファイルが不明ですが32ビット版の .manifest ファイル確認したら形だけの状態だし、インストーラー使用して構成するので無くても大丈夫だと思います。
それでも可能な限りファイル見つけてビルド・パッケージ作成しました。

参考サイト

日本語フォントのマージ手順

http://wiki.kicad.jp/ おなじみですがこのサイトの日本語フォントのマージ手順とツールなければ出来ませんでした。(というかやってみようとは思わなかった)

基本的なビルドの方法

http://docs.kicad-pcb.org/doxygen/md_Documentation_development_compiling.html ソースからビルドする場合の情報です。

謝辞

今回も先人に感謝。参考サイト以外にも各サイトにお世話になってます。
うちの情報も役に立ってくれれば、うれしいです。

作業環境

Windows10 64bit
5.1.0と一緒でDドライブにて作業してます。
階層が深くなる対策のため kicad-winbuilder-master を kicad-winbuilder にリネームしてます、 読み替えてくださいませ。

作業開始

Cmakeのインストール

https://cmake.org/download/ から自分の環境にあったインストーラをダウンロードしてセットアップします。
普通にセットアップできるので問題はないかと思います。

ソースの取得

https://github.com/KiCad/kicad-winbuilder の Winbuilder を使用しました。git 環境が整っている方はgithub のkicad-winbuilder を Clone してください。 git 環境が無い場合は https://github.com/KiCad/kicad-winbuilder にアクセスして Clone or Download から zip でダウンロードして展開する。
注意点はドライブのルートに展開するのとユーザー名のスペースに注意です。(マルチバイト文字もかな) 検証は最初の部分にも書いた通り D:\kicad-winbuilder で行いました。

事前準備

前回同様、欠落ファイルを補うためパッケージをダウングレードするとcmake が起動出来なくなります。
今回もエラーで止まったのを見計らってファイルをコピーする方法で対応しました。

  • PKGBUILD

kicad-winbuilder ディレクトリの PKGBUILD を PKGBUILD.bak に名前変更。 PKGBUILD-STABLE をコピーして PKGBUILD に名前変更。
名前変更した PKGBUILD の25行目付近に2行追加。 (必須ライブラリの追加)

depends=("${MINGW_PACKAGE_PREFIX}-boost"
         "${MINGW_PACKAGE_PREFIX}-cairo"
         "${MINGW_PACKAGE_PREFIX}-curl"
         "${MINGW_PACKAGE_PREFIX}-glew"
         "${MINGW_PACKAGE_PREFIX}-openssl"
         "${MINGW_PACKAGE_PREFIX}-wxPython"
         "${MINGW_PACKAGE_PREFIX}-wxWidgets"
         "${MINGW_PACKAGE_PREFIX}-libxslt"
         "${MINGW_PACKAGE_PREFIX}-oce"
         "${MINGW_PACKAGE_PREFIX}-gnutls" ← 追加
         "${MINGW_PACKAGE_PREFIX}-rtmpdump" ← 追加
         "${MINGW_PACKAGE_PREFIX}-ngspice"
         "${MINGW_PACKAGE_PREFIX}-fftw")
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
             "${MINGW_PACKAGE_PREFIX}-doxygen"
             "${MINGW_PACKAGE_PREFIX}-gcc"
             "${MINGW_PACKAGE_PREFIX}-python2"
             "${MINGW_PACKAGE_PREFIX}-pkg-config"
             "${MINGW_PACKAGE_PREFIX}-swig"
             "${MINGW_PACKAGE_PREFIX}-glm"
             "git")

PKGBUILD の83行目付近に1行追加。 (ストロークフォントファイルのコピー)

EXTRA_FLAGS=""
if [ $GCCVERSION = "5.1.0" ] || [ $GCCVERSION = "5.2.0" ]; then
EXTRA_FLAGS=" -DCMAKE_CXX_FLAGS=-Wno-deprecated-declarations"
fi

cp /d/kicad-winbuilder/newstroke_font.cpp $HOME/MINGW-packages/mingw-w64-kicad-git/src/kicad/common ← 追加

MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake.exe \

この追加部分の先頭 cp /d/kicad-winbuilder/new…… の /d がドライブレターを表しているので環境で変更する。
例えば Cドライブなら cp /c/kica…… のように。

  • newstroke_font.cpp

上記参考サイトの 日本語フォントのマージ手順 に従って作成。 作成完了したら kicad-winbuilder ディレクトに配置

newstroke_font.cpp

  • copydlls.sh

kicad-winbuilder ディレクトリの copydlls.sh を編集。 212行目付近に1行追加。 このファイル無いと起動しません。

"libreadline7.dll" \
"libtermcap-0.dll" \
"libpsl-5.dll" \
"libzstd.dll" \ ← 追加
"libcrypto-1_1*.dll" )

271行目付近に1行追加。 (修正しなくても問題ないと思うが存在するファイルなのでちゃんとコピーしてみる。今回も license_for_documentation.txt は行方不明。)

echo Building NSIS installer exe...
cp -r $NSISPATH $TARGETDIR
cp $HOME/MINGW-packages/mingw-w64-kicad-git/src/kicad/AUTHORS.txt "$TARGETDIR" ← 追加
}
  • KiCad-Winbuilder.cmake

kicad-winbuilder ディレクトリの KiCad-Winbuilder.cmake を編集 103行目付近に2行追加 (openssl と readline と pip パッケージのダウングレードのファイル定義)

if( i686 )
    set( TOOLCHAIN_PACKAGES "${TOOLCHAIN_PACKAGES} mingw-w64-i686-toolchain mingw-w64-i686-boost mingw-w64-i686-cairo mingw-w64-i686-curl mingw-w64-i686-glew mingw-w64-i686-openssl mingw-w64-i686-wxPython mingw-w64-i686-wxWidgets mingw-w64-i686-cmake mingw-w64-i686-gcc mingw-w64-i686-python2 mingw-w64-i686-python2-pip mingw-w64-i686-pkg-config mingw-w64-i686-swig mingw-w64-i686-libxslt bzr git doxygen" )
    set( DWONGRADE_PACKAGES "${DWONGRADE_PACKAGES} http://repo.msys2.org/mingw/i686/mingw-w64-i686-openssl-1.0.2.p-1-any.pkg.tar.xz http://repo.msys2.org/mingw/i686/mingw-w64-i686-readline-7.0.005-1-any.pkg.tar.xz http://repo.msys2.org/mingw/i686/mingw-w64-i686-python2-pip-19.1.1-1-any.pkg.tar.xz" )
← 追加 endif() if( x86_64 ) set( TOOLCHAIN_PACKAGES "${TOOLCHAIN_PACKAGES} mingw-w64-x86_64-toolchain mingw-w64-x86_64-boost mingw-w64-x86_64-cairo mingw-w64-x86_64-curl mingw-w64-x86_64-glew mingw-w64-x86_64-openssl mingw-w64-x86_64-wxPython mingw-w64-x86_64-wxWidgets mingw-w64-x86_64-cmake mingw-w64-x86_64-gcc mingw-w64-x86_64-python2 mingw-w64-x86_64-python2-pip mingw-w64-x86_64-pkg-config mingw-w64-x86_64-swig mingw-w64-x86_64-libxslt bzr git doxygen" )   set( DWONGRADE_PACKAGES "${DWONGRADE_PACKAGES} http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-openssl-1.0.2.p-1-any.pkg.tar.xz http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-readline-7.0.005-1-any.pkg.tar.xz http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-python2-pip-19.0.1-1-any.pkg.tar.xz" ) ← 追加 endif()

312行目付近に1行追加 (openssl と readline と pip パッケージダウングレードの実行用)

if( NOT EXISTS "${LOG_DIR}/pacman_required_packages" )
# Get the initial required packages and then update pacman again
execute_msys2_bash( "pacman --noconfirm -S base-devel" "${LOG_DIR}/pacman_base_devel" )
execute_msys2_bash( "pacman --noconfirm -S git make ${TOOLCHAIN_PACKAGES}" "${LOG_DIR}/pacman_required_packages" )
execute_msys2_bash( "pacman --noconfirm -Su" "${LOG_DIR}/pacman_required_packages_update" )
execute_msys2_bash( "pacman --noconfirm -U ${DWONGRADE_PACKAGES}" "${LOG_DIR}/pacman_boost_packages_downgrade" ) ← 追加
endif()
  • nsis ファイル

kicad-winbuilder ディレクトリにある nsis ディレクトリの拡張子 nsi のファイルが文字コード UTF-8N なので UTF-8 に変換して保存しなおす。

Chinese.nsh
German.nsh
Greek.nsh
Italian.nsh
Spanish.nsh
install.nsi

ビルド開始

Windows のコマンドプロンプト起動しカレント移します。

D:
cd kicad-winbilder

文字コード変更 (Win10の場合実行しないと MSYS2 の処理時に文字化けします。Win7は試してないけど4.0.7と一緒で実行しなくても大丈夫だと思います。)

chcp 65001

とりあえず実行

make_all.bat

環境作成できてKicad本体のビルドが始まるぐらいにCmakeが起動できなくてエラーで停止します。 D:\kicad-winbuilder\msys64\mingw32\bin にある

libeay32.dll
libreadline7.dll
pip.exe
pip.exe.manifest
pip-script.py
ssleay32.dll

と、 D:\kicad-winbuilder\msys64\mingw64\bin にある

libeay32.dll
libreadline7.dll
pip.exe
pip-script.py
ssleay32.dll

をそれぞれコピーしてバックアップ。
エクスプローラーで D:\kicad-winbuilder\msys64 の msys2_shell.cmd をダブルクリックで起動し、コマンドを実行してopenssl と readline と pip のパッケージを最新版に戻す。

pacman --noconfirm -S mingw-w64-i686-openssl
pacman --noconfirm -S mingw-w64-i686-readline
pacman --noconfirm -S mingw-w64-i686-python2-pip
pacman --noconfirm -S mingw-w64-x86_64-openssl
pacman --noconfirm -S mingw-w64-x86_64-readline
pacman --noconfirm -S mingw-w64-x86_64-python2-pip

パッケージが戻ったら MSYS2 コンソールをexitで終了し先程バックアップしたファイルを mingw32 のファイルは mingw32 に、mingw64 のファイルはmingw64 にコピーする。

D:\kicad-winbuilder\msys64\mingw32\bin
D:\kicad-winbuilder\msys64\mingw64\bin

以上の作業が完了したら、コマンドプロンプトに戻って再度

make_all.bat

を実行する。 あとは停止しないでビルドして勝手にパッケージングしてくれる・・・はず。 ファイルは

kicad-winbuilder\msys64\home\ユーザー名\out\pack-i686
kicad-winbuilder\msys64\home\ユーザー名\out\pack-x86_64

に作成されます。

インストールパッケージ

上記手順でビルドしたインストールパッケージです。
自己責任でご使用ください。
(毎度のことながら貧乏なので署名はしていません。Windows Defender SmartScreen で警告出ます・・・多分)
Windows10の場合 詳細方法 → 実行
32bit版 環境無くて未チェックです・・・すみません

32bit版 kicad-5.1.4_1-i686.exe
 公開中止 検証中

64bit版 kicad-5.1.4_1-x86_64.exe

 
 

KiCad 5.1.0 Windows版 日本語フォントマージビルド

KiCad 5.1.0 Windows版 日本語フォントマージビルド

2019年04月13日 新規投稿
2019年04月15日 一部修正中
2019年04月16日 修正完了・ビルド確認完了
2019年04月18日 カテゴリ・一部修正・インストールパッケージ追加

KiCad で図面に日本語入力・表示してみたくて自力でコンパイルしてみた第4弾。
5.0公開後、5.1の安定板 がリリースされ、リクエストが届いたので再度挑戦しました。
おなじみでしょうが、すべて自己責任で!
間違い・質問・ご要望は お問い合わせ まで。
インストールパッケージは一番下です。

総評

前回に比べるとBoostパッケージのダウングレードがいらなくなり、かなり改善しました。
作業開始時はGLMバージョンのメッセージが出て長期戦を覚悟しましたが、数日後に再度ビルドしたら修正されていました。
この手順で書いてある内容もすぐ修正されるかもしれないので、とりあえずビルド実行してエラーをつぶした方が近道かもしれません。
ビルド途中にエラーで止まることは無かったですが相変わらず欠落ファイルがあって修正が必要でした。

libeay32.dll
ssleay32.dll
librtmp*.dll
libgnutls*.dll
libreadline7.dll
libzstd.dll

基本的な動作には必要無いように思われますが、どの機能で使用するファイルか不明なため多少手順が面倒でもできる限り欠落ファイルを無くす方向でビルドしました。
ライブラリ関係以外のテキストファイルの迷子とドキュメント関係で日本語以外のワーニングは無視しました。(日本語フォント導入するのは日本語で使用するだろう・・・多分)
前回整えた環境でアップグレードしていくと問題無く終了するかもしれませんが基本的にクリーン環境で実行できる手順を目指してます。
ファイル欠落の対応がメインでエラーはほとんど無く、数日で完了しました。

参考サイト

日本語フォントのマージ手順

http://wiki.kicad.jp/

おなじみですがこのサイトの日本語フォントのマージ手順とツールなければ出来ませんでした。(というかやってみようとは思わなかった)

基本的なビルドの方法

http://docs.kicad-pcb.org/doxygen/md_Documentation_development_compiling.html

ソースからビルドする場合の情報です。

謝辞

今回も先人に感謝。参考サイト以外にも各サイトにお世話になってます。
うちの情報も役に立ってくれれば、うれしいです。

作業環境

Windows10 64bit
5.0.0と一緒でDドライブにて作業してます。階層が深くなる対策のため kicad-winbuilder-master を kicad-winbuilder にリネームしてます、 読み替えてくださいませ。

作業開始

Cmakeのインストール

https://cmake.org/download/ から自分の環境にあったインストーラをダウンロードしてセットアップします。
普通にセットアップできるので問題はないかと思います。

ソースの取得

https://github.com/KiCad/kicad-winbuilder の Winbuilder を使用しました。git 環境が整っている方はgithub のkicad-winbuilder を Clone してください。
git 環境が無い場合は https://github.com/KiCad/kicad-winbuilder にアクセスして Clone or Download から zip でダウンロードして展開する。
注意点はドライブのルートに展開するのとユーザー名のスペースに注意です。(マルチバイト文字もかな)
検証は最初の部分にも書いた通り
D:\kicad-winbuilder
で行いました。

事前準備

今回の手順で大変なのは欠落ファイルを補うためパッケージをダウングレードするとcmake が起動出来なくなる点でした。
途中、エラーで止まったのを見計らってファイルをコピーする方法で対応しました。(スクリプト修正するのが面倒だった・・・スミマセン)

  • PKGBUILD

kicad-winbuilder ディレクトリの PKGBUILD を PKGBUILD.bak に名前変更。
PKGBUILD-STABLE をコピーして PKGBUILD に名前変更。
名前変更した PKGBUILD の25行目付近に2行追加。
(必須ライブラリの追加)

depends=("${MINGW_PACKAGE_PREFIX}-boost"
         "${MINGW_PACKAGE_PREFIX}-cairo"
         "${MINGW_PACKAGE_PREFIX}-curl"
         "${MINGW_PACKAGE_PREFIX}-glew"
         "${MINGW_PACKAGE_PREFIX}-openssl"
         "${MINGW_PACKAGE_PREFIX}-wxPython"
         "${MINGW_PACKAGE_PREFIX}-wxWidgets"
         "${MINGW_PACKAGE_PREFIX}-libxslt"
         "${MINGW_PACKAGE_PREFIX}-oce"
         "${MINGW_PACKAGE_PREFIX}-gnutls" ← 追加
         "${MINGW_PACKAGE_PREFIX}-rtmpdump" ← 追加
         "${MINGW_PACKAGE_PREFIX}-ngspice"
         "${MINGW_PACKAGE_PREFIX}-fftw")
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
             "${MINGW_PACKAGE_PREFIX}-doxygen"
             "${MINGW_PACKAGE_PREFIX}-gcc"
             "${MINGW_PACKAGE_PREFIX}-python2"
             "${MINGW_PACKAGE_PREFIX}-pkg-config"
             "${MINGW_PACKAGE_PREFIX}-swig"
             "${MINGW_PACKAGE_PREFIX}-glm"
             "git")

PKGBUILD の83行目付近に1行追加。
(ストロークフォントファイルのコピー)

EXTRA_FLAGS=""
if [ $GCCVERSION = "5.1.0" ] || [ $GCCVERSION = "5.2.0" ]; then
EXTRA_FLAGS=" -DCMAKE_CXX_FLAGS=-Wno-deprecated-declarations"
fi

cp /d/kicad-winbuilder/newstroke_font.cpp $HOME/MINGW-packages/mingw-w64-kicad-git/src/kicad/common ← 追加

MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake.exe \

この追加部分の先頭 cp /d/kicad-winbuilder/new…… の /d がドライブレターを表しているので環境で変更する。
例えば Cドライブなら cp /c/kica…… のように。

  • newstroke_font.cpp

上記参考サイトの 日本語フォントのマージ手順 に従って作成。
作成完了したら kicad-winbuilder ディレクトに配置

  • copydlls.sh

kicad-winbuilder ディレクトリの copydlls.sh を編集。
211行目付近に1行追加。
このファイル無いと起動しません。

"libreadline7.dll" \
"libtermcap-0.dll" \
"libpsl-5.dll" \
"libzstd.dll" \ ← 追加
"libcrypto-1_1*.dll" )

270行目付近に1行追加。
(修正しなくても問題ないが存在するファイルなのでちゃんとコピーしてみる。今回も license_for_documentation.txt は行方不明。)

echo Building NSIS installer exe...
cp -r $NSISPATH $TARGETDIR
cp $HOME/MINGW-packages/mingw-w64-kicad-git/src/kicad/AUTHORS.txt "$TARGETDIR" ← 追加
}
  • KiCad-Winbuilder.cmake

kicad-winbuilder ディレクトリの KiCad-Winbuilder.cmake を編集

101行目付近に2行追加
(openssl と readline パッケージのダウングレードのファイル定義)

if( i686 )
set( TOOLCHAIN_PACKAGES "${TOOLCHAIN_PACKAGES} mingw-w64-i686-toolchain mingw-w64-i686-boost mingw-w64-i686-cairo mingw-w64-i686-curl mingw-w64-i686-glew mingw-w64-i686-openssl mingw-w64-i686-wxPython mingw-w64-i686-wxWidgets mingw-w64-i686-cmake mingw-w64-i686-gcc mingw-w64-i686-python2 mingw-w64-i686-python2-pip mingw-w64-i686-pkg-config mingw-w64-i686-swig mingw-w64-i686-libxslt bzr git doxygen" )
  set( DWONGRADE_PACKAGES "${DWONGRADE_PACKAGES} http://repo.msys2.org/mingw/i686/mingw-w64-i686-openssl-1.0.2.p-1-any.pkg.tar.xz http://repo.msys2.org/mingw/i686/mingw-w64-i686-readline-7.0.005-1-any.pkg.tar.xz" ) ← 追加
endif()

if( x86_64 )
set( TOOLCHAIN_PACKAGES "${TOOLCHAIN_PACKAGES} mingw-w64-x86_64-toolchain mingw-w64-x86_64-boost mingw-w64-x86_64-cairo mingw-w64-x86_64-curl mingw-w64-x86_64-glew mingw-w64-x86_64-openssl mingw-w64-x86_64-wxPython mingw-w64-x86_64-wxWidgets mingw-w64-x86_64-cmake mingw-w64-x86_64-gcc mingw-w64-x86_64-python2 mingw-w64-x86_64-python2-pip mingw-w64-x86_64-pkg-config mingw-w64-x86_64-swig mingw-w64-x86_64-libxslt bzr git doxygen" )
   set( DWONGRADE_PACKAGES "${DWONGRADE_PACKAGES} http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-openssl-1.0.2.p-1-any.pkg.tar.xz http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-readline-7.0.005-1-any.pkg.tar.xz" ) ← 追加
endif()

312行目付近に1行追加
(openssl と readline パッケージダウングレードの実行用)

if( NOT EXISTS "${LOG_DIR}/pacman_required_packages" )
# Get the initial required packages and then update pacman again
execute_msys2_bash( "pacman --noconfirm -S base-devel" "${LOG_DIR}/pacman_base_devel" )
execute_msys2_bash( "pacman --noconfirm -S git make ${TOOLCHAIN_PACKAGES}" "${LOG_DIR}/pacman_required_packages" )
execute_msys2_bash( "pacman --noconfirm -Su" "${LOG_DIR}/pacman_required_packages_update" )
execute_msys2_bash( "pacman --noconfirm -U ${DWONGRADE_PACKAGES}" "${LOG_DIR}/pacman_boost_packages_downgrade" ) ← 追加
endif()
  • install.nsi

kicad-winbuilder ディレクトリにある nsis ディレクトリの install.nsi ファイルの文字コードが UTF-8N なので UTF-8 か shift-JIS に変換して保存しなおす。

ビルド開始

Windows のコマンドプロンプト起動しカレント移します。

D:
cd kicad-winbilder

文字コード変更
(Win10の場合実行しないと MSYS2 の処理時に文字化けします。Win7は試してないけど4.0.7と一緒で実行しなくても大丈夫だと思います。)

chcp 65001

とりあえず実行

make_all.bat

環境作成できてKicad本体のビルドが始まるぐらいにCmakeが起動できなくてエラーで停止します。
D:\kicad-winbuilder\msys64\mingw32\bin にある

libeay32.dll
ssleay32.dll
libreadline7.dll

をコピーしてバックアップ。
エクスプローラーで D:\kicad-winbuilder\msys64 の msys2_shell.cmd をダブルクリックで起動し、コマンドを実行してopenssl と readline のパッケージを最新版に戻す。

pacman --noconfirm -S mingw-w64-i686-openssl
pacman --noconfirm -S mingw-w64-i686-readline

パッケージが戻ったら MSYS2 コンソールでの作業は終了し先程バックアップしたファイルを

D:\kicad-winbuilder\msys64\mingw32\bin
D:\kicad-winbuilder\msys64\mingw64\bin

にコピーする。
以上の作業が完了したら、コマンドプロンプトに戻って再度

make_all.bat

を実行する。

あとは停止しないでビルドして勝手にパッケージングしてくれる・・・はず。
ファイルは

kicad-winbuilder\msys64\home\ユーザー名\out\pack-i686
kicad-winbuilder\msys64\home\ユーザー名\out\pack-x86_64

に作成されます。

とりあえず無事にパッケージは完成してインストール確認しましたが、今のところ問題なさそうです。

インストールパッケージ

上記手順でビルドしたインストールパッケージです。
自己責任でご使用ください。
(毎度のことながら貧乏なので署名はしていません。Windows Defender SmartScreen で警告出ます・・・多分)
Windows10の場合 詳細方法 → 実行
32bit版 環境無くて未チェックです・・・すみません

32bit版 kicad-5.1.0_1-i686.exe

64bit版 kicad-5.1.0_1-x86_64.exe

 

 
 

KiCad 4.0.6 Windows版 日本語フォントマージビルド

KiCad 4.0.6 Windows版 日本語フォントマージビルド

2018年11月03日 Pukiwikiサイトから転載

2017年03月25日 追加情報

※未確認ですが Cmake ファイルに以下記述があったので PKGBUILD-STABLE を PKGBUILD にリネームしただけで行けたんじゃね?みたいな感じがしてます・・・

2017年03月20日 更新

 

KiCad で図面に日本語入力・表示してみたくて、自力でコンパイルしてみたがドツボにはまったので参考までに・・・
回路図のコメント入力や基板のシルクで日本語が使えるので便利です。
おなじみでしょうが、すべて自己責任で!

間違い・質問・ご要望は お問い合わせ まで。

参考サイト

日本語フォントのマージ手順

http://wiki.kicad.jp/

おなじみですがこのサイトの日本語フォントのマージ手順とツールなければ出来ませんでした。(というかやってみようとは思わなかった)

基本的なビルドの方法

http://docs.kicad-pcb.org/doxygen/md_Documentation_development_compiling.html

毎度ながら先人に感謝。足向けて寝れません。
世界中にいるので立ったまま寝るようです-

作業環境

Windows10 64bit
Dドライブにて作業してます。また、階層が深くなるため kicad-winbuilder-master を kicad-winbuilder にリネームしてます、 読み替えてくださいませ。
下記手順ですべて実行したら kicad-winbuilder ディレクトリが 20GBぐらいになりました。空き容量にも注意してください。

作業開始

ソースの取得

https://github.com/KiCad/kicad-winbuilder の Winbuilder を使用しました。
https://github.com/KiCad/kicad-source-mirror も試してみたけどパッケージ化がわからず。ビルドしたPCで使用するなら問題なく動いたんだけどライブラリ手動でコピーするのが面倒(nsis のファイルがマッチせず失敗した)なのでインストールパッケージも生成していただきました。

https://github.com/KiCad/kicad-winbuilder にアクセスして Clone or Download から Clone するか zip でダウンロードして展開する。
注意点はドライブのルートに展開するのとユーザー名のスペースに注意です。(マルチバイト文字もかな)

Cmakeのインストール

https://cmake.org/download/ から cmake-3.8.0-rc1-win64-x64.msi をダウンロードしてセットアップします。
普通にセットアップできるので問題はないかと思います。

windows のコマンドプロンプト起動しカレント移します。

D:
cd kicad-winbilder

文字コード変更(Win10の場合実行しないと MSYS2 の処理時に文字化けします。Win7は実行しなくても大丈夫でした。)

chcp 65001

とりあえず実行

make_all.bat

最後まで終了すれば問題ないが、多分エラーで止まると思う。
とりあえず実行するとファイルのダウンロードと環境の構築はしてくれるのでエラーが出てから考える。
うちの環境では *** NGSPICE library missing *** のエラーメッセージが出て終了しました。

環境の再構築

コマンドプロンプトで必要ファイルコピー

copy d:\kicad-winbuilder\PKGBUILD-ngspice-git D:\kicad-winbuilder\msys64

MSYS2コンソール起動

エクスプローラーで D:\kicad-winbuilder\msys64 の msys2_shell.cmd をダブルクリックで起動

以降 MSYS2 コンソールで作業
必要なパッケージインストールする

pacman -S autoconf
pacman -S automake
pacman -S bison
pacman -S libtool
pacman -S patch

ファイルのコピーと NGSPICE のビルド(NGSPICE は 4.0.6 安定板では使用しないと思われるが、パッケージングでライブラリコピーするので作成します。)

cd $HOME/MINGW-packages/mingw-w64-ngspice-git
mv PKGBUILD $HOME/PKGBUILD-ngspice.bak
cp /PKGBUILD-ngspice-git PKGBUILD
makepkg-mingw -is

インストールを行いますか? で Y
i686版もインストールを行いますか? で Y

完了したら続いてKiCad

boost のダウングレード

cd $HOME
pacman -R mingw-w64-x86_64-boost

以上のパッケージ削除しますか? で Y

pacman -R mingw-w64-i686-boost

以上のパッケージ削除しますか? で Y

wget http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-boost-1.57.0-4-any.pkg.tar.xz
wget http://repo.msys2.org/mingw/i686/mingw-w64-i686-boost-1.57.0-4-any.pkg.tar.xz
pacman -U mingw-w64-x86_64-boost-1.57.0-4-any.pkg.tar.xz

インストールを行いますか? で Y

pacman -U mingw-w64-i686-boost-1.57.0-4-any.pkg.tar.xz

インストールを行いますか? で Y

ファイルダウンロードとビルド

cd $HOME
wget http://systembank.info/~sow/KiCad/PKGBUILD_kicad_jfont
wget http://systembank.info/~sow/KiCad/newstroke_font.cpp
rm -rf $HOME/MINGW-packages/mingw-w64-kicad-git/
mkdir $HOME/MINGW-packages/mingw-w64-kicad-git/
cd $HOME/MINGW-packages/mingw-w64-kicad-git
cp $HOME/PKGBUILD_kicad_jfont PKGBUILD
makepkg-mingw -is

それぞれ インストールを行いますか? で Y

起動&動作確認

エクスプローラーから D:\kicad-winbuilder\msys64\mingw64\bin\kicad.exe を起動して確認します。
特に、バージョン情報や図面に漢字の入力ができるか確認する。

インストールパッケージの作成

MSYS2 コンソールで必要なパッケージのインストールとファイルのダウンロード

cd $HOME
pacman -S mingw-w64-i686-oce

インストールを行いますか? で Y

cd /
wget http://systembank.info/~sow/KiCad/copydlls.sh

以上で MSYS2 の作業は終了なのでコンソール閉じて OK です。

windows のコマンドプロンプト起動しカレント移します。(今度は文字コード変更不要)

D:
cd kicad-winbilder
ren copydlls.sh copydlls.bak
copy msys64\copydlls.sh
make_all.bat

実行中に [エラー: /home/SBD/MINGW-packages/mingw-w64-kicad-git/kicad は https://github.com/KiCad/kicad-source-mirror.git の複製ではありません] が表示されますが、 スキップするので問題ありません。
kicad-source-mirro のWinbuilderで 4.0.6 安定板のパッケージをビルドし、インストールパッケージの作成だけをバッチ処理させているためです。

また、ライブラリファイルのコピーが終了してパッケージの作成に入るあたりで [Bad text encoding: install.nsi:9] のエラーが出る場合は、D:\kicad-winbuilder\nsis\install.nsi ファイルを文字コード変更できるエディタ等かツールで UTF-8 から Shift-JIS に変更して再度 make_all.bat を実行してください。

正常に終了すれば

D:\kicad-winbuilder\msys64\home\ユーザー名\out\pack-i686
D:\kicad-winbuilder\msys64\home\ユーザー名\out\pack-x86_64

それぞれにインストールパッケージが作成されています。

ダウンロードしたファイルの修正部分

上記手順で、当サイト http://systembank.info/~sow/KiCad/ からダウンロードしたファイルの修正箇所は以下の通りです。

  • PKGBUILD_kicad_jfont
-DPYTHON_EXECUTABLE=${MINGW_PREFIX}/bin/python2.exe \
${EXTRA_FLAGS} \
../${_realname}
cp $HOME/newstroke_font.cpp $HOME/MINGW-packages/mingw-w64-kicad-git/src/kicad /common     ← 追加
make
  • newstroke_font.cpp

http://wiki.kicad.jp/日本語フォントのマージ手順 に従って KST32B フォントをマージしたファイル

  • copydlls.sh
echo Building NSIS installer exe...
cp -r $NSISPATH $TARGETDIR
cp $HOME/MINGW-packages/mingw-w64-kicad-git/src/kicad/AUTHORS.txt "$TARGETDIR"     ← 追加
cp $HOME/MINGW-packages/mingw-w64-kicad-git/src/kicad/license_for_documentation.txt "$TARGETDIR"     ← 追加
}

makensis() {
cd "$TARGETDIR/nsis"

インストールパッケージ

面倒な人はインストールパッケージをダウンロードしてください。
(署名はしていませんので、自己責任で有効にしてください。–詳細方法 → 実行–)

32bit版 kicad-4.0.6-i686.exe

64bit版 kicad-4.0.6-x86_64.exe

KiCad 5.0.0 Windows版 日本語フォントマージビルド

KiCad 5.0.0 Windows版 日本語フォントマージビルド

2018年11月03日  Pukiwikiサイトから転載
2018年09月24日 更新

KiCad で図面に日本語入力・表示してみたくて、自力でコンパイルしてみた第3弾。
5.0.0安定板 がリリースされ雑誌やHPなどで紹介されたので、うらやましくなり挑戦しました。
回路図のコメント入力や基板のシルクで日本語が使えるので便利です。
おなじみでしょうが、すべて自己責任で!
インストールパッケージは一番下です・・・

間違い・質問・ご要望は お問い合わせ まで。

総評

前回同様、PKGBUILD-STABLE を PKGBUILD にリネームして試してみました。
なんかオプション指定すればリネームしなくても大丈夫なんでしょうが、わかりません。
エラーもほとんどなく、4.0.6 4.0.7 は1ヵ月かかったけど今回は数日で完了しました。

参考サイト

日本語フォントのマージ手順

http://wiki.kicad.jp/

おなじみですがこのサイトの日本語フォントのマージ手順とツールなければ出来ませんでした。(というかやってみようとは思わなかった)

基本的なビルドの方法

http://docs.kicad-pcb.org/doxygen/md_Documentation_development_compiling.html

ソースからビルドする場合の情報です。
boostのダウングレードは必要みたいです。
安定板のビルドじゃなくて最新版だと手動で指定しなくても大丈夫だった。
なんでだろ?

謝辞

今回も先人に感謝。参考サイト以外にも各サイトにお世話になってます。
うちの情報も役に立ってくれれば、うれしいです。

作業環境

Windows10 64bit
4.0.7と一緒でDドライブにて作業してます。階層が深くなる対策のため kicad-winbuilder-master を kicad-winbuilder にリネームしてます、 読み替えてくださいませ。
容量は4GBぐらいでした。

作業開始

Cmakeのインストール

https://cmake.org/download/ から自分の環境にあったインストーラをダウンロードしてセットアップします。
普通にセットアップできるので問題はないかと思います。

ソースの取得

https://github.com/KiCad/kicad-winbuilder の Winbuilder を使用しました。git 環境が整っている方は github の kicad-winbuilder を Clone してください。
git 環境が無い場合は https://github.com/KiCad/kicad-winbuilder にアクセスして Clone or Download から zip でダウンロードして展開する。
注意点はドライブのルートに展開するのとユーザー名のスペースに注意です。(マルチバイト文字もかな)
検証は最初の部分にも書いた通り
D:\kicad-winbuilder
で行いました。

事前準備

今回は boost のダウングレードと install.nsi ファイルの文字コード変更で実行できる状態になると思います。
フォントファイルの追加とパッケージングする際の不足ファイル(必要かどうかは不明)の対応がメインな感じです。
証明書関係も改善してました。

  • PKGBUILD

kicad-winbuilder ディレクトリの PKGBUILD を PKGBUILD.bak に名前変更。
PKGBUILD-STABLE をコピーして PKGBUILD に名前変更。
名前変更した PKGBUILD の20行目付近に2行追加。
(必須ライブラリの追加)

depends=("${MINGW_PACKAGE_PREFIX}-boost"
         "${MINGW_PACKAGE_PREFIX}-cairo"
         "${MINGW_PACKAGE_PREFIX}-curl"
         "${MINGW_PACKAGE_PREFIX}-glew"
         "${MINGW_PACKAGE_PREFIX}-openssl"
         "${MINGW_PACKAGE_PREFIX}-wxPython"
         "${MINGW_PACKAGE_PREFIX}-wxWidgets"
         "${MINGW_PACKAGE_PREFIX}-libxslt"
         "${MINGW_PACKAGE_PREFIX}-oce"
         "${MINGW_PACKAGE_PREFIX}-gnutls" ← 追加
         "${MINGW_PACKAGE_PREFIX}-rtmpdump" ← 追加
         "${MINGW_PACKAGE_PREFIX}-ngspice"
         "${MINGW_PACKAGE_PREFIX}-fftw")
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
             "${MINGW_PACKAGE_PREFIX}-doxygen"
             "${MINGW_PACKAGE_PREFIX}-gcc"
             "${MINGW_PACKAGE_PREFIX}-python2"
             "${MINGW_PACKAGE_PREFIX}-pkg-config"
             "${MINGW_PACKAGE_PREFIX}-swig"
             "${MINGW_PACKAGE_PREFIX}-glm"
             "git")

PKGBUILD の80行目付近に1行追加。
(ストロークフォントファイルのコピー)

EXTRA_FLAGS=""
if [ $GCCVERSION = "5.1.0" ] || [ $GCCVERSION = "5.2.0" ]; then
EXTRA_FLAGS=" -DCMAKE_CXX_FLAGS=-Wno-deprecated-declarations"
fi

cp /d/kicad-winbuilder/newstroke_font.cpp $HOME/MINGW-packages/mingw-w64-kicad-git/src/kicad/common ← 追加

MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake.exe \

この追加部分の先頭 cp /d/kicad-winbuilder/new…… の /d がドライブレターを表しているので環境で変更する。
例えば Cドライブなら cp /c/kica…… のように。

  • newstroke_font.cpp

上記参考サイトの 日本語フォントのマージ手順 に従って作成。
作成完了したら kicad-winbuilder ディレクトに配置

  • copydlls.sh

kicad-winbuilder ディレクトリの copydlls.sh を編集。
190行目付近に1行追加。
このファイル無いと起動しません。

"libtasn*.dll" \
"libp11-kit*.dll" \
"libpsl-5.dll" \ ← 追加
"libgmp*.dll" \
"libffi*.dll" \

260行目付近に1行追加。
(修正しなくても問題ないが存在するファイルなのでちゃんとコピーしてみる。前回あった license_for_documentation.txt は行方不明。)

echo Building NSIS installer exe...
cp -r $NSISPATH $TARGETDIR
cp $HOME/MINGW-packages/mingw-w64-kicad-git/src/kicad/AUTHORS.txt "$TARGETDIR" ← 追加
}
  • KiCad-Winbuilder.cmake

kicad-winbuilder ディレクトリの KiCad-Winbuilder.cmake を編集

100行目付近に2行追加
(boostパッケージのダウングレードファイル定義)

if( i686 )
set( TOOLCHAIN_PACKAGES "${TOOLCHAIN_PACKAGES} mingw-w64-i686-toolchain mingw-w64-i686-boost mingw-w64-i686-cairo mingw-w64-i686-curl mingw-w64-i686-glew mingw-w64-i686-openssl mingw-w64-i686-wxPython mingw-w64-i686-wxWidgets mingw-w64-i686-cmake mingw-w64-i686-gcc mingw-w64-i686-python2 mingw-w64-i686-python2-pip mingw-w64-i686-pkg-config mingw-w64-i686-swig mingw-w64-i686-libxslt bzr git doxygen" )
set( DWONGRADE_PACKAGES "${DWONGRADE_PACKAGES} http://repo.msys2.org/mingw/i686/mingw-w64-i686-boost-1.57.0-4-any.pkg.tar.xz ") ← 追加
endif()

if( x86_64 )
set( TOOLCHAIN_PACKAGES "${TOOLCHAIN_PACKAGES} mingw-w64-x86_64-toolchain mingw-w64-x86_64-boost mingw-w64-x86_64-cairo mingw-w64-x86_64-curl mingw-w64-x86_64-glew mingw-w64-x86_64-openssl mingw-w64-x86_64-wxPython mingw-w64-x86_64-wxWidgets mingw-w64-x86_64-cmake mingw-w64-x86_64-gcc mingw-w64-x86_64-python2 mingw-w64-x86_64-python2-pip mingw-w64-x86_64-pkg-config mingw-w64-x86_64-swig mingw-w64-x86_64-libxslt bzr git doxygen" )
set( DWONGRADE_PACKAGES "${DWONGRADE_PACKAGES} http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-boost-1.57.0-4-any.pkg.tar.xz ") ← 追加
endif()

316行目付近に1行追加
(boostパッケージダウングレードの実行用)

if( NOT EXISTS "${LOG_DIR}/pacman_required_packages" )
# Get the initial required packages and then update pacman again
execute_msys2_bash( "pacman --noconfirm -S base-devel" "${LOG_DIR}/pacman_base_devel" )
execute_msys2_bash( "pacman --noconfirm -S git make ${TOOLCHAIN_PACKAGES}" "${LOG_DIR}/pacman_required_packages" )
execute_msys2_bash( "pacman --noconfirm -Su" "${LOG_DIR}/pacman_required_packages_update" )
execute_msys2_bash( "pacman --noconfirm -U ${DWONGRADE_PACKAGES}" "${LOG_DIR}/pacman_boost_packages_downgrade" ) ← 追加
endif()
  • install.nsi

kicad-winbuilder ディレクトリにある nsis ディレクトリの install.nsi ファイルの文字コードが UTF-8N なので UTF-8 か shift-JIS に変換して保存しなおす。

ビルド開始

Windows のコマンドプロンプト起動しカレント移します。

D:
cd kicad-winbilder

文字コード変更
(Win10の場合実行しないと MSYS2 の処理時に文字化けします。Win7は試してないけど4.0.7と一緒で実行しなくても大丈夫だと思います。)

chcp 65001

とりあえず実行

make_all.bat

あとは数時間待ってれば勝手にダウンロードして勝手にビルドして勝手にパッケージングしてくれる・・・はず。
ファイルは

kicad-winbuilder\msys64\home\ユーザー名\out\pack-i686
kicad-winbuilder\msys64\home\ユーザー名\out\pack-x86_64

に作成されます。

どうにも面倒でやってられない方

  • 簡単なビルド方法

上記手順が面倒な場合は kicad-winbuilder をダウンロードと解凍する。

kicad_500_files.zip をダウンロードして解凍し、

 

newstroke_font.cpp

ファイルを kicad-winbuilder ディレクトリにコピー

copydlls.sh
KiCad-Winbuilder.cmake
PKGBUILD

ファイルを kicad-winbuilder ディレクトリに上書き

install.nsi

ファイルを kicad-winbuilder\nsis ディレクトリに上書きしてビルドすればOKです。
ダウンロードしたファイルの修正箇所は上記の詳細手順と同じです。

インストールパッケージ

それも面倒な人はインストールパッケージをダウンロードしてください。
(署名はしていませんので、自己責任で有効にしてください。)
Windows10の場合 詳細方法 → 実行
32bit版 環境無くて未チェックです・・・すみません

32bit版 kicad-5.0.0-i686.exe

64bit版 kicad-5.0.0-x86_64.exe

KiCad 4.0.7 Windows版 日本語フォントマージビルド

KiCad 4.0.7 Windows版 日本語フォントマージビルド

2018年11月03日  Pukiwikiサイトから転載

2018年09月24日  5.0.0も公開しました。

2017年11月20日  大幅変更

KiCad のバグだと思っていたのが実は wxPython のバグ?(最新版のパッチが当たらない?)でした。Pcbnew 起動時にモジュール読み込まないエラーと Paythonコンソール 起動時のハングアップが改善しました。

KiCad で図面に日本語入力・表示してみたくて、自力でコンパイルしてみた第2弾
4.0.7安定板 がリリースされたので、懲りずに挑戦しました。
回路図のコメント入力や基板のシルクで日本語が使えるので便利です。
おなじみでしょうが、すべて自己責任で!

間違い・質問・ご要望は お問い合わせ まで。

総評

前回 PKGBUILD-STABLE を PKGBUILD にリネームしただけで行けたんじゃね?みたいな感じがしてたので今回試したらビンゴでした。
MSYS2の使い方を含めたパッケージ管理やビルドの仕方をよく理解しないで、かなり無駄な努力をしてしまった感じがします・・・
前回はなんだかんだで1か月かかったのが今回は1週間ぐらいで終了した・・・と思ったらスクリプトコンソール動かすのに結局1か月かかった。

参考サイト

日本語フォントのマージ手順

http://wiki.kicad.jp/

おなじみですがこのサイトの日本語フォントのマージ手順とツールなければ出来ませんでした。(というかやってみようとは思わなかった)

基本的なビルドの方法

http://docs.kicad-pcb.org/doxygen/md_Documentation_development_compiling.html

ソースからビルドする場合の情報です。
もしかすると32bit版はboostのダウングレードしなくても行けたのかな?

謝辞

今回も先人に感謝。参考サイト以外にも各サイトにお世話になってます。
うちの情報も役に立ってくれれば、うれしいです。

作業環境

Windows10 64bit
4.0.6と一緒でDドライブにて作業してます。階層が深くなる対策のため kicad-winbuilder-master を kicad-winbuilder にリネームしてます、 読み替えてくださいませ。
また、容量に関しても25GB近かったので空き容量にはご注意ください。

作業開始

Cmakeのインストール

https://cmake.org/download/ から自分の環境にあったインストーラをダウンロードしてセットアップします。
普通にセットアップできるので問題はないかと思います。

ソースの取得

https://github.com/KiCad/kicad-winbuilder の Winbuilder を使用しました。
前回よく理解しないで実行していたのですが Winbuilder をダウンロードしてバッチファイル実行するとダウンロードして環境を整えてくれるはず。
git 環境が整っている方は github の kicad-winbuilder を Clone してください。
git 環境が無い場合は https://github.com/KiCad/kicad-winbuilder にアクセスして Clone or Download から zip でダウンロードして展開する。
注意点はドライブのルートに展開するのとユーザー名のスペースに注意です。(マルチバイト文字もかな)
検証は最初の部分にも書いた通り
D:\kicad-winbuilder
で行いました。

事前準備

前回と比べると NGSPICE のビルドで停止等は無くなり思ったより順調に終了しました。
多少修正がありましたので、以下の通りです。

  • PKGBUILD

kicad-winbuilder ディレクトリの PKGBUILD を PKGBUILD.bak に名前変更。
PKGBUILD-STABLE をコピーして PKGBUILD に名前変更。
名前変更した PKGBUILD の20行目付近に3行追加。
(必須ライブラリの追加)

depends=("${MINGW_PACKAGE_PREFIX}-boost"
"${MINGW_PACKAGE_PREFIX}-cairo"
"${MINGW_PACKAGE_PREFIX}-curl"
"${MINGW_PACKAGE_PREFIX}-glew"
"${MINGW_PACKAGE_PREFIX}-openssl"
"${MINGW_PACKAGE_PREFIX}-wxPython"
"${MINGW_PACKAGE_PREFIX}-wxWidgets"
"${MINGW_PACKAGE_PREFIX}-libxslt"
"${MINGW_PACKAGE_PREFIX}-oce" ← 追加
"${MINGW_PACKAGE_PREFIX}-gnutls" ← 追加
"${MINGW_PACKAGE_PREFIX}-rtmpdump" ← 追加
"${MINGW_PACKAGE_PREFIX}-ngspice-git")
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-doxygen"
"${MINGW_PACKAGE_PREFIX}-gcc"
"${MINGW_PACKAGE_PREFIX}-python2"
"${MINGW_PACKAGE_PREFIX}-pkg-config"
"${MINGW_PACKAGE_PREFIX}-swig"
"${MINGW_PACKAGE_PREFIX}-glm"
"git")

PKGBUILD の20行目付近に1行追加。
(ストロークフォントファイルのコピー)

EXTRA_FLAGS=""
if [ $GCCVERSION = "5.1.0" ] || [ $GCCVERSION = "5.2.0" ]; then
EXTRA_FLAGS=" -DCMAKE_CXX_FLAGS=-Wno-deprecated-declarations"
fi

cp /d/kicad-winbuilder/newstroke_font.cpp $HOME/MINGW-packages/mingw-w64-kicad-git/src/kicad/common ← 追加

MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake.exe \

この追加部分の先頭 cp /d/kicad-winbuilder/new…… の /d がドライブレターを表しているので環境で変更する。
例えば Cドライブなら cp /c/kica…… のように。

PKGBUILD の70~80行目付近に2行追加 3行変更。
(スクリプトモジュール無効化)

-DKICAD_SKIP_BOOST=ON \
-DKICAD_USE_OCE=ON \ ← 追加
-DKICAD_SCRIPTING=OFF \ ← 変更
-DKICAD_SCRIPTING_MODULES=OFF \ ← 変更
-DKICAD_SCRIPTING_WXPYTHON=OFF \ ← 変更
-DKICAD_SPICE=ON \ ← 追加
-DPYTHON_EXECUTABLE=${MINGW_PREFIX}/bin/python2.exe \
${EXTRA_FLAGS} \
  • newstroke_font.cpp

上記参考サイトの 日本語フォントのマージ手順 に従って作成。
作成完了したら kicad-winbuilder ディレクトに配置

  • copydlls.sh

kicad-winbuilder ディレクトリの copydlls.sh を編集。
250行目付近に2行追加。
(修正しなくても問題ないが存在するファイルなのでちゃんとコピーしてみる。)

echo Building NSIS installer exe...
cp -r $NSISPATH $TARGETDIR
cp $HOME/MINGW-packages/mingw-w64-kicad-git/src/kicad/AUTHORS.txt "$TARGETDIR" ← 追加
cp $HOME/MINGW-packages/mingw-w64-kicad-git/src/kicad/license_for_documentation.txt "$TARGETDIR" ← 追加
}
  • ca-bundle.crt

途中、証明書のエラーが出るので新規作成しておく。

https://curl.haxx.se/ca/cacert.pem
https://www.digicert.com/CACerts/DigiCertHighAssuranceEVRootCA.crt
http://cacerts.digicert.com/DigiCertHighAssuranceEVCA-1.crt

上記3種類の証明書をダウンロード。
digicert の証明書がDER形式なので openssl で変換してから全部まとめる。

openssl x509 -inform der -in DigiCertHighAssuranceEVRootCA.crt -out DigiCertHighAssuranceEVRootCA.pem
openssl x509 -inform der -in DigiCertHighAssuranceEVCA-1.crt -out DigiCertHighAssuranceEVCA-1.pem

cat cacert.pem >> ca-bundle.crt
cat DigiCertHighAssuranceEVRootCA.pem >> ca-bundle.crt
cat DigiCertHighAssuranceEVCA-1.pem >> ca-bundle.crt

作成した ca-bundle.crt は kicad-winbuilder ディレクトリに配置する。

  • KiCad-Winbuilder.cmake

kicad-winbuilder ディレクトリの KiCad-Winbuilder.cmake を編集

100行目付近に2行追加
(boostパッケージのダウングレードファイル定義)

if( i686 )
set( TOOLCHAIN_PACKAGES "${TOOLCHAIN_PACKAGES} mingw-w64-i686-toolchain mingw-w64-i686-boost mingw-w64-i686-cairo mingw-w64-i686-curl mingw-w64-i686-glew mingw-w64-i686-openssl mingw-w64-i686-wxPython mingw-w64-i686-wxWidgets mingw-w64-i686-cmake mingw-w64-i686-gcc mingw-w64-i686-python2 mingw-w64-i686-python2-pip mingw-w64-i686-pkg-config mingw-w64-i686-swig mingw-w64-i686-libxslt bzr git doxygen" )
set( DWONGRADE_PACKAGES "${DWONGRADE_PACKAGES} http://repo.msys2.org/mingw/i686/mingw-w64-i686-boost-1.57.0-4-any.pkg.tar.xz ") ← 追加
endif()

if( x86_64 )
set( TOOLCHAIN_PACKAGES "${TOOLCHAIN_PACKAGES} mingw-w64-x86_64-toolchain mingw-w64-x86_64-boost mingw-w64-x86_64-cairo mingw-w64-x86_64-curl mingw-w64-x86_64-glew mingw-w64-x86_64-openssl mingw-w64-x86_64-wxPython mingw-w64-x86_64-wxWidgets mingw-w64-x86_64-cmake mingw-w64-x86_64-gcc mingw-w64-x86_64-python2 mingw-w64-x86_64-python2-pip mingw-w64-x86_64-pkg-config mingw-w64-x86_64-swig mingw-w64-x86_64-libxslt bzr git doxygen" )
set( DWONGRADE_PACKAGES "${DWONGRADE_PACKAGES} http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-boost-1.57.0-4-any.pkg.tar.xz ") ← 追加
endif()

316行目付近に1行追加
(boostパッケージダウングレードの実行用)

if( NOT EXISTS "${LOG_DIR}/pacman_required_packages" )
# Get the initial required packages and then update pacman again
execute_msys2_bash( "pacman --noconfirm -S base-devel" "${LOG_DIR}/pacman_base_devel" )
execute_msys2_bash( "pacman --noconfirm -S git make ${TOOLCHAIN_PACKAGES}" "${LOG_DIR}/pacman_required_packages" )
execute_msys2_bash( "pacman --noconfirm -Su" "${LOG_DIR}/pacman_required_packages_update" )
execute_msys2_bash( "pacman --noconfirm -U ${DWONGRADE_PACKAGES}" "${LOG_DIR}/pacman_boost_packages_downgrade" ) ← 追加
endif()

334行目付近に1行追加
(証明書ファイルの配置)

message( STATUS "KICAD_PACKAGE_SOURCE_DIR ${KICAD_PACKAGE_SOURCE_DIR}" )
get_filename_component( USERNAME "${HOME_DIR}" NAME )
message( STATUS "MSYS2 user name is: $USERNAME=${USERNAME}" )

execute_msys2_bash( "cp /d/kicad-winbuilder/ca-bundle.crt /usr/ssl/certs/" "${LOG_DIR}/cert_copy" ) ← 追加

# Get the MinGW packages project for MSYS2
if( NOT EXISTS "${HOME_DIR}/MINGW-packages" )
execute_msys2_bash( "cd \"${HOME_DIR}\" && git clone https://github.com/Alexpux/MINGW-packages.git" "${LOG_DIR}/git_clone" )
endif()

この追加部分も cp /d/kicad-winbuilder/ca-…… の /d がドライブレターを表しているので環境で変更する。
例えば Cドライブなら cp /c/kica…… のように。

  • install.nsi

kicad-winbuilder ディレクトリにある nsis ディレクトリの install.nsi ファイルの文字コードが UTF-8N なので UTF-8 か shift-JIS に変換して保存しなおす。

ビルド開始

Windows のコマンドプロンプト起動しカレント移します。

D:
cd kicad-winbilder

文字コード変更
(Win10の場合実行しないと MSYS2 の処理時に文字化けします。Win7は試してないけど4.0.6と一緒で実行しなくても大丈夫だと思います。)

chcp 65001

とりあえず実行

make_all.bat

あとは数時間待ってれば勝手にダウンロードして勝手にビルドして勝手にパッケージングしてくれる・・・はず。
ファイルは

kicad-winbuilder\msys64\home\ユーザー名\out\pack-i686
kicad-winbuilder\msys64\home\ユーザー名\out\pack-x86_64

に作成されます。

スクリプトモジュールを使用したい場合

上記のスクリプトモジュールを無効化した手順でビルド終了した後

  • PKGBUILD

kicad-winbuilder ディレクトリの PKGBUILD (上記手順で変更したもの)をコピーして PKGBUILD_wx に名前変更。
(スクリプトモジュール有効化)

-DKICAD_SKIP_BOOST=ON \
-DKICAD_USE_OCE=ON \
-DKICAD_SCRIPTING=ON \ ← 変更
-DKICAD_SCRIPTING_MODULES=ON \ ← 変更
-DKICAD_SCRIPTING_WXPYTHON=ON \ ← 変更
-DKICAD_SPICE=ON \
-DPYTHON_EXECUTABLE=${MINGW_PREFIX}/bin/python2.exe \
${EXTRA_FLAGS} \
  • MSYS2コンソール起動

エクスプローラーで D:\kicad-winbuilder\msys64 の msys2_shell.cmd をダブルクリックで起動。以降 MSYS2 コンソールで作業

mv /d/kicad-winbuilder/PKGBUILD /d/kicad-winbuilder/PKGBUILD_No-wx
mv /d/kicad-winbuilder/PKGBUILD_wx /d/kicad-winbuilder/PKGBUILD

cd $HOME/MINGW-packages/mingw-w64-wxPython
makepkg-mingw -is

インストールを行いますか? で Y
i686版もインストールを行いますか? で Y

rm $HOME/MINGW-packages/mingw-w64-kicad-git/*.pkg.tar.xz
rm -rf $HOME/out

MSYS コンソールを閉じ コマンドプロンプトで再度 make_all.bat を実行

どうにも面倒でやってられない方

  • 簡単なビルド方法

上記手順が面倒な場合は kicad-winbuilder をダウンロードと解凍する。

kicad_407_files.zip をダウンロードして解凍し、

 

ca-bundle.crt
newstroke_font.cpp
PKGBUILD_wx

ファイルを kicad-winbuilder ディレクトリにコピー

copydlls.sh
KiCad-Winbuilder.cmake
PKGBUILD

ファイルを kicad-winbuilder ディレクトリに上書き

install.nsi

ファイルを kicad-winbuilder\nsis ディレクトリに上書きしてビルドすればOKです。
ダウンロードしたファイルの修正箇所は上記の詳細手順と同じです。

  • スクリプトモジュール有効化

スクリプトコンソールが必要な場合は上記同様エクスプローラーでスクリプトコンソール無効化した手順でビルドした後 D:\kicad-winbuilder\msys64 の msys2_shell.cmd をダブルクリックで起動して、

mv /d/kicad-winbuilder/PKGBUILD /d/kicad-winbuilder/PKGBUILD_No-wx
mv /d/kicad-winbuilder/PKGBUILD_wx /d/kicad-winbuilder/PKGBUILD
cd $HOME/MINGW-packages/mingw-w64-wxPython
makepkg-mingw -is

インストールを行いますか? で Y
i686版もインストールを行いますか? で Y

rm $HOME/MINGW-packages/mingw-w64-kicad-git/*.pkg.tar.xz
rm -rf $HOME/out

実行してMSYS コンソールを閉じ コマンドプロンプトで再度 make_all.bat を実行。

インストールパッケージ

それも面倒な人はインストールパッケージをダウンロードしてください。
(署名はしていませんので、自己責任で有効にしてください。–詳細方法 → 実行–)

32bit版 kicad-4.0.7-i686.exe

64bit版 kicad-4.0.7-x86_64.exe