facf0c92e0
Red Bear OS is a full fork. All sources must be available from git clone with zero network access. Removed gitignore rules that excluded fetched source trees under recipes/*/source/, local/recipes/kde/*/source/, local/recipes/qt/*/source/, and vendor source trees. Build artifacts (target/, build/, source.tar, *.o, *.so) remain excluded. 127291 files added — kernel, relibc, base, bootloader, pkgar, all KDE/Qt frameworks, mesa, wayland, DRM drivers, and every other recipe source.
138 lines
3.8 KiB
Bash
Executable File
138 lines
3.8 KiB
Bash
Executable File
#! /bin/sh
|
|
. "${srcdir=.}/init.sh"; path_prepend_ . ../src
|
|
|
|
# Test that bindtextdomain() and wbindtextdomain(), in the same program,
|
|
# but applied to several different domains, work fine.
|
|
|
|
# Try to find a writable absolute directory name.
|
|
case "$host_os" in
|
|
mingw*)
|
|
# On native Windows, it is important that ${ldir} is an absolute directory,
|
|
# so that the test exercises a mix between directories specified as 'char *'
|
|
# and directories specified as 'wchar_t *'. (If we used a relative
|
|
# directory, the code in dcigettext.c would transform it to a 'wchar_t *'.)
|
|
if (cygpath --version) >/dev/null 2>/dev/null; then
|
|
writable=`cygpath -w "$HOME"`
|
|
else
|
|
if test -n "${HOMEDRIVE}${HOMEPATH}" && test -w "${HOMEDRIVE}${HOMEPATH}"; then
|
|
writable="${HOMEDRIVE}${HOMEPATH}"
|
|
else
|
|
writable="C:"
|
|
fi
|
|
fi
|
|
ldir="${writable}"'\gettext-intl-7-'$$
|
|
trap 'rm -fr "${ldir}"' HUP INT QUIT TERM
|
|
;;
|
|
*)
|
|
ldir="`pwd`/in-7l"
|
|
;;
|
|
esac
|
|
|
|
test -d "${ldir}" || mkdir "${ldir}"
|
|
test -d "${ldir}"/fr || mkdir "${ldir}"/fr
|
|
test -d "${ldir}"/fr/LC_MESSAGES || mkdir "${ldir}"/fr/LC_MESSAGES
|
|
|
|
test -d in-7 || mkdir in-7
|
|
test -d in-7/fr || mkdir in-7/fr
|
|
test -d in-7/fr/LC_MESSAGES || mkdir in-7/fr/LC_MESSAGES
|
|
test -d in-7/fr_FR || mkdir in-7/fr_FR
|
|
test -d in-7/fr_FR/LC_MESSAGES || mkdir in-7/fr_FR/LC_MESSAGES
|
|
|
|
cat <<EOF > in-7l.po
|
|
msgid ""
|
|
msgstr ""
|
|
"MIME-Version: 1.0\n"
|
|
"Content-Type: text/plain; charset=US-ASCII\n"
|
|
"Content-Transfer-Encoding: 7-bit\n"
|
|
|
|
msgid "dog"
|
|
msgstr "chien"
|
|
EOF
|
|
|
|
cat <<EOF > in-7-1.po
|
|
msgid ""
|
|
msgstr ""
|
|
"MIME-Version: 1.0\n"
|
|
"Content-Type: text/plain; charset=US-ASCII\n"
|
|
"Content-Transfer-Encoding: 7-bit\n"
|
|
|
|
msgid "cheese"
|
|
msgstr "fromage"
|
|
EOF
|
|
|
|
cat <<EOF > in-7-2.po
|
|
msgid ""
|
|
msgstr ""
|
|
"MIME-Version: 1.0\n"
|
|
"Content-Type: text/plain; charset=US-ASCII\n"
|
|
"Content-Transfer-Encoding: 7-bit\n"
|
|
|
|
msgid "cheese"
|
|
msgstr "camembert"
|
|
EOF
|
|
|
|
cat <<EOF > in-7-3.po
|
|
msgid ""
|
|
msgstr ""
|
|
"MIME-Version: 1.0\n"
|
|
"Content-Type: text/plain; charset=US-ASCII\n"
|
|
"Content-Transfer-Encoding: 7-bit\n"
|
|
|
|
msgid "jam"
|
|
msgstr "confiture"
|
|
EOF
|
|
|
|
: ${MSGFMT=msgfmt}
|
|
${MSGFMT} -o "${ldir}"/fr/LC_MESSAGES/tstlib.mo in-7l.po
|
|
${MSGFMT} -o in-7/fr/LC_MESSAGES/tstfoo.mo in-7-1.po
|
|
${MSGFMT} -o in-7/fr_FR/LC_MESSAGES/tstfoo.mo in-7-2.po
|
|
${MSGFMT} -o in-7/fr/LC_MESSAGES/tstbar.mo in-7-3.po
|
|
|
|
: ${DIFF=diff}
|
|
cat <<EOF > in-7.ok
|
|
chien
|
|
confiture
|
|
camembert
|
|
EOF
|
|
|
|
: ${LOCALE_FR=fr_FR}
|
|
: ${LOCALE_FR_UTF8=fr_FR.UTF-8}
|
|
if test $LOCALE_FR != none; then
|
|
case "$host_os" in
|
|
cygwin*)
|
|
# On Cygwin, file names are interpreted according to the character
|
|
# encoding of the current locale, see
|
|
# <https://cygwin.com/cygwin-ug-net/setup-locale.html>.
|
|
# Therefore arbitrary Unicode characters are only supported in UTF-8
|
|
# locales (including "C.UTF-8") and in the "C" locale. In particular,
|
|
# they are not supported in the fr_FR.ISO-8859-1 locale.
|
|
;;
|
|
*)
|
|
prepare_locale_ in-7/fr in-7/$LOCALE_FR
|
|
prepare_locale_ in-7/fr_FR in-7/$LOCALE_FR
|
|
prepare_locale_ "${ldir}"/fr "${ldir}"/$LOCALE_FR
|
|
../intl-7-prg "${ldir}" in-7 $LOCALE_FR > in-7.tmp || Exit 1
|
|
LC_ALL=C tr -d '\r' < in-7.tmp > in-7.out || Exit 1
|
|
${DIFF} in-7.ok in-7.out || Exit 1
|
|
;;
|
|
esac
|
|
fi
|
|
if test $LOCALE_FR_UTF8 != none; then
|
|
prepare_locale_ in-7/fr in-7/$LOCALE_FR_UTF8
|
|
prepare_locale_ in-7/fr_FR in-7/$LOCALE_FR_UTF8
|
|
prepare_locale_ "${ldir}"/fr "${ldir}"/$LOCALE_FR_UTF8
|
|
../intl-7-prg "${ldir}" in-7 $LOCALE_FR_UTF8 > in-7.tmp || Exit 1
|
|
LC_ALL=C tr -d '\r' < in-7.tmp > in-7.out || Exit 1
|
|
${DIFF} in-7.ok in-7.out || Exit 1
|
|
fi
|
|
if test $LOCALE_FR = none && test $LOCALE_FR_UTF8 = none; then
|
|
if test -f /usr/bin/localedef; then
|
|
echo "Skipping test: no french locale is installed"
|
|
else
|
|
echo "Skipping test: no french locale is supported"
|
|
fi
|
|
Exit 77
|
|
fi
|
|
|
|
Exit 0
|