diff options
author | Martin Jansa <Martin.Jansa@gmail.com> | 2017-04-27 11:04:51 +0200 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2017-08-31 10:18:33 +0200 |
commit | ec9e5ed06256ad92c818474cdb490dc0d3a0d0a3 (patch) | |
tree | e16d2a838f4561d5538928a58f805e5f1373225a | |
parent | 6775acb048dabd624c5c8197b683aba45ed91569 (diff) | |
download | meta-openembedded-ec9e5ed06256ad92c818474cdb490dc0d3a0d0a3.tar.gz |
recipes: remove blacklisted recipes
* as PNBLACKLIST message says, these recipes are blacklisted for long
time and nobody showed any interest to fix them
* remove all unused .patch and .inc files as well
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
410 files changed, 0 insertions, 30810 deletions
diff --git a/meta-efl/conf/distro/include/efl-from-svn-recipes.inc b/meta-efl/conf/distro/include/efl-from-svn-recipes.inc deleted file mode 100644 index 23a8eaeca..000000000 --- a/meta-efl/conf/distro/include/efl-from-svn-recipes.inc +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | EFL_PREFERRED_VERSION ?= "1.7.4+svn%" | ||
2 | EFL_PREFERRED_PYTHON_VERSION ?= "1.7.0+svn%" | ||
3 | |||
4 | PREFERRED_VERSION_e-wm ?= "0.17.0+svnr%" | ||
5 | |||
6 | PREFERRED_VERSION_ecore ?= "${EFL_PREFERRED_VERSION}" | ||
7 | PREFERRED_VERSION_ecore-native ?= "${EFL_PREFERRED_VERSION}" | ||
8 | PREFERRED_VERSION_edbus ?= "${EFL_PREFERRED_VERSION}" | ||
9 | PREFERRED_VERSION_edbus-native ?= "${EFL_PREFERRED_VERSION}" | ||
10 | PREFERRED_VERSION_edje ?= "${EFL_PREFERRED_VERSION}" | ||
11 | PREFERRED_VERSION_edje-native ?= "${EFL_PREFERRED_VERSION}" | ||
12 | PREFERRED_VERSION_edje-nativesdk ?= "${EFL_PREFERRED_VERSION}" | ||
13 | PREFERRED_VERSION_eeze ?= "${EFL_PREFERRED_VERSION}" | ||
14 | PREFERRED_VERSION_eeze-native ?= "${EFL_PREFERRED_VERSION}" | ||
15 | PREFERRED_VERSION_efreet ?= "${EFL_PREFERRED_VERSION}" | ||
16 | PREFERRED_VERSION_efreet-native ?= "${EFL_PREFERRED_VERSION}" | ||
17 | PREFERRED_VERSION_eina ?= "${EFL_PREFERRED_VERSION}" | ||
18 | PREFERRED_VERSION_eina-native ?= "${EFL_PREFERRED_VERSION}" | ||
19 | PREFERRED_VERSION_embryo ?= "${EFL_PREFERRED_VERSION}" | ||
20 | PREFERRED_VERSION_embryo-native ?= "${EFL_PREFERRED_VERSION}" | ||
21 | PREFERRED_VERSION_evas ?= "${EFL_PREFERRED_VERSION}" | ||
22 | PREFERRED_VERSION_evas-generic-loaders ?= "${EFL_PREFERRED_VERSION}" | ||
23 | PREFERRED_VERSION_evas-native ?= "${EFL_PREFERRED_VERSION}" | ||
24 | PREFERRED_VERSION_expedite ?= "${EFL_PREFERRED_VERSION}" | ||
25 | PREFERRED_VERSION_expedite-native ?= "${EFL_PREFERRED_VERSION}" | ||
26 | |||
27 | PREFERRED_VERSION_eet ?= "${EFL_PREFERRED_VERSION}" | ||
28 | PREFERRED_VERSION_eet-native ?= "${EFL_PREFERRED_VERSION}" | ||
29 | |||
30 | PREFERRED_VERSION_eio ?= "${EFL_PREFERRED_VERSION}" | ||
31 | PREFERRED_VERSION_eio-native ?= "${EFL_PREFERRED_VERSION}" | ||
32 | PREFERRED_VERSION_emotion ?= "${EFL_PREFERRED_VERSION}" | ||
33 | PREFERRED_VERSION_ethumb ?= "${EFL_PREFERRED_VERSION}" | ||
34 | PREFERRED_VERSION_elementary ?= "${EFL_PREFERRED_VERSION}" | ||
35 | |||
36 | PREFERRED_VERSION_python-elementary ?= "${EFL_PREFERRED_PYTHON_VERSION}" | ||
37 | PREFERRED_VERSION_python-ecore ?= "${EFL_PREFERRED_PYTHON_VERSION}" | ||
38 | PREFERRED_VERSION_python-edbus ?= "${EFL_PREFERRED_PYTHON_VERSION}" | ||
39 | PREFERRED_VERSION_python-edje ?= "${EFL_PREFERRED_PYTHON_VERSION}" | ||
40 | PREFERRED_VERSION_python-emotion ?= "${EFL_PREFERRED_PYTHON_VERSION}" | ||
41 | PREFERRED_VERSION_python-evas ?= "${EFL_PREFERRED_PYTHON_VERSION}" | ||
42 | |||
43 | PREFERRED_VERSION_terminology ?= "0.2.0+svn%" | ||
diff --git a/meta-efl/recipes-devtools/python/python-edbus.inc b/meta-efl/recipes-devtools/python/python-edbus.inc deleted file mode 100644 index cc6008387..000000000 --- a/meta-efl/recipes-devtools/python/python-edbus.inc +++ /dev/null | |||
@@ -1,46 +0,0 @@ | |||
1 | DESCRIPTION = "${PN} bindings" | ||
2 | LICENSE = "LGPLv2.1" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" | ||
4 | AUTHOR = "Gustavo Sverzut Barbieri <barbieri@gmail.com>" | ||
5 | # NOTE: Due to a bug in distutils, even if we don't use pyrex but cython, | ||
6 | # we need to build pyrex otherwise cython doesn't get called to build | ||
7 | # the extension modules. | ||
8 | DEPENDS = "python-cython-native python-pyrex-native python-numeric eina edbus python-dbus" | ||
9 | RDEPENDS_${PN} += "python-lang python-dbus" | ||
10 | |||
11 | inherit e-base autotools pkgconfig distutils-base | ||
12 | |||
13 | SRCNAME = "python-e_dbus" | ||
14 | SRCVER = "${PV}" | ||
15 | |||
16 | SRC_URI = "\ | ||
17 | ${E_MIRROR}/BINDINGS/python/${SRCNAME}-${SRCVER}.tar.bz2 \ | ||
18 | " | ||
19 | S = "${WORKDIR}/${SRCNAME}-${SRCVER}" | ||
20 | |||
21 | |||
22 | do_configure_prepend() { | ||
23 | # prefix CYTHON_.*_INCLUDEDIR with path to STAGING_DIR_HOST also use $PKG_CONFIG instead of pkg-config directly | ||
24 | sed -i "s#=\`\$PKG_CONFIG --variable=includedir \"python-evas#=${STAGING_DIR_HOST}\`\$PKG_CONFIG --variable=includedir \"python-evas#g" ${S}/configure.ac | ||
25 | } | ||
26 | |||
27 | do_install_append() { | ||
28 | if [ -e examples ]; then | ||
29 | for i in `find examples -name "*.edc"`; do | ||
30 | cd ${S}/`dirname $i` | ||
31 | echo "Generating .edj file for $i..." | ||
32 | edje_cc `basename $i` | ||
33 | echo "Removing sources in this directory..." | ||
34 | rm -f *.edc *.png *.ttf *.jpeg | ||
35 | done | ||
36 | cd ${S} | ||
37 | install -d ${D}${datadir}/${PN}/ | ||
38 | cp -R --no-dereference --preserve=mode,links -v examples ${D}${datadir}/${PN}/ | ||
39 | find ${D}${datadir}/${PN}/examples -name ".svn" | xargs rm -rf | ||
40 | fi | ||
41 | } | ||
42 | |||
43 | FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/*.egg/*/*/.debug" | ||
44 | |||
45 | PACKAGES += "${PN}-examples" | ||
46 | FILES_${PN}-examples = "${datadir}/${PN}/examples" | ||
diff --git a/meta-efl/recipes-devtools/python/python-edbus_1.7.0.bb b/meta-efl/recipes-devtools/python/python-edbus_1.7.0.bb deleted file mode 100644 index bfacf897f..000000000 --- a/meta-efl/recipes-devtools/python/python-edbus_1.7.0.bb +++ /dev/null | |||
@@ -1,8 +0,0 @@ | |||
1 | require ${BPN}.inc | ||
2 | |||
3 | PR = "r1" | ||
4 | |||
5 | SRC_URI[md5sum] = "40b479444bb06147429a276127981890" | ||
6 | SRC_URI[sha256sum] = "78e5ca334ee25185748660b4e612f984f4d3bced018f062278701429868f117b" | ||
7 | |||
8 | PNBLACKLIST[python-edbus] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130600/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-devtools/python/python-efl.inc b/meta-efl/recipes-devtools/python/python-efl.inc deleted file mode 100644 index 6837dab9f..000000000 --- a/meta-efl/recipes-devtools/python/python-efl.inc +++ /dev/null | |||
@@ -1,71 +0,0 @@ | |||
1 | DESCRIPTION = "${PN} bindings" | ||
2 | |||
3 | LICENSE = "LGPL-3.0" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02" | ||
5 | # there is also GPLv3.0 in COPYING;md5=d32239bcb673463ab874e80d47fae504 but no file seems to use that | ||
6 | |||
7 | AUTHOR = "Gustavo Sverzut Barbieri <barbieri@gmail.com>" | ||
8 | # NOTE: Due to a bug in distutils, even if we don't use pyrex but cython, | ||
9 | # we need to build pyrex otherwise cython doesn't get called to build | ||
10 | # the extension modules. | ||
11 | DEPENDS = "python-cython-native python-pyrex-native python-numeric python-dbus lua efl elementary" | ||
12 | RDEPENDS_${PN} += "python-lang" | ||
13 | |||
14 | PROVIDES = "python-ecore python-eldbus python-edje python-elementary python-emotion python-evas" | ||
15 | |||
16 | inherit e-base distutils pkgconfig | ||
17 | |||
18 | SRCVER = "${PV}" | ||
19 | |||
20 | SRC_URI = "\ | ||
21 | ${E_RELEASES}/bindings/python/${SRCNAME}-${SRCVER}.tar.gz \ | ||
22 | " | ||
23 | S = "${WORKDIR}/${SRCNAME}-${SRCVER}" | ||
24 | |||
25 | do_install_append() { | ||
26 | # drop all .pyo, pyc files | ||
27 | find ${D}${libdir}/${PYTHON_DIR}/site-packages -name \*.pyo -o -name \*.pyc | xargs rm -f | ||
28 | } | ||
29 | |||
30 | PACKAGES += "python-ecore python-eldbus python-edje python-elementary python-emotion python-evas python-ethumb ${PN}-examples" | ||
31 | |||
32 | FILES_${PN} = " \ | ||
33 | ${libdir}/${PYTHON_DIR}/site-packages/python_efl*egg-info \ | ||
34 | ${libdir}/${PYTHON_DIR}/site-packages/efl/eo.so \ | ||
35 | ${libdir}/${PYTHON_DIR}/site-packages/efl/utils \ | ||
36 | ${libdir}/${PYTHON_DIR}/site-packages/efl/__init__.py \ | ||
37 | " | ||
38 | FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/*.egg/*/*/.debug" | ||
39 | FILES_${PN}-dev += "${libdir}/${PYTHON_DIR}/site-packages/*/*.la" | ||
40 | |||
41 | FILES_${PN}-examples = "${datadir}/${PN}/examples" | ||
42 | |||
43 | FILES_python-ecore = " \ | ||
44 | ${libdir}/${PYTHON_DIR}/site-packages/ecore/ \ | ||
45 | ${libdir}/${PYTHON_DIR}/site-packages/efl/ecore*.so \ | ||
46 | ${libdir}/${PYTHON_DIR}/site-packages/efl/ecore \ | ||
47 | " | ||
48 | FILES_python-eldbus = " \ | ||
49 | ${libdir}/${PYTHON_DIR}/site-packages/e_dbus/ \ | ||
50 | ${libdir}/${PYTHON_DIR}/site-packages/efl/dbus_mainloop.so \ | ||
51 | " | ||
52 | FILES_python-edje = " \ | ||
53 | ${libdir}/${PYTHON_DIR}/site-packages/edje/ \ | ||
54 | ${libdir}/${PYTHON_DIR}/site-packages/efl/edje*.so \ | ||
55 | " | ||
56 | FILES_python-elementary = " \ | ||
57 | ${libdir}/${PYTHON_DIR}/site-packages/elementary/ \ | ||
58 | ${libdir}/${PYTHON_DIR}/site-packages/efl/elementary/ \ | ||
59 | " | ||
60 | FILES_python-emotion = " \ | ||
61 | ${libdir}/${PYTHON_DIR}/site-packages/emotion/ \ | ||
62 | ${libdir}/${PYTHON_DIR}/site-packages/efl/emotion.so \ | ||
63 | " | ||
64 | FILES_python-evas = " \ | ||
65 | ${libdir}/${PYTHON_DIR}/site-packages/evas/ \ | ||
66 | ${libdir}/${PYTHON_DIR}/site-packages/efl/evas.so \ | ||
67 | " | ||
68 | FILES_python-ethumb = " \ | ||
69 | ${libdir}/${PYTHON_DIR}/site-packages/ethumb/ \ | ||
70 | ${libdir}/${PYTHON_DIR}/site-packages/efl/ethumb*so \ | ||
71 | " | ||
diff --git a/meta-efl/recipes-devtools/python/python-efl_1.15.0.bb b/meta-efl/recipes-devtools/python/python-efl_1.15.0.bb deleted file mode 100644 index e9a79b252..000000000 --- a/meta-efl/recipes-devtools/python/python-efl_1.15.0.bb +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | require ${BPN}.inc | ||
2 | |||
3 | SRC_URI[md5sum] = "f7c5d557336ea9df69bcca09c420711a" | ||
4 | SRC_URI[sha256sum] = "11e607b465cb66dafe05c66e02d61e09335b370fe9fd2a74d88282b3ee597bcc" | ||
5 | |||
6 | PNBLACKLIST[python-efl] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-devtools/python/python-efl_git.bb b/meta-efl/recipes-devtools/python/python-efl_git.bb deleted file mode 100644 index 292b9eb87..000000000 --- a/meta-efl/recipes-devtools/python/python-efl_git.bb +++ /dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | require ${BPN}.inc | ||
2 | |||
3 | SRCREV = "71ed20ebf662a7b72e60913df94ce6933236bf09" | ||
4 | PV = "1.12.0+git${SRCPV}" | ||
5 | DEFAULT_PREFERENCE = "-1" | ||
6 | |||
7 | SRC_URI = "git://git.enlightenment.org/bindings/python/${BPN}.git;branch=python-efl-1.12" | ||
8 | |||
9 | S = "${WORKDIR}/git" | ||
10 | |||
11 | PNBLACKLIST[python-efl] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/cpu/configure.patch b/meta-efl/recipes-efl/e17/cpu/configure.patch deleted file mode 100644 index 87c85de9f..000000000 --- a/meta-efl/recipes-efl/e17/cpu/configure.patch +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | Index: cpu/configure.ac | ||
2 | =================================================================== | ||
3 | --- cpu.orig/configure.ac 2014-07-17 20:39:48.000000000 +0000 | ||
4 | +++ cpu/configure.ac 2014-07-17 21:39:55.320555868 +0000 | ||
5 | @@ -10,7 +10,7 @@ | ||
6 | AC_CANONICAL_HOST | ||
7 | AC_ISC_POSIX | ||
8 | |||
9 | -AM_INIT_AUTOMAKE(1.6) | ||
10 | +AM_INIT_AUTOMAKE([foreign]) | ||
11 | AM_CONFIG_HEADER(config.h) | ||
12 | m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) | ||
13 | |||
diff --git a/meta-efl/recipes-efl/e17/cpu_svn.bb b/meta-efl/recipes-efl/e17/cpu_svn.bb deleted file mode 100644 index 3ffb9889f..000000000 --- a/meta-efl/recipes-efl/e17/cpu_svn.bb +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | LICENSE = "MIT" | ||
2 | LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35 \ | ||
3 | file://COPYING-PLAIN;md5=c910b645eda0005ccec46f75203dc96e" | ||
4 | |||
5 | PV = "0.0.1+svnr${SRCREV}" | ||
6 | PR = "${INC_PR}.0" | ||
7 | |||
8 | require e-module.inc | ||
9 | |||
10 | SRC_URI += "file://configure.patch" | ||
11 | |||
12 | PNBLACKLIST[cpu] ?= "Depends on blacklisted e-wm - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/diskio_svn.bb b/meta-efl/recipes-efl/e17/diskio_svn.bb deleted file mode 100644 index 4f778d6e1..000000000 --- a/meta-efl/recipes-efl/e17/diskio_svn.bb +++ /dev/null | |||
@@ -1,10 +0,0 @@ | |||
1 | LICENSE = "MIT" | ||
2 | LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35 \ | ||
3 | file://COPYING-PLAIN;md5=68be76d8126face2fbbecdf1bcbe2b10" | ||
4 | |||
5 | PV = "0.0.1+svnr${SRCPV}" | ||
6 | PR = "${INC_PR}.0" | ||
7 | |||
8 | PNBLACKLIST[diskio] ?= "broken: switch to https://git.enlightenment.org/enlightenment/modules/diskio.git/ and fix 0.0.1+svnr82070-r0.0/E-MODULES-EXTRA/diskio/e-module-diskio.edc:58. invalid state name: 'off'. "default" state must always be first. - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
9 | |||
10 | require e-module.inc | ||
diff --git a/meta-efl/recipes-efl/e17/e-module.inc b/meta-efl/recipes-efl/e17/e-module.inc deleted file mode 100644 index 770f794aa..000000000 --- a/meta-efl/recipes-efl/e17/e-module.inc +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | DESCRIPTION = "E17 ${PN} module" | ||
2 | SECTION = "x11/multimedia" | ||
3 | DEPENDS = "e-wm" | ||
4 | |||
5 | SRCREV = "${EFL_SRCREV}" | ||
6 | INC_PR = "r0" | ||
7 | |||
8 | SRCNAME = "E-MODULES-EXTRA/${BPN}" | ||
9 | |||
10 | inherit e gettext | ||
11 | SRC_URI = "${E_SVN}/trunk;module=${SRCNAME};protocol=http;scmdata=keep" | ||
12 | S = "${WORKDIR}/${SRCNAME}" | ||
13 | |||
14 | EXTRA_OECONF = "--with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc" | ||
15 | |||
16 | FILES_${PN} += "${libdir}/enlightenment/modules/${PN}" | ||
17 | FILES_${PN}-dbg += "${libdir}/enlightenment/modules/${PN}/*/.debug" | ||
18 | FILES_${PN}-staticdev += "${libdir}/enlightenment/modules/${PN}/*/*.a" | ||
19 | |||
diff --git a/meta-efl/recipes-efl/e17/e-tasks/0001-dbus-stuff-Convert-to-eldbus.patch b/meta-efl/recipes-efl/e17/e-tasks/0001-dbus-stuff-Convert-to-eldbus.patch deleted file mode 100644 index f92a772fe..000000000 --- a/meta-efl/recipes-efl/e17/e-tasks/0001-dbus-stuff-Convert-to-eldbus.patch +++ /dev/null | |||
@@ -1,204 +0,0 @@ | |||
1 | From 37223289b3d85ea8876e7ba7c9ff97ec428073ba Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Sat, 22 Feb 2014 14:36:38 +0100 | ||
4 | Subject: [PATCH] dbus-stuff: Convert to eldbus | ||
5 | |||
6 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
7 | --- | ||
8 | configure.ac | 2 +- | ||
9 | src/Makefile.am | 2 +- | ||
10 | src/dbus-stuff.c | 95 ++++++++++++++++++++++++++++++++------------------------ | ||
11 | src/dbus-stuff.h | 13 ++------ | ||
12 | src/main.c | 2 +- | ||
13 | 5 files changed, 61 insertions(+), 53 deletions(-) | ||
14 | |||
15 | diff --git a/configure.ac b/configure.ac | ||
16 | index b3e4d12..4ace32a 100644 | ||
17 | --- a/configure.ac | ||
18 | +++ b/configure.ac | ||
19 | @@ -15,7 +15,7 @@ AC_HEADER_STDC | ||
20 | |||
21 | AM_PROG_LIBTOOL | ||
22 | |||
23 | -PKG_CHECK_MODULES(TASKS, [elementary eina dbus-1 edbus sqlite3]) | ||
24 | +PKG_CHECK_MODULES(TASKS, [elementary eina dbus-1 eldbus sqlite3]) | ||
25 | |||
26 | AC_OUTPUT([ | ||
27 | Makefile | ||
28 | diff --git a/src/Makefile.am b/src/Makefile.am | ||
29 | index 2143dc9..31d5253 100644 | ||
30 | --- a/src/Makefile.am | ||
31 | +++ b/src/Makefile.am | ||
32 | @@ -8,7 +8,7 @@ AM_CPPFLAGS = \ | ||
33 | $(TASKS_CFLAGS) | ||
34 | |||
35 | AM_CFLAGS =\ | ||
36 | - $(EDBUS_CFLAGS) \ | ||
37 | + $(ELDBUS_CFLAGS) \ | ||
38 | -Wall\ | ||
39 | -g | ||
40 | |||
41 | diff --git a/src/dbus-stuff.c b/src/dbus-stuff.c | ||
42 | index 50809bc..9f02ef3 100644 | ||
43 | --- a/src/dbus-stuff.c | ||
44 | +++ b/src/dbus-stuff.c | ||
45 | @@ -1,8 +1,7 @@ | ||
46 | /*************************************************************************** | ||
47 | * dbus-stuff.c | ||
48 | * | ||
49 | - * Copyright 2009 cchandel | ||
50 | - * <cchandel@yahoo.com> | ||
51 | + * Copyright 2009 cchandel <cchandel@yahoo.com> | ||
52 | ****************************************************************************/ | ||
53 | |||
54 | /* | ||
55 | @@ -21,51 +20,67 @@ | ||
56 | * Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA | ||
57 | */ | ||
58 | #include "dbus-stuff.h" | ||
59 | -#include <string.h> | ||
60 | -#include <E_DBus.h> | ||
61 | -#include <Elementary.h> | ||
62 | +#include "Eldbus.h" | ||
63 | |||
64 | -void occupy_cpu(void) | ||
65 | +void on_usage_cb(void *data EINA_UNUSED, const Eldbus_Message *msg, Eldbus_Pending *pending EINA_UNUSED) | ||
66 | +{ | ||
67 | + const char *errname, *errmsg; | ||
68 | + if (eldbus_message_error_get(msg, &errname, &errmsg)) | ||
69 | + fprintf(stderr, "Error: %s %s\n", errname, errmsg); | ||
70 | +} | ||
71 | + | ||
72 | +int ousaged_resource(const char *resource, int used) | ||
73 | { | ||
74 | - e_dbus_init(); | ||
75 | - conn = e_dbus_bus_get(DBUS_BUS_SYSTEM); | ||
76 | - | ||
77 | - DBusMessage *msg; | ||
78 | - msg = dbus_message_new_method_call( | ||
79 | - "org.freesmartphone.ousaged", | ||
80 | - "/org/freesmartphone/Usage", | ||
81 | - "org.freesmartphone.Usage", | ||
82 | - "RequestResource" | ||
83 | - ); | ||
84 | - | ||
85 | - const char *resource = "CPU"; | ||
86 | - dbus_message_append_args (msg, DBUS_TYPE_STRING, &resource, DBUS_TYPE_INVALID); | ||
87 | + eldbus_init(); | ||
88 | + const char *REQUEST = "RequestResource"; | ||
89 | + const char *RELEASE = "ReleaseResource"; | ||
90 | + const int PREQUEST = 1; | ||
91 | |||
92 | - e_dbus_message_send(conn, msg, dbus_reply_cb, -1, NULL); | ||
93 | - dbus_message_unref(msg); | ||
94 | -} | ||
95 | + Eldbus_Connection *conn; | ||
96 | + Eldbus_Object *obj; | ||
97 | + Eldbus_Proxy *usage; | ||
98 | + Eldbus_Pending *pending; | ||
99 | + conn = eldbus_connection_get(ELDBUS_CONNECTION_TYPE_SYSTEM); | ||
100 | + if (!conn) | ||
101 | + { | ||
102 | + fprintf(stderr, "Error: could not get system bus\n"); | ||
103 | + return EXIT_FAILURE; | ||
104 | + } | ||
105 | |||
106 | -void release_cpu(void) | ||
107 | -{ | ||
108 | - DBusMessage *msg; | ||
109 | - msg = dbus_message_new_method_call( | ||
110 | - "org.freesmartphone.ousaged", | ||
111 | - "/org/freesmartphone/Usage", | ||
112 | - "org.freesmartphone.Usage", | ||
113 | - "ReleaseResource" | ||
114 | - ); | ||
115 | - | ||
116 | - const char *resource = "CPU"; | ||
117 | - dbus_message_append_args (msg, DBUS_TYPE_STRING, &resource, DBUS_TYPE_INVALID); | ||
118 | + obj = eldbus_object_get(conn, "org.freesmartphone.ousaged", "/org/freesmartphone/Usage"); | ||
119 | + if (!obj) | ||
120 | + { | ||
121 | + fprintf(stderr, "Error: could not get object\n"); | ||
122 | + return EXIT_FAILURE; | ||
123 | + } | ||
124 | |||
125 | - e_dbus_message_send(conn, msg, dbus_reply_cb, -1, NULL); | ||
126 | - dbus_message_unref(msg); | ||
127 | + usage = eldbus_proxy_get(obj, "org.freesmartphone.Usage"); | ||
128 | + if (!usage) | ||
129 | + { | ||
130 | + fprintf(stderr, "Error: could not get proxy\n"); | ||
131 | + return EXIT_FAILURE; | ||
132 | + } | ||
133 | + | ||
134 | + pending = eldbus_proxy_call(usage, used == PREQUEST ? REQUEST : RELEASE, on_usage_cb, NULL, -1, "ss", resource); | ||
135 | + if (!pending) | ||
136 | + { | ||
137 | + fprintf(stderr, "Error: could not call\n"); | ||
138 | + return EXIT_FAILURE; | ||
139 | + } | ||
140 | + eldbus_proxy_unref(usage); | ||
141 | + eldbus_object_unref(obj); | ||
142 | + eldbus_connection_unref(conn); | ||
143 | + | ||
144 | + eldbus_shutdown(); | ||
145 | + return EXIT_SUCCESS; | ||
146 | } | ||
147 | |||
148 | -void dbus_reply_cb(void *data, DBusMessage *replymsg, DBusError *error) | ||
149 | +int request_cpu(void) | ||
150 | { | ||
151 | - if (dbus_error_is_set(error)) { | ||
152 | - printf("Error: %s - %s\n", error->name, error->message); | ||
153 | - } | ||
154 | + return ousaged_resource("CPU", 1); | ||
155 | } | ||
156 | |||
157 | +int release_cpu(void) | ||
158 | +{ | ||
159 | + return ousaged_resource("CPU" , 0); | ||
160 | +} | ||
161 | diff --git a/src/dbus-stuff.h b/src/dbus-stuff.h | ||
162 | index 83d4778..a3c72cb 100644 | ||
163 | --- a/src/dbus-stuff.h | ||
164 | +++ b/src/dbus-stuff.h | ||
165 | @@ -2,8 +2,7 @@ | ||
166 | * dbus.h | ||
167 | * | ||
168 | * Fri Mar 6 12:32:57 2009 | ||
169 | - * Copyright 2009 nidhin | ||
170 | - * <nidhin@nids-laptop.home> | ||
171 | + * Copyright 2009 nidhin <nidhin@nids-laptop.home> | ||
172 | ****************************************************************************/ | ||
173 | |||
174 | /* | ||
175 | @@ -22,11 +21,5 @@ | ||
176 | * Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA | ||
177 | */ | ||
178 | |||
179 | -#include <E_DBus.h> | ||
180 | -#include <Elementary.h> | ||
181 | - | ||
182 | -void occupy_cpu(void); | ||
183 | -void release_cpu(void); | ||
184 | -void dbus_reply_cb(void *data, DBusMessage *replymsg, DBusError *error); | ||
185 | - | ||
186 | -E_DBus_Connection *conn; | ||
187 | +int request_cpu(void); | ||
188 | +int release_cpu(void); | ||
189 | diff --git a/src/main.c b/src/main.c | ||
190 | index 92d21de..4e4bbe2 100644 | ||
191 | --- a/src/main.c | ||
192 | +++ b/src/main.c | ||
193 | @@ -76,7 +76,7 @@ elm_main(int argc, char **argv) | ||
194 | //restore state | ||
195 | restore_state(); | ||
196 | |||
197 | - occupy_cpu(); | ||
198 | + request_cpu(); | ||
199 | |||
200 | elm_run(); | ||
201 | //clean up stuff | ||
202 | -- | ||
203 | 1.8.5.3 | ||
204 | |||
diff --git a/meta-efl/recipes-efl/e17/e-tasks_git.bb b/meta-efl/recipes-efl/e17/e-tasks_git.bb deleted file mode 100644 index 7eab6d0f0..000000000 --- a/meta-efl/recipes-efl/e17/e-tasks_git.bb +++ /dev/null | |||
@@ -1,34 +0,0 @@ | |||
1 | SUMMARY = "e-tasks is a todo program for Openmoko phones" | ||
2 | HOMEPAGE = "http://code.google.com/p/e-tasks/" | ||
3 | AUTHOR = "cchandel" | ||
4 | LICENSE = "GPLv3" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a" | ||
6 | SECTION = "e/apps" | ||
7 | DEPENDS = "elementary eina eldbus sqlite3" | ||
8 | |||
9 | inherit autotools | ||
10 | |||
11 | SRCREV = "890f5ee37d1a5fd1ceb2495950d15151d4cf756b" | ||
12 | PV = "0.0.2+gitr${SRCPV}" | ||
13 | |||
14 | SRC_URI = "git://github.com/shr-project/e-tasks.git" | ||
15 | SRC_URI += "file://0001-dbus-stuff-Convert-to-eldbus.patch" | ||
16 | |||
17 | S = "${WORKDIR}/git" | ||
18 | |||
19 | do_install_append() { | ||
20 | install -d "${D}/${datadir}/pixmaps" | ||
21 | install -m 0644 "${S}/resources/e-tasks.png" "${D}/${datadir}/pixmaps" | ||
22 | install -d "${D}/${datadir}/applications" | ||
23 | install -m 0644 "${S}/resources/e-tasks.desktop" "${D}/${datadir}/applications" | ||
24 | install -d "${D}/${datadir}/e-tasks" | ||
25 | for ico in "${S}/resources/"*.png; do | ||
26 | if [ "$(basename $ico)" != "e-tasks.png" ]; then | ||
27 | install -m 0644 $ico "${D}/${datadir}/e-tasks" | ||
28 | fi | ||
29 | done | ||
30 | } | ||
31 | |||
32 | FILES_${PN} += "/usr/share/e-tasks/* /usr/share/applications/* /usr/share/pixmaps/*" | ||
33 | |||
34 | PNBLACKLIST[e-tasks] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/e-wm-theme-b-and-w_svn.bb b/meta-efl/recipes-efl/e17/e-wm-theme-b-and-w_svn.bb deleted file mode 100644 index 9e6e9f24e..000000000 --- a/meta-efl/recipes-efl/e17/e-wm-theme-b-and-w_svn.bb +++ /dev/null | |||
@@ -1,37 +0,0 @@ | |||
1 | DESCRIPTION = "b-and-w theme was default E17 theme before alpha3 and some people still prefers it." | ||
2 | SECTION = "e/utils" | ||
3 | DEPENDS = "edje-native" | ||
4 | RDEPENDS_${PN} = "e-wm" | ||
5 | LICENSE = "MIT & BSD" | ||
6 | # upstream was asked to include license infor in THEME dir | ||
7 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" | ||
8 | |||
9 | inherit allarch | ||
10 | |||
11 | SRCREV = "${EFL_SRCREV}" | ||
12 | PV = "0.0+svnr${SRCPV}" | ||
13 | |||
14 | inherit e-base | ||
15 | |||
16 | SRCNAME = "b_and_w" | ||
17 | SRC_URI = "${E_SVN}/trunk/THEMES;module=${SRCNAME};protocol=http" | ||
18 | S = "${WORKDIR}/${SRCNAME}/e" | ||
19 | |||
20 | do_compile() { | ||
21 | # unfortunately hardcoded edje_cc in Makefile | ||
22 | sed -i "s#\tedje_cc#\t${STAGING_BINDIR_NATIVE}/edje_cc#g" Makefile | ||
23 | make | ||
24 | } | ||
25 | |||
26 | do_install() { | ||
27 | install -d ${D}${datadir}/enlightenment/data/themes/ | ||
28 | install -m 0644 ${S}/b_and_w.edj ${D}${datadir}/enlightenment/data/themes/ | ||
29 | } | ||
30 | |||
31 | FILES_${PN} = "${datadir}/enlightenment/data/themes/" | ||
32 | |||
33 | PNBLACKLIST[e-wm-theme-b-and-w] ?= "Runtime depends on blacklisted e-wm - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
34 | |||
35 | PNBLACKLIST[e-wm-theme-b-and-w] ?= "Runtime depends on blacklisted e-wm-theme-b-and-w - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
36 | |||
37 | PNBLACKLIST[e-wm-theme-b-and-w] ?= "Runtime depends on blacklisted e-wm-theme-b-and-w-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht/LICENSE b/meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht/LICENSE deleted file mode 100644 index 61bb2f603..000000000 --- a/meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht/LICENSE +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | Copyright notice for Enlightenment: | ||
2 | |||
3 | Copyright (C) 2000-2010 Carsten Haitzler and various contributors (see AUTHORS) | ||
4 | |||
5 | All rights reserved. | ||
6 | |||
7 | Redistribution and use in source and binary forms, with or without | ||
8 | modification, are permitted provided that the following conditions are met: | ||
9 | |||
10 | 1. Redistributions of source code must retain the above copyright | ||
11 | notice, this list of conditions and the following disclaimer. | ||
12 | 2. Redistributions in binary form must reproduce the above copyright | ||
13 | notice, this list of conditions and the following disclaimer in the | ||
14 | documentation and/or other materials provided with the distribution. | ||
15 | |||
16 | THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, | ||
17 | INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | ||
18 | FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | ||
19 | COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
20 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
21 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, | ||
22 | OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | ||
23 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | ||
24 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | ||
25 | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
diff --git a/meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht_svn.bb b/meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht_svn.bb deleted file mode 100644 index 521213475..000000000 --- a/meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht_svn.bb +++ /dev/null | |||
@@ -1,39 +0,0 @@ | |||
1 | DESCRIPTION = "efenniht illume theme - Efenniht was devised to be clean \ | ||
2 | and neutral. Its name (which means equinox) comes from the chromatic duality \ | ||
3 | that was decided at the very beginning, with a dark theme (black and orange) \ | ||
4 | and a bright one (white and blue) to be developed so that more people feel \ | ||
5 | comfortable using it. Efenniht uses few animations, discrete contrasts between \ | ||
6 | shades of gray and fine lines (colored) that outline the selected elements." | ||
7 | SECTION = "e/utils" | ||
8 | HOMEPAGE = "http://trac.enlightenment.org/e/wiki/Themes#Efenniht" | ||
9 | DEPENDS = "edje-native" | ||
10 | RDEPENDS_${PN} = "e-wm" | ||
11 | RSUGGESTS_${PN} = "elementary-theme-efenniht" | ||
12 | LICENSE = "MIT & BSD" | ||
13 | LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2" | ||
14 | |||
15 | SRCREV = "${EFL_SRCREV}" | ||
16 | PV = "0.0+svnr${SRCPV}" | ||
17 | |||
18 | inherit e-base allarch | ||
19 | |||
20 | SRCNAME = "efenniht" | ||
21 | SRC_URI = "${E_SVN}/trunk/THEMES;module=${SRCNAME};protocol=http \ | ||
22 | file://LICENSE \ | ||
23 | " | ||
24 | S = "${WORKDIR}/${SRCNAME}" | ||
25 | |||
26 | do_compile() { | ||
27 | ${STAGING_BINDIR_NATIVE}/edje_cc -id ${S}/images ${S}/efenniht.edc -o ${S}/efenniht.edj | ||
28 | } | ||
29 | |||
30 | do_install() { | ||
31 | install -d ${D}${datadir}/enlightenment/data/themes/ | ||
32 | install -m 0644 ${S}/efenniht.edj ${D}${datadir}/enlightenment/data/themes/ | ||
33 | } | ||
34 | |||
35 | FILES_${PN} = "${datadir}/enlightenment/data/themes/" | ||
36 | |||
37 | PNBLACKLIST[e-wm-theme-illume-efenniht] ?= "Runtime depends on blacklisted e-wm - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
38 | |||
39 | PNBLACKLIST[e-wm-theme-illume-efenniht] ?= "Runtime depends on blacklisted e-wm-theme-illume-efenniht - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/e-wm.inc b/meta-efl/recipes-efl/e17/e-wm.inc deleted file mode 100644 index a6e964b55..000000000 --- a/meta-efl/recipes-efl/e17/e-wm.inc +++ /dev/null | |||
@@ -1,200 +0,0 @@ | |||
1 | DESCRIPTION = "The Enlightenment Window Manager Version 17" | ||
2 | DEPENDS = "eet evas eina ecore edje efreet edbus eeze eio elementary libxcb xcb-util-keysyms" | ||
3 | LICENSE = "MIT & BSD" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=76de290eb3fdda12121830191c152a7d" | ||
5 | SRCNAME = "e" | ||
6 | |||
7 | inherit e update-alternatives gettext pkgconfig | ||
8 | S = "${WORKDIR}/${SRCNAME}" | ||
9 | |||
10 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)}" | ||
11 | PACKAGECONFIG[pam] = "--enable-pam,--disable-pam,libpam" | ||
12 | PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" | ||
13 | |||
14 | EXTRA_OECONF = "\ | ||
15 | --with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \ | ||
16 | --with-eet-eet=${STAGING_BINDIR_NATIVE}/eet \ | ||
17 | --x-includes=${STAGING_INCDIR}/X11 \ | ||
18 | --x-libraries=${STAGING_LIBDIR} \ | ||
19 | --enable-simple-x11 \ | ||
20 | " | ||
21 | |||
22 | do_configure_prepend() { | ||
23 | autopoint || true | ||
24 | sed '/^ *EFL_PKG_CHECK_VAR/ s/systemduserunitdir/systemdsystemunitdir/g' -i ${S}/configure.ac | ||
25 | } | ||
26 | |||
27 | do_install_append() { | ||
28 | # customising - should rather make this simple upstream | ||
29 | install -m 755 ${WORKDIR}/enlightenment_start.oe ${D}/${bindir} | ||
30 | |||
31 | # security reasons, e-wm checks that in runtime | ||
32 | # xinit[418]: ERROR: CONFIGURATION FILE HAS BAD PERMISSIONS | ||
33 | chmod 600 ${D}/${sysconfdir}/enlightenment/sysactions.conf | ||
34 | |||
35 | install -d ${D}/${sysconfdir}/xdg/menus | ||
36 | install -m 644 ${WORKDIR}/applications.menu ${D}/${sysconfdir}/xdg/menus/ | ||
37 | for I in `find ${D}/${libdir}/enlightenment -name "*.a" -print`; do rm -f $I; done | ||
38 | for I in `find ${D}/${libdir}/enlightenment -name "*.la" -print`; do rm -f $I; done | ||
39 | |||
40 | # work around for issue caused in r78978, more infor in: | ||
41 | # http://sourceforge.net/mailarchive/forum.php?thread_name=20121118194904.GA3438%40jama.jama.net&forum_name=enlightenment-devel | ||
42 | mv ${D}/${libdir}/enlightenment/modules/policies ${D}/${libdir}/enlightenment/modules/illume2/ \ | ||
43 | || echo "illume2 policies are in correct place now" | ||
44 | mv ${D}/${libdir}/enlightenment/modules/keyboards ${D}/${libdir}/enlightenment/modules/illume2/ \ | ||
45 | || echo "illume2 keyboards are in correct place now" | ||
46 | } | ||
47 | |||
48 | RDEPENDS_${PN} += "\ | ||
49 | shared-mime-info \ | ||
50 | mime-support \ | ||
51 | setxkbmap \ | ||
52 | edje-utils \ | ||
53 | ${PN}-utils \ | ||
54 | dbus-x11 \ | ||
55 | " | ||
56 | |||
57 | # Uclibc build don't have 'glibc-utils' | ||
58 | RDEPENDS_${PN}_append_libc-glibc = " glibc-utils " | ||
59 | |||
60 | # The systray module used to be external, but is part of e-wm now | ||
61 | RREPLACES_${PN} = "systray" | ||
62 | |||
63 | RREPLACES_${PN}-config-mobile = "${PN}-config-illume2" | ||
64 | RCONFLICTS_${PN}-config-mobile = "${PN}-config-illume2" | ||
65 | RPROVIDES_${PN}-config-mobile = "${PN}-config-illume2" | ||
66 | |||
67 | PACKAGES =+ "\ | ||
68 | ${PN}-config-default \ | ||
69 | ${PN}-config-mobile \ | ||
70 | ${PN}-config-minimalist \ | ||
71 | ${PN}-config-netbook \ | ||
72 | ${PN}-config-scaleable \ | ||
73 | ${PN}-config-standard \ | ||
74 | ${PN}-config-tiling \ | ||
75 | ${PN}-theme-default \ | ||
76 | ${PN}-background-dark-gradient \ | ||
77 | ${PN}-background-light-gradient \ | ||
78 | ${PN}-backgrounds \ | ||
79 | ${PN}-images \ | ||
80 | ${PN}-icons \ | ||
81 | ${PN}-other \ | ||
82 | ${PN}-input-methods \ | ||
83 | ${PN}-sysactions \ | ||
84 | ${PN}-utils \ | ||
85 | ${PN}-menu \ | ||
86 | efm-desktop-icon \ | ||
87 | illume-keyboard-default-alpha \ | ||
88 | illume-keyboard-default-numeric \ | ||
89 | illume-keyboard-default-terminal \ | ||
90 | " | ||
91 | |||
92 | ESYSACTIONS ?= "${PN}-sysactions" | ||
93 | |||
94 | RRECOMMENDS_${PN} = "\ | ||
95 | ${PN}-config-default \ | ||
96 | ${PN}-images \ | ||
97 | ${PN}-icons \ | ||
98 | ${PN}-other \ | ||
99 | ${PN}-input-methods \ | ||
100 | ${ESYSACTIONS} \ | ||
101 | efreet \ | ||
102 | evas-generic-loader-svg \ | ||
103 | " | ||
104 | |||
105 | FILES_${PN} = "\ | ||
106 | ${bindir}/* \ | ||
107 | ${libdir}/enlightenment/utils/* \ | ||
108 | ${libdir}/enlightenment/modules/*/*.* \ | ||
109 | ${libdir}/enlightenment/modules/*/*/* \ | ||
110 | ${libdir}/enlightenment/modules/*/*/.order \ | ||
111 | ${libdir}/enlightenment/modules/keyboards/ignore_built_in_keyboards \ | ||
112 | ${libdir}/enlightenment/*plugins/*/*/* \ | ||
113 | ${libdir}/enlightenment/preload/e_precache.so \ | ||
114 | ${datadir}/enlightenment/data/icons \ | ||
115 | ${datadir}/enlightenment/data/favorites \ | ||
116 | ${datadir}/enlightenment/data/input_methods \ | ||
117 | ${datadir}/enlightenment/data/config/profile.cfg \ | ||
118 | ${datadir}/enlightenment/AUTHORS \ | ||
119 | ${datadir}/enlightenment/COPYING \ | ||
120 | ${datadir}/xsessions/enlightenment.desktop \ | ||
121 | ${sysconfdir}/xdg \ | ||
122 | ${systemd_unitdir} \ | ||
123 | " | ||
124 | |||
125 | FILES_${PN}-config-default = "${datadir}/enlightenment/data/config/default" | ||
126 | FILES_${PN}-config-mobile = "${datadir}/enlightenment/data/config/mobile" | ||
127 | FILES_${PN}-config-minimalist = "${datadir}/enlightenment/data/config/minimalist" | ||
128 | FILES_${PN}-config-netbook = "${datadir}/enlightenment/data/config/netbook" | ||
129 | FILES_${PN}-config-scaleable = "${datadir}/enlightenment/data/config/scaleable" | ||
130 | FILES_${PN}-config-standard = "${datadir}/enlightenment/data/config/standard" | ||
131 | FILES_${PN}-config-tiling = "${datadir}/enlightenment/data/config/tiling" | ||
132 | FILES_${PN}-theme-default = "${datadir}/enlightenment/data/themes/default.edj" | ||
133 | FILES_${PN}-theme-default = "${datadir}/enlightenment/data/themes/default.edj" | ||
134 | FILES_${PN}-background-dark-gradient = "${datadir}/enlightenment/data/backgrounds/Dark_Gradient.edj" | ||
135 | FILES_${PN}-background-light-gradient = "${datadir}/enlightenment/data/backgrounds/Light_Gradient.edj" | ||
136 | FILES_${PN}-backgrounds = "${datadir}/enlightenment/data/backgrounds/*.edj" | ||
137 | FILES_${PN}-images = "${datadir}/enlightenment/data/images ${datadir}/enlightenment/data/flags" | ||
138 | FILES_${PN}-icons = "${datadir}/enlightenment/data/icons" | ||
139 | FILES_${PN}-other = "${datadir}/enlightenment/data/other" | ||
140 | FILES_${PN}-input-methods = "${datadir}/enlightenment/data/input_methods" | ||
141 | FILES_${PN}-sysactions = "${sysconfdir}/enlightenment/sysactions.conf" | ||
142 | FILES_${PN}-utils = "${libdir}/enlightenment/utils/*" | ||
143 | FILES_${PN}-menu = "${sysconfdir}/xdg/menus/applications.menu" | ||
144 | |||
145 | FILES_efm-desktop-icon = "\ | ||
146 | ${datadir}/applications/efm.desktop \ | ||
147 | ${datadir}/applications/enlightenment_filemanager.desktop \ | ||
148 | ${datadir}/icons/e-module-fileman.png \ | ||
149 | " | ||
150 | |||
151 | KEYBOARDS_DIR="${libdir}/enlightenment/modules/illume-keyboard/keyboards" | ||
152 | FILES_illume-keyboard-default-alpha = "\ | ||
153 | ${KEYBOARDS_DIR}/Default.kbd \ | ||
154 | ${KEYBOARDS_DIR}/alpha.png \ | ||
155 | " | ||
156 | FILES_illume-keyboard-default-numeric = "\ | ||
157 | ${KEYBOARDS_DIR}/Numbers.kbd \ | ||
158 | ${KEYBOARDS_DIR}/numeric.png \ | ||
159 | " | ||
160 | FILES_illume-keyboard-default-terminal = "\ | ||
161 | ${KEYBOARDS_DIR}/Terminal.kbd \ | ||
162 | ${KEYBOARDS_DIR}/qwerty.png \ | ||
163 | " | ||
164 | |||
165 | RRECOMMENDS_${PN}-config-default = "${PN}-theme-default" | ||
166 | RRECOMMENDS_${PN}-config-mobile = "\ | ||
167 | illume-keyboard-default-alpha \ | ||
168 | illume-keyboard-default-numeric \ | ||
169 | illume-keyboard-default-terminal \ | ||
170 | " | ||
171 | |||
172 | RRECOMMENDS_${PN}-config-minimalist = "\ | ||
173 | ${PN}-background-light-gradient \ | ||
174 | ${PN}-theme-default \ | ||
175 | " | ||
176 | RRECOMMENDS_${PN}-config-netbook = "\ | ||
177 | ${PN}-background-dark-gradient \ | ||
178 | ${PN}-theme-default \ | ||
179 | " | ||
180 | RRECOMMENDS_${PN}-config-scaleable = "${PN}-theme-default" | ||
181 | RRECOMMENDS_${PN}-config-standard = "${PN}-theme-default" | ||
182 | |||
183 | FILES_${PN}-dbg += "\ | ||
184 | ${libdir}/enlightenment/modules/*/*/.debug/ \ | ||
185 | ${libdir}/enlightenment/modules/policies/.debug/ \ | ||
186 | ${libdir}/enlightenment/preload/.debug/ \ | ||
187 | ${libdir}/enlightenment/utils/.debug/ \ | ||
188 | ${libdir}/enlightenment/*plugins/*/*/.debug \ | ||
189 | " | ||
190 | |||
191 | FILES_${PN}-doc += "\ | ||
192 | ${datadir}/enlightenment/doc \ | ||
193 | " | ||
194 | |||
195 | CONFFILES_${PN}-menu = "${sysconfdir}/xdg/menus/applications.menu" | ||
196 | CONFFILES_${PN}-sysactions = "/etc/enlightenment/sysactions.conf" | ||
197 | |||
198 | ALTERNATIVE_${PN} = "x-window-manager" | ||
199 | ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/enlightenment_start.oe" | ||
200 | ALTERNATIVE_PRIORITY[x-window-manager] = "16" | ||
diff --git a/meta-efl/recipes-efl/e17/e-wm/0001-Fix-incorrect-message-type.patch b/meta-efl/recipes-efl/e17/e-wm/0001-Fix-incorrect-message-type.patch deleted file mode 100644 index e718ef3db..000000000 --- a/meta-efl/recipes-efl/e17/e-wm/0001-Fix-incorrect-message-type.patch +++ /dev/null | |||
@@ -1,28 +0,0 @@ | |||
1 | From 0aef43c9cd1656413cf2eb3dc7c19b355ee7ed52 Mon Sep 17 00:00:00 2001 | ||
2 | From: Carlos Rafael Giani <dv@pseudoterminal.org> | ||
3 | Date: Sun, 1 Jun 2014 14:45:49 +0200 | ||
4 | Subject: [PATCH] Fix incorrect message type | ||
5 | |||
6 | Upstream-Status: Pending | ||
7 | |||
8 | Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> | ||
9 | --- | ||
10 | src/bin/e_desk.c | 2 +- | ||
11 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
12 | |||
13 | diff --git a/src/bin/e_desk.c b/src/bin/e_desk.c | ||
14 | index b156e19..77d7520 100644 | ||
15 | --- a/src/bin/e_desk.c | ||
16 | +++ b/src/bin/e_desk.c | ||
17 | @@ -221,7 +221,7 @@ e_desk_show(E_Desk *desk) | ||
18 | E_Event_Desk_Show *ev; | ||
19 | E_Event_Desk_Before_Show *eev; | ||
20 | E_Event_Desk_After_Show *eeev; | ||
21 | - Edje_Message_Float_Set *msg; | ||
22 | + Edje_Message_Int_Set *msg; | ||
23 | Eina_List *l; | ||
24 | E_Shelf *es; | ||
25 | int was_zone = 0, x, y, dx = 0, dy = 0; | ||
26 | -- | ||
27 | 1.8.3.2 | ||
28 | |||
diff --git a/meta-efl/recipes-efl/e17/e-wm/0001-configure.ac-add-foreign.patch b/meta-efl/recipes-efl/e17/e-wm/0001-configure.ac-add-foreign.patch deleted file mode 100644 index c7a574c90..000000000 --- a/meta-efl/recipes-efl/e17/e-wm/0001-configure.ac-add-foreign.patch +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | From 19e59b6e8148388e7a17f10d4390176a50e2917f Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Mon, 25 Aug 2014 16:06:03 +0200 | ||
4 | Subject: [PATCH] configure.ac: add foreign | ||
5 | |||
6 | * fixes: | ||
7 | | configure.ac:312: error: required file './ABOUT-NLS' not found | ||
8 | |||
9 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
10 | --- | ||
11 | configure.ac | 2 +- | ||
12 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
13 | |||
14 | diff --git a/configure.ac b/configure.ac | ||
15 | index 51ad0ba..cd77739 100644 | ||
16 | --- a/configure.ac | ||
17 | +++ b/configure.ac | ||
18 | @@ -34,7 +34,7 @@ AH_BOTTOM([ | ||
19 | #endif /* EFL_CONFIG_H__ */ | ||
20 | ]) | ||
21 | |||
22 | -AM_INIT_AUTOMAKE([1.11 dist-bzip2 dist-xz -Wno-portability]) | ||
23 | +AM_INIT_AUTOMAKE([1.11 dist-bzip2 dist-xz -Wno-portability foreign]) | ||
24 | AM_SILENT_RULES([yes]) | ||
25 | |||
26 | AC_USE_SYSTEM_EXTENSIONS | ||
27 | -- | ||
28 | 2.3.0 | ||
29 | |||
diff --git a/meta-efl/recipes-efl/e17/e-wm/applications.menu b/meta-efl/recipes-efl/e17/e-wm/applications.menu deleted file mode 100644 index ed9b90662..000000000 --- a/meta-efl/recipes-efl/e17/e-wm/applications.menu +++ /dev/null | |||
@@ -1,105 +0,0 @@ | |||
1 | <?xml version="1.0"?> | ||
2 | <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://standards.freedesktop.org/menu-spec/menu-1.0.dtd"> | ||
3 | <Menu> | ||
4 | <Name>Applications</Name> | ||
5 | <!-- <Directory>Applications.directory</Directory> --> | ||
6 | |||
7 | <!-- Read standard .directory and .desktop file locations --> | ||
8 | <DefaultAppDirs>/usr/share/applications</DefaultAppDirs> | ||
9 | <DefaultDirectoryDirs/> | ||
10 | |||
11 | <Menu> | ||
12 | <Name>Office</Name> | ||
13 | <Directory>Office.directory</Directory> | ||
14 | <Include> | ||
15 | <And> | ||
16 | <Category>Office</Category> | ||
17 | </And> | ||
18 | </Include> | ||
19 | </Menu> | ||
20 | |||
21 | <Menu> | ||
22 | <Name>Multimedia</Name> | ||
23 | <Directory>Multimedia.directory</Directory> | ||
24 | <Include> | ||
25 | <And> | ||
26 | <Category>AudioVideo</Category> | ||
27 | </And> | ||
28 | </Include> | ||
29 | </Menu> | ||
30 | |||
31 | <Menu> | ||
32 | <Name>Graphics</Name> | ||
33 | <Directory>Graphics.directory</Directory> | ||
34 | <Include> | ||
35 | <And> | ||
36 | <Category>Graphics</Category> | ||
37 | </And> | ||
38 | </Include> | ||
39 | </Menu> | ||
40 | |||
41 | <Menu> | ||
42 | <Name>Games</Name> | ||
43 | <Directory>Games.directory</Directory> | ||
44 | <Include> | ||
45 | <And> | ||
46 | <Or> | ||
47 | <Category>Game</Category> | ||
48 | <Category>Games</Category> | ||
49 | </Or> | ||
50 | </And> | ||
51 | </Include> | ||
52 | </Menu> | ||
53 | |||
54 | <Menu> | ||
55 | <Name>Internet</Name> | ||
56 | <Directory>Internet.directory</Directory> | ||
57 | <Include> | ||
58 | <And> | ||
59 | <Or> | ||
60 | <Category>Internet</Category> | ||
61 | <Category>Network</Category> | ||
62 | </Or> | ||
63 | </And> | ||
64 | </Include> | ||
65 | </Menu> | ||
66 | |||
67 | <Menu> | ||
68 | <Name>Settings</Name> | ||
69 | <Directory>Settings.directory</Directory> | ||
70 | <Include> | ||
71 | <And> | ||
72 | <Or> | ||
73 | <Category>SystemSettings</Category> | ||
74 | <Category>Settings</Category> | ||
75 | </Or> | ||
76 | <Not> | ||
77 | <Category>System</Category> | ||
78 | </Not> | ||
79 | </And> | ||
80 | </Include> | ||
81 | </Menu> | ||
82 | |||
83 | <Menu> | ||
84 | <Name>Accessories</Name> | ||
85 | <Directory>Accessories.directory</Directory> | ||
86 | <Include> | ||
87 | <And> | ||
88 | <Or> | ||
89 | <Category>Applications</Category> | ||
90 | <Category>Utility</Category> | ||
91 | </Or> | ||
92 | <Not> | ||
93 | <Category>System</Category> | ||
94 | <Category>Office</Category> | ||
95 | <Category>Internet</Category> | ||
96 | <Category>AudioVideo</Category> | ||
97 | <Category>Graphics</Category> | ||
98 | <Category>Games</Category> | ||
99 | </Not> | ||
100 | </And> | ||
101 | </Include> | ||
102 | </Menu> | ||
103 | |||
104 | </Menu> | ||
105 | |||
diff --git a/meta-efl/recipes-efl/e17/e-wm/enlightenment_start.oe b/meta-efl/recipes-efl/e17/e-wm/enlightenment_start.oe deleted file mode 100644 index ff8617275..000000000 --- a/meta-efl/recipes-efl/e17/e-wm/enlightenment_start.oe +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | E_PROFILE="" | ||
4 | if [ -r /etc/enlightenment/default_profile ]; then | ||
5 | . /etc/enlightenment/default_profile | ||
6 | fi | ||
7 | |||
8 | renice -2 -p $$ | ||
9 | exec enlightenment_start $E_PROFILE | ||
diff --git a/meta-efl/recipes-efl/e17/e-wm_0.18.8.bb b/meta-efl/recipes-efl/e17/e-wm_0.18.8.bb deleted file mode 100644 index ac18b59bb..000000000 --- a/meta-efl/recipes-efl/e17/e-wm_0.18.8.bb +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
1 | require ${BPN}.inc | ||
2 | |||
3 | SRCNAME = "enlightenment" | ||
4 | |||
5 | S = "${WORKDIR}/${SRCNAME}-${PV}" | ||
6 | |||
7 | SRC_URI = "\ | ||
8 | ${E_RELEASES}/apps/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \ | ||
9 | file://enlightenment_start.oe \ | ||
10 | file://applications.menu \ | ||
11 | file://0001-Fix-incorrect-message-type.patch \ | ||
12 | " | ||
13 | |||
14 | SRC_URI[md5sum] = "79c9f524e1d0510061c62c4b038a8ece" | ||
15 | SRC_URI[sha256sum] = "14c9bde4334d2f8b0776c6113d02b923ab159eea1cbf7013489e4f3bf37a51bb" | ||
16 | |||
17 | PNBLACKLIST[e-wm] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/e-wm_0.19.10.bb b/meta-efl/recipes-efl/e17/e-wm_0.19.10.bb deleted file mode 100644 index aa6a7b8d7..000000000 --- a/meta-efl/recipes-efl/e17/e-wm_0.19.10.bb +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | require ${BPN}.inc | ||
2 | |||
3 | SRCNAME = "enlightenment" | ||
4 | |||
5 | S = "${WORKDIR}/${SRCNAME}-${PV}" | ||
6 | |||
7 | # couple of modules needed for illume2 (mobile) profile were removed in | ||
8 | # http://git.enlightenment.org/core/enlightenment.git/commit/src/modules/Makefile.mk?id=1be76d599ca27f820b58b8186c5f73d9844c67ca | ||
9 | # and replacements aren't included yet, if you want to use e-wm on device with small screen, better stay with 0.18 release | ||
10 | DEFAULT_PREFERENCE = "-1" | ||
11 | |||
12 | SRC_URI = "\ | ||
13 | ${E_RELEASES}/apps/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \ | ||
14 | file://enlightenment_start.oe \ | ||
15 | file://applications.menu \ | ||
16 | " | ||
17 | |||
18 | SRC_URI[md5sum] = "9063617760329445ada8635270a4e627" | ||
19 | SRC_URI[sha256sum] = "484d305bcf403303b18c46a3a498445b93689cd325010ae8d0601551926469d8" | ||
20 | |||
21 | PNBLACKLIST[e-wm] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/e-wm_git.bb b/meta-efl/recipes-efl/e17/e-wm_git.bb deleted file mode 100644 index 0f25fd592..000000000 --- a/meta-efl/recipes-efl/e17/e-wm_git.bb +++ /dev/null | |||
@@ -1,16 +0,0 @@ | |||
1 | require ${BPN}.inc | ||
2 | |||
3 | PV = "0.19.4+git${SRCPV}" | ||
4 | DEFAULT_PREFERENCE = "-2" | ||
5 | |||
6 | SRC_URI = " \ | ||
7 | git://git.enlightenment.org/core/enlightenment.git;branch=enlightenment-0.19 \ | ||
8 | file://0001-configure.ac-add-foreign.patch \ | ||
9 | file://enlightenment_start.oe \ | ||
10 | file://applications.menu \ | ||
11 | " | ||
12 | S = "${WORKDIR}/git" | ||
13 | |||
14 | SRCREV = "4545d4a70031e0b2565b8d83d5f756bff1a584d0" | ||
15 | |||
16 | PNBLACKLIST[e-wm] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/edje-viewer_svn.bb b/meta-efl/recipes-efl/e17/edje-viewer_svn.bb deleted file mode 100644 index 6d3efda51..000000000 --- a/meta-efl/recipes-efl/e17/edje-viewer_svn.bb +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | SUMMARY = "Edje_Viewer is just that" | ||
2 | LICENSE = "MIT" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35 \ | ||
4 | file://COPYING-PLAIN;md5=e01359041001e8bf24c09acca556e792" | ||
5 | |||
6 | DEPENDS = "elementary" | ||
7 | PV = "0.0.0+svnr${SRCPV}" | ||
8 | SRCREV = "${EFL_SRCREV}" | ||
9 | |||
10 | inherit e | ||
11 | |||
12 | SRCNAME = "edje_viewer" | ||
13 | SRC_URI = "${E_SVN}/trunk;module=${SRCNAME};protocol=http;scmdata=keep" | ||
14 | S = "${WORKDIR}/${SRCNAME}" | ||
15 | |||
16 | FILES_${PN} += "${datadir}" | ||
17 | |||
18 | PNBLACKLIST[edje-viewer] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/elbow_git.bb b/meta-efl/recipes-efl/e17/elbow_git.bb deleted file mode 100644 index d2a853989..000000000 --- a/meta-efl/recipes-efl/e17/elbow_git.bb +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | SUMMARY = "EFL based browser" | ||
2 | LICENSE = "GPLv3" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6" | ||
4 | DEPENDS = "evas ecore edje eina elementary webkit-efl sqlite3" | ||
5 | |||
6 | PV = "0.0.1+gitr${SRCPV}" | ||
7 | SRCREV = "b41fd0bc9514ff61bb2a50d957efe4155fa3e6a8" | ||
8 | |||
9 | # webkit-efl isn't available for < armv7a | ||
10 | COMPATIBLE_MACHINE = "(-)" | ||
11 | COMPATIBLE_MACHINE_x86 = "(.*)" | ||
12 | COMPATIBLE_MACHINE_x86-64 = "(.*)" | ||
13 | COMPATIBLE_MACHINE_armv7a = "(.*)" | ||
14 | |||
15 | inherit e gettext cmake | ||
16 | |||
17 | EXTRA_OECMAKE = "-DDATA_INSTALL_DIR=${datadir}" | ||
18 | |||
19 | SRC_URI = " \ | ||
20 | git://github.com/bunhere/elbow.git;protocol=https \ | ||
21 | " | ||
22 | S = "${WORKDIR}/git" | ||
23 | |||
24 | FILES_${PN} += "${datadir}/themes" | ||
25 | |||
26 | PNBLACKLIST[elbow] ?= "Depends on blacklisted webkit-efl - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/elfe_git.bb b/meta-efl/recipes-efl/e17/elfe_git.bb deleted file mode 100644 index e9f7f9e89..000000000 --- a/meta-efl/recipes-efl/e17/elfe_git.bb +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
1 | LICENSE = "MIT" | ||
2 | LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35" | ||
3 | PV = "0.0.1+gitr${SRCPV}" | ||
4 | PE = "1" | ||
5 | |||
6 | require e-module.inc | ||
7 | |||
8 | SRC_URI = " \ | ||
9 | git://git.enlightenment.org/enlightenment/modules/${BPN}.git \ | ||
10 | " | ||
11 | S = "${WORKDIR}/git" | ||
12 | |||
13 | SRCREV = "1ec0e7713c3ca901014811ff78277d9e2aaac981" | ||
14 | |||
15 | DEPENDS += "elementary" | ||
16 | |||
17 | PNBLACKLIST[elfe] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/elmdentica/configure.patch b/meta-efl/recipes-efl/e17/elmdentica/configure.patch deleted file mode 100644 index 79a981b47..000000000 --- a/meta-efl/recipes-efl/e17/elmdentica/configure.patch +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | Index: elmdentica/configure.ac | ||
2 | =================================================================== | ||
3 | --- elmdentica.orig/configure.ac 2014-07-17 21:46:14.712566207 +0000 | ||
4 | +++ elmdentica/configure.ac 2014-07-17 21:51:34.960574935 +0000 | ||
5 | @@ -3,7 +3,7 @@ | ||
6 | AM_CONFIG_HEADER(config.h) | ||
7 | AC_CONFIG_MACRO_DIR([m4]) | ||
8 | |||
9 | -AM_INIT_AUTOMAKE | ||
10 | +AM_INIT_AUTOMAKE([foreign]) | ||
11 | |||
12 | AC_PROG_CC | ||
13 | AC_GNU_SOURCE | ||
diff --git a/meta-efl/recipes-efl/e17/elmdentica_svn.bb b/meta-efl/recipes-efl/e17/elmdentica_svn.bb deleted file mode 100644 index b17121721..000000000 --- a/meta-efl/recipes-efl/e17/elmdentica_svn.bb +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | SUMMARY = "A indenti.ca client for E" | ||
2 | DEPENDS = "glib-2.0 gconf curl elementary sqlite3-native azy" | ||
3 | LICENSE = "GPLv3+" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" | ||
5 | |||
6 | SECTION = "e/apps" | ||
7 | HOMEPAGE = "http://elmdentica.googlecode.com" | ||
8 | AUTHOR = "seabra" | ||
9 | |||
10 | inherit e gettext | ||
11 | SRC_URI = "${E_SVN}/trunk;module=${SRCNAME};protocol=http;scmdata=keep" | ||
12 | S = "${WORKDIR}/${SRCNAME}" | ||
13 | |||
14 | EXTRA_OECONF = "--with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc" | ||
15 | |||
16 | PV = "0.9.9+svnr${SRCPV}" | ||
17 | SRCREV = "${EFL_SRCREV}" | ||
18 | |||
19 | RDEPENDS_${PN} = "${PN}-themes" | ||
20 | |||
21 | SRC_URI += "file://configure.patch" | ||
22 | |||
23 | PNBLACKLIST[elmdentica] ?= "OLD and depends on broken azy - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/emprint_svn.bb b/meta-efl/recipes-efl/e17/emprint_svn.bb deleted file mode 100644 index 115dc7cf5..000000000 --- a/meta-efl/recipes-efl/e17/emprint_svn.bb +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | DESCRIPTION = "Emprint is a utility for taking screenshots of the entire screen, a specific window, or a specific region." | ||
2 | LICENSE = "MIT & BSD" | ||
3 | DEPENDS = "imlib2 virtual/libx11 ecore evas edje eina" | ||
4 | PV = "0.0.1+svnr${SRCPV}" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35" | ||
6 | SRCREV = "${EFL_SRCREV}" | ||
7 | |||
8 | inherit e | ||
9 | SRC_URI = "${E_SVN}/trunk;module=${SRCNAME};protocol=http;scmdata=keep" | ||
10 | S = "${WORKDIR}/${SRCNAME}" | ||
11 | |||
12 | FILES_${PN}-dbg += "${libdir}/${PN}/modules/.debug" | ||
13 | |||
14 | PNBLACKLIST[emprint] ?= "if you want to use these modules with E18, then you need to update it to git recipe fetching newer sources from http://git.enlightenment.org/apps/emprint.git/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/enjoy/0001-always-use-position-as-percent-and-define-a-1-second.patch b/meta-efl/recipes-efl/e17/enjoy/0001-always-use-position-as-percent-and-define-a-1-second.patch deleted file mode 100644 index 09624503b..000000000 --- a/meta-efl/recipes-efl/e17/enjoy/0001-always-use-position-as-percent-and-define-a-1-second.patch +++ /dev/null | |||
@@ -1,133 +0,0 @@ | |||
1 | From 751505501e0db31cf766ec0ae95a6968b4d1eb93 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alban Browaeys <prahal@yahoo.com> | ||
3 | Date: Wed, 5 Sep 2012 02:58:26 +0000 | ||
4 | Subject: [PATCH] always use position as percent and define a 1 seconds | ||
5 | tolerance. | ||
6 | |||
7 | Fix "reverb" effect: ie loop between setting the slider to match | ||
8 | the position and handling slider to position (seek). | ||
9 | --- | ||
10 | data/themes/default.edc | 8 +++----- | ||
11 | src/bin/win.c | 28 ++++++++++++++++++++++------ | ||
12 | 2 files changed, 25 insertions(+), 11 deletions(-) | ||
13 | |||
14 | diff --git a/data/themes/default.edc b/data/themes/default.edc | ||
15 | index ebf8ba4..7a906b1 100644 | ||
16 | --- a/data/themes/default.edc | ||
17 | +++ b/data/themes/default.edc | ||
18 | @@ -186,7 +186,6 @@ collections { | ||
19 | group { | ||
20 | name: "nowplaying"; | ||
21 | script { | ||
22 | - public cur_length; | ||
23 | public mute; | ||
24 | |||
25 | public get_time_str(Float:time, time_str[6]) | ||
26 | @@ -201,16 +200,15 @@ collections { | ||
27 | new Float:position = getfarg(2); | ||
28 | new Float:length = getfarg(3); | ||
29 | if (length > 0) | ||
30 | - external_param_set_float(PART:"progress.slider", "value", position / length * 100); | ||
31 | + external_param_set_float(PART:"progress.slider", "value", position * 100); | ||
32 | else | ||
33 | external_param_set_float(PART:"progress.slider", "value", 0); | ||
34 | |||
35 | new time_str[6]; | ||
36 | - get_time_str(position, time_str); | ||
37 | + get_time_str(position * length, time_str); | ||
38 | set_text(PART:"ejy.text.current_time", time_str); | ||
39 | get_time_str(length, time_str); | ||
40 | set_text(PART:"ejy.text.total_time", time_str); | ||
41 | - set_float(cur_length, length); | ||
42 | } else if (type == MSG_INT && id == MSG_SHUFFLE) { | ||
43 | external_param_set_bool(PART:"buttons.shuffle", "state", getarg(2)); | ||
44 | } else if (type == MSG_INT && id == MSG_LOOP) { | ||
45 | @@ -689,7 +687,7 @@ collections { | ||
46 | source: "progress.slider"; | ||
47 | signal: "changed"; | ||
48 | script { | ||
49 | - send_message(MSG_FLOAT, MSG_POSITION, (external_param_get_float(PART:"progress.slider", "value") * get_float(cur_length) / 100)); | ||
50 | + send_message(MSG_FLOAT, MSG_POSITION, (external_param_get_float(PART:"progress.slider", "value") / 100)); | ||
51 | } | ||
52 | } | ||
53 | program { | ||
54 | diff --git a/src/bin/win.c b/src/bin/win.c | ||
55 | index 2f65953..428e268 100644 | ||
56 | --- a/src/bin/win.c | ||
57 | +++ b/src/bin/win.c | ||
58 | @@ -194,8 +194,8 @@ _win_play_eval(Win *w) | ||
59 | { | ||
60 | Edje_Message_Float_Set *mf; | ||
61 | |||
62 | - w->play.position = emotion_object_position_get(w->emotion); | ||
63 | w->play.length = emotion_object_play_length_get(w->emotion); | ||
64 | + w->play.position = emotion_object_position_get(w->emotion) / w->play.length; | ||
65 | |||
66 | if ((w->song) && (w->song->length != (int)w->play.length)) | ||
67 | db_song_length_set(w->db, w->song, w->play.length); | ||
68 | @@ -542,8 +542,14 @@ _win_edje_msg(void *data, Evas_Object *o __UNUSED__, Edje_Message_Type type, int | ||
69 | else | ||
70 | { | ||
71 | Edje_Message_Float *m = msg; | ||
72 | + | ||
73 | + if ((((m->val - w->play.position) * w->play.length) < 1.0) | ||
74 | + && (((w->play.position - m->val) * w->play.length) < 1.0)) | ||
75 | + return; | ||
76 | + | ||
77 | w->play.position = m->val; | ||
78 | - emotion_object_position_set(w->emotion, w->play.position); | ||
79 | + emotion_object_position_set(w->emotion, w->play.position | ||
80 | + * w->play.length); | ||
81 | ecore_event_add(ENJOY_EVENT_POSITION_CHANGE, NULL, NULL, NULL); | ||
82 | } | ||
83 | break; | ||
84 | @@ -617,16 +623,21 @@ enjoy_control_seek(uint64_t position) | ||
85 | { | ||
86 | Win *w = &_win; | ||
87 | double seek_to; | ||
88 | + double new_pos = w->play.length / ((double)position / 1e6); | ||
89 | |||
90 | if (!w->db) return; | ||
91 | - seek_to = w->play.position + w->play.length / ((double)position / 1e6); | ||
92 | + | ||
93 | + if ((((new_pos - w->play.position) * w->play.length) < 1.0) | ||
94 | + && (((w->play.position - new_pos) * w->play.length) < 1.0)) return; | ||
95 | + | ||
96 | + seek_to = w->play.position + new_pos; | ||
97 | if (seek_to <= 0.0) | ||
98 | seek_to = 0.0; | ||
99 | else if (seek_to >= 1.0) | ||
100 | seek_to = 1.0; | ||
101 | |||
102 | w->play.position = seek_to; | ||
103 | - emotion_object_position_set(w->emotion, w->play.position); | ||
104 | + emotion_object_position_set(w->emotion, w->play.position * w->play.length); | ||
105 | ecore_event_add(ENJOY_EVENT_POSITION_CHANGE, NULL, NULL, NULL); | ||
106 | } | ||
107 | |||
108 | @@ -692,15 +703,20 @@ EAPI void | ||
109 | enjoy_position_set(int32_t position) | ||
110 | { | ||
111 | Win *w = &_win; | ||
112 | + double new_pos = w->play.length / ((double)position / 1e6); | ||
113 | |||
114 | if (!w->db) return; | ||
115 | - w->play.position = w->play.length / ((double)position / 1e6); | ||
116 | + | ||
117 | + if ((((new_pos - w->play.position) * w->play.length) < 1.0) | ||
118 | + && (((w->play.position - new_pos) * w->play.length) < 1.0)) return; | ||
119 | + | ||
120 | + w->play.position = new_pos; | ||
121 | if (w->play.position < 0.0) | ||
122 | w->play.position = 0.0; | ||
123 | else if (w->play.position > 1.0) | ||
124 | w->play.position = 1.0; | ||
125 | |||
126 | - emotion_object_position_set(w->emotion, w->play.position); | ||
127 | + emotion_object_position_set(w->emotion, w->play.position * w->play.length); | ||
128 | ecore_event_add(ENJOY_EVENT_POSITION_CHANGE, NULL, NULL, NULL); | ||
129 | } | ||
130 | |||
131 | -- | ||
132 | 1.8.5.2 | ||
133 | |||
diff --git a/meta-efl/recipes-efl/e17/enjoy/configure.patch b/meta-efl/recipes-efl/e17/enjoy/configure.patch deleted file mode 100644 index 6e0ed7461..000000000 --- a/meta-efl/recipes-efl/e17/enjoy/configure.patch +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | Index: git/configure.ac | ||
2 | =================================================================== | ||
3 | --- git.orig/configure.ac 2014-07-17 21:48:51.284570474 +0000 | ||
4 | +++ git/configure.ac 2014-07-17 21:53:39.104578318 +0000 | ||
5 | @@ -26,7 +26,7 @@ | ||
6 | AC_CANONICAL_HOST | ||
7 | AC_ISC_POSIX | ||
8 | |||
9 | -AM_INIT_AUTOMAKE(1.6 dist-bzip2) | ||
10 | +AM_INIT_AUTOMAKE([dist-bzip2 foreign]) | ||
11 | AC_CONFIG_HEADERS(config.h) | ||
12 | _XTERM_COLORS | ||
13 | m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) | ||
diff --git a/meta-efl/recipes-efl/e17/enjoy_git.bb b/meta-efl/recipes-efl/e17/enjoy_git.bb deleted file mode 100644 index 716d73ed1..000000000 --- a/meta-efl/recipes-efl/e17/enjoy_git.bb +++ /dev/null | |||
@@ -1,50 +0,0 @@ | |||
1 | SUMMARY = "Enjoy music player" | ||
2 | LICENSE = "LGPLv3" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6" | ||
4 | DEPENDS = "evas ecore edje elementary emotion lightmediascanner eldbus gst-plugins-good" | ||
5 | |||
6 | SRCREV = "aa8fec69e885eec048a849c2b34059ec58404e02" | ||
7 | PV = "0.1.0+gitr${SRCPV}" | ||
8 | |||
9 | #1st needed for all formats | ||
10 | #2nd needed for mp3 playback | ||
11 | #3d needed for ogg playback | ||
12 | #4th needed for flac playback | ||
13 | #5th needed binary to create db | ||
14 | RDEPENDS_${PN} += "\ | ||
15 | gst-plugins-base-typefindfunctions gst-plugins-base-playbin gst-plugins-base-volume gst-plugins-base-decodebin2 gst-plugins-good-autodetect \ | ||
16 | gst-plugins-base-ogg gst-plugins-base-ivorbisdec \ | ||
17 | gst-plugins-good-flac \ | ||
18 | lightmediascanner-test \ | ||
19 | " | ||
20 | |||
21 | inherit e gettext | ||
22 | SRC_URI = " \ | ||
23 | git://git.enlightenment.org/apps/enjoy.git \ | ||
24 | file://0001-always-use-position-as-percent-and-define-a-1-second.patch \ | ||
25 | file://configure.patch \ | ||
26 | " | ||
27 | S = "${WORKDIR}/git" | ||
28 | |||
29 | FILES_${PN} += "${datadir}/icons/" | ||
30 | |||
31 | EXTRA_OECONF = "\ | ||
32 | --with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \ | ||
33 | " | ||
34 | |||
35 | PACKAGECONFIG[mad] = ",,gst-plugins-ugly,gst-plugins-ugly-mad" | ||
36 | PACKAGECONFIG[id3demux] = ",,,gst-plugins-good-id3demux" | ||
37 | |||
38 | do_configure_prepend() { | ||
39 | autopoint || touch config.rpath | ||
40 | } | ||
41 | |||
42 | pkg_postinst_${PN} () { | ||
43 | echo "enjoy: SCAN and LIBRARY MANAGER are not implemeted yet!" | ||
44 | echo "enjoy: Meanwhile please run:" | ||
45 | echo "enjoy: test-lms -m mono -p id3 -i 5000 -s /path/to/your/music/dir /home/root/.config/enjoy/media.db" | ||
46 | echo "enjoy:" | ||
47 | echo "enjoy: Use test-lms -P to see available formats that can be scanned" | ||
48 | } | ||
49 | |||
50 | PNBLACKLIST[enjoy] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/ephoto/configure.patch b/meta-efl/recipes-efl/e17/ephoto/configure.patch deleted file mode 100644 index 59466f8af..000000000 --- a/meta-efl/recipes-efl/e17/ephoto/configure.patch +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | Index: ephoto/configure.ac | ||
2 | =================================================================== | ||
3 | --- ephoto.orig/configure.ac 2014-07-17 21:48:51.028570467 +0000 | ||
4 | +++ ephoto/configure.ac 2014-07-17 21:52:56.120577146 +0000 | ||
5 | @@ -27,7 +27,7 @@ | ||
6 | AC_CANONICAL_HOST | ||
7 | AC_ISC_POSIX | ||
8 | |||
9 | -AM_INIT_AUTOMAKE(1.6 dist-bzip2) | ||
10 | +AM_INIT_AUTOMAKE([dist-bzip2 foreign]) | ||
11 | AM_CONFIG_HEADER(src/bin/config.h) | ||
12 | m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) | ||
13 | |||
diff --git a/meta-efl/recipes-efl/e17/ephoto_svn.bb b/meta-efl/recipes-efl/e17/ephoto_svn.bb deleted file mode 100644 index f86ffe16f..000000000 --- a/meta-efl/recipes-efl/e17/ephoto_svn.bb +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | LICENSE = "MIT & GPL-3.0" | ||
2 | PV = "0.1.0+svnr${SRCREV}" | ||
3 | PR = "${INC_PR}.0" | ||
4 | |||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=fdffcddb366d0cc78e0e46c4ea70c8d9 \ | ||
6 | file://COPYING.icons;md5=8f0e2cd40e05189ec81232da84bd6e1a" | ||
7 | |||
8 | require e-module.inc | ||
9 | |||
10 | inherit gettext | ||
11 | |||
12 | DEPENDS += "elementary ethumb ecore eio" | ||
13 | |||
14 | SRCNAME = "${PN}" | ||
15 | |||
16 | # autotools-brokensep | ||
17 | B = "${S}" | ||
18 | |||
19 | SRC_URI += "file://configure.patch" | ||
20 | |||
21 | PNBLACKLIST[ephoto] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/exalt-client/configure.patch b/meta-efl/recipes-efl/e17/exalt-client/configure.patch deleted file mode 100644 index d4ff801ce..000000000 --- a/meta-efl/recipes-efl/e17/exalt-client/configure.patch +++ /dev/null | |||
@@ -1,28 +0,0 @@ | |||
1 | Index: exalt-client/configure.ac | ||
2 | =================================================================== | ||
3 | --- exalt-client.orig/configure.ac 2014-07-17 21:46:14.712566207 +0000 | ||
4 | +++ exalt-client/configure.ac 2014-07-17 21:47:56.880568991 +0000 | ||
5 | @@ -10,7 +10,7 @@ | ||
6 | AC_CANONICAL_HOST | ||
7 | AC_ISC_POSIX | ||
8 | |||
9 | -AM_INIT_AUTOMAKE(1.8) | ||
10 | +AM_INIT_AUTOMAKE([foreign]) | ||
11 | AM_CONFIG_HEADER(config.h) | ||
12 | |||
13 | AC_PROG_CC | ||
14 | @@ -29,7 +29,6 @@ | ||
15 | |||
16 | m4_ifdef([AM_GNU_GETTEXT], [ | ||
17 | AM_GNU_GETTEXT([external]) | ||
18 | -po_makefile_in=po/Makefile.in | ||
19 | AM_CONDITIONAL([HAVE_PO], [true]) | ||
20 | ],[ | ||
21 | AM_CONDITIONAL([HAVE_PO], [false]) | ||
22 | @@ -101,6 +100,5 @@ | ||
23 | src/Makefile | ||
24 | module.desktop | ||
25 | e_modules-exalt-client.spec | ||
26 | -$po_makefile_in | ||
27 | ], [ | ||
28 | ]) | ||
diff --git a/meta-efl/recipes-efl/e17/exalt-client_svn.bb b/meta-efl/recipes-efl/e17/exalt-client_svn.bb deleted file mode 100644 index cb78a2e3a..000000000 --- a/meta-efl/recipes-efl/e17/exalt-client_svn.bb +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | LICENSE = "LGPL-2.0" | ||
2 | LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" | ||
3 | |||
4 | PV = "0.0.1+svnr${SRCPV}" | ||
5 | |||
6 | require e-module.inc | ||
7 | |||
8 | DEPENDS += "elementary exalt edje-native" | ||
9 | |||
10 | CFLAGS += " -I${STAGING_INCDIR}/exalt -I${STAGING_INCDIR}/exalt_dbus" | ||
11 | |||
12 | do_configure_prepend() { | ||
13 | sed -i -e /po/d ${S}/configure.ac | ||
14 | sed -i -e s:\ po::g ${S}/Makefile.am | ||
15 | } | ||
16 | |||
17 | FILES_${PN} += "${libdir}/enlightenment/modules/*/*.desktop \ | ||
18 | ${libdir}/enlightenment/modules/*/*.edj \ | ||
19 | ${libdir}/enlightenment/modules/*/*/*.so" | ||
20 | |||
21 | FILES_${PN}-staticdev += "${libdir}/enlightenment/modules/*/*/*.a" | ||
22 | FILES_${PN}-dev += "${libdir}/enlightenment/modules/*/*/*.la" | ||
23 | FILES_${PN}-dbg += "${libdir}/enlightenment/modules/*/*/.debug" | ||
24 | |||
25 | SRC_URI += "file://configure.patch" | ||
26 | PNBLACKLIST[exalt-client] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/exalt_svn.bb b/meta-efl/recipes-efl/e17/exalt_svn.bb deleted file mode 100644 index 9e63f1bc2..000000000 --- a/meta-efl/recipes-efl/e17/exalt_svn.bb +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | SUMMARY = "Exalt is a network manager for the windows manager Enlightenment DR17" | ||
2 | HOMEPAGE = "http://watchwolf.fr/wiki/doku.php?id=exalt" | ||
3 | |||
4 | LICENSE = "LGPLv2.1" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" | ||
6 | |||
7 | DEPENDS = "elementary vpnc wpa-supplicant ecore eet edbus" | ||
8 | RDEPENDS_${PN} = "vpnc wpa-supplicant" | ||
9 | |||
10 | PV = "0.9+svnr${SRCPV}" | ||
11 | SRCREV = "${EFL_SRCREV}" | ||
12 | |||
13 | inherit e | ||
14 | SRC_URI = "${E_SVN}/trunk;module=${SRCNAME};protocol=http;scmdata=keep" | ||
15 | S = "${WORKDIR}/${SRCNAME}" | ||
16 | |||
17 | EXTRA_OECONF = " \ | ||
18 | --with-wpa_supplicant=${sbindir}/wpa_supplicant \ | ||
19 | --with-vpnc=${sbindir}/vpnc \ | ||
20 | --with-vpnc-disconnect=${sbindir}/vpnc-disconnect \ | ||
21 | " | ||
22 | |||
23 | do_install_append() { | ||
24 | # install dbus config file | ||
25 | install -d ${D}${sysconfdir}/dbus-1/system.d/ | ||
26 | install -m 0644 ${S}/data/daemon/dbus/exalt.conf ${D}${sysconfdir}/dbus-1/system.d/exalt.conf | ||
27 | |||
28 | # install dbus service file | ||
29 | install -d ${D}${datadir}/dbus-1/system-services/ | ||
30 | install -m 0644 ${B}/org.e.Exalt.service ${D}${datadir}/dbus-1/system-services/ | ||
31 | } | ||
32 | |||
33 | FILES_${PN} += "${datadir}/dbus-1" | ||
34 | |||
35 | |||
36 | PNBLACKLIST[exalt] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/exquisite-theme-illume.bb b/meta-efl/recipes-efl/e17/exquisite-theme-illume.bb deleted file mode 100644 index c9063bc44..000000000 --- a/meta-efl/recipes-efl/e17/exquisite-theme-illume.bb +++ /dev/null | |||
@@ -1,41 +0,0 @@ | |||
1 | DDESCRIPTION = "A theme for exquisite" | ||
2 | LICENSE = "MIT & BSD" | ||
3 | LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2" | ||
4 | SECTION = "x11" | ||
5 | DEPENDS = "edje-native" | ||
6 | PV = "1.0+svnr${SRCPV}" | ||
7 | SRCREV = "${EFL_SRCREV}" | ||
8 | |||
9 | inherit e-base update-alternatives allarch | ||
10 | |||
11 | ALTERNATIVE_NAME = "exquisite-config" | ||
12 | ALTERNATIVE_LINK = "${sysconfdir}/exquisite/config" | ||
13 | ALTERNATIVE_PATH = "${sysconfdir}/exquisite/config-illume" | ||
14 | ALTERNATIVE_PRIORITY = "10" | ||
15 | |||
16 | SRCNAME = "b_and_w" | ||
17 | |||
18 | SRC_URI = "${E_SVN}/trunk/THEMES;module=${SRCNAME};protocol=http \ | ||
19 | file://LICENSE \ | ||
20 | " | ||
21 | S = "${WORKDIR}/${SRCNAME}" | ||
22 | |||
23 | do_compile() { | ||
24 | ${STAGING_BINDIR_NATIVE}/edje_cc exquisite.edc illume.edj | ||
25 | } | ||
26 | |||
27 | do_install() { | ||
28 | install -d ${D}${sysconfdir}/exquisite | ||
29 | install -d ${D}${datadir}/exquisite/data/themes | ||
30 | install -m 0644 ${S}/illume.edj ${D}${datadir}/exquisite/data/themes/ | ||
31 | echo 'THEME="-t illume"' > ${D}${sysconfdir}/exquisite/config-illume | ||
32 | } | ||
33 | |||
34 | CONFFILES_${PN} = "${sysconfdir}/exquisite/config-illume" | ||
35 | FILES_${PN} = "${sysconfdir}/exquisite ${datadir}/exquisite/data/themes" | ||
36 | |||
37 | PNBLACKLIST[exquisite-theme-illume] ?= "Depends on blacklisted edje-native - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
38 | |||
39 | PNBLACKLIST[exquisite-theme-illume] ?= "Runtime depends on blacklisted exquisite-theme-illume - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
40 | |||
41 | PNBLACKLIST[exquisite-theme-illume] ?= "Runtime depends on blacklisted exquisite-theme-illume-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/exquisite-theme-illume/LICENSE b/meta-efl/recipes-efl/e17/exquisite-theme-illume/LICENSE deleted file mode 100644 index 61bb2f603..000000000 --- a/meta-efl/recipes-efl/e17/exquisite-theme-illume/LICENSE +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | Copyright notice for Enlightenment: | ||
2 | |||
3 | Copyright (C) 2000-2010 Carsten Haitzler and various contributors (see AUTHORS) | ||
4 | |||
5 | All rights reserved. | ||
6 | |||
7 | Redistribution and use in source and binary forms, with or without | ||
8 | modification, are permitted provided that the following conditions are met: | ||
9 | |||
10 | 1. Redistributions of source code must retain the above copyright | ||
11 | notice, this list of conditions and the following disclaimer. | ||
12 | 2. Redistributions in binary form must reproduce the above copyright | ||
13 | notice, this list of conditions and the following disclaimer in the | ||
14 | documentation and/or other materials provided with the distribution. | ||
15 | |||
16 | THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, | ||
17 | INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | ||
18 | FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | ||
19 | COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
20 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
21 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, | ||
22 | OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | ||
23 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | ||
24 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | ||
25 | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
diff --git a/meta-efl/recipes-efl/e17/exquisite/exquisite-init b/meta-efl/recipes-efl/e17/exquisite/exquisite-init deleted file mode 100644 index 2de6774ff..000000000 --- a/meta-efl/recipes-efl/e17/exquisite/exquisite-init +++ /dev/null | |||
@@ -1,40 +0,0 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | for x in $(cat /proc/cmdline); do | ||
4 | case $x in | ||
5 | splash=false) | ||
6 | echo "Splash Disabled" | ||
7 | exit 0; | ||
8 | ;; | ||
9 | esac | ||
10 | done | ||
11 | |||
12 | . /etc/init.d/functions | ||
13 | |||
14 | ### Default config here - gets overriden later | ||
15 | THEME="-t default" | ||
16 | FPS="-fps 30" | ||
17 | ### Override config - if there is a config file - load it. | ||
18 | if test -f /etc/exquisite/config; then | ||
19 | . /etc/exquisite/config | ||
20 | fi | ||
21 | |||
22 | args='' | ||
23 | case `machine_id` in | ||
24 | "hp_ipaq_h3100"|"hp_ipaq_h3800") | ||
25 | args='-rot 90' ;; | ||
26 | "hp_ipaq_3600"|"hp_ipaq_3700"|"hp_ipaq_h3900"|"htc_universal"|*collie|*poodle|*akita|*spitz|*borzoi) | ||
27 | args='-rot 270' ;; | ||
28 | esac | ||
29 | args=$args" $FPS $THEME" | ||
30 | |||
31 | export EXDIR=/mnt/.splash | ||
32 | export EXQUISITE_IPC=$EXDIR/exquisite | ||
33 | mount tmpfs -t tmpfs $EXDIR -o,size=40k | ||
34 | exquisite -fb -fs $args & | ||
35 | |||
36 | exquisite-write -wait 120 | ||
37 | exquisite-write "PULSATE" | ||
38 | setterm -blank 0 | ||
39 | setterm -powersave off | ||
40 | setterm -powerdown 0 | ||
diff --git a/meta-efl/recipes-efl/e17/exquisite/splashfuncs b/meta-efl/recipes-efl/e17/exquisite/splashfuncs deleted file mode 100644 index ada2a96dd..000000000 --- a/meta-efl/recipes-efl/e17/exquisite/splashfuncs +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | status() { | ||
2 | if type splash-write >/dev/null 2>&1; then | ||
3 | (TMPDIR="/mnt/.splash" EXQUISITE_IPC="$TMPDIR/exquisite" splash-write "$1" || true) & | ||
4 | fi | ||
5 | } | ||
6 | |||
7 | status_position() { | ||
8 | status "PROGRESS $1" | ||
9 | } | ||
10 | |||
11 | status_title() { | ||
12 | status "TITLE $1" | ||
13 | } | ||
14 | |||
15 | status_text() { | ||
16 | if test -n "$1"; then | ||
17 | status "MSG $1" | ||
18 | else | ||
19 | status "CLEAR" | ||
20 | fi | ||
21 | } | ||
22 | |||
23 | status_pulse() { | ||
24 | status "PULSATE" | ||
25 | } | ||
26 | |||
27 | status_tick() { | ||
28 | status "TICK" | ||
29 | } | ||
diff --git a/meta-efl/recipes-efl/e17/exquisite_svn.bb b/meta-efl/recipes-efl/e17/exquisite_svn.bb deleted file mode 100644 index 826cd444e..000000000 --- a/meta-efl/recipes-efl/e17/exquisite_svn.bb +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | SUMMARY = "A psplash replacement for display" | ||
2 | LICENSE = "MIT & BSD" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=14defa372a91118e755133bc8e6aff83" | ||
4 | DEPENDS = "eet evas ecore embryo edje" | ||
5 | PV = "0.0.1+svnr${SRCPV}" | ||
6 | SRCREV = "${EFL_SRCREV}" | ||
7 | RRECOMMENDS_${PN} = "exquisite-themes" | ||
8 | RCONFLICTS_${PN} = "psplash virtual-psplash" | ||
9 | |||
10 | SRCNAME = "exquisite" | ||
11 | |||
12 | inherit e | ||
13 | SRC_URI = "${E_SVN}/trunk;module=${SRCNAME};protocol=http;scmdata=keep" | ||
14 | S = "${WORKDIR}/${SRCNAME}" | ||
15 | |||
16 | EXTRA_OECONF = "--with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc" | ||
17 | |||
18 | SRC_URI += "file://exquisite-init" | ||
19 | SRC_URI += "file://splashfuncs" | ||
20 | |||
21 | inherit update-rc.d | ||
22 | |||
23 | do_install_prepend() { | ||
24 | install -d ${D}/mnt/.splash/ | ||
25 | install -d ${D}${sysconfdir}/init.d | ||
26 | install -m 0755 ${WORKDIR}/exquisite-init ${D}${sysconfdir}/init.d/exquisite | ||
27 | install -d ${D}${sysconfdir}/default | ||
28 | install -m 0755 ${WORKDIR}/splashfuncs ${D}${sysconfdir}/default/splashfuncs | ||
29 | install -d ${D}${bindir} | ||
30 | ln -s exquisite-write ${D}${bindir}/splash-write | ||
31 | } | ||
32 | |||
33 | |||
34 | do_install_append() { | ||
35 | rm -rf ${D}${datadir}/exquisite/data/fonts/* | ||
36 | } | ||
37 | |||
38 | INITSCRIPT_NAME = "exquisite" | ||
39 | INITSCRIPT_PARAMS = "start 01 S . stop 20 0 1 6 ." | ||
40 | |||
41 | FILES_${PN} += "/mnt/.splash/" | ||
42 | |||
43 | PNBLACKLIST[exquisite] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130619/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/flame/configure.patch b/meta-efl/recipes-efl/e17/flame/configure.patch deleted file mode 100644 index 87c85de9f..000000000 --- a/meta-efl/recipes-efl/e17/flame/configure.patch +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | Index: cpu/configure.ac | ||
2 | =================================================================== | ||
3 | --- cpu.orig/configure.ac 2014-07-17 20:39:48.000000000 +0000 | ||
4 | +++ cpu/configure.ac 2014-07-17 21:39:55.320555868 +0000 | ||
5 | @@ -10,7 +10,7 @@ | ||
6 | AC_CANONICAL_HOST | ||
7 | AC_ISC_POSIX | ||
8 | |||
9 | -AM_INIT_AUTOMAKE(1.6) | ||
10 | +AM_INIT_AUTOMAKE([foreign]) | ||
11 | AM_CONFIG_HEADER(config.h) | ||
12 | m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) | ||
13 | |||
diff --git a/meta-efl/recipes-efl/e17/flame_svn.bb b/meta-efl/recipes-efl/e17/flame_svn.bb deleted file mode 100644 index 6583d2724..000000000 --- a/meta-efl/recipes-efl/e17/flame_svn.bb +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
1 | LICENSE = "MIT" | ||
2 | LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35 \ | ||
3 | file://COPYING-PLAIN;md5=c910b645eda0005ccec46f75203dc96e" | ||
4 | |||
5 | PV = "0.0.3+svnr${SRCPV}" | ||
6 | PR = "${INC_PR}.0" | ||
7 | |||
8 | require e-module.inc | ||
9 | |||
10 | do_configure_prepend() { | ||
11 | sed -i -e /po/d ${S}/configure.ac | ||
12 | sed -i -e s:\ po::g ${S}/Makefile.am | ||
13 | } | ||
14 | |||
15 | SRC_URI += "file://configure.patch" | ||
16 | |||
17 | PNBLACKLIST[flame] ?= "Depends on blacklisted e-wm - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/forecasts/configure.patch b/meta-efl/recipes-efl/e17/forecasts/configure.patch deleted file mode 100644 index 87c85de9f..000000000 --- a/meta-efl/recipes-efl/e17/forecasts/configure.patch +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | Index: cpu/configure.ac | ||
2 | =================================================================== | ||
3 | --- cpu.orig/configure.ac 2014-07-17 20:39:48.000000000 +0000 | ||
4 | +++ cpu/configure.ac 2014-07-17 21:39:55.320555868 +0000 | ||
5 | @@ -10,7 +10,7 @@ | ||
6 | AC_CANONICAL_HOST | ||
7 | AC_ISC_POSIX | ||
8 | |||
9 | -AM_INIT_AUTOMAKE(1.6) | ||
10 | +AM_INIT_AUTOMAKE([foreign]) | ||
11 | AM_CONFIG_HEADER(config.h) | ||
12 | m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) | ||
13 | |||
diff --git a/meta-efl/recipes-efl/e17/forecasts_svn.bb b/meta-efl/recipes-efl/e17/forecasts_svn.bb deleted file mode 100644 index 495f314fc..000000000 --- a/meta-efl/recipes-efl/e17/forecasts_svn.bb +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | LICENSE = "MIT" | ||
2 | LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35 \ | ||
3 | file://COPYING-PLAIN;md5=51328cfb73bfec3eed7cfd3dbed73988" | ||
4 | |||
5 | PV = "0.2.0+svnr${SRCREV}" | ||
6 | PR = "${INC_PR}.0" | ||
7 | |||
8 | require e-module.inc | ||
9 | |||
10 | SRC_URI += "file://configure.patch" | ||
11 | |||
12 | PNBLACKLIST[forecasts] ?= "Depends on blacklisted e-wm - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/illume-keyboards-shr/0001-Makefile-update-KEYBOARDS_DIR-for-new-illume2.patch b/meta-efl/recipes-efl/e17/illume-keyboards-shr/0001-Makefile-update-KEYBOARDS_DIR-for-new-illume2.patch deleted file mode 100644 index b18a69b0b..000000000 --- a/meta-efl/recipes-efl/e17/illume-keyboards-shr/0001-Makefile-update-KEYBOARDS_DIR-for-new-illume2.patch +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | From 9316e3973c44b981e73b953b2861060c6902de47 Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Mon, 23 Aug 2010 12:54:05 +0200 | ||
4 | Subject: [PATCH] Makefile: update KEYBOARDS_DIR for new illume2 | ||
5 | |||
6 | --- | ||
7 | Makefile | 2 +- | ||
8 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
9 | |||
10 | diff --git a/Makefile b/Makefile | ||
11 | index 46e9420..3d8757c 100644 | ||
12 | --- a/Makefile | ||
13 | +++ b/Makefile | ||
14 | @@ -1,5 +1,5 @@ | ||
15 | |||
16 | -INSTBASE = /usr/lib/enlightenment/modules/illume/keyboards | ||
17 | +INSTBASE = /usr/lib/enlightenment/modules/illume-keyboard/keyboards | ||
18 | |||
19 | FILES-arabic = Arabic.kbd Arabic.png | ||
20 | FILES-persian = Persian.kbd Persian.png | ||
21 | -- | ||
22 | 1.7.2 | ||
23 | |||
diff --git a/meta-efl/recipes-efl/e17/illume-keyboards-shr/LICENSE b/meta-efl/recipes-efl/e17/illume-keyboards-shr/LICENSE deleted file mode 100644 index 61bb2f603..000000000 --- a/meta-efl/recipes-efl/e17/illume-keyboards-shr/LICENSE +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | Copyright notice for Enlightenment: | ||
2 | |||
3 | Copyright (C) 2000-2010 Carsten Haitzler and various contributors (see AUTHORS) | ||
4 | |||
5 | All rights reserved. | ||
6 | |||
7 | Redistribution and use in source and binary forms, with or without | ||
8 | modification, are permitted provided that the following conditions are met: | ||
9 | |||
10 | 1. Redistributions of source code must retain the above copyright | ||
11 | notice, this list of conditions and the following disclaimer. | ||
12 | 2. Redistributions in binary form must reproduce the above copyright | ||
13 | notice, this list of conditions and the following disclaimer in the | ||
14 | documentation and/or other materials provided with the distribution. | ||
15 | |||
16 | THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, | ||
17 | INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | ||
18 | FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | ||
19 | COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
20 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
21 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, | ||
22 | OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | ||
23 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | ||
24 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | ||
25 | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
diff --git a/meta-efl/recipes-efl/e17/news_svn.bb b/meta-efl/recipes-efl/e17/news_svn.bb deleted file mode 100644 index 4349e0445..000000000 --- a/meta-efl/recipes-efl/e17/news_svn.bb +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | LICENSE = "GPL-2.0" | ||
2 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
3 | |||
4 | PV = "0.1.0+svnr${SRCPV}" | ||
5 | PR = "${INC_PR}.0" | ||
6 | |||
7 | require e-module.inc | ||
8 | |||
9 | do_configure_prepend() { | ||
10 | sed -i -e /po/d configure.ac | ||
11 | sed -i -e s:\ po::g Makefile.am | ||
12 | } | ||
13 | |||
14 | PNBLACKLIST[news] ?= "if you want to use these modules with E18, then you need to update it to git recipe fetching newer sources from http://git.enlightenment.org/enlightenment/modules/news.git/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/places/configure.patch b/meta-efl/recipes-efl/e17/places/configure.patch deleted file mode 100644 index f8f48345c..000000000 --- a/meta-efl/recipes-efl/e17/places/configure.patch +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | Index: places/configure.ac | ||
2 | =================================================================== | ||
3 | --- places.orig/configure.ac 2014-07-17 21:51:01.276574017 +0000 | ||
4 | +++ places/configure.ac 2014-07-17 21:52:07.096575810 +0000 | ||
5 | @@ -10,7 +10,7 @@ | ||
6 | AC_CANONICAL_HOST | ||
7 | AC_ISC_POSIX | ||
8 | |||
9 | -AM_INIT_AUTOMAKE(1.8) | ||
10 | +AM_INIT_AUTOMAKE([foreign]) | ||
11 | m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) | ||
12 | AM_CONFIG_HEADER(config.h) | ||
13 | |||
diff --git a/meta-efl/recipes-efl/e17/places_svn.bb b/meta-efl/recipes-efl/e17/places_svn.bb deleted file mode 100644 index b184f84c3..000000000 --- a/meta-efl/recipes-efl/e17/places_svn.bb +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | LICENSE = "BSD" | ||
2 | LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35" | ||
3 | |||
4 | PV = "0.1.0+svnr${SRCPV}" | ||
5 | PR = "${INC_PR}.0" | ||
6 | |||
7 | require e-module.inc | ||
8 | |||
9 | do_configure_prepend() { | ||
10 | autopoint || touch config.rpath | ||
11 | } | ||
12 | |||
13 | # Calls /usr/bin/eject for media | ||
14 | RRECOMMENDS_${PN} += "eject" | ||
15 | |||
16 | SRC_URI += "file://configure.patch" | ||
17 | |||
18 | PNBLACKLIST[places] ?= "Depends on blacklisted e-wm - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/rage_svn.bb b/meta-efl/recipes-efl/e17/rage_svn.bb deleted file mode 100644 index 0a90fe3cd..000000000 --- a/meta-efl/recipes-efl/e17/rage_svn.bb +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | SUMMARY = "Rage is a media center application based on EFL" | ||
2 | AUTHOR = "Carsten 'The Rasterman' Haitzler" | ||
3 | HOMEPAGE = "http://www.rasterman.com" | ||
4 | LICENSE = "MIT & BSD" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35" | ||
6 | DEPENDS = "emotion evas ecore edje" | ||
7 | SECTION = "x11/multimedia" | ||
8 | PV = "0.3.0.042+svnr${SRCPV}" | ||
9 | SRCREV = "${EFL_SRCREV}" | ||
10 | |||
11 | inherit e | ||
12 | SRC_URI = "${E_SVN}/trunk;module=${SRCNAME};protocol=http;scmdata=keep" | ||
13 | S = "${WORKDIR}/${SRCNAME}" | ||
14 | |||
15 | PNBLACKLIST[rage] ?= "if you want to use these modules with E18, then you need to update it to git recipe fetching newer sources from http://git.enlightenment.org/apps/rage.git/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/rain/configure.patch b/meta-efl/recipes-efl/e17/rain/configure.patch deleted file mode 100644 index 87c85de9f..000000000 --- a/meta-efl/recipes-efl/e17/rain/configure.patch +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | Index: cpu/configure.ac | ||
2 | =================================================================== | ||
3 | --- cpu.orig/configure.ac 2014-07-17 20:39:48.000000000 +0000 | ||
4 | +++ cpu/configure.ac 2014-07-17 21:39:55.320555868 +0000 | ||
5 | @@ -10,7 +10,7 @@ | ||
6 | AC_CANONICAL_HOST | ||
7 | AC_ISC_POSIX | ||
8 | |||
9 | -AM_INIT_AUTOMAKE(1.6) | ||
10 | +AM_INIT_AUTOMAKE([foreign]) | ||
11 | AM_CONFIG_HEADER(config.h) | ||
12 | m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) | ||
13 | |||
diff --git a/meta-efl/recipes-efl/e17/rain_svn.bb b/meta-efl/recipes-efl/e17/rain_svn.bb deleted file mode 100644 index 14aa2ed38..000000000 --- a/meta-efl/recipes-efl/e17/rain_svn.bb +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | LICENSE = "MIT" | ||
2 | |||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35 \ | ||
4 | file://COPYING-PLAIN;md5=c910b645eda0005ccec46f75203dc96e" | ||
5 | |||
6 | PV = "0.0.3+svnr${SRCPV}" | ||
7 | PR = "${INC_PR}.0" | ||
8 | |||
9 | require e-module.inc | ||
10 | |||
11 | do_configure_prepend() { | ||
12 | sed -i -e /po/d ${S}/configure.ac | ||
13 | sed -i -e s:\ po::g ${S}/Makefile.am | ||
14 | } | ||
15 | |||
16 | SRC_URI += "file://configure.patch" | ||
17 | |||
18 | PNBLACKLIST[rain] ?= "Depends on blacklisted e-wm - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/screenshot/screenshot-fix-mkinstalldirs.patch b/meta-efl/recipes-efl/e17/screenshot/screenshot-fix-mkinstalldirs.patch deleted file mode 100644 index 14f1141f1..000000000 --- a/meta-efl/recipes-efl/e17/screenshot/screenshot-fix-mkinstalldirs.patch +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | ||
2 | Subject: fix screenshot po/ building | ||
3 | Upstream-Status: Pending | ||
4 | |||
5 | Somehow configure doesn't substitute @MKINSTALLDIRS@ by default anymore, | ||
6 | however this substitution is required for po/Makefile | ||
7 | |||
8 | Fix that by calling AM_MKINSTALLDIRS from configure.ac | ||
9 | |||
10 | Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | ||
11 | |||
12 | Index: E-MODULES-EXTRA/screenshot/configure.ac | ||
13 | =================================================================== | ||
14 | --- E-MODULES-EXTRA.orig/screenshot/configure.ac 2011-08-17 15:49:22.000000000 +0400 | ||
15 | +++ E-MODULES-EXTRA/screenshot/configure.ac 2011-08-17 15:49:34.000000000 +0400 | ||
16 | @@ -24,6 +24,7 @@ | ||
17 | define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl | ||
18 | AC_PROG_LIBTOOL | ||
19 | |||
20 | +AM_MKINSTALLDIRS | ||
21 | m4_ifdef([AM_GNU_GETTEXT_VERSION], [ | ||
22 | AM_GNU_GETTEXT_VERSION([0.14]) | ||
23 | ]) | ||
diff --git a/meta-efl/recipes-efl/e17/screenshot_svn.bb b/meta-efl/recipes-efl/e17/screenshot_svn.bb deleted file mode 100644 index 233f7777f..000000000 --- a/meta-efl/recipes-efl/e17/screenshot_svn.bb +++ /dev/null | |||
@@ -1,16 +0,0 @@ | |||
1 | LICENSE = "MIT" | ||
2 | PV = "0.3.0+svnr${SRCREV}" | ||
3 | PR = "${INC_PR}.0" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35" | ||
5 | SRC_URI += "file://screenshot-fix-mkinstalldirs.patch" | ||
6 | |||
7 | require e-module.inc | ||
8 | |||
9 | DEPENDS += "emprint" | ||
10 | RDEPENDS_${PN} += "emprint" | ||
11 | |||
12 | do_configure_prepend() { | ||
13 | sed -i -e 's:AC_MSG_ERROR(emprint not found):echo foo:g' ${S}/configure.ac | ||
14 | } | ||
15 | |||
16 | PNBLACKLIST[screenshot] ?= "depends on blacklisted emprint - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/terminology.inc b/meta-efl/recipes-efl/e17/terminology.inc deleted file mode 100644 index 24f789f59..000000000 --- a/meta-efl/recipes-efl/e17/terminology.inc +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | DESCRIPTION = "Enlightenment Terminal Emulator" | ||
2 | LICENSE = "MIT & BSD-2-Clause" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=4efac6b05b3256ba7da66301ac1ee6c6" | ||
4 | DEPENDS = "evas ecore edje elementary eina eet emotion" | ||
5 | |||
6 | inherit e gettext | ||
7 | |||
8 | # Because latest release we have is 0.1.0 which sorts lower then 0.1.0+svnr${SRCPV} already in feeds | ||
9 | PE = "2" | ||
10 | |||
11 | EXTRA_OECONF = "\ | ||
12 | --with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \ | ||
13 | " | ||
14 | |||
15 | FILES_${PN} += "\ | ||
16 | ${datadir}/icons/terminology.png \ | ||
17 | " | ||
18 | |||
19 | # doesn't start without own theme | ||
20 | # ERR<770>:terminology utils.c:26 theme_apply() Could not load any theme for group=terminology/background: No Error | ||
21 | # CRI<770>:terminology main.c:448 elm_main() Couldn't find terminology theme! Forgot 'make install'? | ||
22 | RDEPENDS_${PN} += "${PN}-themes" | ||
diff --git a/meta-efl/recipes-efl/e17/terminology_0.9.1.bb b/meta-efl/recipes-efl/e17/terminology_0.9.1.bb deleted file mode 100644 index 77dd223fd..000000000 --- a/meta-efl/recipes-efl/e17/terminology_0.9.1.bb +++ /dev/null | |||
@@ -1,10 +0,0 @@ | |||
1 | require ${BPN}.inc | ||
2 | |||
3 | SRC_URI = "\ | ||
4 | ${E_RELEASES}/apps/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \ | ||
5 | " | ||
6 | |||
7 | SRC_URI[md5sum] = "c7ce2e8ebc5f311d3d3f59ecfdf18f61" | ||
8 | SRC_URI[sha256sum] = "7fb864a14202490e9181c5f254a7e772019216a3aa75c3952d0f12cd32113896" | ||
9 | |||
10 | PNBLACKLIST[terminology] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/e17/uptime/configure.patch b/meta-efl/recipes-efl/e17/uptime/configure.patch deleted file mode 100644 index 87c85de9f..000000000 --- a/meta-efl/recipes-efl/e17/uptime/configure.patch +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | Index: cpu/configure.ac | ||
2 | =================================================================== | ||
3 | --- cpu.orig/configure.ac 2014-07-17 20:39:48.000000000 +0000 | ||
4 | +++ cpu/configure.ac 2014-07-17 21:39:55.320555868 +0000 | ||
5 | @@ -10,7 +10,7 @@ | ||
6 | AC_CANONICAL_HOST | ||
7 | AC_ISC_POSIX | ||
8 | |||
9 | -AM_INIT_AUTOMAKE(1.6) | ||
10 | +AM_INIT_AUTOMAKE([foreign]) | ||
11 | AM_CONFIG_HEADER(config.h) | ||
12 | m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) | ||
13 | |||
diff --git a/meta-efl/recipes-efl/e17/uptime_svn.bb b/meta-efl/recipes-efl/e17/uptime_svn.bb deleted file mode 100644 index 60d48a2ca..000000000 --- a/meta-efl/recipes-efl/e17/uptime_svn.bb +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | LICENSE = "MIT" | ||
2 | LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35 \ | ||
3 | file://COPYING-PLAIN;md5=c910b645eda0005ccec46f75203dc96e" | ||
4 | |||
5 | PV = "0.0.2+svnr${SRCREV}" | ||
6 | PR = "${INC_PR}.0" | ||
7 | |||
8 | require e-module.inc | ||
9 | |||
10 | SRC_URI += "file://configure.patch" | ||
11 | |||
12 | PNBLACKLIST[uptime] ?= "Depends on blacklisted e-wm - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/efl/azy_svn.bb b/meta-efl/recipes-efl/efl/azy_svn.bb deleted file mode 100644 index d3bc200f5..000000000 --- a/meta-efl/recipes-efl/efl/azy_svn.bb +++ /dev/null | |||
@@ -1,37 +0,0 @@ | |||
1 | DESCRIPTION = "Azy is a library meant for implementing rpc clients and servers in a simple manner." | ||
2 | DEPENDS = "pkgconfig zlib openssl eina gnutls ecore libxml2 re2c-native mysql5 azy-native glib-2.0" | ||
3 | DEPENDS_class-native = "pkgconfig-native zlib-native openssl-native eina-native gnutls-native ecore-native libxml2-native re2c-native mysql5-native glib-2.0-native" | ||
4 | LICENSE = "LGPLv2.1+" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" | ||
6 | |||
7 | PV = "1.0.0+svnr${SRCPV}" | ||
8 | PR = "r2" | ||
9 | |||
10 | SRCREV = "${EFL_SRCREV}" | ||
11 | |||
12 | # to provide native lemon binary | ||
13 | BBCLASSEXTEND = "native" | ||
14 | |||
15 | EXTRA_OECONF += " --disable-mysql-tests" | ||
16 | |||
17 | do_configure_prepend_class-target() { | ||
18 | sed -i "s#\./lemon#${STAGING_BINDIR_NATIVE}/azy_lemon#g" ${S}/src/bin/Makefile.am | ||
19 | sed -i "s#\$(top_builddir)/src/bin/azy_parser -H -p -o#${STAGING_BINDIR_NATIVE}/azy_parser -H -p -o#g" ${S}/src/tests/Makefile.am | ||
20 | sed -i "s#\$(top_builddir)/src/bin/azy_parser -eHn -m#${STAGING_BINDIR_NATIVE}/azy_parser -eHn -m#g" ${S}/src/tests/identi.ca/Makefile.am | ||
21 | } | ||
22 | |||
23 | do_install_append_class-native() { | ||
24 | install -d ${D}/${bindir} | ||
25 | install -m 0755 ${B}/src/bin/lemon ${D}/${bindir}/azy_lemon | ||
26 | } | ||
27 | |||
28 | inherit efl | ||
29 | |||
30 | SRC_URI = "${E_SVN}/trunk/PROTO;module=${SRCNAME};protocol=http;scmdata=keep" | ||
31 | S = "${WORKDIR}/${SRCNAME}" | ||
32 | |||
33 | # azy/2_1.0.0+svnr82070-r2/azy/src/lib/extras/pugixml.cpp:33: | ||
34 | # sysroots/qemuarm/usr/include/c++/5.2.0/bits/basic_string.h:4780:5: error: reference to 'basic_string' is ambiguous | ||
35 | # basic_string<_CharT, _Traits, _Alloc> | ||
36 | # ^ | ||
37 | PNBLACKLIST[azy] ?= "OLD and doesn't build with gcc-5 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/efl/ecore/fix-ecore-fb-initialization.patch b/meta-efl/recipes-efl/efl/ecore/fix-ecore-fb-initialization.patch deleted file mode 100644 index 55773a3b9..000000000 --- a/meta-efl/recipes-efl/efl/ecore/fix-ecore-fb-initialization.patch +++ /dev/null | |||
@@ -1,41 +0,0 @@ | |||
1 | From 657571197c9d369e12ae31b6777a1929fe3680ef Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Sat, 29 Oct 2011 00:16:55 +0200 | ||
4 | Subject: [PATCH] ecore-fb: fix ts init | ||
5 | |||
6 | Upstream-Status: Pending | ||
7 | |||
8 | The whole ecore-fb init logic is somewhat flawed; with this patch we | ||
9 | get at least a working touchscreen w/ tslib again. | ||
10 | |||
11 | Signed-off-by: Michael 'Mickey' Lauer <mlauer@vanille-media.de> | ||
12 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
13 | --- | ||
14 | ecore/src/lib/ecore_fb/ecore_fb.c | 4 ++++ | ||
15 | 1 files changed, 4 insertions(+), 0 deletions(-) | ||
16 | |||
17 | diff --git a/src/lib/ecore_fb/ecore_fb.c b/src/lib/ecore_fb/ecore_fb.c | ||
18 | index 5b2b84b..a1904b3 100644 | ||
19 | --- a/src/lib/ecore_fb/ecore_fb.c | ||
20 | +++ b/src/lib/ecore_fb/ecore_fb.c | ||
21 | @@ -46,6 +46,9 @@ ecore_fb_init(const char *name __UNUSED__) | ||
22 | if (!ecore_fb_vt_init()) | ||
23 | return --_ecore_fb_init_count; | ||
24 | |||
25 | + if (!ecore_fb_ts_init()) | ||
26 | + return --_ecore_fb_init_count; | ||
27 | + | ||
28 | if (!oldhand) | ||
29 | { | ||
30 | oldhand = signal(SIGINT, nosigint); | ||
31 | @@ -77,6 +80,7 @@ ecore_fb_shutdown(void) | ||
32 | oldhand = NULL; | ||
33 | } | ||
34 | |||
35 | + ecore_fb_ts_shutdown(); | ||
36 | ecore_fb_vt_shutdown(); | ||
37 | |||
38 | return _ecore_fb_init_count; | ||
39 | -- | ||
40 | 1.7.8.6 | ||
41 | |||
diff --git a/meta-efl/recipes-efl/efl/edbus.inc b/meta-efl/recipes-efl/efl/edbus.inc deleted file mode 100644 index 03d0ee58d..000000000 --- a/meta-efl/recipes-efl/efl/edbus.inc +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | DESCRIPTION = "DBus and HAL convenience wrappers for EFL" | ||
2 | DEPENDS = "dbus ecore eina" | ||
3 | LICENSE = "MIT & BSD" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=550b8cea13dacc4bf00508a8cce1074c" | ||
5 | |||
6 | inherit efl | ||
7 | |||
8 | # -dev and -dbg packages wants ${PN} which is empty here | ||
9 | ALLOW_EMPTY_${PN} = "1" | ||
10 | |||
11 | BBCLASSEXTEND = "native" | ||
12 | INC_PR = "r0" | ||
13 | |||
14 | SRCNAME = "e_dbus" | ||
15 | |||
16 | # it needs to be disabled, because creates circular dependency on elementary | ||
17 | EXTRA_OECONF += "--disable-edbus-performance-test" | ||
18 | |||
19 | PACKAGES =+ "${PN}-enotify ${PN}-edbus ${PN}-enm ${PN}-ehal ${PN}-econnman ${PN}-eofono ${PN}-eukit ${PN}-ebluez" | ||
20 | FILES_${PN}-enotify = "${libdir}/libenotify.so.* ${bindir}/e-notify-send" | ||
21 | FILES_${PN}-edbus = "${libdir}/libedbus.so.*" | ||
22 | FILES_${PN}-enm = "${libdir}/libenm.so.*" | ||
23 | FILES_${PN}-ehal = "${libdir}/libehal.so.*" | ||
24 | FILES_${PN}-econnman = "${libdir}/libeconnman.so.* ${libdir}/libeconnman0_7x.so.*" | ||
25 | FILES_${PN}-eofono = "${libdir}/libeofono.so.*" | ||
26 | FILES_${PN}-eukit = "${libdir}/libeukit.so.*" | ||
27 | FILES_${PN}-ebluez = "${libdir}/libebluez.so.*" | ||
28 | FILES_${PN} += "${datadir}/e_dbus/logo.png" | ||
29 | |||
diff --git a/meta-efl/recipes-efl/efl/edbus_1.7.9.bb b/meta-efl/recipes-efl/efl/edbus_1.7.9.bb deleted file mode 100644 index a8033ac59..000000000 --- a/meta-efl/recipes-efl/efl/edbus_1.7.9.bb +++ /dev/null | |||
@@ -1,16 +0,0 @@ | |||
1 | require ${BPN}.inc | ||
2 | |||
3 | SRC_URI = "\ | ||
4 | ${E_MIRROR}/${SRCNAME}-${SRCVER}.tar.gz \ | ||
5 | " | ||
6 | |||
7 | SRC_URI[md5sum] = "8f72da14e5664aad8c45eeeca0e3ff5f" | ||
8 | SRC_URI[sha256sum] = "c328c4cf1424629cb67c83689ccc1f95967abcb4c03dffd437e93b799ff151c1" | ||
9 | |||
10 | PNBLACKLIST[edbus] ?= "Depends on blacklisted ecore - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
11 | |||
12 | PNBLACKLIST[edbus] ?= "Depends on blacklisted eina - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
13 | |||
14 | PNBLACKLIST[edbus] ?= "Runtime depends on blacklisted edbus - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
15 | |||
16 | PNBLACKLIST[edbus] ?= "Runtime depends on blacklisted edbus-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/efl/edje-fpu.inc b/meta-efl/recipes-efl/efl/edje-fpu.inc deleted file mode 100644 index 32a6daf7d..000000000 --- a/meta-efl/recipes-efl/efl/edje-fpu.inc +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | |||
2 | def get_edje_fpu_setting(bb, d): | ||
3 | if d.getVar('TARGET_FPU') in [ 'soft' ]: | ||
4 | return "--enable-fixed-point" | ||
5 | return "" | ||
6 | |||
diff --git a/meta-efl/recipes-efl/efl/efl.inc b/meta-efl/recipes-efl/efl/efl.inc deleted file mode 100644 index 4cd21bfd0..000000000 --- a/meta-efl/recipes-efl/efl/efl.inc +++ /dev/null | |||
@@ -1,290 +0,0 @@ | |||
1 | SUMMARY = "EFL" | ||
2 | LICENSE = "MIT & BSD & LGPL-2.1" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=ca7873210523dcfd32694b94286dca60" | ||
4 | |||
5 | DEPENDS_class-native = "freetype-native libxext-native libpng-native jpeg-native tiff-native libfribidi-native glib-2.0-native dbus-native openssl-native" | ||
6 | DEPENDS = "virtual/libiconv tslib curl glib-2.0 gnutls pkgconfig zlib jpeg openssl libsndfile1 dbus libexif librsvg freetype libpng tiff libxext virtual/libx11 libxdamage libxrender fontconfig libfribidi giflib udev libxcursor libxcomposite libxinerama libxrandr libxtst libxscrnsaver efl-native util-linux libunwind" | ||
7 | |||
8 | inherit efl gettext pkgconfig | ||
9 | |||
10 | BBCLASSEXTEND = "native" | ||
11 | |||
12 | PROVIDES += "ecore edje eet eeze efreet eina eio embryo emotion ethumb evas eldbus" | ||
13 | |||
14 | # we don't have bullet for physics | ||
15 | # You have chosen to disable physics support. This disables lots of | ||
16 | # core functionality and is effectively never tested. You are going | ||
17 | # to find features that suddenly don't work and as a result cause | ||
18 | # a series of breakages. This is simply not tested so you are on | ||
19 | # your own in terms of ensuring everything works if you do this | ||
20 | EXTRA_OECONF = " \ | ||
21 | --disable-physics \ | ||
22 | --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aba \ | ||
23 | " | ||
24 | EXTRA_OECONF_append_class-target = " \ | ||
25 | --with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \ | ||
26 | --with-eolian-gen=${STAGING_BINDIR_NATIVE}/eolian_gen \ | ||
27 | --with-eolian-cxx=${STAGING_BINDIR_NATIVE}/eolian_cxx \ | ||
28 | --with-elua=${STAGING_BINDIR_NATIVE}/elua \ | ||
29 | " | ||
30 | EXTRA_OECONF_append_class-native = " \ | ||
31 | --disable-fontconfig \ | ||
32 | --disable-audio \ | ||
33 | --disable-physics \ | ||
34 | --disable-multisense \ | ||
35 | --disable-cserve \ | ||
36 | --disable-libeeze \ | ||
37 | --with-x11=none \ | ||
38 | --disable-image-loader-bmp \ | ||
39 | --disable-image-loader-eet \ | ||
40 | --disable-image-loader-generic \ | ||
41 | --disable-image-loader-gif \ | ||
42 | --disable-image-loader-ico \ | ||
43 | --disable-image-loader-jp2k \ | ||
44 | --disable-image-loader-pmaps \ | ||
45 | --disable-image-loader-psd \ | ||
46 | --disable-image-loader-tga \ | ||
47 | --disable-image-loader-wbmp \ | ||
48 | --disable-image-loader-webp \ | ||
49 | --disable-image-loader-xpm \ | ||
50 | --disable-image-loader-tgv \ | ||
51 | --disable-image-loader-dds \ | ||
52 | " | ||
53 | |||
54 | PACKAGECONFIG ?= "egl opengl-es gstreamer1 pulseaudio luajit ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}" | ||
55 | PACKAGECONFIG_class-native = "luajit" | ||
56 | |||
57 | PACKAGECONFIG[wayland] = "--enable-wayland --enable-wayland-ivi-shell,--disable-wayland --disable-wayland-ivi-shell,wayland" | ||
58 | PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl" | ||
59 | # sort of tri-state | ||
60 | PACKAGECONFIG[opengl-full] = "--with-opengl=full,,virtual/libgl" | ||
61 | PACKAGECONFIG[opengl-es] = "--with-opengl=es,,virtual/libgles2" | ||
62 | PACKAGECONFIG[opengl-none] = "--with-opengl=none,," | ||
63 | # be aware when enabling this for efl-native, we don't provide gcc-native so you need to make | ||
64 | # sure that all your builders have g++ which supports -std=gnu++11 | ||
65 | PACKAGECONFIG[c++11] = "--enable-cxx-bindings,--disable-cxx-bindings" | ||
66 | PACKAGECONFIG[gstreamer] = "--enable-gstreamer,--disable-gstreamer,gstreamer" | ||
67 | PACKAGECONFIG[gstreamer1] = "--enable-gstreamer1,--disable-gstreamer1,gstreamer1.0 gstreamer1.0-plugins-base" | ||
68 | PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio" | ||
69 | PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" | ||
70 | PACKAGECONFIG[luajit] = "--disable-lua-old,--enable-lua-old,luajit" | ||
71 | PACKAGECONFIG[lua-old] = "--enable-lua-old,--disable-lua-old,lua" | ||
72 | PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi" | ||
73 | # currently we don't provide doxygen-native | ||
74 | PACKAGECONFIG[doc] = "--enable-doc,--disable-doc,doxygen-native" | ||
75 | |||
76 | do_install_append() { | ||
77 | # don't ship precompiled lua files | ||
78 | rm -f ${datadir}/elua/*/*.luac | ||
79 | } | ||
80 | |||
81 | PACKAGES =+ "edje-utils embryo-utils embryo-tests efreet-trash efreet-mime libeet libefreet ecore-audio ecore-input-evas ecore-input ecore-imf-evas ecore-imf ecore-file ecore-con ecore-ipc ecore-x ecore-evas libemotion eo ecore edje eet eeze efreet eina eio embryo emotion ethumb evas eldbus elua" | ||
82 | |||
83 | # upgrade path from 1.7 | ||
84 | DEBIAN_NOAUTONAME_ecore-audio = "1" | ||
85 | DEBIAN_NOAUTONAME_ecore-input-evas = "1" | ||
86 | DEBIAN_NOAUTONAME_ecore-input = "1" | ||
87 | DEBIAN_NOAUTONAME_ecore-imf-evas = "1" | ||
88 | DEBIAN_NOAUTONAME_ecore-imf = "1" | ||
89 | DEBIAN_NOAUTONAME_ecore-file = "1" | ||
90 | DEBIAN_NOAUTONAME_ecore-con = "1" | ||
91 | DEBIAN_NOAUTONAME_ecore-ipc = "1" | ||
92 | DEBIAN_NOAUTONAME_ecore-x = "1" | ||
93 | DEBIAN_NOAUTONAME_ecore-evas = "1" | ||
94 | DEBIAN_NOAUTONAME_embryo = "1" | ||
95 | |||
96 | ALLOW_EMPTY_ecore = "1" | ||
97 | RDEPENDS_ecore = "ecore-audio ecore-input-evas ecore-input ecore-imf-evas ecore-imf ecore-file ecore-con ecore-ipc ecore-x ecore-evas" | ||
98 | |||
99 | python populate_packages_prepend () { | ||
100 | for plugin_type in "engines loaders savers".split(): | ||
101 | bb.note( "splitting packages for evas %s..." % plugin_type ) | ||
102 | basedir = d.expand( '${libdir}/evas/modules/%s' % plugin_type) | ||
103 | |||
104 | do_split_packages(d, basedir, '^(.*)', | ||
105 | output_pattern = 'evas-' + plugin_type[:-1] + "-%s", | ||
106 | description = 'Evas module %s', | ||
107 | allow_dirs=True, recursive=False, extra_depends="" ) | ||
108 | |||
109 | plugin_type = "cserve2" | ||
110 | bb.note( "splitting packages for evas %s..." % plugin_type ) | ||
111 | basedir = d.expand( '${libdir}/evas/%s/loaders' % plugin_type) | ||
112 | |||
113 | do_split_packages(d, basedir, '^(.*)', | ||
114 | output_pattern = 'evas-' + plugin_type + "-%s", | ||
115 | description = 'Evas csever2 loader module %s', | ||
116 | allow_dirs=True, recursive=False, extra_depends="" ) | ||
117 | } | ||
118 | |||
119 | PACKAGES += "evas-loader-png evas-engine-software-generic evas-engine-fb" | ||
120 | PACKAGES_DYNAMIC += "^evas-engine-.* ^evas-loader-.* ^evas-saver-.* ^evas-cserve2-.*" | ||
121 | |||
122 | # PACKAGES_DYNAMIC + do_split_packages isn't used for all libe libs, | ||
123 | # because PACKAGES_DYNAMIC would be catching too many patterns | ||
124 | # (or need to list all possible prefixes) and not all original packages | ||
125 | # were splitted like that, so it would need RCONFLICTS/RPROVIDES/RREPLACES | ||
126 | # combos at least in few places for upgrade path. | ||
127 | |||
128 | FILES_efreet-trash = " \ | ||
129 | ${libdir}/libefreet_trash${SOLIBS} \ | ||
130 | " | ||
131 | FILES_efreet-mime = " \ | ||
132 | ${libdir}/libefreet_mime${SOLIBS} \ | ||
133 | " | ||
134 | FILES_libeet = " \ | ||
135 | ${libdir}/libeet${SOLIBS} \ | ||
136 | " | ||
137 | FILES_libefreet = " \ | ||
138 | ${libdir}/libefreet${SOLIBS} \ | ||
139 | " | ||
140 | FILES_ecore-audio = "\ | ||
141 | ${libdir}/libecore_audio${SOLIBS} \ | ||
142 | " | ||
143 | FILES_ecore-input-evas = "\ | ||
144 | ${libdir}/libecore_input_evas${SOLIBS} \ | ||
145 | " | ||
146 | FILES_ecore-input = "\ | ||
147 | ${libdir}/libecore_input${SOLIBS} \ | ||
148 | " | ||
149 | FILES_ecore-imf-evas = "\ | ||
150 | ${libdir}/libecore_imf_evas${SOLIBS} \ | ||
151 | ${libdir}/ecore-imf/modules/*/*/module.so \ | ||
152 | " | ||
153 | FILES_ecore-imf = "\ | ||
154 | ${libdir}/libecore_imf${SOLIBS} \ | ||
155 | " | ||
156 | |||
157 | FILES_ecore-file = "\ | ||
158 | ${libdir}/libecore_file${SOLIBS} \ | ||
159 | " | ||
160 | FILES_ecore-con = "\ | ||
161 | ${libdir}/libecore_con${SOLIBS} \ | ||
162 | " | ||
163 | FILES_ecore-ipc = "\ | ||
164 | ${libdir}/libecore_ipc${SOLIBS} \ | ||
165 | " | ||
166 | FILES_ecore-x = "\ | ||
167 | ${libdir}/libecore_x${SOLIBS} \ | ||
168 | ${libdir}/ecore_x/bin/v-*/ecore_x_vsync \ | ||
169 | " | ||
170 | FILES_ecore-evas = "\ | ||
171 | ${libdir}/libecore_evas${SOLIBS} \ | ||
172 | ${libdir}/ecore-evas/engines/*/*/module.so \ | ||
173 | " | ||
174 | FILES_eio = "\ | ||
175 | ${libdir}/libeio${SOLIBS} \ | ||
176 | " | ||
177 | FILES_eina = "\ | ||
178 | ${libdir}/libeina${SOLIBS} \ | ||
179 | ${bindir}/eina-bench-cmp \ | ||
180 | " | ||
181 | FILES_edje-utils = "\ | ||
182 | ${bindir}/edje_* \ | ||
183 | ${datadir}/edje/include/edje.inc \ | ||
184 | " | ||
185 | FILES_eldbus = "\ | ||
186 | ${libdir}/libeldbus${SOLIBS} \ | ||
187 | " | ||
188 | FILES_eo = "\ | ||
189 | ${libdir}/libeo${SOLIBS} \ | ||
190 | " | ||
191 | FILES_libemotion = "\ | ||
192 | ${libdir}/libemotion${SOLIBS} \ | ||
193 | " | ||
194 | FILES_efreet = " \ | ||
195 | ${datadir}/dbus-1/services/*Efreet* \ | ||
196 | ${libdir}/efreet/*/efreet*create \ | ||
197 | ${bindir}/efreetd \ | ||
198 | ${datadir}/efreet \ | ||
199 | " | ||
200 | FILES_eet = " \ | ||
201 | ${bindir}/eet \ | ||
202 | ${bindir}/eetpack \ | ||
203 | ${bindir}/vieet \ | ||
204 | ${bindir}/diffeet \ | ||
205 | ${libdir}/libeet${SOLIBS} \ | ||
206 | " | ||
207 | FILES_emotion = " \ | ||
208 | ${datadir}/emotion \ | ||
209 | ${libdir}/emotion/modules/gstreamer1/*/module.so \ | ||
210 | " | ||
211 | FILES_embryo-tests = " \ | ||
212 | ${datadir}/embryo/ \ | ||
213 | " | ||
214 | FILES_embryo-utils = " \ | ||
215 | ${binddir}/embryo_* \ | ||
216 | " | ||
217 | FILES_embryo = " \ | ||
218 | ${libdir}/libembryo${SOLIBS} \ | ||
219 | " | ||
220 | FILES_ethumb = " \ | ||
221 | ${datadir}/dbus-1/services/*Ethumb* \ | ||
222 | ${libdir}/libethumb${SOLIBS} \ | ||
223 | ${libdir}/libethumb_client${SOLIBS} \ | ||
224 | ${bindir}/ethumbd \ | ||
225 | ${bindir}/ethumbd_client \ | ||
226 | ${bindir}/ethumb \ | ||
227 | ${libdir}/ethumb/*/*/*/module.so \ | ||
228 | ${libdir}/ethumb/*/*/*/*.edj \ | ||
229 | ${libdir}/ethumb_client/utils/*/ethumbd_slave \ | ||
230 | ${datadir}/ethumb* \ | ||
231 | " | ||
232 | FILES_ecore = " \ | ||
233 | ${libdir}/libecore${SOLIBS} \ | ||
234 | ${libdir}/ecore*/*/*/*/module.so \ | ||
235 | ${datadir}/ecore* \ | ||
236 | " | ||
237 | FILES_evas = " \ | ||
238 | ${libdir}/libevas${SOLIBS} \ | ||
239 | ${libdir}/evas*/*/*/*/*/module.so \ | ||
240 | ${libdir}/evas*/*/*/*/*/*.edj \ | ||
241 | ${libdir}/evas/cserve2/bin/*/evas_cserve2* \ | ||
242 | ${datadir}/evas* \ | ||
243 | ${bindir}/evas_cserve2_* \ | ||
244 | " | ||
245 | |||
246 | FILES_eeze = " \ | ||
247 | ${libdir}/libeeze${SOLIBS} \ | ||
248 | ${libdir}/eeze*/*/*/*/*/module.so \ | ||
249 | ${datadir}/eeze \ | ||
250 | ${bindir}/eeze_* \ | ||
251 | " | ||
252 | FILES_edje = " \ | ||
253 | ${libdir}/libedje${SOLIBS} \ | ||
254 | ${libdir}/edje*/*/*/*/module.so \ | ||
255 | ${libdir}/edje/utils/*/epp \ | ||
256 | ${datadir}/edje \ | ||
257 | ${datadir}/mime \ | ||
258 | " | ||
259 | FILES_elua = " \ | ||
260 | ${bindir}/elua \ | ||
261 | ${datadir}/elua \ | ||
262 | " | ||
263 | FILES_${PN}-dbg += " \ | ||
264 | ${libdir}/efreet/*/.debug \ | ||
265 | ${libdir}/ecore*/*/*/*/.debug \ | ||
266 | ${libdir}/ecore*/*/*/.debug \ | ||
267 | ${libdir}/evas*/*/*/*/*/.debug \ | ||
268 | ${libdir}/evas/cserve2/bin/*/.debug \ | ||
269 | ${libdir}/eeze*/*/*/*/*/.debug \ | ||
270 | ${libdir}/edje*/*/*/*/.debug \ | ||
271 | ${libdir}/edje/utils/*/.debug \ | ||
272 | ${libdir}/ethumb/*/*/*/.debug \ | ||
273 | ${libdir}/ethumb_client/utils/*/.debug \ | ||
274 | ${libdir}/emotion/modules/gstreamer1/*/.debug \ | ||
275 | " | ||
276 | FILES_${PN}-dev += " \ | ||
277 | ${libdir}/cmake \ | ||
278 | ${libdir}/ecore*/*/*/*/module.la \ | ||
279 | ${libdir}/evas*/*/*/*/*/module.la \ | ||
280 | ${libdir}/ethumb*/*/*/*/module.la \ | ||
281 | ${libdir}/eeze*/*/*/*/*/module.la \ | ||
282 | ${libdir}/edje*/*/*/*/module.la \ | ||
283 | ${libdir}/emotion/modules/gstreamer1/*/module.la \ | ||
284 | ${datadir}/gdb/auto-load \ | ||
285 | ${datadir}/eo/gdb \ | ||
286 | ${bindir}/eldbus-codegen \ | ||
287 | " | ||
288 | |||
289 | PNBLACKLIST[efl] ?= "Depends on broken efl-native - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
290 | PNBLACKLIST[efl-native] ?= "Broken: fails to build with http://errors.yoctoproject.org/Errors/Details/138240/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/efl/efl/0001-configure.ac-Don-t-check-for-Xprint-extension.patch b/meta-efl/recipes-efl/efl/efl/0001-configure.ac-Don-t-check-for-Xprint-extension.patch deleted file mode 100644 index fa85f817e..000000000 --- a/meta-efl/recipes-efl/efl/efl/0001-configure.ac-Don-t-check-for-Xprint-extension.patch +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | From 27aedcdcdafbf079dc022bab72ec309cf7db3172 Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Fri, 10 Jan 2014 17:07:13 +0100 | ||
4 | Subject: [PATCH 1/3] configure.ac: Don't check for Xprint extension | ||
5 | |||
6 | * it's long gone | ||
7 | |||
8 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
9 | --- | ||
10 | configure.ac | 1 - | ||
11 | 1 file changed, 1 deletion(-) | ||
12 | |||
13 | diff --git a/configure.ac b/configure.ac | ||
14 | index c108b1b..f019bfc 100644 | ||
15 | --- a/configure.ac | ||
16 | +++ b/configure.ac | ||
17 | @@ -3474,7 +3474,6 @@ if test "x${want_x11_xlib}" = "xyes" ; then | ||
18 | ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension]) | ||
19 | ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion]) | ||
20 | ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens]) | ||
21 | - ECORE_CHECK_X_EXTENSION([Xprint], [Print.h], [Xp], [XpQueryScreens]) | ||
22 | ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRGetScreenResourcesCurrent]) | ||
23 | ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat]) | ||
24 | ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent]) | ||
25 | -- | ||
26 | 2.3.0 | ||
27 | |||
diff --git a/meta-efl/recipes-efl/efl/efl/0001-evas_3d-Add-Eet.h-includes.patch b/meta-efl/recipes-efl/efl/efl/0001-evas_3d-Add-Eet.h-includes.patch deleted file mode 100644 index d0f26c7dd..000000000 --- a/meta-efl/recipes-efl/efl/efl/0001-evas_3d-Add-Eet.h-includes.patch +++ /dev/null | |||
@@ -1,51 +0,0 @@ | |||
1 | From 2e50fd2dfc68b77e7acddc79550f22987778a897 Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Tue, 2 Dec 2014 12:21:10 +0100 | ||
4 | Subject: [PATCH] evas_3d: Add Eet.h includes | ||
5 | |||
6 | * with some very restrictive options like we use in efl-native, the build is complaining | ||
7 | about missing symbols from Eet.h, add include where needed | ||
8 | |||
9 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
10 | --- | ||
11 | src/lib/evas/canvas/evas_canvas3d_eet.c | 1 + | ||
12 | src/modules/evas/model_loaders/eet/evas_model_load_eet.c | 1 + | ||
13 | src/modules/evas/model_savers/eet/evas_model_save_eet.c | 1 + | ||
14 | 3 files changed, 3 insertions(+) | ||
15 | |||
16 | diff --git a/src/lib/evas/canvas/evas_canvas3d_eet.c b/src/lib/evas/canvas/evas_canvas3d_eet.c | ||
17 | index 281f69d..a604076 100644 | ||
18 | --- a/src/lib/evas/canvas/evas_canvas3d_eet.c | ||
19 | +++ b/src/lib/evas/canvas/evas_canvas3d_eet.c | ||
20 | @@ -1,3 +1,4 @@ | ||
21 | +#include <Eet.h> | ||
22 | #include <stdio.h> | ||
23 | #include "evas_common_private.h" | ||
24 | #include "evas_private.h" | ||
25 | diff --git a/src/modules/evas/model_loaders/eet/evas_model_load_eet.c b/src/modules/evas/model_loaders/eet/evas_model_load_eet.c | ||
26 | index 803846d..7ebaf8e 100644 | ||
27 | --- a/src/modules/evas/model_loaders/eet/evas_model_load_eet.c | ||
28 | +++ b/src/modules/evas/model_loaders/eet/evas_model_load_eet.c | ||
29 | @@ -3,6 +3,7 @@ | ||
30 | #endif | ||
31 | |||
32 | #include <Eo.h> | ||
33 | +#include <Eet.h> | ||
34 | #include <stdio.h> | ||
35 | #include "evas_common_private.h" | ||
36 | #include "evas_private.h" | ||
37 | diff --git a/src/modules/evas/model_savers/eet/evas_model_save_eet.c b/src/modules/evas/model_savers/eet/evas_model_save_eet.c | ||
38 | index 71e094a..4d56977 100644 | ||
39 | --- a/src/modules/evas/model_savers/eet/evas_model_save_eet.c | ||
40 | +++ b/src/modules/evas/model_savers/eet/evas_model_save_eet.c | ||
41 | @@ -2,6 +2,7 @@ | ||
42 | #include "config.h" | ||
43 | #endif | ||
44 | |||
45 | +#include <Eet.h> | ||
46 | #include <stdio.h> | ||
47 | #include "evas_common_private.h" | ||
48 | #include "evas_private.h" | ||
49 | -- | ||
50 | 2.5.0 | ||
51 | |||
diff --git a/meta-efl/recipes-efl/efl/efl_1.15.1.bb b/meta-efl/recipes-efl/efl/efl_1.15.1.bb deleted file mode 100644 index 9f18531de..000000000 --- a/meta-efl/recipes-efl/efl/efl_1.15.1.bb +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | require ${BPN}.inc | ||
2 | |||
3 | SRC_URI = "\ | ||
4 | ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \ | ||
5 | file://0001-configure.ac-Don-t-check-for-Xprint-extension.patch \ | ||
6 | file://0001-evas_3d-Add-Eet.h-includes.patch \ | ||
7 | " | ||
8 | |||
9 | SRC_URI[md5sum] = "dc91bcab73275f678e1748a2dea8d88a" | ||
10 | SRC_URI[sha256sum] = "2a6d0ab28020b4741be20b32ad0ffeb8f97f766c5c32175bacc2f2d0dc52f98c" | ||
11 | |||
12 | # Temporary disable until error like the one following are fixed | ||
13 | # efl-native/2_1.8.4-r0/efl-1.8.4/src/lib/eet/.libs/libeet.so: file not recognized: File truncated | ||
14 | # collect2: error: ld returned 1 exit status | ||
15 | # x86_64-linux-libtool: install: error: relink `modules/evas/savers/tiff/module.la' with the above command before installing it | ||
16 | # Makefile:11031: recipe for target 'install-savertiffpkgLTLIBRARIES' failed | ||
17 | PARALLEL_MAKE_class-native = "" | ||
18 | |||
19 | #EFL_RUN_IN_TREE=1 ../src/bin/eolian/eolian_gen --eo --legacy -I/OE/build/shr-core/tmp-eglibc/work/x86_64-linux/efl-native/2_1.10.0-r0/efl-1.10.0/src/lib/eo -I/OE/build/shr-core/tmp-eglibc/work/x86_64-linux/efl-native/2_1.10.0-r0/efl-1.10.0/src/lib/evas/canvas -I/OE/build/shr-core/tmp-eglibc/work/x86_64-linux/efl-native/2_1.10.0-r0/efl-1.10.0/src/lib/edje -I/OE/build/shr-core/tmp-eglibc/work/x86_64-linux/efl-native/2_1.10.0-r0/efl-1.10.0/src/lib/ecore_audio --gc -o lib/evas/canvas/evas_line.eo.c /OE/build/shr-core/tmp-eglibc/work/x86_64-linux/efl-native/2_1.10.0-r0/efl-1.10.0/src/lib/evas/canvas/evas_line.eo | ||
20 | #ERR<32439>:eolian_gen /OE/build/shr-core/tmp-eglibc/work/x86_64-linux/efl-native/2_1.10.0-r0/efl-1.10.0/src/bin/eolian/main.c:103 _generate_c_file() Couldnt open file lib/evas/canvas/evas_line.eo.c for writing | ||
21 | #Makefile:30738: recipe for target 'lib/evas/canvas/evas_line.eo.c' failed | ||
22 | #make[2]: *** [lib/evas/canvas/evas_line.eo.c] Error 1 | ||
23 | #Makefile:2163: recipe for target 'all-recursive' failed | ||
24 | # autotools-brokensep | ||
25 | B = "${S}" | ||
26 | |||
27 | #ld: error: modules/evas/image_loaders/png/bin_evas_evas_cserve2_slave-evas_image_load_png.o: requires unsupported dynamic reloc R_ARM_MOVW_ABS_NC; recompile with -fPIC | ||
28 | #ld: error: modules/evas/image_loaders/png/bin_evas_evas_cserve2_slave-evas_image_load_png.o: requires unsupported dynamic reloc R_ARM_MOVW_ABS_NC; recompile with -fPIC | ||
29 | CFLAGS += "-fPIC" | ||
diff --git a/meta-efl/recipes-efl/efl/elementary-theme-efenniht/LICENSE b/meta-efl/recipes-efl/efl/elementary-theme-efenniht/LICENSE deleted file mode 100644 index 61bb2f603..000000000 --- a/meta-efl/recipes-efl/efl/elementary-theme-efenniht/LICENSE +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | Copyright notice for Enlightenment: | ||
2 | |||
3 | Copyright (C) 2000-2010 Carsten Haitzler and various contributors (see AUTHORS) | ||
4 | |||
5 | All rights reserved. | ||
6 | |||
7 | Redistribution and use in source and binary forms, with or without | ||
8 | modification, are permitted provided that the following conditions are met: | ||
9 | |||
10 | 1. Redistributions of source code must retain the above copyright | ||
11 | notice, this list of conditions and the following disclaimer. | ||
12 | 2. Redistributions in binary form must reproduce the above copyright | ||
13 | notice, this list of conditions and the following disclaimer in the | ||
14 | documentation and/or other materials provided with the distribution. | ||
15 | |||
16 | THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, | ||
17 | INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | ||
18 | FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | ||
19 | COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
20 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
21 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, | ||
22 | OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | ||
23 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | ||
24 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | ||
25 | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
diff --git a/meta-efl/recipes-efl/efl/elementary-theme-efenniht_svn.bb b/meta-efl/recipes-efl/efl/elementary-theme-efenniht_svn.bb deleted file mode 100644 index 783d12304..000000000 --- a/meta-efl/recipes-efl/efl/elementary-theme-efenniht_svn.bb +++ /dev/null | |||
@@ -1,44 +0,0 @@ | |||
1 | DESCRIPTION = "efenniht elementary theme - Efenniht was devised to be clean \ | ||
2 | and neutral. Its name (which means equinox) comes from the chromatic duality \ | ||
3 | that was decided at the very beginning, with a dark theme (black and orange) \ | ||
4 | and a bright one (white and blue) to be developed so that more people feel \ | ||
5 | comfortable using it. Efenniht uses few animations, discrete contrasts between \ | ||
6 | shades of gray and fine lines (colored) that outline the selected elements." | ||
7 | SECTION = "e/utils" | ||
8 | HOMEPAGE = "http://trac.enlightenment.org/e/wiki/Themes#Efenniht" | ||
9 | DEPENDS = "edje-native" | ||
10 | RSUGGESTS_${PN} = "e-wm-theme-illume-efenniht" | ||
11 | LICENSE = "MIT & BSD" | ||
12 | LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2" | ||
13 | |||
14 | SRCREV_THM_REV ?= "${EFL_SRCREV}" | ||
15 | SRCREV_ELM_REV ?= "${EFL_SRCREV}" | ||
16 | |||
17 | SRCREV_FORMAT = "THM_REV" | ||
18 | PV = "0.0+svnr${SRCPV}" | ||
19 | PR = "r1" | ||
20 | |||
21 | inherit e-base allarch | ||
22 | |||
23 | SRCNAME = "efenniht" | ||
24 | SRC_URI = "${E_SVN}/trunk/THEMES;module=${SRCNAME};protocol=http;name=THM_REV" | ||
25 | SRC_URI += "${E_SVN}/trunk/elementary/data;module=themes;protocol=http;name=ELM_REV" | ||
26 | SRC_URI += "file://LICENSE" | ||
27 | S = "${WORKDIR}/${SRCNAME}" | ||
28 | |||
29 | do_compile() { | ||
30 | ${STAGING_BINDIR_NATIVE}/edje_cc -id ${S}/images -id ${WORKDIR}/themes/images ${S}/elm-efenniht.edc -o ${S}/elm-efenniht.edj | ||
31 | } | ||
32 | |||
33 | do_install() { | ||
34 | install -d ${D}${datadir}/elementary/themes/ | ||
35 | install -m 0644 ${S}/elm-efenniht.edj ${D}${datadir}/elementary/themes/ | ||
36 | } | ||
37 | |||
38 | FILES_${PN} = "${datadir}/elementary/themes/" | ||
39 | |||
40 | PNBLACKLIST[elementary-theme-efenniht] ?= "Depends on blacklisted edje-native - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
41 | |||
42 | PNBLACKLIST[elementary-theme-efenniht] ?= "Runtime depends on blacklisted elementary-theme-efenniht - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
43 | |||
44 | PNBLACKLIST[elementary-theme-efenniht] ?= "Runtime depends on blacklisted elementary-theme-efenniht-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/efl/elementary.inc b/meta-efl/recipes-efl/efl/elementary.inc deleted file mode 100644 index cec67aa72..000000000 --- a/meta-efl/recipes-efl/efl/elementary.inc +++ /dev/null | |||
@@ -1,89 +0,0 @@ | |||
1 | DESCRIPTION = "EFL based widget set for mobile devices" | ||
2 | LICENSE = "LGPLv2.1" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=a173054a93896e933df53e3382d472c2" | ||
4 | DEPENDS = "eet-native edje-native elementary-native efreet evas ecore edje eet eldbus ethumb eio" | ||
5 | DEPENDS_class-native = "efl-native" | ||
6 | |||
7 | inherit efl gettext | ||
8 | |||
9 | EXTRA_OECONF_append_class-target = "\ | ||
10 | --with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \ | ||
11 | --with-eet-eet=${STAGING_BINDIR_NATIVE}/eet \ | ||
12 | --with-elementary-codegen=${STAGING_BINDIR_NATIVE}/elementary_codegen \ | ||
13 | --with-elm-prefs-cc=${STAGING_BINDIR_NATIVE}/elm_prefs_cc \ | ||
14 | --with-eolian-gen=${STAGING_BINDIR_NATIVE}/eolian_gen \ | ||
15 | --with-eolian-cxx=${STAGING_BINDIR_NATIVE}/eolian_cxx \ | ||
16 | " | ||
17 | |||
18 | BBCLASSEXTEND = "native" | ||
19 | |||
20 | PACKAGECONFIG[eweather] = "--enable-eweather,--disable-eweather,libeweather" | ||
21 | PACKAGECONFIG[ewebkit] = "--with-elementary-web-backend=ewebkit,--with-elementary-web-backend=none,webkit-efl" | ||
22 | # be aware when enabling this for efl-native, we don't provide gcc-native so you need to make | ||
23 | # sure that all your builders have g++ which supports -std=gnu++11 | ||
24 | PACKAGECONFIG[c++11] = "--enable-cxx-bindings,--disable-cxx-bindings" | ||
25 | |||
26 | do_configure_prepend() { | ||
27 | # prefix returned eolian paths with STAGING_DIR_HOST | ||
28 | sed -i 's%^\(DEPS_EOLIAN_FLAGS=`.*\)`$%\1 | sed "s#-I\\${prefix}#-I\\${STAGING_DIR_HOST}\\${prefix}#g"`%g' ${S}/configure.ac | ||
29 | } | ||
30 | |||
31 | do_compile_append_class-target() { | ||
32 | sed -i -e s:${STAGING_DIR_TARGET}::g \ | ||
33 | -e s:/${TARGET_SYS}::g \ | ||
34 | elementary.pc | ||
35 | } | ||
36 | |||
37 | PACKAGES += "${PN}-configs ${PN}-accessibility" | ||
38 | |||
39 | RDEPENDS_${PN}_class-native = "" | ||
40 | |||
41 | RDEPENDS_${PN} = "\ | ||
42 | ${PN}-themes \ | ||
43 | ${PN}-configs \ | ||
44 | " | ||
45 | RSUGGESTS_${PN} = "${PN}-tests ${PN}-accessibility" | ||
46 | |||
47 | FILES_${PN} += "\ | ||
48 | ${libdir}/edje/modules/elm \ | ||
49 | ${libdir}/elementary/modules/datetime_input_ctxpopup/*/module.so \ | ||
50 | ${libdir}/elementary/modules/prefs/*/module.so \ | ||
51 | ${libdir}/elementary/modules/prefs/*/*.edj \ | ||
52 | " | ||
53 | |||
54 | FILES_${PN}-dev += "\ | ||
55 | ${bindir}/elm_prefs_cc \ | ||
56 | ${libdir}/elementary/modules/*/*/module.la \ | ||
57 | ${libdir}/cmake \ | ||
58 | " | ||
59 | |||
60 | FILES_${PN}-themes = "\ | ||
61 | ${datadir}/elementary/themes \ | ||
62 | " | ||
63 | |||
64 | FILES_${PN}-configs = "\ | ||
65 | ${datadir}/elementary/config \ | ||
66 | " | ||
67 | |||
68 | FILES_${PN}-dbg += "\ | ||
69 | ${libdir}/elementary/modules/*/*/.debug \ | ||
70 | ${libdir}/edje/modules/elm/*/.debug \ | ||
71 | " | ||
72 | |||
73 | FILES_${PN}-tests = "\ | ||
74 | ${bindir}/elementary* \ | ||
75 | ${datadir}/elementary/images \ | ||
76 | ${datadir}/elementary/objects \ | ||
77 | ${datadir}/elementary/examples \ | ||
78 | ${datadir}/applications/* \ | ||
79 | ${datadir}/icons/* \ | ||
80 | ${libdir}/elementary/modules/test_entry/* \ | ||
81 | ${libdir}/elementary/modules/test_map/* \ | ||
82 | " | ||
83 | |||
84 | FILES_${PN}-accessibility = "\ | ||
85 | ${libdir}/elementary/modules/access_output/* \ | ||
86 | " | ||
87 | |||
88 | # Some upgrade path tweaking, as in evas | ||
89 | AUTO_LIBNAME_PKGS = "" | ||
diff --git a/meta-efl/recipes-efl/efl/elementary/0001-Makefile-Use-elementary_codegen-defined-in-configure.patch b/meta-efl/recipes-efl/efl/elementary/0001-Makefile-Use-elementary_codegen-defined-in-configure.patch deleted file mode 100644 index 9524c70d7..000000000 --- a/meta-efl/recipes-efl/efl/elementary/0001-Makefile-Use-elementary_codegen-defined-in-configure.patch +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | From 75d104d105aa03dd9d446fa7d84fa95e0f566cf9 Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Sat, 11 Jan 2014 12:55:59 +0100 | ||
4 | Subject: [PATCH] Makefile: Use elementary_codegen defined in configure | ||
5 | |||
6 | * using binaries from top_buildir doesn't work when cross-compiling elementary | ||
7 | where we need to pass native binaries in configure params | ||
8 | |||
9 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
10 | --- | ||
11 | src/examples/Makefile.am | 2 +- | ||
12 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
13 | |||
14 | diff --git a/src/examples/Makefile.am b/src/examples/Makefile.am | ||
15 | index fc35c75..1e10b0b 100644 | ||
16 | --- a/src/examples/Makefile.am | ||
17 | +++ b/src/examples/Makefile.am | ||
18 | @@ -29,7 +29,7 @@ LDADD = \ | ||
19 | @ELEMENTARY_X_LIBS@ \ | ||
20 | $(top_builddir)/src/lib/libelementary.la | ||
21 | |||
22 | -ELEMENTARY_CODEGEN = $(top_builddir)/src/bin/@ELEMENTARY_CODEGEN_PRG@ | ||
23 | +ELEMENTARY_CODEGEN = @elementary_codegen@ | ||
24 | ELEMENTARY_CODEGEN_FLAGS = --prefix=codegen_example | ||
25 | |||
26 | SRCS = \ | ||
27 | -- | ||
28 | 1.9.0 | ||
29 | |||
diff --git a/meta-efl/recipes-efl/efl/elementary_1.15.1.bb b/meta-efl/recipes-efl/efl/elementary_1.15.1.bb deleted file mode 100644 index 40dd8ad27..000000000 --- a/meta-efl/recipes-efl/efl/elementary_1.15.1.bb +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | require ${BPN}.inc | ||
2 | |||
3 | SRC_URI = "\ | ||
4 | ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \ | ||
5 | " | ||
6 | |||
7 | # only for target, because configure doesn't default to sane default when | ||
8 | # these paths aren't passed in -native build | ||
9 | SRC_URI_append_class-target = " file://0001-Makefile-Use-elementary_codegen-defined-in-configure.patch" | ||
10 | |||
11 | SRC_URI[md5sum] = "bde4d85fa10ee8a7c0aeb74e69d7cd06" | ||
12 | SRC_URI[sha256sum] = "ae5540c2103fcdc69fd7469277ce25a8a00a0f701fc2c20771dc0108401e53a0" | ||
13 | |||
14 | # autotools-brokensep - configure updates Elementary.h correctly in ${B}, but then build is using Elementary.h from ${S} | ||
15 | # which includes #define ELM_EMAP (instead of #undef ELM_EMAP) and building fails | ||
16 | B = "${S}" | ||
17 | |||
18 | PNBLACKLIST[elementary] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130584/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/efl/emotion-generic-players.inc b/meta-efl/recipes-efl/efl/emotion-generic-players.inc deleted file mode 100644 index 4ab89ae32..000000000 --- a/meta-efl/recipes-efl/efl/emotion-generic-players.inc +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | DESCRIPTION = "Emotion generic players" | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=a0f11eedf8706bf6d4d6639fb67eb8ae" | ||
4 | |||
5 | DEPENDS = "emotion" | ||
6 | |||
7 | inherit efl | ||
8 | |||
9 | SRCNAME = "emotion_generic_players" | ||
10 | |||
11 | # creates empty packages until you get vlc-2 and enable it here | ||
12 | PACKAGECONFIG ?= "" | ||
13 | # needs eina and ecore from efl and vlc-2 (currently we have 1.11) | ||
14 | PACKAGECONFIG[vlc] = "--with-vlc,--without-vlc,vlc efl" | ||
diff --git a/meta-efl/recipes-efl/efl/emotion-generic-players_1.15.0.bb b/meta-efl/recipes-efl/efl/emotion-generic-players_1.15.0.bb deleted file mode 100644 index ffdd26982..000000000 --- a/meta-efl/recipes-efl/efl/emotion-generic-players_1.15.0.bb +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | require ${BPN}.inc | ||
2 | |||
3 | SRC_URI = "\ | ||
4 | ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \ | ||
5 | " | ||
6 | |||
7 | SRC_URI[md5sum] = "68627c1aabf5b7fe084299adcc0b73c1" | ||
8 | SRC_URI[sha256sum] = "10bad633480a691585b0ba470c573b14da0a010008d9d59d0792cea8c621d423" | ||
9 | |||
10 | PNBLACKLIST[emotion-generic-players] ?= "Depends on blacklisted emotion - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
11 | |||
12 | PNBLACKLIST[emotion-generic-players] ?= "Runtime depends on blacklisted emotion-generic-players - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
13 | |||
14 | PNBLACKLIST[emotion-generic-players] ?= "Runtime depends on blacklisted emotion-generic-players-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/efl/engrave_svn.bb b/meta-efl/recipes-efl/efl/engrave_svn.bb deleted file mode 100644 index f950938c9..000000000 --- a/meta-efl/recipes-efl/efl/engrave_svn.bb +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | SUMMARY = "Engrave is an Edje Editing Library" | ||
2 | LICENSE = "MIT" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=edf2d968b9eb026bfa82cccbd0e6f9f5" | ||
4 | # also requires yacc and lex on host | ||
5 | DEPENDS = "evas ecore flex" | ||
6 | PV = "0.0.0+svnr${SRCPV}" | ||
7 | SRCREV = "${EFL_SRCREV}" | ||
8 | |||
9 | inherit efl autotools-brokensep | ||
10 | SRC_URI = "${E_SVN}/OLD;module=${SRCNAME};protocol=http;scmdata=keep" | ||
11 | S = "${WORKDIR}/${SRCNAME}" | ||
12 | |||
13 | # engrave.l:5:35: fatal error: libengrave_la-engrave.h: No such file or directory | ||
14 | # http://errors.yoctoproject.org/Errors/Details/56597/ | ||
15 | PNBLACKLIST[engrave] ?= "BROKEN: fails to build with latest oe-core - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/efl/entrance/0001-pam-use-common-auth-instead-of-system-auth.patch b/meta-efl/recipes-efl/efl/entrance/0001-pam-use-common-auth-instead-of-system-auth.patch deleted file mode 100644 index a82d1ed3c..000000000 --- a/meta-efl/recipes-efl/efl/entrance/0001-pam-use-common-auth-instead-of-system-auth.patch +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | From 14396c52a2556b1ab778a310a318ec19c2829735 Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Thu, 24 Nov 2011 13:25:33 +0100 | ||
4 | Subject: [PATCH] pam: use common-auth instead of system-auth | ||
5 | |||
6 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
7 | --- | ||
8 | PROTO/entrance/data/entrance | 8 ++++---- | ||
9 | 1 files changed, 4 insertions(+), 4 deletions(-) | ||
10 | |||
11 | diff --git a/data/entrance b/data/entrance | ||
12 | index 872c83d..2b98c3a 100644 | ||
13 | --- a/data/entrance | ||
14 | +++ b/data/entrance | ||
15 | @@ -1,4 +1,4 @@ | ||
16 | -auth include system-auth | ||
17 | -account include system-auth | ||
18 | -password include system-auth | ||
19 | -session include system-auth | ||
20 | +auth include common-auth | ||
21 | +account include common-account | ||
22 | +password include common-password | ||
23 | +session include common-session | ||
24 | -- | ||
25 | 1.7.8.6 | ||
26 | |||
diff --git a/meta-efl/recipes-efl/efl/entrance/entrance.service b/meta-efl/recipes-efl/efl/entrance/entrance.service deleted file mode 100644 index 482868695..000000000 --- a/meta-efl/recipes-efl/efl/entrance/entrance.service +++ /dev/null | |||
@@ -1,8 +0,0 @@ | |||
1 | [Unit] | ||
2 | Description=Login manager for Enlightenment | ||
3 | |||
4 | [Service] | ||
5 | ExecStart=/usr/sbin/entrance | ||
6 | |||
7 | [Install] | ||
8 | Alias=display-manager.service | ||
diff --git a/meta-efl/recipes-efl/efl/entrance_svn.bb b/meta-efl/recipes-efl/efl/entrance_svn.bb deleted file mode 100644 index b1e580dbe..000000000 --- a/meta-efl/recipes-efl/efl/entrance_svn.bb +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | SUMMARY = "Login manager for Enlightenment" | ||
2 | DEPENDS = "efreet eina eet ecore elementary" | ||
3 | LICENSE = "GPLv3+" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" | ||
5 | SECTION = "e/apps" | ||
6 | |||
7 | inherit e gettext systemd | ||
8 | SRC_URI = "${E_SVN}/trunk/PROTO;module=${SRCNAME};protocol=http;scmdata=keep \ | ||
9 | file://0001-pam-use-common-auth-instead-of-system-auth.patch \ | ||
10 | file://entrance.service \ | ||
11 | " | ||
12 | S = "${WORKDIR}/${SRCNAME}" | ||
13 | |||
14 | PNBLACKLIST[entrance] ?= "broken: switch to https://git.enlightenment.org/misc/entrance.git and fix 0.0.4+svnr82070-r7/entrance/data/themes/old/default.edc:678. invalid state name: 'defaault'. "default" state must always be first. - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
15 | |||
16 | PACKAGECONFIG ??= "" | ||
17 | PACKAGECONFIG[consolekit] = "--enable-consolekit,--disable-consolekit,consolekit" | ||
18 | |||
19 | EXTRA_OECONF = "--with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '--disable-pam', d)}" | ||
20 | |||
21 | PR = "r7" | ||
22 | PV = "0.0.4+svnr${SRCPV}" | ||
23 | SRCREV = "${EFL_SRCREV}" | ||
24 | |||
25 | RDEPENDS_${PN} += "${PN}-themes sessreg xauth" | ||
26 | CONFFILES_${PN} += "${sysconfdir}/entrance.conf" | ||
27 | |||
28 | RCONFLICTS_${PN} += "xserver-nodm-init" | ||
29 | RREPLACES_${PN} += "xserver-nodm-init" | ||
30 | |||
31 | RCONFLICTS_${PN} += "xserver-nodm-init-systemd" | ||
32 | RREPLACES_${PN} += "xserver-nodm-init-systemd" | ||
33 | |||
34 | RPROVIDES_${PN} += "${PN}-systemd" | ||
35 | RREPLACES_${PN} += "${PN}-systemd" | ||
36 | RCONFLICTS_${PN} += "${PN}-systemd" | ||
37 | |||
38 | SYSTEMD_SERVICE_${PN} = "entrance.service" | ||
39 | |||
40 | do_install_append() { | ||
41 | install -d ${D}${systemd_unitdir}/system | ||
42 | install -m 0644 ${WORKDIR}/entrance.service ${D}${systemd_unitdir}/system | ||
43 | } | ||
diff --git a/meta-efl/recipes-efl/efl/epdf/0001-remove-antialias-functions-poppler-has-dropped-them-.patch b/meta-efl/recipes-efl/efl/epdf/0001-remove-antialias-functions-poppler-has-dropped-them-.patch deleted file mode 100644 index 728ffa6e3..000000000 --- a/meta-efl/recipes-efl/efl/epdf/0001-remove-antialias-functions-poppler-has-dropped-them-.patch +++ /dev/null | |||
@@ -1,132 +0,0 @@ | |||
1 | From 6691ac5fcbac0e766d4410ae649a13957ae85289 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Thu, 22 Oct 2015 16:27:52 +0200 | ||
4 | Subject: [PATCH 1/2] remove antialias functions - poppler has dropped them in | ||
5 | the API | ||
6 | MIME-Version: 1.0 | ||
7 | Content-Type: text/plain; charset=UTF-8 | ||
8 | Content-Transfer-Encoding: 8bit | ||
9 | |||
10 | The functions removed were not used. | ||
11 | |||
12 | Upstream-Status: pending | ||
13 | |||
14 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
15 | --- | ||
16 | src/lib/epdf_main.h | 45 ----------------------------------- | ||
17 | src/lib/mupdf/epdf_mupdf_main.c | 18 -------------- | ||
18 | src/lib/poppler/epdf_poppler_main.cpp | 21 ---------------- | ||
19 | 3 files changed, 84 deletions(-) | ||
20 | |||
21 | diff --git a/src/lib/epdf_main.h b/src/lib/epdf_main.h | ||
22 | index 54a57ca..0a79bad 100644 | ||
23 | --- a/src/lib/epdf_main.h | ||
24 | +++ b/src/lib/epdf_main.h | ||
25 | @@ -29,49 +29,4 @@ EAPI int epdf_shutdown(); | ||
26 | */ | ||
27 | EAPI const char *epdf_backend_version_get (void); | ||
28 | |||
29 | -/** | ||
30 | - * @brief Return the state of fonts antialiasing in Poppler | ||
31 | - * | ||
32 | - * @return EINA_TRUE if fonts antialiasing enabled, EINA_FALSE otherwise. | ||
33 | - * | ||
34 | - * Return EINA_TRUE if the state of fonts antialiasing is enabled in | ||
35 | - * Poppler, EINA_FALSE otherwise. | ||
36 | - * | ||
37 | - * @ingroup Epdf_Main | ||
38 | - */ | ||
39 | -EAPI Eina_Bool epdf_fonts_antialias_get (void); | ||
40 | - | ||
41 | -/** | ||
42 | - * @brief Sets fonts antialiasing mode in Poppler | ||
43 | - * | ||
44 | - * @param on EINA_TRUE to enable fonts antialiasing, EINA_FALSE to disable | ||
45 | - * | ||
46 | - * Set @p on to EINA_TRUE to enable fonts antialiasing in Poppler, | ||
47 | - * EINA_FALSE to disable it. | ||
48 | - */ | ||
49 | -EAPI void epdf_fonts_antialias_set (Eina_Bool on); | ||
50 | - | ||
51 | -/** | ||
52 | - * @brief Return the state of lines antialiasing in Poppler | ||
53 | - * | ||
54 | - * @return EINA_TRUE if lines antialiasing enabled, EINA_FALSE otherwise. | ||
55 | - * | ||
56 | - * Return EINA_TRUE if the state of lines antialiasing is enabled in | ||
57 | - * Poppler, EINA_FALSE otherwise. | ||
58 | - * | ||
59 | - * @ingroup Epdf_Main | ||
60 | - */ | ||
61 | -EAPI Eina_Bool epdf_lines_antialias_get (void); | ||
62 | - | ||
63 | -/** | ||
64 | - * @brief Sets lines antialiasing mode in Poppler | ||
65 | - * | ||
66 | - * @param on EINA_TRUE to enable lines antialiasing, EINA_FALSE to disable | ||
67 | - * | ||
68 | - * Set @p on to EINA_TRUE to enable lines antialiasing in Poppler, | ||
69 | - * EINA_FALSE to disable it. | ||
70 | - */ | ||
71 | -EAPI void epdf_lines_antialias_set (Eina_Bool on); | ||
72 | - | ||
73 | - | ||
74 | #endif /* __EPDF_MAIN_H__ */ | ||
75 | diff --git a/src/lib/mupdf/epdf_mupdf_main.c b/src/lib/mupdf/epdf_mupdf_main.c | ||
76 | index 17bb830..27c6de2 100644 | ||
77 | --- a/src/lib/mupdf/epdf_mupdf_main.c | ||
78 | +++ b/src/lib/mupdf/epdf_mupdf_main.c | ||
79 | @@ -37,21 +37,3 @@ epdf_backend_version_get (void) | ||
80 | { | ||
81 | return "0.5"; | ||
82 | } | ||
83 | - | ||
84 | -Eina_Bool epdf_fonts_antialias_get(void) | ||
85 | -{ | ||
86 | - return EINA_TRUE; | ||
87 | -} | ||
88 | - | ||
89 | -void epdf_fonts_antialias_set(Eina_Bool on) | ||
90 | -{ | ||
91 | -} | ||
92 | - | ||
93 | -Eina_Bool epdf_lines_antialias_get(void) | ||
94 | -{ | ||
95 | - return EINA_TRUE; | ||
96 | -} | ||
97 | - | ||
98 | -void epdf_lines_antialias_set(Eina_Bool on) | ||
99 | -{ | ||
100 | -} | ||
101 | diff --git a/src/lib/poppler/epdf_poppler_main.cpp b/src/lib/poppler/epdf_poppler_main.cpp | ||
102 | index 9841987..9efdbe8 100644 | ||
103 | --- a/src/lib/poppler/epdf_poppler_main.cpp | ||
104 | +++ b/src/lib/poppler/epdf_poppler_main.cpp | ||
105 | @@ -46,24 +46,3 @@ epdf_backend_version_get (void) | ||
106 | { | ||
107 | return POPPLER_VERSION; | ||
108 | } | ||
109 | - | ||
110 | -Eina_Bool epdf_fonts_antialias_get (void) | ||
111 | -{ | ||
112 | - return globalParams->getAntialias(); | ||
113 | -} | ||
114 | - | ||
115 | -void epdf_fonts_antialias_set (Eina_Bool on) | ||
116 | -{ | ||
117 | - /* Nice API */ | ||
118 | - globalParams->setAntialias((char*)(on ? "yes" : "no")); | ||
119 | -} | ||
120 | - | ||
121 | -Eina_Bool epdf_lines_antialias_get (void) | ||
122 | -{ | ||
123 | - return globalParams->getVectorAntialias(); | ||
124 | -} | ||
125 | - | ||
126 | -void epdf_lines_antialias_set (Eina_Bool on) | ||
127 | -{ | ||
128 | - globalParams->setVectorAntialias((char*)(on ? "yes" : "no")); | ||
129 | -} | ||
130 | -- | ||
131 | 2.1.0 | ||
132 | |||
diff --git a/meta-efl/recipes-efl/efl/epdf/0002-epdf_poppler_postscript.cpp-fix-build-for-poppler-AP.patch b/meta-efl/recipes-efl/efl/epdf/0002-epdf_poppler_postscript.cpp-fix-build-for-poppler-AP.patch deleted file mode 100644 index c9adaa731..000000000 --- a/meta-efl/recipes-efl/efl/epdf/0002-epdf_poppler_postscript.cpp-fix-build-for-poppler-AP.patch +++ /dev/null | |||
@@ -1,45 +0,0 @@ | |||
1 | From a84c16fdc606f22b993f870b1cea56dd060a35e6 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Thu, 22 Oct 2015 16:55:30 +0200 | ||
4 | Subject: [PATCH 2/2] epdf_poppler_postscript.cpp: fix build for poppler API | ||
5 | change | ||
6 | MIME-Version: 1.0 | ||
7 | Content-Type: text/plain; charset=UTF-8 | ||
8 | Content-Transfer-Encoding: 8bit | ||
9 | |||
10 | Poppler API was changed in [1]. The patch not only shows the change but also | ||
11 | inspires how to fix. | ||
12 | |||
13 | [1] http://cgit.freedesktop.org/poppler/poppler/commit/?id=9caf7525409d699c16896653528486451123b485 | ||
14 | |||
15 | Upstream-Status: Pending | ||
16 | |||
17 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
18 | --- | ||
19 | src/lib/poppler/epdf_poppler_postscript.cpp | 7 +++++-- | ||
20 | 1 file changed, 5 insertions(+), 2 deletions(-) | ||
21 | |||
22 | diff --git a/src/lib/poppler/epdf_poppler_postscript.cpp b/src/lib/poppler/epdf_poppler_postscript.cpp | ||
23 | index 0c2836b..656193b 100644 | ||
24 | --- a/src/lib/poppler/epdf_poppler_postscript.cpp | ||
25 | +++ b/src/lib/poppler/epdf_poppler_postscript.cpp | ||
26 | @@ -82,11 +82,14 @@ epdf_postscript_print (const Epdf_Postscript *postscript) | ||
27 | |||
28 | // FIXME: fix postscript title | ||
29 | #ifdef HAVE_POPPLER_0_20 | ||
30 | + std::vector<int> pages; | ||
31 | + for (int i = postscript->first_page; i <= postscript->last_page; ++i) { | ||
32 | + pages.push_back(i); | ||
33 | + } | ||
34 | PSOutputDev ps_dev(postscript->filename, | ||
35 | postscript->pdfdoc, | ||
36 | (char *)"PS title", | ||
37 | - postscript->first_page, | ||
38 | - postscript->last_page, | ||
39 | + pages, | ||
40 | psModePS, | ||
41 | (int)postscript->width, | ||
42 | (int)postscript->height, | ||
43 | -- | ||
44 | 2.1.0 | ||
45 | |||
diff --git a/meta-efl/recipes-efl/efl/epdf_svn.bb b/meta-efl/recipes-efl/efl/epdf_svn.bb deleted file mode 100644 index d664bad78..000000000 --- a/meta-efl/recipes-efl/efl/epdf_svn.bb +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | SUMMARY = "Epdf is the glue between EFL and libpoppler" | ||
2 | |||
3 | DEPENDS = "poppler evas ecore" | ||
4 | PV = "0.1.0+svnr${SRCPV}" | ||
5 | SRCREV = "${EFL_SRCREV}" | ||
6 | |||
7 | inherit efl | ||
8 | |||
9 | LICENSE = "GPLv2 & LGPLv3" | ||
10 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ | ||
11 | file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6 \ | ||
12 | " | ||
13 | |||
14 | SRC_URI = " \ | ||
15 | ${E_SVN}/trunk/PROTO;module=${SRCNAME};protocol=http;scmdata=keep \ | ||
16 | file://0001-remove-antialias-functions-poppler-has-dropped-them-.patch \ | ||
17 | file://0002-epdf_poppler_postscript.cpp-fix-build-for-poppler-AP.patch \ | ||
18 | " | ||
19 | S = "${WORKDIR}/${SRCNAME}" | ||
20 | |||
21 | EXTRA_OECONF = "\ | ||
22 | --enable-poppler \ | ||
23 | --disable-mupdf \ | ||
24 | " | ||
25 | |||
26 | # Some upgrade path tweaking, as in evas | ||
27 | AUTO_LIBNAME_PKGS = "" | ||
28 | |||
29 | PNBLACKLIST[epdf] ?= "Depends on blacklisted ecore - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
30 | |||
31 | PNBLACKLIST[epdf] ?= "Depends on blacklisted evas - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
32 | |||
33 | PNBLACKLIST[epdf] ?= "Runtime depends on blacklisted epdf-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
34 | |||
35 | PNBLACKLIST[epdf] ?= "Runtime depends on blacklisted epdf - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/efl/evas-generic-loaders.inc b/meta-efl/recipes-efl/efl/evas-generic-loaders.inc deleted file mode 100644 index d277c1167..000000000 --- a/meta-efl/recipes-efl/efl/evas-generic-loaders.inc +++ /dev/null | |||
@@ -1,73 +0,0 @@ | |||
1 | DESCRIPTION = "Evas generic loaders" | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=a87563ed30add2b0e3460272d3138a00" | ||
4 | DEPENDS = "eina librsvg cairo" | ||
5 | |||
6 | inherit efl | ||
7 | |||
8 | SRCNAME = "evas_generic_loaders" | ||
9 | |||
10 | EXTRA_OECONF = " \ | ||
11 | --enable-svg \ | ||
12 | --disable-gstreamer \ | ||
13 | --disable-libraw \ | ||
14 | --disable-spectre \ | ||
15 | " | ||
16 | |||
17 | PACKAGECONFIG ??= "" | ||
18 | PACKAGECONFIG[poppler] = "--enable-poppler,--disable-poppler,poppler" | ||
19 | |||
20 | PACKAGESPLITFUNCS_prepend = "split_evas_loader_packages " | ||
21 | |||
22 | python split_evas_loader_packages () { | ||
23 | bb.note( "splitting packages for evas generic loaders" ) | ||
24 | basedir = d.expand( '${libdir}/evas/utils') | ||
25 | |||
26 | do_split_packages(d, basedir, 'evas_image_loader\.(.*)$', | ||
27 | output_pattern = "evas-generic-loader-%s", | ||
28 | description = 'Evas generic loaders - module %s', | ||
29 | allow_dirs=True, recursive=False, extra_depends="" ) | ||
30 | |||
31 | do_split_packages(d, basedir, 'evas_generic_pdf_loader\.(.*)$', | ||
32 | output_pattern = "evas-generic-pdf-loader-%s", | ||
33 | description = 'Evas generic pdf loaders - module %s', | ||
34 | allow_dirs=True, recursive=False, extra_depends="" ) | ||
35 | } | ||
36 | |||
37 | # add symlinks for different format (it doesn't make much sense to package them in separate packages) | ||
38 | FILES_evas-generic-loader-xcf += " \ | ||
39 | ${libdir}/evas/utils/evas_image_loader.xcf.gz \ | ||
40 | " | ||
41 | FILES_evas-generic-loader-svg += " \ | ||
42 | ${libdir}/evas/utils/evas_image_loader.svg.gz \ | ||
43 | ${libdir}/evas/utils/evas_image_loader.svgz \ | ||
44 | " | ||
45 | FILES_evas-generic-loader-pdf += " \ | ||
46 | ${libdir}/evas/utils/evas_image_loader.doc \ | ||
47 | ${libdir}/evas/utils/evas_image_loader.docx \ | ||
48 | ${libdir}/evas/utils/evas_image_loader.odp \ | ||
49 | ${libdir}/evas/utils/evas_image_loader.ods \ | ||
50 | ${libdir}/evas/utils/evas_image_loader.odt \ | ||
51 | ${libdir}/evas/utils/evas_image_loader.ppt \ | ||
52 | ${libdir}/evas/utils/evas_image_loader.pptx \ | ||
53 | ${libdir}/evas/utils/evas_image_loader.rtf \ | ||
54 | ${libdir}/evas/utils/evas_image_loader.xls \ | ||
55 | ${libdir}/evas/utils/evas_image_loader.xlsx \ | ||
56 | " | ||
57 | FILES_evas-generic-pdf-loader-libreoffice += " \ | ||
58 | ${libdir}/evas/utils/evas_generic_pdf_loader.doc \ | ||
59 | ${libdir}/evas/utils/evas_generic_pdf_loader.docx \ | ||
60 | ${libdir}/evas/utils/evas_generic_pdf_loader.odp \ | ||
61 | ${libdir}/evas/utils/evas_generic_pdf_loader.ods \ | ||
62 | ${libdir}/evas/utils/evas_generic_pdf_loader.odt \ | ||
63 | ${libdir}/evas/utils/evas_generic_pdf_loader.ppt \ | ||
64 | ${libdir}/evas/utils/evas_generic_pdf_loader.pptx \ | ||
65 | ${libdir}/evas/utils/evas_generic_pdf_loader.rtf \ | ||
66 | ${libdir}/evas/utils/evas_generic_pdf_loader.xls \ | ||
67 | ${libdir}/evas/utils/evas_generic_pdf_loader.xlsx \ | ||
68 | " | ||
69 | |||
70 | FILES_${PN}-dbg += "${libdir}/evas/utils/.debug" | ||
71 | |||
72 | PACKAGES += "evas-generic-loader-svg" | ||
73 | PACKAGES_DYNAMIC += "^evas-generic-loader-.* ^evas-generic-pdf-loader-.*" | ||
diff --git a/meta-efl/recipes-efl/efl/evas-generic-loaders_1.15.0.bb b/meta-efl/recipes-efl/efl/evas-generic-loaders_1.15.0.bb deleted file mode 100644 index ecdbcee1f..000000000 --- a/meta-efl/recipes-efl/efl/evas-generic-loaders_1.15.0.bb +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | require ${BPN}.inc | ||
2 | |||
3 | SRC_URI = "\ | ||
4 | ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \ | ||
5 | " | ||
6 | |||
7 | SRC_URI[md5sum] = "3ca8443b8cbf177845595c5e02fbc49c" | ||
8 | SRC_URI[sha256sum] = "caa22c9ba1ae9629c16a3fe809ea927f60b8f0d80cdb7f145159b997b9ae2bcd" | ||
9 | |||
10 | PNBLACKLIST[evas-generic-loaders] ?= "Depends on blacklisted eina - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
11 | |||
12 | PNBLACKLIST[evas-generic-loaders] ?= "Runtime depends on blacklisted evas-generic-loaders - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
13 | |||
14 | PNBLACKLIST[evas-generic-loaders] ?= "Runtime depends on blacklisted evas-generic-loaders-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/efl/expedite.inc b/meta-efl/recipes-efl/efl/expedite.inc deleted file mode 100644 index 60e85974c..000000000 --- a/meta-efl/recipes-efl/efl/expedite.inc +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | DESCRIPTION = "Expedite is a comprehensive benchmarking suite for Evas" | ||
2 | DEPENDS = "eet evas libsdl" | ||
3 | LICENSE = "MIT & BSD" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=d70bc65d46237e4ef386beebe7d0fe5b" | ||
5 | |||
6 | INC_PR = "r0" | ||
7 | |||
8 | inherit e | ||
9 | |||
10 | EXTRA_OECONF = "\ | ||
11 | --x-includes=${STAGING_INCDIR}/X11 \ | ||
12 | --x-libraries=${STAGING_LIBDIR} \ | ||
13 | --enable-simple-x11 \ | ||
14 | \ | ||
15 | --enable-software-x11 \ | ||
16 | --enable-xrender-x11 \ | ||
17 | --enable-software-16-x11 \ | ||
18 | --enable-opengl-x11 \ | ||
19 | --enable-fb \ | ||
20 | --disable-software-ddraw \ | ||
21 | --disable-direct3d \ | ||
22 | " | ||
23 | |||
24 | FILES_${PN} += "${datadir}" | ||
25 | RDEPENDS_${PN} = "expedite-themes evas-engine-fb evas-engine-software-generic evas-engine-software-x11 evas-engine-gl-x11 evas-loader-png" | ||
diff --git a/meta-efl/recipes-efl/efl/expedite_1.7.9.bb b/meta-efl/recipes-efl/efl/expedite_1.7.9.bb deleted file mode 100644 index 832cd00a5..000000000 --- a/meta-efl/recipes-efl/efl/expedite_1.7.9.bb +++ /dev/null | |||
@@ -1,28 +0,0 @@ | |||
1 | require ${BPN}.inc | ||
2 | |||
3 | SRC_URI = "\ | ||
4 | ${E_MIRROR}/${SRCNAME}-${SRCVER}.tar.gz \ | ||
5 | " | ||
6 | |||
7 | SRC_URI[md5sum] = "954fe8e40fec6a561190ff0fb75b6bdd" | ||
8 | SRC_URI[sha256sum] = "a05be096c911e0d66d4bdc497ebb935a04ad23696de9084aed9959b5172a593e" | ||
9 | |||
10 | PNBLACKLIST[expedite] ?= "Depends on blacklisted eet - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
11 | |||
12 | PNBLACKLIST[expedite] ?= "Depends on blacklisted evas - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
13 | |||
14 | PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted evas-loader-png - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
15 | |||
16 | PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted expedite - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
17 | |||
18 | PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted expedite-themes - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
19 | |||
20 | PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted evas-engine-gl-x11 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
21 | |||
22 | PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted evas-engine-software-generic - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
23 | |||
24 | PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted expedite-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
25 | |||
26 | PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted evas-engine-software-x11 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
27 | |||
28 | PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted evas-engine-fb - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/efl/expedite_git.bb b/meta-efl/recipes-efl/efl/expedite_git.bb deleted file mode 100644 index 65c2d4a49..000000000 --- a/meta-efl/recipes-efl/efl/expedite_git.bb +++ /dev/null | |||
@@ -1,31 +0,0 @@ | |||
1 | require ${BPN}.inc | ||
2 | |||
3 | SRCREV = "a5e6af917af52877b378090811cf836c16d0bfbb" | ||
4 | PV = "1.7.99+gitr${SRCPV}" | ||
5 | |||
6 | DEFAULT_PREFERENCE = "-1" | ||
7 | |||
8 | SRC_URI = "\ | ||
9 | git://git.enlightenment.org/tools/${BPN}.git \ | ||
10 | " | ||
11 | S = "${WORKDIR}/${SRCNAME}" | ||
12 | |||
13 | PNBLACKLIST[expedite] ?= "Depends on blacklisted eet - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
14 | |||
15 | PNBLACKLIST[expedite] ?= "Depends on blacklisted evas - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
16 | |||
17 | PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted evas-loader-png - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
18 | |||
19 | PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted expedite - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
20 | |||
21 | PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted evas-engine-software-generic - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
22 | |||
23 | PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted evas-engine-fb - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
24 | |||
25 | PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted evas-engine-software-x11 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
26 | |||
27 | PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted evas-engine-gl-x11 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
28 | |||
29 | PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted expedite-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
30 | |||
31 | PNBLACKLIST[expedite] ?= "Runtime depends on blacklisted expedite-themes - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/efl/libeflvala/disable.eina.test.patch b/meta-efl/recipes-efl/efl/libeflvala/disable.eina.test.patch deleted file mode 100644 index 84be133f6..000000000 --- a/meta-efl/recipes-efl/efl/libeflvala/disable.eina.test.patch +++ /dev/null | |||
@@ -1,44 +0,0 @@ | |||
1 | It causes testeina.c build to fail linking to internal eina_.*_{init,shutdown} symbols | ||
2 | as reported in: | ||
3 | http://lists.alioth.debian.org/pipermail/pkg-fso-maint/2010-May/003056.html | ||
4 | |||
5 | Upstream-Status: Pending | ||
6 | |||
7 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
8 | |||
9 | diff -uNr vala/tests/testeina.vala ../../../arm920tt-oe-linux-gnueabi/libeflvala/1_2011.01.13.1+svnr82070-r2/vala/tests/testeina.vala | ||
10 | --- vala/tests/testeina.vala 2014-01-13 16:16:53.984999035 +0100 | ||
11 | +++ ../../../arm920tt-oe-linux-gnueabi/libeflvala/1_2011.01.13.1+svnr82070-r2/vala/tests/testeina.vala 2010-02-26 09:02:06.000000000 +0100 | ||
12 | @@ -153,22 +153,22 @@ | ||
13 | |||
14 | void test_eina_benchmark() | ||
15 | { | ||
16 | - assert( Eina.Module.init() ); | ||
17 | - assert( Eina.List.init() ); | ||
18 | - assert( Eina.Array.init() ); | ||
19 | - assert( Eina.Benchmark.init() ); | ||
20 | - assert( Eina.Mempool.init() ); | ||
21 | +// assert( Eina.Module.init() ); | ||
22 | +// assert( Eina.List.init() ); | ||
23 | +// assert( Eina.Array.init() ); | ||
24 | +// assert( Eina.Benchmark.init() ); | ||
25 | +// assert( Eina.Mempool.init() ); | ||
26 | var b = new Eina.Benchmark( "test", "test"); | ||
27 | assert( b.register( "bogus", spec_one, 0, 100, 5 ) ); | ||
28 | unowned Eina.Array<string> result = b.run(); | ||
29 | assert( result.count_get() == 2 ); | ||
30 | result = null; | ||
31 | b = null; | ||
32 | - assert( Eina.Mempool.shutdown() ); | ||
33 | - assert( Eina.Benchmark.shutdown() ); | ||
34 | - assert( Eina.Array.shutdown() ); | ||
35 | - assert( Eina.List.shutdown() ); | ||
36 | - assert( Eina.Module.shutdown() ); | ||
37 | +// assert( Eina.Mempool.shutdown() ); | ||
38 | +// assert( Eina.Benchmark.shutdown() ); | ||
39 | +// assert( Eina.Array.shutdown() ); | ||
40 | +// assert( Eina.List.shutdown() ); | ||
41 | +// assert( Eina.Module.shutdown() ); | ||
42 | } | ||
43 | |||
44 | //=========================================================================== | ||
diff --git a/meta-efl/recipes-efl/efl/libeflvala_svn.bb b/meta-efl/recipes-efl/efl/libeflvala_svn.bb deleted file mode 100644 index eaf4893f7..000000000 --- a/meta-efl/recipes-efl/efl/libeflvala_svn.bb +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | SUMMARY = "Vala meets the Enlightenment Foundation Libraries" | ||
2 | AUTHOR = "Michael 'Mickey' Lauer <mlauer@vanille-media.de>" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" | ||
5 | SECTION = "devel" | ||
6 | DEPENDS = "vala-native glib-2.0 dbus dbus-glib eina eet evas ecore edje elementary tiff" | ||
7 | PV = "2011.01.13.1+svnr${SRCPV}" | ||
8 | PE = "1" | ||
9 | PR = "r2" | ||
10 | SRCREV = "${EFL_SRCREV}" | ||
11 | SRCNAME = "vala" | ||
12 | |||
13 | inherit e-base autotools-brokensep pkgconfig vala | ||
14 | |||
15 | SRC_URI = "${E_SVN}/trunk/BINDINGS;module=${SRCNAME};protocol=http \ | ||
16 | file://disable.eina.test.patch \ | ||
17 | " | ||
18 | S = "${WORKDIR}/${SRCNAME}" | ||
19 | |||
20 | PACKAGES =+ "${PN}-examples" | ||
21 | FILES_${PN}-examples = "${datadir}/libeflvala ${bindir}/*" | ||
22 | |||
23 | PNBLACKLIST[libeflvala] ?= "Depends on blacklisted elementary - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/efl/libeweather_svn.bb b/meta-efl/recipes-efl/efl/libeweather_svn.bb deleted file mode 100644 index 53988b0d1..000000000 --- a/meta-efl/recipes-efl/efl/libeweather_svn.bb +++ /dev/null | |||
@@ -1,48 +0,0 @@ | |||
1 | SUMMARY = "EFL-based weather widget library" | ||
2 | LICENSE = "LGPL-2.1" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24 \ | ||
4 | file://COPYING-PLAIN;md5=c910b645eda0005ccec46f75203dc96e" | ||
5 | |||
6 | DEPENDS = "ecore edje" | ||
7 | PV = "0.0.0+svnr${SRCPV}" | ||
8 | SRCREV = "${EFL_SRCREV}" | ||
9 | |||
10 | inherit efl | ||
11 | SRC_URI = "${E_SVN}/trunk/PROTO;module=${SRCNAME};protocol=http;scmdata=keep" | ||
12 | S = "${WORKDIR}/${SRCNAME}" | ||
13 | |||
14 | EXTRA_OECONF = "--with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc" | ||
15 | |||
16 | RSUGGESTS_${PN} = "elementary-tests" | ||
17 | |||
18 | do_compile_append() { | ||
19 | sed -i -e s:${STAGING_DIR_TARGET}::g \ | ||
20 | -e s:/${TARGET_SYS}::g \ | ||
21 | eweather.pc | ||
22 | } | ||
23 | |||
24 | PACKAGES += "${PN}-plugins" | ||
25 | |||
26 | FILES_${PN}-themes = "\ | ||
27 | ${datadir} \ | ||
28 | " | ||
29 | |||
30 | FILES_${PN}-plugins = "\ | ||
31 | ${libdir}/eweather/plugins/*.so \ | ||
32 | " | ||
33 | |||
34 | FILES_${PN}-dbg += "\ | ||
35 | ${libdir}/eweather/plugins/.debug \ | ||
36 | " | ||
37 | |||
38 | FILES_${PN}-dev += "\ | ||
39 | ${libdir}/eweather/plugins/*.a \ | ||
40 | ${libdir}/eweather/plugins/*.la \ | ||
41 | " | ||
42 | |||
43 | RRECOMMENDS_${PN} = "\ | ||
44 | ${PN}-themes \ | ||
45 | ${PN}-plugins \ | ||
46 | " | ||
47 | |||
48 | PNBLACKLIST[libeweather] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130649/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.bb b/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.bb deleted file mode 100644 index ee4e2c414..000000000 --- a/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.bb +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | SUMMARY = "Efl Software Development Kit" | ||
2 | LICENSE = "MIT" | ||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ | ||
4 | file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
5 | |||
6 | ALLOW_EMPTY_${PN} = "1" | ||
7 | |||
8 | PR = "r1" | ||
9 | |||
10 | require packagegroup-efl-sdk.inc | ||
11 | |||
12 | PACKAGES = "${PN}" | ||
13 | |||
14 | RDEPENDS_${PN} = "\ | ||
15 | packagegroup-core-sdk \ | ||
16 | ${SDK-EFL} \ | ||
17 | ${SDK-EXTRAS}" | ||
18 | |||
19 | PNBLACKLIST[packagegroup-efl-sdk] ?= "Runtime depends on blacklisted elementary-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.inc b/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.inc deleted file mode 100644 index f2b0456d4..000000000 --- a/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.inc +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | SDK-EFL = " \ | ||
2 | efl-dev \ | ||
3 | elementary-dev \ | ||
4 | edbus-dev \ | ||
5 | luajit-dev \ | ||
6 | " | ||
7 | |||
8 | SDK-EXTRAS ?= "" | ||
9 | SDK-EXTRAS_qemux86 ?= " valgrind lttng-ust-dev" | ||
10 | SDK-EXTRAS_qemux86-64 ?= " lttng-ust-dev" | ||
11 | SDK-EXTRAS_qemuppc ?= " lttng-ust-dev" | ||
12 | SDK-EXTRAS_qemuarm ?= " lttng-ust-dev" | ||
diff --git a/meta-efl/recipes-efl/packagegroups/packagegroup-efl-standalone-sdk-target.bb b/meta-efl/recipes-efl/packagegroups/packagegroup-efl-standalone-sdk-target.bb deleted file mode 100644 index 2d9dde649..000000000 --- a/meta-efl/recipes-efl/packagegroups/packagegroup-efl-standalone-sdk-target.bb +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | SUMMARY = "Efl Software Development Kit" | ||
2 | LICENSE = "MIT" | ||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ | ||
4 | file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
5 | |||
6 | ALLOW_EMPTY_${PN} = "1" | ||
7 | |||
8 | PR = "r1" | ||
9 | |||
10 | require packagegroup-efl-sdk.inc | ||
11 | |||
12 | PACKAGES = "${PN} ${PN}-dbg" | ||
13 | |||
14 | RDEPENDS_${PN} = "\ | ||
15 | packagegroup-core-standalone-sdk-target \ | ||
16 | ${SDK-EFL} \ | ||
17 | ${SDK-EXTRAS}" | ||
18 | |||
19 | PNBLACKLIST[packagegroup-efl-standalone-sdk-target] ?= "Runtime depends on blacklisted elementary-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/packagegroups/packagegroup-x11-illume.bb b/meta-efl/recipes-efl/packagegroups/packagegroup-x11-illume.bb deleted file mode 100644 index 95ebcabf3..000000000 --- a/meta-efl/recipes-efl/packagegroups/packagegroup-x11-illume.bb +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | DESCRIPTION = "The Illume Windowing Environment -- install this task to get the Enlightenment Window Manager + the Illume environment." | ||
2 | SECTION = "x11/wm" | ||
3 | LICENSE = "MIT" | ||
4 | LIC_FILES_CHKSUM = "file://${TOPDIR}/meta-openembedded/meta-efl/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
5 | PV = "1.0" | ||
6 | PR = "r5" | ||
7 | |||
8 | inherit packagegroup allarch | ||
9 | |||
10 | # Default theme and config | ||
11 | ETHEME ?= "e-wm-theme-default" | ||
12 | ECONFIG ?= "e-wm-config-mobile" | ||
13 | |||
14 | RRECOMMENDS_${PN} = "\ | ||
15 | ${ETHEME} \ | ||
16 | " | ||
17 | |||
18 | RDEPENDS_${PN} = "\ | ||
19 | packagegroup-core-x11-xserver \ | ||
20 | packagegroup-core-x11-utils \ | ||
21 | \ | ||
22 | e-wm \ | ||
23 | ${ECONFIG} \ | ||
24 | " | ||
25 | |||
26 | PNBLACKLIST[packagegroup-x11-illume] ?= "Runtime depends on blacklisted e-wm - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
27 | |||
28 | PNBLACKLIST[packagegroup-x11-illume] ?= "Runtime depends on blacklisted e-wm-config-mobile - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
29 | |||
30 | PNBLACKLIST[packagegroup-x11-illume] ?= "Runtime depends on blacklisted e-wm-theme-default - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/webkit/webkit-efl.inc b/meta-efl/recipes-efl/webkit/webkit-efl.inc deleted file mode 100644 index f49f2ee02..000000000 --- a/meta-efl/recipes-efl/webkit/webkit-efl.inc +++ /dev/null | |||
@@ -1,69 +0,0 @@ | |||
1 | DESCRIPTION = "Webkit browser engine, EFL edition" | ||
2 | LICENSE = "GPLv2+ & LGPL-2.1" | ||
3 | LIC_FILES_CHKSUM = " \ | ||
4 | file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \ | ||
5 | file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \ | ||
6 | file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \ | ||
7 | file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \ | ||
8 | " | ||
9 | |||
10 | # you need harfbuzz with icu enabled, you can add this to your config: | ||
11 | # PACKAGECONFIG_append_pn-harfbuzz = " icu" | ||
12 | DEPENDS = "icu libxslt sqlite3 gperf-native bison-native flex-native jpeg \ | ||
13 | libpng libxt fontconfig cairo freetype glib-2.0 libsoup-2.4 \ | ||
14 | libxml2 pango eina ecore evas edje eldbus harfbuzz enchant \ | ||
15 | ruby-native elementary" | ||
16 | |||
17 | PE = "1" | ||
18 | |||
19 | SRCVER ?= "${PV}" | ||
20 | SRC_URI = "\ | ||
21 | ${E_RELEASES}/libs/webkit-efl/ewebkit-${SRCVER}.tar.xz \ | ||
22 | " | ||
23 | S = "${WORKDIR}/ewebkit" | ||
24 | |||
25 | inherit cmake lib_package pkgconfig perlnative pythonnative | ||
26 | |||
27 | ARM_INSTRUCTION_SET = "arm" | ||
28 | |||
29 | EXTRA_OECMAKE = " \ | ||
30 | -DPORT=Efl \ | ||
31 | -DSHARED_CORE=On \ | ||
32 | -DENABLE_DRAG_SUPPORT=On \ | ||
33 | -DENABLE_WEB_AUDIO=Off \ | ||
34 | -DENABLE_VIDEO=Off \ | ||
35 | -DENABLE_VIDEO_TRACK=Off \ | ||
36 | -DENABLE_ACCESSIBILITY=Off \ | ||
37 | -DENABLE_BATTERY_STATUS=Off \ | ||
38 | " | ||
39 | # generated ASM code isn't compatible with armv[45] | ||
40 | # it was removed from macro assembler in upstream commit 121885 | ||
41 | # https://bugs.webkit.org/show_bug.cgi?id=90198 | ||
42 | EXTRA_OECMAKE_append_armv4 = " -DENABLE_LLINT=Off -DENABLE_JIT=Off -DENABLE_DFG_JIT=Off -DENABLE_FTL_JIT=Off" | ||
43 | EXTRA_OECMAKE_append_armv5 = " -DENABLE_LLINT=Off -DENABLE_JIT=Off -DENABLE_DFG_JIT=Off -DENABLE_FTL_JIT=Off" | ||
44 | |||
45 | # hack it in OptionsEfl.cmake because that overrules -DENABLE_LLINT=Off | ||
46 | do_configure_prepend_armv4() { | ||
47 | sed -i 's/WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LLINT ON)/WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LLINT OFF)/g' ${S}/Source/cmake/OptionsEfl.cmake | ||
48 | } | ||
49 | do_configure_prepend_armv5() { | ||
50 | sed -i 's/WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LLINT ON)/WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LLINT OFF)/g' ${S}/Source/cmake/OptionsEfl.cmake | ||
51 | } | ||
52 | |||
53 | # and disabled LLINT currently isn't supported, so restrict to armv7a and x86* | ||
54 | COMPATIBLE_MACHINE = "(-)" | ||
55 | COMPATIBLE_MACHINE_x86 = "(.*)" | ||
56 | COMPATIBLE_MACHINE_x86-64 = "(.*)" | ||
57 | COMPATIBLE_MACHINE_armv7a = "(.*)" | ||
58 | |||
59 | LEAD_SONAME = "libewebkit.so" | ||
60 | PACKAGES =+ "${PN}launcher-dbg ${PN}launcher ${PN}-inspector" | ||
61 | |||
62 | FILES_${PN} += "${datadir}/ewebkit2-1/themes/default.edj" | ||
63 | FILES_${PN}-dev += "${libdir}/cmake" | ||
64 | FILES_${PN}launcher = "${bindir}/EWebLauncher" | ||
65 | FILES_${PN}launcher-dbg = "${bindir}/.debug/EWebLauncher" | ||
66 | FILES_${PN}-inspector += "${datadir}/ewebkit2-1/inspector" | ||
67 | |||
68 | # http://errors.yoctoproject.org/Errors/Details/40659/ | ||
69 | PNBLACKLIST[webkit-efl] ?= "Old and unmaintaned fork with many security issues - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/0001-OptionsCommon.cmake-don-t-mix-CXX_FLAGS-into-C_FLAGS.patch b/meta-efl/recipes-efl/webkit/webkit-efl/0001-OptionsCommon.cmake-don-t-mix-CXX_FLAGS-into-C_FLAGS.patch deleted file mode 100644 index 19b7bb88d..000000000 --- a/meta-efl/recipes-efl/webkit/webkit-efl/0001-OptionsCommon.cmake-don-t-mix-CXX_FLAGS-into-C_FLAGS.patch +++ /dev/null | |||
@@ -1,46 +0,0 @@ | |||
1 | From e6caaf6e80b9c80dc2b860b471a8f05e825f6dfa Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Thu, 14 Aug 2014 01:00:21 +0200 | ||
4 | Subject: [PATCH 1/3] OptionsCommon.cmake: don't mix CXX_FLAGS into C_FLAGS | ||
5 | |||
6 | * it was added in https://bugs.webkit.org/show_bug.cgi?id=130261 | ||
7 | * causes build failures in udis86 which explicitly asks for gcc but then | ||
8 | gets g++ flags from CMAKE_CXX_FLAGS. | ||
9 | |||
10 | cc1: error: command line option '-fvisibility-inlines-hidden' is valid | ||
11 | for C++/ObjC++ but not for C [-Werror] | ||
12 | cc1: error: command line option '-fpermissive' is valid for C++/ObjC++ | ||
13 | but not for C [-Werror] | ||
14 | cc1: all warnings being treated as errors | ||
15 | Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/build.make:11182: | ||
16 | recipe for target | ||
17 | 'Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/udis86/udis86.c.o' | ||
18 | failed | ||
19 | make[2]: *** | ||
20 | [Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/udis86/udis86.c.o] | ||
21 | Error 1 | ||
22 | make[2]: *** Waiting for unfinished jobs.... | ||
23 | make[2]: Leaving directory | ||
24 | '/OE/build/oe-core/tmp-eglibc/work/core2-64-oe-linux/webkit-efl/1_1.10.0+1.11.0-beta1-r0/build' | ||
25 | |||
26 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
27 | --- | ||
28 | Source/cmake/OptionsCommon.cmake | 2 +- | ||
29 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
30 | |||
31 | diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake | ||
32 | index e304a99..045c614 100644 | ||
33 | --- a/Source/cmake/OptionsCommon.cmake | ||
34 | +++ b/Source/cmake/OptionsCommon.cmake | ||
35 | @@ -25,7 +25,7 @@ endif () | ||
36 | set_property(GLOBAL PROPERTY USE_FOLDERS ON) | ||
37 | |||
38 | if (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") | ||
39 | - set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -fno-strict-aliasing") | ||
40 | + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-exceptions -fno-strict-aliasing") | ||
41 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-exceptions -fno-strict-aliasing -fno-rtti") | ||
42 | endif () | ||
43 | |||
44 | -- | ||
45 | 2.1.3 | ||
46 | |||
diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/0002-WebKitHelpers.cmake-Add-Wno-error-deprecated-declara.patch b/meta-efl/recipes-efl/webkit/webkit-efl/0002-WebKitHelpers.cmake-Add-Wno-error-deprecated-declara.patch deleted file mode 100644 index 627a9e82b..000000000 --- a/meta-efl/recipes-efl/webkit/webkit-efl/0002-WebKitHelpers.cmake-Add-Wno-error-deprecated-declara.patch +++ /dev/null | |||
@@ -1,45 +0,0 @@ | |||
1 | From de93951f89e851b6689718022eebb4b8b1d14c06 Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Mon, 13 Jan 2014 17:21:25 +0100 | ||
4 | Subject: [PATCH 2/3] WebKitHelpers.cmake: Add | ||
5 | -Wno-error=deprecated-declarations -Wno-error=cast-align | ||
6 | -Wno-error=type-limits | ||
7 | |||
8 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
9 | --- | ||
10 | Source/cmake/WebKitHelpers.cmake | 10 ++++++++++ | ||
11 | 1 file changed, 10 insertions(+) | ||
12 | |||
13 | diff --git a/Source/cmake/WebKitHelpers.cmake b/Source/cmake/WebKitHelpers.cmake | ||
14 | index 227b9ee..ae52ef6 100644 | ||
15 | --- a/Source/cmake/WebKitHelpers.cmake | ||
16 | +++ b/Source/cmake/WebKitHelpers.cmake | ||
17 | @@ -40,6 +40,25 @@ macro(WEBKIT_SET_EXTRA_COMPILER_FLAGS _target) | ||
18 | # FIXME: When we use -fno-tree-dce to support the jsCStack branch merge, build error occurs due to the uninitialization. Temporarily we set | ||
19 | # uninitialized as build warning in order to support the jsCStack merge. https://bugs.webkit.org/show_bug.cgi?id=127777. | ||
20 | set(OLD_COMPILE_FLAGS "-Werror -Wno-error=unused-parameter -Wno-error=uninitialized -Wno-error=literal-suffix ${OLD_COMPILE_FLAGS}") | ||
21 | + # libsoup-2.4/libsoup/soup-proxy-uri-resolver.h:13:84: error: 'GType soup_proxy_uri_resolver_get_type()' is deprecated (declared at /OE/build/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/include/libsoup-2.4/libsoup/soup-proxy-uri-resolver.h:48) [-Werror=deprecated-declarations] | ||
22 | + set(OLD_COMPILE_FLAGS "-Wno-error=deprecated-declarations ${OLD_COMPILE_FLAGS}") | ||
23 | + # webkit-efl/1_1.10.0+1.11.0-beta1-r0/ewebkit/Source/WTF/wtf/text/StringImpl.h:742:87: error: cast from 'uint8_t* {aka unsigned char*}' to 'WTF::StringImpl**' increases required alignment of target type [-Werror=cast-align] | ||
24 | + set(OLD_COMPILE_FLAGS "-Wno-error=cast-align ${OLD_COMPILE_FLAGS}") | ||
25 | + # webkit-efl/1_1.10.0+1.11.0-beta1-r0/ewebkit/Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp:70:16: error: comparison is always false due to limited range of data type [-Werror=type-limits] | ||
26 | + set(OLD_COMPILE_FLAGS "-Wno-error=type-limits ${OLD_COMPILE_FLAGS}") | ||
27 | + # webkit-efl/1_1.11.0-r0/ewebkit/Source/WebKit2/UIProcess/API/efl/EwkView.cpp:832:5: error: missing initializer for member '_Evas_GL_Config::gles_version' [-Werror=missing-field-initializers] | ||
28 | + # this one is new with efl-1.12 | ||
29 | + set(OLD_COMPILE_FLAGS "-Wno-error=missing-field-initializers ${OLD_COMPILE_FLAGS}") | ||
30 | + # webkit-efl/1_1.11.0-r0/ewebkit/Source/WTF/wtf/dtoa/bignum.cc:105:10: error: assuming signed overflow does not occur when assuming that (X + c) < X is always false [-Werror=strict-overflow] | ||
31 | + # this one is new with gcc-5.2 | ||
32 | + set(OLD_COMPILE_FLAGS "-Wno-error=strict-overflow ${OLD_COMPILE_FLAGS}") | ||
33 | + # webkit-efl/1_1.11.0-r0/ewebkit/Source/WTF/wtf/SaturatedArithmetic.h:46:26: error: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Werror=parentheses] | ||
34 | + # this one is new with gcc-5.2 | ||
35 | + set(OLD_COMPILE_FLAGS "-Wno-error=parentheses ${OLD_COMPILE_FLAGS}") | ||
36 | + # webkit-efl/1_1.11.0-r0/ewebkit/Source/WebCore/loader/cache/CachedScript.cpp:103:108: error: logical not is only applied to the left hand side of comparison [-Werror=logical-not-parentheses] | ||
37 | + # this one is new with gcc-5.2 | ||
38 | + set(OLD_COMPILE_FLAGS "-Wno-error=logical-not-parentheses ${OLD_COMPILE_FLAGS}") | ||
39 | + | ||
40 | endif () | ||
41 | |||
42 | set_target_properties(${_target} PROPERTIES | ||
43 | -- | ||
44 | 2.1.3 | ||
45 | |||
diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/0003-FEBlendNEON.h-fix-missing-semicolon.patch b/meta-efl/recipes-efl/webkit/webkit-efl/0003-FEBlendNEON.h-fix-missing-semicolon.patch deleted file mode 100644 index e718ee1c1..000000000 --- a/meta-efl/recipes-efl/webkit/webkit-efl/0003-FEBlendNEON.h-fix-missing-semicolon.patch +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | From a076d76b8e8862bd641cd991190e82cfd478cc66 Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Wed, 20 Aug 2014 00:52:03 +0200 | ||
4 | Subject: [PATCH 3/3] FEBlendNEON.h: fix missing semicolon | ||
5 | |||
6 | * Otherwise fails with: | ||
7 | In file included from ewebkit/Source/WebCore/platform/graphics/filters/FEBlend.cpp:29:0: | ||
8 | ewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h: In member function 'virtual void WebCore::FEBlend::platformApplySoftware()': | ||
9 | ewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h:130:5: error: expected primary-expression before '}' token | ||
10 | } | ||
11 | ^ | ||
12 | ewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h:130:5: error: return-statement with a value, in function returning 'void' [-fpermissive] | ||
13 | ewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h:130:5: error: expected ';' before '}' token | ||
14 | |||
15 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
16 | --- | ||
17 | Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h | 2 +- | ||
18 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
19 | |||
20 | diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h b/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h | ||
21 | index 1c50765..f4b6f46 100644 | ||
22 | --- a/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h | ||
23 | +++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h | ||
24 | @@ -126,7 +126,7 @@ void FEBlend::platformApplySoftware() | ||
25 | |||
26 | if (pixelArrayLength >= 8) { | ||
27 | platformApplyNEON(srcPixelArrayA->data(), srcPixelArrayB->data(), dstPixelArray->data(), pixelArrayLength); | ||
28 | - return | ||
29 | + return; | ||
30 | } | ||
31 | // If there is just one pixel we expand it to two. | ||
32 | ASSERT(pixelArrayLength > 0); | ||
33 | -- | ||
34 | 2.1.3 | ||
35 | |||
diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/0004-Fix-the-build-with-EFL-1.12-https-bugs.webkit.org-sh.patch b/meta-efl/recipes-efl/webkit/webkit-efl/0004-Fix-the-build-with-EFL-1.12-https-bugs.webkit.org-sh.patch deleted file mode 100644 index bfa3052b1..000000000 --- a/meta-efl/recipes-efl/webkit/webkit-efl/0004-Fix-the-build-with-EFL-1.12-https-bugs.webkit.org-sh.patch +++ /dev/null | |||
@@ -1,146 +0,0 @@ | |||
1 | From baebc004111289ef658c78a42f8332f3dceef41e Mon Sep 17 00:00:00 2001 | ||
2 | From: "ryuan.choi@navercorp.com" <ryuan.choi@navercorp.com> | ||
3 | Date: Thu, 13 Nov 2014 07:07:16 +0000 | ||
4 | Subject: [PATCH 4/4] Fix the build with EFL 1.12 | ||
5 | https://bugs.webkit.org/show_bug.cgi?id=138245 | ||
6 | |||
7 | Reviewed by Gyuyoung Kim. | ||
8 | |||
9 | Source/WebKit2: | ||
10 | |||
11 | * UIProcess/API/efl/EwkView.cpp: | ||
12 | First, modified to use Evas_GL raw pointer instead of UniquePtrEfl because | ||
13 | Evas_GL.h can't be included in UniquePtrEfl.h | ||
14 | It should be moved into EvasGLContext because WebKit/EFL use only one Evas_GL. | ||
15 | Second, provided the version of GLES in Evas_GL_Config not to break build with | ||
16 | EFL 1.12 | ||
17 | (EwkView::EwkView): | ||
18 | (EwkView::~EwkView): | ||
19 | (EwkView::displayTimerFired): | ||
20 | (EwkView::createGLSurface): | ||
21 | * UIProcess/API/efl/EwkView.h: | ||
22 | |||
23 | Source/WTF: | ||
24 | |||
25 | * wtf/efl/UniquePtrEfl.h: | ||
26 | Removed Evas_GL.h from UniquePtrEfl.h, which is commonly included, because | ||
27 | it should not be included with official GL headers. | ||
28 | |||
29 | git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176066 268f45cc-cd09-0410-ab3c-d52691b4dbfc | ||
30 | --- | ||
31 | Source/WTF/wtf/efl/UniquePtrEfl.h | 2 -- | ||
32 | Source/WebKit2/UIProcess/API/efl/EwkView.cpp | 24 ++++++++++++++++-------- | ||
33 | Source/WebKit2/UIProcess/API/efl/EwkView.h | 3 ++- | ||
34 | 3 files changed, 18 insertions(+), 11 deletions(-) | ||
35 | |||
36 | diff --git a/Source/WTF/wtf/efl/UniquePtrEfl.h b/Source/WTF/wtf/efl/UniquePtrEfl.h | ||
37 | index ba0110a..038d3fb 100644 | ||
38 | --- a/Source/WTF/wtf/efl/UniquePtrEfl.h | ||
39 | +++ b/Source/WTF/wtf/efl/UniquePtrEfl.h | ||
40 | @@ -33,7 +33,6 @@ | ||
41 | #include <Ecore_IMF.h> | ||
42 | #include <Eina.h> | ||
43 | #include <Evas.h> | ||
44 | -#include <Evas_GL.h> | ||
45 | |||
46 | namespace WTF { | ||
47 | |||
48 | @@ -51,7 +50,6 @@ using EflUniquePtr = std::unique_ptr<T, EflPtrDeleter<T>>; | ||
49 | macro(Eina_Hash, eina_hash_free) \ | ||
50 | macro(Eina_Module, eina_module_free) \ | ||
51 | macro(Evas_Object, evas_object_del) \ | ||
52 | - macro(Evas_GL, evas_gl_free) | ||
53 | |||
54 | #define WTF_DEFINE_EFLPTR_DELETER(typeName, deleterFunc) \ | ||
55 | template<> struct EflPtrDeleter<typeName> \ | ||
56 | diff --git a/Source/WebKit2/UIProcess/API/efl/EwkView.cpp b/Source/WebKit2/UIProcess/API/efl/EwkView.cpp | ||
57 | index 50d34ed..6ff3394 100755 | ||
58 | --- a/Source/WebKit2/UIProcess/API/efl/EwkView.cpp | ||
59 | +++ b/Source/WebKit2/UIProcess/API/efl/EwkView.cpp | ||
60 | @@ -299,9 +299,11 @@ EwkView::EwkView(WKViewRef view, Evas_Object* evasObject) | ||
61 | |||
62 | // FIXME: Remove when possible. | ||
63 | static_cast<WebViewEfl*>(webView())->setEwkView(this); | ||
64 | - m_evasGL = EflUniquePtr<Evas_GL>(evas_gl_new(evas_object_evas_get(m_evasObject))); | ||
65 | + | ||
66 | + // FIXME: Consider it to move into EvasGLContext. | ||
67 | + m_evasGL = evas_gl_new(evas_object_evas_get(m_evasObject)); | ||
68 | if (m_evasGL) | ||
69 | - m_evasGLContext = EvasGLContext::create(m_evasGL.get()); | ||
70 | + m_evasGLContext = EvasGLContext::create(m_evasGL); | ||
71 | |||
72 | if (!m_evasGLContext) { | ||
73 | WARN("Failed to create Evas_GL, falling back to software mode."); | ||
74 | @@ -333,6 +335,9 @@ EwkView::~EwkView() | ||
75 | { | ||
76 | ASSERT(wkPageToEvasObjectMap().get(wkPage()) == m_evasObject); | ||
77 | wkPageToEvasObjectMap().remove(wkPage()); | ||
78 | + | ||
79 | + if (m_evasGL) | ||
80 | + evas_gl_free(m_evasGL); | ||
81 | } | ||
82 | |||
83 | EwkView* EwkView::create(WKViewRef webView, Evas* canvas, Evas_Smart* smart) | ||
84 | @@ -587,7 +592,7 @@ void EwkView::displayTimerFired(Timer<EwkView>*) | ||
85 | return; | ||
86 | } | ||
87 | |||
88 | - evas_gl_make_current(m_evasGL.get(), m_evasGLSurface->surface(), m_evasGLContext->context()); | ||
89 | + evas_gl_make_current(m_evasGL, m_evasGLSurface->surface(), m_evasGLContext->context()); | ||
90 | |||
91 | WKViewPaintToCurrentGLContext(wkView()); | ||
92 | |||
93 | @@ -828,21 +833,24 @@ bool EwkView::createGLSurface() | ||
94 | EVAS_GL_DEPTH_BIT_8, | ||
95 | EVAS_GL_STENCIL_NONE, | ||
96 | EVAS_GL_OPTIONS_NONE, | ||
97 | - EVAS_GL_MULTISAMPLE_NONE | ||
98 | + EVAS_GL_MULTISAMPLE_NONE, | ||
99 | +#if defined(EVAS_GL_API_VERSION) && EVAS_GL_API_VERSION >= 2 | ||
100 | + EVAS_GL_GLES_2_X | ||
101 | +#endif | ||
102 | }; | ||
103 | |||
104 | // Recreate to current size: Replaces if non-null, and frees existing surface after (OwnPtr). | ||
105 | - m_evasGLSurface = EvasGLSurface::create(m_evasGL.get(), &evasGLConfig, deviceSize()); | ||
106 | + m_evasGLSurface = EvasGLSurface::create(m_evasGL, &evasGLConfig, deviceSize()); | ||
107 | if (!m_evasGLSurface) | ||
108 | return false; | ||
109 | |||
110 | Evas_Native_Surface nativeSurface; | ||
111 | - evas_gl_native_surface_get(m_evasGL.get(), m_evasGLSurface->surface(), &nativeSurface); | ||
112 | + evas_gl_native_surface_get(m_evasGL, m_evasGLSurface->surface(), &nativeSurface); | ||
113 | evas_object_image_native_surface_set(smartData()->image, &nativeSurface); | ||
114 | |||
115 | - evas_gl_make_current(m_evasGL.get(), m_evasGLSurface->surface(), m_evasGLContext->context()); | ||
116 | + evas_gl_make_current(m_evasGL, m_evasGLSurface->surface(), m_evasGLContext->context()); | ||
117 | |||
118 | - Evas_GL_API* gl = evas_gl_api_get(m_evasGL.get()); | ||
119 | + Evas_GL_API* gl = evas_gl_api_get(m_evasGL); | ||
120 | |||
121 | WKPoint boundsEnd = WKViewUserViewportToScene(wkView(), WKPointMake(deviceSize().width(), deviceSize().height())); | ||
122 | gl->glViewport(0, 0, boundsEnd.x, boundsEnd.y); | ||
123 | diff --git a/Source/WebKit2/UIProcess/API/efl/EwkView.h b/Source/WebKit2/UIProcess/API/efl/EwkView.h | ||
124 | index 1c482cf..68dab87 100644 | ||
125 | --- a/Source/WebKit2/UIProcess/API/efl/EwkView.h | ||
126 | +++ b/Source/WebKit2/UIProcess/API/efl/EwkView.h | ||
127 | @@ -39,6 +39,7 @@ | ||
128 | #endif | ||
129 | |||
130 | typedef struct _cairo_surface cairo_surface_t; | ||
131 | +typedef struct _Evas_GL Evas_GL; | ||
132 | |||
133 | namespace WebKit { | ||
134 | class ContextMenuClientEfl; | ||
135 | @@ -241,7 +242,7 @@ private: | ||
136 | Evas_Object* m_evasObject; | ||
137 | RefPtr<EwkContext> m_context; | ||
138 | RefPtr<EwkPageGroup> m_pageGroup; | ||
139 | - EflUniquePtr<Evas_GL> m_evasGL; | ||
140 | + Evas_GL* m_evasGL; | ||
141 | std::unique_ptr<WebCore::EvasGLContext> m_evasGLContext; | ||
142 | std::unique_ptr<WebCore::EvasGLSurface> m_evasGLSurface; | ||
143 | bool m_pendingSurfaceResize; | ||
144 | -- | ||
145 | 2.1.3 | ||
146 | |||
diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/0005-Fix-the-build-with-cmake-3.patch b/meta-efl/recipes-efl/webkit/webkit-efl/0005-Fix-the-build-with-cmake-3.patch deleted file mode 100644 index 7e8e295c7..000000000 --- a/meta-efl/recipes-efl/webkit/webkit-efl/0005-Fix-the-build-with-cmake-3.patch +++ /dev/null | |||
@@ -1,104 +0,0 @@ | |||
1 | From a00a7097b85567ae6eb7a00b3ce7ef021841203c Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Thu, 24 Sep 2015 18:03:52 +0200 | ||
4 | Subject: [PATCH 5/5] Fix the build with cmake 3 | ||
5 | |||
6 | * the same issue as in GTK port: | ||
7 | https://bugs.webkit.org/show_bug.cgi?id=141796 | ||
8 | http://trac.webkit.org/changeset/180502 | ||
9 | |||
10 | * otherwise linking fails with couple undefined symbols | ||
11 | | CMakeFiles/WebKit2.dir/PluginProcess/unix/PluginProcessMainUnix.cpp.o: In function `WebKit::webkitXError(_XDisplay*, XErrorEvent*)': | ||
12 | | ewebkit/Source/WebKit2/PluginProcess/unix/PluginProcessMainUnix.cpp:63: undefined reference to `XGetErrorText' | ||
13 | | CMakeFiles/WebKit2.dir/PluginProcess/unix/PluginProcessMainUnix.cpp.o: In function `WebKit::PluginProcessMain::parseCommandLine(int, char**)': | ||
14 | | ewebkit/Source/WebKit2/PluginProcess/unix/PluginProcessMainUnix.cpp:102: undefined reference to `XSetErrorHandler' | ||
15 | | ewebkit/Source/WebKit2/PluginProcess/unix/PluginProcessMainUnix.cpp:102: undefined reference to `XSetErrorHandler' | ||
16 | | CMakeFiles/WebKit2.dir/WebProcess/efl/WebProcessMainEfl.cpp.o: In function `WebKit::WebProcessMain::platformInitialize()': | ||
17 | | ewebkit/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp:67: undefined reference to `XSetExtensionErrorHandler' | ||
18 | | ewebkit/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp:67: undefined reference to `XSetExtensionErrorHandler' | ||
19 | | CMakeFiles/WebKit2.dir/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp.o: In function `WebKit::NetscapePlugin::platformPostInitializeWindowed(bool, unsigned long)': | ||
20 | | ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:170: undefined reference to `XFlush' | ||
21 | | CMakeFiles/WebKit2.dir/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp.o: In function `WebKit::NetscapePlugin::platformPostInitializeWindowless()': | ||
22 | | ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:195: undefined reference to `XGetVisualInfo' | ||
23 | | ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:199: undefined reference to `XFree' | ||
24 | | ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:202: undefined reference to `XCreateColormap' | ||
25 | | CMakeFiles/WebKit2.dir/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp.o: In function `WebKit::NetscapePlugin::platformDestroy()': | ||
26 | | ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:251: undefined reference to `XFreeColormap' | ||
27 | | ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:255: undefined reference to `XFreePixmap' | ||
28 | | CMakeFiles/WebKit2.dir/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp.o: In function `WebKit::NetscapePlugin::platformGeometryDidChange()': | ||
29 | | ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:293: undefined reference to `XCreatePixmap' | ||
30 | | ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:286: undefined reference to `XFreePixmap' | ||
31 | | ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:295: undefined reference to `XSync' | ||
32 | | CMakeFiles/WebKit2.dir/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp.o: In function `WebKit::NetscapePlugin::platformPaint(WebCore::GraphicsContext*, WebCore::IntRect const&, bool)': | ||
33 | | ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:343: undefined reference to `XSync' | ||
34 | | collect2: error: ld returned 1 exit status | ||
35 | | Source/WebKit2/CMakeFiles/WebKit2.dir/build.make:16145: recipe for target 'lib/libewebkit2.so.1.11.0' failed | ||
36 | | make[2]: *** [lib/libewebkit2.so.1.11.0] Error 1 | ||
37 | |||
38 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
39 | --- | ||
40 | Source/WebCore/PlatformEfl.cmake | 1 + | ||
41 | Source/WebKit2/PlatformEfl.cmake | 3 +++ | ||
42 | Source/cmake/OptionsEfl.cmake | 1 + | ||
43 | Tools/WebKitTestRunner/PlatformEfl.cmake | 1 + | ||
44 | 4 files changed, 6 insertions(+) | ||
45 | |||
46 | diff --git a/Source/WebCore/PlatformEfl.cmake b/Source/WebCore/PlatformEfl.cmake | ||
47 | index 41ffc15..63b7861 100644 | ||
48 | --- a/Source/WebCore/PlatformEfl.cmake | ||
49 | +++ b/Source/WebCore/PlatformEfl.cmake | ||
50 | @@ -404,6 +404,7 @@ if (WTF_USE_3D_GRAPHICS) | ||
51 | ) | ||
52 | endif () | ||
53 | |||
54 | + find_package(X11 REQUIRED) | ||
55 | list(APPEND WebCore_LIBRARIES | ||
56 | ${X11_X11_LIB} | ||
57 | ) | ||
58 | diff --git a/Source/WebKit2/PlatformEfl.cmake b/Source/WebKit2/PlatformEfl.cmake | ||
59 | index 8c66d1b..d96f0bd 100644 | ||
60 | --- a/Source/WebKit2/PlatformEfl.cmake | ||
61 | +++ b/Source/WebKit2/PlatformEfl.cmake | ||
62 | @@ -331,12 +331,15 @@ if (ENABLE_SECCOMP_FILTERS) | ||
63 | endif () | ||
64 | |||
65 | if (ENABLE_ECORE_X) | ||
66 | + find_package(X11 REQUIRED) | ||
67 | list(APPEND WebProcess_LIBRARIES | ||
68 | ${ECORE_X_LIBRARIES} | ||
69 | ${X11_Xext_LIB} | ||
70 | ) | ||
71 | list(APPEND WebKit2_LIBRARIES | ||
72 | ${ECORE_X_LIBRARIES} | ||
73 | + ${X11_X11_LIB} | ||
74 | + ${X11_Xext_LIB} | ||
75 | ) | ||
76 | endif () | ||
77 | |||
78 | diff --git a/Source/cmake/OptionsEfl.cmake b/Source/cmake/OptionsEfl.cmake | ||
79 | index 8585f19..1aa9002 100644 | ||
80 | --- a/Source/cmake/OptionsEfl.cmake | ||
81 | +++ b/Source/cmake/OptionsEfl.cmake | ||
82 | @@ -181,6 +181,7 @@ endif () | ||
83 | |||
84 | if (WTF_OS_UNIX) | ||
85 | set(ENABLE_X11_TARGET ON) | ||
86 | + find_package(X11 REQUIRED) | ||
87 | add_definitions(-DXP_UNIX) | ||
88 | endif (WTF_OS_UNIX) | ||
89 | |||
90 | diff --git a/Tools/WebKitTestRunner/PlatformEfl.cmake b/Tools/WebKitTestRunner/PlatformEfl.cmake | ||
91 | index 1873279..a905f2a 100644 | ||
92 | --- a/Tools/WebKitTestRunner/PlatformEfl.cmake | ||
93 | +++ b/Tools/WebKitTestRunner/PlatformEfl.cmake | ||
94 | @@ -53,6 +53,7 @@ list(APPEND WebKitTestRunnerInjectedBundle_LIBRARIES | ||
95 | ) | ||
96 | |||
97 | if (ENABLE_ECORE_X) | ||
98 | + find_package(X11 REQUIRED) | ||
99 | list(APPEND WebKitTestRunner_INCLUDE_DIRECTORIES | ||
100 | ${ECORE_X_INCLUDE_DIRS} | ||
101 | ) | ||
102 | -- | ||
103 | 2.6.0 | ||
104 | |||
diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/0006-OptionsEfl.cmake-Fix-build-with-newer-CMake-3.4.patch b/meta-efl/recipes-efl/webkit/webkit-efl/0006-OptionsEfl.cmake-Fix-build-with-newer-CMake-3.4.patch deleted file mode 100644 index 05626349b..000000000 --- a/meta-efl/recipes-efl/webkit/webkit-efl/0006-OptionsEfl.cmake-Fix-build-with-newer-CMake-3.4.patch +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | From 993882f81fe991b8baf1099392703337cc13fac0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Wed, 27 Jan 2016 18:40:23 +0100 | ||
4 | Subject: [PATCH] OptionsEfl.cmake: Fix build with newer CMake 3.4 | ||
5 | |||
6 | * otherwise it fails with: | ||
7 | | CMake Error at Source/cmake/OptionsEfl.cmake:251 (CHECK_INCLUDE_FILES): | ||
8 | | Unknown CMake command "CHECK_INCLUDE_FILES". | ||
9 | * https://bugs.webkit.org/show_bug.cgi?id=150117 | ||
10 | |||
11 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
12 | --- | ||
13 | Source/cmake/OptionsEfl.cmake | 1 + | ||
14 | 1 file changed, 1 insertion(+) | ||
15 | |||
16 | diff --git a/Source/cmake/OptionsEfl.cmake b/Source/cmake/OptionsEfl.cmake | ||
17 | index 1aa9002..05216d0 100644 | ||
18 | --- a/Source/cmake/OptionsEfl.cmake | ||
19 | +++ b/Source/cmake/OptionsEfl.cmake | ||
20 | @@ -253,6 +253,7 @@ if (ENABLE_WEBGL OR WTF_USE_TILED_BACKING_STORE) | ||
21 | set(WTF_USE_EGL 1) | ||
22 | add_definitions(-DWTF_USE_EGL=1) | ||
23 | else () | ||
24 | + include(CheckIncludeFiles) | ||
25 | CHECK_INCLUDE_FILES("GL/glx.h" OPENGLX_FOUND) | ||
26 | add_definitions(-DWTF_USE_GLX=1) | ||
27 | endif () | ||
28 | -- | ||
29 | 2.7.0 | ||
30 | |||
diff --git a/meta-efl/recipes-efl/webkit/webkit-efl_1.11.0.bb b/meta-efl/recipes-efl/webkit/webkit-efl_1.11.0.bb deleted file mode 100644 index 96ad83029..000000000 --- a/meta-efl/recipes-efl/webkit/webkit-efl_1.11.0.bb +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | require ${BPN}.inc | ||
2 | |||
3 | SRC_URI += "\ | ||
4 | file://0001-OptionsCommon.cmake-don-t-mix-CXX_FLAGS-into-C_FLAGS.patch \ | ||
5 | file://0002-WebKitHelpers.cmake-Add-Wno-error-deprecated-declara.patch \ | ||
6 | file://0003-FEBlendNEON.h-fix-missing-semicolon.patch \ | ||
7 | file://0004-Fix-the-build-with-EFL-1.12-https-bugs.webkit.org-sh.patch \ | ||
8 | file://0005-Fix-the-build-with-cmake-3.patch \ | ||
9 | file://0006-OptionsEfl.cmake-Fix-build-with-newer-CMake-3.4.patch \ | ||
10 | " | ||
11 | SRC_URI[md5sum] = "90fa970ebf8646319d292c2bb5bff5db" | ||
12 | SRC_URI[sha256sum] = "d8d21e27f4a21cd77c41914548c184ddb98693ba23851aa66c8e51c0be4b90b7" | ||
diff --git a/meta-efl/recipes-navigation/mcnavi/mcnavi_0.3.4.bb b/meta-efl/recipes-navigation/mcnavi/mcnavi_0.3.4.bb deleted file mode 100644 index 040e006ab..000000000 --- a/meta-efl/recipes-navigation/mcnavi/mcnavi_0.3.4.bb +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | SUMMARY = "Free GPS navigation for car and outdoor with OpenStreetMap maps" | ||
2 | HOMEPAGE = "http://www.gps-routes.info/index.php?name=Content&pa=showpage&pid=1" | ||
3 | LICENSE = "GPLv3" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a" | ||
5 | DEPENDS = "ecore evas imlib2 gpsd edje edje-native mysql5 intltool-native" | ||
6 | |||
7 | SRC_URI = "http://www.gps-routes.info/debian/pool/main/m/mcnavi/mcnavi_${PV}.tar.gz" | ||
8 | SRC_URI[md5sum] = "6860cde5c02a9f93c829da4b10e5a226" | ||
9 | SRC_URI[sha256sum] = "ee7f65155e91386175875fc4f72f4bc94e4e9cdb8258112632da94520ef2c349" | ||
10 | |||
11 | S = "${WORKDIR}/${PN}" | ||
12 | |||
13 | inherit autotools | ||
14 | |||
15 | PNBLACKLIST[mcnavi] ?= "BROKEN: latest version 0.3.4 is 3 years old and now broken with more strict ejde_cc from efl-1.13 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
16 | # | edje_cc: Error. parse error 0.3.4-r0/mcnavi/data/themes/Default/main.edc:126. invalid state name: 'none'. "default" state must always be first. | ||
17 | # | edje_cc: Error. parse error 0.3.4-r0/mcnavi/data/themes/Default/itinerary.edc:84. invalid state name: 'none'. "default" state must always be first. | ||
18 | # | edje_cc: Error. parse error 0.3.4-r0/mcnavi/data/themes/Default/text.edc:1129. invalid state name: 'none'. "default" state must always be first. | ||
19 | # | edje_cc: Error. parse error 0.3.4-r0/mcnavi/data/themes/Default/fileopen.edc:78. invalid state name: 'off'. "default" state must always be first. | ||
diff --git a/meta-filesystems/recipes-utils/dmapi/dmapi_2.2.12.bb b/meta-filesystems/recipes-utils/dmapi/dmapi_2.2.12.bb deleted file mode 100644 index 632f79d46..000000000 --- a/meta-filesystems/recipes-utils/dmapi/dmapi_2.2.12.bb +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | SUMMARY = "Library functions to get attribute bits" | ||
2 | DESCRIPTION = "The Data Management API (DMAPI/XDSM) allows implementation \ | ||
3 | of hierarchical storage management software with no kernel \ | ||
4 | modifications as well as high-performance dump programs \ | ||
5 | without requiring "raw" access to the disk and knowledge \ | ||
6 | of filesystem structures.This interface is implemented by \ | ||
7 | the libdm library." | ||
8 | |||
9 | HOMEPAGE = "http://oss.sgi.com/projects/xfs" | ||
10 | SECTION = "base" | ||
11 | LICENSE = "LGPLv2.1" | ||
12 | LIC_FILES_CHKSUM = "file://doc/COPYING;md5=1678edfe8de9be9564d23761ae2fa794" | ||
13 | DEPENDS = "xfsprogs" | ||
14 | |||
15 | SRC_URI = "ftp://oss.sgi.com/projects/xfs/cmd_tars/dmapi-${PV}.tar.gz \ | ||
16 | file://remove-install-as-user.patch \ | ||
17 | file://dmapi_aarch64_configure_support.patch \ | ||
18 | " | ||
19 | SRC_URI[md5sum] = "cd825d4e141c16011367e0a0dd98c9c5" | ||
20 | SRC_URI[sha256sum] = "b18e34f47374f6adf7c164993c26df36986a009b86aa004ef9444102653aea69" | ||
21 | |||
22 | inherit autotools-brokensep | ||
23 | |||
24 | PARALLEL_MAKE = "" | ||
25 | EXTRA_OEMAKE += "LIBTOOL="${HOST_SYS}-libtool --tag=CC" V=1" | ||
26 | |||
27 | do_install () { | ||
28 | export DIST_ROOT=${D} | ||
29 | install -d ${D}${libdir} | ||
30 | oe_runmake install install-dev PKG_DEVLIB_DIR=${libdir} | ||
31 | } | ||
32 | |||
33 | PNBLACKLIST[dmapi] ?= "Depends on broken xfsprogs - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-filesystems/recipes-utils/dmapi/files/dmapi_aarch64_configure_support.patch b/meta-filesystems/recipes-utils/dmapi/files/dmapi_aarch64_configure_support.patch deleted file mode 100644 index 98753b742..000000000 --- a/meta-filesystems/recipes-utils/dmapi/files/dmapi_aarch64_configure_support.patch +++ /dev/null | |||
@@ -1,37 +0,0 @@ | |||
1 | Add config support to cross compile dmapi for | ||
2 | aarch64 architecture | ||
3 | |||
4 | Upstream-Status: Pending | ||
5 | |||
6 | Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com> | ||
7 | |||
8 | --- dmapi-2.2.12_org/config.sub 2012-12-12 23:03:05.000000000 +0530 | ||
9 | +++ dmapi-2.2.12/config.sub 2014-03-24 16:49:56.771993523 +0530 | ||
10 | @@ -246,6 +246,7 @@ case $basic_machine in | ||
11 | | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | ||
12 | | am33_2.0 \ | ||
13 | | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | ||
14 | + | aarch64 | aarch64be \ | ||
15 | | bfin \ | ||
16 | | c4x | clipper \ | ||
17 | | d10v | d30v | dlx | dsp16xx \ | ||
18 | @@ -326,6 +327,7 @@ case $basic_machine in | ||
19 | | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | ||
20 | | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | ||
21 | | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | ||
22 | + | aarch64-* | aarch64be-* \ | ||
23 | | avr-* | avr32-* \ | ||
24 | | bfin-* | bs2000-* \ | ||
25 | | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | ||
26 | --- dmapi-2.2.12_org/config.guess 2012-12-12 23:03:05.000000000 +0530 | ||
27 | +++ dmapi-2.2.12/config.guess 2014-03-24 16:49:56.771993523 +0530 | ||
28 | @@ -864,6 +864,9 @@ EOF | ||
29 | echo ${UNAME_MACHINE}-unknown-linux-gnueabi | ||
30 | fi | ||
31 | exit ;; | ||
32 | + aarch64*:Linux:*:*) | ||
33 | + echo ${UNAME_MACHINE}-unknown-linux-gnu | ||
34 | + exit;; | ||
35 | avr32*:Linux:*:*) | ||
36 | echo ${UNAME_MACHINE}-unknown-linux-gnu | ||
37 | exit ;; | ||
diff --git a/meta-filesystems/recipes-utils/dmapi/files/remove-install-as-user.patch b/meta-filesystems/recipes-utils/dmapi/files/remove-install-as-user.patch deleted file mode 100644 index e761db371..000000000 --- a/meta-filesystems/recipes-utils/dmapi/files/remove-install-as-user.patch +++ /dev/null | |||
@@ -1,205 +0,0 @@ | |||
1 | remove install as user | ||
2 | |||
3 | Upstream-Status: Inappropriate [configuration] | ||
4 | |||
5 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
6 | --- | ||
7 | include/buildmacros | 2 +- | ||
8 | include/install-sh | 95 ++++++++--------------------------------------------- | ||
9 | 2 files changed, 14 insertions(+), 83 deletions(-) | ||
10 | |||
11 | diff --git a/include/buildmacros b/include/buildmacros | ||
12 | index 7a01880..0840d55 100644 | ||
13 | --- a/include/buildmacros | ||
14 | +++ b/include/buildmacros | ||
15 | @@ -30,7 +30,7 @@ OBJECTS = $(ASFILES:.s=.o) \ | ||
16 | $(LFILES:.l=.o) \ | ||
17 | $(YFILES:%.y=%.tab.o) | ||
18 | |||
19 | -INSTALL = $(TOPDIR)/install-sh -o $(PKG_USER) -g $(PKG_GROUP) | ||
20 | +INSTALL = $(TOPDIR)/install-sh | ||
21 | |||
22 | IMAGES_DIR = $(TOPDIR)/all-images | ||
23 | DIST_DIR = $(TOPDIR)/dist | ||
24 | diff --git a/include/install-sh b/include/install-sh | ||
25 | index c952a71..b9d66f7 100755 | ||
26 | --- a/include/install-sh | ||
27 | +++ b/include/install-sh | ||
28 | @@ -24,11 +24,11 @@ | ||
29 | # set set | yes yes | ||
30 | # | ||
31 | _usage() { | ||
32 | - echo "Usage: $prog [-o owner] [-g group] [-m mode] -d directory" | ||
33 | - echo "or $prog [-D] [-o owner] [-g group] [-m mode] file directory/file" | ||
34 | - echo "or $prog [-o owner] [-g group] [-m mode] file [file ...] directory" | ||
35 | + echo "Usage: $prog [-m mode] -d directory" | ||
36 | + echo "or $prog [-m mode] file directory/file" | ||
37 | + echo "or $prog [-m mode] file [file ...] directory" | ||
38 | echo "or $prog -S file target (creates \"target\" symlink)" | ||
39 | - echo "or $prog -T lt_arg [-o owner] [-g group] [-m mode] libtool.lai directory" | ||
40 | + echo "or $prog -T lt_arg [-m mode] libtool.lai directory" | ||
41 | echo "" | ||
42 | echo "The \$DIST_MANIFEST and \$DIST_ROOT environment variables affect the" | ||
43 | echo "behaviour of this command - see comments in the script." | ||
44 | @@ -38,32 +38,6 @@ _usage() { | ||
45 | exit 1 | ||
46 | } | ||
47 | |||
48 | -_chown () | ||
49 | -{ | ||
50 | - _st=255 | ||
51 | - if [ $# -eq 3 ] ; then | ||
52 | - chown $1:$2 $3 | ||
53 | - _st=$? | ||
54 | - if [ $_st -ne 0 ] ; then | ||
55 | - if [ $REAL_UID != '0' ] ; then | ||
56 | - if [ ! -f $DIST_ROOT/.chown.quiet ] ; then | ||
57 | - echo '===============================================' | ||
58 | - echo Ownership of files under ${DIST_ROOT:-/} | ||
59 | - echo cannot be changed | ||
60 | - echo '===============================================' | ||
61 | - if [ -n "$DIST_ROOT" ] ; then | ||
62 | - touch $DIST_ROOT/.chown.quiet | ||
63 | - fi | ||
64 | - fi | ||
65 | - _st=0 | ||
66 | - fi | ||
67 | - fi | ||
68 | - fi | ||
69 | - | ||
70 | - return $_st | ||
71 | -} | ||
72 | - | ||
73 | - | ||
74 | _manifest () | ||
75 | { | ||
76 | echo $* | sed -e 's/\/\//\//g' >>${DIST_MANIFEST:-/dev/null} | ||
77 | @@ -77,9 +51,6 @@ Sflag=false | ||
78 | Tflag=false | ||
79 | DIRMODE=755 | ||
80 | FILEMODE=644 | ||
81 | -OWNER=`id -u` | ||
82 | -GROUP=`id -g` | ||
83 | -REAL_UID=$OWNER | ||
84 | |||
85 | # default is to install and don't append manifest | ||
86 | INSTALL=true | ||
87 | @@ -94,24 +65,16 @@ MANIFEST=: | ||
88 | |||
89 | if $INSTALL | ||
90 | then | ||
91 | - CP=cp; LN=ln; MKDIR=mkdir; CHMOD=chmod; CHOWN=_chown | ||
92 | + CP=cp; LN=ln; MKDIR=mkdir; CHMOD=chmod; | ||
93 | else | ||
94 | - CP=true; LN=true; MKDIR=true; CHMOD=true; CHOWN=true | ||
95 | + CP=true; LN=true; MKDIR=true; CHMOD=true; | ||
96 | fi | ||
97 | |||
98 | -[ -n "$DIST_ROOT" -a $REAL_UID -ne 0 ] && CHOWN=true | ||
99 | - | ||
100 | -while getopts "Dcm:d:S:o:g:T:" c $* | ||
101 | +while getopts "Dcm:d:S:T:" c $* | ||
102 | do | ||
103 | case $c in | ||
104 | c) | ||
105 | ;; | ||
106 | - g) | ||
107 | - GROUP=$OPTARG | ||
108 | - ;; | ||
109 | - o) | ||
110 | - OWNER=$OPTARG | ||
111 | - ;; | ||
112 | m) | ||
113 | DIRMODE=`expr $OPTARG` | ||
114 | FILEMODE=$DIRMODE | ||
115 | @@ -146,18 +109,7 @@ then | ||
116 | # first usage | ||
117 | # | ||
118 | $MKDIR -p $dir | ||
119 | - status=$? | ||
120 | - if [ $status -eq 0 ] | ||
121 | - then | ||
122 | - $CHMOD $DIRMODE $dir | ||
123 | - status=$? | ||
124 | - fi | ||
125 | - if [ $status -eq 0 ] | ||
126 | - then | ||
127 | - $CHOWN $OWNER $GROUP $dir | ||
128 | - status=$? | ||
129 | - fi | ||
130 | - $MANIFEST d $DIRMODE $OWNER $GROUP ${dir#$DIST_ROOT} | ||
131 | + $MANIFEST d $DIRMODE ${dir#$DIST_ROOT} | ||
132 | elif $Sflag | ||
133 | then | ||
134 | # | ||
135 | @@ -203,7 +155,7 @@ then | ||
136 | install_name=$target/$solib | ||
137 | $CP $solib $install_name | ||
138 | status=$? | ||
139 | - $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$solib ${install_name#$DIST_ROOT} | ||
140 | + $MANIFEST f $FILEMODE $HERE/$solib ${install_name#$DIST_ROOT} | ||
141 | break | ||
142 | fi | ||
143 | done | ||
144 | @@ -254,7 +206,7 @@ then | ||
145 | install_name=$target/$old_library | ||
146 | $CP $old_library $install_name | ||
147 | status=$? | ||
148 | - $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$old_library ${install_name#$DIST_ROOT} | ||
149 | + $MANIFEST f $FILEMODE $HERE/$old_library ${install_name#$DIST_ROOT} | ||
150 | ;; | ||
151 | *) | ||
152 | echo "$prog: -T $lt_install invalid" | ||
153 | @@ -267,7 +219,6 @@ then | ||
154 | if [ $status -eq 0 ] | ||
155 | then | ||
156 | $CHMOD $FILEMODE $install_name | ||
157 | - $CHOWN $OWNER $GROUP $install_name | ||
158 | fi | ||
159 | ;; | ||
160 | esac | ||
161 | @@ -292,23 +243,10 @@ else | ||
162 | then | ||
163 | if [ -f $dir/$f ] | ||
164 | then | ||
165 | - $CHMOD $FILEMODE $dir/$f | ||
166 | - status=$? | ||
167 | - if [ $status -eq 0 ] | ||
168 | - then | ||
169 | - $CHOWN $OWNER $GROUP $dir/$f | ||
170 | - status=$? | ||
171 | - fi | ||
172 | - $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$f ${dir#$DIST_ROOT}/$f | ||
173 | + $MANIFEST f $FILEMODE $HERE/$f ${dir#$DIST_ROOT}/$f | ||
174 | else | ||
175 | $CHMOD $FILEMODE $dir | ||
176 | - status=$? | ||
177 | - if [ $status -eq 0 ] | ||
178 | - then | ||
179 | - $CHOWN $OWNER $GROUP $dir | ||
180 | - status=$? | ||
181 | - fi | ||
182 | - $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$dir ${dir#$DIST_ROOT} | ||
183 | + $MANIFEST f $FILEMODE $HERE/$dir ${dir#$DIST_ROOT} | ||
184 | fi | ||
185 | fi | ||
186 | else | ||
187 | @@ -334,14 +272,7 @@ else | ||
188 | status=$? | ||
189 | if [ $status -eq 0 ] | ||
190 | then | ||
191 | - $CHMOD $FILEMODE $dir/$f | ||
192 | - status=$? | ||
193 | - if [ $status -eq 0 ] | ||
194 | - then | ||
195 | - $CHOWN $OWNER $GROUP $dir/$f | ||
196 | - status=$? | ||
197 | - fi | ||
198 | - $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$f ${dir#$DIST_ROOT}/$f | ||
199 | + $MANIFEST f $FILEMODE $HERE/$f ${dir#$DIST_ROOT}/$f | ||
200 | fi | ||
201 | [ $status -ne 0 ] && break | ||
202 | done | ||
203 | -- | ||
204 | 1.8.1.2 | ||
205 | |||
diff --git a/meta-gnome/recipes-apps/cheese/cheese_2.30.1.bb b/meta-gnome/recipes-apps/cheese/cheese_2.30.1.bb deleted file mode 100644 index 3f5a5b124..000000000 --- a/meta-gnome/recipes-apps/cheese/cheese_2.30.1.bb +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | SUMMARY = "Take photos and videos with your webcam, with fun graphical effects" | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=a17cb0a873d252440acfdf9b3d0e7fbf" | ||
4 | |||
5 | DEPENDS = "gtk+ gstreamer gst-plugins-base libcanberra udev librsvg gnome-desktop evolution-data-server intltool-native" | ||
6 | |||
7 | PR = "r2" | ||
8 | |||
9 | inherit gnome | ||
10 | |||
11 | SRC_URI[archive.md5sum] = "1599fded8a1797ea51fb010af4e6c45b" | ||
12 | SRC_URI[archive.sha256sum] = "48f03470c6f527caa0e3b269d3afcff86ae0939a74f66ce030d4eed3bc3cbd9a" | ||
13 | GNOME_COMPRESS_TYPE="bz2" | ||
14 | |||
15 | FILES_${PN} += "${datadir}/dbus-1" | ||
16 | RRECOMMENDS_${PN} = "gst-plugins-good-meta gst-plugins-base-meta" | ||
17 | |||
18 | EXTRA_OECONF += "--disable-scrollkeeper" | ||
19 | |||
20 | do_configure_prepend() { | ||
21 | sed -i -e "s: help : :g" ${S}/Makefile.am | ||
22 | } | ||
23 | |||
24 | PNBLACKLIST[cheese] ?= "Depends on blacklisted gstreamer - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
25 | |||
26 | PNBLACKLIST[cheese] ?= "Depends on blacklisted gnome-desktop - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-apps/epdfview/epdfview/browser_command.patch b/meta-gnome/recipes-apps/epdfview/epdfview/browser_command.patch deleted file mode 100644 index 75e45e0ab..000000000 --- a/meta-gnome/recipes-apps/epdfview/epdfview/browser_command.patch +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
1 | Imported from Debian 0.1.8-3 | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | diff --git a/src/Config.cxx b/src/Config.cxx | ||
6 | index 28f37ab..bc58819 100644 | ||
7 | --- a/src/Config.cxx | ||
8 | +++ b/src/Config.cxx | ||
9 | @@ -22,7 +22,7 @@ | ||
10 | using namespace ePDFView; | ||
11 | |||
12 | // Constants | ||
13 | -static const gchar *DEFAULT_EXTERNAL_BROWSER_COMMAND_LINE = "firefox %s"; | ||
14 | +static const gchar *DEFAULT_EXTERNAL_BROWSER_COMMAND_LINE = "x-www-browser %s"; | ||
15 | static const gchar *DEFAULT_OPEN_FILE_FOLDER = NULL; | ||
16 | static const gchar *DEFAULT_SAVE_FILE_FOLDER = NULL; | ||
17 | static const gboolean DEFAULT_SHOW_STATUSBAR = TRUE; | ||
diff --git a/meta-gnome/recipes-apps/epdfview/epdfview/fix-format.patch b/meta-gnome/recipes-apps/epdfview/epdfview/fix-format.patch deleted file mode 100644 index 8ad5b97ca..000000000 --- a/meta-gnome/recipes-apps/epdfview/epdfview/fix-format.patch +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | Imported from Debian 0.1.8-3 | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | diff --git a/src/gtk/MainView.cxx b/src/gtk/MainView.cxx | ||
6 | index b983bff..f87de28 100644 | ||
7 | --- a/src/gtk/MainView.cxx | ||
8 | +++ b/src/gtk/MainView.cxx | ||
9 | @@ -634,8 +634,9 @@ MainView::showErrorMessage (const gchar *title, const gchar *body) | ||
10 | GTK_DIALOG_DESTROY_WITH_PARENT, | ||
11 | GTK_MESSAGE_ERROR, | ||
12 | GTK_BUTTONS_OK, | ||
13 | + "%s", | ||
14 | title); | ||
15 | - gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG(errorDialog), | ||
16 | + gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG(errorDialog), "%s", | ||
17 | body); | ||
18 | gtk_dialog_run (GTK_DIALOG (errorDialog)); | ||
19 | gtk_widget_destroy (errorDialog); | ||
diff --git a/meta-gnome/recipes-apps/epdfview/epdfview/glib-single-include.patch b/meta-gnome/recipes-apps/epdfview/epdfview/glib-single-include.patch deleted file mode 100644 index 84a491386..000000000 --- a/meta-gnome/recipes-apps/epdfview/epdfview/glib-single-include.patch +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
1 | Imported from Debian 0.1.8-3 | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | diff --git a/src/gtk/StockIcons.h b/src/gtk/StockIcons.h | ||
6 | index c142a7a..58fcf2e 100644 | ||
7 | --- a/src/gtk/StockIcons.h | ||
8 | +++ b/src/gtk/StockIcons.h | ||
9 | @@ -18,7 +18,7 @@ | ||
10 | #if !defined (__STOCK_ICONS_H__) | ||
11 | #define __STOCK_ICONS_H__ | ||
12 | |||
13 | -#include <glib/gmacros.h> | ||
14 | +#include <glib.h> | ||
15 | |||
16 | G_BEGIN_DECLS | ||
17 | |||
diff --git a/meta-gnome/recipes-apps/epdfview/epdfview/swap-colors.patch b/meta-gnome/recipes-apps/epdfview/epdfview/swap-colors.patch deleted file mode 100644 index 282bfb184..000000000 --- a/meta-gnome/recipes-apps/epdfview/epdfview/swap-colors.patch +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | Imported from Debian 0.1.8-3 | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | Index: trunk/src/PDFDocument.cxx | ||
6 | =================================================================== | ||
7 | --- trunk/src/PDFDocument.cxx (revision 361) | ||
8 | +++ trunk/src/PDFDocument.cxx (revision 367) | ||
9 | @@ -21,4 +21,5 @@ | ||
10 | #include <poppler.h> | ||
11 | #include <unistd.h> | ||
12 | +#include <algorithm> | ||
13 | #include "epdfview.h" | ||
14 | |||
15 | @@ -33,4 +34,22 @@ | ||
16 | static PageMode convertPageMode (gint pageMode); | ||
17 | static gchar *getAbsoluteFileName (const gchar *fileName); | ||
18 | + | ||
19 | +namespace | ||
20 | +{ | ||
21 | + void | ||
22 | + convert_bgra_to_rgba (guint8 *data, int width, int height) | ||
23 | + { | ||
24 | + using std::swap; | ||
25 | + | ||
26 | + for (int y = 0; y < height; y++) | ||
27 | + { | ||
28 | + for (int x = 0; x < width; x++) | ||
29 | + { | ||
30 | + swap(data[0], data[2]); | ||
31 | + data += 4; | ||
32 | + } | ||
33 | + } | ||
34 | + } | ||
35 | +} | ||
36 | |||
37 | /// | ||
38 | @@ -651,4 +670,5 @@ | ||
39 | cairo_destroy(context); | ||
40 | cairo_surface_destroy (surface); | ||
41 | + convert_bgra_to_rgba(renderedPage->getData (), width, height); | ||
42 | #else // !HAVE_POPPLER_0_17_0 | ||
43 | // Create the pixbuf from the data and render to it. | ||
diff --git a/meta-gnome/recipes-apps/epdfview/epdfview_0.1.8.bb b/meta-gnome/recipes-apps/epdfview/epdfview_0.1.8.bb deleted file mode 100644 index 5e11a95de..000000000 --- a/meta-gnome/recipes-apps/epdfview/epdfview_0.1.8.bb +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | SUMMARY = "A lightweight PDF viewer based on gtk and poppler" | ||
2 | HOMEPAGE = "http://www.emma-soft.com/projects/epdfview/" | ||
3 | LICENSE = "GPLv2+" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" | ||
5 | SECTION = "x11/applications" | ||
6 | DEPENDS = "gtk+ poppler" | ||
7 | |||
8 | PR = "r3" | ||
9 | |||
10 | EXTRA_OECONF += "--without-cups" | ||
11 | |||
12 | inherit autotools gettext | ||
13 | |||
14 | SRC_URI = "http://www.emma-soft.com/projects/${BPN}/chrome/site/releases/${BP}.tar.bz2 \ | ||
15 | file://browser_command.patch \ | ||
16 | file://fix-format.patch \ | ||
17 | file://glib-single-include.patch \ | ||
18 | file://swap-colors.patch \ | ||
19 | " | ||
20 | SRC_URI[md5sum] = "e50285b01612169b2594fea375f53ae4" | ||
21 | SRC_URI[sha256sum] = "948648ae7c9d7b3b408d738bd4f48d87375b1196cae1129d6b846a8de0f2f8f0" | ||
22 | |||
23 | PNBLACKLIST[epdfview] ?= "BROKEN: images are not displayed anymore - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
24 | # There will be no further development / upstream is gone [1] | ||
25 | # [1] https://bugzilla.redhat.com/show_bug.cgi?id=906121 | ||
diff --git a/meta-gnome/recipes-apps/gnome-mplayer/gmtk_1.0.5.bb b/meta-gnome/recipes-apps/gnome-mplayer/gmtk_1.0.5.bb deleted file mode 100644 index f6d737c81..000000000 --- a/meta-gnome/recipes-apps/gnome-mplayer/gmtk_1.0.5.bb +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | SUMMARY = "GTK+ widget and function libraries for gnome-mplayer" | ||
2 | HOMEPAGE = "http://code.google.com/p/gmtk" | ||
3 | SECTION = "libs" | ||
4 | |||
5 | LICENSE = "GPLv2" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" | ||
7 | |||
8 | DEPENDS = "gtk+ alsa-lib glib-2.0 virtual/libx11 intltool-native pulseaudio gtk+3" | ||
9 | |||
10 | SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz" | ||
11 | SRC_URI[md5sum] = "e06e9ca8d61d74910343bb3ef4348f7f" | ||
12 | SRC_URI[sha256sum] = "a07130d62719e8c1244f8405dd97445798df5204fc0f3f2f2b669b125114b468" | ||
13 | |||
14 | EXTRA_OECONF = "--disable-gconf --with-gio --with-alsa --enable-keystore" | ||
15 | |||
16 | inherit gettext pkgconfig autotools gconf | ||
17 | |||
18 | PNBLACKLIST[gmtk] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130661/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-apps/gnome-mplayer/gnome-mplayer_1.0.5.bb b/meta-gnome/recipes-apps/gnome-mplayer/gnome-mplayer_1.0.5.bb deleted file mode 100644 index 629b830dd..000000000 --- a/meta-gnome/recipes-apps/gnome-mplayer/gnome-mplayer_1.0.5.bb +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | SUMMARY = "A GTK+ interface to MPlayer" | ||
2 | HOMEPAGE = "http://code.google.com/p/gnome-mplayer" | ||
3 | SECTION = "multimedia" | ||
4 | |||
5 | LICENSE = "GPLv2+" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" | ||
7 | |||
8 | PNBLACKLIST[gnome-mplayer] ?= "rdepends on blacklisted mplayer - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
9 | PR = "r2" | ||
10 | |||
11 | DEPENDS = "gmtk gtk+ alsa-lib libnotify glib-2.0 dbus-glib virtual/libx11 libxscrnsaver" | ||
12 | |||
13 | SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz" | ||
14 | SRC_URI[md5sum] = "1d3ab24c5501b5528e357931ca4dc6da" | ||
15 | SRC_URI[sha256sum] = "ac3c179345baecb4ca5237782aa33e83253a87bf8b42ce6eb3a9207a340f61b2" | ||
16 | |||
17 | EXTRA_OECONF = "--with-gio --with-alsa --with-dbus --with-libnotify" | ||
18 | |||
19 | FILES_${PN} += "${datadir}/gnome-control-center/default-apps/${PN}.xml" | ||
20 | PACKAGES =+ "${PN}-nautilus-extension" | ||
21 | FILES_${PN}-nautilus-extension += "${libdir}/nautilus/extensions-2.0/*.so \ | ||
22 | ${libdir}/nautilus/extensions-3.0/*.so" | ||
23 | FILES_${PN}-dev += "${libdir}/nautilus/extensions-2.0/*.la \ | ||
24 | ${libdir}/nautilus/extensions-3.0/*.la" | ||
25 | FILES_${PN}-staticdev += "${libdir}/nautilus/extensions-2.0/*.a \ | ||
26 | ${libdir}/nautilus/extensions-3.0/*.a" | ||
27 | FILES_${PN}-dbg += "${libdir}/nautilus/extensions-2.0/.debug \ | ||
28 | ${libdir}/nautilus/extensions-3.0/.debug" | ||
29 | |||
30 | inherit gettext pkgconfig mime gtk-icon-cache autotools | ||
31 | |||
32 | RDEPENDS_${PN} = "mplayer" | ||
diff --git a/meta-gnome/recipes-extended/gtk-theme-torturer/gtk-theme-torturer_git.bb b/meta-gnome/recipes-extended/gtk-theme-torturer/gtk-theme-torturer_git.bb deleted file mode 100644 index c419d0f44..000000000 --- a/meta-gnome/recipes-extended/gtk-theme-torturer/gtk-theme-torturer_git.bb +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | SUMMARY = "GTK+ Theme benchmark program" | ||
2 | DEPENDS = "gtk+" | ||
3 | HOMEPAGE = "http://wiki.laptop.org/go/GTK_for_OLPC" | ||
4 | SECTION = "devel" | ||
5 | LICENSE = "GPLv2" | ||
6 | LIC_FILES_CHKSUM = "file://appwindow.c;endline=13;md5=8c09920de460c7ea1f64ee56986aabd9" | ||
7 | |||
8 | SRCREV = "99962ae39bb5aadb31929b25c58e1a053f9c9545" | ||
9 | PV = "0.0.0+git${SRCPV}" | ||
10 | |||
11 | SRC_URI = "git://dev.laptop.org/projects/soc-gtk/" | ||
12 | S = "${WORKDIR}/git/gtk-theme-torturer" | ||
13 | |||
14 | CFLAGS += "-Wl,-rpath-link,${STAGING_LIBDIR}" | ||
15 | |||
16 | inherit distro_features_check | ||
17 | ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}" | ||
18 | |||
19 | do_install() { | ||
20 | install -d ${D}${bindir} | ||
21 | install -m 0755 torturer ${D}${bindir} | ||
22 | } | ||
23 | |||
24 | # http://errors.yoctoproject.org/Errors/Details/35132/ | ||
25 | PNBLACKLIST[gtk-theme-torturer] ?= "BROKEN: gmacros.h:182:53: error: size of array '_GStaticAssertCompileTimeAssertion_2' is negative - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/gcalctool/gcalctool_5.32.0.bb b/meta-gnome/recipes-gnome/gcalctool/gcalctool_5.32.0.bb deleted file mode 100644 index 6028f2d1a..000000000 --- a/meta-gnome/recipes-gnome/gcalctool/gcalctool_5.32.0.bb +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | SUMMARY = "gcalctool is a powerful calculator" | ||
2 | SECTION = "x11" | ||
3 | DEPENDS = "gtk+ gnome-doc-utils" | ||
4 | |||
5 | LICENSE = "GPL-2.0" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" | ||
7 | |||
8 | SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" | ||
9 | SRC_URI = "http://download.gnome.org/sources/${BPN}/${SHRT_VER}/${BP}.tar.gz" | ||
10 | |||
11 | SRC_URI[md5sum] = "48db927c6e7ee1d5395f953a8c184c98" | ||
12 | SRC_URI[sha256sum] = "346f645c0fdef900642f6e9a2c18e7ba9a7ca9bc62fe2b08eb418f065a425c89" | ||
13 | |||
14 | inherit autotools pkgconfig gsettings | ||
15 | |||
16 | do_configure_prepend() { | ||
17 | sed -i -e "s: help: :g" ${S}/Makefile.am | ||
18 | } | ||
19 | |||
20 | PNBLACKLIST[gcalctool] ?= "broken at least since April 2013 http://permalink.gmane.org/gmane.comp.handhelds.openembedded/57920 and nobody complained, it's also replaced by gnome calculator - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/gdm/gdm/0001-Remove-user-switch-applet.patch b/meta-gnome/recipes-gnome/gdm/gdm/0001-Remove-user-switch-applet.patch deleted file mode 100644 index 75aff5d7c..000000000 --- a/meta-gnome/recipes-gnome/gdm/gdm/0001-Remove-user-switch-applet.patch +++ /dev/null | |||
@@ -1,2281 +0,0 @@ | |||
1 | From 0a4fe802edbd2e8a016161f08283e4b467c6762e Mon Sep 17 00:00:00 2001 | ||
2 | From: Koen Kooi <koen@dominion.thruhere.net> | ||
3 | Date: Tue, 21 Jun 2011 12:48:39 +0200 | ||
4 | Subject: [PATCH] Remove user switch applet | ||
5 | |||
6 | This hasn't been updated to work with gnome-panel > 2.30.0, so just drop it | ||
7 | |||
8 | Upstream-Status: unacceptable, backport | ||
9 | |||
10 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | ||
11 | --- | ||
12 | configure.ac | 8 - | ||
13 | gui/Makefile.am | 2 - | ||
14 | .../GNOME_FastUserSwitchApplet.server.in.in | 38 - | ||
15 | .../GNOME_FastUserSwitchApplet.xml | 20 - | ||
16 | gui/user-switch-applet/Makefile.am | 67 - | ||
17 | gui/user-switch-applet/applet.c | 1662 -------------------- | ||
18 | gui/user-switch-applet/gdm-entry-menu-item.c | 304 ---- | ||
19 | gui/user-switch-applet/gdm-entry-menu-item.h | 51 - | ||
20 | po/POTFILES.in | 4 - | ||
21 | po/POTFILES.skip | 1 - | ||
22 | 10 files changed, 0 insertions(+), 2157 deletions(-) | ||
23 | delete mode 100644 gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in.in | ||
24 | delete mode 100644 gui/user-switch-applet/GNOME_FastUserSwitchApplet.xml | ||
25 | delete mode 100644 gui/user-switch-applet/Makefile.am | ||
26 | delete mode 100644 gui/user-switch-applet/applet.c | ||
27 | delete mode 100644 gui/user-switch-applet/gdm-entry-menu-item.c | ||
28 | delete mode 100644 gui/user-switch-applet/gdm-entry-menu-item.h | ||
29 | |||
30 | diff --git a/configure.ac b/configure.ac | ||
31 | index 841efe0..a834110 100644 | ||
32 | --- a/configure.ac | ||
33 | +++ b/configure.ac | ||
34 | @@ -149,13 +149,6 @@ PKG_CHECK_MODULES(SIMPLE_CHOOSER, | ||
35 | AC_SUBST(SIMPLE_CHOOSER_CFLAGS) | ||
36 | AC_SUBST(SIMPLE_CHOOSER_LIBS) | ||
37 | |||
38 | -PKG_CHECK_MODULES(APPLET, | ||
39 | - dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION | ||
40 | - gtk+-2.0 >= $GTK_REQUIRED_VERSION | ||
41 | - libpanelapplet-2.0 >= $GNOME_PANEL_REQUIRED_VERSION) | ||
42 | -AC_SUBST(APPLET_CFLAGS) | ||
43 | -AC_SUBST(APPLET_LIBS) | ||
44 | - | ||
45 | PLUGIN_LIBTOOL_FLAGS="-export_dynamic -module -avoid-version" | ||
46 | AC_SUBST(PLUGIN_LIBTOOL_FLAGS) | ||
47 | |||
48 | @@ -1340,7 +1333,6 @@ gui/Makefile | ||
49 | gui/simple-greeter/Makefile | ||
50 | gui/simple-greeter/libnotificationarea/Makefile | ||
51 | gui/simple-chooser/Makefile | ||
52 | -gui/user-switch-applet/Makefile | ||
53 | utils/Makefile | ||
54 | data/gdm.conf | ||
55 | data/Makefile | ||
56 | diff --git a/gui/Makefile.am b/gui/Makefile.am | ||
57 | index 326239f..bda3f7a 100644 | ||
58 | --- a/gui/Makefile.am | ||
59 | +++ b/gui/Makefile.am | ||
60 | @@ -2,7 +2,6 @@ NULL = | ||
61 | |||
62 | SUBDIRS = \ | ||
63 | simple-greeter \ | ||
64 | - user-switch-applet \ | ||
65 | $(NULL) | ||
66 | |||
67 | if XDMCP_SUPPORT | ||
68 | @@ -12,5 +11,4 @@ endif | ||
69 | DIST_SUBDIRS = \ | ||
70 | simple-chooser \ | ||
71 | simple-greeter \ | ||
72 | - user-switch-applet \ | ||
73 | $(NULL) | ||
74 | diff --git a/gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in.in b/gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in.in | ||
75 | deleted file mode 100644 | ||
76 | index a9b775f..0000000 | ||
77 | --- a/gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in.in | ||
78 | +++ /dev/null | ||
79 | @@ -1,38 +0,0 @@ | ||
80 | -<oaf_info> | ||
81 | - <oaf_server iid="OAFIID:GNOME_FastUserSwitchApplet_Factory" type="exe" | ||
82 | - location="@LIBEXECDIR@/gdm-user-switch-applet"> | ||
83 | - | ||
84 | - <oaf_attribute name="repo_ids" type="stringv"> | ||
85 | - <item value="IDL:Bonobo/GenericFactory:1.0"/> | ||
86 | - <item value="IDL:Bonobo/Unknown:1.0"/> | ||
87 | - </oaf_attribute> | ||
88 | - <oaf_attribute name="name" type="string" _value="User Switcher Applet Factory"/> | ||
89 | - <oaf_attribute name="description" type="string" _value="User Switcher Applet Factory"/> | ||
90 | - <oaf_attribute name="bonobo:environment" type="stringv"> | ||
91 | - <item value="DBUS_SESSION_BUS_ADDRESS"/> | ||
92 | - <oaf_attribute name="bugzilla:bugzilla" type="string" value="GNOME"/> | ||
93 | - <oaf_attribute name="bugzilla:product" type="string" value="gdm"/> | ||
94 | - <oaf_attribute name="bugzilla:component" type="string" value="general"/> | ||
95 | - <oaf_attribute name="bugzilla:version" type="string" value="@VERSION@"/> | ||
96 | - <oaf_attribute name="bugzilla:other_binaries" type="string" value="gdm-user-switch-applet"/> | ||
97 | - </oaf_attribute> | ||
98 | - </oaf_server> | ||
99 | - | ||
100 | - <oaf_server iid="OAFIID:GNOME_FastUserSwitchApplet" type="factory" | ||
101 | - location="OAFIID:GNOME_FastUserSwitchApplet_Factory"> | ||
102 | - | ||
103 | - <oaf_attribute name="repo_ids" type="stringv"> | ||
104 | - <item value="IDL:GNOME/Vertigo/PanelAppletShell:1.0"/> | ||
105 | - <item value="IDL:Bonobo/Control:1.0"/> | ||
106 | - <item value="IDL:Bonobo/Unknown:1.0"/> | ||
107 | - </oaf_attribute> | ||
108 | - <oaf_attribute name="name" type="string" _value="User Switcher"/> | ||
109 | - <oaf_attribute name="description" type="string" _value="A menu to quickly switch between users"/> | ||
110 | - <oaf_attribute name="panel:icon" type="string" value="stock_people"/> | ||
111 | - <oaf_attribute name="bugzilla:bugzilla" type="string" value="GNOME"/> | ||
112 | - <oaf_attribute name="bugzilla:product" type="string" value="gdm"/> | ||
113 | - <oaf_attribute name="bugzilla:component" type="string" value="general"/> | ||
114 | - <oaf_attribute name="bugzilla:version" type="string" value="@VERSION@"/> | ||
115 | - <oaf_attribute name="bugzilla:other_binaries" type="string" value="gdm-user-switch-applet"/> | ||
116 | - </oaf_server> | ||
117 | -</oaf_info> | ||
118 | diff --git a/gui/user-switch-applet/GNOME_FastUserSwitchApplet.xml b/gui/user-switch-applet/GNOME_FastUserSwitchApplet.xml | ||
119 | deleted file mode 100644 | ||
120 | index e1845c8..0000000 | ||
121 | --- a/gui/user-switch-applet/GNOME_FastUserSwitchApplet.xml | ||
122 | +++ /dev/null | ||
123 | @@ -1,20 +0,0 @@ | ||
124 | -<Root> | ||
125 | - <popups> | ||
126 | - <popup name="button3"> | ||
127 | - <menuitem | ||
128 | - name="About Me Item" | ||
129 | - verb="GdmAboutMe" | ||
130 | - _label="Edit Personal _Information"/> | ||
131 | - <menuitem | ||
132 | - name="Users and Groups Admin Item" | ||
133 | - verb="GdmUsersGroupsAdmin" | ||
134 | - _label="_Edit Users and Groups"/> | ||
135 | - <menuitem | ||
136 | - name="About Item" | ||
137 | - verb="GdmAbout" | ||
138 | - _label="_About" | ||
139 | - pixtype="stock" | ||
140 | - pixname="gtk-about"/> | ||
141 | - </popup> | ||
142 | - </popups> | ||
143 | -</Root> | ||
144 | diff --git a/gui/user-switch-applet/Makefile.am b/gui/user-switch-applet/Makefile.am | ||
145 | deleted file mode 100644 | ||
146 | index 2d2cdc0..0000000 | ||
147 | --- a/gui/user-switch-applet/Makefile.am | ||
148 | +++ /dev/null | ||
149 | @@ -1,67 +0,0 @@ | ||
150 | -NULL = | ||
151 | - | ||
152 | -AM_CPPFLAGS = \ | ||
153 | - -I$(top_srcdir)/gui/simple-greeter \ | ||
154 | - -I$(top_srcdir)/common \ | ||
155 | - -DPREFIX=\""$(prefix)"\" \ | ||
156 | - -DLIBDIR=\""$(libdir)"\" \ | ||
157 | - -DDATADIR=\""$(datadir)"\" \ | ||
158 | - -DSYSCONFDIR=\""$(sysconfdir)"\" \ | ||
159 | - -DLIBLOCALEDIR=\""$(prefix)/lib/locale"\" \ | ||
160 | - -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \ | ||
161 | - -DGLADEDIR=\""$(pkgdatadir)"\" \ | ||
162 | - -DLIBEXECDIR=\""$(libexecdir)"\" \ | ||
163 | - -DSBINDIR=\""$(sbindir)"\" \ | ||
164 | - -DGDMCONFDIR=\"$(gdmconfdir)\" \ | ||
165 | - $(GTK_CFLAGS) \ | ||
166 | - $(APPLET_CFLAGS) \ | ||
167 | - $(NULL) | ||
168 | - | ||
169 | -libexec_PROGRAMS = \ | ||
170 | - gdm-user-switch-applet \ | ||
171 | - $(NULL) | ||
172 | - | ||
173 | -gdm_user_switch_applet_SOURCES = \ | ||
174 | - applet.c \ | ||
175 | - gdm-entry-menu-item.h \ | ||
176 | - gdm-entry-menu-item.c \ | ||
177 | - $(NULL) | ||
178 | - | ||
179 | -gdm_user_switch_applet_LDADD = \ | ||
180 | - $(top_builddir)/gui/simple-greeter/libgdmuser.la \ | ||
181 | - $(top_builddir)/common/libgdmcommon.la \ | ||
182 | - $(COMMON_LIBS) \ | ||
183 | - $(APPLET_LIBS) \ | ||
184 | - $(NULL) | ||
185 | - | ||
186 | -# Bonobo UI | ||
187 | -uidir = $(datadir)/gnome-2.0/ui | ||
188 | -ui_DATA = \ | ||
189 | - GNOME_FastUserSwitchApplet.xml \ | ||
190 | - $(NULL) | ||
191 | - | ||
192 | -# Bonobo .server | ||
193 | -serverdir = $(libdir)/bonobo/servers | ||
194 | -server_in_files = \ | ||
195 | - GNOME_FastUserSwitchApplet.server.in \ | ||
196 | - $(NULL) | ||
197 | -server_DATA = $(server_in_files:.server.in=.server) | ||
198 | - | ||
199 | -$(server_in_files): $(server_in_files:.server.in=.server.in.in) | ||
200 | - sed -e "s|\@LIBEXECDIR\@|$(libexecdir)|" -e "s|\@VERSION\@|$(VERSION)|" $< > $@ | ||
201 | - | ||
202 | -@INTLTOOL_SERVER_RULE@ | ||
203 | - | ||
204 | -EXTRA_DIST = \ | ||
205 | - $(ui_DATA) \ | ||
206 | - GNOME_FastUserSwitchApplet.server.in.in \ | ||
207 | - $(NULL) | ||
208 | - | ||
209 | -DISTCLEANFILES = \ | ||
210 | - $(server_in_files) \ | ||
211 | - $(server_DATA) \ | ||
212 | - $(NULL) | ||
213 | - | ||
214 | -MAINTAINERCLEANFILES = \ | ||
215 | - *~ \ | ||
216 | - Makefile.in | ||
217 | diff --git a/gui/user-switch-applet/applet.c b/gui/user-switch-applet/applet.c | ||
218 | deleted file mode 100644 | ||
219 | index b4f944c..0000000 | ||
220 | --- a/gui/user-switch-applet/applet.c | ||
221 | +++ /dev/null | ||
222 | @@ -1,1662 +0,0 @@ | ||
223 | -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- | ||
224 | - * | ||
225 | - * Copyright (C) 2004-2005 James M. Cape <jcape@ignore-your.tv>. | ||
226 | - * Copyright (C) 2008 Red Hat, Inc. | ||
227 | - * | ||
228 | - * This program is free software; you can redistribute it and/or modify | ||
229 | - * it under the terms of the GNU General Public License as published by | ||
230 | - * the Free Software Foundation; either version 2 of the License, or | ||
231 | - * (at your option) any later version. | ||
232 | - * | ||
233 | - * This program is distributed in the hope that it will be useful, | ||
234 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
235 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
236 | - * GNU General Public License for more details. | ||
237 | - * | ||
238 | - * You should have received a copy of the GNU General Public License | ||
239 | - * along with this program; if not, write to the Free Software | ||
240 | - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
241 | - */ | ||
242 | - | ||
243 | -#include "config.h" | ||
244 | - | ||
245 | -#include <string.h> | ||
246 | -#include <unistd.h> | ||
247 | -#include <stdlib.h> | ||
248 | -#include <sys/types.h> | ||
249 | - | ||
250 | -#include <glib/gi18n.h> | ||
251 | -#include <gdk/gdkkeysyms.h> | ||
252 | -#include <gtk/gtk.h> | ||
253 | - | ||
254 | -#include <gconf/gconf.h> | ||
255 | -#include <gconf/gconf-client.h> | ||
256 | - | ||
257 | -#include <dbus/dbus-glib.h> | ||
258 | - | ||
259 | -#include <bonobo/bonobo-main.h> | ||
260 | -#include <bonobo/bonobo-ui-util.h> | ||
261 | - | ||
262 | -#include <panel-applet.h> | ||
263 | -#include <panel-applet-gconf.h> | ||
264 | - | ||
265 | -#include "gdm-user-manager.h" | ||
266 | -#include "gdm-entry-menu-item.h" | ||
267 | -#include "gdm-settings-client.h" | ||
268 | - | ||
269 | -#define LOCKDOWN_DIR "/desktop/gnome/lockdown" | ||
270 | -#define LOCKDOWN_USER_SWITCHING_KEY LOCKDOWN_DIR "/disable_user_switching" | ||
271 | -#define LOCKDOWN_LOCK_SCREEN_KEY LOCKDOWN_DIR "/disable_lock_screen" | ||
272 | -#define LOCKDOWN_COMMAND_LINE_KEY LOCKDOWN_DIR "/disable_command_line" | ||
273 | - | ||
274 | -typedef enum { | ||
275 | - GSM_PRESENCE_STATUS_AVAILABLE = 0, | ||
276 | - GSM_PRESENCE_STATUS_INVISIBLE, | ||
277 | - GSM_PRESENCE_STATUS_BUSY, | ||
278 | - GSM_PRESENCE_STATUS_IDLE, | ||
279 | -} GsmPresenceStatus; | ||
280 | - | ||
281 | -typedef struct _GdmAppletData | ||
282 | -{ | ||
283 | - PanelApplet *applet; | ||
284 | - | ||
285 | - GConfClient *client; | ||
286 | - GdmUserManager *manager; | ||
287 | - GdmUser *user; | ||
288 | - | ||
289 | - GtkWidget *menubar; | ||
290 | - GtkWidget *menuitem; | ||
291 | - GtkWidget *menu; | ||
292 | -#ifdef BUILD_PRESENSE_STUFF | ||
293 | - GtkWidget *user_item; | ||
294 | -#endif | ||
295 | - GtkWidget *control_panel_item; | ||
296 | - GtkWidget *account_item; | ||
297 | - GtkWidget *lock_screen_item; | ||
298 | - GtkWidget *login_screen_item; | ||
299 | - GtkWidget *quit_session_item; | ||
300 | - | ||
301 | - guint client_notify_lockdown_id; | ||
302 | - | ||
303 | - guint current_status; | ||
304 | - guint user_loaded_notify_id; | ||
305 | - guint user_changed_notify_id; | ||
306 | - gint8 pixel_size; | ||
307 | - gint panel_size; | ||
308 | - GtkIconSize icon_size; | ||
309 | -#ifdef BUILD_PRESENSE_STUFF | ||
310 | - DBusGProxy *presence_proxy; | ||
311 | -#endif | ||
312 | -} GdmAppletData; | ||
313 | - | ||
314 | -typedef struct _SelectorResponseData | ||
315 | -{ | ||
316 | - GdmAppletData *adata; | ||
317 | - GtkRadioButton *radio; | ||
318 | -} SelectorResponseData; | ||
319 | - | ||
320 | -static void reset_icon (GdmAppletData *adata); | ||
321 | -static void update_label (GdmAppletData *adata); | ||
322 | - | ||
323 | -static gboolean applet_factory (PanelApplet *applet, | ||
324 | - const char *iid, | ||
325 | - gpointer data); | ||
326 | - | ||
327 | -PANEL_APPLET_BONOBO_FACTORY ("OAFIID:GNOME_FastUserSwitchApplet_Factory", | ||
328 | - PANEL_TYPE_APPLET, | ||
329 | - "gdm-user-switch-applet", "0", | ||
330 | - (PanelAppletFactoryCallback)applet_factory, | ||
331 | - NULL) | ||
332 | - | ||
333 | -static void | ||
334 | -about_me_cb (BonoboUIComponent *ui_container, | ||
335 | - gpointer data, | ||
336 | - const char *cname) | ||
337 | -{ | ||
338 | - GError *err; | ||
339 | - | ||
340 | - err = NULL; | ||
341 | - if (! g_spawn_command_line_async ("gnome-about-me", &err)) { | ||
342 | - g_critical ("Could not run `gnome-about-me': %s", | ||
343 | - err->message); | ||
344 | - g_error_free (err); | ||
345 | - bonobo_ui_component_set_prop (ui_container, | ||
346 | - "/commands/GdmAboutMe", | ||
347 | - "hidden", "1", | ||
348 | - NULL); | ||
349 | - } | ||
350 | -} | ||
351 | - | ||
352 | -/* | ||
353 | - * gnome-panel/applets/wncklet/window-menu.c:window_filter_button_press() | ||
354 | - * | ||
355 | - * Copyright (C) 2005 James M. Cape. | ||
356 | - * Copyright (C) 2003 Sun Microsystems, Inc. | ||
357 | - * Copyright (C) 2001 Free Software Foundation, Inc. | ||
358 | - * Copyright (C) 2000 Helix Code, Inc. | ||
359 | - */ | ||
360 | -static gboolean | ||
361 | -menubar_button_press_event_cb (GtkWidget *menubar, | ||
362 | - GdkEventButton *event, | ||
363 | - GdmAppletData *adata) | ||
364 | -{ | ||
365 | - if (event->button != 1) { | ||
366 | - g_signal_stop_emission_by_name (menubar, "button-press-event"); | ||
367 | - /* Reset the login window item */ | ||
368 | - } | ||
369 | - | ||
370 | - return FALSE; | ||
371 | -} | ||
372 | - | ||
373 | -static void | ||
374 | -about_cb (BonoboUIComponent *ui_container, | ||
375 | - gpointer data, | ||
376 | - const char *cname) | ||
377 | -{ | ||
378 | - static const char *authors[] = { | ||
379 | - "James M. Cape <jcape@ignore-your.tv>", | ||
380 | - "Thomas Thurman <thomas@thurman.org.uk>", | ||
381 | - "William Jon McCann <jmccann@redhat.com>", | ||
382 | - NULL | ||
383 | - }; | ||
384 | - static char *license[] = { | ||
385 | - N_("The User Switch Applet is free software; you can redistribute it and/or modify " | ||
386 | - "it under the terms of the GNU General Public License as published by " | ||
387 | - "the Free Software Foundation; either version 2 of the License, or " | ||
388 | - "(at your option) any later version."), | ||
389 | - N_("This program is distributed in the hope that it will be useful, " | ||
390 | - "but WITHOUT ANY WARRANTY; without even the implied warranty of " | ||
391 | - "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the " | ||
392 | - "GNU General Public License for more details."), | ||
393 | - N_("You should have received a copy of the GNU General Public License " | ||
394 | - "along with this program; if not, write to the Free Software " | ||
395 | - "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA "), | ||
396 | - NULL | ||
397 | - }; | ||
398 | - char *license_i18n; | ||
399 | - | ||
400 | - license_i18n = g_strconcat (_(license[0]), "\n\n", _(license[1]), "\n\n", _(license[2]), NULL); | ||
401 | - | ||
402 | - gtk_show_about_dialog (NULL, | ||
403 | - "version", VERSION, | ||
404 | - "copyright", "Copyright \xc2\xa9 2004-2005 James M. Cape.\n" | ||
405 | - "Copyright \xc2\xa9 2006 Thomas Thurman.\n" | ||
406 | - "Copyright \xc2\xa9 2008 Red Hat, Inc.", | ||
407 | - "comments", _("A menu to quickly switch between users."), | ||
408 | - "authors", authors, | ||
409 | - "license", license_i18n, | ||
410 | - "wrap-license", TRUE, | ||
411 | - "translator-credits", _("translator-credits"), | ||
412 | - "logo-icon-name", "stock_people", | ||
413 | - NULL); | ||
414 | - | ||
415 | - g_free (license_i18n); | ||
416 | -} | ||
417 | - | ||
418 | - | ||
419 | -static void | ||
420 | -admin_cb (BonoboUIComponent *ui_container, | ||
421 | - gpointer data, | ||
422 | - const char *cname) | ||
423 | -{ | ||
424 | -#ifdef USERS_ADMIN | ||
425 | - char **args; | ||
426 | - gboolean res; | ||
427 | - GError *err; | ||
428 | - | ||
429 | - err = NULL; | ||
430 | - if (!g_shell_parse_argv (USERS_ADMIN, NULL, &args, &err)) { | ||
431 | - g_critical ("Could not parse users and groups management command line `%s': %s", | ||
432 | - USERS_ADMIN, err->message); | ||
433 | - return; | ||
434 | - } | ||
435 | - | ||
436 | - res = g_spawn_async (g_get_home_dir (), | ||
437 | - args, | ||
438 | - NULL, | ||
439 | - (G_SPAWN_STDOUT_TO_DEV_NULL | | ||
440 | - G_SPAWN_STDERR_TO_DEV_NULL | | ||
441 | - G_SPAWN_SEARCH_PATH), | ||
442 | - NULL, | ||
443 | - NULL, | ||
444 | - NULL, | ||
445 | - &err); | ||
446 | - if (! res) { | ||
447 | - g_critical ("Could not run `%s' to manage users and groups: %s", | ||
448 | - USERS_ADMIN, err->message); | ||
449 | - g_error_free (err); | ||
450 | - } | ||
451 | - g_strfreev (args); | ||
452 | -#endif /* USERS_ADMIN */ | ||
453 | -} | ||
454 | - | ||
455 | -static void | ||
456 | -set_menuitem_icon (BonoboUIComponent *component, | ||
457 | - const char *item_path, | ||
458 | - GtkIconTheme *theme, | ||
459 | - const char *icon_name, | ||
460 | - gint icon_size) | ||
461 | -{ | ||
462 | - GdkPixbuf *pixbuf; | ||
463 | - int width; | ||
464 | - int height; | ||
465 | - | ||
466 | - pixbuf = gtk_icon_theme_load_icon (theme, icon_name, icon_size, 0, NULL); | ||
467 | - if (pixbuf == NULL) { | ||
468 | - return; | ||
469 | - } | ||
470 | - | ||
471 | - width = gdk_pixbuf_get_width (pixbuf); | ||
472 | - height = gdk_pixbuf_get_height (pixbuf); | ||
473 | - if (width > icon_size + 4 || height > icon_size + 4) { | ||
474 | - GdkPixbuf *tmp; | ||
475 | - if (height > width) { | ||
476 | - width *= (gdouble) icon_size / (gdouble) height; | ||
477 | - height = icon_size; | ||
478 | - } else { | ||
479 | - height *= (gdouble) icon_size / (gdouble) width; | ||
480 | - width = icon_size; | ||
481 | - } | ||
482 | - tmp = gdk_pixbuf_scale_simple (pixbuf, width, height, GDK_INTERP_BILINEAR); | ||
483 | - g_object_unref (pixbuf); | ||
484 | - pixbuf = tmp; | ||
485 | - } | ||
486 | - | ||
487 | - bonobo_ui_util_set_pixbuf (component, item_path, pixbuf, NULL); | ||
488 | - g_object_unref (pixbuf); | ||
489 | -} | ||
490 | - | ||
491 | -static void | ||
492 | -applet_style_set_cb (GtkWidget *widget, | ||
493 | - GtkStyle *old_style, | ||
494 | - gpointer data) | ||
495 | -{ | ||
496 | - BonoboUIComponent *component; | ||
497 | - GdkScreen *screen; | ||
498 | - GtkIconTheme *theme; | ||
499 | - int width; | ||
500 | - int height; | ||
501 | - int icon_size; | ||
502 | - | ||
503 | - if (gtk_widget_has_screen (widget)) { | ||
504 | - screen = gtk_widget_get_screen (widget); | ||
505 | - } else { | ||
506 | - screen = gdk_screen_get_default (); | ||
507 | - } | ||
508 | - | ||
509 | - if (gtk_icon_size_lookup_for_settings (gtk_settings_get_for_screen (screen), | ||
510 | - GTK_ICON_SIZE_MENU, &width, &height)) { | ||
511 | - icon_size = MAX (width, height); | ||
512 | - } else { | ||
513 | - icon_size = 16; | ||
514 | - } | ||
515 | - | ||
516 | - theme = gtk_icon_theme_get_for_screen (screen); | ||
517 | - component = panel_applet_get_popup_component (PANEL_APPLET (widget)); | ||
518 | - | ||
519 | - set_menuitem_icon (component, | ||
520 | - "/commands/GdmAboutMe", | ||
521 | - theme, | ||
522 | - "user-info", | ||
523 | - icon_size); | ||
524 | - set_menuitem_icon (component, | ||
525 | - "/commands/GdmUsersGroupsAdmin", | ||
526 | - theme, | ||
527 | - "stock_people", | ||
528 | - icon_size); | ||
529 | -} | ||
530 | - | ||
531 | -static void | ||
532 | -applet_change_background_cb (PanelApplet *applet, | ||
533 | - PanelAppletBackgroundType type, | ||
534 | - GdkColor *color, | ||
535 | - GdkPixmap *pixmap, | ||
536 | - GdmAppletData *adata) | ||
537 | -{ | ||
538 | - GtkRcStyle *rc_style; | ||
539 | - GtkStyle *style; | ||
540 | - | ||
541 | - gtk_widget_set_style (adata->menubar, NULL); | ||
542 | - rc_style = gtk_rc_style_new (); | ||
543 | - gtk_widget_modify_style (GTK_WIDGET (adata->menubar), rc_style); | ||
544 | - g_object_unref (rc_style); | ||
545 | - | ||
546 | - switch (type) { | ||
547 | - case PANEL_NO_BACKGROUND: | ||
548 | - break; | ||
549 | - case PANEL_COLOR_BACKGROUND: | ||
550 | - gtk_widget_modify_bg (adata->menubar, GTK_STATE_NORMAL, color); | ||
551 | - break; | ||
552 | - case PANEL_PIXMAP_BACKGROUND: | ||
553 | - style = gtk_style_copy (gtk_widget_get_style (adata->menubar)); | ||
554 | - if (style->bg_pixmap[GTK_STATE_NORMAL]) { | ||
555 | - g_object_unref (style->bg_pixmap[GTK_STATE_NORMAL]); | ||
556 | - } | ||
557 | - | ||
558 | - style->bg_pixmap[GTK_STATE_NORMAL] = g_object_ref (pixmap); | ||
559 | - gtk_widget_set_style (adata->menubar, style); | ||
560 | - g_object_unref (style); | ||
561 | - break; | ||
562 | - } | ||
563 | -} | ||
564 | - | ||
565 | -/* | ||
566 | - * gnome-panel/applets/wncklet/window-menu.c:window_menu_key_press_event() | ||
567 | - * | ||
568 | - * Copyright (C) 2003 Sun Microsystems, Inc. | ||
569 | - * Copyright (C) 2001 Free Software Foundation, Inc. | ||
570 | - * Copyright (C) 2000 Helix Code, Inc. | ||
571 | - */ | ||
572 | -static gboolean | ||
573 | -applet_key_press_event_cb (GtkWidget *widget, | ||
574 | - GdkEventKey *event, | ||
575 | - GdmAppletData *adata) | ||
576 | -{ | ||
577 | - GtkMenuShell *menu_shell; | ||
578 | - | ||
579 | - switch (event->keyval) { | ||
580 | - case GDK_KP_Enter: | ||
581 | - case GDK_ISO_Enter: | ||
582 | - case GDK_3270_Enter: | ||
583 | - case GDK_Return: | ||
584 | - case GDK_space: | ||
585 | - case GDK_KP_Space: | ||
586 | - menu_shell = GTK_MENU_SHELL (adata->menubar); | ||
587 | - /* | ||
588 | - * We need to call _gtk_menu_shell_activate() here as is done in | ||
589 | - * window_key_press_handler in gtkmenubar.c which pops up menu | ||
590 | - * when F10 is pressed. | ||
591 | - * | ||
592 | - * As that function is private its code is replicated here. | ||
593 | - */ | ||
594 | - if (!menu_shell->active) { | ||
595 | - gtk_grab_add (GTK_WIDGET (menu_shell)); | ||
596 | - menu_shell->have_grab = TRUE; | ||
597 | - menu_shell->active = TRUE; | ||
598 | - } | ||
599 | - | ||
600 | - gtk_menu_shell_select_first (menu_shell, FALSE); | ||
601 | - return TRUE; | ||
602 | - default: | ||
603 | - break; | ||
604 | - } | ||
605 | - | ||
606 | - return FALSE; | ||
607 | -} | ||
608 | - | ||
609 | -static void | ||
610 | -set_item_text_angle_and_alignment (GtkWidget *item, | ||
611 | - double text_angle, | ||
612 | - float xalign, | ||
613 | - float yalign) | ||
614 | -{ | ||
615 | - GtkWidget *label; | ||
616 | - | ||
617 | - label = gtk_bin_get_child (GTK_BIN (item)); | ||
618 | - | ||
619 | - gtk_label_set_angle (GTK_LABEL (label), text_angle); | ||
620 | - | ||
621 | - gtk_misc_set_alignment (GTK_MISC (label), xalign, yalign); | ||
622 | -} | ||
623 | - | ||
624 | -/* | ||
625 | - * gnome-panel/applets/wncklet/window-menu.c:window_menu_size_allocate() | ||
626 | - * | ||
627 | - * Copyright (C) 2003 Sun Microsystems, Inc. | ||
628 | - * Copyright (C) 2001 Free Software Foundation, Inc. | ||
629 | - * Copyright (C) 2000 Helix Code, Inc. | ||
630 | - */ | ||
631 | -static void | ||
632 | -applet_size_allocate_cb (GtkWidget *widget, | ||
633 | - GtkAllocation *allocation, | ||
634 | - GdmAppletData *adata) | ||
635 | -{ | ||
636 | - GList *children; | ||
637 | - GtkWidget *top_item; | ||
638 | - PanelAppletOrient orient; | ||
639 | - gint pixel_size; | ||
640 | - gdouble text_angle; | ||
641 | - GtkPackDirection pack_direction; | ||
642 | - float text_xalign; | ||
643 | - float text_yalign; | ||
644 | - | ||
645 | - pack_direction = GTK_PACK_DIRECTION_LTR; | ||
646 | - text_angle = 0.0; | ||
647 | - text_xalign = 0.0; | ||
648 | - text_yalign = 0.5; | ||
649 | - | ||
650 | - children = gtk_container_get_children (GTK_CONTAINER (adata->menubar)); | ||
651 | - top_item = GTK_WIDGET (children->data); | ||
652 | - g_list_free (children); | ||
653 | - | ||
654 | - orient = panel_applet_get_orient (PANEL_APPLET (widget)); | ||
655 | - | ||
656 | - switch (orient) { | ||
657 | - case PANEL_APPLET_ORIENT_UP: | ||
658 | - case PANEL_APPLET_ORIENT_DOWN: | ||
659 | - gtk_widget_set_size_request (top_item, -1, allocation->height); | ||
660 | - pixel_size = allocation->height - gtk_widget_get_style (top_item)->ythickness * 2; | ||
661 | - break; | ||
662 | - case PANEL_APPLET_ORIENT_LEFT: | ||
663 | - gtk_widget_set_size_request (top_item, allocation->width, -1); | ||
664 | - pixel_size = allocation->width - gtk_widget_get_style (top_item)->xthickness * 2; | ||
665 | - pack_direction = GTK_PACK_DIRECTION_TTB; | ||
666 | - text_angle = 270.0; | ||
667 | - text_xalign = 0.5; | ||
668 | - text_yalign = 0.0; | ||
669 | - break; | ||
670 | - case PANEL_APPLET_ORIENT_RIGHT: | ||
671 | - gtk_widget_set_size_request (top_item, allocation->width, -1); | ||
672 | - pixel_size = allocation->width - gtk_widget_get_style (top_item)->xthickness * 2; | ||
673 | - pack_direction = GTK_PACK_DIRECTION_BTT; | ||
674 | - text_angle = 90.0; | ||
675 | - text_xalign = 0.5; | ||
676 | - text_yalign = 0.0; | ||
677 | - break; | ||
678 | - default: | ||
679 | - g_assert_not_reached (); | ||
680 | - break; | ||
681 | - } | ||
682 | - | ||
683 | - gtk_menu_bar_set_pack_direction (GTK_MENU_BAR (adata->menubar), | ||
684 | - pack_direction); | ||
685 | - gtk_menu_bar_set_child_pack_direction (GTK_MENU_BAR (adata->menubar), | ||
686 | - pack_direction); | ||
687 | - | ||
688 | - set_item_text_angle_and_alignment (adata->menuitem, | ||
689 | - text_angle, | ||
690 | - text_xalign, | ||
691 | - text_yalign); | ||
692 | - | ||
693 | - if (adata->panel_size != pixel_size) { | ||
694 | - adata->panel_size = pixel_size; | ||
695 | - reset_icon (adata); | ||
696 | - } | ||
697 | -} | ||
698 | - | ||
699 | - | ||
700 | -static void | ||
701 | -gdm_applet_data_free (GdmAppletData *adata) | ||
702 | -{ | ||
703 | - gconf_client_notify_remove (adata->client, adata->client_notify_lockdown_id); | ||
704 | - | ||
705 | - if (adata->user_loaded_notify_id != 0) { | ||
706 | - g_signal_handler_disconnect (adata->user, adata->user_loaded_notify_id); | ||
707 | - } | ||
708 | - | ||
709 | - if (adata->user_changed_notify_id != 0) { | ||
710 | - g_signal_handler_disconnect (adata->user, adata->user_changed_notify_id); | ||
711 | - } | ||
712 | - | ||
713 | -#ifdef BUILD_PRESENSE_STUFF | ||
714 | - if (adata->presence_proxy != NULL) { | ||
715 | - g_object_unref (adata->presence_proxy); | ||
716 | - } | ||
717 | -#endif | ||
718 | - | ||
719 | - if (adata->user != NULL) { | ||
720 | - g_object_unref (adata->user); | ||
721 | - } | ||
722 | - g_object_unref (adata->client); | ||
723 | - g_object_unref (adata->manager); | ||
724 | - | ||
725 | - g_free (adata); | ||
726 | -} | ||
727 | - | ||
728 | - | ||
729 | -/* | ||
730 | - * gnome-panel/applets/wncklet/window-menu.c:window_menu_on_expose() | ||
731 | - * | ||
732 | - * Copyright (C) 2003 Sun Microsystems, Inc. | ||
733 | - * Copyright (C) 2001 Free Software Foundation, Inc. | ||
734 | - * Copyright (C) 2000 Helix Code, Inc. | ||
735 | - */ | ||
736 | -static gboolean | ||
737 | -menubar_expose_event_cb (GtkWidget *widget, | ||
738 | - GdkEventExpose *event, | ||
739 | - GdmAppletData *adata) | ||
740 | -{ | ||
741 | - if (gtk_widget_has_focus (GTK_WIDGET (adata->applet))) | ||
742 | - gtk_paint_focus (gtk_widget_get_style (widget), | ||
743 | - gtk_widget_get_window (widget), | ||
744 | - gtk_widget_get_state (widget), | ||
745 | - NULL, widget, "menu-applet", 0, 0, -1, -1); | ||
746 | - | ||
747 | - return FALSE; | ||
748 | -} | ||
749 | - | ||
750 | -static void | ||
751 | -menu_style_set_cb (GtkWidget *menu, | ||
752 | - GtkStyle *old_style, | ||
753 | - GdmAppletData *adata) | ||
754 | -{ | ||
755 | - GtkSettings *settings; | ||
756 | - int width; | ||
757 | - int height; | ||
758 | - | ||
759 | - adata->icon_size = gtk_icon_size_from_name ("panel-menu"); | ||
760 | - | ||
761 | - if (adata->icon_size == GTK_ICON_SIZE_INVALID) { | ||
762 | - adata->icon_size = gtk_icon_size_register ("panel-menu", 24, 24); | ||
763 | - } | ||
764 | - | ||
765 | - if (gtk_widget_has_screen (menu)) { | ||
766 | - settings = gtk_settings_get_for_screen (gtk_widget_get_screen (menu)); | ||
767 | - } else { | ||
768 | - settings = gtk_settings_get_default (); | ||
769 | - } | ||
770 | - | ||
771 | - if (!gtk_icon_size_lookup_for_settings (settings, adata->icon_size, | ||
772 | - &width, &height)) { | ||
773 | - adata->pixel_size = -1; | ||
774 | - } else { | ||
775 | - adata->pixel_size = MAX (width, height); | ||
776 | - } | ||
777 | -} | ||
778 | - | ||
779 | -static void | ||
780 | -menuitem_style_set_cb (GtkWidget *menuitem, | ||
781 | - GtkStyle *old_style, | ||
782 | - GdmAppletData *adata) | ||
783 | -{ | ||
784 | - GtkWidget *image; | ||
785 | - | ||
786 | - if (GDM_IS_ENTRY_MENU_ITEM (menuitem)) { | ||
787 | - } else { | ||
788 | - const char *icon_name; | ||
789 | - | ||
790 | - if (menuitem == adata->login_screen_item) { | ||
791 | - icon_name = "system-users"; | ||
792 | - } else if (menuitem == adata->lock_screen_item) { | ||
793 | - icon_name = "system-lock-screen"; | ||
794 | - } else if (menuitem == adata->quit_session_item) { | ||
795 | - icon_name = "system-log-out"; | ||
796 | - } else if (menuitem == adata->account_item) { | ||
797 | - icon_name = "user-info"; | ||
798 | - } else if (menuitem == adata->control_panel_item) { | ||
799 | - icon_name = "preferences-desktop"; | ||
800 | - } else { | ||
801 | - icon_name = GTK_STOCK_MISSING_IMAGE; | ||
802 | - } | ||
803 | - | ||
804 | - image = gtk_image_menu_item_get_image (GTK_IMAGE_MENU_ITEM (menuitem)); | ||
805 | - gtk_image_set_pixel_size (GTK_IMAGE (image), adata->pixel_size); | ||
806 | - gtk_image_set_from_icon_name (GTK_IMAGE (image), icon_name, | ||
807 | - adata->icon_size); | ||
808 | - } | ||
809 | -} | ||
810 | - | ||
811 | -static void | ||
812 | -on_user_changed (GdmUser *user, | ||
813 | - GdmAppletData *adata) | ||
814 | -{ | ||
815 | - g_debug ("user changed"); | ||
816 | - update_label (adata); | ||
817 | - reset_icon (adata); | ||
818 | -} | ||
819 | - | ||
820 | -/* Called every time the menu is displayed (and also for some reason | ||
821 | - * immediately it's created, which does no harm). All we have to do | ||
822 | - * here is kick off a request to GDM to let us know which users are | ||
823 | - * logged in, so we can display check marks next to their names. | ||
824 | - */ | ||
825 | -static gboolean | ||
826 | -menu_expose_cb (GtkWidget *menu, | ||
827 | - gpointer data) | ||
828 | -{ | ||
829 | - char *program; | ||
830 | - GdmAppletData *adata = data; | ||
831 | - | ||
832 | - program = g_find_program_in_path ("gnome-control-center"); | ||
833 | - if (program != NULL) { | ||
834 | - gtk_widget_show (adata->control_panel_item); | ||
835 | - } else { | ||
836 | - gtk_widget_hide (adata->control_panel_item); | ||
837 | - } | ||
838 | - g_free (program); | ||
839 | - return FALSE; | ||
840 | -} | ||
841 | - | ||
842 | -static void | ||
843 | -maybe_lock_screen (GdmAppletData *adata) | ||
844 | -{ | ||
845 | - char *args[3]; | ||
846 | - GError *err; | ||
847 | - GdkScreen *screen; | ||
848 | - gboolean use_gscreensaver = TRUE; | ||
849 | - gboolean res; | ||
850 | - | ||
851 | - g_debug ("Attempting to lock screen"); | ||
852 | - | ||
853 | - args[0] = g_find_program_in_path ("gnome-screensaver-command"); | ||
854 | - if (args[0] == NULL) { | ||
855 | - args[0] = g_find_program_in_path ("xscreensaver-command"); | ||
856 | - use_gscreensaver = FALSE; | ||
857 | - } | ||
858 | - | ||
859 | - if (args[0] == NULL) { | ||
860 | - return; | ||
861 | - } | ||
862 | - | ||
863 | - if (use_gscreensaver) { | ||
864 | - args[1] = "--lock"; | ||
865 | - } else { | ||
866 | - args[1] = "-lock"; | ||
867 | - } | ||
868 | - args[2] = NULL; | ||
869 | - | ||
870 | - if (gtk_widget_has_screen (GTK_WIDGET (adata->applet))) { | ||
871 | - screen = gtk_widget_get_screen (GTK_WIDGET (adata->applet)); | ||
872 | - } else { | ||
873 | - screen = gdk_screen_get_default (); | ||
874 | - } | ||
875 | - | ||
876 | - err = NULL; | ||
877 | - res = gdk_spawn_on_screen (screen, | ||
878 | - g_get_home_dir (), | ||
879 | - args, | ||
880 | - NULL, | ||
881 | - 0, | ||
882 | - NULL, | ||
883 | - NULL, | ||
884 | - NULL, | ||
885 | - &err); | ||
886 | - if (! res) { | ||
887 | - g_warning (_("Can't lock screen: %s"), err->message); | ||
888 | - g_error_free (err); | ||
889 | - } | ||
890 | - | ||
891 | - if (use_gscreensaver) { | ||
892 | - args[1] = "--throttle"; | ||
893 | - } else { | ||
894 | - args[1] = "-throttle"; | ||
895 | - } | ||
896 | - | ||
897 | - err = NULL; | ||
898 | - res = gdk_spawn_on_screen (screen, | ||
899 | - g_get_home_dir (), | ||
900 | - args, | ||
901 | - NULL, | ||
902 | - (G_SPAWN_STDERR_TO_DEV_NULL | ||
903 | - | G_SPAWN_STDOUT_TO_DEV_NULL), | ||
904 | - NULL, | ||
905 | - NULL, | ||
906 | - NULL, | ||
907 | - &err); | ||
908 | - if (! res) { | ||
909 | - g_warning (_("Can't temporarily set screensaver to blank screen: %s"), | ||
910 | - err->message); | ||
911 | - g_error_free (err); | ||
912 | - } | ||
913 | - | ||
914 | - g_free (args[0]); | ||
915 | -} | ||
916 | - | ||
917 | -static void | ||
918 | -do_switch (GdmAppletData *adata, | ||
919 | - GdmUser *user) | ||
920 | -{ | ||
921 | - guint num_sessions; | ||
922 | - | ||
923 | - g_debug ("Do user switch"); | ||
924 | - | ||
925 | - if (user == NULL) { | ||
926 | - gdm_user_manager_goto_login_session (adata->manager); | ||
927 | - goto out; | ||
928 | - } | ||
929 | - | ||
930 | - num_sessions = gdm_user_get_num_sessions (user); | ||
931 | - if (num_sessions > 0) { | ||
932 | - gdm_user_manager_activate_user_session (adata->manager, user); | ||
933 | - } else { | ||
934 | - gdm_user_manager_goto_login_session (adata->manager); | ||
935 | - } | ||
936 | - out: | ||
937 | - maybe_lock_screen (adata); | ||
938 | -} | ||
939 | - | ||
940 | -static void | ||
941 | -update_switch_user (GdmAppletData *adata) | ||
942 | -{ | ||
943 | - gboolean can_switch; | ||
944 | - gboolean has_other_users; | ||
945 | - | ||
946 | - can_switch = gdm_user_manager_can_switch (adata->manager); | ||
947 | - g_object_get (adata->manager, | ||
948 | - "has-multiple-users", &has_other_users, | ||
949 | - NULL); | ||
950 | - | ||
951 | - if (can_switch && has_other_users) { | ||
952 | - gtk_widget_show (adata->login_screen_item); | ||
953 | - } else { | ||
954 | - | ||
955 | - gtk_widget_hide (adata->login_screen_item); | ||
956 | - } | ||
957 | -} | ||
958 | - | ||
959 | -static void | ||
960 | -on_manager_is_loaded_changed (GdmUserManager *manager, | ||
961 | - GParamSpec *pspec, | ||
962 | - GdmAppletData *adata) | ||
963 | -{ | ||
964 | - update_switch_user (adata); | ||
965 | -} | ||
966 | - | ||
967 | -static void | ||
968 | -on_manager_has_multiple_users_changed (GdmUserManager *manager, | ||
969 | - GParamSpec *pspec, | ||
970 | - GdmAppletData *adata) | ||
971 | -{ | ||
972 | - update_switch_user (adata); | ||
973 | -} | ||
974 | - | ||
975 | -#ifdef BUILD_PRESENSE_STUFF | ||
976 | -static void | ||
977 | -on_user_item_activate (GtkMenuItem *item, | ||
978 | - GdmAppletData *adata) | ||
979 | -{ | ||
980 | - g_signal_stop_emission_by_name (item, "activate"); | ||
981 | -} | ||
982 | -#endif | ||
983 | - | ||
984 | -static void | ||
985 | -on_control_panel_activate (GtkMenuItem *item, | ||
986 | - GdmAppletData *adata) | ||
987 | -{ | ||
988 | - char *args[2]; | ||
989 | - GError *error; | ||
990 | - GdkScreen *screen; | ||
991 | - gboolean res; | ||
992 | - | ||
993 | - args[0] = g_find_program_in_path ("gnome-control-center"); | ||
994 | - if (args[0] == NULL) { | ||
995 | - return; | ||
996 | - } | ||
997 | - args[1] = NULL; | ||
998 | - | ||
999 | - if (gtk_widget_has_screen (GTK_WIDGET (adata->applet))) { | ||
1000 | - screen = gtk_widget_get_screen (GTK_WIDGET (adata->applet)); | ||
1001 | - } else { | ||
1002 | - screen = gdk_screen_get_default (); | ||
1003 | - } | ||
1004 | - | ||
1005 | - error = NULL; | ||
1006 | - res = gdk_spawn_on_screen (screen, | ||
1007 | - g_get_home_dir (), | ||
1008 | - args, | ||
1009 | - NULL, | ||
1010 | - 0, | ||
1011 | - NULL, | ||
1012 | - NULL, | ||
1013 | - NULL, | ||
1014 | - &error); | ||
1015 | - if (! res) { | ||
1016 | - g_warning (_("Can't lock screen: %s"), error->message); | ||
1017 | - g_error_free (error); | ||
1018 | - } | ||
1019 | - | ||
1020 | - g_free (args[0]); | ||
1021 | -} | ||
1022 | - | ||
1023 | -static void | ||
1024 | -on_account_activate (GtkMenuItem *item, | ||
1025 | - GdmAppletData *adata) | ||
1026 | -{ | ||
1027 | - char *args[2]; | ||
1028 | - GError *error; | ||
1029 | - GdkScreen *screen; | ||
1030 | - gboolean res; | ||
1031 | - | ||
1032 | - args[0] = g_find_program_in_path ("accounts-dialog"); | ||
1033 | - if (args[0] == NULL) { | ||
1034 | - args[0] = g_find_program_in_path ("gnome-about-me"); | ||
1035 | - if (args[0] == NULL) { | ||
1036 | - return; | ||
1037 | - } | ||
1038 | - } | ||
1039 | - args[1] = NULL; | ||
1040 | - | ||
1041 | - if (gtk_widget_has_screen (GTK_WIDGET (adata->applet))) { | ||
1042 | - screen = gtk_widget_get_screen (GTK_WIDGET (adata->applet)); | ||
1043 | - } else { | ||
1044 | - screen = gdk_screen_get_default (); | ||
1045 | - } | ||
1046 | - | ||
1047 | - error = NULL; | ||
1048 | - res = gdk_spawn_on_screen (screen, | ||
1049 | - g_get_home_dir (), | ||
1050 | - args, | ||
1051 | - NULL, | ||
1052 | - 0, | ||
1053 | - NULL, | ||
1054 | - NULL, | ||
1055 | - NULL, | ||
1056 | - &error); | ||
1057 | - if (! res) { | ||
1058 | - g_warning (_("Can't lock screen: %s"), error->message); | ||
1059 | - g_error_free (error); | ||
1060 | - } | ||
1061 | - | ||
1062 | - g_free (args[0]); | ||
1063 | -} | ||
1064 | - | ||
1065 | -static void | ||
1066 | -on_lock_screen_activate (GtkMenuItem *item, | ||
1067 | - GdmAppletData *adata) | ||
1068 | -{ | ||
1069 | - maybe_lock_screen (adata); | ||
1070 | -} | ||
1071 | - | ||
1072 | -static void | ||
1073 | -on_login_screen_activate (GtkMenuItem *item, | ||
1074 | - GdmAppletData *adata) | ||
1075 | -{ | ||
1076 | - GdmUser *user; | ||
1077 | - | ||
1078 | - user = NULL; | ||
1079 | - | ||
1080 | - do_switch (adata, user); | ||
1081 | -} | ||
1082 | - | ||
1083 | -static void | ||
1084 | -on_quit_session_activate (GtkMenuItem *item, | ||
1085 | - GdmAppletData *adata) | ||
1086 | -{ | ||
1087 | - char *args[3]; | ||
1088 | - GError *error; | ||
1089 | - GdkScreen *screen; | ||
1090 | - gboolean res; | ||
1091 | - | ||
1092 | - args[0] = g_find_program_in_path ("gnome-session-save"); | ||
1093 | - if (args[0] == NULL) { | ||
1094 | - return; | ||
1095 | - } | ||
1096 | - | ||
1097 | - args[1] = "--logout-dialog"; | ||
1098 | - args[2] = NULL; | ||
1099 | - | ||
1100 | - if (gtk_widget_has_screen (GTK_WIDGET (adata->applet))) { | ||
1101 | - screen = gtk_widget_get_screen (GTK_WIDGET (adata->applet)); | ||
1102 | - } else { | ||
1103 | - screen = gdk_screen_get_default (); | ||
1104 | - } | ||
1105 | - | ||
1106 | - error = NULL; | ||
1107 | - res = gdk_spawn_on_screen (screen, | ||
1108 | - g_get_home_dir (), | ||
1109 | - args, | ||
1110 | - NULL, | ||
1111 | - 0, | ||
1112 | - NULL, | ||
1113 | - NULL, | ||
1114 | - NULL, | ||
1115 | - &error); | ||
1116 | - if (! res) { | ||
1117 | - g_warning (_("Can't log out: %s"), error->message); | ||
1118 | - g_error_free (error); | ||
1119 | - } | ||
1120 | - | ||
1121 | - g_free (args[0]); | ||
1122 | -} | ||
1123 | - | ||
1124 | -#ifdef BUILD_PRESENSE_STUFF | ||
1125 | -static gboolean | ||
1126 | -on_menu_key_press_event (GtkWidget *widget, | ||
1127 | - GdkEventKey *event, | ||
1128 | - GdmAppletData *adata) | ||
1129 | -{ | ||
1130 | - GtkWidget *entry; | ||
1131 | - | ||
1132 | - entry = gdm_entry_menu_item_get_entry (GDM_ENTRY_MENU_ITEM (adata->user_item)); | ||
1133 | - | ||
1134 | - if (GTK_WIDGET_HAS_FOCUS (entry)) { | ||
1135 | - gtk_widget_event (entry, (GdkEvent *)event); | ||
1136 | - return TRUE; | ||
1137 | - } else { | ||
1138 | - return FALSE; | ||
1139 | - } | ||
1140 | -} | ||
1141 | - | ||
1142 | -static void | ||
1143 | -save_status (GdmAppletData *adata, | ||
1144 | - guint status) | ||
1145 | -{ | ||
1146 | - if (adata->current_status != status) { | ||
1147 | - GError *error; | ||
1148 | - | ||
1149 | - adata->current_status = status; | ||
1150 | - | ||
1151 | - g_debug ("Saving status: %u", status); | ||
1152 | - error = NULL; | ||
1153 | - dbus_g_proxy_call (adata->presence_proxy, | ||
1154 | - "SetStatus", | ||
1155 | - &error, | ||
1156 | - G_TYPE_UINT, status, | ||
1157 | - G_TYPE_INVALID, | ||
1158 | - G_TYPE_INVALID); | ||
1159 | - | ||
1160 | - if (error != NULL) { | ||
1161 | - g_warning ("Couldn't save presence status: %s", error->message); | ||
1162 | - g_error_free (error); | ||
1163 | - } | ||
1164 | - } | ||
1165 | -} | ||
1166 | - | ||
1167 | -static void | ||
1168 | -on_status_available_activate (GtkWidget *widget, | ||
1169 | - GdmAppletData *adata) | ||
1170 | -{ | ||
1171 | - | ||
1172 | - if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget))) { | ||
1173 | - save_status (adata, GSM_PRESENCE_STATUS_AVAILABLE); | ||
1174 | - } | ||
1175 | -} | ||
1176 | - | ||
1177 | -static void | ||
1178 | -on_status_busy_activate (GtkWidget *widget, | ||
1179 | - GdmAppletData *adata) | ||
1180 | -{ | ||
1181 | - if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget))) { | ||
1182 | - save_status (adata, GSM_PRESENCE_STATUS_BUSY); | ||
1183 | - } | ||
1184 | -} | ||
1185 | - | ||
1186 | -static void | ||
1187 | -on_status_invisible_activate (GtkWidget *widget, | ||
1188 | - GdmAppletData *adata) | ||
1189 | -{ | ||
1190 | - if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget))) { | ||
1191 | - save_status (adata, GSM_PRESENCE_STATUS_INVISIBLE); | ||
1192 | - } | ||
1193 | -} | ||
1194 | - | ||
1195 | -static struct { | ||
1196 | - char *icon_name; | ||
1197 | - char *display_name; | ||
1198 | - void *menu_callback; | ||
1199 | - GtkWidget *widget; | ||
1200 | -} statuses[] = { | ||
1201 | - { "user-online", N_("Available"), on_status_available_activate, NULL }, | ||
1202 | - { "user-invisible", N_("Invisible"), on_status_invisible_activate, NULL }, | ||
1203 | - { "user-busy", N_("Busy"), on_status_busy_activate, NULL }, | ||
1204 | - { "user-away", N_("Away"), NULL, NULL }, | ||
1205 | -}; | ||
1206 | -#endif | ||
1207 | - | ||
1208 | -static void | ||
1209 | -update_label (GdmAppletData *adata) | ||
1210 | -{ | ||
1211 | - GtkWidget *label; | ||
1212 | - char *markup; | ||
1213 | - | ||
1214 | - label = gtk_bin_get_child (GTK_BIN (adata->menuitem)); | ||
1215 | - | ||
1216 | -#ifdef BUILD_PRESENSE_STUFF | ||
1217 | - markup = g_strdup_printf ("<b>%s</b> <small>(%s)</small>", | ||
1218 | - gdm_user_get_real_name (GDM_USER (adata->user)), | ||
1219 | - _(statuses[adata->current_status].display_name)); | ||
1220 | -#else | ||
1221 | - markup = g_strdup_printf ("<b>%s</b>", | ||
1222 | - gdm_user_get_real_name (GDM_USER (adata->user))); | ||
1223 | -#endif | ||
1224 | - gtk_label_set_markup (GTK_LABEL (label), markup); | ||
1225 | - g_free (markup); | ||
1226 | -} | ||
1227 | - | ||
1228 | -#ifdef BUILD_PRESENSE_STUFF | ||
1229 | -static void | ||
1230 | -save_status_text (GdmAppletData *adata) | ||
1231 | -{ | ||
1232 | - GtkWidget *entry; | ||
1233 | - GtkTextBuffer *buffer; | ||
1234 | - char *escaped_text; | ||
1235 | - char *text; | ||
1236 | - GtkTextIter start, end; | ||
1237 | - | ||
1238 | - entry = gdm_entry_menu_item_get_entry (GDM_ENTRY_MENU_ITEM (adata->user_item)); | ||
1239 | - buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (entry)); | ||
1240 | - gtk_text_buffer_get_bounds (buffer, &start, &end); | ||
1241 | - text = gtk_text_buffer_get_text (buffer, &start, &end, FALSE); | ||
1242 | - escaped_text = g_markup_escape_text (text, -1); | ||
1243 | - | ||
1244 | - if (escaped_text != NULL) { | ||
1245 | - GError *error; | ||
1246 | - | ||
1247 | - error = NULL; | ||
1248 | - dbus_g_proxy_call (adata->presence_proxy, | ||
1249 | - "SetStatusText", | ||
1250 | - &error, | ||
1251 | - G_TYPE_STRING, escaped_text, | ||
1252 | - G_TYPE_INVALID, | ||
1253 | - G_TYPE_INVALID); | ||
1254 | - | ||
1255 | - if (error != NULL) { | ||
1256 | - g_warning ("Couldn't set presence status text: %s", error->message); | ||
1257 | - g_error_free (error); | ||
1258 | - } | ||
1259 | - } | ||
1260 | - | ||
1261 | - g_free (text); | ||
1262 | - g_free (escaped_text); | ||
1263 | -} | ||
1264 | - | ||
1265 | -static void | ||
1266 | -on_user_item_deselect (GtkWidget *item, | ||
1267 | - GdmAppletData *adata) | ||
1268 | -{ | ||
1269 | - save_status_text (adata); | ||
1270 | -} | ||
1271 | -#endif | ||
1272 | - | ||
1273 | -static void | ||
1274 | -create_sub_menu (GdmAppletData *adata) | ||
1275 | -{ | ||
1276 | - GtkWidget *item; | ||
1277 | -#ifdef BUILD_PRESENSE_STUFF | ||
1278 | - int i; | ||
1279 | - GSList *radio_group; | ||
1280 | -#endif | ||
1281 | - | ||
1282 | - adata->menu = gtk_menu_new (); | ||
1283 | -#ifdef BUILD_PRESENSE_STUFF | ||
1284 | - g_signal_connect (adata->menu, | ||
1285 | - "key-press-event", | ||
1286 | - G_CALLBACK (on_menu_key_press_event), | ||
1287 | - adata); | ||
1288 | -#endif | ||
1289 | - gtk_menu_item_set_submenu (GTK_MENU_ITEM (adata->menuitem), adata->menu); | ||
1290 | - g_signal_connect (adata->menu, "style-set", | ||
1291 | - G_CALLBACK (menu_style_set_cb), adata); | ||
1292 | - g_signal_connect (adata->menu, "show", | ||
1293 | - G_CALLBACK (menu_expose_cb), adata); | ||
1294 | - | ||
1295 | -#ifdef BUILD_PRESENSE_STUFF | ||
1296 | - adata->user_item = gdm_entry_menu_item_new (); | ||
1297 | - gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), | ||
1298 | - adata->user_item); | ||
1299 | - gtk_widget_show (adata->user_item); | ||
1300 | - g_signal_connect (adata->user_item, "activate", | ||
1301 | - G_CALLBACK (on_user_item_activate), adata); | ||
1302 | - g_signal_connect (adata->user_item, | ||
1303 | - "deselect", | ||
1304 | - G_CALLBACK (on_user_item_deselect), | ||
1305 | - adata); | ||
1306 | - | ||
1307 | - item = gtk_separator_menu_item_new (); | ||
1308 | - gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), item); | ||
1309 | - gtk_widget_show (item); | ||
1310 | - | ||
1311 | - radio_group = NULL; | ||
1312 | - for (i = 0; i < G_N_ELEMENTS (statuses); i++) { | ||
1313 | - GtkWidget *hbox; | ||
1314 | - GtkWidget *label; | ||
1315 | - GtkWidget *image; | ||
1316 | - GtkWidget *item; | ||
1317 | - | ||
1318 | - if (statuses[i].menu_callback == NULL) { | ||
1319 | - continue; | ||
1320 | - } | ||
1321 | - | ||
1322 | - item = gtk_radio_menu_item_new (radio_group); | ||
1323 | - radio_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (item)); | ||
1324 | - hbox = gtk_hbox_new (FALSE, 3); | ||
1325 | - label = gtk_label_new (_(statuses[i].display_name)); | ||
1326 | - gtk_label_set_justify (GTK_LABEL(label), GTK_JUSTIFY_LEFT); | ||
1327 | - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); | ||
1328 | - gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); | ||
1329 | - gtk_widget_show (label); | ||
1330 | - image = gtk_image_new_from_icon_name (statuses[i].icon_name, GTK_ICON_SIZE_MENU); | ||
1331 | - gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, TRUE, 0); | ||
1332 | - gtk_widget_show (image); | ||
1333 | - gtk_widget_show (hbox); | ||
1334 | - gtk_container_add (GTK_CONTAINER (item), hbox); | ||
1335 | - | ||
1336 | - gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), | ||
1337 | - item); | ||
1338 | - g_signal_connect (item, "activate", | ||
1339 | - G_CALLBACK (statuses[i].menu_callback), adata); | ||
1340 | - gtk_widget_show (item); | ||
1341 | - | ||
1342 | - statuses[i].widget = item; | ||
1343 | - } | ||
1344 | - | ||
1345 | - item = gtk_separator_menu_item_new (); | ||
1346 | - gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), item); | ||
1347 | - gtk_widget_show (item); | ||
1348 | -#endif | ||
1349 | - | ||
1350 | - adata->account_item = gtk_image_menu_item_new_with_label (_("Account Information")); | ||
1351 | - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (adata->account_item), | ||
1352 | - gtk_image_new ()); | ||
1353 | - gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), | ||
1354 | - adata->account_item); | ||
1355 | - g_signal_connect (adata->account_item, "style-set", | ||
1356 | - G_CALLBACK (menuitem_style_set_cb), adata); | ||
1357 | - g_signal_connect (adata->account_item, "activate", | ||
1358 | - G_CALLBACK (on_account_activate), adata); | ||
1359 | - gtk_widget_show (adata->account_item); | ||
1360 | - | ||
1361 | - | ||
1362 | - adata->control_panel_item = gtk_image_menu_item_new_with_label (_("System Preferences")); | ||
1363 | - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (adata->control_panel_item), | ||
1364 | - gtk_image_new ()); | ||
1365 | - gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), | ||
1366 | - adata->control_panel_item); | ||
1367 | - g_signal_connect (adata->control_panel_item, "style-set", | ||
1368 | - G_CALLBACK (menuitem_style_set_cb), adata); | ||
1369 | - g_signal_connect (adata->control_panel_item, "activate", | ||
1370 | - G_CALLBACK (on_control_panel_activate), adata); | ||
1371 | - | ||
1372 | - item = gtk_separator_menu_item_new (); | ||
1373 | - gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), item); | ||
1374 | - gtk_widget_show (item); | ||
1375 | - | ||
1376 | - adata->lock_screen_item = gtk_image_menu_item_new_with_label (_("Lock Screen")); | ||
1377 | - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (adata->lock_screen_item), | ||
1378 | - gtk_image_new ()); | ||
1379 | - gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), | ||
1380 | - adata->lock_screen_item); | ||
1381 | - g_signal_connect (adata->lock_screen_item, "style-set", | ||
1382 | - G_CALLBACK (menuitem_style_set_cb), adata); | ||
1383 | - g_signal_connect (adata->lock_screen_item, "activate", | ||
1384 | - G_CALLBACK (on_lock_screen_activate), adata); | ||
1385 | - /* Only show if not locked down */ | ||
1386 | - | ||
1387 | - adata->login_screen_item = gtk_image_menu_item_new_with_label (_("Switch User")); | ||
1388 | - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (adata->login_screen_item), | ||
1389 | - gtk_image_new ()); | ||
1390 | - gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), | ||
1391 | - adata->login_screen_item); | ||
1392 | - g_signal_connect (adata->login_screen_item, "style-set", | ||
1393 | - G_CALLBACK (menuitem_style_set_cb), adata); | ||
1394 | - g_signal_connect (adata->login_screen_item, "activate", | ||
1395 | - G_CALLBACK (on_login_screen_activate), adata); | ||
1396 | - /* Only show switch user if there are other users */ | ||
1397 | - | ||
1398 | - adata->quit_session_item = gtk_image_menu_item_new_with_label (_("Quit…")); | ||
1399 | - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (adata->quit_session_item), | ||
1400 | - gtk_image_new ()); | ||
1401 | - gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), | ||
1402 | - adata->quit_session_item); | ||
1403 | - g_signal_connect (adata->quit_session_item, "style-set", | ||
1404 | - G_CALLBACK (menuitem_style_set_cb), adata); | ||
1405 | - g_signal_connect (adata->quit_session_item, "activate", | ||
1406 | - G_CALLBACK (on_quit_session_activate), adata); | ||
1407 | - gtk_widget_show (adata->quit_session_item); | ||
1408 | - gtk_widget_show (adata->menu); | ||
1409 | -} | ||
1410 | - | ||
1411 | -static void | ||
1412 | -destroy_sub_menu (GdmAppletData *adata) | ||
1413 | -{ | ||
1414 | - gtk_menu_item_set_submenu (GTK_MENU_ITEM (adata->menuitem), NULL); | ||
1415 | -} | ||
1416 | - | ||
1417 | -static void | ||
1418 | -set_menu_visibility (GdmAppletData *adata, | ||
1419 | - gboolean visible) | ||
1420 | -{ | ||
1421 | - | ||
1422 | - if (visible) { | ||
1423 | - create_sub_menu (adata); | ||
1424 | - } else { | ||
1425 | - destroy_sub_menu (adata); | ||
1426 | - } | ||
1427 | -} | ||
1428 | - | ||
1429 | -static void | ||
1430 | -client_notify_lockdown_func (GConfClient *client, | ||
1431 | - guint cnxn_id, | ||
1432 | - GConfEntry *entry, | ||
1433 | - GdmAppletData *adata) | ||
1434 | -{ | ||
1435 | - GConfValue *value; | ||
1436 | - const char *key; | ||
1437 | - | ||
1438 | - value = gconf_entry_get_value (entry); | ||
1439 | - key = gconf_entry_get_key (entry); | ||
1440 | - | ||
1441 | - if (value == NULL || key == NULL) { | ||
1442 | - return; | ||
1443 | - } | ||
1444 | - | ||
1445 | - if (strcmp (key, LOCKDOWN_USER_SWITCHING_KEY) == 0) { | ||
1446 | - if (gconf_value_get_bool (value)) { | ||
1447 | - set_menu_visibility (adata, FALSE); | ||
1448 | - } else { | ||
1449 | - set_menu_visibility (adata, TRUE); | ||
1450 | - } | ||
1451 | - } else if (strcmp (key, LOCKDOWN_LOCK_SCREEN_KEY) == 0) { | ||
1452 | - if (gconf_value_get_bool (value)) { | ||
1453 | - gtk_widget_hide (adata->lock_screen_item); | ||
1454 | - } else { | ||
1455 | - gtk_widget_show (adata->lock_screen_item); | ||
1456 | - } | ||
1457 | - } | ||
1458 | -} | ||
1459 | - | ||
1460 | -static void | ||
1461 | -reset_icon (GdmAppletData *adata) | ||
1462 | -{ | ||
1463 | - GdkPixbuf *pixbuf; | ||
1464 | - GtkWidget *image; | ||
1465 | - | ||
1466 | - if (adata->user == NULL || !gtk_widget_has_screen (GTK_WIDGET (adata->menuitem))) { | ||
1467 | - return; | ||
1468 | - } | ||
1469 | - | ||
1470 | -#ifdef BUILD_PRESENSE_STUFF | ||
1471 | - if (adata->user_item != NULL) { | ||
1472 | - image = gdm_entry_menu_item_get_image (GDM_ENTRY_MENU_ITEM (adata->user_item)); | ||
1473 | - pixbuf = gdm_user_render_icon (adata->user, adata->panel_size * 3); | ||
1474 | - if (pixbuf == NULL) { | ||
1475 | - return; | ||
1476 | - } | ||
1477 | - | ||
1478 | - gtk_image_set_from_pixbuf (GTK_IMAGE (image), pixbuf); | ||
1479 | - g_object_unref (pixbuf); | ||
1480 | - } | ||
1481 | -#else | ||
1482 | - pixbuf = gdm_user_render_icon (adata->user, adata->panel_size); | ||
1483 | - | ||
1484 | - if (pixbuf == NULL) { | ||
1485 | - return; | ||
1486 | - } | ||
1487 | - | ||
1488 | - image = gtk_image_menu_item_get_image (GTK_IMAGE_MENU_ITEM (adata->menuitem)); | ||
1489 | - gtk_image_set_from_pixbuf (GTK_IMAGE (image), pixbuf); | ||
1490 | - g_object_unref (pixbuf); | ||
1491 | -#endif | ||
1492 | -} | ||
1493 | - | ||
1494 | -static void | ||
1495 | -setup_current_user_now (GdmAppletData *adata) | ||
1496 | -{ | ||
1497 | - g_assert (adata->user != NULL); | ||
1498 | - | ||
1499 | - if (adata->user_loaded_notify_id != 0) { | ||
1500 | - g_signal_handler_disconnect (adata->user, adata->user_loaded_notify_id); | ||
1501 | - } | ||
1502 | - adata->user_loaded_notify_id = 0; | ||
1503 | - | ||
1504 | - update_label (adata); | ||
1505 | - reset_icon (adata); | ||
1506 | - adata->user_changed_notify_id = | ||
1507 | - g_signal_connect (adata->user, | ||
1508 | - "changed", | ||
1509 | - G_CALLBACK (on_user_changed), | ||
1510 | - adata); | ||
1511 | -} | ||
1512 | - | ||
1513 | -static void | ||
1514 | -on_current_user_loaded (GdmUser *user, | ||
1515 | - GParamSpec *pspec, | ||
1516 | - GdmAppletData *adata) | ||
1517 | -{ | ||
1518 | - if (!gdm_user_is_loaded (user)) { | ||
1519 | - return; | ||
1520 | - } | ||
1521 | - | ||
1522 | - setup_current_user_now (adata); | ||
1523 | -} | ||
1524 | - | ||
1525 | -static void | ||
1526 | -setup_current_user (GdmAppletData *adata) | ||
1527 | -{ | ||
1528 | - adata->user = gdm_user_manager_get_user_by_uid (adata->manager, getuid ()); | ||
1529 | - | ||
1530 | - if (adata->user == NULL) { | ||
1531 | - g_warning ("Could not setup current user"); | ||
1532 | - return; | ||
1533 | - } | ||
1534 | - | ||
1535 | - g_object_ref (adata->user); | ||
1536 | - | ||
1537 | - adata->menuitem = gtk_image_menu_item_new_with_label (""); | ||
1538 | -#ifndef BUILD_PRESENSE_STUFF | ||
1539 | - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (adata->menuitem), | ||
1540 | - gtk_image_new ()); | ||
1541 | -#endif | ||
1542 | - gtk_menu_shell_append (GTK_MENU_SHELL (adata->menubar), adata->menuitem); | ||
1543 | - gtk_widget_show (adata->menuitem); | ||
1544 | - | ||
1545 | - if (gdm_user_is_loaded (adata->user)) { | ||
1546 | - setup_current_user_now (adata); | ||
1547 | - return; | ||
1548 | - } | ||
1549 | - | ||
1550 | - adata->user_loaded_notify_id = g_signal_connect (adata->user, | ||
1551 | - "notify::is-loaded", | ||
1552 | - G_CALLBACK (on_current_user_loaded), | ||
1553 | - adata); | ||
1554 | -} | ||
1555 | - | ||
1556 | -#ifdef BUILD_PRESENSE_STUFF | ||
1557 | -static void | ||
1558 | -set_status (GdmAppletData *adata, | ||
1559 | - guint status) | ||
1560 | -{ | ||
1561 | - int i; | ||
1562 | - | ||
1563 | - g_debug ("Setting current status: %u", status); | ||
1564 | - adata->current_status = status; | ||
1565 | - for (i = 0; i < G_N_ELEMENTS (statuses); i++) { | ||
1566 | - if (statuses[i].widget == NULL) { | ||
1567 | - continue; | ||
1568 | - } | ||
1569 | - if (i == status) { | ||
1570 | - gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (statuses[i].widget), | ||
1571 | - TRUE); | ||
1572 | - } | ||
1573 | - } | ||
1574 | - | ||
1575 | - update_label (adata); | ||
1576 | -} | ||
1577 | - | ||
1578 | -static void | ||
1579 | -on_presence_status_changed (DBusGProxy *presence_proxy, | ||
1580 | - guint status, | ||
1581 | - GdmAppletData *adata) | ||
1582 | -{ | ||
1583 | - g_debug ("Status changed: %u", status); | ||
1584 | - | ||
1585 | - set_status (adata, status); | ||
1586 | -} | ||
1587 | - | ||
1588 | -static void | ||
1589 | -set_status_text (GdmAppletData *adata, | ||
1590 | - const char *status_text) | ||
1591 | -{ | ||
1592 | - GtkWidget *entry; | ||
1593 | - GtkTextBuffer *buffer; | ||
1594 | - | ||
1595 | - g_debug ("Status text changed: %s", status_text); | ||
1596 | - | ||
1597 | - entry = gdm_entry_menu_item_get_entry (GDM_ENTRY_MENU_ITEM (adata->user_item)); | ||
1598 | - buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (entry)); | ||
1599 | - gtk_text_buffer_set_text (buffer, status_text, -1); | ||
1600 | -} | ||
1601 | - | ||
1602 | -static void | ||
1603 | -on_presence_status_text_changed (DBusGProxy *presence_proxy, | ||
1604 | - const char *status_text, | ||
1605 | - GdmAppletData *adata) | ||
1606 | -{ | ||
1607 | - set_status_text (adata, status_text); | ||
1608 | -} | ||
1609 | -#endif | ||
1610 | - | ||
1611 | -static gboolean | ||
1612 | -fill_applet (PanelApplet *applet) | ||
1613 | -{ | ||
1614 | - static const BonoboUIVerb menu_verbs[] = { | ||
1615 | - BONOBO_UI_VERB ("GdmAboutMe", about_me_cb), | ||
1616 | - BONOBO_UI_VERB ("GdmUsersGroupsAdmin", admin_cb), | ||
1617 | - BONOBO_UI_VERB ("GdmAbout", about_cb), | ||
1618 | - BONOBO_UI_VERB_END | ||
1619 | - }; | ||
1620 | - static gboolean first_time = FALSE; | ||
1621 | - char *tmp; | ||
1622 | - BonoboUIComponent *popup_component; | ||
1623 | - GdmAppletData *adata; | ||
1624 | - GError *error; | ||
1625 | - DBusGConnection *bus; | ||
1626 | - | ||
1627 | - if (!first_time) { | ||
1628 | - first_time = TRUE; | ||
1629 | - | ||
1630 | - /* Do this here so it's only done once. */ | ||
1631 | - gtk_rc_parse_string ("style \"gdm-user-switch-menubar-style\"\n" | ||
1632 | - "{\n" | ||
1633 | - "GtkMenuBar::shadow-type = none\n" | ||
1634 | - "GtkMenuBar::internal-padding = 0\n" | ||
1635 | - "}\n" | ||
1636 | - "style \"gdm-user-switch-applet-style\"\n" | ||
1637 | - "{\n" | ||
1638 | - "GtkWidget::focus-line-width = 0\n" | ||
1639 | - "GtkWidget::focus-padding = 0\n" | ||
1640 | - "}\n" | ||
1641 | - "widget \"*.gdm-user-switch-menubar\" style \"gdm-user-switch-menubar-style\"\n" | ||
1642 | - "widget \"*.gdm-user-switch-applet\" style \"gdm-user-switch-applet-style\"\n"); | ||
1643 | - gtk_window_set_default_icon_name ("stock_people"); | ||
1644 | - g_set_application_name (_("User Switch Applet")); | ||
1645 | - | ||
1646 | - if (! gdm_settings_client_init (DATADIR "/gdm/gdm.schemas", "/")) { | ||
1647 | - g_critical ("Unable to initialize settings client"); | ||
1648 | - exit (1); | ||
1649 | - } | ||
1650 | - | ||
1651 | - } | ||
1652 | - | ||
1653 | - adata = g_new0 (GdmAppletData, 1); | ||
1654 | - adata->applet = applet; | ||
1655 | - adata->panel_size = 24; | ||
1656 | - | ||
1657 | - adata->client = gconf_client_get_default (); | ||
1658 | - | ||
1659 | - gtk_widget_set_tooltip_text (GTK_WIDGET (applet), _("Change account settings and status")); | ||
1660 | - gtk_container_set_border_width (GTK_CONTAINER (applet), 0); | ||
1661 | - gtk_widget_set_name (GTK_WIDGET (applet), "gdm-user-switch-applet"); | ||
1662 | - panel_applet_set_flags (applet, PANEL_APPLET_EXPAND_MINOR); | ||
1663 | - panel_applet_setup_menu_from_file (applet, NULL, | ||
1664 | - DATADIR "/gnome-2.0/ui/GNOME_FastUserSwitchApplet.xml", | ||
1665 | - NULL, menu_verbs, adata); | ||
1666 | - | ||
1667 | - popup_component = panel_applet_get_popup_component (applet); | ||
1668 | - | ||
1669 | - /* Hide the admin context menu items if locked down or no cmd-line */ | ||
1670 | - if (gconf_client_get_bool (adata->client, | ||
1671 | - LOCKDOWN_COMMAND_LINE_KEY, | ||
1672 | - NULL) || | ||
1673 | - panel_applet_get_locked_down (applet)) { | ||
1674 | - bonobo_ui_component_set_prop (popup_component, | ||
1675 | - "/popups/button3/GdmSeparator", | ||
1676 | - "hidden", "1", NULL); | ||
1677 | - bonobo_ui_component_set_prop (popup_component, | ||
1678 | - "/commands/GdmUsersGroupsAdmin", | ||
1679 | - "hidden", "1", NULL); | ||
1680 | - } else { | ||
1681 | -#ifndef USERS_ADMIN | ||
1682 | -# ifdef GDM_SETUP | ||
1683 | - bonobo_ui_component_set_prop (popup_component, | ||
1684 | - "/popups/button3/GdmSeparator", | ||
1685 | - "hidden", "1", | ||
1686 | - NULL); | ||
1687 | -# endif /* !GDM_SETUP */ | ||
1688 | - bonobo_ui_component_set_prop (popup_component, | ||
1689 | - "/commands/GdmUsersGroupsAdmin", | ||
1690 | - "hidden", "1", | ||
1691 | - NULL); | ||
1692 | -#endif /* !USERS_ADMIN */ | ||
1693 | - } | ||
1694 | - | ||
1695 | - /* Hide the gdmphotosetup item if it can't be found in the path. */ | ||
1696 | - tmp = g_find_program_in_path ("gnome-about-me"); | ||
1697 | - if (!tmp) { | ||
1698 | - bonobo_ui_component_set_prop (popup_component, | ||
1699 | - "/commands/GdmAboutMe", | ||
1700 | - "hidden", "1", | ||
1701 | - NULL); | ||
1702 | - } else { | ||
1703 | - g_free (tmp); | ||
1704 | - } | ||
1705 | - | ||
1706 | - g_signal_connect (adata->applet, | ||
1707 | - "style-set", | ||
1708 | - G_CALLBACK (applet_style_set_cb), adata); | ||
1709 | - g_signal_connect (applet, | ||
1710 | - "change-background", | ||
1711 | - G_CALLBACK (applet_change_background_cb), adata); | ||
1712 | - g_signal_connect (applet, | ||
1713 | - "size-allocate", | ||
1714 | - G_CALLBACK (applet_size_allocate_cb), adata); | ||
1715 | - g_signal_connect (applet, | ||
1716 | - "key-press-event", | ||
1717 | - G_CALLBACK (applet_key_press_event_cb), adata); | ||
1718 | - g_signal_connect_after (applet, | ||
1719 | - "focus-in-event", | ||
1720 | - G_CALLBACK (gtk_widget_queue_draw), NULL); | ||
1721 | - g_signal_connect_after (applet, | ||
1722 | - "focus-out-event", | ||
1723 | - G_CALLBACK (gtk_widget_queue_draw), NULL); | ||
1724 | - g_object_set_data_full (G_OBJECT (applet), | ||
1725 | - "gdm-applet-data", | ||
1726 | - adata, | ||
1727 | - (GDestroyNotify) gdm_applet_data_free); | ||
1728 | - | ||
1729 | - adata->menubar = gtk_menu_bar_new (); | ||
1730 | - gtk_widget_set_name (adata->menubar, "gdm-user-switch-menubar"); | ||
1731 | - gtk_widget_set_can_focus (adata->menubar, TRUE); | ||
1732 | - g_signal_connect (adata->menubar, "button-press-event", | ||
1733 | - G_CALLBACK (menubar_button_press_event_cb), adata); | ||
1734 | - g_signal_connect_after (adata->menubar, "expose-event", | ||
1735 | - G_CALLBACK (menubar_expose_event_cb), adata); | ||
1736 | - gtk_container_add (GTK_CONTAINER (applet), adata->menubar); | ||
1737 | - gtk_widget_show (adata->menubar); | ||
1738 | - | ||
1739 | - adata->manager = gdm_user_manager_ref_default (); | ||
1740 | - g_object_set (adata->manager, "include-all", TRUE, NULL); | ||
1741 | - g_signal_connect (adata->manager, | ||
1742 | - "notify::is-loaded", | ||
1743 | - G_CALLBACK (on_manager_is_loaded_changed), | ||
1744 | - adata); | ||
1745 | - g_signal_connect (adata->manager, | ||
1746 | - "notify::has-multiple-users", | ||
1747 | - G_CALLBACK (on_manager_has_multiple_users_changed), | ||
1748 | - adata); | ||
1749 | - | ||
1750 | - gdm_user_manager_queue_load (adata->manager); | ||
1751 | - setup_current_user (adata); | ||
1752 | - | ||
1753 | - gconf_client_add_dir (adata->client, | ||
1754 | - LOCKDOWN_DIR, | ||
1755 | - GCONF_CLIENT_PRELOAD_ONELEVEL, | ||
1756 | - NULL); | ||
1757 | - | ||
1758 | - adata->client_notify_lockdown_id = gconf_client_notify_add (adata->client, | ||
1759 | - LOCKDOWN_DIR, | ||
1760 | - (GConfClientNotifyFunc)client_notify_lockdown_func, | ||
1761 | - adata, | ||
1762 | - NULL, | ||
1763 | - NULL); | ||
1764 | - | ||
1765 | - if (gconf_client_get_bool (adata->client, LOCKDOWN_USER_SWITCHING_KEY, NULL)) { | ||
1766 | - set_menu_visibility (adata, FALSE); | ||
1767 | - } else { | ||
1768 | - set_menu_visibility (adata, TRUE); | ||
1769 | - } | ||
1770 | - if (gconf_client_get_bool (adata->client, LOCKDOWN_LOCK_SCREEN_KEY, NULL)) { | ||
1771 | - gtk_widget_hide (adata->lock_screen_item); | ||
1772 | - } else { | ||
1773 | - gtk_widget_show (adata->lock_screen_item); | ||
1774 | - } | ||
1775 | - | ||
1776 | - error = NULL; | ||
1777 | - bus = dbus_g_bus_get (DBUS_BUS_SESSION, &error); | ||
1778 | - if (bus == NULL) { | ||
1779 | - g_warning ("Unable to get session bus: %s", error->message); | ||
1780 | - g_error_free (error); | ||
1781 | - goto done; | ||
1782 | - } | ||
1783 | - | ||
1784 | -#ifdef BUILD_PRESENSE_STUFF | ||
1785 | - adata->presence_proxy = dbus_g_proxy_new_for_name (bus, | ||
1786 | - "org.gnome.SessionManager", | ||
1787 | - "/org/gnome/SessionManager/Presence", | ||
1788 | - "org.gnome.SessionManager.Presence"); | ||
1789 | - if (adata->presence_proxy != NULL) { | ||
1790 | - DBusGProxy *proxy; | ||
1791 | - | ||
1792 | - dbus_g_proxy_add_signal (adata->presence_proxy, | ||
1793 | - "StatusChanged", | ||
1794 | - G_TYPE_UINT, | ||
1795 | - G_TYPE_INVALID); | ||
1796 | - dbus_g_proxy_connect_signal (adata->presence_proxy, | ||
1797 | - "StatusChanged", | ||
1798 | - G_CALLBACK (on_presence_status_changed), | ||
1799 | - adata, | ||
1800 | - NULL); | ||
1801 | - dbus_g_proxy_add_signal (adata->presence_proxy, | ||
1802 | - "StatusTextChanged", | ||
1803 | - G_TYPE_STRING, | ||
1804 | - G_TYPE_INVALID); | ||
1805 | - dbus_g_proxy_connect_signal (adata->presence_proxy, | ||
1806 | - "StatusTextChanged", | ||
1807 | - G_CALLBACK (on_presence_status_text_changed), | ||
1808 | - adata, | ||
1809 | - NULL); | ||
1810 | - | ||
1811 | - | ||
1812 | - proxy = dbus_g_proxy_new_from_proxy (adata->presence_proxy, | ||
1813 | - "org.freedesktop.DBus.Properties", | ||
1814 | - "/org/gnome/SessionManager/Presence"); | ||
1815 | - if (proxy != NULL) { | ||
1816 | - guint status; | ||
1817 | - const char *status_text; | ||
1818 | - GValue value = { 0, }; | ||
1819 | - | ||
1820 | - status = 0; | ||
1821 | - status_text = NULL; | ||
1822 | - | ||
1823 | - error = NULL; | ||
1824 | - dbus_g_proxy_call (proxy, | ||
1825 | - "Get", | ||
1826 | - &error, | ||
1827 | - G_TYPE_STRING, "org.gnome.SessionManager.Presence", | ||
1828 | - G_TYPE_STRING, "status", | ||
1829 | - G_TYPE_INVALID, | ||
1830 | - G_TYPE_VALUE, &value, | ||
1831 | - G_TYPE_INVALID); | ||
1832 | - | ||
1833 | - if (error != NULL) { | ||
1834 | - g_warning ("Couldn't get presence status: %s", error->message); | ||
1835 | - g_error_free (error); | ||
1836 | - } else { | ||
1837 | - status = g_value_get_uint (&value); | ||
1838 | - } | ||
1839 | - | ||
1840 | - g_value_unset (&value); | ||
1841 | - | ||
1842 | - error = NULL; | ||
1843 | - dbus_g_proxy_call (proxy, | ||
1844 | - "Get", | ||
1845 | - &error, | ||
1846 | - G_TYPE_STRING, "org.gnome.SessionManager.Presence", | ||
1847 | - G_TYPE_STRING, "status-text", | ||
1848 | - G_TYPE_INVALID, | ||
1849 | - G_TYPE_VALUE, &value, | ||
1850 | - G_TYPE_INVALID); | ||
1851 | - | ||
1852 | - if (error != NULL) { | ||
1853 | - g_warning ("Couldn't get presence status text: %s", error->message); | ||
1854 | - g_error_free (error); | ||
1855 | - } else { | ||
1856 | - status_text = g_value_get_string (&value); | ||
1857 | - } | ||
1858 | - | ||
1859 | - set_status (adata, status); | ||
1860 | - set_status_text (adata, status_text); | ||
1861 | - } | ||
1862 | - } else { | ||
1863 | - g_warning ("Failed to get session presence proxy"); | ||
1864 | - } | ||
1865 | -#endif | ||
1866 | - | ||
1867 | - done: | ||
1868 | - gtk_widget_show (GTK_WIDGET (adata->applet)); | ||
1869 | - | ||
1870 | - return TRUE; | ||
1871 | -} | ||
1872 | - | ||
1873 | -static gboolean | ||
1874 | -applet_factory (PanelApplet *applet, | ||
1875 | - const char *iid, | ||
1876 | - gpointer data) | ||
1877 | -{ | ||
1878 | - gboolean ret; | ||
1879 | - ret = FALSE; | ||
1880 | - if (strcmp (iid, "OAFIID:GNOME_FastUserSwitchApplet") == 0) { | ||
1881 | - ret = fill_applet (applet); | ||
1882 | - } | ||
1883 | - return ret; | ||
1884 | -} | ||
1885 | diff --git a/gui/user-switch-applet/gdm-entry-menu-item.c b/gui/user-switch-applet/gdm-entry-menu-item.c | ||
1886 | deleted file mode 100644 | ||
1887 | index d657e7a..0000000 | ||
1888 | --- a/gui/user-switch-applet/gdm-entry-menu-item.c | ||
1889 | +++ /dev/null | ||
1890 | @@ -1,304 +0,0 @@ | ||
1891 | -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- | ||
1892 | - * | ||
1893 | - * Copyright (C) 2008 Red Hat, Inc. | ||
1894 | - * | ||
1895 | - * This program is free software; you can redistribute it and/or modify | ||
1896 | - * it under the terms of the GNU General Public License as published by | ||
1897 | - * the Free Software Foundation; either version 2 of the License, or | ||
1898 | - * (at your option) any later version. | ||
1899 | - * | ||
1900 | - * This program is distributed in the hope that it will be useful, | ||
1901 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
1902 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
1903 | - * GNU General Public License for more details. | ||
1904 | - * | ||
1905 | - * You should have received a copy of the GNU General Public License | ||
1906 | - * along with this program; if not, write to the Free Software | ||
1907 | - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
1908 | - */ | ||
1909 | - | ||
1910 | -#include "config.h" | ||
1911 | - | ||
1912 | -#include <unistd.h> | ||
1913 | -#include <sys/types.h> | ||
1914 | - | ||
1915 | -#include <string.h> | ||
1916 | - | ||
1917 | -#include <glib/gi18n.h> | ||
1918 | -#include <gtk/gtk.h> | ||
1919 | - | ||
1920 | -#include "gdm-entry-menu-item.h" | ||
1921 | - | ||
1922 | -/* same as twitter */ | ||
1923 | -#define TEXT_BUFFER_MAX_CHARS 64 | ||
1924 | - | ||
1925 | -enum | ||
1926 | -{ | ||
1927 | - PROP_0, | ||
1928 | -}; | ||
1929 | - | ||
1930 | -struct _GdmEntryMenuItem | ||
1931 | -{ | ||
1932 | - GtkMenuItem parent; | ||
1933 | - | ||
1934 | - GtkWidget *hbox; | ||
1935 | - GtkWidget *image; | ||
1936 | - GtkWidget *entry; | ||
1937 | -}; | ||
1938 | - | ||
1939 | -struct _GdmEntryMenuItemClass | ||
1940 | -{ | ||
1941 | - GtkMenuItemClass parent_class; | ||
1942 | -}; | ||
1943 | - | ||
1944 | -G_DEFINE_TYPE (GdmEntryMenuItem, gdm_entry_menu_item, GTK_TYPE_MENU_ITEM) | ||
1945 | - | ||
1946 | -static void | ||
1947 | -gdm_entry_menu_item_set_property (GObject *object, | ||
1948 | - guint param_id, | ||
1949 | - const GValue *value, | ||
1950 | - GParamSpec *pspec) | ||
1951 | -{ | ||
1952 | - GdmEntryMenuItem *item; | ||
1953 | - | ||
1954 | - item = GDM_ENTRY_MENU_ITEM (object); | ||
1955 | - | ||
1956 | - switch (param_id) { | ||
1957 | - default: | ||
1958 | - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); | ||
1959 | - break; | ||
1960 | - } | ||
1961 | -} | ||
1962 | - | ||
1963 | -static void | ||
1964 | -gdm_entry_menu_item_get_property (GObject *object, | ||
1965 | - guint param_id, | ||
1966 | - GValue *value, | ||
1967 | - GParamSpec *pspec) | ||
1968 | -{ | ||
1969 | - GdmEntryMenuItem *item; | ||
1970 | - | ||
1971 | - item = GDM_ENTRY_MENU_ITEM (object); | ||
1972 | - | ||
1973 | - switch (param_id) { | ||
1974 | - default: | ||
1975 | - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); | ||
1976 | - break; | ||
1977 | - } | ||
1978 | -} | ||
1979 | - | ||
1980 | -static void | ||
1981 | -gdm_entry_menu_item_dispose (GObject *object) | ||
1982 | -{ | ||
1983 | - | ||
1984 | - (*G_OBJECT_CLASS (gdm_entry_menu_item_parent_class)->dispose) (object); | ||
1985 | -} | ||
1986 | - | ||
1987 | -static gboolean | ||
1988 | -gdm_entry_menu_item_button_release (GtkWidget *widget, | ||
1989 | - GdkEventButton *event) | ||
1990 | -{ | ||
1991 | - return TRUE; | ||
1992 | -} | ||
1993 | - | ||
1994 | -/* Cut and paste from gtkwindow.c */ | ||
1995 | -static void | ||
1996 | -send_focus_change (GtkWidget *widget, | ||
1997 | - gboolean in) | ||
1998 | -{ | ||
1999 | - GdkEvent *fevent = gdk_event_new (GDK_FOCUS_CHANGE); | ||
2000 | - | ||
2001 | - g_object_ref (widget); | ||
2002 | - | ||
2003 | - gtk_widget_set_can_focus (widget, in); | ||
2004 | - | ||
2005 | - fevent->focus_change.type = GDK_FOCUS_CHANGE; | ||
2006 | - fevent->focus_change.window = g_object_ref (gtk_widget_get_window (widget)); | ||
2007 | - fevent->focus_change.in = in; | ||
2008 | - | ||
2009 | - gtk_widget_event (widget, fevent); | ||
2010 | - | ||
2011 | - g_object_notify (G_OBJECT (widget), "has-focus"); | ||
2012 | - | ||
2013 | - g_object_unref (widget); | ||
2014 | - gdk_event_free (fevent); | ||
2015 | -} | ||
2016 | - | ||
2017 | -static gboolean | ||
2018 | -gdm_entry_menu_item_button_press (GtkWidget *widget, | ||
2019 | - GdkEventButton *event) | ||
2020 | -{ | ||
2021 | - GtkWidget *entry; | ||
2022 | - | ||
2023 | - entry = GDM_ENTRY_MENU_ITEM (widget)->entry; | ||
2024 | - | ||
2025 | - if (gtk_widget_get_window (entry) != NULL) { | ||
2026 | - gdk_window_raise (gtk_widget_get_window (entry)); | ||
2027 | - } | ||
2028 | - | ||
2029 | - if (!gtk_widget_has_focus (entry)) { | ||
2030 | - gtk_widget_grab_focus (entry); | ||
2031 | - } | ||
2032 | - | ||
2033 | - return FALSE; | ||
2034 | -} | ||
2035 | - | ||
2036 | -static void | ||
2037 | -gdm_entry_menu_item_realize (GtkWidget *widget) | ||
2038 | -{ | ||
2039 | - if (GTK_WIDGET_CLASS (gdm_entry_menu_item_parent_class)->realize) { | ||
2040 | - GTK_WIDGET_CLASS (gdm_entry_menu_item_parent_class)->realize (widget); | ||
2041 | - } | ||
2042 | -} | ||
2043 | - | ||
2044 | -static void | ||
2045 | -gdm_entry_menu_item_select (GtkItem *item) | ||
2046 | -{ | ||
2047 | - g_return_if_fail (GDM_IS_ENTRY_MENU_ITEM (item)); | ||
2048 | - send_focus_change (GTK_WIDGET (GDM_ENTRY_MENU_ITEM (item)->entry), TRUE); | ||
2049 | -} | ||
2050 | - | ||
2051 | -static void | ||
2052 | -gdm_entry_menu_item_deselect (GtkItem *item) | ||
2053 | -{ | ||
2054 | - g_return_if_fail (GDM_IS_ENTRY_MENU_ITEM (item)); | ||
2055 | - | ||
2056 | - send_focus_change (GTK_WIDGET (GDM_ENTRY_MENU_ITEM (item)->entry), FALSE); | ||
2057 | -} | ||
2058 | - | ||
2059 | -static void | ||
2060 | -gdm_entry_menu_item_class_init (GdmEntryMenuItemClass *klass) | ||
2061 | -{ | ||
2062 | - GObjectClass *gobject_class; | ||
2063 | - GtkWidgetClass *widget_class; | ||
2064 | - GtkMenuItemClass *menu_item_class; | ||
2065 | - GtkItemClass *item_class; | ||
2066 | - | ||
2067 | - gobject_class = G_OBJECT_CLASS (klass); | ||
2068 | - widget_class = GTK_WIDGET_CLASS (klass); | ||
2069 | - menu_item_class = GTK_MENU_ITEM_CLASS (klass); | ||
2070 | - item_class = GTK_ITEM_CLASS (klass); | ||
2071 | - | ||
2072 | - gobject_class->set_property = gdm_entry_menu_item_set_property; | ||
2073 | - gobject_class->get_property = gdm_entry_menu_item_get_property; | ||
2074 | - gobject_class->dispose = gdm_entry_menu_item_dispose; | ||
2075 | - | ||
2076 | - widget_class->button_release_event = gdm_entry_menu_item_button_release; | ||
2077 | - widget_class->button_press_event = gdm_entry_menu_item_button_press; | ||
2078 | - widget_class->realize = gdm_entry_menu_item_realize; | ||
2079 | - | ||
2080 | - item_class->select = gdm_entry_menu_item_select; | ||
2081 | - item_class->deselect = gdm_entry_menu_item_deselect; | ||
2082 | - | ||
2083 | - menu_item_class->hide_on_activate = FALSE; | ||
2084 | -} | ||
2085 | - | ||
2086 | -static void | ||
2087 | -on_entry_show (GtkWidget *widget, | ||
2088 | - GdmEntryMenuItem *item) | ||
2089 | -{ | ||
2090 | - if (gtk_widget_get_window (widget) != NULL) { | ||
2091 | - gdk_window_raise (gtk_widget_get_window (widget)); | ||
2092 | - } | ||
2093 | - send_focus_change (widget, TRUE); | ||
2094 | -} | ||
2095 | - | ||
2096 | -static void | ||
2097 | -on_text_buffer_changed (GtkTextBuffer *buffer, | ||
2098 | - GdmEntryMenuItem *item) | ||
2099 | -{ | ||
2100 | - int len; | ||
2101 | - | ||
2102 | - len = gtk_text_buffer_get_char_count (buffer); | ||
2103 | - if (len > TEXT_BUFFER_MAX_CHARS) { | ||
2104 | - gdk_window_beep (gtk_widget_get_window (GTK_WIDGET (item))); | ||
2105 | - } | ||
2106 | -} | ||
2107 | - | ||
2108 | -static void | ||
2109 | -on_entry_move_focus (GtkWidget *widget, | ||
2110 | - GtkDirectionType direction, | ||
2111 | - GdmEntryMenuItem *item) | ||
2112 | -{ | ||
2113 | - g_debug ("focus move"); | ||
2114 | - send_focus_change (GTK_WIDGET (GDM_ENTRY_MENU_ITEM (item)->entry), FALSE); | ||
2115 | - g_signal_emit_by_name (item, | ||
2116 | - "move-focus", | ||
2117 | - GTK_DIR_TAB_FORWARD); | ||
2118 | -} | ||
2119 | - | ||
2120 | -static void | ||
2121 | -gdm_entry_menu_item_init (GdmEntryMenuItem *item) | ||
2122 | -{ | ||
2123 | - PangoFontDescription *fontdesc; | ||
2124 | - PangoFontMetrics *metrics; | ||
2125 | - PangoContext *context; | ||
2126 | - PangoLanguage *lang; | ||
2127 | - int ascent; | ||
2128 | - GtkTextBuffer *buffer; | ||
2129 | - | ||
2130 | - item->hbox = gtk_hbox_new (FALSE, 6); | ||
2131 | - gtk_container_add (GTK_CONTAINER (item), item->hbox); | ||
2132 | - | ||
2133 | - item->image = gtk_image_new (); | ||
2134 | - gtk_box_pack_start (GTK_BOX (item->hbox), item->image, FALSE, FALSE, 0); | ||
2135 | - | ||
2136 | - item->entry = gtk_text_view_new (); | ||
2137 | - gtk_text_view_set_accepts_tab (GTK_TEXT_VIEW (item->entry), FALSE); | ||
2138 | - gtk_text_view_set_editable (GTK_TEXT_VIEW (item->entry), TRUE); | ||
2139 | - gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (item->entry), | ||
2140 | - GTK_WRAP_WORD); | ||
2141 | - g_signal_connect (item->entry, | ||
2142 | - "show", | ||
2143 | - G_CALLBACK (on_entry_show), | ||
2144 | - item); | ||
2145 | - g_signal_connect (item->entry, | ||
2146 | - "move-focus", | ||
2147 | - G_CALLBACK (on_entry_move_focus), | ||
2148 | - item); | ||
2149 | - | ||
2150 | - buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (item->entry)); | ||
2151 | - g_signal_connect (buffer, | ||
2152 | - "changed", | ||
2153 | - G_CALLBACK (on_text_buffer_changed), | ||
2154 | - item); | ||
2155 | - | ||
2156 | - /* get the font ascent for the current font and language */ | ||
2157 | - context = gtk_widget_get_pango_context (item->entry); | ||
2158 | - fontdesc = pango_context_get_font_description (context); | ||
2159 | - lang = pango_context_get_language (context); | ||
2160 | - metrics = pango_context_get_metrics (context, fontdesc, lang); | ||
2161 | - ascent = pango_font_metrics_get_ascent (metrics) * 1.5 / PANGO_SCALE; | ||
2162 | - pango_font_metrics_unref (metrics); | ||
2163 | - | ||
2164 | - /* size our progress bar to be five ascents long */ | ||
2165 | - gtk_widget_set_size_request (item->entry, ascent * 5, -1); | ||
2166 | - | ||
2167 | - gtk_box_pack_start (GTK_BOX (item->hbox), item->entry, TRUE, TRUE, 0); | ||
2168 | - | ||
2169 | - gtk_widget_show (item->hbox); | ||
2170 | - gtk_widget_show (item->image); | ||
2171 | - gtk_widget_show (item->entry); | ||
2172 | -} | ||
2173 | - | ||
2174 | -GtkWidget * | ||
2175 | -gdm_entry_menu_item_new (void) | ||
2176 | -{ | ||
2177 | - return g_object_new (GDM_TYPE_ENTRY_MENU_ITEM, NULL); | ||
2178 | -} | ||
2179 | - | ||
2180 | -GtkWidget * | ||
2181 | -gdm_entry_menu_item_get_entry (GdmEntryMenuItem *item) | ||
2182 | -{ | ||
2183 | - g_return_val_if_fail (GDM_IS_ENTRY_MENU_ITEM (item), NULL); | ||
2184 | - | ||
2185 | - return item->entry; | ||
2186 | -} | ||
2187 | - | ||
2188 | -GtkWidget * | ||
2189 | -gdm_entry_menu_item_get_image (GdmEntryMenuItem *item) | ||
2190 | -{ | ||
2191 | - g_return_val_if_fail (GDM_IS_ENTRY_MENU_ITEM (item), NULL); | ||
2192 | - | ||
2193 | - return item->image; | ||
2194 | -} | ||
2195 | diff --git a/gui/user-switch-applet/gdm-entry-menu-item.h b/gui/user-switch-applet/gdm-entry-menu-item.h | ||
2196 | deleted file mode 100644 | ||
2197 | index 3031609..0000000 | ||
2198 | --- a/gui/user-switch-applet/gdm-entry-menu-item.h | ||
2199 | +++ /dev/null | ||
2200 | @@ -1,51 +0,0 @@ | ||
2201 | -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- | ||
2202 | - * | ||
2203 | - * Copyright (C) 2004-2005 James M. Cape <jcape@ignore-your.tv>. | ||
2204 | - * | ||
2205 | - * This program is free software; you can redistribute it and/or modify | ||
2206 | - * it under the terms of the GNU General Public License as published by | ||
2207 | - * the Free Software Foundation; either version 2 of the License, or | ||
2208 | - * (at your option) any later version. | ||
2209 | - * | ||
2210 | - * This program is distributed in the hope that it will be useful, | ||
2211 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
2212 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
2213 | - * GNU General Public License for more details. | ||
2214 | - * | ||
2215 | - * You should have received a copy of the GNU General Public License | ||
2216 | - * along with this program; if not, write to the Free Software | ||
2217 | - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
2218 | - */ | ||
2219 | - | ||
2220 | -#ifndef __GDM_ENTRY_MENU_ITEM__ | ||
2221 | -#define __GDM_ENTRY_MENU_ITEM__ | ||
2222 | - | ||
2223 | -#include <gtk/gtk.h> | ||
2224 | - | ||
2225 | -G_BEGIN_DECLS | ||
2226 | - | ||
2227 | -#define GDM_TYPE_ENTRY_MENU_ITEM \ | ||
2228 | - (gdm_entry_menu_item_get_type ()) | ||
2229 | -#define GDM_ENTRY_MENU_ITEM(object) \ | ||
2230 | - (G_TYPE_CHECK_INSTANCE_CAST ((object), GDM_TYPE_ENTRY_MENU_ITEM, GdmEntryMenuItem)) | ||
2231 | -#define GDM_ENTRY_MENU_ITEM_CLASS(klass) \ | ||
2232 | - (G_TYPE_CHECK_CLASS_CAST ((klass), GDM_TYPE_ENTRY_MENU_ITEM, GdmEntryMenuItemClass)) | ||
2233 | -#define GDM_IS_ENTRY_MENU_ITEM(object) \ | ||
2234 | - (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDM_TYPE_ENTRY_MENU_ITEM)) | ||
2235 | -#define GDM_IS_ENTRY_MENU_ITEM_CLASS(klass) \ | ||
2236 | - (G_TYPE_CHECK_CLASS_TYPE ((klass), GDM_TYPE_ENTRY_MENU_ITEM)) | ||
2237 | -#define GDM_ENTRY_MENU_ITEM_GET_CLASS(object) \ | ||
2238 | - (G_TYPE_INSTANCE_GET_CLASS ((object), GDM_TYPE_ENTRY_MENU_ITEM, GdmEntryMenuItemClass)) | ||
2239 | - | ||
2240 | -typedef struct _GdmEntryMenuItem GdmEntryMenuItem; | ||
2241 | -typedef struct _GdmEntryMenuItemClass GdmEntryMenuItemClass; | ||
2242 | - | ||
2243 | -GType gdm_entry_menu_item_get_type (void) G_GNUC_CONST; | ||
2244 | - | ||
2245 | -GtkWidget *gdm_entry_menu_item_new (void); | ||
2246 | -GtkWidget *gdm_entry_menu_item_get_entry (GdmEntryMenuItem *item); | ||
2247 | -GtkWidget *gdm_entry_menu_item_get_image (GdmEntryMenuItem *item); | ||
2248 | - | ||
2249 | -G_END_DECLS | ||
2250 | - | ||
2251 | -#endif /* __GDM_ENTRY_MENU_ITEM__ */ | ||
2252 | diff --git a/po/POTFILES.in b/po/POTFILES.in | ||
2253 | index 1fccb90..cc1a3fd 100644 | ||
2254 | --- a/po/POTFILES.in | ||
2255 | +++ b/po/POTFILES.in | ||
2256 | @@ -84,10 +84,6 @@ gui/simple-greeter/gdm-timer.c | ||
2257 | gui/simple-greeter/gdm-user.c | ||
2258 | gui/simple-greeter/gdm-user-chooser-widget.c | ||
2259 | gui/simple-greeter/greeter-main.c | ||
2260 | -gui/user-switch-applet/applet.c | ||
2261 | -gui/user-switch-applet/gdm-entry-menu-item.c | ||
2262 | -gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in.in | ||
2263 | -gui/user-switch-applet/GNOME_FastUserSwitchApplet.xml | ||
2264 | utils/gdmflexiserver.c | ||
2265 | utils/gdm-screenshot.c | ||
2266 | |||
2267 | diff --git a/po/POTFILES.skip b/po/POTFILES.skip | ||
2268 | index 0269a0f..ee3d753 100644 | ||
2269 | --- a/po/POTFILES.skip | ||
2270 | +++ b/po/POTFILES.skip | ||
2271 | @@ -7,7 +7,6 @@ | ||
2272 | # remove these unless you fix "make distcheck" a different way. | ||
2273 | # | ||
2274 | data/gdm.schemas.in | ||
2275 | -gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in | ||
2276 | data/greeter-autostart/at-spi-registryd-wrapper.desktop.in | ||
2277 | data/greeter-autostart/gdm-simple-greeter.desktop.in | ||
2278 | data/greeter-autostart/gnome-power-manager.desktop.in | ||
2279 | -- | ||
2280 | 1.6.6.1 | ||
2281 | |||
diff --git a/meta-gnome/recipes-gnome/gdm/gdm/0002-gdm-user-manager.c-avoid-displaying-system-users-in-.patch b/meta-gnome/recipes-gnome/gdm/gdm/0002-gdm-user-manager.c-avoid-displaying-system-users-in-.patch deleted file mode 100644 index ad21073a0..000000000 --- a/meta-gnome/recipes-gnome/gdm/gdm/0002-gdm-user-manager.c-avoid-displaying-system-users-in-.patch +++ /dev/null | |||
@@ -1,34 +0,0 @@ | |||
1 | From 43e59f3deadb3914a1cc931ae18d4023874cdeca Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Fri, 26 Apr 2013 17:15:48 +0200 | ||
4 | Subject: [PATCH] gdm-user-manager.c: avoid displaying system users in | ||
5 | greeter's list | ||
6 | MIME-Version: 1.0 | ||
7 | Content-Type: text/plain; charset=UTF-8 | ||
8 | Content-Transfer-Encoding: 8bit | ||
9 | |||
10 | yocto environment system users have UID below 1000 | ||
11 | |||
12 | Upstream-Status: Inappropriate [configuration] | ||
13 | |||
14 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
15 | --- | ||
16 | gui/simple-greeter/gdm-user-manager.c | 2 +- | ||
17 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
18 | |||
19 | diff --git a/gui/simple-greeter/gdm-user-manager.c b/gui/simple-greeter/gdm-user-manager.c | ||
20 | index c631989..f18e478 100644 | ||
21 | --- a/gui/simple-greeter/gdm-user-manager.c | ||
22 | +++ b/gui/simple-greeter/gdm-user-manager.c | ||
23 | @@ -63,7 +63,7 @@ | ||
24 | #ifdef __sun | ||
25 | #define FALLBACK_MINIMAL_UID 100 | ||
26 | #else | ||
27 | -#define FALLBACK_MINIMAL_UID 500 | ||
28 | +#define FALLBACK_MINIMAL_UID 1000 | ||
29 | #endif | ||
30 | |||
31 | #ifndef _PATH_SHELLS | ||
32 | -- | ||
33 | 1.7.4.4 | ||
34 | |||
diff --git a/meta-gnome/recipes-gnome/gdm/gdm/sysrooted-pkg-config.patch b/meta-gnome/recipes-gnome/gdm/gdm/sysrooted-pkg-config.patch deleted file mode 100644 index 1f9fa2ac2..000000000 --- a/meta-gnome/recipes-gnome/gdm/gdm/sysrooted-pkg-config.patch +++ /dev/null | |||
@@ -1,37 +0,0 @@ | |||
1 | In cross environment we have to prepend the sysroot to the path found by | ||
2 | pkgconfig since the path returned from pkgconfig does not have sysroot prefixed | ||
3 | it ends up using the files from host system. Now usually people have gnome installed | ||
4 | so the build succeeds but if you dont have gnome installed on build host then | ||
5 | it wont find the files on host system and packages using gnome-doc-utils wont | ||
6 | compile. | ||
7 | |||
8 | This should work ok with non sysrooted builds too since in those cases PKG_CONFIG_SYSROOT_DIR | ||
9 | will be empty | ||
10 | |||
11 | Upstream-Status: Pending | ||
12 | |||
13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
14 | |||
15 | Index: gdm-2.32.2/gnome-doc-utils.make | ||
16 | =================================================================== | ||
17 | --- gdm-2.32.2.orig/gnome-doc-utils.make 2011-05-31 08:06:59.000000000 -0700 | ||
18 | +++ gdm-2.32.2/gnome-doc-utils.make 2011-09-25 15:32:39.540992521 -0700 | ||
19 | @@ -133,12 +133,12 @@ | ||
20 | _xml2po ?= `which xml2po` | ||
21 | _xml2po_mode = $(if $(DOC_ID),mallard,docbook) | ||
22 | |||
23 | -_db2html ?= `$(PKG_CONFIG) --variable db2html gnome-doc-utils` | ||
24 | -_db2omf ?= `$(PKG_CONFIG) --variable db2omf gnome-doc-utils` | ||
25 | -_malrng ?= `$(PKG_CONFIG) --variable malrng gnome-doc-utils` | ||
26 | -_chunks ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl | ||
27 | -_credits ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl | ||
28 | -_ids ?= $(shell $(PKG_CONFIG) --variable xmldir gnome-doc-utils)/gnome/xslt/docbook/utils/ids.xsl | ||
29 | +_db2html ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable db2html gnome-doc-utils` | ||
30 | +_db2omf ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable db2omf gnome-doc-utils` | ||
31 | +_malrng ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable malrng gnome-doc-utils` | ||
32 | +_chunks ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl | ||
33 | +_credits ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl | ||
34 | +_ids ?= ${PKG_CONFIG_SYSROOT_DIR}$(shell $(PKG_CONFIG) --variable xmldir gnome-doc-utils)/gnome/xslt/docbook/utils/ids.xsl | ||
35 | |||
36 | if ENABLE_SK | ||
37 | _ENABLE_SK = true | ||
diff --git a/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb b/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb deleted file mode 100644 index 64785ca1c..000000000 --- a/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb +++ /dev/null | |||
@@ -1,108 +0,0 @@ | |||
1 | SUMMARY = "Graphical login manager" | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
4 | |||
5 | DEPENDS = "xinput gnome-panel tcp-wrappers libcanberra libxklavier grep consolekit libpam gnome-doc-utils gtk+ xrdb" | ||
6 | |||
7 | PR = "r18" | ||
8 | |||
9 | inherit gnome update-rc.d systemd useradd | ||
10 | |||
11 | SRC_URI += " \ | ||
12 | file://cross-xdetection.diff \ | ||
13 | file://0001-Remove-user-switch-applet.patch \ | ||
14 | file://0002-gdm-user-manager.c-avoid-displaying-system-users-in-.patch \ | ||
15 | file://sysrooted-pkg-config.patch \ | ||
16 | file://%gconf-tree.xml \ | ||
17 | file://gdm \ | ||
18 | file://gdm.conf \ | ||
19 | file://gdm-pam \ | ||
20 | file://Default \ | ||
21 | file://gdm.service.in \ | ||
22 | " | ||
23 | |||
24 | SRC_URI[archive.md5sum] = "dbe5187a2e17881cc454e313e0ae8d1e" | ||
25 | SRC_URI[archive.sha256sum] = "034d23af0ea18d86e5543e707212d9297ec7d83f221808968af266dbebc0e703" | ||
26 | GNOME_COMPRESS_TYPE="bz2" | ||
27 | |||
28 | EXTRA_OECONF = " \ | ||
29 | --enable-authentication-scheme=shadow \ | ||
30 | --enable-debug=yes \ | ||
31 | --with-console-kit \ | ||
32 | --disable-scrollkeeper \ | ||
33 | " | ||
34 | |||
35 | do_configure_prepend() { | ||
36 | sed -i -e "s:\bdocs::g" ${S}/Makefile.am | ||
37 | rm -f ${S}/m4/gnome-doc-utils.m4 | ||
38 | } | ||
39 | |||
40 | do_install_prepend() { | ||
41 | install -d ${D}/${localstatedir}/lib/gdm/.gconf.mandatory | ||
42 | install ${WORKDIR}/%gconf-tree.xml ${D}/${localstatedir}/lib/gdm/.gconf.mandatory/ | ||
43 | } | ||
44 | |||
45 | do_install_append() { | ||
46 | install -d ${D}/${sysconfdir}/init.d | ||
47 | install -m 0755 ${WORKDIR}/gdm ${D}/${sysconfdir}/init.d/ | ||
48 | |||
49 | install -d ${D}/${sysconfdir}/gdm | ||
50 | install -m 0644 ${WORKDIR}/gdm.conf ${D}/${sysconfdir}/gdm/ | ||
51 | |||
52 | install -d ${D}/${sysconfdir}/pam.d | ||
53 | install -m 0755 ${WORKDIR}/gdm-pam ${D}/${sysconfdir}/pam.d/gdm | ||
54 | rm -f ${D}/${sysconfdir}/pam.d/gdm-autologin | ||
55 | |||
56 | install -d ${D}/${sysconfdir}/gdm/Init | ||
57 | install -m 0755 ${WORKDIR}/Default ${D}/${sysconfdir}/gdm/Init | ||
58 | |||
59 | install -d ${D}${systemd_unitdir}/system | ||
60 | sed -e 's,%sbindir%,${sbindir},g' \ | ||
61 | < ${WORKDIR}/gdm.service.in \ | ||
62 | > ${D}${systemd_unitdir}/system/gdm.service | ||
63 | |||
64 | chown -R gdm:gdm ${D}${localstatedir}/lib/gdm | ||
65 | chmod 0750 ${D}${localstatedir}/lib/gdm | ||
66 | |||
67 | rm -rf "${D}${localstatedir}/run" | ||
68 | rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" | ||
69 | |||
70 | rm -f ${D}${datadir}/gdm/autostart/LoginWindow/at-spi-registryd-wrapper.desktop | ||
71 | rm -f ${D}${datadir}/gdm/autostart/LoginWindow/orca-screen-reader.desktop | ||
72 | rm -f ${D}${datadir}/gdm/autostart/LoginWindow/gnome-mag.desktop | ||
73 | rm -f ${D}${datadir}/gdm/autostart/LoginWindow/gok.desktop | ||
74 | rm -f ${D}${datadir}/gdm/autostart/LoginWindow/metacity.desktop | ||
75 | } | ||
76 | |||
77 | FILES_${PN} += "${datadir}/icon* \ | ||
78 | ${datadir}/xsession* \ | ||
79 | " | ||
80 | |||
81 | RDEPENDS_${PN} += "grep dbus-x11 shadow" | ||
82 | # "libpam-base-files" | ||
83 | CONFFILES_${PN} += "${sysconfdir}/gdm/gdm.conf ${sysconfdir}/init.d/gdm" | ||
84 | RRECOMMENDS_${PN} += "openssh-misc desktop-file-utils glib-2.0-utils metacity gnome-session polkit-gnome consolekit" | ||
85 | |||
86 | RREPLACES_${PN} += "${PN}-systemd" | ||
87 | RCONFLICTS_${PN} += "${PN}-systemd" | ||
88 | SYSTEMD_SERVICE_${PN} = "gdm.service" | ||
89 | |||
90 | INITSCRIPT_NAME = "gdm" | ||
91 | INITSCRIPT_PARAMS = "start 99 5 . stop 20 0 1 2 3 6 ." | ||
92 | |||
93 | USERADD_PACKAGES = "${PN}" | ||
94 | USERADD_PARAM_${PN} = "--system --no-create-home --home ${localstatedir}/lib/gdm --user-group gdm" | ||
95 | |||
96 | pkg_postinst_${PN} () { | ||
97 | # Register up as default dm | ||
98 | mkdir -p $D${sysconfdir}/X11/ | ||
99 | echo "${bindir}/gdm" > $D${sysconfdir}/X11/default-display-manager | ||
100 | } | ||
101 | |||
102 | pkg_postrm_${PN} () { | ||
103 | deluser gdm || true | ||
104 | delgroup gdm || true | ||
105 | sed -i /gdm/d ${sysconfdir}/X11/default-display-manager || true | ||
106 | } | ||
107 | |||
108 | PNBLACKLIST[gdm] ?= "Depends on broken gnome-panel - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_2.32.0.bb b/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_2.32.0.bb deleted file mode 100644 index 235b02a2f..000000000 --- a/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_2.32.0.bb +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | SUMMARY = "Gnome background images" | ||
2 | |||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
5 | |||
6 | SECTION = "x11/gnome" | ||
7 | |||
8 | # glib-2.0 for glib-gettext.m4 which provides AM_GLIB_GNU_GETTEXT | ||
9 | # intltool-native for IT_PROG_INTLTOOL(0.35.0) | ||
10 | DEPENDS = "glib-2.0 intltool-native" | ||
11 | |||
12 | inherit gnomebase | ||
13 | |||
14 | SRC_URI[archive.md5sum] = "3df26626483b02e51adefc6ab5945a8d" | ||
15 | SRC_URI[archive.sha256sum] = "4d7b60b5ba768bf8834b5fa3a3471cd9a9e14b5884bc210dc2d3cdbf1faddcef" | ||
16 | GNOME_COMPRESS_TYPE="bz2" | ||
17 | |||
18 | FILES_${PN} += "${datadir}/gnome-background-properties" | ||
19 | |||
20 | |||
21 | PNBLACKLIST[gnome-backgrounds] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130647/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_2.32.1.bb b/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_2.32.1.bb deleted file mode 100644 index 201783e91..000000000 --- a/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_2.32.1.bb +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | SUMMARY = "GNOME control center" | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
4 | |||
5 | DEPENDS = "desktop-file-utils-native gnome-menus libunique dbus-glib gnome-desktop libxml2 metacity gconf gnome-settings-daemon librsvg pango libgnomekbd libxklavier libcanberra libgtop libxscrnsaver" | ||
6 | |||
7 | PR = "r1" | ||
8 | |||
9 | inherit gnome | ||
10 | |||
11 | SRC_URI[archive.md5sum] = "b4e8ab5c7556ae07addbfcfb4fa2f761" | ||
12 | SRC_URI[archive.sha256sum] = "7c568b57358e5c08f4d8dd76dbac7df2539135ad081872b60514b7a8ac797e66" | ||
13 | GNOME_COMPRESS_TYPE="bz2" | ||
14 | |||
15 | LDFLAGS += "-lgthread-2.0 -lxml2" | ||
16 | |||
17 | do_configure_prepend() { | ||
18 | sed -i s:help::g ${S}/Makefile.am | ||
19 | rm -f ${S}/m4/gnome-doc-utils.m4 | ||
20 | } | ||
21 | do_install_append() { | ||
22 | rm -rf ${D}${datadir}/mime | ||
23 | } | ||
24 | |||
25 | FILES_${PN} += "${datadir}/icon* \ | ||
26 | ${datadir}/xsession* \ | ||
27 | ${libdir}/window-manager-settings/*.so \ | ||
28 | ${datadir}/gnome \ | ||
29 | ${datadir}/desktop-directories \ | ||
30 | " | ||
31 | FILES_${PN}-dbg += "${libdir}/window-manager-settings/.debug" | ||
32 | FILES_${PN}-dev += "${libdir}/window-manager-settings/*.la" | ||
33 | FILES_${PN}-staticdev += "${libdir}/window-manager-settings/*.a" | ||
34 | |||
35 | PNBLACKLIST[gnome-control-center] ?= "Depends on broken gnome-menus - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_2.32.1.bb b/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_2.32.1.bb deleted file mode 100644 index f1dafad2e..000000000 --- a/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_2.32.1.bb +++ /dev/null | |||
@@ -1,28 +0,0 @@ | |||
1 | SUMMARY = "GNOME library for reading .desktop files" | ||
2 | SECTION = "x11/gnome" | ||
3 | LICENSE = "GPLv2 & LGPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | ||
5 | file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2" | ||
6 | |||
7 | PR = "r6" | ||
8 | |||
9 | inherit gnome pkgconfig | ||
10 | |||
11 | SRC_URI[archive.md5sum] = "5c80d628a240eb9d9ff78913b31f2f67" | ||
12 | SRC_URI[archive.sha256sum] = "55cbecf67efe1fa1e57ac966520a7c46d799c8ba3c652a1219f60cafccb3739d" | ||
13 | GNOME_COMPRESS_TYPE="bz2" | ||
14 | |||
15 | DEPENDS += "gconf libxrandr virtual/libx11 gtk+ glib-2.0 gnome-doc-utils startup-notification intltool-native gnome-common-native" | ||
16 | |||
17 | EXTRA_OECONF = "--disable-scrollkeeper --disable-desktop-docs --disable-gnome-about" | ||
18 | |||
19 | do_configure_prepend () { | ||
20 | sed -i -e s:^#!@PYTHON@:#!${bindir}/python: ${S}/gnome-about/gnome-about.in | ||
21 | rm -f ${S}/m4/gnome-doc-utils.m4 | ||
22 | } | ||
23 | |||
24 | PACKAGES =+ "libgnome-desktop" | ||
25 | FILES_libgnome-desktop = "${libdir}/lib*${SOLIBS} ${datadir}/libgnome-desktop/pnp.ids" | ||
26 | FILES_${PN} += "${datadir}/gnome-about" | ||
27 | |||
28 | PNBLACKLIST[gnome-desktop] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130595/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0001-Add-support-for-DeviceAutomountHint.patch b/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0001-Add-support-for-DeviceAutomountHint.patch deleted file mode 100644 index 805e93776..000000000 --- a/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0001-Add-support-for-DeviceAutomountHint.patch +++ /dev/null | |||
@@ -1,74 +0,0 @@ | |||
1 | From 7dde5bc75a1d96be9510ce1e98d28f9d33520919 Mon Sep 17 00:00:00 2001 | ||
2 | From: David Zeuthen <davidz@redhat.com> | ||
3 | Date: Fri, 8 Jul 2011 11:03:52 -0400 | ||
4 | Subject: [PATCH] Add support for DeviceAutomountHint | ||
5 | |||
6 | Based on the patch in https://bugzilla.gnome.org/show_bug.cgi?id=653184 | ||
7 | |||
8 | Upstream-Status: Applied [1] | ||
9 | |||
10 | [1] https://mail.gnome.org/archives/commits-list/2011-July/msg03207.html | ||
11 | |||
12 | Signed-off-by: David Zeuthen <davidz@redhat.com> | ||
13 | --- | ||
14 | src/gdu/gdu-device.c | 10 ++++++++++ | ||
15 | src/gdu/gdu-device.h | 1 + | ||
16 | 2 files changed, 11 insertions(+), 0 deletions(-) | ||
17 | |||
18 | diff --git a/src/gdu/gdu-device.c b/src/gdu/gdu-device.c | ||
19 | index 6a5afad..4be39cf 100644 | ||
20 | --- a/src/gdu/gdu-device.c | ||
21 | +++ b/src/gdu/gdu-device.c | ||
22 | @@ -82,6 +82,7 @@ typedef struct | ||
23 | gboolean device_presentation_nopolicy; | ||
24 | char *device_presentation_name; | ||
25 | char *device_presentation_icon_name; | ||
26 | + char *device_automount_hint; | ||
27 | guint64 device_size; | ||
28 | guint64 device_block_size; | ||
29 | |||
30 | @@ -279,6 +280,8 @@ collect_props (const char *key, | ||
31 | props->device_presentation_name = g_strdup (g_value_get_string (value)); | ||
32 | else if (strcmp (key, "DevicePresentationIconName") == 0) | ||
33 | props->device_presentation_icon_name = g_strdup (g_value_get_string (value)); | ||
34 | + else if (strcmp (key, "DeviceAutomountHint") == 0) | ||
35 | + props->device_automount_hint = g_strdup (g_value_get_string (value)); | ||
36 | else if (strcmp (key, "DeviceSize") == 0) | ||
37 | props->device_size = g_value_get_uint64 (value); | ||
38 | else if (strcmp (key, "DeviceBlockSize") == 0) | ||
39 | @@ -549,6 +552,7 @@ device_properties_free (DeviceProperties *props) | ||
40 | g_strfreev (props->device_mount_paths); | ||
41 | g_free (props->device_presentation_name); | ||
42 | g_free (props->device_presentation_icon_name); | ||
43 | + g_free (props->device_automount_hint); | ||
44 | g_free (props->job_id); | ||
45 | g_free (props->id_usage); | ||
46 | g_free (props->id_type); | ||
47 | @@ -1294,6 +1298,12 @@ gdu_device_drive_get_media_compatibility (GduDevice *device) | ||
48 | } | ||
49 | |||
50 | const char * | ||
51 | +gdu_device_get_automount_hint (GduDevice *device) | ||
52 | +{ | ||
53 | + return device->priv->props->device_automount_hint; | ||
54 | +} | ||
55 | + | ||
56 | +const char * | ||
57 | gdu_device_drive_get_media (GduDevice *device) | ||
58 | { | ||
59 | return device->priv->props->drive_media; | ||
60 | diff --git a/src/gdu/gdu-device.h b/src/gdu/gdu-device.h | ||
61 | index 4c1302b..8cfd7a9 100644 | ||
62 | --- a/src/gdu/gdu-device.h | ||
63 | +++ b/src/gdu/gdu-device.h | ||
64 | @@ -143,6 +143,7 @@ const char *gdu_device_drive_get_wwn (GduDevice *device); | ||
65 | const char *gdu_device_drive_get_connection_interface (GduDevice *device); | ||
66 | guint64 gdu_device_drive_get_connection_speed (GduDevice *device); | ||
67 | char **gdu_device_drive_get_media_compatibility (GduDevice *device); | ||
68 | +const gchar *gdu_device_get_automount_hint(GduDevice *device); | ||
69 | const char *gdu_device_drive_get_media (GduDevice *device); | ||
70 | gboolean gdu_device_drive_get_is_media_ejectable (GduDevice *device); | ||
71 | gboolean gdu_device_drive_get_requires_eject (GduDevice *device); | ||
72 | -- | ||
73 | 1.7.6.5 | ||
74 | |||
diff --git a/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0002-Require-libnotify-0.6.1.patch b/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0002-Require-libnotify-0.6.1.patch deleted file mode 100644 index 0bc9707c2..000000000 --- a/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0002-Require-libnotify-0.6.1.patch +++ /dev/null | |||
@@ -1,49 +0,0 @@ | |||
1 | From f8dea8dd411cba10a54ec083c3d5c9d641ec36c0 Mon Sep 17 00:00:00 2001 | ||
2 | From: William Jon McCann <jmccann@redhat.com> | ||
3 | Date: Tue, 12 Oct 2010 00:12:49 -0400 | ||
4 | Subject: [PATCH] Require libnotify 0.6.1 | ||
5 | |||
6 | https://bugzilla.gnome.org/show_bug.cgi?id=631940 | ||
7 | |||
8 | Upstream-Status: Backport [1] | ||
9 | |||
10 | [1] https://git.gnome.org/browse/gnome-disk-utility/commit/?id=f8dea8dd411cba10a54ec083c3d5c9d641ec36c0 | ||
11 | |||
12 | Signed-off-by: David Zeuthen <davidz@redhat.com> | ||
13 | --- | ||
14 | configure.ac | 2 +- | ||
15 | src/notification/notification-main.c | 5 +---- | ||
16 | 2 files changed, 2 insertions(+), 5 deletions(-) | ||
17 | |||
18 | diff --git a/configure.ac b/configure.ac | ||
19 | index c61212e..3790fcf 100644 | ||
20 | --- a/configure.ac | ||
21 | +++ b/configure.ac | ||
22 | @@ -128,7 +128,7 @@ DBUS_GLIB_REQUIRED=0.74 | ||
23 | GNOME_KEYRING_REQUIRED=2.22 | ||
24 | GTK2_REQUIRED=2.20.0 | ||
25 | UNIQUE_REQUIRED=1.0 | ||
26 | -LIBNOTIFY_REQUIRED=0.3.0 | ||
27 | +LIBNOTIFY_REQUIRED=0.6.1 | ||
28 | NAUTILUS_REQUIRED=2.24.0 | ||
29 | AVAHI_UI_REQUIRED=0.6.25 | ||
30 | |||
31 | diff --git a/src/notification/notification-main.c b/src/notification/notification-main.c | ||
32 | index 18e9672..b6a713f 100644 | ||
33 | --- a/src/notification/notification-main.c | ||
34 | +++ b/src/notification/notification-main.c | ||
35 | @@ -535,10 +535,7 @@ update_status_icon (NotificationData *data) | ||
36 | _("A hard disk may be failing"), | ||
37 | /* Translators: This is used as the text of the notification*/ | ||
38 | _("One or more hard disks report health problems. Click the icon to get more information."), | ||
39 | - "gtk-dialog-warning", | ||
40 | - NULL); | ||
41 | - notify_notification_attach_to_status_icon (data->ata_smart_notification, | ||
42 | - data->status_icon); | ||
43 | + "gtk-dialog-warning"); | ||
44 | notify_notification_set_urgency (data->ata_smart_notification, NOTIFY_URGENCY_CRITICAL); | ||
45 | notify_notification_set_timeout (data->ata_smart_notification, NOTIFY_EXPIRES_NEVER); | ||
46 | show_notification (data); | ||
47 | -- | ||
48 | 2.1.0 | ||
49 | |||
diff --git a/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/disable-scrollkeeper.patch b/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/disable-scrollkeeper.patch deleted file mode 100644 index f36942d19..000000000 --- a/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/disable-scrollkeeper.patch +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | ||
2 | Subject: Disable scrollkeeper-config not found message | ||
3 | Upstream-Status: Not-Applicable | ||
4 | |||
5 | If scrollkeeper-config isn't found, configure fails with an error. | ||
6 | Fix that by commenting out the check. | ||
7 | |||
8 | Signed-Off-By: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | ||
9 | |||
10 | |||
11 | Index: gnome-disk-utility-2.32.0/configure.ac | ||
12 | =================================================================== | ||
13 | --- gnome-disk-utility-2.32.0.orig/configure.ac 2010-09-15 19:07:25.000000000 +0400 | ||
14 | +++ gnome-disk-utility-2.32.0/configure.ac 2011-08-20 01:29:48.000000000 +0400 | ||
15 | @@ -188,9 +188,9 @@ | ||
16 | # ************* | ||
17 | |||
18 | AC_PATH_PROG(SCROLLKEEPER_CONFIG, scrollkeeper-config,no) | ||
19 | -if test x$SCROLLKEEPER_CONFIG = xno; then | ||
20 | - AC_MSG_ERROR(Couldn't find scrollkeeper-config, please install the scrollkeeper package) | ||
21 | -fi | ||
22 | +dnl if test x$SCROLLKEEPER_CONFIG = xno; then | ||
23 | +dnl AC_MSG_ERROR([Couldn't find scrollkeeper-config, please install the scrollkeeper package]) | ||
24 | +dnl fi | ||
25 | |||
26 | # ******************** | ||
27 | # Internationalization | ||
diff --git a/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/fix-dbus-interfaces.patch b/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/fix-dbus-interfaces.patch deleted file mode 100644 index 6ba397955..000000000 --- a/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/fix-dbus-interfaces.patch +++ /dev/null | |||
@@ -1,34 +0,0 @@ | |||
1 | Index: gnome-disk-utility-2.32.0/src/gdu/Makefile.am | ||
2 | =================================================================== | ||
3 | --- gnome-disk-utility-2.32.0.orig/src/gdu/Makefile.am 2011-08-20 01:59:16.000000000 +0400 | ||
4 | +++ gnome-disk-utility-2.32.0/src/gdu/Makefile.am 2011-08-20 02:08:18.000000000 +0400 | ||
5 | @@ -14,20 +14,20 @@ | ||
6 | gdu-marshal.c: gdu-marshal.list | ||
7 | echo "#include \"gdu-marshal.h\"" > $@ && glib-genmarshal $< --prefix=gdu_marshal --body >> $@ | ||
8 | |||
9 | -udisks-daemon-glue.h: /usr/share/dbus-1/interfaces/org.freedesktop.UDisks.xml Makefile.am | ||
10 | - dbus-binding-tool --prefix=devkit_disks_daemon --mode=glib-client --output=udisks-daemon-glue.h /usr/share/dbus-1/interfaces/org.freedesktop.UDisks.xml | ||
11 | +udisks-daemon-glue.h: $(PKG_CONFIG_SYSROOT_DIR)/usr/share/dbus-1/interfaces/org.freedesktop.UDisks.xml Makefile.am | ||
12 | + dbus-binding-tool --prefix=devkit_disks_daemon --mode=glib-client --output=udisks-daemon-glue.h $(PKG_CONFIG_SYSROOT_DIR)/usr/share/dbus-1/interfaces/org.freedesktop.UDisks.xml | ||
13 | |||
14 | -udisks-device-glue.h: /usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Device.xml Makefile.am | ||
15 | - dbus-binding-tool --prefix=devkit_disks_daemon --mode=glib-client --output=udisks-device-glue.h /usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Device.xml | ||
16 | +udisks-device-glue.h: $(PKG_CONFIG_SYSROOT_DIR)/usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Device.xml Makefile.am | ||
17 | + dbus-binding-tool --prefix=devkit_disks_daemon --mode=glib-client --output=udisks-device-glue.h $(PKG_CONFIG_SYSROOT_DIR)/usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Device.xml | ||
18 | |||
19 | -udisks-adapter-glue.h: /usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Adapter.xml Makefile.am | ||
20 | - dbus-binding-tool --prefix=devkit_disks_daemon --mode=glib-client --output=udisks-adapter-glue.h /usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Adapter.xml | ||
21 | +udisks-adapter-glue.h: $(PKG_CONFIG_SYSROOT_DIR)/usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Adapter.xml Makefile.am | ||
22 | + dbus-binding-tool --prefix=devkit_disks_daemon --mode=glib-client --output=udisks-adapter-glue.h $(PKG_CONFIG_SYSROOT_DIR)/usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Adapter.xml | ||
23 | |||
24 | -udisks-expander-glue.h: /usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Expander.xml Makefile.am | ||
25 | - dbus-binding-tool --prefix=devkit_disks_daemon --mode=glib-client --output=udisks-expander-glue.h /usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Expander.xml | ||
26 | +udisks-expander-glue.h: $(PKG_CONFIG_SYSROOT_DIR)/usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Expander.xml Makefile.am | ||
27 | + dbus-binding-tool --prefix=devkit_disks_daemon --mode=glib-client --output=udisks-expander-glue.h $(PKG_CONFIG_SYSROOT_DIR)/usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Expander.xml | ||
28 | |||
29 | -udisks-port-glue.h: /usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Port.xml Makefile.am | ||
30 | - dbus-binding-tool --prefix=devkit_disks_daemon --mode=glib-client --output=udisks-port-glue.h /usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Port.xml | ||
31 | +udisks-port-glue.h: $(PKG_CONFIG_SYSROOT_DIR)/usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Port.xml Makefile.am | ||
32 | + dbus-binding-tool --prefix=devkit_disks_daemon --mode=glib-client --output=udisks-port-glue.h $(PKG_CONFIG_SYSROOT_DIR)/usr/share/dbus-1/interfaces/org.freedesktop.UDisks.Port.xml | ||
33 | |||
34 | lib_LTLIBRARIES=libgdu.la | ||
diff --git a/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/sysrooted-pkg-config.patch b/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/sysrooted-pkg-config.patch deleted file mode 100644 index 48e63b1ea..000000000 --- a/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/sysrooted-pkg-config.patch +++ /dev/null | |||
@@ -1,37 +0,0 @@ | |||
1 | In cross environment we have to prepend the sysroot to the path found by | ||
2 | pkgconfig since the path returned from pkgconfig does not have sysroot prefixed | ||
3 | it ends up using the files from host system. Now usually people have gnome installed | ||
4 | so the build succeeds but if you dont have gnome installed on build host then | ||
5 | it wont find the files on host system and packages using gnome-doc-utils wont | ||
6 | compile. | ||
7 | |||
8 | This should work ok with non sysrooted builds too since in those cases PKG_CONFIG_SYSROOT_DIR | ||
9 | will be empty | ||
10 | |||
11 | Upstream-Status: Pending | ||
12 | |||
13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
14 | |||
15 | Index: gnome-disk-utility-2.32.0/gnome-doc-utils.make | ||
16 | =================================================================== | ||
17 | --- gnome-disk-utility-2.32.0.orig/gnome-doc-utils.make 2010-09-15 08:27:46.000000000 -0700 | ||
18 | +++ gnome-disk-utility-2.32.0/gnome-doc-utils.make 2011-09-25 16:04:30.693795591 -0700 | ||
19 | @@ -133,12 +133,12 @@ | ||
20 | _xml2po ?= `which xml2po` | ||
21 | _xml2po_mode = $(if $(DOC_ID),mallard,docbook) | ||
22 | |||
23 | -_db2html ?= `$(PKG_CONFIG) --variable db2html gnome-doc-utils` | ||
24 | -_db2omf ?= `$(PKG_CONFIG) --variable db2omf gnome-doc-utils` | ||
25 | -_malrng ?= `$(PKG_CONFIG) --variable malrng gnome-doc-utils` | ||
26 | -_chunks ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl | ||
27 | -_credits ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl | ||
28 | -_ids ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/ids.xsl | ||
29 | +_db2html ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable db2html gnome-doc-utils` | ||
30 | +_db2omf ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable db2omf gnome-doc-utils` | ||
31 | +_malrng ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable malrng gnome-doc-utils` | ||
32 | +_chunks ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl | ||
33 | +_credits ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl | ||
34 | +_ids ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/ids.xsl | ||
35 | |||
36 | if ENABLE_SK | ||
37 | _ENABLE_SK = true | ||
diff --git a/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_2.32.0.bb b/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_2.32.0.bb deleted file mode 100644 index 55a589c3f..000000000 --- a/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_2.32.0.bb +++ /dev/null | |||
@@ -1,45 +0,0 @@ | |||
1 | SUMMARY = "GNOME disk utility" | ||
2 | |||
3 | LICENSE = "GPLv2+" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=e9115d11797a5e6b746b4e9b90194564" | ||
5 | |||
6 | DEPENDS = "glib-2.0 gtk+ libnotify libunique udisks avahi-ui \ | ||
7 | virtual/libx11 libatasmart gnome-doc-utils intltool-native \ | ||
8 | gnome-common-native libgnome-keyring dbus-glib-native \ | ||
9 | " | ||
10 | |||
11 | PR = "r4" | ||
12 | |||
13 | inherit gnomebase gtk-icon-cache distro_features_check | ||
14 | |||
15 | REQUIRED_DISTRO_FEATURES = "x11" | ||
16 | |||
17 | SRC_URI[archive.md5sum] = "f0366c8baebca0404d190b2d78f3582d" | ||
18 | SRC_URI[archive.sha256sum] = "03e461b6bda7f773f8018d25fa3213d3073d4dc83a76e6b39d962652f4de6a98" | ||
19 | GNOME_COMPRESS_TYPE="bz2" | ||
20 | |||
21 | SRC_URI += "\ | ||
22 | file://disable-scrollkeeper.patch \ | ||
23 | file://fix-dbus-interfaces.patch \ | ||
24 | file://sysrooted-pkg-config.patch \ | ||
25 | file://0001-Add-support-for-DeviceAutomountHint.patch \ | ||
26 | file://0002-Require-libnotify-0.6.1.patch \ | ||
27 | " | ||
28 | |||
29 | EXTRA_OECONF += "--disable-scrollkeeper" | ||
30 | |||
31 | PACKAGECONFIG ??= "" | ||
32 | PACKAGECONFIG[nautilus] = "--enable-nautilus,--disable-nautilus,nautilus" | ||
33 | |||
34 | do_configure_prepend() { | ||
35 | sed -i -e "s: help : :g" ${S}/Makefile.am | ||
36 | } | ||
37 | |||
38 | PACKAGES =+ "${PN}-nautilus-extension ${PN}-libs" | ||
39 | FILES_${PN}-nautilus-extension += "${libdir}/nautilus/extensions-2.0/*.so" | ||
40 | FILES_${PN}-libs += "${libdir}/libgdu*.so.*" | ||
41 | FILES_${PN}-dev += "${libdir}/nautilus/extensions-2.0/*.la" | ||
42 | FILES_${PN}-staticdev += "${libdir}/nautilus/extensions-2.0/*.a" | ||
43 | FILES_${PN}-dbg += "${libdir}/nautilus/extensions-2.0/.debug" | ||
44 | |||
45 | PNBLACKLIST[gnome-disk-utility] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/132824/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_2.30.5.bb b/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_2.30.5.bb deleted file mode 100644 index d1c9e4d8f..000000000 --- a/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_2.30.5.bb +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | SUMMARY = "GNOME menus" | ||
2 | SECTION = "x11/gnome" | ||
3 | LICENSE = "GPLv2 & LGPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | ||
5 | file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2" | ||
6 | PR = "r1" | ||
7 | |||
8 | DEPENDS = "python libxml2 gconf popt gtk+ intltool-native" | ||
9 | |||
10 | inherit gnomebase pkgconfig python-dir pythonnative gobject-introspection | ||
11 | |||
12 | SRC_URI[archive.md5sum] = "caa6772e63ed5870cf43dc3d354e0624" | ||
13 | SRC_URI[archive.sha256sum] = "6dcc565006d6e8c2025ae83ab1f82edf6bd04d61c804c0dc9bf5ea50629c4caa" | ||
14 | GNOME_COMPRESS_TYPE="bz2" | ||
15 | |||
16 | do_configure_append () { | ||
17 | |||
18 | # this expands to native-pthon which we don't want. | ||
19 | sed -i 's:\@PYTHON\@:/usr/bin/env python:' ${S}/simple-editor/gmenu-simple-editor.in | ||
20 | |||
21 | } | ||
22 | PACKAGES += "${PN}-python ${PN}-python-staticdev" | ||
23 | FILES_${PN} += "${datadir}/desktop-directories/" | ||
24 | FILES_${PN}-python-staticdev = "${PYTHON_SITEPACKAGES_DIR}/gmenu.a ${PYTHON_SITEPACKAGES_DIR}/gmenu.la" | ||
25 | FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/gmenu.so ${PYTHON_SITEPACKAGES_DIR}/GMenuSimpleEditor " | ||
26 | FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*/.debug \ | ||
27 | ${PYTHON_SITEPACKAGES_DIR}/.debug" | ||
28 | |||
29 | # http://errors.yoctoproject.org/Errors/Details/81001/ | ||
30 | PNBLACKLIST[gnome-menus] ?= "BROKEN: fails to build because of python + conflicts with gnome-menu3 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/0001-Add-gnome-doc-utils.make.patch b/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/0001-Add-gnome-doc-utils.make.patch deleted file mode 100644 index fdcccb9d7..000000000 --- a/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/0001-Add-gnome-doc-utils.make.patch +++ /dev/null | |||
@@ -1,730 +0,0 @@ | |||
1 | From 7345730ac882ee5a493254e5cf9162c96c648ef2 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
3 | Date: Tue, 17 May 2016 14:40:33 +0300 | ||
4 | Subject: [PATCH] Add gnome-doc-utils.make | ||
5 | |||
6 | Since the sources are taken from git, the file is absent | ||
7 | (and is installed by tools from gnome-doc-utils which | ||
8 | are no longer provided). | ||
9 | |||
10 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | ||
11 | --- | ||
12 | gnome-doc-utils.make | 706 +++++++++++++++++++++++++++++++++++++++++++++++++++ | ||
13 | 1 file changed, 706 insertions(+) | ||
14 | create mode 100644 gnome-doc-utils.make | ||
15 | |||
16 | diff --git a/gnome-doc-utils.make b/gnome-doc-utils.make | ||
17 | new file mode 100644 | ||
18 | index 0000000..b2e0fa1 | ||
19 | --- /dev/null | ||
20 | +++ b/gnome-doc-utils.make | ||
21 | @@ -0,0 +1,706 @@ | ||
22 | +# gnome-doc-utils.make - make magic for building documentation | ||
23 | +# Copyright (C) 2004-2005 Shaun McCance <shaunm@gnome.org> | ||
24 | +# | ||
25 | +# This program is free software; you can redistribute it and/or modify | ||
26 | +# it under the terms of the GNU General Public License as published by | ||
27 | +# the Free Software Foundation; either version 2 of the License, or | ||
28 | +# (at your option) any later version. | ||
29 | +# | ||
30 | +# This program is distributed in the hope that it will be useful, | ||
31 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
32 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
33 | +# GNU General Public License for more details. | ||
34 | +# | ||
35 | +# You should have received a copy of the GNU General Public License | ||
36 | +# along with this program; if not, write to the Free Software Foundation, | ||
37 | +# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
38 | +# | ||
39 | +# As a special exception to the GNU General Public License, if you | ||
40 | +# distribute this file as part of a program that contains a | ||
41 | +# configuration script generated by Autoconf, you may include it under | ||
42 | +# the same distribution terms that you use for the rest of that program. | ||
43 | + | ||
44 | +################################################################################ | ||
45 | +## @@ Generating Header Files | ||
46 | + | ||
47 | +## @ DOC_H_FILE | ||
48 | +## The name of the header file to generate | ||
49 | +DOC_H_FILE ?= | ||
50 | + | ||
51 | +## @ DOC_H_DOCS | ||
52 | +## The input DocBook files for generating the header file | ||
53 | +DOC_H_DOCS ?= | ||
54 | + | ||
55 | +$(DOC_H_FILE): $(DOC_H_DOCS); | ||
56 | + @rm -f $@.tmp; touch $@.tmp; | ||
57 | + echo 'const gchar* documentation_credits[] = {' >> $@.tmp | ||
58 | + list='$(DOC_H_DOCS)'; for doc in $$list; do \ | ||
59 | + xmlpath="`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`:$(srcdir)/`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`"; \ | ||
60 | + if ! test -f "$$doc"; then doc="$(srcdir)/$$doc"; fi; \ | ||
61 | + xsltproc -nonet --path "$$xmlpath" $(_credits) $$doc; \ | ||
62 | + done | sort | uniq \ | ||
63 | + | awk 'BEGIN{s=""}{n=split($$0,w,"<");if(s!=""&&s!=substr(w[1],1,length(w[1])-1)){print s};if(n>1){print $$0;s=""}else{s=$$0}};END{if(s!=""){print s}}' \ | ||
64 | + | sed -e 's/\\/\\\\/' -e 's/"/\\"/' -e 's/\(.*\)/\t"\1",/' >> $@.tmp | ||
65 | + echo ' NULL' >> $@.tmp | ||
66 | + echo '};' >> $@.tmp | ||
67 | + echo >> $@.tmp | ||
68 | + list='$(DOC_H_DOCS)'; for doc in $$list; do \ | ||
69 | + xmlpath="`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`:$(srcdir)/`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`"; \ | ||
70 | + if ! test -f "$$doc"; then doc="$(srcdir)/$$doc"; fi; \ | ||
71 | + docid=`echo "$$doc" | sed -e 's/.*\/\([^/]*\)\.xml/\1/' \ | ||
72 | + | sed -e 's/[^a-zA-Z_]/_/g' | tr 'a-z' 'A-Z'`; \ | ||
73 | + echo $$xmlpath; \ | ||
74 | + ids=`xsltproc -nonet --xinclude --path "$$xmlpath" $(_ids) $$doc`; \ | ||
75 | + for id in $$ids; do \ | ||
76 | + echo '#define HELP_'`echo $$docid`'_'`echo $$id \ | ||
77 | + | sed -e 's/[^a-zA-Z_]/_/g' | tr 'a-z' 'A-Z'`' "'$$id'"' >> $@.tmp; \ | ||
78 | + done; \ | ||
79 | + echo >> $@.tmp; \ | ||
80 | + done; | ||
81 | + cp $@.tmp $@ && rm -f $@.tmp | ||
82 | + | ||
83 | +dist-check-gdu: | ||
84 | +if !HAVE_GNOME_DOC_UTILS | ||
85 | + @echo "*** GNOME Doc Utils must be installed in order to make dist" | ||
86 | + @false | ||
87 | +endif | ||
88 | + | ||
89 | +.PHONY: dist-doc-header | ||
90 | +dist-doc-header: $(DOC_H_FILE) | ||
91 | + @if test -f "$(DOC_H_FILE)"; then d=; else d="$(srcdir)/"; fi; \ | ||
92 | + echo "$(INSTALL_DATA) $${d}$(DOC_H_FILE) $(distdir)/$(DOC_H_FILE)"; \ | ||
93 | + $(INSTALL_DATA) "$${d}$(DOC_H_FILE)" "$(distdir)/$(DOC_H_FILE)"; | ||
94 | + | ||
95 | +doc-dist-hook: dist-check-gdu $(if $(DOC_H_FILE),dist-doc-header) | ||
96 | + | ||
97 | +.PHONY: clean-doc-header | ||
98 | +_clean_doc_header = $(if $(DOC_H_FILE),clean-doc-header) | ||
99 | +clean-local: $(_clean_doc_header) | ||
100 | +distclean-local: $(_clean_doc_header) | ||
101 | +mostlyclean-local: $(_clean_doc_header) | ||
102 | +maintainer-clean-local: $(_clean_doc_header) | ||
103 | +clean-doc-header: | ||
104 | + rm -f $(DOC_H_FILE) | ||
105 | + | ||
106 | +all: $(DOC_H_FILE) | ||
107 | + | ||
108 | + | ||
109 | +################################################################################ | ||
110 | +## @@ Generating Documentation Files | ||
111 | + | ||
112 | +## @ DOC_MODULE | ||
113 | +## The name of the document being built | ||
114 | +DOC_MODULE ?= | ||
115 | + | ||
116 | +## @ DOC_ID | ||
117 | +## The unique identifier for a Mallard document | ||
118 | +DOC_ID ?= | ||
119 | + | ||
120 | +## @ DOC_PAGES | ||
121 | +## Page files in a Mallard document | ||
122 | +DOC_PAGES ?= | ||
123 | + | ||
124 | +## @ DOC_ENTITIES | ||
125 | +## Files included with a SYSTEM entity | ||
126 | +DOC_ENTITIES ?= | ||
127 | + | ||
128 | +## @ DOC_INCLUDES | ||
129 | +## Files included with XInclude | ||
130 | +DOC_INCLUDES ?= | ||
131 | + | ||
132 | +## @ DOC_FIGURES | ||
133 | +## Figures and other external data | ||
134 | +DOC_FIGURES ?= | ||
135 | + | ||
136 | +## @ DOC_FORMATS | ||
137 | +## The default formats to be built and installed | ||
138 | +DOC_FORMATS ?= docbook | ||
139 | +_DOC_REAL_FORMATS = $(if $(DOC_USER_FORMATS),$(DOC_USER_FORMATS),$(DOC_FORMATS)) | ||
140 | + | ||
141 | +## @ DOC_LINGUAS | ||
142 | +## The languages this document is translated into | ||
143 | +DOC_LINGUAS ?= | ||
144 | +_DOC_REAL_LINGUAS = $(if $(filter environment,$(origin LINGUAS)), \ | ||
145 | + $(filter $(LINGUAS),$(DOC_LINGUAS)), \ | ||
146 | + $(DOC_LINGUAS)) | ||
147 | + | ||
148 | +_DOC_ABS_SRCDIR = @abs_srcdir@ | ||
149 | + | ||
150 | + | ||
151 | +################################################################################ | ||
152 | +## Variables for Bootstrapping | ||
153 | + | ||
154 | +_xml2po ?= `which xml2po` | ||
155 | +_xml2po_mode = $(if $(DOC_ID),mallard,docbook) | ||
156 | + | ||
157 | +_db2html ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable db2html gnome-doc-utils` | ||
158 | +_db2omf ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable db2omf gnome-doc-utils` | ||
159 | +_chunks ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl | ||
160 | +_credits ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl | ||
161 | +_ids ?= ${PKG_CONFIG_SYSROOT_DIR}$(shell $(PKG_CONFIG) --variable xmldir gnome-doc-utils)/gnome/xslt/docbook/utils/ids.xsl | ||
162 | + | ||
163 | +if ENABLE_SK | ||
164 | +_ENABLE_SK = true | ||
165 | +_skpkgdatadir ?= `scrollkeeper-config --pkgdatadir` | ||
166 | +_sklocalstatedir ?= `scrollkeeper-config --pkglocalstatedir` | ||
167 | +_skcontentslist ?= $(_skpkgdatadir)/Templates/C/scrollkeeper_cl.xml | ||
168 | +endif | ||
169 | + | ||
170 | + | ||
171 | +################################################################################ | ||
172 | +## Support for automake silent-rules | ||
173 | +GDU_V_XML2PO=$(GDU__v_XML2PO_$(V)) | ||
174 | +GDU__v_XML2PO_=$(GDU__v_XML2PO_$(AM_DEFAULT_VERBOSITY)) | ||
175 | +GDU__v_XML2PO_0=@echo " XML2PO" $@; | ||
176 | + | ||
177 | +GDU_V_MSGFMT=$(GDU__v_MSGFMT_$(V)) | ||
178 | +GDU__v_MSGFMT_=$(GDU__v_MSGFMT_$(AM_DEFAULT_VERBOSITY)) | ||
179 | +GDU__v_MSGFMT_0=@echo " MSGFMT" $@; | ||
180 | + | ||
181 | +GDU_V_DB2OMF=$(GDU__v_DB2OMF_$(V)) | ||
182 | +GDU__v_DB2OMF_=$(GDU__v_DB2OMF_$(AM_DEFAULT_VERBOSITY)) | ||
183 | +GDU__v_DB2OMF_0=@echo " DB2OMF" $@; | ||
184 | + | ||
185 | +GDU_V_DB2HTM=$(GDU__v_DB2HTM_$(V)) | ||
186 | +GDU__v_DB2HTM_=$(GDU__v_DB2HTM_$(AM_DEFAULT_VERBOSITY)) | ||
187 | +GDU__v_DB2HTM_0=@echo " DB2HTM" $@; | ||
188 | + | ||
189 | +################################################################################ | ||
190 | +## @@ Rules for OMF Files | ||
191 | + | ||
192 | +db2omf_args = \ | ||
193 | + --stringparam db2omf.basename $(DOC_MODULE) \ | ||
194 | + --stringparam db2omf.format $(3) \ | ||
195 | + --stringparam db2omf.dtd \ | ||
196 | + $(shell xmllint --format $(2) | grep -h PUBLIC | head -n 1 \ | ||
197 | + | sed -e 's/.*PUBLIC \(\"[^\"]*\"\).*/\1/') \ | ||
198 | + --stringparam db2omf.lang $(notdir $(patsubst %/$(notdir $(2)),%,$(2))) \ | ||
199 | + --stringparam db2omf.omf_dir "$(OMF_DIR)" \ | ||
200 | + --stringparam db2omf.help_dir "$(HELP_DIR)" \ | ||
201 | + --stringparam db2omf.omf_in "$(_DOC_OMF_IN)" \ | ||
202 | + $(if $(_ENABLE_SK), \ | ||
203 | + --stringparam db2omf.scrollkeeper_cl "$(_skcontentslist)") \ | ||
204 | + $(_db2omf) $(2) | ||
205 | + | ||
206 | +## @ _DOC_OMF_IN | ||
207 | +## The OMF input file | ||
208 | +_DOC_OMF_IN = $(if $(DOC_MODULE),$(wildcard $(_DOC_ABS_SRCDIR)/$(DOC_MODULE).omf.in)) | ||
209 | + | ||
210 | +## @ _DOC_OMF_DB | ||
211 | +## The OMF files for DocBook output | ||
212 | +_DOC_OMF_DB = $(if $(_DOC_OMF_IN), \ | ||
213 | + $(foreach lc,C $(_DOC_REAL_LINGUAS),$(DOC_MODULE)-$(lc).omf)) | ||
214 | + | ||
215 | +$(_DOC_OMF_DB) : $(_DOC_OMF_IN) | ||
216 | +$(_DOC_OMF_DB) : $(DOC_MODULE)-%.omf : %/$(DOC_MODULE).xml | ||
217 | + @test "x$(_ENABLE_SK)" != "xtrue" -o -f "$(_skcontentslist)" || { \ | ||
218 | + echo "The file '$(_skcontentslist)' does not exist." >&2; \ | ||
219 | + echo "Please check your ScrollKeeper installation." >&2; \ | ||
220 | + exit 1; } | ||
221 | + $(GDU_V_DB2OMF)xsltproc -nonet -o $@ $(call db2omf_args,$@,$<,'docbook') || { rm -f "$@"; exit 1; } | ||
222 | + | ||
223 | +## @ _DOC_OMF_HTML | ||
224 | +## The OMF files for HTML output | ||
225 | +_DOC_OMF_HTML = $(if $(_DOC_OMF_IN), \ | ||
226 | + $(foreach lc,C $(_DOC_REAL_LINGUAS),$(DOC_MODULE)-html-$(lc).omf)) | ||
227 | + | ||
228 | +$(_DOC_OMF_HTML) : $(_DOC_OMF_IN) | ||
229 | +$(_DOC_OMF_HTML) : $(DOC_MODULE)-html-%.omf : %/$(DOC_MODULE).xml | ||
230 | +if ENABLE_SK | ||
231 | + @test "x$(_ENABLE_SK)" != "xtrue" -o -f "$(_skcontentslist)" || { \ | ||
232 | + echo "The file '$(_skcontentslist)' does not exist" >&2; \ | ||
233 | + echo "Please check your ScrollKeeper installation." >&2; \ | ||
234 | + exit 1; } | ||
235 | +endif | ||
236 | + $(GDU_V_DB2OMF)xsltproc -nonet -o $@ $(call db2omf_args,$@,$<,'xhtml') || { rm -f "$@"; exit 1; } | ||
237 | + | ||
238 | +## @ _DOC_OMF_ALL | ||
239 | +## All OMF output files to be built | ||
240 | +# FIXME | ||
241 | +_DOC_OMF_ALL = \ | ||
242 | + $(if $(filter docbook,$(_DOC_REAL_FORMATS)),$(_DOC_OMF_DB)) \ | ||
243 | + $(if $(filter html HTML,$(_DOC_REAL_FORMATS)),$(_DOC_OMF_HTML)) | ||
244 | + | ||
245 | +.PHONY: omf | ||
246 | +omf: $(_DOC_OMF_ALL) | ||
247 | + | ||
248 | + | ||
249 | +################################################################################ | ||
250 | +## @@ C Locale Documents | ||
251 | + | ||
252 | +## @ _DOC_C_MODULE | ||
253 | +## The top-level documentation file in the C locale | ||
254 | +_DOC_C_MODULE = $(if $(DOC_MODULE),C/$(DOC_MODULE).xml) | ||
255 | + | ||
256 | +## @ _DOC_C_PAGES | ||
257 | +## Page files in a Mallard document in the C locale | ||
258 | +_DOC_C_PAGES = $(foreach page,$(DOC_PAGES),C/$(page)) | ||
259 | + | ||
260 | +## @ _DOC_C_ENTITIES | ||
261 | +## Files included with a SYSTEM entity in the C locale | ||
262 | +_DOC_C_ENTITIES = $(foreach ent,$(DOC_ENTITIES),C/$(ent)) | ||
263 | + | ||
264 | +## @ _DOC_C_XINCLUDES | ||
265 | +## Files included with XInclude in the C locale | ||
266 | +_DOC_C_INCLUDES = $(foreach inc,$(DOC_INCLUDES),C/$(inc)) | ||
267 | + | ||
268 | +## @ _DOC_C_DOCS | ||
269 | +## All documentation files in the C locale | ||
270 | +_DOC_C_DOCS = \ | ||
271 | + $(_DOC_C_ENTITIES) $(_DOC_C_INCLUDES) \ | ||
272 | + $(_DOC_C_PAGES) $(_DOC_C_MODULE) | ||
273 | + | ||
274 | +## @ _DOC_C_DOCS_NOENT | ||
275 | +## All documentation files in the C locale, | ||
276 | +## except files included with a SYSTEM entity | ||
277 | +_DOC_C_DOCS_NOENT = \ | ||
278 | + $(_DOC_C_MODULE) $(_DOC_C_INCLUDES) \ | ||
279 | + $(_DOC_C_PAGES) | ||
280 | + | ||
281 | +## @ _DOC_C_FIGURES | ||
282 | +## All figures and other external data in the C locale | ||
283 | +_DOC_C_FIGURES = $(if $(DOC_FIGURES), \ | ||
284 | + $(foreach fig,$(DOC_FIGURES),C/$(fig)), \ | ||
285 | + $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/C/figures/*.png))) | ||
286 | + | ||
287 | +## @ _DOC_C_HTML | ||
288 | +## All HTML documentation in the C locale | ||
289 | +# FIXME: probably have to shell escape to determine the file names | ||
290 | +_DOC_C_HTML = $(foreach f, \ | ||
291 | + $(shell xsltproc -nonet --xinclude \ | ||
292 | + --stringparam db.chunk.basename "$(DOC_MODULE)" \ | ||
293 | + $(_chunks) "C/$(DOC_MODULE).xml"), \ | ||
294 | + C/$(f).xhtml) | ||
295 | + | ||
296 | +############################################################################### | ||
297 | +## @@ Other Locale Documentation | ||
298 | + | ||
299 | +## @ _DOC_POFILES | ||
300 | +## The .po files used for translating the document | ||
301 | +_DOC_POFILES = $(if $(DOC_MODULE)$(DOC_ID), \ | ||
302 | + $(foreach lc,$(_DOC_REAL_LINGUAS),$(lc)/$(lc).po)) | ||
303 | + | ||
304 | +.PHONY: po | ||
305 | +po: $(_DOC_POFILES) | ||
306 | + | ||
307 | +## @ _DOC_MOFILES | ||
308 | +## The .mo files used for translating the document | ||
309 | +_DOC_MOFILES = $(patsubst %.po,%.mo,$(_DOC_POFILES)) | ||
310 | + | ||
311 | +.PHONY: mo | ||
312 | +mo: $(_DOC_MOFILES) | ||
313 | + | ||
314 | +## @ _DOC_LC_MODULES | ||
315 | +## The top-level documentation files in all other locales | ||
316 | +_DOC_LC_MODULES = $(if $(DOC_MODULE), \ | ||
317 | + $(foreach lc,$(_DOC_REAL_LINGUAS),$(lc)/$(DOC_MODULE).xml)) | ||
318 | + | ||
319 | +## @ _DOC_LC_PAGES | ||
320 | +## Page files in a Mallard document in all other locales | ||
321 | +_DOC_LC_PAGES = \ | ||
322 | + $(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach page,$(_DOC_C_PAGES), \ | ||
323 | + $(lc)/$(notdir $(page)) )) | ||
324 | + | ||
325 | +## @ _DOC_LC_XINCLUDES | ||
326 | +## Files included with XInclude in all other locales | ||
327 | +_DOC_LC_INCLUDES = \ | ||
328 | + $(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach inc,$(_DOC_C_INCLUDES), \ | ||
329 | + $(lc)/$(notdir $(inc)) )) | ||
330 | + | ||
331 | +## @ _DOC_LC_HTML | ||
332 | +## All HTML documentation in all other locales | ||
333 | +# FIXME: probably have to shell escape to determine the file names | ||
334 | +_DOC_LC_HTML = \ | ||
335 | + $(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach doc,$(_DOC_C_HTML), \ | ||
336 | + $(lc)/$(notdir $(doc)) )) | ||
337 | + | ||
338 | +## @ _DOC_LC_DOCS | ||
339 | +## All documentation files in all other locales | ||
340 | +_DOC_LC_DOCS = \ | ||
341 | + $(_DOC_LC_MODULES) $(_DOC_LC_INCLUDES) $(_DOC_LC_PAGES) \ | ||
342 | + $(if $(filter html HTML,$(_DOC_REAL_FORMATS)),$(_DOC_LC_HTML)) | ||
343 | + | ||
344 | +## @ _DOC_LC_FIGURES | ||
345 | +## All figures and other external data in all other locales | ||
346 | +_DOC_LC_FIGURES = $(foreach lc,$(_DOC_REAL_LINGUAS), \ | ||
347 | + $(patsubst C/%,$(lc)/%,$(_DOC_C_FIGURES)) ) | ||
348 | + | ||
349 | +_DOC_SRC_FIGURES = \ | ||
350 | + $(foreach fig,$(_DOC_C_FIGURES), $(foreach lc,C $(_DOC_REAL_LINGUAS), \ | ||
351 | + $(wildcard $(srcdir)/$(lc)/$(patsubst C/%,%,$(fig))) )) | ||
352 | + | ||
353 | +$(_DOC_POFILES): | ||
354 | + @if ! test -d $(dir $@); then \ | ||
355 | + echo "mkdir $(dir $@)"; \ | ||
356 | + mkdir "$(dir $@)"; \ | ||
357 | + fi | ||
358 | + @if test ! -f $@ -a -f $(srcdir)/$@; then \ | ||
359 | + echo "cp $(srcdir)/$@ $@"; \ | ||
360 | + cp "$(srcdir)/$@" "$@"; \ | ||
361 | + fi; | ||
362 | + @docs=; \ | ||
363 | + list='$(_DOC_C_DOCS_NOENT)'; for doc in $$list; do \ | ||
364 | + docs="$$docs $(_DOC_ABS_SRCDIR)/$$doc"; \ | ||
365 | + done; \ | ||
366 | + if ! test -f $@; then \ | ||
367 | + echo "(cd $(dir $@) && \ | ||
368 | + $(_xml2po) -m $(_xml2po_mode) -e $$docs > $(notdir $@).tmp && \ | ||
369 | + cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp)"; \ | ||
370 | + (cd $(dir $@) && \ | ||
371 | + $(_xml2po) -m $(_xml2po_mode) -e $$docs > $(notdir $@).tmp && \ | ||
372 | + cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp); \ | ||
373 | + else \ | ||
374 | + echo "(cd $(dir $@) && \ | ||
375 | + $(_xml2po) -m $(_xml2po_mode) -e -u $(notdir $@) $$docs)"; \ | ||
376 | + (cd $(dir $@) && \ | ||
377 | + $(_xml2po) -m $(_xml2po_mode) -e -u $(notdir $@) $$docs); \ | ||
378 | + fi | ||
379 | + | ||
380 | +$(_DOC_MOFILES): %.mo: %.po | ||
381 | + $(AM_V_at)if ! test -d $(dir $@); then mkdir "$(dir $@)"; fi | ||
382 | + $(GDU_V_MSGFMT)msgfmt -o $@ $< | ||
383 | + | ||
384 | +# FIXME: fix the dependancy | ||
385 | +# FIXME: hook xml2po up | ||
386 | +$(_DOC_LC_DOCS) : $(_DOC_MOFILES) | ||
387 | +$(_DOC_LC_DOCS) : $(_DOC_C_DOCS) | ||
388 | + $(AM_V_at)if ! test -d $(dir $@); then mkdir $(dir $@); fi | ||
389 | + $(GDU_V_XML2PO)if [ -f "C/$(notdir $@)" ]; then d="../"; else d="$(_DOC_ABS_SRCDIR)/"; fi; \ | ||
390 | + mo="$(dir $@)$(patsubst %/$(notdir $@),%,$@).mo"; \ | ||
391 | + if [ -f "$${mo}" ]; then mo="../$${mo}"; else mo="$(_DOC_ABS_SRCDIR)/$${mo}"; fi; \ | ||
392 | + (cd $(dir $@) && \ | ||
393 | + $(_xml2po) -m $(_xml2po_mode) -e -t "$${mo}" \ | ||
394 | + "$${d}C/$(notdir $@)" > $(notdir $@).tmp && \ | ||
395 | + cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp) | ||
396 | + | ||
397 | +## @ _DOC_POT | ||
398 | +## A pot file | ||
399 | +_DOC_POT = $(if $(DOC_MODULE),$(DOC_MODULE).pot,$(if $(DOC_ID),$(DOC_ID).pot)) | ||
400 | +.PHONY: pot | ||
401 | +pot: $(_DOC_POT) | ||
402 | +$(_DOC_POT): $(_DOC_C_DOCS_NOENT) | ||
403 | + $(GDU_V_XML2PO)$(_xml2po) -m $(_xml2po_mode) -e -o $@ $^ | ||
404 | + | ||
405 | + | ||
406 | +################################################################################ | ||
407 | +## @@ All Documentation | ||
408 | + | ||
409 | +## @ _DOC_HTML_ALL | ||
410 | +## All HTML documentation, only if it's built | ||
411 | +_DOC_HTML_ALL = $(if $(filter html HTML,$(_DOC_REAL_FORMATS)), \ | ||
412 | + $(_DOC_C_HTML) $(_DOC_LC_HTML)) | ||
413 | + | ||
414 | +_DOC_HTML_TOPS = $(foreach lc,C $(_DOC_REAL_LINGUAS),$(lc)/$(DOC_MODULE).xhtml) | ||
415 | + | ||
416 | +$(_DOC_HTML_TOPS): $(_DOC_C_DOCS) $(_DOC_LC_DOCS) | ||
417 | + $(GDU_V_DB2HTM)xsltproc -nonet -o $@ --xinclude --param db.chunk.chunk_top "false()" --stringparam db.chunk.basename "$(DOC_MODULE)" --stringparam db.chunk.extension ".xhtml" $(_db2html) $(patsubst %.xhtml,%.xml,$@) | ||
418 | + | ||
419 | + | ||
420 | +################################################################################ | ||
421 | +## All | ||
422 | + | ||
423 | +all: \ | ||
424 | + $(_DOC_C_DOCS) $(_DOC_LC_DOCS) \ | ||
425 | + $(_DOC_OMF_ALL) $(_DOC_DSK_ALL) \ | ||
426 | + $(_DOC_HTML_ALL) $(_DOC_POFILES) | ||
427 | + | ||
428 | + | ||
429 | +################################################################################ | ||
430 | +## Clean | ||
431 | + | ||
432 | +.PHONY: clean-doc-omf clean-doc-dsk clean-doc-lc clean-doc-dir | ||
433 | + | ||
434 | +clean-doc-omf: ; rm -f $(_DOC_OMF_DB) $(_DOC_OMF_HTML) | ||
435 | +clean-doc-dsk: ; rm -f $(_DOC_DSK_DB) $(_DOC_DSK_HTML) | ||
436 | +clean-doc-lc: | ||
437 | + rm -f $(_DOC_LC_DOCS) | ||
438 | + rm -f $(_DOC_MOFILES) | ||
439 | + @list='$(_DOC_POFILES)'; for po in $$list; do \ | ||
440 | + if ! test "$$po" -ef "$(srcdir)/$$po"; then \ | ||
441 | + echo "rm -f $$po"; \ | ||
442 | + rm -f "$$po"; \ | ||
443 | + fi; \ | ||
444 | + done | ||
445 | +# .xml2.po.mo cleaning is obsolete as of 0.18.1 and could be removed in 0.20.x | ||
446 | + @for lc in C $(_DOC_REAL_LINGUAS); do \ | ||
447 | + if test -f "$$lc/.xml2po.mo"; then \ | ||
448 | + echo "rm -f $$lc/.xml2po.mo"; \ | ||
449 | + rm -f "$$lc/.xml2po.mo"; \ | ||
450 | + fi; \ | ||
451 | + done | ||
452 | +clean-doc-dir: clean-doc-lc | ||
453 | + @for lc in C $(_DOC_REAL_LINGUAS); do \ | ||
454 | + for dir in `find $$lc -depth -type d`; do \ | ||
455 | + if ! test $$dir -ef $(srcdir)/$$dir; then \ | ||
456 | + echo "rmdir $$dir"; \ | ||
457 | + rmdir "$$dir"; \ | ||
458 | + fi; \ | ||
459 | + done; \ | ||
460 | + done | ||
461 | + | ||
462 | +_clean_omf = $(if $(_DOC_OMF_IN),clean-doc-omf) | ||
463 | +_clean_dsk = $(if $(_DOC_DSK_IN),clean-doc-dsk) | ||
464 | +_clean_lc = $(if $(_DOC_REAL_LINGUAS),clean-doc-lc) | ||
465 | +_clean_dir = $(if $(DOC_MODULE)$(DOC_ID),clean-doc-dir) | ||
466 | + | ||
467 | +clean-local: \ | ||
468 | + $(_clean_omf) $(_clean_dsk) \ | ||
469 | + $(_clean_lc) $(_clean_dir) | ||
470 | +distclean-local: \ | ||
471 | + $(_clean_omf) $(_clean_dsk) \ | ||
472 | + $(_clean_lc) $(_clean_dir) | ||
473 | +mostlyclean-local: \ | ||
474 | + $(_clean_omf) $(_clean_dsk) \ | ||
475 | + $(_clean_lc) $(_clean_dir) | ||
476 | +maintainer-clean-local: \ | ||
477 | + $(_clean_omf) $(_clean_dsk) \ | ||
478 | + $(_clean_lc) $(_clean_dir) | ||
479 | + | ||
480 | + | ||
481 | + | ||
482 | +################################################################################ | ||
483 | +## Dist | ||
484 | + | ||
485 | +.PHONY: dist-doc-docs dist-doc-pages dist-doc-figs dist-doc-omf dist-doc-dsk | ||
486 | +doc-dist-hook: \ | ||
487 | + $(if $(DOC_MODULE)$(DOC_ID),dist-doc-docs) \ | ||
488 | + $(if $(_DOC_C_FIGURES),dist-doc-figs) \ | ||
489 | + $(if $(_DOC_OMF_IN),dist-doc-omf) | ||
490 | +# $(if $(_DOC_DSK_IN),dist-doc-dsk) | ||
491 | + | ||
492 | +dist-doc-docs: $(_DOC_C_DOCS) $(_DOC_LC_DOCS) $(_DOC_POFILES) | ||
493 | + @for lc in C $(_DOC_REAL_LINGUAS); do \ | ||
494 | + echo " $(mkinstalldirs) $(distdir)/$$lc"; \ | ||
495 | + $(mkinstalldirs) "$(distdir)/$$lc"; \ | ||
496 | + done | ||
497 | + @list='$(_DOC_C_DOCS)'; \ | ||
498 | + for doc in $$list; do \ | ||
499 | + if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \ | ||
500 | + docdir=`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ | ||
501 | + if ! test -d "$(distdir)/$$docdir"; then \ | ||
502 | + echo "$(mkinstalldirs) $(distdir)/$$docdir"; \ | ||
503 | + $(mkinstalldirs) "$(distdir)/$$docdir"; \ | ||
504 | + fi; \ | ||
505 | + echo "$(INSTALL_DATA) $$d$$doc $(distdir)/$$doc"; \ | ||
506 | + $(INSTALL_DATA) "$$d$$doc" "$(distdir)/$$doc"; \ | ||
507 | + done | ||
508 | + @list='$(_DOC_LC_DOCS)'; \ | ||
509 | + for doc in $$list; do \ | ||
510 | + if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \ | ||
511 | + docdir=`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ | ||
512 | + if ! test -d "$(distdir)/$$docdir"; then \ | ||
513 | + echo "$(mkinstalldirs) $(distdir)/$$docdir"; \ | ||
514 | + $(mkinstalldirs) "$(distdir)/$$docdir"; \ | ||
515 | + fi; \ | ||
516 | + echo "$(INSTALL_DATA) $$d$$doc $(distdir)/$$doc"; \ | ||
517 | + $(INSTALL_DATA) "$$d$$doc" "$(distdir)/$$doc"; \ | ||
518 | + done | ||
519 | + @list='$(_DOC_POFILES)'; \ | ||
520 | + for doc in $$list; do \ | ||
521 | + if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \ | ||
522 | + docdir=`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ | ||
523 | + if ! test -d "$(distdir)/$$docdir"; then \ | ||
524 | + echo "$(mkinstalldirs) $(distdir)/$$docdir"; \ | ||
525 | + $(mkinstalldirs) "$(distdir)/$$docdir"; \ | ||
526 | + fi; \ | ||
527 | + echo "$(INSTALL_DATA) $$d$$doc $(distdir)/$$doc"; \ | ||
528 | + $(INSTALL_DATA) "$$d$$doc" "$(distdir)/$$doc"; \ | ||
529 | + done | ||
530 | + | ||
531 | +dist-doc-figs: $(_DOC_SRC_FIGURES) | ||
532 | + @list='$(_DOC_C_FIGURES) $(_DOC_LC_FIGURES)'; \ | ||
533 | + for fig in $$list; do \ | ||
534 | + if test -f "$$fig"; then d=; else d="$(srcdir)/"; fi; \ | ||
535 | + if test -f "$$d$$fig"; then \ | ||
536 | + figdir=`echo $$fig | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ | ||
537 | + if ! test -d "$(distdir)/$$figdir"; then \ | ||
538 | + echo "$(mkinstalldirs) $(distdir)/$$figdir"; \ | ||
539 | + $(mkinstalldirs) "$(distdir)/$$figdir"; \ | ||
540 | + fi; \ | ||
541 | + echo "$(INSTALL_DATA) $$d$$fig $(distdir)/$$fig"; \ | ||
542 | + $(INSTALL_DATA) "$$d$$fig" "$(distdir)/$$fig"; \ | ||
543 | + fi; \ | ||
544 | + done; | ||
545 | + | ||
546 | +dist-doc-omf: | ||
547 | + @if test -f "$(_DOC_OMF_IN)"; then d=; else d="$(srcdir)/"; fi; \ | ||
548 | + echo "$(INSTALL_DATA) $$d$(_DOC_OMF_IN) $(distdir)/$(notdir $(_DOC_OMF_IN))"; \ | ||
549 | + $(INSTALL_DATA) "$$d$(_DOC_OMF_IN)" "$(distdir)/$(notdir $(_DOC_OMF_IN))" | ||
550 | + | ||
551 | +dist-doc-dsk: | ||
552 | + @if test -f "$(_DOC_DSK_IN)"; then d=; else d="$(srcdir)/"; fi; \ | ||
553 | + echo "$(INSTALL_DATA) $$d$(_DOC_DSK_IN) $(distdir)/$(notdir $(_DOC_DSK_IN))"; \ | ||
554 | + $(INSTALL_DATA) "$$d$(_DOC_DSK_IN)" "$(distdir)/$(notdir $(_DOC_DSK_IN))" | ||
555 | + | ||
556 | + | ||
557 | + | ||
558 | +################################################################################ | ||
559 | +## Check | ||
560 | + | ||
561 | +.PHONY: check-doc-docs check-doc-omf | ||
562 | +check: \ | ||
563 | + $(if $(DOC_MODULE),check-doc-docs) \ | ||
564 | + $(if $(DOC_ID),check-doc-pages) \ | ||
565 | + $(if $(_DOC_OMF_IN),check-doc-omf) | ||
566 | + | ||
567 | +check-doc-docs: $(_DOC_C_DOCS) $(_DOC_LC_DOCS) | ||
568 | + @for lc in C $(_DOC_REAL_LINGUAS); do \ | ||
569 | + if test -f "$$lc"; \ | ||
570 | + then d=; \ | ||
571 | + xmlpath="$$lc"; \ | ||
572 | + else \ | ||
573 | + d="$(srcdir)/"; \ | ||
574 | + xmlpath="$$lc:$(srcdir)/$$lc"; \ | ||
575 | + fi; \ | ||
576 | + echo "xmllint --noout --noent --path $$xmlpath --xinclude --postvalid $$d$$lc/$(DOC_MODULE).xml"; \ | ||
577 | + xmllint --noout --noent --path "$$xmlpath" --xinclude --postvalid "$$d$$lc/$(DOC_MODULE).xml"; \ | ||
578 | + done | ||
579 | + | ||
580 | +check-doc-pages: $(_DOC_C_PAGES) $(_DOC_LC_PAGES) | ||
581 | + for lc in C $(_DOC_REAL_LINGUAS); do \ | ||
582 | + if test -f "$$lc"; \ | ||
583 | + then d=; \ | ||
584 | + xmlpath="$$lc"; \ | ||
585 | + else \ | ||
586 | + d="$(srcdir)/"; \ | ||
587 | + xmlpath="$$lc:$(srcdir)/$$lc"; \ | ||
588 | + fi; \ | ||
589 | + for page in $(DOC_PAGES); do \ | ||
590 | + echo "xmllint --noout --noent --path $$xmlpath --xinclude $$d$$lc/$$page"; \ | ||
591 | + xmllint --noout --noent --path "$$xmlpath" --xinclude "$$d$$lc/$$page"; \ | ||
592 | + done; \ | ||
593 | + done | ||
594 | + | ||
595 | +check-doc-omf: $(_DOC_OMF_ALL) | ||
596 | + @list='$(_DOC_OMF_ALL)'; for omf in $$list; do \ | ||
597 | + echo "xmllint --noout --xinclude --dtdvalid 'http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd' $$omf"; \ | ||
598 | + xmllint --noout --xinclude --dtdvalid 'http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd' $$omf; \ | ||
599 | + done | ||
600 | + | ||
601 | + | ||
602 | + | ||
603 | +################################################################################ | ||
604 | +## Install | ||
605 | + | ||
606 | +.PHONY: install-doc-docs install-doc-html install-doc-figs install-doc-omf install-doc-dsk | ||
607 | + | ||
608 | +_doc_install_dir = $(if $(DOC_ID),$(DOC_ID),$(DOC_MODULE)) | ||
609 | + | ||
610 | +install-data-local: \ | ||
611 | + $(if $(DOC_MODULE)$(DOC_ID),install-doc-docs) \ | ||
612 | + $(if $(_DOC_HTML_ALL),install-doc-html) \ | ||
613 | + $(if $(_DOC_C_FIGURES),install-doc-figs) \ | ||
614 | + $(if $(_DOC_OMF_IN),install-doc-omf) | ||
615 | +# $(if $(_DOC_DSK_IN),install-doc-dsk) | ||
616 | + | ||
617 | +install-doc-docs: | ||
618 | + @for lc in C $(_DOC_REAL_LINGUAS); do \ | ||
619 | + echo "$(mkinstalldirs) $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$lc"; \ | ||
620 | + $(mkinstalldirs) $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$lc; \ | ||
621 | + done | ||
622 | + @list='$(_DOC_C_DOCS)'; for doc in $$list; do \ | ||
623 | + if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \ | ||
624 | + docdir="$$lc/"`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ | ||
625 | + docdir="$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$docdir"; \ | ||
626 | + if ! test -d "$$docdir"; then \ | ||
627 | + echo "$(mkinstalldirs) $$docdir"; \ | ||
628 | + $(mkinstalldirs) "$$docdir"; \ | ||
629 | + fi; \ | ||
630 | + echo "$(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \ | ||
631 | + $(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc; \ | ||
632 | + done | ||
633 | + @list='$(_DOC_LC_DOCS)'; for doc in $$list; do \ | ||
634 | + if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \ | ||
635 | + docdir="$$lc/"`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ | ||
636 | + docdir="$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$docdir"; \ | ||
637 | + if ! test -d "$$docdir"; then \ | ||
638 | + echo "$(mkinstalldirs) $$docdir"; \ | ||
639 | + $(mkinstalldirs) "$$docdir"; \ | ||
640 | + fi; \ | ||
641 | + echo "$(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \ | ||
642 | + $(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc; \ | ||
643 | + done | ||
644 | + | ||
645 | +install-doc-figs: | ||
646 | + @list='$(patsubst C/%,%,$(_DOC_C_FIGURES))'; for fig in $$list; do \ | ||
647 | + for lc in C $(_DOC_REAL_LINGUAS); do \ | ||
648 | + figsymlink=false; \ | ||
649 | + if test -f "$$lc/$$fig"; then \ | ||
650 | + figfile="$$lc/$$fig"; \ | ||
651 | + elif test -f "$(srcdir)/$$lc/$$fig"; then \ | ||
652 | + figfile="$(srcdir)/$$lc/$$fig"; \ | ||
653 | + else \ | ||
654 | + figsymlink=true; \ | ||
655 | + fi; \ | ||
656 | + figdir="$$lc/"`echo $$fig | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \ | ||
657 | + figdir="$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$figdir"; \ | ||
658 | + if ! test -d "$$figdir"; then \ | ||
659 | + echo "$(mkinstalldirs) $$figdir"; \ | ||
660 | + $(mkinstalldirs) "$$figdir"; \ | ||
661 | + fi; \ | ||
662 | + figbase=`echo $$fig | sed -e 's/^.*\///'`; \ | ||
663 | + if $$figsymlink; then \ | ||
664 | + echo "cd $$figdir && $(LN_S) -f ../../C/$$fig $$figbase"; \ | ||
665 | + ( cd "$$figdir" && $(LN_S) -f "../../C/$$fig" "$$figbase" ); \ | ||
666 | + else \ | ||
667 | + echo "$(INSTALL_DATA) $$figfile $$figdir$$figbase"; \ | ||
668 | + $(INSTALL_DATA) "$$figfile" "$$figdir$$figbase"; \ | ||
669 | + fi; \ | ||
670 | + done; \ | ||
671 | + done | ||
672 | + | ||
673 | +install-doc-html: | ||
674 | + echo install-html | ||
675 | + | ||
676 | +install-doc-omf: | ||
677 | + $(mkinstalldirs) $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir) | ||
678 | + @list='$(_DOC_OMF_ALL)'; for omf in $$list; do \ | ||
679 | + echo "$(INSTALL_DATA) $$omf $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \ | ||
680 | + $(INSTALL_DATA) $$omf $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf; \ | ||
681 | + done | ||
682 | + @if test "x$(_ENABLE_SK)" = "xtrue"; then \ | ||
683 | + echo "scrollkeeper-update -p $(DESTDIR)$(_sklocalstatedir) -o $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)"; \ | ||
684 | + scrollkeeper-update -p "$(DESTDIR)$(_sklocalstatedir)" -o "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)"; \ | ||
685 | + fi; | ||
686 | + | ||
687 | +install-doc-dsk: | ||
688 | + echo install-dsk | ||
689 | + | ||
690 | + | ||
691 | + | ||
692 | +################################################################################ | ||
693 | +## Uninstall | ||
694 | + | ||
695 | +.PHONY: uninstall-doc-docs uninstall-doc-html uninstall-doc-figs uninstall-doc-omf uninstall-doc-dsk | ||
696 | +uninstall-local: \ | ||
697 | + $(if $(DOC_MODULE)$(DOC_ID),uninstall-doc-docs) \ | ||
698 | + $(if $(_DOC_HTML_ALL),uninstall-doc-html) \ | ||
699 | + $(if $(_DOC_C_FIGURES),uninstall-doc-figs) \ | ||
700 | + $(if $(_DOC_OMF_IN),uninstall-doc-omf) | ||
701 | +# $(if $(_DOC_DSK_IN),uninstall-doc-dsk) | ||
702 | + | ||
703 | +uninstall-doc-docs: | ||
704 | + @list='$(_DOC_C_DOCS)'; for doc in $$list; do \ | ||
705 | + echo " rm -f $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \ | ||
706 | + rm -f "$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \ | ||
707 | + done | ||
708 | + @list='$(_DOC_LC_DOCS)'; for doc in $$list; do \ | ||
709 | + echo " rm -f $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \ | ||
710 | + rm -f "$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \ | ||
711 | + done | ||
712 | + | ||
713 | +uninstall-doc-figs: | ||
714 | + @list='$(_DOC_C_FIGURES) $(_DOC_LC_FIGURES)'; for fig in $$list; do \ | ||
715 | + echo "rm -f $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$fig"; \ | ||
716 | + rm -f "$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$fig"; \ | ||
717 | + done; | ||
718 | + | ||
719 | +uninstall-doc-omf: | ||
720 | + @list='$(_DOC_OMF_ALL)'; for omf in $$list; do \ | ||
721 | + if test "x$(_ENABLE_SK)" = "xtrue"; then \ | ||
722 | + echo "scrollkeeper-uninstall -p $(_sklocalstatedir) $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \ | ||
723 | + scrollkeeper-uninstall -p "$(_sklocalstatedir)" "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \ | ||
724 | + fi; \ | ||
725 | + echo "rm -f $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \ | ||
726 | + rm -f "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \ | ||
727 | + done | ||
728 | -- | ||
729 | 2.8.1 | ||
730 | |||
diff --git a/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/0001-Fix-build-with-gcc-5.patch b/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/0001-Fix-build-with-gcc-5.patch deleted file mode 100644 index 6b7fc5bec..000000000 --- a/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/0001-Fix-build-with-gcc-5.patch +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | From 20810fcf329c6e0b48b8e7602565ccc70c7ce62b Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Sun, 10 May 2015 02:10:59 -0700 | ||
4 | Subject: [PATCH] Fix build with gcc 5 | ||
5 | |||
6 | cc1: error: ../../gnome-panel/libpanel-applets-private: No such file or | ||
7 | directory [-Werror=missing-include-dirs] | ||
8 | cc1: error: ../../gnome-panel/libpanel-applets-private: No such file or | ||
9 | directory [-Werror=missing-include-dirs] | ||
10 | cc1: error: ../../gnome-panel/libpanel-applets-private: No such file or | ||
11 | directory [-Werror=missing-include-dirs] | ||
12 | cc1: some warnings being treated as errors | ||
13 | |||
14 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
15 | --- | ||
16 | Upstream-Status: Pending | ||
17 | |||
18 | gnome-panel/libpanel-applet-private/Makefile.am | 1 - | ||
19 | 1 file changed, 1 deletion(-) | ||
20 | |||
21 | diff --git a/gnome-panel/libpanel-applet-private/Makefile.am b/gnome-panel/libpanel-applet-private/Makefile.am | ||
22 | index f12dee8..d556f12 100644 | ||
23 | --- a/gnome-panel/libpanel-applet-private/Makefile.am | ||
24 | +++ b/gnome-panel/libpanel-applet-private/Makefile.am | ||
25 | @@ -8,7 +8,6 @@ AM_CPPFLAGS = \ | ||
26 | -I$(srcdir) \ | ||
27 | -I$(top_srcdir)/gnome-panel \ | ||
28 | -I$(top_builddir)/gnome-panel \ | ||
29 | - -I$(top_builddir)/gnome-panel/libpanel-applets-private \ | ||
30 | -I$(top_builddir)/gnome-panel/libpanel-util \ | ||
31 | -DDATADIR=\""$(datadir)"\" \ | ||
32 | -DPANEL_APPLETS_DIR=\"$(appletsdir)\" \ | ||
33 | -- | ||
34 | 2.1.4 | ||
35 | |||
diff --git a/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/as-needed.patch b/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/as-needed.patch deleted file mode 100644 index 378e3e405..000000000 --- a/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/as-needed.patch +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | From c65f1ae3472cfd4cd96fd376b7bbd95fba5eef0a Mon Sep 17 00:00:00 2001 | ||
2 | From: Vincent Untz <vuntz@gnome.org> | ||
3 | Date: Fri, 27 May 2011 17:00:14 +0000 | ||
4 | Subject: build: Fix build with --as-needed | ||
5 | |||
6 | upstream-status: backport | ||
7 | |||
8 | --- | ||
9 | diff --git a/applets/notification_area/Makefile.am b/applets/notification_area/Makefile.am | ||
10 | index 0afc6c5..9734536 100644 | ||
11 | --- a/applets/notification_area/Makefile.am | ||
12 | +++ b/applets/notification_area/Makefile.am | ||
13 | @@ -29,17 +29,17 @@ libtray_la_SOURCES = \ | ||
14 | NOTIFICATION_AREA_SOURCES = main.c main.h | ||
15 | |||
16 | NOTIFICATION_AREA_LDADD = \ | ||
17 | + libtray.la \ | ||
18 | ../../libpanel-applet/libpanel-applet-4.la \ | ||
19 | $(X_LIBS) \ | ||
20 | $(NOTIFICATION_AREA_LIBS) \ | ||
21 | - $(LIBPANEL_APPLET_LIBS) \ | ||
22 | - libtray.la | ||
23 | + $(LIBPANEL_APPLET_LIBS) | ||
24 | |||
25 | testtray_SOURCES = testtray.c | ||
26 | testtray_LDADD = \ | ||
27 | + libtray.la \ | ||
28 | $(X_LIBS) \ | ||
29 | - $(NOTIFICATION_AREA_LIBS) \ | ||
30 | - libtray.la | ||
31 | + $(NOTIFICATION_AREA_LIBS) | ||
32 | |||
33 | if NOTIFICATION_AREA_INPROCESS | ||
34 | APPLET_IN_PROCESS = true | ||
35 | -- | ||
36 | cgit v0.9 | ||
diff --git a/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/idl-sysroot.patch b/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/idl-sysroot.patch deleted file mode 100644 index de4cd8486..000000000 --- a/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/idl-sysroot.patch +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | --- /tmp/Makefile.am 2009-10-26 16:53:20.000000000 +0100 | ||
2 | +++ gnome-panel-2.28.0/gnome-panel/Makefile.am 2009-10-26 16:53:51.000000000 +0100 | ||
3 | @@ -43,7 +43,7 @@ | ||
4 | $(NULL) | ||
5 | |||
6 | $(CORBA_SRCLIST): $(top_srcdir)/idl/GNOME_Panel.idl $(ORBIT_IDL) | ||
7 | - $(AM_V_GEN)$(ORBIT_IDL) -I $(BONOBO_IDLDIR) -I $(BONOBO_ACT_IDLDIR) $(top_srcdir)/idl/GNOME_Panel.idl | ||
8 | + $(AM_V_GEN)$(ORBIT_IDL) -I $(SYSROOT)$(BONOBO_IDLDIR) -I $(SYSROOT)$(BONOBO_ACT_IDLDIR) $(top_srcdir)/idl/GNOME_Panel.idl | ||
9 | |||
10 | BUILT_SOURCES = \ | ||
11 | $(CORBA_SRCLIST) \ | ||
12 | --- /tmp/Makefile.am 2009-10-26 16:54:17.000000000 +0100 | ||
13 | +++ gnome-panel-2.28.0/libpanel-applet/Makefile.am 2009-10-26 16:54:34.000000000 +0100 | ||
14 | @@ -45,7 +45,7 @@ | ||
15 | GNOME_Panel.h | ||
16 | |||
17 | $(CORBA_SRCLIST): $(top_srcdir)/idl/GNOME_Panel.idl $(ORBIT_IDL) | ||
18 | - $(AM_V_GEN)$(ORBIT_IDL) -I $(BONOBO_IDLDIR) -I $(BONOBO_ACT_IDLDIR) $(top_srcdir)/idl/GNOME_Panel.idl | ||
19 | + $(AM_V_GEN)$(ORBIT_IDL) -I $(SYSROOT)$(BONOBO_IDLDIR) -I $(SYSROOT)$(BONOBO_ACT_IDLDIR) $(top_srcdir)/idl/GNOME_Panel.idl | ||
20 | |||
21 | noinst_PROGRAMS = test-bonobo-applet | ||
22 | |||
diff --git a/meta-gnome/recipes-gnome/gnome-panel/gnome-panel3_3.0.2.bb b/meta-gnome/recipes-gnome/gnome-panel/gnome-panel3_3.0.2.bb deleted file mode 100644 index d1cfab8fb..000000000 --- a/meta-gnome/recipes-gnome/gnome-panel/gnome-panel3_3.0.2.bb +++ /dev/null | |||
@@ -1,51 +0,0 @@ | |||
1 | SUMMARY = "GNOME panel" | ||
2 | LICENSE = "GPLv2 & LGPLv2 & GFDL-1.1" | ||
3 | |||
4 | BPN = "gnome-panel" | ||
5 | PR = "r1" | ||
6 | |||
7 | PNBLACKLIST[gnome-panel3] ?= "CONFLICT: depends on libgweather3 which conflicts with libgweather - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
8 | |||
9 | # conflicts with gnome-panel, because they provide the same package | ||
10 | # http://patches.openembedded.org/patch/43105/ | ||
11 | EXCLUDE_FROM_WORLD = "1" | ||
12 | DEFAULT_PREFERENCE = "-1" | ||
13 | |||
14 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | ||
15 | file://COPYING-DOCS;md5=c9211dab3ae61e580f48432020784324 \ | ||
16 | file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2" | ||
17 | |||
18 | SECTION = "x11/gnome" | ||
19 | |||
20 | DEPENDS = "gnome-doc-utils-native gtk+3 dconf gconf glib-2.0 gnome-desktop3 gtk+ pango libwnck3 gnome-menus cairo libgweather3 dbus-glib librsvg libcanberra" | ||
21 | |||
22 | inherit gtk-doc gnome gettext pkgconfig | ||
23 | |||
24 | SRC_URI += "file://as-needed.patch " | ||
25 | |||
26 | SRC_URI[archive.md5sum] = "0f2f644dc4081b72f6df7a65282af7c6" | ||
27 | SRC_URI[archive.sha256sum] = "25db8ec026c4bf47f0ef5cc7e2712f2aad175bd7fb8e4952ef5f8b200f17f196" | ||
28 | |||
29 | EXTRA_OECONF = "--disable-scrollkeeper --disable-eds --enable-bonobo=no --with-in-process-applets=none" | ||
30 | |||
31 | do_configure_prepend() { | ||
32 | gnome-doc-prepare --automake | ||
33 | sed -i -e s:help:: ${S}/Makefile.am | ||
34 | } | ||
35 | |||
36 | pkg_postinst_${PN}_append () { | ||
37 | gconftool-2 --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults \ | ||
38 | --direct --load /etc/gconf/schemas/panel-default-setup.entries | ||
39 | } | ||
40 | |||
41 | PACKAGES =+ "libpanel-applet" | ||
42 | FILES_libpanel-applet = "${libdir}/libpanel-applet-3.so.*" | ||
43 | |||
44 | FILES_${PN} =+ "${datadir}/gnome* \ | ||
45 | ${datadir}/dbus-1 \ | ||
46 | ${datadir}/icons \ | ||
47 | ${datadir}/PolicyKit \ | ||
48 | ${libdir}/bonobo \ | ||
49 | " | ||
50 | |||
51 | PNBLACKLIST[gnome-panel3] ?= "Depends on broken gnome-menus - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_2.32.1.bb b/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_2.32.1.bb deleted file mode 100644 index 7cb8b9ddf..000000000 --- a/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_2.32.1.bb +++ /dev/null | |||
@@ -1,48 +0,0 @@ | |||
1 | SUMMARY = "GNOME panel" | ||
2 | LICENSE = "GPL-2.0 & LGPL-2.0 & GFDL-1.1" | ||
3 | |||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | ||
5 | file://COPYING-DOCS;md5=c9211dab3ae61e580f48432020784324 \ | ||
6 | file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2" | ||
7 | |||
8 | SECTION = "x11/gnome" | ||
9 | |||
10 | PR = "r7" | ||
11 | |||
12 | DEPENDS = "gnome-doc-utils gconf glib-2.0 gnome-desktop gtk+ \ | ||
13 | pango libwnck gnome-menus cairo libgweather dbus dbus-glib \ | ||
14 | librsvg libcanberra \ | ||
15 | " | ||
16 | RDEPENDS_${PN} = "python" | ||
17 | |||
18 | inherit gtk-doc gnome autotools-brokensep gettext pkgconfig gconf gobject-introspection | ||
19 | |||
20 | SRCREV = "8292bd2b8a36df7eed3c760899400790cde68590" | ||
21 | SRC_URI = "git://git.gnome.org/gnome-panel;branch=gnome-2-32 \ | ||
22 | file://0001-Fix-build-with-gcc-5.patch \ | ||
23 | file://0001-Add-gnome-doc-utils.make.patch \ | ||
24 | " | ||
25 | |||
26 | S = "${WORKDIR}/git" | ||
27 | |||
28 | EXTRA_OECONF = "--disable-scrollkeeper --disable-eds --enable-bonobo=no --with-in-process-applets=none" | ||
29 | |||
30 | PACKAGECONFIG ??= "" | ||
31 | PACKAGECONFIG[networkmanager] = "--enable-network-manager,--disable-network-manager,networkmanager" | ||
32 | |||
33 | do_configure_prepend() { | ||
34 | sed -i -e s:help:: ${S}/Makefile.am | ||
35 | sed -i -e s:^#!@PYTHON@:#!/usr/bin/python: ${S}/gnome-panel/gnome-panel-add.in | ||
36 | } | ||
37 | |||
38 | PACKAGES =+ "libpanel-applet" | ||
39 | FILES_libpanel-applet = "${libdir}/libpanel-applet-*.so.*" | ||
40 | |||
41 | FILES_${PN} =+ "${datadir}/gnome* \ | ||
42 | ${datadir}/dbus-1 \ | ||
43 | ${datadir}/icons \ | ||
44 | ${datadir}/PolicyKit \ | ||
45 | ${libdir}/bonobo \ | ||
46 | " | ||
47 | |||
48 | PNBLACKLIST[gnome-panel] ?= "Depends on broken libgweather - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager-2.32.0/0001-Makefile.am-don-t-build-help-man.patch b/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager-2.32.0/0001-Makefile.am-don-t-build-help-man.patch deleted file mode 100644 index d6d49bbda..000000000 --- a/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager-2.32.0/0001-Makefile.am-don-t-build-help-man.patch +++ /dev/null | |||
@@ -1,37 +0,0 @@ | |||
1 | From 3ed15a3c6ae4ab94c7e3af306644bb5d7f3fd1fa Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Mon, 29 Apr 2013 13:08:10 +0200 | ||
4 | Subject: [PATCH] Makefile.am: don't build help/man | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | help crashes with: | ||
10 | |||
11 | | xsltproc -o gnome-power-manager-C.omf --stringparam db2omf.basename gnome-power-manager --stringparam db2omf.format 'docbook' --stringparam db2omf.dtd "-//OASIS//DTD DocBook XML V4.3//EN" --stringparam db2omf.lang C --stringparam db2omf.omf_dir "/usr/share/omf" --stringparam db2omf.help_dir "/usr/share/gnome/help" --stringparam db2omf.omf_in "/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/gnome-power-manager/2.32.0-r2/gnome-power-manager-2.32.0/help/gnome-power-manager.omf.in" /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm`/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/bin/pkg-config --variable db2omf gnome-doc-utils` C/gnome-power-manager.xml || { rm -f "gnome-power-manager-C.omf"; exit 1; } | ||
12 | | unable to parse fr/gnome-power-manager.xml | ||
13 | |||
14 | Upstream-Status: Inappropriate [configuration] | ||
15 | |||
16 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
17 | --- | ||
18 | Makefile.am | 2 -- | ||
19 | 1 files changed, 0 insertions(+), 2 deletions(-) | ||
20 | |||
21 | diff --git a/Makefile.am b/Makefile.am | ||
22 | index 005b8a0..5b9e318 100644 | ||
23 | --- a/Makefile.am | ||
24 | +++ b/Makefile.am | ||
25 | @@ -5,9 +5,7 @@ SUBDIRS = \ | ||
26 | src \ | ||
27 | po \ | ||
28 | docs \ | ||
29 | - man \ | ||
30 | data \ | ||
31 | - help \ | ||
32 | policy \ | ||
33 | tools | ||
34 | |||
35 | -- | ||
36 | 1.7.6.5 | ||
37 | |||
diff --git a/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager-2.32.0/sysrooted-pkg-config.patch b/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager-2.32.0/sysrooted-pkg-config.patch deleted file mode 100644 index f3db7ab6e..000000000 --- a/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager-2.32.0/sysrooted-pkg-config.patch +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | In cross environment we have to prepend the sysroot to the path found by | ||
2 | pkgconfig since the path returned from pkgconfig does not have sysroot prefixed | ||
3 | it ends up using the files from host system. Now usually people have gnome installed | ||
4 | so the build succeeds but if you dont have gnome installed on build host then | ||
5 | it wont find the files on host system and packages using gnome-doc-utils wont | ||
6 | compile. | ||
7 | |||
8 | This should work ok with non sysrooted builds too since in those cases PKG_CONFIG_SYSROOT_DIR | ||
9 | will be empty | ||
10 | |||
11 | Upstream-Status: Pending | ||
12 | |||
13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
14 | |||
15 | Index: gnome-power-manager-2.32.0/gnome-doc-utils.make | ||
16 | =================================================================== | ||
17 | --- gnome-power-manager-2.32.0.orig/gnome-doc-utils.make 2010-01-27 08:28:31.000000000 -0800 | ||
18 | +++ gnome-power-manager-2.32.0/gnome-doc-utils.make 2011-09-25 16:16:04.914813800 -0700 | ||
19 | @@ -124,11 +124,11 @@ | ||
20 | |||
21 | _xml2po ?= `which xml2po` | ||
22 | |||
23 | -_db2html ?= `$(PKG_CONFIG) --variable db2html gnome-doc-utils` | ||
24 | -_db2omf ?= `$(PKG_CONFIG) --variable db2omf gnome-doc-utils` | ||
25 | -_chunks ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl | ||
26 | -_credits ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl | ||
27 | -_ids ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/ids.xsl | ||
28 | +_db2html ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable db2html gnome-doc-utils` | ||
29 | +_db2omf ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable db2omf gnome-doc-utils` | ||
30 | +_chunks ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl | ||
31 | +_credits ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl | ||
32 | +_ids ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/ids.xsl | ||
33 | |||
34 | if ENABLE_SK | ||
35 | _ENABLE_SK = true | ||
diff --git a/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager_2.32.0.bb b/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager_2.32.0.bb deleted file mode 100644 index ec2110785..000000000 --- a/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager_2.32.0.bb +++ /dev/null | |||
@@ -1,54 +0,0 @@ | |||
1 | SUMMARY = "Power management daemon" | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
4 | |||
5 | PR = "r4" | ||
6 | |||
7 | DEPENDS = "glib-2.0 gtk+ gconf libgnome-keyring dbus dbus-glib libnotify libwnck cairo libunique xrandr virtual/libx11 libxrender libcanberra upower gnome-doc-utils" | ||
8 | RRECOMMENDS_${PN} += "gnome-keyring" | ||
9 | |||
10 | inherit gnome | ||
11 | |||
12 | SRC_URI += " \ | ||
13 | file://sysrooted-pkg-config.patch \ | ||
14 | file://0001-Makefile.am-don-t-build-help-man.patch \ | ||
15 | " | ||
16 | |||
17 | SRC_URI[archive.md5sum] = "9a08e85dce3ffb90775f15e3bda4adda" | ||
18 | SRC_URI[archive.sha256sum] = "17fa301bf7e133285c0e054ae3be2b0f690c48f59b09f67e04d6ed339b330476" | ||
19 | GNOME_COMPRESS_TYPE="bz2" | ||
20 | |||
21 | EXTRA_OECONF = " --disable-scrollkeeper \ | ||
22 | --disable-applets \ | ||
23 | --x-includes=${STAGING_INCDIR} \ | ||
24 | --x-libraries=${STAGING_LIBDIR} \ | ||
25 | --enable-compile-warnings=no \ | ||
26 | ac_cv_header_X11_extensions_dpms_h=yes \ | ||
27 | " | ||
28 | |||
29 | do_configure_append() { | ||
30 | # Sigh... --enable-compile-warnings=no doesn't actually turn off -Werror | ||
31 | for i in $(find ${B} -name "Makefile") ; do | ||
32 | sed -i -e s:-Werror::g $i | ||
33 | done | ||
34 | sed -e "s/libtool --/${TARGET_SYS}-libtool --/" -i ${B}/src/Makefile | ||
35 | } | ||
36 | |||
37 | PACKAGES =+ "${PN}-applets" | ||
38 | |||
39 | FILES_${PN}-applets = "${bindir}/*applet* \ | ||
40 | ${libdir}/bonobo/servers \ | ||
41 | ${datadir}/gnome-2.0/ui \ | ||
42 | " | ||
43 | |||
44 | FILES_${PN} += "${datadir}/icons \ | ||
45 | ${datadir}/dbus-1 \ | ||
46 | ${datadir}/gnome/autostart \ | ||
47 | " | ||
48 | |||
49 | FILES_${PN}-doc += "${datadir}/omf \ | ||
50 | ${datadir}/gnome/help \ | ||
51 | " | ||
52 | |||
53 | # gnome-power-manager-2.32.0/src/gpm-manager.c:488:18: error: too many arguments to function 'notify_notification_new' | ||
54 | PNBLACKLIST[gnome-power-manager] ?= "BROKEN: not compatible with current libnotify - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/gnome-session/gnome-session/use_G_GINT64_FORMAT.patch b/meta-gnome/recipes-gnome/gnome-session/gnome-session/use_G_GINT64_FORMAT.patch deleted file mode 100644 index b09f8d200..000000000 --- a/meta-gnome/recipes-gnome/gnome-session/gnome-session/use_G_GINT64_FORMAT.patch +++ /dev/null | |||
@@ -1,61 +0,0 @@ | |||
1 | This patch fixes the build errors when building gnome-session for 64bit target using gcc 4.8 | ||
2 | |||
3 | | gs-idle-monitor.c: In function 'handle_alarm_notify_event': | ||
4 | | gs-idle-monitor.c:196:9: error: format '%lld' expects argument of type 'long long int', but argument 5 has type 'gint64' [-Werror=format=] | ||
5 | | g_debug ("Watch %d fired, idle time = %lld", | ||
6 | | ^ | ||
7 | | gs-idle-monitor.c: In function '_xsync_alarm_set': | ||
8 | | gs-idle-monitor.c:453:17: error: format '%lld' expects argument of type 'long long int', but argument 4 has type 'gint64' [-Werror=format=] | ||
9 | | g_debug ("GSIdleMonitor: updating alarm for positive transition wait=%lld", | ||
10 | | ^ | ||
11 | | gs-idle-monitor.c:457:17: error: format '%lld' expects argument of type 'long long int', but argument 4 has type 'gint64' [-Werror=format=] | ||
12 | | g_debug ("GSIdleMonitor: creating new alarm for positive transition wait=%lld", | ||
13 | | ^ | ||
14 | | gs-idle-monitor.c:464:17: error: format '%lld' expects argument of type 'long long int', but argument 4 has type 'gint64' [-Werror=format=] | ||
15 | | g_debug ("GSIdleMonitor: updating alarm for negative transition wait=%lld", | ||
16 | | ^ | ||
17 | | gs-idle-monitor.c:468:17: error: format '%lld' expects argument of type 'long long int', but argument 4 has type 'gint64' [-Werror=format=] | ||
18 | |||
19 | Upstream-Status: Unknown | ||
20 | |||
21 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
22 | Index: gnome-session-2.32.1/gnome-session/gs-idle-monitor.c | ||
23 | =================================================================== | ||
24 | --- gnome-session-2.32.1.orig/gnome-session/gs-idle-monitor.c 2010-11-17 03:17:04.000000000 -0800 | ||
25 | +++ gnome-session-2.32.1/gnome-session/gs-idle-monitor.c 2013-06-11 23:33:12.239960082 -0700 | ||
26 | @@ -193,7 +193,7 @@ | ||
27 | return; | ||
28 | } | ||
29 | |||
30 | - g_debug ("Watch %d fired, idle time = %lld", | ||
31 | + g_debug ("Watch %d fired, idle time = %" G_GINT64_FORMAT "", | ||
32 | watch->id, | ||
33 | _xsyncvalue_to_int64 (alarm_event->counter_value)); | ||
34 | |||
35 | @@ -450,22 +450,22 @@ | ||
36 | |||
37 | attr.trigger.test_type = XSyncPositiveTransition; | ||
38 | if (watch->xalarm_positive != None) { | ||
39 | - g_debug ("GSIdleMonitor: updating alarm for positive transition wait=%lld", | ||
40 | + g_debug ("GSIdleMonitor: updating alarm for positive transition wait=%" G_GINT64_FORMAT "", | ||
41 | _xsyncvalue_to_int64 (attr.trigger.wait_value)); | ||
42 | XSyncChangeAlarm (GDK_DISPLAY (), watch->xalarm_positive, flags, &attr); | ||
43 | } else { | ||
44 | - g_debug ("GSIdleMonitor: creating new alarm for positive transition wait=%lld", | ||
45 | + g_debug ("GSIdleMonitor: creating new alarm for positive transition wait=%" G_GINT64_FORMAT "", | ||
46 | _xsyncvalue_to_int64 (attr.trigger.wait_value)); | ||
47 | watch->xalarm_positive = XSyncCreateAlarm (GDK_DISPLAY (), flags, &attr); | ||
48 | } | ||
49 | |||
50 | attr.trigger.test_type = XSyncNegativeTransition; | ||
51 | if (watch->xalarm_negative != None) { | ||
52 | - g_debug ("GSIdleMonitor: updating alarm for negative transition wait=%lld", | ||
53 | + g_debug ("GSIdleMonitor: updating alarm for negative transition wait=%" G_GINT64_FORMAT "", | ||
54 | _xsyncvalue_to_int64 (attr.trigger.wait_value)); | ||
55 | XSyncChangeAlarm (GDK_DISPLAY (), watch->xalarm_negative, flags, &attr); | ||
56 | } else { | ||
57 | - g_debug ("GSIdleMonitor: creating new alarm for negative transition wait=%lld", | ||
58 | + g_debug ("GSIdleMonitor: creating new alarm for negative transition wait=%" G_GINT64_FORMAT "", | ||
59 | _xsyncvalue_to_int64 (attr.trigger.wait_value)); | ||
60 | watch->xalarm_negative = XSyncCreateAlarm (GDK_DISPLAY (), flags, &attr); | ||
61 | } | ||
diff --git a/meta-gnome/recipes-gnome/gnome-session/gnome-session_2.32.1.bb b/meta-gnome/recipes-gnome/gnome-session/gnome-session_2.32.1.bb deleted file mode 100644 index c49f2d3fb..000000000 --- a/meta-gnome/recipes-gnome/gnome-session/gnome-session_2.32.1.bb +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | SUMMARY = "Gnome session manager" | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" | ||
4 | |||
5 | PR = "r3" | ||
6 | |||
7 | SECTION = "x11/gnome" | ||
8 | DEPENDS = "libxtst gtk+ glib-2.0 upower dbus-glib gconf pango gdk-pixbuf-native startup-notification" | ||
9 | |||
10 | inherit gnome | ||
11 | |||
12 | SRC_URI += "file://use_G_GINT64_FORMAT.patch" | ||
13 | |||
14 | SRC_URI[archive.md5sum] = "222bad6b446cb19a6b9028ea24538002" | ||
15 | SRC_URI[archive.sha256sum] = "22d93ce433fcf9c7ce6b5f36dd81f64e692ea0e41faaa0f61159ddac28c3686a" | ||
16 | GNOME_COMPRESS_TYPE="bz2" | ||
17 | |||
18 | EXTRA_OECONF = " --with-gtk=2.0 ac_cv_path_GCONF_SANITY_CHECK=set --disable-docbook-docs" | ||
19 | |||
20 | do_configure_append() { | ||
21 | for i in $(find ${S} -name "Makefile") ; do | ||
22 | sed -i -e s:"GCONFTOOL = .*/usr/bin/gconftool-2":"GCONFTOOL = /usr/bin/gconftool-2":g $i | ||
23 | sed -i -e s:"GCONF_SANITY_CHECK = set":"GCONF_SANITY_CHECK = /usr/libexec/gconf-sanity-check-2":g $i | ||
24 | done | ||
25 | } | ||
26 | |||
27 | RRECOMMENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-ck-connector', '', d)}" | ||
28 | FILES_${PN} += "${datadir}/xsessions ${datadir}/icons ${datadir}/gnome ${libdir}/gnome-session/helpers" | ||
29 | FILES_${PN}-dbg += "${libexecdir}/gnome-session/helpers/.debug" | ||
30 | |||
31 | # http://errors.yoctoproject.org/Errors/Details/68621/ | ||
32 | PNBLACKLIST[gnome-session] ?= "BROKEN: fails to build with gcc-6 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/gnome-settings-daemon/files/0001-Require-libnotify-0.6.0.patch b/meta-gnome/recipes-gnome/gnome-settings-daemon/files/0001-Require-libnotify-0.6.0.patch deleted file mode 100644 index 6dd33f351..000000000 --- a/meta-gnome/recipes-gnome/gnome-settings-daemon/files/0001-Require-libnotify-0.6.0.patch +++ /dev/null | |||
@@ -1,81 +0,0 @@ | |||
1 | From e1ab570b0dce479ba235e5542ea07d1b5bafc4c9 Mon Sep 17 00:00:00 2001 | ||
2 | From: William Jon McCann <jmccann@redhat.com> | ||
3 | Date: Mon, 11 Oct 2010 23:35:45 -0400 | ||
4 | Subject: [PATCH] Require libnotify 0.6.0 | ||
5 | |||
6 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
7 | |||
8 | Upstream-Status: Backport | ||
9 | |||
10 | --- | ||
11 | configure.ac | 2 +- | ||
12 | plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c | 8 ++------ | ||
13 | plugins/xrandr/gsd-xrandr-manager.c | 13 +++---------- | ||
14 | 3 files changed, 6 insertions(+), 17 deletions(-) | ||
15 | |||
16 | diff --git a/configure.ac b/configure.ac | ||
17 | index 8a90053..8624b2a 100644 | ||
18 | --- a/configure.ac | ||
19 | +++ b/configure.ac | ||
20 | @@ -54,7 +54,7 @@ GTK_REQUIRED_VERSION=2.91.0 | ||
21 | GCONF_REQUIRED_VERSION=2.6.1 | ||
22 | GIO_REQUIRED_VERSION=2.17.3 | ||
23 | GNOME_DESKTOP_REQUIRED_VERSION=2.29.92 | ||
24 | -LIBNOTIFY_REQUIRED_VERSION=0.4.3 | ||
25 | +LIBNOTIFY_REQUIRED_VERSION=0.6.1 | ||
26 | |||
27 | EXTRA_COMPILE_WARNINGS(yes) | ||
28 | |||
29 | diff --git a/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c b/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c | ||
30 | index 9ca820a..f5964b9 100644 | ||
31 | --- a/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c | ||
32 | +++ b/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c | ||
33 | @@ -608,9 +608,7 @@ ax_slowkeys_warning_post_bubble (GsdA11yKeyboardManager *manager, | ||
34 | gsd_a11y_keyboard_manager_ensure_status_icon (manager); | ||
35 | manager->priv->notification = notify_notification_new (title, | ||
36 | message, | ||
37 | - "preferences-desktop-accessibility", | ||
38 | - NULL); | ||
39 | - notify_notification_attach_to_status_icon (manager->priv->notification, manager->priv->status_icon); | ||
40 | + "preferences-desktop-accessibility"); | ||
41 | notify_notification_set_timeout (manager->priv->notification, NOTIFICATION_TIMEOUT * 1000); | ||
42 | |||
43 | notify_notification_add_action (manager->priv->notification, | ||
44 | @@ -747,9 +745,7 @@ ax_stickykeys_warning_post_bubble (GsdA11yKeyboardManager *manager, | ||
45 | gsd_a11y_keyboard_manager_ensure_status_icon (manager); | ||
46 | manager->priv->notification = notify_notification_new (title, | ||
47 | message, | ||
48 | - "preferences-desktop-accessibility", | ||
49 | - NULL); | ||
50 | - notify_notification_attach_to_status_icon (manager->priv->notification, manager->priv->status_icon); | ||
51 | + "preferences-desktop-accessibility"); | ||
52 | notify_notification_set_timeout (manager->priv->notification, NOTIFICATION_TIMEOUT * 1000); | ||
53 | |||
54 | notify_notification_add_action (manager->priv->notification, | ||
55 | diff --git a/plugins/xrandr/gsd-xrandr-manager.c b/plugins/xrandr/gsd-xrandr-manager.c | ||
56 | index 02536a3..ef57d5b 100644 | ||
57 | --- a/plugins/xrandr/gsd-xrandr-manager.c | ||
58 | +++ b/plugins/xrandr/gsd-xrandr-manager.c | ||
59 | @@ -1084,16 +1084,9 @@ error_message (GsdXrandrManager *mgr, const char *primary_text, GError *error_to | ||
60 | |||
61 | g_assert (error_to_display == NULL || secondary_text == NULL); | ||
62 | |||
63 | - if (priv->status_icon) | ||
64 | - notification = notify_notification_new_with_status_icon (primary_text, | ||
65 | - error_to_display ? error_to_display->message : secondary_text, | ||
66 | - GSD_XRANDR_ICON_NAME, | ||
67 | - priv->status_icon); | ||
68 | - else | ||
69 | - notification = notify_notification_new (primary_text, | ||
70 | - error_to_display ? error_to_display->message : secondary_text, | ||
71 | - GSD_XRANDR_ICON_NAME, | ||
72 | - NULL); | ||
73 | + notification = notify_notification_new (primary_text, | ||
74 | + error_to_display ? error_to_display->message : secondary_text, | ||
75 | + GSD_XRANDR_ICON_NAME); | ||
76 | |||
77 | notify_notification_show (notification, NULL); /* NULL-GError */ | ||
78 | #else | ||
79 | -- | ||
80 | 2.1.0 | ||
81 | |||
diff --git a/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb b/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb deleted file mode 100644 index 9a1897240..000000000 --- a/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | SUMMARY = "GNOME settings daemon" | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" | ||
4 | |||
5 | PR = "r7" | ||
6 | |||
7 | DEPENDS = "intltool libxxf86misc libsndfile1 libxtst glib-2.0 polkit gtk+ gconf dbus-glib libnotify libgnomekbd libxklavier gnome-doc-utils gnome-desktop" | ||
8 | |||
9 | inherit gnome | ||
10 | |||
11 | SRC_URI = " \ | ||
12 | git://git.gnome.org/gnome-settings-daemon;branch=gnome-2-32 \ | ||
13 | file://0001-Require-libnotify-0.6.0.patch \ | ||
14 | " | ||
15 | SRCREV = "0160f6725cfb872e017f3958f108792c3b882872" | ||
16 | |||
17 | S = "${WORKDIR}/git" | ||
18 | |||
19 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}" | ||
20 | PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio glib-2.0 libcanberra" | ||
21 | PACKAGECONFIG[smartcard] = "--enable-smartcard-support,--disable-smartcard-support,nss" | ||
22 | |||
23 | EXTRA_OECONF = " \ | ||
24 | --x-includes=${STAGING_INCDIR} \ | ||
25 | --x-libraries=${STAGING_LIBDIR} \ | ||
26 | --enable-polkit \ | ||
27 | " | ||
28 | |||
29 | do_configure_prepend() { | ||
30 | sed -i -e 's:-L$libdir::g' -e 's:-I$includedir::g' ${S}/configure.ac | ||
31 | } | ||
32 | |||
33 | FILES_${PN} += "${libdir}/gnome-settings-daemon-2.0/*.so ${libdir}/gnome-settings-daemon-2.0/*plugin \ | ||
34 | ${datadir}/dbus-1/ \ | ||
35 | ${datadir}/icon* \ | ||
36 | ${datadir}/gnome-control-center \ | ||
37 | ${datadir}/xsession*" | ||
38 | |||
39 | FILES_${PN}-dbg += "${libdir}/gnome-settings-daemon-2.0/.debug" | ||
40 | FILES_${PN}-dev += "${libdir}/gnome-settings-daemon-2.0/*.la" | ||
41 | FILES_${PN}-staticdev += "${libdir}/gnome-settings-daemon-2.0/*.a" | ||
42 | |||
43 | PNBLACKLIST[gnome-settings-daemon] ?= "Depends on blacklisted gnome-desktop - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/gnome-system-monitor/files/0001-Fix-glib-includes.patch b/meta-gnome/recipes-gnome/gnome-system-monitor/files/0001-Fix-glib-includes.patch deleted file mode 100644 index ace1b0076..000000000 --- a/meta-gnome/recipes-gnome/gnome-system-monitor/files/0001-Fix-glib-includes.patch +++ /dev/null | |||
@@ -1,101 +0,0 @@ | |||
1 | From 8587e35af52f7773f62361be2e72ddf286a59185 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Tue, 15 May 2012 13:02:02 +0200 | ||
4 | Subject: [PATCH] Fix glib includes | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | Upstream-Status: unknown | ||
9 | |||
10 | |||
11 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
12 | --- | ||
13 | src/interface.h | 2 +- | ||
14 | src/load-graph.h | 2 +- | ||
15 | src/lsof.h | 2 +- | ||
16 | src/openfiles.h | 2 +- | ||
17 | src/procman_gnomesu.h | 2 +- | ||
18 | src/util.cpp | 2 +- | ||
19 | 6 files changed, 6 insertions(+), 6 deletions(-) | ||
20 | |||
21 | diff --git a/src/interface.h b/src/interface.h | ||
22 | index 4bda35a..b26b670 100644 | ||
23 | --- a/src/interface.h | ||
24 | +++ b/src/interface.h | ||
25 | @@ -20,7 +20,7 @@ | ||
26 | #ifndef _PROCMAN_INTERFACE_H_ | ||
27 | #define _PROCMAN_INTERFACE_H_ | ||
28 | |||
29 | -#include <glib/gtypes.h> | ||
30 | +#include <glib.h> | ||
31 | #include <gtk/gtk.h> | ||
32 | #include "procman.h" | ||
33 | |||
34 | diff --git a/src/load-graph.h b/src/load-graph.h | ||
35 | index 6111c78..6e7a599 100644 | ||
36 | --- a/src/load-graph.h | ||
37 | +++ b/src/load-graph.h | ||
38 | @@ -1,7 +1,7 @@ | ||
39 | #ifndef _PROCMAN_LOAD_GRAPH_H_ | ||
40 | #define _PROCMAN_LOAD_GRAPH_H_ | ||
41 | |||
42 | -#include <glib/gtypes.h> | ||
43 | +#include <glib.h> | ||
44 | #include <glibtop/cpu.h> | ||
45 | |||
46 | enum | ||
47 | diff --git a/src/lsof.h b/src/lsof.h | ||
48 | index ad7f111..da420e2 100644 | ||
49 | --- a/src/lsof.h | ||
50 | +++ b/src/lsof.h | ||
51 | @@ -1,7 +1,7 @@ | ||
52 | #ifndef H_PROCMAN_LSOF_1161179202 | ||
53 | #define H_PROCMAN_LSOF_1161179202 | ||
54 | |||
55 | -#include <glib/gmacros.h> | ||
56 | +#include <glib.h> | ||
57 | #include "procman.h" | ||
58 | |||
59 | void procman_lsof(ProcData *data); | ||
60 | diff --git a/src/openfiles.h b/src/openfiles.h | ||
61 | index 38b1cc8..a8b7b05 100644 | ||
62 | --- a/src/openfiles.h | ||
63 | +++ b/src/openfiles.h | ||
64 | @@ -1,7 +1,7 @@ | ||
65 | #ifndef _OPENFILES_H_ | ||
66 | #define _OPENFILES_H_ | ||
67 | |||
68 | -#include <glib/gtypes.h> | ||
69 | +#include <glib.h> | ||
70 | |||
71 | #include "procman.h" | ||
72 | |||
73 | diff --git a/src/procman_gnomesu.h b/src/procman_gnomesu.h | ||
74 | index fec2650..474ca9a 100644 | ||
75 | --- a/src/procman_gnomesu.h | ||
76 | +++ b/src/procman_gnomesu.h | ||
77 | @@ -1,7 +1,7 @@ | ||
78 | #ifndef H_GNOME_SYSTEM_MONITOR_GNOMESU_H_1132171917 | ||
79 | #define H_GNOME_SYSTEM_MONITOR_GNOMESU_H_1132171917 | ||
80 | |||
81 | -#include <glib/gtypes.h> | ||
82 | +#include <glib.h> | ||
83 | |||
84 | gboolean | ||
85 | procman_gnomesu_create_root_password_dialog(const char * message); | ||
86 | diff --git a/src/util.cpp b/src/util.cpp | ||
87 | index 9b1c9f5..90073fe 100644 | ||
88 | --- a/src/util.cpp | ||
89 | +++ b/src/util.cpp | ||
90 | @@ -1,7 +1,7 @@ | ||
91 | #include <config.h> | ||
92 | |||
93 | #include <glib/gi18n.h> | ||
94 | -#include <glib/gstring.h> | ||
95 | +#include <glib.h> | ||
96 | #include <gtk/gtk.h> | ||
97 | |||
98 | #include <glibtop/proctime.h> | ||
99 | -- | ||
100 | 1.7.6.5 | ||
101 | |||
diff --git a/meta-gnome/recipes-gnome/gnome-system-monitor/files/0002-src-procman.cpp-include-main-gtkmm.h.patch b/meta-gnome/recipes-gnome/gnome-system-monitor/files/0002-src-procman.cpp-include-main-gtkmm.h.patch deleted file mode 100644 index 7b6728102..000000000 --- a/meta-gnome/recipes-gnome/gnome-system-monitor/files/0002-src-procman.cpp-include-main-gtkmm.h.patch +++ /dev/null | |||
@@ -1,49 +0,0 @@ | |||
1 | From acff719983aa1294148dc4a367c48957f5510eff Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Fri, 17 May 2013 18:25:56 +0200 | ||
4 | Subject: [PATCH] src/procman.cpp: include main gtkmm.h | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | after update of gtkmm build failed with: | ||
10 | |||
11 | In file included from /home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gtkmm-2.4/gtkmm/main.h:33:0, | ||
12 | from procman.cpp:26: | ||
13 | /home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gdkmm-2.4/gdkmm/types.h:92:7: error: 'Value' is not a template | ||
14 | /home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gdkmm-2.4/gdkmm/types.h:92:54: error: expected template-name before '<' token | ||
15 | /home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gdkmm-2.4/gdkmm/types.h:92:54: error: expected '{' before '<' token | ||
16 | /home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gdkmm-2.4/gdkmm/types.h:92:54: error: expected unqualified-id before '<' token | ||
17 | /home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gdkmm-2.4/gdkmm/types.h:174:7: error: 'Value' is not a template | ||
18 | /home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gdkmm-2.4/gdkmm/types.h:174:30: error: 'Glib::Value' is not a template type | ||
19 | /home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gdkmm-2.4/gdkmm/types.h:174:58: error: expected template-name before '<' token | ||
20 | /home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gdkmm-2.4/gdkmm/types.h:207:7: error: 'Value' is not a template | ||
21 | /home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gdkmm-2.4/gdkmm/types.h:207:24: error: 'Glib::Value' is not a template type | ||
22 | /home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gdkmm-2.4/gdkmm/types.h:207:51: error: expected template-name before '<' token | ||
23 | /home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gdkmm-2.4/gdkmm/types.h:274:7: error: 'Value' is not a template | ||
24 | /home/Superandy/tmp/oe-core-eglibc/sysroots/overo/usr/include/gdkmm-2.4/gdkmm/types.h:274:32: error: 'Glib::Value' is not a template type | ||
25 | <...> | ||
26 | |||
27 | Upstream-Status: Backport | ||
28 | |||
29 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
30 | --- | ||
31 | src/procman.cpp | 2 +- | ||
32 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
33 | |||
34 | diff --git a/src/procman.cpp b/src/procman.cpp | ||
35 | index b5c0d0a..d9b4b3f 100644 | ||
36 | --- a/src/procman.cpp | ||
37 | +++ b/src/procman.cpp | ||
38 | @@ -23,7 +23,7 @@ | ||
39 | |||
40 | #include <locale.h> | ||
41 | |||
42 | -#include <gtkmm/main.h> | ||
43 | +#include <gtkmm.h> | ||
44 | #include <giomm/volumemonitor.h> | ||
45 | #include <giomm/init.h> | ||
46 | #include <glib.h> | ||
47 | -- | ||
48 | 1.7.4.4 | ||
49 | |||
diff --git a/meta-gnome/recipes-gnome/gnome-system-monitor/files/Remove-pkg-config-check-for-gnome-icon-theme.patch b/meta-gnome/recipes-gnome/gnome-system-monitor/files/Remove-pkg-config-check-for-gnome-icon-theme.patch deleted file mode 100644 index 3c5169e78..000000000 --- a/meta-gnome/recipes-gnome/gnome-system-monitor/files/Remove-pkg-config-check-for-gnome-icon-theme.patch +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | From 36fd2aa23e712f05f0cce4a1be3453fcf405d026 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jussi Kukkonen <jussi.kukkonen@intel.com> | ||
3 | Date: Tue, 15 Sep 2015 16:28:18 +0300 | ||
4 | Subject: [PATCH] Remove pkg-config check for gnome-icon-theme | ||
5 | |||
6 | Theme is not required for building, and the icons are provided by | ||
7 | adwaita-icon-theme anyway | ||
8 | |||
9 | Upstream-Status: Inappropriate [Fixed in current versions] | ||
10 | Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> | ||
11 | --- | ||
12 | configure.in | 2 +- | ||
13 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
14 | |||
15 | diff --git a/configure.in b/configure.in | ||
16 | index 3600823..42262f2 100644 | ||
17 | --- a/configure.in | ||
18 | +++ b/configure.in | ||
19 | @@ -37,7 +37,7 @@ LIBXML_REQUIRED=2.0 | ||
20 | RSVG_REQUIRED=2.12 | ||
21 | DBUS_REQUIRED=0.7 | ||
22 | |||
23 | -PKG_CHECK_MODULES(PROCMAN, glib-2.0 >= $GLIB_REQUIRED gconf-2.0 >= $GCONF_REQUIRED libgtop-2.0 >= $LIBGTOP_REQUIRED libwnck-1.0 >= $LIBWNCK_REQUIRED gtk+-2.0 >= $GTK_REQUIRED gnome-icon-theme >= $GNOME_ICON_THEME_REQUIRED gtkmm-2.4 >= $GTKMM_REQUIRED libxml-2.0 >= $LIBXML_REQUIRED librsvg-2.0 >= $RSVG_REQUIRED glibmm-2.4 >= $GLIBMM_REQUIRED giomm-2.4 >= $GIOMM_REQUIRED dbus-glib-1 >= $DBUS_REQUIRED) | ||
24 | +PKG_CHECK_MODULES(PROCMAN, glib-2.0 >= $GLIB_REQUIRED gconf-2.0 >= $GCONF_REQUIRED libgtop-2.0 >= $LIBGTOP_REQUIRED libwnck-1.0 >= $LIBWNCK_REQUIRED gtk+-2.0 >= $GTK_REQUIRED gtkmm-2.4 >= $GTKMM_REQUIRED libxml-2.0 >= $LIBXML_REQUIRED librsvg-2.0 >= $RSVG_REQUIRED glibmm-2.4 >= $GLIBMM_REQUIRED giomm-2.4 >= $GIOMM_REQUIRED dbus-glib-1 >= $DBUS_REQUIRED) | ||
25 | |||
26 | |||
27 | AC_ARG_ENABLE(more-warnings, | ||
28 | -- | ||
29 | 2.1.4 | ||
30 | |||
diff --git a/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_2.28.2.bb b/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_2.28.2.bb deleted file mode 100644 index 4b397bf83..000000000 --- a/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_2.28.2.bb +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | SUMMARY = "Gnome system monitor" | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" | ||
4 | SECTION = "x11/gnome" | ||
5 | PR = "r2" | ||
6 | |||
7 | DEPENDS = "libgtop gtkmm glibmm gnome-doc-utils libwnck gtk+ dbus-glib librsvg intltool-native gnome-common-native" | ||
8 | |||
9 | inherit gnome | ||
10 | SRC_URI[archive.md5sum] = "3f0bca9b0ebc7a365466851cd580d167" | ||
11 | SRC_URI[archive.sha256sum] = "b628edfd39e3a6b374ce133f367d3568475eb4e981a367f4f9d62a9784e5ae59" | ||
12 | GNOME_COMPRESS_TYPE="bz2" | ||
13 | SRC_URI += " \ | ||
14 | file://0001-Fix-glib-includes.patch \ | ||
15 | file://0002-src-procman.cpp-include-main-gtkmm.h.patch \ | ||
16 | file://Remove-pkg-config-check-for-gnome-icon-theme.patch \ | ||
17 | " | ||
18 | |||
19 | do_configure_prepend() { | ||
20 | sed -i -e s:help::g ${S}/Makefile.am | ||
21 | } | ||
22 | |||
23 | CXXFLAGS += "--std=c++11" | ||
24 | |||
25 | RRECOMMENDS_${PN} = "adwaita-icon-theme" | ||
26 | |||
27 | FILES_${PN} += "${datadir}/icons \ | ||
28 | ${datadir}/dbus-1 \ | ||
29 | ${datadir}/gnome/autostart \ | ||
30 | " | ||
31 | |||
32 | FILES_${PN}-doc += "${datadir}/omf \ | ||
33 | ${datadir}/gnome/help " | ||
34 | |||
35 | PNBLACKLIST[gnome-system-monitor] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/131635/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/gnome/gnome-terminal/0001-Makefile.am-do-not-build-help.patch b/meta-gnome/recipes-gnome/gnome/gnome-terminal/0001-Makefile.am-do-not-build-help.patch deleted file mode 100644 index d7874e492..000000000 --- a/meta-gnome/recipes-gnome/gnome/gnome-terminal/0001-Makefile.am-do-not-build-help.patch +++ /dev/null | |||
@@ -1,28 +0,0 @@ | |||
1 | From d2549d3ef08536be6d141524e3382fef07fea8bf Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Tue, 30 Apr 2013 19:48:27 +0200 | ||
4 | Subject: [PATCH] Makefile.am: do not build help | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | Upstream-Status: Inappropriate [configuration] | ||
10 | |||
11 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
12 | --- | ||
13 | Makefile.am | 2 +- | ||
14 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
15 | |||
16 | diff --git a/Makefile.am b/Makefile.am | ||
17 | index 89f7ee4..31e11ab 100644 | ||
18 | --- a/Makefile.am | ||
19 | +++ b/Makefile.am | ||
20 | @@ -1,4 +1,4 @@ | ||
21 | -SUBDIRS = src po help | ||
22 | +SUBDIRS = src po | ||
23 | |||
24 | NULL = | ||
25 | |||
26 | -- | ||
27 | 1.7.6.5 | ||
28 | |||
diff --git a/meta-gnome/recipes-gnome/gnome/gnome-terminal_2.30.2.bb b/meta-gnome/recipes-gnome/gnome/gnome-terminal_2.30.2.bb deleted file mode 100644 index 6b3bf7654..000000000 --- a/meta-gnome/recipes-gnome/gnome/gnome-terminal_2.30.2.bb +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | SUMMARY = "GNOME Terminal" | ||
2 | LICENSE = "GPL-2.0" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=5b51eba4ba4cafe64073227530c061ed" | ||
4 | DEPENDS = "gtk+ glib-2.0 startup-notification dbus-glib vte9 gnome-doc-utils intltool-native" | ||
5 | PR = "r1" | ||
6 | |||
7 | inherit gnome | ||
8 | |||
9 | SRC_URI += " \ | ||
10 | file://0001-Makefile.am-do-not-build-help.patch \ | ||
11 | " | ||
12 | |||
13 | EXTRA_OECONF += "--disable-scrollkeeper" | ||
14 | |||
15 | SRC_URI[archive.md5sum] = "74c4528f00067072c2bd867d1f8fe844" | ||
16 | SRC_URI[archive.sha256sum] = "2c7af2250698b9f9f53c6eaa93211c1118cf2c7e29cbbacfd1e8a6a10069e07a" | ||
17 | GNOME_COMPRESS_TYPE="bz2" | ||
18 | |||
19 | RRECOMMENDS_${PN} += "gnome-common-schemas" | ||
20 | |||
21 | # http://errors.yoctoproject.org/Errors/Details/68636/ | ||
22 | PNBLACKLIST[gnome-terminal] ?= "BROKEN: fails to build with gcc-6 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/gnome/libgnomecups_0.2.3.bb b/meta-gnome/recipes-gnome/gnome/libgnomecups_0.2.3.bb deleted file mode 100644 index 3480712b5..000000000 --- a/meta-gnome/recipes-gnome/gnome/libgnomecups_0.2.3.bb +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | DESCRIPTION="Gnome Cups Manager" | ||
2 | LICENSE="GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
4 | |||
5 | DEPENDS="glib-2.0 gtk+ pango cups intltool libgnomeui" | ||
6 | |||
7 | PR = "r2" | ||
8 | |||
9 | inherit gnomebase pkgconfig | ||
10 | |||
11 | do_compile_append () { | ||
12 | cp libgnomecups-1.0.pc libgnomecups-1.0.pc.old | ||
13 | sed 's:${STAGING_DIR_HOST}::' < libgnomecups-1.0.pc.old > libgnomecups-1.0.pc | ||
14 | } | ||
15 | |||
16 | SRC_URI += "\ | ||
17 | file://libgnomecups-0.2.3-glib.h.patch \ | ||
18 | file://libgnomecups-0.2.3-cups-1.6.patch \ | ||
19 | " | ||
20 | |||
21 | SRC_URI[archive.md5sum] = "dc4920c15c9f886f73ea74fbff0ae48b" | ||
22 | SRC_URI[archive.sha256sum] = "e130e80942b386de19a288a4c194ff3dbe9140315b31e982058c8bffbb6a1d29" | ||
23 | GNOME_COMPRESS_TYPE="bz2" | ||
24 | |||
25 | PNBLACKLIST[libgnomecups] ?= "Depends on blacklisted libgnomeui - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/gnome/libgnomeprint/0001-configure-use-pkgconfig-for-freetype.patch b/meta-gnome/recipes-gnome/gnome/libgnomeprint/0001-configure-use-pkgconfig-for-freetype.patch deleted file mode 100644 index 174985a7e..000000000 --- a/meta-gnome/recipes-gnome/gnome/libgnomeprint/0001-configure-use-pkgconfig-for-freetype.patch +++ /dev/null | |||
@@ -1,37 +0,0 @@ | |||
1 | From ed31fd89f4c77d89390774d29427898a85b25ab1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Koen Kooi <koen@dominion.thruhere.net> | ||
3 | Date: Fri, 1 Aug 2014 13:58:36 +0200 | ||
4 | Subject: [PATCH] configure: use pkgconfig for freetype | ||
5 | |||
6 | Upstream-status: Pending | ||
7 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | ||
8 | --- | ||
9 | configure.in | 12 +++++------- | ||
10 | 1 file changed, 5 insertions(+), 7 deletions(-) | ||
11 | |||
12 | diff --git a/configure.in b/configure.in | ||
13 | index 729278d..e569429 100644 | ||
14 | --- a/configure.in | ||
15 | +++ b/configure.in | ||
16 | @@ -164,13 +164,11 @@ dnl Checking for freetype2 | ||
17 | dnl ================================= | ||
18 | FREETYPE_LIBS= | ||
19 | FREETYPE_CFLAGS= | ||
20 | -AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no) | ||
21 | -if test "x$FREETYPE_CONFIG" = "xno" ; then | ||
22 | - AC_MSG_ERROR(You need FreeType2 (freetype-devel v 2.x package) for this version of libgnomeprint) | ||
23 | -else | ||
24 | - FREETYPE_CFLAGS=`$FREETYPE_CONFIG --cflags` | ||
25 | - FREETYPE_LIBS=`$FREETYPE_CONFIG --libs` | ||
26 | -fi | ||
27 | +PKG_CHECK_MODULES(FREETYPE2, freetype2, | ||
28 | + FREETYPE_CFLAGS="$CFLAGS $FREETYPE2_CFLAGS" | ||
29 | + FREETYPE_LIBS="$LIBS $FREETYPE2_LIBS", | ||
30 | + AC_MSG_ERROR([*** Unable to find FreeType2 library (http://www.freetype.org/)]) | ||
31 | +) | ||
32 | |||
33 | libgnomeprint_save_ldflags=$LDFLAGS | ||
34 | LDFLAGS="$LDFLAGS $FREETYPE_LIBS" | ||
35 | -- | ||
36 | 1.9.0 | ||
37 | |||
diff --git a/meta-gnome/recipes-gnome/gnome/libgnomeprint/bison3-support.patch b/meta-gnome/recipes-gnome/gnome/libgnomeprint/bison3-support.patch deleted file mode 100644 index 29d410a0a..000000000 --- a/meta-gnome/recipes-gnome/gnome/libgnomeprint/bison3-support.patch +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | Index: libgnomeprint-2.18.8/libgnomeprint/grammar.y | ||
2 | =================================================================== | ||
3 | --- libgnomeprint-2.18.8.orig/libgnomeprint/grammar.y | ||
4 | +++ libgnomeprint-2.18.8/libgnomeprint/grammar.y | ||
5 | @@ -99,7 +99,7 @@ gnome_print_filter_parse_prop (GnomePrin | ||
6 | } | ||
7 | |||
8 | static int yylex (void *lvalp); | ||
9 | -static int yyerror (const char *s); | ||
10 | +static int yyerror (graph_t *g, const char *s); | ||
11 | %} | ||
12 | |||
13 | %union { | ||
14 | @@ -117,6 +117,7 @@ static int yyerror (const char *s); | ||
15 | %type <p> pool | ||
16 | |||
17 | %pure_parser | ||
18 | +%parse-param { graph_t *graph } | ||
19 | |||
20 | %start graph | ||
21 | %% | ||
22 | @@ -185,7 +186,7 @@ graph: filter { | ||
23 | %% | ||
24 | |||
25 | static int | ||
26 | -yyerror (const char *s) | ||
27 | +yyerror (graph_t *g, const char *s) | ||
28 | { | ||
29 | return -1; | ||
30 | } | ||
diff --git a/meta-gnome/recipes-gnome/gnome/libgnomeprint/fix.includes.patch b/meta-gnome/recipes-gnome/gnome/libgnomeprint/fix.includes.patch deleted file mode 100644 index 53235a12d..000000000 --- a/meta-gnome/recipes-gnome/gnome/libgnomeprint/fix.includes.patch +++ /dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | diff -uNr libgnomeprint-2.18.7.orig/libgnomeprint/modules/cups/gnome-print-cups-transport.c libgnomeprint-2.18.7/libgnomeprint/modules/cups/gnome-print-cups-transport.c | ||
2 | --- libgnomeprint-2.18.7.orig/libgnomeprint/modules/cups/gnome-print-cups-transport.c 2009-04-19 19:45:36.000000000 +0200 | ||
3 | +++ libgnomeprint-2.18.7/libgnomeprint/modules/cups/gnome-print-cups-transport.c 2012-12-23 12:34:52.058643537 +0100 | ||
4 | @@ -35,6 +35,7 @@ | ||
5 | #include <sys/stat.h> | ||
6 | #include <fcntl.h> | ||
7 | #include <unistd.h> | ||
8 | +#include <stdio.h> | ||
9 | #include <locale.h> | ||
10 | |||
11 | #include <cups/cups.h> | ||
diff --git a/meta-gnome/recipes-gnome/gnome/libgnomeprint/freetype.patch b/meta-gnome/recipes-gnome/gnome/libgnomeprint/freetype.patch deleted file mode 100644 index 7a27ecd23..000000000 --- a/meta-gnome/recipes-gnome/gnome/libgnomeprint/freetype.patch +++ /dev/null | |||
@@ -1,38 +0,0 @@ | |||
1 | Use proper method to include freetype headers | ||
2 | |||
3 | FreeType wants to use these special macros to include its APIs | ||
4 | so be it. | ||
5 | |||
6 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
7 | Upstream-Status: Pending | ||
8 | |||
9 | Index: libgnomeprint-2.18.7/libgnomeprint/gnome-font-face.c | ||
10 | =================================================================== | ||
11 | --- libgnomeprint-2.18.7.orig/libgnomeprint/gnome-font-face.c | ||
12 | +++ libgnomeprint-2.18.7/libgnomeprint/gnome-font-face.c | ||
13 | @@ -36,7 +36,9 @@ | ||
14 | #include <stdarg.h> | ||
15 | #include <locale.h> | ||
16 | |||
17 | -#include <freetype/ftoutln.h> | ||
18 | +#include <ft2build.h> | ||
19 | +#include FT_FREETYPE_H | ||
20 | + | ||
21 | |||
22 | #include <libgnomeprint/gnome-print-private.h> | ||
23 | #include <libgnomeprint/gnome-font-private.h> | ||
24 | Index: libgnomeprint-2.18.7/libgnomeprint/gnome-rfont.c | ||
25 | =================================================================== | ||
26 | --- libgnomeprint-2.18.7.orig/libgnomeprint/gnome-rfont.c | ||
27 | +++ libgnomeprint-2.18.7/libgnomeprint/gnome-rfont.c | ||
28 | @@ -28,8 +28,8 @@ | ||
29 | |||
30 | #include <ft2build.h> | ||
31 | #include FT_FREETYPE_H | ||
32 | -#include <freetype/ftglyph.h> | ||
33 | -#include <freetype/ftbbox.h> | ||
34 | +#include FT_GLYPH_H | ||
35 | +#include FT_BBOX_H | ||
36 | #include <libart_lgpl/art_misc.h> | ||
37 | #include <libart_lgpl/art_affine.h> | ||
38 | #include <libart_lgpl/art_vpath.h> | ||
diff --git a/meta-gnome/recipes-gnome/gnome/libgnomeprint_2.18.8.bb b/meta-gnome/recipes-gnome/gnome/libgnomeprint_2.18.8.bb deleted file mode 100644 index a462a4b9e..000000000 --- a/meta-gnome/recipes-gnome/gnome/libgnomeprint_2.18.8.bb +++ /dev/null | |||
@@ -1,28 +0,0 @@ | |||
1 | LICENSE = "GPLv2" | ||
2 | SECTION = "x11/gnome/libs" | ||
3 | |||
4 | DEPENDS = "bison-native flex-native libxml2 libgnomecups glib-2.0 pango libart-lgpl fontconfig popt gnome-common freetype" | ||
5 | |||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
7 | |||
8 | inherit gnomebase | ||
9 | |||
10 | SRC_URI += "file://fix.includes.patch \ | ||
11 | file://freetype.patch \ | ||
12 | file://0001-configure-use-pkgconfig-for-freetype.patch \ | ||
13 | file://bison3-support.patch \ | ||
14 | " | ||
15 | SRC_URI[archive.md5sum] = "63b05ffb5386e131487c6af30f4c56ac" | ||
16 | SRC_URI[archive.sha256sum] = "1034ec8651051f84d2424e7a1da61c530422cc20ce5b2d9e107e1e46778d9691" | ||
17 | GNOME_COMPRESS_TYPE="bz2" | ||
18 | |||
19 | FILES_${PN}-dbg += "\ | ||
20 | ${libdir}/${PN}/${PV}/modules/.debug \ | ||
21 | ${libdir}/${PN}/${PV}/modules/*/.debug \ | ||
22 | " | ||
23 | FILES_${PN}-staticdev += "\ | ||
24 | ${libdir}/${PN}/${PV}/modules/*.a \ | ||
25 | ${libdir}/${PN}/${PV}/modules/*/*.a \ | ||
26 | " | ||
27 | |||
28 | PNBLACKLIST[libgnomeprint] ?= "Depends on broken libgnomecups - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/gnumeric/gnumeric/0001-configure.in-drop-introspection-macros-replace-them-.patch b/meta-gnome/recipes-gnome/gnumeric/gnumeric/0001-configure.in-drop-introspection-macros-replace-them-.patch deleted file mode 100644 index 914d2ccf9..000000000 --- a/meta-gnome/recipes-gnome/gnumeric/gnumeric/0001-configure.in-drop-introspection-macros-replace-them-.patch +++ /dev/null | |||
@@ -1,84 +0,0 @@ | |||
1 | From de5f0a535d6ea1932d2c7de53bd33510c8682ee7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
3 | Date: Mon, 22 Feb 2016 16:34:03 +0200 | ||
4 | Subject: [PATCH] configure.in: drop introspection macros, replace them with a | ||
5 | standard one | ||
6 | |||
7 | Upstream-Status: Pending | ||
8 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | ||
9 | --- | ||
10 | configure.in | 57 +-------------------------------------------------------- | ||
11 | 1 file changed, 1 insertion(+), 56 deletions(-) | ||
12 | |||
13 | diff --git a/configure.in b/configure.in | ||
14 | index 8e1aa37..3086503 100644 | ||
15 | --- a/configure.in | ||
16 | +++ b/configure.in | ||
17 | @@ -934,63 +934,8 @@ AC_SUBST(MONO_CFLAGS) | ||
18 | AC_SUBST(MONO_LIBS) | ||
19 | ]) | ||
20 | |||
21 | -# GObject Introspection | ||
22 | -GIR_REQ=1.0.0 | ||
23 | -AC_ARG_ENABLE(introspection, | ||
24 | - AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]], | ||
25 | - [Enable introspection for this build]),, | ||
26 | - [enable_introspection=no]) | ||
27 | - | ||
28 | -AC_MSG_CHECKING([for gobject-introspection]) | ||
29 | - | ||
30 | -dnl presence/version checking | ||
31 | -AS_CASE([$enable_introspection], | ||
32 | -[no], [ | ||
33 | - found_introspection="no (disabled, use --enable-introspection to enable)" | ||
34 | -], | ||
35 | -[yes],[ | ||
36 | - PKG_CHECK_EXISTS([gobject-introspection-1.0],, | ||
37 | - AC_MSG_ERROR([gobject-introspection-1.0 is not installed])) | ||
38 | - PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $GIR_REQ], | ||
39 | - found_introspection=yes, | ||
40 | - AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME])) | ||
41 | -], | ||
42 | -[auto],[ | ||
43 | - PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $GIR_REQ], found_introspection=yes, found_introspection=no) | ||
44 | -dnl Canonicalize enable_introspection | ||
45 | -enable_introspection=$found_introspection | ||
46 | -], | ||
47 | -[ | ||
48 | - AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@]) | ||
49 | -]) | ||
50 | +GOBJECT_INTROSPECTION_CHECK([1.46.0]) | ||
51 | |||
52 | -AC_MSG_RESULT([$found_introspection]) | ||
53 | - | ||
54 | -INTROSPECTION_SCANNER= | ||
55 | -INTROSPECTION_COMPILER= | ||
56 | -INTROSPECTION_GENERATE= | ||
57 | -INTROSPECTION_GIRDIR= | ||
58 | -INTROSPECTION_TYPELIBDIR= | ||
59 | -if test "x$found_introspection" = "xyes"; then | ||
60 | - INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0` | ||
61 | - INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0` | ||
62 | - INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0` | ||
63 | - INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0` | ||
64 | - INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)" | ||
65 | - INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0` | ||
66 | - INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0` | ||
67 | - INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection | ||
68 | -fi | ||
69 | -AC_SUBST(INTROSPECTION_SCANNER) | ||
70 | -AC_SUBST(INTROSPECTION_COMPILER) | ||
71 | -AC_SUBST(INTROSPECTION_GENERATE) | ||
72 | -AC_SUBST(INTROSPECTION_GIRDIR) | ||
73 | -AC_SUBST(INTROSPECTION_TYPELIBDIR) | ||
74 | -AC_SUBST(INTROSPECTION_CFLAGS) | ||
75 | -AC_SUBST(INTROSPECTION_LIBS) | ||
76 | -AC_SUBST(INTROSPECTION_MAKEFILE) | ||
77 | - | ||
78 | -AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes") | ||
79 | dnl we need to change the install directories for distcheck | ||
80 | AC_ARG_WITH([gir-dir], | ||
81 | AS_HELP_STRING( | ||
82 | -- | ||
83 | 2.7.0 | ||
84 | |||
diff --git a/meta-gnome/recipes-gnome/gnumeric/gnumeric/do-not-use-srcdir.patch b/meta-gnome/recipes-gnome/gnumeric/gnumeric/do-not-use-srcdir.patch deleted file mode 100644 index cc81b1fc0..000000000 --- a/meta-gnome/recipes-gnome/gnumeric/gnumeric/do-not-use-srcdir.patch +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | Index: gnumeric-1.12.0/test/Makefile.am | ||
2 | =================================================================== | ||
3 | --- gnumeric-1.12.0.orig/test/Makefile.am 2011-05-17 17:54:24.000000000 -0700 | ||
4 | +++ gnumeric-1.12.0/test/Makefile.am 2013-10-17 20:28:19.920618596 -0700 | ||
5 | @@ -25,7 +25,9 @@ | ||
6 | # | ||
7 | # 90xx: Misc stuff. | ||
8 | |||
9 | -TESTS = $(sort $(wildcard $(srcdir)/t[0-9][0-9][0-9][0-9]-*.pl)) | ||
10 | +TESTS_EXTENSIONS=.pl | ||
11 | +TESTS = @auto_find_tests@ | ||
12 | + | ||
13 | SUPPS = common.supp commondots.supp gui.supp t8003-valgrind-pdf.supp | ||
14 | |||
15 | import-db: | ||
diff --git a/meta-gnome/recipes-gnome/gnumeric/gnumeric_1.12.0.bb b/meta-gnome/recipes-gnome/gnumeric/gnumeric_1.12.0.bb deleted file mode 100644 index 49d0fe9d4..000000000 --- a/meta-gnome/recipes-gnome/gnumeric/gnumeric_1.12.0.bb +++ /dev/null | |||
@@ -1,49 +0,0 @@ | |||
1 | LICENSE = "GPLv2 | GPLv3" | ||
2 | LIC_FILES_CHKSUM = "file://COPYING;md5=be0de417af78dd340558810d1ced52e6" | ||
3 | SECTION = "x11/utils" | ||
4 | S = "${WORKDIR}/gnumeric-${PV}" | ||
5 | DEPENDS = "gdk-pixbuf libgsf gtk+3 libxml2 libglade libart-lgpl intltool-native libgnomecanvas libgnomeprint libbonoboui orbit2-native goffice" | ||
6 | SUMMARY = "Gnumeric spreadsheet for GNOME" | ||
7 | |||
8 | GNOME_COMPRESS_TYPE = "xz" | ||
9 | |||
10 | inherit gnome pythonnative gobject-introspection | ||
11 | |||
12 | SRC_URI += "file://do-not-use-srcdir.patch \ | ||
13 | file://0001-configure.in-drop-introspection-macros-replace-them-.patch" | ||
14 | |||
15 | SRC_URI[archive.md5sum] = "3fd87cca95334b5d8ac922989670fe27" | ||
16 | SRC_URI[archive.sha256sum] = "037b53d909e5d1454b2afda8c4fb1e7838e260343e36d4e36245f4a5d0e04111" | ||
17 | |||
18 | |||
19 | EXTRA_OECONF=" --without-perl " | ||
20 | |||
21 | PACKAGES_DYNAMIC += "gnumeric-plugin-*" | ||
22 | PACKAGES += "libspreadsheet libspreadsheet-dev gnumeric-goffice gnumeric-goffice-dbg" | ||
23 | |||
24 | FILES_${PN}-dbg += "${libdir}/gnumeric/${PV}/plugins/*/.debug" | ||
25 | FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig" | ||
26 | FILES_${PN}-staticdev = "${libdir}/libspreadsheet.la" | ||
27 | FILES_libspreadsheet = "${libdir}/libspreadsheet-${PV}.so" | ||
28 | FILES_libspreadsheet-dev = "${libdir}/libspreadsheet.so" | ||
29 | FILES_gnumeric-goffice-dbg += "${libdir}/goffice/*/plugins/gnumeric/.debug" | ||
30 | FILES_gnumeric-goffice = "${libdir}/goffice/*/plugins/gnumeric/*" | ||
31 | |||
32 | # This hack works around the problem mentioned here: | ||
33 | # https://mail.gnome.org/archives/gnumeric-list/2010-February/msg00006.html | ||
34 | do_install_prepend() { | ||
35 | sed -i ${B}/doc/C/Makefile -e 's/\tfor file in $(omffile); do/\t-for file in $(omffile); do/' | ||
36 | } | ||
37 | |||
38 | python populate_packages_prepend () { | ||
39 | gnumeric_libdir = bb.data.expand('${libdir}/gnumeric/${PV}/plugins', d) | ||
40 | |||
41 | do_split_packages(d, gnumeric_libdir, '^(.*)/.*$', | ||
42 | output_pattern='gnumeric-plugin-%s', | ||
43 | description='Gnumeric plugin %s', | ||
44 | extra_depends='', | ||
45 | recursive=True, | ||
46 | prepend=True) | ||
47 | } | ||
48 | |||
49 | PNBLACKLIST[gnumeric] ?= "Depends on broken libgnomeprint - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/gthumb/files/0001-Drop-help-directory-from-build.patch b/meta-gnome/recipes-gnome/gthumb/files/0001-Drop-help-directory-from-build.patch deleted file mode 100644 index d116968a6..000000000 --- a/meta-gnome/recipes-gnome/gthumb/files/0001-Drop-help-directory-from-build.patch +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | From 48cb878cb724e7a509260f014db6365510b8b541 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
3 | Date: Tue, 17 May 2016 14:05:29 +0300 | ||
4 | Subject: [PATCH] Drop help directory from build | ||
5 | |||
6 | It hardcodes the use of xml2po tool form gnome-doc-utils | ||
7 | |||
8 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | ||
9 | --- | ||
10 | Makefile.am | 2 +- | ||
11 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
12 | |||
13 | diff --git a/Makefile.am b/Makefile.am | ||
14 | index d056875..3fc4a41 100644 | ||
15 | --- a/Makefile.am | ||
16 | +++ b/Makefile.am | ||
17 | @@ -1,4 +1,4 @@ | ||
18 | -SUBDIRS = m4 copy-n-paste data po gthumb extensions tests help | ||
19 | +SUBDIRS = m4 copy-n-paste data po gthumb extensions tests | ||
20 | |||
21 | ACLOCAL_AMFLAGS = -I m4 | ||
22 | AMCFLAGS = -fPIC -DPIC | ||
23 | -- | ||
24 | 2.8.1 | ||
25 | |||
diff --git a/meta-gnome/recipes-gnome/gthumb/files/parallel.patch b/meta-gnome/recipes-gnome/gthumb/files/parallel.patch deleted file mode 100644 index 20ce5c5aa..000000000 --- a/meta-gnome/recipes-gnome/gthumb/files/parallel.patch +++ /dev/null | |||
@@ -1,158 +0,0 @@ | |||
1 | From 34969cde1dcb7740b4a7c3b6e3d04d481e5980b5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Ross Burton <ross.burton@intel.com> | ||
3 | Date: Tue, 31 Jul 2012 17:26:27 +0100 | ||
4 | Subject: [PATCH] build: Fix parallel build problems with enum generation | ||
5 | |||
6 | This is a backport from a patch against master. | ||
7 | |||
8 | Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=680925] | ||
9 | --- | ||
10 | extensions/file_tools/Makefile.am | 10 ++++------ | ||
11 | extensions/importer/Makefile.am | 10 ++++------ | ||
12 | extensions/pixbuf_savers/Makefile.am | 10 ++++------ | ||
13 | gthumb/Makefile.am | 10 ++++------ | ||
14 | 4 files changed, 16 insertions(+), 24 deletions(-) | ||
15 | |||
16 | diff --git a/extensions/file_tools/Makefile.am b/extensions/file_tools/Makefile.am | ||
17 | index 7785eff..d70a8a5 100644 | ||
18 | --- a/extensions/file_tools/Makefile.am | ||
19 | +++ b/extensions/file_tools/Makefile.am | ||
20 | @@ -24,17 +24,16 @@ HEADER_FILES = \ | ||
21 | gth-file-tool-undo.h \ | ||
22 | preferences.h | ||
23 | |||
24 | -enum-types.h: $(HEADER_FILES) $(GLIB_MKENUMS) | ||
25 | +enum-types.h: $(HEADER_FILES) | ||
26 | $(AM_V_GEN)( $(GLIB_MKENUMS) \ | ||
27 | --fhead "#ifndef ENUM_TYPES_H\n#define ENUM_TYPES_H\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \ | ||
28 | --fprod "/* enumerations from \"@filename@\" */\n" \ | ||
29 | --vhead "GType @enum_name@_get_type (void);\n#define GTH_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \ | ||
30 | --ftail "G_END_DECLS\n\n#endif /* ENUM_TYPES_H */" \ | ||
31 | $^> xgen-$(@F) \ | ||
32 | - && (cmp -s xgen-$(@F) enum-types.h || cp xgen-$(@F) enum-types.h ) \ | ||
33 | - && rm -f xgen-$(@F) ) | ||
34 | + && mv -f xgen-$(@F) enum-types.h ) | ||
35 | |||
36 | -enum-types.c: $(HEADER_FILES) enum-types.h | ||
37 | +enum-types.c: $(HEADER_FILES) | ||
38 | $(AM_V_GEN)( $(GLIB_MKENUMS) \ | ||
39 | --fhead "#include <glib-object.h>\n" \ | ||
40 | --fprod "\n/* enumerations from \"@filename@\" */\n#include \"@filename@\"" \ | ||
41 | @@ -42,8 +41,7 @@ enum-types.c: $(HEADER_FILES) enum-types.h | ||
42 | --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \ | ||
43 | --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \ | ||
44 | $^> xgen-$(@F) \ | ||
45 | - && (cmp -s xgen-$(@F) enum-types.c || cp xgen-$(@F) enum-types.c ) \ | ||
46 | - && rm -f xgen-$(@F) ) | ||
47 | + && mv -f xgen-$(@F) enum-types.c ) | ||
48 | |||
49 | libfile_tools_la_SOURCES = \ | ||
50 | $(ENUM_TYPES) \ | ||
51 | diff --git a/extensions/importer/Makefile.am b/extensions/importer/Makefile.am | ||
52 | index 29e7f2c..07c1eba 100644 | ||
53 | --- a/extensions/importer/Makefile.am | ||
54 | +++ b/extensions/importer/Makefile.am | ||
55 | @@ -14,17 +14,16 @@ HEADER_FILES = \ | ||
56 | preferences.h \ | ||
57 | utils.h | ||
58 | |||
59 | -gth-import-enum-types.h: $(HEADER_FILES) $(GLIB_MKENUMS) | ||
60 | +gth-import-enum-types.h: $(HEADER_FILES) | ||
61 | $(AM_V_GEN)( $(GLIB_MKENUMS) \ | ||
62 | --fhead "#ifndef ENUM_TYPES_H\n#define ENUM_TYPES_H\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \ | ||
63 | --fprod "/* enumerations from \"@filename@\" */\n" \ | ||
64 | --vhead "GType @enum_name@_get_type (void);\n#define GTH_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \ | ||
65 | --ftail "G_END_DECLS\n\n#endif /* ENUM_TYPES_H */" \ | ||
66 | $^> xgen-$(@F) \ | ||
67 | - && (cmp -s xgen-$(@F) gth-import-enum-types.h || cp xgen-$(@F) gth-import-enum-types.h ) \ | ||
68 | - && rm -f xgen-$(@F) ) | ||
69 | + && mv -f xgen-$(@F) gth-import-enum-types.h ) | ||
70 | |||
71 | -gth-import-enum-types.c: $(HEADER_FILES) gth-import-enum-types.h | ||
72 | +gth-import-enum-types.c: $(HEADER_FILES) | ||
73 | $(AM_V_GEN)( $(GLIB_MKENUMS) \ | ||
74 | --fhead "#include <glib-object.h>\n" \ | ||
75 | --fprod "\n/* enumerations from \"@filename@\" */\n#include \"@filename@\"" \ | ||
76 | @@ -32,8 +31,7 @@ gth-import-enum-types.c: $(HEADER_FILES) gth-import-enum-types.h | ||
77 | --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \ | ||
78 | --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \ | ||
79 | $^> xgen-$(@F) \ | ||
80 | - && (cmp -s xgen-$(@F) gth-import-enum-types.c || cp xgen-$(@F) gth-import-enum-types.c ) \ | ||
81 | - && rm -f xgen-$(@F) ) | ||
82 | + && mv -f xgen-$(@F) gth-import-enum-types.c ) | ||
83 | |||
84 | libimporter_la_SOURCES = \ | ||
85 | $(ENUM_TYPES) \ | ||
86 | diff --git a/extensions/pixbuf_savers/Makefile.am b/extensions/pixbuf_savers/Makefile.am | ||
87 | index bfe9f34..4764c32 100644 | ||
88 | --- a/extensions/pixbuf_savers/Makefile.am | ||
89 | +++ b/extensions/pixbuf_savers/Makefile.am | ||
90 | @@ -10,17 +10,16 @@ ENUM_TYPES = \ | ||
91 | HEADER_FILES = \ | ||
92 | preferences.h | ||
93 | |||
94 | -enum-types.h: $(HEADER_FILES) $(GLIB_MKENUMS) | ||
95 | +enum-types.h: $(HEADER_FILES) | ||
96 | $(AM_V_GEN)( $(GLIB_MKENUMS) \ | ||
97 | --fhead "#ifndef ENUM_TYPES_H\n#define ENUM_TYPES_H\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \ | ||
98 | --fprod "/* enumerations from \"@filename@\" */\n" \ | ||
99 | --vhead "GType @enum_name@_get_type (void);\n#define GTH_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \ | ||
100 | --ftail "G_END_DECLS\n\n#endif /* ENUM_TYPES_H */" \ | ||
101 | $^> xgen-$(@F) \ | ||
102 | - && (cmp -s xgen-$(@F) enum-types.h || cp xgen-$(@F) enum-types.h ) \ | ||
103 | - && rm -f xgen-$(@F) ) | ||
104 | + && mv -f xgen-$(@F) enum-types.h ) | ||
105 | |||
106 | -enum-types.c: $(HEADER_FILES) enum-types.h | ||
107 | +enum-types.c: $(HEADER_FILES) | ||
108 | $(AM_V_GEN)( $(GLIB_MKENUMS) \ | ||
109 | --fhead "#include <glib-object.h>\n" \ | ||
110 | --fprod "\n/* enumerations from \"@filename@\" */\n#include \"@filename@\"" \ | ||
111 | @@ -28,8 +27,7 @@ enum-types.c: $(HEADER_FILES) enum-types.h | ||
112 | --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \ | ||
113 | --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \ | ||
114 | $^> xgen-$(@F) \ | ||
115 | - && (cmp -s xgen-$(@F) enum-types.c || cp xgen-$(@F) enum-types.c ) \ | ||
116 | - && rm -f xgen-$(@F) ) | ||
117 | + && mv -f xgen-$(@F) enum-types.c ) | ||
118 | |||
119 | libpixbuf_savers_la_SOURCES = \ | ||
120 | $(ENUM_TYPES) \ | ||
121 | diff --git a/gthumb/Makefile.am b/gthumb/Makefile.am | ||
122 | index e9e385e..2f14e03 100644 | ||
123 | --- a/gthumb/Makefile.am | ||
124 | +++ b/gthumb/Makefile.am | ||
125 | @@ -296,17 +296,16 @@ gthumb_CFLAGS = \ | ||
126 | -DGTHUMB_EXTENSIONS_DIR=\"$(extensions_dir)\" \ | ||
127 | $(NULL) | ||
128 | |||
129 | -gth-enum-types.h: $(PUBLIC_HEADER_FILES) $(GLIB_MKENUMS) | ||
130 | +gth-enum-types.h: $(PUBLIC_HEADER_FILES) | ||
131 | $(AM_V_GEN)( $(GLIB_MKENUMS) \ | ||
132 | --fhead "#ifndef GTH_ENUM_TYPES_H\n#define GTH_ENUM_TYPES_H\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \ | ||
133 | --fprod "/* enumerations from \"@filename@\" */\n" \ | ||
134 | --vhead "GType @enum_name@_get_type (void);\n#define GTH_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \ | ||
135 | --ftail "G_END_DECLS\n\n#endif /* GTH_ENUM_TYPES_H */" \ | ||
136 | $^> xgen-$(@F) \ | ||
137 | - && (cmp -s xgen-$(@F) gth-enum-types.h || cp xgen-$(@F) gth-enum-types.h ) \ | ||
138 | - && rm -f xgen-$(@F) ) | ||
139 | + && mv -f xgen-$(@F) gth-enum-types.h ) | ||
140 | |||
141 | -gth-enum-types.c: $(PUBLIC_HEADER_FILES) gth-enum-types.h | ||
142 | +gth-enum-types.c: $(PUBLIC_HEADER_FILES) | ||
143 | $(AM_V_GEN)( $(GLIB_MKENUMS) \ | ||
144 | --fhead "#include <glib-object.h>\n" \ | ||
145 | --fprod "\n/* enumerations from \"@filename@\" */\n#include \"@filename@\"" \ | ||
146 | @@ -314,8 +313,7 @@ gth-enum-types.c: $(PUBLIC_HEADER_FILES) gth-enum-types.h | ||
147 | --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \ | ||
148 | --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \ | ||
149 | $^> xgen-$(@F) \ | ||
150 | - && (cmp -s xgen-$(@F) gth-enum-types.c || cp xgen-$(@F) gth-enum-types.c ) \ | ||
151 | - && rm -f xgen-$(@F) ) | ||
152 | + && mv -f xgen-$(@F) gth-enum-types.c ) | ||
153 | |||
154 | gth-marshal.h: gth-marshal.list $(GLIB_GENMARSHAL) | ||
155 | $(AM_V_GEN)( $(GLIB_GENMARSHAL) $(srcdir)/gth-marshal.list --header --prefix=gth_marshal > $@ ) | ||
156 | -- | ||
157 | 1.7.10.4 | ||
158 | |||
diff --git a/meta-gnome/recipes-gnome/gthumb/gthumb_2.12.4.bb b/meta-gnome/recipes-gnome/gthumb/gthumb_2.12.4.bb deleted file mode 100644 index 62d3df98e..000000000 --- a/meta-gnome/recipes-gnome/gthumb/gthumb_2.12.4.bb +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | SUMMARY = "gThumb is an image viewer and browser for the GNOME Desktop" | ||
2 | SECTION = "x11/gnome" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" | ||
5 | DEPENDS = "gnome-common-native glib-2.0 gtk+ libxml2 gnome-doc-utils libunique gconf libpng gstreamer jpeg tiff gst-plugins-base intltool-native gconf-native" | ||
6 | |||
7 | PR = "r4" | ||
8 | |||
9 | EXTRA_OECONF = "--disable-gnome-keyring --disable-libsoup --disable-exiv2 --disable-clutter" | ||
10 | |||
11 | inherit gnome pkgconfig | ||
12 | |||
13 | SRC_URI[archive.md5sum] = "97fc13221b0c5d80c27a2e25a3a3ac6f" | ||
14 | SRC_URI[archive.sha256sum] = "cf809695230ab8892a078be454a42ade865754c72ec1da7c3d74d4310de54f1d" | ||
15 | GNOME_COMPRESS_TYPE="bz2" | ||
16 | |||
17 | SRC_URI += "file://parallel.patch \ | ||
18 | file://0001-Drop-help-directory-from-build.patch" | ||
19 | |||
20 | do_configure_prepend () { | ||
21 | rm -f ${S}/m4/gnome-doc-utils.m4 | ||
22 | } | ||
23 | |||
24 | do_install_append () { | ||
25 | rm -f ${D}${libdir}/${BPN}/extensions/*.a | ||
26 | } | ||
27 | |||
28 | FILES_${PN} += "${datadir}/icons" | ||
29 | FILES_${PN} += "${libdir}/${BPN}/extensions/*.so \ | ||
30 | ${libdir}/${BPN}/extensions/*.extension" | ||
31 | FILES_${PN}-dev += "${libdir}/${BPN}/extensions/*.la" | ||
32 | FILES_${PN}-dbg += "${libdir}/${BPN}/extensions/.debug/" | ||
33 | |||
34 | |||
35 | PNBLACKLIST[gthumb] ?= "Depends on blacklisted gstreamer - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/gweather/libgweather3_3.0.2.bb b/meta-gnome/recipes-gnome/gweather/libgweather3_3.0.2.bb deleted file mode 100644 index 6920f0aa2..000000000 --- a/meta-gnome/recipes-gnome/gweather/libgweather3_3.0.2.bb +++ /dev/null | |||
@@ -1,28 +0,0 @@ | |||
1 | LICENSE = "GPLv2" | ||
2 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" | ||
3 | |||
4 | SECTION = "x11/gnome/libs" | ||
5 | DEPENDS = "libxml2 gconf libsoup-2.4 gtk+3" | ||
6 | |||
7 | PNBLACKLIST[libgweather3] ?= "CONFLICT: 876 files are conflicting with libgweather - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
8 | # e.g. sysroots/qemux86-64/usr/share/libgweather/locations.dtd | ||
9 | # sysroots/qemux86-64/usr/share/libgweather/Locations.zh_TW.xml | ||
10 | |||
11 | BPN = "libgweather" | ||
12 | |||
13 | inherit gnome | ||
14 | SRC_URI[archive.md5sum] = "f1a96c6f19c9a0bc6b4e12acc9a8a85d" | ||
15 | SRC_URI[archive.sha256sum] = "9041526fa0466b99dae5cf06c2cc70376f25531eec5d58b1e1378acfb302410c" | ||
16 | |||
17 | do_configure_prepend() { | ||
18 | sed -i -e 's: doc : :g' ${S}/Makefile.am | ||
19 | } | ||
20 | |||
21 | FILES_${PN} += "${datadir}/gnome* \ | ||
22 | ${datadir}/icons" | ||
23 | |||
24 | PACKAGES =+ "${PN}-locationdata" | ||
25 | FILES_${PN}-locationdata = "${datadir}/libgweather/*ocations*" | ||
26 | |||
27 | |||
28 | |||
diff --git a/meta-gnome/recipes-gnome/gweather/libgweather_2.30.3.bb b/meta-gnome/recipes-gnome/gweather/libgweather_2.30.3.bb deleted file mode 100644 index 8b69f1fe7..000000000 --- a/meta-gnome/recipes-gnome/gweather/libgweather_2.30.3.bb +++ /dev/null | |||
@@ -1,24 +0,0 @@ | |||
1 | LICENSE = "GPLv2" | ||
2 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
3 | |||
4 | SECTION = "x11/gnome/libs" | ||
5 | DEPENDS = "libxml2 gconf libsoup-2.4 gtk+ libgnome-keyring" | ||
6 | |||
7 | inherit gnome | ||
8 | |||
9 | SRC_URI[archive.md5sum] = "bf6a0a05051341ecb250f332e3edfb88" | ||
10 | SRC_URI[archive.sha256sum] = "b835374661423f37c46aa8e37368ae24a68856f117b7c21e475a21efdba5264c" | ||
11 | GNOME_COMPRESS_TYPE="bz2" | ||
12 | |||
13 | do_configure_prepend() { | ||
14 | sed -i -e 's: doc : :g' ${S}/Makefile.am | ||
15 | } | ||
16 | |||
17 | FILES_${PN} += "${datadir}/gnome* \ | ||
18 | ${datadir}/icons" | ||
19 | |||
20 | PACKAGES =+ "${PN}-locationdata" | ||
21 | FILES_${PN}-locationdata = "${datadir}/libgweather/Locations*" | ||
22 | |||
23 | # http://errors.yoctoproject.org/Errors/Details/68608/ | ||
24 | PNBLACKLIST[libgweather] ?= "BROKEN: fails to build with gcc-6 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/nautilus/nautilus/idl-sysroot.patch b/meta-gnome/recipes-gnome/nautilus/nautilus/idl-sysroot.patch deleted file mode 100644 index 0062cfb11..000000000 --- a/meta-gnome/recipes-gnome/nautilus/nautilus/idl-sysroot.patch +++ /dev/null | |||
@@ -1,7 +0,0 @@ | |||
1 | Index: nautilus-2.24.2/add-include-prefix | ||
2 | =================================================================== | ||
3 | --- nautilus-2.24.2.orig/add-include-prefix 2008-10-06 17:22:21.000000000 +0000 | ||
4 | +++ nautilus-2.24.2/add-include-prefix 2009-04-09 16:00:05.000000000 +0000 | ||
5 | @@ -1 +1 @@ | ||
6 | -sed -e 's/^/ /' -e 's/ */ /g' -e 's/ / -I /g' -e 's/ -I $//' | ||
7 | +sed -e 's:^: :' -e 's: *: :g' -e 's: : -I '"$SYSROOT"':g' -e 's: -I '"$SYSROOT"'$::' | ||
diff --git a/meta-gnome/recipes-gnome/nautilus/nautilus/no-G_DISABLE_DEPRECATED.patch b/meta-gnome/recipes-gnome/nautilus/nautilus/no-G_DISABLE_DEPRECATED.patch deleted file mode 100644 index 43a6152d8..000000000 --- a/meta-gnome/recipes-gnome/nautilus/nautilus/no-G_DISABLE_DEPRECATED.patch +++ /dev/null | |||
@@ -1,44 +0,0 @@ | |||
1 | From e7233d98c114b03c7c8b96d1f41770452da14aa7 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmx.de> | ||
3 | Date: Mon, 17 Oct 2011 00:59:01 +0200 | ||
4 | Subject: [PATCH] nautilus build fails for newer glib versions | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | build with glib-2.0 v2.30.0 run into errors for at least G_CONST_RETURN missing | ||
10 | |||
11 | Signed-off-by: Andreas Müller <schnitzeltony@gmx.de> | ||
12 | --- | ||
13 | configure.in | 2 +- | ||
14 | eel/Makefile.am | 1 - | ||
15 | 2 files changed, 1 insertions(+), 2 deletions(-) | ||
16 | |||
17 | diff --git a/configure.in b/configure.in | ||
18 | index 97e171e..859a097 100644 | ||
19 | --- a/configure.in | ||
20 | +++ b/configure.in | ||
21 | @@ -342,7 +342,7 @@ AC_SUBST(CORE_CFLAGS) | ||
22 | CORE_LIBS="`$PKG_CONFIG --libs $CORE_MODULES` $x_libs" | ||
23 | AC_SUBST(CORE_LIBS) | ||
24 | |||
25 | -DISABLE_DEPRECATED_CFLAGS="-DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED" | ||
26 | +DISABLE_DEPRECATED_CFLAGS="-DGDK_PIXBUF_DISABLE_DEPRECATED" | ||
27 | AC_SUBST(DISABLE_DEPRECATED_CFLAGS) | ||
28 | |||
29 | dnl Multimedia keys | ||
30 | diff --git a/eel/Makefile.am b/eel/Makefile.am | ||
31 | index b1fe356..c1d56cd 100644 | ||
32 | --- a/eel/Makefile.am | ||
33 | +++ b/eel/Makefile.am | ||
34 | @@ -10,7 +10,6 @@ INCLUDES = \ | ||
35 | -DDATADIR=\""$(datadir)"\" \ | ||
36 | -DSOURCE_DATADIR=\""$(top_srcdir)/data"\" \ | ||
37 | -DGNOMELOCALEDIR=\""$(prefix)/${DATADIRNAME}/locale"\" \ | ||
38 | - -DG_DISABLE_DEPRECATED \ | ||
39 | -DGDK_PIXBUF_DISABLE_DEPRECATED \ | ||
40 | -DGMENU_I_KNOW_THIS_IS_UNSTABLE \ | ||
41 | $(NULL) | ||
42 | -- | ||
43 | 1.7.4.4 | ||
44 | |||
diff --git a/meta-gnome/recipes-gnome/nautilus/nautilus3_3.2.1.bb b/meta-gnome/recipes-gnome/nautilus/nautilus3_3.2.1.bb deleted file mode 100644 index 5580f93a5..000000000 --- a/meta-gnome/recipes-gnome/nautilus/nautilus3_3.2.1.bb +++ /dev/null | |||
@@ -1,54 +0,0 @@ | |||
1 | # nautilus OE build file | ||
2 | # Copyright (C) 2005, Advanced Micro Devices, Inc. All Rights Reserved | ||
3 | # Released under the MIT license (see packages/COPYING) | ||
4 | |||
5 | LICENSE="GPLv2 & LGPLv2" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=f08a446809913fc9b3c718f0eaea0426 \ | ||
7 | file://COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a" | ||
8 | |||
9 | PR = "r4" | ||
10 | |||
11 | DEPENDS = "libnotify gtk+3 libunique gvfs librsvg libexif gnome-desktop3" | ||
12 | # optional: tracker | ||
13 | |||
14 | # to include nautilus3/no-try-run-strftime.diff before the rest | ||
15 | FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" | ||
16 | BPN = "nautilus" | ||
17 | inherit gnome | ||
18 | |||
19 | SRC_URI += "file://no-try-run-strftime.diff" | ||
20 | SRC_URI[archive.md5sum] = "12314328b59aa1dfd83619f718b81bd5" | ||
21 | SRC_URI[archive.sha256sum] = "c482d6e7babcc238304cf55586cdf7e2b2806025214a143ed355f0d89b33b154" | ||
22 | |||
23 | EXTRA_OECONF = " --disable-gtk-doc --disable-update-mimedb --enable-nst-extension" | ||
24 | export SYSROOT = "${STAGING_DIR_HOST}" | ||
25 | |||
26 | do_configure() { | ||
27 | sed -i -e /docs/d ${S}/Makefile.am | ||
28 | autotools_do_configure | ||
29 | } | ||
30 | |||
31 | RDEPENDS_${PN} = "gvfs gvfsd-ftp gvfsd-sftp gvfsd-trash glib-2.0-utils" | ||
32 | FILES_${PN} += "${datadir}/icons \ | ||
33 | /usr/libexec/ \ | ||
34 | ${datadir}/nautilus* \ | ||
35 | ${datadir}/dbus-1 \ | ||
36 | ${libdir}/nautilus/extensions*/*.so \ | ||
37 | " | ||
38 | FILES_${PN}-dbg += "/usr/libexec/.debug \ | ||
39 | ${libdir}/nautilus/extensions*/.debug" | ||
40 | |||
41 | # Don't make nautils drag us in | ||
42 | PRIVATE_LIBS = "libnautilus-extension.so.1" | ||
43 | |||
44 | pkg_postinst_${PN} () { | ||
45 | if [ -n "$D" ]; then | ||
46 | exit 1 | ||
47 | fi | ||
48 | |||
49 | glib-compile-schemas ${datadir}/glib-2.0/schemas | ||
50 | } | ||
51 | |||
52 | # 3.2.1-r4/nautilus-3.2.1/eel/eel-gnome-extensions.c:34:50: fatal error: libgnome-desktop/gnome-desktop-utils.h: No such file or directory | ||
53 | # 3.2.1-r4/nautilus-3.2.1/eel/eel-editable-label.c:3105:55: error: 'GTK_STOCK_CUT' undeclared (first use in this function) | ||
54 | PNBLACKLIST[nautilus3] ?= "BROKEN: fails to build, maybe missing dependency on gnome-desktop-utils.h provider - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/nautilus/nautilus_2.32.2.bb b/meta-gnome/recipes-gnome/nautilus/nautilus_2.32.2.bb deleted file mode 100644 index caf7f57b1..000000000 --- a/meta-gnome/recipes-gnome/nautilus/nautilus_2.32.2.bb +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | # nautilus OE build file | ||
2 | # Copyright (C) 2005, Advanced Micro Devices, Inc. All Rights Reserved | ||
3 | # Released under the MIT license (see packages/COPYING) | ||
4 | |||
5 | LICENSE="GPLv2 & LGPLv2" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=7c0048536e43642a1f3a724c2909872b \ | ||
7 | file://COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a" | ||
8 | |||
9 | PR = "r6" | ||
10 | |||
11 | DEPENDS = "gdk-pixbuf gtk+ libunique gvfs librsvg libexif esound gnome-desktop orbit2-native" | ||
12 | # optional: tracker | ||
13 | |||
14 | inherit gnome gobject-introspection | ||
15 | |||
16 | SRC_URI[archive.md5sum] = "51565aa10d1625dff56e381228346911" | ||
17 | SRC_URI[archive.sha256sum] = "2d4ff28c7a7aa5d40eb2468149954a564c257a305183773057584d22d15347a2" | ||
18 | GNOME_COMPRESS_TYPE="bz2" | ||
19 | |||
20 | SRC_URI += "file://idl-sysroot.patch \ | ||
21 | file://no-try-run-strftime.diff \ | ||
22 | file://no-G_DISABLE_DEPRECATED.patch \ | ||
23 | " | ||
24 | |||
25 | |||
26 | EXTRA_OECONF = " --disable-gtk-doc --disable-update-mimedb " | ||
27 | export SYSROOT = "${STAGING_DIR_HOST}" | ||
28 | |||
29 | do_configure() { | ||
30 | sed -i -e /docs/d ${S}/Makefile.am | ||
31 | autotools_do_configure | ||
32 | # We need native orbit-idl with target idl files. No way to say it in a clean way: | ||
33 | find ${B} -name Makefile -exec sed -i '/\/usr\/bin\/orbit-idl-2/{s:/usr/bin:${STAGING_BINDIR_NATIVE}:;s:/usr/share:${STAGING_DATADIR}:g}' {} \; | ||
34 | } | ||
35 | |||
36 | RDEPENDS_${PN} = "gvfs gvfsd-ftp gvfsd-sftp gvfsd-trash glib-networking" | ||
37 | FILES_${PN} += "${datadir}/icons" | ||
38 | |||
39 | # Don't make nautils3 drag us in | ||
40 | PRIVATE_LIBS = "libnautilus-extension.so.1" | ||
41 | |||
42 | |||
43 | PNBLACKLIST[nautilus] ?= "Depends on blacklisted gnome-desktop - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/pimlico/contacts.inc b/meta-gnome/recipes-gnome/pimlico/contacts.inc deleted file mode 100644 index fedd22332..000000000 --- a/meta-gnome/recipes-gnome/pimlico/contacts.inc +++ /dev/null | |||
@@ -1,28 +0,0 @@ | |||
1 | DESCRIPTION = "Address-book application." | ||
2 | HOMEPAGE = "http://pimlico-project.org/contacts.html" | ||
3 | BUGTRACKER = "https://bugzilla.gnome.org/" | ||
4 | |||
5 | LICENSE = "GPLv2 & GPLv2+ & GPLv3+ " | ||
6 | SECTION = "x11" | ||
7 | DEPENDS = "glib-2.0 gtk+ evolution-data-server intltool-native" | ||
8 | RDEPENDS_${PN} = "libedata-book" | ||
9 | |||
10 | inherit autotools pkgconfig gconf | ||
11 | |||
12 | EXTRA_OECONF += "--disable-gnome-vfs" | ||
13 | EXTRA_OEMAKE += "GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1" | ||
14 | |||
15 | do_install_append () { | ||
16 | install -d ${D}/${datadir}/pixmaps | ||
17 | install -m 0644 ${WORKDIR}/stock_contact.png ${D}/${datadir}/pixmaps | ||
18 | install -m 0644 ${WORKDIR}/stock_person.png ${D}/${datadir}/pixmaps | ||
19 | } | ||
20 | |||
21 | FILES_${PN} += "${datadir}/pixmaps/stock_contact.png \ | ||
22 | ${datadir}/pixmaps/stock_person.png \ | ||
23 | ${datadir}/icons/hicolor" | ||
24 | |||
25 | SRC_URI = "file://stock_contact.png \ | ||
26 | file://stock_person.png \ | ||
27 | file://contacts-conditionally-install-schema.patch \ | ||
28 | " | ||
diff --git a/meta-gnome/recipes-gnome/pimlico/contacts/contacts-conditionally-install-schema.patch b/meta-gnome/recipes-gnome/pimlico/contacts/contacts-conditionally-install-schema.patch deleted file mode 100644 index 2ab7882c8..000000000 --- a/meta-gnome/recipes-gnome/pimlico/contacts/contacts-conditionally-install-schema.patch +++ /dev/null | |||
@@ -1,37 +0,0 @@ | |||
1 | Install schema should respect to GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL | ||
2 | |||
3 | If GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL is set, the schema should not | ||
4 | be installed. | ||
5 | |||
6 | Signed-off-by: Robert Yang <liezhi.yang@windriver.com> | ||
7 | |||
8 | Upstream-Status: Pending | ||
9 | --- | ||
10 | data/Makefile.am | 7 ++++--- | ||
11 | 1 files changed, 4 insertions(+), 3 deletions(-) | ||
12 | |||
13 | diff --git a/data/Makefile.am b/data/Makefile.am | ||
14 | index f790823..b6fd643 100644 | ||
15 | --- a/data/Makefile.am | ||
16 | +++ b/data/Makefile.am | ||
17 | @@ -14,13 +14,14 @@ dist_man1_MANS = contacts.1 | ||
18 | |||
19 | if HAVE_GCONF | ||
20 | install-data-local: | ||
21 | - GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) \ | ||
22 | + if [ "$(GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL)" != "1" ]; then \ | ||
23 | + GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) \ | ||
24 | $(GCONFTOOL) --makefile-install-rule $(schema_DATA) || \ | ||
25 | (echo ;\ | ||
26 | echo "*****************************************************"; \ | ||
27 | echo "Installation of schemas failed, install them manually"; \ | ||
28 | - echo "*****************************************************";) | ||
29 | - @true | ||
30 | + echo "*****************************************************";); \ | ||
31 | + fi | ||
32 | endif | ||
33 | |||
34 | CLEANFILES = $(desktop_DATA) | ||
35 | -- | ||
36 | 1.7.7.6 | ||
37 | |||
diff --git a/meta-gnome/recipes-gnome/pimlico/contacts/make-382.patch b/meta-gnome/recipes-gnome/pimlico/contacts/make-382.patch deleted file mode 100644 index a7cfee3a0..000000000 --- a/meta-gnome/recipes-gnome/pimlico/contacts/make-382.patch +++ /dev/null | |||
@@ -1,16 +0,0 @@ | |||
1 | Fix for stricter parser in make 3.82. This fix has been pushed to upstream git. | ||
2 | |||
3 | JL - 15/12/10 | ||
4 | |||
5 | Upstream-Status: Accepted | ||
6 | |||
7 | Index: git/Makefile.am | ||
8 | =================================================================== | ||
9 | --- git.orig/Makefile.am | ||
10 | +++ git/Makefile.am | ||
11 | @@ -11,4 +11,4 @@ DISTCLEANFILES = $(INTLTOOL_BUILT) | ||
12 | MAINTAINERCLEANFILES = aclocal.m4 compile config.guess config.sub configure depcomp $(INTLTOOL_BUILT:=.in) install-sh ltmain.sh mkinstalldirs Makefile.in missing | ||
13 | |||
14 | snapshot: | ||
15 | - $(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"` | ||
16 | + $(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"` | ||
diff --git a/meta-gnome/recipes-gnome/pimlico/contacts_0.9.bb b/meta-gnome/recipes-gnome/pimlico/contacts_0.9.bb deleted file mode 100644 index 516cf93e4..000000000 --- a/meta-gnome/recipes-gnome/pimlico/contacts_0.9.bb +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | require contacts.inc | ||
2 | |||
3 | PR = "r8" | ||
4 | |||
5 | SRC_URI =+ "http://pimlico-project.org/sources/${BPN}/${BPN}-${PV}.tar.gz" | ||
6 | |||
7 | SRC_URI[md5sum] = "aab5affbf93d6fa7b978b323a8d44de0" | ||
8 | SRC_URI[sha256sum] = "9cacec98f8123993033aaa255f3f4c04c86a1be65e487dd21f0aaa54384a6f6d" | ||
9 | |||
10 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ | ||
11 | file://src/contacts-main.h;endline=18;md5=0371af46fbc72e33575e0072dca5fb19 \ | ||
12 | file://src/contacts-dbus.c;endline=18;md5=e4da9ac1a0539fafc7df431010904fd5 \ | ||
13 | file://src/contacts-gtk.c;endline=21;md5=1c2e3f55b215635eff4ba76f7696f8ee" | ||
14 | |||
15 | do_configure_prepend () { | ||
16 | # It used 8 spaces to instead of a tab, but it doesn't work for us | ||
17 | sed -i 's/^ $(MAKE) dist distdir=/\t$(MAKE) dist distdir/' Makefile.am | ||
18 | } | ||
19 | |||
20 | PNBLACKLIST[contacts] ?= "Fails to fetch, pimlico-project.org is gone http://errors.yoctoproject.org/Errors/Details/132854/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/pimlico/contacts_git.bb b/meta-gnome/recipes-gnome/pimlico/contacts_git.bb deleted file mode 100644 index b46e9d9db..000000000 --- a/meta-gnome/recipes-gnome/pimlico/contacts_git.bb +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | require contacts.inc | ||
2 | |||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ | ||
4 | file://src/contacts-main.h;endline=20;md5=9dc3531c914fb6d6d4a8d1aee4519fef \ | ||
5 | file://src/contacts-dbus.c;endline=20;md5=95e02d77f155fbd07a14dba3348b9b03 \ | ||
6 | file://src/contacts-gtk.c;endline=23;md5=e1ee9b9e72045f2d3aa44cf17313b46e" | ||
7 | |||
8 | SRCREV = "19853893fdb595de6aa59db0d9dc2f9451ed2933" | ||
9 | PV = "0.12+git${SRCPV}" | ||
10 | PR = "r4" | ||
11 | |||
12 | S = "${WORKDIR}/git" | ||
13 | |||
14 | SRC_URI =+ "git://git.gnome.org/${BPN} \ | ||
15 | file://make-382.patch" | ||
16 | |||
17 | S = "${WORKDIR}/git" | ||
18 | |||
19 | PNBLACKLIST[contacts] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/132826/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/pimlico/tasks.inc b/meta-gnome/recipes-gnome/pimlico/tasks.inc deleted file mode 100644 index f8217dc3a..000000000 --- a/meta-gnome/recipes-gnome/pimlico/tasks.inc +++ /dev/null | |||
@@ -1,10 +0,0 @@ | |||
1 | DESCRIPTION = "Task list application" | ||
2 | HOMEPAGE = "http://pimlico-project.org/tasks.html" | ||
3 | BUGTRACKER = "https://bugzilla.gnome.org/" | ||
4 | |||
5 | LICENSE = "GPLv2 & GPLv2+" | ||
6 | |||
7 | SECTION = "x11" | ||
8 | DEPENDS = "glib-2.0 gtk+ evolution-data-server intltool-native" | ||
9 | |||
10 | inherit autotools pkgconfig gtk-icon-cache | ||
diff --git a/meta-gnome/recipes-gnome/pimlico/tasks_0.19.bb b/meta-gnome/recipes-gnome/pimlico/tasks_0.19.bb deleted file mode 100644 index 42c20c47e..000000000 --- a/meta-gnome/recipes-gnome/pimlico/tasks_0.19.bb +++ /dev/null | |||
@@ -1,16 +0,0 @@ | |||
1 | require tasks.inc | ||
2 | |||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ | ||
4 | file://src/gtk/main.c;endline=19;md5=8659d0b7fd68a2ad6ac30c6539ea5b82 \ | ||
5 | file://src/omoko/openmoko-tasks.c;endline=20;md5=04d56a46863c9f4247694f40257a836a \ | ||
6 | file://src/hildon/hildon-tasks.c;endline=21;md5=488ddf31dc14b2196dec7cc736211b52" | ||
7 | |||
8 | SRC_URI = "http://pimlico-project.org/sources/${BPN}/${BPN}-${PV}.tar.gz" | ||
9 | |||
10 | SRC_URI[md5sum] = "0afd969758561599fd782e1effb39c08" | ||
11 | SRC_URI[sha256sum] = "1a7fdc5f95a2193a1a25fdb13f071867fb7e42245ce19ccee4bcccb69e557f2e" | ||
12 | |||
13 | PR = "r3" | ||
14 | |||
15 | # tasks-0.19/libkoto/koto-utils.c:81:3: error: format not a string literal, argument types not checked [-Werror=format-nonliteral] | ||
16 | PNBLACKLIST[tasks] ?= "Fails to build with gcc-6 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/pimlico/tasks_git.bb b/meta-gnome/recipes-gnome/pimlico/tasks_git.bb deleted file mode 100644 index b71f1dc5b..000000000 --- a/meta-gnome/recipes-gnome/pimlico/tasks_git.bb +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | require tasks.inc | ||
2 | |||
3 | SRC_URI = "git://git.gnome.org/${BPN}" | ||
4 | |||
5 | SRCREV = "ea52d46d691c5fce4473ea4e24a35411381f3a65" | ||
6 | PV = "0.13+git${SRCPV}" | ||
7 | PR = "r3" | ||
8 | |||
9 | S = "${WORKDIR}/git" | ||
10 | |||
11 | # ../../git/libkoto/koto-utils.c:81:3: error: format not a string literal, argument types not checked [-Werror=format-nonliteral] | ||
12 | PNBLACKLIST[tasks] ?= "Fails to build with gcc-6 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/system-tools/system-tools-backends-2.10.2/add-angstrom-distro.patch b/meta-gnome/recipes-gnome/system-tools/system-tools-backends-2.10.2/add-angstrom-distro.patch deleted file mode 100644 index cb03fd86e..000000000 --- a/meta-gnome/recipes-gnome/system-tools/system-tools-backends-2.10.2/add-angstrom-distro.patch +++ /dev/null | |||
@@ -1,41 +0,0 @@ | |||
1 | From b5084616a3bc2a0d485f43aeae69c6025f3f857e Mon Sep 17 00:00:00 2001 | ||
2 | From: Koen Kooi <koen@dominion.thruhere.net> | ||
3 | Date: Fri, 10 Jun 2011 18:44:21 +0200 | ||
4 | Subject: [PATCH] add support for the angstrom distribtion | ||
5 | |||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | ||
7 | --- | ||
8 | Utils/Platform.pm | 3 +++ | ||
9 | 1 files changed, 3 insertions(+), 0 deletions(-) | ||
10 | |||
11 | diff --git a/Utils/Platform.pm b/Utils/Platform.pm | ||
12 | index fc76360..8b8c770 100644 | ||
13 | --- a/Utils/Platform.pm | ||
14 | +++ b/Utils/Platform.pm | ||
15 | @@ -92,6 +92,7 @@ my $PLATFORM_INFO = { | ||
16 | "nexenta-1.0" => [ "Nexenta GNU/Solaris", "1.0", "Ellate" ], | ||
17 | "yellowdog-4.1" => [ "Yellow Dog Linux", "4.1", "Sagitta" ], | ||
18 | "guadalinex-v4" => [ "Guadalinex", "v4", "Toro" ], | ||
19 | + "angstrom" => [ "Angstrom", "", "" ], | ||
20 | }; | ||
21 | |||
22 | sub get_platform_info | ||
23 | @@ -143,6 +144,7 @@ sub ensure_distro_map | ||
24 | "vine-3.1" => "vine-3.0", | ||
25 | "vlos-1.2" => "gentoo", | ||
26 | "nexenta-1.0" => "solaris-2.11", | ||
27 | + "angstrom" => "debian", | ||
28 | ); | ||
29 | |||
30 | return $metamap{$distro} if ($metamap{$distro}); | ||
31 | @@ -375,6 +377,7 @@ sub guess | ||
32 | [ \&check_ark ], | ||
33 | [ \&check_yoper ], | ||
34 | [ \&check_distro_file, "/etc/yellowdog-release", "yellowdog", "^Yellow Dog Linux release (\\S+)" ], | ||
35 | + [ \&check_file_exists, "/etc/angstrom-version", "angstrom" ], | ||
36 | ], | ||
37 | "FreeBSD" => [[ \&check_freebsd ]], | ||
38 | "SunOS" => [[ \&check_solaris ]] | ||
39 | -- | ||
40 | 1.6.6.1 | ||
41 | |||
diff --git a/meta-gnome/recipes-gnome/system-tools/system-tools-backends_2.10.2.bb b/meta-gnome/recipes-gnome/system-tools/system-tools-backends_2.10.2.bb deleted file mode 100644 index 862c0ea30..000000000 --- a/meta-gnome/recipes-gnome/system-tools/system-tools-backends_2.10.2.bb +++ /dev/null | |||
@@ -1,54 +0,0 @@ | |||
1 | SUMMARY = "gnome system tools backends" | ||
2 | LICENSE = "GPLv3" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" | ||
4 | |||
5 | DEPENDS = "dbus dbus-glib glib-2.0 polkit" | ||
6 | |||
7 | inherit gnome pkgconfig update-rc.d gettext | ||
8 | |||
9 | SRC_URI[archive.md5sum] = "edae148b31342aecae035051adc70c74" | ||
10 | SRC_URI[archive.sha256sum] = "1dbe5177df46a9c7250735e05e77129fe7ec04840771accfa87690111ca2c670" | ||
11 | |||
12 | SRC_URI += " \ | ||
13 | file://system-tools-backends \ | ||
14 | " | ||
15 | |||
16 | # This needs to move to meta-angstrom | ||
17 | SRC_URI_append_angstrom = " \ | ||
18 | file://add-angstrom-distro.patch \ | ||
19 | " | ||
20 | |||
21 | EXTRA_OECONF = " --with-net-dbus=${libdir}/perl5 " | ||
22 | |||
23 | do_configure() { | ||
24 | rm missing || true | ||
25 | automake --add-missing | ||
26 | sed -i -e 's:CC=$(CC):CC="$(CC)":g' ${S}/Net-DBus/Makefile.am | ||
27 | sed -i -e 's:CC=$(CC):CC="$(CC)":g' ${S}/Net-DBus/Makefile.in | ||
28 | libtoolize --force --install | ||
29 | aclocal | ||
30 | gnu-configize | ||
31 | oe_runconf | ||
32 | cp ${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool ${S} | ||
33 | } | ||
34 | |||
35 | do_install_append () { | ||
36 | install -d ${D}/${sysconfdir}/init.d | ||
37 | install -m 0755 ${WORKDIR}/system-tools-backends ${D}/${sysconfdir}/init.d/ | ||
38 | } | ||
39 | |||
40 | INITSCRIPT_NAME = "system-tools-backends" | ||
41 | INITSCRIPT_PARAMS = "start 50 2 3 4 5 . stop 70 1 ." | ||
42 | |||
43 | # Shadow added so there is a full adduser/deluser | ||
44 | # (Gnome images tend to pull in shadow anyway) | ||
45 | RDEPENDS_${PN} = "shadow" | ||
46 | |||
47 | FILES_${PN} += " ${sysconfdir}/dbus-1/system.d" | ||
48 | FILES_${PN} += " ${libdir}/pkgconfig" | ||
49 | FILES_${PN} += " ${datadir}/dbus-1/system-services" | ||
50 | FILES_${PN} += " ${datadir}/system-tools-backends-2.0/files" | ||
51 | FILES_${PN} += " ${datadir}/system-tools-backends-2.0/scripts" | ||
52 | FILES_${PN} += " ${datadir}/polkit*" | ||
53 | |||
54 | PNBLACKLIST[system-tools-backends] ?= "does not build with distroless qemuarm as reported in 'State of bitbake world' thread, nobody volunteered to fix them - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-gnome/zenity/files/0001-Makefile.am-don-t-build-help.patch b/meta-gnome/recipes-gnome/zenity/files/0001-Makefile.am-don-t-build-help.patch deleted file mode 100644 index 50c9cb99f..000000000 --- a/meta-gnome/recipes-gnome/zenity/files/0001-Makefile.am-don-t-build-help.patch +++ /dev/null | |||
@@ -1,39 +0,0 @@ | |||
1 | From 17e5606f8c4c8ff26ba18489aad4c484cf8e2949 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Mon, 29 Apr 2013 11:34:27 +0200 | ||
4 | Subject: [PATCH] Makefile.am: don't build help | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | it crashes with: | ||
10 | |||
11 | | warning: failed to load external entity "/usr/share/xml/gnome/xslt/docbook/omf/db2omf.xsl" | ||
12 | | cannot parse /usr/share/xml/gnome/xslt/docbook/omf/db2omf.xsl | ||
13 | | make[2]: *** [zenity-bg.omf] Error 1 | ||
14 | | make[2]: Leaving directory `/home/andreas/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/zenity/2.32.1-r2/zenity-2.32.1/help' | ||
15 | |||
16 | Upstream-Status: Inappropriate [configuration] | ||
17 | |||
18 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
19 | --- | ||
20 | Makefile.am | 3 +-- | ||
21 | 1 files changed, 1 insertions(+), 2 deletions(-) | ||
22 | |||
23 | diff --git a/Makefile.am b/Makefile.am | ||
24 | index 03accc1..caec7f0 100644 | ||
25 | --- a/Makefile.am | ||
26 | +++ b/Makefile.am | ||
27 | @@ -1,8 +1,7 @@ | ||
28 | SUBDIRS = \ | ||
29 | src \ | ||
30 | po \ | ||
31 | - data \ | ||
32 | - help | ||
33 | + data | ||
34 | |||
35 | EXTRA_DIST = \ | ||
36 | autogen.sh \ | ||
37 | -- | ||
38 | 1.7.6.5 | ||
39 | |||
diff --git a/meta-gnome/recipes-gnome/zenity/zenity_2.32.1.bb b/meta-gnome/recipes-gnome/zenity/zenity_2.32.1.bb deleted file mode 100644 index bd9f7a0ab..000000000 --- a/meta-gnome/recipes-gnome/zenity/zenity_2.32.1.bb +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | SUMMARY = "Display dialog boxes from the commandline and shell scripts" | ||
2 | LICENSE = "LGPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" | ||
4 | |||
5 | PR = "r2" | ||
6 | |||
7 | PNBLACKLIST[zenity] ?= "BROKEN: doesn't build with B!=S - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
8 | |||
9 | DEPENDS = "gtk+ glib-2.0 libnotify gnome-doc-utils" | ||
10 | |||
11 | inherit gnomebase | ||
12 | SRC_URI += "file://0001-Makefile.am-don-t-build-help.patch" | ||
13 | SRC_URI[archive.md5sum] = "aa66ec35451b16e424519b4973082170" | ||
14 | SRC_URI[archive.sha256sum] = "8838be041a07364b62a4281c971392e4a09bb01bb3237a836ec0457ec0ea18ac" | ||
15 | |||
16 | EXTRA_OECONF += "--disable-scrollkeeper" | ||
17 | # remove -I/usr/include from zenity_CPPFLAGS | ||
18 | do_configure_prepend() { | ||
19 | sed -i -e '/-I$(includedir)/d' src/Makefile.am | ||
20 | } | ||
21 | |||
diff --git a/meta-gnome/recipes-support/florence/files/0001-Fix-glib-includes.patch b/meta-gnome/recipes-support/florence/files/0001-Fix-glib-includes.patch deleted file mode 100644 index 83e598e6a..000000000 --- a/meta-gnome/recipes-support/florence/files/0001-Fix-glib-includes.patch +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | From c8419ef05ff92ffa3de2e626eb6acd5d2df3baa1 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Tue, 15 May 2012 13:40:05 +0200 | ||
4 | Subject: [PATCH] Fix glib includes | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | Upstream-Status: unknown | ||
9 | |||
10 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
11 | --- | ||
12 | src/trace.c | 5 +---- | ||
13 | 1 files changed, 1 insertions(+), 4 deletions(-) | ||
14 | |||
15 | diff --git a/src/trace.c b/src/trace.c | ||
16 | index 5ea5c13..774c56d 100644 | ||
17 | --- a/src/trace.c | ||
18 | +++ b/src/trace.c | ||
19 | @@ -21,10 +21,7 @@ | ||
20 | |||
21 | #include "trace.h" | ||
22 | #include "system.h" | ||
23 | -#include <glib/gprintf.h> | ||
24 | -#include <glib/gutils.h> | ||
25 | -#include <glib/gslist.h> | ||
26 | -#include <glib/gstrfuncs.h> | ||
27 | +#include <glib.h> | ||
28 | #include <stdio.h> | ||
29 | #include <stdarg.h> | ||
30 | |||
31 | -- | ||
32 | 1.7.6.5 | ||
33 | |||
diff --git a/meta-gnome/recipes-support/goffice/goffice/0001-configure.ac-fix-paths-to-introspection-tools.patch b/meta-gnome/recipes-support/goffice/goffice/0001-configure.ac-fix-paths-to-introspection-tools.patch deleted file mode 100644 index a645978d9..000000000 --- a/meta-gnome/recipes-support/goffice/goffice/0001-configure.ac-fix-paths-to-introspection-tools.patch +++ /dev/null | |||
@@ -1,41 +0,0 @@ | |||
1 | From 8e158c16cd15fff08b42ed86edc55816d3387837 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
3 | Date: Fri, 19 Feb 2016 16:04:24 +0200 | ||
4 | Subject: [PATCH] configure.ac: fix paths to introspection tools | ||
5 | |||
6 | They need to be prefixed with $PKG_CONFIG_SYSROOT_DIR | ||
7 | |||
8 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | ||
9 | --- | ||
10 | configure.ac | 8 ++++---- | ||
11 | 1 file changed, 4 insertions(+), 4 deletions(-) | ||
12 | |||
13 | diff --git a/configure.ac b/configure.ac | ||
14 | index 6d2b747..3b28463 100644 | ||
15 | --- a/configure.ac | ||
16 | +++ b/configure.ac | ||
17 | @@ -706,9 +706,9 @@ if test "x$found_introspection" = "xyes"; then | ||
18 | dnl python where to find libgoffice, so you might also need to set | ||
19 | dnl LD_LIBRARY_PATH. | ||
20 | |||
21 | - INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0` | ||
22 | - INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0` | ||
23 | - INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0` | ||
24 | + INTROSPECTION_SCANNER=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0` | ||
25 | + INTROSPECTION_COMPILER=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0` | ||
26 | + INTROSPECTION_GENERATE=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0` | ||
27 | if test "x$INTROSPECTION_GIRDIR" = x; then | ||
28 | INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0` | ||
29 | fi | ||
30 | @@ -717,7 +717,7 @@ if test "x$found_introspection" = "xyes"; then | ||
31 | fi | ||
32 | INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0` | ||
33 | INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0` | ||
34 | - INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection | ||
35 | + INTROSPECTION_MAKEFILE=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection | ||
36 | else | ||
37 | INTROSPECTION_SCANNER= | ||
38 | INTROSPECTION_COMPILER= | ||
39 | -- | ||
40 | 2.7.0 | ||
41 | |||
diff --git a/meta-gnome/recipes-support/goffice/goffice_0.10.1.bb b/meta-gnome/recipes-support/goffice/goffice_0.10.1.bb deleted file mode 100644 index 6a2080d4c..000000000 --- a/meta-gnome/recipes-support/goffice/goffice_0.10.1.bb +++ /dev/null | |||
@@ -1,51 +0,0 @@ | |||
1 | DESCRIPTION="Gnome Office Library" | ||
2 | |||
3 | LICENSE="GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=6dc33ff21e1ba1ac1a2a1069d361e29e" | ||
5 | |||
6 | DEPENDS = "libxml-parser-perl-native glib-2.0 gtk+3 pango cairo libgsf libpcre libxml2 libart-lgpl librsvg intltool" | ||
7 | |||
8 | inherit gnomebase pkgconfig perlnative gobject-introspection | ||
9 | |||
10 | GNOME_COMPRESS_TYPE = "xz" | ||
11 | |||
12 | SRC_URI += "file://0001-configure.ac-fix-paths-to-introspection-tools.patch" | ||
13 | |||
14 | SRC_URI[archive.md5sum] = "90fd17c6fe205b779571e00d9b0b4727" | ||
15 | SRC_URI[archive.sha256sum] = "5c38f4e81e874cc8e89481b080f77c47c72bfd6fe2526f4fc2ef87c17f96cad0" | ||
16 | |||
17 | FILES_${PN}-dbg += "${libdir}/goffice/${PV}/plugins/*/.debug" | ||
18 | |||
19 | RRECOMMENDS_${PN} = " \ | ||
20 | goffice-plugin-plot-barcol \ | ||
21 | goffice-plugin-plot-distrib \ | ||
22 | goffice-plugin-plot-pie \ | ||
23 | goffice-plugin-plot-radar \ | ||
24 | goffice-plugin-plot-surface \ | ||
25 | goffice-plugin-plot-xy \ | ||
26 | goffice-plugin-reg-linear \ | ||
27 | goffice-plugin-reg-logfit \ | ||
28 | goffice-plugin-smoothing \ | ||
29 | " | ||
30 | |||
31 | FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*${SOLIBS} \ | ||
32 | ${sysconfdir} ${sharedstatedir} ${localstatedir} \ | ||
33 | ${base_bindir}/* ${base_sbindir}/* \ | ||
34 | ${base_libdir}/*${SOLIBS} \ | ||
35 | ${datadir}/${PN} \ | ||
36 | ${datadir}/pixmaps ${datadir}/applications \ | ||
37 | ${datadir}/idl ${datadir}/omf ${datadir}/sounds \ | ||
38 | ${libdir}/bonobo/servers" | ||
39 | |||
40 | FILES_${PN}-locale = "${libdir}/locale" | ||
41 | |||
42 | PACKAGES_DYNAMIC += "^goffice-plugin-.*" | ||
43 | |||
44 | python populate_packages_prepend () { | ||
45 | goffice_libdir = d.expand('${libdir}/goffice/${PV}/plugins/') | ||
46 | |||
47 | do_split_packages(d, goffice_libdir, '(.*)', 'goffice-plugin-%s', 'Goffice plugin for %s', allow_dirs=True) | ||
48 | } | ||
49 | |||
50 | # | ../../goffice-0.10.1/goffice/math/go-complex.c:75:3: error: format not a string literal, argument types not checked [-Werror=format-nonliteral] | ||
51 | PNBLACKLIST[goffice] ?= "BROKEN: fails to build with gcc-6 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gnome/recipes-support/tracker/tracker-0.14.2/enable-sqlite-crosscompile.patch b/meta-gnome/recipes-support/tracker/tracker-0.14.2/enable-sqlite-crosscompile.patch deleted file mode 100644 index 5dadda2a2..000000000 --- a/meta-gnome/recipes-support/tracker/tracker-0.14.2/enable-sqlite-crosscompile.patch +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | Index: tracker-0.10.17/m4/sqlite-threadsafe.m4 | ||
2 | =================================================================== | ||
3 | --- tracker-0.10.17.orig/m4/sqlite-threadsafe.m4 | ||
4 | +++ tracker-0.10.17/m4/sqlite-threadsafe.m4 | ||
5 | @@ -45,7 +45,7 @@ int main () | ||
6 | ]])], | ||
7 | [ax_cv_sqlite_threadsafe=yes], | ||
8 | [ax_cv_sqlite_threadsafe=no], | ||
9 | - [ax_cv_sqlite_threadsafe=no])]) | ||
10 | + [ax_cv_sqlite_threadsafe=yes])]) | ||
11 | |||
12 | LIBS="$save_LIBS" | ||
13 | ]) | ||
diff --git a/meta-gnome/recipes-support/tracker/tracker-0.14.2/fix-removable-media-detection.patch b/meta-gnome/recipes-support/tracker/tracker-0.14.2/fix-removable-media-detection.patch deleted file mode 100644 index 6c3d9de10..000000000 --- a/meta-gnome/recipes-support/tracker/tracker-0.14.2/fix-removable-media-detection.patch +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | Index: tracker-0.14.2/src/libtracker-miner/tracker-storage.c | ||
2 | =================================================================== | ||
3 | --- tracker-0.14.2.orig/src/libtracker-miner/tracker-storage.c 2011-08-03 13:53:16.000000000 +0100 | ||
4 | +++ tracker-0.14.2/src/libtracker-miner/tracker-storage.c 2012-09-10 08:25:18.322215126 +0100 | ||
5 | @@ -20,6 +20,7 @@ | ||
6 | #include "config.h" | ||
7 | |||
8 | #include <string.h> | ||
9 | +#include <sys/stat.h> | ||
10 | |||
11 | #include <gio/gio.h> | ||
12 | #include <gio/gunixmounts.h> | ||
13 | @@ -646,6 +647,17 @@ | ||
14 | gchar *content_type; | ||
15 | gboolean is_multimedia; | ||
16 | gboolean is_blank; | ||
17 | + struct stat st; | ||
18 | + | ||
19 | + /* | ||
20 | + * Consider all files under /media to be | ||
21 | + * removable unless the file .this-is-root is | ||
22 | + * present. | ||
23 | + */ | ||
24 | + if (!strncmp (mount_path, "/media/", | ||
25 | + strlen ("/media/")) && | ||
26 | + stat ("/media/.this-is-root", &st)) | ||
27 | + is_removable = TRUE; | ||
28 | |||
29 | content_type = mount_guess_content_type (mount, &is_optical, &is_multimedia, &is_blank); | ||
30 | |||
diff --git a/meta-gnome/recipes-support/tracker/tracker-0.14.2/giflib5-support.patch b/meta-gnome/recipes-support/tracker/tracker-0.14.2/giflib5-support.patch deleted file mode 100644 index fab3371f0..000000000 --- a/meta-gnome/recipes-support/tracker/tracker-0.14.2/giflib5-support.patch +++ /dev/null | |||
@@ -1,126 +0,0 @@ | |||
1 | src/tracker-extract/tracker-extract-gif.c | 36 +++++++++++++++++++++++++++++ | ||
2 | 1 file changed, 36 insertions(+) | ||
3 | --- a/src/tracker-extract/tracker-extract-gif.c | ||
4 | +++ a/src/tracker-extract/tracker-extract-gif.c | ||
5 | @@ -75,6 +75,39 @@ | ||
6 | return (GIF_OK); | ||
7 | } | ||
8 | |||
9 | +#if GIFLIB_MAJOR >= 5 | ||
10 | +static inline void | ||
11 | +gif_error (const gchar *action, int err) | ||
12 | +{ | ||
13 | + const char *str = GifErrorString (err); | ||
14 | + if (str != NULL) { | ||
15 | + g_message ("%s, error: '%s'", action, str); | ||
16 | + } else { | ||
17 | + g_message ("%s, undefined error %d", action, err); | ||
18 | + } | ||
19 | +} | ||
20 | +#else /* GIFLIB_MAJOR >= 5 */ | ||
21 | +static inline void print_gif_error() | ||
22 | +{ | ||
23 | +#if defined(GIFLIB_MAJOR) && defined(GIFLIB_MINOR) && ((GIFLIB_MAJOR == 4 && GIFLIB_MINOR >= 2) || GIFLIB_MAJOR > 4) | ||
24 | + const char *str = GifErrorString (); | ||
25 | + if (str != NULL) { | ||
26 | + g_message ("GIF, error: '%s'", str); | ||
27 | + } else { | ||
28 | + g_message ("GIF, undefined error"); | ||
29 | + } | ||
30 | +#else | ||
31 | + PrintGifError(); | ||
32 | +#endif | ||
33 | +} | ||
34 | +#endif /* GIFLIB_MAJOR >= 5 */ | ||
35 | + | ||
36 | +/* giflib 5.1 changed the API of DGifCloseFile to take two arguments */ | ||
37 | +#if !defined(GIFLIB_MAJOR) || \ | ||
38 | + !(GIFLIB_MAJOR > 5 || (GIFLIB_MAJOR == 5 && GIFLIB_MINOR >= 1)) | ||
39 | +#define DGifCloseFile(a, b) DGifCloseFile(a) | ||
40 | +#endif | ||
41 | + | ||
42 | static void | ||
43 | read_metadata (TrackerSparqlBuilder *preupdate, | ||
44 | TrackerSparqlBuilder *metadata, | ||
45 | @@ -100,14 +133,22 @@ | ||
46 | ExtBlock extBlock; | ||
47 | |||
48 | if (DGifGetRecordType(gifFile, &RecordType) == GIF_ERROR) { | ||
49 | - PrintGifError(); | ||
50 | +#if GIFLIB_MAJOR < 5 | ||
51 | + print_gif_error (); | ||
52 | +#else /* GIFLIB_MAJOR < 5 */ | ||
53 | + gif_error ("Could not read next GIF record type", gifFile->Error); | ||
54 | +#endif /* GIFLIB_MAJOR < 5 */ | ||
55 | return; | ||
56 | } | ||
57 | |||
58 | switch (RecordType) { | ||
59 | case IMAGE_DESC_RECORD_TYPE: | ||
60 | if (DGifGetImageDesc(gifFile) == GIF_ERROR) { | ||
61 | - PrintGifError(); | ||
62 | +#if GIFLIB_MAJOR < 5 | ||
63 | + print_gif_error(); | ||
64 | +#else /* GIFLIB_MAJOR < 5 */ | ||
65 | + gif_error ("Could not get GIF record information", gifFile->Error); | ||
66 | +#endif /* GIFLIB_MAJOR < 5 */ | ||
67 | return; | ||
68 | } | ||
69 | |||
70 | @@ -117,7 +158,11 @@ | ||
71 | framedata = g_malloc (framewidth*frameheight); | ||
72 | |||
73 | if (DGifGetLine(gifFile, framedata, framewidth*frameheight)==GIF_ERROR) { | ||
74 | - PrintGifError(); | ||
75 | +#if GIFLIB_MAJOR < 5 | ||
76 | + print_gif_error(); | ||
77 | +#else /* GIFLIB_MAJOR < 5 */ | ||
78 | + gif_error ("Could not load a block of GIF pixes", gifFile->Error); | ||
79 | +#endif /* GIFLIB_MAJOR < 5 */ | ||
80 | return; | ||
81 | } | ||
82 | |||
83 | @@ -593,6 +638,9 @@ | ||
84 | gchar *filename, *uri; | ||
85 | GFile *file; | ||
86 | int fd; | ||
87 | +#if GIFLIB_MAJOR >= 5 | ||
88 | + int err; | ||
89 | +#endif | ||
90 | |||
91 | preupdate = tracker_extract_info_get_preupdate_builder (info); | ||
92 | metadata = tracker_extract_info_get_metadata_builder (info); | ||
93 | @@ -617,8 +665,14 @@ | ||
94 | return FALSE; | ||
95 | } | ||
96 | |||
97 | +#if GIFLIB_MAJOR < 5 | ||
98 | if ((gifFile = DGifOpenFileHandle (fd)) == NULL) { | ||
99 | - PrintGifError (); | ||
100 | + print_gif_error (); | ||
101 | +#else /* GIFLIB_MAJOR < 5 */ | ||
102 | + if ((gifFile = DGifOpenFileHandle (fd, &err)) == NULL) { | ||
103 | + gif_error ("Could not open GIF file with handle", err); | ||
104 | +#endif /* GIFLIB_MAJOR < 5 */ | ||
105 | + g_free (filename); | ||
106 | close (fd); | ||
107 | return FALSE; | ||
108 | } | ||
109 | @@ -637,10 +691,15 @@ | ||
110 | g_string_free (where, TRUE); | ||
111 | |||
112 | g_free (uri); | ||
113 | - | ||
114 | +#if GIFLIB_MAJOR < 5 | ||
115 | if (DGifCloseFile (gifFile) != GIF_OK) { | ||
116 | - PrintGifError (); | ||
117 | + print_gif_error (); | ||
118 | + } | ||
119 | +#else /* GIFLIB_MAJOR < 5 */ | ||
120 | + if (DGifCloseFile (gifFile, NULL) != GIF_OK) { | ||
121 | + gif_error ("Could not close GIF file", gifFile->Error); | ||
122 | } | ||
123 | +#endif /* GIFLIB_MAJOR < 5 */ | ||
124 | |||
125 | return TRUE; | ||
126 | } | ||
diff --git a/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb b/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb deleted file mode 100644 index eb36a120f..000000000 --- a/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb +++ /dev/null | |||
@@ -1,88 +0,0 @@ | |||
1 | DESCRIPTION = "Tracker is a tool designed to extract information and metadata about your personal data so that it can be searched easily and quickly." | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=ee31012bf90e7b8c108c69f197f3e3a4" | ||
4 | DEPENDS = "file gstreamer dbus libexif gettext sqlite3 icu gst-plugins-base libgnome-keyring poppler tiff enca libgsf libunistring giflib taglib bzip2 upower gtk+3 libgee networkmanager intltool-native" | ||
5 | |||
6 | RDEPENDS_${PN} += " gvfs gsettings-desktop-schemas" | ||
7 | |||
8 | RDEPENDS_${PN}-nautilus-extension += "nautilus" | ||
9 | HOMEPAGE = "http://projects.gnome.org/tracker/" | ||
10 | |||
11 | PR = "r7" | ||
12 | |||
13 | inherit autotools pkgconfig gnomebase gettext gsettings systemd gobject-introspection | ||
14 | |||
15 | VER_DIR = "${@gnome_verdir("${PV}")}" | ||
16 | SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/tracker/${VER_DIR}/tracker-${PV}.tar.xz \ | ||
17 | file://enable-sqlite-crosscompile.patch \ | ||
18 | file://fix-removable-media-detection.patch \ | ||
19 | file://giflib5-support.patch \ | ||
20 | file://90tracker \ | ||
21 | file://tracker-store.service \ | ||
22 | file://tracker-miner-fs.service \ | ||
23 | file://tracker-dbus.service \ | ||
24 | " | ||
25 | |||
26 | SYSTEMD_SERVICE_${PN} = " tracker-store.service tracker-miner-fs.service tracker-dbus.service " | ||
27 | SYSTEMD_AUTO_ENABLE = "disable" | ||
28 | |||
29 | EXTRA_OECONF += " tracker_cv_have_ioprio=yes" | ||
30 | |||
31 | PACKAGECONFIG ?= "nautilus" | ||
32 | PACKAGECONFIG[nautilus] = "--enable-nautilus-extension,--disable-nautilus-extension,nautilus" | ||
33 | |||
34 | # Disable the desktop-centric miners | ||
35 | EXTRA_OECONF += "--disable-miner-thunderbird --disable-miner-firefox \ | ||
36 | --disable-miner-evolution --disable-miner-flickr" | ||
37 | |||
38 | LEAD_SONAME = "libtrackerclient.so.0" | ||
39 | |||
40 | do_compile_prepend() { | ||
41 | export GIR_EXTRA_LIBS_PATH="${B}/src/libtracker-sparql-backend/.libs:${B}/src/libtracker-data/.libs:${B}/src/libtracker-common/.libs" | ||
42 | } | ||
43 | |||
44 | do_install_append() { | ||
45 | cp -PpR ${D}${STAGING_DATADIR}/* ${D}${datadir}/ || true | ||
46 | # install -d ${D}/${sysconfdir}/X11/Xsession.d/ | ||
47 | # install -m 0755 ${WORKDIR}/90tracker ${D}/${sysconfdir}/X11/Xsession.d/ | ||
48 | |||
49 | install -d ${D}${systemd_unitdir}/system | ||
50 | install -m 0644 ${WORKDIR}/tracker-store.service ${D}${systemd_unitdir}/system | ||
51 | install -m 0644 ${WORKDIR}/tracker-miner-fs.service ${D}${systemd_unitdir}/system | ||
52 | install -m 0644 ${WORKDIR}/tracker-dbus.service ${D}${systemd_unitdir}/system | ||
53 | sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' \ | ||
54 | -e 's,@BASE_BINDIR@,${base_bindir},g' \ | ||
55 | ${D}${systemd_unitdir}/system/*.service | ||
56 | } | ||
57 | |||
58 | PACKAGES =+ "${PN}-tests ${PN}-vala ${PN}-nautilus-extension" | ||
59 | |||
60 | FILES_${PN} += "${datadir}/dbus-1/ \ | ||
61 | ${libdir}/tracker-${VER_DIR}/*.so.* \ | ||
62 | ${libdir}/tracker-${VER_DIR}/extract-modules/*.so \ | ||
63 | ${libdir}/tracker-${VER_DIR}/writeback-modules/*.so \ | ||
64 | ${datadir}/icons/hicolor/*/apps/tracker.* \ | ||
65 | ${libdir}/nautilus/extensions-2.0/*.la \ | ||
66 | ${datadir}/glib-2.0/schemas/* \ | ||
67 | ${systemd_unitdir}/system/tracker-store.service \ | ||
68 | ${systemd_unitdir}/system/tracker-miner-fs.service \ | ||
69 | ${systemd_unitdir}/system/tracker-dbus.service \ | ||
70 | " | ||
71 | |||
72 | FILES_${PN}-dev += "${libdir}/tracker-${VER_DIR}/*.la \ | ||
73 | ${libdir}/tracker-${VER_DIR}/*.so \ | ||
74 | ${libdir}/tracker-${VER_DIR}/*/*.la \ | ||
75 | ${libdir}/tracker-${VER_DIR}/extract-modules/*.la" | ||
76 | |||
77 | FILES_${PN}-staticdev += "${libdir}/nautilus/extensions-2.0/*.a" | ||
78 | FILES_${PN}-dbg += "${libdir}/*/*/.debug \ | ||
79 | ${libdir}/*/.debug" | ||
80 | FILES_${PN}-tests = "${datadir}/tracker-tests/" | ||
81 | FILES_${PN}-vala = "${datadir}/vala/" | ||
82 | FILES_${PN}-nautilus-extension += "${libdir}/nautilus/extensions-2.0/*.so" | ||
83 | |||
84 | SRC_URI[md5sum] = "f3a871beeebf86fd752863ebd22af9ac" | ||
85 | SRC_URI[sha256sum] = "9b59330aa2e9e09feee587ded895e9247f71fc25f46b023d616d9969314bc7f1" | ||
86 | |||
87 | # http://errors.yoctoproject.org/Errors/Details/81007/ | ||
88 | PNBLACKLIST[tracker] ?= "BROKEN: fails to build with new binutils-2.27 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gpe/recipes-graphics/gpe-scap/gpe-scap/0001-Fix-the-ordering-of-LDADD-options-to-fix-a-compilati.patch b/meta-gpe/recipes-graphics/gpe-scap/gpe-scap/0001-Fix-the-ordering-of-LDADD-options-to-fix-a-compilati.patch deleted file mode 100644 index c976ff470..000000000 --- a/meta-gpe/recipes-graphics/gpe-scap/gpe-scap/0001-Fix-the-ordering-of-LDADD-options-to-fix-a-compilati.patch +++ /dev/null | |||
@@ -1,28 +0,0 @@ | |||
1 | From c551dece6768f67b74b508e9c0133320205ef2df Mon Sep 17 00:00:00 2001 | ||
2 | From: Koen Kooi <koen@dominion.thruhere.net> | ||
3 | Date: Mon, 23 May 2011 15:03:29 +0200 | ||
4 | Subject: [PATCH] Fix the ordering of LDADD options to fix a compilation failure. | ||
5 | |||
6 | "invalid DSO for symbol `XUngrabServer' definition " | ||
7 | |||
8 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | ||
9 | --- | ||
10 | src/Makefile.am | 2 +- | ||
11 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
12 | |||
13 | diff --git a/src/Makefile.am b/src/Makefile.am | ||
14 | index 2fddc98..45bd850 100644 | ||
15 | --- a/src/Makefile.am | ||
16 | +++ b/src/Makefile.am | ||
17 | @@ -6,7 +6,7 @@ INCLUDES = -DPKGDATADIR=\"$(pkgdatadir)\" \ | ||
18 | $(GLADE_CFLAGS) \ | ||
19 | -D_GNU_SOURCE | ||
20 | |||
21 | -LIBS = $(GTK_LIBS) $(GLADE_LIBS) $(XSHAPE_LIBS) | ||
22 | +LIBS = -lX11 $(XSHAPE_LIBS) $(GLADE_LIBS) $(GTK_LIBS) | ||
23 | |||
24 | bin_PROGRAMS = gpe-scap | ||
25 | gpe_scap_SOURCES = scr-i18n.h \ | ||
26 | -- | ||
27 | 1.6.6.1 | ||
28 | |||
diff --git a/meta-gpe/recipes-graphics/gpe-scap/gpe-scap/use.libsoup-2.4.patch b/meta-gpe/recipes-graphics/gpe-scap/gpe-scap/use.libsoup-2.4.patch deleted file mode 100644 index 3cfe5d724..000000000 --- a/meta-gpe/recipes-graphics/gpe-scap/gpe-scap/use.libsoup-2.4.patch +++ /dev/null | |||
@@ -1,42 +0,0 @@ | |||
1 | diff -uNr gpe-scap-1.4.orig/configure.ac gpe-scap-1.4/configure.ac | ||
2 | --- gpe-scap-1.4.orig/configure.ac 2009-03-05 18:53:53.000000000 +0100 | ||
3 | +++ gpe-scap-1.4/configure.ac 2012-05-06 10:18:29.348308322 +0200 | ||
4 | @@ -24,7 +24,7 @@ | ||
5 | AC_SUBST(LDFLAGS) | ||
6 | |||
7 | dnl libraries | ||
8 | -GTK_MODULES="gtk+-2.0 >= 2.6.0 gthread-2.0 libsoup-2.2" | ||
9 | +GTK_MODULES="gtk+-2.0 >= 2.6.0 gthread-2.0 libsoup-2.4" | ||
10 | PKG_CHECK_MODULES(GTK, $GTK_MODULES) | ||
11 | AC_SUBST(GTK_CFLAGS) | ||
12 | AC_SUBST(GTK_LIBS) | ||
13 | diff -uNr gpe-scap-1.4.orig/src/scr-shot-common.c gpe-scap-1.4/src/scr-shot-common.c | ||
14 | --- gpe-scap-1.4.orig/src/scr-shot-common.c 2009-03-05 12:13:20.000000000 +0100 | ||
15 | +++ gpe-scap-1.4/src/scr-shot-common.c 2012-05-06 10:30:52.299371576 +0200 | ||
16 | @@ -182,12 +182,12 @@ | ||
17 | /* create session and message */ | ||
18 | session = soup_session_sync_new (); | ||
19 | message = soup_message_new ("POST", url); | ||
20 | - soup_message_add_header (message->request_headers, "User-Agent", "gpe-scap/" VERSION); | ||
21 | - soup_message_add_header (message->request_headers, "Accept", | ||
22 | + soup_message_headers_append (message->request_headers, "User-Agent", "gpe-scap/" VERSION); | ||
23 | + soup_message_headers_append (message->request_headers, "Accept", | ||
24 | "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5"); | ||
25 | -/* soup_message_add_header (message->request_headers, "Accept-Charset", "Accept-Charset=ISO-8859-1,utf-8;q=0.7,*;q=0.7"); | ||
26 | - soup_message_add_header (message->request_headers, "Keep-Alive", "100"); | ||
27 | - soup_message_add_header (message->request_headers, "Connection", "keep-alive"); | ||
28 | +/* soup_message_headers_append (message->request_headers, "Accept-Charset", "Accept-Charset=ISO-8859-1,utf-8;q=0.7,*;q=0.7"); | ||
29 | + soup_message_headers_append (message->request_headers, "Keep-Alive", "100"); | ||
30 | + soup_message_headers_append (message->request_headers, "Connection", "keep-alive"); | ||
31 | soup_message_wire add_header (message->request_headers, "Accept-Encoding", "gzip,deflate"); | ||
32 | */ | ||
33 | /* build message body */ | ||
34 | @@ -207,7 +207,7 @@ | ||
35 | memcpy (body + strlen (cmd) + len, tail, strlen (tail)); | ||
36 | |||
37 | soup_message_set_request (message, "multipart/form-data; boundary="SEP, | ||
38 | - SOUP_BUFFER_SYSTEM_OWNED, body, content_len); | ||
39 | + SOUP_MEMORY_TAKE, body, content_len); | ||
40 | |||
41 | soup_session_send_message (session, message); | ||
42 | |||
diff --git a/meta-gpe/recipes-graphics/gpe-scap/gpe-scap_1.4.bb b/meta-gpe/recipes-graphics/gpe-scap/gpe-scap_1.4.bb deleted file mode 100644 index db50e38e3..000000000 --- a/meta-gpe/recipes-graphics/gpe-scap/gpe-scap_1.4.bb +++ /dev/null | |||
@@ -1,24 +0,0 @@ | |||
1 | SUMMARY = "A GPE application that allows you to take screenshots" | ||
2 | SECTION = "gpe" | ||
3 | |||
4 | LICENSE = "GPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" | ||
6 | |||
7 | DEPENDS = "glib-2.0 gtk+ libgpewidget libglade libsoup-2.4" | ||
8 | |||
9 | PR = "r3" | ||
10 | |||
11 | SRC_URI[md5sum] = "eaf545561b0ad981c9d01833f30fcf95" | ||
12 | SRC_URI[sha256sum] = "762778421fae7c62d5ec6a9d27986166c0dbbe2ff51fc10bb9b8baff5c367534" | ||
13 | |||
14 | GPE_TARBALL_SUFFIX = "bz2" | ||
15 | |||
16 | inherit gpe autotools pkgconfig | ||
17 | |||
18 | SRC_URI += "file://0001-Fix-the-ordering-of-LDADD-options-to-fix-a-compilati.patch \ | ||
19 | file://use.libsoup-2.4.patch \ | ||
20 | " | ||
21 | |||
22 | RREPLACES_${PN} = "gpe-screenshot" | ||
23 | |||
24 | PNBLACKLIST[gpe-scap] ?= "Depends on blacklisted libgpewidget - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gpe/recipes-graphics/libgpewidget/libgpewidget/glib-2.32.patch b/meta-gpe/recipes-graphics/libgpewidget/libgpewidget/glib-2.32.patch deleted file mode 100644 index f590caa46..000000000 --- a/meta-gpe/recipes-graphics/libgpewidget/libgpewidget/glib-2.32.patch +++ /dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | diff -uNr libgpewidget-0.117.orig/gpehelp.c libgpewidget-0.117/gpehelp.c | ||
2 | --- libgpewidget-0.117.orig/gpehelp.c 2006-10-12 12:20:33.000000000 +0200 | ||
3 | +++ libgpewidget-0.117/gpehelp.c 2012-04-30 07:45:57.813293792 +0200 | ||
4 | @@ -33,7 +33,6 @@ | ||
5 | #include <gdk-pixbuf/gdk-pixbuf.h> | ||
6 | #include <gdk/gdk.h> | ||
7 | #include <glib.h> | ||
8 | -#include <glib/gkeyfile.h> | ||
9 | |||
10 | |||
11 | /* helper function definitions*/ | ||
diff --git a/meta-gpe/recipes-graphics/libgpewidget/libgpewidget/pkgconfig.patch b/meta-gpe/recipes-graphics/libgpewidget/libgpewidget/pkgconfig.patch deleted file mode 100644 index 317e01a9b..000000000 --- a/meta-gpe/recipes-graphics/libgpewidget/libgpewidget/pkgconfig.patch +++ /dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | --- configure.ac.orig 2006-02-04 17:37:55.000000000 +0100 | ||
2 | +++ configure.ac 2006-02-06 00:56:28.000000000 +0100 | ||
3 | @@ -36,7 +36,7 @@ | ||
4 | ENABLE_CAIRO=$enableval | ||
5 | ], | ||
6 | [ | ||
7 | - PKG_CHECK_EXISTS(cairo, [ENABLE_CAIRO=yes], [ENABLE_CAIRO=no]) | ||
8 | + PKG_CHECK_MODULES(cairo, [ENABLE_CAIRO=yes], [ENABLE_CAIRO=no]) | ||
9 | ]) | ||
10 | |||
11 | ENABLE_HILDON=false | ||
diff --git a/meta-gpe/recipes-graphics/libgpewidget/libgpewidget_0.117.bb b/meta-gpe/recipes-graphics/libgpewidget/libgpewidget_0.117.bb deleted file mode 100644 index 31e247eb1..000000000 --- a/meta-gpe/recipes-graphics/libgpewidget/libgpewidget_0.117.bb +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | DESCRIPTION = "libgpewidget contains a collection of widgets and other common code shared by many GPE applications." | ||
2 | SECTION = "gpe/libs" | ||
3 | |||
4 | LICENSE = "LGPLv2.1" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=d8045f3b8f929c1cb29a1e3fd737b499" | ||
6 | |||
7 | DEPENDS = "gtk+ cairo libxinerama libxcomposite libxrender" | ||
8 | PR = "r5" | ||
9 | |||
10 | inherit gpe pkgconfig autotools gtk-doc | ||
11 | |||
12 | SRC_URI += "file://pkgconfig.patch;striplevel=0 \ | ||
13 | file://glib-2.32.patch \ | ||
14 | " | ||
15 | SRC_URI[md5sum] = "b85a839264a35d0faf9a1a38c486e189" | ||
16 | SRC_URI[sha256sum] = "f96d30c09b0395ea4e146730fd52d9ea303b619bb139051d9f12d3f868a9e18c" | ||
17 | |||
18 | GPE_TARBALL_SUFFIX = "bz2" | ||
19 | |||
20 | EXTRA_OECONF = "--enable-cairo --disable-gtk-doc" | ||
21 | LDFLAGS += " -L${STAGING_LIBDIR}" | ||
22 | |||
23 | PACKAGES =+ "${PN}-bin" | ||
24 | |||
25 | PNBLACKLIST[libgpewidget] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130594/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gpe/recipes-graphics/minilite/minilite/makefile-fix.patch b/meta-gpe/recipes-graphics/minilite/minilite/makefile-fix.patch deleted file mode 100644 index 1be6ceaa8..000000000 --- a/meta-gpe/recipes-graphics/minilite/minilite/makefile-fix.patch +++ /dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | --- /tmp/Makefile.old 2006-01-16 22:51:34.000000000 +0100 | ||
2 | +++ minilite-050/Makefile 2009-05-01 16:36:32.000000000 +0200 | ||
3 | @@ -45,7 +45,7 @@ | ||
4 | |||
5 | install-program: all | ||
6 | mkdir -p $(DESTDIR)$(PREFIX)/bin | ||
7 | - $(INSTALL) -s $(PACKAGE) $(DESTDIR)$(PREFIX)/bin/$(PACKAGE) | ||
8 | + $(INSTALL) $(PACKAGE) $(DESTDIR)$(PREFIX)/bin/$(PACKAGE) | ||
9 | mkdir -p $(DESTDIR)$(PREFIX)/share/applications | ||
10 | $(INSTALL) -m 644 $(PACKAGE).desktop $(DESTDIR)$(PREFIX)/share/applications/$(PACKAGE).desktop | ||
11 | mkdir -p $(DESTDIR)$(PREFIX)/share/pixmaps/ | ||
diff --git a/meta-gpe/recipes-graphics/minilite/minilite_0.50.bb b/meta-gpe/recipes-graphics/minilite/minilite_0.50.bb deleted file mode 100644 index 8e064fdc6..000000000 --- a/meta-gpe/recipes-graphics/minilite/minilite_0.50.bb +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | SUMMARY = "GPE Screen light control dockapp" | ||
2 | SECTION = "gpe" | ||
3 | |||
4 | LICENSE = "GPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://minilite.c;beginline=8;endline=11;md5=fe9332aaecbce9f74ce2bfeb91680ed1" | ||
6 | |||
7 | DEPENDS = "libgpewidget" | ||
8 | |||
9 | inherit gpe | ||
10 | |||
11 | SRC_URI = "${GPE_MIRROR}/${BP}.tar.gz \ | ||
12 | file://makefile-fix.patch" | ||
13 | SRC_URI[md5sum] = "d81cecf269ad7bab0da960e6e7228332" | ||
14 | SRC_URI[sha256sum] = "2b299425203246090a4949e034f1d0efb3ff99cd1591d0e16c57370a530b361e" | ||
15 | |||
16 | export CVSBUILD="no" | ||
17 | |||
18 | PNBLACKLIST[minilite] ?= "Depends on blacklisted libgpewidget - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/Makefile.patch b/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/Makefile.patch deleted file mode 100644 index 0e498c712..000000000 --- a/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/Makefile.patch +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | diff -uri fbreader-0.12.1.orig/fbreader/Makefile fbreader-0.12.1/fbreader/Makefile | ||
2 | --- fbreader-0.12.1.orig/fbreader/Makefile 2009-12-13 09:03:11.000000000 +0100 | ||
3 | +++ fbreader-0.12.1/fbreader/Makefile 2009-12-14 17:18:47.548638783 +0100 | ||
4 | @@ -37,7 +37,6 @@ | ||
5 | @install $(TARGET) $(DESTDIR)$(BINDIR)/FBReader | ||
6 | @install -d $(FBSHAREDIR) | ||
7 | @install -d $(FBSHAREDIR)/help | ||
8 | - @./scripts/install_help.sh $(VARIANT) $(FBSHAREDIR)/help | ||
9 | @install -d $(FBSHAREDIR)/network | ||
10 | @install -m 0644 $(wildcard data/network/*.xml) $(FBSHAREDIR)/network | ||
11 | @install -d $(FBSHAREDIR)/network/certificates | ||
12 | @@ -58,8 +57,8 @@ | ||
13 | @install -d $(FBSHAREDIR)/resources | ||
14 | @install -m 0644 $(wildcard data/resources/*.xml) $(FBSHAREDIR)/resources | ||
15 | @install -d $(DESTDIR)$(APPIMAGEDIR_REAL) | ||
16 | - @install -m 0644 $(wildcard data/icons/toolbar/$(VARIANT)/*.*) $(DESTDIR)$(APPIMAGEDIR_REAL) | ||
17 | - @install -m 0644 $(wildcard data/icons/filetree/$(VARIANT)/*.*) $(DESTDIR)$(APPIMAGEDIR_REAL) | ||
18 | + @install -m 0644 $(wildcard data/icons/toolbar/$(TARGET_ARCH)/*.*) $(DESTDIR)$(APPIMAGEDIR_REAL) | ||
19 | + @install -m 0644 $(wildcard data/icons/filetree/$(TARGET_ARCH)/*.*) $(DESTDIR)$(APPIMAGEDIR_REAL) | ||
20 | @install -m 0644 $(wildcard data/icons/booktree/new/*.*) $(DESTDIR)$(APPIMAGEDIR_REAL) | ||
21 | @make -C $(TARGET_ARCH) RESOLUTION=$(RESOLUTION) install | ||
22 | |||
diff --git a/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/fix-cflags-fribidi.patch b/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/fix-cflags-fribidi.patch deleted file mode 100644 index e72fa8cf2..000000000 --- a/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/fix-cflags-fribidi.patch +++ /dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | --- fbreader-0.12.10/makefiles/config.mk.orig 2016-05-03 11:11:07.259734561 -0400 | ||
2 | +++ fbreader-0.12.10/makefiles/config.mk 2016-05-03 11:11:37.447735786 -0400 | ||
3 | @@ -38,7 +38,7 @@ | ||
4 | LDFLAGS += -pg | ||
5 | endif | ||
6 | |||
7 | -ZINCLUDE = -I $(ROOTDIR)/zlibrary/core/include -I $(ROOTDIR)/zlibrary/text/include | ||
8 | +ZINCLUDE = $(shell pkg-config --cflags fribidi) -I $(ROOTDIR)/zlibrary/core/include -I $(ROOTDIR)/zlibrary/text/include | ||
9 | |||
10 | ZLSHARED ?= yes | ||
11 | |||
diff --git a/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/fix-return-code-gcc6.patch b/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/fix-return-code-gcc6.patch deleted file mode 100644 index 97ab4d315..000000000 --- a/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/fix-return-code-gcc6.patch +++ /dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | --- fbreader-0.12.10/fbreader/src/database/booksdb/BooksDB.cpp.orig 2016-06-08 14:54:04.206196501 -0400 | ||
2 | +++ fbreader-0.12.10/fbreader/src/database/booksdb/BooksDB.cpp 2016-06-08 14:54:17.686196322 -0400 | ||
3 | @@ -145,7 +145,7 @@ | ||
4 | |||
5 | myFindFileId->setFileName(fileName); | ||
6 | if (!myFindFileId->run()) { | ||
7 | - return false; | ||
8 | + return 0; | ||
9 | } | ||
10 | ((DBIntValue&)*myLoadBook->parameter("@file_id").value()) = myFindFileId->fileId(); | ||
11 | shared_ptr<DBDataReader> reader = myLoadBook->executeReader(); | ||
diff --git a/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/gcc45.patch b/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/gcc45.patch deleted file mode 100644 index 00cba1023..000000000 --- a/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/gcc45.patch +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | Fix compilation with gcc 4.5 | ||
2 | |||
3 | [FBreader Ticket #340] -- http://old.fbreader.org/mantis/view.php?id=340 | ||
4 | |||
5 | Without that patch we have: | ||
6 | Compiling Library.o ...Library.cpp:42:1: error: 'Library::Library' names the constructor, not the type | ||
7 | |||
8 | Upstream-Status: Accepted [Fixed in Version 0.14.0] | ||
9 | |||
10 | --- fbreader-0.12.10-orig/fbreader/src/library/Library.cpp 2010-04-01 15:14:24.000000000 +0200 | ||
11 | +++ fbreader-0.12.10/fbreader/src/library/Library.cpp 2010-04-13 13:34:06.000000000 +0200 | ||
12 | @@ -39,7 +39,7 @@ | ||
13 | shared_ptr<Library> Library::ourInstance; | ||
14 | const size_t Library::MaxRecentListSize = 10; | ||
15 | |||
16 | -Library::Library &Library::Instance() { | ||
17 | +Library &Library::Instance() { | ||
18 | if (ourInstance.isNull()) { | ||
19 | ourInstance = new Library(); | ||
20 | } | ||
diff --git a/meta-gpe/recipes-support/fbreader/fbreader_0.12.10.bb b/meta-gpe/recipes-support/fbreader/fbreader_0.12.10.bb deleted file mode 100644 index 2dbcef402..000000000 --- a/meta-gpe/recipes-support/fbreader/fbreader_0.12.10.bb +++ /dev/null | |||
@@ -1,46 +0,0 @@ | |||
1 | SUMMARY = "FBreader is an ebook reader" | ||
2 | HOMEPAGE = "http://www.fbreader.org" | ||
3 | SECTION = "x11/utils" | ||
4 | LICENSE = "GPLv2+" | ||
5 | LIC_FILES_CHKSUM = "file://fbreader/LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
6 | DEPENDS = "gtk+ enca expat bzip2 libgpewidget virtual/libiconv liblinebreak libfribidi curl sqlite3" | ||
7 | |||
8 | PR = "r1" | ||
9 | |||
10 | SRC_URI = "http://www.fbreader.org/fbreader-sources-${PV}.tgz \ | ||
11 | file://Makefile.patch \ | ||
12 | file://gcc45.patch \ | ||
13 | file://fix-cflags-fribidi.patch \ | ||
14 | file://fix-return-code-gcc6.patch" | ||
15 | |||
16 | # Set the defaults | ||
17 | READER_RESOLUTION ?= "1024x600" | ||
18 | READER_ARCH ?= "desktop" | ||
19 | READER_UI ?= "gtk" | ||
20 | READER_STATUS ?= "release" | ||
21 | |||
22 | FILES_${PN} += "${datadir}/FBReader ${datadir}/zlibrary ${libdir}/zlibrary" | ||
23 | FILES_${PN}-dbg += "${libdir}/zlibrary/ui/.debug/" | ||
24 | |||
25 | CFLAGS_append = " RESOLUTION=${READER_RESOLUTION} INSTALLDIR=${prefix}" | ||
26 | EXTRA_OEMAKE = "CC='${CXX}' LD='${CXX}' LDFLAGS='${LDFLAGS}' INCPATH='${STAGING_INCDIR}' LIBPATH='${STAGING_LIBDIR}'" | ||
27 | |||
28 | inherit pkgconfig | ||
29 | |||
30 | do_configure() { | ||
31 | cd ${WORKDIR}/${PN}-${PV} | ||
32 | mv makefiles/target.mk makefiles/target.mk.orig | ||
33 | |||
34 | echo "TARGET_ARCH = ${READER_ARCH}" > makefiles/target.mk | ||
35 | echo "UI_TYPE = ${READER_UI}" >> makefiles/target.mk | ||
36 | echo "TARGET_STATUS = ${READER_STATUS}" >> makefiles/target.mk | ||
37 | } | ||
38 | |||
39 | do_install() { | ||
40 | oe_runmake install DESTDIR=${D} RESOLUTION=${READER_RESOLUTION} | ||
41 | } | ||
42 | |||
43 | SRC_URI[md5sum] = "da9ec4721efdb0ec0aaa182bff16ad82" | ||
44 | SRC_URI[sha256sum] = "328aec454db80e225aa0b5c31adef74bf62a14357482947e87e9731686b3c624" | ||
45 | |||
46 | PNBLACKLIST[fbreader] ?= "Depends on blacklisted libgpewidget - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gpe/recipes-support/fbreader/fbreader_git.bb b/meta-gpe/recipes-support/fbreader/fbreader_git.bb deleted file mode 100644 index b3e7946b5..000000000 --- a/meta-gpe/recipes-support/fbreader/fbreader_git.bb +++ /dev/null | |||
@@ -1,45 +0,0 @@ | |||
1 | SUMMARY = "FBreader is an ebook reader" | ||
2 | HOMEPAGE = "http://www.fbreader.org" | ||
3 | SECTION = "x11/utils" | ||
4 | LICENSE = "GPLv2+" | ||
5 | LIC_FILES_CHKSUM = "file://fbreader/LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
6 | DEPENDS = "gtk+ enca expat bzip2 libgpewidget virtual/libiconv liblinebreak libfribidi curl sqlite3" | ||
7 | SRCREV = "2cf1ec0e306e1122dbed850bfa005cd59a6168ee" | ||
8 | PV = "0.99.5+gitr${SRCPV}" | ||
9 | |||
10 | PR = "r1" | ||
11 | |||
12 | DEFAULT_PREFERENCE = "-1" | ||
13 | |||
14 | SRC_URI = "git://github.com/geometer/FBReader.git;protocol=http;branch=master \ | ||
15 | file://0001-Fix-installation-of-the-icons-when-RESOLUTION-is-set.patch" | ||
16 | |||
17 | # Set the defaults | ||
18 | READER_RESOLUTION ?= "1024x600" | ||
19 | READER_ARCH ?= "desktop" | ||
20 | READER_UI ?= "gtk" | ||
21 | READER_STATUS ?= "release" | ||
22 | |||
23 | FILES_${PN} += "${datadir}/FBReader ${datadir}/zlibrary ${libdir}/zlibrary" | ||
24 | FILES_${PN}-dbg += "${libdir}/zlibrary/ui/.debug/" | ||
25 | |||
26 | CFLAGS_append = " RESOLUTION=${READER_RESOLUTION} INSTALLDIR=${prefix}" | ||
27 | EXTRA_OEMAKE = "CC='${CXX}' LD='${CXX}' INCPATH='${STAGING_INCDIR}' LIBPATH='${STAGING_LIBDIR}'" | ||
28 | inherit pkgconfig | ||
29 | |||
30 | S = "${WORKDIR}/git" | ||
31 | |||
32 | do_configure() { | ||
33 | cd "${S}" | ||
34 | |||
35 | echo "TARGET_ARCH = ${READER_ARCH}" > makefiles/target.mk | ||
36 | echo "UI_TYPE = ${READER_UI}" >> makefiles/target.mk | ||
37 | echo "TARGET_STATUS = ${READER_STATUS}" >> makefiles/target.mk | ||
38 | } | ||
39 | |||
40 | do_install() { | ||
41 | oe_runmake install DESTDIR=${D} RESOLUTION=${READER_RESOLUTION} | ||
42 | } | ||
43 | |||
44 | # http://errors.yoctoproject.org/Errors/Details/68618/ | ||
45 | PNBLACKLIST[fbreader] ?= "BROKEN: fails to build with gcc-6 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-gpe/recipes-support/fbreader/files/0001-Fix-installation-of-the-icons-when-RESOLUTION-is-set.patch b/meta-gpe/recipes-support/fbreader/files/0001-Fix-installation-of-the-icons-when-RESOLUTION-is-set.patch deleted file mode 100644 index f6e12023b..000000000 --- a/meta-gpe/recipes-support/fbreader/files/0001-Fix-installation-of-the-icons-when-RESOLUTION-is-set.patch +++ /dev/null | |||
@@ -1,40 +0,0 @@ | |||
1 | From da4170b61bb41eff0af170d1d77bfd90f9ebe5dd Mon Sep 17 00:00:00 2001 | ||
2 | From: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org> | ||
3 | Date: Fri, 20 Jan 2012 11:34:42 +0100 | ||
4 | Subject: [PATCH] Fix installation of the icons when RESOLUTION is set | ||
5 | |||
6 | When resolution is set, the following code(in fbreader/Makefile) is executed: | ||
7 | VARIANT = $(TARGET_ARCH) | ||
8 | ifneq "$(RESOLUTION)" "" | ||
9 | VARIANT = $(TARGET_ARCH)_$(RESOLUTION) | ||
10 | endif | ||
11 | |||
12 | This fix is based on a patch from the openembedded project, | ||
13 | which can be found here: | ||
14 | http://cgit.openembedded.org/openembedded/tree/recipes/fbreader/fbreader-0.12.1/Makefile.patch | ||
15 | |||
16 | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org> | ||
17 | --- | ||
18 | Submitted trough github to git://github.com/geometer/FBReader.git as a pull request | ||
19 | |||
20 | fbreader/Makefile | 4 ++-- | ||
21 | 1 files changed, 2 insertions(+), 2 deletions(-) | ||
22 | |||
23 | diff --git a/fbreader/Makefile b/fbreader/Makefile | ||
24 | index bfa9242..03e6cc3 100644 | ||
25 | --- a/fbreader/Makefile | ||
26 | +++ b/fbreader/Makefile | ||
27 | @@ -60,8 +60,8 @@ do_install: | ||
28 | @install -d $(FBSHAREDIR)/resources | ||
29 | @install -m 0644 $(wildcard data/resources/*.xml) $(FBSHAREDIR)/resources | ||
30 | @install -d $(DESTDIR)$(APPIMAGEDIR_REAL) | ||
31 | - @install -m 0644 $(wildcard data/icons/toolbar/$(VARIANT)/*.*) $(DESTDIR)$(APPIMAGEDIR_REAL) | ||
32 | - @install -m 0644 $(wildcard data/icons/filetree/$(VARIANT)/*.*) $(DESTDIR)$(APPIMAGEDIR_REAL) | ||
33 | + @install -m 0644 $(wildcard data/icons/toolbar/$(TARGET_ARCH)/*.*) $(DESTDIR)$(APPIMAGEDIR_REAL) | ||
34 | + @install -m 0644 $(wildcard data/icons/filetree/$(TARGET_ARCH)/*.*) $(DESTDIR)$(APPIMAGEDIR_REAL) | ||
35 | @install -m 0644 $(wildcard data/icons/booktree/new/*.*) $(DESTDIR)$(APPIMAGEDIR_REAL) | ||
36 | @make -C $(TARGET_ARCH) RESOLUTION=$(RESOLUTION) install | ||
37 | |||
38 | -- | ||
39 | 1.7.4.1 | ||
40 | |||
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 deleted file mode 100644 index 4a7ed9a6e..000000000 --- a/meta-multimedia/recipes-dvb/dvb-apps/dvb-apps_1.1.1.bb +++ /dev/null | |||
@@ -1,136 +0,0 @@ | |||
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 | DEPENDS = "v4l-utils-native" | ||
8 | |||
9 | SRC_URI = " \ | ||
10 | hg://linuxtv.org/hg;module=dvb-apps;protocol=http;name=apps \ | ||
11 | git://linuxtv.org/git/dtv-scan-tables.git;protocol=http;destsuffix=dvb-apps/initial-scan-tables;name=scantables \ | ||
12 | " | ||
13 | SRCREV_apps = "3d43b280298c" | ||
14 | SRCREV_scantables = "ceb11833b35f05813b1f0397a60e0f3b99430aab" | ||
15 | SRCREV_FORMAT = "apps_scantables" | ||
16 | |||
17 | S = "${WORKDIR}/${BPN}" | ||
18 | |||
19 | TARGET_CC_ARCH += "${LDFLAGS}" | ||
20 | EXTRA_OEMAKE = "VERSION_FILE='${STAGING_INCDIR}/linux/dvb/version.h'" | ||
21 | |||
22 | do_configure() { | ||
23 | sed -i -e s:/usr/include:${STAGING_INCDIR}:g util/av7110_loadkeys/generate-keynames.sh | ||
24 | } | ||
25 | |||
26 | do_compile_append() { | ||
27 | # dvb-apps only support DVBAPI v3, so generate them from the DVBAPI v5 downloaded files | ||
28 | make -C initial-scan-tables clean | ||
29 | make -C initial-scan-tables dvbv3 | ||
30 | } | ||
31 | |||
32 | do_install() { | ||
33 | make DESTDIR=${D} install | ||
34 | # dvb-apps only support DVBAPI v3, so only install the generated DVBAPI v3 files | ||
35 | make -C initial-scan-tables DATADIR=${D}/${datadir} DVBV3DIR=dvb install_v3 | ||
36 | |||
37 | install -d ${D}/${bindir} | ||
38 | install -d ${D}/${docdir}/dvb-apps | ||
39 | install -d ${D}/${docdir}/dvb-apps/szap | ||
40 | chmod a+rx ${D}/${libdir}/*.so* | ||
41 | |||
42 | # Install tests | ||
43 | install -m 0755 ${S}/test/setvoltage ${D}${bindir}/test_setvoltage | ||
44 | install -m 0755 ${S}/test/set22k ${D}${bindir}/test_set22k | ||
45 | install -m 0755 ${S}/test/sendburst ${D}${bindir}/test_sendburst | ||
46 | install -m 0755 ${S}/test/diseqc ${D}${bindir}/test_diseqc | ||
47 | install -m 0755 ${S}/test/test_sections ${D}${bindir}/ | ||
48 | install -m 0755 ${S}/test/test_av_play ${D}${bindir}/ | ||
49 | install -m 0755 ${S}/test/test_stillimage ${D}${bindir}/ | ||
50 | install -m 0755 ${S}/test/test_dvr_play ${D}${bindir}/ | ||
51 | install -m 0755 ${S}/test/test_tt ${D}${bindir}/ | ||
52 | install -m 0755 ${S}/test/test_sec_ne ${D}${bindir}/ | ||
53 | install -m 0755 ${S}/test/test_stc ${D}${bindir}/ | ||
54 | install -m 0755 ${S}/test/test_av ${D}${bindir}/ | ||
55 | install -m 0755 ${S}/test/test_vevent ${D}${bindir}/ | ||
56 | install -m 0755 ${S}/test/test_pes ${D}${bindir}/ | ||
57 | install -m 0755 ${S}/test/test_dvr ${D}${bindir}/ | ||
58 | |||
59 | cp -pPR ${S}/util/szap/channels-conf* ${D}/${docdir}/dvb-apps/szap/ | ||
60 | cp -pPR ${S}/util/szap/README ${D}/${docdir}/dvb-apps/szap/ | ||
61 | } | ||
62 | |||
63 | python populate_packages_prepend () { | ||
64 | dvb_libdir = bb.data.expand('${libdir}', d) | ||
65 | do_split_packages(d, dvb_libdir, '^lib(.*)\.so$', 'lib%s', 'DVB %s package', extra_depends='', allow_links=True) | ||
66 | do_split_packages(d, dvb_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'DVB %s development package', extra_depends='${PN}-dev') | ||
67 | do_split_packages(d, dvb_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'DVB %s development package', extra_depends='${PN}-dev') | ||
68 | do_split_packages(d, dvb_libdir, '^lib(.*)\.so\.*', 'lib%s', 'DVB %s library', extra_depends='', allow_links=True) | ||
69 | } | ||
70 | |||
71 | PACKAGES =+ "dvb-evtest dvb-evtest-dbg \ | ||
72 | dvbapp-tests dvbapp-tests-dbg \ | ||
73 | dvbdate dvbdate-dbg \ | ||
74 | dvbtraffic dvbtraffic-dbg \ | ||
75 | dvbnet dvbnet-dbg \ | ||
76 | dvb-scan dvb-scan-dbg dvb-scan-data \ | ||
77 | dvb-azap dvb-azap-dbg \ | ||
78 | dvb-czap dvb-czap-dbg \ | ||
79 | dvb-szap dvb-szap-dbg \ | ||
80 | dvb-tzap dvb-tzap-dbg \ | ||
81 | dvb-femon dvb-femon-dbg \ | ||
82 | dvb-zap-data" | ||
83 | |||
84 | # Expose the packages from the above spitting | ||
85 | PACKAGES =+ "libdvbapi libdvbcfg libdvben50221 \ | ||
86 | libesg libucsi libdvbsec" | ||
87 | |||
88 | FILES_${PN} = "${bindir} ${datadir}/dvb" | ||
89 | FILES_${PN}-doc = "" | ||
90 | FILES_${PN}-dev = "${includedir}" | ||
91 | |||
92 | FILES_dvb-evtest = "${bindir}/evtest" | ||
93 | FILES_dvb-evtest-dbg = "${bindir}/.debug/evtest" | ||
94 | RCONFLICTS_dvb-evtest = "evtest" | ||
95 | |||
96 | FILES_dvbapp-tests = "${bindir}/*test* " | ||
97 | FILES_dvbapp-tests-dbg = "${bindir}/.debug/*test*" | ||
98 | |||
99 | FILES_dvbdate = "${bindir}/dvbdate" | ||
100 | FILES_dvbdate-dbg = "${bindir}/.debug/dvbdate" | ||
101 | |||
102 | FILES_dvbtraffic = "${bindir}/dvbtraffic" | ||
103 | FILES_dvbtraffic-dbg = "${bindir}/.debug/dvbtraffic" | ||
104 | |||
105 | FILES_dvbnet = "${bindir}/dvbnet" | ||
106 | FILES_dvbnet-dbg = "${bindir}/.debug/dvbnet" | ||
107 | |||
108 | FILES_dvb-scan = "${bindir}/*scan " | ||
109 | FILES_dvb-scan-dbg = "${bindir}/.debug/*scan" | ||
110 | FILES_dvb-scan-data = "${datadir}/dvb" | ||
111 | |||
112 | FILES_dvb-azap = "${bindir}/azap" | ||
113 | FILES_dvb-azap-dbg = "${bindir}/.debug/azap" | ||
114 | |||
115 | FILES_dvb-czap = "${bindir}/czap" | ||
116 | FILES_dvb-czap-dbg = "${bindir}/.debug/czap" | ||
117 | |||
118 | FILES_dvb-szap = "${bindir}/szap" | ||
119 | FILES_dvb-szap-dbg = "${bindir}/.debug/szap" | ||
120 | |||
121 | FILES_dvb-tzap = "${bindir}/tzap" | ||
122 | FILES_dvb-tzap-dbg = "${bindir}/.debug/tzap" | ||
123 | |||
124 | FILES_dvb-femon = "${bindir}/femon" | ||
125 | FILES_dvb-femon-dbg = "${bindir}/.debug/femon" | ||
126 | |||
127 | FILES_dvb-zap-data = "${docdir}/dvb-apps/szap" | ||
128 | |||
129 | RDEPENDS_dvbdate =+ "libdvbapi libucsi" | ||
130 | RDEPENDS_dvbtraffic =+ "libdvbapi" | ||
131 | RDEPENDS_dvb-scan =+ "libdvbapi libdvbcfg libdvbsec" | ||
132 | RDEPENDS_dvb-apps =+ "libdvbapi libdvbcfg libdvbsec libdvben50221 libucsi" | ||
133 | RDEPENDS_dvb-femon =+ "libdvbapi" | ||
134 | RDEPENDS_dvbnet =+ "libdvbapi" | ||
135 | |||
136 | PNBLACKLIST[dvb-apps] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130603/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Fix-checks-for-sse2-mmx.patch b/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Fix-checks-for-sse2-mmx.patch deleted file mode 100644 index 3283a5b6a..000000000 --- a/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Fix-checks-for-sse2-mmx.patch +++ /dev/null | |||
@@ -1,40 +0,0 @@ | |||
1 | From f0dab6d6fe4b0aae4394eee93be86e9747c6ed5c Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Tue, 22 Nov 2016 05:07:38 +0000 | ||
4 | Subject: [PATCH] Fix checks for sse2/mmx | ||
5 | |||
6 | Just checking for cmdline options is not enough | ||
7 | its better to check for builtin defines to be | ||
8 | sure, clang does not error out on sse2 options on | ||
9 | arm e.g. and it ends up doing SSE2 stuff for arm | ||
10 | which is not desired | ||
11 | |||
12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
13 | --- | ||
14 | configure | 10 ++++++++-- | ||
15 | 1 file changed, 8 insertions(+), 2 deletions(-) | ||
16 | |||
17 | diff --git a/configure b/configure | ||
18 | index 47d2cf2..4be000c 100755 | ||
19 | --- a/configure | ||
20 | +++ b/configure | ||
21 | @@ -118,8 +118,14 @@ fi | ||
22 | # Valiate compiler | ||
23 | check_cc || die 'No C compiler found' | ||
24 | check_cc_header execinfo | ||
25 | -check_cc_option mmx | ||
26 | -check_cc_option sse2 | ||
27 | +check_cc_snippet mmx '#ifndef __MMX__ | ||
28 | +error "MMX not supported" | ||
29 | +#endif | ||
30 | +' | ||
31 | +check_cc_snippet sse2 '#ifndef __SSE2__ | ||
32 | +error "SSE2 not supported" | ||
33 | +#endif | ||
34 | +' | ||
35 | |||
36 | if check_cc ' | ||
37 | #if !defined(__clang__) | ||
38 | -- | ||
39 | 1.9.1 | ||
40 | |||
diff --git a/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Makefile-Ignore-warning-about-wrong-includes.patch b/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Makefile-Ignore-warning-about-wrong-includes.patch deleted file mode 100644 index 248a5e6a8..000000000 --- a/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-Makefile-Ignore-warning-about-wrong-includes.patch +++ /dev/null | |||
@@ -1,31 +0,0 @@ | |||
1 | From 7d672305c7ad2f716dfe1c487b525a1a92954d4a Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Tue, 22 Nov 2016 06:22:36 +0000 | ||
4 | Subject: [PATCH] Makefile: Ignore warning about wrong includes | ||
5 | |||
6 | It happens on musl especially | ||
7 | usr/include/sys/poll.h:1:2: error: redirecting incorrect #include <sys/poll.h> to <poll.h> [-Werror,-W#warnings] | ||
8 | | #warning redirecting incorrect #include <sys/poll.h> to <poll.h> | ||
9 | | ^ | ||
10 | | In file included from src/avahi.c:48: | ||
11 | |||
12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
13 | --- | ||
14 | Makefile | 1 + | ||
15 | 1 file changed, 1 insertion(+) | ||
16 | |||
17 | diff --git a/Makefile b/Makefile | ||
18 | index f41ef1a..cc7b249 100644 | ||
19 | --- a/Makefile | ||
20 | +++ b/Makefile | ||
21 | @@ -54,6 +54,7 @@ CFLAGS += -Wno-microsoft -Qunused-arguments -Wno-unused-function | ||
22 | CFLAGS += -Wno-unused-value -Wno-tautological-constant-out-of-range-compare | ||
23 | CFLAGS += -Wno-parentheses-equality -Wno-incompatible-pointer-types | ||
24 | CFLAGS += -Wno-error=varargs | ||
25 | +CFLAGS += -Wno-error=\#warnings | ||
26 | endif | ||
27 | |||
28 | ifeq ($(CONFIG_LIBFFMPEG_STATIC),yes) | ||
29 | -- | ||
30 | 1.8.3.1 | ||
31 | |||
diff --git a/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-disable-varargs-warning-on-clang.patch b/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-disable-varargs-warning-on-clang.patch deleted file mode 100644 index a4c4c4d0f..000000000 --- a/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-disable-varargs-warning-on-clang.patch +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | From 906d95695af95970bf551ea55b6c3e70332c6b97 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Tue, 22 Nov 2016 05:22:32 +0000 | ||
4 | Subject: [PATCH] disable varargs warning on clang | ||
5 | |||
6 | The issue is that 'len' is an unsigned char and we violate the promotion rules | ||
7 | for passing the value to va_start. | ||
8 | |||
9 | passing an object that undergoes defau | ||
10 | lt argument promotion to 'va_start' has undefined behavior [-Wvarargs] | ||
11 | | va_start(ap, len); | ||
12 | |||
13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
14 | --- | ||
15 | Makefile | 1 + | ||
16 | 1 file changed, 1 insertion(+) | ||
17 | |||
18 | diff --git a/Makefile b/Makefile | ||
19 | index 8c5e380..f41ef1a 100644 | ||
20 | --- a/Makefile | ||
21 | +++ b/Makefile | ||
22 | @@ -53,6 +53,7 @@ ifeq ($(COMPILER), clang) | ||
23 | CFLAGS += -Wno-microsoft -Qunused-arguments -Wno-unused-function | ||
24 | CFLAGS += -Wno-unused-value -Wno-tautological-constant-out-of-range-compare | ||
25 | CFLAGS += -Wno-parentheses-equality -Wno-incompatible-pointer-types | ||
26 | +CFLAGS += -Wno-error=varargs | ||
27 | endif | ||
28 | |||
29 | ifeq ($(CONFIG_LIBFFMPEG_STATIC),yes) | ||
30 | -- | ||
31 | 1.9.1 | ||
32 | |||
diff --git a/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-dvr-Use-labs-instead-of-abs.patch b/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-dvr-Use-labs-instead-of-abs.patch deleted file mode 100644 index ea34cdb62..000000000 --- a/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-dvr-Use-labs-instead-of-abs.patch +++ /dev/null | |||
@@ -1,37 +0,0 @@ | |||
1 | From a715671eadcbf989fdaf05f62e71b93ac1749615 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Tue, 22 Nov 2016 06:08:31 +0000 | ||
4 | Subject: [PATCH] dvr: Use labs() instead of abs() | ||
5 | |||
6 | Makes clang happy | ||
7 | |||
8 | dvr/dvr_db.c:853:10: error: absolute value function | ||
9 | 'abs' given an argument of type 'long' but has parameter of type 'int' which may cause truncation of value [-Werror,-Wabsolute-value] | ||
10 | if ((abs(de->de_start - e->start) < 600) && (abs(de->de_stop - e->stop) < 600)) { | ||
11 | |||
12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
13 | --- | ||
14 | src/dvr/dvr_db.c | 4 ++-- | ||
15 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
16 | |||
17 | diff --git a/src/dvr/dvr_db.c b/src/dvr/dvr_db.c | ||
18 | index 165caa6..5656569 100644 | ||
19 | --- a/src/dvr/dvr_db.c | ||
20 | +++ b/src/dvr/dvr_db.c | ||
21 | @@ -414,11 +414,11 @@ dvr_entry_fuzzy_match(dvr_entry_t *de, epg_broadcast_t *e) | ||
22 | /* Wrong length (+/-20%) */ | ||
23 | t1 = de->de_stop - de->de_start; | ||
24 | t2 = e->stop - e->start; | ||
25 | - if ( abs(t2 - t1) > (t1 / 5) ) | ||
26 | + if ( labs(t2 - t1) > (t1 / 5) ) | ||
27 | return 0; | ||
28 | |||
29 | /* Outside of window */ | ||
30 | - if (abs(e->start - de->de_start) > de->de_config->dvr_update_window) | ||
31 | + if (labs(e->start - de->de_start) > de->de_config->dvr_update_window) | ||
32 | return 0; | ||
33 | |||
34 | /* Title match (or contains?) */ | ||
35 | -- | ||
36 | 1.9.1 | ||
37 | |||
diff --git a/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-hdhomerun-Override-forced-overrdiing-og-CC-STRIP-and.patch b/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-hdhomerun-Override-forced-overrdiing-og-CC-STRIP-and.patch deleted file mode 100644 index 484e723d9..000000000 --- a/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-hdhomerun-Override-forced-overrdiing-og-CC-STRIP-and.patch +++ /dev/null | |||
@@ -1,40 +0,0 @@ | |||
1 | From c3767e189e90965407937b6178adbbd8cdafe31d Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Tue, 22 Nov 2016 05:59:10 +0000 | ||
4 | Subject: [PATCH] hdhomerun: Override forced overrdiing og CC/STRIP and CFLAGS | ||
5 | |||
6 | This is required for cross compiling otherwise it ends up | ||
7 | using build host gcc | ||
8 | |||
9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
10 | --- | ||
11 | Makefile.hdhomerun | 6 ++++-- | ||
12 | 1 file changed, 4 insertions(+), 2 deletions(-) | ||
13 | |||
14 | diff --git a/Makefile.hdhomerun b/Makefile.hdhomerun | ||
15 | index 943ffec..8bd14ff 100644 | ||
16 | --- a/Makefile.hdhomerun | ||
17 | +++ b/Makefile.hdhomerun | ||
18 | @@ -18,8 +18,8 @@ | ||
19 | |||
20 | include $(dir $(lastword $(MAKEFILE_LIST))).config.mk | ||
21 | |||
22 | -unexport CFLAGS | ||
23 | -unexport LDFLAGS | ||
24 | +#unexport CFLAGS | ||
25 | +#unexport LDFLAGS | ||
26 | |||
27 | define DOWNLOAD | ||
28 | @mkdir -p $(LIBHDHRDIR)/build | ||
29 | @@ -75,6 +75,8 @@ $(LIBHDHRDIR)/$(LIBHDHR)/.tvh_download: | ||
30 | $(call DOWNLOAD,$(LIBHDHR_URL),$(LIBHDHRDIR)/$(LIBHDHR_TB),$(LIBHDHR_SHA1)) | ||
31 | $(call UNTAR,$(LIBHDHR_TB),z) | ||
32 | ln -sf libhdhomerun $(LIBHDHRDIR)/$(LIBHDHR) | ||
33 | + @sed -i -e "s/CC.*:=/CC ?=/" $(LIBHDHRDIR)/$(LIBHDHR)/Makefile | ||
34 | + @sed -i -e "s/STRIP.*:=/STRIP ?=/" $(LIBHDHRDIR)/$(LIBHDHR)/Makefile | ||
35 | @touch $@ | ||
36 | |||
37 | $(LIBHDHRDIR)/$(LIBHDHR)/.tvh_build: \ | ||
38 | -- | ||
39 | 1.9.1 | ||
40 | |||
diff --git a/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb b/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb deleted file mode 100644 index 3b73549d2..000000000 --- a/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | SUMMARY = "Tvheadend TV streaming server" | ||
2 | HOMEPAGE = "https://www.lonelycoder.com/redmine/projects/tvheadend" | ||
3 | |||
4 | DEPENDS = "avahi zlib openssl python-native dvb-apps" | ||
5 | |||
6 | LICENSE = "GPLv3+" | ||
7 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=9cae5acac2e9ee2fc3aec01ac88ce5db" | ||
8 | |||
9 | SRC_URI = "git://github.com/tvheadend/tvheadend.git;branch=release/4.0 \ | ||
10 | file://0001-Fix-checks-for-sse2-mmx.patch \ | ||
11 | file://0001-disable-varargs-warning-on-clang.patch \ | ||
12 | file://0001-hdhomerun-Override-forced-overrdiing-og-CC-STRIP-and.patch \ | ||
13 | file://0001-dvr-Use-labs-instead-of-abs.patch \ | ||
14 | file://0001-Makefile-Ignore-warning-about-wrong-includes.patch \ | ||
15 | " | ||
16 | SRCREV = "64fec8120158de585e18be705055259484518d94" | ||
17 | PV = "4.0.9+git${SRCREV}" | ||
18 | |||
19 | S = "${WORKDIR}/git" | ||
20 | |||
21 | PACKAGECONFIG ?= "" | ||
22 | PACKAGECONFIG[uriparser] = "--enable-uriparser,--disable-uriparser,uriparser" | ||
23 | |||
24 | do_configure() { | ||
25 | ./configure ${PACKAGECONFIG_CONFARGS} \ | ||
26 | --prefix=${prefix} \ | ||
27 | --libdir=${libdir} \ | ||
28 | --bindir=${bindir} \ | ||
29 | --datadir=${datadir} \ | ||
30 | --arch=${TARGET_ARCH} \ | ||
31 | --disable-dvbscan \ | ||
32 | --disable-bundle | ||
33 | } | ||
34 | |||
35 | do_install() { | ||
36 | oe_runmake install DESTDIR=${D} | ||
37 | } | ||
38 | |||
39 | FILES_${PN} += "${datadir}/${BPN}" | ||
40 | |||
41 | RDEPENDS_${PN} += "libdvben50221 libucsi libdvbapi" | ||
42 | |||
43 | PNBLACKLIST[tvheadend] ?= "Depends on blacklisted dvb-apps - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts/0001-Update-to-p8-platform.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts/0001-Update-to-p8-platform.patch deleted file mode 100644 index c4a6ae731..000000000 --- a/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts/0001-Update-to-p8-platform.patch +++ /dev/null | |||
@@ -1,427 +0,0 @@ | |||
1 | From 06a8224c99282ac1a606edd9e8ea3f591112942d Mon Sep 17 00:00:00 2001 | ||
2 | From: Koen Kooi <koen@dominion.thruhere.net> | ||
3 | Date: Thu, 18 Feb 2016 14:04:31 +0100 | ||
4 | Subject: [PATCH] Update to p8-platform | ||
5 | |||
6 | --- | ||
7 | CMakeLists.txt | 6 +++--- | ||
8 | pvr.hts/changelog.txt | 4 ++-- | ||
9 | src/AutoRecordings.cpp | 2 +- | ||
10 | src/HTSPConnection.cpp | 8 +++---- | ||
11 | src/HTSPDemuxer.cpp | 2 +- | ||
12 | src/HTSPVFS.cpp | 6 +++--- | ||
13 | src/TimeRecordings.cpp | 2 +- | ||
14 | src/Tvheadend.cpp | 4 ++-- | ||
15 | src/Tvheadend.h | 38 +++++++++++++++++----------------- | ||
16 | src/client.cpp | 4 ++-- | ||
17 | src/client.h | 4 ++-- | ||
18 | src/tvheadend/Subscription.cpp | 2 +- | ||
19 | src/tvheadend/Subscription.h | 4 ++-- | ||
20 | src/tvheadend/utilities/AsyncState.cpp | 4 ++-- | ||
21 | src/tvheadend/utilities/AsyncState.h | 6 +++--- | ||
22 | 15 files changed, 48 insertions(+), 48 deletions(-) | ||
23 | |||
24 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
25 | index 0842682..cb04942 100644 | ||
26 | --- a/CMakeLists.txt | ||
27 | +++ b/CMakeLists.txt | ||
28 | @@ -6,10 +6,10 @@ enable_language(CXX) | ||
29 | |||
30 | find_package(kodi REQUIRED) | ||
31 | find_package(kodiplatform REQUIRED) | ||
32 | -find_package(platform REQUIRED) | ||
33 | +find_package(p8-platform REQUIRED) | ||
34 | |||
35 | include_directories(${kodiplatform_INCLUDE_DIRS} | ||
36 | - ${platform_INCLUDE_DIRS} | ||
37 | + ${p8-platform_INCLUDE_DIRS} | ||
38 | ${KODI_INCLUDE_DIR} | ||
39 | ${PROJECT_SOURCE_DIR}/lib) | ||
40 | |||
41 | @@ -95,7 +95,7 @@ list(APPEND HTS_SOURCES | ||
42 | |||
43 | add_subdirectory(lib/libhts) | ||
44 | |||
45 | -set(DEPLIBS ${platform_LIBRARIES} hts) | ||
46 | +set(DEPLIBS ${p8-platform_LIBRARIES} hts) | ||
47 | if(WIN32) | ||
48 | list(APPEND DEPLIBS ws2_32) | ||
49 | endif() | ||
50 | diff --git a/pvr.hts/changelog.txt b/pvr.hts/changelog.txt | ||
51 | index 9ffa33c..1e7fe30 100644 | ||
52 | --- a/pvr.hts/changelog.txt | ||
53 | +++ b/pvr.hts/changelog.txt | ||
54 | @@ -49,7 +49,7 @@ | ||
55 | - fixed: Autorec: Start and stop time handling. | ||
56 | - fixed: LocaltimeToUTC conversion (timer settings clock display incorrect). | ||
57 | - fixed: Several issues with predictive tuning. | ||
58 | -- added: build: Automatically fill in platform and library name. | ||
59 | +- added: build: Automatically fill in p8-platform and library name. | ||
60 | - fixed: Use epg data only for creation of epg-based timers. | ||
61 | - improved: Do not try to reconnect to tvh while suspending or not fully awake again. | ||
62 | |||
63 | @@ -97,7 +97,7 @@ | ||
64 | - added: support for creating repeating timers, aka time schedules | ||
65 | - fixed: conditions for addon restart after settings changes | ||
66 | - internal: fixed build system regressions introduced with move to cmake | ||
67 | -- internal: updated to use libplatform | ||
68 | +- internal: updated to use libp8-platform | ||
69 | |||
70 | 2.1.7 | ||
71 | - added: support for radio channel groups | ||
72 | diff --git a/src/AutoRecordings.cpp b/src/AutoRecordings.cpp | ||
73 | index 5fa60a0..d9e5e1d 100644 | ||
74 | --- a/src/AutoRecordings.cpp | ||
75 | +++ b/src/AutoRecordings.cpp | ||
76 | @@ -26,7 +26,7 @@ | ||
77 | #include "tvheadend/utilities/Utilities.h" | ||
78 | #include "tvheadend/utilities/Logger.h" | ||
79 | |||
80 | -using namespace PLATFORM; | ||
81 | +using namespace P8PLATFORM; | ||
82 | using namespace tvheadend; | ||
83 | using namespace tvheadend::entity; | ||
84 | using namespace tvheadend::utilities; | ||
85 | diff --git a/src/HTSPConnection.cpp b/src/HTSPConnection.cpp | ||
86 | index aec1296..86f5004 100644 | ||
87 | --- a/src/HTSPConnection.cpp | ||
88 | +++ b/src/HTSPConnection.cpp | ||
89 | @@ -19,9 +19,9 @@ | ||
90 | * | ||
91 | */ | ||
92 | |||
93 | -#include "platform/threads/mutex.h" | ||
94 | -#include "platform/util/StringUtils.h" | ||
95 | -#include "platform/sockets/tcp.h" | ||
96 | +#include "p8-platform/threads/mutex.h" | ||
97 | +#include "p8-platform/util/StringUtils.h" | ||
98 | +#include "p8-platform/sockets/tcp.h" | ||
99 | |||
100 | extern "C" { | ||
101 | #include "libhts/htsmsg_binary.h" | ||
102 | @@ -33,7 +33,7 @@ extern "C" { | ||
103 | |||
104 | using namespace std; | ||
105 | using namespace ADDON; | ||
106 | -using namespace PLATFORM; | ||
107 | +using namespace P8PLATFORM; | ||
108 | using namespace tvheadend; | ||
109 | using namespace tvheadend::utilities; | ||
110 | |||
111 | diff --git a/src/HTSPDemuxer.cpp b/src/HTSPDemuxer.cpp | ||
112 | index a6e1f12..7f45345 100644 | ||
113 | --- a/src/HTSPDemuxer.cpp | ||
114 | +++ b/src/HTSPDemuxer.cpp | ||
115 | @@ -27,7 +27,7 @@ | ||
116 | |||
117 | using namespace std; | ||
118 | using namespace ADDON; | ||
119 | -using namespace PLATFORM; | ||
120 | +using namespace P8PLATFORM; | ||
121 | using namespace tvheadend; | ||
122 | using namespace tvheadend::utilities; | ||
123 | |||
124 | diff --git a/src/HTSPVFS.cpp b/src/HTSPVFS.cpp | ||
125 | index 0463f56..0404bab 100644 | ||
126 | --- a/src/HTSPVFS.cpp | ||
127 | +++ b/src/HTSPVFS.cpp | ||
128 | @@ -19,8 +19,8 @@ | ||
129 | * | ||
130 | */ | ||
131 | |||
132 | -#include "platform/threads/mutex.h" | ||
133 | -#include "platform/util/StringUtils.h" | ||
134 | +#include "p8-platform/threads/mutex.h" | ||
135 | +#include "p8-platform/util/StringUtils.h" | ||
136 | #include "tvheadend/utilities/Logger.h" | ||
137 | |||
138 | extern "C" { | ||
139 | @@ -30,7 +30,7 @@ extern "C" { | ||
140 | #include "Tvheadend.h" | ||
141 | |||
142 | using namespace std; | ||
143 | -using namespace PLATFORM; | ||
144 | +using namespace P8PLATFORM; | ||
145 | using namespace tvheadend::utilities; | ||
146 | |||
147 | /* | ||
148 | diff --git a/src/TimeRecordings.cpp b/src/TimeRecordings.cpp | ||
149 | index 5d34938..97aae09 100644 | ||
150 | --- a/src/TimeRecordings.cpp | ||
151 | +++ b/src/TimeRecordings.cpp | ||
152 | @@ -25,7 +25,7 @@ | ||
153 | #include "tvheadend/utilities/Utilities.h" | ||
154 | #include "tvheadend/utilities/Logger.h" | ||
155 | |||
156 | -using namespace PLATFORM; | ||
157 | +using namespace P8PLATFORM; | ||
158 | using namespace tvheadend; | ||
159 | using namespace tvheadend::entity; | ||
160 | using namespace tvheadend::utilities; | ||
161 | diff --git a/src/Tvheadend.cpp b/src/Tvheadend.cpp | ||
162 | index 2057241..14c3bd4 100644 | ||
163 | --- a/src/Tvheadend.cpp | ||
164 | +++ b/src/Tvheadend.cpp | ||
165 | @@ -23,7 +23,7 @@ | ||
166 | #include <ctime> | ||
167 | #include <memory> | ||
168 | |||
169 | -#include "platform/util/StringUtils.h" | ||
170 | +#include "p8-platform/util/StringUtils.h" | ||
171 | |||
172 | #include "Tvheadend.h" | ||
173 | #include "tvheadend/utilities/Utilities.h" | ||
174 | @@ -31,7 +31,7 @@ | ||
175 | |||
176 | using namespace std; | ||
177 | using namespace ADDON; | ||
178 | -using namespace PLATFORM; | ||
179 | +using namespace P8PLATFORM; | ||
180 | using namespace tvheadend; | ||
181 | using namespace tvheadend::entity; | ||
182 | using namespace tvheadend::utilities; | ||
183 | diff --git a/src/Tvheadend.h b/src/Tvheadend.h | ||
184 | index 2ce4552..e794716 100644 | ||
185 | --- a/src/Tvheadend.h | ||
186 | +++ b/src/Tvheadend.h | ||
187 | @@ -22,10 +22,10 @@ | ||
188 | */ | ||
189 | |||
190 | #include "client.h" | ||
191 | -#include "platform/sockets/tcp.h" | ||
192 | -#include "platform/threads/threads.h" | ||
193 | -#include "platform/threads/mutex.h" | ||
194 | -#include "platform/util/buffer.h" | ||
195 | +#include "p8-platform/sockets/tcp.h" | ||
196 | +#include "p8-platform/threads/threads.h" | ||
197 | +#include "p8-platform/threads/mutex.h" | ||
198 | +#include "p8-platform/util/buffer.h" | ||
199 | #include "kodi/xbmc_codec_types.h" | ||
200 | #include "kodi/xbmc_stream_utils.hpp" | ||
201 | #include "kodi/libXBMC_addon.h" | ||
202 | @@ -88,7 +88,7 @@ class CHTSPMessage; | ||
203 | |||
204 | /* Typedefs */ | ||
205 | typedef std::map<uint32_t,CHTSPResponse*> CHTSPResponseList; | ||
206 | -typedef PLATFORM::SyncedBuffer<CHTSPMessage> CHTSPMessageQueue; | ||
207 | +typedef P8PLATFORM::SyncedBuffer<CHTSPMessage> CHTSPMessageQueue; | ||
208 | |||
209 | /* | ||
210 | * HTSP Response handler | ||
211 | @@ -98,10 +98,10 @@ class CHTSPResponse | ||
212 | public: | ||
213 | CHTSPResponse(); | ||
214 | ~CHTSPResponse(); | ||
215 | - htsmsg_t *Get ( PLATFORM::CMutex &mutex, uint32_t timeout ); | ||
216 | + htsmsg_t *Get ( P8PLATFORM::CMutex &mutex, uint32_t timeout ); | ||
217 | void Set ( htsmsg_t *m ); | ||
218 | private: | ||
219 | - PLATFORM::CCondition<volatile bool> m_cond; | ||
220 | + P8PLATFORM::CCondition<volatile bool> m_cond; | ||
221 | bool m_flag; | ||
222 | htsmsg_t *m_msg; | ||
223 | }; | ||
224 | @@ -146,7 +146,7 @@ public: | ||
225 | * HTSP Connection registration thread | ||
226 | */ | ||
227 | class CHTSPRegister | ||
228 | - : public PLATFORM::CThread | ||
229 | + : public P8PLATFORM::CThread | ||
230 | { | ||
231 | friend class CHTSPConnection; | ||
232 | |||
233 | @@ -163,7 +163,7 @@ private: | ||
234 | * HTSP Connection | ||
235 | */ | ||
236 | class CHTSPConnection | ||
237 | - : public PLATFORM::CThread | ||
238 | + : public P8PLATFORM::CThread | ||
239 | { | ||
240 | friend class CHTSPRegister; | ||
241 | |||
242 | @@ -190,7 +190,7 @@ public: | ||
243 | inline bool IsConnected ( void ) const { return m_ready; } | ||
244 | bool WaitForConnection ( void ); | ||
245 | |||
246 | - inline PLATFORM::CMutex& Mutex ( void ) { return m_mutex; } | ||
247 | + inline P8PLATFORM::CMutex& Mutex ( void ) { return m_mutex; } | ||
248 | |||
249 | void OnSleep ( void ); | ||
250 | void OnWake ( void ); | ||
251 | @@ -202,10 +202,10 @@ private: | ||
252 | bool SendHello ( void ); | ||
253 | bool SendAuth ( const std::string &u, const std::string &p ); | ||
254 | |||
255 | - PLATFORM::CTcpSocket *m_socket; | ||
256 | - PLATFORM::CMutex m_mutex; | ||
257 | + P8PLATFORM::CTcpSocket *m_socket; | ||
258 | + P8PLATFORM::CMutex m_mutex; | ||
259 | CHTSPRegister m_regThread; | ||
260 | - PLATFORM::CCondition<volatile bool> m_regCond; | ||
261 | + P8PLATFORM::CCondition<volatile bool> m_regCond; | ||
262 | bool m_ready; | ||
263 | uint32_t m_seq; | ||
264 | std::string m_serverName; | ||
265 | @@ -273,13 +273,13 @@ public: | ||
266 | void SetStreamingProfile(const std::string &profile); | ||
267 | |||
268 | private: | ||
269 | - PLATFORM::CMutex m_mutex; | ||
270 | + P8PLATFORM::CMutex m_mutex; | ||
271 | CHTSPConnection &m_conn; | ||
272 | - PLATFORM::SyncedBuffer<DemuxPacket*> m_pktBuffer; | ||
273 | + P8PLATFORM::SyncedBuffer<DemuxPacket*> m_pktBuffer; | ||
274 | ADDON::XbmcStreamProperties m_streams; | ||
275 | std::map<int,int> m_streamStat; | ||
276 | int64_t m_seekTime; | ||
277 | - PLATFORM::CCondition<volatile int64_t> m_seekCond; | ||
278 | + P8PLATFORM::CCondition<volatile int64_t> m_seekCond; | ||
279 | bool m_seeking; | ||
280 | bool m_speedChange; | ||
281 | tvheadend::status::SourceInfo m_sourceInfo; | ||
282 | @@ -350,7 +350,7 @@ private: | ||
283 | * Root object for Tvheadend connection | ||
284 | */ | ||
285 | class CTvheadend | ||
286 | - : public PLATFORM::CThread | ||
287 | + : public P8PLATFORM::CThread | ||
288 | { | ||
289 | public: | ||
290 | CTvheadend(); | ||
291 | @@ -422,7 +422,7 @@ private: | ||
292 | */ | ||
293 | tvheadend::Profiles m_profiles; | ||
294 | |||
295 | - PLATFORM::CMutex m_mutex; | ||
296 | + P8PLATFORM::CMutex m_mutex; | ||
297 | |||
298 | CHTSPConnection m_conn; | ||
299 | |||
300 | @@ -519,7 +519,7 @@ public: | ||
301 | */ | ||
302 | bool WaitForConnection ( void ) | ||
303 | { | ||
304 | - PLATFORM::CLockObject lock(m_conn.Mutex()); | ||
305 | + P8PLATFORM::CLockObject lock(m_conn.Mutex()); | ||
306 | return m_conn.WaitForConnection(); | ||
307 | } | ||
308 | std::string GetServerName ( void ) | ||
309 | diff --git a/src/client.cpp b/src/client.cpp | ||
310 | index 94d2db9..3295914 100644 | ||
311 | --- a/src/client.cpp | ||
312 | +++ b/src/client.cpp | ||
313 | @@ -22,14 +22,14 @@ | ||
314 | #include "client.h" | ||
315 | #include "kodi/xbmc_pvr_dll.h" | ||
316 | #include "kodi/libKODI_guilib.h" | ||
317 | -#include "platform/util/util.h" | ||
318 | +#include "p8-platform/util/util.h" | ||
319 | #include "Tvheadend.h" | ||
320 | #include "tvheadend/Settings.h" | ||
321 | #include "tvheadend/utilities/Logger.h" | ||
322 | |||
323 | using namespace std; | ||
324 | using namespace ADDON; | ||
325 | -using namespace PLATFORM; | ||
326 | +using namespace P8PLATFORM; | ||
327 | using namespace tvheadend; | ||
328 | using namespace tvheadend::utilities; | ||
329 | |||
330 | diff --git a/src/client.h b/src/client.h | ||
331 | index 3a5f950..a10659b 100644 | ||
332 | --- a/src/client.h | ||
333 | +++ b/src/client.h | ||
334 | @@ -20,8 +20,8 @@ | ||
335 | * | ||
336 | */ | ||
337 | |||
338 | -#include "platform/os.h" | ||
339 | -#include "platform/threads/mutex.h" | ||
340 | +#include "p8-platform/os.h" | ||
341 | +#include "p8-platform/threads/mutex.h" | ||
342 | #include "kodi/libXBMC_addon.h" | ||
343 | #include "kodi/libXBMC_pvr.h" | ||
344 | #include "kodi/libXBMC_codec.h" | ||
345 | diff --git a/src/tvheadend/Subscription.cpp b/src/tvheadend/Subscription.cpp | ||
346 | index 182ca7f..e18af1e 100644 | ||
347 | --- a/src/tvheadend/Subscription.cpp | ||
348 | +++ b/src/tvheadend/Subscription.cpp | ||
349 | @@ -23,7 +23,7 @@ | ||
350 | #include "utilities/Logger.h" | ||
351 | #include "../Tvheadend.h" | ||
352 | |||
353 | -using namespace PLATFORM; | ||
354 | +using namespace P8PLATFORM; | ||
355 | using namespace tvheadend; | ||
356 | using namespace tvheadend::utilities; | ||
357 | |||
358 | diff --git a/src/tvheadend/Subscription.h b/src/tvheadend/Subscription.h | ||
359 | index b03bcce..363e5ef 100644 | ||
360 | --- a/src/tvheadend/Subscription.h | ||
361 | +++ b/src/tvheadend/Subscription.h | ||
362 | @@ -22,7 +22,7 @@ | ||
363 | */ | ||
364 | |||
365 | #include <string> | ||
366 | -#include "platform/threads/mutex.h" | ||
367 | +#include "p8-platform/threads/mutex.h" | ||
368 | |||
369 | extern "C" | ||
370 | { | ||
371 | @@ -146,6 +146,6 @@ namespace tvheadend | ||
372 | std::string m_profile; | ||
373 | CHTSPConnection &m_conn; | ||
374 | |||
375 | - mutable PLATFORM::CMutex m_mutex; | ||
376 | + mutable P8PLATFORM::CMutex m_mutex; | ||
377 | }; | ||
378 | } | ||
379 | diff --git a/src/tvheadend/utilities/AsyncState.cpp b/src/tvheadend/utilities/AsyncState.cpp | ||
380 | index 0c30a93..1f4fdf3 100644 | ||
381 | --- a/src/tvheadend/utilities/AsyncState.cpp | ||
382 | +++ b/src/tvheadend/utilities/AsyncState.cpp | ||
383 | @@ -22,7 +22,7 @@ | ||
384 | #include "AsyncState.h" | ||
385 | |||
386 | using namespace tvheadend::utilities; | ||
387 | -using namespace PLATFORM; | ||
388 | +using namespace P8PLATFORM; | ||
389 | |||
390 | struct Param { | ||
391 | eAsyncState state; | ||
392 | @@ -37,7 +37,7 @@ AsyncState::AsyncState(int timeout) | ||
393 | |||
394 | eAsyncState AsyncState::GetState() | ||
395 | { | ||
396 | - PLATFORM::CLockObject lock(m_mutex); | ||
397 | + P8PLATFORM::CLockObject lock(m_mutex); | ||
398 | return m_state; | ||
399 | } | ||
400 | |||
401 | diff --git a/src/tvheadend/utilities/AsyncState.h b/src/tvheadend/utilities/AsyncState.h | ||
402 | index 1d672da..0819cd8 100644 | ||
403 | --- a/src/tvheadend/utilities/AsyncState.h | ||
404 | +++ b/src/tvheadend/utilities/AsyncState.h | ||
405 | @@ -22,7 +22,7 @@ | ||
406 | #ifndef ASYNCSTATE_H | ||
407 | #define ASYNCSTATE_H | ||
408 | |||
409 | -#include "platform/threads/mutex.h" | ||
410 | +#include "p8-platform/threads/mutex.h" | ||
411 | |||
412 | namespace tvheadend { | ||
413 | namespace utilities { | ||
414 | @@ -75,8 +75,8 @@ namespace tvheadend { | ||
415 | static bool PredicateCallback ( void *param ); | ||
416 | |||
417 | eAsyncState m_state; | ||
418 | - PLATFORM::CMutex m_mutex; | ||
419 | - PLATFORM::CCondition<bool> m_condition; | ||
420 | + P8PLATFORM::CMutex m_mutex; | ||
421 | + P8PLATFORM::CCondition<bool> m_condition; | ||
422 | int m_timeout; | ||
423 | |||
424 | }; | ||
425 | -- | ||
426 | 2.0.1 | ||
427 | |||
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts_git.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts_git.bb deleted file mode 100644 index 7cafebfa2..000000000 --- a/meta-multimedia/recipes-mediacenter/kodi/kodi-addon-pvr-hts_git.bb +++ /dev/null | |||
@@ -1,57 +0,0 @@ | |||
1 | SUMMARY = "Kodi Media Center PVR plugins" | ||
2 | |||
3 | LICENSE = "GPLv2+" | ||
4 | LIC_FILES_CHKSUM = "file://src/client.cpp;md5=c8f6b73c5bc1048a3d6506700a7a91d2" | ||
5 | |||
6 | DEPENDS = " \ | ||
7 | zip-native \ | ||
8 | p8platform \ | ||
9 | kodi-platform \ | ||
10 | " | ||
11 | |||
12 | SRCREV_pvrhts = "7f75b70527922aef953123ff97ebaa22d9fb7cb4" | ||
13 | |||
14 | SRCREV_FORMAT = "pvrhts" | ||
15 | |||
16 | PV = "2.2.13+gitr${SRCPV}" | ||
17 | SRC_URI = "git://github.com/kodi-pvr/pvr.hts.git;branch=Jarvis;destsuffix=pvr.hts;name=pvrhts \ | ||
18 | file://0001-Update-to-p8-platform.patch \ | ||
19 | " | ||
20 | |||
21 | inherit cmake pkgconfig gettext | ||
22 | |||
23 | S = "${WORKDIR}/pvr.hts" | ||
24 | |||
25 | EXTRA_OECMAKE = " \ | ||
26 | -DADDONS_TO_BUILD=pvr.hts \ | ||
27 | -DADDON_SRC_PREFIX=${WORKDIR}/git \ | ||
28 | -DCMAKE_BUILD_TYPE=Debug \ | ||
29 | -DCMAKE_INSTALL_PREFIX=${datadir}/kodi/addons \ | ||
30 | -DCMAKE_MODULE_PATH=${STAGING_DIR_HOST}${libdir}/kodi \ | ||
31 | -DCMAKE_PREFIX_PATH=${STAGING_DIR_HOST}${prefix} \ | ||
32 | -DPACKAGE_ZIP=1 \ | ||
33 | " | ||
34 | |||
35 | do_compile_prepend() { | ||
36 | sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' \ | ||
37 | -e 's:-pipe:${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -pipe:g' \ | ||
38 | ${B}/CMakeFiles/*/flags.make | ||
39 | sed -i -e 's:-pipe:${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -pipe:g'\ | ||
40 | ${B}/CMakeFiles/*/link.txt | ||
41 | } | ||
42 | |||
43 | # Make zip package for manual installation | ||
44 | do_install_append() { | ||
45 | install -d ${D}${datadir}/kodi/addons/packages/ | ||
46 | ( cd ${D}${datadir}/kodi/addons | ||
47 | zip -r ${D}${datadir}/kodi/addons/packages/pvr.hts-${PV}.zip pvr.hts -x '*.debug*' ) | ||
48 | } | ||
49 | |||
50 | # Doesn't get added automagically, dlopen()? | ||
51 | RDEPENDS_${PN} = "libkodiplatform" | ||
52 | |||
53 | INSANE_SKIP_${PN} = "dev-so" | ||
54 | FILES_${PN} += "${datadir}/kodi" | ||
55 | FILES_${PN}-dbg += "${datadir}/kodi/addons/*/.debug/" | ||
56 | |||
57 | PNBLACKLIST[kodi-addon-pvr-hts] ?= "Depends on blacklisted kodi - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/0001-fix-cross-compile-badness.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/0001-fix-cross-compile-badness.patch deleted file mode 100644 index 27e9d217c..000000000 --- a/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/0001-fix-cross-compile-badness.patch +++ /dev/null | |||
@@ -1,40 +0,0 @@ | |||
1 | From 3136317f096ea7fda4fb907e775a01952c4aae3d Mon Sep 17 00:00:00 2001 | ||
2 | From: Stefan Saraev <stefan@saraev.ca> | ||
3 | Date: Fri, 19 Feb 2016 10:33:00 +0100 | ||
4 | Subject: [PATCH] fix cross compile badness | ||
5 | |||
6 | From https://github.com/OpenELEC/OpenELEC.tv/blob/master/packages/mediacenter/kodi-platform/patches/kodi-platform-01_crosscompile-badness.patch | ||
7 | --- | ||
8 | CMakeLists.txt | 2 +- | ||
9 | kodiplatform-config.cmake.in | 2 +- | ||
10 | 2 files changed, 2 insertions(+), 2 deletions(-) | ||
11 | |||
12 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
13 | index bf6b659..9abe773 100644 | ||
14 | --- a/CMakeLists.txt | ||
15 | +++ b/CMakeLists.txt | ||
16 | @@ -22,7 +22,7 @@ if(NOT WIN32) | ||
17 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") | ||
18 | endif() | ||
19 | |||
20 | -set(kodiplatform_INCLUDE_DIRS ${TINYXML_INCLUDE_DIR} "${CMAKE_INSTALL_PREFIX}/include/kodi") | ||
21 | +set(kodiplatform_INCLUDE_DIRS ${TINYXML_INCLUDE_DIR} "${CMAKE_INSTALL_PREFIX_TOOLCHAIN}/include/kodi") | ||
22 | IF(WIN32) | ||
23 | LIST(APPEND kodiplatform_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include/kodi/windows") | ||
24 | ENDIF(WIN32) | ||
25 | diff --git a/kodiplatform-config.cmake.in b/kodiplatform-config.cmake.in | ||
26 | index 3fc5273..60bdf1b 100644 | ||
27 | --- a/kodiplatform-config.cmake.in | ||
28 | +++ b/kodiplatform-config.cmake.in | ||
29 | @@ -10,7 +10,7 @@ | ||
30 | # | ||
31 | # propagate these properties from one build system to the other | ||
32 | set (kodiplatform_VERSION "@kodiplatform_VERSION_MAJOR@.@kodiplatform_VERSION_MINOR@") | ||
33 | -set (kodiplatform_INCLUDE_DIRS @kodiplatform_INCLUDE_DIRS@ @CMAKE_INSTALL_PREFIX@/include) | ||
34 | +set (kodiplatform_INCLUDE_DIRS @kodiplatform_INCLUDE_DIRS@ @CMAKE_INSTALL_PREFIX_TOOLCHAIN@/include) | ||
35 | set (kodiplatform_LIBRARY_DIRS "@CMAKE_LIBRARY_OUTPUT_DIRECTORY@") | ||
36 | set (kodiplatform_LINKER_FLAGS "@kodiplatform_LINKER_FLAGS@") | ||
37 | set (kodiplatform_CONFIG_VARS "@kodiplatform_CONFIG_VARS@") | ||
38 | -- | ||
39 | 2.0.1 | ||
40 | |||
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/kodi-platform-02_no-multi-lib.patch b/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/kodi-platform-02_no-multi-lib.patch deleted file mode 100644 index a13c53be1..000000000 --- a/meta-multimedia/recipes-mediacenter/kodi/kodi-platform/kodi-platform-02_no-multi-lib.patch +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
2 | index 9abe773..ae433fc 100644 | ||
3 | --- a/CMakeLists.txt | ||
4 | +++ b/CMakeLists.txt | ||
5 | @@ -9,7 +9,6 @@ find_package(kodi REQUIRED) | ||
6 | find_package(TinyXML REQUIRED) | ||
7 | find_package(Threads REQUIRED) | ||
8 | find_package(p8-platform REQUIRED) | ||
9 | -include(UseMultiArch.cmake) | ||
10 | include(CheckAtomic.cmake) | ||
11 | |||
12 | set(kodiplatform_NAME kodiplatform) | ||
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-platform_git.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi-platform_git.bb deleted file mode 100644 index 0b554ef6a..000000000 --- a/meta-multimedia/recipes-mediacenter/kodi/kodi-platform_git.bb +++ /dev/null | |||
@@ -1,39 +0,0 @@ | |||
1 | SUMMARY = "Platform support library used by libCEC and binary add-ons for Kodi" | ||
2 | HOMEPAGE = "http://libcec.pulse-eight.com/" | ||
3 | |||
4 | LICENSE = "GPLv2+" | ||
5 | LIC_FILES_CHKSUM = "file://src/util/XMLUtils.cpp;beginline=2;endline=18;md5=dae8e846500e70dd8ecee55f3f018c30" | ||
6 | |||
7 | DEPENDS = "libtinyxml kodi" | ||
8 | |||
9 | PV = "16.0.0" | ||
10 | |||
11 | SRCREV = "c8188d82678fec6b784597db69a68e74ff4986b5" | ||
12 | SRC_URI = "git://github.com/xbmc/kodi-platform.git \ | ||
13 | file://0001-fix-cross-compile-badness.patch \ | ||
14 | file://kodi-platform-02_no-multi-lib.patch \ | ||
15 | " | ||
16 | |||
17 | S = "${WORKDIR}/git" | ||
18 | |||
19 | inherit cmake pkgconfig | ||
20 | |||
21 | EXTRA_OECMAKE = " -DCMAKE_INSTALL_PREFIX_TOOLCHAIN=${STAGING_DIR_TARGET} \ | ||
22 | -DCMAKE_INSTALL_LIBDIR=${libdir} \ | ||
23 | -DCMAKE_INSTALL_LIBDIR_NOARCH=${libdir} \ | ||
24 | -DKODI_INCLUDE_DIR=${STAGING_LIBDIR}/kodi \ | ||
25 | -DKODI_INCLUDE_DIR=${STAGING_INCDIR}/kodi \ | ||
26 | " | ||
27 | |||
28 | do_compile_prepend() { | ||
29 | sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' \ | ||
30 | -e 's:-pipe:${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -pipe:g' \ | ||
31 | ${B}/CMakeFiles/kodiplatform.dir/flags.make | ||
32 | sed -i -e 's:-pipe:${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -pipe:g'\ | ||
33 | ${B}/CMakeFiles/kodiplatform.dir/link.txt | ||
34 | } | ||
35 | |||
36 | RPROVIDES_${PN} += "libkodiplatform" | ||
37 | FILES_${PN}-dev += "${libdir}/*platform" | ||
38 | |||
39 | PNBLACKLIST[kodi-platform] ?= "Depends on blacklisted kodi - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi-startup.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi-startup.bb deleted file mode 100644 index 47e8f38e9..000000000 --- a/meta-multimedia/recipes-mediacenter/kodi/kodi-startup.bb +++ /dev/null | |||
@@ -1,24 +0,0 @@ | |||
1 | SUMMARY = "Systemd service for kodi startup" | ||
2 | |||
3 | LICENSE = "MIT" | ||
4 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690" | ||
5 | |||
6 | PV = "1.0" | ||
7 | |||
8 | SRC_URI = "file://kodi.service" | ||
9 | |||
10 | inherit systemd | ||
11 | |||
12 | do_install() { | ||
13 | install -d ${D}/lib/systemd/system | ||
14 | install -m 0644 ${WORKDIR}/kodi.service ${D}/lib/systemd/system/ | ||
15 | } | ||
16 | |||
17 | SYSTEMD_PACKAGES = "${PN}" | ||
18 | SYSTEMD_SERVICE_${PN} = "kodi.service" | ||
19 | |||
20 | RDEPENDS_${PN} += "xinit kodi" | ||
21 | |||
22 | PNBLACKLIST[kodi-startup] ?= "Runtime depends on blacklisted kodi - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
23 | |||
24 | PNBLACKLIST[kodi-startup] ?= "Runtime depends on blacklisted kodi-startup-dev - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_git.bb b/meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_git.bb deleted file mode 100644 index 8a142645c..000000000 --- a/meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_git.bb +++ /dev/null | |||
@@ -1,57 +0,0 @@ | |||
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 = "8.4.0+git${SRCPV}" | ||
10 | SRCREV_mkvtoolnix = "7f63ea48ee474754a95838f37aba8f6118c94a65" | ||
11 | SRCREV_libebml = "04b34b0dbded40e0cec93cafa6a4f4c8e90c3206" | ||
12 | SRCREV_libmatroska = "db5d627b5bf48516c9e0b540254c0d36595760c3" | ||
13 | SRCREV_FORMAT = "mkvtoolnix" | ||
14 | SRC_URI = " \ | ||
15 | git://github.com/mbunkus/mkvtoolnix.git;name=mkvtoolnix \ | ||
16 | git://github.com/Matroska-Org/libebml.git;name=libebml;destsuffix=git/lib/libebml \ | ||
17 | git://github.com/Matroska-Org/libmatroska.git;name=libmatroska;destsuffix=git/lib/libmatroska \ | ||
18 | " | ||
19 | |||
20 | S = "${WORKDIR}/git" | ||
21 | |||
22 | inherit autotools-brokensep gettext | ||
23 | |||
24 | # make sure rb files are used from sysroot, not from host | ||
25 | # ruby-1.9.3-always-use-i386.patch is doing target_cpu=`echo $target_cpu | sed s/i.86/i386/` | ||
26 | # we need to replace it too (a bit longer version without importing re) | ||
27 | RUBY_SYS = "${@ '${BUILD_SYS}'.replace('i486', 'i386').replace('i586', 'i386').replace('i686', 'i386') }" | ||
28 | export RUBYLIB="${STAGING_DATADIR_NATIVE}/rubygems:${STAGING_LIBDIR_NATIVE}/ruby:${STAGING_LIBDIR_NATIVE}/ruby/${RUBY_SYS}" | ||
29 | |||
30 | PACKAGECONFIG ??= "flac ${@bb.utils.contains('BBFILE_COLLECTIONS', 'qt5-layer', 'qt5', '', d)}" | ||
31 | PACKAGECONFIG[flac] = "--with-flac,--without-flac,flac" | ||
32 | PACKAGECONFIG[qt5] = "--enable-qt --with-moc=${STAGING_BINDIR_NATIVE}/qt5/moc --with-uic=${STAGING_BINDIR_NATIVE}/qt5/uic --with-rcc=${STAGING_BINDIR_NATIVE}/qt5/rcc,--disable-qt,qtbase" | ||
33 | |||
34 | EXTRA_OECONF = " --with-boost-libdir=${STAGING_LIBDIR} \ | ||
35 | " | ||
36 | |||
37 | FILES_${PN} += "${datadir}" | ||
38 | |||
39 | # remove some hardcoded searchpaths | ||
40 | do_configure_prepend() { | ||
41 | sed -i -e s:/usr/local/lib:${STAGING_LIBDIR}:g -e s:/usr/local/include:${STAGING_INCDIR}:g ${S}/ac/qt5.m4 | ||
42 | } | ||
43 | |||
44 | # Yeah, no makefile | ||
45 | do_compile() { | ||
46 | LC_ALL="en_US.UTF-8" ${S}/drake ${PARALLEL_MAKE} | ||
47 | } | ||
48 | |||
49 | do_install() { | ||
50 | LC_ALL="en_US.UTF-8" ${S}/drake install DESTDIR=${D} | ||
51 | } | ||
52 | |||
53 | # | In file included from src/common/utf8_codecvt_facet.cpp:22:0: | ||
54 | # | src/common/../../lib/boost/utf8_codecvt_facet/utf8_codecvt_facet.cpp:174:5: error: 'int mtx::utf8_codecvt_facet::do_length' is not a static data member of 'struct mtx::utf8_codecvt_facet' | ||
55 | # | BOOST_CODECVT_DO_LENGTH_CONST std::mbstate_t &, | ||
56 | # | ^ | ||
57 | PNBLACKLIST[mkvtoolnix] ?= "BROKEN: Failx to build with gcc-5 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-multimedia/recipes-multimedia/coriander/coriander/cross-compile.patch b/meta-multimedia/recipes-multimedia/coriander/coriander/cross-compile.patch deleted file mode 100644 index 49350fe18..000000000 --- a/meta-multimedia/recipes-multimedia/coriander/coriander/cross-compile.patch +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
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 deleted file mode 100755 index 1ddd9aab6..000000000 --- a/meta-multimedia/recipes-multimedia/coriander/coriander_2.0.2.bb +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
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' - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
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/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-aacdec-check-channel-count.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-aacdec-check-channel-count.patch deleted file mode 100644 index 7da0e1452..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-aacdec-check-channel-count.patch +++ /dev/null | |||
@@ -1,34 +0,0 @@ | |||
1 | gst-ffmpeg: aacdec: check channel count | ||
2 | |||
3 | Prevent out of array accesses | ||
4 | |||
5 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
6 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
7 | (cherry picked from commit 96f452ac647dae33c53c242ef3266b65a9beafb6) | ||
8 | |||
9 | Upstream-Status: Backport | ||
10 | |||
11 | Signed-off-by: Yue Tao <yue.tao@windriver.com> | ||
12 | --- | ||
13 | libavcodec/aacdec.c | 5 +++++ | ||
14 | 1 files changed, 5 insertions(+), 0 deletions(-) | ||
15 | |||
16 | diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c | ||
17 | index 239153a..6c17c33 100644 | ||
18 | --- a/gst-libs/ext/libav/libavcodec/aacdec.c | ||
19 | +++ b/gst-libs/ext/libav/libavcodec/aacdec.c | ||
20 | @@ -914,6 +914,11 @@ static av_cold int aac_decode_init(AVCodecContext *avctx) | ||
21 | } | ||
22 | } | ||
23 | |||
24 | + if (avctx->channels > MAX_CHANNELS) { | ||
25 | + av_log(avctx, AV_LOG_ERROR, "Too many channels\n"); | ||
26 | + return AVERROR_INVALIDDATA; | ||
27 | + } | ||
28 | + | ||
29 | AAC_INIT_VLC_STATIC( 0, 304); | ||
30 | AAC_INIT_VLC_STATIC( 1, 270); | ||
31 | AAC_INIT_VLC_STATIC( 2, 550); | ||
32 | -- | ||
33 | 1.7.5.4 | ||
34 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-alac-fix-nb_samples-order-case.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-alac-fix-nb_samples-order-case.patch deleted file mode 100644 index 10ce0f332..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-alac-fix-nb_samples-order-case.patch +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | From e0884eadf6a15e93142131b695f48776f9a0ac31 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Niedermayer <michaelni@gmx.at> | ||
3 | Date: Sat, 10 Nov 2012 17:14:04 +0100 | ||
4 | Subject: [PATCH] alac: fix nb_samples < order case | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | Commit e0884eadf6a15e93142131b695f48776f9a0ac31 release/1.0 | ||
9 | |||
10 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
11 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
12 | (cherry picked from commit fd4f4923cce6a2cbf4f48640b4ac706e614a1594) | ||
13 | --- | ||
14 | libavcodec/alac.c | 2 +- | ||
15 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
16 | |||
17 | diff --git a/libavcodec/alac.c b/libavcodec/alac.c | ||
18 | index 9cd1737..e8e844a 100644 | ||
19 | --- a/gst-libs/ext/libav/libavcodec/alac.c | ||
20 | +++ b/gst-libs/ext/libav/libavcodec/alac.c | ||
21 | @@ -278,7 +278,7 @@ static void predictor_decompress_fir_ada | ||
22 | |||
23 | /* read warm-up samples */ | ||
24 | if (predictor_coef_num > 0) | ||
25 | - for (i = 0; i < predictor_coef_num; i++) { | ||
26 | + for (i = 0; i < predictor_coef_num && i < output_size; i++) { | ||
27 | int32_t val; | ||
28 | |||
29 | val = buffer_out[i] + error_buffer[i+1]; | ||
30 | -- | ||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-alsdec-check-block-length.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-alsdec-check-block-length.patch deleted file mode 100644 index 73980f426..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-alsdec-check-block-length.patch +++ /dev/null | |||
@@ -1,61 +0,0 @@ | |||
1 | From 6df0d3e2916c223dbe4262bf1b876dff1cb3f980 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Niedermayer <michaelni@gmx.at> | ||
3 | Date: Wed, 12 Dec 2012 12:28:45 +0100 | ||
4 | Subject: [PATCH] alsdec: check block length | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | Commit 6df0d3e2916c223dbe4262bf1b876dff1cb3f980 release/1.0 | ||
9 | |||
10 | Fix writing over the end | ||
11 | |||
12 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
13 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
14 | (cherry picked from commit 0ceca269b66ec12a23bf0907bd2c220513cdbf16) | ||
15 | |||
16 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
17 | --- | ||
18 | libavcodec/alsdec.c | 10 ++++++++-- | ||
19 | 1 file changed, 8 insertions(+), 2 deletions(-) | ||
20 | |||
21 | diff --git a/libavcodec/alsdec.c b/libavcodec/alsdec.c | ||
22 | index 46dd0b4..1095b01 100644 | ||
23 | --- a/gst-libs/ext/libav/libavcodec/alsdec.c | ||
24 | +++ b/gst-libs/ext/libav/libavcodec/alsdec.c | ||
25 | @@ -552,12 +552,15 @@ static void get_block_sizes(ALSDecContext *ctx, unsigned int *div_blocks, | ||
26 | |||
27 | /** Read the block data for a constant block | ||
28 | */ | ||
29 | -static void read_const_block_data(ALSDecContext *ctx, ALSBlockData *bd) | ||
30 | +static int read_const_block_data(ALSDecContext *ctx, ALSBlockData *bd) | ||
31 | { | ||
32 | ALSSpecificConfig *sconf = &ctx->sconf; | ||
33 | AVCodecContext *avctx = ctx->avctx; | ||
34 | GetBitContext *gb = &ctx->gb; | ||
35 | |||
36 | + if (bd->block_length <= 0) | ||
37 | + return -1; | ||
38 | + | ||
39 | *bd->raw_samples = 0; | ||
40 | *bd->const_block = get_bits1(gb); // 1 = constant value, 0 = zero block (silence) | ||
41 | bd->js_blocks = get_bits1(gb); | ||
42 | @@ -572,6 +575,8 @@ static void read_const_block_data(ALSDecContext *ctx, ALSBlockData *bd) | ||
43 | |||
44 | // ensure constant block decoding by reusing this field | ||
45 | *bd->const_block = 1; | ||
46 | + | ||
47 | + return 0; | ||
48 | } | ||
49 | |||
50 | |||
51 | @@ -971,7 +976,8 @@ static int read_block(ALSDecContext *ctx, ALSBlockData *bd) | ||
52 | if (read_var_block_data(ctx, bd)) | ||
53 | return -1; | ||
54 | } else { | ||
55 | - read_const_block_data(ctx, bd); | ||
56 | + if (read_const_block_data(ctx, bd) < 0) | ||
57 | + return -1; | ||
58 | } | ||
59 | |||
60 | return 0; | ||
61 | -- | ||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-atrac3dec-Check-coding-mode-against-channels.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-atrac3dec-Check-coding-mode-against-channels.patch deleted file mode 100644 index 42cb5f40b..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-atrac3dec-Check-coding-mode-against-channels.patch +++ /dev/null | |||
@@ -1,37 +0,0 @@ | |||
1 | From 2502914c5f8eb77659d7c0868396862557a63245 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Niedermayer <michaelni@gmx.at> | ||
3 | Date: Fri, 9 Nov 2012 13:26:20 +0100 | ||
4 | Subject: [PATCH] atrac3dec: Check coding mode against channels. | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | Commit 2502914c5f8eb77659d7c0868396862557a63245 release/1.0 | ||
9 | |||
10 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
11 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
12 | (cherry picked from commit 13451f5520ce6b0afde861b2285dda659f8d4fb4) | ||
13 | |||
14 | Conflicts: | ||
15 | |||
16 | libavcodec/atrac3.c | ||
17 | --- | ||
18 | libavcodec/atrac3.c | 5 +++++ | ||
19 | 1 file changed, 5 insertions(+) | ||
20 | |||
21 | diff --git a/libavcodec/atrac3.c b/libavcodec/atrac3.c | ||
22 | index 7d076be..1da4c78 100644 | ||
23 | --- a/gst-libs/ext/libav/libavcodec/atrac3.c | ||
24 | +++ b/gst-libs/ext/libav/libavcodec/atrac3.c | ||
25 | @@ -955,6 +955,11 @@ static av_cold int atrac3_decode_init(AVCodecContext *avctx) | ||
26 | } | ||
27 | /* Check the extradata. */ | ||
28 | |||
29 | + if (q->codingMode == JOINT_STEREO && avctx->channels < 2) { | ||
30 | + av_log(avctx, AV_LOG_ERROR, "Invalid coding mode\n"); | ||
31 | + return AVERROR_INVALIDDATA; | ||
32 | + } | ||
33 | + | ||
34 | if (q->atrac3version != 4) { | ||
35 | av_log(avctx,AV_LOG_ERROR,"Version %d != 4.\n",q->atrac3version); | ||
36 | return AVERROR_INVALIDDATA; | ||
37 | -- | ||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-dsputil-fix-signedness-in-sizeof-comparissio.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-dsputil-fix-signedness-in-sizeof-comparissio.patch deleted file mode 100644 index 31fa51a3e..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-dsputil-fix-signedness-in-sizeof-comparissio.patch +++ /dev/null | |||
@@ -1,40 +0,0 @@ | |||
1 | From a99aff4e4bbef8e64b51f267cd1769214e1b4e80 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Niedermayer <michaelni@gmx.at> | ||
3 | Date: Fri, 30 Aug 2013 23:40:47 +0200 | ||
4 | Subject: [PATCH] avcodec/dsputil: fix signedness in sizeof() comparissions | ||
5 | |||
6 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
7 | (cherry picked from commit 454a11a1c9c686c78aa97954306fb63453299760) | ||
8 | |||
9 | Upstream-Status: Backport | ||
10 | |||
11 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
12 | --- | ||
13 | libavcodec/dsputil.c | 4 ++-- | ||
14 | 1 files changed, 2 insertions(+), 2 deletions(-) | ||
15 | |||
16 | diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c | ||
17 | index 53dc2eb..6264832 100644 | ||
18 | --- a/gst-libs/ext/libav/libavcodec/dsputil.c | ||
19 | +++ b/gst-libs/ext/libav/libavcodec/dsputil.c | ||
20 | @@ -1912,7 +1912,7 @@ void ff_set_cmp(DSPContext* c, me_cmp_func *cmp, int type){ | ||
21 | |||
22 | static void add_bytes_c(uint8_t *dst, uint8_t *src, int w){ | ||
23 | long i; | ||
24 | - for(i=0; i<=w-sizeof(long); i+=sizeof(long)){ | ||
25 | + for(i=0; i<=w-(int)sizeof(long); i+=sizeof(long)){ | ||
26 | long a = *(long*)(src+i); | ||
27 | long b = *(long*)(dst+i); | ||
28 | *(long*)(dst+i) = ((a&pb_7f) + (b&pb_7f)) ^ ((a^b)&pb_80); | ||
29 | @@ -1937,7 +1937,7 @@ static void diff_bytes_c(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w){ | ||
30 | } | ||
31 | }else | ||
32 | #endif | ||
33 | - for(i=0; i<=w-sizeof(long); i+=sizeof(long)){ | ||
34 | + for(i=0; i<=w-(int)sizeof(long); i+=sizeof(long)){ | ||
35 | long a = *(long*)(src1+i); | ||
36 | long b = *(long*)(src2+i); | ||
37 | *(long*)(dst+i) = ((a|pb_80) - (b&pb_7f)) ^ ((a^b^pb_80)&pb_80); | ||
38 | -- | ||
39 | 1.7.5.4 | ||
40 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-msrle-use-av_image_get_linesize-to-calculate.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-msrle-use-av_image_get_linesize-to-calculate.patch deleted file mode 100644 index b0a3fb10c..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-msrle-use-av_image_get_linesize-to-calculate.patch +++ /dev/null | |||
@@ -1,50 +0,0 @@ | |||
1 | From 573d5fdedae72bf59d8c0b0766fdee171063d36f Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Niedermayer <michaelni@gmx.at> | ||
3 | Date: Sun, 16 Feb 2014 23:08:52 +0100 | ||
4 | Subject: [PATCH] avcodec/msrle: use av_image_get_linesize() to calculate the | ||
5 | linesize | ||
6 | |||
7 | Upstream-Status: Backport | ||
8 | |||
9 | Commit 573d5fdedae72bf59d8c0b0766fdee171063d36f release/0.9 | ||
10 | |||
11 | Fixes out of array access | ||
12 | Fixes: 14a74a0a2dc67ede543f0e35d834fbbe-asan_heap-oob_49572c_556_cov_215466444_44_001_engine_room.mov | ||
13 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
14 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
15 | (cherry picked from commit c919e1ca2ecfc47d796382973ba0e48b8f6f92a2) | ||
16 | |||
17 | Conflicts: | ||
18 | |||
19 | libavcodec/msrle.c | ||
20 | (cherry picked from commit bc1c8ec5e65098fd2ccd8456f667151dfc9cda42) | ||
21 | |||
22 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
23 | --- | ||
24 | libavcodec/msrle.c | 3 ++- | ||
25 | 1 files changed, 2 insertions(+), 1 deletions(-) | ||
26 | |||
27 | diff --git a/libavcodec/msrle.c b/libavcodec/msrle.c | ||
28 | index 30159bb..c39ae7b 100644 | ||
29 | --- a/gst-libs/ext/libav/libavcodec/msrle.c | ||
30 | +++ b/gst-libs/ext/libav/libavcodec/msrle.c | ||
31 | @@ -35,6 +35,7 @@ | ||
32 | #include "avcodec.h" | ||
33 | #include "dsputil.h" | ||
34 | #include "msrledec.h" | ||
35 | +#include "libavutil/imgutils.h" | ||
36 | |||
37 | typedef struct MsrleContext { | ||
38 | AVCodecContext *avctx; | ||
39 | @@ -107,7 +108,7 @@ static int msrle_decode_frame(AVCodecContext *avctx, | ||
40 | |||
41 | /* FIXME how to correctly detect RLE ??? */ | ||
42 | if (avctx->height * istride == avpkt->size) { /* assume uncompressed */ | ||
43 | - int linesize = avctx->width * avctx->bits_per_coded_sample / 8; | ||
44 | + int linesize = av_image_get_linesize(avctx->pix_fmt, avctx->width, 0); | ||
45 | uint8_t *ptr = s->frame.data[0]; | ||
46 | uint8_t *buf = avpkt->data + (avctx->height-1)*istride; | ||
47 | int i, j; | ||
48 | -- | ||
49 | 1.7.5.4 | ||
50 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-parser-reset-indexes-on-realloc-failure.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-parser-reset-indexes-on-realloc-failure.patch deleted file mode 100644 index 5ff65834e..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-parser-reset-indexes-on-realloc-failure.patch +++ /dev/null | |||
@@ -1,50 +0,0 @@ | |||
1 | gst-ffmpeg: avcodec/parser: reset indexes on realloc failure | ||
2 | |||
3 | Fixes Ticket2982 | ||
4 | |||
5 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
6 | (cherry picked from commit f31011e9abfb2ae75bb32bc44e2c34194c8dc40a) | ||
7 | |||
8 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
9 | |||
10 | Upstream-Status: Backport | ||
11 | |||
12 | Signed-off-by: Yue Tao <yue.tao@windriver.com> | ||
13 | |||
14 | --- | ||
15 | libavcodec/parser.c | 10 +++++++--- | ||
16 | 1 files changed, 7 insertions(+), 3 deletions(-) | ||
17 | |||
18 | diff --git a/libavcodec/parser.c b/libavcodec/parser.c | ||
19 | index 2c6de6e..66eca06 100644 | ||
20 | --- a/gst-libs/ext/libav/libavcodec/parser.c | ||
21 | +++ b/gst-libs/ext/libav/libavcodec/parser.c | ||
22 | @@ -241,8 +241,10 @@ int ff_combine_frame(ParseContext *pc, int next, const uint8_t **buf, int *buf_s | ||
23 | if(next == END_NOT_FOUND){ | ||
24 | void* new_buffer = av_fast_realloc(pc->buffer, &pc->buffer_size, (*buf_size) + pc->index + FF_INPUT_BUFFER_PADDING_SIZE); | ||
25 | |||
26 | - if(!new_buffer) | ||
27 | + if(!new_buffer) { | ||
28 | + pc->index = 0; | ||
29 | return AVERROR(ENOMEM); | ||
30 | + } | ||
31 | pc->buffer = new_buffer; | ||
32 | memcpy(&pc->buffer[pc->index], *buf, *buf_size); | ||
33 | pc->index += *buf_size; | ||
34 | @@ -255,9 +257,11 @@ int ff_combine_frame(ParseContext *pc, int next, const uint8_t **buf, int *buf_s | ||
35 | /* append to buffer */ | ||
36 | if(pc->index){ | ||
37 | void* new_buffer = av_fast_realloc(pc->buffer, &pc->buffer_size, next + pc->index + FF_INPUT_BUFFER_PADDING_SIZE); | ||
38 | - | ||
39 | - if(!new_buffer) | ||
40 | + if(!new_buffer) { | ||
41 | + pc->overread_index = | ||
42 | + pc->index = 0; | ||
43 | return AVERROR(ENOMEM); | ||
44 | + } | ||
45 | pc->buffer = new_buffer; | ||
46 | if (next > -FF_INPUT_BUFFER_PADDING_SIZE) | ||
47 | memcpy(&pc->buffer[pc->index], *buf, | ||
48 | -- | ||
49 | 1.7.5.4 | ||
50 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-rpza-Perform-pointer-advance-and-checks-befo.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-rpza-Perform-pointer-advance-and-checks-befo.patch deleted file mode 100644 index 7f6eb4888..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-rpza-Perform-pointer-advance-and-checks-befo.patch +++ /dev/null | |||
@@ -1,81 +0,0 @@ | |||
1 | gst-ffmpeg: avcodec/rpza: Perform pointer advance and checks before | ||
2 | using the pointers | ||
3 | |||
4 | Fixes out of array accesses | ||
5 | Fixes Ticket2850 | ||
6 | |||
7 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
8 | (cherry picked from commit 3819db745da2ac7fb3faacb116788c32f4753f34) | ||
9 | |||
10 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
11 | |||
12 | Upstream-Status: Backport | ||
13 | |||
14 | Singed-off-by: Yue Tao <yue.tao@windriver.com> | ||
15 | |||
16 | --- | ||
17 | libavcodec/rpza.c | 8 ++++---- | ||
18 | 1 files changed, 4 insertions(+), 4 deletions(-) | ||
19 | |||
20 | diff --git a/libavcodec/rpza.c b/libavcodec/rpza.c | ||
21 | index 635b406..f291a95 100644 | ||
22 | --- a/gst-libs/ext/libav/libavcodec/rpza.c | ||
23 | +++ b/gst-libs/ext/libav/libavcodec/rpza.c | ||
24 | @@ -83,7 +83,7 @@ static void rpza_decode_stream(RpzaContext *s) | ||
25 | unsigned short *pixels = (unsigned short *)s->frame.data[0]; | ||
26 | |||
27 | int row_ptr = 0; | ||
28 | - int pixel_ptr = 0; | ||
29 | + int pixel_ptr = -4; | ||
30 | int block_ptr; | ||
31 | int pixel_x, pixel_y; | ||
32 | int total_blocks; | ||
33 | @@ -139,6 +139,7 @@ static void rpza_decode_stream(RpzaContext *s) | ||
34 | colorA = AV_RB16 (&s->buf[stream_ptr]); | ||
35 | stream_ptr += 2; | ||
36 | while (n_blocks--) { | ||
37 | + ADVANCE_BLOCK() | ||
38 | block_ptr = row_ptr + pixel_ptr; | ||
39 | for (pixel_y = 0; pixel_y < 4; pixel_y++) { | ||
40 | for (pixel_x = 0; pixel_x < 4; pixel_x++){ | ||
41 | @@ -147,7 +148,6 @@ static void rpza_decode_stream(RpzaContext *s) | ||
42 | } | ||
43 | block_ptr += row_inc; | ||
44 | } | ||
45 | - ADVANCE_BLOCK(); | ||
46 | } | ||
47 | break; | ||
48 | |||
49 | @@ -184,6 +184,7 @@ static void rpza_decode_stream(RpzaContext *s) | ||
50 | color4[2] |= ((21 * ta + 11 * tb) >> 5); | ||
51 | |||
52 | while (n_blocks--) { | ||
53 | + ADVANCE_BLOCK(); | ||
54 | block_ptr = row_ptr + pixel_ptr; | ||
55 | for (pixel_y = 0; pixel_y < 4; pixel_y++) { | ||
56 | index = s->buf[stream_ptr++]; | ||
57 | @@ -194,12 +195,12 @@ static void rpza_decode_stream(RpzaContext *s) | ||
58 | } | ||
59 | block_ptr += row_inc; | ||
60 | } | ||
61 | - ADVANCE_BLOCK(); | ||
62 | } | ||
63 | break; | ||
64 | |||
65 | /* Fill block with 16 colors */ | ||
66 | case 0x00: | ||
67 | + ADVANCE_BLOCK(); | ||
68 | block_ptr = row_ptr + pixel_ptr; | ||
69 | for (pixel_y = 0; pixel_y < 4; pixel_y++) { | ||
70 | for (pixel_x = 0; pixel_x < 4; pixel_x++){ | ||
71 | @@ -213,7 +214,6 @@ static void rpza_decode_stream(RpzaContext *s) | ||
72 | } | ||
73 | block_ptr += row_inc; | ||
74 | } | ||
75 | - ADVANCE_BLOCK(); | ||
76 | break; | ||
77 | |||
78 | /* Unknown opcode */ | ||
79 | -- | ||
80 | 1.7.5.4 | ||
81 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-smc-fix-off-by-1-error.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-smc-fix-off-by-1-error.patch deleted file mode 100644 index 3ca6fc4dc..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avcodec-smc-fix-off-by-1-error.patch +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | From c17a0ad1df15a94d0b1239adc2afb593bdf0a153 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Niedermayer <michaelni@gmx.at> | ||
3 | Date: Fri, 3 Oct 2014 22:50:45 +0200 | ||
4 | Subject: [PATCH 1/2] avcodec/smc: fix off by 1 error | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | Fixes out of array access | ||
9 | Fixes: asan_heap-oob_1685bf0_5_asan_heap-oob_1f35116_430_smc.mov | ||
10 | |||
11 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
12 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
13 | --- | ||
14 | libavcodec/smc.c | 2 +- | ||
15 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
16 | |||
17 | diff --git a/gst-libs/ext/libav/libavcodec/smc.c b/gst-libs/ext/libav/libavcodec/smc.c | ||
18 | index 3cd5e53..dec9f71 100644 | ||
19 | --- a/gst-libs/ext/libav/libavcodec/smc.c | ||
20 | +++ b/gst-libs/ext/libav/libavcodec/smc.c | ||
21 | @@ -69,7 +69,7 @@ typedef struct SmcContext { | ||
22 | row_ptr += stride * 4; \ | ||
23 | } \ | ||
24 | total_blocks--; \ | ||
25 | - if (total_blocks < 0) \ | ||
26 | + if (total_blocks < 0 + !!n_blocks) \ | ||
27 | { \ | ||
28 | av_log(s->avctx, AV_LOG_INFO, "warning: block counter just went negative (this should not happen)\n"); \ | ||
29 | return; \ | ||
30 | -- | ||
31 | 2.1.0 | ||
32 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avformat-mpegtsenc-Check-data-array-size-in-mpegts_w.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avformat-mpegtsenc-Check-data-array-size-in-mpegts_w.patch deleted file mode 100644 index 68bb66e4e..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-avformat-mpegtsenc-Check-data-array-size-in-mpegts_w.patch +++ /dev/null | |||
@@ -1,69 +0,0 @@ | |||
1 | From 12770701856a05b6b3cd706f708f8e9a4e8a1336 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Niedermayer <michaelni@gmx.at> | ||
3 | Date: Thu, 13 Feb 2014 13:59:51 +0100 | ||
4 | Subject: [PATCH] avformat/mpegtsenc: Check data array size in | ||
5 | mpegts_write_pmt() | ||
6 | |||
7 | Upstream-Status: Backport | ||
8 | |||
9 | COmmit 12770701856a05b6b3cd706f708f8e9a4e8a1336 release/0.11 | ||
10 | |||
11 | Prevents out of array writes | ||
12 | |||
13 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
14 | (cherry picked from commit 842b6c14bcfc1c5da1a2d288fd65386eb8c158ad) | ||
15 | |||
16 | Conflicts: | ||
17 | |||
18 | libavformat/mpegtsenc.c | ||
19 | (cherry picked from commit e87de3f50b765134588d0b048c32ed4b8acc16fb) | ||
20 | |||
21 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
22 | --- | ||
23 | libavformat/mpegtsenc.c | 9 +++++++-- | ||
24 | 1 files changed, 7 insertions(+), 2 deletions(-) | ||
25 | |||
26 | diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c | ||
27 | index 793e205..a12d19f 100644 | ||
28 | --- a/gst-libs/ext/libav/libavformat/mpegtsenc.c | ||
29 | +++ b/gst-libs/ext/libav/libavformat/mpegtsenc.c | ||
30 | @@ -240,7 +240,7 @@ static void mpegts_write_pat(AVFormatContext *s) | ||
31 | data, q - data); | ||
32 | } | ||
33 | |||
34 | -static void mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) | ||
35 | +static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) | ||
36 | { | ||
37 | // MpegTSWrite *ts = s->priv_data; | ||
38 | uint8_t data[1012], *q, *desc_length_ptr, *program_info_length_ptr; | ||
39 | @@ -293,6 +293,10 @@ static void mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) | ||
40 | stream_type = STREAM_TYPE_PRIVATE_DATA; | ||
41 | break; | ||
42 | } | ||
43 | + | ||
44 | + if (q - data > sizeof(data) - 32) | ||
45 | + return AVERROR(EINVAL); | ||
46 | + | ||
47 | *q++ = stream_type; | ||
48 | put16(&q, 0xe000 | ts_st->pid); | ||
49 | desc_length_ptr = q; | ||
50 | @@ -324,7 +328,7 @@ static void mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) | ||
51 | len_ptr = q++; | ||
52 | *len_ptr = 0; | ||
53 | |||
54 | - for (p = lang->value; next && *len_ptr < 255 / 4 * 4; p = next + 1) { | ||
55 | + for (p = lang->value; next && *len_ptr < 255 / 4 * 4 && q - data < sizeof(data) - 4; p = next + 1) { | ||
56 | next = strchr(p, ','); | ||
57 | if (strlen(p) != 3 && (!next || next != p + 3)) | ||
58 | continue; /* not a 3-letter code */ | ||
59 | @@ -386,6 +390,7 @@ static void mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) | ||
60 | } | ||
61 | mpegts_write_section1(&service->pmt, PMT_TID, service->sid, 0, 0, 0, | ||
62 | data, q - data); | ||
63 | + return 0; | ||
64 | } | ||
65 | |||
66 | /* NOTE: str == NULL is accepted for an empty string */ | ||
67 | -- | ||
68 | 1.7.5.4 | ||
69 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-eamad-fix-out-of-array-accesses.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-eamad-fix-out-of-array-accesses.patch deleted file mode 100644 index f45e3fd59..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-eamad-fix-out-of-array-accesses.patch +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | From 63ac64864c6e0e84355aa3caa5b92208997a9a8d Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Niedermayer <michaelni@gmx.at> | ||
3 | Date: Sat, 17 Nov 2012 16:26:55 +0100 | ||
4 | Subject: [PATCH] eamad: fix out of array accesses | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | Commit 63ac64864c6e0e84355aa3caa5b92208997a9a8d release/1.1 | ||
9 | |||
10 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
11 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
12 | --- | ||
13 | libavcodec/eamad.c | 2 +- | ||
14 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
15 | |||
16 | diff --git a/libavcodec/eamad.c b/libavcodec/eamad.c | ||
17 | index 2805195..e38650e 100644 | ||
18 | --- a/gst-libs/ext/libav/libavcodec/eamad.c | ||
19 | +++ b/gst-libs/ext/libav/libavcodec/eamad.c | ||
20 | @@ -237,7 +237,7 @@ static int decode_frame(AVCodecContext *avctx, | ||
21 | int chunk_type; | ||
22 | int inter; | ||
23 | |||
24 | - if (buf_size < 17) { | ||
25 | + if (buf_size < 26) { | ||
26 | av_log(avctx, AV_LOG_ERROR, "Input buffer too small\n"); | ||
27 | *data_size = 0; | ||
28 | return -1; | ||
29 | -- | ||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-error-concealment-initialize-block-index.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-error-concealment-initialize-block-index.patch deleted file mode 100644 index e0e4239c2..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-error-concealment-initialize-block-index.patch +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | gst-ffmpeg: error concealment: initialize block index. | ||
2 | |||
3 | Fixes CVE-2011-3941 (out of bounds write) | ||
4 | |||
5 | Upstream-Status: Backport | ||
6 | |||
7 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
8 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
9 | --- | ||
10 | libavcodec/error_resilience.c | 3 +++ | ||
11 | 1 files changed, 3 insertions(+), 0 deletions(-) | ||
12 | |||
13 | diff --git a/libavcodec/error_resilience.c b/libavcodec/error_resilience.c | ||
14 | index 8bb5d0c..d55c000 100644 | ||
15 | --- a/gst-libs/ext/libav/libavcodec/error_resilience.c | ||
16 | +++ b/gst-libs/ext/libav/libavcodec/error_resilience.c | ||
17 | @@ -45,6 +45,9 @@ static void decode_mb(MpegEncContext *s, int ref){ | ||
18 | s->dest[1] = s->current_picture.data[1] + (s->mb_y * (16>>s->chroma_y_shift) * s->uvlinesize) + s->mb_x * (16>>s->chroma_x_shift); | ||
19 | s->dest[2] = s->current_picture.data[2] + (s->mb_y * (16>>s->chroma_y_shift) * s->uvlinesize) + s->mb_x * (16>>s->chroma_x_shift); | ||
20 | |||
21 | + ff_init_block_index(s); | ||
22 | + ff_update_block_index(s); | ||
23 | + | ||
24 | if(CONFIG_H264_DECODER && s->codec_id == CODEC_ID_H264){ | ||
25 | H264Context *h= (void*)s; | ||
26 | h->mb_xy= s->mb_x + s->mb_y*s->mb_stride; | ||
27 | -- | ||
28 | 1.7.5.4 | ||
29 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-error_concealment-Check-that-the-picture-is-not-in-a.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-error_concealment-Check-that-the-picture-is-not-in-a.patch deleted file mode 100644 index 8eef6e99c..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-error_concealment-Check-that-the-picture-is-not-in-a.patch +++ /dev/null | |||
@@ -1,37 +0,0 @@ | |||
1 | gst-ffmpeg: error_concealment: Check that the picture is not in a half | ||
2 | |||
3 | Fixes state becoming inconsistent | ||
4 | Fixes a null pointer dereference | ||
5 | |||
6 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
7 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
8 | (cherry picked from commit 23318a57358358e7a4dc551e830e4503f0638cfe) | ||
9 | |||
10 | Upstream-Status: Backport | ||
11 | |||
12 | Signed-off-by: Yue Tao <yue.tao@windriver.com> | ||
13 | |||
14 | --- | ||
15 | libavcodec/error_resilience.c | 6 ++++++ | ||
16 | 1 files changed, 6 insertions(+), 0 deletions(-) | ||
17 | |||
18 | diff --git a/libavcodec/error_resilience.c b/libavcodec/error_resilience.c | ||
19 | index 01f7424..2b6bc42 100644 | ||
20 | --- a/gst-libs/ext/libav/libavcodec/error_resilience.c | ||
21 | +++ b/gst-libs/ext/libav/libavcodec/error_resilience.c | ||
22 | @@ -793,6 +793,12 @@ void ff_er_frame_end(MpegEncContext *s){ | ||
23 | s->picture_structure != PICT_FRAME || // we dont support ER of field pictures yet, though it should not crash if enabled | ||
24 | s->error_count==3*s->mb_width*(s->avctx->skip_top + s->avctx->skip_bottom)) return; | ||
25 | |||
26 | + if ( s->picture_structure == PICT_FRAME | ||
27 | + && s->current_picture.linesize[0] != s->current_picture_ptr->linesize[0]) { | ||
28 | + av_log(s->avctx, AV_LOG_ERROR, "Error concealment not possible, frame not fully initialized\n"); | ||
29 | + return; | ||
30 | + } | ||
31 | + | ||
32 | if(s->current_picture.motion_val[0] == NULL){ | ||
33 | av_log(s->avctx, AV_LOG_ERROR, "Warning MVs not available\n"); | ||
34 | |||
35 | -- | ||
36 | 1.7.5.4 | ||
37 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-ffserver-set-oformat.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-ffserver-set-oformat.patch deleted file mode 100644 index 80325db4d..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-ffserver-set-oformat.patch +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | gst-ffmpeg: ffserver: set oformat | ||
2 | |||
3 | Fix Ticket1986 | ||
4 | |||
5 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
6 | (cherry picked from commit cbe43e62c9ac7d4aefdc13476f6f691bd626525f) | ||
7 | |||
8 | Upstream-Status: Backport | ||
9 | |||
10 | --- | ||
11 | ffserver.c | 4 +++- | ||
12 | 1 files changed, 3 insertions(+), 1 deletions(-) | ||
13 | |||
14 | diff --git a/ffserver.c b/ffserver.c | ||
15 | index 4044d0f..8740140 100644 | ||
16 | --- a/gst-libs/ext/libav/ffserver.c | ||
17 | +++ b/gst-libs/ext/libav/ffserver.c | ||
18 | @@ -2937,12 +2937,14 @@ static int prepare_sdp_description(FFStream *stream, uint8_t **pbuffer, | ||
19 | { | ||
20 | AVFormatContext *avc; | ||
21 | AVStream *avs = NULL; | ||
22 | + AVOutputFormat *rtp_format = av_guess_format("rtp", NULL, NULL); | ||
23 | int i; | ||
24 | |||
25 | avc = avformat_alloc_context(); | ||
26 | - if (avc == NULL) { | ||
27 | + if (avc == NULL || !rtp_format) { | ||
28 | return -1; | ||
29 | } | ||
30 | + avc->oformat = rtp_format; | ||
31 | av_dict_set(&avc->metadata, "title", | ||
32 | stream->title[0] ? stream->title : "No Title", 0); | ||
33 | avc->nb_streams = stream->nb_streams; | ||
34 | -- | ||
35 | 1.7.5.4 | ||
36 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264-correct-ref-count-check-and-limit-fix-out-of-ar.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264-correct-ref-count-check-and-limit-fix-out-of-ar.patch deleted file mode 100644 index d4f55b269..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264-correct-ref-count-check-and-limit-fix-out-of-ar.patch +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | From d6c184880ee2e09fd68c0ae217173832cee5afc1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Niedermayer <michaelni@gmx.at> | ||
3 | Date: Sun, 18 Nov 2012 16:29:04 +0100 | ||
4 | Subject: [PATCH] h264: correct ref count check and limit, fix out of array | ||
5 | accesses. | ||
6 | |||
7 | Upstream-Status: Backport | ||
8 | |||
9 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
10 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
11 | --- | ||
12 | libavcodec/h264.c | 2 +- | ||
13 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
14 | |||
15 | diff --git a/libavcodec/h264.c b/libavcodec/h264.c | ||
16 | index da43f1e..32cede5 100644 | ||
17 | --- a/gst-libs/ext/libav/libavcodec/h264.c | ||
18 | +++ b/gst-libs/ext/libav/libavcodec/h264.c | ||
19 | @@ -2870,6 +2870,9 @@ static int decode_slice_header(H264Conte | ||
20 | h->ref_count[0]= get_ue_golomb(&s->gb) + 1; | ||
21 | if(h->slice_type_nos==AV_PICTURE_TYPE_B) | ||
22 | h->ref_count[1]= get_ue_golomb(&s->gb) + 1; | ||
23 | + else | ||
24 | + // full range is spec-ok in this case, even for frames | ||
25 | + h->ref_count[1] = 1; | ||
26 | |||
27 | if(h->ref_count[0]-1 > 32-1 || h->ref_count[1]-1 > 32-1){ | ||
28 | av_log(h->s.avctx, AV_LOG_ERROR, "reference overflow\n"); | ||
29 | -- | ||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264-set-parameters-from-SPS-whenever-it-changes.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264-set-parameters-from-SPS-whenever-it-changes.patch deleted file mode 100644 index 05a9de333..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264-set-parameters-from-SPS-whenever-it-changes.patch +++ /dev/null | |||
@@ -1,145 +0,0 @@ | |||
1 | gst-ffmpeg: h264: set parameters from SPS whenever it changes | ||
2 | |||
3 | Fixes a crash in the fuzzed sample sample_varPAR.avi_s26638 with | ||
4 | alternating bit depths. | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | Signed-off-by: Yue Tao <yue.tao@windriver.com> | ||
9 | |||
10 | diff --git a/gst-libs/ext/libav/libavcodec/h264.c.old b/gst-libs/ext/libav/libavcodec/h264.c | ||
11 | index 3621f41..718906a 100644 | ||
12 | --- a/gst-libs/ext/libav/libavcodec/h264.c.old | ||
13 | +++ b/gst-libs/ext/libav/libavcodec/h264.c | ||
14 | @@ -2491,6 +2491,34 @@ int ff_h264_get_profile(SPS *sps) | ||
15 | return profile; | ||
16 | } | ||
17 | |||
18 | +static int h264_set_parameter_from_sps(H264Context *h) | ||
19 | +{ | ||
20 | + MpegEncContext *s = &h->s; | ||
21 | + AVCodecContext * avctx= s->avctx; | ||
22 | + | ||
23 | + if (s->flags& CODEC_FLAG_LOW_DELAY || | ||
24 | + (h->sps.bitstream_restriction_flag && !h->sps.num_reorder_frames)) | ||
25 | + s->low_delay=1; | ||
26 | + | ||
27 | + if(avctx->has_b_frames < 2) | ||
28 | + avctx->has_b_frames= !s->low_delay; | ||
29 | + | ||
30 | + if (avctx->bits_per_raw_sample != h->sps.bit_depth_luma) { | ||
31 | + if (h->sps.bit_depth_luma >= 8 && h->sps.bit_depth_luma <= 10) { | ||
32 | + avctx->bits_per_raw_sample = h->sps.bit_depth_luma; | ||
33 | + h->pixel_shift = h->sps.bit_depth_luma > 8; | ||
34 | + | ||
35 | + ff_h264dsp_init(&h->h264dsp, h->sps.bit_depth_luma); | ||
36 | + ff_h264_pred_init(&h->hpc, s->codec_id, h->sps.bit_depth_luma); | ||
37 | + dsputil_init(&s->dsp, s->avctx); | ||
38 | + } else { | ||
39 | + av_log(avctx, AV_LOG_DEBUG, "Unsupported bit depth: %d\n", h->sps.bit_depth_luma); | ||
40 | + return -1; | ||
41 | + } | ||
42 | + } | ||
43 | + return 0; | ||
44 | +} | ||
45 | + | ||
46 | /** | ||
47 | * decodes a slice header. | ||
48 | * This will also call MPV_common_init() and frame_start() as needed. | ||
49 | @@ -2505,7 +2533,7 @@ static int decode_slice_header(H264Context *h, H264Context *h0){ | ||
50 | MpegEncContext * const s0 = &h0->s; | ||
51 | unsigned int first_mb_in_slice; | ||
52 | unsigned int pps_id; | ||
53 | - int num_ref_idx_active_override_flag; | ||
54 | + int num_ref_idx_active_override_flag, ret; | ||
55 | unsigned int slice_type, tmp, i, j; | ||
56 | int default_ref_list_done = 0; | ||
57 | int last_pic_structure; | ||
58 | @@ -2569,7 +2597,17 @@ static int decode_slice_header(H264Context *h, H264Context *h0){ | ||
59 | av_log(h->s.avctx, AV_LOG_ERROR, "non-existing SPS %u referenced\n", h->pps.sps_id); | ||
60 | return -1; | ||
61 | } | ||
62 | - h->sps = *h0->sps_buffers[h->pps.sps_id]; | ||
63 | + | ||
64 | + if (h->pps.sps_id != h->current_sps_id || | ||
65 | + h0->sps_buffers[h->pps.sps_id]->new) { | ||
66 | + h0->sps_buffers[h->pps.sps_id]->new = 0; | ||
67 | + | ||
68 | + h->current_sps_id = h->pps.sps_id; | ||
69 | + h->sps = *h0->sps_buffers[h->pps.sps_id]; | ||
70 | + | ||
71 | + if ((ret = h264_set_parameter_from_sps(h)) < 0) | ||
72 | + return ret; | ||
73 | + } | ||
74 | |||
75 | s->avctx->profile = ff_h264_get_profile(&h->sps); | ||
76 | s->avctx->level = h->sps.level_idc; | ||
77 | @@ -3811,26 +3811,8 @@ static int decode_nal_units(H264Context *h, const uint8_t *buf, int buf_size){ | ||
78 | case NAL_SPS: | ||
79 | init_get_bits(&s->gb, ptr, bit_length); | ||
80 | ff_h264_decode_seq_parameter_set(h); | ||
81 | - | ||
82 | - if (s->flags& CODEC_FLAG_LOW_DELAY || | ||
83 | - (h->sps.bitstream_restriction_flag && !h->sps.num_reorder_frames)) | ||
84 | - s->low_delay=1; | ||
85 | - | ||
86 | - if(avctx->has_b_frames < 2) | ||
87 | - avctx->has_b_frames= !s->low_delay; | ||
88 | - | ||
89 | - if (avctx->bits_per_raw_sample != h->sps.bit_depth_luma) { | ||
90 | - if (h->sps.bit_depth_luma >= 8 && h->sps.bit_depth_luma <= 10) { | ||
91 | - avctx->bits_per_raw_sample = h->sps.bit_depth_luma; | ||
92 | - h->pixel_shift = h->sps.bit_depth_luma > 8; | ||
93 | - | ||
94 | - ff_h264dsp_init(&h->h264dsp, h->sps.bit_depth_luma); | ||
95 | - ff_h264_pred_init(&h->hpc, s->codec_id, h->sps.bit_depth_luma); | ||
96 | - dsputil_init(&s->dsp, s->avctx); | ||
97 | - } else { | ||
98 | - av_log(avctx, AV_LOG_DEBUG, "Unsupported bit depth: %d\n", h->sps.bit_depth_luma); | ||
99 | - return -1; | ||
100 | - } | ||
101 | + if (h264_set_parameter_from_sps(h) < 0) { | ||
102 | + return -1; | ||
103 | } | ||
104 | break; | ||
105 | case NAL_PPS: | ||
106 | diff --git a/gst-libs/ext/libav/libavcodec/h264.h.old b/gst-libs/ext/libav/libavcodec/h264.h | ||
107 | index e3cc815..b77ad98 100644 | ||
108 | --- a/gst-libs/ext/libav/libavcodec/h264.h.old | ||
109 | +++ b/gst-libs/ext/libav/libavcodec/h264.h | ||
110 | @@ -202,6 +202,7 @@ typedef struct SPS{ | ||
111 | int bit_depth_chroma; ///< bit_depth_chroma_minus8 + 8 | ||
112 | int residual_color_transform_flag; ///< residual_colour_transform_flag | ||
113 | int constraint_set_flags; ///< constraint_set[0-3]_flag | ||
114 | + int new; ///< flag to keep track if the decoder context needs re-init due to changed SPS | ||
115 | }SPS; | ||
116 | |||
117 | /** | ||
118 | @@ -333,6 +334,7 @@ typedef struct H264Context{ | ||
119 | int emu_edge_width; | ||
120 | int emu_edge_height; | ||
121 | |||
122 | + unsigned current_sps_id; ///< id of the current SPS | ||
123 | SPS sps; ///< current sps | ||
124 | |||
125 | /** | ||
126 | diff --git a/gst-libs/ext/libav/libavcodec/h264_ps.c.old b/gst-libs/ext/libav/libavcodec/h264_ps.c | ||
127 | index 7491807..0929098 100644 | ||
128 | --- a/gst-libs/ext/libav/libavcodec/h264_ps.c.old | ||
129 | +++ b/gst-libs/ext/libav/libavcodec/h264_ps.c | ||
130 | @@ -438,10 +438,13 @@ int ff_h264_decode_seq_parameter_set(H264Context *h){ | ||
131 | sps->timing_info_present_flag ? sps->time_scale : 0 | ||
132 | ); | ||
133 | } | ||
134 | + sps->new = 1; | ||
135 | |||
136 | av_free(h->sps_buffers[sps_id]); | ||
137 | - h->sps_buffers[sps_id]= sps; | ||
138 | - h->sps = *sps; | ||
139 | + h->sps_buffers[sps_id] = sps; | ||
140 | + h->sps = *sps; | ||
141 | + h->current_sps_id = sps_id; | ||
142 | + | ||
143 | return 0; | ||
144 | fail: | ||
145 | av_free(sps); | ||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264-skip-error-concealment-when-SPS-and-slices-are-.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264-skip-error-concealment-when-SPS-and-slices-are-.patch deleted file mode 100644 index 5d45c1a96..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264-skip-error-concealment-when-SPS-and-slices-are-.patch +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | gst-ffmpeg: h264: skip error concealment when SPS and slices are | ||
2 | mismatching | ||
3 | |||
4 | Fixes out of array accesses | ||
5 | |||
6 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
7 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
8 | (cherry picked from commit 695af8eed642ff0104834495652d1ee784a4c14d) | ||
9 | |||
10 | Upstream-Status: Backport | ||
11 | |||
12 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
13 | Signed-off-by: Yue Tao <yue.tao@windriver.com> | ||
14 | --- | ||
15 | libavcodec/h264.c | 2 +- | ||
16 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
17 | |||
18 | diff --git a/libavcodec/h264.c b/libavcodec/h264.c | ||
19 | index da144db..0aab4e7 100644 | ||
20 | --- a/gst-libs/ext/libav/libavcodec/h264.c | ||
21 | +++ b/gst-libs/ext/libav/libavcodec/h264.c | ||
22 | @@ -2351,7 +2351,7 @@ static int field_end(H264Context *h, int in_setup) | ||
23 | * past end by one (callers fault) and resync_mb_y != 0 | ||
24 | * causes problems for the first MB line, too. | ||
25 | */ | ||
26 | - if (!FIELD_PICTURE) | ||
27 | + if (!FIELD_PICTURE && h->current_slice && !h->sps.new) | ||
28 | ff_er_frame_end(s); | ||
29 | |||
30 | ff_MPV_frame_end(s); | ||
31 | -- | ||
32 | 1.7.5.4 | ||
33 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264_sei-Fix-infinite-loop.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264_sei-Fix-infinite-loop.patch deleted file mode 100644 index 1e62b5036..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-h264_sei-Fix-infinite-loop.patch +++ /dev/null | |||
@@ -1,39 +0,0 @@ | |||
1 | gst-ffmpeg: h264_sei: Fix infinite loop. | ||
2 | |||
3 | Fixsot yet fixed parts of CVE-2011-3946. | ||
4 | |||
5 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
6 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
7 | |||
8 | Upstream-Status: Backport | ||
9 | |||
10 | Signed-off-by: Yue Tao <yue.tao@windriver.com> | ||
11 | |||
12 | --- | ||
13 | libavcodec/h264_sei.c | 4 ++++ | ||
14 | 1 files changed, 4 insertions(+), 0 deletions(-) | ||
15 | |||
16 | |||
17 | diff --git a/libavcodec/h264_sei.c b/libavcodec/h264_sei.c | ||
18 | index 374e53d..80d70e5 100644 | ||
19 | --- a/gst-libs/ext/libav/libavcodec/h264_sei.c | ||
20 | +++ b/gst-libs/ext/libav/libavcodec/h264_sei.c | ||
21 | @@ -169,11 +169,15 @@ int ff_h264_decode_sei(H264Context *h){ | ||
22 | |||
23 | type=0; | ||
24 | do{ | ||
25 | + if (get_bits_left(&s->gb) < 8) | ||
26 | + return -1; | ||
27 | type+= show_bits(&s->gb, 8); | ||
28 | }while(get_bits(&s->gb, 8) == 255); | ||
29 | |||
30 | size=0; | ||
31 | do{ | ||
32 | + if (get_bits_left(&s->gb) < 8) | ||
33 | + return -1; | ||
34 | size+= show_bits(&s->gb, 8); | ||
35 | }while(get_bits(&s->gb, 8) == 255); | ||
36 | |||
37 | -- | ||
38 | 1.7.5.4 | ||
39 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-huffyuvdec-Check-init_vlc-return-codes.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-huffyuvdec-Check-init_vlc-return-codes.patch deleted file mode 100644 index e859e443b..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-huffyuvdec-Check-init_vlc-return-codes.patch +++ /dev/null | |||
@@ -1,87 +0,0 @@ | |||
1 | From b666debffec1fcbb19ef377635a53b9a58bca8a4 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Niedermayer <michaelni@gmx.at> | ||
3 | Date: Tue, 29 Jan 2013 18:29:41 +0100 | ||
4 | Subject: [PATCH] huffyuvdec: Check init_vlc() return codes. | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | Commit b666debffec1fcbb19ef377635a53b9a58bca8a4 release/1.0 | ||
9 | |||
10 | Prevents out of array writes | ||
11 | |||
12 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
13 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
14 | (cherry picked from commit f67a0d115254461649470452058fa3c28c0df294) | ||
15 | |||
16 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
17 | --- | ||
18 | libavcodec/huffyuv.c | 14 ++++++++++---- | ||
19 | 1 file changed, 10 insertions(+), 4 deletions(-) | ||
20 | |||
21 | diff --git a/libavcodec/huffyuv.c b/libavcodec/huffyuv.c | ||
22 | index 58da789..993e524 100644 | ||
23 | --- a/gst-libs/ext/libav/libavcodec/huffyuv.c | ||
24 | +++ b/gst-libs/ext/libav/libavcodec/huffyuv.c | ||
25 | @@ -33,6 +33,7 @@ | ||
26 | #include "put_bits.h" | ||
27 | #include "dsputil.h" | ||
28 | #include "thread.h" | ||
29 | +#include "libavutil/avassert.h" | ||
30 | |||
31 | #define VLC_BITS 11 | ||
32 | |||
33 | @@ -287,6 +287,7 @@ static void generate_joint_tables(HYuvCo | ||
34 | int len1 = s->len[p][u]; | ||
35 | if (len1 > limit || !len1) | ||
36 | continue; | ||
37 | + av_assert0(i < (1 << VLC_BITS)); | ||
38 | len[i] = len0 + len1; | ||
39 | bits[i] = (s->bits[0][y] << len1) + s->bits[p][u]; | ||
40 | symbols[i] = (y<<8) + u; | ||
41 | @@ -320,6 +321,7 @@ static void generate_joint_tables(HYuvCo | ||
42 | int len2 = s->len[2][r&255]; | ||
43 | if (len2 > limit1 || !len2) | ||
44 | continue; | ||
45 | + av_assert0(i < (1 << VLC_BITS)); | ||
46 | len[i] = len0 + len1 + len2; | ||
47 | bits[i] = (code << len2) + s->bits[2][r&255]; | ||
48 | if(s->decorrelate){ | ||
49 | @@ -343,6 +345,7 @@ static void generate_joint_tables(HYuvCo | ||
50 | static int read_huffman_tables(HYuvContext *s, const uint8_t *src, int length){ | ||
51 | GetBitContext gb; | ||
52 | int i; | ||
53 | + int ret; | ||
54 | |||
55 | init_get_bits(&gb, src, length*8); | ||
56 | |||
57 | @@ -353,7 +356,9 @@ static int read_huffman_tables(HYuvConte | ||
58 | return -1; | ||
59 | } | ||
60 | free_vlc(&s->vlc[i]); | ||
61 | - init_vlc(&s->vlc[i], VLC_BITS, 256, s->len[i], 1, 1, s->bits[i], 4, 4, 0); | ||
62 | + if ((ret = init_vlc(&s->vlc[i], VLC_BITS, 256, s->len[i], 1, 1, | ||
63 | + s->bits[i], 4, 4, 0)) < 0) | ||
64 | + return ret; | ||
65 | } | ||
66 | |||
67 | generate_joint_tables(s); | ||
68 | @@ -365,6 +370,7 @@ static int read_old_huffman_tables(HYuvC | ||
69 | #if 1 | ||
70 | GetBitContext gb; | ||
71 | int i; | ||
72 | + int ret; | ||
73 | |||
74 | init_get_bits(&gb, classic_shift_luma, sizeof(classic_shift_luma)*8); | ||
75 | if(read_len_table(s->len[0], &gb)<0) | ||
76 | @@ -385,7 +391,9 @@ static int read_old_huffman_tables(HYuvC | ||
77 | |||
78 | for(i=0; i<3; i++){ | ||
79 | free_vlc(&s->vlc[i]); | ||
80 | - init_vlc(&s->vlc[i], VLC_BITS, 256, s->len[i], 1, 1, s->bits[i], 4, 4, 0); | ||
81 | + if ((ret = init_vlc(&s->vlc[i], VLC_BITS, 256, s->len[i], 1, 1, | ||
82 | + s->bits[i], 4, 4, 0)) < 0) | ||
83 | + return ret; | ||
84 | } | ||
85 | |||
86 | generate_joint_tables(s); | ||
87 | -- | ||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-huffyuvdec-Skip-len-0-cases.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-huffyuvdec-Skip-len-0-cases.patch deleted file mode 100644 index 94bf4b6fb..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-huffyuvdec-Skip-len-0-cases.patch +++ /dev/null | |||
@@ -1,61 +0,0 @@ | |||
1 | From db0f7f7394e1f994ed38db043f78ed0f10bde0da Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Niedermayer <michaelni@gmx.at> | ||
3 | Date: Tue, 29 Jan 2013 19:22:33 +0100 | ||
4 | Subject: [PATCH] huffyuvdec: Skip len==0 cases | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | Commit db0f7f7394e1f994ed38db043f78ed0f10bde0da release/1.0 | ||
9 | |||
10 | Fixes vlc decoding for hypothetical files that would contain such cases. | ||
11 | |||
12 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
13 | (cherry picked from commit 0dfc01c2bbf4b71bb56201bc4a393321e15d1b31) | ||
14 | |||
15 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
16 | --- | ||
17 | libavcodec/huffyuv.c | 10 +++++----- | ||
18 | 1 file changed, 5 insertions(+), 5 deletions(-) | ||
19 | |||
20 | diff --git a/libavcodec/huffyuv.c b/libavcodec/huffyuv.c | ||
21 | index 993e524..72ed351 100644 | ||
22 | --- a/gst-libs/ext/libav/libavcodec/huffyuv.c | ||
23 | +++ b/gst-libs/ext/libav/libavcodec/huffyuv.c | ||
24 | @@ -281,11 +281,11 @@ static void generate_joint_tables(HYuvCo | ||
25 | for(i=y=0; y<256; y++){ | ||
26 | int len0 = s->len[0][y]; | ||
27 | int limit = VLC_BITS - len0; | ||
28 | - if(limit <= 0) | ||
29 | + if(limit <= 0 || !len0) | ||
30 | continue; | ||
31 | for(u=0; u<256; u++){ | ||
32 | int len1 = s->len[p][u]; | ||
33 | - if(len1 > limit) | ||
34 | + if (len1 > limit || !len1) | ||
35 | continue; | ||
36 | len[i] = len0 + len1; | ||
37 | bits[i] = (s->bits[0][y] << len1) + s->bits[p][u]; | ||
38 | @@ -308,17 +308,17 @@ static void generate_joint_tables(HYuvCo | ||
39 | for(i=0, g=-16; g<16; g++){ | ||
40 | int len0 = s->len[p0][g&255]; | ||
41 | int limit0 = VLC_BITS - len0; | ||
42 | - if(limit0 < 2) | ||
43 | + if (limit0 < 2 || !len0) | ||
44 | continue; | ||
45 | for(b=-16; b<16; b++){ | ||
46 | int len1 = s->len[p1][b&255]; | ||
47 | int limit1 = limit0 - len1; | ||
48 | - if(limit1 < 1) | ||
49 | + if (limit1 < 1 || !len1) | ||
50 | continue; | ||
51 | code = (s->bits[p0][g&255] << len1) + s->bits[p1][b&255]; | ||
52 | for(r=-16; r<16; r++){ | ||
53 | int len2 = s->len[2][r&255]; | ||
54 | - if(len2 > limit1) | ||
55 | + if (len2 > limit1 || !len2) | ||
56 | continue; | ||
57 | len[i] = len0 + len1 + len2; | ||
58 | bits[i] = (code << len2) + s->bits[2][r&255]; | ||
59 | -- | ||
60 | 1.8.5.2.233.g932f7e4 | ||
61 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-lavf-compute-probe-buffer-size-more-reliably.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-lavf-compute-probe-buffer-size-more-reliably.patch deleted file mode 100644 index ea4aa222b..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-lavf-compute-probe-buffer-size-more-reliably.patch +++ /dev/null | |||
@@ -1,45 +0,0 @@ | |||
1 | gst-ffmpeg: lavf: compute probe buffer size more reliably. | ||
2 | |||
3 | The previous code computes the offset by reversing the growth | ||
4 | of the allocated buffer size: it is complex and did lead to | ||
5 | inconsistencies when the size limit is reached. | ||
6 | |||
7 | Fix trac ticket #1991. | ||
8 | (cherry picked from commit 03847eb8259291b4ff1bd840bd779d0699d71f96) | ||
9 | |||
10 | Conflicts: | ||
11 | libavformat/utils.c | ||
12 | |||
13 | Upstream-Status: Backport | ||
14 | |||
15 | Signed-off-by: Yue Tao <yue.tao@windriver.com> | ||
16 | |||
17 | --- | ||
18 | libavformat/utils.c | 4 ++-- | ||
19 | 1 files changed, 2 insertions(+), 2 deletions(-) | ||
20 | |||
21 | diff --git a/libavformat/utils.c b/libavformat/utils.c | ||
22 | index 7940037..be73c4a 100644 | ||
23 | --- a/gst-libs/ext/libav/libavformat/utils.c | ||
24 | +++ b/gst-libs/ext/libav/libavformat/utils.c | ||
25 | @@ -459,7 +459,7 @@ int av_probe_input_buffer(AVIOContext *pb, AVInputFormat **fmt, | ||
26 | { | ||
27 | AVProbeData pd = { filename ? filename : "", NULL, -offset }; | ||
28 | unsigned char *buf = NULL; | ||
29 | - int ret = 0, probe_size; | ||
30 | + int ret = 0, probe_size, buf_offset = 0; | ||
31 | |||
32 | if (!max_probe_size) { | ||
33 | max_probe_size = PROBE_BUF_MAX; | ||
34 | @@ -499,7 +499,7 @@ int av_probe_input_buffer(AVIOContext *pb, AVInputFormat **fmt, | ||
35 | score = 0; | ||
36 | ret = 0; /* error was end of file, nothing read */ | ||
37 | } | ||
38 | - pd.buf_size += ret; | ||
39 | + pd.buf_size = buf_offset += ret; | ||
40 | pd.buf = &buf[offset]; | ||
41 | |||
42 | memset(pd.buf + pd.buf_size, 0, AVPROBE_PADDING_SIZE); | ||
43 | -- | ||
44 | 1.7.5.4 | ||
45 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-mjpegdec-check-SE.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-mjpegdec-check-SE.patch deleted file mode 100644 index d90bafac9..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-mjpegdec-check-SE.patch +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | From 1f41cffe1e3e79620f587545bdfcbd7e6e68ed29 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Niedermayer <michaelni@gmx.at> | ||
3 | Date: Sun, 11 Nov 2012 00:01:24 +0100 | ||
4 | Subject: [PATCH] mjpegdec: check SE. | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | Commit 1f41cffe1e3e79620f587545bdfcbd7e6e68ed29 release/1.1 | ||
9 | |||
10 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
11 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
12 | --- | ||
13 | libavcodec/mjpegdec.c | 5 +++++ | ||
14 | 1 file changed, 5 insertions(+) | ||
15 | |||
16 | diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c | ||
17 | index 6b5266d..0a71a6f 100644 | ||
18 | --- a/gst-libs/ext/libav/libavcodec/mjpegdec.c | ||
19 | +++ b/gst-libs/ext/libav/libavcodec/mjpegdec.c | ||
20 | @@ -905,6 +905,11 @@ static int mjpeg_decode_scan_progressive | ||
21 | int16_t *quant_matrix = s->quant_matrixes[ s->quant_index[c] ]; | ||
22 | GetBitContext mb_bitmask_gb; | ||
23 | |||
24 | + if (se > 63) { | ||
25 | + av_log(s->avctx, AV_LOG_ERROR, "SE %d is too large\n", se); | ||
26 | + return AVERROR_INVALIDDATA; | ||
27 | + } | ||
28 | + | ||
29 | if (mb_bitmask) { | ||
30 | init_get_bits(&mb_bitmask_gb, mb_bitmask, s->mb_width*s->mb_height); | ||
31 | } | ||
32 | -- | ||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-pgssubdec-check-RLE-size-before-copying.-Fix-out-of-.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-pgssubdec-check-RLE-size-before-copying.-Fix-out-of-.patch deleted file mode 100644 index 1041347c8..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-pgssubdec-check-RLE-size-before-copying.-Fix-out-of-.patch +++ /dev/null | |||
@@ -1,34 +0,0 @@ | |||
1 | From 28bf685bfc6d0c744369cdf367f61a78d80d0b01 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Niedermayer <michaelni@gmx.at> | ||
3 | Date: Thu, 15 Nov 2012 16:41:28 +0100 | ||
4 | Subject: [PATCH] pgssubdec: check RLE size before copying. Fix out of array | ||
5 | accesses | ||
6 | |||
7 | Upstream-Status: Backport | ||
8 | |||
9 | Commit 28bf685bfc6d0c744369cdf367f61a78d80d0b01 release/1.1 | ||
10 | |||
11 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
12 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
13 | (cherry picked from commit c0d68be555f5858703383040e04fcd6529777061) | ||
14 | --- | ||
15 | libavcodec/pgssubdec.c | 5 +++++ | ||
16 | 1 file changed, 5 insertions(+) | ||
17 | |||
18 | diff --git a/libavcodec/pgssubdec.c b/libavcodec/pgssubdec.c | ||
19 | index 728f178..26a3c2a 100644 | ||
20 | --- a/gst-libs/ext/libav/libavcodec/pgssubdec.c | ||
21 | +++ b/gst-libs/ext/libav/libavcodec/pgssubdec.c | ||
22 | @@ -202,6 +202,11 @@ static int parse_picture_segment(AVCodec | ||
23 | return -1; | ||
24 | } | ||
25 | |||
26 | + if (buf_size > rle_bitmap_len) { | ||
27 | + av_log(avctx, AV_LOG_ERROR, "too much RLE data\n"); | ||
28 | + return AVERROR_INVALIDDATA; | ||
29 | + } | ||
30 | + | ||
31 | ctx->picture.w = width; | ||
32 | ctx->picture.h = height; | ||
33 | |||
34 | -- | ||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-pngdec-filter-dont-access-out-of-array-elements-at-t.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-pngdec-filter-dont-access-out-of-array-elements-at-t.patch deleted file mode 100644 index 1e5fb7deb..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-pngdec-filter-dont-access-out-of-array-elements-at-t.patch +++ /dev/null | |||
@@ -1,44 +0,0 @@ | |||
1 | gst-ffmpeg: pngdec/filter: dont access out of array elements at the end | ||
2 | |||
3 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
4 | |||
5 | Upstream-Status: Backport | ||
6 | |||
7 | Signed-off-by: Yue Tao <yue.tao@windriver.com> | ||
8 | --- | ||
9 | libavcodec/pngdec.c | 12 ++++-------- | ||
10 | 1 files changed, 4 insertions(+), 8 deletions(-) | ||
11 | |||
12 | diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c | ||
13 | index 97c0ad1..193e35e 100644 | ||
14 | --- a/gst-libs/ext/libav/libavcodec/pngdec.c | ||
15 | +++ b/gst-libs/ext/libav/libavcodec/pngdec.c | ||
16 | @@ -190,7 +190,7 @@ void ff_add_png_paeth_prediction(uint8_t *dst, uint8_t *src, uint8_t *top, int w | ||
17 | if(bpp >= 2) g = dst[1];\ | ||
18 | if(bpp >= 3) b = dst[2];\ | ||
19 | if(bpp >= 4) a = dst[3];\ | ||
20 | - for(; i < size; i+=bpp) {\ | ||
21 | + for(; i <= size - bpp; i+=bpp) {\ | ||
22 | dst[i+0] = r = op(r, src[i+0], last[i+0]);\ | ||
23 | if(bpp == 1) continue;\ | ||
24 | dst[i+1] = g = op(g, src[i+1], last[i+1]);\ | ||
25 | @@ -206,13 +206,9 @@ void ff_add_png_paeth_prediction(uint8_t *dst, uint8_t *src, uint8_t *top, int w | ||
26 | else if(bpp == 2) UNROLL1(2, op)\ | ||
27 | else if(bpp == 3) UNROLL1(3, op)\ | ||
28 | else if(bpp == 4) UNROLL1(4, op)\ | ||
29 | - else {\ | ||
30 | - for (; i < size; i += bpp) {\ | ||
31 | - int j;\ | ||
32 | - for (j = 0; j < bpp; j++)\ | ||
33 | - dst[i+j] = op(dst[i+j-bpp], src[i+j], last[i+j]);\ | ||
34 | - }\ | ||
35 | - } | ||
36 | + for (; i < size; i++) {\ | ||
37 | + dst[i] = op(dst[i-bpp], src[i], last[i]);\ | ||
38 | + }\ | ||
39 | |||
40 | /* NOTE: 'dst' can be equal to 'last' */ | ||
41 | static void png_filter_row(PNGDSPContext *dsp, uint8_t *dst, int filter_type, | ||
42 | -- | ||
43 | 1.7.5.4 | ||
44 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-qdm2-check-array-index-before-use-fix-out-of-array-a.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-qdm2-check-array-index-before-use-fix-out-of-array-a.patch deleted file mode 100644 index 8c94232d6..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-qdm2-check-array-index-before-use-fix-out-of-array-a.patch +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | gst-ffmpeg: qdm2: check array index before use, fix out of array | ||
2 | accesses | ||
3 | |||
4 | Upstream-Status: Backport | ||
5 | |||
6 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
7 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
8 | --- | ||
9 | libavcodec/qdm2.c | 5 +++++ | ||
10 | 1 files changed, 5 insertions(+), 0 deletions(-) | ||
11 | |||
12 | diff --git a/libavcodec/qdm2.c b/libavcodec/qdm2.c | ||
13 | index 4cf4b2f..1dfb8d5 100644 | ||
14 | --- a/gst-libs/ext/libav/libavcodec/qdm2.c | ||
15 | +++ b/gst-libs/ext/libav/libavcodec/qdm2.c | ||
16 | @@ -1257,6 +1257,11 @@ static void qdm2_decode_super_block (QDM2Context *q) | ||
17 | for (i = 0; packet_bytes > 0; i++) { | ||
18 | int j; | ||
19 | |||
20 | + if (i>=FF_ARRAY_ELEMS(q->sub_packet_list_A)) { | ||
21 | + SAMPLES_NEEDED_2("too many packet bytes"); | ||
22 | + return; | ||
23 | + } | ||
24 | + | ||
25 | q->sub_packet_list_A[i].next = NULL; | ||
26 | |||
27 | if (i > 0) { | ||
28 | -- | ||
29 | 1.7.5.4 | ||
30 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-qdm2dec-fix-buffer-overflow.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-qdm2dec-fix-buffer-overflow.patch deleted file mode 100644 index 43ffc03a6..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-qdm2dec-fix-buffer-overflow.patch +++ /dev/null | |||
@@ -1,58 +0,0 @@ | |||
1 | gst-ffmpeg: qdm2dec: fix buffer overflow. Fixes NGS00144 | ||
2 | |||
3 | This also adds a few lines of code from master that are needed for this fix. | ||
4 | |||
5 | Thanks to Phillip for suggestions to improve the patch. | ||
6 | Found-by: Phillip Langlois | ||
7 | |||
8 | Upstream-Status: Backport | ||
9 | |||
10 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
11 | --- | ||
12 | libavcodec/qdm2.c | 9 +++++++-- | ||
13 | 1 files changed, 7 insertions(+), 2 deletions(-) | ||
14 | |||
15 | diff --git a/libavcodec/qdm2.c b/libavcodec/qdm2.c | ||
16 | index 3aa9e5b..e000df8 100644 | ||
17 | --- a/gst-libs/ext/libav/libavcodec/qdm2.c | ||
18 | +++ b/gst-libs/ext/libav/libavcodec/qdm2.c | ||
19 | @@ -76,6 +76,7 @@ do { \ | ||
20 | #define SAMPLES_NEEDED_2(why) \ | ||
21 | av_log (NULL,AV_LOG_INFO,"This file triggers some missing code. Please contact the developers.\nPosition: %s\n",why); | ||
22 | |||
23 | +#define QDM2_MAX_FRAME_SIZE 512 | ||
24 | |||
25 | typedef int8_t sb_int8_array[2][30][64]; | ||
26 | |||
27 | @@ -168,7 +169,7 @@ typedef struct { | ||
28 | /// I/O data | ||
29 | const uint8_t *compressed_data; | ||
30 | int compressed_size; | ||
31 | - float output_buffer[1024]; | ||
32 | + float output_buffer[QDM2_MAX_FRAME_SIZE * MPA_MAX_CHANNELS * 2]; | ||
33 | |||
34 | /// Synthesis filter | ||
35 | MPADSPContext mpadsp; | ||
36 | @@ -1819,6 +1820,9 @@ static av_cold int qdm2_decode_init(AVCodecContext *avctx) | ||
37 | s->group_order = av_log2(s->group_size) + 1; | ||
38 | s->frame_size = s->group_size / 16; // 16 iterations per super block | ||
39 | |||
40 | + if (s->frame_size > QDM2_MAX_FRAME_SIZE) | ||
41 | + return AVERROR_INVALIDDATA; | ||
42 | + | ||
43 | s->sub_sampling = s->fft_order - 7; | ||
44 | s->frequency_range = 255 / (1 << (2 - s->sub_sampling)); | ||
45 | |||
46 | @@ -1887,6 +1891,9 @@ static int qdm2_decode (QDM2Context *q, const uint8_t *in, int16_t *out) | ||
47 | int ch, i; | ||
48 | const int frame_size = (q->frame_size * q->channels); | ||
49 | |||
50 | + if((unsigned)frame_size > FF_ARRAY_ELEMS(q->output_buffer)/2) | ||
51 | + return -1; | ||
52 | + | ||
53 | /* select input buffer */ | ||
54 | q->compressed_data = in; | ||
55 | q->compressed_size = q->checksum_size; | ||
56 | -- | ||
57 | 1.7.5.4 | ||
58 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-roqvideodec-check-dimensions-validity.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-roqvideodec-check-dimensions-validity.patch deleted file mode 100644 index 7e58afcf6..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-roqvideodec-check-dimensions-validity.patch +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | From 391e0fc6c90ced6656b74f50f3a487b6dc76ea63 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Niedermayer <michaelni@gmx.at> | ||
3 | Date: Thu, 29 Nov 2012 15:18:17 +0100 | ||
4 | Subject: [PATCH] roqvideodec: check dimensions validity | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | Commit 391e0fc6c90ced6656b74f50f3a487b6dc76ea63 release/0.7 | ||
9 | |||
10 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
11 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
12 | (cherry picked from commit 3ae610451170cd5a28b33950006ff0bd23036845) | ||
13 | |||
14 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
15 | --- | ||
16 | libavcodec/roqvideodec.c | 6 ++++++ | ||
17 | 1 file changed, 6 insertions(+) | ||
18 | |||
19 | diff --git a/libavcodec/roqvideodec.c b/libavcodec/roqvideodec.c | ||
20 | index f0977f6..4e34231 100644 | ||
21 | --- a/gst-libs/ext/libav/libavcodec/roqvideodec.c | ||
22 | +++ b/gst-libs/ext/libav/libavcodec/roqvideodec.c | ||
23 | @@ -157,6 +157,12 @@ static av_cold int roq_decode_init(AVCodecContext *avctx) | ||
24 | RoqContext *s = avctx->priv_data; | ||
25 | |||
26 | s->avctx = avctx; | ||
27 | + | ||
28 | + if (avctx->width%16 || avctx->height%16) { | ||
29 | + av_log_ask_for_sample(avctx, "dimensions not being a multiple of 16 are unsupported\n"); | ||
30 | + return AVERROR_PATCHWELCOME; | ||
31 | + } | ||
32 | + | ||
33 | s->width = avctx->width; | ||
34 | s->height = avctx->height; | ||
35 | avcodec_get_frame_defaults(&s->frames[0]); | ||
36 | -- | ||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-smackerdec-Check-that-the-last-indexes-are-within-th.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-smackerdec-Check-that-the-last-indexes-are-within-th.patch deleted file mode 100644 index 15b161469..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-smackerdec-Check-that-the-last-indexes-are-within-th.patch +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | gst-ffmpeg: smackerdec: Check that the last indexes are within the | ||
2 | table. | ||
3 | |||
4 | Fixes CVE-2011-3944 | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
9 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
10 | --- | ||
11 | libavcodec/smacker.c | 5 +++++ | ||
12 | 1 files changed, 5 insertions(+), 0 deletions(-) | ||
13 | |||
14 | diff --git a/libavcodec/smacker.c b/libavcodec/smacker.c | ||
15 | index 30f99b4..2a8bae8 100644 | ||
16 | --- a/gst-libs/ext/libav/libavcodec/smacker.c | ||
17 | +++ b/gst-libs/ext/libav/libavcodec/smacker.c | ||
18 | @@ -259,6 +259,11 @@ static int smacker_decode_header_tree(SmackVContext *smk, GetBitContext *gb, int | ||
19 | if(ctx.last[0] == -1) ctx.last[0] = huff.current++; | ||
20 | if(ctx.last[1] == -1) ctx.last[1] = huff.current++; | ||
21 | if(ctx.last[2] == -1) ctx.last[2] = huff.current++; | ||
22 | + if(huff.current > huff.length){ | ||
23 | + ctx.last[0] = ctx.last[1] = ctx.last[2] = 1; | ||
24 | + av_log(smk->avctx, AV_LOG_ERROR, "bigtree damaged\n"); | ||
25 | + return -1; | ||
26 | + } | ||
27 | |||
28 | *recodes = huff.values; | ||
29 | |||
30 | -- | ||
31 | 1.7.5.4 | ||
32 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-vp3-Copy-all-3-frames-for-thread-updates.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-vp3-Copy-all-3-frames-for-thread-updates.patch deleted file mode 100644 index a1989cfea..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-vp3-Copy-all-3-frames-for-thread-updates.patch +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | gst-ffmpeg: vp3: Copy all 3 frames for thread updates. | ||
2 | |||
3 | This fixes a double release of the current frame on deinit. | ||
4 | Fixes CVE-2011-3934 | ||
5 | |||
6 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
7 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
8 | |||
9 | Upstream-Status: Backport | ||
10 | |||
11 | Signed-off-by: Yue.Tao <yue.tao@windriver.com> | ||
12 | |||
13 | --- | ||
14 | libavcodec/vp3.c | 2 +- | ||
15 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
16 | |||
17 | diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c | ||
18 | index 738ae9f..b5daafc 100644 | ||
19 | --- a/gst-libs/ext/libav/libavcodec/vp3.c | ||
20 | +++ b/gst-libs/ext/libav/libavcodec/vp3.c | ||
21 | @@ -1859,7 +1859,7 @@ static int vp3_update_thread_context(AVCodecContext *dst, const AVCodecContext * | ||
22 | ||s->width != s1->width | ||
23 | ||s->height!= s1->height) { | ||
24 | if (s != s1) | ||
25 | - copy_fields(s, s1, golden_frame, current_frame); | ||
26 | + copy_fields(s, s1, golden_frame, keyframe); | ||
27 | return -1; | ||
28 | } | ||
29 | |||
30 | -- | ||
31 | 1.7.5.4 | ||
32 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-vp3-fix-oob-read-for-negative-tokens-and-memleaks-on.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-vp3-fix-oob-read-for-negative-tokens-and-memleaks-on.patch deleted file mode 100644 index e83d8f402..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-vp3-fix-oob-read-for-negative-tokens-and-memleaks-on.patch +++ /dev/null | |||
@@ -1,183 +0,0 @@ | |||
1 | gst-ffmpeg: vp3: fix oob read for negative tokens and memleaks on error. | ||
2 | |||
3 | Upstream-Status: Backport | ||
4 | |||
5 | Signed-off-by: Yue.Tao <yue.tao@windriver.com> | ||
6 | |||
7 | --- | ||
8 | libavcodec/vp3.c | 59 +++++++++++++++++++++++++++++++++++++++++------------ | ||
9 | 1 files changed, 45 insertions(+), 14 deletions(-) | ||
10 | |||
11 | diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c | ||
12 | index 36715bb..ce14e63 100644 | ||
13 | --- a/gst-libs/ext/libav/libavcodec/vp3.c | ||
14 | +++ b/gst-libs/ext/libav/libavcodec/vp3.c | ||
15 | @@ -45,6 +45,7 @@ | ||
16 | #define FRAGMENT_PIXELS 8 | ||
17 | |||
18 | static av_cold int vp3_decode_end(AVCodecContext *avctx); | ||
19 | +static void vp3_decode_flush(AVCodecContext *avctx); | ||
20 | |||
21 | //FIXME split things out into their own arrays | ||
22 | typedef struct Vp3Fragment { | ||
23 | @@ -890,7 +891,7 @@ static int unpack_vlcs(Vp3DecodeContext *s, GetBitContext *gb, | ||
24 | /* decode a VLC into a token */ | ||
25 | token = get_vlc2(gb, vlc_table, 11, 3); | ||
26 | /* use the token to get a zero run, a coefficient, and an eob run */ | ||
27 | - if (token <= 6) { | ||
28 | + if ((unsigned) token <= 6U) { | ||
29 | eob_run = eob_run_base[token]; | ||
30 | if (eob_run_get_bits[token]) | ||
31 | eob_run += get_bits(gb, eob_run_get_bits[token]); | ||
32 | @@ -908,7 +909,7 @@ static int unpack_vlcs(Vp3DecodeContext *s, GetBitContext *gb, | ||
33 | coeff_i += eob_run; | ||
34 | eob_run = 0; | ||
35 | } | ||
36 | - } else { | ||
37 | + } else if (token >= 0) { | ||
38 | bits_to_get = coeff_get_bits[token]; | ||
39 | if (bits_to_get) | ||
40 | bits_to_get = get_bits(gb, bits_to_get); | ||
41 | @@ -942,6 +943,10 @@ static int unpack_vlcs(Vp3DecodeContext *s, GetBitContext *gb, | ||
42 | for (i = coeff_index+1; i <= coeff_index+zero_run; i++) | ||
43 | s->num_coded_frags[plane][i]--; | ||
44 | coeff_i++; | ||
45 | + } else { | ||
46 | + av_log(s->avctx, AV_LOG_ERROR, | ||
47 | + "Invalid token %d\n", token); | ||
48 | + return -1; | ||
49 | } | ||
50 | } | ||
51 | |||
52 | @@ -991,6 +996,8 @@ static int unpack_dct_coeffs(Vp3DecodeContext *s, GetBitContext *gb) | ||
53 | /* unpack the Y plane DC coefficients */ | ||
54 | residual_eob_run = unpack_vlcs(s, gb, &s->dc_vlc[dc_y_table], 0, | ||
55 | 0, residual_eob_run); | ||
56 | + if (residual_eob_run < 0) | ||
57 | + return residual_eob_run; | ||
58 | |||
59 | /* reverse prediction of the Y-plane DC coefficients */ | ||
60 | reverse_dc_prediction(s, 0, s->fragment_width[0], s->fragment_height[0]); | ||
61 | @@ -998,8 +1005,12 @@ static int unpack_dct_coeffs(Vp3DecodeContext *s, GetBitContext *gb) | ||
62 | /* unpack the C plane DC coefficients */ | ||
63 | residual_eob_run = unpack_vlcs(s, gb, &s->dc_vlc[dc_c_table], 0, | ||
64 | 1, residual_eob_run); | ||
65 | + if (residual_eob_run < 0) | ||
66 | + return residual_eob_run; | ||
67 | residual_eob_run = unpack_vlcs(s, gb, &s->dc_vlc[dc_c_table], 0, | ||
68 | 2, residual_eob_run); | ||
69 | + if (residual_eob_run < 0) | ||
70 | + return residual_eob_run; | ||
71 | |||
72 | /* reverse prediction of the C-plane DC coefficients */ | ||
73 | if (!(s->avctx->flags & CODEC_FLAG_GRAY)) | ||
74 | @@ -1036,11 +1047,17 @@ static int unpack_dct_coeffs(Vp3DecodeContext *s, GetBitContext *gb) | ||
75 | for (i = 1; i <= 63; i++) { | ||
76 | residual_eob_run = unpack_vlcs(s, gb, y_tables[i], i, | ||
77 | 0, residual_eob_run); | ||
78 | + if (residual_eob_run < 0) | ||
79 | + return residual_eob_run; | ||
80 | |||
81 | residual_eob_run = unpack_vlcs(s, gb, c_tables[i], i, | ||
82 | 1, residual_eob_run); | ||
83 | + if (residual_eob_run < 0) | ||
84 | + return residual_eob_run; | ||
85 | residual_eob_run = unpack_vlcs(s, gb, c_tables[i], i, | ||
86 | 2, residual_eob_run); | ||
87 | + if (residual_eob_run < 0) | ||
88 | + return residual_eob_run; | ||
89 | } | ||
90 | |||
91 | return 0; | ||
92 | @@ -1777,10 +1794,15 @@ static int vp3_update_thread_context(AVCodecContext *dst, const AVCodecContext * | ||
93 | Vp3DecodeContext *s = dst->priv_data, *s1 = src->priv_data; | ||
94 | int qps_changed = 0, i, err; | ||
95 | |||
96 | +#define copy_fields(to, from, start_field, end_field) memcpy(&to->start_field, &from->start_field, (char*)&to->end_field - (char*)&to->start_field) | ||
97 | + | ||
98 | if (!s1->current_frame.data[0] | ||
99 | ||s->width != s1->width | ||
100 | - ||s->height!= s1->height) | ||
101 | + ||s->height!= s1->height) { | ||
102 | + if (s != s1) | ||
103 | + copy_fields(s, s1, golden_frame, current_frame); | ||
104 | return -1; | ||
105 | + } | ||
106 | |||
107 | if (s != s1) { | ||
108 | // init tables if the first frame hasn't been decoded | ||
109 | @@ -1796,8 +1818,6 @@ static int vp3_update_thread_context(AVCodecContext *dst, const AVCodecContext * | ||
110 | memcpy(s->motion_val[1], s1->motion_val[1], c_fragment_count * sizeof(*s->motion_val[1])); | ||
111 | } | ||
112 | |||
113 | -#define copy_fields(to, from, start_field, end_field) memcpy(&to->start_field, &from->start_field, (char*)&to->end_field - (char*)&to->start_field) | ||
114 | - | ||
115 | // copy previous frame data | ||
116 | copy_fields(s, s1, golden_frame, dsp); | ||
117 | |||
118 | @@ -1987,9 +2007,6 @@ static av_cold int vp3_decode_end(AVCodecContext *avctx) | ||
119 | Vp3DecodeContext *s = avctx->priv_data; | ||
120 | int i; | ||
121 | |||
122 | - if (avctx->is_copy && !s->current_frame.data[0]) | ||
123 | - return 0; | ||
124 | - | ||
125 | av_free(s->superblock_coding); | ||
126 | av_free(s->all_fragments); | ||
127 | av_free(s->coded_fragment_list[0]); | ||
128 | @@ -2016,12 +2033,7 @@ static av_cold int vp3_decode_end(AVCodecContext *avctx) | ||
129 | free_vlc(&s->motion_vector_vlc); | ||
130 | |||
131 | /* release all frames */ | ||
132 | - if (s->golden_frame.data[0]) | ||
133 | - ff_thread_release_buffer(avctx, &s->golden_frame); | ||
134 | - if (s->last_frame.data[0] && s->last_frame.type != FF_BUFFER_TYPE_COPY) | ||
135 | - ff_thread_release_buffer(avctx, &s->last_frame); | ||
136 | - /* no need to release the current_frame since it will always be pointing | ||
137 | - * to the same frame as either the golden or last frame */ | ||
138 | + vp3_decode_flush(avctx); | ||
139 | |||
140 | return 0; | ||
141 | } | ||
142 | @@ -2341,6 +2353,23 @@ static void vp3_decode_flush(AVCodecContext *avctx) | ||
143 | ff_thread_release_buffer(avctx, &s->current_frame); | ||
144 | } | ||
145 | |||
146 | +static int vp3_init_thread_copy(AVCodecContext *avctx) | ||
147 | +{ | ||
148 | + Vp3DecodeContext *s = avctx->priv_data; | ||
149 | + | ||
150 | + s->superblock_coding = NULL; | ||
151 | + s->all_fragments = NULL; | ||
152 | + s->coded_fragment_list[0] = NULL; | ||
153 | + s->dct_tokens_base = NULL; | ||
154 | + s->superblock_fragments = NULL; | ||
155 | + s->macroblock_coding = NULL; | ||
156 | + s->motion_val[0] = NULL; | ||
157 | + s->motion_val[1] = NULL; | ||
158 | + s->edge_emu_buffer = NULL; | ||
159 | + | ||
160 | + return 0; | ||
161 | +} | ||
162 | + | ||
163 | AVCodec ff_theora_decoder = { | ||
164 | .name = "theora", | ||
165 | .type = AVMEDIA_TYPE_VIDEO, | ||
166 | @@ -2352,6 +2381,7 @@ AVCodec ff_theora_decoder = { | ||
167 | .capabilities = CODEC_CAP_DR1 | CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_FRAME_THREADS, | ||
168 | .flush = vp3_decode_flush, | ||
169 | .long_name = NULL_IF_CONFIG_SMALL("Theora"), | ||
170 | + .init_thread_copy = ONLY_IF_THREADS_ENABLED(vp3_init_thread_copy), | ||
171 | .update_thread_context = ONLY_IF_THREADS_ENABLED(vp3_update_thread_context) | ||
172 | }; | ||
173 | #endif | ||
174 | @@ -2367,5 +2397,6 @@ AVCodec ff_vp3_decoder = { | ||
175 | .capabilities = CODEC_CAP_DR1 | CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_FRAME_THREADS, | ||
176 | .flush = vp3_decode_flush, | ||
177 | .long_name = NULL_IF_CONFIG_SMALL("On2 VP3"), | ||
178 | + .init_thread_copy = ONLY_IF_THREADS_ENABLED(vp3_init_thread_copy), | ||
179 | .update_thread_context = ONLY_IF_THREADS_ENABLED(vp3_update_thread_context) | ||
180 | }; | ||
181 | -- | ||
182 | 1.7.5.4 | ||
183 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-vqavideo-check-chunk-sizes-before-reading-chunks.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-vqavideo-check-chunk-sizes-before-reading-chunks.patch deleted file mode 100644 index 7e4f68216..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0001-vqavideo-check-chunk-sizes-before-reading-chunks.patch +++ /dev/null | |||
@@ -1,51 +0,0 @@ | |||
1 | From 2cac35086c9e103fa98960c546d5017e7363803a Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Niedermayer <michaelni@gmx.at> | ||
3 | Date: Fri, 25 Jan 2013 06:11:59 +0100 | ||
4 | Subject: [PATCH] vqavideo: check chunk sizes before reading chunks | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | Commit 2cac35086c9e103fa98960c546d5017e7363803a release/0.7 | ||
9 | |||
10 | Fixes out of array writes | ||
11 | |||
12 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
13 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
14 | (cherry picked from commit ab6c9332bfa1e20127a16392a0b85a4aa4840889) | ||
15 | |||
16 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
17 | --- | ||
18 | libavcodec/vqavideo.c | 10 ++++++++++ | ||
19 | 1 files changed, 10 insertions(+), 0 deletions(-) | ||
20 | |||
21 | diff --git a/libavcodec/vqavideo.c b/libavcodec/vqavideo.c | ||
22 | index d1eab5b..6e1ce6c 100644 | ||
23 | --- a/gst-libs/ext/libav/libavcodec/vqavideo.c | ||
24 | +++ b/gst-libs/ext/libav/libavcodec/vqavideo.c | ||
25 | @@ -527,6 +527,11 @@ static void vqa_decode_chunk(VqaContext *s) | ||
26 | chunk_size = AV_RB32(&s->buf[cbp0_chunk + 4]); | ||
27 | cbp0_chunk += CHUNK_PREAMBLE_SIZE; | ||
28 | |||
29 | + if (chunk_size > MAX_CODEBOOK_SIZE - s->next_codebook_buffer_index) { | ||
30 | + av_log(s->avctx, AV_LOG_ERROR, "cbp0 chunk too large (0x%X bytes)\n", chunk_size); | ||
31 | + return AVERROR_INVALIDDATA; | ||
32 | + } | ||
33 | + | ||
34 | /* accumulate partial codebook */ | ||
35 | memcpy(&s->next_codebook_buffer[s->next_codebook_buffer_index], | ||
36 | &s->buf[cbp0_chunk], chunk_size); | ||
37 | @@ -550,6 +555,11 @@ static void vqa_decode_chunk(VqaContext *s) | ||
38 | chunk_size = AV_RB32(&s->buf[cbpz_chunk + 4]); | ||
39 | cbpz_chunk += CHUNK_PREAMBLE_SIZE; | ||
40 | |||
41 | + if (chunk_size > MAX_CODEBOOK_SIZE - s->next_codebook_buffer_index) { | ||
42 | + av_log(s->avctx, AV_LOG_ERROR, "cbpz chunk too large (0x%X bytes)\n", chunk_size); | ||
43 | + return AVERROR_INVALIDDATA; | ||
44 | + } | ||
45 | + | ||
46 | /* accumulate partial codebook */ | ||
47 | memcpy(&s->next_codebook_buffer[s->next_codebook_buffer_index], | ||
48 | &s->buf[cbpz_chunk], chunk_size); | ||
49 | -- | ||
50 | 1.7.5.4 | ||
51 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0002-avcodec-mjpegdec-check-bits-per-pixel-for-changes-si.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0002-avcodec-mjpegdec-check-bits-per-pixel-for-changes-si.patch deleted file mode 100644 index c8bafd570..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/0002-avcodec-mjpegdec-check-bits-per-pixel-for-changes-si.patch +++ /dev/null | |||
@@ -1,68 +0,0 @@ | |||
1 | From 6043c431c97d55173f339fafbd033d3c0642e2e9 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Niedermayer <michaelni@gmx.at> | ||
3 | Date: Fri, 3 Oct 2014 01:50:27 +0200 | ||
4 | Subject: [PATCH 2/2] avcodec/mjpegdec: check bits per pixel for changes | ||
5 | similar to dimensions | ||
6 | |||
7 | Upstream-Status: Backport | ||
8 | |||
9 | Fixes out of array accesses | ||
10 | Fixes: asan_heap-oob_16668e9_2_asan_heap-oob_16668e9_346_miss_congeniality_pegasus_mjpg.avi | ||
11 | |||
12 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
13 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
14 | |||
15 | Conflicts: | ||
16 | libavcodec/mjpegdec.c | ||
17 | --- | ||
18 | libavcodec/mjpegdec.c | 15 ++++++++------- | ||
19 | 1 file changed, 8 insertions(+), 7 deletions(-) | ||
20 | |||
21 | diff --git a/gst-libs/ext/libav/libavcodec/mjpegdec.c b/gst-libs/ext/libav/libavcodec/mjpegdec.c | ||
22 | index 84343c0..c0137d8 100644 | ||
23 | --- a/gst-libs/ext/libav/libavcodec/mjpegdec.c | ||
24 | +++ b/gst-libs/ext/libav/libavcodec/mjpegdec.c | ||
25 | @@ -210,16 +210,16 @@ int ff_mjpeg_decode_dht(MJpegDecodeContext *s) | ||
26 | |||
27 | int ff_mjpeg_decode_sof(MJpegDecodeContext *s) | ||
28 | { | ||
29 | - int len, nb_components, i, width, height, pix_fmt_id; | ||
30 | + int len, nb_components, i, bits, width, height, pix_fmt_id; | ||
31 | |||
32 | /* XXX: verify len field validity */ | ||
33 | len = get_bits(&s->gb, 16); | ||
34 | - s->bits= get_bits(&s->gb, 8); | ||
35 | + bits= get_bits(&s->gb, 8); | ||
36 | |||
37 | - if(s->pegasus_rct) s->bits=9; | ||
38 | - if(s->bits==9 && !s->pegasus_rct) s->rct=1; //FIXME ugly | ||
39 | + if(s->pegasus_rct) bits=9; | ||
40 | + if(bits==9 && !s->pegasus_rct) s->rct=1; //FIXME ugly | ||
41 | |||
42 | - if (s->bits != 8 && !s->lossless){ | ||
43 | + if (bits != 8 && !s->lossless){ | ||
44 | av_log(s->avctx, AV_LOG_ERROR, "only 8 bits/component accepted\n"); | ||
45 | return -1; | ||
46 | } | ||
47 | @@ -239,7 +239,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) | ||
48 | if (nb_components <= 0 || | ||
49 | nb_components > MAX_COMPONENTS) | ||
50 | return -1; | ||
51 | - if (s->ls && !(s->bits <= 8 || nb_components == 1)){ | ||
52 | + if (s->ls && !(bits <= 8 || nb_components == 1)){ | ||
53 | av_log(s->avctx, AV_LOG_ERROR, "only <= 8 bits/component or 16-bit gray accepted for JPEG-LS\n"); | ||
54 | return -1; | ||
55 | } | ||
56 | @@ -272,10 +272,11 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) | ||
57 | |||
58 | /* if different size, realloc/alloc picture */ | ||
59 | /* XXX: also check h_count and v_count */ | ||
60 | - if (width != s->width || height != s->height) { | ||
61 | + if (width != s->width || height != s->height || bits != s->bits) { | ||
62 | av_freep(&s->qscale_table); | ||
63 | |||
64 | s->width = width; | ||
65 | + s->bits= bits; | ||
66 | s->height = height; | ||
67 | s->interlaced = 0; | ||
68 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/configure-fix.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/configure-fix.patch deleted file mode 100644 index 9ef6f7c4b..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/configure-fix.patch +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | Disable yasm for libav when --disable-yasm | ||
2 | |||
3 | Upstream-Status: Inappropriate [configuration] | ||
4 | |||
5 | Signed-off-by: Shane Wang <shane.wang@intel.com> | ||
6 | |||
7 | diff -r f2f8f74c6e30 configure.ac | ||
8 | --- a/configure.ac Thu Dec 22 23:56:09 2011 +0800 | ||
9 | +++ b/configure.ac Thu Dec 22 23:57:37 2011 +0800 | ||
10 | @@ -325,6 +325,12 @@ | ||
11 | --enable-gpl" | ||
12 | fi | ||
13 | |||
14 | + AC_ARG_ENABLE(yasm, | ||
15 | + [AC_HELP_STRING([--disable-yasm], [disable use of yasm assembler])]) | ||
16 | + if test "x$enable_yasm" = "xno"; then | ||
17 | + embffmpeg_configure_args="$embffmpeg_configure_args --disable-yasm" | ||
18 | + fi | ||
19 | + | ||
20 | # if we are cross-compiling, tell ffmpeg so | ||
21 | target_os=`echo $host_os | sed 's/-gnu//'` | ||
22 | if test "x$cross_compiling" = xyes; then | ||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-0855.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-0855.patch deleted file mode 100644 index 3c8d8e353..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-0855.patch +++ /dev/null | |||
@@ -1,100 +0,0 @@ | |||
1 | gst-ffmpeg: Security Advisory - ffmpeg - CVE-2013-0855 | ||
2 | |||
3 | Upstream-Status: Backport | ||
4 | |||
5 | Signed-off-by: Yue Tao <yue.tao@windriver.com> | ||
6 | |||
7 | diff --git a/gst-libs/ext/libav/libavcodec/alac.c.old b/gst-libs/ext/libav/libavcodec/alac.c | ||
8 | index 2a0df8c..bcbd56d 100644 | ||
9 | --- a/gst-libs/ext/libav/libavcodec/alac.c.old | ||
10 | +++ b/gst-libs/ext/libav/libavcodec/alac.c | ||
11 | @@ -87,18 +87,44 @@ typedef struct { | ||
12 | int wasted_bits; | ||
13 | } ALACContext; | ||
14 | |||
15 | -static void allocate_buffers(ALACContext *alac) | ||
16 | +static av_cold int alac_decode_close(AVCodecContext *avctx) | ||
17 | +{ | ||
18 | + ALACContext *alac = avctx->priv_data; | ||
19 | + | ||
20 | + int chan; | ||
21 | + for (chan = 0; chan < MAX_CHANNELS; chan++) { | ||
22 | + av_freep(&alac->predicterror_buffer[chan]); | ||
23 | + av_freep(&alac->outputsamples_buffer[chan]); | ||
24 | + av_freep(&alac->wasted_bits_buffer[chan]); | ||
25 | + } | ||
26 | + | ||
27 | + return 0; | ||
28 | +} | ||
29 | + | ||
30 | +static int allocate_buffers(ALACContext *alac) | ||
31 | { | ||
32 | int chan; | ||
33 | + int buf_size; | ||
34 | + | ||
35 | + if (alac->setinfo_max_samples_per_frame > INT_MAX / sizeof(int32_t)) | ||
36 | + goto buf_alloc_fail; | ||
37 | + buf_size = alac->setinfo_max_samples_per_frame * sizeof(int32_t); | ||
38 | + | ||
39 | for (chan = 0; chan < MAX_CHANNELS; chan++) { | ||
40 | - alac->predicterror_buffer[chan] = | ||
41 | - av_malloc(alac->setinfo_max_samples_per_frame * 4); | ||
42 | |||
43 | - alac->outputsamples_buffer[chan] = | ||
44 | - av_malloc(alac->setinfo_max_samples_per_frame * 4); | ||
45 | + FF_ALLOC_OR_GOTO(alac->avctx, alac->predicterror_buffer[chan], | ||
46 | + buf_size, buf_alloc_fail); | ||
47 | |||
48 | - alac->wasted_bits_buffer[chan] = av_malloc(alac->setinfo_max_samples_per_frame * 4); | ||
49 | + FF_ALLOC_OR_GOTO(alac->avctx, alac->outputsamples_buffer[chan], | ||
50 | + buf_size, buf_alloc_fail); | ||
51 | + | ||
52 | + FF_ALLOC_OR_GOTO(alac->avctx, alac->wasted_bits_buffer[chan], | ||
53 | + buf_size, buf_alloc_fail); | ||
54 | } | ||
55 | + return 0; | ||
56 | +buf_alloc_fail: | ||
57 | + alac_decode_close(alac->avctx); | ||
58 | + return AVERROR(ENOMEM); | ||
59 | } | ||
60 | |||
61 | static int alac_set_info(ALACContext *alac) | ||
62 | @@ -131,8 +157,6 @@ static int alac_set_info(ALACContext *alac) | ||
63 | bytestream_get_be32(&ptr); /* bitrate ? */ | ||
64 | bytestream_get_be32(&ptr); /* samplerate */ | ||
65 | |||
66 | - allocate_buffers(alac); | ||
67 | - | ||
68 | return 0; | ||
69 | } | ||
70 | |||
71 | @@ -659,6 +683,7 @@ static int alac_decode_frame(AVCodecContext *avctx, | ||
72 | |||
73 | static av_cold int alac_decode_init(AVCodecContext * avctx) | ||
74 | { | ||
75 | + int ret; | ||
76 | ALACContext *alac = avctx->priv_data; | ||
77 | alac->avctx = avctx; | ||
78 | alac->numchannels = alac->avctx->channels; | ||
79 | @@ -674,18 +699,9 @@ static av_cold int alac_decode_init(AVCodecContext * avctx) | ||
80 | return -1; | ||
81 | } | ||
82 | |||
83 | - return 0; | ||
84 | -} | ||
85 | - | ||
86 | -static av_cold int alac_decode_close(AVCodecContext *avctx) | ||
87 | -{ | ||
88 | - ALACContext *alac = avctx->priv_data; | ||
89 | - | ||
90 | - int chan; | ||
91 | - for (chan = 0; chan < MAX_CHANNELS; chan++) { | ||
92 | - av_freep(&alac->predicterror_buffer[chan]); | ||
93 | - av_freep(&alac->outputsamples_buffer[chan]); | ||
94 | - av_freep(&alac->wasted_bits_buffer[chan]); | ||
95 | + if ((ret = allocate_buffers(alac)) < 0) { | ||
96 | + av_log(avctx, AV_LOG_ERROR, "Error allocating buffers\n"); | ||
97 | + return ret; | ||
98 | } | ||
99 | |||
100 | return 0; | ||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-3674.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-3674.patch deleted file mode 100644 index aa385f54c..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-3674.patch +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | avcodec/cdgraphics: check buffer size before use | ||
2 | |||
3 | Fixes out of array accesses | ||
4 | |||
5 | Backported from:http://git.videolan.org/?p=ffmpeg.git;a=commit;h=ad002e1a13a8df934bd6cb2c84175a4780ab8942 | ||
6 | |||
7 | Upstream-Status: Backport | ||
8 | |||
9 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
10 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
11 | Signed-off-by: Ming Liu <ming.liu@windriver.com> | ||
12 | |||
13 | diff -urpN a/gst-libs/ext/libav/libavcodec/cdgraphics.c b/gst-libs/ext/libav/libavcodec/cdgraphics.c | ||
14 | --- a/gst-libs/ext/libav/libavcodec/cdgraphics.c 2013-07-18 13:17:08.399876575 +0800 | ||
15 | +++ b/gst-libs/ext/libav/libavcodec/cdgraphics.c 2013-07-18 13:18:05.880502267 +0800 | ||
16 | @@ -291,7 +291,9 @@ static int cdg_decode_frame(AVCodecConte | ||
17 | inst = bytestream_get_byte(&buf); | ||
18 | inst &= CDG_MASK; | ||
19 | buf += 2; /// skipping 2 unneeded bytes | ||
20 | - bytestream_get_buffer(&buf, cdg_data, buf_size - CDG_HEADER_SIZE); | ||
21 | + | ||
22 | + if (buf_size > CDG_HEADER_SIZE) | ||
23 | + bytestream_get_buffer(&buf, cdg_data, buf_size - CDG_HEADER_SIZE); | ||
24 | |||
25 | if ((command & CDG_MASK) == CDG_COMMAND) { | ||
26 | switch (inst) { | ||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2011-4352.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2011-4352.patch deleted file mode 100644 index 90f3fd031..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2011-4352.patch +++ /dev/null | |||
@@ -1,64 +0,0 @@ | |||
1 | From 8b94df0f2047e9728cb872adc9e64557b7a5152f Mon Sep 17 00:00:00 2001 | ||
2 | From: Reinhard Tartler <siretart@tauware.de> | ||
3 | Date: Sun, 4 Dec 2011 10:10:33 +0100 | ||
4 | Subject: [PATCH] vp3dec: Check coefficient index in vp3_dequant() | ||
5 | |||
6 | Based on a patch by Michael Niedermayer <michaelni@gmx.at> | ||
7 | |||
8 | Fixes NGS00145, CVE-2011-4352 | ||
9 | |||
10 | Found-by: Phillip Langlois | ||
11 | Signed-off-by: Reinhard Tartler <siretart@tauware.de> | ||
12 | |||
13 | |||
14 | Upstream-Status: Backport | ||
15 | |||
16 | http://git.videolan.org/?p=ffmpeg.git;a=commit;h=8b94df0f2047e9728cb872adc9e64557b7a5152f | ||
17 | |||
18 | Signed-off-by: Kai Kang <kai.kang@windriver.com> | ||
19 | --- | ||
20 | libavcodec/vp3.c | 14 ++++++++++++-- | ||
21 | 1 file changed, 12 insertions(+), 2 deletions(-) | ||
22 | |||
23 | diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c | ||
24 | index 51ab048..f44d084 100644 | ||
25 | --- a/gst-libs/ext/libav/libavcodec/vp3.c | ||
26 | +++ b/gst-libs/ext/libav/libavcodec/vp3.c | ||
27 | @@ -1363,6 +1363,10 @@ static inline int vp3_dequant(Vp3DecodeContext *s, Vp3Fragment *frag, | ||
28 | case 1: // zero run | ||
29 | s->dct_tokens[plane][i]++; | ||
30 | i += (token >> 2) & 0x7f; | ||
31 | + if (i > 63) { | ||
32 | + av_log(s->avctx, AV_LOG_ERROR, "Coefficient index overflow\n"); | ||
33 | + return i; | ||
34 | + } | ||
35 | block[perm[i]] = (token >> 9) * dequantizer[perm[i]]; | ||
36 | i++; | ||
37 | break; | ||
38 | @@ -1566,7 +1570,10 @@ static void render_slice(Vp3DecodeContext *s, int slice) | ||
39 | /* invert DCT and place (or add) in final output */ | ||
40 | |||
41 | if (s->all_fragments[i].coding_method == MODE_INTRA) { | ||
42 | - vp3_dequant(s, s->all_fragments + i, plane, 0, block); | ||
43 | + int index; | ||
44 | + index = vp3_dequant(s, s->all_fragments + i, plane, 0, block); | ||
45 | + if (index > 63) | ||
46 | + continue; | ||
47 | if(s->avctx->idct_algo!=FF_IDCT_VP3) | ||
48 | block[0] += 128<<3; | ||
49 | s->dsp.idct_put( | ||
50 | @@ -1574,7 +1581,10 @@ static void render_slice(Vp3DecodeContext *s, int slice) | ||
51 | stride, | ||
52 | block); | ||
53 | } else { | ||
54 | - if (vp3_dequant(s, s->all_fragments + i, plane, 1, block)) { | ||
55 | + int index = vp3_dequant(s, s->all_fragments + i, plane, 1, block); | ||
56 | + if (index > 63) | ||
57 | + continue; | ||
58 | + if (index > 0) { | ||
59 | s->dsp.idct_add( | ||
60 | output_plane + first_pixel, | ||
61 | stride, | ||
62 | -- | ||
63 | 2.1.1 | ||
64 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-7933.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-7933.patch deleted file mode 100644 index 3c537c77a..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-7933.patch +++ /dev/null | |||
@@ -1,38 +0,0 @@ | |||
1 | From 2266b8bc3370856d874334ba62b337ce4f1eb255 Mon Sep 17 00:00:00 2001 | ||
2 | From: Kai Kang <kai.kang@windriver.com> | ||
3 | Date: Wed, 13 May 2015 16:46:06 +0800 | ||
4 | Subject: [PATCH 2/2] gst-ffmpeg: fix CVE-2014-7933 | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | http://git.videolan.org/?p=ffmpeg.git;a=commit;h=33301f00 | ||
9 | |||
10 | Signed-off-by: Kai Kang <kai.kang@windriver.com> | ||
11 | --- | ||
12 | gst-libs/ext/libav/libavformat/matroskadec.c | 3 ++- | ||
13 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
14 | |||
15 | diff --git a/gst-libs/ext/libav/libavformat/matroskadec.c b/gst-libs/ext/libav/libavformat/matroskadec.c | ||
16 | index 59dce4f..e5f5fc1 100644 | ||
17 | --- a/gst-libs/ext/libav/libavformat/matroskadec.c | ||
18 | +++ b/gst-libs/ext/libav/libavformat/matroskadec.c | ||
19 | @@ -1916,7 +1916,7 @@ static int matroska_read_seek(AVFormatContext *s, int stream_index, | ||
20 | int64_t timestamp, int flags) | ||
21 | { | ||
22 | MatroskaDemuxContext *matroska = s->priv_data; | ||
23 | - MatroskaTrack *tracks = matroska->tracks.elem; | ||
24 | + MatroskaTrack *tracks = NULL; | ||
25 | AVStream *st = s->streams[stream_index]; | ||
26 | int i, index, index_sub, index_min; | ||
27 | |||
28 | @@ -1939,6 +1939,7 @@ static int matroska_read_seek(AVFormatContext *s, int stream_index, | ||
29 | return 0; | ||
30 | |||
31 | index_min = index; | ||
32 | + tracks = matroska->tracks.elem; | ||
33 | for (i=0; i < matroska->tracks.nb_elem; i++) { | ||
34 | tracks[i].audio.pkt_cnt = 0; | ||
35 | tracks[i].audio.sub_packet_cnt = 0; | ||
36 | -- | ||
37 | 1.9.1 | ||
38 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8542.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8542.patch deleted file mode 100644 index ca47c814c..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8542.patch +++ /dev/null | |||
@@ -1,38 +0,0 @@ | |||
1 | From 105654e376a736d243aef4a1d121abebce912e6b Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Niedermayer <michaelni@gmx.at> | ||
3 | Date: Fri, 3 Oct 2014 04:30:58 +0200 | ||
4 | Subject: [PATCH] avcodec/utils: Add case for jv to | ||
5 | avcodec_align_dimensions2() | ||
6 | |||
7 | (Upstream commit 105654e376a736d243aef4a1d121abebce912e6b) | ||
8 | |||
9 | Fixes out of array accesses | ||
10 | Fixes: asan_heap-oob_12304aa_8_asan_heap-oob_4da4f3_300_intro.jv | ||
11 | |||
12 | Upstream-Status: Backport | ||
13 | |||
14 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
15 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
16 | Signed-off-by: Yue Tao <yue.tao@windriver.com> | ||
17 | --- | ||
18 | libavcodec/utils.c | 4 ++++ | ||
19 | 1 file changed, 4 insertions(+) | ||
20 | |||
21 | diff --git a/libavcodec/utils.c b/libavcodec/utils.c | ||
22 | index d4f5532..c2c5579 100644 | ||
23 | --- a/gst-libs/ext/libav/libavcodec/utils.c | ||
24 | +++ b/gst-libs/ext/libav/libavcodec/utils.c | ||
25 | @@ -173,6 +173,10 @@ void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, int l | ||
26 | w_align=4; | ||
27 | h_align=4; | ||
28 | } | ||
29 | + if (s->codec_id == CODEC_ID_JV){ | ||
30 | + w_align = 8; | ||
31 | + h_align = 8; | ||
32 | + } | ||
33 | break; | ||
34 | case PIX_FMT_BGR24: | ||
35 | if((s->codec_id == CODEC_ID_MSZH) || (s->codec_id == CODEC_ID_ZLIB)){ | ||
36 | -- | ||
37 | 1.7.9.5 | ||
38 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8543.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8543.patch deleted file mode 100644 index b65e55fc1..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8543.patch +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | From 8b0e96e1f21b761ca15dbb470cd619a1ebf86c3e Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Niedermayer <michaelni@gmx.at> | ||
3 | Date: Fri, 3 Oct 2014 14:45:04 +0200 | ||
4 | Subject: [PATCH] avcodec/mmvideo: Bounds check 2nd line of HHV Intra blocks | ||
5 | |||
6 | (Upstream commit 8b0e96e1f21b761ca15dbb470cd619a1ebf86c3e) | ||
7 | |||
8 | Fixes out of array access | ||
9 | Fixes: asan_heap-oob_4da4f3_8_asan_heap-oob_4da4f3_419_scene1a.mm | ||
10 | |||
11 | Upstream-Status: Backport | ||
12 | |||
13 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
14 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
15 | Signed-off-by: Yue Tao <yue.tao@windriver.com> | ||
16 | --- | ||
17 | libavcodec/mmvideo.c | 2 +- | ||
18 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
19 | |||
20 | diff --git a/libavcodec/mmvideo.c b/libavcodec/mmvideo.c | ||
21 | index 026d463..9ff6393 100644 | ||
22 | --- a/gst-libs/ext/libav/libavcodec/mmvideo.c | ||
23 | +++ b/gst-libs/ext/libav/libavcodec/mmvideo.c | ||
24 | @@ -104,7 +104,7 @@ static void mm_decode_intra(MmContext * s, int half_horiz, int half_vert, const | ||
25 | |||
26 | if (color) { | ||
27 | memset(s->frame.data[0] + y*s->frame.linesize[0] + x, color, run_length); | ||
28 | - if (half_vert) | ||
29 | + if (half_vert && y + half_vert < s->avctx->height) | ||
30 | memset(s->frame.data[0] + (y+1)*s->frame.linesize[0] + x, color, run_length); | ||
31 | } | ||
32 | x+= run_length; | ||
33 | -- | ||
34 | 1.7.9.5 | ||
35 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8544.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8544.patch deleted file mode 100644 index a124e3a12..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8544.patch +++ /dev/null | |||
@@ -1,56 +0,0 @@ | |||
1 | From e1c0cfaa419aa5d320540d5a1b3f8fd9b82ab7e5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Niedermayer <michaelni@gmx.at> | ||
3 | Date: Fri, 3 Oct 2014 16:08:32 +0200 | ||
4 | Subject: [PATCH] avcodec/tiff: more completely check bpp/bppcount | ||
5 | |||
6 | (Upstream commit e1c0cfaa419aa5d320540d5a1b3f8fd9b82ab7e5) | ||
7 | |||
8 | Fixes pixel format selection | ||
9 | Fixes out of array accesses | ||
10 | Fixes: asan_heap-oob_1766029_6_asan_heap-oob_20aa045_332_cov_1823216757_m2-d1d366d7965db766c19a66c7a2ccbb6b.tif | ||
11 | |||
12 | Upstream-Status: Backport | ||
13 | |||
14 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
15 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
16 | Signed-off-by: Yue Tao <yue.tao@windriver.com> | ||
17 | --- | ||
18 | libavcodec/tiff.c | 13 ++++++++++--- | ||
19 | 1 file changed, 10 insertions(+), 3 deletions(-) | ||
20 | |||
21 | diff --git a/libavcodec/tiff.c b/libavcodec/tiff.c | ||
22 | index 6e2096f..0870e31 100644 | ||
23 | --- a/gst-libs/ext/libav/libavcodec/tiff.c | ||
24 | +++ b/gst-libs/ext/libav/libavcodec/tiff.c | ||
25 | @@ -324,11 +324,11 @@ static int tiff_decode_tag(TiffContext *s, const uint8_t *start, const uint8_t * | ||
26 | s->height = value; | ||
27 | break; | ||
28 | case TIFF_BPP: | ||
29 | - s->bppcount = count; | ||
30 | - if(count > 4){ | ||
31 | - av_log(s->avctx, AV_LOG_ERROR, "This format is not supported (bpp=%d, %d components)\n", s->bpp, count); | ||
32 | + if(count > 4U){ | ||
33 | + av_log(s->avctx, AV_LOG_ERROR, "This format is not supported (bpp=%d, %d components)\n", value, count); | ||
34 | return -1; | ||
35 | } | ||
36 | + s->bppcount = count; | ||
37 | if(count == 1) s->bpp = value; | ||
38 | else{ | ||
39 | switch(type){ | ||
40 | @@ -344,6 +344,13 @@ static int tiff_decode_tag(TiffContext *s, const uint8_t *start, const uint8_t * | ||
41 | s->bpp = -1; | ||
42 | } | ||
43 | } | ||
44 | + if (s->bpp > 64U) { | ||
45 | + av_log(s->avctx, AV_LOG_ERROR, | ||
46 | + "This format is not supported (bpp=%d, %d components)\n", | ||
47 | + s->bpp, count); | ||
48 | + s->bpp = 0; | ||
49 | + return AVERROR_INVALIDDATA; | ||
50 | + } | ||
51 | break; | ||
52 | case TIFF_SAMPLES_PER_PIXEL: | ||
53 | if (count != 1) { | ||
54 | -- | ||
55 | 1.7.9.5 | ||
56 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8545.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8545.patch deleted file mode 100644 index 29d5f776a..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8545.patch +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | From 3e2b745020c2dbf0201fe7df3dad9e7e0b2e1bb6 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Niedermayer <michaelni@gmx.at> | ||
3 | Date: Fri, 3 Oct 2014 17:35:58 +0200 | ||
4 | Subject: [PATCH] avcodec/pngdec: Check bits per pixel before setting | ||
5 | monoblack pixel format | ||
6 | |||
7 | (Upstream commit 3e2b745020c2dbf0201fe7df3dad9e7e0b2e1bb6) | ||
8 | |||
9 | Fixes out of array accesses | ||
10 | Fixes: asan_heap-oob_14dbfcf_4_asan_heap-oob_1ce5767_179_add_method_small.png | ||
11 | |||
12 | Upstream-Status: Backport | ||
13 | |||
14 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
15 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
16 | Signed-off-by: Yue Tao <yue.tao@windriver.com> | ||
17 | --- | ||
18 | libavcodec/pngdec.c | 2 +- | ||
19 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
20 | |||
21 | diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c | ||
22 | index da91aab..f3603b3 100644 | ||
23 | --- a/gst-libs/ext/libav/libavcodec/pngdec.c | ||
24 | +++ b/gst-libs/ext/libav/libavcodec/pngdec.c | ||
25 | @@ -481,7 +481,7 @@ static int decode_frame(AVCodecContext *avctx, | ||
26 | } else if (s->bit_depth == 16 && | ||
27 | s->color_type == PNG_COLOR_TYPE_RGB) { | ||
28 | avctx->pix_fmt = PIX_FMT_RGB48BE; | ||
29 | - } else if (s->bit_depth == 1 && | ||
30 | + } else if (s->bit_depth == 1 && s->bits_per_pixel == 1 && | ||
31 | s->color_type == PNG_COLOR_TYPE_GRAY) { | ||
32 | avctx->pix_fmt = PIX_FMT_MONOBLACK; | ||
33 | } else if (s->color_type == PNG_COLOR_TYPE_PALETTE) { | ||
34 | -- | ||
35 | 1.7.9.5 | ||
36 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8546.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8546.patch deleted file mode 100644 index d55d9ebe6..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8546.patch +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | From e7e5114c506957f40aafd794e06de1a7e341e9d5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Niedermayer <michaelni@gmx.at> | ||
3 | Date: Fri, 3 Oct 2014 19:33:01 +0200 | ||
4 | Subject: [PATCH] avcodec/cinepak: fix integer underflow | ||
5 | |||
6 | (Upstream commit e7e5114c506957f40aafd794e06de1a7e341e9d5) | ||
7 | |||
8 | Fixes out of array access | ||
9 | Fixes: asan_heap-oob_4da0ba_6_asan_heap-oob_4da0ba_241_cvid_crash.avi | ||
10 | |||
11 | Upstream-status: Backport | ||
12 | |||
13 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
14 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
15 | Signed-off-by: Yue Tao <yue.tao@windriver.com> | ||
16 | --- | ||
17 | libavcodec/cinepak.c | 2 +- | ||
18 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
19 | |||
20 | diff --git a/libavcodec/cinepak.c b/libavcodec/cinepak.c | ||
21 | index 4746289..f651c48 100644 | ||
22 | --- a/gst-libs/ext/libav/libavcodec/cinepak.c | ||
23 | +++ b/gst-libs/ext/libav/libavcodec/cinepak.c | ||
24 | @@ -125,7 +125,7 @@ static int cinepak_decode_vectors (CinepakContext *s, cvid_strip *strip, | ||
25 | const uint8_t *eod = (data + size); | ||
26 | uint32_t flag, mask; | ||
27 | cvid_codebook *codebook; | ||
28 | - unsigned int x, y; | ||
29 | + int x, y; | ||
30 | uint32_t iy[4]; | ||
31 | uint32_t iu[2]; | ||
32 | uint32_t iv[2]; | ||
33 | -- | ||
34 | 1.7.9.5 | ||
35 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8547.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8547.patch deleted file mode 100644 index a8616fa55..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-8547.patch +++ /dev/null | |||
@@ -1,59 +0,0 @@ | |||
1 | From 8f1457864be8fb9653643519dea1c6492f1dde57 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Niedermayer <michaelni@gmx.at> | ||
3 | Date: Fri, 3 Oct 2014 20:15:52 +0200 | ||
4 | Subject: [PATCH] avcodec/gifdec: factorize interleave end handling out | ||
5 | |||
6 | (Upstream commit 8f1457864be8fb9653643519dea1c6492f1dde57) | ||
7 | |||
8 | also change it to a loop | ||
9 | Fixes out of array access | ||
10 | Fixes: asan_heap-oob_ca5410_8_asan_heap-oob_ca5410_97_ID_LSD_Size_Less_Then_Data_Inter_3.gif | ||
11 | |||
12 | Upstream-Status: Backport | ||
13 | |||
14 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
15 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
16 | Signed-off-by: Yue Tao <yue.tao@windriver.com> | ||
17 | --- | ||
18 | libavcodec/gifdec.c | 15 +++++---------- | ||
19 | 1 file changed, 5 insertions(+), 10 deletions(-) | ||
20 | |||
21 | diff --git a/libavcodec/gifdec.c b/libavcodec/gifdec.c | ||
22 | index dee48f5..90de38b 100644 | ||
23 | --- a/gst-libs/ext/libav/libavcodec/gifdec.c | ||
24 | +++ b/gst-libs/ext/libav/libavcodec/gifdec.c | ||
25 | @@ -271,26 +271,21 @@ static int gif_read_image(GifState *s, AVFrame *frame) | ||
26 | case 1: | ||
27 | y1 += 8; | ||
28 | ptr += linesize * 8; | ||
29 | - if (y1 >= height) { | ||
30 | - y1 = pass ? 2 : 4; | ||
31 | - ptr = ptr1 + linesize * y1; | ||
32 | - pass++; | ||
33 | - } | ||
34 | break; | ||
35 | case 2: | ||
36 | y1 += 4; | ||
37 | ptr += linesize * 4; | ||
38 | - if (y1 >= height) { | ||
39 | - y1 = 1; | ||
40 | - ptr = ptr1 + linesize; | ||
41 | - pass++; | ||
42 | - } | ||
43 | break; | ||
44 | case 3: | ||
45 | y1 += 2; | ||
46 | ptr += linesize * 2; | ||
47 | break; | ||
48 | } | ||
49 | + while (y1 >= height) { | ||
50 | + y1 = 4 >> pass; | ||
51 | + ptr = ptr1 + linesize * y1; | ||
52 | + pass++; | ||
53 | + } | ||
54 | } else { | ||
55 | ptr += linesize; | ||
56 | } | ||
57 | -- | ||
58 | 1.7.9.5 | ||
59 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-9318.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-9318.patch deleted file mode 100644 index 0553ceefd..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-9318.patch +++ /dev/null | |||
@@ -1,37 +0,0 @@ | |||
1 | From 0d3a3b9f8907625b361420d48fe05716859620ff Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Niedermayer <michaelni@gmx.at> | ||
3 | Date: Wed, 26 Nov 2014 18:56:39 +0100 | ||
4 | Subject: [PATCH] avcodec/rawdec: Check the return code of | ||
5 | avpicture_get_size() | ||
6 | |||
7 | (Upstream commit 1d3a3b9f8907625b361420d48fe05716859620ff) | ||
8 | |||
9 | Fixes out of array access | ||
10 | Fixes: asan_heap-oob_22388d0_3435_cov_3297128910_small_roll5_FlashCine1.cine | ||
11 | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind | ||
12 | |||
13 | Upstream-Status: Backport | ||
14 | |||
15 | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> | ||
16 | Signed-off-by: Yue Tao <yue.tao@windriver.com> | ||
17 | --- | ||
18 | libavcodec/rawdec.c | 3 +++ | ||
19 | 1 file changed, 3 insertions(+) | ||
20 | |||
21 | diff --git a/libavcodec/rawdec.c b/libavcodec/rawdec.c | ||
22 | index 28792a1..647dfa9 100644 | ||
23 | --- a/gst-libs/ext/libav/libavcodec/rawdec.c | ||
24 | +++ b/gst-libs/ext/libav/libavcodec/rawdec.c | ||
25 | @@ -87,6 +87,9 @@ static av_cold int raw_init_decoder(AVCodecContext *avctx) | ||
26 | |||
27 | ff_set_systematic_pal2(context->palette, avctx->pix_fmt); | ||
28 | context->length = avpicture_get_size(avctx->pix_fmt, avctx->width, avctx->height); | ||
29 | + if (context->length < 0) | ||
30 | + return context->length; | ||
31 | + | ||
32 | if((avctx->bits_per_coded_sample == 4 || avctx->bits_per_coded_sample == 2) && | ||
33 | avctx->pix_fmt==PIX_FMT_PAL8 && | ||
34 | (!avctx->codec_tag || avctx->codec_tag == MKTAG('r','a','w',' '))){ | ||
35 | -- | ||
36 | 1.7.9.5 | ||
37 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-9603.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-9603.patch deleted file mode 100644 index 5dda4cca2..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/gst-ffmpeg-fix-CVE-2014-9603.patch +++ /dev/null | |||
@@ -1,41 +0,0 @@ | |||
1 | From dc68faf8339a885bc55fabe5b01f1de4f8f3782c Mon Sep 17 00:00:00 2001 | ||
2 | From: Kai Kang <kai.kang@windriver.com> | ||
3 | Date: Wed, 13 May 2015 16:30:53 +0800 | ||
4 | Subject: [PATCH 1/2] gst-ffmpeg: fix CVE-2014-9603 | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | Upstream is version 2.x and vmdav.c is splitted into 2 files vmdaudio.c | ||
9 | and vmdvideo.c. Becuase source code changes, just partly backport commit which | ||
10 | is applicable to version 0.10.13 to fix CVE-2014-9603. | ||
11 | |||
12 | http://git.videolan.org/?p=ffmpeg.git;a=commit;h=3030fb7e0d41836f8add6399e9a7c7b740b48bfd | ||
13 | |||
14 | Signed-off-by: Kai Kang <kai.kang@windriver.com> | ||
15 | --- | ||
16 | gst-libs/ext/libav/libavcodec/vmdav.c | 7 +++++-- | ||
17 | 1 file changed, 5 insertions(+), 2 deletions(-) | ||
18 | |||
19 | diff --git a/gst-libs/ext/libav/libavcodec/vmdav.c b/gst-libs/ext/libav/libavcodec/vmdav.c | ||
20 | index d258252..ba88ad8 100644 | ||
21 | --- a/gst-libs/ext/libav/libavcodec/vmdav.c | ||
22 | +++ b/gst-libs/ext/libav/libavcodec/vmdav.c | ||
23 | @@ -294,10 +294,13 @@ static void vmd_decode(VmdVideoContext *s) | ||
24 | len = *pb++; | ||
25 | if (len & 0x80) { | ||
26 | len = (len & 0x7F) + 1; | ||
27 | - if (*pb++ == 0xFF) | ||
28 | + if (*pb++ == 0xFF) { | ||
29 | len = rle_unpack(pb, &dp[ofs], len, frame_width - ofs); | ||
30 | - else | ||
31 | + } else { | ||
32 | + if (ofs + len > frame_width) | ||
33 | + return; | ||
34 | memcpy(&dp[ofs], pb, len); | ||
35 | + } | ||
36 | pb += len; | ||
37 | ofs += len; | ||
38 | } else { | ||
39 | -- | ||
40 | 1.9.1 | ||
41 | |||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/h264_qpel_mmx.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/h264_qpel_mmx.patch deleted file mode 100644 index ade24dc06..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/h264_qpel_mmx.patch +++ /dev/null | |||
@@ -1,57 +0,0 @@ | |||
1 | Backport http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=5f654897e325349dacf2546674e0510bb72ecb50;hp=250cebeb3b348c3da71f9972eb500d6005dc01f1 | ||
2 | |||
3 | Fixes these errors on x86 | ||
4 | |||
5 | libavcodec/x86/h264_qpel_mmx.c: Assembler messages: | ||
6 | libavcodec/x86/h264_qpel_mmx.c:1294: Error: operand type mismatch for `cmp' | ||
7 | libavcodec/x86/h264_qpel_mmx.c:1294: Error: operand type mismatch for `cmp' | ||
8 | libavcodec/x86/h264_qpel_mmx.c:1298: Error: operand type mismatch for `cmp' | ||
9 | libavcodec/x86/h264_qpel_mmx.c:1298: Error: operand type mismatch for `cmp' | ||
10 | libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp' | ||
11 | libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp' | ||
12 | libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp' | ||
13 | make[5]: *** [libavcodec/x86/dsputil_mmx.o] Error 1 | ||
14 | |||
15 | |||
16 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
17 | Upstream-Status: Backport | ||
18 | Index: gst-ffmpeg-0.10.13/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c | ||
19 | =================================================================== | ||
20 | --- gst-ffmpeg-0.10.13.orig/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c 2012-03-30 11:39:41.324522051 -0700 | ||
21 | +++ gst-ffmpeg-0.10.13/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c 2012-03-30 11:54:08.152564075 -0700 | ||
22 | @@ -398,7 +398,7 @@ | ||
23 | "2: \n\t"\ | ||
24 | \ | ||
25 | : "+a"(src), "+c"(dst)\ | ||
26 | - : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\ | ||
27 | + : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "rm"(h)\ | ||
28 | : "memory"\ | ||
29 | );\ | ||
30 | src += 4-(h+5)*srcStride;\ | ||
31 | @@ -446,7 +446,7 @@ | ||
32 | QPEL_H264HV(%%mm3, %%mm4, %%mm5, %%mm0, %%mm1, %%mm2, 15*48)\ | ||
33 | "2: \n\t"\ | ||
34 | : "+a"(src)\ | ||
35 | - : "c"(tmp), "S"((x86_reg)srcStride), "g"(size)\ | ||
36 | + : "c"(tmp), "S"((x86_reg)srcStride), "rm"(size)\ | ||
37 | : "memory"\ | ||
38 | );\ | ||
39 | tmp += 4;\ | ||
40 | @@ -823,7 +823,7 @@ | ||
41 | "2: \n\t"\ | ||
42 | \ | ||
43 | : "+a"(src), "+c"(dst)\ | ||
44 | - : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\ | ||
45 | + : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "rm"(h)\ | ||
46 | : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \ | ||
47 | "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\ | ||
48 | "memory"\ | ||
49 | @@ -878,7 +878,7 @@ | ||
50 | QPEL_H264HV_XMM(%%xmm3, %%xmm4, %%xmm5, %%xmm0, %%xmm1, %%xmm2, 15*48) | ||
51 | "2: \n\t" | ||
52 | : "+a"(src) | ||
53 | - : "c"(tmp), "S"((x86_reg)srcStride), "g"(size) | ||
54 | + : "c"(tmp), "S"((x86_reg)srcStride), "rm"(size) | ||
55 | : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", | ||
56 | "%xmm4", "%xmm5", "%xmm6", "%xmm7",) | ||
57 | "memory" | ||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/libav-9.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/libav-9.patch deleted file mode 100644 index 186075220..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/libav-9.patch +++ /dev/null | |||
@@ -1,9304 +0,0 @@ | |||
1 | Taken from gentoo patchset: | ||
2 | http://dev.gentoo.org/~tetromino/distfiles/gst-plugins-ffmpeg/gst-ffmpeg-0.10.13_p2012.11-libav-9-patches.tar.xz | ||
3 | |||
4 | Upstream-Status: Pending | ||
5 | |||
6 | Contains following changes, rebased to apply on top of our changes | ||
7 | 0002-Fix-includes-for-systemwide-build.patch | ||
8 | 0003-libav-Switch-to-non-deprecated-symbols.patch | ||
9 | 0005-av-Update-for-some-constant-changes.patch | ||
10 | 0006-av-Remove-palette-support-for-now.patch | ||
11 | 0007-av-Port-remaining-simple-bits.patch | ||
12 | 0008-av-Use-av_codec_is_-en-de-coder-API-instead-of-priva.patch | ||
13 | 0009-avprotocol-Port-from-the-URL-protocol-handler-to-san.patch | ||
14 | 0010-avdec-don-t-wait-for-keyframe.patch | ||
15 | |||
16 | Following changes were skipped: | ||
17 | 0001-Partially-revert-commit-0300801b.patch | ||
18 | 0004-av-update-to-use-AVOption-variants.patch | ||
19 | 0011-av_get_bits_per_sample_format-was-removed-in-libav-9.patch | ||
20 | |||
21 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
22 | |||
23 | diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpeg.c gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpeg.c | ||
24 | --- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpeg.c 2011-10-31 11:14:03.000000000 +0100 | ||
25 | +++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpeg.c 2014-08-08 15:26:07.872857555 +0200 | ||
26 | @@ -151,9 +151,6 @@ | ||
27 | #endif | ||
28 | gst_ffmpegaudioresample_register (plugin); | ||
29 | |||
30 | - av_register_protocol2 (&gstreamer_protocol, sizeof (URLProtocol)); | ||
31 | - av_register_protocol2 (&gstpipe_protocol, sizeof (URLProtocol)); | ||
32 | - | ||
33 | /* Now we can return the pointer to the newly created Plugin object. */ | ||
34 | return TRUE; | ||
35 | } | ||
36 | diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpeg.h gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpeg.h | ||
37 | --- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpeg.h 2011-05-17 10:53:16.000000000 +0200 | ||
38 | +++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpeg.h 2014-08-08 15:26:07.872857555 +0200 | ||
39 | @@ -58,10 +58,13 @@ | ||
40 | int gst_ffmpeg_avcodec_close (AVCodecContext *avctx); | ||
41 | int gst_ffmpeg_av_find_stream_info(AVFormatContext *ic); | ||
42 | |||
43 | -G_END_DECLS | ||
44 | +int gst_ffmpegdata_open (GstPad * pad, int flags, AVIOContext ** context); | ||
45 | +int gst_ffmpegdata_close (AVIOContext * h); | ||
46 | +typedef struct _GstFFMpegPipe GstFFMpegPipe; | ||
47 | +int gst_ffmpeg_pipe_open (GstFFMpegPipe *ffpipe, int flags, AVIOContext ** context); | ||
48 | +int gst_ffmpeg_pipe_close (AVIOContext * h); | ||
49 | |||
50 | -extern URLProtocol gstreamer_protocol; | ||
51 | -extern URLProtocol gstpipe_protocol; | ||
52 | +G_END_DECLS | ||
53 | |||
54 | /* use GST_FFMPEG URL_STREAMHEADER with URL_WRONLY if the first | ||
55 | * buffer should be used as streamheader property on the pad's caps. */ | ||
56 | diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegcfg.c gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegcfg.c | ||
57 | --- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegcfg.c 2011-07-12 16:35:27.000000000 +0200 | ||
58 | +++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegcfg.c 2014-08-08 15:24:17.899853612 +0200 | ||
59 | @@ -147,7 +147,6 @@ | ||
60 | {FF_DCT_FASTINT, "Fast Integer", "fastint"}, | ||
61 | {FF_DCT_INT, "Accurate Integer", "int"}, | ||
62 | {FF_DCT_MMX, "MMX", "mmx"}, | ||
63 | - {FF_DCT_MLIB, "MLIB", "mlib"}, | ||
64 | {FF_DCT_ALTIVEC, "ALTIVEC", "altivec"}, | ||
65 | {FF_DCT_FAAN, "FAAN", "faan"}, | ||
66 | {0, NULL, NULL}, | ||
67 | @@ -173,8 +172,6 @@ | ||
68 | {FF_IDCT_SIMPLE, "Simple", "simple"}, | ||
69 | {FF_IDCT_SIMPLEMMX, "Simple MMX", "simplemmx"}, | ||
70 | {FF_IDCT_LIBMPEG2MMX, "LIBMPEG2MMX", "libmpeg2mmx"}, | ||
71 | - {FF_IDCT_PS2, "PS2", "ps2"}, | ||
72 | - {FF_IDCT_MLIB, "MLIB", "mlib"}, | ||
73 | {FF_IDCT_ARM, "ARM", "arm"}, | ||
74 | {FF_IDCT_ALTIVEC, "ALTIVEC", "altivec"}, | ||
75 | {FF_IDCT_SH4, "SH4", "sh4"}, | ||
76 | @@ -263,16 +260,11 @@ | ||
77 | |||
78 | if (!ffmpeg_flags_type) { | ||
79 | static const GFlagsValue ffmpeg_flags[] = { | ||
80 | - {CODEC_FLAG_OBMC, "Use overlapped block motion compensation (h263+)", | ||
81 | - "obmc"}, | ||
82 | {CODEC_FLAG_QSCALE, "Use fixed qscale", "qscale"}, | ||
83 | {CODEC_FLAG_4MV, "Allow 4 MV per MB", "4mv"}, | ||
84 | - {CODEC_FLAG_H263P_AIV, "H.263 alternative inter VLC", "aiv"}, | ||
85 | {CODEC_FLAG_QPEL, "Quartel Pel Motion Compensation", "qpel"}, | ||
86 | {CODEC_FLAG_GMC, "GMC", "gmc"}, | ||
87 | {CODEC_FLAG_MV0, "Always try a MB with MV (0,0)", "mv0"}, | ||
88 | - {CODEC_FLAG_PART, | ||
89 | - "Store MV, DC and AC coefficients in seperate partitions", "part"}, | ||
90 | {CODEC_FLAG_LOOP_FILTER, "Loop filter", "loop-filter"}, | ||
91 | {CODEC_FLAG_GRAY, "Only decode/encode grayscale", "gray"}, | ||
92 | {CODEC_FLAG_NORMALIZE_AQP, | ||
93 | @@ -282,13 +274,9 @@ | ||
94 | "global-headers"}, | ||
95 | {CODEC_FLAG_AC_PRED, "H263 Advanced Intra Coding / MPEG4 AC prediction", | ||
96 | "aic"}, | ||
97 | - {CODEC_FLAG_H263P_UMV, "Unlimited Motion Vector", "umv"}, | ||
98 | {CODEC_FLAG_CBP_RD, "Rate Distoration Optimization for CBP", "cbp-rd"}, | ||
99 | {CODEC_FLAG_QP_RD, "Rate Distoration Optimization for QP selection", | ||
100 | "qp-rd"}, | ||
101 | - {CODEC_FLAG_H263P_SLICE_STRUCT, "H263 slice struct", "ss"}, | ||
102 | - {CODEC_FLAG_SVCD_SCAN_OFFSET, | ||
103 | - "Reserve space for SVCD scan offset user data", "scanoffset"}, | ||
104 | {CODEC_FLAG_CLOSED_GOP, "Closed GOP", "closedgop"}, | ||
105 | {0, NULL, NULL}, | ||
106 | }; | ||
107 | diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegcodecmap.c gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegcodecmap.c | ||
108 | --- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegcodecmap.c 2011-10-31 11:14:03.000000000 +0100 | ||
109 | +++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegcodecmap.c 2014-08-08 15:31:30.968869139 +0200 | ||
110 | @@ -25,8 +25,10 @@ | ||
111 | #include <gst/gst.h> | ||
112 | #ifdef HAVE_FFMPEG_UNINSTALLED | ||
113 | #include <avcodec.h> | ||
114 | +#include <channel_layout.h> | ||
115 | #else | ||
116 | #include <libavcodec/avcodec.h> | ||
117 | +#include <libavutil/channel_layout.h> | ||
118 | #endif | ||
119 | #include <string.h> | ||
120 | |||
121 | @@ -35,43 +37,6 @@ | ||
122 | |||
123 | #include <gst/pbutils/codec-utils.h> | ||
124 | |||
125 | -/* | ||
126 | - * Read a palette from a caps. | ||
127 | - */ | ||
128 | - | ||
129 | -static void | ||
130 | -gst_ffmpeg_get_palette (const GstCaps * caps, AVCodecContext * context) | ||
131 | -{ | ||
132 | - GstStructure *str = gst_caps_get_structure (caps, 0); | ||
133 | - const GValue *palette_v; | ||
134 | - const GstBuffer *palette; | ||
135 | - | ||
136 | - /* do we have a palette? */ | ||
137 | - if ((palette_v = gst_structure_get_value (str, "palette_data")) && context) { | ||
138 | - palette = gst_value_get_buffer (palette_v); | ||
139 | - if (GST_BUFFER_SIZE (palette) >= AVPALETTE_SIZE) { | ||
140 | - if (context->palctrl) | ||
141 | - av_free (context->palctrl); | ||
142 | - context->palctrl = av_malloc (sizeof (AVPaletteControl)); | ||
143 | - context->palctrl->palette_changed = 1; | ||
144 | - memcpy (context->palctrl->palette, GST_BUFFER_DATA (palette), | ||
145 | - AVPALETTE_SIZE); | ||
146 | - } | ||
147 | - } | ||
148 | -} | ||
149 | - | ||
150 | -static void | ||
151 | -gst_ffmpeg_set_palette (GstCaps * caps, AVCodecContext * context) | ||
152 | -{ | ||
153 | - if (context->palctrl) { | ||
154 | - GstBuffer *palette = gst_buffer_new_and_alloc (AVPALETTE_SIZE); | ||
155 | - | ||
156 | - memcpy (GST_BUFFER_DATA (palette), context->palctrl->palette, | ||
157 | - AVPALETTE_SIZE); | ||
158 | - gst_caps_set_simple (caps, "palette_data", GST_TYPE_BUFFER, palette, NULL); | ||
159 | - } | ||
160 | -} | ||
161 | - | ||
162 | /* IMPORTANT: Keep this sorted by the ffmpeg channel masks */ | ||
163 | static const struct | ||
164 | { | ||
165 | @@ -79,26 +44,26 @@ | ||
166 | GstAudioChannelPosition gst; | ||
167 | } _ff_to_gst_layout[] = { | ||
168 | { | ||
169 | - CH_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT}, { | ||
170 | - CH_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT}, { | ||
171 | - CH_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER}, { | ||
172 | - CH_LOW_FREQUENCY, GST_AUDIO_CHANNEL_POSITION_LFE}, { | ||
173 | - CH_BACK_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT}, { | ||
174 | - CH_BACK_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT}, { | ||
175 | - CH_FRONT_LEFT_OF_CENTER, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER}, { | ||
176 | - CH_FRONT_RIGHT_OF_CENTER, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER}, { | ||
177 | - CH_BACK_CENTER, GST_AUDIO_CHANNEL_POSITION_REAR_CENTER}, { | ||
178 | - CH_SIDE_LEFT, GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT}, { | ||
179 | - CH_SIDE_RIGHT, GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT}, { | ||
180 | - CH_TOP_CENTER, GST_AUDIO_CHANNEL_POSITION_NONE}, { | ||
181 | - CH_TOP_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_NONE}, { | ||
182 | - CH_TOP_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_NONE}, { | ||
183 | - CH_TOP_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_NONE}, { | ||
184 | - CH_TOP_BACK_LEFT, GST_AUDIO_CHANNEL_POSITION_NONE}, { | ||
185 | - CH_TOP_BACK_CENTER, GST_AUDIO_CHANNEL_POSITION_NONE}, { | ||
186 | - CH_TOP_BACK_RIGHT, GST_AUDIO_CHANNEL_POSITION_NONE}, { | ||
187 | - CH_STEREO_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT}, { | ||
188 | - CH_STEREO_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT} | ||
189 | + AV_CH_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT}, { | ||
190 | + AV_CH_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT}, { | ||
191 | + AV_CH_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER}, { | ||
192 | + AV_CH_LOW_FREQUENCY, GST_AUDIO_CHANNEL_POSITION_LFE}, { | ||
193 | + AV_CH_BACK_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT}, { | ||
194 | + AV_CH_BACK_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT}, { | ||
195 | + AV_CH_FRONT_LEFT_OF_CENTER, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER}, { | ||
196 | + AV_CH_FRONT_RIGHT_OF_CENTER, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER}, { | ||
197 | + AV_CH_BACK_CENTER, GST_AUDIO_CHANNEL_POSITION_REAR_CENTER}, { | ||
198 | + AV_CH_SIDE_LEFT, GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT}, { | ||
199 | + AV_CH_SIDE_RIGHT, GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT}, { | ||
200 | + AV_CH_TOP_CENTER, GST_AUDIO_CHANNEL_POSITION_NONE}, { | ||
201 | + AV_CH_TOP_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_NONE}, { | ||
202 | + AV_CH_TOP_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_NONE}, { | ||
203 | + AV_CH_TOP_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_NONE}, { | ||
204 | + AV_CH_TOP_BACK_LEFT, GST_AUDIO_CHANNEL_POSITION_NONE}, { | ||
205 | + AV_CH_TOP_BACK_CENTER, GST_AUDIO_CHANNEL_POSITION_NONE}, { | ||
206 | + AV_CH_TOP_BACK_RIGHT, GST_AUDIO_CHANNEL_POSITION_NONE}, { | ||
207 | + AV_CH_STEREO_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT}, { | ||
208 | + AV_CH_STEREO_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT} | ||
209 | }; | ||
210 | |||
211 | static GstAudioChannelPosition * | ||
212 | @@ -342,8 +307,8 @@ | ||
213 | |||
214 | if (channel_layout == 0) { | ||
215 | const guint64 default_channel_set[] = { | ||
216 | - 0, 0, CH_LAYOUT_SURROUND, CH_LAYOUT_QUAD, CH_LAYOUT_5POINT0, | ||
217 | - CH_LAYOUT_5POINT1, 0, CH_LAYOUT_7POINT1 | ||
218 | + 0, 0, AV_CH_LAYOUT_SURROUND, AV_CH_LAYOUT_QUAD, AV_CH_LAYOUT_5POINT0, | ||
219 | + AV_CH_LAYOUT_5POINT1, 0, AV_CH_LAYOUT_7POINT1 | ||
220 | }; | ||
221 | |||
222 | switch (codec_id) { | ||
223 | @@ -1267,8 +1232,6 @@ | ||
224 | case CODEC_ID_FLIC: | ||
225 | case CODEC_ID_VMDVIDEO: | ||
226 | case CODEC_ID_VMDAUDIO: | ||
227 | - case CODEC_ID_SONIC: | ||
228 | - case CODEC_ID_SONIC_LS: | ||
229 | case CODEC_ID_SNOW: | ||
230 | case CODEC_ID_VIXL: | ||
231 | case CODEC_ID_QPEG: | ||
232 | @@ -1689,11 +1652,6 @@ | ||
233 | gst_buffer_unref (data); | ||
234 | } | ||
235 | |||
236 | - /* palette */ | ||
237 | - if (context) { | ||
238 | - gst_ffmpeg_set_palette (caps, context); | ||
239 | - } | ||
240 | - | ||
241 | GST_LOG ("caps for codec_id=%d: %" GST_PTR_FORMAT, codec_id, caps); | ||
242 | |||
243 | } else { | ||
244 | @@ -1830,9 +1788,6 @@ | ||
245 | "bpp", G_TYPE_INT, bpp, | ||
246 | "depth", G_TYPE_INT, depth, | ||
247 | "endianness", G_TYPE_INT, endianness, NULL); | ||
248 | - if (caps && context) { | ||
249 | - gst_ffmpeg_set_palette (caps, context); | ||
250 | - } | ||
251 | } | ||
252 | } else if (fmt) { | ||
253 | caps = gst_ff_vid_caps_new (context, codec_id, "video/x-raw-yuv", | ||
254 | @@ -1857,7 +1812,7 @@ | ||
255 | */ | ||
256 | |||
257 | static GstCaps * | ||
258 | -gst_ffmpeg_smpfmt_to_caps (enum SampleFormat sample_fmt, | ||
259 | +gst_ffmpeg_smpfmt_to_caps (enum AVSampleFormat sample_fmt, | ||
260 | AVCodecContext * context, enum CodecID codec_id) | ||
261 | { | ||
262 | GstCaps *caps = NULL; | ||
263 | @@ -1867,22 +1822,22 @@ | ||
264 | gboolean signedness = FALSE; | ||
265 | |||
266 | switch (sample_fmt) { | ||
267 | - case SAMPLE_FMT_S16: | ||
268 | + case AV_SAMPLE_FMT_S16: | ||
269 | signedness = TRUE; | ||
270 | bpp = 16; | ||
271 | break; | ||
272 | |||
273 | - case SAMPLE_FMT_S32: | ||
274 | + case AV_SAMPLE_FMT_S32: | ||
275 | signedness = TRUE; | ||
276 | bpp = 32; | ||
277 | break; | ||
278 | |||
279 | - case SAMPLE_FMT_FLT: | ||
280 | + case AV_SAMPLE_FMT_FLT: | ||
281 | integer = FALSE; | ||
282 | bpp = 32; | ||
283 | break; | ||
284 | |||
285 | - case SAMPLE_FMT_DBL: | ||
286 | + case AV_SAMPLE_FMT_DBL: | ||
287 | integer = FALSE; | ||
288 | bpp = 64; | ||
289 | break; | ||
290 | @@ -1941,12 +1896,12 @@ | ||
291 | } | ||
292 | } else { | ||
293 | GstCaps *temp; | ||
294 | - enum SampleFormat i; | ||
295 | + enum AVSampleFormat i; | ||
296 | AVCodecContext ctx = { 0, }; | ||
297 | |||
298 | ctx.channels = -1; | ||
299 | caps = gst_caps_new_empty (); | ||
300 | - for (i = 0; i <= SAMPLE_FMT_DBL; i++) { | ||
301 | + for (i = 0; i <= AV_SAMPLE_FMT_DBL; i++) { | ||
302 | temp = gst_ffmpeg_smpfmt_to_caps (i, encode ? &ctx : NULL, codec_id); | ||
303 | if (temp != NULL) { | ||
304 | gst_caps_append (caps, temp); | ||
305 | @@ -2049,9 +2004,9 @@ | ||
306 | gst_structure_get_int (structure, "endianness", &endianness)) { | ||
307 | if (endianness == G_BYTE_ORDER) { | ||
308 | if (width == 32) | ||
309 | - context->sample_fmt = SAMPLE_FMT_FLT; | ||
310 | + context->sample_fmt = AV_SAMPLE_FMT_FLT; | ||
311 | else if (width == 64) | ||
312 | - context->sample_fmt = SAMPLE_FMT_DBL; | ||
313 | + context->sample_fmt = AV_SAMPLE_FMT_DBL; | ||
314 | } | ||
315 | } | ||
316 | } else { | ||
317 | @@ -2062,9 +2017,9 @@ | ||
318 | gst_structure_get_int (structure, "endianness", &endianness)) { | ||
319 | if ((endianness == G_BYTE_ORDER) && (signedness == TRUE)) { | ||
320 | if ((width == 16) && (depth == 16)) | ||
321 | - context->sample_fmt = SAMPLE_FMT_S16; | ||
322 | + context->sample_fmt = AV_SAMPLE_FMT_S16; | ||
323 | else if ((width == 32) && (depth == 32)) | ||
324 | - context->sample_fmt = SAMPLE_FMT_S32; | ||
325 | + context->sample_fmt = AV_SAMPLE_FMT_S32; | ||
326 | } | ||
327 | } | ||
328 | } | ||
329 | @@ -2190,7 +2145,6 @@ | ||
330 | } else { | ||
331 | if (bpp == 8) { | ||
332 | context->pix_fmt = PIX_FMT_PAL8; | ||
333 | - gst_ffmpeg_get_palette (caps, context); | ||
334 | } | ||
335 | } | ||
336 | } | ||
337 | @@ -2576,7 +2530,6 @@ | ||
338 | switch (codec_type) { | ||
339 | case AVMEDIA_TYPE_VIDEO: | ||
340 | gst_ffmpeg_caps_to_pixfmt (caps, context, codec_id == CODEC_ID_RAWVIDEO); | ||
341 | - gst_ffmpeg_get_palette (caps, context); | ||
342 | break; | ||
343 | case AVMEDIA_TYPE_AUDIO: | ||
344 | gst_ffmpeg_caps_to_smpfmt (caps, context, FALSE); | ||
345 | diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegcodecmap.c.orig gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegcodecmap.c.orig | ||
346 | --- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegcodecmap.c.orig 1970-01-01 01:00:00.000000000 +0100 | ||
347 | +++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegcodecmap.c.orig 2014-08-08 15:30:34.006867097 +0200 | ||
348 | @@ -0,0 +1,3447 @@ | ||
349 | +/* GStreamer | ||
350 | + * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu> | ||
351 | + * This file: | ||
352 | + * Copyright (c) 2002-2004 Ronald Bultje <rbultje@ronald.bitfreak.net> | ||
353 | + * | ||
354 | + * This library is free software; you can redistribute it and/or | ||
355 | + * modify it under the terms of the GNU Library General Public | ||
356 | + * License as published by the Free Software Foundation; either | ||
357 | + * version 2 of the License, or (at your option) any later version. | ||
358 | + * | ||
359 | + * This library is distributed in the hope that it will be useful, | ||
360 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
361 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
362 | + * Library General Public License for more details. | ||
363 | + * | ||
364 | + * You should have received a copy of the GNU Library General Public | ||
365 | + * License along with this library; if not, write to the | ||
366 | + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
367 | + * Boston, MA 02111-1307, USA. | ||
368 | + */ | ||
369 | + | ||
370 | +#ifdef HAVE_CONFIG_H | ||
371 | +#include "config.h" | ||
372 | +#endif | ||
373 | +#include <gst/gst.h> | ||
374 | +#ifdef HAVE_FFMPEG_UNINSTALLED | ||
375 | +#include <avcodec.h> | ||
376 | +#include <channel_layout.h>> | ||
377 | +#else | ||
378 | +#include <libavcodec/avcodec.h> | ||
379 | +#include <libavutil/channel_layout.h> | ||
380 | +#endif | ||
381 | +#include <string.h> | ||
382 | + | ||
383 | +#include "gstffmpeg.h" | ||
384 | +#include "gstffmpegcodecmap.h" | ||
385 | + | ||
386 | +#include <gst/pbutils/codec-utils.h> | ||
387 | + | ||
388 | +/* | ||
389 | + * Read a palette from a caps. | ||
390 | + */ | ||
391 | + | ||
392 | +static void | ||
393 | +gst_ffmpeg_get_palette (const GstCaps * caps, AVCodecContext * context) | ||
394 | +{ | ||
395 | + GstStructure *str = gst_caps_get_structure (caps, 0); | ||
396 | + const GValue *palette_v; | ||
397 | + const GstBuffer *palette; | ||
398 | + | ||
399 | + /* do we have a palette? */ | ||
400 | + if ((palette_v = gst_structure_get_value (str, "palette_data")) && context) { | ||
401 | + palette = gst_value_get_buffer (palette_v); | ||
402 | + if (GST_BUFFER_SIZE (palette) >= AVPALETTE_SIZE) { | ||
403 | + if (context->palctrl) | ||
404 | + av_free (context->palctrl); | ||
405 | + context->palctrl = av_malloc (sizeof (AVPaletteControl)); | ||
406 | + context->palctrl->palette_changed = 1; | ||
407 | + memcpy (context->palctrl->palette, GST_BUFFER_DATA (palette), | ||
408 | + AVPALETTE_SIZE); | ||
409 | + } | ||
410 | + } | ||
411 | +} | ||
412 | + | ||
413 | +static void | ||
414 | +gst_ffmpeg_set_palette (GstCaps * caps, AVCodecContext * context) | ||
415 | +{ | ||
416 | + if (context->palctrl) { | ||
417 | + GstBuffer *palette = gst_buffer_new_and_alloc (AVPALETTE_SIZE); | ||
418 | + | ||
419 | + memcpy (GST_BUFFER_DATA (palette), context->palctrl->palette, | ||
420 | + AVPALETTE_SIZE); | ||
421 | + gst_caps_set_simple (caps, "palette_data", GST_TYPE_BUFFER, palette, NULL); | ||
422 | + } | ||
423 | +} | ||
424 | + | ||
425 | +/* IMPORTANT: Keep this sorted by the ffmpeg channel masks */ | ||
426 | +static const struct | ||
427 | +{ | ||
428 | + guint64 ff; | ||
429 | + GstAudioChannelPosition gst; | ||
430 | +} _ff_to_gst_layout[] = { | ||
431 | + { | ||
432 | + AV_CH_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT}, { | ||
433 | + AV_CH_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT}, { | ||
434 | + AV_CH_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER}, { | ||
435 | + AV_CH_LOW_FREQUENCY, GST_AUDIO_CHANNEL_POSITION_LFE}, { | ||
436 | + AV_CH_BACK_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT}, { | ||
437 | + AV_CH_BACK_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT}, { | ||
438 | + AV_CH_FRONT_LEFT_OF_CENTER, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER}, { | ||
439 | + AV_CH_FRONT_RIGHT_OF_CENTER, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER}, { | ||
440 | + AV_CH_BACK_CENTER, GST_AUDIO_CHANNEL_POSITION_REAR_CENTER}, { | ||
441 | + AV_CH_SIDE_LEFT, GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT}, { | ||
442 | + AV_CH_SIDE_RIGHT, GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT}, { | ||
443 | + AV_CH_TOP_CENTER, GST_AUDIO_CHANNEL_POSITION_NONE}, { | ||
444 | + AV_CH_TOP_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_NONE}, { | ||
445 | + AV_CH_TOP_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_NONE}, { | ||
446 | + AV_CH_TOP_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_NONE}, { | ||
447 | + AV_CH_TOP_BACK_LEFT, GST_AUDIO_CHANNEL_POSITION_NONE}, { | ||
448 | + AV_CH_TOP_BACK_CENTER, GST_AUDIO_CHANNEL_POSITION_NONE}, { | ||
449 | + AV_CH_TOP_BACK_RIGHT, GST_AUDIO_CHANNEL_POSITION_NONE}, { | ||
450 | + AV_CH_STEREO_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT}, { | ||
451 | + AV_CH_STEREO_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT} | ||
452 | +}; | ||
453 | + | ||
454 | +static GstAudioChannelPosition * | ||
455 | +gst_ff_channel_layout_to_gst (guint64 channel_layout, guint channels) | ||
456 | +{ | ||
457 | + guint nchannels = 0, i, j; | ||
458 | + GstAudioChannelPosition *pos = NULL; | ||
459 | + gboolean none_layout = FALSE; | ||
460 | + | ||
461 | + for (i = 0; i < 64; i++) { | ||
462 | + if ((channel_layout & (G_GUINT64_CONSTANT (1) << i)) != 0) { | ||
463 | + nchannels++; | ||
464 | + } | ||
465 | + } | ||
466 | + | ||
467 | + if (channel_layout == 0) { | ||
468 | + nchannels = channels; | ||
469 | + none_layout = TRUE; | ||
470 | + } | ||
471 | + | ||
472 | + if (nchannels != channels) { | ||
473 | + GST_ERROR ("Number of channels is different (%u != %u)", channels, | ||
474 | + nchannels); | ||
475 | + return NULL; | ||
476 | + } | ||
477 | + | ||
478 | + pos = g_new (GstAudioChannelPosition, nchannels); | ||
479 | + | ||
480 | + for (i = 0, j = 0; i < G_N_ELEMENTS (_ff_to_gst_layout); i++) { | ||
481 | + if ((channel_layout & _ff_to_gst_layout[i].ff) != 0) { | ||
482 | + pos[j++] = _ff_to_gst_layout[i].gst; | ||
483 | + | ||
484 | + if (_ff_to_gst_layout[i].gst == GST_AUDIO_CHANNEL_POSITION_NONE) | ||
485 | + none_layout = TRUE; | ||
486 | + } | ||
487 | + } | ||
488 | + | ||
489 | + if (j != nchannels) { | ||
490 | + GST_WARNING ("Unknown channels in channel layout - assuming NONE layout"); | ||
491 | + none_layout = TRUE; | ||
492 | + } | ||
493 | + | ||
494 | + if (!none_layout && !gst_audio_check_channel_positions (pos, nchannels)) { | ||
495 | + GST_ERROR ("Invalid channel layout %" G_GUINT64_FORMAT | ||
496 | + " - assuming NONE layout", channel_layout); | ||
497 | + none_layout = TRUE; | ||
498 | + } | ||
499 | + | ||
500 | + if (none_layout) { | ||
501 | + if (nchannels == 1) { | ||
502 | + pos[0] = GST_AUDIO_CHANNEL_POSITION_FRONT_MONO; | ||
503 | + } else if (nchannels == 2) { | ||
504 | + pos[0] = GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT; | ||
505 | + pos[1] = GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT; | ||
506 | + } else if (channel_layout == 0) { | ||
507 | + g_free (pos); | ||
508 | + pos = NULL; | ||
509 | + } else { | ||
510 | + for (i = 0; i < nchannels; i++) | ||
511 | + pos[i] = GST_AUDIO_CHANNEL_POSITION_NONE; | ||
512 | + } | ||
513 | + } | ||
514 | + | ||
515 | + if (nchannels == 1 && pos[0] == GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER) { | ||
516 | + GST_DEBUG ("mono common case; won't set channel positions"); | ||
517 | + g_free (pos); | ||
518 | + pos = NULL; | ||
519 | + } else if (nchannels == 2 && pos[0] == GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT | ||
520 | + && pos[1] == GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT) { | ||
521 | + GST_DEBUG ("stereo common case; won't set channel positions"); | ||
522 | + g_free (pos); | ||
523 | + pos = NULL; | ||
524 | + } | ||
525 | + | ||
526 | + return pos; | ||
527 | +} | ||
528 | + | ||
529 | +/* this macro makes a caps width fixed or unfixed width/height | ||
530 | + * properties depending on whether we've got a context. | ||
531 | + * | ||
532 | + * See below for why we use this. | ||
533 | + * | ||
534 | + * We should actually do this stuff at the end, like in riff-media.c, | ||
535 | + * but I'm too lazy today. Maybe later. | ||
536 | + */ | ||
537 | +static GstCaps * | ||
538 | +gst_ff_vid_caps_new (AVCodecContext * context, enum CodecID codec_id, | ||
539 | + const char *mimetype, const char *fieldname, ...) | ||
540 | +{ | ||
541 | + GstStructure *structure = NULL; | ||
542 | + GstCaps *caps = NULL; | ||
543 | + va_list var_args; | ||
544 | + gint i; | ||
545 | + | ||
546 | + GST_LOG ("context:%p, codec_id:%d, mimetype:%s", context, codec_id, mimetype); | ||
547 | + | ||
548 | + /* fixed, non probing context */ | ||
549 | + if (context != NULL && context->width != -1) { | ||
550 | + gint num, denom; | ||
551 | + | ||
552 | + caps = gst_caps_new_simple (mimetype, | ||
553 | + "width", G_TYPE_INT, context->width, | ||
554 | + "height", G_TYPE_INT, context->height, NULL); | ||
555 | + | ||
556 | + num = context->time_base.den / context->ticks_per_frame; | ||
557 | + denom = context->time_base.num; | ||
558 | + | ||
559 | + if (!denom) { | ||
560 | + GST_LOG ("invalid framerate: %d/0, -> %d/1", num, num); | ||
561 | + denom = 1; | ||
562 | + } | ||
563 | + if (gst_util_fraction_compare (num, denom, 1000, 1) > 0) { | ||
564 | + GST_LOG ("excessive framerate: %d/%d, -> 0/1", num, denom); | ||
565 | + num = 0; | ||
566 | + denom = 1; | ||
567 | + } | ||
568 | + GST_LOG ("setting framerate: %d/%d", num, denom); | ||
569 | + gst_caps_set_simple (caps, | ||
570 | + "framerate", GST_TYPE_FRACTION, num, denom, NULL); | ||
571 | + } else { | ||
572 | + /* so we are after restricted caps in this case */ | ||
573 | + switch (codec_id) { | ||
574 | + case CODEC_ID_H261: | ||
575 | + { | ||
576 | + caps = gst_caps_new_simple (mimetype, | ||
577 | + "width", G_TYPE_INT, 352, | ||
578 | + "height", G_TYPE_INT, 288, | ||
579 | + "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL); | ||
580 | + gst_caps_append (caps, gst_caps_new_simple (mimetype, | ||
581 | + "width", G_TYPE_INT, 176, | ||
582 | + "height", G_TYPE_INT, 144, | ||
583 | + "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL)); | ||
584 | + break; | ||
585 | + } | ||
586 | + case CODEC_ID_H263: | ||
587 | + { | ||
588 | + /* 128x96, 176x144, 352x288, 704x576, and 1408x1152. slightly reordered | ||
589 | + * because we want automatic negotiation to go as close to 320x240 as | ||
590 | + * possible. */ | ||
591 | + const static gint widths[] = { 352, 704, 176, 1408, 128 }; | ||
592 | + const static gint heights[] = { 288, 576, 144, 1152, 96 }; | ||
593 | + GstCaps *temp; | ||
594 | + gint n_sizes = G_N_ELEMENTS (widths); | ||
595 | + | ||
596 | + caps = gst_caps_new_empty (); | ||
597 | + for (i = 0; i < n_sizes; i++) { | ||
598 | + temp = gst_caps_new_simple (mimetype, | ||
599 | + "width", G_TYPE_INT, widths[i], | ||
600 | + "height", G_TYPE_INT, heights[i], | ||
601 | + "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL); | ||
602 | + | ||
603 | + gst_caps_append (caps, temp); | ||
604 | + } | ||
605 | + break; | ||
606 | + } | ||
607 | + case CODEC_ID_DVVIDEO: | ||
608 | + { | ||
609 | + static struct | ||
610 | + { | ||
611 | + guint32 csp; | ||
612 | + gint width, height; | ||
613 | + gint par_n, par_d; | ||
614 | + gint framerate_n, framerate_d; | ||
615 | + } profiles[] = { | ||
616 | + { | ||
617 | + GST_MAKE_FOURCC ('Y', '4', '1', 'B'), 720, 480, 10, 11, 30000, 1001}, { | ||
618 | + GST_MAKE_FOURCC ('Y', '4', '1', 'B'), 720, 480, 40, 33, 30000, 1001}, { | ||
619 | + GST_MAKE_FOURCC ('I', '4', '2', '0'), 720, 576, 59, 54, 25, 1}, { | ||
620 | + GST_MAKE_FOURCC ('I', '4', '2', '0'), 720, 576, 118, 81, 25, 1}, { | ||
621 | + GST_MAKE_FOURCC ('Y', '4', '1', 'B'), 720, 576, 59, 54, 25, 1}, { | ||
622 | + GST_MAKE_FOURCC ('Y', '4', '1', 'B'), 720, 576, 118, 81, 25, 1} | ||
623 | + }; | ||
624 | + GstCaps *temp; | ||
625 | + gint n_sizes = G_N_ELEMENTS (profiles); | ||
626 | + | ||
627 | + caps = gst_caps_new_empty (); | ||
628 | + for (i = 0; i < n_sizes; i++) { | ||
629 | + temp = gst_caps_new_simple (mimetype, | ||
630 | + "width", G_TYPE_INT, profiles[i].width, | ||
631 | + "height", G_TYPE_INT, profiles[i].height, | ||
632 | + "framerate", GST_TYPE_FRACTION, profiles[i].framerate_n, | ||
633 | + profiles[i].framerate_d, "pixel-aspect-ratio", GST_TYPE_FRACTION, | ||
634 | + profiles[i].par_n, profiles[i].par_d, NULL); | ||
635 | + | ||
636 | + gst_caps_append (caps, temp); | ||
637 | + } | ||
638 | + break; | ||
639 | + } | ||
640 | + case CODEC_ID_DNXHD: | ||
641 | + { | ||
642 | + caps = gst_caps_new_simple (mimetype, | ||
643 | + "width", G_TYPE_INT, 1920, | ||
644 | + "height", G_TYPE_INT, 1080, | ||
645 | + "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL); | ||
646 | + gst_caps_append (caps, gst_caps_new_simple (mimetype, | ||
647 | + "width", G_TYPE_INT, 1280, | ||
648 | + "height", G_TYPE_INT, 720, | ||
649 | + "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL)); | ||
650 | + break; | ||
651 | + } | ||
652 | + default: | ||
653 | + break; | ||
654 | + } | ||
655 | + } | ||
656 | + | ||
657 | + /* no fixed caps or special restrictions applied; | ||
658 | + * default unfixed setting */ | ||
659 | + if (!caps) { | ||
660 | + GST_DEBUG ("Creating default caps"); | ||
661 | + caps = gst_caps_new_simple (mimetype, | ||
662 | + "width", GST_TYPE_INT_RANGE, 16, 4096, | ||
663 | + "height", GST_TYPE_INT_RANGE, 16, 4096, | ||
664 | + "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL); | ||
665 | + } | ||
666 | + | ||
667 | + for (i = 0; i < gst_caps_get_size (caps); i++) { | ||
668 | + va_start (var_args, fieldname); | ||
669 | + structure = gst_caps_get_structure (caps, i); | ||
670 | + gst_structure_set_valist (structure, fieldname, var_args); | ||
671 | + va_end (var_args); | ||
672 | + } | ||
673 | + | ||
674 | + return caps; | ||
675 | +} | ||
676 | + | ||
677 | +/* same for audio - now with channels/sample rate | ||
678 | + */ | ||
679 | +static GstCaps * | ||
680 | +gst_ff_aud_caps_new (AVCodecContext * context, enum CodecID codec_id, | ||
681 | + const char *mimetype, const char *fieldname, ...) | ||
682 | +{ | ||
683 | + GstCaps *caps = NULL; | ||
684 | + GstStructure *structure = NULL; | ||
685 | + gint i; | ||
686 | + va_list var_args; | ||
687 | + | ||
688 | + /* fixed, non-probing context */ | ||
689 | + if (context != NULL && context->channels != -1) { | ||
690 | + GstAudioChannelPosition *pos; | ||
691 | + guint64 channel_layout = context->channel_layout; | ||
692 | + | ||
693 | + if (channel_layout == 0) { | ||
694 | + const guint64 default_channel_set[] = { | ||
695 | + 0, 0, AV_CH_LAYOUT_SURROUND, AV_CH_LAYOUT_QUAD, AV_CH_LAYOUT_5POINT0, | ||
696 | + AV_CH_LAYOUT_5POINT1, 0, AV_CH_LAYOUT_7POINT1 | ||
697 | + }; | ||
698 | + | ||
699 | + switch (codec_id) { | ||
700 | + case CODEC_ID_EAC3: | ||
701 | + case CODEC_ID_AC3: | ||
702 | + case CODEC_ID_DTS: | ||
703 | + if (context->channels > 0 | ||
704 | + && context->channels < G_N_ELEMENTS (default_channel_set)) | ||
705 | + channel_layout = default_channel_set[context->channels - 1]; | ||
706 | + break; | ||
707 | + default: | ||
708 | + break; | ||
709 | + } | ||
710 | + } | ||
711 | + | ||
712 | + caps = gst_caps_new_simple (mimetype, | ||
713 | + "rate", G_TYPE_INT, context->sample_rate, | ||
714 | + "channels", G_TYPE_INT, context->channels, NULL); | ||
715 | + | ||
716 | + pos = gst_ff_channel_layout_to_gst (channel_layout, context->channels); | ||
717 | + if (pos != NULL) { | ||
718 | + gst_audio_set_channel_positions (gst_caps_get_structure (caps, 0), pos); | ||
719 | + g_free (pos); | ||
720 | + } | ||
721 | + } else { | ||
722 | + gint maxchannels = 2; | ||
723 | + const gint *rates = NULL; | ||
724 | + gint n_rates = 0; | ||
725 | + | ||
726 | + /* so we must be after restricted caps in this case */ | ||
727 | + switch (codec_id) { | ||
728 | + case CODEC_ID_AAC: | ||
729 | + case CODEC_ID_AAC_LATM: | ||
730 | + case CODEC_ID_DTS: | ||
731 | + maxchannels = 6; | ||
732 | + break; | ||
733 | + case CODEC_ID_MP2: | ||
734 | + { | ||
735 | + const static gint l_rates[] = | ||
736 | + { 48000, 44100, 32000, 24000, 22050, 16000 }; | ||
737 | + n_rates = G_N_ELEMENTS (l_rates); | ||
738 | + rates = l_rates; | ||
739 | + break; | ||
740 | + } | ||
741 | + case CODEC_ID_EAC3: | ||
742 | + case CODEC_ID_AC3: | ||
743 | + { | ||
744 | + const static gint l_rates[] = { 48000, 44100, 32000 }; | ||
745 | + maxchannels = 6; | ||
746 | + n_rates = G_N_ELEMENTS (l_rates); | ||
747 | + rates = l_rates; | ||
748 | + break; | ||
749 | + } | ||
750 | + case CODEC_ID_ADPCM_G722: | ||
751 | + { | ||
752 | + const static gint l_rates[] = { 16000 }; | ||
753 | + n_rates = G_N_ELEMENTS (l_rates); | ||
754 | + rates = l_rates; | ||
755 | + maxchannels = 1; | ||
756 | + break; | ||
757 | + } | ||
758 | + case CODEC_ID_ADPCM_G726: | ||
759 | + { | ||
760 | + const static gint l_rates[] = { 8000 }; | ||
761 | + n_rates = G_N_ELEMENTS (l_rates); | ||
762 | + rates = l_rates; | ||
763 | + maxchannels = 1; | ||
764 | + break; | ||
765 | + } | ||
766 | + case CODEC_ID_ADPCM_SWF: | ||
767 | + { | ||
768 | + const static gint l_rates[] = { 11025, 22050, 44100 }; | ||
769 | + n_rates = G_N_ELEMENTS (l_rates); | ||
770 | + rates = l_rates; | ||
771 | + break; | ||
772 | + } | ||
773 | + case CODEC_ID_ROQ_DPCM: | ||
774 | + { | ||
775 | + const static gint l_rates[] = { 22050 }; | ||
776 | + n_rates = G_N_ELEMENTS (l_rates); | ||
777 | + rates = l_rates; | ||
778 | + break; | ||
779 | + } | ||
780 | + case CODEC_ID_AMR_NB: | ||
781 | + { | ||
782 | + const static gint l_rates[] = { 8000 }; | ||
783 | + maxchannels = 1; | ||
784 | + n_rates = G_N_ELEMENTS (l_rates); | ||
785 | + rates = l_rates; | ||
786 | + break; | ||
787 | + } | ||
788 | + case CODEC_ID_AMR_WB: | ||
789 | + { | ||
790 | + const static gint l_rates[] = { 16000 }; | ||
791 | + maxchannels = 1; | ||
792 | + n_rates = G_N_ELEMENTS (l_rates); | ||
793 | + rates = l_rates; | ||
794 | + break; | ||
795 | + } | ||
796 | + default: | ||
797 | + break; | ||
798 | + } | ||
799 | + | ||
800 | + /* TODO: handle context->channel_layouts here to set | ||
801 | + * the list of channel layouts supported by the encoder. | ||
802 | + * Unfortunately no encoder uses this yet.... | ||
803 | + */ | ||
804 | + /* regardless of encode/decode, open up channels if applicable */ | ||
805 | + /* Until decoders/encoders expose the maximum number of channels | ||
806 | + * they support, we whitelist them here. */ | ||
807 | + switch (codec_id) { | ||
808 | + case CODEC_ID_WMAPRO: | ||
809 | + case CODEC_ID_TRUEHD: | ||
810 | + maxchannels = 8; | ||
811 | + break; | ||
812 | + default: | ||
813 | + break; | ||
814 | + } | ||
815 | + | ||
816 | + if (maxchannels == 1) | ||
817 | + caps = gst_caps_new_simple (mimetype, | ||
818 | + "channels", G_TYPE_INT, maxchannels, NULL); | ||
819 | + else | ||
820 | + caps = gst_caps_new_simple (mimetype, | ||
821 | + "channels", GST_TYPE_INT_RANGE, 1, maxchannels, NULL); | ||
822 | + if (n_rates) { | ||
823 | + GValue list = { 0, }; | ||
824 | + GstStructure *structure; | ||
825 | + | ||
826 | + g_value_init (&list, GST_TYPE_LIST); | ||
827 | + for (i = 0; i < n_rates; i++) { | ||
828 | + GValue v = { 0, }; | ||
829 | + | ||
830 | + g_value_init (&v, G_TYPE_INT); | ||
831 | + g_value_set_int (&v, rates[i]); | ||
832 | + gst_value_list_append_value (&list, &v); | ||
833 | + g_value_unset (&v); | ||
834 | + } | ||
835 | + structure = gst_caps_get_structure (caps, 0); | ||
836 | + gst_structure_set_value (structure, "rate", &list); | ||
837 | + g_value_unset (&list); | ||
838 | + } else | ||
839 | + gst_caps_set_simple (caps, "rate", GST_TYPE_INT_RANGE, 4000, 96000, NULL); | ||
840 | + } | ||
841 | + | ||
842 | + for (i = 0; i < gst_caps_get_size (caps); i++) { | ||
843 | + va_start (var_args, fieldname); | ||
844 | + structure = gst_caps_get_structure (caps, i); | ||
845 | + gst_structure_set_valist (structure, fieldname, var_args); | ||
846 | + va_end (var_args); | ||
847 | + } | ||
848 | + | ||
849 | + return caps; | ||
850 | +} | ||
851 | + | ||
852 | +/* Convert a FFMPEG codec ID and optional AVCodecContext | ||
853 | + * to a GstCaps. If the context is ommitted, no fixed values | ||
854 | + * for video/audio size will be included in the GstCaps | ||
855 | + * | ||
856 | + * CodecID is primarily meant for compressed data GstCaps! | ||
857 | + * | ||
858 | + * encode is a special parameter. gstffmpegdec will say | ||
859 | + * FALSE, gstffmpegenc will say TRUE. The output caps | ||
860 | + * depends on this, in such a way that it will be very | ||
861 | + * specific, defined, fixed and correct caps for encoders, | ||
862 | + * yet very wide, "forgiving" caps for decoders. Example | ||
863 | + * for mp3: decode: audio/mpeg,mpegversion=1,layer=[1-3] | ||
864 | + * but encode: audio/mpeg,mpegversion=1,layer=3,bitrate=x, | ||
865 | + * rate=x,channels=x. | ||
866 | + */ | ||
867 | + | ||
868 | +GstCaps * | ||
869 | +gst_ffmpeg_codecid_to_caps (enum CodecID codec_id, | ||
870 | + AVCodecContext * context, gboolean encode) | ||
871 | +{ | ||
872 | + GstCaps *caps = NULL; | ||
873 | + gboolean buildcaps = FALSE; | ||
874 | + | ||
875 | + GST_LOG ("codec_id:%d, context:%p, encode:%d", codec_id, context, encode); | ||
876 | + | ||
877 | + switch (codec_id) { | ||
878 | + case CODEC_ID_MPEG1VIDEO: | ||
879 | + /* FIXME: bitrate */ | ||
880 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/mpeg", | ||
881 | + "mpegversion", G_TYPE_INT, 1, | ||
882 | + "systemstream", G_TYPE_BOOLEAN, FALSE, NULL); | ||
883 | + break; | ||
884 | + | ||
885 | + case CODEC_ID_MPEG2VIDEO: | ||
886 | + if (encode) { | ||
887 | + /* FIXME: bitrate */ | ||
888 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/mpeg", | ||
889 | + "mpegversion", G_TYPE_INT, 2, | ||
890 | + "systemstream", G_TYPE_BOOLEAN, FALSE, NULL); | ||
891 | + } else { | ||
892 | + /* decode both MPEG-1 and MPEG-2; width/height/fps are all in | ||
893 | + * the MPEG video stream headers, so may be omitted from caps. */ | ||
894 | + caps = gst_caps_new_simple ("video/mpeg", | ||
895 | + "mpegversion", GST_TYPE_INT_RANGE, 1, 2, | ||
896 | + "systemstream", G_TYPE_BOOLEAN, FALSE, NULL); | ||
897 | + } | ||
898 | + break; | ||
899 | + | ||
900 | + case CODEC_ID_MPEG2VIDEO_XVMC: | ||
901 | + /* this is a special ID - don't need it in GStreamer, I think */ | ||
902 | + break; | ||
903 | + | ||
904 | + case CODEC_ID_H263: | ||
905 | + if (encode) { | ||
906 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-h263", | ||
907 | + "variant", G_TYPE_STRING, "itu", | ||
908 | + "h263version", G_TYPE_STRING, "h263", NULL); | ||
909 | + } else { | ||
910 | + /* don't pass codec_id, we can decode other variants with the H263 | ||
911 | + * decoder that don't have specific size requirements | ||
912 | + */ | ||
913 | + caps = gst_ff_vid_caps_new (context, CODEC_ID_NONE, "video/x-h263", | ||
914 | + "variant", G_TYPE_STRING, "itu", NULL); | ||
915 | + } | ||
916 | + break; | ||
917 | + | ||
918 | + case CODEC_ID_H263P: | ||
919 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-h263", | ||
920 | + "variant", G_TYPE_STRING, "itu", | ||
921 | + "h263version", G_TYPE_STRING, "h263p", NULL); | ||
922 | + if (encode && context) { | ||
923 | + | ||
924 | + gst_caps_set_simple (caps, | ||
925 | + "annex-f", G_TYPE_BOOLEAN, context->flags & CODEC_FLAG_4MV, | ||
926 | + "annex-j", G_TYPE_BOOLEAN, context->flags & CODEC_FLAG_LOOP_FILTER, | ||
927 | + "annex-i", G_TYPE_BOOLEAN, context->flags & CODEC_FLAG_AC_PRED, | ||
928 | + "annex-t", G_TYPE_BOOLEAN, context->flags & CODEC_FLAG_AC_PRED, | ||
929 | + NULL); | ||
930 | + } | ||
931 | + break; | ||
932 | + | ||
933 | + case CODEC_ID_H263I: | ||
934 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-intel-h263", | ||
935 | + "variant", G_TYPE_STRING, "intel", NULL); | ||
936 | + break; | ||
937 | + | ||
938 | + case CODEC_ID_H261: | ||
939 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-h261", NULL); | ||
940 | + break; | ||
941 | + | ||
942 | + case CODEC_ID_RV10: | ||
943 | + case CODEC_ID_RV20: | ||
944 | + case CODEC_ID_RV30: | ||
945 | + case CODEC_ID_RV40: | ||
946 | + { | ||
947 | + gint version; | ||
948 | + | ||
949 | + switch (codec_id) { | ||
950 | + case CODEC_ID_RV40: | ||
951 | + version = 4; | ||
952 | + break; | ||
953 | + case CODEC_ID_RV30: | ||
954 | + version = 3; | ||
955 | + break; | ||
956 | + case CODEC_ID_RV20: | ||
957 | + version = 2; | ||
958 | + break; | ||
959 | + default: | ||
960 | + version = 1; | ||
961 | + break; | ||
962 | + } | ||
963 | + | ||
964 | + /* FIXME: context->sub_id must be filled in during decoding */ | ||
965 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-pn-realvideo", | ||
966 | + "systemstream", G_TYPE_BOOLEAN, FALSE, | ||
967 | + "rmversion", G_TYPE_INT, version, NULL); | ||
968 | + if (context) { | ||
969 | + gst_caps_set_simple (caps, "format", G_TYPE_INT, context->sub_id, NULL); | ||
970 | + if (context->extradata_size >= 8) { | ||
971 | + gst_caps_set_simple (caps, | ||
972 | + "subformat", G_TYPE_INT, GST_READ_UINT32_BE (context->extradata), | ||
973 | + NULL); | ||
974 | + } | ||
975 | + } | ||
976 | + } | ||
977 | + break; | ||
978 | + | ||
979 | + case CODEC_ID_MP1: | ||
980 | + /* FIXME: bitrate */ | ||
981 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/mpeg", | ||
982 | + "mpegversion", G_TYPE_INT, 1, "layer", G_TYPE_INT, 1, NULL); | ||
983 | + break; | ||
984 | + | ||
985 | + case CODEC_ID_MP2: | ||
986 | + /* FIXME: bitrate */ | ||
987 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/mpeg", | ||
988 | + "mpegversion", G_TYPE_INT, 1, "layer", G_TYPE_INT, 2, NULL); | ||
989 | + break; | ||
990 | + | ||
991 | + case CODEC_ID_MP3: | ||
992 | + if (encode) { | ||
993 | + /* FIXME: bitrate */ | ||
994 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/mpeg", | ||
995 | + "mpegversion", G_TYPE_INT, 1, "layer", G_TYPE_INT, 3, NULL); | ||
996 | + } else { | ||
997 | + /* Decodes MPEG-1 layer 1/2/3. Samplerate, channels et al are | ||
998 | + * in the MPEG audio header, so may be omitted from caps. */ | ||
999 | + caps = gst_caps_new_simple ("audio/mpeg", | ||
1000 | + "mpegversion", G_TYPE_INT, 1, | ||
1001 | + "layer", GST_TYPE_INT_RANGE, 1, 3, NULL); | ||
1002 | + } | ||
1003 | + break; | ||
1004 | + | ||
1005 | + case CODEC_ID_MUSEPACK7: | ||
1006 | + caps = | ||
1007 | + gst_ff_aud_caps_new (context, codec_id, | ||
1008 | + "audio/x-ffmpeg-parsed-musepack", "streamversion", G_TYPE_INT, 7, | ||
1009 | + NULL); | ||
1010 | + break; | ||
1011 | + | ||
1012 | + case CODEC_ID_MUSEPACK8: | ||
1013 | + caps = | ||
1014 | + gst_ff_aud_caps_new (context, codec_id, | ||
1015 | + "audio/x-ffmpeg-parsed-musepack", "streamversion", G_TYPE_INT, 8, | ||
1016 | + NULL); | ||
1017 | + break; | ||
1018 | + | ||
1019 | + case CODEC_ID_AC3: | ||
1020 | + /* FIXME: bitrate */ | ||
1021 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-ac3", NULL); | ||
1022 | + break; | ||
1023 | + | ||
1024 | + case CODEC_ID_EAC3: | ||
1025 | + /* FIXME: bitrate */ | ||
1026 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-eac3", NULL); | ||
1027 | + break; | ||
1028 | + | ||
1029 | + case CODEC_ID_TRUEHD: | ||
1030 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-true-hd", NULL); | ||
1031 | + break; | ||
1032 | + | ||
1033 | + case CODEC_ID_ATRAC1: | ||
1034 | + caps = | ||
1035 | + gst_ff_aud_caps_new (context, codec_id, "audio/x-vnd.sony.atrac1", | ||
1036 | + NULL); | ||
1037 | + break; | ||
1038 | + | ||
1039 | + case CODEC_ID_ATRAC3: | ||
1040 | + caps = | ||
1041 | + gst_ff_aud_caps_new (context, codec_id, "audio/x-vnd.sony.atrac3", | ||
1042 | + NULL); | ||
1043 | + break; | ||
1044 | + | ||
1045 | + case CODEC_ID_DTS: | ||
1046 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-dts", NULL); | ||
1047 | + break; | ||
1048 | + | ||
1049 | + case CODEC_ID_APE: | ||
1050 | + caps = | ||
1051 | + gst_ff_aud_caps_new (context, codec_id, "audio/x-ffmpeg-parsed-ape", | ||
1052 | + NULL); | ||
1053 | + if (context) { | ||
1054 | + gst_caps_set_simple (caps, | ||
1055 | + "depth", G_TYPE_INT, context->bits_per_coded_sample, NULL); | ||
1056 | + } | ||
1057 | + break; | ||
1058 | + | ||
1059 | + case CODEC_ID_MLP: | ||
1060 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-mlp", NULL); | ||
1061 | + break; | ||
1062 | + | ||
1063 | + case CODEC_ID_IMC: | ||
1064 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-imc", NULL); | ||
1065 | + break; | ||
1066 | + | ||
1067 | + /* MJPEG is normal JPEG, Motion-JPEG and Quicktime MJPEG-A. MJPEGB | ||
1068 | + * is Quicktime's MJPEG-B. LJPEG is lossless JPEG. I don't know what | ||
1069 | + * sp5x is, but it's apparently something JPEG... We don't separate | ||
1070 | + * between those in GStreamer. Should we (at least between MJPEG, | ||
1071 | + * MJPEG-B and sp5x decoding...)? */ | ||
1072 | + case CODEC_ID_MJPEG: | ||
1073 | + case CODEC_ID_LJPEG: | ||
1074 | + caps = gst_ff_vid_caps_new (context, codec_id, "image/jpeg", NULL); | ||
1075 | + break; | ||
1076 | + | ||
1077 | + case CODEC_ID_SP5X: | ||
1078 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/sp5x", NULL); | ||
1079 | + break; | ||
1080 | + | ||
1081 | + case CODEC_ID_MJPEGB: | ||
1082 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-mjpeg-b", NULL); | ||
1083 | + break; | ||
1084 | + | ||
1085 | + case CODEC_ID_MPEG4: | ||
1086 | + if (encode && context != NULL) { | ||
1087 | + /* I'm not exactly sure what ffmpeg outputs... ffmpeg itself uses | ||
1088 | + * the AVI fourcc 'DIVX', but 'mp4v' for Quicktime... */ | ||
1089 | + switch (context->codec_tag) { | ||
1090 | + case GST_MAKE_FOURCC ('D', 'I', 'V', 'X'): | ||
1091 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-divx", | ||
1092 | + "divxversion", G_TYPE_INT, 5, NULL); | ||
1093 | + break; | ||
1094 | + case GST_MAKE_FOURCC ('m', 'p', '4', 'v'): | ||
1095 | + default: | ||
1096 | + /* FIXME: bitrate */ | ||
1097 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/mpeg", | ||
1098 | + "systemstream", G_TYPE_BOOLEAN, FALSE, | ||
1099 | + "mpegversion", G_TYPE_INT, 4, NULL); | ||
1100 | + break; | ||
1101 | + } | ||
1102 | + } else { | ||
1103 | + /* The trick here is to separate xvid, divx, mpeg4, 3ivx et al */ | ||
1104 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/mpeg", | ||
1105 | + "mpegversion", G_TYPE_INT, 4, | ||
1106 | + "systemstream", G_TYPE_BOOLEAN, FALSE, NULL); | ||
1107 | + if (encode) { | ||
1108 | + gst_caps_append (caps, gst_ff_vid_caps_new (context, codec_id, | ||
1109 | + "video/x-divx", "divxversion", G_TYPE_INT, 5, NULL)); | ||
1110 | + } else { | ||
1111 | + gst_caps_append (caps, gst_ff_vid_caps_new (context, codec_id, | ||
1112 | + "video/x-divx", "divxversion", GST_TYPE_INT_RANGE, 4, 5, | ||
1113 | + NULL)); | ||
1114 | + gst_caps_append (caps, gst_ff_vid_caps_new (context, codec_id, | ||
1115 | + "video/x-xvid", NULL)); | ||
1116 | + gst_caps_append (caps, gst_ff_vid_caps_new (context, codec_id, | ||
1117 | + "video/x-3ivx", NULL)); | ||
1118 | + } | ||
1119 | + } | ||
1120 | + break; | ||
1121 | + | ||
1122 | + case CODEC_ID_RAWVIDEO: | ||
1123 | + caps = | ||
1124 | + gst_ffmpeg_codectype_to_caps (AVMEDIA_TYPE_VIDEO, context, codec_id, | ||
1125 | + encode); | ||
1126 | + break; | ||
1127 | + | ||
1128 | + case CODEC_ID_MSMPEG4V1: | ||
1129 | + case CODEC_ID_MSMPEG4V2: | ||
1130 | + case CODEC_ID_MSMPEG4V3: | ||
1131 | + { | ||
1132 | + gint version = 41 + codec_id - CODEC_ID_MSMPEG4V1; | ||
1133 | + | ||
1134 | + /* encode-FIXME: bitrate */ | ||
1135 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-msmpeg", | ||
1136 | + "msmpegversion", G_TYPE_INT, version, NULL); | ||
1137 | + if (!encode && codec_id == CODEC_ID_MSMPEG4V3) { | ||
1138 | + gst_caps_append (caps, gst_ff_vid_caps_new (context, codec_id, | ||
1139 | + "video/x-divx", "divxversion", G_TYPE_INT, 3, NULL)); | ||
1140 | + } | ||
1141 | + } | ||
1142 | + break; | ||
1143 | + | ||
1144 | + case CODEC_ID_WMV1: | ||
1145 | + case CODEC_ID_WMV2: | ||
1146 | + { | ||
1147 | + gint version = (codec_id == CODEC_ID_WMV1) ? 1 : 2; | ||
1148 | + | ||
1149 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-wmv", | ||
1150 | + "wmvversion", G_TYPE_INT, version, NULL); | ||
1151 | + } | ||
1152 | + break; | ||
1153 | + | ||
1154 | + case CODEC_ID_FLV1: | ||
1155 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-flash-video", | ||
1156 | + "flvversion", G_TYPE_INT, 1, NULL); | ||
1157 | + break; | ||
1158 | + | ||
1159 | + case CODEC_ID_SVQ1: | ||
1160 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-svq", | ||
1161 | + "svqversion", G_TYPE_INT, 1, NULL); | ||
1162 | + break; | ||
1163 | + | ||
1164 | + case CODEC_ID_SVQ3: | ||
1165 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-svq", | ||
1166 | + "svqversion", G_TYPE_INT, 3, NULL); | ||
1167 | + break; | ||
1168 | + | ||
1169 | + case CODEC_ID_DVAUDIO: | ||
1170 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-dv", NULL); | ||
1171 | + break; | ||
1172 | + | ||
1173 | + case CODEC_ID_DVVIDEO: | ||
1174 | + { | ||
1175 | + if (encode && context) { | ||
1176 | + guint32 fourcc; | ||
1177 | + | ||
1178 | + switch (context->pix_fmt) { | ||
1179 | + case PIX_FMT_YUYV422: | ||
1180 | + fourcc = GST_MAKE_FOURCC ('Y', 'U', 'Y', '2'); | ||
1181 | + break; | ||
1182 | + case PIX_FMT_YUV420P: | ||
1183 | + fourcc = GST_MAKE_FOURCC ('I', '4', '2', '0'); | ||
1184 | + break; | ||
1185 | + case PIX_FMT_YUVA420P: | ||
1186 | + fourcc = GST_MAKE_FOURCC ('A', '4', '2', '0'); | ||
1187 | + break; | ||
1188 | + case PIX_FMT_YUV411P: | ||
1189 | + fourcc = GST_MAKE_FOURCC ('Y', '4', '1', 'B'); | ||
1190 | + break; | ||
1191 | + case PIX_FMT_YUV422P: | ||
1192 | + fourcc = GST_MAKE_FOURCC ('Y', '4', '2', 'B'); | ||
1193 | + break; | ||
1194 | + case PIX_FMT_YUV410P: | ||
1195 | + fourcc = GST_MAKE_FOURCC ('Y', 'U', 'V', '9'); | ||
1196 | + break; | ||
1197 | + default: | ||
1198 | + GST_WARNING | ||
1199 | + ("Couldnt' find fourcc for pixfmt %d, defaulting to I420", | ||
1200 | + context->pix_fmt); | ||
1201 | + fourcc = GST_MAKE_FOURCC ('I', '4', '2', '0'); | ||
1202 | + break; | ||
1203 | + } | ||
1204 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-dv", | ||
1205 | + "systemstream", G_TYPE_BOOLEAN, FALSE, | ||
1206 | + "format", GST_TYPE_FOURCC, fourcc, NULL); | ||
1207 | + } else { | ||
1208 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-dv", | ||
1209 | + "systemstream", G_TYPE_BOOLEAN, FALSE, NULL); | ||
1210 | + } | ||
1211 | + } | ||
1212 | + break; | ||
1213 | + | ||
1214 | + case CODEC_ID_WMAV1: | ||
1215 | + case CODEC_ID_WMAV2: | ||
1216 | + { | ||
1217 | + gint version = (codec_id == CODEC_ID_WMAV1) ? 1 : 2; | ||
1218 | + | ||
1219 | + if (context) { | ||
1220 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-wma", | ||
1221 | + "wmaversion", G_TYPE_INT, version, | ||
1222 | + "block_align", G_TYPE_INT, context->block_align, | ||
1223 | + "bitrate", G_TYPE_INT, context->bit_rate, NULL); | ||
1224 | + } else { | ||
1225 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-wma", | ||
1226 | + "wmaversion", G_TYPE_INT, version, | ||
1227 | + "block_align", GST_TYPE_INT_RANGE, 0, G_MAXINT, | ||
1228 | + "bitrate", GST_TYPE_INT_RANGE, 0, G_MAXINT, NULL); | ||
1229 | + } | ||
1230 | + } | ||
1231 | + break; | ||
1232 | + case CODEC_ID_WMAPRO: | ||
1233 | + { | ||
1234 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-wma", | ||
1235 | + "wmaversion", G_TYPE_INT, 3, NULL); | ||
1236 | + break; | ||
1237 | + } | ||
1238 | + | ||
1239 | + case CODEC_ID_WMAVOICE: | ||
1240 | + { | ||
1241 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-wms", NULL); | ||
1242 | + break; | ||
1243 | + } | ||
1244 | + | ||
1245 | + case CODEC_ID_MACE3: | ||
1246 | + case CODEC_ID_MACE6: | ||
1247 | + { | ||
1248 | + gint version = (codec_id == CODEC_ID_MACE3) ? 3 : 6; | ||
1249 | + | ||
1250 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-mace", | ||
1251 | + "maceversion", G_TYPE_INT, version, NULL); | ||
1252 | + } | ||
1253 | + break; | ||
1254 | + | ||
1255 | + case CODEC_ID_HUFFYUV: | ||
1256 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-huffyuv", NULL); | ||
1257 | + if (context) { | ||
1258 | + gst_caps_set_simple (caps, | ||
1259 | + "bpp", G_TYPE_INT, context->bits_per_coded_sample, NULL); | ||
1260 | + } | ||
1261 | + break; | ||
1262 | + | ||
1263 | + case CODEC_ID_CYUV: | ||
1264 | + caps = | ||
1265 | + gst_ff_vid_caps_new (context, codec_id, "video/x-compressed-yuv", | ||
1266 | + NULL); | ||
1267 | + break; | ||
1268 | + | ||
1269 | + case CODEC_ID_H264: | ||
1270 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-h264", NULL); | ||
1271 | + break; | ||
1272 | + | ||
1273 | + case CODEC_ID_INDEO5: | ||
1274 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-indeo", | ||
1275 | + "indeoversion", G_TYPE_INT, 5, NULL); | ||
1276 | + break; | ||
1277 | + | ||
1278 | + case CODEC_ID_INDEO3: | ||
1279 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-indeo", | ||
1280 | + "indeoversion", G_TYPE_INT, 3, NULL); | ||
1281 | + break; | ||
1282 | + | ||
1283 | + case CODEC_ID_INDEO2: | ||
1284 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-indeo", | ||
1285 | + "indeoversion", G_TYPE_INT, 2, NULL); | ||
1286 | + break; | ||
1287 | + | ||
1288 | + case CODEC_ID_FLASHSV: | ||
1289 | + caps = | ||
1290 | + gst_ff_vid_caps_new (context, codec_id, "video/x-flash-screen", NULL); | ||
1291 | + break; | ||
1292 | + | ||
1293 | + case CODEC_ID_VP3: | ||
1294 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-vp3", NULL); | ||
1295 | + break; | ||
1296 | + | ||
1297 | + case CODEC_ID_VP5: | ||
1298 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-vp5", NULL); | ||
1299 | + break; | ||
1300 | + | ||
1301 | + case CODEC_ID_VP6: | ||
1302 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-vp6", NULL); | ||
1303 | + break; | ||
1304 | + | ||
1305 | + case CODEC_ID_VP6F: | ||
1306 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-vp6-flash", NULL); | ||
1307 | + break; | ||
1308 | + | ||
1309 | + case CODEC_ID_VP6A: | ||
1310 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-vp6-alpha", NULL); | ||
1311 | + break; | ||
1312 | + | ||
1313 | + case CODEC_ID_VP8: | ||
1314 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-vp8", NULL); | ||
1315 | + break; | ||
1316 | + | ||
1317 | + case CODEC_ID_THEORA: | ||
1318 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-theora", NULL); | ||
1319 | + break; | ||
1320 | + | ||
1321 | + case CODEC_ID_AAC: | ||
1322 | + { | ||
1323 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/mpeg", NULL); | ||
1324 | + | ||
1325 | + if (!encode) { | ||
1326 | + GValue arr = { 0, }; | ||
1327 | + GValue item = { 0, }; | ||
1328 | + | ||
1329 | + g_value_init (&arr, GST_TYPE_LIST); | ||
1330 | + g_value_init (&item, G_TYPE_INT); | ||
1331 | + g_value_set_int (&item, 2); | ||
1332 | + gst_value_list_append_value (&arr, &item); | ||
1333 | + g_value_set_int (&item, 4); | ||
1334 | + gst_value_list_append_value (&arr, &item); | ||
1335 | + g_value_unset (&item); | ||
1336 | + | ||
1337 | + gst_caps_set_value (caps, "mpegversion", &arr); | ||
1338 | + g_value_unset (&arr); | ||
1339 | + | ||
1340 | + g_value_init (&arr, GST_TYPE_LIST); | ||
1341 | + g_value_init (&item, G_TYPE_STRING); | ||
1342 | + g_value_set_string (&item, "raw"); | ||
1343 | + gst_value_list_append_value (&arr, &item); | ||
1344 | + g_value_set_string (&item, "adts"); | ||
1345 | + gst_value_list_append_value (&arr, &item); | ||
1346 | + g_value_set_string (&item, "adif"); | ||
1347 | + gst_value_list_append_value (&arr, &item); | ||
1348 | + g_value_unset (&item); | ||
1349 | + | ||
1350 | + gst_caps_set_value (caps, "stream-format", &arr); | ||
1351 | + g_value_unset (&arr); | ||
1352 | + } else { | ||
1353 | + gst_caps_set_simple (caps, "mpegversion", G_TYPE_INT, 4, | ||
1354 | + "stream-format", G_TYPE_STRING, "raw", | ||
1355 | + "base-profile", G_TYPE_STRING, "lc", NULL); | ||
1356 | + | ||
1357 | + if (context && context->extradata_size > 0) | ||
1358 | + gst_codec_utils_aac_caps_set_level_and_profile (caps, | ||
1359 | + context->extradata, context->extradata_size); | ||
1360 | + } | ||
1361 | + | ||
1362 | + break; | ||
1363 | + } | ||
1364 | + case CODEC_ID_AAC_LATM: /* LATM/LOAS AAC syntax */ | ||
1365 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/mpeg", | ||
1366 | + "mpegversion", G_TYPE_INT, 4, "stream-format", G_TYPE_STRING, "loas", | ||
1367 | + NULL); | ||
1368 | + break; | ||
1369 | + | ||
1370 | + case CODEC_ID_ASV1: | ||
1371 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-asus", | ||
1372 | + "asusversion", G_TYPE_INT, 1, NULL); | ||
1373 | + break; | ||
1374 | + case CODEC_ID_ASV2: | ||
1375 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-asus", | ||
1376 | + "asusversion", G_TYPE_INT, 2, NULL); | ||
1377 | + break; | ||
1378 | + | ||
1379 | + case CODEC_ID_FFV1: | ||
1380 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-ffv", | ||
1381 | + "ffvversion", G_TYPE_INT, 1, NULL); | ||
1382 | + break; | ||
1383 | + | ||
1384 | + case CODEC_ID_4XM: | ||
1385 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-4xm", NULL); | ||
1386 | + break; | ||
1387 | + | ||
1388 | + case CODEC_ID_XAN_WC3: | ||
1389 | + case CODEC_ID_XAN_WC4: | ||
1390 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-xan", | ||
1391 | + "wcversion", G_TYPE_INT, 3 - CODEC_ID_XAN_WC3 + codec_id, NULL); | ||
1392 | + break; | ||
1393 | + | ||
1394 | + case CODEC_ID_CLJR: | ||
1395 | + caps = | ||
1396 | + gst_ff_vid_caps_new (context, codec_id, | ||
1397 | + "video/x-cirrus-logic-accupak", NULL); | ||
1398 | + break; | ||
1399 | + | ||
1400 | + case CODEC_ID_FRAPS: | ||
1401 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-fraps", NULL); | ||
1402 | + break; | ||
1403 | + | ||
1404 | + case CODEC_ID_MDEC: | ||
1405 | + case CODEC_ID_ROQ: | ||
1406 | + case CODEC_ID_INTERPLAY_VIDEO: | ||
1407 | + buildcaps = TRUE; | ||
1408 | + break; | ||
1409 | + | ||
1410 | + case CODEC_ID_VCR1: | ||
1411 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-ati-vcr", | ||
1412 | + "vcrversion", G_TYPE_INT, 1, NULL); | ||
1413 | + break; | ||
1414 | + | ||
1415 | + case CODEC_ID_RPZA: | ||
1416 | + caps = | ||
1417 | + gst_ff_vid_caps_new (context, codec_id, "video/x-apple-video", NULL); | ||
1418 | + break; | ||
1419 | + | ||
1420 | + case CODEC_ID_CINEPAK: | ||
1421 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-cinepak", NULL); | ||
1422 | + break; | ||
1423 | + | ||
1424 | + /* WS_VQA belogns here (order) */ | ||
1425 | + | ||
1426 | + case CODEC_ID_MSRLE: | ||
1427 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-rle", | ||
1428 | + "layout", G_TYPE_STRING, "microsoft", NULL); | ||
1429 | + if (context) { | ||
1430 | + gst_caps_set_simple (caps, | ||
1431 | + "depth", G_TYPE_INT, (gint) context->bits_per_coded_sample, NULL); | ||
1432 | + } else { | ||
1433 | + gst_caps_set_simple (caps, "depth", GST_TYPE_INT_RANGE, 1, 64, NULL); | ||
1434 | + } | ||
1435 | + break; | ||
1436 | + | ||
1437 | + case CODEC_ID_QTRLE: | ||
1438 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-rle", | ||
1439 | + "layout", G_TYPE_STRING, "quicktime", NULL); | ||
1440 | + if (context) { | ||
1441 | + gst_caps_set_simple (caps, | ||
1442 | + "depth", G_TYPE_INT, (gint) context->bits_per_coded_sample, NULL); | ||
1443 | + } else { | ||
1444 | + gst_caps_set_simple (caps, "depth", GST_TYPE_INT_RANGE, 1, 64, NULL); | ||
1445 | + } | ||
1446 | + break; | ||
1447 | + | ||
1448 | + case CODEC_ID_MSVIDEO1: | ||
1449 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-msvideocodec", | ||
1450 | + "msvideoversion", G_TYPE_INT, 1, NULL); | ||
1451 | + break; | ||
1452 | + | ||
1453 | + case CODEC_ID_WMV3: | ||
1454 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-wmv", | ||
1455 | + "wmvversion", G_TYPE_INT, 3, NULL); | ||
1456 | + break; | ||
1457 | + case CODEC_ID_VC1: | ||
1458 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-wmv", | ||
1459 | + "wmvversion", G_TYPE_INT, 3, "format", GST_TYPE_FOURCC, | ||
1460 | + GST_MAKE_FOURCC ('W', 'V', 'C', '1'), NULL); | ||
1461 | + break; | ||
1462 | + case CODEC_ID_QDM2: | ||
1463 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-qdm2", NULL); | ||
1464 | + break; | ||
1465 | + | ||
1466 | + case CODEC_ID_MSZH: | ||
1467 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-mszh", NULL); | ||
1468 | + break; | ||
1469 | + | ||
1470 | + case CODEC_ID_ZLIB: | ||
1471 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-zlib", NULL); | ||
1472 | + break; | ||
1473 | + | ||
1474 | + case CODEC_ID_TRUEMOTION1: | ||
1475 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-truemotion", | ||
1476 | + "trueversion", G_TYPE_INT, 1, NULL); | ||
1477 | + break; | ||
1478 | + case CODEC_ID_TRUEMOTION2: | ||
1479 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-truemotion", | ||
1480 | + "trueversion", G_TYPE_INT, 2, NULL); | ||
1481 | + break; | ||
1482 | + | ||
1483 | + case CODEC_ID_ULTI: | ||
1484 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-ultimotion", | ||
1485 | + NULL); | ||
1486 | + break; | ||
1487 | + | ||
1488 | + case CODEC_ID_TSCC: | ||
1489 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-camtasia", NULL); | ||
1490 | + if (context) { | ||
1491 | + gst_caps_set_simple (caps, | ||
1492 | + "depth", G_TYPE_INT, (gint) context->bits_per_coded_sample, NULL); | ||
1493 | + } else { | ||
1494 | + gst_caps_set_simple (caps, "depth", GST_TYPE_INT_RANGE, 8, 32, NULL); | ||
1495 | + } | ||
1496 | + break; | ||
1497 | + | ||
1498 | + case CODEC_ID_KMVC: | ||
1499 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-kmvc", NULL); | ||
1500 | + break; | ||
1501 | + | ||
1502 | + case CODEC_ID_NUV: | ||
1503 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-nuv", NULL); | ||
1504 | + break; | ||
1505 | + | ||
1506 | + case CODEC_ID_GIF: | ||
1507 | + caps = gst_ff_vid_caps_new (context, codec_id, "image/gif", NULL); | ||
1508 | + break; | ||
1509 | + | ||
1510 | + case CODEC_ID_PNG: | ||
1511 | + caps = gst_ff_vid_caps_new (context, codec_id, "image/png", NULL); | ||
1512 | + break; | ||
1513 | + | ||
1514 | + case CODEC_ID_PPM: | ||
1515 | + caps = gst_ff_vid_caps_new (context, codec_id, "image/ppm", NULL); | ||
1516 | + break; | ||
1517 | + | ||
1518 | + case CODEC_ID_PBM: | ||
1519 | + caps = gst_ff_vid_caps_new (context, codec_id, "image/pbm", NULL); | ||
1520 | + break; | ||
1521 | + | ||
1522 | + case CODEC_ID_PAM: | ||
1523 | + caps = | ||
1524 | + gst_ff_vid_caps_new (context, codec_id, "image/x-portable-anymap", | ||
1525 | + NULL); | ||
1526 | + break; | ||
1527 | + | ||
1528 | + case CODEC_ID_PGM: | ||
1529 | + caps = | ||
1530 | + gst_ff_vid_caps_new (context, codec_id, "image/x-portable-graymap", | ||
1531 | + NULL); | ||
1532 | + break; | ||
1533 | + | ||
1534 | + case CODEC_ID_PCX: | ||
1535 | + caps = gst_ff_vid_caps_new (context, codec_id, "image/x-pcx", NULL); | ||
1536 | + break; | ||
1537 | + | ||
1538 | + case CODEC_ID_SGI: | ||
1539 | + caps = gst_ff_vid_caps_new (context, codec_id, "image/x-sgi", NULL); | ||
1540 | + break; | ||
1541 | + | ||
1542 | + case CODEC_ID_TARGA: | ||
1543 | + caps = gst_ff_vid_caps_new (context, codec_id, "image/x-tga", NULL); | ||
1544 | + break; | ||
1545 | + | ||
1546 | + case CODEC_ID_TIFF: | ||
1547 | + caps = gst_ff_vid_caps_new (context, codec_id, "image/tiff", NULL); | ||
1548 | + break; | ||
1549 | + | ||
1550 | + case CODEC_ID_SUNRAST: | ||
1551 | + caps = | ||
1552 | + gst_ff_vid_caps_new (context, codec_id, "image/x-sun-raster", NULL); | ||
1553 | + break; | ||
1554 | + | ||
1555 | + case CODEC_ID_SMC: | ||
1556 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-smc", NULL); | ||
1557 | + break; | ||
1558 | + | ||
1559 | + case CODEC_ID_QDRAW: | ||
1560 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-qdrw", NULL); | ||
1561 | + break; | ||
1562 | + | ||
1563 | + case CODEC_ID_DNXHD: | ||
1564 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-dnxhd", NULL); | ||
1565 | + break; | ||
1566 | + | ||
1567 | + case CODEC_ID_MIMIC: | ||
1568 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-mimic", NULL); | ||
1569 | + break; | ||
1570 | + | ||
1571 | + case CODEC_ID_VMNC: | ||
1572 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-vmnc", NULL); | ||
1573 | + break; | ||
1574 | + | ||
1575 | + case CODEC_ID_TRUESPEECH: | ||
1576 | + caps = | ||
1577 | + gst_ff_aud_caps_new (context, codec_id, "audio/x-truespeech", NULL); | ||
1578 | + break; | ||
1579 | + | ||
1580 | + case CODEC_ID_QCELP: | ||
1581 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/qcelp", NULL); | ||
1582 | + break; | ||
1583 | + | ||
1584 | + case CODEC_ID_AMV: | ||
1585 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-amv", NULL); | ||
1586 | + break; | ||
1587 | + | ||
1588 | + case CODEC_ID_AASC: | ||
1589 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-aasc", NULL); | ||
1590 | + break; | ||
1591 | + | ||
1592 | + case CODEC_ID_LOCO: | ||
1593 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-loco", NULL); | ||
1594 | + break; | ||
1595 | + | ||
1596 | + case CODEC_ID_ZMBV: | ||
1597 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-zmbv", NULL); | ||
1598 | + break; | ||
1599 | + | ||
1600 | + case CODEC_ID_LAGARITH: | ||
1601 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-lagarith", NULL); | ||
1602 | + break; | ||
1603 | + | ||
1604 | + case CODEC_ID_CSCD: | ||
1605 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-camstudio", NULL); | ||
1606 | + if (context) { | ||
1607 | + gst_caps_set_simple (caps, | ||
1608 | + "depth", G_TYPE_INT, (gint) context->bits_per_coded_sample, NULL); | ||
1609 | + } else { | ||
1610 | + gst_caps_set_simple (caps, "depth", GST_TYPE_INT_RANGE, 8, 32, NULL); | ||
1611 | + } | ||
1612 | + break; | ||
1613 | + | ||
1614 | + case CODEC_ID_WS_VQA: | ||
1615 | + case CODEC_ID_IDCIN: | ||
1616 | + case CODEC_ID_8BPS: | ||
1617 | + case CODEC_ID_FLIC: | ||
1618 | + case CODEC_ID_VMDVIDEO: | ||
1619 | + case CODEC_ID_VMDAUDIO: | ||
1620 | + case CODEC_ID_SNOW: | ||
1621 | + case CODEC_ID_VIXL: | ||
1622 | + case CODEC_ID_QPEG: | ||
1623 | + case CODEC_ID_PGMYUV: | ||
1624 | + case CODEC_ID_FFVHUFF: | ||
1625 | + case CODEC_ID_WNV1: | ||
1626 | + case CODEC_ID_MP3ADU: | ||
1627 | + case CODEC_ID_MP3ON4: | ||
1628 | + case CODEC_ID_WESTWOOD_SND1: | ||
1629 | + case CODEC_ID_MMVIDEO: | ||
1630 | + case CODEC_ID_AVS: | ||
1631 | + case CODEC_ID_CAVS: | ||
1632 | + buildcaps = TRUE; | ||
1633 | + break; | ||
1634 | + | ||
1635 | + /* weird quasi-codecs for the demuxers only */ | ||
1636 | + case CODEC_ID_PCM_S16LE: | ||
1637 | + case CODEC_ID_PCM_S16BE: | ||
1638 | + case CODEC_ID_PCM_U16LE: | ||
1639 | + case CODEC_ID_PCM_U16BE: | ||
1640 | + case CODEC_ID_PCM_S8: | ||
1641 | + case CODEC_ID_PCM_U8: | ||
1642 | + { | ||
1643 | + gint width = 0, depth = 0, endianness = 0; | ||
1644 | + gboolean signedness = FALSE; /* blabla */ | ||
1645 | + | ||
1646 | + switch (codec_id) { | ||
1647 | + case CODEC_ID_PCM_S16LE: | ||
1648 | + width = 16; | ||
1649 | + depth = 16; | ||
1650 | + endianness = G_LITTLE_ENDIAN; | ||
1651 | + signedness = TRUE; | ||
1652 | + break; | ||
1653 | + case CODEC_ID_PCM_S16BE: | ||
1654 | + width = 16; | ||
1655 | + depth = 16; | ||
1656 | + endianness = G_BIG_ENDIAN; | ||
1657 | + signedness = TRUE; | ||
1658 | + break; | ||
1659 | + case CODEC_ID_PCM_U16LE: | ||
1660 | + width = 16; | ||
1661 | + depth = 16; | ||
1662 | + endianness = G_LITTLE_ENDIAN; | ||
1663 | + signedness = FALSE; | ||
1664 | + break; | ||
1665 | + case CODEC_ID_PCM_U16BE: | ||
1666 | + width = 16; | ||
1667 | + depth = 16; | ||
1668 | + endianness = G_BIG_ENDIAN; | ||
1669 | + signedness = FALSE; | ||
1670 | + break; | ||
1671 | + case CODEC_ID_PCM_S8: | ||
1672 | + width = 8; | ||
1673 | + depth = 8; | ||
1674 | + endianness = G_BYTE_ORDER; | ||
1675 | + signedness = TRUE; | ||
1676 | + break; | ||
1677 | + case CODEC_ID_PCM_U8: | ||
1678 | + width = 8; | ||
1679 | + depth = 8; | ||
1680 | + endianness = G_BYTE_ORDER; | ||
1681 | + signedness = FALSE; | ||
1682 | + break; | ||
1683 | + default: | ||
1684 | + g_assert (0); /* don't worry, we never get here */ | ||
1685 | + break; | ||
1686 | + } | ||
1687 | + | ||
1688 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-raw-int", | ||
1689 | + "width", G_TYPE_INT, width, | ||
1690 | + "depth", G_TYPE_INT, depth, | ||
1691 | + "endianness", G_TYPE_INT, endianness, | ||
1692 | + "signed", G_TYPE_BOOLEAN, signedness, NULL); | ||
1693 | + } | ||
1694 | + break; | ||
1695 | + | ||
1696 | + case CODEC_ID_PCM_MULAW: | ||
1697 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-mulaw", NULL); | ||
1698 | + break; | ||
1699 | + | ||
1700 | + case CODEC_ID_PCM_ALAW: | ||
1701 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-alaw", NULL); | ||
1702 | + break; | ||
1703 | + | ||
1704 | + case CODEC_ID_ADPCM_G722: | ||
1705 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/G722", NULL); | ||
1706 | + if (context) | ||
1707 | + gst_caps_set_simple (caps, | ||
1708 | + "block_align", G_TYPE_INT, context->block_align, | ||
1709 | + "bitrate", G_TYPE_INT, context->bit_rate, NULL); | ||
1710 | + break; | ||
1711 | + | ||
1712 | + case CODEC_ID_ADPCM_G726: | ||
1713 | + { | ||
1714 | + /* the G726 decoder can also handle G721 */ | ||
1715 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-adpcm", | ||
1716 | + "layout", G_TYPE_STRING, "g726", NULL); | ||
1717 | + if (context) | ||
1718 | + gst_caps_set_simple (caps, | ||
1719 | + "block_align", G_TYPE_INT, context->block_align, | ||
1720 | + "bitrate", G_TYPE_INT, context->bit_rate, NULL); | ||
1721 | + | ||
1722 | + if (!encode) { | ||
1723 | + gst_caps_append (caps, gst_caps_new_simple ("audio/x-adpcm", | ||
1724 | + "layout", G_TYPE_STRING, "g721", | ||
1725 | + "channels", G_TYPE_INT, 1, "rate", G_TYPE_INT, 8000, NULL)); | ||
1726 | + } | ||
1727 | + break; | ||
1728 | + } | ||
1729 | + case CODEC_ID_ADPCM_IMA_QT: | ||
1730 | + case CODEC_ID_ADPCM_IMA_WAV: | ||
1731 | + case CODEC_ID_ADPCM_IMA_DK3: | ||
1732 | + case CODEC_ID_ADPCM_IMA_DK4: | ||
1733 | + case CODEC_ID_ADPCM_IMA_WS: | ||
1734 | + case CODEC_ID_ADPCM_IMA_SMJPEG: | ||
1735 | + case CODEC_ID_ADPCM_IMA_AMV: | ||
1736 | + case CODEC_ID_ADPCM_IMA_ISS: | ||
1737 | + case CODEC_ID_ADPCM_IMA_EA_EACS: | ||
1738 | + case CODEC_ID_ADPCM_IMA_EA_SEAD: | ||
1739 | + case CODEC_ID_ADPCM_MS: | ||
1740 | + case CODEC_ID_ADPCM_4XM: | ||
1741 | + case CODEC_ID_ADPCM_XA: | ||
1742 | + case CODEC_ID_ADPCM_ADX: | ||
1743 | + case CODEC_ID_ADPCM_EA: | ||
1744 | + case CODEC_ID_ADPCM_CT: | ||
1745 | + case CODEC_ID_ADPCM_SWF: | ||
1746 | + case CODEC_ID_ADPCM_YAMAHA: | ||
1747 | + case CODEC_ID_ADPCM_SBPRO_2: | ||
1748 | + case CODEC_ID_ADPCM_SBPRO_3: | ||
1749 | + case CODEC_ID_ADPCM_SBPRO_4: | ||
1750 | + case CODEC_ID_ADPCM_EA_R1: | ||
1751 | + case CODEC_ID_ADPCM_EA_R2: | ||
1752 | + case CODEC_ID_ADPCM_EA_R3: | ||
1753 | + case CODEC_ID_ADPCM_EA_MAXIS_XA: | ||
1754 | + case CODEC_ID_ADPCM_EA_XAS: | ||
1755 | + case CODEC_ID_ADPCM_THP: | ||
1756 | + { | ||
1757 | + const gchar *layout = NULL; | ||
1758 | + | ||
1759 | + switch (codec_id) { | ||
1760 | + case CODEC_ID_ADPCM_IMA_QT: | ||
1761 | + layout = "quicktime"; | ||
1762 | + break; | ||
1763 | + case CODEC_ID_ADPCM_IMA_WAV: | ||
1764 | + layout = "dvi"; | ||
1765 | + break; | ||
1766 | + case CODEC_ID_ADPCM_IMA_DK3: | ||
1767 | + layout = "dk3"; | ||
1768 | + break; | ||
1769 | + case CODEC_ID_ADPCM_IMA_DK4: | ||
1770 | + layout = "dk4"; | ||
1771 | + break; | ||
1772 | + case CODEC_ID_ADPCM_IMA_WS: | ||
1773 | + layout = "westwood"; | ||
1774 | + break; | ||
1775 | + case CODEC_ID_ADPCM_IMA_SMJPEG: | ||
1776 | + layout = "smjpeg"; | ||
1777 | + break; | ||
1778 | + case CODEC_ID_ADPCM_IMA_AMV: | ||
1779 | + layout = "amv"; | ||
1780 | + break; | ||
1781 | + case CODEC_ID_ADPCM_IMA_ISS: | ||
1782 | + layout = "iss"; | ||
1783 | + break; | ||
1784 | + case CODEC_ID_ADPCM_IMA_EA_EACS: | ||
1785 | + layout = "ea-eacs"; | ||
1786 | + break; | ||
1787 | + case CODEC_ID_ADPCM_IMA_EA_SEAD: | ||
1788 | + layout = "ea-sead"; | ||
1789 | + break; | ||
1790 | + case CODEC_ID_ADPCM_MS: | ||
1791 | + layout = "microsoft"; | ||
1792 | + break; | ||
1793 | + case CODEC_ID_ADPCM_4XM: | ||
1794 | + layout = "4xm"; | ||
1795 | + break; | ||
1796 | + case CODEC_ID_ADPCM_XA: | ||
1797 | + layout = "xa"; | ||
1798 | + break; | ||
1799 | + case CODEC_ID_ADPCM_ADX: | ||
1800 | + layout = "adx"; | ||
1801 | + break; | ||
1802 | + case CODEC_ID_ADPCM_EA: | ||
1803 | + layout = "ea"; | ||
1804 | + break; | ||
1805 | + case CODEC_ID_ADPCM_CT: | ||
1806 | + layout = "ct"; | ||
1807 | + break; | ||
1808 | + case CODEC_ID_ADPCM_SWF: | ||
1809 | + layout = "swf"; | ||
1810 | + break; | ||
1811 | + case CODEC_ID_ADPCM_YAMAHA: | ||
1812 | + layout = "yamaha"; | ||
1813 | + break; | ||
1814 | + case CODEC_ID_ADPCM_SBPRO_2: | ||
1815 | + layout = "sbpro2"; | ||
1816 | + break; | ||
1817 | + case CODEC_ID_ADPCM_SBPRO_3: | ||
1818 | + layout = "sbpro3"; | ||
1819 | + break; | ||
1820 | + case CODEC_ID_ADPCM_SBPRO_4: | ||
1821 | + layout = "sbpro4"; | ||
1822 | + break; | ||
1823 | + case CODEC_ID_ADPCM_EA_R1: | ||
1824 | + layout = "ea-r1"; | ||
1825 | + break; | ||
1826 | + case CODEC_ID_ADPCM_EA_R2: | ||
1827 | + layout = "ea-r3"; | ||
1828 | + break; | ||
1829 | + case CODEC_ID_ADPCM_EA_R3: | ||
1830 | + layout = "ea-r3"; | ||
1831 | + break; | ||
1832 | + case CODEC_ID_ADPCM_EA_MAXIS_XA: | ||
1833 | + layout = "ea-maxis-xa"; | ||
1834 | + break; | ||
1835 | + case CODEC_ID_ADPCM_EA_XAS: | ||
1836 | + layout = "ea-xas"; | ||
1837 | + break; | ||
1838 | + case CODEC_ID_ADPCM_THP: | ||
1839 | + layout = "thp"; | ||
1840 | + break; | ||
1841 | + default: | ||
1842 | + g_assert (0); /* don't worry, we never get here */ | ||
1843 | + break; | ||
1844 | + } | ||
1845 | + | ||
1846 | + /* FIXME: someone please check whether we need additional properties | ||
1847 | + * in this caps definition. */ | ||
1848 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-adpcm", | ||
1849 | + "layout", G_TYPE_STRING, layout, NULL); | ||
1850 | + if (context) | ||
1851 | + gst_caps_set_simple (caps, | ||
1852 | + "block_align", G_TYPE_INT, context->block_align, | ||
1853 | + "bitrate", G_TYPE_INT, context->bit_rate, NULL); | ||
1854 | + } | ||
1855 | + break; | ||
1856 | + | ||
1857 | + case CODEC_ID_AMR_NB: | ||
1858 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/AMR", NULL); | ||
1859 | + break; | ||
1860 | + | ||
1861 | + case CODEC_ID_AMR_WB: | ||
1862 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/AMR-WB", NULL); | ||
1863 | + break; | ||
1864 | + | ||
1865 | + case CODEC_ID_GSM: | ||
1866 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-gsm", NULL); | ||
1867 | + break; | ||
1868 | + | ||
1869 | + case CODEC_ID_GSM_MS: | ||
1870 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/ms-gsm", NULL); | ||
1871 | + break; | ||
1872 | + | ||
1873 | + case CODEC_ID_NELLYMOSER: | ||
1874 | + caps = | ||
1875 | + gst_ff_aud_caps_new (context, codec_id, "audio/x-nellymoser", NULL); | ||
1876 | + break; | ||
1877 | + | ||
1878 | + case CODEC_ID_SIPR: | ||
1879 | + { | ||
1880 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-sipro", NULL); | ||
1881 | + if (context) { | ||
1882 | + gst_caps_set_simple (caps, | ||
1883 | + "leaf_size", G_TYPE_INT, context->block_align, | ||
1884 | + "bitrate", G_TYPE_INT, context->bit_rate, NULL); | ||
1885 | + } | ||
1886 | + } | ||
1887 | + break; | ||
1888 | + | ||
1889 | + case CODEC_ID_RA_144: | ||
1890 | + case CODEC_ID_RA_288: | ||
1891 | + case CODEC_ID_COOK: | ||
1892 | + { | ||
1893 | + gint version = 0; | ||
1894 | + | ||
1895 | + switch (codec_id) { | ||
1896 | + case CODEC_ID_RA_144: | ||
1897 | + version = 1; | ||
1898 | + break; | ||
1899 | + case CODEC_ID_RA_288: | ||
1900 | + version = 2; | ||
1901 | + break; | ||
1902 | + case CODEC_ID_COOK: | ||
1903 | + version = 8; | ||
1904 | + break; | ||
1905 | + default: | ||
1906 | + break; | ||
1907 | + } | ||
1908 | + | ||
1909 | + /* FIXME: properties? */ | ||
1910 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-pn-realaudio", | ||
1911 | + "raversion", G_TYPE_INT, version, NULL); | ||
1912 | + if (context) { | ||
1913 | + gst_caps_set_simple (caps, | ||
1914 | + "leaf_size", G_TYPE_INT, context->block_align, | ||
1915 | + "bitrate", G_TYPE_INT, context->bit_rate, NULL); | ||
1916 | + } | ||
1917 | + } | ||
1918 | + break; | ||
1919 | + | ||
1920 | + case CODEC_ID_ROQ_DPCM: | ||
1921 | + case CODEC_ID_INTERPLAY_DPCM: | ||
1922 | + case CODEC_ID_XAN_DPCM: | ||
1923 | + case CODEC_ID_SOL_DPCM: | ||
1924 | + { | ||
1925 | + const gchar *layout = NULL; | ||
1926 | + | ||
1927 | + switch (codec_id) { | ||
1928 | + case CODEC_ID_ROQ_DPCM: | ||
1929 | + layout = "roq"; | ||
1930 | + break; | ||
1931 | + case CODEC_ID_INTERPLAY_DPCM: | ||
1932 | + layout = "interplay"; | ||
1933 | + break; | ||
1934 | + case CODEC_ID_XAN_DPCM: | ||
1935 | + layout = "xan"; | ||
1936 | + break; | ||
1937 | + case CODEC_ID_SOL_DPCM: | ||
1938 | + layout = "sol"; | ||
1939 | + break; | ||
1940 | + default: | ||
1941 | + g_assert (0); /* don't worry, we never get here */ | ||
1942 | + break; | ||
1943 | + } | ||
1944 | + | ||
1945 | + /* FIXME: someone please check whether we need additional properties | ||
1946 | + * in this caps definition. */ | ||
1947 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-dpcm", | ||
1948 | + "layout", G_TYPE_STRING, layout, NULL); | ||
1949 | + if (context) | ||
1950 | + gst_caps_set_simple (caps, | ||
1951 | + "block_align", G_TYPE_INT, context->block_align, | ||
1952 | + "bitrate", G_TYPE_INT, context->bit_rate, NULL); | ||
1953 | + } | ||
1954 | + break; | ||
1955 | + | ||
1956 | + case CODEC_ID_SHORTEN: | ||
1957 | + caps = gst_caps_new_simple ("audio/x-shorten", NULL); | ||
1958 | + break; | ||
1959 | + | ||
1960 | + case CODEC_ID_ALAC: | ||
1961 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-alac", NULL); | ||
1962 | + if (context) { | ||
1963 | + gst_caps_set_simple (caps, | ||
1964 | + "samplesize", G_TYPE_INT, context->bits_per_coded_sample, NULL); | ||
1965 | + } | ||
1966 | + break; | ||
1967 | + | ||
1968 | + case CODEC_ID_FLAC: | ||
1969 | + /* Note that ffmpeg has no encoder yet, but just for safety. In the | ||
1970 | + * encoder case, we want to add things like samplerate, channels... */ | ||
1971 | + if (!encode) { | ||
1972 | + caps = gst_caps_new_simple ("audio/x-flac", NULL); | ||
1973 | + } | ||
1974 | + break; | ||
1975 | + | ||
1976 | + case CODEC_ID_DVD_SUBTITLE: | ||
1977 | + case CODEC_ID_DVB_SUBTITLE: | ||
1978 | + caps = NULL; | ||
1979 | + break; | ||
1980 | + case CODEC_ID_BMP: | ||
1981 | + caps = gst_caps_new_simple ("image/bmp", NULL); | ||
1982 | + break; | ||
1983 | + case CODEC_ID_TTA: | ||
1984 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-tta", NULL); | ||
1985 | + if (context) { | ||
1986 | + gst_caps_set_simple (caps, | ||
1987 | + "samplesize", G_TYPE_INT, context->bits_per_coded_sample, NULL); | ||
1988 | + } | ||
1989 | + break; | ||
1990 | + case CODEC_ID_TWINVQ: | ||
1991 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-twin-vq", NULL); | ||
1992 | + break; | ||
1993 | + default: | ||
1994 | + GST_DEBUG ("Unknown codec ID %d, please add mapping here", codec_id); | ||
1995 | + break; | ||
1996 | + } | ||
1997 | + | ||
1998 | + if (buildcaps) { | ||
1999 | + AVCodec *codec; | ||
2000 | + | ||
2001 | + if ((codec = avcodec_find_decoder (codec_id)) || | ||
2002 | + (codec = avcodec_find_encoder (codec_id))) { | ||
2003 | + gchar *mime = NULL; | ||
2004 | + | ||
2005 | + GST_LOG ("Could not create stream format caps for %s", codec->name); | ||
2006 | + | ||
2007 | + switch (codec->type) { | ||
2008 | + case AVMEDIA_TYPE_VIDEO: | ||
2009 | + mime = g_strdup_printf ("video/x-gst_ff-%s", codec->name); | ||
2010 | + caps = gst_ff_vid_caps_new (context, codec_id, mime, NULL); | ||
2011 | + g_free (mime); | ||
2012 | + break; | ||
2013 | + case AVMEDIA_TYPE_AUDIO: | ||
2014 | + mime = g_strdup_printf ("audio/x-gst_ff-%s", codec->name); | ||
2015 | + caps = gst_ff_aud_caps_new (context, codec_id, mime, NULL); | ||
2016 | + if (context) | ||
2017 | + gst_caps_set_simple (caps, | ||
2018 | + "block_align", G_TYPE_INT, context->block_align, | ||
2019 | + "bitrate", G_TYPE_INT, context->bit_rate, NULL); | ||
2020 | + g_free (mime); | ||
2021 | + break; | ||
2022 | + default: | ||
2023 | + break; | ||
2024 | + } | ||
2025 | + } | ||
2026 | + } | ||
2027 | + | ||
2028 | + if (caps != NULL) { | ||
2029 | + | ||
2030 | + /* set private data */ | ||
2031 | + if (context && context->extradata_size > 0) { | ||
2032 | + GstBuffer *data = gst_buffer_new_and_alloc (context->extradata_size); | ||
2033 | + | ||
2034 | + memcpy (GST_BUFFER_DATA (data), context->extradata, | ||
2035 | + context->extradata_size); | ||
2036 | + gst_caps_set_simple (caps, "codec_data", GST_TYPE_BUFFER, data, NULL); | ||
2037 | + gst_buffer_unref (data); | ||
2038 | + } | ||
2039 | + | ||
2040 | + /* palette */ | ||
2041 | + if (context) { | ||
2042 | + gst_ffmpeg_set_palette (caps, context); | ||
2043 | + } | ||
2044 | + | ||
2045 | + GST_LOG ("caps for codec_id=%d: %" GST_PTR_FORMAT, codec_id, caps); | ||
2046 | + | ||
2047 | + } else { | ||
2048 | + GST_LOG ("No caps found for codec_id=%d", codec_id); | ||
2049 | + } | ||
2050 | + | ||
2051 | + return caps; | ||
2052 | +} | ||
2053 | + | ||
2054 | +/* Convert a FFMPEG Pixel Format and optional AVCodecContext | ||
2055 | + * to a GstCaps. If the context is ommitted, no fixed values | ||
2056 | + * for video/audio size will be included in the GstCaps | ||
2057 | + * | ||
2058 | + * See below for usefullness | ||
2059 | + */ | ||
2060 | + | ||
2061 | +GstCaps * | ||
2062 | +gst_ffmpeg_pixfmt_to_caps (enum PixelFormat pix_fmt, AVCodecContext * context, | ||
2063 | + enum CodecID codec_id) | ||
2064 | +{ | ||
2065 | + GstCaps *caps = NULL; | ||
2066 | + | ||
2067 | + int bpp = 0, depth = 0, endianness = 0; | ||
2068 | + gulong g_mask = 0, r_mask = 0, b_mask = 0, a_mask = 0; | ||
2069 | + guint32 fmt = 0; | ||
2070 | + | ||
2071 | + switch (pix_fmt) { | ||
2072 | + case PIX_FMT_YUVJ420P: | ||
2073 | + case PIX_FMT_YUV420P: | ||
2074 | + fmt = GST_MAKE_FOURCC ('I', '4', '2', '0'); | ||
2075 | + break; | ||
2076 | + case PIX_FMT_YUVA420P: | ||
2077 | + fmt = GST_MAKE_FOURCC ('A', '4', '2', '0'); | ||
2078 | + break; | ||
2079 | + case PIX_FMT_YUYV422: | ||
2080 | + fmt = GST_MAKE_FOURCC ('Y', 'U', 'Y', '2'); | ||
2081 | + break; | ||
2082 | + case PIX_FMT_RGB24: | ||
2083 | + bpp = depth = 24; | ||
2084 | + endianness = G_BIG_ENDIAN; | ||
2085 | + r_mask = 0xff0000; | ||
2086 | + g_mask = 0x00ff00; | ||
2087 | + b_mask = 0x0000ff; | ||
2088 | + break; | ||
2089 | + case PIX_FMT_BGR24: | ||
2090 | + bpp = depth = 24; | ||
2091 | + endianness = G_BIG_ENDIAN; | ||
2092 | + r_mask = 0x0000ff; | ||
2093 | + g_mask = 0x00ff00; | ||
2094 | + b_mask = 0xff0000; | ||
2095 | + break; | ||
2096 | + case PIX_FMT_YUVJ422P: | ||
2097 | + case PIX_FMT_YUV422P: | ||
2098 | + fmt = GST_MAKE_FOURCC ('Y', '4', '2', 'B'); | ||
2099 | + break; | ||
2100 | + case PIX_FMT_YUVJ444P: | ||
2101 | + case PIX_FMT_YUV444P: | ||
2102 | + fmt = GST_MAKE_FOURCC ('Y', '4', '4', '4'); | ||
2103 | + break; | ||
2104 | + case PIX_FMT_RGB32: | ||
2105 | + bpp = 32; | ||
2106 | + depth = 32; | ||
2107 | + endianness = G_BIG_ENDIAN; | ||
2108 | +#if (G_BYTE_ORDER == G_BIG_ENDIAN) | ||
2109 | + r_mask = 0x00ff0000; | ||
2110 | + g_mask = 0x0000ff00; | ||
2111 | + b_mask = 0x000000ff; | ||
2112 | + a_mask = 0xff000000; | ||
2113 | +#else | ||
2114 | + r_mask = 0x0000ff00; | ||
2115 | + g_mask = 0x00ff0000; | ||
2116 | + b_mask = 0xff000000; | ||
2117 | + a_mask = 0x000000ff; | ||
2118 | +#endif | ||
2119 | + break; | ||
2120 | + case PIX_FMT_YUV410P: | ||
2121 | + fmt = GST_MAKE_FOURCC ('Y', 'U', 'V', '9'); | ||
2122 | + break; | ||
2123 | + case PIX_FMT_YUV411P: | ||
2124 | + fmt = GST_MAKE_FOURCC ('Y', '4', '1', 'B'); | ||
2125 | + break; | ||
2126 | + case PIX_FMT_RGB565: | ||
2127 | + bpp = depth = 16; | ||
2128 | + endianness = G_BYTE_ORDER; | ||
2129 | + r_mask = 0xf800; | ||
2130 | + g_mask = 0x07e0; | ||
2131 | + b_mask = 0x001f; | ||
2132 | + break; | ||
2133 | + case PIX_FMT_RGB555: | ||
2134 | + bpp = 16; | ||
2135 | + depth = 15; | ||
2136 | + endianness = G_BYTE_ORDER; | ||
2137 | + r_mask = 0x7c00; | ||
2138 | + g_mask = 0x03e0; | ||
2139 | + b_mask = 0x001f; | ||
2140 | + break; | ||
2141 | + case PIX_FMT_PAL8: | ||
2142 | + bpp = depth = 8; | ||
2143 | + endianness = G_BYTE_ORDER; | ||
2144 | + break; | ||
2145 | + case PIX_FMT_GRAY8: | ||
2146 | + bpp = depth = 8; | ||
2147 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-raw-gray", | ||
2148 | + "bpp", G_TYPE_INT, bpp, "depth", G_TYPE_INT, depth, NULL); | ||
2149 | + break; | ||
2150 | + default: | ||
2151 | + /* give up ... */ | ||
2152 | + break; | ||
2153 | + } | ||
2154 | + | ||
2155 | + if (caps == NULL) { | ||
2156 | + if (bpp != 0) { | ||
2157 | + if (r_mask != 0) { | ||
2158 | + if (a_mask) { | ||
2159 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-raw-rgb", | ||
2160 | + "bpp", G_TYPE_INT, bpp, | ||
2161 | + "depth", G_TYPE_INT, depth, | ||
2162 | + "red_mask", G_TYPE_INT, r_mask, | ||
2163 | + "green_mask", G_TYPE_INT, g_mask, | ||
2164 | + "blue_mask", G_TYPE_INT, b_mask, | ||
2165 | + "alpha_mask", G_TYPE_INT, a_mask, | ||
2166 | + "endianness", G_TYPE_INT, endianness, NULL); | ||
2167 | + } else { | ||
2168 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-raw-rgb", | ||
2169 | + "bpp", G_TYPE_INT, bpp, | ||
2170 | + "depth", G_TYPE_INT, depth, | ||
2171 | + "red_mask", G_TYPE_INT, r_mask, | ||
2172 | + "green_mask", G_TYPE_INT, g_mask, | ||
2173 | + "blue_mask", G_TYPE_INT, b_mask, | ||
2174 | + "endianness", G_TYPE_INT, endianness, NULL); | ||
2175 | + } | ||
2176 | + } else { | ||
2177 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-raw-rgb", | ||
2178 | + "bpp", G_TYPE_INT, bpp, | ||
2179 | + "depth", G_TYPE_INT, depth, | ||
2180 | + "endianness", G_TYPE_INT, endianness, NULL); | ||
2181 | + if (caps && context) { | ||
2182 | + gst_ffmpeg_set_palette (caps, context); | ||
2183 | + } | ||
2184 | + } | ||
2185 | + } else if (fmt) { | ||
2186 | + caps = gst_ff_vid_caps_new (context, codec_id, "video/x-raw-yuv", | ||
2187 | + "format", GST_TYPE_FOURCC, fmt, NULL); | ||
2188 | + } | ||
2189 | + } | ||
2190 | + | ||
2191 | + if (caps != NULL) { | ||
2192 | + GST_DEBUG ("caps for pix_fmt=%d: %" GST_PTR_FORMAT, pix_fmt, caps); | ||
2193 | + } else { | ||
2194 | + GST_LOG ("No caps found for pix_fmt=%d", pix_fmt); | ||
2195 | + } | ||
2196 | + | ||
2197 | + return caps; | ||
2198 | +} | ||
2199 | + | ||
2200 | +/* Convert a FFMPEG Sample Format and optional AVCodecContext | ||
2201 | + * to a GstCaps. If the context is ommitted, no fixed values | ||
2202 | + * for video/audio size will be included in the GstCaps | ||
2203 | + * | ||
2204 | + * See below for usefullness | ||
2205 | + */ | ||
2206 | + | ||
2207 | +static GstCaps * | ||
2208 | +gst_ffmpeg_smpfmt_to_caps (enum AVSampleFormat sample_fmt, | ||
2209 | + AVCodecContext * context, enum CodecID codec_id) | ||
2210 | +{ | ||
2211 | + GstCaps *caps = NULL; | ||
2212 | + | ||
2213 | + int bpp = 0; | ||
2214 | + gboolean integer = TRUE; | ||
2215 | + gboolean signedness = FALSE; | ||
2216 | + | ||
2217 | + switch (sample_fmt) { | ||
2218 | + case AV_SAMPLE_FMT_S16: | ||
2219 | + signedness = TRUE; | ||
2220 | + bpp = 16; | ||
2221 | + break; | ||
2222 | + | ||
2223 | + case AV_SAMPLE_FMT_S32: | ||
2224 | + signedness = TRUE; | ||
2225 | + bpp = 32; | ||
2226 | + break; | ||
2227 | + | ||
2228 | + case AV_SAMPLE_FMT_FLT: | ||
2229 | + integer = FALSE; | ||
2230 | + bpp = 32; | ||
2231 | + break; | ||
2232 | + | ||
2233 | + case AV_SAMPLE_FMT_DBL: | ||
2234 | + integer = FALSE; | ||
2235 | + bpp = 64; | ||
2236 | + break; | ||
2237 | + default: | ||
2238 | + /* .. */ | ||
2239 | + break; | ||
2240 | + } | ||
2241 | + | ||
2242 | + if (bpp) { | ||
2243 | + if (integer) { | ||
2244 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-raw-int", | ||
2245 | + "signed", G_TYPE_BOOLEAN, signedness, | ||
2246 | + "endianness", G_TYPE_INT, G_BYTE_ORDER, | ||
2247 | + "width", G_TYPE_INT, bpp, "depth", G_TYPE_INT, bpp, NULL); | ||
2248 | + } else { | ||
2249 | + caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-raw-float", | ||
2250 | + "endianness", G_TYPE_INT, G_BYTE_ORDER, | ||
2251 | + "width", G_TYPE_INT, bpp, NULL); | ||
2252 | + } | ||
2253 | + } | ||
2254 | + | ||
2255 | + if (caps != NULL) { | ||
2256 | + GST_LOG ("caps for sample_fmt=%d: %" GST_PTR_FORMAT, sample_fmt, caps); | ||
2257 | + } else { | ||
2258 | + GST_LOG ("No caps found for sample_fmt=%d", sample_fmt); | ||
2259 | + } | ||
2260 | + | ||
2261 | + return caps; | ||
2262 | +} | ||
2263 | + | ||
2264 | +GstCaps * | ||
2265 | +gst_ffmpeg_codectype_to_audio_caps (AVCodecContext * context, | ||
2266 | + enum CodecID codec_id, gboolean encode, AVCodec * codec) | ||
2267 | +{ | ||
2268 | + GstCaps *caps = NULL; | ||
2269 | + | ||
2270 | + GST_DEBUG ("context:%p, codec_id:%d, encode:%d, codec:%p", | ||
2271 | + context, codec_id, encode, codec); | ||
2272 | + if (codec) | ||
2273 | + GST_DEBUG ("sample_fmts:%p, samplerates:%p", | ||
2274 | + codec->sample_fmts, codec->supported_samplerates); | ||
2275 | + | ||
2276 | + if (context) { | ||
2277 | + /* Specific codec context */ | ||
2278 | + caps = gst_ffmpeg_smpfmt_to_caps (context->sample_fmt, context, codec_id); | ||
2279 | + } else if (codec && codec->sample_fmts) { | ||
2280 | + GstCaps *temp; | ||
2281 | + int i; | ||
2282 | + | ||
2283 | + caps = gst_caps_new_empty (); | ||
2284 | + for (i = 0; codec->sample_fmts[i] != -1; i++) { | ||
2285 | + temp = | ||
2286 | + gst_ffmpeg_smpfmt_to_caps (codec->sample_fmts[i], context, codec_id); | ||
2287 | + if (temp != NULL) | ||
2288 | + gst_caps_append (caps, temp); | ||
2289 | + } | ||
2290 | + } else { | ||
2291 | + GstCaps *temp; | ||
2292 | + enum AVSampleFormat i; | ||
2293 | + AVCodecContext ctx = { 0, }; | ||
2294 | + | ||
2295 | + ctx.channels = -1; | ||
2296 | + caps = gst_caps_new_empty (); | ||
2297 | + for (i = 0; i <= AV_SAMPLE_FMT_DBL; i++) { | ||
2298 | + temp = gst_ffmpeg_smpfmt_to_caps (i, encode ? &ctx : NULL, codec_id); | ||
2299 | + if (temp != NULL) { | ||
2300 | + gst_caps_append (caps, temp); | ||
2301 | + } | ||
2302 | + } | ||
2303 | + } | ||
2304 | + return caps; | ||
2305 | +} | ||
2306 | + | ||
2307 | +GstCaps * | ||
2308 | +gst_ffmpeg_codectype_to_video_caps (AVCodecContext * context, | ||
2309 | + enum CodecID codec_id, gboolean encode, AVCodec * codec) | ||
2310 | +{ | ||
2311 | + GstCaps *caps; | ||
2312 | + | ||
2313 | + GST_LOG ("context:%p, codec_id:%d, encode:%d, codec:%p", | ||
2314 | + context, codec_id, encode, codec); | ||
2315 | + | ||
2316 | + if (context) { | ||
2317 | + caps = gst_ffmpeg_pixfmt_to_caps (context->pix_fmt, context, codec_id); | ||
2318 | + } else { | ||
2319 | + GstCaps *temp; | ||
2320 | + enum PixelFormat i; | ||
2321 | + AVCodecContext ctx = { 0, }; | ||
2322 | + | ||
2323 | + caps = gst_caps_new_empty (); | ||
2324 | + for (i = 0; i < PIX_FMT_NB; i++) { | ||
2325 | + ctx.width = -1; | ||
2326 | + ctx.pix_fmt = i; | ||
2327 | + temp = gst_ffmpeg_pixfmt_to_caps (i, encode ? &ctx : NULL, codec_id); | ||
2328 | + if (temp != NULL) { | ||
2329 | + gst_caps_append (caps, temp); | ||
2330 | + } | ||
2331 | + } | ||
2332 | + } | ||
2333 | + return caps; | ||
2334 | +} | ||
2335 | + | ||
2336 | +/* Convert a FFMPEG codec Type and optional AVCodecContext | ||
2337 | + * to a GstCaps. If the context is ommitted, no fixed values | ||
2338 | + * for video/audio size will be included in the GstCaps | ||
2339 | + * | ||
2340 | + * AVMediaType is primarily meant for uncompressed data GstCaps! | ||
2341 | + */ | ||
2342 | + | ||
2343 | +GstCaps * | ||
2344 | +gst_ffmpeg_codectype_to_caps (enum AVMediaType codec_type, | ||
2345 | + AVCodecContext * context, enum CodecID codec_id, gboolean encode) | ||
2346 | +{ | ||
2347 | + GstCaps *caps; | ||
2348 | + | ||
2349 | + switch (codec_type) { | ||
2350 | + case AVMEDIA_TYPE_VIDEO: | ||
2351 | + caps = | ||
2352 | + gst_ffmpeg_codectype_to_video_caps (context, codec_id, encode, NULL); | ||
2353 | + break; | ||
2354 | + case AVMEDIA_TYPE_AUDIO: | ||
2355 | + caps = | ||
2356 | + gst_ffmpeg_codectype_to_audio_caps (context, codec_id, encode, NULL); | ||
2357 | + break; | ||
2358 | + default: | ||
2359 | + caps = NULL; | ||
2360 | + break; | ||
2361 | + } | ||
2362 | + | ||
2363 | + return caps; | ||
2364 | +} | ||
2365 | + | ||
2366 | +/* Convert a GstCaps (audio/raw) to a FFMPEG SampleFmt | ||
2367 | + * and other audio properties in a AVCodecContext. | ||
2368 | + * | ||
2369 | + * For usefullness, see below | ||
2370 | + */ | ||
2371 | + | ||
2372 | +static void | ||
2373 | +gst_ffmpeg_caps_to_smpfmt (const GstCaps * caps, | ||
2374 | + AVCodecContext * context, gboolean raw) | ||
2375 | +{ | ||
2376 | + GstStructure *structure; | ||
2377 | + gint depth = 0, width = 0, endianness = 0; | ||
2378 | + gboolean signedness = FALSE; | ||
2379 | + const gchar *name; | ||
2380 | + | ||
2381 | + g_return_if_fail (gst_caps_get_size (caps) == 1); | ||
2382 | + structure = gst_caps_get_structure (caps, 0); | ||
2383 | + | ||
2384 | + gst_structure_get_int (structure, "channels", &context->channels); | ||
2385 | + gst_structure_get_int (structure, "rate", &context->sample_rate); | ||
2386 | + gst_structure_get_int (structure, "block_align", &context->block_align); | ||
2387 | + gst_structure_get_int (structure, "bitrate", &context->bit_rate); | ||
2388 | + | ||
2389 | + if (!raw) | ||
2390 | + return; | ||
2391 | + | ||
2392 | + name = gst_structure_get_name (structure); | ||
2393 | + | ||
2394 | + if (!strcmp (name, "audio/x-raw-float")) { | ||
2395 | + /* FLOAT */ | ||
2396 | + if (gst_structure_get_int (structure, "width", &width) && | ||
2397 | + gst_structure_get_int (structure, "endianness", &endianness)) { | ||
2398 | + if (endianness == G_BYTE_ORDER) { | ||
2399 | + if (width == 32) | ||
2400 | + context->sample_fmt = AV_SAMPLE_FMT_FLT; | ||
2401 | + else if (width == 64) | ||
2402 | + context->sample_fmt = AV_SAMPLE_FMT_DBL; | ||
2403 | + } | ||
2404 | + } | ||
2405 | + } else { | ||
2406 | + /* INT */ | ||
2407 | + if (gst_structure_get_int (structure, "width", &width) && | ||
2408 | + gst_structure_get_int (structure, "depth", &depth) && | ||
2409 | + gst_structure_get_boolean (structure, "signed", &signedness) && | ||
2410 | + gst_structure_get_int (structure, "endianness", &endianness)) { | ||
2411 | + if ((endianness == G_BYTE_ORDER) && (signedness == TRUE)) { | ||
2412 | + if ((width == 16) && (depth == 16)) | ||
2413 | + context->sample_fmt = AV_SAMPLE_FMT_S16; | ||
2414 | + else if ((width == 32) && (depth == 32)) | ||
2415 | + context->sample_fmt = AV_SAMPLE_FMT_S32; | ||
2416 | + } | ||
2417 | + } | ||
2418 | + } | ||
2419 | +} | ||
2420 | + | ||
2421 | + | ||
2422 | +/* Convert a GstCaps (video/raw) to a FFMPEG PixFmt | ||
2423 | + * and other video properties in a AVCodecContext. | ||
2424 | + * | ||
2425 | + * For usefullness, see below | ||
2426 | + */ | ||
2427 | + | ||
2428 | +static void | ||
2429 | +gst_ffmpeg_caps_to_pixfmt (const GstCaps * caps, | ||
2430 | + AVCodecContext * context, gboolean raw) | ||
2431 | +{ | ||
2432 | + GstStructure *structure; | ||
2433 | + const GValue *fps; | ||
2434 | + const GValue *par = NULL; | ||
2435 | + | ||
2436 | + GST_DEBUG ("converting caps %" GST_PTR_FORMAT, caps); | ||
2437 | + g_return_if_fail (gst_caps_get_size (caps) == 1); | ||
2438 | + structure = gst_caps_get_structure (caps, 0); | ||
2439 | + | ||
2440 | + gst_structure_get_int (structure, "width", &context->width); | ||
2441 | + gst_structure_get_int (structure, "height", &context->height); | ||
2442 | + gst_structure_get_int (structure, "bpp", &context->bits_per_coded_sample); | ||
2443 | + | ||
2444 | + fps = gst_structure_get_value (structure, "framerate"); | ||
2445 | + if (fps != NULL && GST_VALUE_HOLDS_FRACTION (fps)) { | ||
2446 | + | ||
2447 | + /* somehow these seem mixed up.. */ | ||
2448 | + context->time_base.den = gst_value_get_fraction_numerator (fps); | ||
2449 | + context->time_base.num = gst_value_get_fraction_denominator (fps); | ||
2450 | + context->ticks_per_frame = 1; | ||
2451 | + | ||
2452 | + GST_DEBUG ("setting framerate %d/%d = %lf", | ||
2453 | + context->time_base.den, context->time_base.num, | ||
2454 | + 1. * context->time_base.den / context->time_base.num); | ||
2455 | + } | ||
2456 | + | ||
2457 | + par = gst_structure_get_value (structure, "pixel-aspect-ratio"); | ||
2458 | + if (par && GST_VALUE_HOLDS_FRACTION (par)) { | ||
2459 | + | ||
2460 | + context->sample_aspect_ratio.num = gst_value_get_fraction_numerator (par); | ||
2461 | + context->sample_aspect_ratio.den = gst_value_get_fraction_denominator (par); | ||
2462 | + | ||
2463 | + GST_DEBUG ("setting pixel-aspect-ratio %d/%d = %lf", | ||
2464 | + context->sample_aspect_ratio.den, context->sample_aspect_ratio.num, | ||
2465 | + 1. * context->sample_aspect_ratio.den / | ||
2466 | + context->sample_aspect_ratio.num); | ||
2467 | + } | ||
2468 | + | ||
2469 | + if (!raw) | ||
2470 | + return; | ||
2471 | + | ||
2472 | + g_return_if_fail (fps != NULL && GST_VALUE_HOLDS_FRACTION (fps)); | ||
2473 | + | ||
2474 | + if (strcmp (gst_structure_get_name (structure), "video/x-raw-yuv") == 0) { | ||
2475 | + guint32 fourcc; | ||
2476 | + | ||
2477 | + if (gst_structure_get_fourcc (structure, "format", &fourcc)) { | ||
2478 | + switch (fourcc) { | ||
2479 | + case GST_MAKE_FOURCC ('Y', 'U', 'Y', '2'): | ||
2480 | + context->pix_fmt = PIX_FMT_YUYV422; | ||
2481 | + break; | ||
2482 | + case GST_MAKE_FOURCC ('I', '4', '2', '0'): | ||
2483 | + context->pix_fmt = PIX_FMT_YUV420P; | ||
2484 | + break; | ||
2485 | + case GST_MAKE_FOURCC ('A', '4', '2', '0'): | ||
2486 | + context->pix_fmt = PIX_FMT_YUVA420P; | ||
2487 | + break; | ||
2488 | + case GST_MAKE_FOURCC ('Y', '4', '1', 'B'): | ||
2489 | + context->pix_fmt = PIX_FMT_YUV411P; | ||
2490 | + break; | ||
2491 | + case GST_MAKE_FOURCC ('Y', '4', '2', 'B'): | ||
2492 | + context->pix_fmt = PIX_FMT_YUV422P; | ||
2493 | + break; | ||
2494 | + case GST_MAKE_FOURCC ('Y', 'U', 'V', '9'): | ||
2495 | + context->pix_fmt = PIX_FMT_YUV410P; | ||
2496 | + break; | ||
2497 | +#if 0 | ||
2498 | + case FIXME: | ||
2499 | + context->pix_fmt = PIX_FMT_YUV444P; | ||
2500 | + break; | ||
2501 | +#endif | ||
2502 | + } | ||
2503 | + } | ||
2504 | + } else if (strcmp (gst_structure_get_name (structure), | ||
2505 | + "video/x-raw-rgb") == 0) { | ||
2506 | + gint bpp = 0, rmask = 0, endianness = 0; | ||
2507 | + | ||
2508 | + if (gst_structure_get_int (structure, "bpp", &bpp) && | ||
2509 | + gst_structure_get_int (structure, "endianness", &endianness)) { | ||
2510 | + if (gst_structure_get_int (structure, "red_mask", &rmask)) { | ||
2511 | + switch (bpp) { | ||
2512 | + case 32: | ||
2513 | +#if (G_BYTE_ORDER == G_BIG_ENDIAN) | ||
2514 | + if (rmask == 0x00ff0000) | ||
2515 | +#else | ||
2516 | + if (rmask == 0x0000ff00) | ||
2517 | +#endif | ||
2518 | + context->pix_fmt = PIX_FMT_RGB32; | ||
2519 | + break; | ||
2520 | + case 24: | ||
2521 | + if (rmask == 0x0000FF) | ||
2522 | + context->pix_fmt = PIX_FMT_BGR24; | ||
2523 | + else | ||
2524 | + context->pix_fmt = PIX_FMT_RGB24; | ||
2525 | + break; | ||
2526 | + case 16: | ||
2527 | + if (endianness == G_BYTE_ORDER) | ||
2528 | + context->pix_fmt = PIX_FMT_RGB565; | ||
2529 | + break; | ||
2530 | + case 15: | ||
2531 | + if (endianness == G_BYTE_ORDER) | ||
2532 | + context->pix_fmt = PIX_FMT_RGB555; | ||
2533 | + break; | ||
2534 | + default: | ||
2535 | + /* nothing */ | ||
2536 | + break; | ||
2537 | + } | ||
2538 | + } else { | ||
2539 | + if (bpp == 8) { | ||
2540 | + context->pix_fmt = PIX_FMT_PAL8; | ||
2541 | + gst_ffmpeg_get_palette (caps, context); | ||
2542 | + } | ||
2543 | + } | ||
2544 | + } | ||
2545 | + } else if (strcmp (gst_structure_get_name (structure), | ||
2546 | + "video/x-raw-gray") == 0) { | ||
2547 | + gint bpp = 0; | ||
2548 | + | ||
2549 | + if (gst_structure_get_int (structure, "bpp", &bpp)) { | ||
2550 | + switch (bpp) { | ||
2551 | + case 8: | ||
2552 | + context->pix_fmt = PIX_FMT_GRAY8; | ||
2553 | + break; | ||
2554 | + } | ||
2555 | + } | ||
2556 | + } | ||
2557 | +} | ||
2558 | + | ||
2559 | +/* Convert a GstCaps and a FFMPEG codec Type to a | ||
2560 | + * AVCodecContext. If the context is ommitted, no fixed values | ||
2561 | + * for video/audio size will be included in the context | ||
2562 | + * | ||
2563 | + * AVMediaType is primarily meant for uncompressed data GstCaps! | ||
2564 | + */ | ||
2565 | + | ||
2566 | +void | ||
2567 | +gst_ffmpeg_caps_with_codectype (enum AVMediaType type, | ||
2568 | + const GstCaps * caps, AVCodecContext * context) | ||
2569 | +{ | ||
2570 | + if (context == NULL) | ||
2571 | + return; | ||
2572 | + | ||
2573 | + switch (type) { | ||
2574 | + case AVMEDIA_TYPE_VIDEO: | ||
2575 | + gst_ffmpeg_caps_to_pixfmt (caps, context, TRUE); | ||
2576 | + break; | ||
2577 | + | ||
2578 | + case AVMEDIA_TYPE_AUDIO: | ||
2579 | + gst_ffmpeg_caps_to_smpfmt (caps, context, TRUE); | ||
2580 | + break; | ||
2581 | + | ||
2582 | + default: | ||
2583 | + /* unknown */ | ||
2584 | + break; | ||
2585 | + } | ||
2586 | +} | ||
2587 | + | ||
2588 | +#if 0 | ||
2589 | +static void | ||
2590 | +nal_escape (guint8 * dst, guint8 * src, guint size, guint * destsize) | ||
2591 | +{ | ||
2592 | + guint8 *dstp = dst; | ||
2593 | + guint8 *srcp = src; | ||
2594 | + guint8 *end = src + size; | ||
2595 | + gint count = 0; | ||
2596 | + | ||
2597 | + while (srcp < end) { | ||
2598 | + if (count == 2 && *srcp <= 0x03) { | ||
2599 | + GST_DEBUG ("added escape code"); | ||
2600 | + *dstp++ = 0x03; | ||
2601 | + count = 0; | ||
2602 | + } | ||
2603 | + if (*srcp == 0) | ||
2604 | + count++; | ||
2605 | + else | ||
2606 | + count = 0; | ||
2607 | + | ||
2608 | + GST_DEBUG ("copy %02x, count %d", *srcp, count); | ||
2609 | + *dstp++ = *srcp++; | ||
2610 | + } | ||
2611 | + *destsize = dstp - dst; | ||
2612 | +} | ||
2613 | + | ||
2614 | +/* copy the config, escaping NAL units as we iterate them, if something fails we | ||
2615 | + * copy everything and hope for the best. */ | ||
2616 | +static void | ||
2617 | +copy_config (guint8 * dst, guint8 * src, guint size, guint * destsize) | ||
2618 | +{ | ||
2619 | + guint8 *dstp = dst; | ||
2620 | + guint8 *srcp = src; | ||
2621 | + gint cnt, i; | ||
2622 | + guint nalsize, esize; | ||
2623 | + | ||
2624 | + /* check size */ | ||
2625 | + if (size < 7) | ||
2626 | + goto full_copy; | ||
2627 | + | ||
2628 | + /* check version */ | ||
2629 | + if (*srcp != 1) | ||
2630 | + goto full_copy; | ||
2631 | + | ||
2632 | + cnt = *(srcp + 5) & 0x1f; /* Number of sps */ | ||
2633 | + | ||
2634 | + GST_DEBUG ("num SPS %d", cnt); | ||
2635 | + | ||
2636 | + memcpy (dstp, srcp, 6); | ||
2637 | + srcp += 6; | ||
2638 | + dstp += 6; | ||
2639 | + | ||
2640 | + for (i = 0; i < cnt; i++) { | ||
2641 | + GST_DEBUG ("copy SPS %d", i); | ||
2642 | + nalsize = (srcp[0] << 8) | srcp[1]; | ||
2643 | + nal_escape (dstp + 2, srcp + 2, nalsize, &esize); | ||
2644 | + dstp[0] = esize >> 8; | ||
2645 | + dstp[1] = esize & 0xff; | ||
2646 | + dstp += esize + 2; | ||
2647 | + srcp += nalsize + 2; | ||
2648 | + } | ||
2649 | + | ||
2650 | + cnt = *(dstp++) = *(srcp++); /* Number of pps */ | ||
2651 | + | ||
2652 | + GST_DEBUG ("num PPS %d", cnt); | ||
2653 | + | ||
2654 | + for (i = 0; i < cnt; i++) { | ||
2655 | + GST_DEBUG ("copy PPS %d", i); | ||
2656 | + nalsize = (srcp[0] << 8) | srcp[1]; | ||
2657 | + nal_escape (dstp + 2, srcp + 2, nalsize, &esize); | ||
2658 | + dstp[0] = esize >> 8; | ||
2659 | + dstp[1] = esize & 0xff; | ||
2660 | + dstp += esize + 2; | ||
2661 | + srcp += nalsize + 2; | ||
2662 | + } | ||
2663 | + *destsize = dstp - dst; | ||
2664 | + | ||
2665 | + return; | ||
2666 | + | ||
2667 | +full_copy: | ||
2668 | + { | ||
2669 | + GST_DEBUG ("something unexpected, doing full copy"); | ||
2670 | + memcpy (dst, src, size); | ||
2671 | + *destsize = size; | ||
2672 | + return; | ||
2673 | + } | ||
2674 | +} | ||
2675 | +#endif | ||
2676 | + | ||
2677 | +/* | ||
2678 | + * caps_with_codecid () transforms a GstCaps for a known codec | ||
2679 | + * ID into a filled-in context. | ||
2680 | + * codec_data from caps will override possible extradata already in the context | ||
2681 | + */ | ||
2682 | + | ||
2683 | +void | ||
2684 | +gst_ffmpeg_caps_with_codecid (enum CodecID codec_id, | ||
2685 | + enum AVMediaType codec_type, const GstCaps * caps, AVCodecContext * context) | ||
2686 | +{ | ||
2687 | + GstStructure *str; | ||
2688 | + const GValue *value; | ||
2689 | + const GstBuffer *buf; | ||
2690 | + | ||
2691 | + GST_LOG ("codec_id:%d, codec_type:%d, caps:%" GST_PTR_FORMAT " context:%p", | ||
2692 | + codec_id, codec_type, caps, context); | ||
2693 | + | ||
2694 | + if (!context || !gst_caps_get_size (caps)) | ||
2695 | + return; | ||
2696 | + | ||
2697 | + str = gst_caps_get_structure (caps, 0); | ||
2698 | + | ||
2699 | + /* extradata parsing (esds [mpeg4], wma/wmv, msmpeg4v1/2/3, etc.) */ | ||
2700 | + if ((value = gst_structure_get_value (str, "codec_data"))) { | ||
2701 | + guint size; | ||
2702 | + guint8 *data; | ||
2703 | + | ||
2704 | + buf = GST_BUFFER_CAST (gst_value_get_mini_object (value)); | ||
2705 | + size = GST_BUFFER_SIZE (buf); | ||
2706 | + data = GST_BUFFER_DATA (buf); | ||
2707 | + | ||
2708 | + /* free the old one if it is there */ | ||
2709 | + if (context->extradata) | ||
2710 | + av_free (context->extradata); | ||
2711 | + | ||
2712 | +#if 0 | ||
2713 | + if (codec_id == CODEC_ID_H264) { | ||
2714 | + guint extrasize; | ||
2715 | + | ||
2716 | + GST_DEBUG ("copy, escaping codec_data %d", size); | ||
2717 | + /* ffmpeg h264 expects the codec_data to be escaped, there is no real | ||
2718 | + * reason for this but let's just escape it for now. Start by allocating | ||
2719 | + * enough space, x2 is more than enough. | ||
2720 | + * | ||
2721 | + * FIXME, we disabled escaping because some file already contain escaped | ||
2722 | + * codec_data and then we escape twice and fail. It's better to leave it | ||
2723 | + * as is, as that is what most players do. */ | ||
2724 | + context->extradata = | ||
2725 | + av_mallocz (GST_ROUND_UP_16 (size * 2 + | ||
2726 | + FF_INPUT_BUFFER_PADDING_SIZE)); | ||
2727 | + copy_config (context->extradata, data, size, &extrasize); | ||
2728 | + GST_DEBUG ("escaped size: %d", extrasize); | ||
2729 | + context->extradata_size = extrasize; | ||
2730 | + } else | ||
2731 | +#endif | ||
2732 | + { | ||
2733 | + /* allocate with enough padding */ | ||
2734 | + GST_DEBUG ("copy codec_data"); | ||
2735 | + context->extradata = | ||
2736 | + av_mallocz (GST_ROUND_UP_16 (size + FF_INPUT_BUFFER_PADDING_SIZE)); | ||
2737 | + memcpy (context->extradata, data, size); | ||
2738 | + context->extradata_size = size; | ||
2739 | + } | ||
2740 | + | ||
2741 | + /* Hack for VC1. Sometimes the first (length) byte is 0 for some files */ | ||
2742 | + if (codec_id == CODEC_ID_VC1 && size > 0 && data[0] == 0) { | ||
2743 | + context->extradata[0] = (guint8) size; | ||
2744 | + } | ||
2745 | + | ||
2746 | + GST_DEBUG ("have codec data of size %d", size); | ||
2747 | + } else if (context->extradata == NULL && codec_id != CODEC_ID_AAC_LATM && | ||
2748 | + codec_id != CODEC_ID_FLAC) { | ||
2749 | + /* no extradata, alloc dummy with 0 sized, some codecs insist on reading | ||
2750 | + * extradata anyway which makes then segfault. */ | ||
2751 | + context->extradata = | ||
2752 | + av_mallocz (GST_ROUND_UP_16 (FF_INPUT_BUFFER_PADDING_SIZE)); | ||
2753 | + context->extradata_size = 0; | ||
2754 | + GST_DEBUG ("no codec data"); | ||
2755 | + } | ||
2756 | + | ||
2757 | + switch (codec_id) { | ||
2758 | + case CODEC_ID_MPEG4: | ||
2759 | + { | ||
2760 | + const gchar *mime = gst_structure_get_name (str); | ||
2761 | + | ||
2762 | + if (!strcmp (mime, "video/x-divx")) | ||
2763 | + context->codec_tag = GST_MAKE_FOURCC ('D', 'I', 'V', 'X'); | ||
2764 | + else if (!strcmp (mime, "video/x-xvid")) | ||
2765 | + context->codec_tag = GST_MAKE_FOURCC ('X', 'V', 'I', 'D'); | ||
2766 | + else if (!strcmp (mime, "video/x-3ivx")) | ||
2767 | + context->codec_tag = GST_MAKE_FOURCC ('3', 'I', 'V', '1'); | ||
2768 | + else if (!strcmp (mime, "video/mpeg")) | ||
2769 | + context->codec_tag = GST_MAKE_FOURCC ('m', 'p', '4', 'v'); | ||
2770 | + } | ||
2771 | + break; | ||
2772 | + | ||
2773 | + case CODEC_ID_SVQ3: | ||
2774 | + /* FIXME: this is a workaround for older gst-plugins releases | ||
2775 | + * (<= 0.8.9). This should be removed at some point, because | ||
2776 | + * it causes wrong decoded frame order. */ | ||
2777 | + if (!context->extradata) { | ||
2778 | + gint halfpel_flag, thirdpel_flag, low_delay, unknown_svq3_flag; | ||
2779 | + guint16 flags; | ||
2780 | + | ||
2781 | + if (gst_structure_get_int (str, "halfpel_flag", &halfpel_flag) || | ||
2782 | + gst_structure_get_int (str, "thirdpel_flag", &thirdpel_flag) || | ||
2783 | + gst_structure_get_int (str, "low_delay", &low_delay) || | ||
2784 | + gst_structure_get_int (str, "unknown_svq3_flag", | ||
2785 | + &unknown_svq3_flag)) { | ||
2786 | + context->extradata = (guint8 *) av_mallocz (0x64); | ||
2787 | + g_stpcpy ((gchar *) context->extradata, "SVQ3"); | ||
2788 | + flags = 1 << 3; | ||
2789 | + flags |= low_delay; | ||
2790 | + flags = flags << 2; | ||
2791 | + flags |= unknown_svq3_flag; | ||
2792 | + flags = flags << 6; | ||
2793 | + flags |= halfpel_flag; | ||
2794 | + flags = flags << 1; | ||
2795 | + flags |= thirdpel_flag; | ||
2796 | + flags = flags << 3; | ||
2797 | + | ||
2798 | + flags = GUINT16_FROM_LE (flags); | ||
2799 | + | ||
2800 | + memcpy ((gchar *) context->extradata + 0x62, &flags, 2); | ||
2801 | + context->extradata_size = 0x64; | ||
2802 | + } | ||
2803 | + } | ||
2804 | + break; | ||
2805 | + | ||
2806 | + case CODEC_ID_MSRLE: | ||
2807 | + case CODEC_ID_QTRLE: | ||
2808 | + case CODEC_ID_TSCC: | ||
2809 | + case CODEC_ID_CSCD: | ||
2810 | + case CODEC_ID_APE: | ||
2811 | + { | ||
2812 | + gint depth; | ||
2813 | + | ||
2814 | + if (gst_structure_get_int (str, "depth", &depth)) { | ||
2815 | + context->bits_per_coded_sample = depth; | ||
2816 | + } else { | ||
2817 | + GST_WARNING ("No depth field in caps %" GST_PTR_FORMAT, caps); | ||
2818 | + } | ||
2819 | + | ||
2820 | + } | ||
2821 | + break; | ||
2822 | + | ||
2823 | + case CODEC_ID_RV10: | ||
2824 | + case CODEC_ID_RV20: | ||
2825 | + case CODEC_ID_RV30: | ||
2826 | + case CODEC_ID_RV40: | ||
2827 | + { | ||
2828 | + gint format; | ||
2829 | + | ||
2830 | + if (gst_structure_get_int (str, "format", &format)) | ||
2831 | + context->sub_id = format; | ||
2832 | + | ||
2833 | + break; | ||
2834 | + } | ||
2835 | + case CODEC_ID_COOK: | ||
2836 | + case CODEC_ID_RA_288: | ||
2837 | + case CODEC_ID_RA_144: | ||
2838 | + case CODEC_ID_SIPR: | ||
2839 | + { | ||
2840 | + gint leaf_size; | ||
2841 | + gint bitrate; | ||
2842 | + | ||
2843 | + if (gst_structure_get_int (str, "leaf_size", &leaf_size)) | ||
2844 | + context->block_align = leaf_size; | ||
2845 | + if (gst_structure_get_int (str, "bitrate", &bitrate)) | ||
2846 | + context->bit_rate = bitrate; | ||
2847 | + } | ||
2848 | + case CODEC_ID_ALAC: | ||
2849 | + gst_structure_get_int (str, "samplesize", | ||
2850 | + &context->bits_per_coded_sample); | ||
2851 | + break; | ||
2852 | + | ||
2853 | + case CODEC_ID_DVVIDEO: | ||
2854 | + { | ||
2855 | + guint32 fourcc; | ||
2856 | + | ||
2857 | + if (gst_structure_get_fourcc (str, "format", &fourcc)) | ||
2858 | + switch (fourcc) { | ||
2859 | + case GST_MAKE_FOURCC ('Y', 'U', 'Y', '2'): | ||
2860 | + context->pix_fmt = PIX_FMT_YUYV422; | ||
2861 | + break; | ||
2862 | + case GST_MAKE_FOURCC ('I', '4', '2', '0'): | ||
2863 | + context->pix_fmt = PIX_FMT_YUV420P; | ||
2864 | + break; | ||
2865 | + case GST_MAKE_FOURCC ('A', '4', '2', '0'): | ||
2866 | + context->pix_fmt = PIX_FMT_YUVA420P; | ||
2867 | + break; | ||
2868 | + case GST_MAKE_FOURCC ('Y', '4', '1', 'B'): | ||
2869 | + context->pix_fmt = PIX_FMT_YUV411P; | ||
2870 | + break; | ||
2871 | + case GST_MAKE_FOURCC ('Y', '4', '2', 'B'): | ||
2872 | + context->pix_fmt = PIX_FMT_YUV422P; | ||
2873 | + break; | ||
2874 | + case GST_MAKE_FOURCC ('Y', 'U', 'V', '9'): | ||
2875 | + context->pix_fmt = PIX_FMT_YUV410P; | ||
2876 | + break; | ||
2877 | + default: | ||
2878 | + GST_WARNING ("couldn't convert fourcc %" GST_FOURCC_FORMAT | ||
2879 | + " to a pixel format", GST_FOURCC_ARGS (fourcc)); | ||
2880 | + break; | ||
2881 | + } | ||
2882 | + break; | ||
2883 | + } | ||
2884 | + case CODEC_ID_H263P: | ||
2885 | + { | ||
2886 | + gboolean val; | ||
2887 | + | ||
2888 | + if (!gst_structure_get_boolean (str, "annex-f", &val) || val) | ||
2889 | + context->flags |= CODEC_FLAG_4MV; | ||
2890 | + else | ||
2891 | + context->flags &= ~CODEC_FLAG_4MV; | ||
2892 | + if ((!gst_structure_get_boolean (str, "annex-i", &val) || val) && | ||
2893 | + (!gst_structure_get_boolean (str, "annex-t", &val) || val)) | ||
2894 | + context->flags |= CODEC_FLAG_AC_PRED; | ||
2895 | + else | ||
2896 | + context->flags &= ~CODEC_FLAG_AC_PRED; | ||
2897 | + if (!gst_structure_get_boolean (str, "annex-j", &val) || val) | ||
2898 | + context->flags |= CODEC_FLAG_LOOP_FILTER; | ||
2899 | + else | ||
2900 | + context->flags &= ~CODEC_FLAG_LOOP_FILTER; | ||
2901 | + break; | ||
2902 | + } | ||
2903 | + case CODEC_ID_ADPCM_G726: | ||
2904 | + { | ||
2905 | + const gchar *layout; | ||
2906 | + | ||
2907 | + if ((layout = gst_structure_get_string (str, "layout"))) { | ||
2908 | + if (!strcmp (layout, "g721")) { | ||
2909 | + context->sample_rate = 8000; | ||
2910 | + context->channels = 1; | ||
2911 | + context->bit_rate = 32000; | ||
2912 | + } | ||
2913 | + } | ||
2914 | + break; | ||
2915 | + } | ||
2916 | + default: | ||
2917 | + break; | ||
2918 | + } | ||
2919 | + | ||
2920 | + if (!gst_caps_is_fixed (caps)) | ||
2921 | + return; | ||
2922 | + | ||
2923 | + /* common properties (width, height, fps) */ | ||
2924 | + switch (codec_type) { | ||
2925 | + case AVMEDIA_TYPE_VIDEO: | ||
2926 | + gst_ffmpeg_caps_to_pixfmt (caps, context, codec_id == CODEC_ID_RAWVIDEO); | ||
2927 | + gst_ffmpeg_get_palette (caps, context); | ||
2928 | + break; | ||
2929 | + case AVMEDIA_TYPE_AUDIO: | ||
2930 | + gst_ffmpeg_caps_to_smpfmt (caps, context, FALSE); | ||
2931 | + break; | ||
2932 | + default: | ||
2933 | + break; | ||
2934 | + } | ||
2935 | + | ||
2936 | + /* fixup of default settings */ | ||
2937 | + switch (codec_id) { | ||
2938 | + case CODEC_ID_QCELP: | ||
2939 | + /* QCELP is always mono, no matter what the caps say */ | ||
2940 | + context->channels = 1; | ||
2941 | + break; | ||
2942 | + default: | ||
2943 | + break; | ||
2944 | + } | ||
2945 | +} | ||
2946 | + | ||
2947 | +/* _formatid_to_caps () is meant for muxers/demuxers, it | ||
2948 | + * transforms a name (ffmpeg way of ID'ing these, why don't | ||
2949 | + * they have unique numerical IDs?) to the corresponding | ||
2950 | + * caps belonging to that mux-format | ||
2951 | + * | ||
2952 | + * Note: we don't need any additional info because the caps | ||
2953 | + * isn't supposed to contain any useful info besides the | ||
2954 | + * media type anyway | ||
2955 | + */ | ||
2956 | + | ||
2957 | +GstCaps * | ||
2958 | +gst_ffmpeg_formatid_to_caps (const gchar * format_name) | ||
2959 | +{ | ||
2960 | + GstCaps *caps = NULL; | ||
2961 | + | ||
2962 | + if (!strcmp (format_name, "mpeg")) { | ||
2963 | + caps = gst_caps_new_simple ("video/mpeg", | ||
2964 | + "systemstream", G_TYPE_BOOLEAN, TRUE, NULL); | ||
2965 | + } else if (!strcmp (format_name, "mpegts")) { | ||
2966 | + caps = gst_caps_new_simple ("video/mpegts", | ||
2967 | + "systemstream", G_TYPE_BOOLEAN, TRUE, NULL); | ||
2968 | + } else if (!strcmp (format_name, "rm")) { | ||
2969 | + caps = gst_caps_new_simple ("application/x-pn-realmedia", | ||
2970 | + "systemstream", G_TYPE_BOOLEAN, TRUE, NULL); | ||
2971 | + } else if (!strcmp (format_name, "asf")) { | ||
2972 | + caps = gst_caps_new_simple ("video/x-ms-asf", NULL); | ||
2973 | + } else if (!strcmp (format_name, "avi")) { | ||
2974 | + caps = gst_caps_new_simple ("video/x-msvideo", NULL); | ||
2975 | + } else if (!strcmp (format_name, "wav")) { | ||
2976 | + caps = gst_caps_new_simple ("audio/x-wav", NULL); | ||
2977 | + } else if (!strcmp (format_name, "ape")) { | ||
2978 | + caps = gst_caps_new_simple ("application/x-ape", NULL); | ||
2979 | + } else if (!strcmp (format_name, "swf")) { | ||
2980 | + caps = gst_caps_new_simple ("application/x-shockwave-flash", NULL); | ||
2981 | + } else if (!strcmp (format_name, "au")) { | ||
2982 | + caps = gst_caps_new_simple ("audio/x-au", NULL); | ||
2983 | + } else if (!strcmp (format_name, "dv")) { | ||
2984 | + caps = gst_caps_new_simple ("video/x-dv", | ||
2985 | + "systemstream", G_TYPE_BOOLEAN, TRUE, NULL); | ||
2986 | + } else if (!strcmp (format_name, "4xm")) { | ||
2987 | + caps = gst_caps_new_simple ("video/x-4xm", NULL); | ||
2988 | + } else if (!strcmp (format_name, "matroska")) { | ||
2989 | + caps = gst_caps_new_simple ("video/x-matroska", NULL); | ||
2990 | + } else if (!strcmp (format_name, "mp3")) { | ||
2991 | + caps = gst_caps_new_simple ("application/x-id3", NULL); | ||
2992 | + } else if (!strcmp (format_name, "flic")) { | ||
2993 | + caps = gst_caps_new_simple ("video/x-fli", NULL); | ||
2994 | + } else if (!strcmp (format_name, "flv")) { | ||
2995 | + caps = gst_caps_new_simple ("video/x-flv", NULL); | ||
2996 | + } else if (!strcmp (format_name, "tta")) { | ||
2997 | + caps = gst_caps_new_simple ("audio/x-ttafile", NULL); | ||
2998 | + } else if (!strcmp (format_name, "aiff")) { | ||
2999 | + caps = gst_caps_new_simple ("audio/x-aiff", NULL); | ||
3000 | + } else if (!strcmp (format_name, "mov_mp4_m4a_3gp_3g2")) { | ||
3001 | + caps = | ||
3002 | + gst_caps_from_string | ||
3003 | + ("application/x-3gp; video/quicktime; audio/x-m4a"); | ||
3004 | + } else if (!strcmp (format_name, "mov")) { | ||
3005 | + caps = gst_caps_from_string ("video/quicktime,variant=(string)apple"); | ||
3006 | + } else if (!strcmp (format_name, "mp4")) { | ||
3007 | + caps = gst_caps_from_string ("video/quicktime,variant=(string)iso"); | ||
3008 | + } else if (!strcmp (format_name, "3gp")) { | ||
3009 | + caps = gst_caps_from_string ("video/quicktime,variant=(string)3gpp"); | ||
3010 | + } else if (!strcmp (format_name, "3g2")) { | ||
3011 | + caps = gst_caps_from_string ("video/quicktime,variant=(string)3g2"); | ||
3012 | + } else if (!strcmp (format_name, "psp")) { | ||
3013 | + caps = gst_caps_from_string ("video/quicktime,variant=(string)psp"); | ||
3014 | + } else if (!strcmp (format_name, "ipod")) { | ||
3015 | + caps = gst_caps_from_string ("video/quicktime,variant=(string)ipod"); | ||
3016 | + } else if (!strcmp (format_name, "aac")) { | ||
3017 | + caps = gst_caps_new_simple ("audio/mpeg", | ||
3018 | + "mpegversion", G_TYPE_INT, 4, NULL); | ||
3019 | + } else if (!strcmp (format_name, "gif")) { | ||
3020 | + caps = gst_caps_from_string ("image/gif"); | ||
3021 | + } else if (!strcmp (format_name, "ogg")) { | ||
3022 | + caps = gst_caps_from_string ("application/ogg"); | ||
3023 | + } else if (!strcmp (format_name, "mxf") || !strcmp (format_name, "mxf_d10")) { | ||
3024 | + caps = gst_caps_from_string ("application/mxf"); | ||
3025 | + } else if (!strcmp (format_name, "gxf")) { | ||
3026 | + caps = gst_caps_from_string ("application/gxf"); | ||
3027 | + } else if (!strcmp (format_name, "yuv4mpegpipe")) { | ||
3028 | + caps = gst_caps_new_simple ("application/x-yuv4mpeg", | ||
3029 | + "y4mversion", G_TYPE_INT, 2, NULL); | ||
3030 | + } else if (!strcmp (format_name, "mpc")) { | ||
3031 | + caps = gst_caps_from_string ("audio/x-musepack, streamversion = (int) 7"); | ||
3032 | + } else if (!strcmp (format_name, "vqf")) { | ||
3033 | + caps = gst_caps_from_string ("audio/x-vqf"); | ||
3034 | + } else if (!strcmp (format_name, "nsv")) { | ||
3035 | + caps = gst_caps_from_string ("video/x-nsv"); | ||
3036 | + } else if (!strcmp (format_name, "amr")) { | ||
3037 | + caps = gst_caps_from_string ("audio/x-amr-nb-sh"); | ||
3038 | + } else if (!strcmp (format_name, "webm")) { | ||
3039 | + caps = gst_caps_from_string ("video/webm"); | ||
3040 | + } else { | ||
3041 | + gchar *name; | ||
3042 | + | ||
3043 | + GST_LOG ("Could not create stream format caps for %s", format_name); | ||
3044 | + name = g_strdup_printf ("application/x-gst_ff-%s", format_name); | ||
3045 | + caps = gst_caps_new_simple (name, NULL); | ||
3046 | + g_free (name); | ||
3047 | + } | ||
3048 | + | ||
3049 | + return caps; | ||
3050 | +} | ||
3051 | + | ||
3052 | +gboolean | ||
3053 | +gst_ffmpeg_formatid_get_codecids (const gchar * format_name, | ||
3054 | + enum CodecID ** video_codec_list, enum CodecID ** audio_codec_list, | ||
3055 | + AVOutputFormat * plugin) | ||
3056 | +{ | ||
3057 | + static enum CodecID tmp_vlist[] = { | ||
3058 | + CODEC_ID_NONE, | ||
3059 | + CODEC_ID_NONE | ||
3060 | + }; | ||
3061 | + static enum CodecID tmp_alist[] = { | ||
3062 | + CODEC_ID_NONE, | ||
3063 | + CODEC_ID_NONE | ||
3064 | + }; | ||
3065 | + | ||
3066 | + GST_LOG ("format_name : %s", format_name); | ||
3067 | + | ||
3068 | + if (!strcmp (format_name, "mp4")) { | ||
3069 | + static enum CodecID mp4_video_list[] = { | ||
3070 | + CODEC_ID_MPEG4, CODEC_ID_H264, | ||
3071 | + CODEC_ID_MJPEG, | ||
3072 | + CODEC_ID_NONE | ||
3073 | + }; | ||
3074 | + static enum CodecID mp4_audio_list[] = { | ||
3075 | + CODEC_ID_AAC, CODEC_ID_MP3, | ||
3076 | + CODEC_ID_NONE | ||
3077 | + }; | ||
3078 | + | ||
3079 | + *video_codec_list = mp4_video_list; | ||
3080 | + *audio_codec_list = mp4_audio_list; | ||
3081 | + } else if (!strcmp (format_name, "mpeg")) { | ||
3082 | + static enum CodecID mpeg_video_list[] = { CODEC_ID_MPEG1VIDEO, | ||
3083 | + CODEC_ID_MPEG2VIDEO, | ||
3084 | + CODEC_ID_H264, | ||
3085 | + CODEC_ID_NONE | ||
3086 | + }; | ||
3087 | + static enum CodecID mpeg_audio_list[] = { CODEC_ID_MP1, | ||
3088 | + CODEC_ID_MP2, | ||
3089 | + CODEC_ID_MP3, | ||
3090 | + CODEC_ID_NONE | ||
3091 | + }; | ||
3092 | + | ||
3093 | + *video_codec_list = mpeg_video_list; | ||
3094 | + *audio_codec_list = mpeg_audio_list; | ||
3095 | + } else if (!strcmp (format_name, "dvd")) { | ||
3096 | + static enum CodecID mpeg_video_list[] = { CODEC_ID_MPEG2VIDEO, | ||
3097 | + CODEC_ID_NONE | ||
3098 | + }; | ||
3099 | + static enum CodecID mpeg_audio_list[] = { CODEC_ID_MP2, | ||
3100 | + CODEC_ID_AC3, | ||
3101 | + CODEC_ID_DTS, | ||
3102 | + CODEC_ID_PCM_S16BE, | ||
3103 | + CODEC_ID_NONE | ||
3104 | + }; | ||
3105 | + | ||
3106 | + *video_codec_list = mpeg_video_list; | ||
3107 | + *audio_codec_list = mpeg_audio_list; | ||
3108 | + } else if (!strcmp (format_name, "mpegts")) { | ||
3109 | + static enum CodecID mpegts_video_list[] = { CODEC_ID_MPEG1VIDEO, | ||
3110 | + CODEC_ID_MPEG2VIDEO, | ||
3111 | + CODEC_ID_H264, | ||
3112 | + CODEC_ID_NONE | ||
3113 | + }; | ||
3114 | + static enum CodecID mpegts_audio_list[] = { CODEC_ID_MP2, | ||
3115 | + CODEC_ID_MP3, | ||
3116 | + CODEC_ID_AC3, | ||
3117 | + CODEC_ID_DTS, | ||
3118 | + CODEC_ID_AAC, | ||
3119 | + CODEC_ID_NONE | ||
3120 | + }; | ||
3121 | + | ||
3122 | + *video_codec_list = mpegts_video_list; | ||
3123 | + *audio_codec_list = mpegts_audio_list; | ||
3124 | + } else if (!strcmp (format_name, "vob")) { | ||
3125 | + static enum CodecID vob_video_list[] = | ||
3126 | + { CODEC_ID_MPEG2VIDEO, CODEC_ID_NONE }; | ||
3127 | + static enum CodecID vob_audio_list[] = { CODEC_ID_MP2, CODEC_ID_AC3, | ||
3128 | + CODEC_ID_DTS, CODEC_ID_NONE | ||
3129 | + }; | ||
3130 | + | ||
3131 | + *video_codec_list = vob_video_list; | ||
3132 | + *audio_codec_list = vob_audio_list; | ||
3133 | + } else if (!strcmp (format_name, "flv")) { | ||
3134 | + static enum CodecID flv_video_list[] = { CODEC_ID_FLV1, CODEC_ID_NONE }; | ||
3135 | + static enum CodecID flv_audio_list[] = { CODEC_ID_MP3, CODEC_ID_NONE }; | ||
3136 | + | ||
3137 | + *video_codec_list = flv_video_list; | ||
3138 | + *audio_codec_list = flv_audio_list; | ||
3139 | + } else if (!strcmp (format_name, "asf")) { | ||
3140 | + static enum CodecID asf_video_list[] = | ||
3141 | + { CODEC_ID_WMV1, CODEC_ID_WMV2, CODEC_ID_MSMPEG4V3, CODEC_ID_NONE }; | ||
3142 | + static enum CodecID asf_audio_list[] = | ||
3143 | + { CODEC_ID_WMAV1, CODEC_ID_WMAV2, CODEC_ID_MP3, CODEC_ID_NONE }; | ||
3144 | + | ||
3145 | + *video_codec_list = asf_video_list; | ||
3146 | + *audio_codec_list = asf_audio_list; | ||
3147 | + } else if (!strcmp (format_name, "dv")) { | ||
3148 | + static enum CodecID dv_video_list[] = { CODEC_ID_DVVIDEO, CODEC_ID_NONE }; | ||
3149 | + static enum CodecID dv_audio_list[] = { CODEC_ID_PCM_S16LE, CODEC_ID_NONE }; | ||
3150 | + | ||
3151 | + *video_codec_list = dv_video_list; | ||
3152 | + *audio_codec_list = dv_audio_list; | ||
3153 | + } else if (!strcmp (format_name, "mov")) { | ||
3154 | + static enum CodecID mov_video_list[] = { | ||
3155 | + CODEC_ID_SVQ1, CODEC_ID_SVQ3, CODEC_ID_MPEG4, | ||
3156 | + CODEC_ID_H263, CODEC_ID_H263P, | ||
3157 | + CODEC_ID_H264, CODEC_ID_DVVIDEO, | ||
3158 | + CODEC_ID_MJPEG, | ||
3159 | + CODEC_ID_NONE | ||
3160 | + }; | ||
3161 | + static enum CodecID mov_audio_list[] = { | ||
3162 | + CODEC_ID_PCM_MULAW, CODEC_ID_PCM_ALAW, CODEC_ID_ADPCM_IMA_QT, | ||
3163 | + CODEC_ID_MACE3, CODEC_ID_MACE6, CODEC_ID_AAC, | ||
3164 | + CODEC_ID_AMR_NB, CODEC_ID_AMR_WB, | ||
3165 | + CODEC_ID_PCM_S16BE, CODEC_ID_PCM_S16LE, | ||
3166 | + CODEC_ID_MP3, CODEC_ID_NONE | ||
3167 | + }; | ||
3168 | + | ||
3169 | + *video_codec_list = mov_video_list; | ||
3170 | + *audio_codec_list = mov_audio_list; | ||
3171 | + } else if ((!strcmp (format_name, "3gp") || !strcmp (format_name, "3g2"))) { | ||
3172 | + static enum CodecID tgp_video_list[] = { | ||
3173 | + CODEC_ID_MPEG4, CODEC_ID_H263, CODEC_ID_H263P, CODEC_ID_H264, | ||
3174 | + CODEC_ID_NONE | ||
3175 | + }; | ||
3176 | + static enum CodecID tgp_audio_list[] = { | ||
3177 | + CODEC_ID_AMR_NB, CODEC_ID_AMR_WB, | ||
3178 | + CODEC_ID_AAC, | ||
3179 | + CODEC_ID_NONE | ||
3180 | + }; | ||
3181 | + | ||
3182 | + *video_codec_list = tgp_video_list; | ||
3183 | + *audio_codec_list = tgp_audio_list; | ||
3184 | + } else if (!strcmp (format_name, "mmf")) { | ||
3185 | + static enum CodecID mmf_audio_list[] = { | ||
3186 | + CODEC_ID_ADPCM_YAMAHA, CODEC_ID_NONE | ||
3187 | + }; | ||
3188 | + *video_codec_list = NULL; | ||
3189 | + *audio_codec_list = mmf_audio_list; | ||
3190 | + } else if (!strcmp (format_name, "amr")) { | ||
3191 | + static enum CodecID amr_audio_list[] = { | ||
3192 | + CODEC_ID_AMR_NB, CODEC_ID_AMR_WB, | ||
3193 | + CODEC_ID_NONE | ||
3194 | + }; | ||
3195 | + *video_codec_list = NULL; | ||
3196 | + *audio_codec_list = amr_audio_list; | ||
3197 | + } else if (!strcmp (format_name, "gif")) { | ||
3198 | + static enum CodecID gif_image_list[] = { | ||
3199 | + CODEC_ID_RAWVIDEO, CODEC_ID_NONE | ||
3200 | + }; | ||
3201 | + *video_codec_list = gif_image_list; | ||
3202 | + *audio_codec_list = NULL; | ||
3203 | + } else if ((plugin->audio_codec != CODEC_ID_NONE) || | ||
3204 | + (plugin->video_codec != CODEC_ID_NONE)) { | ||
3205 | + tmp_vlist[0] = plugin->video_codec; | ||
3206 | + tmp_alist[0] = plugin->audio_codec; | ||
3207 | + | ||
3208 | + *video_codec_list = tmp_vlist; | ||
3209 | + *audio_codec_list = tmp_alist; | ||
3210 | + } else { | ||
3211 | + GST_LOG ("Format %s not found", format_name); | ||
3212 | + return FALSE; | ||
3213 | + } | ||
3214 | + | ||
3215 | + return TRUE; | ||
3216 | +} | ||
3217 | + | ||
3218 | +/* Convert a GstCaps to a FFMPEG codec ID. Size et all | ||
3219 | + * are omitted, that can be queried by the user itself, | ||
3220 | + * we're not eating the GstCaps or anything | ||
3221 | + * A pointer to an allocated context is also needed for | ||
3222 | + * optional extra info | ||
3223 | + */ | ||
3224 | + | ||
3225 | +enum CodecID | ||
3226 | +gst_ffmpeg_caps_to_codecid (const GstCaps * caps, AVCodecContext * context) | ||
3227 | +{ | ||
3228 | + enum CodecID id = CODEC_ID_NONE; | ||
3229 | + const gchar *mimetype; | ||
3230 | + const GstStructure *structure; | ||
3231 | + gboolean video = FALSE, audio = FALSE; /* we want to be sure! */ | ||
3232 | + | ||
3233 | + g_return_val_if_fail (caps != NULL, CODEC_ID_NONE); | ||
3234 | + g_return_val_if_fail (gst_caps_get_size (caps) == 1, CODEC_ID_NONE); | ||
3235 | + structure = gst_caps_get_structure (caps, 0); | ||
3236 | + | ||
3237 | + mimetype = gst_structure_get_name (structure); | ||
3238 | + | ||
3239 | + if (!strcmp (mimetype, "video/x-raw-rgb") || | ||
3240 | + !strcmp (mimetype, "video/x-raw-yuv")) { | ||
3241 | + id = CODEC_ID_RAWVIDEO; | ||
3242 | + video = TRUE; | ||
3243 | + } else if (!strcmp (mimetype, "audio/x-raw-int")) { | ||
3244 | + gint depth, width, endianness; | ||
3245 | + gboolean signedness; | ||
3246 | + | ||
3247 | + if (gst_structure_get_int (structure, "endianness", &endianness) && | ||
3248 | + gst_structure_get_boolean (structure, "signed", &signedness) && | ||
3249 | + gst_structure_get_int (structure, "width", &width) && | ||
3250 | + gst_structure_get_int (structure, "depth", &depth) && depth == width) { | ||
3251 | + switch (depth) { | ||
3252 | + case 8: | ||
3253 | + if (signedness) { | ||
3254 | + id = CODEC_ID_PCM_S8; | ||
3255 | + } else { | ||
3256 | + id = CODEC_ID_PCM_U8; | ||
3257 | + } | ||
3258 | + break; | ||
3259 | + case 16: | ||
3260 | + switch (endianness) { | ||
3261 | + case G_BIG_ENDIAN: | ||
3262 | + if (signedness) { | ||
3263 | + id = CODEC_ID_PCM_S16BE; | ||
3264 | + } else { | ||
3265 | + id = CODEC_ID_PCM_U16BE; | ||
3266 | + } | ||
3267 | + break; | ||
3268 | + case G_LITTLE_ENDIAN: | ||
3269 | + if (signedness) { | ||
3270 | + id = CODEC_ID_PCM_S16LE; | ||
3271 | + } else { | ||
3272 | + id = CODEC_ID_PCM_U16LE; | ||
3273 | + } | ||
3274 | + break; | ||
3275 | + } | ||
3276 | + break; | ||
3277 | + } | ||
3278 | + if (id != CODEC_ID_NONE) | ||
3279 | + audio = TRUE; | ||
3280 | + } | ||
3281 | + } else if (!strcmp (mimetype, "audio/x-mulaw")) { | ||
3282 | + id = CODEC_ID_PCM_MULAW; | ||
3283 | + audio = TRUE; | ||
3284 | + } else if (!strcmp (mimetype, "audio/x-alaw")) { | ||
3285 | + id = CODEC_ID_PCM_ALAW; | ||
3286 | + audio = TRUE; | ||
3287 | + } else if (!strcmp (mimetype, "video/x-dv")) { | ||
3288 | + gboolean sys_strm; | ||
3289 | + | ||
3290 | + if (gst_structure_get_boolean (structure, "systemstream", &sys_strm) && | ||
3291 | + !sys_strm) { | ||
3292 | + id = CODEC_ID_DVVIDEO; | ||
3293 | + video = TRUE; | ||
3294 | + } | ||
3295 | + } else if (!strcmp (mimetype, "audio/x-dv")) { /* ??? */ | ||
3296 | + id = CODEC_ID_DVAUDIO; | ||
3297 | + audio = TRUE; | ||
3298 | + } else if (!strcmp (mimetype, "video/x-h263")) { | ||
3299 | + const gchar *h263version = | ||
3300 | + gst_structure_get_string (structure, "h263version"); | ||
3301 | + if (h263version && !strcmp (h263version, "h263p")) | ||
3302 | + id = CODEC_ID_H263P; | ||
3303 | + else | ||
3304 | + id = CODEC_ID_H263; | ||
3305 | + video = TRUE; | ||
3306 | + } else if (!strcmp (mimetype, "video/x-intel-h263")) { | ||
3307 | + id = CODEC_ID_H263I; | ||
3308 | + video = TRUE; | ||
3309 | + } else if (!strcmp (mimetype, "video/x-h261")) { | ||
3310 | + id = CODEC_ID_H261; | ||
3311 | + video = TRUE; | ||
3312 | + } else if (!strcmp (mimetype, "video/mpeg")) { | ||
3313 | + gboolean sys_strm; | ||
3314 | + gint mpegversion; | ||
3315 | + | ||
3316 | + if (gst_structure_get_boolean (structure, "systemstream", &sys_strm) && | ||
3317 | + gst_structure_get_int (structure, "mpegversion", &mpegversion) && | ||
3318 | + !sys_strm) { | ||
3319 | + switch (mpegversion) { | ||
3320 | + case 1: | ||
3321 | + id = CODEC_ID_MPEG1VIDEO; | ||
3322 | + break; | ||
3323 | + case 2: | ||
3324 | + id = CODEC_ID_MPEG2VIDEO; | ||
3325 | + break; | ||
3326 | + case 4: | ||
3327 | + id = CODEC_ID_MPEG4; | ||
3328 | + break; | ||
3329 | + } | ||
3330 | + } | ||
3331 | + if (id != CODEC_ID_NONE) | ||
3332 | + video = TRUE; | ||
3333 | + } else if (!strcmp (mimetype, "image/jpeg")) { | ||
3334 | + id = CODEC_ID_MJPEG; /* A... B... */ | ||
3335 | + video = TRUE; | ||
3336 | + } else if (!strcmp (mimetype, "video/x-jpeg-b")) { | ||
3337 | + id = CODEC_ID_MJPEGB; | ||
3338 | + video = TRUE; | ||
3339 | + } else if (!strcmp (mimetype, "video/x-wmv")) { | ||
3340 | + gint wmvversion = 0; | ||
3341 | + | ||
3342 | + if (gst_structure_get_int (structure, "wmvversion", &wmvversion)) { | ||
3343 | + switch (wmvversion) { | ||
3344 | + case 1: | ||
3345 | + id = CODEC_ID_WMV1; | ||
3346 | + break; | ||
3347 | + case 2: | ||
3348 | + id = CODEC_ID_WMV2; | ||
3349 | + break; | ||
3350 | + case 3: | ||
3351 | + { | ||
3352 | + guint32 fourcc; | ||
3353 | + | ||
3354 | + /* WMV3 unless the fourcc exists and says otherwise */ | ||
3355 | + id = CODEC_ID_WMV3; | ||
3356 | + | ||
3357 | + if (gst_structure_get_fourcc (structure, "format", &fourcc)) { | ||
3358 | + if ((fourcc == GST_MAKE_FOURCC ('W', 'V', 'C', '1')) || | ||
3359 | + (fourcc == GST_MAKE_FOURCC ('W', 'M', 'V', 'A'))) { | ||
3360 | + id = CODEC_ID_VC1; | ||
3361 | + } | ||
3362 | + } | ||
3363 | + } | ||
3364 | + break; | ||
3365 | + } | ||
3366 | + } | ||
3367 | + if (id != CODEC_ID_NONE) | ||
3368 | + video = TRUE; | ||
3369 | + } else if (!strcmp (mimetype, "audio/x-vorbis")) { | ||
3370 | + id = CODEC_ID_VORBIS; | ||
3371 | + audio = TRUE; | ||
3372 | + } else if (!strcmp (mimetype, "audio/x-qdm2")) { | ||
3373 | + id = CODEC_ID_QDM2; | ||
3374 | + audio = TRUE; | ||
3375 | + } else if (!strcmp (mimetype, "audio/mpeg")) { | ||
3376 | + gint layer = 0; | ||
3377 | + gint mpegversion = 0; | ||
3378 | + | ||
3379 | + if (gst_structure_get_int (structure, "mpegversion", &mpegversion)) { | ||
3380 | + switch (mpegversion) { | ||
3381 | + case 2: /* ffmpeg uses faad for both... */ | ||
3382 | + case 4: | ||
3383 | + id = CODEC_ID_AAC; | ||
3384 | + break; | ||
3385 | + case 1: | ||
3386 | + if (gst_structure_get_int (structure, "layer", &layer)) { | ||
3387 | + switch (layer) { | ||
3388 | + case 1: | ||
3389 | + id = CODEC_ID_MP1; | ||
3390 | + break; | ||
3391 | + case 2: | ||
3392 | + id = CODEC_ID_MP2; | ||
3393 | + break; | ||
3394 | + case 3: | ||
3395 | + id = CODEC_ID_MP3; | ||
3396 | + break; | ||
3397 | + } | ||
3398 | + } | ||
3399 | + } | ||
3400 | + } | ||
3401 | + if (id != CODEC_ID_NONE) | ||
3402 | + audio = TRUE; | ||
3403 | + } else if (!strcmp (mimetype, "audio/x-musepack")) { | ||
3404 | + gint streamversion = -1; | ||
3405 | + | ||
3406 | + if (gst_structure_get_int (structure, "streamversion", &streamversion)) { | ||
3407 | + if (streamversion == 7) | ||
3408 | + id = CODEC_ID_MUSEPACK7; | ||
3409 | + } else { | ||
3410 | + id = CODEC_ID_MUSEPACK7; | ||
3411 | + } | ||
3412 | + } else if (!strcmp (mimetype, "audio/x-wma")) { | ||
3413 | + gint wmaversion = 0; | ||
3414 | + | ||
3415 | + if (gst_structure_get_int (structure, "wmaversion", &wmaversion)) { | ||
3416 | + switch (wmaversion) { | ||
3417 | + case 1: | ||
3418 | + id = CODEC_ID_WMAV1; | ||
3419 | + break; | ||
3420 | + case 2: | ||
3421 | + id = CODEC_ID_WMAV2; | ||
3422 | + break; | ||
3423 | + case 3: | ||
3424 | + id = CODEC_ID_WMAPRO; | ||
3425 | + break; | ||
3426 | + } | ||
3427 | + } | ||
3428 | + if (id != CODEC_ID_NONE) | ||
3429 | + audio = TRUE; | ||
3430 | + } else if (!strcmp (mimetype, "audio/x-wms")) { | ||
3431 | + id = CODEC_ID_WMAVOICE; | ||
3432 | + audio = TRUE; | ||
3433 | + } else if (!strcmp (mimetype, "audio/x-ac3")) { | ||
3434 | + id = CODEC_ID_AC3; | ||
3435 | + audio = TRUE; | ||
3436 | + } else if (!strcmp (mimetype, "audio/x-eac3")) { | ||
3437 | + id = CODEC_ID_EAC3; | ||
3438 | + audio = TRUE; | ||
3439 | + } else if (!strcmp (mimetype, "audio/x-vnd.sony.atrac3") || | ||
3440 | + !strcmp (mimetype, "audio/atrac3")) { | ||
3441 | + id = CODEC_ID_ATRAC3; | ||
3442 | + audio = TRUE; | ||
3443 | + } else if (!strcmp (mimetype, "audio/x-dts")) { | ||
3444 | + id = CODEC_ID_DTS; | ||
3445 | + audio = TRUE; | ||
3446 | + } else if (!strcmp (mimetype, "application/x-ape")) { | ||
3447 | + id = CODEC_ID_APE; | ||
3448 | + audio = TRUE; | ||
3449 | + } else if (!strcmp (mimetype, "video/x-msmpeg")) { | ||
3450 | + gint msmpegversion = 0; | ||
3451 | + | ||
3452 | + if (gst_structure_get_int (structure, "msmpegversion", &msmpegversion)) { | ||
3453 | + switch (msmpegversion) { | ||
3454 | + case 41: | ||
3455 | + id = CODEC_ID_MSMPEG4V1; | ||
3456 | + break; | ||
3457 | + case 42: | ||
3458 | + id = CODEC_ID_MSMPEG4V2; | ||
3459 | + break; | ||
3460 | + case 43: | ||
3461 | + id = CODEC_ID_MSMPEG4V3; | ||
3462 | + break; | ||
3463 | + } | ||
3464 | + } | ||
3465 | + if (id != CODEC_ID_NONE) | ||
3466 | + video = TRUE; | ||
3467 | + } else if (!strcmp (mimetype, "video/x-svq")) { | ||
3468 | + gint svqversion = 0; | ||
3469 | + | ||
3470 | + if (gst_structure_get_int (structure, "svqversion", &svqversion)) { | ||
3471 | + switch (svqversion) { | ||
3472 | + case 1: | ||
3473 | + id = CODEC_ID_SVQ1; | ||
3474 | + break; | ||
3475 | + case 3: | ||
3476 | + id = CODEC_ID_SVQ3; | ||
3477 | + break; | ||
3478 | + } | ||
3479 | + } | ||
3480 | + if (id != CODEC_ID_NONE) | ||
3481 | + video = TRUE; | ||
3482 | + } else if (!strcmp (mimetype, "video/x-huffyuv")) { | ||
3483 | + id = CODEC_ID_HUFFYUV; | ||
3484 | + video = TRUE; | ||
3485 | + } else if (!strcmp (mimetype, "audio/x-mace")) { | ||
3486 | + gint maceversion = 0; | ||
3487 | + | ||
3488 | + if (gst_structure_get_int (structure, "maceversion", &maceversion)) { | ||
3489 | + switch (maceversion) { | ||
3490 | + case 3: | ||
3491 | + id = CODEC_ID_MACE3; | ||
3492 | + break; | ||
3493 | + case 6: | ||
3494 | + id = CODEC_ID_MACE6; | ||
3495 | + break; | ||
3496 | + } | ||
3497 | + } | ||
3498 | + if (id != CODEC_ID_NONE) | ||
3499 | + audio = TRUE; | ||
3500 | + } else if (!strcmp (mimetype, "video/x-theora")) { | ||
3501 | + id = CODEC_ID_THEORA; | ||
3502 | + video = TRUE; | ||
3503 | + } else if (!strcmp (mimetype, "video/x-vp3")) { | ||
3504 | + id = CODEC_ID_VP3; | ||
3505 | + video = TRUE; | ||
3506 | + } else if (!strcmp (mimetype, "video/x-vp5")) { | ||
3507 | + id = CODEC_ID_VP5; | ||
3508 | + video = TRUE; | ||
3509 | + } else if (!strcmp (mimetype, "video/x-vp6")) { | ||
3510 | + id = CODEC_ID_VP6; | ||
3511 | + video = TRUE; | ||
3512 | + } else if (!strcmp (mimetype, "video/x-vp6-flash")) { | ||
3513 | + id = CODEC_ID_VP6F; | ||
3514 | + video = TRUE; | ||
3515 | + } else if (!strcmp (mimetype, "video/x-vp6-alpha")) { | ||
3516 | + id = CODEC_ID_VP6A; | ||
3517 | + video = TRUE; | ||
3518 | + } else if (!strcmp (mimetype, "video/x-vp8")) { | ||
3519 | + id = CODEC_ID_VP8; | ||
3520 | + video = TRUE; | ||
3521 | + } else if (!strcmp (mimetype, "video/x-flash-screen")) { | ||
3522 | + id = CODEC_ID_FLASHSV; | ||
3523 | + video = TRUE; | ||
3524 | + } else if (!strcmp (mimetype, "video/x-indeo")) { | ||
3525 | + gint indeoversion = 0; | ||
3526 | + | ||
3527 | + if (gst_structure_get_int (structure, "indeoversion", &indeoversion)) { | ||
3528 | + switch (indeoversion) { | ||
3529 | + case 5: | ||
3530 | + id = CODEC_ID_INDEO5; | ||
3531 | + break; | ||
3532 | + case 3: | ||
3533 | + id = CODEC_ID_INDEO3; | ||
3534 | + break; | ||
3535 | + case 2: | ||
3536 | + id = CODEC_ID_INDEO2; | ||
3537 | + break; | ||
3538 | + } | ||
3539 | + if (id != CODEC_ID_NONE) | ||
3540 | + video = TRUE; | ||
3541 | + } | ||
3542 | + } else if (!strcmp (mimetype, "video/x-divx")) { | ||
3543 | + gint divxversion = 0; | ||
3544 | + | ||
3545 | + if (gst_structure_get_int (structure, "divxversion", &divxversion)) { | ||
3546 | + switch (divxversion) { | ||
3547 | + case 3: | ||
3548 | + id = CODEC_ID_MSMPEG4V3; | ||
3549 | + break; | ||
3550 | + case 4: | ||
3551 | + case 5: | ||
3552 | + id = CODEC_ID_MPEG4; | ||
3553 | + break; | ||
3554 | + } | ||
3555 | + } | ||
3556 | + if (id != CODEC_ID_NONE) | ||
3557 | + video = TRUE; | ||
3558 | + } else if (!strcmp (mimetype, "video/x-3ivx")) { | ||
3559 | + id = CODEC_ID_MPEG4; | ||
3560 | + video = TRUE; | ||
3561 | + } else if (!strcmp (mimetype, "video/x-xvid")) { | ||
3562 | + id = CODEC_ID_MPEG4; | ||
3563 | + video = TRUE; | ||
3564 | + } else if (!strcmp (mimetype, "video/x-ffv")) { | ||
3565 | + gint ffvversion = 0; | ||
3566 | + | ||
3567 | + if (gst_structure_get_int (structure, "ffvversion", &ffvversion) && | ||
3568 | + ffvversion == 1) { | ||
3569 | + id = CODEC_ID_FFV1; | ||
3570 | + video = TRUE; | ||
3571 | + } | ||
3572 | + } else if (!strcmp (mimetype, "audio/x-adpcm")) { | ||
3573 | + const gchar *layout; | ||
3574 | + | ||
3575 | + layout = gst_structure_get_string (structure, "layout"); | ||
3576 | + if (layout == NULL) { | ||
3577 | + /* break */ | ||
3578 | + } else if (!strcmp (layout, "quicktime")) { | ||
3579 | + id = CODEC_ID_ADPCM_IMA_QT; | ||
3580 | + } else if (!strcmp (layout, "microsoft")) { | ||
3581 | + id = CODEC_ID_ADPCM_MS; | ||
3582 | + } else if (!strcmp (layout, "dvi")) { | ||
3583 | + id = CODEC_ID_ADPCM_IMA_WAV; | ||
3584 | + } else if (!strcmp (layout, "4xm")) { | ||
3585 | + id = CODEC_ID_ADPCM_4XM; | ||
3586 | + } else if (!strcmp (layout, "smjpeg")) { | ||
3587 | + id = CODEC_ID_ADPCM_IMA_SMJPEG; | ||
3588 | + } else if (!strcmp (layout, "dk3")) { | ||
3589 | + id = CODEC_ID_ADPCM_IMA_DK3; | ||
3590 | + } else if (!strcmp (layout, "dk4")) { | ||
3591 | + id = CODEC_ID_ADPCM_IMA_DK4; | ||
3592 | + } else if (!strcmp (layout, "westwood")) { | ||
3593 | + id = CODEC_ID_ADPCM_IMA_WS; | ||
3594 | + } else if (!strcmp (layout, "iss")) { | ||
3595 | + id = CODEC_ID_ADPCM_IMA_ISS; | ||
3596 | + } else if (!strcmp (layout, "xa")) { | ||
3597 | + id = CODEC_ID_ADPCM_XA; | ||
3598 | + } else if (!strcmp (layout, "adx")) { | ||
3599 | + id = CODEC_ID_ADPCM_ADX; | ||
3600 | + } else if (!strcmp (layout, "ea")) { | ||
3601 | + id = CODEC_ID_ADPCM_EA; | ||
3602 | + } else if (!strcmp (layout, "g726")) { | ||
3603 | + id = CODEC_ID_ADPCM_G726; | ||
3604 | + } else if (!strcmp (layout, "g721")) { | ||
3605 | + id = CODEC_ID_ADPCM_G726; | ||
3606 | + } else if (!strcmp (layout, "ct")) { | ||
3607 | + id = CODEC_ID_ADPCM_CT; | ||
3608 | + } else if (!strcmp (layout, "swf")) { | ||
3609 | + id = CODEC_ID_ADPCM_SWF; | ||
3610 | + } else if (!strcmp (layout, "yamaha")) { | ||
3611 | + id = CODEC_ID_ADPCM_YAMAHA; | ||
3612 | + } else if (!strcmp (layout, "sbpro2")) { | ||
3613 | + id = CODEC_ID_ADPCM_SBPRO_2; | ||
3614 | + } else if (!strcmp (layout, "sbpro3")) { | ||
3615 | + id = CODEC_ID_ADPCM_SBPRO_3; | ||
3616 | + } else if (!strcmp (layout, "sbpro4")) { | ||
3617 | + id = CODEC_ID_ADPCM_SBPRO_4; | ||
3618 | + } | ||
3619 | + if (id != CODEC_ID_NONE) | ||
3620 | + audio = TRUE; | ||
3621 | + } else if (!strcmp (mimetype, "video/x-4xm")) { | ||
3622 | + id = CODEC_ID_4XM; | ||
3623 | + video = TRUE; | ||
3624 | + } else if (!strcmp (mimetype, "audio/x-dpcm")) { | ||
3625 | + const gchar *layout; | ||
3626 | + | ||
3627 | + layout = gst_structure_get_string (structure, "layout"); | ||
3628 | + if (!layout) { | ||
3629 | + /* .. */ | ||
3630 | + } else if (!strcmp (layout, "roq")) { | ||
3631 | + id = CODEC_ID_ROQ_DPCM; | ||
3632 | + } else if (!strcmp (layout, "interplay")) { | ||
3633 | + id = CODEC_ID_INTERPLAY_DPCM; | ||
3634 | + } else if (!strcmp (layout, "xan")) { | ||
3635 | + id = CODEC_ID_XAN_DPCM; | ||
3636 | + } else if (!strcmp (layout, "sol")) { | ||
3637 | + id = CODEC_ID_SOL_DPCM; | ||
3638 | + } | ||
3639 | + if (id != CODEC_ID_NONE) | ||
3640 | + audio = TRUE; | ||
3641 | + } else if (!strcmp (mimetype, "audio/x-flac")) { | ||
3642 | + id = CODEC_ID_FLAC; | ||
3643 | + audio = TRUE; | ||
3644 | + } else if (!strcmp (mimetype, "audio/x-shorten")) { | ||
3645 | + id = CODEC_ID_SHORTEN; | ||
3646 | + audio = TRUE; | ||
3647 | + } else if (!strcmp (mimetype, "audio/x-alac")) { | ||
3648 | + id = CODEC_ID_ALAC; | ||
3649 | + audio = TRUE; | ||
3650 | + } else if (!strcmp (mimetype, "video/x-cinepak")) { | ||
3651 | + id = CODEC_ID_CINEPAK; | ||
3652 | + video = TRUE; | ||
3653 | + } else if (!strcmp (mimetype, "video/x-pn-realvideo")) { | ||
3654 | + gint rmversion; | ||
3655 | + | ||
3656 | + if (gst_structure_get_int (structure, "rmversion", &rmversion)) { | ||
3657 | + switch (rmversion) { | ||
3658 | + case 1: | ||
3659 | + id = CODEC_ID_RV10; | ||
3660 | + break; | ||
3661 | + case 2: | ||
3662 | + id = CODEC_ID_RV20; | ||
3663 | + break; | ||
3664 | + case 3: | ||
3665 | + id = CODEC_ID_RV30; | ||
3666 | + break; | ||
3667 | + case 4: | ||
3668 | + id = CODEC_ID_RV40; | ||
3669 | + break; | ||
3670 | + } | ||
3671 | + } | ||
3672 | + if (id != CODEC_ID_NONE) | ||
3673 | + video = TRUE; | ||
3674 | + } else if (!strcmp (mimetype, "audio/x-sipro")) { | ||
3675 | + id = CODEC_ID_SIPR; | ||
3676 | + audio = TRUE; | ||
3677 | + } else if (!strcmp (mimetype, "audio/x-pn-realaudio")) { | ||
3678 | + gint raversion; | ||
3679 | + | ||
3680 | + if (gst_structure_get_int (structure, "raversion", &raversion)) { | ||
3681 | + switch (raversion) { | ||
3682 | + case 1: | ||
3683 | + id = CODEC_ID_RA_144; | ||
3684 | + break; | ||
3685 | + case 2: | ||
3686 | + id = CODEC_ID_RA_288; | ||
3687 | + break; | ||
3688 | + case 8: | ||
3689 | + id = CODEC_ID_COOK; | ||
3690 | + break; | ||
3691 | + } | ||
3692 | + } | ||
3693 | + if (id != CODEC_ID_NONE) | ||
3694 | + audio = TRUE; | ||
3695 | + } else if (!strcmp (mimetype, "video/x-rle")) { | ||
3696 | + const gchar *layout; | ||
3697 | + | ||
3698 | + if ((layout = gst_structure_get_string (structure, "layout"))) { | ||
3699 | + if (!strcmp (layout, "microsoft")) { | ||
3700 | + id = CODEC_ID_MSRLE; | ||
3701 | + video = TRUE; | ||
3702 | + } | ||
3703 | + } | ||
3704 | + } else if (!strcmp (mimetype, "video/x-xan")) { | ||
3705 | + gint wcversion = 0; | ||
3706 | + | ||
3707 | + if ((gst_structure_get_int (structure, "wcversion", &wcversion))) { | ||
3708 | + switch (wcversion) { | ||
3709 | + case 3: | ||
3710 | + id = CODEC_ID_XAN_WC3; | ||
3711 | + video = TRUE; | ||
3712 | + break; | ||
3713 | + case 4: | ||
3714 | + id = CODEC_ID_XAN_WC4; | ||
3715 | + video = TRUE; | ||
3716 | + break; | ||
3717 | + default: | ||
3718 | + break; | ||
3719 | + } | ||
3720 | + } | ||
3721 | + } else if (!strcmp (mimetype, "audio/AMR")) { | ||
3722 | + audio = TRUE; | ||
3723 | + id = CODEC_ID_AMR_NB; | ||
3724 | + } else if (!strcmp (mimetype, "audio/AMR-WB")) { | ||
3725 | + id = CODEC_ID_AMR_WB; | ||
3726 | + audio = TRUE; | ||
3727 | + } else if (!strcmp (mimetype, "audio/qcelp")) { | ||
3728 | + id = CODEC_ID_QCELP; | ||
3729 | + audio = TRUE; | ||
3730 | + } else if (!strcmp (mimetype, "video/x-h264")) { | ||
3731 | + id = CODEC_ID_H264; | ||
3732 | + video = TRUE; | ||
3733 | + } else if (!strcmp (mimetype, "video/x-flash-video")) { | ||
3734 | + gint flvversion = 0; | ||
3735 | + | ||
3736 | + if ((gst_structure_get_int (structure, "flvversion", &flvversion))) { | ||
3737 | + switch (flvversion) { | ||
3738 | + case 1: | ||
3739 | + id = CODEC_ID_FLV1; | ||
3740 | + video = TRUE; | ||
3741 | + break; | ||
3742 | + default: | ||
3743 | + break; | ||
3744 | + } | ||
3745 | + } | ||
3746 | + | ||
3747 | + } else if (!strcmp (mimetype, "audio/x-nellymoser")) { | ||
3748 | + id = CODEC_ID_NELLYMOSER; | ||
3749 | + audio = TRUE; | ||
3750 | + } else if (!strncmp (mimetype, "audio/x-gst_ff-", 15)) { | ||
3751 | + gchar ext[16]; | ||
3752 | + AVCodec *codec; | ||
3753 | + | ||
3754 | + if (strlen (mimetype) <= 30 && | ||
3755 | + sscanf (mimetype, "audio/x-gst_ff-%s", ext) == 1) { | ||
3756 | + if ((codec = avcodec_find_decoder_by_name (ext)) || | ||
3757 | + (codec = avcodec_find_encoder_by_name (ext))) { | ||
3758 | + id = codec->id; | ||
3759 | + audio = TRUE; | ||
3760 | + } | ||
3761 | + } | ||
3762 | + } else if (!strncmp (mimetype, "video/x-gst_ff-", 15)) { | ||
3763 | + gchar ext[16]; | ||
3764 | + AVCodec *codec; | ||
3765 | + | ||
3766 | + if (strlen (mimetype) <= 30 && | ||
3767 | + sscanf (mimetype, "video/x-gst_ff-%s", ext) == 1) { | ||
3768 | + if ((codec = avcodec_find_decoder_by_name (ext)) || | ||
3769 | + (codec = avcodec_find_encoder_by_name (ext))) { | ||
3770 | + id = codec->id; | ||
3771 | + video = TRUE; | ||
3772 | + } | ||
3773 | + } | ||
3774 | + } | ||
3775 | + | ||
3776 | + if (context != NULL) { | ||
3777 | + if (video == TRUE) { | ||
3778 | + context->codec_type = AVMEDIA_TYPE_VIDEO; | ||
3779 | + } else if (audio == TRUE) { | ||
3780 | + context->codec_type = AVMEDIA_TYPE_AUDIO; | ||
3781 | + } else { | ||
3782 | + context->codec_type = AVMEDIA_TYPE_UNKNOWN; | ||
3783 | + } | ||
3784 | + context->codec_id = id; | ||
3785 | + gst_ffmpeg_caps_with_codecid (id, context->codec_type, caps, context); | ||
3786 | + } | ||
3787 | + | ||
3788 | + if (id != CODEC_ID_NONE) { | ||
3789 | + GST_DEBUG ("The id=%d belongs to the caps %" GST_PTR_FORMAT, id, caps); | ||
3790 | + } else { | ||
3791 | + GST_WARNING ("Couldn't figure out the id for caps %" GST_PTR_FORMAT, caps); | ||
3792 | + } | ||
3793 | + | ||
3794 | + return id; | ||
3795 | +} | ||
3796 | diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegcodecmap.c.rej gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegcodecmap.c.rej | ||
3797 | --- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegcodecmap.c.rej 1970-01-01 01:00:00.000000000 +0100 | ||
3798 | +++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegcodecmap.c.rej 2014-08-08 15:31:06.055868246 +0200 | ||
3799 | @@ -0,0 +1,12 @@ | ||
3800 | +--- ext/ffmpeg/gstffmpegcodecmap.c | ||
3801 | ++++ ext/ffmpeg/gstffmpegcodecmap.c | ||
3802 | +@@ -1884,9 +1842,6 @@ | ||
3803 | + gst_ff_vid_caps_new (context, codec_id, encode, "video/x-raw-rgb", | ||
3804 | + "bpp", G_TYPE_INT, bpp, "depth", G_TYPE_INT, depth, "endianness", | ||
3805 | + G_TYPE_INT, endianness, NULL); | ||
3806 | +- if (caps && context) { | ||
3807 | +- gst_ffmpeg_set_palette (caps, context); | ||
3808 | +- } | ||
3809 | + } | ||
3810 | + } else if (fmt) { | ||
3811 | + caps = gst_ff_vid_caps_new (context, codec_id, encode, "video/x-raw-yuv", | ||
3812 | diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegdec.c gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegdec.c | ||
3813 | --- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegdec.c 2014-08-08 14:46:31.462772351 +0200 | ||
3814 | +++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegdec.c 2014-08-08 15:32:18.608870847 +0200 | ||
3815 | @@ -88,7 +88,6 @@ | ||
3816 | gint depth; | ||
3817 | } audio; | ||
3818 | } format; | ||
3819 | - gboolean waiting_for_key; | ||
3820 | gboolean discont; | ||
3821 | gboolean clear_ts; | ||
3822 | |||
3823 | @@ -438,7 +437,6 @@ | ||
3824 | ffmpegdec->pcache = NULL; | ||
3825 | ffmpegdec->par = NULL; | ||
3826 | ffmpegdec->opened = FALSE; | ||
3827 | - ffmpegdec->waiting_for_key = TRUE; | ||
3828 | ffmpegdec->skip_frame = ffmpegdec->lowres = 0; | ||
3829 | ffmpegdec->direct_rendering = DEFAULT_DIRECT_RENDERING; | ||
3830 | ffmpegdec->do_padding = DEFAULT_DO_PADDING; | ||
3831 | @@ -608,11 +606,6 @@ | ||
3832 | gst_ffmpeg_avcodec_close (ffmpegdec->context); | ||
3833 | ffmpegdec->opened = FALSE; | ||
3834 | |||
3835 | - if (ffmpegdec->context->palctrl) { | ||
3836 | - av_free (ffmpegdec->context->palctrl); | ||
3837 | - ffmpegdec->context->palctrl = NULL; | ||
3838 | - } | ||
3839 | - | ||
3840 | if (ffmpegdec->context->extradata) { | ||
3841 | av_free (ffmpegdec->context->extradata); | ||
3842 | ffmpegdec->context->extradata = NULL; | ||
3843 | @@ -864,7 +857,7 @@ | ||
3844 | |||
3845 | /* workaround encoder bugs */ | ||
3846 | ffmpegdec->context->workaround_bugs |= FF_BUG_AUTODETECT; | ||
3847 | - ffmpegdec->context->error_recognition = 1; | ||
3848 | + ffmpegdec->context->err_recognition = 1; | ||
3849 | |||
3850 | /* for slow cpus */ | ||
3851 | ffmpegdec->context->lowres = ffmpegdec->lowres; | ||
3852 | @@ -944,7 +937,7 @@ | ||
3853 | fsize = gst_ffmpeg_avpicture_get_size (ffmpegdec->context->pix_fmt, | ||
3854 | width, height); | ||
3855 | |||
3856 | - if (!ffmpegdec->context->palctrl && ffmpegdec->can_allocate_aligned) { | ||
3857 | + if (ffmpegdec->can_allocate_aligned) { | ||
3858 | GST_LOG_OBJECT (ffmpegdec, "calling pad_alloc"); | ||
3859 | /* no pallete, we can use the buffer size to alloc */ | ||
3860 | ret = gst_pad_alloc_buffer_and_set_caps (ffmpegdec->srcpad, | ||
3861 | @@ -1083,7 +1076,6 @@ | ||
3862 | /* tell ffmpeg we own this buffer, tranfer the ref we have on the buffer to | ||
3863 | * the opaque data. */ | ||
3864 | picture->type = FF_BUFFER_TYPE_USER; | ||
3865 | - picture->age = 256 * 256 * 256 * 64; | ||
3866 | picture->opaque = buf; | ||
3867 | |||
3868 | #ifdef EXTRA_REF | ||
3869 | @@ -1414,10 +1406,6 @@ | ||
3870 | } else { | ||
3871 | if (diff >= 0) { | ||
3872 | /* we're too slow, try to speed up */ | ||
3873 | - if (ffmpegdec->waiting_for_key) { | ||
3874 | - /* we were waiting for a keyframe, that's ok */ | ||
3875 | - goto skipping; | ||
3876 | - } | ||
3877 | /* switch to skip_frame mode */ | ||
3878 | goto skip_frame; | ||
3879 | } | ||
3880 | @@ -1427,11 +1415,6 @@ | ||
3881 | ffmpegdec->processed++; | ||
3882 | return TRUE; | ||
3883 | |||
3884 | -skipping: | ||
3885 | - { | ||
3886 | - res = FALSE; | ||
3887 | - goto drop_qos; | ||
3888 | - } | ||
3889 | normal_mode: | ||
3890 | { | ||
3891 | if (ffmpegdec->context->skip_frame != AVDISCARD_DEFAULT) { | ||
3892 | @@ -1528,43 +1511,6 @@ | ||
3893 | } | ||
3894 | |||
3895 | |||
3896 | -/* figure out if the current picture is a keyframe, return TRUE if that is | ||
3897 | - * the case. */ | ||
3898 | -static gboolean | ||
3899 | -check_keyframe (GstFFMpegDec * ffmpegdec) | ||
3900 | -{ | ||
3901 | - GstFFMpegDecClass *oclass; | ||
3902 | - gboolean is_itype = FALSE; | ||
3903 | - gboolean is_reference = FALSE; | ||
3904 | - gboolean iskeyframe; | ||
3905 | - | ||
3906 | - /* figure out if we are dealing with a keyframe */ | ||
3907 | - oclass = (GstFFMpegDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); | ||
3908 | - | ||
3909 | - /* remember that we have B frames, we need this for the DTS -> PTS conversion | ||
3910 | - * code */ | ||
3911 | - if (!ffmpegdec->has_b_frames && ffmpegdec->picture->pict_type == FF_B_TYPE) { | ||
3912 | - GST_DEBUG_OBJECT (ffmpegdec, "we have B frames"); | ||
3913 | - ffmpegdec->has_b_frames = TRUE; | ||
3914 | - } | ||
3915 | - | ||
3916 | - is_itype = (ffmpegdec->picture->pict_type == FF_I_TYPE); | ||
3917 | - is_reference = (ffmpegdec->picture->reference == 1); | ||
3918 | - | ||
3919 | - iskeyframe = (is_itype || is_reference || ffmpegdec->picture->key_frame) | ||
3920 | - || (oclass->in_plugin->id == CODEC_ID_INDEO3) | ||
3921 | - || (oclass->in_plugin->id == CODEC_ID_MSZH) | ||
3922 | - || (oclass->in_plugin->id == CODEC_ID_ZLIB) | ||
3923 | - || (oclass->in_plugin->id == CODEC_ID_VP3) | ||
3924 | - || (oclass->in_plugin->id == CODEC_ID_HUFFYUV); | ||
3925 | - | ||
3926 | - GST_LOG_OBJECT (ffmpegdec, | ||
3927 | - "current picture: type: %d, is_keyframe:%d, is_itype:%d, is_reference:%d", | ||
3928 | - ffmpegdec->picture->pict_type, iskeyframe, is_itype, is_reference); | ||
3929 | - | ||
3930 | - return iskeyframe; | ||
3931 | -} | ||
3932 | - | ||
3933 | /* get an outbuf buffer with the current picture */ | ||
3934 | static GstFlowReturn | ||
3935 | get_output_buffer (GstFFMpegDec * ffmpegdec, GstBuffer ** outbuf) | ||
3936 | @@ -1694,7 +1640,6 @@ | ||
3937 | { | ||
3938 | gint len = -1; | ||
3939 | gint have_data; | ||
3940 | - gboolean iskeyframe; | ||
3941 | gboolean mode_switch; | ||
3942 | gboolean decode; | ||
3943 | gint skip_frame = AVDISCARD_DEFAULT; | ||
3944 | @@ -1809,7 +1754,6 @@ | ||
3945 | gst_ffmpegdec_negotiate (ffmpegdec, TRUE); | ||
3946 | } | ||
3947 | |||
3948 | - | ||
3949 | /* Whether a frame is interlaced or not is unknown at the time of | ||
3950 | buffer allocation, so caps on the buffer in opaque will have | ||
3951 | the previous frame's interlaced flag set. So if interlacedness | ||
3952 | @@ -1831,10 +1775,6 @@ | ||
3953 | } | ||
3954 | } | ||
3955 | |||
3956 | - /* check if we are dealing with a keyframe here, this will also check if we | ||
3957 | - * are dealing with B frames. */ | ||
3958 | - iskeyframe = check_keyframe (ffmpegdec); | ||
3959 | - | ||
3960 | /* check that the timestamps go upwards */ | ||
3961 | if (ffmpegdec->last_out != -1 && ffmpegdec->last_out > out_pts) { | ||
3962 | /* timestamps go backwards, this means frames were reordered and we must | ||
3963 | @@ -1865,7 +1805,7 @@ | ||
3964 | * timestamps */ | ||
3965 | if (!ffmpegdec->reordered_in && ffmpegdec->reordered_out) { | ||
3966 | /* PTS and DTS are the same for keyframes */ | ||
3967 | - if (!iskeyframe && ffmpegdec->next_out != -1) { | ||
3968 | + if (ffmpegdec->next_out != -1) { | ||
3969 | /* interpolate all timestamps except for keyframes, FIXME, this is | ||
3970 | * wrong when QoS is active. */ | ||
3971 | GST_DEBUG_OBJECT (ffmpegdec, "interpolate timestamps"); | ||
3972 | @@ -1874,16 +1814,6 @@ | ||
3973 | } | ||
3974 | } | ||
3975 | |||
3976 | - /* when we're waiting for a keyframe, see if we have one or drop the current | ||
3977 | - * non-keyframe */ | ||
3978 | - if (G_UNLIKELY (ffmpegdec->waiting_for_key)) { | ||
3979 | - if (G_LIKELY (!iskeyframe)) | ||
3980 | - goto drop_non_keyframe; | ||
3981 | - | ||
3982 | - /* we have a keyframe, we can stop waiting for one */ | ||
3983 | - ffmpegdec->waiting_for_key = FALSE; | ||
3984 | - } | ||
3985 | - | ||
3986 | /* get a handle to the output buffer */ | ||
3987 | *ret = get_output_buffer (ffmpegdec, outbuf); | ||
3988 | if (G_UNLIKELY (*ret != GST_FLOW_OK)) | ||
3989 | @@ -2000,20 +1930,11 @@ | ||
3990 | else | ||
3991 | ffmpegdec->next_out = -1; | ||
3992 | |||
3993 | - /* palette is not part of raw video frame in gst and the size | ||
3994 | - * of the outgoing buffer needs to be adjusted accordingly */ | ||
3995 | - if (ffmpegdec->context->palctrl != NULL) | ||
3996 | - GST_BUFFER_SIZE (*outbuf) -= AVPALETTE_SIZE; | ||
3997 | - | ||
3998 | /* now see if we need to clip the buffer against the segment boundaries. */ | ||
3999 | if (G_UNLIKELY (!clip_video_buffer (ffmpegdec, *outbuf, out_timestamp, | ||
4000 | out_duration))) | ||
4001 | goto clipped; | ||
4002 | |||
4003 | - /* mark as keyframe or delta unit */ | ||
4004 | - if (!iskeyframe) | ||
4005 | - GST_BUFFER_FLAG_SET (*outbuf, GST_BUFFER_FLAG_DELTA_UNIT); | ||
4006 | - | ||
4007 | if (ffmpegdec->picture->top_field_first) | ||
4008 | GST_BUFFER_FLAG_SET (*outbuf, GST_VIDEO_BUFFER_TFF); | ||
4009 | |||
4010 | @@ -2024,11 +1945,6 @@ | ||
4011 | return len; | ||
4012 | |||
4013 | /* special cases */ | ||
4014 | -drop_non_keyframe: | ||
4015 | - { | ||
4016 | - GST_WARNING_OBJECT (ffmpegdec, "Dropping non-keyframe (seek/init)"); | ||
4017 | - goto beach; | ||
4018 | - } | ||
4019 | no_output: | ||
4020 | { | ||
4021 | GST_DEBUG_OBJECT (ffmpegdec, "no output buffer"); | ||
4022 | @@ -2422,7 +2338,6 @@ | ||
4023 | gst_ffmpegdec_reset_ts (ffmpegdec); | ||
4024 | gst_ffmpegdec_reset_qos (ffmpegdec); | ||
4025 | gst_ffmpegdec_flush_pcache (ffmpegdec); | ||
4026 | - ffmpegdec->waiting_for_key = TRUE; | ||
4027 | gst_segment_init (&ffmpegdec->segment, GST_FORMAT_TIME); | ||
4028 | clear_queued (ffmpegdec); | ||
4029 | break; | ||
4030 | @@ -2560,17 +2475,6 @@ | ||
4031 | |||
4032 | oclass = (GstFFMpegDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); | ||
4033 | |||
4034 | - /* do early keyframe check pretty bad to rely on the keyframe flag in the | ||
4035 | - * source for this as it might not even be parsed (UDP/file/..). */ | ||
4036 | - if (G_UNLIKELY (ffmpegdec->waiting_for_key)) { | ||
4037 | - GST_DEBUG_OBJECT (ffmpegdec, "waiting for keyframe"); | ||
4038 | - if (GST_BUFFER_FLAG_IS_SET (inbuf, GST_BUFFER_FLAG_DELTA_UNIT) && | ||
4039 | - oclass->in_plugin->type != AVMEDIA_TYPE_AUDIO) | ||
4040 | - goto skip_keyframe; | ||
4041 | - | ||
4042 | - GST_DEBUG_OBJECT (ffmpegdec, "got keyframe"); | ||
4043 | - ffmpegdec->waiting_for_key = FALSE; | ||
4044 | - } | ||
4045 | /* parse cache joining. If there is cached data */ | ||
4046 | if (ffmpegdec->pcache) { | ||
4047 | /* join with previous data */ | ||
4048 | @@ -2805,12 +2709,6 @@ | ||
4049 | gst_buffer_unref (inbuf); | ||
4050 | return GST_FLOW_NOT_NEGOTIATED; | ||
4051 | } | ||
4052 | -skip_keyframe: | ||
4053 | - { | ||
4054 | - GST_DEBUG_OBJECT (ffmpegdec, "skipping non keyframe"); | ||
4055 | - gst_buffer_unref (inbuf); | ||
4056 | - return GST_FLOW_OK; | ||
4057 | - } | ||
4058 | } | ||
4059 | |||
4060 | static GstStateChangeReturn | ||
4061 | @@ -2936,7 +2834,7 @@ | ||
4062 | gchar *plugin_name; | ||
4063 | |||
4064 | /* only decoders */ | ||
4065 | - if (!in_plugin->decode) { | ||
4066 | + if (!av_codec_is_decoder (in_plugin)) { | ||
4067 | goto next; | ||
4068 | } | ||
4069 | |||
4070 | diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegdec.c.orig gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegdec.c.orig | ||
4071 | --- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegdec.c.orig 1970-01-01 01:00:00.000000000 +0100 | ||
4072 | +++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegdec.c.orig 2014-08-08 15:31:06.057868246 +0200 | ||
4073 | @@ -0,0 +1,2973 @@ | ||
4074 | +/* GStreamer | ||
4075 | + * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu> | ||
4076 | + * | ||
4077 | + * This library is free software; you can redistribute it and/or | ||
4078 | + * modify it under the terms of the GNU Library General Public | ||
4079 | + * License as published by the Free Software Foundation; either | ||
4080 | + * version 2 of the License, or (at your option) any later version. | ||
4081 | + * | ||
4082 | + * This library is distributed in the hope that it will be useful, | ||
4083 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
4084 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
4085 | + * Library General Public License for more details. | ||
4086 | + * | ||
4087 | + * You should have received a copy of the GNU Library General Public | ||
4088 | + * License along with this library; if not, write to the | ||
4089 | + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
4090 | + * Boston, MA 02111-1307, USA. | ||
4091 | + */ | ||
4092 | + | ||
4093 | +#ifdef HAVE_CONFIG_H | ||
4094 | +#include "config.h" | ||
4095 | +#endif | ||
4096 | + | ||
4097 | +#include <assert.h> | ||
4098 | +#include <string.h> | ||
4099 | + | ||
4100 | +#ifdef HAVE_FFMPEG_UNINSTALLED | ||
4101 | +#include <avcodec.h> | ||
4102 | +#else | ||
4103 | +#include <libavcodec/avcodec.h> | ||
4104 | +#endif | ||
4105 | + | ||
4106 | +#include <gst/gst.h> | ||
4107 | +#include <gst/video/video.h> | ||
4108 | + | ||
4109 | +#include "gstffmpeg.h" | ||
4110 | +#include "gstffmpegcodecmap.h" | ||
4111 | +#include "gstffmpegutils.h" | ||
4112 | + | ||
4113 | +/* define to enable alternative buffer refcounting algorithm */ | ||
4114 | +#undef EXTRA_REF | ||
4115 | + | ||
4116 | +typedef struct _GstFFMpegDec GstFFMpegDec; | ||
4117 | + | ||
4118 | +#define MAX_TS_MASK 0xff | ||
4119 | + | ||
4120 | +/* for each incomming buffer we keep all timing info in a structure like this. | ||
4121 | + * We keep a circular array of these structures around to store the timing info. | ||
4122 | + * The index in the array is what we pass as opaque data (to pictures) and | ||
4123 | + * pts (to parsers) so that ffmpeg can remember them for us. */ | ||
4124 | +typedef struct | ||
4125 | +{ | ||
4126 | + gint idx; | ||
4127 | + GstClockTime timestamp; | ||
4128 | + GstClockTime duration; | ||
4129 | + gint64 offset; | ||
4130 | +} GstTSInfo; | ||
4131 | + | ||
4132 | +struct _GstFFMpegDec | ||
4133 | +{ | ||
4134 | + GstElement element; | ||
4135 | + | ||
4136 | + /* We need to keep track of our pads, so we do so here. */ | ||
4137 | + GstPad *srcpad; | ||
4138 | + GstPad *sinkpad; | ||
4139 | + | ||
4140 | + /* decoding */ | ||
4141 | + AVCodecContext *context; | ||
4142 | + AVFrame *picture; | ||
4143 | + gboolean opened; | ||
4144 | + union | ||
4145 | + { | ||
4146 | + struct | ||
4147 | + { | ||
4148 | + gint width, height; | ||
4149 | + gint clip_width, clip_height; | ||
4150 | + gint par_n, par_d; | ||
4151 | + gint fps_n, fps_d; | ||
4152 | + gint old_fps_n, old_fps_d; | ||
4153 | + gboolean interlaced; | ||
4154 | + | ||
4155 | + enum PixelFormat pix_fmt; | ||
4156 | + } video; | ||
4157 | + struct | ||
4158 | + { | ||
4159 | + gint channels; | ||
4160 | + gint samplerate; | ||
4161 | + gint depth; | ||
4162 | + } audio; | ||
4163 | + } format; | ||
4164 | + gboolean discont; | ||
4165 | + gboolean clear_ts; | ||
4166 | + | ||
4167 | + /* for tracking DTS/PTS */ | ||
4168 | + gboolean has_b_frames; | ||
4169 | + gboolean reordered_in; | ||
4170 | + GstClockTime last_in; | ||
4171 | + GstClockTime last_diff; | ||
4172 | + guint last_frames; | ||
4173 | + gboolean reordered_out; | ||
4174 | + GstClockTime last_out; | ||
4175 | + GstClockTime next_out; | ||
4176 | + | ||
4177 | + /* parsing */ | ||
4178 | + gboolean turnoff_parser; /* used for turning off aac raw parsing | ||
4179 | + * See bug #566250 */ | ||
4180 | + AVCodecParserContext *pctx; | ||
4181 | + GstBuffer *pcache; | ||
4182 | + guint8 *padded; | ||
4183 | + guint padded_size; | ||
4184 | + | ||
4185 | + GValue *par; /* pixel aspect ratio of incoming data */ | ||
4186 | + gboolean current_dr; /* if direct rendering is enabled */ | ||
4187 | + gboolean extra_ref; /* keep extra ref around in get/release */ | ||
4188 | + | ||
4189 | + /* some properties */ | ||
4190 | + enum AVDiscard skip_frame; | ||
4191 | + gint lowres; | ||
4192 | + gboolean direct_rendering; | ||
4193 | + gboolean do_padding; | ||
4194 | + gboolean debug_mv; | ||
4195 | + gboolean crop; | ||
4196 | + int max_threads; | ||
4197 | + | ||
4198 | + /* QoS stuff *//* with LOCK */ | ||
4199 | + gdouble proportion; | ||
4200 | + GstClockTime earliest_time; | ||
4201 | + gint64 processed; | ||
4202 | + gint64 dropped; | ||
4203 | + | ||
4204 | + /* clipping segment */ | ||
4205 | + GstSegment segment; | ||
4206 | + | ||
4207 | + gboolean is_realvideo; | ||
4208 | + | ||
4209 | + GstTSInfo ts_info[MAX_TS_MASK + 1]; | ||
4210 | + gint ts_idx; | ||
4211 | + | ||
4212 | + /* reverse playback queue */ | ||
4213 | + GList *queued; | ||
4214 | + | ||
4215 | + /* Can downstream allocate 16bytes aligned data. */ | ||
4216 | + gboolean can_allocate_aligned; | ||
4217 | +}; | ||
4218 | + | ||
4219 | +typedef struct _GstFFMpegDecClass GstFFMpegDecClass; | ||
4220 | + | ||
4221 | +struct _GstFFMpegDecClass | ||
4222 | +{ | ||
4223 | + GstElementClass parent_class; | ||
4224 | + | ||
4225 | + AVCodec *in_plugin; | ||
4226 | + GstPadTemplate *srctempl, *sinktempl; | ||
4227 | +}; | ||
4228 | + | ||
4229 | +#define GST_TS_INFO_NONE &ts_info_none | ||
4230 | +static const GstTSInfo ts_info_none = { -1, -1, -1, -1 }; | ||
4231 | + | ||
4232 | +static const GstTSInfo * | ||
4233 | +gst_ts_info_store (GstFFMpegDec * dec, GstClockTime timestamp, | ||
4234 | + GstClockTime duration, gint64 offset) | ||
4235 | +{ | ||
4236 | + gint idx = dec->ts_idx; | ||
4237 | + dec->ts_info[idx].idx = idx; | ||
4238 | + dec->ts_info[idx].timestamp = timestamp; | ||
4239 | + dec->ts_info[idx].duration = duration; | ||
4240 | + dec->ts_info[idx].offset = offset; | ||
4241 | + dec->ts_idx = (idx + 1) & MAX_TS_MASK; | ||
4242 | + | ||
4243 | + return &dec->ts_info[idx]; | ||
4244 | +} | ||
4245 | + | ||
4246 | +static const GstTSInfo * | ||
4247 | +gst_ts_info_get (GstFFMpegDec * dec, gint idx) | ||
4248 | +{ | ||
4249 | + if (G_UNLIKELY (idx < 0 || idx > MAX_TS_MASK)) | ||
4250 | + return GST_TS_INFO_NONE; | ||
4251 | + | ||
4252 | + return &dec->ts_info[idx]; | ||
4253 | +} | ||
4254 | + | ||
4255 | +#define GST_TYPE_FFMPEGDEC \ | ||
4256 | + (gst_ffmpegdec_get_type()) | ||
4257 | +#define GST_FFMPEGDEC(obj) \ | ||
4258 | + (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_FFMPEGDEC,GstFFMpegDec)) | ||
4259 | +#define GST_FFMPEGDEC_CLASS(klass) \ | ||
4260 | + (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_FFMPEGDEC,GstFFMpegDecClass)) | ||
4261 | +#define GST_IS_FFMPEGDEC(obj) \ | ||
4262 | + (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_FFMPEGDEC)) | ||
4263 | +#define GST_IS_FFMPEGDEC_CLASS(klass) \ | ||
4264 | + (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_FFMPEGDEC)) | ||
4265 | + | ||
4266 | +#define DEFAULT_LOWRES 0 | ||
4267 | +#define DEFAULT_SKIPFRAME 0 | ||
4268 | +#define DEFAULT_DIRECT_RENDERING TRUE | ||
4269 | +#define DEFAULT_DO_PADDING TRUE | ||
4270 | +#define DEFAULT_DEBUG_MV FALSE | ||
4271 | +#define DEFAULT_CROP TRUE | ||
4272 | +#define DEFAULT_MAX_THREADS 1 | ||
4273 | + | ||
4274 | +enum | ||
4275 | +{ | ||
4276 | + PROP_0, | ||
4277 | + PROP_LOWRES, | ||
4278 | + PROP_SKIPFRAME, | ||
4279 | + PROP_DIRECT_RENDERING, | ||
4280 | + PROP_DO_PADDING, | ||
4281 | + PROP_DEBUG_MV, | ||
4282 | + PROP_CROP, | ||
4283 | + PROP_MAX_THREADS, | ||
4284 | + PROP_LAST | ||
4285 | +}; | ||
4286 | + | ||
4287 | +/* A number of function prototypes are given so we can refer to them later. */ | ||
4288 | +static void gst_ffmpegdec_base_init (GstFFMpegDecClass * klass); | ||
4289 | +static void gst_ffmpegdec_class_init (GstFFMpegDecClass * klass); | ||
4290 | +static void gst_ffmpegdec_init (GstFFMpegDec * ffmpegdec); | ||
4291 | +static void gst_ffmpegdec_finalize (GObject * object); | ||
4292 | + | ||
4293 | +static gboolean gst_ffmpegdec_query (GstPad * pad, GstQuery * query); | ||
4294 | +static gboolean gst_ffmpegdec_src_event (GstPad * pad, GstEvent * event); | ||
4295 | + | ||
4296 | +static gboolean gst_ffmpegdec_setcaps (GstPad * pad, GstCaps * caps); | ||
4297 | +static gboolean gst_ffmpegdec_sink_event (GstPad * pad, GstEvent * event); | ||
4298 | +static GstFlowReturn gst_ffmpegdec_chain (GstPad * pad, GstBuffer * buf); | ||
4299 | + | ||
4300 | +static GstStateChangeReturn gst_ffmpegdec_change_state (GstElement * element, | ||
4301 | + GstStateChange transition); | ||
4302 | + | ||
4303 | +static void gst_ffmpegdec_set_property (GObject * object, | ||
4304 | + guint prop_id, const GValue * value, GParamSpec * pspec); | ||
4305 | +static void gst_ffmpegdec_get_property (GObject * object, | ||
4306 | + guint prop_id, GValue * value, GParamSpec * pspec); | ||
4307 | + | ||
4308 | +static gboolean gst_ffmpegdec_negotiate (GstFFMpegDec * ffmpegdec, | ||
4309 | + gboolean force); | ||
4310 | + | ||
4311 | +/* some sort of bufferpool handling, but different */ | ||
4312 | +static int gst_ffmpegdec_get_buffer (AVCodecContext * context, | ||
4313 | + AVFrame * picture); | ||
4314 | +static void gst_ffmpegdec_release_buffer (AVCodecContext * context, | ||
4315 | + AVFrame * picture); | ||
4316 | + | ||
4317 | +static void gst_ffmpegdec_drain (GstFFMpegDec * ffmpegdec); | ||
4318 | + | ||
4319 | +#define GST_FFDEC_PARAMS_QDATA g_quark_from_static_string("ffdec-params") | ||
4320 | + | ||
4321 | +static GstElementClass *parent_class = NULL; | ||
4322 | + | ||
4323 | +#define GST_FFMPEGDEC_TYPE_LOWRES (gst_ffmpegdec_lowres_get_type()) | ||
4324 | +static GType | ||
4325 | +gst_ffmpegdec_lowres_get_type (void) | ||
4326 | +{ | ||
4327 | + static GType ffmpegdec_lowres_type = 0; | ||
4328 | + | ||
4329 | + if (!ffmpegdec_lowres_type) { | ||
4330 | + static const GEnumValue ffmpegdec_lowres[] = { | ||
4331 | + {0, "0", "full"}, | ||
4332 | + {1, "1", "1/2-size"}, | ||
4333 | + {2, "2", "1/4-size"}, | ||
4334 | + {0, NULL, NULL}, | ||
4335 | + }; | ||
4336 | + | ||
4337 | + ffmpegdec_lowres_type = | ||
4338 | + g_enum_register_static ("GstFFMpegDecLowres", ffmpegdec_lowres); | ||
4339 | + } | ||
4340 | + | ||
4341 | + return ffmpegdec_lowres_type; | ||
4342 | +} | ||
4343 | + | ||
4344 | +#define GST_FFMPEGDEC_TYPE_SKIPFRAME (gst_ffmpegdec_skipframe_get_type()) | ||
4345 | +static GType | ||
4346 | +gst_ffmpegdec_skipframe_get_type (void) | ||
4347 | +{ | ||
4348 | + static GType ffmpegdec_skipframe_type = 0; | ||
4349 | + | ||
4350 | + if (!ffmpegdec_skipframe_type) { | ||
4351 | + static const GEnumValue ffmpegdec_skipframe[] = { | ||
4352 | + {0, "0", "Skip nothing"}, | ||
4353 | + {1, "1", "Skip B-frames"}, | ||
4354 | + {2, "2", "Skip IDCT/Dequantization"}, | ||
4355 | + {5, "5", "Skip everything"}, | ||
4356 | + {0, NULL, NULL}, | ||
4357 | + }; | ||
4358 | + | ||
4359 | + ffmpegdec_skipframe_type = | ||
4360 | + g_enum_register_static ("GstFFMpegDecSkipFrame", ffmpegdec_skipframe); | ||
4361 | + } | ||
4362 | + | ||
4363 | + return ffmpegdec_skipframe_type; | ||
4364 | +} | ||
4365 | + | ||
4366 | +static void | ||
4367 | +gst_ffmpegdec_base_init (GstFFMpegDecClass * klass) | ||
4368 | +{ | ||
4369 | + GstElementClass *element_class = GST_ELEMENT_CLASS (klass); | ||
4370 | + GstPadTemplate *sinktempl, *srctempl; | ||
4371 | + GstCaps *sinkcaps, *srccaps; | ||
4372 | + AVCodec *in_plugin; | ||
4373 | + gchar *longname, *classification, *description; | ||
4374 | + | ||
4375 | + in_plugin = | ||
4376 | + (AVCodec *) g_type_get_qdata (G_OBJECT_CLASS_TYPE (klass), | ||
4377 | + GST_FFDEC_PARAMS_QDATA); | ||
4378 | + g_assert (in_plugin != NULL); | ||
4379 | + | ||
4380 | + /* construct the element details struct */ | ||
4381 | + longname = g_strdup_printf ("FFmpeg %s decoder", in_plugin->long_name); | ||
4382 | + classification = g_strdup_printf ("Codec/Decoder/%s", | ||
4383 | + (in_plugin->type == AVMEDIA_TYPE_VIDEO) ? "Video" : "Audio"); | ||
4384 | + description = g_strdup_printf ("FFmpeg %s decoder", in_plugin->name); | ||
4385 | + gst_element_class_set_details_simple (element_class, longname, classification, | ||
4386 | + description, | ||
4387 | + "Wim Taymans <wim.taymans@gmail.com>, " | ||
4388 | + "Ronald Bultje <rbultje@ronald.bitfreak.net>, " | ||
4389 | + "Edward Hervey <bilboed@bilboed.com>"); | ||
4390 | + g_free (longname); | ||
4391 | + g_free (classification); | ||
4392 | + g_free (description); | ||
4393 | + | ||
4394 | + /* get the caps */ | ||
4395 | + sinkcaps = gst_ffmpeg_codecid_to_caps (in_plugin->id, NULL, FALSE); | ||
4396 | + if (!sinkcaps) { | ||
4397 | + GST_DEBUG ("Couldn't get sink caps for decoder '%s'", in_plugin->name); | ||
4398 | + sinkcaps = gst_caps_from_string ("unknown/unknown"); | ||
4399 | + } | ||
4400 | + if (in_plugin->type == AVMEDIA_TYPE_VIDEO) { | ||
4401 | + srccaps = gst_caps_from_string ("video/x-raw-rgb; video/x-raw-yuv"); | ||
4402 | + } else { | ||
4403 | + srccaps = gst_ffmpeg_codectype_to_audio_caps (NULL, | ||
4404 | + in_plugin->id, FALSE, in_plugin); | ||
4405 | + } | ||
4406 | + if (!srccaps) { | ||
4407 | + GST_DEBUG ("Couldn't get source caps for decoder '%s'", in_plugin->name); | ||
4408 | + srccaps = gst_caps_from_string ("unknown/unknown"); | ||
4409 | + } | ||
4410 | + | ||
4411 | + /* pad templates */ | ||
4412 | + sinktempl = gst_pad_template_new ("sink", GST_PAD_SINK, | ||
4413 | + GST_PAD_ALWAYS, sinkcaps); | ||
4414 | + srctempl = gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, srccaps); | ||
4415 | + | ||
4416 | + gst_element_class_add_pad_template (element_class, srctempl); | ||
4417 | + gst_element_class_add_pad_template (element_class, sinktempl); | ||
4418 | + | ||
4419 | + klass->in_plugin = in_plugin; | ||
4420 | + klass->srctempl = srctempl; | ||
4421 | + klass->sinktempl = sinktempl; | ||
4422 | +} | ||
4423 | + | ||
4424 | +static void | ||
4425 | +gst_ffmpegdec_class_init (GstFFMpegDecClass * klass) | ||
4426 | +{ | ||
4427 | + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); | ||
4428 | + GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass); | ||
4429 | + | ||
4430 | + parent_class = g_type_class_peek_parent (klass); | ||
4431 | + | ||
4432 | + gobject_class->finalize = gst_ffmpegdec_finalize; | ||
4433 | + | ||
4434 | + gobject_class->set_property = gst_ffmpegdec_set_property; | ||
4435 | + gobject_class->get_property = gst_ffmpegdec_get_property; | ||
4436 | + | ||
4437 | + if (klass->in_plugin->type == AVMEDIA_TYPE_VIDEO) { | ||
4438 | + int caps; | ||
4439 | + | ||
4440 | + g_object_class_install_property (gobject_class, PROP_SKIPFRAME, | ||
4441 | + g_param_spec_enum ("skip-frame", "Skip frames", | ||
4442 | + "Which types of frames to skip during decoding", | ||
4443 | + GST_FFMPEGDEC_TYPE_SKIPFRAME, 0, | ||
4444 | + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); | ||
4445 | + g_object_class_install_property (gobject_class, PROP_LOWRES, | ||
4446 | + g_param_spec_enum ("lowres", "Low resolution", | ||
4447 | + "At which resolution to decode images", GST_FFMPEGDEC_TYPE_LOWRES, | ||
4448 | + 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); | ||
4449 | + g_object_class_install_property (gobject_class, PROP_DIRECT_RENDERING, | ||
4450 | + g_param_spec_boolean ("direct-rendering", "Direct Rendering", | ||
4451 | + "Enable direct rendering", DEFAULT_DIRECT_RENDERING, | ||
4452 | + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); | ||
4453 | + g_object_class_install_property (gobject_class, PROP_DO_PADDING, | ||
4454 | + g_param_spec_boolean ("do-padding", "Do Padding", | ||
4455 | + "Add 0 padding before decoding data", DEFAULT_DO_PADDING, | ||
4456 | + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); | ||
4457 | + g_object_class_install_property (gobject_class, PROP_DEBUG_MV, | ||
4458 | + g_param_spec_boolean ("debug-mv", "Debug motion vectors", | ||
4459 | + "Whether ffmpeg should print motion vectors on top of the image", | ||
4460 | + DEFAULT_DEBUG_MV, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); | ||
4461 | +#if 0 | ||
4462 | + g_object_class_install_property (gobject_class, PROP_CROP, | ||
4463 | + g_param_spec_boolean ("crop", "Crop", | ||
4464 | + "Crop images to the display region", | ||
4465 | + DEFAULT_CROP, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); | ||
4466 | +#endif | ||
4467 | + | ||
4468 | + caps = klass->in_plugin->capabilities; | ||
4469 | + if (caps & (CODEC_CAP_FRAME_THREADS | CODEC_CAP_SLICE_THREADS)) { | ||
4470 | + g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_MAX_THREADS, | ||
4471 | + g_param_spec_int ("max-threads", "Maximum decode threads", | ||
4472 | + "Maximum number of worker threads to spawn. (0 = auto)", | ||
4473 | + 0, G_MAXINT, DEFAULT_MAX_THREADS, | ||
4474 | + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); | ||
4475 | + } | ||
4476 | + } | ||
4477 | + | ||
4478 | + gstelement_class->change_state = gst_ffmpegdec_change_state; | ||
4479 | +} | ||
4480 | + | ||
4481 | +static void | ||
4482 | +gst_ffmpegdec_init (GstFFMpegDec * ffmpegdec) | ||
4483 | +{ | ||
4484 | + GstFFMpegDecClass *oclass; | ||
4485 | + | ||
4486 | + oclass = (GstFFMpegDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); | ||
4487 | + | ||
4488 | + /* setup pads */ | ||
4489 | + ffmpegdec->sinkpad = gst_pad_new_from_template (oclass->sinktempl, "sink"); | ||
4490 | + gst_pad_set_setcaps_function (ffmpegdec->sinkpad, | ||
4491 | + GST_DEBUG_FUNCPTR (gst_ffmpegdec_setcaps)); | ||
4492 | + gst_pad_set_event_function (ffmpegdec->sinkpad, | ||
4493 | + GST_DEBUG_FUNCPTR (gst_ffmpegdec_sink_event)); | ||
4494 | + gst_pad_set_chain_function (ffmpegdec->sinkpad, | ||
4495 | + GST_DEBUG_FUNCPTR (gst_ffmpegdec_chain)); | ||
4496 | + gst_element_add_pad (GST_ELEMENT (ffmpegdec), ffmpegdec->sinkpad); | ||
4497 | + | ||
4498 | + ffmpegdec->srcpad = gst_pad_new_from_template (oclass->srctempl, "src"); | ||
4499 | + gst_pad_use_fixed_caps (ffmpegdec->srcpad); | ||
4500 | + gst_pad_set_event_function (ffmpegdec->srcpad, | ||
4501 | + GST_DEBUG_FUNCPTR (gst_ffmpegdec_src_event)); | ||
4502 | + gst_pad_set_query_function (ffmpegdec->srcpad, | ||
4503 | + GST_DEBUG_FUNCPTR (gst_ffmpegdec_query)); | ||
4504 | + gst_element_add_pad (GST_ELEMENT (ffmpegdec), ffmpegdec->srcpad); | ||
4505 | + | ||
4506 | + /* some ffmpeg data */ | ||
4507 | + ffmpegdec->context = avcodec_alloc_context (); | ||
4508 | + ffmpegdec->picture = avcodec_alloc_frame (); | ||
4509 | + ffmpegdec->pctx = NULL; | ||
4510 | + ffmpegdec->pcache = NULL; | ||
4511 | + ffmpegdec->par = NULL; | ||
4512 | + ffmpegdec->opened = FALSE; | ||
4513 | + ffmpegdec->skip_frame = ffmpegdec->lowres = 0; | ||
4514 | + ffmpegdec->direct_rendering = DEFAULT_DIRECT_RENDERING; | ||
4515 | + ffmpegdec->do_padding = DEFAULT_DO_PADDING; | ||
4516 | + ffmpegdec->debug_mv = DEFAULT_DEBUG_MV; | ||
4517 | + ffmpegdec->crop = DEFAULT_CROP; | ||
4518 | + ffmpegdec->max_threads = DEFAULT_MAX_THREADS; | ||
4519 | + | ||
4520 | + ffmpegdec->format.video.par_n = -1; | ||
4521 | + ffmpegdec->format.video.fps_n = -1; | ||
4522 | + ffmpegdec->format.video.old_fps_n = -1; | ||
4523 | + gst_segment_init (&ffmpegdec->segment, GST_FORMAT_TIME); | ||
4524 | + | ||
4525 | + /* We initially assume downstream can allocate 16 bytes aligned buffers */ | ||
4526 | + ffmpegdec->can_allocate_aligned = TRUE; | ||
4527 | +} | ||
4528 | + | ||
4529 | +static void | ||
4530 | +gst_ffmpegdec_finalize (GObject * object) | ||
4531 | +{ | ||
4532 | + GstFFMpegDec *ffmpegdec = (GstFFMpegDec *) object; | ||
4533 | + | ||
4534 | + if (ffmpegdec->context != NULL) { | ||
4535 | + av_free (ffmpegdec->context); | ||
4536 | + ffmpegdec->context = NULL; | ||
4537 | + } | ||
4538 | + | ||
4539 | + if (ffmpegdec->picture != NULL) { | ||
4540 | + av_free (ffmpegdec->picture); | ||
4541 | + ffmpegdec->picture = NULL; | ||
4542 | + } | ||
4543 | + | ||
4544 | + G_OBJECT_CLASS (parent_class)->finalize (object); | ||
4545 | +} | ||
4546 | + | ||
4547 | +static gboolean | ||
4548 | +gst_ffmpegdec_query (GstPad * pad, GstQuery * query) | ||
4549 | +{ | ||
4550 | + GstFFMpegDec *ffmpegdec; | ||
4551 | + GstPad *peer; | ||
4552 | + gboolean res; | ||
4553 | + | ||
4554 | + ffmpegdec = (GstFFMpegDec *) gst_pad_get_parent (pad); | ||
4555 | + | ||
4556 | + res = FALSE; | ||
4557 | + | ||
4558 | + if ((peer = gst_pad_get_peer (ffmpegdec->sinkpad))) { | ||
4559 | + /* just forward to peer */ | ||
4560 | + res = gst_pad_query (peer, query); | ||
4561 | + gst_object_unref (peer); | ||
4562 | + } | ||
4563 | +#if 0 | ||
4564 | + { | ||
4565 | + GstFormat bfmt; | ||
4566 | + | ||
4567 | + bfmt = GST_FORMAT_BYTES; | ||
4568 | + | ||
4569 | + /* ok, do bitrate calc... */ | ||
4570 | + if ((type != GST_QUERY_POSITION && type != GST_QUERY_TOTAL) || | ||
4571 | + *fmt != GST_FORMAT_TIME || ffmpegdec->context->bit_rate == 0 || | ||
4572 | + !gst_pad_query (peer, type, &bfmt, value)) | ||
4573 | + return FALSE; | ||
4574 | + | ||
4575 | + if (ffmpegdec->pcache && type == GST_QUERY_POSITION) | ||
4576 | + *value -= GST_BUFFER_SIZE (ffmpegdec->pcache); | ||
4577 | + *value *= GST_SECOND / ffmpegdec->context->bit_rate; | ||
4578 | + } | ||
4579 | +#endif | ||
4580 | + | ||
4581 | + gst_object_unref (ffmpegdec); | ||
4582 | + | ||
4583 | + return res; | ||
4584 | +} | ||
4585 | + | ||
4586 | +static void | ||
4587 | +gst_ffmpegdec_reset_ts (GstFFMpegDec * ffmpegdec) | ||
4588 | +{ | ||
4589 | + ffmpegdec->last_in = GST_CLOCK_TIME_NONE; | ||
4590 | + ffmpegdec->last_diff = GST_CLOCK_TIME_NONE; | ||
4591 | + ffmpegdec->last_frames = 0; | ||
4592 | + ffmpegdec->last_out = GST_CLOCK_TIME_NONE; | ||
4593 | + ffmpegdec->next_out = GST_CLOCK_TIME_NONE; | ||
4594 | + ffmpegdec->reordered_in = FALSE; | ||
4595 | + ffmpegdec->reordered_out = FALSE; | ||
4596 | +} | ||
4597 | + | ||
4598 | +static void | ||
4599 | +gst_ffmpegdec_update_qos (GstFFMpegDec * ffmpegdec, gdouble proportion, | ||
4600 | + GstClockTime timestamp) | ||
4601 | +{ | ||
4602 | + GST_LOG_OBJECT (ffmpegdec, "update QOS: %f, %" GST_TIME_FORMAT, | ||
4603 | + proportion, GST_TIME_ARGS (timestamp)); | ||
4604 | + | ||
4605 | + GST_OBJECT_LOCK (ffmpegdec); | ||
4606 | + ffmpegdec->proportion = proportion; | ||
4607 | + ffmpegdec->earliest_time = timestamp; | ||
4608 | + GST_OBJECT_UNLOCK (ffmpegdec); | ||
4609 | +} | ||
4610 | + | ||
4611 | +static void | ||
4612 | +gst_ffmpegdec_reset_qos (GstFFMpegDec * ffmpegdec) | ||
4613 | +{ | ||
4614 | + gst_ffmpegdec_update_qos (ffmpegdec, 0.5, GST_CLOCK_TIME_NONE); | ||
4615 | + ffmpegdec->processed = 0; | ||
4616 | + ffmpegdec->dropped = 0; | ||
4617 | +} | ||
4618 | + | ||
4619 | +static void | ||
4620 | +gst_ffmpegdec_read_qos (GstFFMpegDec * ffmpegdec, gdouble * proportion, | ||
4621 | + GstClockTime * timestamp) | ||
4622 | +{ | ||
4623 | + GST_OBJECT_LOCK (ffmpegdec); | ||
4624 | + *proportion = ffmpegdec->proportion; | ||
4625 | + *timestamp = ffmpegdec->earliest_time; | ||
4626 | + GST_OBJECT_UNLOCK (ffmpegdec); | ||
4627 | +} | ||
4628 | + | ||
4629 | +static gboolean | ||
4630 | +gst_ffmpegdec_src_event (GstPad * pad, GstEvent * event) | ||
4631 | +{ | ||
4632 | + GstFFMpegDec *ffmpegdec; | ||
4633 | + gboolean res; | ||
4634 | + | ||
4635 | + ffmpegdec = (GstFFMpegDec *) gst_pad_get_parent (pad); | ||
4636 | + | ||
4637 | + switch (GST_EVENT_TYPE (event)) { | ||
4638 | + case GST_EVENT_QOS: | ||
4639 | + { | ||
4640 | + gdouble proportion; | ||
4641 | + GstClockTimeDiff diff; | ||
4642 | + GstClockTime timestamp; | ||
4643 | + | ||
4644 | + gst_event_parse_qos (event, &proportion, &diff, ×tamp); | ||
4645 | + | ||
4646 | + /* update our QoS values */ | ||
4647 | + gst_ffmpegdec_update_qos (ffmpegdec, proportion, timestamp + diff); | ||
4648 | + | ||
4649 | + /* forward upstream */ | ||
4650 | + res = gst_pad_push_event (ffmpegdec->sinkpad, event); | ||
4651 | + break; | ||
4652 | + } | ||
4653 | + default: | ||
4654 | + /* forward upstream */ | ||
4655 | + res = gst_pad_push_event (ffmpegdec->sinkpad, event); | ||
4656 | + break; | ||
4657 | + } | ||
4658 | + | ||
4659 | + gst_object_unref (ffmpegdec); | ||
4660 | + | ||
4661 | + return res; | ||
4662 | +} | ||
4663 | + | ||
4664 | +/* with LOCK */ | ||
4665 | +static void | ||
4666 | +gst_ffmpegdec_close (GstFFMpegDec * ffmpegdec) | ||
4667 | +{ | ||
4668 | + if (!ffmpegdec->opened) | ||
4669 | + return; | ||
4670 | + | ||
4671 | + GST_LOG_OBJECT (ffmpegdec, "closing ffmpeg codec"); | ||
4672 | + | ||
4673 | + if (ffmpegdec->par) { | ||
4674 | + g_free (ffmpegdec->par); | ||
4675 | + ffmpegdec->par = NULL; | ||
4676 | + } | ||
4677 | + | ||
4678 | + if (ffmpegdec->context->priv_data) | ||
4679 | + gst_ffmpeg_avcodec_close (ffmpegdec->context); | ||
4680 | + ffmpegdec->opened = FALSE; | ||
4681 | + | ||
4682 | + if (ffmpegdec->context->extradata) { | ||
4683 | + av_free (ffmpegdec->context->extradata); | ||
4684 | + ffmpegdec->context->extradata = NULL; | ||
4685 | + } | ||
4686 | + | ||
4687 | + if (ffmpegdec->pctx) { | ||
4688 | + if (ffmpegdec->pcache) { | ||
4689 | + gst_buffer_unref (ffmpegdec->pcache); | ||
4690 | + ffmpegdec->pcache = NULL; | ||
4691 | + } | ||
4692 | + av_parser_close (ffmpegdec->pctx); | ||
4693 | + ffmpegdec->pctx = NULL; | ||
4694 | + } | ||
4695 | + | ||
4696 | + ffmpegdec->format.video.par_n = -1; | ||
4697 | + ffmpegdec->format.video.fps_n = -1; | ||
4698 | + ffmpegdec->format.video.old_fps_n = -1; | ||
4699 | + ffmpegdec->format.video.interlaced = FALSE; | ||
4700 | +} | ||
4701 | + | ||
4702 | +/* with LOCK */ | ||
4703 | +static gboolean | ||
4704 | +gst_ffmpegdec_open (GstFFMpegDec * ffmpegdec) | ||
4705 | +{ | ||
4706 | + GstFFMpegDecClass *oclass; | ||
4707 | + | ||
4708 | + oclass = (GstFFMpegDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); | ||
4709 | + | ||
4710 | + if (gst_ffmpeg_avcodec_open (ffmpegdec->context, oclass->in_plugin) < 0) | ||
4711 | + goto could_not_open; | ||
4712 | + | ||
4713 | + ffmpegdec->opened = TRUE; | ||
4714 | + ffmpegdec->is_realvideo = FALSE; | ||
4715 | + | ||
4716 | + GST_LOG_OBJECT (ffmpegdec, "Opened ffmpeg codec %s, id %d", | ||
4717 | + oclass->in_plugin->name, oclass->in_plugin->id); | ||
4718 | + | ||
4719 | + /* open a parser if we can */ | ||
4720 | + switch (oclass->in_plugin->id) { | ||
4721 | + case CODEC_ID_MPEG4: | ||
4722 | + case CODEC_ID_MJPEG: | ||
4723 | + case CODEC_ID_VC1: | ||
4724 | + GST_LOG_OBJECT (ffmpegdec, "not using parser, blacklisted codec"); | ||
4725 | + ffmpegdec->pctx = NULL; | ||
4726 | + break; | ||
4727 | + case CODEC_ID_H264: | ||
4728 | + /* For H264, only use a parser if there is no context data, if there is, | ||
4729 | + * we're talking AVC */ | ||
4730 | + if (ffmpegdec->context->extradata_size == 0) { | ||
4731 | + GST_LOG_OBJECT (ffmpegdec, "H264 with no extradata, creating parser"); | ||
4732 | + ffmpegdec->pctx = av_parser_init (oclass->in_plugin->id); | ||
4733 | + } else { | ||
4734 | + GST_LOG_OBJECT (ffmpegdec, | ||
4735 | + "H264 with extradata implies framed data - not using parser"); | ||
4736 | + ffmpegdec->pctx = NULL; | ||
4737 | + } | ||
4738 | + break; | ||
4739 | + case CODEC_ID_RV10: | ||
4740 | + case CODEC_ID_RV30: | ||
4741 | + case CODEC_ID_RV20: | ||
4742 | + case CODEC_ID_RV40: | ||
4743 | + ffmpegdec->is_realvideo = TRUE; | ||
4744 | + break; | ||
4745 | + default: | ||
4746 | + if (!ffmpegdec->turnoff_parser) { | ||
4747 | + ffmpegdec->pctx = av_parser_init (oclass->in_plugin->id); | ||
4748 | + if (ffmpegdec->pctx) | ||
4749 | + GST_LOG_OBJECT (ffmpegdec, "Using parser %p", ffmpegdec->pctx); | ||
4750 | + else | ||
4751 | + GST_LOG_OBJECT (ffmpegdec, "No parser for codec"); | ||
4752 | + } else { | ||
4753 | + GST_LOG_OBJECT (ffmpegdec, "Parser deactivated for format"); | ||
4754 | + } | ||
4755 | + break; | ||
4756 | + } | ||
4757 | + | ||
4758 | + switch (oclass->in_plugin->type) { | ||
4759 | + case AVMEDIA_TYPE_VIDEO: | ||
4760 | + ffmpegdec->format.video.width = 0; | ||
4761 | + ffmpegdec->format.video.height = 0; | ||
4762 | + ffmpegdec->format.video.clip_width = -1; | ||
4763 | + ffmpegdec->format.video.clip_height = -1; | ||
4764 | + ffmpegdec->format.video.pix_fmt = PIX_FMT_NB; | ||
4765 | + ffmpegdec->format.video.interlaced = FALSE; | ||
4766 | + break; | ||
4767 | + case AVMEDIA_TYPE_AUDIO: | ||
4768 | + ffmpegdec->format.audio.samplerate = 0; | ||
4769 | + ffmpegdec->format.audio.channels = 0; | ||
4770 | + ffmpegdec->format.audio.depth = 0; | ||
4771 | + break; | ||
4772 | + default: | ||
4773 | + break; | ||
4774 | + } | ||
4775 | + | ||
4776 | + gst_ffmpegdec_reset_ts (ffmpegdec); | ||
4777 | + /* FIXME, reset_qos holds the LOCK */ | ||
4778 | + ffmpegdec->proportion = 0.0; | ||
4779 | + ffmpegdec->earliest_time = -1; | ||
4780 | + | ||
4781 | + return TRUE; | ||
4782 | + | ||
4783 | + /* ERRORS */ | ||
4784 | +could_not_open: | ||
4785 | + { | ||
4786 | + gst_ffmpegdec_close (ffmpegdec); | ||
4787 | + GST_DEBUG_OBJECT (ffmpegdec, "ffdec_%s: Failed to open FFMPEG codec", | ||
4788 | + oclass->in_plugin->name); | ||
4789 | + return FALSE; | ||
4790 | + } | ||
4791 | +} | ||
4792 | + | ||
4793 | +static gboolean | ||
4794 | +gst_ffmpegdec_setcaps (GstPad * pad, GstCaps * caps) | ||
4795 | +{ | ||
4796 | + GstFFMpegDec *ffmpegdec; | ||
4797 | + GstFFMpegDecClass *oclass; | ||
4798 | + GstStructure *structure; | ||
4799 | + const GValue *par; | ||
4800 | + const GValue *fps; | ||
4801 | + gboolean ret = TRUE; | ||
4802 | + | ||
4803 | + ffmpegdec = (GstFFMpegDec *) (gst_pad_get_parent (pad)); | ||
4804 | + oclass = (GstFFMpegDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); | ||
4805 | + | ||
4806 | + GST_DEBUG_OBJECT (pad, "setcaps called"); | ||
4807 | + | ||
4808 | + GST_OBJECT_LOCK (ffmpegdec); | ||
4809 | + | ||
4810 | + /* stupid check for VC1 */ | ||
4811 | + if ((oclass->in_plugin->id == CODEC_ID_WMV3) || | ||
4812 | + (oclass->in_plugin->id == CODEC_ID_VC1)) | ||
4813 | + oclass->in_plugin->id = gst_ffmpeg_caps_to_codecid (caps, NULL); | ||
4814 | + | ||
4815 | + /* close old session */ | ||
4816 | + if (ffmpegdec->opened) { | ||
4817 | + GST_OBJECT_UNLOCK (ffmpegdec); | ||
4818 | + gst_ffmpegdec_drain (ffmpegdec); | ||
4819 | + GST_OBJECT_LOCK (ffmpegdec); | ||
4820 | + gst_ffmpegdec_close (ffmpegdec); | ||
4821 | + | ||
4822 | + /* and reset the defaults that were set when a context is created */ | ||
4823 | + avcodec_get_context_defaults (ffmpegdec->context); | ||
4824 | + } | ||
4825 | + | ||
4826 | + /* set buffer functions */ | ||
4827 | + ffmpegdec->context->get_buffer = gst_ffmpegdec_get_buffer; | ||
4828 | + ffmpegdec->context->release_buffer = gst_ffmpegdec_release_buffer; | ||
4829 | + ffmpegdec->context->draw_horiz_band = NULL; | ||
4830 | + | ||
4831 | + /* default is to let format decide if it needs a parser */ | ||
4832 | + ffmpegdec->turnoff_parser = FALSE; | ||
4833 | + | ||
4834 | + ffmpegdec->has_b_frames = FALSE; | ||
4835 | + | ||
4836 | + GST_LOG_OBJECT (ffmpegdec, "size %dx%d", ffmpegdec->context->width, | ||
4837 | + ffmpegdec->context->height); | ||
4838 | + | ||
4839 | + /* get size and so */ | ||
4840 | + gst_ffmpeg_caps_with_codecid (oclass->in_plugin->id, | ||
4841 | + oclass->in_plugin->type, caps, ffmpegdec->context); | ||
4842 | + | ||
4843 | + GST_LOG_OBJECT (ffmpegdec, "size after %dx%d", ffmpegdec->context->width, | ||
4844 | + ffmpegdec->context->height); | ||
4845 | + | ||
4846 | + if (!ffmpegdec->context->time_base.den || !ffmpegdec->context->time_base.num) { | ||
4847 | + GST_DEBUG_OBJECT (ffmpegdec, "forcing 25/1 framerate"); | ||
4848 | + ffmpegdec->context->time_base.num = 1; | ||
4849 | + ffmpegdec->context->time_base.den = 25; | ||
4850 | + } | ||
4851 | + | ||
4852 | + /* get pixel aspect ratio if it's set */ | ||
4853 | + structure = gst_caps_get_structure (caps, 0); | ||
4854 | + | ||
4855 | + par = gst_structure_get_value (structure, "pixel-aspect-ratio"); | ||
4856 | + if (par) { | ||
4857 | + GST_DEBUG_OBJECT (ffmpegdec, "sink caps have pixel-aspect-ratio of %d:%d", | ||
4858 | + gst_value_get_fraction_numerator (par), | ||
4859 | + gst_value_get_fraction_denominator (par)); | ||
4860 | + /* should be NULL */ | ||
4861 | + if (ffmpegdec->par) | ||
4862 | + g_free (ffmpegdec->par); | ||
4863 | + ffmpegdec->par = g_new0 (GValue, 1); | ||
4864 | + gst_value_init_and_copy (ffmpegdec->par, par); | ||
4865 | + } | ||
4866 | + | ||
4867 | + /* get the framerate from incoming caps. fps_n is set to -1 when | ||
4868 | + * there is no valid framerate */ | ||
4869 | + fps = gst_structure_get_value (structure, "framerate"); | ||
4870 | + if (fps != NULL && GST_VALUE_HOLDS_FRACTION (fps)) { | ||
4871 | + ffmpegdec->format.video.fps_n = gst_value_get_fraction_numerator (fps); | ||
4872 | + ffmpegdec->format.video.fps_d = gst_value_get_fraction_denominator (fps); | ||
4873 | + GST_DEBUG_OBJECT (ffmpegdec, "Using framerate %d/%d from incoming caps", | ||
4874 | + ffmpegdec->format.video.fps_n, ffmpegdec->format.video.fps_d); | ||
4875 | + } else { | ||
4876 | + ffmpegdec->format.video.fps_n = -1; | ||
4877 | + GST_DEBUG_OBJECT (ffmpegdec, "Using framerate from codec"); | ||
4878 | + } | ||
4879 | + | ||
4880 | + /* figure out if we can use direct rendering */ | ||
4881 | + ffmpegdec->current_dr = FALSE; | ||
4882 | + ffmpegdec->extra_ref = FALSE; | ||
4883 | + if (ffmpegdec->direct_rendering) { | ||
4884 | + GST_DEBUG_OBJECT (ffmpegdec, "trying to enable direct rendering"); | ||
4885 | + if (oclass->in_plugin->capabilities & CODEC_CAP_DR1) { | ||
4886 | + if (oclass->in_plugin->id == CODEC_ID_H264) { | ||
4887 | + GST_DEBUG_OBJECT (ffmpegdec, "disable direct rendering setup for H264"); | ||
4888 | + /* does not work, many stuff reads outside of the planes */ | ||
4889 | + ffmpegdec->current_dr = FALSE; | ||
4890 | + ffmpegdec->extra_ref = TRUE; | ||
4891 | + } else if ((oclass->in_plugin->id == CODEC_ID_SVQ1) || | ||
4892 | + (oclass->in_plugin->id == CODEC_ID_VP5) || | ||
4893 | + (oclass->in_plugin->id == CODEC_ID_VP6) || | ||
4894 | + (oclass->in_plugin->id == CODEC_ID_VP6F) || | ||
4895 | + (oclass->in_plugin->id == CODEC_ID_VP6A)) { | ||
4896 | + GST_DEBUG_OBJECT (ffmpegdec, | ||
4897 | + "disable direct rendering setup for broken stride support"); | ||
4898 | + /* does not work, uses a incompatible stride. See #610613 */ | ||
4899 | + ffmpegdec->current_dr = FALSE; | ||
4900 | + ffmpegdec->extra_ref = TRUE; | ||
4901 | + } else { | ||
4902 | + GST_DEBUG_OBJECT (ffmpegdec, "enabled direct rendering"); | ||
4903 | + ffmpegdec->current_dr = TRUE; | ||
4904 | + } | ||
4905 | + } else { | ||
4906 | + GST_DEBUG_OBJECT (ffmpegdec, "direct rendering not supported"); | ||
4907 | + } | ||
4908 | + } | ||
4909 | + if (ffmpegdec->current_dr) { | ||
4910 | + /* do *not* draw edges when in direct rendering, for some reason it draws | ||
4911 | + * outside of the memory. */ | ||
4912 | + ffmpegdec->context->flags |= CODEC_FLAG_EMU_EDGE; | ||
4913 | + } | ||
4914 | + | ||
4915 | + /* for AAC we only use av_parse if not on stream-format==raw or ==loas */ | ||
4916 | + if (oclass->in_plugin->id == CODEC_ID_AAC | ||
4917 | + || oclass->in_plugin->id == CODEC_ID_AAC_LATM) { | ||
4918 | + const gchar *format = gst_structure_get_string (structure, "stream-format"); | ||
4919 | + | ||
4920 | + if (format == NULL || strcmp (format, "raw") == 0) { | ||
4921 | + ffmpegdec->turnoff_parser = TRUE; | ||
4922 | + } | ||
4923 | + } | ||
4924 | + | ||
4925 | + /* for FLAC, don't parse if it's already parsed */ | ||
4926 | + if (oclass->in_plugin->id == CODEC_ID_FLAC) { | ||
4927 | + if (gst_structure_has_field (structure, "streamheader")) | ||
4928 | + ffmpegdec->turnoff_parser = TRUE; | ||
4929 | + } | ||
4930 | + | ||
4931 | + /* workaround encoder bugs */ | ||
4932 | + ffmpegdec->context->workaround_bugs |= FF_BUG_AUTODETECT; | ||
4933 | + ffmpegdec->context->err_recognition = 1; | ||
4934 | + | ||
4935 | + /* for slow cpus */ | ||
4936 | + ffmpegdec->context->lowres = ffmpegdec->lowres; | ||
4937 | + ffmpegdec->context->skip_frame = ffmpegdec->skip_frame; | ||
4938 | + | ||
4939 | + /* ffmpeg can draw motion vectors on top of the image (not every decoder | ||
4940 | + * supports it) */ | ||
4941 | + ffmpegdec->context->debug_mv = ffmpegdec->debug_mv; | ||
4942 | + | ||
4943 | + if (ffmpegdec->max_threads == 0) | ||
4944 | + ffmpegdec->context->thread_count = gst_ffmpeg_auto_max_threads (); | ||
4945 | + else | ||
4946 | + ffmpegdec->context->thread_count = ffmpegdec->max_threads; | ||
4947 | + | ||
4948 | + /* open codec - we don't select an output pix_fmt yet, | ||
4949 | + * simply because we don't know! We only get it | ||
4950 | + * during playback... */ | ||
4951 | + if (!gst_ffmpegdec_open (ffmpegdec)) | ||
4952 | + goto open_failed; | ||
4953 | + | ||
4954 | + /* clipping region */ | ||
4955 | + gst_structure_get_int (structure, "width", | ||
4956 | + &ffmpegdec->format.video.clip_width); | ||
4957 | + gst_structure_get_int (structure, "height", | ||
4958 | + &ffmpegdec->format.video.clip_height); | ||
4959 | + | ||
4960 | + GST_DEBUG_OBJECT (pad, "clipping to %dx%d", | ||
4961 | + ffmpegdec->format.video.clip_width, ffmpegdec->format.video.clip_height); | ||
4962 | + | ||
4963 | + /* take into account the lowres property */ | ||
4964 | + if (ffmpegdec->format.video.clip_width != -1) | ||
4965 | + ffmpegdec->format.video.clip_width >>= ffmpegdec->lowres; | ||
4966 | + if (ffmpegdec->format.video.clip_height != -1) | ||
4967 | + ffmpegdec->format.video.clip_height >>= ffmpegdec->lowres; | ||
4968 | + | ||
4969 | + GST_DEBUG_OBJECT (pad, "final clipping to %dx%d", | ||
4970 | + ffmpegdec->format.video.clip_width, ffmpegdec->format.video.clip_height); | ||
4971 | + | ||
4972 | +done: | ||
4973 | + GST_OBJECT_UNLOCK (ffmpegdec); | ||
4974 | + | ||
4975 | + gst_object_unref (ffmpegdec); | ||
4976 | + | ||
4977 | + return ret; | ||
4978 | + | ||
4979 | + /* ERRORS */ | ||
4980 | +open_failed: | ||
4981 | + { | ||
4982 | + GST_DEBUG_OBJECT (ffmpegdec, "Failed to open"); | ||
4983 | + if (ffmpegdec->par) { | ||
4984 | + g_free (ffmpegdec->par); | ||
4985 | + ffmpegdec->par = NULL; | ||
4986 | + } | ||
4987 | + ret = FALSE; | ||
4988 | + goto done; | ||
4989 | + } | ||
4990 | +} | ||
4991 | + | ||
4992 | +static GstFlowReturn | ||
4993 | +alloc_output_buffer (GstFFMpegDec * ffmpegdec, GstBuffer ** outbuf, | ||
4994 | + gint width, gint height) | ||
4995 | +{ | ||
4996 | + GstFlowReturn ret; | ||
4997 | + gint fsize; | ||
4998 | + | ||
4999 | + ret = GST_FLOW_ERROR; | ||
5000 | + *outbuf = NULL; | ||
5001 | + | ||
5002 | + GST_LOG_OBJECT (ffmpegdec, "alloc output buffer"); | ||
5003 | + | ||
5004 | + /* see if we need renegotiation */ | ||
5005 | + if (G_UNLIKELY (!gst_ffmpegdec_negotiate (ffmpegdec, FALSE))) | ||
5006 | + goto negotiate_failed; | ||
5007 | + | ||
5008 | + /* get the size of the gstreamer output buffer given a | ||
5009 | + * width/height/format */ | ||
5010 | + fsize = gst_ffmpeg_avpicture_get_size (ffmpegdec->context->pix_fmt, | ||
5011 | + width, height); | ||
5012 | + | ||
5013 | + if (ffmpegdec->can_allocate_aligned) { | ||
5014 | + GST_LOG_OBJECT (ffmpegdec, "calling pad_alloc"); | ||
5015 | + /* no pallete, we can use the buffer size to alloc */ | ||
5016 | + ret = gst_pad_alloc_buffer_and_set_caps (ffmpegdec->srcpad, | ||
5017 | + GST_BUFFER_OFFSET_NONE, fsize, | ||
5018 | + GST_PAD_CAPS (ffmpegdec->srcpad), outbuf); | ||
5019 | + if (G_UNLIKELY (ret != GST_FLOW_OK)) | ||
5020 | + goto alloc_failed; | ||
5021 | + | ||
5022 | + /* If buffer isn't 128-bit aligned, create a memaligned one ourselves */ | ||
5023 | + if (((uintptr_t) GST_BUFFER_DATA (*outbuf)) % 16) { | ||
5024 | + GST_DEBUG_OBJECT (ffmpegdec, | ||
5025 | + "Downstream can't allocate aligned buffers."); | ||
5026 | + ffmpegdec->can_allocate_aligned = FALSE; | ||
5027 | + gst_buffer_unref (*outbuf); | ||
5028 | + *outbuf = new_aligned_buffer (fsize, GST_PAD_CAPS (ffmpegdec->srcpad)); | ||
5029 | + } | ||
5030 | + } else { | ||
5031 | + GST_LOG_OBJECT (ffmpegdec, | ||
5032 | + "not calling pad_alloc, we have a pallete or downstream can't give 16 byte aligned buffers."); | ||
5033 | + /* for paletted data we can't use pad_alloc_buffer(), because | ||
5034 | + * fsize contains the size of the palette, so the overall size | ||
5035 | + * is bigger than ffmpegcolorspace's unit size, which will | ||
5036 | + * prompt GstBaseTransform to complain endlessly ... */ | ||
5037 | + *outbuf = new_aligned_buffer (fsize, GST_PAD_CAPS (ffmpegdec->srcpad)); | ||
5038 | + ret = GST_FLOW_OK; | ||
5039 | + } | ||
5040 | + /* set caps, we do this here because the buffer is still writable here and we | ||
5041 | + * are sure to be negotiated */ | ||
5042 | + gst_buffer_set_caps (*outbuf, GST_PAD_CAPS (ffmpegdec->srcpad)); | ||
5043 | + | ||
5044 | + return ret; | ||
5045 | + | ||
5046 | + /* special cases */ | ||
5047 | +negotiate_failed: | ||
5048 | + { | ||
5049 | + GST_DEBUG_OBJECT (ffmpegdec, "negotiate failed"); | ||
5050 | + return GST_FLOW_NOT_NEGOTIATED; | ||
5051 | + } | ||
5052 | +alloc_failed: | ||
5053 | + { | ||
5054 | + GST_DEBUG_OBJECT (ffmpegdec, "pad_alloc failed %d (%s)", ret, | ||
5055 | + gst_flow_get_name (ret)); | ||
5056 | + return ret; | ||
5057 | + } | ||
5058 | +} | ||
5059 | + | ||
5060 | +static int | ||
5061 | +gst_ffmpegdec_get_buffer (AVCodecContext * context, AVFrame * picture) | ||
5062 | +{ | ||
5063 | + GstBuffer *buf = NULL; | ||
5064 | + GstFFMpegDec *ffmpegdec; | ||
5065 | + gint width, height; | ||
5066 | + gint coded_width, coded_height; | ||
5067 | + gint res; | ||
5068 | + | ||
5069 | + ffmpegdec = (GstFFMpegDec *) context->opaque; | ||
5070 | + | ||
5071 | + GST_DEBUG_OBJECT (ffmpegdec, "getting buffer"); | ||
5072 | + | ||
5073 | + /* apply the last info we have seen to this picture, when we get the | ||
5074 | + * picture back from ffmpeg we can use this to correctly timestamp the output | ||
5075 | + * buffer */ | ||
5076 | + picture->reordered_opaque = context->reordered_opaque; | ||
5077 | + /* make sure we don't free the buffer when it's not ours */ | ||
5078 | + picture->opaque = NULL; | ||
5079 | + | ||
5080 | + /* take width and height before clipping */ | ||
5081 | + width = context->width; | ||
5082 | + height = context->height; | ||
5083 | + coded_width = context->coded_width; | ||
5084 | + coded_height = context->coded_height; | ||
5085 | + | ||
5086 | + GST_LOG_OBJECT (ffmpegdec, "dimension %dx%d, coded %dx%d", width, height, | ||
5087 | + coded_width, coded_height); | ||
5088 | + if (!ffmpegdec->current_dr) { | ||
5089 | + GST_LOG_OBJECT (ffmpegdec, "direct rendering disabled, fallback alloc"); | ||
5090 | + res = avcodec_default_get_buffer (context, picture); | ||
5091 | + | ||
5092 | + GST_LOG_OBJECT (ffmpegdec, "linsize %d %d %d", picture->linesize[0], | ||
5093 | + picture->linesize[1], picture->linesize[2]); | ||
5094 | + GST_LOG_OBJECT (ffmpegdec, "data %u %u %u", 0, | ||
5095 | + (guint) (picture->data[1] - picture->data[0]), | ||
5096 | + (guint) (picture->data[2] - picture->data[0])); | ||
5097 | + return res; | ||
5098 | + } | ||
5099 | + | ||
5100 | + switch (context->codec_type) { | ||
5101 | + case AVMEDIA_TYPE_VIDEO: | ||
5102 | + /* some ffmpeg video plugins don't see the point in setting codec_type ... */ | ||
5103 | + case AVMEDIA_TYPE_UNKNOWN: | ||
5104 | + { | ||
5105 | + GstFlowReturn ret; | ||
5106 | + gint clip_width, clip_height; | ||
5107 | + | ||
5108 | + /* take final clipped output size */ | ||
5109 | + if ((clip_width = ffmpegdec->format.video.clip_width) == -1) | ||
5110 | + clip_width = width; | ||
5111 | + if ((clip_height = ffmpegdec->format.video.clip_height) == -1) | ||
5112 | + clip_height = height; | ||
5113 | + | ||
5114 | + GST_LOG_OBJECT (ffmpegdec, "raw outsize %d/%d", width, height); | ||
5115 | + | ||
5116 | + /* this is the size ffmpeg needs for the buffer */ | ||
5117 | + avcodec_align_dimensions (context, &width, &height); | ||
5118 | + | ||
5119 | + GST_LOG_OBJECT (ffmpegdec, "aligned outsize %d/%d, clip %d/%d", | ||
5120 | + width, height, clip_width, clip_height); | ||
5121 | + | ||
5122 | + if (width != clip_width || height != clip_height) { | ||
5123 | + /* We can't alloc if we need to clip the output buffer later */ | ||
5124 | + GST_LOG_OBJECT (ffmpegdec, "we need clipping, fallback alloc"); | ||
5125 | + return avcodec_default_get_buffer (context, picture); | ||
5126 | + } | ||
5127 | + | ||
5128 | + /* alloc with aligned dimensions for ffmpeg */ | ||
5129 | + ret = alloc_output_buffer (ffmpegdec, &buf, width, height); | ||
5130 | + if (G_UNLIKELY (ret != GST_FLOW_OK)) { | ||
5131 | + /* alloc default buffer when we can't get one from downstream */ | ||
5132 | + GST_LOG_OBJECT (ffmpegdec, "alloc failed, fallback alloc"); | ||
5133 | + return avcodec_default_get_buffer (context, picture); | ||
5134 | + } | ||
5135 | + | ||
5136 | + /* copy the right pointers and strides in the picture object */ | ||
5137 | + gst_ffmpeg_avpicture_fill ((AVPicture *) picture, | ||
5138 | + GST_BUFFER_DATA (buf), context->pix_fmt, width, height); | ||
5139 | + break; | ||
5140 | + } | ||
5141 | + case AVMEDIA_TYPE_AUDIO: | ||
5142 | + default: | ||
5143 | + GST_ERROR_OBJECT (ffmpegdec, | ||
5144 | + "_get_buffer() should never get called for non-video buffers !"); | ||
5145 | + g_assert_not_reached (); | ||
5146 | + break; | ||
5147 | + } | ||
5148 | + | ||
5149 | + /* tell ffmpeg we own this buffer, tranfer the ref we have on the buffer to | ||
5150 | + * the opaque data. */ | ||
5151 | + picture->type = FF_BUFFER_TYPE_USER; | ||
5152 | + picture->opaque = buf; | ||
5153 | + | ||
5154 | +#ifdef EXTRA_REF | ||
5155 | + if (picture->reference != 0 || ffmpegdec->extra_ref) { | ||
5156 | + GST_DEBUG_OBJECT (ffmpegdec, "adding extra ref"); | ||
5157 | + gst_buffer_ref (buf); | ||
5158 | + } | ||
5159 | +#endif | ||
5160 | + | ||
5161 | + GST_LOG_OBJECT (ffmpegdec, "returned buffer %p", buf); | ||
5162 | + | ||
5163 | + return 0; | ||
5164 | +} | ||
5165 | + | ||
5166 | +static void | ||
5167 | +gst_ffmpegdec_release_buffer (AVCodecContext * context, AVFrame * picture) | ||
5168 | +{ | ||
5169 | + gint i; | ||
5170 | + GstBuffer *buf; | ||
5171 | + GstFFMpegDec *ffmpegdec; | ||
5172 | + | ||
5173 | + ffmpegdec = (GstFFMpegDec *) context->opaque; | ||
5174 | + | ||
5175 | + /* check if it was our buffer */ | ||
5176 | + if (picture->opaque == NULL) { | ||
5177 | + GST_DEBUG_OBJECT (ffmpegdec, "default release buffer"); | ||
5178 | + avcodec_default_release_buffer (context, picture); | ||
5179 | + return; | ||
5180 | + } | ||
5181 | + | ||
5182 | + /* we remove the opaque data now */ | ||
5183 | + buf = GST_BUFFER_CAST (picture->opaque); | ||
5184 | + GST_DEBUG_OBJECT (ffmpegdec, "release buffer %p", buf); | ||
5185 | + picture->opaque = NULL; | ||
5186 | + | ||
5187 | +#ifdef EXTRA_REF | ||
5188 | + if (picture->reference != 0 || ffmpegdec->extra_ref) { | ||
5189 | + GST_DEBUG_OBJECT (ffmpegdec, "remove extra ref"); | ||
5190 | + gst_buffer_unref (buf); | ||
5191 | + } | ||
5192 | +#else | ||
5193 | + gst_buffer_unref (buf); | ||
5194 | +#endif | ||
5195 | + | ||
5196 | + /* zero out the reference in ffmpeg */ | ||
5197 | + for (i = 0; i < 4; i++) { | ||
5198 | + picture->data[i] = NULL; | ||
5199 | + picture->linesize[i] = 0; | ||
5200 | + } | ||
5201 | +} | ||
5202 | + | ||
5203 | +static void | ||
5204 | +gst_ffmpegdec_add_pixel_aspect_ratio (GstFFMpegDec * ffmpegdec, | ||
5205 | + GstStructure * s) | ||
5206 | +{ | ||
5207 | + gboolean demuxer_par_set = FALSE; | ||
5208 | + gboolean decoder_par_set = FALSE; | ||
5209 | + gint demuxer_num = 1, demuxer_denom = 1; | ||
5210 | + gint decoder_num = 1, decoder_denom = 1; | ||
5211 | + | ||
5212 | + GST_OBJECT_LOCK (ffmpegdec); | ||
5213 | + | ||
5214 | + if (ffmpegdec->par) { | ||
5215 | + demuxer_num = gst_value_get_fraction_numerator (ffmpegdec->par); | ||
5216 | + demuxer_denom = gst_value_get_fraction_denominator (ffmpegdec->par); | ||
5217 | + demuxer_par_set = TRUE; | ||
5218 | + GST_DEBUG_OBJECT (ffmpegdec, "Demuxer PAR: %d:%d", demuxer_num, | ||
5219 | + demuxer_denom); | ||
5220 | + } | ||
5221 | + | ||
5222 | + if (ffmpegdec->context->sample_aspect_ratio.num && | ||
5223 | + ffmpegdec->context->sample_aspect_ratio.den) { | ||
5224 | + decoder_num = ffmpegdec->context->sample_aspect_ratio.num; | ||
5225 | + decoder_denom = ffmpegdec->context->sample_aspect_ratio.den; | ||
5226 | + decoder_par_set = TRUE; | ||
5227 | + GST_DEBUG_OBJECT (ffmpegdec, "Decoder PAR: %d:%d", decoder_num, | ||
5228 | + decoder_denom); | ||
5229 | + } | ||
5230 | + | ||
5231 | + GST_OBJECT_UNLOCK (ffmpegdec); | ||
5232 | + | ||
5233 | + if (!demuxer_par_set && !decoder_par_set) | ||
5234 | + goto no_par; | ||
5235 | + | ||
5236 | + if (demuxer_par_set && !decoder_par_set) | ||
5237 | + goto use_demuxer_par; | ||
5238 | + | ||
5239 | + if (decoder_par_set && !demuxer_par_set) | ||
5240 | + goto use_decoder_par; | ||
5241 | + | ||
5242 | + /* Both the demuxer and the decoder provide a PAR. If one of | ||
5243 | + * the two PARs is 1:1 and the other one is not, use the one | ||
5244 | + * that is not 1:1. */ | ||
5245 | + if (demuxer_num == demuxer_denom && decoder_num != decoder_denom) | ||
5246 | + goto use_decoder_par; | ||
5247 | + | ||
5248 | + if (decoder_num == decoder_denom && demuxer_num != demuxer_denom) | ||
5249 | + goto use_demuxer_par; | ||
5250 | + | ||
5251 | + /* Both PARs are non-1:1, so use the PAR provided by the demuxer */ | ||
5252 | + goto use_demuxer_par; | ||
5253 | + | ||
5254 | +use_decoder_par: | ||
5255 | + { | ||
5256 | + GST_DEBUG_OBJECT (ffmpegdec, | ||
5257 | + "Setting decoder provided pixel-aspect-ratio of %u:%u", decoder_num, | ||
5258 | + decoder_denom); | ||
5259 | + gst_structure_set (s, "pixel-aspect-ratio", GST_TYPE_FRACTION, decoder_num, | ||
5260 | + decoder_denom, NULL); | ||
5261 | + return; | ||
5262 | + } | ||
5263 | + | ||
5264 | +use_demuxer_par: | ||
5265 | + { | ||
5266 | + GST_DEBUG_OBJECT (ffmpegdec, | ||
5267 | + "Setting demuxer provided pixel-aspect-ratio of %u:%u", demuxer_num, | ||
5268 | + demuxer_denom); | ||
5269 | + gst_structure_set (s, "pixel-aspect-ratio", GST_TYPE_FRACTION, demuxer_num, | ||
5270 | + demuxer_denom, NULL); | ||
5271 | + return; | ||
5272 | + } | ||
5273 | +no_par: | ||
5274 | + { | ||
5275 | + GST_DEBUG_OBJECT (ffmpegdec, | ||
5276 | + "Neither demuxer nor codec provide a pixel-aspect-ratio"); | ||
5277 | + return; | ||
5278 | + } | ||
5279 | +} | ||
5280 | + | ||
5281 | +static gboolean | ||
5282 | +gst_ffmpegdec_negotiate (GstFFMpegDec * ffmpegdec, gboolean force) | ||
5283 | +{ | ||
5284 | + GstFFMpegDecClass *oclass; | ||
5285 | + GstCaps *caps; | ||
5286 | + | ||
5287 | + oclass = (GstFFMpegDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); | ||
5288 | + | ||
5289 | + switch (oclass->in_plugin->type) { | ||
5290 | + case AVMEDIA_TYPE_VIDEO: | ||
5291 | + if (!force && ffmpegdec->format.video.width == ffmpegdec->context->width | ||
5292 | + && ffmpegdec->format.video.height == ffmpegdec->context->height | ||
5293 | + && ffmpegdec->format.video.fps_n == ffmpegdec->format.video.old_fps_n | ||
5294 | + && ffmpegdec->format.video.fps_d == ffmpegdec->format.video.old_fps_d | ||
5295 | + && ffmpegdec->format.video.pix_fmt == ffmpegdec->context->pix_fmt | ||
5296 | + && ffmpegdec->format.video.par_n == | ||
5297 | + ffmpegdec->context->sample_aspect_ratio.num | ||
5298 | + && ffmpegdec->format.video.par_d == | ||
5299 | + ffmpegdec->context->sample_aspect_ratio.den) | ||
5300 | + return TRUE; | ||
5301 | + GST_DEBUG_OBJECT (ffmpegdec, | ||
5302 | + "Renegotiating video from %dx%d@ %d:%d PAR %d/%d fps to %dx%d@ %d:%d PAR %d/%d fps", | ||
5303 | + ffmpegdec->format.video.width, ffmpegdec->format.video.height, | ||
5304 | + ffmpegdec->format.video.par_n, ffmpegdec->format.video.par_d, | ||
5305 | + ffmpegdec->format.video.old_fps_n, ffmpegdec->format.video.old_fps_n, | ||
5306 | + ffmpegdec->context->width, ffmpegdec->context->height, | ||
5307 | + ffmpegdec->context->sample_aspect_ratio.num, | ||
5308 | + ffmpegdec->context->sample_aspect_ratio.den, | ||
5309 | + ffmpegdec->format.video.fps_n, ffmpegdec->format.video.fps_d); | ||
5310 | + ffmpegdec->format.video.width = ffmpegdec->context->width; | ||
5311 | + ffmpegdec->format.video.height = ffmpegdec->context->height; | ||
5312 | + ffmpegdec->format.video.old_fps_n = ffmpegdec->format.video.fps_n; | ||
5313 | + ffmpegdec->format.video.old_fps_d = ffmpegdec->format.video.fps_d; | ||
5314 | + ffmpegdec->format.video.pix_fmt = ffmpegdec->context->pix_fmt; | ||
5315 | + ffmpegdec->format.video.par_n = | ||
5316 | + ffmpegdec->context->sample_aspect_ratio.num; | ||
5317 | + ffmpegdec->format.video.par_d = | ||
5318 | + ffmpegdec->context->sample_aspect_ratio.den; | ||
5319 | + break; | ||
5320 | + case AVMEDIA_TYPE_AUDIO: | ||
5321 | + { | ||
5322 | + gint depth = av_smp_format_depth (ffmpegdec->context->sample_fmt); | ||
5323 | + if (!force && ffmpegdec->format.audio.samplerate == | ||
5324 | + ffmpegdec->context->sample_rate && | ||
5325 | + ffmpegdec->format.audio.channels == ffmpegdec->context->channels && | ||
5326 | + ffmpegdec->format.audio.depth == depth) | ||
5327 | + return TRUE; | ||
5328 | + GST_DEBUG_OBJECT (ffmpegdec, | ||
5329 | + "Renegotiating audio from %dHz@%dchannels (%d) to %dHz@%dchannels (%d)", | ||
5330 | + ffmpegdec->format.audio.samplerate, ffmpegdec->format.audio.channels, | ||
5331 | + ffmpegdec->format.audio.depth, | ||
5332 | + ffmpegdec->context->sample_rate, ffmpegdec->context->channels, depth); | ||
5333 | + ffmpegdec->format.audio.samplerate = ffmpegdec->context->sample_rate; | ||
5334 | + ffmpegdec->format.audio.channels = ffmpegdec->context->channels; | ||
5335 | + ffmpegdec->format.audio.depth = depth; | ||
5336 | + } | ||
5337 | + break; | ||
5338 | + default: | ||
5339 | + break; | ||
5340 | + } | ||
5341 | + | ||
5342 | + caps = gst_ffmpeg_codectype_to_caps (oclass->in_plugin->type, | ||
5343 | + ffmpegdec->context, oclass->in_plugin->id, FALSE); | ||
5344 | + | ||
5345 | + if (caps == NULL) | ||
5346 | + goto no_caps; | ||
5347 | + | ||
5348 | + switch (oclass->in_plugin->type) { | ||
5349 | + case AVMEDIA_TYPE_VIDEO: | ||
5350 | + { | ||
5351 | + gint width, height; | ||
5352 | + gboolean interlaced; | ||
5353 | + | ||
5354 | + width = ffmpegdec->format.video.clip_width; | ||
5355 | + height = ffmpegdec->format.video.clip_height; | ||
5356 | + interlaced = ffmpegdec->format.video.interlaced; | ||
5357 | + | ||
5358 | + if (width != -1 && height != -1) { | ||
5359 | + /* overwrite the output size with the dimension of the | ||
5360 | + * clipping region but only if they are smaller. */ | ||
5361 | + if (width < ffmpegdec->context->width) | ||
5362 | + gst_caps_set_simple (caps, "width", G_TYPE_INT, width, NULL); | ||
5363 | + if (height < ffmpegdec->context->height) | ||
5364 | + gst_caps_set_simple (caps, "height", G_TYPE_INT, height, NULL); | ||
5365 | + } | ||
5366 | + gst_caps_set_simple (caps, "interlaced", G_TYPE_BOOLEAN, interlaced, | ||
5367 | + NULL); | ||
5368 | + | ||
5369 | + /* If a demuxer provided a framerate then use it (#313970) */ | ||
5370 | + if (ffmpegdec->format.video.fps_n != -1) { | ||
5371 | + gst_caps_set_simple (caps, "framerate", | ||
5372 | + GST_TYPE_FRACTION, ffmpegdec->format.video.fps_n, | ||
5373 | + ffmpegdec->format.video.fps_d, NULL); | ||
5374 | + } | ||
5375 | + gst_ffmpegdec_add_pixel_aspect_ratio (ffmpegdec, | ||
5376 | + gst_caps_get_structure (caps, 0)); | ||
5377 | + break; | ||
5378 | + } | ||
5379 | + case AVMEDIA_TYPE_AUDIO: | ||
5380 | + { | ||
5381 | + break; | ||
5382 | + } | ||
5383 | + default: | ||
5384 | + break; | ||
5385 | + } | ||
5386 | + | ||
5387 | + if (!gst_pad_set_caps (ffmpegdec->srcpad, caps)) | ||
5388 | + goto caps_failed; | ||
5389 | + | ||
5390 | + gst_caps_unref (caps); | ||
5391 | + | ||
5392 | + return TRUE; | ||
5393 | + | ||
5394 | + /* ERRORS */ | ||
5395 | +no_caps: | ||
5396 | + { | ||
5397 | +#ifdef HAVE_FFMPEG_UNINSTALLED | ||
5398 | + /* using internal ffmpeg snapshot */ | ||
5399 | + GST_ELEMENT_ERROR (ffmpegdec, CORE, NEGOTIATION, | ||
5400 | + ("Could not find GStreamer caps mapping for FFmpeg codec '%s'.", | ||
5401 | + oclass->in_plugin->name), (NULL)); | ||
5402 | +#else | ||
5403 | + /* using external ffmpeg */ | ||
5404 | + GST_ELEMENT_ERROR (ffmpegdec, CORE, NEGOTIATION, | ||
5405 | + ("Could not find GStreamer caps mapping for FFmpeg codec '%s', and " | ||
5406 | + "you are using an external libavcodec. This is most likely due to " | ||
5407 | + "a packaging problem and/or libavcodec having been upgraded to a " | ||
5408 | + "version that is not compatible with this version of " | ||
5409 | + "gstreamer-ffmpeg. Make sure your gstreamer-ffmpeg and libavcodec " | ||
5410 | + "packages come from the same source/repository.", | ||
5411 | + oclass->in_plugin->name), (NULL)); | ||
5412 | +#endif | ||
5413 | + return FALSE; | ||
5414 | + } | ||
5415 | +caps_failed: | ||
5416 | + { | ||
5417 | + GST_ELEMENT_ERROR (ffmpegdec, CORE, NEGOTIATION, (NULL), | ||
5418 | + ("Could not set caps for ffmpeg decoder (%s), not fixed?", | ||
5419 | + oclass->in_plugin->name)); | ||
5420 | + gst_caps_unref (caps); | ||
5421 | + | ||
5422 | + return FALSE; | ||
5423 | + } | ||
5424 | +} | ||
5425 | + | ||
5426 | +/* perform qos calculations before decoding the next frame. | ||
5427 | + * | ||
5428 | + * Sets the skip_frame flag and if things are really bad, skips to the next | ||
5429 | + * keyframe. | ||
5430 | + * | ||
5431 | + * Returns TRUE if the frame should be decoded, FALSE if the frame can be dropped | ||
5432 | + * entirely. | ||
5433 | + */ | ||
5434 | +static gboolean | ||
5435 | +gst_ffmpegdec_do_qos (GstFFMpegDec * ffmpegdec, GstClockTime timestamp, | ||
5436 | + gboolean * mode_switch) | ||
5437 | +{ | ||
5438 | + GstClockTimeDiff diff; | ||
5439 | + gdouble proportion; | ||
5440 | + GstClockTime qostime, earliest_time; | ||
5441 | + gboolean res = TRUE; | ||
5442 | + | ||
5443 | + *mode_switch = FALSE; | ||
5444 | + | ||
5445 | + /* no timestamp, can't do QoS */ | ||
5446 | + if (G_UNLIKELY (!GST_CLOCK_TIME_IS_VALID (timestamp))) | ||
5447 | + goto no_qos; | ||
5448 | + | ||
5449 | + /* get latest QoS observation values */ | ||
5450 | + gst_ffmpegdec_read_qos (ffmpegdec, &proportion, &earliest_time); | ||
5451 | + | ||
5452 | + /* skip qos if we have no observation (yet) */ | ||
5453 | + if (G_UNLIKELY (!GST_CLOCK_TIME_IS_VALID (earliest_time))) { | ||
5454 | + /* no skip_frame initialy */ | ||
5455 | + ffmpegdec->context->skip_frame = AVDISCARD_DEFAULT; | ||
5456 | + goto no_qos; | ||
5457 | + } | ||
5458 | + | ||
5459 | + /* qos is done on running time of the timestamp */ | ||
5460 | + qostime = gst_segment_to_running_time (&ffmpegdec->segment, GST_FORMAT_TIME, | ||
5461 | + timestamp); | ||
5462 | + | ||
5463 | + /* timestamp can be out of segment, then we don't do QoS */ | ||
5464 | + if (G_UNLIKELY (!GST_CLOCK_TIME_IS_VALID (qostime))) | ||
5465 | + goto no_qos; | ||
5466 | + | ||
5467 | + /* see how our next timestamp relates to the latest qos timestamp. negative | ||
5468 | + * values mean we are early, positive values mean we are too late. */ | ||
5469 | + diff = GST_CLOCK_DIFF (qostime, earliest_time); | ||
5470 | + | ||
5471 | + GST_DEBUG_OBJECT (ffmpegdec, "QOS: qostime %" GST_TIME_FORMAT | ||
5472 | + ", earliest %" GST_TIME_FORMAT, GST_TIME_ARGS (qostime), | ||
5473 | + GST_TIME_ARGS (earliest_time)); | ||
5474 | + | ||
5475 | + /* if we using less than 40% of the available time, we can try to | ||
5476 | + * speed up again when we were slow. */ | ||
5477 | + if (proportion < 0.4 && diff < 0) { | ||
5478 | + goto normal_mode; | ||
5479 | + } else { | ||
5480 | + if (diff >= 0) { | ||
5481 | + /* we're too slow, try to speed up */ | ||
5482 | + /* switch to skip_frame mode */ | ||
5483 | + goto skip_frame; | ||
5484 | + } | ||
5485 | + } | ||
5486 | + | ||
5487 | +no_qos: | ||
5488 | + ffmpegdec->processed++; | ||
5489 | + return TRUE; | ||
5490 | + | ||
5491 | +normal_mode: | ||
5492 | + { | ||
5493 | + if (ffmpegdec->context->skip_frame != AVDISCARD_DEFAULT) { | ||
5494 | + ffmpegdec->context->skip_frame = AVDISCARD_DEFAULT; | ||
5495 | + *mode_switch = TRUE; | ||
5496 | + GST_DEBUG_OBJECT (ffmpegdec, "QOS: normal mode %g < 0.4", proportion); | ||
5497 | + } | ||
5498 | + ffmpegdec->processed++; | ||
5499 | + return TRUE; | ||
5500 | + } | ||
5501 | +skip_frame: | ||
5502 | + { | ||
5503 | + if (ffmpegdec->context->skip_frame != AVDISCARD_NONREF) { | ||
5504 | + ffmpegdec->context->skip_frame = AVDISCARD_NONREF; | ||
5505 | + *mode_switch = TRUE; | ||
5506 | + GST_DEBUG_OBJECT (ffmpegdec, | ||
5507 | + "QOS: hurry up, diff %" G_GINT64_FORMAT " >= 0", diff); | ||
5508 | + } | ||
5509 | + goto drop_qos; | ||
5510 | + } | ||
5511 | +drop_qos: | ||
5512 | + { | ||
5513 | + GstClockTime stream_time, jitter; | ||
5514 | + GstMessage *qos_msg; | ||
5515 | + | ||
5516 | + ffmpegdec->dropped++; | ||
5517 | + stream_time = | ||
5518 | + gst_segment_to_stream_time (&ffmpegdec->segment, GST_FORMAT_TIME, | ||
5519 | + timestamp); | ||
5520 | + jitter = GST_CLOCK_DIFF (qostime, earliest_time); | ||
5521 | + qos_msg = | ||
5522 | + gst_message_new_qos (GST_OBJECT_CAST (ffmpegdec), FALSE, qostime, | ||
5523 | + stream_time, timestamp, GST_CLOCK_TIME_NONE); | ||
5524 | + gst_message_set_qos_values (qos_msg, jitter, proportion, 1000000); | ||
5525 | + gst_message_set_qos_stats (qos_msg, GST_FORMAT_BUFFERS, | ||
5526 | + ffmpegdec->processed, ffmpegdec->dropped); | ||
5527 | + gst_element_post_message (GST_ELEMENT_CAST (ffmpegdec), qos_msg); | ||
5528 | + | ||
5529 | + return res; | ||
5530 | + } | ||
5531 | +} | ||
5532 | + | ||
5533 | +/* returns TRUE if buffer is within segment, else FALSE. | ||
5534 | + * if Buffer is on segment border, it's timestamp and duration will be clipped */ | ||
5535 | +static gboolean | ||
5536 | +clip_video_buffer (GstFFMpegDec * dec, GstBuffer * buf, GstClockTime in_ts, | ||
5537 | + GstClockTime in_dur) | ||
5538 | +{ | ||
5539 | + gboolean res = TRUE; | ||
5540 | + gint64 cstart, cstop; | ||
5541 | + GstClockTime stop; | ||
5542 | + | ||
5543 | + GST_LOG_OBJECT (dec, | ||
5544 | + "timestamp:%" GST_TIME_FORMAT " , duration:%" GST_TIME_FORMAT, | ||
5545 | + GST_TIME_ARGS (in_ts), GST_TIME_ARGS (in_dur)); | ||
5546 | + | ||
5547 | + /* can't clip without TIME segment */ | ||
5548 | + if (G_UNLIKELY (dec->segment.format != GST_FORMAT_TIME)) | ||
5549 | + goto beach; | ||
5550 | + | ||
5551 | + /* we need a start time */ | ||
5552 | + if (G_UNLIKELY (!GST_CLOCK_TIME_IS_VALID (in_ts))) | ||
5553 | + goto beach; | ||
5554 | + | ||
5555 | + /* generate valid stop, if duration unknown, we have unknown stop */ | ||
5556 | + stop = | ||
5557 | + GST_CLOCK_TIME_IS_VALID (in_dur) ? (in_ts + in_dur) : GST_CLOCK_TIME_NONE; | ||
5558 | + | ||
5559 | + /* now clip */ | ||
5560 | + res = | ||
5561 | + gst_segment_clip (&dec->segment, GST_FORMAT_TIME, in_ts, stop, &cstart, | ||
5562 | + &cstop); | ||
5563 | + if (G_UNLIKELY (!res)) | ||
5564 | + goto beach; | ||
5565 | + | ||
5566 | + /* we're pretty sure the duration of this buffer is not till the end of this | ||
5567 | + * segment (which _clip will assume when the stop is -1) */ | ||
5568 | + if (stop == GST_CLOCK_TIME_NONE) | ||
5569 | + cstop = GST_CLOCK_TIME_NONE; | ||
5570 | + | ||
5571 | + /* update timestamp and possibly duration if the clipped stop time is | ||
5572 | + * valid */ | ||
5573 | + GST_BUFFER_TIMESTAMP (buf) = cstart; | ||
5574 | + if (GST_CLOCK_TIME_IS_VALID (cstop)) | ||
5575 | + GST_BUFFER_DURATION (buf) = cstop - cstart; | ||
5576 | + | ||
5577 | + GST_LOG_OBJECT (dec, | ||
5578 | + "clipped timestamp:%" GST_TIME_FORMAT " , duration:%" GST_TIME_FORMAT, | ||
5579 | + GST_TIME_ARGS (cstart), GST_TIME_ARGS (GST_BUFFER_DURATION (buf))); | ||
5580 | + | ||
5581 | +beach: | ||
5582 | + GST_LOG_OBJECT (dec, "%sdropping", (res ? "not " : "")); | ||
5583 | + return res; | ||
5584 | +} | ||
5585 | + | ||
5586 | + | ||
5587 | +/* get an outbuf buffer with the current picture */ | ||
5588 | +static GstFlowReturn | ||
5589 | +get_output_buffer (GstFFMpegDec * ffmpegdec, GstBuffer ** outbuf) | ||
5590 | +{ | ||
5591 | + GstFlowReturn ret; | ||
5592 | + | ||
5593 | + ret = GST_FLOW_OK; | ||
5594 | + *outbuf = NULL; | ||
5595 | + | ||
5596 | + if (ffmpegdec->picture->opaque != NULL) { | ||
5597 | + /* we allocated a picture already for ffmpeg to decode into, let's pick it | ||
5598 | + * up and use it now. */ | ||
5599 | + *outbuf = (GstBuffer *) ffmpegdec->picture->opaque; | ||
5600 | + GST_LOG_OBJECT (ffmpegdec, "using opaque buffer %p", *outbuf); | ||
5601 | +#ifndef EXTRA_REF | ||
5602 | + gst_buffer_ref (*outbuf); | ||
5603 | +#endif | ||
5604 | + } else { | ||
5605 | + AVPicture pic, *outpic; | ||
5606 | + gint width, height; | ||
5607 | + | ||
5608 | + GST_LOG_OBJECT (ffmpegdec, "get output buffer"); | ||
5609 | + | ||
5610 | + /* figure out size of output buffer, this is the clipped output size because | ||
5611 | + * we will copy the picture into it but only when the clipping region is | ||
5612 | + * smaller than the actual picture size. */ | ||
5613 | + if ((width = ffmpegdec->format.video.clip_width) == -1) | ||
5614 | + width = ffmpegdec->context->width; | ||
5615 | + else if (width > ffmpegdec->context->width) | ||
5616 | + width = ffmpegdec->context->width; | ||
5617 | + | ||
5618 | + if ((height = ffmpegdec->format.video.clip_height) == -1) | ||
5619 | + height = ffmpegdec->context->height; | ||
5620 | + else if (height > ffmpegdec->context->height) | ||
5621 | + height = ffmpegdec->context->height; | ||
5622 | + | ||
5623 | + GST_LOG_OBJECT (ffmpegdec, "clip width %d/height %d", width, height); | ||
5624 | + | ||
5625 | + ret = alloc_output_buffer (ffmpegdec, outbuf, width, height); | ||
5626 | + if (G_UNLIKELY (ret != GST_FLOW_OK)) | ||
5627 | + goto alloc_failed; | ||
5628 | + | ||
5629 | + /* original ffmpeg code does not handle odd sizes correctly. | ||
5630 | + * This patched up version does */ | ||
5631 | + gst_ffmpeg_avpicture_fill (&pic, GST_BUFFER_DATA (*outbuf), | ||
5632 | + ffmpegdec->context->pix_fmt, width, height); | ||
5633 | + | ||
5634 | + outpic = (AVPicture *) ffmpegdec->picture; | ||
5635 | + | ||
5636 | + GST_LOG_OBJECT (ffmpegdec, "linsize %d %d %d", outpic->linesize[0], | ||
5637 | + outpic->linesize[1], outpic->linesize[2]); | ||
5638 | + GST_LOG_OBJECT (ffmpegdec, "data %u %u %u", 0, | ||
5639 | + (guint) (outpic->data[1] - outpic->data[0]), | ||
5640 | + (guint) (outpic->data[2] - outpic->data[0])); | ||
5641 | + | ||
5642 | + av_picture_copy (&pic, outpic, ffmpegdec->context->pix_fmt, width, height); | ||
5643 | + } | ||
5644 | + ffmpegdec->picture->reordered_opaque = -1; | ||
5645 | + | ||
5646 | + return ret; | ||
5647 | + | ||
5648 | + /* special cases */ | ||
5649 | +alloc_failed: | ||
5650 | + { | ||
5651 | + GST_DEBUG_OBJECT (ffmpegdec, "pad_alloc failed"); | ||
5652 | + return ret; | ||
5653 | + } | ||
5654 | +} | ||
5655 | + | ||
5656 | +static void | ||
5657 | +clear_queued (GstFFMpegDec * ffmpegdec) | ||
5658 | +{ | ||
5659 | + g_list_foreach (ffmpegdec->queued, (GFunc) gst_mini_object_unref, NULL); | ||
5660 | + g_list_free (ffmpegdec->queued); | ||
5661 | + ffmpegdec->queued = NULL; | ||
5662 | +} | ||
5663 | + | ||
5664 | +static GstFlowReturn | ||
5665 | +flush_queued (GstFFMpegDec * ffmpegdec) | ||
5666 | +{ | ||
5667 | + GstFlowReturn res = GST_FLOW_OK; | ||
5668 | + | ||
5669 | + while (ffmpegdec->queued) { | ||
5670 | + GstBuffer *buf = GST_BUFFER_CAST (ffmpegdec->queued->data); | ||
5671 | + | ||
5672 | + GST_LOG_OBJECT (ffmpegdec, "pushing buffer %p, offset %" | ||
5673 | + G_GUINT64_FORMAT ", timestamp %" | ||
5674 | + GST_TIME_FORMAT ", duration %" GST_TIME_FORMAT, buf, | ||
5675 | + GST_BUFFER_OFFSET (buf), | ||
5676 | + GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buf)), | ||
5677 | + GST_TIME_ARGS (GST_BUFFER_DURATION (buf))); | ||
5678 | + | ||
5679 | + /* iterate ouput queue an push downstream */ | ||
5680 | + res = gst_pad_push (ffmpegdec->srcpad, buf); | ||
5681 | + | ||
5682 | + ffmpegdec->queued = | ||
5683 | + g_list_delete_link (ffmpegdec->queued, ffmpegdec->queued); | ||
5684 | + } | ||
5685 | + return res; | ||
5686 | +} | ||
5687 | + | ||
5688 | +static void | ||
5689 | +gst_avpacket_init (AVPacket * packet, guint8 * data, guint size) | ||
5690 | +{ | ||
5691 | + memset (packet, 0, sizeof (AVPacket)); | ||
5692 | + packet->data = data; | ||
5693 | + packet->size = size; | ||
5694 | +} | ||
5695 | + | ||
5696 | +/* gst_ffmpegdec_[video|audio]_frame: | ||
5697 | + * ffmpegdec: | ||
5698 | + * data: pointer to the data to decode | ||
5699 | + * size: size of data in bytes | ||
5700 | + * in_timestamp: incoming timestamp. | ||
5701 | + * in_duration: incoming duration. | ||
5702 | + * in_offset: incoming offset (frame number). | ||
5703 | + * outbuf: outgoing buffer. Different from NULL ONLY if it contains decoded data. | ||
5704 | + * ret: Return flow. | ||
5705 | + * | ||
5706 | + * Returns: number of bytes used in decoding. The check for successful decode is | ||
5707 | + * outbuf being non-NULL. | ||
5708 | + */ | ||
5709 | +static gint | ||
5710 | +gst_ffmpegdec_video_frame (GstFFMpegDec * ffmpegdec, | ||
5711 | + guint8 * data, guint size, | ||
5712 | + const GstTSInfo * dec_info, GstBuffer ** outbuf, GstFlowReturn * ret) | ||
5713 | +{ | ||
5714 | + gint len = -1; | ||
5715 | + gint have_data; | ||
5716 | + gboolean mode_switch; | ||
5717 | + gboolean decode; | ||
5718 | + gint skip_frame = AVDISCARD_DEFAULT; | ||
5719 | + GstClockTime out_timestamp, out_duration, out_pts; | ||
5720 | + gint64 out_offset; | ||
5721 | + const GstTSInfo *out_info; | ||
5722 | + AVPacket packet; | ||
5723 | + | ||
5724 | + *ret = GST_FLOW_OK; | ||
5725 | + *outbuf = NULL; | ||
5726 | + | ||
5727 | + ffmpegdec->context->opaque = ffmpegdec; | ||
5728 | + | ||
5729 | + /* in case we skip frames */ | ||
5730 | + ffmpegdec->picture->pict_type = -1; | ||
5731 | + | ||
5732 | + /* run QoS code, we don't stop decoding the frame when we are late because | ||
5733 | + * else we might skip a reference frame */ | ||
5734 | + decode = gst_ffmpegdec_do_qos (ffmpegdec, dec_info->timestamp, &mode_switch); | ||
5735 | + | ||
5736 | + if (ffmpegdec->is_realvideo && data != NULL) { | ||
5737 | + gint slice_count; | ||
5738 | + gint i; | ||
5739 | + | ||
5740 | + /* setup the slice table for realvideo */ | ||
5741 | + if (ffmpegdec->context->slice_offset == NULL) | ||
5742 | + ffmpegdec->context->slice_offset = g_malloc (sizeof (guint32) * 1000); | ||
5743 | + | ||
5744 | + slice_count = (*data++) + 1; | ||
5745 | + ffmpegdec->context->slice_count = slice_count; | ||
5746 | + | ||
5747 | + for (i = 0; i < slice_count; i++) { | ||
5748 | + data += 4; | ||
5749 | + ffmpegdec->context->slice_offset[i] = GST_READ_UINT32_LE (data); | ||
5750 | + data += 4; | ||
5751 | + } | ||
5752 | + } | ||
5753 | + | ||
5754 | + if (!decode) { | ||
5755 | + /* no decoding needed, save previous skip_frame value and brutely skip | ||
5756 | + * decoding everything */ | ||
5757 | + skip_frame = ffmpegdec->context->skip_frame; | ||
5758 | + ffmpegdec->context->skip_frame = AVDISCARD_NONREF; | ||
5759 | + } | ||
5760 | + | ||
5761 | + /* save reference to the timing info */ | ||
5762 | + ffmpegdec->context->reordered_opaque = (gint64) dec_info->idx; | ||
5763 | + ffmpegdec->picture->reordered_opaque = (gint64) dec_info->idx; | ||
5764 | + | ||
5765 | + GST_DEBUG_OBJECT (ffmpegdec, "stored opaque values idx %d", dec_info->idx); | ||
5766 | + | ||
5767 | + /* now decode the frame */ | ||
5768 | + gst_avpacket_init (&packet, data, size); | ||
5769 | + len = avcodec_decode_video2 (ffmpegdec->context, | ||
5770 | + ffmpegdec->picture, &have_data, &packet); | ||
5771 | + | ||
5772 | + /* restore previous state */ | ||
5773 | + if (!decode) | ||
5774 | + ffmpegdec->context->skip_frame = skip_frame; | ||
5775 | + | ||
5776 | + GST_DEBUG_OBJECT (ffmpegdec, "after decode: len %d, have_data %d", | ||
5777 | + len, have_data); | ||
5778 | + | ||
5779 | + /* when we are in skip_frame mode, don't complain when ffmpeg returned | ||
5780 | + * no data because we told it to skip stuff. */ | ||
5781 | + if (len < 0 && (mode_switch || ffmpegdec->context->skip_frame)) | ||
5782 | + len = 0; | ||
5783 | + | ||
5784 | + if (len > 0 && have_data <= 0 && (mode_switch | ||
5785 | + || ffmpegdec->context->skip_frame)) { | ||
5786 | + /* we consumed some bytes but nothing decoded and we are skipping frames, | ||
5787 | + * disable the interpollation of DTS timestamps */ | ||
5788 | + ffmpegdec->last_out = -1; | ||
5789 | + } | ||
5790 | + | ||
5791 | + /* no data, we're done */ | ||
5792 | + if (len < 0 || have_data <= 0) | ||
5793 | + goto beach; | ||
5794 | + | ||
5795 | + /* get the output picture timing info again */ | ||
5796 | + out_info = gst_ts_info_get (ffmpegdec, ffmpegdec->picture->reordered_opaque); | ||
5797 | + out_pts = out_info->timestamp; | ||
5798 | + out_duration = out_info->duration; | ||
5799 | + out_offset = out_info->offset; | ||
5800 | + | ||
5801 | + GST_DEBUG_OBJECT (ffmpegdec, | ||
5802 | + "pts %" G_GUINT64_FORMAT " duration %" G_GUINT64_FORMAT " offset %" | ||
5803 | + G_GINT64_FORMAT, out_pts, out_duration, out_offset); | ||
5804 | + GST_DEBUG_OBJECT (ffmpegdec, "picture: pts %" G_GUINT64_FORMAT, | ||
5805 | + (guint64) ffmpegdec->picture->pts); | ||
5806 | + GST_DEBUG_OBJECT (ffmpegdec, "picture: num %d", | ||
5807 | + ffmpegdec->picture->coded_picture_number); | ||
5808 | + GST_DEBUG_OBJECT (ffmpegdec, "picture: ref %d", | ||
5809 | + ffmpegdec->picture->reference); | ||
5810 | + GST_DEBUG_OBJECT (ffmpegdec, "picture: display %d", | ||
5811 | + ffmpegdec->picture->display_picture_number); | ||
5812 | + GST_DEBUG_OBJECT (ffmpegdec, "picture: opaque %p", | ||
5813 | + ffmpegdec->picture->opaque); | ||
5814 | + GST_DEBUG_OBJECT (ffmpegdec, "picture: reordered opaque %" G_GUINT64_FORMAT, | ||
5815 | + (guint64) ffmpegdec->picture->reordered_opaque); | ||
5816 | + GST_DEBUG_OBJECT (ffmpegdec, "repeat_pict:%d", | ||
5817 | + ffmpegdec->picture->repeat_pict); | ||
5818 | + GST_DEBUG_OBJECT (ffmpegdec, "interlaced_frame:%d", | ||
5819 | + ffmpegdec->picture->interlaced_frame); | ||
5820 | + | ||
5821 | + if (G_UNLIKELY (ffmpegdec->picture->interlaced_frame != | ||
5822 | + ffmpegdec->format.video.interlaced)) { | ||
5823 | + GST_WARNING ("Change in interlacing ! picture:%d, recorded:%d", | ||
5824 | + ffmpegdec->picture->interlaced_frame, | ||
5825 | + ffmpegdec->format.video.interlaced); | ||
5826 | + ffmpegdec->format.video.interlaced = ffmpegdec->picture->interlaced_frame; | ||
5827 | + gst_ffmpegdec_negotiate (ffmpegdec, TRUE); | ||
5828 | + } | ||
5829 | + | ||
5830 | + /* Whether a frame is interlaced or not is unknown at the time of | ||
5831 | + buffer allocation, so caps on the buffer in opaque will have | ||
5832 | + the previous frame's interlaced flag set. So if interlacedness | ||
5833 | + has changed since allocation, we update the buffer (if any) | ||
5834 | + caps now with the correct interlaced flag. */ | ||
5835 | + if (ffmpegdec->picture->opaque != NULL) { | ||
5836 | + GstBuffer *buffer = ffmpegdec->picture->opaque; | ||
5837 | + if (GST_BUFFER_CAPS (buffer) && GST_PAD_CAPS (ffmpegdec->srcpad)) { | ||
5838 | + GstStructure *s = gst_caps_get_structure (GST_BUFFER_CAPS (buffer), 0); | ||
5839 | + gboolean interlaced; | ||
5840 | + gboolean found = gst_structure_get_boolean (s, "interlaced", &interlaced); | ||
5841 | + if (!found || (!!interlaced != !!ffmpegdec->format.video.interlaced)) { | ||
5842 | + GST_DEBUG_OBJECT (ffmpegdec, | ||
5843 | + "Buffer interlacing does not match pad, updating"); | ||
5844 | + buffer = gst_buffer_make_metadata_writable (buffer); | ||
5845 | + gst_buffer_set_caps (buffer, GST_PAD_CAPS (ffmpegdec->srcpad)); | ||
5846 | + ffmpegdec->picture->opaque = buffer; | ||
5847 | + } | ||
5848 | + } | ||
5849 | + } | ||
5850 | + | ||
5851 | + /* check that the timestamps go upwards */ | ||
5852 | + if (ffmpegdec->last_out != -1 && ffmpegdec->last_out > out_pts) { | ||
5853 | + /* timestamps go backwards, this means frames were reordered and we must | ||
5854 | + * be dealing with DTS as the buffer timestamps */ | ||
5855 | + if (!ffmpegdec->reordered_out) { | ||
5856 | + GST_DEBUG_OBJECT (ffmpegdec, "detected reordered out timestamps"); | ||
5857 | + ffmpegdec->reordered_out = TRUE; | ||
5858 | + } | ||
5859 | + if (ffmpegdec->reordered_in) { | ||
5860 | + /* we reset the input reordering here because we want to recover from an | ||
5861 | + * occasionally wrong reordered input timestamp */ | ||
5862 | + GST_DEBUG_OBJECT (ffmpegdec, "assuming DTS input timestamps"); | ||
5863 | + ffmpegdec->reordered_in = FALSE; | ||
5864 | + } | ||
5865 | + } | ||
5866 | + | ||
5867 | + if (out_pts == 0 && out_pts == ffmpegdec->last_out) { | ||
5868 | + GST_LOG_OBJECT (ffmpegdec, "ffmpeg returns 0 timestamps, ignoring"); | ||
5869 | + /* some codecs only output 0 timestamps, when that happens, make us select an | ||
5870 | + * output timestamp based on the input timestamp. We do this by making the | ||
5871 | + * ffmpeg timestamp and the interpollated next timestamp invalid. */ | ||
5872 | + out_pts = -1; | ||
5873 | + ffmpegdec->next_out = -1; | ||
5874 | + } else | ||
5875 | + ffmpegdec->last_out = out_pts; | ||
5876 | + | ||
5877 | + /* we assume DTS as input timestamps unless we see reordered input | ||
5878 | + * timestamps */ | ||
5879 | + if (!ffmpegdec->reordered_in && ffmpegdec->reordered_out) { | ||
5880 | + /* PTS and DTS are the same for keyframes */ | ||
5881 | + if (ffmpegdec->next_out != -1) { | ||
5882 | + /* interpolate all timestamps except for keyframes, FIXME, this is | ||
5883 | + * wrong when QoS is active. */ | ||
5884 | + GST_DEBUG_OBJECT (ffmpegdec, "interpolate timestamps"); | ||
5885 | + out_pts = -1; | ||
5886 | + out_offset = -1; | ||
5887 | + } | ||
5888 | + } | ||
5889 | + | ||
5890 | + /* get a handle to the output buffer */ | ||
5891 | + *ret = get_output_buffer (ffmpegdec, outbuf); | ||
5892 | + if (G_UNLIKELY (*ret != GST_FLOW_OK)) | ||
5893 | + goto no_output; | ||
5894 | + | ||
5895 | + /* | ||
5896 | + * Timestamps: | ||
5897 | + * | ||
5898 | + * 1) Copy picture timestamp if valid | ||
5899 | + * 2) else interpolate from previous output timestamp | ||
5900 | + * 3) else copy input timestamp | ||
5901 | + */ | ||
5902 | + out_timestamp = -1; | ||
5903 | + if (out_pts != -1) { | ||
5904 | + /* Get (interpolated) timestamp from FFMPEG */ | ||
5905 | + out_timestamp = (GstClockTime) out_pts; | ||
5906 | + GST_LOG_OBJECT (ffmpegdec, "using timestamp %" GST_TIME_FORMAT | ||
5907 | + " returned by ffmpeg", GST_TIME_ARGS (out_timestamp)); | ||
5908 | + } | ||
5909 | + if (!GST_CLOCK_TIME_IS_VALID (out_timestamp) && ffmpegdec->next_out != -1) { | ||
5910 | + out_timestamp = ffmpegdec->next_out; | ||
5911 | + GST_LOG_OBJECT (ffmpegdec, "using next timestamp %" GST_TIME_FORMAT, | ||
5912 | + GST_TIME_ARGS (out_timestamp)); | ||
5913 | + } | ||
5914 | + if (!GST_CLOCK_TIME_IS_VALID (out_timestamp)) { | ||
5915 | + out_timestamp = dec_info->timestamp; | ||
5916 | + GST_LOG_OBJECT (ffmpegdec, "using in timestamp %" GST_TIME_FORMAT, | ||
5917 | + GST_TIME_ARGS (out_timestamp)); | ||
5918 | + } | ||
5919 | + GST_BUFFER_TIMESTAMP (*outbuf) = out_timestamp; | ||
5920 | + | ||
5921 | + /* | ||
5922 | + * Offset: | ||
5923 | + * 0) Use stored input offset (from opaque) | ||
5924 | + * 1) Use value converted from timestamp if valid | ||
5925 | + * 2) Use input offset if valid | ||
5926 | + */ | ||
5927 | + if (out_offset != GST_BUFFER_OFFSET_NONE) { | ||
5928 | + /* out_offset already contains the offset from ts_info */ | ||
5929 | + GST_LOG_OBJECT (ffmpegdec, "Using offset returned by ffmpeg"); | ||
5930 | + } else if (out_timestamp != GST_CLOCK_TIME_NONE) { | ||
5931 | + GstFormat out_fmt = GST_FORMAT_DEFAULT; | ||
5932 | + GST_LOG_OBJECT (ffmpegdec, "Using offset converted from timestamp"); | ||
5933 | + /* FIXME, we should really remove this as it's not nice at all to do | ||
5934 | + * upstream queries for each frame to get the frame offset. We also can't | ||
5935 | + * really remove this because it is the only way of setting frame offsets | ||
5936 | + * on outgoing buffers. We should have metadata so that the upstream peer | ||
5937 | + * can set a frame number on the encoded data. */ | ||
5938 | + gst_pad_query_peer_convert (ffmpegdec->sinkpad, | ||
5939 | + GST_FORMAT_TIME, out_timestamp, &out_fmt, &out_offset); | ||
5940 | + } else if (dec_info->offset != GST_BUFFER_OFFSET_NONE) { | ||
5941 | + /* FIXME, the input offset is input media specific and might not | ||
5942 | + * be the same for the output media. (byte offset as input, frame number | ||
5943 | + * as output, for example) */ | ||
5944 | + GST_LOG_OBJECT (ffmpegdec, "using in_offset %" G_GINT64_FORMAT, | ||
5945 | + dec_info->offset); | ||
5946 | + out_offset = dec_info->offset; | ||
5947 | + } else { | ||
5948 | + GST_LOG_OBJECT (ffmpegdec, "no valid offset found"); | ||
5949 | + out_offset = GST_BUFFER_OFFSET_NONE; | ||
5950 | + } | ||
5951 | + GST_BUFFER_OFFSET (*outbuf) = out_offset; | ||
5952 | + | ||
5953 | + /* | ||
5954 | + * Duration: | ||
5955 | + * | ||
5956 | + * 1) Use reordered input duration if valid | ||
5957 | + * 2) Else use input duration | ||
5958 | + * 3) else use input framerate | ||
5959 | + * 4) else use ffmpeg framerate | ||
5960 | + */ | ||
5961 | + if (GST_CLOCK_TIME_IS_VALID (out_duration)) { | ||
5962 | + /* We have a valid (reordered) duration */ | ||
5963 | + GST_LOG_OBJECT (ffmpegdec, "Using duration returned by ffmpeg"); | ||
5964 | + } else if (GST_CLOCK_TIME_IS_VALID (dec_info->duration)) { | ||
5965 | + GST_LOG_OBJECT (ffmpegdec, "using in_duration"); | ||
5966 | + out_duration = dec_info->duration; | ||
5967 | + } else if (GST_CLOCK_TIME_IS_VALID (ffmpegdec->last_diff)) { | ||
5968 | + GST_LOG_OBJECT (ffmpegdec, "using last-diff"); | ||
5969 | + out_duration = ffmpegdec->last_diff; | ||
5970 | + } else { | ||
5971 | + /* if we have an input framerate, use that */ | ||
5972 | + if (ffmpegdec->format.video.fps_n != -1 && | ||
5973 | + (ffmpegdec->format.video.fps_n != 1000 && | ||
5974 | + ffmpegdec->format.video.fps_d != 1)) { | ||
5975 | + GST_LOG_OBJECT (ffmpegdec, "using input framerate for duration"); | ||
5976 | + out_duration = gst_util_uint64_scale_int (GST_SECOND, | ||
5977 | + ffmpegdec->format.video.fps_d, ffmpegdec->format.video.fps_n); | ||
5978 | + } else { | ||
5979 | + /* don't try to use the decoder's framerate when it seems a bit abnormal, | ||
5980 | + * which we assume when den >= 1000... */ | ||
5981 | + if (ffmpegdec->context->time_base.num != 0 && | ||
5982 | + (ffmpegdec->context->time_base.den > 0 && | ||
5983 | + ffmpegdec->context->time_base.den < 1000)) { | ||
5984 | + GST_LOG_OBJECT (ffmpegdec, "using decoder's framerate for duration"); | ||
5985 | + out_duration = gst_util_uint64_scale_int (GST_SECOND, | ||
5986 | + ffmpegdec->context->time_base.num * | ||
5987 | + ffmpegdec->context->ticks_per_frame, | ||
5988 | + ffmpegdec->context->time_base.den); | ||
5989 | + } else { | ||
5990 | + GST_LOG_OBJECT (ffmpegdec, "no valid duration found"); | ||
5991 | + } | ||
5992 | + } | ||
5993 | + } | ||
5994 | + | ||
5995 | + /* Take repeat_pict into account */ | ||
5996 | + if (GST_CLOCK_TIME_IS_VALID (out_duration)) { | ||
5997 | + out_duration += out_duration * ffmpegdec->picture->repeat_pict / 2; | ||
5998 | + } | ||
5999 | + GST_BUFFER_DURATION (*outbuf) = out_duration; | ||
6000 | + | ||
6001 | + if (out_timestamp != -1 && out_duration != -1 && out_duration != 0) | ||
6002 | + ffmpegdec->next_out = out_timestamp + out_duration; | ||
6003 | + else | ||
6004 | + ffmpegdec->next_out = -1; | ||
6005 | + | ||
6006 | + /* now see if we need to clip the buffer against the segment boundaries. */ | ||
6007 | + if (G_UNLIKELY (!clip_video_buffer (ffmpegdec, *outbuf, out_timestamp, | ||
6008 | + out_duration))) | ||
6009 | + goto clipped; | ||
6010 | + | ||
6011 | + if (ffmpegdec->picture->top_field_first) | ||
6012 | + GST_BUFFER_FLAG_SET (*outbuf, GST_VIDEO_BUFFER_TFF); | ||
6013 | + | ||
6014 | + | ||
6015 | +beach: | ||
6016 | + GST_DEBUG_OBJECT (ffmpegdec, "return flow %d, out %p, len %d", | ||
6017 | + *ret, *outbuf, len); | ||
6018 | + return len; | ||
6019 | + | ||
6020 | + /* special cases */ | ||
6021 | +no_output: | ||
6022 | + { | ||
6023 | + GST_DEBUG_OBJECT (ffmpegdec, "no output buffer"); | ||
6024 | + len = -1; | ||
6025 | + goto beach; | ||
6026 | + } | ||
6027 | +clipped: | ||
6028 | + { | ||
6029 | + GST_DEBUG_OBJECT (ffmpegdec, "buffer clipped"); | ||
6030 | + gst_buffer_unref (*outbuf); | ||
6031 | + *outbuf = NULL; | ||
6032 | + goto beach; | ||
6033 | + } | ||
6034 | +} | ||
6035 | + | ||
6036 | +/* returns TRUE if buffer is within segment, else FALSE. | ||
6037 | + * if Buffer is on segment border, it's timestamp and duration will be clipped */ | ||
6038 | +static gboolean | ||
6039 | +clip_audio_buffer (GstFFMpegDec * dec, GstBuffer * buf, GstClockTime in_ts, | ||
6040 | + GstClockTime in_dur) | ||
6041 | +{ | ||
6042 | + GstClockTime stop; | ||
6043 | + gint64 diff, ctime, cstop; | ||
6044 | + gboolean res = TRUE; | ||
6045 | + | ||
6046 | + GST_LOG_OBJECT (dec, | ||
6047 | + "timestamp:%" GST_TIME_FORMAT ", duration:%" GST_TIME_FORMAT | ||
6048 | + ", size %u", GST_TIME_ARGS (in_ts), GST_TIME_ARGS (in_dur), | ||
6049 | + GST_BUFFER_SIZE (buf)); | ||
6050 | + | ||
6051 | + /* can't clip without TIME segment */ | ||
6052 | + if (G_UNLIKELY (dec->segment.format != GST_FORMAT_TIME)) | ||
6053 | + goto beach; | ||
6054 | + | ||
6055 | + /* we need a start time */ | ||
6056 | + if (G_UNLIKELY (!GST_CLOCK_TIME_IS_VALID (in_ts))) | ||
6057 | + goto beach; | ||
6058 | + | ||
6059 | + /* trust duration */ | ||
6060 | + stop = in_ts + in_dur; | ||
6061 | + | ||
6062 | + res = gst_segment_clip (&dec->segment, GST_FORMAT_TIME, in_ts, stop, &ctime, | ||
6063 | + &cstop); | ||
6064 | + if (G_UNLIKELY (!res)) | ||
6065 | + goto out_of_segment; | ||
6066 | + | ||
6067 | + /* see if some clipping happened */ | ||
6068 | + if (G_UNLIKELY ((diff = ctime - in_ts) > 0)) { | ||
6069 | + /* bring clipped time to bytes */ | ||
6070 | + diff = | ||
6071 | + gst_util_uint64_scale_int (diff, dec->format.audio.samplerate, | ||
6072 | + GST_SECOND) * (dec->format.audio.depth * dec->format.audio.channels); | ||
6073 | + | ||
6074 | + GST_DEBUG_OBJECT (dec, "clipping start to %" GST_TIME_FORMAT " %" | ||
6075 | + G_GINT64_FORMAT " bytes", GST_TIME_ARGS (ctime), diff); | ||
6076 | + | ||
6077 | + GST_BUFFER_SIZE (buf) -= diff; | ||
6078 | + GST_BUFFER_DATA (buf) += diff; | ||
6079 | + } | ||
6080 | + if (G_UNLIKELY ((diff = stop - cstop) > 0)) { | ||
6081 | + /* bring clipped time to bytes */ | ||
6082 | + diff = | ||
6083 | + gst_util_uint64_scale_int (diff, dec->format.audio.samplerate, | ||
6084 | + GST_SECOND) * (dec->format.audio.depth * dec->format.audio.channels); | ||
6085 | + | ||
6086 | + GST_DEBUG_OBJECT (dec, "clipping stop to %" GST_TIME_FORMAT " %" | ||
6087 | + G_GINT64_FORMAT " bytes", GST_TIME_ARGS (cstop), diff); | ||
6088 | + | ||
6089 | + GST_BUFFER_SIZE (buf) -= diff; | ||
6090 | + } | ||
6091 | + GST_BUFFER_TIMESTAMP (buf) = ctime; | ||
6092 | + GST_BUFFER_DURATION (buf) = cstop - ctime; | ||
6093 | + | ||
6094 | +beach: | ||
6095 | + GST_LOG_OBJECT (dec, "%sdropping", (res ? "not " : "")); | ||
6096 | + return res; | ||
6097 | + | ||
6098 | + /* ERRORS */ | ||
6099 | +out_of_segment: | ||
6100 | + { | ||
6101 | + GST_LOG_OBJECT (dec, "out of segment"); | ||
6102 | + goto beach; | ||
6103 | + } | ||
6104 | +} | ||
6105 | + | ||
6106 | +static gint | ||
6107 | +gst_ffmpegdec_audio_frame (GstFFMpegDec * ffmpegdec, | ||
6108 | + AVCodec * in_plugin, guint8 * data, guint size, | ||
6109 | + const GstTSInfo * dec_info, GstBuffer ** outbuf, GstFlowReturn * ret) | ||
6110 | +{ | ||
6111 | + gint len = -1; | ||
6112 | + gint have_data = AVCODEC_MAX_AUDIO_FRAME_SIZE; | ||
6113 | + GstClockTime out_timestamp, out_duration; | ||
6114 | + gint64 out_offset; | ||
6115 | + AVPacket packet; | ||
6116 | + | ||
6117 | + GST_DEBUG_OBJECT (ffmpegdec, | ||
6118 | + "size:%d, offset:%" G_GINT64_FORMAT ", ts:%" GST_TIME_FORMAT ", dur:%" | ||
6119 | + GST_TIME_FORMAT ", ffmpegdec->next_out:%" GST_TIME_FORMAT, size, | ||
6120 | + dec_info->offset, GST_TIME_ARGS (dec_info->timestamp), | ||
6121 | + GST_TIME_ARGS (dec_info->duration), GST_TIME_ARGS (ffmpegdec->next_out)); | ||
6122 | + | ||
6123 | + *outbuf = | ||
6124 | + new_aligned_buffer (AVCODEC_MAX_AUDIO_FRAME_SIZE, | ||
6125 | + GST_PAD_CAPS (ffmpegdec->srcpad)); | ||
6126 | + | ||
6127 | + gst_avpacket_init (&packet, data, size); | ||
6128 | + len = avcodec_decode_audio3 (ffmpegdec->context, | ||
6129 | + (int16_t *) GST_BUFFER_DATA (*outbuf), &have_data, &packet); | ||
6130 | + GST_DEBUG_OBJECT (ffmpegdec, | ||
6131 | + "Decode audio: len=%d, have_data=%d", len, have_data); | ||
6132 | + | ||
6133 | + if (len >= 0 && have_data > 0) { | ||
6134 | + GST_DEBUG_OBJECT (ffmpegdec, "Creating output buffer"); | ||
6135 | + if (!gst_ffmpegdec_negotiate (ffmpegdec, FALSE)) { | ||
6136 | + gst_buffer_unref (*outbuf); | ||
6137 | + *outbuf = NULL; | ||
6138 | + len = -1; | ||
6139 | + goto beach; | ||
6140 | + } | ||
6141 | + | ||
6142 | + /* Buffer size */ | ||
6143 | + GST_BUFFER_SIZE (*outbuf) = have_data; | ||
6144 | + | ||
6145 | + /* | ||
6146 | + * Timestamps: | ||
6147 | + * | ||
6148 | + * 1) Copy input timestamp if valid | ||
6149 | + * 2) else interpolate from previous input timestamp | ||
6150 | + */ | ||
6151 | + /* always take timestamps from the input buffer if any */ | ||
6152 | + if (GST_CLOCK_TIME_IS_VALID (dec_info->timestamp)) { | ||
6153 | + out_timestamp = dec_info->timestamp; | ||
6154 | + } else { | ||
6155 | + out_timestamp = ffmpegdec->next_out; | ||
6156 | + } | ||
6157 | + | ||
6158 | + /* | ||
6159 | + * Duration: | ||
6160 | + * | ||
6161 | + * 1) calculate based on number of samples | ||
6162 | + */ | ||
6163 | + out_duration = gst_util_uint64_scale (have_data, GST_SECOND, | ||
6164 | + ffmpegdec->format.audio.depth * ffmpegdec->format.audio.channels * | ||
6165 | + ffmpegdec->format.audio.samplerate); | ||
6166 | + | ||
6167 | + /* offset: | ||
6168 | + * | ||
6169 | + * Just copy | ||
6170 | + */ | ||
6171 | + out_offset = dec_info->offset; | ||
6172 | + | ||
6173 | + GST_DEBUG_OBJECT (ffmpegdec, | ||
6174 | + "Buffer created. Size:%d , timestamp:%" GST_TIME_FORMAT " , duration:%" | ||
6175 | + GST_TIME_FORMAT, have_data, | ||
6176 | + GST_TIME_ARGS (out_timestamp), GST_TIME_ARGS (out_duration)); | ||
6177 | + | ||
6178 | + GST_BUFFER_TIMESTAMP (*outbuf) = out_timestamp; | ||
6179 | + GST_BUFFER_DURATION (*outbuf) = out_duration; | ||
6180 | + GST_BUFFER_OFFSET (*outbuf) = out_offset; | ||
6181 | + gst_buffer_set_caps (*outbuf, GST_PAD_CAPS (ffmpegdec->srcpad)); | ||
6182 | + | ||
6183 | + /* the next timestamp we'll use when interpolating */ | ||
6184 | + if (GST_CLOCK_TIME_IS_VALID (out_timestamp)) | ||
6185 | + ffmpegdec->next_out = out_timestamp + out_duration; | ||
6186 | + | ||
6187 | + /* now see if we need to clip the buffer against the segment boundaries. */ | ||
6188 | + if (G_UNLIKELY (!clip_audio_buffer (ffmpegdec, *outbuf, out_timestamp, | ||
6189 | + out_duration))) | ||
6190 | + goto clipped; | ||
6191 | + | ||
6192 | + } else { | ||
6193 | + gst_buffer_unref (*outbuf); | ||
6194 | + *outbuf = NULL; | ||
6195 | + } | ||
6196 | + | ||
6197 | + /* If we don't error out after the first failed read with the AAC decoder, | ||
6198 | + * we must *not* carry on pushing data, else we'll cause segfaults... */ | ||
6199 | + if (len == -1 && (in_plugin->id == CODEC_ID_AAC | ||
6200 | + || in_plugin->id == CODEC_ID_AAC_LATM)) { | ||
6201 | + GST_ELEMENT_ERROR (ffmpegdec, STREAM, DECODE, (NULL), | ||
6202 | + ("Decoding of AAC stream by FFMPEG failed.")); | ||
6203 | + *ret = GST_FLOW_ERROR; | ||
6204 | + } | ||
6205 | + | ||
6206 | +beach: | ||
6207 | + GST_DEBUG_OBJECT (ffmpegdec, "return flow %d, out %p, len %d", | ||
6208 | + *ret, *outbuf, len); | ||
6209 | + return len; | ||
6210 | + | ||
6211 | + /* ERRORS */ | ||
6212 | +clipped: | ||
6213 | + { | ||
6214 | + GST_DEBUG_OBJECT (ffmpegdec, "buffer clipped"); | ||
6215 | + gst_buffer_unref (*outbuf); | ||
6216 | + *outbuf = NULL; | ||
6217 | + goto beach; | ||
6218 | + } | ||
6219 | +} | ||
6220 | + | ||
6221 | +/* gst_ffmpegdec_frame: | ||
6222 | + * ffmpegdec: | ||
6223 | + * data: pointer to the data to decode | ||
6224 | + * size: size of data in bytes | ||
6225 | + * got_data: 0 if no data was decoded, != 0 otherwise. | ||
6226 | + * in_time: timestamp of data | ||
6227 | + * in_duration: duration of data | ||
6228 | + * ret: GstFlowReturn to return in the chain function | ||
6229 | + * | ||
6230 | + * Decode the given frame and pushes it downstream. | ||
6231 | + * | ||
6232 | + * Returns: Number of bytes used in decoding, -1 on error/failure. | ||
6233 | + */ | ||
6234 | + | ||
6235 | +static gint | ||
6236 | +gst_ffmpegdec_frame (GstFFMpegDec * ffmpegdec, | ||
6237 | + guint8 * data, guint size, gint * got_data, const GstTSInfo * dec_info, | ||
6238 | + GstFlowReturn * ret) | ||
6239 | +{ | ||
6240 | + GstFFMpegDecClass *oclass; | ||
6241 | + GstBuffer *outbuf = NULL; | ||
6242 | + gint have_data = 0, len = 0; | ||
6243 | + | ||
6244 | + if (G_UNLIKELY (ffmpegdec->context->codec == NULL)) | ||
6245 | + goto no_codec; | ||
6246 | + | ||
6247 | + GST_LOG_OBJECT (ffmpegdec, "data:%p, size:%d, id:%d", data, size, | ||
6248 | + dec_info->idx); | ||
6249 | + | ||
6250 | + *ret = GST_FLOW_OK; | ||
6251 | + ffmpegdec->context->frame_number++; | ||
6252 | + | ||
6253 | + oclass = (GstFFMpegDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); | ||
6254 | + | ||
6255 | + switch (oclass->in_plugin->type) { | ||
6256 | + case AVMEDIA_TYPE_VIDEO: | ||
6257 | + len = | ||
6258 | + gst_ffmpegdec_video_frame (ffmpegdec, data, size, dec_info, &outbuf, | ||
6259 | + ret); | ||
6260 | + break; | ||
6261 | + case AVMEDIA_TYPE_AUDIO: | ||
6262 | + len = | ||
6263 | + gst_ffmpegdec_audio_frame (ffmpegdec, oclass->in_plugin, data, size, | ||
6264 | + dec_info, &outbuf, ret); | ||
6265 | + | ||
6266 | + /* if we did not get an output buffer and we have a pending discont, don't | ||
6267 | + * clear the input timestamps, we will put them on the next buffer because | ||
6268 | + * else we might create the first buffer with a very big timestamp gap. */ | ||
6269 | + if (outbuf == NULL && ffmpegdec->discont) { | ||
6270 | + GST_DEBUG_OBJECT (ffmpegdec, "no buffer but keeping timestamp"); | ||
6271 | + ffmpegdec->clear_ts = FALSE; | ||
6272 | + } | ||
6273 | + break; | ||
6274 | + default: | ||
6275 | + GST_ERROR_OBJECT (ffmpegdec, "Asked to decode non-audio/video frame !"); | ||
6276 | + g_assert_not_reached (); | ||
6277 | + break; | ||
6278 | + } | ||
6279 | + | ||
6280 | + if (outbuf) | ||
6281 | + have_data = 1; | ||
6282 | + | ||
6283 | + if (len < 0 || have_data < 0) { | ||
6284 | + GST_WARNING_OBJECT (ffmpegdec, | ||
6285 | + "ffdec_%s: decoding error (len: %d, have_data: %d)", | ||
6286 | + oclass->in_plugin->name, len, have_data); | ||
6287 | + *got_data = 0; | ||
6288 | + goto beach; | ||
6289 | + } else if (len == 0 && have_data == 0) { | ||
6290 | + *got_data = 0; | ||
6291 | + goto beach; | ||
6292 | + } else { | ||
6293 | + /* this is where I lost my last clue on ffmpeg... */ | ||
6294 | + *got_data = 1; | ||
6295 | + } | ||
6296 | + | ||
6297 | + if (outbuf) { | ||
6298 | + GST_LOG_OBJECT (ffmpegdec, | ||
6299 | + "Decoded data, now pushing buffer %p with offset %" G_GINT64_FORMAT | ||
6300 | + ", timestamp %" GST_TIME_FORMAT " and duration %" GST_TIME_FORMAT, | ||
6301 | + outbuf, GST_BUFFER_OFFSET (outbuf), | ||
6302 | + GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (outbuf)), | ||
6303 | + GST_TIME_ARGS (GST_BUFFER_DURATION (outbuf))); | ||
6304 | + | ||
6305 | + /* mark pending discont */ | ||
6306 | + if (ffmpegdec->discont) { | ||
6307 | + GST_BUFFER_FLAG_SET (outbuf, GST_BUFFER_FLAG_DISCONT); | ||
6308 | + ffmpegdec->discont = FALSE; | ||
6309 | + } | ||
6310 | + | ||
6311 | + if (ffmpegdec->segment.rate > 0.0) { | ||
6312 | + /* and off we go */ | ||
6313 | + *ret = gst_pad_push (ffmpegdec->srcpad, outbuf); | ||
6314 | + } else { | ||
6315 | + /* reverse playback, queue frame till later when we get a discont. */ | ||
6316 | + GST_DEBUG_OBJECT (ffmpegdec, "queued frame"); | ||
6317 | + ffmpegdec->queued = g_list_prepend (ffmpegdec->queued, outbuf); | ||
6318 | + *ret = GST_FLOW_OK; | ||
6319 | + } | ||
6320 | + } else { | ||
6321 | + GST_DEBUG_OBJECT (ffmpegdec, "We didn't get a decoded buffer"); | ||
6322 | + } | ||
6323 | + | ||
6324 | +beach: | ||
6325 | + return len; | ||
6326 | + | ||
6327 | + /* ERRORS */ | ||
6328 | +no_codec: | ||
6329 | + { | ||
6330 | + GST_ERROR_OBJECT (ffmpegdec, "no codec context"); | ||
6331 | + return -1; | ||
6332 | + } | ||
6333 | +} | ||
6334 | + | ||
6335 | +static void | ||
6336 | +gst_ffmpegdec_drain (GstFFMpegDec * ffmpegdec) | ||
6337 | +{ | ||
6338 | + GstFFMpegDecClass *oclass; | ||
6339 | + | ||
6340 | + oclass = (GstFFMpegDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); | ||
6341 | + | ||
6342 | + if (oclass->in_plugin->capabilities & CODEC_CAP_DELAY) { | ||
6343 | + gint have_data, len, try = 0; | ||
6344 | + | ||
6345 | + GST_LOG_OBJECT (ffmpegdec, | ||
6346 | + "codec has delay capabilities, calling until ffmpeg has drained everything"); | ||
6347 | + | ||
6348 | + do { | ||
6349 | + GstFlowReturn ret; | ||
6350 | + | ||
6351 | + len = | ||
6352 | + gst_ffmpegdec_frame (ffmpegdec, NULL, 0, &have_data, &ts_info_none, | ||
6353 | + &ret); | ||
6354 | + if (len < 0 || have_data == 0) | ||
6355 | + break; | ||
6356 | + } while (try++ < 10); | ||
6357 | + } | ||
6358 | + if (ffmpegdec->segment.rate < 0.0) { | ||
6359 | + /* if we have some queued frames for reverse playback, flush them now */ | ||
6360 | + flush_queued (ffmpegdec); | ||
6361 | + } | ||
6362 | +} | ||
6363 | + | ||
6364 | +static void | ||
6365 | +gst_ffmpegdec_flush_pcache (GstFFMpegDec * ffmpegdec) | ||
6366 | +{ | ||
6367 | + if (ffmpegdec->pctx) { | ||
6368 | + gint size, bsize; | ||
6369 | + guint8 *data; | ||
6370 | + guint8 bdata[FF_INPUT_BUFFER_PADDING_SIZE]; | ||
6371 | + | ||
6372 | + bsize = FF_INPUT_BUFFER_PADDING_SIZE; | ||
6373 | + memset (bdata, 0, bsize); | ||
6374 | + | ||
6375 | + /* parse some dummy data to work around some ffmpeg weirdness where it keeps | ||
6376 | + * the previous pts around */ | ||
6377 | + av_parser_parse2 (ffmpegdec->pctx, ffmpegdec->context, | ||
6378 | + &data, &size, bdata, bsize, -1, -1, -1); | ||
6379 | + ffmpegdec->pctx->pts = -1; | ||
6380 | + ffmpegdec->pctx->dts = -1; | ||
6381 | + } | ||
6382 | + | ||
6383 | + if (ffmpegdec->pcache) { | ||
6384 | + gst_buffer_unref (ffmpegdec->pcache); | ||
6385 | + ffmpegdec->pcache = NULL; | ||
6386 | + } | ||
6387 | +} | ||
6388 | + | ||
6389 | +static gboolean | ||
6390 | +gst_ffmpegdec_sink_event (GstPad * pad, GstEvent * event) | ||
6391 | +{ | ||
6392 | + GstFFMpegDec *ffmpegdec; | ||
6393 | + gboolean ret = FALSE; | ||
6394 | + | ||
6395 | + ffmpegdec = (GstFFMpegDec *) gst_pad_get_parent (pad); | ||
6396 | + | ||
6397 | + GST_DEBUG_OBJECT (ffmpegdec, "Handling %s event", | ||
6398 | + GST_EVENT_TYPE_NAME (event)); | ||
6399 | + | ||
6400 | + switch (GST_EVENT_TYPE (event)) { | ||
6401 | + case GST_EVENT_EOS: | ||
6402 | + { | ||
6403 | + gst_ffmpegdec_drain (ffmpegdec); | ||
6404 | + break; | ||
6405 | + } | ||
6406 | + case GST_EVENT_FLUSH_STOP: | ||
6407 | + { | ||
6408 | + if (ffmpegdec->opened) { | ||
6409 | + avcodec_flush_buffers (ffmpegdec->context); | ||
6410 | + } | ||
6411 | + gst_ffmpegdec_reset_ts (ffmpegdec); | ||
6412 | + gst_ffmpegdec_reset_qos (ffmpegdec); | ||
6413 | + gst_ffmpegdec_flush_pcache (ffmpegdec); | ||
6414 | + gst_segment_init (&ffmpegdec->segment, GST_FORMAT_TIME); | ||
6415 | + clear_queued (ffmpegdec); | ||
6416 | + break; | ||
6417 | + } | ||
6418 | + case GST_EVENT_NEWSEGMENT: | ||
6419 | + { | ||
6420 | + gboolean update; | ||
6421 | + GstFormat fmt; | ||
6422 | + gint64 start, stop, time; | ||
6423 | + gdouble rate, arate; | ||
6424 | + | ||
6425 | + gst_event_parse_new_segment_full (event, &update, &rate, &arate, &fmt, | ||
6426 | + &start, &stop, &time); | ||
6427 | + | ||
6428 | + switch (fmt) { | ||
6429 | + case GST_FORMAT_TIME: | ||
6430 | + /* fine, our native segment format */ | ||
6431 | + break; | ||
6432 | + case GST_FORMAT_BYTES: | ||
6433 | + { | ||
6434 | + gint bit_rate; | ||
6435 | + | ||
6436 | + bit_rate = ffmpegdec->context->bit_rate; | ||
6437 | + | ||
6438 | + /* convert to time or fail */ | ||
6439 | + if (!bit_rate) | ||
6440 | + goto no_bitrate; | ||
6441 | + | ||
6442 | + GST_DEBUG_OBJECT (ffmpegdec, "bitrate: %d", bit_rate); | ||
6443 | + | ||
6444 | + /* convert values to TIME */ | ||
6445 | + if (start != -1) | ||
6446 | + start = gst_util_uint64_scale_int (start, GST_SECOND, bit_rate); | ||
6447 | + if (stop != -1) | ||
6448 | + stop = gst_util_uint64_scale_int (stop, GST_SECOND, bit_rate); | ||
6449 | + if (time != -1) | ||
6450 | + time = gst_util_uint64_scale_int (time, GST_SECOND, bit_rate); | ||
6451 | + | ||
6452 | + /* unref old event */ | ||
6453 | + gst_event_unref (event); | ||
6454 | + | ||
6455 | + /* create new converted time segment */ | ||
6456 | + fmt = GST_FORMAT_TIME; | ||
6457 | + /* FIXME, bitrate is not good enough too find a good stop, let's | ||
6458 | + * hope start and time were 0... meh. */ | ||
6459 | + stop = -1; | ||
6460 | + event = gst_event_new_new_segment (update, rate, fmt, | ||
6461 | + start, stop, time); | ||
6462 | + break; | ||
6463 | + } | ||
6464 | + default: | ||
6465 | + /* invalid format */ | ||
6466 | + goto invalid_format; | ||
6467 | + } | ||
6468 | + | ||
6469 | + /* drain pending frames before trying to use the new segment, queued | ||
6470 | + * buffers belonged to the previous segment. */ | ||
6471 | + if (ffmpegdec->context->codec) | ||
6472 | + gst_ffmpegdec_drain (ffmpegdec); | ||
6473 | + | ||
6474 | + GST_DEBUG_OBJECT (ffmpegdec, | ||
6475 | + "NEWSEGMENT in time start %" GST_TIME_FORMAT " -- stop %" | ||
6476 | + GST_TIME_FORMAT, GST_TIME_ARGS (start), GST_TIME_ARGS (stop)); | ||
6477 | + | ||
6478 | + /* and store the values */ | ||
6479 | + gst_segment_set_newsegment_full (&ffmpegdec->segment, update, | ||
6480 | + rate, arate, fmt, start, stop, time); | ||
6481 | + break; | ||
6482 | + } | ||
6483 | + default: | ||
6484 | + break; | ||
6485 | + } | ||
6486 | + | ||
6487 | + /* and push segment downstream */ | ||
6488 | + ret = gst_pad_push_event (ffmpegdec->srcpad, event); | ||
6489 | + | ||
6490 | +done: | ||
6491 | + gst_object_unref (ffmpegdec); | ||
6492 | + | ||
6493 | + return ret; | ||
6494 | + | ||
6495 | + /* ERRORS */ | ||
6496 | +no_bitrate: | ||
6497 | + { | ||
6498 | + GST_WARNING_OBJECT (ffmpegdec, "no bitrate to convert BYTES to TIME"); | ||
6499 | + gst_event_unref (event); | ||
6500 | + goto done; | ||
6501 | + } | ||
6502 | +invalid_format: | ||
6503 | + { | ||
6504 | + GST_WARNING_OBJECT (ffmpegdec, "unknown format received in NEWSEGMENT"); | ||
6505 | + gst_event_unref (event); | ||
6506 | + goto done; | ||
6507 | + } | ||
6508 | +} | ||
6509 | + | ||
6510 | +static GstFlowReturn | ||
6511 | +gst_ffmpegdec_chain (GstPad * pad, GstBuffer * inbuf) | ||
6512 | +{ | ||
6513 | + GstFFMpegDec *ffmpegdec; | ||
6514 | + GstFFMpegDecClass *oclass; | ||
6515 | + guint8 *data, *bdata; | ||
6516 | + gint size, bsize, len, have_data; | ||
6517 | + GstFlowReturn ret = GST_FLOW_OK; | ||
6518 | + GstClockTime in_timestamp; | ||
6519 | + GstClockTime in_duration; | ||
6520 | + gboolean discont; | ||
6521 | + gint64 in_offset; | ||
6522 | + const GstTSInfo *in_info; | ||
6523 | + const GstTSInfo *dec_info; | ||
6524 | + | ||
6525 | + ffmpegdec = (GstFFMpegDec *) (GST_PAD_PARENT (pad)); | ||
6526 | + | ||
6527 | + if (G_UNLIKELY (!ffmpegdec->opened)) | ||
6528 | + goto not_negotiated; | ||
6529 | + | ||
6530 | + discont = GST_BUFFER_IS_DISCONT (inbuf); | ||
6531 | + | ||
6532 | + /* The discont flags marks a buffer that is not continuous with the previous | ||
6533 | + * buffer. This means we need to clear whatever data we currently have. We | ||
6534 | + * currently also wait for a new keyframe, which might be suboptimal in the | ||
6535 | + * case of a network error, better show the errors than to drop all data.. */ | ||
6536 | + if (G_UNLIKELY (discont)) { | ||
6537 | + GST_DEBUG_OBJECT (ffmpegdec, "received DISCONT"); | ||
6538 | + /* drain what we have queued */ | ||
6539 | + gst_ffmpegdec_drain (ffmpegdec); | ||
6540 | + gst_ffmpegdec_flush_pcache (ffmpegdec); | ||
6541 | + avcodec_flush_buffers (ffmpegdec->context); | ||
6542 | + ffmpegdec->discont = TRUE; | ||
6543 | + gst_ffmpegdec_reset_ts (ffmpegdec); | ||
6544 | + } | ||
6545 | + /* by default we clear the input timestamp after decoding each frame so that | ||
6546 | + * interpollation can work. */ | ||
6547 | + ffmpegdec->clear_ts = TRUE; | ||
6548 | + | ||
6549 | + oclass = (GstFFMpegDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); | ||
6550 | + | ||
6551 | + /* parse cache joining. If there is cached data */ | ||
6552 | + if (ffmpegdec->pcache) { | ||
6553 | + /* join with previous data */ | ||
6554 | + GST_LOG_OBJECT (ffmpegdec, "join parse cache"); | ||
6555 | + inbuf = gst_buffer_join (ffmpegdec->pcache, inbuf); | ||
6556 | + /* no more cached data, we assume we can consume the complete cache */ | ||
6557 | + ffmpegdec->pcache = NULL; | ||
6558 | + } | ||
6559 | + | ||
6560 | + in_timestamp = GST_BUFFER_TIMESTAMP (inbuf); | ||
6561 | + in_duration = GST_BUFFER_DURATION (inbuf); | ||
6562 | + in_offset = GST_BUFFER_OFFSET (inbuf); | ||
6563 | + | ||
6564 | + /* get handle to timestamp info, we can pass this around to ffmpeg */ | ||
6565 | + in_info = gst_ts_info_store (ffmpegdec, in_timestamp, in_duration, in_offset); | ||
6566 | + | ||
6567 | + if (in_timestamp != -1) { | ||
6568 | + /* check for increasing timestamps if they are jumping backwards, we | ||
6569 | + * probably are dealing with PTS as timestamps */ | ||
6570 | + if (!ffmpegdec->reordered_in && ffmpegdec->last_in != -1) { | ||
6571 | + if (in_timestamp < ffmpegdec->last_in) { | ||
6572 | + GST_LOG_OBJECT (ffmpegdec, "detected reordered input timestamps"); | ||
6573 | + ffmpegdec->reordered_in = TRUE; | ||
6574 | + ffmpegdec->last_diff = GST_CLOCK_TIME_NONE; | ||
6575 | + } else if (in_timestamp > ffmpegdec->last_in) { | ||
6576 | + GstClockTime diff; | ||
6577 | + /* keep track of timestamp diff to estimate duration */ | ||
6578 | + diff = in_timestamp - ffmpegdec->last_in; | ||
6579 | + /* need to scale with amount of frames in the interval */ | ||
6580 | + if (ffmpegdec->last_frames) | ||
6581 | + diff /= ffmpegdec->last_frames; | ||
6582 | + | ||
6583 | + GST_LOG_OBJECT (ffmpegdec, "estimated duration %" GST_TIME_FORMAT " %u", | ||
6584 | + GST_TIME_ARGS (diff), ffmpegdec->last_frames); | ||
6585 | + | ||
6586 | + ffmpegdec->last_diff = diff; | ||
6587 | + } | ||
6588 | + } | ||
6589 | + ffmpegdec->last_in = in_timestamp; | ||
6590 | + ffmpegdec->last_frames = 0; | ||
6591 | + } | ||
6592 | + | ||
6593 | + GST_LOG_OBJECT (ffmpegdec, | ||
6594 | + "Received new data of size %u, offset:%" G_GUINT64_FORMAT ", ts:%" | ||
6595 | + GST_TIME_FORMAT ", dur:%" GST_TIME_FORMAT ", info %d", | ||
6596 | + GST_BUFFER_SIZE (inbuf), GST_BUFFER_OFFSET (inbuf), | ||
6597 | + GST_TIME_ARGS (in_timestamp), GST_TIME_ARGS (in_duration), in_info->idx); | ||
6598 | + | ||
6599 | + /* workarounds, functions write to buffers: | ||
6600 | + * libavcodec/svq1.c:svq1_decode_frame writes to the given buffer. | ||
6601 | + * libavcodec/svq3.c:svq3_decode_slice_header too. | ||
6602 | + * ffmpeg devs know about it and will fix it (they said). */ | ||
6603 | + if (oclass->in_plugin->id == CODEC_ID_SVQ1 || | ||
6604 | + oclass->in_plugin->id == CODEC_ID_SVQ3) { | ||
6605 | + inbuf = gst_buffer_make_writable (inbuf); | ||
6606 | + } | ||
6607 | + | ||
6608 | + bdata = GST_BUFFER_DATA (inbuf); | ||
6609 | + bsize = GST_BUFFER_SIZE (inbuf); | ||
6610 | + | ||
6611 | + if (ffmpegdec->do_padding) { | ||
6612 | + /* add padding */ | ||
6613 | + if (ffmpegdec->padded_size < bsize + FF_INPUT_BUFFER_PADDING_SIZE) { | ||
6614 | + ffmpegdec->padded_size = bsize + FF_INPUT_BUFFER_PADDING_SIZE; | ||
6615 | + ffmpegdec->padded = g_realloc (ffmpegdec->padded, ffmpegdec->padded_size); | ||
6616 | + GST_LOG_OBJECT (ffmpegdec, "resized padding buffer to %d", | ||
6617 | + ffmpegdec->padded_size); | ||
6618 | + } | ||
6619 | + memcpy (ffmpegdec->padded, bdata, bsize); | ||
6620 | + memset (ffmpegdec->padded + bsize, 0, FF_INPUT_BUFFER_PADDING_SIZE); | ||
6621 | + | ||
6622 | + bdata = ffmpegdec->padded; | ||
6623 | + } | ||
6624 | + | ||
6625 | + do { | ||
6626 | + guint8 tmp_padding[FF_INPUT_BUFFER_PADDING_SIZE]; | ||
6627 | + | ||
6628 | + /* parse, if at all possible */ | ||
6629 | + if (ffmpegdec->pctx) { | ||
6630 | + gint res; | ||
6631 | + | ||
6632 | + GST_LOG_OBJECT (ffmpegdec, | ||
6633 | + "Calling av_parser_parse2 with offset %" G_GINT64_FORMAT ", ts:%" | ||
6634 | + GST_TIME_FORMAT " size %d", in_offset, GST_TIME_ARGS (in_timestamp), | ||
6635 | + bsize); | ||
6636 | + | ||
6637 | + /* feed the parser. We pass the timestamp info so that we can recover all | ||
6638 | + * info again later */ | ||
6639 | + res = av_parser_parse2 (ffmpegdec->pctx, ffmpegdec->context, | ||
6640 | + &data, &size, bdata, bsize, in_info->idx, in_info->idx, in_offset); | ||
6641 | + | ||
6642 | + GST_LOG_OBJECT (ffmpegdec, | ||
6643 | + "parser returned res %d and size %d, id %" G_GINT64_FORMAT, res, size, | ||
6644 | + ffmpegdec->pctx->pts); | ||
6645 | + | ||
6646 | + /* store pts for decoding */ | ||
6647 | + if (ffmpegdec->pctx->pts != AV_NOPTS_VALUE && ffmpegdec->pctx->pts != -1) | ||
6648 | + dec_info = gst_ts_info_get (ffmpegdec, ffmpegdec->pctx->pts); | ||
6649 | + else { | ||
6650 | + /* ffmpeg sometimes loses track after a flush, help it by feeding a | ||
6651 | + * valid start time */ | ||
6652 | + ffmpegdec->pctx->pts = in_info->idx; | ||
6653 | + ffmpegdec->pctx->dts = in_info->idx; | ||
6654 | + dec_info = in_info; | ||
6655 | + } | ||
6656 | + | ||
6657 | + GST_LOG_OBJECT (ffmpegdec, "consuming %d bytes. id %d", size, | ||
6658 | + dec_info->idx); | ||
6659 | + | ||
6660 | + if (res) { | ||
6661 | + /* there is output, set pointers for next round. */ | ||
6662 | + bsize -= res; | ||
6663 | + bdata += res; | ||
6664 | + } else { | ||
6665 | + /* Parser did not consume any data, make sure we don't clear the | ||
6666 | + * timestamp for the next round */ | ||
6667 | + ffmpegdec->clear_ts = FALSE; | ||
6668 | + } | ||
6669 | + | ||
6670 | + /* if there is no output, we must break and wait for more data. also the | ||
6671 | + * timestamp in the context is not updated. */ | ||
6672 | + if (size == 0) { | ||
6673 | + if (bsize > 0) | ||
6674 | + continue; | ||
6675 | + else | ||
6676 | + break; | ||
6677 | + } | ||
6678 | + } else { | ||
6679 | + data = bdata; | ||
6680 | + size = bsize; | ||
6681 | + | ||
6682 | + dec_info = in_info; | ||
6683 | + } | ||
6684 | + | ||
6685 | + if (ffmpegdec->do_padding) { | ||
6686 | + /* add temporary padding */ | ||
6687 | + memcpy (tmp_padding, data + size, FF_INPUT_BUFFER_PADDING_SIZE); | ||
6688 | + memset (data + size, 0, FF_INPUT_BUFFER_PADDING_SIZE); | ||
6689 | + } | ||
6690 | + | ||
6691 | + /* decode a frame of audio/video now */ | ||
6692 | + len = | ||
6693 | + gst_ffmpegdec_frame (ffmpegdec, data, size, &have_data, dec_info, &ret); | ||
6694 | + | ||
6695 | + if (ffmpegdec->do_padding) { | ||
6696 | + memcpy (data + size, tmp_padding, FF_INPUT_BUFFER_PADDING_SIZE); | ||
6697 | + } | ||
6698 | + | ||
6699 | + if (ret != GST_FLOW_OK) { | ||
6700 | + GST_LOG_OBJECT (ffmpegdec, "breaking because of flow ret %s", | ||
6701 | + gst_flow_get_name (ret)); | ||
6702 | + /* bad flow retun, make sure we discard all data and exit */ | ||
6703 | + bsize = 0; | ||
6704 | + break; | ||
6705 | + } | ||
6706 | + if (!ffmpegdec->pctx) { | ||
6707 | + if (len == 0 && !have_data) { | ||
6708 | + /* nothing was decoded, this could be because no data was available or | ||
6709 | + * because we were skipping frames. | ||
6710 | + * If we have no context we must exit and wait for more data, we keep the | ||
6711 | + * data we tried. */ | ||
6712 | + GST_LOG_OBJECT (ffmpegdec, "Decoding didn't return any data, breaking"); | ||
6713 | + break; | ||
6714 | + } else if (len < 0) { | ||
6715 | + /* a decoding error happened, we must break and try again with next data. */ | ||
6716 | + GST_LOG_OBJECT (ffmpegdec, "Decoding error, breaking"); | ||
6717 | + bsize = 0; | ||
6718 | + break; | ||
6719 | + } | ||
6720 | + /* prepare for the next round, for codecs with a context we did this | ||
6721 | + * already when using the parser. */ | ||
6722 | + bsize -= len; | ||
6723 | + bdata += len; | ||
6724 | + } else { | ||
6725 | + if (len == 0) { | ||
6726 | + /* nothing was decoded, this could be because no data was available or | ||
6727 | + * because we were skipping frames. Since we have a parser we can | ||
6728 | + * continue with the next frame */ | ||
6729 | + GST_LOG_OBJECT (ffmpegdec, | ||
6730 | + "Decoding didn't return any data, trying next"); | ||
6731 | + } else if (len < 0) { | ||
6732 | + /* we have a context that will bring us to the next frame */ | ||
6733 | + GST_LOG_OBJECT (ffmpegdec, "Decoding error, trying next"); | ||
6734 | + } | ||
6735 | + } | ||
6736 | + | ||
6737 | + /* make sure we don't use the same old timestamp for the next frame and let | ||
6738 | + * the interpollation take care of it. */ | ||
6739 | + if (ffmpegdec->clear_ts) { | ||
6740 | + in_timestamp = GST_CLOCK_TIME_NONE; | ||
6741 | + in_duration = GST_CLOCK_TIME_NONE; | ||
6742 | + in_offset = GST_BUFFER_OFFSET_NONE; | ||
6743 | + in_info = GST_TS_INFO_NONE; | ||
6744 | + } else { | ||
6745 | + ffmpegdec->clear_ts = TRUE; | ||
6746 | + } | ||
6747 | + ffmpegdec->last_frames++; | ||
6748 | + | ||
6749 | + GST_LOG_OBJECT (ffmpegdec, "Before (while bsize>0). bsize:%d , bdata:%p", | ||
6750 | + bsize, bdata); | ||
6751 | + } while (bsize > 0); | ||
6752 | + | ||
6753 | + /* keep left-over */ | ||
6754 | + if (ffmpegdec->pctx && bsize > 0) { | ||
6755 | + in_timestamp = GST_BUFFER_TIMESTAMP (inbuf); | ||
6756 | + in_offset = GST_BUFFER_OFFSET (inbuf); | ||
6757 | + | ||
6758 | + GST_LOG_OBJECT (ffmpegdec, | ||
6759 | + "Keeping %d bytes of data with offset %" G_GINT64_FORMAT ", timestamp %" | ||
6760 | + GST_TIME_FORMAT, bsize, in_offset, GST_TIME_ARGS (in_timestamp)); | ||
6761 | + | ||
6762 | + ffmpegdec->pcache = gst_buffer_create_sub (inbuf, | ||
6763 | + GST_BUFFER_SIZE (inbuf) - bsize, bsize); | ||
6764 | + /* we keep timestamp, even though all we really know is that the correct | ||
6765 | + * timestamp is not below the one from inbuf */ | ||
6766 | + GST_BUFFER_TIMESTAMP (ffmpegdec->pcache) = in_timestamp; | ||
6767 | + GST_BUFFER_OFFSET (ffmpegdec->pcache) = in_offset; | ||
6768 | + } else if (bsize > 0) { | ||
6769 | + GST_DEBUG_OBJECT (ffmpegdec, "Dropping %d bytes of data", bsize); | ||
6770 | + } | ||
6771 | + gst_buffer_unref (inbuf); | ||
6772 | + | ||
6773 | + return ret; | ||
6774 | + | ||
6775 | + /* ERRORS */ | ||
6776 | +not_negotiated: | ||
6777 | + { | ||
6778 | + oclass = (GstFFMpegDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); | ||
6779 | + GST_ELEMENT_ERROR (ffmpegdec, CORE, NEGOTIATION, (NULL), | ||
6780 | + ("ffdec_%s: input format was not set before data start", | ||
6781 | + oclass->in_plugin->name)); | ||
6782 | + gst_buffer_unref (inbuf); | ||
6783 | + return GST_FLOW_NOT_NEGOTIATED; | ||
6784 | + } | ||
6785 | +} | ||
6786 | + | ||
6787 | +static GstStateChangeReturn | ||
6788 | +gst_ffmpegdec_change_state (GstElement * element, GstStateChange transition) | ||
6789 | +{ | ||
6790 | + GstFFMpegDec *ffmpegdec = (GstFFMpegDec *) element; | ||
6791 | + GstStateChangeReturn ret; | ||
6792 | + | ||
6793 | + ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition); | ||
6794 | + | ||
6795 | + switch (transition) { | ||
6796 | + case GST_STATE_CHANGE_PAUSED_TO_READY: | ||
6797 | + GST_OBJECT_LOCK (ffmpegdec); | ||
6798 | + gst_ffmpegdec_close (ffmpegdec); | ||
6799 | + GST_OBJECT_UNLOCK (ffmpegdec); | ||
6800 | + clear_queued (ffmpegdec); | ||
6801 | + g_free (ffmpegdec->padded); | ||
6802 | + ffmpegdec->padded = NULL; | ||
6803 | + ffmpegdec->padded_size = 0; | ||
6804 | + ffmpegdec->can_allocate_aligned = TRUE; | ||
6805 | + break; | ||
6806 | + default: | ||
6807 | + break; | ||
6808 | + } | ||
6809 | + | ||
6810 | + return ret; | ||
6811 | +} | ||
6812 | + | ||
6813 | +static void | ||
6814 | +gst_ffmpegdec_set_property (GObject * object, | ||
6815 | + guint prop_id, const GValue * value, GParamSpec * pspec) | ||
6816 | +{ | ||
6817 | + GstFFMpegDec *ffmpegdec = (GstFFMpegDec *) object; | ||
6818 | + | ||
6819 | + switch (prop_id) { | ||
6820 | + case PROP_LOWRES: | ||
6821 | + ffmpegdec->lowres = ffmpegdec->context->lowres = g_value_get_enum (value); | ||
6822 | + break; | ||
6823 | + case PROP_SKIPFRAME: | ||
6824 | + ffmpegdec->skip_frame = ffmpegdec->context->skip_frame = | ||
6825 | + g_value_get_enum (value); | ||
6826 | + break; | ||
6827 | + case PROP_DIRECT_RENDERING: | ||
6828 | + ffmpegdec->direct_rendering = g_value_get_boolean (value); | ||
6829 | + break; | ||
6830 | + case PROP_DO_PADDING: | ||
6831 | + ffmpegdec->do_padding = g_value_get_boolean (value); | ||
6832 | + break; | ||
6833 | + case PROP_DEBUG_MV: | ||
6834 | + ffmpegdec->debug_mv = ffmpegdec->context->debug_mv = | ||
6835 | + g_value_get_boolean (value); | ||
6836 | + break; | ||
6837 | + case PROP_CROP: | ||
6838 | + ffmpegdec->crop = g_value_get_boolean (value); | ||
6839 | + break; | ||
6840 | + case PROP_MAX_THREADS: | ||
6841 | + ffmpegdec->max_threads = g_value_get_int (value); | ||
6842 | + break; | ||
6843 | + default: | ||
6844 | + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); | ||
6845 | + break; | ||
6846 | + } | ||
6847 | +} | ||
6848 | + | ||
6849 | +static void | ||
6850 | +gst_ffmpegdec_get_property (GObject * object, | ||
6851 | + guint prop_id, GValue * value, GParamSpec * pspec) | ||
6852 | +{ | ||
6853 | + GstFFMpegDec *ffmpegdec = (GstFFMpegDec *) object; | ||
6854 | + | ||
6855 | + switch (prop_id) { | ||
6856 | + case PROP_LOWRES: | ||
6857 | + g_value_set_enum (value, ffmpegdec->context->lowres); | ||
6858 | + break; | ||
6859 | + case PROP_SKIPFRAME: | ||
6860 | + g_value_set_enum (value, ffmpegdec->context->skip_frame); | ||
6861 | + break; | ||
6862 | + case PROP_DIRECT_RENDERING: | ||
6863 | + g_value_set_boolean (value, ffmpegdec->direct_rendering); | ||
6864 | + break; | ||
6865 | + case PROP_DO_PADDING: | ||
6866 | + g_value_set_boolean (value, ffmpegdec->do_padding); | ||
6867 | + break; | ||
6868 | + case PROP_DEBUG_MV: | ||
6869 | + g_value_set_boolean (value, ffmpegdec->context->debug_mv); | ||
6870 | + break; | ||
6871 | + case PROP_CROP: | ||
6872 | + g_value_set_boolean (value, ffmpegdec->crop); | ||
6873 | + break; | ||
6874 | + case PROP_MAX_THREADS: | ||
6875 | + g_value_set_int (value, ffmpegdec->max_threads); | ||
6876 | + break; | ||
6877 | + default: | ||
6878 | + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); | ||
6879 | + break; | ||
6880 | + } | ||
6881 | +} | ||
6882 | + | ||
6883 | +gboolean | ||
6884 | +gst_ffmpegdec_register (GstPlugin * plugin) | ||
6885 | +{ | ||
6886 | + GTypeInfo typeinfo = { | ||
6887 | + sizeof (GstFFMpegDecClass), | ||
6888 | + (GBaseInitFunc) gst_ffmpegdec_base_init, | ||
6889 | + NULL, | ||
6890 | + (GClassInitFunc) gst_ffmpegdec_class_init, | ||
6891 | + NULL, | ||
6892 | + NULL, | ||
6893 | + sizeof (GstFFMpegDec), | ||
6894 | + 0, | ||
6895 | + (GInstanceInitFunc) gst_ffmpegdec_init, | ||
6896 | + }; | ||
6897 | + GType type; | ||
6898 | + AVCodec *in_plugin; | ||
6899 | + gint rank; | ||
6900 | + | ||
6901 | + in_plugin = av_codec_next (NULL); | ||
6902 | + | ||
6903 | + GST_LOG ("Registering decoders"); | ||
6904 | + | ||
6905 | + while (in_plugin) { | ||
6906 | + gchar *type_name; | ||
6907 | + gchar *plugin_name; | ||
6908 | + | ||
6909 | + /* only decoders */ | ||
6910 | + if (!in_plugin->decode) { | ||
6911 | + goto next; | ||
6912 | + } | ||
6913 | + | ||
6914 | + /* no quasi-codecs, please */ | ||
6915 | + if (in_plugin->id == CODEC_ID_RAWVIDEO || | ||
6916 | + in_plugin->id == CODEC_ID_V210 || | ||
6917 | + in_plugin->id == CODEC_ID_V210X || | ||
6918 | + in_plugin->id == CODEC_ID_R210 || | ||
6919 | + (in_plugin->id >= CODEC_ID_PCM_S16LE && | ||
6920 | + in_plugin->id <= CODEC_ID_PCM_BLURAY)) { | ||
6921 | + goto next; | ||
6922 | + } | ||
6923 | + | ||
6924 | + /* No decoders depending on external libraries (we don't build them, but | ||
6925 | + * people who build against an external ffmpeg might have them. | ||
6926 | + * We have native gstreamer plugins for all of those libraries anyway. */ | ||
6927 | + if (!strncmp (in_plugin->name, "lib", 3)) { | ||
6928 | + GST_DEBUG | ||
6929 | + ("Not using external library decoder %s. Use the gstreamer-native ones instead.", | ||
6930 | + in_plugin->name); | ||
6931 | + goto next; | ||
6932 | + } | ||
6933 | + | ||
6934 | + /* No vdpau plugins until we can figure out how to properly use them | ||
6935 | + * outside of ffmpeg. */ | ||
6936 | + if (g_str_has_suffix (in_plugin->name, "_vdpau")) { | ||
6937 | + GST_DEBUG | ||
6938 | + ("Ignoring VDPAU decoder %s. We can't handle this outside of ffmpeg", | ||
6939 | + in_plugin->name); | ||
6940 | + goto next; | ||
6941 | + } | ||
6942 | + | ||
6943 | + if (g_str_has_suffix (in_plugin->name, "_xvmc")) { | ||
6944 | + GST_DEBUG | ||
6945 | + ("Ignoring XVMC decoder %s. We can't handle this outside of ffmpeg", | ||
6946 | + in_plugin->name); | ||
6947 | + goto next; | ||
6948 | + } | ||
6949 | + | ||
6950 | + GST_DEBUG ("Trying plugin %s [%s]", in_plugin->name, in_plugin->long_name); | ||
6951 | + | ||
6952 | + /* no codecs for which we're GUARANTEED to have better alternatives */ | ||
6953 | + /* MPEG1VIDEO : the mpeg2video decoder is preferred */ | ||
6954 | + /* MP1 : Use MP3 for decoding */ | ||
6955 | + /* MP2 : Use MP3 for decoding */ | ||
6956 | + /* Theora: Use libtheora based theoradec */ | ||
6957 | + if (!strcmp (in_plugin->name, "gif") || | ||
6958 | + !strcmp (in_plugin->name, "vorbis") || | ||
6959 | + !strcmp (in_plugin->name, "theora") || | ||
6960 | + !strcmp (in_plugin->name, "mpeg1video") || | ||
6961 | + !strcmp (in_plugin->name, "wavpack") || | ||
6962 | + !strcmp (in_plugin->name, "mp1") || | ||
6963 | + !strcmp (in_plugin->name, "mp2") || | ||
6964 | + !strcmp (in_plugin->name, "libfaad") || | ||
6965 | + !strcmp (in_plugin->name, "mpeg4aac") || | ||
6966 | + !strcmp (in_plugin->name, "ass") || | ||
6967 | + !strcmp (in_plugin->name, "srt") || | ||
6968 | + !strcmp (in_plugin->name, "pgssub") || | ||
6969 | + !strcmp (in_plugin->name, "dvdsub") || | ||
6970 | + !strcmp (in_plugin->name, "dvbsub")) { | ||
6971 | + GST_LOG ("Ignoring decoder %s", in_plugin->name); | ||
6972 | + goto next; | ||
6973 | + } | ||
6974 | + | ||
6975 | + /* construct the type */ | ||
6976 | + plugin_name = g_strdup ((gchar *) in_plugin->name); | ||
6977 | + g_strdelimit (plugin_name, NULL, '_'); | ||
6978 | + type_name = g_strdup_printf ("ffdec_%s", plugin_name); | ||
6979 | + g_free (plugin_name); | ||
6980 | + | ||
6981 | + type = g_type_from_name (type_name); | ||
6982 | + | ||
6983 | + if (!type) { | ||
6984 | + /* create the gtype now */ | ||
6985 | + type = g_type_register_static (GST_TYPE_ELEMENT, type_name, &typeinfo, 0); | ||
6986 | + g_type_set_qdata (type, GST_FFDEC_PARAMS_QDATA, (gpointer) in_plugin); | ||
6987 | + } | ||
6988 | + | ||
6989 | + /* (Ronald) MPEG-4 gets a higher priority because it has been well- | ||
6990 | + * tested and by far outperforms divxdec/xviddec - so we prefer it. | ||
6991 | + * msmpeg4v3 same, as it outperforms divxdec for divx3 playback. | ||
6992 | + * VC1/WMV3 are not working and thus unpreferred for now. */ | ||
6993 | + switch (in_plugin->id) { | ||
6994 | + case CODEC_ID_MPEG4: | ||
6995 | + case CODEC_ID_MSMPEG4V3: | ||
6996 | + case CODEC_ID_H264: | ||
6997 | + case CODEC_ID_RA_144: | ||
6998 | + case CODEC_ID_RA_288: | ||
6999 | + case CODEC_ID_RV10: | ||
7000 | + case CODEC_ID_RV20: | ||
7001 | + case CODEC_ID_RV30: | ||
7002 | + case CODEC_ID_RV40: | ||
7003 | + case CODEC_ID_COOK: | ||
7004 | + rank = GST_RANK_SECONDARY; | ||
7005 | + break; | ||
7006 | + /* DVVIDEO: we have a good dv decoder, fast on both ppc as well as x86. | ||
7007 | + * They say libdv's quality is better though. leave as secondary. | ||
7008 | + * note: if you change this, see the code in gstdv.c in good/ext/dv. | ||
7009 | + * | ||
7010 | + * SIPR: decoder should have a higher rank than realaudiodec. | ||
7011 | + */ | ||
7012 | + case CODEC_ID_DVVIDEO: | ||
7013 | + case CODEC_ID_SIPR: | ||
7014 | + rank = GST_RANK_SECONDARY; | ||
7015 | + break; | ||
7016 | + case CODEC_ID_MP3: | ||
7017 | + rank = GST_RANK_NONE; | ||
7018 | + break; | ||
7019 | + /* TEMPORARILY DISABLING AC3/EAC3/DTS for 0.10.12 release | ||
7020 | + * due to downmixing failure. | ||
7021 | + * See Bug #608892 for more details */ | ||
7022 | + case CODEC_ID_EAC3: | ||
7023 | + case CODEC_ID_AC3: | ||
7024 | + case CODEC_ID_DTS: | ||
7025 | + rank = GST_RANK_NONE; | ||
7026 | + break; | ||
7027 | + default: | ||
7028 | + rank = GST_RANK_MARGINAL; | ||
7029 | + break; | ||
7030 | + } | ||
7031 | + if (!gst_element_register (plugin, type_name, rank, type)) { | ||
7032 | + g_warning ("Failed to register %s", type_name); | ||
7033 | + g_free (type_name); | ||
7034 | + return FALSE; | ||
7035 | + } | ||
7036 | + | ||
7037 | + g_free (type_name); | ||
7038 | + | ||
7039 | + next: | ||
7040 | + in_plugin = av_codec_next (in_plugin); | ||
7041 | + } | ||
7042 | + | ||
7043 | + GST_LOG ("Finished Registering decoders"); | ||
7044 | + | ||
7045 | + return TRUE; | ||
7046 | +} | ||
7047 | diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegdec.c.rej gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegdec.c.rej | ||
7048 | --- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegdec.c.rej 1970-01-01 01:00:00.000000000 +0100 | ||
7049 | +++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegdec.c.rej 2014-08-08 15:26:38.471858652 +0200 | ||
7050 | @@ -0,0 +1,11 @@ | ||
7051 | +--- ext/ffmpeg/gstffmpegdec.c | ||
7052 | ++++ ext/ffmpeg/gstffmpegdec.c | ||
7053 | +@@ -1565,7 +1564,7 @@ | ||
7054 | + gst_message_new_latency (GST_OBJECT_CAST (ffmpegdec))); | ||
7055 | + } | ||
7056 | + | ||
7057 | +- is_itype = (ffmpegdec->picture->pict_type == FF_I_TYPE); | ||
7058 | ++ is_itype = (ffmpegdec->picture->pict_type == AV_PICTURE_TYPE_I); | ||
7059 | + is_reference = (ffmpegdec->picture->reference == 1); | ||
7060 | + | ||
7061 | + iskeyframe = (is_itype || is_reference || ffmpegdec->picture->key_frame) | ||
7062 | diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegdemux.c gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegdemux.c | ||
7063 | --- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegdemux.c 2011-07-13 11:07:28.000000000 +0200 | ||
7064 | +++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegdemux.c 2014-08-08 15:26:07.874857555 +0200 | ||
7065 | @@ -343,8 +343,11 @@ | ||
7066 | demux->audiopads = 0; | ||
7067 | |||
7068 | /* close demuxer context from ffmpeg */ | ||
7069 | - av_close_input_file (demux->context); | ||
7070 | - demux->context = NULL; | ||
7071 | + if (demux->seekable) | ||
7072 | + gst_ffmpegdata_close (demux->context->pb); | ||
7073 | + else | ||
7074 | + gst_ffmpeg_pipe_close (demux->context->pb); | ||
7075 | + avformat_close_input (&demux->context); | ||
7076 | |||
7077 | GST_OBJECT_LOCK (demux); | ||
7078 | demux->opened = FALSE; | ||
7079 | @@ -1146,9 +1149,9 @@ | ||
7080 | static gboolean | ||
7081 | gst_ffmpegdemux_open (GstFFMpegDemux * demux) | ||
7082 | { | ||
7083 | + AVIOContext *iocontext = NULL; | ||
7084 | GstFFMpegDemuxClass *oclass = | ||
7085 | (GstFFMpegDemuxClass *) G_OBJECT_GET_CLASS (demux); | ||
7086 | - gchar *location; | ||
7087 | gint res, n_streams, i; | ||
7088 | #if 0 | ||
7089 | /* Re-enable once converted to new AVMetaData API | ||
7090 | @@ -1164,15 +1167,14 @@ | ||
7091 | |||
7092 | /* open via our input protocol hack */ | ||
7093 | if (demux->seekable) | ||
7094 | - location = g_strdup_printf ("gstreamer://%p", demux->sinkpad); | ||
7095 | + res = gst_ffmpegdata_open (demux->sinkpad, AVIO_FLAG_READ, &iocontext); | ||
7096 | else | ||
7097 | - location = g_strdup_printf ("gstpipe://%p", &demux->ffpipe); | ||
7098 | - GST_DEBUG_OBJECT (demux, "about to call av_open_input_file %s", location); | ||
7099 | + res = gst_ffmpeg_pipe_open (&demux->ffpipe, AVIO_FLAG_READ, &iocontext); | ||
7100 | |||
7101 | - res = av_open_input_file (&demux->context, location, | ||
7102 | - oclass->in_plugin, 0, NULL); | ||
7103 | + demux->context = avformat_alloc_context (); | ||
7104 | + demux->context->pb = iocontext; | ||
7105 | + res = avformat_open_input (&demux->context, NULL, oclass->in_plugin, NULL); | ||
7106 | |||
7107 | - g_free (location); | ||
7108 | GST_DEBUG_OBJECT (demux, "av_open_input returned %d", res); | ||
7109 | if (res < 0) | ||
7110 | goto open_failed; | ||
7111 | diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegenc.c gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegenc.c | ||
7112 | --- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegenc.c 2011-10-31 11:14:03.000000000 +0100 | ||
7113 | +++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegenc.c 2014-08-08 15:32:18.608870847 +0200 | ||
7114 | @@ -770,7 +770,7 @@ | ||
7115 | GST_OBJECT_UNLOCK (ffmpegenc); | ||
7116 | |||
7117 | if (force_keyframe) | ||
7118 | - ffmpegenc->picture->pict_type = FF_I_TYPE; | ||
7119 | + ffmpegenc->picture->pict_type = AV_PICTURE_TYPE_I; | ||
7120 | |||
7121 | frame_size = gst_ffmpeg_avpicture_fill ((AVPicture *) ffmpegenc->picture, | ||
7122 | GST_BUFFER_DATA (inbuf), | ||
7123 | @@ -1136,7 +1136,7 @@ | ||
7124 | const GstStructure *s; | ||
7125 | s = gst_event_get_structure (event); | ||
7126 | if (gst_structure_has_name (s, "GstForceKeyUnit")) { | ||
7127 | - ffmpegenc->picture->pict_type = FF_I_TYPE; | ||
7128 | + ffmpegenc->picture->pict_type = AV_PICTURE_TYPE_I; | ||
7129 | } | ||
7130 | break; | ||
7131 | } | ||
7132 | @@ -1339,7 +1339,7 @@ | ||
7133 | } | ||
7134 | |||
7135 | /* only encoders */ | ||
7136 | - if (!in_plugin->encode) { | ||
7137 | + if (!av_codec_is_encoder (in_plugin)) { | ||
7138 | goto next; | ||
7139 | } | ||
7140 | |||
7141 | diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegmux.c gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegmux.c | ||
7142 | --- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegmux.c 2011-07-13 11:07:28.000000000 +0200 | ||
7143 | +++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegmux.c 2014-08-08 15:26:07.874857555 +0200 | ||
7144 | @@ -24,8 +24,10 @@ | ||
7145 | #include <string.h> | ||
7146 | #ifdef HAVE_FFMPEG_UNINSTALLED | ||
7147 | #include <avformat.h> | ||
7148 | +#include <opt.h> | ||
7149 | #else | ||
7150 | #include <libavformat/avformat.h> | ||
7151 | +#include <libavutil/opt.h> | ||
7152 | #endif | ||
7153 | |||
7154 | #include <gst/gst.h> | ||
7155 | @@ -336,9 +338,6 @@ | ||
7156 | ffmpegmux->context = g_new0 (AVFormatContext, 1); | ||
7157 | ffmpegmux->context->oformat = oclass->in_plugin; | ||
7158 | ffmpegmux->context->nb_streams = 0; | ||
7159 | - g_snprintf (ffmpegmux->context->filename, | ||
7160 | - sizeof (ffmpegmux->context->filename), | ||
7161 | - "gstreamer://%p", ffmpegmux->srcpad); | ||
7162 | ffmpegmux->opened = FALSE; | ||
7163 | |||
7164 | ffmpegmux->videopads = 0; | ||
7165 | @@ -450,10 +449,10 @@ | ||
7166 | gst_element_add_pad (element, pad); | ||
7167 | |||
7168 | /* AVStream needs to be created */ | ||
7169 | - st = av_new_stream (ffmpegmux->context, collect_pad->padnum); | ||
7170 | + st = avformat_new_stream (ffmpegmux->context, NULL); | ||
7171 | + st->id = collect_pad->padnum; | ||
7172 | st->codec->codec_type = type; | ||
7173 | st->codec->codec_id = CODEC_ID_NONE; /* this is a check afterwards */ | ||
7174 | - st->stream_copy = 1; /* we're not the actual encoder */ | ||
7175 | st->codec->bit_rate = bitrate; | ||
7176 | st->codec->frame_size = framesize; | ||
7177 | /* we fill in codec during capsnego */ | ||
7178 | @@ -485,7 +484,7 @@ | ||
7179 | collect_pad = (GstFFMpegMuxPad *) gst_pad_get_element_private (pad); | ||
7180 | |||
7181 | st = ffmpegmux->context->streams[collect_pad->padnum]; | ||
7182 | - ffmpegmux->context->preload = ffmpegmux->preload; | ||
7183 | + av_opt_set_int (&ffmpegmux->context, "preload", ffmpegmux->preload, 0); | ||
7184 | ffmpegmux->context->max_delay = ffmpegmux->max_delay; | ||
7185 | |||
7186 | /* for the format-specific guesses, we'll go to | ||
7187 | @@ -552,7 +551,7 @@ | ||
7188 | |||
7189 | /* open "file" (gstreamer protocol to next element) */ | ||
7190 | if (!ffmpegmux->opened) { | ||
7191 | - int open_flags = URL_WRONLY; | ||
7192 | + int open_flags = AVIO_FLAG_WRITE; | ||
7193 | |||
7194 | /* we do need all streams to have started capsnego, | ||
7195 | * or things will go horribly wrong */ | ||
7196 | @@ -646,19 +645,13 @@ | ||
7197 | open_flags |= GST_FFMPEG_URL_STREAMHEADER; | ||
7198 | } | ||
7199 | |||
7200 | - if (url_fopen (&ffmpegmux->context->pb, | ||
7201 | - ffmpegmux->context->filename, open_flags) < 0) { | ||
7202 | + if (gst_ffmpegdata_open (ffmpegmux->srcpad, open_flags, | ||
7203 | + &ffmpegmux->context->pb) < 0) { | ||
7204 | GST_ELEMENT_ERROR (ffmpegmux, LIBRARY, TOO_LAZY, (NULL), | ||
7205 | ("Failed to open stream context in ffmux")); | ||
7206 | return GST_FLOW_ERROR; | ||
7207 | } | ||
7208 | |||
7209 | - if (av_set_parameters (ffmpegmux->context, NULL) < 0) { | ||
7210 | - GST_ELEMENT_ERROR (ffmpegmux, LIBRARY, INIT, (NULL), | ||
7211 | - ("Failed to initialize muxer")); | ||
7212 | - return GST_FLOW_ERROR; | ||
7213 | - } | ||
7214 | - | ||
7215 | /* now open the mux format */ | ||
7216 | if (av_write_header (ffmpegmux->context) < 0) { | ||
7217 | GST_ELEMENT_ERROR (ffmpegmux, LIBRARY, SETTINGS, (NULL), | ||
7218 | @@ -670,7 +663,7 @@ | ||
7219 | ffmpegmux->opened = TRUE; | ||
7220 | |||
7221 | /* flush the header so it will be used as streamheader */ | ||
7222 | - put_flush_packet (ffmpegmux->context->pb); | ||
7223 | + avio_flush (ffmpegmux->context->pb); | ||
7224 | } | ||
7225 | |||
7226 | /* take the one with earliest timestamp, | ||
7227 | @@ -770,8 +763,8 @@ | ||
7228 | /* close down */ | ||
7229 | av_write_trailer (ffmpegmux->context); | ||
7230 | ffmpegmux->opened = FALSE; | ||
7231 | - put_flush_packet (ffmpegmux->context->pb); | ||
7232 | - url_fclose (ffmpegmux->context->pb); | ||
7233 | + avio_flush (ffmpegmux->context->pb); | ||
7234 | + gst_ffmpegdata_close (ffmpegmux->context->pb); | ||
7235 | gst_pad_push_event (ffmpegmux->srcpad, gst_event_new_eos ()); | ||
7236 | return GST_FLOW_UNEXPECTED; | ||
7237 | } | ||
7238 | @@ -795,6 +788,10 @@ | ||
7239 | break; | ||
7240 | case GST_STATE_CHANGE_PAUSED_TO_READY: | ||
7241 | gst_collect_pads_stop (ffmpegmux->collect); | ||
7242 | + if (ffmpegmux->opened) { | ||
7243 | + ffmpegmux->opened = FALSE; | ||
7244 | + gst_ffmpegdata_close (ffmpegmux->context->pb); | ||
7245 | + } | ||
7246 | break; | ||
7247 | default: | ||
7248 | break; | ||
7249 | @@ -809,7 +806,7 @@ | ||
7250 | gst_tag_setter_reset_tags (GST_TAG_SETTER (ffmpegmux)); | ||
7251 | if (ffmpegmux->opened) { | ||
7252 | ffmpegmux->opened = FALSE; | ||
7253 | - url_fclose (ffmpegmux->context->pb); | ||
7254 | + avio_close (ffmpegmux->context->pb); | ||
7255 | } | ||
7256 | break; | ||
7257 | case GST_STATE_CHANGE_READY_TO_NULL: | ||
7258 | diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegmux.c.orig gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegmux.c.orig | ||
7259 | --- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegmux.c.orig 1970-01-01 01:00:00.000000000 +0100 | ||
7260 | +++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegmux.c.orig 2011-07-13 11:07:28.000000000 +0200 | ||
7261 | @@ -0,0 +1,970 @@ | ||
7262 | +/* GStreamer | ||
7263 | + * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu> | ||
7264 | + * | ||
7265 | + * This library is free software; you can redistribute it and/or | ||
7266 | + * modify it under the terms of the GNU Library General Public | ||
7267 | + * License as published by the Free Software Foundation; either | ||
7268 | + * version 2 of the License, or (at your option) any later version. | ||
7269 | + * | ||
7270 | + * This library is distributed in the hope that it will be useful, | ||
7271 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
7272 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
7273 | + * Library General Public License for more details. | ||
7274 | + * | ||
7275 | + * You should have received a copy of the GNU Library General Public | ||
7276 | + * License along with this library; if not, write to the | ||
7277 | + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
7278 | + * Boston, MA 02111-1307, USA. | ||
7279 | + */ | ||
7280 | + | ||
7281 | +#ifdef HAVE_CONFIG_H | ||
7282 | +#include "config.h" | ||
7283 | +#endif | ||
7284 | + | ||
7285 | +#include <string.h> | ||
7286 | +#ifdef HAVE_FFMPEG_UNINSTALLED | ||
7287 | +#include <avformat.h> | ||
7288 | +#else | ||
7289 | +#include <libavformat/avformat.h> | ||
7290 | +#endif | ||
7291 | + | ||
7292 | +#include <gst/gst.h> | ||
7293 | +#include <gst/base/gstcollectpads.h> | ||
7294 | + | ||
7295 | +#include "gstffmpeg.h" | ||
7296 | +#include "gstffmpegcodecmap.h" | ||
7297 | +#include "gstffmpegutils.h" | ||
7298 | + | ||
7299 | +typedef struct _GstFFMpegMux GstFFMpegMux; | ||
7300 | +typedef struct _GstFFMpegMuxPad GstFFMpegMuxPad; | ||
7301 | + | ||
7302 | +struct _GstFFMpegMuxPad | ||
7303 | +{ | ||
7304 | + GstCollectData collect; /* we extend the CollectData */ | ||
7305 | + | ||
7306 | + gint padnum; | ||
7307 | +}; | ||
7308 | + | ||
7309 | +struct _GstFFMpegMux | ||
7310 | +{ | ||
7311 | + GstElement element; | ||
7312 | + | ||
7313 | + GstCollectPads *collect; | ||
7314 | + /* We need to keep track of our pads, so we do so here. */ | ||
7315 | + GstPad *srcpad; | ||
7316 | + | ||
7317 | + AVFormatContext *context; | ||
7318 | + gboolean opened; | ||
7319 | + | ||
7320 | + gint videopads, audiopads; | ||
7321 | + | ||
7322 | + /*< private > */ | ||
7323 | + /* event_function is the collectpads default eventfunction */ | ||
7324 | + GstPadEventFunction event_function; | ||
7325 | + int preload; | ||
7326 | + int max_delay; | ||
7327 | +}; | ||
7328 | + | ||
7329 | +typedef struct _GstFFMpegMuxClass GstFFMpegMuxClass; | ||
7330 | + | ||
7331 | +struct _GstFFMpegMuxClass | ||
7332 | +{ | ||
7333 | + GstElementClass parent_class; | ||
7334 | + | ||
7335 | + AVOutputFormat *in_plugin; | ||
7336 | +}; | ||
7337 | + | ||
7338 | +#define GST_TYPE_FFMPEGMUX \ | ||
7339 | + (gst_ffmpegdec_get_type()) | ||
7340 | +#define GST_FFMPEGMUX(obj) \ | ||
7341 | + (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_FFMPEGMUX,GstFFMpegMux)) | ||
7342 | +#define GST_FFMPEGMUX_CLASS(klass) \ | ||
7343 | + (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_FFMPEGMUX,GstFFMpegMuxClass)) | ||
7344 | +#define GST_IS_FFMPEGMUX(obj) \ | ||
7345 | + (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_FFMPEGMUX)) | ||
7346 | +#define GST_IS_FFMPEGMUX_CLASS(klass) \ | ||
7347 | + (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_FFMPEGMUX)) | ||
7348 | + | ||
7349 | +enum | ||
7350 | +{ | ||
7351 | + /* FILL ME */ | ||
7352 | + LAST_SIGNAL | ||
7353 | +}; | ||
7354 | + | ||
7355 | +enum | ||
7356 | +{ | ||
7357 | + ARG_0, | ||
7358 | + /* FILL ME */ | ||
7359 | +}; | ||
7360 | + | ||
7361 | +enum | ||
7362 | +{ | ||
7363 | + PROP_0, | ||
7364 | + PROP_PRELOAD, | ||
7365 | + PROP_MAXDELAY | ||
7366 | +}; | ||
7367 | + | ||
7368 | +/* A number of function prototypes are given so we can refer to them later. */ | ||
7369 | +static void gst_ffmpegmux_class_init (GstFFMpegMuxClass * klass); | ||
7370 | +static void gst_ffmpegmux_base_init (gpointer g_class); | ||
7371 | +static void gst_ffmpegmux_init (GstFFMpegMux * ffmpegmux, | ||
7372 | + GstFFMpegMuxClass * g_class); | ||
7373 | +static void gst_ffmpegmux_finalize (GObject * object); | ||
7374 | + | ||
7375 | +static gboolean gst_ffmpegmux_setcaps (GstPad * pad, GstCaps * caps); | ||
7376 | +static GstPad *gst_ffmpegmux_request_new_pad (GstElement * element, | ||
7377 | + GstPadTemplate * templ, const gchar * name); | ||
7378 | +static GstFlowReturn gst_ffmpegmux_collected (GstCollectPads * pads, | ||
7379 | + gpointer user_data); | ||
7380 | + | ||
7381 | +static gboolean gst_ffmpegmux_sink_event (GstPad * pad, GstEvent * event); | ||
7382 | + | ||
7383 | +static GstStateChangeReturn gst_ffmpegmux_change_state (GstElement * element, | ||
7384 | + GstStateChange transition); | ||
7385 | + | ||
7386 | +static void gst_ffmpegmux_set_property (GObject * object, guint prop_id, | ||
7387 | + const GValue * value, GParamSpec * pspec); | ||
7388 | +static void gst_ffmpegmux_get_property (GObject * object, guint prop_id, | ||
7389 | + GValue * value, GParamSpec * pspec); | ||
7390 | + | ||
7391 | +static GstCaps *gst_ffmpegmux_get_id_caps (enum CodecID *id_list); | ||
7392 | +static void gst_ffmpeg_mux_simple_caps_set_int_list (GstCaps * caps, | ||
7393 | + const gchar * field, guint num, const gint * values); | ||
7394 | + | ||
7395 | +#define GST_FFMUX_PARAMS_QDATA g_quark_from_static_string("ffmux-params") | ||
7396 | + | ||
7397 | +static GstElementClass *parent_class = NULL; | ||
7398 | + | ||
7399 | +/*static guint gst_ffmpegmux_signals[LAST_SIGNAL] = { 0 }; */ | ||
7400 | + | ||
7401 | +typedef struct | ||
7402 | +{ | ||
7403 | + const char *name; | ||
7404 | + const char *replacement; | ||
7405 | +} GstFFMpegMuxReplacement; | ||
7406 | + | ||
7407 | +static const char * | ||
7408 | +gst_ffmpegmux_get_replacement (const char *name) | ||
7409 | +{ | ||
7410 | + static const GstFFMpegMuxReplacement blacklist[] = { | ||
7411 | + {"avi", "avimux"}, | ||
7412 | + {"matroska", "matroskamux"}, | ||
7413 | + {"mov", "qtmux"}, | ||
7414 | + {"mpegts", "mpegtsmux"}, | ||
7415 | + {"mp4", "mp4mux"}, | ||
7416 | + {"mpjpeg", "multipartmux"}, | ||
7417 | + {"ogg", "oggmux"}, | ||
7418 | + {"wav", "wavenc"}, | ||
7419 | + {"webm", "webmmux"}, | ||
7420 | + {"mxf", "mxfmux"}, | ||
7421 | + {"3gp", "gppmux"}, | ||
7422 | + {"yuv4mpegpipe", "y4menc"}, | ||
7423 | + {"aiff", "aiffmux"}, | ||
7424 | + {"adts", "aacparse"}, | ||
7425 | + {"asf", "asfmux"}, | ||
7426 | + {"asf_stream", "asfmux"}, | ||
7427 | + {"flv", "flvmux"}, | ||
7428 | + {"mp3", "id3v2mux"}, | ||
7429 | + {"mp2", "id3v2mux"} | ||
7430 | + }; | ||
7431 | + int i; | ||
7432 | + | ||
7433 | + for (i = 0; i < sizeof (blacklist) / sizeof (blacklist[0]); i++) { | ||
7434 | + if (strcmp (blacklist[i].name, name) == 0) { | ||
7435 | + return blacklist[i].replacement; | ||
7436 | + } | ||
7437 | + } | ||
7438 | + | ||
7439 | + return NULL; | ||
7440 | +} | ||
7441 | + | ||
7442 | +static gboolean | ||
7443 | +gst_ffmpegmux_is_formatter (const char *name) | ||
7444 | +{ | ||
7445 | + static const char *replace[] = { | ||
7446 | + "mp2", "mp3", NULL | ||
7447 | + }; | ||
7448 | + int i; | ||
7449 | + | ||
7450 | + for (i = 0; replace[i]; i++) | ||
7451 | + if (strcmp (replace[i], name) == 0) | ||
7452 | + return TRUE; | ||
7453 | + return FALSE; | ||
7454 | +} | ||
7455 | + | ||
7456 | +static void | ||
7457 | +gst_ffmpegmux_base_init (gpointer g_class) | ||
7458 | +{ | ||
7459 | + GstFFMpegMuxClass *klass = (GstFFMpegMuxClass *) g_class; | ||
7460 | + GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); | ||
7461 | + GstPadTemplate *videosinktempl, *audiosinktempl, *srctempl; | ||
7462 | + AVOutputFormat *in_plugin; | ||
7463 | + GstCaps *srccaps, *audiosinkcaps, *videosinkcaps; | ||
7464 | + enum CodecID *video_ids = NULL, *audio_ids = NULL; | ||
7465 | + gchar *longname, *description; | ||
7466 | + const char *replacement; | ||
7467 | + gboolean is_formatter; | ||
7468 | + | ||
7469 | + in_plugin = | ||
7470 | + (AVOutputFormat *) g_type_get_qdata (G_OBJECT_CLASS_TYPE (klass), | ||
7471 | + GST_FFMUX_PARAMS_QDATA); | ||
7472 | + g_assert (in_plugin != NULL); | ||
7473 | + | ||
7474 | + /* construct the element details struct */ | ||
7475 | + replacement = gst_ffmpegmux_get_replacement (in_plugin->name); | ||
7476 | + is_formatter = gst_ffmpegmux_is_formatter (in_plugin->name); | ||
7477 | + if (replacement != NULL) { | ||
7478 | + longname = | ||
7479 | + g_strdup_printf ("FFmpeg %s %s (not recommended, use %s instead)", | ||
7480 | + in_plugin->long_name, is_formatter ? "formatter" : "muxer", | ||
7481 | + replacement); | ||
7482 | + description = | ||
7483 | + g_strdup_printf ("FFmpeg %s %s (not recommended, use %s instead)", | ||
7484 | + in_plugin->long_name, is_formatter ? "formatter" : "muxer", | ||
7485 | + replacement); | ||
7486 | + } else { | ||
7487 | + longname = g_strdup_printf ("FFmpeg %s %s", in_plugin->long_name, | ||
7488 | + is_formatter ? "formatter" : "muxer"); | ||
7489 | + description = g_strdup_printf ("FFmpeg %s %s", in_plugin->long_name, | ||
7490 | + is_formatter ? "formatter" : "muxer"); | ||
7491 | + } | ||
7492 | + gst_element_class_set_details_simple (element_class, longname, | ||
7493 | + is_formatter ? "Formatter/Metadata" : "Codec/Muxer", description, | ||
7494 | + "Wim Taymans <wim.taymans@chello.be>, " | ||
7495 | + "Ronald Bultje <rbultje@ronald.bitfreak.net>"); | ||
7496 | + g_free (longname); | ||
7497 | + g_free (description); | ||
7498 | + | ||
7499 | + /* Try to find the caps that belongs here */ | ||
7500 | + srccaps = gst_ffmpeg_formatid_to_caps (in_plugin->name); | ||
7501 | + if (!srccaps) { | ||
7502 | + GST_DEBUG ("Couldn't get source caps for muxer '%s', skipping format", | ||
7503 | + in_plugin->name); | ||
7504 | + goto beach; | ||
7505 | + } | ||
7506 | + | ||
7507 | + if (!gst_ffmpeg_formatid_get_codecids (in_plugin->name, | ||
7508 | + &video_ids, &audio_ids, in_plugin)) { | ||
7509 | + gst_caps_unref (srccaps); | ||
7510 | + GST_DEBUG | ||
7511 | + ("Couldn't get sink caps for muxer '%s'. Most likely because no input format mapping exists.", | ||
7512 | + in_plugin->name); | ||
7513 | + goto beach; | ||
7514 | + } | ||
7515 | + | ||
7516 | + videosinkcaps = video_ids ? gst_ffmpegmux_get_id_caps (video_ids) : NULL; | ||
7517 | + audiosinkcaps = audio_ids ? gst_ffmpegmux_get_id_caps (audio_ids) : NULL; | ||
7518 | + | ||
7519 | + /* fix up allowed caps for some muxers */ | ||
7520 | + /* FIXME : This should be in gstffmpegcodecmap.c ! */ | ||
7521 | + if (strcmp (in_plugin->name, "flv") == 0) { | ||
7522 | + const gint rates[] = { 44100, 22050, 11025 }; | ||
7523 | + | ||
7524 | + gst_ffmpeg_mux_simple_caps_set_int_list (audiosinkcaps, "rate", 3, rates); | ||
7525 | + } else if (strcmp (in_plugin->name, "gif") == 0) { | ||
7526 | + if (videosinkcaps) | ||
7527 | + gst_caps_unref (videosinkcaps); | ||
7528 | + | ||
7529 | + videosinkcaps = | ||
7530 | + gst_caps_from_string ("video/x-raw-rgb, bpp=(int)24, depth=(int)24"); | ||
7531 | + } | ||
7532 | + | ||
7533 | + /* pad templates */ | ||
7534 | + srctempl = gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, srccaps); | ||
7535 | + gst_element_class_add_pad_template (element_class, srctempl); | ||
7536 | + | ||
7537 | + if (audiosinkcaps) { | ||
7538 | + audiosinktempl = gst_pad_template_new ("audio_%d", | ||
7539 | + GST_PAD_SINK, GST_PAD_REQUEST, audiosinkcaps); | ||
7540 | + gst_element_class_add_pad_template (element_class, audiosinktempl); | ||
7541 | + } | ||
7542 | + | ||
7543 | + if (videosinkcaps) { | ||
7544 | + videosinktempl = gst_pad_template_new ("video_%d", | ||
7545 | + GST_PAD_SINK, GST_PAD_REQUEST, videosinkcaps); | ||
7546 | + gst_element_class_add_pad_template (element_class, videosinktempl); | ||
7547 | + } | ||
7548 | + | ||
7549 | +beach: | ||
7550 | + klass->in_plugin = in_plugin; | ||
7551 | +} | ||
7552 | + | ||
7553 | +static void | ||
7554 | +gst_ffmpegmux_class_init (GstFFMpegMuxClass * klass) | ||
7555 | +{ | ||
7556 | + GObjectClass *gobject_class; | ||
7557 | + GstElementClass *gstelement_class; | ||
7558 | + | ||
7559 | + gobject_class = (GObjectClass *) klass; | ||
7560 | + gstelement_class = (GstElementClass *) klass; | ||
7561 | + | ||
7562 | + parent_class = g_type_class_peek_parent (klass); | ||
7563 | + | ||
7564 | + gobject_class->set_property = GST_DEBUG_FUNCPTR (gst_ffmpegmux_set_property); | ||
7565 | + gobject_class->get_property = GST_DEBUG_FUNCPTR (gst_ffmpegmux_get_property); | ||
7566 | + | ||
7567 | + g_object_class_install_property (gobject_class, PROP_PRELOAD, | ||
7568 | + g_param_spec_int ("preload", "preload", | ||
7569 | + "Set the initial demux-decode delay (in microseconds)", 0, G_MAXINT, | ||
7570 | + 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); | ||
7571 | + | ||
7572 | + g_object_class_install_property (gobject_class, PROP_MAXDELAY, | ||
7573 | + g_param_spec_int ("maxdelay", "maxdelay", | ||
7574 | + "Set the maximum demux-decode delay (in microseconds)", 0, G_MAXINT, | ||
7575 | + 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); | ||
7576 | + | ||
7577 | + gstelement_class->request_new_pad = gst_ffmpegmux_request_new_pad; | ||
7578 | + gstelement_class->change_state = gst_ffmpegmux_change_state; | ||
7579 | + gobject_class->finalize = gst_ffmpegmux_finalize; | ||
7580 | +} | ||
7581 | + | ||
7582 | +static void | ||
7583 | +gst_ffmpegmux_init (GstFFMpegMux * ffmpegmux, GstFFMpegMuxClass * g_class) | ||
7584 | +{ | ||
7585 | + GstElementClass *klass = GST_ELEMENT_CLASS (g_class); | ||
7586 | + GstFFMpegMuxClass *oclass = (GstFFMpegMuxClass *) klass; | ||
7587 | + GstPadTemplate *templ = gst_element_class_get_pad_template (klass, "src"); | ||
7588 | + | ||
7589 | + ffmpegmux->srcpad = gst_pad_new_from_template (templ, "src"); | ||
7590 | + gst_pad_set_caps (ffmpegmux->srcpad, gst_pad_template_get_caps (templ)); | ||
7591 | + gst_element_add_pad (GST_ELEMENT (ffmpegmux), ffmpegmux->srcpad); | ||
7592 | + | ||
7593 | + ffmpegmux->collect = gst_collect_pads_new (); | ||
7594 | + gst_collect_pads_set_function (ffmpegmux->collect, | ||
7595 | + (GstCollectPadsFunction) gst_ffmpegmux_collected, ffmpegmux); | ||
7596 | + | ||
7597 | + ffmpegmux->context = g_new0 (AVFormatContext, 1); | ||
7598 | + ffmpegmux->context->oformat = oclass->in_plugin; | ||
7599 | + ffmpegmux->context->nb_streams = 0; | ||
7600 | + g_snprintf (ffmpegmux->context->filename, | ||
7601 | + sizeof (ffmpegmux->context->filename), | ||
7602 | + "gstreamer://%p", ffmpegmux->srcpad); | ||
7603 | + ffmpegmux->opened = FALSE; | ||
7604 | + | ||
7605 | + ffmpegmux->videopads = 0; | ||
7606 | + ffmpegmux->audiopads = 0; | ||
7607 | + ffmpegmux->preload = 0; | ||
7608 | + ffmpegmux->max_delay = 0; | ||
7609 | +} | ||
7610 | + | ||
7611 | +static void | ||
7612 | +gst_ffmpegmux_set_property (GObject * object, guint prop_id, | ||
7613 | + const GValue * value, GParamSpec * pspec) | ||
7614 | +{ | ||
7615 | + GstFFMpegMux *src; | ||
7616 | + | ||
7617 | + src = (GstFFMpegMux *) object; | ||
7618 | + | ||
7619 | + switch (prop_id) { | ||
7620 | + case PROP_PRELOAD: | ||
7621 | + src->preload = g_value_get_int (value); | ||
7622 | + break; | ||
7623 | + case PROP_MAXDELAY: | ||
7624 | + src->max_delay = g_value_get_int (value); | ||
7625 | + break; | ||
7626 | + default: | ||
7627 | + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); | ||
7628 | + break; | ||
7629 | + } | ||
7630 | +} | ||
7631 | + | ||
7632 | +static void | ||
7633 | +gst_ffmpegmux_get_property (GObject * object, guint prop_id, GValue * value, | ||
7634 | + GParamSpec * pspec) | ||
7635 | +{ | ||
7636 | + GstFFMpegMux *src; | ||
7637 | + | ||
7638 | + src = (GstFFMpegMux *) object; | ||
7639 | + | ||
7640 | + switch (prop_id) { | ||
7641 | + case PROP_PRELOAD: | ||
7642 | + g_value_set_int (value, src->preload); | ||
7643 | + break; | ||
7644 | + case PROP_MAXDELAY: | ||
7645 | + g_value_set_int (value, src->max_delay); | ||
7646 | + break; | ||
7647 | + default: | ||
7648 | + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); | ||
7649 | + break; | ||
7650 | + } | ||
7651 | +} | ||
7652 | + | ||
7653 | + | ||
7654 | +static void | ||
7655 | +gst_ffmpegmux_finalize (GObject * object) | ||
7656 | +{ | ||
7657 | + GstFFMpegMux *ffmpegmux = (GstFFMpegMux *) object; | ||
7658 | + | ||
7659 | + g_free (ffmpegmux->context); | ||
7660 | + gst_object_unref (ffmpegmux->collect); | ||
7661 | + | ||
7662 | + if (G_OBJECT_CLASS (parent_class)->finalize) | ||
7663 | + G_OBJECT_CLASS (parent_class)->finalize (object); | ||
7664 | +} | ||
7665 | + | ||
7666 | +static GstPad * | ||
7667 | +gst_ffmpegmux_request_new_pad (GstElement * element, | ||
7668 | + GstPadTemplate * templ, const gchar * name) | ||
7669 | +{ | ||
7670 | + GstFFMpegMux *ffmpegmux = (GstFFMpegMux *) element; | ||
7671 | + GstElementClass *klass = GST_ELEMENT_GET_CLASS (element); | ||
7672 | + GstFFMpegMuxPad *collect_pad; | ||
7673 | + gchar *padname; | ||
7674 | + GstPad *pad; | ||
7675 | + AVStream *st; | ||
7676 | + enum AVMediaType type; | ||
7677 | + gint bitrate = 0, framesize = 0; | ||
7678 | + | ||
7679 | + g_return_val_if_fail (templ != NULL, NULL); | ||
7680 | + g_return_val_if_fail (templ->direction == GST_PAD_SINK, NULL); | ||
7681 | + g_return_val_if_fail (ffmpegmux->opened == FALSE, NULL); | ||
7682 | + | ||
7683 | + /* figure out a name that *we* like */ | ||
7684 | + if (templ == gst_element_class_get_pad_template (klass, "video_%d")) { | ||
7685 | + padname = g_strdup_printf ("video_%d", ffmpegmux->videopads++); | ||
7686 | + type = AVMEDIA_TYPE_VIDEO; | ||
7687 | + bitrate = 64 * 1024; | ||
7688 | + framesize = 1152; | ||
7689 | + } else if (templ == gst_element_class_get_pad_template (klass, "audio_%d")) { | ||
7690 | + padname = g_strdup_printf ("audio_%d", ffmpegmux->audiopads++); | ||
7691 | + type = AVMEDIA_TYPE_AUDIO; | ||
7692 | + bitrate = 285 * 1024; | ||
7693 | + } else { | ||
7694 | + g_warning ("ffmux: unknown pad template!"); | ||
7695 | + return NULL; | ||
7696 | + } | ||
7697 | + | ||
7698 | + /* create pad */ | ||
7699 | + pad = gst_pad_new_from_template (templ, padname); | ||
7700 | + collect_pad = (GstFFMpegMuxPad *) | ||
7701 | + gst_collect_pads_add_pad (ffmpegmux->collect, pad, | ||
7702 | + sizeof (GstFFMpegMuxPad)); | ||
7703 | + collect_pad->padnum = ffmpegmux->context->nb_streams; | ||
7704 | + | ||
7705 | + /* small hack to put our own event pad function and chain up to collect pad */ | ||
7706 | + ffmpegmux->event_function = GST_PAD_EVENTFUNC (pad); | ||
7707 | + gst_pad_set_event_function (pad, | ||
7708 | + GST_DEBUG_FUNCPTR (gst_ffmpegmux_sink_event)); | ||
7709 | + | ||
7710 | + gst_pad_set_setcaps_function (pad, GST_DEBUG_FUNCPTR (gst_ffmpegmux_setcaps)); | ||
7711 | + gst_element_add_pad (element, pad); | ||
7712 | + | ||
7713 | + /* AVStream needs to be created */ | ||
7714 | + st = av_new_stream (ffmpegmux->context, collect_pad->padnum); | ||
7715 | + st->codec->codec_type = type; | ||
7716 | + st->codec->codec_id = CODEC_ID_NONE; /* this is a check afterwards */ | ||
7717 | + st->stream_copy = 1; /* we're not the actual encoder */ | ||
7718 | + st->codec->bit_rate = bitrate; | ||
7719 | + st->codec->frame_size = framesize; | ||
7720 | + /* we fill in codec during capsnego */ | ||
7721 | + | ||
7722 | + /* we love debug output (c) (tm) (r) */ | ||
7723 | + GST_DEBUG ("Created %s pad for ffmux_%s element", | ||
7724 | + padname, ((GstFFMpegMuxClass *) klass)->in_plugin->name); | ||
7725 | + g_free (padname); | ||
7726 | + | ||
7727 | + return pad; | ||
7728 | +} | ||
7729 | + | ||
7730 | +/** | ||
7731 | + * gst_ffmpegmux_setcaps | ||
7732 | + * @pad: #GstPad | ||
7733 | + * @caps: New caps. | ||
7734 | + * | ||
7735 | + * Set caps to pad. | ||
7736 | + * | ||
7737 | + * Returns: #TRUE on success. | ||
7738 | + */ | ||
7739 | +static gboolean | ||
7740 | +gst_ffmpegmux_setcaps (GstPad * pad, GstCaps * caps) | ||
7741 | +{ | ||
7742 | + GstFFMpegMux *ffmpegmux = (GstFFMpegMux *) (gst_pad_get_parent (pad)); | ||
7743 | + GstFFMpegMuxPad *collect_pad; | ||
7744 | + AVStream *st; | ||
7745 | + | ||
7746 | + collect_pad = (GstFFMpegMuxPad *) gst_pad_get_element_private (pad); | ||
7747 | + | ||
7748 | + st = ffmpegmux->context->streams[collect_pad->padnum]; | ||
7749 | + ffmpegmux->context->preload = ffmpegmux->preload; | ||
7750 | + ffmpegmux->context->max_delay = ffmpegmux->max_delay; | ||
7751 | + | ||
7752 | + /* for the format-specific guesses, we'll go to | ||
7753 | + * our famous codec mapper */ | ||
7754 | + if (gst_ffmpeg_caps_to_codecid (caps, st->codec) == CODEC_ID_NONE) | ||
7755 | + goto not_accepted; | ||
7756 | + | ||
7757 | + /* copy over the aspect ratios, ffmpeg expects the stream aspect to match the | ||
7758 | + * codec aspect. */ | ||
7759 | + st->sample_aspect_ratio = st->codec->sample_aspect_ratio; | ||
7760 | + | ||
7761 | + GST_LOG_OBJECT (pad, "accepted caps %" GST_PTR_FORMAT, caps); | ||
7762 | + return TRUE; | ||
7763 | + | ||
7764 | + /* ERRORS */ | ||
7765 | +not_accepted: | ||
7766 | + { | ||
7767 | + GST_LOG_OBJECT (pad, "rejecting caps %" GST_PTR_FORMAT, caps); | ||
7768 | + return FALSE; | ||
7769 | + } | ||
7770 | +} | ||
7771 | + | ||
7772 | + | ||
7773 | +static gboolean | ||
7774 | +gst_ffmpegmux_sink_event (GstPad * pad, GstEvent * event) | ||
7775 | +{ | ||
7776 | + GstFFMpegMux *ffmpegmux = (GstFFMpegMux *) gst_pad_get_parent (pad); | ||
7777 | + gboolean res = TRUE; | ||
7778 | + | ||
7779 | + switch (GST_EVENT_TYPE (event)) { | ||
7780 | + case GST_EVENT_TAG:{ | ||
7781 | + GstTagList *taglist; | ||
7782 | + GstTagSetter *setter = GST_TAG_SETTER (ffmpegmux); | ||
7783 | + const GstTagMergeMode mode = gst_tag_setter_get_tag_merge_mode (setter); | ||
7784 | + | ||
7785 | + gst_event_parse_tag (event, &taglist); | ||
7786 | + gst_tag_setter_merge_tags (setter, taglist, mode); | ||
7787 | + break; | ||
7788 | + } | ||
7789 | + default: | ||
7790 | + break; | ||
7791 | + } | ||
7792 | + | ||
7793 | + /* chaining up to collectpads default event function */ | ||
7794 | + res = ffmpegmux->event_function (pad, event); | ||
7795 | + | ||
7796 | + gst_object_unref (ffmpegmux); | ||
7797 | + return res; | ||
7798 | +} | ||
7799 | + | ||
7800 | +static GstFlowReturn | ||
7801 | +gst_ffmpegmux_collected (GstCollectPads * pads, gpointer user_data) | ||
7802 | +{ | ||
7803 | + GstFFMpegMux *ffmpegmux = (GstFFMpegMux *) user_data; | ||
7804 | + GSList *collected; | ||
7805 | + GstFFMpegMuxPad *best_pad; | ||
7806 | + GstClockTime best_time; | ||
7807 | +#if 0 | ||
7808 | + /* Re-enable once converted to new AVMetaData API | ||
7809 | + * See #566605 | ||
7810 | + */ | ||
7811 | + const GstTagList *tags; | ||
7812 | +#endif | ||
7813 | + | ||
7814 | + /* open "file" (gstreamer protocol to next element) */ | ||
7815 | + if (!ffmpegmux->opened) { | ||
7816 | + int open_flags = URL_WRONLY; | ||
7817 | + | ||
7818 | + /* we do need all streams to have started capsnego, | ||
7819 | + * or things will go horribly wrong */ | ||
7820 | + for (collected = ffmpegmux->collect->data; collected; | ||
7821 | + collected = g_slist_next (collected)) { | ||
7822 | + GstFFMpegMuxPad *collect_pad = (GstFFMpegMuxPad *) collected->data; | ||
7823 | + AVStream *st = ffmpegmux->context->streams[collect_pad->padnum]; | ||
7824 | + | ||
7825 | + /* check whether the pad has successfully completed capsnego */ | ||
7826 | + if (st->codec->codec_id == CODEC_ID_NONE) { | ||
7827 | + GST_ELEMENT_ERROR (ffmpegmux, CORE, NEGOTIATION, (NULL), | ||
7828 | + ("no caps set on stream %d (%s)", collect_pad->padnum, | ||
7829 | + (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) ? | ||
7830 | + "video" : "audio")); | ||
7831 | + return GST_FLOW_ERROR; | ||
7832 | + } | ||
7833 | + /* set framerate for audio */ | ||
7834 | + if (st->codec->codec_type == AVMEDIA_TYPE_AUDIO) { | ||
7835 | + switch (st->codec->codec_id) { | ||
7836 | + case CODEC_ID_PCM_S16LE: | ||
7837 | + case CODEC_ID_PCM_S16BE: | ||
7838 | + case CODEC_ID_PCM_U16LE: | ||
7839 | + case CODEC_ID_PCM_U16BE: | ||
7840 | + case CODEC_ID_PCM_S8: | ||
7841 | + case CODEC_ID_PCM_U8: | ||
7842 | + st->codec->frame_size = 1; | ||
7843 | + break; | ||
7844 | + default: | ||
7845 | + { | ||
7846 | + GstBuffer *buffer; | ||
7847 | + | ||
7848 | + /* FIXME : This doesn't work for RAW AUDIO... | ||
7849 | + * in fact I'm wondering if it even works for any kind of audio... */ | ||
7850 | + buffer = gst_collect_pads_peek (ffmpegmux->collect, | ||
7851 | + (GstCollectData *) collect_pad); | ||
7852 | + if (buffer) { | ||
7853 | + st->codec->frame_size = | ||
7854 | + st->codec->sample_rate * | ||
7855 | + GST_BUFFER_DURATION (buffer) / GST_SECOND; | ||
7856 | + gst_buffer_unref (buffer); | ||
7857 | + } | ||
7858 | + } | ||
7859 | + } | ||
7860 | + } | ||
7861 | + } | ||
7862 | + | ||
7863 | +#if 0 | ||
7864 | + /* Re-enable once converted to new AVMetaData API | ||
7865 | + * See #566605 | ||
7866 | + */ | ||
7867 | + | ||
7868 | + /* tags */ | ||
7869 | + tags = gst_tag_setter_get_tag_list (GST_TAG_SETTER (ffmpegmux)); | ||
7870 | + if (tags) { | ||
7871 | + gint i; | ||
7872 | + gchar *s; | ||
7873 | + | ||
7874 | + /* get the interesting ones */ | ||
7875 | + if (gst_tag_list_get_string (tags, GST_TAG_TITLE, &s)) { | ||
7876 | + strncpy (ffmpegmux->context->title, s, | ||
7877 | + sizeof (ffmpegmux->context->title)); | ||
7878 | + } | ||
7879 | + if (gst_tag_list_get_string (tags, GST_TAG_ARTIST, &s)) { | ||
7880 | + strncpy (ffmpegmux->context->author, s, | ||
7881 | + sizeof (ffmpegmux->context->author)); | ||
7882 | + } | ||
7883 | + if (gst_tag_list_get_string (tags, GST_TAG_COPYRIGHT, &s)) { | ||
7884 | + strncpy (ffmpegmux->context->copyright, s, | ||
7885 | + sizeof (ffmpegmux->context->copyright)); | ||
7886 | + } | ||
7887 | + if (gst_tag_list_get_string (tags, GST_TAG_COMMENT, &s)) { | ||
7888 | + strncpy (ffmpegmux->context->comment, s, | ||
7889 | + sizeof (ffmpegmux->context->comment)); | ||
7890 | + } | ||
7891 | + if (gst_tag_list_get_string (tags, GST_TAG_ALBUM, &s)) { | ||
7892 | + strncpy (ffmpegmux->context->album, s, | ||
7893 | + sizeof (ffmpegmux->context->album)); | ||
7894 | + } | ||
7895 | + if (gst_tag_list_get_string (tags, GST_TAG_GENRE, &s)) { | ||
7896 | + strncpy (ffmpegmux->context->genre, s, | ||
7897 | + sizeof (ffmpegmux->context->genre)); | ||
7898 | + } | ||
7899 | + if (gst_tag_list_get_int (tags, GST_TAG_TRACK_NUMBER, &i)) { | ||
7900 | + ffmpegmux->context->track = i; | ||
7901 | + } | ||
7902 | + } | ||
7903 | +#endif | ||
7904 | + | ||
7905 | + /* set the streamheader flag for gstffmpegprotocol if codec supports it */ | ||
7906 | + if (!strcmp (ffmpegmux->context->oformat->name, "flv")) { | ||
7907 | + open_flags |= GST_FFMPEG_URL_STREAMHEADER; | ||
7908 | + } | ||
7909 | + | ||
7910 | + if (url_fopen (&ffmpegmux->context->pb, | ||
7911 | + ffmpegmux->context->filename, open_flags) < 0) { | ||
7912 | + GST_ELEMENT_ERROR (ffmpegmux, LIBRARY, TOO_LAZY, (NULL), | ||
7913 | + ("Failed to open stream context in ffmux")); | ||
7914 | + return GST_FLOW_ERROR; | ||
7915 | + } | ||
7916 | + | ||
7917 | + if (av_set_parameters (ffmpegmux->context, NULL) < 0) { | ||
7918 | + GST_ELEMENT_ERROR (ffmpegmux, LIBRARY, INIT, (NULL), | ||
7919 | + ("Failed to initialize muxer")); | ||
7920 | + return GST_FLOW_ERROR; | ||
7921 | + } | ||
7922 | + | ||
7923 | + /* now open the mux format */ | ||
7924 | + if (av_write_header (ffmpegmux->context) < 0) { | ||
7925 | + GST_ELEMENT_ERROR (ffmpegmux, LIBRARY, SETTINGS, (NULL), | ||
7926 | + ("Failed to write file header - check codec settings")); | ||
7927 | + return GST_FLOW_ERROR; | ||
7928 | + } | ||
7929 | + | ||
7930 | + /* we're now opened */ | ||
7931 | + ffmpegmux->opened = TRUE; | ||
7932 | + | ||
7933 | + /* flush the header so it will be used as streamheader */ | ||
7934 | + put_flush_packet (ffmpegmux->context->pb); | ||
7935 | + } | ||
7936 | + | ||
7937 | + /* take the one with earliest timestamp, | ||
7938 | + * and push it forward */ | ||
7939 | + best_pad = NULL; | ||
7940 | + best_time = GST_CLOCK_TIME_NONE; | ||
7941 | + for (collected = ffmpegmux->collect->data; collected; | ||
7942 | + collected = g_slist_next (collected)) { | ||
7943 | + GstFFMpegMuxPad *collect_pad = (GstFFMpegMuxPad *) collected->data; | ||
7944 | + GstBuffer *buffer = gst_collect_pads_peek (ffmpegmux->collect, | ||
7945 | + (GstCollectData *) collect_pad); | ||
7946 | + | ||
7947 | + /* if there's no buffer, just continue */ | ||
7948 | + if (buffer == NULL) { | ||
7949 | + continue; | ||
7950 | + } | ||
7951 | + | ||
7952 | + /* if we have no buffer yet, just use the first one */ | ||
7953 | + if (best_pad == NULL) { | ||
7954 | + best_pad = collect_pad; | ||
7955 | + best_time = GST_BUFFER_TIMESTAMP (buffer); | ||
7956 | + goto next_pad; | ||
7957 | + } | ||
7958 | + | ||
7959 | + /* if we do have one, only use this one if it's older */ | ||
7960 | + if (GST_BUFFER_TIMESTAMP (buffer) < best_time) { | ||
7961 | + best_time = GST_BUFFER_TIMESTAMP (buffer); | ||
7962 | + best_pad = collect_pad; | ||
7963 | + } | ||
7964 | + | ||
7965 | + next_pad: | ||
7966 | + gst_buffer_unref (buffer); | ||
7967 | + | ||
7968 | + /* Mux buffers with invalid timestamp first */ | ||
7969 | + if (!GST_CLOCK_TIME_IS_VALID (best_time)) | ||
7970 | + break; | ||
7971 | + } | ||
7972 | + | ||
7973 | + /* now handle the buffer, or signal EOS if we have | ||
7974 | + * no buffers left */ | ||
7975 | + if (best_pad != NULL) { | ||
7976 | + GstBuffer *buf; | ||
7977 | + AVPacket pkt; | ||
7978 | + gboolean need_free = FALSE; | ||
7979 | + | ||
7980 | + /* push out current buffer */ | ||
7981 | + buf = gst_collect_pads_pop (ffmpegmux->collect, | ||
7982 | + (GstCollectData *) best_pad); | ||
7983 | + | ||
7984 | + ffmpegmux->context->streams[best_pad->padnum]->codec->frame_number++; | ||
7985 | + | ||
7986 | + /* set time */ | ||
7987 | + pkt.pts = gst_ffmpeg_time_gst_to_ff (GST_BUFFER_TIMESTAMP (buf), | ||
7988 | + ffmpegmux->context->streams[best_pad->padnum]->time_base); | ||
7989 | + pkt.dts = pkt.pts; | ||
7990 | + | ||
7991 | + if (strcmp (ffmpegmux->context->oformat->name, "gif") == 0) { | ||
7992 | + AVStream *st = ffmpegmux->context->streams[best_pad->padnum]; | ||
7993 | + AVPicture src, dst; | ||
7994 | + | ||
7995 | + need_free = TRUE; | ||
7996 | + pkt.size = st->codec->width * st->codec->height * 3; | ||
7997 | + pkt.data = g_malloc (pkt.size); | ||
7998 | + | ||
7999 | + dst.data[0] = pkt.data; | ||
8000 | + dst.data[1] = NULL; | ||
8001 | + dst.data[2] = NULL; | ||
8002 | + dst.linesize[0] = st->codec->width * 3; | ||
8003 | + | ||
8004 | + gst_ffmpeg_avpicture_fill (&src, GST_BUFFER_DATA (buf), | ||
8005 | + PIX_FMT_RGB24, st->codec->width, st->codec->height); | ||
8006 | + | ||
8007 | + av_picture_copy (&dst, &src, PIX_FMT_RGB24, | ||
8008 | + st->codec->width, st->codec->height); | ||
8009 | + } else { | ||
8010 | + pkt.data = GST_BUFFER_DATA (buf); | ||
8011 | + pkt.size = GST_BUFFER_SIZE (buf); | ||
8012 | + } | ||
8013 | + | ||
8014 | + pkt.stream_index = best_pad->padnum; | ||
8015 | + pkt.flags = 0; | ||
8016 | + | ||
8017 | + if (!GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_DELTA_UNIT)) | ||
8018 | + pkt.flags |= AV_PKT_FLAG_KEY; | ||
8019 | + | ||
8020 | + if (GST_BUFFER_DURATION_IS_VALID (buf)) | ||
8021 | + pkt.duration = | ||
8022 | + gst_ffmpeg_time_gst_to_ff (GST_BUFFER_DURATION (buf), | ||
8023 | + ffmpegmux->context->streams[best_pad->padnum]->time_base); | ||
8024 | + else | ||
8025 | + pkt.duration = 0; | ||
8026 | + av_write_frame (ffmpegmux->context, &pkt); | ||
8027 | + gst_buffer_unref (buf); | ||
8028 | + if (need_free) | ||
8029 | + g_free (pkt.data); | ||
8030 | + } else { | ||
8031 | + /* close down */ | ||
8032 | + av_write_trailer (ffmpegmux->context); | ||
8033 | + ffmpegmux->opened = FALSE; | ||
8034 | + put_flush_packet (ffmpegmux->context->pb); | ||
8035 | + url_fclose (ffmpegmux->context->pb); | ||
8036 | + gst_pad_push_event (ffmpegmux->srcpad, gst_event_new_eos ()); | ||
8037 | + return GST_FLOW_UNEXPECTED; | ||
8038 | + } | ||
8039 | + | ||
8040 | + return GST_FLOW_OK; | ||
8041 | +} | ||
8042 | + | ||
8043 | +static GstStateChangeReturn | ||
8044 | +gst_ffmpegmux_change_state (GstElement * element, GstStateChange transition) | ||
8045 | +{ | ||
8046 | + GstFlowReturn ret; | ||
8047 | + GstFFMpegMux *ffmpegmux = (GstFFMpegMux *) (element); | ||
8048 | + | ||
8049 | + switch (transition) { | ||
8050 | + case GST_STATE_CHANGE_NULL_TO_READY: | ||
8051 | + break; | ||
8052 | + case GST_STATE_CHANGE_READY_TO_PAUSED: | ||
8053 | + gst_collect_pads_start (ffmpegmux->collect); | ||
8054 | + break; | ||
8055 | + case GST_STATE_CHANGE_PAUSED_TO_PLAYING: | ||
8056 | + break; | ||
8057 | + case GST_STATE_CHANGE_PAUSED_TO_READY: | ||
8058 | + gst_collect_pads_stop (ffmpegmux->collect); | ||
8059 | + break; | ||
8060 | + default: | ||
8061 | + break; | ||
8062 | + } | ||
8063 | + | ||
8064 | + ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition); | ||
8065 | + | ||
8066 | + switch (transition) { | ||
8067 | + case GST_STATE_CHANGE_PLAYING_TO_PAUSED: | ||
8068 | + break; | ||
8069 | + case GST_STATE_CHANGE_PAUSED_TO_READY: | ||
8070 | + gst_tag_setter_reset_tags (GST_TAG_SETTER (ffmpegmux)); | ||
8071 | + if (ffmpegmux->opened) { | ||
8072 | + ffmpegmux->opened = FALSE; | ||
8073 | + url_fclose (ffmpegmux->context->pb); | ||
8074 | + } | ||
8075 | + break; | ||
8076 | + case GST_STATE_CHANGE_READY_TO_NULL: | ||
8077 | + break; | ||
8078 | + default: | ||
8079 | + break; | ||
8080 | + } | ||
8081 | + | ||
8082 | + return ret; | ||
8083 | +} | ||
8084 | + | ||
8085 | +static GstCaps * | ||
8086 | +gst_ffmpegmux_get_id_caps (enum CodecID *id_list) | ||
8087 | +{ | ||
8088 | + GstCaps *caps, *t; | ||
8089 | + gint i; | ||
8090 | + | ||
8091 | + caps = gst_caps_new_empty (); | ||
8092 | + for (i = 0; id_list[i] != CODEC_ID_NONE; i++) { | ||
8093 | + if ((t = gst_ffmpeg_codecid_to_caps (id_list[i], NULL, TRUE))) | ||
8094 | + gst_caps_append (caps, t); | ||
8095 | + } | ||
8096 | + if (gst_caps_is_empty (caps)) { | ||
8097 | + gst_caps_unref (caps); | ||
8098 | + return NULL; | ||
8099 | + } | ||
8100 | + | ||
8101 | + return caps; | ||
8102 | +} | ||
8103 | + | ||
8104 | +/* set a list of integer values on the caps, e.g. for sample rates */ | ||
8105 | +static void | ||
8106 | +gst_ffmpeg_mux_simple_caps_set_int_list (GstCaps * caps, const gchar * field, | ||
8107 | + guint num, const gint * values) | ||
8108 | +{ | ||
8109 | + GValue list = { 0, }; | ||
8110 | + GValue val = { 0, }; | ||
8111 | + gint i; | ||
8112 | + | ||
8113 | + g_return_if_fail (GST_CAPS_IS_SIMPLE (caps)); | ||
8114 | + | ||
8115 | + g_value_init (&list, GST_TYPE_LIST); | ||
8116 | + g_value_init (&val, G_TYPE_INT); | ||
8117 | + | ||
8118 | + for (i = 0; i < num; ++i) { | ||
8119 | + g_value_set_int (&val, values[i]); | ||
8120 | + gst_value_list_append_value (&list, &val); | ||
8121 | + } | ||
8122 | + | ||
8123 | + gst_structure_set_value (gst_caps_get_structure (caps, 0), field, &list); | ||
8124 | + | ||
8125 | + g_value_unset (&val); | ||
8126 | + g_value_unset (&list); | ||
8127 | +} | ||
8128 | + | ||
8129 | +gboolean | ||
8130 | +gst_ffmpegmux_register (GstPlugin * plugin) | ||
8131 | +{ | ||
8132 | + GTypeInfo typeinfo = { | ||
8133 | + sizeof (GstFFMpegMuxClass), | ||
8134 | + (GBaseInitFunc) gst_ffmpegmux_base_init, | ||
8135 | + NULL, | ||
8136 | + (GClassInitFunc) gst_ffmpegmux_class_init, | ||
8137 | + NULL, | ||
8138 | + NULL, | ||
8139 | + sizeof (GstFFMpegMux), | ||
8140 | + 0, | ||
8141 | + (GInstanceInitFunc) gst_ffmpegmux_init, | ||
8142 | + }; | ||
8143 | + static const GInterfaceInfo tag_setter_info = { | ||
8144 | + NULL, NULL, NULL | ||
8145 | + }; | ||
8146 | + GType type; | ||
8147 | + AVOutputFormat *in_plugin; | ||
8148 | + | ||
8149 | + in_plugin = av_oformat_next (NULL); | ||
8150 | + | ||
8151 | + GST_LOG ("Registering muxers"); | ||
8152 | + | ||
8153 | + while (in_plugin) { | ||
8154 | + gchar *type_name; | ||
8155 | + gchar *p; | ||
8156 | + GstRank rank = GST_RANK_MARGINAL; | ||
8157 | + | ||
8158 | + if ((!strncmp (in_plugin->name, "u16", 3)) || | ||
8159 | + (!strncmp (in_plugin->name, "s16", 3)) || | ||
8160 | + (!strncmp (in_plugin->name, "u24", 3)) || | ||
8161 | + (!strncmp (in_plugin->name, "s24", 3)) || | ||
8162 | + (!strncmp (in_plugin->name, "u8", 2)) || | ||
8163 | + (!strncmp (in_plugin->name, "s8", 2)) || | ||
8164 | + (!strncmp (in_plugin->name, "u32", 3)) || | ||
8165 | + (!strncmp (in_plugin->name, "s32", 3)) || | ||
8166 | + (!strncmp (in_plugin->name, "f32", 3)) || | ||
8167 | + (!strncmp (in_plugin->name, "f64", 3)) || | ||
8168 | + (!strncmp (in_plugin->name, "raw", 3)) || | ||
8169 | + (!strncmp (in_plugin->name, "crc", 3)) || | ||
8170 | + (!strncmp (in_plugin->name, "null", 4)) || | ||
8171 | + (!strncmp (in_plugin->name, "gif", 3)) || | ||
8172 | + (!strncmp (in_plugin->name, "frame", 5)) || | ||
8173 | + (!strncmp (in_plugin->name, "image", 5)) || | ||
8174 | + (!strncmp (in_plugin->name, "mulaw", 5)) || | ||
8175 | + (!strncmp (in_plugin->name, "alaw", 4)) || | ||
8176 | + (!strncmp (in_plugin->name, "h26", 3)) || | ||
8177 | + (!strncmp (in_plugin->name, "rtp", 3)) || | ||
8178 | + (!strncmp (in_plugin->name, "ass", 3)) || | ||
8179 | + (!strncmp (in_plugin->name, "ffmetadata", 10)) || | ||
8180 | + (!strncmp (in_plugin->name, "srt", 3)) | ||
8181 | + ) { | ||
8182 | + GST_LOG ("Ignoring muxer %s", in_plugin->name); | ||
8183 | + goto next; | ||
8184 | + } | ||
8185 | + | ||
8186 | + if ((!strncmp (in_plugin->long_name, "raw ", 4))) { | ||
8187 | + GST_LOG ("Ignoring raw muxer %s", in_plugin->name); | ||
8188 | + goto next; | ||
8189 | + } | ||
8190 | + | ||
8191 | + if (gst_ffmpegmux_get_replacement (in_plugin->name)) | ||
8192 | + rank = GST_RANK_NONE; | ||
8193 | + | ||
8194 | + /* FIXME : We need a fast way to know whether we have mappings for this | ||
8195 | + * muxer type. */ | ||
8196 | + | ||
8197 | + /* construct the type */ | ||
8198 | + type_name = g_strdup_printf ("ffmux_%s", in_plugin->name); | ||
8199 | + | ||
8200 | + p = type_name; | ||
8201 | + | ||
8202 | + while (*p) { | ||
8203 | + if (*p == '.') | ||
8204 | + *p = '_'; | ||
8205 | + p++; | ||
8206 | + } | ||
8207 | + | ||
8208 | + type = g_type_from_name (type_name); | ||
8209 | + | ||
8210 | + if (!type) { | ||
8211 | + /* create the type now */ | ||
8212 | + type = g_type_register_static (GST_TYPE_ELEMENT, type_name, &typeinfo, 0); | ||
8213 | + g_type_set_qdata (type, GST_FFMUX_PARAMS_QDATA, (gpointer) in_plugin); | ||
8214 | + g_type_add_interface_static (type, GST_TYPE_TAG_SETTER, &tag_setter_info); | ||
8215 | + } | ||
8216 | + | ||
8217 | + if (!gst_element_register (plugin, type_name, rank, type)) { | ||
8218 | + g_free (type_name); | ||
8219 | + return FALSE; | ||
8220 | + } | ||
8221 | + | ||
8222 | + g_free (type_name); | ||
8223 | + | ||
8224 | + next: | ||
8225 | + in_plugin = av_oformat_next (in_plugin); | ||
8226 | + } | ||
8227 | + | ||
8228 | + GST_LOG ("Finished registering muxers"); | ||
8229 | + | ||
8230 | + return TRUE; | ||
8231 | +} | ||
8232 | diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegprotocol.c gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegprotocol.c | ||
8233 | --- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegprotocol.c 2011-07-12 16:35:28.000000000 +0200 | ||
8234 | +++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegprotocol.c 2014-08-08 15:26:07.875857555 +0200 | ||
8235 | @@ -46,63 +46,14 @@ | ||
8236 | }; | ||
8237 | |||
8238 | static int | ||
8239 | -gst_ffmpegdata_open (URLContext * h, const char *filename, int flags) | ||
8240 | -{ | ||
8241 | - GstProtocolInfo *info; | ||
8242 | - GstPad *pad; | ||
8243 | - | ||
8244 | - GST_LOG ("Opening %s", filename); | ||
8245 | - | ||
8246 | - info = g_new0 (GstProtocolInfo, 1); | ||
8247 | - | ||
8248 | - info->set_streamheader = flags & GST_FFMPEG_URL_STREAMHEADER; | ||
8249 | - flags &= ~GST_FFMPEG_URL_STREAMHEADER; | ||
8250 | - h->flags &= ~GST_FFMPEG_URL_STREAMHEADER; | ||
8251 | - | ||
8252 | - /* we don't support R/W together */ | ||
8253 | - if (flags != URL_RDONLY && flags != URL_WRONLY) { | ||
8254 | - GST_WARNING ("Only read-only or write-only are supported"); | ||
8255 | - return -EINVAL; | ||
8256 | - } | ||
8257 | - | ||
8258 | - if (sscanf (&filename[12], "%p", &pad) != 1) { | ||
8259 | - GST_WARNING ("could not decode pad from %s", filename); | ||
8260 | - return -EIO; | ||
8261 | - } | ||
8262 | - | ||
8263 | - /* make sure we're a pad and that we're of the right type */ | ||
8264 | - g_return_val_if_fail (GST_IS_PAD (pad), -EINVAL); | ||
8265 | - | ||
8266 | - switch (flags) { | ||
8267 | - case URL_RDONLY: | ||
8268 | - g_return_val_if_fail (GST_PAD_IS_SINK (pad), -EINVAL); | ||
8269 | - break; | ||
8270 | - case URL_WRONLY: | ||
8271 | - g_return_val_if_fail (GST_PAD_IS_SRC (pad), -EINVAL); | ||
8272 | - break; | ||
8273 | - } | ||
8274 | - | ||
8275 | - info->eos = FALSE; | ||
8276 | - info->pad = pad; | ||
8277 | - info->offset = 0; | ||
8278 | - | ||
8279 | - h->priv_data = (void *) info; | ||
8280 | - h->is_streamed = FALSE; | ||
8281 | - h->max_packet_size = 0; | ||
8282 | - | ||
8283 | - return 0; | ||
8284 | -} | ||
8285 | - | ||
8286 | -static int | ||
8287 | -gst_ffmpegdata_peek (URLContext * h, unsigned char *buf, int size) | ||
8288 | +gst_ffmpegdata_peek (void *priv_data, unsigned char *buf, int size) | ||
8289 | { | ||
8290 | GstProtocolInfo *info; | ||
8291 | GstBuffer *inbuf = NULL; | ||
8292 | GstFlowReturn ret; | ||
8293 | int total = 0; | ||
8294 | |||
8295 | - g_return_val_if_fail (h->flags == URL_RDONLY, AVERROR (EIO)); | ||
8296 | - info = (GstProtocolInfo *) h->priv_data; | ||
8297 | + info = (GstProtocolInfo *) priv_data; | ||
8298 | |||
8299 | GST_DEBUG ("Pulling %d bytes at position %" G_GUINT64_FORMAT, size, | ||
8300 | info->offset); | ||
8301 | @@ -134,17 +85,17 @@ | ||
8302 | } | ||
8303 | |||
8304 | static int | ||
8305 | -gst_ffmpegdata_read (URLContext * h, unsigned char *buf, int size) | ||
8306 | +gst_ffmpegdata_read (void *priv_data, unsigned char *buf, int size) | ||
8307 | { | ||
8308 | gint res; | ||
8309 | GstProtocolInfo *info; | ||
8310 | |||
8311 | - info = (GstProtocolInfo *) h->priv_data; | ||
8312 | + info = (GstProtocolInfo *) priv_data; | ||
8313 | |||
8314 | GST_DEBUG ("Reading %d bytes of data at position %" G_GUINT64_FORMAT, size, | ||
8315 | info->offset); | ||
8316 | |||
8317 | - res = gst_ffmpegdata_peek (h, buf, size); | ||
8318 | + res = gst_ffmpegdata_peek (priv_data, buf, size); | ||
8319 | if (res >= 0) | ||
8320 | info->offset += res; | ||
8321 | |||
8322 | @@ -154,15 +105,13 @@ | ||
8323 | } | ||
8324 | |||
8325 | static int | ||
8326 | -gst_ffmpegdata_write (URLContext * h, const unsigned char *buf, int size) | ||
8327 | +gst_ffmpegdata_write (void *priv_data, const unsigned char *buf, int size) | ||
8328 | { | ||
8329 | GstProtocolInfo *info; | ||
8330 | GstBuffer *outbuf; | ||
8331 | |||
8332 | GST_DEBUG ("Writing %d bytes", size); | ||
8333 | - info = (GstProtocolInfo *) h->priv_data; | ||
8334 | - | ||
8335 | - g_return_val_if_fail (h->flags != URL_RDONLY, -EIO); | ||
8336 | + info = (GstProtocolInfo *) priv_data; | ||
8337 | |||
8338 | /* create buffer and push data further */ | ||
8339 | if (gst_pad_alloc_buffer_and_set_caps (info->pad, | ||
8340 | @@ -179,7 +128,7 @@ | ||
8341 | } | ||
8342 | |||
8343 | static int64_t | ||
8344 | -gst_ffmpegdata_seek (URLContext * h, int64_t pos, int whence) | ||
8345 | +gst_ffmpegdata_seek (void *priv_data, int64_t pos, int whence) | ||
8346 | { | ||
8347 | GstProtocolInfo *info; | ||
8348 | guint64 newpos = 0; | ||
8349 | @@ -187,70 +136,62 @@ | ||
8350 | GST_DEBUG ("Seeking to %" G_GINT64_FORMAT ", whence=%d", | ||
8351 | (gint64) pos, whence); | ||
8352 | |||
8353 | - info = (GstProtocolInfo *) h->priv_data; | ||
8354 | + info = (GstProtocolInfo *) priv_data; | ||
8355 | |||
8356 | /* TODO : if we are push-based, we need to return sensible info */ | ||
8357 | |||
8358 | - switch (h->flags) { | ||
8359 | - case URL_RDONLY: | ||
8360 | - { | ||
8361 | - /* sinkpad */ | ||
8362 | - switch (whence) { | ||
8363 | - case SEEK_SET: | ||
8364 | - newpos = (guint64) pos; | ||
8365 | - break; | ||
8366 | - case SEEK_CUR: | ||
8367 | - newpos = info->offset + pos; | ||
8368 | - break; | ||
8369 | - case SEEK_END: | ||
8370 | - case AVSEEK_SIZE: | ||
8371 | - /* ffmpeg wants to know the current end position in bytes ! */ | ||
8372 | - { | ||
8373 | - GstFormat format = GST_FORMAT_BYTES; | ||
8374 | - gint64 duration; | ||
8375 | - | ||
8376 | - GST_DEBUG ("Seek end"); | ||
8377 | - | ||
8378 | - if (gst_pad_is_linked (info->pad)) | ||
8379 | - if (gst_pad_query_duration (GST_PAD_PEER (info->pad), &format, | ||
8380 | - &duration)) | ||
8381 | - newpos = ((guint64) duration) + pos; | ||
8382 | - } | ||
8383 | - break; | ||
8384 | - default: | ||
8385 | - g_assert (0); | ||
8386 | - break; | ||
8387 | + if (GST_PAD_IS_SINK (info->pad)) { | ||
8388 | + /* sinkpad */ | ||
8389 | + switch (whence) { | ||
8390 | + case SEEK_SET: | ||
8391 | + newpos = (guint64) pos; | ||
8392 | + break; | ||
8393 | + case SEEK_CUR: | ||
8394 | + newpos = info->offset + pos; | ||
8395 | + break; | ||
8396 | + case SEEK_END: | ||
8397 | + case AVSEEK_SIZE: | ||
8398 | + /* ffmpeg wants to know the current end position in bytes ! */ | ||
8399 | + { | ||
8400 | + GstFormat format = GST_FORMAT_BYTES; | ||
8401 | + gint64 duration; | ||
8402 | + | ||
8403 | + GST_DEBUG ("Seek end"); | ||
8404 | + | ||
8405 | + if (gst_pad_is_linked (info->pad)) | ||
8406 | + if (gst_pad_query_duration (GST_PAD_PEER (info->pad), &format, | ||
8407 | + &duration)) | ||
8408 | + newpos = ((guint64) duration) + pos; | ||
8409 | } | ||
8410 | - /* FIXME : implement case for push-based behaviour */ | ||
8411 | - if (whence != AVSEEK_SIZE) | ||
8412 | - info->offset = newpos; | ||
8413 | + break; | ||
8414 | + default: | ||
8415 | + g_assert (0); | ||
8416 | + break; | ||
8417 | } | ||
8418 | - break; | ||
8419 | - case URL_WRONLY: | ||
8420 | - { | ||
8421 | - /* srcpad */ | ||
8422 | - switch (whence) { | ||
8423 | - case SEEK_SET: | ||
8424 | - info->offset = (guint64) pos; | ||
8425 | - gst_pad_push_event (info->pad, gst_event_new_new_segment | ||
8426 | - (TRUE, 1.0, GST_FORMAT_BYTES, info->offset, | ||
8427 | - GST_CLOCK_TIME_NONE, info->offset)); | ||
8428 | - break; | ||
8429 | - case SEEK_CUR: | ||
8430 | - info->offset += pos; | ||
8431 | - gst_pad_push_event (info->pad, gst_event_new_new_segment | ||
8432 | - (TRUE, 1.0, GST_FORMAT_BYTES, info->offset, | ||
8433 | - GST_CLOCK_TIME_NONE, info->offset)); | ||
8434 | - break; | ||
8435 | - default: | ||
8436 | - break; | ||
8437 | - } | ||
8438 | - newpos = info->offset; | ||
8439 | + /* FIXME : implement case for push-based behaviour */ | ||
8440 | + if (whence != AVSEEK_SIZE) | ||
8441 | + info->offset = newpos; | ||
8442 | + } else if (GST_PAD_IS_SRC (info->pad)) { | ||
8443 | + /* srcpad */ | ||
8444 | + switch (whence) { | ||
8445 | + case SEEK_SET: | ||
8446 | + info->offset = (guint64) pos; | ||
8447 | + gst_pad_push_event (info->pad, gst_event_new_new_segment | ||
8448 | + (TRUE, 1.0, GST_FORMAT_BYTES, info->offset, | ||
8449 | + GST_CLOCK_TIME_NONE, info->offset)); | ||
8450 | + break; | ||
8451 | + case SEEK_CUR: | ||
8452 | + info->offset += pos; | ||
8453 | + gst_pad_push_event (info->pad, gst_event_new_new_segment | ||
8454 | + (TRUE, 1.0, GST_FORMAT_BYTES, info->offset, | ||
8455 | + GST_CLOCK_TIME_NONE, info->offset)); | ||
8456 | + break; | ||
8457 | + default: | ||
8458 | + break; | ||
8459 | } | ||
8460 | - break; | ||
8461 | - default: | ||
8462 | - g_assert (0); | ||
8463 | - break; | ||
8464 | + newpos = info->offset; | ||
8465 | + } else { | ||
8466 | + g_assert_not_reached (); | ||
8467 | } | ||
8468 | |||
8469 | GST_DEBUG ("Now at offset %" G_GUINT64_FORMAT " (returning %" G_GUINT64_FORMAT | ||
8470 | @@ -258,85 +199,91 @@ | ||
8471 | return newpos; | ||
8472 | } | ||
8473 | |||
8474 | -static int | ||
8475 | -gst_ffmpegdata_close (URLContext * h) | ||
8476 | +int | ||
8477 | +gst_ffmpegdata_close (AVIOContext * h) | ||
8478 | { | ||
8479 | GstProtocolInfo *info; | ||
8480 | |||
8481 | - info = (GstProtocolInfo *) h->priv_data; | ||
8482 | + info = (GstProtocolInfo *) h->opaque; | ||
8483 | if (info == NULL) | ||
8484 | return 0; | ||
8485 | |||
8486 | GST_LOG ("Closing file"); | ||
8487 | |||
8488 | - switch (h->flags) { | ||
8489 | - case URL_WRONLY: | ||
8490 | - { | ||
8491 | - /* send EOS - that closes down the stream */ | ||
8492 | - gst_pad_push_event (info->pad, gst_event_new_eos ()); | ||
8493 | - break; | ||
8494 | - } | ||
8495 | - default: | ||
8496 | - break; | ||
8497 | + if (GST_PAD_IS_SRC (info->pad)) { | ||
8498 | + /* send EOS - that closes down the stream */ | ||
8499 | + gst_pad_push_event (info->pad, gst_event_new_eos ()); | ||
8500 | } | ||
8501 | |||
8502 | /* clean up data */ | ||
8503 | g_free (info); | ||
8504 | - h->priv_data = NULL; | ||
8505 | + h->opaque = NULL; | ||
8506 | + | ||
8507 | + av_freep (&h->buffer); | ||
8508 | + av_free (h); | ||
8509 | |||
8510 | return 0; | ||
8511 | } | ||
8512 | |||
8513 | +int | ||
8514 | +gst_ffmpegdata_open (GstPad * pad, int flags, AVIOContext ** context) | ||
8515 | +{ | ||
8516 | + GstProtocolInfo *info; | ||
8517 | + static const int buffer_size = 4096; | ||
8518 | + unsigned char *buffer = NULL; | ||
8519 | |||
8520 | -URLProtocol gstreamer_protocol = { | ||
8521 | - /*.name = */ "gstreamer", | ||
8522 | - /*.url_open = */ gst_ffmpegdata_open, | ||
8523 | - /*.url_read = */ gst_ffmpegdata_read, | ||
8524 | - /*.url_write = */ gst_ffmpegdata_write, | ||
8525 | - /*.url_seek = */ gst_ffmpegdata_seek, | ||
8526 | - /*.url_close = */ gst_ffmpegdata_close, | ||
8527 | -}; | ||
8528 | + info = g_new0 (GstProtocolInfo, 1); | ||
8529 | |||
8530 | + info->set_streamheader = flags & GST_FFMPEG_URL_STREAMHEADER; | ||
8531 | + flags &= ~GST_FFMPEG_URL_STREAMHEADER; | ||
8532 | |||
8533 | -/* specialized protocol for cross-thread pushing, | ||
8534 | - * based on ffmpeg's pipe protocol */ | ||
8535 | + /* we don't support R/W together */ | ||
8536 | + if ((flags & AVIO_FLAG_WRITE) && (flags & AVIO_FLAG_READ)) { | ||
8537 | + GST_WARNING ("Only read-only or write-only are supported"); | ||
8538 | + return -EINVAL; | ||
8539 | + } | ||
8540 | |||
8541 | -static int | ||
8542 | -gst_ffmpeg_pipe_open (URLContext * h, const char *filename, int flags) | ||
8543 | -{ | ||
8544 | - GstFFMpegPipe *ffpipe; | ||
8545 | + /* make sure we're a pad and that we're of the right type */ | ||
8546 | + g_return_val_if_fail (GST_IS_PAD (pad), -EINVAL); | ||
8547 | |||
8548 | - GST_LOG ("Opening %s", filename); | ||
8549 | + if ((flags & AVIO_FLAG_READ)) | ||
8550 | + g_return_val_if_fail (GST_PAD_IS_SINK (pad), -EINVAL); | ||
8551 | + if ((flags & AVIO_FLAG_WRITE)) | ||
8552 | + g_return_val_if_fail (GST_PAD_IS_SRC (pad), -EINVAL); | ||
8553 | |||
8554 | - /* we don't support W together */ | ||
8555 | - if (flags != URL_RDONLY) { | ||
8556 | - GST_WARNING ("Only read-only is supported"); | ||
8557 | - return -EINVAL; | ||
8558 | - } | ||
8559 | + info->eos = FALSE; | ||
8560 | + info->pad = pad; | ||
8561 | + info->offset = 0; | ||
8562 | |||
8563 | - if (sscanf (&filename[10], "%p", &ffpipe) != 1) { | ||
8564 | - GST_WARNING ("could not decode pipe info from %s", filename); | ||
8565 | - return -EIO; | ||
8566 | + buffer = av_malloc (buffer_size); | ||
8567 | + if (buffer == NULL) { | ||
8568 | + GST_WARNING ("Failed to allocate buffer"); | ||
8569 | + return -ENOMEM; | ||
8570 | } | ||
8571 | |||
8572 | - /* sanity check */ | ||
8573 | - g_return_val_if_fail (GST_IS_ADAPTER (ffpipe->adapter), -EINVAL); | ||
8574 | - | ||
8575 | - h->priv_data = (void *) ffpipe; | ||
8576 | - h->is_streamed = TRUE; | ||
8577 | - h->max_packet_size = 0; | ||
8578 | + *context = | ||
8579 | + avio_alloc_context (buffer, buffer_size, flags, (void *) info, | ||
8580 | + gst_ffmpegdata_read, gst_ffmpegdata_write, gst_ffmpegdata_seek); | ||
8581 | + (*context)->seekable = AVIO_SEEKABLE_NORMAL; | ||
8582 | + if (!(flags & AVIO_FLAG_WRITE)) { | ||
8583 | + (*context)->buf_ptr = (*context)->buf_end; | ||
8584 | + (*context)->write_flag = 0; | ||
8585 | + } | ||
8586 | |||
8587 | return 0; | ||
8588 | } | ||
8589 | |||
8590 | +/* specialized protocol for cross-thread pushing, | ||
8591 | + * based on ffmpeg's pipe protocol */ | ||
8592 | + | ||
8593 | static int | ||
8594 | -gst_ffmpeg_pipe_read (URLContext * h, unsigned char *buf, int size) | ||
8595 | +gst_ffmpeg_pipe_read (void *priv_data, unsigned char *buf, int size) | ||
8596 | { | ||
8597 | GstFFMpegPipe *ffpipe; | ||
8598 | const guint8 *data; | ||
8599 | guint available; | ||
8600 | |||
8601 | - ffpipe = (GstFFMpegPipe *) h->priv_data; | ||
8602 | + ffpipe = (GstFFMpegPipe *) priv_data; | ||
8603 | |||
8604 | GST_LOG ("requested size %d", size); | ||
8605 | |||
8606 | @@ -367,21 +314,38 @@ | ||
8607 | return size; | ||
8608 | } | ||
8609 | |||
8610 | -static int | ||
8611 | -gst_ffmpeg_pipe_close (URLContext * h) | ||
8612 | +int | ||
8613 | +gst_ffmpeg_pipe_close (AVIOContext * h) | ||
8614 | { | ||
8615 | GST_LOG ("Closing pipe"); | ||
8616 | |||
8617 | - h->priv_data = NULL; | ||
8618 | + h->opaque = NULL; | ||
8619 | + av_freep (&h->buffer); | ||
8620 | + av_free (h); | ||
8621 | |||
8622 | return 0; | ||
8623 | } | ||
8624 | |||
8625 | -URLProtocol gstpipe_protocol = { | ||
8626 | - "gstpipe", | ||
8627 | - gst_ffmpeg_pipe_open, | ||
8628 | - gst_ffmpeg_pipe_read, | ||
8629 | - NULL, | ||
8630 | - NULL, | ||
8631 | - gst_ffmpeg_pipe_close, | ||
8632 | -}; | ||
8633 | +int | ||
8634 | +gst_ffmpeg_pipe_open (GstFFMpegPipe * ffpipe, int flags, AVIOContext ** context) | ||
8635 | +{ | ||
8636 | + static const int buffer_size = 4096; | ||
8637 | + unsigned char *buffer = NULL; | ||
8638 | + | ||
8639 | + /* sanity check */ | ||
8640 | + g_return_val_if_fail (GST_IS_ADAPTER (ffpipe->adapter), -EINVAL); | ||
8641 | + | ||
8642 | + buffer = av_malloc (buffer_size); | ||
8643 | + if (buffer == NULL) { | ||
8644 | + GST_WARNING ("Failed to allocate buffer"); | ||
8645 | + return -ENOMEM; | ||
8646 | + } | ||
8647 | + | ||
8648 | + *context = | ||
8649 | + avio_alloc_context (buffer, buffer_size, 0, (void *) ffpipe, | ||
8650 | + gst_ffmpeg_pipe_read, NULL, NULL); | ||
8651 | + (*context)->seekable = 0; | ||
8652 | + (*context)->buf_ptr = (*context)->buf_end; | ||
8653 | + | ||
8654 | + return 0; | ||
8655 | +} | ||
8656 | diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegutils.c gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegutils.c | ||
8657 | --- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegutils.c 2011-07-13 11:07:28.000000000 +0200 | ||
8658 | +++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegutils.c 2014-08-08 15:34:04.007874626 +0200 | ||
8659 | @@ -25,6 +25,11 @@ | ||
8660 | #ifdef __APPLE__ | ||
8661 | #include <sys/sysctl.h> | ||
8662 | #endif | ||
8663 | +#ifdef HAVE_FFMPEG_UNINSTALLED | ||
8664 | +#include <avformat.h> | ||
8665 | +#else | ||
8666 | +#include <libavformat/avformat.h> | ||
8667 | +#endif | ||
8668 | |||
8669 | G_CONST_RETURN gchar * | ||
8670 | gst_ffmpeg_get_codecid_longname (enum CodecID codec_id) | ||
8671 | @@ -39,21 +44,21 @@ | ||
8672 | } | ||
8673 | |||
8674 | gint | ||
8675 | -av_smp_format_depth (enum SampleFormat smp_fmt) | ||
8676 | +av_smp_format_depth (enum AVSampleFormat smp_fmt) | ||
8677 | { | ||
8678 | gint depth = -1; | ||
8679 | switch (smp_fmt) { | ||
8680 | - case SAMPLE_FMT_U8: | ||
8681 | + case AV_SAMPLE_FMT_U8: | ||
8682 | depth = 1; | ||
8683 | break; | ||
8684 | - case SAMPLE_FMT_S16: | ||
8685 | + case AV_SAMPLE_FMT_S16: | ||
8686 | depth = 2; | ||
8687 | break; | ||
8688 | - case SAMPLE_FMT_S32: | ||
8689 | - case SAMPLE_FMT_FLT: | ||
8690 | + case AV_SAMPLE_FMT_S32: | ||
8691 | + case AV_SAMPLE_FMT_FLT: | ||
8692 | depth = 4; | ||
8693 | break; | ||
8694 | - case SAMPLE_FMT_DBL: | ||
8695 | + case AV_SAMPLE_FMT_DBL: | ||
8696 | depth = 8; | ||
8697 | break; | ||
8698 | default: | ||
8699 | diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegutils.c.orig gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegutils.c.orig | ||
8700 | --- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegutils.c.orig 1970-01-01 01:00:00.000000000 +0100 | ||
8701 | +++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegutils.c.orig 2011-07-13 11:07:28.000000000 +0200 | ||
8702 | @@ -0,0 +1,483 @@ | ||
8703 | +/* GStreamer | ||
8704 | + * Copyright (c) 2009 Edward Hervey <bilboed@bilboed.com> | ||
8705 | + * | ||
8706 | + * This library is free software; you can redistribute it and/or | ||
8707 | + * modify it under the terms of the GNU Library General Public | ||
8708 | + * License as published by the Free Software Foundation; either | ||
8709 | + * version 2 of the License, or (at your option) any later version. | ||
8710 | + * | ||
8711 | + * This library is distributed in the hope that it will be useful, | ||
8712 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
8713 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
8714 | + * Library General Public License for more details. | ||
8715 | + * | ||
8716 | + * You should have received a copy of the GNU Library General Public | ||
8717 | + * License along with this library; if not, write to the | ||
8718 | + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
8719 | + * Boston, MA 02111-1307, USA. | ||
8720 | + */ | ||
8721 | + | ||
8722 | +#ifdef HAVE_CONFIG_H | ||
8723 | +#include "config.h" | ||
8724 | +#endif | ||
8725 | +#include "gstffmpegutils.h" | ||
8726 | +#include <unistd.h> | ||
8727 | +#ifdef __APPLE__ | ||
8728 | +#include <sys/sysctl.h> | ||
8729 | +#endif | ||
8730 | + | ||
8731 | +G_CONST_RETURN gchar * | ||
8732 | +gst_ffmpeg_get_codecid_longname (enum CodecID codec_id) | ||
8733 | +{ | ||
8734 | + AVCodec *codec; | ||
8735 | + /* Let's use what ffmpeg can provide us */ | ||
8736 | + | ||
8737 | + if ((codec = avcodec_find_decoder (codec_id)) || | ||
8738 | + (codec = avcodec_find_encoder (codec_id))) | ||
8739 | + return codec->long_name; | ||
8740 | + return NULL; | ||
8741 | +} | ||
8742 | + | ||
8743 | +gint | ||
8744 | +av_smp_format_depth (enum SampleFormat smp_fmt) | ||
8745 | +{ | ||
8746 | + gint depth = -1; | ||
8747 | + switch (smp_fmt) { | ||
8748 | + case SAMPLE_FMT_U8: | ||
8749 | + depth = 1; | ||
8750 | + break; | ||
8751 | + case SAMPLE_FMT_S16: | ||
8752 | + depth = 2; | ||
8753 | + break; | ||
8754 | + case SAMPLE_FMT_S32: | ||
8755 | + case SAMPLE_FMT_FLT: | ||
8756 | + depth = 4; | ||
8757 | + break; | ||
8758 | + case SAMPLE_FMT_DBL: | ||
8759 | + depth = 8; | ||
8760 | + break; | ||
8761 | + default: | ||
8762 | + GST_ERROR ("UNHANDLED SAMPLE FORMAT !"); | ||
8763 | + break; | ||
8764 | + } | ||
8765 | + return depth; | ||
8766 | +} | ||
8767 | + | ||
8768 | + | ||
8769 | +/* | ||
8770 | + * Fill in pointers to memory in a AVPicture, where | ||
8771 | + * everything is aligned by 4 (as required by X). | ||
8772 | + * This is mostly a copy from imgconvert.c with some | ||
8773 | + * small changes. | ||
8774 | + */ | ||
8775 | + | ||
8776 | +#define FF_COLOR_RGB 0 /* RGB color space */ | ||
8777 | +#define FF_COLOR_GRAY 1 /* gray color space */ | ||
8778 | +#define FF_COLOR_YUV 2 /* YUV color space. 16 <= Y <= 235, 16 <= U, V <= 240 */ | ||
8779 | +#define FF_COLOR_YUV_JPEG 3 /* YUV color space. 0 <= Y <= 255, 0 <= U, V <= 255 */ | ||
8780 | + | ||
8781 | +#define FF_PIXEL_PLANAR 0 /* each channel has one component in AVPicture */ | ||
8782 | +#define FF_PIXEL_PACKED 1 /* only one components containing all the channels */ | ||
8783 | +#define FF_PIXEL_PALETTE 2 /* one components containing indexes for a palette */ | ||
8784 | + | ||
8785 | +typedef struct PixFmtInfo | ||
8786 | +{ | ||
8787 | + const char *name; | ||
8788 | + uint8_t nb_channels; /* number of channels (including alpha) */ | ||
8789 | + uint8_t color_type; /* color type (see FF_COLOR_xxx constants) */ | ||
8790 | + uint8_t pixel_type; /* pixel storage type (see FF_PIXEL_xxx constants) */ | ||
8791 | + uint8_t is_alpha:1; /* true if alpha can be specified */ | ||
8792 | + uint8_t x_chroma_shift; /* X chroma subsampling factor is 2 ^ shift */ | ||
8793 | + uint8_t y_chroma_shift; /* Y chroma subsampling factor is 2 ^ shift */ | ||
8794 | + uint8_t depth; /* bit depth of the color components */ | ||
8795 | +} PixFmtInfo; | ||
8796 | + | ||
8797 | + | ||
8798 | +/* this table gives more information about formats */ | ||
8799 | +static PixFmtInfo pix_fmt_info[PIX_FMT_NB]; | ||
8800 | +void | ||
8801 | +gst_ffmpeg_init_pix_fmt_info (void) | ||
8802 | +{ | ||
8803 | + /* YUV formats */ | ||
8804 | + pix_fmt_info[PIX_FMT_YUV420P].name = g_strdup ("yuv420p"); | ||
8805 | + pix_fmt_info[PIX_FMT_YUV420P].nb_channels = 3; | ||
8806 | + pix_fmt_info[PIX_FMT_YUV420P].color_type = FF_COLOR_YUV; | ||
8807 | + pix_fmt_info[PIX_FMT_YUV420P].pixel_type = FF_PIXEL_PLANAR; | ||
8808 | + pix_fmt_info[PIX_FMT_YUV420P].depth = 8, | ||
8809 | + pix_fmt_info[PIX_FMT_YUV420P].x_chroma_shift = 1, | ||
8810 | + pix_fmt_info[PIX_FMT_YUV420P].y_chroma_shift = 1; | ||
8811 | + | ||
8812 | + pix_fmt_info[PIX_FMT_YUV422P].name = g_strdup ("yuv422p"); | ||
8813 | + pix_fmt_info[PIX_FMT_YUV422P].nb_channels = 3; | ||
8814 | + pix_fmt_info[PIX_FMT_YUV422P].color_type = FF_COLOR_YUV; | ||
8815 | + pix_fmt_info[PIX_FMT_YUV422P].pixel_type = FF_PIXEL_PLANAR; | ||
8816 | + pix_fmt_info[PIX_FMT_YUV422P].depth = 8; | ||
8817 | + pix_fmt_info[PIX_FMT_YUV422P].x_chroma_shift = 1; | ||
8818 | + pix_fmt_info[PIX_FMT_YUV422P].y_chroma_shift = 0; | ||
8819 | + | ||
8820 | + pix_fmt_info[PIX_FMT_YUV444P].name = g_strdup ("yuv444p"); | ||
8821 | + pix_fmt_info[PIX_FMT_YUV444P].nb_channels = 3; | ||
8822 | + pix_fmt_info[PIX_FMT_YUV444P].color_type = FF_COLOR_YUV; | ||
8823 | + pix_fmt_info[PIX_FMT_YUV444P].pixel_type = FF_PIXEL_PLANAR; | ||
8824 | + pix_fmt_info[PIX_FMT_YUV444P].depth = 8; | ||
8825 | + pix_fmt_info[PIX_FMT_YUV444P].x_chroma_shift = 0; | ||
8826 | + pix_fmt_info[PIX_FMT_YUV444P].y_chroma_shift = 0; | ||
8827 | + | ||
8828 | + pix_fmt_info[PIX_FMT_YUYV422].name = g_strdup ("yuv422"); | ||
8829 | + pix_fmt_info[PIX_FMT_YUYV422].nb_channels = 1; | ||
8830 | + pix_fmt_info[PIX_FMT_YUYV422].color_type = FF_COLOR_YUV; | ||
8831 | + pix_fmt_info[PIX_FMT_YUYV422].pixel_type = FF_PIXEL_PACKED; | ||
8832 | + pix_fmt_info[PIX_FMT_YUYV422].depth = 8; | ||
8833 | + pix_fmt_info[PIX_FMT_YUYV422].x_chroma_shift = 1; | ||
8834 | + pix_fmt_info[PIX_FMT_YUYV422].y_chroma_shift = 0; | ||
8835 | + | ||
8836 | + pix_fmt_info[PIX_FMT_YUV410P].name = g_strdup ("yuv410p"); | ||
8837 | + pix_fmt_info[PIX_FMT_YUV410P].nb_channels = 3; | ||
8838 | + pix_fmt_info[PIX_FMT_YUV410P].color_type = FF_COLOR_YUV; | ||
8839 | + pix_fmt_info[PIX_FMT_YUV410P].pixel_type = FF_PIXEL_PLANAR; | ||
8840 | + pix_fmt_info[PIX_FMT_YUV410P].depth = 8; | ||
8841 | + pix_fmt_info[PIX_FMT_YUV410P].x_chroma_shift = 2; | ||
8842 | + pix_fmt_info[PIX_FMT_YUV410P].y_chroma_shift = 2; | ||
8843 | + | ||
8844 | + pix_fmt_info[PIX_FMT_YUV411P].name = g_strdup ("yuv411p"); | ||
8845 | + pix_fmt_info[PIX_FMT_YUV411P].nb_channels = 3; | ||
8846 | + pix_fmt_info[PIX_FMT_YUV411P].color_type = FF_COLOR_YUV; | ||
8847 | + pix_fmt_info[PIX_FMT_YUV411P].pixel_type = FF_PIXEL_PLANAR; | ||
8848 | + pix_fmt_info[PIX_FMT_YUV411P].depth = 8; | ||
8849 | + pix_fmt_info[PIX_FMT_YUV411P].x_chroma_shift = 2; | ||
8850 | + pix_fmt_info[PIX_FMT_YUV411P].y_chroma_shift = 0; | ||
8851 | + | ||
8852 | + /* JPEG YUV */ | ||
8853 | + pix_fmt_info[PIX_FMT_YUVJ420P].name = g_strdup ("yuvj420p"); | ||
8854 | + pix_fmt_info[PIX_FMT_YUVJ420P].nb_channels = 3; | ||
8855 | + pix_fmt_info[PIX_FMT_YUVJ420P].color_type = FF_COLOR_YUV_JPEG; | ||
8856 | + pix_fmt_info[PIX_FMT_YUVJ420P].pixel_type = FF_PIXEL_PLANAR; | ||
8857 | + pix_fmt_info[PIX_FMT_YUVJ420P].depth = 8; | ||
8858 | + pix_fmt_info[PIX_FMT_YUVJ420P].x_chroma_shift = 1; | ||
8859 | + pix_fmt_info[PIX_FMT_YUVJ420P].y_chroma_shift = 1; | ||
8860 | + | ||
8861 | + pix_fmt_info[PIX_FMT_YUVJ422P].name = g_strdup ("yuvj422p"); | ||
8862 | + pix_fmt_info[PIX_FMT_YUVJ422P].nb_channels = 3; | ||
8863 | + pix_fmt_info[PIX_FMT_YUVJ422P].color_type = FF_COLOR_YUV_JPEG; | ||
8864 | + pix_fmt_info[PIX_FMT_YUVJ422P].pixel_type = FF_PIXEL_PLANAR; | ||
8865 | + pix_fmt_info[PIX_FMT_YUVJ422P].depth = 8; | ||
8866 | + pix_fmt_info[PIX_FMT_YUVJ422P].x_chroma_shift = 1; | ||
8867 | + pix_fmt_info[PIX_FMT_YUVJ422P].y_chroma_shift = 0; | ||
8868 | + | ||
8869 | + pix_fmt_info[PIX_FMT_YUVJ444P].name = g_strdup ("yuvj444p"); | ||
8870 | + pix_fmt_info[PIX_FMT_YUVJ444P].nb_channels = 3; | ||
8871 | + pix_fmt_info[PIX_FMT_YUVJ444P].color_type = FF_COLOR_YUV_JPEG; | ||
8872 | + pix_fmt_info[PIX_FMT_YUVJ444P].pixel_type = FF_PIXEL_PLANAR; | ||
8873 | + pix_fmt_info[PIX_FMT_YUVJ444P].depth = 8; | ||
8874 | + pix_fmt_info[PIX_FMT_YUVJ444P].x_chroma_shift = 0; | ||
8875 | + pix_fmt_info[PIX_FMT_YUVJ444P].y_chroma_shift = 0; | ||
8876 | + | ||
8877 | + /* RGB formats */ | ||
8878 | + pix_fmt_info[PIX_FMT_RGB24].name = g_strdup ("rgb24"); | ||
8879 | + pix_fmt_info[PIX_FMT_RGB24].nb_channels = 3; | ||
8880 | + pix_fmt_info[PIX_FMT_RGB24].color_type = FF_COLOR_RGB; | ||
8881 | + pix_fmt_info[PIX_FMT_RGB24].pixel_type = FF_PIXEL_PACKED; | ||
8882 | + pix_fmt_info[PIX_FMT_RGB24].depth = 8; | ||
8883 | + pix_fmt_info[PIX_FMT_RGB24].x_chroma_shift = 0; | ||
8884 | + pix_fmt_info[PIX_FMT_RGB24].y_chroma_shift = 0; | ||
8885 | + | ||
8886 | + pix_fmt_info[PIX_FMT_BGR24].name = g_strdup ("bgr24"); | ||
8887 | + pix_fmt_info[PIX_FMT_BGR24].nb_channels = 3; | ||
8888 | + pix_fmt_info[PIX_FMT_BGR24].color_type = FF_COLOR_RGB; | ||
8889 | + pix_fmt_info[PIX_FMT_BGR24].pixel_type = FF_PIXEL_PACKED; | ||
8890 | + pix_fmt_info[PIX_FMT_BGR24].depth = 8; | ||
8891 | + pix_fmt_info[PIX_FMT_BGR24].x_chroma_shift = 0; | ||
8892 | + pix_fmt_info[PIX_FMT_BGR24].y_chroma_shift = 0; | ||
8893 | + | ||
8894 | + pix_fmt_info[PIX_FMT_RGB32].name = g_strdup ("rgba32"); | ||
8895 | + pix_fmt_info[PIX_FMT_RGB32].nb_channels = 4; | ||
8896 | + pix_fmt_info[PIX_FMT_RGB32].is_alpha = 1; | ||
8897 | + pix_fmt_info[PIX_FMT_RGB32].color_type = FF_COLOR_RGB; | ||
8898 | + pix_fmt_info[PIX_FMT_RGB32].pixel_type = FF_PIXEL_PACKED; | ||
8899 | + pix_fmt_info[PIX_FMT_RGB32].depth = 8; | ||
8900 | + pix_fmt_info[PIX_FMT_RGB32].x_chroma_shift = 0; | ||
8901 | + pix_fmt_info[PIX_FMT_RGB32].y_chroma_shift = 0; | ||
8902 | + | ||
8903 | + pix_fmt_info[PIX_FMT_RGB565].name = g_strdup ("rgb565"); | ||
8904 | + pix_fmt_info[PIX_FMT_RGB565].nb_channels = 3; | ||
8905 | + pix_fmt_info[PIX_FMT_RGB565].color_type = FF_COLOR_RGB; | ||
8906 | + pix_fmt_info[PIX_FMT_RGB565].pixel_type = FF_PIXEL_PACKED; | ||
8907 | + pix_fmt_info[PIX_FMT_RGB565].depth = 5; | ||
8908 | + pix_fmt_info[PIX_FMT_RGB565].x_chroma_shift = 0; | ||
8909 | + pix_fmt_info[PIX_FMT_RGB565].y_chroma_shift = 0; | ||
8910 | + | ||
8911 | + pix_fmt_info[PIX_FMT_RGB555].name = g_strdup ("rgb555"); | ||
8912 | + pix_fmt_info[PIX_FMT_RGB555].nb_channels = 4; | ||
8913 | + pix_fmt_info[PIX_FMT_RGB555].is_alpha = 1; | ||
8914 | + pix_fmt_info[PIX_FMT_RGB555].color_type = FF_COLOR_RGB; | ||
8915 | + pix_fmt_info[PIX_FMT_RGB555].pixel_type = FF_PIXEL_PACKED; | ||
8916 | + pix_fmt_info[PIX_FMT_RGB555].depth = 5; | ||
8917 | + pix_fmt_info[PIX_FMT_RGB555].x_chroma_shift = 0; | ||
8918 | + pix_fmt_info[PIX_FMT_RGB555].y_chroma_shift = 0; | ||
8919 | + | ||
8920 | + /* gray / mono formats */ | ||
8921 | + pix_fmt_info[PIX_FMT_GRAY8].name = g_strdup ("gray"); | ||
8922 | + pix_fmt_info[PIX_FMT_GRAY8].nb_channels = 1; | ||
8923 | + pix_fmt_info[PIX_FMT_GRAY8].color_type = FF_COLOR_GRAY; | ||
8924 | + pix_fmt_info[PIX_FMT_GRAY8].pixel_type = FF_PIXEL_PLANAR; | ||
8925 | + pix_fmt_info[PIX_FMT_GRAY8].depth = 8; | ||
8926 | + | ||
8927 | + pix_fmt_info[PIX_FMT_MONOWHITE].name = g_strdup ("monow"); | ||
8928 | + pix_fmt_info[PIX_FMT_MONOWHITE].nb_channels = 1; | ||
8929 | + pix_fmt_info[PIX_FMT_MONOWHITE].color_type = FF_COLOR_GRAY; | ||
8930 | + pix_fmt_info[PIX_FMT_MONOWHITE].pixel_type = FF_PIXEL_PLANAR; | ||
8931 | + pix_fmt_info[PIX_FMT_MONOWHITE].depth = 1; | ||
8932 | + | ||
8933 | + pix_fmt_info[PIX_FMT_MONOBLACK].name = g_strdup ("monob"); | ||
8934 | + pix_fmt_info[PIX_FMT_MONOBLACK].nb_channels = 1; | ||
8935 | + pix_fmt_info[PIX_FMT_MONOBLACK].color_type = FF_COLOR_GRAY; | ||
8936 | + pix_fmt_info[PIX_FMT_MONOBLACK].pixel_type = FF_PIXEL_PLANAR; | ||
8937 | + pix_fmt_info[PIX_FMT_MONOBLACK].depth = 1; | ||
8938 | + | ||
8939 | + /* paletted formats */ | ||
8940 | + pix_fmt_info[PIX_FMT_PAL8].name = g_strdup ("pal8"); | ||
8941 | + pix_fmt_info[PIX_FMT_PAL8].nb_channels = 4; | ||
8942 | + pix_fmt_info[PIX_FMT_PAL8].is_alpha = 1; | ||
8943 | + pix_fmt_info[PIX_FMT_PAL8].color_type = FF_COLOR_RGB; | ||
8944 | + pix_fmt_info[PIX_FMT_PAL8].pixel_type = FF_PIXEL_PALETTE; | ||
8945 | + pix_fmt_info[PIX_FMT_PAL8].depth = 8; | ||
8946 | + | ||
8947 | + pix_fmt_info[PIX_FMT_YUVA420P].name = g_strdup ("yuva420p"); | ||
8948 | + pix_fmt_info[PIX_FMT_YUVA420P].nb_channels = 4; | ||
8949 | + pix_fmt_info[PIX_FMT_YUVA420P].is_alpha = 1; | ||
8950 | + pix_fmt_info[PIX_FMT_YUVA420P].color_type = FF_COLOR_YUV; | ||
8951 | + pix_fmt_info[PIX_FMT_YUVA420P].pixel_type = FF_PIXEL_PLANAR; | ||
8952 | + pix_fmt_info[PIX_FMT_YUVA420P].depth = 8, | ||
8953 | + pix_fmt_info[PIX_FMT_YUVA420P].x_chroma_shift = 1, | ||
8954 | + pix_fmt_info[PIX_FMT_YUVA420P].y_chroma_shift = 1; | ||
8955 | +}; | ||
8956 | + | ||
8957 | +int | ||
8958 | +gst_ffmpeg_avpicture_get_size (int pix_fmt, int width, int height) | ||
8959 | +{ | ||
8960 | + AVPicture dummy_pict; | ||
8961 | + | ||
8962 | + return gst_ffmpeg_avpicture_fill (&dummy_pict, NULL, pix_fmt, width, height); | ||
8963 | +} | ||
8964 | + | ||
8965 | +#define GEN_MASK(x) ((1<<(x))-1) | ||
8966 | +#define ROUND_UP_X(v,x) (((v) + GEN_MASK(x)) & ~GEN_MASK(x)) | ||
8967 | +#define ROUND_UP_2(x) ROUND_UP_X (x, 1) | ||
8968 | +#define ROUND_UP_4(x) ROUND_UP_X (x, 2) | ||
8969 | +#define ROUND_UP_8(x) ROUND_UP_X (x, 3) | ||
8970 | +#define DIV_ROUND_UP_X(v,x) (((v) + GEN_MASK(x)) >> (x)) | ||
8971 | + | ||
8972 | +int | ||
8973 | +gst_ffmpeg_avpicture_fill (AVPicture * picture, | ||
8974 | + uint8_t * ptr, enum PixelFormat pix_fmt, int width, int height) | ||
8975 | +{ | ||
8976 | + int size, w2, h2, size2; | ||
8977 | + int stride, stride2; | ||
8978 | + PixFmtInfo *pinfo; | ||
8979 | + | ||
8980 | + pinfo = &pix_fmt_info[pix_fmt]; | ||
8981 | + | ||
8982 | + switch (pix_fmt) { | ||
8983 | + case PIX_FMT_YUV420P: | ||
8984 | + case PIX_FMT_YUV422P: | ||
8985 | + case PIX_FMT_YUV444P: | ||
8986 | + case PIX_FMT_YUV410P: | ||
8987 | + case PIX_FMT_YUV411P: | ||
8988 | + case PIX_FMT_YUVJ420P: | ||
8989 | + case PIX_FMT_YUVJ422P: | ||
8990 | + case PIX_FMT_YUVJ444P: | ||
8991 | + stride = ROUND_UP_4 (width); | ||
8992 | + h2 = ROUND_UP_X (height, pinfo->y_chroma_shift); | ||
8993 | + size = stride * h2; | ||
8994 | + w2 = DIV_ROUND_UP_X (width, pinfo->x_chroma_shift); | ||
8995 | + stride2 = ROUND_UP_4 (w2); | ||
8996 | + h2 = DIV_ROUND_UP_X (height, pinfo->y_chroma_shift); | ||
8997 | + size2 = stride2 * h2; | ||
8998 | + picture->data[0] = ptr; | ||
8999 | + picture->data[1] = picture->data[0] + size; | ||
9000 | + picture->data[2] = picture->data[1] + size2; | ||
9001 | + picture->data[3] = NULL; | ||
9002 | + picture->linesize[0] = stride; | ||
9003 | + picture->linesize[1] = stride2; | ||
9004 | + picture->linesize[2] = stride2; | ||
9005 | + picture->linesize[3] = 0; | ||
9006 | + GST_DEBUG ("planes %d %d %d", 0, size, size + size2); | ||
9007 | + GST_DEBUG ("strides %d %d %d", stride, stride2, stride2); | ||
9008 | + return size + 2 * size2; | ||
9009 | + case PIX_FMT_YUVA420P: | ||
9010 | + stride = ROUND_UP_4 (width); | ||
9011 | + h2 = ROUND_UP_X (height, pinfo->y_chroma_shift); | ||
9012 | + size = stride * h2; | ||
9013 | + w2 = DIV_ROUND_UP_X (width, pinfo->x_chroma_shift); | ||
9014 | + stride2 = ROUND_UP_4 (w2); | ||
9015 | + h2 = DIV_ROUND_UP_X (height, pinfo->y_chroma_shift); | ||
9016 | + size2 = stride2 * h2; | ||
9017 | + picture->data[0] = ptr; | ||
9018 | + picture->data[1] = picture->data[0] + size; | ||
9019 | + picture->data[2] = picture->data[1] + size2; | ||
9020 | + picture->data[3] = picture->data[2] + size2; | ||
9021 | + picture->linesize[0] = stride; | ||
9022 | + picture->linesize[1] = stride2; | ||
9023 | + picture->linesize[2] = stride2; | ||
9024 | + picture->linesize[3] = stride; | ||
9025 | + GST_DEBUG ("planes %d %d %d %d", 0, size, size + size2, size + 2 * size2); | ||
9026 | + GST_DEBUG ("strides %d %d %d %d", stride, stride2, stride2, stride); | ||
9027 | + return 2 * size + 2 * size2; | ||
9028 | + case PIX_FMT_RGB24: | ||
9029 | + case PIX_FMT_BGR24: | ||
9030 | + stride = ROUND_UP_4 (width * 3); | ||
9031 | + size = stride * height; | ||
9032 | + picture->data[0] = ptr; | ||
9033 | + picture->data[1] = NULL; | ||
9034 | + picture->data[2] = NULL; | ||
9035 | + picture->data[3] = NULL; | ||
9036 | + picture->linesize[0] = stride; | ||
9037 | + picture->linesize[1] = 0; | ||
9038 | + picture->linesize[2] = 0; | ||
9039 | + picture->linesize[3] = 0; | ||
9040 | + return size; | ||
9041 | + /*case PIX_FMT_AYUV4444: | ||
9042 | + case PIX_FMT_BGR32: | ||
9043 | + case PIX_FMT_BGRA32: | ||
9044 | + case PIX_FMT_RGB32: */ | ||
9045 | + case PIX_FMT_RGB32: | ||
9046 | + stride = width * 4; | ||
9047 | + size = stride * height; | ||
9048 | + picture->data[0] = ptr; | ||
9049 | + picture->data[1] = NULL; | ||
9050 | + picture->data[2] = NULL; | ||
9051 | + picture->data[3] = NULL; | ||
9052 | + picture->linesize[0] = stride; | ||
9053 | + picture->linesize[1] = 0; | ||
9054 | + picture->linesize[2] = 0; | ||
9055 | + picture->linesize[3] = 0; | ||
9056 | + return size; | ||
9057 | + case PIX_FMT_RGB555: | ||
9058 | + case PIX_FMT_RGB565: | ||
9059 | + case PIX_FMT_YUYV422: | ||
9060 | + case PIX_FMT_UYVY422: | ||
9061 | + stride = ROUND_UP_4 (width * 2); | ||
9062 | + size = stride * height; | ||
9063 | + picture->data[0] = ptr; | ||
9064 | + picture->data[1] = NULL; | ||
9065 | + picture->data[2] = NULL; | ||
9066 | + picture->data[3] = NULL; | ||
9067 | + picture->linesize[0] = stride; | ||
9068 | + picture->linesize[1] = 0; | ||
9069 | + picture->linesize[2] = 0; | ||
9070 | + picture->linesize[3] = 0; | ||
9071 | + return size; | ||
9072 | + case PIX_FMT_UYYVYY411: | ||
9073 | + /* FIXME, probably not the right stride */ | ||
9074 | + stride = ROUND_UP_4 (width); | ||
9075 | + size = stride * height; | ||
9076 | + picture->data[0] = ptr; | ||
9077 | + picture->data[1] = NULL; | ||
9078 | + picture->data[2] = NULL; | ||
9079 | + picture->data[3] = NULL; | ||
9080 | + picture->linesize[0] = width + width / 2; | ||
9081 | + picture->linesize[1] = 0; | ||
9082 | + picture->linesize[2] = 0; | ||
9083 | + picture->linesize[3] = 0; | ||
9084 | + return size + size / 2; | ||
9085 | + case PIX_FMT_GRAY8: | ||
9086 | + stride = ROUND_UP_4 (width); | ||
9087 | + size = stride * height; | ||
9088 | + picture->data[0] = ptr; | ||
9089 | + picture->data[1] = NULL; | ||
9090 | + picture->data[2] = NULL; | ||
9091 | + picture->data[3] = NULL; | ||
9092 | + picture->linesize[0] = stride; | ||
9093 | + picture->linesize[1] = 0; | ||
9094 | + picture->linesize[2] = 0; | ||
9095 | + picture->linesize[3] = 0; | ||
9096 | + return size; | ||
9097 | + case PIX_FMT_MONOWHITE: | ||
9098 | + case PIX_FMT_MONOBLACK: | ||
9099 | + stride = ROUND_UP_4 ((width + 7) >> 3); | ||
9100 | + size = stride * height; | ||
9101 | + picture->data[0] = ptr; | ||
9102 | + picture->data[1] = NULL; | ||
9103 | + picture->data[2] = NULL; | ||
9104 | + picture->data[3] = NULL; | ||
9105 | + picture->linesize[0] = stride; | ||
9106 | + picture->linesize[1] = 0; | ||
9107 | + picture->linesize[2] = 0; | ||
9108 | + picture->linesize[3] = 0; | ||
9109 | + return size; | ||
9110 | + case PIX_FMT_PAL8: | ||
9111 | + /* already forced to be with stride, so same result as other function */ | ||
9112 | + stride = ROUND_UP_4 (width); | ||
9113 | + size = stride * height; | ||
9114 | + picture->data[0] = ptr; | ||
9115 | + picture->data[1] = ptr + size; /* palette is stored here as 256 32 bit words */ | ||
9116 | + picture->data[2] = NULL; | ||
9117 | + picture->data[3] = NULL; | ||
9118 | + picture->linesize[0] = stride; | ||
9119 | + picture->linesize[1] = 4; | ||
9120 | + picture->linesize[2] = 0; | ||
9121 | + picture->linesize[3] = 0; | ||
9122 | + return size + 256 * 4; | ||
9123 | + default: | ||
9124 | + picture->data[0] = NULL; | ||
9125 | + picture->data[1] = NULL; | ||
9126 | + picture->data[2] = NULL; | ||
9127 | + picture->data[3] = NULL; | ||
9128 | + return -1; | ||
9129 | + } | ||
9130 | + | ||
9131 | + return 0; | ||
9132 | +} | ||
9133 | + | ||
9134 | +/* Create a GstBuffer of the requested size and caps. | ||
9135 | + * The memory will be allocated by ffmpeg, making sure it's properly aligned | ||
9136 | + * for any processing. */ | ||
9137 | + | ||
9138 | +GstBuffer * | ||
9139 | +new_aligned_buffer (gint size, GstCaps * caps) | ||
9140 | +{ | ||
9141 | + GstBuffer *buf; | ||
9142 | + | ||
9143 | + buf = gst_buffer_new (); | ||
9144 | + GST_BUFFER_DATA (buf) = GST_BUFFER_MALLOCDATA (buf) = av_malloc (size); | ||
9145 | + GST_BUFFER_SIZE (buf) = size; | ||
9146 | + GST_BUFFER_FREE_FUNC (buf) = av_free; | ||
9147 | + if (caps) | ||
9148 | + gst_buffer_set_caps (buf, caps); | ||
9149 | + | ||
9150 | + return buf; | ||
9151 | +} | ||
9152 | + | ||
9153 | +int | ||
9154 | +gst_ffmpeg_auto_max_threads (void) | ||
9155 | +{ | ||
9156 | + static gsize n_threads = 0; | ||
9157 | + if (g_once_init_enter (&n_threads)) { | ||
9158 | + int n = 1; | ||
9159 | +#if defined(_WIN32) | ||
9160 | + { | ||
9161 | + const char *s = getenv ("NUMBER_OF_PROCESSORS"); | ||
9162 | + if (s) { | ||
9163 | + n = atoi (s); | ||
9164 | + } | ||
9165 | + } | ||
9166 | +#elif defined(__APPLE__) | ||
9167 | + { | ||
9168 | + int mib[] = { CTL_HW, HW_NCPU }; | ||
9169 | + size_t dataSize = sizeof (int); | ||
9170 | + | ||
9171 | + if (sysctl (mib, 2, &n_threads, &dataSize, NULL, 0)) { | ||
9172 | + n = 1; | ||
9173 | + } | ||
9174 | + } | ||
9175 | +#else | ||
9176 | + n = sysconf (_SC_NPROCESSORS_CONF); | ||
9177 | +#endif | ||
9178 | + if (n < 1) | ||
9179 | + n = 1; | ||
9180 | + | ||
9181 | + g_once_init_leave (&n_threads, n); | ||
9182 | + } | ||
9183 | + | ||
9184 | + return (int) (n_threads); | ||
9185 | +} | ||
9186 | diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegutils.h gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegutils.h | ||
9187 | --- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegutils.h 2011-11-02 14:04:05.000000000 +0100 | ||
9188 | +++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegutils.h 2014-08-08 15:34:04.007874626 +0200 | ||
9189 | @@ -23,6 +23,7 @@ | ||
9190 | #ifdef HAVE_FFMPEG_UNINSTALLED | ||
9191 | #include <avcodec.h> | ||
9192 | #else | ||
9193 | +#include <libavutil/mathematics.h> | ||
9194 | #include <libavcodec/avcodec.h> | ||
9195 | #endif | ||
9196 | #include <gst/gst.h> | ||
9197 | @@ -87,7 +88,7 @@ | ||
9198 | gst_ffmpeg_get_codecid_longname (enum CodecID codec_id); | ||
9199 | |||
9200 | gint | ||
9201 | -av_smp_format_depth(enum SampleFormat smp_fmt); | ||
9202 | +av_smp_format_depth(enum AVSampleFormat smp_fmt); | ||
9203 | |||
9204 | GstBuffer * | ||
9205 | new_aligned_buffer (gint size, GstCaps * caps); | ||
9206 | diff -uNr gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegutils.h.orig gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegutils.h.orig | ||
9207 | --- gst-ffmpeg-0.10.13.orig/ext/ffmpeg/gstffmpegutils.h.orig 1970-01-01 01:00:00.000000000 +0100 | ||
9208 | +++ gst-ffmpeg-0.10.13/ext/ffmpeg/gstffmpegutils.h.orig 2014-08-08 15:26:38.473858652 +0200 | ||
9209 | @@ -0,0 +1,95 @@ | ||
9210 | +/* GStreamer | ||
9211 | + * Copyright (C) <2009> Edward Hervey <bilboed@bilboed.com> | ||
9212 | + * | ||
9213 | + * This library is free software; you can redistribute it and/or | ||
9214 | + * modify it under the terms of the GNU Library General Public | ||
9215 | + * License as published by the Free Software Foundation; either | ||
9216 | + * version 2 of the License, or (at your option) any later version. | ||
9217 | + * | ||
9218 | + * This library is distributed in the hope that it will be useful, | ||
9219 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
9220 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
9221 | + * Library General Public License for more details. | ||
9222 | + * | ||
9223 | + * You should have received a copy of the GNU Library General Public | ||
9224 | + * License along with this library; if not, write to the | ||
9225 | + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
9226 | + * Boston, MA 02111-1307, USA. | ||
9227 | + */ | ||
9228 | + | ||
9229 | +#ifndef __GST_FFMPEG_UTILS_H__ | ||
9230 | +#define __GST_FFMPEG_UTILS_H__ | ||
9231 | + | ||
9232 | +#ifdef HAVE_FFMPEG_UNINSTALLED | ||
9233 | +#include <avcodec.h> | ||
9234 | +#else | ||
9235 | +#include <libavcodec/avcodec.h> | ||
9236 | +#endif | ||
9237 | +#include <gst/gst.h> | ||
9238 | + | ||
9239 | +/* | ||
9240 | + *Get the size of an picture | ||
9241 | + */ | ||
9242 | +int | ||
9243 | +gst_ffmpeg_avpicture_get_size (int pix_fmt, int width, int height); | ||
9244 | + | ||
9245 | +/* | ||
9246 | + * Fill in pointers in an AVPicture, aligned by 4 (required by X). | ||
9247 | + */ | ||
9248 | + | ||
9249 | +int | ||
9250 | +gst_ffmpeg_avpicture_fill (AVPicture * picture, | ||
9251 | + uint8_t * ptr, | ||
9252 | + enum PixelFormat pix_fmt, | ||
9253 | + int width, | ||
9254 | + int height); | ||
9255 | + | ||
9256 | +/* | ||
9257 | + * Convert from/to a GStreamer <-> FFMpeg timestamp. | ||
9258 | + */ | ||
9259 | +static inline guint64 | ||
9260 | +gst_ffmpeg_time_ff_to_gst (gint64 pts, AVRational base) | ||
9261 | +{ | ||
9262 | + guint64 out; | ||
9263 | + | ||
9264 | + if (pts == AV_NOPTS_VALUE){ | ||
9265 | + out = GST_CLOCK_TIME_NONE; | ||
9266 | + } else { | ||
9267 | + AVRational bq = { 1, GST_SECOND }; | ||
9268 | + out = av_rescale_q (pts, base, bq); | ||
9269 | + } | ||
9270 | + | ||
9271 | + return out; | ||
9272 | +} | ||
9273 | + | ||
9274 | +static inline gint64 | ||
9275 | +gst_ffmpeg_time_gst_to_ff (guint64 time, AVRational base) | ||
9276 | +{ | ||
9277 | + gint64 out; | ||
9278 | + | ||
9279 | + if (!GST_CLOCK_TIME_IS_VALID (time) || base.num == 0) { | ||
9280 | + out = AV_NOPTS_VALUE; | ||
9281 | + } else { | ||
9282 | + AVRational bq = { 1, GST_SECOND }; | ||
9283 | + out = av_rescale_q (time, bq, base); | ||
9284 | + } | ||
9285 | + | ||
9286 | + return out; | ||
9287 | +} | ||
9288 | + | ||
9289 | +void | ||
9290 | +gst_ffmpeg_init_pix_fmt_info(void); | ||
9291 | + | ||
9292 | +int | ||
9293 | +gst_ffmpeg_auto_max_threads(void); | ||
9294 | + | ||
9295 | +G_CONST_RETURN gchar * | ||
9296 | +gst_ffmpeg_get_codecid_longname (enum CodecID codec_id); | ||
9297 | + | ||
9298 | +gint | ||
9299 | +av_smp_format_depth(enum AVSampleFormat smp_fmt); | ||
9300 | + | ||
9301 | +GstBuffer * | ||
9302 | +new_aligned_buffer (gint size, GstCaps * caps); | ||
9303 | + | ||
9304 | +#endif /* __GST_FFMPEG_UTILS_H__ */ | ||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/libav_e500mc.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/libav_e500mc.patch deleted file mode 100644 index eba498803..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/libav_e500mc.patch +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | diff --git a/gst-libs/ext/libav/configure b/gst-libs/ext/libav/configure | ||
2 | index 8473069..4f74952 100755 | ||
3 | --- a/gst-libs/ext/libav/configure | ||
4 | +++ b/gst-libs/ext/libav/configure | ||
5 | Fix gst-ffmpeg build issues for libav on e500mc (fsl-p4080) | ||
6 | |||
7 | Upstream-Status: Backport | ||
8 | |||
9 | Signed-off-by: Yao Zhao <yao.zhao@windriver.com> | ||
10 | |||
11 | @@ -2210,6 +2210,10 @@ elif enabled ppc; then | ||
12 | cpuflags="-mcpu=cell" | ||
13 | enable ldbrx | ||
14 | ;; | ||
15 | + e500mc) | ||
16 | + cpuflags="-mcpu=e500mc" | ||
17 | + disable altivec | ||
18 | + ;; | ||
19 | e500v2) | ||
20 | cpuflags="-mcpu=8548 -mhard-float -mfloat-gprs=double" | ||
21 | disable altivec | ||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/libav_e5500.patch b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/libav_e5500.patch deleted file mode 100644 index d9ea2c29e..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/libav_e5500.patch +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | libav: Add configs for ppc e5500 | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | Signed-off-by: Jesse Zhang <sen.zhang@windriver.com> | ||
6 | |||
7 | --- gst-ffmpeg-0.10.13/gst-libs/ext/libav/configure 2013-06-20 05:18:36.073104964 -0400 | ||
8 | +++ gst-ffmpeg-0.10.13/gst-libs/ext/libav/configure 2013-06-20 05:18:38.269104150 -0400 | ||
9 | @@ -2222,6 +2222,10 @@ | ||
10 | cpuflags="-mcpu=8540 -mhard-float" | ||
11 | disable altivec | ||
12 | ;; | ||
13 | + e5500) | ||
14 | + cpuflags="-mcpu=e5500 -mhard-float" | ||
15 | + disable altivec | ||
16 | + ;; | ||
17 | esac | ||
18 | |||
19 | elif enabled x86; then | ||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg_0.10.13.bb b/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg_0.10.13.bb deleted file mode 100644 index ca19fd69b..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg_0.10.13.bb +++ /dev/null | |||
@@ -1,103 +0,0 @@ | |||
1 | SUMMARY = "FFmpeg-based GStreamer plug-in" | ||
2 | SECTION = "multimedia" | ||
3 | LICENSE = "GPLv2+ & LGPLv2+ & ( (GPLv2+ & LGPLv2.1+) | (GPLv3+ & LGPLv3+) )" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | ||
5 | file://ext/libpostproc/gstpostproc.c;beginline=1;endline=18;md5=5896e445e41681324381f5869ee33d38 \ | ||
6 | file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605 \ | ||
7 | file://ext/ffmpeg/gstffmpeg.h;beginline=1;endline=18;md5=ff65467b0c53cdfa98d0684c1bc240a9 \ | ||
8 | file://gst-libs/ext/libav/LICENSE;md5=abc3b8cb02856aa7823bbbd162d16232 \ | ||
9 | file://gst-libs/ext/libav/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | ||
10 | file://gst-libs/ext/libav/COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \ | ||
11 | file://gst-libs/ext/libav/COPYING.LGPLv2.1;md5=e344c8fa836c3a41c4cbd79d7bd3a379 \ | ||
12 | file://gst-libs/ext/libav/COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02" | ||
13 | LICENSE_FLAGS = "commercial" | ||
14 | HOMEPAGE = "http://www.gstreamer.net/" | ||
15 | DEPENDS = "gstreamer gst-plugins-base zlib bzip2 yasm-native libpostproc" | ||
16 | |||
17 | inherit autotools-brokensep pkgconfig | ||
18 | |||
19 | SRC_URI = "http://gstreamer.freedesktop.org/src/${BPN}/${BPN}-${PV}.tar.bz2 \ | ||
20 | file://lower-rank.diff \ | ||
21 | file://configure-fix.patch \ | ||
22 | file://h264_qpel_mmx.patch \ | ||
23 | file://libav_e500mc.patch \ | ||
24 | file://libav_e5500.patch \ | ||
25 | file://gst-ffmpeg-CVE-2013-3674.patch \ | ||
26 | file://0001-avformat-mpegtsenc-Check-data-array-size-in-mpegts_w.patch \ | ||
27 | file://0001-vqavideo-check-chunk-sizes-before-reading-chunks.patch \ | ||
28 | file://0001-avcodec-msrle-use-av_image_get_linesize-to-calculate.patch \ | ||
29 | file://0001-huffyuvdec-Skip-len-0-cases.patch \ | ||
30 | file://0001-huffyuvdec-Check-init_vlc-return-codes.patch \ | ||
31 | file://0001-alsdec-check-block-length.patch \ | ||
32 | file://0001-pgssubdec-check-RLE-size-before-copying.-Fix-out-of-.patch \ | ||
33 | file://0001-atrac3dec-Check-coding-mode-against-channels.patch \ | ||
34 | file://0001-eamad-fix-out-of-array-accesses.patch \ | ||
35 | file://0001-mjpegdec-check-SE.patch \ | ||
36 | file://0001-alac-fix-nb_samples-order-case.patch \ | ||
37 | file://0001-h264-correct-ref-count-check-and-limit-fix-out-of-ar.patch \ | ||
38 | file://0001-roqvideodec-check-dimensions-validity.patch \ | ||
39 | file://0001-aacdec-check-channel-count.patch \ | ||
40 | file://0001-pngdec-filter-dont-access-out-of-array-elements-at-t.patch \ | ||
41 | file://0001-error_concealment-Check-that-the-picture-is-not-in-a.patch \ | ||
42 | file://0001-vp3-fix-oob-read-for-negative-tokens-and-memleaks-on.patch \ | ||
43 | file://0001-vp3-Copy-all-3-frames-for-thread-updates.patch \ | ||
44 | file://0001-h264_sei-Fix-infinite-loop.patch \ | ||
45 | file://0001-avcodec-parser-reset-indexes-on-realloc-failure.patch \ | ||
46 | file://0001-avcodec-rpza-Perform-pointer-advance-and-checks-befo.patch \ | ||
47 | file://gst-ffmpeg-CVE-2013-0855.patch \ | ||
48 | file://0001-qdm2dec-fix-buffer-overflow.patch \ | ||
49 | file://0001-smackerdec-Check-that-the-last-indexes-are-within-th.patch \ | ||
50 | file://0001-avcodec-dsputil-fix-signedness-in-sizeof-comparissio.patch \ | ||
51 | file://0001-error-concealment-initialize-block-index.patch \ | ||
52 | file://0001-qdm2-check-array-index-before-use-fix-out-of-array-a.patch \ | ||
53 | file://0001-lavf-compute-probe-buffer-size-more-reliably.patch \ | ||
54 | file://0001-ffserver-set-oformat.patch \ | ||
55 | file://0001-h264-set-parameters-from-SPS-whenever-it-changes.patch \ | ||
56 | file://0001-h264-skip-error-concealment-when-SPS-and-slices-are-.patch \ | ||
57 | file://0001-avcodec-smc-fix-off-by-1-error.patch \ | ||
58 | file://0002-avcodec-mjpegdec-check-bits-per-pixel-for-changes-si.patch \ | ||
59 | file://libav-9.patch \ | ||
60 | file://gst-ffmpeg-fix-CVE-2011-4352.patch \ | ||
61 | file://gst-ffmpeg-fix-CVE-2014-7933.patch \ | ||
62 | file://gst-ffmpeg-fix-CVE-2014-8542.patch \ | ||
63 | file://gst-ffmpeg-fix-CVE-2014-8543.patch \ | ||
64 | file://gst-ffmpeg-fix-CVE-2014-8544.patch \ | ||
65 | file://gst-ffmpeg-fix-CVE-2014-8545.patch \ | ||
66 | file://gst-ffmpeg-fix-CVE-2014-8546.patch \ | ||
67 | file://gst-ffmpeg-fix-CVE-2014-8547.patch \ | ||
68 | file://gst-ffmpeg-fix-CVE-2014-9318.patch \ | ||
69 | file://gst-ffmpeg-fix-CVE-2014-9603.patch \ | ||
70 | " | ||
71 | |||
72 | SRC_URI[md5sum] = "7f5beacaf1312db2db30a026b36888c4" | ||
73 | SRC_URI[sha256sum] = "76fca05b08e00134e3cb92fa347507f42cbd48ddb08ed3343a912def187fbb62" | ||
74 | |||
75 | PR = "r8" | ||
76 | |||
77 | GSTREAMER_DEBUG ?= "--disable-debug" | ||
78 | |||
79 | FFMPEG_EXTRA_CONFIGURE = "--with-ffmpeg-extra-configure" | ||
80 | # pass --cpu for powerpc. get cpu name by stripping "ppc" or "ppc64" | ||
81 | # from DEFAULTTUNE | ||
82 | FFMPEG_CPU_powerpc = "--cpu=${@d.getVar('DEFAULTTUNE', False)[3:]}" | ||
83 | FFMPEG_CPU_powerpc64 = "--cpu=${@d.getVar('DEFAULTTUNE', False)[5:]}" | ||
84 | FFMPEG_EXTRA_CONFIGURE_COMMON_ARG = "--target-os=linux ${FFMPEG_CPU} \ | ||
85 | --cc='${CC}' --as='${CC}' --ld='${CC}' --nm='${NM}' --ar='${AR}' \ | ||
86 | --ranlib='${RANLIB}' \ | ||
87 | ${GSTREAMER_DEBUG}" | ||
88 | FFMPEG_EXTRA_CONFIGURE_COMMON = \ | ||
89 | '${FFMPEG_EXTRA_CONFIGURE}="${FFMPEG_EXTRA_CONFIGURE_COMMON_ARG}"' | ||
90 | |||
91 | EXTRA_OECONF = "${FFMPEG_EXTRA_CONFIGURE_COMMON}" | ||
92 | |||
93 | PACKAGECONFIG ??= "external-libav" | ||
94 | PACKAGECONFIG[external-libav] = "--with-system-ffmpeg,,libav" | ||
95 | PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc" | ||
96 | |||
97 | FILES_${PN} += "${libdir}/gstreamer-0.10/*.so" | ||
98 | FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug" | ||
99 | FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la" | ||
100 | FILES_${PN}-staticdev += "${libdir}/gstreamer-0.10/*.a" | ||
101 | |||
102 | # http://errors.yoctoproject.org/Errors/Details/40736/ | ||
103 | PNBLACKLIST[gst-ffmpeg] ?= "Not compatible with currently used ffmpeg 3 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-multimedia/recipes-multimedia/gstreamer/files/display.patch b/meta-multimedia/recipes-multimedia/gstreamer/files/display.patch deleted file mode 100644 index 61b0e6c87..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer/files/display.patch +++ /dev/null | |||
@@ -1,60 +0,0 @@ | |||
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/gstreamer/gst123_0.3.1.bb b/meta-multimedia/recipes-multimedia/gstreamer/gst123_0.3.1.bb deleted file mode 100644 index 9fe1bc6b6..000000000 --- a/meta-multimedia/recipes-multimedia/gstreamer/gst123_0.3.1.bb +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
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 | ||
16 | |||
17 | PNBLACKLIST[gst123] ?= "gst123 is still "sometimes" using wrong sysroot - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb b/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb deleted file mode 100644 index 2da29d9cb..000000000 --- a/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb +++ /dev/null | |||
@@ -1,41 +0,0 @@ | |||
1 | SUMMARY = "A caching, forwarding DNS proxy server" | ||
2 | DESCRIPTION = "\ | ||
3 | dnrd is a proxying nameserver. It forwards DNS queries to the appropriate \ | ||
4 | nameserver, but can also act as the primary nameserver for a subnet behind \ | ||
5 | a firewall. It also has features such as caching DNS requests, support for \ | ||
6 | DNS servers, cache poisoning prevention, TCP support, etc.." | ||
7 | HOMEPAGE = "http://dnrd.sourceforge.net/" | ||
8 | SECTION = "net" | ||
9 | LICENSE = "GPLv2" | ||
10 | LIC_FILES_CHKSUM = "file://COPYING;md5=0be67017f1c770313ad7b40e18d568f1" | ||
11 | |||
12 | SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \ | ||
13 | file://dnrd.service \ | ||
14 | file://dnrd.conf.sample \ | ||
15 | file://dnrd.init" | ||
16 | SRC_URI[md5sum] = "41c9b070aae8ed403fc8c2aac7ab157c" | ||
17 | SRC_URI[sha256sum] = "aa46e7f8736b88c1d752cf606b3990041221ce91d014e955c6b02eb2167db015" | ||
18 | |||
19 | PNBLACKLIST[dnrd] ?= "BROKEN: dnrd-2.20.3-r0 do_package: QA Issue: dnrd: Files/directories were installed but not shipped in any package: - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
20 | |||
21 | SYSTEMD_SERVICE_${PN} = "dnrd.service" | ||
22 | SYSTEMD_AUTO_ENABLE = "disable" | ||
23 | |||
24 | inherit autotools | ||
25 | inherit ${@bb.utils.filter('VIRTUAL-RUNTIME_init_manager', 'systemd', d)} | ||
26 | |||
27 | do_install() { | ||
28 | oe_runmake install DESTDIR=${D} INSTALL="install -p" | ||
29 | |||
30 | sed -i -e 's:/etc/rc.d/init.d/functions:/etc/init.d/functions:g' \ | ||
31 | ${WORKDIR}/dnrd.init | ||
32 | install -d -m 0755 ${D}${sysconfdir}/init.d | ||
33 | install -d -m 0755 ${D}${sysconfdir}/dnrd | ||
34 | install -p -m 0644 ${WORKDIR}/dnrd.conf.sample ${D}${sysconfdir}/dnrd/dnrd.conf | ||
35 | install -p -m 0755 ${WORKDIR}/dnrd.init ${D}${sysconfdir}/init.d/dnrd | ||
36 | |||
37 | if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then | ||
38 | install -d -m 0755 ${D}${systemd_unitdir}/system | ||
39 | install -m 644 ${WORKDIR}/dnrd.service ${D}${systemd_unitdir}/system | ||
40 | fi | ||
41 | } | ||
diff --git a/meta-networking/recipes-filter/libnftnl/libnftnl/snprintf_shadow.patch b/meta-networking/recipes-filter/libnftnl/libnftnl/snprintf_shadow.patch deleted file mode 100644 index 0453b1b49..000000000 --- a/meta-networking/recipes-filter/libnftnl/libnftnl/snprintf_shadow.patch +++ /dev/null | |||
@@ -1,224 +0,0 @@ | |||
1 | Taken from | ||
2 | https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=755956 | ||
3 | |||
4 | --- ./src/expr_ops.h 2014-06-24 17:07:05.574784704 +0400 | ||
5 | +++ ../libnftnl-1.0.2-my/./src/expr_ops.h 2014-07-25 00:19:28.367694613 +0400 | ||
6 | @@ -28,7 +28,7 @@ | ||
7 | const void *(*get)(const struct nft_rule_expr *e, uint16_t type, uint32_t *data_len); | ||
8 | int (*parse)(struct nft_rule_expr *e, struct nlattr *attr); | ||
9 | void (*build)(struct nlmsghdr *nlh, struct nft_rule_expr *e); | ||
10 | - int (*snprintf)(char *buf, size_t len, uint32_t type, uint32_t flags, struct nft_rule_expr *e); | ||
11 | + int (*snprintf_)(char *buf, size_t len, uint32_t type, uint32_t flags, struct nft_rule_expr *e); | ||
12 | int (*xml_parse)(struct nft_rule_expr *e, mxml_node_t *tree, | ||
13 | struct nft_parse_err *err); | ||
14 | int (*json_parse)(struct nft_rule_expr *e, json_t *data, | ||
15 | --- ./src/rule.c 2014-06-24 17:07:05.574784704 +0400 | ||
16 | +++ ../libnftnl-1.0.2-my/./src/rule.c 2014-07-25 00:19:28.355694880 +0400 | ||
17 | @@ -813,7 +813,7 @@ | ||
18 | "{\"type\":\"%s\",", expr->ops->name); | ||
19 | SNPRINTF_BUFFER_SIZE(ret, size, len, offset); | ||
20 | |||
21 | - ret = expr->ops->snprintf(buf+offset, len, type, flags, expr); | ||
22 | + ret = expr->ops->snprintf_(buf+offset, len, type, flags, expr); | ||
23 | SNPRINTF_BUFFER_SIZE(ret, size, len, offset); | ||
24 | |||
25 | /* | ||
26 | --- ./src/expr.c 2014-06-24 17:07:05.574784704 +0400 | ||
27 | +++ ../libnftnl-1.0.2-my/./src/expr.c 2014-07-25 00:19:27.367716863 +0400 | ||
28 | @@ -227,7 +227,7 @@ | ||
29 | int ret; | ||
30 | unsigned int offset = 0, len = size; | ||
31 | |||
32 | - ret = expr->ops->snprintf(buf+offset, len, type, flags, expr); | ||
33 | + ret = expr->ops->snprintf_(buf+offset, len, type, flags, expr); | ||
34 | SNPRINTF_BUFFER_SIZE(ret, size, len, offset); | ||
35 | |||
36 | return offset; | ||
37 | --- ./src/expr/exthdr.c 2014-06-25 18:34:08.174284719 +0400 | ||
38 | +++ ../libnftnl-1.0.2-my/./src/expr/exthdr.c 2014-07-25 00:21:48.192583628 +0400 | ||
39 | @@ -362,7 +362,7 @@ | ||
40 | .get = nft_rule_expr_exthdr_get, | ||
41 | .parse = nft_rule_expr_exthdr_parse, | ||
42 | .build = nft_rule_expr_exthdr_build, | ||
43 | - .snprintf = nft_rule_expr_exthdr_snprintf, | ||
44 | + .snprintf_ = nft_rule_expr_exthdr_snprintf, | ||
45 | .xml_parse = nft_rule_expr_exthdr_xml_parse, | ||
46 | .json_parse = nft_rule_expr_exthdr_json_parse, | ||
47 | }; | ||
48 | --- ./src/expr/log.c 2014-06-25 18:34:08.178284810 +0400 | ||
49 | +++ ../libnftnl-1.0.2-my/./src/expr/log.c 2014-07-25 00:21:48.160584340 +0400 | ||
50 | @@ -332,7 +332,7 @@ | ||
51 | .get = nft_rule_expr_log_get, | ||
52 | .parse = nft_rule_expr_log_parse, | ||
53 | .build = nft_rule_expr_log_build, | ||
54 | - .snprintf = nft_rule_expr_log_snprintf, | ||
55 | + .snprintf_ = nft_rule_expr_log_snprintf, | ||
56 | .xml_parse = nft_rule_expr_log_xml_parse, | ||
57 | .json_parse = nft_rule_expr_log_json_parse, | ||
58 | }; | ||
59 | --- ./src/expr/limit.c 2014-06-25 18:34:08.178284810 +0400 | ||
60 | +++ ../libnftnl-1.0.2-my/./src/expr/limit.c 2014-07-25 00:21:48.108585496 +0400 | ||
61 | @@ -250,7 +250,7 @@ | ||
62 | .get = nft_rule_expr_limit_get, | ||
63 | .parse = nft_rule_expr_limit_parse, | ||
64 | .build = nft_rule_expr_limit_build, | ||
65 | - .snprintf = nft_rule_expr_limit_snprintf, | ||
66 | + .snprintf_ = nft_rule_expr_limit_snprintf, | ||
67 | .xml_parse = nft_rule_expr_limit_xml_parse, | ||
68 | .json_parse = nft_rule_expr_limit_json_parse, | ||
69 | }; | ||
70 | --- ./src/expr/cmp.c 2014-06-25 18:34:08.174284719 +0400 | ||
71 | +++ ../libnftnl-1.0.2-my/./src/expr/cmp.c 2014-07-25 00:21:48.172584073 +0400 | ||
72 | @@ -331,7 +331,7 @@ | ||
73 | .get = nft_rule_expr_cmp_get, | ||
74 | .parse = nft_rule_expr_cmp_parse, | ||
75 | .build = nft_rule_expr_cmp_build, | ||
76 | - .snprintf = nft_rule_expr_cmp_snprintf, | ||
77 | + .snprintf_ = nft_rule_expr_cmp_snprintf, | ||
78 | .xml_parse = nft_rule_expr_cmp_xml_parse, | ||
79 | .json_parse = nft_rule_expr_cmp_json_parse, | ||
80 | }; | ||
81 | --- ./src/expr/target.c 2014-06-25 18:34:08.182284901 +0400 | ||
82 | +++ ../libnftnl-1.0.2-my/./src/expr/target.c 2014-07-25 00:21:48.184583806 +0400 | ||
83 | @@ -274,7 +274,7 @@ | ||
84 | .get = nft_rule_expr_target_get, | ||
85 | .parse = nft_rule_expr_target_parse, | ||
86 | .build = nft_rule_expr_target_build, | ||
87 | - .snprintf = nft_rule_expr_target_snprintf, | ||
88 | + .snprintf_ = nft_rule_expr_target_snprintf, | ||
89 | .xml_parse = nft_rule_expr_target_xml_parse, | ||
90 | .json_parse = nft_rule_expr_target_json_parse, | ||
91 | }; | ||
92 | --- ./src/expr/byteorder.c 2014-06-25 18:34:08.158284356 +0400 | ||
93 | +++ ../libnftnl-1.0.2-my/./src/expr/byteorder.c 2014-07-25 00:21:48.148584607 +0400 | ||
94 | @@ -384,7 +384,7 @@ | ||
95 | .get = nft_rule_expr_byteorder_get, | ||
96 | .parse = nft_rule_expr_byteorder_parse, | ||
97 | .build = nft_rule_expr_byteorder_build, | ||
98 | - .snprintf = nft_rule_expr_byteorder_snprintf, | ||
99 | + .snprintf_ = nft_rule_expr_byteorder_snprintf, | ||
100 | .xml_parse = nft_rule_expr_byteorder_xml_parse, | ||
101 | .json_parse = nft_rule_expr_byteorder_json_parse, | ||
102 | }; | ||
103 | --- ./src/expr/lookup.c 2014-06-25 18:34:08.178284810 +0400 | ||
104 | +++ ../libnftnl-1.0.2-my/./src/expr/lookup.c 2014-07-25 00:21:48.136584874 +0400 | ||
105 | @@ -305,7 +305,7 @@ | ||
106 | .get = nft_rule_expr_lookup_get, | ||
107 | .parse = nft_rule_expr_lookup_parse, | ||
108 | .build = nft_rule_expr_lookup_build, | ||
109 | - .snprintf = nft_rule_expr_lookup_snprintf, | ||
110 | + .snprintf_ = nft_rule_expr_lookup_snprintf, | ||
111 | .xml_parse = nft_rule_expr_lookup_xml_parse, | ||
112 | .json_parse = nft_rule_expr_lookup_json_parse, | ||
113 | }; | ||
114 | --- ./src/expr/immediate.c 2014-06-25 18:34:08.178284810 +0400 | ||
115 | +++ ../libnftnl-1.0.2-my/./src/expr/immediate.c 2014-07-25 00:21:48.124585141 +0400 | ||
116 | @@ -365,7 +365,7 @@ | ||
117 | .get = nft_rule_expr_immediate_get, | ||
118 | .parse = nft_rule_expr_immediate_parse, | ||
119 | .build = nft_rule_expr_immediate_build, | ||
120 | - .snprintf = nft_rule_expr_immediate_snprintf, | ||
121 | + .snprintf_ = nft_rule_expr_immediate_snprintf, | ||
122 | .xml_parse = nft_rule_expr_immediate_xml_parse, | ||
123 | .json_parse = nft_rule_expr_immediate_json_parse, | ||
124 | }; | ||
125 | --- ./src/expr/meta.c 2014-06-25 18:34:08.178284810 +0400 | ||
126 | +++ ../libnftnl-1.0.2-my/./src/expr/meta.c 2014-07-25 00:21:48.040587008 +0400 | ||
127 | @@ -340,7 +340,7 @@ | ||
128 | .get = nft_rule_expr_meta_get, | ||
129 | .parse = nft_rule_expr_meta_parse, | ||
130 | .build = nft_rule_expr_meta_build, | ||
131 | - .snprintf = nft_rule_expr_meta_snprintf, | ||
132 | + .snprintf_ = nft_rule_expr_meta_snprintf, | ||
133 | .xml_parse = nft_rule_expr_meta_xml_parse, | ||
134 | .json_parse = nft_rule_expr_meta_json_parse, | ||
135 | }; | ||
136 | --- ./src/expr/queue.c 2014-06-25 18:34:08.182284901 +0400 | ||
137 | +++ ../libnftnl-1.0.2-my/./src/expr/queue.c 2014-07-25 00:21:48.208583272 +0400 | ||
138 | @@ -294,7 +294,7 @@ | ||
139 | .get = nft_rule_expr_queue_get, | ||
140 | .parse = nft_rule_expr_queue_parse, | ||
141 | .build = nft_rule_expr_queue_build, | ||
142 | - .snprintf = nft_rule_expr_queue_snprintf, | ||
143 | + .snprintf_ = nft_rule_expr_queue_snprintf, | ||
144 | .xml_parse = nft_rule_expr_queue_xml_parse, | ||
145 | .json_parse = nft_rule_expr_queue_json_parse, | ||
146 | }; | ||
147 | --- ./src/expr/nat.c 2014-06-25 18:34:08.182284901 +0400 | ||
148 | +++ ../libnftnl-1.0.2-my/./src/expr/nat.c 2014-07-25 00:21:48.084586030 +0400 | ||
149 | @@ -430,7 +430,7 @@ | ||
150 | .get = nft_rule_expr_nat_get, | ||
151 | .parse = nft_rule_expr_nat_parse, | ||
152 | .build = nft_rule_expr_nat_build, | ||
153 | - .snprintf = nft_rule_expr_nat_snprintf, | ||
154 | + .snprintf_ = nft_rule_expr_nat_snprintf, | ||
155 | .xml_parse = nft_rule_expr_nat_xml_parse, | ||
156 | .json_parse = nft_rule_expr_nat_json_parse, | ||
157 | }; | ||
158 | --- ./src/expr/payload.c 2014-06-25 18:34:08.182284901 +0400 | ||
159 | +++ ../libnftnl-1.0.2-my/./src/expr/payload.c 2014-07-25 00:21:48.200583450 +0400 | ||
160 | @@ -337,7 +337,7 @@ | ||
161 | .get = nft_rule_expr_payload_get, | ||
162 | .parse = nft_rule_expr_payload_parse, | ||
163 | .build = nft_rule_expr_payload_build, | ||
164 | - .snprintf = nft_rule_expr_payload_snprintf, | ||
165 | + .snprintf_ = nft_rule_expr_payload_snprintf, | ||
166 | .xml_parse = nft_rule_expr_payload_xml_parse, | ||
167 | .json_parse = nft_rule_expr_payload_json_parse, | ||
168 | }; | ||
169 | --- ./src/expr/reject.c 2014-06-25 18:34:08.182284901 +0400 | ||
170 | +++ ../libnftnl-1.0.2-my/./src/expr/reject.c 2014-07-25 00:21:48.096585762 +0400 | ||
171 | @@ -242,7 +242,7 @@ | ||
172 | .get = nft_rule_expr_reject_get, | ||
173 | .parse = nft_rule_expr_reject_parse, | ||
174 | .build = nft_rule_expr_reject_build, | ||
175 | - .snprintf = nft_rule_expr_reject_snprintf, | ||
176 | + .snprintf_ = nft_rule_expr_reject_snprintf, | ||
177 | .xml_parse = nft_rule_expr_reject_xml_parse, | ||
178 | .json_parse = nft_rule_expr_reject_json_parse, | ||
179 | }; | ||
180 | --- ./src/expr/counter.c 2014-06-25 18:34:08.174284719 +0400 | ||
181 | +++ ../libnftnl-1.0.2-my/./src/expr/counter.c 2014-07-25 00:21:48.056586652 +0400 | ||
182 | @@ -236,7 +236,7 @@ | ||
183 | .get = nft_rule_expr_counter_get, | ||
184 | .parse = nft_rule_expr_counter_parse, | ||
185 | .build = nft_rule_expr_counter_build, | ||
186 | - .snprintf = nft_rule_expr_counter_snprintf, | ||
187 | + .snprintf_ = nft_rule_expr_counter_snprintf, | ||
188 | .xml_parse = nft_rule_expr_counter_xml_parse, | ||
189 | .json_parse = nft_rule_expr_counter_json_parse, | ||
190 | }; | ||
191 | --- ./src/expr/ct.c 2014-06-25 18:34:08.174284719 +0400 | ||
192 | +++ ../libnftnl-1.0.2-my/./src/expr/ct.c 2014-07-25 00:21:48.068586385 +0400 | ||
193 | @@ -428,7 +428,7 @@ | ||
194 | .get = nft_rule_expr_ct_get, | ||
195 | .parse = nft_rule_expr_ct_parse, | ||
196 | .build = nft_rule_expr_ct_build, | ||
197 | - .snprintf = nft_rule_expr_ct_snprintf, | ||
198 | + .snprintf_ = nft_rule_expr_ct_snprintf, | ||
199 | .xml_parse = nft_rule_expr_ct_xml_parse, | ||
200 | .json_parse = nft_rule_expr_ct_json_parse, | ||
201 | }; | ||
202 | --- ./src/expr/bitwise.c 2014-06-25 18:34:08.158284356 +0400 | ||
203 | +++ ../libnftnl-1.0.2-my/./src/expr/bitwise.c 2014-07-25 00:21:49.272559599 +0400 | ||
204 | @@ -403,7 +403,7 @@ | ||
205 | .get = nft_rule_expr_bitwise_get, | ||
206 | .parse = nft_rule_expr_bitwise_parse, | ||
207 | .build = nft_rule_expr_bitwise_build, | ||
208 | - .snprintf = nft_rule_expr_bitwise_snprintf, | ||
209 | + .snprintf_ = nft_rule_expr_bitwise_snprintf, | ||
210 | .xml_parse = nft_rule_expr_bitwise_xml_parse, | ||
211 | .json_parse = nft_rule_expr_bitwise_json_parse, | ||
212 | }; | ||
213 | --- ./src/expr/match.c 2014-06-25 18:34:08.178284810 +0400 | ||
214 | +++ ../libnftnl-1.0.2-my/./src/expr/match.c 2014-07-25 00:21:48.032587186 +0400 | ||
215 | @@ -273,7 +273,7 @@ | ||
216 | .get = nft_rule_expr_match_get, | ||
217 | .parse = nft_rule_expr_match_parse, | ||
218 | .build = nft_rule_expr_match_build, | ||
219 | - .snprintf = nft_rule_expr_match_snprintf, | ||
220 | + .snprintf_ = nft_rule_expr_match_snprintf, | ||
221 | .xml_parse = nft_rule_expr_match_xml_parse, | ||
222 | .json_parse = nft_rule_expr_match_json_parse, | ||
223 | }; | ||
224 | |||
diff --git a/meta-networking/recipes-kernel/netmap/files/0001-testmmap-fix-compile-issue-with-gcc-5.x.patch b/meta-networking/recipes-kernel/netmap/files/0001-testmmap-fix-compile-issue-with-gcc-5.x.patch deleted file mode 100644 index ea36b1cd9..000000000 --- a/meta-networking/recipes-kernel/netmap/files/0001-testmmap-fix-compile-issue-with-gcc-5.x.patch +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | Upstream-Status: Pending | ||
2 | |||
3 | From c81bf54d6eb870286662a11d3b4a994717c47696 Mon Sep 17 00:00:00 2001 | ||
4 | From: Armin Kuster <akuster808@gmail.com> | ||
5 | Date: Tue, 8 Sep 2015 05:36:27 -0700 | ||
6 | Subject: [PATCH] testmmap: fix compile issue with gcc 5.x | ||
7 | |||
8 | this fixes: | ||
9 | examples/testmmap.c:540:10: error: format '%ld' expects argument of type 'long int', but argument 3 has type 'ssize_t {aka const int}' [-Werror=format=] | ||
10 | | printf("ring_ofs[%d] %ld\n", i, nifp->ring_ofs[i]); | ||
11 | | ^ | ||
12 | |||
13 | Signed-off-by: Armin Kuster <akuster808@gmail.com> | ||
14 | --- | ||
15 | examples/testmmap.c | 2 +- | ||
16 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
17 | |||
18 | diff --git a/examples/testmmap.c b/examples/testmmap.c | ||
19 | index d7f6acc..934489a 100644 | ||
20 | --- a/examples/testmmap.c | ||
21 | +++ b/examples/testmmap.c | ||
22 | @@ -537,7 +537,7 @@ do_if() | ||
23 | for (i = 0; i < 5; i++) | ||
24 | printf("spare1[%d] %u\n", i, nifp->ni_spare1[i]); | ||
25 | for (i = 0; i < (nifp->ni_tx_rings + nifp->ni_rx_rings + 2); i++) | ||
26 | - printf("ring_ofs[%d] %ld\n", i, nifp->ring_ofs[i]); | ||
27 | + printf("ring_ofs[%d] %zd\n", i, nifp->ring_ofs[i]); | ||
28 | } | ||
29 | |||
30 | struct netmap_ring * | ||
31 | -- | ||
32 | 2.3.5 | ||
33 | |||
diff --git a/meta-networking/recipes-kernel/netmap/files/makefile_fixup.patch b/meta-networking/recipes-kernel/netmap/files/makefile_fixup.patch deleted file mode 100644 index b050bf001..000000000 --- a/meta-networking/recipes-kernel/netmap/files/makefile_fixup.patch +++ /dev/null | |||
@@ -1,97 +0,0 @@ | |||
1 | The makefile assumes building locally. | ||
2 | |||
3 | Upstream Status: Inappropriate [Native] | ||
4 | |||
5 | The configure is not auto-make based | ||
6 | |||
7 | Signed-of-by: Armin Kuster <akuster@mvista.com> | ||
8 | |||
9 | Index: LINUX/netmap.mak.in | ||
10 | =================================================================== | ||
11 | --- a/LINUX/netmap.mak.in | ||
12 | +++ b/LINUX/netmap.mak.in | ||
13 | @@ -12,10 +12,9 @@ SRCDIR:=@SRCDIR@ | ||
14 | # The following commands are needed to build the modules as out-of-tree, | ||
15 | # in fact the kernel sources path must be specified. | ||
16 | |||
17 | -PWD ?= $(CURDIR) | ||
18 | |||
19 | # Additional compile flags (e.g. header location) | ||
20 | -EXTRA_CFLAGS := -I$(PWD) -I$(SRCDIR) -I$(SRCDIR)/../sys -I$(SRCDIR)/../sys/dev -DCONFIG_NETMAP | ||
21 | +EXTRA_CFLAGS := -I$(SRCDIR) -I$(SRCDIR)/../sys -I$(SRCDIR)/../sys/dev -DCONFIG_NETMAP | ||
22 | EXTRA_CFLAGS += -Wno-unused-but-set-variable | ||
23 | EXTRA_CFLAGS += $(foreach s,$(SUBSYS),-DCONFIG_NETMAP_$(shell echo $s|tr a-z- A-Z_)) | ||
24 | |||
25 | Index: LINUX/configure | ||
26 | =================================================================== | ||
27 | --- a/LINUX/configure | ||
28 | +++ b/LINUX/configure | ||
29 | @@ -349,52 +349,6 @@ reset_tests() { | ||
30 | EOF | ||
31 | } | ||
32 | |||
33 | -# run_tests: run all accumulated tests and exec the pertinent | ||
34 | -# success/failure actions for each one. | ||
35 | -run_tests() { | ||
36 | - local t= # prevent -EOF to eat the make TAB | ||
37 | - cat > $TMPDIR/Makefile <<-EOF | ||
38 | - ifneq (\$(KERNELRELEASE),) | ||
39 | - obj-m := $TESTOBJS | ||
40 | - else | ||
41 | - S_DRIVERS := $(drv print) | ||
42 | - all: \$(S_DRIVERS:%=get-%) | ||
43 | - $t \$(MAKE) -C $ksrc M=\$\$PWD $kopts | ||
44 | - | ||
45 | - -include $TOPDIR/drivers.mak | ||
46 | - EOF | ||
47 | - for d in $(drv print); do | ||
48 | - cat >> $TMPDIR/Makefile <<-EOF | ||
49 | - get-$d: | ||
50 | - $t [ -z "\$($d-src)" ] || cp -Rp \$($d-src) \$(if \$($d-dst),\$($d-dst),.) | ||
51 | - $t touch get-$d | ||
52 | - EOF | ||
53 | - done | ||
54 | - echo endif >> $TMPDIR/Makefile | ||
55 | - { | ||
56 | - cat <<-EOF | ||
57 | -############################################################################## | ||
58 | -## BEGIN RUNNING TESTS: $(date) | ||
59 | -############################################################################## | ||
60 | -## Makefile: | ||
61 | - EOF | ||
62 | - cat $TMPDIR/Makefile | ||
63 | - cat <<-EOF | ||
64 | -############################################################################## | ||
65 | - EOF | ||
66 | - } >> config.log | ||
67 | - ( | ||
68 | - cd $TMPDIR | ||
69 | - make -k -j $(grep -c processor /proc/cpuinfo) | ||
70 | - ) >> config.log | ||
71 | - eval "$TESTPOSTPROC" | ||
72 | - cat >> config.log <<-EOF | ||
73 | -############################################################################## | ||
74 | -## END RUNNING TESTS: $(date) | ||
75 | -############################################################################## | ||
76 | - EOF | ||
77 | -} | ||
78 | - | ||
79 | configh=netmap_linux_config.h | ||
80 | # succes/failure actions are expected to write some macros | ||
81 | # in netma_linux_config.h. The following functions can be | ||
82 | @@ -619,7 +573,6 @@ configuration. Please check 'config.log' | ||
83 | reset_tests | ||
84 | rm -f drivers.mak | ||
85 | add_test true broken_buildsystem < /dev/null | ||
86 | -run_tests | ||
87 | |||
88 | drvname2config() { | ||
89 | local name=$1 | ||
90 | @@ -1280,7 +1233,6 @@ cat > $configh <<-EOF | ||
91 | EOF | ||
92 | |||
93 | # the TESTPOSTPROC script will add macros to $configh | ||
94 | -run_tests | ||
95 | |||
96 | define DRIVER_SUFFIX \"$drvsuffix\" | ||
97 | |||
diff --git a/meta-networking/recipes-kernel/netmap/netmap-modules_git.bb b/meta-networking/recipes-kernel/netmap/netmap-modules_git.bb deleted file mode 100644 index 192ece0e9..000000000 --- a/meta-networking/recipes-kernel/netmap/netmap-modules_git.bb +++ /dev/null | |||
@@ -1,92 +0,0 @@ | |||
1 | require netmap.inc | ||
2 | |||
3 | DEPENDS = "virtual/kernel" | ||
4 | do_configure[depends] += "virtual/kernel:do_shared_workdir" | ||
5 | |||
6 | inherit module | ||
7 | |||
8 | CLEANBROKEN = "1" | ||
9 | |||
10 | export INSTALL_MOD_DIR="kernel/netmap-modules" | ||
11 | |||
12 | EXTRA_OECONF = "--kernel-dir=${STAGING_KERNEL_BUILDDIR} \ | ||
13 | --kernel-sources=${STAGING_KERNEL_DIR} \ | ||
14 | --install-mod-path=${D} \ | ||
15 | --driver-suffix="-netmap" \ | ||
16 | " | ||
17 | |||
18 | # The driver builds are optional, but for deterministic builds, | ||
19 | # we should be able to explicitly enable/disable the builds | ||
20 | # for them in a proper place (maybe in BSP). | ||
21 | # But we can't use PACKAGECONFIG since there is no option for | ||
22 | # each driver, and the options are: | ||
23 | # --no-drivers do not compile any driver | ||
24 | # --no-drivers= do not compile the given drivers (comma sep.) | ||
25 | # --drivers= only compile the given drivers (comma sep.) | ||
26 | # | ||
27 | # So use NETMAP_DRIVERS and the following python code to add proper | ||
28 | # configs to EXTRA_OECONF. | ||
29 | # | ||
30 | # The default is no-drivers, and all supported drivers are listed | ||
31 | # in NETMAP_ALL_DRIVERS. | ||
32 | NETMAP_DRIVERS ??= "" | ||
33 | NETMAP_ALL_DRIVERS = "ixgbe igb e1000e e1000 veth.c forcedeth.c virtio_net.c r8169.c" | ||
34 | |||
35 | python __anonymous () { | ||
36 | drivers_list = d.getVar("NETMAP_DRIVERS").split() | ||
37 | all_drivers_list = d.getVar("NETMAP_ALL_DRIVERS").split() | ||
38 | config_drivers = "--drivers=" + ",".join(drivers_list) | ||
39 | |||
40 | extra_oeconf_drivers = bb.utils.contains_any('NETMAP_DRIVERS', all_drivers_list, config_drivers, '--no-drivers', d) | ||
41 | d.appendVar("EXTRA_OECONF", extra_oeconf_drivers) | ||
42 | } | ||
43 | |||
44 | LDFLAGS := "${@'${LDFLAGS}'.replace('-Wl,-O1', '')}" | ||
45 | LDFLAGS := "${@'${LDFLAGS}'.replace('-Wl,--as-needed', '')}" | ||
46 | |||
47 | do_configure () { | ||
48 | cd ${S}/LINUX | ||
49 | ./configure ${EXTRA_OECONF} | ||
50 | } | ||
51 | |||
52 | do_configure_append () { | ||
53 | cat >> ${S}/LINUX/netmap_linux_config.h <<EOF | ||
54 | #define NETMAP_LINUX_HAVE_HRTIMER_MODE_REL | ||
55 | #define NETMAP_LINUX_HAVE_HRTIMER_FORWARD_NOW | ||
56 | #define NETMAP_LINUX_HAVE_PHYS_ADDR_T | ||
57 | #define NETMAP_LINUX_HAVE_ACCESS_ONCE | ||
58 | #define NETMAP_LINUX_HAVE_NETDEV_OPS | ||
59 | #define NETMAP_LINUX_HAVE_INIT_NET | ||
60 | #define NETMAP_LINUX_HAVE_LIVE_ADDR_CHANGE | ||
61 | #define NETMAP_LINUX_HAVE_TX_SKB_SHARING | ||
62 | #define NETMAP_LINUX_HAVE_UNLOCKED_IOCTL | ||
63 | #define NETMAP_LINUX_HAVE_PERNET_OPS_ID | ||
64 | #define NETMAP_LINUX_VIRTIO_FUNCTIONS | ||
65 | #define NETMAP_LINUX_VIRTIO_FREE_PAGES | ||
66 | #define NETMAP_LINUX_VIRTIO_GET_VRSIZE | ||
67 | #define NETMAP_LINUX_TIMER_RTYPE enum hrtimer_restart | ||
68 | #define NETMAP_LINUX_VIRTIO_MULTI_QUEUE | ||
69 | #define NETMAP_LINUX_HAVE_E1000E_EXT_RXDESC | ||
70 | #define NETMAP_LINUX_HAVE_E1000E_DOWN2 | ||
71 | EOF | ||
72 | |||
73 | if ${@ 'false' if (bb.utils.vercmp_string(d.getVar('KERNEL_VERSION') or "0", '3.17') < 0) else 'true' } ; then | ||
74 | echo OK | ||
75 | cat >> ${S}/LINUX/netmap_linux_config.h <<EOF | ||
76 | #define NETMAP_LINUX_ALLOC_NETDEV_4ARGS | ||
77 | EOF | ||
78 | fi | ||
79 | } | ||
80 | |||
81 | do_compile () { | ||
82 | cd ${S}/LINUX | ||
83 | oe_runmake | ||
84 | } | ||
85 | |||
86 | do_install () { | ||
87 | cd ${S}/LINUX | ||
88 | oe_runmake install | ||
89 | } | ||
90 | |||
91 | # http://errors.yoctoproject.org/Errors/Details/83335/ | ||
92 | PNBLACKLIST[netmap-modules] ?= "BROKEN: not compatible with default kernel version 4.8 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-networking/recipes-kernel/netmap/netmap.inc b/meta-networking/recipes-kernel/netmap/netmap.inc deleted file mode 100644 index ab33e765d..000000000 --- a/meta-networking/recipes-kernel/netmap/netmap.inc +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
1 | SUMMARY = "netmap and VALE - very fast packet I/O from userspace (FreeBSD/Linux)" | ||
2 | DESCRIPTION= "NETMAP is a framework for very fast packet I/O from userspace. VALE is an equally fast in-kernel software switch using the netmap API. Both are implemented as a single kernel module for FreeBSD and Linux, and can deal with line rate on real or emulated 10 Gbit ports." | ||
3 | SECTION = "networking" | ||
4 | HOMEPAGE = "http://code.google.com/p/netmap/" | ||
5 | LICENSE = "GPLv2+" | ||
6 | |||
7 | LIC_FILES_CHKSUM = "file://README;beginline=13;endline=14;md5=56ae0b9c7ba0476ab9098de94c2714d6" | ||
8 | |||
9 | SRCREV = "da9e19e69b84e4f6f8ae125f8d01b42a4abade6a" | ||
10 | PV = "master+git${SRCPV}" | ||
11 | |||
12 | SRC_URI = "git://github.com/luigirizzo/netmap.git" | ||
13 | SRC_URI += "file://makefile_fixup.patch" | ||
14 | |||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | COMPATIBLE_HOST = '(x86_64|i.86|mips|arm).*-linux' | ||
diff --git a/meta-networking/recipes-kernel/netmap/netmap_git.bb b/meta-networking/recipes-kernel/netmap/netmap_git.bb deleted file mode 100644 index 2d8509c74..000000000 --- a/meta-networking/recipes-kernel/netmap/netmap_git.bb +++ /dev/null | |||
@@ -1,37 +0,0 @@ | |||
1 | require netmap.inc | ||
2 | |||
3 | DEPENDS = "netmap-modules" | ||
4 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
5 | |||
6 | EXTRA_OECONF = "--kernel-dir=${STAGING_KERNEL_BUILDDIR} \ | ||
7 | --kernel-sources=${STAGING_KERNEL_DIR} \ | ||
8 | --no-drivers \ | ||
9 | --disable-generic \ | ||
10 | --prefix=${prefix} \ | ||
11 | --destdir=${D} \ | ||
12 | --cc='${CC}' \ | ||
13 | --ld='${LD}' \ | ||
14 | " | ||
15 | SRC_URI += "file://0001-testmmap-fix-compile-issue-with-gcc-5.x.patch" | ||
16 | |||
17 | do_configure () { | ||
18 | cd ${S}/LINUX | ||
19 | ./configure ${EXTRA_OECONF} | ||
20 | } | ||
21 | |||
22 | do_compile () { | ||
23 | cd ${S}/LINUX | ||
24 | make apps | ||
25 | } | ||
26 | |||
27 | do_install () { | ||
28 | cd ${S}/LINUX | ||
29 | make install-apps DESTDIR=${D} | ||
30 | } | ||
31 | |||
32 | FILES_${PN} += "${bindir}" | ||
33 | RDEPENDS_${PN} = "kernel-module-netmap" | ||
34 | RRECOMMENDS_${PN} = "kernel-module-netmap" | ||
35 | |||
36 | # http://errors.yoctoproject.org/Errors/Details/69733/ | ||
37 | PNBLACKLIST[netmap] ?= "BROKEN: Tries to build kernel module and fails, either it should be disabled or there should be dependency on kernel like in netmap-modules - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-networking/recipes-protocols/accel-ppp/accel-ppp_git.bb b/meta-networking/recipes-protocols/accel-ppp/accel-ppp_git.bb deleted file mode 100644 index 0a86504c7..000000000 --- a/meta-networking/recipes-protocols/accel-ppp/accel-ppp_git.bb +++ /dev/null | |||
@@ -1,45 +0,0 @@ | |||
1 | SUMMARY = "ACCEL-PPP is a high performance VPN server application for linux" | ||
2 | HOMEPAGE = "http://sourceforge.net/apps/trac/accel-ppp/wiki" | ||
3 | SECTION = "net" | ||
4 | |||
5 | LICENSE = "GPLv2" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" | ||
7 | |||
8 | DEPENDS = "openssl libpcre" | ||
9 | |||
10 | inherit cmake | ||
11 | |||
12 | PR = "r1" | ||
13 | PV = "1.7.3+git" | ||
14 | |||
15 | SRCREV = "4acfa46c321a344b9a6ce4128e72d1e02828d8a0" | ||
16 | SRC_URI = "git://accel-ppp.git.sourceforge.net/gitroot/accel-ppp/accel-ppp;branch=1.7" | ||
17 | |||
18 | S = "${WORKDIR}/git" | ||
19 | |||
20 | EXTRA_OECMAKE = " \ | ||
21 | -DBUILD_DRIVER=FALSE \ | ||
22 | -DCMAKE_INSTALL_PREFIX=${prefix} \ | ||
23 | -DCMAKE_BUILD_TYPE=Release \ | ||
24 | -DLOG_PGSQL=FALSE \ | ||
25 | -DRADIUS=FALSE \ | ||
26 | -DNETSNMP=FALSE \ | ||
27 | " | ||
28 | FILES_${PN}-dbg += "/usr/lib/${BPN}/.debug/*" | ||
29 | |||
30 | PACKAGES =+ "${PN}-libs" | ||
31 | FILES_${PN}-libs = "${libdir}/${BPN}/*.so /usr/lib/${BPN}/*.so" | ||
32 | INSANE_SKIP_${PN}-libs = "dev-so" | ||
33 | RDEPENDS_${PN} += "${PN}-libs" | ||
34 | |||
35 | do_install_prepend() { | ||
36 | cmlist=`find ${S} -name CMakeLists.txt` | ||
37 | for file in $cmlist; do | ||
38 | sed -i -e "s:LIBRARY DESTINATION lib/accel-ppp:LIBRARY DESTINATION ${baselib}/accel-ppp:g" \ | ||
39 | -e "s:\${CMAKE_INSTALL_PREFIX}/lib/accel-ppp:\${CMAKE_INSTALL_PREFIX}/${baselib}/accel-ppp:g" \ | ||
40 | $cmlist | ||
41 | done | ||
42 | } | ||
43 | |||
44 | # http://errors.yoctoproject.org/Errors/Details/81003/ | ||
45 | PNBLACKLIST[accel-ppp] ?= "BROKEN: fails to build with new binutils-2.27 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-networking/recipes-support/curlpp/curlpp/example21.cpp-remove-deprecated-code.patch b/meta-networking/recipes-support/curlpp/curlpp/example21.cpp-remove-deprecated-code.patch deleted file mode 100644 index dae583d85..000000000 --- a/meta-networking/recipes-support/curlpp/curlpp/example21.cpp-remove-deprecated-code.patch +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | example21.cpp: remove deprecated code | ||
2 | |||
3 | The deprecated code was no longer used, so remove it to avoid | ||
4 | compiling failure with -Werror=unused-function | ||
5 | ... | ||
6 | | example21.cpp:51:8: error: 'size_t {anonymous}::readData(char*, | ||
7 | size_t, size_t)' defined but not used [-Werror=unused-function] | ||
8 | | size_t readData(char *buffer, size_t size, size_t nitems) | ||
9 | ... | ||
10 | |||
11 | Upstream-Status: Pending | ||
12 | |||
13 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
14 | --- | ||
15 | examples/example21.cpp | 17 ----------------- | ||
16 | 1 file changed, 17 deletions(-) | ||
17 | |||
18 | diff --git a/examples/example21.cpp b/examples/example21.cpp | ||
19 | --- a/examples/example21.cpp | ||
20 | +++ b/examples/example21.cpp | ||
21 | @@ -39,23 +39,6 @@ | ||
22 | #include <curlpp/Options.hpp> | ||
23 | #include <curlpp/Exception.hpp> | ||
24 | |||
25 | -/* | ||
26 | - anonymous namespace to prevent name clash in case other examples using the same global entities | ||
27 | - would be compiled in the same project | ||
28 | -*/ | ||
29 | -namespace | ||
30 | -{ | ||
31 | - | ||
32 | -char *data = NULL; | ||
33 | - | ||
34 | -size_t readData(char *buffer, size_t size, size_t nitems) | ||
35 | -{ | ||
36 | - strncpy(buffer, data, size * nitems); | ||
37 | - return size * nitems; | ||
38 | -} | ||
39 | - | ||
40 | -} // namespace | ||
41 | - | ||
42 | int main(int argc, char *argv[]) | ||
43 | { | ||
44 | if(argc != 3) { | ||
45 | -- | ||
46 | 1.9.1 | ||
47 | |||
diff --git a/meta-networking/recipes-support/libtevent/libtevent/do-not-check-xsltproc-manpages.patch b/meta-networking/recipes-support/libtevent/libtevent/do-not-check-xsltproc-manpages.patch deleted file mode 100644 index 1ce4dda1c..000000000 --- a/meta-networking/recipes-support/libtevent/libtevent/do-not-check-xsltproc-manpages.patch +++ /dev/null | |||
@@ -1,16 +0,0 @@ | |||
1 | Don't check manpages for xsltproc. | ||
2 | |||
3 | Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com> | ||
4 | |||
5 | diff -Nurp tevent-0.9.21.orig/lib/talloc/wscript tevent-0.9.21/lib/talloc/wscript | ||
6 | --- tevent-0.9.21.orig/lib/talloc/wscript 2013-09-08 21:24:14.000000000 +0900 | ||
7 | +++ tevent-0.9.21/lib/talloc/wscript 2015-04-24 16:28:04.085000230 +0900 | ||
8 | @@ -55,7 +55,7 @@ def configure(conf): | ||
9 | if conf.env.standalone_talloc: | ||
10 | conf.env.TALLOC_COMPAT1 = Options.options.TALLOC_COMPAT1 | ||
11 | |||
12 | - conf.CHECK_XSLTPROC_MANPAGES() | ||
13 | + conf.find_program('xsltproc', var='XSLTPROC') | ||
14 | |||
15 | if not conf.env.disable_python: | ||
16 | # also disable if we don't have the python libs installed | ||
diff --git a/meta-networking/recipes-support/nis/ypbind-mt_2.2.bb b/meta-networking/recipes-support/nis/ypbind-mt_2.2.bb deleted file mode 100644 index 0b7e5046b..000000000 --- a/meta-networking/recipes-support/nis/ypbind-mt_2.2.bb +++ /dev/null | |||
@@ -1,53 +0,0 @@ | |||
1 | # This package builds the NIS ypbind daemon | ||
2 | # The source package is utils/net/NIS/ypbind-mt | ||
3 | # | ||
4 | require nis.inc | ||
5 | |||
6 | DESCRIPTION = " \ | ||
7 | Multithreaded NIS bind service (ypbind-mt). \ | ||
8 | ypbind-mt is a complete new implementation of a NIS \ | ||
9 | binding daemon for Linux. It has the following \ | ||
10 | features. Supports ypbind protocol V1 and V2. \ | ||
11 | Uses threads for better response. Supports multiple \ | ||
12 | domain bindings. Supports /var/yp/binding/* file \ | ||
13 | for Linux libc 4/5 and glibc 2.x. Supports a list \ | ||
14 | of known secure NIS server (/etc/yp.conf) Binds to \ | ||
15 | the server which answered as first. \ | ||
16 | " | ||
17 | HOMEPAGE = "http://www.linux-nis.org/nis/ypbind-mt/index.html" | ||
18 | DEPENDS = "yp-tools ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" | ||
19 | PROVIDES += "ypbind" | ||
20 | |||
21 | PNBLACKLIST[ypbind-mt] ?= "BROKEN: Depends on broken yp-tools - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
22 | |||
23 | SRC_URI = "http://www.linux-nis.org/download/ypbind-mt/${BP}.tar.bz2 \ | ||
24 | file://ypbind.init \ | ||
25 | file://ypbind.service \ | ||
26 | " | ||
27 | SRC_URI[md5sum] = "54e2040d8266ae7d302d081ca310c8a8" | ||
28 | SRC_URI[sha256sum] = "dc2f7d97c94dcab0acfdcd115cd8b464eb8c427e4bb0fe68404ae7465f517cd3" | ||
29 | |||
30 | inherit systemd update-rc.d | ||
31 | |||
32 | SYSTEMD_SERVICE_${PN} = "ypbind.service" | ||
33 | INITSCRIPT_NAME = "ypbind" | ||
34 | INITSCRIPT_PARAMS = "start 44 3 5 . stop 70 0 1 2 6 ." | ||
35 | |||
36 | CACHED_CONFIGUREVARS = "ac_cv_prog_STRIP=/bin/true" | ||
37 | |||
38 | EXTRA_OECONF = "PKG_CONFIG_PATH='${STAGING_LIBDIR}/yp-nis/pkgconfig/'" | ||
39 | |||
40 | do_install_append () { | ||
41 | install -d ${D}${sysconfdir}/init.d | ||
42 | install -d ${D}${sysconfdir}/rcS.d | ||
43 | |||
44 | install -m 0755 ${WORKDIR}/ypbind.init ${D}${sysconfdir}/init.d/ypbind | ||
45 | |||
46 | install -d ${D}${systemd_unitdir}/system | ||
47 | install -m 0644 ${WORKDIR}/ypbind.service ${D}${systemd_unitdir}/system | ||
48 | } | ||
49 | |||
50 | |||
51 | RPROVIDES_${PN} += "${PN}-systemd" | ||
52 | RREPLACES_${PN} += "${PN}-systemd" | ||
53 | RCONFLICTS_${PN} += "${PN}-systemd" | ||
diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/fix-lib64-can-not-be-shiped-in-64bit-target.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/fix-lib64-can-not-be-shiped-in-64bit-target.patch deleted file mode 100644 index 676fa8a7a..000000000 --- a/meta-oe/recipes-benchmark/libhugetlbfs/files/fix-lib64-can-not-be-shiped-in-64bit-target.patch +++ /dev/null | |||
@@ -1,75 +0,0 @@ | |||
1 | Upstream-Status: Inappropriate [oe-core specific] | ||
2 | |||
3 | |||
4 | fix the below error: | ||
5 | ERROR: QA Issue: libhugetlbfs: Files/directories were installed but not shipped | ||
6 | /usr/lib64 | ||
7 | /usr/lib64/libhugetlbfs.so | ||
8 | /usr/lib64/libhugetlbfs.a | ||
9 | /usr/lib64/libhugetlbfs_privutils.so | ||
10 | /usr/lib64/perl5 | ||
11 | /usr/lib64/perl5/TLBC | ||
12 | /usr/lib64/perl5/TLBC/PerfCollect.pm | ||
13 | /usr/lib64/perl5/TLBC/Report.pm | ||
14 | /usr/lib64/perl5/TLBC/DataCollect.pm | ||
15 | /usr/lib64/perl5/TLBC/OpCollect.pm | ||
16 | $<50>ERROR: QA run found fatal errors. Please consider fixing them. | ||
17 | |||
18 | |||
19 | Signed-off-by: Guo Chunrong <B40290@freescale.com> | ||
20 | |||
21 | --- a/Makefile 2013-09-23 02:28:57.340566998 -0500 | ||
22 | +++ b/Makefile 2013-09-23 02:31:05.344569896 -0500 | ||
23 | @@ -33,7 +33,6 @@ | ||
24 | CPPFLAGS += -D__LIBHUGETLBFS__ -DPPC_NO_SEGMENTS | ||
25 | |||
26 | ARCH = $(shell uname -m | sed -e s/i.86/i386/) | ||
27 | -CC = gcc | ||
28 | |||
29 | CUSTOM_LDSCRIPTS = yes | ||
30 | |||
31 | @@ -59,9 +58,9 @@ | ||
32 | CUSTOM_LDSCRIPTS = no | ||
33 | else | ||
34 | ifeq ($(ARCH),aarch64) | ||
35 | -CC64 = gcc | ||
36 | +CC64 = $(CC) | ||
37 | ELF64 = aarch64elf | ||
38 | -TMPLIB64 = lib64 | ||
39 | +TMPLIB64 = lib | ||
40 | CUSTOM_LDSCRIPTS = no | ||
41 | else | ||
42 | ifeq ($(ARCH),i386) | ||
43 | @@ -72,7 +71,7 @@ | ||
44 | ifeq ($(ARCH),x86_64) | ||
45 | CC64 = $(CC) -m64 | ||
46 | ELF64 = elf_x86_64 | ||
47 | -TMPLIB64 = lib64 | ||
48 | +TMPLIB64 = lib | ||
49 | TMPLIB32 = lib | ||
50 | ifneq ($(BUILDTYPE),NATIVEONLY) | ||
51 | CC32 = $(CC) -m32 | ||
52 | @@ -172,11 +171,23 @@ | ||
53 | BINDIR = $(PREFIX)/share/libhugetlbfs | ||
54 | EXEDIR = $(PREFIX)/bin | ||
55 | DOCDIR = $(PREFIX)/share/doc/libhugetlbfs | ||
56 | + | ||
57 | ifdef CC32 | ||
58 | PMDIR = $(PREFIX)/lib/perl5/TLBC | ||
59 | +endif | ||
60 | + | ||
61 | +ifdef CC64 | ||
62 | +ifeq ($(ARCH),x86_64) | ||
63 | +PMDIR = $(PREFIX)/lib/perl5/TLBC | ||
64 | +else | ||
65 | +ifeq ($(ARCH),aarch64) | ||
66 | +PMDIR = $(PREFIX)/lib/perl5/TLBC | ||
67 | else | ||
68 | PMDIR = $(PREFIX)/lib64/perl5/TLBC | ||
69 | endif | ||
70 | +endif | ||
71 | +endif | ||
72 | + | ||
73 | MANDIR1 = $(PREFIX)/share/man/man1 | ||
74 | MANDIR3 = $(PREFIX)/share/man/man3 | ||
75 | MANDIR7 = $(PREFIX)/share/man/man7 | ||
diff --git a/meta-oe/recipes-benchmark/pmbw/pmbw_git.bb b/meta-oe/recipes-benchmark/pmbw/pmbw_git.bb deleted file mode 100644 index 8113da76d..000000000 --- a/meta-oe/recipes-benchmark/pmbw/pmbw_git.bb +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | SUMMERY = "Parallel Memory Bandwidth Measurement / Benchmark" | ||
2 | DESCRIPTION = "\ | ||
3 | The tool pmbw is a set of assembler routines to measure the parallel memory \ | ||
4 | (cache and RAM) bandwidth of modern multi-core machines." | ||
5 | HOMEPAGE = "http://panthema.net/2013/pmbw/" | ||
6 | SECTION = "benchmark/tests" | ||
7 | AUTHOR = "Timo Bingmann" | ||
8 | LICENSE = "GPLv3" | ||
9 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" | ||
10 | |||
11 | SRC_URI = "git://github.com/bingmann/pmbw;protocol=https" | ||
12 | |||
13 | PV = "0.6.2+git${SRCPV}" | ||
14 | SRCREV = "4a3b37728060a8aba06fc83f157a1965088d79d6" | ||
15 | |||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | inherit autotools | ||
19 | |||
20 | # the hand coded asm uses r11, which therefore cannot be used for storing | ||
21 | # the frame pointer when debugging on arm | ||
22 | SELECTED_OPTIMIZATION_remove_arm = "-fno-omit-frame-pointer" | ||
23 | |||
24 | PACKAGES =+ "${PN}-stats2gnuplot" | ||
25 | |||
26 | FILES_${PN}-stats2gnuplot = "${bindir}/stats2gnuplot" | ||
27 | |||
28 | RRECOMMENDS_${PN} = "${PN}-stats2gnuplot" | ||
29 | |||
30 | PNBLACKLIST[pmbw] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130568/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-connectivity/bluez/bluez-hcidump-2.5/obsolete_automake_macros.patch b/meta-oe/recipes-connectivity/bluez/bluez-hcidump-2.5/obsolete_automake_macros.patch deleted file mode 100644 index 0c77f1a20..000000000 --- a/meta-oe/recipes-connectivity/bluez/bluez-hcidump-2.5/obsolete_automake_macros.patch +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | Upstream-Status: Pending [package obsolete/not maintained by upstream] | ||
2 | |||
3 | Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> | ||
4 | diff -Nurd bluez-hcidump-2.5/configure.ac bluez-hcidump-2.5/configure.ac | ||
5 | --- bluez-hcidump-2.5/configure.ac 2012-11-30 10:29:41.000000000 +0200 | ||
6 | +++ bluez-hcidump-2.5/configure.ac 2013-01-12 10:02:10.609511463 +0200 | ||
7 | @@ -2,7 +2,7 @@ | ||
8 | AC_INIT(bluez-hcidump, 2.5) | ||
9 | |||
10 | AM_INIT_AUTOMAKE([foreign subdir-objects]) | ||
11 | -AM_CONFIG_HEADER(config.h) | ||
12 | +AC_CONFIG_HEADERS(config.h) | ||
13 | |||
14 | m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) | ||
diff --git a/meta-oe/recipes-connectivity/bluez/bluez4.inc b/meta-oe/recipes-connectivity/bluez/bluez4.inc deleted file mode 100644 index 5240ccfd8..000000000 --- a/meta-oe/recipes-connectivity/bluez/bluez4.inc +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | SUMMARY = "Linux Bluetooth Stack Userland V4" | ||
2 | DESCRIPTION = "Linux Bluetooth stack V4 userland components. These include a system configurations, daemons, tools and system libraries." | ||
3 | HOMEPAGE = "http://www.bluez.org" | ||
4 | SECTION = "libs" | ||
5 | LICENSE = "GPLv2+ & LGPLv2.1+" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ | ||
7 | file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 \ | ||
8 | file://src/main.c;beginline=1;endline=24;md5=9bc54b93cd7e17bf03f52513f39f926e \ | ||
9 | file://sbc/sbc.c;beginline=1;endline=25;md5=1a40781ed30d50d8639323a184aeb191" | ||
10 | |||
11 | RPROVIDES_${PN} += "${PN}-systemd" | ||
12 | RREPLACES_${PN} += "${PN}-systemd" | ||
13 | RCONFLICTS_${PN} += "${PN}-systemd" | ||
14 | |||
15 | DEPENDS = "udev libusb dbus-glib glib-2.0 libcheck readline libsndfile1" | ||
16 | RDEPENDS_${PN}-dev = "bluez-hcidump" | ||
17 | |||
18 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pie systemd', d)}" | ||
19 | PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib" | ||
20 | PACKAGECONFIG[pie] = "--enable-pie,--disable-pie," | ||
21 | PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_unitdir}/system/,--with-systemdunitdir=" | ||
22 | |||
23 | ASNEEDED = "" | ||
24 | |||
25 | SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.gz" | ||
26 | S = "${WORKDIR}/bluez-${PV}" | ||
27 | |||
28 | inherit autotools-brokensep pkgconfig systemd | ||
29 | |||
30 | EXTRA_OECONF = "\ | ||
31 | --disable-gstreamer \ | ||
32 | --enable-usb \ | ||
33 | --enable-tools \ | ||
34 | --enable-bccmd \ | ||
35 | --enable-hid2hci \ | ||
36 | --enable-dfutool \ | ||
37 | --disable-hidd \ | ||
38 | --disable-pand \ | ||
39 | --disable-dund \ | ||
40 | --disable-cups \ | ||
41 | --enable-test \ | ||
42 | --enable-datafiles \ | ||
43 | --with-udevdir=`pkg-config --variable=udevdir udev` \ | ||
44 | --with-udevrulesdir=`pkg-config --variable=udevdir udev`/rules.d \ | ||
45 | " | ||
46 | |||
47 | EXCLUDE_FROM_WORLD = "1" | ||
diff --git a/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb b/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb deleted file mode 100644 index b6098d84a..000000000 --- a/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | SUMMARY = "Cellphone tools and driver software" | ||
2 | SECTION = "console/network" | ||
3 | LICENSE = "GPLv2+" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" | ||
5 | |||
6 | SRC_URI = "http://www.gnokii.org/download/gnokii/gnokii-${PV}.tar.bz2" | ||
7 | |||
8 | DEPENDS = "glib-2.0 intltool-native" | ||
9 | X11DEPENDS = " libxpm gtk+" | ||
10 | |||
11 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" | ||
12 | PACKAGECONFIG[bluez4] = "--enable-bluetooth,--disable-bluetooth,bluez4" | ||
13 | PACKAGECONFIG[libical] = "--enable-libical,--disable-libical,libical" | ||
14 | PACKAGECONFIG[pcsc-lite] = "--enable-libpcsclite,--disable-libpcsclite,pcsc-lite" | ||
15 | PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline" | ||
16 | PACKAGECONFIG[usb] = "--enable-libusb,--disable-libusb,virtual/libusb0" | ||
17 | PACKAGECONFIG[x11] = ",--without-x,${X11DEPENDS}" | ||
18 | |||
19 | inherit autotools pkgconfig | ||
20 | |||
21 | PACKAGES += "libgnokii libgnokii-dev" | ||
22 | |||
23 | EXTRA_OECONF = "--disable-smsd" | ||
24 | |||
25 | FILES_${PN} = "${bindir} ${sbindir}" | ||
26 | FILES_libgnokii-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la \ | ||
27 | ${libdir}/*.a ${libdir}/*.o ${libdir}/pkgconfig \ | ||
28 | /lib/*.a /lib/*.o ${datadir}/aclocal \ | ||
29 | " | ||
30 | FILES_${PN}-dev = "" | ||
31 | FILES_libgnokii = "${libdir}/libgnokii.so.*" | ||
32 | |||
33 | SRC_URI[md5sum] = "d9627f4a1152d3ea7806df4532850d5f" | ||
34 | SRC_URI[sha256sum] = "8f5a083b05c1a66a3402ca5cd80084e14c2c0632c991bb53b03c78e9adb02501" | ||
35 | |||
36 | PNBLACKLIST[gnokii] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130662/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-connectivity/soft66/files/fix-ar.patch b/meta-oe/recipes-connectivity/soft66/files/fix-ar.patch deleted file mode 100644 index bf1ffdfc6..000000000 --- a/meta-oe/recipes-connectivity/soft66/files/fix-ar.patch +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | --- | ||
2 | configure.ac | 1 + | ||
3 | 1 file changed, 1 insertion(+) | ||
4 | |||
5 | --- git.orig/configure.ac | ||
6 | +++ git/configure.ac | ||
7 | @@ -7,5 +7,6 @@ AC_PROG_CC | ||
8 | AC_CONFIG_HEADERS([config.h]) | ||
9 | AC_CONFIG_FILES([Makefile lib/Makefile tools/Makefile]) | ||
10 | PKG_CHECK_MODULES([FTDI], [libftdi >= 0.13]) | ||
11 | AC_OUTPUT | ||
12 | AM_PROG_CC_C_O | ||
13 | +AM_PROG_AR | ||
diff --git a/meta-oe/recipes-connectivity/soft66/soft66_git.bb b/meta-oe/recipes-connectivity/soft66/soft66_git.bb deleted file mode 100644 index 816f58350..000000000 --- a/meta-oe/recipes-connectivity/soft66/soft66_git.bb +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | SUMMARY = "Library and tools for Soft66ADD and related SDR radio receivers" | ||
2 | LICENSE = "GPLv3 & LGPLv3+" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \ | ||
4 | file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 " | ||
5 | |||
6 | PNBLACKLIST[soft66] ?= "BROKEN: depends on broken libftdi - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
7 | |||
8 | DEPENDS = "libftdi" | ||
9 | |||
10 | PV = "0.1.3+gitr${SRCPV}" | ||
11 | PR = "r1" | ||
12 | |||
13 | SRCREV = "a1dab25e73896c90c98227ac8055f227b830d512" | ||
14 | SRC_URI = "git://home.horsten.com/soft66 \ | ||
15 | file://fix-ar.patch" | ||
16 | |||
17 | S = "${WORKDIR}/git" | ||
18 | |||
19 | inherit autotools pkgconfig | ||
20 | |||
diff --git a/meta-oe/recipes-connectivity/telepathy/libtelepathy/doublefix.patch b/meta-oe/recipes-connectivity/telepathy/libtelepathy/doublefix.patch deleted file mode 100644 index a7737fbf0..000000000 --- a/meta-oe/recipes-connectivity/telepathy/libtelepathy/doublefix.patch +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | Fix double reference to this file to work with recent autoconf+automake | ||
2 | |||
3 | RP 1/2/10 | ||
4 | |||
5 | Upstream-Status: Inappropriate [configuration] | ||
6 | |||
7 | Index: libtelepathy-0.3.3/src/Makefile.am | ||
8 | =================================================================== | ||
9 | --- libtelepathy-0.3.3.orig/src/Makefile.am 2010-02-01 13:13:50.869038984 +0000 | ||
10 | +++ libtelepathy-0.3.3/src/Makefile.am 2010-02-01 13:14:23.267789456 +0000 | ||
11 | @@ -27,7 +27,6 @@ | ||
12 | tp-chan-type-text-gen.h \ | ||
13 | tp-chan-type-tubes-gen.h \ | ||
14 | tp-conn-iface-aliasing-gen.h \ | ||
15 | - tp-conn-iface-avatars-gen.h \ | ||
16 | tp-conn-iface-capabilities-gen.h \ | ||
17 | tp-conn-iface-contact-info-gen.h \ | ||
18 | tp-conn-iface-forwarding-gen.h \ | ||
diff --git a/meta-oe/recipes-connectivity/telepathy/libtelepathy/prefer_python_2.5.patch b/meta-oe/recipes-connectivity/telepathy/libtelepathy/prefer_python_2.5.patch deleted file mode 100644 index 37679ab76..000000000 --- a/meta-oe/recipes-connectivity/telepathy/libtelepathy/prefer_python_2.5.patch +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | Upstream-Status: Inappropriate [configuration] | ||
2 | |||
3 | Index: libtelepathy-0.3.1/configure.ac | ||
4 | =================================================================== | ||
5 | --- libtelepathy-0.3.1.orig/configure.ac 2007-11-22 19:05:56.000000000 +0000 | ||
6 | +++ libtelepathy-0.3.1/configure.ac 2008-01-04 12:07:28.000000000 +0000 | ||
7 | @@ -51,7 +51,7 @@ | ||
8 | AC_MSG_ERROR([xsltproc (from the libxslt source package) is required]) | ||
9 | fi | ||
10 | |||
11 | -AC_CHECK_PROGS([PYTHON], [python2.3 python2.4 python2.5 python]) | ||
12 | +AC_CHECK_PROGS([PYTHON], [python2.5 python2.4 python2.3 python]) | ||
13 | if test -z "$PYTHON"; then | ||
14 | AC_MSG_ERROR([Python is required to compile this package]) | ||
15 | fi | ||
diff --git a/meta-oe/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb b/meta-oe/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb deleted file mode 100644 index 783bd5d73..000000000 --- a/meta-oe/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | SUMMARY = "Telepathy framework" | ||
2 | DESCRIPTION = "Telepathy is a D-Bus framework for unifying real time \ | ||
3 | communication, including instant messaging, voice calls and video calls. It \ | ||
4 | abstracts differences between protocols to provide a unified interface for \ | ||
5 | applications." | ||
6 | HOMEPAGE = "http://telepathy.freedesktop.org/wiki/" | ||
7 | DEPENDS = "glib-2.0 dbus dbus-glib telepathy-glib libxslt-native" | ||
8 | LICENSE = "LGPLv2.1+" | ||
9 | LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ | ||
10 | file://src/tp-conn.c;beginline=1;endline=19;md5=4c58069f77d601cc59200bce5396c7cb" | ||
11 | PR = "r5" | ||
12 | |||
13 | SRC_URI = "http://telepathy.freedesktop.org/releases/libtelepathy/libtelepathy-${PV}.tar.gz \ | ||
14 | file://prefer_python_2.5.patch \ | ||
15 | file://doublefix.patch \ | ||
16 | " | ||
17 | |||
18 | SRC_URI[md5sum] = "490ca1a0c614d4466394b72d43bf7370" | ||
19 | SRC_URI[sha256sum] = "e0d230be855125163579743418203c6f6be2f10f98c4f065735c1dc9ed115878" | ||
20 | |||
21 | inherit autotools pkgconfig pythonnative | ||
22 | |||
23 | FILES_${PN} += "${datadir}/telepathy \ | ||
24 | ${datadir}/dbus-1" | ||
25 | |||
26 | PNBLACKLIST[libtelepathy] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130609/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control/tmc-Makefile-fix-race.patch b/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control/tmc-Makefile-fix-race.patch deleted file mode 100644 index ece1da6bc..000000000 --- a/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control/tmc-Makefile-fix-race.patch +++ /dev/null | |||
@@ -1,76 +0,0 @@ | |||
1 | From: Robert Yang <liezhi.yang@windriver.com> | ||
2 | Date: Sun, 22 Sep 2013 23:21:01 -0400 | ||
3 | Subject: [PATCH] src/Makefile.am: fix race issue for _gen/gtypes.h and _gen/gtypes-body.h | ||
4 | |||
5 | There might be an error when parallel build: | ||
6 | |||
7 | [snip] | ||
8 | Traceback (most recent call last): | ||
9 | File "/path/to/tools/glib-gtypes-generator.py", line 304, in <module> | ||
10 | GTypesGenerator(dom, argv[1], argv[2])() | ||
11 | File "/path/to/tools/glib-gtypes-generator.py", line 295, in __call__ | ||
12 | file_set_contents(self.output + '.h', ''.join(self.header)) | ||
13 | File "/path/to/tools/libtpcodegen.py", line 42, in file_set_contents | ||
14 | os.rename(filename + '.tmp', filename) | ||
15 | OSError: [Errno 2] No such file or directory | ||
16 | [snip] | ||
17 | |||
18 | This is a race issue, the _gen/gtypes.h and _gen/gtypes-body.h may | ||
19 | write(remove/rename) _gen/gtypes.tmp at the same time, then there would | ||
20 | be the error. | ||
21 | |||
22 | There was a similar bug in telepathy-glib which was already fixed, we use the | ||
23 | similar patch to fix it. | ||
24 | |||
25 | Upstream-Status: Pending | ||
26 | |||
27 | Signed-off-by: Robert Yang <liezhi.yang@windriver.com> | ||
28 | --- | ||
29 | src/Makefile.am | 18 +++++++++++++++--- | ||
30 | 1 file changed, 15 insertions(+), 3 deletions(-) | ||
31 | |||
32 | diff --git a/src/Makefile.am b/src/Makefile.am | ||
33 | --- a/src/Makefile.am | ||
34 | +++ b/src/Makefile.am | ||
35 | @@ -288,7 +288,11 @@ _gen/interfaces-body.h: _gen/mcd.xml \ | ||
36 | $(tools_dir)/glib-interfaces-body-generator.xsl \ | ||
37 | $< > $@ | ||
38 | |||
39 | -_gen/gtypes.h _gen/gtypes-body.h: _gen/mcd.xml \ | ||
40 | +# do nothing, output as a side-effect | ||
41 | +_gen/gtypes.h: _gen/gtypes-body.h | ||
42 | + @: | ||
43 | + | ||
44 | +_gen/gtypes-body.h: _gen/mcd.xml \ | ||
45 | $(top_srcdir)/tools/glib-gtypes-generator.py | ||
46 | $(AM_V_GEN)$(PYTHON) $(top_srcdir)/tools/glib-gtypes-generator.py \ | ||
47 | $< _gen/gtypes mc | ||
48 | @@ -309,7 +313,11 @@ _gen/%.xml: %.xml $(wildcard $(top_srcdir)/xml/*.xml) Makefile.am | ||
49 | $(AM_V_GEN)$(XSLTPROC) $(XSLTPROCFLAGS) --xinclude $(tools_dir)/identity.xsl \ | ||
50 | $< > $@ | ||
51 | |||
52 | -_gen/cli-%-body.h _gen/cli-%.h: _gen/%.xml \ | ||
53 | +# do nothing, output as a side-effect | ||
54 | +_gen/cli-%.h: _gen/cli-%-body.h | ||
55 | + @: | ||
56 | + | ||
57 | +_gen/cli-%-body.h: _gen/%.xml \ | ||
58 | $(tools_dir)/glib-client-gen.py Makefile.am | ||
59 | $(AM_V_GEN)$(PYTHON) $(tools_dir)/glib-client-gen.py \ | ||
60 | --group=`echo $* | tr x- x_` \ | ||
61 | @@ -317,7 +325,11 @@ _gen/cli-%-body.h _gen/cli-%.h: _gen/%.xml \ | ||
62 | --tp-proxy-api=0.7.6 \ | ||
63 | $< Mc_Cli _gen/cli-$* | ||
64 | |||
65 | -_gen/svc-%.c _gen/svc-%.h: _gen/%.xml \ | ||
66 | +# do nothing, output as a side-effect | ||
67 | +_gen/svc-%.h: _gen/svc-%.c | ||
68 | + @: | ||
69 | + | ||
70 | +_gen/svc-%.c: _gen/%.xml \ | ||
71 | $(tools_dir)/glib-ginterface-gen.py Makefile.am | ||
72 | $(AM_V_GEN)$(PYTHON) $(tools_dir)/glib-ginterface-gen.py \ | ||
73 | --filename=_gen/svc-$* \ | ||
74 | -- | ||
75 | 1.7.10.4 | ||
76 | |||
diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb b/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb deleted file mode 100644 index 6a4d5d006..000000000 --- a/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb +++ /dev/null | |||
@@ -1,53 +0,0 @@ | |||
1 | SUMMARY = "Central control for Telepathy IM connection managers" | ||
2 | HOMEPAGE = "http://telepathy.freedesktop.org/wiki/Mission_Control/" | ||
3 | LICENSE = "LGPLv2.1+" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \ | ||
5 | file://src/request.h;beginline=1;endline=21;md5=f80534d9af1c33291b3b79609f196eb2" | ||
6 | SECTION = "libs" | ||
7 | DEPENDS = "libtelepathy dbus-glib gconf libxslt-native" | ||
8 | |||
9 | SRC_URI = "http://telepathy.freedesktop.org/releases/telepathy-mission-control/${BP}.tar.gz \ | ||
10 | file://tmc-Makefile-fix-race.patch \ | ||
11 | " | ||
12 | SRC_URI[md5sum] = "421115a35b9e427807326877f86e7f43" | ||
13 | SRC_URI[sha256sum] = "14ceb7d53535b43d44b8271ad11319d1d0fe6d193d154636b9e62b42799b9723" | ||
14 | |||
15 | inherit autotools-brokensep pkgconfig pythonnative | ||
16 | |||
17 | PACKAGECONFIG ??= "" | ||
18 | PACKAGECONFIG[upower] = "--enable-upower,--disable-upower,upower" | ||
19 | |||
20 | # to select connman or nm you need to use "connectivity" and "connman" or "nm", default is to disable both | ||
21 | PACKAGECONFIG[connectivity] = ",--with-connectivity=no" | ||
22 | PACKAGECONFIG[connman] = "--with-connectivity=connman,,connman" | ||
23 | PACKAGECONFIG[nm] = "--with-connectivity=nm,,networkmanager" | ||
24 | |||
25 | PACKAGES =+ " \ | ||
26 | libmissioncontrol \ | ||
27 | libmissioncontrol-config \ | ||
28 | libmissioncontrol-server \ | ||
29 | libmissioncontrol-dev \ | ||
30 | libmissioncontrol-config-dev \ | ||
31 | libmissioncontrol-server-dev \ | ||
32 | libmissioncontrol-dbg \ | ||
33 | libmissioncontrol-config-dbg \ | ||
34 | libmissioncontrol-server-dbg \ | ||
35 | " | ||
36 | |||
37 | FILES_${PN} += "${datadir}/dbus* ${datadir}/glib-2.0/schemas" | ||
38 | |||
39 | FILES_libmissioncontrol = "${libdir}/libmissioncontrol.so.*" | ||
40 | FILES_libmissioncontrol-config = "${libdir}/libmissioncontrol-config.so.*" | ||
41 | FILES_libmissioncontrol-server = "${libdir}/libmissioncontrol-server.so.*" | ||
42 | |||
43 | FILES_libmissioncontrol-dev = "${libdir}/libmissioncontrol.* \ | ||
44 | ${includedir}/libmissioncontrol/ \ | ||
45 | ${libdir}/pkgconfig/libmissioncontrol.pc" | ||
46 | FILES_libmissioncontrol-config-dev = "${libdir}/libmissioncontrol-config.*" | ||
47 | FILES_libmissioncontrol-server-dev = "${libdir}/libmissioncontrol-server.*" | ||
48 | |||
49 | FILES_libmissioncontrol-dbg = "${libdir}/.debug/libmissioncontrol.so.*" | ||
50 | FILES_libmissioncontrol-config-dbg = "${libdir}/.debug/libmissioncontrol-config.so.*" | ||
51 | FILES_libmissioncontrol-server-dbg = "${libdir}/.debug/libmissioncontrol-server.so.*" | ||
52 | |||
53 | PNBLACKLIST[telepathy-mission-control] ?= "Depends on blacklisted libtelepathy - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice-3.5.1/0002-Modify-Makefile-for-cross-compile.patch b/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice-3.5.1/0002-Modify-Makefile-for-cross-compile.patch deleted file mode 100644 index 43096d2bc..000000000 --- a/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice-3.5.1/0002-Modify-Makefile-for-cross-compile.patch +++ /dev/null | |||
@@ -1,292 +0,0 @@ | |||
1 | Upstream-Status: Inappropriate | ||
2 | |||
3 | This patch lets you build Ice with OpenEmbedded. I doubt you could do | ||
4 | a regular build after applying this patch. | ||
5 | |||
6 | From bc622ce74fa03a935278d21736a5a251466e1798 Mon Sep 17 00:00:00 2001 | ||
7 | From: Tom Rondeau <tom@trondeau.com> | ||
8 | Date: Wed, 16 Apr 2014 14:34:51 -0400 | ||
9 | Subject: [PATCH] Modify Makefiles for cross compile | ||
10 | |||
11 | --- | ||
12 | config/Make.common.rules | 20 +++++++------ | ||
13 | cpp/Makefile | 9 +++--- | ||
14 | cpp/config/Make.rules | 32 ++++++++++++-------- | ||
15 | cpp/config/Make.rules.Linux | 18 ++--------- | ||
16 | cpp/src/IceStorm/FreezeDB/Makefile | 2 +- | ||
17 | py/config/Make.rules | 58 +++++++++++++++++++----------------- | ||
18 | 6 files changed, 70 insertions(+), 69 deletions(-) | ||
19 | |||
20 | diff --git a/config/Make.common.rules b/config/Make.common.rules | ||
21 | index d7b1d59..a3fb17e 100644 | ||
22 | --- a/config/Make.common.rules | ||
23 | +++ b/config/Make.common.rules | ||
24 | @@ -65,9 +65,9 @@ ifeq ($(UNAME),Linux) | ||
25 | # | ||
26 | # Some Linux distributions like Debian/Ubuntu don't use /usr/lib64. | ||
27 | # | ||
28 | - ifeq ($(shell test -d /usr/lib64 && echo 0),0) | ||
29 | - lp64suffix = 64 | ||
30 | - endif | ||
31 | + #ifeq ($(shell test -d /usr/lib64 && echo 0),0) | ||
32 | + # lp64suffix = 64 | ||
33 | + #endif | ||
34 | ifeq ($(LP64),) | ||
35 | LP64 = yes | ||
36 | endif | ||
37 | @@ -244,12 +244,13 @@ else | ||
38 | slicedir = $(ice_dir)/slice | ||
39 | endif | ||
40 | |||
41 | -ifeq ($(prefix), /usr) | ||
42 | - install_slicedir = /usr/share/Ice-$(VERSION)/slice | ||
43 | -else | ||
44 | - install_slicedir = $(prefix)/slice | ||
45 | -endif | ||
46 | +#ifeq ($(prefix), /usr) | ||
47 | +# install_slicedir = /usr/share/Ice-$(VERSION)/slice | ||
48 | +#else | ||
49 | +# install_slicedir = $(prefix)/slice | ||
50 | +#endif | ||
51 | |||
52 | +install_slicedir = $(prefix)/slice | ||
53 | # | ||
54 | # Set environment variables for the Slice translator. | ||
55 | # | ||
56 | @@ -265,7 +266,8 @@ ifneq ($(ice_dir), /usr) | ||
57 | endif | ||
58 | |||
59 | ifeq ($(UNAME),Linux) | ||
60 | - export LD_LIBRARY_PATH := $(ice_lib_dir):$(LD_LIBRARY_PATH) | ||
61 | + #export LD_LIBRARY_PATH := $(ice_lib_dir):$(LD_LIBRARY_PATH) | ||
62 | + export LD_LIBRARY_PATH := $(ICE_HOME)/lib:$(LD_LIBRARY_PATH) | ||
63 | endif | ||
64 | |||
65 | ifeq ($(UNAME),SunOS) | ||
66 | diff --git a/cpp/Makefile b/cpp/Makefile | ||
67 | index a68f113..1f44f57 100644 | ||
68 | --- a/cpp/Makefile | ||
69 | +++ b/cpp/Makefile | ||
70 | @@ -11,11 +11,12 @@ top_srcdir = . | ||
71 | |||
72 | include $(top_srcdir)/config/Make.rules | ||
73 | |||
74 | -SUBDIRS = config src include test | ||
75 | +#SUBDIRS = config src include test | ||
76 | +SUBDIRS = config src include | ||
77 | |||
78 | -ifeq ($(shell uname | grep MINGW),) | ||
79 | -SUBDIRS := $(SUBDIRS) demo | ||
80 | -endif | ||
81 | +#ifeq ($(shell uname | grep MINGW),) | ||
82 | +#SUBDIRS := $(SUBDIRS) demo | ||
83 | +#endif | ||
84 | |||
85 | INSTALL_SUBDIRS = $(install_bindir) $(install_libdir) $(install_includedir) \ | ||
86 | $(install_configdir) $(install_mandir) | ||
87 | diff --git a/cpp/config/Make.rules b/cpp/config/Make.rules | ||
88 | index 37461ae..197c5e8 100644 | ||
89 | --- a/cpp/config/Make.rules | ||
90 | +++ b/cpp/config/Make.rules | ||
91 | @@ -175,11 +175,12 @@ headerdir = $(top_srcdir)/include | ||
92 | # includedir is not handled the same as bindir and libdir | ||
93 | # because it is used in the .depend files | ||
94 | # | ||
95 | -ifdef ice_src_dist | ||
96 | - includedir = $(top_srcdir)/include | ||
97 | -else | ||
98 | - includedir = $(ice_dir)/include | ||
99 | -endif | ||
100 | +#ifdef ice_src_dist | ||
101 | +# includedir = $(top_srcdir)/include | ||
102 | +#else | ||
103 | +# includedir = $(ice_dir)/include | ||
104 | +#endif | ||
105 | +includedir = $(top_srcdir)/include | ||
106 | |||
107 | # | ||
108 | # Platform specific definitions | ||
109 | @@ -277,14 +278,17 @@ ICECPPFLAGS = -I$(slicedir) | ||
110 | SLICE2CPPFLAGS = $(ICECPPFLAGS) | ||
111 | |||
112 | ifeq ($(ice_dir), /usr) | ||
113 | - LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) | ||
114 | + LDFLAGS += $(LDPLATFORMFLAGS) $(CXXFLAGS) | ||
115 | else | ||
116 | CPPFLAGS += -I$(includedir) | ||
117 | - ifdef ice_src_dist | ||
118 | - LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir) | ||
119 | - else | ||
120 | - LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(ice_dir)/$(libsubdir)$(cpp11suffix) | ||
121 | - endif | ||
122 | +# We must always build using the libraries in the source tree, the host's are obviously | ||
123 | +# not what we want for the target | ||
124 | + LDFLAGS += $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir) $(call rpathlink,$(libdir)) | ||
125 | +# ifdef ice_src_dist | ||
126 | +# LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir) | ||
127 | +# else | ||
128 | +# LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(ice_dir)/$(libsubdir)$(cpp11suffix) | ||
129 | +# endif | ||
130 | endif | ||
131 | |||
132 | ifeq ($(FLEX_NOLINE),yes) | ||
133 | @@ -313,8 +317,10 @@ endif | ||
134 | |||
135 | ifdef ice_src_dist | ||
136 | SLICEPARSERLIB = $(libdir)/$(call mklibfilename,Slice,$(VERSION)) | ||
137 | - SLICE2CPP = $(bindir)/slice2cpp | ||
138 | - SLICE2FREEZE = $(bindir)/slice2freeze | ||
139 | +# SLICE2CPP = $(bindir)/slice2cpp | ||
140 | +# SLICE2FREEZE = $(bindir)/slice2freeze | ||
141 | + SLICE2CPP = $(ICE_HOME)/bin/slice2cpp | ||
142 | + SLICE2FREEZE = $(ICE_HOME)/bin/slice2freeze | ||
143 | else | ||
144 | SLICEPARSERLIB = $(ice_dir)/$(libsubdir)$(cpp11suffix)/$(call mklibfilename,Slice,$(VERSION)) | ||
145 | SLICE2CPP = $(ice_dir)/$(binsubdir)$(cpp11suffix)/slice2cpp | ||
146 | diff --git a/cpp/config/Make.rules.Linux b/cpp/config/Make.rules.Linux | ||
147 | index 5d5717c..8363c6e 100644 | ||
148 | --- a/cpp/config/Make.rules.Linux | ||
149 | +++ b/cpp/config/Make.rules.Linux | ||
150 | @@ -31,7 +31,7 @@ ifeq ($(CXX),c++) | ||
151 | CXX = g++ | ||
152 | endif | ||
153 | |||
154 | -ifeq ($(CXX),g++) | ||
155 | +#ifeq ($(CXX),g++) | ||
156 | |||
157 | ifneq ($(SUSE_i586),) | ||
158 | CXXARCHFLAGS += -march=i586 | ||
159 | @@ -71,14 +71,6 @@ ifeq ($(CXX),g++) | ||
160 | CXXARCHFLAGS += -mtune=v8 -pipe -Wno-deprecated -DICE_USE_MUTEX_SHARED | ||
161 | endif | ||
162 | |||
163 | - ifeq ($(MACHINE),x86_64) | ||
164 | - ifeq ($(LP64),yes) | ||
165 | - CXXARCHFLAGS += -m64 | ||
166 | - else | ||
167 | - CXXARCHFLAGS += -m32 | ||
168 | - endif | ||
169 | - endif | ||
170 | - | ||
171 | CXXFLAGS = $(CXXARCHFLAGS) -Wall -Werror -pthread | ||
172 | |||
173 | ifneq ($(GENPIC),no) | ||
174 | @@ -102,15 +94,11 @@ ifeq ($(CXX),g++) | ||
175 | |||
176 | rpathlink = -Wl,-rpath-link,$(1) | ||
177 | |||
178 | - ifneq ($(embedded_runpath_prefix),) | ||
179 | - LDPLATFORMFLAGS = -Wl,--enable-new-dtags -Wl,-rpath,$(runpath_libdir) | ||
180 | - else | ||
181 | - LDPLATFORMFLAGS = -Wl,--enable-new-dtags | ||
182 | - endif | ||
183 | + LDPLATFORMFLAGS = -Wl,--enable-new-dtags -Wl,-rpath,../../../lib | ||
184 | |||
185 | LDPLATFORMFLAGS += -rdynamic | ||
186 | |||
187 | -endif | ||
188 | +#endif | ||
189 | |||
190 | ifeq ($(CXX),icpc) | ||
191 | $(warning ===================================================================) | ||
192 | diff --git a/cpp/src/IceStorm/FreezeDB/Makefile b/cpp/src/IceStorm/FreezeDB/Makefile | ||
193 | index 7c844b7..cf15cb1 100644 | ||
194 | --- a/cpp/src/IceStorm/FreezeDB/Makefile | ||
195 | +++ b/cpp/src/IceStorm/FreezeDB/Makefile | ||
196 | @@ -66,7 +66,7 @@ $(libdir)/$(LIBNAME): $(libdir)/$(SONAME) | ||
197 | |||
198 | $(MIGRATE): $(MOBJS) | ||
199 | rm -f $@ | ||
200 | - $(CXX) $(LDFLAGS) -o $@ $(MOBJS) $(DB_RPATH_LINK) -lIceStormService -lIceStorm -lFreeze $(LIBS) | ||
201 | + $(CXX) $(LDFLAGS) -o $@ $(MOBJS) $(DB_RPATH_LINK) -lIceStormService -lIceStorm -lFreeze $(LIBS) -ldb_cxx | ||
202 | |||
203 | # The slice2freeze rules are structured like this to avoid issues with | ||
204 | # parallel make. | ||
205 | diff --git a/py/config/Make.rules b/py/config/Make.rules | ||
206 | index 43ce01b..1349342 100644 | ||
207 | --- a/py/config/Make.rules | ||
208 | +++ b/py/config/Make.rules | ||
209 | @@ -92,21 +92,23 @@ ifeq ($(shell test -f $(top_srcdir)/config/Make.rules.$(UNAME) && echo 0),0) | ||
210 | include $(top_srcdir)/config/Make.rules.$(UNAME) | ||
211 | else | ||
212 | include $(top_srcdir)/../cpp/config/Make.rules.$(UNAME) | ||
213 | -endif | ||
214 | +endif | ||
215 | |||
216 | libdir = $(top_srcdir)/python | ||
217 | -ifneq ($(prefix), /usr) | ||
218 | -install_pythondir = $(prefix)/python | ||
219 | -install_libdir = $(prefix)/python | ||
220 | -else | ||
221 | - ifeq ($(shell test -d $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages && echo 0),0) | ||
222 | - install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages | ||
223 | - install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages | ||
224 | - else | ||
225 | - install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages | ||
226 | - install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages | ||
227 | - endif | ||
228 | -endif | ||
229 | +#ifneq ($(prefix), /usr) | ||
230 | +#install_pythondir = $(prefix)/python | ||
231 | +#install_libdir = $(prefix)/python | ||
232 | +#else | ||
233 | +# ifeq ($(shell test -d $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages && echo 0),0) | ||
234 | +# install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages | ||
235 | +# install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages | ||
236 | +# else | ||
237 | +# install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages | ||
238 | +# install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages | ||
239 | +# endif | ||
240 | +#endif | ||
241 | +install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages | ||
242 | +install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages | ||
243 | |||
244 | ifeq ($(UNAME),SunOS) | ||
245 | ifeq ($(LP64),yes) | ||
246 | @@ -115,19 +117,21 @@ ifeq ($(UNAME),SunOS) | ||
247 | endif | ||
248 | endif | ||
249 | |||
250 | -ifdef ice_src_dist | ||
251 | - ifeq ($(ice_cpp_dir), $(ice_dir)/cpp) | ||
252 | - ICE_LIB_DIR = -L$(ice_cpp_dir)/lib | ||
253 | - else | ||
254 | - ICE_LIB_DIR = -L$(ice_cpp_dir)/$(libsubdir) | ||
255 | - endif | ||
256 | - ICE_LIB_DIR = -L$(ice_cpp_dir)/lib | ||
257 | - ICE_FLAGS = -I$(ice_cpp_dir)/include | ||
258 | -endif | ||
259 | -ifdef ice_bin_dist | ||
260 | - ICE_LIB_DIR = -L$(ice_dir)/$(libsubdir) | ||
261 | - ICE_FLAGS = -I$(ice_dir)/include | ||
262 | -endif | ||
263 | +#ifdef ice_src_dist | ||
264 | +# ifeq ($(ice_cpp_dir), $(ice_dir)/cpp) | ||
265 | +# ICE_LIB_DIR = -L$(ice_cpp_dir)/lib | ||
266 | +# else | ||
267 | +# ICE_LIB_DIR = -L$(ice_cpp_dir)/$(libsubdir) | ||
268 | +# endif | ||
269 | +# ICE_LIB_DIR = -L$(ice_cpp_dir)/lib | ||
270 | +# ICE_FLAGS = -I$(ice_cpp_dir)/include | ||
271 | +#endif | ||
272 | +#ifdef ice_bin_dist | ||
273 | +# ICE_LIB_DIR = -L$(ice_dir)/$(libsubdir) | ||
274 | +# ICE_FLAGS = -I$(ice_dir)/include | ||
275 | +#endif | ||
276 | +ICE_LIB_DIR = -L$(top_srcdir)/../cpp/lib | ||
277 | +ICE_FLAGS = -I$(ice_cpp_dir)/include | ||
278 | ICE_LIBS = $(ICE_LIB_DIR) -lIce -lSlice -lIceUtil | ||
279 | |||
280 | ifneq ($(embedded_runpath_prefix),) | ||
281 | @@ -137,7 +141,7 @@ endif | ||
282 | CPPFLAGS = | ||
283 | ICECPPFLAGS = -I$(slicedir) | ||
284 | SLICE2PYFLAGS = $(ICECPPFLAGS) | ||
285 | -LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir) | ||
286 | +LDFLAGS += $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir) | ||
287 | |||
288 | ifdef ice_src_dist | ||
289 | ifeq ($(ice_cpp_dir), $(ice_dir)/cpp) | ||
290 | -- | ||
291 | 1.7.9.5 | ||
292 | |||
diff --git a/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice_3.5.1.bb b/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice_3.5.1.bb deleted file mode 100644 index 7c833b0eb..000000000 --- a/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice_3.5.1.bb +++ /dev/null | |||
@@ -1,87 +0,0 @@ | |||
1 | DESCRIPTION = "The Internet Communications Engine" | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://ICE_LICENSE;md5=3dc3037023cc2ae6b2c5b995da529515" | ||
4 | DEPENDS = "bzip2 expat openssl python db mcpp" | ||
5 | DEPENDS_prepend_class-target = "zeroc-ice-native " | ||
6 | |||
7 | SRC_URI = "http://www.zeroc.com/download/Ice/3.5/Ice-${PV}.tar.gz \ | ||
8 | file://0002-Modify-Makefile-for-cross-compile.patch \ | ||
9 | " | ||
10 | SRC_URI[md5sum] = "f00c59983cc904bca977133c0a9b3e80" | ||
11 | SRC_URI[sha256sum] = "989e51194c6adadbd156da3288e37bad847b93b3b876502e83033b70493af392" | ||
12 | |||
13 | #| MapDb.cpp: In constructor 'Freeze::MapDb::MapDb(const ConnectionIPtr&, const string&, const string&, const string&, const KeyCompareBasePtr&, const std::vector<IceUtil::Handle<Freeze::MapIndexBase> >&, bool)': | ||
14 | #| MapDb.cpp:138:46: error: call of overloaded 'set_bt_compare(int (*)(DB*, const DBT*, const DBT*))' is ambiguous | ||
15 | #| MapDb.cpp:138:46: note: candidates are: | ||
16 | #| /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/db_cxx.h:272:14: note: virtual int Db::set_bt_compare(bt_compare_fcn_type) <near match> | ||
17 | #| /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/db_cxx.h:272:14: note: no known conversion for argument 1 from 'int (*)(DB*, const DBT*, const DBT*) {aka int (*)(__db*, const __db_dbt*, const __db_dbt*)}' to 'bt_compare_fcn_type {aka int (*)(__db*, const __db_dbt*, const __db_dbt*, long unsigned int*)}' | ||
18 | #| /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/db_cxx.h:273:14: note: virtual int Db::set_bt_compare(int (*)(Db*, const Dbt*, const Dbt*, size_t*)) <near match> | ||
19 | #| /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/db_cxx.h:273:14: note: no known conversion for argument 1 from 'int (*)(DB*, const DBT*, const DBT*) {aka int (*)(__db*, const __db_dbt*, const __db_dbt*)}' to 'int (*)(Db*, const Dbt*, const Dbt*, size_t*) {aka int (*)(Db*, const Dbt*, const Dbt*, long unsigned int*)}' | ||
20 | #| make[3]: *** [MapDb.o] Error 1 | ||
21 | PNBLACKLIST[zeroc-ice] ?= "BROKEN: not compatible with default db version - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
22 | |||
23 | S = "${WORKDIR}/Ice-${PV}" | ||
24 | |||
25 | inherit python-dir pkgconfig | ||
26 | |||
27 | export PYTHON_VERSION = "python2.7" | ||
28 | |||
29 | do_configure() { | ||
30 | : | ||
31 | } | ||
32 | |||
33 | do_compile_prepend_class-target () { | ||
34 | export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}" | ||
35 | export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}" | ||
36 | export ICE_HOME="${STAGING_DIR_NATIVE}/usr" | ||
37 | } | ||
38 | |||
39 | do_compile_prepend_class-nativesdk () { | ||
40 | export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}" | ||
41 | export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}" | ||
42 | export ICE_HOME="${STAGING_DIR_NATIVE}/usr" | ||
43 | } | ||
44 | |||
45 | do_compile_prepend_class-native () { | ||
46 | export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}" | ||
47 | export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}" | ||
48 | export ICE_HOME="${S}/cpp" | ||
49 | } | ||
50 | |||
51 | do_compile() { | ||
52 | oe_runmake -C ${S} cpp | ||
53 | oe_runmake -C ${S} py | ||
54 | } | ||
55 | |||
56 | do_install_prepend_class-target () { | ||
57 | export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}" | ||
58 | export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}" | ||
59 | export ICE_HOME="${STAGING_DIR_NATIVE}/usr" | ||
60 | } | ||
61 | |||
62 | do_install_prepend_class-nativesdk () { | ||
63 | export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}" | ||
64 | export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}" | ||
65 | export ICE_HOME="${STAGING_DIR_NATIVE}/usr" | ||
66 | } | ||
67 | |||
68 | do_install_prepend_class-native () { | ||
69 | export ICE_HOME="${S}/cpp" | ||
70 | } | ||
71 | |||
72 | do_install() { | ||
73 | oe_runmake -C ${S}/cpp prefix=${D}${prefix} install install-common | ||
74 | oe_runmake -C ${S}/py prefix=${D}${prefix} install | ||
75 | } | ||
76 | |||
77 | PACKAGES += "${PN}-python ${PN}-python-dev ${PN}-python-dbg" | ||
78 | |||
79 | FILES_${PN}-doc += "${prefix}/man/man1" | ||
80 | FILES_${PN} += "${prefix}/*LICENSE ${libdir}/ImportKey.class ${prefix}/RELEASE_NOTES ${prefix}/CHANGES" | ||
81 | FILES_${PN}-dev += "${includedir} ${prefix}/slice ${prefix}/config" | ||
82 | FILES_${PN}-python-dev = "${PYTHON_SITEPACKAGES_DIR}/IcePy.so" | ||
83 | FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*.py ${PYTHON_SITEPACKAGES_DIR}/IcePy.so.* ${PYTHON_SITEPACKAGES_DIR}/Ice*/*.py" | ||
84 | FILES_${PN}-python-dbg = "${PYTHON_SITEPACKAGES_DIR}/.debug" | ||
85 | FILES_${PN}-dev += "${bindir}/slice* ${datadir}/Ice-${PV}/slice/*" | ||
86 | |||
87 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta-oe/recipes-core/fakeroot/fakeroot-native_1.18.4.bb b/meta-oe/recipes-core/fakeroot/fakeroot-native_1.18.4.bb deleted file mode 100644 index 9d50ea44a..000000000 --- a/meta-oe/recipes-core/fakeroot/fakeroot-native_1.18.4.bb +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | require fakeroot_${PV}.bb | ||
2 | |||
3 | S = "${WORKDIR}/fakeroot-${PV}" | ||
4 | |||
5 | inherit native | ||
6 | |||
7 | EXTRA_OECONF = "--program-prefix=" | ||
8 | |||
9 | # Compatability for the rare systems not using or having SYSV | ||
10 | python () { | ||
11 | if d.getVar('HOST_NONSYSV') and d.getVar('HOST_NONSYSV') != '0': | ||
12 | d.setVar('EXTRA_OECONF', ' --with-ipc=tcp --program-prefix= ') | ||
13 | } | ||
14 | |||
15 | RDEPENDS_${PN} = "util-linux-native" | ||
diff --git a/meta-oe/recipes-core/fakeroot/fakeroot_1.18.4.bb b/meta-oe/recipes-core/fakeroot/fakeroot_1.18.4.bb deleted file mode 100644 index 0a787e3ea..000000000 --- a/meta-oe/recipes-core/fakeroot/fakeroot_1.18.4.bb +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | SUMMARY = "Gives a fake root environment" | ||
2 | HOMEPAGE = "http://fakeroot.alioth.debian.org" | ||
3 | SECTION = "base" | ||
4 | LICENSE = "GPLv3" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" | ||
6 | |||
7 | SRC_URI = "\ | ||
8 | ${DEBIAN_MIRROR}/main/f/fakeroot/fakeroot_${PV}.orig.tar.bz2 \ | ||
9 | " | ||
10 | |||
11 | inherit autotools | ||
12 | |||
13 | do_configure_prepend() { | ||
14 | mkdir -p ${S}/build-aux | ||
15 | } | ||
16 | |||
17 | do_install_append() { | ||
18 | install -d ${D}${includedir}/fakeroot | ||
19 | install -m 644 *.h ${D}${includedir}/fakeroot | ||
20 | } | ||
21 | |||
22 | # fakeroot needs getopt which is provided by the util-linux package | ||
23 | RDEPENDS_${PN} = "util-linux" | ||
24 | |||
25 | |||
26 | SRC_URI[md5sum] = "706171d8d520b1ca1576ac73f2ceb4f3" | ||
27 | SRC_URI[sha256sum] = "0a359efa3e9496c33234b3e9c89306a09bb4da9d33de43c261f1d8447e6ebea2" | ||
28 | |||
29 | # http://errors.yoctoproject.org/Errors/Details/35143/ | ||
30 | PNBLACKLIST[fakeroot] ?= "BROKEN: QA Issue: -dev package contains non-symlink .so - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb b/meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb deleted file mode 100644 index 697f9bfa5..000000000 --- a/meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb +++ /dev/null | |||
@@ -1,49 +0,0 @@ | |||
1 | SUMMARY = "A set of useful command line tools" | ||
2 | SUMMARY_${PN}-debug = "A set of command line tools useful for debugging" | ||
3 | SECTION = "console" | ||
4 | LICENSE = "MIT" | ||
5 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
6 | PV = "1.0" | ||
7 | PR = "r21" | ||
8 | |||
9 | inherit packagegroup allarch | ||
10 | |||
11 | PACKAGES += "${PN}-debug" | ||
12 | |||
13 | RDEPENDS_${PN} = "\ | ||
14 | dbus-daemon-proxy \ | ||
15 | dosfstools \ | ||
16 | htop \ | ||
17 | iptables \ | ||
18 | lsof \ | ||
19 | mbuffer \ | ||
20 | mtd-utils \ | ||
21 | nano \ | ||
22 | nfs-utils-client \ | ||
23 | nmon \ | ||
24 | powertop \ | ||
25 | screen \ | ||
26 | socat \ | ||
27 | sysstat \ | ||
28 | " | ||
29 | |||
30 | RDEPENDS_${PN}-debug = "\ | ||
31 | evtest \ | ||
32 | devmem2 \ | ||
33 | i2c-tools \ | ||
34 | gdb \ | ||
35 | procps \ | ||
36 | pxaregs \ | ||
37 | s3c24xx-gpio \ | ||
38 | s3c64xx-gpio \ | ||
39 | serial-forward \ | ||
40 | strace \ | ||
41 | " | ||
42 | |||
43 | RRECOMMENDS_${PN}-debug = "\ | ||
44 | ltrace \ | ||
45 | " | ||
46 | |||
47 | PNBLACKLIST[packagegroup-cli-tools] ?= "Runtime depends on blacklisted dbus-daemon-proxy - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
48 | |||
49 | PNBLACKLIST[packagegroup-cli-tools] ?= "Runtime depends on blacklisted packagegroup-cli-tools - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/soname.patch b/meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/soname.patch deleted file mode 100644 index 0df232d25..000000000 --- a/meta-oe/recipes-core/proxy-libintl/proxy-libintl-20100902/soname.patch +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | Index: proxy-libintl-20080418-r6/src/proxy-libintl/Makefile | ||
2 | =================================================================== | ||
3 | --- proxy-libintl-20080418-r6.orig/src/proxy-libintl/Makefile 2010-07-25 08:40:22.893620001 -0700 | ||
4 | +++ proxy-libintl-20080418-r6/src/proxy-libintl/Makefile 2010-07-25 10:51:29.573620000 -0700 | ||
5 | @@ -6,16 +6,13 @@ CFLAGS = -Wall -I ../../include | ||
6 | |||
7 | all : ../../lib/libintl.so ../../lib/intl.lib | ||
8 | |||
9 | -../../lib/libintl.so : libintl.o | ||
10 | - $(CC) -shared -o $@ libintl.o | ||
11 | +../../lib/libintl.so : libintl.c | ||
12 | + $(CC) $(CFLAGS) -shared -Wl,-soname -Wl,libintl.so -o $@ $< | ||
13 | |||
14 | ../../lib/intl.lib : ../../lib/libintl.so | ||
15 | cp ../../lib/libintl.so $@ | ||
16 | $(STRIP) --strip-unneeded $@ | ||
17 | |||
18 | -libintl.o : libintl.c | ||
19 | - $(CC) $(CFLAGS) -c libintl.c | ||
20 | - | ||
21 | clean : | ||
22 | rm -f *.o ../../lib/libintl.so ../../$(ZIPFILE) | ||
23 | |||
diff --git a/meta-oe/recipes-devtools/cloud9/cloud9/0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch b/meta-oe/recipes-devtools/cloud9/cloud9/0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch deleted file mode 100644 index b32311a82..000000000 --- a/meta-oe/recipes-devtools/cloud9/cloud9/0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | From ac1953d04f3f26d6aa5d8f53a9397d3ba0e96fa3 Mon Sep 17 00:00:00 2001 | ||
2 | From: Koen Kooi <koen@circuitco.com> | ||
3 | Date: Fri, 11 May 2012 15:23:02 +0000 | ||
4 | Subject: [PATCH] ide: use 'node' as interpreter for sketches instead of | ||
5 | argv[0] | ||
6 | |||
7 | This enables running scripts with node 0.6.x instead of 0.4.x | ||
8 | |||
9 | Signed-off-by: root <root@beaglebone.(none)> | ||
10 | --- | ||
11 | server/cloud9/ide.js | 2 +- | ||
12 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
13 | |||
14 | diff --git a/server/cloud9/ide.js b/server/cloud9/ide.js | ||
15 | index ce782f5..6c4e0f7 100644 | ||
16 | --- a/server/cloud9/ide.js | ||
17 | +++ b/server/cloud9/ide.js | ||
18 | @@ -53,7 +53,7 @@ var Ide = module.exports = function(options, httpServer, exts, socket) { | ||
19 | }; | ||
20 | |||
21 | this.$users = {}; | ||
22 | - this.nodeCmd = process.argv[0]; | ||
23 | + this.nodeCmd = "node"; | ||
24 | |||
25 | var davOptions = { | ||
26 | node: this.options.mountDir, | ||
27 | -- | ||
28 | 1.7.7 | ||
29 | |||
diff --git a/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb b/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb deleted file mode 100644 index c6d78905d..000000000 --- a/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb +++ /dev/null | |||
@@ -1,118 +0,0 @@ | |||
1 | SUMMARY = "Meet Cloud9, development-as-a-service for Javascripters and other developers" | ||
2 | HOMEPAGE = "http://c9.io" | ||
3 | LICENSE = "GPLv3" | ||
4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=4784c3bcff601fd8f9515f52a11e7018" | ||
5 | |||
6 | PR = "r5" | ||
7 | |||
8 | # Nodejs-native for node-waf, nodejs4-native for the headers | ||
9 | DEPENDS = "libxml2 nodejs-native nodejs4-native" | ||
10 | |||
11 | PNBLACKLIST[cloud9] ?= "Not comatible with current nodejs 0.12, but upstream is working on it for v3 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
12 | inherit systemd | ||
13 | |||
14 | SRC_URI = "git://github.com/ajaxorg/cloud9.git;name=cloud9ide \ | ||
15 | git://github.com/ajaxorg/o3;destsuffix=o3;name=o3 \ | ||
16 | git://github.com/ajaxorg/ace.git;destsuffix=git/support/ace;name=ace \ | ||
17 | git://github.com/ajaxorg/ace.wiki.git;destsuffix=git/support/ace/doc/wiki;name=acewiki \ | ||
18 | git://github.com/ajaxorg/apf.git;destsuffix=git/support/apf;name=apf \ | ||
19 | git://github.com/ajaxorg/async.js.git;destsuffix=git/support/asyncjs;name=asyncjs \ | ||
20 | git://github.com/ajaxorg/connect.git;destsuffix=git/support/connect;name=connect;branch=ajaxorg \ | ||
21 | git://github.com/jashkenas/coffee-script.git;destsuffix=git/support/connect/support/coffee-script;name=coffee-script \ | ||
22 | git://github.com/visionmedia/expresso.git;destsuffix=git/support/connect/support/expresso;name=expresso \ | ||
23 | git://github.com/visionmedia/node-jscoverage.git;destsuffix=git/support/connect/support/expresso/deps/jscoverage;name=jscoverage \ | ||
24 | git://github.com/cloudhead/less.js.git;destsuffix=git/support/connect/support/less;name=less \ | ||
25 | git://github.com/matehat/sass.js.git;destsuffix=git/support/connect/support/sass;name=sass \ | ||
26 | git://github.com/ajaxorg/jsDAV.git;destsuffix=git/support/jsdav;name=jsdav \ | ||
27 | git://github.com/fjakobs/async.js.git;destsuffix=git/support/jsdav/support/async.js;name=async-js \ | ||
28 | git://github.com/felixge/node-formidable.git;destsuffix=git/support/jsdav/support/formidable;name=formidable \ | ||
29 | git://github.com/ajaxorg/jsftp.git;destsuffix=git/support/jsdav/support/jsftp;name=jsftp \ | ||
30 | git://github.com/Gozala/streamer.git;destsuffix=git/support/jsdav/support/jsftp/support/streamer;name=streamer \ | ||
31 | git://github.com/ajaxorg/node-sftp.git;destsuffix=git/support/jsdav/support/node-sftp;name=sftp \ | ||
32 | git://github.com/ajaxorg/lib-v8debug.git;destsuffix=git/support/lib-v8debug;name=lib-v8debug \ | ||
33 | git://github.com/ajaxorg/socket.io.git;destsuffix=git/support/socket.io;name=socketio;branch=cadorn-upstream \ | ||
34 | git://github.com/LearnBoost/socket.io-client.git;destsuffix=git/support/socket.io-client;name=socketio-client \ | ||
35 | git://github.com/ajaxorg/treehugger.git;destsuffix=git/support/treehugger;name=treehugger \ | ||
36 | git://github.com/ajaxorg/UglifyJS.git;destsuffix=git/support/uglify-js;name=uglify-js \ | ||
37 | file://index.js \ | ||
38 | file://cloud9-avahi.service \ | ||
39 | file://cloud9.service \ | ||
40 | file://0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch \ | ||
41 | " | ||
42 | |||
43 | SRCREV_cloud9ide = "c4e2574896a22bb749f0500b25f41c888d346bed" | ||
44 | SRCREV_o3 = "d66d4e3252e505f44ada6804c8cab39915ce8afd" | ||
45 | SRCREV_ace = "0fc5392cbe46fb134052c3065a238ad8e3b31cfd" | ||
46 | SRCREV_acewiki = "d2a65d0addc2e5ab922bbff9cb6022a4652b4f13" | ||
47 | SRCREV_apf = "2560b762b2b0e5a8b46f8a4062f927a9a9d239f4" | ||
48 | SRCREV_asyncjs = "d36ead408e2959b1e99572114ef3a1b6a48c1072" | ||
49 | SRCREV_connect = "6bec95b51f2286b942bc7f340d62d816bcdc13d4" | ||
50 | SRCREV_coffee-script = "a53c104db16d3ac9d13cf9f16834edec250b9749" | ||
51 | SRCREV_expresso = "7f10ab7fa655299b4e2f519065b0495e6ac34ef2" | ||
52 | SRCREV_jscoverage = "0d4608a6b4275b020ba665389aa75897d5d4a584" | ||
53 | SRCREV_less = "a2807288008587b95c6c2f8ba5cac16f1bcab98f" | ||
54 | SRCREV_sass = "4dfd4c699e7a8baf226215ab044854c4507f4420" | ||
55 | SRCREV_jsdav = "f04ebf3d012cc8aeabfcfb2b8fab8966d52929e9" | ||
56 | SRCREV_async-js = "92fb710a70efd3cdc2376ebfba71a7fb3a4f1651" | ||
57 | SRCREV_formidable = "a37292d4b7d6d76a38909ed670334c9068d40871" | ||
58 | SRCREV_jsftp = "e3f10c8927347c170cdd0150ef38e18272acf942" | ||
59 | SRCREV_streamer = "1a7f75d4065819171ac91a09974199b932dbe17d" | ||
60 | SRCREV_sftp = "a0539345134970d7535a19cb2608e3d1bc119d71" | ||
61 | SRCREV_lib-v8debug = "7c11897f4bc77c7275c2b6dff5becc72ac018662" | ||
62 | SRCREV_socketio = "735d5239b325df2ba67d2b9bb4ec32442283bc06" | ||
63 | SRCREV_socketio-client = "4375ef1344ecb8ad75a3848a00af6b391822f86b" | ||
64 | SRCREV_treehugger = "436d0d6dd0ce43782e6be08ad12c356730626996" | ||
65 | SRCREV_uglify-js = "941c845c4a01e4e47a158458fe846eb36d0828ad" | ||
66 | |||
67 | SRCREV_FORMAT = "cloud9ide" | ||
68 | |||
69 | S = "${WORKDIR}/git" | ||
70 | |||
71 | do_configure () { | ||
72 | cd ${WORKDIR}/o3 | ||
73 | node-waf -vv configure | ||
74 | } | ||
75 | |||
76 | EXTRA_CXXFLAGS = "-Idefault/include -I../include -Idefault/hosts -I../hosts -Idefault/modules -I../modules -Idefault/deps -I../deps -I${STAGING_DIR_NATIVE}/usr/include/node4 -fPIC -DPIC" | ||
77 | |||
78 | do_compile () { | ||
79 | cd ${WORKDIR}/o3 | ||
80 | node4 tools/gluegen.js | ||
81 | cd hosts | ||
82 | ${CXX} ${TARGET_CXXFLAGS} ${EXTRA_CXXFLAGS} -c -o sh_node.o node-o3/sh_node.cc | ||
83 | ${CXX} ${TARGET_CXXFLAGS} ${EXTRA_CXXFLAGS} -c -o sh_node_libs.o node-o3/sh_node_libs.cc | ||
84 | cd .. | ||
85 | ${CXX} ${TARGET_LDFLAGS} hosts/sh_node.o hosts/sh_node_libs.o -o o3.node -shared -Wl,-Bdynamic -lxml2 | ||
86 | } | ||
87 | |||
88 | do_install () { | ||
89 | install -m 0755 -d ${D}${datadir}/cloud9 ${D}${bindir} ${D}/var/lib/cloud9 | ||
90 | rsync -r --exclude=".*" ${S}/* ${D}${datadir}/cloud9 | ||
91 | |||
92 | touch ${D}${bindir}/cloud9 | ||
93 | echo "#!/bin/sh" > ${D}${bindir}/cloud9 | ||
94 | echo "node4 ${datadir}/cloud9/bin/cloud9.js -l 0.0.0.0 -w /var/lib/cloud9 -p 3000" >> ${D}${bindir}/cloud9 | ||
95 | chmod 0755 ${D}${bindir}/cloud9 | ||
96 | |||
97 | install -m 0755 -d ${D}${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml | ||
98 | install -m 0644 ${WORKDIR}/index.js ${D}${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml/index.js | ||
99 | install -m 0644 ${WORKDIR}/o3/modules/o3.js ${D}${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml/o3.js | ||
100 | install -m 0755 ${WORKDIR}/o3/o3.node ${D}${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml/o3.node | ||
101 | |||
102 | install -m 0755 -d ${D}${sysconfdir}/avahi/services/ | ||
103 | install -m 0644 ${WORKDIR}/cloud9-avahi.service ${D}${sysconfdir}/avahi/services/ | ||
104 | |||
105 | install -d ${D}${systemd_unitdir}/system | ||
106 | install -m 0644 ${WORKDIR}/cloud9.service ${D}${systemd_unitdir}/system | ||
107 | } | ||
108 | |||
109 | FILES_${PN}-dbg += "${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml/.debug \ | ||
110 | ${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/.debug \ | ||
111 | " | ||
112 | |||
113 | RDEPENDS_${PN} = "nodejs4 nodejs gzip" | ||
114 | |||
115 | RPROVIDES_${PN} += "${PN}-systemd" | ||
116 | RREPLACES_${PN} += "${PN}-systemd" | ||
117 | RCONFLICTS_${PN} += "${PN}-systemd" | ||
118 | SYSTEMD_SERVICE_${PN} = "cloud9.service" | ||
diff --git a/meta-oe/recipes-devtools/dt/dt/Stop-using-relative-path-for-scsilib.c-link.patch b/meta-oe/recipes-devtools/dt/dt/Stop-using-relative-path-for-scsilib.c-link.patch deleted file mode 100644 index ccb9a02da..000000000 --- a/meta-oe/recipes-devtools/dt/dt/Stop-using-relative-path-for-scsilib.c-link.patch +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | From 4cf7e16fe9b773e2e7763d4b773854eefe2aa9ab Mon Sep 17 00:00:00 2001 | ||
2 | From: Otavio Salvador <otavio@ossystems.com.br> | ||
3 | Date: Tue, 12 Jan 2016 09:59:55 -0200 | ||
4 | Subject: [PATCH] Stop using relative path for scsilib.c link | ||
5 | Organization: O.S. Systems Software LTDA. | ||
6 | |||
7 | Upstream-Status: Pending | ||
8 | |||
9 | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> | ||
10 | --- | ||
11 | Makefile.linux | 2 +- | ||
12 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
13 | |||
14 | diff --git a/Makefile.linux b/Makefile.linux | ||
15 | index 78333ff..e210564 100644 | ||
16 | --- a/Makefile.linux | ||
17 | +++ b/Makefile.linux | ||
18 | @@ -129,7 +129,7 @@ scsilib.c: | ||
19 | echo "Please specify OS={aix,linux,hpux,solaris,windows}"; \ | ||
20 | exit 1; \ | ||
21 | fi; \ | ||
22 | - ln -sf ../scsilib-$(OS).c scsilib.c | ||
23 | + ln -sf scsilib-$(OS).c scsilib.c | ||
24 | |||
25 | print:; | ||
26 | @$(PRINTER) $(PRINTFLAGS) $(ALL_CFILES) | ||
27 | -- | ||
28 | 2.1.4 | ||
29 | |||
diff --git a/meta-oe/recipes-devtools/dt/dt/Use-tcsh-shell.patch b/meta-oe/recipes-devtools/dt/dt/Use-tcsh-shell.patch deleted file mode 100644 index 0c00fdf41..000000000 --- a/meta-oe/recipes-devtools/dt/dt/Use-tcsh-shell.patch +++ /dev/null | |||
@@ -1,92 +0,0 @@ | |||
1 | From e3c6eb8776f659eb9e6eeccf90d785eff18ecf74 Mon Sep 17 00:00:00 2001 | ||
2 | From: Otavio Salvador <otavio@ossystems.com.br> | ||
3 | Date: Mon, 15 Feb 2016 18:00:05 -0200 | ||
4 | Subject: [PATCH] Use 'tcsh' shell | ||
5 | Organization: O.S. Systems Software LTDA. | ||
6 | |||
7 | Upstream-Status: Pending | ||
8 | |||
9 | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> | ||
10 | --- | ||
11 | Scripts/dta | 2 +- | ||
12 | Scripts/dtc | 2 +- | ||
13 | Scripts/dtf | 2 +- | ||
14 | Scripts/dtr | 2 +- | ||
15 | Scripts/dts | 2 +- | ||
16 | Scripts/dtt | 2 +- | ||
17 | Scripts/dtw | 2 +- | ||
18 | 7 files changed, 7 insertions(+), 7 deletions(-) | ||
19 | |||
20 | diff --git a/Scripts/dta b/Scripts/dta | ||
21 | index ebc7072..4f90247 100755 | ||
22 | --- a/Scripts/dta | ||
23 | +++ b/Scripts/dta | ||
24 | @@ -1,4 +1,4 @@ | ||
25 | -#!/bin/csh | ||
26 | +#!/bin/tcsh | ||
27 | # | ||
28 | # Script file to test asynchronous communication lines. | ||
29 | # | ||
30 | diff --git a/Scripts/dtc b/Scripts/dtc | ||
31 | index da69c2e..89d48c2 100755 | ||
32 | --- a/Scripts/dtc | ||
33 | +++ b/Scripts/dtc | ||
34 | @@ -1,4 +1,4 @@ | ||
35 | -#!/bin/csh | ||
36 | +#!/bin/tcsh | ||
37 | # %Z%%M% %I% %E% | ||
38 | # | ||
39 | # Date: August 7, 1990 | ||
40 | diff --git a/Scripts/dtf b/Scripts/dtf | ||
41 | index 9f8cd87..321d261 100755 | ||
42 | --- a/Scripts/dtf | ||
43 | +++ b/Scripts/dtf | ||
44 | @@ -1,4 +1,4 @@ | ||
45 | -#! /bin/csh | ||
46 | +#! /bin/tcsh | ||
47 | # | ||
48 | # Script file to gather floppy disk performance data. | ||
49 | # | ||
50 | diff --git a/Scripts/dtr b/Scripts/dtr | ||
51 | index ddb7947..1ff5a0b 100755 | ||
52 | --- a/Scripts/dtr | ||
53 | +++ b/Scripts/dtr | ||
54 | @@ -1,4 +1,4 @@ | ||
55 | -#!/bin/csh | ||
56 | +#!/bin/tcsh | ||
57 | # %Z%%M% %I% %E% | ||
58 | # | ||
59 | # Date: August 21, 1990 | ||
60 | diff --git a/Scripts/dts b/Scripts/dts | ||
61 | index 6b8a167..42d2312 100755 | ||
62 | --- a/Scripts/dts | ||
63 | +++ b/Scripts/dts | ||
64 | @@ -1,4 +1,4 @@ | ||
65 | -#!/bin/csh | ||
66 | +#!/bin/tcsh | ||
67 | # %Z%%M% %I% %E% | ||
68 | # | ||
69 | # Date: August 7, 1990 | ||
70 | diff --git a/Scripts/dtt b/Scripts/dtt | ||
71 | index 36cc6bd..df19d2f 100755 | ||
72 | --- a/Scripts/dtt | ||
73 | +++ b/Scripts/dtt | ||
74 | @@ -1,4 +1,4 @@ | ||
75 | -#! /bin/csh | ||
76 | +#! /bin/tcsh | ||
77 | # %Z%%M% %I% %E% | ||
78 | # | ||
79 | # Date: August 7, 1990 | ||
80 | diff --git a/Scripts/dtw b/Scripts/dtw | ||
81 | index 8a4ac39..c58e304 100755 | ||
82 | --- a/Scripts/dtw | ||
83 | +++ b/Scripts/dtw | ||
84 | @@ -1,4 +1,4 @@ | ||
85 | -#!/bin/csh | ||
86 | +#!/bin/tcsh | ||
87 | # %Z%%M% %I% %E% | ||
88 | # | ||
89 | # Date: August 21, 1990 | ||
90 | -- | ||
91 | 2.1.4 | ||
92 | |||
diff --git a/meta-oe/recipes-devtools/dt/dt/dt-default-source-define.patch b/meta-oe/recipes-devtools/dt/dt/dt-default-source-define.patch deleted file mode 100644 index 87016edf0..000000000 --- a/meta-oe/recipes-devtools/dt/dt/dt-default-source-define.patch +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | Patch from http://pkgs.fedoraproject.org/git/rpms/dt.git | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> | ||
6 | |||
7 | diff -rupN dt.v18.32.old/common.h dt.v18.32/common.h | ||
8 | --- dt.v18.32.old/common.h 2013-03-01 23:52:30.000000000 +0100 | ||
9 | +++ dt.v18.32/common.h 2014-09-24 17:41:40.777604710 +0200 | ||
10 | @@ -127,7 +127,7 @@ typedef volatile slarge_t v_slarge; | ||
11 | |||
12 | #endif /* defined(_WIN64) */ | ||
13 | |||
14 | -#elif defined(__GNUC__) && defined(_BSD_SOURCE) || defined(SCO) || defined(__QNXNTO__) || defined(SOLARIS) || defined(HP_UX) || defined(AIX) || defined(_NT_SOURCE) | ||
15 | +#elif defined(__GNUC__) && defined(_BSD_SOURCE) || defined (_DEFAULT_SOURCE) || defined(SCO) || defined(__QNXNTO__) || defined(SOLARIS) || defined(HP_UX) || defined(AIX) || defined(_NT_SOURCE) | ||
16 | |||
17 | #define QuadIsLongLong | ||
18 | typedef unsigned long long int large_t; | ||
diff --git a/meta-oe/recipes-devtools/dt/dt/dt-wformat-security.patch b/meta-oe/recipes-devtools/dt/dt/dt-wformat-security.patch deleted file mode 100644 index b6780c196..000000000 --- a/meta-oe/recipes-devtools/dt/dt/dt-wformat-security.patch +++ /dev/null | |||
@@ -1,48 +0,0 @@ | |||
1 | Patch from http://pkgs.fedoraproject.org/git/rpms/dt.git | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> | ||
6 | |||
7 | diff -rupN dt.v18.32.old/dt.c dt.v18.32/dt.c | ||
8 | --- dt.v18.32.old/dt.c 2014-08-18 14:45:53.242351115 +0200 | ||
9 | +++ dt.v18.32/dt.c 2014-08-18 15:11:36.367719880 +0200 | ||
10 | @@ -4378,7 +4378,7 @@ report_error( | ||
11 | (void)sprintf(dip->di_msg_buffer, "(%d): '%s', errno = %d - %s\n", | ||
12 | dip->di_process_id, error_info, errno, emsg); | ||
13 | } | ||
14 | - syslog(LOG_ERR, dip->di_msg_buffer); | ||
15 | + syslog(LOG_ERR, "%s", dip->di_msg_buffer); | ||
16 | } | ||
17 | #endif /* defined(SYSLOG) */ | ||
18 | |||
19 | diff -rupN dt.v18.32.old/dtutil.c dt.v18.32/dtutil.c | ||
20 | --- dt.v18.32.old/dtutil.c 2014-08-18 14:45:53.354350779 +0200 | ||
21 | +++ dt.v18.32/dtutil.c 2014-08-18 15:13:53.835307311 +0200 | ||
22 | @@ -5180,7 +5180,7 @@ ReportDeviceInfo ( | ||
23 | bp += Sprintf(bp, | ||
24 | "(%d) Device name: %s\n", | ||
25 | dip->di_process_id, dip->di_dname); | ||
26 | - syslog(LOG_ERR, dip->di_msg_buffer); | ||
27 | + syslog(LOG_ERR, "%s", dip->di_msg_buffer); | ||
28 | bp = dip->di_msg_buffer; | ||
29 | # if defined(SCSI) | ||
30 | if (dip->di_serial_number) { | ||
31 | @@ -5193,7 +5193,7 @@ ReportDeviceInfo ( | ||
32 | dip->di_process_id, dip->di_device_id); | ||
33 | } | ||
34 | # endif /* defined(SCSI) */ | ||
35 | - syslog(LOG_ERR, dip->di_msg_buffer); | ||
36 | + syslog(LOG_ERR, "%s", dip->di_msg_buffer); | ||
37 | bp = dip->di_msg_buffer; | ||
38 | bp += Sprintf(bp, | ||
39 | "(%d) Relative block number where the error occurred is " LUF "," | ||
40 | @@ -5203,7 +5203,7 @@ ReportDeviceInfo ( | ||
41 | } else { | ||
42 | bp += Sprintf(bp, "\n"); | ||
43 | } | ||
44 | - syslog(LOG_ERR, dip->di_msg_buffer); | ||
45 | + syslog(LOG_ERR, "%s", dip->di_msg_buffer); | ||
46 | } | ||
47 | #endif /* defined(SYSLOG) */ | ||
48 | |||
diff --git a/meta-oe/recipes-devtools/dt/dt_18.32.bb b/meta-oe/recipes-devtools/dt/dt_18.32.bb deleted file mode 100644 index 0234f765a..000000000 --- a/meta-oe/recipes-devtools/dt/dt_18.32.bb +++ /dev/null | |||
@@ -1,49 +0,0 @@ | |||
1 | SUMMARY = "Generic data test program" | ||
2 | DESCRIPTION = "The Data Test Program (dt) is a generic data test program used to verify proper \ | ||
3 | operation of peripherals, file systems, device drivers, or any data stream supported by the \ | ||
4 | operating system." | ||
5 | HOMEPAGE = "http://www.scsifaq.org/RMiller_Tools/dt.html" | ||
6 | |||
7 | SECTION = "console/tests" | ||
8 | |||
9 | LICENSE = "MIT" | ||
10 | LIC_FILES_CHKSUM = "file://LICENSE;md5=be8bb25bbcfaa0725710d188e5152668" | ||
11 | |||
12 | # Source URI taken from Fedora RPM spec file at: | ||
13 | # http://pkgs.fedoraproject.org/git/rpms/dt.git | ||
14 | SRC_URI = "http://dl.dropboxusercontent.com/u/32363629/Datatest/dt-source-v${PV}.tar.gz \ | ||
15 | file://dt-default-source-define.patch \ | ||
16 | file://dt-wformat-security.patch \ | ||
17 | file://Stop-using-relative-path-for-scsilib.c-link.patch \ | ||
18 | file://Use-tcsh-shell.patch \ | ||
19 | " | ||
20 | |||
21 | SRC_URI[md5sum] = "3054aeaaba047a1dbe90c2132a382ee2" | ||
22 | SRC_URI[sha256sum] = "10d164676e918a4d07f233bcd11e4cb6bfd1052c996182cd1827ccd0c063fcc6" | ||
23 | |||
24 | S = "${WORKDIR}/dt.v${PV}" | ||
25 | |||
26 | TARGET_CC_ARCH += "${LDFLAGS}" | ||
27 | |||
28 | EXTRA_OEMAKE += "-f Makefile.linux \ | ||
29 | OS=linux \ | ||
30 | CFLAGS="-I.. -DAIO -DFIFO -DMMAP -D__linux__ -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DTHREADS -DSCSI"" | ||
31 | |||
32 | do_compile() { | ||
33 | oe_runmake | ||
34 | } | ||
35 | |||
36 | do_install() { | ||
37 | install -Dm755 dt ${D}${sbindir}/dt | ||
38 | install -Dm644 Documentation/dt.man ${D}${mandir}/man8/dt.8 | ||
39 | |||
40 | install -d ${D}${datadir}/dt/ | ||
41 | install -d ${D}${docdir}/dt/html/ | ||
42 | install -m755 Scripts/dt? ${D}${datadir}/dt/ | ||
43 | install -m644 data/pattern_* ${D}${datadir}/dt/ | ||
44 | install -m644 html/* ${D}${docdir}/dt/html/ | ||
45 | } | ||
46 | |||
47 | RDEPENDS_${PN} += "tcsh" | ||
48 | |||
49 | PNBLACKLIST[dt] ?= "Rdepends on blacklisted tcsh - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/ltp-Do-not-link-against-libfl.patch b/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/ltp-Do-not-link-against-libfl.patch deleted file mode 100644 index 3e4aa7308..000000000 --- a/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/ltp-Do-not-link-against-libfl.patch +++ /dev/null | |||
@@ -1,31 +0,0 @@ | |||
1 | From 5bda9c0af56869c6ff2c25d38ea087179c946bc6 Mon Sep 17 00:00:00 2001 | ||
2 | From: Chong Lu <Chong.Lu@windriver.com> | ||
3 | Date: Tue, 11 Mar 2014 14:47:22 +0800 | ||
4 | Subject: [PATCH] ltp: Don't link against libfl | ||
5 | |||
6 | We have already defined yywrap function in scan.l file. After this, we no longer need to | ||
7 | link against libfl and so no longer get errors about undefined references to yylex. | ||
8 | |||
9 | Upstream-status: Pending | ||
10 | |||
11 | Signed-off-by: Chong Lu <Chong.Lu@windriver.com> | ||
12 | --- | ||
13 | pan/Makefile | 2 +- | ||
14 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
15 | |||
16 | diff --git a/pan/Makefile b/pan/Makefile | ||
17 | index 4cc6466..a4b575b 100644 | ||
18 | --- a/pan/Makefile | ||
19 | +++ b/pan/Makefile | ||
20 | @@ -31,7 +31,7 @@ CPPFLAGS += -Wno-error | ||
21 | |||
22 | CPPFLAGS += -I$(abs_srcdir) | ||
23 | |||
24 | -LDLIBS += -lm $(LEXLIB) | ||
25 | +LDLIBS += -lm | ||
26 | |||
27 | LFLAGS += -l | ||
28 | |||
29 | -- | ||
30 | 1.7.9.5 | ||
31 | |||
diff --git a/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_1.0.0.bb b/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_1.0.0.bb deleted file mode 100644 index b13bd7bcc..000000000 --- a/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_1.0.0.bb +++ /dev/null | |||
@@ -1,97 +0,0 @@ | |||
1 | SUMMARY = "Embedded Linux Device Driver Tests based on Linux Test Project" | ||
2 | HOMEPAGE = "http://arago-project.org/git/projects/test-automation/ltp-ddt.git" | ||
3 | SECTION = "console/utils" | ||
4 | LICENSE = "GPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" | ||
6 | |||
7 | PROVIDES += "ltp" | ||
8 | DEPENDS += "zip-native virtual/kernel alsa-lib" | ||
9 | |||
10 | RDEPENDS_${PN} += "pm-qa serialcheck" | ||
11 | |||
12 | inherit autotools module-base kernel-module-split | ||
13 | |||
14 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
15 | |||
16 | SRCREV = "f086bed6cc88bf102eaad0e96cb7ebe79944a8ad" | ||
17 | BRANCH ?= "master" | ||
18 | |||
19 | SRC_URI = "git://arago-project.org/git/projects/test-automation/ltp-ddt.git;branch=${BRANCH} \ | ||
20 | file://ltp-Do-not-link-against-libfl.patch \ | ||
21 | " | ||
22 | |||
23 | S = "${WORKDIR}/git" | ||
24 | |||
25 | LTPROOT = "/opt/ltp" | ||
26 | |||
27 | EXTRA_OEMAKE_append = " \ | ||
28 | prefix=${LTPROOT} \ | ||
29 | CROSS_COMPILE=${HOST_PREFIX} \ | ||
30 | SKIP_IDCHECK=1 \ | ||
31 | KERNEL_PATH=${STAGING_KERNEL_DIR} \ | ||
32 | KERNEL_INC=${STAGING_KERNEL_DIR} \ | ||
33 | KERNEL_USR_INC=${STAGING_INCDIR} \ | ||
34 | ALSA_INCPATH=${STAGING_INCDIR} \ | ||
35 | ALSA_LIBPATH=${STAGING_LIBDIR} \ | ||
36 | PLATFORM=${MACHINE} \ | ||
37 | RANLIB=${RANLIB} \ | ||
38 | DESTDIR=${D} \ | ||
39 | CC='${CC}' \ | ||
40 | KERNEL_CC='${KERNEL_CC}' \ | ||
41 | " | ||
42 | |||
43 | TARGET_CC_ARCH += "${LDFLAGS}" | ||
44 | |||
45 | FILES_${PN}-dbg += " \ | ||
46 | ${LTPROOT}/.debug \ | ||
47 | ${LTPROOT}/bin/.debug \ | ||
48 | ${LTPROOT}/runtest/.debug \ | ||
49 | ${LTPROOT}/testcases/bin/.debug \ | ||
50 | ${LTPROOT}/testcases/bin/*/bin/.debug \ | ||
51 | ${LTPROOT}/testcases/bin/*/test/.debug \ | ||
52 | ${LTPROOT}/testcases/bin/ddt/.debug \ | ||
53 | ${LTPROOT}/testcases/bin/ddt/*/bin/.debug \ | ||
54 | ${LTPROOT}/testcases/bin/ddt/*/test/.debug \ | ||
55 | ${LTPROOT}/testcases/realtime/*/*/.debug \ | ||
56 | " | ||
57 | |||
58 | FILES_${PN}-staticdev += "${LTPROOT}/lib" | ||
59 | FILES_${PN} += "${LTPROOT}/*" | ||
60 | |||
61 | KERNEL_MODULES_META_PACKAGE = "${PN}" | ||
62 | |||
63 | kmoddir = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/ddt" | ||
64 | |||
65 | # ltp doesn't regenerate ffsb-6.0-rc2 configure and hardcode configure call. | ||
66 | # we explicitly force regeneration of that directory and pass configure options. | ||
67 | do_configure_append() { | ||
68 | (cd utils/ffsb-6.0-rc2; autoreconf -fvi; ./configure ${CONFIGUREOPTS}) | ||
69 | } | ||
70 | |||
71 | # The makefiles make excessive use of make -C and several include testcases.mk | ||
72 | # which triggers a build of the syscall header. To reproduce, build ltp, | ||
73 | # then delete the header, then "make -j XX" and watch regen.sh run multiple | ||
74 | # times. Its easier to generate this once here instead. | ||
75 | do_compile_prepend () { | ||
76 | ( make -C ${B}/testcases/kernel include/linux_syscall_numbers.h ) | ||
77 | } | ||
78 | |||
79 | do_compile_append () { | ||
80 | unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS | ||
81 | oe_runmake modules | ||
82 | } | ||
83 | |||
84 | do_install() { | ||
85 | oe_runmake install | ||
86 | install -d ${D}${datadir} | ||
87 | install -d ${D}${kmoddir} | ||
88 | mv ${D}${LTPROOT}/testcases/bin/ddt/*.ko ${D}${kmoddir} | ||
89 | } | ||
90 | |||
91 | # do_make_scripts should be a separate task for the lock to work | ||
92 | addtask make_scripts before do_compile | ||
93 | do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock" | ||
94 | do_make_scripts[deptask] = "do_populate_sysroot" | ||
95 | |||
96 | # http://errors.yoctoproject.org/Errors/Details/56327/ | ||
97 | PNBLACKLIST[ltp-ddt] ?= "BROKEN: fails since last autotools.bbclass changes - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/0001-Don-t-call-deprecated-glib-functions-and-use-the-new.patch b/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/0001-Don-t-call-deprecated-glib-functions-and-use-the-new.patch deleted file mode 100644 index ecf8e7493..000000000 --- a/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/0001-Don-t-call-deprecated-glib-functions-and-use-the-new.patch +++ /dev/null | |||
@@ -1,166 +0,0 @@ | |||
1 | From 869e52a9055c72970fed036a1510f676e6ce0824 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Thu, 13 Jun 2013 01:24:19 -0700 | ||
4 | Subject: [PATCH] Don't call deprecated glib functions and use the new gthread | ||
5 | API. | ||
6 | |||
7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
8 | |||
9 | Upstream-Status: Inappropriate[version Unmaintained Upstream] | ||
10 | --- | ||
11 | client/pk-console.c | 3 ++- | ||
12 | client/pk-generate-pack.c | 3 ++- | ||
13 | client/pk-monitor.c | 3 ++- | ||
14 | contrib/command-not-found/PackageKit.sh | 2 +- | ||
15 | contrib/command-not-found/pk-command-not-found.c | 4 ++-- | ||
16 | contrib/debuginfo-install/pk-debuginfo-install.c | 4 ++-- | ||
17 | src/pk-backend.c | 7 +++++++ | ||
18 | src/pk-main.c | 4 ++-- | ||
19 | 10 files changed, 20 insertions(+), 10 deletions(-) | ||
20 | |||
21 | diff --git a/client/pk-console.c b/client/pk-console.c | ||
22 | index de927e1..2435f27 100644 | ||
23 | --- a/client/pk-console.c | ||
24 | +++ b/client/pk-console.c | ||
25 | @@ -1264,11 +1264,12 @@ main (int argc, char *argv[]) | ||
26 | bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); | ||
27 | bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); | ||
28 | textdomain (GETTEXT_PACKAGE); | ||
29 | - | ||
30 | +#if !GLIB_CHECK_VERSION(2,32,0) | ||
31 | if (! g_thread_supported ()) | ||
32 | g_thread_init (NULL); | ||
33 | g_type_init (); | ||
34 | dbus_g_thread_init (); | ||
35 | +#endif | ||
36 | |||
37 | /* do stuff on ctrl-c */ | ||
38 | signal (SIGINT, pk_console_sigint_cb); | ||
39 | diff --git a/client/pk-generate-pack.c b/client/pk-generate-pack.c | ||
40 | index 0b2b40f..20d7e8d 100644 | ||
41 | --- a/client/pk-generate-pack.c | ||
42 | +++ b/client/pk-generate-pack.c | ||
43 | @@ -251,12 +251,13 @@ main (int argc, char *argv[]) | ||
44 | bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); | ||
45 | bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); | ||
46 | textdomain (GETTEXT_PACKAGE); | ||
47 | - | ||
48 | +#if !GLIB_CHECK_VERSION(2,32,0) | ||
49 | if (! g_thread_supported ()) | ||
50 | g_thread_init (NULL); | ||
51 | |||
52 | g_type_init (); | ||
53 | dbus_g_thread_init (); | ||
54 | +#endif | ||
55 | |||
56 | /* do stuff on ctrl-c */ | ||
57 | signal (SIGINT, pk_generate_pack_sigint_cb); | ||
58 | diff --git a/client/pk-monitor.c b/client/pk-monitor.c | ||
59 | index f230f7a..d43007f 100644 | ||
60 | --- a/client/pk-monitor.c | ||
61 | +++ b/client/pk-monitor.c | ||
62 | @@ -285,11 +285,12 @@ main (int argc, char *argv[]) | ||
63 | bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); | ||
64 | bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); | ||
65 | textdomain (GETTEXT_PACKAGE); | ||
66 | - | ||
67 | +#if !GLIB_CHECK_VERSION(2,32,0) | ||
68 | if (! g_thread_supported ()) | ||
69 | g_thread_init (NULL); | ||
70 | g_type_init (); | ||
71 | dbus_g_thread_init (); | ||
72 | +#endif | ||
73 | |||
74 | context = g_option_context_new (NULL); | ||
75 | /* TRANSLATORS: this is a program that monitors PackageKit */ | ||
76 | diff --git a/contrib/command-not-found/PackageKit.sh b/contrib/command-not-found/PackageKit.sh | ||
77 | index d08989c..d708fff 100644 | ||
78 | --- a/contrib/command-not-found/PackageKit.sh | ||
79 | +++ b/contrib/command-not-found/PackageKit.sh | ||
80 | @@ -18,7 +18,7 @@ command_not_found_handle () { | ||
81 | |||
82 | # run the command, or just print a warning | ||
83 | if [ $runcnf -eq 1 ]; then | ||
84 | - /home/hughsie/.root/libexec/pk-command-not-found $1 | ||
85 | + /usr/lib/packagekit/pk-command-not-found $1 | ||
86 | retval=$? | ||
87 | else | ||
88 | echo "bash: $1: command not found" | ||
89 | diff --git a/contrib/command-not-found/pk-command-not-found.c b/contrib/command-not-found/pk-command-not-found.c | ||
90 | index 70679c0..9f81ce4 100644 | ||
91 | --- a/contrib/command-not-found/pk-command-not-found.c | ||
92 | +++ b/contrib/command-not-found/pk-command-not-found.c | ||
93 | @@ -659,12 +659,12 @@ main (int argc, char *argv[]) | ||
94 | bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); | ||
95 | bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); | ||
96 | textdomain (GETTEXT_PACKAGE); | ||
97 | - | ||
98 | +#if !GLIB_CHECK_VERSION(2,32,0) | ||
99 | if (! g_thread_supported ()) | ||
100 | g_thread_init (NULL); | ||
101 | dbus_g_thread_init (); | ||
102 | g_type_init (); | ||
103 | - | ||
104 | +#endif | ||
105 | context = g_option_context_new (NULL); | ||
106 | /* TRANSLATORS: tool that gets called when the command is not found */ | ||
107 | g_option_context_set_summary (context, _("PackageKit Command Not Found")); | ||
108 | diff --git a/contrib/debuginfo-install/pk-debuginfo-install.c b/contrib/debuginfo-install/pk-debuginfo-install.c | ||
109 | index c12aca5..b0e1e7c 100644 | ||
110 | --- a/contrib/debuginfo-install/pk-debuginfo-install.c | ||
111 | +++ b/contrib/debuginfo-install/pk-debuginfo-install.c | ||
112 | @@ -532,11 +532,11 @@ main (int argc, char *argv[]) | ||
113 | bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); | ||
114 | bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); | ||
115 | textdomain (GETTEXT_PACKAGE); | ||
116 | - | ||
117 | +#if !GLIB_CHECK_VERSION(2,32,0) | ||
118 | if (! g_thread_supported ()) | ||
119 | g_thread_init (NULL); | ||
120 | g_type_init (); | ||
121 | - | ||
122 | +#endif | ||
123 | context = g_option_context_new (NULL); | ||
124 | /* TRANSLATORS: tool that gets called when the command is not found */ | ||
125 | g_option_context_set_summary (context, _("PackageKit Debuginfo Installer")); | ||
126 | diff --git a/src/pk-backend.c b/src/pk-backend.c | ||
127 | index 5216b63..5b83ae4 100644 | ||
128 | --- a/src/pk-backend.c | ||
129 | +++ b/src/pk-backend.c | ||
130 | @@ -2103,7 +2103,14 @@ pk_backend_thread_create (PkBackend *backend, PkBackendThreadFunc func) | ||
131 | egg_warning ("already has thread"); | ||
132 | return FALSE; | ||
133 | } | ||
134 | +#if !GLIB_CHECK_VERSION(2,32,0) | ||
135 | backend->priv->thread = g_thread_create ((GThreadFunc) func, backend, FALSE, NULL); | ||
136 | +#else | ||
137 | + backend->priv->thread = g_thread_try_new ("daemon thread", (GThreadFunc) func, backend, NULL); | ||
138 | + if (backend->priv->thread != NULL) { | ||
139 | + g_thread_unref(backend->priv->thread); | ||
140 | + } | ||
141 | +#endif | ||
142 | if (backend->priv->thread == NULL) { | ||
143 | egg_warning ("failed to create thread"); | ||
144 | return FALSE; | ||
145 | diff --git a/src/pk-main.c b/src/pk-main.c | ||
146 | index 4c758cd..8fa2482 100644 | ||
147 | --- a/src/pk-main.c | ||
148 | +++ b/src/pk-main.c | ||
149 | @@ -219,12 +219,12 @@ main (int argc, char *argv[]) | ||
150 | bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); | ||
151 | bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); | ||
152 | textdomain (GETTEXT_PACKAGE); | ||
153 | - | ||
154 | +#if !GLIB_CHECK_VERSION(2,32,0) | ||
155 | if (! g_thread_supported ()) | ||
156 | g_thread_init (NULL); | ||
157 | dbus_g_thread_init (); | ||
158 | g_type_init (); | ||
159 | - | ||
160 | +#endif | ||
161 | /* TRANSLATORS: describing the service that is running */ | ||
162 | context = g_option_context_new (_("PackageKit service")); | ||
163 | g_option_context_add_main_entries (context, options, NULL); | ||
164 | -- | ||
165 | 1.7.9.5 | ||
166 | |||
diff --git a/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/configurefix.patch b/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/configurefix.patch deleted file mode 100644 index 48f959186..000000000 --- a/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/configurefix.patch +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | Index: PackageKit-0.6.0/configure.ac | ||
2 | =================================================================== | ||
3 | --- PackageKit-0.6.0.orig/configure.ac 2010-01-04 16:32:18.000000000 +0000 | ||
4 | +++ PackageKit-0.6.0/configure.ac 2010-01-29 11:33:48.000000000 +0000 | ||
5 | @@ -90,7 +90,7 @@ | ||
6 | enable_strict=$default_strict) | ||
7 | if test x$enable_strict != xno; then | ||
8 | if test "$GCC" = "yes"; then | ||
9 | - WARNINGFLAGS_CPP="$WARNINGFLAGS_CPP -Werror" | ||
10 | + : | ||
11 | fi | ||
12 | fi | ||
13 | |||
diff --git a/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/opkgfixes.patch b/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/opkgfixes.patch deleted file mode 100644 index 5a73a19d5..000000000 --- a/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/opkgfixes.patch +++ /dev/null | |||
@@ -1,422 +0,0 @@ | |||
1 | Index: PackageKit-0.6.0/backends/opkg/pk-backend-opkg.c | ||
2 | =================================================================== | ||
3 | --- PackageKit-0.6.0.orig/backends/opkg/pk-backend-opkg.c 2010-01-29 09:39:33.000000000 +0000 | ||
4 | +++ PackageKit-0.6.0/backends/opkg/pk-backend-opkg.c 2010-01-29 11:30:51.000000000 +0000 | ||
5 | @@ -29,8 +29,7 @@ | ||
6 | |||
7 | +#include <stdio.h> | ||
8 | #include <libopkg/opkg.h> | ||
9 | |||
10 | -static opkg_t *opkg; | ||
11 | - | ||
12 | enum { | ||
13 | SEARCH_NAME, | ||
14 | SEARCH_DESCRIPTION, | ||
15 | @@ -62,7 +60,7 @@ | ||
16 | * check an opkg package for known GUI dependancies | ||
17 | */ | ||
18 | static gboolean | ||
19 | -opkg_is_gui_pkg (opkg_package_t *pkg) | ||
20 | +opkg_is_gui_pkg (pkg_t *pkg) | ||
21 | { | ||
22 | |||
23 | /* TODO: check appropriate tag */ | ||
24 | @@ -84,7 +82,7 @@ | ||
25 | * check an opkg package to determine if it is a development package | ||
26 | */ | ||
27 | static gboolean | ||
28 | -opkg_is_devel_pkg (opkg_package_t *pkg) | ||
29 | +opkg_is_devel_pkg (pkg_t *pkg) | ||
30 | { | ||
31 | if (g_strrstr (pkg->name, "-dev")) | ||
32 | return TRUE; | ||
33 | @@ -105,7 +103,7 @@ | ||
34 | * returns true if the tag is present | ||
35 | */ | ||
36 | static gboolean | ||
37 | -opkg_check_tag (opkg_package_t *pkg, const gchar *tag) | ||
38 | +opkg_check_tag (pkg_t *pkg, const gchar *tag) | ||
39 | { | ||
40 | if (pkg->tags && tag) | ||
41 | return (g_strrstr (pkg->tags, tag) != NULL); | ||
42 | @@ -118,7 +116,7 @@ | ||
43 | { | ||
44 | switch (err) | ||
45 | { | ||
46 | - case OPKG_NO_ERROR: | ||
47 | +/* case OPKG_NO_ERROR: | ||
48 | break; | ||
49 | case OPKG_PACKAGE_NOT_INSTALLED: | ||
50 | pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL); | ||
51 | @@ -140,7 +138,7 @@ | ||
52 | break; | ||
53 | case OPKG_PACKAGE_NOT_AVAILABLE: | ||
54 | pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, NULL); | ||
55 | - break; | ||
56 | + break;*/ | ||
57 | default: | ||
58 | opkg_unknown_error (backend, err, "Update package"); | ||
59 | } | ||
60 | @@ -152,7 +150,7 @@ | ||
61 | static void | ||
62 | backend_initialize (PkBackend *backend) | ||
63 | { | ||
64 | - opkg = opkg_new (); | ||
65 | + int opkg = opkg_new (); | ||
66 | |||
67 | if (!opkg) { | ||
68 | pk_backend_error_code (backend, | ||
69 | @@ -162,8 +160,8 @@ | ||
70 | } | ||
71 | |||
72 | #ifdef OPKG_OFFLINE_ROOT | ||
73 | - opkg_set_option (opkg, (char *) "offline_root", OPKG_OFFLINE_ROOT); | ||
74 | - opkg_re_read_config_files (opkg); | ||
75 | + opkg_set_option ((char *) "offline_root", OPKG_OFFLINE_ROOT); | ||
76 | + opkg_re_read_config_files (); | ||
77 | #endif | ||
78 | |||
79 | } | ||
80 | @@ -174,22 +172,22 @@ | ||
81 | static void | ||
82 | backend_destroy (PkBackend *backend) | ||
83 | { | ||
84 | - opkg_free (opkg); | ||
85 | + opkg_free (); | ||
86 | } | ||
87 | |||
88 | |||
89 | static void | ||
90 | -pk_opkg_progress_cb (opkg_t *_opkg, const opkg_progress_data_t *pdata, void *data) | ||
91 | +pk_opkg_progress_cb (const opkg_progress_data_t *pdata, void *data) | ||
92 | { | ||
93 | - PkBackend *backend = PK_BACKEND (data); | ||
94 | + PkBackend *backend = (PkBackend*) data; | ||
95 | if (!backend) | ||
96 | return; | ||
97 | |||
98 | pk_backend_set_percentage (backend, pdata->percentage); | ||
99 | - if (pdata->package) | ||
100 | + if (pdata->pkg) | ||
101 | { | ||
102 | gchar *uid; | ||
103 | - opkg_package_t *pkg = pdata->package; | ||
104 | + pkg_t *pkg = pdata->pkg; | ||
105 | gint status = PK_INFO_ENUM_UNKNOWN; | ||
106 | |||
107 | uid = g_strdup_printf ("%s;%s;%s;", | ||
108 | @@ -225,12 +223,12 @@ | ||
109 | { | ||
110 | int ret; | ||
111 | |||
112 | - ret = opkg_update_package_lists (opkg, pk_opkg_progress_cb, backend); | ||
113 | + ret = opkg_update_package_lists (pk_opkg_progress_cb, backend); | ||
114 | |||
115 | if (ret) { | ||
116 | - if (ret == OPKG_DOWNLOAD_FAILED) | ||
117 | - pk_backend_error_code (backend, PK_ERROR_ENUM_REPO_NOT_AVAILABLE, NULL); | ||
118 | - else | ||
119 | +// if (ret == OPKG_DOWNLOAD_FAILED) | ||
120 | +// pk_backend_error_code (backend, PK_ERROR_ENUM_REPO_NOT_AVAILABLE, NULL); | ||
121 | +// else | ||
122 | opkg_unknown_error (backend, ret, "Refreshing cache"); | ||
123 | } | ||
124 | pk_backend_finished (backend); | ||
125 | @@ -256,7 +254,7 @@ | ||
126 | */ | ||
127 | |||
128 | static void | ||
129 | -pk_opkg_package_list_cb (opkg_t *_opkg, opkg_package_t *pkg, void *data) | ||
130 | +pk_opkg_package_list_cb (pkg_t *pkg, void *data) | ||
131 | { | ||
132 | SearchParams *params = (SearchParams*) data; | ||
133 | gchar *uid; | ||
134 | @@ -298,7 +296,7 @@ | ||
135 | uid = g_strdup_printf ("%s;%s;%s;", | ||
136 | pkg->name, pkg->version, pkg->architecture); | ||
137 | |||
138 | - if (pkg->installed) | ||
139 | + if (pkg->state_status == SS_INSTALLED) | ||
140 | status = PK_INFO_ENUM_INSTALLED; | ||
141 | else | ||
142 | status = PK_INFO_ENUM_AVAILABLE; | ||
143 | @@ -318,10 +316,10 @@ | ||
144 | opkg_is_gui_pkg (pkg)) | ||
145 | goto end_handle; | ||
146 | if (pk_bitfield_contain(filters, PK_FILTER_ENUM_INSTALLED) && | ||
147 | - (!pkg->installed)) | ||
148 | + (pkg->state_status != SS_INSTALLED)) | ||
149 | goto end_handle; | ||
150 | if (pk_bitfield_contain(filters, PK_FILTER_ENUM_NOT_INSTALLED) && | ||
151 | - (pkg->installed)) | ||
152 | + (pkg->state_status == SS_INSTALLED)) | ||
153 | goto end_handle; | ||
154 | |||
155 | pk_backend_package (params->backend, status, uid, pkg->description); | ||
156 | @@ -338,7 +336,7 @@ | ||
157 | |||
158 | params = pk_backend_get_pointer (backend, "search-params"); | ||
159 | |||
160 | - opkg_list_packages (opkg, pk_opkg_package_list_cb, params); | ||
161 | + opkg_list_packages (pk_opkg_package_list_cb, params); | ||
162 | |||
163 | pk_backend_finished (params->backend); | ||
164 | |||
165 | @@ -349,7 +347,7 @@ | ||
166 | } | ||
167 | |||
168 | static void | ||
169 | -backend_search_name (PkBackend *backend, PkBitfield filters, const gchar *search) | ||
170 | +backend_search_name (PkBackend *backend, PkBitfield filters, gchar **search) | ||
171 | { | ||
172 | SearchParams *params; | ||
173 | |||
174 | @@ -360,7 +358,7 @@ | ||
175 | params = g_new0 (SearchParams, 1); | ||
176 | params->filters = filters; | ||
177 | params->search_type = SEARCH_NAME; | ||
178 | - params->needle = g_utf8_strdown (search, -1); | ||
179 | + params->needle = g_utf8_strdown (search[0], -1); | ||
180 | params->backend = backend; | ||
181 | |||
182 | pk_backend_set_pointer (backend, "search-params", params); | ||
183 | @@ -371,7 +369,7 @@ | ||
184 | * backend_search_description: | ||
185 | */ | ||
186 | static void | ||
187 | -backend_search_description (PkBackend *backend, PkBitfield filters, const gchar *search) | ||
188 | +backend_search_description (PkBackend *backend, PkBitfield filters, gchar **search) | ||
189 | { | ||
190 | SearchParams *params; | ||
191 | |||
192 | @@ -382,7 +380,7 @@ | ||
193 | params = g_new0 (SearchParams, 1); | ||
194 | params->filters = filters; | ||
195 | params->search_type = SEARCH_DESCRIPTION; | ||
196 | - params->needle = g_utf8_strdown (search, -1); | ||
197 | + params->needle = g_utf8_strdown (search[0], -1); | ||
198 | params->backend = backend; | ||
199 | |||
200 | pk_backend_set_pointer (backend, "search-params", params); | ||
201 | @@ -390,7 +388,7 @@ | ||
202 | } | ||
203 | |||
204 | static void | ||
205 | -backend_search_group (PkBackend *backend, PkBitfield filters, const gchar *search) | ||
206 | +backend_search_group (PkBackend *backend, PkBitfield filters, gchar **search) | ||
207 | { | ||
208 | SearchParams *params; | ||
209 | |||
210 | @@ -401,7 +399,7 @@ | ||
211 | params = g_new0 (SearchParams, 1); | ||
212 | params->filters = filters; | ||
213 | params->search_type = SEARCH_TAG; | ||
214 | - params->needle = g_strdup_printf ("group::%s", search); | ||
215 | + params->needle = g_strdup_printf ("group::%s", search[0]); | ||
216 | params->backend = backend; | ||
217 | |||
218 | pk_backend_set_pointer (backend, "search-params", params); | ||
219 | @@ -412,9 +410,9 @@ | ||
220 | static gboolean | ||
221 | backend_install_packages_thread (PkBackend *backend) | ||
222 | { | ||
223 | - PkPackageId *pi; | ||
224 | gint err, i; | ||
225 | gchar **package_ids; | ||
226 | + gchar **parts; | ||
227 | |||
228 | package_ids = pk_backend_get_strv (backend, "pkids"); | ||
229 | |||
230 | @@ -424,13 +422,13 @@ | ||
231 | { | ||
232 | pk_backend_package (backend, PK_INFO_ENUM_INSTALLING, package_ids[i], NULL); | ||
233 | |||
234 | - pi = pk_package_id_new_from_string (package_ids[i]); | ||
235 | + parts = pk_package_id_split (package_ids[i]); | ||
236 | |||
237 | - err = opkg_install_package (opkg, pi->name, pk_opkg_progress_cb, backend); | ||
238 | + err = opkg_install_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend); | ||
239 | if (err) | ||
240 | handle_install_error (backend, err); | ||
241 | |||
242 | - pk_package_id_free (pi); | ||
243 | + g_strfreev (parts); | ||
244 | if (err != 0) | ||
245 | break; | ||
246 | } | ||
247 | @@ -453,9 +451,9 @@ | ||
248 | static gboolean | ||
249 | backend_remove_packages_thread (PkBackend *backend) | ||
250 | { | ||
251 | - PkPackageId *pi; | ||
252 | gint err, i; | ||
253 | gchar **package_ids; | ||
254 | + gchar **parts; | ||
255 | gboolean allow_deps; | ||
256 | gboolean autoremove; | ||
257 | gpointer *data; | ||
258 | @@ -467,29 +465,30 @@ | ||
259 | autoremove = GPOINTER_TO_INT (data[2]); | ||
260 | g_free (data); | ||
261 | |||
262 | - opkg_set_option (opkg, (char *)"autoremove", &autoremove); | ||
263 | - opkg_set_option (opkg, (char *)"force_removal_of_dependent_packages", &allow_deps); | ||
264 | + opkg_set_option ((char *)"autoremove", &autoremove); | ||
265 | + opkg_set_option ((char *)"force_removal_of_dependent_packages", &allow_deps); | ||
266 | |||
267 | err = 0; | ||
268 | |||
269 | for (i = 0; package_ids[i]; i++) | ||
270 | { | ||
271 | - pi = pk_package_id_new_from_string (package_ids[i]); | ||
272 | pk_backend_package (backend, PK_INFO_ENUM_REMOVING, package_ids[i], NULL); | ||
273 | |||
274 | - err = opkg_remove_package (opkg, pi->name, pk_opkg_progress_cb, backend); | ||
275 | + parts = pk_package_id_split (package_ids[i]); | ||
276 | + | ||
277 | + err = opkg_remove_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend); | ||
278 | |||
279 | switch (err) | ||
280 | { | ||
281 | - case OPKG_NO_ERROR: | ||
282 | - break; | ||
283 | - case OPKG_PACKAGE_NOT_INSTALLED: | ||
284 | - pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL); | ||
285 | - break; | ||
286 | + //case OPKG_NO_ERROR: | ||
287 | + // break; | ||
288 | + //case OPKG_PACKAGE_NOT_INSTALLED: | ||
289 | + // pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL); | ||
290 | + // break; | ||
291 | default: | ||
292 | opkg_unknown_error (backend, err, "Remove"); | ||
293 | } | ||
294 | - pk_package_id_free (pi); | ||
295 | + g_strfreev (parts); | ||
296 | |||
297 | if (err != 0) | ||
298 | break; | ||
299 | @@ -540,7 +539,7 @@ | ||
300 | gint err; | ||
301 | |||
302 | /* FIXME: support only_trusted */ | ||
303 | - err = opkg_upgrade_all (opkg, pk_opkg_progress_cb, backend); | ||
304 | + err = opkg_upgrade_all (pk_opkg_progress_cb, backend); | ||
305 | |||
306 | if (err) | ||
307 | opkg_unknown_error (backend, err, "Upgrading system"); | ||
308 | @@ -564,29 +563,28 @@ | ||
309 | static gboolean | ||
310 | backend_update_package_thread (PkBackend *backend) | ||
311 | { | ||
312 | - PkPackageId *pi; | ||
313 | + gchar **parts; | ||
314 | gint err = 0; | ||
315 | const gchar *package_id; | ||
316 | |||
317 | /* FIXME: support only_trusted */ | ||
318 | package_id = pk_backend_get_string (backend, "pkgid"); | ||
319 | - pi = pk_package_id_new_from_string (package_id); | ||
320 | + parts = pk_package_id_split (package_id); | ||
321 | |||
322 | - if (!pi->name || !pi->version) | ||
323 | + if (!parts) | ||
324 | { | ||
325 | pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, | ||
326 | "Package not found"); | ||
327 | - pk_package_id_free (pi); | ||
328 | pk_backend_finished (backend); | ||
329 | return FALSE; | ||
330 | } | ||
331 | |||
332 | - err = opkg_upgrade_package (opkg, pi->name, pk_opkg_progress_cb, backend); | ||
333 | + err = opkg_upgrade_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend); | ||
334 | if (err) | ||
335 | handle_install_error (backend, err); | ||
336 | |||
337 | |||
338 | - pk_package_id_free (pi); | ||
339 | + g_strfreev (parts); | ||
340 | pk_backend_finished (backend); | ||
341 | return (err != 0); | ||
342 | } | ||
343 | @@ -610,13 +608,13 @@ | ||
344 | */ | ||
345 | |||
346 | static void | ||
347 | -pk_opkg_list_upgradable_cb (opkg_t *_opkg, opkg_package_t *pkg, void *data) | ||
348 | +pk_opkg_list_upgradable_cb (pkg_t *pkg, void *data) | ||
349 | { | ||
350 | - PkBackend *backend = PK_BACKEND (data); | ||
351 | + PkBackend *backend = (PkBackend*) data; | ||
352 | gchar *uid; | ||
353 | gint status; | ||
354 | |||
355 | - if (pkg->installed) | ||
356 | + if (pkg->state_status == SS_INSTALLED) | ||
357 | status = PK_INFO_ENUM_INSTALLED; | ||
358 | else | ||
359 | status = PK_INFO_ENUM_AVAILABLE; | ||
360 | @@ -631,7 +629,7 @@ | ||
361 | static gboolean | ||
362 | backend_get_updates_thread (PkBackend *backend) | ||
363 | { | ||
364 | - opkg_list_upgradable_packages (opkg, pk_opkg_list_upgradable_cb, backend); | ||
365 | + opkg_list_upgradable_packages (pk_opkg_list_upgradable_cb, backend); | ||
366 | pk_backend_finished (backend); | ||
367 | return TRUE; | ||
368 | } | ||
369 | @@ -668,16 +666,18 @@ | ||
370 | static gboolean | ||
371 | backend_get_details_thread (PkBackend *backend) | ||
372 | { | ||
373 | - PkPackageId *pi; | ||
374 | gchar **package_ids; | ||
375 | + gchar **parts; | ||
376 | int group_index; | ||
377 | PkGroupEnum group = 0; | ||
378 | - opkg_package_t *pkg; | ||
379 | + pkg_t *pkg; | ||
380 | gchar *newid; | ||
381 | |||
382 | package_ids = pk_backend_get_strv(backend, "package_ids"); | ||
383 | - pi = pk_package_id_new_from_string (package_ids[0]); | ||
384 | - if (pi == NULL) | ||
385 | + parts = pk_package_id_split (package_ids[0]); | ||
386 | + | ||
387 | + | ||
388 | + if (!parts) | ||
389 | { | ||
390 | pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_ID_INVALID, "invalid package id"); | ||
391 | pk_backend_finished (backend); | ||
392 | @@ -685,8 +685,8 @@ | ||
393 | } | ||
394 | |||
395 | |||
396 | - pkg = opkg_find_package (opkg, pi->name, pi->version, pi->arch, pi->data); | ||
397 | - pk_package_id_free (pi); | ||
398 | + pkg = opkg_find_package (parts[PK_PACKAGE_ID_NAME], parts[PK_PACKAGE_ID_VERSION], parts[PK_PACKAGE_ID_ARCH], parts[PK_PACKAGE_ID_DATA]); | ||
399 | + g_strfreev (parts); | ||
400 | |||
401 | if (!pkg) | ||
402 | { | ||
403 | @@ -695,7 +695,7 @@ | ||
404 | return FALSE; | ||
405 | } | ||
406 | |||
407 | - newid = g_strdup_printf ("%s;%s;%s;%s", pkg->name, pkg->version, pkg->architecture, pkg->repository); | ||
408 | + newid = g_strdup_printf ("%s;%s;%s;%s", pkg->name, pkg->version, pkg->architecture, pkg->src->name); | ||
409 | |||
410 | if (pkg->tags) { | ||
411 | for (group_index = 0; group < PK_GROUP_ENUM_LAST; group_index++) { | ||
412 | @@ -706,9 +706,8 @@ | ||
413 | } | ||
414 | } | ||
415 | |||
416 | - pk_backend_details (backend, newid, NULL, group, pkg->description, pkg->url, pkg->size); | ||
417 | + pk_backend_details (backend, newid, NULL, group, pkg->description, NULL, pkg->size); | ||
418 | g_free (newid); | ||
419 | - opkg_package_free(pkg); | ||
420 | pk_backend_finished (backend); | ||
421 | return TRUE; | ||
422 | } | ||
diff --git a/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb b/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb deleted file mode 100644 index 1b60c470d..000000000 --- a/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb +++ /dev/null | |||
@@ -1,65 +0,0 @@ | |||
1 | SUMMARY = "PackageKit package management abstraction" | ||
2 | SECTION = "libs" | ||
3 | LICENSE = "GPL-2.0+" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
5 | DEPENDS = "gtk+ python polkit dbus dbus-glib glib-2.0 sqlite3 opkg intltool intltool-native" | ||
6 | RDEPENDS_${PN} = "opkg bash" | ||
7 | |||
8 | inherit gnome pythonnative | ||
9 | |||
10 | SRC_URI = "http://www.freedesktop.org/software/PackageKit/releases/PackageKit-${PV}.tar.bz2;name=archive \ | ||
11 | file://configurefix.patch \ | ||
12 | file://opkgfixes.patch \ | ||
13 | file://0001-Don-t-call-deprecated-glib-functions-and-use-the-new.patch \ | ||
14 | " | ||
15 | |||
16 | SRC_URI[archive.md5sum] = "33a3127e9ed41e26671786aee9fe56ff" | ||
17 | SRC_URI[archive.sha256sum] = "8dae41493dfb011442746d252b3435bf3204e17bf7c47e396f90fbd215260e14" | ||
18 | |||
19 | S = "${WORKDIR}/PackageKit-${PV}" | ||
20 | |||
21 | PACKAGECONFIG ??= "" | ||
22 | PACKAGECONFIG[service-packs] = "--enable-service-packs,--disable-service-packs,libarchive" | ||
23 | |||
24 | EXTRA_OECONF = "--with-security-framework=dummy \ | ||
25 | --with-default-backend=opkg \ | ||
26 | --enable-opkg \ | ||
27 | --disable-tests \ | ||
28 | --disable-ruck \ | ||
29 | --disable-qt \ | ||
30 | --disable-gstreamer-plugin \ | ||
31 | --disable-local \ | ||
32 | --disable-networkmanager \ | ||
33 | --disable-device-rebind \ | ||
34 | ac_cv_path_XMLTO=no \ | ||
35 | " | ||
36 | |||
37 | #do_configure_prepend() { | ||
38 | # mkdir -p m4 | ||
39 | # echo "EXTRA_DIST=" > gtk-doc.make | ||
40 | #} | ||
41 | |||
42 | do_configure_append() { | ||
43 | for i in $(find . -name Makefile) ; do | ||
44 | sed -i -e s:${STAGING_DIR_NATIVE}::g \ | ||
45 | -e s:/usr/bin/intltool-merge:${STAGING_BINDIR_NATIVE}/intltool-merge:g \ | ||
46 | $i | ||
47 | done | ||
48 | } | ||
49 | |||
50 | PACKAGES =+ "${PN}-website" | ||
51 | FILES_${PN}-website = "${datadir}/PackageKit/website" | ||
52 | |||
53 | PACKAGES =+ "${PN}-python" | ||
54 | FILES_${PN}-python = "${libdir}/python*" | ||
55 | |||
56 | PACKAGES =+ "${PN}-gtkmodule" | ||
57 | FILES_${PN}-gtkmodule = "${libdir}/gtk-2.0/*/*.so" | ||
58 | |||
59 | FILES_${PN} += "${libdir}/packagekit-backend/*.so ${libdir}/pm-utils ${datadir}/dbus-1/system-services/ ${datadir}/PolicyKit ${datadir}/PackageKit" | ||
60 | FILES_${PN}-dbg += "${libdir}/packagekit-backend/.debug/*.so ${libdir}/gtk-2.0/*/.debug" | ||
61 | FILES_${PN}-dev += "${libdir}/packagekit-backend/*.la ${libdir}/gtk-2.0/*/*.la" | ||
62 | FILES_${PN}-staticdev += "${libdir}/packagekit-backend/*.a ${libdir}/gtk-2.0/*/*.a" | ||
63 | |||
64 | # PackageKit-0.5.6/backends/opkg/pk-backend-opkg.c:31:26: fatal error: libopkg/opkg.h: No such file or directory | ||
65 | PNBLACKLIST[packagekit] ?= "BROKEN: depends on old deprecated libopkg which is currently disabled and will be removed soon - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc deleted file mode 100644 index f7d480f17..000000000 --- a/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc +++ /dev/null | |||
@@ -1,16 +0,0 @@ | |||
1 | DESCRIPTION = "Vala DBus Binding Tool" | ||
2 | SECTION = "devel" | ||
3 | DEPENDS = "vala libgee libxml2" | ||
4 | HOMEPAGE = "http://wiki.freesmartphone.org/index.php/Implementations/vala-dbus-binding-tool" | ||
5 | LICENSE = "GPLv3" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" | ||
7 | PE = "1" | ||
8 | INC_PR = "r3" | ||
9 | |||
10 | export XDG_DATA_DIRS = "${STAGING_DATADIR}" | ||
11 | |||
12 | SRC_URI = "${SOURCEFORGE_MIRROR}/freesmartphone/sources/${BP}.tar.bz2" | ||
13 | |||
14 | inherit autotools perlnative pkgconfig | ||
15 | |||
16 | BBCLASSEXTEND = "native" | ||
diff --git a/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool/0001-configure.ac-don-t-use-dash-in-m4-macro-names.patch b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool/0001-configure.ac-don-t-use-dash-in-m4-macro-names.patch deleted file mode 100644 index 14d84ae8a..000000000 --- a/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool/0001-configure.ac-don-t-use-dash-in-m4-macro-names.patch +++ /dev/null | |||
@@ -1,34 +0,0 @@ | |||
1 | From 8abed2e5bf8e7815b11df6d22042d5f0ac8efcb0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Tue, 5 May 2015 13:43:35 +0200 | ||
4 | Subject: [PATCH] configure.ac: don't use dash in m4 macro names | ||
5 | |||
6 | * otherwise it doesn't get expanded and vala-dbus-binding-tool ends with version 'vala-dbus-binding-tool_version' | ||
7 | |||
8 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
9 | --- | ||
10 | configure.ac | 10 +++++----- | ||
11 | 1 file changed, 5 insertions(+), 5 deletions(-) | ||
12 | |||
13 | diff --git a/configure.ac b/configure.ac | ||
14 | index 48f007c..18d0bde 100644 | ||
15 | --- a/configure.ac | ||
16 | +++ b/configure.ac | ||
17 | @@ -1,9 +1,9 @@ | ||
18 | -m4_define([vala-dbus-binding-tool_released], [0]) | ||
19 | -m4_define([vala-dbus-binding-tool_base_version], [1.0]) | ||
20 | -m4_define([vala-dbus-binding-tool_maybe_gitrev], m4_if(vala-dbus-binding-tool_released, [1], [], [m4_esyscmd([git show-ref --hash=5 HEAD | tr -d '\n\r'])])) | ||
21 | -m4_define([vala-dbus-binding-tool_version], m4_if(vala-dbus-binding-tool_released, [1], [vala-dbus-binding-tool_base_version], [vala-dbus-binding-tool_base_version-vala-dbus-binding-tool_maybe_gitrev])) | ||
22 | +m4_define([vala_dbus_binding_tool_released], [0]) | ||
23 | +m4_define([vala_dbus_binding_tool_base_version], [1.0]) | ||
24 | +m4_define([vala_dbus_binding_tool_maybe_gitrev], m4_if(vala_dbus_binding_tool_released, [1], [], [m4_esyscmd([git show-ref --hash=5 HEAD | tr -d '\n\r'])])) | ||
25 | +m4_define([vala_dbus_binding_tool_version], m4_if(vala_dbus_binding_tool_released, [1], [vala_dbus_binding_tool_base_version], [vala_dbus_binding_tool_base_version-vala_dbus_binding_tool_maybe_gitrev])) | ||
26 | |||
27 | -AC_INIT([vala-dbus-binding-tool], [vala-dbus-binding-tool_version], [fso@openphoenux.org], [vala-dbus-binding-tool]) | ||
28 | +AC_INIT([vala-dbus-binding-tool], [vala_dbus_binding_tool_version], [fso@openphoenux.org], [vala-dbus-binding-tool]) | ||
29 | AC_CONFIG_SRCDIR([src/Makefile.am]) | ||
30 | AC_CONFIG_HEADERS(config.h) | ||
31 | AM_INIT_AUTOMAKE([dist-bzip2]) | ||
32 | -- | ||
33 | 2.3.5 | ||
34 | |||
diff --git a/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_0.4.0.bb b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_0.4.0.bb deleted file mode 100644 index 19e3dceca..000000000 --- a/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_0.4.0.bb +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | require vala-dbus-binding-tool.inc | ||
2 | |||
3 | SRC_URI[md5sum] = "59eab7abf38f35355d3786803bd2441f" | ||
4 | SRC_URI[sha256sum] = "1e37ab2e6238eaef9f573560ea7379e6955570f7c9503083e50c4c185c1956df" | ||
5 | |||
6 | PNBLACKLIST[vala-dbus-binding-tool] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/131628/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb deleted file mode 100644 index 32f34550d..000000000 --- a/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | require vala-dbus-binding-tool.inc | ||
2 | |||
3 | # Temporary remove negative preference, because there are 2 versions of 0.4.0 archives: | ||
4 | # the original one depending on libgee1.0 from | ||
5 | # http://downloads.freesmartphone.org/sources/${BPN}/${BP}.tar.bz2 | ||
6 | # and new one depending on libgee0.8 from | ||
7 | # http://sourceforge.net/projects/freesmartphone/files/sources/ | ||
8 | # The original one can be already deployed on various premirrors, | ||
9 | # so prefer the git recipe which doesn't suffer from this issue | ||
10 | # DEFAULT_PREFERENCE = "-1" | ||
11 | |||
12 | SRCREV = "742c04c2bb0743891904522ce47e50f9e5c99b12" | ||
13 | PV = "0.4.0+gitr${SRCPV}" | ||
14 | |||
15 | SRC_URI = "git://github.com/freesmartphone/vala-dbus-binding-tool.git;protocol=https \ | ||
16 | file://0001-configure.ac-don-t-use-dash-in-m4-macro-names.patch \ | ||
17 | " | ||
18 | S = "${WORKDIR}/git" | ||
19 | |||
20 | PNBLACKLIST[vala-dbus-binding-tool] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130581/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-extended/openlmi/openlmi-networking/0001-fix-lib64-can-not-be-shiped-in-64bit-target.patch b/meta-oe/recipes-extended/openlmi/openlmi-networking/0001-fix-lib64-can-not-be-shiped-in-64bit-target.patch deleted file mode 100644 index c23820094..000000000 --- a/meta-oe/recipes-extended/openlmi/openlmi-networking/0001-fix-lib64-can-not-be-shiped-in-64bit-target.patch +++ /dev/null | |||
@@ -1,31 +0,0 @@ | |||
1 | From 336bb5a031077461ec6b2e5438738bf100f0dd2f Mon Sep 17 00:00:00 2001 | ||
2 | From: Lei Maohui <leimaohui@cn.fujitsu.com> | ||
3 | Date: Mon, 3 Aug 2015 02:37:46 +0900 | ||
4 | Subject: [PATCH] fix lib64 can not be shiped in 64bit target | ||
5 | |||
6 | Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com> | ||
7 | --- | ||
8 | CMakeLists.txt | 7 ------- | ||
9 | 1 file changed, 7 deletions(-) | ||
10 | |||
11 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
12 | index 1ba3cd3..2411745 100644 | ||
13 | --- a/CMakeLists.txt | ||
14 | +++ b/CMakeLists.txt | ||
15 | @@ -35,13 +35,6 @@ if (DEBUG) | ||
16 | add_definitions("-DDEBUG_ENABLED") | ||
17 | endif (DEBUG) | ||
18 | |||
19 | -# Set LIB_SUFFIX to 64 on 64bit architectures | ||
20 | -if(CMAKE_SIZEOF_VOID_P EQUAL 4) | ||
21 | - set(LIB_SUFFIX "") | ||
22 | -else(CMAKE_SIZEOF_VOID_P EQUAL 4) | ||
23 | - SET(LIB_SUFFIX 64) | ||
24 | -endif(CMAKE_SIZEOF_VOID_P EQUAL 4) | ||
25 | - | ||
26 | # Find OpenLMIMacros when installed in other prefix than /usr (e.g. /usr/local) | ||
27 | set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_INSTALL_PREFIX}) | ||
28 | include(OpenLMIMacros RESULT_VARIABLE LMIMACROS) | ||
29 | -- | ||
30 | 1.8.4.2 | ||
31 | |||
diff --git a/meta-oe/recipes-extended/openlmi/openlmi-networking_0.3.1.bb b/meta-oe/recipes-extended/openlmi/openlmi-networking_0.3.1.bb deleted file mode 100644 index 081bd3bc0..000000000 --- a/meta-oe/recipes-extended/openlmi/openlmi-networking_0.3.1.bb +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | SUMMARY = "CIM providers for network management" | ||
2 | DESCRIPTION = "\ | ||
3 | openlmi-networking is set of CMPI providers for network management using \ | ||
4 | Common Information Model (CIM)." | ||
5 | HOMEPAGE = "http://www.openlmi.org/" | ||
6 | LICENSE = "LGPL-2.1+" | ||
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=7c13b3376cea0ce68d2d2da0a1b3a72c" | ||
8 | SECTION = "System/Management" | ||
9 | DEPENDS = "openlmi-providers konkretcmpi konkretcmpi-native sblim-cmpi-devel cim-schema-exper networkmanager dbus libcheck glib-2.0" | ||
10 | |||
11 | SRC_URI = "http://fedorahosted.org/released/${BPN}/${BP}.tar.gz \ | ||
12 | file://0001-fix-lib64-can-not-be-shiped-in-64bit-target.patch \ | ||
13 | " | ||
14 | SRC_URI[md5sum] = "f20de8c76fb6a80001b14c1eb035953e" | ||
15 | SRC_URI[sha256sum] = "578eaa5c65fe924b5d7aeb635509dd46443166cd6a88b019bc42646e3518a460" | ||
16 | |||
17 | inherit cmake | ||
18 | |||
19 | EXTRA_OECMAKE = "${@base_conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \ | ||
20 | ${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \ | ||
21 | " | ||
22 | |||
23 | |||
24 | do_configure_prepend() { | ||
25 | export CMAKE_INSTALL_DATDIR="${STAGING_DATADIR}" | ||
26 | } | ||
27 | |||
28 | |||
29 | FILES_${PN} =+ "${libdir}/cmpi/libcmpiLMI_Networking.so ${prefix}/libexec*" | ||
30 | FILES_${PN}-dbg =+ "${libdir}/cmpi/.debug*" | ||
31 | |||
32 | PNBLACKLIST[openlmi-networking] ?= "Depends on blacklisted openlmi-providers - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-extended/openlmi/openlmi-providers/0001-fix-error.patch b/meta-oe/recipes-extended/openlmi/openlmi-providers/0001-fix-error.patch deleted file mode 100644 index 4bcd1c4d9..000000000 --- a/meta-oe/recipes-extended/openlmi/openlmi-providers/0001-fix-error.patch +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | From 764171866b84e0198b67538f63022abde3e628ad Mon Sep 17 00:00:00 2001 | ||
2 | From: Qian Lei <qianl.fnst@cn.fujitsu.com> | ||
3 | Date: Fri, 16 Jan 2015 14:15:25 +0800 | ||
4 | Subject: [PATCH] fix error | ||
5 | |||
6 | Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com> | ||
7 | --- | ||
8 | cmake/modules/OpenLMIMacros.cmake | 2 +- | ||
9 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
10 | |||
11 | diff --git a/cmake/modules/OpenLMIMacros.cmake b/cmake/modules/OpenLMIMacros.cmake | ||
12 | index d55f983..dbc32ec 100644 | ||
13 | --- a/cmake/modules/OpenLMIMacros.cmake | ||
14 | +++ b/cmake/modules/OpenLMIMacros.cmake | ||
15 | @@ -89,7 +89,7 @@ macro(konkretcmpi_generate MOFS CIM_PROVIDERS CIM_HEADERS CIM_CLASSES) | ||
16 | endforeach(CLASS ${CIM_CLASS_NAMES}) | ||
17 | |||
18 | # Generate headers for CIM classes | ||
19 | - set(ENV{KONKRET_SCHEMA_DIR} "/usr/share/mof/cim-current") | ||
20 | + set(ENV{KONKRET_SCHEMA_DIR} "$ENV{CMAKE_INSTALL_DATDIR}/mof/cim-current") | ||
21 | execute_process(COMMAND ${KONKRETCMPI_KONKRET} | ||
22 | ${KONKRET_MOF_FILES} | ||
23 | ${GENERATE_PROVIDERS} | ||
24 | -- | ||
25 | 1.8.3.1 | ||
26 | |||
diff --git a/meta-oe/recipes-extended/openlmi/openlmi-providers/0001-fix-lib64-can-not-be-shiped-in-64bit-target.patch b/meta-oe/recipes-extended/openlmi/openlmi-providers/0001-fix-lib64-can-not-be-shiped-in-64bit-target.patch deleted file mode 100644 index 9c8ebe4c0..000000000 --- a/meta-oe/recipes-extended/openlmi/openlmi-providers/0001-fix-lib64-can-not-be-shiped-in-64bit-target.patch +++ /dev/null | |||
@@ -1,31 +0,0 @@ | |||
1 | From 7cecfa95f033b33a1c3260c214b2d0e5e81b4fd3 Mon Sep 17 00:00:00 2001 | ||
2 | From: Lei Maohui <leimaohui@cn.fujitsu.com> | ||
3 | Date: Mon, 3 Aug 2015 02:05:56 +0900 | ||
4 | Subject: [PATCH] fix lib64 can not be shiped in 64bit target | ||
5 | |||
6 | Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com> | ||
7 | --- | ||
8 | CMakeLists.txt | 7 ------- | ||
9 | 1 file changed, 7 deletions(-) | ||
10 | |||
11 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
12 | index 48ae206..3ead9c6 100644 | ||
13 | --- a/CMakeLists.txt | ||
14 | +++ b/CMakeLists.txt | ||
15 | @@ -21,13 +21,6 @@ else(HAS_STACK_PROTECTOR_STRONG) | ||
16 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fstack-protector") | ||
17 | endif() | ||
18 | |||
19 | -# Set LIB_SUFFIX to 64 on 64bit architectures | ||
20 | -if(CMAKE_SIZEOF_VOID_P EQUAL 4) | ||
21 | - set(LIB_SUFFIX "") | ||
22 | -else(CMAKE_SIZEOF_VOID_P EQUAL 4) | ||
23 | - SET(LIB_SUFFIX 64) | ||
24 | -endif(CMAKE_SIZEOF_VOID_P EQUAL 4) | ||
25 | - | ||
26 | if(NOT SYSCONF_INSTALL_DIR) | ||
27 | set(SYSCONF_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/etc) | ||
28 | endif(NOT SYSCONF_INSTALL_DIR) | ||
29 | -- | ||
30 | 1.8.4.2 | ||
31 | |||
diff --git a/meta-oe/recipes-extended/openlmi/openlmi-providers_0.6.0.bb b/meta-oe/recipes-extended/openlmi/openlmi-providers_0.6.0.bb deleted file mode 100644 index 2eda65320..000000000 --- a/meta-oe/recipes-extended/openlmi/openlmi-providers_0.6.0.bb +++ /dev/null | |||
@@ -1,56 +0,0 @@ | |||
1 | SUMMARY = "Set of basic CIM providers" | ||
2 | DESCRIPTION = "\ | ||
3 | openlmi-providers is set of (usually) small CMPI providers (agents) for \ | ||
4 | basic monitoring and management of host system using Common Information \ | ||
5 | Model (CIM)." | ||
6 | HOMEPAGE = "http://www.openlmi.org/" | ||
7 | LICENSE = "LGPLv2+" | ||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=7c13b3376cea0ce68d2d2da0a1b3a72c" | ||
9 | SECTION = "System/Management" | ||
10 | DEPENDS = "konkretcmpi-native konkretcmpi sblim-sfcb sblim-cmpi-devel cim-schema-exper lmsensors libuser swig swig-native dbus udev systemd-systemctl-native pciutils" | ||
11 | |||
12 | SRC_URI = "http://fedorahosted.org/released/${BPN}/${BP}.tar.gz \ | ||
13 | file://0001-fix-error.patch \ | ||
14 | file://0001-fix-lib64-can-not-be-shiped-in-64bit-target.patch \ | ||
15 | " | ||
16 | SRC_URI[md5sum] = "5904f23cf494946237cfbbdbe644a3cd" | ||
17 | SRC_URI[sha256sum] = "e2b2fbeaec45a83905d0da3b87da83904d9cd94c1b86312f844587b3fff11f56" | ||
18 | |||
19 | inherit cmake | ||
20 | LDFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" | ||
21 | EXTRA_OECMAKE = " \ | ||
22 | -DWITH-DEVASSISTANT=OFF \ | ||
23 | -DWITH-JOURNALD=OFF \ | ||
24 | -DWITH-SERVICE=OFF \ | ||
25 | -DWITH-SERVICE-LEGACY=ON \ | ||
26 | -DWITH-ACCOUNT=OFF \ | ||
27 | -DWITH-PCP=OFF \ | ||
28 | -DWITH-REALMD=OFF \ | ||
29 | -DWITH-FAN=OFF \ | ||
30 | -DWITH-LOCALE=OFF \ | ||
31 | -DWITH-INDSENDER=OFF \ | ||
32 | -DWITH-JOBMANAGER=OFF \ | ||
33 | -DWITH-SSSD=OFF \ | ||
34 | -DWITH-SELINUX=OFF \ | ||
35 | -DWITH-SOFTWARE-DBUS=ON \ | ||
36 | ${@base_conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \ | ||
37 | ${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \ | ||
38 | " | ||
39 | |||
40 | do_configure_prepend() { | ||
41 | export CMAKE_INSTALL_DATDIR="${STAGING_DATADIR}" | ||
42 | } | ||
43 | |||
44 | do_install_append() { | ||
45 | if [ -d ${D}${prefix}${sysconfidr} ]; then | ||
46 | mv ${D}${prefix}${sysconfdir} ${D}${sysconfdir} | ||
47 | fi | ||
48 | } | ||
49 | |||
50 | FILES_${PN} =+ "${libdir}/cmpi/libcmpiLMI* ${prefix}/libexec*" | ||
51 | FILES_${PN}-dev =+ "${datadir}/cmake*" | ||
52 | FILES_${PN}-dbg =+ "${libdir}/cmpi/.debug*" | ||
53 | |||
54 | RDEPENDS_${PN} = "python" | ||
55 | |||
56 | PNBLACKLIST[openlmi-providers] ?= "Depends on blacklisted lmsensors - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-extended/openlmi/openlmi-storage_0.8.1.bb b/meta-oe/recipes-extended/openlmi/openlmi-storage_0.8.1.bb deleted file mode 100644 index f99b77ca4..000000000 --- a/meta-oe/recipes-extended/openlmi/openlmi-storage_0.8.1.bb +++ /dev/null | |||
@@ -1,34 +0,0 @@ | |||
1 | SUMMARY = "CIM providers for storage management" | ||
2 | DESCRIPTION = "\ | ||
3 | The openlmi-storage package contains CMPI providers for management of storage \ | ||
4 | using Common Information Managemen (CIM) protocol. \ | ||
5 | \ | ||
6 | The providers can be registered in any CMPI-aware CIMOM, both OpenPegasus and \ | ||
7 | SFCB were tested." | ||
8 | HOMEPAGE = "http://www.openlmi.org/" | ||
9 | LICENSE = "LGPL-2.1+" | ||
10 | LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" | ||
11 | SECTION = "System/Management" | ||
12 | DEPENDS = "openlmi-providers pywbem cmpi-bindings" | ||
13 | RDEPENDS_${PN} += "bash" | ||
14 | |||
15 | SRC_URI = "http://fedorahosted.org/released/${BPN}/${BP}.tar.gz" | ||
16 | SRC_URI[md5sum] = "898cf0d8c03b8ad6b45d65f335ddee0d" | ||
17 | SRC_URI[sha256sum] = "4a1ba9957750f94ea58a89cea28985564f38d7cc9aa00fcae20c51e7b32bd0a8" | ||
18 | |||
19 | inherit setuptools | ||
20 | |||
21 | do_install_append() { | ||
22 | install -m 755 -d ${D}${datadir}/${BPN} | ||
23 | install -m 644 ${S}/mof/* ${D}${datadir}/${BPN}/ | ||
24 | |||
25 | install -m 755 -d ${D}${sysconfdir}/openlmi/storage | ||
26 | install -m 644 storage.conf ${D}${sysconfdir}/openlmi/storage/storage.conf | ||
27 | |||
28 | install -m 755 -d ${D}${libexecdir}/pegasus | ||
29 | install -m 755 pycmpiLMI_Storage-cimprovagt ${D}${libexecdir}/pegasus/ | ||
30 | } | ||
31 | |||
32 | FILES_${PN} =+ "${sysconfdir}/openlmi/storage/storage.conf ${datadir}/${BPN}/*" | ||
33 | |||
34 | PNBLACKLIST[openlmi-storage] ?= "Depends on blacklisted pywbem - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-extended/subsurface/subsurface_git.bb b/meta-oe/recipes-extended/subsurface/subsurface_git.bb deleted file mode 100644 index 90adaf487..000000000 --- a/meta-oe/recipes-extended/subsurface/subsurface_git.bb +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | SUMMARY = "Subsurface is an open source dive log program" | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263" | ||
4 | |||
5 | DEPENDS = "libdivecomputer gtk+ libxml2 glib-2.0 gconf" | ||
6 | |||
7 | PNBLACKLIST[subsurface] ?= "Needs to be upgraded for compatibility with new libdivecomputer - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
8 | |||
9 | inherit gtk-icon-cache cmake | ||
10 | |||
11 | inherit gitpkgv | ||
12 | PKGV = "${GITPKGVTAG}" | ||
13 | PV = "4.2" | ||
14 | |||
15 | SRCREV = "f61ee20ba356ecfc4c5b247f548f52d588179c94" | ||
16 | SRC_URI = "git://subsurface.hohndel.org/subsurface.git" | ||
17 | S = "${WORKDIR}/git" | ||
18 | |||
19 | #FILES_${PN} += "${datadir}/icons/hicolor/scalable/apps/subsurface.svg" | ||
20 | RRECOMMENDS_${PN}_append_libc-glibc = " glibc-gconv-iso8859-15" | ||
21 | |||
diff --git a/meta-oe/recipes-gnome/gtkextra/files/remove-tutorial.patch b/meta-oe/recipes-gnome/gtkextra/files/remove-tutorial.patch deleted file mode 100644 index da4f3f441..000000000 --- a/meta-oe/recipes-gnome/gtkextra/files/remove-tutorial.patch +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | Upstream-Status: Inappropriate [configuration] | ||
2 | |||
3 | diff --git a/docs/Makefile.am b/docs/Makefile.am | ||
4 | index f5375f5..c306f23 100644 | ||
5 | --- a/docs/Makefile.am | ||
6 | +++ b/docs/Makefile.am | ||
7 | @@ -1,4 +1,4 @@ | ||
8 | -SUBDIRS = reference tutorial | ||
9 | +SUBDIRS = reference | ||
10 | |||
11 | EXTRA_DIST = \ | ||
12 | COPYING \ | ||
diff --git a/meta-oe/recipes-gnome/gtkextra/gtkextra_3.0.5.bb b/meta-oe/recipes-gnome/gtkextra/gtkextra_3.0.5.bb deleted file mode 100644 index 34b7aa64a..000000000 --- a/meta-oe/recipes-gnome/gtkextra/gtkextra_3.0.5.bb +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | SUMMARY = "Gtk+Extra is a set of custom widget for plots and images" | ||
2 | HOMEPAGE = "http://gtkextra.sourceforge.net/" | ||
3 | |||
4 | LICENSE = "LGPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" | ||
6 | |||
7 | SRC_URI = "${SOURCEFORGE_MIRROR}/gtkextra/${BP}.tar.gz \ | ||
8 | file://remove-tutorial.patch \ | ||
9 | " | ||
10 | |||
11 | SRC_URI[md5sum] = "486cea93666020f85f101ed8341baf41" | ||
12 | SRC_URI[sha256sum] = "9cab6c5d6b792eb828d17cec2b9c1baba2ef57f789a290464afab80b53969e65" | ||
13 | |||
14 | DEPENDS = "gtk+" | ||
15 | |||
16 | inherit autotools pkgconfig gobject-introspection | ||
17 | |||
18 | # | ./.libs/libgtkextra-x11-3.0.so: error: undefined reference to 'roundint' | ||
19 | PNBLACKLIST[gtkextra] ?= "BROKEN: Fails to build with gcc-5 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-gnome/gtkhtml2/files/0001-tests-main.c-fix-build-with-glib-2.36.patch b/meta-oe/recipes-gnome/gtkhtml2/files/0001-tests-main.c-fix-build-with-glib-2.36.patch deleted file mode 100644 index b3eb3960c..000000000 --- a/meta-oe/recipes-gnome/gtkhtml2/files/0001-tests-main.c-fix-build-with-glib-2.36.patch +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | From 4b17eed4b8588569d11ec4bd2b6fa3c063830e6e Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Thu, 16 May 2013 18:44:50 +0200 | ||
4 | Subject: [PATCH] tests/main.c: fix build with glib 2.36 | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | Upstream-Status: project seems dead | ||
10 | |||
11 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
12 | --- | ||
13 | tests/main.c | 2 ++ | ||
14 | 1 files changed, 2 insertions(+), 0 deletions(-) | ||
15 | |||
16 | diff --git a/tests/main.c b/tests/main.c | ||
17 | index 61cce82..18165ed 100644 | ||
18 | --- a/tests/main.c | ||
19 | +++ b/tests/main.c | ||
20 | @@ -30,7 +30,9 @@ main (gint argc, gchar **argv) | ||
21 | { | ||
22 | GtkWidget *browser; | ||
23 | |||
24 | +#if !GLIB_CHECK_VERSION (2, 36, 0) | ||
25 | g_thread_init(NULL); | ||
26 | +#endif | ||
27 | |||
28 | gtk_init (&argc, &argv); | ||
29 | |||
30 | -- | ||
31 | 1.7.6.5 | ||
32 | |||
diff --git a/meta-oe/recipes-gnome/gtkhtml2/gtkhtml2_svn.bb b/meta-oe/recipes-gnome/gtkhtml2/gtkhtml2_svn.bb deleted file mode 100644 index 021b077de..000000000 --- a/meta-oe/recipes-gnome/gtkhtml2/gtkhtml2_svn.bb +++ /dev/null | |||
@@ -1,41 +0,0 @@ | |||
1 | SECTION = "libs" | ||
2 | DEPENDS = "gtk+ glib-2.0 libxml2" | ||
3 | SUMMARY = "A GTK+ HTML rendering library" | ||
4 | LICENSE = "LGPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605" | ||
6 | |||
7 | SRCREV = "1161" | ||
8 | PV = "2.11.0+svnr${SRCPV}" | ||
9 | PR = "r5" | ||
10 | |||
11 | SRC_URI = "svn://svn.gnome.org/svn/gtkhtml2/;module=trunk;protocol=http \ | ||
12 | http://git.yoctoproject.org/cgit/cgit.cgi/web-patches/plain/css-stylesheet-user.patch;striplevel=0;name=patch2 \ | ||
13 | http://git.yoctoproject.org/cgit/cgit.cgi/web-patches/plain/css-media.patch;striplevel=0;name=patch3 \ | ||
14 | http://git.yoctoproject.org/cgit/cgit.cgi/web-patches/plain/add-end-element-signal.patch;striplevel=0;name=patch4 \ | ||
15 | http://git.yoctoproject.org/cgit/cgit.cgi/web-patches/plain/add-dom-functions.patch;striplevel=0;name=patch5 \ | ||
16 | http://git.yoctoproject.org/cgit/cgit.cgi/web-patches/plain/iain-mem-leak.patch;striplevel=0;name=patch6 \ | ||
17 | file://0001-tests-main.c-fix-build-with-glib-2.36.patch \ | ||
18 | " | ||
19 | |||
20 | SRC_URI[patch2.md5sum] = "05fc3627ca364095702dc804f41c8391" | ||
21 | SRC_URI[patch2.sha256sum] = "df5cca50a8f95333505d7920929fea251daea3be25be6834a1c50a742d9eb674" | ||
22 | |||
23 | SRC_URI[patch3.md5sum] = "d3fe4cda3545f3e4718f1acc186608ab" | ||
24 | SRC_URI[patch3.sha256sum] = "3aefaa17ffa38143bf5df1161c51ab402d35bfbee41ab4643c313edf569165d5" | ||
25 | |||
26 | SRC_URI[patch4.md5sum] = "651b1601d8a1b21c8a3040fadb729043" | ||
27 | SRC_URI[patch4.sha256sum] = "d067e8331bf9c6851f1c6067d991a7f54327f532900b405ebdf8e149c071f381" | ||
28 | |||
29 | SRC_URI[patch5.md5sum] = "041be9711a16e629d01487664ba97152" | ||
30 | SRC_URI[patch5.sha256sum] = "42956fb41341cf82ae8bce18b4cf96a7e2aa631b1b60657afb6d7e9be7cd138c" | ||
31 | |||
32 | SRC_URI[patch6.md5sum] = "4e11dc7899d68f2be2e06ccee01d296d" | ||
33 | SRC_URI[patch6.sha256sum] = "1e2cc080e654c1839c5cb4b4adf4c62a23e7da208427f3ba0b16cfed9e5cfa98" | ||
34 | |||
35 | S = "${WORKDIR}/trunk" | ||
36 | |||
37 | inherit pkgconfig autotools | ||
38 | |||
39 | EXTRA_OECONF = " --disable-accessibility" | ||
40 | |||
41 | PNBLACKLIST[gtkhtml2] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130633/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-graphics/clutter/clutter-box2d.inc b/meta-oe/recipes-graphics/clutter/clutter-box2d.inc deleted file mode 100644 index 646b785ca..000000000 --- a/meta-oe/recipes-graphics/clutter/clutter-box2d.inc +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | DESCRIPTION = "Clutter Box2D" | ||
2 | HOMEPAGE = "http://www.clutter-project.org/" | ||
3 | LICENSE = "LGPLv2.1+" | ||
4 | |||
5 | # The main clutter lib is machine specific so we need to be too | ||
6 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
7 | |||
8 | inherit autotools pkgconfig gtk-doc | ||
9 | |||
10 | do_install_append () { | ||
11 | install -d ${D}${bindir} | ||
12 | install ${S}/examples/.libs/blockbox ${D}${bindir} | ||
13 | } | ||
14 | |||
15 | FILESPATH = "${FILE_DIRNAME}/clutter-box2d" | ||
diff --git a/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb b/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb deleted file mode 100644 index d73e2f15e..000000000 --- a/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | require clutter-box2d.inc | ||
2 | |||
3 | LIC_FILES_CHKSUM = "file://box2d/License.txt;md5=e5d39ad91f7dc4692dcdb1d85139ec6b" | ||
4 | |||
5 | # 0.12.1+gitAUTOINC+de5452e56b-r1/git/clutter-box2d/clutter-box2d.h:226:47: | ||
6 | # fatal error: clutter-box2d/clutter-box2d-child.h: No such file or directory | ||
7 | # | #include <clutter-box2d/clutter-box2d-child.h> | ||
8 | PNBLACKLIST[clutter-box2d] ?= "BROKEN: doesn't build with B!=S - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
9 | |||
10 | SRCREV = "de5452e56b537a11fd7f9453d048ff4b4793b5a2" | ||
11 | PV = "0.12.1+git${SRCPV}" | ||
12 | PR = "r1" | ||
13 | |||
14 | SRC_URI = "git://git.gnome.org/clutter-box2d.git" | ||
15 | |||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | DEPENDS += "clutter-1.0" | ||
19 | PROVIDES = "clutter-box2d-1.6" | ||
diff --git a/meta-oe/recipes-graphics/fim/files/cross_cc.patch b/meta-oe/recipes-graphics/fim/files/cross_cc.patch deleted file mode 100644 index 85ab1ef4a..000000000 --- a/meta-oe/recipes-graphics/fim/files/cross_cc.patch +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | From 9b0b322d86c7b2d2cddaa62f7dab4aa669739a48 Mon Sep 17 00:00:00 2001 | ||
2 | From: Matthieu Crapet <Matthieu.Crapet@ingenico.com> | ||
3 | Date: Wed, 19 Mar 2014 13:18:21 +0100 | ||
4 | Subject: [PATCH] Upstream-Status: Pending | ||
5 | |||
6 | b2ba should be built by BUILD_CC in cross environment | ||
7 | This is only used when configured with --enable-hardcoded-font | ||
8 | |||
9 | Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com> | ||
10 | --- | ||
11 | src/Makefile.am | 2 +- | ||
12 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
13 | |||
14 | diff --git a/src/Makefile.am b/src/Makefile.am | ||
15 | index a1d4330..a8150b9 100644 | ||
16 | --- a/src/Makefile.am | ||
17 | +++ b/src/Makefile.am | ||
18 | @@ -63,7 +63,7 @@ help-acm.cpp: fim.h | ||
19 | $(ECHO) '//#endif' >> $@ | ||
20 | |||
21 | b2ba: | ||
22 | - $(CC) -o b2ba b2ba.c | ||
23 | + $(BUILD_CC) -o b2ba b2ba.c | ||
24 | |||
25 | if FIM_WANT_CUSTOM_HARDCODED_CONSOLEFONT | ||
26 | default_font_byte_array.h: $(FIM_CUSTOM_HARDCODED_CONSOLEFONT) b2ba | ||
27 | -- | ||
28 | 1.8.5.4 | ||
29 | |||
diff --git a/meta-oe/recipes-graphics/fim/fim_0.4-rc1.bb b/meta-oe/recipes-graphics/fim/fim_0.4-rc1.bb deleted file mode 100644 index 7d1a3aaa8..000000000 --- a/meta-oe/recipes-graphics/fim/fim_0.4-rc1.bb +++ /dev/null | |||
@@ -1,52 +0,0 @@ | |||
1 | SUMMARY = "Framebuffer (scriptable) image viewer" | ||
2 | DESCRIPTION = "FIM (Fbi IMproved) aims to be a highly customizable and scriptable \ | ||
3 | image viewer targeted at users who are comfortable with software \ | ||
4 | like the Vim text editor or the Mutt mail user agent." | ||
5 | SECTION = "utils" | ||
6 | HOMEPAGE = "http://www.autistici.org/dezperado/fim/" | ||
7 | |||
8 | LICENSE = "GPLv2" | ||
9 | LIC_FILES_CHKSUM = "file://COPYING;md5=fa01bff138cc98a62b8840a157951c88" | ||
10 | |||
11 | PNBLACKLIST[fim] ?= "BROKEN: doesn't build with B!=S (flex: can't open lex.lex) - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
12 | |||
13 | # flex with provide /usr/include/FlexLexer.h | ||
14 | DEPENDS = "flex-native bison-native flex" | ||
15 | |||
16 | SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/fbi-improved/${BPN}-${PV}.tar.gz \ | ||
17 | file://cross_cc.patch" | ||
18 | SRC_URI[md5sum] = "d7362dde5541c2b6439c35c6e2bd5046" | ||
19 | SRC_URI[sha256sum] = "3f6bf2de2952b9adcbeb3db12c2a979e999a81dd1e314a03bc58e24f1ea9f686" | ||
20 | |||
21 | PARALLEL_MAKE = "" | ||
22 | |||
23 | inherit autotools pkgconfig | ||
24 | |||
25 | # Don't use provided regex.c | ||
26 | EXTRA_OECONF = "fim_cv_regex=no fim_cv_regex_broken=no \ | ||
27 | --enable-framebuffer \ | ||
28 | --disable-djvu \ | ||
29 | --disable-ps \ | ||
30 | --disable-xcftopnm \ | ||
31 | --disable-convert \ | ||
32 | --disable-inkscape \ | ||
33 | --disable-xfig \ | ||
34 | --disable-dia \ | ||
35 | --disable-aa \ | ||
36 | --disable-sdl \ | ||
37 | --enable-read-dirs \ | ||
38 | --enable-recursive-dirs \ | ||
39 | --enable-custom-status-bar \ | ||
40 | " | ||
41 | |||
42 | # Note: imlib2 is located in meta-efl layer. | ||
43 | PACKAGECONFIG ?= "jpeg rl hf" | ||
44 | PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng" | ||
45 | PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg" | ||
46 | PACKAGECONFIG[tiff] = "--enable-tiff,--disable-tiff,tiff" | ||
47 | PACKAGECONFIG[gif] = "--enable-gif,--disable-gif,giflib" | ||
48 | PACKAGECONFIG[pdf] = "--enable-poppler,--disable-poppler,poppler" | ||
49 | PACKAGECONFIG[magick] = "--enable-graphicsmagick,--disable-graphicsmagick,imagemagick" | ||
50 | PACKAGECONFIG[imlib2] = "--enable-imlib2,--disable-imlib2,imlib2" | ||
51 | PACKAGECONFIG[rl] = "--enable-readline,--disable-readline,readline" | ||
52 | PACKAGECONFIG[hf] = "--enable-hardcoded-font,--disable-hardcoded-font" | ||
diff --git a/meta-oe/recipes-graphics/libsexy/libsexy.inc b/meta-oe/recipes-graphics/libsexy/libsexy.inc deleted file mode 100644 index 5a11ca06a..000000000 --- a/meta-oe/recipes-graphics/libsexy/libsexy.inc +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | DESCRIPTION = "Libsexy is a collection of GTK+ widgets that extend the functionality of such standard widgets as GtkEntry and GtkLabel" | ||
2 | HOMEPAGE = "http://wiki.chipx86.com/wiki/Libsexy" | ||
3 | AUTHOR = "Christian Hammond <chipx86@chipx86.com>" | ||
4 | SECTION = "x11/libs" | ||
5 | |||
6 | LICENSE = "LGPLv2.1" | ||
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" | ||
8 | |||
9 | DEPENDS = "gtk+ enchant libxml2" | ||
10 | |||
11 | SRC_URI = "http://releases.chipx86.com/libsexy/${BPN}/${BP}.tar.gz \ | ||
12 | file://libsexy-pkgconfig-fixes.patch" | ||
13 | |||
14 | inherit autotools pkgconfig | ||
15 | |||
diff --git a/meta-oe/recipes-graphics/libsexy/libsexy/libsexy-pkgconfig-fixes.patch b/meta-oe/recipes-graphics/libsexy/libsexy/libsexy-pkgconfig-fixes.patch deleted file mode 100644 index 61da9474d..000000000 --- a/meta-oe/recipes-graphics/libsexy/libsexy/libsexy-pkgconfig-fixes.patch +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | Index: libsexy-0.1.11/libsexy.pc.in | ||
2 | =================================================================== | ||
3 | --- libsexy-0.1.11.orig/libsexy.pc.in 2005-11-10 10:21:18.000000000 +0000 | ||
4 | +++ libsexy-0.1.11/libsexy.pc.in 2008-03-05 14:36:39.000000000 +0000 | ||
5 | @@ -6,7 +6,8 @@ | ||
6 | Name: libsexy | ||
7 | Description: Doing naughty things to good widgets | ||
8 | Version: @VERSION@ | ||
9 | -Libs: -L${libdir} -lsexy @PACKAGE_LIBS@ | ||
10 | -Cflags: -I${includedir} @PACKAGE_CFLAGS@ | ||
11 | |||
12 | +Requires: pango glib-2.0 gtk+-2.0 libxml-2.0 | ||
13 | +Libs: -L${libdir} -lsexy | ||
14 | +Cflags: -I${includedir} | ||
15 | |||
diff --git a/meta-oe/recipes-graphics/libsexy/libsexy_0.1.11.bb b/meta-oe/recipes-graphics/libsexy/libsexy_0.1.11.bb deleted file mode 100644 index 2ba1ebbb7..000000000 --- a/meta-oe/recipes-graphics/libsexy/libsexy_0.1.11.bb +++ /dev/null | |||
@@ -1,8 +0,0 @@ | |||
1 | require libsexy.inc | ||
2 | |||
3 | PR = "r2" | ||
4 | |||
5 | SRC_URI[md5sum] = "33c079a253270ec8bfb9508e4bb30754" | ||
6 | SRC_URI[sha256sum] = "8c4101a8cda5fccbba85ba1a15f46f2cf75deaa8b3c525ce5b135b9e1a8fe49e" | ||
7 | |||
8 | PNBLACKLIST[libsexy] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130607/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-graphics/libvncserver/libvncserver/0002-format_string.patch b/meta-oe/recipes-graphics/libvncserver/libvncserver/0002-format_string.patch deleted file mode 100644 index 566a2087c..000000000 --- a/meta-oe/recipes-graphics/libvncserver/libvncserver/0002-format_string.patch +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | From: Luca Falavigna <dktrkranz@debian.org> | ||
2 | Date: Tue, 27 Jan 2015 01:26:04 +0000 | ||
3 | Subject: format_string | ||
4 | |||
5 | --- | ||
6 | client_examples/gtkvncviewer.c | 2 +- | ||
7 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
8 | |||
9 | diff --git a/client_examples/gtkvncviewer.c b/client_examples/gtkvncviewer.c | ||
10 | index 261b2da..861e4e3 100644 | ||
11 | --- a/client_examples/gtkvncviewer.c | ||
12 | +++ b/client_examples/gtkvncviewer.c | ||
13 | @@ -588,7 +588,7 @@ static void GtkDefaultLog (const char *format, ...) | ||
14 | |||
15 | time (&log_clock); | ||
16 | strftime (buf, 255, "%d/%m/%Y %X ", localtime (&log_clock)); | ||
17 | - fprintf (stdout, buf); | ||
18 | + fprintf (stdout, "%s", buf); | ||
19 | |||
20 | vfprintf (stdout, format, args); | ||
21 | fflush (stdout); | ||
diff --git a/meta-oe/recipes-graphics/slim/slim/0002-Fix-image-handling-integer-overflows.patch b/meta-oe/recipes-graphics/slim/slim/0002-Fix-image-handling-integer-overflows.patch deleted file mode 100644 index de82d6303..000000000 --- a/meta-oe/recipes-graphics/slim/slim/0002-Fix-image-handling-integer-overflows.patch +++ /dev/null | |||
@@ -1,343 +0,0 @@ | |||
1 | From 24e548a222f0aab4313d5ba8b04f0840b173000f Mon Sep 17 00:00:00 2001 | ||
2 | From: iwamatsu <iwamatsu@7c53e7cc-98ea-0310-8f1f-a0b24da60408> | ||
3 | Date: Mon, 30 Aug 2010 01:24:54 +0000 | ||
4 | Subject: [PATCH 2/8] Fix image handling integer overflows | ||
5 | |||
6 | Image loading memory allocation is based on the image width and height: | ||
7 | malloc(heigth * width * 3). Providing an image with large height and | ||
8 | width values can cause the result of this calculation to exceed the | ||
9 | maximum value of an unsigned int and thus causes an integer overflow. | ||
10 | The result: too little memory is allocated and an heap overflow occurs. | ||
11 | |||
12 | This patch was based by Niels Heinen <niels@freebsd.org> | ||
13 | Thanks! | ||
14 | |||
15 | Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> | ||
16 | |||
17 | git-svn-id: svn://svn.berlios.de/slim/trunk@176 7c53e7cc-98ea-0310-8f1f-a0b24da60408 | ||
18 | --- | ||
19 | const.h | 3 ++ | ||
20 | jpeg.c | 51 +++++++++++++++----------- | ||
21 | png.c | 122 ++++++++++++++++++++++++++++++++------------------------------ | ||
22 | 3 files changed, 96 insertions(+), 80 deletions(-) | ||
23 | |||
24 | diff --git a/const.h b/const.h | ||
25 | index df0989c..a18c6f3 100644 | ||
26 | --- a/const.h | ||
27 | +++ b/const.h | ||
28 | @@ -42,4 +42,7 @@ | ||
29 | // variables replaced in pre-session_cmd and post-session_cmd | ||
30 | #define USER_VAR "%user" | ||
31 | |||
32 | +// max height/width for images | ||
33 | +#define MAX_DIMENSION 10000 | ||
34 | + | ||
35 | #endif | ||
36 | diff --git a/jpeg.c b/jpeg.c | ||
37 | index 1cf106c..e1f8352 100644 | ||
38 | --- a/jpeg.c | ||
39 | +++ b/jpeg.c | ||
40 | @@ -22,16 +22,22 @@ | ||
41 | #include <string.h> | ||
42 | |||
43 | #include <jpeglib.h> | ||
44 | +#include "const.h" | ||
45 | |||
46 | int | ||
47 | read_jpeg(const char *filename, int *width, int *height, unsigned char **rgb) | ||
48 | { | ||
49 | + int ret = 0; | ||
50 | struct jpeg_decompress_struct cinfo; | ||
51 | struct jpeg_error_mgr jerr; | ||
52 | unsigned char *ptr = NULL; | ||
53 | unsigned int i, ipos; | ||
54 | |||
55 | FILE *infile = fopen(filename, "rb"); | ||
56 | + if (infile == NULL) { | ||
57 | + fprintf(stderr, "Can not fopen file: %s\n",filename); | ||
58 | + return ret; | ||
59 | + } | ||
60 | |||
61 | cinfo.err = jpeg_std_error(&jerr); | ||
62 | jpeg_create_decompress(&cinfo); | ||
63 | @@ -39,43 +45,39 @@ read_jpeg(const char *filename, int *width, int *height, unsigned char **rgb) | ||
64 | jpeg_read_header(&cinfo, TRUE); | ||
65 | jpeg_start_decompress(&cinfo); | ||
66 | |||
67 | + /* Prevent against integer overflow */ | ||
68 | + if(cinfo.output_width >= MAX_DIMENSION || cinfo.output_height >= MAX_DIMENSION) { | ||
69 | + fprintf(stderr, "Unreasonable dimension found in file: %s\n",filename); | ||
70 | + goto close_file; | ||
71 | + } | ||
72 | + | ||
73 | *width = cinfo.output_width; | ||
74 | *height = cinfo.output_height; | ||
75 | |||
76 | rgb[0] = malloc(3 * cinfo.output_width * cinfo.output_height); | ||
77 | - if (rgb[0] == NULL) | ||
78 | - { | ||
79 | + if (rgb[0] == NULL) { | ||
80 | fprintf(stderr, "Can't allocate memory for JPEG file.\n"); | ||
81 | - fclose(infile); | ||
82 | - return(0); | ||
83 | + goto close_file; | ||
84 | } | ||
85 | |||
86 | - if (cinfo.output_components == 3) | ||
87 | - { | ||
88 | + if (cinfo.output_components == 3) { | ||
89 | ptr = rgb[0]; | ||
90 | - while (cinfo.output_scanline < cinfo.output_height) | ||
91 | - { | ||
92 | + while (cinfo.output_scanline < cinfo.output_height) { | ||
93 | jpeg_read_scanlines(&cinfo, &ptr, 1); | ||
94 | ptr += 3 * cinfo.output_width; | ||
95 | } | ||
96 | - } | ||
97 | - else if (cinfo.output_components == 1) | ||
98 | - { | ||
99 | + } else if (cinfo.output_components == 1) { | ||
100 | ptr = malloc(cinfo.output_width); | ||
101 | - if (ptr == NULL) | ||
102 | - { | ||
103 | + if (ptr == NULL) { | ||
104 | fprintf(stderr, "Can't allocate memory for JPEG file.\n"); | ||
105 | - fclose(infile); | ||
106 | - return(0); | ||
107 | + goto rgb_free; | ||
108 | } | ||
109 | |||
110 | ipos = 0; | ||
111 | - while (cinfo.output_scanline < cinfo.output_height) | ||
112 | - { | ||
113 | + while (cinfo.output_scanline < cinfo.output_height) { | ||
114 | jpeg_read_scanlines(&cinfo, &ptr, 1); | ||
115 | |||
116 | - for (i = 0; i < cinfo.output_width; i++) | ||
117 | - { | ||
118 | + for (i = 0; i < cinfo.output_width; i++) { | ||
119 | memset(rgb[0] + ipos, ptr[i], 3); | ||
120 | ipos += 3; | ||
121 | } | ||
122 | @@ -85,9 +87,16 @@ read_jpeg(const char *filename, int *width, int *height, unsigned char **rgb) | ||
123 | } | ||
124 | |||
125 | jpeg_finish_decompress(&cinfo); | ||
126 | - jpeg_destroy_decompress(&cinfo); | ||
127 | |||
128 | + ret = 1; | ||
129 | + goto close_file; | ||
130 | + | ||
131 | +rgb_free: | ||
132 | + free(rgb[0]); | ||
133 | + | ||
134 | +close_file: | ||
135 | + jpeg_destroy_decompress(&cinfo); | ||
136 | fclose(infile); | ||
137 | |||
138 | - return(1); | ||
139 | + return(ret); | ||
140 | } | ||
141 | diff --git a/png.c b/png.c | ||
142 | index a2661c6..5c086c6 100644 | ||
143 | --- a/png.c | ||
144 | +++ b/png.c | ||
145 | @@ -22,12 +22,13 @@ | ||
146 | #include <stdlib.h> | ||
147 | |||
148 | #include <png.h> | ||
149 | +#include "const.h" | ||
150 | |||
151 | int | ||
152 | read_png(const char *filename, int *width, int *height, unsigned char **rgb, | ||
153 | unsigned char **alpha) | ||
154 | { | ||
155 | - FILE *infile = fopen(filename, "rb"); | ||
156 | + int ret = 0; | ||
157 | |||
158 | png_structp png_ptr; | ||
159 | png_infop info_ptr; | ||
160 | @@ -38,31 +39,27 @@ read_png(const char *filename, int *width, int *height, unsigned char **rgb, | ||
161 | int bit_depth, color_type, interlace_type; | ||
162 | int i; | ||
163 | |||
164 | + FILE *infile = fopen(filename, "rb"); | ||
165 | + if (infile == NULL) { | ||
166 | + fprintf(stderr, "Can not fopen file: %s\n",filename); | ||
167 | + return ret; | ||
168 | + } | ||
169 | + | ||
170 | png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, | ||
171 | (png_voidp) NULL, | ||
172 | (png_error_ptr) NULL, | ||
173 | (png_error_ptr) NULL); | ||
174 | - if (!png_ptr) | ||
175 | - { | ||
176 | - fclose(infile); | ||
177 | - return(0); | ||
178 | - } | ||
179 | + if (!png_ptr) | ||
180 | + goto file_close; | ||
181 | |||
182 | info_ptr = png_create_info_struct(png_ptr); | ||
183 | - if (!info_ptr) | ||
184 | - { | ||
185 | + if (!info_ptr) { | ||
186 | png_destroy_read_struct(&png_ptr, (png_infopp) NULL, | ||
187 | (png_infopp) NULL); | ||
188 | - fclose(infile); | ||
189 | - return(0); | ||
190 | } | ||
191 | |||
192 | if (setjmp(png_ptr->jmpbuf)) | ||
193 | - { | ||
194 | - png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp) NULL); | ||
195 | - fclose(infile); | ||
196 | - return(0); | ||
197 | - } | ||
198 | + goto png_destroy; | ||
199 | |||
200 | png_init_io(png_ptr, infile); | ||
201 | png_read_info(png_ptr, info_ptr); | ||
202 | @@ -70,18 +67,23 @@ read_png(const char *filename, int *width, int *height, unsigned char **rgb, | ||
203 | png_get_IHDR(png_ptr, info_ptr, &w, &h, &bit_depth, &color_type, | ||
204 | &interlace_type, (int *) NULL, (int *) NULL); | ||
205 | |||
206 | + /* Prevent against integer overflow */ | ||
207 | + if(w >= MAX_DIMENSION || h >= MAX_DIMENSION) { | ||
208 | + fprintf(stderr, "Unreasonable dimension found in file: %s\n",filename); | ||
209 | + goto png_destroy; | ||
210 | + } | ||
211 | + | ||
212 | *width = (int) w; | ||
213 | *height = (int) h; | ||
214 | |||
215 | if (color_type == PNG_COLOR_TYPE_RGB_ALPHA | ||
216 | - || color_type == PNG_COLOR_TYPE_GRAY_ALPHA) | ||
217 | - { | ||
218 | - alpha[0] = malloc(*width * *height); | ||
219 | - if (alpha[0] == NULL) | ||
220 | - { | ||
221 | - fprintf(stderr, "Can't allocate memory for alpha channel in PNG file.\n"); | ||
222 | - return(0); | ||
223 | - } | ||
224 | + || color_type == PNG_COLOR_TYPE_GRAY_ALPHA) { | ||
225 | + alpha[0] = malloc(*width * *height); | ||
226 | + if (alpha[0] == NULL) | ||
227 | + { | ||
228 | + fprintf(stderr, "Can't allocate memory for alpha channel in PNG file.\n"); | ||
229 | + goto png_destroy; | ||
230 | + } | ||
231 | } | ||
232 | |||
233 | /* Change a paletted/grayscale image to RGB */ | ||
234 | @@ -94,68 +96,70 @@ read_png(const char *filename, int *width, int *height, unsigned char **rgb, | ||
235 | png_set_gray_to_rgb(png_ptr); | ||
236 | |||
237 | /* If the PNG file has 16 bits per channel, strip them down to 8 */ | ||
238 | - if (bit_depth == 16) png_set_strip_16(png_ptr); | ||
239 | + if (bit_depth == 16) | ||
240 | + png_set_strip_16(png_ptr); | ||
241 | |||
242 | /* use 1 byte per pixel */ | ||
243 | png_set_packing(png_ptr); | ||
244 | |||
245 | row_pointers = malloc(*height * sizeof(png_bytep)); | ||
246 | - if (row_pointers == NULL) | ||
247 | - { | ||
248 | + if (row_pointers == NULL) { | ||
249 | fprintf(stderr, "Can't allocate memory for PNG file.\n"); | ||
250 | - return(0); | ||
251 | + goto png_destroy; | ||
252 | } | ||
253 | |||
254 | - for (i = 0; i < *height; i++) | ||
255 | - { | ||
256 | + for (i = 0; i < *height; i++) { | ||
257 | row_pointers[i] = malloc(4 * *width); | ||
258 | - if (row_pointers == NULL) | ||
259 | - { | ||
260 | + if (row_pointers == NULL) { | ||
261 | fprintf(stderr, "Can't allocate memory for PNG line.\n"); | ||
262 | - return(0); | ||
263 | + goto rows_free; | ||
264 | } | ||
265 | } | ||
266 | |||
267 | png_read_image(png_ptr, row_pointers); | ||
268 | |||
269 | rgb[0] = malloc(3 * *width * *height); | ||
270 | - if (rgb[0] == NULL) | ||
271 | - { | ||
272 | + if (rgb[0] == NULL) { | ||
273 | fprintf(stderr, "Can't allocate memory for PNG file.\n"); | ||
274 | - return(0); | ||
275 | + goto rows_free; | ||
276 | } | ||
277 | |||
278 | if (alpha[0] == NULL) | ||
279 | { | ||
280 | - ptr = rgb[0]; | ||
281 | - for (i = 0; i < *height; i++) | ||
282 | - { | ||
283 | - memcpy(ptr, row_pointers[i], 3 * *width); | ||
284 | - ptr += 3 * *width; | ||
285 | - } | ||
286 | - } | ||
287 | - else | ||
288 | - { | ||
289 | - int j; | ||
290 | - ptr = rgb[0]; | ||
291 | - for (i = 0; i < *height; i++) | ||
292 | - { | ||
293 | - int ipos = 0; | ||
294 | - for (j = 0; j < *width; j++) | ||
295 | - { | ||
296 | - *ptr++ = row_pointers[i][ipos++]; | ||
297 | - *ptr++ = row_pointers[i][ipos++]; | ||
298 | - *ptr++ = row_pointers[i][ipos++]; | ||
299 | - alpha[0][i * *width + j] = row_pointers[i][ipos++]; | ||
300 | + ptr = rgb[0]; | ||
301 | + for (i = 0; i < *height; i++) { | ||
302 | + memcpy(ptr, row_pointers[i], 3 * *width); | ||
303 | + ptr += 3 * *width; | ||
304 | + } | ||
305 | + } else { | ||
306 | + int j; | ||
307 | + ptr = rgb[0]; | ||
308 | + for (i = 0; i < *height; i++) { | ||
309 | + int ipos = 0; | ||
310 | + for (j = 0; j < *width; j++) { | ||
311 | + *ptr++ = row_pointers[i][ipos++]; | ||
312 | + *ptr++ = row_pointers[i][ipos++]; | ||
313 | + *ptr++ = row_pointers[i][ipos++]; | ||
314 | + alpha[0][i * *width + j] = row_pointers[i][ipos++]; | ||
315 | + } | ||
316 | } | ||
317 | - } | ||
318 | } | ||
319 | |||
320 | - png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp) NULL); | ||
321 | + ret = 1; /* data reading is OK */ | ||
322 | + | ||
323 | +rows_free: | ||
324 | + for (i = 0; i < *height; i++) { | ||
325 | + if (row_pointers[i] != NULL ) { | ||
326 | + free(row_pointers[i]); | ||
327 | + } | ||
328 | + } | ||
329 | |||
330 | - for (i = 0; i < *height; i++) free(row_pointers[i]); | ||
331 | free(row_pointers); | ||
332 | |||
333 | +png_destroy: | ||
334 | + png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp) NULL); | ||
335 | + | ||
336 | +file_close: | ||
337 | fclose(infile); | ||
338 | - return(1); | ||
339 | + return(ret); | ||
340 | } | ||
341 | -- | ||
342 | 1.6.6.1 | ||
343 | |||
diff --git a/meta-oe/recipes-graphics/slim/slim/0003-Fix-build-failure-with-ld-as-needed.patch b/meta-oe/recipes-graphics/slim/slim/0003-Fix-build-failure-with-ld-as-needed.patch deleted file mode 100644 index 471c4f51e..000000000 --- a/meta-oe/recipes-graphics/slim/slim/0003-Fix-build-failure-with-ld-as-needed.patch +++ /dev/null | |||
@@ -1,37 +0,0 @@ | |||
1 | From 6aad913ddd5cdb473db9fa21a5e8ecec58de172b Mon Sep 17 00:00:00 2001 | ||
2 | From: iwamatsu <iwamatsu@7c53e7cc-98ea-0310-8f1f-a0b24da60408> | ||
3 | Date: Wed, 12 Jan 2011 04:41:02 +0000 | ||
4 | Subject: [PATCH 3/8] Fix build failure with ld --as-needed. | ||
5 | |||
6 | Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> | ||
7 | |||
8 | git-svn-id: svn://svn.berlios.de/slim/trunk@177 7c53e7cc-98ea-0310-8f1f-a0b24da60408 | ||
9 | --- | ||
10 | Makefile | 4 ++-- | ||
11 | 1 files changed, 2 insertions(+), 2 deletions(-) | ||
12 | |||
13 | diff --git a/Makefile b/Makefile | ||
14 | index 1219de4..fafa0ef 100644 | ||
15 | --- a/Makefile | ||
16 | +++ b/Makefile | ||
17 | @@ -4,7 +4,7 @@ | ||
18 | # to fit into your operating system / distribution | ||
19 | ####################################################### | ||
20 | CXX=/usr/bin/g++ | ||
21 | -CC=/usr/bin/gcc | ||
22 | +CC=/usr/bin/gcc-4.5 | ||
23 | CFLAGS=-Wall -I. -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/include/libpng12 -I/usr/include | ||
24 | CXXFLAGS=$(CFLAGS) | ||
25 | LDFLAGS=-lXft -lX11 -lfreetype -lXrender -lfontconfig -lpng12 -lz -lm -lcrypt -lXmu -lpng -ljpeg -lrt | ||
26 | @@ -33,7 +33,7 @@ endif | ||
27 | all: slim | ||
28 | |||
29 | slim: $(OBJECTS) | ||
30 | - $(CXX) $(LDFLAGS) $(OBJECTS) -o $(NAME) | ||
31 | + $(CXX) $(OBJECTS) $(LDFLAGS) -o $(NAME) | ||
32 | |||
33 | .cpp.o: | ||
34 | $(CXX) $(CXXFLAGS) $(DEFINES) $(CUSTOM) -c $< -o $@ | ||
35 | -- | ||
36 | 1.6.6.1 | ||
37 | |||
diff --git a/meta-oe/recipes-graphics/slim/slim/0004-Add-support-libpng15.patch b/meta-oe/recipes-graphics/slim/slim/0004-Add-support-libpng15.patch deleted file mode 100644 index f2087c010..000000000 --- a/meta-oe/recipes-graphics/slim/slim/0004-Add-support-libpng15.patch +++ /dev/null | |||
@@ -1,50 +0,0 @@ | |||
1 | From c2067e8c16bfb721d339718ae0c99c70a994936b Mon Sep 17 00:00:00 2001 | ||
2 | From: iwamatsu <iwamatsu@7c53e7cc-98ea-0310-8f1f-a0b24da60408> | ||
3 | Date: Fri, 17 Jun 2011 20:35:07 +0000 | ||
4 | Subject: [PATCH 4/8] Add support libpng15 | ||
5 | |||
6 | Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> | ||
7 | |||
8 | git-svn-id: svn://svn.berlios.de/slim/trunk@178 7c53e7cc-98ea-0310-8f1f-a0b24da60408 | ||
9 | --- | ||
10 | Makefile | 4 ++-- | ||
11 | png.c | 6 +++++- | ||
12 | 2 files changed, 7 insertions(+), 3 deletions(-) | ||
13 | |||
14 | diff --git a/Makefile b/Makefile | ||
15 | index fafa0ef..1202614 100644 | ||
16 | --- a/Makefile | ||
17 | +++ b/Makefile | ||
18 | @@ -5,9 +5,9 @@ | ||
19 | ####################################################### | ||
20 | CXX=/usr/bin/g++ | ||
21 | CC=/usr/bin/gcc-4.5 | ||
22 | -CFLAGS=-Wall -I. -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/include/libpng12 -I/usr/include | ||
23 | +CFLAGS=-Wall -I. -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/include | ||
24 | CXXFLAGS=$(CFLAGS) | ||
25 | -LDFLAGS=-lXft -lX11 -lfreetype -lXrender -lfontconfig -lpng12 -lz -lm -lcrypt -lXmu -lpng -ljpeg -lrt | ||
26 | +LDFLAGS=-lXft -lX11 -lfreetype -lXrender -lfontconfig -lpng -lz -lm -lcrypt -lXmu -lpng -ljpeg -lrt | ||
27 | CUSTOM=-DHAVE_SHADOW | ||
28 | ifdef USE_PAM | ||
29 | LDFLAGS+= -lpam | ||
30 | diff --git a/png.c b/png.c | ||
31 | index 5c086c6..aa0f5e5 100644 | ||
32 | --- a/png.c | ||
33 | +++ b/png.c | ||
34 | @@ -57,8 +57,12 @@ read_png(const char *filename, int *width, int *height, unsigned char **rgb, | ||
35 | png_destroy_read_struct(&png_ptr, (png_infopp) NULL, | ||
36 | (png_infopp) NULL); | ||
37 | } | ||
38 | - | ||
39 | + | ||
40 | +#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4 | ||
41 | + if (setjmp(png_jmpbuf((data->png_ptr)))) | ||
42 | +#else | ||
43 | if (setjmp(png_ptr->jmpbuf)) | ||
44 | +#endif | ||
45 | goto png_destroy; | ||
46 | |||
47 | png_init_io(png_ptr, infile); | ||
48 | -- | ||
49 | 1.6.6.1 | ||
50 | |||
diff --git a/meta-oe/recipes-graphics/slim/slim/0005-Remove-path-of-gcc-amd-g-and-version-of-g.patch b/meta-oe/recipes-graphics/slim/slim/0005-Remove-path-of-gcc-amd-g-and-version-of-g.patch deleted file mode 100644 index 566ae355e..000000000 --- a/meta-oe/recipes-graphics/slim/slim/0005-Remove-path-of-gcc-amd-g-and-version-of-g.patch +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | From 4f69eb1aa85fbb395a0474b1f376505fab81ee22 Mon Sep 17 00:00:00 2001 | ||
2 | From: iwamatsu <iwamatsu@7c53e7cc-98ea-0310-8f1f-a0b24da60408> | ||
3 | Date: Fri, 17 Jun 2011 20:35:10 +0000 | ||
4 | Subject: [PATCH 5/8] Remove path of gcc amd g++, and version of g++ | ||
5 | |||
6 | Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> | ||
7 | |||
8 | git-svn-id: svn://svn.berlios.de/slim/trunk@179 7c53e7cc-98ea-0310-8f1f-a0b24da60408 | ||
9 | --- | ||
10 | Makefile | 4 ++-- | ||
11 | 1 files changed, 2 insertions(+), 2 deletions(-) | ||
12 | |||
13 | diff --git a/Makefile b/Makefile | ||
14 | index 1202614..5c5fde1 100644 | ||
15 | --- a/Makefile | ||
16 | +++ b/Makefile | ||
17 | @@ -3,8 +3,8 @@ | ||
18 | # Edit the following section to adjust the options | ||
19 | # to fit into your operating system / distribution | ||
20 | ####################################################### | ||
21 | -CXX=/usr/bin/g++ | ||
22 | -CC=/usr/bin/gcc-4.5 | ||
23 | +CXX=g++ | ||
24 | +CC=gcc | ||
25 | CFLAGS=-Wall -I. -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/include | ||
26 | CXXFLAGS=$(CFLAGS) | ||
27 | LDFLAGS=-lXft -lX11 -lfreetype -lXrender -lfontconfig -lpng -lz -lm -lcrypt -lXmu -lpng -ljpeg -lrt | ||
28 | -- | ||
29 | 1.6.6.1 | ||
30 | |||
diff --git a/meta-oe/recipes-graphics/slim/slim/0006-Remove-localhost-from-Authenticator-of-pam.patch b/meta-oe/recipes-graphics/slim/slim/0006-Remove-localhost-from-Authenticator-of-pam.patch deleted file mode 100644 index a5b812584..000000000 --- a/meta-oe/recipes-graphics/slim/slim/0006-Remove-localhost-from-Authenticator-of-pam.patch +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | From e188d5fd3e3c0e40c3e35729fd8b81b138191a75 Mon Sep 17 00:00:00 2001 | ||
2 | From: iwamatsu <iwamatsu@7c53e7cc-98ea-0310-8f1f-a0b24da60408> | ||
3 | Date: Fri, 17 Jun 2011 20:35:13 +0000 | ||
4 | Subject: [PATCH 6/8] Remove localhost from Authenticator of pam | ||
5 | |||
6 | http://bugs.gentoo.org/346037 | ||
7 | https://developer.berlios.de/bugs/?func=detailbug&bug_id=17757&group_id=2663 | ||
8 | http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-misc/slim/files/346037-stop_setting_host_for_pam_ck_connector_so.patch?view=log | ||
9 | |||
10 | Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> | ||
11 | |||
12 | git-svn-id: svn://svn.berlios.de/slim/trunk@180 7c53e7cc-98ea-0310-8f1f-a0b24da60408 | ||
13 | --- | ||
14 | app.cpp | 2 -- | ||
15 | 1 files changed, 0 insertions(+), 2 deletions(-) | ||
16 | |||
17 | diff --git a/app.cpp b/app.cpp | ||
18 | index c80a73e..7177363 100644 | ||
19 | --- a/app.cpp | ||
20 | +++ b/app.cpp | ||
21 | @@ -236,8 +236,6 @@ void App::Run() { | ||
22 | pam.start("slim"); | ||
23 | pam.set_item(PAM::Authenticator::TTY, DisplayName); | ||
24 | pam.set_item(PAM::Authenticator::Requestor, "root"); | ||
25 | - pam.set_item(PAM::Authenticator::Host, "localhost"); | ||
26 | - | ||
27 | } | ||
28 | catch(PAM::Exception& e){ | ||
29 | cerr << APPNAME << ": " << e << endl; | ||
30 | -- | ||
31 | 1.6.6.1 | ||
32 | |||
diff --git a/meta-oe/recipes-graphics/slim/slim/0007-Fix-tty-slowness.patch b/meta-oe/recipes-graphics/slim/slim/0007-Fix-tty-slowness.patch deleted file mode 100644 index fa2502bf0..000000000 --- a/meta-oe/recipes-graphics/slim/slim/0007-Fix-tty-slowness.patch +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | From da172fd6234b3b2b487ab36d63da72758829cb1d Mon Sep 17 00:00:00 2001 | ||
2 | From: iwamatsu <iwamatsu@7c53e7cc-98ea-0310-8f1f-a0b24da60408> | ||
3 | Date: Fri, 17 Jun 2011 20:35:15 +0000 | ||
4 | Subject: [PATCH 7/8] Fix tty slowness | ||
5 | |||
6 | Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> | ||
7 | |||
8 | git-svn-id: svn://svn.berlios.de/slim/trunk@181 7c53e7cc-98ea-0310-8f1f-a0b24da60408 | ||
9 | --- | ||
10 | app.cpp | 10 ++++++---- | ||
11 | 1 files changed, 6 insertions(+), 4 deletions(-) | ||
12 | |||
13 | diff --git a/app.cpp b/app.cpp | ||
14 | index 7177363..44ab099 100644 | ||
15 | --- a/app.cpp | ||
16 | +++ b/app.cpp | ||
17 | @@ -278,21 +278,23 @@ void App::Run() { | ||
18 | signal(SIGALRM, AlarmSignal); | ||
19 | |||
20 | #ifndef XNEST_DEBUG | ||
21 | - OpenLog(); | ||
22 | - | ||
23 | if (!force_nodaemon && cfg->getOption("daemon") == "yes") { | ||
24 | daemonmode = true; | ||
25 | } | ||
26 | |||
27 | // Daemonize | ||
28 | if (daemonmode) { | ||
29 | - if (daemon(0, 1) == -1) { | ||
30 | + if (daemon(0, 0) == -1) { | ||
31 | cerr << APPNAME << ": " << strerror(errno) << endl; | ||
32 | exit(ERR_EXIT); | ||
33 | } | ||
34 | - UpdatePid(); | ||
35 | } | ||
36 | |||
37 | + OpenLog(); | ||
38 | + | ||
39 | + if (daemonmode) | ||
40 | + UpdatePid(); | ||
41 | + | ||
42 | CreateServerAuth(); | ||
43 | StartServer(); | ||
44 | alarm(2); | ||
45 | -- | ||
46 | 1.6.6.1 | ||
47 | |||
diff --git a/meta-oe/recipes-graphics/slim/slim/0008-restart-Xserver-if-killed.patch b/meta-oe/recipes-graphics/slim/slim/0008-restart-Xserver-if-killed.patch deleted file mode 100644 index 0c5cfb742..000000000 --- a/meta-oe/recipes-graphics/slim/slim/0008-restart-Xserver-if-killed.patch +++ /dev/null | |||
@@ -1,161 +0,0 @@ | |||
1 | From ee77a3d154443d2823ecbf2141daa1b5924f629f Mon Sep 17 00:00:00 2001 | ||
2 | From: iwamatsu <iwamatsu@7c53e7cc-98ea-0310-8f1f-a0b24da60408> | ||
3 | Date: Fri, 17 Jun 2011 20:38:34 +0000 | ||
4 | Subject: [PATCH 8/8] restart Xserver if killed | ||
5 | |||
6 | Patch from http://developer.berlios.de/patch/?func=detailpatch&patch_id=2378&group_id=2663. | ||
7 | |||
8 | Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> | ||
9 | |||
10 | git-svn-id: svn://svn.berlios.de/slim/trunk@182 7c53e7cc-98ea-0310-8f1f-a0b24da60408 | ||
11 | --- | ||
12 | app.cpp | 36 +++++++++--------------------------- | ||
13 | app.h | 2 +- | ||
14 | 2 files changed, 10 insertions(+), 28 deletions(-) | ||
15 | |||
16 | diff --git a/app.cpp b/app.cpp | ||
17 | index 44ab099..358a98f 100644 | ||
18 | --- a/app.cpp | ||
19 | +++ b/app.cpp | ||
20 | @@ -104,6 +104,11 @@ int conv(int num_msg, const struct pam_message **msg, | ||
21 | |||
22 | extern App* LoginApp; | ||
23 | |||
24 | +int xioerror(Display *disp) { | ||
25 | + LoginApp->RestartServer(); | ||
26 | + return 0; | ||
27 | +} | ||
28 | + | ||
29 | void CatchSignal(int sig) { | ||
30 | cerr << APPNAME << ": unexpected signal " << sig << endl; | ||
31 | |||
32 | @@ -114,19 +119,6 @@ void CatchSignal(int sig) { | ||
33 | exit(ERR_EXIT); | ||
34 | } | ||
35 | |||
36 | - | ||
37 | -void AlarmSignal(int sig) { | ||
38 | - int pid = LoginApp->GetServerPID(); | ||
39 | - if(waitpid(pid, NULL, WNOHANG) == pid) { | ||
40 | - LoginApp->StopServer(); | ||
41 | - LoginApp->RemoveLock(); | ||
42 | - exit(OK_EXIT); | ||
43 | - } | ||
44 | - signal(sig, AlarmSignal); | ||
45 | - alarm(2); | ||
46 | -} | ||
47 | - | ||
48 | - | ||
49 | void User1Signal(int sig) { | ||
50 | signal(sig, User1Signal); | ||
51 | } | ||
52 | @@ -275,7 +267,6 @@ void App::Run() { | ||
53 | signal(SIGHUP, CatchSignal); | ||
54 | signal(SIGPIPE, CatchSignal); | ||
55 | signal(SIGUSR1, User1Signal); | ||
56 | - signal(SIGALRM, AlarmSignal); | ||
57 | |||
58 | #ifndef XNEST_DEBUG | ||
59 | if (!force_nodaemon && cfg->getOption("daemon") == "yes") { | ||
60 | @@ -297,7 +288,6 @@ void App::Run() { | ||
61 | |||
62 | CreateServerAuth(); | ||
63 | StartServer(); | ||
64 | - alarm(2); | ||
65 | #endif | ||
66 | |||
67 | } | ||
68 | @@ -613,6 +603,8 @@ void App::Login() { | ||
69 | int status; | ||
70 | while (wpid != pid) { | ||
71 | wpid = wait(&status); | ||
72 | + if (wpid == ServerPID) | ||
73 | + xioerror(Dpy); // Server died, simulate IO error | ||
74 | } | ||
75 | if (WIFEXITED(status) && WEXITSTATUS(status)) { | ||
76 | LoginPanel->Message("Failed to execute login command"); | ||
77 | @@ -658,9 +650,6 @@ void App::Login() { | ||
78 | |||
79 | |||
80 | void App::Reboot() { | ||
81 | - // Stop alarm clock | ||
82 | - alarm(0); | ||
83 | - | ||
84 | #ifdef USE_PAM | ||
85 | try{ | ||
86 | pam.end(); | ||
87 | @@ -683,9 +672,6 @@ void App::Reboot() { | ||
88 | |||
89 | |||
90 | void App::Halt() { | ||
91 | - // Stop alarm clock | ||
92 | - alarm(0); | ||
93 | - | ||
94 | #ifdef USE_PAM | ||
95 | try{ | ||
96 | pam.end(); | ||
97 | @@ -771,6 +757,7 @@ void App::RestartServer() { | ||
98 | |||
99 | StopServer(); | ||
100 | RemoveLock(); | ||
101 | + while (waitpid(-1, NULL, WNOHANG) > 0); // Collects all dead childrens | ||
102 | Run(); | ||
103 | } | ||
104 | |||
105 | @@ -841,6 +828,7 @@ int App::WaitForServer() { | ||
106 | |||
107 | for(cycles = 0; cycles < ncycles; cycles++) { | ||
108 | if((Dpy = XOpenDisplay(DisplayName))) { | ||
109 | + XSetIOErrorHandler(xioerror); | ||
110 | return 1; | ||
111 | } else { | ||
112 | if(!ServerTimeout(1, (char *) "X server to begin accepting connections")) | ||
113 | @@ -925,9 +913,6 @@ int App::StartServer() { | ||
114 | ServerPID = -1; | ||
115 | break; | ||
116 | } | ||
117 | - alarm(15); | ||
118 | - pause(); | ||
119 | - alarm(0); | ||
120 | |||
121 | // Wait for server to start up | ||
122 | if(WaitForServer() == 0) { | ||
123 | @@ -962,15 +947,12 @@ int IgnoreXIO(Display *d) { | ||
124 | |||
125 | |||
126 | void App::StopServer() { | ||
127 | - // Stop alars clock and ignore signals | ||
128 | - alarm(0); | ||
129 | signal(SIGQUIT, SIG_IGN); | ||
130 | signal(SIGINT, SIG_IGN); | ||
131 | signal(SIGHUP, SIG_IGN); | ||
132 | signal(SIGPIPE, SIG_IGN); | ||
133 | signal(SIGTERM, SIG_DFL); | ||
134 | signal(SIGKILL, SIG_DFL); | ||
135 | - signal(SIGALRM, SIG_DFL); | ||
136 | |||
137 | // Catch X error | ||
138 | XSetIOErrorHandler(IgnoreXIO); | ||
139 | diff --git a/app.h b/app.h | ||
140 | index dd7c281..2db1038 100644 | ||
141 | --- a/app.h | ||
142 | +++ b/app.h | ||
143 | @@ -34,6 +34,7 @@ public: | ||
144 | ~App(); | ||
145 | void Run(); | ||
146 | int GetServerPID(); | ||
147 | + void RestartServer(); | ||
148 | void StopServer(); | ||
149 | |||
150 | bool serverStarted; | ||
151 | @@ -49,7 +50,6 @@ private: | ||
152 | void Console(); | ||
153 | void Exit(); | ||
154 | void KillAllClients(Bool top); | ||
155 | - void RestartServer(); | ||
156 | void ReadConfig(); | ||
157 | void OpenLog(); | ||
158 | void CloseLog(); | ||
159 | -- | ||
160 | 1.6.6.1 | ||
161 | |||
diff --git a/meta-oe/recipes-graphics/slim/slim_1.3.2.bb b/meta-oe/recipes-graphics/slim/slim_1.3.2.bb deleted file mode 100644 index 2fbdcab46..000000000 --- a/meta-oe/recipes-graphics/slim/slim_1.3.2.bb +++ /dev/null | |||
@@ -1,82 +0,0 @@ | |||
1 | DESCRIPTION="Simple Login Manager" | ||
2 | HOMEPAGE="http://slim.berlios.de" | ||
3 | LICENSE = "GPLv2+" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" | ||
5 | |||
6 | PR = "r1" | ||
7 | |||
8 | DEPENDS = "virtual/libx11 libxmu libpng jpeg freetype sessreg ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" | ||
9 | |||
10 | SRC_URI = " \ | ||
11 | http://download.berlios.de/${BPN}/${BP}.tar.gz \ | ||
12 | file://0002-Fix-image-handling-integer-overflows.patch \ | ||
13 | file://0003-Fix-build-failure-with-ld-as-needed.patch \ | ||
14 | file://0004-Add-support-libpng15.patch \ | ||
15 | file://0005-Remove-path-of-gcc-amd-g-and-version-of-g.patch \ | ||
16 | file://0006-Remove-localhost-from-Authenticator-of-pam.patch \ | ||
17 | file://0007-Fix-tty-slowness.patch \ | ||
18 | file://0008-restart-Xserver-if-killed.patch \ | ||
19 | file://slim-dynwm \ | ||
20 | file://update_slim_wmlist \ | ||
21 | file://Makefile.oe \ | ||
22 | file://slim.pamd \ | ||
23 | file://slim.service \ | ||
24 | " | ||
25 | |||
26 | SRC_URI[md5sum] = "ca1ae6120e6f4b4969f2d6cf94f47b42" | ||
27 | SRC_URI[sha256sum] = "f1560125005f253b9b88220598fed7a9575ef405716862c6ca3fcc72dbd482b8" | ||
28 | |||
29 | |||
30 | EXTRA_OEMAKE += " \ | ||
31 | USE_PAM=${@bb.utils.contains('DISTRO_FEATURES', 'pam', '1', '0', d)} \ | ||
32 | PREFIX=${prefix} \ | ||
33 | CFGDIR=${sysconfdir} \ | ||
34 | MANDIR=${mandir} \ | ||
35 | DESTDIR=${D} \ | ||
36 | CFLAGS+=-I${STAGING_INCDIR}/freetype2 \ | ||
37 | CXXFLAGS+=-I${STAGING_INCDIR}/freetype2 \ | ||
38 | " | ||
39 | |||
40 | do_compile_prepend() { | ||
41 | cp -pP ${WORKDIR}/Makefile.oe ${S}/Makefile | ||
42 | } | ||
43 | |||
44 | do_install() { | ||
45 | oe_runmake install | ||
46 | install -d ${D}${bindir} | ||
47 | install -m 0755 ${WORKDIR}/slim-dynwm ${D}${bindir}/ | ||
48 | install -m 0755 ${WORKDIR}/update_slim_wmlist ${D}${bindir}/ | ||
49 | install -d ${D}${sysconfdir}/pam.d/ | ||
50 | install -m 0644 ${WORKDIR}/slim.pamd ${D}${sysconfdir}/pam.d/slim | ||
51 | |||
52 | install -d ${D}${systemd_unitdir}/system/ | ||
53 | install -m 0644 ${WORKDIR}/*.service ${D}${systemd_unitdir}/system/ | ||
54 | |||
55 | echo 'sessionstart_cmd /usr/bin/sessreg -a -l $DISPLAY %user' >> ${D}${sysconfdir}/slim.conf | ||
56 | echo 'sessionstop_cmd /usr/bin/sessreg -d -l $DISPLAY %user' >> ${D}${sysconfdir}/slim.conf | ||
57 | } | ||
58 | |||
59 | |||
60 | RDEPENDS_${PN} = "perl xauth freetype sessreg " | ||
61 | FILES_${PN} += "${systemd_unitdir}/system/" | ||
62 | |||
63 | pkg_postinst_${PN} () { | ||
64 | if test "x$D" != "x"; then | ||
65 | exit 1 | ||
66 | fi | ||
67 | systemctl enable slim.service | ||
68 | |||
69 | # Register SLiM as default DM | ||
70 | mkdir -p ${sysconfdir}/X11/ | ||
71 | echo "${bindir}/slim" > ${sysconfdir}/X11/default-display-manager | ||
72 | } | ||
73 | |||
74 | pkg_postrm_${PN} () { | ||
75 | if test "x$D" != "x"; then | ||
76 | exit 1 | ||
77 | fi | ||
78 | systemctl disable slim.service | ||
79 | sed -i /slim/d $D${sysconfdir}/X11/default-display-manager || true | ||
80 | } | ||
81 | |||
82 | PNBLACKLIST[slim] ?= "does not build with distroless qemuarm as reported in 'State of bitbake world' thread, nobody volunteered to fix them - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-graphics/wayland/wayland-fits_git.bb b/meta-oe/recipes-graphics/wayland/wayland-fits_git.bb deleted file mode 100755 index 2af669770..000000000 --- a/meta-oe/recipes-graphics/wayland/wayland-fits_git.bb +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | SUMMARY = "Wayland-fits, the Wayland Functional Integration Test Suite" | ||
2 | DESCRIPTION = "Wayland-fits is a fully automated functional integration \ | ||
3 | test suite. Its main purpose is to test the functionality and integration of \ | ||
4 | client-side (i.e. toolkit) and server-side (compositor) implementations of \ | ||
5 | the Wayland protocol." | ||
6 | HOMEPAGE = "https://github.com/01org/wayland-fits" | ||
7 | LICENSE = "MIT" | ||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=f8d34cadaf891753c0f00c6cd48f08f5 \ | ||
9 | file://src/extensions/weston/weston-wfits.cpp;endline=21;md5=848c81e55cf3a30a9f6ed75f0dba7a97" | ||
10 | |||
11 | SRC_URI = "git://github.com/01org/wayland-fits.git" | ||
12 | SRCREV = "f108335e374772ae2818a30ae37fe6fcda81980f" | ||
13 | |||
14 | S = "${WORKDIR}/git" | ||
15 | |||
16 | inherit autotools pkgconfig | ||
17 | |||
18 | DEPENDS = "libcheck boost wayland weston" | ||
19 | RDEPENDS_${PN} = "weston" | ||
20 | |||
21 | EXTRA_OECONF += "--enable-shared --disable-static --with-boost-libdir=${STAGING_LIBDIR}" | ||
22 | |||
23 | PACKAGECONFIG ?= "gtk+3" | ||
24 | |||
25 | PACKAGECONFIG[elementary] = "--enable-efl-tests,--disable-efl-tests,elementary" | ||
26 | PACKAGECONFIG[gtk+3] = "--enable-gtk-tests,--disable-gtk-tests,gtk+3" | ||
27 | |||
28 | do_install_append() { | ||
29 | rm -f ${D}/${libdir}/weston/*.la | ||
30 | } | ||
31 | |||
32 | FILES_${PN} += "${bindir}/wfits ${libdir}/weston/*.so" | ||
33 | FILES_${PN}-dbg += "${bindir}/.debug ${libdir}/weston/.debug ${prefix}/src" | ||
34 | |||
35 | PNBLACKLIST[wayland-fits] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130632/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev/fix-it.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev/fix-it.patch deleted file mode 100644 index 771a2a8e1..000000000 --- a/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev/fix-it.patch +++ /dev/null | |||
@@ -1,153 +0,0 @@ | |||
1 | diff --git a/src/multitouch.c b/src/multitouch.c | ||
2 | index c55d742..4a8192d 100644 | ||
3 | --- a/src/multitouch.c | ||
4 | +++ b/src/multitouch.c | ||
5 | @@ -114,7 +114,7 @@ static int init_properties(DeviceIntPtr dev) | ||
6 | return Success; | ||
7 | } | ||
8 | |||
9 | -static int device_init(DeviceIntPtr dev, LocalDevicePtr local) | ||
10 | +static int device_init(DeviceIntPtr dev, InputInfoPtr local) | ||
11 | { | ||
12 | struct mtev_mtouch *mt = local->private; | ||
13 | Atom atom; | ||
14 | @@ -222,7 +222,7 @@ static int device_init(DeviceIntPtr dev, LocalDevicePtr local) | ||
15 | xf86InitValuatorAxisStruct(dev, val, axes_labels[val], | ||
16 | min, | ||
17 | max, | ||
18 | - 1, 0, 1); | ||
19 | + 1, 0, 1,Absolute); | ||
20 | xf86InitValuatorDefaults(dev, val); | ||
21 | } | ||
22 | } | ||
23 | @@ -232,7 +232,7 @@ static int device_init(DeviceIntPtr dev, LocalDevicePtr local) | ||
24 | return Success; | ||
25 | } | ||
26 | |||
27 | -static int device_on(LocalDevicePtr local) | ||
28 | +static int device_on(InputInfoPtr local) | ||
29 | { | ||
30 | struct mtev_mtouch *mt = local->private; | ||
31 | local->fd = xf86OpenSerial(local->options); | ||
32 | @@ -248,7 +248,7 @@ static int device_on(LocalDevicePtr local) | ||
33 | return Success; | ||
34 | } | ||
35 | |||
36 | -static int device_off(LocalDevicePtr local) | ||
37 | +static int device_off(InputInfoPtr local) | ||
38 | { | ||
39 | struct mtev_mtouch *mt = local->private; | ||
40 | xf86RemoveEnabledDevice(local); | ||
41 | @@ -259,12 +259,12 @@ static int device_off(LocalDevicePtr local) | ||
42 | return Success; | ||
43 | } | ||
44 | |||
45 | -static int device_close(LocalDevicePtr local) | ||
46 | +static int device_close(InputInfoPtr local) | ||
47 | { | ||
48 | return Success; | ||
49 | } | ||
50 | |||
51 | -static void process_state(LocalDevicePtr local, | ||
52 | +static void process_state(InputInfoPtr local, | ||
53 | const struct mtev_mtouch *mt) | ||
54 | { | ||
55 | |||
56 | @@ -321,22 +321,22 @@ static void process_state(LocalDevicePtr local, | ||
57 | } | ||
58 | |||
59 | /* Some x-clients assume they get motion events before button down */ | ||
60 | + xf86Msg(X_INFO,"down %d|pdown %d\n", down, pdown); | ||
61 | if (down) | ||
62 | xf86PostMotionEventP(local->dev, TRUE, | ||
63 | 0, down * MT_AXIS_PER_FINGER, valuators); | ||
64 | - | ||
65 | if(down && pdown == 0) | ||
66 | xf86PostButtonEventP(local->dev, TRUE, | ||
67 | 1, 1, | ||
68 | 0, down * MT_AXIS_PER_FINGER, valuators); | ||
69 | - else if (down == 0 && pdown) | ||
70 | - xf86PostButtonEvent(local->dev, TRUE, 1, 0, 0, 0); | ||
71 | - | ||
72 | + else if (down == 0 && pdown){ | ||
73 | + xf86PostButtonEvent(local->dev, TRUE, 1, 1, 0, 0); | ||
74 | + } | ||
75 | pdown = !!down; | ||
76 | } | ||
77 | |||
78 | /* called for each full received packet from the touchpad */ | ||
79 | -static void read_input(LocalDevicePtr local) | ||
80 | +static void read_input(InputInfoPtr local) | ||
81 | { | ||
82 | struct mtev_mtouch *mt = local->private; | ||
83 | while (mtouch_read_synchronized_event(mt, local->fd)) { | ||
84 | @@ -346,7 +346,7 @@ static void read_input(LocalDevicePtr local) | ||
85 | |||
86 | static Bool device_control(DeviceIntPtr dev, int mode) | ||
87 | { | ||
88 | - LocalDevicePtr local = dev->public.devicePrivate; | ||
89 | + InputInfoPtr local = dev->public.devicePrivate; | ||
90 | switch (mode) { | ||
91 | case DEVICE_INIT: | ||
92 | xf86Msg(X_INFO, "device control: init\n"); | ||
93 | @@ -366,39 +366,29 @@ static Bool device_control(DeviceIntPtr dev, int mode) | ||
94 | } | ||
95 | } | ||
96 | |||
97 | -static InputInfoPtr preinit(InputDriverPtr drv, IDevPtr dev, int flags) | ||
98 | +static InputInfoPtr preinit(InputDriverPtr drv, InputInfoPtr pInfo, int flags) | ||
99 | { | ||
100 | struct mtev_mtouch *mt; | ||
101 | - InputInfoPtr local = xf86AllocateInput(drv, 0); | ||
102 | - if (!local) | ||
103 | - goto error; | ||
104 | + int rc; | ||
105 | + | ||
106 | mt = calloc(1, sizeof(struct mtev_mtouch)); | ||
107 | + | ||
108 | if (!mt) | ||
109 | goto error; | ||
110 | |||
111 | - local->name = dev->identifier; | ||
112 | - local->type_name = XI_TOUCHSCREEN; | ||
113 | - local->device_control = device_control; | ||
114 | - local->read_input = read_input; | ||
115 | - local->private = mt; | ||
116 | - local->flags = XI86_POINTER_CAPABLE | | ||
117 | - XI86_SEND_DRAG_EVENTS; | ||
118 | - | ||
119 | - local->conf_idev = dev; | ||
120 | - | ||
121 | - xf86CollectInputOptions(local, NULL, NULL); | ||
122 | - //xf86OptionListReport(local->options); | ||
123 | - xf86ProcessCommonOptions(local, local->options); | ||
124 | + pInfo->private = mt; | ||
125 | + pInfo->type_name = "UNKNOWN"; | ||
126 | + pInfo->device_control = device_control; | ||
127 | + pInfo->read_input = read_input; | ||
128 | |||
129 | + mt->swap_xy = xf86SetBoolOption(pInfo->options, "SwapAxes", FALSE); | ||
130 | + mt->invert_x = xf86SetBoolOption(pInfo->options, "InvertX", FALSE); | ||
131 | + mt->invert_y = xf86SetBoolOption(pInfo->options, "InvertY", FALSE); | ||
132 | |||
133 | - mt->swap_xy = xf86SetBoolOption(local->options, "SwapAxes", FALSE); | ||
134 | - mt->invert_x = xf86SetBoolOption(local->options, "InvertX", FALSE); | ||
135 | - mt->invert_y = xf86SetBoolOption(local->options, "InvertY", FALSE); | ||
136 | - | ||
137 | - local->flags |= XI86_CONFIGURED; | ||
138 | + return Success; | ||
139 | |||
140 | error: | ||
141 | - return local; | ||
142 | + return !Success; | ||
143 | } | ||
144 | |||
145 | static void uninit(InputDriverPtr drv, InputInfoPtr local, int flags) | ||
146 | @@ -415,7 +405,6 @@ static InputDriverRec MTEV = { | ||
147 | .PreInit = preinit, | ||
148 | .UnInit = uninit, | ||
149 | .module = NULL, | ||
150 | - .refCount = 0 | ||
151 | }; | ||
152 | |||
153 | static XF86ModuleVersionInfo VERSION = { | ||
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev_git.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev_git.bb deleted file mode 100644 index 5f2adec1a..000000000 --- a/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev_git.bb +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | require recipes-graphics/xorg-driver/xorg-driver-input.inc | ||
2 | SUMMARY = "X.Org X server -- multitouch input driver" | ||
3 | LICENSE = "GPLv2+" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=8a71d0475d08eee76d8b6d0c6dbec543" | ||
5 | |||
6 | DEPENDS += "pixman" | ||
7 | |||
8 | PNBLACKLIST[xf86-input-mtev] ?= "BROKEN: doesn't build with B!=S (Makefile without ${S} in sed call) - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
9 | |||
10 | SRC_URI = "git://gitorious.org/xorg/xf86-input-mtev.git file://fix-it.patch" | ||
11 | SRCREV = "1eb469166ffc095c5801475f057f911f97a6e641" | ||
12 | S = "${WORKDIR}/git" | ||
13 | PV = "1.0.0+gitr${SRCPV}" | ||
14 | PR = "${INC_PR}.0" | ||
15 | |||
16 | EXTRA_OEMAKE = "'INCLUDE=-I${STAGING_INCDIR}/xorg -I${STAGING_INCDIR}/pixman-1'" | ||
17 | |||
18 | #skip xorg-driver-common.inc AC_CHECK_FILE mangling | ||
19 | do_configure_prepend () { | ||
20 | sed 's#gcc#${CC}#g' -i Makefile | ||
21 | return | ||
22 | } | ||
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode/0001-Add-config.h-include-to-src-lx_memory.c.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode/0001-Add-config.h-include-to-src-lx_memory.c.patch deleted file mode 100644 index fcd2f684b..000000000 --- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode/0001-Add-config.h-include-to-src-lx_memory.c.patch +++ /dev/null | |||
@@ -1,41 +0,0 @@ | |||
1 | From 621d946e56efac2c779b83b1a5c6b645169c4ebd Mon Sep 17 00:00:00 2001 | ||
2 | From: "Brian A. Lloyd" <brian.lloyd@familyhonor.net> | ||
3 | Date: Wed, 1 Oct 2014 12:35:18 +0300 | ||
4 | Subject: [PATCH] Add config.h include to src/lx_memory.c | ||
5 | |||
6 | The src/lx_memory.c file uses the xf86.h header file. This file must have | ||
7 | HAVE_STRNDUP defined before calling it when the building platform has a strndup | ||
8 | function. When using config.h, this file doesn't have that define and so fails | ||
9 | to compile. | ||
10 | |||
11 | The attached patch adds the conditional config.h to this file so it may compile | ||
12 | on the affected platforms. | ||
13 | |||
14 | The patch is trivial and may be included and used under whatever licensing | ||
15 | desired. | ||
16 | |||
17 | Closes: Free Desktop Bug #84541 | ||
18 | |||
19 | Signed-off-by: Brian A. Lloyd <brian.lloyd@familyhonor.net> | ||
20 | Upstream-Status: Backport | ||
21 | --- | ||
22 | src/lx_memory.c | 3 +++ | ||
23 | 1 file changed, 3 insertions(+) | ||
24 | |||
25 | diff --git a/src/lx_memory.c b/src/lx_memory.c | ||
26 | index f26d280..992446f 100644 | ||
27 | --- a/src/lx_memory.c | ||
28 | +++ b/src/lx_memory.c | ||
29 | @@ -22,6 +22,9 @@ | ||
30 | * contributors may be used to endorse or promote products derived from this | ||
31 | * software without specific prior written permission. | ||
32 | */ | ||
33 | +#if HAVE_CONFIG_H | ||
34 | +#include "config.h" | ||
35 | +#endif | ||
36 | |||
37 | #include "xf86.h" | ||
38 | #include "geode.h" | ||
39 | -- | ||
40 | 2.1.1 | ||
41 | |||
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode_2.11.16.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode_2.11.16.bb deleted file mode 100644 index e543413ad..000000000 --- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode_2.11.16.bb +++ /dev/null | |||
@@ -1,16 +0,0 @@ | |||
1 | require recipes-graphics/xorg-driver/xorg-driver-video.inc | ||
2 | LIC_FILES_CHKSUM = "file://COPYING;md5=e7f3e39474aeea5af381a8e103dafc36" | ||
3 | |||
4 | SUMMARY = "X.org server -- Geode GX2/LX display driver" | ||
5 | PR = "${INC_PR}.0" | ||
6 | |||
7 | SRC_URI += "file://0001-Add-config.h-include-to-src-lx_memory.c.patch" | ||
8 | SRC_URI[md5sum] = "35fa387f6a33f6b22a56ce4bda424392" | ||
9 | SRC_URI[sha256sum] = "38fc1f55e29fb7985b90c9021a4b7e5295d42888bd669174f42f3b7f681fc1a7" | ||
10 | |||
11 | COMPATIBLE_HOST = "i.86.*-linux" | ||
12 | |||
13 | RDEPENDS_${PN} += "xserver-xorg-module-exa" | ||
14 | |||
15 | # 2_2.11.16-r21.0/xf86-video-geode-2.11.16/src/gx_driver.c:376:20: error: implicit declaration of function 'xf86MapVidMem' [-Werror=implicit-function-declaration] | ||
16 | PNBLACKLIST[xf86-video-geode] ?= "BROKEN, fails to build - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-fix-build-with-KMS-disabled.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-fix-build-with-KMS-disabled.patch deleted file mode 100644 index 25e83209d..000000000 --- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-fix-build-with-KMS-disabled.patch +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | From f485e878bc8bb0e381a38a30009308c82fa8d672 Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Thu, 16 Aug 2012 08:18:56 +0200 | ||
4 | Subject: [PATCH] fix build with KMS disabled | ||
5 | |||
6 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
7 | --- | ||
8 | src/glamo.h | 3 +++ | ||
9 | 1 files changed, 3 insertions(+), 0 deletions(-) | ||
10 | |||
11 | diff --git a/src/glamo.h b/src/glamo.h | ||
12 | index d4a2f19..5fd5c04 100644 | ||
13 | --- a/src/glamo.h | ||
14 | +++ b/src/glamo.h | ||
15 | @@ -37,8 +37,11 @@ | ||
16 | #include "xf86.h" | ||
17 | #include "exa.h" | ||
18 | #include <linux/fb.h> | ||
19 | + | ||
20 | +#ifdef HAVE_KMS | ||
21 | #include <libdrm/drm.h> | ||
22 | #include <libdrm/glamo_bo.h> | ||
23 | +#endif | ||
24 | |||
25 | #define GLAMO_REG_BASE(c) ((c)->attr.address[0]) | ||
26 | #define GLAMO_REG_SIZE(c) (0x2400) | ||
27 | -- | ||
28 | 1.7.8.6 | ||
29 | |||
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-glamo-driver-remove-references-to-mibstore.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-glamo-driver-remove-references-to-mibstore.patch deleted file mode 100644 index fab0b238f..000000000 --- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-glamo-driver-remove-references-to-mibstore.patch +++ /dev/null | |||
@@ -1,48 +0,0 @@ | |||
1 | From 040ade8bb86a771fa4e71b41d2080254830ca9f3 Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Sat, 16 Mar 2013 17:44:37 +0100 | ||
4 | Subject: [PATCH] glamo*driver: remove references to mibstore | ||
5 | |||
6 | * fix build with xserver-1.14 | ||
7 | |||
8 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
9 | --- | ||
10 | src/glamo-driver.c | 2 -- | ||
11 | src/glamo-kms-driver.c | 1 - | ||
12 | 2 files changed, 3 deletions(-) | ||
13 | |||
14 | diff --git a/src/glamo-driver.c b/src/glamo-driver.c | ||
15 | index 10b7762..22f57d7 100644 | ||
16 | --- a/src/glamo-driver.c | ||
17 | +++ b/src/glamo-driver.c | ||
18 | @@ -14,7 +14,6 @@ | ||
19 | #include "xf86_OSproc.h" | ||
20 | |||
21 | #include "mipointer.h" | ||
22 | -#include "mibstore.h" | ||
23 | #include "micmap.h" | ||
24 | #include "colormapst.h" | ||
25 | #include "xf86cmap.h" | ||
26 | @@ -612,7 +611,6 @@ GlamoScreenInit(SCREEN_INIT_ARGS_DECL) | ||
27 | } | ||
28 | |||
29 | xf86SetBlackWhitePixels(pScreen); | ||
30 | - miInitializeBackingStore(pScreen); | ||
31 | xf86SetBackingStore(pScreen); | ||
32 | |||
33 | /* software cursor */ | ||
34 | diff --git a/src/glamo-kms-driver.c b/src/glamo-kms-driver.c | ||
35 | index c5c7a00..f192398 100644 | ||
36 | --- a/src/glamo-kms-driver.c | ||
37 | +++ b/src/glamo-kms-driver.c | ||
38 | @@ -415,7 +415,6 @@ Bool GlamoKMSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, | ||
39 | |||
40 | GlamoKMSExaInit(pScrn); | ||
41 | |||
42 | - miInitializeBackingStore(pScreen); | ||
43 | xf86SetBackingStore(pScreen); | ||
44 | xf86SetSilkenMouse(pScreen); | ||
45 | miDCInitialize(pScreen, xf86GetPointerScreenFuncs()); | ||
46 | -- | ||
47 | 1.8.1.5 | ||
48 | |||
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-glamo-kms-driver-drop-unused-xf86_config.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-glamo-kms-driver-drop-unused-xf86_config.patch deleted file mode 100644 index 0d6374363..000000000 --- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-glamo-kms-driver-drop-unused-xf86_config.patch +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | From 963c221aa01be2ea99d39578d91e4aa08ec3ab0a Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Mon, 23 May 2011 14:29:38 +0200 | ||
4 | Subject: [PATCH] glamo-kms-driver: drop unused xf86_config | ||
5 | |||
6 | * gcc-4.6 doesn't like unused variables which are only set and never read | ||
7 | |||
8 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
9 | --- | ||
10 | src/glamo-kms-driver.c | 2 -- | ||
11 | 1 files changed, 0 insertions(+), 2 deletions(-) | ||
12 | |||
13 | diff --git a/src/glamo-kms-driver.c b/src/glamo-kms-driver.c | ||
14 | index ce87caa..c5c7a00 100644 | ||
15 | --- a/src/glamo-kms-driver.c | ||
16 | +++ b/src/glamo-kms-driver.c | ||
17 | @@ -208,7 +208,6 @@ static const xf86CrtcConfigFuncsRec crtc_config_funcs = { | ||
18 | |||
19 | Bool GlamoKMSPreInit(ScrnInfoPtr pScrn, int flags) | ||
20 | { | ||
21 | - xf86CrtcConfigPtr xf86_config; | ||
22 | GlamoPtr pGlamo; | ||
23 | rgb defaultWeight = { 0, 0, 0 }; | ||
24 | int max_width, max_height; | ||
25 | @@ -254,7 +253,6 @@ Bool GlamoKMSPreInit(ScrnInfoPtr pScrn, int flags) | ||
26 | |||
27 | /* Allocate an xf86CrtcConfig */ | ||
28 | xf86CrtcConfigInit(pScrn, &crtc_config_funcs); | ||
29 | - xf86_config = XF86_CRTC_CONFIG_PTR(pScrn); | ||
30 | |||
31 | max_width = 480; | ||
32 | max_height = 640; | ||
33 | -- | ||
34 | 1.7.5.rc3 | ||
35 | |||
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0003-glamo-driver-adapt-to-xserver-0.13-video-API.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0003-glamo-driver-adapt-to-xserver-0.13-video-API.patch deleted file mode 100644 index cbdc6e762..000000000 --- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0003-glamo-driver-adapt-to-xserver-0.13-video-API.patch +++ /dev/null | |||
@@ -1,279 +0,0 @@ | |||
1 | From 57e8944e3cced03b9526bd075649d74d97c24899 Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Tue, 20 Nov 2012 22:18:23 +0100 | ||
4 | Subject: [PATCH 3/3] glamo-driver: adapt to xserver-0.13 video API | ||
5 | |||
6 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
7 | --- | ||
8 | src/compat-api.h | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ | ||
9 | src/glamo-driver.c | 43 ++++++++++++------------ | ||
10 | 2 files changed, 118 insertions(+), 21 deletions(-) | ||
11 | create mode 100644 src/compat-api.h | ||
12 | |||
13 | diff --git a/src/compat-api.h b/src/compat-api.h | ||
14 | new file mode 100644 | ||
15 | index 0000000..b1591b1 | ||
16 | --- /dev/null | ||
17 | +++ b/src/compat-api.h | ||
18 | @@ -0,0 +1,96 @@ | ||
19 | +/* | ||
20 | + * Copyright 2012 Red Hat, Inc. | ||
21 | + * | ||
22 | + * Permission is hereby granted, free of charge, to any person obtaining a | ||
23 | + * copy of this software and associated documentation files (the "Software"), | ||
24 | + * to deal in the Software without restriction, including without limitation | ||
25 | + * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
26 | + * and/or sell copies of the Software, and to permit persons to whom the | ||
27 | + * Software is furnished to do so, subject to the following conditions: | ||
28 | + * | ||
29 | + * The above copyright notice and this permission notice (including the next | ||
30 | + * paragraph) shall be included in all copies or substantial portions of the | ||
31 | + * Software. | ||
32 | + * | ||
33 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
34 | + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
35 | + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
36 | + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
37 | + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
38 | + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | ||
39 | + * DEALINGS IN THE SOFTWARE. | ||
40 | + * | ||
41 | + * Author: Dave Airlie <airlied@redhat.com> | ||
42 | + */ | ||
43 | + | ||
44 | +/* this file provides API compat between server post 1.13 and pre it, | ||
45 | + it should be reused inside as many drivers as possible */ | ||
46 | +#ifndef COMPAT_API_H | ||
47 | +#define COMPAT_API_H | ||
48 | + | ||
49 | +#ifndef GLYPH_HAS_GLYPH_PICTURE_ACCESSOR | ||
50 | +#define GetGlyphPicture(g, s) GlyphPicture((g))[(s)->myNum] | ||
51 | +#define SetGlyphPicture(g, s, p) GlyphPicture((g))[(s)->myNum] = p | ||
52 | +#endif | ||
53 | + | ||
54 | +#ifndef XF86_HAS_SCRN_CONV | ||
55 | +#define xf86ScreenToScrn(s) xf86Screens[(s)->myNum] | ||
56 | +#define xf86ScrnToScreen(s) screenInfo.screens[(s)->scrnIndex] | ||
57 | +#endif | ||
58 | + | ||
59 | +#ifndef XF86_SCRN_INTERFACE | ||
60 | + | ||
61 | +#define SCRN_ARG_TYPE int | ||
62 | +#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = xf86Screens[(arg1)] | ||
63 | + | ||
64 | +#define SCREEN_ARG_TYPE int | ||
65 | +#define SCREEN_PTR(arg1) ScreenPtr pScreen = screenInfo.screens[(arg1)] | ||
66 | + | ||
67 | +#define SCREEN_INIT_ARGS_DECL int index, ScreenPtr pScreen, int argc, char **argv | ||
68 | + | ||
69 | +#define BLOCKHANDLER_ARGS_DECL int arg, pointer blockData, pointer pTimeout, pointer pReadmask | ||
70 | +#define BLOCKHANDLER_ARGS arg, blockData, pTimeout, pReadmask | ||
71 | + | ||
72 | +#define CLOSE_SCREEN_ARGS_DECL int scrnIndex, ScreenPtr pScreen | ||
73 | +#define CLOSE_SCREEN_ARGS scrnIndex, pScreen | ||
74 | + | ||
75 | +#define ADJUST_FRAME_ARGS_DECL int arg, int x, int y, int flags | ||
76 | + | ||
77 | +#define SWITCH_MODE_ARGS_DECL int arg, DisplayModePtr mode, int flags | ||
78 | + | ||
79 | +#define FREE_SCREEN_ARGS_DECL int arg, int flags | ||
80 | +#define FREE_SCREEN_ARGS(x) (x)->scrnIndex, 0 | ||
81 | + | ||
82 | +#define VT_FUNC_ARGS_DECL int arg, int flags | ||
83 | +#define VT_FUNC_ARGS(flags) pScrn->scrnIndex, (flags) | ||
84 | + | ||
85 | +#define XF86_ENABLEDISABLEFB_ARG(x) ((x)->scrnIndex) | ||
86 | +#else | ||
87 | +#define SCRN_ARG_TYPE ScrnInfoPtr | ||
88 | +#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = (arg1) | ||
89 | + | ||
90 | +#define SCREEN_ARG_TYPE ScreenPtr | ||
91 | +#define SCREEN_PTR(arg1) ScreenPtr pScreen = (arg1) | ||
92 | + | ||
93 | +#define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv | ||
94 | + | ||
95 | +#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask | ||
96 | +#define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask | ||
97 | + | ||
98 | +#define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen | ||
99 | +#define CLOSE_SCREEN_ARGS pScreen | ||
100 | + | ||
101 | +#define ADJUST_FRAME_ARGS_DECL ScrnInfoPtr arg, int x, int y | ||
102 | +#define SWITCH_MODE_ARGS_DECL ScrnInfoPtr arg, DisplayModePtr mode | ||
103 | + | ||
104 | +#define FREE_SCREEN_ARGS_DECL ScrnInfoPtr arg | ||
105 | +#define FREE_SCREEN_ARGS(x) (x) | ||
106 | + | ||
107 | +#define VT_FUNC_ARGS_DECL ScrnInfoPtr arg | ||
108 | +#define VT_FUNC_ARGS(flags) pScrn | ||
109 | + | ||
110 | +#define XF86_ENABLEDISABLEFB_ARG(x) (x) | ||
111 | + | ||
112 | +#endif | ||
113 | + | ||
114 | +#endif | ||
115 | diff --git a/src/glamo-driver.c b/src/glamo-driver.c | ||
116 | index b13caae..10b7762 100644 | ||
117 | --- a/src/glamo-driver.c | ||
118 | +++ b/src/glamo-driver.c | ||
119 | @@ -43,6 +43,7 @@ | ||
120 | |||
121 | #include <sys/mman.h> | ||
122 | |||
123 | +#include "compat-api.h" | ||
124 | |||
125 | static Bool debug = 0; | ||
126 | |||
127 | @@ -68,10 +69,10 @@ static Bool | ||
128 | GlamoPreInit(ScrnInfoPtr pScrn, int flags); | ||
129 | |||
130 | static Bool | ||
131 | -GlamoScreenInit(int Index, ScreenPtr pScreen, int argc, char **argv); | ||
132 | +GlamoScreenInit(SCREEN_INIT_ARGS_DECL); | ||
133 | |||
134 | static Bool | ||
135 | -GlamoCloseScreen(int scrnIndex, ScreenPtr pScreen); | ||
136 | +GlamoCloseScreen(CLOSE_SCREEN_ARGS_DECL); | ||
137 | |||
138 | static Bool | ||
139 | GlamoCrtcResize(ScrnInfoPtr scrn, int width, int height); | ||
140 | @@ -86,10 +87,10 @@ static void | ||
141 | GlamoRestoreHW(ScrnInfoPtr pScren); | ||
142 | |||
143 | static Bool | ||
144 | -GlamoEnterVT(int scrnIndex, int flags); | ||
145 | +GlamoEnterVT(VT_FUNC_ARGS_DECL); | ||
146 | |||
147 | static void | ||
148 | -GlamoLeaveVT(int scrnIndex, int flags); | ||
149 | +GlamoLeaveVT(VT_FUNC_ARGS_DECL); | ||
150 | |||
151 | static void | ||
152 | GlamoLoadColormap(ScrnInfoPtr pScrn, int numColors, int *indices, | ||
153 | @@ -248,8 +249,8 @@ GlamoUnmapMMIO(ScrnInfoPtr pScrn) { | ||
154 | } | ||
155 | |||
156 | static Bool | ||
157 | -GlamoSwitchMode(int scrnIndex, DisplayModePtr mode, int flags) { | ||
158 | - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; | ||
159 | +GlamoSwitchMode(SWITCH_MODE_ARGS_DECL) { | ||
160 | + SCRN_INFO_PTR(arg); | ||
161 | xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR (pScrn); | ||
162 | xf86OutputPtr output = config->output[config->compat_output]; | ||
163 | Rotation rotation; | ||
164 | @@ -286,7 +287,7 @@ GlamoFbdevProbe(DriverPtr drv, GDevPtr *devSections, int numDevSections) | ||
165 | |||
166 | for (i = 0; i < numDevSections; i++) { | ||
167 | |||
168 | - dev = xf86FindOptionValue(devSections[i]->options, "Device"); | ||
169 | + dev = (char *) xf86FindOptionValue(devSections[i]->options, "Device"); | ||
170 | if (fbdevHWProbe(NULL, dev, NULL)) { | ||
171 | int entity; | ||
172 | pScrn = NULL; | ||
173 | @@ -430,7 +431,7 @@ GlamoPreInit(ScrnInfoPtr pScrn, int flags) | ||
174 | |||
175 | pGlamo->pEnt = xf86GetEntityInfo(pScrn->entityList[0]); | ||
176 | |||
177 | - fb_device = xf86FindOptionValue(pGlamo->pEnt->device->options, "Device"); | ||
178 | + fb_device = (char *) xf86FindOptionValue(pGlamo->pEnt->device->options, "Device"); | ||
179 | |||
180 | /* open device */ | ||
181 | if (!fbdevHWInit(pScrn, NULL, fb_device)) | ||
182 | @@ -523,7 +524,7 @@ GlamoPreInit(ScrnInfoPtr pScrn, int flags) | ||
183 | |||
184 | |||
185 | static Bool | ||
186 | -GlamoScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) | ||
187 | +GlamoScreenInit(SCREEN_INIT_ARGS_DECL) | ||
188 | { | ||
189 | ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; | ||
190 | GlamoPtr pGlamo = GlamoPTR(pScrn); | ||
191 | @@ -545,7 +546,7 @@ GlamoScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) | ||
192 | #endif | ||
193 | |||
194 | if (NULL == (pGlamo->fbmem = fbdevHWMapVidmem(pScrn))) { | ||
195 | - xf86DrvMsg(scrnIndex, X_ERROR, "mapping of video memory failed\n"); | ||
196 | + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "mapping of video memory failed\n"); | ||
197 | return FALSE; | ||
198 | } | ||
199 | |||
200 | @@ -556,13 +557,13 @@ GlamoScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) | ||
201 | /* mi layer */ | ||
202 | miClearVisualTypes(); | ||
203 | if (!miSetVisualTypes(pScrn->depth, TrueColorMask, pScrn->rgbBits, TrueColor)) { | ||
204 | - xf86DrvMsg(scrnIndex, X_ERROR, | ||
205 | + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, | ||
206 | "visual type setup failed for %d bits per pixel [1]\n", | ||
207 | pScrn->bitsPerPixel); | ||
208 | return FALSE; | ||
209 | } | ||
210 | if (!miSetPixmapDepths()) { | ||
211 | - xf86DrvMsg(scrnIndex, X_ERROR, "pixmap depth setup failed\n"); | ||
212 | + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "pixmap depth setup failed\n"); | ||
213 | return FALSE; | ||
214 | } | ||
215 | |||
216 | @@ -617,7 +618,7 @@ GlamoScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) | ||
217 | /* software cursor */ | ||
218 | miDCInitialize(pScreen, xf86GetPointerScreenFuncs()); | ||
219 | |||
220 | - GlamoEnterVT(scrnIndex, 0); | ||
221 | + GlamoEnterVT(VT_FUNC_ARGS(0)); | ||
222 | |||
223 | xf86CrtcScreenInit(pScreen); | ||
224 | #if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,5,0,0,0) | ||
225 | @@ -627,7 +628,7 @@ GlamoScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) | ||
226 | /* colormap */ | ||
227 | pGlamo->colormap = NULL; | ||
228 | if (!miCreateDefColormap(pScreen)) { | ||
229 | - xf86DrvMsg(scrnIndex, X_ERROR, | ||
230 | + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, | ||
231 | "internal error: miCreateDefColormap failed " | ||
232 | "in GlamoScreenInit()\n"); | ||
233 | return FALSE; | ||
234 | @@ -652,9 +653,9 @@ GlamoScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) | ||
235 | } | ||
236 | |||
237 | static Bool | ||
238 | -GlamoCloseScreen(int scrnIndex, ScreenPtr pScreen) | ||
239 | +GlamoCloseScreen(CLOSE_SCREEN_ARGS_DECL) | ||
240 | { | ||
241 | - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; | ||
242 | + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); | ||
243 | GlamoPtr pGlamo = GlamoPTR(pScrn); | ||
244 | |||
245 | if (pGlamo->accel) | ||
246 | @@ -675,7 +676,7 @@ GlamoCloseScreen(int scrnIndex, ScreenPtr pScreen) | ||
247 | |||
248 | pScreen->CreateScreenResources = pGlamo->CreateScreenResources; | ||
249 | pScreen->CloseScreen = pGlamo->CloseScreen; | ||
250 | - return (*pScreen->CloseScreen)(scrnIndex, pScreen); | ||
251 | + return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS); | ||
252 | } | ||
253 | |||
254 | static Bool | ||
255 | @@ -826,8 +827,8 @@ GlamoRestoreHW(ScrnInfoPtr pScrn) { | ||
256 | } | ||
257 | |||
258 | static Bool | ||
259 | -GlamoEnterVT(int scrnIndex, int flags) { | ||
260 | - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; | ||
261 | +GlamoEnterVT(VT_FUNC_ARGS_DECL) { | ||
262 | + SCRN_INFO_PTR(arg); | ||
263 | GlamoPtr pGlamo = GlamoPTR(pScrn); | ||
264 | |||
265 | GlamoSaveHW(pScrn); | ||
266 | @@ -842,8 +843,8 @@ GlamoEnterVT(int scrnIndex, int flags) { | ||
267 | } | ||
268 | |||
269 | static void | ||
270 | -GlamoLeaveVT(int scrnIndex, int flags) { | ||
271 | - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; | ||
272 | +GlamoLeaveVT(VT_FUNC_ARGS_DECL) { | ||
273 | + SCRN_INFO_PTR(arg); | ||
274 | GlamoPtr pGlamo = GlamoPTR(pScrn); | ||
275 | |||
276 | if (pGlamo->accel) | ||
277 | -- | ||
278 | 1.8.0 | ||
279 | |||
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0004-glamo.h-use-const-for-jbt6k74_state_path.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0004-glamo.h-use-const-for-jbt6k74_state_path.patch deleted file mode 100644 index a82037109..000000000 --- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0004-glamo.h-use-const-for-jbt6k74_state_path.patch +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | From 180a00634f351a09ceabc5695d8e1acc3e585501 Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Fri, 12 Dec 2014 12:00:10 +0100 | ||
4 | Subject: [PATCH] glamo.h: use const for jbt6k74_state_path | ||
5 | |||
6 | * fix build issue with xserver 1.16: | ||
7 | glamo-driver.c:501:32: error: assignment discards 'const' qualifier from pointer target type [-Werror] | ||
8 | |||
9 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
10 | --- | ||
11 | src/glamo.h | 2 +- | ||
12 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
13 | |||
14 | diff --git a/src/glamo.h b/src/glamo.h | ||
15 | index 5fd5c04..5e072be 100644 | ||
16 | --- a/src/glamo.h | ||
17 | +++ b/src/glamo.h | ||
18 | @@ -148,7 +148,7 @@ typedef struct { | ||
19 | #endif | ||
20 | |||
21 | #ifdef JBT6K74_SET_STATE | ||
22 | - char *jbt6k74_state_path; | ||
23 | + const char *jbt6k74_state_path; | ||
24 | char saved_jbt6k74_state[14]; | ||
25 | #endif | ||
26 | |||
27 | -- | ||
28 | 2.1.3 | ||
29 | |||
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb deleted file mode 100644 index 5818d0cc9..000000000 --- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | require recipes-graphics/xorg-driver/xorg-driver-video.inc | ||
2 | SUMMARY = "X.Org X server -- Glamo display driver with KMS support" | ||
3 | DEPENDS += "libdrm" | ||
4 | RDEPENDS_${PN} += "xserver-xorg-module-exa" | ||
5 | |||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=d8cbd99fff773f92e844948f74ef0df8" | ||
7 | |||
8 | PE = "2" | ||
9 | PV = "1.0.0+gitr${SRCPV}" | ||
10 | PR = "${INC_PR}.4" | ||
11 | |||
12 | SRC_URI = "git://git.openmoko.org/git/xf86-video-glamo.git;branch=master \ | ||
13 | file://0001-glamo-kms-driver-drop-unused-xf86_config.patch \ | ||
14 | file://0001-fix-build-with-KMS-disabled.patch \ | ||
15 | file://0003-glamo-driver-adapt-to-xserver-0.13-video-API.patch \ | ||
16 | file://0001-glamo-driver-remove-references-to-mibstore.patch \ | ||
17 | file://0004-glamo.h-use-const-for-jbt6k74_state_path.patch \ | ||
18 | " | ||
19 | |||
20 | S = "${WORKDIR}/git" | ||
21 | SRCREV = "cb9ed17035a79e49dde26a1e7e2bc5f10fd8144b" | ||
22 | |||
23 | EXTRA_OECONF = " --disable-kms " | ||
24 | |||
25 | PNBLACKLIST[xf86-video-glamo] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130629/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-kernel/ktap/ktap-module_git.bb b/meta-oe/recipes-kernel/ktap/ktap-module_git.bb deleted file mode 100644 index 1119d4c90..000000000 --- a/meta-oe/recipes-kernel/ktap/ktap-module_git.bb +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | # Released under the MIT license (see COPYING.MIT for the terms) | ||
2 | |||
3 | require ktap.inc | ||
4 | |||
5 | SUMMARY = "KTAP is a scripting dynamic tracing tool for Linux" | ||
6 | |||
7 | inherit module | ||
8 | |||
9 | # See https://github.com/ktap/ktap/issues/80 | ||
10 | PNBLACKLIST[ktap-module] ?= "Not compatible with 3.19 kernel - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
11 | |||
12 | # Only build the module | ||
13 | MAKE_TARGETS = "mod" | ||
14 | |||
15 | # Kernel module packages MUST begin with 'kernel-module-', otherwise | ||
16 | # multilib image generation can fail. | ||
17 | # | ||
18 | # The following line is only necessary if the recipe name does not begin | ||
19 | # with kernel-module-. | ||
20 | # | ||
21 | PKG_${PN} = "kernel-module-${PN}" | ||
22 | |||
diff --git a/meta-oe/recipes-kernel/ktap/ktap.inc b/meta-oe/recipes-kernel/ktap/ktap.inc deleted file mode 100644 index c214a020d..000000000 --- a/meta-oe/recipes-kernel/ktap/ktap.inc +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | # Released under the MIT license (see COPYING.MIT for the terms) | ||
2 | |||
3 | HOMEPAGE = "http://www.ktap.org" | ||
4 | LICENSE = "GPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE-GPL;md5=eb723b61539feef013de476e68b5c50a" | ||
6 | |||
7 | PV = "0.4+gitr${SRCPV}" | ||
8 | SRCREV = "c8401e07c89cdec9a5f673da4ddb12b7982b522b" | ||
9 | SRC_URI = "git://github.com/ktap/ktap.git" | ||
10 | |||
11 | S = "${WORKDIR}/git" | ||
12 | |||
13 | # Package config is abused as a general compile time configuration tool. | ||
14 | |||
15 | # Only supports x86_64 for now!. Needs to be enabled for ktap-module too. | ||
16 | PACKAGECONFIG[ffi] = "" | ||
17 | |||
18 | # Needed to resolve symbols in DSO and for sdt | ||
19 | PACKAGECONFIG[libelf] = ",,elfutils" | ||
20 | |||
21 | PACKAGECONFIG ?= "libelf" | ||
22 | |||
23 | EXTRA_OEMAKE = " \ | ||
24 | ${@bb.utils.contains('PACKAGECONFIG', 'libelf', '', 'NO_LIBELF=1', d)} \ | ||
25 | ${@bb.utils.contains('PACKAGECONFIG', 'ffi', 'FFI=1', '', d)} \ | ||
26 | " | ||
diff --git a/meta-oe/recipes-kernel/ktap/ktap_git.bb b/meta-oe/recipes-kernel/ktap/ktap_git.bb deleted file mode 100644 index a947b7fcc..000000000 --- a/meta-oe/recipes-kernel/ktap/ktap_git.bb +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | # Released under the MIT license (see COPYING.MIT for the terms) | ||
2 | |||
3 | require ktap.inc | ||
4 | |||
5 | SUMMARY = "KTAP is a scripting dynamic tracing tool for Linux" | ||
6 | DEPENDS = "ktap-module" | ||
7 | |||
8 | PNBLACKLIST[ktap] ?= "Depends on blacklisted kernel-module-ktapvm - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
9 | |||
10 | # Only build the userspace app | ||
11 | EXTRA_OEMAKE += "ktap" | ||
12 | |||
13 | do_install() { | ||
14 | install -d ${D}${bindir} | ||
15 | install -m 0755 ${S}/ktap ${D}${bindir}/ | ||
16 | } | ||
17 | |||
18 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
19 | RRECOMMENDS_${PN} = "kernel-module-ktapvm" | ||
diff --git a/meta-oe/recipes-multimedia/minidlna/minidlna.inc b/meta-oe/recipes-multimedia/minidlna/minidlna.inc deleted file mode 100644 index b333fce0b..000000000 --- a/meta-oe/recipes-multimedia/minidlna/minidlna.inc +++ /dev/null | |||
@@ -1,39 +0,0 @@ | |||
1 | DESCRIPTION = "MiniDLNA (aka ReadyDLNA) is server software with the aim of \ | ||
2 | being fully compliant with DLNA/UPnP-AV clients." | ||
3 | LICENSE = "GPL-2.0|BSD" | ||
4 | DEPENDS = "ffmpeg flac libav jpeg sqlite3 libexif libogg libid3tag libvorbis" | ||
5 | |||
6 | # because it depends on libav which has commercial flag | ||
7 | LICENSE_FLAGS = "commercial" | ||
8 | |||
9 | inherit gettext autotools-brokensep update-rc.d systemd | ||
10 | |||
11 | SRC_URI = "git://git.code.sf.net/p/minidlna/git;branch=master;module=git \ | ||
12 | file://minidlna-daemon.init.d \ | ||
13 | file://minidlna.service " | ||
14 | |||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | # This remove "--exclude=autopoint" option from autoreconf argument to avoid | ||
18 | # configure.ac:30: error: required file './ABOUT-NLS' not found | ||
19 | EXTRA_AUTORECONF = "" | ||
20 | |||
21 | do_install_append(){ | ||
22 | install -d ${D}${sysconfdir} | ||
23 | install -m 0755 minidlna.conf ${D}${sysconfdir} | ||
24 | |||
25 | # Systemd script | ||
26 | install -d ${D}${nonarch_base_libdir}/systemd/system | ||
27 | install -m 0755 ${WORKDIR}/minidlna.service ${D}${nonarch_base_libdir}/systemd/system | ||
28 | |||
29 | # Sysvinit script | ||
30 | install -d ${D}${sysconfdir}/init.d | ||
31 | install -m 0755 ${WORKDIR}/minidlna-daemon.init.d ${D}${sysconfdir}/init.d/minidlna | ||
32 | |||
33 | } | ||
34 | |||
35 | SYSTEMD_SERVICE_${PN} = "minidlna.service" | ||
36 | |||
37 | INITSCRIPT_NAME = "minidlna" | ||
38 | INITSCRIPT_PARAMS = "defaults 90" | ||
39 | |||
diff --git a/meta-oe/recipes-multimedia/minidlna/minidlna_1.1.5.bb b/meta-oe/recipes-multimedia/minidlna/minidlna_1.1.5.bb deleted file mode 100644 index 81d700a7b..000000000 --- a/meta-oe/recipes-multimedia/minidlna/minidlna_1.1.5.bb +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | require ${BPN}.inc | ||
2 | |||
3 | SRCREV = "v1_1_5" | ||
4 | LIC_FILES_CHKSUM = "file://LICENCE.miniupnpd;md5=b0dabf9d8e0f871554e309d62ead8d2b" | ||
5 | |||
6 | PNBLACKLIST[minidlna] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130630/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-multimedia/mplayer/mplayer2/0001-configure-don-t-disable-ASS-support-when-explicitly-.patch b/meta-oe/recipes-multimedia/mplayer/mplayer2/0001-configure-don-t-disable-ASS-support-when-explicitly-.patch deleted file mode 100644 index e232595cd..000000000 --- a/meta-oe/recipes-multimedia/mplayer/mplayer2/0001-configure-don-t-disable-ASS-support-when-explicitly-.patch +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | From 3541649b711a773aa2e42ac80d9b4c1b36fce23f Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Thu, 27 Mar 2014 00:08:54 +0100 | ||
4 | Subject: [PATCH] configure: don't disable ASS support when explicitly enabled | ||
5 | |||
6 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
7 | --- | ||
8 | configure | 2 +- | ||
9 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
10 | |||
11 | diff --git a/configure b/configure | ||
12 | index 60fd308..2f7df3b 100755 | ||
13 | --- a/configure | ||
14 | +++ b/configure | ||
15 | @@ -4346,7 +4346,7 @@ fi | ||
16 | |||
17 | |||
18 | echocheck "SSA/ASS support" | ||
19 | -if test "$_ass" = auto ; then | ||
20 | +if test "$_ass" = auto -o "$_ass" = yes ; then | ||
21 | if pkg_config_add libass ; then | ||
22 | _ass=yes | ||
23 | def_ass='#define CONFIG_ASS 1' | ||
24 | -- | ||
25 | 1.9.1 | ||
26 | |||
diff --git a/meta-oe/recipes-multimedia/mplayer/mplayer2/0001-demux_ogg-partially-port-libtheora-glue-code-to-Theo.patch b/meta-oe/recipes-multimedia/mplayer/mplayer2/0001-demux_ogg-partially-port-libtheora-glue-code-to-Theo.patch deleted file mode 100644 index b4d98412f..000000000 --- a/meta-oe/recipes-multimedia/mplayer/mplayer2/0001-demux_ogg-partially-port-libtheora-glue-code-to-Theo.patch +++ /dev/null | |||
@@ -1,136 +0,0 @@ | |||
1 | From 0571bb4f1a6e1934ee7e093ce7aa517b9bac8e6a Mon Sep 17 00:00:00 2001 | ||
2 | From: Awais Belal <awais_belal@mentor.com> | ||
3 | Date: Sun, 17 Jan 2016 14:46:10 +0500 | ||
4 | Subject: [PATCH] demux_ogg: partially port libtheora glue code to Theora 1.0 | ||
5 | API | ||
6 | |||
7 | This partially backports the following commit to allow building | ||
8 | with gcc-5.x and otherwise fails to find the definition of | ||
9 | the _ilog function the way it is used. | ||
10 | |||
11 | https://github.com/pigoz/mplayer-svn/commit/85e51408cd00979fc209da8e3a39b6f0e7f325bc | ||
12 | |||
13 | Signed-off-by: Awais Belal <awais_belal@mentor.com> | ||
14 | --- | ||
15 | libmpdemux/demux_ogg.c | 52 ++++++++++++++++++++++++++------------------------ | ||
16 | 1 file changed, 27 insertions(+), 25 deletions(-) | ||
17 | |||
18 | diff --git a/libmpdemux/demux_ogg.c b/libmpdemux/demux_ogg.c | ||
19 | index 9eea061..9144426 100644 | ||
20 | --- a/libmpdemux/demux_ogg.c | ||
21 | +++ b/libmpdemux/demux_ogg.c | ||
22 | @@ -50,8 +50,7 @@ | ||
23 | #endif | ||
24 | |||
25 | #ifdef CONFIG_OGGTHEORA | ||
26 | -#include <theora/theora.h> | ||
27 | -int _ilog (unsigned int); /* defined in many places in theora/lib/ */ | ||
28 | +#include <theora/theoradec.h> | ||
29 | #endif | ||
30 | |||
31 | #define BLOCK_SIZE 4096 | ||
32 | @@ -62,9 +61,10 @@ int _ilog (unsigned int); /* defined in many places in theora/lib/ */ | ||
33 | */ | ||
34 | #ifdef CONFIG_OGGTHEORA | ||
35 | typedef struct theora_struct_st { | ||
36 | - theora_state st; | ||
37 | - theora_comment cc; | ||
38 | - theora_info inf; | ||
39 | + th_setup_info *tsi; | ||
40 | + th_dec_ctx *tctx; | ||
41 | + th_comment tc; | ||
42 | + th_info ti; | ||
43 | } theora_struct_t; | ||
44 | #endif | ||
45 | |||
46 | @@ -117,7 +117,7 @@ typedef struct ogg_stream { | ||
47 | float samplerate; /// granulpos 2 time | ||
48 | int64_t lastpos; | ||
49 | int32_t lastsize; | ||
50 | - int keyframe_frequency_force; | ||
51 | + int keyframe_granule_shift; | ||
52 | |||
53 | // Logical stream state | ||
54 | ogg_stream_state stream; | ||
55 | @@ -300,11 +300,10 @@ static unsigned char *demux_ogg_read_packet(ogg_stream_t *os, ogg_packet *pack, | ||
56 | have theora_state st, until all header packets were passed to the | ||
57 | decoder. */ | ||
58 | if (!pack->bytes || !(*data&0x80)) { | ||
59 | - int keyframe_granule_shift = _ilog(os->keyframe_frequency_force - 1); | ||
60 | - int64_t iframemask = (1 << keyframe_granule_shift) - 1; | ||
61 | + int64_t iframemask = iframemask = (1 << os->keyframe_granule_shift) - 1; | ||
62 | |||
63 | if (pack->granulepos >= 0) { | ||
64 | - os->lastpos = pack->granulepos >> keyframe_granule_shift; | ||
65 | + os->lastpos = pack->granulepos >> os->keyframe_granule_shift; | ||
66 | os->lastpos += pack->granulepos & iframemask; | ||
67 | *keyframe = (pack->granulepos & iframemask) == 0; | ||
68 | } else { | ||
69 | @@ -888,14 +887,15 @@ int demux_ogg_open(demuxer_t *demuxer) | ||
70 | #ifdef CONFIG_OGGTHEORA | ||
71 | } else if (pack.bytes >= 7 && !strncmp (&pack.packet[1], "theora", 6)) { | ||
72 | int errorCode = 0; | ||
73 | - theora_info inf; | ||
74 | - theora_comment cc; | ||
75 | + th_info ti; | ||
76 | + th_comment tc; | ||
77 | + th_setup_info *tsi = NULL; | ||
78 | |||
79 | - theora_info_init (&inf); | ||
80 | - theora_comment_init (&cc); | ||
81 | + th_info_init (&ti); | ||
82 | + th_comment_init (&tc); | ||
83 | |||
84 | - errorCode = theora_decode_header (&inf, &cc, &pack); | ||
85 | - if (errorCode) { | ||
86 | + errorCode = th_decode_headerin(&ti, &tc, &tsi, &pack); | ||
87 | + if (errorCode < 0) { | ||
88 | mp_msg(MSGT_DEMUX, MSGL_ERR, | ||
89 | "Theora header parsing failed: %i \n", errorCode); | ||
90 | } else { | ||
91 | @@ -904,30 +904,32 @@ int demux_ogg_open(demuxer_t *demuxer) | ||
92 | sh_v->bih = calloc(1, sizeof(*sh_v->bih)); | ||
93 | sh_v->bih->biSize = sizeof(*sh_v->bih); | ||
94 | sh_v->bih->biCompression = sh_v->format = FOURCC_THEORA; | ||
95 | - sh_v->fps = ((double)inf.fps_numerator) / (double)inf.fps_denominator; | ||
96 | - sh_v->frametime = ((double)inf.fps_denominator) / (double)inf.fps_numerator; | ||
97 | - sh_v->disp_w = sh_v->bih->biWidth = inf.frame_width; | ||
98 | - sh_v->disp_h = sh_v->bih->biHeight = inf.frame_height; | ||
99 | + sh_v->fps = ((double)ti.fps_numerator) / (double)ti.fps_denominator; | ||
100 | + sh_v->frametime = ((double)ti.fps_denominator) / (double)ti.fps_numerator; | ||
101 | + sh_v->i_bps = ti.target_bitrate / 8; | ||
102 | + sh_v->disp_w = sh_v->bih->biWidth = ti.frame_width; | ||
103 | + sh_v->disp_h = sh_v->bih->biHeight = ti.frame_height; | ||
104 | sh_v->bih->biBitCount = 24; | ||
105 | sh_v->bih->biPlanes = 3; | ||
106 | sh_v->bih->biSizeImage = ((sh_v->bih->biBitCount / 8) * sh_v->bih->biWidth * sh_v->bih->biHeight); | ||
107 | ogg_d->subs[ogg_d->num_sub].samplerate = sh_v->fps; | ||
108 | ogg_d->subs[ogg_d->num_sub].theora = 1; | ||
109 | - ogg_d->subs[ogg_d->num_sub].keyframe_frequency_force = inf.keyframe_frequency_force; | ||
110 | + ogg_d->subs[ogg_d->num_sub].keyframe_granule_shift = ti.keyframe_granule_shift; | ||
111 | ogg_d->subs[ogg_d->num_sub].id = n_video; | ||
112 | n_video++; | ||
113 | mp_msg(MSGT_DEMUX, MSGL_INFO, | ||
114 | "[Ogg] stream %d: video (Theora v%d.%d.%d), -vid %d\n", | ||
115 | ogg_d->num_sub, | ||
116 | - (int)inf.version_major, | ||
117 | - (int)inf.version_minor, | ||
118 | - (int)inf.version_subminor, | ||
119 | + (int)ti.version_major, | ||
120 | + (int)ti.version_minor, | ||
121 | + (int)ti.version_subminor, | ||
122 | n_video - 1); | ||
123 | if (mp_msg_test(MSGT_HEADER, MSGL_V)) | ||
124 | print_video_header(sh_v->bih, MSGL_V); | ||
125 | } | ||
126 | - theora_comment_clear(&cc); | ||
127 | - theora_info_clear(&inf); | ||
128 | + th_comment_clear(&tc); | ||
129 | + th_info_clear(&ti); | ||
130 | + th_setup_free(tsi); | ||
131 | #endif /* CONFIG_OGGTHEORA */ | ||
132 | } else if (pack.bytes >= 4 && !strncmp (&pack.packet[0], "fLaC", 4)) { | ||
133 | sh_a = new_sh_audio_aid(demuxer, ogg_d->num_sub, n_audio); | ||
134 | -- | ||
135 | 1.9.1 | ||
136 | |||
diff --git a/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb b/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb deleted file mode 100644 index 1a4ae27e6..000000000 --- a/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb +++ /dev/null | |||
@@ -1,159 +0,0 @@ | |||
1 | SUMMARY = "Open Source multimedia player" | ||
2 | SECTION = "multimedia" | ||
3 | HOMEPAGE = "http://www.mplayerhq.hu/" | ||
4 | DEPENDS = "libvpx libdvdread libtheora virtual/libsdl ffmpeg xsp zlib \ | ||
5 | libpng jpeg liba52 freetype fontconfig alsa-lib lzo ncurses \ | ||
6 | libxv virtual/libx11 libass speex faad2 libxscrnsaver" | ||
7 | |||
8 | RDEPENDS_${PN} = "mplayer-common" | ||
9 | PROVIDES = "mplayer" | ||
10 | RPROVIDES_${PN} = "mplayer" | ||
11 | RCONFLICTS_${PN} = "mplayer" | ||
12 | |||
13 | # Depends on xsp, libxv, virtual/libx11, libxscrnsaver | ||
14 | REQUIRED_DISTRO_FEATURES = "x11" | ||
15 | |||
16 | # because it depends on libpostproc/libav which has commercial flag | ||
17 | LICENSE_FLAGS = "${@bb.utils.contains('PACKAGECONFIG', 'postproc', 'commercial', '', d)}" | ||
18 | |||
19 | LICENSE = "GPLv3" | ||
20 | LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504" | ||
21 | |||
22 | SRC_URI = "git://repo.or.cz/mplayer.git \ | ||
23 | file://0001-configure-don-t-disable-ASS-support-when-explicitly-.patch \ | ||
24 | file://0001-demux_ogg-partially-port-libtheora-glue-code-to-Theo.patch \ | ||
25 | " | ||
26 | |||
27 | SRCREV = "2c378c71a4d9b1df382db9aa787b646628b4e3f9" | ||
28 | |||
29 | ARM_INSTRUCTION_SET = "arm" | ||
30 | |||
31 | PV = "2.0+gitr${SRCPV}" | ||
32 | PR = "r13" | ||
33 | |||
34 | PARALLEL_MAKE = "" | ||
35 | |||
36 | S = "${WORKDIR}/git" | ||
37 | |||
38 | FILES_${PN} = "${bindir}/mplayer ${libdir} /usr/etc/mplayer/" | ||
39 | CONFFILES_${PN} += "/usr/etc/mplayer/input.conf \ | ||
40 | /usr/etc/mplayer/example.conf \ | ||
41 | /usr/etc/mplayer/codecs.conf \ | ||
42 | " | ||
43 | |||
44 | inherit autotools-brokensep pkgconfig python3native | ||
45 | |||
46 | EXTRA_OECONF = " \ | ||
47 | --prefix=/usr \ | ||
48 | --mandir=${mandir} \ | ||
49 | --target=${SIMPLE_TARGET_SYS} \ | ||
50 | \ | ||
51 | --disable-lirc \ | ||
52 | --disable-lircc \ | ||
53 | --disable-joystick \ | ||
54 | --disable-vm \ | ||
55 | --disable-xf86keysym \ | ||
56 | --enable-tv \ | ||
57 | --enable-tv-v4l2 \ | ||
58 | --disable-tv-bsdbt848 \ | ||
59 | --enable-rtc \ | ||
60 | --enable-networking \ | ||
61 | --disable-smb \ | ||
62 | --disable-dvdnav \ | ||
63 | --enable-dvdread \ | ||
64 | --disable-dvdread-internal \ | ||
65 | --disable-libdvdcss-internal \ | ||
66 | --disable-enca \ | ||
67 | --disable-ftp \ | ||
68 | --disable-vstream \ | ||
69 | \ | ||
70 | --disable-gif \ | ||
71 | --enable-png \ | ||
72 | --enable-jpeg \ | ||
73 | --disable-libcdio \ | ||
74 | --disable-qtx \ | ||
75 | --disable-xanim \ | ||
76 | --disable-real \ | ||
77 | --disable-xvid \ | ||
78 | \ | ||
79 | --enable-speex \ | ||
80 | --enable-theora \ | ||
81 | --disable-ladspa \ | ||
82 | --disable-libdv \ | ||
83 | --enable-mad \ | ||
84 | --disable-xmms \ | ||
85 | --disable-musepack \ | ||
86 | \ | ||
87 | --disable-gl \ | ||
88 | --enable-sdl \ | ||
89 | --disable-caca \ | ||
90 | --disable-directx \ | ||
91 | --disable-dvb \ | ||
92 | --enable-xv \ | ||
93 | --disable-vm \ | ||
94 | --disable-xinerama \ | ||
95 | --enable-x11 \ | ||
96 | --disable-directfb \ | ||
97 | --disable-tga \ | ||
98 | --disable-pnm \ | ||
99 | --disable-md5sum \ | ||
100 | \ | ||
101 | --enable-alsa \ | ||
102 | --enable-ossaudio \ | ||
103 | --disable-pulse \ | ||
104 | --disable-jack \ | ||
105 | --disable-openal \ | ||
106 | --enable-select \ | ||
107 | --enable-libass \ | ||
108 | \ | ||
109 | --extra-libs=' -lXext -lX11 -lvorbis -ltheoradec -lasound ' \ | ||
110 | " | ||
111 | # -ltheoradec is missing in: | ||
112 | # libmpcodecs/vd_theora.o: undefined reference to symbol 'theora_decode_init@@libtheora.so.1.0' | ||
113 | |||
114 | EXTRA_OECONF_append_armv6 = " --enable-armv6" | ||
115 | EXTRA_OECONF_append_armv7a = " --enable-armv6 --enable-neon" | ||
116 | |||
117 | PACKAGECONFIG ??= "vorbis postproc" | ||
118 | PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad" | ||
119 | PACKAGECONFIG[a52] = "--enable-liba52,--disable-liba52,liba52" | ||
120 | PACKAGECONFIG[lame] = ",,lame" | ||
121 | PACKAGECONFIG[postproc] = ",--disable-libpostproc,libpostproc" | ||
122 | PACKAGECONFIG[vorbis] = ",--disable-libvorbis,libvorbis" | ||
123 | PACKAGECONFIG[portaudio] = ",--disable-portaudio,portaudio-v19" | ||
124 | PACKAGECONFIG[mpg123] = ",--disable-mpg123,mpg123" | ||
125 | PACKAGECONFIG[directfb] = "--enable-directfb,--disable-directfb,directfb" | ||
126 | |||
127 | FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O4 -ffast-math" | ||
128 | BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}" | ||
129 | |||
130 | CFLAGS_append = " -I${S}/libdvdread4 " | ||
131 | |||
132 | do_configure() { | ||
133 | sed -i 's|/usr/include|${STAGING_INCDIR}|g' ${S}/configure | ||
134 | sed -i 's|/usr/lib|${STAGING_LIBDIR}|g' ${S}/configure | ||
135 | sed -i 's|/usr/\S*include[\w/]*||g' ${S}/configure | ||
136 | sed -i 's|/usr/\S*lib[\w/]*||g' ${S}/configure | ||
137 | sed -i 's|_install_strip="-s"|_install_strip=""|g' ${S}/configure | ||
138 | sed -i 's|HOST_CC|BUILD_CC|' ${S}/Makefile | ||
139 | sed -i 's|extra_cflags="-I. $extra_cflags"|extra_cflags="-I. -I${STAGING_INCDIR}/directfb $extra_cflags"|g' ${S}/configure | ||
140 | export SIMPLE_TARGET_SYS="$(echo ${TARGET_SYS} | sed s:${TARGET_VENDOR}::g)" | ||
141 | ./configure ${EXTRA_OECONF} | ||
142 | |||
143 | } | ||
144 | |||
145 | do_compile () { | ||
146 | oe_runmake | ||
147 | } | ||
148 | |||
149 | do_install() { | ||
150 | oe_runmake 'DESTDIR=${D}' install-no-man | ||
151 | install -d ${D}/usr/etc/mplayer | ||
152 | install ${S}/etc/input.conf ${D}/usr/etc/mplayer/ | ||
153 | install ${S}/etc/example.conf ${D}/usr/etc/mplayer/ | ||
154 | install ${S}/etc/codecs.conf ${D}/usr/etc/mplayer/ | ||
155 | [ -e ${D}/usr/lib ] && rmdir ${D}/usr/lib | ||
156 | } | ||
157 | |||
158 | # http://errors.yoctoproject.org/Errors/Details/40734/ | ||
159 | PNBLACKLIST[mplayer2] ?= "Not compatible with currently used ffmpeg 3 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-navigation/gdal/gdal_1.11.1.bb b/meta-oe/recipes-navigation/gdal/gdal_1.11.1.bb deleted file mode 100644 index 4e821be5a..000000000 --- a/meta-oe/recipes-navigation/gdal/gdal_1.11.1.bb +++ /dev/null | |||
@@ -1,114 +0,0 @@ | |||
1 | SUMMARY = "GDAL is a translator library for raster geospatial data formats" | ||
2 | HOMEPAGE = "http://www.gdal.org/" | ||
3 | LICENSE = "MIT" | ||
4 | LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=0952e17969fab12227096b5228f23149" | ||
5 | |||
6 | DEPENDS = "proj sqlite3 tiff json-c" | ||
7 | |||
8 | SRC_URI = "ftp://download.osgeo.org/gdal/${PV}/${BP}.tar.xz" | ||
9 | |||
10 | SRC_URI[md5sum] = "2e126d7c6605691d38f3e71b945f5c73" | ||
11 | SRC_URI[sha256sum] = "20e1042cff15a71038459a299732fb342428aea9912f32df30c85790fcab6302" | ||
12 | |||
13 | inherit autotools-brokensep lib_package binconfig | ||
14 | |||
15 | EXTRA_OECONF = "--without-perl \ | ||
16 | --without-php \ | ||
17 | --without-ruby \ | ||
18 | --without-python \ | ||
19 | \ | ||
20 | --without-grass \ | ||
21 | --without-libgrass \ | ||
22 | --without-cfitsio \ | ||
23 | --without-dds \ | ||
24 | --without-gta \ | ||
25 | --without-pcidsk \ | ||
26 | --without-ogdi \ | ||
27 | --without-fme \ | ||
28 | --without-hdf4 \ | ||
29 | --without-hdf5 \ | ||
30 | --without-pg \ | ||
31 | --without-jpeg12 \ | ||
32 | --without-ogdi \ | ||
33 | --without-netcdf \ | ||
34 | --without-openjpeg \ | ||
35 | --without-fgdb \ | ||
36 | --without-ecw \ | ||
37 | --without-kakadu \ | ||
38 | --without-mrsid \ | ||
39 | --without-jp2mrsid \ | ||
40 | --without-mrsid_lidar \ | ||
41 | --without-msg \ | ||
42 | --without-bsb \ | ||
43 | --without-grib \ | ||
44 | --without-mysql \ | ||
45 | --without-ingres \ | ||
46 | --without-odbc \ | ||
47 | --without-dods_root \ | ||
48 | --without-xml2 \ | ||
49 | --without-spatialite \ | ||
50 | --without-pcre \ | ||
51 | --without-dwgdirect \ | ||
52 | --without-dwgdirect \ | ||
53 | --without-idb \ | ||
54 | --without-sde \ | ||
55 | --without-sde-version \ | ||
56 | --without-epsilon \ | ||
57 | --without-webp \ | ||
58 | --without-opencl \ | ||
59 | --without-opencl-include \ | ||
60 | --without-opencl-lib \ | ||
61 | --without-freexl \ | ||
62 | --without-pam \ | ||
63 | --without-poppler \ | ||
64 | --without-podofo \ | ||
65 | --without-podofo-lib \ | ||
66 | --without-podofo-extra-lib-for-test \ | ||
67 | --without-static_proj4 \ | ||
68 | --without-perl \ | ||
69 | --without-php \ | ||
70 | --without-ruby \ | ||
71 | --without-python \ | ||
72 | --without-java \ | ||
73 | --without-mdb \ | ||
74 | --without-jvm-lib \ | ||
75 | --without-jvm-lib-add-rpath \ | ||
76 | --without-rasdaman \ | ||
77 | --without-armadillo \ | ||
78 | \ | ||
79 | --with-pcraster=internal \ | ||
80 | --with-geotiff=internal \ | ||
81 | \ | ||
82 | --with-sqlite3=${STAGING_EXECPREFIXDIR} \ | ||
83 | --with-libtiff=${STAGING_EXECPREFIXDIR} \ | ||
84 | --with-libjson-c=${STAGING_EXECPREFIXDIR} \ | ||
85 | --with-expat=${STAGING_EXECPREFIXDIR} \ | ||
86 | " | ||
87 | |||
88 | EXTRA_OEMAKE += "INST_DATA="${datadir}/gdal"" | ||
89 | |||
90 | PACKAGECONFIG ?= "geos png jasper" | ||
91 | PACKAGECONFIG[geos] = "--with-geos,--without-geos,geos" | ||
92 | PACKAGECONFIG[lzma] = "--with-liblzma,--without-liblzma,xz" | ||
93 | PACKAGECONFIG[png] = "--with-png,--without-png,libpng" | ||
94 | PACKAGECONFIG[gif] = "--with-gif,--without-gif,giflib" | ||
95 | PACKAGECONFIG[jpeg] = "--with-jpeg,--without-jpeg,jpeg" | ||
96 | PACKAGECONFIG[z] = "--with-libz,--without-libz,zlib" | ||
97 | PACKAGECONFIG[jasper] = "--with-jasper,--without-jasper,jasper" | ||
98 | PACKAGECONFIG[curl] = "--with-curl,--without-curl,curl" | ||
99 | |||
100 | do_configure_prepend () { | ||
101 | # The configure script has many hardcoded paths to search | ||
102 | # for the library headers when using external libraries, | ||
103 | # workaround it. | ||
104 | sed -e 's,/usr/include,NON_EXISTENT_DIR,g' \ | ||
105 | -e 's,/usr/lib,NON_EXISTENT_DIR,g' \ | ||
106 | -i ${S}/configure.in | ||
107 | } | ||
108 | |||
109 | FILES_${PN} += "${libdir}/gdalplugins" | ||
110 | |||
111 | # | gdalserver.c:124:21: error: storage size of 'sHints' isn't known | ||
112 | # | struct addrinfo sHints; | ||
113 | # | ^ | ||
114 | PNBLACKLIST[gdal] ?= "BROKEN: fails to build with gcc-5 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-sato/claws-mail/claws-mail_3.9.0.bb b/meta-oe/recipes-sato/claws-mail/claws-mail_3.9.0.bb deleted file mode 100644 index 534ba3b14..000000000 --- a/meta-oe/recipes-sato/claws-mail/claws-mail_3.9.0.bb +++ /dev/null | |||
@@ -1,56 +0,0 @@ | |||
1 | SECTION = "x11/network" | ||
2 | SUMMARY = "Mail user agent" | ||
3 | DEPENDS = "gtk+ libetpan openssl aspell curl libgcrypt" | ||
4 | LICENSE = "GPLv3" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=e059bde2972c1790af786f3e86bac22e" | ||
6 | |||
7 | PNBLACKLIST[claws-mail] ?= "depends on blacklisted libetpan - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
8 | |||
9 | inherit autotools pkgconfig gettext | ||
10 | |||
11 | # translation patch: http://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=1774 | ||
12 | SRC_URI = "\ | ||
13 | ${SOURCEFORGE_MIRROR}/project/claws-mail/Claws%20Mail/${PV}/claws-mail-${PV}.tar.bz2;name=archive " | ||
14 | SRC_URI[archive.md5sum] = "4c5ac7b21f0ed17d0f6404124c2229a4" | ||
15 | SRC_URI[archive.sha256sum] = "ed70975a5056b3ffc4fe6e977f0d9606febc1499763c090241b029a73ff24e65" | ||
16 | |||
17 | do_configure_append() { | ||
18 | cd ${S}/po ; for PO in *.po ; do MO=`echo $PO | sed s/\\.po//`.gmo ; if ! test -f $MO ; then msgfmt $PO -o $MO ; fi ; done; cd ${B} | ||
19 | } | ||
20 | |||
21 | PACKAGECONFIG ??= "startup-notification dbus" | ||
22 | PACKAGECONFIG[enchant] = "--enable-enchant,--disable-enchant,enchant" | ||
23 | PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification" | ||
24 | PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib" | ||
25 | PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap" | ||
26 | |||
27 | # FIXME: maemo builds may want --enable-maemo | ||
28 | # FIXME: some platforms may want --enable-generic-umpc | ||
29 | EXTRA_OECONF = " \ | ||
30 | --disable-manual \ | ||
31 | --disable-crash-dialog \ | ||
32 | --disable-jpilot \ | ||
33 | --disable-trayicon-plugin \ | ||
34 | --disable-spamassassin-plugin \ | ||
35 | --disable-bogofilter-plugin \ | ||
36 | --disable-pgpcore-plugin \ | ||
37 | --disable-pgpmime-plugin \ | ||
38 | --disable-pgpinline-plugin \ | ||
39 | --disable-dillo-viewer-plugin \ | ||
40 | --disable-valgrind \ | ||
41 | " | ||
42 | |||
43 | # Remove enchant references: | ||
44 | do_install_prepend() { | ||
45 | sed -i -e 's:${STAGING_INCDIR}:${includedir}:g;s:${STAGING_LIBDIR}:${libdir}:g' claws-mail.pc | ||
46 | } | ||
47 | |||
48 | # Work-around broken GPE icon lookup: | ||
49 | do_install_append() { | ||
50 | rm -r ${D}${datadir}/icons | ||
51 | install -d ${D}${datadir}/pixmaps | ||
52 | install -m 0644 ${S}/claws-mail.png ${D}${datadir}/pixmaps/ | ||
53 | sed -i 's/Icon=[^.]*$/&.png/' ${D}${datadir}/applications/claws-mail.desktop | ||
54 | } | ||
55 | |||
56 | RSUGGESTS_${PN} = "claws-plugin-gtkhtml2-viewer claws-plugin-mailmbox claws-plugin-rssyl" | ||
diff --git a/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer/configure.patch b/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer/configure.patch deleted file mode 100644 index 222a79602..000000000 --- a/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer/configure.patch +++ /dev/null | |||
@@ -1,52 +0,0 @@ | |||
1 | Index: gtkhtml2_viewer-0.31/configure.ac | ||
2 | =================================================================== | ||
3 | --- gtkhtml2_viewer-0.31.orig/configure.ac 2011-08-27 08:08:55.000000000 +0000 | ||
4 | +++ gtkhtml2_viewer-0.31/configure.ac 2014-07-18 07:28:42.769518618 +0000 | ||
5 | @@ -1,33 +1,27 @@ | ||
6 | AC_PREREQ(2.60) | ||
7 | -AC_INIT(src/gtkhtml2_viewer.c) | ||
8 | + | ||
9 | +dnl plugin version | ||
10 | +m4_define([plugin_major_version],[0]) | ||
11 | +m4_define([plugin_minor_version],[31]) | ||
12 | +m4_define([plugin_micro_version],[0]) | ||
13 | +m4_define([plugin_version], [plugin_major_version.plugin_minor_version.plugin_micro_version]) | ||
14 | + | ||
15 | +AC_INIT(gtkhml2_viewer, plugin_version) | ||
16 | +AC_CONFIG_SRCDIR(src/gtkhtml2_viewer.c) | ||
17 | AC_CONFIG_AUX_DIR(config) | ||
18 | AM_MAINTAINER_MODE | ||
19 | |||
20 | PACKAGE=gtkhtml2_viewer | ||
21 | |||
22 | -dnl plugin version | ||
23 | -MAJOR_VERSION=0 | ||
24 | -MINOR_VERSION=31 | ||
25 | -MICRO_VERSION=0 | ||
26 | +MAJOR_VERSION=plugin_major_version | ||
27 | +MINOR_VERSION=plugin_minor_version | ||
28 | +MICRO_VERSION=plugin_micro_version | ||
29 | EXTRA_VERSION=0 | ||
30 | - | ||
31 | -if test \( $EXTRA_VERSION -eq 0 \); then | ||
32 | - if test \( $MICRO_VERSION -eq 0 \); then | ||
33 | - VERSION=${MAJOR_VERSION}.${MINOR_VERSION} | ||
34 | - else | ||
35 | - VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION} | ||
36 | - fi | ||
37 | -else | ||
38 | - if test \( $MICRO_VERSION -eq 0 \); then | ||
39 | - VERSION=${MAJOR_VERSION}.${MINOR_VERSION}cvs${EXTRA_VERSION} | ||
40 | - else | ||
41 | - VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}cvs${EXTRA_VERSION} | ||
42 | - fi | ||
43 | -fi | ||
44 | +VERSION=plugin_version | ||
45 | |||
46 | AC_CANONICAL_SYSTEM | ||
47 | |||
48 | -AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define) | ||
49 | +AM_INIT_AUTOMAKE([foreign no-define]) | ||
50 | AC_CONFIG_HEADERS(config.h) | ||
51 | AC_DEFINE_UNQUOTED(PLUGINVERSION, "$VERSION", [plugin version]) | ||
52 | |||
diff --git a/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb b/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb deleted file mode 100644 index 29b41be93..000000000 --- a/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb +++ /dev/null | |||
@@ -1,24 +0,0 @@ | |||
1 | SECTION = "x11/network" | ||
2 | SUMMARY = "Mail user agent plugins" | ||
3 | DEPENDS = "claws-mail gtkhtml2 curl" | ||
4 | LICENSE = "GPLv3" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=977f04a8048c04684e521c06e2844a94" | ||
6 | |||
7 | PNBLACKLIST[claws-plugin-gtkhtml2-viewer] ?= "depends on blacklisted claws-mail - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
8 | |||
9 | PR = "r1" | ||
10 | |||
11 | SRC_URI = "http://www.claws-mail.org/downloads/plugins_obsolete/gtkhtml2_viewer-${PV}.tar.gz \ | ||
12 | file://configure.patch" | ||
13 | SRC_URI[md5sum] = "a6c9dfa6f969ccd844796a5724b52167" | ||
14 | SRC_URI[sha256sum] = "4d41f6d961efaac0f51705e5052bac732bc0bdafee2ef2082a9cf9d89f183ae5" | ||
15 | |||
16 | inherit autotools pkgconfig gettext | ||
17 | |||
18 | S = "${WORKDIR}/gtkhtml2_viewer-${PV}" | ||
19 | |||
20 | FILES_${PN} = "${libdir}/claws-mail/plugins/*.so" | ||
21 | FILES_${PN}-dbg += "${libdir}/claws-mail/plugins/.debug" | ||
22 | FILES_${PN}-dev += "${libdir}/claws-mail/plugins/*.la" | ||
23 | FILES_${PN}-staticdev = "${libdir}/claws-mail/plugins/*.a" | ||
24 | |||
diff --git a/meta-oe/recipes-sato/claws-mail/claws-plugin-mailmbox_1.15.bb b/meta-oe/recipes-sato/claws-mail/claws-plugin-mailmbox_1.15.bb deleted file mode 100644 index 986b5d40d..000000000 --- a/meta-oe/recipes-sato/claws-mail/claws-plugin-mailmbox_1.15.bb +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | SECTION = "x11/network" | ||
2 | SUMMARY = "Mail user agent plugins" | ||
3 | DEPENDS = "claws-mail" | ||
4 | LICENSE = "GPLv3" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" | ||
6 | |||
7 | PNBLACKLIST[claws-plugin-mailmbox] ?= "depends on blacklisted claws-mail - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
8 | |||
9 | SRC_URI = "http://www.claws-mail.org/downloads/plugins_obsolete/mailmbox-${PV}.tar.gz" | ||
10 | SRC_URI[md5sum] = "7f72c68e6e1a8768f1247f455fd20b62" | ||
11 | SRC_URI[sha256sum] = "633f7835261c88a0aa06de38553ac935a1799a7128120963a7fa87ace01dac18" | ||
12 | |||
13 | inherit autotools pkgconfig | ||
14 | |||
15 | S = "${WORKDIR}/mailmbox-${PV}" | ||
16 | |||
17 | FILES_${PN} = "${libdir}/claws-mail/plugins/*.so" | ||
18 | FILES_${PN}-dbg += "${libdir}/claws-mail/plugins/.debug" | ||
19 | FILES_${PN}-dev += "${libdir}/claws-mail/plugins/*.la" | ||
20 | FILES_${PN}-staticdev = "${libdir}/claws-mail/plugins/*.a" | ||
diff --git a/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl/configure.patch b/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl/configure.patch deleted file mode 100644 index a7a38f30c..000000000 --- a/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl/configure.patch +++ /dev/null | |||
@@ -1,53 +0,0 @@ | |||
1 | Index: rssyl-0.34/configure.ac | ||
2 | =================================================================== | ||
3 | --- rssyl-0.34.orig/configure.ac 2014-07-18 07:37:28.981532959 +0000 | ||
4 | +++ rssyl-0.34/configure.ac 2014-07-18 07:39:45.881536690 +0000 | ||
5 | @@ -1,5 +1,13 @@ | ||
6 | + | ||
7 | +dnl plugin version | ||
8 | +m4_define([plugin_major_version],[0]) | ||
9 | +m4_define([plugin_minor_version],[34]) | ||
10 | +m4_define([plugin_micro_version],[0]) | ||
11 | +m4_define([plugin_version], [plugin_major_version.plugin_minor_version.plugin_micro_version]) | ||
12 | + | ||
13 | AC_PREREQ(2.60) | ||
14 | -AC_INIT(src/plugin.c) | ||
15 | +AC_INIT(rssyl, plugin_version) | ||
16 | +AC_CONFIG_SRCDIR(src/plugin.c) | ||
17 | AC_CONFIG_AUX_DIR(config) | ||
18 | AM_MAINTAINER_MODE | ||
19 | AC_CONFIG_HEADERS(config.h) | ||
20 | @@ -7,28 +15,15 @@ | ||
21 | PACKAGE=rssyl | ||
22 | |||
23 | dnl plugin version | ||
24 | -MAJOR_VERSION=0 | ||
25 | -MINOR_VERSION=34 | ||
26 | -MICRO_VERSION=0 | ||
27 | +MAJOR_VERSION=plugin_major_version | ||
28 | +MINOR_VERSION=plugin_minor_version | ||
29 | +MICRO_VERSION=plugin_micro_version | ||
30 | EXTRA_VERSION=0 | ||
31 | - | ||
32 | -if test \( $EXTRA_VERSION -eq 0 \); then | ||
33 | - if test \( $MICRO_VERSION -eq 0 \); then | ||
34 | - VERSION=${MAJOR_VERSION}.${MINOR_VERSION} | ||
35 | - else | ||
36 | - VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION} | ||
37 | - fi | ||
38 | -else | ||
39 | - if test \( $MICRO_VERSION -eq 0 \); then | ||
40 | - VERSION=${MAJOR_VERSION}.${MINOR_VERSION}cvs${EXTRA_VERSION} | ||
41 | - else | ||
42 | - VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}cvs${EXTRA_VERSION} | ||
43 | - fi | ||
44 | -fi | ||
45 | +VERSION=plugin_version | ||
46 | |||
47 | AC_CANONICAL_SYSTEM | ||
48 | |||
49 | -AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define) | ||
50 | +AM_INIT_AUTOMAKE([foreign no-define]) | ||
51 | AC_DEFINE_UNQUOTED(PLUGINVERSION, "$VERSION", [plugin version]) | ||
52 | |||
53 | AC_PROG_CC | ||
diff --git a/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.34.bb b/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.34.bb deleted file mode 100644 index eec9a2d70..000000000 --- a/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.34.bb +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | SECTION = "x11/network" | ||
2 | SUMMARY = "Mail user agent plugins" | ||
3 | DEPENDS = "claws-mail libxml2 curl glib-2.0 gtk+" | ||
4 | LICENSE = "GPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=0c2348e0a084e573f0220f5e45d8097e" | ||
6 | |||
7 | PNBLACKLIST[claws-plugin-rssyl] ?= "depends on blacklisted claws-mail - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
8 | |||
9 | SRC_URI = "http://www.claws-mail.org/downloads/plugins_obsolete/rssyl-${PV}.tar.gz \ | ||
10 | file://configure.patch" | ||
11 | SRC_URI[md5sum] = "49b45608e8d160b3625d3d50016ec2ca" | ||
12 | SRC_URI[sha256sum] = "2e96a1cd6a1a5bb7f86cd2eb48f6e174665957fafe1f3b1e8361aac3bb967f79" | ||
13 | inherit autotools pkgconfig gettext | ||
14 | |||
15 | S = "${WORKDIR}/rssyl-${PV}" | ||
16 | |||
17 | FILES_${PN} = "${libdir}/claws-mail/plugins/*.so" | ||
18 | FILES_${PN}-dbg += "${libdir}/claws-mail/plugins/.debug" | ||
19 | FILES_${PN}-dev += "${libdir}/claws-mail/plugins/*.la" | ||
20 | FILES_${PN}-staticdev = "${libdir}/claws-mail/plugins/*.a" | ||
diff --git a/meta-oe/recipes-sato/claws-mail/sylpheed/glib-2.32.patch b/meta-oe/recipes-sato/claws-mail/sylpheed/glib-2.32.patch deleted file mode 100644 index 1520e578a..000000000 --- a/meta-oe/recipes-sato/claws-mail/sylpheed/glib-2.32.patch +++ /dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | --- sylpheed-2.7.1.orig/libsylph/defs.h 2009-06-10 09:55:46.000000000 +0200 | ||
2 | +++ sylpheed-2.7.1/libsylph/defs.h 2012-05-06 08:28:27.514746256 +0200 | ||
3 | @@ -24,8 +24,6 @@ | ||
4 | # include "config.h" | ||
5 | #endif | ||
6 | |||
7 | -#include <glibconfig.h> | ||
8 | - | ||
9 | #ifdef G_OS_WIN32 | ||
10 | # include <glib/gwin32.h> | ||
11 | #endif | ||
diff --git a/meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb b/meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb deleted file mode 100644 index 978d777ea..000000000 --- a/meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | SECTION = "x11/network" | ||
2 | SUMMARY = "Mail user agent" | ||
3 | DEPENDS = "gtk+ gpgme gnutls" | ||
4 | LICENSE = "GPLv2 & LGPLv2.1" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4 \ | ||
6 | file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1" | ||
7 | |||
8 | PR = "r2" | ||
9 | |||
10 | SRC_URI = "http://sylpheed.sraoss.jp/sylpheed/v2.7/sylpheed-${PV}.tar.bz2 \ | ||
11 | file://glib-2.32.patch \ | ||
12 | " | ||
13 | SRC_URI[md5sum] = "1f470525c1fbe53253813a0978c18228" | ||
14 | SRC_URI[sha256sum] = "8bb6457db4e2eea1877b487d9ac8513546372db9a6a2e4271d11229f4af84e23" | ||
15 | |||
16 | FILES_${PN} += "${datadir}/pixmaps ${datadir}/applications" | ||
17 | FILES_${PN}-doc += "${datadir}" | ||
18 | |||
19 | EXTRA_OECONF = "--disable-ssl" | ||
20 | |||
21 | CFLAGS += "-D_GNU_SOURCE" | ||
22 | |||
23 | do_configure_prepend() { | ||
24 | mkdir -p m4 | ||
25 | for i in $(find ${S} -name "Makefile.am") ; do | ||
26 | sed -i s:'-I$(includedir)'::g $i | ||
27 | done | ||
28 | } | ||
29 | |||
30 | inherit autotools pkgconfig | ||
31 | |||
32 | |||
33 | PNBLACKLIST[sylpheed] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130651/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb b/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb deleted file mode 100644 index c8c54a413..000000000 --- a/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb +++ /dev/null | |||
@@ -1,42 +0,0 @@ | |||
1 | SUMMARY = "Apcupsd a daemon for controlling APC UPSes" | ||
2 | |||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=c12853cc7fdf20d17b4fddefd26b7802" | ||
5 | |||
6 | SRC_URI = "http://garr.dl.sourceforge.net/project/apcupsd/apcupsd%20-%20Stable/3.14.10/apcupsd-${PV}.tar.gz" | ||
7 | SRC_URI[md5sum] = "5928822d855c5cf7ac29655e3e0b8c23" | ||
8 | SRC_URI[sha256sum] = "0707b5ec9916fbde9e44eb8d18037c8d8f75dfd6aeef51aba5487e189eef2032" | ||
9 | |||
10 | PNBLACKLIST[apcupsd] ?= "BROKEN: doesn't build with B!=S - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
11 | |||
12 | inherit autotools | ||
13 | |||
14 | LD = "${CXX}" | ||
15 | |||
16 | EXTRA_OECONF = "--without-x \ | ||
17 | --enable-usb \ | ||
18 | --with-distname=${DISTRO}" | ||
19 | |||
20 | do_configure() { | ||
21 | export topdir=${S} | ||
22 | cp -R --no-dereference --preserve=mode,links -v ${S}/autoconf/configure.in ${S} | ||
23 | |||
24 | if ! [ -d ${S}/platforms/${DISTRO} ] ; then | ||
25 | cp -R --no-dereference --preserve=mode,links -v ${S}/platforms/unknown ${S}/platforms/${DISTRO} | ||
26 | fi | ||
27 | |||
28 | gnu-configize --force | ||
29 | # install --help says '-c' is an ignored option, but it turns out that the argument to -c isn't ignored, so drop the complete '-c path/to/strip' line | ||
30 | sed -i -e 's:$(INSTALL_PROGRAM) $(STRIP):$(INSTALL_PROGRAM):g' ${S}/autoconf/targets.mak | ||
31 | # Searching in host dirs triggers the QA checks | ||
32 | sed -i -e 's:-I/usr/local/include::g' -e 's:-L/usr/local/lib64::g' -e 's:-L/usr/local/lib::g' ${S}/configure | ||
33 | |||
34 | # m4 macros are missing, using autotools_do_configure leads to linking errors with gethostname_re | ||
35 | oe_runconf | ||
36 | } | ||
37 | |||
38 | do_install_append() { | ||
39 | rm ${D}${datadir}/hal -rf | ||
40 | } | ||
41 | |||
42 | |||
diff --git a/meta-oe/recipes-support/emacs/emacs-23.4/nostdlib-unwind.patch b/meta-oe/recipes-support/emacs/emacs-23.4/nostdlib-unwind.patch deleted file mode 100644 index 4200301a3..000000000 --- a/meta-oe/recipes-support/emacs/emacs-23.4/nostdlib-unwind.patch +++ /dev/null | |||
@@ -1,16 +0,0 @@ | |||
1 | Fix linking problem: | ||
2 | undefined reference to `__aeabi_unwind_cpp_pr0' | ||
3 | undefined reference to `__aeabi_unwind_cpp_pr1' | ||
4 | Index: emacs/src/Makefile.in | ||
5 | =================================================================== | ||
6 | --- emacs.orig/src/Makefile.in 2008-08-16 14:20:18.000000000 +0000 | ||
7 | +++ emacs/src/Makefile.in 2008-08-16 14:51:25.000000000 +0000 | ||
8 | @@ -443,7 +443,7 @@ | ||
9 | ask GCC explicitly where to find libgcc.a. */ | ||
10 | |||
11 | #ifndef LINKER | ||
12 | -#define LINKER $(CC) -nostdlib | ||
13 | +#define LINKER $(CC) -nostdlib -lgcc_s | ||
14 | #endif | ||
15 | |||
16 | #ifndef LIB_GCC | ||
diff --git a/meta-oe/recipes-support/emacs/emacs-23.4/use-qemu.patch b/meta-oe/recipes-support/emacs/emacs-23.4/use-qemu.patch deleted file mode 100644 index c15207a43..000000000 --- a/meta-oe/recipes-support/emacs/emacs-23.4/use-qemu.patch +++ /dev/null | |||
@@ -1,104 +0,0 @@ | |||
1 | Upstream-Status: Inappropriate [embedded specific] | ||
2 | |||
3 | diff -uNr emacs-23.4/Makefile.in emacs-23.4.new/Makefile.in | ||
4 | --- emacs-23.4/Makefile.in 2012-01-11 13:35:01.000000000 +0100 | ||
5 | +++ emacs-23.4.new/Makefile.in 2012-07-31 00:54:07.223590866 +0200 | ||
6 | @@ -336,7 +336,7 @@ | ||
7 | # all preloaded elisp files, and only then dump the actual src/emacs, which | ||
8 | # is not wrong, but is overkill in 99.99% of the cases. | ||
9 | src: Makefile FRC | ||
10 | - boot=bootstrap-emacs$(EXEEXT); \ | ||
11 | + boot=${QEMU} bootstrap-emacs$(EXEEXT); \ | ||
12 | if [ ! -x "src/$$boot" ]; then \ | ||
13 | cd $@; $(MAKE) all $(MFLAGS) \ | ||
14 | CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \ | ||
15 | diff -uNr emacs-23.4/leim/Makefile.in emacs-23.4.new/leim/Makefile.in | ||
16 | --- emacs-23.4/leim/Makefile.in 2012-01-11 13:35:01.000000000 +0100 | ||
17 | +++ emacs-23.4.new/leim/Makefile.in 2012-07-31 00:54:07.179590866 +0200 | ||
18 | @@ -51,7 +51,7 @@ | ||
19 | |||
20 | # How to run Emacs. | ||
21 | RUN-EMACS = EMACSLOADPATH=$(buildlisppath) LC_ALL=C \ | ||
22 | - ${BUILT-EMACS} -batch --no-init-file --no-site-file --multibyte | ||
23 | + ${QEMU} ${BUILT-EMACS} -batch --no-init-file --no-site-file --multibyte | ||
24 | |||
25 | # Subdirectories to be made if ${srcdir} is different from the current | ||
26 | # directory. | ||
27 | diff -uNr emacs-23.4/lib-src/Makefile.in emacs-23.4.new/lib-src/Makefile.in | ||
28 | --- emacs-23.4/lib-src/Makefile.in 2012-01-11 13:35:01.000000000 +0100 | ||
29 | +++ emacs-23.4.new/lib-src/Makefile.in 2012-07-31 00:54:07.180590866 +0200 | ||
30 | @@ -23,7 +23,7 @@ | ||
31 | SHELL = /bin/sh | ||
32 | |||
33 | # Following ../lisp/Makefile.in. | ||
34 | -EMACS = ../src/emacs | ||
35 | +EMACS = ${QEMU} ../src/emacs | ||
36 | EMACSOPT = -batch --no-site-file --multibyte | ||
37 | |||
38 | # ==================== Things `configure' will edit ==================== | ||
39 | @@ -372,7 +372,7 @@ | ||
40 | clobbered too. */ | ||
41 | test-distrib${EXEEXT}: ${srcdir}/test-distrib.c | ||
42 | $(CC) ${ALL_CFLAGS} -o test-distrib ${srcdir}/test-distrib.c | ||
43 | - ./test-distrib ${srcdir}/testfile | ||
44 | + ${QEMU} ./test-distrib ${srcdir}/testfile | ||
45 | |||
46 | /* We need the following in order to create a <getopt.h> when the system | ||
47 | does not have one that works with the given compiler. */ | ||
48 | diff -uNr emacs-23.4/lisp/Makefile.in emacs-23.4.new/lisp/Makefile.in | ||
49 | --- emacs-23.4/lisp/Makefile.in 2012-01-11 13:35:01.000000000 +0100 | ||
50 | +++ emacs-23.4.new/lisp/Makefile.in 2012-07-31 00:54:07.195590866 +0200 | ||
51 | @@ -26,8 +26,7 @@ | ||
52 | # You can specify a different executable on the make command line, | ||
53 | # e.g. "make EMACS=../src/emacs ...". | ||
54 | |||
55 | -EMACS = ../src/emacs | ||
56 | - | ||
57 | +EMACS = "${QEMU} ../src/emacs" | ||
58 | # Command line flags for Emacs. This must include --multibyte, | ||
59 | # otherwise some files will not compile. | ||
60 | |||
61 | diff -uNr emacs-23.4/src/Makefile.in emacs-23.4.new/src/Makefile.in | ||
62 | --- emacs-23.4/src/Makefile.in 2012-01-12 11:27:54.000000000 +0100 | ||
63 | +++ emacs-23.4.new/src/Makefile.in 2012-07-31 00:55:30.344593847 +0200 | ||
64 | @@ -482,7 +482,7 @@ | ||
65 | this with the shell''s ``for'' construct. | ||
66 | Note that some people do not have '.' in their paths, so we must | ||
67 | use ./prefix-args. */ | ||
68 | -#define YMF_PASS_LDFLAGS(flags) `./prefix-args -Xlinker flags` | ||
69 | +#define YMF_PASS_LDFLAGS(flags) `${QEMU} ./prefix-args -Xlinker flags` | ||
70 | #else | ||
71 | #define YMF_PASS_LDFLAGS(flags) flags | ||
72 | #endif | ||
73 | @@ -919,9 +919,9 @@ | ||
74 | $(GNULIB_VAR) LIB_MATH LIB_STANDARD $(GNULIB_VAR) | ||
75 | |||
76 | #ifdef HAVE_SHM | ||
77 | -RUN_TEMACS = `/bin/pwd`/temacs -nl | ||
78 | +RUN_TEMACS = ${QEMU} temacs -nl | ||
79 | #else | ||
80 | -RUN_TEMACS = `/bin/pwd`/temacs | ||
81 | +RUN_TEMACS = ${QEMU} temacs | ||
82 | #endif | ||
83 | |||
84 | all: emacs${EXEEXT} $(OTHER_FILES) | ||
85 | @@ -936,7 +936,7 @@ | ||
86 | @: This new Emacs is as functional and more efficient then | ||
87 | @: bootstrap-emacs, so let us replace it. | ||
88 | -ln -f emacs${EXEEXT} bootstrap-emacs${EXEEXT} | ||
89 | - -./emacs -q -batch -f list-load-path-shadows | ||
90 | + -${QEMU} ./emacs -q -batch -f list-load-path-shadows | ||
91 | #endif /* ! defined (CANNOT_DUMP) */ | ||
92 | |||
93 | /* We run make-docfile twice because the command line may get too long | ||
94 | @@ -954,8 +954,8 @@ | ||
95 | only in order to reduce the command line length. --Stef */ | ||
96 | ${etc}DOC: ${libsrc}make-docfile${EXEEXT} ${obj} ${lisp} ${SOME_MACHINE_LISP} | ||
97 | -rm -f ${etc}DOC | ||
98 | - ${libsrc}make-docfile -d ${srcdir} ${SOME_MACHINE_OBJECTS} ${obj} > ${etc}DOC | ||
99 | - ${libsrc}make-docfile -a ${etc}DOC -d ${srcdir} ${SOME_MACHINE_LISP} ${shortlisp} | ||
100 | + ${QEMU}${libsrc}make-docfile -d ${srcdir} ${SOME_MACHINE_OBJECTS} ${obj} > ${etc}DOC | ||
101 | + ${QEMU} ${libsrc}make-docfile -a ${etc}DOC -d ${srcdir} ${SOME_MACHINE_LISP} ${shortlisp} | ||
102 | |||
103 | ${libsrc}make-docfile${EXEEXT}: | ||
104 | cd ${libsrc}; ${MAKE} ${MFLAGS} make-docfile${EXEEXT} | ||
diff --git a/meta-oe/recipes-support/emacs/emacs.inc b/meta-oe/recipes-support/emacs/emacs.inc deleted file mode 100644 index 5b905f93f..000000000 --- a/meta-oe/recipes-support/emacs/emacs.inc +++ /dev/null | |||
@@ -1,147 +0,0 @@ | |||
1 | DESCRIPTION = "Emacs" | ||
2 | HOMEPAGE = "http://www.gnu.org/software/emacs/" | ||
3 | LICENSE = "GPLv3" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" | ||
5 | SECTION = "editor" | ||
6 | # and it needs to run some generated binaries.. | ||
7 | DEPENDS += "qemu-native" | ||
8 | |||
9 | DEPENDS +=" liblockfile" | ||
10 | |||
11 | X11DEPENDS = " \ | ||
12 | libice libsm atk cairo dbus expat libffi fontconfig freetype gconf giflib \ | ||
13 | jpeg xz pixman libpng librsvg tiff libcroco \ | ||
14 | libx11 libxau libxcomposite libxcursor libxdamage libxdmcp libxext libxfixes \ | ||
15 | libxft libxpm libxrandr libxrender \ | ||
16 | gdk-pixbuf glib-2.0 gtk+ pango libxcb harfbuzz icu \ | ||
17 | " | ||
18 | |||
19 | EXTRA_OECONF = "--without-sound --with-crt-dir=${STAGING_LIBDIR} " | ||
20 | |||
21 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" | ||
22 | PACKAGECONFIG[x11] = "--with-x-toolkit=gtk,--without-x --without-dbus,${X11DEPENDS}" | ||
23 | |||
24 | |||
25 | inherit autotools | ||
26 | |||
27 | PACKAGES =+ "${PN}-el" | ||
28 | |||
29 | FILES_${PN}-el = "${datadir}/emacs/*/*/*.el.gz \ | ||
30 | ${datadir}/emacs/*/*/*/*.el.gz" | ||
31 | |||
32 | FILES_${PN} += "${datadir}/emacs ${datadir}/icons" | ||
33 | |||
34 | FILES_${PN}-dbg += "${libexecdir}/emacs/*/*/.debug ${datadir}/emacs/*/*/.debug" | ||
35 | |||
36 | TREEDIR = "${WORKDIR}/qemu-treedir" | ||
37 | |||
38 | QEMUARCH= "${TARGET_ARCH}" | ||
39 | QEMUARCH_x86 = "i386" | ||
40 | |||
41 | # Large stack is required at least on x86_64 host, otherwise random segfaults appear: | ||
42 | QEMU = "qemu-${QEMUARCH} ${QEMU_OPTIONS} -s 1048576 -L ${TREEDIR} " | ||
43 | |||
44 | export LOGNAME = "$(whoami)" | ||
45 | |||
46 | do_compile_prepend() { | ||
47 | sed -i ':1;s:\(START.* \|LIB_STANDARD.* \|LIBES.* \)/usr/lib:\1${STAGING_LIBDIR}:;t1' ${S}/src/s/gnu-linux.h `find "${S}" -name Makefile` | ||
48 | export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${TOOLCHAIN_PATH}/${TARGET_SYS}/lib" | ||
49 | # Ugly hack, see files/use-qemu.patch for more: | ||
50 | ln -sf ../src/emacs lisp/emacs | ||
51 | ln -sf ../src/emacs lib-src/emacs | ||
52 | ln -sf ../src/emacs leim/emacs | ||
53 | #copy STAGING_DIR_TARGET and libgcc_s.so* to WORKDIR/qemu-treedir #copied code from glibc-package.bbclass | ||
54 | treedir=${TREEDIR} | ||
55 | if [ -e $treedir ];then | ||
56 | rm -rf $treedir | ||
57 | fi | ||
58 | |||
59 | mkdir -p $treedir/${base_libdir} | ||
60 | |||
61 | if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so ]; then | ||
62 | cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so $treedir/${base_libdir} | ||
63 | fi | ||
64 | if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* ]; then | ||
65 | cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* $treedir/${base_libdir} | ||
66 | fi | ||
67 | # stupid hack, but without it, it tries to use /usr/lib/libc.so from host and fails | ||
68 | # temacs: error while loading shared libraries: /usr/lib/libc.so: ELF file version does not match current one | ||
69 | if [ ! -f $treedir/${base_libdir}/libc.so ]; then | ||
70 | ln -s libc.so.6 $treedir/${base_libdir}/libc.so | ||
71 | fi | ||
72 | |||
73 | # copy only as much stuff as we need | ||
74 | # before: 5.5G ../../qemu-treedir/ | ||
75 | # after: 17M ../../qemu-treedir/ | ||
76 | cp -pPR \ | ||
77 | ${STAGING_DIR_TARGET}/${base_libdir}/ld-* \ | ||
78 | ${STAGING_DIR_TARGET}/${base_libdir}/libc.* \ | ||
79 | ${STAGING_DIR_TARGET}/${base_libdir}/libc-* \ | ||
80 | ${STAGING_DIR_TARGET}/${base_libdir}/libm-* \ | ||
81 | ${STAGING_DIR_TARGET}/${base_libdir}/libm.* \ | ||
82 | ${STAGING_DIR_TARGET}/${base_libdir}/libtinfo.so.* \ | ||
83 | ${STAGING_DIR_TARGET}/${base_libdir}/libresolv* \ | ||
84 | ${STAGING_DIR_TARGET}/${base_libdir}/libdl* \ | ||
85 | ${STAGING_DIR_TARGET}/${base_libdir}/librt* \ | ||
86 | ${STAGING_DIR_TARGET}/${base_libdir}/libgcc_s.so.* \ | ||
87 | ${STAGING_DIR_TARGET}/${base_libdir}/libpthread* $treedir/${base_libdir}/ | ||
88 | |||
89 | if [ ! -z "${@bb.utils.filter('PACKAGECONFIG', 'x11', d)}" ]; then | ||
90 | echo "X11 build enabled" | ||
91 | # copy only as much stuff as we need | ||
92 | # before: 5.5G ../../qemu-treedir/ | ||
93 | # after: 86M ../../qemu-treedir/ | ||
94 | cp -pPR \ | ||
95 | ${STAGING_DIR_TARGET}/${base_libdir}/libuuid.so.* \ | ||
96 | ${STAGING_DIR_TARGET}/${base_libdir}/libz.so.* \ | ||
97 | ${STAGING_DIR_TARGET}/${libdir}/libICE.so.* \ | ||
98 | ${STAGING_DIR_TARGET}/${libdir}/libSM.so.* \ | ||
99 | ${STAGING_DIR_TARGET}/${libdir}/libatk-1.0.so.* \ | ||
100 | ${STAGING_DIR_TARGET}/${libdir}/libcairo.so.* \ | ||
101 | ${STAGING_DIR_TARGET}/${libdir}/libdbus-1.so.* \ | ||
102 | ${STAGING_DIR_TARGET}/${libdir}/libdbus-glib-1.so.* \ | ||
103 | ${STAGING_DIR_TARGET}/${libdir}/libexpat.so.* \ | ||
104 | ${STAGING_DIR_TARGET}/${libdir}/libffi.so.* \ | ||
105 | ${STAGING_DIR_TARGET}/${libdir}/libfontconfig.so.* \ | ||
106 | ${STAGING_DIR_TARGET}/${libdir}/libfreetype.so.* \ | ||
107 | ${STAGING_DIR_TARGET}/${libdir}/libgconf-2.so.* \ | ||
108 | ${STAGING_DIR_TARGET}/${libdir}/libgif.so.* \ | ||
109 | ${STAGING_DIR_TARGET}/${libdir}/libjpeg.so.* \ | ||
110 | ${STAGING_DIR_TARGET}/${libdir}/liblzma.so.* \ | ||
111 | ${STAGING_DIR_TARGET}/${libdir}/libpixman-1.so.* \ | ||
112 | ${STAGING_DIR_TARGET}/${libdir}/libpng1*.so.* \ | ||
113 | ${STAGING_DIR_TARGET}/${libdir}/librsvg-2.so.* \ | ||
114 | ${STAGING_DIR_TARGET}/${libdir}/libstdc++.so.* \ | ||
115 | ${STAGING_DIR_TARGET}/${libdir}/libtiff.so.* \ | ||
116 | ${STAGING_DIR_TARGET}/${libdir}/libxml2.so.* \ | ||
117 | ${STAGING_DIR_TARGET}/${libdir}/libcroco-0.6.so.* \ | ||
118 | ${STAGING_DIR_TARGET}/${libdir}/libharfbuzz.so.* \ | ||
119 | ${STAGING_DIR_TARGET}/${libdir}/libicule.so.* \ | ||
120 | ${STAGING_DIR_TARGET}/${libdir}/libicuuc.so.* \ | ||
121 | ${STAGING_DIR_TARGET}/${libdir}/libicudata.so.* $treedir/${base_libdir}/ | ||
122 | |||
123 | # X11 Xau Xcomposite Xcursor Xdamage Xdmcp Xext Xfixes Xft Xpm Xrandr Xrender | ||
124 | cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libX*.so.* $treedir/${base_libdir}/ | ||
125 | |||
126 | # gdk-x11 gdk_pixbuf gio glib gmodule gobject gthread gtk-x11 | ||
127 | cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libg*-2.0.so.* $treedir/${base_libdir}/ | ||
128 | |||
129 | # pango pangocairo pangoft2 | ||
130 | cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libpango*-1.0.so.* $treedir/${base_libdir}/ | ||
131 | |||
132 | # xcb-render xcb-shm xcb | ||
133 | cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libxcb*.so.* $treedir/${base_libdir}/ | ||
134 | fi | ||
135 | } | ||
136 | |||
137 | do_install_append() { | ||
138 | # freaks package.bbclass and whole bitbake call returns error code | ||
139 | # ERROR: runstrip: ''arm-oe-linux-gnueabi-strip' '/var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/emacs-23.4-r0/package/usr/share/emacs/23.4/etc/tutorials/TUTORIAL.ko'' strip command failed | ||
140 | mv ${D}${datadir}/${BPN}/${PV}/etc/tutorials/TUTORIAL.ko ${D}${datadir}/${BPN}/${PV}/etc/tutorials/TUTORIAL.KO | ||
141 | # Info dir listing isn't interesting at this point so remove it if it exists. | ||
142 | if [ -e "${D}${infodir}/dir" ]; then | ||
143 | rm -f ${D}${infodir}/dir | ||
144 | fi | ||
145 | } | ||
146 | |||
147 | EXTRA_OEMAKE += 'QEMU="${QEMU}"' | ||
diff --git a/meta-oe/recipes-support/emacs/emacs_23.4.bb b/meta-oe/recipes-support/emacs/emacs_23.4.bb deleted file mode 100644 index 3388ff01e..000000000 --- a/meta-oe/recipes-support/emacs/emacs_23.4.bb +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | require emacs.inc | ||
2 | |||
3 | PR = "r4" | ||
4 | |||
5 | PNBLACKLIST[emacs] ?= "qemu: uncaught target signal 11 (Segmentation fault) - core dumped - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
6 | |||
7 | SRC_URI = "${GNU_MIRROR}/emacs/emacs-${PV}.tar.gz;name=tarball \ | ||
8 | file://use-qemu.patch \ | ||
9 | file://nostdlib-unwind.patch \ | ||
10 | " | ||
11 | SRC_URI[tarball.md5sum] = "34405165fcd978fbc8b304cbd99ccf4f" | ||
12 | SRC_URI[tarball.sha256sum] = "b9a2b8434052771f797d2032772eba862ff9aa143029efc72295170607289c18" | ||
diff --git a/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb b/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb deleted file mode 100644 index 14ce57aaf..000000000 --- a/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb +++ /dev/null | |||
@@ -1,34 +0,0 @@ | |||
1 | DESCRIPTION = "FarSight is an audio/video conferencing framework specifically designed for Instant Messengers." | ||
2 | HOMEPAGE = "http://farsight.sf.net" | ||
3 | SRC_URI = "http://farsight.freedesktop.org/releases/farsight2/${BP}.tar.gz" | ||
4 | |||
5 | LICENSE = "LGPLv2.1" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" | ||
7 | |||
8 | PR = "r3" | ||
9 | |||
10 | DEPENDS = "libnice glib-2.0 libxml2 zlib dbus gstreamer gst-plugins-base" | ||
11 | |||
12 | inherit autotools pkgconfig | ||
13 | |||
14 | PACKAGECONFIG ??= "" | ||
15 | PACKAGECONFIG[gupnp] = "--enable-gupnp,--disable-gupnp,gupnp-igd" | ||
16 | |||
17 | EXTRA_OECONF = " \ | ||
18 | --disable-debug \ | ||
19 | --disable-gtk-doc \ | ||
20 | --disable-python \ | ||
21 | " | ||
22 | |||
23 | FILES_${PN} += "${libdir}/*/*.so" | ||
24 | FILES_${PN}-dev += "${libdir}/*/*.la" | ||
25 | FILES_${PN}-staticdev += "${libdir}/*/*.a" | ||
26 | FILES_${PN}-dbg += "${libdir}/*/.debug" | ||
27 | |||
28 | |||
29 | SRC_URI[md5sum] = "e1f540cf3ebab06c3d7db1f46b44ac88" | ||
30 | SRC_URI[sha256sum] = "3ae59aa61a8071c9fad111e5fd606aabc27961eb4192f8729987a27dae6b3974" | ||
31 | |||
32 | PNBLACKLIST[farsight2] ?= "Depends on blacklisted gstreamer - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
33 | PNBLACKLIST[farsight2] ?= "Depends on blacklisted libnice - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
34 | PNBLACKLIST[farsight2] ?= "Depends on blacklisted gst-plugins-base - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-support/fftw/benchfft_3.1.bb b/meta-oe/recipes-support/fftw/benchfft_3.1.bb deleted file mode 100644 index 49cc270fe..000000000 --- a/meta-oe/recipes-support/fftw/benchfft_3.1.bb +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | SUMMARY = "FFTW benchmarks" | ||
2 | SECTION = "libs" | ||
3 | LICENSE = "GPLv2" | ||
4 | |||
5 | # single precision fftw is called fftwf | ||
6 | DEPENDS = "virtual/fftw" | ||
7 | |||
8 | SRC_URI = "http://www.fftw.org/benchfft/benchfft-${PV}.tar.gz" | ||
9 | |||
10 | EXTRA_OECONF = "--disable-fortran --enable-single --enable-shared" | ||
11 | |||
12 | inherit autotools pkgconfig | ||
13 | |||
14 | do_compile_prepend() { | ||
15 | sed -i -e 's:all-recursive:$(RECURSIVE_TARGETS):g' ${S}/Makefile | ||
16 | } | ||
17 | |||
18 | SRC_URI[md5sum] = "9356e5e9dcb3f1481977009720a2ccf8" | ||
19 | SRC_URI[sha256sum] = "1b4a5b5e48ad5e61a21586b7b59d5c0a88691a981e73e2c6dc5868197461791b" | ||
20 | |||
21 | PNBLACKLIST[benchfft] ?= "does not build with distroless qemuarm as reported in 'State of bitbake world' thread, nobody volunteered to fix them - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-support/flite/flite-alsa-1.3/flite-alsa-1.3-configure-with-audio.patch b/meta-oe/recipes-support/flite/flite-alsa-1.3/flite-alsa-1.3-configure-with-audio.patch deleted file mode 100644 index e1e7aed50..000000000 --- a/meta-oe/recipes-support/flite/flite-alsa-1.3/flite-alsa-1.3-configure-with-audio.patch +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | --- flite-1.3-release/configure.in.old 2008-01-06 02:17:47.000000000 -0600 | ||
2 | +++ flite-1.3-release/configure.in 2008-01-06 02:19:56.000000000 -0600 | ||
3 | @@ -220,7 +220,8 @@ dnl allow the user to override the one d | ||
4 | dnl | ||
5 | AC_ARG_WITH( audio, | ||
6 | [ --with-audio with specific audio support (none linux freebsd etc) ], | ||
7 | - AUDIODRIVER=$with_audio ) | ||
8 | + [AUDIODRIVER=$with_audio | ||
9 | + AUDIODEFS=]) | ||
10 | |||
11 | if test "x$AUDIODEFS" = x; then | ||
12 | case "$AUDIODRIVER" in | ||
diff --git a/meta-oe/recipes-support/flite/flite-alsa_1.3.bb b/meta-oe/recipes-support/flite/flite-alsa_1.3.bb deleted file mode 100644 index 0883c1ad4..000000000 --- a/meta-oe/recipes-support/flite/flite-alsa_1.3.bb +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | require flite.inc | ||
2 | |||
3 | PR = "r1" | ||
4 | |||
5 | EXTRA_OECONF = "--with-audio=alsa --enable-shared" | ||
6 | |||
7 | SRC_URI = "http://www.speech.cs.cmu.edu/flite/packed/flite-${PV}/flite-${PV}-release.tar.gz \ | ||
8 | file://flite-1.3-alsa_support-1.2.diff \ | ||
9 | file://flite-alsa-1.3-configure-with-audio.patch" | ||
10 | |||
11 | SRC_URI[md5sum] = "ae0aca1cb7b4801f4372f3a75a9e52b5" | ||
12 | SRC_URI[sha256sum] = "922225f7001e57a0fbace8833b0a48790a68f6c7b491f2d47c78ad537ab78a8b" | ||
13 | |||
14 | # Looks like caused by flite-1.3-alsa_support-1.2.diff | ||
15 | # flite-alsa-1.3: No GNU_HASH in the elf binary: '/tmp/work/armv5te-oe-linux-gnueabi/flite-alsa/1.3-r1/packages-split/libflite-alsa-vox16/usr/lib/libflite_cmu_us_kal16.so.1.3' [ldflags] | ||
16 | # flite-alsa-1.3: No GNU_HASH in the elf binary: '/tmp/work/armv5te-oe-linux-gnueabi/flite-alsa/1.3-r1/packages-split/libflite-alsa-vox8/usr/lib/libflite_cmu_us_kal.so.1.3' [ldflags] | ||
17 | # flite-alsa-1.3: No GNU_HASH in the elf binary: '/tmp/work/core2-64-oe-linux/flite-alsa/1.3-r1/packages-split/libflite-alsa-vox16/usr/lib/libflite_cmu_us_kal16.so.1.3' [ldflags] | ||
18 | # flite-alsa-1.3: No GNU_HASH in the elf binary: '/tmp/work/core2-64-oe-linux/flite-alsa/1.3-r1/packages-split/libflite-alsa-vox8/usr/lib/libflite_cmu_us_kal.so.1.3' [ldflags] | ||
19 | # flite-alsa-1.3: No GNU_HASH in the elf binary: '/tmp/work/i586-oe-linux/flite-alsa/1.3-r1/packages-split/libflite-alsa-vox16/usr/lib/libflite_cmu_us_kal16.so.1.3' [ldflags] | ||
20 | # flite-alsa-1.3: No GNU_HASH in the elf binary: '/tmp/work/i586-oe-linux/flite-alsa/1.3-r1/packages-split/libflite-alsa-vox8/usr/lib/libflite_cmu_us_kal.so.1.3' [ldflags] | ||
21 | PNBLACKLIST[flite-alsa] ?= "OLD: wasn't updated in over 6 years, only navit was RSUGGESTing it and doesn't respect LDFLAGS - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-support/flite/flite.inc b/meta-oe/recipes-support/flite/flite.inc deleted file mode 100644 index 0ef82c004..000000000 --- a/meta-oe/recipes-support/flite/flite.inc +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | DESCRIPTION = "flite - the festival light speech synthesizer" | ||
2 | HOMEPAGE = "http://www.speech.cs.cmu.edu/flite/" | ||
3 | SECTION = "console/utils" | ||
4 | LICENSE = "flite" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=68a16b1ee49c96c36f232ccdcd287650" | ||
6 | DEPENDS = "alsa-oss" | ||
7 | |||
8 | PARALLEL_MAKE = "" | ||
9 | |||
10 | S = "${WORKDIR}/flite-${PV}-release" | ||
11 | |||
12 | CFLAGS += " -lasound " | ||
13 | |||
14 | inherit autotools-brokensep | ||
15 | |||
16 | PACKAGES += "lib${PN} lib${PN}-vox8 lib${PN}-vox16" | ||
17 | |||
18 | FILES_${PN} = "${bindir}" | ||
19 | |||
20 | FILES_lib${PN} ="${libdir}/libflite.so.* \ | ||
21 | ${libdir}/libflite_cmu_time_awb.so.* \ | ||
22 | ${libdir}/libflite_cmulex.so.* \ | ||
23 | ${libdir}/libflite_usenglish.so.*" | ||
24 | |||
25 | FILES_lib${PN}-vox8 = "${libdir}/libflite_cmu_us_kal.so.*" | ||
26 | |||
27 | FILES_lib${PN}-vox16 = "${libdir}/libflite_cmu_us_kal16.so.*" | ||
28 | |||
29 | LEAD_SONAME = "libflite.so" | ||
30 | |||
31 | do_install() { | ||
32 | oe_runmake INSTALLBINDIR="${D}${bindir}" INSTALLLIBDIR="${D}${libdir}" INSTALLINCDIR="${D}${includedir}" install | ||
33 | } | ||
diff --git a/meta-oe/recipes-support/iksemel/iksemel_1.4.bb b/meta-oe/recipes-support/iksemel/iksemel_1.4.bb deleted file mode 100644 index 3dc22c590..000000000 --- a/meta-oe/recipes-support/iksemel/iksemel_1.4.bb +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | SUMMARY = "Fast and portable XML parser and Jabber protocol library" | ||
2 | AUTHOR = "Gurer Ozen <meduketto at gmail.com>" | ||
3 | HOMEPAGE = "http://iksemel.googlecode.com" | ||
4 | SECTION = "libs" | ||
5 | LICENSE = "LGPLv2.1" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499" | ||
7 | DEPENDS = "gnutls" | ||
8 | |||
9 | PR = "r1" | ||
10 | |||
11 | # http://errors.yoctoproject.org/Errors/Details/25825/ | ||
12 | PNBLACKLIST[iksemel] ?= "Not compatible with gnutls version 3.4 currently in oe-core - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
13 | |||
14 | SRC_URI = "http://iksemel.googlecode.com/files/${BP}.tar.gz;name=archive \ | ||
15 | file://r25.diff" | ||
16 | SRC_URI[archive.md5sum] = "532e77181694f87ad5eb59435d11c1ca" | ||
17 | SRC_URI[archive.sha256sum] = "458c1b8fb3349076a6cecf26c29db1d561315d84e16bfcfba419f327f502e244" | ||
18 | |||
19 | inherit autotools pkgconfig | ||
diff --git a/meta-oe/recipes-support/libdbi/libdbi-drivers.inc b/meta-oe/recipes-support/libdbi/libdbi-drivers.inc deleted file mode 100644 index b509532e4..000000000 --- a/meta-oe/recipes-support/libdbi/libdbi-drivers.inc +++ /dev/null | |||
@@ -1,51 +0,0 @@ | |||
1 | # libdbi-drivers OE build file | ||
2 | # Copyright (C) 2005, Koninklijke Philips Electronics NV. All Rights Reserved | ||
3 | # Released under the MIT license (see packages/COPYING) | ||
4 | |||
5 | DESCRIPTION = "Database Drivers for libdbi" | ||
6 | HOMEPAGE = "http://libdbi-drivers.sourceforge.net/" | ||
7 | LICENSE = "LGPLv2.1" | ||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499" | ||
9 | SECTION = "libs" | ||
10 | |||
11 | PROVIDES = "libdbd-sqlite" | ||
12 | DEPENDS = "libdbi sqlite sqlite3 mysql5 postgresql" | ||
13 | |||
14 | SRC_URI = "${SOURCEFORGE_MIRROR}/libdbi-drivers/libdbi-drivers-${PV}.tar.gz" | ||
15 | |||
16 | inherit autotools | ||
17 | |||
18 | PACKAGES += "libdbd-sqlite3 libdbd-sqlite libdbd-pgsql libdbd-mysql" | ||
19 | |||
20 | EXTRA_OECONF = "--with-dbi-incdir=${STAGING_INCDIR} \ | ||
21 | --with-dbi-libdir=${STAGING_LIBDIR} \ | ||
22 | --with-sqlite \ | ||
23 | --with-sqlite3 \ | ||
24 | --with-pgsql \ | ||
25 | --with-mysql \ | ||
26 | --with-sqlite-libdir=${STAGING_LIBDIR} \ | ||
27 | --with-sqlite-incdir=${STAGING_INCDIR} \ | ||
28 | --with-sqlite3-incdir=${STAGING_INCDIR} \ | ||
29 | --with-sqlite3-libdir=${STAGING_LIBDIR} \ | ||
30 | --with-mysql-incdir=${STAGING_INCDIR} \ | ||
31 | --with-mysql-libdir=${STAGING_LIBDIR} \ | ||
32 | --with-pgsql-incdir=${STAGING_INCDIR} \ | ||
33 | --with-pgsql-libdir=${STAGING_LIBDIR} \ | ||
34 | --disable-docs" | ||
35 | |||
36 | FILES_${PN}-dbg += " ${libdir}/dbd/.debug/*.so" | ||
37 | FILES_${PN}-dev += " ${libdir}/dbd/*.la" | ||
38 | FILES_${PN}-staticdev += " ${libdir}/dbd/*.a" | ||
39 | |||
40 | DESCRIPTION_libdbd-sqlite = "SQLite database driver for libdbi" | ||
41 | FILES_libdbd-sqlite = "${libdir}/dbd/libdbdsqlite.so" | ||
42 | |||
43 | DESCRIPTION_libdbd-sqlite3 = "SQLite3 database driver for libdbi" | ||
44 | FILES_libdbd-sqlite3 = "${libdir}/dbd/libdbdsqlite3.so" | ||
45 | |||
46 | DESCRIPTION_libdbd-mysql = "MySQL4 database driver for libdbi" | ||
47 | FILES_libdbd-mysql = "${libdir}/dbd/libdbdmysql.so" | ||
48 | |||
49 | DESCRIPTION_libdbd-psql = "Postgres SQL database driver for libdbi" | ||
50 | FILES_libdbd-pgsql = "${libdir}/dbd/libdbdpgsql.so" | ||
51 | |||
diff --git a/meta-oe/recipes-support/libdbi/libdbi-drivers_0.8.3-1.bb b/meta-oe/recipes-support/libdbi/libdbi-drivers_0.8.3-1.bb deleted file mode 100644 index 8d2c5054a..000000000 --- a/meta-oe/recipes-support/libdbi/libdbi-drivers_0.8.3-1.bb +++ /dev/null | |||
@@ -1,8 +0,0 @@ | |||
1 | require ${PN}.inc | ||
2 | |||
3 | |||
4 | SRC_URI[md5sum] = "4de79b323162a5a7652b65b608eca6cd" | ||
5 | SRC_URI[sha256sum] = "4ab9944398ce769c0deeb64d2f73555c67bc25ccd2ade1ccf552226c7b2acf72" | ||
6 | |||
7 | # libdbi-drivers-0.8.3-1/drivers/mysql/dbd_mysql.c:232:5: error: conflicting types for 'dbd_goto_row' | ||
8 | PNBLACKLIST[libdbi-drivers] ?= "BROKEN: fails to build with gcc-5 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-support/libetpan/libetpan-0.57/libetpan-autoreconf.patch b/meta-oe/recipes-support/libetpan/libetpan-0.57/libetpan-autoreconf.patch deleted file mode 100644 index d05967da3..000000000 --- a/meta-oe/recipes-support/libetpan/libetpan-0.57/libetpan-autoreconf.patch +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | Index: libetpan-0.57/configure.ac | ||
2 | =================================================================== | ||
3 | --- libetpan-0.57.orig/configure.ac 2008-10-08 19:54:20.000000000 +0000 | ||
4 | +++ libetpan-0.57/configure.ac 2008-11-11 16:34:33.000000000 +0000 | ||
5 | @@ -106,6 +106,7 @@ | ||
6 | |||
7 | # Check the C compiler. | ||
8 | AC_PROG_CC | ||
9 | +AC_PROG_CXX | ||
10 | |||
11 | # Compiler flags. | ||
12 | AC_ARG_ENABLE(debug, [ --enable-debug setup flags (gcc) for debugging (default=no)], | ||
diff --git a/meta-oe/recipes-support/libetpan/libetpan-0.57/libetpan-ldflags.patch b/meta-oe/recipes-support/libetpan/libetpan-0.57/libetpan-ldflags.patch deleted file mode 100644 index 438f44f15..000000000 --- a/meta-oe/recipes-support/libetpan/libetpan-0.57/libetpan-ldflags.patch +++ /dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | --- libetpan-0.57/configure.ac~ 2009-09-21 23:31:42.000000000 +0200 | ||
2 | +++ libetpan-0.57/configure.ac 2009-09-21 23:31:42.000000000 +0200 | ||
3 | @@ -457,7 +457,7 @@ | ||
4 | LDFLAGS="-$flag $LDFLAGS" | ||
5 | AC_TRY_LINK([], [pthread_create();], | ||
6 | [pthflag=yes; checkpthread=no], | ||
7 | - [pthflag=no; LDFLAGS="$OLDCFLAGS"]) | ||
8 | + [pthflag=no; LDFLAGS="$OLDFLAGS"]) | ||
9 | AC_MSG_RESULT($pthflag) | ||
10 | fi | ||
11 | done | ||
diff --git a/meta-oe/recipes-support/libetpan/libetpan-0.57/sepbuild.patch b/meta-oe/recipes-support/libetpan/libetpan-0.57/sepbuild.patch deleted file mode 100644 index 4f0161727..000000000 --- a/meta-oe/recipes-support/libetpan/libetpan-0.57/sepbuild.patch +++ /dev/null | |||
@@ -1,16 +0,0 @@ | |||
1 | Index: libetpan-0.57/rules.mk | ||
2 | =================================================================== | ||
3 | --- libetpan-0.57.orig/rules.mk | ||
4 | +++ libetpan-0.57/rules.mk | ||
5 | @@ -134,9 +134,9 @@ prepare-am: prepare-local | ||
6 | if test -e ../../$(subdir)/$${hdr}; then \ | ||
7 | echo "$(LN_S) -f ../../$(subdir)/$${hdr} ."; \ | ||
8 | $(LN_S) -f ../../$(subdir)/$${hdr} .; \ | ||
9 | else \ | ||
10 | - echo "$(LN_S) -f ../../$(subdir)/$(srcdir)/$${hdr} ."; \ | ||
11 | - $(LN_S) -f ../../$(subdir)/$(srcdir)/$${hdr} .; \ | ||
12 | + echo "$(LN_S) -f $(srcdir)/$${hdr} ."; \ | ||
13 | + $(LN_S) -f $(srcdir)/$${hdr} .; \ | ||
14 | fi; \ | ||
15 | fi; \ | ||
16 | done; \ | ||
diff --git a/meta-oe/recipes-support/libetpan/libetpan_0.57.bb b/meta-oe/recipes-support/libetpan/libetpan_0.57.bb deleted file mode 100644 index 5cadf16ce..000000000 --- a/meta-oe/recipes-support/libetpan/libetpan_0.57.bb +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | DESCRIPTION = "libetpan is a library for communicating with mail and news servers. \ | ||
2 | It supports the protocols SMTP, POP3, IMAP and NNTP." | ||
3 | HOMEPAGE = "http://www.etpan.org" | ||
4 | SECTION = "libs" | ||
5 | DEPENDS = "gnutls liblockfile curl" | ||
6 | LICENSE = "BSD" | ||
7 | LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=f18ebe7e452708c26f83954f81062ba7" | ||
8 | |||
9 | PR = "r1" | ||
10 | |||
11 | # http://errors.yoctoproject.org/Errors/Details/25823/ | ||
12 | PNBLACKLIST[libetpan] ?= "Not compatible with gnutls version 3.4 currently in oe-core - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
13 | |||
14 | SRC_URI = "${SOURCEFORGE_MIRROR}/libetpan/libetpan-${PV}.tar.gz \ | ||
15 | file://libetpan-autoreconf.patch \ | ||
16 | file://libetpan-ldflags.patch \ | ||
17 | file://sepbuild.patch" | ||
18 | |||
19 | inherit autotools pkgconfig gettext binconfig | ||
20 | |||
21 | EXTRA_OECONF = "--without-openssl --without-sasl --with-gnutls --disable-db" | ||
22 | |||
23 | PARALLEL_MAKE = "" | ||
24 | |||
25 | FILES_${PN} = "${libdir}/lib*.so.*" | ||
26 | FILES_${PN}-dev = "${bindir} ${includedir} ${libdir}/lib*.so ${libdir}/*.la ${libdir}/*.a ${libdir}/pkgconfig" | ||
27 | |||
28 | |||
29 | SRC_URI[md5sum] = "8ce8c6c071e81884a475b12b7f9a9cc0" | ||
30 | SRC_URI[sha256sum] = "1f3fda5c9e2961d1a6298dc8aadae321493d37727d8db45bc2e8d58f20547011" | ||
diff --git a/meta-oe/recipes-support/ode/ode/configure.patch b/meta-oe/recipes-support/ode/ode/configure.patch deleted file mode 100644 index 246b2e2c2..000000000 --- a/meta-oe/recipes-support/ode/ode/configure.patch +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | Index: ode-0.13/libccd/configure.ac | ||
2 | =================================================================== | ||
3 | --- ode-0.13.orig/libccd/configure.ac 2013-08-19 17:48:03.000000000 +0000 | ||
4 | +++ ode-0.13/libccd/configure.ac 2014-07-17 22:04:16.580595690 +0000 | ||
5 | @@ -5,7 +5,7 @@ | ||
6 | AC_INIT([libccd], [1.0], [danfis@danfis.cz]) | ||
7 | AC_CONFIG_SRCDIR([src/ccd.c]) | ||
8 | AC_CONFIG_HEADERS([src/config.h]) | ||
9 | -AM_INIT_AUTOMAKE | ||
10 | +AM_INIT_AUTOMAKE([foreign]) | ||
11 | |||
12 | # Checks for programs. | ||
13 | AC_PROG_CXX | ||
diff --git a/meta-oe/recipes-support/ode/ode_0.13.bb b/meta-oe/recipes-support/ode/ode_0.13.bb deleted file mode 100644 index c90c81954..000000000 --- a/meta-oe/recipes-support/ode/ode_0.13.bb +++ /dev/null | |||
@@ -1,31 +0,0 @@ | |||
1 | SUMMARY = "ODE is an Open Source Physics Engine" | ||
2 | SECTION = "libs" | ||
3 | HOMEPAGE = "http://www.ode.org" | ||
4 | LICENSE = "LGPLv2.1 & BSD" | ||
5 | LIC_FILES_CHKSUM = " \ | ||
6 | file://COPYING;md5=1de906ee96808d9776dd72a5f9a79a22 \ | ||
7 | file://LICENSE.TXT;md5=771782cb6245c7fbbe74bc0ec059beff \ | ||
8 | " | ||
9 | # LICENSE-BSD.TXT is missing in 0.13 tarball, but COPYING still says it's dual licensed | ||
10 | # and svn repo still contains LICENSE-BSD.TXT so maybe it will return in next tarball | ||
11 | # file://LICENSE-BSD.TXT;md5=c74e6304a772117e059458fb9763a928 | ||
12 | |||
13 | |||
14 | SRC_URI = "${SOURCEFORGE_MIRROR}/opende/ode-${PV}.tar.bz2 \ | ||
15 | file://configure.patch" | ||
16 | SRC_URI[md5sum] = "04b32c9645c147e18caff7a597a19f84" | ||
17 | SRC_URI[sha256sum] = "34ce3e236e313bf109a0cb5546d2fca462aed99f29a42e62bc1463b803c31ef9" | ||
18 | |||
19 | inherit autotools binconfig | ||
20 | |||
21 | EXTRA_OECONF = "--disable-demos --enable-soname" | ||
22 | |||
23 | FILES_${PN} = "${libdir}/lib*${SOLIBS}" | ||
24 | |||
25 | PACKAGECONFIG ?= "" | ||
26 | # if it isn't explicitly selected and "$build_os" == "$target_os", then configure will run | ||
27 | # series of AC_TRY_RUN which won't work for cross-compilation and configure fails | ||
28 | PACKAGECONFIG[double-precision] = "--enable-double-precision,--disable-double-precision" | ||
29 | |||
30 | PNBLACKLIST[ode] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130599/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
31 | PNBLACKLIST[ode] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130620/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-support/open-vcdiff/open-vcdiff_0.8.4.bb b/meta-oe/recipes-support/open-vcdiff/open-vcdiff_0.8.4.bb deleted file mode 100644 index d3f2e789b..000000000 --- a/meta-oe/recipes-support/open-vcdiff/open-vcdiff_0.8.4.bb +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | SUMMARY = "An encoder/decoder for the VCDIFF (RFC3284) format" | ||
2 | DESCRIPTION = "A library with a simple API is included, as well as a \ | ||
3 | command-line executable that can apply the encoder and \ | ||
4 | decoder to source, target, and delta files. \ | ||
5 | A slight variation from the draft standard is defined \ | ||
6 | to allow chunk-by-chunk decoding when only a partial \ | ||
7 | delta file window is available." | ||
8 | HOMEPAGE = "http://code.google.com/p/open-vcdiff/" | ||
9 | SECTION = "console/utils" | ||
10 | |||
11 | LICENSE = "Apache-2.0" | ||
12 | LIC_FILES_CHKSUM = "file://COPYING;md5=ff820d4ddc1ba05b6fd37b41a21506f9" | ||
13 | |||
14 | SRC_URI = "https://drive.google.com/uc?id=0B5WpIi2fQU1aNGJwVE9hUjU5clU&export=download;downloadfilename=${BP}.tar.gz" | ||
15 | SRC_URI[md5sum] = "5c0d378d907bebc38b51c3d7e4117011" | ||
16 | SRC_URI[sha256sum] = "2b142b1027fb0a62c41347600e01a53fa274dad15445a7da48083c830c3138b3" | ||
17 | |||
18 | inherit autotools | ||
19 | |||
20 | # http://errors.yoctoproject.org/Errors/Details/68667/ | ||
21 | PNBLACKLIST[open-vcdiff] ?= "BROKEN: fails to build with gcc-6 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb b/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb deleted file mode 100644 index 107184be4..000000000 --- a/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb +++ /dev/null | |||
@@ -1,41 +0,0 @@ | |||
1 | SUMMARY = "Opencv : The Open Computer Vision Library" | ||
2 | HOMEPAGE = "http://opencv.willowgarage.com/wiki/" | ||
3 | SECTION = "libs" | ||
4 | LICENSE = "BSD" | ||
5 | |||
6 | DEPENDS = "opencv" | ||
7 | |||
8 | LIC_FILES_CHKSUM = "file://include/opencv2/opencv.hpp;endline=41;md5=6d690d8488a6fca7a2c192932466bb14 \ | ||
9 | " | ||
10 | SRCREV = "6fae07ba8867b8fd2c53344a774aab669afa7c5e" | ||
11 | SRC_URI = "git://github.com/Itseez/opencv.git;branch=2.4 \ | ||
12 | " | ||
13 | PV = "2.4.3+git${SRCPV}" | ||
14 | |||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | do_install() { | ||
18 | cd samples/c | ||
19 | install -d ${D}/${bindir} | ||
20 | install -d ${D}/${datadir}/opencv/samples | ||
21 | |||
22 | cp * ${D}/${datadir}/opencv/samples || true | ||
23 | |||
24 | for i in *.c; do | ||
25 | echo "compiling $i" | ||
26 | ${CXX} ${CFLAGS} ${LDFLAGS} -ggdb `pkg-config --cflags opencv` -o `basename $i .c` $i `pkg-config --libs opencv` || true | ||
27 | install -m 0755 `basename $i .c` ${D}/${bindir} || true | ||
28 | rm ${D}/${datadir}/opencv/samples/`basename $i .c` || true | ||
29 | done | ||
30 | for i in *.cpp; do | ||
31 | echo "compiling $i" | ||
32 | ${CXX} ${CFLAGS} ${LDFLAGS} -ggdb `pkg-config --cflags opencv` -o `basename $i .cpp` $i `pkg-config --libs opencv` || true | ||
33 | install -m 0755 `basename $i .cpp` ${D}/${bindir} || true | ||
34 | rm ${D}/${datadir}/opencv/samples/`basename $i .cpp` || true | ||
35 | done | ||
36 | } | ||
37 | |||
38 | FILES_${PN}-dev += "${datadir}/opencv/samples/*.c* ${datadir}/opencv/samples/*.vcp* ${datadir}/opencv/samples/build*" | ||
39 | FILES_${PN} += "${bindir} ${datadir}/opencv" | ||
40 | |||
41 | PNBLACKLIST[opencv-samples] ?= "Depends on blacklisted opencv - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-support/opencv/opencv/0001-Use-__vector-instead-of-vector-as-suggests-Eigen.patch b/meta-oe/recipes-support/opencv/opencv/0001-Use-__vector-instead-of-vector-as-suggests-Eigen.patch deleted file mode 100644 index 7f809bce1..000000000 --- a/meta-oe/recipes-support/opencv/opencv/0001-Use-__vector-instead-of-vector-as-suggests-Eigen.patch +++ /dev/null | |||
@@ -1,49 +0,0 @@ | |||
1 | From 711f07a34ceb504e8f75e978692201efa58268ca Mon Sep 17 00:00:00 2001 | ||
2 | From: Dinar Valeev <dvaleev@suse.com> | ||
3 | Date: Thu, 16 Jan 2014 21:53:49 +0100 | ||
4 | Subject: [PATCH] Use __vector instead of vector as suggests Eigen | ||
5 | |||
6 | This fixes build on PowerPC where Eigen unsets vector, bool and pixel | ||
7 | |||
8 | Signed-off-by: Dinar Valeev <dvaleev@suse.com> | ||
9 | |||
10 | This patch is already part of OpenCV v3.0. The patch can be obtained | ||
11 | from: | ||
12 | |||
13 | https://github.com/Itseez/opencv/commit/711f07a34ceb504e8f75e978692201efa58268ca.patch | ||
14 | |||
15 | Upstream-Status: Backport [commit 711f07a34c, part of version 3.0] | ||
16 | |||
17 | Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de> | ||
18 | --- | ||
19 | 3rdparty/include/opencl/1.2/CL/cl_platform.h | 14 +++++++------- | ||
20 | 1 file changed, 7 insertions(+), 7 deletions(-) | ||
21 | |||
22 | diff --git a/3rdparty/include/opencl/1.2/CL/cl_platform.h b/3rdparty/include/opencl/1.2/CL/cl_platform.h | ||
23 | index e94949a..42c35d5 100644 | ||
24 | --- a/3rdparty/include/opencl/1.2/CL/cl_platform.h | ||
25 | +++ b/3rdparty/include/opencl/1.2/CL/cl_platform.h | ||
26 | @@ -332,13 +332,13 @@ typedef unsigned int cl_GLenum; | ||
27 | /* Define basic vector types */ | ||
28 | #if defined( __VEC__ ) | ||
29 | #include <altivec.h> /* may be omitted depending on compiler. AltiVec spec provides no way to detect whether the header is required. */ | ||
30 | - typedef vector unsigned char __cl_uchar16; | ||
31 | - typedef vector signed char __cl_char16; | ||
32 | - typedef vector unsigned short __cl_ushort8; | ||
33 | - typedef vector signed short __cl_short8; | ||
34 | - typedef vector unsigned int __cl_uint4; | ||
35 | - typedef vector signed int __cl_int4; | ||
36 | - typedef vector float __cl_float4; | ||
37 | + typedef __vector unsigned char __cl_uchar16; | ||
38 | + typedef __vector signed char __cl_char16; | ||
39 | + typedef __vector unsigned short __cl_ushort8; | ||
40 | + typedef __vector signed short __cl_short8; | ||
41 | + typedef __vector unsigned int __cl_uint4; | ||
42 | + typedef __vector signed int __cl_int4; | ||
43 | + typedef __vector float __cl_float4; | ||
44 | #define __CL_UCHAR16__ 1 | ||
45 | #define __CL_CHAR16__ 1 | ||
46 | #define __CL_USHORT8__ 1 | ||
47 | -- | ||
48 | 1.9.3 | ||
49 | |||
diff --git a/meta-oe/recipes-support/opencv/opencv_2.4.bb b/meta-oe/recipes-support/opencv/opencv_2.4.bb deleted file mode 100644 index d17c640ac..000000000 --- a/meta-oe/recipes-support/opencv/opencv_2.4.bb +++ /dev/null | |||
@@ -1,106 +0,0 @@ | |||
1 | SUMMARY = "Opencv : The Open Computer Vision Library" | ||
2 | HOMEPAGE = "http://opencv.org/" | ||
3 | SECTION = "libs" | ||
4 | |||
5 | LICENSE = "BSD-3-Clause" | ||
6 | LIC_FILES_CHKSUM = "file://include/opencv2/opencv.hpp;endline=41;md5=6d690d8488a6fca7a2c192932466bb14" | ||
7 | |||
8 | ARM_INSTRUCTION_SET_armv4 = "arm" | ||
9 | ARM_INSTRUCTION_SET_armv5 = "arm" | ||
10 | |||
11 | DEPENDS = "python-numpy libtool swig swig-native python bzip2 zlib glib-2.0" | ||
12 | |||
13 | SRCREV = "2c9547e3147779001811d01936aed38f560929fc" | ||
14 | SRC_URI = "git://github.com/Itseez/opencv.git;branch=2.4 \ | ||
15 | file://0001-Use-__vector-instead-of-vector-as-suggests-Eigen.patch" | ||
16 | |||
17 | PV = "2.4.11+git${SRCPV}" | ||
18 | |||
19 | S = "${WORKDIR}/git" | ||
20 | |||
21 | # Do an out-of-tree build | ||
22 | OECMAKE_SOURCEPATH = "${S}" | ||
23 | OECMAKE_BUILDPATH = "${WORKDIR}/build-${TARGET_ARCH}" | ||
24 | |||
25 | EXTRA_OECMAKE = "-DPYTHON_NUMPY_INCLUDE_DIR:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include \ | ||
26 | -DBUILD_PYTHON_SUPPORT=ON \ | ||
27 | -DWITH_GSTREAMER=OFF \ | ||
28 | -DWITH_1394=OFF \ | ||
29 | -DCMAKE_SKIP_RPATH=ON \ | ||
30 | ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \ | ||
31 | ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \ | ||
32 | ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1 -DENABLE_SSE42=1", "", d)} \ | ||
33 | ${@base_conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \ | ||
34 | ${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \ | ||
35 | " | ||
36 | |||
37 | PACKAGECONFIG ??= "eigen jpeg png tiff v4l libv4l \ | ||
38 | ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \ | ||
39 | ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)}" | ||
40 | |||
41 | PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen," | ||
42 | PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+," | ||
43 | PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper," | ||
44 | PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg," | ||
45 | PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav," | ||
46 | PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils," | ||
47 | PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng," | ||
48 | PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff," | ||
49 | PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils," | ||
50 | |||
51 | inherit distutils-base pkgconfig cmake | ||
52 | |||
53 | export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}" | ||
54 | export PYTHON="${STAGING_BINDIR_NATIVE}/python" | ||
55 | |||
56 | TARGET_CC_ARCH += "-I${S}/include " | ||
57 | |||
58 | PACKAGES += "${PN}-apps python-opencv" | ||
59 | |||
60 | python populate_packages_prepend () { | ||
61 | cv_libdir = d.expand('${libdir}') | ||
62 | cv_libdir_dbg = d.expand('${libdir}/.debug') | ||
63 | do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True) | ||
64 | do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev') | ||
65 | do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev') | ||
66 | do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True) | ||
67 | |||
68 | pn = d.getVar('PN') | ||
69 | metapkg = pn + '-dev' | ||
70 | d.setVar('ALLOW_EMPTY_' + metapkg, "1") | ||
71 | blacklist = [ metapkg ] | ||
72 | metapkg_rdepends = [ ] | ||
73 | packages = d.getVar('PACKAGES').split() | ||
74 | for pkg in packages[1:]: | ||
75 | if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'): | ||
76 | metapkg_rdepends.append(pkg) | ||
77 | d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends)) | ||
78 | } | ||
79 | |||
80 | PACKAGES_DYNAMIC += "^libopencv-.*" | ||
81 | |||
82 | FILES_${PN} = "" | ||
83 | FILES_${PN}-apps = "${bindir}/* ${datadir}/OpenCV" | ||
84 | FILES_${PN}-dbg += "${libdir}/.debug" | ||
85 | FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig" | ||
86 | FILES_${PN}-doc = "${datadir}/OpenCV/doc" | ||
87 | |||
88 | ALLOW_EMPTY_${PN} = "1" | ||
89 | |||
90 | SUMMARY_python-opencv = "Python bindings to opencv" | ||
91 | FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*" | ||
92 | RDEPENDS_python-opencv = "python-core python-numpy" | ||
93 | |||
94 | do_install_append() { | ||
95 | cp ${S}/include/opencv/*.h ${D}${includedir}/opencv/ | ||
96 | sed -i '/blobtrack/d' ${D}${includedir}/opencv/cvaux.h | ||
97 | |||
98 | # Move Python files into correct library folder (for multilib build) | ||
99 | if [ "$libdir" != "/usr/lib" ]; then | ||
100 | mv ${D}/usr/lib/* ${D}/${libdir}/ | ||
101 | rm -rf ${D}/usr/lib | ||
102 | fi | ||
103 | } | ||
104 | |||
105 | # http://errors.yoctoproject.org/Errors/Details/40660/ | ||
106 | PNBLACKLIST[opencv] ?= "Not compatible with currently used ffmpeg 3 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-support/openmotif/openmotif/configure.patch b/meta-oe/recipes-support/openmotif/openmotif/configure.patch deleted file mode 100644 index 8868e805a..000000000 --- a/meta-oe/recipes-support/openmotif/openmotif/configure.patch +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | --- a/configure.ac~ 2009-10-27 14:10:23.000000000 -0200 | ||
2 | +++ b/configure.ac 2011-05-31 10:51:00.207232036 -0300 | ||
3 | @@ -3,12 +3,6 @@ | ||
4 | AC_CONFIG_SRCDIR([lib/Xm/Form.c]) | ||
5 | AC_PREREQ(2.52) | ||
6 | AC_CONFIG_AUX_DIR(.) | ||
7 | -AC_CHECK_FILE(/usr/X/include/X11/X.h, | ||
8 | - AC_PREFIX_DEFAULT(/usr/X), | ||
9 | - AC_PREFIX_DEFAULT(/usr)) | ||
10 | -AC_CHECK_FILE(/usr/X11R6/include/X11/X.h, | ||
11 | - AC_PREFIX_DEFAULT(/usr/X11R6), | ||
12 | - AC_PREFIX_DEFAULT(/usr)) | ||
13 | |||
14 | dnl AM_MAINTAINER_MODE | ||
15 | AC_CANONICAL_TARGET | ||
diff --git a/meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb b/meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb deleted file mode 100644 index 35c39cbe8..000000000 --- a/meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb +++ /dev/null | |||
@@ -1,48 +0,0 @@ | |||
1 | SECTION = "libs" | ||
2 | SUMMARY = "OSM/Motif implementation" | ||
3 | LICENSE = "OGPL" | ||
4 | DEPENDS = "xbitmaps virtual/libx11 libxt libxft xproto" | ||
5 | |||
6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=14f692c82491db3d52419929d2f3b343" | ||
7 | |||
8 | PR = "r3" | ||
9 | |||
10 | PNBLACKLIST[openmotif] ?= "BROKEN: doesn't build with B!=S - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
11 | |||
12 | SRC_URI = "http://motif.ics.com/sites/default/files/openmotif-2.3.3.tar.gz \ | ||
13 | file://configure.patch;patch=1" | ||
14 | |||
15 | SRC_URI[md5sum] = "fd27cd3369d6c7d5ef79eccba524f7be" | ||
16 | SRC_URI[sha256sum] = "c85f5545e218fa0c59a3789192132d472fc5a33e914a221a568eee4fc10cd103" | ||
17 | |||
18 | inherit autotools | ||
19 | |||
20 | PACKAGECONFIG ??= "" | ||
21 | PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg" | ||
22 | PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng" | ||
23 | |||
24 | EXTRA_OECONF = "X_CFLAGS=-I${STAGING_INCDIR} --disable-printing" | ||
25 | |||
26 | PACKAGES += "${PN}-bin" | ||
27 | |||
28 | FILES_${PN}-bin = "${bindir}" | ||
29 | |||
30 | do_compile() { | ||
31 | ( | ||
32 | # HACK: build a native binaries need during the build | ||
33 | unset CC LD CXX CCLD CFLAGS | ||
34 | oe_runmake -C config/util CC="${BUILD_CC}" LD="${BUILD_LD}" CXX="${BUILD_CXX}" LIBS="" makestrs | ||
35 | ) | ||
36 | if [ "$?" != "0" ]; then | ||
37 | exit 1 | ||
38 | fi | ||
39 | oe_runmake -C lib | ||
40 | oe_runmake -C include | ||
41 | } | ||
42 | |||
43 | do_install() { | ||
44 | oe_runmake DESTDIR=${D} -C lib install | ||
45 | oe_runmake DESTDIR=${D} -C include install | ||
46 | } | ||
47 | |||
48 | LEAD_SONAME = "libXm.so.4" | ||
diff --git a/meta-oe/recipes-support/openwbem/openwbem_3.2.3.bb b/meta-oe/recipes-support/openwbem/openwbem_3.2.3.bb deleted file mode 100644 index e9142385b..000000000 --- a/meta-oe/recipes-support/openwbem/openwbem_3.2.3.bb +++ /dev/null | |||
@@ -1,115 +0,0 @@ | |||
1 | SUMMARY = "Web Based Enterprise Management (WBEM) Implementation" | ||
2 | DESCRIPTION = "OpenWBEM is a set of software components that help facilitate \ | ||
3 | deployment of the Common Information Model (CIM) and Web-Based \ | ||
4 | Enterprise Management (WBEM) technologies of the Distributed Management \ | ||
5 | Task Force (DMTF). \ | ||
6 | \ | ||
7 | Web-Based Enterprise Management (WBEM) is a set of management and \ | ||
8 | Internet standard technologies developed to unify the management of \ | ||
9 | distributed computing environments. WBEM provides the ability for the \ | ||
10 | industry to deliver a well-integrated set of standards-based management \ | ||
11 | tools, facilitating the exchange of data across otherwise disparate \ | ||
12 | technologies and platforms. \ | ||
13 | \ | ||
14 | For more information about DMTF and its technologies, visit \ | ||
15 | http://www.dmtf.org/standards. " | ||
16 | SECTION = "System/Management" | ||
17 | HOMEPAGE = "http://openwbem.sourceforge.net/" | ||
18 | |||
19 | inherit autotools-brokensep pkgconfig | ||
20 | |||
21 | SOURCE1="novell-openwbem-root-acl.mof" | ||
22 | SOURCE2="loadmof.sh" | ||
23 | SOURCE3="rmmof.sh" | ||
24 | SOURCE4="openwbem-owcimomd.init" | ||
25 | SOURCE5="openwbem-etc_pam.d_openwbem" | ||
26 | SOURCE6="openwbem-rpmlintrc" | ||
27 | |||
28 | SRC_URI = " \ | ||
29 | git://github.com/kkaempf/openwbem.git \ | ||
30 | file://${SOURCE1} \ | ||
31 | file://${SOURCE2} \ | ||
32 | file://${SOURCE3} \ | ||
33 | file://${SOURCE4} \ | ||
34 | file://${SOURCE5} \ | ||
35 | file://${SOURCE6} \ | ||
36 | file://checkserverkey \ | ||
37 | file://owcimomd.service \ | ||
38 | " | ||
39 | SRCREV = "5c688eefc1f8e35a4b1c58529aae5f114c25c2a8" | ||
40 | S = "${WORKDIR}/git" | ||
41 | LICENSE = "BSD-3-Clause" | ||
42 | LIC_FILES_CHKSUM += "file://COPYING;md5=0504a2eb85e01aa92c9efd4125a34660" | ||
43 | INSANE_SKIP_${PN} = "dev-so" | ||
44 | DEPENDS += "openssl libpam bash" | ||
45 | RDEPENDS_${PN} += "bash" | ||
46 | EXTRA_OECONF = " \ | ||
47 | --prefix=/usr \ | ||
48 | --sysconfdir=/etc \ | ||
49 | --libdir=${libdir} \ | ||
50 | --localstatedir=/var/lib \ | ||
51 | --libexecdir=${libdir}/openwbem/bin \ | ||
52 | --mandir=/usr/share/man \ | ||
53 | --enable-threads-run-as-user \ | ||
54 | " | ||
55 | do_configure_prepend() { | ||
56 | autoreconf --force --install | ||
57 | } | ||
58 | |||
59 | do_install() { | ||
60 | oe_runmake DESTDIR=${D} install | ||
61 | install -d ${D}/etc/openwbem/openwbem.conf.d | ||
62 | install -d ${D}/var/adm/fillup-templates | ||
63 | install -m 644 etc/sysconfig/daemons/owcimomd ${D}/var/adm/fillup-templates/sysconfig.owcimomd | ||
64 | |||
65 | # fix up hardcoded paths | ||
66 | sed -i -e 's,/usr/sbin/,${sbindir}/,' ${WORKDIR}/owcimomd.service | ||
67 | if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then | ||
68 | install -d ${D}/${systemd_unitdir}/system | ||
69 | install -m 644 ${WORKDIR}/owcimomd.service ${D}/${systemd_unitdir}/system | ||
70 | install -m 755 ${WORKDIR}/checkserverkey ${D}${sysconfdir}/openwbem/ | ||
71 | fi | ||
72 | |||
73 | install -d ${D}/etc/init.d | ||
74 | ln -sf ../../etc/init.d/owcimomd ${D}/usr/sbin/rcowcimomd | ||
75 | install -m 755 ${WORKDIR}/${SOURCE4} ${D}/etc/init.d/owcimomd | ||
76 | install -d ${D}${sbindir} | ||
77 | install -d ${D}/usr/bin | ||
78 | install -d ${D}/etc/pam.d | ||
79 | install -d ${D}/${libdir}/openwbem/cmpiproviders | ||
80 | install -m 644 etc/pam.d/openwbem ${D}/etc/pam.d | ||
81 | install -d ${D}/${libdir}/openwbem/c++providers | ||
82 | install -d ${D}/var/lib/openwbem | ||
83 | install -m 755 ${WORKDIR}/${SOURCE2} ${D}/usr/bin/ow-loadmof.sh | ||
84 | install -m 755 ${WORKDIR}/${SOURCE3} ${D}/usr/bin/ow-rmmof.sh | ||
85 | install -m 644 ${WORKDIR}/${SOURCE5} ${D}/etc/pam.d/openwbem | ||
86 | |||
87 | MOFPATH=${D}/usr/share/mof/openwbem | ||
88 | install -d $MOFPATH | ||
89 | mv ${D}/usr/share/openwbem/* $MOFPATH/ | ||
90 | rmdir ${D}/usr/share/openwbem | ||
91 | install -m 644 ${WORKDIR}/${SOURCE1} $MOFPATH/ | ||
92 | |||
93 | touch ${D}/var/lib/openwbem/{classassociation,instances,instassociation,namespaces,schema}.{dat,ndx,lock} | ||
94 | } | ||
95 | |||
96 | inherit ${@bb.utils.filter('VIRTUAL-RUNTIME_init_manager', 'systemd', d)} | ||
97 | SYSTEMD_SERVICE_${PN} = "owcimomd.service" | ||
98 | SYSTEMD_AUTO_ENABLE = "disable" | ||
99 | FILES_${PN} += " \ | ||
100 | ${libdir} \ | ||
101 | ${datadir}/mof \ | ||
102 | ${systemd_unitdir} \ | ||
103 | " | ||
104 | FILES_${PN}-dbg += " \ | ||
105 | ${libdir}/openwbem/c++providers/.debug \ | ||
106 | ${libdir}/openwbem/provifcs/.debug \ | ||
107 | ${libdir}/openwbem/bin/openwbem/.debug \ | ||
108 | " | ||
109 | FILES_${PN}-dev = " \ | ||
110 | ${includedir} \ | ||
111 | ${datadir}/aclocal/openwbem.m4 \ | ||
112 | " | ||
113 | |||
114 | # http://errors.yoctoproject.org/Errors/Details/68630/ | ||
115 | PNBLACKLIST[openwbem] ?= "BROKEN: fails to build with gcc-6 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-support/psqlodbc/files/psqlodbc-donot-use-the-hardcode-libdir.patch b/meta-oe/recipes-support/psqlodbc/files/psqlodbc-donot-use-the-hardcode-libdir.patch deleted file mode 100644 index 7eda03875..000000000 --- a/meta-oe/recipes-support/psqlodbc/files/psqlodbc-donot-use-the-hardcode-libdir.patch +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | [PATCH] do not use the hardcode libdir | ||
2 | |||
3 | Upstream-status: Pending | ||
4 | |||
5 | Signed-off-by: Roy.Li <rongqing.li@windriver.com> | ||
6 | Signed-off-by: Jackie Huang <jackie.huang@windriver.com> | ||
7 | --- | ||
8 | configure.ac | 2 +- | ||
9 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
10 | |||
11 | diff --git a/configure.ac b/configure.ac | ||
12 | index 9b88d4c..df5ad7a 100644 | ||
13 | --- a/configure.ac | ||
14 | +++ b/configure.ac | ||
15 | @@ -140,7 +140,7 @@ if test "$with_libpq" != yes; then | ||
16 | if test -d "$with_libpq"; then | ||
17 | PATH="$PATH:$with_libpq/bin" | ||
18 | CPPFLAGS="$CPPFLAGS -I$with_libpq/include" | ||
19 | - LDFLAGS="$LDFLAGS -L$with_libpq/lib" | ||
20 | + LDFLAGS="$LDFLAGS -L$with_libpq/${base_libdir}" | ||
21 | else | ||
22 | if test -x "$with_libpq"; then | ||
23 | PG_CONFIG=$with_libpq | ||
24 | -- | ||
25 | 2.8.1 | ||
26 | |||
diff --git a/meta-oe/recipes-support/psqlodbc/files/psqlodbc-fix-for-ptest-support.patch b/meta-oe/recipes-support/psqlodbc/files/psqlodbc-fix-for-ptest-support.patch deleted file mode 100644 index a8f14e768..000000000 --- a/meta-oe/recipes-support/psqlodbc/files/psqlodbc-fix-for-ptest-support.patch +++ /dev/null | |||
@@ -1,148 +0,0 @@ | |||
1 | Subject: [PATCH] psqlodbc: fixes for ptest support | ||
2 | |||
3 | * Fix the LIBODBC since we don't use ODBC_CONFIG. | ||
4 | * Fix the path for driver. | ||
5 | * Add the default info of postgresql server. | ||
6 | * Fix the output format for ptest. | ||
7 | * Fix the results and exe dir. | ||
8 | |||
9 | Upstream-Status: Inappropriate [OE ptest specific] | ||
10 | |||
11 | Signed-off-by: Jackie Huang <jackie.huang@windriver.com> | ||
12 | --- | ||
13 | test/Makefile.in | 2 +- | ||
14 | test/odbcini-gen.sh | 8 ++++---- | ||
15 | test/runsuite.c | 26 +++++++++++++------------- | ||
16 | 3 files changed, 18 insertions(+), 18 deletions(-) | ||
17 | |||
18 | diff --git a/test/Makefile.in b/test/Makefile.in | ||
19 | index 8710616..fcb470e 100644 | ||
20 | --- a/test/Makefile.in | ||
21 | +++ b/test/Makefile.in | ||
22 | @@ -18,7 +18,7 @@ CFLAGS = @CFLAGS@ | ||
23 | ODBC_CONFIG = @ODBC_CONFIG@ | ||
24 | PROVE = @PROVE@ | ||
25 | |||
26 | -LIBODBC := $(shell $(ODBC_CONFIG) --libs) | ||
27 | +LIBODBC = -lodbc | ||
28 | |||
29 | all: $(TESTBINS) runsuite reset-db | ||
30 | |||
31 | diff --git a/test/odbcini-gen.sh b/test/odbcini-gen.sh | ||
32 | index d2c2c87..6068d9d 100755 | ||
33 | --- a/test/odbcini-gen.sh | ||
34 | +++ b/test/odbcini-gen.sh | ||
35 | @@ -6,7 +6,7 @@ | ||
36 | outini=odbc.ini | ||
37 | outinstini=odbcinst.ini | ||
38 | |||
39 | -drvr=../.libs/psqlodbcw | ||
40 | +drvr=@LIBDIR@/psqlodbca | ||
41 | driver=${drvr}.so | ||
42 | if test ! -e $driver ; then | ||
43 | driver=${drvr}.dll | ||
44 | @@ -33,10 +33,10 @@ Driver = psqlodbc test driver | ||
45 | Trace = No | ||
46 | TraceFile = | ||
47 | Database = contrib_regression | ||
48 | -Servername = | ||
49 | -Username = | ||
50 | +Servername = localhost | ||
51 | +Username = postgres | ||
52 | Password = | ||
53 | -Port = | ||
54 | +Port = 5432 | ||
55 | ReadOnly = No | ||
56 | RowVersioning = No | ||
57 | ShowSystemTables = No | ||
58 | diff --git a/test/runsuite.c b/test/runsuite.c | ||
59 | index 583cf35..fd2a90e 100644 | ||
60 | --- a/test/runsuite.c | ||
61 | +++ b/test/runsuite.c | ||
62 | @@ -51,7 +51,7 @@ bailout(const char *fmt, ...) | ||
63 | |||
64 | /* Given a test program's name, get the test name */ | ||
65 | void | ||
66 | -parse_argument(const char *in, char *testname, char *binname) | ||
67 | +parse_argument(const char *in, char *testname, char *binname, const char *inputdir) | ||
68 | { | ||
69 | const char *basename; | ||
70 | #ifdef WIN32 | ||
71 | @@ -65,7 +65,7 @@ parse_argument(const char *in, char *testname, char *binname) | ||
72 | if (strchr(in, DIR_SEP) == NULL) | ||
73 | { | ||
74 | strcpy(testname, in); | ||
75 | - sprintf(binname, "exe%c%s-test", DIR_SEP, in); | ||
76 | + sprintf(binname, "%s%cexe%c%s-test", inputdir, DIR_SEP, DIR_SEP, in); | ||
77 | return; | ||
78 | } | ||
79 | |||
80 | @@ -127,7 +127,7 @@ int main(int argc, char **argv) | ||
81 | failures = 0; | ||
82 | for (i = 1, j = 1; i <= numtests; i++, j++) | ||
83 | { | ||
84 | - parse_argument(argv[j], testname, binname); | ||
85 | + parse_argument(argv[j], testname, binname, inputdir); | ||
86 | if (runtest(binname, testname, i, inputdir) != 0) | ||
87 | failures++; | ||
88 | } | ||
89 | @@ -157,29 +157,29 @@ runtest(const char *binname, const char *testname, int testno, const char *input | ||
90 | #ifndef WIN32 | ||
91 | snprintf(cmdline, sizeof(cmdline), | ||
92 | "ODBCSYSINI=. ODBCINSTINI=./odbcinst.ini ODBCINI=./odbc.ini " | ||
93 | - "%s > results/%s.out", | ||
94 | - binname, testname); | ||
95 | + "%s > %s/results/%s.out", | ||
96 | + binname, inputdir, testname); | ||
97 | #else | ||
98 | snprintf(cmdline, sizeof(cmdline), | ||
99 | - "%s > results\\%s.out", | ||
100 | - binname, testname); | ||
101 | + "%s > %s/results\\%s.out", | ||
102 | + binname, inputdir, testname); | ||
103 | #endif | ||
104 | rc = system(cmdline); | ||
105 | |||
106 | diff = rundiff(testname, inputdir); | ||
107 | if (rc != 0) | ||
108 | { | ||
109 | - printf("not ok %d - %s test returned %d\n", testno, testname, rc); | ||
110 | + printf("FAIL: %d - %s\n\ttest returned %d\n", testno, testname, rc); | ||
111 | ret = 1; | ||
112 | } | ||
113 | else if (diff != 0) | ||
114 | { | ||
115 | - printf("not ok %d - %s test output differs\n", testno, testname); | ||
116 | + printf("FAIL: %d - %s\n\ttest output differs\n", testno, testname); | ||
117 | ret = 1; | ||
118 | } | ||
119 | else | ||
120 | { | ||
121 | - printf("ok %d - %s\n", testno, testname); | ||
122 | + printf("PASS: %d - %s\n", testno, testname); | ||
123 | ret = 0; | ||
124 | } | ||
125 | fflush(stdout); | ||
126 | @@ -196,7 +196,7 @@ rundiff(const char *testname, const char *inputdir) | ||
127 | char *result; | ||
128 | size_t result_len; | ||
129 | |||
130 | - snprintf(filename, sizeof(filename), "results/%s.out", testname); | ||
131 | + snprintf(filename, sizeof(filename), "%s/results/%s.out", inputdir, testname); | ||
132 | result = slurpfile(filename, &result_len); | ||
133 | |||
134 | outputno = 0; | ||
135 | @@ -244,8 +244,8 @@ rundiff(const char *testname, const char *inputdir) | ||
136 | * files and print the smallest diff? | ||
137 | */ | ||
138 | snprintf(cmdline, sizeof(cmdline), | ||
139 | - "diff -c %s/expected/%s.out results/%s.out >> regression.diffs", | ||
140 | - inputdir, testname, testname); | ||
141 | + "diff -c %s/expected/%s.out %s/results/%s.out >> regression.diffs", | ||
142 | + inputdir, testname, inputdir, testname); | ||
143 | if (system(cmdline) == -1) | ||
144 | printf("# diff failed\n"); | ||
145 | |||
146 | -- | ||
147 | 2.8.2 | ||
148 | |||
diff --git a/meta-oe/recipes-support/psqlodbc/files/psqlodbc-remove-some-checks-for-cross-compiling.patch b/meta-oe/recipes-support/psqlodbc/files/psqlodbc-remove-some-checks-for-cross-compiling.patch deleted file mode 100644 index 1d988182e..000000000 --- a/meta-oe/recipes-support/psqlodbc/files/psqlodbc-remove-some-checks-for-cross-compiling.patch +++ /dev/null | |||
@@ -1,118 +0,0 @@ | |||
1 | Subject: [PATCH] remove some checks for cross-compiling | ||
2 | |||
3 | some lib check is not suitable for | ||
4 | cross-compiling, so remove them. | ||
5 | |||
6 | Upstream-Status: Inappropriate [not a real bug,just for cross-compiling] | ||
7 | |||
8 | Signed-off-by: Song.Li <Song.Li@windriver.com> | ||
9 | Signed-off-by: Kai Kang <kai.kang@windriver.com> | ||
10 | Signed-off-by: Jackie Huang <jackie.huang@windriver.com> | ||
11 | --- | ||
12 | configure.ac | 66 +++++++----------------------------------------------------- | ||
13 | 1 file changed, 7 insertions(+), 59 deletions(-) | ||
14 | |||
15 | diff --git a/configure.ac b/configure.ac | ||
16 | index df5ad7a..b72bd4c 100644 | ||
17 | --- a/configure.ac | ||
18 | +++ b/configure.ac | ||
19 | @@ -46,57 +46,19 @@ AC_ARG_WITH(iodbc, [ --with-iodbc[[=DIR]] [[default=no]] DIR is the iODBC bas | ||
20 | if test "$with_iodbc" != no; then | ||
21 | with_unixodbc=no | ||
22 | AC_DEFINE(WITH_IODBC, 1, [Define to 1 to build with iODBC support]) | ||
23 | - if test "$with_iodbc" = yes; then | ||
24 | - AC_PATH_PROGS(ODBC_CONFIG, iodbc-config) | ||
25 | - else | ||
26 | - ODBC_CONFIG=$with_iodbc | ||
27 | - fi | ||
28 | - if test ! -x "${ODBC_CONFIG}/bin/iodbc-config"; then | ||
29 | - if test ! -x "${ODBC_CONFIG}"; then | ||
30 | - AC_MSG_ERROR([iodbc-config not found (required for iODBC build)]) | ||
31 | - fi | ||
32 | - else | ||
33 | - ODBC_CONFIG=${ODBC_CONFIG}/bin/iodbc-config | ||
34 | - fi | ||
35 | fi | ||
36 | |||
37 | if test "$with_unixodbc" != no; then | ||
38 | AC_DEFINE(WITH_UNIXODBC, 1, | ||
39 | [Define to 1 to build with unixODBC support]) | ||
40 | - if test "$with_unixodbc" = yes; then | ||
41 | - AC_PATH_PROGS(ODBC_CONFIG, odbc_config) | ||
42 | - else | ||
43 | - ODBC_CONFIG=$with_unixodbc | ||
44 | - fi | ||
45 | - if test ! -x "${ODBC_CONFIG}/bin/odbc_config"; then | ||
46 | - if test ! -x "${ODBC_CONFIG}"; then | ||
47 | - AC_MSG_ERROR([odbc_config not found (required for unixODBC build)]) | ||
48 | - fi | ||
49 | - else | ||
50 | - ODBC_CONFIG=${ODBC_CONFIG}/bin/odbc_config | ||
51 | - fi | ||
52 | fi | ||
53 | |||
54 | # | ||
55 | # ODBC include and library | ||
56 | # | ||
57 | - | ||
58 | -if test "$ODBC_CONFIG" != ""; then | ||
59 | - if test "$with_iodbc" != no; then | ||
60 | - ODBC_INCLUDE=`${ODBC_CONFIG} --cflags` | ||
61 | - CPPFLAGS="$CPPFLAGS ${ODBC_INCLUDE}" | ||
62 | - # Linking libiodoc is rather problematic | ||
63 | - [ODBC_LIBDIR=`${ODBC_CONFIG} --libs | sed -e "s/^\(-L\|.*[ \t]-L\)\([^ \n\r\f\t]*\).*$/-L\2/"`] | ||
64 | - LDFLAGS="$LDFLAGS ${ODBC_LIBDIR}" | ||
65 | - else | ||
66 | - ODBC_INCLUDE=`${ODBC_CONFIG} --include-prefix` | ||
67 | - CPPFLAGS="$CPPFLAGS -I${ODBC_INCLUDE}" | ||
68 | - # Linking libodoc is rather problematic | ||
69 | - ODBC_LIBDIR=`${ODBC_CONFIG} --lib-prefix` | ||
70 | - LDFLAGS="$LDFLAGS -L${ODBC_LIBDIR}" | ||
71 | - fi | ||
72 | - AC_MSG_NOTICE([using $ODBC_INCLUDE $ODBC_LIBDIR]) | ||
73 | -fi | ||
74 | +ODBC_LIBS="-lodbcinst" | ||
75 | +LIBS="$LIBS ${ODBC_LIBS}" | ||
76 | +AC_MSG_NOTICE([using $ODBC_INCLUDE $ODBC_LIBS]) | ||
77 | |||
78 | # | ||
79 | # SQLCOLATTRIBUTE_SQLLEN check | ||
80 | @@ -176,18 +138,10 @@ PGAC_ARG_BOOL(enable, pthreads, yes, | ||
81 | # Find libpq headers and libraries | ||
82 | # | ||
83 | |||
84 | -if test -z "$PG_CONFIG"; then | ||
85 | - AC_PATH_PROGS(PG_CONFIG, pg_config) | ||
86 | -fi | ||
87 | - | ||
88 | -if test -n "$PG_CONFIG"; then | ||
89 | - pg_includedir=`"$PG_CONFIG" --includedir` | ||
90 | - pg_libdir=`"$PG_CONFIG" --libdir` | ||
91 | - CPPFLAGS="$CPPFLAGS -I$pg_includedir" | ||
92 | - LDFLAGS="$LDFLAGS -L$pg_libdir" | ||
93 | -fi | ||
94 | - | ||
95 | - | ||
96 | +pg_includedir="" | ||
97 | +pg_libdir="" | ||
98 | +CPPFLAGS="$CPPFLAGS" | ||
99 | +LDFLAGS="$LDFLAGS" | ||
100 | |||
101 | # 1. Programs | ||
102 | |||
103 | @@ -211,12 +165,6 @@ if test "$with_iodbc" != no; then | ||
104 | [AC_MSG_ERROR([iODBC library "iodbcinst" not found])]) | ||
105 | fi | ||
106 | |||
107 | -if test "$enable_pthreads" = yes; then | ||
108 | - AC_CHECK_LIB(pthreads, pthread_create, | ||
109 | - [], | ||
110 | - [AC_CHECK_LIB(pthread, pthread_create)]) | ||
111 | -fi | ||
112 | - | ||
113 | AC_CHECK_LIB(pq, PQsetSingleRowMode, [], | ||
114 | [AC_MSG_ERROR([libpq library version >= 9.2 is required])]) | ||
115 | |||
116 | -- | ||
117 | 2.8.1 | ||
118 | |||
diff --git a/meta-oe/recipes-support/psqlodbc/psqlodbc.inc b/meta-oe/recipes-support/psqlodbc/psqlodbc.inc deleted file mode 100644 index 5337b4569..000000000 --- a/meta-oe/recipes-support/psqlodbc/psqlodbc.inc +++ /dev/null | |||
@@ -1,50 +0,0 @@ | |||
1 | SUMMARY = "ODBC driver for PostgreSQL" | ||
2 | DESCRIPTION = "\ | ||
3 | This package provides a driver that allows ODBC-enabled applications to \ | ||
4 | access PostgreSQL databases. ODBC is an abstraction layer that allows \ | ||
5 | applications written for that layer to access databases in a manner \ | ||
6 | that is relatively independent of the particular database management \ | ||
7 | system. \ | ||
8 | . \ | ||
9 | You need to install this package if you want to use an application that \ | ||
10 | provides database access through ODBC and you want that application to \ | ||
11 | access a PostgreSQL database. This package would need to be installed \ | ||
12 | on the same machine as that client application; the PostgreSQL database \ | ||
13 | server can be on a different machine and does not need any additional \ | ||
14 | software to accept ODBC clients. \ | ||
15 | " | ||
16 | SECTION = "libs" | ||
17 | HOMEPAGE = "http://psqlodbc.projects.postgresql.org/" | ||
18 | |||
19 | DEPENDS += "postgresql unixodbc" | ||
20 | |||
21 | EXTRA_OECONF = "\ | ||
22 | ac_cv_lib_ltdl_lt_dlopen=no \ | ||
23 | ac_cv_lib_pq_PQconnectdb=yes \ | ||
24 | --with-unixodbc=yes \ | ||
25 | --with-libpq=${STAGING_LIBDIR}/.. \ | ||
26 | --enable-pthreads \ | ||
27 | --disable-unicode \ | ||
28 | LIBS="-lpthread" \ | ||
29 | " | ||
30 | |||
31 | inherit autotools pkgconfig ptest | ||
32 | |||
33 | do_compile_ptest() { | ||
34 | oe_runmake -C ${B}/test | ||
35 | } | ||
36 | |||
37 | do_install_ptest() { | ||
38 | install -d ${D}${PTEST_PATH} | ||
39 | cp -a --no-preserve=ownership ${B}/test/exe ${S}/test/expected ${D}${PTEST_PATH} | ||
40 | install -m 0755 ${B}/test/reset-db ${D}${PTEST_PATH} | ||
41 | install -m 0755 ${B}/test/runsuite ${D}${PTEST_PATH} | ||
42 | install -m 0755 ${S}/test/odbcini-gen.sh ${D}${PTEST_PATH} | ||
43 | install -m 0755 ${S}/test/sampletables.sql ${D}${PTEST_PATH} | ||
44 | sed -i -e 's|@LIBDIR@|${libdir}|' ${D}${PTEST_PATH}/odbcini-gen.sh | ||
45 | } | ||
46 | |||
47 | FILES_${PN} += "${libdir}" | ||
48 | |||
49 | # The tests need a local PostgreSQL server running | ||
50 | RDEPENDS_${PN}-ptest = "postgresql" | ||
diff --git a/meta-oe/recipes-support/psqlodbc/psqlodbc_09.05.0300.bb b/meta-oe/recipes-support/psqlodbc/psqlodbc_09.05.0300.bb deleted file mode 100644 index 97326a20e..000000000 --- a/meta-oe/recipes-support/psqlodbc/psqlodbc_09.05.0300.bb +++ /dev/null | |||
@@ -1,16 +0,0 @@ | |||
1 | require ${PN}.inc | ||
2 | |||
3 | LICENSE = "LGPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://license.txt;md5=6db3822fc7512e83087ba798da013692" | ||
5 | |||
6 | SRC_URI = "http://ftp.postgresql.org/pub/odbc/versions/src/${BPN}-${PV}.tar.gz \ | ||
7 | file://psqlodbc-remove-some-checks-for-cross-compiling.patch \ | ||
8 | file://psqlodbc-donot-use-the-hardcode-libdir.patch \ | ||
9 | file://psqlodbc-fix-for-ptest-support.patch \ | ||
10 | file://run-ptest \ | ||
11 | " | ||
12 | |||
13 | SRC_URI[md5sum] = "4c6e0b22187d7bb1c998ffac89e50f6b" | ||
14 | SRC_URI[sha256sum] = "9521f328bf28aaaf5c8488dc89792b614f9d6271742c0baf9bb41c97537764a8" | ||
15 | |||
16 | PNBLACKLIST[psqlodbc] ?= "Depends on blacklisted postgresql - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb b/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb deleted file mode 100644 index 1219cb8ed..000000000 --- a/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | SUMMARY = "A lightweight Terminal Emulator based on libvte, written in Vala" | ||
2 | SECTION = "x11/applications" | ||
3 | DEPENDS = "vte9 intltool-native" | ||
4 | SRCREV = "0fefa38087581f85fa0631b40500b9428369c146" | ||
5 | LICENSE = "GPLv2" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" | ||
7 | PV = "1.3+gitr${SRCPV}" | ||
8 | PE = "1" | ||
9 | PR = "r1" | ||
10 | |||
11 | PNBLACKLIST[vala-terminal] ?= "BROKEN: Doesn't work with B!=S, touch: cannot touch `src/.stamp': No such file or directory - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
12 | |||
13 | inherit autotools perlnative vala | ||
14 | |||
15 | SRC_URI = "${FREESMARTPHONE_GIT}/vala-terminal.git;branch=master" | ||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | RDEPENDS_${PN} = "ttf-liberation-mono" | ||
19 | RREPLACES_${PN} = "openmoko-terminal2" | ||
20 | RPROVIDES_${PN} = "openmoko-terminal2" | ||
diff --git a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_4.3.36.bb b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_4.3.36.bb deleted file mode 100644 index c7bae1c08..000000000 --- a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_4.3.36.bb +++ /dev/null | |||
@@ -1,72 +0,0 @@ | |||
1 | SUMMARY = "VirtualBox Linux Guest Drivers" | ||
2 | SECTION = "core" | ||
3 | LICENSE = "GPL-2.0" | ||
4 | LIC_FILES_CHKSUM = "file://${WORKDIR}/${VBOX_NAME}/COPYING;md5=e197d5641bb35b29d46ca8c4bf7f2660" | ||
5 | |||
6 | DEPENDS = "virtual/kernel" | ||
7 | |||
8 | inherit module kernel-module-split | ||
9 | |||
10 | COMPATIBLE_MACHINE = "(qemux86|qemux86-64)" | ||
11 | |||
12 | VBOX_NAME = "VirtualBox-${PV}" | ||
13 | |||
14 | SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \ | ||
15 | file://Makefile.utils \ | ||
16 | " | ||
17 | SRC_URI[md5sum] = "8635387dec6cbfd576ba453355d4dc0c" | ||
18 | SRC_URI[sha256sum] = "af0776df6d03b2709cb76a69f055487bf12bdb3b4163e2a82959860300283046" | ||
19 | |||
20 | S = "${WORKDIR}/vbox_module" | ||
21 | |||
22 | export BUILD_TARGET_ARCH="${ARCH}" | ||
23 | export BUILD_TARGET_ARCH_x86-64="amd64" | ||
24 | export KERN_DIR="${STAGING_KERNEL_DIR}" | ||
25 | |||
26 | addtask export_sources before do_patch after do_unpack | ||
27 | |||
28 | do_export_sources() { | ||
29 | mkdir -p "${S}" | ||
30 | ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/export_modules ${T}/vbox_modules.tar.gz | ||
31 | tar -C "${S}" -xzf ${T}/vbox_modules.tar.gz | ||
32 | |||
33 | # add a mount utility to use shared folder from VBox Addition Source Code | ||
34 | mkdir -p "${S}/utils" | ||
35 | install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c ${S}/utils | ||
36 | install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/vbsfmount.c ${S}/utils | ||
37 | install ${S}/../Makefile.utils ${S}/utils/Makefile | ||
38 | |||
39 | } | ||
40 | |||
41 | # compile and install mount utility | ||
42 | do_compile_append() { | ||
43 | oe_runmake 'LD=${CC}' 'LDFLAGS=${LDFLAGS}' -C ${S}/utils | ||
44 | if ! [ -e vboxguest.ko -a -e vboxsf.ko -a -e vboxvideo.ko ] ; then | ||
45 | echo "ERROR: One of vbox*.ko modules wasn't built" | ||
46 | exit 1 | ||
47 | fi | ||
48 | } | ||
49 | |||
50 | module_do_install() { | ||
51 | MODULE_DIR=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/misc | ||
52 | install -d $MODULE_DIR | ||
53 | install -m 644 vboxguest.ko $MODULE_DIR | ||
54 | install -m 644 vboxsf.ko $MODULE_DIR | ||
55 | install -m 644 vboxvideo.ko $MODULE_DIR | ||
56 | } | ||
57 | |||
58 | do_install_append() { | ||
59 | install -d ${D}${base_sbindir} | ||
60 | install -m 755 ${S}/utils/mount.vboxsf ${D}${base_sbindir} | ||
61 | } | ||
62 | |||
63 | PACKAGES += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo" | ||
64 | RRECOMMENDS_${PN} += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo" | ||
65 | |||
66 | FILES_${PN} = "${base_sbindir}" | ||
67 | |||
68 | # autoload if installed | ||
69 | KERNEL_MODULE_AUTOLOAD += "vboxguest vboxsf vboxvideo" | ||
70 | |||
71 | # http://errors.yoctoproject.org/Errors/Details/83333/ | ||
72 | PNBLACKLIST[vboxguestdrivers] ?= "BROKEN: not compatible with default kernel version 4.8 - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-oe/recipes-support/xchat/xchat-2.8.8/automake-foreign.patch b/meta-oe/recipes-support/xchat/xchat-2.8.8/automake-foreign.patch deleted file mode 100644 index cfa2f6c7f..000000000 --- a/meta-oe/recipes-support/xchat/xchat-2.8.8/automake-foreign.patch +++ /dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | --- a/configure.in 2014-08-18 01:25:43.911597023 -0700 | ||
2 | +++ b/configure.in 2014-08-18 01:26:27.763786629 -0700 | ||
3 | @@ -8,7 +8,7 @@ | ||
4 | AC_CONFIG_HEADERS([config.h]) | ||
5 | AC_CONFIG_SRCDIR([configure.in]) | ||
6 | |||
7 | -AM_INIT_AUTOMAKE([1.9 dist-bzip2 subdir-objects no-define]) | ||
8 | +AM_INIT_AUTOMAKE([1.9 foreign dist-bzip2 subdir-objects no-define]) | ||
9 | |||
10 | AM_MAINTAINER_MODE | ||
11 | AC_PROG_CC | ||
diff --git a/meta-oe/recipes-support/xchat/xchat-2.8.8/fix-includes-for-separate-build.patch b/meta-oe/recipes-support/xchat/xchat-2.8.8/fix-includes-for-separate-build.patch deleted file mode 100644 index 4394e5257..000000000 --- a/meta-oe/recipes-support/xchat/xchat-2.8.8/fix-includes-for-separate-build.patch +++ /dev/null | |||
@@ -1,78 +0,0 @@ | |||
1 | diff -ur xchat-2.8.8-orig/plugins/perl/perl.c xchat-2.8.8/plugins/perl/perl.c | ||
2 | --- xchat-2.8.8-orig/plugins/perl/perl.c 2014-08-30 14:09:05.125116286 -0700 | ||
3 | +++ xchat-2.8.8/plugins/perl/perl.c 2014-08-30 14:09:45.281106532 -0700 | ||
4 | @@ -31,7 +31,7 @@ | ||
5 | #endif | ||
6 | |||
7 | #undef PACKAGE | ||
8 | -#include "../../config.h" /* for #define OLD_PERL */ | ||
9 | +#include <config.h> /* for #define OLD_PERL */ | ||
10 | #include "xchat-plugin.h" | ||
11 | |||
12 | static xchat_plugin *ph; /* plugin handle */ | ||
13 | diff -ur xchat-2.8.8-orig/src/common/network.c xchat-2.8.8/src/common/network.c | ||
14 | --- xchat-2.8.8-orig/src/common/network.c 2014-08-30 14:09:05.137116222 -0700 | ||
15 | +++ xchat-2.8.8/src/common/network.c 2014-08-30 14:13:52.729116323 -0700 | ||
16 | @@ -24,7 +24,7 @@ | ||
17 | #include <unistd.h> | ||
18 | #include <glib.h> | ||
19 | |||
20 | -#include "../../config.h" /* grab USE_IPV6 and LOOKUPD defines */ | ||
21 | +#include <config.h> /* grab USE_IPV6 and LOOKUPD defines */ | ||
22 | |||
23 | #define WANTSOCKET | ||
24 | #define WANTARPA | ||
25 | diff -ur xchat-2.8.8-orig/src/common/ssl.c xchat-2.8.8/src/common/ssl.c | ||
26 | --- xchat-2.8.8-orig/src/common/ssl.c 2014-08-30 14:09:05.137116222 -0700 | ||
27 | +++ xchat-2.8.8/src/common/ssl.c 2014-08-30 14:14:08.449133899 -0700 | ||
28 | @@ -23,7 +23,7 @@ | ||
29 | #include <string.h> /* strncpy() */ | ||
30 | #include "ssl.h" /* struct cert_info */ | ||
31 | #include "inet.h" | ||
32 | -#include "../../config.h" /* HAVE_SNPRINTF */ | ||
33 | +#include <config.h> /* HAVE_SNPRINTF */ | ||
34 | |||
35 | #ifndef HAVE_SNPRINTF | ||
36 | #define snprintf g_snprintf | ||
37 | diff -ur xchat-2.8.8-orig/src/common/util.c xchat-2.8.8/src/common/util.c | ||
38 | --- xchat-2.8.8-orig/src/common/util.c 2014-08-30 14:09:05.133116243 -0700 | ||
39 | +++ xchat-2.8.8/src/common/util.c 2014-08-30 14:10:23.633116070 -0700 | ||
40 | @@ -41,7 +41,7 @@ | ||
41 | #include "xchatc.h" | ||
42 | #include <ctype.h> | ||
43 | #include "util.h" | ||
44 | -#include "../../config.h" | ||
45 | +#include <config.h> | ||
46 | |||
47 | #define WANTSOCKET | ||
48 | #include "inet.h" | ||
49 | diff -ur xchat-2.8.8-orig/src/common/xchat.h xchat-2.8.8/src/common/xchat.h | ||
50 | --- xchat-2.8.8-orig/src/common/xchat.h 2014-08-30 14:09:05.133116243 -0700 | ||
51 | +++ xchat-2.8.8/src/common/xchat.h 2014-08-30 14:13:42.797116472 -0700 | ||
52 | @@ -1,4 +1,4 @@ | ||
53 | -#include "../../config.h" | ||
54 | +#include <config.h> | ||
55 | |||
56 | #include <glib.h> | ||
57 | #include <time.h> /* need time_t */ | ||
58 | diff -ur xchat-2.8.8-orig/src/fe-gtk/fe-gtk.h xchat-2.8.8/src/fe-gtk/fe-gtk.h | ||
59 | --- xchat-2.8.8-orig/src/fe-gtk/fe-gtk.h 2014-08-30 14:09:05.129116272 -0700 | ||
60 | +++ xchat-2.8.8/src/fe-gtk/fe-gtk.h 2014-08-30 14:10:13.309115951 -0700 | ||
61 | @@ -1,4 +1,4 @@ | ||
62 | -#include "../../config.h" | ||
63 | +#include <config.h> | ||
64 | |||
65 | #ifdef WIN32 | ||
66 | /* If you're compiling this for Windows, your release is un-official | ||
67 | diff -ur xchat-2.8.8-orig/src/fe-gtk/xtext.c xchat-2.8.8/src/fe-gtk/xtext.c | ||
68 | --- xchat-2.8.8-orig/src/fe-gtk/xtext.c 2014-08-30 14:09:05.129116272 -0700 | ||
69 | +++ xchat-2.8.8/src/fe-gtk/xtext.c 2014-08-30 14:10:00.313138254 -0700 | ||
70 | @@ -51,7 +51,7 @@ | ||
71 | #include <gtk/gtkwindow.h> | ||
72 | |||
73 | #ifdef XCHAT | ||
74 | -#include "../../config.h" /* can define USE_XLIB here */ | ||
75 | +#include <config.h> /* can define USE_XLIB here */ | ||
76 | #else | ||
77 | #define USE_XLIB | ||
78 | #endif | ||
diff --git a/meta-oe/recipes-support/xchat/xchat-2.8.8/glib-2.32.patch b/meta-oe/recipes-support/xchat/xchat-2.8.8/glib-2.32.patch deleted file mode 100644 index c9bce6a9c..000000000 --- a/meta-oe/recipes-support/xchat/xchat-2.8.8/glib-2.32.patch +++ /dev/null | |||
@@ -1,44 +0,0 @@ | |||
1 | --- xchat-2.8.8.orig/src/common/xchat.h 2009-08-16 11:40:16.000000000 +0200 | ||
2 | +++ xchat-2.8.8/src/common/xchat.h 2012-05-06 08:30:16.125755497 +0200 | ||
3 | @@ -1,10 +1,6 @@ | ||
4 | #include "../../config.h" | ||
5 | |||
6 | -#include <glib/gslist.h> | ||
7 | -#include <glib/glist.h> | ||
8 | -#include <glib/gutils.h> | ||
9 | -#include <glib/giochannel.h> | ||
10 | -#include <glib/gstrfuncs.h> | ||
11 | +#include <glib.h> | ||
12 | #include <time.h> /* need time_t */ | ||
13 | |||
14 | #ifndef XCHAT_H | ||
15 | --- xchat-2.8.8.orig/src/common/servlist.c 2010-05-16 09:24:26.000000000 +0200 | ||
16 | +++ xchat-2.8.8/src/common/servlist.c 2012-05-06 08:30:45.681758019 +0200 | ||
17 | @@ -24,7 +24,6 @@ | ||
18 | #include <unistd.h> | ||
19 | |||
20 | #include "xchat.h" | ||
21 | -#include <glib/ghash.h> | ||
22 | |||
23 | #include "cfgfiles.h" | ||
24 | #include "fe.h" | ||
25 | --- xchat-2.8.8.orig/src/common/util.c 2009-08-16 11:40:16.000000000 +0200 | ||
26 | +++ xchat-2.8.8/src/common/util.c 2012-05-06 08:31:10.389760122 +0200 | ||
27 | @@ -39,7 +39,6 @@ | ||
28 | #include <errno.h> | ||
29 | #include "xchat.h" | ||
30 | #include "xchatc.h" | ||
31 | -#include <glib/gmarkup.h> | ||
32 | #include <ctype.h> | ||
33 | #include "util.h" | ||
34 | #include "../../config.h" | ||
35 | --- xchat-2.8.8.orig/src/common/text.c 2010-05-30 04:14:41.000000000 +0200 | ||
36 | +++ xchat-2.8.8/src/common/text.c 2012-05-06 08:31:22.300761137 +0200 | ||
37 | @@ -28,7 +28,6 @@ | ||
38 | #include <sys/mman.h> | ||
39 | |||
40 | #include "xchat.h" | ||
41 | -#include <glib/ghash.h> | ||
42 | #include "cfgfiles.h" | ||
43 | #include "chanopt.h" | ||
44 | #include "plugin.h" | ||
diff --git a/meta-oe/recipes-support/xchat/xchat_2.8.8.bb b/meta-oe/recipes-support/xchat/xchat_2.8.8.bb deleted file mode 100644 index 408c700bb..000000000 --- a/meta-oe/recipes-support/xchat/xchat_2.8.8.bb +++ /dev/null | |||
@@ -1,39 +0,0 @@ | |||
1 | SUMMARY = "Full-featured IRC chat client with scripting support" | ||
2 | LICENSE = "GPLv2+" | ||
3 | HOMEPAGE = "http://www.xchat.org" | ||
4 | SECTION = "x11/network" | ||
5 | |||
6 | DEPENDS = "libgcrypt zlib gtk+ libsexy" | ||
7 | DEPENDS += "gdk-pixbuf-native" | ||
8 | |||
9 | LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b" | ||
10 | |||
11 | PR = "r2" | ||
12 | |||
13 | SRC_URI = "http://xchat.org/files/source/2.8/xchat-${PV}.tar.bz2 \ | ||
14 | file://glib-2.32.patch \ | ||
15 | file://automake-foreign.patch \ | ||
16 | file://fix-includes-for-separate-build.patch \ | ||
17 | " | ||
18 | |||
19 | inherit autotools gettext pkgconfig | ||
20 | |||
21 | PACKAGECONFIG ??= "dbus" | ||
22 | PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus-glib" | ||
23 | PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" | ||
24 | PACKAGECONFIG[python] = "--enable-python,--disable-python,python" | ||
25 | |||
26 | EXTRA_OECONF = "\ | ||
27 | --enable-maintainer-mode \ | ||
28 | --disable-perl \ | ||
29 | --disable-tcl \ | ||
30 | " | ||
31 | |||
32 | RDEPENDS_${PN} += "dbus" | ||
33 | FILES_${PN} += "${datadir}/dbus-1" | ||
34 | FILES_${PN}-dbg += "${libdir}/xchat/plugins/.debug" | ||
35 | |||
36 | SRC_URI[md5sum] = "6775c44f38e84d06c06c336b32c4a452" | ||
37 | SRC_URI[sha256sum] = "0d6d69437b5e1e45f3e66270fe369344943de8a1190e498fafa5296315a27db0" | ||
38 | |||
39 | PNBLACKLIST[xchat] ?= "Depends on blacklisted libsexy - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||
diff --git a/meta-python/recipes-extended/python-meh/files/tweak-native-language-support.patch b/meta-python/recipes-extended/python-meh/files/tweak-native-language-support.patch deleted file mode 100644 index 41cfaddc9..000000000 --- a/meta-python/recipes-extended/python-meh/files/tweak-native-language-support.patch +++ /dev/null | |||
@@ -1,44 +0,0 @@ | |||
1 | From 6e7689bced8ef56cfb5969560d23706f8e039807 Mon Sep 17 00:00:00 2001 | ||
2 | From: Hongxu Jia <hongxu.jia@windriver.com> | ||
3 | Date: Mon, 11 Apr 2016 23:01:19 -0400 | ||
4 | Subject: [PATCH] tweak native language support | ||
5 | |||
6 | - Only support en_GB only. | ||
7 | |||
8 | Upstream-Status: Inappropriate [oe specific] | ||
9 | |||
10 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
11 | --- | ||
12 | Makefile | 9 ++++++++- | ||
13 | 1 file changed, 8 insertions(+), 1 deletion(-) | ||
14 | |||
15 | diff --git a/Makefile b/Makefile | ||
16 | index d0a9784..db152c4 100644 | ||
17 | --- a/Makefile | ||
18 | +++ b/Makefile | ||
19 | @@ -24,7 +24,7 @@ test: | ||
20 | PYTHONPATH=. python $(TESTSUITE) -v | ||
21 | |||
22 | install: | ||
23 | - python setup.py install --root=$(DESTDIR) | ||
24 | + python setup.py install --root=$(DESTDIR) --install-lib=${PYTHON_SITEPACKAGES_DIR} --prefix=${prefix} | ||
25 | $(MAKE) -C po install | ||
26 | |||
27 | ChangeLog: | ||
28 | @@ -61,6 +61,13 @@ rpmlog: | ||
29 | @git log --pretty="format:- %s (%ae)" $(TAG).. |sed -e 's/@.*)/)/' | ||
30 | @echo | ||
31 | |||
32 | +po-empty: | ||
33 | + for lingua in "en_GB" ; do \ | ||
34 | + [ -f po/$$lingua.po ] || \ | ||
35 | + msginit -i po/$(PKGNAME).pot -o po/$$lingua.po -l $$lingua --no-translator || \ | ||
36 | + exit 1 ; \ | ||
37 | + done | ||
38 | + | ||
39 | potfile: | ||
40 | $(MAKE) -C po potfile | ||
41 | |||
42 | -- | ||
43 | 1.9.1 | ||
44 | |||
diff --git a/meta-ruby/recipes-devtools/ruby/bundler_git.bb b/meta-ruby/recipes-devtools/ruby/bundler_git.bb deleted file mode 100644 index df89520b6..000000000 --- a/meta-ruby/recipes-devtools/ruby/bundler_git.bb +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | SUMMARY = "Makes sure Ruby applications run the same code on every machine." | ||
2 | DESCRIPTION = "Bundler makes sure Ruby applications run the same code \ | ||
3 | on every machine. It does this by managing the gems that the \ | ||
4 | application depends on. Given a list of gems, it can automatically \ | ||
5 | download and install those gems, as well as any other gems needed by \ | ||
6 | the gems that are listed. Before installing gems, it checks the \ | ||
7 | versions of every gem to make sure that they are compatible, and can \ | ||
8 | all be loaded at the same time. After the gems have been installed, \ | ||
9 | Bundler can help you update some or all of them when new versions \ | ||
10 | become available. Finally, it records the exact versions that have \ | ||
11 | been installed, so that others can install the exact same gems." | ||
12 | |||
13 | LICENSE = "MIT" | ||
14 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=196bb963e601609817d7e9ac9a64a867" | ||
15 | |||
16 | SRCREV = "06dc8472b9142fd6aaefff780d6d252c20dc2a04" | ||
17 | |||
18 | BRANCH = "1-9-stable" | ||
19 | PV = "1.9.4" | ||
20 | |||
21 | S = "${WORKDIR}/git" | ||
22 | |||
23 | SRC_URI = " \ | ||
24 | git://github.com/bundler/bundler.git;branch=${BRANCH} \ | ||
25 | " | ||
26 | |||
27 | inherit ruby | ||
28 | |||
29 | RDEPENDS_${PN} = "git" | ||
30 | |||
31 | BBCLASSEXTEND = "native" | ||
32 | |||
33 | PNBLACKLIST[bundler] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130640/ - the recipe will be removed on 2017-09-01 unless the issue is fixed" | ||