Curl is a tool for transferring files with URL syntax, supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. Curl supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, kerberos, HTTP form based upload, proxies, cookies, user+password authentication, file transfer resume, http proxy tunneling and a busload of other useful tricks. See /usr/doc/curl-$(VERSION)/FEATURES for more info. Dependencies: - Cygwin - OpenSSL 0.9.6b-2+ (*) (*) cURL can be built without SSL support, see below for details Canonical Homepage and Downloads: http://curl.haxx.se/ http://curl.haxx.se/download.html Cygwin specific source files (a .README template and a Makefile for building binary tarballs) are maintained in the upstream CVS at: /packages/Win32/cygwin/ Build Instructions (to recompile from the cygwin source tarball): ---STANDARD (with SSL) RELEASE--- Download the source (either the official release or the cygwin version), unpack it (done for you if using setup.exe), then: $ ./configure --prefix=/usr --mandir=/usr/share/man # (*) $ make $ make test # optional $ make install # (**) (*) The Cygwin project now (as of sometime in 2003) prefers man pages within /usr/share/man, as opposed to the default /usr/man. (**) LibTool 1.4.2 had a bug related to cygwin's use of ".exe" extensions, such that "make install" blew up at curl.exe. See this URL for details: http://mail.gnu.org/pipermail/libtool/2001-September/005549.html The copy of ltmain.sh that is distributed with cURL includes this patch. As of curl 7.9.1, the official source compiles (under Cygwin) and tests 100% cleanly OOTB (Out Of The Box) ---NO SSL RELEASE--- Same as standard, except for the configure step, which changes to: $ ./configure --prefix=/usr --mandir=/usr/share/man --without-ssl NOTE: the standard release is what is available via Cygwin's setup.exe; the no-ssl release is only available from the curl website Packaging Instructions: ---BINARY--- Compile cleanly as described above, then: $ make cygwinbin CYGBUILD=n where n is the cygwin release number (e.g. the "1" in curl-7.9-1), and "CYGBUILD=n" is optional (n defaults to 1 if not specified) Assuming everything worked, you'll find your binary tarballs in $(buildtop)/packages/Win32/cygwin/ ---SOURCE--- 1. download & unpack the pristine source 2. rename the source dir to add the "-$(REL)" suffix, e.g.: $ mv curl-7.9 curl-7.9-1 3. unpack the pristine source once more, so you'll end up with 2 directories: "curl-7.9" and "curl-7.9-1" in this example 3. add a CYGWIN-PATCHES directory, and add this readme to it $ cd curl-7.9-1; mkdir CYGWIN-PATCHES $ cp packages/Win32/cygwin/README CYGWIN-PATCHES/curl-7.9-1.README 4. if applicable, document any changes in the README file 5. create a patch which, when applied (using `patch -p1 < curl-7.9-$(REL).patch`) will remove any changes you've made to the pristine source: $ cd .. $ diff -Nrup curl-7.9-1 curl-7.9 > curl-7.9-1.patch and then move it into the CYGWIN-PATCHES directory $ mv curl-7.9-1.patch curl-7.9-1/CYGWIN-PATCHES 6. pack the new source dir into a tar.bz2 file: $ tar cfj curl-7.9-1-src.tar.bz2 curl-7.9-1 ---SETUP.HINT--- @ curl sdesc: "a client that groks URLs" ldesc: "Curl is a tool for transferring files with URL syntax, supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. Curl supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, kerberos, HTTP form based upload, proxies, cookies, user+password authentication, file transfer resume, http proxy tunneling and a busload of other useful tricks." category: Web requires: cygwin openssl @ curl-devel sdesc: "(lib)cURL headers, static libraries, developer docs and samples" ldesc: "curl-devel is the developer-oriented (non-run-time) parts of the cURL package. It includes header files, static libraries, example source code snippets, and the libcurl man pages." category: Web Libs Devel requires: cygwin openssl curl Cygwin port maintained by: Kevin Roth Questions about cURL should be directed to curl-users@cool.haxx.se. Questions about this cygwin package go to cygwin@cygwin.com.