登録日: 2021-10-26 更新日: 2021-12-27
前回、Haiku にて、Linux アプリをHaiku に移植するときに使われる環境 「Haikuports」を構築 しました。
すでに移植されているテキストエディタの「FeatherPad-0.9.2」は日本語化されていないバージョンです。 最新バージョンの「FeatherPad-1.0.1」にバージョンアップしてみました。その備忘録です。
-
-
追記:
2021-11-05
HaikuDepot において「FeatherPad-1.0.1-1」になり、日本語化されました。 なので、本作業を行う必要はなくなりました。 Haiku でのアプリの移植作業の参考にはなると思います。
-
-
USB メモリに「nightly ビルド」の「Haiku R1/beta3」をインストール しました。システムとしては最新です。そこで作業しました。
-
-
使用したPC は「ASUS Chromebox CN60」で、 プロセッサは第4世代の「Intel Celeron 2955U 」です。
-
(注)リンクを戻るときはブラウザの左上の「←」をクリック
-
-
目次
-
-
今回の作業:
1). 「FeatherPad-1.0.1」を「cmake」のレシピでパッケージ化 (成功):
-
2). 「FeatherPad-1.0.1」を手動で「cmake」を使いインストール (成功):
→ヘルプ表示を「個人的な備忘録」として利用したいときに使えます。上記の項番1 と共存できます。
こちらは、一度ホームの実行ファイルをダブルクリックして起動。次からは「最近使ったドキュメント」で起動できます。(未定義のアイコンが目印)
-
-
-
-
--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - -
-
「 Haiku R1/beta3」のデスクトップ
-
「nightly ビルド」のデスクトップ画面:
→「nightly ビルド」は開発版と言えますが、更新の回数が多いので不具合が解消されている可能性があります。
壁紙は個人的に変更しています。
-
「nightly ビルド」のアイコン:
→立ち上げデバイス(ボリューム)には「てんとう虫」マークが付きます。
-
「FeatherPad-1.0.1」にアップすることで日本語化されました:
-
手動でビルドした場合は、ヘルプ表示を個人的な備忘録として利用できる機能が復活:
→「パッケージ化」に失敗しました。でも、そのおかげでHome にインストールされたので、逆に使い勝手が良くなりました。
依存の問題が解決し「パッケージ化」できるようになったら、ホームの「~/config/packages」に配置されるようにレシピを修正すると良いと思います。
-
下記の操作で、ヘルプファイルの先頭に「個人的な備忘録」を追記できます:
> lpe ~/config/non-packaged/apps/FeatherPad/data/help_ja
↓ ヘルプファイルの先頭に追記(例):
### 個人的な備忘録 左クリックを3回で行選択して、Alt+C でコピー lpe ~/config/non-packaged/apps/FeatherPad/data/help_ja - ### コマンドで、システム更新: pkgman refresh pkgman update - ### パッケージ化を実行 cd ~/Git/haikuporter/ hp featherpad - ### パッチファイルで、「makefile」を含む行を表示: inpatch makefile - ### レシピファイルで、「koader」を含む行を表示: inrecipe koader -
→マウスや Shift +「矢印」キーなどでは範囲選択できないので、左クリックを3回で行選択して Alt+C でコピーします。端末には、右クリックで貼り付けできます。その他のアプリへは Alt+V です。
ちなみに「FeatherPad-0.9.2」をホームに配置した場合、ヘルプをさわるときは英語の「help」ファイルをいじります。
-
パッケージ化に成功してインストールした場合は、ヘルプ表示を個人的な備忘録として利用できません
→システムに配置されて書き込みができなくなるので、単なるヘルプファイルとして機能します。
その後の気づきは「こちら 」
-
参考: 手動でビルドした場合のファイルの配置:
→実行ファイルが小文字で、未定義アイコンになっていることに注目。メニューにも反映されます。
インストール時の配置先はホームの「packages」がねらい目。
-
参考: パッケージ化して、インストールした場合のファイルの配置:
→実行ファイルが大文字を含み、通常のアプリのアイコンになっていることに注目。メニューにも反映されます。
-
-
--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --
-
現在のシステムのバージョン:
-
2021-11-11 現在:
~> uname -v hrev55632 Nov 10 2021 08:36:21
→「nightly ビルド」は、頻繁に更新されています。
-
時々、デスクトップが表示しきれないことがあるので、
もし、立ち上げで背景色のまま、デスクトップが表示されないときは「ココ 」を参照
-
-
--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ---
-
1. 前回までの作業:
-
Linux アプリをHaiku に移植するときに使われる環境を準備:
-
参考となるアプリの移植例:
「Haiku」にてアプリを日本語化 「Koder」編〈H136-2〉
「Haiku」にてアプリをバージョンアップ「Notepadqq」編〈H136-3〉
-
今回はその続きとなります。
-
-
--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----
-
2.「haikuports」ツリーにて、アプリを確認:
-
テキストエディタ「featherpad」:
-
在り処の表示:
> cd ~/Git/haikuporter/ > haikuporter -o featherpad /boot/home/Git/haikuports/app-editors/featherpad
> cd ~/Git/haikuports/app-editors/featherpad/ > ls -1 additional-files featherpad-0.9.2.recipe ←(レシピファイル: 必須) patches ←(パッチファイルを置いておくフォルダ) work-0.9.2 ←(作業フォルダ)更新チェックで自動で作られたもの > ls additional-files notepadqq.rdef.in ←(アプリのアイコンなどのリソースが定義されてます) > ls patches featherpad-0.9.2.patchset ←(パッチファイルを使う場合: 現在はなし)
→「.rdef.in 」が置かれている場所はアプリによってはソースの方にある場合もあります。 今回の場合は、パッケージ化のときに作業フォルダに自動でコピーされます。
-
-
--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - -----
-
3. 「featherpad」のインストール関連の情報を収集:
-
公式サイト:
「FeatherPad」:
-
依存パッケージ:
* g++ >= 5 * libx11-dev and libxext-dev (for X11) * qtbase5-dev and libqt5x11extras5-dev (for Qt5) * libqt5svg5-dev (for hard-coded SVG icons) * libhunspell-dev (for spell checking) ←(追加されました) * qttools5-dev-tools (for localization)
-
(1). 「0.9.2」よりも増えた依存パッケージ:
日本語では使わないスペルチェックの機能:
hunspell-devel:
> pkgman search hunspell Status Name Description -------------------------------------------------------------------------------- S enchant Generic spell-checking dictionary library S hunspell Spellchecker, forked from myspell hunspell_devel Spellchecker, forked from myspell (development files ←(必要) hunspell_source Spellchecker, forked from myspell (source files) :
→「Otter Browser」のインストールの依存で上の2つは入っていますが、それ以外に「hunspell_devel」のインストールが必要です。逆に、「hunspell_devel」をインストールすると「hunspell」もインストールされました。
-
(2). 依存のインストール:
> pkgman install hunspell_devel > pkgman search hunspell Status Name Description -------------------------------------------------------------------------------- S enchant Generic spell-checking dictionary library S hunspell Spellchecker, forked from myspell S hunspell_devel Spellchecker, forked from myspell (development files hunspell_source Spellchecker, forked from myspell (source files) :
→「hunspell_devel」をインストールしてから、削除すると依存により「Otter Browser」も削除されるので注意。
-
参考: Xubuntu 20.04.3 での依存パッケージ
$ apt search hunspell hunspell/focal 1.7.0-2build2 amd64 spell checker and morphological analyzer (program) libhunspell-1.7-0/focal,now 1.7.0-2build2 amd64 [インストール済み、自動] ←(実行時に必要なパッケージ) spell checker and morphological analyzer (shared library) libhunspell-dev/focal 1.7.0-2build2 amd64 ←(ビルド時に必要なパッケージ) spell checker and morphological analyzer (development)
→アプリとライブラリが分けてインストールできるので問題が少ないです。featherpad-0.12.1 がインストールされている状態です。
-
翻訳ファイルとヘルプファイル
featherpad/data/translations/featherpad_ja.ts
featherpad/data/help featherpad/data/help_ja featherpad/data/help_pt_BR
→ヘルプファイルは出来たら書き込みできるホームに移動するかリンクできると便利。
-
最新のソースの入手:
-
ダウンロード:
https://github.com/tsujan/FeatherPad/archive/refs/tags/V1.0.1.tar.gz
> sha256sum FeatherPad-1.0.1.tar.gz 62bcb8ceb788a1626c41ee7dc3f3fbebf73b82db31cf76708a79073da0f04414 FeatherPad-1.0.1.tar.gz
-
インストール手順:
-
qmake を使う場合:
> qmake && make > make install
→Haiku に移植済の「FeatherPad-0.9.2」で使われているやり方です。
-
cmake を使う場合:
> mkdir build && cd build > cmake .. > make > make install
→ビルド用のフォルダを作るので、やり直しが楽です。
-
-
--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- -
-
4. 現在、Haiku に移植されている「FeatherPad-0.9.2」の情報:
> haikuporter -o featherpad /boot/home/Git/haikuports/app-editors/featherpad > cd /boot/home/Git/haikuports/app-editors/featherpad/ > ls -1 additional-files featherpad-0.9.2.recipe work-0.9.2 > ls -1 additional-files featherpad.rdef.in > ls -1 work-0.9.2 port.recipe
-
1). 「.rdef.in」ファイル:
> cat ~/Git/haikuports/app-editors/featherpad/additional-files/featherpad.rdef.in
resource app_flags B_MULTIPLE_LAUNCH; resource app_version { major = @MAJOR@, middle = @MIDDLE@, minor = @MINOR@, variety = B_APPV_FINAL, internal = 0, short_info = "FeatherPad", long_info = "Lightweight Qt5 text editor" }; resource app_signature "application/x-vnd.featherpad"; resource file_types message { "types" = "text/x-source-code", "types" = "text/x-makefile", "types" = "text/x-jamfile", "types" = "text/html", "types" = "text/xml", "types" = "text/plain", "types" = "text/rtf" }; resource vector_icon { $"6E6369661A05FE0382848103696B670387898603A7A8A603B3B4B203B4B4B303" $"A2A39F05F903D2D9E105FA034D76A303C8CACA03878F92038EA8C40393999A03" $"AFBCC803090B0C03A0A29E03A4A7A403A9ABA7038B8D8903888A850397999503" $"D2D5CE035B5E592408052020CBFA20CBFACBFA20CBFA20200211B85BB5ACB855" $"B453B768B5A6B48BB593B57EB59AB48BB593B493B613B493B613B493B613B40E" $"B623B40EB623B403BD19B40DCB04B406C40FB40DCB04B46CCACFB46CCACFBBF7" $"CB0BCB12CACEC387CB00CB12CACECB70CB03CB70CB03CB78C40ECB70B626CB7C" $"BD19CB70B626CAEBB60FCAEBB60FCAEBB60FCAEFB593CAEFB593C9FDB59AC722" $"B5ACC817B5A6C726B453C518B5904DB406C49AB53AC32BB523C31DB3CFC1DDB5" $"D6BFE0B56043B3B4BEFCB4E7BD43B5A6BDB1B3F7BC80B456BA66B590BB4FB484" $"BA91B4060207B85BB5ACB87CB65CB855B453BA66B590BA91B406BB4FB484BD43" $"B5A6BC80B456BD43B5A6BD31B60CBD31B60CBD08B6C1BCC0B82DBCE9B777BB87" $"B887BA61B6A2BAF6B77BBAAAB7E6B8B2B7BFB99FB8D5B899B70D000ABD43B5A6" $"BD43B5A6BDB1B3F7BFE0B560BEFCB4E743B3B4C32BB523C1DDB5D6C31CB60CC2" $"CAB7D4C300B6F3C2B7B760C27BB5FDC28FB674C227B6C4C1A4B861C1EFB796C0" $"6FB83EBFA7B61CC00DB70FBF98B736BDF0B87BBF00B81BBD8BB7B9BD31B60C3A" $"B6E1BD31B60CBD43B5A6BD43B5A6BD43B5A60003BE15B5B3BE15B5B3BDBAB64D" $"BE09B788BDB6B6EABF40B7E5BE15B5B3BF75B501BE15B5B30202C0ACB5B345B5" $"1EC025B64AC175B788C095B7BCC1EBB6F00204B493B613B500BC33B55DB632B7" $"BCB690B6F3B670B6DCB697B51AB6B5B5FAB69EB4F5BCA925C892B53AC29FB3B8" $"C28B0204C837B676C8EFB688C90DB60ACAEBB60FCA04B626CA8CBC27CA8FC871" $"CBACC26ECA30C28BCA63B6BBCA94BCA0C9ABB69E0206C32BB523C31CB60CC31D" $"B3CFC518B590C49AB53A4DB406C722B5ACC726B453C702B65BC6CAB7BBC6E5B7" $"0AC5D7B8D5C51EB6A3C4D9B7E5C4BBB768C2CAB7D4C342B906C300B6F30205B4" $"8BB593B48BB593B57EB59AB85BB5ACB768B5A6B87CB65CB8B2B7BFB899B70DB8" $"63B757B7BCB690B810B6F3B6F3B670B493B613B55DB632B493B6130205C722B5" $"ACC702B65BC817B5A6CAEFB593C9FDB59ACAEFB593CAEBB60FCAEBB60FCA04B6" $"26C837B676C90DB60AC796B6AFC6CAB7BBC73AB747C6E5B70A0202BE15B5B3BD" $"BAB64DBF75B501BE09B788BF40B7E5BDB6B6EA0202C0ACB5B3C025B64A45B51E" $"C175B788C1EBB6F0C095B7BC0206B40EB623B403BD19B40EB623B493B613B493" $"B613B500BC3325C892B3B8C28BB50AC92CB51ECA61B516C9C7B4F3CA7DB46CCA" $"CF24CAB4B46CCACFB40DCB04B40DCB04B406C40F0206CAEBB60FCA8CBC27CAEB" $"B60FCB70B626CB70B626CB7CBD19CB70CB03CB78C40ECB70CB03CB12CACECB12" $"CACECAE5CAB4CA5DCA61CA8ACA7DCA6AC9BBCA8FC871CA7CC917CBACC26E0212" $"BCC0B82DBB87B887BCE9B777BD31B60CBD08B6C13AB6E1BDF0B87BBD8BB7B9BD" $"8FB8B5BCC8B927BD2BB8EDBC51B959BB6731BBDCB98F32BA16B72DBA42B77FB9" $"0AB72DBA42B73BBAB8B73BBAB8B7E8BAE1B9F7BB5BB947BB33B904BB92B730BC" $"4FB6A3BA94B79BBC58B8D4BC74B86CBC6AB878BCC6B76FBD46B755BCB5B7DA40" $"B71CC4C9B747C25AB6DEC56CB670C6B3B6A7C60DB627C77D25C892B5F0C85FB5" $"3AC29FB51AB6B5B4F5BCA9B5FAB69EB7BCB690B6DCB697B810B6F3B8B2B7BFB8" $"63B757B99FB8D5BA61B6A2BAAAB7E6BAF6B77B0205BFA7B61CBF98B736C00DB7" $"0FC1A4B861C06FB83EC1A4B861C188B8BBC188B8BBBFF2B8DEBCC8B927BE5DB9" $"0ABD2BB8EDBDF0B87BBD8FB8B5BF00B81B0016C1A4B861C1A4B861C1EFB796C2" $"7BB5FDC227B6C4C28FB674C2CAB7D4C2B7B760C342B906C51EB6A3C4BBB768C4" $"D9B7E5C6CAB7BBC5D7B8D5C73AB747C837B676C796B6AFC8EFB688CA63B6BBC9" $"ABB69ECA94BCA0CA8FC871CA30C28BC41FC832B73CC84BBDACC875B73CC84BB7" $"07C7EDB707C7EDB81DC733B8BBC4BAB868C5EAB98AC47FBB2BC40EBA5BC442BD" $"59C420C1B3C41FBF85C424C18DC3FCC11FC390C144C3B5BFD5C2A3BC57C314BD" $"DFC353BDB5C29EBF8FC09BBEF0C20DBFA8BF35C12DBE38C367BF55C27ABD3BC5" $"18BB37C384BBC2C68EBB42C97FBB3DC806BB44C8FCBAEAC7EABA5BC876BA9BC5" $"E6B979C188B8BBC3C7B891C188B8BBC1A4B861C1A4B861C1A4B8610004C4C9BC" $"F1C4C9BCF1C49DBD2EC41CBDE4C447BDA7C55CBDF5C7E0BDE4C69FBDF5C76DBC" $"83C4C9BCF1C5E9BCDBC4C9BCF10407FA3EC29EC323C29BC3A6C29EC428C29EC4" $"28C40BC428C853C42AC6E7C42AC853C42AC856C3A6C853C323C853C323C6E6C3" $"23C29EC323C40AC323C29EC3230203B9C3C539BB2BC52CB9C3C579B9C5C63DB9" $"C5C5FDBB42C629BDFDC53D3AC703BC93C52E0212BCC8B927BC51B959BE5DB90A" $"C188B8BBBFF2B8DEC3C7B891C7EABA5BC5E6B979C73633C518BB37C5CDBAFFC3" $"84BBC2C12DBE38C27ABD3BC367BF55BF8FC09BBFA8BF35BEF0C20DBC57C314BD" $"B5C29EBC32C334BBC2C390BBE7C372BB9CC3B0BB2BC40EBB51C3EFBA5BC442B8" $"BBC4BAB98AC47FB988C123BF04BC52BCF5BF21BB87BDECB71CC4C9B91CC18BB7" $"47C25AB76FBD46B7DA40B80FBD83B92FBE39B898BDECB93EBDA4B92DBC79B93E" $"BD0F30BC32B9F7BB5BB9C5BBA2BA5BBB1EBAEDBA66BAADBACABB0CBA3EBB6731" $"BB49B9EEBBDCB98F0203B72DBA42B86DBA48B77FB90ABB673132BA16BB49B9EE" $"BAEDBA66BB0CBA3EB9ADBA520204B72DBA42B72DBA42B86DBA48BAEDBA66B9AD" $"BA52BAADBACAB9F7BB5BBA5BBB1EB947BB33B73BBAB8B7E8BAE1B73BBAB80203" $"C7EABA5BC73633C876BA9BC97FBB3DC8FCBAEAC806BB44C518BB37C68EBB42C5" $"CDBAFF0204B730BC4FB79BBC58B6A3BA94B9F7BB5BB904BB92B9C5BBA2B92DBC" $"7930BC32B92DBC79B8D4BC74B8D4BC74B86CBC6A0204B8D4BC74B878BCC6B8D4" $"BC74B92DBC79B92DBC79B93EBD0FB92FBE39B93EBDA4B898BDECB76FBD46B80F" $"BD83B755BCB50205B71CC4C9B6DEC56CB91CC18BBF04BC52BB87BDECBCF5BF21" $"B8BBC4BAB988C123B868C5EAB707C7EDB81DC733B6E1C79EB670C6B329C702B6" $"A7C60D0203C4C9BCF1C49DBD2EC5E9BCDBC7E0BDE4C76DBC83C69FBDF5C41CBD" $"E4C55CBDF5C447BDA70203BBC2C390BD8CC3A2BBE7C372BC57C314BC32C334BD" $"DFC353C11FC390BFD5C2A3BF55C3970204C29EC323C29EC323C40AC323C853C3" $"23C6E6C323C853C323C856C3A6C856C3A6C66CC3A6C29BC3A6C485C3A6C29BC3" $"A60204BB2BC40EBD59C420BB51C3EFBBC2C390BB9CC3B0BD8CC3A2C11FC390BF" $"55C397C144C3B5C1B3C41FC18DC3FCBF85C4240204C29BC3A6C29BC3A6C485C3" $"A6C856C3A6C66CC3A6C856C3A6C853C42AC853C42AC6E7C42AC29EC428C40BC4" $"28C29EC4280203B9C3C539B9C3C579BB2BC52CBDFDC53DBC93C52E3AC703B9C5" $"C63DBB42C629B9C5C5FD020725C892B50AC92CB5F0C85FB670C6B3B627C77D29" $"C702B707C7EDB6E1C79EB707C7EDB73CC84BB73CC84BBDACC875CA8FC871C41F" $"C832CA7CC917CA5DCA61CA6AC9BBC347CA6AB51ECA61BC34CA77B516C9C70204" $"B46CCACFBBF7CB0B24CAB4B51ECA61B4F3CA7DBC34CA77CA5DCA61C347CA6ACA" $"8ACA7DCB12CACECAE5CAB4C387CB001E0A00020001000A010102000A02030304" $"05000A020106000A020107000A030108000A040109000A04010A000A05010B00" $"0A06010C000A07010D000A07010E000A08010F000A090110000A0A0411121314" $"000A0B0115000A0C0116000A0D0117000A0E0118000A0F0119000A10011A000A" $"11011B000A12011C000A13011D000A14011E000A15011F000A160120000A1701" $"21000A180122000A19012300" };
→アプリをシステムに登録するときに必要な情報(アイコン等)です。
-
2). レシピファイル:
> cat ~/Git/haikuports/app-editors/featherpad/featherpad-0.9.2.recipe
-
3). パッチファイル:
なし
-
もし使うときは:
> cd ~/Git/haikuports/app-editors/featherpad/ > mkdir patches > ls -1 additional-files featherpad-0.9.2.recipe patches work-0.9.2 > ls ~/Git/haikuports/app-editors/featherpad/patches/featherpad-0.9.2.patchset
-
-
--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- --
-
5.「FeatherPad-1.0.1」を現在の「qmake」のレシピでパッケージ化 (失敗例):
-
1). レシピファイルの修正:
→レシピファイルは移植されている「featherpad-0.9.2.recipe」を利用するので、「qmake」を使ったビルドのやり方になります。
-
(1). 最新バージョンの「FeatherPad-1.0.1」をダウンロードする指定:
https://github.com/tsujan/FeatherPad/archive/refs/tags/V1.0.1.tar.gz
$ sha256sum FeatherPad-1.0.1.tar.gz 62bcb8ceb788a1626c41ee7dc3f3fbebf73b82db31cf76708a79073da0f04414 FeatherPad-1.0.1.tar.gz
-
(2). コピーして、レシピファイルの名前を変更:
> cd ~/Git/haikuports/app-editors/featherpad/ > cp featherpad-0.9.2.recipe featherpad-1.0.1.recipe > mv featherpad-0.9.2.recipe featherpad-0.9.2.recipe-ORG > ls -1 additional-files featherpad-0.9.2.recipe-ORG featherpad-1.0.1.recipe patches
-
(3). レシピファイル「featherpad-1.0.1.recipe」の修正:
> lpe ~/Git/haikuports/app-editors/featherpad/featherpad-1.0.1.recipe
SOURCE_URI="https://github.com/tsujan/FeatherPad/archive/V$portVersion.tar.gz" CHECKSUM_SHA256="f3ed0bc17b1679e8498d3e453209055274a9f89b1fec01a1201389365d47e67c"
↓ 置換
SOURCE_URI="https://github.com/tsujan/FeatherPad/archive/refs/tags/V$portVersion.tar.gz" CHECKSUM_SHA256="62bcb8ceb788a1626c41ee7dc3f3fbebf73b82db31cf76708a79073da0f04414"
-
依存パッケージの追加:
REQUIRES=" : lib:libhunspell$secondaryArchSuffix ←(最後に追記) " BUILD_REQUIRES=" : devel:libhunspell$secondaryArchSuffix ←(最後に追記) "
→正しい記述なのかはわかりません。
-
依存パッケージのライブラリを確認:
> ls -1 /boot/system/lib/libhunspell* /boot/system/lib/libhunspell-1.7.so.0 /boot/system/lib/libhunspell-1.7.so.0.0.1 > ls -1 /boot/system/develop/lib/libhunspell* /boot/system/develop/lib/libhunspell-1.7.so /boot/system/develop/lib/libhunspell-1.7.so.0 /boot/system/develop/lib/libhunspell-1.7.so.0.0.1
→上記の記述と連動していると思われます。
-
(5). 修正したレシピファイル「featherpad-1.0.1.recipe」を確認:
> cat ~/Git/haikuports/app-editors/featherpad/featherpad-1.0.1.recipe
: SOURCE_URI="https://github.com/tsujan/FeatherPad/archive/refs/tags/V$portVersion.tar.gz" CHECKSUM_SHA256="62bcb8ceb788a1626c41ee7dc3f3fbebf73b82db31cf76708a79073da0f04414" SOURCE_FILENAME="FeatherPad-$portVersion-tar.gz" SOURCE_DIR="FeatherPad-$portVersion" ADDITIONAL_FILES="featherpad.rdef.in" ARCHITECTURES="all !x86_gcc2" SECONDARY_ARCHITECTURES="x86" PROVIDES=" featherpad$secondaryArchSuffix = $portVersion app:FeatherPad$secondaryArchSuffix = $portVersion " REQUIRES=" haiku$secondaryArchSuffix lib:libGL$secondaryArchSuffix lib:libQt5Core$secondaryArchSuffix lib:libQt5Gui$secondaryArchSuffix lib:libQt5Network$secondaryArchSuffix lib:libQt5PrintSupport$secondaryArchSuffix lib:libQt5Svg$secondaryArchSuffix lib:libQt5Widgets$secondaryArchSuffix lib:libz$secondaryArchSuffix lib:libhunspell$secondaryArchSuffix ←(追加の依存: 正しい記述かは疑問?) " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel devel:libGL$secondaryArchSuffix devel:libQt5Core$secondaryArchSuffix devel:libQt5Gui$secondaryArchSuffix devel:libQt5Network$secondaryArchSuffix devel:libQt5PrintSupport$secondaryArchSuffix devel:libQt5Svg$secondaryArchSuffix devel:libQt5Widgets$secondaryArchSuffix devel:libz$secondaryArchSuffix devel:libhunspell$secondaryArchSuffix ←(追加の依存: 正しい記述かは疑問?) " BUILD_PREREQUIRES=" cmd:find cmd:g++$secondaryArchSuffix cmd:ld$secondaryArchSuffix cmd:lrelease$secondaryArchSuffix >= 5 cmd:make cmd:pkg_config$secondaryArchSuffix cmd:qmake$secondaryArchSuffix >= 5 ←(qmake の使用) " BUILD() { qmake PREFIX=$appsDir/FeatherPad make $jobArgs } 以下略
-
2). 「download」フォルダと「work-0.9.2」フォルダを削除
-
3). パッケージ化を実行
> cd ~/Git/haikuporter/ ~/Git/haikuporter> hp featherpad : Validating checksum of FeatherPad-1.0.1-tar.gz Unpacking source of FeatherPad-1.0.1-tar.gz Initialized empty Git repository in /boot/home/Git/haikuports/app-editors/featherpad/work-1.0.1/sources/FeatherPad-1.0.1/.git/ Fetching package for devel:libqt5core ... Fetching package for devel:libhunspell ... *** Failed to find a match for "devel:libhunspell": Name not found ←(エラー) Error: unable to resolve required packages for build for featherpad-1.0.1 Error: dependency-infos: Error: /boot/home/Git/haikuports/repository/featherpad-1.0.1.DependencyInfo Error: repositories: Error: ['/boot/home/Git/haikuports/packages', '/boot/system/packages'] Error:
→依存の「hunspell」が見つからないようです。
-
4). 確認:
-
(1). リポジトリの情報を確認:
> ls -1 /boot/home/Git/haikuports/repository/hun* hunspell_devel-1.7.0.DependencyInfo hunspell_source-1.7.0.DependencyInfo hunspell-1.7.0.DependencyInfo > ls -1 /boot/system/packages/hunspell* /boot/system/packages/hunspell_devel-1.7.0-1-x86_64.hpkg /boot/system/packages/hunspell-1.7.0-1-x86_64.hpkg
→ファイルは(インストールしているので)存在しています。
-
(2). リポジトリの情報の表示:
> cat /boot/home/Git/haikuports/repository/hunspell-1.7.0.DependencyInfo { "architecture" : "x86_64", "buildPrerequires" : [ "cmd:autoconf", "cmd:gcc", "cmd:ld", "cmd:libtoolize", "cmd:make" ], "buildRequires" : [ "haiku_devel", "devel:libiconv", "devel:libintl", "devel:libz" ], "name" : "hunspell", "provides" : [ "hunspell = 1.7.0", "cmd:affixcompress = 1.7.0", "cmd:hunspell = 1.7.0", "cmd:hunspell_analyze = 1.7.0", "cmd:hunspell_chmorph = 1.7.0", "cmd:hunspell_munch = 1.7.0", "cmd:hunspell_unmunch = 1.7.0", "cmd:hunzip = 1.7.0", "cmd:hzip = 1.7.0", "cmd:ispellaff2myspell = 1.7.0", "cmd:makealias = 1.7.0", "cmd:wordforms = 1.7.0", "cmd:wordlist2hunspell = 1.7.0", "lib:libhunspell_1.7 = 0.0.1 compat >= 0" ], "requires" : [ "haiku", "lib:libiconv", "lib:libintl", "lib:libz" ], "testRequires" : [], "version" : "1.7.0" }
> hunspell --version @(#) International Ispell Version 3.2.06 (but really Hunspell 1.7.0) ←(怪しげな表示?)
→ライブラリと言うよりも、アプリとしてインストールされています。バージョンが 2つあるのが怪しいところ。 この辺りが影響しているのかも。
-
5). ファイルの修正がされている状態:
> lpe ~/Git/haikuports/app-editors/featherpad/featherpad-1.0.1.recipe
REQUIRES=" : lib:hunspell$secondaryArchSuffix ←(追加パッケージ) " BUILD_REQUIRES=" : devel:hunspell$secondaryArchSuffix ←(追加パッケージ) "
-
6). わざとパッケージを削除して、自動で依存パッケージがインストールされるかを確認:
-
(1). 依存パッケージがインストールされていないことを確認:
> pkgman uninstall hunspell_devel > pkgman search hunspell Status Name Description ----------------------------------------------------------------------------------------------------- S enchant Generic spell-checking dictionary library S hunspell Spellchecker, forked from myspell hunspell_devel Spellchecker, forked from myspell (development files) hunspell_source Spellchecker, forked from myspell (source files)
-
(2). パッケージ化を実行
> cd ~/Git/haikuporter/ ~/Git/haikuporter> hp featherpad : spellChecker.cpp:27:10: fatal error: hunspell/hunspell.hxx: No such file or directory #include <hunspell/hunspell.hxx> ^~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. Makefile:1370: recipe for target 'spellChecker.o' failed make[1]: *** [spellChecker.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory '/sources/FeatherPad-1.0.1/featherpad' Makefile:46: recipe for target 'sub-featherpad-make_first' failed make: *** [sub-featherpad-make_first] Error 2 Warning: Command '['bash', '-c', '. /wrapper-script']' returned non-zero exit status 2. Error: Build has failed - stopping.
→自動で依存パッケージの「hunspell_devel」はインストールされませんでした。 「hunspell/hunspell.hxx」がないと言っています。
-
-
レシピファイルを使ったパッケージ化だと、ビルド以前の「依存パッケージの認識」が厳しいみたい
→認識が通らないとビルドで失敗します。パッケージ化は無理なので断念。
-
-
--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ---
-
6.「FeatherPad-1.0.1」を「cmake」のレシピでトライ (失敗例):
-
1). ビルドを「qmake」から「cmake」で行う場合のレシピ:
> cd ~/Git/haikuports/app-editors/featherpad/ > cp featherpad-1.0.1.recipe featherpad-1.0.1.recipe-ORG
> lpe ~/Git/haikuports/app-editors/featherpad/featherpad-1.0.1.recipe
: SOURCE_URI="https://github.com/tsujan/FeatherPad/archive/refs/tags/V$portVersion.tar.gz" CHECKSUM_SHA256="62bcb8ceb788a1626c41ee7dc3f3fbebf73b82db31cf76708a79073da0f04414" SOURCE_FILENAME="FeatherPad-$portVersion-tar.gz" SOURCE_DIR="FeatherPad-$portVersion" ADDITIONAL_FILES="featherpad.rdef.in" ARCHITECTURES="all !x86_gcc2" SECONDARY_ARCHITECTURES="x86" PROVIDES=" featherpad$secondaryArchSuffix = $portVersion app:FeatherPad$secondaryArchSuffix = $portVersion " REQUIRES=" haiku$secondaryArchSuffix lib:libGL$secondaryArchSuffix lib:libQt5Core$secondaryArchSuffix lib:libQt5Gui$secondaryArchSuffix lib:libQt5Network$secondaryArchSuffix lib:libQt5PrintSupport$secondaryArchSuffix lib:libQt5Svg$secondaryArchSuffix lib:libQt5Widgets$secondaryArchSuffix lib:libz$secondaryArchSuffix lib:libhunspell$secondaryArchSuffix ←(追加の依存: 正しい記述かは疑問?) " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel devel:libGL$secondaryArchSuffix devel:libQt5Core$secondaryArchSuffix devel:libQt5Gui$secondaryArchSuffix devel:libQt5Network$secondaryArchSuffix devel:libQt5PrintSupport$secondaryArchSuffix devel:libQt5Svg$secondaryArchSuffix devel:libQt5Widgets$secondaryArchSuffix devel:libz$secondaryArchSuffix devel:libhunspell$secondaryArchSuffix ←(追加の依存: 正しい記述かは疑問?) " BUILD_PREREQUIRES=" cmd:find cmd:g++$secondaryArchSuffix cmd:ld$secondaryArchSuffix cmd:lrelease$secondaryArchSuffix >= 5 cmd:make cmd:pkg_config$secondaryArchSuffix cmd:cmake$secondaryArchSuffix ←(cmake の使用) " BUILD() ←(正しい記述かは疑問?) { cmake -B build -S . -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=$prefix make -C build $jobArgs } INSTALL() { make install local APP_SIGNATURE="application/x-vnd-featherpad" local MAJOR="`echo "$portVersion" | cut -d. -f1`" local MIDDLE="`echo "$portVersion" | cut -d. -f2`" local MINOR="`echo "$portVersion" | cut -d. -f3`" local LONG_INFO="$SUMMARY" sed \ -e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \ -e "s|@MAJOR@|$MAJOR|" \ -e "s|@MIDDLE@|$MIDDLE|" \ -e "s|@MINOR@|$MINOR|" \ -e "s|@LONG_INFO@|$LONG_INFO|" \ $portDir/additional-files/featherpad.rdef.in > featherpad.rdef addResourcesToBinaries featherpad.rdef $appsDir/FeatherPad/FeatherPad addAppDeskbarSymlink $appsDir/FeatherPad/FeatherPad }
-
2). cmake を使ったレシピがうまく動くかを確認:
-
(1). レシピファイルを修正:
> lpe ~/Git/haikuports/app-editors/featherpad/featherpad-1.0.1.recipe
→「INSTALL()」以降を削除
-
(2). 「work-1.0.1」フォルダを削除
-
(3). アプリのパッケージ化を実行:
> cd ~/Git/haikuporter/ > hp featherpad : Validating checksum of FeatherPad-1.0.1-tar.gz Unpacking source of FeatherPad-1.0.1-tar.gz Initialized empty Git repository in /boot/home/Git/haikuports/app-editors/featherpad/work-1.0.1/sources/FeatherPad-1.0.1/.git/ Fetching package for devel:libhunspell ... *** Failed to find a match for "devel:libhunspell": Name not found Error: unable to resolve required packages for build for featherpad-1.0.1
→依存の記述のところでエラー。見つからないみたい。
-
(4). 追加した依存の行を削除:
lib:libHUNSPELL$secondaryArchSuffix devel:libHUNSPELLl$secondaryArchSuffix
-
(5). レシピの「BUILD()」以降を削除、「work-1.0.1」フォルダを削除して再実行:
> cd ~/Git/haikuporter/ ~/Git/haikuporter> hp featherpad : } provides { featherpad = 1.0.1 app:featherpad = 1.0.1 } requires { haiku >= r1~beta3_hrev55576-1 lib:libgl >= 1.0.0 lib:libqt5core >= 5.15.2 lib:libqt5gui >= 5.15.2 lib:libqt5network >= 5.15.2 lib:libqt5printsupport >= 5.15.2 lib:libqt5svg >= 5.15.2 lib:libqt5widgets >= 5.15.2 lib:libz >= 1.2.11 } urls { "https://github.com/tsujan/FeatherPad" } source-urls { # Download "https://github.com/tsujan/FeatherPad/archive/refs/tags/V1.0.1.tar.gz" # Location 2 "https://ports-mirror.haiku-os.org/featherpad/V1.0.1.tar.gz" } mimesetting files for package featherpad-1.0.1-1-x86_64.hpkg ... creating package featherpad-1.0.1-1-x86_64.hpkg ... : waiting for build package featherpad-1.0.1-1 to be deactivated grabbing featherpad-1.0.1-1-x86_64.hpkg and moving it to /boot/home/Git/haikuports/packages/featherpad-1.0.1-1-x86_64.hpkg
→その他の依存関連のバージョンはちゃんと表示されています。参考になります。
-
(6). 上の状態で、依存のリストを追加すると、ビルドの指定を削除してもパッケージ化でエラー:
: Skipping download of source for FeatherPad-1.0.1-tar.gz Skipping checksum validation of FeatherPad-1.0.1-tar.gz Skipping unpack of FeatherPad-1.0.1-tar.gz unsetting build flag, as recipe is newer Fetching package for devel:libhunspell ... *** Failed to find a match for "devel:libhunspell": Name not found Error: unable to resolve required packages for build for featherpad-1.0.1 Error: dependency-infos: Error: /boot/home/Git/haikuports/repository/featherpad-1.0.1.DependencyInfo Error: repositories: Error: ['/boot/home/Git/haikuports/packages', '/boot/system/packages'] Error:
-
(7). レシピファイルを使ったパッケージ化だと、ビルド以前の「依存パッケージの認識」が厳しいみたい
→認識が通らないとビルドで失敗します。パッケージ化は無理なので断念。
-
-
--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----
-
7. 参考: もし、パッケージ化に成功したときのインストールのやり方は:
-
1). パッケージ化に成功すると、最後にパッケージ名が表示されます:
~/Git/haikuporter> hp featherpad : grabbing featherpad-1.0.1-1-x86_64.hpkg and moving it to /boot/home/Git/haikuports/packages/featherpad-1.0.1-1-x86_64.hpkg
-
2). 確認:
> ls -1 ~/Git/haikuports/packages/ featherpad-1.0.1-1-x86_64.hpkg ←(追加)
-
3). インストール:
> pkgman install ~/Git/haikuports/packages/featherpad-1.0.1-1-x86_64.hpkg
→システム更新のタイミングで、メニューからの起動は、正規のアプリに上書きされるので注意。でも、右クリックで場所をホームに指定すれば起動は可能。
-
-
--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- -----
-
8.「FeatherPad-1.0.1」を手動で「qmake」を使いインストール (失敗例):
-
レシピファイルの「qmake」を使ったパッケージ化だとエラーするので、手動でqmake を実行してみました:
-
1). 手動で qmake を実行する場合の流れ:
> qmake && make > make install
-
2). 依存の「hunspell_devel」がインストールされている状態で確認:
> pkgman search hunspell S hunspell Spellchecker, forked from myspell S hunspell_devel Spellchecker, forked from myspell (development files) hunspell_source Spellchecker, forked from myspell (source files)
→「hunspell_devel」がインストールされています。
-
3). ビルドの実行:
> cd ~/Git/haikuports/app-editors/featherpad/work-1.0.1/sources/FeatherPad-1.0.1/ ~/Git/haikuports/app-editors/featherpad/work-1.0.1/sources/FeatherPad-1.0.1> qmake && make Info: creating stash file /boot/home/Git/haikuports/app-editors/featherpad/work-1.0.1/sources/FeatherPad-1.0.1/.qmake.stash cd featherpad/ && ( test -e Makefile || /bin/qmake -o Makefile /boot/home/Git/haikuports/app-editors/featherpad/work-1.0.1/sources/FeatherPad-1.0.1/featherpad/featherpad.pro ) && make -f Makefile make[1]: Entering directory '/boot/home/Git/haikuports/app-editors/featherpad/work-1.0.1/sources/FeatherPad-1.0.1/featherpad' /boot/system/bin/lrelease data/translations/featherpad_ar_DZ.ts -qm data/translations/translations/featherpad_ar_DZ.qm Updating 'data/translations/translations/featherpad_ar_DZ.qm'... 345 件のメッセージを翻訳しました(完了 345 件、未完了 0 件) 89 件の未翻訳のソーステキストを無視しました : /boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: cannot find -lhunspell collect2: error: ld returned 1 exit status Makefile:438: recipe for target 'FeatherPad' failed make[1]: *** [FeatherPad] Error 1 make[1]: Leaving directory '/boot/home/Git/haikuports/app-editors/featherpad/work-1.0.1/sources/FeatherPad-1.0.1/featherpad' Makefile:46: recipe for target 'sub-featherpad-make_first' failed make: *** [sub-featherpad-make_first] Error 2
→「hunspell」がロードできないみたい。
-
qmake だとエラー時の情報が少ないので、cmake を試しました:
-
-
--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- -
-
9.「FeatherPad-1.0.1」を手動で「cmake」を使いインストール (失敗例):
-
依存する「hunspell_devel」がインストールされていない場合です:
> pkgman search HUNSPELL Status Name Description ----------------------------------------------------------------------------------------------------- S enchant Generic spell-checking dictionary library S hunspell Spellchecker, forked from myspell hunspell_devel Spellchecker, forked from myspell (development files) hunspell_source Spellchecker, forked from myspell (source files)
→「hunspell_devel」はインストールされていません。
-
ビルドの実行:
> cd ~/Git/haikuports/app-editors/featherpad/work-1.0.1/sources/FeatherPad-1.0.1/ > mkdir build && cd build build> cmake ..
-- The C compiler identification is GNU 8.3.0 -- The CXX compiler identification is GNU 8.3.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found PkgConfig: /bin/pkg-config (found version "0.29.2") CMake Error at /boot/system/data/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message): Could NOT find HUNSPELL: Found unsuitable version "", but required is at least "1.6" (found HUNSPELL_LIBRARIES-NOTFOUND) Call Stack (most recent call first): /boot/system/data/cmake/Modules/FindPackageHandleStandardArgs.cmake:592 (_FPHSA_FAILURE_MESSAGE) cmake/Modules/FindHUNSPELL.cmake:13 (find_package_handle_standard_args) featherpad/CMakeLists.txt:14 (find_package) -- Configuring incomplete, errors occurred! See also "/boot/home/Git/haikuports/app-editors/featherpad/work-1.0.1/sources/FeatherPad-1.0.1/build/CMakeFiles/CMakeOutput.log".
→「hunspell」をインストールして、「hunspell_devel」をインストールしない場合だと、 「HUNSPELL」が「1.6」以上ではない、不適切なバージョンとして認識されました。
-
-
--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- --
-
10.「FeatherPad-1.0.1」を手動で「cmake」を使いインストール (成功例):
-
依存の「hunspell_devel」を事前にインストールしておく場合です:
-
1). 手動で cmake を実行する場合の流れ:
> mkdir build && cd build > cmake .. > make > make install
-
2). cmake のインストール:
> pkgman install cmake > cmake --version cmake version 3.21.3
-
3). 手動でビルドするなら、レシピファイルを修正して行うときれいに作業できます:
> lpe ~/Git/haikuports/app-editors/featherpad/featherpad-1.0.1.recipe
-
下記を追加していたら、その行を削除:
REQUIRES=" : lib:hunspell$secondaryArchSuffix ←(追加パッケージ) " BUILD_REQUIRES=" : devel:hunspell$secondaryArchSuffix ←(追加パッケージ) "
-
「BUILD()」以降の行をバッサリ削除
-
レシピファイルの確認:
> lpe ~/Git/haikuports/app-editors/featherpad/featherpad-1.0.1.recipe
SUMMARY="A lightweight Qt5 plain-text editor for Linux" DESCRIPTION="FeatherPad (by Pedram Pourang, a.k.a. Tsu Jan \ <tsujan2000@gmail.com>) is a lightweight Qt5 plain-text editor for Linux \ It is independent of any desktop environment and has: \ * Drag-and-drop support, including tab detachment and attachment; * X11 virtual desktop awareness (using tabs on current desktop but opening \ a new window on another); * An optionally permanent search-bar with a different search entry for each tab; * Instant highlighting of found matches when searching; * A docked window for text replacement; * Support for showing line numbers and jumping to a specific line; * Automatic detection of text encoding as far as possible and optional \ saving with encoding; * Syntax highlighting for common programming languages; * Ability to open URLs with appropriate applications; * Session management; * Side-pane mode; * Auto-saving; * Printing; * Text zooming; * Appropriate but non-interrupting prompts; * Haiku OS support; and * Other features that can be found in its settings, on its menus or when it is actually used." HOMEPAGE="https://github.com/tsujan/FeatherPad" COPYRIGHT="2016, 2018 Pedram Pourang" LICENSE="GNU GPL v3" REVISION="1" SOURCE_URI="https://github.com/tsujan/FeatherPad/archive/refs/tags/V$portVersion.tar.gz" CHECKSUM_SHA256="62bcb8ceb788a1626c41ee7dc3f3fbebf73b82db31cf76708a79073da0f04414" SOURCE_FILENAME="FeatherPad-$portVersion-tar.gz" SOURCE_DIR="FeatherPad-$portVersion" ADDITIONAL_FILES="featherpad.rdef.in" ARCHITECTURES="all !x86_gcc2" SECONDARY_ARCHITECTURES="x86" PROVIDES=" featherpad$secondaryArchSuffix = $portVersion app:FeatherPad$secondaryArchSuffix = $portVersion " REQUIRES=" haiku$secondaryArchSuffix lib:libGL$secondaryArchSuffix lib:libQt5Core$secondaryArchSuffix lib:libQt5Gui$secondaryArchSuffix lib:libQt5Network$secondaryArchSuffix lib:libQt5PrintSupport$secondaryArchSuffix lib:libQt5Svg$secondaryArchSuffix lib:libQt5Widgets$secondaryArchSuffix lib:libz$secondaryArchSuffix " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel devel:libGL$secondaryArchSuffix devel:libQt5Core$secondaryArchSuffix devel:libQt5Gui$secondaryArchSuffix devel:libQt5Network$secondaryArchSuffix devel:libQt5PrintSupport$secondaryArchSuffix devel:libQt5Svg$secondaryArchSuffix devel:libQt5Widgets$secondaryArchSuffix devel:libz$secondaryArchSuffix " BUILD_PREREQUIRES=" cmd:find cmd:g++$secondaryArchSuffix cmd:ld$secondaryArchSuffix cmd:lrelease$secondaryArchSuffix >= 5 cmd:make cmd:pkg_config$secondaryArchSuffix cmd:cmake$secondaryArchSuffix "
→上記の内容ですべて上書きしてもOK です。
-
4). 「download」フォルダと「work-1.0.1」フォルダを削除
> rm -r /boot/home/Git/haikuports/app-editors/featherpad/download > rm -r /boot/home/Git/haikuports/app-editors/featherpad/work-1.0.1
-
5). パッケージ化を実行
> cd ~/Git/haikuporter/ ~/Git/haikuporter> hp featherpad : waiting for build package featherpad-1.0.1-1 to be deactivated grabbing featherpad-1.0.1-1-x86_64.hpkg and moving it to /boot/home/Git/haikuports/packages/featherpad-1.0.1-1-x86_64.hpkg
→パッケージ化はできていないけど、成功したみたいにきれいに終了します。
-
8). 追加すべき「hunspell_devel」がインストールされていることを確認:
> pkgman search hunspell_devel Status Name Description ----------------------------------------------------------------------------- S hunspell_devel Spellchecker, forked from myspell (development files)
-
9). cmake を実行:
> cd ~/Git/haikuports/app-editors/featherpad/work-1.0.1/sources/FeatherPad-1.0.1/ > mkdir build && cd build build> cmake ..
-- The C compiler identification is GNU 8.3.0 -- The CXX compiler identification is GNU 8.3.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found PkgConfig: /bin/pkg-config (found version "0.29.2") -- Found HUNSPELL: /packages/hunspell-1.7.0-1/.self/develop/lib/libhunspell-1.7.so (found suitable version "1.7.0", minimum required is "1.6") -- Configuring done -- Generating done -- Build files have been written to: /boot/home/Git/haikuports/app-editors/featherpad/work-1.0.1/sources/FeatherPad-1.0.1/build
→最低限必要なのは「1.6」で、適切なバージョンの「1.7.0」が見つかりました。と表示。 「cmake」だと「hunspell_devel」が認識できました。パッケージ化のスクリプトだと、チェックが厳しいようです。 移植されている「hunspell」は互換バッケージだということもあるみたい。
-
10). make を実行:
build> make
[ 1%] Automatic MOC and UIC for target featherpad [ 1%] Built target featherpad_autogen [ 2%] Generating featherpad_zh_TW.qm Updating '/boot/home/Git/haikuports/app-editors/featherpad/work-1.0.1/sources/FeatherPad-1.0.1/build/featherpad/featherpad_zh_TW.qm'... 384 件のメッセージを翻訳しました(完了 383 件、未完了 1 件) 50 件の未翻訳のソーステキストを無視しました : [ 44%] Generating featherpad_zh_CN.qm Updating '/boot/home/Git/haikuports/app-editors/featherpad/work-1.0.1/sources/FeatherPad-1.0.1/build/featherpad/featherpad_zh_CN.qm'... 434 件のメッセージを翻訳しました(完了 434 件、未完了 0 件) [ 45%] Building CXX object featherpad/CMakeFiles/featherpad.dir/featherpad_autogen/mocs_compilation.cpp.o [ 46%] Building CXX object featherpad/CMakeFiles/featherpad.dir/main.cpp.o : [ 98%] Building CXX object featherpad/CMakeFiles/featherpad.dir/featherpad_autogen/QYFM2Z2WYQ/qrc_fp.cpp.o [100%] Linking CXX executable featherpad [100%] Built target featherpad
→make も正常に完了。cmake を使うやり方でうまく行きました。あとは「make install」して、システムに配置するだけです。
-
> cd ~/Git/haikuports/app-editors/featherpad/work-1.0.1/sources/FeatherPad-1.0.1/build/ build> ls cmake_install.cmake CMakeCache.txt CMakeFiles featherpad Makefile build> ls featherpad/ cmake_install.cmake featherpad_et.qm featherpad_pl.qm CMakeFiles featherpad_fa.qm featherpad_pt_BR.qm featherpad featherpad_fi.qm featherpad_pt.qm featherpad_ar_DZ.qm featherpad_fr.qm featherpad_ru.qm featherpad_autogen featherpad_he.qm featherpad_si.qm featherpad_bg.qm featherpad_hu.qm featherpad_sk_SK.qm featherpad_cs.qm featherpad_id.qm featherpad_tr.qm featherpad_cy.qm featherpad_it.qm featherpad_uk.qm featherpad_da.qm featherpad_ja.qm featherpad_zh_CN.qm featherpad_de.qm featherpad_ko.qm featherpad_zh_TW.qm featherpad_el.qm featherpad_lt.qm Makefile featherpad_eo.qm featherpad_nb_NO.qm featherpad_es.qm featherpad_nl.qm
-
11). make install を実行:
build> make install
[ 1%] Automatic MOC and UIC for target featherpad [ 1%] Built target featherpad_autogen Consolidate compiler generated dependencies of target featherpad [100%] Built target featherpad Install the project... -- Install configuration: "Release" -- Installing: /boot/home/config/non-packaged/apps/FeatherPad/translations/featherpad_ar_DZ.qm : -- Installing: /boot/home/config/non-packaged/apps/FeatherPad/translations/featherpad_ja.qm -- Installing: /boot/home/config/non-packaged/apps/FeatherPad/translations/featherpad_ko.qm -- Installing: /boot/home/config/non-packaged/apps/FeatherPad/translations/featherpad_lt.qm : -- Installing: /boot/home/config/non-packaged/apps/FeatherPad/translations/featherpad_zh_TW.qm -- Installing: /boot/home/config/non-packaged/apps/FeatherPad/featherpad -- Installing: /boot/home/config/non-packaged/apps/FeatherPad/data/help -- Installing: /boot/home/config/non-packaged/apps/FeatherPad/data/help_ja -- Installing: /boot/home/config/non-packaged/apps/FeatherPad/data/help_pt_BR
→インストール完了。
-
12). これは、「パッケージ化せずにインストールした場合」になります:
→ホームの「/boot/home/config/non-packaged/apps/FeatherPad/」にファイルが配置されます。
-
(1). システムファイル:
> cd /boot/home/config/non-packaged/apps/FeatherPad/ > ls -1 data featherpad ←(実行ファイル) translations
> ls -1 data/ help ←(日本語のヘルプがないときのヘルプファイル) help_ja ←(日本語用のヘルプファイル) help_pt_BR ←(ブラジルのポルトガル語用のヘルプファイル)
> ls -1 translations/*ja* translations/featherpad_ja.qm ←(日本語の翻訳ファイル)
-
ホームに置かれたことで「ヘルプフィルを個人的な備忘録として使用」できます。
下記の操作で、ヘルプファイルの先頭に「個人的な備忘録」を追記できます:
> lpe ~/config/non-packaged/apps/FeatherPad/data/help_ja
→「featherpad」の場合はパッケージ化せずに、そのままインストールした方が使い勝手は良いですね。
-
(2). 自動で作られる設定ファイル:
> ls -1 /boot/home/config/settings/featherpad/featherpad/ fp_last_cursor_pos.conf ←(最後に開いていたウィンドウの情報を保持) fp.conf ←(FeatherPad で設定した情報を保持)
-
(3). アプリの起動は、テキストファイルを右クリックでアプリを選択は今のところできません:
初めてのアプリの起動は、ファイルマネージャでクリックを繰り返し:
~/home/ config/ non-packaged/ apps /FeatherPad/ →「featherpad」をダブルクリック→起動
次は、メニュー→「最近使ったドキュメント」→「featherpad」(アイコンに注目)→起動
-
(4). 後で、メニューへの登録や、アイコンの登録を手動で行うやり方を学ぶ必要あり:
レシピファイルを使うときは下記により登録されます。今回は使えません:
addResourcesToBinaries featherpad.rdef $appsDir/FeatherPad/FeatherPad addAppDeskbarSymlink /boot/home/config/non-packaged/apps/FeatherPad/FeatherPad
-
参考:
-
-
--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ---
-
11. 「FeatherPad-1.0.1」のバージョンアップにトライで、わかったこと:
-
1). レシピファイルを使った「パッケージ化」は、依存パッケージの「devel:libhunspell」を認識できず、エラー
-
2). 手動で「qmake」を使ってビルドしても、エラー
-
3). 手動で「cmake」を使ってのビルド、およびインストールはできました
→「依存パッケージ」の認識のしかたが違うみたい。
-
「devel:libhunspell」はバージョンを誤認識されやすい、パッケージみたい:
> hunspell --version @(#) International Ispell Version 3.2.06 (but really Hunspell 1.7.0) ←(怪しげな表示?)
→バージョン「1.6」以上が必要です。
-
-
--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----
-
12. 追記:「FeatherPad-1.0.1」を現在の「qmake」のレシピでパッケージ化 (失敗例2):
-
1). 依存の「devel:libhunspell」の記述のしかたを見つけました:
-
検索:
> inrecipe hunspell /boot/home/Git/haikuports/app-editors/focuswriter/focuswriter-1.7.6.recipe:25: lib:libhunspell_1.7$secondaryArchSuffix /boot/home/Git/haikuports/app-editors/focuswriter/focuswriter-1.7.6.recipe:38: devel:libhunspell_1.7$secondaryArchSuffix
-
2). レシピファイル「featherpad-1.0.1.recipe」を修正:
> cat ~/Git/haikuports/app-editors/featherpad/featherpad-1.0.1.recipe
: SOURCE_URI="https://github.com/tsujan/FeatherPad/archive/refs/tags/V$portVersion.tar.gz" CHECKSUM_SHA256="62bcb8ceb788a1626c41ee7dc3f3fbebf73b82db31cf76708a79073da0f04414" SOURCE_FILENAME="FeatherPad-$portVersion-tar.gz" SOURCE_DIR="FeatherPad-$portVersion" ADDITIONAL_FILES="featherpad.rdef.in" ARCHITECTURES="all !x86_gcc2" SECONDARY_ARCHITECTURES="x86" PROVIDES=" featherpad$secondaryArchSuffix = $portVersion app:FeatherPad$secondaryArchSuffix = $portVersion " REQUIRES=" haiku$secondaryArchSuffix lib:libGL$secondaryArchSuffix lib:libhunspell_1.7$secondaryArchSuffix lib:libQt5Core$secondaryArchSuffix lib:libQt5Gui$secondaryArchSuffix lib:libQt5Network$secondaryArchSuffix lib:libQt5PrintSupport$secondaryArchSuffix lib:libQt5Svg$secondaryArchSuffix lib:libQt5Widgets$secondaryArchSuffix lib:libz$secondaryArchSuffix " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel devel:libGL$secondaryArchSuffix devel:libhunspell_1.7$secondaryArchSuffix devel:libQt5Core$secondaryArchSuffix devel:libQt5Gui$secondaryArchSuffix devel:libQt5Network$secondaryArchSuffix devel:libQt5PrintSupport$secondaryArchSuffix devel:libQt5Svg$secondaryArchSuffix devel:libQt5Widgets$secondaryArchSuffix devel:libz$secondaryArchSuffix " BUILD_PREREQUIRES=" cmd:find cmd:g++$secondaryArchSuffix cmd:ld$secondaryArchSuffix cmd:lrelease$secondaryArchSuffix >= 5 cmd:make cmd:pkg_config$secondaryArchSuffix cmd:qmake$secondaryArchSuffix >= 5 " BUILD() { qmake PREFIX=$appsDir/FeatherPad make $jobArgs }
→たぶん、そこまでは行けないだろうから、「INSTALL()」以降は削除。
-
3). 「download」フォルダと「work-1.0.1」フォルダを削除
-
4). パッケージ化を実行
> cd ~/Git/haikuporter/ ~/Git/haikuporter> hp featherpad : /boot/system/develop/tools/bin/../lib/gcc/x86_64-unknown-haiku/8.3.0/../../../../x86_64-unknown-haiku/bin/ld: cannot find -lhunspell collect2: error: ld returned 1 exit status Makefile:438: recipe for target 'FeatherPad' failed make[1]: *** [FeatherPad] Error 1 make[1]: Leaving directory '/sources/FeatherPad-1.0.1/featherpad' Makefile:46: recipe for target 'sub-featherpad-make_first' failed make: *** [sub-featherpad-make_first] Error 2
→以前よりも前進しました。最初のところで依存が認識されました。
-
lib:libhunspell_1.7 >= 0.0.1
惜しいかな、「make $jobArgs」に入ってしばらくして、hunspell が見つからないというおなじみのエラーです。難しいですね。
-
-
--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- -----
-
13. 追記: 「focuswriter-1.7.6」を現在の「qmake」のレシピでパッケージ化 (成功例):
-
1). 依存の「devel:libhunspell」の記述を参考にしたアプリです:
→レシピの書き方が「Featherpad」とほとんど同じなので、同じ人が移植したのかもしれません。
-
2). 試しにパッケージ化がうまく行くのか試してみました
> hp focuswriter
→「focuswriter」は「qmake」のレシピでOK 。アプリのプログラムの作り方の差かな。プログラムの作り手は違う人。
-
3). パスの変数
pwd /sources/focuswriter-1.7.6 →/boot/home/Git/haikuports/app-ditors/focuswriter/work-1.7.6/sources/focuswriter-1.7.6/ - echo $appsDir /packages/focuswriter-1.7.6-1/.self/apps →/boot/home/Git/haikuports/app-ditors/focuswriter/work-1.7.6/packages/focuswriter-1.7.6-1/.self/apps - echo $portDir 表示なし
-
-
--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- -
-
14. 追記: 「FeatherPad-1.0.1」を「cmake」のレシピでパッケージ化 (成功):
-
パッケージ化出来ると便利なので、可能性の高い「cmake」にトライ。
-
1). レシピファイル「featherpad-1.0.1.recipe」を修正:
> cat ~/Git/haikuports/app-editors/featherpad/featherpad-1.0.1.recipe
: SOURCE_URI="https://github.com/tsujan/FeatherPad/archive/refs/tags/V$portVersion.tar.gz" CHECKSUM_SHA256="62bcb8ceb788a1626c41ee7dc3f3fbebf73b82db31cf76708a79073da0f04414" SOURCE_FILENAME="FeatherPad-$portVersion-tar.gz" SOURCE_DIR="FeatherPad-$portVersion" ADDITIONAL_FILES="featherpad.rdef.in" ARCHITECTURES="all !x86_gcc2" SECONDARY_ARCHITECTURES="x86" PROVIDES=" featherpad$secondaryArchSuffix = $portVersion app:FeatherPad$secondaryArchSuffix = $portVersion " REQUIRES=" haiku$secondaryArchSuffix lib:libGL$secondaryArchSuffix lib:libhunspell_1.7$secondaryArchSuffix lib:libQt5Core$secondaryArchSuffix lib:libQt5Gui$secondaryArchSuffix lib:libQt5Network$secondaryArchSuffix lib:libQt5PrintSupport$secondaryArchSuffix lib:libQt5Svg$secondaryArchSuffix lib:libQt5Widgets$secondaryArchSuffix lib:libz$secondaryArchSuffix " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel devel:libGL$secondaryArchSuffix devel:libhunspell_1.7$secondaryArchSuffix devel:libQt5Core$secondaryArchSuffix devel:libQt5Gui$secondaryArchSuffix devel:libQt5Network$secondaryArchSuffix devel:libQt5PrintSupport$secondaryArchSuffix devel:libQt5Svg$secondaryArchSuffix devel:libQt5Widgets$secondaryArchSuffix devel:libz$secondaryArchSuffix " BUILD_PREREQUIRES=" cmd:find cmd:g++$secondaryArchSuffix cmd:ld$secondaryArchSuffix cmd:lrelease$secondaryArchSuffix >= 5 cmd:make cmd:pkg_config$secondaryArchSuffix cmd:cmake$secondaryArchSuffix " BUILD() { mkdir -p build cd build cmake .. -DCMAKE_INSTALL_PREFIX:PATH="$appsDir/FeatherPad" \ -DCMAKE_BUILD_TYPE=Release make $jobArgs } INSTALL() { cd build make install mv $appsDir/FeatherPad/featherpad \ $appsDir/FeatherPad/FeatherPad local APP_SIGNATURE="application/x-vnd.featherpad" local MAJOR="`echo "$portVersion" | cut -d. -f1`" local MIDDLE="`echo "$portVersion" | cut -d. -f2`" local MINOR="`echo "$portVersion" | cut -d. -f3`" sed \ -e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \ -e "s|@MAJOR@|$MAJOR|" \ -e "s|@MIDDLE@|$MIDDLE|" \ -e "s|@MINOR@|$MINOR|" \ $portDir/additional-files/featherpad.rdef.in > featherpad.rdef addResourcesToBinaries featherpad.rdef $appsDir/FeatherPad/FeatherPad addAppDeskbarSymlink $appsDir/FeatherPad/FeatherPad "FeatherPad" }
→今のところシステムに配置されるので、ヘルプファイルに書き込みはできません。
-
2). 「download」フォルダと「work-1.0.1」フォルダを削除
ちょっとしたレシピの変更程度なら要りません。
-
3). パッケージ化を実行
> cd ~/Git/haikuporter/ ~/Git/haikuporter> hp featherpad : grabbing featherpad-1.0.1-1-x86_64.hpkg and moving it to /boot/home/Git/haikuports/packages/featherpad-1.0.1-1-x86_64.hpkg
→「パッケージ化」できました。
-
> pkgman install /boot/home/Git/haikuports/packages/featherpad-1.0.1-1-x86_64.hpkg : install package featherpad-1.0.1-1 from local file : [system] Done.
→インストールできました。
-
メニューからの起動もOK 。日本語化されています
-
(注意) : システム更新のタイミングで、メニューからの起動は、正規のアプリに上書きされます
上書きされても、右クリックで場所をホームに指定すれば起動は可能。
→でも、こちらがバージョンが上のときは上書きされるのかな?
-
アプリの充実のため、プルリクエスト 実施
→「Files changed」タブでファイル差分が確認できます。
- マージされており、HaikuDepot でインストールできました。対応が速いですね。
-
HaikuDepot のアプリの紹介欄の「パッケージについて」の文章が、レシピファイルの頭にある「DESCRIPTION=" "」の行になるみたい。Markdown の形式のようで、一部で改行をミスってます。←よく見ると、以前の内容です。直接反映されるわけではないみたい。(サーバー上の登録内容を表示)
-
もし、開発の残骸があると、インストールでエラーするので、一度アプリをアンインストール後に、下記を削除:
/boot/home/config/non-packaged/apps/featherpad /boot/system/packages/administrative/「state_2021-10-30_14:22:12」の形式すべて
→ゴミ箱への移動でエラーしたら、Shift+「移動」をクリック
アンインストールしても、インストール時には、バックアップから優先してアプリが復元されます。
-
-
4). 色々調べてわかったこと
-
手動でのインストール時:
$appsDir = "/boot/home/config/non-packaged/apps"
-
パッケージ化の時:
$appsDir = "/packages/featherpad-1.0.1-1/.self/apps/"
→パッケージ化の時は、作業ディレクトリ「~/Git/haikuports/app-editors/featherpad/work-1.0.1/」がroot で、 「sources/FeatherPad-1.0.1/build」がpwd になる「chroot」の環境になっており、ファイルのパスが変わることに注意。ちなみに、「.self」はパッケージの中だけで有効なディレクトリです。また、実体が別のリンクされているフォルダも多いです。
-
「Haiku」での「パッケージ化」とは
他のディストリビューションでの「パッケージ化」は、事前にソースからビルドしておいて、インストール時に出来たバイナリをシステムに再配置できるように構成したものです。
ところが 「Haiku」の「パッケージ化」は、ゲーム機のゲームカートリッジ(アプリや共有ライブラリを含んだファイルシステム)を作るような仕組みです。使うときに差し込む(マウントする)ように出来ています。なので、同じつもりで移植していると混乱します。また、chroot となることで、システムの書き込み保護を回避しています。
-
5). 参考: 「パッケージ化」に備えて、実行ファイルが集められていました:
/boot/home/Git/haikuports/app-editors/featherpad/work-1.0.1/packaging/featherpad/featherpad /boot/home/Git/haikuports/app-editors/featherpad/work-1.0.1/packaging/featherpad/settings /boot/home/Git/haikuports/app-editors/featherpad/work-1.0.1/packaging/featherpad/data/help /boot/home/Git/haikuports/app-editors/featherpad/work-1.0.1/packaging/featherpad/data/help_ja /boot/home/Git/haikuports/app-editors/featherpad/work-1.0.1/packaging/featherpad/data/help_pt_BR /boot/home/Git/haikuports/app-editors/featherpad/work-1.0.1/packaging/featherpad/translations/featherpad_ja.qm
-
-
--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- --
-
15. 追記: ビルドしてインストールした場合でも、ヘルプ表示を個人的な備忘録として利用:
ビルドに成功してインストールした場合は、システムが書き込み保護されているので、ヘルプ表示を個人的な備忘録として利用できないと、述べましたが、ビルドの環境があればファイルの操作ができることに気づきました。
-
- 通常のファイル操作より面倒なので、更新しなくても永く使えるテキストにするのがベターです。
-
手順:
1. 一度、パッケージ化を実行します。(ソースファイルが展開されます)
> cd ~/Git/haikuporter/ > hp featherpad
-
2. ヘルプファイルの先頭に、好みのテキストを追記:
> lpe ~/Git/haikuports/app-editors/featherpad/work-1.0.1/sources/FeatherPad-1.0.1/featherpad/data/help_ja
記述例:
### 個人的な備忘録 左クリックを3回で行選択して、Alt+C でコピー lpe ~/config/non-packaged/apps/FeatherPad/data/help_ja →マウスや Shift +「矢印」キーなどでは範囲選択できないので、左クリックを3回で行選択して Alt+C でコピーします。端末には、右クリックで貼り付けできます。その他のアプリへは Alt+V です。 - ### コマンドで、システム更新: pkgman refresh pkgman update - ### パッケージ化を実行: cd ~/Git/haikuporter/ hp featherpad - ### パッチファイルで、「makefile」を含む行を表示: inpatch makefile - ### レシピファイルで、「featherpad」を含む行を表示: inrecipe featherpad -
→プロンプト「~>」を記入していないのは、クリック3回で行選択したまま使えるようにするためです。
-
3. 作業ディレクトリを削除せずに、パッケージ化を実行
> cd ~/Git/haikuporter/ > hp featherpad
-
4. インストール
> pkgman install ~/Git/haikuports/packages/featherpad-1.0.1-1-x86_64.hpkg
-
5. 「featherpad」を起動すれば、ヘルプでレビューできます。
-
-
まとめ
移植済の「FeatherPad-0.9.2」を「FeatherPad-1.0.1」にアップできるかトライしました。 アップすることで日本語化ができました。
-
今回は、「依存パッケージをインストールしても正規のバージョンとして認識されない」ケースでした。
-
問題だったのは、追加された依存パッケージを「パッケージ化のスクリプト」が正しいバージョンと認識してくれないことで、指定のやり方が良くなかったみたい。修正にて前に進みました。
今度は今までのやり方の「qmake」でなく「cmake」しか通らないので、レシピの変更が必要でした。色々と試行してやっと通りました。ちょっとしたパラメータの違いで動きが全然違います。
-
手動でもビルドしてアプリのインストールを行いましたが、ビルドのときに「パッケージ化」のスクリプトを利用することで、(すでにほとんどの依存関係が解決しているので)通常のビルド作業よりも楽が出来ました。開発環境としてもすぐれていると思います。
-
-
-
-
目次
-
-
- 目次
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - -
- 「 Haiku R1/beta3」のデスクトップ
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --
- 現在のシステムのバージョン:
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ---
- 1. 前回までの作業:
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----
- 2.「haikuports」ツリーにて、アプリを確認:
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - -----
- 3. 「featherpad」のインストール関連の情報を収集:
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- -
- 4. 現在、Haiku に移植されている「FeatherPad-0.9.2」の情報:
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- --
- 5.「FeatherPad-1.0.1」を現在の「qmake」のレシピでパッケージ化 (失敗例):
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ---
- 6.「FeatherPad-1.0.1」を「cmake」のレシピでトライ (失敗例):
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----
- 7. 参考: もし、パッケージ化に成功したときのインストールのやり方は:
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- -----
- 8.「FeatherPad-1.0.1」を手動で「qmake」を使いインストール (失敗例):
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- -
- 9.「FeatherPad-1.0.1」を手動で「cmake」を使いインストール (失敗例):
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- --
- 10.「FeatherPad-1.0.1」を手動で「cmake」を使いインストール (成功例):
- 依存の「hunspell_devel」を事前にインストールしておく場合です:
- 1). 手動で cmake を実行する場合の流れ:
- 2). cmake のインストール:
- 3). 手動でビルドするなら、レシピファイルを修正して行うときれいに作業できます:
- 4). 「download」フォルダと「work-1.0.1」フォルダを削除
- 5). パッケージ化を実行
- 8). 追加すべき「hunspell_devel」がインストールされていることを確認:
- 9). cmake を実行:
- 10). make を実行:
- 11). make install を実行:
- 12). これは、「パッケージ化せずにインストールした場合」になります:
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ---
- 11. 「FeatherPad-1.0.1」のバージョンアップにトライで、わかったこと:
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----
- 12. 追記:「FeatherPad-1.0.1」を現在の「qmake」のレシピでパッケージ化 (失敗例2):
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- -----
- 13. 追記: 「focuswriter-1.7.6」を現在の「qmake」のレシピでパッケージ化 (成功例):
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- -
- 14. 追記: 「FeatherPad-1.0.1」を「cmake」のレシピでパッケージ化 (成功):
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- --
- 15. 追記: ビルドしてインストールした場合でも、ヘルプ表示を個人的な備忘録として利用:
- まとめ
- -
-
-
-