2c9a00527cbfa0f0622b8421ef3ffaf25b1bec26
[fedora-mingw.git] / curl / mingw32-curl.spec
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}
6
7 Name:           mingw32-curl
8 Version:        7.18.2
9 Release:        6%{?dist}
10 Summary:        MinGW Windows port of curl and libcurl
11
12 License:        MIT
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)
17
18 BuildArch:      noarch
19
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
26
27 # MinGW-specific patches.
28 Patch1000:      mingw-curl-7.18.2-getaddrinfo.patch
29
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
39
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
44
45 # Not started porting this package yet.
46 #BuildRequires:  mingw32-openldap
47
48 # Not started porting this package yet.
49 #BuildRequires:  mingw32-krb5
50
51 Requires:       pkgconfig
52
53
54 %description
55 cURL is a tool for getting files from HTTP, FTP, FILE, LDAP, LDAPS,
56 DICT, TELNET and TFTP servers, using any of the supported protocols.
57 cURL is designed to work without user interaction or any kind of
58 interactivity. cURL offers many useful capabilities, like proxy
59 support, user authentication, FTP upload, HTTP post, and file transfer
60 resume.
61
62 This is the MinGW cross-compiled Windows library.
63
64
65 %prep
66 %setup -q -n curl-%{version}
67
68 %patch1 -p1 -b .multilib
69 %patch2 -p1 -b .privlibs
70 %patch3 -p1 -b .badsocket
71 %patch4 -p1 -b .nssproxy
72 %patch5 -p1 -b .nssthreadsafety
73
74 %patch1000 -p1 -b .getaddrinfo
75
76
77 %build
78 %{_mingw32_configure} \
79   --with-ssl --enable-ipv6 \
80   --with-ca-bundle=%{_mingw32_sysconfdir}/pki/tls/certs/ca-bundle.crt \
81   --with-libidn \
82   --disable-static --with-libssh2 \
83   --without-random
84
85 # It's not clear where to set the --with-ca-bundle path.  This is the
86 # default for CURLOPT_CAINFO.  If this doesn't exist, you'll get an
87 # error from all https transfers unless the program sets
88 # CURLOPT_CAINFO to point to the correct ca-bundle.crt file.
89
90 # --without-random disables random number collection (eg. from
91 # /dev/urandom).  There isn't an obvious alternative for Windows:
92 # Perhaps we can port EGD or use a library such as Yarrow.
93
94 # These are the original flags that we'll work towards as
95 # more of the dependencies get ported to Fedora MinGW.
96 #
97 #  --without-ssl --with-nss=%{_mingw32_prefix} --enable-ipv6
98 #  --with-ca-bundle=%{_mingw32_sysconfdir}/pki/tls/certs/ca-bundle.crt
99 #  --with-gssapi=%{_mingw32_prefix}/kerberos --with-libidn
100 #  --enable-ldaps --disable-static --with-libssh2
101
102 make %{?_smp_mflags}
103
104
105 %install
106 rm -rf $RPM_BUILD_ROOT
107 make DESTDIR=$RPM_BUILD_ROOT install
108
109 # Remove the man pages which duplicate documentation in the
110 # native Fedora package.
111 rm -r $RPM_BUILD_ROOT%{_mingw32_mandir}/man{1,3}
112
113
114 %clean
115 rm -rf $RPM_BUILD_ROOT
116
117
118 %files
119 %defattr(-,root,root)
120 %doc COPYING
121 %{_mingw32_bindir}/curl-config
122 %{_mingw32_bindir}/curl.exe
123 %{_mingw32_bindir}/libcurl-4.dll
124 %{_mingw32_libdir}/libcurl.dll.a
125 %{_mingw32_libdir}/libcurl.la
126 %{_mingw32_libdir}/pkgconfig/libcurl.pc
127 %{_mingw32_includedir}/curl/
128
129
130 %changelog
131 * Fri Feb 20 2009 Richard W.M. Jones <rjones@redhat.com> - 7.18.2-6
132 - Rebuild for mingw32-gcc 4.4
133
134 * Fri Feb  6 2009 Richard W.M. Jones <rjones@redhat.com> - 7.18.2-5
135 - Include license.
136
137 * Fri Feb  6 2009 Richard W.M. Jones <rjones@redhat.com> - 7.18.2-4
138 - Rebuild against new OpenSSH (because of soname bump).
139
140 * Fri Jan 30 2009 Richard W.M. Jones <rjones@redhat.com> - 7.18.2-3
141 - Requires pkgconfig.
142
143 * Thu Nov 13 2008 Richard W.M. Jones <rjones@redhat.com> - 7.18.2-2
144 - Requires mingw32-filesystem >= 35.
145
146 * Thu Nov 13 2008 Richard W.M. Jones <rjones@redhat.com> - 7.18.2-1
147 - Initial RPM release.