File libmediainfo.spec of Package libmediainfo
%define realver 0.7.87
%define srcext tar.bz2
%define so_ver 0
# turn off the generation of debuginfo rpm (RH9) ??
%global debug_package %{nil}
# Common info
Name: libmediainfo%{?so_ver}
Version: %{realver}
Release: %{?extraver:0.}1%{?rhel:.el%{rhel}}%{?fedora:.fc%{fedora}}
License: BSD-2-Clause
Group: System/Libraries
URL: http://mediaarea.net/ru/MediaInfo
Summary: A library to extract most relevant technical and tag data from media files
# Build-time parameters
BuildRequires: gcc-c++ pkgconfig
BuildRequires: zlib-devel
BuildRoot: %{_tmppath}/%{name}-root
Source: http://mediaarea.net/download/binary/libmediainfo0/%{realver}/MediaInfo_DLL_%{realver}_GNU_FromSource.%{srcext}
%description
A shared library to extract most relevant technical and tag data for video and audio files.
%package -n libmediainfo-devel
Group: Development/Languages/C and C++
Summary: Development files for %{name}
Requires: %{name} = %{version}
Requires: zlib-devel
Provides: %{name}-devel
%description -n libmediainfo-devel
Development files for %{name}
%package -n libzen%{?so_ver}
Version: 0.4.25
License: Zlib
Group: System/Libraries
URL: http://sourceforge.net/projects/zenlib/
Summary: Small C++ derivate class to have a simpler life
%description -n libzen%{?so_ver}
Small C++ derivate class to have a simpler life
%package -n libzen-devel
Version: 0.4.25
License: Zlib
Group: Development/Languages/C and C++
URL: http://sourceforge.net/projects/zenlib/
Summary: Development files for libzen
Requires: libzen%{?so_ver} = 0.4.25
Requires: libstdc++-devel
Provides: libzen%{?so_ver}-devel
%description -n libzen-devel
Small C++ derivate class to have a simpler life.
# Preparation step (unpackung and patching if necessary)
%prep
%setup -q -n MediaInfo_DLL_GNU_FromSource
%build
cd ZenLib/Project/GNU/Library/
%configure \
--enable-shared \
--disable-static \
CFLAGS="%{optflags}" \
CXXFLAGS="%{optflags}" \
LDFLAGS="-Wl,--as-needed -Wl,--strip-all"
%{__make} %{?_smp_mflags}
cd -
cd MediaInfoLib/Project/GNU/Library/
%configure \
--enable-shared \
--disable-static \
CFLAGS="%{optflags}" \
CXXFLAGS="%{optflags}" \
LDFLAGS="-Wl,--as-needed -Wl,--strip-all"
%{__make} %{?_smp_mflags}
cd -
%install
%{__make} -C ZenLib/Project/GNU/Library/ install DESTDIR=%{buildroot}
%{__make} -C MediaInfoLib/Project/GNU/Library/ install DESTDIR=%{buildroot}
%{__install} -m644 MediaInfoLib/Project/GNU/Library/libmediainfo.pc %{buildroot}%{_libdir}/pkgconfig/libmediainfo.pc
[ "%{buildroot}" != "/" ] && %{__rm} -vf %{buildroot}%{_bindir}/*-config
%clean
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}
%files
%defattr(-,root,root)
%doc MediaInfoLib/License.html
%{_libdir}/libmediainfo.so.%{?so_ver}*
# Development stuff
%files -n libmediainfo-devel
%defattr(-,root,root)
%{_libdir}/pkgconfig/libmediainfo.pc
%dir %{_includedir}/MediaInfo/
%dir %{_includedir}/MediaInfoDLL/
%{_includedir}/MediaInfo/*.h
%{_includedir}/MediaInfoDLL/*.h
%{_libdir}/libmediainfo.so
%exclude %{_libdir}/*.la
%files -n libzen%{?so_ver}
%defattr(-,root,root)
%doc ZenLib/License.txt
%{_libdir}/libzen.so.%{?so_ver}*
%files -n libzen-devel
%defattr(-,root,root)
%{_libdir}/pkgconfig/libzen.pc
%{_includedir}/ZenLib
%{_libdir}/libzen.so
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post -n libzen%{?so_ver} -p /sbin/ldconfig
%postun -n libzen%{?so_ver} -p /sbin/ldconfig
%changelog