]> git.pld-linux.org Git - packages/libmediainfo.git/blobdiff - libmediainfo.spec
up to 23.06
[packages/libmediainfo.git] / libmediainfo.spec
index 2888494297ffa25081cc1ac3b2cb1c1e25c4e910..f7515b6b4bd566b2bc3443cdb3db225c33bc9925 100644 (file)
@@ -1,20 +1,43 @@
-%define        libzen_ver 0.4.19
+# TODO: system libs:
+# - pkgconfig(aes_gladman)
+# - pkgconfig(sha1_gladman)
+# - pkgconfig(sha2_gladman)
+# - pkgconfig(hmac_gladman)
+# - md5? (which implementation? pkgconfig(md5) is checked)
+#
+# Conditional build:
+%bcond_without curl            # cURL support
+%bcond_without mms             # MMS support
+%bcond_without graphviz        # graphviz support
+%bcond_without apidocs         # API documentation (doxygen generated)
+%bcond_without static_libs     # static library
+
+%define        libzen_ver 0.4.40
 Summary:       Supplies technical and tag information about a video or audio file
+Summary(pl.UTF-8):     Informacje techniczne i znaczniki dla plików wideo i dźwiękowych
 Name:          libmediainfo
-Version:       0.7.44
+Version:       23.06
 Release:       1
-License:       GPL
+License:       BSD or Apache v2.0+ or LGPL v2.1+ or GPL v2+ or MPL v2.0+
 Group:         Libraries
-URL:           http://mediainfo.sourceforge.net/
-Source0:       http://downloads.sourceforge.net/project/mediainfo/source/libmediainfo/%{version}/%{name}_%{version}.tar.bz2
-# Source0-md5: 568d5fe9a6eb6a03c2cd164c32f482e7
-BuildRequires: autoconf
-BuildRequires: automake
+Source0:       https://github.com/MediaArea/MediaInfoLib/archive/v%{version}/MediaInfoLib-%{version}.tar.gz
+# Source0-md5: 99fd221c2aaf614fb2f081ed44acec95
+URL:           https://github.com/MediaArea/MediaInfoLib
+BuildRequires: autoconf >= 2.50
+BuildRequires: automake >= 1:1.11
+%{?with_curl:BuildRequires:    curl-devel}
 BuildRequires: doxygen
+%{?with_graphviz:BuildRequires:        graphviz-devel}
+%{?with_mms:BuildRequires:     libmms-devel}
 BuildRequires: libstdc++-devel
-BuildRequires: libtool
+BuildRequires: libtool >= 2:1.5
 BuildRequires: libzen-devel >= %{libzen_ver}
 BuildRequires: pkgconfig
+BuildRequires: rpm-build >= 4.6
+BuildRequires: rpmbuild(macros) >= 1.752
+BuildRequires: tar >= 1:1.22
+BuildRequires: tinyxml2-devel
+BuildRequires: xz
 BuildRequires: zlib-devel
 Requires:      libzen >= %{libzen_ver}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -31,12 +54,12 @@ What information can I get from MediaInfo?
 - Text: language of subtitle
 - Chapters: number of chapters, list of chapters
 
-DivX, XviD, H263, H.263, H264, x264, ASP, AVC, iTunes, MPEG-1, MPEG1,
-MPEG-2, MPEG2, MPEG-4, MPEG4, MP4, M4A, M4V, QuickTime, RealVideo,
-RealAudio, RA, RM, MSMPEG4v1, MSMPEG4v2, MSMPEG4v3, VOB, DVD, WMA,
-VMW, ASF, 3GP, 3GPP, 3GP2
+Supported files: DivX, XviD, H263, H.263, H264, x264, ASP, AVC,
+iTunes, MPEG-1, MPEG1, MPEG-2, MPEG2, MPEG-4, MPEG4, MP4, M4A, M4V,
+QuickTime, RealVideo, RealAudio, RA, RM, MSMPEG4v1, MSMPEG4v2,
+MSMPEG4v3, VOB, DVD, WMA, VMW, ASF, 3GP, 3GPP, 3GP2
 
-What format (container) does MediaInfo support?
+Supported formats/containers:
 - Video: MKV, OGM, AVI, DivX, WMV, QuickTime, Real, MPEG-1, MPEG-2,
   MPEG-4, DVD (VOB) (Codecs: DivX, XviD, MSMPEG4, ASP, H.264, AVC...)
 - Audio: OGG, MP3, WAV, RA, AC3, DTS, AAC, M4A, AU, AIFF
@@ -44,90 +67,139 @@ What format (container) does MediaInfo support?
 
 This package contains the shared library for MediaInfo.
 
+%description -l pl.UTF-8
+MediaInfo udostępnia informacje techniczne oraz znaczniki dla plików
+wideo i dźwiękowych.
+
+Dostępne są informacje:
+- ogólne: tytuł, autor, reżyser, album, numer ścieżki, data, czas
+  trwania...
+- wideo: kodek, proporcje, liczba klatek na sekundę, pasmo...
+- dźwięk: kodek, częstotliwość próbkowania, liczba kanałów, język,
+  pasmo...
+- tekst: język napisów
+- książki: liczba rozdziałów, ich lista
+
+Obsługiwane pliki: DivX, XviD, H263, H.263, H264, x264, ASP, AVC,
+iTunes, MPEG-1, MPEG1, MPEG-2, MPEG2, MPEG-4, MPEG4, MP4, M4A, M4V,
+QuickTime, RealVideo, RealAudio, RA, RM, MSMPEG4v1, MSMPEG4v2,
+MSMPEG4v3, VOB, DVD, WMA, VMW, ASF, 3GP, 3GPP, 3GP2
+
+Obsługiwane formaty/kontenery:
+- wideo: MKV, OGM, AVI, DivX, WMV, QuickTime, Real, MPEG-1, MPEG-2,
+  MPEG-4, DVD (VOB) (kodeki: DivX, XviD, MSMPEG4, ASP, H.264, AVC...)
+- dźwięk: OGG, MP3, WAV, RA, AC3, DTS, AAC, M4A, AU, AIFF
+- napisy: SRT, SSA, ASS, SAMI
+
+Ten pakiet zawiera bibliotekę współdzieloną MediaInfo.
+
 %package devel
-Summary:       Include files and mandatory libraries for development
+Summary:       Header files for MediaInfo library
+Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki MediaInfo
 Group:         Development/Libraries
 Requires:      %{name} = %{version}-%{release}
-Requires:      libzen-devel >= 0.4.9
+%{?with_curl:Requires: curl-devel}
+%{?with_mms:Requires:  libmms-devel}
+Requires:      libstdc++-devel
+Requires:      libzen-devel >= %{libzen_ver}
+Requires:      tinyxml2-devel
+Requires:      zlib-devel
 
 %description devel
-Include files and mandatory libraries for development.
+Header files for MediaInfo library.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki MediaInfo.
 
 %package static
-Summary:       Static libmediainfo library
+Summary:       Static MediaInfo library
+Summary(pl.UTF-8):     Statyczna biblioteka MediaInfo
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
 
 %description static
-Static libmediainfo library.
+Static MediaInfo library.
+
+%description static -l pl.UTF-8
+Statyczna biblioteka MediaInfo.
+
+%package apidocs
+Summary:       API documentation for MediaInfo library
+Summary(pl.UTF-8):     Dokumentacja API biblioteki MediaInfo
+Group:         Documentation
+BuildArch:     noarch
+
+%description apidocs
+API documentation for MediaInfo library.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API biblioteki MediaInfo.
 
 %prep
-%setup -q -n MediaInfoLib
-cp           Release/ReadMe_DLL_Linux.txt ReadMe.txt
-mv           History_DLL.txt History.txt
+%setup -q -n MediaInfoLib-%{version}
+cp -p Release/ReadMe_DLL_Linux.txt ReadMe.txt
+%{__mv} History_DLL.txt History.txt
 %undos *.txt *.html Source/Doc/*.html
 chmod 644 *.txt *.html Source/Doc/*.html
 
 %build
-export CFLAGS="%{rpmcflags}"
-export CPPFLAGS="%{rpmcppflags}"
-export CXXFLAGS="%{rpmcxxflags}"
-
-cd Source/Doc
-       doxygen Doxyfile
-cd ../..
-
-cp Source/Doc/*.html ./
-
 cd Project/GNU/Library
-       chmod +x autogen
-       ./autogen
-       %configure \
-       --enable-shared \
-       --with-libcurl=no \
-       --with-libmms=no
-
-       %{__make} clean
-       %{__make}
-cd ../../..
+%{__libtoolize}
+%{__aclocal}
+%{__autoconf}
+%{__automake}
+%configure \
+       %{?with_static_libs:--enable-static} \
+       %{?with_graphviz:--with-graphviz} \
+       %{?with_curl:--with-libcurl} \
+       %{?with_mms:--with-libmms} \
+       --with-libtinyxml2
+
+%{__make} clean
+%{__make}
+
+%if %{with apidocs}
+cd ../../../Source/Doc
+doxygen Doxyfile
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-%{__make} -C Project/GNU/Library \
-       install \
+%{__make} -C Project/GNU/Library install \
        DESTDIR=$RPM_BUILD_ROOT
 
-# MediaInfoDLL headers and MediaInfo-config
-for i in MediaInfo MediaInfoDLL; do
-       install -dm 755 $RPM_BUILD_ROOT%{_includedir}/$i
-       install -m 644 Source/$i/*.h $RPM_BUILD_ROOT%{_includedir}/$i
-done
-
-%{__sed} -i -e 's|Version: |Version: %{version}|g' Project/GNU/Library/libmediainfo.pc
-install -dm 755 $RPM_BUILD_ROOT%{_libdir}/pkgconfig
-install Project/GNU/Library/libmediainfo.pc $RPM_BUILD_ROOT%{_libdir}/pkgconfig
+# obsoleted by pkg-config
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libmediainfo.la
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%post -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
+%post  -p /sbin/ldconfig
+%postun        -p /sbin/ldconfig
 
 %files
 %defattr(644,root,root,755)
-%doc History.txt License.html ReadMe.txt
-%attr(755,root,root) %{_libdir}/libmediainfo.so.*
+%doc Changes.txt History.txt License.html README.md ReadMe.txt
+%attr(755,root,root) %{_libdir}/libmediainfo.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmediainfo.so.0
 
 %files devel
 %defattr(644,root,root,755)
-%doc Changes.txt Documentation.html Doc/* Source/Example/HowToUse*
+%attr(755,root,root) %{_libdir}/libmediainfo.so
 %{_includedir}/MediaInfo
 %{_includedir}/MediaInfoDLL
-%{_libdir}/libmediainfo.la
-%attr(755,root,root) %{_libdir}/libmediainfo.so
-%{_pkgconfigdir}/*.pc
+%{_pkgconfigdir}/libmediainfo.pc
 
+%if %{with static_libs}
 %files static
 %defattr(644,root,root,755)
 %{_libdir}/libmediainfo.a
+%endif
+
+%if %{with apidocs}
+%files apidocs
+%defattr(644,root,root,755)
+# Documentation.html expects Doc/index.html
+%doc Source/Doc/Documentation.html Doc Source/Example/HowToUse*
+%endif
This page took 0.109027 seconds and 4 git commands to generate.