From: Jakub Bogusz Date: Mon, 17 Jun 2019 17:35:18 +0000 (+0200) Subject: - added cxx-autotools patch (enable linphone++ build when using autotools; cmake... X-Git-Tag: auto/th/linphone-3.12.0-6 X-Git-Url: http://git.pld-linux.org/gitweb.cgi?a=commitdiff_plain;h=94b9c09c879954ebcd46d8830aa57041d0ebb2ac;p=packages%2Flinphone.git - added cxx-autotools patch (enable linphone++ build when using autotools; cmake doesn't provide .pc or appdata files) - added no-rebuild patch (avoid rebuilding on make install) - release 6 --- diff --git a/linphone-cxx-autotools.patch b/linphone-cxx-autotools.patch new file mode 100644 index 0000000..718d852 --- /dev/null +++ b/linphone-cxx-autotools.patch @@ -0,0 +1,123 @@ +--- linphone-3.12.0/wrappers/cpp/Makefile.am.orig 1970-01-01 01:00:00.000000000 +0100 ++++ linphone-3.12.0/wrappers/cpp/Makefile.am 2019-06-09 20:54:05.193613161 +0200 +@@ -0,0 +1,20 @@ ++lib_LTLIBRARIES = liblinphone++.la ++liblinphone___la_CPPFLAGS = -DLINPHONECXX_EXPORTS ++liblinphone___la_CXXFLAGS = -I$(builddir)/include -I$(top_builddir)/include -I$(top_srcdir)/include $(BCTOOLBOX_CFLAGS) $(BELLESIP_CFLAGS) ++liblinphone___la_SOURCES = object.cc tools.cc ++nodist_liblinphone___la_SOURCES = src/linphone++.cc ++liblinphone___la_LDFLAGS= -version-info $(LIBLINPHONE_SO_VERSION) -no-undefined ++liblinphone___la_LIBADD = $(top_builddir)/coreapi/liblinphone.la $(BCTOOLBOX_LIBS) $(BELLESIP_LIBS) ++ ++linphonexxincludedir = $(includedir)/linphone++ ++linphonexxinclude_HEADERS = object.hh ++ ++pkgconfigdir = $(libdir)/pkgconfig ++nodist_pkgconfig_DATA = linphone++.pc ++ ++src/linphone++.cc include/linphone++/linphone.hh: $(top_srcdir)/tools/genapixml.py $(top_srcdir)/tools/metadoc.py $(top_srcdir)/tools/abstractapi.py genwrapper.py class_header.mustache class_impl.mustache enums_header.mustache main_header.mustache $(top_builddir)/coreapi/help/doc/doxygen/xml/index.xml ++ $(PYTHON) $(srcdir)/genwrapper.py $(top_builddir)/coreapi/help/doc/doxygen/xml ++ ++install-data-hook: ++ install -d $(DESTDIR)$(linphonexxincludedir) ++ cp -p $(builddir)/include/linphone++/*.hh $(DESTDIR)$(linphonexxincludedir) +--- linphone-3.12.0/wrappers/cpp/linphone++.pc.in.orig 1970-01-01 01:00:00.000000000 +0100 ++++ linphone-3.12.0/wrappers/cpp/linphone++.pc.in 2019-06-17 17:53:28.781100707 +0200 +@@ -0,0 +1,11 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Requires.private: linphone bctoolbox belle-sip ++Name: liblinphone++ ++Description: C++ wrapper for linphone libraries. ++Version: @VERSION@ ++Libs: -llinphone++ ++Cflags: -I$(includedir) +--- linphone-3.12.0/Makefile.am.orig 2017-04-06 11:25:59.000000000 +0200 ++++ linphone-3.12.0/Makefile.am 2019-06-09 20:54:34.416788179 +0200 +@@ -4,7 +4,7 @@ + ACLOCAL_AMFLAGS = -I m4 $(ACLOCAL_MACOS_FLAGS) + + SUBDIRS = build m4 pixmaps po @ORTP_DIR@ @MS2_DIR@ \ +- coreapi console gtk share scripts tools daemon tester include ++ coreapi console gtk share scripts tools daemon tester include wrappers/cpp + + GITVERSION=`cd $(top_srcdir) && git describe --always || echo $(VERSION)` + +--- linphone-3.12.0/configure.ac.orig 2019-06-09 20:37:36.645635251 +0200 ++++ linphone-3.12.0/configure.ac 2019-06-09 20:54:59.119987683 +0200 +@@ -1073,6 +1073,12 @@ + include/Makefile + include/linphone/Makefile + coreapi/Makefile ++ coreapi/help/Makefile ++ coreapi/help/doc/Makefile ++ coreapi/help/doc/doxygen/Doxyfile ++ coreapi/help/doc/doxygen/Makefile ++ coreapi/help/examples/Makefile ++ coreapi/help/examples/C/Makefile + tester/Makefile + gtk/Makefile + console/Makefile +@@ -1089,6 +1089,8 @@ + share/audio-assistant.desktop + scripts/Makefile + tools/Makefile ++ wrappers/cpp/Makefile ++ wrappers/cpp/linphone++.pc + linphone.spec + linphone.iss + ]) +--- linphone-3.12.0/coreapi/Makefile.am.orig 2017-06-20 12:03:59.000000000 +0200 ++++ linphone-3.12.0/coreapi/Makefile.am 2019-06-09 21:50:46.738518743 +0200 +@@ -13,7 +13,7 @@ + + ECHO=/bin/echo + +-SUBDIRS=. ++SUBDIRS=. help + + EXTRA_DIST=linphonecore_jni.cc $(GITVERSION_FILE) + +--- linphone-3.12.0/coreapi/help/doc/doxygen/Makefile.am.orig 2017-06-20 12:03:59.000000000 +0200 ++++ linphone-3.12.0/coreapi/help/doc/doxygen/Makefile.am 2019-06-10 19:34:47.457985724 +0200 +@@ -1,6 +1,6 @@ + EXTRA_DIST=Doxyfile.in doxygen.dox + +-SOURCES=doxygen.dox $(top_srcdir)/coreapi/help/*.c $(top_srcdir)/coreapi/*.c $(top_srcdir)/coreapi/*.h ++SOURCES=doxygen.dox $(top_srcdir)/coreapi/*.c $(top_srcdir)/coreapi/*.h + + if HAVE_DOXYGEN + +@@ -9,21 +9,21 @@ + doc_htmldir=$(pkgdocdir)/html + doc_xmldir=$(pkgdocdir)/xml + +-doc_html_DATA = $(top_builddir)/coreapi/help/doc/html/html.tar ++doc_html_DATA = $(top_builddir)/coreapi/help/doc/doxygen/html/html.tar + +-$(doc_html_DATA): $(top_builddir)/coreapi/help/doc/html/index.html +- cd $(top_builddir)/coreapi/help/doc/html/ && tar cf html.tar * ++$(doc_html_DATA): $(top_builddir)/coreapi/help/doc/doxygen/html/index.html ++ cd $(top_builddir)/coreapi/help/doc/doxygen/html/ && tar cf html.tar * + +-$(top_builddir)/coreapi/help/doc/html/index.html: $(SOURCES) Doxyfile Makefile.am ++$(top_builddir)/coreapi/help/doc/doxygen/html/index.html: $(SOURCES) Doxyfile Makefile.am + rm -rf doc + $(DOXYGEN) Doxyfile + +-doc_xml_DATA = $(top_builddir)/coreapi/help/doc/xml/xml.tar ++doc_xml_DATA = $(top_builddir)/coreapi/help/doc/doxygen/xml/xml.tar + +-$(doc_xml_DATA): $(top_builddir)/coreapi/help/doc/xml/index.xml +- cd $(top_builddir)/coreapi/help/doc/xml/ && tar cf xml.tar * ++$(doc_xml_DATA): $(top_builddir)/coreapi/help/doc/doxygen/xml/index.xml ++ cd $(top_builddir)/coreapi/help/doc/doxygen/xml/ && tar cf xml.tar * + +-$(top_builddir)/coreapi/help/doc/xml/index.xml: $(top_builddir)/coreapi/help/doc/html/index.html ++$(top_builddir)/coreapi/help/doc/doxygen/xml/index.xml: $(top_builddir)/coreapi/help/doc/doxygen/html/index.html + + + install-data-hook: diff --git a/linphone-no-rebuild.patch b/linphone-no-rebuild.patch new file mode 100644 index 0000000..e5ea8f7 --- /dev/null +++ b/linphone-no-rebuild.patch @@ -0,0 +1,11 @@ +--- linphone-3.12.0/coreapi/Makefile.am.orig 2019-06-17 18:45:57.727374734 +0200 ++++ linphone-3.12.0/coreapi/Makefile.am 2019-06-17 19:13:50.548312285 +0200 +@@ -205,7 +205,7 @@ + cp -f $(builddir)/$(GITVERSION_FILE_TMP) $(builddir)/$(GITVERSION_FILE) ; \ + fi ; \ + rm -f $(builddir)/$(GITVERSION_FILE_TMP) ; \ +- else \ ++ elif test ! -f $(GITVERSION_FILE) ; then \ + touch $(GITVERSION_FILE) ; \ + fi + diff --git a/linphone.spec b/linphone.spec index 7f67a3c..1e7eb06 100644 --- a/linphone.spec +++ b/linphone.spec @@ -20,13 +20,15 @@ Summary: Linphone Internet Phone Summary(pl.UTF-8): Linphone - telefon internetowy Name: linphone Version: 3.12.0 -Release: 5 +Release: 6 License: GPL v2+ Group: Applications/Communications Source0: http://linphone.org/releases/sources/linphone/%{name}-%{version}.tar.gz # Source0-md5: 8292dbaa0a5d0a448dcbbee125e947e4 Patch0: %{name}-sh.patch Patch1: build.patch +Patch2: %{name}-cxx-autotools.patch +Patch3: %{name}-no-rebuild.patch URL: http://www.linphone.org/ BuildRequires: autoconf >= 2.50 BuildRequires: automake >= 1:1.9 @@ -53,6 +55,8 @@ BuildRequires: ncurses-devel %{?with_system_ortp:BuildRequires: ortp-devel >= 0.24.0} BuildRequires: pkgconfig BuildRequires: polarssl-devel >= 1.3 +# to generate C++ wrappers +BuildRequires: python-pystache BuildRequires: readline-devel BuildRequires: rpmbuild(macros) >= 1.98 BuildRequires: speex-devel >= 1:1.1.6 @@ -182,10 +186,60 @@ Static version of Linphone libraries. %description static -l pl.UTF-8 Statyczne wersje bibliotek Linphone. +%package apidocs +Summary: API documentation for Linphone library +Summary(pl.UTF-8): Dokumentacja API biblioteki Linphone +Group: Documentation + +%description apidocs +API documentation for Linphone library. + +%description apidocs -l pl.UTF-8 +Dokumentacja API biblioteki Linphone. + +%package c++ +Summary: C++ wrapper for Linphone library +Summary(pl.UTF-8): Interfejs C++ do biblioteki Linphone +Group: Libraries +Requires: %{name}-libs = %{version}-%{release} + +%description c++ +C++ wrapper for Linphone library. + +%description c++ -l pl.UTF-8 +Interfejs C++ do biblioteki Linphone. + +%package c++-devel +Summary: Headers for liblinphone++ library +Summary(pl.UTF-8): Pliki nagłówkowe biblioteki liblinphone++ +Group: Development/Libraries +Requires: %{name}-c++ = %{version}-%{release} +Requires: %{name}-devel = %{version}-%{release} + +%description c++-devel +Headers for liblinphone++ library. + +%description c++-devel -l pl.UTF-8 +Pliki nagłówkowe biblioteki liblinphone++. + +%package c++-static +Summary: Static liblinphone++ library +Summary(pl.UTF-8): Statyczna biblioteka liblinphone++ +Group: Development/Libraries +Requires: %{name}-c++-devel = %{version}-%{release} + +%description c++-static +Static liblinphone++ library. + +%description c++-static -l pl.UTF-8 +Statyczna biblioteka liblinphone++. + %prep %setup -q %patch0 -p1 %patch1 -p1 +%patch2 -p1 +%patch3 -p1 [ ! -e gitversion.h ] && echo '#define LIBLINPHONE_GIT_VERSION "%{version}"' > coreapi/gitversion.h @@ -253,6 +307,10 @@ cd .. GITDESCRIBE=/bin/true \ GIT_TAG=%{version} +# disable installation of HTML docs (will be packaged as %doc) +%{__tar} --delete -f coreapi/help/doc/doxygen/html/html.tar --wildcards '*' +%{__tar} --delete -f coreapi/help/doc/doxygen/xml/xml.tar --wildcards '*' + %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT%{_desktopdir} \ @@ -261,7 +319,14 @@ install -d $RPM_BUILD_ROOT%{_desktopdir} \ %{__make} install \ GITDESCRIBE=/bin/true \ GIT_TAG=%{version} \ - DESTDIR=$RPM_BUILD_ROOT + DESTDIR=$RPM_BUILD_ROOT \ + tuto_DATA= + +# obsoleted by pkg-config +%{__rm} $RPM_BUILD_ROOT%{_libdir}/liblinphone*.la +%if %{without system_mediastreamer} || %{without system_ortp} +%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/*.la +%endif install pixmaps/%{name}.png $RPM_BUILD_ROOT%{_pixmapsdir} @@ -284,13 +349,16 @@ install pixmaps/%{name}.png $RPM_BUILD_ROOT%{_pixmapsdir} rm -rf $RPM_BUILD_ROOT %if %{without system_mediastreamer} || %{without system_ortp} -%post libs +%post libs /sbin/ldconfig %{_libdir}/%{name} %else -%post libs -p /sbin/ldconfig +%post libs -p /sbin/ldconfig %endif -%postun libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig + +%post c++ -p /sbin/ldconfig +%postun c++ -p /sbin/ldconfig %files -f %{name}.lang %defattr(644,root,root,755) @@ -351,8 +419,6 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/liblinphonetester.so %{_includedir}/linphone %{_pkgconfigdir}/linphone.pc -%{_libdir}/liblinphone.la -%{_libdir}/liblinphonetester.la %if %{without system_mediastreamer} || %{without system_ortp} %dir %{_libdir}/%{name}/include %dir %{_libdir}/%{name}/pkgconfig @@ -382,3 +448,24 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/%{name}/libortp.a %endif %endif + +%files apidocs +%defattr(644,root,root,755) +%doc coreapi/help/doc/doxygen/html/{*.css,*.html,*.js,*.png} + +%files c++ +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/liblinphone++.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/liblinphone++.so.9 + +%files c++-devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/liblinphone++.so +%{_includedir}/linphone++ +%{_pkgconfigdir}/linphone++.pc + +%if %{with static_libs} +%files c++-static +%defattr(644,root,root,755) +%{_libdir}/liblinphone++.a +%endif