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
+}

Reply via email to