[oe] [PATCH][meta-efl] lightmediascanner: Update to 0.5.1, improve

Manuel Bachmann manuel.bachmann at iot.bzh
Mon Oct 26 02:28:28 UTC 2015


We update "lightmediascanner" to its latest version,
which also allows us to :
- remove mentions of former company (now dissolved)
and website (now migrated to GitHub) ;
- properly split all plugins into subpackages ;
- have a new plugin based on libav, "generic", which
we do not automatically enable because of the well-known
licensing restrictions of its parent package.

MP4 plugin is disabled, because it depends on the MP4v2
library, which we do not have.

ID3 plugin requires a patch, already sent to upstream :
https://github.com/profusion/lightmediascanner/pull/19

meta-openembedded's only dependent recipe, "enjoy", has
been verified with this change.

Signed-off-by: Manuel Bachmann <manuel.bachmann at iot.bzh>
---
 .../id3-plugin-support-out-of-tree-build.patch     | 11 ++++
 .../lightmediascanner/lightmediascanner_0.4.4.bb   | 39 --------------
 .../lightmediascanner/lightmediascanner_0.5.1.bb   | 62 ++++++++++++++++++++++
 3 files changed, 73 insertions(+), 39 deletions(-)
 create mode 100644 meta-efl/recipes-multimedia/lightmediascanner/files/id3-plugin-support-out-of-tree-build.patch
 delete mode 100644 meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.4.4.bb
 create mode 100644 meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.5.1.bb

diff --git a/meta-efl/recipes-multimedia/lightmediascanner/files/id3-plugin-support-out-of-tree-build.patch b/meta-efl/recipes-multimedia/lightmediascanner/files/id3-plugin-support-out-of-tree-build.patch
new file mode 100644
index 0000000..9528bec
--- /dev/null
+++ b/meta-efl/recipes-multimedia/lightmediascanner/files/id3-plugin-support-out-of-tree-build.patch
@@ -0,0 +1,11 @@
+--- a/src/plugins/Makefile.am	2015-10-25 16:12:29.331415823 +0000
++++ b/src/plugins/Makefile.am	2015-10-25 16:14:37.593415808 +0000
+@@ -93,7 +93,7 @@
+ id3_id3_la_SOURCES = id3/id3.c id3/id3v1_genres.c
+ id3_id3_la_LIBADD = $(PLUGINS_LIBADD)
+ 
+-id3/id3v1_genres.c: $(srcdir)/id3/id3v1_genres.def $(srcdir)/id3/id3v1_genres_gen.awk
++$(srcdir)/id3/id3v1_genres.c: $(srcdir)/id3/id3v1_genres.def $(srcdir)/id3/id3v1_genres_gen.awk
+ 	$(AWK) -f $(srcdir)/id3/id3v1_genres_gen.awk $(srcdir)/id3/id3v1_genres.def > $@
+ 
+ EXTRA_DIST += id3/id3v1_genres.def id3/id3v1_genres_gen.awk
diff --git a/meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.4.4.bb b/meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.4.4.bb
deleted file mode 100644
index 4ed3664..0000000
--- a/meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.4.4.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "Lightweight media scanner meant to be used in not-so-powerful devices"
-AUTHOR = "ProFUSION"
-HOMEPAGE = "http://lms.garage.maemo.org/"
-SECTION = "libs/multimedia"
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
-DEPENDS = "sqlite3 flac virtual/libiconv"
-
-PR = "r2"
-
-SRC_URI = "https://github.com/profusion/lightmediascanner/archive/release_${PV}.tar.gz \
-"
-SRC_URI[md5sum] = "0c758d40eb70288a2c714dfb44c35171"
-SRC_URI[sha256sum] = "1bbc28fbe5efbc24aa4eac9e43bbb178a1669de1418afee47b0c6898aff53433"
-
-S = "${WORKDIR}/lightmediascanner-release_${PV}"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libvorbis"
-
-inherit autotools pkgconfig
-
-do_install_append() {
-    install -d ${D}/${bindir}/
-    install -m 755 ${B}/src/bin/.libs/test  ${D}/${bindir}/test-lms
-}
-
-PACKAGES =+ "${PN}-test"
-
-FILES_${PN}-test = "${bindir}/test-lms"
-
-FILES_${PN}-dbg += "${libdir}/${PN}/plugins/.debug"
-FILES_${PN}-staticdev += "${libdir}/${PN}/plugins/*.a"
-
-# otherwise fails with ERROR: could not add conversion charset 'UTF-16BE': Invalid argument
-RDEPENDS_${PN}-test_append_libc-glibc = " glibc-gconv-utf-16"
-
-# png.so jpeg.so id3.so are provided also by imlib2-loaders
-PRIVATE_LIBS_${PN} = "video-dummy.so png.so jpeg.so id3.so pls.so audio-dummy.so rm.so ogg.so dummy.so m3u.so flac.so asf.so"
diff --git a/meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.5.1.bb b/meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.5.1.bb
new file mode 100644
index 0000000..9870fac
--- /dev/null
+++ b/meta-efl/recipes-multimedia/lightmediascanner/lightmediascanner_0.5.1.bb
@@ -0,0 +1,62 @@
+SUMMARY = "Lightweight media scanner"
+DESCRIPTION = "Lightweight media scanner meant to be used in not-so-powerful devices, like embedded systems or old machines."
+SECTION = "libs/multimedia"
+
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
+                    file://src/lib/lightmediascanner.c;endline=21;md5=6d8889bccb4c6c27e8b786342a3eb267"
+
+DEPENDS = "file gawk glib-2.0 sqlite3"
+
+PV = "0.5.1+git${SRCPV}"
+SRCREV = "adfddb3486276a5ed2f5008c9e43a811e1271cc9"
+SRC_URI = "git://github.com/profusion/lightmediascanner.git \
+           file://id3-plugin-support-out-of-tree-build.patch \
+          "
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--enable-static --disable-mp4"
+
+PACKAGECONFIG ??= "ogg flac wave id3 m3u pls asf rm jpeg png"
+PACKAGECONFIG[generic] = "--enable-generic,--disable-generic,libav"
+PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libogg libvorbis libtheora"
+PACKAGECONFIG[flac] = "--enable-flac,--disable-flac,flac"
+PACKAGECONFIG[wave] = "--enable-wave,--disable-wave"
+PACKAGECONFIG[id3] = "--enable-id3,--disable-id3"
+PACKAGECONFIG[m3u] = "--enable-m3u,--disable-m3u"
+PACKAGECONFIG[pls] = "--enable-pls,--disable-pls"
+PACKAGECONFIG[asf] = "--enable-asf,--disable-asf"
+PACKAGECONFIG[rm] = "--enable-rm,--disable-rm"
+PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg"
+PACKAGECONFIG[png] = "--enable-png,--disable-png"
+
+do_install_append() {
+       # Install "test" binary for corresponding package
+       install -d ${D}/${bindir}
+       install -m 755 ${B}/src/bin/.libs/test ${D}/${bindir}/test-lms
+       # Remove .la files for loadable modules
+       rm -f ${D}/${libdir}/${PN}/plugins/*.la
+}
+
+FILES_${PN} += "${datadir}/dbus-1"
+FILES_${PN}-dbg += "${libdir}/${PN}/plugins/.debug"
+
+PACKAGES_prepend = "${PN}-test "
+FILES_${PN}-test_prepend = "${bindir}/test-lms "
+
+PACKAGES += "${PN}-meta"
+ALLOW_EMPTY_${PN}-meta = "1"
+
+PACKAGES_DYNAMIC = "${PN}-plugin-*"
+
+python populate_packages_prepend () {
+    lms_libdir = d.expand('${libdir}/${PN}')
+    pkgs = []
+
+    pkgs += do_split_packages(d, oe.path.join(lms_libdir, "plugins"), '^(.*)\.so$', d.expand('${PN}-plugin-%s'), 'LightMediaScanner plugin for %s', prepend=True, extra_depends=d.expand('${PN}'))
+    metapkg = d.getVar('PN', True) + '-meta'
+    d.setVar('RDEPENDS_' + metapkg, ' '.join(pkgs))
+}
-- 
1.8.3.1




More information about the Openembedded-devel mailing list