aboutsummaryrefslogtreecommitdiffstats
path: root/genwscript.py
diff options
context:
space:
mode:
Diffstat (limited to 'genwscript.py')
-rw-r--r--genwscript.py77
1 files changed, 0 insertions, 77 deletions
diff --git a/genwscript.py b/genwscript.py
deleted file mode 100644
index 91ac980..0000000
--- a/genwscript.py
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-
-import rdflib
-import glob
-import os
-import shutil
-
-lv2 = rdflib.Namespace('http://lv2plug.in/ns/lv2core#')
-rdf = rdflib.Namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns#')
-
-# Get the first match for a triple pattern, or throw if no matches
-def query(model, s, p, o):
- for i in model.triples([s, p, o]):
- return i
- raise Exception('Bad LV2 extension data')
-
-def genwscript(manifest):
- dir = os.path.dirname(manifest)
- name = os.path.basename(dir).replace('.lv2', '')
-
- m = rdflib.ConjunctiveGraph()
- m.parse(manifest, format='n3')
-
- try:
- uri = query(m, None, rdf.type, lv2.Specification)[0]
- minor = query(m, uri, lv2.minorVersion, None)[2]
- micro = query(m, uri, lv2.microVersion, None)[2]
- except:
- return False
-
- if int(minor) != 0 and int(micro) % 2 == 0:
- print('Packaging %s extension version %s.%s' % (name, minor, micro))
-
- # Make directory and copy all files to it
- distdir = 'build/spec/lv2-%s-%s.%s' % (name, minor, micro)
- os.mkdir(distdir)
- for f in glob.glob('%s/*.*' % dir):
- shutil.copy(f, '%s/%s' % (distdir, os.path.basename(f)))
-
- pkgconfig_name = str(uri).replace('http://', 'lv2-').replace('/', '-')
-
- def subst_file(source_path, target_path):
- source = open(source_path, 'r')
- target = open(target_path, 'w')
- for l in source:
- target.write(l.replace(
- '@DESCRIPTION@', 'LV2 "' + name + '" extension').replace(
- '@INCLUDE_PATH@', str(uri).replace('http://', 'lv2/')).replace(
- '@MICRO@', micro).replace(
- '@MINOR@', minor).replace(
- '@NAME@', name).replace(
- '@PKGCONFIG_NAME@', pkgconfig_name).replace(
- '@URI@', str(uri)).replace(
- '@VERSION@', '%s.%s' % (minor, micro)))
- source.close()
- target.close()
-
- # Generate wscript
- subst_file('wscript.template', '%s/wscript' % distdir)
-
- # Generate pkgconfig file
- subst_file('ext.pc.template', '%s/%s.pc.in' % (distdir, pkgconfig_name))
-
- try:
- os.remove('%s/waf' % distdir)
- except:
- pass
- os.symlink('../../../waf', '%s/waf' % distdir)
-
- olddir = os.getcwd()
- os.chdir(distdir + '/..')
- os.system('tar --exclude=".*" -cjhf %s.tar.bz2 %s' % (
- os.path.basename(distdir), os.path.basename(distdir)))
- os.chdir(olddir)
-
- return True