[packages/log4cplus] - added qt4,qt5,python interfaces

qboosh qboosh at pld-linux.org
Tue Mar 8 22:20:57 CET 2016


commit 4fa5e7f4785c26600c4694d40bfd568261c048ee
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Tue Mar 8 22:24:42 2016 +0100

    - added qt4,qt5,python interfaces

 log4cplus.spec | 261 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 248 insertions(+), 13 deletions(-)
---
diff --git a/log4cplus.spec b/log4cplus.spec
index 7b78255..1d2ec1d 100644
--- a/log4cplus.spec
+++ b/log4cplus.spec
@@ -1,12 +1,27 @@
+#
+# Conditional build:
+%bcond_without	python		# Python/SWIG bindings
+%bcond_without	qt4		# liblog4cplusqt4debugappender library
+%bcond_without	qt5		# liblog4cplusqt5debugappender library
+%bcond_without	static_libs	# static libraries
+
 Summary:	Logging Framework for C++
+Summary(pl.UTF-8):	Szkielet logowania dla C++
 Name:		log4cplus
 Version:	1.2.0
 Release:	1
-License:	ASL 2.0
-URL:		http://sourceforge.net/projects/log4cplus
+License:	BSD or Apache v2.0
+Group:		Libraries
 Source0:	http://downloads.sourceforge.net/log4cplus/%{name}-%{version}.tar.xz
 # Source0-md5:	efbfc0e55e3878f28f064fea5f967786
-Group:		Libraries
+URL:		http://sourceforge.net/projects/log4cplus/
+%{?with_qt4:BuildRequires:	QtCore-devel >= 4.0.0}
+%{?with_qt5:BuildRequires:	Qt5Core-devel >= 5.0.0}
+BuildRequires:	libstdc++-devel
+BuildRequires:	pkgconfig
+%{?with_python:BuildRequires:	python-devel >= 1:2.3}
+%{?with_python:BuildRequires:	rpmbuild(macros) >= 1.219}
+%{?with_python:BuildRequires:	swig-python >= 2.0.0}
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -14,20 +29,137 @@ log4cplus is a simple to use C++ logging API providing thread-safe,
 flexible, and arbitrarily granular control over log management and
 configuration. It is modeled after the Java log4j API.
 
+%description -l pl.UTF-8
+log4cplus to proste w użyciu API C++ do logowania, pozwalające na
+elastyczne, bezpieczne wątkowo zarządzanie i konfigurowanie logowania
+z dowolną kontrolą szczegółowości. Powstało w oparciu o API Javy
+log4j.
+
 %package devel
 Summary:	Development files for log4cplus C++ logging framework
+Summary(pl.UTF-8):	Pliki programistyczne szkieletu C++ do logowania log4cplus
 Group:		Development/Libraries
 Requires:	%{name} = %{version}-%{release}
+Requires:	libstdc++-devel
 
 %description devel
-This package contains headers and libraries needed to develop
-applications using log4cplus logging framework.
+This package contains the header files needed to develop applications
+using log4cplus logging framework.
+
+%description devel -l pl.UTF-8
+Ten pakiet zawiera pliki nagłówkowe potrzebne do tworzenia aplikacji
+wykorzystujących szkielet logowania log4cplus.
+
+%package static
+Summary:	Static log4cplus library
+Summary(pl.UTF-8):	Statyczna biblioteka log4cplus
+Group:		Development/Libraries
+Requires:	%{name}-devel = %{version}-%{release}
+
+%description static
+Static log4cplus library.
+
+%description static -l pl.UTF-8
+Statyczna biblioteka log4cplus.
+
+%package qt4
+Summary:	Qt4 interface to log4cplus
+Summary(pl.UTF-8):	Interfejs Qt4 do log4cplus
+Group:		Libraries
+Requires:	%{name} = %{version}-%{release}
+
+%description qt4
+Qt4 interface to log4cplus.
+
+%description qt4 -l pl.UTF-8
+Interfejs Qt4 do log4cplus.
+
+%package qt4-devel
+Summary:	Header file for log4cplusqt4debugappender library
+Summary(pl.UTF-8):	Plik nagłówkowy do biblioteki log4cplusqt4debugappender
+Group:		Development/Libraries
+Requires:	%{name}-devel = %{version}-%{release}
+Requires:	%{name}-qt4 = %{version}-%{release}
+Requires:	QtCore-devel >= 4.0.0
+
+%description qt4-devel
+Header file for log4cplusqt4debugappender library.
+
+%description qt4-devel -l pl.UTF-8
+Plik nagłówkowy do biblioteki log4cplusqt4debugappender.
+
+%package qt4-static
+Summary:	Static log4cplusqt4debugappender library
+Summary(pl.UTF-8):	Biblioteka statyczna log4cplusqt4debugappender
+Group:		Development/Libraries
+Requires:	%{name}-qt4-devel = %{version}-%{release}
+
+%description qt4-static
+Static log4cplusqt4debugappender library.
+
+%description qt4-static -l pl.UTF-8
+Biblioteka statyczna log4cplusqt4debugappender.
+
+%package qt5
+Summary:	Qt5 interface to log4cplus
+Summary(pl.UTF-8):	Interfejs Qt5 do log4cplus
+Group:		Libraries
+Requires:	%{name} = %{version}-%{release}
+
+%description qt5
+Qt5 interface to log4cplus.
+
+%description qt5 -l pl.UTF-8
+Interfejs Qt5 do log4cplus.
+
+%package qt5-devel
+Summary:	Header file for log4cplusqt5debugappender library
+Summary(pl.UTF-8):	Plik nagłówkowy do biblioteki log4cplusqt5debugappender
+Group:		Development/Libraries
+Requires:	%{name}-devel = %{version}-%{release}
+Requires:	%{name}-qt5 = %{version}-%{release}
+Requires:	Qt5Core-devel >= 5.0.0
+
+%description qt5-devel
+Header file for log4cplusqt5debugappender library.
+
+%description qt5-devel -l pl.UTF-8
+Plik nagłówkowy do biblioteki log4cplusqt5debugappender.
+
+%package qt5-static
+Summary:	Static log4cplusqt5debugappender library
+Summary(pl.UTF-8):	Biblioteka statyczna log4cplusqt5debugappender
+Group:		Development/Libraries
+Requires:	%{name}-qt5-devel = %{version}-%{release}
+
+%description qt5-static
+Static log4cplusqt5debugappender library.
+
+%description qt5-static -l pl.UTF-8
+Biblioteka statyczna log4cplusqt5debugappender.
+
+%package -n python-log4cplus
+Summary:	Python/SWIG bindings for log4cplus library
+Summary(pl.UTF-8):	Wiązania Pythona/SWIG do biblioteki log4cplus
+Group:		Libraries/Python
+Requires:	%{name} = %{version}-%{release}
+
+%description -n python-log4cplus
+Python/SWIG bindings for log4cplus library.
+
+%description -n python-log4cplus -l pl.UTF-8
+Wiązania Pythona/SWIG do biblioteki log4cplus.
 
 %prep
 %setup -q
 
 %build
-%configure
+# note: qt5 requires PIC code (see /usr/include/qt5/QtCore/qglobal.h)
+%configure \
+	%{?with_static_libs:--enable-static --with-pic} \
+	%{?with_python:--with-python} \
+	%{?with_qt4:--with-qt} \
+	%{?with_qt5:--with-qt5}
 %{__make}
 
 %install
@@ -36,22 +168,125 @@ rm -rf $RPM_BUILD_ROOT
 %{__make} install \
 	DESTDIR=$RPM_BUILD_ROOT
 
-rm -f $RPM_BUILD_ROOT/%{_libdir}/liblog4cplus.{a,la}
+# non-Linux
+%{__rm} $RPM_BUILD_ROOT%{_includedir}/log4cplus/nteventlogappender.h \
+	$RPM_BUILD_ROOT%{_includedir}/log4cplus/win32*.h \
+	$RPM_BUILD_ROOT%{_includedir}/log4cplus/config/{macosx,win32,windowsh-inc}.h \
+	$RPM_BUILD_ROOT%{_includedir}/log4cplus/internal/cygwin-win32.h \
+	$RPM_BUILD_ROOT%{_includedir}/log4cplus/thread/impl/syncprims-win32.h
+
+# missing from make install
+[ ! -f $RPM_BUILD_ROOT%{_includedir}/log4cplus/qt5debugappender.h ]
+cp -p include/log4cplus/qt5debugappender.h $RPM_BUILD_ROOT%{_includedir}/log4cplus
 
-%post -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/liblog4cplus*.la
+
+%if %{with python}
+%py_postclean
+%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/log4cplus/_log4cplus.la
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%post	-p /sbin/ldconfig
+%postun	-p /sbin/ldconfig
+
+%post	qt4 -p /sbin/ldconfig
+%postun	qt4 -p /sbin/ldconfig
+
+%post	qt5 -p /sbin/ldconfig
+%postun	qt5 -p /sbin/ldconfig
+
 %files
 %defattr(644,root,root,755)
-%doc LICENSE README.md ChangeLog
-%attr(755,root,root) %{_libdir}/liblog4cplus-*.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/liblog4cplus-*.so.5
+%doc AUTHORS ChangeLog LICENSE NEWS README.md TODO
+%attr(755,root,root) %{_libdir}/liblog4cplus-1.2.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/liblog4cplus-1.2.so.5
 
 %files devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/liblog4cplus.so
-%{_includedir}/log4cplus
+%dir %{_includedir}/log4cplus
+%{_includedir}/log4cplus/appender.h
+%{_includedir}/log4cplus/asyncappender.h
+%{_includedir}/log4cplus/clogger.h
+%{_includedir}/log4cplus/config.hxx
+%{_includedir}/log4cplus/configurator.h
+%{_includedir}/log4cplus/consoleappender.h
+%{_includedir}/log4cplus/fileappender.h
+%{_includedir}/log4cplus/fstreams.h
+%{_includedir}/log4cplus/hierarchy*.h
+%{_includedir}/log4cplus/layout.h
+%{_includedir}/log4cplus/log4judpappender.h
+%{_includedir}/log4cplus/logger.h
+%{_includedir}/log4cplus/loggingmacros.h
+%{_includedir}/log4cplus/loglevel.h
+%{_includedir}/log4cplus/mdc.h
+%{_includedir}/log4cplus/ndc.h
+%{_includedir}/log4cplus/nullappender.h
+%{_includedir}/log4cplus/socketappender.h
+%{_includedir}/log4cplus/streams.h
+%{_includedir}/log4cplus/syslogappender.h
+%{_includedir}/log4cplus/tchar.h
+%{_includedir}/log4cplus/tracelogger.h
+%{_includedir}/log4cplus/tstring.h
+%{_includedir}/log4cplus/version.h
+%{_includedir}/log4cplus/boost
+%{_includedir}/log4cplus/config
+%{_includedir}/log4cplus/helpers
+%{_includedir}/log4cplus/internal
+%{_includedir}/log4cplus/spi
+%{_includedir}/log4cplus/thread
 %{_pkgconfigdir}/log4cplus.pc
+
+%if %{with static_libs}
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/liblog4cplus.a
+%endif
+
+%if %{with qt4}
+%files qt4
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/liblog4cplusqt4debugappender-1.2.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/liblog4cplusqt4debugappender-1.2.so.5
+
+%files qt4-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/liblog4cplusqt4debugappender.so
+%{_includedir}/log4cplus/qt4debugappender.h
+
+%if %{with static_libs}
+%files qt4-static
+%defattr(644,root,root,755)
+%{_libdir}/liblog4cplusqt4debugappender.a
+%endif
+%endif
+
+%if %{with qt5}
+%files qt5
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/liblog4cplusqt5debugappender-1.2.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/liblog4cplusqt5debugappender-1.2.so.5
+
+%files qt5-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/liblog4cplusqt5debugappender.so
+%{_includedir}/log4cplus/qt5debugappender.h
+
+%if %{with static_libs}
+%files qt5-static
+%defattr(644,root,root,755)
+%{_libdir}/liblog4cplusqt5debugappender.a
+%endif
+%endif
+
+%if %{with python}
+%files -n python-log4cplus
+%defattr(644,root,root,755)
+%dir %{py_sitedir}/log4cplus
+%attr(755,root,root) %{py_sitedir}/log4cplus/_log4cplus.so
+%dir %{py_sitescriptdir}/log4cplus
+%{py_sitescriptdir}/log4cplus/log4cplus.py[co]
+%endif
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/log4cplus.git/commitdiff/4fa5e7f4785c26600c4694d40bfd568261c048ee



More information about the pld-cvs-commit mailing list