LoginSignup
6
4

More than 1 year has passed since last update.

MinGWにプルリクエストを送ってlibgrのバージョンをアップデートした話

Last updated at Posted at 2020-08-09

はじめに

こんにちは。MinGWのパッケージをアップデートしたので記事にします。

どうしてMinGWのパッケージのアップデートしなきゃならないの?

パッケージマネージャーって、みんな利用していると思うんですけど、そのメンテナンスに関わったことがある人は意外と少ないと思います。私もMinGWのパッケージをアップデートするのははじめてです。

1年程前から趣味と実益を兼ねてRuby向けのグラフ描出ソフトGR.rbを作っています。
image.png

GR.rbはlibgrのバインディングです。私は普段Windowsを使っていません。しかし、ありがたいことに是非Windowsに対応してほしいという要望があって、詳しい方にPKGBUILDの作成からMinGWにlibgrのパッケージ登録まで全部やって頂きました。

それから少し時間が流れて、本家libgrのバージョンも少しずつ上がっていくので、そろそろアップデートしないといけないなと思い、重い腰を上げて 0.50.0 → 0.51.2 にアップデートしました。

MingGWのパッケージのアップデート、結果的には難しくなかったのですが、MinGWのパッケージをアップデートした日本語の体験記事が全然なくてとても心細い思いをしました。誰かの役に立つようにQiita記事を書きます。

やり方

基本的な方法はhomebrewなどと変わりません。

MSYS2公式ページ
https://www.msys2.org/wiki/Creating-Packages/

に必要な情報が載っていますので、Google翻訳などを使ってざっと目を通すと良いと思われます。

pacmanアップデート

pacman -Syu

一応作業に入る前にパッケージ群をアップデートしておきましょう。

git clone

あとから origin を変更してもいいのですが、最初からForkしてしまった方が作業が楽ですね。

git clone https://github.com/kojix2/MINGW-packages # kojix2を各自のidに変更
cd MINGW-packages/mingw-w64-gr

PKGBUILDの編集

パッケージのバージョン番号を更新します。

PKGBUILD
pkgver=0.51.2

ソースコード tar.gz ファイル のsha256sumを更新します。
sha256sum はWindowsの場合、右クリック->プロパティ->ハッシュ のタブを開いてコピーします。

PKGBUILD
sha256sums=("E6A3D0ED911F6E59CC2293B5694EE18A0620849E666143870A9EDA71C02BB833")

また、今回は、前回適応されていたパッチが不要のようだったので取り除きました。

ビルドとインストール

i686もビルドする場合は以下。

pacman -S mingw-w64-i686-toolchain

そして

MINGW_ARCH=mingw64 makepkg-mingw -sLf
pacman -U mingw-w64-*-gr-*-any.pkg.tar.xst

でできます。

プルリクエストを送る

大丈夫そうだったらブランチを切ってプルリクエストを送りましょう。
忘れずに

git pull --rebase

ブランチの名前はなんでも良さそうですが、gr-0.51.2 としました。update-gr とかでも大丈夫です。
プルリクエストのコミットは、皆さん大文字、小文字が入り乱れていますが、
gr: Update to 0.51.2 もしくは gr: update to 0.51.2 とすればよいようです。

プルリクエストを提出したら、ちゃんとCIが通過しているか確認しましょう。
通過していればメンテナンスをされている方がチェックしてマージしてくれるはずです。

今回のPRは数時間のうちに無事にmergeされました。かなり活発にメンテナンスが行われているようです。

おわりに

MinGWもバージョンをアップデートするだけなら怖くない!

この記事は以上です。

6
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4