* [Buildroot] [PATCH v4 1/2] package/dlib: new package
@ 2024-09-09 12:11 Roy Kollen Svendsen
2024-09-09 12:11 ` [Buildroot] [PATCH v4 2/2] DEVELOPERS: add Roy Kollen Svendsen for dlib Roy Kollen Svendsen
2024-09-14 22:14 ` [Buildroot] [PATCH v4 1/2] package/dlib: new package Thomas Petazzoni via buildroot
0 siblings, 2 replies; 4+ messages in thread
From: Roy Kollen Svendsen @ 2024-09-09 12:11 UTC (permalink / raw)
To: buildroot; +Cc: Samuel Martin, Roy Kollen Svendsen
Signed-off-by: Roy Kollen Svendsen <roykollensvendsen@gmail.com>
---
Changes v3 -> v4:
- sort config options
- since this is a library install to staging
- set DLIB_LINK_WITH_SQLITE3=OFF
Should I enforce using system libraries where alternative internal libraries exist?
Do I add too much license information here? (I assume I only need BSL-1.0)
package/Config.in | 1 +
package/dlib/Config.in | 60 +++++++++++++++++++++++++
package/dlib/dlib.hash | 12 +++++
package/dlib/dlib.mk | 99 ++++++++++++++++++++++++++++++++++++++++++
4 files changed, 172 insertions(+)
create mode 100644 package/dlib/Config.in
create mode 100644 package/dlib/dlib.hash
create mode 100644 package/dlib/dlib.mk
diff --git a/package/Config.in b/package/Config.in
index 17855fed30..b731e8cf5e 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2150,6 +2150,7 @@ menu "Other"
source "package/cracklib/Config.in"
source "package/dawgdic/Config.in"
source "package/ding-libs/Config.in"
+ source "package/dlib/Config.in"
source "package/dotconf/Config.in"
source "package/double-conversion/Config.in"
source "package/eigen/Config.in"
diff --git a/package/dlib/Config.in b/package/dlib/Config.in
new file mode 100644
index 0000000000..77ff5086ae
--- /dev/null
+++ b/package/dlib/Config.in
@@ -0,0 +1,60 @@
+config BR2_PACKAGE_DLIB
+ bool "dlib"
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ help
+ Dlib is a modern C++ toolkit containing machine learning
+ algorithms and tools for creating complex software in C++ to
+ solve real world problems.
+
+ http://dlib.net
+
+if BR2_PACKAGE_DLIB
+
+config BR2_PACKAGE_DLIB_GIF_SUPPORT
+ bool "GIF support"
+ select BR2_PACKAGE_GIFLIB
+
+config BR2_PACKAGE_DLIB_GUI_SUPPORT
+ bool "GUI support"
+ depends on BR2_PACKAGE_XORG7
+ select BR2_PACKAGE_XLIB_LIBX11
+
+config BR2_PACKAGE_DLIB_JPEG_SUPPORT
+ bool "JPEG support"
+ select BR2_PACKAGE_JPEG
+
+config BR2_PACKAGE_DLIB_JXL_SUPPORT
+ bool "JXL support"
+ select BR2_PACKAGE_LIBJXL
+
+config BR2_PACKAGE_DLIB_PNG_SUPPORT
+ bool "PNG support"
+ select BR2_PACKAGE_LIBPNG
+
+config BR2_PACKAGE_DLIB_USE_BLAS
+ bool "use openblas"
+ depends on BR2_PACKAGE_OPENBLAS_ARCH_SUPPORTS
+ select BR2_PACKAGE_OPENBLAS
+
+config BR2_PACKAGE_DLIB_USE_FFMPEG
+ bool "use ffmpeg"
+ depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
+ select BR2_PACKAGE_FFMPEG
+ select BR2_PACKAGE_FFMPEG_SWSCALE
+
+config BR2_PACKAGE_DLIB_USE_LAPACK
+ bool "use lapack"
+ depends on BR2_PACKAGE_LAPACK_ARCH_SUPPORTS
+ depends on BR2_TOOLCHAIN_HAS_FORTRAN
+ select BR2_PACKAGE_LAPACK
+
+config BR2_PACKAGE_DLIB_WEBP_SUPPORT
+ bool "WEBP support"
+ select BR2_PACKAGE_WEBP
+
+endif
+
+comment "dlib needs a toolchain w/ C++, threads"
+ depends on !BR2_INSTALL_LIBSTDCPP || \
+ !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/dlib/dlib.hash b/package/dlib/dlib.hash
new file mode 100644
index 0000000000..3bb5a540d0
--- /dev/null
+++ b/package/dlib/dlib.hash
@@ -0,0 +1,12 @@
+sha256 22513c353ec9c153300c394050c96ca9d088e02966ac0f639e989e50318c82d6 dlib-19.24.6.tar.gz
+
+# Hashes for license files:
+sha256 50c1c5978d490c7f13062d91c4b89affc83774f87bc4568a714f748b62a5b216 dlib/external/libjpeg/README
+sha256 debfae299fa4118b0a586af4cf7ac8d38aae81ac4e9995c935862aaee6eb0362 dlib/external/libpng/LICENSE
+sha256 83965b843b98f670d3a85bd041ed4b372c8ec50d7b4a5995a83ac697ba675dcb dlib/external/pybind11/LICENSE
+sha256 8d8291caf1cee26d23acf3eb67c9f9a2d58f1c681b16a4fbe8cbfb9e3c0b5a9b dlib/LICENSE.txt
+sha256 908b0b565ae9bf61b7b41447cb0b83564f320375723bcc884ec30e5537a0d5dc dlib/test/ffmpeg_data/LICENSE.TXT
+sha256 78515536a4b0d896745b6483fccc561987e8e2f2d014dc81d7c2e97c497a0a69 examples/LICENSE_FOR_EXAMPLE_PROGRAMS.txt
+sha256 a0e7b40719ba74630debe9fae1cb847ee436215451123254a690171d09fb036e examples/video_frames/license.txt
+sha256 8d8291caf1cee26d23acf3eb67c9f9a2d58f1c681b16a4fbe8cbfb9e3c0b5a9b LICENSE.txt
+sha256 8acb12b218fdb5e071f25eda9ac990d04888388b65095867d9007c278a9f993b python_examples/LICENSE_FOR_EXAMPLE_PROGRAMS.txt
diff --git a/package/dlib/dlib.mk b/package/dlib/dlib.mk
new file mode 100644
index 0000000000..5acc32e4b6
--- /dev/null
+++ b/package/dlib/dlib.mk
@@ -0,0 +1,99 @@
+################################################################################
+#
+# dlib
+#
+################################################################################
+
+DLIB_VERSION = 19.24.6
+DLIB_SITE = $(call github,davisking,dlib,v$(DLIB_VERSION))
+DLIB_CMAKE_BACKEND = ninja
+DLIB_INSTALL_STAGING = YES
+DLIB_SUPPORTS_IN_SOURCE_BUILD = NO
+
+DLIB_LICENSE = \
+ BSD-3-Clause (kissfft, pybind11) \
+ BSL-1.0 (dlib, tools) \
+ CC0-1.0 (examples) \
+ libpng-2.0 (libpng) \
+ MIT OR CC0-1.0 (JoinPaths.cmake)
+
+DLIB_LICENSE_FILES = \
+ dlib/external/libjpeg/README \
+ dlib/external/libpng/LICENSE \
+ dlib/external/pybind11/LICENSE \
+ dlib/LICENSE.txt \
+ dlib/test/ffmpeg_data/LICENSE.TXT \
+ examples/LICENSE_FOR_EXAMPLE_PROGRAMS.txt \
+ examples/video_frames/license.txt \
+ LICENSE.txt \
+ python_examples/LICENSE_FOR_EXAMPLE_PROGRAMS.txt
+
+DLIB_CONF_OPTS = \
+ -DDLIB_LINK_WITH_SQLITE3=OFF \
+ -DDLIB_USE_CUDA=OFF \
+ -DDLIB_USE_MKL_FFT=OFF
+
+ifeq ($(BR2_PACKAGE_DLIB_GIF_SUPPORT),y)
+DLIB_CONF_OPTS += -DDLIB_GIF_SUPPORT=ON
+DLIB_DEPENDENCIES += giflib
+else
+DLIB_CONF_OPTS += -DDLIB_GIF_SUPPORT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_DLIB_GUI_SUPPORT),y)
+DLIB_CONF_OPTS += -DDLIB_NO_GUI_SUPPORT=OFF
+DLIB_DEPENDENCIES += xlib_libX11
+else
+DLIB_CONF_OPTS += -DDLIB_NO_GUI_SUPPORT=ON
+endif
+
+ifeq ($(BR2_PACKAGE_DLIB_JPEG_SUPPORT),y)
+DLIB_CONF_OPTS += -DDLIB_JPEG_SUPPORT=ON
+DLIB_DEPENDENCIES += jpeg
+else
+DLIB_CONF_OPTS += -DDLIB_JPEG_SUPPORT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_DLIB_JXL_SUPPORT),y)
+DLIB_CONF_OPTS += -DDLIB_JXL_SUPPORT=ON
+DLIB_DEPENDENCIES += libjxl
+else
+DLIB_CONF_OPTS += -DDLIB_JXL_SUPPORT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_DLIB_PNG_SUPPORT),y)
+DLIB_CONF_OPTS += -DDLIB_PNG_SUPPORT=ON
+DLIB_DEPENDENCIES += libpng
+else
+DLIB_CONF_OPTS += -DDLIB_PNG_SUPPORT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_DLIB_USE_BLAS),y)
+DLIB_CONF_OPTS += -DDLIB_USE_BLAS=ON
+DLIB_DEPENDENCIES += openblas
+else
+DLIB_CONF_OPTS += -DDLIB_USE_BLAS=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_DLIB_USE_FFMPEG),y)
+DLIB_CONF_OPTS += -DDLIB_USE_FFMPEG=ON
+DLIB_DEPENDENCIES += ffmpeg
+else
+DLIB_CONF_OPTS += -DDLIB_USE_FFMPEG=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_DLIB_USE_LAPACK),y)
+DLIB_CONF_OPTS += -DDLIB_USE_LAPACK=ON
+DLIB_DEPENDENCIES += lapack
+else
+DLIB_CONF_OPTS += -DDLIB_USE_LAPACK=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_DLIB_WEBP_SUPPORT),y)
+DLIB_CONF_OPTS += -DDLIB_WEBP_SUPPORT=ON
+DLIB_DEPENDENCIES += webp
+else
+DLIB_CONF_OPTS += -DDLIB_WEBP_SUPPORT=OFF
+endif
+
+$(eval $(cmake-package))
--
2.46.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH v4 2/2] DEVELOPERS: add Roy Kollen Svendsen for dlib
2024-09-09 12:11 [Buildroot] [PATCH v4 1/2] package/dlib: new package Roy Kollen Svendsen
@ 2024-09-09 12:11 ` Roy Kollen Svendsen
2024-09-14 22:14 ` [Buildroot] [PATCH v4 1/2] package/dlib: new package Thomas Petazzoni via buildroot
1 sibling, 0 replies; 4+ messages in thread
From: Roy Kollen Svendsen @ 2024-09-09 12:11 UTC (permalink / raw)
To: buildroot; +Cc: Samuel Martin, Roy Kollen Svendsen
Signed-off-by: Roy Kollen Svendsen <roykollensvendsen@gmail.com>
---
DEVELOPERS | 1 +
1 file changed, 1 insertion(+)
diff --git a/DEVELOPERS b/DEVELOPERS
index b0efabfd5d..8df56f37c0 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2878,6 +2878,7 @@ F: support/testing/tests/package/test_python_mako.py
F: toolchain/
N: Roy Kollen Svendsen <roykollensvendsen@gmail.com>
+F: package/dlib/
F: package/qt6/
N: Rufus Segar <rhs@riseup.net>
--
2.46.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Buildroot] [PATCH v4 1/2] package/dlib: new package
2024-09-09 12:11 [Buildroot] [PATCH v4 1/2] package/dlib: new package Roy Kollen Svendsen
2024-09-09 12:11 ` [Buildroot] [PATCH v4 2/2] DEVELOPERS: add Roy Kollen Svendsen for dlib Roy Kollen Svendsen
@ 2024-09-14 22:14 ` Thomas Petazzoni via buildroot
2024-09-15 4:58 ` Roy Kollen Svendsen
1 sibling, 1 reply; 4+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-09-14 22:14 UTC (permalink / raw)
To: Roy Kollen Svendsen; +Cc: Samuel Martin, buildroot
Hello Roy,
On Mon, 9 Sep 2024 14:11:12 +0200
Roy Kollen Svendsen <roykollensvendsen@gmail.com> wrote:
> Signed-off-by: Roy Kollen Svendsen <roykollensvendsen@gmail.com>
Thanks for the patch!
> Should I enforce using system libraries where alternative internal libraries exist?
Yes, we always want to use system libraries instead of bundled ones.
> Do I add too much license information here? (I assume I only need BSL-1.0)
I think the license information you provided is good as it is.
> diff --git a/package/dlib/Config.in b/package/dlib/Config.in
> new file mode 100644
> index 0000000000..77ff5086ae
> --- /dev/null
> +++ b/package/dlib/Config.in
> @@ -0,0 +1,60 @@
> +config BR2_PACKAGE_DLIB
> + bool "dlib"
> + depends on BR2_INSTALL_LIBSTDCPP
> + depends on BR2_TOOLCHAIN_HAS_THREADS
> + help
> + Dlib is a modern C++ toolkit containing machine learning
> + algorithms and tools for creating complex software in C++ to
> + solve real world problems.
> +
> + http://dlib.net
> +
> +if BR2_PACKAGE_DLIB
> +
> +config BR2_PACKAGE_DLIB_GIF_SUPPORT
> + bool "GIF support"
> + select BR2_PACKAGE_GIFLIB
I think you should drop all sub-options, and instead rely on automatic
dependencies, i.e:
ifeq ($(BR2_PACKAGE_GIFLIB),y)
... enable GIF support
else
... disable GIF support
endif
and ditto for all other options.
Last but not least, the addition of the entry in the DEVELOPERS file
should be done as part of the patch adding the package.
Could you adjust those small details and sent a new iteration, which I
believe we will be able to merge?
Thanks a lot!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Buildroot] [PATCH v4 1/2] package/dlib: new package
2024-09-14 22:14 ` [Buildroot] [PATCH v4 1/2] package/dlib: new package Thomas Petazzoni via buildroot
@ 2024-09-15 4:58 ` Roy Kollen Svendsen
0 siblings, 0 replies; 4+ messages in thread
From: Roy Kollen Svendsen @ 2024-09-15 4:58 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: Samuel Martin, buildroot
[-- Attachment #1.1: Type: text/plain, Size: 2134 bytes --]
https://patchwork.ozlabs.org/project/buildroot/patch/20240915045455.1567220-1-roykollensvendsen@gmail.com/
søn. 15. sep. 2024 kl. 00:14 skrev Thomas Petazzoni <
thomas.petazzoni@bootlin.com>:
> Hello Roy,
>
> On Mon, 9 Sep 2024 14:11:12 +0200
> Roy Kollen Svendsen <roykollensvendsen@gmail.com> wrote:
>
> > Signed-off-by: Roy Kollen Svendsen <roykollensvendsen@gmail.com>
>
> Thanks for the patch!
>
> > Should I enforce using system libraries where alternative internal
> libraries exist?
>
> Yes, we always want to use system libraries instead of bundled ones.
>
> > Do I add too much license information here? (I assume I only need
> BSL-1.0)
>
> I think the license information you provided is good as it is.
>
> > diff --git a/package/dlib/Config.in b/package/dlib/Config.in
> > new file mode 100644
> > index 0000000000..77ff5086ae
> > --- /dev/null
> > +++ b/package/dlib/Config.in
> > @@ -0,0 +1,60 @@
> > +config BR2_PACKAGE_DLIB
> > + bool "dlib"
> > + depends on BR2_INSTALL_LIBSTDCPP
> > + depends on BR2_TOOLCHAIN_HAS_THREADS
> > + help
> > + Dlib is a modern C++ toolkit containing machine learning
> > + algorithms and tools for creating complex software in C++ to
> > + solve real world problems.
> > +
> > + http://dlib.net
> > +
> > +if BR2_PACKAGE_DLIB
> > +
> > +config BR2_PACKAGE_DLIB_GIF_SUPPORT
> > + bool "GIF support"
> > + select BR2_PACKAGE_GIFLIB
>
> I think you should drop all sub-options, and instead rely on automatic
> dependencies, i.e:
>
> ifeq ($(BR2_PACKAGE_GIFLIB),y)
> ... enable GIF support
> else
> ... disable GIF support
> endif
>
> and ditto for all other options.
>
> Last but not least, the addition of the entry in the DEVELOPERS file
> should be done as part of the patch adding the package.
>
> Could you adjust those small details and sent a new iteration, which I
> believe we will be able to merge?
>
> Thanks a lot!
>
> Thomas
> --
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com
>
[-- Attachment #1.2: Type: text/html, Size: 3074 bytes --]
[-- Attachment #2: Type: text/plain, Size: 150 bytes --]
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-09-15 4:59 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-09 12:11 [Buildroot] [PATCH v4 1/2] package/dlib: new package Roy Kollen Svendsen
2024-09-09 12:11 ` [Buildroot] [PATCH v4 2/2] DEVELOPERS: add Roy Kollen Svendsen for dlib Roy Kollen Svendsen
2024-09-14 22:14 ` [Buildroot] [PATCH v4 1/2] package/dlib: new package Thomas Petazzoni via buildroot
2024-09-15 4:58 ` Roy Kollen Svendsen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox