summaryrefslogtreecommitdiff
blob: 326c2fefe0d545f63dc796d0bd0cc48e6c3c89b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/anjuta/anjuta-3.4.3.ebuild,v 1.1 2012/05/22 06:32:11 tetromino Exp $

EAPI="4"
GCONF_DEBUG="yes"
GNOME2_LA_PUNT="yes"
PYTHON_DEPEND="2"

inherit gnome2 flag-o-matic multilib python

DESCRIPTION="A versatile IDE for GNOME"
HOMEPAGE="http://www.anjuta.org"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~x86-fbsd"
IUSE="debug devhelp doc glade graphviz +introspection packagekit subversion test vala"

# FIXME: tests are fragile and may require a specific set of USE flags
#RESTRICT="test"

# FIXME: documentation fails to build when USE=test. But why?
REQUIRED_USE="test? ( !doc )"

COMMON_DEPEND=">=dev-libs/glib-2.29.2:2
	x11-libs/gdk-pixbuf:2
	>=x11-libs/gtk+-3.0.0:3
	>=x11-libs/vte-0.27.6:2.90
	>=dev-libs/libxml2-2.4.23
	>=dev-libs/gdl-2.91.4:3
	>=x11-libs/gtksourceview-2.91.8:3.0

	sys-devel/autogen

	>=gnome-extra/libgda-4.99.0:5
	dev-util/ctags

	x11-libs/libXext
	x11-libs/libXrender

	devhelp? ( >=dev-util/devhelp-3.0.0 )
	glade? ( >=dev-util/glade-3.11:3.10 )
	graphviz? ( >=media-gfx/graphviz-2.6 )
	introspection? ( >=dev-libs/gobject-introspection-0.9.5 )
	subversion? (
		>=dev-vcs/subversion-1.5.0
		>=net-libs/neon-0.28.2
		>=dev-libs/apr-1
		>=dev-libs/apr-util-1 )
	vala? ( dev-lang/vala:0.16 )"
RDEPEND="${COMMON_DEPEND}
	packagekit? ( app-admin/packagekit-base )"
DEPEND="${COMMON_DEPEND}
	>=app-text/gnome-doc-utils-0.18
	>=app-text/scrollkeeper-0.3.14-r2
	>=dev-lang/perl-5
	>=dev-util/intltool-0.40.1
	sys-devel/bison
	sys-devel/flex
	>=sys-devel/gettext-0.17
	virtual/pkgconfig
	!!dev-libs/gnome-build
	doc? ( >=dev-util/gtk-doc-1.4 )
	test? (
		app-text/docbook-xml-dtd:4.1.2
		app-text/docbook-xml-dtd:4.5 )"
# eautoreconf requires: gtk-doc-am, gnome-common, gobject-introspection-common

pkg_setup() {
	# COPYING is used in Anjuta's help/about entry
	DOCS="AUTHORS ChangeLog COPYING FUTURE MAINTAINERS NEWS README ROADMAP THANKS TODO"

	G2CONF="${G2CONF}
		--disable-static
		--disable-schemas-compile
		--docdir=/usr/share/doc/${PF}
		$(use_enable debug)
		$(use_enable devhelp plugin-devhelp)
		$(use_enable glade plugin-glade)
		$(use_enable graphviz)
		$(use_enable introspection)
		$(use_enable packagekit)
		$(use_enable subversion plugin-subversion)
		$(use_enable vala)"

	if use vala; then
		G2CONF="${G2CONF} VALAC=$(type -P valac-0.16)"
	fi

	# Conflicts with -pg in a plugin, bug #266777
	filter-flags -fomit-frame-pointer

	python_set_active_version 2
	python_pkg_setup
}

src_prepare() {
#	intltoolize --force --copy --automake || die "intltoolize failed"
#	AT_M4DIR="." eautoreconf

	# https://bugzilla.gnome.org/show_bug.cgi?id=675584
	# avoid autoreconf
	sed -e 's:valac:$(VALAC):' \
		-i plugins/language-support-vala/Makefile.{am,in} || die "sed 1 failed"

	# python2.7-configure in Fedora vs. python-configure in Gentoo
	sed -e 's:$PYTHON-config:$PYTHON$PYTHON_VERSION-config:g' \
		-i plugins/am-project/tests/anjuta.lst || die "sed 2 failed"

	gnome2_src_prepare
}

src_install() {
	# COPYING is used in Anjuta's help/about entry
	docompress -x "/usr/share/doc/${PF}/COPYING"

	# Anjuta uses a custom rule to install DOCS, get rid of it
	gnome2_src_install
	rm -rf "${ED}"/usr/share/doc/${PN} || die "rm failed"
}

pkg_postinst() {
	gnome2_pkg_postinst

	elog ""
	elog "Some project templates may require additional development"
	elog "libraries to function correctly. It goes beyond the scope"
	elog "of this ebuild to provide them."

	if use vala; then
		elog ""
		elog "To create a generic vala project you will need to specify"
		elog "desired valac versioned binary to be used, to do that you"
		elog "will need to:"
		elog "1. Go to 'Build' -> 'Configure project'"
		elog "2. Add 'VALAC=/usr/bin/valac-X.XX' (respecting quotes) to"
		elog "'Configure options'."
	fi
}