* 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" [ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" [
<!ENTITY base CDATA "../.."> <!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 title "FreeBSD GNOME Project: How To Make a Port">
<!ENTITY % gnomeincludes SYSTEM "../includes.sgml"> %gnomeincludes; <!ENTITY % gnomeincludes SYSTEM "../includes.sgml"> %gnomeincludes;
<!ENTITY % includes SYSTEM "../../includes.sgml"> %includes; <!ENTITY % includes SYSTEM "../../includes.sgml"> %includes;
@ -17,41 +17,23 @@
</p> </p>
<h2>GNOME Makefile Macros</h2> <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 changes so that GNOME 1 applications can coexist with the GNOME
2 desktop and vice versa. This new infrastructure is called 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. applications using the old infrastructure over to GNOMENG.
Currently, all of the GNOME 1 desktop and the GNOME Fifth Toe Nearly every GNOME 1 port has been converted.</p>
have been ported.</p>
<p>The majority of this section applies to GNOME 1 ports. <p>The majority of this section applies to GNOME 1 ports.
GNOME 2 ports still have not bee fully brought under GNOMENG. GNOME 2 ports still have not been fully brought under GNOMENG.
For those ports, simply listing out the BUILD, RUN, and LIB For those ports, simply listing out the <tt>BUILD_</tt>,
DEPENDS is sufficient for the time being.</p> <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 <p>In GNOMENG, the list of GNOME components your port requires
for building GNOME or GTK+ ports:</p> is added to your port's Makefile:</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>
<pre> <pre>
USE_X_PREFIX= yes USE_X_PREFIX= yes
@ -60,7 +42,7 @@ USE_GNOME= &lt;list of GNOME components&gt;
</pre> </pre>
<p>The list of GNOME components consists of one or more of <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 --> <!-- Begin GNOMENG components list -->
<ul> <ul>
@ -207,11 +189,11 @@ post-patch:
</pre> </pre>
<p>This port makes use of the new GNOMENG infrastructure. It <p>This port makes use of the new GNOMENG infrastructure. It
installs into the GNOME mtree, and uses the gnomehack to installs into the GNOME mtree, and uses the <tt>gnomehack</tt> to
remove some common Makefile Linuxisms. Since it uses gnomehack, remove some common Makefile Linuxisms. Since it uses <tt>gnomehack</tt>,
the <tt>pre-install</tt> target has been changed to a the <tt>pre-install</tt> target has been changed to a
<tt>post-install</tt> target. If this is not done, then the <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. The port also requires gnomelibs, bonobo, libglade, and gal.
</p> </p>
@ -240,7 +222,7 @@ PLIST_SUB= DATADIR="share"
.include &lt;bsd.port.post.mk&gt; .include &lt;bsd.port.post.mk&gt;
</pre> </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 to check for the existence of the various GNOME components
listed above. For each component found, its name is appended listed above. For each component found, its name is appended
to <tt>HAVE_GNOME</tt>. Since this port can use <tt>libpanel</tt>, to <tt>HAVE_GNOME</tt>. Since this port can use <tt>libpanel</tt>,
@ -279,13 +261,13 @@ USE_GNOME+= gtk12 # WRONG!
</pre> </pre>
<p>This will make GNOMENG think that GNOME <em>is</em> desired, and <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> builds. If you need to add default <tt>USE_GNOME</tt>
components, do so <b>above</b> the <tt> components, do so <b>above</b> the <tt>
.include &lt;bsd.port.pre.mk&gt;</tt> line. .include &lt;bsd.port.pre.mk&gt;</tt> line.
</p> </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> 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 makes GNOMENG always return
true when checking for optional GNOME dependencies. If you true when checking for optional GNOME dependencies. If you
@ -295,7 +277,7 @@ USE_GNOME+= gtk12 # WRONG!
</p> </p>
<p>Once you have finished with your port, it is a good idea to <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, To see a list of what packages your port will actually require,
use the command <tt>make package-depends</tt> from within use the command <tt>make package-depends</tt> from within
your port's directory.</p> your port's directory.</p>
@ -309,13 +291,33 @@ USE_GNOME+= gtk12 # WRONG!
migrated, the old porting infrastructure as well as the migrated, the old porting infrastructure as well as the
<tt>USE_GNOMENG</tt> macro will be removed.</p> <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 --> <!-- End GNOME-related Makefile macros -->
<!-- Begin GNOME libtool --> <!-- Begin GNOME libtool -->
<h2>Libtool Issues</h2> <h2>Libtool Issues</h2>
<p>Most if not all GNOME applications depend on GNU's libtool. They <p>Most, if not all, GNOME applications depend on GNU's libtool.
also use the GNU configure system. If your port installs They also use the GNU configure system. If your port installs
shared libraries, you should add <tt>USE_LIBTOOL= yes</tt> to shared libraries, you should add <tt>USE_LIBTOOL= yes</tt> to
your port's Makefile. This takes care of most of the libtool your port's Makefile. This takes care of most of the libtool
requirements, but will not prevent things such as .la files requirements, but will not prevent things such as .la files
@ -336,9 +338,8 @@ $ac_aux_dir/ltconfig $LIBTOOL_DEPS
<!-- Begin GNOME distfiles --> <!-- Begin GNOME distfiles -->
<h2>Distfiles</h2> <h2>Distfiles</h2>
<p>Things must be done to sort out the new GNOME 2 distfiles from <p>To separate GNOME 2 distfiles from the GNOME 1 distfiles, and to
the GNOME 1 distfiles, as well as do our part to keep the keep the distfiles directory clean, GNOME 1 ports that
distfiles directory clean. To do this, GNOME 1 ports that
download their distfiles from <tt>${MASTER_SITE_GNOME}</tt> must download their distfiles from <tt>${MASTER_SITE_GNOME}</tt> must
add the following to their add the following to their
Makefile:</p> Makefile:</p>