commit: c10c84154cc358a25fc8acba683dc5241c10fcad Author: Vladislav Mikhailikov <vmikhailikov <AT> gmail <DOT> com> AuthorDate: Mon Dec 29 02:59:13 2025 +0000 Commit: Nowa Ammerlaan <nowa <AT> gentoo <DOT> org> CommitDate: Tue Dec 30 14:04:05 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c10c8415
sci-libs/dlib: add 20.0 Signed-off-by: Vladislav Mikhailikov <vmikhailikov <AT> gmail.com> - Update to version 20.0; - Support Python 13.x and Python 14.x. Part-of: https://github.com/gentoo/gentoo/pull/44786 Signed-off-by: Nowa Ammerlaan <nowa <AT> gentoo.org> sci-libs/dlib/Manifest | 16 ++++ sci-libs/dlib/dlib-20.0.ebuild | 204 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 220 insertions(+) diff --git a/sci-libs/dlib/Manifest b/sci-libs/dlib/Manifest index aed692170d5a..973ed155e611 100644 --- a/sci-libs/dlib/Manifest +++ b/sci-libs/dlib/Manifest @@ -1,2 +1,18 @@ DIST dlib-19.24.2.tar.gz 22252165 BLAKE2B cd6a911e16d9ff6cf94a4334e84983a9c48da42e3f696de20fb28a5bba9720507ec19ddc984bb753288f86359a1c19cdf15ed29f18c43769a1c17d3177d8dedf SHA512 a38a3079c169b16d81d7aca9fc294bcd63bd2dc1a21573f9141ca310542da3629b6523fa6f348be8b41bf5b478c0846a13a4c3fee77f1ac38dfbfc4a01effb57 DIST dlib-19.24.8.tar.gz 18965261 BLAKE2B 3dbcfcd4d1a98737a21f3618994a96b3932cfc3c12ef26411ef919d8843227418460208911aa687d5a94552588e8e1eb4c99646afc86f4b43afc6972d22c65b8 SHA512 9092768628246b682e29322b101cfb8c0cd1d5a2af850510403cc7f912aa43370db1d4b5b07ff6ce6a575b3bd8cfe666b6b8f78f5e7c2ec751ae23569edcb517 +DIST dlib-20.0-FindCUDAToolkit.patch 30558 BLAKE2B 95f969cea3e2d0944dab13a6dc7bb3ca741b6d3b36786e7b1a26b17c9e8be391f7787c4362e3714f75a05963cf080e8f88cf739e6fe6d29af111284927dcb6c3 SHA512 d38136f19f7501891bd27a85358a218a74cf4f86b5c5b5f0bd51ec9bd6a9e41edc891332ba48315c56cec32a27adfc275ce90a4d5409174556f8e79b9d442657 +DIST dlib-20.0-Wcast-user-defined.patch 1453 BLAKE2B 39d3592f961ef518eb12523afd8b62650b6509f8ff47a56777e7f253ac8649be446e5e98152e34f7bde665445d93ff72a31caeba87d7ddd1e4ceea7281d2b8db SHA512 42826df16472b482e30ca1dfc8ca5bfcf525fbe83bc51fc551c27e3519772e351fcf1d0c7bb9c0f6e6aa118a8e982db266c6e43b1b392bec2b91353867d073e8 +DIST dlib-20.0-c++23-update.patch 1347 BLAKE2B 371130b1292bab2f19692dd308778e1d9f8ed7d0c0793536131ef93b21838769eaa8ecb9868103332b838584bfe78d625cfd7e90f70f4018b4945403b646a634 SHA512 0aef41f78d0dc3d2187a28247ad52ccfad527c46311770555b5aa5798f891cf91e3a0e5014430e93c7843757d2543ba316991dbcd89650222dbe2c04d757b800 +DIST dlib-20.0-docs-c++14.patch 1642 BLAKE2B 0853a6c64594b0ab0fed7740b5239d508e66e77a81e23873760d37516215819b21e25a14b0059c2c484d0d231ac87399f8b41ebd940fb4ae22ff9c6ce99e6f25 SHA512 5559888e3f22208b40a7108099a091a5341dac89801c685f597c694ba87014b460665d530ab451e87ff8d57748fd2623b54153193cea196d5090e0463cc2f045 +DIST dlib-20.0-enable-FFMpeg-7.1-API.patch 11425 BLAKE2B bbbae86e8332eb2226afdef86ee805b35ed559616b4bfdd4c9ab027ccc65abd27ce309ba5a5642b96dded08cac04472418ea32671b3408e6af239da785c37b77 SHA512 33581ada32697bdde461ea9957679347eacb1da83aa81fa1b0046cd98dd469fc745d4aca5d92363af7201dd59321e105596f243502ae99a1a3f21a02b41b774b +DIST dlib-20.0-fix-YOLO-loss-gradient.patch 2357 BLAKE2B b050eaec89e188580b9dede043735931d53c8ef610662206d1e76217751d526743d9ff19c436e109a56733bac91af15f77299299a4887485a117cf68468afe2d SHA512 83fcfd2de0de6a411a112955a6736ecba47f9a43c8224b92418c923a7ddac9c80867c9eb10c3653454d2e3f01e6aa88578d8af9cd1bccf480d54ca1cef12820c +DIST dlib-20.0-large-image-load.patch 7409 BLAKE2B c8eb5898efb8cf3090925a6d1b068b43cc6459e5c0555de8c9a2020f7b249b9fda94cd959c88f9d284ea1d7bea63520487a9c777528258c956b2a66982e8c38e SHA512 5b9ef720609f8ef716e0a67ca6e940b34d8e43c3cf9f54d4a7021e284399f2e270291fefbb34fe5a869123bba9fa5ade0f5421e9a7ed960b990fe498333b70fb +DIST dlib-20.0-matlab-ut-library.patch 1502 BLAKE2B a1b1f9718dd597ec2d20334e62e89066a79e6dc5c6f3746c96bd62f5c544b4b644f2ab855850015dc57a1cc4f136bbcce977b9fd08998811f3ff8e9e008136aa SHA512 6ceb084356d33b1e223176429813cfa6059fa9614babbbec9961cf1d4f6fbce6d24f6ccfd6ee70b8cbd4bc61aa13868f1b4409a74f5f9716ae19f6a1c05cefdd +DIST dlib-20.0-newer-python-tools.patch 4205 BLAKE2B 6f1c224a981c96eba483f996aff2be695d1ac64e3d8c4fe66f4a54a68fcecb833a2b3498b18316f1968ab83e2a7e5653cbb32ec4a6ceee8e02af2e24b638f55e SHA512 2250afd238d3fbb8eda17cfe5083aaae50e87c9e6ea57c2d9ba699b5ad44d87b6dbd99b411fa521dc7cf904748fb0808fdbd863d3e323f7af5a2bb1bc81298c0 +DIST dlib-20.0-pessimizing-move.patch 1260 BLAKE2B b721fca7d6fb6e9061696bada44ffbc386b1d046e21c4f0600f4938137cf4b57a4a1053bb7bfdbf2b5da6ad7e94389eac34c9fd7b8327921b5c51940243473f9 SHA512 eb2512a4c4d16d0658ca41e1df3c0789e2942fc87ee3b465d395fd966f06a77f8f9e0a29f0a05a54d50e6f09d692846482d898536a3373efebcd5bb076ca220a +DIST dlib-20.0-python-3.14-numpy-fix.patch 1878 BLAKE2B 8f2af074e8e8d011757d860419b8b1096879dd54f54acaff97b6943916a38d12bb5a9b5cacc44bf00ca41122dfd221d45a7e316ae2aac37c734112d0f1ae50cb SHA512 61c9fb7a5d3ed8653fa73b1acc870199b8de78de81ceaa9183545d15a35a5bbfc11c63561d0736e87d913ba5db1da08a7a056828061069e2d75eba1d6a387b65 +DIST dlib-20.0-regular-tools.patch 2940 BLAKE2B 85ee948f2cc43fda317eb00e2e10864af25fb9c6e29b7b4dcafa274d6dd19c9237dfa7991bef62a01828afd769b1f40309c02965e12e542ecde4b0610a67a7bb SHA512 389e9737c1e2df46c010359e40e2b80f62b57cbfcbe63d4b2fdf3991742d4339e30b8e49b7072da94fe4499e739dc4fc038c398579c5a8b63c5fc5770d62a032 +DIST dlib-20.0-test_loss_multibinary_log.patch 2930 BLAKE2B 4eb0b4d9b761f9700377f3a01036b1a9e77791f756cc9c6d8666a00f8891a2c346838239aaf6405b9cc4c3a036a4de529865b173f784842484482513325eeb4c SHA512 bf209df424a2aad3693763c73711619b1859e07bfab5b87f1a4f13a1a85a7244f3b57505d289ae260545caab5075dbfb17794807cf9720498c6677488c74c6ba +DIST dlib-20.0-throw-noexcept.patch 7265 BLAKE2B 590ed261b32723255b00659afaeb653d55aa6c17cecf9fa8be5e6f9767e0ea92978e019c58afdc57dcf86922f728b892ce7bbc369c322e8a0b3c31c9fdc77152 SHA512 4f55b84eb2cd4e0fd3a941218bdaa1a6ad22c867838d04513aed177e88cb52747218525c98c1f2ef4d034e88f58fc0ee8b48bb6fa6945d531209ddd854d7b8fa +DIST dlib-20.0-unicode.patch 2556 BLAKE2B fd8513a216c3ce74bcfdaad7f5b1e1cc18be9958edd0aa013e8e52c5a9065d4a310b4f0036a0f25bef384cb43e65cac5e83281ba1addd44531e1a8917c5e7d2b SHA512 2d17ad8161ae9a900bea3c0489481cdd1d43ddcb026c81013416d3ab2c0d73c32cb02c0e0c8429ad573075841605018b7864b10f39602841a1abb06faf0beb3f +DIST dlib-20.0.tar.gz 18977636 BLAKE2B 2621d5331e3fb2b6573abb0bfbb0529c6f36434ea99ffe677a38cb3838976edce79c3d9dd0516bdc60251650e54807cbef7cab467453622d257893c57d3d55bb SHA512 a4bcb2d013bd2b0000530d684c9c4b9f047f9fa6216174b3cb26d96f66c4a302d0bd1733d0ba35626d57133d9159f90114ab51a3af8fb9c493ff3e74dcc73911 diff --git a/sci-libs/dlib/dlib-20.0.ebuild b/sci-libs/dlib/dlib-20.0.ebuild new file mode 100644 index 000000000000..47c5b17c8425 --- /dev/null +++ b/sci-libs/dlib/dlib-20.0.ebuild @@ -0,0 +1,204 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..14} ) +DISTUTILS_USE_PEP517=setuptools +DISTUTILS_EXT=1 +DISTUTILS_OPTIONAL=1 +inherit cmake cuda distutils-r1 + +DESCRIPTION="Numerical and networking C++ library" +HOMEPAGE="https://dlib.net/" +SRC_URI=" + https://github.com/davisking/dlib/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/davisking/dlib/commit/e529d2a1f11ff9dac86251e21a0c90d4a58721e0.patch + -> ${P}-docs-c++14.patch + https://github.com/davisking/dlib/commit/a078e810f7e653daa4172b2ed19d8f0e22e26b6f.patch + -> ${P}-pessimizing-move.patch + https://github.com/davisking/dlib/commit/79e2d1373add8d9e265d6a16c4952f5273600e97.patch + -> ${P}-fix-YOLO-loss-gradient.patch + https://github.com/davisking/dlib/commit/d0f41798be7a64cb15f94611d960475cf3097b0c.patch + -> ${P}-matlab-ut-library.patch + https://github.com/davisking/dlib/commit/3cb1f350021b5d64771d05678672e887000062ce.patch + -> ${P}-large-image-load.patch + https://github.com/davisking/dlib/commit/131e46e4c5fb75a89a3c6ad89f6dccc7ed38473c.patch + -> ${P}-throw-noexcept.patch + https://github.com/davisking/dlib/commit/043bed89bd5e922446b0705e5c42ece51940b075.patch + -> ${P}-python-3.14-numpy-fix.patch + https://github.com/davisking/dlib/commit/e93a0ef1d81b3747b84d89f65bdd52974cac71b9.patch + -> ${P}-c++23-update.patch + https://github.com/davisking/dlib/commit/56b806d1d389ea016c845a4da546ab082c4ff7a0.patch + -> ${P}-regular-tools.patch + https://github.com/davisking/dlib/commit/4cf8f5759fe715b0defb0ba998ac1c354b814cca.patch + -> ${P}-newer-python-tools.patch + https://github.com/davisking/dlib/commit/fb0865ba8c7f04ee1f8fea3fe3d04870bda3ea08.patch + -> ${P}-Wcast-user-defined.patch + https://github.com/davisking/dlib/commit/0d2153abd0da7f9bba8104ba8c732a985d821461.patch + -> ${P}-enable-FFMpeg-7.1-API.patch + https://github.com/davisking/dlib/commit/ffe78814638d100cbd12e116990afb1903b82b5e.patch + -> ${P}-unicode.patch + https://github.com/davisking/dlib/commit/5ce4891406d32d8b49ee44253bd1bd1f1ca34c54.patch + -> ${P}-FindCUDAToolkit.patch + https://github.com/davisking/dlib/commit/35a8e1fa3fa1bd1689119f437bd2e3a27d548332.patch + -> ${P}-test_loss_multibinary_log.patch + " + +LICENSE="Boost-1.0" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="cblas cuda debug examples ffmpeg gif jpeg lapack mkl png python sqlite test webp X cpu_flags_x86_avx cpu_flags_x86_sse2 cpu_flags_x86_sse4_1" +REQUIRED_USE="python? ( png ${PYTHON_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# doc needs a bunch of deps not in portage +RDEPEND=" + cblas? ( virtual/cblas ) + cuda? ( dev-libs/cudnn:= ) + ffmpeg? ( media-video/ffmpeg:=[X?] ) + gif? ( media-libs/giflib:= ) + jpeg? ( media-libs/libjpeg-turbo:0= ) + lapack? ( virtual/lapack ) + mkl? ( sci-libs/mkl ) + png? ( media-libs/libpng:0= ) + python? ( ${PYTHON_DEPS} ) + sqlite? ( dev-db/sqlite:3 ) + webp? ( media-libs/libwebp:= ) + X? ( x11-libs/libX11 )" +DEPEND="${RDEPEND}" +BDEPEND=" + python? ( + ${DISTUTILS_DEPS} + test? ( + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/pip[${PYTHON_USEDEP}] + ) + ) +" + +DOCS=( docs/README.txt ) + +PATCHES=( + # Do not treat warnings as errors + "${FILESDIR}/${PN}-19.24.8-disable-upstream-flags.patch" + + # Docs: dlib requires c++14 (#3079) + "${DISTDIR}/${P}-docs-c++14.patch" + + # Remove std::move where clang warns of pessimizing- + # move (#3080) + "${DISTDIR}/${P}-pessimizing-move.patch" + + # Fix: Correct YOLO loss gradient for x,y coordinates (#3088) + "${DISTDIR}/${P}-fix-YOLO-loss-gradient.patch" + + # Fix the miss of including matlab ut library (#3089) + "${DISTDIR}/${P}-matlab-ut-library.patch" + + # Fix large images (40792x20480 RGBA PNG for ex.) + # read (#3091) + "${DISTDIR}/${P}-large-image-load.patch" + + # throw() -> noexcept (#3092) + "${DISTDIR}/${P}-throw-noexcept.patch" + + # Account for change in ref count in Python 3.14+ (#3098) + "${DISTDIR}/${P}-python-3.14-numpy-fix.patch" + + # std::aligned_storage_t is deprecated in c++23 (#3100) + "${DISTDIR}/${P}-c++23-update.patch" + + # Fix up build errors with the regular makefile + # and non-cmake builds + "${DISTDIR}/${P}-regular-tools.patch" + + # Update python packaging to work with newer + # toolchains (#3102) + "${DISTDIR}/${P}-newer-python-tools.patch" + + # Fix -Wcast-user-defined (#3103) + "${DISTDIR}/${P}-Wcast-user-defined.patch" + + # FFMpeg 7.1 API (#3105) + "${DISTDIR}/${P}-enable-FFMpeg-7.1-API.patch" + + # Fixed warning in convert_mbstring_to_wstring() (#3110) + "${DISTDIR}/${P}-unicode.patch" + + # Replace FindCUDA with FindCUDAToolkit (fix #2833) (#3090) + "${DISTDIR}/${P}-FindCUDAToolkit.patch" + + # Improve the somewhat flaky test_loss_multibinary_log + # by avoiding samples very close to class boundaries (#3112) + "${DISTDIR}/${P}-test_loss_multibinary_log.patch" +) + +src_prepare() { + + # CUDA + use cuda && cuda_src_prepare + + # CMake + cmake_src_prepare + + # Python + use python && distutils-r1_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DDLIB_ENABLE_ASSERTS=$(usex debug) + -DDLIB_ENABLE_STACK_TRACE=$(usex debug) + -DDLIB_USE_FFMPEG=$(usex ffmpeg) + -DDLIB_GIF_SUPPORT=$(usex gif) + -DDLIB_JPEG_SUPPORT=$(usex jpeg) + -DDLIB_PNG_SUPPORT=$(usex png) + -DDLIB_LINK_WITH_SQLITE3=$(usex sqlite) + -DDLIB_NO_GUI_SUPPORT=$(usex X OFF ON) + -DDLIB_USE_BLAS=$(usex cblas) + -DDLIB_USE_CUDA=$(usex cuda) + -DDLIB_USE_LAPACK=$(usex lapack) + -DDLIB_WEBP_SUPPORT=$(usex webp) + -DUSE_AVX_INSTRUCTIONS=$(usex cpu_flags_x86_avx) + -DUSE_SSE2_INSTRUCTIONS=$(usex cpu_flags_x86_sse2) + -DUSE_SSE4_INSTRUCTIONS=$(usex cpu_flags_x86_sse4_1) + ) + cmake_src_configure + use python && distutils-r1_src_configure +} + +src_compile() { + cmake_src_compile + use python && distutils-r1_src_compile +} + +src_test() { + ( + local BUILD_DIR="${BUILD_DIR}"/dlib/test + mkdir -p "${BUILD_DIR}" || die + cd "${BUILD_DIR}" >/dev/null || die + + local CMAKE_USE_DIR="${S}"/dlib/test + cmake_src_configure + cmake_build + + ./dtest --runall || die "Tests failed" + ) + + use python && distutils-r1_src_test +} + +python_test() { + epytest +} + +src_install() { + cmake_src_install + use python && distutils-r1_src_install + + if use examples; then + dodoc -r examples + docompress -x /usr/share/doc/${PF} + fi +}
