Sync Mk with ports
[dports.git] / Mk / bsd.gnome.mk
1 #-*- mode: Fundamental; tab-width: 4; -*-
2 # ex:ts=4
3 #
4 # $FreeBSD$
5 #       $NetBSD: $
6 #     $MCom: ports/trunk/Mk/bsd.gnome.mk 18899 2013-11-18 18:34:00Z kwm $
7 #
8 # Please view me with 4 column tabs!
9
10 #######################################################
11 #
12 # *** WARNING: Disable MARCUSCOM before merge in FreeBSD!
13 #     Please also remove this section before merging into FreeBSD.
14 #
15 #MARCUSCOM_CVS=yes
16
17 # ======================= USERS =================================
18 #
19 # There are no significant user-definable settings in here.
20 # This file is a framework to make it easier to create GNOME ports.
21 #
22 # ======================= /USERS ================================
23
24 .if !defined(_POSTMKINCLUDED) && !defined(Gnome_Pre_Include)
25
26 # Please make sure all changes to this file are passed through the maintainer.
27 # Do not commit them yourself (unless of course you're the Port's Wraith ;).
28 Gnome_Include_MAINTAINER=       gnome@FreeBSD.org
29 Gnome_Pre_Include=                      bsd.gnome.mk
30
31 # This section defines possible names of GNOME components and all information
32 # necessary for ports to use those components.
33
34 # Ports can use this as follows:
35 #
36 # USE_GNOME=    glib20 introspection:build
37 #
38 # .include <bsd.port.mk>
39 #
40 # As a result proper LIB_DEPENDS/RUN_DEPENDS will be added and CONFIGURE_ENV
41 # and MAKE_ENV defined.
42 #
43 #
44 # GCONF_SCHEMAS         - Set the following to list of all the gconf schema files
45 #                               that your port installs. These schema files and
46 #                               %gconf.xml files will be automatically added to
47 #                               the ${PLIST}. For example, if your port has
48 #                               "etc/gconf/schemas/(foo.schemas and bar.schemas)",
49 #                               add the following to your Makefile:
50 #                               "GCONF_SCHEMAS=foo.schemas bar.schemas".
51 #
52 # GLIB_SCHEMAS          - Set the following to list of all gsettings schema files
53 #                               (*.gschema.xml) that your ports installs. The 
54 #                               schema files will be automatically added to 
55 #                               the ${PLIST}. For example, if your port has 
56 #                               "share/glib-2.0/schemas/(foo.gschema.xml and bar.gschema.xml)", 
57 #                               add the following to your Makefile:
58 #                               "GLIB_SCHEMAS=foo.gschema.xml bar.gschema.xml".
59 #
60 # INSTALLS_OMF          - If set, bsd.gnome.mk will automatically scan pkg-plist
61 #                               file and add apropriate @exec/@unexec directives for
62 #                               each .omf file found to track OMF registration database.
63 #
64 # INSTALLS_ICONS        - If your port installs Freedesktop-style icons to
65 #                               ${LOCALBASE}/share/icons, then you should use this
66 #                               macro. If the icons are not cached, they will not be
67 #                               displayed.
68 #
69
70 # non-version specific components
71 _USE_GNOME_ALL= esound intlhack intltool introspection ltasneededhack lthack \
72                 ltverhack gnomehack referencehack gnomehier gnomemimedata \
73                 gnomeprefix
74
75 # GNOME 1 components
76 _USE_GNOME_ALL+= gdkpixbuf glib12 gtk12 imlib
77
78 # GNOME 2 components
79 _USE_GNOME_ALL+= atk atspi cairo desktopfileutils eel2 evolutiondataserver gal2 \
80                 gdkpixbuf2 gconf2 glib20 gnomecontrolcenter2 gnomedesktop \
81                 gnomedesktopsharp20 gnomedocutils gnomemenus gnomepanel gnomesharp20 \
82                 gnomespeech gnomevfs2 gtk-update-icon-cache gtk20 gtkhtml3 gtksharp10 \
83                 gtksharp20 gtksourceview gtksourceview2 gvfs libartlgpl2 libbonobo \
84                 libbonoboui libgailgnome libgda4 libglade2 libgnome \
85                 libgnomecanvas libgnomedb libgnomekbd libgnomeprint libgnomeprintui \
86                 libgnomeui libgsf libgtkhtml libidl librsvg2 libwnck \
87                 libxml2 libxslt libzvt linc metacity nautilus2 \
88                 orbit2 pango pangox-compat pygnome2 pygnomedesktop pygnomeextras pygobject pygtk2 \
89                 pygtksourceview vte
90
91 # GNOME 3 components
92 _USE_GNOME_ALL+= dconf gtk30 gtksourceview3 libgda5 libgda5-ui pygobject3 \
93                 vte3
94
95 # C++ bindings
96 _USE_GNOME_ALL+=atkmm cairomm gconfmm gconfmm26 glibmm gtkmm20 gtkmm24 \
97                 gtkmm30 gtksourceviewmm3 libgdamm libgdamm5 \
98                 libgtksourceviewmm libxml++26 libsigc++12 libsigc++20 \
99                 pangomm
100
101 GNOME_MAKEFILEIN?=      Makefile.in
102 SCROLLKEEPER_DIR=       /var/db/rarian
103 gnomehack_PRE_PATCH=    ${FIND} ${WRKSRC} -name "${GNOME_MAKEFILEIN}*" -type f | ${XARGS} ${REINPLACE_CMD} -e \
104                                 's|[(]libdir[)]/locale|(prefix)/share/locale|g ; \
105                                  s|[(]libdir[)]/pkgconfig|(prefix)/libdata/pkgconfig|g ; \
106                                  s|{libdir}/pkgconfig|(prefix)/libdata/pkgconfig|g ; \
107                                  s|[(]datadir[)]/pkgconfig|(prefix)/libdata/pkgconfig|g ; \
108                                  s|[(]prefix[)]/lib/pkgconfig|(prefix)/libdata/pkgconfig|g ; \
109                                  s|[$$][(]localstatedir[)]/scrollkeeper|${SCROLLKEEPER_DIR}|g ; \
110                                  s|[(]libdir[)]/bonobo/servers|(prefix)/libdata/bonobo/servers|g' ; \
111                         ${FIND} ${WRKSRC} -name "configure" -type f | ${XARGS} ${REINPLACE_CMD} -e \
112                                 's|-lpthread|${PTHREAD_LIBS}|g ; \
113                                  s|DATADIRNAME=lib|DATADIRNAME=share|g ; \
114                                  s|{libdir}/locale|{prefix}/share/locale|g'
115
116 referencehack_PRE_PATCH=        ${FIND} ${WRKSRC} -name "Makefile.in" -type f | ${XARGS} ${REINPLACE_CMD} -e \
117                                 "s|test \"\$$\$$installfiles\" = '\$$(srcdir)/html/\*'|:|"
118
119 lthack_PRE_PATCH=       ${FIND} ${WRKSRC} -name "configure" -type f | ${XARGS} ${REINPLACE_CMD} -e \
120                                 '/^LIBTOOL_DEPS="$$ac_aux_dir\/ltmain.sh"$$/s|$$|; $$ac_aux_dir/ltconfig $$LIBTOOL_DEPS;|'
121
122 GNOME_MTREE_FILE?=              ${LOCALBASE}/etc/mtree/BSD.gnome.dist
123 gnomehier_DETECT=       ${GNOME_MTREE_FILE}
124 gnomehier_RUN_DEPENDS=  ${gnomehier_DETECT}:${PORTSDIR}/misc/gnomehier
125
126 GNOME_HTML_DIR?=        ${PREFIX}/share/doc
127 GCONF_CONFIG_OPTIONS?=  merged
128 GCONF_CONFIG_DIRECTORY?=etc/gconf/gconf.xml.defaults
129 GCONF_CONFIG_SOURCE?=xml:${GCONF_CONFIG_OPTIONS}:${PREFIX}/${GCONF_CONFIG_DIRECTORY}
130 GNOME_LOCALSTATEDIR?=   ${PREFIX}/share
131 gnomeprefix_CONFIGURE_ENV=GTKDOC="false"
132 gnomeprefix_CONFIGURE_ARGS=--localstatedir=${GNOME_LOCALSTATEDIR} \
133                            --with-html-dir=${GNOME_HTML_DIR} \
134                            --disable-gtk-doc \
135                            --with-gconf-source=${GCONF_CONFIG_SOURCE}
136 gnomeprefix_USE_GNOME_IMPL=gnomehier
137
138 atkmm_DETECT=           ${LOCALBASE}/libdata/pkgconfig/atkmm-1.6.pc
139 atkmm_LIB_DEPENDS=      libatkmm-1.6.so:${PORTSDIR}/accessibility/atkmm
140 atkmm_USE_GNOME_IMPL=   glibmm atk
141
142 libxml++26_DETECT=              ${LOCALBASE}/libdata/pkgconfig/libxml++-2.6.pc
143 libxml++26_LIB_DEPENDS=         libxml++-2.6.so:${PORTSDIR}/textproc/libxml++26
144 libxml++26_USE_GNOME_IMPL=      glibmm libxml2
145
146 cairo_DETECT=           ${LOCALBASE}/libdata/pkgconfig/cairo.pc
147 cairo_LIB_DEPENDS=      libcairo.so:${PORTSDIR}/graphics/cairo
148
149 cairomm_DETECT=         ${LOCALBASE}/libdata/pkgconfig/cairomm-1.0.pc
150 cairomm_LIB_DEPENDS=    libcairomm-1.0.so:${PORTSDIR}/graphics/cairomm
151 cairomm_USE_GNOME_IMPL= cairo libxml++26
152
153 gconfmm_DETECT=         ${LOCALBASE}/libdata/pkgconfig/gconfmm-2.0.pc
154 gconfmm_LIB_DEPENDS=    libgconfmm-2.0.so:${PORTSDIR}/devel/gconfmm
155 gconfmm_USE_GNOME_IMPL= gtkmm20 gconf2
156
157 gconfmm26_DETECT=               ${LOCALBASE}/libdata/pkgconfig/gconfmm-2.6.pc
158 gconfmm26_LIB_DEPENDS=          libgconfmm-2.6.so:${PORTSDIR}/devel/gconfmm26
159 gconfmm26_USE_GNOME_IMPL=       glibmm gconf2
160
161 glibmm_DETECT=          ${LOCALBASE}/libdata/pkgconfig/glibmm-2.4.pc
162 glibmm_LIB_DEPENDS=     libglibmm-2.4.so:${PORTSDIR}/devel/glibmm
163 glibmm_USE_GNOME_IMPL=  libsigc++20 glib20
164
165 gtkmm20_DETECT=         ${LOCALBASE}/libdata/pkgconfig/gtkmm-2.0.pc
166 gtkmm20_LIB_DEPENDS=    libgtkmm-2.0.so:${PORTSDIR}/x11-toolkits/gtkmm20
167 gtkmm20_USE_GNOME_IMPL= libsigc++12 gtk20
168
169 gtkmm24_DETECT=         ${LOCALBASE}/libdata/pkgconfig/gtkmm-2.4.pc
170 gtkmm24_LIB_DEPENDS=    libgtkmm-2.4.so:${PORTSDIR}/x11-toolkits/gtkmm24
171 gtkmm24_USE_GNOME_IMPL= glibmm cairomm atkmm pangomm gtk20
172
173 gtkmm30_DETECT=         ${LOCALBASE}/libdata/pkgconfig/gtkmm-3.0.pc
174 gtkmm30_LIB_DEPENDS=    libgtkmm-3.0.so:${PORTSDIR}/x11-toolkits/gtkmm30
175 gtkmm30_USE_GNOME_IMPL= glibmm cairomm atkmm pangomm gtk30
176
177 gtksourceviewmm3_DETECT=        ${LOCALBASE}/libdata/pkgconfig/gtksourceviewmm-3.0.pc
178 gtksourceviewmm3_LIB_DEPENDS=   libgtksourceviewmm-3.0.so:${PORTSDIR}/x11-toolkits/gtksourceviewmm3
179 gtksourceviewmm3_USE_GNOME_IMPL=gtkmm30 gtksourceview3
180
181 libgdamm_DETECT=        ${LOCALBASE}/libdata/pkgconfig/libgdamm-4.0.pc
182 libgdamm_LIB_DEPENDS=   libgdamm-4.0.so:${PORTSDIR}/databases/libgdamm
183 libgdamm_USE_GNOME_IMPL=libgda4 glibmm
184
185 libgdamm5_DETECT=               ${LOCALBASE}/libdata/pkgconfig/libgdamm-5.0.pc
186 libgdamm5_LIB_DEPENDS=          libgdamm-5.0.so:${PORTSDIR}/databases/libgdamm5
187 libgdamm5_USE_GNOME_IMPL=       libgda5 glibmm
188
189 libgtksourceviewmm_DETECT=              ${LOCALBASE}/libdata/pkgconfig/gtksourceviewmm-2.0.pc
190 libgtksourceviewmm_LIB_DEPENDS=         libgtksourceviewmm-2.0.so:${PORTSDIR}/x11-toolkits/libgtksourceviewmm
191 libgtksourceviewmm_USE_GNOME_IMPL=      gtksourceview2 gtkmm24
192
193 libsigc++12_DETECT=             ${LOCALBASE}/libdata/pkgconfig/sigc++-1.2.pc
194 libsigc++12_LIB_DEPENDS=        libsigc-1.2.so:${PORTSDIR}/devel/libsigc++12
195
196 libsigc++20_DETECT=             ${LOCALBASE}/libdata/pkgconfig/sigc++-2.0.pc
197 libsigc++20_LIB_DEPENDS=        libsigc-2.0.so:${PORTSDIR}/devel/libsigc++20
198
199 pangomm_DETECT=         ${LOCALBASE}/libdata/pkgconfig/pangomm-1.4.pc
200 pangomm_LIB_DEPENDS=    libpangomm-1.4.so:${PORTSDIR}/x11-toolkits/pangomm
201 pangomm_USE_GNOME_IMPL= pango glibmm cairomm
202
203 ESD_CONFIG?=            ${LOCALBASE}/bin/esd-config
204 esound_LIB_DEPENDS=     libesd.so:${PORTSDIR}/audio/esound
205 esound_CONFIGURE_ENV=   ESD_CONFIG="${ESD_CONFIG}"
206 esound_MAKE_ENV=        ESD_CONFIG="${ESD_CONFIG}"
207 esound_DETECT=          ${ESD_CONFIG}
208
209 GLIB_CONFIG?=           ${LOCALBASE}/bin/glib12-config
210 glib12_LIB_DEPENDS=     libglib-12.so:${PORTSDIR}/devel/glib12
211 glib12_CONFIGURE_ENV=   GLIB_CONFIG="${GLIB_CONFIG}"
212 glib12_MAKE_ENV=        GLIB_CONFIG="${GLIB_CONFIG}"
213 glib12_DETECT=          ${GLIB_CONFIG}
214
215 GTK_CONFIG?=            ${LOCALBASE}/bin/gtk12-config
216 gtk12_LIB_DEPENDS=      libgtk-12.so:${PORTSDIR}/x11-toolkits/gtk12
217 gtk12_CONFIGURE_ENV=    GTK_CONFIG="${GTK_CONFIG}"
218 gtk12_MAKE_ENV=         GTK_CONFIG="${GTK_CONFIG}"
219 gtk12_DETECT=           ${GTK_CONFIG}
220 gtk12_USE_GNOME_IMPL=   glib12
221
222 GDK_PIXBUF_CONFIG?=     ${LOCALBASE}/bin/gdk-pixbuf-config
223 gdkpixbuf_LIB_DEPENDS=  libgdk_pixbuf.so:${PORTSDIR}/graphics/gdk-pixbuf
224 gdkpixbuf_CONFIGURE_ENV=GDK_PIXBUF_CONFIG="${GDK_PIXBUF_CONFIG}"
225 gdkpixbuf_MAKE_ENV=     GDK_PIXBUF_CONFIG="${GDK_PIXBUF_CONFIG}"
226 gdkpixbuf_DETECT=       ${GDK_PIXBUF_CONFIG}
227 gdkpixbuf_USE_GNOME_IMPL=gtk12
228
229 IMLIB_CONFIG?=          ${LOCALBASE}/bin/imlib-config
230 imlib_LIB_DEPENDS=      libImlib.so:${PORTSDIR}/graphics/imlib
231 imlib_CONFIGURE_ENV=    IMLIB_CONFIG="${IMLIB_CONFIG}"
232 imlib_MAKE_ENV=         IMLIB_CONFIG="${IMLIB_CONFIG}"
233 imlib_DETECT=           ${IMLIB_CONFIG}
234 imlib_USE_GNOME_IMPL=   gtk12
235
236 gnomemimedata_DETECT=   ${LOCALBASE}/libdata/pkgconfig/gnome-mime-data-2.0.pc
237 gnomemimedata_BUILD_DEPENDS=${gnomemimedata_DETECT}:${PORTSDIR}/misc/gnome-mime-data
238 gnomemimedata_RUN_DEPENDS=${gnomemimedata_DETECT}:${PORTSDIR}/misc/gnome-mime-data
239 gnomemimedata_USE_GNOME_IMPL=gnomehier
240
241 glib20_LIB_DEPENDS=     libglib-2.0.so:${PORTSDIR}/devel/glib20 \
242                         libpcre.so:${PORTSDIR}/devel/pcre
243 glib20_DETECT=          ${LOCALBASE}/libdata/pkgconfig/glib-2.0.pc
244
245 atk_LIB_DEPENDS=        libatk-1.0.so:${PORTSDIR}/accessibility/atk
246 atk_DETECT=             ${LOCALBASE}/libdata/pkgconfig/atk.pc
247 atk_USE_GNOME_IMPL=     glib20
248
249 dconf_LIB_DEPENDS=      libdconf.so:${PORTSDIR}/devel/dconf
250 dconf_DETECT=           ${LOCALBASE}/libdata/pkgconfig/dconf.pc
251 dconf_USE_GNOME_IMPL=   glib20
252
253 pango_LIB_DEPENDS=      libpango-1.0.so:${PORTSDIR}/x11-toolkits/pango
254 pango_DETECT=           ${LOCALBASE}/libdata/pkgconfig/pango.pc
255 pango_USE_GNOME_IMPL=   glib20
256
257 pangox-compat_LIB_DEPENDS=      libpangox-1.0.so:${PORTSDIR}/x11-toolkits/pangox-compat
258 pangox-compat_DETECT=           ${LOCALBASE}/libdata/pkgconfig/pangox.pc
259 pangox-compat_USE_GNOME_IMPL=   glib20 pango
260
261 gdkpixbuf2_LIB_DEPENDS= libgdk_pixbuf-2.0.so:${PORTSDIR}/graphics/gdk-pixbuf2
262 gdkpixbuf2_DETECT=      ${LOCALBASE}/libdata/pkgconfig/gdk-pixbuf-2.0.pc
263 gdkpixbuf2_USE_GNOME_IMPL=glib20
264
265 gtk-update-icon-cache_BUILD_DEPENDS=    gtk-update-icon-cache:${PORTSDIR}/graphics/gtk-update-icon-cache
266 gtk-update-icon-cache_RUN_DEPENDS=      gtk-update-icon-cache:${PORTSDIR}/graphics/gtk-update-icon-cache
267 gtk-update-icon-cache_DETECT=           ${LOCALBASE}/bin/gtk-update-icon-cache
268 gtk-update-icon-cache_USE_GNOME_IMPL=   atk pango gdkpixbuf2
269
270 gtk20_LIB_DEPENDS=      libgtk-x11-2.0.so:${PORTSDIR}/x11-toolkits/gtk20
271 gtk20_DETECT=           ${LOCALBASE}/libdata/pkgconfig/gtk+-x11-2.0.pc
272 gtk20_USE_GNOME_IMPL=   intltool atk pango
273 GTK2_VERSION=           2.10.0
274
275 gtk30_LIB_DEPENDS=      libgtk-3.so:${PORTSDIR}/x11-toolkits/gtk30
276 gtk30_DETECT=           ${LOCALBASE}/libdata/pkgconfig/gtk+-3.0.pc
277 gtk30_USE_GNOME_IMPL=   intltool atk pango
278 GTK3_VERSION=           3.0.0
279
280 linc_LIB_DEPENDS=       liblinc.so:${PORTSDIR}/net/linc
281 linc_DETECT=            ${LOCALBASE}/libdata/pkgconfig/linc.pc
282 linc_USE_GNOME_IMPL=    glib20
283
284 libidl_LIB_DEPENDS=     libIDL-2.so:${PORTSDIR}/devel/libIDL
285 libidl_DETECT=          ${LOCALBASE}/libdata/pkgconfig/libIDL-2.0.pc
286 libidl_USE_GNOME_IMPL=  glib20
287
288 orbit2_LIB_DEPENDS=     libORBit-2.so:${PORTSDIR}/devel/ORBit2
289 orbit2_DETECT=          ${LOCALBASE}/libdata/pkgconfig/ORBit-2.0.pc
290 orbit2_USE_GNOME_IMPL=  libidl
291
292 libglade2_LIB_DEPENDS=  libglade-2.0.so:${PORTSDIR}/devel/libglade2
293 libglade2_DETECT=       ${LOCALBASE}/libdata/pkgconfig/libglade-2.0.pc
294 libglade2_USE_GNOME_IMPL=libxml2 gtk20
295
296 libxml2_BUILD_DEPENDS=  xml2-config:${PORTSDIR}/textproc/libxml2
297 libxml2_LIB_DEPENDS=    libxml2.so:${PORTSDIR}/textproc/libxml2
298 libxml2_RUN_DEPENDS=    xml2-config:${PORTSDIR}/textproc/libxml2
299 libxml2_DETECT=         ${LOCALBASE}/libdata/pkgconfig/libxml-2.0.pc
300
301 libxslt_BUILD_DEPENDS=  xsltproc:${PORTSDIR}/textproc/libxslt
302 libxslt_LIB_DEPENDS=    libxslt.so:${PORTSDIR}/textproc/libxslt
303 libxslt_RUN_DEPENDS=    ${libxslt_BUILD_DEPENDS}
304 libxslt_DETECT=         ${LOCALBASE}/libdata/pkgconfig/libxslt.pc
305 libxslt_USE_GNOME_IMPL= libxml2
306
307 libbonobo_LIB_DEPENDS=  libbonobo-2.so:${PORTSDIR}/devel/libbonobo
308 libbonobo_DETECT=       ${LOCALBASE}/libdata/pkgconfig/libbonobo-2.0.pc
309 libbonobo_USE_GNOME_IMPL=libxml2 orbit2
310
311 introspection_DETECT=           ${LOCALBASE}/libdata/pkgconfig/gobject-introspection-1.0.pc
312 introspection_BUILD_DEPENDS=    g-ir-scanner:${PORTSDIR}/devel/gobject-introspection
313 introspection_LIB_DEPENDS=      libgirepository-1.0.so:${PORTSDIR}/devel/gobject-introspection
314 introspection_RUN_DEPENDS=      g-ir-scanner:${PORTSDIR}/devel/gobject-introspection
315 introspection_USE_GNOME_IMPL=   glib20
316 introspection_MAKE_ENV=         GI_SCANNER_DISABLE_CACHE=1
317
318 gconf2_LIB_DEPENDS=     libgconf-2.so:${PORTSDIR}/devel/gconf2
319 gconf2_DETECT=          ${LOCALBASE}/libdata/pkgconfig/gconf-2.0.pc
320 gconf2_USE_GNOME_IMPL=  orbit2 libxml2 gtk20
321
322 gnomevfs2_LIB_DEPENDS=  libgnomevfs-2.so:${PORTSDIR}/devel/gnome-vfs
323 gnomevfs2_DETECT=       ${LOCALBASE}/libdata/pkgconfig/gnome-vfs-2.0.pc
324 gnomevfs2_USE_GNOME_IMPL=gconf2 gnomemimedata
325
326 libgnomecanvas_LIB_DEPENDS=     libgnomecanvas-2.so:${PORTSDIR}/graphics/libgnomecanvas
327 libgnomecanvas_DETECT=          ${LOCALBASE}/libdata/pkgconfig/libgnomecanvas-2.0.pc
328 libgnomecanvas_USE_GNOME_IMPL=  libglade2 libartlgpl2
329
330 libartlgpl2_LIB_DEPENDS=        libart_lgpl_2.so:${PORTSDIR}/graphics/libart_lgpl
331 libartlgpl2_DETECT=             ${LOCALBASE}/libdata/pkgconfig/libart-2.0.pc
332
333 libgnomeprint_LIB_DEPENDS=      libgnomeprint-2-2.so:${PORTSDIR}/print/libgnomeprint
334 libgnomeprint_DETECT=           ${LOCALBASE}/libdata/pkgconfig/libgnomeprint-2.2.pc
335 libgnomeprint_USE_GNOME_IMPL=   libbonobo libartlgpl2 gtk20
336
337 libgnomeprintui_LIB_DEPENDS=    libgnomeprintui-2-2.so:${PORTSDIR}/x11-toolkits/libgnomeprintui
338 libgnomeprintui_DETECT=         ${LOCALBASE}/libdata/pkgconfig/libgnomeprintui-2.2.pc
339 libgnomeprintui_USE_GNOME_IMPL= libgnomeprint libgnomecanvas
340
341 libgnome_LIB_DEPENDS=   libgnome-2.so:${PORTSDIR}/x11/libgnome
342 libgnome_DETECT=        ${LOCALBASE}/libdata/pkgconfig/libgnome-2.0.pc
343 libgnome_USE_GNOME_IMPL=gnomevfs2 esound libbonobo
344
345 libbonoboui_LIB_DEPENDS=        libbonoboui-2.so:${PORTSDIR}/x11-toolkits/libbonoboui
346 libbonoboui_DETECT=             ${LOCALBASE}/libdata/pkgconfig/libbonoboui-2.0.pc
347 libbonoboui_USE_GNOME_IMPL=     libgnomecanvas libgnome
348
349 libgnomeui_LIB_DEPENDS=         libgnomeui-2.so:${PORTSDIR}/x11-toolkits/libgnomeui
350 libgnomeui_DETECT=              ${LOCALBASE}/libdata/pkgconfig/libgnomeui-2.0.pc
351 libgnomeui_USE_GNOME_IMPL=      libbonoboui
352
353 atspi_LIB_DEPENDS=      libspi.so:${PORTSDIR}/accessibility/at-spi
354 atspi_DETECT=           ${LOCALBASE}/libdata/pkgconfig/cspi-1.0.pc
355 atspi_USE_GNOME_IMPL=   gtk20 libbonobo
356
357 libgailgnome_DETECT=            ${LOCALBASE}/libdata/pkgconfig/libgail-gnome.pc
358 libgailgnome_RUN_DEPENDS=       ${libgailgnome_DETECT}:${PORTSDIR}/x11-toolkits/libgail-gnome
359 libgailgnome_USE_GNOME_IMPL=    libgnomeui atspi
360
361 libgtkhtml_LIB_DEPENDS= libgtkhtml-2.so:${PORTSDIR}/www/libgtkhtml
362 libgtkhtml_DETECT=      ${LOCALBASE}/libdata/pkgconfig/libgtkhtml-2.0.pc
363 libgtkhtml_USE_GNOME_IMPL=libxslt gnomevfs2
364
365 gnomedesktop_LIB_DEPENDS=       libgnome-desktop-2.so:${PORTSDIR}/x11/gnome-desktop
366 gnomedesktop_DETECT=            ${LOCALBASE}/libdata/pkgconfig/gnome-desktop-2.0.pc
367 gnomedesktop_USE_GNOME_IMPL=    gconf2 gnomedocutils pygtk2
368
369 gnomedesktopsharp20_DETECT=             ${LOCALBASE}/libdata/pkgconfig/gnome-desktop-sharp-2.0.pc
370 gnomedesktopsharp20_BUILD_DEPENDS=      ${gnomedesktopsharp20_DETECT}:${PORTSDIR}/x11-toolkits/gnome-desktop-sharp20
371 gnomedesktopsharp20_RUN_DEPENDS=        ${gnomedesktopsharp20_DETECT}:${PORTSDIR}/x11-toolkits/gnome-desktop-sharp20
372 gnomedesktopsharp20_USE_GNOME_IMPL=     gnomesharp20 gnomepanel gtkhtml3 librsvg2 vte libgnomeprintui gtksourceview2 libwnck
373 gnomedesktopsharp20_GNOME_DESKTOP_VERSION=2
374
375 libwnck_LIB_DEPENDS=    libwnck-1.so:${PORTSDIR}/x11-toolkits/libwnck
376 libwnck_DETECT=         ${LOCALBASE}/libdata/pkgconfig/libwnck-1.0.pc
377 libwnck_USE_GNOME_IMPL= gtk20
378 libwnck_GNOME_DESKTOP_VERSION=2
379
380 vte_LIB_DEPENDS=        libvte.so:${PORTSDIR}/x11-toolkits/vte
381 vte_DETECT=             ${LOCALBASE}/libdata/pkgconfig/vte.pc
382 vte_USE_GNOME_IMPL=     gtk20
383
384 vte3_LIB_DEPENDS=       libvte2_90.so:${PORTSDIR}/x11-toolkits/vte3
385 vte3_DETECT=            ${LOCALBASE}/libdata/pkgconfig/vte-2.90.pc
386 vte3_USE_GNOME_IMPL=    gtk30
387
388 libzvt_LIB_DEPENDS=     libzvt-2.0.so:${PORTSDIR}/x11-toolkits/libzvt
389 libzvt_DETECT=  ${LOCALBASE}/libdata/pkgconfig/libzvt-2.0.pc
390 libzvt_USE_GNOME_IMPL=  gtk20
391
392 librsvg2_LIB_DEPENDS=   librsvg-2.so:${PORTSDIR}/graphics/librsvg2
393 librsvg2_DETECT=        ${LOCALBASE}/libdata/pkgconfig/librsvg-2.0.pc
394 librsvg2_USE_GNOME_IMPL=libgsf gtk20
395
396 eel2_LIB_DEPENDS=       libeel-2.so:${PORTSDIR}/x11-toolkits/eel
397 eel2_DETECT=            ${LOCALBASE}/libdata/pkgconfig/eel-2.0.pc
398 eel2_USE_GNOME_IMPL=    gnomedesktop
399
400 gnomepanel_LIB_DEPENDS=libpanel-applet-3.so:${PORTSDIR}/x11/gnome-panel
401 gnomepanel_DETECT=      ${LOCALBASE}/libdata/pkgconfig/libpanelapplet-3.0.pc
402 gnomepanel_USE_GNOME_IMPL=gnomedesktop libwnck gnomemenus gnomedocutils librsvg2
403 gnomepanel_GNOME_DESKTOP_VERSION=2
404
405 nautilus2_LIB_DEPENDS=  libnautilus-extension.so:${PORTSDIR}/x11-fm/nautilus
406 nautilus2_DETECT=       ${LOCALBASE}/share/gir-1.0/Nautilus-2.0.gir
407 nautilus2_USE_GNOME_IMPL=librsvg2 gnomedesktop gvfs
408 nautilus2_GNOME_DESKTOP_VERSION=2
409
410 metacity_LIB_DEPENDS=   libmetacity-private.so:${PORTSDIR}/x11-wm/metacity
411 metacity_DETECT=        ${LOCALBASE}/libdata/pkgconfig/libmetacity-private.pc
412 metacity_USE_GNOME_IMPL=gconf2
413 metacity_GNOME_DESKTOP_VERSION=2
414
415 gal2_LIB_DEPENDS=       libgal-2.4.so:${PORTSDIR}/x11-toolkits/gal2
416 gal2_DETECT=            ${LOCALBASE}/libdata/pkgconfig/gal-2.4.pc
417 gal2_USE_GNOME_IMPL=gnomeui libgnomeprintui
418
419 gnomecontrolcenter2_DETECT=     ${LOCALBASE}/libdata/pkgconfig/gnome-window-settings-2.0.pc
420 gnomecontrolcenter2_LIB_DEPENDS=libgnome-window-settings.so:${PORTSDIR}/sysutils/gnome-control-center
421 gnomecontrolcenter2_USE_GNOME_IMPL=metacity gnomemenus libgnomekbd gnomedesktop librsvg2
422 gnomecontrolcenter2_GNOME_DESKTOP_VERSION=2
423
424 libgda4_LIB_DEPENDS=    libgda-4.0.so:${PORTSDIR}/databases/libgda4
425 libgda4_DETECT=         ${LOCALBASE}/libdata/pkgconfig/libgda-4.0.pc
426 libgda4_USE_GNOME_IMPL= glib20 libxslt
427
428 libgda5_LIB_DEPENDS=    libgda-5.0.so:${PORTSDIR}/databases/libgda5
429 libgda5_DETECT=         ${LOCALBASE}/libdata/pkgconfig/libgda-5.0.pc
430 libgda5_USE_GNOME_IMPL= glib20 libxslt
431
432 libgda5-ui_LIB_DEPENDS= libgda-ui-5.0.so:${PORTSDIR}/databases/libgda5-ui
433 libgda5-ui_DETECT=      ${LOCALBASE}/libdata/pkgconfig/libgda-ui-5.0.pc
434 libgda5-ui_USE_GNOME_IMPL=glib20 libxslt libgda5
435
436 libgnomedb_LIB_DEPENDS= libgnomedb-3.0.so:${PORTSDIR}/databases/libgnomedb
437 libgnomedb_DETECT=      ${LOCALBASE}/libdata/pkgconfig/libgnomedb.pc
438 libgnomedb_USE_GNOME_IMPL=libgnomeui libgda3
439
440 gtksourceview_LIB_DEPENDS=      libgtksourceview-1.0.so:${PORTSDIR}/x11-toolkits/gtksourceview
441 gtksourceview_DETECT=   ${LOCALBASE}/libdata/pkgconfig/gtksourceview-1.0.pc
442 gtksourceview_USE_GNOME_IMPL=libgnome libgnomeprintui
443
444 gtksourceview2_LIB_DEPENDS=     libgtksourceview-2.0.so:${PORTSDIR}/x11-toolkits/gtksourceview2
445 gtksourceview2_DETECT=  ${LOCALBASE}/libdata/pkgconfig/gtksourceview-2.0.pc
446 gtksourceview2_USE_GNOME_IMPL=gtk20 libxml2
447
448 gtksourceview3_LIB_DEPENDS=     libgtksourceview-3.0.so:${PORTSDIR}/x11-toolkits/gtksourceview3
449 gtksourceview3_DETECT=          ${LOCALBASE}/libdata/pkgconfig/gtksoureview-3.0.pc
450 gtksourceview3_USE_GNOME_IMPL=  gtk30 libxml2
451
452 libgsf_LIB_DEPENDS=     libgsf-1.so:${PORTSDIR}/devel/libgsf
453 libgsf_DETECT=          ${LOCALBASE}/libdata/pkgconfig/libgsf-1.pc
454 libgsf_USE_GNOME_IMPL=  glib20 libxml2
455
456 pygobject_DETECT=               ${LOCALBASE}/libdata/pkgconfig/pygobject-2.0.pc
457 pygobject_BUILD_DEPENDS=        pygobject-codegen-2.0:${PORTSDIR}/devel/py-gobject
458 pygobject_RUN_DEPENDS=          pygobject-codegen-2.0:${PORTSDIR}/devel/py-gobject
459 pygobject_USE_GNOME_IMPL=       glib20
460
461 pygobject3_DETECT=              ${LOCALBASE}/libdata/pkgconfig/pygobject-3.0.pc
462 pygobject3_BUILD_DEPENDS=       ${LOCALBASE}/libdata/pkgconfig/pygobject-3.0.pc:${PORTSDIR}/devel/py-gobject3
463 pygobject3_RUN_DEPENDS=         ${LOCALBASE}/libdata/pkgconfig/pygobject-3.0.pc:${PORTSDIR}/devel/py-gobject3
464 pygobject3_USE_GNOME_IMPL=      glib20
465
466 pygtk2_DETECT=          ${LOCALBASE}/libdata/pkgconfig/pygtk-2.0.pc
467 pygtk2_BUILD_DEPENDS=   ${pygtk2_DETECT}:${PORTSDIR}/x11-toolkits/py-gtk2
468 pygtk2_RUN_DEPENDS=     ${pygtk2_DETECT}:${PORTSDIR}/x11-toolkits/py-gtk2
469 pygtk2_USE_GNOME_IMPL=  libglade2 pygobject
470
471 pygnome2_DETECT=        ${LOCALBASE}/libdata/pkgconfig/gnome-python-2.0.pc
472 pygnome2_BUILD_DEPENDS= ${pygnome2_DETECT}:${PORTSDIR}/x11-toolkits/py-gnome2
473 pygnome2_RUN_DEPENDS=   ${pygnome2_DETECT}:${PORTSDIR}/x11-toolkits/py-gnome2
474 pygnome2_USE_GNOME_IMPL=libgnomeui pygtk2
475
476 intltool_DETECT=        ${LOCALBASE}/bin/intltool-extract
477 intltool_BUILD_DEPENDS= ${intltool_DETECT}:${PORTSDIR}/textproc/intltool
478
479 intlhack_PRE_PATCH=             ${FIND} ${WRKSRC} -name "intltool-merge.in" | ${XARGS} ${REINPLACE_CMD} -e \
480                                 's|mkdir $$lang or|mkdir $$lang, 0777 or| ; \
481                                  s|^push @INC, "/.*|push @INC, "${LOCALBASE}/share/intltool";| ; \
482                                  s|/usr/bin/iconv|${ICONV_CMD}|g ; \
483                                  s|unpack *[(]'"'"'U\*'"'"'|unpack ('"'"'C*'"'"'|'
484 intlhack_USE_GNOME_IMPL=intltool
485
486 gtkhtml3_LIB_DEPENDS=   libgtkhtml-3.14.so:${PORTSDIR}/www/gtkhtml3
487 gtkhtml3_DETECT=        ${LOCALBASE}/libdata/pkgconfig/libgtkhtml-3.14.pc
488 gtkhtml3_USE_GNOME_IMPL=libglade2
489
490 gnomespeech_LIB_DEPENDS=libgnomespeech.so:${PORTSDIR}/accessibility/gnome-speech
491 gnomespeech_DETECT=     ${LOCALBASE}/libdata/pkgconfig/gnome-speech-1.0.pc
492 gnomespeech_USE_GNOME_IMPL=libbonobo
493
494 evolutiondataserver_LIB_DEPENDS=libedataserverui-1.2.so:${PORTSDIR}/databases/evolution-data-server
495 evolutiondataserver_DETECT=             ${LOCALBASE}/libdata/pkgconfig/evolution-data-server-1.2.pc
496 evolutiondataserver_USE_GNOME_IMPL=gconf2 libxml2
497 evolutiondataserver_GNOME_DESKTOP_VERSION=2
498
499 desktopfileutils_BUILD_DEPENDS=update-desktop-database:${PORTSDIR}/devel/desktop-file-utils
500 desktopfileutils_RUN_DEPENDS=update-desktop-database:${PORTSDIR}/devel/desktop-file-utils
501 desktopfileutils_DETECT=        ${LOCALBASE}/bin/update-desktop-database
502 desktopfileutils_USE_GNOME_IMPL=glib20
503
504 gnomemenus_BUILD_DEPENDS=       gnome-menus<=2.39.0:${PORTSDIR}/x11/gnome-menus
505 gnomemenus_RUN_DEPENDS=         gnome-menus<=2.39.0:${PORTSDIR}/x11/gnome-menus
506 gnomemenus_DETECT=              ${LOCALBASE}/libdata/pkgconfig/libgnome-menu.pc
507 gnomemenus_USE_GNOME_IMPL=      glib20
508 gnomemenus_GNOME_DESKTOP_VERSION=2
509
510 pygnomeextras_DETECT=           ${LOCALBASE}/libdata/pkgconfig/gnome-python-extras-2.0.pc
511 pygnomeextras_BUILD_DEPENDS=    ${pygnomeextras_DETECT}:${PORTSDIR}/x11-toolkits/py-gnome-extras
512 pygnomeextras_RUN_DEPENDS=      ${pygnomeextras_DETECT}:${PORTSDIR}/x11-toolkits/py-gnome-extras
513 pygnomeextras_USE_GNOME_IMPL=pygnome2 libgtkhtml
514
515 gnomedocutils_DETECT=           ${LOCALBASE}/libdata/pkgconfig/gnome-doc-utils.pc
516 gnomedocutils_BUILD_DEPENDS=    ${gnomedocutils_DETECT}:${PORTSDIR}/textproc/gnome-doc-utils
517 gnomedocutils_RUN_DEPENDS=      ${gnomedocutils_DETECT}:${PORTSDIR}/textproc/gnome-doc-utils
518 gnomedocutils_USE_GNOME_IMPL=   libxslt
519
520 pygnomedesktop_DETECT=          ${LOCALBASE}/libdata/pkgconfig/gnome-python-desktop-2.0.pc
521 pygnomedesktop_BUILD_DEPENDS=   ${pygnomedesktop_DETECT}:${PORTSDIR}/x11-toolkits/py-gnome-desktop
522 pygnomedesktop_RUN_DEPENDS=     ${pygnomedesktop_DETECT}:${PORTSDIR}/x11-toolkits/py-gnome-desktop
523 pygnomedesktop_USE_GNOME_IMPL=  pygnome2 libgnomeprintui gtksourceview gnomepanel libwnck nautilus2 metacity
524 pygnomedesktop_GNOME_DESKTOP_VERSION=2
525
526 gtksharp10_DETECT=              ${LOCALBASE}/libdata/pkgconfig/gtk-sharp.pc
527 gtksharp10_BUILD_DEPENDS=       ${gtksharp10_DETECT}:${PORTSDIR}/x11-toolkits/gtk-sharp10
528 gtksharp10_RUN_DEPENDS=         ${gtksharp10_DETECT}:${PORTSDIR}/x11-toolkits/gtk-sharp10
529 gtksharp10_USE_GNOME_IMPL=      gtk20
530
531 gtksharp20_DETECT=              ${LOCALBASE}/libdata/pkgconfig/gtk-sharp-2.0.pc
532 gtksharp20_BUILD_DEPENDS=       ${gtksharp20_DETECT}:${PORTSDIR}/x11-toolkits/gtk-sharp20
533 gtksharp20_RUN_DEPENDS=         ${gtksharp20_DETECT}:${PORTSDIR}/x11-toolkits/gtk-sharp20
534 gtksharp20_USE_GNOME_IMPL=      gtk20
535
536 gnomesharp20_DETECT=            ${LOCALBASE}/libdata/pkgconfig/gnome-sharp-2.0.pc
537 gnomesharp20_BUILD_DEPENDS=     ${gnomesharp20_DETECT}:${PORTSDIR}/x11-toolkits/gnome-sharp20
538 gnomesharp20_RUN_DEPENDS=       ${gnomesharp20_DETECT}:${PORTSDIR}/x11-toolkits/gnome-sharp20
539 gnomesharp20_USE_GNOME_IMPL=    gnomepanel3 gtkhtml3 gtksharp20 librsvg2 vte
540
541 libgnomekbd_DETECT=             ${LOCALBASE}/lib/libgnomekbd.so.4
542 libgnomekbd_LIB_DEPENDS=        libgnomekbd.so.4:${PORTSDIR}/x11/libgnomekbd
543 libgnomekbd_USE_GNOME_IMPL=     gconf2
544 libgnomekbd_GNOME_DESKTOP_VERSION=2
545
546 pygtksourceview_DETECT=         ${LOCALBASE}/libdata/pkgconfig/pygtksourceview-2.0.pc
547 pygtksourceview_BUILD_DEPENDS=  ${pygtksourceview_DETECT}:${PORTSDIR}/x11-toolkits/py-gtksourceview
548 pygtksourceview_RUN_DEPENDS=    ${pygtksourceview_DETECT}:${PORTSDIR}/x11-toolkits/py-gtksourceview
549 pygtksourceview_USE_GNOME_IMPL= gtksourceview2 pygtk2
550
551 gvfs_DETECT=            ${LOCALBASE}/lib/libgvfscommon.so
552 gvfs_LIB_DEPENDS=       libgvfscommon.so:${PORTSDIR}/devel/gvfs
553 gvfs_USE_GNOME_IMPL=    glib20 gconf2
554
555 .if defined(MARCUSCOM_CVS)
556 . if exists(${PORTSDIR}/Mk/bsd.gnome-experimental.mk)
557 .include "${PORTSDIR}/Mk/bsd.gnome-experimental.mk"
558 . endif
559 .endif
560
561 .if defined(INSTALLS_ICONS)
562 USE_GNOME+=     gtk-update-icon-cache
563 .endif
564
565 # End component definition section
566
567 # This section defines tests for optional software.  These work off four
568 # types of variables:  WANT_GNOME, WITH_GNOME, HAVE_GNOME and USE_GNOME.
569 # The logic of this is that a port can WANT support for a package; a user
570 # specifies if they want ports compiled WITH certain features; this section
571 # tests if we HAVE these features; and the port is then free to USE them.
572
573 # The logic of this section is like this:
574 #
575 # .if defined(WANT_GNOME) && !defined(WITHOUT_GNOME)
576 #   .for foo in ALL_GNOME_COMPONENTS
577 #     .if defined(WITH_GNOME)
578 #       HAVE_GNOME += foo
579 #     .elif (foo installed)
580 #       HAVE_GNOME += foo
581 #     .else
582 #       Print option message
583 #     .endif
584 #   .endfor
585 # .endif
586 #
587 # Although it appears a little more convoluted in the tests.
588
589 # Ports can make use of this like so:
590 #
591 # WANT_GNOME=           yes
592 #
593 # .include <bsd.port.pre.mk>
594 #
595 # .if ${HAVE_GNOME:Mfoo}!=""
596 # ... Do some things ...
597 # USE_GNOME=            foo
598 # .else
599 # ... Do some other things ...
600 # .endif
601
602 # If the user has not defined GNOME_DESKTOP_VERSION, let's try to prevent
603 # users from shooting themselves in the foot.  We will try to make an
604 # intelligent choice on the user's behalf.
605 .if exists(${gnomepanel3_DETECT})
606 GNOME_DESKTOP_VERSION?= 3
607 .elif exists(${gnomepanel_DETECT})
608 GNOME_DESKTOP_VERSION?= 2
609 .endif
610
611 # We also check each component to see if it has a desktop requirement.  If
612 # it does, and its requirement disagrees with the user's chosen desktop,
613 # do not add the component to the HAVE_GNOME list.
614
615 _USE_GNOME_SAVED:=${USE_GNOME}
616 _USE_GNOME_DESKTOP=yes
617 HAVE_GNOME?=
618 .if (defined(WANT_GNOME) && !defined(WITHOUT_GNOME))
619 . for component in ${_USE_GNOME_ALL}
620 .      if defined(GNOME_DESKTOP_VERSION) && \
621         defined(${component}_GNOME_DESKTOP_VERSION)
622 .         if ${GNOME_DESKTOP_VERSION}==${${component}_GNOME_DESKTOP_VERSION}
623 HAVE_GNOME+=    ${component}
624 .         else
625 _USE_GNOME_DESKTOP=no
626 .         endif
627 .      else
628 .         if exists(${${component}_DETECT})
629 HAVE_GNOME+=    ${component}
630 .         elif defined(WITH_GNOME)
631 .            if ${WITH_GNOME}=="yes" || ${WITH_GNOME:M${component}}!="" \
632                 || ${WITH_GNOME}=="1"
633 HAVE_GNOME+=    ${component}
634 .            endif
635 .         endif
636 .       endif
637 . endfor
638 .elif defined(WITHOUT_GNOME)
639 .  if ${WITHOUT_GNOME}!="yes" && ${WITHOUT_GNOME}!="1"
640 .    for component in ${_USE_GNOME_ALL}
641 .      if ${WITHOUT_GNOME:M${component}}==""
642 .        if exists(${${component}_DETECT})
643 HAVE_GNOME+=    ${component}
644 .        endif
645 .      endif
646 .    endfor
647 .  endif
648 .endif
649
650 .endif
651 # End of optional part.
652
653 .if defined(_POSTMKINCLUDED) && !defined(Gnome_Post_Include)
654
655 Gnome_Post_Include=             bsd.gnome.mk
656
657 .if !defined(Gnome_Pre_Include)
658 .error The Pre include part of bsd.gnome.mk part is not included. Did you forget WANT_GNOME=yes before bsd.port.pre.mk?
659 .endif
660
661 .if defined(USE_GNOME)
662 # First of all expand all USE_GNOME_IMPL recursively
663 . for component in ${_USE_GNOME_ALL}
664 .  for subcomponent in ${${component}_USE_GNOME_IMPL}
665 ${component}_USE_GNOME_IMPL+=${${subcomponent}_USE_GNOME_IMPL}
666 .  endfor
667 . endfor
668
669 # Then use already expanded USE_GNOME_IMPL to expand USE_GNOME.
670 # Also, check to see if each component has a desktop requirement.  If it does,
671 # and if the user's chosen desktop is not of the same version, mark the
672 # port as IGNORE.
673 . for component in ${USE_GNOME:C/^([^:]+).*/\1/}
674 .      if defined(GNOME_DESKTOP_VERSION) && \
675         defined(${component}_GNOME_DESKTOP_VERSION)
676 .         if ${GNOME_DESKTOP_VERSION}!=${${component}_GNOME_DESKTOP_VERSION}
677 IGNORE= cannot install: ${PORTNAME} wants to use the GNOME
678 IGNORE+=${${component}_GNOME_DESKTOP_VERSION} desktop, but you wish to use
679 IGNORE+=the GNOME ${GNOME_DESKTOP_VERSION} desktop
680 .         endif
681 .      endif
682 .  if ${_USE_GNOME_ALL:M${component}}==""
683 IGNORE= cannot install: Unknown component ${component}
684 .  endif
685 _USE_GNOME+=    ${${component}_USE_GNOME_IMPL} ${component}
686 . endfor
687
688 # Setup the GTK+ API version for pixbuf loaders, input method modules,
689 # and theme engines.
690 PLIST_SUB+=                     GTK2_VERSION="${GTK2_VERSION}" \
691                                 GTK3_VERSION="${GTK3_VERSION}"
692
693 # Then handle the ltverhack component (it has to be done here, because
694 # we rely on some bsd.autotools.mk variables, and bsd.autotools.mk is
695 # included in the post-makefile section).
696 .if defined(_AUTOTOOL_libtool)
697 lthacks_CONFIGURE_ENV=          ac_cv_path_DOLT_BASH=
698 lthacks_PRE_PATCH=      \
699         ${CP} -pf ${LTMAIN} ${WRKDIR}/gnome-ltmain.sh && \
700         ${CP} -pf ${LIBTOOL} ${WRKDIR}/gnome-libtool && \
701         for file in ${LIBTOOLFILES}; do \
702                 ${REINPLACE_CMD} -e \
703                 '/^ltmain=/!s|$$ac_aux_dir/ltmain\.sh|${LIBTOOLFLAGS} ${WRKDIR}/gnome-ltmain.sh|g; \
704                  /^LIBTOOL=/s|$$(top_builddir)/libtool|${WRKDIR}/gnome-libtool|g' \
705                 ${PATCH_WRKSRC}/$$file; \
706         done;
707 .else
708 .  if ${USE_GNOME:Mltasneededhack}!=""
709 IGNORE= cannot install: ${PORTNAME} uses the ltasneededhack GNOME component but does not use libtool
710 .  endif
711 .endif
712
713 .if ${USE_GNOME:Mltverhack\:*:C/^[^:]+:([^:]+).*/\1/}==""
714 ltverhack_LIB_VERSION=  major=.`expr $$current - $$age`
715 .else
716 ltverhack_LIB_VERSION=  major=".${USE_GNOME:Mltverhack\:*:C/^[^:]+:([^:]+).*/\1/}"
717 .endif
718
719 .if defined(USE_AUTOTOOLS) &&  ${USE_AUTOTOOLS:Mlibtool*}
720 ltverhack_PATCH_DEPENDS=${LIBTOOL_DEPENDS}
721 ltverhack_PATCH_FILES=  ../gnome-ltmain.sh ../gnome-libtool
722 .else
723 ltverhack_PATCH_FILES?= ltmain.sh libtool
724 .endif
725
726 ltverhack_PRE_PATCH=    \
727         for file in ${ltverhack_PATCH_FILES}; do \
728                 if [ -f ${WRKSRC}/$$file ]; then \
729                         ${REINPLACE_CMD} -e \
730                         '/freebsd-elf)/,/;;/ s|major="\.$$current"|${ltverhack_LIB_VERSION}|; \
731                          /freebsd-elf)/,/;;/ s|versuffix="\.$$current"|versuffix="$$major"|' \
732                         -e \
733                         '/freebsd-elf)/,/;;/ s|major=\.$$current|${ltverhack_LIB_VERSION}|; \
734                          /freebsd-elf)/,/;;/ s|versuffix=\.$$current|versuffix="$$major"|' \
735                         ${WRKSRC}/$$file; \
736                 fi; \
737         done
738
739 ltasneededhack_PATCH_DEPENDS=${LIBTOOL_DEPENDS}
740 ltasneededhack_PRE_PATCH=       \
741         if [ -f ${WRKDIR}/gnome-libtool ]; then \
742                 ${REINPLACE_CMD} -e \
743                 '/^archive_cmds=/s/-shared/-shared -Wl,--as-needed/ ; \
744                  /^archive_expsym_cmds=/s/-shared/-shared -Wl,--as-needed/' \
745                 ${WRKDIR}/gnome-libtool; \
746         fi
747
748 # Set USE_CSTD for all ports that depend on glib12
749 .if defined(_USE_GNOME) && !empty(_USE_GNOME:Mglib12)
750 USE_CSTD=       gnu89
751 .endif
752
753 # Then traverse through all components, check which of them
754 # exist in ${_USE_GNOME} and set variables accordingly
755 .ifdef _USE_GNOME
756
757 . if ${USE_GNOME:Mltasneededhack}!= ""
758 _GNOME_NEED_LIBTOOL=1
759 . endif
760
761 # this is splitted out from the above entry because fmake trows a fit otherwise
762 . if defined(USE_AUTOTOOLS) && ${USE_AUTOTOOLS:Mlibtool*}
763 .  if ${USE_GNOME:Mltverhack*}!= ""
764 _GNOME_NEED_LIBTOOL=1
765 .  endif
766 . endif
767
768 . if defined(_GNOME_NEED_LIBTOOL)
769 GNOME_PRE_PATCH+=       ${lthacks_PRE_PATCH}
770 CONFIGURE_ENV+=         ${lthacks_CONFIGURE_ENV}
771 . endif
772
773 . for component in ${_USE_GNOME:O:u}
774 .  if defined(${component}_PATCH_DEPENDS)
775 PATCH_DEPENDS+= ${${component}_PATCH_DEPENDS}
776 .  endif
777
778 .  if defined(${component}_DETECT)
779 .   if ${USE_GNOME:M${component}\:build}!=""
780 BUILD_DEPENDS+= ${${component}_BUILD_DEPENDS}
781 .   elif ${USE_GNOME:M${component}\:run}!=""
782 RUN_DEPENDS+=   ${${component}_RUN_DEPENDS}
783 .   else
784 .    if defined(${component}_LIB_DEPENDS)
785 LIB_DEPENDS+=   ${${component}_LIB_DEPENDS}
786 .    else
787 BUILD_DEPENDS+= ${${component}_BUILD_DEPENDS}
788 RUN_DEPENDS+=   ${${component}_RUN_DEPENDS}
789 .    endif
790 .   endif
791 .  endif
792
793 .  if defined(${component}_CONFIGURE_ARGS)
794 CONFIGURE_ARGS+=${${component}_CONFIGURE_ARGS}
795 .  endif
796
797 .  if defined(${component}_CONFIGURE_ENV)
798 CONFIGURE_ENV+= ${${component}_CONFIGURE_ENV}
799 .  endif
800
801 .  if defined(${component}_MAKE_ENV)
802 MAKE_ENV+=      ${${component}_MAKE_ENV}
803 .  endif
804
805 .  if !defined(CONFIGURE_TARGET) && defined(${component}_CONFIGURE_TARGET)
806 CONFIGURE_TARGET=       ${${component}_CONFIGURE_TARGET}
807 .  endif
808
809 .  if defined(${component}_PRE_PATCH)
810 GNOME_PRE_PATCH+=       ; ${${component}_PRE_PATCH}
811 .  endif
812 . endfor
813 .endif
814
815 . if defined(GCONF_SCHEMAS) && ! defined(NO_STAGE)
816 MAKE_ENV+=      GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1
817 . endif
818 .endif
819
820 .if defined(GNOME_PRE_PATCH)
821
822 pre-patch: gnome-pre-patch
823
824 gnome-pre-patch:
825         @${GNOME_PRE_PATCH:C/^;//1}
826 .endif
827
828 .if defined(WANT_GNOME)
829 USE_GNOME?=
830 .  if ${_USE_GNOME_SAVED}==${USE_GNOME}
831 PLIST_SUB+=     GNOME:="@comment " NOGNOME:=""
832 .  else
833 PLIST_SUB+=     GNOME:="" NOGNOME:="@comment "
834 .    if defined(GNOME_DESKTOP_VERSION)
835 .      if ${_USE_GNOME_DESKTOP}=="yes"
836 PLIST_SUB+=     GNOMEDESKTOP:="" NOGNOMEDESKTOP:="@comment "
837 .      else
838 PLIST_SUB+=     GNOMEDESKTOP:="@comment " NOGNOMEDESKTOP:=""
839 .      endif
840 .    endif
841 .  endif
842 .endif
843
844 .if defined(USE_GNOME_SUBR)
845 GNOME_SUBR=             ${LOCALBASE}/etc/gnome.subr
846 RUN_DEPENDS+=   ${GNOME_SUBR}:${PORTSDIR}/sysutils/gnome_subr
847 SUB_LIST+=              GNOME_SUBR=${GNOME_SUBR}
848 .endif
849
850 .if ${MAINTAINER}=="gnome@FreeBSD.org"
851 CONFIGURE_FAIL_MESSAGE= "Please run the gnomelogalyzer, available from \"http://www.freebsd.org/gnome/gnomelogalyzer.sh\", which will diagnose the problem and suggest a solution. If - and only if - the gnomelogalyzer cannot solve the problem, report the build failure to the FreeBSD GNOME team at ${MAINTAINER}, and attach (a) \"${CONFIGURE_WRKSRC}/${CONFIGURE_LOG}\", (b) the output of the failed make command, and (c) the gnomelogalyzer output. Also, it might be a good idea to provide an overview of all packages installed on your system (i.e. an \`ls ${PKG_DBDIR}\`). Put your attachment up on any website, copy-and-paste into http://freebsd-gnome.pastebin.com, or use send-pr(1) with the attachment. Try to avoid sending any attachments to the mailing list (${MAINTAINER}), because attachments sent to FreeBSD mailing lists are usually discarded by the mailing list software."
852 .endif
853
854
855 .if defined(GCONF_SCHEMAS) || defined(INSTALLS_OMF) || defined(INSTALLS_ICONS) \
856         || defined(GLIB_SCHEMAS) || (defined(_USE_GNOME) && ${_USE_GNOME:Mgnomehier}!="")
857 pre-su-install: gnome-pre-su-install
858 post-install: gnome-post-install
859
860 gnome-pre-su-install:
861 .if defined(_USE_GNOME) && ${_USE_GNOME:Mgnomehier}!="" && !defined(NO_MTREE)
862         @${MTREE_CMD} ${MTREE_ARGS:S/${MTREE_FILE}/${GNOME_MTREE_FILE}/} ${STAGEDIR}${PREFIX}/ >/dev/null
863 .endif
864 .if defined(GCONF_SCHEMAS)
865         @${MKDIR} ${STAGEDIR}${PREFIX}/etc/gconf/gconf.xml.defaults/
866 .else
867         @${DO_NADA}
868 .endif
869
870 gnome-post-install:
871 .  if defined(GCONF_SCHEMAS)
872         @for i in ${GCONF_SCHEMAS}; do \
873                 ${ECHO_CMD} "@unexec env GCONF_CONFIG_SOURCE=xml:${GCONF_CONFIG_OPTIONS}:%D/${GCONF_CONFIG_DIRECTORY} gconftool-2 --makefile-uninstall-rule %D/etc/gconf/schemas/$${i} > /dev/null || /usr/bin/true" \
874                         >> ${TMPPLIST}; \
875                 ${ECHO_CMD} "etc/gconf/schemas/$${i}" >> ${TMPPLIST}; \
876                 ${ECHO_CMD} "@exec env GCONF_CONFIG_SOURCE=xml:${GCONF_CONFIG_OPTIONS}:%D/${GCONF_CONFIG_DIRECTORY} gconftool-2 --makefile-install-rule %D/etc/gconf/schemas/$${i} > /dev/null || /usr/bin/true" \
877                         >> ${TMPPLIST}; \
878         done
879 .  endif
880
881 # we put the @unexec behind the plist schema entry, because it compiles files 
882 # in the directory. So we should remove the port file first before recompiling.
883 .  if defined(GLIB_SCHEMAS)
884         @for i in ${GLIB_SCHEMAS}; do \
885                 ${ECHO_CMD} "share/glib-2.0/schemas/$${i}" >> ${TMPPLIST}; \
886         done
887         @${ECHO_CMD} "@exec glib-compile-schemas %D/share/glib-2.0/schemas > /dev/null || /usr/bin/true" \
888                         >> ${TMPPLIST}; \
889         ${ECHO_CMD} "@unexec glib-compile-schemas %D/share/glib-2.0/schemas > /dev/null || /usr/bin/true" \
890                         >> ${TMPPLIST};
891 .endif
892
893 .  if defined(INSTALLS_OMF)
894         @for i in `${GREP} "\.omf$$" ${TMPPLIST}`; do \
895                 ${ECHO_CMD} "@exec scrollkeeper-install -q %D/$${i} 2>/dev/null || /usr/bin/true" \
896                         >> ${TMPPLIST}; \
897                 ${ECHO_CMD} "@unexec scrollkeeper-uninstall -q %D/$${i} 2>/dev/null || /usr/bin/true" \
898                         >> ${TMPPLIST}; \
899         done
900 .  endif
901
902 .  if defined(INSTALLS_ICONS)
903         @${RM} -f ${TMPPLIST}.icons1
904         @for i in `${GREP} "^share/icons/.*/" ${TMPPLIST} | ${CUT} -d / -f 1-3 | ${SORT} -u`; do \
905                 ${ECHO_CMD} "@unexec /bin/rm %D/$${i}/icon-theme.cache 2>/dev/null || /usr/bin/true" \
906                         >> ${TMPPLIST}.icons1; \
907                 ${ECHO_CMD} "@exec ${LOCALBASE}/bin/gtk-update-icon-cache -q -f %D/$${i} 2>/dev/null || /usr/bin/true" \
908                         >> ${TMPPLIST}; \
909                 ${ECHO_CMD} "@unexec ${LOCALBASE}/bin/gtk-update-icon-cache -q -f %D/$${i} 2>/dev/null || /usr/bin/true" \
910                         >> ${TMPPLIST}; \
911         done
912 .if defined(NO_STAGE)
913         @for i in `${GREP} "^share/icons/.*/" ${TMPPLIST} | ${CUT} -d / -f 1-3 | ${SORT} -u`; do \
914                 ${LOCALBASE}/bin/gtk-update-icon-cache -q -f ${PREFIX}/$${i} 2>/dev/null || ${TRUE}; \
915         done
916 .endif
917         @if test -f ${TMPPLIST}.icons1; then \
918                 ${CAT} ${TMPPLIST}.icons1 ${TMPPLIST} > ${TMPPLIST}.icons2; \
919                 ${RM} -f ${TMPPLIST}.icons1; \
920                 ${MV} -f ${TMPPLIST}.icons2 ${TMPPLIST}; \
921         fi
922 .  endif
923 .endif
924
925 .endif
926 # End of use part.