diff options
Diffstat (limited to 'app-office/mozilla-sunbird/mozilla-sunbird-0.5.ebuild')
-rw-r--r-- | app-office/mozilla-sunbird/mozilla-sunbird-0.5.ebuild | 220 |
1 files changed, 220 insertions, 0 deletions
diff --git a/app-office/mozilla-sunbird/mozilla-sunbird-0.5.ebuild b/app-office/mozilla-sunbird/mozilla-sunbird-0.5.ebuild new file mode 100644 index 000000000000..d8ab85003281 --- /dev/null +++ b/app-office/mozilla-sunbird/mozilla-sunbird-0.5.ebuild @@ -0,0 +1,220 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-office/mozilla-sunbird/mozilla-sunbird-0.5.ebuild,v 1.1 2007/06/29 14:22:12 armin76 Exp $ + +WANT_AUTOCONF="2.1" + +inherit flag-o-matic toolchain-funcs eutils mozconfig-2 mozilla-launcher makeedit multilib fdo-mime mozextension autotools + +PATCH="${P}-patches-0.1" +LANGS="ca cs da de es-ES eu fr ga-IE hu it mk mn nb-NO nl pa-IN pl pt-BR ru sk sl sv-SE" + +MY_PN="${PN/mozilla-}" +MY_P="${MY_PN}-${PV}" +DESCRIPTION="The Mozilla Sunbird Calendar" +HOMEPAGE="http://www.mozilla.org/projects/calendar/sunbird.html" +IUSE="bindist" +SRC_URI="http://releases.mozilla.org/pub/mozilla.org/calendar/${MY_PN}/releases/${PV}/source/lightning-${MY_P}-source.tar.bz2 + mirror://gentoo/${PATCH}.tar.bz2" + +# These are in +# +# http://releases.mozilla.org/pub/mozilla.org/calendar/sunbird/releases/${PV}/langpacks/ +# +# for i in $LANGS $SHORTLANGS; do wget $i.xpi -O ${P}-$i.xpi; done +for X in ${LANGS} ; do + SRC_URI="${SRC_URI} + linguas_${X/-/_}? ( http://dev.gentooexperimental.org/~armin76/dist/${P}-xpi/${P}-${X}.xpi )" + IUSE="${IUSE} linguas_${X/-/_}" + # english is handled internally +done + +KEYWORDS="-* ~amd64 ~ppc64 ~x86" +SLOT="0" +LICENSE="MPL-1.1 GPL-2 LGPL-2.1" + +RDEPEND=">=www-client/mozilla-launcher-1.44 + >=dev-libs/nss-3.11.3" + +S="${WORKDIR}/mozilla" + +# Needed by src_compile() and src_install(). +# Would do in pkg_setup but that loses the export attribute, they +# become pure shell variables. +export MOZ_CO_PROJECT=calendar +export BUILD_OFFICIAL=1 +export MOZILLA_OFFICIAL=1 + + +linguas() { + local LANG SLANG + for LANG in ${LINGUAS}; do + if has ${LANG} en en_US; then + has en ${linguas} || linguas="${linguas:+"${linguas} "}en" + continue + elif has ${LANG} ${LANGS//-/_}; then + has ${LANG//_/-} ${linguas} || linguas="${linguas:+"${linguas} "}${LANG//_/-}" + continue + elif [[ " ${LANGS} " == *" ${LANG}-"* ]]; then + for X in ${LANGS}; do + if [[ "${X}" == "${LANG}-"* ]] && != *" ${X} "* ]]; then + has ${X} ${linguas} || linguas="${linguas:+"${linguas} "}${X}" + continue 2 + fi + done + fi + ewarn "Sorry, but ${PN} does not support the ${LANG} LINGUA" + done +} + +pkg_setup(){ + if ! built_with_use x11-libs/cairo X; then + eerror "Cairo is not built with X useflag." + eerror "Please add 'X' to your USE flags, and re-emerge cairo." + die "Cairo needs X" + fi + + if ! use bindist; then + elog "You are enabling official branding. You may not redistribute this build" + elog "to any users on your network or the internet. Doing so puts yourself into" + elog "a legal problem with mozilla foundation" + fi + + use moznopango && warn_mozilla_launcher_stub +} + +src_unpack() { + unpack ${A%bz2*}bz2 + + linguas + linguas + for X in ${linguas}; do + [[ ${X} != "en" ]] && xpi_unpack "${P}-${X}.xpi" + done + if [[ ${linguas} != "" ]]; then + elog "Selected language packs (first will be default): ${linguas}" + fi + + # Apply our patches + cd "${S}" || die "cd failed" + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + epatch "${WORKDIR}"/patch + + eautoreconf +} + +src_compile() { + declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + #################################### + # + # mozconfig, CFLAGS and CXXFLAGS setup + # + #################################### + + mozconfig_init + mozconfig_config + + mozconfig_annotate '' --enable-application=calendar + mozconfig_annotate '' --enable-extensions=default + mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME} + mozconfig_annotate '' --with-system-nss + mozconfig_annotate '' --with-system-nspr + + if ! use bindist; then + mozconfig_annotate '' --enable-official-branding + fi + + # Finalize and report settings + mozconfig_final + + # hardened GCC uses -fstack-protector-all by default, which breaks us + gcc-specs-ssp && append-flags -fno-stack-protector-all + replace-flags -fstack-protector-all -fstack-protector + + #################################### + # + # Configure and build + # + #################################### + + CPPFLAGS="${CPPFLAGS} -DARON_WAS_HERE" \ + CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \ + econf || die + + # It would be great if we could pass these in via CPPFLAGS or CFLAGS prior + # to econf, but the quotes cause configure to fail. + sed -i -e \ + 's|-DARON_WAS_HERE|-DGENTOO_NSPLUGINS_DIR=\\\"/usr/'"$(get_libdir)"'/nsplugins\\\" -DGENTOO_NSBROWSER_PLUGINS_DIR=\\\"/usr/'"$(get_libdir)"'/nsbrowser/plugins\\\"|' \ + ${S}/config/autoconf.mk \ + ${S}/nsprpub/config/autoconf.mk \ + ${S}/xpfe/global/buildconfig.html + + # This removes extraneous CFLAGS from the Makefiles to reduce RAM + # requirements while compiling + edit_makefiles + + emake || die +} + +pkg_preinst() { + declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + einfo "Removing old installs though some really ugly code. It potentially" + einfo "eliminates any problems during the install, however suggestions to" + einfo "replace this are highly welcome. Send comments and suggestions to" + einfo "mozilla@gentoo.org." + rm -rf "${ROOT}"/"${MOZILLA_FIVE_HOME}" +} + +src_install() { + declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # Most of the installation happens here + dodir "${MOZILLA_FIVE_HOME}" + cp -RL "${S}/dist/bin/"* "${D}${MOZILLA_FIVE_HOME}" || die "Copy of files failed" + + linguas + for X in ${linguas}; do + [[ ${X} != "en" ]] && xpi_install "${WORKDIR}"/"${P}-${X}" + done + + local LANG=${linguas%% *} + if [[ -n ${LANG} && ${LANG} != "en" ]]; then + einfo "Setting default locale to ${LANG}" + dosed -e "s:general.useragent.locale\", \"en-US\":general.useragent.locale\", \"${LANG}\":" \ + "${MOZILLA_FIVE_HOME}"/defaults/pref/sunbird.js \ + "${MOZILLA_FIVE_HOME}"/defaults/pref/sunbird-l10n.js || \ + die "sed failed to change locale" + fi + + # Create /usr/bin/sunbird + install_mozilla_launcher_stub sunbird "${MOZILLA_FIVE_HOME}" + + # Install icon and .desktop for menu entry + if ! use bindist; then + doicon "${FILESDIR}"/icon/${PN}-icon.png + domenu "${FILESDIR}"/icon/${PN}.desktop + else + doicon "${FILESDIR}"/icon/${PN}-unbranded-icon.png + newmenu "${FILESDIR}"/icon/${PN}-unbranded.desktop \ + ${PN}.desktop + + fi +} + +pkg_postinst() { + declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # This should be called in the postinst and postrm of all the + # mozilla, mozilla-bin, firefox, firefox-bin, thunderbird and + # thunderbird-bin ebuilds. + update_mozilla_launcher_symlinks +} + +pkg_postrm() { + declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + update_mozilla_launcher_symlinks +} |