diff --git a/sysutils/peco/Portfile b/sysutils/peco/Portfile
index 19fa642..58387ea 100644
--- a/sysutils/peco/Portfile
+++ b/sysutils/peco/Portfile
@@ -1,10 +1,14 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
 # $Id$
 
 PortSystem      1.0
 PortGroup       github 1.0
 
-github.setup    peco peco 0.3.5 v
-revision        1
+github.setup    peco peco 0.4.2 v
+github.tarball_from releases
+supported_archs i386 x86_64
+set arch        [expr {($tcl_platform(pointerSize) == 8) ? "amd64" : "386"}]
+distname        ${name}_darwin_${arch}
 categories      sysutils
 homepage        http://peco.github.io
 description     Simplistic interactive filtering tool
@@ -17,72 +21,18 @@ license         MIT
 maintainers     kimuraw openmaintainer
 platforms       darwin
 
-depends_build   port:go
-use_configure   no
-dist_subdir     go
-
-# peco
-checksums       peco-${version}.tar.gz \
-                    md5 641848c6767a3a9f98cf39e04f375220 \
-                    sha1 64aee3c3d58b3cea0a62eba615ad3d06db6ef2e8 \
-                    sha256 185be39a576de5b4a218e0a54bc1475750e7612341a4877ca80f49b420499476
+checksums       rmd160  d5fbad598e133c223e9744757f888b03c2a8d448 \
+                sha256  ef8ffd9f009522d74f8725e651fe0b0aa6ead3dc794f49e753cdd691fa92a6f0
 
-# dependencies to build. remember revbump when you change version of dependencies.
-set go-flags.version        fc93116606d0a71d7e9de0ad5734fdb4b8eae834
-set go-runewidth.version    12e0ff74603c9a3209d8bf84f8ab349fe1ad9477
-set termbox-go.version      62033d80b58736ea31beaf43348f5147913af30e
-set google-btree.version    0c05920fc3d98100a5e3f7fd339865a6e2aaa671
-# dependencies
-master_sites-append https://github.com/jessevdk/go-flags/tarball/${go-flags.version}:go-flags \
-                    https://github.com/mattn/go-runewidth/tarball/${go-runewidth.version}:go-runewidth \
-                    https://github.com/nsf/termbox-go/tarball/${termbox-go.version}:termbox-go \
-                    https://github.com/google/btree/tarball/${google-btree.version}:google-btree
-distfiles-append    jessevdk-go-flags-v${go-flags.version}.tar.gz:go-flags \
-                    mattn-go-runewidth-${go-runewidth.version}.tar.gz:go-runewidth \
-                    nsf-termbox-go-${termbox-go.version}.tar.gz:termbox-go \
-                    google-btree-${google-btree.version}.tar.gz:google-btree
-checksums-append    jessevdk-go-flags-v${go-flags.version}.tar.gz \
-                        md5 9f8181755c1b8cc75c6cb4a02f7df4ad \
-                        sha1 b2974783c11ffbbcdf4b28fe9be4f58e57cb1b65 \
-                        sha256 b9ca31c53e8ac4acc6d20cc2fd3e0b4953b7b1302ecbeafaa35b622896f3830d \
-                    mattn-go-runewidth-${go-runewidth.version}.tar.gz \
-                        md5 317aa7a94231feaf536f40f9600fd1b1 \
-                        sha1 7024c1587f064d40d5659c36bca5a3bb672b9f50 \
-                        sha256 722af0e56e90bd49ae36c7a5eb3bcc322ee9093379e5f03ba849f73cd9dd86eb \
-                    nsf-termbox-go-${termbox-go.version}.tar.gz \
-                        md5 3d60a80b309cd38e14ffba977fcc00eb \
-                        sha1 56b7382f78df5bf2a2fc89ce0586af3ee11d5899 \
-                        sha256 dae444f8b8920281d3221ff4be1dc8d7c74b37537dc111bddca464c1f9b13c5b \
-                    google-btree-${google-btree.version}.tar.gz \
-                        md5 3c20d1ca9728edd0777faf1941022d33 \
-                        sha1 27ae29bfe84f4dc714f7a3f7cf53d6082b97a1f0 \
-                        sha256 42ea86dba6bcbc055af6cdfbcfc6303695d2c9d70cf4bb882a27d55aab945d16
-# setup build sources like this:
-#   workpath/
-#       peco-0.1.12/
-#       gopath/src/github.com/
-#           peco/peco/
-#           jessevdk/go-flags-v/
-#             :
-set gopath      ${workpath}/GOPATH
-post-extract {
-    file mkdir ${gopath}/src/github.com/peco
-    ln -s ${worksrcpath} ${gopath}/src/github.com/peco/peco
-    file mkdir ${gopath}/src/github.com/jessevdk
-    move [glob ${workpath}/jessevdk-go-flags-*] ${gopath}/src/github.com/jessevdk/go-flags
-    file mkdir ${gopath}/src/github.com/mattn
-    move [glob ${workpath}/mattn-go-runewidth-*] ${gopath}/src/github.com/mattn/go-runewidth
-    file mkdir ${gopath}/src/github.com/nsf
-    move [glob ${workpath}/nsf-termbox-go-*] ${gopath}/src/github.com/nsf/termbox-go
-    file mkdir ${gopath}/src/github.com/google
-    move [glob ${workpath}/google-btree-*] ${gopath}/src/github.com/google/btree
-}
+use_configure   no
+use_zip         yes
+universal_variant no
 
-build.cmd       go
-build.target    build
-build.args      cmd/peco/peco.go
-build.env       GOPATH="${gopath}"
+build           {}
 
 destroot {
-    xinstall ${worksrcpath}/peco ${destroot}${prefix}/bin
+    xinstall -W ${worksrcpath} peco ${destroot}${prefix}/bin
+    set docdir ${prefix}/share/doc/${name}
+    xinstall -d ${destroot}${docdir}
+    xinstall -m 0644 -W ${worksrcpath} Changes README.md ${destroot}${docdir}
 }
