diff --git a/en/gnome/contact.sgml b/en/gnome/contact.sgml index 9f52493897..050debbe95 100644 --- a/en/gnome/contact.sgml +++ b/en/gnome/contact.sgml @@ -1,48 +1,48 @@ - + %gnomeincludes; %includes; ]> &header;

Contacts

Any questions regarding GNOME on FreeBSD should be addressed to the freebsd-gnome mailing list. This is open mailing list, so that if you are interested in helping maintain and improve GNOME on FreeBSD feel free to join it using usual majordomo magic. However, you don't have to subscribe if you just want to report a problem or ask for a help - in this case just send your message to &email;@FreeBSD.org.

All relevant discussions should be carried out in the mailing list, unless there is a good reason for contacting one of the developers directly. For such cases following is the list of people involved in the FreeBSD GNOME Project (in alphabetical order):

FreeBSD GNOME developers can also be found lurking on IRC. So please join #freebsd-gnome on EFNet if you would like to discuss GNOME on FreeBSD.

&footer; diff --git a/en/gnome/docs/porting.sgml b/en/gnome/docs/porting.sgml index 6b3b418176..14707b83a7 100644 --- a/en/gnome/docs/porting.sgml +++ b/en/gnome/docs/porting.sgml @@ -1,250 +1,247 @@ - + %gnomeincludes; %includes; ]> &header;

This document assumes that you already know how port system works, and therefore only provides GNOME-specific hints and tips. General instructions can be found in the FreeBSD Porter's Handbook.

GNOME Makefile Macros

For ports that require GNOME, you should define the following in your port's Makefile:

 USE_GNOME=	yes
 USE_X_PREFIX=	yes
           

These will take care of the install prefix and requiring all the core GNOME dependencies. If your port can use GNOME, but it isn't required, you can define the following in your Makefile:

 WANT_GNOME=	yes
           

If the ports system detects GNOME installed on the system then GNOME components will be built. Other useful GNOME-related macros that can be define in your port's Makefile include:

  • USE_GLIB (WANT_GLIB) : The application requires (can use) Glib. Defining USE_GNOME or USE_GTK takes care of this option automatically.

  • USE_GTK (WANT_GTK) : The application may not be GNOME-compliant, but requires GTK+ widgets. This will take care of those dependencies. Note, this option should not be defined if USE_GNOME is defined.

  • USE_ESOUND (WANT_ESOUND) : The application requires (can use) esound. Normally, esound support is added by specifying USE_GNOME.

  • USE_IMLIB (WANT_IMLIB) : The application requires (can use) the Imlib image library. This is not needed if USE_GNOME is defined.

  • USE_GNOMELIBS (WANT_GNOMELIBS) : The application requires (can use) GNOME libraries. This does not import as many dependencies as USE_GNOME and should be used for applications that use GNOME, but do not need the GNOME Control Center, the GNOME capplet library, or anything from the GNOME Core.

  • USE_GNOMECTRL (WANT_GNOMECTRL) : The application requires (can use) all the GNOME libraries and the GNOME Control Center, but does not use anything from GNOME Core. This option is usually used for backend APIs.

If your port can optionally use GNOME, you must set WANT_GNOME= yes in your Makefile, then check to see if HAVE_GNOME is set. Since this is a conditional evaluation, you need to stick it between bsd.port.pre.mk and bsd.port.post.mk. For example:

 WANT_GNOME=	yes
 
 .include <bsd.port.pre.mk>
 
 .if defined(HAVE_GNOME)
 USE_GNOME=	yes
 CONFIGURE_ARGS+=	--with-gnome
 .else
 CONFIGURE_ARGS+=	--without-gnome
 .endif
 
 .include <bsd.port.post.mk>
           

What happens here is WANT_GNOME tells the ports system to check for the existence of gnome-config. If it exists, HAVE_GNOME is set. If not, HAVE_GNOME remains unset. By setting USE_GNOME after checking for HAVE_GNOME the port will register all the GNOME dependencies properly.

When building GNOME ports, remember that many applications require shared directories in ${PREFIX}/share/gnome. Ports should be constructed in a way such that files placed in these directories are removed before the package which created the directories (i.e. the package that has an appropriate @dirrm in its pkg-plist). For GNOME, the principle parent port is gnomecore. If your port incudes USE_GNOME= yes you should be fine. If you're uncertain if you need to require any other packages, you can use the script ${PORTSDIR}/Tools/scripts/gnomedepends.py to examine your port's pkg-plist:

 # cd /usr/ports/x11/mygnomeport
 # /usr/ports/Tools/scripts/gnomedepends.py
 According to the contents of pkg-plist the port depends on the following GNOME
 port(s):
 
 /usr/ports/mail/gmail, for directories:
 	share/gnome/help
 	share/gnome/apps
 	share/gnome
 
 /usr/ports/sysutils/gnomecontrolcenter, for directories:
 	share/gnome/apps/Settings
 	share/gnome/apps
 
 /usr/ports/textproc/scrollkeeper, for directories:
 	share/gnome/omf
 	share/gnome
 
 /usr/ports/x11/gnomecore, for directories:
 	share/gnome/apps/System
 
 /usr/ports/x11/gnomelibs, for directories:
 	share/gnome/pixmaps
 	share/gnome/help
           

To see a list of what packages your port will actually require, use the command make package-depends.

GNOME Internationalization

GNOME relies on the gettext port to do internationalization (I18N). FreeBSD currently supports two versions - of gettext: 0.10.35 and 0.10.40. Most ports can use + of gettext: 0.10.35 and 0.11.1. Most ports can use 0.10.35. However, if, when compiling your port, you get an error building the .po translation files similar to the following you will need to use the newer version of gettext:

 /usr/local/bin/msgfmt -o zh_TW.mo zh_TW.po
 zh_TW.po:255: end-of-line within string
 zh_TW.po:912: illegal control sequence
 zh_TW.po:2806: end-of-line within string
 zh_TW.po:2856: end-of-line within string
 zh_TW.po:2879: illegal control sequence
 zh_TW.po:2982: end-of-line within string
 found 6 fatal errors
           

To use the newer gettext, add the following to your port's Makefile:

-BUILD_DEPENDS=  msgfmt-new:${PORTSDIR}/devel/gettext-devel
+BUILD_DEPENDS=  msgfmt-new:${PORTSDIR}/devel/gettext
 CONFIGURE_ENV+= MSGFMT=${LOCALBASE}/bin/msgfmt-new \
 				XGETTEXT=${LOCALBASE}/bin/xgettext-new
 	  

When installing GNOME applications, make sure the translation files are put in /usr/X11R6/share/locale and not /usr/X11R6/share/gnome/locale. To do this, add the following to your port's Makefile's pre-patch: section:

 pre-patch:
 	@find ${WRKSRC} -name "Makefile.in*" | xargs ${PERL} -pi -e \
 		's|\$\(datadir\)/gnome/|\$\(datadir\)/|g ; \
 		 s|\$\(datadir\)/locale|\$\(prefix\)/share/locale|g'
           

Also, make sure the translation files are installed as .mo files and not .gmo files. To do this, you can generally use this patch.

-

If your port depends on iconv, make sure you substitute all - instances of iconv.h with giconv.h, and all - instances of -liconv with -lgiconv.

Libtool Issues

Most if not all GNOME applications depend on GNU's libtool. They also use the GNU configure system. Newer versions of libtool have a problem with FreeBSD's USE_LIBTOOL macro. Use of this macro should be avoided. Instead, set GNU_CONFIGURE= yes, and use the following patch. This patch prevents the installation of .la files, prevents the building and installation of static archive libraries, and ensures that -pthread will be passed to the linker.

Distfiles

As GNOME 2.0 gains developer momentum, things must be done to sort out the new GNOME 2.0 distfiles from the GNOME 1.0 distfiles, as well as do our part to keep the distfiles directory clean. To do this, GNOME 1.0 ports that download their distfiles from ${MASTER_SITE_GNOME} must add the following to their Makefile:

 DIST_SUBDIR=    gnome
       

GNOME 2.0 ports that download their distfiles from ${MASTER_SITE_GNOME} must include the following in their Makefile:

 DIST_SUBDIR=    gnome2
 	  

Some GNOME distfiles come in both tar gzip as well as tar bzip2 format. To save time when downloading distfiles over slow links, you should use the bzip2 distfiles whenever possible. To do this, add the following to your port's Makefile:

 USE_BZIP2=  yes
 	  

If you still need help with your port, have a look at some of the existing ports for examples. The freebsd-gnome mailing list is also there for you.

&footer; diff --git a/en/gnome/news.xml b/en/gnome/news.xml index 9755aeee43..a1314c2fd9 100644 --- a/en/gnome/news.xml +++ b/en/gnome/news.xml @@ -1,150 +1,162 @@ - $FreeBSD: www/en/gnome/news.xml,v 1.7 2002/03/13 07:26:37 sobomax Exp $ + $FreeBSD: www/en/gnome/news.xml,v 1.8 2002/04/06 15:57:16 sobomax Exp $ 2002 April + + 6 + + + GNOME2 ports updated to GNOME2 beta3 release + +

All components of GNOME2 Development Platform already ported to + FreeBSD have been updated to the latest versions found in the + official GNOME2 beta3 distribution.

+
+
+ 5 Joe Clarke now committer

Joe Marcus Clarke has been granted a FreeBSD commit bit (direct access to the cvs repository). His main focus as a committer will be FreeBSD GNOME, so that expect much faster problem resolution than ever. It is also expected that he would revive somewhat stalled GNOME2 porting effort. Welcome aboard, Joe!!!

March 12 Mozilla 0.9.9 is out

Mozilla 0.9.9 is out bringing many bugfixes and new features and FreeBSD port was updated accordingly. Update is strongly recommended to all current users.

11 GNOME2 ports updated to GNOME2 beta2 release

All components of GNOME2 Development Platform already ported to FreeBSD have been updated to the latest versions found in the official GNOME2 beta2 distribution. Thanks to Joe Marcus Clarke for his help.

February 10 Work on porting GNOME2 platform to FreeBSD has begun

The FreeBSD GNOME team started some initial work on getting GNOME2 bits and pieces running on FreeBSD. The work is expected to take quite some time, though some initial set of ports making up core of the GNOME2 platform would be committed to the FreeBSD ports repository as soon as possible.

January 31 New FreeBSD GNOME site up and running

Brand new FreeBSD GNOME site is up and running. Many thanks to all who make it possible, particularly Joe Marcus Clarke and John Merryweather Cooper.

29 Ade is back!

Famous Ade Lovett, who was one of the main founders of the FreeBSD GNOME porting effort, but due to various reasons had left the FreeBSD GNOME team in June 2001 decided to re-join us. This is truly amazing news, because we still have many things to do, so that his help and huge experience in the field would be really useful.

28 Several core GNOME components updated

Several core GNOME ports were updated to the latest versions (gnomelibs, gnomecore, glade etc.) Please follow usual instructions to update your system.