Fix hunspell dictionary usage
authorJory Pratt <anarchy@gentoo.org>
Thu, 8 Apr 2010 02:33:27 +0000 (02:33 +0000)
committerJory Pratt <anarchy@gentoo.org>
Thu, 8 Apr 2010 02:33:27 +0000 (02:33 +0000)
Package-Manager: portage-2.1.8.3/cvs/Linux x86_64

net-libs/xulrunner/ChangeLog
net-libs/xulrunner/Manifest
net-libs/xulrunner/files/1002_fix-system-hunspell-dict-detections.patch [moved from net-libs/xulrunner/files/1001_fix-system-hunspell.patch with 64% similarity]
net-libs/xulrunner/xulrunner-1.9.2.3-r1.ebuild [new file with mode: 0644]

index bb1280950437984023f64390ecbd3a2b9c05c1b4..379a433bdb92a00fc19501e48203f6c0176696a8 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for net-libs/xulrunner
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-libs/xulrunner/ChangeLog,v 1.304 2010/04/05 05:07:05 anarchy Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-libs/xulrunner/ChangeLog,v 1.305 2010/04/08 02:33:26 anarchy Exp $
+
+*xulrunner-1.9.2.3-r1 (08 Apr 2010)
+
+  08 Apr 2010; <anarchy@gentoo.org> -files/1001_fix-system-hunspell.patch,
+  +xulrunner-1.9.2.3-r1.ebuild,
+  +files/1002_fix-system-hunspell-dict-detections.patch:
+  Update for dictionaries to be found properly
 
 *xulrunner-1.9.2.3 (05 Apr 2010)
 
index 7158f6338c7672d2fbb1bef392a1d867cb92f83d..2447fc798734db2c7acf00d6606c324d868b1a08 100644 (file)
@@ -1,7 +1,7 @@
 AUX 000_flex-configure-LANG.patch 1761 RMD160 638ae47607f582d6d264f7b6f4c3626ff60dbcb6 SHA1 db6d868d034b46b63ad292ab2e1c9b889fbeef75 SHA256 88719f2b3ab2be74a4d27173f7464f6fbc8e7697b84e3c32d19cf6e16170e532
 AUX 066-fix-includedir-mozilla-js.patch 747 RMD160 39c4430f77e42f5f5ad5f8038c036fccac1a7bb0 SHA1 9a1a09ee9bdca8ab9aeec6408baf207da9abe88a SHA256 069f6b1a43662e417e7f0194ceb039941c209409f8fb788914f862595cdf52f4
 AUX 1000_fix_alignment.patch 796 RMD160 d6098c483a90d47ead8cc7c643bf51270465b4cd SHA1 d2e861a0892550659a152d6a4ae9a1d31996c800 SHA256 49675bf2771b3e1bc50069f3a07f96062c771e8281d8e5abc2219dd08a23d377
-AUX 1001_fix-system-hunspell.patch 3359 RMD160 d4a1921d950a9aaaa4cf2bb472b97e6f9051c497 SHA1 3876a1a82ca5b558df1f1d16c9af0aece6e6e000 SHA256 7b851ddac453987ff94c8205edcbe36bd1a2dfc4827d2460a934731eacdf1136
+AUX 1002_fix-system-hunspell-dict-detections.patch 3394 RMD160 5db17109743eeff4550dd23c7780afb5eead6505 SHA1 3855eec6b3fc23652bb113ce4215555e7375566e SHA256 335e6f51c5e22ef8735c5a4c99b21b903f6d5dd32d6e766761c39a421ee651f3
 AUX 301-xulrunner-xpctools.diff 550 RMD160 12d370d5473de5c54233a70533cd35e37305ef86 SHA1 e3812ce6a4446b0b9d496a9dd4760d03bf0de449 SHA256 6bf510f7df5a41f47501cbdbcffc46d0c04865e3597dc6a575cd4a9cfae1def4
 AUX xulrunner-1.8-gcc-4.4.patch 310 RMD160 9d8f402aa66752b7d61fc47b6f4a1526f1f8a4e5 SHA1 741a8679bb6d65d83dfdc1ea0cd277c08b3bcc7e SHA256 2bb5b927e11307daf14b4cdab381fba27c6fcb0ba8631e7952d38821282e2c6f
 AUX xulrunner-1.8.1.19-glibc-2.10-support.patch 696 RMD160 171629110f94ecf974e7d0ac71ac842f16786b27 SHA1 316f3f325ed219643362a1837dd8451000945393 SHA256 1cf9a4c0dd54a537886dff05be9e996fc25e63518f5eaef5781492a2a21150b2
@@ -30,6 +30,7 @@ EBUILD xulrunner-1.9.1.8.ebuild 7951 RMD160 235df30f6c383961147c5114ab2bbc39e12a
 EBUILD xulrunner-1.9.2-r5.ebuild 6827 RMD160 fced58215af98c88adfc4713c21e53520cecec6a SHA1 3f3189b15c76854507060d9e83812dd323c66fae SHA256 ce7e92c9e89aa461d0a9e0d7984f725d60be91117d9b53a5b13d4c493651ec40
 EBUILD xulrunner-1.9.2.2-r1.ebuild 6830 RMD160 9d1bbc1145577962e0be7354ed80e2b4c0ad71db SHA1 5e0b1ba092277700a84646d91223ebcadbf56a6b SHA256 bdd0dac97d1678a8bf01bd3e2bacc4e59c95fb516afcdf3c974a9f807e914fb0
 EBUILD xulrunner-1.9.2.2-r2.ebuild 6915 RMD160 29aec61eee77f406ddc2009f6c2fad845244fc18 SHA1 8e46dac4371dfb1a5e3cf94ae729bdd4f4429bdb SHA256 9dc3f15a5d5c3aa58e24c451f962cbc7cd2974b00b374306e952db4b150a49e5
+EBUILD xulrunner-1.9.2.3-r1.ebuild 6931 RMD160 ddeaf81553688e65f58303091a12020b6fff8ba0 SHA1 c9ca759d8978b9a066fec8b80658c0e99b4e0637 SHA256 ce66563d2cafa0d648d8fcdfc7404737d6243f0438356d77f5b3265fdc82a042
 EBUILD xulrunner-1.9.2.3.ebuild 6914 RMD160 cd1d420a144710f28cc761d2eb333295eaa0cb95 SHA1 1ed281737a4a0ee0187bb8c76b84ffa390e3c60c SHA256 f96ffcc405b2054b93c2fb4ac3af5421bfd16e73f3771a8d3cd75f8ea6c5c964
-MISC ChangeLog 41276 RMD160 a58219740688726c1c39b624bc01506e39279a02 SHA1 9ae3e9ff5e52c11dd1036bffe6dc35662624c04a SHA256 cf5694c554b40c5f937e2f37949e1755a73e4e282aa99ceefbff1175e6d65355
+MISC ChangeLog 41525 RMD160 7a3e05010162927a364db41f2ea789bea85daecf SHA1 ea3356c3c6d5e6baaef2b01bef58153bfb24e1af SHA256 94123c1706fd99be2c32980e567f85867f1f3b3a3cca13e1f5edc370c0d109ca
 MISC metadata.xml 394 RMD160 87c4429eed631c2727f7d3372f664d39db20be7f SHA1 30b52729cbc65b0d0f683c576d3e9f8865d9e893 SHA256 c0acfe25d1d0e91b0df61729e61ce47fb8f97ec02a4eb94ca21fd48fda20102e
similarity index 64%
rename from net-libs/xulrunner/files/1001_fix-system-hunspell.patch
rename to net-libs/xulrunner/files/1002_fix-system-hunspell-dict-detections.patch
index c531e061a99ad5dbd8267c9e68c583e13377c636..0e2986ee03268bcc3ce1f34263be8f063dd50acf 100644 (file)
@@ -1,5 +1,29 @@
---- ./extensions/spellcheck/hunspell/src/mozHunspell.cpp.orig  2008-02-15 19:21:21.000000000 +0000
-+++ ./extensions/spellcheck/hunspell/src/mozHunspell.cpp       2008-02-15 19:23:20.000000000 +0000
+diff -r e06632956519 extensions/spellcheck/Makefile.in
+--- a/extensions/spellcheck/Makefile.in        Sun Apr 04 07:02:14 2010 +0300
++++ b/extensions/spellcheck/Makefile.in        Tue Apr 06 23:07:03 2010 -0500
+@@ -42,13 +42,19 @@
+ include $(DEPTH)/config/autoconf.mk
+ 
+ MODULE                = spellchecker
++ifndef MOZ_NATIVE_HUNSPELL
+ DIRS          = idl locales
++else
++DIRS          = idl
++endif
+ 
+ ifeq (camino,$(MOZ_BUILD_APP))
+ DIRS          += osxspell
+ else
++ifndef MOZ_NATIVE_HUNSPELL
+ DIRS          += hunspell
+ endif
++endif
+ 
+ DIRS += src
+ 
+diff -r e06632956519 extensions/spellcheck/hunspell/src/mozHunspell.cpp
+--- a/extensions/spellcheck/hunspell/src/mozHunspell.cpp       Sun Apr 04 07:02:14 2010 +0300
++++ b/extensions/spellcheck/hunspell/src/mozHunspell.cpp       Tue Apr 06 23:07:03 2010 -0500
 @@ -63,6 +63,9 @@
  #include "nsISimpleEnumerator.h"
  #include "nsIDirectoryEnumerator.h"
  
    nsCOMPtr<nsISimpleEnumerator> dictDirs;
    rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY_LIST,
---- ./extensions/spellcheck/src/Makefile.in.orig       2008-02-15 19:25:58.000000000 +0000
-+++ ./extensions/spellcheck/src/Makefile.in    2008-02-15 19:28:36.000000000 +0000
-@@ -63,9 +63,16 @@
+diff -r e06632956519 extensions/spellcheck/src/Makefile.in
+--- a/extensions/spellcheck/src/Makefile.in    Sun Apr 04 07:02:14 2010 +0300
++++ b/extensions/spellcheck/src/Makefile.in    Tue Apr 06 23:07:03 2010 -0500
+@@ -63,9 +63,15 @@
                  txtsvc \
                  uconv \
                  unicharutil \
  
 -CPPSRCS               = \
 +ifdef MOZ_NATIVE_HUNSPELL
-+CPPSRCS         += mozHunspell.cpp
-+ifdef MOZ_XUL_APP
-+CPPSRCS         += mozHunspellDirProvider.cpp
-+endif
++CPPSRCS         += mozHunspell.cpp \
++              mozHunspellDirProvider.cpp
 +endif
++
 +CPPSRCS               += \
                mozSpellCheckerFactory.cpp      \
                mozSpellChecker.cpp             \
                mozPersonalDictionary.cpp       \
-@@ -80,8 +87,14 @@
+@@ -80,8 +86,15 @@
  SHARED_LIBRARY_LIBS += ../osxspell/src/$(LIB_PREFIX)osxspell_s.$(LIB_SUFFIX)
  LOCAL_INCLUDES += -I$(srcdir)/../osxspell/src
  else
  LOCAL_INCLUDES += -I$(srcdir)/../hunspell/src
 +else
 +LOCAL_INCLUDES += $(MOZ_HUNSPELL_CFLAGS) \
++              -I$(srcdir)/../hunspell/src \
 +              -DMOZ_NATIVE_HUNSPELL \
 +              $(NULL)
 +endif
  endif
  
  EXTRA_DSO_LDOPTS = \
-@@ -96,3 +112,18 @@
+@@ -96,3 +109,11 @@
  LOCAL_INCLUDES += \
        -I$(topsrcdir)/xpcom/io \
        $(NULL)
 +
 +ifdef MOZ_NATIVE_HUNSPELL
-+export:: $(srcdir)/../hunspell/src/mozHunspell.cpp
-+      $(INSTALL) $(srcdir)/../hunspell/src/mozHunspell.* .
-+GARBAGE += mozHunspell.$(OBJ_SUFFIX) mozHunspell.cpp
++export:: $(srcdir)/../hunspell/src/mozHunspell.cpp $(srcdir)/../hunspell/src/mozHunspellDirProvider.cpp
++      $(INSTALL) $(srcdir)/../hunspell/src/mozHunspell.* $(srcdir)/../hunspell/src/mozHunspellDirProvider.* .
++GARBAGE += mozHunspell.$(OBJ_SUFFIX) mozHunspell.cpp mozHunspellDirProvider.$(OBJ_SUFFIX) mozHunspellDirProvider.cpp
 +clean::
-+      rm -f mozHunspell.*
-+ifdef MOZ_XUL_APP
-+export:: $(srcdir)/../hunspell/src/mozHunspellDirProvider.cpp
-+      $(INSTALL) $(srcdir)/../hunspell/src/mozHunspellDirProvider.* .
-+GARBAGE += mozHunspellDirProvider.$(OBJ_SUFFIX) mozHunspellDirProvider.cpp
-+clean::
-+      rm -f mozHunspellDirProvider.*
-+endif
-+endif
---- ./extensions/spellcheck/Makefile.in.orig   2008-02-15 19:23:39.000000000 +0000
-+++ ./extensions/spellcheck/Makefile.in        2008-02-15 19:24:34.000000000 +0000
-@@ -42,13 +42,19 @@
- include $(DEPTH)/config/autoconf.mk
- 
- MODULE                = spellchecker
--DIRS          = idl locales
-+ifndef MOZ_NATIVE_HUNSPELL
-+DIRS          = idl locales
-+else
-+DIRS          = idl
++      rm -f mozHunspell.* mozHunspellDirProvider.*
 +endif
- 
- ifeq (camino,$(MOZ_BUILD_APP))
- DIRS          += osxspell
- else
-+ifndef MOZ_NATIVE_HUNSPELL
- DIRS          += hunspell
- endif
-+endif
- 
- DIRS += src
-
diff --git a/net-libs/xulrunner/xulrunner-1.9.2.3-r1.ebuild b/net-libs/xulrunner/xulrunner-1.9.2.3-r1.ebuild
new file mode 100644 (file)
index 0000000..50b7f46
--- /dev/null
@@ -0,0 +1,224 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-libs/xulrunner/xulrunner-1.9.2.3-r1.ebuild,v 1.1 2010/04/08 02:33:26 anarchy Exp $
+
+EAPI="2"
+WANT_AUTOCONF="2.1"
+
+inherit flag-o-matic toolchain-funcs eutils mozconfig-3 makeedit multilib java-pkg-opt-2 autotools
+
+MY_PV="${PV/_rc/rc}" # Handle beta
+MY_PV="${MY_PV/1.9.2/3.6}"
+MAJ_PV="1.9.2" # from mozilla-* branch name
+PATCH="${PN}-1.9.2-patches-0.4"
+
+DESCRIPTION="Mozilla runtime package that can be used to bootstrap XUL+XPCOM applications"
+HOMEPAGE="http://developer.mozilla.org/en/docs/XULRunner"
+SRC_URI="http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${MY_PV}/source/firefox-${MY_PV}.source.tar.bz2
+       http://dev.gentoo.org/~anarchy/dist/${PATCH}.tar.bz2"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+SLOT="1.9"
+LICENSE="|| ( MPL-1.1 GPL-2 LGPL-2.1 )"
+IUSE="+alsa debug libnotify system-sqlite wifi"
+
+RDEPEND="java? ( >=virtual/jre-1.4 )
+       >=dev-lang/python-2.3[threads]
+       >=sys-devel/binutils-2.16.1
+       >=dev-libs/nss-3.12.6
+       >=dev-libs/nspr-4.8
+       system-sqlite? ( >=dev-db/sqlite-3.6.22-r2[fts3,secure-delete] )
+       alsa? ( media-libs/alsa-lib )
+       >=app-text/hunspell-1.2
+       >=media-libs/lcms-1.17
+       >=x11-libs/cairo-1.8.8[X]
+       x11-libs/pango[X]
+       x11-libs/libXt
+       wifi? ( net-wireless/wireless-tools )
+       libnotify? ( >=x11-libs/libnotify-0.4 )"
+
+DEPEND="java? ( >=virtual/jdk-1.4 )
+       ${RDEPEND}
+       dev-util/pkgconfig"
+
+S="${WORKDIR}/mozilla-${MAJ_PV}"
+
+pkg_setup() {
+       # Ensure we always build with C locale.
+       export LANG="C"
+       export LC_ALL="C"
+       export LC_MESSAGES="C"
+       export LC_CTYPE="C"
+
+       java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+       # Apply our patches
+       EPATCH_SUFFIX="patch" \
+       EPATCH_FORCE="yes" \
+       epatch "${WORKDIR}"
+
+       # Fix build error for xpctools
+       epatch "${FILESDIR}/301-xulrunner-xpctools.diff"
+
+       # Fix broken mozilla-plugin.pc
+       epatch "${FILESDIR}/${PN}-1.9.2-fix-pkgconfig-file.patch"
+
+       # Fix broken media support
+       epatch "${FILESDIR}/${PN}-1.9.2-noalsa-fixup.patch"
+
+       # Fix broken alignment
+       epatch "${FILESDIR}/1000_fix_alignment.patch"
+
+       # Ensure we find myspell dict.
+       epatch "${FILESDIR}/1002_fix-system-hunspell-dict-detections.patch"
+
+       # Same as in config/autoconf.mk.in
+       MOZLIBDIR="/usr/$(get_libdir)/${PN}-${MAJ_PV}"
+       SDKDIR="/usr/$(get_libdir)/${PN}-devel-${MAJ_PV}/sdk"
+
+       # Gentoo install dirs
+       sed -i -e "s:@PV@:${MAJ_PV}:" "${S}"/config/autoconf.mk.in \
+               || die "${MAJ_PV} sed failed!"
+
+       # Enable gnomebreakpad
+       if use debug ; then
+               sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
+                       "${S}"/build/unix/run-mozilla.sh || die "sed failed!"
+       fi
+
+       eautoreconf
+
+       cd js/src
+       eautoreconf
+}
+
+src_configure() {
+       ####################################
+       #
+       # mozconfig, CFLAGS and CXXFLAGS setup
+       #
+       ####################################
+
+       mozconfig_init
+       mozconfig_config
+
+       MEXTENSIONS="default"
+
+       MOZLIBDIR="/usr/$(get_libdir)/${PN}-${MAJ_PV}"
+
+       # It doesn't compile on alpha without this LDFLAGS
+       use alpha && append-ldflags "-Wl,--no-relax"
+
+       mozconfig_annotate '' --with-default-mozilla-five-home="${MOZLIBDIR}"
+       mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
+       mozconfig_annotate '' --enable-application=xulrunner
+       mozconfig_annotate '' --disable-mailnews
+       mozconfig_annotate 'broken' --disable-crashreporter
+       mozconfig_annotate '' --enable-image-encoder=all
+       mozconfig_annotate '' --enable-canvas
+       mozconfig_annotate 'gtk' --enable-default-toolkit=cairo-gtk2
+       # Bug 60668: Galeon doesn't build without oji enabled, so enable it
+       # regardless of java setting.
+       mozconfig_annotate '' --enable-oji --enable-mathml
+       mozconfig_annotate 'places' --enable-storage --enable-places
+       mozconfig_annotate '' --enable-safe-browsing
+
+       # Build mozdevelop permately
+       mozconfig_annotate ''  --enable-jsd --enable-xpctools
+
+       # System-wide install specs
+       mozconfig_annotate '' --disable-installer
+       mozconfig_annotate '' --disable-updater
+       mozconfig_annotate '' --disable-strip
+       mozconfig_annotate '' --disable-install-strip
+
+       # Use system libraries
+       mozconfig_annotate '' --enable-system-cairo
+       mozconfig_annotate '' --enable-system-hunspell
+       mozconfig_annotate '' --with-system-nspr
+       mozconfig_annotate '' --with-system-nss
+       mozconfig_annotate '' --enable-system-lcms
+       mozconfig_annotate '' --with-system-bz2
+
+       mozconfig_use_enable libnotify
+       mozconfig_use_enable java javaxpcom
+       mozconfig_use_enable wifi necko-wifi
+       mozconfig_use_enable alsa ogg
+       mozconfig_use_enable alsa wave
+       mozconfig_use_enable system-sqlite
+
+       # Debug
+       if use debug ; then
+               mozconfig_annotate 'debug' --disable-optimize
+               mozconfig_annotate 'debug' --enable-debug=-ggdb
+               mozconfig_annotate 'debug' --enable-debug-modules=all
+               mozconfig_annotate 'debug' --enable-debugger-info-modules
+       fi
+
+       # Finalize and report settings
+       mozconfig_final
+
+       if [[ $(gcc-major-version) -lt 4 ]]; then
+               append-flags -fno-stack-protector
+       fi
+
+       ####################################
+       #
+       #  Configure and build
+       #
+       ####################################
+
+       # Disable no-print-directory
+       MAKEOPTS=${MAKEOPTS/--no-print-directory/}
+
+       # Ensure that are plugins dir is enabled as default
+       sed -i -e "s:/usr/lib/mozilla/plugins:/usr/$(get_libdir)/nsbrowser/plugins:" \
+               "${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path!"
+
+       CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" econf
+}
+
+src_install() {
+       emake DESTDIR="${D}" install || die "emake install failed"
+
+       rm "${D}"/usr/bin/xulrunner
+
+       MOZLIBDIR="/usr/$(get_libdir)/${PN}-${MAJ_PV}"
+       SDKDIR="/usr/$(get_libdir)/${PN}-devel-${MAJ_PV}/sdk"
+
+       dodir /usr/bin
+       dosym "${MOZLIBDIR}/xulrunner" "/usr/bin/xulrunner-${MAJ_PV}" || die
+
+       # env.d file for ld search path
+       dodir /etc/env.d
+       echo "LDPATH=${MOZLIBDIR}" > "${D}"/etc/env.d/08xulrunner || die "env.d failed"
+
+       # Add our defaults to xulrunner and out of firefox
+       cp "${FILESDIR}"/xulrunner-default-prefs.js \
+               "${D}/${MOZLIBDIR}/defaults/pref/all-gentoo.js" || \
+                       die "failed to cp xulrunner-default-prefs.js"
+
+       if use java ; then
+               java-pkg_regjar "${D}/${MOZLIBDIR}/javaxpcom.jar"
+               java-pkg_regjar "${D}/${SDKDIR}/lib/MozillaGlue.jar"
+               java-pkg_regjar "${D}/${SDKDIR}/lib/MozillaInterfaces.jar"
+       fi
+}
+
+pkg_postinst() {
+       ewarn "If firefox fails to start with \"failed to load xpcom\", run revdep-rebuild"
+       ewarn "If that does not fix the problem, rebuild dev-libs/nss"
+       ewarn "Try dev-util/lafilefixer if you get build failures related to .la files"
+
+       einfo
+       einfo "All prefs can be overridden by the user. The preferences are to make"
+       einfo "use of xulrunner out of the box on an average system without the user"
+       einfo "having to go through and enable the basics."
+
+       einfo
+       ewarn "Any package that requires xulrunner:1.9 slot could and most likely will"
+       ewarn "have issues. These issues should be reported to maintainer, and mozilla herd"
+       ewarn "should be cc'd on the bug report. Thank you anarchy@gentoo.org ."
+}