[Buildroot] [PATCH v2 1/1] package/fluidsynth: new package

Gilles Talis gilles.talis at gmail.com
Tue Dec 10 07:07:54 UTC 2019


Hello Julien, all,

New version looks good to me.

Le lun. 9 déc. 2019 à 21:03, Julien Olivain <juju at cotds.org> a écrit :
>
> FluidSynth is a real-time software synthesizer based on the
> SoundFont 2 specifications and has reached widespread
> distribution. FluidSynth itself does not have a graphical
> user interface, but due to its powerful API several
> applications utilize it and it has even found its way onto
> embedded systems and is used in some mobile apps.
>
> http://www.fluidsynth.org/
>
> Signed-off-by: Julien Olivain <juju at cotds.org>
> ---
> Changes v1 -> v2:
> Included all Gilles' comments:
>   - Add comments for dependencies
>   - Clarified "float" option
>   - Removed useless "thread" option
>   - Add LICENSE file hash
>   - Removed "v" in VERSION
>   - Fixed LICENSE to LGPL-2.1+
>
> ---
>  DEVELOPERS                         |  1 +
>  package/Config.in                  |  1 +
>  package/fluidsynth/Config.in       | 91 ++++++++++++++++++++++++++++++
>  package/fluidsynth/fluidsynth.hash |  3 +
>  package/fluidsynth/fluidsynth.mk   | 68 ++++++++++++++++++++++
>  5 files changed, 164 insertions(+)
>  create mode 100644 package/fluidsynth/Config.in
>  create mode 100644 package/fluidsynth/fluidsynth.hash
>  create mode 100644 package/fluidsynth/fluidsynth.mk
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 61bcd99d43..d0cfec3bac 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -1352,6 +1352,7 @@ F:        board/technexion/imx8mmpico/
>  F:     board/technexion/imx8mpico/
>  F:     configs/imx8mmpico_defconfig
>  F:     configs/imx8mpico_defconfig
> +F:     package/fluidsynth/
>
>  N:     Julien Viard de Galbert <julien at vdg.name>
>  F:     package/dieharder/
> diff --git a/package/Config.in b/package/Config.in
> index 307583d01f..962d2f2612 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -23,6 +23,7 @@ menu "Audio and video applications"
>         source "package/ffmpeg/Config.in"
>         source "package/flac/Config.in"
>         source "package/flite/Config.in"
> +       source "package/fluidsynth/Config.in"
>         source "package/gmrender-resurrect/Config.in"
>         source "package/gstreamer/Config.in"
>         source "package/gstreamer1/Config.in"
> diff --git a/package/fluidsynth/Config.in b/package/fluidsynth/Config.in
> new file mode 100644
> index 0000000000..6e319a80bb
> --- /dev/null
> +++ b/package/fluidsynth/Config.in
> @@ -0,0 +1,91 @@
> +config BR2_PACKAGE_FLUIDSYNTH
> +       bool "fluidsynth"
> +       depends on BR2_USE_WCHAR # libglib2
> +       depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
> +       depends on BR2_USE_MMU # libglib2
> +       select BR2_PACKAGE_LIBGLIB2
> +       help
> +         FluidSynth is a real-time software synthesizer based on the
> +         SoundFont 2 specifications and has reached widespread
> +         distribution. FluidSynth itself does not have a graphical
> +         user interface, but due to its powerful API several
> +         applications utilize it and it has even found its way onto
> +         embedded systems and is used in some mobile apps.
> +
> +         http://www.fluidsynth.org/
> +
> +if BR2_PACKAGE_FLUIDSYNTH
> +
> +comment "Output support"
> +
> +config BR2_PACKAGE_FLUIDSYNTH_ALSA_LIB
> +       bool "alsa"
> +       default y
> +       select BR2_PACKAGE_ALSA_LIB
> +       help
> +         Enable alsa support.
> +
> +config BR2_PACKAGE_FLUIDSYNTH_JACK2
> +       bool "jack2"
> +       # See: https://sourceware.org/bugzilla/show_bug.cgi?id=19908
> +       depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
> +       depends on !BR2_STATIC_LIBS # jack2
> +       depends on BR2_INSTALL_LIBSTDCPP # jack2
> +       depends on BR2_TOOLCHAIN_HAS_SYNC_4 # jack2
> +       select BR2_PACKAGE_JACK2
> +       help
> +         Enable jack support.
> +
> +comment "jack support needs a toolchain w/ dynamic library"
> +       depends on BR2_TOOLCHAIN_HAS_SYNC_4
> +       depends on BR2_STATIC_LIBS
> +
> +config BR2_PACKAGE_FLUIDSYNTH_LIBSNDFILE
> +       bool "libsndfile"
> +       select BR2_PACKAGE_LIBSNDFILE
> +       help
> +         Enable libsndfile support, for writing output to WAV files.
> +
> +config BR2_PACKAGE_FLUIDSYNTH_PORTAUDIO
> +       bool "portaudio"
> +       select BR2_PACKAGE_PORTAUDIO
> +       help
> +         Enable portaudio support.
> +
> +config BR2_PACKAGE_FLUIDSYNTH_PULSEAUDIO
> +       bool "pulseaudio"
> +       # See: https://sourceware.org/bugzilla/show_bug.cgi?id=19908
> +       depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
> +       depends on !BR2_STATIC_LIBS # pulseaudio
> +       select BR2_PACKAGE_PULSEAUDIO
> +       help
> +         Enable PulseAudio support.
> +
> +comment "pulseaudio support needs a toolchain w/ dynamic library"
> +       depends on BR2_STATIC_LIBS
> +
> +comment "Misc options"
> +
> +config BR2_PACKAGE_FLUIDSYNTH_DBUS
> +       bool "dbus"
> +       select BR2_PACKAGE_DBUS
> +       help
> +         Enable dbus support.
> +
> +config BR2_PACKAGE_FLUIDSYNTH_FLOATS
> +       bool "32-bit single precision float"
> +       help
> +         Enable 32-bit single precision float support, instead of
> +         64-bit double precision floats for DSP samples.
> +
> +config BR2_PACKAGE_FLUIDSYNTH_READLINE
> +       bool "readline"
> +       select BR2_PACKAGE_READLINE
> +       help
> +         Enable readline support, for better line editing in FluidSynth
> +         shell.
> +
> +endif # BR2_PACKAGE_FLUIDSYNTH
> +
> +comment "fluidsynth needs a toolchain w/ threads, wchar"
> +       depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
> diff --git a/package/fluidsynth/fluidsynth.hash b/package/fluidsynth/fluidsynth.hash
> new file mode 100644
> index 0000000000..5c5c226cbc
> --- /dev/null
> +++ b/package/fluidsynth/fluidsynth.hash
> @@ -0,0 +1,3 @@
> +# Locally computed
> +sha256 526addc6d8445035840d3af7282d3ba89567df209d28e183da04a1a877da2da3  fluidsynth-2.1.0.tar.gz
> +sha256 9b872a8a070b8ad329c4bd380fb1bf0000f564c75023ec8e1e6803f15364b9e9  LICENSE
> diff --git a/package/fluidsynth/fluidsynth.mk b/package/fluidsynth/fluidsynth.mk
> new file mode 100644
> index 0000000000..4ef0a6f40d
> --- /dev/null
> +++ b/package/fluidsynth/fluidsynth.mk
> @@ -0,0 +1,68 @@
> +################################################################################
> +#
> +# fluidsynth
> +#
> +################################################################################
> +
> +FLUIDSYNTH_VERSION = 2.1.0
> +FLUIDSYNTH_SITE = $(call github,FluidSynth,fluidsynth,v$(FLUIDSYNTH_VERSION))
> +FLUIDSYNTH_LICENSE = LGPL-2.1+
> +FLUIDSYNTH_LICENSE_FILES = LICENSE
> +FLUIDSYNTH_DEPENDENCIES = libglib2
> +
> +ifeq ($(BR2_PACKAGE_FLUIDSYNTH_ALSA_LIB),y)
> +FLUIDSYNTH_CONF_OPTS += -Denable-alsa=1
> +FLUIDSYNTH_DEPENDENCIES += alsa-lib
> +else
> +FLUIDSYNTH_CONF_OPTS += -Denable-alsa=0
> +endif
> +
> +ifeq ($(BR2_PACKAGE_FLUIDSYNTH_DBUS),y)
> +FLUIDSYNTH_CONF_OPTS += -Denable-dbus=1
> +FLUIDSYNTH_DEPENDENCIES += dbus
> +else
> +FLUIDSYNTH_CONF_OPTS += -Denable-dbus=0
> +endif
> +
> +ifeq ($(BR2_PACKAGE_FLUIDSYNTH_FLOATS),y)
> +FLUIDSYNTH_CONF_OPTS += -Denable-floats=1
> +else
> +FLUIDSYNTH_CONF_OPTS += -Denable-floats=0
> +endif
> +
> +ifeq ($(BR2_PACKAGE_FLUIDSYNTH_JACK2),y)
> +FLUIDSYNTH_CONF_OPTS += -Denable-jack=1
> +FLUIDSYNTH_DEPENDENCIES += jack2
> +else
> +FLUIDSYNTH_CONF_OPTS += -Denable-jack=0
> +endif
> +
> +ifeq ($(BR2_PACKAGE_FLUIDSYNTH_LIBSNDFILE),y)
> +FLUIDSYNTH_CONF_OPTS += -Denable-libsndfile=1
> +FLUIDSYNTH_DEPENDENCIES += libsndfile
> +else
> +FLUIDSYNTH_CONF_OPTS += -Denable-libsndfile=0
> +endif
> +
> +ifeq ($(BR2_PACKAGE_FLUIDSYNTH_PORTAUDIO),y)
> +FLUIDSYNTH_CONF_OPTS += -Denable-portaudio=1
> +FLUIDSYNTH_DEPENDENCIES += portaudio
> +else
> +FLUIDSYNTH_CONF_OPTS += -Denable-portaudio=0
> +endif
> +
> +ifeq ($(BR2_PACKAGE_FLUIDSYNTH_PULSEAUDIO),y)
> +FLUIDSYNTH_CONF_OPTS += -Denable-pulseaudio=1
> +FLUIDSYNTH_DEPENDENCIES += pulseaudio
> +else
> +FLUIDSYNTH_CONF_OPTS += -Denable-pulseaudio=0
> +endif
> +
> +ifeq ($(BR2_PACKAGE_FLUIDSYNTH_READLINE),y)
> +FLUIDSYNTH_CONF_OPTS += -Denable-readline=1
> +FLUIDSYNTH_DEPENDENCIES += readline
> +else
> +FLUIDSYNTH_CONF_OPTS += -Denable-readline=0
> +endif
> +
> +$(eval $(cmake-package))
> --
> 2.23.0
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

Reviewed-by: Gilles Talis <gilles.talis at gmail.com>


More information about the buildroot mailing list