Skip to contentSkip to conversation

package/gtkiostream: new package

PATCH In review Angelo Compagnucci 2 participants 3 messages Feb 8, 2023 – Jul 14, 2024

lore
Share & tools
lore
#0 lore raw

PATCH v6 1/1 package/gtkiostream: new package

From: Matt Flax <[email protected]>

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

---
v4:
* 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
v5:
* Fixed wrong syntax (Romain)
* Added optional dependency on sox (Matt)
v6:
* Fixing fomatting (Thmos P.)
* Adding optional flag for openmp
* Adding patch to disable testing compilation:
build wasfailing for some incompatible linking option in one of the tests. Tests are not useful for the buildroot usecase therefore they are disabled.

 DEVELOPERS                                    |  4 +++
 package/Config.in                             |  1 +
 .../0001-Makefile.am-disable-tests.patch      | 29 +++++++++++++++++
 package/gtkiostream/Config.in                 | 16 ++++++++++
 package/gtkiostream/gtkiostream.hash          |  3 ++
 package/gtkiostream/gtkiostream.mk            | 31 +++++++++++++++++++
 6 files changed, 84 insertions(+)
 create mode 100644 package/gtkiostream/0001-Makefile.am-disable-tests.patch
 create mode 100644 package/gtkiostream/Config.in
 create mode 100644 package/gtkiostream/gtkiostream.hash
 create mode 100644 package/gtkiostream/gtkiostream.mk
DEVELOPERS +4 -0
index d7c4d03c4c..5355d6d5ac 100644
@@ -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 <[email protected]>
+F:	package/gtkiostream/
+
 N:	Matt Weber <[email protected]>
 F:	board/freescale/p*
 F:	board/freescale/t*
package/Config.in +1 -0
index 06d0a05854..70e446be47 100644
@@ -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"
package/gtkiostream/0001-Makefile.am-disable-tests.patch new file +29 -0
new file mode 100644
index 0000000000..26e229a58e
@@ -0,0 +1,29 @@
+From b242a56ddaefdcf356cffdfb45f6518c9ce0809e Mon Sep 17 00:00:00 2001
+From: Angelo Compagnucci <[email protected]>
+Date: Wed, 8 Feb 2023 10:58:20 +0100
+Subject: [PATCH] Makefile.am: disable tests
+
+Tests are not interesting for buildroot use case, thus disabling
+entirely.
+
+Signed-off-by: Angelo Compagnucci <[email protected]>
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 3cc0944..4f12708 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -20,7 +20,7 @@ AUTOMAKE_OPTIONS = foreign subdir-objects
+ SUBDIRS = src api include
+ 
+ if !HAVE_EMSCRIPTEN
+-SUBDIRS += applications test
++SUBDIRS += applications
+ endif
+ 
+ ACLOCAL_AMFLAGS = -I m4
+-- 
+2.25.1
+
package/gtkiostream/Config.in new file +16 -0
new file mode 100644
index 0000000000..58c22ecbcb
@@ -0,0 +1,16 @@
+config BR2_PACKAGE_GTKIOSTREAM
+	bool "gtkiostream"
+	depends on BR2_INSTALL_LIBSTDCPP # eigen
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	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
package/gtkiostream/gtkiostream.hash new file +3 -0
new file mode 100644
index 0000000000..90c754f48c
@@ -0,0 +1,3 @@
+# locally computed hash
+sha256  44e8d921d462005cd330a1c24e5bd8061175b90ae53f537dbf73f59b74f6e01b  gtkiostream-v1.8.0.tar.gz
+sha256  204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994  gpl.txt
package/gtkiostream/gtkiostream.mk new file +31 -0
new file mode 100644
index 0000000000..e178bb668b
@@ -0,0 +1,31 @@
+################################################################################
+#
+# GTKIOSTREAM
+#
+################################################################################
+
+GTKIOSTREAM_VERSION = v1.8.0
+GTKIOSTREAM_SITE = $(call github,flatmax,gtkiostream,$(GTKIOSTREAM_VERSION))
+GTKIOSTREAM_LICENSE = GPL-2.0+
+GTKIOSTREAM_LICENSE_FILES = gpl.txt
+
+# configure script not available
+GTKIOSTREAM_AUTORECONF = YES
+
+GTKIOSTREAM_DEPENDENCIES = \
+	eigen \
+	fftw-double \
+	fftw-single \
+	host-pkgconf \
+	$(if $(BR2_PACKAGE_SOX),sox)
+
+ifeq ($(BR2_PACKAGE_OCTAVE),y)
+GTKIOSTREAM_DEPENDENCIES += octave
+GTKIOSTREAM_CONF_OPTS += --enable-octave
+else
+GTKIOSTREAM_CONF_OPTS += --disable-octave
+endif
+
+GTKIOSTREAM_CONF_OPTS += $(if $(BR2_TOOLCHAIN_HAS_OPENMP),--disable,--enable)-openmp
+
+$(eval $(autotools-package))
Signature · 6 lines
2.25.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#1 lore raw
Quoted 11 lines · On Wed, 8 Feb 2023 11:07:04 +0100 Angelo Compagnucci…
package/gtkiostream/Config.in new file +5 -0
new file mode 100644
index 0000000000..58c22ecbcb
@@ -0,0 +1,16 @@
+config BR2_PACKAGE_GTKIOSTREAM
+	bool "gtkiostream"
+	depends on BR2_INSTALL_LIBSTDCPP # eigen
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	select BR2_PACKAGE_EIGEN

package/gtkiostream/Config.in line 15

Quoted 10 lines
package/gtkiostream/Config.in new file +10 -0
+	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++"

and threads.

package/gtkiostream/Config.in line 16

Quoted 1 line
package/gtkiostream/Config.in new file +1 -0
+GTKIOSTREAM_VERSION = v1.8.0

Should be 1.8.0

Quoted 1 line

+GTKIOSTREAM_SITE = $(call github,flatmax,gtkiostream,$(GTKIOSTREAM_VERSION))

And should be:

GTKIOSTREAM_SITE = $(call github,flatmax,gtkiostream,v$(GTKIOSTREAM_VERSION))

These issues can be fixed when applying, just noting them here as I noticed them.

Thomas

Signature · 7 lines
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#2 lore raw
In reply to Angelo Compagnucci

Hello Matt, Hello Angelo,

Quoted 16 lines · On Wed, 8 Feb 2023 11:07:04 +0100 Angelo Compagnucci…

From: Matt Flax <[email protected]>

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

---
v4:
* 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
v5:
* Fixed wrong syntax (Romain)

Quoted 8 lines

* Added optional dependency on sox (Matt)
v6:
* Fixing fomatting (Thmos P.)
* Adding optional flag for openmp
* Adding patch to disable testing compilation:
build wasfailing for some incompatible linking option in one of the tests. Tests are not useful for the buildroot usecase therefore they are disabled.

I have finally merged this patch (yeah, sorry for the big delay!), with quite a lot of changes:

- Made the patch upstreamable by adding a ./configure option, and actually submitted the patch upstream. Added the Upstream: tag pointing to the pull request

- Adding "threads" to the Config.in comment about dependencies

- Handling all optional dependencies, since they don't have any --disable-<foo> option.

See https://gitlab.com/buildroot.org/buildroot/-/commit/fab48302865e5c0c98d91b696bc90e75e38189bb
for the final commit.

I've seen upstream has a lot of commits on top of 1.8.0. It would be nice for upstream (hint, hint!) to do a new release that includes all those improvements, so that we can update the package in Buildroot.

Thanks!

Thomas

Signature · 7 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot