LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File sparse.spec of Package sparse (Project home:misiozor)

#
# spec file for package sparse
#
# Copyright (c) 2011 SUSE LINUX Products 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/
#

# norootforbuild


Name:           sparse
Summary:        A semantic parser of source files
License:        Open Software License 1.1
Group:          Development/Tools/Building
Version:        0.4.3
Release:        0
AutoReqProv:    on
Url:            https://sparse.wiki.kernel.org/index.php/Main_Page
Source:         http://www.kernel.org/pub/software/devel/sparse/dist/sparse-%{version}.tar.bz2
Patch0:         sparse-gcc_base-fix.patch
Patch1:         fix-build-with-GCC-4.6-series.patch
Patch2:         gtk-cflags-fix.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  gtk2-devel libxml2-devel pkg-config

%description
Sparse is a semantic parser of source files: it's neither a compiler
(although it could be used as a front-end for one) nor is it a
preprocessor (although it contains as a part of it a preprocessing
phase).

It is meant to be a small - and simple - library.  Scanty and meager,
and partly because of that easy to use.  It has one mission in life:
create a semantic parse tree for some arbitrary user for further
analysis.  It's not a tokenizer, nor is it some generic context-free
parser.  In fact, context (semantics) is what it's all about - figuring
out not just what the grouping of tokens are, but what the _types_ are
that the grouping implies.

Sparse is primarily used in the development and debugging of the Linux
kernel.



Authors:
--------
    Linus Torvalds
    Josh Triplett

%package -n sparse-devel
License:        Open Software License 1.1
Summary:        Devel files for sparse
Group:          Development/Libraries/C and C++

%description -n sparse-devel
Development headers and libraries for sparse.

%package -n sparse-inspect
License:        Open Software License 1.1
Summary:        Inspect binary from sparse
Group:          Development/Libraries/C and C++

%description -n sparse-inspect
test-inspect is a gtk frontend for sparse.

%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1

%build
make %{?_smp_mflags} PREFIX=%{_prefix} LIBDIR=%{_libdir} MANDIR=%{_mandir} \
	PKGCONFIGDIR=%{_datadir}/pkgconfig CFLAGS="%{optflags}"

%install
make install DESTDIR=$RPM_BUILD_ROOT \
	PREFIX=%{_prefix} LIBDIR=%{_libdir} MANDIR=%{_mandir} \
	PKGCONFIGDIR=%{_datadir}/pkgconfig

%files
%defattr(-,root,root)
%doc LICENSE README FAQ
%{_mandir}/man?/cgcc.1.gz
%{_mandir}/man?/sparse.1.gz
%{_bindir}/c2xml
%{_bindir}/cgcc
%{_bindir}/sparse

%files -n sparse-inspect
%defattr(-,root,root)
%{_bindir}/test-inspect

%files -n sparse-devel
%defattr(-,root,root)
%{_includedir}/sparse
%{_libdir}/libsparse.a
%{_datadir}/pkgconfig/sparse.pc

%changelog