diff options
Diffstat (limited to 'net-ftp/gftp')
-rw-r--r-- | net-ftp/gftp/ChangeLog | 6 | ||||
-rw-r--r-- | net-ftp/gftp/files/gftp-2.0.15-64bit_fixes.patch | 524 | ||||
-rw-r--r-- | net-ftp/gftp/gftp-2.0.15.ebuild | 10 |
3 files changed, 538 insertions, 2 deletions
diff --git a/net-ftp/gftp/ChangeLog b/net-ftp/gftp/ChangeLog index 88038633c285..2b4bf831bd79 100644 --- a/net-ftp/gftp/ChangeLog +++ b/net-ftp/gftp/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for net-ftp/gftp # Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-ftp/gftp/ChangeLog,v 1.23 2004/02/06 16:33:38 gustavoz Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-ftp/gftp/ChangeLog,v 1.24 2004/02/25 12:20:20 aliz Exp $ + + 25 Feb 2004; Daniel Ahlberg <aliz@gentoo.org> gftp-2.0.15.ebuild: + Adding patch from Ryan C. Gordon <ryan@epicgames.com> to fix segfaults on + amd64. Closing #34440. 06 Feb 2004; <gustavoz@gentoo.org> gftp-2.0.16-r1.ebuild: stable on sparc diff --git a/net-ftp/gftp/files/gftp-2.0.15-64bit_fixes.patch b/net-ftp/gftp/files/gftp-2.0.15-64bit_fixes.patch new file mode 100644 index 000000000000..f5457301a687 --- /dev/null +++ b/net-ftp/gftp/files/gftp-2.0.15-64bit_fixes.patch @@ -0,0 +1,524 @@ +Only in gftp-2.0.15.orig: gftp.spec +diff -urBb gftp-2.0.15.orig/lib/cache.c gftp-2.0.15/lib/cache.c +--- gftp-2.0.15.orig/lib/cache.c 2003-08-11 20:04:37.000000000 -0400 ++++ gftp-2.0.15/lib/cache.c 2004-01-05 01:27:39.078379808 -0500 +@@ -118,7 +118,8 @@ + gftp_new_cache_entry (gftp_request * request) + { + char *cachedir, *tempstr, *temp1str; +- int cache_fd, fd, cache_ttl; ++ int cache_fd, fd; ++ glong cache_ttl; + ssize_t ret; + time_t t; + +diff -urBb gftp-2.0.15.orig/lib/config_file.c gftp-2.0.15/lib/config_file.c +--- gftp-2.0.15.orig/lib/config_file.c 2003-07-22 22:39:23.000000000 -0400 ++++ gftp-2.0.15/lib/config_file.c 2004-01-05 01:29:24.792308848 -0500 +@@ -1186,6 +1186,10 @@ + gftp_config_list_vars * tmplistvar; + gftp_config_vars * tmpconfigvar; + ++ g_assert(sizeof (void *) == sizeof (glong)); /* hacked 64-bit fixes... */ ++ g_assert(sizeof (void *) == sizeof (gulong)); /* hacked 64-bit fixes... */ ++ g_assert(sizeof (void *) == sizeof (gdouble)); /* hacked 64-bit fixes... */ ++ + if (gftp_global_options_htable != NULL && + (tmpconfigvar = g_hash_table_lookup (gftp_global_options_htable, + key)) != NULL) +diff -urBb gftp-2.0.15.orig/lib/misc.c gftp-2.0.15/lib/misc.c +--- gftp-2.0.15.orig/lib/misc.c 2003-08-19 15:46:43.000000000 -0400 ++++ gftp-2.0.15/lib/misc.c 2004-01-05 01:24:34.028511664 -0500 +@@ -818,7 +818,7 @@ + GList * files, * dirs, * dotdot, * tempitem, * insitem; + GCompareFunc sortfunc; + gftp_file * tempfle; +- int sort_dirs_first; ++ glong sort_dirs_first; + + files = dirs = dotdot = NULL; + +diff -urBb gftp-2.0.15.orig/lib/protocols.c gftp-2.0.15/lib/protocols.c +--- gftp-2.0.15.orig/lib/protocols.c 2003-08-21 16:24:08.000000000 -0400 ++++ gftp-2.0.15/lib/protocols.c 2004-01-05 01:27:09.521873080 -0500 +@@ -157,7 +157,7 @@ + gftp_get_file (gftp_request * request, const char *filename, int fd, + off_t startsize) + { +- float maxkbs; ++ gdouble maxkbs; + + g_return_val_if_fail (request != NULL, GFTP_EFATAL); + +@@ -181,7 +181,7 @@ + gftp_put_file (gftp_request * request, const char *filename, int fd, + off_t startsize, off_t totalsize) + { +- float maxkbs; ++ gdouble maxkbs; + + g_return_val_if_fail (request != NULL, GFTP_EFATAL); + +@@ -2109,7 +2109,7 @@ + ssize_t + gftp_fd_read (gftp_request * request, void *ptr, size_t size, int fd) + { +- long network_timeout; ++ glong network_timeout; + struct timeval tv; + fd_set fset; + ssize_t ret; +@@ -2179,7 +2179,7 @@ + ssize_t + gftp_fd_write (gftp_request * request, const char *ptr, size_t size, int fd) + { +- long network_timeout; ++ glong network_timeout; + struct timeval tv; + ssize_t w_ret; + fd_set fset; +@@ -2328,7 +2328,7 @@ + double start_difftime; + gftp_file * tempfle; + struct timeval tv; +- float maxkbs; ++ gdouble maxkbs; + int waited; + + gftp_lookup_request_option (tdata->fromreq, "maxkbs", &maxkbs); +@@ -2382,7 +2382,8 @@ + int + gftp_get_transfer_status (gftp_transfer * tdata, ssize_t num_read) + { +- int ret1, ret2, retries, sleep_time; ++ int ret1, ret2; ++ glong retries, sleep_time; + gftp_file * tempfle; + struct timeval tv; + +diff -urBb gftp-2.0.15.orig/lib/rfc2068.c gftp-2.0.15/lib/rfc2068.c +--- gftp-2.0.15.orig/lib/rfc2068.c 2003-08-03 14:44:29.000000000 -0400 ++++ gftp-2.0.15/lib/rfc2068.c 2004-01-05 01:22:04.997167872 -0500 +@@ -54,7 +54,7 @@ + { + char *proxy_hostname, *proxy_config; + rfc2068_params * params; +- int proxy_port, ret; ++ glong proxy_port, ret; + + g_return_val_if_fail (request != NULL, GFTP_EFATAL); + g_return_val_if_fail (request->protonum == GFTP_HTTP_NUM, GFTP_EFATAL); +@@ -181,7 +181,7 @@ + rfc2068_send_command (gftp_request * request, const void *command, size_t len) + { + char *tempstr, *str, *proxy_hostname, *proxy_username, *proxy_password; +- int proxy_port, conn_ret; ++ glong proxy_port, conn_ret; + ssize_t ret; + + g_return_val_if_fail (request != NULL, GFTP_EFATAL); +@@ -273,7 +273,7 @@ + off_t startsize) + { + char *tempstr, *oldstr, *pos; +- int restarted, use_http11; ++ glong restarted, use_http11; + rfc2068_params * params; + off_t size; + +@@ -392,7 +392,7 @@ + { + rfc2068_params *params; + char *tempstr, *pos; +- int use_http11; ++ glong use_http11; + off_t ret; + + g_return_val_if_fail (request != NULL, GFTP_EFATAL); +@@ -441,7 +441,7 @@ + { + rfc2068_params *params; + char *tempstr, *pos; +- int use_http11; ++ glong use_http11; + off_t size; + + g_return_val_if_fail (request != NULL, GFTP_EFATAL); +diff -urBb gftp-2.0.15.orig/lib/rfc959.c gftp-2.0.15/lib/rfc959.c +--- gftp-2.0.15.orig/lib/rfc959.c 2003-08-11 20:38:05.000000000 -0400 ++++ gftp-2.0.15/lib/rfc959.c 2004-01-05 01:20:35.726739040 -0500 +@@ -183,7 +183,7 @@ + char *startpos, *endpos, *newstr, *newval, tempport[6], *proxy_config, + savechar; + size_t len; +- int tmp; ++ glong tmp; + + g_return_val_if_fail (request != NULL, NULL); + g_return_val_if_fail (request->protonum == GFTP_FTP_NUM, NULL); +@@ -210,7 +210,7 @@ + break; + case 'o': + gftp_lookup_request_option (request, "ftp_proxy_port", &tmp); +- g_snprintf (tempport, sizeof (tempport), "%d", tmp); ++ g_snprintf (tempport, sizeof (tempport), "%d", (int) tmp); + newval = tempport; + break; + case 'a': +@@ -415,7 +415,8 @@ + rfc959_connect (gftp_request * request) + { + char tempchar, *startpos, *endpos, *tempstr, *email, *proxy_hostname; +- int ret, resp, ascii_transfers, proxy_port; ++ int ret, resp; ++ glong ascii_transfers, proxy_port; + rfc959_parms * parms; + + g_return_val_if_fail (request != NULL, GFTP_EFATAL); +@@ -439,7 +440,7 @@ + else if (strcasecmp (request->username, "anonymous") == 0) + gftp_set_password (request, email); + +- if ((ret = gftp_connect_server (request, "ftp", proxy_hostname, proxy_port)) < 0) ++ if ((ret = gftp_connect_server (request, "ftp", proxy_hostname, (int) proxy_port)) < 0) + return (ret); + + /* Get the banner */ +@@ -575,7 +576,7 @@ + { + char *pos, *pos1, resp, *command; + struct sockaddr_in data_addr; +- int i, passive_transfer; ++ glong i, passive_transfer; + rfc959_parms * parms; + socklen_t data_addr_len; + unsigned int temp[6]; +@@ -893,7 +894,8 @@ + static int + rfc959_accept_active_connection (gftp_request * request) + { +- int infd, ret, passive_transfer; ++ int infd, ret; ++ glong passive_transfer; + rfc959_parms * parms; + #ifdef HAVE_IPV6 + struct sockaddr_in cli_addr; +@@ -941,7 +943,8 @@ + { + gftp_config_list_vars * tmplistvar; + gftp_file_extensions * tempext; +- int stlen, ascii_transfers; ++ int stlen; ++ glong ascii_transfers; + GList * templist; + + gftp_lookup_global_option ("ext", &tmplistvar); +@@ -1005,7 +1008,8 @@ + off_t startsize) + { + char *command, *tempstr, resp; +- int ret, passive_transfer; ++ int ret; ++ glong passive_transfer; + rfc959_parms * parms; + + g_return_val_if_fail (request != NULL, GFTP_EFATAL); +@@ -1078,7 +1082,8 @@ + off_t startsize, off_t totalsize) + { + char *command, *tempstr, resp; +- int ret, passive_transfer; ++ int ret; ++ glong passive_transfer; + rfc959_parms * parms; + + g_return_val_if_fail (request != NULL, GFTP_EFATAL); +@@ -1268,7 +1273,7 @@ + static int + rfc959_list_files (gftp_request * request) + { +- int ret, show_hidden_files, resolve_symlinks, passive_transfer; ++ glong ret, show_hidden_files, resolve_symlinks, passive_transfer; + char *tempstr, parms[3]; + + g_return_val_if_fail (request != NULL, GFTP_EFATAL); +@@ -1305,7 +1310,7 @@ + static ssize_t + rfc959_get_next_file_chunk (gftp_request * request, char *buf, size_t size) + { +- int i, j, ascii_transfers; ++ glong i, j, ascii_transfers; + rfc959_parms * parms; + ssize_t num_read; + +@@ -1333,7 +1338,7 @@ + static ssize_t + rfc959_put_next_file_chunk (gftp_request * request, char *buf, size_t size) + { +- int i, j, ascii_transfers; ++ glong i, j, ascii_transfers; + rfc959_parms * parms; + ssize_t num_wrote; + char *tempstr; +diff -urBb gftp-2.0.15.orig/lib/sshv2.c gftp-2.0.15/lib/sshv2.c +--- gftp-2.0.15.orig/lib/sshv2.c 2003-08-07 13:32:38.000000000 -0400 ++++ gftp-2.0.15/lib/sshv2.c 2004-01-05 01:24:13.391648944 -0500 +@@ -846,7 +846,8 @@ + static int + sshv2_connect (gftp_request * request) + { +- int version, ret, ssh_use_askpass, sshv2_use_sftp_subsys, fdm; ++ int version, fdm, ret; ++ glong ssh_use_askpass, sshv2_use_sftp_subsys; + char **args, *tempstr, *p1, p2, *exepath, *ssh2_sftp_path; + struct servent serv_struct; + sshv2_params * params; +@@ -2226,7 +2227,7 @@ + static int + sshv2_set_config_options (gftp_request * request) + { +- int ssh_need_userpass; ++ glong ssh_need_userpass; + + gftp_lookup_request_option (request, "ssh_need_userpass", &ssh_need_userpass); + request->need_userpass = ssh_need_userpass; +diff -urBb gftp-2.0.15.orig/lib/sslcommon.c gftp-2.0.15/lib/sslcommon.c +--- gftp-2.0.15.orig/lib/sslcommon.c 2003-07-07 22:09:28.000000000 -0400 ++++ gftp-2.0.15/lib/sslcommon.c 2004-01-05 01:22:14.764682984 -0500 +@@ -271,7 +271,7 @@ + gftp_ssl_startup (gftp_request * request) + { + char *entropy_source; +- int entropy_len; ++ glong entropy_len; + + if (gftp_ssl_initialized) + return (0); +diff -urBb gftp-2.0.15.orig/src/gtk/chmod_dialog.c gftp-2.0.15/src/gtk/chmod_dialog.c +--- gftp-2.0.15.orig/src/gtk/chmod_dialog.c 2003-08-11 21:05:02.000000000 -0400 ++++ gftp-2.0.15/src/gtk/chmod_dialog.c 2004-01-05 01:30:19.174041568 -0500 +@@ -28,7 +28,8 @@ + static void * + do_chmod_thread (void * data) + { +- int success, num, sj, network_timeout; ++ int success, num, sj; ++ glong network_timeout; + GList * filelist, * templist; + gftp_window_data * wdata; + gftp_file * tempfle; +diff -urBb gftp-2.0.15.orig/src/gtk/gftp-gtk.c gftp-2.0.15/src/gtk/gftp-gtk.c +--- gftp-2.0.15.orig/src/gtk/gftp-gtk.c 2003-08-11 21:05:02.000000000 -0400 ++++ gftp-2.0.15/src/gtk/gftp-gtk.c 2004-01-05 01:32:48.813292944 -0500 +@@ -152,8 +152,8 @@ + static GtkWidget * + CreateMenus (GtkWidget * parent) + { +- int local_len, remote_len, len, i, trans_len, log_len, tools_len, +- ascii_transfers; ++ int local_len, remote_len, len, i, trans_len, log_len, tools_len; ++ glong ascii_transfers; + GtkAccelGroup *accel_group; + GtkWidget * tempwid; + static GtkItemFactoryEntry menu_items[] = { +@@ -489,7 +489,8 @@ + static void + list_doaction (gftp_window_data * wdata) + { +- int num, dir, success, list_dblclk_action; ++ int num, dir, success; ++ glong list_dblclk_action; + GList *templist, *filelist; + gftp_file *tempfle; + +@@ -591,7 +592,7 @@ + {"application/x-rootwin-drop", 0, 1} + }; + GtkWidget *box, *scroll_list, *parent; +- int listbox_file_height, colwidth; ++ glong listbox_file_height, colwidth; + char *titles[7], tempstr[50]; + + titles[0] = ""; +@@ -718,7 +719,7 @@ + *button; + gftp_config_list_vars * tmplistvar; + char *dltitles[2]; +- int tmplookup; ++ glong tmplookup; + #if GTK_MAJOR_VERSION > 1 + GtkTextBuffer * textbuf; + GtkTextIter iter; +@@ -981,7 +982,7 @@ + sortrows (GtkCList * clist, gint column, gpointer data) + { + char sortcol_name[25], sortasds_name[25]; +- int swap_col, sortcol, sortasds; ++ glong swap_col, sortcol, sortasds; + gftp_window_data * wdata; + GtkWidget * sort_wid; + GList * templist; +diff -urBb gftp-2.0.15.orig/src/gtk/menu-items.c gftp-2.0.15/src/gtk/menu-items.c +--- gftp-2.0.15.orig/src/gtk/menu-items.c 2003-08-11 21:05:02.000000000 -0400 ++++ gftp-2.0.15/src/gtk/menu-items.c 2004-01-05 01:33:16.323110816 -0500 +@@ -390,7 +390,8 @@ + static void * + do_change_dir_thread (void * data) + { +- int success, sj, network_timeout; ++ int success, sj; ++ glong network_timeout; + gftp_window_data * wdata; + + wdata = data; +diff -urBb gftp-2.0.15.orig/src/gtk/misc-gtk.c gftp-2.0.15/src/gtk/misc-gtk.c +--- gftp-2.0.15.orig/src/gtk/misc-gtk.c 2003-08-11 21:05:02.000000000 -0400 ++++ gftp-2.0.15/src/gtk/misc-gtk.c 2004-01-05 01:35:42.604872608 -0500 +@@ -39,7 +39,7 @@ + ftp_log (gftp_logging_level level, gftp_request * request, + const char *string, ...) + { +- guint max_log_window_size; ++ gulong max_log_window_size; + int upd, free_logstr; + gftp_log * newlog; + char *logstr; +@@ -402,16 +402,18 @@ + graphic = g_malloc0 (sizeof (*graphic)); + graphic->pixmap = gdk_pixmap_create_from_xpm (widget->window, + &graphic->bitmap, &style->bg[GTK_STATE_NORMAL], exfile); +- g_free (exfile); + + if (graphic->pixmap == NULL) + { + g_free (graphic); + ftp_log (gftp_logging_error, NULL, _("Error opening file %s: %s\n"), + exfile, g_strerror (errno)); ++ g_free (exfile); + return (NULL); + } + ++ g_free (exfile); ++ + graphic->filename = g_strdup (filename); + g_hash_table_insert (graphic_hash_table, graphic->filename, graphic); + +@@ -653,7 +655,8 @@ + { + char *add_data[7] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL }, *pos; + gftp_config_list_vars * tmplistvar; +- int clist_num, show_hidden_files; ++ int clist_num; ++ glong show_hidden_files; + gftp_file_extensions * tempext; + char *tempstr, *str; + GdkBitmap * bitmap; +diff -urBb gftp-2.0.15.orig/src/gtk/mkdir_dialog.c gftp-2.0.15/src/gtk/mkdir_dialog.c +--- gftp-2.0.15.orig/src/gtk/mkdir_dialog.c 2003-08-11 21:05:02.000000000 -0400 ++++ gftp-2.0.15/src/gtk/mkdir_dialog.c 2004-01-05 01:33:08.022372720 -0500 +@@ -26,7 +26,8 @@ + static void * + do_make_dir_thread (void * data) + { +- int success, sj, network_timeout; ++ int success, sj; ++ glong network_timeout; + gftp_window_data * wdata; + + wdata = data; +diff -urBb gftp-2.0.15.orig/src/gtk/rename_dialog.c gftp-2.0.15/src/gtk/rename_dialog.c +--- gftp-2.0.15.orig/src/gtk/rename_dialog.c 2003-08-11 21:05:02.000000000 -0400 ++++ gftp-2.0.15/src/gtk/rename_dialog.c 2004-01-05 01:28:44.003509688 -0500 +@@ -27,7 +27,8 @@ + static void * + do_rename_thread (void * data) + { +- int success, sj, network_timeout; ++ int success, sj; ++ glong network_timeout; + gftp_window_data * wdata; + + wdata = data; +diff -urBb gftp-2.0.15.orig/src/gtk/transfer.c gftp-2.0.15/src/gtk/transfer.c +--- gftp-2.0.15.orig/src/gtk/transfer.c 2003-08-11 21:05:02.000000000 -0400 ++++ gftp-2.0.15/src/gtk/transfer.c 2004-01-05 01:28:31.709378680 -0500 +@@ -232,7 +232,8 @@ + static void * + connect_thread (void *data) + { +- int ret, sj, retries, sleep_time, network_timeout; ++ int ret, sj; ++ glong retries, sleep_time, network_timeout; + static int conn_num; + gftp_request * request; + +@@ -545,7 +546,8 @@ + void * + gftp_gtk_transfer_files (void *data) + { +- int i, mode, tofd, fromfd, preserve_permissions; ++ int i, mode, tofd, fromfd; ++ glong preserve_permissions; + gftp_transfer * transfer; + char buf[8192]; + off_t fromsize, total; +@@ -769,7 +771,8 @@ + gftp_window_data * fromwdata, gftp_window_data * towdata, + GList * files, int copy_req) + { +- int dialog, append_transfers; ++ int dialog; ++ glong append_transfers; + gftp_curtrans_data * transdata; + GList * templist, *curfle; + gftp_transfer * tdata; +@@ -1026,7 +1029,8 @@ + static void + on_next_transfer (gftp_transfer * tdata) + { +- int fd, refresh_files; ++ int fd; ++ glong refresh_files; + gftp_file * tempfle; + + tdata->next_file = 0; +@@ -1403,7 +1407,7 @@ + gint + update_downloads (gpointer data) + { +- int do_one_transfer_at_a_time; ++ glong do_one_transfer_at_a_time; + GList * templist, * next; + gftp_transfer * tdata; + +@@ -1879,7 +1883,7 @@ + char *dltitles[4], *add_data[4] = { NULL, NULL, NULL, NULL }, + tempstr[50], temp1str[50], *pos, *title; + GtkWidget * tempwid, * scroll, * hbox; +- int i, overwrite_default; ++ glong i, overwrite_default; + gftp_file * tempfle; + GList * templist; + size_t len; +diff -urBb gftp-2.0.15.orig/src/text/gftp-text.c gftp-2.0.15/src/text/gftp-text.c +--- gftp-2.0.15.orig/src/text/gftp-text.c 2003-08-01 11:05:25.000000000 -0400 ++++ gftp-2.0.15/src/text/gftp-text.c 2004-01-05 01:33:44.732791888 -0500 +@@ -595,7 +595,7 @@ + { + GList * files, * templist, * delitem; + char *color, *filespec, *tempstr; +- int sortcol, sortasds; ++ glong sortcol, sortasds; + gftp_file * fle; + time_t curtime; + +@@ -875,7 +875,8 @@ + int + gftp_text_transfer_files (gftp_transfer * transfer) + { +- int i, j, sw, tot, preserve_permissions; ++ int i, j, sw, tot; ++ glong preserve_permissions; + char buf[8192], *progress = "|/-\\"; + struct timeval updatetime; + long fromsize, total; diff --git a/net-ftp/gftp/gftp-2.0.15.ebuild b/net-ftp/gftp/gftp-2.0.15.ebuild index cd5c4783ddb2..f0c2754ae739 100644 --- a/net-ftp/gftp/gftp-2.0.15.ebuild +++ b/net-ftp/gftp/gftp-2.0.15.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-ftp/gftp/gftp-2.0.15.ebuild,v 1.4 2004/01/08 02:45:18 weeve Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-ftp/gftp/gftp-2.0.15.ebuild,v 1.5 2004/02/25 12:20:20 aliz Exp $ IUSE="nls gtk gtk2 ssl" S=${WORKDIR}/${P} @@ -22,6 +22,14 @@ DEPEND="virtual/x11 RDEPEND="nls? ( sys-devel/gettext )" +src_unpack() { + unpack ${A} ; cd ${S} + + if [ "${ARCH}" == "amd64" ]; then + epatch ${FILESDIR}/${P}-64bit_fixes.patch + fi +} + src_compile() { local myconf |