%define major 4 %define libname %mklibname %{name} %{major} %define devname %mklibname %{name} -d %define ssh2 0 Summary: Gets a file from a FTP, GOPHER or HTTP server Name: curl Version: 7.60.0 Release: 1 Epoch: 1 License: BSD-like Group: Networking/Other Url: https://curl.haxx.se Source0: https://curl.haxx.se/download/%{name}-%{version}.tar.xz Source1: https://curl.haxx.se/download/%{name}-%{version}.tar.xz.asc Patch0: %{name}-7.59.0-multilib.patch Patch2: %{name}-7.59.0-debug.patch BuildRequires: groff BuildRequires: stunnel BuildRequires: openldap-devel BuildRequires: pkgconfig(krb5) BuildRequires: pkgconfig(libcares) #BuildRequires: pkgconfig(libidn) BuildRequires: pkgconfig(libidn2) %if 0%{?ssh2} BuildRequires: pkgconfig(libssh2) %else BuildRequires: pkgconfig(libssh) %endif BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(zlib) # TODO: Package and enable libpsl support Requires: %{libname} = %{EVRD} Provides: webfetch = %{EVRD} %description curl is a client to get documents/files from servers, using any of the supported protocols. The command is designed to work without user interaction or any kind of interactivity. It offers a busload of useful tricks like proxy support, user authentication, ftp upload, HTTP post, file transfer resume and more. This version is compiled with SSL (https) support. %files %doc COPYING %{_bindir}/%{name} %{_mandir}/man1/%{name}.1* #---------------------------------------------------------------------------- %package -n %{libname} Summary: A library of functions for file transfer Group: Networking/Other Requires: rootcerts >= 1:20070713.00 %description -n %{libname} libcurl is a library of functions for sending and receiving files through various protocols, including http and ftp. You should install this package if you plan to use any applications that use libcurl. %files -n %{libname} %doc COPYING %{_libdir}/libcurl.so.%{major}* #---------------------------------------------------------------------------- %package -n %{devname} Summary: Header files and static libraries for libcurl Group: Development/C Requires: %{libname} = %{EVRD} Provides: %{name}-devel = %{EVRD} %description -n %{devname} libcurl is a library of functions for sending and receiving files through various protocols, including http and ftp. You should install this package if you wish to develop applications that use libcurl. %files -n %{devname} %docdir docs/ %doc docs/BUGS docs/KNOWN_BUGS docs/FAQ CHANGES %doc docs/FEATURES docs/RESOURCES docs/TODO docs/THANKS %{_bindir}/%{name}-config %{multiarch_bindir}/%{name}-config %{_libdir}/libcurl.so %{_includedir}/%{name} %{_libdir}/pkgconfig/*.pc %{_datadir}/aclocal/*.m4 %{_mandir}/man1/%{name}-config.1* %{_mandir}/man3/* #---------------------------------------------------------------------------- %package examples Summary: Example files for %{name} development Group: Development/C Requires: %{name}-devel = %{EVRD} BuildArch: noarch %description examples Example files for %{name} development. %files examples %doc docs/examples #---------------------------------------------------------------------------- %prep %setup -q %apply_patches %build autoreconf -fiv %configure2_5x \ --disable-static \ --with-ssl \ --without-gnutls \ --with-zlib \ --with-lber-lib=lber \ --with-libidn2 \ %if 0%{?ssh2} --with-ssh2 \ %else --with-libssh \ %endif --with-random \ --enable-hidden-symbols \ --enable-optimize \ --enable-nonblocking \ --enable-thread \ --enable-crypto-auth \ --enable-libgcc \ --enable-ldaps \ --enable-ipv6 \ --with-ca-bundle=%{_sysconfdir}/pki/tls/certs/ca-bundle.crt \ --with-gssapi=%{_prefix} \ --enable-ares \ --without-libpsl %make # we don't want them in curl-examples: rm -r docs/examples/.deps ||: # disable tests that want to connect/run sshd, which is quite impossible #%%check # Some tests fail at random inside ABF (timeouts?), but work in local builds. # Let's make a test failure non-fatal for the moment. #make test TEST_Q='-a -p -v !SCP !SFTP !SOCKS4 !SOCKS5 !TFTP !198' || : %install %makeinstall_std # [july 2008] HACK. to be replaced by a real fix sed -i -e 's!-Wl,--as-needed!!' -e 's!-Wl,--no-undefined!!' %{buildroot}%{_bindir}/%{name}-config sed -i -e 's!-Wl,--as-needed!!' -e 's!-Wl,--no-undefined!!' %{buildroot}%{_libdir}/pkgconfig/*.pc %multiarch_binaries %{buildroot}%{_bindir}/%{name}-config # (tpg) use rootcerts's certificates #35917 find %{buildroot} -name ca-bundle.crt -exec rm -f '{}' \; # we don't package mk-ca-bundle so we don't need man for it rm -f %{buildroot}%{_mandir}/man1/mk-ca-bundle.1*