diff options
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 23a8eaeca2..0000000000 --- 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 cc60083874..0000000000 --- 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 bfacf897fb..0000000000 --- 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 6837dab9fe..0000000000 --- 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 e9a79b252d..0000000000 --- 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 292b9eb870..0000000000 --- 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 87c85de9f8..0000000000 --- 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 3ffb9889f2..0000000000 --- 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 4f778d6e10..0000000000 --- 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 770f794aaf..0000000000 --- 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 f92a772fe1..0000000000 --- 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 7eab6d0f0e..0000000000 --- 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 9e6e9f24e5..0000000000 --- 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 61bb2f603d..0000000000 --- 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 5212134755..0000000000 --- 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 a6e964b550..0000000000 --- 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 e718ef3db3..0000000000 --- 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 c7a574c908..0000000000 --- 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 ed9b906621..0000000000 --- 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 ff86172752..0000000000 --- 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 ac18b59bbc..0000000000 --- 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 aa6a7b8d70..0000000000 --- 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 0f25fd592b..0000000000 --- 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 6d3efda510..0000000000 --- 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 d2a8539898..0000000000 --- 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 e9f7f9e89e..0000000000 --- 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 79a981b471..0000000000 --- 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 b17121721a..0000000000 --- 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 115dc7cf53..0000000000 --- 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 09624503b3..0000000000 --- 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 6e0ed74610..0000000000 --- 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 716d73ed17..0000000000 --- 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 59466f8af8..0000000000 --- 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 f86ffe16f6..0000000000 --- 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 d4ff801ce2..0000000000 --- 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 cb78a2e3af..0000000000 --- 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 9e63f1bc28..0000000000 --- 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 c9063bc445..0000000000 --- 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 61bb2f603d..0000000000 --- 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 2de6774ffb..0000000000 --- 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 ada2a96dd4..0000000000 --- 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 826cd444ec..0000000000 --- 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 87c85de9f8..0000000000 --- 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 6583d27244..0000000000 --- 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 87c85de9f8..0000000000 --- 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 495f314fc7..0000000000 --- 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 b18a69b0ba..0000000000 --- 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 61bb2f603d..0000000000 --- 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 4349e04457..0000000000 --- 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 f8f48345c9..0000000000 --- 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 b184f84c30..0000000000 --- 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 0a90fe3cdc..0000000000 --- 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 87c85de9f8..0000000000 --- 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 14aa2ed386..0000000000 --- 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 14f1141f1b..0000000000 --- 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 233f7777f8..0000000000 --- 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 24f789f59f..0000000000 --- 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 77dd223fdf..0000000000 --- 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 87c85de9f8..0000000000 --- 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 60d48a2ca8..0000000000 --- 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 d3bc200f5c..0000000000 --- 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 55773a3b98..0000000000 --- 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 03d0ee58d9..0000000000 --- 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 a8033ac595..0000000000 --- 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 32a6daf7d2..0000000000 --- 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 4cd21bfd0e..0000000000 --- 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 fa85f817e2..0000000000 --- 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 d0f26c7dd7..0000000000 --- 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 9f18531de9..0000000000 --- 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 61bb2f603d..0000000000 --- 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 783d123047..0000000000 --- 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 cec67aa72c..0000000000 --- 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 9524c70d7d..0000000000 --- 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 40dd8ad27d..0000000000 --- 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 4ab89ae32f..0000000000 --- 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 ffdd269820..0000000000 --- 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 f950938c94..0000000000 --- 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 a82d1ed3c8..0000000000 --- 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 4828686952..0000000000 --- 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 b1e580dbe5..0000000000 --- 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 728ffa6e39..0000000000 --- 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 c9adaa7314..0000000000 --- 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 d664bad78e..0000000000 --- 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 d277c11679..0000000000 --- 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 ecdbcee1f0..0000000000 --- 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 60e85974cb..0000000000 --- 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 832cd00a53..0000000000 --- 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 65c2d4a494..0000000000 --- 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 84be133f6a..0000000000 --- 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 eaf4893f7f..0000000000 --- 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 53988b0d10..0000000000 --- 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 ee4e2c414e..0000000000 --- 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 f2b0456d44..0000000000 --- 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 2d9dde649e..0000000000 --- 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 95ebcabf36..0000000000 --- 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 f49f2ee02c..0000000000 --- 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 19b7bb88dc..0000000000 --- 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 627a9e82b8..0000000000 --- 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 e718ee1c12..0000000000 --- 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 bfa3052b1a..0000000000 --- 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 7e8e295c7c..0000000000 --- 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 05626349be..0000000000 --- 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 96ad83029a..0000000000 --- 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 040e006abb..0000000000 --- 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 632f79d46e..0000000000 --- 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 98753b742a..0000000000 --- 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 e761db371f..0000000000 --- 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 3f5a5b1247..0000000000 --- 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 75e45e0ab6..0000000000 --- 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 8ad5b97ca9..0000000000 --- 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 84a4913863..0000000000 --- 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 282bfb184a..0000000000 --- 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 5e11a95dec..0000000000 --- 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 f6d737c813..0000000000 --- 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 629b830dd5..0000000000 --- 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 c419d0f44a..0000000000 --- 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 6028f2d1a2..0000000000 --- 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 75aff5d7c4..0000000000 --- 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 ad21073a09..0000000000 --- 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 1f9fa2ac2f..0000000000 --- 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 64785ca1c0..0000000000 --- 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 235b02a2fe..0000000000 --- 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 201783e91d..0000000000 --- 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 f1dafad2ea..0000000000 --- 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 805e937763..0000000000 --- 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 0bc9707c26..0000000000 --- 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 f36942d194..0000000000 --- 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 6ba3979557..0000000000 --- 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 48e63b1ea7..0000000000 --- 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 55a589c3f9..0000000000 --- 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 d1c9e4d8f9..0000000000 --- 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 fdcccb9d73..0000000000 --- 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 6b7fc5bec5..0000000000 --- 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 378e3e405a..0000000000 --- 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 de4cd8486c..0000000000 --- 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 d1cfab8fb9..0000000000 --- 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 7cb8b9ddf8..0000000000 --- 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 d6d49bbda6..0000000000 --- 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 f3db7ab6e2..0000000000 --- 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 ec2110785d..0000000000 --- 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 b09f8d200a..0000000000 --- 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 c49f2d3fb8..0000000000 --- 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 6dd33f3517..0000000000 --- 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 9a18972409..0000000000 --- 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 ace1b00761..0000000000 --- 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 7b6728102b..0000000000 --- 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 3c5169e788..0000000000 --- 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 4b397bf83d..0000000000 --- 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 d7874e492e..0000000000 --- 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 6b3bf7654d..0000000000 --- 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 3480712b5d..0000000000 --- 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 174985a7eb..0000000000 --- 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 29d410a0ab..0000000000 --- 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 53235a12d3..0000000000 --- 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 7a27ecd239..0000000000 --- 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 a462a4b9e6..0000000000 --- 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 914d2ccf99..0000000000 --- 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 cc81b1fc04..0000000000 --- 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 49d0fe9d47..0000000000 --- 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 d116968a6d..0000000000 --- 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 20ce5c5aa2..0000000000 --- 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 62d3df98e1..0000000000 --- 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 6920f0aa2b..0000000000 --- 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 8b69f1fe72..0000000000 --- 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 0062cfb11a..0000000000 --- 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 43a6152d83..0000000000 --- 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 5580f93a5b..0000000000 --- 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 caf7f57b18..0000000000 --- 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 fedd223328..0000000000 --- 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 2ab7882c81..0000000000 --- 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 a7cfee3a00..0000000000 --- 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 516cf93e42..0000000000 --- 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 b46e9d9db5..0000000000 --- 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 f8217dc3a1..0000000000 --- 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 42c20c47ea..0000000000 --- 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 b71f1dc5bc..0000000000 --- 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 cb03fd86e5..0000000000 --- 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 862c0ea302..0000000000 --- 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 50c9cb99f6..0000000000 --- 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 bd9f7a0ab6..0000000000 --- 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 83e598e6a6..0000000000 --- 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 a645978d92..0000000000 --- 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 6a2080d4cc..0000000000 --- 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 5dadda2a29..0000000000 --- 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 6c3d9de107..0000000000 --- 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 fab3371f0f..0000000000 --- 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 eb36a120fe..0000000000 --- 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 c976ff4705..0000000000 --- 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 3cfe5d7240..0000000000 --- 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 db50e38e3f..0000000000 --- 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 f590caa46d..0000000000 --- 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 317e01a9b4..0000000000 --- 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 31e247eb14..0000000000 --- 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 1be6ceaa8b..0000000000 --- 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 8e064fdc67..0000000000 --- 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 0e498c7125..0000000000 --- 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 e72fa8cf2f..0000000000 --- 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 97ab4d315d..0000000000 --- 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 00cba1023f..0000000000 --- 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 2dbcef402d..0000000000 --- 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 b3e7946b5d..0000000000 --- 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 f6e12023b1..0000000000 --- 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 4a7ed9a6e9..0000000000 --- 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 3283a5b6ad..0000000000 --- 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 248a5e6a8a..0000000000 --- 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 a4c4c4d0fd..0000000000 --- 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 ea34cdb62c..0000000000 --- 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 484e723d97..0000000000 --- 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 3b73549d2d..0000000000 --- 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 c4a6ae7315..0000000000 --- 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 7cafebfa28..0000000000 --- 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 27e9d217c5..0000000000 --- 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 a13c53be1b..0000000000 --- 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 0b554ef6ae..0000000000 --- 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 47e8f38e95..0000000000 --- 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 8a142645c3..0000000000 --- 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 49350fe188..0000000000 --- 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 1ddd9aab67..0000000000 --- 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 7da0e14525..0000000000 --- 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 10ce0f332c..0000000000 --- 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 73980f4265..0000000000 --- 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 42cb5f40b4..0000000000 --- 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 31fa51a3ea..0000000000 --- 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 b0a3fb10c7..0000000000 --- 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 5ff65834e4..0000000000 --- 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 7f6eb48889..0000000000 --- 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 3ca6fc4dc5..0000000000 --- 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 68bb66e4e2..0000000000 --- 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 f45e3fd59d..0000000000 --- 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 e0e4239c2f..0000000000 --- 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 8eef6e99cc..0000000000 --- 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 80325db4d6..0000000000 --- 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 d4f55b2696..0000000000 --- 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 05a9de3334..0000000000 --- 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 5d45c1a96c..0000000000 --- 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 1e62b50360..0000000000 --- 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 e859e443bb..0000000000 --- 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 94bf4b6fba..0000000000 --- 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 ea4aa222b3..0000000000 --- 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 d90bafac91..0000000000 --- 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 1041347c87..0000000000 --- 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 1e5fb7deb1..0000000000 --- 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 8c94232d6d..0000000000 --- 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 43ffc03a69..0000000000 --- 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 7e58afcf6b..0000000000 --- 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 15b161469c..0000000000 --- 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 a1989cfeab..0000000000 --- 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 e83d8f402b..0000000000 --- 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 7e4f682167..0000000000 --- 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 c8bafd570e..0000000000 --- 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 9ef6f7c4bf..0000000000 --- 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 3c8d8e353e..0000000000 --- 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 aa385f54c1..0000000000 --- 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 90f3fd0314..0000000000 --- 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 3c537c77ac..0000000000 --- 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 ca47c814c4..0000000000 --- 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 b65e55fc1e..0000000000 --- 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 a124e3a123..0000000000 --- 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 29d5f776a9..0000000000 --- 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 d55d9ebe6a..0000000000 --- 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 a8616fa55b..0000000000 --- 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 0553ceefd4..0000000000 --- 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 5dda4cca28..0000000000 --- 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 ade24dc06a..0000000000 --- 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 1860752202..0000000000 --- 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 eba4988031..0000000000 --- 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 d9ea2c29e0..0000000000 --- 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 ca19fd69b8..0000000000 --- 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 61b0e6c87e..0000000000 --- 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 9fe1bc6b64..0000000000 --- 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 2da29d9cb4..0000000000 --- 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 0453b1b496..0000000000 --- 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 ea36b1cd91..0000000000 --- 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 b050bf0011..0000000000 --- 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 192ece0e9d..0000000000 --- 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 ab33e765d4..0000000000 --- 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 2d8509c744..0000000000 --- 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 0a86504c73..0000000000 --- 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 dae583d854..0000000000 --- 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 1ce4dda1c3..0000000000 --- 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 0b7e5046b1..0000000000 --- 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 676fa8a7af..0000000000 --- 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 8113da76d2..0000000000 --- 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 0c77f1a20d..0000000000 --- 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 5240ccfd8b..0000000000 --- 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 b6098d84a8..0000000000 --- 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 bf1ffdfc6f..0000000000 --- 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 816f58350a..0000000000 --- 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 a7737fbf03..0000000000 --- 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 37679ab761..0000000000 --- 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 783bd5d73e..0000000000 --- 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 ece1da6bc3..0000000000 --- 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 6a4d5d0069..0000000000 --- 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 43096d2bce..0000000000 --- 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 7c833b0eb6..0000000000 --- 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 9d50ea44a1..0000000000 --- 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 0a787e3ea4..0000000000 --- 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 697f9bfa5e..0000000000 --- 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 0df232d250..0000000000 --- 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 b32311a82f..0000000000 --- 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 c6d78905d3..0000000000 --- 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 ccb9a02da9..0000000000 --- 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 0c00fdf41e..0000000000 --- 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 87016edf03..0000000000 --- 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 b6780c1965..0000000000 --- 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 0234f765ac..0000000000 --- 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 3e4aa7308d..0000000000 --- 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 b13bd7bcc3..0000000000 --- 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 ecf8e74933..0000000000 --- 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 48f959186a..0000000000 --- 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 5a73a19d5f..0000000000 --- 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 1b60c470d1..0000000000 --- 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 f7d480f174..0000000000 --- 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 14d84ae8a0..0000000000 --- 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 19e3dceca6..0000000000 --- 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 32f34550dd..0000000000 --- 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 c238200945..0000000000 --- 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 081bd3bc00..0000000000 --- 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 4bcd1c4d93..0000000000 --- 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 9c8ebe4c00..0000000000 --- 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 2eda65320d..0000000000 --- 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 f99b77ca41..0000000000 --- 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 90adaf4876..0000000000 --- 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 da4f3f4413..0000000000 --- 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 34b7aa64aa..0000000000 --- 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 b3eb3960c1..0000000000 --- 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 021b077de1..0000000000 --- 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 646b785ca7..0000000000 --- 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 d73e2f15e0..0000000000 --- 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 85ab1ef4a0..0000000000 --- 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 7d1a3aaa86..0000000000 --- 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 5a11ca06aa..0000000000 --- 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 61da9474df..0000000000 --- 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 2ba1ebbb74..0000000000 --- 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 566a2087c8..0000000000 --- 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 de82d63033..0000000000 --- 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 471c4f51e5..0000000000 --- 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 f2087c0103..0000000000 --- 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 566ae355e7..0000000000 --- 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 a5b812584c..0000000000 --- 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 fa2502bf05..0000000000 --- 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 0c5cfb742f..0000000000 --- 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 2fbdcab46e..0000000000 --- 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 2af669770e..0000000000 --- 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 771a2a8e12..0000000000 --- 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 5f2adec1a1..0000000000 --- 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 fcd2f684b1..0000000000 --- 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 e543413add..0000000000 --- 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 25e83209d7..0000000000 --- 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 fab0b238f6..0000000000 --- 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 0d63743638..0000000000 --- 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 cbdc6e762b..0000000000 --- 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 a82037109e..0000000000 --- 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 5818d0cc9f..0000000000 --- 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 1119d4c902..0000000000 --- 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 c214a020d5..0000000000 --- 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 a947b7fcc7..0000000000 --- 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 b333fce0bb..0000000000 --- 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 81d700a7b1..0000000000 --- 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 e232595cd9..0000000000 --- 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 b4d98412f2..0000000000 --- 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 1a4ae27e61..0000000000 --- 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 4e821be5a9..0000000000 --- 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 534ba3b14b..0000000000 --- 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 222a796028..0000000000 --- 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 29b41be93b..0000000000 --- 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 986b5d40d9..0000000000 --- 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 a7a38f30c8..0000000000 --- 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 eec9a2d70d..0000000000 --- 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 1520e578ac..0000000000 --- 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 978d777eac..0000000000 --- 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 c8c54a4134..0000000000 --- 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 4200301a3f..0000000000 --- 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 c15207a437..0000000000 --- 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 5b905f93f9..0000000000 --- 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 3388ff01e4..0000000000 --- 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 14ce57aaff..0000000000 --- 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 49cc270fe6..0000000000 --- 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 e1e7aed508..0000000000 --- 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 0883c1ad48..0000000000 --- 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 0ef82c004c..0000000000 --- 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 3dc22c590a..0000000000 --- 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 b509532e4d..0000000000 --- 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 8d2c5054a8..0000000000 --- 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 d05967da31..0000000000 --- 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 438f44f15a..0000000000 --- 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 4f0161727f..0000000000 --- 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 5cadf16ce2..0000000000 --- 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 246b2e2c27..0000000000 --- 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 c90c81954c..0000000000 --- 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 d3f2e789b4..0000000000 --- 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 107184be43..0000000000 --- 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 7f809bce12..0000000000 --- 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 d17c640ac2..0000000000 --- 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 8868e805a4..0000000000 --- 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 35c39cbe8f..0000000000 --- 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 e9142385b4..0000000000 --- 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 7eda038756..0000000000 --- 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 a8f14e7689..0000000000 --- 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 1d988182e7..0000000000 --- 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 5337b45695..0000000000 --- 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 97326a20e5..0000000000 --- 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 1219cb8ed0..0000000000 --- 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 c7bae1c08a..0000000000 --- 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 cfa2f6c7fe..0000000000 --- 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 4394e5257a..0000000000 --- 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 c9bce6a9c4..0000000000 --- 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 408c700bb9..0000000000 --- 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 41cfaddc9e..0000000000 --- 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 df89520b66..0000000000 --- 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" | ||
