#
# Conditional build:
-%bcond_without ssl # without SSL support
-%bcond_without heimdal # without HEIMDAL support
-#
+%bcond_without ssh # SSH support
+%bcond_without ssl # SSL support
+%bcond_with gnutls # GnuTLS instead of OpenSSL
+%bcond_without kerberos5 # Heimdal Kerberos 5 support
+%bcond_without ldap # LDAP support
+%bcond_without http2 # HTTP/2.0 support (nghttp2 based)
+%bcond_without metalink # metalink support
+%if "%{pld_release}" != "ac"
+%bcond_without ares # c-ares (asynchronous DNS operations) library support
+%bcond_without rtmp # Real Time Media Protocol support
+%else
+%bcond_with ares # c-ares (asynchronous DNS operations) library support
+%bcond_with rtmp # Real Time Media Protocol support
+%endif
+
Summary: A utility for getting files from remote servers (FTP, HTTP, and others)
-Summary(es): Un cliente para bajar archivos de servidores (FTP, HTTP, y otros)
-Summary(pl): Narzêdzie do ¶ci±gania plików z serwerów (FTP, HTTP i innych)
-Summary(pt_BR): Busca URL (suporta FTP, TELNET, LDAP, GOPHER, DICT, HTTP e HTTPS)
-Summary(ru): õÔÉÌÉÔÁ ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÆÁÊÌÏ× Ó ÓÅÒ×ÅÒÏ× FTP, HTTP É ÄÒÕÇÉÈ
-Summary(uk): õÔÉ̦ÔÁ ÄÌÑ ÏÔÒÉÍÁÎÎÑ ÆÁÊÌ¦× Ú ÓÅÒ×ÅÒ¦× FTP, HTTP ÔÁ ¦ÎÛÉÈ
+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(pt_BR.UTF-8): Busca URL (suporta FTP, TELNET, LDAP, GOPHER, DICT, HTTP e HTTPS)
+Summary(ru.UTF-8): Утилита для получения файлов с серверов FTP, HTTP и других
+Summary(uk.UTF-8): Утиліта для отримання файлів з серверів FTP, HTTP та інших
Name: curl
-Version: 7.15.3
+Version: 7.66.0
Release: 1
License: MIT-like
Group: Applications/Networking
-Source0: http://curl.haxx.se/download/%{name}-%{version}.tar.bz2
-# Source0-md5: d71b2ee8febfde2c7dc30a43638ec0d9
-Patch0: %{name}-no_strip.patch
-Patch1: %{name}-ac.patch
-Patch2: %{name}-heimdal.patch
+Source0: https://curl.haxx.se/download/%{name}-%{version}.tar.xz
+# Source0-md5: 1c19620f5ac46aebe949d18c9bfc1c28
+Patch0: %{name}-ac.patch
+Patch1: %{name}-krb5flags.patch
URL: http://curl.haxx.se/
BuildRequires: autoconf >= 2.57
BuildRequires: automake
-%{?with_heimdal:BuildRequires: heimdal-devel >= 0.7}
-BuildRequires: libidn-devel >= 0.4.1
+%{?with_ares:BuildRequires: c-ares-devel >= 1.7.0}
+%{?with_kerberos5:BuildRequires: heimdal-devel}
+BuildRequires: libbrotli-devel >= 1.0.0
+BuildRequires: libidn2-devel
+%{?with_metalink:BuildRequires: libmetalink-devel >= 0.1.0}
+BuildRequires: libpsl-devel
+%{?with_rtmp:BuildRequires: librtmp-devel}
+%{?with_ssh:BuildRequires: libssh2-devel >= 1.2.8}
BuildRequires: libtool
-%{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d}
+BuildRequires: nettle-devel
+%{?with_http2:BuildRequires: nghttp2-devel >= 1.9.0}
+%{?with_ldap:BuildRequires: openldap-devel}
+BuildRequires: pkgconfig
+BuildRequires: rpm >= 4.4.9-56
+BuildRequires: rpmbuild(macros) >= 1.527
+%if %{with ssl}
+%if %{with gnutls}
+BuildRequires: gnutls-devel
+%else
+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
-Requires: openssl-tools >= 0.9.7d
Obsoletes: libcurl2
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
offers many useful capabilities, like proxy support, user
authentication, FTP upload, HTTP post, and file transfer resume.
-%description -l pl
-cURL jest narzêdziem do ¶ci±gania plików o sk³adni URL. Obs³uguje FTP,
-HTTP, HTTPS, GOPHER, TELNET, DICT, FILE i LDAP. cURL obs³uguje równie¿
-HTTP POST, HTTP PUT, za³adowywanie (uploading) FTP, za³adowywanie HTTP
+%description -l pl.UTF-8
+cURL jest narzędziem do ściągania plików o składni URL. Obsługuje FTP,
+HTTP, HTTPS, GOPHER, TELNET, DICT, FILE i LDAP. cURL obsługuje również
+HTTP POST, HTTP PUT, załadowywanie (uploading) FTP, załadowywanie HTTP
oparte na formularzu, serwery proksy, ciasteczka, autoryzacja
-u¿ytkownik/has³o oraz wiele innych u¿ytecznych sztuczek. Curla u¿ywa
-siê g³ównie wtedy, kiedy chce siê automatycznie ¶ci±gn±æ lub wys³aæ
-pliki z/na serwer u¿ywaj±c jednego z dostêpnych protoko³ów.
-%{?with_ssl:Ten pakiet obs³uguje tak¿e SSL.}
+użytkownik/hasło oraz wiele innych użytecznych sztuczek. Curla używa
+się głównie wtedy, kiedy chce się automatycznie ściągnąć lub wysłać
+pliki z/na serwer używając jednego z dostępnych protokołów.
+%{?with_ssl:Ten pakiet obsługuje także SSL.}
-%description -l pt_BR
-Curl é um cliente para baixar/enviar arquivos de/para servidores
-usando um dos protocolos suportados. É projetado para funcionar sem a
-interação do usuário.
+%description -l pt_BR.UTF-8
+Curl é um cliente para baixar/enviar arquivos de/para servidores
+usando um dos protocolos suportados. É projetado para funcionar sem a
+interação do usuário.
-Curl trabalha com proxy, autenticação, FTP put, HTTP post, e pode
-continuar transferências interrompidas, e mais...
+Curl trabalha com proxy, autenticação, FTP put, HTTP post, e pode
+continuar transferências interrompidas, e mais...
-%description -l ru
-curl - ÜÔÏ ËÌÉÅÎÔ Ó ÍÎÏÖÅÓÔ×ÏÍ ÐÏÄÄÅÒÖÉ×ÁÅÍÙÈ ÐÒÏÔÏËÏÌÏ× ÄÌÑ ÐÏÌÕÞÅÎÉÑ
-ÆÁÊÌÏ× Ó ÓÅÒ×ÅÒÏ×, ÓÐÒÏÅËÔÉÒÏ×ÁÎÎÙÊ ÄÌÑ ÒÁÂÏÔÙ ËÁË × ÎÅÉÎÔÅÒÁËÔÉ×ÎÏÍ
-ÒÅÖÉÍÅ, ÔÁË É Ó ×ÏÚÍÏÖÎÏÓÔØÀ ÄÉÁÌÏÇÁ Ó ÐÏÌØÚÏ×ÁÔÅÌÅÍ.
+%description -l ru.UTF-8
+curl - это клиент с множеством поддерживаемых протоколов для получения
+файлов с серверов, спроектированный для работы как в неинтерактивном
+режиме, так и с возможностью диалога с пользователем.
-curl ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÎÏÇÏ ÐÏÌÅÚÎÙÈ ×ÏÚÍÏÖÎÏÓÔÅÊ, ÓÒÅÄÉ ËÏÔÏÒÙÈ ÐÏÄÄÅÒÖËÁ
-ÐÒÏËÓÉ, Á×ÔÏÒÉÚÁÃÉÑ ÐÏÌØÚÏ×ÁÔÅÌÑ, ÚÁËÁÞÉ×ÁÎÉÅ ÐÏ FTP, ÐÏÄÄÅÒÖËÁ HTTP
-POST, ×ÏÓÓÔÁÎÏ×ÌÅÎÉÅ ÐÒÅÒ×ÁÎÎÏÊ ÐÅÒÅÓÙÌËÉ É ÍÎÏÇÏÅ ÄÒÕÇÏÅ.
+curl поддеÑ\80живаеÑ\82 много полезнÑ\8bÑ\85 возможноÑ\81Ñ\82ей, Ñ\81Ñ\80еди коÑ\82оÑ\80Ñ\8bÑ\85 поддеÑ\80жка
+пÑ\80окÑ\81и, авÑ\82оÑ\80изаÑ\86иÑ\8f полÑ\8cзоваÑ\82елÑ\8f, закаÑ\87ивание по FTP, поддеÑ\80жка HTTP
+POST, восстановление прерванной пересылки и многое другое.
-curl - ÃÅ Ë̦¤ÎÔ Ú ÂÁÇÁÔØÍÁ ЦÄÔÒÉÍÕ×ÁÎÉÍÉ ÐÒÏÔÏËÏÌÁÍÉ ÄÌÑ ÏÔÒÉÍÁÎÎÑ
-ÆÁÊÌ¦× Ú ÓÅÒ×ÅÒ¦×, ÓÐÒÏÅËÔÏ×ÁÎÉÊ ÄÌÑ ÒÏÂÏÔÉ ÑË × ÎŦÎÔÅÒÁËÔÉ×ÎÏÍÕ
-ÒÅÖÉͦ, ÔÁË ¦ Ú ÍÏÖÌÉצÓÔÀ ĦÁÌÏÇÕ Ú ËÏÒÉÓÔÕ×ÁÞÅÍ.
+curl - це кл╕╓нт з багатьма п╕дтримуваними протоколами для отримання
+файл╕в з сервер╕в, спроектований для роботи як в не╕нтерактивному
+режим╕, так ╕ з можлив╕стю д╕алогу з користувачем.
-curl ЦÄÔÒÉÍÕ¤ ÂÁÇÁÔÏ ËÏÒÉÓÎÉÈ ÍÏÖÌÉ×ÏÓÔÅÊ, ÓÅÒÅÄ ÑËÉÈ Ð¦ÄÔÒÉÍËÁ
-ÐÒÏËÓ¦, Á×ÔÏÒÉÚÁÃ¦Ñ ËÏÒÉÓÔÕ×ÁÞÁ, צÄ×ÁÎÔÁÖÅÎÎÑ ÐÏ FTP, HTTP POST,
-צÄÎÏ×ÌÅÎÎÑ ÐÅÒÅÒ×ÁÎϧ ÐÅÒÅÓÉÌËÉ ÔÁ ÂÁÇÁÔÏ ¦ÎÛÏÇÏ.
+curl пâ\95\95дÑ\82Ñ\80имÑ\83â\95\93 багаÑ\82о коÑ\80иÑ\81ниÑ\85 можливоÑ\81Ñ\82ей, Ñ\81еÑ\80ед Ñ\8fкиÑ\85 пâ\95\95дÑ\82Ñ\80имка
+пÑ\80окÑ\81â\95\95, авÑ\82оÑ\80изаÑ\86â\95\95Ñ\8f коÑ\80иÑ\81Ñ\82Ñ\83ваÑ\87а, вâ\95\95дванÑ\82аженнÑ\8f по FTP, HTTP POST,
+в╕дновлення перервано╖ пересилки та багато ╕ншого.
%package libs
Summary: curl library
-Summary(pl): Biblioteka curl
+Summary(pl.UTF-8): Biblioteka curl
Group: Libraries
+%{?with_ares:Requires: c-ares >= 1.7.0}
+%{?with_ssh:Requires: libssh2 >= 1.2.8}
+%{?with_http2:Requires: nghttp2-libs >= 1.9.0}
+%if %{with ssl} && %{without gnutls}
+Requires: openssl >= 1.0.1
+%endif
+Suggests: ca-certificates
+Conflicts: ca-certificates < 20080809-4
%description libs
curl library.
-%description libs -l pl
+%description libs -l pl.UTF-8
Biblioteka curl.
%package devel
Summary: Header files and development documentation for curl library
-Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki curl
-Summary(pt_BR): Arquivos de cabeçalho e bibliotecas de desenvolvimento
-Summary(ru): æÁÊÌÙ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÂÉÂÌÉÏÔÅËÉ curl
-Summary(uk): æÁÊÌÉ ÄÌÑ ÒÏÚÒÏÂËÉ Ú ×ÉËÏÒÉÓÔÁÎÎÑÍ Â¦Â̦ÏÔÅËÉ curl
+Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja do biblioteki curl
+Summary(pt_BR.UTF-8): Arquivos de cabeçalho e bibliotecas de desenvolvimento
+Summary(ru.UTF-8): Файлы для разработки с использованием библиотеки curl
+Summary(uk.UTF-8): Файли для розробки з використанням бібліотеки curl
Group: Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
-%{?with_heimdal:Requires: heimdal-devel}
-Requires: libidn-devel >= 0.4.1
-%{?with_ssl:Requires: openssl-devel >= 0.9.7c}
+%{?with_ares:Requires: c-ares-devel}
+%{?with_kerberos5:Requires: heimdal-devel}
+Requires: libbrotli-devel >= 1.0.0
+Requires: libidn2-devel
+Requires: libpsl-devel
+%{?with_rtmp:Requires: librtmp-devel}
+%{?with_ssh:Requires: libssh2-devel >= 1.2.8}
+%{?with_http2:Requires: nghttp2-devel >= 1.9.0}
+%{?with_ldap:Requires: openldap-devel}
+%if %{with ssl}
+%if %{with gnutls}
+Requires: gnutls-devel
+%else
+Requires: openssl-devel >= 0.9.7c
+%endif
+%endif
+Requires: zlib-devel
Obsoletes: libcurl2-devel
%description devel
Header files and development documentation for curl library.
-%description devel -l pl
-Pliki nag³ówkowe i dokumentacja do biblioteki curl.
+%description devel -l pl.UTF-8
+Pliki nagłówkowe i dokumentacja do biblioteki curl.
-%description devel -l pt_BR
-Arquivos de cabeçalho e bibliotecas de desenvolvimento.
+%description devel -l pt_BR.UTF-8
+Arquivos de cabeçalho e bibliotecas de desenvolvimento.
-%description devel -l ru
-üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÆÁÊÌÙ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ÐÒÏÇÒÁÍÍ Ó
-ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÂÉÂÌÉÏÔÅËÉ curl.
+%description devel -l ru.UTF-8
+Этот пакет содержит файлы, необходимые для разработки программ с
+использованием библиотеки curl.
-%description devel -l uk
-ãÅÊ ÐÁËÅÔ Í¦ÓÔÉÔØ ÆÁÊÌÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ Ú
-×ÉËÏÒÉÓÔÁÎÎÑÍ Â¦Â̦ÏÔÅËÉ curl.
+%description devel -l uk.UTF-8
+Цей пакет містить файли, необхідні для розробки програм з
+використанням бібліотеки curl.
%package static
Summary: Static version of curl library
-Summary(pl): Statyczna wersja biblioteki curl
-Summary(pt_BR): Bibliotecas estáticas para desenvolvimento com o curl
-Summary(ru): óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÂÉÂÌÉÏÔÅËÉ curl
-Summary(uk): óÔÁÔÉÞΦ ¦Â̦ÏÔÅËÉ ÄÌÑ ÒÏÚÒÏÂËÉ Ú ×ÉËÏÒÉÓÔÁÎÎÑÍ Â¦Â̦ÏÔÅËÉ curl
+Summary(pl.UTF-8): Statyczna wersja biblioteki curl
+Summary(pt_BR.UTF-8): Bibliotecas estáticas para desenvolvimento com o curl
+Summary(ru.UTF-8): Статические библиотеки для разработки с использованием библиотеки curl
+Summary(uk.UTF-8): Статичні бібліотеки для розробки з використанням бібліотеки curl
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
%description static
Static version of curl library.
-%description static -l pl
+%description static -l pl.UTF-8
Statyczna wersja biblioteki curl.
-%description static -l pt_BR
-Bibliotecas estáticas para desenvolvimento com o curl.
+%description static -l pt_BR.UTF-8
+Bibliotecas estáticas para desenvolvimento com o curl.
+
+%description static -l ru.UTF-8
+Этот пакет содержит статическую библиотеку для разработки программ с
+использованием библиотеки curl.
+
+%description static -l uk.UTF-8
+Цей пакет містить статичну бібліотеку для розробки програм з
+використанням бібліотеки curl.
+
+%package -n fish-completion-%{name}
+Summary: Fish completion for curl command
+Summary(pl.UTF-8): Dopełnianie parametrów w fish dla polecenia curl
+Group: Applications/Shells
+Requires: %{name} = %{version}-%{release}
+Requires: fish
-%description static -l ru
-üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÓÔÁÔÉÞÅÓËÕÀ ÂÉÂÌÉÏÔÅËÕ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ÐÒÏÇÒÁÍÍ Ó
-ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÂÉÂÌÉÏÔÅËÉ curl.
+%description -n fish-completion-%{name}
+Fish completion for curl command.
-%description static -l uk
-ãÅÊ ÐÁËÅÔ Í¦ÓÔÉÔØ ÓÔÁÔÉÞÎÕ Â¦Â̦ÏÔÅËÕ ÄÌÑ ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ Ú
-×ÉËÏÒÉÓÔÁÎÎÑÍ Â¦Â̦ÏÔÅËÉ curl.
+%description -n fish-completion-%{name} -l pl.UTF-8
+Dopełnianie parametrów w fish dla polecenia curl.
+
+%package -n zsh-completion-curl
+Summary: ZSH completion for curl command
+Summary(pl.UTF-8): Dopełnianianie parametrów w ZSH dla polecenia curl
+Group: Applications/Shells
+Requires: %{name} = %{version}-%{release}
+Requires: zsh
+
+%description -n zsh-completion-curl
+ZSH completion for curl command.
+
+%description -n zsh-completion-curl -l pl.UTF-8
+Dopełnianianie parametrów w ZSH dla polecenia curl.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
-%{?with_heimdal:%patch2 -p0}
+
+%{__rm} m4/lt*.m4 m4/libtool.m4
%build
%{__libtoolize}
-%{__aclocal}
+%{__aclocal} -I m4
%{__autoconf}
%{__autoheader}
%{__automake}
%configure \
- %{?with_ssl:--with-ssl=%{_prefix}} \
- %{?with_ssl:--with-ca-bundle=/usr/share/ssl/ca-bundle.crt} \
- %{?with_heimdal:--with-gssapi=%{_prefix}} \
- --with-ipv6
+ ac_cv_header_gss_h=no \
+ %{__enable_disable ares} \
+ --enable-ipv6 \
+ %{__enable_disable ldap} \
+ %{__enable_disable ldap ldaps} \
+ --disable-silent-rules \
+%if %{with ssl}
+ --with-ca-bundle=/etc/certs/ca-certificates.crt \
+%if %{with gnutls}
+ --with-gnutls --without-ssl \
+%else
+ --with-ssl=%{_prefix} \
+%endif
+%else
+ --without-ssl --without-gnutls \
+%endif
+ --with-fish-functions-dir=%{fish_compdir} \
+ %{__with_without kerberos5 gssapi %{_prefix}} \
+ %{__with_without metalink libmetalink} \
+ %{__with_without rtmp librtmp} \
+ %{__with_without http2 nghttp2} \
+ %{__with_without ssh libssh2}
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
+%{__make} -C scripts 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
%files
%defattr(644,root,root,755)
-%doc CHANGES COPYING README docs/{BUGS,FAQ,FEATURES,HISTORY,KNOWN_BUGS,MANUAL,SSLCERTS,THANKS,TODO,TheArtOfHttpScripting}
+%doc CHANGES COPYING README docs/{BUGS,FAQ,FEATURES,HISTORY.md,KNOWN_BUGS,SSLCERTS.md,THANKS,TODO,TheArtOfHttpScripting}
%attr(755,root,root) %{_bindir}/curl
%{_mandir}/man1/curl.1*
%files libs
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libcurl.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libcurl.so.4
%files devel
%defattr(644,root,root,755)
-%doc docs/{CONTRIBUTE,INTERNALS,LICENSE-MIXING,RESOURCES}
+%doc docs/{CONTRIBUTE.md,INTERNALS.md,LICENSE-MIXING.md,RESOURCES}
%attr(755,root,root) %{_bindir}/curl-config
%attr(755,root,root) %{_libdir}/libcurl.so
%{_libdir}/libcurl.la
%{_includedir}/curl
%{_pkgconfigdir}/libcurl.pc
+%{_aclocaldir}/libcurl.m4
%{_mandir}/man1/curl-config.1*
-%{_mandir}/man3/*curl*.3*
+%{_mandir}/man3/curl_*.3*
+%{_mandir}/man3/libcurl*.3*
+%{_mandir}/man3/CURLINFO_*.3*
+%{_mandir}/man3/CURLOPT_*.3*
+%{_mandir}/man3/CURLMOPT_*.3*
%files static
%defattr(644,root,root,755)
%{_libdir}/libcurl.a
+
+%files -n fish-completion-%{name}
+%defattr(644,root,root,755)
+%{fish_compdir}/%{name}.fish
+
+%files -n zsh-completion-curl
+%defattr(644,root,root,755)
+%{_datadir}/zsh/site-functions/_curl