Cygwin の GCC 840 をパッケージ化する » 履歴 » リビジョン 2
リビジョン 1 (開発 次郎, 2026/05/16 23:28) → リビジョン 2/3 (開発 次郎, 2026/05/16 23:37)
h1. Cygwin の GCC 840 をパッケージ化する
h2. cygport をインストール
<pre><code class="bash">
/setup-x86_64.exe \
--quiet-mode \
--no-desktop \
--no-shortcuts \
--upgrade-also \
--site https://mirrors.kernel.org/sourceware/cygwin/ \
--packages cygport
</code></pre>
h2. パッケージ用ディレクトリを作成
<pre><code class="bash">
mkdir ~/gcc8-cygport
cd ~/gcc8-cygport
</code></pre>
h2. cygport ファイルを作成(gcc8.cygport)
<pre><code class="bash">
nano gcc8.cygport
</code></pre>
* 内容:
<pre><code class="text">
bash
NAME="gcc8"
VERSION="8.4.0"
RELEASE="1"
CATEGORY="Devel"
SUMMARY="GCC 8.4.0 compiler (custom build)"
DESCRIPTION="Custom-built GCC 8.4.0 with long double=80bit support."
HOMEPAGE="https://gcc.gnu.org/"
SRC_URI=""
PKG_NAMES="gcc8"
# インストール済みの GCC をパッケージ化する
src_install() {
mkdir -p ${D}/usr/local/gcc-8.4
cp -a /usr/local/gcc-8.4/* ${D}/usr/local/gcc-8.4/
}
</code></pre>
* ポイント:
** SRC_URI="" → ソースからビルドしない
** src_install() → 既にインストール済みの GCC をコピーしてパッケージ化
** /usr/local/gcc-8.4 → あなたが昨日インストールした場所
h2. cygport を実行してパッケージ生成
<pre><code class="bash">
cygport gcc8.cygport package
</code></pre>
* 成功すると:
** <pre><code class="text">
gcc8-8.4.0-1.tar.xz
gcc8-8.4.0-1-src.tar.xz
gcc8-8.4.0-1.hint
</code></pre>
が ~/gcc8-cygport の下に生成されます。
h2. パッケージをローカルリポジトリに配置
<pre><code class="bash">
mkdir -p ~/cygwin-local/x86_64/release/gcc8
cp gcc8-8.4.0-1* ~/cygwin-local/x86_64/release/gcc8/
</code></pre>
* 構造:
** <pre><code class="text">
cygwin-local/
└─ x86_64/
└─ release/
└─ gcc8/
├─ gcc8-8.4.0-1.tar.xz
├─ gcc8-8.4.0-1-src.tar.xz
└─ setup.hint
</code></pre>
h2. setup-x86_64.exe でインストール
* 他の PC で:
<pre><code class="bash">
setup-x86_64.exe --local-install --local-package-dir X:\path\to\cygwin-local
</code></pre>
* または GUI で:
** setup-x86_64.exe を起動
** 「Install from Local Directory」を選択
** cygwin-local を指定
** パッケージ一覧に gcc8 が現れる
** インストール
** → 公式パッケージと同じ UI で GCC 8.4.0 がインストールされる