--- Portfile.orig	2007-05-18 14:53:00.000000000 +0200
+++ Portfile	2007-05-18 11:32:12.000000000 +0200
@@ -2,9 +2,11 @@
 
 PortSystem 1.0
 name		zsh-devel
+set my_name [strsed ${name} {s/-.*//}]
 version		4.3.4
-categories	shells
-maintainers	nomaintainer@macports.org
+revision    1
+categories shells
+maintainers	n.oxyde@gmail.com
 description	Zsh is a UNIX command interpreter (shell)
 long_description	Zsh is a UNIX command interpreter (shell) which of \
 			the standard shells most resembles the Korn shell \
@@ -17,38 +19,95 @@
 homepage	http://www.zsh.org
 platforms	darwin
 use_bzip2 	yes
-master_sites	http://www.zsh.org/pub/ ftp://ftp.zsh.org/zsh/ \
- 		ftp://ftp.sterling.com/zsh/ \
- 		ftp://ftp.rge.com/pub/shells/zsh/ \
- 		ftp://ftp.fu-berlin.de/pub/unix/shells/zsh \
- 		ftp://ftp.ips.oz.au/pub/packages/zsh/ \
- 		ftp://ftp.uit.no/pub/unix/shells/zsh/ \
- 		ftp://ftp.iij.ad.jp/pub/misc/zsh/ \
- 		ftp://ftp.icm.edu.pl/vol/wojsyl/zsh/\
- 		ftp://ftp.sunsite.auc.dk/disk1/zsh/
-distname	zsh-${version}
-checksums	sha1 6bd905c4bf61bf3df5e5bb78f64be68366ad7517
-livecheck.check	regex 
-livecheck.url	http://www.zsh.org/pub/ 
-livecheck.regex	zsh-(4.3.\[0-9\]+)\.tar\.gz 
+master_sites    ${homepage}pub/ \
+                ftp://ftp.zsh.org/${my_name} \
+                ftp://ftp.sterling.com/${my_name}/ \
+                ftp://ftp.rge.com/pub/shells/${my_name}/ \
+                ftp://ftp.fu-berlin.de/pub/unix/shells/${my_name}/ \
+                ftp://ftp.ips.oz.au/pub/packages/${my_name}/ \
+                ftp://ftp.uit.no/pub/unix/shells/${my_name}/ \
+                ftp://ftp.iij.ad.jp/pub/misc/${my_name}/ \
+                ftp://ftp.icm.edu.pl/vol/wojsyl/${my_name}/ \
+                ftp://ftp.sunsite.auc.dk/disk1/${my_name}/ \
+                sourceforge:${my_name}
+
+dist_subdir     ${my_name}
+distname        ${my_name}-${version}
+
+checksums       [suffix ${distname}] \
+                    md5 8410a30e4f5c6160790bc3afc096424f \
+                    sha1 6bd905c4bf61bf3df5e5bb78f64be68366ad7517 \
+                    rmd160 2fe0fcf6371d2072c3b7eeae0392c7ef3665457c \
+                [suffix ${distname}-doc] \
+                    md5 1a4ab09a9d75c5ae8585ad645406f27d \
+                    sha1 83d1a38112f305892393cb036058248ebbf6168e \
+                    rmd160 768ce8ca2860139428d27a0fedf5c0724967e444
+
 depends_lib	port:libiconv port:ncurses
 configure.args	--mandir=${prefix}/share/man --infodir=${prefix}/share/info \
-		--enable-libs=-liconv --with-curses-terminfo
+		--with-curses-terminfo \
+		--enable-etcdir=${prefix}/etc
+
+test.run        yes
+test.target     check
+
+set docdir      ${prefix}/share/doc/${my_name}-${version}
+
+post-destroot {
+    # This manpage only includes every zsh manpage; as manpages are gzipped in MacPorts,
+    # includes fail, so this one is useless.
+    delete ${destroot}${prefix}/share/man/man1/zshall.1
+
+    xinstall -m 0755 -d ${destroot}${docdir}
+    xinstall -m 0644 -W ${worksrcpath} ChangeLog FEATURES LICENCE NEWS README ${destroot}${docdir}
+}
+
+post-install {
+    ui_info "If you want MacPorts' ${my_name} as login shell, you should run:"
+    ui_info "% sudo sh -c \"echo '${prefix}/bin/${my_name}' >> /etc/shells\""
+    ui_info "% chsh -s ${prefix}/bin/${my_name}"
+}
+
+platform darwin {
+    # Dynamic loadable libraries' extension is `bundle` on Darwin
+    configure.env-append DL_EXT=bundle
+}
 
 platform darwin 8 {
 	configure.env-append \
 	  CC=/usr/bin/gcc-4.0 CPP=/usr/bin/cpp-4.0 CXX=/usr/bin/g++-4.0
 	post-configure {
+        # poll(2) is broken on Darwin 8.
 		reinplace "s|#define HAVE_POLL 1|#undef HAVE_POLL|" \
 		  ${worksrcpath}/config.h
 	}
 }
 
-variant dp_completion {
-	post-destroot	{
-		file copy -force ${filespath}/_port \
-		  ${destroot}${prefix}/share/zsh/${version}/functions
-	}
+variant mp_completion description {Install port(1) completion file} {
+    post-destroot {
+        xinstall -m 0644 ${filespath}/_port \
+            ${destroot}${prefix}/share/${my_name}/${version}/functions
+    }
+}
+
+variant utf8 description {Add UTF-8 support} {
+    configure.args-append   --enable-multibyte
+}
+
+variant pcre description {Add regular expressions support in builtin functions through PCRE} {
+    configure.args-append   --enable-pcre
+    depends_lib-append      port:pcre
+}
+
+variant doc description {Install extra documentation} {
+    distfiles-append        [suffix ${distname}-doc]
+
+    post-destroot {
+        foreach {dir} {dvi html pdf} {
+            xinstall -m 0755 -d ${destroot}${docdir}/${dir}
+            eval xinstall -m 0644 [glob ${worksrcpath}/Doc/*.${dir}] ${destroot}${docdir}/${dir}
+        }
+    }
 }
 
-variant utf8 { configure.args-append --enable-multibyte }
+livecheck.distname  ${my_name}-dev
