Difference between revisions of "Thunderbird"

From CBLFS
Jump to navigationJump to search
m (Moved multilib bash script after build consistent with non-multilib.)
Line 2: Line 2:
 
|-
 
|-
 
!Download Source:
 
!Download Source:
| http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/2.0a1/source/thunderbird-2.0a1-source.tar.bz2
+
| http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/{{Thunderbird-Version}}/source/thunderbird-{{Thunderbird-Version}}-source.tar.bz2
 
|}
 
|}
  
Line 44: Line 44:
 
  ac_cv_visibility_pragma=no
 
  ac_cv_visibility_pragma=no
 
   
 
   
  ac_add_options --prefix=/opt/thunderbird-2.0a1
+
  ac_add_options --prefix=/opt/thunderbird-{{Thunderbird-Version}}
 
   
 
   
 
  ac_add_options --with-system-nss
 
  ac_add_options --with-system-nss
Line 96: Line 96:
 
If you're using a system installed [[NSS]] and [[NSPR]] then adjust the pkg-config files to point to the proper place:
 
If you're using a system installed [[NSS]] and [[NSPR]] then adjust the pkg-config files to point to the proper place:
  
  ln -sfv /usr/lib/pkgconfig/nss.pc /opt/thunderbird-2.0a1/lib/pkgconfig/thunderbird-nss.pc &&
+
  ln -sfv /usr/lib/pkgconfig/nss.pc /opt/thunderbird-{{Thunderbird-Version}}/lib/pkgconfig/thunderbird-nss.pc &&
  ln -sfv /usr/lib/pkgconfig/nspr.pc /opt/thunderbird-2.0a1/lib/pkgconfig/thunderbird-nspr.pc
+
  ln -sfv /usr/lib/pkgconfig/nspr.pc /opt/thunderbird-{{Thunderbird-Version}}/lib/pkgconfig/thunderbird-nspr.pc
  
 
=== 50-thunderbird.sh ===
 
=== 50-thunderbird.sh ===
Line 106: Line 106:
 
  # Begin /etc/profile.d/50-thunderbird.sh
 
  # Begin /etc/profile.d/50-thunderbird.sh
 
   
 
   
  export PATH="${PATH}:/opt/thunderbird-2.0a1/bin"
+
  export PATH="${PATH}:/opt/thunderbird-{{Thunderbird-Version}}/bin"
  export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}${PKG_CONFIG_PATH+:}/opt/thunderbird-2.0a1/lib/pkgconfig"
+
  export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}${PKG_CONFIG_PATH+:}/opt/thunderbird-{{Thunderbird-Version}}/lib/pkgconfig"
 
   
 
   
 
  # End /etc/profile.d/50-thunderbird.sh
 
  # End /etc/profile.d/50-thunderbird.sh
Line 145: Line 145:
 
==== Common ====
 
==== Common ====
  
  mv -v /opt/thunderbird-2.0a1/bin/thunderbird-config{,-32} &&
+
  mv -v /opt/thunderbird-{{Thunderbird-Version}}/bin/thunderbird-config{,-32} &&
  ln -sfv /usr/bin/multiarch_wrapper /opt/thunderbird-2.0/bin/thunderbird-config
+
  ln -sfv /usr/bin/multiarch_wrapper /opt/thunderbird-{{Thunderbird-Version}}/bin/thunderbird-config
  
 
If you're using a system installed [[NSS]] and [[NSPR]] then adjust the pkg-config files to point to the proper place:
 
If you're using a system installed [[NSS]] and [[NSPR]] then adjust the pkg-config files to point to the proper place:
  
  ln -sfv /usr/lib/pkgconfig/nss.pc /opt/thunderbird-2.0a1/lib/pkgconfig/thunderbird-nss.pc &&
+
  ln -sfv /usr/lib/pkgconfig/nss.pc /opt/thunderbird-{{Thunderbird-Version}}/lib/pkgconfig/thunderbird-nss.pc &&
  ln -sfv /usr/lib/pkgconfig/nspr.pc /opt/thunderbird-2.0a1/lib/pkgconfig/thunderbird-nspr.pc
+
  ln -sfv /usr/lib/pkgconfig/nspr.pc /opt/thunderbird-{{Thunderbird-Version}}/lib/pkgconfig/thunderbird-nspr.pc
  
 
=== 64Bit ===
 
=== 64Bit ===
Line 158: Line 158:
  
 
  cat >> .mozconfig << EOF
 
  cat >> .mozconfig << EOF
  ac_add_options --libdir=/opt/thunderbird-2.0a1/lib64
+
  ac_add_options --libdir=/opt/thunderbird-{{Thunderbird-Version}}/lib64
 
  export CC="gcc ${BUILD64}"
 
  export CC="gcc ${BUILD64}"
 
  export CXX="g++ ${BUILD64}"
 
  export CXX="g++ ${BUILD64}"
Line 174: Line 174:
  
 
  make -f client.mk install &&
 
  make -f client.mk install &&
  mv -v /opt/thunderbird-2.0a1/bin/thunderbird-config{,-64} &&
+
  mv -v /opt/thunderbird-{{Thunderbird-Version}}/bin/thunderbird-config{,-64} &&
  ln -sfv /usr/bin/multiarch_wrapper /opt/thunderbird-2.0a1/bin/thunderbird-config
+
  ln -sfv /usr/bin/multiarch_wrapper /opt/thunderbird-{{Thunderbird-Version}}/bin/thunderbird-config
  
 
If you're using a system installed [[NSS]] and [[NSPR]] then adjust the pkg-config files to point to the proper place:
 
If you're using a system installed [[NSS]] and [[NSPR]] then adjust the pkg-config files to point to the proper place:
  
  ln -sfv /usr/lib64/pkgconfig/nss.pc /opt/thunderbird-2.0a1/lib64/pkgconfig/thunderbird-nss.pc &&
+
  ln -sfv /usr/lib64/pkgconfig/nss.pc /opt/thunderbird-{{Thunderbird-Version}}/lib64/pkgconfig/thunderbird-nss.pc &&
  ln -sfv /usr/lib64/pkgconfig/nspr.pc /opt/thunderbird-2.0a1/lib64/pkgconfig/thunderbird-nspr.pc
+
  ln -sfv /usr/lib64/pkgconfig/nspr.pc /opt/thunderbird-{{Thunderbird-Version}}/lib64/pkgconfig/thunderbird-nspr.pc
  
 
=== 50-thunderbird.sh ===
 
=== 50-thunderbird.sh ===
Line 189: Line 189:
 
  # Begin /etc/profile.d/50-thunderbird.sh
 
  # Begin /etc/profile.d/50-thunderbird.sh
 
   
 
   
  export PATH="${PATH}:/opt/thunderbird-2.0a1/bin"
+
  export PATH="${PATH}:/opt/thunderbird-{{Thunderbird-Version}}/bin"
  export PKG_CONFIG_PATH32="${PKG_CONFIG_PATH32}${PKG_CONFIG_PATH32+:}/opt/thunderbird-2.0a1/lib/pkgconfig"
+
  export PKG_CONFIG_PATH32="${PKG_CONFIG_PATH32}${PKG_CONFIG_PATH32+:}/opt/thunderbird-{{Thunderbird-Version}}/lib/pkgconfig"
  export PKG_CONFIG_PATHN32="${PKG_CONFIG_PATHN32}${PKG_CONFIG_PATHN32+:}/opt/thunderbird-2.0a1/lib32/pkgconfig"
+
  export PKG_CONFIG_PATHN32="${PKG_CONFIG_PATHN32}${PKG_CONFIG_PATHN32+:}/opt/thunderbird-{{Thunderbird-Version}}/lib32/pkgconfig"
  export PKG_CONFIG_PATH64="${PKG_CONFIG_PATH64}${PKG_CONFIG_PATH64+:}/opt/thunderbird-2.0a1/lib64/pkgconfig"
+
  export PKG_CONFIG_PATH64="${PKG_CONFIG_PATH64}${PKG_CONFIG_PATH64+:}/opt/thunderbird-{{Thunderbird-Version}}/lib64/pkgconfig"
 
   
 
   
 
  # End /etc/profile.d/50-thunderbird.sh
 
  # End /etc/profile.d/50-thunderbird.sh

Revision as of 14:47, 17 December 2006

Download Source: http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.0.4/source/thunderbird-3.0.4-source.tar.bz2

Introduction to Thunderbird

Thunderbird is a stand-alone mail/news client based on the Mozilla codebase.

Dependencies

Required

Recommended

Optional

Creating a .mozconfig

The .mozconfig file contains the options that will be used to build thunderbird.

The first line includes the default configuration for compiling a browser and the second line determines where the build objects are going to reside. ac_cv_visibility_pragma=no fixes build errors on 32bit non-x86 systems but won't cause any trouble on x86. Having --with-system-nss and --with-system-nspr does not mean you *HAVE* to have a system installed version of nss and nspr. It makes the build system prefer to use the system installed version of nss and nspr over the internal version. --enable-canvas enables support for the <canvas></canvas> tag. --enable-svg enables support for rendering svg files. --enable-strip causes the installed binaries to be stripped. --disable-tests prevents test programs from being built which saves a lot of disk space and time. --disable-accessibility - disables a11y support. --disable-installer prevents the installer from being built. --enable-official-branding causes the installed binaries to have the official Thunderbird name embedded in them. Due to license restrictions, you may not distribute binaries created using this option.

cat > .mozconfig << "EOF"
. $topsrcdir/mail/config/mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@

ac_cv_visibility_pragma=no

ac_add_options --prefix=/opt/thunderbird-3.0.4

ac_add_options --with-system-nss
ac_add_options --with-system-nspr

ac_add_options --with-system-zlib
ac_add_options --with-system-png
ac_add_options --with-system-jpeg
ac_add_options --enable-system-cairo

ac_add_options --enable-canvas
ac_add_options --enable-svg

ac_add_options --enable-strip
ac_add_options --disable-tests 
ac_add_options --disable-accessibility
ac_add_options --disable-installer 
ac_add_options --enable-official-branding 
EOF

If you would like dual monitor support in Thunderbird, append your your .mozconfig with the following:

cat >> .mozconfig << "EOF"
ac_add_options --enable-xinerama
EOF

If you have OpenLDAP installed and would like to build Thunderbird against it. This is required to build OpenOffice2 against Thunderbird. Append your .mozconfig with the following:

cat >> .mozconfig << "EOF"
ac_add_options --enable-ldap
EOF

If you would like to render fonts with Pango, append your your .mozconfig with the following. This can significantly slow font rendering.

cat >> .mozconfig << "EOF"
ac_add_options --enable-pango
EOF

Non-Multilib

sed -i "s:@MOZ_GTK2_LIBS@:& -L${XORG_PREFIX}/lib -lX11 -lXrender:g" config/autoconf.mk.in

Compile the package:

make -f client.mk build

Install the package:

make -f client.mk install

If you're using a system installed NSS and NSPR then adjust the pkg-config files to point to the proper place:

ln -sfv /usr/lib/pkgconfig/nss.pc /opt/thunderbird-3.0.4/lib/pkgconfig/thunderbird-nss.pc &&
ln -sfv /usr/lib/pkgconfig/nspr.pc /opt/thunderbird-3.0.4/lib/pkgconfig/thunderbird-nspr.pc

50-thunderbird.sh

If you're using the Bash Startup Files create an addition for Thunderbird with the following commands, otherwise make sure the enviornment variables are set in your profile:

cat > /etc/profile.d/50-thunderbird.sh << "EOF"
# Begin /etc/profile.d/50-thunderbird.sh

export PATH="${PATH}:/opt/thunderbird-3.0.4/bin"
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}${PKG_CONFIG_PATH+:}/opt/thunderbird-3.0.4/lib/pkgconfig"

# End /etc/profile.d/50-thunderbird.sh
EOF

Multilib

The order that the builds are displayed on this page isn't neccesarily the order that you install them in. If you would like a 32bit browser but still require the 64bit libraries for other packages build the 32bit version last.

Remember, Use a clean source and build directory for each build, Thunderbird is no exception.

32Bit

Use the following command to append your .mozconfig with 32bit specific flags:

cat >> .mozconfig << EOF
export CC="gcc ${BUILD32}"
export CXX="g++ ${BUILD32}"
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}"
export USE_ARCH=32
ac_add_options --host=$CLFS_TARGET32
ac_add_options --build=$CLFS_TARGET32
mk_add_options CONFIG_GUESS=$CLFS_TARGET32
EOF
sed -i "s:@MOZ_GTK2_LIBS@:& -L${XORG_PREFIX}/lib -lX11 -lXrender:g" config/autoconf.mk.in

x86

Compile the package:

make -f client.mk OS_TEST=x86 build

Install the package:

make -f client.mk OS_TEST=x86 install

Common

mv -v /opt/thunderbird-3.0.4/bin/thunderbird-config{,-32} &&
ln -sfv /usr/bin/multiarch_wrapper /opt/thunderbird-3.0.4/bin/thunderbird-config

If you're using a system installed NSS and NSPR then adjust the pkg-config files to point to the proper place:

ln -sfv /usr/lib/pkgconfig/nss.pc /opt/thunderbird-3.0.4/lib/pkgconfig/thunderbird-nss.pc &&
ln -sfv /usr/lib/pkgconfig/nspr.pc /opt/thunderbird-3.0.4/lib/pkgconfig/thunderbird-nspr.pc

64Bit

Use the following command to append your .mozconfig with 64bit specific flags:

cat >> .mozconfig << EOF
ac_add_options --libdir=/opt/thunderbird-3.0.4/lib64
export CC="gcc ${BUILD64}"
export CXX="g++ ${BUILD64}"
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}"
export USE_ARCH=64
EOF
sed -i "s:@MOZ_GTK2_LIBS@:& -L${XORG_PREFIX}/lib64 -lX11 -lXrender:g" config/autoconf.mk.in

Compile the package:

make -f client.mk build

Install the package:

make -f client.mk install &&
mv -v /opt/thunderbird-3.0.4/bin/thunderbird-config{,-64} &&
ln -sfv /usr/bin/multiarch_wrapper /opt/thunderbird-3.0.4/bin/thunderbird-config

If you're using a system installed NSS and NSPR then adjust the pkg-config files to point to the proper place:

ln -sfv /usr/lib64/pkgconfig/nss.pc /opt/thunderbird-3.0.4/lib64/pkgconfig/thunderbird-nss.pc &&
ln -sfv /usr/lib64/pkgconfig/nspr.pc /opt/thunderbird-3.0.4/lib64/pkgconfig/thunderbird-nspr.pc

50-thunderbird.sh

If you're using the Bash Startup Files create an addition for Thunderbird with the following commands, otherwise make sure the enviornment variables are set in your profile:

cat > /etc/profile.d/50-thunderbird.sh << "EOF"
# Begin /etc/profile.d/50-thunderbird.sh

export PATH="${PATH}:/opt/thunderbird-3.0.4/bin"
export PKG_CONFIG_PATH32="${PKG_CONFIG_PATH32}${PKG_CONFIG_PATH32+:}/opt/thunderbird-3.0.4/lib/pkgconfig"
export PKG_CONFIG_PATHN32="${PKG_CONFIG_PATHN32}${PKG_CONFIG_PATHN32+:}/opt/thunderbird-3.0.4/lib32/pkgconfig"
export PKG_CONFIG_PATH64="${PKG_CONFIG_PATH64}${PKG_CONFIG_PATH64+:}/opt/thunderbird-3.0.4/lib64/pkgconfig"

# End /etc/profile.d/50-thunderbird.sh
EOF

Creating the Desktop File

Since Thunderbird does not provide a desktop file by default below is an example one:

cat > /usr/share/applications/thunderbird.desktop << "EOF"
[Desktop Entry]
Encoding=UTF-8
Name=Mozilla Thunderbird Mail Client
Comment=Lightweight mail client based on mozilla
Exec=thunderbird
Icon=thunderbird.png
Terminal=false
Type=Application 
Categories=Application;Network;
EOF

Grab the Thunderbird pixmap from http://cross-lfs.org/~jciccone/thunderbird.png and put it in /usr/share/pixmaps.