試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

MonoDevelop XML Editorのインストールについて

(2010/4/15)MonoDevelopのバージョン2.0以上では標準でXMLエディタが付属するため、本記事の方法による追加インストールは不要となっている。
以下、以前の内容となる。

MonoDevelopのアドインマネージャから入れられるらしいのだが、リポジトリ設定をしても何も出てこなかった(HTTPでサーバと通信はしているのだが、色々いじっても何も表示されない)ため、ソースからのインストールを行った。

  1. インストール先の注意点
  2. Gentoo Linuxの自作ebuildファイル

インストール先の注意点

デフォルトのインストール先である/usr/local/以下に設定してしまうと

$ ./configure
$ make
(中略)
error CS0006: cannot find metadata file `/usr/local/lib/monodevelop/bin/Mono.Addins.dll'
error CS0006: cannot find metadata file `/usr/local/lib/monodevelop/AddIns/MonoDevelop.Components.dll'
error CS0006: cannot find metadata file `/usr/local/lib/monodevelop/bin/MonoDevelop.Core.dll'
error CS0006: cannot find metadata file `/usr/local/lib/monodevelop/AddIns/MonoDevelop.Core.Gui.dll'
error CS0006: cannot find metadata file `/usr/local/lib/monodevelop/AddIns/MonoDevelop.Ide.dll'
error CS0006: cannot find metadata file `/usr/local/lib/monodevelop/AddIns/MonoDevelop.Projects.dll'
error CS0006: cannot find metadata file `/usr/local/lib/monodevelop/AddIns/MonoDevelop.Projects.Gui.dll'
error CS0006: cannot find metadata file `/usr/local/lib/monodevelop/AddIns/MonoDevelop.SourceEditor.dll'
Compilation failed: 8 error(s), 0 warnings
make[2]: *** [../../build/AddIns/XmlEditor/MonoDevelop.XmlEditor.dll] Error 1
make[2]: Leaving directory `/tmp/work/md-xmleditor-0.5/src/MonoDevelop.XmlEditor'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/work/md-xmleditor-0.5/src'
make: *** [all-recursive] Error 1

となり、ビルドに失敗する。
下の流れで作業をすることで、依存パッケージさえ揃っていれば問題なくインストールできる。

$ tar zxf md-xmleditor-0.5.tar.gz
$ cd md-xmleditor-0.5/
$ ./configure --prefix=/usr
$ make
$ sudo make install

アンインストールは、ソースのディレクトリから

$ sudo make uninstall

で行える他、管理者権限でMonoDevelopを起動して、アドインマネージャから消すこともできる(確認済)。

Gentoo Linuxの自作ebuildファイル

以下のebuildファイルを使用することで、Gentoo Linuxのパッケージとしてインストールすることができる。
x86(32bit)環境での動作確認をしていないため、x86な人は「KEYWORDS="~amd64 ~x86"」のようにして入れる。
ファイル名: md-xmleditor-0.5.ebuild

# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

inherit mono

DESCRIPTION="An XML Editor add-in for MonoDevelop that provides element, attribute, attribute value and namespace completion based on an XML schema."
HOMEPAGE="http://md-xed.sourceforge.net/"
SRC_URI="mirror://sourceforge/md-xed/${P}.tar.gz"

LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""

RDEPEND=">=dev-util/monodevelop-0.15
	>=dev-lang/mono-1.1.10
	>=dev-dotnet/gtk-sharp-2.8.0
	>=dev-dotnet/gtksourceview-sharp-0.10
	>=dev-dotnet/gnome-sharp-2.8.0
	>=dev-dotnet/gnomevfs-sharp-2.8.0
	>=dev-dotnet/glade-sharp-2.8.0"
DEPEND="${RDEPEND}
	>=dev-util/pkgconfig-0.19"

src_install() {
	emake install prefix="${D}/usr" || die "emake install failed"
}

依存パッケージとそのバージョンに関しては、configure.inに書かれている記述から取っている。pkgconfigのバージョンは、monodevelop-0.15.ebuildの中に書かれているバージョンに合わせた。

以下は、インストールの作業例。ローカルOverlayの準備として、/etc/make.confの${PORTDIR_OVERLAY}と/etc/portage/package.keywordsの設定をした後、インストールをする。

$ sudo mkdir /usr/local/overlays/local/app-editors/md-xmleditor/files -p
$ sudo cp md-xmleditor-0.5.ebuild /usr/local/overlays/local/app-editors/md-xmleditor/
$ sudo ebuild /usr/local/overlays/local/app-editors/md-xmleditor/md-xmleditor-0.5.ebuild digest
$ sudo emerge -av md-xmleditor

ebuildファイルの配置場所として「app-editors」の下がふさわしいのかどうかは、よく分からない。


(2008/1/1)MonoDevelop 1.0 Beta 3(0.18)でビルドしようとしてもうまくいかなかった。バージョン1系に対応するまで待つか、0.15で使用するのがよさそう。

cp ./schemas/xslt.xsd ../../build/AddIns/XmlEditor/schemas/.
error CS0006: cannot find metadata file `/usr/lib/monodevelop/bin/Mono.Addins.dll'
error CS0006: cannot find metadata file `/usr/lib/monodevelop/AddIns/MonoDevelop.Components.dll'
error CS0006: cannot find metadata file `/usr/lib/monodevelop/AddIns/MonoDevelop.Core.Gui.dll'
error CS0006: cannot find metadata file `/usr/lib/monodevelop/AddIns/MonoDevelop.Ide.dll'
error CS0006: cannot find metadata file `/usr/lib/monodevelop/AddIns/MonoDevelop.Projects.dll'
error CS0006: cannot find metadata file `/usr/lib/monodevelop/AddIns/MonoDevelop.Projects.Gui.dll'
Compilation failed: 6 error(s), 0 warnings
make[2]: *** [../../build/AddIns/XmlEditor/MonoDevelop.XmlEditor.dll] Error 1
make[2]: Leaving directory `/var/tmp/portage/app-editors/md-xmleditor-0.5/work/md-xmleditor-0.5/src/MonoDevelop.XmlEditor'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/app-editors/md-xmleditor-0.5/work/md-xmleditor-0.5/src'
make: *** [all-recursive] Error 1