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+

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

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

STFL is a library which implements a curses-based widget set for text

%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.

%setup -q
## ensures that doesn't end up in lib-dynload
## -
sed -i.path \
 -e '/mkdir.*lib-dynload/d' \
 -e '/cp/s|lib-dynload||' \
## creates an soname symlink for the shared library
## -
## 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)|' \
## fixes undefined-non-weak-symbol rpmlint warnings
## -
sed -i.ldflags -e 's|\(-shared\)|\1 \$(LDLIBS)|' Makefile
## fixes libdir for other arch than x86 
## -
sed -i.path -e 's|libdir=.*|libdir=%{_libdir}|'
sed -i.cflags -e 's|-Os||' Makefile

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

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}/
rm -f %{buildroot}%{perl_vendorarch}/auto/stfl/.packlist
rm -f %{buildroot}%{perl_archlib}/perllocal.pod

rm -rf %{buildroot}

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig


%files devel

%files perl
%dir %{perl_vendorarch}/auto/stfl

%files python

%files ruby

* Tue Oct 20 2009 Thomas Janssen <> 0.21-7
- Removed empty %%doc
- Changed sed commands

* Tue Oct 06 2009 Thomas Janssen <> 0.21-6
- Changed CFLAGS again

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

* Mon Oct 05 2009 Thomas Janssen <> 0.21-4
- Removed unneeded requires
- Removed dupe docs
- removed patches and make use of sed
- fixed for x86_64

* Fri Oct 02 2009 Thomas Janssen <> 0.21-3
- fixed installed rpmlint output

* Fri Oct 02 2009 Thomas Janssen <> 0.21-2
- Added Requires: pkgconfig
- Mentioned to upstream the rpmlint warnings
- Minor spec changes

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

* Wed Jun 10 2009 Byron Clark <> 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 <> 0.20-4
- Don't explicitly require python and perl

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

* Thu May 21 2009 Byron Clark <> 0.20-2
- Add the minimal docs

* Thu May 21 2009 Byron Clark <> 0.20-1
- Initial release