Merge branch 'daemon-ext'
[libi2ncommon] / libi2ncommon.spec
index 634783f..0614121 100644 (file)
@@ -1,25 +1,42 @@
+%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
-License:   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 libi2ncommon-utils = %{version}
-BuildPrereq: libtool
-BuildRequires: boost-devel >= 1.32.0 libgettext
+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
 
 
@@ -29,7 +46,7 @@ library with functions common in Intra2net programs
 
 %package config
 Summary:    library with a config module
-Group:      Intranator
+Group:      Intra2net
 Requires:   libi2ncommon = %{version}
 
 %description config
@@ -37,17 +54,20 @@ 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:      Intranator
+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:      Intranator
+Group:      Intra2net
 License:    GPL version 2 + linking exception
 
 %description utils
@@ -57,44 +77,65 @@ Library with open source utility modules.
 %setup -q
 
 %build
-export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/intranator/lib/pkgconfig
-autoreconf --force --install
-./configure $RPM_BUILD_WITH_OPTIMIZE --prefix=%{prefix}
-dmake
+mkdir build
+cd build
+
+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 ../
 
-dmake check
+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 COPYING.GPL
-%{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 LICENSE
-%{prefix}/lib/libi2ncommon_config.so*
+%doc COPYING.GPL Linking-Exception.txt
+%{_libdir}/libi2ncommon_config.so*
 
+%if "%{with xmllib}" == "1"
 %files xml
 %defattr(-,root,root)
-%doc LICENSE
-%{prefix}/lib/libi2ncommon_xml.so*
+%doc COPYING.GPL Linking-Exception.txt
+%{_libdir}/libi2ncommon_xml.so*
+%endif
 
 %files utils
 %defattr(-,root,root)
-%doc LICENSE COPYING.GPL
-%{prefix}/lib/libi2ncommon_utils.so*
+%doc COPYING.GPL Linking-Exception.txt
+%{_libdir}/libi2ncommon_utils.so*