Merge branch 'daemon-ext'
[libi2ncommon] / libi2ncommon.spec
index c1228d6..0614121 100644 (file)
+%bcond_with Intra2net
+%bcond_with xmllib
+%bcond_with imap_utf7_support
+
+# Detect Intra2net build environment
+%if %{with Intra2net}
+    %define with_xmllib 1
+    %define with_imap_utf7_support 1
+%endif
+
+%if %{with xmllib}
+    %define with_xmllib 1
+%endif
+%if %{with imap_utf7_support}
+    %define with_imap_utf7_support 1
+%endif
+
 Summary:   library with functions common in Intra2net programs
 Name:      libi2ncommon
-Version:   ##VERSION##
+Version:   2.11
 Release:   1
-Copyright: Intranator License
-Group:     Intranator
+License:   GPLv2 + linking exception
+Group:     Development/Libraries
 Vendor:    Intra2net AG
-Source:    %{name}-%{version}.tar.gz
-Buildroot: /tmp/%{name}-%{version}-root
-Prefix:    /usr/intranator
-Requires:  libgettext
-BuildPrereq: libtool
+Source:    %{name}-%{version}.tar.bz2
+BuildRequires: boost-devel >= 1.32.0
+BuildRequires: libtool openssl-devel
+
+%if "%{with_imap_utf7_support}" == "1"
+BuildRequires: libiconv
+%endif
 
 %description 
 library with functions common in Intra2net programs
 
 %package   devel
 Summary:   library with functions common in Intra2net programs
-Group:     Intranator/Development
-Requires:  libi2ncommon = %{version} libgettext
+Group:     Intra2net/Development
+Requires:  libi2ncommon = %{version}
+Requires: boost-devel >= 1.32.0
+
 
 %description devel
 library with functions common in Intra2net programs
 
+
+%package config
+Summary:    library with a config module
+Group:      Intra2net
+Requires:   libi2ncommon = %{version}
+
+%description config
+library with a config module.
+The config module provides a global configuration system with decentralized
+declaration of the config variables.
+
+%if "%{with xmllib}" == "1"
+%package xml
+Summary:    library with a xml module
+Group:      Intra2net
+Requires:   libi2ncommon = %{version}
+BuildRequires: libxml++-devel
+
+%description xml
+The xml module provides common xml functions.
+%endif
+
+%package utils
+Summary:    library with open source utility modules
+Group:      Intra2net
+License:    GPL version 2 + linking exception
+
+%description utils
+Library with open source utility modules.
+
 %prep
 %setup -q
 
 %build
-export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/intranator/lib/pkgconfig
-cp -f /usr/share/libtool/ltmain.sh .
-autoreconf --force
-./configure --prefix=%{prefix}
-dmake
+mkdir build
+cd build
 
-dmake check
+export CFLAGS="$RPM_OPT_FLAGS"
+export CXXFLAGS="$RPM_OPT_FLAGS"
+
+CMAKE_OPTS=""
+%if "%{with_xmllib}" == "1"
+    CMAKE_OPTS="$CMAKE_OPTS -DBUILD_XMLLIB=ON"
+%endif
+%if "%{with_imap_utf7_support}" == "1"
+    CMAKE_OPTS="$CMAKE_OPTS -DIMAP_UTF7_SUPPORT=ON"
+%endif
+
+cmake -DCMAKE_INSTALL_PREFIX="%{_prefix}" $CMAKE_OPTS ../
+
+make %{?_smp_mflags} VERBOSE=1
+
+%check
+cd build
+make check
 
 %install
+
+cd build
 make DESTDIR=$RPM_BUILD_ROOT install
 
 %clean
 rm -fr $RPM_BUILD_ROOT
 
-%post
-/sbin/ldconfig
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
 
 %files
 %defattr(-,root,root)
-%doc LICENSE
-%{prefix}/lib/libi2ncommon.so*
+%doc COPYING.GPL Linking-Exception.txt
+%{_libdir}/libi2ncommon.so*
 
 %files devel
 %defattr(-,root,root)
-%{prefix}/lib/*.*a*
-%{prefix}/lib/pkgconfig/*.pc
-%{prefix}/include/
+%{_libdir}/*.*a*
+%{_libdir}/libi2ncommon.so
+%{_libdir}/pkgconfig/*.pc
+%{_includedir}/libi2ncommon/*
+
+%files config
+%defattr(-,root,root)
+%doc COPYING.GPL Linking-Exception.txt
+%{_libdir}/libi2ncommon_config.so*
+
+%if "%{with xmllib}" == "1"
+%files xml
+%defattr(-,root,root)
+%doc COPYING.GPL Linking-Exception.txt
+%{_libdir}/libi2ncommon_xml.so*
+%endif
+
+%files utils
+%defattr(-,root,root)
+%doc COPYING.GPL Linking-Exception.txt
+%{_libdir}/libi2ncommon_utils.so*