Update GNOME documentation to cover the newest FreeBSD GNOME
architecture. Added here are 2 new pages containing component macros for GNOME1 and for GNOME2. Additionally, all references to USE_GNOMENG have been removed, some new sections have been added, and some sections have been reordered.
This commit is contained in:
parent
40dc96dbec
commit
2d98881813
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/www/; revision=16645
3 changed files with 649 additions and 213 deletions
316
en/gnome/docs/gnome2_porting.sgml
Normal file
316
en/gnome/docs/gnome2_porting.sgml
Normal file
|
@ -0,0 +1,316 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" [
|
||||
<!ENTITY base CDATA "../..">
|
||||
<!ENTITY date "$FreeBSD: www/en/gnome/docs/porting.sgml,v 1.27 2003/01/28 06:55:10 marcus Exp $">
|
||||
<!ENTITY title "FreeBSD GNOME Project: GNOME 2 Components">
|
||||
<!ENTITY % gnomeincludes SYSTEM "../includes.sgml"> %gnomeincludes;
|
||||
<!ENTITY % includes SYSTEM "../../includes.sgml"> %includes;
|
||||
]>
|
||||
<html>
|
||||
&header;
|
||||
<table border="0">
|
||||
<tr>
|
||||
<td>
|
||||
<!-- Begin USE_GNOME components list -->
|
||||
<table border="1">
|
||||
<tr>
|
||||
<th>COMPONENT</th>
|
||||
<th>ASSOCIATED PROGRAM</th>
|
||||
<th>IMPLIED COMPONENTS</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>atk</tt></td>
|
||||
<td><tt>devel/atk</tt></td>
|
||||
<td><tt>glib20</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>atspi</tt></td>
|
||||
<td><tt>x11-toolkits/at-spi</tt></td>
|
||||
<td><tt>gail libbonobo</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>bonoboactivation</tt></td>
|
||||
<td><tt>devel/bonoboactivation</tt></td>
|
||||
<td><tt>libxml2 orbit2</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>eel2</tt></td>
|
||||
<td><tt>x11-toolkits/eel2</tt></td>
|
||||
<td><tt>gnomevfs2 libgnomeui gail</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>esound</tt></td>
|
||||
<td><tt>audio/esound</tt></td>
|
||||
<td><tt></tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gail</tt></td>
|
||||
<td><tt>x11-toolkits/gail</tt></td>
|
||||
<td><tt>libgnomecanvas</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gal2</tt></td>
|
||||
<td><tt>x11-toolkits/gal2</tt></td>
|
||||
<td><tt>gnomeui libgnomeprintui</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gconf2</tt></td>
|
||||
<td><tt>devel/gconf2</tt></td>
|
||||
<td><tt>orbit2 libxml2 gtk20</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>glib20</tt></td>
|
||||
<td><tt>devel/glib20</tt></td>
|
||||
<td><tt>gnometarget</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gnomeaudio</tt></td>
|
||||
<td><tt>audio/gnomeaudio</tt></td>
|
||||
<td><tt></tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gnomecontrolcenter2</tt></td>
|
||||
<td><tt>sysutils/gnomecontrolcenter2</tt></td>
|
||||
<td><tt>gnomedesktop metacity</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gnomedesktop</tt></td>
|
||||
<td><tt>x11/gnomedesktop</tt></td>
|
||||
<td><tt>libgnomeui</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gnomehack</tt></td>
|
||||
<td colspan="2"><tt>gnomehack</tt> makes common GNOME
|
||||
Makefile substitutions that nearly every GNOME port
|
||||
requires to fit into the proper mtree structure. <b>Note</b>:
|
||||
Including this option adds a <tt>pre-patch</tt> target to
|
||||
your Makefile. Therefore, only explicitly define
|
||||
<tt>post-patch</tt>.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gnomehier</tt></td>
|
||||
<td colspan="2"><tt>gnomehier</tt> installs all the
|
||||
directories needed for both the GNOME 1 and 2 desktops.
|
||||
Only include this option if your port calls <tt>@dirrm</tt>
|
||||
on one of the directories listed in the plist for
|
||||
<tt>gnomehier</tt>.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gnomepanel</tt></td>
|
||||
<td><tt>x11/gnomepanel</tt></td>
|
||||
<td><tt>libwnck gnomedesktop</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gnomeprefix</tt></td>
|
||||
<td colspan="2"><tt>gnomeprefix</tt> sets some CONFIGURE_ARGS
|
||||
to ensure data is placed properly within the GNOME hierarchy.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gnometarget</tt></td>
|
||||
<td colspan="2"><tt>gnometarget</tt> sets
|
||||
<tt>CONFIGURE_TARGET</tt> to
|
||||
<tt>--build=${MACHINE_ARCH}-portbld-freebsd${OSREL}</tt>.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gnomevfs2</tt></td>
|
||||
<td><tt>devel/gnomevfs2</tt></td>
|
||||
<td><tt>gconf2 libbonobo gnomemimedata</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gtk20</tt></td>
|
||||
<td><tt>x11-toolkits/gtk20</tt></td>
|
||||
<td><tt>atk pango</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>libartlgpl2</tt></td>
|
||||
<td><tt>graphics/libartlgpl2</tt></td>
|
||||
<td><tt></tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>libbonobo</tt></td>
|
||||
<td><tt>devel/libbonobo</tt></td>
|
||||
<td><tt>bonoboactivation</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>libbonoboui</tt></td>
|
||||
<td><tt>x11-toolkits/libbonoboui</tt></td>
|
||||
<td><tt>libgnomecanvas libgnome</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>libgailgnome</tt></td>
|
||||
<td><tt>x11-toolkits/libgail-gnome</tt></td>
|
||||
<td><tt>libgnomeui atspi</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>libgda2</tt></td>
|
||||
<td><tt>databases/libgda2</tt></td>
|
||||
<td><tt>glib20 libxslt</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>libghttp</tt></td>
|
||||
<td><tt>www/libghttp</tt></td>
|
||||
<td><tt></tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>libglade2</tt></td>
|
||||
<td><tt>devel/libglade2</tt></td>
|
||||
<td><tt>libxml2 gtk20</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>libgnome</tt></td>
|
||||
<td><tt>x11/libgnome</tt></td>
|
||||
<td><tt>libxslt gnomevfs2 esound</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>libgnomeui</tt></td>
|
||||
<td><tt>x11-toolkits/libgnomeui</tt></td>
|
||||
<td><tt>libbonoboui</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>libgnomecanvas</tt></td>
|
||||
<td><tt>graphics/libgnomecanvas</tt></td>
|
||||
<td><tt>libglade2 libartlgpl2</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>libgnomedb</tt></td>
|
||||
<td><tt>databases/libgnomedb</tt></td>
|
||||
<td><tt>libgnomeui libgda2</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>libgnomeprint</tt></td>
|
||||
<td><tt>print/libgnomeprint</tt></td>
|
||||
<td><tt>libbonobo libartlgpl2 gtk20</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>libgnomeprintui</tt></td>
|
||||
<td><tt>x11-toolkits/libgnomeprintui</tt></td>
|
||||
<td><tt>libgnomeprint libgnomecanvas</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>libgtkhtml</tt></td>
|
||||
<td><tt>www/libgtkhtml</tt></td>
|
||||
<td><tt>libxslt gnomevfs2 gail</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>libidl</tt></td>
|
||||
<td><tt>devel/libIDL</tt></td>
|
||||
<td><tt>glib20</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>libwnck</tt></td>
|
||||
<td><tt>x11-toolkits/libwnck</tt></td>
|
||||
<td><tt>gtk20</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>librsvg2</tt></td>
|
||||
<td><tt>graphics/librsvg2</tt></td>
|
||||
<td><tt>gtk20</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>libxml2</tt></td>
|
||||
<td><tt>textproc/libxml2</tt></td>
|
||||
<td><tt></tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>libxslt</tt></td>
|
||||
<td><tt>textproc/libxslt</tt></td>
|
||||
<td><tt>libxml2</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>libzvt</tt></td>
|
||||
<td><tt>x11-toolkits/libzvt</tt></td>
|
||||
<td><tt>gtk20</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>linc</tt></td>
|
||||
<td><tt>net/linc</tt></td>
|
||||
<td><tt>glib20</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>nautilus2</tt></td>
|
||||
<td><tt>x11-fm/nautilus</tt></td>
|
||||
<td><tt>librsvg2 eel2 gnomedesktop gnomecontrolcenter</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>metacity</tt></td>
|
||||
<td><tt>x11-wm/metacity</tt></td>
|
||||
<td><tt>gconf2 glade2</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>orbit2</tt></td>
|
||||
<td><tt>devel/ORBit2</tt></td>
|
||||
<td><tt>libidl linc</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>pango</tt></td>
|
||||
<td><tt>x11-toolkits/pango</tt></td>
|
||||
<td><tt>glib20</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>vte</tt></td>
|
||||
<td><tt>x11-toolkits/vte</tt></td>
|
||||
<td><tt>gtk20</tt></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
<!-- End GNOME-related Makefile macros -->
|
||||
|
||||
<p>If you still need help with your port, have a look at some of
|
||||
the <a href="/ports/gnome.html">existing ports</a> for examples.
|
||||
The <a href="mailto:&email;@FreeBSD.org">freebsd-gnome mailing
|
||||
list</a> is also there for you.</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
&footer;
|
||||
</body>
|
||||
</html>
|
200
en/gnome/docs/gnome_porting.sgml
Normal file
200
en/gnome/docs/gnome_porting.sgml
Normal file
|
@ -0,0 +1,200 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" [
|
||||
<!ENTITY base CDATA "../..">
|
||||
<!ENTITY date "$FreeBSD: www/en/gnome/docs/porting.sgml,v 1.27 2003/01/28 06:55:10 marcus Exp $">
|
||||
<!ENTITY title "FreeBSD GNOME Project: GNOME 1 Components">
|
||||
<!ENTITY % gnomeincludes SYSTEM "../includes.sgml"> %gnomeincludes;
|
||||
<!ENTITY % includes SYSTEM "../../includes.sgml"> %includes;
|
||||
]>
|
||||
<html>
|
||||
&header;
|
||||
<table border="0">
|
||||
<tr>
|
||||
<td>
|
||||
<!-- Begin USE_GNOME components list -->
|
||||
<table border="1">
|
||||
<tr>
|
||||
<th>COMPONENT</th>
|
||||
<th>ASSOCIATED PROGRAM</th>
|
||||
<th>IMPLIED COMPONENTS</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>bonobo</tt></td>
|
||||
<td><tt>devel/bonobo</tt></td>
|
||||
<td><tt>oaf gnomeprint</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>esound</tt></td>
|
||||
<td><tt>audio/esound</tt></td>
|
||||
<td><tt></tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gal</tt></td>
|
||||
<td><tt>x11-toolkits/gal</tt></td>
|
||||
<td><tt>libglade</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gconf</tt></td>
|
||||
<td><tt>devel/gconf</tt></td>
|
||||
<td><tt>oaf</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gdkpixbuf</tt></td>
|
||||
<td><tt>graphics/gdk-pixbuf</tt></td>
|
||||
<td><tt>gtk12</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>glib12</tt></td>
|
||||
<td><tt>devel/glib12</tt></td>
|
||||
<td><tt></tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>glibwww</tt></td>
|
||||
<td><tt>www/glibwww</tt></td>
|
||||
<td><tt>gnomelibs</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gnomecanvas</tt></td>
|
||||
<td><tt>graphics/gnomecanvas</tt></td>
|
||||
<td><tt>gnomelibs gdkpixbuf</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gnomedb</tt></td>
|
||||
<td><tt>databases/gnomedb</tt></td>
|
||||
<td><tt>libgda</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gnomehack</tt></td>
|
||||
<td colspan="2"><tt>gnomehack</tt> makes common GNOME
|
||||
Makefile substitutions that nearly every GNOME port
|
||||
requires to fit into the proper mtree structure. <b>Note</b>:
|
||||
Including this option adds a <tt>pre-patch</tt> target to
|
||||
your Makefile. Therefore, only explicitly define
|
||||
<tt>post-patch</tt>.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gnomehier</tt></td>
|
||||
<td colspan="2"><tt>gnomehier</tt> installs all the
|
||||
directories needed for both the GNOME 1 and 2 desktops.
|
||||
Only include this option if your port calls <tt>@dirrm</tt>
|
||||
on one of the directories listed in the plist for
|
||||
<tt>gnomehier</tt>.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gnomelibs</tt></td>
|
||||
<td><tt>x11/gnomelibs</tt></td>
|
||||
<td><tt>esound imlib libxml orbit</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gnomemimedata</tt></td>
|
||||
<td><tt>misc/gnomemimedata</tt></td>
|
||||
<td><tt>gnomehier</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gnomeprefix</tt></td>
|
||||
<td colspan="2"><tt>gnomeprefix</tt> sets some CONFIGURE_ARGS
|
||||
to ensure data is placed properly within the GNOME hierarchy.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gnomeprint</tt></td>
|
||||
<td><tt>print/gnomeprint</tt></td>
|
||||
<td><tt>gnomelibs gnomecanvas</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gnomevfs</tt></td>
|
||||
<td><tt>devel/gnomevfs</tt></td>
|
||||
<td><tt>gnomemimedata gconf gnomelibs</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gtk12</tt></td>
|
||||
<td><tt>x11-toolkits/gtk12</tt></td>
|
||||
<td><tt>glib12</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>gtkhtml</tt></td>
|
||||
<td><tt>www/gtkhtml</tt></td>
|
||||
<td><tt>glibwww gal libghttp libcapplet</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>imlib</tt></td>
|
||||
<td><tt>graphics/imlib</tt></td>
|
||||
<td><tt>gtk12</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>libcapplet</tt></td>
|
||||
<td><tt>x11/libcapplet</tt></td>
|
||||
<td><tt>gnomelibs</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>libgda</tt></td>
|
||||
<td><tt>databases/libgda</tt></td>
|
||||
<td><tt>gconf bonobo</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>libglade</tt></td>
|
||||
<td><tt>devel/libglade</tt></td>
|
||||
<td><tt>gnomedb</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>libpanel</tt></td>
|
||||
<td><tt>x11/libpanel</tt></td>
|
||||
<td><tt>gnomelibs</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>libxml</tt></td>
|
||||
<td><tt>textproc/libxml</tt></td>
|
||||
<td><tt>glib12</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>oaf</tt></td>
|
||||
<td><tt>devel/oaf</tt></td>
|
||||
<td><tt>orbit libxml</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><tt>orbit</tt></td>
|
||||
<td><tt>devel/ORBit</tt></td>
|
||||
<td><tt>glib12</tt></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
<!-- End GNOME-related Makefile macros -->
|
||||
|
||||
<p>If you still need help with your port, have a look at some of
|
||||
the <a href="/ports/gnome.html">existing ports</a> for examples.
|
||||
The <a href="mailto:&email;@FreeBSD.org">freebsd-gnome mailing
|
||||
list</a> is also there for you.</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
&footer;
|
||||
</body>
|
||||
</html>
|
|
@ -1,6 +1,6 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" [
|
||||
<!ENTITY base CDATA "../..">
|
||||
<!ENTITY date "$FreeBSD: www/en/gnome/docs/porting.sgml,v 1.26 2003/01/28 06:49:26 marcus Exp $">
|
||||
<!ENTITY date "$FreeBSD: www/en/gnome/docs/porting.sgml,v 1.27 2003/01/28 06:55:10 marcus Exp $">
|
||||
<!ENTITY title "FreeBSD GNOME Project: How To Make a Port">
|
||||
<!ENTITY % gnomeincludes SYSTEM "../includes.sgml"> %gnomeincludes;
|
||||
<!ENTITY % includes SYSTEM "../../includes.sgml"> %includes;
|
||||
|
@ -10,193 +10,136 @@
|
|||
<table border="0">
|
||||
<tr>
|
||||
<td>
|
||||
<p>This document assumes that you already know how port system works,
|
||||
<p>This document assumes that you already know how the port system works,
|
||||
and therefore only provides GNOME-specific hints and tips. General
|
||||
instructions can be found in the
|
||||
<a href="http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/index.html">FreeBSD Porter's Handbook</a>.
|
||||
</p>
|
||||
|
||||
<h2>GNOME Makefile Macros</h2>
|
||||
<p>Recently, the GNOME porting infrastructure underwent some
|
||||
changes so that GNOME 1 applications can coexist with the GNOME
|
||||
2 desktop and vice versa. This new infrastructure is called
|
||||
<b>GNOMENG</b>. The GNOME team is working to port
|
||||
applications using the old infrastructure over to GNOMENG.
|
||||
Nearly every GNOME 1 port has been converted.</p>
|
||||
|
||||
<p>The majority of this section applies to GNOME 1 ports.
|
||||
GNOME 2 ports still have not been fully brought under GNOMENG.
|
||||
For those ports, simply listing out the <tt>BUILD_</tt>,
|
||||
<tt>RUN_</tt>, and <tt>LIB_</tt> <tt>DEPENDS</tt> is sufficient
|
||||
for the time being. GNOME 2 ports can still benefit from certain
|
||||
GNOMENG options, such as <tt>gnomehack</tt>, <tt>gnomeprefix</tt>,
|
||||
and <tt>gnomehier</tt>.</p>
|
||||
|
||||
<p>In GNOMENG, the list of GNOME components your port requires
|
||||
is added to your port's Makefile:</p>
|
||||
<p>GNOME applications under FreeBSD use the <b>USE_GNOME</b>
|
||||
infrastructure. To specify which components of the GNOME
|
||||
system your port needs in order to build, simply list them
|
||||
all as a space-separated list. For example:</p>
|
||||
|
||||
<pre>
|
||||
USE_X_PREFIX= yes
|
||||
USE_GNOMENG= yes
|
||||
USE_GNOME= <list of GNOME components>
|
||||
USE_GNOME= gnomeprefix gnomehack libgnomeui
|
||||
</pre>
|
||||
|
||||
<p>The list of GNOME components consists of one or more of
|
||||
the following, each separated by a single space:</p>
|
||||
|
||||
<!-- Begin GNOMENG components list -->
|
||||
<p>The <b>USE_GNOME</b> components are divided into the following two lists:</p>
|
||||
|
||||
<ul>
|
||||
<li><p><tt>gnomehack</tt> : This is a collection of common
|
||||
GNOME Makefile substitutions that is almost required for
|
||||
every GNOME port to fit into the proper mtree structure.
|
||||
For a specific list, please refer to
|
||||
<tt>${PORTSDIR}/Mk/bsd.gnomeng.mk</tt>. <b>Note:</b>
|
||||
Including this option adds a <tt>pre-patch</tt> target to
|
||||
your Makefile. Therefore, if you already have a
|
||||
<tt>pre-patch</tt> target in your Makefile, you must
|
||||
change it to <tt>post-patch</tt>.</p></li>
|
||||
<li><p><a href="gnome2_porting.html">GNOME 2 components</a></p></li>
|
||||
<li><p><a href="gnome_porting.html">GNOME 1 components</a></p></li>
|
||||
</ul>
|
||||
|
||||
<li><p><tt>gnomeprefix</tt> : This is a collection of
|
||||
<tt>CONFIGURE_ARGS</tt> needed for every GNOME port that
|
||||
has to have its data placed under the GNOME hierarchy. It
|
||||
also includes some useful arguments that allow GNOME ports
|
||||
to build in the presence of gtk-doc, and maintain
|
||||
<tt>PREFIX</tt> safety.</p></li>
|
||||
|
||||
<li><p><tt>gnomehier</tt> : This adds a dependency on
|
||||
<tt>misc/gnomehier</tt>. <tt>gnomehier</tt> installs all the
|
||||
directories needed for both the GNOME 1 and 2 desktops. Only
|
||||
include this option if your port calls <tt>@dirrm</tt> on
|
||||
one of the directories listed in the plist for
|
||||
<tt>gnomehier</tt>.</p></li>
|
||||
|
||||
<li><p><tt>gnomeaudio</tt> : This adds a dependency on
|
||||
<tt>audio/gnomeaudio</tt>.</p></li>
|
||||
|
||||
<li><p><tt>esound</tt> : This adds a dependency on
|
||||
<tt>audio/esound</tt> (replaces <tt>USE_ESOUND</tt>).</p></li>
|
||||
|
||||
<li><p><tt>libghttp</tt> : This adds a dependency on
|
||||
<tt>www/libghttp</tt>.</p></li>
|
||||
|
||||
<li><p><tt>glib12</tt> : This adds a dependency on
|
||||
<tt>devel/glib12</tt> (replaces <tt>USE_GLIB</tt>).</p></li>
|
||||
|
||||
<li><p><tt>gtk12</tt> : This adds a dependency on
|
||||
<tt>x11-toolkits/gtk12</tt> (replaces <tt>USE_GTK</tt>).<br>
|
||||
<i>Implies</i>: <tt>glib12</tt></p></li>
|
||||
|
||||
<li><p><tt>libxml</tt> : This adds a dependency on
|
||||
<tt>textproc/libxml</tt>.<br>
|
||||
<i>Implies</i>: <tt>glib12</tt></p></li>
|
||||
|
||||
<li><p><tt>gdkpixbuf</tt> : This adds a dependency on
|
||||
<tt>graphics/gdk-pixbuf</tt>.<br>
|
||||
<i>Implies</i>: <tt>gtk12</tt></p></li>
|
||||
|
||||
<li><p><tt>imlib</tt> : This adds a dependency on
|
||||
<tt>graphics/imlib</tt> (replaces <tt>USE_IMLIB</tt>).<br>
|
||||
<i>Implies</i>: <tt>gtk12</tt></p></li>
|
||||
|
||||
<li><p><tt>orbit</tt> : This adds a dependency on
|
||||
<tt>devel/ORBit</tt>.<br>
|
||||
<i>Implies</i>: <tt>glib12</tt></p></li>
|
||||
|
||||
<li><p><tt>gnomelibs</tt> : This adds a dependency on
|
||||
<tt>x11/gnomelibs</tt> (replaces <tt>USE_GNOMELIBS</tt>).<br>
|
||||
<i>Implies</i>: <tt>esound</tt> <tt>imlib</tt> <tt>libxml</tt>
|
||||
<tt>orbit</tt></p></li>
|
||||
|
||||
<li><p><tt>gnomecanvas</tt> : This adds a dependency on
|
||||
<tt>graphics/gnomecanvas</tt>.<br>
|
||||
<i>Implies</i>: <tt>gnomelibs</tt> <tt>gdkpixbuf</tt></p></li>
|
||||
|
||||
<li><p><tt>oaf</tt> : This adds a dependency on
|
||||
<tt>devel/oaf</tt>.<br>
|
||||
<i>Implies</i>: <tt>orbit</tt> <tt>libxml</tt></p></li>
|
||||
|
||||
<li><p><tt>gnomemimedata</tt> : This adds a dependency on
|
||||
<tt>misc/gnomemimedata</tt>.<br>
|
||||
<i>Implies</i>: <tt>gnomehier</tt></p></li>
|
||||
|
||||
<li><p><tt>gconf</tt> : This adds a dependency on
|
||||
<tt>devel/gconf</tt>.<br>
|
||||
<i>Implies</i>: <tt>oaf</tt></p></li>
|
||||
|
||||
<li><p><tt>gnomevfs</tt> : This adds a dependency on
|
||||
<tt>devel/gnomevfs</tt>.<br>
|
||||
<i>Implies</i>: <tt>gnomemimedata</tt> <tt>gconf</tt>
|
||||
<tt>gnomelibs</tt></p></li>
|
||||
|
||||
<li><p><tt>libcapplet</tt> : This adds a dependency on
|
||||
<tt>x11/libcapplet</tt> (replaces <tt>USE_GNOMECTRL</tt>).
|
||||
If your port installs a configuration applet (or capplet),
|
||||
you must include this option.<br>
|
||||
<i>Implies</i>: <tt>gnomelibs</tt></p></li>
|
||||
|
||||
<li><p><tt>gnomeprint</tt> : This adds a dependency on
|
||||
<tt>print/gnomeprint</tt>.<br>
|
||||
<i>Implies</i>: <tt>gnomelibs</tt> <tt>gnomecanvas</tt></p></li>
|
||||
|
||||
<li><p><tt>bonobo</tt> : This adds a dependency on
|
||||
<tt>devel/bonobo</tt>.<br>
|
||||
<i>Implies</i>: <tt>oaf</tt> <tt>gnomeprint</tt></p></li>
|
||||
|
||||
<li><p><tt>libgda</tt> : This adds a dependency on
|
||||
<tt>databases/libgda</tt>.<br>
|
||||
<i>Implies</i>: <tt>gconf</tt> <tt>bonobo</tt></p></li>
|
||||
|
||||
<li><p><tt>gnomedb</tt> : This adds a dependency on
|
||||
<tt>databases/gnomedb</tt>.<br>
|
||||
<i>Implies</i>: <tt>libgda</tt></p></li>
|
||||
|
||||
<li><p><tt>libglade</tt> : This adds a dependency on
|
||||
<tt>devel/libglade</tt>.<br>
|
||||
<i>Implies</i>: <tt>gnomedb</tt></p></li>
|
||||
|
||||
<li><p><tt>gal</tt> : This adds a dependency on
|
||||
<tt>x11-toolkits/gal</tt>.<br>
|
||||
<i>Implies</i>: <tt>libglade</tt></p></li>
|
||||
|
||||
<li><p><tt>glibwww</tt> : This adds a dependency on
|
||||
<tt>www/glibwww</tt>.<br>
|
||||
<i>Implies</i>: <tt>gnomelibs</tt></p></li>
|
||||
|
||||
<li><p><tt>gtkhtml</tt> : This adds a dependency on
|
||||
<tt>www/gtkhtml</tt>.<br>
|
||||
<i>Implies</i>: <tt>glibwww</tt> <tt>gal</tt> <tt>libghttp</tt>
|
||||
<tt>libcapplet</tt></p></li>
|
||||
|
||||
<li><p><tt>libpanel</tt> : This adds a dependency on
|
||||
<tt>x11/libpanel</tt>. Use this if your port installs
|
||||
an applet that can be placed in the GNOME 1 panel. <b>Note:</b>
|
||||
even though you can build GNOME 1 applets in a
|
||||
GNOME 2 desktop environment, they will <b>not</b> work
|
||||
with the GNOME 2 panel.<br>
|
||||
<i>Implies</i>: <tt>gnomelibs</tt></p></li>
|
||||
</ul>
|
||||
|
||||
<p>Let us take an example:</p>
|
||||
<!-- I'm not sold on the utility of this section -->
|
||||
<p>If your port needs only <b>GTK2</b> libraries, the following is
|
||||
the shortest way to define this:</p>
|
||||
|
||||
<pre>
|
||||
USE_X_PREFIX= yes
|
||||
USE_GNOMENG= yes
|
||||
USE_GNOME= gnomeprefix gnomehack gnomelibs bonobo libglade gal
|
||||
USE_GNOME= gtk20
|
||||
</pre>
|
||||
|
||||
<p>If your port needs only <b>GTK1</b> libraries, the following is
|
||||
the shortest way to define this:</p>
|
||||
|
||||
<pre>
|
||||
USE_X_PREFIX= yes
|
||||
USE_GNOME= gtk12
|
||||
</pre>
|
||||
|
||||
<p>Even if your application needs only the GTK libraries, other
|
||||
<b>USE_GNOME</b> components may be useful. Please scan the entire
|
||||
list to make sure your port uses all relevant components.</p>
|
||||
<!-- end questionable section -->
|
||||
|
||||
<p>Many GNOME applications need the following to compile
|
||||
properly and to look for components in the proper
|
||||
locations:</p>
|
||||
|
||||
<pre>
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e 's|-lpthread|${PTHREAD_LIBS}|g ; \
|
||||
s|DATADIRNAME=lib|DATADIRNAME=share|g' ${WRKSRC}/configure
|
||||
</pre>
|
||||
|
||||
<p>This port makes use of the new GNOMENG infrastructure. It
|
||||
installs into the GNOME mtree, and uses the <tt>gnomehack</tt> to
|
||||
remove some common Makefile Linuxisms. Since it uses <tt>gnomehack</tt>,
|
||||
the <tt>pre-install</tt> target has been changed to a
|
||||
<tt>post-install</tt> target. If this is not done, then the
|
||||
<tt>pre-install</tt> target from <tt>gnomehack</tt> will be overwritten.
|
||||
The port also requires gnomelibs, bonobo, libglade, and gal.
|
||||
</p>
|
||||
<p>Once you have finished with your port, it is a good idea to
|
||||
verify that your port depends on the correct list of components.
|
||||
To see a list of what packages your port will actually require,
|
||||
use the command <tt>make package-depends</tt> from within
|
||||
your port's directory.</p>
|
||||
|
||||
<p>To aid in creating the list of necessary components,
|
||||
it can be helpful to examine the output of <tt>make configure</tt>.
|
||||
At the end of the <tt>checking for...</tt> list, there will be a line
|
||||
similar to this:</p>
|
||||
|
||||
<pre>
|
||||
checking for libgnomeui-2.0 >= 2.0.0 cspi-1.0 >= 1.1.7
|
||||
libspi-1.0 >= 1.1.7 libbonobo-2.0 >= 2.0.0 atk >= 1.0.0
|
||||
gtk+-2.0 >= 2.0.0 gail libwnck-1.0 esound... yes
|
||||
</pre>
|
||||
|
||||
<p>This is a list of the components upon which this application relies
|
||||
to build. Pay close attention to the hierarchical layout of the
|
||||
<b>USE_GNOME</b> system; many components are implied from other
|
||||
<b>USE_GNOME</b> directives. In the above example,
|
||||
<tt>USE_GNOME= libgnomeui</tt> implies use of <tt>libbonoboui</tt>,
|
||||
which implies <tt>libgnomecanvas</tt>, which implies
|
||||
<tt>libglade2</tt>, which implies <tt>gtk20</tt>. Thus, even
|
||||
though <tt>gtk+-2.0</tt> appears in the list of requisite components,
|
||||
<tt>gtk20</tt> can be eliminated from the <b>USE_GNOME</b> list.
|
||||
There are a number of other such redundancies that can be eliminated
|
||||
from this list.</p>
|
||||
|
||||
<p>For the above list (taken from sysutils/gok), the following is
|
||||
defined in the <tt>Makefile</tt>:
|
||||
|
||||
<pre>
|
||||
USE_GNOME= gnomehack gnomeprefix libgnomeui atspi libwnck
|
||||
</pre>
|
||||
|
||||
<h2>GNOME 1 Desktop vs. GNOME 2 Desktop</h2>
|
||||
<p>Certain aspects of the <tt>GNOME 1</tt> desktop environment are
|
||||
incompatible with certain aspects of the <tt>GNOME 2</tt> desktop
|
||||
environment. To ensure that a user does not compile a <tt>GNOME 2</tt>
|
||||
component against their <tt>GNOME 1</tt> environment (or vice versa),
|
||||
the user may set <b>GNOME_DESKTOP_VERSION</b> in their
|
||||
<tt>/etc/make.conf</tt>. Even if a user has not explicitly set
|
||||
<b>GNOME_DESKTOP_VERSION</b>, the FreeBSD GNOME architecture will
|
||||
attempt to automatically deduce the desktop currently installed by
|
||||
examining which components are already installed.</p>
|
||||
|
||||
<p>If compilation of a <tt>GNOME 2</tt> port is attempted on a
|
||||
<tt>GNOME_DESKTOP_VERSION=1</tt> system, the compilation will
|
||||
immediately abort and the user will be informed of the incompatability.</p>
|
||||
|
||||
<p>If your application can handle both <tt>GNOME 1</tt> and <tt>GNOME 2</tt>
|
||||
compilation, you may check the value of <b>GNOME_DESKTOP_VERSION</b> to
|
||||
determine for which desktop your port is compiling. For example:</p>
|
||||
|
||||
<pre>
|
||||
USE_X_PREFIX= yes
|
||||
USE_GNOME= gnomeprefix gnomehack
|
||||
|
||||
.if (${GNOME_DESKTOP_VERSION} == "1")
|
||||
CONFIGURE_ARGS+= --with-gnome
|
||||
USE_GNOME+= gtk12 libpanel
|
||||
.else
|
||||
CONFIGURE_ARGS+= --with-gnome2
|
||||
USE_GNOME+= gtk20 gnomepanel
|
||||
.endif
|
||||
</pre>
|
||||
|
||||
<p>In this example, specific <tt>CONFIGURE_ARGS</tt> and <b>USE_GNOME</b>
|
||||
components are set depending upon which <b>GNOME_DESKTOP_VERSION</b> is
|
||||
installed or preferred by the user.</p>
|
||||
|
||||
<h2>Optional GNOME Dependencies</h2>
|
||||
<p>If your port can optionally use GNOME, you must set
|
||||
<tt>WANT_GNOME= yes</tt> in your Makefile, then check to see if
|
||||
<tt>HAVE_GNOME</tt> is set for each component from the list
|
||||
|
@ -233,13 +176,13 @@ PLIST_SUB= DATADIR="share"
|
|||
If <tt>libpanel</tt> is found, then it is added the list of
|
||||
<tt>USE_GNOME</tt> dependencies, and the port-specific
|
||||
<tt>--with-gnome</tt> <tt>CONFIGURE_ARG</tt> is passed.
|
||||
In the old GNOME infrastructure, <tt>PKGNAMESUFFIX</tt> was
|
||||
In an old GNOME infrastructure, <tt>PKGNAMESUFFIX</tt> was
|
||||
automatically adjusted by the proper <tt>USE_*</tt> macro.
|
||||
In GNOMENG, it is up to the individual porter to do this.
|
||||
Now it is up to the individual porter to do this.
|
||||
Our example port appends <tt>-gnome</tt> to the port name
|
||||
to indicate it has been built with GNOME support. The same is
|
||||
true for the <tt>DATADIR</tt> <tt>PLIST_SUB</tt>. In GNOMENG,
|
||||
the individual porter must decide when do the <tt>DATADIR</tt>
|
||||
true for the <tt>DATADIR</tt> <tt>PLIST_SUB</tt>. The
|
||||
individual porter must decide when do the <tt>DATADIR</tt>
|
||||
substitution. A good rule of thumb is to add the <tt>DATADIR</tt>
|
||||
<tt>PLIST_SUB</tt> when using the <tt>gnomeprefix</tt>
|
||||
component.
|
||||
|
@ -260,57 +203,26 @@ USE_GNOME+= gtk12 # WRONG!
|
|||
.endif
|
||||
</pre>
|
||||
|
||||
<p>This will make GNOMENG think that GNOME <em>is</em> desired, and
|
||||
mark the <tt>pkg-plist</tt> accordingly, thus breaking package
|
||||
builds. If you need to add default <tt>USE_GNOME</tt>
|
||||
components, do so <b>above</b> the <tt>
|
||||
.include <bsd.port.pre.mk></tt> line.
|
||||
<p>This will make the build system think that GNOME <em>is</em>
|
||||
desired, and mark the <tt>pkg-plist</tt> accordingly, thus
|
||||
breaking package builds. If you need to add default
|
||||
<tt>USE_GNOME</tt> components, do so <b>above</b> the
|
||||
<tt> .include <bsd.port.pre.mk></tt> line.
|
||||
</p>
|
||||
|
||||
<p>To enforce use of optional GNOME dependencies unconditionally,
|
||||
you can add <tt>WITH_GNOME= yes</tt> to <tt>/etc/make.conf</tt>
|
||||
or on the make command line. This makes GNOMENG always return
|
||||
or on the make command line. This will always return
|
||||
true when checking for optional GNOME dependencies. If you
|
||||
want GNOMENG to always return false when checking for optional
|
||||
want the system to always return false when checking for optional
|
||||
GNOME dependencies, you can add <tt>WITHOUT_GNOME= yes</tt>
|
||||
to <tt>/etc/make.conf</tt> or to the make command line.
|
||||
</p>
|
||||
|
||||
<p>Once you have finished with your port, it is a good idea to
|
||||
verify that your port depends on the correct list of components.
|
||||
To see a list of what packages your port will actually require,
|
||||
use the command <tt>make package-depends</tt> from within
|
||||
your port's directory.</p>
|
||||
<p>More information on the USE_GNOME infrastructure can be found
|
||||
by looking at the source and comments of
|
||||
<tt>${PORTSDIR}/Mk/bsd.gnome.mk</tt>.</p>
|
||||
|
||||
<p>More information on GNOMENG can be found by looking at the source
|
||||
and comments of <tt>${PORTSDIR}/Mk/bsd.gnomeng.mk</tt>.</p>
|
||||
|
||||
<p><b>Note:</b> GNOMENG is temporary. That is, it was put
|
||||
in place so that ports could be gradually migrated from the old
|
||||
infrastructure to the new one. Once all ports have been
|
||||
migrated, the old porting infrastructure as well as the
|
||||
<tt>USE_GNOMENG</tt> macro will be removed.</p>
|
||||
|
||||
<p>The old infrastructure used the following Makefile macros
|
||||
for building GNOME or GTK+ ports:</p>
|
||||
|
||||
<pre>
|
||||
USE_ESOUND
|
||||
USE_GLIB
|
||||
USE_GNOMECTRL
|
||||
USE_GNOMELIBS
|
||||
USE_GTK
|
||||
USE_IMLIB
|
||||
|
||||
WANT_ESOUND
|
||||
WANT_GLIB
|
||||
WANT_GNOMECTRL
|
||||
WANT_GNOMELIBS
|
||||
WANT_GTK
|
||||
WANT_IMLIB
|
||||
</pre>
|
||||
|
||||
<p>These are now deprecated.</p>
|
||||
<!-- End GNOME-related Makefile macros -->
|
||||
|
||||
<!-- Begin GNOME OMF -->
|
||||
|
@ -328,15 +240,23 @@ WANT_IMLIB
|
|||
listed.</p>
|
||||
|
||||
<pre>
|
||||
@exec scrollkeeper-install -q %D/path/to/help_file.omf 2>/dev/null || /usr/bin/true
|
||||
@unexec scrollkeeper-uninstall -q %D/path/to/help_file.omf 2>/dev/null || /usr/bin/true
|
||||
@exec scrollkeeper-install -q \
|
||||
%D/path/to/help_file.omf \
|
||||
2>/dev/null || /usr/bin/true
|
||||
@unexec scrollkeeper-uninstall -q \
|
||||
%D/path/to/help_file.omf \
|
||||
2>/dev/null || /usr/bin/true
|
||||
</pre>
|
||||
|
||||
<p>For example:</p>
|
||||
|
||||
<pre>
|
||||
@exec scrollkeeper-install -q %D/share/gnome/bug-buddy/bug-buddy-C.omf 2>/dev/null || /usr/bin/true
|
||||
@unexec scrollkeeper-uninstall -q %D/share/gnome/bug-buddy/bug-buddy-C.omf 2>/dev/null || /usr/bin/true
|
||||
@exec scrollkeeper-install -q \
|
||||
%D/share/gnome/bug-buddy/bug-buddy-C.omf \
|
||||
2>/dev/null || /usr/bin/true
|
||||
@unexec scrollkeeper-uninstall -q \
|
||||
%D/share/gnome/bug-buddy/bug-buddy-C.omf \
|
||||
2>/dev/null || /usr/bin/true
|
||||
</pre>
|
||||
|
||||
<!-- End GNOME OMF -->
|
||||
|
|
Loading…
Reference in a new issue