Date: Sun, 14 Oct 2007 03:24:20 +0200 (CEST) From: Nikola Lecic <nikola.lecic@anthesphoria.net> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/117167: [New Port] textproc/kmflcomp: Compiler of Keyman keyboard sources to use with SCIM KMFL IMEngine Message-ID: <200710140124.l9E1OKd1058581@anthesphoria.net> Resent-Message-ID: <200710140200.l9E2031O051226@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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@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@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@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@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@dirrmtry share/doc/kmfl X@dirrm include/kmfl END-of-kmflcomp/pkg-plist exit --- kmflcomp-0.9.6.shar ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200710140124.l9E1OKd1058581>