%define lib_name sigc++ Name: libsigc++ Summary: The Typesafe Signal Framework for C++ Version: 1.0.4 Release: 1 License: LGPL Group: System Environment/Libraries Url: http://libsigc.sourceforge.net/ Source: ftp://download.sourceforge.net/pub/sourceforge/libsigc/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-root %description This library implements a full callback system for use in widget libraries, abstract interfaces, and general programming. Originally part of the Gtk-- widget set, %name is now a seperate library to provide for more general use. It is the most complete library of its kind with the ablity to connect an abstract callback to a class method, function, or function object. It contains adaptor classes for connection of dissimilar callbacks and has an ease of use unmatched by other C++ callback libraries. Package GTK-- (gtkmm), which is a C++ binding to the GTK+ library, starting with version 1.1.2, uses %name. %package devel Summary: development tools for the Typesafe Signal Framework for C++ Group: Development/Libraries Requires: %name = %version %description devel The %name-devel package contains the static libraries and header files needed for development with %name. %package examples Summary: examples and tests for the Typesafe Signal Framework for C++ Group: Development/Libraries Requires: %name-devel = %version %description examples The %name-devel package contains source code of example and test programs for %name. %prep %setup -q perl -pi -e 's|\${prefix}|%prefix|' README perl -pi -e 's|PREFIX|%prefix|' doc/FAQ %build %ifarch alpha ARCH_FLAGS="--host=alpha-redhat-linux" %endif %global optflags %(opt="%optflags"; for f in -fno-exceptions -fno-rtti; do opt="$(echo "$opt"|sed -e "s/ $f//g;s/$f //g")"; done; echo "$opt") if [ ! -x configure ]; then CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" ./autogen.sh \ $ARCH_FLAGS --prefix=%{_prefix} --bindir=%{_bindir} \ --libdir=%{_libdir} --datadir=%{_datadir} \ --includedir=%{_includedir} fi CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" ./configure \ $ARCH_FLAGS --prefix=%{_prefix} --bindir=%{_bindir} \ --libdir=%{_libdir} --datadir=%{_datadir} \ --includedir=%{_includedir} if [ -n "$SMP" ]; then make -j$SMP "MAKE=make -j$SMP" else make fi %install rm -rf $RPM_BUILD_ROOT make prefix=$RPM_BUILD_ROOT/%{_prefix} \ bindir=$RPM_BUILD_ROOT/%{_bindir} \ libdir=$RPM_BUILD_ROOT/%{_libdir} \ datadir=$RPM_BUILD_ROOT/%{_datadir} \ includedir=$RPM_BUILD_ROOT/%{_includedir} install mkdir -p $RPM_BUILD_ROOT%{_libdir}/%lib_name/examples mkdir -p $RPM_BUILD_ROOT%{_libdir}/%lib_name/tests install examples/* $RPM_BUILD_ROOT%{_libdir}/%lib_name/examples/ cp -a tests/* $RPM_BUILD_ROOT%{_libdir}/%lib_name/tests/ find $RPM_BUILD_ROOT%{_libdir}/%lib_name -type d -name .libs |xargs -r rm -rf find $RPM_BUILD_ROOT%{_libdir}/%lib_name -type f |xargs file | grep -E '(relocatable|executable|shell script)' |cut -d: -f1 |xargs -r rm -f for i in $RPM_BUILD_ROOT%{_libdir}/%lib_name/{examples,tests/*}/Makefile; do rm -f $i.* cp -p scripts/examples.Makefile $i done for i in $RPM_BUILD_ROOT%{_libdir}/%lib_name/tests/Makefile; do rm -f $i.* cp -p scripts/tests.Makefile $i done %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %{_libdir}/*.so.* %doc AUTHORS COPYING.LIB README IDEAS NEWS ChangeLog TODO %files devel %defattr(-,root,root) %{_bindir}/* %{_includedir}/* %{_datadir}/aclocal/* %{_libdir}/*.so %{_libdir}/*.a %doc doc/* %files examples %defattr(-,root,root) %{_libdir}/%lib_name/examples %{_libdir}/%lib_name/tests %changelog * Sat Apr 15 2000 Dmitry V. Levin - updated Url and Source fileds - 1.0.0 stable release * Sat Jan 22 2000 Dmitry V. Levin - filtering out -fno-rtti and -fno-exceptions options from $RPM_OPT_FLAGS - minor install section cleanup * Wed Jan 19 2000 Allan Rae - autogen just creates configure, not runs it, so cleaned that up too. * Wed Jan 19 2000 Dmitry V. Levin - minor attr fix - removed unnecessary curly braces - fixed Herbert's adjustement * Sat Jan 15 2000 Dmitry V. Levin - minor package dependence fix * Sat Dec 25 1999 Herbert Valerio Riedel - fixed typo of mine - added traditional CUSTOM_RELEASE stuff - added SMP support * Thu Dec 23 1999 Herbert Valerio Riedel - adjusted spec file to get tests.Makefile and examples.Makefile from scripts/ * Fri Oct 22 1999 Dmitry V. Levin - split into three packages: %name, %name-devel and %name-examples * Thu Aug 12 1999 Karl Nelson - updated source field and merged conflicts between revisions. * Tue Aug 10 1999 Dmitry V. Levin - updated Prefix and BuildRoot fields * Thu Aug 5 1999 Herbert Valerio Riedel - made sure configure works on all alphas * Wed Jul 7 1999 Karl Nelson - Added autoconf macro for sigc. * Fri Jun 11 1999 Karl Nelson - Made into a .in to keep version field up to date - Still need to do release by hand * Mon Jun 7 1999 Dmitry V. Levin - added Vendor and Packager fields * Sat Jun 5 1999 Dmitry V. Levin - updated to 0.8.0 * Tue Jun 1 1999 Dmitry V. Levin - initial revision