aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2019-12-02 22:26:25 -0800
committerKhem Raj <raj.khem@gmail.com>2019-12-05 23:00:48 -0800
commitb180b56f7ba9686b8e8ab35d9b83e6ab59aebbc4 (patch)
tree1a2918d0cca74b5d14d9703e4a23603753594285
parentd1608c506f19918514d843517c95278b18fa7bab (diff)
downloadmeta-openembedded-contrib-b180b56f7ba9686b8e8ab35d9b83e6ab59aebbc4.tar.gz
projucer: Upgrade to 5.4.5
License-Update: https://github.com/WeAreROLI/JUCE/commit/d9dee4d87332bf9e3d12da2e032608698829dc14#diff-37854d19817c792316d481f5beb93cc7 Enbable GPL build and disable webkit component Merge native and nativesdk component into single recipe using bbclassextend Disable build on musl Link with libatomic on arches without builtin atomics Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-multimedia/recipes-multimedia/juce/nativesdk-projucer_git.bb3
-rw-r--r--meta-multimedia/recipes-multimedia/juce/projucer-native_git.bb3
-rw-r--r--meta-multimedia/recipes-multimedia/juce/projucer.inc25
-rw-r--r--meta-multimedia/recipes-multimedia/juce/projucer/0001-Disable-webkit-component.patch83
-rw-r--r--meta-multimedia/recipes-multimedia/juce/projucer_git.bb2
5 files changed, 105 insertions, 11 deletions
diff --git a/meta-multimedia/recipes-multimedia/juce/nativesdk-projucer_git.bb b/meta-multimedia/recipes-multimedia/juce/nativesdk-projucer_git.bb
deleted file mode 100644
index 7836bae691..0000000000
--- a/meta-multimedia/recipes-multimedia/juce/nativesdk-projucer_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit nativesdk
-include projucer.inc
-BBCLASSEXTEND = "nativesdk"
diff --git a/meta-multimedia/recipes-multimedia/juce/projucer-native_git.bb b/meta-multimedia/recipes-multimedia/juce/projucer-native_git.bb
deleted file mode 100644
index fb54fb9e98..0000000000
--- a/meta-multimedia/recipes-multimedia/juce/projucer-native_git.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit native
-include projucer.inc
-BBCLASSEXTEND = "native"
diff --git a/meta-multimedia/recipes-multimedia/juce/projucer.inc b/meta-multimedia/recipes-multimedia/juce/projucer.inc
index 63ed9e90e0..60bd0e24b9 100644
--- a/meta-multimedia/recipes-multimedia/juce/projucer.inc
+++ b/meta-multimedia/recipes-multimedia/juce/projucer.inc
@@ -4,23 +4,36 @@ JUCE supported platforms, including Linux and Embedded Linux."
SECTION = "utils"
HOMEPAGE = "http://juce.com/"
LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://README.md;md5=65c50b4ff3522b99436da100536ccd1c"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=a20f91622a47d4e4af9340d5d3f1a2d8"
inherit pkgconfig
-DEPENDS = "libx11 libxext libxinerama libxrandr libxcursor freetype alsa-lib curl"
+DEPENDS = "libx11 libxext libxinerama libxrandr libxcursor freetype alsa-lib curl bzip2 libpng harfbuzz glib-2.0 libpcre"
+DEPENDS_append_libc-musl = " libexecinfo"
-SRCREV = "4f41f28b47d01b939559123d145b4e5860528bb7"
+SRCREV = "724ae27c71ef809b836df06713cf9e50bc14162b"
BRANCH = "master"
-SRC_URI = "git://github.com/WeAreROLI/JUCE.git;protocol=https;branch=${BRANCH}"
+SRC_URI = "git://github.com/WeAreROLI/JUCE.git;protocol=https;branch=${BRANCH} \
+ file://0001-Disable-webkit-component.patch \
+"
S = "${WORKDIR}/git"
-PV = "5.0.1"
+PV = "5.4.5"
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"
+# export dummy TARGET_ARCH that doesn't do much,
+# but disables "-march=native" optimization which does
+# not work on cross builds
+EXTRA_OEMAKE = "V=1 JUCE_ARCH_LABEL=${TARGET_ARCH} TARGET_ARCH='-g'"
+
+LDFLAGS_append_mipsarcho32 = " -latomic"
+LDFLAGS_append_powerpc = " -latomic"
+LDFLAGS_append_riscv64 = " -latomic"
+LDFLAGS_append_armv5 = " -latomic"
+
do_configure() {
cd ${JUCE_PROJUCER_MAKEFILE_PATH}
CONFIG=Release oe_runmake clean
@@ -35,3 +48,5 @@ do_install() {
install -d ${D}${bindir}
install -m 0755 ${JUCE_PROJUCER} ${D}${bindir}
}
+# error: '_NL_IDENTIFICATION_LANGUAGE' was not declared in this scope
+COMPATIBLE_HOST_libc-musl = "null"
diff --git a/meta-multimedia/recipes-multimedia/juce/projucer/0001-Disable-webkit-component.patch b/meta-multimedia/recipes-multimedia/juce/projucer/0001-Disable-webkit-component.patch
new file mode 100644
index 0000000000..3728439c71
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/juce/projucer/0001-Disable-webkit-component.patch
@@ -0,0 +1,83 @@
+From df7190f430f30ee522f56f9714d42ee796f0d5ff Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 2 Dec 2019 22:18:41 -0800
+Subject: [PATCH] Disable webkit component
+
+It asks for enable JUCER_ENABLE_GPL_MODE
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ extras/Projucer/Builds/LinuxMakefile/Makefile | 10 +++++-----
+ extras/Projucer/JuceLibraryCode/AppConfig.h | 4 ++--
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/extras/Projucer/Builds/LinuxMakefile/Makefile b/extras/Projucer/Builds/LinuxMakefile/Makefile
+index 25b490460..8960f5bc6 100644
+--- a/extras/Projucer/Builds/LinuxMakefile/Makefile
++++ b/extras/Projucer/Builds/LinuxMakefile/Makefile
+@@ -35,13 +35,13 @@ ifeq ($(CONFIG),Debug)
+ TARGET_ARCH := -march=native
+ endif
+
+- JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.5 -DJUCE_APP_VERSION_HEX=0x50405 $(shell pkg-config --cflags x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
++ JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.5 -DJUCE_APP_VERSION_HEX=0x50405 $(shell pkg-config --cflags x11 xinerama xext freetype2) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
+ JUCE_CPPFLAGS_APP := -DJucePlugin_Build_VST=0 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=0 -DJucePlugin_Build_Unity=0
+ JUCE_TARGET_APP := Projucer
+
+ JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 $(CFLAGS)
+ JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++11 $(CXXFLAGS)
+- JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -lrt -ldl -lpthread $(LDFLAGS)
++ JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs x11 xinerama xext freetype2) -lrt -ldl -lpthread $(LDFLAGS)
+
+ CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR)
+ endif
+@@ -56,13 +56,13 @@ ifeq ($(CONFIG),Release)
+ TARGET_ARCH := -march=native
+ endif
+
+- JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.5 -DJUCE_APP_VERSION_HEX=0x50405 $(shell pkg-config --cflags x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
++ JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.5 -DJUCE_APP_VERSION_HEX=0x50405 $(shell pkg-config --cflags x11 xinerama xext freetype2) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
+ JUCE_CPPFLAGS_APP := -DJucePlugin_Build_VST=0 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=0 -DJucePlugin_Build_Unity=0
+ JUCE_TARGET_APP := Projucer
+
+ JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 $(CFLAGS)
+ JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++11 $(CXXFLAGS)
+- JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -fvisibility=hidden -lrt -ldl -lpthread $(LDFLAGS)
++ JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs x11 xinerama xext freetype2) -fvisibility=hidden -lrt -ldl -lpthread $(LDFLAGS)
+
+ CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR)
+ endif
+@@ -136,7 +136,7 @@ all : $(JUCE_OUTDIR)/$(JUCE_TARGET_APP)
+
+ $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) : $(OBJECTS_APP) $(RESOURCES)
+ @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; }
+- @pkg-config --print-errors x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0
++ @pkg-config --print-errors x11 xinerama xext freetype2
+ @echo Linking "Projucer - App"
+ -$(V_AT)mkdir -p $(JUCE_BINDIR)
+ -$(V_AT)mkdir -p $(JUCE_LIBDIR)
+diff --git a/extras/Projucer/JuceLibraryCode/AppConfig.h b/extras/Projucer/JuceLibraryCode/AppConfig.h
+index dffd5af75..53302bd24 100644
+--- a/extras/Projucer/JuceLibraryCode/AppConfig.h
++++ b/extras/Projucer/JuceLibraryCode/AppConfig.h
+@@ -32,7 +32,7 @@
+ // BEGIN SECTION A
+
+ #ifndef JUCER_ENABLE_GPL_MODE
+- #define JUCER_ENABLE_GPL_MODE 0
++ #define JUCER_ENABLE_GPL_MODE 1
+ #endif
+
+ // END SECTION A
+@@ -180,7 +180,7 @@
+ // juce_gui_extra flags:
+
+ #ifndef JUCE_WEB_BROWSER
+- //#define JUCE_WEB_BROWSER 1
++ #define JUCE_WEB_BROWSER 0
+ #endif
+
+ #ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR
+--
+2.24.0
+
diff --git a/meta-multimedia/recipes-multimedia/juce/projucer_git.bb b/meta-multimedia/recipes-multimedia/juce/projucer_git.bb
new file mode 100644
index 0000000000..f408f6f1bc
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/juce/projucer_git.bb
@@ -0,0 +1,2 @@
+include projucer.inc
+BBCLASSEXTEND = "native nativesdk"