瀏覽代碼

package/gtkiostream: new package

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

Signed-off-by: Matt Flax <flatmax@flatmax.com>
Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Matt Flax 2 年之前
父節點
當前提交
fab4830286

+ 4 - 0
DEVELOPERS

@@ -201,6 +201,7 @@ F:	package/cups-filters/
 F:	package/cutekeyboard/
 F:	package/fail2ban/
 F:	package/grep/
+F:	package/gtkiostream/
 F:	package/htpdate/
 F:	package/i2c-tools/
 F:	package/jq/
@@ -2241,6 +2242,9 @@ N:	Masahiro Yamada <yamada.masahiro@socionext.com>
 F:	board/arm/foundation-v8/
 F:	configs/arm_foundationv8_defconfig
 
+N:	Matt Flax <flatmax@flatmax.org>
+F:	package/gtkiostream/
+
 N:	Matt Silva <dev@matt-silva.com>
 F:	package/rlwrap/
 

+ 1 - 0
package/Config.in

@@ -1478,6 +1478,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/libbroadvoice/Config.in"
 	source "package/libcanberra/Config.in"

+ 54 - 0
package/gtkiostream/0001-configure.ac-add-option-to-disable-tests.patch

@@ -0,0 +1,54 @@
+From 864d67d5cb4334f106c1ae055f0260b44f0dbb3b Mon Sep 17 00:00:00 2001
+From: Angelo Compagnucci <angelo@amarulasolutions.com>
+Date: Wed, 8 Feb 2023 10:58:20 +0100
+Subject: [PATCH] configure.ac: add option to disable tests
+
+This commit adds an option that allows to disable building tests,
+which are not useful in some situations.
+
+Upstream: https://github.com/flatmax/gtkiostream/pull/25
+Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
+[Thomas: improved with a configuration option]
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
+---
+ Makefile.am  | 7 ++++++-
+ configure.ac | 5 +++++
+ 2 files changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 3cc0944..cd5d9e4 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -20,7 +20,12 @@ AUTOMAKE_OPTIONS = foreign subdir-objects
+ SUBDIRS = src api include
+ 
+ if !HAVE_EMSCRIPTEN
+-SUBDIRS += applications test
++SUBDIRS += applications
++
++if HAVE_TESTS
++SUBDIRS += test
++endif
++
+ endif
+ 
+ ACLOCAL_AMFLAGS = -I m4
+diff --git a/configure.ac b/configure.ac
+index 4557858..7950bf2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -68,6 +68,11 @@ fi
+ # Checks for documentation
+ AM_CONDITIONAL([HAVE_DOXYGEN],[test -n "$DOXYGEN"])AM_COND_IF([HAVE_DOXYGEN], [AC_CONFIG_FILES([api/Doxyfile])])
+ 
++AC_ARG_ENABLE(tests, AS_HELP_STRING([--disable-tests],
++	      [Disable tests (default: enabled)]),
++	      [TESTS=$enableval], [TESTS=yes])
++AM_CONDITIONAL([HAVE_TESTS],[test "x$TESTS" = xyes])
++
+ #check whether this is a cygwin system
+ AM_CONDITIONAL(CYGWIN, test "$build_os" = "cygwin")
+ 
+-- 
+2.45.2
+

+ 17 - 0
package/gtkiostream/Config.in

@@ -0,0 +1,17 @@
+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++, threads"
+	depends on !BR2_INSTALL_LIBSTDCPP || \
+		!BR2_TOOLCHAIN_HAS_THREADS

+ 3 - 0
package/gtkiostream/gtkiostream.hash

@@ -0,0 +1,3 @@
+# locally computed hash
+sha256  44e8d921d462005cd330a1c24e5bd8061175b90ae53f537dbf73f59b74f6e01b  gtkiostream-v1.8.0.tar.gz
+sha256  204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994  gpl.txt

+ 68 - 0
package/gtkiostream/gtkiostream.mk

@@ -0,0 +1,68 @@
+################################################################################
+#
+# 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
+
+GTKIOSTREAM_CONF_OPTS = \
+	--disable-tests \
+	$(if $(BR2_TOOLCHAIN_HAS_OPENMP),--disable,--enable)-openmp
+
+ifeq ($(BR2_PACKAGE_OCTAVE),y)
+GTKIOSTREAM_DEPENDENCIES += octave
+GTKIOSTREAM_CONF_OPTS += --enable-octave
+else
+GTKIOSTREAM_CONF_OPTS += --disable-octave
+endif
+
+# For the optional packages below, there's unfortunately no
+# ./configure option to explicitly enable/disable them. They are
+# checked by the ./configure script using pkg-config.
+
+ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
+GTKIOSTREAM_DEPENDENCIES += alsa-lib
+endif
+
+ifeq ($(BR2_PACKAGE_JACK2),y)
+GTKIOSTREAM_DEPENDENCIES += jack2
+endif
+
+ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
+GTKIOSTREAM_DEPENDENCIES += libglib2
+endif
+
+ifeq ($(BR2_PACKAGE_LIBGTK2),y)
+GTKIOSTREAM_DEPENDENCIES += libgtk2
+endif
+
+ifeq ($(BR2_PACKAGE_LIBGTK3),y)
+GTKIOSTREAM_DEPENDENCIES += libgtk3
+endif
+
+ifeq ($(BR2_PACKAGE_LIBWEBSOCKETS),y)
+GTKIOSTREAM_DEPENDENCIES += libwebsockets
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV3),y)
+GTKIOSTREAM_DEPENDENCIES += opencv3
+endif
+
+ifeq ($(BR2_PACKAGE_SOX),y)
+GTKIOSTREAM_DEPENDENCIES += sox
+endif
+
+$(eval $(autotools-package))