ports/117167: [New Port] textproc/kmflcomp: Compiler of Keyman keyboard sources to use with SCIM KMFL IMEngine

Nikola Lecic nikola.lecic at anthesphoria.net
Sun Oct 14 02:00:04 UTC 2007


>Number:         117167
>Category:       ports
>Synopsis:       [New Port] textproc/kmflcomp: Compiler of Keyman keyboard sources to use with SCIM KMFL IMEngine
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Oct 14 02:00:03 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator:     Nikola Lecic
>Release:        FreeBSD 6.2-RELEASE-p8 i386
>Organization:
>Environment:
System: FreeBSD nyx 6.2-RELEASE-p8 FreeBSD 6.2-RELEASE-p8 #1: Sun Oct 7 06:28:18 CEST 2007 root at nyx:/usr/obj/usr/src/sys/NYX i386


>Description:
	

This is no. 1 of 4 PRs related to the new KMFL port; they are:

KMFL:
  textproc/kmflcomp
  textproc/libkmfl
  textproc/scim-kmfl-imengine
An example keyboard:
  textproc/scim-kmfl-sil-ipa-unicode5

[Reasons for distfile/kmfl and share/doc/kmfl: there will be
potentially tens of kmfl-related ports with documentation. Sometimes
(as in submitted textproc/scim-kmfl-sil-ipa-unicode5 port) sources
and docs have non-intuitive name and scattered files.]
-------------------------------------

KMFL aims to bring Tavultesoft Keyman functionality to *nix operating
systems. KMFL is being jointly developed by SIL International
(http://www.sil.org) and Tavultesoft (http://www.tavultesoft.com).

This is compiler for keyboard sources written in Keyman keyboard
language (.kmn files). Resulting binaries (.kmfl) can be used with
SCIM KMFL IMEngine (textproc/scim-kmfl-imengine).

The powerful KMN keyboard language supports contextual deadkeys,
pre- and post-processing of keystrokes, rules grouping, 'storing'
of character classes for use in similar rules, custom and Unicode
character constants, SIL Ethnologue language codes, etc.

Official Tavultesoft repository contains keyboards that cover more
than 220 languages. Significant number of them are open source.
Ported keyboards are textproc/scim-kmfl-*.

>How-To-Repeat:
	
>Fix:

	

--- kmflcomp-0.9.6.shar begins here ---
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	kmflcomp
#	kmflcomp/files
#	kmflcomp/files/patch-kmfl_compiler-kmfl_compiler.c
#	kmflcomp/files/patch-src-utfconv.c
#	kmflcomp/pkg-message
#	kmflcomp/distinfo
#	kmflcomp/Makefile
#	kmflcomp/pkg-descr
#	kmflcomp/pkg-plist
#
echo c - kmflcomp
mkdir -p kmflcomp > /dev/null 2>&1
echo c - kmflcomp/files
mkdir -p kmflcomp/files > /dev/null 2>&1
echo x - kmflcomp/files/patch-kmfl_compiler-kmfl_compiler.c
sed 's/^X//' >kmflcomp/files/patch-kmfl_compiler-kmfl_compiler.c << 'END-of-kmflcomp/files/patch-kmfl_compiler-kmfl_compiler.c'
X--- kmfl_compiler/kmfl_compiler.c.orig        Sat Sep 15 06:23:36 2007
X+++ kmfl_compiler/kmfl_compiler.c     Sat Sep 15 06:23:42 2007
X@@ -18,7 +18,7 @@
X  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
X  *
X  */
X-const char * VERSION= "0.9.2";
X+const char * VERSION= "0.9.6";
X 
X #include <stdlib.h>
X #include <stddef.h>
END-of-kmflcomp/files/patch-kmfl_compiler-kmfl_compiler.c
echo x - kmflcomp/files/patch-src-utfconv.c
sed 's/^X//' >kmflcomp/files/patch-src-utfconv.c << 'END-of-kmflcomp/files/patch-src-utfconv.c'
X--- src/utfconv.c.orig      Sat Sep 15 05:51:39 2007
X+++ src/utfconv.c   Sat Sep 15 05:54:38 2007
X@@ -22,10 +22,10 @@
X #include <iconv.h>
X #include "kmflutfconv.h"
X 
X-
X-#define UTF8MODE "UTF8"
X-#define UTF16MODE "UTF16LE"
X-#define UTF32MODE "UTF32LE"
X+/* Fixes core dump after iconv function is called -- N.L. */
X+#define UTF8MODE "UTF-8"
X+#define UTF16MODE "UTF-16LE"
X+#define UTF32MODE "UTF-32LE"
X 
X size_t UTFConvert (
X                char * sourceCode, char * targetCode,
END-of-kmflcomp/files/patch-src-utfconv.c
echo x - kmflcomp/pkg-message
sed 's/^X//' >kmflcomp/pkg-message << 'END-of-kmflcomp/pkg-message'
X
X------------------------------------------------------------------------
X  Please note that kmflcomp only compiles keyboard sources written in
X  Keyman keyboard language (.kmn) into .kmfl binaries. KMFL is source
X  compatible with keyboards developed for Keyman. Binary keyboards
X  compiled for Keyman will not run under KMFL. KMFL is also Unicode
X  based, and does not support legacy code pages and encodings.
X
X  The Keyman keyboard language is documented in
X
X    ${PREFIX}/share/doc/kmfl/kmflcomp/KMFL-Compiler.sxw
X
X  Tavultesoft documentation is available on
X
X    http://tavultesoft.com/keymandev/documentation/help/main/guide.php
X
X  You need textproc/scim-kmfl-imengine and textproc/scim-kmfl-* ports
X  in order to use actual keyboards through SCIM.
X------------------------------------------------------------------------
END-of-kmflcomp/pkg-message
echo x - kmflcomp/distinfo
sed 's/^X//' >kmflcomp/distinfo << 'END-of-kmflcomp/distinfo'
XMD5 (kmfl/kmflcomp-0.9.6.tar.gz) = e5cf7abf5a405cef3021f0f047e17b22
XSHA256 (kmfl/kmflcomp-0.9.6.tar.gz) = 313e1f9d4d016f9dfe485ecf0dad3ba29ed7ba14ae8a44da5701273c4c27ced8
XSIZE (kmfl/kmflcomp-0.9.6.tar.gz) = 379369
XMD5 (kmfl/KMFL-Compiler.sxw) = d9bf9f5a45824354205ce8a4721b807d
XSHA256 (kmfl/KMFL-Compiler.sxw) = dedb0aee0b7d931dff48d0bcd3f9fa5c2c71d4684f9aa53e064df5bfb8b04841
XSIZE (kmfl/KMFL-Compiler.sxw) = 56675
END-of-kmflcomp/distinfo
echo x - kmflcomp/Makefile
sed 's/^X//' >kmflcomp/Makefile << 'END-of-kmflcomp/Makefile'
X# New ports collection makefile for:    kmflcomp
X# Date created:		10 October 2007
X# Whom:			Nikola Lecic <nikola.lecic at anthesphoria.net>
X#
X# $FreeBSD$
X#
X
XPORTNAME=		kmflcomp
XPORTVERSION=		0.9.6
XCATEGORIES=		textproc
XMASTER_SITES=		${MASTER_SITE_SOURCEFORGE} \
X			http://anthesphoria.net/files/distribution/
XMASTER_SITE_SUBDIR=	kmfl
XDISTFILES=		${PORTNAME}-${PORTVERSION}.tar.gz \
X			KMFL-Compiler.sxw
XDIST_SUBDIR=		kmfl
XEXTRACT_ONLY=		${PORTNAME}-${PORTVERSION}.tar.gz
X
XMAINTAINER=		nikola.lecic at anthesphoria.net
XCOMMENT=		Compiler of Keyman keyboard sources to use with SCIM KMFL IMEngine
X
XUSE_ICONV=		yes
XUSE_GETTEXT=		yes
XUSE_BISON=		yes
XUSE_XORG=		x11
XUSE_LDCONFIG=		yes
XHAS_CONFIGURE=		yes
XCONFIGURE_ARGS+=	--prefix=${LOCALBASE} \
X	 		--build=${ARCH}-portbld-freebsd${OSREL}
XCONFIGURE_ENV+=		CPPFLAGS="-I${LOCALBASE}/include" \
X			LDFLAGS="-L${LOCALBASE}/lib -lintl"
X
XKMFLDOCSDIR=		${LOCALBASE}/share/doc/kmfl
XDOCSDIR=		${KMFLDOCSDIR}/${PORTNAME}
XDOCSLIST=		${DISTDIR}/${DIST_SUBDIR}/KMFL-Compiler.sxw \
X			${WRKSRC}/AUTHORS ${WRKSRC}/COPYING ${WRKSRC}/ChangeLog
X
Xpost-patch:
X	@${REINPLACE_CMD} \
X		's|^install-data-am: install-kmflcompdocDATA|install-data-am:|' \
X		${WRKSRC}/Makefile.in
X	@${REINPLACE_CMD} -e 's|-L/usr/X11R6/lib|-L${X11BASE}/lib|' \
X		${WRKSRC}/kmfl_compiler/Makefile.in
X
Xpost-install:
X.if !defined(NOPORTDOCS)
X	${MKDIR} ${DOCSDIR}
X	@for doc in ${DOCSLIST} ; do \
X		${INSTALL_DATA} $$doc ${DOCSDIR} ; \
X	done
X.endif
X	@${CAT} ${PKGMESSAGE}
X	@${ECHO} [To display this message again, type \`pkg_info -D ${PKGNAME}\'.]
X	@${ECHO}
X
X.include <bsd.port.mk>
END-of-kmflcomp/Makefile
echo x - kmflcomp/pkg-descr
sed 's/^X//' >kmflcomp/pkg-descr << 'END-of-kmflcomp/pkg-descr'
XKMFL aims to bring Tavultesoft Keyman functionality to *nix operating
Xsystems. KMFL is being jointly developed by SIL International
X(http://www.sil.org) and Tavultesoft (http://www.tavultesoft.com).
X
XThis is compiler for keyboard sources written in Keyman keyboard
Xlanguage (.kmn files). Resulting binaries (.kmfl) can be used with
XSCIM KMFL IMEngine (textproc/scim-kmfl-imengine).
X
XThe powerful KMN keyboard language supports contextual deadkeys,
Xpre- and post-processing of keystrokes, rules grouping, 'storing'
Xof character classes for use in similar rules, custom and Unicode
Xcharacter constants, SIL Ethnologue language codes, etc.
X
XOfficial Tavultesoft repository contains keyboards that cover more
Xthan 220 languages. Significant number of them are open source.
XPorted keyboards are textproc/scim-kmfl-*.
X
XWWW: http://kmfl.sourceforge.net/
X
X-- 
Xnikola.lecic at anthesphoria.net
END-of-kmflcomp/pkg-descr
echo x - kmflcomp/pkg-plist
sed 's/^X//' >kmflcomp/pkg-plist << 'END-of-kmflcomp/pkg-plist'
Xbin/kmflcomp
Xinclude/kmfl/kmfl.h
Xinclude/kmfl/kmflcomp.h
Xinclude/kmfl/kmflutfconv.h
Xlib/libkmflcomp.a
Xlib/libkmflcomp.la
Xlib/libkmflcomp.so
Xlib/libkmflcomp.so.0
X%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
X%%PORTDOCS%%%%DOCSDIR%%/COPYING
X%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
X%%PORTDOCS%%%%DOCSDIR%%/KMFL-Compiler.sxw
X%%PORTDOCS%%@dirrm %%DOCSDIR%%
X at dirrmtry share/doc/kmfl
X at dirrm include/kmfl
END-of-kmflcomp/pkg-plist
exit
--- kmflcomp-0.9.6.shar ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list