diff options
Diffstat (limited to 'meta-multimedia')
67 files changed, 2660 insertions, 0 deletions
diff --git a/meta-multimedia/COPYING.MIT b/meta-multimedia/COPYING.MIT new file mode 100644 index 000000000..fb950dc69 --- /dev/null +++ b/meta-multimedia/COPYING.MIT | |||
@@ -0,0 +1,17 @@ | |||
1 | Permission is hereby granted, free of charge, to any person obtaining a copy | ||
2 | of this software and associated documentation files (the "Software"), to deal | ||
3 | in the Software without restriction, including without limitation the rights | ||
4 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
5 | copies of the Software, and to permit persons to whom the Software is | ||
6 | furnished to do so, subject to the following conditions: | ||
7 | |||
8 | The above copyright notice and this permission notice shall be included in | ||
9 | all copies or substantial portions of the Software. | ||
10 | |||
11 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
12 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
13 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
14 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
15 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
16 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
17 | THE SOFTWARE. | ||
diff --git a/meta-multimedia/README b/meta-multimedia/README new file mode 100644 index 000000000..9727ac6f7 --- /dev/null +++ b/meta-multimedia/README | |||
@@ -0,0 +1,26 @@ | |||
1 | This layer depends on: | ||
2 | |||
3 | URI: git://github.com/openembedded/oe-core.git | ||
4 | branch: dizzy | ||
5 | revision: HEAD | ||
6 | |||
7 | URI: git://github.com/openembedded/meta-oe.git | ||
8 | layers: meta-oe, meta-ruby | ||
9 | branch: dizzy | ||
10 | revision: HEAD | ||
11 | |||
12 | Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-multimedia][dizzy]' in the subject' | ||
13 | |||
14 | When sending single patches, please use something like: | ||
15 | 'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-multimedia][dizzy][PATCH | ||
16 | |||
17 | You are encouraged to fork the mirror on github https://github.com/openembedded/meta-oe/ to share your patches, this is preferred for patch sets consisting of more than one patch. Other services like gitorious, repo.or.cz or self hosted setups are of course accepted as well, 'git fetch <remote>' works the same on all of them. We recommend github because it is free, easy to use, has been proven to be reliable and has a really good web GUI. | ||
18 | |||
19 | Main layer maintainers: Koen Kooi <koen@dominion.thruhere.net> | ||
20 | Martin Jansa <martin.jansa@gmail.com> | ||
21 | |||
22 | Dizzy branch maintainers: | ||
23 | Otavio Salvador <otavio@ossystems.com.br> | ||
24 | Armin Kuster <akuster808@gmail.com> | ||
25 | |||
26 | Prefix email subject with: [dizzy] | ||
diff --git a/meta-multimedia/conf/layer.conf b/meta-multimedia/conf/layer.conf new file mode 100644 index 000000000..64a0a443c --- /dev/null +++ b/meta-multimedia/conf/layer.conf | |||
@@ -0,0 +1,25 @@ | |||
1 | # It really depends on order of the layers appearing in BBLAYERS | ||
2 | # variable in toplevel bblayers.conf file, where bitbake will search | ||
3 | # for .inc files and others where bitbake uses BBPATH since it will | ||
4 | # search the directories from first to last as specified in BBPATH | ||
5 | # Therefore if you want a given layer to be considered high priority | ||
6 | # for the .inc and .conf etc. then consider it adding at the beginning | ||
7 | # of BBPATH. For bblayers bitbake will use BBFILES_PRIORITY to resolve | ||
8 | # the recipe contention so the order of directories in BBFILES does | ||
9 | # not matter. | ||
10 | |||
11 | # We have a conf and classes directory, append to BBPATH | ||
12 | BBPATH .= ":${LAYERDIR}" | ||
13 | |||
14 | # We have a recipes directory, add to BBFILES | ||
15 | BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend" | ||
16 | |||
17 | BBFILE_COLLECTIONS += "multimedia-layer" | ||
18 | BBFILE_PATTERN_multimedia-layer := "^${LAYERDIR}/" | ||
19 | |||
20 | # Define the priority for recipes (.bb files) from this layer, | ||
21 | # choosing carefully how this layer interacts with all of the | ||
22 | # other layers. | ||
23 | |||
24 | BBFILE_PRIORITY_multimedia-layer = "6" | ||
25 | |||
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gssdp.inc b/meta-multimedia/recipes-connectivity/gupnp/gssdp.inc new file mode 100644 index 000000000..ae965b996 --- /dev/null +++ b/meta-multimedia/recipes-connectivity/gupnp/gssdp.inc | |||
@@ -0,0 +1,18 @@ | |||
1 | SUMMARY = "Resource discovery and announcement over SSDP" | ||
2 | DESCRIPTION = "GSSDP implements resource discovery and announcement over SSDP (Simpe Service Discovery Protocol)." | ||
3 | LICENSE = "LGPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" | ||
5 | DEPENDS = "glib-2.0 libsoup-2.4 gobject-introspection-stub" | ||
6 | |||
7 | inherit autotools pkgconfig | ||
8 | |||
9 | require no-vala.inc | ||
10 | |||
11 | EXTRA_OECONF = "--disable-introspection" | ||
12 | |||
13 | PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)}" | ||
14 | PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk,gtk+" | ||
15 | |||
16 | PACKAGES =+ "gssdp-tools" | ||
17 | |||
18 | FILES_gssdp-tools = "${bindir}/gssdp* ${datadir}/gssdp/*.glade" | ||
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb b/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb new file mode 100644 index 000000000..9fda51db7 --- /dev/null +++ b/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb | |||
@@ -0,0 +1,9 @@ | |||
1 | require gssdp.inc | ||
2 | |||
3 | inherit gtk-doc | ||
4 | |||
5 | PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk,gtk+3" | ||
6 | |||
7 | SRC_URI = "http://download.gnome.org/sources/${BPN}/0.14/${BPN}-${PV}.tar.xz" | ||
8 | SRC_URI[md5sum] = "b8658e480d047caf2d92baa4a51b9ae7" | ||
9 | SRC_URI[sha256sum] = "4c3ffa01435e84dc31c954e669e1ca0749b962f76a333e74f5c2cb0de5803a13" | ||
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-av.inc b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av.inc new file mode 100644 index 000000000..b07615585 --- /dev/null +++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av.inc | |||
@@ -0,0 +1,8 @@ | |||
1 | SUMMARY = "Helpers for AV applications using UPnP" | ||
2 | DESCRIPTION = "GUPnP-AV is a collection of helpers for building AV (audio/video) applications using GUPnP." | ||
3 | LICENSE = "LGPLv2" | ||
4 | DEPENDS = "gupnp" | ||
5 | |||
6 | inherit autotools pkgconfig | ||
7 | |||
8 | require no-vala.inc | ||
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.6.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.6.bb new file mode 100644 index 000000000..b1b793b68 --- /dev/null +++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.6.bb | |||
@@ -0,0 +1,8 @@ | |||
1 | require gupnp-av.inc | ||
2 | |||
3 | SRC_URI = "http://download.gnome.org/sources/${BPN}/0.12/${BPN}-${PV}.tar.xz" | ||
4 | SRC_URI[md5sum] = "f56cdb269376a9e6cb062eb9960ccf57" | ||
5 | SRC_URI[sha256sum] = "e0553d60dd7c7277c65c02a68a270c4dcb9036a4c7075c902fc8111c6a5e6a44" | ||
6 | |||
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ | ||
8 | file://libgupnp-av/gupnp-av.h;beginline=1;endline=22;md5=2b47b7b5f799d2ebabe62b895e848820" | ||
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna_0.9.2.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna_0.9.2.bb new file mode 100644 index 000000000..b7e71cf0d --- /dev/null +++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna_0.9.2.bb | |||
@@ -0,0 +1,20 @@ | |||
1 | SUMMARY = "Helpers for AV applications using DLNA" | ||
2 | LICENSE = "LGPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ | ||
4 | file://libgupnp-dlna/gupnp-dlna-profile.h;beginline=1;endline=22;md5=1b85459f65cb1e73a885ca137aab6274" | ||
5 | |||
6 | DEPENDS = "libxml2 glib-2.0" | ||
7 | |||
8 | SRC_URI = "http://download.gnome.org/sources/${BPN}/0.9/${BPN}-${PV}.tar.xz" | ||
9 | SRC_URI[md5sum] = "d972f9b03f0f3793cb895eb034ea314f" | ||
10 | SRC_URI[sha256sum] = "c28d5650604c7da4f193e6b85049a4885f3a01f1996df768d55b5cb898a9fc53" | ||
11 | |||
12 | inherit autotools pkgconfig | ||
13 | |||
14 | require no-vala.inc | ||
15 | |||
16 | # The GStreamer metadata backend requires GStreamer 1.0, so skip this until we | ||
17 | # have that packaged. | ||
18 | EXTRA_OECONF = "--disable-gstreamer-metadata-backend" | ||
19 | |||
20 | FILES_${PN} += "${datadir}/gupnp-dlna-2.0/dlna-profiles" | ||
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.2.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.2.bb new file mode 100644 index 000000000..112bc4bd3 --- /dev/null +++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.2.bb | |||
@@ -0,0 +1,14 @@ | |||
1 | SUMMARY = "Helpers for interacting with Internet Gateway Devices over UPnP" | ||
2 | LICENSE = "LGPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ | ||
4 | file://libgupnp-igd/gupnp-simple-igd.c;beginline=1;endline=21;md5=aa292c0d9390463a6e1055dc5fc68e80" | ||
5 | |||
6 | DEPENDS = "glib-2.0 gupnp" | ||
7 | |||
8 | SRC_URI = "http://download.gnome.org/sources/${BPN}/0.2/${BPN}-${PV}.tar.xz" | ||
9 | SRC_URI[md5sum] = "f881323304185c02634034e3bda714ba" | ||
10 | SRC_URI[sha256sum] = "73b6a98a0f13b29b34c3bfc07f99f78b1319211cb95a8585752873af2b9067d3" | ||
11 | |||
12 | inherit autotools pkgconfig | ||
13 | |||
14 | EXTRA_OECONF = "--disable-introspection --disable-python" | ||
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.1.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.1.bb new file mode 100644 index 000000000..178cea39a --- /dev/null +++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.1.bb | |||
@@ -0,0 +1,11 @@ | |||
1 | SUMMARY = "Tools for GUPnP" | ||
2 | LICENSE = "GPLv2+" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ | ||
4 | file://src/network-light/main.c;beginline=1;endline=21;md5=033bf37c030780c5a72165846b3003f6" | ||
5 | DEPENDS = "gupnp gupnp-av gtk+ gnome-icon-theme" | ||
6 | |||
7 | SRC_URI = "http://download.gnome.org/sources/${BPN}/0.8/${BPN}-${PV}.tar.bz2" | ||
8 | SRC_URI[md5sum] = "cafc2a4f2d1a91a8c1228799073d1d7d" | ||
9 | SRC_URI[sha256sum] = "57d5ca899f8da7e4ae69e5f98d75d1603aa7f388022f9ccb357f90abb22b75b6" | ||
10 | |||
11 | inherit autotools pkgconfig | ||
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp.inc b/meta-multimedia/recipes-connectivity/gupnp/gupnp.inc new file mode 100644 index 000000000..b63f2232d --- /dev/null +++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp.inc | |||
@@ -0,0 +1,21 @@ | |||
1 | SUMMARY = "UPnP framework" | ||
2 | DESCRIPTION = "GUPnP is an elegant, object-oriented open source framework for creating UPnP devices and control points, written in C using GObject and libsoup. The GUPnP API is intended to be easy to use, efficient and flexible. It provides the same set of features as libupnp, but shields the developer from most of UPnP's internals." | ||
3 | LICENSE = "LGPLv2+" | ||
4 | |||
5 | DEPENDS = "e2fsprogs gssdp libsoup-2.4 libxml2 gobject-introspection-stub" | ||
6 | |||
7 | require no-vala.inc | ||
8 | |||
9 | EXTRA_OECONF = "--disable-introspection" | ||
10 | |||
11 | inherit autotools pkgconfig | ||
12 | |||
13 | FILES_${PN} = "${libdir}/*.so.*" | ||
14 | FILES_${PN}-dev += "${bindir}/gupnp-binding-tool" | ||
15 | |||
16 | SYSROOT_PREPROCESS_FUNCS += "gupnp_sysroot_preprocess" | ||
17 | |||
18 | gupnp_sysroot_preprocess () { | ||
19 | install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ | ||
20 | install -m 755 ${D}${bindir}/gupnp-binding-tool ${SYSROOT_DESTDIR}${bindir_crossscripts}/ | ||
21 | } | ||
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.12.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.12.bb new file mode 100644 index 000000000..bba86a9d1 --- /dev/null +++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.12.bb | |||
@@ -0,0 +1,8 @@ | |||
1 | require gupnp.inc | ||
2 | |||
3 | SRC_URI = "http://download.gnome.org/sources/${BPN}/0.20/${BPN}-${PV}.tar.xz" | ||
4 | SRC_URI[md5sum] = "c01aa6d3a78792b3a24591f036dd91f4" | ||
5 | SRC_URI[sha256sum] = "205d47b950a1b7190df1115f454cb38a44d71aacfec75d4287299e400e139b69" | ||
6 | |||
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ | ||
8 | file://libgupnp/gupnp.h;beginline=1;endline=20;md5=d78a69d9b6e63ee2dc72e7b674d97520" | ||
diff --git a/meta-multimedia/recipes-connectivity/gupnp/no-vala.inc b/meta-multimedia/recipes-connectivity/gupnp/no-vala.inc new file mode 100644 index 000000000..5a45cd125 --- /dev/null +++ b/meta-multimedia/recipes-connectivity/gupnp/no-vala.inc | |||
@@ -0,0 +1,5 @@ | |||
1 | do_configure_prepend () { | ||
2 | # Vala needs gobject-introspection so won't work. Instead of depending | ||
3 | # on vala-native just to run configure, comment out the Vala macro. | ||
4 | sed -i -e 's/\(^[ \t]*VALA_PROG_VAPIGEN\)/dnl \1/g' ${S}/configure.ac | ||
5 | } | ||
diff --git a/meta-multimedia/recipes-dvb/dvb-apps/dvb-apps_1.1.1.bb b/meta-multimedia/recipes-dvb/dvb-apps/dvb-apps_1.1.1.bb new file mode 100644 index 000000000..1c0d6867d --- /dev/null +++ b/meta-multimedia/recipes-dvb/dvb-apps/dvb-apps_1.1.1.bb | |||
@@ -0,0 +1,106 @@ | |||
1 | HOMEPAGE = "http://www.linuxtv.org" | ||
2 | SUMMARY = "Linux DVB API applications and utilities" | ||
3 | |||
4 | LICENSE = "GPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" | ||
6 | |||
7 | SRC_URI = "hg://linuxtv.org/hg;module=dvb-apps;protocol=http" | ||
8 | SRCREV = "3fc7dfa68484" | ||
9 | |||
10 | S = "${WORKDIR}/${BPN}" | ||
11 | |||
12 | do_configure() { | ||
13 | sed -i -e s:/usr/include:${STAGING_INCDIR}:g util/av7110_loadkeys/generate-keynames.sh | ||
14 | } | ||
15 | |||
16 | do_install() { | ||
17 | make DESTDIR=${D} install | ||
18 | install -d ${D}/${bindir} | ||
19 | install -d ${D}/${docdir}/dvb-apps | ||
20 | install -d ${D}/${docdir}/dvb-apps/scan | ||
21 | install -d ${D}/${docdir}/dvb-apps/szap | ||
22 | chmod a+rx ${D}/${libdir}/*.so* | ||
23 | |||
24 | # Install tests | ||
25 | install -m 0755 ${S}/test/setvoltage ${D}${bindir}/test_setvoltage | ||
26 | install -m 0755 ${S}/test/set22k ${D}${bindir}/test_set22k | ||
27 | install -m 0755 ${S}/test/sendburst ${D}${bindir}/test_sendburst | ||
28 | install -m 0755 ${S}/test/diseqc ${D}${bindir}/test_diseqc | ||
29 | install -m 0755 ${S}/test/test_sections ${D}${bindir}/ | ||
30 | install -m 0755 ${S}/test/test_av_play ${D}${bindir}/ | ||
31 | install -m 0755 ${S}/test/test_stillimage ${D}${bindir}/ | ||
32 | install -m 0755 ${S}/test/test_dvr_play ${D}${bindir}/ | ||
33 | install -m 0755 ${S}/test/test_tt ${D}${bindir}/ | ||
34 | install -m 0755 ${S}/test/test_sec_ne ${D}${bindir}/ | ||
35 | install -m 0755 ${S}/test/test_stc ${D}${bindir}/ | ||
36 | install -m 0755 ${S}/test/test_av ${D}${bindir}/ | ||
37 | install -m 0755 ${S}/test/test_vevent ${D}${bindir}/ | ||
38 | install -m 0755 ${S}/test/test_pes ${D}${bindir}/ | ||
39 | install -m 0755 ${S}/test/test_dvr ${D}${bindir}/ | ||
40 | |||
41 | cp -pPR ${S}/util/szap/channels-conf* ${D}/${docdir}/dvb-apps/szap/ | ||
42 | cp -pPR ${S}/util/szap/README ${D}/${docdir}/dvb-apps/szap/ | ||
43 | } | ||
44 | |||
45 | python populate_packages_prepend () { | ||
46 | dvb_libdir = bb.data.expand('${libdir}', d) | ||
47 | do_split_packages(d, dvb_libdir, '^lib(.*)\.so$', 'lib%s', 'DVB %s package', extra_depends='', allow_links=True) | ||
48 | do_split_packages(d, dvb_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'DVB %s development package', extra_depends='${PN}-dev') | ||
49 | do_split_packages(d, dvb_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'DVB %s development package', extra_depends='${PN}-dev') | ||
50 | do_split_packages(d, dvb_libdir, '^lib(.*)\.so\.*', 'lib%s', 'DVB %s library', extra_depends='', allow_links=True) | ||
51 | } | ||
52 | |||
53 | PACKAGES =+ "dvb-evtest dvb-evtest-dbg \ | ||
54 | dvbapp-tests dvbapp-tests-dbg \ | ||
55 | dvbdate dvbdate-dbg \ | ||
56 | dvbtraffic dvbtraffic-dbg \ | ||
57 | dvbnet dvbnet-dbg \ | ||
58 | dvb-scan dvb-scan-dbg dvb-scan-data \ | ||
59 | dvb-azap dvb-azap-dbg \ | ||
60 | dvb-czap dvb-czap-dbg \ | ||
61 | dvb-szap dvb-szap-dbg \ | ||
62 | dvb-tzap dvb-tzap-dbg \ | ||
63 | dvb-femon dvb-femon-dbg \ | ||
64 | dvb-zap-data" | ||
65 | |||
66 | |||
67 | FILES_${PN} = "${bindir} ${datadir}/dvb" | ||
68 | FILES_${PN}-doc = "" | ||
69 | FILES_${PN}-dev = "${includedir}" | ||
70 | |||
71 | FILES_dvb-evtest = "${bindir}/evtest" | ||
72 | FILES_dvb-evtest-dbg = "${bindir}/.debug/evtest" | ||
73 | RCONFLICTS_dvb-evtest = "evtest" | ||
74 | |||
75 | FILES_dvbapp-tests = "${bindir}/*test* " | ||
76 | FILES_dvbapp-tests-dbg = "${bindir}/.debug/*test*" | ||
77 | |||
78 | FILES_dvbdate = "${bindir}/dvbdate" | ||
79 | FILES_dvbdate-dbg = "${bindir}/.debug/dvbdate" | ||
80 | |||
81 | FILES_dvbtraffic = "${bindir}/dvbtraffic" | ||
82 | FILES_dvbtraffic-dbg = "${bindir}/.debug/dvbtraffic" | ||
83 | |||
84 | FILES_dvbnet = "${bindir}/dvbnet" | ||
85 | FILES_dvbnet-dbg = "${bindir}/.debug/dvbnet" | ||
86 | |||
87 | FILES_dvb-scan = "${bindir}/*scan " | ||
88 | FILES_dvb-scan-dbg = "${bindir}/.debug/*scan" | ||
89 | FILES_dvb-scan-data = "${docdir}/dvb-apps/scan" | ||
90 | |||
91 | FILES_dvb-azap = "${bindir}/azap" | ||
92 | FILES_dvb-azap-dbg = "${bindir}/.debug/azap" | ||
93 | |||
94 | FILES_dvb-czap = "${bindir}/czap" | ||
95 | FILES_dvb-czap-dbg = "${bindir}/.debug/czap" | ||
96 | |||
97 | FILES_dvb-szap = "${bindir}/szap" | ||
98 | FILES_dvb-szap-dbg = "${bindir}/.debug/szap" | ||
99 | |||
100 | FILES_dvb-tzap = "${bindir}/tzap" | ||
101 | FILES_dvb-tzap-dbg = "${bindir}/.debug/tzap" | ||
102 | |||
103 | FILES_dvb-femon = "${bindir}/femon" | ||
104 | FILES_dvb-femon-dbg = "${bindir}/.debug/femon" | ||
105 | |||
106 | FILES_dvb-zap-data = "${docdir}/dvb-apps/szap" | ||
diff --git a/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb b/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb new file mode 100644 index 000000000..c4a4d99a4 --- /dev/null +++ b/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb | |||
@@ -0,0 +1,18 @@ | |||
1 | SUMMARY = "OSCam: Open Source Conditional Access Module" | ||
2 | HOMEPAGE = "http://www.streamboard.tv/oscam/" | ||
3 | |||
4 | LICENSE = "GPLv3" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" | ||
6 | |||
7 | DEPENDS = "libusb1 openssl pcsc-lite" | ||
8 | |||
9 | SRC_URI = "svn://www.streamboard.tv/svn/oscam;module=trunk;protocol=http" | ||
10 | SRCREV = "9164" | ||
11 | PV = "1.10+${SRCPV}" | ||
12 | |||
13 | S = "${WORKDIR}/trunk" | ||
14 | |||
15 | inherit cmake | ||
16 | |||
17 | EXTRA_OECMAKE = "-DDEFAULT_CS_CONFDIR=${sysconfdir} -DCMAKE_BUILD_TYPE=Debug" | ||
18 | |||
diff --git a/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Move-tvheadend-specific-LD-CFLAGS-into-a-helper-vari.patch b/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Move-tvheadend-specific-LD-CFLAGS-into-a-helper-vari.patch new file mode 100644 index 000000000..9dfcce042 --- /dev/null +++ b/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Move-tvheadend-specific-LD-CFLAGS-into-a-helper-vari.patch | |||
@@ -0,0 +1,92 @@ | |||
1 | From 2ee64b359464b48f751683faa5ded3ee8200fe90 Mon Sep 17 00:00:00 2001 | ||
2 | From: Koen Kooi <koen@dominion.thruhere.net> | ||
3 | Date: Fri, 21 Dec 2012 10:15:42 +0100 | ||
4 | Subject: [PATCH] Move tvheadend specific LD/CFLAGS into a helper variable to | ||
5 | avoid being overwritten | ||
6 | |||
7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | ||
8 | |||
9 | Upstream-Status: Inappropriate [OE specific] | ||
10 | --- | ||
11 | Makefile | 20 ++++++++++---------- | ||
12 | support/configure.inc | 8 ++++---- | ||
13 | 2 files changed, 14 insertions(+), 14 deletions(-) | ||
14 | |||
15 | diff --git a/Makefile b/Makefile | ||
16 | index 8c6b293..daf5f14 100644 | ||
17 | --- a/Makefile | ||
18 | +++ b/Makefile | ||
19 | @@ -27,12 +27,12 @@ PROG = ${BUILDDIR}/tvheadend | ||
20 | # Common compiler flags | ||
21 | # | ||
22 | |||
23 | -CFLAGS += -Wall -Werror -Wwrite-strings -Wno-deprecated-declarations | ||
24 | -CFLAGS += -Wmissing-prototypes -fms-extensions | ||
25 | -CFLAGS += -g -funsigned-char -O2 | ||
26 | -CFLAGS += -D_FILE_OFFSET_BITS=64 | ||
27 | -CFLAGS += -I${BUILDDIR} -I${CURDIR}/src -I${CURDIR} | ||
28 | -LDFLAGS += -lrt -ldl -lpthread -lm | ||
29 | +TVH_CFLAGS += -Wall -Werror -Wwrite-strings -Wno-deprecated-declarations | ||
30 | +TVH_CFLAGS += -Wmissing-prototypes -fms-extensions | ||
31 | +TVH_CFLAGS += -g -funsigned-char -O2 | ||
32 | +TVH_CFLAGS += -D_FILE_OFFSET_BITS=64 | ||
33 | +TVH_CFLAGS += -I${BUILDDIR} -I${CURDIR}/src -I${CURDIR} | ||
34 | +TVH_LDFLAGS += -lrt -ldl -lpthread -lm | ||
35 | |||
36 | # | ||
37 | # Other config | ||
38 | @@ -179,8 +179,8 @@ SRCS-${CONFIG_CWC} += src/ffdecsa/ffdecsa_interface.c \ | ||
39 | src/ffdecsa/ffdecsa_int.c | ||
40 | SRCS-${CONFIG_MMX} += src/ffdecsa/ffdecsa_mmx.c | ||
41 | SRCS-${CONFIG_SSE2} += src/ffdecsa/ffdecsa_sse2.c | ||
42 | -${BUILDDIR}/src/ffdecsa/ffdecsa_mmx.o : CFLAGS += -mmmx | ||
43 | -${BUILDDIR}/src/ffdecsa/ffdecsa_sse2.o : CFLAGS += -msse2 | ||
44 | +${BUILDDIR}/src/ffdecsa/ffdecsa_mmx.o : TVH_CFLAGS += -mmmx | ||
45 | +${BUILDDIR}/src/ffdecsa/ffdecsa_sse2.o : TVH_CFLAGS += -msse2 | ||
46 | endif | ||
47 | |||
48 | # File bundles | ||
49 | @@ -217,12 +217,12 @@ all: ${PROG} | ||
50 | |||
51 | # Binary | ||
52 | ${PROG}: $(OBJS) $(ALLDEPS) | ||
53 | - $(CC) -o $@ $(OBJS) $(CFLAGS) $(LDFLAGS) | ||
54 | + $(CC) -o $@ $(OBJS) $(TVH_CFLAGS) $(TVH_LDFLAGS) $(CFLAGS) $(LDFLAGS) | ||
55 | |||
56 | # Object | ||
57 | ${BUILDDIR}/%.o: %.c | ||
58 | @mkdir -p $(dir $@) | ||
59 | - $(CC) -MD -MP $(CFLAGS) -c -o $@ $(CURDIR)/$< | ||
60 | + $(CC) -MD -MP $(TVH_CFLAGS) $(CFLAGS) -c -o $@ $(CURDIR)/$< | ||
61 | |||
62 | # Add-on | ||
63 | ${BUILDDIR}/%.so: ${SRCS_EXTRA} | ||
64 | diff --git a/support/configure.inc b/support/configure.inc | ||
65 | index 0130880..332511e 100644 | ||
66 | --- a/support/configure.inc | ||
67 | +++ b/support/configure.inc | ||
68 | @@ -464,8 +464,8 @@ ifeq (\$(origin CC),default) | ||
69 | CC = ${CC} | ||
70 | endif | ||
71 | PYTHON ?= ${PYTHON} | ||
72 | -CFLAGS += ${CFLAGS} | ||
73 | -LDFLAGS += ${LDFLAGS} | ||
74 | +TVH_CFLAGS += ${CFLAGS} | ||
75 | +TVH_LDFLAGS += ${LDFLAGS} | ||
76 | prefix = ${prefix} | ||
77 | bindir = ${bindir} | ||
78 | mandir = ${mandir} | ||
79 | @@ -482,8 +482,8 @@ EOF | ||
80 | # Add package config | ||
81 | for pkg in ${PACKAGES[*]}; do | ||
82 | cat >>${CONFIG_MK} <<EOF | ||
83 | -LDFLAGS += $(pkg-config --libs $pkg) | ||
84 | -CFLAGS += $(pkg-config --cflags $pkg) | ||
85 | +TVH_LDFLAGS += $(pkg-config --libs $pkg) | ||
86 | +TVH_CFLAGS += $(pkg-config --cflags $pkg) | ||
87 | EOF | ||
88 | done | ||
89 | |||
90 | -- | ||
91 | 1.7.7.6 | ||
92 | |||
diff --git a/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb b/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb new file mode 100644 index 000000000..65d43c620 --- /dev/null +++ b/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb | |||
@@ -0,0 +1,31 @@ | |||
1 | SUMMARY = "Tvheadend TV streaming server" | ||
2 | HOMEPAGE = "https://www.lonelycoder.com/redmine/projects/tvheadend" | ||
3 | |||
4 | DEPENDS = "avahi zlib openssl python-native" | ||
5 | |||
6 | LICENSE = "GPLv3+" | ||
7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=9eef91148a9b14ec7f9df333daebc746" | ||
8 | |||
9 | SRC_URI = "git://github.com/tvheadend/tvheadend.git \ | ||
10 | file://0001-Move-tvheadend-specific-LD-CFLAGS-into-a-helper-vari.patch \ | ||
11 | " | ||
12 | SRCREV = "a420c83a0e0d2c31c2c15d0fec6fedc3f5a36dfe" | ||
13 | PV = "3.3" | ||
14 | |||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | do_configure() { | ||
18 | ./configure --prefix=${prefix} \ | ||
19 | --libdir=${libdir} \ | ||
20 | --bindir=${bindir} \ | ||
21 | --datadir=${datadir} \ | ||
22 | --arch=${TARGET_ARCH} \ | ||
23 | --disable-dvbscan \ | ||
24 | --disable-bundle | ||
25 | } | ||
26 | |||
27 | do_install() { | ||
28 | oe_runmake install DESTDIR=${D} | ||
29 | } | ||
30 | |||
31 | FILES_${PN} += "${datadir}/${BPN}" | ||
diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0001-configure-don-t-run-python-distutils-to-find-STAGING.patch b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0001-configure-don-t-run-python-distutils-to-find-STAGING.patch new file mode 100644 index 000000000..dfc3959a1 --- /dev/null +++ b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0001-configure-don-t-run-python-distutils-to-find-STAGING.patch | |||
@@ -0,0 +1,31 @@ | |||
1 | From 0dce5a2abd9f42876616c35772a4d71c5399543c Mon Sep 17 00:00:00 2001 | ||
2 | From: Koen Kooi <koen@dominion.thruhere.net> | ||
3 | Date: Sat, 17 Dec 2011 11:38:15 +0100 | ||
4 | Subject: [PATCH 1/4] configure: don't run python distutils to find STAGING_INCDIR/python, it is not safe for per-machine sysroots | ||
5 | |||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | ||
7 | --- | ||
8 | m4/ax_python_devel.m4 | 7 +------ | ||
9 | 1 files changed, 1 insertions(+), 6 deletions(-) | ||
10 | |||
11 | diff --git a/m4/ax_python_devel.m4 b/m4/ax_python_devel.m4 | ||
12 | index adbd207..dee70f6 100644 | ||
13 | --- a/m4/ax_python_devel.m4 | ||
14 | +++ b/m4/ax_python_devel.m4 | ||
15 | @@ -151,12 +151,7 @@ $ac_distutils_result]) | ||
16 | # | ||
17 | AC_MSG_CHECKING([for Python include path]) | ||
18 | if test -z "$PYTHON_CPPFLAGS"; then | ||
19 | - python_path=`$PYTHON -c "import distutils.sysconfig; \ | ||
20 | - print (distutils.sysconfig.get_python_inc ());"` | ||
21 | - if test -n "${python_path}"; then | ||
22 | - python_path="-I$python_path" | ||
23 | - fi | ||
24 | - PYTHON_CPPFLAGS=$python_path | ||
25 | + PYTHON_CPPFLAGS="-I${STAGING_INCDIR}/${PYTHON_DIR}" | ||
26 | fi | ||
27 | AC_MSG_RESULT([$PYTHON_CPPFLAGS]) | ||
28 | AC_SUBST([PYTHON_CPPFLAGS]) | ||
29 | -- | ||
30 | 1.7.2.5 | ||
31 | |||
diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-Add-S.patch b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-Add-S.patch new file mode 100644 index 000000000..e0a4037bc --- /dev/null +++ b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-Add-S.patch | |||
@@ -0,0 +1,97 @@ | |||
1 | From 7b2a8a7869d257cba35f53f6d877877c29cdac27 Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Menzel <paulepanter@users.sourceforge.net> | ||
3 | Date: Sun, 14 Aug 2011 21:53:47 +0200 | ||
4 | Subject: [PATCH 2/4] Revert "fixed:[ios] Add memory barriers to atomic Add/Subtract and Increment/Decrement functions to ensure synchronized accesses." | ||
5 | |||
6 | This reverts commit 9a10c48710df79118e39e9b3bb0a15bf1fe694d1. | ||
7 | |||
8 | The build (OpenEmbedded `angstrom-2010.x` for `MACHINE = "beagleboard") fails with the following error. | ||
9 | |||
10 | make -C xbmc/threads | ||
11 | make[1]: Entering directory `/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r11+gitr0+9a10c48710df79118e39e9b3bb0a15bf1fe694d1/git/xbmc/threads' | ||
12 | CPP Atomics.o | ||
13 | /tmp/ccIzTm3L.s: Assembler messages: | ||
14 | /tmp/ccIzTm3L.s:40: Error: garbage following instruction -- `dmb ish' | ||
15 | /tmp/ccIzTm3L.s:48: Error: garbage following instruction -- `dmb ish' | ||
16 | /tmp/ccIzTm3L.s:76: Error: garbage following instruction -- `dmb ish' | ||
17 | /tmp/ccIzTm3L.s:83: Error: garbage following instruction -- `dmb ish' | ||
18 | /tmp/ccIzTm3L.s:111: Error: garbage following instruction -- `dmb ish' | ||
19 | /tmp/ccIzTm3L.s:118: Error: garbage following instruction -- `dmb ish' | ||
20 | /tmp/ccIzTm3L.s:145: Error: garbage following instruction -- `dmb ish' | ||
21 | /tmp/ccIzTm3L.s:152: Error: garbage following instruction -- `dmb ish' | ||
22 | /tmp/ccIzTm3L.s:180: Error: garbage following instruction -- `dmb ish' | ||
23 | /tmp/ccIzTm3L.s:187: Error: garbage following instruction -- `dmb ish' | ||
24 | make[1]: *** [Atomics.o] Error 1 | ||
25 | make[1]: Leaving directory `/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r11+gitr0+9a10c48710df79118e39e9b3bb0a15bf1fe694d1/git/xbmc/threads' | ||
26 | make: *** [xbmc/threads/threads.a] Error 2 | ||
27 | --- | ||
28 | xbmc/threads/Atomics.cpp | 8 -------- | ||
29 | 1 files changed, 0 insertions(+), 8 deletions(-) | ||
30 | |||
31 | diff --git a/xbmc/threads/Atomics.cpp b/xbmc/threads/Atomics.cpp | ||
32 | index 5b09f18..0a98a7e 100644 | ||
33 | --- a/xbmc/threads/Atomics.cpp | ||
34 | +++ b/xbmc/threads/Atomics.cpp | ||
35 | @@ -194,14 +194,12 @@ long AtomicIncrement(volatile long* pAddr) | ||
36 | { | ||
37 | register long val; | ||
38 | asm volatile ( | ||
39 | - "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after | ||
40 | "1: \n" | ||
41 | "ldrex %0, [%1] \n" // (val = *pAddr) | ||
42 | "add %0, #1 \n" // (val += 1) | ||
43 | "strex r1, %0, [%1] \n" | ||
44 | "cmp r1, #0 \n" | ||
45 | "bne 1b \n" | ||
46 | - "dmb ish \n" // Memory barrier. | ||
47 | : "=&r" (val) | ||
48 | : "r"(pAddr) | ||
49 | : "r1" | ||
50 | @@ -273,14 +271,12 @@ long AtomicAdd(volatile long* pAddr, long amount) | ||
51 | { | ||
52 | register long val; | ||
53 | asm volatile ( | ||
54 | - "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after | ||
55 | "1: \n" | ||
56 | "ldrex %0, [%1] \n" // (val = *pAddr) | ||
57 | "add %0, %2 \n" // (val += amount) | ||
58 | "strex r1, %0, [%1] \n" | ||
59 | "cmp r1, #0 \n" | ||
60 | "bne 1b \n" | ||
61 | - "dmb ish \n" // Memory barrier. | ||
62 | : "=&r" (val) | ||
63 | : "r"(pAddr), "r"(amount) | ||
64 | : "r1" | ||
65 | @@ -351,14 +347,12 @@ long AtomicDecrement(volatile long* pAddr) | ||
66 | { | ||
67 | register long val; | ||
68 | asm volatile ( | ||
69 | - "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after | ||
70 | "1: \n" | ||
71 | "ldrex %0, [%1] \n" // (val = *pAddr) | ||
72 | "sub %0, #1 \n" // (val -= 1) | ||
73 | "strex r1, %0, [%1] \n" | ||
74 | "cmp r1, #0 \n" | ||
75 | "bne 1b \n" | ||
76 | - "dmb ish \n" // Memory barrier. | ||
77 | : "=&r" (val) | ||
78 | : "r"(pAddr) | ||
79 | : "r1" | ||
80 | @@ -431,14 +425,12 @@ long AtomicSubtract(volatile long* pAddr, long amount) | ||
81 | { | ||
82 | register long val; | ||
83 | asm volatile ( | ||
84 | - "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after | ||
85 | "1: \n" | ||
86 | "ldrex %0, [%1] \n" // (val = *pAddr) | ||
87 | "sub %0, %2 \n" // (val -= amount) | ||
88 | "strex r1, %0, [%1] \n" | ||
89 | "cmp r1, #0 \n" | ||
90 | "bne 1b \n" | ||
91 | - "dmb ish \n" // Memory barrier. | ||
92 | : "=&r" (val) | ||
93 | : "r"(pAddr), "r"(amount) | ||
94 | : "r1" | ||
95 | -- | ||
96 | 1.7.2.5 | ||
97 | |||
diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0003-Revert-fixed-ios-Add-memory-barriers-to-cas-assembly.patch b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0003-Revert-fixed-ios-Add-memory-barriers-to-cas-assembly.patch new file mode 100644 index 000000000..629017b7b --- /dev/null +++ b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0003-Revert-fixed-ios-Add-memory-barriers-to-cas-assembly.patch | |||
@@ -0,0 +1,69 @@ | |||
1 | From aaae1616a09d359b52e929f944ca0ceb4bb7f831 Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Menzel <paulepanter@users.sourceforge.net> | ||
3 | Date: Sun, 14 Aug 2011 21:55:09 +0200 | ||
4 | Subject: [PATCH 3/4] Revert "fixed:[ios] Add memory barriers to cas() assembly to ensure alignment of memory accesses." | ||
5 | |||
6 | This reverts commit 92bab651e2253d172879995b50985645b77fecd2. | ||
7 | |||
8 | The build (OpenEmbedded `angstrom-2010.x` for `MACHINE = "beagleboard") fails with the following error. | ||
9 | |||
10 | CPP Atomics.o | ||
11 | make[1]: Entering directory `/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r11+gitr0+92bab651e2253d172879995b50985645b77fecd2/git/xbmc/windows' | ||
12 | CPP GUIMediaWindow.o | ||
13 | /tmp/ccrsywuV.s: Assembler messages: | ||
14 | /tmp/ccrsywuV.s:40: Error: garbage following instruction -- `dmb ish' | ||
15 | /tmp/ccrsywuV.s:48: Error: garbage following instruction -- `dmb ish' | ||
16 | make[1]: *** [Atomics.o] Error 1 | ||
17 | make[1]: Leaving directory `/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r11+gitr0+92bab651e2253d172879995b50985645b77fecd2/git/xbmc/threads' | ||
18 | make: *** [xbmc/threads/threads.a] Error 2 | ||
19 | --- | ||
20 | xbmc/threads/Atomics.cpp | 33 ++++++++++++++++----------------- | ||
21 | 1 files changed, 16 insertions(+), 17 deletions(-) | ||
22 | |||
23 | diff --git a/xbmc/threads/Atomics.cpp b/xbmc/threads/Atomics.cpp | ||
24 | index 0a98a7e..0967eb2 100644 | ||
25 | --- a/xbmc/threads/Atomics.cpp | ||
26 | +++ b/xbmc/threads/Atomics.cpp | ||
27 | @@ -49,23 +49,22 @@ long cas(volatile long *pAddr, long expectedVal, long swapVal) | ||
28 | #elif defined(__arm__) | ||
29 | long cas(volatile long* pAddr, long expectedVal, long swapVal) | ||
30 | { | ||
31 | - register long prev; | ||
32 | - asm volatile ( | ||
33 | - "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after | ||
34 | - "1: \n" | ||
35 | - "ldrex %0, [%1] \n" // Load the current value of *pAddr(%1) into prev (%0) and lock pAddr, | ||
36 | - "cmp %0, %2 \n" // Verify that the current value (%0) == old value (%2) | ||
37 | - "bne 2f \n" // Bail if the two values are not equal [not as expected] | ||
38 | - "strex r1, %3, [%1] \n" | ||
39 | - "cmp r1, #0 \n" | ||
40 | - "bne 1b \n" | ||
41 | - "dmb ish \n" // Memory barrier. | ||
42 | - "2: \n" | ||
43 | - : "=&r" (prev) | ||
44 | - : "r"(pAddr), "r"(expectedVal),"r"(swapVal) | ||
45 | - : "r1" | ||
46 | - ); | ||
47 | - return prev; | ||
48 | + return(__sync_val_compare_and_swap(pAddr, expectedVal, swapVal)); | ||
49 | +// register long prev; | ||
50 | +// asm volatile ( | ||
51 | +// "1: \n" | ||
52 | +// "ldrex %0, [%1] \n" /* Load the current value of *pAddr(%1) into prev (%0) and lock pAddr, */ | ||
53 | +// "cmp %0, %2 \n" /* Verify that the current value (%0) == old value (%2) */ | ||
54 | +// "bne 2f \n" /* Bail if the two values are not equal [not as expected] */ | ||
55 | +// "strex r1, %3, [%1] \n" | ||
56 | +// "cmp r1, #0 \n" | ||
57 | +// "bne 1b \n" | ||
58 | +// "2: " | ||
59 | +// : "=&r" (prev) | ||
60 | +// : "r"(pAddr), "r"(expectedVal),"r"(swapVal) | ||
61 | +// : "r1" | ||
62 | +// ); | ||
63 | +// return prev; | ||
64 | } | ||
65 | |||
66 | #elif defined(__mips__) | ||
67 | -- | ||
68 | 1.7.2.5 | ||
69 | |||
diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0004-configure-cope-with-ld-is-gold-DISTRO_FEATURE.patch b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0004-configure-cope-with-ld-is-gold-DISTRO_FEATURE.patch new file mode 100644 index 000000000..345e20ee1 --- /dev/null +++ b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0004-configure-cope-with-ld-is-gold-DISTRO_FEATURE.patch | |||
@@ -0,0 +1,43 @@ | |||
1 | From fd8f73826240aae543a41a2bfeea0056e2fe594d Mon Sep 17 00:00:00 2001 | ||
2 | From: Koen Kooi <koen@dominion.thruhere.net> | ||
3 | Date: Mon, 11 Mar 2013 11:04:29 +0100 | ||
4 | Subject: [PATCH] configure: cope with ld-is-gold DISTRO_FEATURE | ||
5 | |||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | ||
7 | --- | ||
8 | |||
9 | Upstream-Stature: backport | ||
10 | |||
11 | configure.in | 12 +++++++----- | ||
12 | 1 files changed, 7 insertions(+), 5 deletions(-) | ||
13 | |||
14 | diff --git a/configure.in b/configure.in | ||
15 | index ef94683..c8b459b 100755 | ||
16 | --- a/configure.in | ||
17 | +++ b/configure.in | ||
18 | @@ -18,9 +18,14 @@ tolower(){ | ||
19 | # check for library basenames | ||
20 | AC_DEFUN([XB_FIND_SONAME], | ||
21 | [ | ||
22 | + #set -x | ||
23 | if [[ "$host_vendor" != "apple" ]]; then | ||
24 | AC_MSG_CHECKING([for lib$2 soname]) | ||
25 | $1_FILENAME=$($CC -nostdlib -o /dev/null $LDFLAGS -l$2 -Wl,-M 2>/dev/null | grep "^LOAD.*$2" | awk '{V=2; print $V}') | ||
26 | + if [[ -z $$1_FILENAME ]]; then | ||
27 | + #try gold linker syntax | ||
28 | + $1_FILENAME=$($CC -nostdlib -o /dev/null $LDFLAGS -l$2 -Wl,-t 3>&1 1>&2 2>&3 | grep "$2") | ||
29 | + fi | ||
30 | if [[ ! -z $$1_FILENAME ]]; then | ||
31 | $1_SONAME=$(objdump -p $$1_FILENAME | grep "SONAME.*$2" | awk '{V=2; print $V}') | ||
32 | fi | ||
33 | @@ -55,6 +60,7 @@ AC_DEFUN([XB_FIND_SONAME], | ||
34 | AC_MSG_RESULT([$$1_SONAME]) | ||
35 | AC_SUBST($1_SONAME) | ||
36 | fi | ||
37 | + #set +x | ||
38 | ]) | ||
39 | |||
40 | # Function to push and pop libs and includes for a command | ||
41 | -- | ||
42 | 1.7.7.6 | ||
43 | |||
diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/configure.in-Avoid-running-code.patch b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/configure.in-Avoid-running-code.patch new file mode 100644 index 000000000..5c1405982 --- /dev/null +++ b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/configure.in-Avoid-running-code.patch | |||
@@ -0,0 +1,32 @@ | |||
1 | From cfd851660a594801a591e80dc820c65cb7bd7836 Mon Sep 17 00:00:00 2001 | ||
2 | From: Otavio Salvador <otavio@ossystems.com.br> | ||
3 | Date: Sat, 6 Oct 2012 06:40:03 -0300 | ||
4 | Subject: [PATCH] configure.in: Avoid running code or we break cross-compile | ||
5 | |||
6 | Upstream-Status: Backport [similar change done for 12.0] | ||
7 | |||
8 | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> | ||
9 | --- | ||
10 | configure.in | 6 +----- | ||
11 | 1 files changed, 1 insertions(+), 5 deletions(-) | ||
12 | |||
13 | diff --git a/configure.in b/configure.in | ||
14 | index ef94683..d7efcb0 100755 | ||
15 | --- a/configure.in | ||
16 | +++ b/configure.in | ||
17 | @@ -1246,11 +1246,7 @@ if test "$use_external_ffmpeg" = "yes"; then | ||
18 | AC_DEFINE([USE_EXTERNAL_FFMPEG], [1], [Whether to use external FFmpeg libraries.]) | ||
19 | |||
20 | # Disable vdpau support if external libavcodec doesn't have it | ||
21 | - AC_RUN_IFELSE( | ||
22 | - AC_LANG_PROGRAM([[#include <libavcodec/avcodec.h>]], | ||
23 | - [[avcodec_register_all(); | ||
24 | - AVCodec *codec = avcodec_find_decoder_by_name("vc1_vdpau"); | ||
25 | - return (codec) ? 0 : 1;]]),, | ||
26 | + AC_CHECK_LIB([avcodec], [ff_vdpau_vc1_decode_picture],, | ||
27 | [if test "x$use_vdpau" = "xyes"; then | ||
28 | AC_MSG_ERROR($ffmpeg_vdpau_not_supported) | ||
29 | else | ||
30 | -- | ||
31 | 1.7.2.5 | ||
32 | |||
diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb b/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb new file mode 100644 index 000000000..17db7b51e --- /dev/null +++ b/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb | |||
@@ -0,0 +1,99 @@ | |||
1 | SUMMARY = "XBMC Media Center" | ||
2 | |||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=6eb631b6da7fdb01508a80213ffc35ff" | ||
5 | |||
6 | DEPENDS = "libusb1 libcec libplist expat yajl gperf-native libxmu fribidi mpeg2dec ffmpeg samba fontconfig curl python libass libmodplug libmicrohttpd wavpack libmms cmake-native libsdl-image libsdl-mixer virtual/egl mysql5 sqlite3 libmms faad2 libcdio libpcre boost lzo enca avahi libsamplerate0 libxinerama libxrandr libxtst bzip2 virtual/libsdl jasper zip-native zlib libtinyxml libmad" | ||
7 | #require recipes/egl/egl.inc | ||
8 | |||
9 | |||
10 | SRCREV = "82388d55dae79cbb2e486e307e23202e76a43efa" | ||
11 | |||
12 | # multiple issues | ||
13 | PNBLACKLIST[xbmc] ?= "/usr/include/c++/ctime:70:11: error: '::gmtime' has not been declared" | ||
14 | |||
15 | PV = "11.0+gitr${SRCPV}" | ||
16 | PR = "r14" | ||
17 | SRC_URI = "git://github.com/xbmc/xbmc.git;branch=Eden \ | ||
18 | file://0001-configure-don-t-run-python-distutils-to-find-STAGING.patch \ | ||
19 | file://0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-Add-S.patch \ | ||
20 | file://0003-Revert-fixed-ios-Add-memory-barriers-to-cas-assembly.patch \ | ||
21 | file://0004-configure-cope-with-ld-is-gold-DISTRO_FEATURE.patch \ | ||
22 | file://configure.in-Avoid-running-code.patch \ | ||
23 | " | ||
24 | |||
25 | inherit autotools gettext python-dir | ||
26 | |||
27 | S = "${WORKDIR}/git" | ||
28 | |||
29 | # breaks compilation | ||
30 | CCACHE = "" | ||
31 | |||
32 | CACHED_CONFIGUREVARS += " \ | ||
33 | ac_cv_path_PYTHON="${STAGING_BINDIR_NATIVE}/python-native/python" \ | ||
34 | " | ||
35 | |||
36 | PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'opengl', 'opengl', 'openglesv2', d)}" | ||
37 | PACKAGECONFIG[opengl] = "--enable-gl,--enable-gles,glew" | ||
38 | PACKAGECONFIG[openglesv2] = "--enable-gles,--enable-gl," | ||
39 | |||
40 | EXTRA_OECONF = " \ | ||
41 | --disable-rpath \ | ||
42 | --enable-libusb \ | ||
43 | --enable-airplay \ | ||
44 | --disable-optical-drive \ | ||
45 | --enable-external-libraries \ | ||
46 | ${@base_contains('DISTRO_FEATURES', 'opengl', '--enable-gl', '--enable-gles', d)} \ | ||
47 | " | ||
48 | |||
49 | FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math" | ||
50 | BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}" | ||
51 | |||
52 | EXTRA_OECONF_append_armv7a = "--cpu=cortex-a8" | ||
53 | |||
54 | # for python modules | ||
55 | export HOST_SYS | ||
56 | export BUILD_SYS | ||
57 | export STAGING_LIBDIR | ||
58 | export STAGING_INCDIR | ||
59 | export PYTHON_DIR | ||
60 | |||
61 | do_configure() { | ||
62 | sh bootstrap | ||
63 | oe_runconf | ||
64 | } | ||
65 | |||
66 | PARALLEL_MAKE = "" | ||
67 | |||
68 | do_compile_prepend() { | ||
69 | for i in $(find . -name "Makefile") ; do | ||
70 | sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' $i | ||
71 | done | ||
72 | |||
73 | for i in $(find . -name "*.mak*" -o -name "Makefile") ; do | ||
74 | sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' -e 's:-rpath \$(libdir):-rpath ${libdir}:g' $i | ||
75 | done | ||
76 | } | ||
77 | |||
78 | INSANE_SKIP_${PN} = "rpaths" | ||
79 | |||
80 | # on ARM architectures xbmc will use GLES which will make the regular wrapper fail, so start it directly | ||
81 | do_install_append_arm() { | ||
82 | sed -i -e 's:Exec=xbmc:Exec=${libdir}/xbmc/xbmc.bin:g' ${D}${datadir}/applications/xbmc.desktop | ||
83 | } | ||
84 | |||
85 | FILES_${PN} += "${datadir}/xsessions ${datadir}/icons" | ||
86 | FILES_${PN}-dbg += "${libdir}/xbmc/.debug ${libdir}/xbmc/*/.debug ${libdir}/xbmc/*/*/.debug ${libdir}/xbmc/*/*/*/.debug" | ||
87 | |||
88 | # xbmc uses some kind of dlopen() method for libcec so we need to add it manually | ||
89 | # OpenGL builds need glxinfo, that's in mesa-demos | ||
90 | RRECOMMENDS_${PN}_append = " libcec \ | ||
91 | python \ | ||
92 | python-lang \ | ||
93 | python-re \ | ||
94 | python-netclient \ | ||
95 | libcurl \ | ||
96 | xdpyinfo \ | ||
97 | ${@base_contains('DISTRO_FEATURES', 'opengl', 'mesa-demos', '', d)} \ | ||
98 | " | ||
99 | RRECOMMENDS_${PN}_append_libc-glibc = " glibc-charmap-ibm850 glibc-gconv-ibm850" | ||
diff --git a/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb b/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb new file mode 100644 index 000000000..877e176b8 --- /dev/null +++ b/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb | |||
@@ -0,0 +1,31 @@ | |||
1 | SUMMARY = "libebml is a C++ libary to parse EBML files" | ||
2 | LICENSE = "LGPLv2.1" | ||
3 | LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=f14599a2f089f6ff8c97e2baa4e3d575" | ||
4 | |||
5 | SRC_URI = "http://dl.matroska.org/downloads/libebml/libebml-${PV}.tar.bz2" | ||
6 | SRC_URI[md5sum] = "efec729bf5a51e649e1d9d1f61c0ae7a" | ||
7 | SRC_URI[sha256sum] = "83b074d6b62715aa0080406ea84d33df2e44b5d874096640233a4db49b8096de" | ||
8 | |||
9 | do_compile() { | ||
10 | cd ${S}/make/linux | ||
11 | oe_runmake CROSS="${TARGET_PREFIX}" | ||
12 | } | ||
13 | |||
14 | do_install() { | ||
15 | cd ${S}/make/linux | ||
16 | |||
17 | install -d ${D}${libdir} | ||
18 | install -m 0644 libebml.a ${D}${libdir} | ||
19 | install -m 0755 libebml.so.* ${D}${libdir} | ||
20 | cp -a libebml.so ${D}${libdir} | ||
21 | |||
22 | install -d ${D}${includedir}/ebml | ||
23 | for i in ../../ebml/*.h; do | ||
24 | install -m 0644 $i ${D}${includedir}/ebml | ||
25 | done | ||
26 | |||
27 | install -d ${D}${includedir}/ebml/c | ||
28 | for i in ../../ebml/c/*.h; do | ||
29 | install -m 0644 $i ${D}${includedir}/ebml/c | ||
30 | done | ||
31 | } | ||
diff --git a/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb b/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb new file mode 100644 index 000000000..95ea93dbe --- /dev/null +++ b/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb | |||
@@ -0,0 +1,33 @@ | |||
1 | SUMMARY = "libmatroska is a C++ libary to parse Matroska files (.mkv and .mka)" | ||
2 | LICENSE = "LGPLv2.1" | ||
3 | LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=4fbd65380cdd255951079008b364516c" | ||
4 | |||
5 | DEPENDS = "libebml" | ||
6 | |||
7 | SRC_URI = "http://dl.matroska.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2" | ||
8 | SRC_URI[md5sum] = "f61b2e5086f4bb9d24a43cc8af43a719" | ||
9 | SRC_URI[sha256sum] = "086f21873e925679babdabf793c3bb85c353d0cd79423543a3355e08e8a4efb7" | ||
10 | |||
11 | do_compile() { | ||
12 | cd ${S}/make/linux | ||
13 | oe_runmake CROSS="${TARGET_PREFIX}" | ||
14 | } | ||
15 | |||
16 | do_install() { | ||
17 | cd ${S}/make/linux | ||
18 | |||
19 | install -d ${D}${libdir} | ||
20 | install -m 0644 libmatroska.a ${D}${libdir} | ||
21 | install -m 0755 libmatroska.so.* ${D}${libdir} | ||
22 | cp -a libmatroska.so ${D}${libdir} | ||
23 | |||
24 | install -d ${D}${includedir}/matroska | ||
25 | for i in ../../matroska/*.h; do | ||
26 | install -m 0644 $i ${D}${includedir}/matroska | ||
27 | done | ||
28 | |||
29 | install -d ${D}${includedir}/matroska/c | ||
30 | for i in ../../matroska/c/*.h; do | ||
31 | install -m 0644 $i ${D}${includedir}/matroska/c | ||
32 | done | ||
33 | } | ||
diff --git a/meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_git.bb b/meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_git.bb new file mode 100644 index 000000000..dd613b31f --- /dev/null +++ b/meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_git.bb | |||
@@ -0,0 +1,41 @@ | |||
1 | SUMMARY = "MKVToolNix -- Cross-platform tools for Matroska" | ||
2 | HOMEPAGE = "http://www.bunkus.org/videotools/mkvtoolnix/source.html" | ||
3 | |||
4 | LICENSE = "GPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" | ||
6 | |||
7 | DEPENDS = "curl boost expat zlib libebml libmatroska libogg libvorbis bzip2 lzo file ruby-native" | ||
8 | |||
9 | PV = "7.1.0+git${SRCPV}" | ||
10 | SRCREV = "0c89ff941bfdd9f3378312f293a84f13cf3e2a96" | ||
11 | SRC_URI = "git://github.com/mbunkus/mkvtoolnix.git" | ||
12 | |||
13 | S = "${WORKDIR}/git" | ||
14 | |||
15 | inherit autotools-brokensep gettext | ||
16 | |||
17 | # make sure rb files are used from sysroot, not from host | ||
18 | # ruby-1.9.3-always-use-i386.patch is doing target_cpu=`echo $target_cpu | sed s/i.86/i386/` | ||
19 | # we need to replace it too (a bit longer version without importing re) | ||
20 | RUBY_SYS = "${@ '${BUILD_SYS}'.replace('i486', 'i386').replace('i586', 'i386').replace('i686', 'i386') }" | ||
21 | export RUBYLIB="${STAGING_DATADIR_NATIVE}/rubygems:${STAGING_LIBDIR_NATIVE}/ruby:${STAGING_LIBDIR_NATIVE}/ruby/${RUBY_SYS}" | ||
22 | |||
23 | PACKAGECONFIG ??= "" | ||
24 | PACKAGECONFIG[flac] = "--with-flac,--without-flac,flac" | ||
25 | |||
26 | EXTRA_OECONF = " --with-boost-libdir=${STAGING_LIBDIR} \ | ||
27 | " | ||
28 | |||
29 | # remove some hardcoded searchpaths | ||
30 | do_configure_prepend() { | ||
31 | sed -i -e s:/usr/local/lib:${STAGING_LIBDIR}:g -e s:/usr/local/include:${STAGING_INCDIR}:g ${S}/ac/ebml.m4 | ||
32 | } | ||
33 | |||
34 | # Yeah, no makefile | ||
35 | do_compile() { | ||
36 | ${S}/drake ${PARALLEL_MAKE} | ||
37 | } | ||
38 | |||
39 | do_install() { | ||
40 | ${S}/drake install DESTDIR=${D} | ||
41 | } | ||
diff --git a/meta-multimedia/recipes-multimedia/coriander/coriander/cross-compile.patch b/meta-multimedia/recipes-multimedia/coriander/coriander/cross-compile.patch new file mode 100644 index 000000000..49350fe18 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/coriander/coriander/cross-compile.patch | |||
@@ -0,0 +1,17 @@ | |||
1 | In a cross compile environment adding paths like /usr are not correct. | ||
2 | With this patch we make it so that its relative to sysroot if the compiler | ||
3 | defines one. | ||
4 | |||
5 | Upstream-Status: Pending | ||
6 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
7 | Index: a/src/Makefile.am | ||
8 | =================================================================== | ||
9 | --- a/src/Makefile.am 2013-02-08 22:35:08.000000000 -0800 | ||
10 | +++ b/src/Makefile.am 2013-10-13 01:31:38.812869080 -0700 | ||
11 | @@ -33,5 +33,5 @@ | ||
12 | video_encode.c video_encode.h \ | ||
13 | subtitles.c subtitles.h | ||
14 | |||
15 | -coriander_LDADD = -L/usr/X11R6/lib/ @PACKAGE_LIBS@ $(INTLLIBS) $(LIBTIFF_LIBS) $(FTPLIB_LIBS) $(SDLLIB_LIBS) $(LIBDC_LIBS) $(LIBRAW_LIBS) $(XV_LIBS) $(COR_LFS_LDFLAGS) -lgthread-2.0 $(FFMPEG_LIBS) $(X11_LIBS) | ||
16 | +coriander_LDADD = -L=/usr/X11R6/lib/ @PACKAGE_LIBS@ $(INTLLIBS) $(LIBTIFF_LIBS) $(FTPLIB_LIBS) $(SDLLIB_LIBS) $(LIBDC_LIBS) $(LIBRAW_LIBS) $(XV_LIBS) $(COR_LFS_LDFLAGS) -lgthread-2.0 $(FFMPEG_LIBS) $(X11_LIBS) | ||
17 | |||
diff --git a/meta-multimedia/recipes-multimedia/coriander/coriander_2.0.2.bb b/meta-multimedia/recipes-multimedia/coriander/coriander_2.0.2.bb new file mode 100755 index 000000000..a9f52cadb --- /dev/null +++ b/meta-multimedia/recipes-multimedia/coriander/coriander_2.0.2.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | SUMMARY = "Control and capture GUI for IIDC compliant cameras" | ||
2 | HOMEPAGE = "http://damien.douxchamps.net/ieee1394/coriander/" | ||
3 | SECTION = "applications" | ||
4 | LICENSE = "GPL-3.0" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" | ||
6 | DEPENDS = "gtk+ libgnomeui libraw1394 libdc1394 libxv tiff" | ||
7 | |||
8 | PNBLACKLIST[coriander] ?= "BROKEN: fails to use SDL probably because libsdl-config was removed, error: unknown type name 'SDL_Overlay'" | ||
9 | |||
10 | SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/coriander-2/${PV}/${BP}.tar.gz \ | ||
11 | file://cross-compile.patch \ | ||
12 | " | ||
13 | |||
14 | SRC_URI[md5sum] = "431d98fb013217681f97ade168201fb8" | ||
15 | SRC_URI[sha256sum] = "5c7fd31cb58d398e2742352bf1ffbd2ca22e06686c6668ecfd437735c2b79123" | ||
16 | |||
17 | inherit autotools gettext | ||
diff --git a/meta-multimedia/recipes-multimedia/dleyna/media-service-demo_git.bb b/meta-multimedia/recipes-multimedia/dleyna/media-service-demo_git.bb new file mode 100644 index 000000000..f7457fd5f --- /dev/null +++ b/meta-multimedia/recipes-multimedia/dleyna/media-service-demo_git.bb | |||
@@ -0,0 +1,18 @@ | |||
1 | SUMMARY = "demonstration UI for dleyna" | ||
2 | HOMEPAGE = "https://01.org/dleyna/" | ||
3 | |||
4 | LICENSE = "LGPLv2.1" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ | ||
6 | file://src/media-service-demo.py;beginline=3;endline=21;md5=2faa3862e32422b3c38a1501539aa8b4" | ||
7 | |||
8 | SRCREV = "f4440e104f0d13e454234184c2c6eba982725baf" | ||
9 | PV = "0.0+git${SRCPV}" | ||
10 | |||
11 | SRC_URI = "git://github.com/01org/media-service-demo.git" | ||
12 | |||
13 | S = "${WORKDIR}/git" | ||
14 | |||
15 | inherit distutils | ||
16 | |||
17 | RDEPENDS_${PN} = "media-service-upnp python-dbus python-gst python-pygtk \ | ||
18 | python-crypt python-netclient python-dateutil" | ||
diff --git a/meta-multimedia/recipes-multimedia/dleyna/media-service-upnp_0.4.0.bb b/meta-multimedia/recipes-multimedia/dleyna/media-service-upnp_0.4.0.bb new file mode 100644 index 000000000..871eb6a9a --- /dev/null +++ b/meta-multimedia/recipes-multimedia/dleyna/media-service-upnp_0.4.0.bb | |||
@@ -0,0 +1,24 @@ | |||
1 | SUMMARY = "discover, browse and search UPNP/DLNA media servers" | ||
2 | HOMEPAGE = "https://01.org/dleyna/" | ||
3 | |||
4 | LICENSE = "LGPLv2.1" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ | ||
6 | file://src/media-service-upnp.c;beginline=1;endline=21;md5=584eb103b4f6f3432c43d169b6a123a1" | ||
7 | |||
8 | DEPENDS = "dbus glib-2.0 gssdp gupnp gupnp-av gupnp-dlna libsoup-2.4" | ||
9 | |||
10 | SRC_URI = "git://github.com/01org/${BPN}.git" | ||
11 | SRCREV = "1996ecbe4a06c95d22f7d958e32e3d28f7a4a2e9" | ||
12 | S = "${WORKDIR}/git" | ||
13 | |||
14 | inherit autotools pkgconfig | ||
15 | |||
16 | do_install_append() { | ||
17 | install -d ${D}${bindir} | ||
18 | install -m 0755 dms-info ${D}${bindir} | ||
19 | } | ||
20 | |||
21 | PACKAGES =+ "${PN}-tests" | ||
22 | |||
23 | FILES_${PN} += "${datadir}/dbus-1/services/*.service" | ||
24 | FILES_${PN}-tests = "${bindir}/dms-info" | ||
diff --git a/meta-multimedia/recipes-multimedia/dleyna/renderer-service-upnp_0.3.0.bb b/meta-multimedia/recipes-multimedia/dleyna/renderer-service-upnp_0.3.0.bb new file mode 100644 index 000000000..68d59faca --- /dev/null +++ b/meta-multimedia/recipes-multimedia/dleyna/renderer-service-upnp_0.3.0.bb | |||
@@ -0,0 +1,29 @@ | |||
1 | SUMMARY = "discover and manipulate UPNP/DLNA media renderers" | ||
2 | HOMEPAGE = "https://01.org/dleyna/" | ||
3 | |||
4 | LICENSE = "LGPLv2.1" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ | ||
6 | file://src/renderer-service-upnp.c;beginline=1;endline=21;md5=c25c3082684eb4ca87474b7528c6dc15" | ||
7 | |||
8 | PNBLACKLIST[renderer-service-upnp] ?= "BROKEN: doesn't build with B!=S (trying to install rendererconsole.py from ${B} instead of ${S})" | ||
9 | |||
10 | DEPENDS = "dbus glib-2.0 gssdp gupnp gupnp-av gupnp-dlna libsoup-2.4" | ||
11 | |||
12 | SRC_URI = "git://github.com/01org/${BPN}.git" | ||
13 | SRCREV = "4a0b1d7cd8e22d3cb0e09c77c344ceccbcbbd34f" | ||
14 | S = "${WORKDIR}/git" | ||
15 | |||
16 | inherit autotools pkgconfig | ||
17 | |||
18 | do_install_append() { | ||
19 | install -d ${D}${bindir} | ||
20 | install -m 0755 test/rendererconsole.py ${D}${bindir} | ||
21 | } | ||
22 | |||
23 | PACKAGES =+ "${PN}-tests" | ||
24 | |||
25 | RDEPENDS_${PN}-tests = "python-dbus python-json python-misc python-pkgutil python-xml" | ||
26 | |||
27 | FILES_${PN} += "${datadir}/dbus-1/services/*.service" | ||
28 | # When we have GI, package cap | ||
29 | FILES_${PN}-tests = "${bindir}/rendererconsole.py" | ||
diff --git a/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb b/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb new file mode 100644 index 000000000..d96c1a401 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb | |||
@@ -0,0 +1,21 @@ | |||
1 | SUMMARY = "Freeware Advanced Audio Coder (MPEG2-AAC, MPEG4-AAC)" | ||
2 | SECTION = "libs" | ||
3 | LICENSE = "LGPLv2+" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ | ||
5 | file://libfaac/coder.h;beginline=5;endline=17;md5=fa1fd6a5fa8cdc877d63a12530d273e0" | ||
6 | |||
7 | inherit autotools-brokensep | ||
8 | |||
9 | SRC_URI = "${SOURCEFORGE_MIRROR}/faac/${BP}.tar.gz \ | ||
10 | file://build-fix.patch" | ||
11 | |||
12 | SRC_URI[md5sum] = "80763728d392c7d789cde25614c878f6" | ||
13 | SRC_URI[sha256sum] = "c5141199f4cfb17d749c36ba8cfe4b25f838da67c22f0fec40228b6b9c3d19df" | ||
14 | |||
15 | PACKAGES =+ "lib${BPN} lib${BPN}-dev" | ||
16 | |||
17 | FILES_${PN} = " ${bindir}/faac " | ||
18 | FILES_lib${PN} = " ${libdir}/libfaac.so.*" | ||
19 | FILES_lib${PN}-dev = "${includedir}/faac.h ${includedir}/faaccfg.h ${libdir}/libfaac.so ${libdir}/libfaac.la" | ||
20 | FILES_lib${PN}-staticdev = "${libdir}/libfaac.a" | ||
21 | |||
diff --git a/meta-multimedia/recipes-multimedia/faac/files/build-fix.patch b/meta-multimedia/recipes-multimedia/faac/files/build-fix.patch new file mode 100644 index 000000000..83cff8f89 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/faac/files/build-fix.patch | |||
@@ -0,0 +1,332 @@ | |||
1 | Patch fixing build error and warnings. Error consisted of redefining | ||
2 | strcasestr function from string.h. Warnings consisted of deprecated conversions | ||
3 | of string constants to char*, using '%llu' for type uint64_t (which on 64 bit | ||
4 | systems, is defined as unsigned long int by stdint.h), and using '==' for | ||
5 | equality of two strings. | ||
6 | |||
7 | Patch originally from Debian. | ||
8 | |||
9 | Upstream-Status: Pending | ||
10 | |||
11 | ========================================================================== | ||
12 | --- a/common/mp4v2/mpeg4ip.h | ||
13 | +++ b/common/mp4v2/mpeg4ip.h | ||
14 | @@ -120,14 +120,6 @@ | ||
15 | #endif | ||
16 | #include <sys/param.h> | ||
17 | |||
18 | -#ifdef __cplusplus | ||
19 | -extern "C" { | ||
20 | -#endif | ||
21 | -char *strcasestr(const char *haystack, const char *needle); | ||
22 | -#ifdef __cplusplus | ||
23 | -} | ||
24 | -#endif | ||
25 | - | ||
26 | #define OPEN_RDWR O_RDWR | ||
27 | #define OPEN_CREAT O_CREAT | ||
28 | #define OPEN_RDONLY O_RDONLY | ||
29 | @@ -135,7 +127,6 @@ | ||
30 | #define closesocket close | ||
31 | #define IOSBINARY ios::bin | ||
32 | |||
33 | -#if SIZEOF_LONG == 8 | ||
34 | #define MAX_UINT64 -1LU | ||
35 | #define D64F "ld" | ||
36 | #define U64F "lu" | ||
37 | @@ -143,15 +134,6 @@ | ||
38 | |||
39 | #define TO_D64(a) (a##L) | ||
40 | #define TO_U64(a) (a##LU) | ||
41 | -#else | ||
42 | -#define MAX_UINT64 -1LLU | ||
43 | -#define D64F "lld" | ||
44 | -#define U64F "llu" | ||
45 | -#define X64F "llx" | ||
46 | - | ||
47 | -#define TO_D64(a) (a##LL) | ||
48 | -#define TO_U64(a) (a##LLU) | ||
49 | -#endif | ||
50 | |||
51 | #ifdef HAVE_FPOS_T___POS | ||
52 | #define FPOS_TO_VAR(fpos, typed, var) (var) = (typed)((fpos).__pos) | ||
53 | --- a/configure.in | ||
54 | +++ b/configure.in | ||
55 | @@ -4,6 +4,9 @@ | ||
56 | AM_INIT_AUTOMAKE | ||
57 | |||
58 | AM_CONFIG_HEADER(config.h) | ||
59 | +AH_TOP([#ifndef CONFIG_H | ||
60 | +#define CONFIG_H]) | ||
61 | +AH_BOTTOM([#endif /* CONFIG_H */]) | ||
62 | |||
63 | AC_ARG_WITH( mp4v2, [ --with-mp4v2 compile libmp4v2],WITHMP4V2=$withval, WITHMP4V2=yes) | ||
64 | AC_ARG_ENABLE( drm, [ --enable-drm Digital Radio Mondiale support], enable_drm=$enableval, enable_drm=no) | ||
65 | --- a/common/mp4v2/atom_avcC.cpp | ||
66 | +++ b/common/mp4v2/atom_avcC.cpp | ||
67 | @@ -29,7 +29,7 @@ | ||
68 | class SizeTableProperty : public MP4TableProperty | ||
69 | { | ||
70 | public: | ||
71 | - SizeTableProperty(char *name, MP4IntegerProperty *pCountProperty) : | ||
72 | + SizeTableProperty(const char *name, MP4IntegerProperty *pCountProperty) : | ||
73 | MP4TableProperty(name, pCountProperty) {}; | ||
74 | protected: | ||
75 | void ReadEntry(MP4File *pFile, u_int32_t index) { | ||
76 | --- a/common/mp4v2/atom_ohdr.cpp | ||
77 | +++ b/common/mp4v2/atom_ohdr.cpp | ||
78 | @@ -21,7 +21,7 @@ | ||
79 | \param useCountedFormat counted format flag. | ||
80 | \param useUnicode unicode flag. | ||
81 | */ | ||
82 | - OhdrMP4StringProperty(char* name, bool useCountedFormat = false, | ||
83 | + OhdrMP4StringProperty(const char* name, bool useCountedFormat = false, | ||
84 | bool useUnicode = false): MP4StringProperty(name, useCountedFormat, | ||
85 | useUnicode) { | ||
86 | } | ||
87 | --- a/common/mp4v2/atom_stz2.cpp | ||
88 | +++ b/common/mp4v2/atom_stz2.cpp | ||
89 | @@ -30,7 +30,7 @@ | ||
90 | class MP4HalfSizeTableProperty : public MP4TableProperty | ||
91 | { | ||
92 | public: | ||
93 | - MP4HalfSizeTableProperty(char *name, MP4IntegerProperty *pCountProperty) : | ||
94 | + MP4HalfSizeTableProperty(const char *name, MP4IntegerProperty *pCountProperty) : | ||
95 | MP4TableProperty(name, pCountProperty) {}; | ||
96 | |||
97 | // The count is half the actual size | ||
98 | --- a/common/mp4v2/mp4atom.cpp | ||
99 | +++ b/common/mp4v2/mp4atom.cpp | ||
100 | @@ -806,7 +806,7 @@ | ||
101 | AddProperty(new MP4Integer24Property("flags")); | ||
102 | } | ||
103 | |||
104 | -void MP4Atom::AddReserved(char* name, u_int32_t size) | ||
105 | +void MP4Atom::AddReserved(const char* name, u_int32_t size) | ||
106 | { | ||
107 | MP4BytesProperty* pReserved = new MP4BytesProperty(name, size); | ||
108 | pReserved->SetReadOnly(); | ||
109 | --- a/common/mp4v2/mp4atom.h | ||
110 | +++ b/common/mp4v2/mp4atom.h | ||
111 | @@ -204,7 +204,7 @@ | ||
112 | |||
113 | void AddVersionAndFlags(); | ||
114 | |||
115 | - void AddReserved(char* name, u_int32_t size); | ||
116 | + void AddReserved(const char* name, u_int32_t size); | ||
117 | |||
118 | void ExpectChildAtom(const char* name, | ||
119 | bool mandatory, bool onlyOne = true); | ||
120 | --- a/common/mp4v2/mp4file.cpp | ||
121 | +++ b/common/mp4v2/mp4file.cpp | ||
122 | @@ -718,7 +718,7 @@ | ||
123 | } | ||
124 | } | ||
125 | |||
126 | -void MP4File::ProtectWriteOperation(char* where) | ||
127 | +void MP4File::ProtectWriteOperation(const char* where) | ||
128 | { | ||
129 | if (m_mode == 'r') { | ||
130 | throw new MP4Error("operation not permitted in read mode", where); | ||
131 | @@ -1274,7 +1274,7 @@ | ||
132 | } | ||
133 | |||
134 | // NULL terminated list of brands which require the IODS atom | ||
135 | -char *brandsWithIods[] = { "mp42", | ||
136 | +const char *brandsWithIods[] = { "mp42", | ||
137 | "isom", | ||
138 | NULL}; | ||
139 | |||
140 | @@ -2211,11 +2211,11 @@ | ||
141 | for (u_int32_t i = 0; i < m_pTracks.Size(); i++) { | ||
142 | if (!strcmp(normType, m_pTracks[i]->GetType())) { | ||
143 | if (subType) { | ||
144 | - if (normType == MP4_AUDIO_TRACK_TYPE) { | ||
145 | + if (!strcmp(normType,MP4_AUDIO_TRACK_TYPE)) { | ||
146 | if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) { | ||
147 | continue; | ||
148 | } | ||
149 | - } else if (normType == MP4_VIDEO_TRACK_TYPE) { | ||
150 | + } else if (!strcmp(normType,MP4_VIDEO_TRACK_TYPE)) { | ||
151 | if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) { | ||
152 | continue; | ||
153 | } | ||
154 | @@ -2278,11 +2278,11 @@ | ||
155 | for (u_int32_t i = 0; i < m_pTracks.Size(); i++) { | ||
156 | if (!strcmp(normType, m_pTracks[i]->GetType())) { | ||
157 | if (subType) { | ||
158 | - if (normType == MP4_AUDIO_TRACK_TYPE) { | ||
159 | + if (!strcmp(normType,MP4_AUDIO_TRACK_TYPE)) { | ||
160 | if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) { | ||
161 | continue; | ||
162 | } | ||
163 | - } else if (normType == MP4_VIDEO_TRACK_TYPE) { | ||
164 | + } else if (!strcmp(normType,MP4_VIDEO_TRACK_TYPE)) { | ||
165 | if (subType != GetTrackEsdsObjectTypeId(m_pTracks[i]->GetId())) { | ||
166 | continue; | ||
167 | } | ||
168 | --- a/common/mp4v2/mp4file.h | ||
169 | +++ b/common/mp4v2/mp4file.h | ||
170 | @@ -700,7 +700,7 @@ | ||
171 | const char* TempFileName(); | ||
172 | void Rename(const char* existingFileName, const char* newFileName); | ||
173 | |||
174 | - void ProtectWriteOperation(char* where); | ||
175 | + void ProtectWriteOperation(const char* where); | ||
176 | |||
177 | void FindIntegerProperty(const char* name, | ||
178 | MP4Property** ppProperty, u_int32_t* pIndex = NULL); | ||
179 | --- a/common/mp4v2/mp4property.cpp | ||
180 | +++ b/common/mp4v2/mp4property.cpp | ||
181 | @@ -313,7 +313,7 @@ | ||
182 | |||
183 | // MP4StringProperty | ||
184 | |||
185 | -MP4StringProperty::MP4StringProperty(char* name, | ||
186 | +MP4StringProperty::MP4StringProperty(const char* name, | ||
187 | bool useCountedFormat, bool useUnicode) | ||
188 | : MP4Property(name) | ||
189 | { | ||
190 | @@ -420,7 +420,7 @@ | ||
191 | |||
192 | // MP4BytesProperty | ||
193 | |||
194 | -MP4BytesProperty::MP4BytesProperty(char* name, u_int32_t valueSize, | ||
195 | +MP4BytesProperty::MP4BytesProperty(const char* name, u_int32_t valueSize, | ||
196 | u_int32_t defaultValueSize) | ||
197 | : MP4Property(name) | ||
198 | { | ||
199 | @@ -549,7 +549,7 @@ | ||
200 | |||
201 | // MP4TableProperty | ||
202 | |||
203 | -MP4TableProperty::MP4TableProperty(char* name, MP4IntegerProperty* pCountProperty) | ||
204 | +MP4TableProperty::MP4TableProperty(const char* name, MP4IntegerProperty* pCountProperty) | ||
205 | : MP4Property(name) | ||
206 | { | ||
207 | m_pCountProperty = pCountProperty; | ||
208 | @@ -725,7 +725,7 @@ | ||
209 | |||
210 | // MP4DescriptorProperty | ||
211 | |||
212 | -MP4DescriptorProperty::MP4DescriptorProperty(char* name, | ||
213 | +MP4DescriptorProperty::MP4DescriptorProperty(const char* name, | ||
214 | u_int8_t tagsStart, u_int8_t tagsEnd, bool mandatory, bool onlyOne) | ||
215 | : MP4Property(name) | ||
216 | { | ||
217 | --- a/common/mp4v2/mp4property.h | ||
218 | +++ b/common/mp4v2/mp4property.h | ||
219 | @@ -100,7 +100,7 @@ | ||
220 | |||
221 | class MP4IntegerProperty : public MP4Property { | ||
222 | protected: | ||
223 | - MP4IntegerProperty(char* name) | ||
224 | + MP4IntegerProperty(const char* name) | ||
225 | : MP4Property(name) { }; | ||
226 | |||
227 | public: | ||
228 | @@ -118,7 +118,7 @@ | ||
229 | #define MP4INTEGER_PROPERTY_DECL2(isize, xsize) \ | ||
230 | class MP4Integer##xsize##Property : public MP4IntegerProperty { \ | ||
231 | public: \ | ||
232 | - MP4Integer##xsize##Property(char* name) \ | ||
233 | + MP4Integer##xsize##Property(const char* name) \ | ||
234 | : MP4IntegerProperty(name) { \ | ||
235 | SetCount(1); \ | ||
236 | m_values[0] = 0; \ | ||
237 | @@ -188,7 +188,7 @@ | ||
238 | |||
239 | class MP4BitfieldProperty : public MP4Integer64Property { | ||
240 | public: | ||
241 | - MP4BitfieldProperty(char* name, u_int8_t numBits) | ||
242 | + MP4BitfieldProperty(const char* name, u_int8_t numBits) | ||
243 | : MP4Integer64Property(name) { | ||
244 | ASSERT(numBits != 0); | ||
245 | ASSERT(numBits <= 64); | ||
246 | @@ -213,7 +213,7 @@ | ||
247 | |||
248 | class MP4Float32Property : public MP4Property { | ||
249 | public: | ||
250 | - MP4Float32Property(char* name) | ||
251 | + MP4Float32Property(const char* name) | ||
252 | : MP4Property(name) { | ||
253 | m_useFixed16Format = false; | ||
254 | m_useFixed32Format = false; | ||
255 | @@ -280,7 +280,7 @@ | ||
256 | |||
257 | class MP4StringProperty : public MP4Property { | ||
258 | public: | ||
259 | - MP4StringProperty(char* name, | ||
260 | + MP4StringProperty(const char* name, | ||
261 | bool useCountedFormat = false, bool useUnicode = false); | ||
262 | |||
263 | ~MP4StringProperty(); | ||
264 | @@ -355,7 +355,7 @@ | ||
265 | |||
266 | class MP4BytesProperty : public MP4Property { | ||
267 | public: | ||
268 | - MP4BytesProperty(char* name, u_int32_t valueSize = 0, | ||
269 | + MP4BytesProperty(const char* name, u_int32_t valueSize = 0, | ||
270 | u_int32_t defaultValueSize = 0); | ||
271 | |||
272 | ~MP4BytesProperty(); | ||
273 | @@ -419,7 +419,7 @@ | ||
274 | |||
275 | class MP4TableProperty : public MP4Property { | ||
276 | public: | ||
277 | - MP4TableProperty(char* name, MP4IntegerProperty* pCountProperty); | ||
278 | + MP4TableProperty(const char* name, MP4IntegerProperty* pCountProperty); | ||
279 | |||
280 | ~MP4TableProperty(); | ||
281 | |||
282 | @@ -469,7 +469,7 @@ | ||
283 | |||
284 | class MP4DescriptorProperty : public MP4Property { | ||
285 | public: | ||
286 | - MP4DescriptorProperty(char* name = NULL, | ||
287 | + MP4DescriptorProperty(const char* name = NULL, | ||
288 | u_int8_t tagsStart = 0, u_int8_t tagsEnd = 0, | ||
289 | bool mandatory = false, bool onlyOne = false); | ||
290 | |||
291 | @@ -531,7 +531,7 @@ | ||
292 | |||
293 | class MP4QosQualifierProperty : public MP4DescriptorProperty { | ||
294 | public: | ||
295 | - MP4QosQualifierProperty(char* name = NULL, | ||
296 | + MP4QosQualifierProperty(const char* name = NULL, | ||
297 | u_int8_t tagsStart = 0, u_int8_t tagsEnd = 0, | ||
298 | bool mandatory = false, bool onlyOne = false) : | ||
299 | MP4DescriptorProperty(name, tagsStart, tagsEnd, mandatory, onlyOne) { } | ||
300 | --- a/common/mp4v2/mp4track.cpp | ||
301 | +++ b/common/mp4v2/mp4track.cpp | ||
302 | @@ -1360,7 +1360,7 @@ | ||
303 | } | ||
304 | } | ||
305 | |||
306 | -MP4Atom* MP4Track::AddAtom(char* parentName, char* childName) | ||
307 | +MP4Atom* MP4Track::AddAtom(const char* parentName, const char* childName) | ||
308 | { | ||
309 | MP4Atom* pChildAtom = MP4Atom::CreateAtom(childName); | ||
310 | |||
311 | --- a/common/mp4v2/mp4track.h | ||
312 | +++ b/common/mp4v2/mp4track.h | ||
313 | @@ -168,7 +168,7 @@ | ||
314 | void UpdateSyncSamples(MP4SampleId sampleId, | ||
315 | bool isSyncSample); | ||
316 | |||
317 | - MP4Atom* AddAtom(char* parentName, char* childName); | ||
318 | + MP4Atom* AddAtom(const char* parentName, const char* childName); | ||
319 | |||
320 | void UpdateDurations(MP4Duration duration); | ||
321 | MP4Duration ToMovieDuration(MP4Duration trackDuration); | ||
322 | --- a/common/mp4v2/ocidescriptors.cpp | ||
323 | +++ b/common/mp4v2/ocidescriptors.cpp | ||
324 | @@ -171,7 +171,7 @@ | ||
325 | |||
326 | class MP4CreatorTableProperty : public MP4TableProperty { | ||
327 | public: | ||
328 | - MP4CreatorTableProperty(char* name, MP4Integer8Property* pCountProperty) : | ||
329 | + MP4CreatorTableProperty(const char* name, MP4Integer8Property* pCountProperty) : | ||
330 | MP4TableProperty(name, pCountProperty) { | ||
331 | }; | ||
332 | protected: | ||
diff --git a/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.6.bb b/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.6.bb new file mode 100644 index 000000000..b0bc824c5 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.6.bb | |||
@@ -0,0 +1,23 @@ | |||
1 | SUMMARY = "Fluidsynth is a software synthesizer" | ||
2 | HOMEPAGE = "http://www.fluidsynth.org/" | ||
3 | SECTION = "libs/multimedia" | ||
4 | LICENSE = "LGPL-2.0+" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=e198e9aac94943d0ec29a7dae8c29416" | ||
6 | |||
7 | DEPENDS = "alsa-lib ncurses glib-2.0" | ||
8 | |||
9 | SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BP}/${BP}.tar.gz" | ||
10 | SRC_URI[md5sum] = "ae5aca6de824b4173667cbd3a310b263" | ||
11 | SRC_URI[sha256sum] = "50853391d9ebeda9b4db787efb23f98b1e26b7296dd2bb5d0d96b5bccee2171c" | ||
12 | |||
13 | inherit autotools-brokensep pkgconfig lib_package | ||
14 | |||
15 | PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}" | ||
16 | PACKAGECONFIG[sndfile] = "--enable-libsndfile-support,--disable-libsndfile-support,libsndfile1" | ||
17 | PACKAGECONFIG[jack] = "--enable-jack-support,--disable-jack-support,jack" | ||
18 | PACKAGECONFIG[pulseaudio] = "--enable-pulse-support,--disable-pulse-support,pulseaudio" | ||
19 | PACKAGECONFIG[portaudio] = "--enable-portaudio-support,--disable-portaudio-support,portaudio" | ||
20 | |||
21 | do_configure_prepend () { | ||
22 | rm -f ${S}/m4/* | ||
23 | } | ||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer/gst-rtsp/0001-change-deprecated-INCLUDES-to-AM_CPPFLAGS-for-automa.patch b/meta-multimedia/recipes-multimedia/gstreamer/gst-rtsp/0001-change-deprecated-INCLUDES-to-AM_CPPFLAGS-for-automa.patch new file mode 100644 index 000000000..3afca4ec9 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/gstreamer/gst-rtsp/0001-change-deprecated-INCLUDES-to-AM_CPPFLAGS-for-automa.patch | |||
@@ -0,0 +1,34 @@ | |||
1 | index gst-rtsp_0.10.8/bindings/python/Makefile.am | ||
2 | --- gst-rtsp_0.10.8.orig/bindings/python/Makefile.am | ||
3 | +++ gst-rtsp_0.10.8/bindings/python/Makefile.am | ||
4 | @@ -14,7 +14,7 @@ defs_DATA = $(DEFS) | ||
5 | defsdir = $(pkgdatadir)/$(GST_MAJORMINOR)/defs | ||
6 | OVERRIDES = rtspserver.override | ||
7 | |||
8 | -INCLUDES = -I$(top_srcdir) -I$(srcdir) $(PYTHON_INCLUDES) | ||
9 | +AM_CPPFLAGS = -I$(top_srcdir) -I$(srcdir) $(PYTHON_INCLUDES) | ||
10 | |||
11 | rtspserver_la_CFLAGS = -I$(top_srcdir)/src \ | ||
12 | $(PYGOBJECT_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) | ||
13 | index gst-rtsp_0.10.8/examples/Makefile.am | ||
14 | --- gst-rtsp_0.10.8.orig/examples/Makefile.am | ||
15 | +++ gst-rtsp_0.10.8/examples/Makefile.am | ||
16 | @@ -1,6 +1,6 @@ | ||
17 | noinst_PROGRAMS = test-video test-ogg test-mp4 test-readme test-launch test-sdp test-uri test-auth | ||
18 | |||
19 | -INCLUDES = -I$(top_srcdir) -I$(srcdir) | ||
20 | +AM_CPPFLAGS = -I$(top_srcdir) -I$(srcdir) | ||
21 | |||
22 | AM_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) | ||
23 | AM_LDFLAGS = \ | ||
24 | index gst-rtsp_0.10.8/tests/Makefile.am | ||
25 | --- gst-rtsp_0.10.8.orig/tests/Makefile.am | ||
26 | +++ gst-rtsp_0.10.8/tests/Makefile.am | ||
27 | @@ -1,6 +1,6 @@ | ||
28 | noinst_PROGRAMS = test-cleanup | ||
29 | |||
30 | -INCLUDES = -I$(top_srcdir) -I$(srcdir) | ||
31 | +AM_CPPFLAGS = -I$(top_srcdir) -I$(srcdir) | ||
32 | |||
33 | AM_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) | ||
34 | AM_LDFLAGS = \ | ||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer/gst-rtsp_0.10.8.bb b/meta-multimedia/recipes-multimedia/gstreamer/gst-rtsp_0.10.8.bb new file mode 100644 index 000000000..931865651 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/gstreamer/gst-rtsp_0.10.8.bb | |||
@@ -0,0 +1,16 @@ | |||
1 | SUMMARY = "GStreamer RTSP server" | ||
2 | LICENSE = "LGPLv2+" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605" | ||
4 | |||
5 | SRC_URI = "http://gstreamer.freedesktop.org/src/${BPN}/${BPN}-${PV}.tar.bz2 \ | ||
6 | file://0001-change-deprecated-INCLUDES-to-AM_CPPFLAGS-for-automa.patch" | ||
7 | SRC_URI[md5sum] = "b511af07000595f63c3a705946221643" | ||
8 | SRC_URI[sha256sum] = "9915887cf8515bda87462c69738646afb715b597613edc7340477ccab63a6617" | ||
9 | |||
10 | DEPENDS = "gst-plugins-base gstreamer" | ||
11 | |||
12 | # Configure always checks for Python so inherit pythonnative. Better solution | ||
13 | # would be to disable the checks entirely. | ||
14 | inherit autotools pythonnative gettext | ||
15 | |||
16 | FILES_${PN}-dev += "${datadir}/vala/vapi/" | ||
diff --git a/meta-multimedia/recipes-multimedia/libao/libao_1.1.0.bb b/meta-multimedia/recipes-multimedia/libao/libao_1.1.0.bb new file mode 100644 index 000000000..1a2260485 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/libao/libao_1.1.0.bb | |||
@@ -0,0 +1,32 @@ | |||
1 | SUMMARY = "Cross-platform audio output library and plugins" | ||
2 | DESCRIPTION = "Libao is a cross-platform audio library that allows programs to \ | ||
3 | output audio using a simple API on a wide variety of platforms." | ||
4 | SECTION = "multimedia" | ||
5 | HOMEPAGE = "https://www.xiph.org/ao/" | ||
6 | |||
7 | LICENSE = "GPLv2" | ||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
9 | |||
10 | SRC_URI="http://downloads.xiph.org/releases/ao/${BP}.tar.gz" | ||
11 | SRC_URI[md5sum] = "2b2508c29bc97e4dc218fa162cf883c8" | ||
12 | SRC_URI[sha256sum] = "29de5bb9b1726ba890455ef7e562d877df87811febb0d99ee69164b88c171bd4" | ||
13 | |||
14 | inherit autotools | ||
15 | |||
16 | PACKAGES_DYNAMIC += "^${BPN}-plugin-.*" | ||
17 | |||
18 | do_install_append () { | ||
19 | find "${D}" -name '*.la' -exec rm -f {} + | ||
20 | } | ||
21 | |||
22 | python populate_packages_prepend () { | ||
23 | rootdir = bb.data.expand('${libdir}/ao/plugins-4', d) | ||
24 | rootdir_dbg = bb.data.expand('${libdir}/ao/plugins-4/.debug', d) | ||
25 | do_split_packages(d, rootdir, '^(.*)\.so$', output_pattern='${BPN}-plugin-%s', description='AO %s plugin') | ||
26 | do_split_packages(d, rootdir_dbg, '^(.*)\.so$', output_pattern='${BPN}-plugin-%s-dbg', description='AO %s plugin debug data') | ||
27 | } | ||
28 | |||
29 | PACKAGECONFIG ?= "${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d) ${@base_contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)" | ||
30 | PACKAGECONFIG[esound] = "--enable-esd,--disable-esd,esound" | ||
31 | PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib" | ||
32 | PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio" | ||
diff --git a/meta-multimedia/recipes-multimedia/libdc1394/files/install_examples.patch b/meta-multimedia/recipes-multimedia/libdc1394/files/install_examples.patch new file mode 100755 index 000000000..89133adec --- /dev/null +++ b/meta-multimedia/recipes-multimedia/libdc1394/files/install_examples.patch | |||
@@ -0,0 +1,14 @@ | |||
1 | Index: libdc1394/examples/Makefile.am | ||
2 | =================================================================== | ||
3 | --- libdc1394.orig/examples/Makefile.am 2012-06-30 17:50:46.000000000 -0700 | ||
4 | +++ libdc1394/examples/Makefile.am 2012-06-30 19:02:13.822646430 -0700 | ||
5 | @@ -36,8 +36,7 @@ | ||
6 | AM_LDFLAGS = -framework CoreFoundation -framework Carbon | ||
7 | endif | ||
8 | |||
9 | -noinst_PROGRAMS = $(A) | ||
10 | -bin_PROGRAMS = $(B) | ||
11 | +bin_PROGRAMS = $(A) $(B) | ||
12 | |||
13 | LDADD = ../dc1394/libdc1394.la | ||
14 | |||
diff --git a/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb b/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb new file mode 100755 index 000000000..0ea5cb90a --- /dev/null +++ b/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb | |||
@@ -0,0 +1,22 @@ | |||
1 | SUMMARY = "Capture and control API for IIDC compliant cameras" | ||
2 | HOMEPAGE = "http://sourceforge.net/projects/libdc1394/" | ||
3 | SECTION = "libs" | ||
4 | LICENSE = "LGPL-2.0" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=c848e78d9a4a5cc69906178e4d6fbd64" | ||
6 | |||
7 | # libsdl to provide sdl.m4 with AM_PATH_SDL | ||
8 | DEPENDS += "libusb1 libraw1394 libsdl" | ||
9 | |||
10 | PV = "2.2.1+gitr${SRCPV}" | ||
11 | |||
12 | SRCREV = "b90342933b4b48634b98b73805f47bd25ed5857e" | ||
13 | |||
14 | SRC_URI = "git://git.code.sf.net/p/libdc1394/code;branch=master;protocol=git \ | ||
15 | file://install_examples.patch \ | ||
16 | " | ||
17 | |||
18 | S = "${WORKDIR}/git/${PN}" | ||
19 | |||
20 | inherit autotools-brokensep pkgconfig | ||
21 | |||
22 | EXTRA_OECONF += "--disable-doxygen-doc --disable-examples" | ||
diff --git a/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.21.0.bb b/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.21.0.bb new file mode 100644 index 000000000..4efdeab6e --- /dev/null +++ b/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.21.0.bb | |||
@@ -0,0 +1,51 @@ | |||
1 | SUMMARY = "Audio decoder for MPEG-1 Layer 1/2/3" | ||
2 | DESCRIPTION = "The core of mpg123 is an MPEG-1 Layer 1/2/3 decoding library, which can be used by other programs. \ | ||
3 | mpg123 also comes with a command-line tool which can playback using ALSA, PulseAudio, OSS, and several other APIs, \ | ||
4 | and also can write the decoded audio to WAV." | ||
5 | HOMEPAGE = "http://mpg123.de/" | ||
6 | BUGTRACKER = "http://sourceforge.net/p/mpg123/bugs/" | ||
7 | SECTION = "multimedia" | ||
8 | |||
9 | DEPENDS = "tslib audiofile" | ||
10 | |||
11 | # The options should be mutually exclusive for configuration script. | ||
12 | # If both alsa and pulseaudio are specified (as in the default distro features) | ||
13 | # pulseaudio takes precedence. | ||
14 | PACKAGECONFIG_ALSA = "${@base_contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)}" | ||
15 | PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '${PACKAGECONFIG_ALSA}', d)}" | ||
16 | PACKAGECONFIG[pulseaudio] = "--with-default-audio=pulse,,pulseaudio" | ||
17 | PACKAGECONFIG[alsa] = "--with-default-audio=alsa,,alsa-lib" | ||
18 | PACKAGECONFIG[sdl] = ",,libsdl" | ||
19 | PACKAGECONFIG[openal] = ",,openal-soft" | ||
20 | PACKAGECONFIG[jack] = ",,jack" | ||
21 | PACKAGECONFIG[portaudio] = ",,portaudio-v19" | ||
22 | PACKAGECONFIG[esd] = ",,esound" | ||
23 | |||
24 | # Following are possible sound output modules | ||
25 | #alsa tinyalsa oss coreaudio sndio sun win32 win32_wasapi os2 esd jack portaudio pulse sdl nas arts openal dummy | ||
26 | AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'alsa', 'alsa', '', d)}" | ||
27 | AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'pulseaudio', 'pulse', '', d)}" | ||
28 | AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'sdl', 'sdl', '', d)}" | ||
29 | AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'openal', 'openal', '', d)}" | ||
30 | AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'jack', 'jack', '', d)}" | ||
31 | AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'portaudio', 'portaudio', '', d)}" | ||
32 | AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'esd', 'esd', '', d)}" | ||
33 | |||
34 | LICENSE = "LGPLv2.1" | ||
35 | LICENSE_FLAGS = "commercial" | ||
36 | LIC_FILES_CHKSUM = "file://COPYING;md5=1e86753638d3cf2512528b99079bc4f3" | ||
37 | |||
38 | SRC_URI = "${SOURCEFORGE_MIRROR}/mpg123/mpg123/${PV}/${BP}.tar.bz2" | ||
39 | SRC_URI[md5sum] = "13a9df5d4e7aa110e4ae27cf30128ce9" | ||
40 | SRC_URI[sha256sum] = "3ad197f77c9ffdf3601e1c3183ae0709ccb3c3de68309527ce9375fcfb15dcba" | ||
41 | |||
42 | inherit autotools pkgconfig | ||
43 | |||
44 | EXTRA_OECONF = " \ | ||
45 | --enable-shared \ | ||
46 | --with-audio='${AUDIOMODS}' \ | ||
47 | --with-module-suffix=.so \ | ||
48 | ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-cpu=neon', '', d)} \ | ||
49 | ${@bb.utils.contains('TUNE_FEATURES', 'altivec', '--with-cpu=altivec', '', d)} \ | ||
50 | " | ||
51 | |||
diff --git a/meta-multimedia/recipes-multimedia/musicbrainz/files/allow-libdir-override.patch b/meta-multimedia/recipes-multimedia/musicbrainz/files/allow-libdir-override.patch new file mode 100644 index 000000000..d59d12e69 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/musicbrainz/files/allow-libdir-override.patch | |||
@@ -0,0 +1,21 @@ | |||
1 | Allow LIB_INSTALL_DIR to be set by the the cmake configure invocation. We dont | ||
2 | easily have a way of determining something that patches ${LIB_SUFFIX} so we'll | ||
3 | set LIB_INSTALL_DIR. | ||
4 | |||
5 | Upstream-Status: Inappropriate [configuration] | ||
6 | |||
7 | Signed-off-by: Kumar Gala <galak@kernel.crashing.org> | ||
8 | |||
9 | Index: libmusicbrainz-3.0.3/CMakeLists.txt | ||
10 | =================================================================== | ||
11 | --- libmusicbrainz-3.0.3.orig/CMakeLists.txt | ||
12 | +++ libmusicbrainz-3.0.3/CMakeLists.txt | ||
13 | @@ -26,7 +26,7 @@ FIND_PACKAGE(DiscId) | ||
14 | SET(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)") | ||
15 | SET(EXEC_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "Installation prefix for executables and object code libraries" FORCE) | ||
16 | SET(BIN_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/bin CACHE PATH "Installation prefix for user executables" FORCE) | ||
17 | -SET(LIB_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX} CACHE PATH "Installation prefix for object code libraries" FORCE) | ||
18 | +SET(LIB_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX} CACHE PATH "Installation prefix for object code libraries") | ||
19 | SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include CACHE PATH "Installation prefix for C header files" FORCE) | ||
20 | |||
21 | CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libmusicbrainz3.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libmusicbrainz3.pc) | ||
diff --git a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb new file mode 100644 index 000000000..a6a4f6a8a --- /dev/null +++ b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb | |||
@@ -0,0 +1,41 @@ | |||
1 | SUMMARY = "MusicBrainz client library" | ||
2 | DESCRIPTION = "The MusicBrainz client is a library which can be built into other programs. The library allows you to access the data held on the MusicBrainz server." | ||
3 | HOMEPAGE = "http://musicbrainz.org" | ||
4 | LICENSE = "LGPLv2.1+" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING.txt;md5=fbc093901857fcd118f065f900982c24" | ||
6 | DEPENDS = "expat neon neon-native" | ||
7 | |||
8 | PV = "5.0.1+git${SRCPV}" | ||
9 | PR = "r1" | ||
10 | |||
11 | SRCREV = "0749dd0a35b4a54316da064475863a4ac6e28e7e" | ||
12 | SRC_URI = "git://github.com/metabrainz/libmusicbrainz.git \ | ||
13 | file://allow-libdir-override.patch " | ||
14 | |||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | LDFLAGS_prepend_libc-uclibc = " -lpthread " | ||
18 | |||
19 | inherit cmake pkgconfig | ||
20 | |||
21 | do_configure_prepend() { | ||
22 | # The native build really doesn't like being rebuilt, so delete | ||
23 | # it if it's already present. Also delete all other files not | ||
24 | # known to Git to fix subsequent invocations of do_configure. | ||
25 | git clean -dfx -e /.pc/ -e /patches/ . | ||
26 | mkdir build-native | ||
27 | cd build-native | ||
28 | cmake -DCMAKE_C_FLAGS=${BUILD_CFLAGS} \ | ||
29 | -DCMAKE_C_COMPILER=${BUILD_CC} \ | ||
30 | -DCMAKE_CXX_FLAGS=${BUILD_CXXFLAGS} \ | ||
31 | -DCMAKE_CXX_COMPILER=${BUILD_CXX} \ | ||
32 | .. | ||
33 | make make-c-interface | ||
34 | cd .. | ||
35 | } | ||
36 | |||
37 | EXTRA_OECMAKE = "-DLIB_INSTALL_DIR:PATH=${libdir} \ | ||
38 | -DIMPORT_EXECUTABLES=build-native/ImportExecutables.cmake" | ||
39 | |||
40 | # out-of-tree building doesn't appear to work for this package. | ||
41 | B = "${S}" | ||
diff --git a/meta-multimedia/recipes-multimedia/musicpd/libmpd-11.8.17/glibc-2.20.patch b/meta-multimedia/recipes-multimedia/musicpd/libmpd-11.8.17/glibc-2.20.patch new file mode 100644 index 000000000..4a2b25cdd --- /dev/null +++ b/meta-multimedia/recipes-multimedia/musicpd/libmpd-11.8.17/glibc-2.20.patch | |||
@@ -0,0 +1,10 @@ | |||
1 | --- libmpd-11.8.17/src/libmpd-internal.h.orig 2014-09-30 04:08:50.963292427 +0200 | ||
2 | +++ libmpd-11.8.17/src/libmpd-internal.h 2014-09-30 04:08:30.595292223 +0200 | ||
3 | @@ -21,6 +21,7 @@ | ||
4 | #define __MPD_INTERNAL_LIB_ | ||
5 | |||
6 | #include "libmpdclient.h" | ||
7 | +#include "config.h" | ||
8 | struct _MpdData_real; | ||
9 | |||
10 | typedef struct _MpdData_real { | ||
diff --git a/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb b/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb new file mode 100644 index 000000000..54d79109d --- /dev/null +++ b/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb | |||
@@ -0,0 +1,13 @@ | |||
1 | SUMMARY = "Music Player Daemon library" | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" | ||
4 | HOMEPAGE ="http://sourceforge.net/projects/musicpd" | ||
5 | DEPENDS = "glib-2.0" | ||
6 | |||
7 | SRC_URI = "http://www.musicpd.org/download/${BPN}/${PV}/${BP}.tar.gz \ | ||
8 | file://glibc-2.20.patch \ | ||
9 | " | ||
10 | SRC_URI[md5sum] = "5ae3d87467d52aef3345407adb0a2488" | ||
11 | SRC_URI[sha256sum] = "fe20326b0d10641f71c4673fae637bf9222a96e1712f71f170fca2fc34bf7a83" | ||
12 | |||
13 | inherit autotools pkgconfig | ||
diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd/mpd.conf.in b/meta-multimedia/recipes-multimedia/musicpd/mpd/mpd.conf.in new file mode 100644 index 000000000..f9f92c98b --- /dev/null +++ b/meta-multimedia/recipes-multimedia/musicpd/mpd/mpd.conf.in | |||
@@ -0,0 +1,420 @@ | |||
1 | # An example configuration file for MPD | ||
2 | # See the mpd.conf man page for a more detailed description of each parameter. | ||
3 | |||
4 | |||
5 | # Files and directories ####################################################### | ||
6 | # | ||
7 | # This setting controls the top directory which MPD will search to discover the | ||
8 | # available audio files and add them to the daemon's online database. This | ||
9 | # setting defaults to the XDG directory, otherwise the music directory will be | ||
10 | # be disabled and audio files will only be accepted over ipc socket (using | ||
11 | # file:// protocol) or streaming files over an accepted protocol. | ||
12 | # | ||
13 | music_directory "%music_directory%" | ||
14 | # | ||
15 | # This setting sets the MPD internal playlist directory. The purpose of this | ||
16 | # directory is storage for playlists created by MPD. The server will use | ||
17 | # playlist files not created by the server but only if they are in the MPD | ||
18 | # format. This setting defaults to playlist saving being disabled. | ||
19 | # | ||
20 | playlist_directory "%playlist_directory%" | ||
21 | # | ||
22 | # This setting sets the location of the MPD database. This file is used to | ||
23 | # load the database at server start up and store the database while the | ||
24 | # server is not up. This setting defaults to disabled which will allow | ||
25 | # MPD to accept files over ipc socket (using file:// protocol) or streaming | ||
26 | # files over an accepted protocol. | ||
27 | # | ||
28 | db_file "%db_file%" | ||
29 | # | ||
30 | # These settings are the locations for the daemon log files for the daemon. | ||
31 | # These logs are great for troubleshooting, depending on your log_level | ||
32 | # settings. | ||
33 | # | ||
34 | # The special value "syslog" makes MPD use the local syslog daemon. This | ||
35 | # setting defaults to logging to syslog, otherwise logging is disabled. | ||
36 | # | ||
37 | log_file "%log_file%" | ||
38 | # | ||
39 | # This setting sets the location of the file which stores the process ID | ||
40 | # for use of mpd --kill and some init scripts. This setting is disabled by | ||
41 | # default and the pid file will not be stored. | ||
42 | # | ||
43 | #pid_file "/var/run/mpd/mpd.pid" | ||
44 | # | ||
45 | # This setting sets the location of the file which contains information about | ||
46 | # most variables to get MPD back into the same general shape it was in before | ||
47 | # it was brought down. This setting is disabled by default and the server | ||
48 | # state will be reset on server start up. | ||
49 | # | ||
50 | state_file "%state_file%" | ||
51 | # | ||
52 | # The location of the sticker database. This is a database which | ||
53 | # manages dynamic information attached to songs. | ||
54 | # | ||
55 | #sticker_file "~/.mpd/sticker.sql" | ||
56 | # | ||
57 | ############################################################################### | ||
58 | |||
59 | |||
60 | # General music daemon options ################################################ | ||
61 | # | ||
62 | # This setting specifies the user that MPD will run as. MPD should never run as | ||
63 | # root and you may use this setting to make MPD change its user ID after | ||
64 | # initialization. This setting is disabled by default and MPD is run as the | ||
65 | # current user. | ||
66 | # | ||
67 | user "mpd" | ||
68 | # | ||
69 | # This setting specifies the group that MPD will run as. If not specified | ||
70 | # primary group of user specified with "user" setting will be used (if set). | ||
71 | # This is useful if MPD needs to be a member of group such as "audio" to | ||
72 | # have permission to use sound card. | ||
73 | # | ||
74 | group "audio" | ||
75 | # | ||
76 | # This setting sets the address for the daemon to listen on. Careful attention | ||
77 | # should be paid if this is assigned to anything other then the default, any. | ||
78 | # This setting can deny access to control of the daemon. | ||
79 | # | ||
80 | # For network | ||
81 | bind_to_address "any" | ||
82 | # | ||
83 | # And for Unix Socket | ||
84 | #bind_to_address "~/.mpd/socket" | ||
85 | # | ||
86 | # This setting is the TCP port that is desired for the daemon to get assigned | ||
87 | # to. | ||
88 | # | ||
89 | #port "6600" | ||
90 | # | ||
91 | # This setting controls the type of information which is logged. Available | ||
92 | # setting arguments are "default", "secure" or "verbose". The "verbose" setting | ||
93 | # argument is recommended for troubleshooting, though can quickly stretch | ||
94 | # available resources on limited hardware storage. | ||
95 | # | ||
96 | #log_level "default" | ||
97 | # | ||
98 | # If you have a problem with your MP3s ending abruptly it is recommended that | ||
99 | # you set this argument to "no" to attempt to fix the problem. If this solves | ||
100 | # the problem, it is highly recommended to fix the MP3 files with vbrfix | ||
101 | # (available from <http://www.willwap.co.uk/Programs/vbrfix.php>), at which | ||
102 | # point gapless MP3 playback can be enabled. | ||
103 | # | ||
104 | #gapless_mp3_playback "yes" | ||
105 | # | ||
106 | # This setting enables MPD to create playlists in a format usable by other | ||
107 | # music players. | ||
108 | # | ||
109 | #save_absolute_paths_in_playlists "no" | ||
110 | # | ||
111 | # This setting defines a list of tag types that will be extracted during the | ||
112 | # audio file discovery process. Optionally, 'comment' can be added to this | ||
113 | # list. | ||
114 | # | ||
115 | #metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc" | ||
116 | # | ||
117 | # This setting enables automatic update of MPD's database when files in | ||
118 | # music_directory are changed. | ||
119 | # | ||
120 | #auto_update "yes" | ||
121 | # | ||
122 | # Limit the depth of the directories being watched, 0 means only watch | ||
123 | # the music directory itself. There is no limit by default. | ||
124 | # | ||
125 | #auto_update_depth "3" | ||
126 | # | ||
127 | ############################################################################### | ||
128 | |||
129 | |||
130 | # Symbolic link behavior ###################################################### | ||
131 | # | ||
132 | # If this setting is set to "yes", MPD will discover audio files by following | ||
133 | # symbolic links outside of the configured music_directory. | ||
134 | # | ||
135 | #follow_outside_symlinks "yes" | ||
136 | # | ||
137 | # If this setting is set to "yes", MPD will discover audio files by following | ||
138 | # symbolic links inside of the configured music_directory. | ||
139 | # | ||
140 | #follow_inside_symlinks "yes" | ||
141 | # | ||
142 | ############################################################################### | ||
143 | |||
144 | |||
145 | # Zeroconf / Avahi Service Discovery ########################################## | ||
146 | # | ||
147 | # If this setting is set to "yes", service information will be published with | ||
148 | # Zeroconf / Avahi. | ||
149 | # | ||
150 | #zeroconf_enabled "yes" | ||
151 | # | ||
152 | # The argument to this setting will be the Zeroconf / Avahi unique name for | ||
153 | # this MPD server on the network. | ||
154 | # | ||
155 | #zeroconf_name "Music Player" | ||
156 | # | ||
157 | ############################################################################### | ||
158 | |||
159 | |||
160 | # Permissions ################################################################# | ||
161 | # | ||
162 | # If this setting is set, MPD will require password authorization. The password | ||
163 | # can setting can be specified multiple times for different password profiles. | ||
164 | # | ||
165 | #password "password@read,add,control,admin" | ||
166 | # | ||
167 | # This setting specifies the permissions a user has who has not yet logged in. | ||
168 | # | ||
169 | #default_permissions "read,add,control,admin" | ||
170 | # | ||
171 | ############################################################################### | ||
172 | |||
173 | |||
174 | # Input ####################################################################### | ||
175 | # | ||
176 | |||
177 | input { | ||
178 | plugin "curl" | ||
179 | # proxy "proxy.isp.com:8080" | ||
180 | # proxy_user "user" | ||
181 | # proxy_password "password" | ||
182 | } | ||
183 | |||
184 | # | ||
185 | ############################################################################### | ||
186 | |||
187 | # Audio Output ################################################################ | ||
188 | # | ||
189 | # MPD supports various audio output types, as well as playing through multiple | ||
190 | # audio outputs at the same time, through multiple audio_output settings | ||
191 | # blocks. Setting this block is optional, though the server will only attempt | ||
192 | # autodetection for one sound card. | ||
193 | # | ||
194 | # See <http://mpd.wikia.com/wiki/Configuration#Audio_Outputs> for examples of | ||
195 | # other audio outputs. | ||
196 | # | ||
197 | # board specific examples ##################################################### | ||
198 | # (feel free to add futher) | ||
199 | # | ||
200 | # gumstix overo (tested with TOBI expansion board) | ||
201 | #audio_output { | ||
202 | # type "alsa" | ||
203 | # name "overo" | ||
204 | # mixer_control "Headset" | ||
205 | # mixer_index "0" | ||
206 | #} | ||
207 | # | ||
208 | # general examples ############################################################ | ||
209 | # | ||
210 | # An example of an ALSA output: | ||
211 | # | ||
212 | #audio_output { | ||
213 | # type "alsa" | ||
214 | # name "My ALSA Device" | ||
215 | ## device "hw:0,0" # optional | ||
216 | ## format "44100:16:2" # optional | ||
217 | ## mixer_type "hardware" # optional | ||
218 | ## mixer_device "default" # optional | ||
219 | ## mixer_control "PCM" # optional | ||
220 | ## mixer_index "0" # optional | ||
221 | #} | ||
222 | # | ||
223 | # An example of an OSS output: | ||
224 | # | ||
225 | #audio_output { | ||
226 | # type "oss" | ||
227 | # name "My OSS Device" | ||
228 | ## device "/dev/dsp" # optional | ||
229 | ## format "44100:16:2" # optional | ||
230 | ## mixer_type "hardware" # optional | ||
231 | ## mixer_device "/dev/mixer" # optional | ||
232 | ## mixer_control "PCM" # optional | ||
233 | #} | ||
234 | # | ||
235 | # An example of a shout output (for streaming to Icecast): | ||
236 | # | ||
237 | #audio_output { | ||
238 | # type "shout" | ||
239 | # encoding "ogg" # optional | ||
240 | # name "My Shout Stream" | ||
241 | # host "localhost" | ||
242 | # port "8000" | ||
243 | # mount "/mpd.ogg" | ||
244 | # password "hackme" | ||
245 | # quality "5.0" | ||
246 | # bitrate "128" | ||
247 | # format "44100:16:1" | ||
248 | ## protocol "icecast2" # optional | ||
249 | ## user "source" # optional | ||
250 | ## description "My Stream Description" # optional | ||
251 | ## genre "jazz" # optional | ||
252 | ## public "no" # optional | ||
253 | ## timeout "2" # optional | ||
254 | ## mixer_type "software" # optional | ||
255 | #} | ||
256 | # | ||
257 | # An example of a recorder output: | ||
258 | # | ||
259 | #audio_output { | ||
260 | # type "recorder" | ||
261 | # name "My recorder" | ||
262 | # encoder "vorbis" # optional, vorbis or lame | ||
263 | # path "/var/lib/mpd/recorder/mpd.ogg" | ||
264 | ## quality "5.0" # do not define if bitrate is defined | ||
265 | # bitrate "128" # do not define if quality is defined | ||
266 | # format "44100:16:1" | ||
267 | #} | ||
268 | # | ||
269 | # An example of a httpd output (built-in HTTP streaming server): | ||
270 | # | ||
271 | #audio_output { | ||
272 | # type "httpd" | ||
273 | # name "My HTTP Stream" | ||
274 | # encoder "vorbis" # optional, vorbis or lame | ||
275 | # port "8000" | ||
276 | # bind_to_address "0.0.0.0" # optional, IPv4 or IPv6 | ||
277 | ## quality "5.0" # do not define if bitrate is defined | ||
278 | # bitrate "128" # do not define if quality is defined | ||
279 | # format "44100:16:1" | ||
280 | # max_clients "0" # optional 0=no limit | ||
281 | #} | ||
282 | # | ||
283 | # An example of a pulseaudio output (streaming to a remote pulseaudio server) | ||
284 | # | ||
285 | #audio_output { | ||
286 | # type "pulse" | ||
287 | # name "My Pulse Output" | ||
288 | ## server "remote_server" # optional | ||
289 | ## sink "remote_server_sink" # optional | ||
290 | #} | ||
291 | # | ||
292 | ## Example "pipe" output: | ||
293 | # | ||
294 | #audio_output { | ||
295 | # type "pipe" | ||
296 | # name "my pipe" | ||
297 | # command "aplay -f cd 2>/dev/null" | ||
298 | ## Or if you're want to use AudioCompress | ||
299 | # command "AudioCompress -m | aplay -f cd 2>/dev/null" | ||
300 | ## Or to send raw PCM stream through PCM: | ||
301 | # command "nc example.org 8765" | ||
302 | # format "44100:16:2" | ||
303 | #} | ||
304 | # | ||
305 | ## An example of a null output (for no audio output): | ||
306 | # | ||
307 | #audio_output { | ||
308 | # type "null" | ||
309 | # name "My Null Output" | ||
310 | # mixer_type "none" # optional | ||
311 | #} | ||
312 | # | ||
313 | # This setting will change all decoded audio to be converted to the specified | ||
314 | # format before being passed to the audio outputs. By default, this setting is | ||
315 | # disabled. | ||
316 | # | ||
317 | #audio_output_format "44100:16:2" | ||
318 | # | ||
319 | # If MPD has been compiled with libsamplerate support, this setting specifies | ||
320 | # the sample rate converter to use. Possible values can be found in the | ||
321 | # mpd.conf man page or the libsamplerate documentation. By default, this is | ||
322 | # setting is disabled. | ||
323 | # | ||
324 | #samplerate_converter "Fastest Sinc Interpolator" | ||
325 | # | ||
326 | ############################################################################### | ||
327 | |||
328 | |||
329 | # Normalization automatic volume adjustments ################################## | ||
330 | # | ||
331 | # This setting specifies the type of ReplayGain to use. This setting can have | ||
332 | # the argument "off", "album" or "track". See <http://www.replaygain.org> | ||
333 | # for more details. This setting is off by default. | ||
334 | # | ||
335 | #replaygain "album" | ||
336 | # | ||
337 | # This setting sets the pre-amp used for files that have ReplayGain tags. By | ||
338 | # default this setting is disabled. | ||
339 | # | ||
340 | #replaygain_preamp "0" | ||
341 | # | ||
342 | # This setting enables on-the-fly normalization volume adjustment. This will | ||
343 | # result in the volume of all playing audio to be adjusted so the output has | ||
344 | # equal "loudness". This setting is disabled by default. | ||
345 | # | ||
346 | #volume_normalization "no" | ||
347 | # | ||
348 | ############################################################################### | ||
349 | |||
350 | |||
351 | # MPD Internal Buffering ###################################################### | ||
352 | # | ||
353 | # This setting adjusts the size of internal decoded audio buffering. Changing | ||
354 | # this may have undesired effects. Don't change this if you don't know what you | ||
355 | # are doing. | ||
356 | # | ||
357 | #audio_buffer_size "2048" | ||
358 | # | ||
359 | # This setting controls the percentage of the buffer which is filled before | ||
360 | # beginning to play. Increasing this reduces the chance of audio file skipping, | ||
361 | # at the cost of increased time prior to audio playback. | ||
362 | # | ||
363 | #buffer_before_play "10%" | ||
364 | # | ||
365 | ############################################################################### | ||
366 | |||
367 | |||
368 | # Resource Limitations ######################################################## | ||
369 | # | ||
370 | # These settings are various limitations to prevent MPD from using too many | ||
371 | # resources. Generally, these settings should be minimized to prevent security | ||
372 | # risks, depending on the operating resources. | ||
373 | # | ||
374 | #connection_timeout "60" | ||
375 | #max_connections "10" | ||
376 | #max_playlist_length "16384" | ||
377 | #max_command_list_size "2048" | ||
378 | #max_output_buffer_size "8192" | ||
379 | # | ||
380 | ############################################################################### | ||
381 | |||
382 | |||
383 | # Character Encoding ########################################################## | ||
384 | # | ||
385 | # If file or directory names do not display correctly for your locale then you | ||
386 | # may need to modify this setting. | ||
387 | # | ||
388 | #filesystem_charset "UTF-8" | ||
389 | # | ||
390 | # This setting controls the encoding that ID3v1 tags should be converted from. | ||
391 | # | ||
392 | #id3v1_encoding "ISO-8859-1" | ||
393 | # | ||
394 | ############################################################################### | ||
395 | |||
396 | |||
397 | # SIDPlay decoder ############################################################# | ||
398 | # | ||
399 | # songlength_database: | ||
400 | # Location of your songlengths file, as distributed with the HVSC. | ||
401 | # The sidplay plugin checks this for matching MD5 fingerprints. | ||
402 | # See http://www.c64.org/HVSC/DOCUMENTS/Songlengths.faq | ||
403 | # | ||
404 | # default_songlength: | ||
405 | # This is the default playing time in seconds for songs not in the | ||
406 | # songlength database, or in case you're not using a database. | ||
407 | # A value of 0 means play indefinitely. | ||
408 | # | ||
409 | # filter: | ||
410 | # Turns the SID filter emulation on or off. | ||
411 | # | ||
412 | #decoder { | ||
413 | # plugin "sidplay" | ||
414 | # songlength_database "/media/C64Music/DOCUMENTS/Songlengths.txt" | ||
415 | # default_songlength "120" | ||
416 | # filter "true" | ||
417 | #} | ||
418 | # | ||
419 | ############################################################################### | ||
420 | |||
diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.1.bb b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.1.bb new file mode 100644 index 000000000..04eed0aeb --- /dev/null +++ b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.1.bb | |||
@@ -0,0 +1,58 @@ | |||
1 | SUMMARY = "Music Player Daemon" | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" | ||
4 | HOMEPAGE ="http://www.musicpd.org" | ||
5 | |||
6 | DEPENDS = "alsa-lib libsamplerate0 libsndfile1 libvorbis libogg faad2 ffmpeg curl sqlite bzip2 pulseaudio tcp-wrappers openal-soft yajl jack faad2 flac libao fluidsynth libcdio wavpack libopus mpg123 libmms libmodplug boost icu dbus expat zlib" | ||
7 | |||
8 | SRC_URI = " \ | ||
9 | http://www.musicpd.org/download/${BPN}/0.19/${BP}.tar.xz \ | ||
10 | file://mpd.conf.in \ | ||
11 | " | ||
12 | SRC_URI[md5sum] = "d235f6e53e5442b6926c49946a303f8d" | ||
13 | SRC_URI[sha256sum] = "8b3afcd440181c9bd18b229b5974e529d59648344dd371370d6f7d62ec2847c5" | ||
14 | |||
15 | inherit autotools useradd systemd | ||
16 | |||
17 | EXTRA_OECONF = "enable_bzip2=yes" | ||
18 | EXTRA_OECONF += "${@base_contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}" | ||
19 | |||
20 | PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad" | ||
21 | PACKAGECONFIG[id3tag] = "--enable-id3,--disable-id3,libid3tag" | ||
22 | PACKAGECONFIG[lame] = "--enable-lame-encoder,--disable-lame-encoder,lame" | ||
23 | |||
24 | do_install_append() { | ||
25 | install -d ${D}/${localstatedir}/lib/mpd/music | ||
26 | chmod 775 ${D}/${localstatedir}/lib/mpd/music | ||
27 | install -d ${D}/${localstatedir}/lib/mpd/playlists | ||
28 | chown -R mpd ${D}/${localstatedir}/lib/mpd | ||
29 | chown mpd:mpd ${D}/${localstatedir}/lib/mpd/music | ||
30 | |||
31 | install -d ${D}/${sysconfdir} | ||
32 | install -m 644 ${WORKDIR}/mpd.conf.in ${D}/${sysconfdir}/mpd.conf | ||
33 | sed -i \ | ||
34 | -e 's|%music_directory%|${localstatedir}/lib/mpd/music|' \ | ||
35 | -e 's|%playlist_directory%|${localstatedir}/lib/mpd/playlists|' \ | ||
36 | -e 's|%db_file%|${localstatedir}/lib/mpd/mpd.db|' \ | ||
37 | -e 's|%log_file%|${localstatedir}/log/mpd.log|' \ | ||
38 | -e 's|%state_file%|${localstatedir}/lib/mpd/state|' \ | ||
39 | ${D}/${sysconfdir}/mpd.conf | ||
40 | |||
41 | if [ -e ${D}/${systemd_unitdir}/system/mpd.service ] ; then | ||
42 | sed -i \ | ||
43 | 's|^ExecStart=.*|ExecStart=${bindir}/mpd --no-daemon|' \ | ||
44 | ${D}/${systemd_unitdir}/system/mpd.service | ||
45 | fi | ||
46 | } | ||
47 | |||
48 | RPROVIDES_${PN} += "${PN}-systemd" | ||
49 | RREPLACES_${PN} += "${PN}-systemd" | ||
50 | RCONFLICTS_${PN} += "${PN}-systemd" | ||
51 | SYSTEMD_SERVICE_${PN} = "mpd.service" | ||
52 | |||
53 | USERADD_PACKAGES = "${PN}" | ||
54 | USERADD_PARAM_${PN} = " \ | ||
55 | --system --no-create-home \ | ||
56 | --home ${localstatedir}/lib/mpd \ | ||
57 | --groups audio \ | ||
58 | --user-group mpd" | ||
diff --git a/meta-multimedia/recipes-multimedia/nonworking/gstreamer/files/display.patch b/meta-multimedia/recipes-multimedia/nonworking/gstreamer/files/display.patch new file mode 100644 index 000000000..61b0e6c87 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/nonworking/gstreamer/files/display.patch | |||
@@ -0,0 +1,60 @@ | |||
1 | Upstream-Status: Backport | ||
2 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
3 | |||
4 | From 3e46d2e501da68d929bb5f26900a292a5fc04a1f Mon Sep 17 00:00:00 2001 | ||
5 | From: Stefan Westerfeld <stefan@space.twc.de> | ||
6 | Date: Mon, 23 Apr 2012 03:10:22 +0200 | ||
7 | Subject: [PATCH] Fix time display updates (broken by introduction of quiet | ||
8 | mode). | ||
9 | |||
10 | --- | ||
11 | src/gst123.cc | 1 + | ||
12 | src/msg.cc | 7 +++++++ | ||
13 | src/msg.h | 1 + | ||
14 | 3 files changed, 9 insertions(+) | ||
15 | |||
16 | diff --git a/src/gst123.cc b/src/gst123.cc | ||
17 | index 20e91e5..ce5876d 100644 | ||
18 | --- a/src/gst123.cc | ||
19 | +++ b/src/gst123.cc | ||
20 | @@ -640,6 +640,7 @@ cb_print_position (gpointer *data) | ||
21 | else | ||
22 | blanks += " "; | ||
23 | Msg::print ("%s%s\r", status.c_str(), blanks.c_str()); | ||
24 | + Msg::flush(); | ||
25 | } | ||
26 | |||
27 | /* call me again */ | ||
28 | diff --git a/src/msg.cc b/src/msg.cc | ||
29 | index 547cd90..33cada2 100644 | ||
30 | --- a/src/msg.cc | ||
31 | +++ b/src/msg.cc | ||
32 | @@ -41,6 +41,13 @@ print (const char *format, ...) | ||
33 | } | ||
34 | } | ||
35 | |||
36 | +void | ||
37 | +flush() | ||
38 | +{ | ||
39 | + if (!Options::the().quiet) | ||
40 | + fflush (stdout); | ||
41 | +} | ||
42 | + | ||
43 | } | ||
44 | |||
45 | } | ||
46 | diff --git a/src/msg.h b/src/msg.h | ||
47 | index e0ced24..5bebac0 100644 | ||
48 | --- a/src/msg.h | ||
49 | +++ b/src/msg.h | ||
50 | @@ -27,6 +27,7 @@ namespace Msg | ||
51 | { | ||
52 | |||
53 | void print (const char *format, ...); | ||
54 | +void flush(); | ||
55 | |||
56 | } | ||
57 | |||
58 | -- | ||
59 | 1.7.9.5 | ||
60 | |||
diff --git a/meta-multimedia/recipes-multimedia/nonworking/gstreamer/gst123_0.3.1.bb b/meta-multimedia/recipes-multimedia/nonworking/gstreamer/gst123_0.3.1.bb new file mode 100644 index 000000000..6c495b20c --- /dev/null +++ b/meta-multimedia/recipes-multimedia/nonworking/gstreamer/gst123_0.3.1.bb | |||
@@ -0,0 +1,15 @@ | |||
1 | SUMMARY = "Flexible CLI player in the spirit of mpg123, based on GStreamer" | ||
2 | HOMEPAGE = "http://space.twc.de/~stefan/gst123.php" | ||
3 | LICENSE = "LGPLv2.1+" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ | ||
5 | file://src/gst123.cc;beginline=1;endline=19;md5=05d2f5d54b985b986c26af931d2084f8" | ||
6 | |||
7 | DEPENDS = "libx11 gstreamer gst-plugins-base gtk+ ncurses" | ||
8 | |||
9 | SRC_URI = "http://space.twc.de/~stefan/gst123/${BPN}-${PV}.tar.bz2 \ | ||
10 | file://display.patch" | ||
11 | |||
12 | SRC_URI[md5sum] = "1e77767c9d6fecee5641f95804f160fe" | ||
13 | SRC_URI[sha256sum] = "89d1de025eca0466c125dcd6a11b64341bdf98ee4c03c3e5a12321d77cb8b0ce" | ||
14 | |||
15 | inherit autotools | ||
diff --git a/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb b/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb new file mode 100644 index 000000000..ab038a71b --- /dev/null +++ b/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb | |||
@@ -0,0 +1,23 @@ | |||
1 | SUMMARY = "OpenAL is a cross-platform 3D audio API" | ||
2 | HOMEPAGE = "http://kcat.strangesoft.net/openal.html" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=facc3a8f452930083bbb95d82b989c35" | ||
5 | |||
6 | inherit cmake | ||
7 | |||
8 | SRC_URI = "http://kcat.strangesoft.net/openal-releases/${BP}.tar.bz2" | ||
9 | SRC_URI[md5sum] = "ea83dec3b9655a27d28e7bc7cae9cd71" | ||
10 | SRC_URI[sha256sum] = "0e29a162f0841ccb4135ce76e92e8a704589b680a85eddf76f898de5236eb056" | ||
11 | |||
12 | PACKAGECONFIG ?= "\ | ||
13 | ${@base_contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} \ | ||
14 | ${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \ | ||
15 | " | ||
16 | PACKAGECONFIG[alsa] = "-DALSA=TRUE, -DALSA=FALSE, alsa-lib" | ||
17 | PACKAGECONFIG[pulseaudio] = "-DPULSEAUDIO=TRUE, -DPULSEAUDIO=FALSE, pulseaudio" | ||
18 | # currently doesn't work with libav-9 | ||
19 | # PKG_CHECK_MODULES(FFMPEG libavcodec>=53.61.100 libavformat>=53.32.100 libavutil>=51.35.100) | ||
20 | # but alffmpeg.c:418:44: error: 'AV_CH_LAYOUT_MONO' undeclared (first use in this function) | ||
21 | PACKAGECONFIG[examples] = "-DEXAMPLES=TRUE, -DEXAMPLES=FALSE, libav" | ||
22 | |||
23 | FILES_${PN} += "${datadir}/openal" | ||
diff --git a/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump/fix-racing-build-issue.patch b/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump/fix-racing-build-issue.patch new file mode 100644 index 000000000..bb3d8b0ef --- /dev/null +++ b/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump/fix-racing-build-issue.patch | |||
@@ -0,0 +1,18 @@ | |||
1 | Make sure libdir (SODIR) is created when running parallel make. | ||
2 | |||
3 | Upstream-Status: Inappropriate [configuration] | ||
4 | |||
5 | Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> | ||
6 | |||
7 | Index: git/librtmp/Makefile | ||
8 | =================================================================== | ||
9 | --- git.orig/librtmp/Makefile | ||
10 | +++ git/librtmp/Makefile | ||
11 | @@ -107,6 +107,7 @@ install_base: librtmp.a librtmp.pc | ||
12 | cp librtmp.3 $(MANDIR)/man3 | ||
13 | |||
14 | install_so: librtmp.$(SO_EXT) | ||
15 | + -mkdir -p $(SODIR) | ||
16 | cp librtmp.$(SO_EXT) $(SODIR) | ||
17 | cd $(SODIR); ln -sf librtmp.$(SO_EXT) librtmp.$(SOX) | ||
18 | |||
diff --git a/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb b/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb new file mode 100644 index 000000000..a1e650243 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb | |||
@@ -0,0 +1,22 @@ | |||
1 | SUMMARY = "RTMP Dump" | ||
2 | DESCRIPTION = "rtmpdump is a toolkit for RTMP streams. All forms of RTMP are \ | ||
3 | supported, including rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps://." | ||
4 | HOMEPAGE = "http://rtmpdump.mplayerhq.hu/" | ||
5 | LICENSE = "GPLv2" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" | ||
7 | |||
8 | DEPENDS = "openssl zlib" | ||
9 | |||
10 | SRCREV = "3121324046e4ca1934e7e28293fc8326475d5053" | ||
11 | SRC_URI = " \ | ||
12 | git://git.ffmpeg.org/rtmpdump \ | ||
13 | file://fix-racing-build-issue.patch" | ||
14 | |||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | inherit autotools-brokensep | ||
18 | |||
19 | EXTRA_OEMAKE = " \ | ||
20 | CC='${CC}' LD='${LD} ${STAGING_LIBDIR}' \ | ||
21 | SYS=posix INC=-I=/usr/include DESTDIR=${D} \ | ||
22 | prefix=${prefix} libdir=${libdir} incdir=${includedir}/librtmp bindir=${bindir} mandir=${mandir}" | ||
diff --git a/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb new file mode 100644 index 000000000..e91ba45c6 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | SUMMARY = "Big Buck Bunny movie - 1080P" | ||
2 | LICENSE = "CC-BY-3.0" | ||
3 | # http://www.bigbuckbunny.org/index.php/about/ | ||
4 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7" | ||
5 | |||
6 | SRC_URI = "http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_1080p_surround.avi" | ||
7 | SRC_URI[md5sum] = "223991c8b33564eb77988a4c13c1c76a" | ||
8 | SRC_URI[sha256sum] = "69fe2cfe7154a6e752688e3a0d7d6b07b1605bbaf75b56f6470dc7b4c20c06ea" | ||
9 | |||
10 | inherit allarch | ||
11 | |||
12 | do_install() { | ||
13 | install -d ${D}${datadir}/movies | ||
14 | install -m 0644 ${WORKDIR}/big_buck_bunny_1080p_surround.avi ${D}${datadir}/movies/ | ||
15 | } | ||
16 | |||
17 | FILES_${PN} += "${datadir}/movies" | ||
diff --git a/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb new file mode 100644 index 000000000..e7029d9b0 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | SUMMARY = "Big Buck Bunny movie - 480P" | ||
2 | LICENSE = "CC-BY-3.0" | ||
3 | # http://www.bigbuckbunny.org/index.php/about/ | ||
4 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7" | ||
5 | |||
6 | SRC_URI = "http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_surround-fix.avi" | ||
7 | SRC_URI[md5sum] = "ed7ed01e9aefba8ddd77c13332cec120" | ||
8 | SRC_URI[sha256sum] = "40d1cf5bc8e1b0e55dac7bb2e3fbc2aea05b6679444864781299b24db044634f" | ||
9 | |||
10 | inherit allarch | ||
11 | |||
12 | do_install() { | ||
13 | install -d ${D}${datadir}/movies | ||
14 | install -m 0644 ${WORKDIR}/big_buck_bunny_480p_surround-fix.avi ${D}${datadir}/movies/ | ||
15 | } | ||
16 | |||
17 | FILES_${PN} += "${datadir}/movies" | ||
diff --git a/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb new file mode 100644 index 000000000..55fceabc8 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | SUMMARY = "Big Buck Bunny movie - 720P" | ||
2 | LICENSE = "CC-BY-3.0" | ||
3 | # http://www.bigbuckbunny.org/index.php/about/ | ||
4 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7" | ||
5 | |||
6 | SRC_URI = "http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_720p_surround.avi" | ||
7 | SRC_URI[md5sum] = "0da8fe124595f5b206d64cb1400bbefc" | ||
8 | SRC_URI[sha256sum] = "b957d6e6212638441b52d3b620af157cc8d40c2a0342669294854a06edcd528c" | ||
9 | |||
10 | inherit allarch | ||
11 | |||
12 | do_install() { | ||
13 | install -d ${D}${datadir}/movies | ||
14 | install -m 0644 ${WORKDIR}/big_buck_bunny_720p_surround.avi ${D}${datadir}/movies/ | ||
15 | } | ||
16 | |||
17 | FILES_${PN} += "${datadir}/movies" | ||
diff --git a/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb b/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb new file mode 100644 index 000000000..bb7ee7cf7 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb | |||
@@ -0,0 +1,16 @@ | |||
1 | SUMMARY = "Tears of Steel movie - 1080P" | ||
2 | LICENSE = "CC-BY-3.0" | ||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7" | ||
4 | |||
5 | SRC_URI = "http://ftp.nluug.nl/pub/graphics/blender/demo/movies/ToS/ToS-4k-1920.mov" | ||
6 | SRC_URI[md5sum] = "e3fee55b1779c553e37b1d3988e6fad6" | ||
7 | SRC_URI[sha256sum] = "bd2b5bc6c16d4085034f47ef7e4b3938afe86b4eec4ac3cf2685367d3b0b23b0" | ||
8 | |||
9 | inherit allarch | ||
10 | |||
11 | do_install() { | ||
12 | install -d ${D}${datadir}/movies | ||
13 | install -m 0644 ${WORKDIR}/ToS-4k-1920.mov ${D}${datadir}/movies/ | ||
14 | } | ||
15 | |||
16 | FILES_${PN} += "${datadir}/movies" | ||
diff --git a/meta-multimedia/recipes-multimedia/schroedinger/schroedinger/configure.ac.patch b/meta-multimedia/recipes-multimedia/schroedinger/schroedinger/configure.ac.patch new file mode 100644 index 000000000..2ed8d22c6 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/schroedinger/schroedinger/configure.ac.patch | |||
@@ -0,0 +1,20 @@ | |||
1 | Use the version of orcc in the sysroot not the one from the host | ||
2 | |||
3 | Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> | ||
4 | Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> | ||
5 | |||
6 | Upstream-Status: Inappropriate [configuration] | ||
7 | |||
8 | Index: schroedinger-1.0.9/configure.ac | ||
9 | =================================================================== | ||
10 | --- schroedinger-1.0.9.orig/configure.ac | ||
11 | +++ schroedinger-1.0.9/configure.ac | ||
12 | @@ -54,7 +54,7 @@ if test "x${HAVE_ORC}" != xyes ; then | ||
13 | AC_ERROR([orc-0.4 >= $ORC_VER is required]) | ||
14 | fi | ||
15 | SCHRO_PKG_DEPS="$SCHRO_PKG_DEPS orc-0.4 >= $ORC_VER" | ||
16 | -ORCC=`$PKG_CONFIG --variable=orcc orc-0.4` | ||
17 | +ORCC=$STAGING_DIR`$PKG_CONFIG --variable=orcc orc-0.4` | ||
18 | AC_SUBST(ORCC) | ||
19 | |||
20 | AC_ARG_WITH([thread], | ||
diff --git a/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb b/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb new file mode 100644 index 000000000..d38eb9477 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb | |||
@@ -0,0 +1,22 @@ | |||
1 | SUMMARY = "Dirac compressed video encoder/decoder" | ||
2 | HOMEPAGE = "http://schrodinger.sourceforge.net/" | ||
3 | LICENSE = "MPL-1.1 | GPLv2 | LGPLv2 | MIT" | ||
4 | |||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=d91a46405fc074b88c963cc4f2a0aae9 \ | ||
6 | file://COPYING.GPL;md5=e181e3b7c66f5f96921d813c1074f833 \ | ||
7 | file://COPYING.LGPL;md5=38c893e21baec4cd75ad800ba9e2410a \ | ||
8 | file://COPYING.MIT;md5=8b345371b3536b4ce37ead1eafc88221 \ | ||
9 | file://COPYING.MPL;md5=0117647fecb9a932c25a7bbfc0333c37" | ||
10 | |||
11 | DEPENDS = "liboil orc-native orc" | ||
12 | |||
13 | SRC_URI = "http://www.diracvideo.org/download/schroedinger/${BP}.tar.gz \ | ||
14 | file://configure.ac.patch" | ||
15 | |||
16 | SRC_URI[md5sum] = "da6af08e564ca1157348fb8d92efc891" | ||
17 | SRC_URI[sha256sum] = "1e572a0735b92aca5746c4528f9bebd35aa0ccf8619b22fa2756137a8cc9f912" | ||
18 | |||
19 | EXTRA_OECONF += "STAGING_DIR=${STAGING_DIR_NATIVE}" | ||
20 | |||
21 | inherit autotools-brokensep pkgconfig | ||
22 | |||
diff --git a/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb b/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb new file mode 100644 index 000000000..758fec99b --- /dev/null +++ b/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb | |||
@@ -0,0 +1,35 @@ | |||
1 | DESCRIPTION="SoX is the Swiss Army knife of sound processing tools. \ | ||
2 | It converts audio files among various standard audio file formats \ | ||
3 | and can apply different effects and filters to the audio data." | ||
4 | HOMEPAGE = "http://sox.sourceforge.net" | ||
5 | SECTION = "audio" | ||
6 | |||
7 | DEPENDS = "libpng libav libsndfile1 libvorbis" | ||
8 | |||
9 | PR = "r2" | ||
10 | |||
11 | PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \ | ||
12 | ${@base_contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} \ | ||
13 | magic \ | ||
14 | " | ||
15 | PACKAGECONFIG[pulseaudio] = "--with-pulseaudio=dyn,--with-pulseaudio=no,pulseaudio," | ||
16 | PACKAGECONFIG[alsa] = "--with-alsa=dyn,--with-alsa=no,alsa-lib," | ||
17 | PACKAGECONFIG[wavpack] = "--with-wavpack=dyn,--with-wavpack=no,wavpack," | ||
18 | PACKAGECONFIG[magic] = "--with-magic,--without-magic,file," | ||
19 | PACKAGECONFIG[mad] = "--with-mad,--without-mad,libmad," | ||
20 | PACKAGECONFIG[id3tag] = "--with-id3tag,--without-id3tag,libid3tag," | ||
21 | PACKAGECONFIG[lame] = "--with-lame,--without-lame,lame," | ||
22 | PACKAGECONFIG[ao] = "--with-ao,--without-ao,libao," | ||
23 | |||
24 | LICENSE = "GPLv2 & LGPLv2.1" | ||
25 | LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe \ | ||
26 | file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24" | ||
27 | |||
28 | SRC_URI = "${SOURCEFORGE_MIRROR}/sox/sox-${PV}.tar.gz" | ||
29 | SRC_URI[md5sum] = "b0c15cff7a4ba0ec17fdc74e6a1f9cf1" | ||
30 | SRC_URI[sha256sum] = "3ee34b14dd267de378e8a117aae81ec4cae330772342e6a55bbf6520a0a88aa3" | ||
31 | |||
32 | inherit autotools | ||
33 | |||
34 | BBCLASSEXTEND = "native" | ||
35 | |||
diff --git a/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.3.0.bb b/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.3.0.bb new file mode 100644 index 000000000..79e64aebd --- /dev/null +++ b/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.3.0.bb | |||
@@ -0,0 +1,12 @@ | |||
1 | DESCRIPTION = "libdvdcss is a simple library designed for accessing DVDs like a block device without having to bother about the decryption." | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
4 | |||
5 | SRC_URI = "http://download.videolan.org/pub/libdvdcss/${PV}/libdvdcss-${PV}.tar.bz2" | ||
6 | |||
7 | inherit autotools | ||
8 | |||
9 | EXTRA_OECONF = " --disable-doc " | ||
10 | |||
11 | SRC_URI[md5sum] = "7f0fdb3ff91d638f5e45ed7536f7eb67" | ||
12 | SRC_URI[sha256sum] = "7c414acd520c4e4dd7267952f72d738ff50321a7869af4d75c65aefad44f1395" | ||
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc.inc b/meta-multimedia/recipes-multimedia/vlc/vlc.inc new file mode 100644 index 000000000..1b6f02a6e --- /dev/null +++ b/meta-multimedia/recipes-multimedia/vlc/vlc.inc | |||
@@ -0,0 +1,86 @@ | |||
1 | DESCRIPTION = "Video player and streamer - davinci edition" | ||
2 | HOMEPAGE = "http://www.videolan.org" | ||
3 | SECTION = "multimedia" | ||
4 | |||
5 | LICENSE = "GPL-2.0" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" | ||
7 | |||
8 | DEPENDS = "libfribidi libtool libgcrypt libgcrypt-native gst-plugins-bad \ | ||
9 | virtual/libsdl libsdl-image qt4-x11-free dbus dbus-glib libxml2 gnutls \ | ||
10 | tremor faad2 ffmpeg flac libxpm libxinerama fluidsynth alsa-lib \ | ||
11 | libdvdcss libdvdread lua-native lua libidn libnotify gtk+ gnome-vfs \ | ||
12 | libdc1394 libraw1394 avahi libjpeg-turbo xz libmodplug mpeg2dec \ | ||
13 | libmtp libopus orc libusb1 schroedinger taglib \ | ||
14 | tiff xcb-util-keysyms samba" | ||
15 | |||
16 | SRC_URI = "http://download.videolan.org/pub/videolan/${BPN}/${PV}/${BP}.tar.xz" | ||
17 | |||
18 | inherit autotools gettext pkgconfig | ||
19 | |||
20 | ARM_INSTRUCTION_SET = "arm" | ||
21 | |||
22 | EXTRA_OECONF = "\ | ||
23 | --enable-dvdread \ | ||
24 | --with-contrib \ | ||
25 | --enable-run-as-root \ | ||
26 | --enable-xvideo \ | ||
27 | --disable-screen --disable-caca \ | ||
28 | --enable-httpd --enable-vlm \ | ||
29 | --enable-freetype \ | ||
30 | --enable-sdl \ | ||
31 | --enable-png \ | ||
32 | --enable-tremor \ | ||
33 | --enable-v4l2 --disable-aa --disable-faad \ | ||
34 | --enable-dbus \ | ||
35 | --without-contrib \ | ||
36 | --without-kde-solid \ | ||
37 | --disable-glx \ | ||
38 | --enable-realrtsp \ | ||
39 | --disable-libtar \ | ||
40 | ac_cv_path_MOC=${STAGING_BINDIR_NATIVE}/moc4 \ | ||
41 | ac_cv_path_RCC=${STAGING_BINDIR_NATIVE}/rcc4 \ | ||
42 | ac_cv_path_UIC=${STAGING_BINDIR_NATIVE}/uic4 \ | ||
43 | " | ||
44 | |||
45 | PACKAGECONFIG ?= " live555" | ||
46 | PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad" | ||
47 | PACKAGECONFIG[a52] = "--enable-a52,--disable-a52,liba52" | ||
48 | PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" | ||
49 | PACKAGECONFIG[live555] = "--enable-live555,--disable-live555,live555" | ||
50 | PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass" | ||
51 | PACKAGECONFIG[mkv] = "--enable-mkv,--disable-mkv,libmatroska libebml" | ||
52 | PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc,libpostproc" | ||
53 | PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv" | ||
54 | PACKAGECONFIG[libva] = "--enable-libva --enable-avcodec,--disable-libva --disable-avcodec,libva libav" | ||
55 | |||
56 | do_configure_prepend() { | ||
57 | cp ${STAGING_DATADIR}/libtool/config.* ${S}/autotools/ || true | ||
58 | } | ||
59 | |||
60 | do_configure_append() { | ||
61 | sed -i -e s:'$(MOC) $(DEFS) $(CPPFLAGS)':'$(MOC) $(DEFS)'\ -I${B}/include\ -DSYS_LINUX:g ${B}/modules/gui/qt4/Makefile | ||
62 | sed -i -e s:'${top_builddir_slash}libtool':${TARGET_SYS}-libtool:g ${B}/doltlibtool | ||
63 | } | ||
64 | |||
65 | # This recipe packages vlc as a library as well, so qt4 dependencies | ||
66 | # can be avoided when only the library is installed. | ||
67 | PACKAGES =+ "libvlc" | ||
68 | |||
69 | LEAD_SONAME_libvlc = "libvlc.so.5" | ||
70 | FILES_libvlc = "${libdir}/lib*.so.*" | ||
71 | |||
72 | FILES_${PN} += "\ | ||
73 | ${bindir}/vlc \ | ||
74 | ${datadir}/applications \ | ||
75 | ${datadir}/vlc/ \ | ||
76 | ${datadir}/icons \ | ||
77 | " | ||
78 | |||
79 | FILES_${PN}-dbg += "\ | ||
80 | ${libdir}/vlc/*/.debug \ | ||
81 | ${libdir}/vlc/plugins/*/.debug \ | ||
82 | " | ||
83 | |||
84 | FILES_${PN}-staticdev += "\ | ||
85 | ${libdir}/vlc/plugins/*/*.a \ | ||
86 | " | ||
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0001-enable-subdir-objects.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0001-enable-subdir-objects.patch new file mode 100644 index 000000000..9f0e708ed --- /dev/null +++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0001-enable-subdir-objects.patch | |||
@@ -0,0 +1,13 @@ | |||
1 | Index: vlc-2.1.2/configure.ac | ||
2 | =================================================================== | ||
3 | --- vlc-2.1.2.orig/configure.ac | ||
4 | +++ vlc-2.1.2/configure.ac | ||
5 | @@ -24,7 +24,7 @@ AC_CANONICAL_BUILD | ||
6 | AC_CANONICAL_HOST | ||
7 | AC_PRESERVE_HELP_ORDER | ||
8 | |||
9 | -AM_INIT_AUTOMAKE(tar-ustar color-tests foreign) | ||
10 | +AM_INIT_AUTOMAKE(tar-ustar color-tests foreign subdir-objects) | ||
11 | AC_CONFIG_HEADERS([config.h]) | ||
12 | |||
13 | # Disable with "./configure --disable-silent-rules" or "make V=1" | ||
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0002-glibc-does-not-provide-strlcpy.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0002-glibc-does-not-provide-strlcpy.patch new file mode 100644 index 000000000..6d2a46fb3 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0002-glibc-does-not-provide-strlcpy.patch | |||
@@ -0,0 +1,17 @@ | |||
1 | Index: vlc-2.1.2/src/input/subtitles.c | ||
2 | =================================================================== | ||
3 | --- vlc-2.1.2.orig/src/input/subtitles.c | ||
4 | +++ vlc-2.1.2/src/input/subtitles.c | ||
5 | @@ -44,6 +44,12 @@ | ||
6 | #include "input_internal.h" | ||
7 | |||
8 | /** | ||
9 | + * Drepper's alternative | ||
10 | + * http://en.wikibooks.org/wiki/C_Programming/C_Reference/nonstandard/strlcpy | ||
11 | + */ | ||
12 | +#define strlcpy(dst, src, n) *((char* ) mempcpy(dst, src, n)) = '\0' | ||
13 | + | ||
14 | +/** | ||
15 | * We are not going to autodetect more subtitle files than this. | ||
16 | */ | ||
17 | #define MAX_SUBTITLE_FILES 128 | ||
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0003-use-am-path-libgcrypt.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0003-use-am-path-libgcrypt.patch new file mode 100644 index 000000000..ae80745d2 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0003-use-am-path-libgcrypt.patch | |||
@@ -0,0 +1,46 @@ | |||
1 | * The upstream tests for libgcrypt are awkward and not working. | ||
2 | - Requires libgcrypt-config, which seems broken? | ||
3 | * AM_PATH_LIBGCRYPT exists for a reason, why not use it? KISS. | ||
4 | * Upstream abandoned AM_PATH_LIBGCRYPT in the past...newer automake ok? | ||
5 | |||
6 | Upstream status: Pending | ||
7 | |||
8 | Index: vlc-2.1.4/configure.ac | ||
9 | =================================================================== | ||
10 | --- vlc-2.1.4.orig/configure.ac | ||
11 | +++ vlc-2.1.4/configure.ac | ||
12 | @@ -3940,25 +3940,19 @@ PKG_ENABLE_MODULES_VLC([LIBXML2], [xml], | ||
13 | dnl | ||
14 | dnl libgcrypt | ||
15 | dnl | ||
16 | +GCRYPT_LIBVER=1 | ||
17 | +GCRYPT_REQ=1.1.94 | ||
18 | AC_ARG_ENABLE(libgcrypt, | ||
19 | [ --disable-libgcrypt gcrypt support (default enabled)]) | ||
20 | AS_IF([test "${enable_libgcrypt}" != "no"], [ | ||
21 | - AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [ | ||
22 | - libgcrypt-config --version >/dev/null || \ | ||
23 | - AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found]) | ||
24 | - AC_CHECK_LIB(gcrypt, gcry_control, [ | ||
25 | - have_libgcrypt="yes" | ||
26 | - GCRYPT_CFLAGS="`libgcrypt-config --cflags`" | ||
27 | - GCRYPT_LIBS="`libgcrypt-config --libs`" | ||
28 | - ], [ | ||
29 | - AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.]) | ||
30 | - ], [`libgcrypt-config --libs`]) | ||
31 | - ], [ | ||
32 | - AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.]) | ||
33 | - ], [#include <gcrypt.h>] | ||
34 | - ) | ||
35 | + AM_PATH_LIBGCRYPT($GCRYPT_LIBVER:$GCRYPT_REQ, | ||
36 | + [ | ||
37 | + GCRYPT_CFLAGS="$LIBGCRYPT_CFLAGS" | ||
38 | + GCRYPT_LIBS="$LIBGCRYPT_LIBS" | ||
39 | + ],[ | ||
40 | + AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.]) | ||
41 | + ]) | ||
42 | ]) | ||
43 | - | ||
44 | AC_SUBST(GCRYPT_CFLAGS) | ||
45 | AC_SUBST(GCRYPT_LIBS) | ||
46 | AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"]) | ||
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0004-modules-gui-qt4-out-of-tree-build.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0004-modules-gui-qt4-out-of-tree-build.patch new file mode 100644 index 000000000..3dadb237e --- /dev/null +++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0004-modules-gui-qt4-out-of-tree-build.patch | |||
@@ -0,0 +1,17 @@ | |||
1 | * modules/gui/qt4/Modules.am not B!=S friendly | ||
2 | * Simple solution to missing directories in ${B} | ||
3 | |||
4 | Upstream status: Pending | ||
5 | |||
6 | Index: vlc-2.1.4/modules/gui/qt4/Modules.am | ||
7 | =================================================================== | ||
8 | --- vlc-2.1.4.orig/modules/gui/qt4/Modules.am | ||
9 | +++ vlc-2.1.4/modules/gui/qt4/Modules.am | ||
10 | @@ -261,6 +261,7 @@ else | ||
11 | if HAVE_WIN32 | ||
12 | $(moc_verbose)$(MOC) -D_WIN32 $(DEFS) -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_builddir) $(CPPFLAGS_qt4) -o $@ $< | ||
13 | else | ||
14 | + [ -d $(dir $@) ] || mkdir -p $(dir $@) | ||
15 | $(moc_verbose)$(MOC) $(DEFS) -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_builddir) $(CPPFLAGS_qt4) -o $@ $< | ||
16 | endif | ||
17 | endif | ||
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0005-libpostproc-header-check.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0005-libpostproc-header-check.patch new file mode 100644 index 000000000..2d84ffd2f --- /dev/null +++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0005-libpostproc-header-check.patch | |||
@@ -0,0 +1,17 @@ | |||
1 | * Also look for postprocess.h under libpostproc/ | ||
2 | |||
3 | Upstream-status: Pending | ||
4 | |||
5 | Index: vlc-2.1.4/configure.ac | ||
6 | =================================================================== | ||
7 | --- vlc-2.1.4.orig/configure.ac | ||
8 | +++ vlc-2.1.4/configure.ac | ||
9 | @@ -2444,7 +2444,7 @@ then | ||
10 | VLC_SAVE_FLAGS | ||
11 | CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}" | ||
12 | CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}" | ||
13 | - AC_CHECK_HEADERS(postproc/postprocess.h) | ||
14 | + AC_CHECK_HEADERS(postproc/postprocess.h,[],[AC_CHECK_HEADERS(libpostproc/postprocess.h)]) | ||
15 | VLC_ADD_PLUGIN([postproc]) | ||
16 | VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS]) | ||
17 | VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS]) | ||
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0006-make-opencv-configurable.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0006-make-opencv-configurable.patch new file mode 100644 index 000000000..950c09b8a --- /dev/null +++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0006-make-opencv-configurable.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | Recent opencv API changes break upstream filter and example. | ||
2 | Make opencv explicitly configurable. | ||
3 | |||
4 | Upstream-Status: Inappropriate [configuration] | ||
5 | |||
6 | Signed-off-by: Tim Orling <TicoTimo@gmail.com> | ||
7 | |||
8 | Index: vlc-2.1.4/configure.ac | ||
9 | =================================================================== | ||
10 | --- vlc-2.1.4.orig/configure.ac | ||
11 | +++ vlc-2.1.4/configure.ac | ||
12 | @@ -1693,7 +1693,16 @@ PKG_ENABLE_MODULES_VLC([BLURAY], [libblu | ||
13 | dnl | ||
14 | dnl OpenCV wrapper and example filters | ||
15 | dnl | ||
16 | -PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv > 2.0], (OpenCV (computer vision) filter), [auto]) | ||
17 | +AC_ARG_ENABLE(opencv, | ||
18 | + [AS_HELP_STRING([--disable-opencv], | ||
19 | + [disable OpenCV computer vision filter and example (default auto)])]) | ||
20 | +if test "${enable_opencv}" != "no" | ||
21 | +then | ||
22 | + PKG_ENABLE_MODULES_VLC([OPENCV], | ||
23 | + [opencv_example opencv_wrapper], | ||
24 | + [opencv > 2.0], | ||
25 | + (OpenCV (computer vision) filter), [auto]) | ||
26 | +fi | ||
27 | |||
28 | |||
29 | dnl | ||
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc_2.1.4.bb b/meta-multimedia/recipes-multimedia/vlc/vlc_2.1.4.bb new file mode 100644 index 000000000..418f77cfc --- /dev/null +++ b/meta-multimedia/recipes-multimedia/vlc/vlc_2.1.4.bb | |||
@@ -0,0 +1,15 @@ | |||
1 | require ${BPN}.inc | ||
2 | |||
3 | # work around build failure | ||
4 | EXTRA_OECONF += " --enable-libxml2=no" | ||
5 | |||
6 | SRC_URI += "file://0001-enable-subdir-objects.patch \ | ||
7 | file://0002-glibc-does-not-provide-strlcpy.patch \ | ||
8 | file://0003-use-am-path-libgcrypt.patch \ | ||
9 | file://0004-modules-gui-qt4-out-of-tree-build.patch \ | ||
10 | file://0005-libpostproc-header-check.patch \ | ||
11 | file://0006-make-opencv-configurable.patch \ | ||
12 | " | ||
13 | |||
14 | SRC_URI[md5sum] = "7ed67d22f7425011078772bfc62ac222" | ||
15 | SRC_URI[sha256sum] = "3e566c7525478167e18cc53dc75d621e4af91eb40aabb6231e47db25d682d5d3" | ||