aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-multimedia/classes/juce.bbclass37
-rw-r--r--meta-multimedia/recipes-multimedia/juce/nativesdk-projucer_git.bb2
-rw-r--r--meta-multimedia/recipes-multimedia/juce/projucer-native_git.bb2
-rw-r--r--meta-multimedia/recipes-multimedia/juce/projucer.inc37
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}
+}