ding-libs/ding-libs.spec

307 lines
8.2 KiB
RPMSpec

%global path_utils_version 0.2.1
%global dhash_version 0.4.2
%global collection_version 0.6.0
%global ref_array_version 0.1.1
%global ini_config_version 0.6.1
Name: ding-libs
Version: 0.1.2
Release: 0
Summary: "Ding is not GLib" assorted utility libraries
Group: Development/Libraries/C and C++
License: LGPLv3+
URL: http://fedorahosted.org/sssd/
Source0: %{name}-%{version}.tar.bz2
Patch0: doxygen-notimestamp.dif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
### Dependencies ###
# ding-libs is a meta-package that will pull in all of its own
# sub-packages
Requires: libpath_utils1 = %{path_utils_version}
Requires: libdhash1 = %{dhash_version}
Requires: libcollection2 = %{collection_version}
Requires: libref_array1 = %{ref_array_version}
Requires: libini_config2 = %{ini_config_version}
### Build Dependencies ###
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
BuildRequires: m4
BuildRequires: doxygen
BuildRequires: pkg-config
%description
A meta-package that pulls in libcollection, libdhash, libini_config,
librefarray and libpath_utils.
%package devel
Summary: Development packages for ding-libs
Group: Development/Libraries/C and C++
License: LGPLv3+
# ding-libs is a meta-package that will pull in all of its own
# sub-packages
Requires: libpath_utils-devel = %{path_utils_version}
Requires: libdhash-devel = %{dhash_version}
Requires: libcollection-devel = %{collection_version}
Requires: libref_array-devel = %{ref_array_version}
Requires: libini_config-devel = %{ini_config_version}
%description devel
A meta-package that pulls in development libraries for libcollection,
libdhash, libini_config, librefarray and libpath_utils.
##############################################################################
# Path Utils
##############################################################################
%package -n libpath_utils1
Summary: Filesystem Path Utilities
Group: Development/Libraries/C and C++
License: LGPLv3+
Version: %{path_utils_version}
%description -n libpath_utils1
Utility functions to manipulate filesystem pathnames
%package -n libpath_utils-devel
Summary: Development files for libpath_utils
Group: Development/Libraries/C and C++
Requires: libpath_utils1 = %{path_utils_version}
License: LGPLv3+
Version: %{path_utils_version}
%description -n libpath_utils-devel
Utility functions to manipulate filesystem pathnames
%post -n libpath_utils1 -p /sbin/ldconfig
%postun -n libpath_utils1 -p /sbin/ldconfig
%files -n libpath_utils1
%defattr(-,root,root,-)
%{_libdir}/libpath_utils.so.1
%{_libdir}/libpath_utils.so.1.0.0
%files -n libpath_utils-devel
%defattr(-,root,root,-)
%doc COPYING COPYING.LESSER
%{_includedir}/path_utils.h
%{_libdir}/libpath_utils.so
%{_libdir}/pkgconfig/path_utils.pc
%doc path_utils/README.path_utils
%doc path_utils/doc/html/
##############################################################################
# dhash
##############################################################################
%package -n libdhash1
Group: Development/Libraries/C and C++
Summary: Dynamic hash table
License: LGPLv3+
Version: %{dhash_version}
%description -n libdhash1
A hash table which will dynamically resize to achieve optimal storage & access
time properties
%package -n libdhash-devel
Summary: Development files for libdhash
Group: Development/Libraries/C and C++
Requires: libdhash1 = %{dhash_version}
License: LGPLv3+
Version: %{dhash_version}
%description -n libdhash-devel
A hash table which will dynamically resize to achieve optimal storage & access
time properties
%post -n libdhash1 -p /sbin/ldconfig
%postun -n libdhash1 -p /sbin/ldconfig
%files -n libdhash1
%defattr(-,root,root,-)
%{_libdir}/libdhash.so.1
%{_libdir}/libdhash.so.1.0.0
%files -n libdhash-devel
%defattr(-,root,root,-)
%doc COPYING COPYING.LESSER
%{_includedir}/dhash.h
%{_libdir}/libdhash.so
%{_libdir}/pkgconfig/dhash.pc
%doc dhash/README.dhash
%doc dhash/examples/
##############################################################################
# collection
##############################################################################
%package -n libcollection2
Summary: Collection data-type for C
Group: Development/Libraries/C and C++
License: LGPLv3+
Version: %{collection_version}
%description -n libcollection2
A data-type to collect data in a hierarchical structure for easy iteration
and serialization
%package -n libcollection-devel
Summary: Development files for libcollection
Group: Development/Libraries/C and C++
License: LGPLv3+
Requires: libcollection2 = %{collection_version}
Version: %{collection_version}
%description -n libcollection-devel
A data-type to collect data in a hierarchical structure for easy iteration
and serialization
%post -n libcollection2 -p /sbin/ldconfig
%postun -n libcollection2 -p /sbin/ldconfig
%files -n libcollection2
%defattr(-,root,root,-)
%{_libdir}/libcollection.so.2
%{_libdir}/libcollection.so.2.0.0
%files -n libcollection-devel
%defattr(-,root,root,-)
%doc COPYING COPYING.LESSER
%{_includedir}/collection.h
%{_includedir}/collection_tools.h
%{_includedir}/collection_queue.h
%{_includedir}/collection_stack.h
%{_libdir}/libcollection.so
%{_libdir}/pkgconfig/collection.pc
%doc collection/doc/html/
##############################################################################
# ref_array
##############################################################################
%package -n libref_array1
Summary: A refcounted array for C
Group: Development/Libraries/C and C++
License: LGPLv3+
Version: %{ref_array_version}
%description -n libref_array1
A dynamically-growing, reference-counted array
%package -n libref_array-devel
Summary: Development files for libref_array
Group: Development/Libraries/C and C++
Requires: libref_array1 = %{ref_array_version}
License: LGPLv3+
Version: %{ref_array_version}
%description -n libref_array-devel
A dynamically-growing, reference-counted array
%post -n libref_array1 -p /sbin/ldconfig
%postun -n libref_array1 -p /sbin/ldconfig
%files -n libref_array1
%defattr(-,root,root,-)
%{_libdir}/libref_array.so.1
%{_libdir}/libref_array.so.1.0.0
%files -n libref_array-devel
%defattr(-,root,root,-)
%doc COPYING COPYING.LESSER
%{_includedir}/ref_array.h
%{_libdir}/libref_array.so
%{_libdir}/pkgconfig/ref_array.pc
%doc refarray/README.ref_array
%doc refarray/doc/html/
##############################################################################
# ini_config
##############################################################################
%package -n libini_config2
Summary: INI file parser for C
Group: Development/Libraries/C and C++
License: LGPLv3+
Version: %{ini_config_version}
%description -n libini_config2
Library to process config files in INI format into a libcollection data
structure
%package -n libini_config-devel
Summary: Development files for libini_config
Group: Development/Libraries/C and C++
License: LGPLv3+
Requires: libini_config2 = %{ini_config_version}
Version: %{ini_config_version}
%description -n libini_config-devel
Library to process config files in INI format into a libcollection data
structure
%post -n libini_config2 -p /sbin/ldconfig
%postun -n libini_config2 -p /sbin/ldconfig
%files -n libini_config2
%defattr(-,root,root,-)
%{_libdir}/libini_config.so.2
%{_libdir}/libini_config.so.2.0.0
%files -n libini_config-devel
%defattr(-,root,root,-)
%doc COPYING COPYING.LESSER
%{_includedir}/ini_config.h
%{_libdir}/libini_config.so
%{_libdir}/pkgconfig/ini_config.pc
%doc ini/doc/html/
##############################################################################
# Build steps
##############################################################################
%prep
%setup -q
%patch0 -p1
%build
%configure \
--disable-static
make %{?jobs:-j%jobs} all docs
%check
make %{?_smp_mflags} check
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
# Remove .la files created by libtool
rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
# Remove the example files from the output directory
# We will copy them directly from the source directory
# for packaging
rm -f \
$RPM_BUILD_ROOT/usr/share/doc/ding-libs/README.* \
$RPM_BUILD_ROOT/usr/share/doc/ding-libs/examples/dhash_example.c \
$RPM_BUILD_ROOT/usr/share/doc/ding-libs/examples/dhash_test.c
# Remove document install script. RPM is handling this
rm -f */doc/html/installdox
%clean
rm -rf $RPM_BUILD_ROOT