#!/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