Clone in a terminal:
Commit a5172d3
Johan Mattsson - 2013-02-24T10:47:33+00:00
a5172d3c67547f1ff5569765ed681efdcd63b9b5johan.mattsson.m@gmail.com

script folder

Changed files (36)

Diff

diff --git a/bavala.py b/bavala.pydeleted file mode 100644index 86aa61b..0000000--- a/bavala.py+++ /dev/null@@ -1,144 +0,0 @@-"""bavala is a build-tool for Vala based on doit (http://pydoit.org)"""--import glob-from os.path import join--from doit.action import CmdAction---def cmd(name, *args):-    """create string for command line"""-    parts = [name]-    for item in args:-        if isinstance(item, basestring):-            parts.append(item)-        elif isinstance(item, dict):-            for param, value in item.iteritems():-                if isinstance(value, basestring):-                    value = [value]-                parts.extend('--{0} {1}'.format(param, v) for v in value)-        else:-            parts.extend(item)-    return ' '.join(parts)----class Vala(object):-    """helper to generate tasks to compile vala code"""--    def __init__(self, src, build, pkg_libs, library=None, vala_deps=None):-        self.src = src-        self.build = build-        self.library = library-        self.pkg_libs = pkg_libs-        self.vala_deps = vala_deps or []--        self.vala = list(glob.glob(src + '/*.vala'))-        self.c = list(glob.glob(src + '/*.c')) # copy regular c sources-        self.cc = [join(build, f) for f in self.c]-        self.cc += [join(build, f.replace('.vala', '.c')) for f in self.vala]-        self.obj = [f.replace('.c', '.o') for f in self.cc]-        self.obj += [join(build, f.replace('.vala', '.o')) for f in self.vala]-        -        if library:-            self.header = join(build, library) + '.h'-            self.vapi = join(build, library) + '.vapi'-            self.so = join(build, src) + '.so'---    def gen_c(self, opts):-        """translate code from vala to C and create .vapi"""-        options = ['--ccode', '--save-temps']-        options.extend(opts)-        params = {-            'basedir': join(self.build, self.src),-            'vapidir': './',-            'pkg': self.pkg_libs,-            }-        if self.library:-            params['library'] = self.library-            params['vapi'] = self.vapi-            params['header'] = self.header--        dep_vapi = [d.vapi for d in self.vala_deps]-        action = cmd('valac', options, params, dep_vapi, self.vala)-        targets = self.cc[:]-        if self.library:-            targets += [self.header, self.vapi]-        -        for f in self.c:-            yield {-                'name': 'copy_c',-                'actions': [ -                    'mkdir -p '+  self.build + '/' + self.src + '/', -                    'cp ' + f + ' ' + self.build + '/' + self.src + '/'-                    ],-                }-                                    -        yield {-            'name': 'compile_c',-            'actions': [ action ],-            'file_dep': self.vala + dep_vapi,-            'targets': targets,-            }---    def gen_o(self, opts):-        """compile C files to obj `.o` """-        def compile_cmd(conf, opts, libs, pos):-            flags = [conf[l].strip() for l in libs]-            return cmd('gcc', opts, flags, pos)--        for cc, obj in zip(self.cc, self.obj):-            pos = ["-c " + cc, "-o " + obj ]-            cmd_args = {'libs':self.pkg_libs, 'opts':opts, 'pos':pos}-            action = CmdAction((compile_cmd, [], cmd_args))-            yield {-                'name': obj.rsplit('/')[-1],-                'file_dep': [ cc ],-                'actions': [ action ],-                'getargs': { 'conf': ('pkg_flags', 'out') },-                'targets': [ obj ],-                }---    def gen_so(self):-        """generate ".so" lib file"""-        def compile_cmd(conf, libs):-            obj_glob = join(self.build, self.src, '*.o')-            opts = ['-shared ' + obj_glob,-                    '-o ' + self.so ]-            flags = [conf[l].strip() for l in libs]-            return cmd('gcc', opts, flags)--        return {-            'name': self.so.rsplit('/')[-1],-            'actions': [ CmdAction((compile_cmd, [], {'libs':self.pkg_libs})) ],-            'getargs': { 'conf': ('pkg_flags', 'out') },-            'file_dep': self.obj,-            'targets': [ self.so ],-            }---    def gen_bin(self, opts):-        """generate binary"""-        def compile_cmd(conf, opts, libs):-            flags = [conf[l].strip() for l in libs]-            return cmd('gcc', opts, flags)--        bin_path = join(self.build, 'bin')-        target = join(bin_path, self.src)-        opts = (self.cc + opts +-                ['-o ' + target, '-I ' + self.build, '-L ' + self.build] +-                ['-l ' + d.library for d in self.vala_deps])-        action = CmdAction((compile_cmd, [], {'opts':opts, 'libs':self.pkg_libs}))-        yield {-            'name': "bin",-            'actions': [ 'mkdir -p %s' % bin_path, action ],-            'getargs': { 'conf': ('pkg_flags', 'out') },-            'file_dep': self.cc + [ d.so for d in self.vala_deps ],-            'targets': [ target ],-            }---diff --git a/build_macport.py b/build_macport.pydeleted file mode 100755index 49d855a..0000000--- a/build_macport.py+++ /dev/null@@ -1,80 +0,0 @@-#!/usr/bin/python--import os-import shutil-import subprocess-import sys-from optparse import OptionParser--import write_config--def run(cmd):-	process = subprocess.Popen (cmd, shell=True)-	process.communicate()[0]-	if not process.returncode == 0:-		print("Error: " + cmd)-		exit(1)--def build ():-	#libbirdfont-	run("rm -rf build")-	run("mkdir -p build/libbirdfont")-	run("mkdir -p build/bin")--	run("valac -C --basedir build/libbirdfont/ --enable-experimental-non-null --enable-experimental --define=MAC --library libbirdfont -H build/libbirdfont/birdfont.h libbirdfont/* --pkg libxml-2.0 --pkg gio-2.0  --pkg cairo --pkg libsoup-2.4 --pkg gdk-pixbuf-2.0 --pkg webkit-1.0")-	run("cp libbirdfont/*.c build/libbirdfont/")--	run("""gcc -c build/libbirdfont/*.c -shared -fno-common -fPIC -D 'GETTEXT_PACKAGE="birdfont"' $(pkg-config --cflags --libs libxml-2.0) $(pkg-config --cflags --libs gio-2.0) $(pkg-config --cflags --libs cairo) $(pkg-config --cflags --libs glib-2.0) $(pkg-config --cflags --libs gdk-pixbuf-2.0) $(pkg-config --cflags --libs webkit-1.0) -I ./build/mac/birdfont""")-	run("mv ./*.o build/libbirdfont/ ")--	run("gcc -dynamiclib -Wl,-headerpad_max_install_names,-undefined,dynamic_lookup,-compatibility_version,1.0,-current_version,1.0,-install_name,/usr/local/lib/libbirdfont.dylib -shared build/libbirdfont/*.o $(pkg-config --cflags --libs libxml-2.0) $(pkg-config --cflags --libs gio-2.0) $(pkg-config --cflags --libs cairo) $(pkg-config --cflags --libs glib-2.0) $(pkg-config --cflags --libs gdk-pixbuf-2.0) $(pkg-config --cflags --libs webkit-1.0) -shared -o libbirdfont.dylib")-	run("mv libbirdfont.dylib build/bin/")--	# birdfont-	run("mkdir -p build/birdfont")-	-	run("valac -C --enable-experimental-non-null --enable-experimental --define=MAC birdfont/* --vapidir=./ --pkg libxml-2.0 --pkg gio-2.0  --pkg cairo --pkg libsoup-2.4 --pkg gdk-pixbuf-2.0 --pkg webkit-1.0 --pkg gtk+-2.0 --pkg libbirdfont")-	run("mv birdfont/*.c build/birdfont/")--	run("""gcc -c ./build/libbirdfont/birdfont.h build/birdfont/*.c -D 'GETTEXT_PACKAGE="birdfont"' $(pkg-config --cflags libxml-2.0) $(pkg-config --cflags gio-2.0) $(pkg-config --cflags cairo) $(pkg-config --cflags glib-2.0) $(pkg-config --cflags gdk-pixbuf-2.0) $(pkg-config --cflags webkit-1.0) -I ./build/libbirdfont/""")-	run("mv ./*.o build/birdfont/")--	run("gcc build/birdfont/*.o ./build/bin/libbirdfont.dylib $(pkg-config --cflags --libs libxml-2.0) $(pkg-config --cflags --libs gio-2.0) $(pkg-config --cflags --libs cairo) $(pkg-config --cflags --libs glib-2.0) $(pkg-config --cflags --libs gdk-pixbuf-2.0) $(pkg-config --cflags --libs webkit-1.0) $(pkg-config --cflags --libs gtk+-2.0) -o ./build/bin/birdfont")--	# birdfont-export-	run("mkdir -p build/birdfont-export")-	-	run("valac -C --enable-experimental-non-null --enable-experimental --define=MAC birdfont-export/* --vapidir=./ --pkg libxml-2.0 --pkg gio-2.0  --pkg cairo --pkg libsoup-2.4 --pkg gdk-pixbuf-2.0 --pkg webkit-1.0 --pkg gtk+-2.0 --pkg libbirdfont")-	run("mv birdfont-export/*.c build/birdfont-export/")--	run("""gcc -c ./build/libbirdfont/birdfont.h build/birdfont-export/*.c -D 'GETTEXT_PACKAGE="birdfont"' $(pkg-config --cflags libxml-2.0) $(pkg-config --cflags gio-2.0) $(pkg-config --cflags cairo) $(pkg-config --cflags glib-2.0) $(pkg-config --cflags gdk-pixbuf-2.0) $(pkg-config --cflags webkit-1.0) -I ./build/libbirdfont/""")-	run("mv ./*.o build/birdfont-export/")--	run("gcc build/birdfont-export/*.o ./build/bin/libbirdfont.dylib $(pkg-config --cflags --libs libxml-2.0) $(pkg-config --cflags --libs gio-2.0) $(pkg-config --cflags --libs cairo) $(pkg-config --cflags --libs glib-2.0) $(pkg-config --cflags --libs gdk-pixbuf-2.0) $(pkg-config --cflags --libs webkit-1.0) $(pkg-config --cflags --libs gtk+-2.0) -o ./build/bin/birdfont-export")--	run("touch build/installed")-	run("touch build/configured")--	# application launcher-	run("mkdir -p build/BirdFont.app")-	run("mkdir -p build/BirdFont.app/Contents")-	run("mkdir -p build/BirdFont.app/Contents/MacOs")-	run("mkdir -p build/BirdFont.app/Contents/Resources")--	run("cp mac/birdfont.sh build/BirdFont.app/Contents/MacOs")-	run("cp mac/Info.plist build/BirdFont.app/Contents/")	-	run("cp mac/birdfont.icns build/BirdFont.app/Contents/Resources")--parser = OptionParser()-parser.add_option("-p", "--prefix", dest="prefix", help="install prefix", metavar="PREFIX")--(options, args) = parser.parse_args()--if not options.prefix:-	options.prefix = "/usr"--write_config.write_config (options.prefix)--build ()--diff --git a/configure b/configureindex 6226c8d..8b96be3 100755--- a/configure+++ b/configure@@ -4,8 +4,8 @@ import os import sys import time; from optparse import OptionParser-import version-import write_config+from scripts import version+from scripts import configfile import re  VERSION = version.VERSION@@ -84,4 +84,4 @@ if not options.prefix: 	options.prefix = "/usr"  configure ()-write_config.write_config (options.prefix)+configfile.write_config (options.prefix)diff --git a/dodo.py b/dodo.pyindex 7c29727..928e25e 100644--- a/dodo.py+++ b/dodo.py@@ -1,11 +1,11 @@ import os import glob import subprocess-import version  from doit.tools import run_once from doit.action import CmdAction-from bavala import Vala+from scripts.bavala import Vala+from scripts import version  VERSION = version.VERSION @@ -105,7 +105,7 @@ def task_man():     for name in ("birdfont.1", "birdfont-export.1"):         yield {             'name': name,-            'file_dep': ['linux/%s' % name],+            'file_dep': ['resources/linux/%s' % name],             'targets': ['build/%s.gz' % name],             'actions': ["gzip -9 -c %(dependencies)s > %(targets)s"],             }diff --git a/install b/installindex 94ed45f..52a636a 100755--- a/install+++ b/install@@ -50,8 +50,8 @@ for file in os.listdir('./layout'): for file in os.listdir('./icons'): 	install ('icons/' + file, '/share/birdfont/icons') -install ('linux/birdfont.desktop', '/share/applications')-install ('linux/birdfont.png', '/share/icons/hicolor/48x48/apps')+install ('resources/linux/birdfont.desktop', '/share/applications')+install ('resources/linux/birdfont.png', '/share/icons/hicolor/48x48/apps')  install ('build/bin/birdfont', '/bin') install ('build/bin/birdfont-export', '/bin')diff --git a/linux/birdfont-export.1 b/linux/birdfont-export.1deleted file mode 100644index 22056d3..0000000--- a/linux/birdfont-export.1+++ /dev/null@@ -1,26 +0,0 @@-.TH BIRDFONT-EXPORT 1 LOCAL--.SH NAME-birdfont-export - generate TTF, EOT and SVG files from FFI-files-.SH SYNOPSIS-.B birdfont-export [options] file-.SH DESCRIPTION-birdfont-export generates fonts that can be installed and on -your computer or deployed on your website.--See http://birdfont.org for use cases.-.SH OPTIONS-.TP 5--h, --help-Print command line options.-.TP--o, --output [directory]-Write files to this directory-.TP--s, --svg-Write SVG font-.TP --t, --ttf-Write TTF and EOT fonts-.SH AUTHOR-Johan Mattssondiff --git a/linux/birdfont.1 b/linux/birdfont.1deleted file mode 100644index 34c8e26..0000000--- a/linux/birdfont.1+++ /dev/null@@ -1,32 +0,0 @@-.TH BIRDFONT 1 LOCAL--.SH NAME-birdfont - font editor-.SH SYNOPSIS-.B birdfont [file] [options]-.SH DESCRIPTION-birdfont lets you edit and create font files.--See http://birdfont.org-.SH OPTIONS-.TP--c, --show-coordinates-show coordinate in glyph view-.TP--e, --exit-exit if a testcase failes-.TP--f, --fatal-warning-treat warnings as fatal-.TP--h, --help-show command line options-.TP--s, --slow-sleep between each command in test suite-.TP--t [testcase]-run tests-.SH AUTHOR-Johan Mattsson-diff --git a/linux/birdfont.desktop b/linux/birdfont.desktopdeleted file mode 100644index c5f9743..0000000--- a/linux/birdfont.desktop+++ /dev/null@@ -1,12 +0,0 @@-[Desktop Entry]-Name=Birdfont-Name[ru]=Birdfont-Comment=SVG Fonts editor-Comment[ru]=Редактор шрифтов SVG-Exec=birdfont %U-Icon=birdfont-StartupWMClass=birdfont-Terminal=false-Type=Application-Categories=Graphics;-diff --git a/linux/birdfont.png b/linux/birdfont.pngdeleted file mode 100644index ab2c316..0000000Binary files a/linux/birdfont.png and /dev/null differdiff --git a/mac/Info.plist b/mac/Info.plistdeleted file mode 100644index 4c04545..0000000--- a/mac/Info.plist+++ /dev/null@@ -1,48 +0,0 @@-<?xml version="1.0" encoding="UTF-8"?>-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">-<plist version="1.0">-<dict>-	<key>CFBundleDevelopmentRegion</key>-	<string>English</string>-	<key>CFBundleDisplayName</key>-	<string>birdfont</string>-	<key>CFBundleExecutable</key>-	<string>birdfont.sh</string>-	<key>CFBundleGetInfoString</key>-	<string>Birdfont</string>-	<key>CFBundleIconFile</key>-	<string>birdfont.icns</string>-	<key>CFBundleIdentifier</key>-	<string>org.birdfont</string>-	<key>CFBundleInfoDictionaryVersion</key>-	<string>6.0</string>-	<key>CFBundleName</key>-	<string>makeBundle</string>-	<key>CFBundlePackageType</key>-	<string>APPL</string>-	<key>CFBundleShortVersionString</key>-	<string>1.0</string>-	<key>CFBundleSignature</key>-	<string>nono</string>-	<key>CFBundleVersion</key>-	<string>1.0</string>-	<key>LSEnvironment</key>-	<dict>-		<key>APP_BUNDLER</key>-		<string>makeBundle.tcl 1.0</string>-	</dict>-	<key>LSHasLocalizedDisplayName</key>-	<false/>-	<key>LSUIElement</key>-	<false/>-	<key>NSAppleScriptEnabled</key>-	<false/>-	<key>NSHumanReadableCopyright</key>-	<string>Birdfont Copyright Johan Mattsson and others. See AUTHORS file.</string>-	<key>NSMainNibFile</key>-	<string>MainMenu</string>-	<key>NSPrincipalClass</key>-	<string>NSApplication</string>-</dict>-</plist>-diff --git a/mac/birdfont.icns b/mac/birdfont.icnsdeleted file mode 100644index 295644d..0000000Binary files a/mac/birdfont.icns and /dev/null differdiff --git a/mac/birdfont.sh b/mac/birdfont.shdeleted file mode 100755index c27eb94..0000000--- a/mac/birdfont.sh+++ /dev/null@@ -1,3 +0,0 @@-#!/bin/bash-cd "${0%/*}"-/opt/local/bin/birdfont diff --git a/mac/install_macport.py b/mac/install_macport.pydeleted file mode 100755index 09927ba..0000000--- a/mac/install_macport.py+++ /dev/null@@ -1,45 +0,0 @@-#!/usr/bin/python-import os-import subprocess-import glob-from optparse import OptionParser--def install (file, dir):-	if dest == "":-		f = prefix + dir + '/'-	else:-		f = dest + prefix + dir + '/'-		-	s = file.rfind ('/')-	if s > -1:-		f += file[s + 1:]-	else:-		f += file-	print ("install: " + f + " in " + file + ' ' + dest + prefix + dir + '/')-	subprocess.check_call ('install -d ' + dest + prefix + dir, shell=True)-	subprocess.check_call ('install ' + file + ' ' + dest + prefix + dir + '/', shell=True)--parser = OptionParser()-parser.add_option ("-p", "--prefix", dest="prefix", help="install prefix", metavar="PREFIX")-parser.add_option ("-d", "--dest", dest="dest", help="install to this directory", metavar="DEST")--(options, args) = parser.parse_args()--if not options.prefix:-	options.prefix = "/opt/local"--if not options.dest:-	options.dest = ""--prefix = options.prefix-dest = options.dest--install ('build/bin/birdfont', '/bin')-install ('build/bin/birdfont-export', '/bin')	-install ('build/bin/libbirdfont.dylib', '/lib')--# install application launcher-subprocess.check_call ('mkdir -p ' + dest + '/Applications/', shell=True)-subprocess.check_call ('cp -r build/BirdFont.app ' + dest + '/Applications/', shell=True)--diff --git a/resources/linux/birdfont-export.1 b/resources/linux/birdfont-export.1new file mode 100644index 0000000..22056d3--- /dev/null+++ b/resources/linux/birdfont-export.1@@ -0,0 +1,26 @@+.TH BIRDFONT-EXPORT 1 LOCAL++.SH NAME+birdfont-export - generate TTF, EOT and SVG files from FFI-files+.SH SYNOPSIS+.B birdfont-export [options] file+.SH DESCRIPTION+birdfont-export generates fonts that can be installed and on +your computer or deployed on your website.++See http://birdfont.org for use cases.+.SH OPTIONS+.TP 5+-h, --help+Print command line options.+.TP+-o, --output [directory]+Write files to this directory+.TP+-s, --svg+Write SVG font+.TP +-t, --ttf+Write TTF and EOT fonts+.SH AUTHOR+Johan Mattssondiff --git a/resources/linux/birdfont.1 b/resources/linux/birdfont.1new file mode 100644index 0000000..34c8e26--- /dev/null+++ b/resources/linux/birdfont.1@@ -0,0 +1,32 @@+.TH BIRDFONT 1 LOCAL++.SH NAME+birdfont - font editor+.SH SYNOPSIS+.B birdfont [file] [options]+.SH DESCRIPTION+birdfont lets you edit and create font files.++See http://birdfont.org+.SH OPTIONS+.TP+-c, --show-coordinates+show coordinate in glyph view+.TP+-e, --exit+exit if a testcase failes+.TP+-f, --fatal-warning+treat warnings as fatal+.TP+-h, --help+show command line options+.TP+-s, --slow+sleep between each command in test suite+.TP+-t [testcase]+run tests+.SH AUTHOR+Johan Mattsson+diff --git a/resources/linux/birdfont.desktop b/resources/linux/birdfont.desktopnew file mode 100644index 0000000..c5f9743--- /dev/null+++ b/resources/linux/birdfont.desktop@@ -0,0 +1,12 @@+[Desktop Entry]+Name=Birdfont+Name[ru]=Birdfont+Comment=SVG Fonts editor+Comment[ru]=Редактор шрифтов SVG+Exec=birdfont %U+Icon=birdfont+StartupWMClass=birdfont+Terminal=false+Type=Application+Categories=Graphics;+diff --git a/resources/linux/birdfont.png b/resources/linux/birdfont.pngnew file mode 100644index 0000000..ab2c316Binary files /dev/null and b/resources/linux/birdfont.png differdiff --git a/resources/mac/Info.plist b/resources/mac/Info.plistnew file mode 100644index 0000000..4c04545--- /dev/null+++ b/resources/mac/Info.plist@@ -0,0 +1,48 @@+<?xml version="1.0" encoding="UTF-8"?>+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">+<plist version="1.0">+<dict>+	<key>CFBundleDevelopmentRegion</key>+	<string>English</string>+	<key>CFBundleDisplayName</key>+	<string>birdfont</string>+	<key>CFBundleExecutable</key>+	<string>birdfont.sh</string>+	<key>CFBundleGetInfoString</key>+	<string>Birdfont</string>+	<key>CFBundleIconFile</key>+	<string>birdfont.icns</string>+	<key>CFBundleIdentifier</key>+	<string>org.birdfont</string>+	<key>CFBundleInfoDictionaryVersion</key>+	<string>6.0</string>+	<key>CFBundleName</key>+	<string>makeBundle</string>+	<key>CFBundlePackageType</key>+	<string>APPL</string>+	<key>CFBundleShortVersionString</key>+	<string>1.0</string>+	<key>CFBundleSignature</key>+	<string>nono</string>+	<key>CFBundleVersion</key>+	<string>1.0</string>+	<key>LSEnvironment</key>+	<dict>+		<key>APP_BUNDLER</key>+		<string>makeBundle.tcl 1.0</string>+	</dict>+	<key>LSHasLocalizedDisplayName</key>+	<false/>+	<key>LSUIElement</key>+	<false/>+	<key>NSAppleScriptEnabled</key>+	<false/>+	<key>NSHumanReadableCopyright</key>+	<string>Birdfont Copyright Johan Mattsson and others. See AUTHORS file.</string>+	<key>NSMainNibFile</key>+	<string>MainMenu</string>+	<key>NSPrincipalClass</key>+	<string>NSApplication</string>+</dict>+</plist>+diff --git a/resources/mac/birdfont.icns b/resources/mac/birdfont.icnsnew file mode 100644index 0000000..295644dBinary files /dev/null and b/resources/mac/birdfont.icns differdiff --git a/resources/mac/birdfont.sh b/resources/mac/birdfont.shnew file mode 100755index 0000000..c27eb94--- /dev/null+++ b/resources/mac/birdfont.sh@@ -0,0 +1,3 @@+#!/bin/bash+cd "${0%/*}"+/opt/local/bin/birdfont diff --git a/resources/win32/birdfont.ico b/resources/win32/birdfont.iconew file mode 100644index 0000000..968d137Binary files /dev/null and b/resources/win32/birdfont.ico differdiff --git a/resources/win32/icon.rc b/resources/win32/icon.rcnew file mode 100644index 0000000..2a37b4c--- /dev/null+++ b/resources/win32/icon.rc@@ -0,0 +1 @@+id ICON "../win32/birdfont.ico"diff --git a/scripts/__init__.py b/scripts/__init__.pynew file mode 100644index 0000000..e69de29--- /dev/null+++ b/scripts/__init__.pydiff --git a/scripts/bavala.py b/scripts/bavala.pynew file mode 100644index 0000000..86aa61b--- /dev/null+++ b/scripts/bavala.py@@ -0,0 +1,144 @@+"""bavala is a build-tool for Vala based on doit (http://pydoit.org)"""++import glob+from os.path import join++from doit.action import CmdAction+++def cmd(name, *args):+    """create string for command line"""+    parts = [name]+    for item in args:+        if isinstance(item, basestring):+            parts.append(item)+        elif isinstance(item, dict):+            for param, value in item.iteritems():+                if isinstance(value, basestring):+                    value = [value]+                parts.extend('--{0} {1}'.format(param, v) for v in value)+        else:+            parts.extend(item)+    return ' '.join(parts)++++class Vala(object):+    """helper to generate tasks to compile vala code"""++    def __init__(self, src, build, pkg_libs, library=None, vala_deps=None):+        self.src = src+        self.build = build+        self.library = library+        self.pkg_libs = pkg_libs+        self.vala_deps = vala_deps or []++        self.vala = list(glob.glob(src + '/*.vala'))+        self.c = list(glob.glob(src + '/*.c')) # copy regular c sources+        self.cc = [join(build, f) for f in self.c]+        self.cc += [join(build, f.replace('.vala', '.c')) for f in self.vala]+        self.obj = [f.replace('.c', '.o') for f in self.cc]+        self.obj += [join(build, f.replace('.vala', '.o')) for f in self.vala]+        +        if library:+            self.header = join(build, library) + '.h'+            self.vapi = join(build, library) + '.vapi'+            self.so = join(build, src) + '.so'+++    def gen_c(self, opts):+        """translate code from vala to C and create .vapi"""+        options = ['--ccode', '--save-temps']+        options.extend(opts)+        params = {+            'basedir': join(self.build, self.src),+            'vapidir': './',+            'pkg': self.pkg_libs,+            }+        if self.library:+            params['library'] = self.library+            params['vapi'] = self.vapi+            params['header'] = self.header++        dep_vapi = [d.vapi for d in self.vala_deps]+        action = cmd('valac', options, params, dep_vapi, self.vala)+        targets = self.cc[:]+        if self.library:+            targets += [self.header, self.vapi]+        +        for f in self.c:+            yield {+                'name': 'copy_c',+                'actions': [ +                    'mkdir -p '+  self.build + '/' + self.src + '/', +                    'cp ' + f + ' ' + self.build + '/' + self.src + '/'+                    ],+                }+                                    +        yield {+            'name': 'compile_c',+            'actions': [ action ],+            'file_dep': self.vala + dep_vapi,+            'targets': targets,+            }+++    def gen_o(self, opts):+        """compile C files to obj `.o` """+        def compile_cmd(conf, opts, libs, pos):+            flags = [conf[l].strip() for l in libs]+            return cmd('gcc', opts, flags, pos)++        for cc, obj in zip(self.cc, self.obj):+            pos = ["-c " + cc, "-o " + obj ]+            cmd_args = {'libs':self.pkg_libs, 'opts':opts, 'pos':pos}+            action = CmdAction((compile_cmd, [], cmd_args))+            yield {+                'name': obj.rsplit('/')[-1],+                'file_dep': [ cc ],+                'actions': [ action ],+                'getargs': { 'conf': ('pkg_flags', 'out') },+                'targets': [ obj ],+                }+++    def gen_so(self):+        """generate ".so" lib file"""+        def compile_cmd(conf, libs):+            obj_glob = join(self.build, self.src, '*.o')+            opts = ['-shared ' + obj_glob,+                    '-o ' + self.so ]+            flags = [conf[l].strip() for l in libs]+            return cmd('gcc', opts, flags)++        return {+            'name': self.so.rsplit('/')[-1],+            'actions': [ CmdAction((compile_cmd, [], {'libs':self.pkg_libs})) ],+            'getargs': { 'conf': ('pkg_flags', 'out') },+            'file_dep': self.obj,+            'targets': [ self.so ],+            }+++    def gen_bin(self, opts):+        """generate binary"""+        def compile_cmd(conf, opts, libs):+            flags = [conf[l].strip() for l in libs]+            return cmd('gcc', opts, flags)++        bin_path = join(self.build, 'bin')+        target = join(bin_path, self.src)+        opts = (self.cc + opts ++                ['-o ' + target, '-I ' + self.build, '-L ' + self.build] ++                ['-l ' + d.library for d in self.vala_deps])+        action = CmdAction((compile_cmd, [], {'opts':opts, 'libs':self.pkg_libs}))+        yield {+            'name': "bin",+            'actions': [ 'mkdir -p %s' % bin_path, action ],+            'getargs': { 'conf': ('pkg_flags', 'out') },+            'file_dep': self.cc + [ d.so for d in self.vala_deps ],+            'targets': [ target ],+            }+++diff --git a/scripts/configfile.py b/scripts/configfile.pynew file mode 100755index 0000000..5ba02cc--- /dev/null+++ b/scripts/configfile.py@@ -0,0 +1,23 @@+#!/usr/bin/python+import version+import time;++VERSION = version.VERSION++def write_config (prefix):+	print ("Writing Config.vala")++	vars = (('VERSION', VERSION),+		('BUILD_TIMESTAMP', time.asctime( time.localtime(time.time()))),+		('PREFIX', prefix),+		)++	f = open('./libbirdfont/Config.vala', 'w+')+	f.write("// Don't edit this file -- it is generated by the build script\n")+	f.write("namespace BirdFont {\n")++	var_line = '	internal static const string %s = "%s";\n'+	for name, value in vars:+		f.write(var_line % (name, value))++	f.write("}")diff --git a/scripts/macport_build.py b/scripts/macport_build.pynew file mode 100755index 0000000..c635cc8--- /dev/null+++ b/scripts/macport_build.py@@ -0,0 +1,70 @@+#!/usr/bin/python++import os+import shutil+import subprocess+import sys+from optparse import OptionParser++import configfile++def run(cmd):+	process = subprocess.Popen (cmd, shell=True)+	process.communicate()[0]+	if not process.returncode == 0:+		print("Error: " + cmd)+		exit(1)++def build ():+	#libbirdfont+	run("rm -rf build")+	run("mkdir -p build/libbirdfont")+	run("mkdir -p build/bin")++	run("valac -C --basedir build/libbirdfont/ --enable-experimental-non-null --enable-experimental --define=MAC --library libbirdfont -H build/libbirdfont/birdfont.h libbirdfont/* --pkg libxml-2.0 --pkg gio-2.0  --pkg cairo --pkg libsoup-2.4 --pkg gdk-pixbuf-2.0 --pkg webkit-1.0")+	run("cp libbirdfont/*.c build/libbirdfont/")++	run("""gcc -c build/libbirdfont/*.c -shared -fno-common -fPIC -D 'GETTEXT_PACKAGE="birdfont"' $(pkg-config --cflags --libs libxml-2.0) $(pkg-config --cflags --libs gio-2.0) $(pkg-config --cflags --libs cairo) $(pkg-config --cflags --libs glib-2.0) $(pkg-config --cflags --libs gdk-pixbuf-2.0) $(pkg-config --cflags --libs webkit-1.0) -I ./build/mac/birdfont""")+	run("mv ./*.o build/libbirdfont/ ")++	run("gcc -dynamiclib -Wl,-headerpad_max_install_names,-undefined,dynamic_lookup,-compatibility_version,1.0,-current_version,1.0,-install_name,/usr/local/lib/libbirdfont.dylib -shared build/libbirdfont/*.o $(pkg-config --cflags --libs libxml-2.0) $(pkg-config --cflags --libs gio-2.0) $(pkg-config --cflags --libs cairo) $(pkg-config --cflags --libs glib-2.0) $(pkg-config --cflags --libs gdk-pixbuf-2.0) $(pkg-config --cflags --libs webkit-1.0) -shared -o libbirdfont.dylib")+	run("mv libbirdfont.dylib build/bin/")++	# birdfont+	run("mkdir -p build/birdfont")+	+	run("valac -C --enable-experimental-non-null --enable-experimental --define=MAC birdfont/* --vapidir=./ --pkg libxml-2.0 --pkg gio-2.0  --pkg cairo --pkg libsoup-2.4 --pkg gdk-pixbuf-2.0 --pkg webkit-1.0 --pkg gtk+-2.0 --pkg libbirdfont")+	run("mv birdfont/*.c build/birdfont/")++	run("""gcc -c ./build/libbirdfont/birdfont.h build/birdfont/*.c -D 'GETTEXT_PACKAGE="birdfont"' $(pkg-config --cflags libxml-2.0) $(pkg-config --cflags gio-2.0) $(pkg-config --cflags cairo) $(pkg-config --cflags glib-2.0) $(pkg-config --cflags gdk-pixbuf-2.0) $(pkg-config --cflags webkit-1.0) -I ./build/libbirdfont/""")+	run("mv ./*.o build/birdfont/")++	run("gcc build/birdfont/*.o ./build/bin/libbirdfont.dylib $(pkg-config --cflags --libs libxml-2.0) $(pkg-config --cflags --libs gio-2.0) $(pkg-config --cflags --libs cairo) $(pkg-config --cflags --libs glib-2.0) $(pkg-config --cflags --libs gdk-pixbuf-2.0) $(pkg-config --cflags --libs webkit-1.0) $(pkg-config --cflags --libs gtk+-2.0) -o ./build/bin/birdfont")++	# birdfont-export+	run("mkdir -p build/birdfont-export")+	+	run("valac -C --enable-experimental-non-null --enable-experimental --define=MAC birdfont-export/* --vapidir=./ --pkg libxml-2.0 --pkg gio-2.0  --pkg cairo --pkg libsoup-2.4 --pkg gdk-pixbuf-2.0 --pkg webkit-1.0 --pkg gtk+-2.0 --pkg libbirdfont")+	run("mv birdfont-export/*.c build/birdfont-export/")++	run("""gcc -c ./build/libbirdfont/birdfont.h build/birdfont-export/*.c -D 'GETTEXT_PACKAGE="birdfont"' $(pkg-config --cflags libxml-2.0) $(pkg-config --cflags gio-2.0) $(pkg-config --cflags cairo) $(pkg-config --cflags glib-2.0) $(pkg-config --cflags gdk-pixbuf-2.0) $(pkg-config --cflags webkit-1.0) -I ./build/libbirdfont/""")+	run("mv ./*.o build/birdfont-export/")++	run("gcc build/birdfont-export/*.o ./build/bin/libbirdfont.dylib $(pkg-config --cflags --libs libxml-2.0) $(pkg-config --cflags --libs gio-2.0) $(pkg-config --cflags --libs cairo) $(pkg-config --cflags --libs glib-2.0) $(pkg-config --cflags --libs gdk-pixbuf-2.0) $(pkg-config --cflags --libs webkit-1.0) $(pkg-config --cflags --libs gtk+-2.0) -o ./build/bin/birdfont-export")++	run("touch build/installed")+	run("touch build/configured")++	# application launcher+	run("mkdir -p build/BirdFont.app")+	run("mkdir -p build/BirdFont.app/Contents")+	run("mkdir -p build/BirdFont.app/Contents/MacOs")+	run("mkdir -p build/BirdFont.app/Contents/Resources")++	run("cp mac/birdfont.sh build/BirdFont.app/Contents/MacOs")+	run("cp mac/Info.plist build/BirdFont.app/Contents/")	+	run("cp mac/birdfont.icns build/BirdFont.app/Contents/Resources")++build ()++diff --git a/scripts/macport_install.py b/scripts/macport_install.pynew file mode 100755index 0000000..09927ba--- /dev/null+++ b/scripts/macport_install.py@@ -0,0 +1,45 @@+#!/usr/bin/python+import os+import subprocess+import glob+from optparse import OptionParser++def install (file, dir):+	if dest == "":+		f = prefix + dir + '/'+	else:+		f = dest + prefix + dir + '/'+		+	s = file.rfind ('/')+	if s > -1:+		f += file[s + 1:]+	else:+		f += file+	print ("install: " + f + " in " + file + ' ' + dest + prefix + dir + '/')+	subprocess.check_call ('install -d ' + dest + prefix + dir, shell=True)+	subprocess.check_call ('install ' + file + ' ' + dest + prefix + dir + '/', shell=True)++parser = OptionParser()+parser.add_option ("-p", "--prefix", dest="prefix", help="install prefix", metavar="PREFIX")+parser.add_option ("-d", "--dest", dest="dest", help="install to this directory", metavar="DEST")++(options, args) = parser.parse_args()++if not options.prefix:+	options.prefix = "/opt/local"++if not options.dest:+	options.dest = ""++prefix = options.prefix+dest = options.dest++install ('build/bin/birdfont', '/bin')+install ('build/bin/birdfont-export', '/bin')	+install ('build/bin/libbirdfont.dylib', '/lib')++# install application launcher+subprocess.check_call ('mkdir -p ' + dest + '/Applications/', shell=True)+subprocess.check_call ('cp -r build/BirdFont.app ' + dest + '/Applications/', shell=True)++diff --git a/scripts/update_translations.py b/scripts/update_translations.pynew file mode 100755index 0000000..e8669a2--- /dev/null+++ b/scripts/update_translations.py@@ -0,0 +1,26 @@+#!/usr/bin/python+import subprocess+import os++def task_update_translations ():+	subprocess.check_output ("xgettext --language=C# --keyword=_ --add-comments=/ --from-code=utf-8 --output=./po/birdfont.pot ./libbirdfont/*.vala ./birdfont/*.vala ./birdfont-export/*.vala", shell=True)++	for file in os.listdir('./po'):+		if file == "birdfont.pot": continue+	+		loc = file.replace (".po", "")+		d = "./po/" + loc + ".po"++		subprocess.check_output ("wget -O build/" + loc + ".po.zip http://pootle.locamotion.org/" + loc + "/birdfont/export/zip", shell=True)+		subprocess.check_output ("unzip build/" + loc + ".po.zip", shell=True)+		subprocess.check_output ("mv " + loc + ".po " + d, shell=True)+		+		subprocess.check_output ("msgmerge " + d + " ./po/birdfont.pot > " + loc + ".po.new", shell=True)+		subprocess.check_output ("mv " + loc + ".po.new " + d, shell=True)+	+	return  {+		'actions': ['echo "done updating translations"'],+	}+++task_update_translations ()diff --git a/scripts/version.py b/scripts/version.pynew file mode 100644index 0000000..34a6bb3--- /dev/null+++ b/scripts/version.py@@ -0,0 +1,2 @@+#!/usr/bin/python+VERSION = '0.14'diff --git a/scripts/win_build.py b/scripts/win_build.pynew file mode 100755index 0000000..8a91e7c--- /dev/null+++ b/scripts/win_build.py@@ -0,0 +1,376 @@+#!/usr/bin/python++import os+import shutil+import subprocess+import sys++sys.path.append('../')+import dodo # import version number++WIN32_LIBS = [+	'glib-2.0',+	'libxml-2.0',+	'gio-2.0',+	'libsoup-2.4',+	'gtk+-2.0',+	'webkit-1.0'+]++WIN32_DLLS = [ +	"libcairo-2.dll",+	"libgdk-win32-2.0-0.dll",+	"libgdk_pixbuf-2.0-0.dll",+	"libgio-2.0-0.dll",+	"libglib-2.0-0.dll",+	"libgobject-2.0-0.dll",+	"libgthread-2.0-0.dll",+	"libgtk-win32-2.0-0.dll",+	"libxml2-2.dll",+	"libfontconfig-1.dll",+	"libfreetype-6.dll",+	"libpixman-1-0.dll",+	"libpng15-15.dll",+	"zlib1.dll",+	"libpixman-1-0.dll",+	"libpng15-15.dll",+	"libintl-8.dll",+	"libgmodule-2.0-0.dll",+	"libffi-5.dll",+	"libgobject-2.0-0.dll",+	"libjasper-1.dll",+	"libjpeg-8.dll",+	"libtiff-5.dll",+	"libgdk_pixbuf-2.0-0.dll",+	"libpango-1.0-0.dll",+	"libpangocairo-1.0-0.dll",+	"libgdk-win32-2.0-0.dll",+	"libgmodule-2.0-0.dll",+	"libexpat-1.dll",+	"libpangoft2-1.0-0.dll",+	"libpangowin32-1.0-0.dll",+	"libpangocairo-1.0-0.dll",+	"libgdk-win32-2.0-0.dll",+	"libpangoft2-1.0-0.dll",+	"libpangowin32-1.0-0.dll",+	"libpangocairo-1.0-0.dll",+	"libatk-1.0-0.dll",+	"libsoup-2.4-1.dll",+	"libsqlite3-0.dll",+	"libxslt-1.dll",+	"libgcc_s_sjlj-1.dll",+	"libstdc++-6.dll",+	"libjavascriptcoregtk-1.0-0.dll",+	"libenchant-1.dll",+	"libgailutil-18.dll",+	"libwebkitgtk-1.0-0.dll",+	"pthreadGC2.dll"+]++def run(cmd):+	process = subprocess.Popen (cmd, shell=True)+	process.communicate()[0]+	if not process.returncode == 0:+		print("Error: " + cmd)+		exit(1)+		+def configure():+	print("")+	print("Crosscompile for windows")+	+	os.chdir('../')+	run('./configure')+	os.chdir('./win32')+	+	run('i686-w64-mingw32-gcc --version')+	run('i686-w64-mingw32-pkg-config --version')	+	run('windres --version')	+	run('wine --version')+	run('ls ' + os.getenv("HOME") + "/.wine/drive_c/Program/NSIS/makensis.exe")+	+	for pkg in WIN32_LIBS:+		 run('i686-w64-mingw32-pkg-config --cflags --libs '+ pkg)++def build():+	run("mkdir -p ../build/supplement")+	run("mkdir -p ../build/win32")+	run("mkdir -p ../build/win32/libbirdfont")+	run("mkdir -p ../build/win32/birdfont")+	run("mkdir -p ../build/win32/birdfont-export")++	run("windres ../win32/icon.rc -O coff -o ../build/icon.res")++	# generate c code+	run("cp ../libbirdfont/*.c ../build/win32/libbirdfont/")+	run("valac -C --basedir ../build/win32/libbirdfont/ --library libbirdfont -H ../build/win32/libbirdfont/birdfont.h ../libbirdfont/*.vala --pkg libxml-2.0 --pkg gio-2.0  --pkg cairo --pkg libsoup-2.4 --pkg gdk-pixbuf-2.0 --pkg webkit-1.0")++	run("valac -C ../birdfont/* --vapidir=./ --pkg libxml-2.0 --pkg gio-2.0  --pkg cairo --pkg libsoup-2.4 --pkg gdk-pixbuf-2.0 --pkg webkit-1.0 --pkg gtk+-2.0 --pkg libbirdfont")+	run("mv ./*.c ../build/win32/birdfont/")++	run("valac -C ../birdfont-export/* --vapidir=./ --pkg libxml-2.0 --pkg gio-2.0  --pkg cairo --pkg libsoup-2.4 --pkg gdk-pixbuf-2.0 --pkg webkit-1.0 --pkg gtk+-2.0 --pkg libbirdfont")+	run("mv ./*.c ../build/win32/birdfont-export/")++	# compile c code+	run("""i686-w64-mingw32-gcc \+			-c ../build/win32/libbirdfont/birdfont.h \+			../build/win32/birdfont/Main.c \+			../build/win32/birdfont/GtkWindow.c \+			../build/win32/birdfont-export/BirdfontExport.c \+			../build/win32/libbirdfont/*.c ./ \+			-D 'GETTEXT_PACKAGE="birdfont"' \+			-I ../build/win32/libbirdfont/ \+			-mthreads \+			$(i686-w64-mingw32-pkg-config --cflags --libs glib-2.0) \+			$(i686-w64-mingw32-pkg-config --cflags --libs libxml-2.0) \+			$(i686-w64-mingw32-pkg-config --cflags --libs gio-2.0) \+			$(i686-w64-mingw32-pkg-config --cflags --libs libsoup-2.4) \+			$(i686-w64-mingw32-pkg-config --cflags --libs gtk+-2.0) \+			$(i686-w64-mingw32-pkg-config --cflags --libs webkit-1.0)""");+	+	# move object files to their folders+	run("""mv BirdfontExport.o ../build/win32/birdfont-export """)+	run("""mv Main.o ../build/win32/birdfont """)+	run("""mv GtkWindow.o ../build/win32/birdfont """)+	run("""mv *.o ../build/win32/libbirdfont/ """)++	# link binaries+	run("""i686-w64-mingw32-gcc \+		-shared \+		../build/win32/libbirdfont/*.o \+		../build/icon.res \+		-Wl,-subsystem,windows \+		-mthreads \+		-L/usr/i686-w64-mingw32/sys-root/mingw/lib \+		-static -B static -lintl.dll -B static -l glib-2.0.dll -B static -l xml2.dll  \+		-B static -lgio-2.0.dll -B static -l soup-2.4.dll \+		-B static -l webkitgtk-1.0.dll  -B static -lgtk-win32-2.0.dll -B static -lgdk-win32-2.0.dll -B static -latk-1.0.dll -B static -lgio-2.0.dll -B static -lpangowin32-1.0.dll -B static -lpangocairo-1.0.dll -B static -lgdk_pixbuf-2.0.dll -B static -lpango-1.0.dll -B static -lcairo.dll -B static -lgobject-2.0.dll -B static -lgmodule-2.0.dll -B static -lgthread-2.0.dll -B static -lglib-2.0.dll \+		-l freetype.dll \+		-static -o libbirdfont.dll""")+	+	run("""i686-w64-mingw32-ar rcs ../build/libbirdfont.dll.a ../build/win32/libbirdfont/*.o""")++	run("""i686-w64-mingw32-gcc \+		../build/win32/birdfont/Main.o \+		../build/win32/birdfont/GtkWindow.o \+		../build/icon.res \+		-Wl,-subsystem,windows \+		-mthreads \+		-L../build/ \+		-L/usr/i686-w64-mingw32/sys-root/mingw/lib \+		-static -B -static -l birdfont.dll \+		-static -B static -lintl.dll -B static -l glib-2.0.dll -B static -l xml2.dll  \+		-B static -l gio-2.0.dll -B static -l soup-2.4.dll \+		-B static -l webkitgtk-1.0.dll  -B static -l gtk-win32-2.0.dll -B static -l gdk-win32-2.0.dll -B static -l atk-1.0.dll -B static -l gio-2.0.dll -B static -l pangowin32-1.0.dll -B static -l pangocairo-1.0.dll -B static -l gdk_pixbuf-2.0.dll -B static -l pango-1.0.dll -B static -l cairo.dll -B static -l gobject-2.0.dll -B static -l gmodule-2.0.dll -B static -l gthread-2.0.dll -B static -l glib-2.0.dll \+		-l freetype.dll \+		-static -o birdfont.exe""")++	run("""i686-w64-mingw32-gcc \+		../build/win32/birdfont/Main.o \+		../build/win32/birdfont/GtkWindow.o \+		../build/icon.res \+		-mthreads \+		-L../build/ \+		-L/usr/i686-w64-mingw32/sys-root/mingw/lib \+		-static -B -static -l birdfont.dll \+		-static -B static -lintl.dll -B static -l glib-2.0.dll -B static -l xml2.dll  \+		-B static -l gio-2.0.dll -B static -l soup-2.4.dll \+		-B static -l webkitgtk-1.0.dll  -B static -l gtk-win32-2.0.dll -B static -l gdk-win32-2.0.dll -B static -l atk-1.0.dll -B static -l gio-2.0.dll -B static -l pangowin32-1.0.dll -B static -l pangocairo-1.0.dll -B static -l gdk_pixbuf-2.0.dll -B static -l pango-1.0.dll -B static -l cairo.dll -B static -l gobject-2.0.dll -B static -l gmodule-2.0.dll -B static -l gthread-2.0.dll -B static -l glib-2.0.dll \+		-l freetype.dll \+		-static -o birdfont_terminal.exe""")++	run("""i686-w64-mingw32-gcc \+		../build/win32/birdfont-export/BirdfontExport.o \+		../build/icon.res \+		-Wl,-subsystem,windows \+		-mthreads \+		-L../build/ \+		-L/usr/local/lib -lfreetype -lz \+		-L/usr/i686-w64-mingw32/sys-root/mingw/lib \+		-static -B -static -l birdfont.dll \+		-static -B static -lintl.dll -B static -l glib-2.0.dll -B static -l xml2.dll  \+		-B static -l gio-2.0.dll -B static -l soup-2.4.dll \+		-B static -l webkitgtk-1.0.dll  -B static -l gtk-win32-2.0.dll -B static -l gdk-win32-2.0.dll -B static -l atk-1.0.dll -B static -l gio-2.0.dll -B static -l pangowin32-1.0.dll -B static -l pangocairo-1.0.dll -B static -l gdk_pixbuf-2.0.dll -B static -l pango-1.0.dll -B static -l cairo.dll -B static -l gobject-2.0.dll -B static -l gmodule-2.0.dll -B static -l gthread-2.0.dll -B static -l glib-2.0.dll \+		-l freetype.dll \+		-static -o birdfont-export.exe""")++	run("mv birdfont-export.exe ../build/supplement/")+	run("mv birdfont.exe ../build/supplement/")+	run("mv birdfont_terminal.exe ../build/supplement/")+	run("mv libbirdfont.dll ../build/supplement/")++	copy_runtime_dependencies ()+	generate_nsi()+			+	run(os.getenv("HOME") + "/.wine/drive_c/Program/NSIS/makensis.exe ../build/supplement/birdfont_installer.nsi")+	+def generate_nsi():+	print ('generating build/supplement/birdfont_installer.nsi')++	run('mkdir -p ../build/supplement')++	f = open('../build/supplement/birdfont_installer.nsi', 'w+')+	f.write("""; windows installation script generated by by build script++Name "Birdfont"+""")++	f.write("OutFile \"..\\")+	f.write("birdfont-")+	f.write(dodo.VERSION)+	f.write(".exe\"")+	+	f.write("""+InstallDir $PROGRAMFILES\Birdfont+InstallDirRegKey HKLM "Software\NSIS_Birdfont" "Install_Dir"++Icon "birdfont.ico"++; Request application privileges for Windows Vista+RequestExecutionLevel admin++;--------------------------------++Page components+Page directory+Page instfiles++UninstPage uninstConfirm+UninstPage instfiles++;--------------------------------++Section "Birdfont (required)"++  SectionIn RO+""");++	os.chdir('../build/supplement')+	write_files ('.', f)++	f.write("""++  SetOutPath $INSTDIR++  ; Write the installation path into the registry+  WriteRegStr HKLM SOFTWARE\NSIS_Birdfont "Install_Dir" "$INSTDIR"+  +  ; Write the uninstall keys for Windows+  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Birdfont" "DisplayName" "NSIS Birdfont"+  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Birdfont" "UninstallString" '"$INSTDIR\uninstall.exe"'+  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Birdfont" "NoModify" 1+  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Birdfont" "NoRepair" 1+  WriteUninstaller "uninstall.exe"+  +SectionEnd++Section "Start Menu Shortcuts"++  CreateDirectory "$SMPROGRAMS\Birdfont"+  CreateShortCut "$SMPROGRAMS\Birdfont\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0+  CreateShortCut "$SMPROGRAMS\Birdfont\Birdfont.lnk" "$INSTDIR\\birdfont.exe" ""+  +  CreateShortCut "$DESKTOP\Birdfont.lnk" "$INSTDIR\\birdfont.exe" ""+  +SectionEnd++;--------------------------------++; Uninstaller++Section "Uninstall"+  +  ; Remove registry keys+  DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Birdfont"+  DeleteRegKey HKLM SOFTWARE\NSIS_Birdfont++""")++	remove_files ('.', f)++	f.write("""++  Delete $INSTDIR\uninstall.exe+  RMDir "$INSTDIR\Birdfont"+   +  Delete "$SMPROGRAMS\Birdfont\*.*"+  RMDir "$SMPROGRAMS\Birdfont"++  Delete "$DESKTOP\Birdfont.lnk"++SectionEnd+""")+	os.chdir('../../win32')++def write_files (dir, f):+	filenames = os.walk(dir)++	f.write("  SetOutPath $INSTDIR\n")+	+	for path in (os.path.join(dir, f) for f in os.listdir(dir)):+		if not os.path.isdir(path):+			f.write("  File \"")+			f.write(path.replace ('./', '').replace ('/', '\\'))+			f.write("\"\n")+				+	for dirname, dirnames, filenames in os.walk(dir):+		for subdirname in dirnames:+			ndir = os.path.join(dirname, subdirname)+			wdir = ndir.replace ('./', '').replace ('/', '\\')+			+			f.write("\n")+			f.write("  SetOutPath $INSTDIR\\")+			f.write(wdir)+			f.write("\n")+			+			dirList = os.listdir(ndir)+			for fname in dirList:+				fp = os.path.join(ndir, fname) +				if not os.path.isdir(fp):+					f.write("  File ")+					f.write(wdir)+					f.write("\\")+					f.write(fname)+					f.write("\n")++def remove_files (dir, f):+	for path in (os.path.join(dir, f) for f in os.listdir(dir)):+		if os.path.isdir(path):+			remove_files (path, f)+		else:+			f.write("  Delete \"$INSTDIR\\")+			f.write(path.replace ('./', '').replace ('/', '\\'))+			f.write("\"\n")+	+	if dir == '.':+		f.write("  RMDir \"$INSTDIR\"\n")	+	else:+		f.write("  RMDir \"$INSTDIR\\")+		f.write(dir.replace ('./', '').replace ('/', '\\'))+		f.write("\"\n")+		+def copy_runtime_dependencies ():++	MINGW = "/usr/i686-w64-mingw32/sys-root/mingw"+	MINGW_BIN = MINGW + "/bin"++	run("cp ../README ../build/supplement/")+	run("cp ../COPYING ../build/supplement/")+	run("cp ../NEWS ../build/supplement/")+	+	run("cp -ra ../layout/ ../build/supplement/")+	run("cp -ra ../icons/ ../build/supplement/")+	run("cp -ra ../build/locale ../build/supplement/")+	+	run("cp ../win32/birdfont.ico ../build/supplement/")+	run("cp -r " + MINGW + "/etc ../build/supplement/")++	run("cp " + MINGW_BIN + "/gspawn-win32-helper.exe ../build/supplement/")+	run("cp " + MINGW_BIN + "/gspawn-win32-helper-console.exe ../build/supplement/")++	# DLL-hell+	for dll in WIN32_DLLS:+		run("cp " + MINGW_BIN + "/" + dll + " ../build/supplement/")+++configure ()+build ()	diff --git a/update_translations.py b/update_translations.pydeleted file mode 100755index e8669a2..0000000--- a/update_translations.py+++ /dev/null@@ -1,26 +0,0 @@-#!/usr/bin/python-import subprocess-import os--def task_update_translations ():-	subprocess.check_output ("xgettext --language=C# --keyword=_ --add-comments=/ --from-code=utf-8 --output=./po/birdfont.pot ./libbirdfont/*.vala ./birdfont/*.vala ./birdfont-export/*.vala", shell=True)--	for file in os.listdir('./po'):-		if file == "birdfont.pot": continue-	-		loc = file.replace (".po", "")-		d = "./po/" + loc + ".po"--		subprocess.check_output ("wget -O build/" + loc + ".po.zip http://pootle.locamotion.org/" + loc + "/birdfont/export/zip", shell=True)-		subprocess.check_output ("unzip build/" + loc + ".po.zip", shell=True)-		subprocess.check_output ("mv " + loc + ".po " + d, shell=True)-		-		subprocess.check_output ("msgmerge " + d + " ./po/birdfont.pot > " + loc + ".po.new", shell=True)-		subprocess.check_output ("mv " + loc + ".po.new " + d, shell=True)-	-	return  {-		'actions': ['echo "done updating translations"'],-	}---task_update_translations ()diff --git a/version.py b/version.pydeleted file mode 100644index 34a6bb3..0000000--- a/version.py+++ /dev/null@@ -1,2 +0,0 @@-#!/usr/bin/python-VERSION = '0.14'diff --git a/win32/birdfont.ico b/win32/birdfont.icodeleted file mode 100644index 968d137..0000000Binary files a/win32/birdfont.ico and /dev/null differdiff --git a/win32/build_win32.py b/win32/build_win32.pydeleted file mode 100755index 8a91e7c..0000000--- a/win32/build_win32.py+++ /dev/null@@ -1,376 +0,0 @@-#!/usr/bin/python--import os-import shutil-import subprocess-import sys--sys.path.append('../')-import dodo # import version number--WIN32_LIBS = [-	'glib-2.0',-	'libxml-2.0',-	'gio-2.0',-	'libsoup-2.4',-	'gtk+-2.0',-	'webkit-1.0'-]--WIN32_DLLS = [ -	"libcairo-2.dll",-	"libgdk-win32-2.0-0.dll",-	"libgdk_pixbuf-2.0-0.dll",-	"libgio-2.0-0.dll",-	"libglib-2.0-0.dll",-	"libgobject-2.0-0.dll",-	"libgthread-2.0-0.dll",-	"libgtk-win32-2.0-0.dll",-	"libxml2-2.dll",-	"libfontconfig-1.dll",-	"libfreetype-6.dll",-	"libpixman-1-0.dll",-	"libpng15-15.dll",-	"zlib1.dll",-	"libpixman-1-0.dll",-	"libpng15-15.dll",-	"libintl-8.dll",-	"libgmodule-2.0-0.dll",-	"libffi-5.dll",-	"libgobject-2.0-0.dll",-	"libjasper-1.dll",-	"libjpeg-8.dll",-	"libtiff-5.dll",-	"libgdk_pixbuf-2.0-0.dll",-	"libpango-1.0-0.dll",-	"libpangocairo-1.0-0.dll",-	"libgdk-win32-2.0-0.dll",-	"libgmodule-2.0-0.dll",-	"libexpat-1.dll",-	"libpangoft2-1.0-0.dll",-	"libpangowin32-1.0-0.dll",-	"libpangocairo-1.0-0.dll",-	"libgdk-win32-2.0-0.dll",-	"libpangoft2-1.0-0.dll",-	"libpangowin32-1.0-0.dll",-	"libpangocairo-1.0-0.dll",-	"libatk-1.0-0.dll",-	"libsoup-2.4-1.dll",-	"libsqlite3-0.dll",-	"libxslt-1.dll",-	"libgcc_s_sjlj-1.dll",-	"libstdc++-6.dll",-	"libjavascriptcoregtk-1.0-0.dll",-	"libenchant-1.dll",-	"libgailutil-18.dll",-	"libwebkitgtk-1.0-0.dll",-	"pthreadGC2.dll"-]--def run(cmd):-	process = subprocess.Popen (cmd, shell=True)-	process.communicate()[0]-	if not process.returncode == 0:-		print("Error: " + cmd)-		exit(1)-		-def configure():-	print("")-	print("Crosscompile for windows")-	-	os.chdir('../')-	run('./configure')-	os.chdir('./win32')-	-	run('i686-w64-mingw32-gcc --version')-	run('i686-w64-mingw32-pkg-config --version')	-	run('windres --version')	-	run('wine --version')-	run('ls ' + os.getenv("HOME") + "/.wine/drive_c/Program/NSIS/makensis.exe")-	-	for pkg in WIN32_LIBS:-		 run('i686-w64-mingw32-pkg-config --cflags --libs '+ pkg)--def build():-	run("mkdir -p ../build/supplement")-	run("mkdir -p ../build/win32")-	run("mkdir -p ../build/win32/libbirdfont")-	run("mkdir -p ../build/win32/birdfont")-	run("mkdir -p ../build/win32/birdfont-export")--	run("windres ../win32/icon.rc -O coff -o ../build/icon.res")--	# generate c code-	run("cp ../libbirdfont/*.c ../build/win32/libbirdfont/")-	run("valac -C --basedir ../build/win32/libbirdfont/ --library libbirdfont -H ../build/win32/libbirdfont/birdfont.h ../libbirdfont/*.vala --pkg libxml-2.0 --pkg gio-2.0  --pkg cairo --pkg libsoup-2.4 --pkg gdk-pixbuf-2.0 --pkg webkit-1.0")--	run("valac -C ../birdfont/* --vapidir=./ --pkg libxml-2.0 --pkg gio-2.0  --pkg cairo --pkg libsoup-2.4 --pkg gdk-pixbuf-2.0 --pkg webkit-1.0 --pkg gtk+-2.0 --pkg libbirdfont")-	run("mv ./*.c ../build/win32/birdfont/")--	run("valac -C ../birdfont-export/* --vapidir=./ --pkg libxml-2.0 --pkg gio-2.0  --pkg cairo --pkg libsoup-2.4 --pkg gdk-pixbuf-2.0 --pkg webkit-1.0 --pkg gtk+-2.0 --pkg libbirdfont")-	run("mv ./*.c ../build/win32/birdfont-export/")--	# compile c code-	run("""i686-w64-mingw32-gcc \-			-c ../build/win32/libbirdfont/birdfont.h \-			../build/win32/birdfont/Main.c \-			../build/win32/birdfont/GtkWindow.c \-			../build/win32/birdfont-export/BirdfontExport.c \-			../build/win32/libbirdfont/*.c ./ \-			-D 'GETTEXT_PACKAGE="birdfont"' \-			-I ../build/win32/libbirdfont/ \-			-mthreads \-			$(i686-w64-mingw32-pkg-config --cflags --libs glib-2.0) \-			$(i686-w64-mingw32-pkg-config --cflags --libs libxml-2.0) \-			$(i686-w64-mingw32-pkg-config --cflags --libs gio-2.0) \-			$(i686-w64-mingw32-pkg-config --cflags --libs libsoup-2.4) \-			$(i686-w64-mingw32-pkg-config --cflags --libs gtk+-2.0) \-			$(i686-w64-mingw32-pkg-config --cflags --libs webkit-1.0)""");-	-	# move object files to their folders-	run("""mv BirdfontExport.o ../build/win32/birdfont-export """)-	run("""mv Main.o ../build/win32/birdfont """)-	run("""mv GtkWindow.o ../build/win32/birdfont """)-	run("""mv *.o ../build/win32/libbirdfont/ """)--	# link binaries-	run("""i686-w64-mingw32-gcc \-		-shared \-		../build/win32/libbirdfont/*.o \-		../build/icon.res \-		-Wl,-subsystem,windows \-		-mthreads \-		-L/usr/i686-w64-mingw32/sys-root/mingw/lib \-		-static -B static -lintl.dll -B static -l glib-2.0.dll -B static -l xml2.dll  \-		-B static -lgio-2.0.dll -B static -l soup-2.4.dll \-		-B static -l webkitgtk-1.0.dll  -B static -lgtk-win32-2.0.dll -B static -lgdk-win32-2.0.dll -B static -latk-1.0.dll -B static -lgio-2.0.dll -B static -lpangowin32-1.0.dll -B static -lpangocairo-1.0.dll -B static -lgdk_pixbuf-2.0.dll -B static -lpango-1.0.dll -B static -lcairo.dll -B static -lgobject-2.0.dll -B static -lgmodule-2.0.dll -B static -lgthread-2.0.dll -B static -lglib-2.0.dll \-		-l freetype.dll \-		-static -o libbirdfont.dll""")-	-	run("""i686-w64-mingw32-ar rcs ../build/libbirdfont.dll.a ../build/win32/libbirdfont/*.o""")--	run("""i686-w64-mingw32-gcc \-		../build/win32/birdfont/Main.o \-		../build/win32/birdfont/GtkWindow.o \-		../build/icon.res \-		-Wl,-subsystem,windows \-		-mthreads \-		-L../build/ \-		-L/usr/i686-w64-mingw32/sys-root/mingw/lib \-		-static -B -static -l birdfont.dll \-		-static -B static -lintl.dll -B static -l glib-2.0.dll -B static -l xml2.dll  \-		-B static -l gio-2.0.dll -B static -l soup-2.4.dll \-		-B static -l webkitgtk-1.0.dll  -B static -l gtk-win32-2.0.dll -B static -l gdk-win32-2.0.dll -B static -l atk-1.0.dll -B static -l gio-2.0.dll -B static -l pangowin32-1.0.dll -B static -l pangocairo-1.0.dll -B static -l gdk_pixbuf-2.0.dll -B static -l pango-1.0.dll -B static -l cairo.dll -B static -l gobject-2.0.dll -B static -l gmodule-2.0.dll -B static -l gthread-2.0.dll -B static -l glib-2.0.dll \-		-l freetype.dll \-		-static -o birdfont.exe""")--	run("""i686-w64-mingw32-gcc \-		../build/win32/birdfont/Main.o \-		../build/win32/birdfont/GtkWindow.o \-		../build/icon.res \-		-mthreads \-		-L../build/ \-		-L/usr/i686-w64-mingw32/sys-root/mingw/lib \-		-static -B -static -l birdfont.dll \-		-static -B static -lintl.dll -B static -l glib-2.0.dll -B static -l xml2.dll  \-		-B static -l gio-2.0.dll -B static -l soup-2.4.dll \-		-B static -l webkitgtk-1.0.dll  -B static -l gtk-win32-2.0.dll -B static -l gdk-win32-2.0.dll -B static -l atk-1.0.dll -B static -l gio-2.0.dll -B static -l pangowin32-1.0.dll -B static -l pangocairo-1.0.dll -B static -l gdk_pixbuf-2.0.dll -B static -l pango-1.0.dll -B static -l cairo.dll -B static -l gobject-2.0.dll -B static -l gmodule-2.0.dll -B static -l gthread-2.0.dll -B static -l glib-2.0.dll \-		-l freetype.dll \-		-static -o birdfont_terminal.exe""")--	run("""i686-w64-mingw32-gcc \-		../build/win32/birdfont-export/BirdfontExport.o \-		../build/icon.res \-		-Wl,-subsystem,windows \-		-mthreads \-		-L../build/ \-		-L/usr/local/lib -lfreetype -lz \-		-L/usr/i686-w64-mingw32/sys-root/mingw/lib \-		-static -B -static -l birdfont.dll \-		-static -B static -lintl.dll -B static -l glib-2.0.dll -B static -l xml2.dll  \-		-B static -l gio-2.0.dll -B static -l soup-2.4.dll \-		-B static -l webkitgtk-1.0.dll  -B static -l gtk-win32-2.0.dll -B static -l gdk-win32-2.0.dll -B static -l atk-1.0.dll -B static -l gio-2.0.dll -B static -l pangowin32-1.0.dll -B static -l pangocairo-1.0.dll -B static -l gdk_pixbuf-2.0.dll -B static -l pango-1.0.dll -B static -l cairo.dll -B static -l gobject-2.0.dll -B static -l gmodule-2.0.dll -B static -l gthread-2.0.dll -B static -l glib-2.0.dll \-		-l freetype.dll \-		-static -o birdfont-export.exe""")--	run("mv birdfont-export.exe ../build/supplement/")-	run("mv birdfont.exe ../build/supplement/")-	run("mv birdfont_terminal.exe ../build/supplement/")-	run("mv libbirdfont.dll ../build/supplement/")--	copy_runtime_dependencies ()-	generate_nsi()-			-	run(os.getenv("HOME") + "/.wine/drive_c/Program/NSIS/makensis.exe ../build/supplement/birdfont_installer.nsi")-	-def generate_nsi():-	print ('generating build/supplement/birdfont_installer.nsi')--	run('mkdir -p ../build/supplement')--	f = open('../build/supplement/birdfont_installer.nsi', 'w+')-	f.write("""; windows installation script generated by by build script--Name "Birdfont"-""")--	f.write("OutFile \"..\\")-	f.write("birdfont-")-	f.write(dodo.VERSION)-	f.write(".exe\"")-	-	f.write("""-InstallDir $PROGRAMFILES\Birdfont-InstallDirRegKey HKLM "Software\NSIS_Birdfont" "Install_Dir"--Icon "birdfont.ico"--; Request application privileges for Windows Vista-RequestExecutionLevel admin--;----------------------------------Page components-Page directory-Page instfiles--UninstPage uninstConfirm-UninstPage instfiles--;----------------------------------Section "Birdfont (required)"--  SectionIn RO-""");--	os.chdir('../build/supplement')-	write_files ('.', f)--	f.write("""--  SetOutPath $INSTDIR--  ; Write the installation path into the registry-  WriteRegStr HKLM SOFTWARE\NSIS_Birdfont "Install_Dir" "$INSTDIR"-  -  ; Write the uninstall keys for Windows-  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Birdfont" "DisplayName" "NSIS Birdfont"-  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Birdfont" "UninstallString" '"$INSTDIR\uninstall.exe"'-  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Birdfont" "NoModify" 1-  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Birdfont" "NoRepair" 1-  WriteUninstaller "uninstall.exe"-  -SectionEnd--Section "Start Menu Shortcuts"--  CreateDirectory "$SMPROGRAMS\Birdfont"-  CreateShortCut "$SMPROGRAMS\Birdfont\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0-  CreateShortCut "$SMPROGRAMS\Birdfont\Birdfont.lnk" "$INSTDIR\\birdfont.exe" ""-  -  CreateShortCut "$DESKTOP\Birdfont.lnk" "$INSTDIR\\birdfont.exe" ""-  -SectionEnd--;----------------------------------; Uninstaller--Section "Uninstall"-  -  ; Remove registry keys-  DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Birdfont"-  DeleteRegKey HKLM SOFTWARE\NSIS_Birdfont--""")--	remove_files ('.', f)--	f.write("""--  Delete $INSTDIR\uninstall.exe-  RMDir "$INSTDIR\Birdfont"-   -  Delete "$SMPROGRAMS\Birdfont\*.*"-  RMDir "$SMPROGRAMS\Birdfont"--  Delete "$DESKTOP\Birdfont.lnk"--SectionEnd-""")-	os.chdir('../../win32')--def write_files (dir, f):-	filenames = os.walk(dir)--	f.write("  SetOutPath $INSTDIR\n")-	-	for path in (os.path.join(dir, f) for f in os.listdir(dir)):-		if not os.path.isdir(path):-			f.write("  File \"")-			f.write(path.replace ('./', '').replace ('/', '\\'))-			f.write("\"\n")-				-	for dirname, dirnames, filenames in os.walk(dir):-		for subdirname in dirnames:-			ndir = os.path.join(dirname, subdirname)-			wdir = ndir.replace ('./', '').replace ('/', '\\')-			-			f.write("\n")-			f.write("  SetOutPath $INSTDIR\\")-			f.write(wdir)-			f.write("\n")-			-			dirList = os.listdir(ndir)-			for fname in dirList:-				fp = os.path.join(ndir, fname) -				if not os.path.isdir(fp):-					f.write("  File ")-					f.write(wdir)-					f.write("\\")-					f.write(fname)-					f.write("\n")--def remove_files (dir, f):-	for path in (os.path.join(dir, f) for f in os.listdir(dir)):-		if os.path.isdir(path):-			remove_files (path, f)-		else:-			f.write("  Delete \"$INSTDIR\\")-			f.write(path.replace ('./', '').replace ('/', '\\'))-			f.write("\"\n")-	-	if dir == '.':-		f.write("  RMDir \"$INSTDIR\"\n")	-	else:-		f.write("  RMDir \"$INSTDIR\\")-		f.write(dir.replace ('./', '').replace ('/', '\\'))-		f.write("\"\n")-		-def copy_runtime_dependencies ():--	MINGW = "/usr/i686-w64-mingw32/sys-root/mingw"-	MINGW_BIN = MINGW + "/bin"--	run("cp ../README ../build/supplement/")-	run("cp ../COPYING ../build/supplement/")-	run("cp ../NEWS ../build/supplement/")-	-	run("cp -ra ../layout/ ../build/supplement/")-	run("cp -ra ../icons/ ../build/supplement/")-	run("cp -ra ../build/locale ../build/supplement/")-	-	run("cp ../win32/birdfont.ico ../build/supplement/")-	run("cp -r " + MINGW + "/etc ../build/supplement/")--	run("cp " + MINGW_BIN + "/gspawn-win32-helper.exe ../build/supplement/")-	run("cp " + MINGW_BIN + "/gspawn-win32-helper-console.exe ../build/supplement/")--	# DLL-hell-	for dll in WIN32_DLLS:-		run("cp " + MINGW_BIN + "/" + dll + " ../build/supplement/")---configure ()-build ()	diff --git a/win32/icon.rc b/win32/icon.rcdeleted file mode 100644index 2a37b4c..0000000--- a/win32/icon.rc+++ /dev/null@@ -1 +0,0 @@-id ICON "../win32/birdfont.ico"diff --git a/write_config.py b/write_config.pydeleted file mode 100755index 5ba02cc..0000000--- a/write_config.py+++ /dev/null@@ -1,23 +0,0 @@-#!/usr/bin/python-import version-import time;--VERSION = version.VERSION--def write_config (prefix):-	print ("Writing Config.vala")--	vars = (('VERSION', VERSION),-		('BUILD_TIMESTAMP', time.asctime( time.localtime(time.time()))),-		('PREFIX', prefix),-		)--	f = open('./libbirdfont/Config.vala', 'w+')-	f.write("// Don't edit this file -- it is generated by the build script\n")-	f.write("namespace BirdFont {\n")--	var_line = '	internal static const string %s = "%s";\n'-	for name, value in vars:-		f.write(var_line % (name, value))--	f.write("}")

Contact

Email: johan.mattsson.m@gmail.com
Mastodon: typo.social/@birdfont
GitHub: johanmattssonm
LinkedIn: johan-mattsson-2ab324112