diff options
author | Michał Kępień <github@kempniu.pl> | 2016-09-07 11:36:12 +0200 |
---|---|---|
committer | David Seifert <soap@gentoo.org> | 2016-09-09 23:01:39 +0200 |
commit | 354f36b625a86e74d9d42e86cca496e2476c0e3a (patch) | |
tree | c37bcfdff221a062d53e77ec5366a557b837059b /app-text/aspell | |
parent | sys-kernel/gentoo-sources: Linux patch 3.14.78 (diff) | |
download | gentoo-354f36b625a86e74d9d42e86cca496e2476c0e3a.tar.gz gentoo-354f36b625a86e74d9d42e86cca496e2476c0e3a.tar.bz2 gentoo-354f36b625a86e74d9d42e86cca496e2476c0e3a.zip |
app-text/aspell: Fix building with Unicode support
* EAPI=6
* Use dep on sys-libs/ncurses using newly introduced IUSE="unicode"
* Made PATCHES -p1 compliant
* Fixed unicode handling by pulling in ncurses/ncursesw
using PKG_CHECK_MODULES instead of automagic discovery
in configure.ac
* Add missing '|| die' statements
Closes: https://github.com/gentoo/gentoo/pull/2269
Signed-off-by: David Seifert <soap@gentoo.org>
Diffstat (limited to 'app-text/aspell')
-rw-r--r-- | app-text/aspell/aspell-0.60.6.1-r4.ebuild | 90 | ||||
-rw-r--r-- | app-text/aspell/files/aspell-0.60.5-solaris.patch | 4 | ||||
-rw-r--r-- | app-text/aspell/files/aspell-0.60.6-darwin-bundles.patch | 4 | ||||
-rw-r--r-- | app-text/aspell/files/aspell-0.60.6.1-clang.patch | 12 | ||||
-rw-r--r-- | app-text/aspell/files/aspell-0.60.6.1-unicode.patch | 276 |
5 files changed, 376 insertions, 10 deletions
diff --git a/app-text/aspell/aspell-0.60.6.1-r4.ebuild b/app-text/aspell/aspell-0.60.6.1-r4.ebuild new file mode 100644 index 000000000000..b040ac6fdbd5 --- /dev/null +++ b/app-text/aspell/aspell-0.60.6.1-r4.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit autotools flag-o-matic libtool toolchain-funcs + +DESCRIPTION="A spell checker replacement for ispell" +HOMEPAGE="http://aspell.net/" +SRC_URI="mirror://gnu/aspell/${P}.tar.gz" + +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris" +IUSE="nls unicode" + +PDEPEND="app-dicts/aspell-en" +LANGS="af be bg br ca cs cy da de de-1901 el en eo es et fi fo fr ga gl he hr +hu hy is it la lt nl no pl pt pt-BR ro ru sk sl sr sv uk vi" +for lang in ${LANGS}; do + IUSE+=" l10n_${lang}" + # Need to keep linguas_* for now, since aspell uses gettext + IUSE+=" linguas_${lang/-/_}" + case ${lang} in + de-1901) dict="de-alt" ;; + pt-BR) dict="pt-br" ;; + *) dict="${lang}" ;; + esac + PDEPEND+=" l10n_${lang}? ( app-dicts/aspell-${dict} )" +done +unset dict lang LANGS + +# English dictionary 0.5 is incompatible with aspell-0.6 +RDEPEND=" + sys-libs/ncurses:0=[unicode?] + nls? ( virtual/libintl ) + !=app-dicts/aspell-en-0.5* +" +DEPEND="${RDEPEND} + virtual/pkgconfig + nls? ( sys-devel/gettext ) +" + +HTML_DOCS=( manual/aspell{,-dev}.html ) +PATCHES=( + "${FILESDIR}/${PN}-0.60.5-nls.patch" + "${FILESDIR}/${PN}-0.60.5-solaris.patch" + "${FILESDIR}/${PN}-0.60.6-darwin-bundles.patch" + "${FILESDIR}/${PN}-0.60.6.1-clang.patch" + # includes fix for bug #467602 + "${FILESDIR}/${PN}-0.60.6.1-unicode.patch" +) + +src_prepare() { + default + + rm m4/lt* m4/libtool.m4 || die + eautoreconf + elibtoolize --reverse-deps + + # Parallel install of libtool libraries doesn't always work. + # https://lists.gnu.org/archive/html/libtool/2011-03/msg00003.html + # This has to be after automake has run so that we don't clobber + # the default target that automake creates for us. + echo 'install-filterLTLIBRARIES: install-libLTLIBRARIES' >> Makefile.in || die +} + +src_configure() { + econf \ + $(use_enable nls) \ + $(use_enable unicode) \ + --disable-static \ + --sysconfdir="${EPREFIX}"/etc/aspell +} + +src_install() { + default + + docinto examples + dodoc "${S}"/examples/*.c + + # install ispell/aspell compatibility scripts + newbin scripts/ispell ispell-aspell + newbin scripts/spell spell-aspell + + # we explicitly pass '--disable-static' to econf, + # hence we can delete .la files unconditionally + find "${D}" -name '*.la' -delete || die +} diff --git a/app-text/aspell/files/aspell-0.60.5-solaris.patch b/app-text/aspell/files/aspell-0.60.5-solaris.patch index fc1920a4f57a..1cfc5f3e6caa 100644 --- a/app-text/aspell/files/aspell-0.60.5-solaris.patch +++ b/app-text/aspell/files/aspell-0.60.5-solaris.patch @@ -1,8 +1,8 @@ * grobian@gentoo.org: on Solaris 10 _XOPEN_SOURCE_EXTENDED may not be defined when including wchar.h with g++ ---- prog/check_funs.cpp -+++ prog/check_funs.cpp +--- a/prog/check_funs.cpp ++++ b/prog/check_funs.cpp @@ -18,10 +18,6 @@ #include "settings.h" diff --git a/app-text/aspell/files/aspell-0.60.6-darwin-bundles.patch b/app-text/aspell/files/aspell-0.60.6-darwin-bundles.patch index 39178587f685..84e05833d9d8 100644 --- a/app-text/aspell/files/aspell-0.60.6-darwin-bundles.patch +++ b/app-text/aspell/files/aspell-0.60.6-darwin-bundles.patch @@ -5,8 +5,8 @@ Apple suggests using .bundle. libtool on Gentoo generates .bundle files for modules on Darwin, so we need aspell to actually look for .bundle, not .so. ---- lib/new_filter.cpp -+++ lib/new_filter.cpp +--- a/lib/new_filter.cpp ++++ b/lib/new_filter.cpp @@ -458,11 +458,23 @@ module->file.assign(option_file.str(), slash + 1 - option_file.str()); //module->file += "lib"; diff --git a/app-text/aspell/files/aspell-0.60.6.1-clang.patch b/app-text/aspell/files/aspell-0.60.6.1-clang.patch index 76cfaa868e31..8d3e62dcdf0b 100644 --- a/app-text/aspell/files/aspell-0.60.6.1-clang.patch +++ b/app-text/aspell/files/aspell-0.60.6.1-clang.patch @@ -1,6 +1,6 @@ From https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=180565 ---- interfaces/cc/aspell.h.orig 2011-07-02 17:53:27.000000000 -0400 -+++ interfaces/cc/aspell.h 2015-07-29 11:23:32.000000000 -0400 +--- a/interfaces/cc/aspell.h ++++ b/interfaces/cc/aspell.h @@ -237,6 +237,7 @@ /******************************** errors ********************************/ @@ -17,8 +17,8 @@ From https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=180565 /******************************* speller *******************************/ ---- prog/aspell.cpp.orig 2011-07-04 05:13:58.000000000 -0400 -+++ prog/aspell.cpp 2015-07-29 11:22:57.000000000 -0400 +--- a/prog/aspell.cpp ++++ b/prog/aspell.cpp @@ -25,6 +25,7 @@ # include <langinfo.h> #endif @@ -35,8 +35,8 @@ From https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=180565 #include "file_util.hpp" #include "fstream.hpp" #include "info.hpp" ---- prog/checker_string.hpp.orig 2011-07-02 17:09:09.000000000 -0400 -+++ prog/checker_string.hpp 2015-07-29 11:24:50.000000000 -0400 +--- a/prog/checker_string.hpp ++++ b/prog/checker_string.hpp @@ -6,6 +6,7 @@ #include <stdio.h> diff --git a/app-text/aspell/files/aspell-0.60.6.1-unicode.patch b/app-text/aspell/files/aspell-0.60.6.1-unicode.patch new file mode 100644 index 000000000000..8e1957c727a9 --- /dev/null +++ b/app-text/aspell/files/aspell-0.60.6.1-unicode.patch @@ -0,0 +1,276 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -2,7 +2,7 @@ + AC_CONFIG_SRCDIR(prog/aspell.cpp) + AC_CANONICAL_SYSTEM + AM_INIT_AUTOMAKE +-AM_CONFIG_HEADER(gen/settings.h) ++AC_CONFIG_HEADERS([gen/settings.h]) + + AM_MAINTAINER_MODE + +@@ -52,14 +52,11 @@ + AC_ARG_ENABLE(win32-relocatable, + [ --enable-win32-relocatable]) + +-AC_ARG_ENABLE(curses, +- AS_HELP_STRING([--enable-curses=LIBFILE],[cursor control library])) ++AC_ARG_ENABLE([curses], ++ AS_HELP_STRING([--enable-curses],[cursor control library])) + +-AC_ARG_ENABLE(curses-include, +- [ --enable-curses-include=DIR]) +- +-AC_ARG_ENABLE(wide-curses, +- AS_HELP_STRING([--disable-wide-curses],[disable wide char utf8 cursor control])) ++AC_ARG_ENABLE([unicode], ++ AS_HELP_STRING([--enable-unicode],[enable Unicode support])) + + AC_ARG_ENABLE(regex, + [ --disable-regex]) +@@ -312,197 +309,18 @@ + [AC_MSG_RESULT(no)] + ) + +-AC_SUBST(CURSES_LIB) +-AC_SUBST(CURSES_INCLUDE) +- +-if test "$enable_curses" != "no" +-then +- use_curses=t +- case "$enable_curses" in +- yes | "" ) ;; +- /* | *lib* | *.a | -l* | -L* ) CURSES_LIB="$enable_curses" ;; +- * ) CURSES_LIB=-l$enable_curses ;; +- esac +- case "$enable_curses_include" in +- yes | no | "") ;; +- -I* ) CURSES_INCLUDE="$enable_curses_include" ;; +- * ) CURSES_INCLUDE=-I$enable_curses_include ;; +- esac +-fi +- +-if test "$use_curses" +-then +- +- ORIG_LIBS="$LIBS" +- ORIG_CPPFLAGS="$CPPFLAGS" +- CPPFLAGS="$CURSES_INCLUDE $ORIG_CPPFLAGS" +- +- if test -z "$CURSES_LIB" +- then +- +- AC_MSG_CHECKING(for working curses library) +- +- if test "$enable_wide_curses" != "no" -a -n "$have_mblen" +- then +- LIBS="-lncursesw $ORIG_LIBS" +- AC_TRY_LINK( +- [#include <ncursesw/curses.h>], [initscr()], +- [CURSES_LIB=-lncursesw +- AC_DEFINE(CURSES_HEADER, <ncursesw/curses.h>, [Defined to curses header file]) +- AC_DEFINE(TERM_HEADER, <ncursesw/term.h>, [Defined to term header file])]) +- fi +- +- if test -z "$CURSES_LIB" +- then +- LIBS="-lncurses $ORIG_LIBS" +- AC_TRY_LINK( +- [#include <ncurses/curses.h>], [initscr()], +- [CURSES_LIB=-lncurses +- AC_DEFINE(CURSES_HEADER, <ncurses/curses.h>, [Defined to curses header file]) +- AC_DEFINE(TERM_HEADER, <ncurses/term.h>, [Defined to term header file])], +- [ +- LIBS="-lncurses $ORIG_LIBS" +- AC_TRY_LINK( +- [#include <ncurses.h>], [initscr()], +- [CURSES_LIB=-lncurses +- AC_DEFINE(CURSES_HEADER, <ncurses.h>, [Defined to curses header file]) +- AC_DEFINE(TERM_HEADER, <term.h>, [Defined to term header file])], +- [ +- LIBS="-lcurses $ORIG_LIBS" +- AC_TRY_LINK( +- [#include <curses.h>], [initscr()], +- [CURSES_LIB=-lcurses +- AC_DEFINE(CURSES_HEADER, <curses.h>, [Defined to curses header file]) +- AC_DEFINE(TERM_HEADER, <term.h>, [Defined to term header file])], +- [ +- LIBS="-lncurses $ORIG_LIBS" +- AC_TRY_LINK( +- [#include <curses.h>], [initscr()], +- [CURSES_LIB=-lncurses +- AC_DEFINE(CURSES_HEADER, <curses.h>, [Defined to curses header file]) +- AC_DEFINE(TERM_HEADER, <term.h>, [Defined to term header file])], +- ) ]) ]) ]) +- fi +- +- if test -n "$CURSES_LIB" +- then +- AC_MSG_RESULT([found in $CURSES_LIB]) +- else +- AC_MSG_RESULT([not found]) +- fi +- +- else +- +- AC_DEFINE(CURSES_HEADER, <curses.h>, [Defined to curses header file]) +- AC_DEFINE(TERM_HEADER, <term.h>, [Defined to term header file]) +- +- fi +- +- if test -n "$CURSES_LIB" +- then +- LIBS="$CURSES_LIB $ORIG_LIBS" +- +- if test "$enable_wide_curses" != "no" +- then +- +- AC_MSG_CHECKING(for wide character support in curses libraray) +- if test -n "$have_mblen" +- then +- AC_TRY_LINK( +- [#include <wchar.h> +- #include CURSES_HEADER +- ], +- [wchar_t wch = 0; +- addnwstr(&wch, 1);], +- [AC_MSG_RESULT(yes) +- AC_DEFINE(HAVE_WIDE_CURSES, 1, [Defined if curses libraray includes wide character support])], +- [ +- +- AC_TRY_LINK( +- [#define _XOPEN_SOURCE_EXTENDED 1 +- #include <wchar.h> +- #include CURSES_HEADER +- ], +- [wchar_t wch = 0; +- addnwstr(&wch, 1);], +- [AC_MSG_RESULT(yes) +- AC_DEFINE(HAVE_WIDE_CURSES, 1) +- AC_DEFINE(DEFINE_XOPEN_SOURCE_EXTENDED, 1, +- [Defined if _XOPEN_SOURCE_EXTENDED needs to be defined. +- (Can't define globally as that will cause problems with some systems)]) +- ], +- [AC_MSG_RESULT(no) +- AC_MSG_WARN([Aspell will not be able to Display UTF-8 characters correctly.])])]) +- else +- AC_MSG_RESULT([no, because "mblen" is not supported]) +- AC_MSG_WARN([Aspell will not be able to Display UTF-8 characters correctly.]) +- fi +- +- fi +- +- AC_MSG_CHECKING(if standard curses include sequence will work) +- AC_TRY_LINK( +- [#ifdef DEFINE_XOPEN_SOURCE_EXTENDED +- # define _XOPEN_SOURCE_EXTENDED 1 +- #endif +- #include <termios.h> +- #include <unistd.h> +- #include CURSES_HEADER +- #include TERM_HEADER +- ], +- [tigetstr(const_cast<char *>("cup"));], +- [AC_MSG_RESULT(yes) +- AC_DEFINE(HAVE_LIBCURSES, 1, +- [Defined if the curses library is available]) +- posix_termios=t +- AC_DEFINE(CURSES_INCLUDE_STANDARD, 1, +- [Defined if no special Workarounds are needed for Curses headers])], +- [AC_MSG_RESULT(no) +- +- dnl else if +- AC_MSG_CHECKING(if curses workaround I will work) +- AC_TRY_LINK( +- [#ifdef DEFINE_XOPEN_SOURCE_EXTENDED +- # define _XOPEN_SOURCE_EXTENDED 1 +- #endif +- #include <termios.h> +- #include <unistd.h> +- #include CURSES_HEADER +- extern "C" {char * tigetstr(char * capname);}], +- [tigetstr(const_cast<char *>("cup"));], +- [AC_MSG_RESULT(yes) +- AC_DEFINE(HAVE_LIBCURSES, 1, []) +- posix_termios=t +- AC_DEFINE(CURSES_INCLUDE_WORKAROUND_1, 1, +- [Defined if special Wordaround I is need for Curses headers])], +- [AC_MSG_RESULT(no) +- +- dnl else if +- AC_MSG_CHECKING(if curses without Unix stuff will work) +- AC_TRY_LINK( +- [#include CURSES_HEADER +- ], +- [initscr();], +- [AC_MSG_RESULT(yes) +- AC_DEFINE(HAVE_LIBCURSES, 1, []) +- AC_DEFINE(CURSES_ONLY, 1, +- [Defined if curses like POSIX Functions should be used]) +- curses_only=t], +- [AC_MSG_RESULT(no) +- +- dnl else +- use_curses=false +- CURSES_LIBS="" +- CURSES_INCLUDE="" +- +- ]) ]) ]) +- +- fi +- +- CPPFLAGS="$ORIG_CPPFLAGS" +- LIBS="$ORIG_LIBS" +- +-fi ++AS_IF([test "x$enable_curses" != "xno"],[ ++ AS_IF([test "x$enable_unicode" != "xno"], ++ [AC_DEFINE([HAVE_WIDE_CURSES], [1], [Defined if curses library includes wide character support]) ++ ncurses_library="ncursesw"], ++ [ncurses_library="ncurses"]) ++ ++ PKG_CHECK_MODULES([NCURSES], ["$ncurses_library"]) ++ ++ AC_DEFINE([HAVE_LIBCURSES], [1], [Defined if the curses library is available]) ++ AC_DEFINE([CURSES_INCLUDE_STANDARD], [1], [Defined if no special Workarounds are needed for Curses headers]) ++ posix_termios=t ++]) + + if test -z "$posix_termios" -a -z "$curses_only" + then +--- a/Makefile.am ++++ b/Makefile.am +@@ -121,7 +121,7 @@ + # Aspell Program + # + +-AM_CPPFLAGS += -DLOCALEDIR="$(localedir)" ++AM_CPPFLAGS += -DLOCALEDIR="$(localedir)" $(NCURSES_CFLAGS) + + bin_PROGRAMS = word-list-compress aspell prezip-bin + +@@ -129,7 +129,7 @@ + + aspell_SOURCES = prog/aspell.cpp prog/check_funs.cpp prog/checker_string.cpp + +-aspell_LDADD = libaspell.la $(CURSES_LIB) $(LTLIBINTL) ++aspell_LDADD = libaspell.la $(NCURSES_LIBS) $(LTLIBINTL) + + prezip_bin_SOURCES = prog/prezip.c + +--- a/prog/check_funs.cpp ++++ b/prog/check_funs.cpp +@@ -62,11 +62,11 @@ + + #if HAVE_LIBCURSES + +-#include CURSES_HEADER ++#include <curses.h> + + #if CURSES_INCLUDE_STANDARD + +-#include TERM_HEADER ++#include <term.h> + + #elif CURSES_INCLUDE_WORKAROUND_1 + |