Blob Blame History Raw
Name:           libmaxminddb
Summary:        C library for the MaxMind DB file format
Version:        1.1.1
Release:        5%{?dist}
URL:            https://maxmind.github.io/libmaxminddb
Source0:        https://github.com/maxmind/%{name}/releases/download/%{version}/%{name}-%{version}.tar.gz

# Add pkg-config from the upcomming release:
# https://github.com/maxmind/libmaxminddb/commit/9b788d0492e6149d01a1088ca15c85315a8113d0
Source1:        libmaxminddb.pc.in

# original libmaxminddb code is Apache Licence 2.0
# src/maxminddb-compat-util.h is BSD
License:        ASL 2.0 and BSD

# unit tests are failing on el6 ppc64
ExcludeArch:    ppc64

%description
The package contains libmaxminddb library.

%package devel
Requires:       %{name}%{?_isa} = %{version}-%{release}
Requires:       pkgconfig
Summary:        Development header files for libmaxminddb

%description devel
The package contains development header files for the libmaxminddb library
and the mmdblookup utility which allows IP address lookup in a MaxMind DB file.

%prep
%setup -q

%build
%configure --disable-static
# remove embeded RPATH
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
# link only requried libraries
sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool
make %{?_smp_mflags}
# generate pkg-config file
sed -e 's;@prefix@;%{_prefix};g' \
    -e 's;@libdir@;%{_libdir};g' \
    -e 's;@includedir@;%{_includedir};g' \
    -e 's;@PACKAGE_VERSION@;%{version};g' \
    %{SOURCE1} > %{name}.pc

%check
# tests are linked dynamically, preload the library as we have removed RPATH
LD_PRELOAD=%{buildroot}%{_libdir}/libmaxminddb.so make check

%install
%make_install
rm -fv %{buildroot}%{_libdir}/*.la
# install generated pkg-config
mkdir -p %{buildroot}%{_libdir}/pkgconfig
install -m 0644 %{name}.pc %{buildroot}%{_libdir}/pkgconfig/

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%files
%doc LICENSE
%{_libdir}/libmaxminddb.so.*

%files devel
%doc NOTICE
%doc Changes.md
%{_bindir}/mmdblookup
%{_includedir}/maxminddb.h
%{_includedir}/maxminddb_config.h
%{_libdir}/libmaxminddb.so
%{_libdir}/pkgconfig/libmaxminddb.pc
%{_mandir}/man1/*
%{_mandir}/man3/*

%changelog
* Tue Sep 15 2015 Jan Vcelak <jvcelak@fedoraproject.org> 1.1.1-5
- add pkg-config file from the upcoming upstream version

* Mon Sep 14 2015 Jan Vcelak <jvcelak@fedoraproject.org> 1.1.1-4
- remove utils subpackage and place mmdblookup into devel subpackage
- remove Group from the spec file
- move NOTICE and Changes.md to devel subpackage

* Thu Sep 03 2015 Jan Vcelak <jvcelak@fedoraproject.org> 1.1.1-3
- updated package licence
- added --as-needed linker flag

* Tue Sep 01 2015 Jan Vcelak <jvcelak@fedoraproject.org> 1.1.1-1
- initial version of the package