Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37046527
en ru br
ALT Linux repos
S:4.6.1-alt8
5.0: 4.5.1-alt3.git20090319.M50.1
3.0: 4.0.2-alt1

Group :: Development/C++
RPM: wvstreams

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Name: wvstreams
Version: 4.0.2
Release: alt1

%define soffix -4.0.so

Summary: C++ libraries for rapid application development
License: LGPL
Group: Development/C++

URL: http://open.nit.ca/wiki/?page=WvStreams
Source: %name-%version.tar.bz2

Patch0: %name-3.74.0-alt-serial.patch
Patch1: %name-3.74.0-alt-docbook.patch
Patch2: %name-3.75.0-rh-stringbuf.patch
Patch3: %name-4.0.2-alt-oggspeex-max_bpf.patch
Patch4: %name-4.0.2-alt-oggspeex-const.patch
Patch5: %name-4.0.2-alt-makefile-soname.patch
Patch6: %name-4.0.2-alt-configure-db4.patch

# Added by buildreq2 on Sun May 01 2005

BuildRequires: docbook-style-dsssl gcc-c++ libaudio-devel libdb4-devel libfam-devel libfftw-devel libopenslp libopenslp-devel libpam-devel libqt3-devel libspeex-devel libssl-devel libvorbis-devel libxplc-devel openjade pkgconfig swig tcl-devel valgrind-devel

%description
WvStreams aims to be an efficient, secure, and easy-to-use library
for doing network applications development.

######## wvstreams

%package -n lib%name
Summary: %summary
Group: System/Libraries
Requires: /var/lock/serial
%description -n lib%name
WvStreams aims to be an efficient, secure, and easy-to-use library
for doing network applications development.

%package -n lib%name-devel
Summary: %summary
Group: Development/C++
Requires: lib%name = %version-%release
Requires: libxplc-devel
Provides: %name-manual = %version
Obsoletes: %name-manual < %version
%description -n lib%name-devel
WvStreams aims to be an efficient, secure, and easy-to-use library
for doing network applications development.

%package -n lib%name-devel-static
Summary: %summary
Group: Development/C++
Requires: lib%name-devel = %version-%release
%description -n lib%name-devel-static
WvStreams aims to be an efficient, secure, and easy-to-use library
for doing network applications development.

######## uniconf

%package -n libuniconf
Summary: %summary (configuration system)
Group: System/Libraries
Requires: lib%name = %version-%release
%description -n libuniconf
UniConf is a configuration system that can serve as the centrepiece
among many other, existing configuration systems, such as: GConf,
KConfig, Windows registry, and Mutt. ;)  UniConf can also be accessed
over the network, with authentication, allowing easy replication of
configuration data via the UniReplicateGen.

%package -n libuniconf-devel
Summary: %summary (configuration system)
Group: Development/C++
Requires: libuniconf = %version-%release
Requires: lib%name-devel = %version-%release
%description -n libuniconf-devel
UniConf is a configuration system that can serve as the centrepiece
among many other, existing configuration systems, such as: GConf,
KConfig, Windows registry, and Mutt. ;)  UniConf can also be accessed
over the network, with authentication, allowing easy replication of
configuration data via the UniReplicateGen.

%package -n libuniconf-devel-static
Summary: %summary (configuration system)
Group: Development/C++
Requires: libuniconf-devel = %version-%release
Requires: lib%name-devel-static = %version-%release
%description -n libuniconf-devel-static
UniConf is a configuration system that can serve as the centrepiece
among many other, existing configuration systems, such as: GConf,
KConfig, Windows registry, and Mutt. ;)  UniConf can also be accessed
over the network, with authentication, allowing easy replication of
configuration data via the UniReplicateGen.

%package -n uniconf-tools
Summary: Tools to interface with UniConf configuration system
Group: System/Configuration/Other
Requires: libuniconf = %version-%release
%description -n uniconf-tools
UniConf is a configuration system that can serve as the centrepiece
among many other, existing configuration systems, such as: GConf,
KConfig, Windows registry, and Mutt. ;)  UniConf can also be accessed
over the network, with authentication, allowing easy replication of
configuration data via the UniReplicateGen.

%package -n uniconfd
Summary: Server that manages UniConf elements
Group: System/Servers
Requires: libuniconf = %version-%release
%description -n uniconfd
UniConf is a configuration system that can serve as the centrepiece
among many other, existing configuration systems, such as: GConf,
KConfig, Windows registry, and Mutt. ;)  UniConf can also be accessed
over the network, with authentication, allowing easy replication of
configuration data via the UniReplicateGen.

######## fft

%package -n libwvfft
Summary: %summary (fftw wrapper)
Group: System/Libraries
Requires: lib%name = %version-%release
%description -n libwvfft
This package contains the library necessary for the WvStreams to libfftw
wrapper.  It enables WvStreams programs to easily handle Fast-Fourier
transforms, instead of forcing the programmer to use the much harder to
use libfftw interface.

%package -n libwvfft-devel
Summary: %summary (fftw wrapper)
Group: Development/C++
Requires: libwvfft = %version-%release
Requires: lib%name-devel = %version-%release
Requires: libfftw-devel
%description -n libwvfft-devel
This package contains the library necessary for the WvStreams to libfftw
wrapper.  It enables WvStreams programs to easily handle Fast-Fourier
transforms, instead of forcing the programmer to use the much harder to
use libfftw interface.

%package -n libwvfft-devel-static
Summary: %summary (fftw wrapper)
Group: Development/C++
Requires: libwvfft-devel = %version-%release
Requires: lib%name-devel-static = %version-%release
%description -n libwvfft-devel-static
This package contains the library necessary for the WvStreams to libfftw
wrapper.  It enables WvStreams programs to easily handle Fast-Fourier
transforms, instead of forcing the programmer to use the much harder to
use libfftw interface.

######## speex

%package -n libwvoggspeex
Summary: %summary (speech codec)
Group: System/Libraries
Requires: lib%name = %version-%release
%description -n libwvoggspeex
This library contains the WvOggEncoder and WvOggDecoder to enable
quick and painless creation of audio streams using the Oggspeex CODEC.

%package -n libwvoggspeex-devel
Summary: %summary (speech codec)
Group: Development/C++
Requires: libwvoggspeex = %version-%release
Requires: lib%name-devel = %version-%release
Requires: libogg-devel
%description -n libwvoggspeex-devel
This library contains the WvOggEncoder and WvOggDecoder to enable
quick and painless creation of audio streams using the Oggspeex CODEC.

%package -n libwvoggspeex-devel-static
Summary: %summary (speech codec)
Group: Development/C++
Requires: libwvoggspeex-devel = %version-%release
Requires: lib%name-devel-static = %version-%release
%description -n libwvoggspeex-devel-static
This library contains the WvOggEncoder and WvOggDecoder to enable
quick and painless creation of audio streams using the Oggspeex CODEC.

######## vorbis

%package -n libwvoggvorbis
Summary: %summary (Ogg Vorbis)
Group: System/Libraries
Requires: lib%name = %version-%release
%description -n libwvoggvorbis
This library contains the WvOggEncoder and WvOggDecoder to enable
quick and painless creation of audio streams using the OggVorbis CODEC.

%package -n libwvoggvorbis-devel
Summary: %summary (Ogg Vorbis)
Group: Development/C++
Requires: libwvoggvorbis = %version-%release
Requires: lib%name-devel = %version-%release
Requires: libvorbis-devel
%description -n libwvoggvorbis-devel
This library contains the WvOggEncoder and WvOggDecoder to enable
quick and painless creation of audio streams using the OggVorbis CODEC.

%package -n libwvoggvorbis-devel-static
Summary: %summary (Ogg Vorbis)
Group: Development/C++
Requires: libwvoggvorbis-devel = %version-%release
Requires: lib%name-devel-static = %version-%release
%description -n libwvoggvorbis-devel-static
This library contains the WvOggEncoder and WvOggDecoder to enable
quick and painless creation of audio streams using the OggVorbis CODEC.

######## qt

%package -n libwvqt
Summary: %summary (Qt3 GUI)
Group: System/Libraries
Requires: lib%name = %version-%release
%description -n libwvqt
This package contains the library necessary to tie WvStreams and Qt
program event loops together to enable WvStreams to act as the I/O and
configuration back end for Qt and KDE.

%package -n libwvqt-devel
Summary: %summary (Qt3 GUI)
Group: Development/KDE and QT
Requires: libwvqt = %version-%release
Requires: lib%name-devel = %version-%release
Requires: libqt3-devel
%description -n libwvqt-devel
This package contains the library necessary to tie WvStreams and Qt
program event loops together to enable WvStreams to act as the I/O and
configuration back end for Qt and KDE.

%package -n libwvqt-devel-static
Summary: %summary (Qt3 GUI)
Group: Development/KDE and QT
Requires: libwvqt-devel = %version-%release
Requires: lib%name-devel-static = %version-%release
%description -n libwvqt-devel-static
This package contains the library necessary to tie WvStreams and Qt
program event loops together to enable WvStreams to act as the I/O and
configuration back end for Qt and KDE.

######## telephony

%package -n libwvtelephony
Summary: %summary (NLMS echo canceller)
Group: System/Libraries
Requires: lib%name = %version-%release
%description -n libwvtelephony
This library provides adaptive echo cancellation for 16-bit PCM samples.

%package -n libwvtelephony-devel
Summary: %summary (NLMS echo canceller)
Group: Development/C++
Requires: libwvtelephony = %version-%release
Requires: lib%name-devel = %version-%release
%description -n libwvtelephony-devel
This library provides adaptive echo cancellation for 16-bit PCM samples.

%package -n libwvtelephony-devel-static
Summary: %summary (NLMS echo canceller)
Group: Development/C++
Requires: libwvtelephony-devel = %version-%release
Requires: lib%name-devel-static = %version-%release
%description -n libwvtelephony-devel-static
This library provides adaptive echo cancellation for 16-bit PCM samples.

%prep
%setup -q -n %name-%version
%__bzip2 -9fk ChangeLog
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1

# fix xplc

%__rm -rfv xplc
%__subst -p 's/\<xplc-[0-9.]\+/xplc/g' configure*
%__subst -p 's/-\$[{]xplc_version[}]//g' configure*

# fix tcl

%__subst -p 's/tcl8[.][0-9]/tcl/g' configure*

%build
autoreconf -fisv
export PATH="$PATH:%_libdir/qt3/bin"
export CPPFLAGS="-I%_includedir/speex"
%configure
%make_build SOFFIX=%soffix VERBOSE=1 \
COPTS="%optflags %optflags_shared" CXXOPTS="%optflags %optflags_shared"
%make_build -C Docs/sgmlmanual html

%install
%makeinstall SOFFIX=%soffix

%define pkgdocdir %_docdir/%name-%version
%__mkdir_p %buildroot%pkgdocdir/html
%__install -p -m644 ChangeLog.bz2 README %buildroot%pkgdocdir
%__install -p -m644 Docs/sgmlmanual/*/*.htm* %buildroot%pkgdocdir/html

######## wvstreams

%files -n lib%name
%_libdir/libwvbase%soffix
%_libdir/libwvutils%soffix
%_libdir/lib%name%soffix
%dir %pkgdocdir
%pkgdocdir/README

%post -n lib%name -p %post_ldconfig
%postun -n lib%name -p %postun_ldconfig

%files -n lib%name-devel
%dir %_includedir/%name
%_includedir/%name/*.h
%exclude %_includedir/%name/uni*.h
%exclude %_includedir/%name/wvfft*.h
%exclude %_includedir/%name/wvqt*.h
%exclude %_includedir/%name/wvtelephony*.h
%exclude %_includedir/%name/wvoggvorbis.h
%exclude %_includedir/%name/wvspeex.h
%exclude %_includedir/%name/wvoggspeex.h
%_libdir/libwvbase.so
%_libdir/libwvutils.so
%_libdir/lib%name.so
%_libdir/pkgconfig/libwvbase.pc
%_libdir/pkgconfig/libwvutils.pc
%_libdir/pkgconfig/lib%name.pc
%dir %pkgdocdir
%pkgdocdir/ChangeLog.bz2
%pkgdocdir/html/

%if_enabled static
%files -n lib%name-devel-static
%_libdir/libwvbase.a
%_libdir/libwvutils.a
%_libdir/lib%name.a
%endif

######## uniconf

%files -n libuniconf
%_libdir/libuniconf%soffix

%post -n libuniconf -p %post_ldconfig
%postun -n libuniconf -p %postun_ldconfig

%files -n libuniconf-devel
%dir %_includedir/%name
%_includedir/%name/uni*.h
%_libdir/libuniconf.so
%_libdir/pkgconfig/libuniconf.pc

%if_enabled static
%files -n libuniconf-devel-static
%_libdir/libuniconf.a
%endif

%files -n uniconf-tools
%_bindir/uni
%_man8dir/uni.*

%files -n uniconfd
%config(noreplace) %_sysconfdir/uniconf.conf
%_sbindir/uniconfd
%_man8dir/uniconfd.*

######## fft

%files -n libwvfft
%_libdir/libwvfft%soffix

%post -n libwvfft -p %post_ldconfig
%postun -n libwvfft -p %postun_ldconfig

%files -n libwvfft-devel
%dir %_includedir/%name
%_includedir/%name/wvfft*.h
%_libdir/libwvfft.so
%_libdir/pkgconfig/libwvfft.pc

%if_enabled static
%files -n libwvfft-devel-static
%_libdir/libwvfft.a
%endif

######## qt

%files -n libwvqt
%_libdir/libwvqt%soffix

%post -n libwvqt -p %post_ldconfig
%postun -n libwvqt -p %postun_ldconfig

%files -n libwvqt-devel
%dir %_includedir/%name
%_includedir/%name/wvqt*.h
%_libdir/libwvqt.so
%_libdir/pkgconfig/libwvqt.pc

%if_enabled static
%files -n libwvqt-devel-static
%_libdir/libwvqt.a
%endif

######## telephony

%files -n libwvtelephony
%_libdir/libwvtelephony%soffix

%post -n libwvtelephony -p %post_ldconfig
%postun -n libwvtelephony -p %postun_ldconfig

%files -n libwvtelephony-devel
%dir %_includedir/%name
%_includedir/%name/wvtelephony*.h
%_libdir/libwvtelephony.so
#_libdir/pkgconfig/libwvtelephony.pc

%if_enabled static
%files -n libwvtelephony-devel-static
%_libdir/libwvtelephony.a
%endif

######## vorbis

%files -n libwvoggvorbis
%_libdir/libwvoggvorbis%soffix

%post -n libwvoggvorbis -p %post_ldconfig
%postun -n libwvoggvorbis -p %postun_ldconfig

%files -n libwvoggvorbis-devel
%dir %_includedir/%name
%_includedir/%name/wvoggvorbis.h
%_libdir/libwvoggvorbis.so
#_libdir/pkgconfig/libwvoggvorbis.pc

%if_enabled static
%files -n libwvoggvorbis-devel-static
%_libdir/libwvoggvorbis.a
%endif

######## speex

%files -n libwvoggspeex
%_libdir/libwvoggspeex%soffix

%post -n libwvoggspeex -p %post_ldconfig
%postun -n libwvoggspeex -p %postun_ldconfig

%files -n libwvoggspeex-devel
%dir %_includedir/%name
%_includedir/%name/wvspeex.h
%_includedir/%name/wvoggspeex.h
%_libdir/libwvoggspeex.so
#_libdir/pkgconfig/libwvoggspeex.pc

%if_enabled static
%files -n libwvoggspeex-devel-static
%_libdir/libwvoggspeex.a
%endif

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin