summaryrefslogtreecommitdiff
path: root/meta-openvuplus/recipes-vuplus/enigma2/enigma2-plugins.bb
blob: 38ed869259de2f25a9c537b3a1297b9d9f9e17f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
DESCRIPTION = "Additional plugins for Enigma2"
MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://COPYING;md5=8e37f34d0e40d32ea2bc90ee812c9131"

PACKAGES_DYNAMIC = "enigma2-plugin-*"

# if you want experimental, use:
#SRCREV="87fd2f1120962f553ecb1a88bbee46ed821df975"
SRCREV="c8fc96e8e51e1ef71e1709f9dd6f733007f9463e"
SRCDATE="20110215"
BRANCH="master"
PV = "experimental-git${SRCDATE}"
PR = "r14"

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"

SRC_URI="git://code.vuplus.com/git/dvbapp-plugin.git;protocol=git;branch=${BRANCH};tag=${SRCREV}"

EXTRA_OECONF = " \
        BUILD_SYS=${BUILD_SYS} \
        HOST_SYS=${HOST_SYS} \
        STAGING_INCDIR=${STAGING_INCDIR} \
        STAGING_LIBDIR=${STAGING_LIBDIR} \
	--with-gstversion=1.0 \
"

PARALLEL_MAKE = ""

SRC_URI_append_vuplus = " \
	file://enigma2_plugins_mytube_tpm.patch \
	file://enigma2_plugins_20121113.patch \
	file://enigma2_plugins_webinterface_tpm.patch \
	file://enigma2_plugins_ac3lipsync_dolby.patch \
	file://enigma2_plugins_autoresolution_fix.patch \
	file://enigma2_plugins_fancontrol2.patch \
	file://enigma2_plugins_gst10_support.patch \
	file://enigma2_plugins_fix_depends_pkgname.patch \
	file://dreamboxweb.png \
	file://dreamboxwebtv.png \
	file://favicon.ico \
	file://Makefile.am \
	file://enigma2_plugins_setqpipmode.patch \
"

FILES_${PN} += " /usr/share/enigma2 /usr/share/fonts "
FILES_${PN}-meta = "${datadir}/meta"
PACKAGES += "${PN}-meta"
PACKAGE_ARCH = "${MACHINE_ARCH}"

inherit autotools-brokensep pythonnative pkgconfig

S = "${WORKDIR}/git"

DEPENDS = " \
	enigma2 \
	python-pyopenssl \
	python-gdata \
	streamripper \
	python-mutagen \
	python-daap \
	enigma2-plugin-extensions-openwebif \
	gstreamer1.0-plugins-bad \
	"

def modify_po():
    import os
    try:
        os.system("find ./ -name \"*.po\" > ./po_list")
        os.system("find ./ -name \"*.pot\" >> ./po_list")
        po_list = []
        po_list = open('po_list','r+').readlines()
        for x in po_list:
            changeword1(x)
        changeword1('enigma2-plugins/networkwizard/src/networkwizard.xml ')
        changeword2('enigma2-plugins/webinterface/src/web-data/tpl/default/index.html ')
        os.system('rm po_list')
    except:
        print 'word patch error '
        return

def changeword1(file):
    fn = file[:-1]
    fnn = file[:-1]+'_n'
    cmd = "sed s/Dreambox/STB/g "+fn+" > "+fnn
    os.system(cmd)
    cmd1 = "mv "+fnn+" "+fn
    os.system(cmd1)

def changeword2(file):
    fn = file[:-1]
    fnn = file[:-1]+'_n'
    cmd = "sed s/Dreambox/Vu+/g "+fn+" > "+fnn
    os.system(cmd)
    cmd1 = "mv "+fnn+" "+fn
    os.system(cmd1)

do_unpack_append(){
    modify_po()
}

do_configure_prepend_vuplus() {
	cp -av ${WORKDIR}/Makefile.am ${S}/easymedia/po/
}

do_install_append_vuplus() {
	install -m 0644 ${WORKDIR}/dreamboxweb.png ${D}/usr/lib/enigma2/python/Plugins/Extensions/WebInterface/web-data/img/
	install -m 0644 ${WORKDIR}/dreamboxwebtv.png ${D}/usr/lib/enigma2/python/Plugins/Extensions/WebInterface/web-data/tpl/default/streaminterface/img
	install -m 0644 ${WORKDIR}/favicon.ico ${D}/usr/lib/enigma2/python/Plugins/Extensions/WebInterface/web-data/img/
	rm -r ${D}/media
}

python populate_packages_prepend() {
    enigma2_plugindir = bb.data.expand('${libdir}/enigma2/python/Plugins', d)
    do_split_packages(d, enigma2_plugindir, '^(\w+/\w+)', 'enigma2-plugin-%s', '%s', recursive=True, match_path=True, prepend=True)
    do_split_packages(d, enigma2_plugindir, '^(\w+/\w+).*/.*\.la$', 'enigma2-plugin-%s-dev', '%s (development)', recursive=True, match_path=True, prepend=True)
    do_split_packages(d, enigma2_plugindir, '^(\w+/\w+).*/.*\.a$', 'enigma2-plugin-%s-staticdev', '%s (static development)', recursive=True, match_path=True, prepend=True)
    do_split_packages(d, enigma2_plugindir, '^(\w+/\w+).*/\.debug/', 'enigma2-plugin-%s-dbg', '%s (debug)', recursive=True, match_path=True, prepend=True)
    def parseControlFile(dir, d, package):
        import os
        #ac3lipsync is renamed since 20091121 to audiosync.. but rename in cvs is not possible without lost of revision history..
        #so the foldername is still ac3lipsync
        if package == 'audiosync':
            package = 'ac3lipsync'
        src = open(dir + "/" + package.split('-')[-1] + "/CONTROL/control").read()
        for line in src.splitlines():
            name, value = line.strip().split(': ', 1)
            if name == 'Description':
                d.setVar('DESCRIPTION_' + package, value)
            elif name == 'Depends':
                rdepends = []
                for depend in value.split(','):
                    depend = depend.strip()
                    if depend.startswith('enigma2') and not depend.startswith('enigma2-'):
                        rdepends.append('enigma2')
                    else:
                        rdepends.append(depend)
                d.setVar('RDEPENDS_' + package, ' '.join(rdepends))
            elif name == 'Replaces':
                d.setVar('RREPLACES_' + package, ' '.join(value.split(', ')))
            elif name == 'Conflicts':
                d.setVar('RCONFLICTS_' + package, ' '.join(value.split(', ')))
    srcdir = d.getVar('S', True)
    for package in d.getVar('PACKAGES', True).split():
        if package.startswith('enigma2-plugin-') and not package.endswith('-dev') and not package.endswith('-dbg') and not package.endswith('-staticdev'):
            parseControlFile(srcdir, d, package)
}