diff --git a/textproc/hs-xmlhtml/Makefile b/textproc/hs-xmlhtml/Makefile
new file mode 100644
index 00000000000..b6d1a65eb1e
--- /dev/null
+++ b/textproc/hs-xmlhtml/Makefile
@@ -0,0 +1,25 @@
+# $OpenBSD: Makefile,v 1.1.1.1 2011/09/24 19:04:46 kili Exp $
+
+COMMENT= XML parser and renderer with HTML 5 quirks mode
+
+DISTNAME= xmlhtml-0.1.5.2
+CATEGORIES= textproc
+
+# BSD3
+PERMIT_PACKAGE_CDROM = Yes
+PERMIT_PACKAGE_FTP = Yes
+PERMIT_DISTFILES_CDROM =Yes
+PERMIT_DISTFILES_FTP = Yes
+
+MODULES= lang/ghc
+
+MODGHC_BUILD = cabal hackage haddock register
+
+RUN_DEPENDS = devel/hs-blaze-builder \
+ devel/hs-parsec \
+ devel/hs-text \
+ textproc/hs-blaze-html
+
+BUILD_DEPENDS = ${RUN_DEPENDS}
+
+.include
diff --git a/textproc/hs-xmlhtml/distinfo b/textproc/hs-xmlhtml/distinfo
new file mode 100644
index 00000000000..9abad16a4a1
--- /dev/null
+++ b/textproc/hs-xmlhtml/distinfo
@@ -0,0 +1,5 @@
+MD5 (ghc/xmlhtml-0.1.5.2.tar.gz) = 2RF0sbynWnVeCnMkE81ZXg==
+RMD160 (ghc/xmlhtml-0.1.5.2.tar.gz) = jktt87i1KU5W0z32lGwNJAp0auc=
+SHA1 (ghc/xmlhtml-0.1.5.2.tar.gz) = NgGtecmFhroyIrLhNGXm/HXXUPU=
+SHA256 (ghc/xmlhtml-0.1.5.2.tar.gz) = Nag7oJpptClYPqTnxYO25Cks+F3p5dTmWIc13/DHpMQ=
+SIZE (ghc/xmlhtml-0.1.5.2.tar.gz) = 123539
diff --git a/textproc/hs-xmlhtml/pkg/DESCR b/textproc/hs-xmlhtml/pkg/DESCR
new file mode 100644
index 00000000000..76f5f2a1577
--- /dev/null
+++ b/textproc/hs-xmlhtml/pkg/DESCR
@@ -0,0 +1,5 @@
+Contains renderers and parsers for both XML and HTML 5 document
+fragments, which share data structures wo that it's easy to work
+with both. Document fragments are bits of documents, which are not
+constrained by some of the high-level structure rules (in particular,
+they may contain more than one root element).
diff --git a/textproc/hs-xmlhtml/pkg/PLIST b/textproc/hs-xmlhtml/pkg/PLIST
new file mode 100644
index 00000000000..91d94988d2d
--- /dev/null
+++ b/textproc/hs-xmlhtml/pkg/PLIST
@@ -0,0 +1,44 @@
+@comment $OpenBSD: PLIST,v 1.1.1.1 2011/09/24 19:04:46 kili Exp $
+lib/ghc/${DISTNAME}/
+lib/ghc/${DISTNAME}/HS${DISTNAME}.o
+lib/ghc/${DISTNAME}/Text/
+lib/ghc/${DISTNAME}/Text/Blaze/
+lib/ghc/${DISTNAME}/Text/Blaze/Renderer/
+lib/ghc/${DISTNAME}/Text/Blaze/Renderer/XmlHtml.hi
+lib/ghc/${DISTNAME}/Text/XmlHtml/
+lib/ghc/${DISTNAME}/Text/XmlHtml.hi
+lib/ghc/${DISTNAME}/Text/XmlHtml/Common.hi
+lib/ghc/${DISTNAME}/Text/XmlHtml/Cursor.hi
+lib/ghc/${DISTNAME}/Text/XmlHtml/HTML/
+lib/ghc/${DISTNAME}/Text/XmlHtml/HTML/Meta.hi
+lib/ghc/${DISTNAME}/Text/XmlHtml/HTML/Parse.hi
+lib/ghc/${DISTNAME}/Text/XmlHtml/HTML/Render.hi
+lib/ghc/${DISTNAME}/Text/XmlHtml/TextParser.hi
+lib/ghc/${DISTNAME}/Text/XmlHtml/XML/
+lib/ghc/${DISTNAME}/Text/XmlHtml/XML/Parse.hi
+lib/ghc/${DISTNAME}/Text/XmlHtml/XML/Render.hi
+lib/ghc/${DISTNAME}/libHS${DISTNAME}.a
+lib/ghc/${DISTNAME}/register.sh
+@exec /usr/bin/env HOME=/nonexistent %D/lib/ghc/${DISTNAME}/register.sh -v0
+@unexec /usr/bin/env HOME=/nonexistent %D/lib/ghc/${DISTNAME}/unregister.sh -v0 --force
+lib/ghc/${DISTNAME}/unregister.sh
+share/doc/hs-${DISTNAME}/
+share/doc/hs-${DISTNAME}/LICENSE
+share/doc/hs-${DISTNAME}/html/
+share/doc/hs-${DISTNAME}/html/Text-Blaze-Renderer-XmlHtml.html
+share/doc/hs-${DISTNAME}/html/Text-XmlHtml-Cursor.html
+share/doc/hs-${DISTNAME}/html/Text-XmlHtml.html
+share/doc/hs-${DISTNAME}/html/doc-index.html
+share/doc/hs-${DISTNAME}/html/frames.html
+share/doc/hs-${DISTNAME}/html/haddock-util.js
+share/doc/hs-${DISTNAME}/html/hslogo-16.png
+share/doc/hs-${DISTNAME}/html/index-frames.html
+share/doc/hs-${DISTNAME}/html/index.html
+share/doc/hs-${DISTNAME}/html/mini_Text-Blaze-Renderer-XmlHtml.html
+share/doc/hs-${DISTNAME}/html/mini_Text-XmlHtml-Cursor.html
+share/doc/hs-${DISTNAME}/html/mini_Text-XmlHtml.html
+share/doc/hs-${DISTNAME}/html/minus.gif
+share/doc/hs-${DISTNAME}/html/ocean.css
+share/doc/hs-${DISTNAME}/html/plus.gif
+share/doc/hs-${DISTNAME}/html/synopsis.png
+share/doc/hs-${DISTNAME}/html/xmlhtml.haddock