libmicrohttpd/libmicrohttpd.spec

185 lines
6.7 KiB
RPMSpec
Raw Normal View History

%define soname 10
Name: libmicrohttpd
Version: 0.9.8
Release: 1.0
License: GNU LGPL v2.1 or later
Group: Productivity/Networking/Web/Servers
Url: http://gnunet.org/libmicrohttpd/
Source: http://ftpmirror.gnu.org/libmicrohttpd/%{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: libcurl-devel
BuildRequires: libgcrypt-devel >= 1.2.4
BuildRequires: libtasn1-devel
%if 0%{?suse_version}
BuildRequires: libgnutls-devel
BuildRequires: pkg-config
%else
BuildRequires: gnutls-devel
BuildRequires: pkgconfig
%endif
Summary: Small Embeddable HTTP Server Library
%description
GNU libmicrohttpd is a small C library that is supposed to make it easy to run
an HTTP server as part of another application. GNU libmicrohttpd is free software
and part of the GNU project. Key features that distinguish libmicrohttpd from
other projects are:
* C library: fast and small
* API is simple, expressive and fully reentrant
* Implementation is http 1.1 compliant
* HTTP server can listen on multiple ports
* Support for IPv6
* Support for incremental processing of POST data
* Creates binary of only 30k (without TLS/SSL support)
* Three different threading models
* Supported platforms include GNU/Linux, FreeBSD, OpenBSD, NetBSD, OS X, W32,
Symbian and z/OS
* Optional support for SSL3 and TLS (requires libgcrypt)
libmicrohttpd was started because the author needed an easy way to add a concurrent
HTTP server to other projects. Existing alternatives were either non-free, not
reentrant, standalone, of terrible code quality or a combination thereof. Do not
use libmicrohttpd if you are looking for a standalone http server, there are many
other projects out there that provide that kind of functionality already. However,
if you want to be able to serve simple WWW pages from within your C or C++
application, check it out.
%package -n %{name}%{soname}
Group: System/Libraries
Summary: Small Embeddable HTTP Server Library
%description -n %{name}%{soname}
GNU libmicrohttpd is a small C library that is supposed to make it easy to run
an HTTP server as part of another application. GNU libmicrohttpd is free software
and part of the GNU project. Key features that distinguish libmicrohttpd from
other projects are:
* C library: fast and small
* API is simple, expressive and fully reentrant
* Implementation is http 1.1 compliant
* HTTP server can listen on multiple ports
* Support for IPv6
* Support for incremental processing of POST data
* Creates binary of only 30k (without TLS/SSL support)
* Three different threading models
* Supported platforms include GNU/Linux, FreeBSD, OpenBSD, NetBSD, OS X, W32,
Symbian and z/OS
* Optional support for SSL3 and TLS (requires libgcrypt)
libmicrohttpd was started because the author needed an easy way to add a concurrent
HTTP server to other projects. Existing alternatives were either non-free, not
reentrant, standalone, of terrible code quality or a combination thereof. Do not
use libmicrohttpd if you are looking for a standalone http server, there are many
other projects out there that provide that kind of functionality already. However,
if you want to be able to serve simple WWW pages from within your C or C++
application, check it out.
%package devel
Group: Development/Libraries/C and C++
Requires: %{name}%{soname} = %{version}
PreReq: info
Summary: Small Embeddable HTTP Server Library
%description devel
GNU libmicrohttpd is a small C library that is supposed to make it easy to run
an HTTP server as part of another application. GNU libmicrohttpd is free software
and part of the GNU project. Key features that distinguish libmicrohttpd from
other projects are:
* C library: fast and small
* API is simple, expressive and fully reentrant
* Implementation is http 1.1 compliant
* HTTP server can listen on multiple ports
* Support for IPv6
* Support for incremental processing of POST data
* Creates binary of only 30k (without TLS/SSL support)
* Three different threading models
* Supported platforms include GNU/Linux, FreeBSD, OpenBSD, NetBSD, OS X, W32,
Symbian and z/OS
* Optional support for SSL3 and TLS (requires libgcrypt)
libmicrohttpd was started because the author needed an easy way to add a concurrent
HTTP server to other projects. Existing alternatives were either non-free, not
reentrant, standalone, of terrible code quality or a combination thereof. Do not
use libmicrohttpd if you are looking for a standalone http server, there are many
other projects out there that provide that kind of functionality already. However,
if you want to be able to serve simple WWW pages from within your C or C++
application, check it out.
%prep
%setup -q
%build
%configure --disable-static \
--enable-curl \
--enable-client-side
%__make %{?_smp_mflags}
%install
%makeinstall
find %{buildroot} -name "*.la" -delete
# Some tests fail due to some issue in gnutls
#%check
#%__make %{?_smp_mflags} check
%post -n %{name}%{soname} -p /sbin/ldconfig
%post devel
%if 0%{?fedora_version}
/sbin/install-info --info-dir=%{_infodir} --info-file=%{_infodir}/microhttpd.info%{ext_info}
/sbin/install-info --info-dir=%{_infodir} --info-file=%{_infodir}/microhttpd-tutorial.info%{ext_info}
%endif
%if 0%{?mandriva_version}
%_install_info libmicrohttpd.info
%_install_info libmicrohttpd-tutorial.info
%endif
%if 0%{?suse_version}
%install_info --info-dir=%{_infodir} %{_infodir}/libmicrohttpd.info%{ext_info}
%install_info --info-dir=%{_infodir} %{_infodir}/libmicrohttpd-tutorial.info%{ext_info}
%endif
%postun -n %{name}%{soname} -p /sbin/ldconfig
%postun devel
%if 0%{?fedora_version}
/sbin/install-info --delete --info-dir=%{_infodir} --info-file=%{_infodir}/microhttpd.info%{ext_info}
/sbin/install-info --delete --info-dir=%{_infodir} --info-file=%{_infodir}/microhttpd-tutorial.info%{ext_info}
%endif
%if 0%{?mandriva_version}
%_remove_install_info libmicrohttpd.info
%_remove_install_info libmicrohttpd-tutorial.info
%endif
%if 0%{?suse_version}
%install_info_delete --info-dir=%{_infodir} %{_infodir}/libmicrohttpd.info%{ext_info}
%install_info_delete --info-dir=%{_infodir} %{_infodir}/libmicrohttpd-tutorial.info%{ext_info}
%endif
%files -n %{name}%{soname}
%defattr(-,root,root)
%{_libdir}/libmicrohttpd.so.%{soname}
%{_libdir}/libmicrohttpd.so.%{soname}.*
%files devel
%defattr(-,root,root)
%{_includedir}/microhttpd.h
%{_libdir}/libmicrohttpd.so
%{_libdir}/pkgconfig/libmicrohttpd.pc
%{_infodir}/microhttpd.info*
%{_infodir}/microhttpd-tutorial.info*
%{_mandir}/man3/libmicrohttpd.3*
# Do NOT delete this cause I need it for Fedora & Mandriva too!
%if 0%{?fedora_version}
%exclude %{_infodir}/dir
%endif