diff --git a/DEVELOPERS b/DEVELOPERS index f291ba8e7c..929e9f895f 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2888,6 +2888,7 @@ F: support/testing/tests/package/test_python_mako.py F: toolchain/ N: Roy Kollen Svendsen +F: package/dlib/ F: package/qt6/ N: Rufus Segar diff --git a/package/Config.in b/package/Config.in index a1d53edf5b..c0f4d9ece5 100644 --- a/package/Config.in +++ b/package/Config.in @@ -2155,6 +2155,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..2419af967b --- /dev/null +++ b/package/dlib/Config.in @@ -0,0 +1,14 @@ +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 + +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..af206386b8 --- /dev/null +++ b/package/dlib/dlib.hash @@ -0,0 +1,13 @@ +# Locally computed +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..4eb0002775 --- /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_FFMPEG)$(BR2_PACKAGE_FFMPEG_SWSCALE),yy) +DLIB_CONF_OPTS += -DDLIB_USE_FFMPEG=ON +DLIB_DEPENDENCIES += ffmpeg +else +DLIB_CONF_OPTS += -DDLIB_USE_FFMPEG=OFF +endif + +ifeq ($(BR2_PACKAGE_GIFLIB),y) +DLIB_CONF_OPTS += -DDLIB_GIF_SUPPORT=ON +DLIB_DEPENDENCIES += giflib +else +DLIB_CONF_OPTS += -DDLIB_GIF_SUPPORT=OFF +endif + +ifeq ($(BR2_PACKAGE_JPEG),y) +DLIB_CONF_OPTS += -DDLIB_JPEG_SUPPORT=ON +DLIB_DEPENDENCIES += jpeg +else +DLIB_CONF_OPTS += -DDLIB_JPEG_SUPPORT=OFF +endif + +ifeq ($(BR2_PACKAGE_LAPACK),y) +DLIB_CONF_OPTS += -DDLIB_USE_LAPACK=ON +DLIB_DEPENDENCIES += lapack +else +DLIB_CONF_OPTS += -DDLIB_USE_LAPACK=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBJXL),y) +DLIB_CONF_OPTS += -DDLIB_JXL_SUPPORT=ON +DLIB_DEPENDENCIES += libjxl +else +DLIB_CONF_OPTS += -DDLIB_JXL_SUPPORT=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBPNG),y) +DLIB_CONF_OPTS += -DDLIB_PNG_SUPPORT=ON +DLIB_DEPENDENCIES += libpng +else +DLIB_CONF_OPTS += -DDLIB_PNG_SUPPORT=OFF +endif + +ifeq ($(BR2_PACKAGE_OPENBLAS),y) +DLIB_CONF_OPTS += -DDLIB_USE_BLAS=ON +DLIB_DEPENDENCIES += openblas +else +DLIB_CONF_OPTS += -DDLIB_USE_BLAS=OFF +endif + +ifeq ($(BR2_PACKAGE_WEBP),y) +DLIB_CONF_OPTS += -DDLIB_WEBP_SUPPORT=ON +DLIB_DEPENDENCIES += webp +else +DLIB_CONF_OPTS += -DDLIB_WEBP_SUPPORT=OFF +endif + +ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y) +DLIB_CONF_OPTS += -DDLIB_NO_GUI_SUPPORT=OFF +DLIB_DEPENDENCIES += xlib_libX11 +else +DLIB_CONF_OPTS += -DDLIB_NO_GUI_SUPPORT=ON +endif + +$(eval $(cmake-package))