From 3bbc28d7c76cf0a8aab18096420d0b52209103c7 Mon Sep 17 00:00:00 2001 From: "eu@felipetonello.com" Date: Mon, 18 Jul 2016 20:46:31 +0100 Subject: juce: Added support for JUCE framework See below for the official README from JUCE. For TL;DRs: JUCE is a well known and widely used C++ Framework for audio applications. It has good support for Linux and ARM. A typical JUCE application recipe will only contain this skeleton: inherit juce SRC_URI = "..." JUCE_JUCERS = "${B}/cool-project.jucer" do_compile() { CONFIG=Release oe_runmake } do_install() { install ... } ====== OBS: This recipe requires a patch[1] on oe-core which is been tested right now. [1] http://lists.openembedded.org/pipermail/openembedded-core/2016-July/123972.html ====== >From the README: JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ framework for developing cross-platform software. It contains pretty much everything you're likely to need to create most applications, and is particularly well-suited for building highly-customised GUIs, and for handling graphics and sound. Most JUCE modules are shared under the GNU Public Licence (GPLv2, v3, and the AGPLv3). This means that the code can be freely copied and distributed, and costs nothing to use in other GPL applications. One module (the juce_core module) is permissively licensed under the ISC. For more information, visit the website: http://www.juce.com Signed-off-by: Felipe F. Tonello Signed-off-by: Martin Jansa --- .../juce/nativesdk-projucer_git.bb | 2 ++ .../recipes-multimedia/juce/projucer-native_git.bb | 2 ++ .../recipes-multimedia/juce/projucer.inc | 37 ++++++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 meta-multimedia/recipes-multimedia/juce/nativesdk-projucer_git.bb create mode 100644 meta-multimedia/recipes-multimedia/juce/projucer-native_git.bb create mode 100644 meta-multimedia/recipes-multimedia/juce/projucer.inc (limited to 'meta-multimedia/recipes-multimedia') diff --git a/meta-multimedia/recipes-multimedia/juce/nativesdk-projucer_git.bb b/meta-multimedia/recipes-multimedia/juce/nativesdk-projucer_git.bb new file mode 100644 index 0000000000..93b23b1b5a --- /dev/null +++ b/meta-multimedia/recipes-multimedia/juce/nativesdk-projucer_git.bb @@ -0,0 +1,2 @@ +inherit nativesdk +include projucer.inc diff --git a/meta-multimedia/recipes-multimedia/juce/projucer-native_git.bb b/meta-multimedia/recipes-multimedia/juce/projucer-native_git.bb new file mode 100644 index 0000000000..b919a7dcb3 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/juce/projucer-native_git.bb @@ -0,0 +1,2 @@ +inherit native +include projucer.inc diff --git a/meta-multimedia/recipes-multimedia/juce/projucer.inc b/meta-multimedia/recipes-multimedia/juce/projucer.inc new file mode 100644 index 0000000000..6f696e26f9 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/juce/projucer.inc @@ -0,0 +1,37 @@ +SUMMARY = "JUCE's Projucer" +DESCRIPTION = "Projucer is used to build and generate support files and build infrastructure for all \ +JUCE supported platforms, including Linux and Embedded Linux." +SECTION = "utils" +HOMEPAGE = "http://juce.com/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://README.txt;md5=9ab765ccda8890efc753f287911a1958" + +inherit pkgconfig + +DEPENDS = "libx11 libxext libxinerama libxrandr libxcursor freetype alsa-lib curl" + +SRCREV = "a8a7fa28e2e9cb19db6a27fcccb567a8ccfe6109" +BRANCH = "develop" +SRC_URI = "git://github.com/julianstorer/JUCE.git;protocol=https;branch=${BRANCH}" + +S = "${WORKDIR}/git" +PV = "4.2.3+git${SRCPV}" + +JUCE_PROJUCER_BUILD_PATH = "${B}/extras/Projucer/Builds" +JUCE_PROJUCER_MAKEFILE_PATH = "${JUCE_PROJUCER_BUILD_PATH}/LinuxMakefile" +JUCE_PROJUCER = "${JUCE_PROJUCER_MAKEFILE_PATH}/build/Projucer" + +do_configure() { + cd ${JUCE_PROJUCER_MAKEFILE_PATH} + CONFIG=Release oe_runmake clean +} + +do_compile() { + cd ${JUCE_PROJUCER_MAKEFILE_PATH} + CONFIG=Release oe_runmake +} + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${JUCE_PROJUCER} ${D}${bindir} +} -- cgit v1.2.3-54-g00ecf