[kde-freebsd] [SVN Commit] area51/KDE

Max Brazhnikov makc at freebsd.org
Fri Oct 19 21:59:20 UTC 2012


On Thu, 18 Oct 2012 11:16:03 +0200, David Naylor wrote:
> On Tuesday, 16 October 2012 19:20:11 Max Brazhnikov wrote:
> > On Tue, 16 Oct 2012 14:20:12 GMT, David Bruce Naylor wrote:
> > > SVN commit 8679 by DragonSA:
> > > 
> > > Make l10n ports depend on their respective aspell dictionaries.
> > 
> > Good idea! However, kde doesn't use aspell directly, but via enchant,
> 
> x11/kdelibs4 does depend on aspell directly, see LIB_DEPENDS.  Is it possible 
> kdelibs actually requires aspell somewhere, and enchant?  

Well, Sonnet (KDE spellchecker) can use either aspell directly and/or enchant.
Right now we compile all plugins: aspell, hspell, and enchant 
(see sonnet/plugins/CMakelists.txt), but in principle enchant is sufficient.

> > which can be complied with support for other spellcheckers.
> > hunspell has a plenty of dictionaries in ports. We probably need a global
> > switch for spellchecking.
> 
> I had a look at enchant and there is no global way to determine which spell 
> checkers are being used.  
> 
> I can see four ways to fix this:
>  1) modify textproc/enchant to require a global (in make.conf) variable be set
>  2) some dynamic method of detecting which spell checkers are used
>  3) installing all the dictionaries, regardless of what enchant uses
>  4) just install aspell (aka: ignore the problem)
> 
> My thoughts on the options:
>  1) This is, in my opinion, the closest to optimal however this makes the 
> user's life difficult as enchant will no longer use options (effectively).  An 
> alternative is for a KDE specific global option?

We don't need to reinvent a bike, new option framework allows global options,
but we need to fix enchant port, which still uses old-style options.

>  2) I would avoid this, not enough deterministic behaviour

Absolutely agree.

>  3) This, I think, is the most flexible as a user could recompile *just* 
> enchant and KDE will work without having to (re)install anything else, 
> although many prefer less to more packages installed
>  4) Makes my life easy ;-)
> 
> I think a combination of option 1 and 3 should be implemented: have a KDE 
> specific option to control which dictionaries are installed and default to 
> installing everything, that way those who want less can get it.  Also I 
> propose contacting the enchant maintainer to see if we could make it global 
> (surely gnome and others have the same issue?).  
> 
> But maybe this should be kept as a KDE specific solution? 
> 
> > > This will provide spell checking for locales in addition to the
> > > translations. Those ports without aspell counterparts have been marked
> > > as such.
> > 
> > some spell dictionaries are under ${lang} category, e.g arabic, russian.
> 
> <complain>I find the ${lang} categories confusing, why not put everything in 
> one place (like all the ${lang} without categories).</complain>

tabthorpe suggested l10n category once, but he wasn't too persistent
with his idea. Perhaps now when Thomas is in portmgr he can use the
power - we should remind him :)
 
> I'll fix this...

For simplicity you can put all stuff to bsd.l10n.mk:

# Common:
${KDE4_L10N}_ASPELL_DETECT?=	${KDE4_L10N}-aspell>=0
${KDE4_L10N}_ASPELL_PORT?=		${PORTSDIR}/textproc/${KDE4_L10N}-aspell

${KDE4_L10N}_HUNSPELL_DETECT?=	${KDE4_L10N}-huspell>=0
${KDE4_L10N}_HUNSPELL_PORT?=		${PORTSDIR}/textproc/${KDE4_L10N}-hunspell

# Exceptions:
ru_ASPELL_PORT=		${PORTSDIR}/russian/aspell
ru_HUNSPELL_PORT=		${PORTSDIR}/russian/hunspell

.if exists(${${KDE4_L10N}_ASPELL_PORT}/Makefile)
OPTIONS_DEFINE+=	ASPELL
.endif

.if exists(${${KDE4_L10N}_HUNSPELL_PORT}/Makefile)
OPTIONS_DEFINE+=	HUNSPELL
.endif

.include <bsd.port.options.mk>

.if ${OPTIONS_DEFINE:MASPELL} && ${PORT_OPTIONS:MASPELL}
RUN_DEPENDS+=	${${KDE4_L10N}_ASPELL_DETECT}:${${KDE4_L10N}_ASPELL_PORT}
.endif

.if ${OPTIONS_DEFINE:MHUNSPELL} && ${PORT_OPTIONS:MHUNSPELL}
RUN_DEPENDS+=	${${KDE4_L10N}_HUNSPELL_DETECT}:${${KDE4_L10N}_HUNSPELL_PORT}
.endif

> > > The following variables are introduced:
> > > ASPELL_CODE?=	${KDE4_L10N}		# The aspell language code
> > > ASPELL_FILE?=	${ASPELL_CODE}.multi	# The aspell file for 
> RUN_DEPENDS
> > > NO_ASPELL=				# Indicate no aspell is available
> 



More information about the kde-freebsd mailing list