File ragel.spec of Package ragel

#
# spec file for package ragel
#
# 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/
#


Name:           ragel
Version:        7.0.0.10
Release:        0
Summary:        Finite state machine compiler
License:        MIT
Group:          Development/Tools/Other
Url:            http://complang.org/ragel/

#Git-Clone:	git://git.complang.org/ragel
Source:         http://www.colm.net/files/ragel/%name-%version.tar.gz
Source2:        %name.keyring
BuildRequires:  automake
BuildRequires:  colm = 0.13.0.5
BuildRequires:  gcc-c++
BuildRequires:  kelbt
BuildRequires:  libtool
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
Ragel compiles finite state machines from regular languages into
executable C, C++, Objective-C, or D code. Ragel state machines can
not only recognize byte sequences as regular expression machines do,
but can also execute code at arbitrary points in the recognition of a
regular language. Code embedding is done using inline operators that
do not disrupt the regular language syntax.

%package -n libfsm0
Summary:        Library implementing a finite state machine
Group:          System/Libraries

%description -n libfsm0
libfsm is one of ragel's component libraries.
Ragel compiles finite state machines from regular languages into
executable C, C++, Objective-C, or D code.

%package devel
Summary:        Development files for ragel, a finite state machine compiler library
Group:          Development/Libraries/C and C++
Requires:       libfsm0 = %version-%release

%description devel
Ragel compiles finite state machines from regular languages into
executable C, C++, Objective-C, or D code.
This package contains the C headers for libragel.

%prep
%setup -q

%build
autoreconf -fiv
export CXXFLAGS="%optflags -Wno-narrowing"
# Banish terribly namespaced files into a separate dir
%configure --docdir="%_docdir/%name" --includedir="%_includedir/ragel" \
	--disable-static
make %{?_smp_mflags} V=1

%check
make check

%install
%make_install
b="%buildroot"
c="$b/%_datadir/vim/site/syntax"
mkdir -p "$c"
install -pm0644 ragel*.vim "$c/"
rm -Rf "%buildroot/%_libdir"/*.la

%post   -n libfsm0 -p /sbin/ldconfig
%postun -n libfsm0 -p /sbin/ldconfig

%files
%defattr(-,root,root)
%doc COPYING
%doc %{_docdir}/%{name}
%_bindir/ragel
%_mandir/man1/ragel.1*
%_datadir/vim/

%files -n libfsm0
%defattr(-,root,root)
%_libdir/libfsm.so.0*

%files devel
%defattr(-,root,root)
%_libdir/*.so
%_includedir/ragel/

%changelog
openSUSE Build Service is sponsored by