diff mbox series

[v4] package/gtkiostream: new package

Message ID 20230207175116.3043006-1-angelo@amarulasolutions.com
State Superseded
Headers show
Series [v4] package/gtkiostream: new package | expand

Commit Message

Angelo Compagnucci Feb. 7, 2023, 5:51 p.m. UTC
From: Matt Flax <flatmax@flatmax.com>

This package provides many useful software engineering and signal
processing libraries.

Signed-off-by: Matt Flax <flatmax@flatmax.com>
[Angelo:
 * Bumped to 1.8.0
 * Added myself to DEVELOPERS
 * Added dependency on octave when enable instead of use
   --disable-octave configure option
 * Fixes from check-package]
Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
---
 DEVELOPERS                           |  4 ++++
 package/Config.in                    |  1 +
 package/gtkiostream/Config.in        | 15 +++++++++++++++
 package/gtkiostream/gtkiostream.hash |  3 +++
 package/gtkiostream/gtkiostream.mk   | 23 +++++++++++++++++++++++
 5 files changed, 46 insertions(+)
 create mode 100644 package/gtkiostream/Config.in
 create mode 100644 package/gtkiostream/gtkiostream.hash
 create mode 100644 package/gtkiostream/gtkiostream.mk

Comments

Romain Naour Feb. 7, 2023, 6:04 p.m. UTC | #1
Hello Angelo,

Le 07/02/2023 à 18:51, Angelo Compagnucci a écrit :
> From: Matt Flax <flatmax@flatmax.com>
> 
> This package provides many useful software engineering and signal
> processing libraries.
> 
> Signed-off-by: Matt Flax <flatmax@flatmax.com>
> [Angelo:
>  * Bumped to 1.8.0
>  * Added myself to DEVELOPERS
>  * Added dependency on octave when enable instead of use
>    --disable-octave configure option
>  * Fixes from check-package]
> Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
> ---
>  DEVELOPERS                           |  4 ++++
>  package/Config.in                    |  1 +
>  package/gtkiostream/Config.in        | 15 +++++++++++++++
>  package/gtkiostream/gtkiostream.hash |  3 +++
>  package/gtkiostream/gtkiostream.mk   | 23 +++++++++++++++++++++++
>  5 files changed, 46 insertions(+)
>  create mode 100644 package/gtkiostream/Config.in
>  create mode 100644 package/gtkiostream/gtkiostream.hash
>  create mode 100644 package/gtkiostream/gtkiostream.mk
> 
> diff --git a/DEVELOPERS b/DEVELOPERS
> index d7c4d03c4c..5355d6d5ac 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -165,6 +165,7 @@ F:	package/cups/
>  F:	package/cups-filters/
>  F:	package/fail2ban/
>  F:	package/grep/
> +F:	package/gtkiostream/
>  F:	package/htpdate/
>  F:	package/i2c-tools/
>  F:	package/jq/
> @@ -1978,6 +1979,9 @@ F:	board/technologic/ts4900/
>  F:	configs/ts4900_defconfig
>  F:	package/ts4900-fpga/
>  
> +N:	Matt Flax <flatmax@flatmax.org>
> +F:	package/gtkiostream/
> +
>  N:	Matt Weber <matthew.weber@collins.com>
>  F:	board/freescale/p*
>  F:	board/freescale/t*
> diff --git a/package/Config.in b/package/Config.in
> index 06d0a05854..70e446be47 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1389,6 +1389,7 @@ menu "Audio/Sound"
>  	source "package/bcg729/Config.in"
>  	source "package/caps/Config.in"
>  	source "package/fdk-aac/Config.in"
> +	source "package/gtkiostream/Config.in"
>  	source "package/libao/Config.in"
>  	source "package/libasplib/Config.in"
>  	source "package/libbroadvoice/Config.in"
> diff --git a/package/gtkiostream/Config.in b/package/gtkiostream/Config.in
> new file mode 100644
> index 0000000000..bb97961587
> --- /dev/null
> +++ b/package/gtkiostream/Config.in
> @@ -0,0 +1,15 @@
> +config BR2_PACKAGE_GTKIOSTREAM
> +	bool "gtkiostream"
> +	depends on BR2_INSTALL_LIBSTDCPP # eigen
> +	select BR2_PACKAGE_EIGEN
> +	select BR2_PACKAGE_FFTW
> +	select BR2_PACKAGE_FFTW_DOUBLE
> +	select BR2_PACKAGE_FFTW_SINGLE
> +	help
> +	  This package provides many useful software engineering and
> +	  signal processing includes and linkable library.
> +
> +	  https://github.com/flatmax/gtkiostream
> +
> +comment "gtkiostream needs a toolchain w/ C++"
> +	depends on !BR2_INSTALL_LIBSTDCPP
> diff --git a/package/gtkiostream/gtkiostream.hash b/package/gtkiostream/gtkiostream.hash
> new file mode 100644
> index 0000000000..90c754f48c
> --- /dev/null
> +++ b/package/gtkiostream/gtkiostream.hash
> @@ -0,0 +1,3 @@
> +# locally computed hash
> +sha256  44e8d921d462005cd330a1c24e5bd8061175b90ae53f537dbf73f59b74f6e01b  gtkiostream-v1.8.0.tar.gz
> +sha256  204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994  gpl.txt
> diff --git a/package/gtkiostream/gtkiostream.mk b/package/gtkiostream/gtkiostream.mk
> new file mode 100644
> index 0000000000..3988ae5888
> --- /dev/null
> +++ b/package/gtkiostream/gtkiostream.mk
> @@ -0,0 +1,23 @@
> +################################################################################
> +#
> +# GTKIOSTREAM
> +#
> +################################################################################
> +
> +GTKIOSTREAM_VERSION = v1.8.0
> +GTKIOSTREAM_SITE = $(call github,flatmax,gtkiostream,$(GTKIOSTREAM_VERSION))
> +GTKIOSTREAM_LICENSE = GPL-2.0+
> +GTKIOSTREAM_LICENSE_FILES = gpl.txt
> +GTKIOSTREAM_DEPENDENCIES = eigen fftw-double fftw-single host-pkgconf
> +

It always useful to use distribution packaging to find any missing dependencies
(mentatory or optional) like gtk2 (hence the package name :) )

https://github.com/flatmax/gtkiostream/blob/master/debian/control#L14

Can you double check ?

> +ifeq ($(BR2_PACKAGE_OCTAVE),y)
> +GTKIOSTREAM_DEPENDENCIES += octave
> +GTKIOSTREAM_CONF_OPTS = --enable-octave

This trigger a checkpackage warning:

package/gtkiostream/gtkiostream.mk:15: conditional override of variable
GTKIOSTREAM_CONF_OPTS

Best regards,
Romain


> +else
> +GTKIOSTREAM_CONF_OPTS = --disable-octave
> +endif
> +
> +# configure script not available
> +GTKIOSTREAM_AUTORECONF = YES
> +
> +$(eval $(autotools-package))
Angelo Compagnucci Feb. 7, 2023, 8:50 p.m. UTC | #2
On Tue, Feb 7, 2023 at 9:47 PM Matt Flax <flatmax@flatmax.com> wrote:

>
> On 8/2/23 05:04, Romain Naour wrote:
> > Hello Angelo,
> >
> > Le 07/02/2023 à 18:51, Angelo Compagnucci a écrit :
> > It always useful to use distribution packaging to find any missing
> dependencies
> > (mentatory or optional) like gtk2 (hence the package name :) )
> >
> > https://github.com/flatmax/gtkiostream/blob/master/debian/control#L14
> >
> > Can you double check ?
>
>
> Hey all, great to see my original patch revitalised after many many
> months - I am keen for gtkiostream to be absorbed into buildroot.
>
> gtk2 and gtk3 are optional with this library - despite its name - it is
> really now focused on signal processing, ALSA C++, neural networks,
> software engineering, etc.. The gtk side of things works nicely with
> gtk2 but requires attention for gtk3 - I originally opted to leave
> gtk2/3 out entirely in buildroot - I think it is the best solution for now.
>

Thanks Matt for the very clear explanation, I was about to reply gtk is
optional.

Even more because it requires the addition of libgtkdatabox which is
actually not present in buildroot.

Looking at the code, It's not clear if opencv or sox are really that
necessary without a gui, but I think we could leave them out.
Romain Naour Feb. 7, 2023, 9:23 p.m. UTC | #3
Hello,

Le 07/02/2023 à 21:59, Matt Flax a écrit :
> 
> On 8/2/23 07:50, Angelo Compagnucci wrote:
>>
>>
>> On Tue, Feb 7, 2023 at 9:47 PM Matt Flax <flatmax@flatmax.com> wrote:
>>
>>
>>     On 8/2/23 05:04, Romain Naour wrote:
>>     > Hello Angelo,
>>     >
>>     > Le 07/02/2023 à 18:51, Angelo Compagnucci a écrit :
>>     > It always useful to use distribution packaging to find any
>>     missing dependencies
>>     > (mentatory or optional) like gtk2 (hence the package name :) )
>>     >
>>     >
>>     https://github.com/flatmax/gtkiostream/blob/master/debian/control#L14
>>     >
>>     > Can you double check ?
>>
>>
>>     Hey all, great to see my original patch revitalised after many many
>>     months - I am keen for gtkiostream to be absorbed into buildroot.
>>
>>     gtk2 and gtk3 are optional with this library - despite its name -
>>     it is
>>     really now focused on signal processing, ALSA C++, neural networks,
>>     software engineering, etc.. The gtk side of things works nicely with
>>     gtk2 but requires attention for gtk3 - I originally opted to leave
>>     gtk2/3 out entirely in buildroot - I think it is the best solution
>>     for now.
>>
>>
>> Thanks Matt for the very clear explanation, I was about to reply gtk is optional.
>>
>> Even more because it requires the addition of libgtkdatabox which is actually
>> not present in buildroot.
>>
>> Looking at the code, It's not clear if opencv or sox are really that necessary
>> without a gui, but I think we could leave them out.
>>
> 
> Indeed. opencv is an image processing thing. Sox the audio processing library on
> the other hand is great to have in, but not strictly necessary.
> 
> Thanks for revitalising this patch.

Thanks for explanations!

Best regards,
Romain


> 
> Matt
>
diff mbox series

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index d7c4d03c4c..5355d6d5ac 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -165,6 +165,7 @@  F:	package/cups/
 F:	package/cups-filters/
 F:	package/fail2ban/
 F:	package/grep/
+F:	package/gtkiostream/
 F:	package/htpdate/
 F:	package/i2c-tools/
 F:	package/jq/
@@ -1978,6 +1979,9 @@  F:	board/technologic/ts4900/
 F:	configs/ts4900_defconfig
 F:	package/ts4900-fpga/
 
+N:	Matt Flax <flatmax@flatmax.org>
+F:	package/gtkiostream/
+
 N:	Matt Weber <matthew.weber@collins.com>
 F:	board/freescale/p*
 F:	board/freescale/t*
diff --git a/package/Config.in b/package/Config.in
index 06d0a05854..70e446be47 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1389,6 +1389,7 @@  menu "Audio/Sound"
 	source "package/bcg729/Config.in"
 	source "package/caps/Config.in"
 	source "package/fdk-aac/Config.in"
+	source "package/gtkiostream/Config.in"
 	source "package/libao/Config.in"
 	source "package/libasplib/Config.in"
 	source "package/libbroadvoice/Config.in"
diff --git a/package/gtkiostream/Config.in b/package/gtkiostream/Config.in
new file mode 100644
index 0000000000..bb97961587
--- /dev/null
+++ b/package/gtkiostream/Config.in
@@ -0,0 +1,15 @@ 
+config BR2_PACKAGE_GTKIOSTREAM
+	bool "gtkiostream"
+	depends on BR2_INSTALL_LIBSTDCPP # eigen
+	select BR2_PACKAGE_EIGEN
+	select BR2_PACKAGE_FFTW
+	select BR2_PACKAGE_FFTW_DOUBLE
+	select BR2_PACKAGE_FFTW_SINGLE
+	help
+	  This package provides many useful software engineering and
+	  signal processing includes and linkable library.
+
+	  https://github.com/flatmax/gtkiostream
+
+comment "gtkiostream needs a toolchain w/ C++"
+	depends on !BR2_INSTALL_LIBSTDCPP
diff --git a/package/gtkiostream/gtkiostream.hash b/package/gtkiostream/gtkiostream.hash
new file mode 100644
index 0000000000..90c754f48c
--- /dev/null
+++ b/package/gtkiostream/gtkiostream.hash
@@ -0,0 +1,3 @@ 
+# locally computed hash
+sha256  44e8d921d462005cd330a1c24e5bd8061175b90ae53f537dbf73f59b74f6e01b  gtkiostream-v1.8.0.tar.gz
+sha256  204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994  gpl.txt
diff --git a/package/gtkiostream/gtkiostream.mk b/package/gtkiostream/gtkiostream.mk
new file mode 100644
index 0000000000..3988ae5888
--- /dev/null
+++ b/package/gtkiostream/gtkiostream.mk
@@ -0,0 +1,23 @@ 
+################################################################################
+#
+# GTKIOSTREAM
+#
+################################################################################
+
+GTKIOSTREAM_VERSION = v1.8.0
+GTKIOSTREAM_SITE = $(call github,flatmax,gtkiostream,$(GTKIOSTREAM_VERSION))
+GTKIOSTREAM_LICENSE = GPL-2.0+
+GTKIOSTREAM_LICENSE_FILES = gpl.txt
+GTKIOSTREAM_DEPENDENCIES = eigen fftw-double fftw-single host-pkgconf
+
+ifeq ($(BR2_PACKAGE_OCTAVE),y)
+GTKIOSTREAM_DEPENDENCIES += octave
+GTKIOSTREAM_CONF_OPTS = --enable-octave
+else
+GTKIOSTREAM_CONF_OPTS = --disable-octave
+endif
+
+# configure script not available
+GTKIOSTREAM_AUTORECONF = YES
+
+$(eval $(autotools-package))