gettext: added a recipe for version 0.19.2

This commit is contained in:
Jerome Duval
2014-09-09 21:07:05 +00:00
parent a07ac714d1
commit 0722c84c0c
2 changed files with 202 additions and 0 deletions

View File

@@ -0,0 +1,123 @@
SUMMARY="GNU tools for native language support"
DESCRIPTION="
GNU 'gettext' is an important step for the GNU Translation Project, as it is \
an asset on which we may build many other steps. This package offers to \
programmers, translators, and even users, a well integrated set of tools and \
documentation. Specifically, the GNU 'gettext' utilities are a set of tools \
that provides a framework to help other GNU packages produce multi-lingual \
messages. These tools include a set of conventions about how programs should \
be written to support message catalogs, a directory and file naming \
organization for the message catalogs themselves, a runtime library supporting \
the retrieval of translated messages, and a few stand-alone programs to \
massage in various ways the sets of translatable strings, or already \
translated strings. A special GNU Emacs mode also helps interested parties in \
preparing these sets, or bringing them up to date.
"
HOMEPAGE="http://www.gnu.org/software/gettext/"
LICENSE="GNU GPL v3"
COPYRIGHT="1998, 2010 Free Software Foundation, Inc."
SRC_URI="http://ftp.gnu.org/pub/gnu/gettext/gettext-$portVersion.tar.gz"
CHECKSUM_SHA256="0c48ae6ef6e0abcf6cd9cb9dcdc593d0e1a367e82259bbe113ce88ceea9249bb"
REVISION="1"
ARCHITECTURES="x86_gcc2 x86 x86_64 arm"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
PATCHES="gettext-$portVersion.patchset"
PROVIDES="
gettext$secondaryArchSuffix = $portVersion compat >= 0.18
devel:libasprintf$secondaryArchSuffix = 0.0.0 compat >= 0
devel:libgettextlib$secondaryArchSuffix = $portVersion
devel:libgettextlib_0.19.2$secondaryArchSuffix = $portVersion
devel:libgettextpo$secondaryArchSuffix = 0.5.2 compat >= 0
devel:libgettextsrc$secondaryArchSuffix = $portVersion
devel:libgettextsrc_0.19.2$secondaryArchSuffix = $portVersion
devel:libintl$secondaryArchSuffix = 8.1.2 compat >= 8
lib:libasprintf$secondaryArchSuffix = 0.0.0 compat >= 0
lib:libgettextlib_0.19.2$secondaryArchSuffix = $portVersion
lib:libgettextpo$secondaryArchSuffix = 0.5.2 compat >= 0
lib:libgettextsrc_0.19.2$secondaryArchSuffix = $portVersion
cmd:autopoint$secondaryArchSuffix = $portVersion compat >= 0
cmd:envsubst$secondaryArchSuffix = $portVersion compat >= 0
cmd:gettext$secondaryArchSuffix = $portVersion compat >= 0
cmd:gettext.sh$secondaryArchSuffix = $portVersion compat >= 0
cmd:gettextize$secondaryArchSuffix = $portVersion compat >= 0
cmd:msgattrib$secondaryArchSuffix = $portVersion compat >= 0
cmd:msgcat$secondaryArchSuffix = $portVersion compat >= 0
cmd:msgcmp$secondaryArchSuffix = $portVersion compat >= 0
cmd:msgcomm$secondaryArchSuffix = $portVersion compat >= 0
cmd:msgconv$secondaryArchSuffix = $portVersion compat >= 0
cmd:msgen$secondaryArchSuffix = $portVersion compat >= 0
cmd:msgexec$secondaryArchSuffix = $portVersion compat >= 0
cmd:msgfilter$secondaryArchSuffix = $portVersion compat >= 0
cmd:msgfmt$secondaryArchSuffix = $portVersion compat >= 0
cmd:msggrep$secondaryArchSuffix = $portVersion compat >= 0
cmd:msginit$secondaryArchSuffix = $portVersion compat >= 0
cmd:msgmerge$secondaryArchSuffix = $portVersion compat >= 0
cmd:msgunfmt$secondaryArchSuffix = $portVersion compat >= 0
cmd:msguniq$secondaryArchSuffix = $portVersion compat >= 0
cmd:ngettext$secondaryArchSuffix = $portVersion compat >= 0
cmd:recode_sr_latin$secondaryArchSuffix = $portVersion compat >= 0
cmd:xgettext$secondaryArchSuffix = $portVersion compat >= 0
"
REQUIRES="
haiku$secondaryArchSuffix >= $haikuVersion
gettext${secondaryArchSuffix}_libintl == $portVersion base
lib:libiconv$secondaryArchSuffix
lib:libncurses$secondaryArchSuffix
lib:libstdc++$secondaryArchSuffix
"
BUILD_REQUIRES="
devel:libiconv$secondaryArchSuffix
devel:libncurses$secondaryArchSuffix
"
BUILD_PREREQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
cmd:find
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:libtoolize
cmd:make
cmd:makeinfo
"
BUILD()
{
runConfigure ./configure \
--disable-java --without-git
make $jobArgs
}
INSTALL()
{
make install
rm $libDir/charset.alias
prepareInstalledDevelLibs libasprintf libgettextpo libintl
prepareInstalledDevelLib libgettextlib '*.so' '*'
prepareInstalledDevelLib libgettextsrc '*.so' '*'
# libintl package
packageEntries libintl \
$libDir/libintl*
}
TEST()
{
cd gettext-runtime/tests
make check
}
# ----- libintl package -------------------------------------------------------
SUMMARY_libintl="The gettext internationalization library"
PROVIDES_libintl="
gettext${secondaryArchSuffix}_libintl = $portVersion compat >= 0.18
lib:libintl${secondaryArchSuffix} = 8.1.2 compat >= 8
"
REQUIRES_libintl="
haiku${secondaryArchSuffix} >= $haikuVersion
lib:libiconv${secondaryArchSuffix}
"

View File

@@ -0,0 +1,79 @@
From cd1f59d393fd365e455aa463105ae95d9ac883b1 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Tue, 9 Sep 2014 20:00:54 +0000
Subject: haiku patch
diff --git a/gettext-runtime/intl/loadmsgcat.c b/gettext-runtime/intl/loadmsgcat.c
index 570f476..114fa09 100644
--- a/gettext-runtime/intl/loadmsgcat.c
+++ b/gettext-runtime/intl/loadmsgcat.c
@@ -785,7 +785,6 @@ internal_function
_nl_load_domain (struct loaded_l10nfile *domain_file,
struct binding *domainbinding)
{
- __libc_lock_define_initialized_recursive (static, lock);
int fd = -1;
size_t size;
#ifdef _LIBC
@@ -799,6 +798,7 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
int revision;
const char *nullentry;
size_t nullentrylen;
+ __libc_lock_define_initialized_recursive (static, lock);
__libc_lock_lock_recursive (lock);
if (domain_file->decided != 0)
diff --git a/gettext-tools/src/x-lua.c b/gettext-tools/src/x-lua.c
index 9fcc20d..b0720d4 100644
--- a/gettext-tools/src/x-lua.c
+++ b/gettext-tools/src/x-lua.c
@@ -281,9 +281,9 @@ phase2_getc ()
if (c == '[')
{
- c = phase1_getc ();
int esigns = 0;
+ c = phase1_getc ();
while (c == '=')
{
esigns++;
@@ -703,11 +703,11 @@ phase3_get (token_ty *tp)
}
break;
- case '[':
+ case '[': {
+ int esigns = 0;
c = phase1_getc ();
/* Count the number of equal signs. */
- int esigns = 0;
while (c == '=')
{
esigns++;
@@ -739,10 +739,10 @@ phase3_get (token_ty *tp)
if (c == ']')
{
+ int esigns2 = 0;
c = phase1_getc ();
/* Count the number of equal signs. */
- int esigns2 = 0;
while (c == '=')
{
esigns2++;
@@ -792,7 +792,7 @@ phase3_get (token_ty *tp)
}
}
break;
-
+ }
case ']':
tp->type = token_type_rbracket;
return;
--
1.8.3.4