1 %define __strip %{_mingw32_strip}
2 %define __objdump %{_mingw32_objdump}
3 %define _use_internal_dependency_generator 0
4 %define __find_requires %{_mingw32_findrequires}
5 %define __find_provides %{_mingw32_findprovides}
10 Summary: MinGW Windows port of curl and libcurl
13 Group: Development/Libraries
14 URL: http://curl.haxx.se/
15 Source0: http://curl.haxx.se/download/curl-%{version}.tar.bz2
16 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
20 # Patches from native Fedora package.
21 Patch1: curl-7.15.3-multilib.patch
22 Patch2: curl-7.16.0-privlibs.patch
23 Patch3: curl-7.17.1-badsocket.patch
24 Patch4: curl-7.18.2-nssproxy.patch
25 Patch5: curl-7.18.2-nss-thread-safety.patch
27 # MinGW-specific patches.
28 Patch1000: mingw-curl-7.18.2-getaddrinfo.patch
30 BuildRequires: mingw32-filesystem >= 35
31 BuildRequires: mingw32-gcc
32 BuildRequires: mingw32-binutils
33 BuildRequires: pkgconfig
34 BuildRequires: mingw32-gettext
35 BuildRequires: mingw32-iconv
36 BuildRequires: mingw32-zlib
37 BuildRequires: mingw32-libidn
38 BuildRequires: mingw32-libssh2
40 # See nss/README for the status of this package.
41 #BuildRequires: mingw32-nss
42 # Temporarily we can use OpenSSL instead of NSS:
43 BuildRequires: mingw32-openssl
45 # Not started porting this package yet.
46 #BuildRequires: mingw32-openldap
48 # Not started porting this package yet.
49 #BuildRequires: mingw32-krb5
53 cURL is a tool for getting files from HTTP, FTP, FILE, LDAP, LDAPS,
54 DICT, TELNET and TFTP servers, using any of the supported protocols.
55 cURL is designed to work without user interaction or any kind of
56 interactivity. cURL offers many useful capabilities, like proxy
57 support, user authentication, FTP upload, HTTP post, and file transfer
60 This is the MinGW cross-compiled Windows library.
64 %setup -q -n curl-%{version}
66 %patch1 -p1 -b .multilib
67 %patch2 -p1 -b .privlibs
68 %patch3 -p1 -b .badsocket
69 %patch4 -p1 -b .nssproxy
70 %patch5 -p1 -b .nssthreadsafety
72 %patch1000 -p1 -b .getaddrinfo
76 %{_mingw32_configure} \
77 --with-ssl --enable-ipv6 \
78 --with-ca-bundle=%{_mingw32_sysconfdir}/pki/tls/certs/ca-bundle.crt \
80 --disable-static --with-libssh2 \
83 # --without-random disables random number collection (eg. from
84 # /dev/urandom). There isn't an obvious alternative for Windows:
85 # Perhaps we can port EGD or use a library such as Yarrow.
87 # These are the original flags that we'll work towards as
88 # more of the dependencies get ported to Fedora MinGW.
90 # --without-ssl --with-nss=%{_mingw32_prefix} --enable-ipv6
91 # --with-ca-bundle=%{_mingw32_sysconfdir}/pki/tls/certs/ca-bundle.crt
92 # --with-gssapi=%{_mingw32_prefix}/kerberos --with-libidn
93 # --enable-ldaps --disable-static --with-libssh2
99 rm -rf $RPM_BUILD_ROOT
100 make DESTDIR=$RPM_BUILD_ROOT install
102 # Remove the man pages which duplicate documentation in the
103 # native Fedora package.
104 rm -r $RPM_BUILD_ROOT%{_mingw32_mandir}/man{1,3}
108 rm -rf $RPM_BUILD_ROOT
112 %defattr(-,root,root)
113 %{_mingw32_bindir}/curl-config
114 %{_mingw32_bindir}/curl.exe
115 %{_mingw32_bindir}/libcurl-4.dll
116 %{_mingw32_libdir}/libcurl.dll.a
117 %{_mingw32_libdir}/libcurl.la
118 %{_mingw32_libdir}/pkgconfig/libcurl.pc
119 %{_mingw32_includedir}/curl/
123 * Thu Nov 13 2008 Richard W.M. Jones <rjones@redhat.com> - 7.18.2-2
124 - Requires mingw32-filesystem >= 35.
126 * Thu Nov 13 2008 Richard W.M. Jones <rjones@redhat.com> - 7.18.2-1
127 - Initial RPM release.