* Fix grammar nits

* Fix spelling nits
* Promote consistant use of <tt> tags
* Re-word those things that in their current state may to some appear
  in some ways as possibly overly wordy
* Note the applicability of some GNOMENG options for GNOME 2 ports
* Move the discussion of the deprecated USE_* macros from the top to the
  bottom

Approved by:	pat
This commit is contained in:
Adam Weinberger 2002-12-08 06:59:44 +00:00
parent 02fbcf1886
commit f1e5f71e41
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/www/; revision=15216

View file

@ -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.23 2002/09/12 03:15:13 marcus Exp $">
<!ENTITY date "$FreeBSD: www/en/gnome/docs/porting.sgml,v 1.24 2002/09/19 21:45:36 marcus Exp $">
<!ENTITY title "FreeBSD GNOME Project: How To Make a Port">
<!ENTITY % gnomeincludes SYSTEM "../includes.sgml"> %gnomeincludes;
<!ENTITY % includes SYSTEM "../../includes.sgml"> %includes;
@ -17,41 +17,23 @@
</p>
<h2>GNOME Makefile Macros</h2>
<p>Recently, the GNOME porting infrastructure has undergone some
<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 the
<b>GNOMENG</b>. The GNOME team is working to port
applications using the old infrastructure over to GNOMENG.
Currently, all of the GNOME 1 desktop and the GNOME Fifth Toe
have been ported.</p>
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 bee fully brought under GNOMENG.
For those ports, simply listing out the BUILD, RUN, and LIB
DEPENDS is sufficient for the time being.</p>
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>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. In GNOMENG, the way the specify
which GNOME components your port requires is to add the
following to your port's Makefile:</p>
<p>In GNOMENG, the list of GNOME components your port requires
is added to your port's Makefile:</p>
<pre>
USE_X_PREFIX= yes
@ -60,7 +42,7 @@ USE_GNOME= &lt;list of GNOME components&gt;
</pre>
<p>The list of GNOME components consists of one or more of
the following separated by a single space:</p>
the following, each separated by a single space:</p>
<!-- Begin GNOMENG components list -->
<ul>
@ -207,11 +189,11 @@ post-patch:
</pre>
<p>This port makes use of the new GNOMENG infrastructure. It
installs into the GNOME mtree, and uses the gnomehack to
remove some common Makefile Linuxisms. Since it uses gnomehack,
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 gnomehack will be overwritten.
<tt>pre-install</tt> target from <tt>gnomehack</tt> will be overwritten.
The port also requires gnomelibs, bonobo, libglade, and gal.
</p>
@ -240,7 +222,7 @@ PLIST_SUB= DATADIR="share"
.include &lt;bsd.port.post.mk&gt;
</pre>
<p>What happens here is <tt>WANT_GNOME</tt> tells the ports system
<p>Here, <tt>WANT_GNOME</tt> tells the ports system
to check for the existence of the various GNOME components
listed above. For each component found, its name is appended
to <tt>HAVE_GNOME</tt>. Since this port can use <tt>libpanel</tt>,
@ -279,13 +261,13 @@ USE_GNOME+= gtk12 # WRONG!
</pre>
<p>This will make GNOMENG think that GNOME <em>is</em> desired, and
mark the <tt>pkg-plist</tt> accordingly thus breaking package
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 &lt;bsd.port.pre.mk&gt;</tt> line.
</p>
<p>To enforce use of optional GNOME dependencies no matter what,
<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
true when checking for optional GNOME dependencies. If you
@ -295,7 +277,7 @@ USE_GNOME+= gtk12 # WRONG!
</p>
<p>Once you have finished with your port, it is a good idea to
verify your port depends on the correct list of components.
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>
@ -309,13 +291,33 @@ USE_GNOME+= gtk12 # WRONG!
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 libtool -->
<h2>Libtool Issues</h2>
<p>Most if not all GNOME applications depend on GNU's libtool. They
also use the GNU configure system. If your port installs
<p>Most, if not all, GNOME applications depend on GNU's libtool.
They also use the GNU configure system. If your port installs
shared libraries, you should add <tt>USE_LIBTOOL= yes</tt> to
your port's Makefile. This takes care of most of the libtool
requirements, but will not prevent things such as .la files
@ -336,9 +338,8 @@ $ac_aux_dir/ltconfig $LIBTOOL_DEPS
<!-- Begin GNOME distfiles -->
<h2>Distfiles</h2>
<p>Things must be done to sort out the new GNOME 2 distfiles from
the GNOME 1 distfiles, as well as do our part to keep the
distfiles directory clean. To do this, GNOME 1 ports that
<p>To separate GNOME 2 distfiles from the GNOME 1 distfiles, and to
keep the distfiles directory clean, GNOME 1 ports that
download their distfiles from <tt>${MASTER_SITE_GNOME}</tt> must
add the following to their
Makefile:</p>