yuezonghe | 824eb0c | 2024-06-27 02:32:26 -0700 | [diff] [blame] | 1 | Curl is a tool for transferring files with URL syntax, supporting |
| 2 | FTP, FTPS, HTTP, HTTPS, TELNET, DICT, FILE and LDAP. |
| 3 | Curl supports HTTPS certificates, HTTP POST, HTTP PUT, |
| 4 | FTP uploading, kerberos, HTTP form based upload, proxies, |
| 5 | cookies, user+password authentication, file transfer resume, |
| 6 | http proxy tunneling and a busload of other useful tricks. |
| 7 | |
| 8 | See /usr/doc/curl-$(VERSION)/FEATURES for more info. |
| 9 | |
| 10 | |
| 11 | Dependencies: |
| 12 | - Cygwin |
| 13 | - OpenSSL 0.9.6b-2+ (*) |
| 14 | |
| 15 | (*) curl can be built without SSL support, see below for details |
| 16 | |
| 17 | |
| 18 | Canonical Homepage and Downloads: |
| 19 | https://curl.haxx.se/ |
| 20 | https://curl.haxx.se/download.html |
| 21 | |
| 22 | |
| 23 | Cygwin specific source files (a .README template and a Makefile |
| 24 | for building binary tarballs) are maintained in the upstream |
| 25 | CVS at: <srctop>/packages/Win32/cygwin/ |
| 26 | |
| 27 | |
| 28 | Build Instructions (to recompile from the cygwin source tarball): |
| 29 | ---STANDARD (with SSL) RELEASE--- |
| 30 | Download the source (either the official release or the cygwin version), |
| 31 | unpack it (done for you if using setup.exe), then: |
| 32 | |
| 33 | $ ./configure --prefix=/usr --mandir=/usr/share/man # (*) |
| 34 | $ make |
| 35 | $ make test # optional |
| 36 | $ make install # (**) |
| 37 | |
| 38 | (*) The Cygwin project now (as of sometime in 2003) prefers man pages |
| 39 | within /usr/share/man, as opposed to the default /usr/man. |
| 40 | |
| 41 | (**) LibTool 1.4.2 had a bug related to cygwin's use of ".exe" extensions, |
| 42 | such that "make install" blew up at curl.exe. See this URL for details: |
| 43 | http://mail.gnu.org/pipermail/libtool/2001-September/005549.html |
| 44 | The copy of ltmain.sh that is distributed with curl includes this patch. |
| 45 | |
| 46 | As of curl 7.9.1, the official source compiles (under Cygwin) and tests |
| 47 | 100% cleanly OOTB (Out Of The Box) |
| 48 | |
| 49 | ---NO SSL RELEASE--- |
| 50 | Same as standard, except for the configure step, which changes to: |
| 51 | |
| 52 | $ ./configure --prefix=/usr --mandir=/usr/share/man --without-ssl |
| 53 | |
| 54 | NOTE: the standard release is what is available via Cygwin's setup.exe; |
| 55 | the no-ssl release is only available from the curl website |
| 56 | |
| 57 | |
| 58 | Packaging Instructions: |
| 59 | ---BINARY--- |
| 60 | Compile cleanly as described above, then: |
| 61 | |
| 62 | $ make cygwinbin CYGBUILD=n |
| 63 | |
| 64 | where n is the cygwin release number (e.g. the "1" in curl-7.9-1), |
| 65 | and "CYGBUILD=n" is optional (n defaults to 1 if not specified) |
| 66 | |
| 67 | Assuming everything worked, you'll find your binary tarballs in |
| 68 | $(buildtop)/packages/Win32/cygwin/ |
| 69 | |
| 70 | ---SOURCE--- |
| 71 | 1. download & unpack the pristine source |
| 72 | 2. rename the source dir to add the "-$(REL)" suffix, e.g.: |
| 73 | $ mv curl-7.9 curl-7.9-1 |
| 74 | 3. unpack the pristine source once more, so you'll end up |
| 75 | with 2 directories: "curl-7.9" and "curl-7.9-1" in this example |
| 76 | 3. add a CYGWIN-PATCHES directory, and add this readme to it |
| 77 | $ cd curl-7.9-1; mkdir CYGWIN-PATCHES |
| 78 | $ cp packages/Win32/cygwin/README CYGWIN-PATCHES/curl-7.9-1.README |
| 79 | 4. if applicable, document any changes in the README file |
| 80 | 5. create a patch which, when applied |
| 81 | (using `patch -p1 < curl-7.9-$(REL).patch`) |
| 82 | will remove any changes you've made to the pristine source: |
| 83 | $ cd .. |
| 84 | $ diff -Nrup curl-7.9-1 curl-7.9 > curl-7.9-1.patch |
| 85 | and then move it into the CYGWIN-PATCHES directory |
| 86 | $ mv curl-7.9-1.patch curl-7.9-1/CYGWIN-PATCHES |
| 87 | 6. pack the new source dir into a tar.bz2 file: |
| 88 | $ tar cfj curl-7.9-1-src.tar.bz2 curl-7.9-1 |
| 89 | |
| 90 | ---SETUP.HINT--- |
| 91 | @ curl |
| 92 | sdesc: "a client that groks URLs" |
| 93 | ldesc: "Curl is a tool for transferring files with URL syntax, |
| 94 | supporting FTP, FTPS, HTTP, HTTPS, TELNET, DICT, FILE |
| 95 | and LDAP. Curl supports HTTPS certificates, HTTP POST, HTTP PUT, |
| 96 | FTP uploading, kerberos, HTTP form based upload, proxies, |
| 97 | cookies, user+password authentication, file transfer resume, |
| 98 | http proxy tunneling and a busload of other useful tricks." |
| 99 | category: Web Libs |
| 100 | requires: cygwin openssl |
| 101 | |
| 102 | @ curl-devel |
| 103 | sdesc: "(lib)curl headers, static libraries, developer docs and samples" |
| 104 | ldesc: "curl-devel is the developer-oriented (non-run-time) parts |
| 105 | of the curl package. It includes header files, static libraries, |
| 106 | example source code snippets, and the libcurl man pages." |
| 107 | category: Web Libs Devel |
| 108 | requires: cygwin openssl curl |
| 109 | |
| 110 | |
| 111 | Cygwin port maintained by: |
| 112 | Kevin Roth <kproth @ users . sourceforge . net> |
| 113 | Questions about curl should be directed to curl-users@cool.haxx.se. |
| 114 | Questions about this cygwin package go to cygwin@cygwin.com. |