summaryrefslogtreecommitdiffstats
path: root/meta-multimedia
diff options
context:
space:
mode:
Diffstat (limited to 'meta-multimedia')
-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 000000000..ac97ca348
--- /dev/null
+++ b/meta-multimedia/classes/juce.bbclass
@@ -0,0 +1,37 @@
1inherit pkgconfig
2
3JUCE_X11_DEPS = "libx11 libxext libxinerama libxinerama libxrandr libxcursor freetype"
4JUCE_DEPS = " \
5 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${JUCE_X11_DEPS}', '', d)} \
6 alsa-lib \
7 curl \
8"
9DEPENDS_prepend = "projucer-native ${JUCE_DEPS} "
10
11export OE_JUCE_PROJUCER = "${STAGING_BINDIR_NATIVE}/Projucer"
12
13juce_do_configure() {
14 if [ -z "${JUCE_JUCERS}" ]; then
15 JUCERS=`find . -type f -iname "*.jucer"` && IFS=$'\n'
16 else
17 JUCERS="${JUCE_JUCERS}"
18 fi
19
20 if [ -z "$JUCERS" ]; then
21 die "JUCE_JUCERS not set and no profiles found in $PWD"
22 fi
23
24 # XXX: Hack for Projucer, since it requires a X Display even when running in
25 # console mode. This will be fixed in future. Most cases DISPLAY=:0 will just work,
26 # the only case why we have JUCE_DISPLAY variable, is in case of a build system,
27 # such as jenkins, that can have multiple virtual X server running for each build.
28 test -z "${JUCE_DISPLAY}" && export DISPLAY=:0 || export DISPLAY=${JUCE_DISPLAY}
29
30 for i in $JUCERS; do
31 ${OE_JUCE_PROJUCER} --resave $i
32 done
33}
34
35EXPORT_FUNCTIONS do_configure
36
37addtask 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 000000000..93b23b1b5
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/juce/nativesdk-projucer_git.bb
@@ -0,0 +1,2 @@
1inherit nativesdk
2include 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 000000000..b919a7dcb
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/juce/projucer-native_git.bb
@@ -0,0 +1,2 @@
1inherit native
2include 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 000000000..6f696e26f
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/juce/projucer.inc
@@ -0,0 +1,37 @@
1SUMMARY = "JUCE's Projucer"
2DESCRIPTION = "Projucer is used to build and generate support files and build infrastructure for all \
3JUCE supported platforms, including Linux and Embedded Linux."
4SECTION = "utils"
5HOMEPAGE = "http://juce.com/"
6LICENSE = "GPLv2"
7LIC_FILES_CHKSUM = "file://README.txt;md5=9ab765ccda8890efc753f287911a1958"
8
9inherit pkgconfig
10
11DEPENDS = "libx11 libxext libxinerama libxrandr libxcursor freetype alsa-lib curl"
12
13SRCREV = "a8a7fa28e2e9cb19db6a27fcccb567a8ccfe6109"
14BRANCH = "develop"
15SRC_URI = "git://github.com/julianstorer/JUCE.git;protocol=https;branch=${BRANCH}"
16
17S = "${WORKDIR}/git"
18PV = "4.2.3+git${SRCPV}"
19
20JUCE_PROJUCER_BUILD_PATH = "${B}/extras/Projucer/Builds"
21JUCE_PROJUCER_MAKEFILE_PATH = "${JUCE_PROJUCER_BUILD_PATH}/LinuxMakefile"
22JUCE_PROJUCER = "${JUCE_PROJUCER_MAKEFILE_PATH}/build/Projucer"
23
24do_configure() {
25 cd ${JUCE_PROJUCER_MAKEFILE_PATH}
26 CONFIG=Release oe_runmake clean
27}
28
29do_compile() {
30 cd ${JUCE_PROJUCER_MAKEFILE_PATH}
31 CONFIG=Release oe_runmake
32}
33
34do_install() {
35 install -d ${D}${bindir}
36 install -m 0755 ${JUCE_PROJUCER} ${D}${bindir}
37}