#
# Conditional build:
-%bcond_with ares # with c-ares (asynchronous DNS operations) library (disables IPv6)
%bcond_without ssh # without SSH support
%bcond_without ssl # without SSL support
+%bcond_without kerberos5 # without Heimdal Kerberos 5 support
+%bcond_without ldap # without LDAP support
+%bcond_with http2 # without HTTP/2.0 support (nghttp2 based)
+%bcond_without metalink # without metalink support
+%if "%{pld_release}" != "ac"
+%bcond_without ares # with c-ares (asynchronous DNS operations) library
%bcond_with gnutls # use GnuTLS instead of OpenSSL
-%bcond_without kerberos5 # without MIT Kerberos 5 support
-#
+%bcond_without rtmp # without Real Time Media Protocol
+%else
+%bcond_with ares # with c-ares (asynchronous DNS operations) library
+%bcond_with gnutls # use GnuTLS instead of OpenSSL
+%bcond_with rtmp # without Real Time Media Protocol
+%endif
+
Summary: A utility for getting files from remote servers (FTP, HTTP, and others)
Summary(es.UTF-8): Un cliente para bajar archivos de servidores (FTP, HTTP, y otros)
Summary(pl.UTF-8): Narzędzie do ściągania plików z serwerów (FTP, HTTP i innych)
Summary(ru.UTF-8): Утилита для получения файлов с серверов FTP, HTTP и других
Summary(uk.UTF-8): Утиліта для отримання файлів з серверів FTP, HTTP та інших
Name: curl
-Version: 7.18.2
+Version: 7.35.0
Release: 1
License: MIT-like
Group: Applications/Networking
-Source0: http://curl.haxx.se/download/%{name}-%{version}.tar.bz2
-# Source0-md5: c389be5b0525276e58865956b7465562
-Patch0: %{name}-no_strip.patch
-Patch1: %{name}-ac.patch
-Patch2: %{name}-pc.patch
+Source0: http://curl.haxx.se/download/%{name}-%{version}.tar.lzma
+# Source0-md5: ad7d63864414c61246450dc5e2248c7b
+Patch0: %{name}-ac.patch
+Patch1: %{name}-krb5flags.patch
+# make the curl tool link SSL libraries also used by src/tool_metalink.c
+Patch2: metalink.patch
URL: http://curl.haxx.se/
BuildRequires: autoconf >= 2.57
BuildRequires: automake
-%{?with_ares:BuildRequires: c-ares-devel}
-%{?with_kerberos5:BuildRequires: krb5-devel}
+%{?with_ares:BuildRequires: c-ares-devel >= 1.7.0}
+%{?with_kerberos5:BuildRequires: heimdal-devel}
+%{?with_http2:BuildRequires: nghttp2-devel}
BuildRequires: libidn-devel >= 0.4.1
-%{?with_ssh:BuildRequires: libssh2-devel >= 0.16}
+%{?with_metalink:BuildRequires: libmetalink-devel}
+%{?with_rtmp:BuildRequires: librtmp-devel}
+%{?with_ssh:BuildRequires: libssh2-devel >= 1.2.8}
BuildRequires: libtool
-BuildRequires: openldap-devel
+BuildRequires: nettle-devel
+%{?with_ldap:BuildRequires: openldap-devel}
+BuildRequires: pkgconfig
+BuildRequires: rpm >= 4.4.9-56
+BuildRequires: rpmbuild(macros) >= 1.453
%if %{with ssl}
%if %{with gnutls}
BuildRequires: gnutls-devel
%else
-BuildRequires: openssl-devel >= 0.9.7d
+BuildRequires: openssl-devel >= 1.0.1
%endif
%endif
+BuildRequires: tar >= 1:1.22
BuildRequires: zlib-devel
Requires: %{name}-libs = %{version}-%{release}
Requires: libidn >= 0.4.1
-%{?with_ssh:Requires: libssh2 >= 0.16}
-Requires: openssl-tools >= 0.9.7d
Obsoletes: libcurl2
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Summary: curl library
Summary(pl.UTF-8): Biblioteka curl
Group: Libraries
+%{?with_ares:Requires: c-ares >= 1.7.0}
+%{?with_ssh:Requires: libssh2 >= 1.2.8}
+%if %{with ssl} && %{without gnutls}
+Requires: openssl >= 1.0.1
+%endif
+Suggests: ca-certificates
+Conflicts: ca-certificates < 20080809-4
%description libs
curl library.
Group: Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
%{?with_ares:Requires: c-ares-devel}
-%{?with_kerberos5:Requires: krb5-devel}
+%{?with_kerberos5:Requires: heimdal-devel}
Requires: libidn-devel >= 0.4.1
-%{?with_ssh:Requires: libssh2-devel >= 0.16}
+%{?with_rtmp:Requires: librtmp-devel}
+%{?with_ssh:Requires: libssh2-devel >= 1.2.8}
+%{?with_ldap:Requires: openldap-devel}
%if %{with ssl}
%if %{with gnutls}
Requires: gnutls-devel
%setup -q
%patch0 -p1
%patch1 -p1
-%patch2 -p1
+
+%{__rm} -v m4/lt*.m4 m4/libtool.m4
%build
%{__libtoolize}
-%{__aclocal}
+%{__aclocal} -I m4
%{__autoconf}
%{__autoheader}
%{__automake}
%configure \
ac_cv_header_gss_h=no \
%if %{with ssl}
- --with-ca-bundle=/usr/share/ssl/ca-bundle.crt \
+ --with-ca-bundle=/etc/certs/ca-certificates.crt \
%if %{with gnutls}
- --with-gnutls=%{_prefix} --without-ssl \
+ --with-gnutls --without-ssl \
%else
--with-ssl=%{_prefix} \
%endif
%endif
%{?with_kerberos5:--with-gssapi=%{_prefix}} \
- %{?with_ares:--enable-ares=%{_prefix}} \
- --%{?with_ares:dis}%{!?with_ares:en}able-ipv6
+ %{?with_metalink:--with-libmetalink} \
+ %{?with_rtmp:--with-librtmp} \
+ %{?with_http2:--with-nghttp2} \
+ %{?with_ares:--enable-ares} \
+ --enable-ipv6 \
+ %{!?with_ldap:--disable-ldap}%{?with_ldap:--enable-ldaps}
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
+# no longer in upstream but a lot of apps tries to include it so we create fake one
+[ -e $RPM_BUILD_ROOT%{_includedir}/curl/types.h ] && exit 1
+echo '#warning curl/types.h IS OBSOLETE FROM 2004. STOP USING IT' > $RPM_BUILD_ROOT%{_includedir}/curl/types.h
+
%clean
rm -rf $RPM_BUILD_ROOT
%{_libdir}/libcurl.la
%{_includedir}/curl
%{_pkgconfigdir}/libcurl.pc
+%{_aclocaldir}/libcurl.m4
%{_mandir}/man1/curl-config.1*
%{_mandir}/man3/curl_*.3*
%{_mandir}/man3/libcurl*.3*