Gentoo Archives: gentoo-commits

From: Alfredo Tupone <tupone@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-libs/caffe2/files/, sci-libs/caffe2/
Date: Sun, 03 Jul 2022 09:57:24
Message-Id: 1656842210.7a3d0a4e3007f19ff60d86b8bcfbf40323c610aa.tupone@gentoo
1 commit: 7a3d0a4e3007f19ff60d86b8bcfbf40323c610aa
2 Author: James Beddek <telans <AT> posteo <DOT> de>
3 AuthorDate: Sun Jul 3 06:47:31 2022 +0000
4 Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
5 CommitDate: Sun Jul 3 09:56:50 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a3d0a4e
7
8 sci-libs/caffe2: add 1.12.0
9
10 add support fot QNNPACK, dev-python/numpy, opencv, ffmpeg, openmp, opencl
11 add patch to fix install dirs
12
13 Signed-off-by: James Beddek <telans <AT> posteo.de>
14 Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>
15
16 sci-libs/caffe2/Manifest | 1 +
17 sci-libs/caffe2/caffe2-1.11.0-r2.ebuild | 84 ++++++++----
18 ...affe2-1.11.0-r2.ebuild => caffe2-1.12.0.ebuild} | 83 ++++++++----
19 sci-libs/caffe2/files/caffe2-1.11.0-gentoo.patch | 31 +++--
20 .../caffe2/files/caffe2-1.12.0-install-dirs.patch | 147 +++++++++++++++++++++
21 sci-libs/caffe2/metadata.xml | 6 +
22 6 files changed, 291 insertions(+), 61 deletions(-)
23
24 diff --git a/sci-libs/caffe2/Manifest b/sci-libs/caffe2/Manifest
25 index ae4d5567b7fc..0d28654e641f 100644
26 --- a/sci-libs/caffe2/Manifest
27 +++ b/sci-libs/caffe2/Manifest
28 @@ -1 +1,2 @@
29 DIST pytorch-1.11.0.tar.gz 20719323 BLAKE2B 24e7aaa2c26821d36f8092542de9d8d5ac85a619fb9fffb5131987958842afb1cad395780662d15f3411a7cc6ff83a445871960eca1e469fcbf0b9895d83d6e0 SHA512 2342eb7a1a241f5855a7cf12e11f62bc4baaa78d1d0864e53bfc946e783eb4addd05ca154a814d2376cd602098b5547e61c158d6eddb7cad5a9f3b0c1357adca
30 +DIST pytorch-1.12.0.tar.gz 106286765 BLAKE2B ff9bafedb35f859f7dccb9b606299cf9c345bdaa0deb87ecfe0c0c30c3c828414d989e1d9a243d9b7cd3f376d56a2f81c241ca2e3c9a8a2b30cddcdeddd3a5c7 SHA512 c9c748a2e0047daaaf199a1ba3198d2d1aee47f664170a9b34ccacd3deeb95f2070e4035eeb900012ef48dc62cf6fb6806f1a1dfe22de8c94892963076e593b7
31
32 diff --git a/sci-libs/caffe2/caffe2-1.11.0-r2.ebuild b/sci-libs/caffe2/caffe2-1.11.0-r2.ebuild
33 index c59a498341cd..d45e26d90d6d 100644
34 --- a/sci-libs/caffe2/caffe2-1.11.0-r2.ebuild
35 +++ b/sci-libs/caffe2/caffe2-1.11.0-r2.ebuild
36 @@ -17,23 +17,35 @@ SRC_URI="https://github.com/pytorch/${MYPN}/archive/refs/tags/v${PV}.tar.gz
37 LICENSE="BSD"
38 SLOT="0"
39 KEYWORDS="~amd64"
40 +IUSE="ffmpeg nnpack +numpy opencl opencv openmp qnnpack xnnpack"
41 RESTRICT="test"
42 -IUSE="nnpack xnnpack"
43 -REQUIRED_USE="${PYTHON_REQUIRED_USE}"
44 +REQUIRED_USE="
45 + ${PYTHON_REQUIRED_USE}
46 + ffmpeg? ( opencv )
47 +"
48
49 RDEPEND="
50 ${PYTHON_DEPS}
51 dev-libs/cpuinfo
52 dev-libs/libfmt
53 dev-libs/protobuf
54 + dev-libs/pthreadpool
55 dev-libs/sleef
56 sci-libs/lapack
57 sci-libs/onnx
58 sci-libs/foxi
59 + ffmpeg? ( media-video/ffmpeg:= )
60 nnpack? ( sci-libs/NNPACK )
61 + numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
62 + opencl? ( virtual/opencl )
63 + opencv? ( media-libs/opencv:= )
64 + qnnpack? ( sci-libs/QNNPACK )
65 xnnpack? ( sci-libs/XNNPACK )
66 "
67 -DEPEND="${RDEPEND}
68 +DEPEND="
69 + ${RDEPEND}
70 + dev-cpp/eigen
71 + dev-libs/psimd
72 dev-libs/FP16
73 dev-libs/pocketfft
74 dev-libs/flatbuffers
75 @@ -43,7 +55,10 @@ DEPEND="${RDEPEND}
76
77 S="${WORKDIR}"/${MYP}
78
79 -PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
80 +PATCHES=(
81 + "${FILESDIR}"/${PN}-1.11.0-gentoo.patch
82 + "${FILESDIR}"/${PN}-1.12.0-install-dirs.patch
83 +)
84
85 src_prepare() {
86 cmake_src_prepare
87 @@ -55,33 +70,52 @@ src_prepare() {
88 src_configure() {
89 python_setup
90 local mycmakeargs=(
91 - -DUSE_KINETO=OFF
92 - -DUSE_SYSTEM_SLEEF=ON
93 - -DUSE_BREAKPAD=OFF
94 - -DUSE_SYSTEM_ONNX=ON
95 - -DUSE_TENSORPIPE=OFF
96 + -DBUILD_CUSTOM_PROTOBUF=OFF
97 + -DBUILD_SHARED_LIBS=ON
98 +
99 + -DUSE_CCACHE=OFF
100 + -DUSE_CUDA=OFF # TODO
101 + -DUSE_CUDNN=OFF # TODO
102 + -DUSE_FAST_NVCC=OFF # TODO
103 + #-DCUDA_ARCH_LIST="${TORCH_CUDA_ARCH_LIST:-Auto}"
104 + -DUSE_DISTRIBUTED=OFF
105 + -DUSE_FAKELOWP=OFF
106 + -DUSE_FBGEMM=OFF # TODO
107 + -DUSE_FFMPEG=$(usex ffmpeg)
108 + -DUSE_GFLAGS=OFF # TODO
109 + -DUSE_GLOG=OFF # TODO
110 -DUSE_GLOO=OFF
111 - -DUSE_SYSTEM_FP16=ON
112 - -DUSE_FBGEMM=OFF
113 + -DUSE_KINETO=OFF # TODO
114 + -DUSE_LEVELDB=OFF
115 + -DUSE_MAGMA=OFF # TODO: In GURU as sci-libs/magma
116 + -DUSE_MKLDNN=OFF
117 + -DUSE_NCCL=OFF # TODO: NVIDIA Collective Communication Library
118 + -DUSE_NNPACK=$(usex nnpack)
119 + -DUSE_QNNPACK=$(usex qnnpack)
120 + -DUSE_XNNPACK=$(usex xnnpack)
121 + -DUSE_SYSTEM_XNNPACK=$(usex xnnpack)
122 -DUSE_PYTORCH_QNNPACK=OFF
123 - -DUSE_QNNPACK=OFF
124 + -DUSE_NUMPY=$(usex numpy)
125 + -DUSE_OPENCL=$(usex opencl)
126 + -DUSE_OPENCV=$(usex opencv)
127 + -DUSE_OPENMP=$(usex openmp)
128 + -DUSE_ROCM=OFF # TODO
129 -DUSE_SYSTEM_CPUINFO=ON
130 - -DBUILD_CUSTOM_PROTOBUF=OFF
131 - -DUSE_MKLDNN=OFF
132 - -DUSE_NUMPY=OFF
133 - -DUSE_OPENMP=OFF
134 - -DUSE_DISTRIBUTED=OFF
135 - -DUSE_CUDA=OFF
136 - -DUSE_NCCL=OFF
137 + -DUSE_BREAKPAD=OFF # TODO
138 + -DUSE_SYSTEM_BIND11=ON
139 + -DPYBIND11_PYTHON_VERSION="${EPYTHON#python}"
140 + -DPYTHON_EXECUTABLE="${PYTHON}"
141 + -DUSE_SYSTEM_EIGEN_INSTALL=ON
142 + -DUSE_SYSTEM_PTHREADPOOL=ON
143 + -DUSE_SYSTEM_FXDIV=ON
144 + -DUSE_SYSTEM_FP16=ON
145 + -DUSE_SYSTEM_ONNX=ON
146 + -DUSE_SYSTEM_SLEEF=ON
147 + -DUSE_TENSORPIPE=OFF
148 +
149 -Wno-dev
150 -DTORCH_INSTALL_LIB_DIR=/usr/$(get_libdir)
151 -DLIBSHM_INSTALL_LIB_SUBDIR=/usr/$(get_libdir)
152 - -DUSE_CCACHE=OFF
153 - -DUSE_SYSTEM_PTHREADPOOL=ON
154 - -DUSE_SYSTEM_FXDIV=ON
155 - -DUSE_XNNPACK=$(usex xnnpack ON OFF)
156 - -DUSE_SYSTEM_XNNPACK=$(usex xnnpack ON OFF)
157 - -DUSE_NNPACK=$(usex nnpack ON OFF)
158 )
159 cmake_src_configure
160 }
161
162 diff --git a/sci-libs/caffe2/caffe2-1.11.0-r2.ebuild b/sci-libs/caffe2/caffe2-1.12.0.ebuild
163 similarity index 57%
164 copy from sci-libs/caffe2/caffe2-1.11.0-r2.ebuild
165 copy to sci-libs/caffe2/caffe2-1.12.0.ebuild
166 index c59a498341cd..c1e033bbfc7b 100644
167 --- a/sci-libs/caffe2/caffe2-1.11.0-r2.ebuild
168 +++ b/sci-libs/caffe2/caffe2-1.12.0.ebuild
169 @@ -17,23 +17,35 @@ SRC_URI="https://github.com/pytorch/${MYPN}/archive/refs/tags/v${PV}.tar.gz
170 LICENSE="BSD"
171 SLOT="0"
172 KEYWORDS="~amd64"
173 +IUSE="ffmpeg nnpack +numpy opencl opencv openmp qnnpack xnnpack"
174 RESTRICT="test"
175 -IUSE="nnpack xnnpack"
176 -REQUIRED_USE="${PYTHON_REQUIRED_USE}"
177 +REQUIRED_USE="
178 + ${PYTHON_REQUIRED_USE}
179 + ffmpeg? ( opencv )
180 +"
181
182 RDEPEND="
183 ${PYTHON_DEPS}
184 dev-libs/cpuinfo
185 dev-libs/libfmt
186 dev-libs/protobuf
187 + dev-libs/pthreadpool
188 dev-libs/sleef
189 sci-libs/lapack
190 sci-libs/onnx
191 sci-libs/foxi
192 + ffmpeg? ( media-video/ffmpeg:= )
193 nnpack? ( sci-libs/NNPACK )
194 + numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
195 + opencl? ( virtual/opencl )
196 + opencv? ( media-libs/opencv:= )
197 + qnnpack? ( sci-libs/QNNPACK )
198 xnnpack? ( sci-libs/XNNPACK )
199 "
200 -DEPEND="${RDEPEND}
201 +DEPEND="
202 + ${RDEPEND}
203 + dev-cpp/eigen
204 + dev-libs/psimd
205 dev-libs/FP16
206 dev-libs/pocketfft
207 dev-libs/flatbuffers
208 @@ -43,7 +55,10 @@ DEPEND="${RDEPEND}
209
210 S="${WORKDIR}"/${MYP}
211
212 -PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
213 +PATCHES=(
214 + "${FILESDIR}"/${PN}-1.11.0-gentoo.patch
215 + "${FILESDIR}"/${PN}-1.12.0-install-dirs.patch
216 +)
217
218 src_prepare() {
219 cmake_src_prepare
220 @@ -55,33 +70,51 @@ src_prepare() {
221 src_configure() {
222 python_setup
223 local mycmakeargs=(
224 - -DUSE_KINETO=OFF
225 - -DUSE_SYSTEM_SLEEF=ON
226 - -DUSE_BREAKPAD=OFF
227 - -DUSE_SYSTEM_ONNX=ON
228 - -DUSE_TENSORPIPE=OFF
229 + -DBUILD_CUSTOM_PROTOBUF=OFF
230 + -DBUILD_SHARED_LIBS=ON
231 +
232 + -DUSE_CCACHE=OFF
233 + -DUSE_CUDA=OFF # TODO
234 + -DUSE_CUDNN=OFF # TODO
235 + -DUSE_FAST_NVCC=OFF # TODO
236 + #-DCUDA_ARCH_LIST="${TORCH_CUDA_ARCH_LIST:-Auto}"
237 + -DUSE_DISTRIBUTED=OFF
238 + -DUSE_FAKELOWP=OFF
239 + -DUSE_FBGEMM=OFF # TODO
240 + -DUSE_FFMPEG=$(usex ffmpeg)
241 + -DUSE_GFLAGS=OFF # TODO
242 + -DUSE_GLOG=OFF # TODO
243 -DUSE_GLOO=OFF
244 - -DUSE_SYSTEM_FP16=ON
245 - -DUSE_FBGEMM=OFF
246 + -DUSE_KINETO=OFF # TODO
247 + -DUSE_LEVELDB=OFF
248 + -DUSE_MAGMA=OFF # TODO: In GURU as sci-libs/magma
249 + -DUSE_MKLDNN=OFF
250 + -DUSE_NCCL=OFF # TODO: NVIDIA Collective Communication Library
251 + -DUSE_NNPACK=$(usex nnpack)
252 + -DUSE_QNNPACK=$(usex qnnpack)
253 + -DUSE_XNNPACK=$(usex xnnpack)
254 + -DUSE_SYSTEM_XNNPACK=$(usex xnnpack)
255 -DUSE_PYTORCH_QNNPACK=OFF
256 - -DUSE_QNNPACK=OFF
257 + -DUSE_NUMPY=$(usex numpy)
258 + -DUSE_OPENCL=$(usex opencl)
259 + -DUSE_OPENCV=$(usex opencv)
260 + -DUSE_OPENMP=$(usex openmp)
261 + -DUSE_ROCM=OFF # TODO
262 -DUSE_SYSTEM_CPUINFO=ON
263 - -DBUILD_CUSTOM_PROTOBUF=OFF
264 - -DUSE_MKLDNN=OFF
265 - -DUSE_NUMPY=OFF
266 - -DUSE_OPENMP=OFF
267 - -DUSE_DISTRIBUTED=OFF
268 - -DUSE_CUDA=OFF
269 - -DUSE_NCCL=OFF
270 + -DUSE_SYSTEM_BIND11=ON
271 + -DPYBIND11_PYTHON_VERSION="${EPYTHON#python}"
272 + -DPYTHON_EXECUTABLE="${PYTHON}"
273 + -DUSE_SYSTEM_EIGEN_INSTALL=ON
274 + -DUSE_SYSTEM_PTHREADPOOL=ON
275 + -DUSE_SYSTEM_FXDIV=ON
276 + -DUSE_SYSTEM_FP16=ON
277 + -DUSE_SYSTEM_ONNX=ON
278 + -DUSE_SYSTEM_SLEEF=ON
279 + -DUSE_TENSORPIPE=OFF
280 +
281 -Wno-dev
282 -DTORCH_INSTALL_LIB_DIR=/usr/$(get_libdir)
283 -DLIBSHM_INSTALL_LIB_SUBDIR=/usr/$(get_libdir)
284 - -DUSE_CCACHE=OFF
285 - -DUSE_SYSTEM_PTHREADPOOL=ON
286 - -DUSE_SYSTEM_FXDIV=ON
287 - -DUSE_XNNPACK=$(usex xnnpack ON OFF)
288 - -DUSE_SYSTEM_XNNPACK=$(usex xnnpack ON OFF)
289 - -DUSE_NNPACK=$(usex nnpack ON OFF)
290 )
291 cmake_src_configure
292 }
293
294 diff --git a/sci-libs/caffe2/files/caffe2-1.11.0-gentoo.patch b/sci-libs/caffe2/files/caffe2-1.11.0-gentoo.patch
295 index b6b35e2329e8..505af5e6695c 100644
296 --- a/sci-libs/caffe2/files/caffe2-1.11.0-gentoo.patch
297 +++ b/sci-libs/caffe2/files/caffe2-1.11.0-gentoo.patch
298 @@ -80,17 +80,6 @@
299 if("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
300 set(OPT_FLAG " ")
301 endif()
302 ---- a/c10/CMakeLists.txt 2022-06-19 09:57:16.776536871 +0200
303 -+++ b/c10/CMakeLists.txt 2022-06-19 09:58:51.663356075 +0200
304 -@@ -107,7 +107,7 @@
305 - # Note: for now, we will put all export path into one single Caffe2Targets group
306 - # to deal with the cmake deployment need. Inside the Caffe2Targets set, the
307 - # individual libraries like libc10.so and libcaffe2.so are still self-contained.
308 --install(TARGETS c10 EXPORT Caffe2Targets DESTINATION lib)
309 -+install(TARGETS c10 EXPORT Caffe2Targets DESTINATION ${CMAKE_INSTALL_LIBDIR})
310 - install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
311 - DESTINATION include
312 - FILES_MATCHING PATTERN "*.h")
313 --- a/caffe2/CMakeLists.txt 2022-07-01 21:56:49.643490049 +0200
314 +++ b/caffe2/CMakeLists.txt 2022-07-01 21:57:17.091489479 +0200
315 @@ -109,7 +109,7 @@
316 @@ -121,3 +110,23 @@
317 if(NOT USE_SYSTEM_PTHREADPOOL AND USE_INTERNAL_PTHREADPOOL_IMPL)
318 set(NNPACK_CUSTOM_THREADPOOL ON CACHE BOOL "")
319 endif()
320 +--- a/cmake/Dependencies.cmake
321 ++++ b/cmake/Dependencies.cmake
322 +@@ -481,7 +481,7 @@ endif()
323 + list(APPEND Caffe2_DEPENDENCY_LIBS cpuinfo)
324 +
325 + # ---[ QNNPACK
326 +-if(USE_QNNPACK)
327 ++if(FALSE)
328 + set(CAFFE2_THIRD_PARTY_ROOT "${PROJECT_SOURCE_DIR}/third_party")
329 +
330 + if(NOT DEFINED QNNPACK_SOURCE_DIR)
331 +@@ -537,7 +537,7 @@ if(USE_QNNPACK)
332 + endif()
333 +
334 + # ---[ Caffe2 Int8 operators (enabled by USE_QNNPACK) depend on gemmlowp and neon2sse headers
335 +-if(USE_QNNPACK)
336 ++if(FALSE)
337 + set(CAFFE2_THIRD_PARTY_ROOT "${PROJECT_SOURCE_DIR}/third_party")
338 + include_directories(SYSTEM "${CAFFE2_THIRD_PARTY_ROOT}/gemmlowp")
339 + include_directories(SYSTEM "${CAFFE2_THIRD_PARTY_ROOT}/neon2sse")
340
341 diff --git a/sci-libs/caffe2/files/caffe2-1.12.0-install-dirs.patch b/sci-libs/caffe2/files/caffe2-1.12.0-install-dirs.patch
342 new file mode 100644
343 index 000000000000..d9c403d5882e
344 --- /dev/null
345 +++ b/sci-libs/caffe2/files/caffe2-1.12.0-install-dirs.patch
346 @@ -0,0 +1,147 @@
347 +--- a/c10/CMakeLists.txt 2022-06-19 09:57:16.776536871 +0200
348 ++++ b/c10/CMakeLists.txt 2022-06-19 09:58:51.663356075 +0200
349 +@@ -107,7 +107,7 @@
350 + # Note: for now, we will put all export path into one single Caffe2Targets group
351 + # to deal with the cmake deployment need. Inside the Caffe2Targets set, the
352 + # individual libraries like libc10.so and libcaffe2.so are still self-contained.
353 +-install(TARGETS c10 EXPORT Caffe2Targets DESTINATION lib)
354 ++install(TARGETS c10 EXPORT Caffe2Targets DESTINATION ${CMAKE_INSTALL_LIBDIR})
355 + install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
356 + DESTINATION include
357 + FILES_MATCHING PATTERN "*.h")
358 +diff --git a/c10/cuda/CMakeLists.txt b/c10/cuda/CMakeLists.txt
359 +index a95bd278e2..4a33b4e4ed 100644
360 +--- a/c10/cuda/CMakeLists.txt
361 ++++ b/c10/cuda/CMakeLists.txt
362 +@@ -63,7 +63,7 @@ add_subdirectory(test)
363 + # Note: for now, we will put all export path into one single Caffe2Targets group
364 + # to deal with the cmake deployment need. Inside the Caffe2Targets set, the
365 + # individual libraries like libc10.so and libcaffe2.so are still self-contained.
366 +-install(TARGETS c10_cuda EXPORT Caffe2Targets DESTINATION lib)
367 ++install(TARGETS c10_cuda EXPORT Caffe2Targets DESTINATION ${CMAKE_INSTALL_LIBDIR})
368 + foreach(file ${C10_CUDA_HEADERS})
369 + get_filename_component( dir ${file} DIRECTORY )
370 + install( FILES ${file} DESTINATION include/c10/cuda/${dir} )
371 +diff --git a/c10/hip/CMakeLists.txt b/c10/hip/CMakeLists.txt
372 +index 6a0e0e41a1..7582c73919 100644
373 +--- a/c10/hip/CMakeLists.txt
374 ++++ b/c10/hip/CMakeLists.txt
375 +@@ -55,7 +55,7 @@ target_include_directories(
376 + add_subdirectory(test)
377 +
378 + # ---[ Installation
379 +-install(TARGETS c10_hip EXPORT Caffe2Targets DESTINATION lib)
380 ++install(TARGETS c10_hip EXPORT Caffe2Targets DESTINATION ${CMAKE_INSTALL_LIBDIR})
381 + install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
382 + DESTINATION include
383 + FILES_MATCHING PATTERN "*.h")
384 +diff --git a/modules/detectron/CMakeLists.txt b/modules/detectron/CMakeLists.txt
385 +index bffc074e39..e1697e65f2 100644
386 +--- a/modules/detectron/CMakeLists.txt
387 ++++ b/modules/detectron/CMakeLists.txt
388 +@@ -17,7 +17,7 @@ if(BUILD_CAFFE2_OPS)
389 +
390 + torch_set_target_props(caffe2_detectron_ops_gpu)
391 + target_link_libraries(caffe2_detectron_ops_gpu torch ${OpenMP_link})
392 +- install(TARGETS caffe2_detectron_ops_gpu DESTINATION lib)
393 ++ install(TARGETS caffe2_detectron_ops_gpu DESTINATION ${CMAKE_INSTALL_LIBDIR})
394 + if(MSVC)
395 + install(FILES $<TARGET_PDB_FILE:caffe2_detectron_ops_gpu> DESTINATION lib OPTIONAL)
396 + endif()
397 +@@ -31,7 +31,7 @@ if(BUILD_CAFFE2_OPS)
398 + torch_set_target_props(caffe2_detectron_ops_hip)
399 + target_compile_options(caffe2_detectron_ops_hip PRIVATE ${HIP_CXX_FLAGS})
400 + target_link_libraries(caffe2_detectron_ops_hip torch)
401 +- install(TARGETS caffe2_detectron_ops_hip DESTINATION lib)
402 ++ install(TARGETS caffe2_detectron_ops_hip DESTINATION ${CMAKE_INSTALL_LIBDIR})
403 + elseif(NOT IOS_PLATFORM)
404 + add_library(caffe2_detectron_ops SHARED ${Detectron_CPU_SRCS})
405 + if(HAVE_SOVERSION)
406 +@@ -40,7 +40,7 @@ if(BUILD_CAFFE2_OPS)
407 + endif()
408 + torch_set_target_props(caffe2_detectron_ops)
409 + target_link_libraries(caffe2_detectron_ops torch ${OpenMP_link})
410 +- install(TARGETS caffe2_detectron_ops DESTINATION lib)
411 ++ install(TARGETS caffe2_detectron_ops DESTINATION ${CMAKE_INSTALL_LIBDIR})
412 + if(MSVC)
413 + install(FILES $<TARGET_PDB_FILE:caffe2_detectron_ops> DESTINATION lib OPTIONAL)
414 + endif()
415 +diff --git a/modules/module_test/CMakeLists.txt b/modules/module_test/CMakeLists.txt
416 +index f72120d535..c293ce025d 100644
417 +--- a/modules/module_test/CMakeLists.txt
418 ++++ b/modules/module_test/CMakeLists.txt
419 +@@ -16,7 +16,7 @@ if(BUILD_TEST AND NOT BUILD_LITE_INTERPRETER)
420 + VERSION ${TORCH_VERSION} SOVERSION ${TORCH_SOVERSION})
421 + endif()
422 + target_link_libraries(caffe2_module_test_dynamic torch_library)
423 +- install(TARGETS caffe2_module_test_dynamic DESTINATION lib)
424 ++ install(TARGETS caffe2_module_test_dynamic DESTINATION ${CMAKE_INSTALL_LIBDIR})
425 + if(MSVC AND BUILD_SHARED_LIBS)
426 + install(FILES $<TARGET_PDB_FILE:caffe2_module_test_dynamic> DESTINATION lib OPTIONAL)
427 + endif()
428 +diff --git a/modules/observers/CMakeLists.txt b/modules/observers/CMakeLists.txt
429 +index 050b8a1461..0309a273b7 100644
430 +--- a/modules/observers/CMakeLists.txt
431 ++++ b/modules/observers/CMakeLists.txt
432 +@@ -21,7 +21,7 @@ endif()
433 + target_link_libraries(caffe2_observers PUBLIC torch_library)
434 + target_include_directories(caffe2_observers PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/..)
435 + target_compile_options(caffe2_observers PRIVATE "-DCAFFE2_BUILD_OBSERVER_LIB")
436 +-install(TARGETS caffe2_observers DESTINATION lib)
437 ++install(TARGETS caffe2_observers DESTINATION ${CMAKE_INSTALL_LIBDIR})
438 + caffe2_interface_library(caffe2_observers caffe2_observers_library)
439 + if(MSVC AND BUILD_SHARED_LIBS)
440 + install(FILES $<TARGET_PDB_FILE:caffe2_observers> DESTINATION lib OPTIONAL)
441 +diff --git a/modules/rocksdb/CMakeLists.txt b/modules/rocksdb/CMakeLists.txt
442 +index 78651989aa..52bfd149a2 100644
443 +--- a/modules/rocksdb/CMakeLists.txt
444 ++++ b/modules/rocksdb/CMakeLists.txt
445 +@@ -59,7 +59,7 @@ add_library(caffe2_rocksdb ${CMAKE_CURRENT_SOURCE_DIR}/rocksdb.cc)
446 + target_link_libraries(caffe2_rocksdb PUBLIC torch_library)
447 + target_link_libraries(caffe2_rocksdb PRIVATE ${RocksDB_LIBRARIES})
448 + target_include_directories(caffe2_rocksdb PRIVATE ${RocksDB_INCLUDE_DIR})
449 +-install(TARGETS caffe2_rocksdb DESTINATION lib)
450 ++install(TARGETS caffe2_rocksdb DESTINATION ${CMAKE_INSTALL_LIBDIR})
451 +
452 + # ---[ Last, Append the library to Caffe2_MODULES, if we are building with
453 + # the main repo.
454 +diff --git a/test/cpp/c10d/CMakeLists.txt b/test/cpp/c10d/CMakeLists.txt
455 +index bf91460c4b..ebbd476fa9 100644
456 +--- a/test/cpp/c10d/CMakeLists.txt
457 ++++ b/test/cpp/c10d/CMakeLists.txt
458 +@@ -51,7 +51,7 @@ if(USE_CUDA)
459 + if(INSTALL_TEST)
460 + install(TARGETS ProcessGroupNCCLTest DESTINATION bin)
461 + install(TARGETS ProcessGroupNCCLErrorsTest DESTINATION bin)
462 +- install(TARGETS c10d_cuda_test DESTINATION lib)
463 ++ install(TARGETS c10d_cuda_test DESTINATION ${CMAKE_INSTALL_LIBDIR})
464 + endif()
465 + endif()
466 + else()
467 +diff --git a/test/cpp/jit/CMakeLists.txt b/test/cpp/jit/CMakeLists.txt
468 +index 60b43b81fc..9cf34a1620 100644
469 +--- a/test/cpp/jit/CMakeLists.txt
470 ++++ b/test/cpp/jit/CMakeLists.txt
471 +@@ -32,9 +32,9 @@ endif()
472 + target_link_libraries(backend_with_compiler torch)
473 +
474 + if(INSTALL_TEST)
475 +- install(TARGETS torchbind_test DESTINATION lib)
476 +- install(TARGETS jitbackend_test DESTINATION lib)
477 +- install(TARGETS backend_with_compiler DESTINATION lib)
478 ++ install(TARGETS torchbind_test DESTINATION ${CMAKE_INSTALL_LIBDIR})
479 ++ install(TARGETS jitbackend_test DESTINATION ${CMAKE_INSTALL_LIBDIR})
480 ++ install(TARGETS backend_with_compiler DESTINATION ${CMAKE_INSTALL_LIBDIR})
481 + endif()
482 +
483 + # Build the cpp gtest binary containing the cpp-only tests.
484 +diff --git a/torch/csrc/deploy/CMakeLists.txt b/torch/csrc/deploy/CMakeLists.txt
485 +index 61fe8c1bb8..28575979dd 100644
486 +--- a/torch/csrc/deploy/CMakeLists.txt
487 ++++ b/torch/csrc/deploy/CMakeLists.txt
488 +@@ -80,4 +80,4 @@ if(INSTALL_TEST)
489 + install(TARGETS test_deploy_gpu DESTINATION bin)
490 + endif()
491 +
492 +-install(TARGETS torch_deploy DESTINATION lib)
493 ++install(TARGETS torch_deploy DESTINATION ${CMAKE_INSTALL_LIBDIR})
494
495 diff --git a/sci-libs/caffe2/metadata.xml b/sci-libs/caffe2/metadata.xml
496 index da10df6e0739..48cf68b11224 100644
497 --- a/sci-libs/caffe2/metadata.xml
498 +++ b/sci-libs/caffe2/metadata.xml
499 @@ -6,7 +6,13 @@
500 <name>Tupone Alfredo</name>
501 </maintainer>
502 <use>
503 + <flag name="ffmpeg">Add support for video processing operators</flag>
504 <flag name="nnpack">Use NNPACK</flag>
505 + <flag name="numpy">Add support for math operations through numpy</flag>
506 + <flag name="opencl">Use OpenCL</flag>
507 + <flag name="opencv">Add support for image processing operators</flag>
508 + <flag name="openmp">Use OpenMP for parallel code</flag>
509 + <flag name="qnnpack">Use QNNPACK</flag>
510 <flag name="xnnpack">Use XNNPACK</flag>
511 </use>
512 <upstream>