[やっつけ] Foxit Reader for Linux Desktop 1.1をGentooに導入
Windows版を愛用させていただいているFoxit ReaderというPDFリーダーがあるのですが、Linux Desktop版もリリースされていたので、Gentooにも導入してみることにしました。
ふつーにダウンロードして展開して適当に置けばいいんですが、やはりportageで管理したいもの。誰かebuild作ってないかなーと検索したら、やはりありました。
Bug 272411 app-text/foxitreader[New ebuild] Gentoo Bugzilla
https://bugs.gentoo.org/show_bug.cgi?id=272411
ただ、ここに載っているのはバージョン1.0.1版。最新版は1.1.0です。 ということで、ちょっと修正して1.1.0に対応したebuildファイルを作ってみました。
変更ポイントは以下の3つ。
- ダウンロードファイルの変更
- ラッパーのパスの変更
- 言語ファイル対応
まず、ダウンロードファイルの変更です。SRC_URIを1.1.0のものに変更します。たいした変更じゃないですね。
> SRC_URI="https://mirrors.foxitsoftware.com/pub/foxit/reader/desktop/linux/1.x/1
.1/enu/FoxitReader-1.1.0.tar.bz2"
11d12
< SRC_URI="https://mirrors.foxitsoftware.com/pub/foxit/reader/desktop/linux/1.x/1
.0/enu/FoxitReader-1.0-1.i386.tar.bz2"
次はラッパーのパスの変更です。1.0.1はtar.bz2ファイルを展開するといきなりファイルが出てきましたが、今回は1.1-releaseというディレクトリに入っていましたので、ラッパーのパス定義の部分を変更します。
< make_wrapper foxitreader ./FoxitReader "/opt/${PN}"
+++
> make_wrapper foxitreader ./1.1-release/FoxitReader "/opt/${PN}"
最後は言語ファイルです。1.1.0からde,fr,ja,zh_CN,zh_TWの言語ファイルができたため、日本語メニューを表示させることができます。これをLINGUASフラグに沿って自由に選択できるようにします。
Foxit Readerの言語ファイル(*.mo)は、展開直後だとGentooの言語ファイルの配置に則っていないため、imageへのインストールの段階で正しいディレクトリ配置にしてインストールする必要があります。これを実現するには、ebuild-helperのdomoを使うべきだとよく知らないながらに思うのですが、domoがebuildのマニュアル通りにロケールを検出して言語ファイルを正しい場所にインストールしてくれずあきらめ。
ということで、もう言語5個しかないしロジック考える気が起きなかったので、とりあえずやっつけでLINGUASフラグに沿って無理矢理/usr/share/locale/XX/LC_MESSAGESにファイルを突っ込むようにしました。もっとすてきな方法を教えてください。ぜひ。
まずはLINGUASフラグ部分。実際に修正するのはIUSEの部分なので、LINGUASじゃなくてUSEフラグに直接linguas_xxと書いてもいいってことなのかな。
< IUSE="cups"
+++
> IUSE="cups linguas_ja linguas_de linguas_fr linguas_zh_CN linguas_zh_TW"
んで、言語ファイルの導入部分。ダサイif無双ですw
> if use linguas_de ; then
> mkdir -p "${D}"usr/share/locale/de/LC_MESSAGES
> cp "${D}"/opt/${PN}/1.1-release/po/de/FoxitReader.mo "${D}"/usr/share/locale/de/LC_MESSAGES/
> fi
>
> if use linguas_fr ; then
> mkdir -p "${D}"usr/share/locale/fr/LC_MESSAGES
> cp "${D}"/opt/${PN}/1.1-release/po/fr/FoxitReader.mo "${D}"/usr/share/locale/fr/LC_MESSAGES/
> fi
>
> if use linguas_ja ; then
> mkdir -p "${D}"usr/share/locale/ja/LC_MESSAGES
> cp "${D}"/opt/${PN}/1.1-release/po/ja/FoxitReader.mo \
> "${D}"/usr/share/locale/ja/LC_MESSAGES/
> fi
>
> if use linguas_zh_CN ; then
> mkdir -p "${D}"usr/share/locale/zh_CN/LC_MESSAGES
> cp "${D}"/opt/${PN}/1.1-release/po/zh_CN/FoxitReader.mo \
> "${D}"/usr/share/locale/zh_CN/LC_MESSAGES/
> fi
>
> if use linguas_zh_TW ; then
> mkdir -p "${D}"usr/share/locale/zh_TW/LC_MESSAGES
> cp "${D}"/opt/${PN}/1.1-release/po/zh_TW/FoxitReader.mo \
> "${D}"/usr/share/locale/zh_TW/LC_MESSAGES/
> fi
あとはBugzillaに添付されているFoxitReaderのアイコンをfiles以下に置いて、全体を自分のlocal portageとして作成します。portageのオーバーレイについてはいろいろググってくださいね。自分は/usr/local/portage/kenya/app-text/foxitreaderディレクトリを作って置いています。
ファイルをすべて置いたら、ebuildコマンドでManifestを作っておきましょう
foxitreader # ls
files foxitreader-1.0.1.ebuild foxitreader-1.1.0.ebuild
foxitreader # ebuild foxitreader-1.1.0.ebuild manifest
>>> Creating Manifest for /usr/local/portage/kenya/app-text/foxitreader
foxitreader # ls
Manifest files foxitreader-1.0.1.ebuild foxitreader-1.1.0.ebuild
foxitreader # ls -lR
.:
total 16
-rw-r--r-- 1 root root 1012 Aug 22 11:50 Manifest
drwxr-xr-x 2 root root 4096 Aug 22 08:43 files
-rw-r--r-- 1 kenya wheel 1087 Aug 21 21:39 foxitreader-1.0.1.ebuild
-rw-r--r-- 1 kenya wheel 2071 Aug 22 10:58 foxitreader-1.1.0.ebuild
./files:
total 4
-rw-r--r-- 1 kenya wheel 3391 Aug 21 21:56 foxitreader.png
/etc/make.confには、PORTDIR_OVERLAY=/usr/local/portage/kenyaを追加します。
あとはemerge --metadataすれば、emergeできるようになります。eix-updateすればeixで検索もできます。 適当に日本語を含むPDFを表示させてみました。動作はかなり軽快で、ネットブックであるideapad s10からも十分使えます。マジいいです。残念な点はタブ表示がまだできないことかな。でもホント軽いので気軽に開けます。
Foxit Reader日本語メニュー
元にしたebuild、修正したebuild、foxitreaderのアイコンファイル、manifestファイルを↓に置いておきますので、お使いになりたい方はどうぞ。
これでLinuxでのPDFリーダーは確定です。
*2009/10/05追記 gentoo-chinaのoverlayにfoxitreaderのebuildがあります。
検索範囲は定かではありませんが、overlayを検索できるサイトがありました。
Gentoo portage overlays
https://gpo.zugaina.org/AdvSearch
https://gpo.zugaina.org/app-text/foxitreader