--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/SFEprozilla.spec Wed Aug 20 11:05:34 2008 +0000
@@ -0,0 +1,64 @@
+#
+# Author pradhap
+# spec file for package SFEprozilla
+#
+# includes module(s): Prozilla
+#
+%include Solaris.inc
+
+Name: SFEprozilla
+Summary: Prozilla download accelerator
+Version: 2.0.4
+Source: http://prozilla.genesys.ro/downloads/prozilla/tarballs/prozilla-%{version}.tar.bz2
+URL: http://prozilla.genesys.ro/
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+Patch1: prozilla-solaris.patch
+
+%include default-depend.inc
+
+Requires: SUNWcsu
+
+%prep
+%setup -q -n prozilla-%version
+%patch1 -p1
+
+%build
+./configure --prefix=%{_prefix} \
+ --mandir=%{_mandir} \
+ --libdir=%{_libdir} \
+ --libexecdir=%{_libexecdir} \
+ --infodir=%{_infodir} \
+ --disable-nls \
+ --sysconfdir=%{_sysconfdir} \
+ --datadir=%{_datadir} \
+
+make
+
+%install
+make install DESTDIR=$RPM_BUILD_ROOT
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr (-, root, sys)
+
+%dir %attr (0755, root, bin) %{_bindir}
+%{_bindir}/*
+
+%dir %attr (0755, root, bin) %{_libdir}
+%{_libdir}/*
+
+%dir %attr (0755, root, sys) %{_datadir}
+%dir %attr(0755, root, bin) %{_mandir}
+%dir %attr (0755, root, bin) %{_mandir}/man1
+%{_mandir}/man1/*
+
+%dir %attr (0755, root, bin) %{_includedir}
+%dir %attr (0755, root, bin) %{_includedir}/prozilla
+%{_includedir}/prozilla/*
+
+%changelog
+* Wed Aug 20 2008 - pradhap (at) gmail.com
+- Initial prozilla spec file.
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/prozilla-solaris.patch Wed Aug 20 11:05:34 2008 +0000
@@ -0,0 +1,259 @@
+diff -Nur /tmp/prozilla-2.0.4/libprozilla/src/common.h prozilla-2.0.4/libprozilla/src/common.h
+--- /tmp/prozilla-2.0.4/libprozilla/src/common.h 2006-02-08 22:49:54.000000000 +0530
++++ prozilla-2.0.4/libprozilla/src/common.h 2007-08-14 21:20:21.555162000 +0530
+@@ -168,9 +168,9 @@
+ #include <locale.h>
+ #endif
+
++#define _(String) (String)
+ /* Gettext */
+ #include <libintl.h>
+-#define _(String) dgettext (PACKAGE, String)
+ #define gettext_noop(String) (String)
+ #ifndef HAVE_GNOME
+ #define N_(String) gettext_noop (String)
+diff -Nur /tmp/prozilla-2.0.4/libprozilla/src/connect.c prozilla-2.0.4/libprozilla/src/connect.c
+--- /tmp/prozilla-2.0.4/libprozilla/src/connect.c 2006-02-08 22:49:54.000000000 +0530
++++ prozilla-2.0.4/libprozilla/src/connect.c 2007-08-14 20:58:57.033744000 +0530
+@@ -55,7 +55,8 @@
+
+ error = getaddrinfo(name, szPort, &hints, &res);
+ if (error) {
+- freeaddrinfo(res);
++ if (res != NULL)
++ freeaddrinfo(res);
+ return HOSTERR;
+ }
+
+diff -Nur /tmp/prozilla-2.0.4/libprozilla/src/ftpsearch.c prozilla-2.0.4/libprozilla/src/ftpsearch.c
+--- /tmp/prozilla-2.0.4/libprozilla/src/ftpsearch.c 2006-02-08 22:49:54.000000000 +0530
++++ prozilla-2.0.4/libprozilla/src/ftpsearch.c 2007-08-14 20:58:57.036205000 +0530
+@@ -49,6 +49,9 @@
+ ftp_mirror_t *reprocess_mirror_list(ftp_mirror_t * mirrors,
+ int *num_servers);
+
++#ifdef __sun
++char *strcasestr (const char *phaystack,const char * pneedle);
++#endif
+
+ ftps_request_t * proz_ftps_request_init(
+ urlinfo * requested_url, off_t file_size,
+@@ -1110,3 +1113,91 @@
+ return -1;
+
+ }
++
++#ifdef __sun
++char *
++strcasestr (const char *phaystack,const char *pneedle)
++{
++ register const unsigned char *haystack, *needle;
++ register char b, c;
++
++ haystack = (const unsigned char *) phaystack;
++ needle = (const unsigned char *) pneedle;
++
++ b = tolower (*needle);
++ if (b != '\0')
++ {
++ haystack--; /* possible ANSI violation */
++ do
++ {
++ c = *++haystack;
++ if (c == '\0')
++ goto ret0;
++ }
++ while (tolower (c) != (int) b);
++
++ c = tolower (*++needle);
++ if (c == '\0')
++ goto foundneedle;
++ ++needle;
++ goto jin;
++
++ for (;;)
++ {
++ register char a;
++ register const unsigned char *rhaystack, *rneedle;
++
++ do
++ {
++ a = *++haystack;
++ if (a == '\0')
++ goto ret0;
++ if (tolower (a) == (int) b)
++ break;
++ a = *++haystack;
++ if (a == '\0')
++ goto ret0;
++shloop:
++ ;
++ }
++ while (tolower (a) != (int) b);
++
++jin: a = *++haystack;
++ if (a == '\0')
++ goto ret0;
++
++ if (tolower (a) != (int) c)
++ goto shloop;
++
++ rhaystack = haystack-- + 1;
++ rneedle = needle;
++ a = tolower (*rneedle);
++
++ if (tolower (*rhaystack) == (int) a)
++ do
++ {
++ if (a == '\0')
++ goto foundneedle;
++ ++rhaystack;
++ a = tolower (*++needle);
++ if (tolower (*rhaystack) != (int) a)
++ break;
++ if (a == '\0')
++ goto foundneedle;
++ ++rhaystack;
++ a = tolower (*++needle);
++ }
++ while (tolower (*rhaystack) == (int) a);
++
++ needle = rneedle; /* took the register-poor approach */
++
++ if (a == '\0')
++ break;
++ }
++ }
++foundneedle:
++ return (char*) haystack;
++ret0:
++ return 0;
++}
++#endif
+diff -Nur /tmp/prozilla-2.0.4/libprozilla/src/http.c prozilla-2.0.4/libprozilla/src/http.c
+--- /tmp/prozilla-2.0.4/libprozilla/src/http.c 2006-02-08 22:49:53.000000000 +0530
++++ prozilla-2.0.4/libprozilla/src/http.c 2007-08-14 20:58:57.033348000 +0530
+@@ -259,7 +259,7 @@
+ for (len = 0; isdigit(*hdr); hdr++)
+ len = 10 * len + (*hdr - '0');
+
+- proz_debug("contenlen %s contentlen %lld",*hdr,len);
++ proz_debug("contenlen %s contentlen %lld",hdr,len);
+ return len;
+ }
+
+@@ -295,7 +295,7 @@
+ for (len = 0; isdigit(*hdr); hdr++)
+ len = 10 * len + (*hdr - '0');
+
+- proz_debug("range %s range %lld",*hdr,len);
++ proz_debug("range %s range %lld",hdr,len);
+ return len;
+ }
+
+diff -Nur /tmp/prozilla-2.0.4/libprozilla/src/main.c prozilla-2.0.4/libprozilla/src/main.c
+--- /tmp/prozilla-2.0.4/libprozilla/src/main.c 2006-02-08 22:49:54.000000000 +0530
++++ prozilla-2.0.4/libprozilla/src/main.c 2007-08-14 21:12:04.454535000 +0530
+@@ -49,10 +49,6 @@
+ // int c;
+
+ /* Gettext stuff */
+- setlocale(LC_ALL, "");
+- bindtextdomain(PACKAGE, LOCALEDIR);
+- textdomain(PACKAGE);
+-
+ memset(&libprozrtinfo, 0, sizeof(libprozrtinfo));
+ libprozrtinfo.argc = argc;
+ libprozrtinfo.argv = argv;
+diff -Nur /tmp/prozilla-2.0.4/src/interface.c prozilla-2.0.4/src/interface.c
+--- /tmp/prozilla-2.0.4/src/interface.c 2006-02-08 22:48:58.000000000 +0530
++++ prozilla-2.0.4/src/interface.c 2007-08-14 20:58:57.032547000 +0530
+@@ -79,8 +79,13 @@
+ "Max attempts reached",
+ };
+
++#ifndef CTRL
+ #define CTRL(x) ((x) & 0x1F)
++#endif
+
++#ifdef __sun
++typedef unsigned short attr_t;
++#endif
+
+ //static int top_con = 0; // the connection that is on the top of the display
+
+diff -Nur /tmp/prozilla-2.0.4/src/main.cpp prozilla-2.0.4/src/main.cpp
+--- /tmp/prozilla-2.0.4/src/main.cpp 2006-02-08 22:48:58.000000000 +0530
++++ prozilla-2.0.4/src/main.cpp 2007-08-14 21:08:10.505553000 +0530
+@@ -56,6 +56,7 @@
+ {"help", no_argument, NULL, 'h'},
+ {"gtk", no_argument, NULL, 'g'},
+ {"no-netrc", no_argument, NULL, 'n'},
++ {"no-proxy", no_argument, NULL, 'i'},
+ {"tries", required_argument, NULL, 't'},
+ {"force", no_argument, NULL, 'f'},
+ {"version", no_argument, NULL, 'v'},
+@@ -127,6 +128,7 @@
+ " -n, --no-netrc Don't use .netrc, get the user/password\n"
+ " from the command line,otherwise use the\n"
+ " anonymous login for FTP sessions\n"
++ " -i, --no-proxy Ignore proxy setting from prozconfig\n"
+ " --no-getch Instead of waiting for the user pressing a key,\n"
+ " print the error to stdout and quit\n"
+ " --debug Log debugging info to a file (default is debug.log)\n"
+@@ -221,7 +223,7 @@
+ load_prefs (); //load values from the config file
+
+ while ((c =
+- getopt_long (argc, argv, "?hvrfk:1Lt:VgsP:", long_opts,
++ getopt_long (argc, argv, "?hvirfk:1Lt:VgsP:", long_opts,
+ NULL)) != EOF)
+ {
+ switch (c)
+@@ -241,6 +243,10 @@
+ case 'f':
+ rt.force_mode = TRUE;
+ break;
++ case 'i':
++ rt.use_http_proxy = 0;
++ rt.use_ftp_proxy = 0;
++ break;
+ case 'k':
+ if (setargval (optarg, &rt.num_connections) != 1)
+ {
+@@ -468,14 +474,11 @@
+ if (optind == argc)
+ {
+ help ();
++ exit (1);
+ }
+ else
+ {
+ /* Gettext stuff */
+- setlocale (LC_ALL, "");
+- bindtextdomain (PACKAGE, LOCALEDIR);
+- textdomain (PACKAGE);
+-
+ /*delete the ~/.prozilla/debug.log file if present at the start of each run */
+ proz_debug_delete_log ();
+
+diff -Nur /tmp/prozilla-2.0.4/src/main.h prozilla-2.0.4/src/main.h
+--- /tmp/prozilla-2.0.4/src/main.h 2006-02-08 22:48:59.000000000 +0530
++++ prozilla-2.0.4/src/main.h 2007-08-14 21:19:13.825705000 +0530
+@@ -5,13 +5,14 @@
+ #include <sys/time.h>
+ #include "prozilla.h"
+
++#define _(String) (String)
+ /* Gettext */
+-#include <libintl.h>
+-//#define _(String) dgettext (PACKAGE,String)
++/* #include <libintl.h>
+ #define gettext_noop(String) (String)
+ #ifndef HAVE_GNOME
+ #define N_(String) gettext_noop (String)
+ #endif
++*/
+ /* Gettext */
+
+