| 1 | # Copyright 1999-2008 Gentoo Foundation |
1 | # Copyright 1999-2008 Gentoo Foundation |
| 2 | # Distributed under the terms of the GNU General Public License v2 |
2 | # Distributed under the terms of the GNU General Public License v2 |
| 3 | # $Header: /var/cvsroot/gentoo-x86/eclass/gtk-sharp-module.eclass,v 1.19 2009/03/09 01:02:13 loki_val Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/gtk-sharp-module.eclass,v 1.29 2011/03/21 21:52:51 nirbheek Exp $ |
| 4 | |
4 | |
| 5 | # @ECLASS: gtk-sharp-module.eclass |
5 | # @ECLASS: gtk-sharp-module.eclass |
| 6 | # @MAINTAINER: |
6 | # @MAINTAINER: |
| 7 | # dotnet@gentoo.org |
7 | # dotnet@gentoo.org |
| 8 | # @BLURB: Manages the modules of the gtk-, gnome-, and gnome-desktop-sharp tarballs |
8 | # @BLURB: Manages the modules of the gtk-, gnome-, and gnome-desktop-sharp tarballs |
| … | |
… | |
| 12 | # PLEASE TAKE NOTE: ONLY FOR EAPI-2 EBUILDS |
12 | # PLEASE TAKE NOTE: ONLY FOR EAPI-2 EBUILDS |
| 13 | |
13 | |
| 14 | WANT_AUTOMAKE=none |
14 | WANT_AUTOMAKE=none |
| 15 | WANT_AUTOCONF=none |
15 | WANT_AUTOCONF=none |
| 16 | |
16 | |
| 17 | inherit eutils mono multilib autotools base versionator |
17 | inherit eutils mono multilib libtool autotools base versionator |
| 18 | |
18 | |
| 19 | # @ECLASS-VARIABLE: GTK_SHARP_MODULE |
19 | # @ECLASS-VARIABLE: GTK_SHARP_MODULE |
| 20 | # @DESCRIPTION: |
20 | # @DESCRIPTION: |
| 21 | # The name of the Gtk# module. |
21 | # The name of the Gtk# module. |
| 22 | # Default value: ${PN/-sharp/} |
22 | # Default value: ${PN/-sharp/} |
| … | |
… | |
| 43 | # @ECLASS-VARIABLE: PV_MAJOR |
43 | # @ECLASS-VARIABLE: PV_MAJOR |
| 44 | # @DESCRIPTION: |
44 | # @DESCRIPTION: |
| 45 | # The first two components of the PV variable. |
45 | # The first two components of the PV variable. |
| 46 | PV_MAJOR=$(get_version_component_range 1-2) |
46 | PV_MAJOR=$(get_version_component_range 1-2) |
| 47 | |
47 | |
| 48 | # @FUNCTION: add_bdepends |
48 | # @FUNCTION: add_bdepend |
| 49 | # @USAGE: <package atom> |
49 | # @USAGE: <package atom> |
| 50 | # @DESCRIPTION: |
50 | # @DESCRIPTION: |
| 51 | # Adds to the DEPEND variable |
51 | # Adds to the DEPEND variable |
| 52 | add_bdepend() { |
52 | add_bdepend() { |
| 53 | [[ ${#@} -eq 1 ]] || die "${FUNCNAME} needs ONE (1) argument" |
53 | [[ ${#@} -eq 1 ]] || die "${FUNCNAME} needs ONE (1) argument" |
| 54 | DEPEND="${DEPEND} $@" |
54 | DEPEND="${DEPEND} $@" |
| 55 | } |
55 | } |
| 56 | |
56 | |
| 57 | # @FUNCTION: add_rdepends |
57 | # @FUNCTION: add_rdepend |
| 58 | # @USAGE: <package atom> |
58 | # @USAGE: <package atom> |
| 59 | # @DESCRIPTION: |
59 | # @DESCRIPTION: |
| 60 | # Adds to the RDEPEND variable |
60 | # Adds to the RDEPEND variable |
| 61 | add_rdepend() { |
61 | add_rdepend() { |
| 62 | [[ ${#@} -eq 1 ]] || die "${FUNCNAME} needs ONE (1) argument" |
62 | [[ ${#@} -eq 1 ]] || die "${FUNCNAME} needs ONE (1) argument" |
| … | |
… | |
| 101 | has "${GTK_SHARP_MODULE}" "${gapi_users_list}" && \ |
101 | has "${GTK_SHARP_MODULE}" "${gapi_users_list}" && \ |
| 102 | add_bdepend "=dev-dotnet/gtk-sharp-gapi-${GTK_SHARP_REQUIRED_VERSION}*" |
102 | add_bdepend "=dev-dotnet/gtk-sharp-gapi-${GTK_SHARP_REQUIRED_VERSION}*" |
| 103 | case ${PVR} in |
103 | case ${PVR} in |
| 104 | 2.24.1*) |
104 | 2.24.1*) |
| 105 | SRC_URI="mirror://gentoo/${TARBALL}-2.24.1.patch.bz2" |
105 | SRC_URI="mirror://gentoo/${TARBALL}-2.24.1.patch.bz2" |
|
|
106 | # Upstream bug: https://bugzilla.novell.com/show_bug.cgi?id=483251 |
| 106 | PATCHES=( |
107 | PATCHES=( |
| 107 | "${WORKDIR}/${TARBALL}-2.24.1.patch" |
108 | "${WORKDIR}/${TARBALL}-2.24.1.patch" |
| 108 | ) |
109 | ) |
| 109 | EAUTORECONF="YES" |
110 | EAUTORECONF="YES" |
| 110 | add_bdepend "=sys-devel/automake-1.10*" |
111 | add_bdepend "=sys-devel/automake-1.10*" |
| 111 | add_bdepend ">=sys-devel/autoconf-2.61" |
112 | add_bdepend ">=sys-devel/autoconf-2.61" |
| 112 | ;; |
113 | ;; |
|
|
114 | 2.24.2*) |
|
|
115 | add_depend ">=dev-lang/mono-2.7" |
|
|
116 | ;; |
| 113 | esac |
117 | esac |
| 114 | ;; |
118 | ;; |
| 115 | gnome-desktop|gnome-print|gnome-panel|gtkhtml|gtksourceview|nautilusburn|rsvg|vte|wnck) |
119 | gnome-desktop|gnome-print|gnome-panel|gtkhtml|gtksourceview|nautilusburn|rsvg|vte|wnck) |
| 116 | TARBALL="gnome-desktop-sharp" |
120 | TARBALL="gnome-desktop-sharp" |
| 117 | add_depend "=dev-dotnet/gtk-sharp-${GTK_SHARP_REQUIRED_VERSION}*" |
121 | add_depend "=dev-dotnet/gtk-sharp-${GTK_SHARP_REQUIRED_VERSION}*" |
| 118 | add_depend "=dev-dotnet/gnome-sharp-${PV_MAJOR}*" |
122 | add_depend "=dev-dotnet/gnome-sharp-2.24*" |
| 119 | add_bdepend "=dev-dotnet/gtk-sharp-gapi-${GTK_SHARP_REQUIRED_VERSION}*" |
123 | add_bdepend "=dev-dotnet/gtk-sharp-gapi-${GTK_SHARP_REQUIRED_VERSION}*" |
| 120 | ;; |
124 | ;; |
| 121 | *) |
125 | *) |
| 122 | eerror "Huh? Sonny boy, looks like your GTK_SHARP_MODULE is not on the approved list. BAILING!" |
126 | eerror "Huh? Sonny boy, looks like your GTK_SHARP_MODULE is not on the approved list. BAILING!" |
| 123 | die "How did we get here!!?" |
127 | die "How did we get here!!?" |
| … | |
… | |
| 176 | add_depend "~dev-dotnet/glib-sharp-${PV}" |
180 | add_depend "~dev-dotnet/glib-sharp-${PV}" |
| 177 | add_depend "~dev-dotnet/atk-sharp-${PV}" |
181 | add_depend "~dev-dotnet/atk-sharp-${PV}" |
| 178 | add_depend "~dev-dotnet/gdk-sharp-${PV}" |
182 | add_depend "~dev-dotnet/gdk-sharp-${PV}" |
| 179 | add_depend "~dev-dotnet/gtk-sharp-${PV}" |
183 | add_depend "~dev-dotnet/gtk-sharp-${PV}" |
| 180 | add_depend "~dev-dotnet/pango-sharp-${PV}" |
184 | add_depend "~dev-dotnet/pango-sharp-${PV}" |
| 181 | add_depend ">=gnome-base/libglade-2.3.6" |
185 | add_depend ">=gnome-base/libglade-2.3.6:2.0" |
| 182 | ;; |
186 | ;; |
| 183 | #gnome-sharp tarball |
187 | #gnome-sharp tarball |
| 184 | art-sharp-*) |
188 | art-sharp-*) |
| 185 | add_depend ">=media-libs/libart_lgpl-2.3.20" |
189 | add_depend ">=media-libs/libart_lgpl-2.3.20" |
| 186 | ;; |
190 | ;; |
| 187 | gnome-sharp-*) |
191 | gnome-sharp-*) |
| 188 | add_depend ">=gnome-base/libgnomeui-${PV_MAJOR}" |
192 | add_depend ">=gnome-base/libgnomeui-${PV_MAJOR}" |
| 189 | add_depend ">=gnome-base/gnome-panel-${PV_MAJOR}" |
|
|
| 190 | add_depend "~dev-dotnet/gnomevfs-sharp-${PV}" |
193 | add_depend "~dev-dotnet/gnomevfs-sharp-${PV}" |
| 191 | add_depend "~dev-dotnet/art-sharp-${PV}" |
194 | add_depend "~dev-dotnet/art-sharp-${PV}" |
| 192 | add_depend ">=gnome-base/libgnomecanvas-${GNOMECANVAS_REQUIRED_VERSION}" |
195 | add_depend ">=gnome-base/libgnomecanvas-${GNOMECANVAS_REQUIRED_VERSION}" |
|
|
196 | add_depend ">=x11-libs/gtk+-2.14.0:2" |
| 193 | ;; |
197 | ;; |
| 194 | gconf-sharp-*) |
198 | gconf-sharp-*) |
| 195 | add_depend ">=gnome-base/gconf-${PV_MAJOR}" |
199 | add_depend ">=gnome-base/gconf-${PV_MAJOR}:2" |
| 196 | add_depend ">=dev-dotnet/glade-sharp-${GTK_SHARP_REQUIRED_VERSION}" |
200 | add_depend "=dev-dotnet/glade-sharp-${GTK_SHARP_REQUIRED_VERSION}*" |
| 197 | add_depend "~dev-dotnet/gnome-sharp-${PV}" |
201 | add_depend "~dev-dotnet/gnome-sharp-${PV}" |
| 198 | add_depend "~dev-dotnet/art-sharp-${PV}" |
202 | add_depend "~dev-dotnet/art-sharp-${PV}" |
| 199 | ;; |
203 | ;; |
| 200 | gnomevfs-sharp-*) |
204 | gnomevfs-sharp-*) |
| 201 | add_depend ">=gnome-base/gnome-vfs-${PV_MAJOR}" |
205 | add_depend ">=gnome-base/gnome-vfs-${PV_MAJOR}:2" |
| 202 | ;; |
206 | ;; |
| 203 | #gnome-desktop-sharp tarball |
207 | #gnome-desktop-sharp tarball |
| 204 | gnome-desktop-sharp-*) |
208 | gnome-desktop-sharp-*) |
| 205 | # NOTE: This is REQUIRED to be locked to PV_MAJOR |
209 | # NOTE: libgnome-desktop-2.so has been known to make binary- |
| 206 | # libgnome-desktop-2.so.INTEGER is hardcoded in gnomedesktop-sharp.dll.config |
210 | # incompatible changes, requiring .so bumps. gnome-desktop-sharp |
|
|
211 | # is locked to a specific .so.n version, so strict dependencies |
|
|
212 | # may be required in the future (as it has in the past). |
| 207 | add_depend "=gnome-base/gnome-desktop-${PV_MAJOR}*" |
213 | add_depend ">=gnome-base/gnome-desktop-${PV_MAJOR}:2" |
| 208 | ;; |
214 | ;; |
| 209 | gnome-panel-sharp-*) |
215 | gnome-panel-sharp-*) |
| 210 | add_depend ">=gnome-base/gnome-panel-${PV_MAJOR}" |
216 | add_depend ">=gnome-base/gnome-panel-${PV_MAJOR}" |
| 211 | ;; |
217 | ;; |
| 212 | gnome-print-sharp-*) |
218 | gnome-print-sharp-*) |
| 213 | add_depend ">=gnome-base/libgnomeprint-${API_VERSION}" |
219 | add_depend ">=gnome-base/libgnomeprint-${API_VERSION}:2.2" |
| 214 | ;; |
220 | ;; |
| 215 | gtkhtml-sharp-*) |
221 | gtkhtml-sharp-*) |
| 216 | #NOTE: gtkhtml dependency must follow gtkhtml-sharp version. |
222 | #NOTE: gtkhtml dependency must follow gtkhtml-sharp version. |
| 217 | #i.e. gtkhtml-sharp-2.24.0 >=gtkhtml-3.24 |
223 | #i.e. gtkhtml-sharp-2.24.0 >=gtkhtml-3.24 |
| 218 | # gtkhtml-sharp-2.16.0 >=gtkhtml-3.16 |
224 | # gtkhtml-sharp-2.16.0 >=gtkhtml-3.16 |
| 219 | # See bug 249540 for unpleasant side effects. |
225 | # See bug 249540 for unpleasant side effects. |
| 220 | add_depend ">=gnome-extra/gtkhtml-$(($(get_version_component_range 1) + 1 )).$(get_version_component_range 2)" |
226 | add_depend ">=gnome-extra/gtkhtml-$(($(get_version_component_range 1) + 1 )).$(get_version_component_range 2):3.14" |
| 221 | ;; |
227 | ;; |
| 222 | gtksourceview-sharp-*) |
228 | gtksourceview-sharp-*) |
| 223 | add_depend ">=x11-libs/gtksourceview-${GTKSOURCEVIEW_REQUIRED_VERSION}:2.0" |
229 | add_depend ">=x11-libs/gtksourceview-${GTKSOURCEVIEW_REQUIRED_VERSION}:2.0" |
| 224 | ;; |
230 | ;; |
| 225 | nautilusburn-sharp-*) |
231 | nautilusburn-sharp-*) |
| 226 | add_depend ">=gnome-extra/nautilus-cd-burner-${PV_MAJOR}" |
232 | add_depend ">=gnome-extra/nautilus-cd-burner-2.24.0" |
| 227 | ;; |
233 | ;; |
| 228 | rsvg-sharp-*) |
234 | rsvg-sharp-*) |
| 229 | add_depend ">=gnome-base/librsvg-${RSVG_REQUIRED_VERSION}" |
235 | add_depend ">=gnome-base/librsvg-${RSVG_REQUIRED_VERSION}:2" |
| 230 | ;; |
236 | ;; |
| 231 | vte-sharp-*) |
237 | vte-sharp-*) |
| 232 | add_depend ">=x11-libs/vte-${VTE_REQUIRED_VERSION}" |
238 | add_depend ">=x11-libs/vte-${VTE_REQUIRED_VERSION}:0" |
| 233 | ;; |
239 | ;; |
| 234 | wnck-sharp-*) |
240 | wnck-sharp-*) |
| 235 | add_depend ">=x11-libs/libwnck-${PV_MAJOR}" |
241 | add_depend ">=x11-libs/libwnck-${PV_MAJOR}:1" |
| 236 | ;; |
242 | ;; |
| 237 | esac |
243 | esac |
| 238 | |
244 | |
| 239 | # @ECLASS-VARIABLE: DESCRIPTION |
245 | # @ECLASS-VARIABLE: DESCRIPTION |
| 240 | # @DESCRIPTION: |
246 | # @DESCRIPTION: |
| … | |
… | |
| 447 | # value. |
453 | # value. |
| 448 | # Contains a phase_hook, runs very last. |
454 | # Contains a phase_hook, runs very last. |
| 449 | # phase_hook prefix trigger: ${TARBALL}-tarball-post |
455 | # phase_hook prefix trigger: ${TARBALL}-tarball-post |
| 450 | # Is exported. |
456 | # Is exported. |
| 451 | gtk-sharp-module_src_prepare() { |
457 | gtk-sharp-module_src_prepare() { |
| 452 | base_src_util autopatch |
458 | base_src_prepare |
| 453 | # @ECLASS-VARIABLE: EAUTORECONF |
459 | # @ECLASS-VARIABLE: EAUTORECONF |
| 454 | # @DESCRIPTION: |
460 | # @DESCRIPTION: |
| 455 | # If set, EAUTORECONF will be run during src_prepare. |
461 | # If set, EAUTORECONF will be run during src_prepare. |
| 456 | [[ ${EAUTORECONF} ]] && eautoreconf |
462 | [[ ${EAUTORECONF} ]] && eautoreconf |
| 457 | phase_hook ${TARBALL}-tarball-post |
463 | phase_hook ${TARBALL}-tarball-post |
|
|
464 | elibtoolize |
| 458 | } |
465 | } |
| 459 | |
466 | |
| 460 | # @FUNCTION: gtk-sharp-tarball_src_configure |
467 | # @FUNCTION: gtk-sharp-tarball_src_configure |
| 461 | # @DESCRIPTION: |
468 | # @DESCRIPTION: |
| 462 | # Sets some environment variables that will allow us to make the dependencies |
469 | # Sets some environment variables that will allow us to make the dependencies |