diff --git a/plugins-dep/Config.in b/plugins-dep/Config.in index 3548dce4..1c1ddaa9 100644 --- a/plugins-dep/Config.in +++ b/plugins-dep/Config.in @@ -1,3 +1,4 @@ +source "$BR2_EXTERNAL/package/camomile/Config.in" source "$BR2_EXTERNAL/package/dpf/Config.in" source "$BR2_EXTERNAL/package/fftwf/Config.in" source "$BR2_EXTERNAL/package/fluidsynth/Config.in" diff --git a/plugins-dep/configs/modduo_defconfig b/plugins-dep/configs/modduo_defconfig index bcaf06e1..a55bc4fe 100644 --- a/plugins-dep/configs/modduo_defconfig +++ b/plugins-dep/configs/modduo_defconfig @@ -55,6 +55,7 @@ BR2_PACKAGE_BOOST_TEST=y BR2_PACKAGE_BOOST_THREAD=y BR2_PACKAGE_BOOST_TIMER=y BR2_PACKAGE_BOOST_WAVE=y +BR2_PACKAGE_CAMOMILE=y BR2_PACKAGE_EIGEN=y BR2_PACKAGE_FFTW=y BR2_PACKAGE_GLIBMM=y diff --git a/plugins-dep/package/camomile/01_workaround-missing-premake.patch b/plugins-dep/package/camomile/01_workaround-missing-premake.patch new file mode 100644 index 00000000..cd9c6627 --- /dev/null +++ b/plugins-dep/package/camomile/01_workaround-missing-premake.patch @@ -0,0 +1,20 @@ +diff --git a/scripts/premake-update.sh b/premake-update.sh +index 5290d5a..6db0525 100755 +--- a/scripts/premake-update.sh ++++ b/scripts/premake-update.sh +@@ -26,9 +26,14 @@ if [ -d ../libs ]; then + cd .. + fi + ++if [ ! -f premake ]; then ++ wget https://github.com/kunitoki/juced/raw/master/tools/linux/premake; chmod +x premake ++fi ++PREMAKE=$(pwd)/premake ++ + run_premake() + { +- premake --os $1 --target gnu --cc gcc ++ $PREMAKE --os $1 --target gnu --cc gcc + + if [ $MAC == 1 ]; then + sed -i -e "s|BLDCMD = ar -rcs \$(OUTDIR)/\$(TARGET) \$(OBJECTS) \$(TARGET_ARCH)|BLDCMD = ar -rcs \$(OUTDIR)/\$(TARGET) \$(OBJECTS)|" `find . -name \*.make` diff --git a/plugins-dep/package/camomile/Config.in b/plugins-dep/package/camomile/Config.in new file mode 100644 index 00000000..89dd5a2b --- /dev/null +++ b/plugins-dep/package/camomile/Config.in @@ -0,0 +1,2 @@ +config BR2_PACKAGE_CAMOMILE + bool camomile diff --git a/plugins-dep/package/camomile/camomile.mk b/plugins-dep/package/camomile/camomile.mk new file mode 100644 index 00000000..b06cd9df --- /dev/null +++ b/plugins-dep/package/camomile/camomile.mk @@ -0,0 +1,32 @@ +###################################### +# +# camomile +# +###################################### + +CAMOMILE_VERSION = 713be25fe02676dda825e33ef4566b1c458daf4f +CAMOMILE_SITE = $(call github,DISTRHO,DISTRHO-Ports,$(CAMOMILE_VERSION)) + +CAMOMILE_TARGET_MAKE = $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) LINUX_EMBED=1 -C $(@D) + +CAMOMILE_SO_GEN = $(TARGET_DIR)/usr/bin/camomile_lv2_gen +CAMOMILE_SO_FILE = $(TARGET_DIR)/usr/lib/Camomile.so + +define CAMOMILE_CONFIGURE_CMDS + (cd $(@D); LINUX_EMBED=1 ./scripts/premake-update.sh linux) +endef + +define CAMOMILE_BUILD_CMDS + $(CAMOMILE_TARGET_MAKE) -C $(@D)/libs/juce + $(CAMOMILE_TARGET_MAKE) -C $(@D)/libs/lv2-ttl-generator + $(CAMOMILE_TARGET_MAKE) -C $(@D)/ports/camomile/LV2 +endef + +define CAMOMILE_INSTALL_TARGET_CMDS + install -d $(TARGET_DIR)/usr/bin + install -d $(TARGET_DIR)/usr/lib + install -m 755 $(@D)/libs/lv2_ttl_generator $(CAMOMILE_SO_GEN) + install -m 644 $(@D)/bin/lv2/Camomile.lv2/Camomile.so $(CAMOMILE_SO_FILE) +endef + +$(eval $(generic-package)) diff --git a/plugins/package/camomile-examples/camomile-examples.mk b/plugins/package/camomile-examples/camomile-examples.mk new file mode 100644 index 00000000..1ca81a39 --- /dev/null +++ b/plugins/package/camomile-examples/camomile-examples.mk @@ -0,0 +1,47 @@ +###################################### +# +# camomile-examples +# +###################################### + +CAMOMILE_EXAMPLES_VERSION = 17d23944bbdfe1eb36e6325cfd9868f52bceef6e +CAMOMILE_EXAMPLES_SITE = $(call github,pierreguillot,Camomile,$(CAMOMILE_EXAMPLES_VERSION)) +CAMOMILE_EXAMPLES_DEPENDENCIES = camomile +CAMOMILE_EXAMPLES_BUNDLES = AlmondOrgan.lv2 Bulgroz.lv2 Castafiore.lv2 MiniMock.lv2 PdStalFx.lv2 + +define CAMOMILE_EXAMPLES_BUILD_CMDS + # Copy Camomile so file + install -m 644 $(CAMOMILE_SO_FILE) $(@D)/Plugins/Examples/AlmondOrgan/AlmondOrgan.so + install -m 644 $(CAMOMILE_SO_FILE) $(@D)/Plugins/Examples/Bulgroz/Bulgroz.so + install -m 644 $(CAMOMILE_SO_FILE) $(@D)/Plugins/Examples/Castafiore/Castafiore.so + install -m 644 $(CAMOMILE_SO_FILE) $(@D)/Plugins/Examples/MiniMock/MiniMock.so + install -m 644 $(CAMOMILE_SO_FILE) $(@D)/Plugins/Examples/PdStalFx/PdStalFx.so + + # Generate TTL + (cd $(@D)/Plugins/Examples/AlmondOrgan && $(CAMOMILE_SO_GEN) ./AlmondOrgan.so) + (cd $(@D)/Plugins/Examples/Bulgroz && $(CAMOMILE_SO_GEN) ./Bulgroz.so) + (cd $(@D)/Plugins/Examples/Castafiore && $(CAMOMILE_SO_GEN) ./Castafiore.so) + (cd $(@D)/Plugins/Examples/MiniMock && $(CAMOMILE_SO_GEN) ./MiniMock.so) + (cd $(@D)/Plugins/Examples/PdStalFx && $(CAMOMILE_SO_GEN) ./PdStalFx.so) +endef + +define CAMOMILE_EXAMPLES_INSTALL_TARGET_CMDS + install -d $(TARGET_DIR)/usr/lib/lv2 + + rm -rf $(TARGET_DIR)/usr/lib/lv2/AlmondOrgan.lv2 + cp -r $(@D)/Plugins/Examples/AlmondOrgan $(TARGET_DIR)/usr/lib/lv2/AlmondOrgan.lv2 + + rm -rf $(TARGET_DIR)/usr/lib/lv2/Bulgroz.lv2 + cp -r $(@D)/Plugins/Examples/Bulgroz $(TARGET_DIR)/usr/lib/lv2/Bulgroz.lv2 + + rm -rf $(TARGET_DIR)/usr/lib/lv2/Castafiore.lv2 + cp -r $(@D)/Plugins/Examples/Castafiore $(TARGET_DIR)/usr/lib/lv2/Castafiore.lv2 + + rm -rf $(TARGET_DIR)/usr/lib/lv2/MiniMock.lv2 + cp -r $(@D)/Plugins/Examples/MiniMock $(TARGET_DIR)/usr/lib/lv2/MiniMock.lv2 + + rm -rf $(TARGET_DIR)/usr/lib/lv2/PdStalFx.lv2 + cp -r $(@D)/Plugins/Examples/PdStalFx $(TARGET_DIR)/usr/lib/lv2/PdStalFx.lv2 +endef + +$(eval $(generic-package))