Blob Blame Raw
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
%{!?ruby_sitearch: %global ruby_sitearch %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"] ')}


Name:		stfl
Version:	0.21
Release:	7%{?dist}
Summary:	The Structured Terminal Forms Language/Library

Group:		System Environment/Libraries
License:	LGPLv3+
URL:		http://www.clifford.at/stfl/
Source0:	http://www.clifford.at/stfl/%{name}-%{version}.tar.gz

BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:	ncurses-devel
BuildRequires:	swig
BuildRequires:	perl-devel
BuildRequires:	python-devel
BuildRequires:	ruby, ruby-devel

%description
STFL is a library which implements a curses-based widget set for text
terminals.


%package	devel
Summary:	Development files for %{name}
Group:		Development/Libraries
Requires:	%{name} = %{version}-%{release}
Requires:	pkgconfig

%description	devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.


%package	perl
Summary:	Perl binding for STFL
Group:		Development/Libraries
Requires:	%{name} = %{version}-%{release}
Requires:	perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))

%description	perl
Perl binding for STFL


%package	python
Summary:	Python binding for STFL
Group:		Development/Libraries
Requires:	%{name} = %{version}-%{release}

%description	python
Python binding for STFL.


%package	ruby
Summary:	Ruby binding for STFL
Group:		Development/Libraries
Requires:	%{name} = %{version}-%{release}
Requires:	ruby(abi) = 1.8

%description	ruby
Ruby binding for STFL.


%prep
%setup -q
## ensures that _stfl.so doesn't end up in lib-dynload
## - http://www.rocklinux.net/pipermail/stfl/2009-June/000113.html
sed -i.path \
 -e '/mkdir.*lib-dynload/d' \
 -e '/cp/s|lib-dynload||' \
 python/Makefile.*
## creates an soname symlink for the shared library
## - http://www.rocklinux.net/pipermail/stfl/2009-June/000114.html
## add the new line needed (the part starting with \n) If you know a better way with sed to do it, please educate me
sed -i.soname \
 -e 's|\(.*ln -fs.*/\)\(libstfl\.so\)$|\1\2\n\1\$(SONAME)|' \
 Makefile
## fixes undefined-non-weak-symbol rpmlint warnings
## - http://www.rocklinux.net/pipermail/stfl/2009-October/000116.html
sed -i.ldflags -e 's|\(-shared\)|\1 \$(LDLIBS)|' Makefile
## fixes libdir for other arch than x86 
## - http://www.rocklinux.net/pipermail/stfl/2009-October/000118.html
sed -i.path -e 's|libdir=.*|libdir=%{_libdir}|' stfl.pc.in
sed -i.cflags -e 's|-Os||' Makefile

%build
# building with smp flags causes random failures
export CFLAGS="%{optflags}"
make prefix=%{_prefix} libdir=%{_lib}


%install
rm -rf %{buildroot}
make install prefix=%{_prefix} libdir=%{_lib} DESTDIR=%{buildroot}
# give the shared libraries executable permissions so they get stripped
# also fixes the 0555 permissions on the perl bindings
find %{buildroot} -name '*.so' -exec chmod 755 {} ';'
# perl ignores empty .bs files
find %{buildroot} -name '*.bs' -size 0c -exec rm -f {} ';'
# fedora doesn't ship static libraries
rm -f %{buildroot}%{_libdir}/libstfl.a
## remove unneeded files
rm -f %{buildroot}%{perl_vendorarch}/example.pl
rm -f %{buildroot}%{perl_vendorarch}/auto/stfl/.packlist
rm -f %{buildroot}%{perl_archlib}/perllocal.pod

%clean
rm -rf %{buildroot}


%post -p /sbin/ldconfig


%postun -p /sbin/ldconfig


%files
%defattr(-,root,root,-)
%doc README COPYING
%{_libdir}/*.so.*

%files devel
%defattr(-,root,root,-)
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/pkgconfig/stfl.pc

%files perl
%defattr(-,root,root,-)
%dir %{perl_vendorarch}/auto/stfl
%{perl_vendorarch}/*.pm
%{perl_vendorarch}/auto/stfl/*

%files python
%defattr(-,root,root,-)
%{python_sitearch}/stfl.py*
%{python_sitearch}/_stfl.so

%files ruby
%defattr(-,root,root,-)
%{ruby_sitearch}/stfl.so

%changelog
* Tue Oct 20 2009 Thomas Janssen <thomasj@fedoraproject.org> 0.21-7
- Removed empty %%doc
- Changed sed commands

* Tue Oct 06 2009 Thomas Janssen <thomasj@fedoraproject.org> 0.21-6
- Changed CFLAGS again

* Tue Oct 06 2009 Thomas Janssen <thomasj@fedoraproject.org> 0.21-5
- Better use of sed
- Fixed CFLAGS
- Use of rm instead of exclude
- Removed empty doc

* Mon Oct 05 2009 Thomas Janssen <thomasj@fedoraproject.org> 0.21-4
- Removed unneeded requires
- Removed dupe docs
- removed patches and make use of sed
- fixed stfl.pc.in for x86_64

* Fri Oct 02 2009 Thomas Janssen <thomasj@fedoraproject.org> 0.21-3
- fixed installed rpmlint output

* Fri Oct 02 2009 Thomas Janssen <thomasj@fedoraproject.org> 0.21-2
- Added Requires: pkgconfig
- Mentioned to upstream the rpmlint warnings
- http://www.rocklinux.net/pipermail/stfl/2009-October/000115.html
- Minor spec changes

* Sun Jun 28 2009 Byron Clark <byron@theclarkfamily.name> 0.21-1
- New upstream release
- Stop placing _stfl.so in lib-dynload
- Add patch to properly create soname symlink for shared lib.

* Wed Jun 10 2009 Byron Clark <byron@theclarkfamily.name> 0.20-5
- Stop using both python_sitelib and python_sitearch
- Modify stfl-pythonpaths.patch to only use python_sitearch

* Sat Jun 6 2009 Byron Clark <byron@theclarkfamily.name> 0.20-4
- Don't explicitly require python and perl

* Thu May 21 2009 Byron Clark <byron@theclarkfamily.name> 0.20-3
- Use the patches that have been sent upstream

* Thu May 21 2009 Byron Clark <byron@theclarkfamily.name> 0.20-2
- Add the minimal docs

* Thu May 21 2009 Byron Clark <byron@theclarkfamily.name> 0.20-1
- Initial release