curl/curl.spec
2018-05-27 00:55:41 +03:00

169 lines
4.5 KiB
RPMSpec

%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*