diff options
Diffstat (limited to 'meta-multimedia')
4 files changed, 78 insertions, 0 deletions
diff --git a/meta-multimedia/classes/juce.bbclass b/meta-multimedia/classes/juce.bbclass new file mode 100644 index 0000000000..ac97ca348c --- /dev/null +++ b/meta-multimedia/classes/juce.bbclass @@ -0,0 +1,37 @@ +inherit pkgconfig + +JUCE_X11_DEPS = "libx11 libxext libxinerama libxinerama libxrandr libxcursor freetype" +JUCE_DEPS = " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${JUCE_X11_DEPS}', '', d)} \ + alsa-lib \ + curl \ +" +DEPENDS_prepend = "projucer-native ${JUCE_DEPS} " + +export OE_JUCE_PROJUCER = "${STAGING_BINDIR_NATIVE}/Projucer" + +juce_do_configure() { + if [ -z "${JUCE_JUCERS}" ]; then + JUCERS=`find . -type f -iname "*.jucer"` && IFS=$'\n' + else + JUCERS="${JUCE_JUCERS}" + fi + + if [ -z "$JUCERS" ]; then + die "JUCE_JUCERS not set and no profiles found in $PWD" + fi + + # XXX: Hack for Projucer, since it requires a X Display even when running in + # console mode. This will be fixed in future. Most cases DISPLAY=:0 will just work, + # the only case why we have JUCE_DISPLAY variable, is in case of a build system, + # such as jenkins, that can have multiple virtual X server running for each build. + test -z "${JUCE_DISPLAY}" && export DISPLAY=:0 || export DISPLAY=${JUCE_DISPLAY} + + for i in $JUCERS; do + ${OE_JUCE_PROJUCER} --resave $i + done +} + +EXPORT_FUNCTIONS do_configure + +addtask configure after do_unpack do_patch before do_compile 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} +} |