fix typo..
[vuplus_openvuplus] / meta-openvuplus / recipes-vuplus / enigma2 / enigma2-plugins.bb
1 DESCRIPTION = "Additional plugins for Enigma2"
2 MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
3 LICENSE = "Proprietary"
4 LIC_FILES_CHKSUM = "file://COPYING;md5=8e37f34d0e40d32ea2bc90ee812c9131"
5
6 PACKAGES_DYNAMIC = "enigma2-plugin-*"
7
8 # if you want experimental, use:
9 #SRCREV="87fd2f1120962f553ecb1a88bbee46ed821df975"
10 SRCREV="c8fc96e8e51e1ef71e1709f9dd6f733007f9463e"
11 SRCDATE="20110215"
12 BRANCH="master"
13 PV = "experimental-git${SRCDATE}"
14 PR = "r6"
15
16 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}/vuplus:"
17
18 SRC_URI="git://code.vuplus.com/git/dvbapp-plugin.git;protocol=git;branch=${BRANCH};tag=${SRCREV}"
19
20 EXTRA_OECONF = " \
21         BUILD_SYS=${BUILD_SYS} \
22         HOST_SYS=${HOST_SYS} \
23         STAGING_INCDIR=${STAGING_INCDIR} \
24         STAGING_LIBDIR=${STAGING_LIBDIR} \
25 "
26
27 SRC_URI_append_vuplus = " \
28            file://enigma2_plugins_mytube_tpm.patch;patch=1;pnum=1 \
29            file://enigma2_plugins_20110810.patch;patch=1;pnum=1 \
30            file://enigma2_plugins_webinterface_tpm.patch;patch=1;pnum=1 \
31            file://enigma2_plugins_ac3lipsync_dolby.patch;patch=1;pnum=1 \
32            file://enigma2_plugins_autoresolution_fix.patch;patch=1;pnum=1 \
33            file://enigma2_plugins_dependency.patch;patch=1;pnum=1 \
34            file://enigma2_plugins_gst_plugins_pkgname.patch;patch=1;pnum=1 \
35            file://dreamboxweb.png \
36            file://dreamboxwebtv.png \
37            file://favicon.ico"
38
39 FILES_${PN} += " /usr/share/enigma2 /usr/share/fonts "
40 FILES_${PN}-meta = "${datadir}/meta"
41 PACKAGES += "${PN}-meta"
42 PACKAGE_ARCH = "${MACHINE_ARCH}"
43
44 inherit autotools
45
46 S = "${WORKDIR}/git"
47
48 DEPENDS = "python-pyopenssl python-gdata streamripper python-mutagen python-daap"
49 DEPENDS += "enigma2"
50
51 def modify_po():
52         import os
53         try:
54                 os.system("find ./ -name \"*.po\" > ./po_list")
55                 os.system("find ./ -name \"*.pot\" >> ./po_list")
56                 po_list = []
57                 po_list = open('po_list','r+').readlines()
58                 for x in po_list:
59                         changeword1(x)
60                 changeword1('enigma2-plugins/networkwizard/src/networkwizard.xml ')
61                 changeword2('enigma2-plugins/webinterface/src/web-data/tpl/default/index.html ')
62                 os.system('rm po_list')
63         except:
64                 print 'word patch error '
65                 return
66
67 def changeword1(file):
68         fn = file[:-1]
69         fnn = file[:-1]+'_n'
70         cmd = "sed s/Dreambox/STB/g "+fn+" > "+fnn
71         os.system(cmd)
72         cmd1 = "mv "+fnn+" "+fn
73         os.system(cmd1)
74
75 def changeword2(file):
76         fn = file[:-1]
77         fnn = file[:-1]+'_n'
78         cmd = "sed s/Dreambox/Vu+/g "+fn+" > "+fnn
79         os.system(cmd)
80         cmd1 = "mv "+fnn+" "+fn
81         os.system(cmd1)
82
83 do_unpack_append(){
84         modify_po()
85 }
86
87
88 do_install_append_vuplus() {
89         install -m 0644 ${WORKDIR}/dreamboxweb.png ${D}/usr/lib/enigma2/python/Plugins/Extensions/WebInterface/web-data/img/
90         install -m 0644 ${WORKDIR}/dreamboxwebtv.png ${D}/usr/lib/enigma2/python/Plugins/Extensions/WebInterface/web-data/tpl/default/streaminterface/img
91         install -m 0644 ${WORKDIR}/favicon.ico ${D}/usr/lib/enigma2/python/Plugins/Extensions/WebInterface/web-data/img/
92 }
93
94 python populate_packages_prepend() {
95         enigma2_plugindir = bb.data.expand('${libdir}/enigma2/python/Plugins', d)
96         do_split_packages(d, enigma2_plugindir, '^(\w+/\w+)', 'enigma2-plugin-%s', '%s', recursive=True, match_path=True, prepend=True)
97         do_split_packages(d, enigma2_plugindir, '^(\w+/\w+).*/.*\.la$', 'enigma2-plugin-%s-dev', '%s (development)', recursive=True, match_path=True, prepend=True)
98         do_split_packages(d, enigma2_plugindir, '^(\w+/\w+).*/.*\.a$', 'enigma2-plugin-%s-staticdev', '%s (static development)', recursive=True, match_path=True, prepend=True)
99         do_split_packages(d, enigma2_plugindir, '^(\w+/\w+).*/\.debug/', 'enigma2-plugin-%s-dbg', '%s (debug)', recursive=True, match_path=True, prepend=True)
100         def parseControlFile(dir, d, package):
101                 import os
102                 #ac3lipsync is renamed since 20091121 to audiosync.. but rename in cvs is not possible without lost of revision history..
103                 #so the foldername is still ac3lipsync
104                 if package == 'audiosync':
105                         package = 'ac3lipsync'
106                 src = open(dir + "/" + package.split('-')[-1] + "/CONTROL/control").read()
107                 for line in src.splitlines():
108                         name, value = line.strip().split(': ', 1)
109                         if name == 'Description':
110                                 d.setVar('DESCRIPTION_' + package, value)
111                         elif name == 'Depends':
112                                 d.setVar('RDEPENDS_' + package, ' '.join(value.split(', ')))
113                         elif name == 'Replaces':
114                                 d.setVar('RREPLACES_' + package, ' '.join(value.split(', ')))
115                         elif name == 'Conflicts':
116                                 d.setVar('RCONFLICTS_' + package, ' '.join(value.split(', ')))
117         srcdir = d.getVar('S', True)
118         for package in d.getVar('PACKAGES', True).split():
119                 if package.startswith('enigma2-plugin-') and not package.endswith('-dev') and not package.endswith('-dbg') and not package.endswith('-staticdev'):
120                         parseControlFile(srcdir, d, package)
121 }