Package-Name: pine
Gentoo-Package: mail-client/pine
Suggests: openssl
Homepage: http://www.washington.edu/pine/
Source: ftp://ftp.cac.washington.edu/pine/pine(\d+.\d+).tar.gz $1
Zap-Before-Install: 1
Repack:
	tar xzvfp "$(SOURCE)"
	mv pine"$(VERSION)" pine-"$(VERSION)"
Compile:
	cp -p CPYRIGHT "$(PREFIX)/"
	if packager c openssl ; then SSLFLAG=SSLDIR=`cd "$(PREFIX)/..";pwd`/openssl ; else SSLFLAG=NOSSL ; fi ; \
	./build $$SSLFLAG OPTIMIZE='-O2 -DSYSTEM_PINERC=\"$(PREFIX)/lib/pinerc\" -DSYSTEM_PINERC_FIXED=\"$(PREFIX)/lib/pinerc.fixed\"' DEBUG= slx
	umask 022 ; mkdir -p "$(PREFIX)"/{bin,lib,man/man1,sbin}
	mv -f bin/{pico,pilot,pine,rpdump,rpload} "$(PREFIX)"/bin/
	mv -f doc/{pico,pilot,pine,rpdump,rpload}.1 "$(PREFIX)"/man/man1/
	mv -f bin/{imapd,ipop2d,ipop3d} "$(PREFIX)"/sbin/
Install:
	$(MAKE) instbin BIN="pico pilot pine rpdump rpload"
	$(MAKE) instsbin SBIN="imapd ipop2d ipop3d"
	$(MAKE) instman SECTION=1 MAN="pico pilot pine rpdump rpload"
# FIXME: $(PREFIX) in patch
Patch: <<EOT
diff -ur ../pine-4.58-orig/doc/pine.1 ./doc/pine.1
--- ../pine-4.58-orig/doc/pine.1	2003-09-10 06:50:31 +0900
+++ doc/pine.1	2003-09-12 11:52:42 +0900
@@ -333,13 +333,13 @@
 .br
 /etc/mime.types	System-wide file ext. to MIME type mapping
 .br
-/usr/local/lib/pine.info	Local pointer to system administrator.
+/pkg/pine/lib/pine.info	Local pointer to system administrator.
 .br
-/usr/local/lib/pine.conf	System-wide configuration file.
+/pkg/pine/lib/pine.conf	System-wide configuration file.
 .br
-/usr/local/lib/pine.conf.fixed	 Non-overridable configuration file.
+/pkg/pine/lib/pine.conf.fixed	 Non-overridable configuration file.
 .br
-/tmp/.\\usr\\spool\\mail\\xxxx	Per-folder mailbox lock files.
+/tmp/.\\var\\spool\\mail\\xxxx	Per-folder mailbox lock files.
 .br
 ~/.pine-interrupted-mail	Message which was interrupted.
 .br
diff -ur ../pine-4.58-orig/imap/src/osdep/unix/env_unix.c ./imap/src/osdep/unix/env_unix.c
--- ../pine-4.58-orig/imap/src/osdep/unix/env_unix.c	2003-07-15 10:35:30 +0900
+++ imap/src/osdep/unix/env_unix.c	2003-09-12 11:56:25 +0900
@@ -747,14 +747,32 @@
 				/* no user name yet and not root? */
   if (!myUserName && (euid = geteuid ())) {
 				/* yes, look up getlogin() user name or EUID */
-    if (((s = (char *) getlogin ()) && *s && (strlen (s) < NETMAXUSER) &&
+    if (!(((s = (char *) getlogin ()) && *s && (strlen (s) < NETMAXUSER) &&
 	 (pw = getpwnam (s)) && (pw->pw_uid == euid)) ||
-	(pw = getpwuid (euid)))
-      env_init (pw->pw_name,
-		((s = getenv ("HOME")) && *s && (strlen (s) < NETMAXMBX) &&
-		 !stat (s,&sbuf) && ((sbuf.st_mode & S_IFMT) == S_IFDIR)) ?
-		s : pw->pw_dir);
-    else fatal ("Unable to look up user name");
+	(pw = getpwuid (euid)))) {
+#ifndef REQUIRE_PASSWD
+      if (s && *s && (strlen (s) < NETMAXUSER)) {
+	char *t;
+	static struct passwd pw_ret;
+	static char name[NETMAXUSER];
+	static char home[1024];
+	strcpy (name, s);
+	t = getenv("HOME");
+	if (t && *t && strlen (s) < sizeof (home))
+	  strcpy (home, t);
+	else
+	  strcpy (home, "/");
+	pw_ret.pw_name = name;
+	pw_ret.pw_dir = home;
+	pw = &pw_ret;
+      } else
+#endif
+      fatal ("Unable to look up user name");
+    }
+    env_init (pw->pw_name,
+	      ((s = getenv ("HOME")) && *s && (strlen (s) < NETMAXMBX) &&
+	       !stat (s,&sbuf) && ((sbuf.st_mode & S_IFMT) == S_IFDIR)) ?
+	      s : pw->pw_dir);
   }
   if (myUserName) {		/* logged in? */
     if (flags) *flags = anonymous ? MU_ANONYMOUS : MU_LOGGEDIN;
diff -ur ../pine-4.58-orig/pine/mailcap.c ./pine/mailcap.c
--- ../pine-4.58-orig/pine/mailcap.c	2003-09-03 02:57:34 +0900
+++ pine/mailcap.c	2003-09-12 11:52:42 +0900
@@ -95,12 +95,10 @@
 #else /* !DOS */
 #define MC_PATH_SEPARATOR ':'
 #define	MC_USER_FILE	  NULL
-#define MC_STDPATH         \
-		".mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap"
+#define MC_STDPATH        ".mailcap:/usr/share/mailcap"
 #define MT_PATH_SEPARATOR ':'
 #define	MT_USER_FILE	  NULL
-#define MT_STDPATH         \
-		".mime.types:/etc/mime.types:/usr/local/lib/mime.types"
+#define MT_STDPATH        ".mime.types:/usr/share/mime.types"
 #endif /* !DOS */
 
 #ifdef	_WINDOWS
diff -ur ../pine-4.58-orig/pine/osdep/pw_stuff ./pine/osdep/pw_stuff
--- ../pine-4.58-orig/pine/osdep/pw_stuff	1999-08-31 05:23:44 +0900
+++ pine/osdep/pw_stuff	2003-09-12 11:52:42 +0900
@@ -50,8 +50,11 @@
 
     unix_pwd = getpwuid(getuid());
     if(unix_pwd == NULL) {
-      ui->homedir = cpystr("");
-      ui->login = cpystr("");
+      char *str;
+      str = getenv("HOME");
+      ui->homedir = cpystr(str ? str : "");
+      str = getenv("USER");
+      ui->login = cpystr(str ? str : "");
       ui->fullname = cpystr("");
     }else {
       ui->homedir = cpystr(unix_pwd->pw_dir);
diff -ur ../pine-4.58-orig/pine/osdep/pw_stuff.fun ./pine/osdep/pw_stuff.fun
--- ../pine-4.58-orig/pine/osdep/pw_stuff.fun	1994-06-18 07:44:15 +0900
+++ pine/osdep/pw_stuff.fun	2003-09-12 11:52:42 +0900
@@ -51,8 +51,11 @@
 
     unix_pwd = getpwuid(getuid());
     if(unix_pwd == NULL) {
-      ui->homedir = cpystr("");
-      ui->login = cpystr("");
+      char *str;
+      str = getenv("HOME");
+      ui->homedir = cpystr(str ? str : "");
+      str = getenv("USER");
+      ui->login = cpystr(str ? str : "");
       ui->fullname = cpystr("");
     }else {
       ui->homedir = cpystr(unix_pwd->pw_dir);
diff -ur ../pine-4.60-orig/pine/pine.hlp ./pine/pine.hlp
--- ../pine-4.60-orig/pine/pine.hlp	2004-05-08 07:17:54 +0900
+++ pine/pine.hlp	2004-05-18 15:57:03 +0900
@@ -808,9 +808,8 @@
  addrbook lu    &lt;pinerc dir&gt;/.addressbook.lu  (appends .lu to addrbk name.)
  postponed#     ~/mail/postponed-msgs
  sentmail#      ~/mail/sent-mail
- mailcap#       ~/.mailcap + /etc/mailcap
-                           + /usr/etc/mailcap + /usr/local/etc/mailcap
- mimetypes#     ~/.mime.types + /etc/mime.types + /usr/local/lib/mime.types
+ mailcap#       ~/.mailcap + /usr/share/mailcap
+ mimetypes#     ~/.mime.types + /usr/share/mime.types
 
  news-spool	varies across Unix flavors, e.g. /var/spool/news or /usr/spool/news
  active-news	varies across Unix flavors, e.g. /usr/lib/news/active
@@ -17782,7 +17781,7 @@
 </PRE>
 <!--chtml else-->
 a colon (:) under UNIX; for example:<PRE>
-        ~/.mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap
+        ~/.mailcap:/usr/share/mailcap
 </PRE>
 <!--chtml endif-->
 <P><UL>
EOT

/pkg/pine/
/usr/bin/pico
/usr/bin/pilot
/usr/bin/pine
/usr/bin/rpdump
/usr/bin/rpload
/usr/man/man1/pico.1.gz
/usr/man/man1/pilot.1.gz
/usr/man/man1/pine.1.gz
/usr/man/man1/rpdump.1.gz
/usr/man/man1/rpload.1.gz
/usr/sbin/imapd
/usr/sbin/ipop2d
/usr/sbin/ipop3d
