ports/119044: New port: audio/festlex-czech, audio/festvox-czech Czech grammar and voice for festival

František Dvořák valtri at civ.zcu.cz
Wed Dec 26 18:10:01 UTC 2007


>Number:         119044
>Category:       ports
>Synopsis:       New port: audio/festlex-czech,audio/festvox-czech Czech grammar and voice for festival
>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:   Wed Dec 26 18:10:01 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator:     František Dvořák
>Release:        6.2-RELEASE-p4
>Organization:
>Environment:
>Description:
Hi,

I've tried to create ports for czech language in festival speech system:
 - audio/festlex-czech - Czech grammar and small lexicon
 - audio/festvox-czech - Czech voice diphone database

There is one hack I'm not sure about it: in festvox I removed the commands in install target in the original Makefile because I don't know how to avoid calling 'make install' during install stage.

Cheers,
  Frantisek
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

# 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:
#
#	festlex-czech
#	festlex-czech/Makefile
#	festlex-czech/distinfo
#	festlex-czech/pkg-descr
#	festlex-czech/pkg-plist
#	festlex-czech/files
#	festlex-czech/files/patch-czech.scm.in
#	festlex-czech/files/patch-czech-lexicon.out
#	festlex-czech/files/patch-czech-lexicon.scm
#	festlex-czech/files/patch-Makefile
#	festvox-czech
#	festvox-czech/Makefile
#	festvox-czech/pkg-descr
#	festvox-czech/distinfo
#	festvox-czech/pkg-plist
#	festvox-czech/files
#	festvox-czech/files/patch-czech_ph.scm.in
#
echo c - festlex-czech
mkdir -p festlex-czech > /dev/null 2>&1
echo x - festlex-czech/Makefile
sed 's/^X//' >festlex-czech/Makefile << 'END-of-festlex-czech/Makefile'
X# New ports collection makefile for:	festlex-czech
X# Date created:        			2008-04-29
X# Whom:					František Dvořák <valtri at civ.zcu.cz>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	festlex-czech
XPORTVERSION=	0.2.1
XCATEGORIES=	audio accessibility
XMASTER_SITES=	http://www.freebsoft.org/pub/projects/festival-czech/
XDISTNAME=	festival-czech-${PORTVERSION}
XDIST_SUBDIR=	festival
X
XMAINTAINER=	valtri at civ.zcu.cz
XCOMMENT=	Czech language support for Festival
X
XFHOME=		${PREFIX}/share/festival
XNO_BUILD=	yes
Xrulez=		czech-debug.scm czech-mbrola.scm czech-unisyn.scm czech.scm
Xlexicons=	czech-lexicon.scm czech-lexicon.out
X
Xpost-patch:
X	${MV} ${WRKSRC}/czech.scm ${WRKSRC}/czech.scm.in
X	${SED} -e "s, at FESTIVAL_TARGET_DIR@,${FHOME}/lib/dicts," ${WRKSRC}/czech.scm.in > ${WRKSRC}/czech.scm
X
Xpost-install:
X	${MKDIR} ${FHOME}/lib/dicts/
X	${INSTALL} -m 644 ${rulez:C/^/${WRKSRC}\//} ${FHOME}/lib/
X	${INSTALL} -m 644 ${lexicons:C/^/${WRKSRC}\//} ${FHOME}/lib/dicts/
X
X.include <bsd.port.mk>
END-of-festlex-czech/Makefile
echo x - festlex-czech/distinfo
sed 's/^X//' >festlex-czech/distinfo << 'END-of-festlex-czech/distinfo'
XMD5 (festival/festival-czech-0.2.1.tar.gz) = 8fed1217a179fd1cee0d1a20d33d9b74
XSHA256 (festival/festival-czech-0.2.1.tar.gz) = 3d2b542f14788888414856338a78a3fdbd5257e6a9b3d877a244a9f1b05c2c46
XSIZE (festival/festival-czech-0.2.1.tar.gz) = 48977
END-of-festlex-czech/distinfo
echo x - festlex-czech/pkg-descr
sed 's/^X//' >festlex-czech/pkg-descr << 'END-of-festlex-czech/pkg-descr'
XCzech support for festival speech system. It provides the lexicon and language 
Xrules.
X
XWWW: http://www.freebsoft.org/festival-czech
END-of-festlex-czech/pkg-descr
echo x - festlex-czech/pkg-plist
sed 's/^X//' >festlex-czech/pkg-plist << 'END-of-festlex-czech/pkg-plist'
Xshare/festival/lib/czech.scm
Xshare/festival/lib/czech-debug.scm
Xshare/festival/lib/czech-mbrola.scm
Xshare/festival/lib/czech-unisyn.scm
Xshare/festival/lib/dicts/czech-lexicon.out
Xshare/festival/lib/dicts/czech-lexicon.scm
X at dirrmtry share/festival/lib/dicts
X at dirrmtry share/festival/lib
X at dirrmtry share/festival
END-of-festlex-czech/pkg-plist
echo c - festlex-czech/files
mkdir -p festlex-czech/files > /dev/null 2>&1
echo x - festlex-czech/files/patch-czech.scm.in
sed 's/^X//' >festlex-czech/files/patch-czech.scm.in << 'END-of-festlex-czech/files/patch-czech.scm.in'
X--- czech.scm.orig	Wed Jun 21 09:32:07 2006
X+++ czech.scm	Sat Apr 28 23:28:07 2007
X@@ -917,7 +917,7 @@
X (lex.create "czech")
X (lex.set.phoneset "czech")
X (lex.select "czech")
X-(let ((dirs '("." "/usr/share/festival"))
X+(let ((dirs '("@FESTIVAL_TARGET_DIR@"))
X       (lexfile nil))
X   (while dirs
X     (let ((file (path-append (car dirs) czech-lexicon-file)))
END-of-festlex-czech/files/patch-czech.scm.in
echo x - festlex-czech/files/patch-czech-lexicon.out
sed 's/^X//' >festlex-czech/files/patch-czech-lexicon.out << 'END-of-festlex-czech/files/patch-czech-lexicon.out'
X--- czech-lexicon.out.orig	Wed Dec 26 17:22:12 2007
X+++ czech-lexicon.out	Wed Dec 26 17:28:09 2007
X@@ -45,7 +45,9 @@
X ("a" nil (((a) 0)))
X ("a" sym (((a:) 0)))
X ("b" nil (((b e:) 0)))
X+("Base" nil (((b e j z) 0)))
X ("c" nil (((c e:) 0)))
X+("Calc" nil (((k o: l k) 0)))
X ("cca" nil (((c i r k a) 0)))
X ("ch" nil (((ch a:) 0)))
X ("Chocomy¹l" nil (((ch o c o m i s~ l) 0)))
X@@ -78,7 +80,16 @@
X ("copyrightùm" nil (((k o p i r a j t u: m) 0)))
X ("czech" nil (((c~ e k) 0)))
X ("d" nil (((d e:) 0)))
X+("Draw" nil (((d r o:) 0)))
X ("e" nil (((e:) 0)))
X+("Einstein" nil (((a j n s~ t a j n) 0)))
X+("Einsteina" nil (((a j n s~ t a j n a) 0)))
X+("Einsteinem" nil (((a j n s~ t a j n e m) 0)))
X+("Einsteinova" nil (((a j n s~ t a j n o v a) 0)))
X+("Einsteinovi" nil (((a j n s~ t a j n o v i) 0)))
X+("Einsteinovou" nil (((a j n s~ t a j n o v o u) 0)))
X+("Einsteinovy" nil (((a j n s~ t a j n o v i) 0)))
X+("Einsteinovì" nil (((a j n s~ t a j n o v j e) 0)))
X ("Emacs" nil (((i: m e k s) 0)))
X ("Emacsech" nil (((i: m e k s e ch) 0)))
X ("Emacsem" nil (((i: m e k s e m) 0)))
X@@ -101,6 +112,7 @@
X ("Emacsùm" nil (((i: m e k s u: m) 0)))
X ("escape" nil (((i s k e j p) 0)))
X ("f" nil (((e f) 0)))
X+("Firefox" nil (((f a j r f o k s) 0)))
X ("foundation" nil (((f a u n d e j s~ n) 0)))
X ("freeware" nil (((f r i: v e: r e) 0)))
X ("freewarech" nil (((f r i: v e: r e ch) 0)))
X@@ -145,15 +157,45 @@
X ("hardwary" nil (((h a r d v e: r i) 0)))
X ("hardwarù" nil (((h a r d v e: r u:) 0)))
X ("hardwarùm" nil (((h a r d v e: r u: m) 0)))
X+("Impress" nil (((i m p r e s) 0)))
X ("j" nil (((j e:) 0)))
X ("k" nil (((k) 0)))
X ("k" sym (((k a:) 0)))
X ("Kè" nil (((k o r u n) 0)))
X ("l" nil (((e l) 0)))
X ("m" nil (((e m) 0)))
X+("Marsem" nil (((m a r z e m) 0)))
X+("Marsovy" nil (((m a r z o v i) 0)))
X+("Marsových" nil (((m a r z o v i: ch) 0)))
X+("Marsovým" nil (((m a r z o v i: m) 0)))
X+("Marsovými" nil (((m a r z o v i: m i) 0)))
X+("Marsu" nil (((m a r z u) 0)))
X+("Maryland" nil (((m e r y l e n d) 0)))
X+("Math" nil (((m a: f) 0)))
X+("Michigan" nil (((m i s~ i g e n) 0)))
X+("monitorovat" nil (((m o n i t o r o v a t) 0)))
X+("monitoruje" nil (((m o n i t o r u j e) 0)))
X+("monitorujeme" nil (((m o n i t o r u j e m e) 0)))
X+("monitorujete" nil (((m o n i t o r u j e t e) 0)))
X+("monitoruje¹" nil (((m o n i t o r u j e s~) 0)))
X+("monitoruji" nil (((m o n i t o r u j i) 0)))
X+("monitorují" nil (((m o n i t o r u j i:) 0)))
X+("Mozilla" nil (((m o z i l a) 0)))
X ("n" nil (((e n) 0)))
X+("Newton" nil (((n~ u: t n) 0)))
X+("Newtona" nil (((n~ u: t n a) 0)))
X+("Newtonem" nil (((n~ u: t n e m) 0)))
X+("Newtonova" nil (((n~ u: t n o v a) 0)))
X+("Newtonovi" nil (((n~ u: t n o v a) 0)))
X+("Newtonovou" nil (((n~ u: t n o v o u) 0)))
X+("Newtonovy" nil (((n~ u: t n o v y) 0)))
X+("Newtonovì" nil (((n~ u: t n o v j e) 0)))
X ("o" nil (((o) 0)))
X ("o" sym (((o:) 0)))
X+("office" nil (((o f i s) 0)))
X+("OpenOffice" nil (((o p e n o f i s) 0)))
X+("Orca" nil (((o r k a) 0)))
X+("Orcy" nil (((o r k y) 0)))
X ("p" nil (((p e:) 0)))
X ("pst" nil (((p s t) 0)))
X ("q" nil (((k v e:) 0)))
X@@ -205,10 +247,16 @@
X ("softwarù" nil (((s o f t v e: r u:) 0)))
X ("softwarùm" nil (((s o f t v e: r u: m) 0)))
X ("t" nil (((t e:) 0)))
X+("technika" nil (((t e ch n i k a) 0)))
X+("techniku" nil (((t e ch n i k u) 0)))
X ("u" nil (((u) 0)))
X ("u" sym (((u:) 0)))
X+("university" nil (((u n i v e r z i t y) 0)))
X ("v" nil (((v) 0)))
X ("v" sym (((v e:) 0)))
X+("Writer" nil (((v r a j t r) 0)))
X+("WWW" nil (((v e: v e: v e:) 0)))
X+("www" nil (((v e: v e: v e:) 0)))
X ("x" nil (((i k s) 0)))
X ("y" nil (((i p s i l o n) 0)))
X ("z" nil (((z) 0)))
END-of-festlex-czech/files/patch-czech-lexicon.out
echo x - festlex-czech/files/patch-czech-lexicon.scm
sed 's/^X//' >festlex-czech/files/patch-czech-lexicon.scm << 'END-of-festlex-czech/files/patch-czech-lexicon.scm'
X--- czech-lexicon.scm.orig	Wed Dec 26 17:22:02 2007
X+++ czech-lexicon.scm	Wed Dec 26 17:28:09 2007
X@@ -263,3 +263,51 @@
X ("softwary" nil (((s o f t v e: r i) 0)))
X ("softwarù" nil (((s o f t v e: r u:) 0)))
X ("softwarùm" nil (((s o f t v e: r u: m) 0)))
X+("office" nil (((o f i s) 0)))
X+("Firefox" nil (((f a j r f o k s) 0)))
X+("Mozilla" nil (((m o z i l a) 0)))
X+("OpenOffice" nil (((o p e n o f i s) 0)))
X+("Orca" nil (((o r k a) 0)))
X+("Orcy" nil (((o r k y) 0)))
X+("Base" nil (((b e j z) 0)))
X+("Calc" nil (((k o: l k) 0)))
X+("Draw" nil (((d r o:) 0)))
X+("Impress" nil (((i m p r e s) 0)))
X+("Math" nil (((m a: f) 0)))
X+("Writer" nil (((v r a j t r) 0)))
X+("www" nil (((v e: v e: v e:) 0)))
X+("WWW" nil (((v e: v e: v e:) 0)))
X+("Einstein" nil (((a j n s~ t a j n) 0)))
X+("Einsteina" nil (((a j n s~ t a j n a) 0)))
X+("Einsteinovi" nil (((a j n s~ t a j n o v i) 0)))
X+("Einsteinem" nil (((a j n s~ t a j n e m) 0)))
X+("Einsteinova" nil (((a j n s~ t a j n o v a) 0)))
X+("Einsteinovy" nil (((a j n s~ t a j n o v i) 0)))
X+("Einsteinovì" nil (((a j n s~ t a j n o v j e) 0)))
X+("Einsteinovou" nil (((a j n s~ t a j n o v o u) 0)))
X+("Newton" nil (((n~ u: t n) 0)))
X+("Newtona" nil (((n~ u: t n a) 0)))
X+("Newtonovi" nil (((n~ u: t n o v a) 0)))
X+("Newtonem" nil (((n~ u: t n e m) 0)))
X+("Newtonova" nil (((n~ u: t n o v a) 0)))
X+("Newtonovy" nil (((n~ u: t n o v y) 0)))
X+("Newtonovì" nil (((n~ u: t n o v j e) 0)))
X+("Newtonovou" nil (((n~ u: t n o v o u) 0)))
X+("university" nil (((u n i v e r z i t y) 0)))
X+("Maryland" nil (((m e r y l e n d) 0)))
X+("Michigan" nil (((m i s~ i g e n) 0)))
X+("technika" nil (((t e ch n i k a) 0)))
X+("techniku" nil (((t e ch n i k u) 0)))
X+("monitorovat" nil (((m o n i t o r o v a t) 0)))
X+("monitoruji" nil (((m o n i t o r u j i) 0)))
X+("monitoruje¹" nil (((m o n i t o r u j e s~) 0)))
X+("monitoruje" nil (((m o n i t o r u j e) 0)))
X+("monitorujeme" nil (((m o n i t o r u j e m e) 0)))
X+("monitorujete" nil (((m o n i t o r u j e t e) 0)))
X+("monitorují" nil (((m o n i t o r u j i:) 0)))
X+("Marsu" nil (((m a r z u) 0)))
X+("Marsem" nil (((m a r z e m) 0)))
X+("Marsovy" nil (((m a r z o v i) 0)))
X+("Marsových" nil (((m a r z o v i: ch) 0)))
X+("Marsovým" nil (((m a r z o v i: m) 0)))
X+("Marsovými" nil (((m a r z o v i: m i) 0)))
END-of-festlex-czech/files/patch-czech-lexicon.scm
echo x - festlex-czech/files/patch-Makefile
sed 's/^X//' >festlex-czech/files/patch-Makefile << 'END-of-festlex-czech/files/patch-Makefile'
X--- Makefile.orig	Wed Jun 21 09:32:07 2006
X+++ Makefile	Wed Dec 26 16:42:28 2007
X@@ -36,10 +36,9 @@
X all: czech-lexicon.out
X 
X %.out: %.scm
X-	festival --batch '(lex.compile "$<" "$@")'
X+	echo '(lex.compile "$<" "$@")' | festival
X 
X install: all
X-	$(INSTALL_PROGRAM) -m 644 $(distfiles) $(festival_path)/
X 
X install-strip:
X 	$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install
END-of-festlex-czech/files/patch-Makefile
echo c - festvox-czech
mkdir -p festvox-czech > /dev/null 2>&1
echo x - festvox-czech/Makefile
sed 's/^X//' >festvox-czech/Makefile << 'END-of-festvox-czech/Makefile'
X# New ports collection makefile for:   festvox-czech
X# Date created:        2008-04-29
X# Whom:                František Dvořák <valtri at civ.zcu.cz>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	festvox-czech
XPORTVERSION=	0.1
XCATEGORIES=	audio
XMASTER_SITES=	http://www.freebsoft.org/pub/projects/festival-czech-diphone-database/
XDISTNAME=	voice-czech-ph-bin-${PORTVERSION}
XDIST_SUBDIR=	festival
X
XMAINTAINER=	valtri at civ.zcu.cz
XCOMMENT=	Czech male voice for Festival
X
XRUN_DEPENDS=	${LOCALBASE}/share/festival/lib/dicts/czech-lexicon.out:${PORTSDIR}/audio/festlex-czech
X
XNO_BUILD=	yes
XUSE_GMAKE=	yes
XMAKE_ARGS=	festival_voices_path=${PREFIX}/share/festival/lib/voices
X
X.include <bsd.port.mk>
END-of-festvox-czech/Makefile
echo x - festvox-czech/pkg-descr
sed 's/^X//' >festvox-czech/pkg-descr << 'END-of-festvox-czech/pkg-descr'
XQuality free Czech diphone database.
X
XPrimary goal is for speech system Festival but it's not limited on it. Sources,
Xsound files and boundaries are available so it can be used in other free
Xspeech synthetizer systems too.
X
XWWW: http://www.freebsoft.org/festival-czech-diphone-database
END-of-festvox-czech/pkg-descr
echo x - festvox-czech/distinfo
sed 's/^X//' >festvox-czech/distinfo << 'END-of-festvox-czech/distinfo'
XMD5 (festival/voice-czech-ph-bin-0.1.tar.gz) = 7640a284577bcfa600fe931355982fd1
XSHA256 (festival/voice-czech-ph-bin-0.1.tar.gz) = f3b8229ed2c14e1bc7f4bdc24702efbf1da967f825403d23b0cc03d09f53141b
XSIZE (festival/voice-czech-ph-bin-0.1.tar.gz) = 17739803
END-of-festvox-czech/distinfo
echo x - festvox-czech/pkg-plist
sed 's/^X//' >festvox-czech/pkg-plist << 'END-of-festvox-czech/pkg-plist'
Xshare/festival/lib/voices/czech/czech_ph/festvox/czech_ph.scm
Xshare/festival/lib/voices/czech/czech_ph/group/ph.group
X at dirrm share/festival/lib/voices/czech/czech_ph/festvox
X at dirrm share/festival/lib/voices/czech/czech_ph/group
X at dirrm share/festival/lib/voices/czech/czech_ph
X at dirrmtry share/festival/lib/voices/czech
X at dirrmtry share/festival/lib/voices
END-of-festvox-czech/pkg-plist
echo c - festvox-czech/files
mkdir -p festvox-czech/files > /dev/null 2>&1
echo x - festvox-czech/files/patch-czech_ph.scm.in
sed 's/^X//' >festvox-czech/files/patch-czech_ph.scm.in << 'END-of-festvox-czech/files/patch-czech_ph.scm.in'
X--- festvox/czech_ph.scm.in.orig	Sun Apr 29 18:50:12 2007
X+++ festvox/czech_ph.scm.in	Sun Apr 29 18:50:41 2007
X@@ -10,4 +10,13 @@
X   (czech-unisyn-init 'czech_ph czech-ph-unisyn-index)
X   (set! czech-int-simple-params* czech-ph-int-params))
X 
X+(proclaim_voice
X+ 'czech_ph
X+ '((language czech)
X+   (gender male)
X+   (dialect czech)
X+   (description
X+    "Czech language voice by Free(b)soft")
X+   (coding ISO-8859-2)))
X+
X (provide 'czech_ph)
END-of-festvox-czech/files/patch-czech_ph.scm.in
exit



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



More information about the freebsd-ports-bugs mailing list