diff --git a/en/gnome/docs/porting.sgml b/en/gnome/docs/porting.sgml index a7c6f1eba7..aa23172687 100644 --- a/en/gnome/docs/porting.sgml +++ b/en/gnome/docs/porting.sgml @@ -14,6 +14,7 @@
General instructions can be found in the FreeBSD Porter's Handbook.
+For ports that require GNOME, you should define the following in your port's Makefile:
@@ -68,6 +69,52 @@ WANT_GNOME= yes + +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 + 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 +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.
+ +The more ported applications we have, the better.