File foma.spec of Package foma

#
# spec file for package foma
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


%define libname	libfoma0
Name:           foma
Version:        0.9.18+git20170507.07bb944
Release:        0
Summary:        Finite-state compiler and C library
License:        Apache-2.0
Group:          Productivity/Text/Utilities
Url:            https://fomafst.github.io/
# Source must be from git tarball has different license than git, no idea why
Source0:        foma-%{version}.tar.xz
BuildRequires:  flex bison
BuildRequires:  ncurses-devel
BuildRequires:  pkgconfig
BuildRequires:  readline-devel
BuildRequires:  pkgconfig(zlib)

%description
Foma is a compiler, programming language, and C library for constructing
finite-state automata and transducers for various uses. It has specific
support for many natural language processing applications such as producing
morphological analyzers. Although NLP applications are probably the main
use of foma, it is sufficiently generic to use for a large number of purposes.

%package -n %{libname}
Summary:        Finite-state C library
Group:          System/Libraries

%description -n %{libname}
The library contains efficient implementations of all classical
automata/transducer algorithms: determinization, minimization,
epsilon-removal, composition, boolean operations. Also, more
advanced construction methods are available: context restriction,
quotients, first-order regular logic, transducers from replacement
rules, etc.

%package devel
Summary:        Finite-state C library development files and headers
Group:          Development/Libraries/C and C++
Requires:       %{libname} = %{version}

%description devel
Finite-state C library development files and headers for %{name}.

%prep
%setup -q -n %{name}-%{version}/%{name}

%build
# hand written Makefile that gets to be quite PITA
make -j1 \
	CFLAGS="%{optflags} -D_GNU_SOURCE -std=c99 -fPIC" \
	LDFLAGS="-lreadline -lz"

%install
%make_install \
	prefix=%{buildroot}%{_prefix} \
	libdir=%{buildroot}%{_libdir}
rm -rf %{buildroot}%{_libdir}/*.a

%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig

%files
%defattr(-,root,root)
%doc COPYING
%{_bindir}/cgflookup
%{_bindir}/flookup
%{_bindir}/foma

%files devel
%defattr(-,root,root)
%{_includedir}/fomalib.h
%{_includedir}/fomalibconf.h
%{_libdir}/libfoma.so

%files -n %{libname}
%defattr(-,root,root)
%{_libdir}/libfoma.so.*

%changelog
openSUSE Build Service is sponsored by