gnome-shell/data/update-osk-layouts.sh

49 lines
1.0 KiB
Bash
Raw Normal View History

#!/bin/env bash
CLDR_LAYOUTS_TARBALL="http://www.unicode.org/Public/cldr/latest/keyboards.zip"
CLDR2JSON_GIT="git://repo.or.cz/cldr2json.git"
WORKDIR=".osk-layout-workbench"
CLDR2JSON="$WORKDIR/cldr2json/cldr2json.py"
SRCDIR="$WORKDIR/keyboards/android"
DESTDIR="osk-layouts"
GRESOURCE_FILE="gnome-shell-osk-layouts.gresource.xml"
TMP_GRESOURCE_FILE=".$GRESOURCE_FILE.tmp"
cd `dirname $0`
# Ensure work/dest dirs
rm -rf $WORKDIR
mkdir -p $WORKDIR
mkdir -p "osk-layouts"
# Download stuff on the work dir
pushd $WORKDIR
gio copy $CLDR_LAYOUTS_TARBALL .
git clone $CLDR2JSON_GIT
unzip keyboards.zip
popd
# Transform to JSON files
$CLDR2JSON $SRCDIR $DESTDIR
# Generate new gresources xml file
cat >$TMP_GRESOURCE_FILE <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/gnome/shell/osk-layouts">
EOF
for f in $DESTDIR/*.json
do
echo " <file>$(basename $f)</file>" >>$TMP_GRESOURCE_FILE
done
cat >>$TMP_GRESOURCE_FILE <<EOF
</gresource>
</gresources>
EOF
# Rewrite old gresources xml
mv $TMP_GRESOURCE_FILE $GRESOURCE_FILE