From Mageia wiki
Jump to: navigation, search

Warning Icon.png This page is under development

In Mageia we keep Fedora versioning of packages and adapt them to our policies.

Language specification

Here we define a language name, its code and lc_ctype values.

%define languageenglazy Esperanto
%define languagecode    eo
%define lc_ctype        eo

Standard SPEC file macros (Name, Version, Release...)

Next comes standard spec macros, In the name use "hunspell-%{languagecode}" and in the summary and the description "%{languageenglazy} hunspell dictionaries". Remember to point correct BuildArch (noarch). Every package has 1 suggestion on hunspell. And also every package provides:

  • enchant-dictionary
  • hunspell-dictionary
  • hunspell-%{lc_ctype}

Remember to set "no" (or "0") value to AutoReqProv.

Name:           hunspell-%{languagecode}
Version:        1.0
Release:        %mkrel %{upstream_release}.%{rel}
Summary:        %{languageenglazy} hunspell dictionaries
License:        LGPLv3
Group:          System/Internationalization
URL:            http://extensions.services.openoffice.org/project/literumilo
Source0:        http://extensions.services.openoffice.org/files/3377/1/1.0-dev.oxt

BuildArch:      noarch

Suggests:       hunspell

#Mageia values: 1 - aspell, 2 - hunspell, 3 - language specific
Provides:       enchant-dictionary = 2
Provides:       hunspell-dictionary
Provides:       dictionary-%{languagecode}
#Provides:       dictionary-%{lc_ctype}
#for Esperanto lc_ctype = languagecode
#Provides:       hunspell-%{lc_ctype} = %{version}-%{release}

#MySpell is deprecated
Obsoletes:      myspell-%{languagecode} < 1.0.3
Provides:       myspell-%{languagecode}
Obsoletes:      myspell-eo_EO < 1.0.3
Provides:       myspell-eo_EO

AutoReqProv:    no

Nota: Try to not use requirements or build-requirements on ispell, aspell or myspell (or any other spell-checking dictionary or software).

Obsolete myspell

Hunspell is a successor of Myspell, so therefore its dictionaries obsolete the myspell ones.

Generic providing

Use dictionary-%{languagecode} and dictionary-%{lc_ctype} providing in case of potential revert to aspell or change to a new dictionary.

%prep, %build and %install

Use standard build methods required for each package. It's possible and valid to convert for the dictionary use original aspell or myspell dictionaries and convert them here for hunspell. Each package has to install 3 types of files:

  1. documentation and/or license in README_%{lc_ctype}.txt
  2. hunspell dictionary files (*.aff and *.dic) into /usr/share/hunspell/
  3. symlinks to the hunspell dictionaries into /usr/share/myspell/

The final example of hunspell-eo (Esperanto)

%define languageenglazy Esperanto
%define languagecode    eo
%define lc_ctype        eo

%define upstream_release 0.3.dev
%define rel             2

Name:           hunspell-%{languagecode}
Version:        1.0
Release:        %mkrel %{upstream_release}.%{rel}
Summary:        %{languageenglazy} hunspell dictionaries
License:        LGPLv3
Group:          System/Internationalization
URL:            http://extensions.services.openoffice.org/project/literumilo
Source0:        http://extensions.services.openoffice.org/files/3377/1/1.0-dev.oxt

BuildArch:      noarch

Suggests:       hunspell

#Mageia values: 1 - aspell, 2 - hunspell, 3 - language specific
Provides:       enchant-dictionary = 2
Provides:       hunspell-dictionary
Provides:       dictionary-%{languagecode}
#Provides:       dictionary-%{lc_ctype}
#for Esperanto lc_ctype = languagecode
#Provides:       hunspell-%{lc_ctype} = %{version}-%{release}

#MySpell is deprecated
Obsoletes:      myspell-%{languagecode} < 1.0.3
Provides:       myspell-%{languagecode}
Obsoletes:      myspell-eo_EO < 1.0.3
Provides:       myspell-eo_EO

AutoReqProv:    no

%description
%{languageenglazy} hunspell dictionaries.

%prep
%setup -q -c

%build
chmod -x *.{dic,aff}

%install
#readme, license
echo "Spell-checking dictionary for Esperanto developed by Marek Blahuš in the E@I organization, funded by Esperantic Studies Foundation and the Students' Research and Development Projects scholarship of the Faculty of Informatics of the Masaryk University (project no. MUNI33/212008)." > README_%{lc_ctype}.txt

#hunspell dictionaries
install -D -m 0644 -p literumilo.dic %{buildroot}%{_datadir}/hunspell/%{lc_ctype}.dic
install -D -m 0644 -p literumilo.aff %{buildroot}%{_datadir}/hunspell/%{lc_ctype}.aff

#backward compatibility
mkdir -p %{buildroot}%{_datadir}/myspell
(cd %{buildroot}%{_datadir}/myspell && ln -s ../hunspell/%{lc_ctype}.dic %{lc_ctype}.dic)
(cd %{buildroot}%{_datadir}/myspell && ln -s ../hunspell/%{lc_ctype}.aff %{lc_ctype}.aff)

%files
%doc README_%{lc_ctype}.txt
%{_datadir}/hunspell/*
%{_datadir}/myspell/*

Skeleton

%define languageenglazy 
%define languagecode    
%define lc_ctype        

Name:           hunspell-%{languagecode}
Version:        
Release:        %mkrel
Summary:        %{languageenglazy} hunspell dictionaries
License:        
Group:          System/Internationalization
URL:            
Source0:        

BuildArch:      noarch

Suggests:       hunspell

#Mageia values: 1 - aspell, 2 - hunspell, 3 - language specific
Provides:       enchant-dictionary = 2
Provides:       hunspell-dictionary
Provides:       hunspell-%{lc_ctype} = %{version}-%{release}
#Generic providing - see Mageia values
Provides:       dictionary-%{languagecode} = 2 
Provides:       dictionary-%{lc_ctype} = 2

#MySpell is deprecated
Obsoletes:      myspell-%{languagecode} < 1.0.3
Provides:       myspell-%{languagecode}
Obsoletes:      myspell-%{lc_ctype} < 1.0.3
Provides:       myspell-%{lc_ctype}

AutoReqProv:    no

%description
%{languageenglazy} hunspell dictionaries.


%prep
%setup -q

%build

%install
install -D -m 0644 -p <FILE>.dic %{buildroot}%{_datadir}/hunspell/%{lc_ctype}.dic
install -D -m 0644 -p <FILE>.aff %{buildroot}%{_datadir}/hunspell/%{lc_ctype}.aff

#backward compatibility
mkdir -p %{buildroot}%{_datadir}/myspell
pushd %{buildroot}%{_datadir}/myspell
    ln -s ../hunspell/%{lc_ctype}.dic %{lc_ctype}.dic
    ln -s ../hunspell/%{lc_ctype}.aff %{lc_ctype}.aff
popd #%%{buildroot}%%{_datadir}/myspell

%files
%doc
%{_datadir}/hunspell/*
%{_datadir}/myspell/*

Skeleton for languages with country-variants

%define languageenglazy 
%define languagecode    
%define lc_ctype        

Name:           hunspell-%{languagecode}
Version:        
Release:        %mkrel
Summary:        %{languageenglazy} hunspell dictionaries
License:        
Group:          System/Internationalization
URL:            
Source0:        

BuildArch:      noarch

Suggests:       hunspell

#Mageia values: 1 - aspell, 2 - hunspell, 3 - language specific
Provides:       enchant-dictionary = 2
Provides:       hunspell-dictionary
Provides:       hunspell-%{lc_ctype} = %{version}-%{release}
Provides:       hunspell- = %{version}-%{release}
#Generic providing - see Mageia values
Provides:       dictionary-%{languagecode} = 2 
Provides:       dictionary-%{lc_ctype} = 2
Provides:       dictionary- = 2

#MySpell is deprecated
Obsoletes:      myspell-%{languagecode} < 1.0.3
Provides:       myspell-%{languagecode}
Obsoletes:      myspell-%{lc_ctype} < 1.0.3
Provides:       myspell-%{lc_ctype}

AutoReqProv:    no

%description
%{languageenglazy} hunspell dictionaries.


%prep
%setup -q

%build

%install
install -D -m 0644 -p <FILE>.dic %{buildroot}%{_datadir}/hunspell/%{lc_ctype}.dic
install -D -m 0644 -p <FILE>.aff %{buildroot}%{_datadir}/hunspell/%{lc_ctype}.aff

_aliases=""
pushd %{buildroot}%{_datadir}/hunspell
    for lang in $_aliases
    do
        ln -s %{lc_ctype}.aff $lang.aff
        ln -s %{lc_ctype}.dic $lang.dic
    done
popd #%%{buildroot}%%{_datadir}/hunspell

#backward compatibility
mkdir -p %{buildroot}%{_datadir}/myspell
pushd %{buildroot}%{_datadir}/myspell
    ln -s ../hunspell/%{lc_ctype}.dic %{lc_ctype}.dic
    ln -s ../hunspell/%{lc_ctype}.aff %{lc_ctype}.aff

    for lang in $_aliases
    do
        ln -s ../hunspell/$lang.dic $lang.dic
        ln -s ../hunspell/$lang.aff $lang.aff
    done
popd #%%{buildroot}%%{_datadir}/myspell

%files
%doc
%{_datadir}/hunspell/*
%{_datadir}/myspell/*

Authors

Kamil Rytarowski (kamil)

Current list of dictionaries

hunspell-af
hunspell-ak
hunspell-am
hunspell-ar
hunspell-as
hunspell-ast
hunspell-az
hunspell-be
hunspell-ber
hunspell-bg
hunspell-bn
hunspell-br
hunspell-ca
hunspell-cop
hunspell-cs
hunspell-csb
hunspell-cv
hunspell-cy
hunspell-da
hunspell-de
hunspell-dsb
hunspell-el
hunspell-en
hunspell-eo
hunspell-es
hunspell-et
hunspell-eu
hunspell-fa
hunspell-fj
hunspell-fo
hunspell-fr
hunspell-fur
hunspell-fy
hunspell-ga
hunspell-gd
hunspell-gl
hunspell-gsc (nonfree)
hunspell-grc
hunspell-gu
hunspell-gv
hunspell-hi
hunspell-hil
hunspell-hr
hunspell-hsb
hunspell-ht
hunspell-hu
hunspell-hy
hunspell-ia
hunspell-id
hunspell-is
hunspell-it
hunspell-kk
hunspell-km
hunspell-kn
hunspell-ko
hunspell-ku
hunspell-ky
hunspell-la
hunspell-lb
hunspell-ln
hunspell-lt
hunspell-lv
hunspell-mai
hunspell-mi
hunspell-mg
hunspell-mk
hunspell-ml
hunspell-mn
hunspell-mos
hunspell-mr
hunspell-ms
hunspell-nds
hunspell-ne
hunspell-nl
hunspell-no
hunspell-nr
hunspell-nso
hunspell-ny
hunspell-oc
hunspell-om
hunspell-or
hunspell-pa
hunspell-pl
hunspell-pt
hunspell-qu
hunspell-quh
hunspell-ro
hunspell-ru
hunspell-rw
hunspell-sc
hunspell-se
hunspell-shs
hunspell-si
hunspell-sk
hunspell-sl
hunspell-smj
hunspell-so
hunspell-sq
hunspell-sr
hunspell-ss
hunspell-st
hunspell-sv
hunspell-sw
hunspell-ta
hunspell-te
hunspell-tet
hunspell-th
hunspell-ti
hunspell-tk
hunspell-tl
hunspell-tn
hunspell-ts
hunspell-uk
hunspell-ur
hunspell-uz
hunspell-ve
hunspell-vi
hunspell-wa
hunspell-xh
hunspell-yi
hunspell-zu