summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Beddek <telans@posteo.de>2022-07-03 18:47:31 +1200
committerAlfredo Tupone <tupone@gentoo.org>2022-07-03 11:56:50 +0200
commit7a3d0a4e3007f19ff60d86b8bcfbf40323c610aa (patch)
tree264e8b886fed9c2740b3db44550fecff9ab901b4 /sci-libs
parentdev-libs/apr-util: update maintainers (diff)
downloadgentoo-7a3d0a4e3007f19ff60d86b8bcfbf40323c610aa.tar.gz
gentoo-7a3d0a4e3007f19ff60d86b8bcfbf40323c610aa.tar.bz2
gentoo-7a3d0a4e3007f19ff60d86b8bcfbf40323c610aa.zip
sci-libs/caffe2: add 1.12.0
add support fot QNNPACK, dev-python/numpy, opencv, ffmpeg, openmp, opencl add patch to fix install dirs Signed-off-by: James Beddek <telans@posteo.de> Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/caffe2/Manifest1
-rw-r--r--sci-libs/caffe2/caffe2-1.11.0-r2.ebuild84
-rw-r--r--sci-libs/caffe2/caffe2-1.12.0.ebuild138
-rw-r--r--sci-libs/caffe2/files/caffe2-1.11.0-gentoo.patch31
-rw-r--r--sci-libs/caffe2/files/caffe2-1.12.0-install-dirs.patch147
-rw-r--r--sci-libs/caffe2/metadata.xml6
6 files changed, 371 insertions, 36 deletions
diff --git a/sci-libs/caffe2/Manifest b/sci-libs/caffe2/Manifest
index ae4d5567b7fc..0d28654e641f 100644
--- a/sci-libs/caffe2/Manifest
+++ b/sci-libs/caffe2/Manifest
@@ -1 +1,2 @@
DIST pytorch-1.11.0.tar.gz 20719323 BLAKE2B 24e7aaa2c26821d36f8092542de9d8d5ac85a619fb9fffb5131987958842afb1cad395780662d15f3411a7cc6ff83a445871960eca1e469fcbf0b9895d83d6e0 SHA512 2342eb7a1a241f5855a7cf12e11f62bc4baaa78d1d0864e53bfc946e783eb4addd05ca154a814d2376cd602098b5547e61c158d6eddb7cad5a9f3b0c1357adca
+DIST pytorch-1.12.0.tar.gz 106286765 BLAKE2B ff9bafedb35f859f7dccb9b606299cf9c345bdaa0deb87ecfe0c0c30c3c828414d989e1d9a243d9b7cd3f376d56a2f81c241ca2e3c9a8a2b30cddcdeddd3a5c7 SHA512 c9c748a2e0047daaaf199a1ba3198d2d1aee47f664170a9b34ccacd3deeb95f2070e4035eeb900012ef48dc62cf6fb6806f1a1dfe22de8c94892963076e593b7
diff --git a/sci-libs/caffe2/caffe2-1.11.0-r2.ebuild b/sci-libs/caffe2/caffe2-1.11.0-r2.ebuild
index c59a498341cd..d45e26d90d6d 100644
--- a/sci-libs/caffe2/caffe2-1.11.0-r2.ebuild
+++ b/sci-libs/caffe2/caffe2-1.11.0-r2.ebuild
@@ -17,23 +17,35 @@ SRC_URI="https://github.com/pytorch/${MYPN}/archive/refs/tags/v${PV}.tar.gz
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64"
+IUSE="ffmpeg nnpack +numpy opencl opencv openmp qnnpack xnnpack"
RESTRICT="test"
-IUSE="nnpack xnnpack"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ffmpeg? ( opencv )
+"
RDEPEND="
${PYTHON_DEPS}
dev-libs/cpuinfo
dev-libs/libfmt
dev-libs/protobuf
+ dev-libs/pthreadpool
dev-libs/sleef
sci-libs/lapack
sci-libs/onnx
sci-libs/foxi
+ ffmpeg? ( media-video/ffmpeg:= )
nnpack? ( sci-libs/NNPACK )
+ numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ opencl? ( virtual/opencl )
+ opencv? ( media-libs/opencv:= )
+ qnnpack? ( sci-libs/QNNPACK )
xnnpack? ( sci-libs/XNNPACK )
"
-DEPEND="${RDEPEND}
+DEPEND="
+ ${RDEPEND}
+ dev-cpp/eigen
+ dev-libs/psimd
dev-libs/FP16
dev-libs/pocketfft
dev-libs/flatbuffers
@@ -43,7 +55,10 @@ DEPEND="${RDEPEND}
S="${WORKDIR}"/${MYP}
-PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.11.0-gentoo.patch
+ "${FILESDIR}"/${PN}-1.12.0-install-dirs.patch
+)
src_prepare() {
cmake_src_prepare
@@ -55,33 +70,52 @@ src_prepare() {
src_configure() {
python_setup
local mycmakeargs=(
- -DUSE_KINETO=OFF
- -DUSE_SYSTEM_SLEEF=ON
- -DUSE_BREAKPAD=OFF
- -DUSE_SYSTEM_ONNX=ON
- -DUSE_TENSORPIPE=OFF
+ -DBUILD_CUSTOM_PROTOBUF=OFF
+ -DBUILD_SHARED_LIBS=ON
+
+ -DUSE_CCACHE=OFF
+ -DUSE_CUDA=OFF # TODO
+ -DUSE_CUDNN=OFF # TODO
+ -DUSE_FAST_NVCC=OFF # TODO
+ #-DCUDA_ARCH_LIST="${TORCH_CUDA_ARCH_LIST:-Auto}"
+ -DUSE_DISTRIBUTED=OFF
+ -DUSE_FAKELOWP=OFF
+ -DUSE_FBGEMM=OFF # TODO
+ -DUSE_FFMPEG=$(usex ffmpeg)
+ -DUSE_GFLAGS=OFF # TODO
+ -DUSE_GLOG=OFF # TODO
-DUSE_GLOO=OFF
- -DUSE_SYSTEM_FP16=ON
- -DUSE_FBGEMM=OFF
+ -DUSE_KINETO=OFF # TODO
+ -DUSE_LEVELDB=OFF
+ -DUSE_MAGMA=OFF # TODO: In GURU as sci-libs/magma
+ -DUSE_MKLDNN=OFF
+ -DUSE_NCCL=OFF # TODO: NVIDIA Collective Communication Library
+ -DUSE_NNPACK=$(usex nnpack)
+ -DUSE_QNNPACK=$(usex qnnpack)
+ -DUSE_XNNPACK=$(usex xnnpack)
+ -DUSE_SYSTEM_XNNPACK=$(usex xnnpack)
-DUSE_PYTORCH_QNNPACK=OFF
- -DUSE_QNNPACK=OFF
+ -DUSE_NUMPY=$(usex numpy)
+ -DUSE_OPENCL=$(usex opencl)
+ -DUSE_OPENCV=$(usex opencv)
+ -DUSE_OPENMP=$(usex openmp)
+ -DUSE_ROCM=OFF # TODO
-DUSE_SYSTEM_CPUINFO=ON
- -DBUILD_CUSTOM_PROTOBUF=OFF
- -DUSE_MKLDNN=OFF
- -DUSE_NUMPY=OFF
- -DUSE_OPENMP=OFF
- -DUSE_DISTRIBUTED=OFF
- -DUSE_CUDA=OFF
- -DUSE_NCCL=OFF
+ -DUSE_BREAKPAD=OFF # TODO
+ -DUSE_SYSTEM_BIND11=ON
+ -DPYBIND11_PYTHON_VERSION="${EPYTHON#python}"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DUSE_SYSTEM_EIGEN_INSTALL=ON
+ -DUSE_SYSTEM_PTHREADPOOL=ON
+ -DUSE_SYSTEM_FXDIV=ON
+ -DUSE_SYSTEM_FP16=ON
+ -DUSE_SYSTEM_ONNX=ON
+ -DUSE_SYSTEM_SLEEF=ON
+ -DUSE_TENSORPIPE=OFF
+
-Wno-dev
-DTORCH_INSTALL_LIB_DIR=/usr/$(get_libdir)
-DLIBSHM_INSTALL_LIB_SUBDIR=/usr/$(get_libdir)
- -DUSE_CCACHE=OFF
- -DUSE_SYSTEM_PTHREADPOOL=ON
- -DUSE_SYSTEM_FXDIV=ON
- -DUSE_XNNPACK=$(usex xnnpack ON OFF)
- -DUSE_SYSTEM_XNNPACK=$(usex xnnpack ON OFF)
- -DUSE_NNPACK=$(usex nnpack ON OFF)
)
cmake_src_configure
}
diff --git a/sci-libs/caffe2/caffe2-1.12.0.ebuild b/sci-libs/caffe2/caffe2-1.12.0.ebuild
new file mode 100644
index 000000000000..c1e033bbfc7b
--- /dev/null
+++ b/sci-libs/caffe2/caffe2-1.12.0.ebuild
@@ -0,0 +1,138 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit python-r1 cmake
+
+MYPN=pytorch
+MYP=${MYPN}-${PV}
+
+DESCRIPTION="A deep learning framework"
+HOMEPAGE="https://pytorch.org/"
+SRC_URI="https://github.com/pytorch/${MYPN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${MYP}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="ffmpeg nnpack +numpy opencl opencv openmp qnnpack xnnpack"
+RESTRICT="test"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ffmpeg? ( opencv )
+"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-libs/cpuinfo
+ dev-libs/libfmt
+ dev-libs/protobuf
+ dev-libs/pthreadpool
+ dev-libs/sleef
+ sci-libs/lapack
+ sci-libs/onnx
+ sci-libs/foxi
+ ffmpeg? ( media-video/ffmpeg:= )
+ nnpack? ( sci-libs/NNPACK )
+ numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ opencl? ( virtual/opencl )
+ opencv? ( media-libs/opencv:= )
+ qnnpack? ( sci-libs/QNNPACK )
+ xnnpack? ( sci-libs/XNNPACK )
+"
+DEPEND="
+ ${RDEPEND}
+ dev-cpp/eigen
+ dev-libs/psimd
+ dev-libs/FP16
+ dev-libs/pocketfft
+ dev-libs/flatbuffers
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/pybind11[${PYTHON_USEDEP}]
+"
+
+S="${WORKDIR}"/${MYP}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.11.0-gentoo.patch
+ "${FILESDIR}"/${PN}-1.12.0-install-dirs.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+ pushd torch/csrc/jit/serialization || die
+ flatc --cpp --gen-mutable --scoped-enums mobile_bytecode.fbs || die
+ popd
+}
+
+src_configure() {
+ python_setup
+ local mycmakeargs=(
+ -DBUILD_CUSTOM_PROTOBUF=OFF
+ -DBUILD_SHARED_LIBS=ON
+
+ -DUSE_CCACHE=OFF
+ -DUSE_CUDA=OFF # TODO
+ -DUSE_CUDNN=OFF # TODO
+ -DUSE_FAST_NVCC=OFF # TODO
+ #-DCUDA_ARCH_LIST="${TORCH_CUDA_ARCH_LIST:-Auto}"
+ -DUSE_DISTRIBUTED=OFF
+ -DUSE_FAKELOWP=OFF
+ -DUSE_FBGEMM=OFF # TODO
+ -DUSE_FFMPEG=$(usex ffmpeg)
+ -DUSE_GFLAGS=OFF # TODO
+ -DUSE_GLOG=OFF # TODO
+ -DUSE_GLOO=OFF
+ -DUSE_KINETO=OFF # TODO
+ -DUSE_LEVELDB=OFF
+ -DUSE_MAGMA=OFF # TODO: In GURU as sci-libs/magma
+ -DUSE_MKLDNN=OFF
+ -DUSE_NCCL=OFF # TODO: NVIDIA Collective Communication Library
+ -DUSE_NNPACK=$(usex nnpack)
+ -DUSE_QNNPACK=$(usex qnnpack)
+ -DUSE_XNNPACK=$(usex xnnpack)
+ -DUSE_SYSTEM_XNNPACK=$(usex xnnpack)
+ -DUSE_PYTORCH_QNNPACK=OFF
+ -DUSE_NUMPY=$(usex numpy)
+ -DUSE_OPENCL=$(usex opencl)
+ -DUSE_OPENCV=$(usex opencv)
+ -DUSE_OPENMP=$(usex openmp)
+ -DUSE_ROCM=OFF # TODO
+ -DUSE_SYSTEM_CPUINFO=ON
+ -DUSE_SYSTEM_BIND11=ON
+ -DPYBIND11_PYTHON_VERSION="${EPYTHON#python}"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DUSE_SYSTEM_EIGEN_INSTALL=ON
+ -DUSE_SYSTEM_PTHREADPOOL=ON
+ -DUSE_SYSTEM_FXDIV=ON
+ -DUSE_SYSTEM_FP16=ON
+ -DUSE_SYSTEM_ONNX=ON
+ -DUSE_SYSTEM_SLEEF=ON
+ -DUSE_TENSORPIPE=OFF
+
+ -Wno-dev
+ -DTORCH_INSTALL_LIB_DIR=/usr/$(get_libdir)
+ -DLIBSHM_INSTALL_LIB_SUBDIR=/usr/$(get_libdir)
+ )
+ cmake_src_configure
+}
+
+python_install() {
+ python_domodule python/caffe2
+ python_domodule python/torch
+}
+
+src_install() {
+ cmake_src_install
+
+ insinto "/var/lib/${PN}"
+ doins "${BUILD_DIR}"/CMakeCache.txt
+
+ rm -rf python
+ mkdir -p python/torch || die
+ mv "${D}"/usr/lib/python*/site-packages/caffe2 python/ || die
+ cp torch/version.py python/torch/ || die
+ python_foreach_impl python_install
+}
diff --git a/sci-libs/caffe2/files/caffe2-1.11.0-gentoo.patch b/sci-libs/caffe2/files/caffe2-1.11.0-gentoo.patch
index b6b35e2329e8..505af5e6695c 100644
--- a/sci-libs/caffe2/files/caffe2-1.11.0-gentoo.patch
+++ b/sci-libs/caffe2/files/caffe2-1.11.0-gentoo.patch
@@ -80,17 +80,6 @@
if("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
set(OPT_FLAG " ")
endif()
---- a/c10/CMakeLists.txt 2022-06-19 09:57:16.776536871 +0200
-+++ b/c10/CMakeLists.txt 2022-06-19 09:58:51.663356075 +0200
-@@ -107,7 +107,7 @@
- # Note: for now, we will put all export path into one single Caffe2Targets group
- # to deal with the cmake deployment need. Inside the Caffe2Targets set, the
- # individual libraries like libc10.so and libcaffe2.so are still self-contained.
--install(TARGETS c10 EXPORT Caffe2Targets DESTINATION lib)
-+install(TARGETS c10 EXPORT Caffe2Targets DESTINATION ${CMAKE_INSTALL_LIBDIR})
- install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
- DESTINATION include
- FILES_MATCHING PATTERN "*.h")
--- a/caffe2/CMakeLists.txt 2022-07-01 21:56:49.643490049 +0200
+++ b/caffe2/CMakeLists.txt 2022-07-01 21:57:17.091489479 +0200
@@ -109,7 +109,7 @@
@@ -121,3 +110,23 @@
if(NOT USE_SYSTEM_PTHREADPOOL AND USE_INTERNAL_PTHREADPOOL_IMPL)
set(NNPACK_CUSTOM_THREADPOOL ON CACHE BOOL "")
endif()
+--- a/cmake/Dependencies.cmake
++++ b/cmake/Dependencies.cmake
+@@ -481,7 +481,7 @@ endif()
+ list(APPEND Caffe2_DEPENDENCY_LIBS cpuinfo)
+
+ # ---[ QNNPACK
+-if(USE_QNNPACK)
++if(FALSE)
+ set(CAFFE2_THIRD_PARTY_ROOT "${PROJECT_SOURCE_DIR}/third_party")
+
+ if(NOT DEFINED QNNPACK_SOURCE_DIR)
+@@ -537,7 +537,7 @@ if(USE_QNNPACK)
+ endif()
+
+ # ---[ Caffe2 Int8 operators (enabled by USE_QNNPACK) depend on gemmlowp and neon2sse headers
+-if(USE_QNNPACK)
++if(FALSE)
+ set(CAFFE2_THIRD_PARTY_ROOT "${PROJECT_SOURCE_DIR}/third_party")
+ include_directories(SYSTEM "${CAFFE2_THIRD_PARTY_ROOT}/gemmlowp")
+ include_directories(SYSTEM "${CAFFE2_THIRD_PARTY_ROOT}/neon2sse")
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
new file mode 100644
index 000000000000..d9c403d5882e
--- /dev/null
+++ b/sci-libs/caffe2/files/caffe2-1.12.0-install-dirs.patch
@@ -0,0 +1,147 @@
+--- a/c10/CMakeLists.txt 2022-06-19 09:57:16.776536871 +0200
++++ b/c10/CMakeLists.txt 2022-06-19 09:58:51.663356075 +0200
+@@ -107,7 +107,7 @@
+ # Note: for now, we will put all export path into one single Caffe2Targets group
+ # to deal with the cmake deployment need. Inside the Caffe2Targets set, the
+ # individual libraries like libc10.so and libcaffe2.so are still self-contained.
+-install(TARGETS c10 EXPORT Caffe2Targets DESTINATION lib)
++install(TARGETS c10 EXPORT Caffe2Targets DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
+ DESTINATION include
+ FILES_MATCHING PATTERN "*.h")
+diff --git a/c10/cuda/CMakeLists.txt b/c10/cuda/CMakeLists.txt
+index a95bd278e2..4a33b4e4ed 100644
+--- a/c10/cuda/CMakeLists.txt
++++ b/c10/cuda/CMakeLists.txt
+@@ -63,7 +63,7 @@ add_subdirectory(test)
+ # Note: for now, we will put all export path into one single Caffe2Targets group
+ # to deal with the cmake deployment need. Inside the Caffe2Targets set, the
+ # individual libraries like libc10.so and libcaffe2.so are still self-contained.
+-install(TARGETS c10_cuda EXPORT Caffe2Targets DESTINATION lib)
++install(TARGETS c10_cuda EXPORT Caffe2Targets DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ foreach(file ${C10_CUDA_HEADERS})
+ get_filename_component( dir ${file} DIRECTORY )
+ install( FILES ${file} DESTINATION include/c10/cuda/${dir} )
+diff --git a/c10/hip/CMakeLists.txt b/c10/hip/CMakeLists.txt
+index 6a0e0e41a1..7582c73919 100644
+--- a/c10/hip/CMakeLists.txt
++++ b/c10/hip/CMakeLists.txt
+@@ -55,7 +55,7 @@ target_include_directories(
+ add_subdirectory(test)
+
+ # ---[ Installation
+-install(TARGETS c10_hip EXPORT Caffe2Targets DESTINATION lib)
++install(TARGETS c10_hip EXPORT Caffe2Targets DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
+ DESTINATION include
+ FILES_MATCHING PATTERN "*.h")
+diff --git a/modules/detectron/CMakeLists.txt b/modules/detectron/CMakeLists.txt
+index bffc074e39..e1697e65f2 100644
+--- a/modules/detectron/CMakeLists.txt
++++ b/modules/detectron/CMakeLists.txt
+@@ -17,7 +17,7 @@ if(BUILD_CAFFE2_OPS)
+
+ torch_set_target_props(caffe2_detectron_ops_gpu)
+ target_link_libraries(caffe2_detectron_ops_gpu torch ${OpenMP_link})
+- install(TARGETS caffe2_detectron_ops_gpu DESTINATION lib)
++ install(TARGETS caffe2_detectron_ops_gpu DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ if(MSVC)
+ install(FILES $<TARGET_PDB_FILE:caffe2_detectron_ops_gpu> DESTINATION lib OPTIONAL)
+ endif()
+@@ -31,7 +31,7 @@ if(BUILD_CAFFE2_OPS)
+ torch_set_target_props(caffe2_detectron_ops_hip)
+ target_compile_options(caffe2_detectron_ops_hip PRIVATE ${HIP_CXX_FLAGS})
+ target_link_libraries(caffe2_detectron_ops_hip torch)
+- install(TARGETS caffe2_detectron_ops_hip DESTINATION lib)
++ install(TARGETS caffe2_detectron_ops_hip DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ elseif(NOT IOS_PLATFORM)
+ add_library(caffe2_detectron_ops SHARED ${Detectron_CPU_SRCS})
+ if(HAVE_SOVERSION)
+@@ -40,7 +40,7 @@ if(BUILD_CAFFE2_OPS)
+ endif()
+ torch_set_target_props(caffe2_detectron_ops)
+ target_link_libraries(caffe2_detectron_ops torch ${OpenMP_link})
+- install(TARGETS caffe2_detectron_ops DESTINATION lib)
++ install(TARGETS caffe2_detectron_ops DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ if(MSVC)
+ install(FILES $<TARGET_PDB_FILE:caffe2_detectron_ops> DESTINATION lib OPTIONAL)
+ endif()
+diff --git a/modules/module_test/CMakeLists.txt b/modules/module_test/CMakeLists.txt
+index f72120d535..c293ce025d 100644
+--- a/modules/module_test/CMakeLists.txt
++++ b/modules/module_test/CMakeLists.txt
+@@ -16,7 +16,7 @@ if(BUILD_TEST AND NOT BUILD_LITE_INTERPRETER)
+ VERSION ${TORCH_VERSION} SOVERSION ${TORCH_SOVERSION})
+ endif()
+ target_link_libraries(caffe2_module_test_dynamic torch_library)
+- install(TARGETS caffe2_module_test_dynamic DESTINATION lib)
++ install(TARGETS caffe2_module_test_dynamic DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ if(MSVC AND BUILD_SHARED_LIBS)
+ install(FILES $<TARGET_PDB_FILE:caffe2_module_test_dynamic> DESTINATION lib OPTIONAL)
+ endif()
+diff --git a/modules/observers/CMakeLists.txt b/modules/observers/CMakeLists.txt
+index 050b8a1461..0309a273b7 100644
+--- a/modules/observers/CMakeLists.txt
++++ b/modules/observers/CMakeLists.txt
+@@ -21,7 +21,7 @@ endif()
+ target_link_libraries(caffe2_observers PUBLIC torch_library)
+ target_include_directories(caffe2_observers PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/..)
+ target_compile_options(caffe2_observers PRIVATE "-DCAFFE2_BUILD_OBSERVER_LIB")
+-install(TARGETS caffe2_observers DESTINATION lib)
++install(TARGETS caffe2_observers DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ caffe2_interface_library(caffe2_observers caffe2_observers_library)
+ if(MSVC AND BUILD_SHARED_LIBS)
+ install(FILES $<TARGET_PDB_FILE:caffe2_observers> DESTINATION lib OPTIONAL)
+diff --git a/modules/rocksdb/CMakeLists.txt b/modules/rocksdb/CMakeLists.txt
+index 78651989aa..52bfd149a2 100644
+--- a/modules/rocksdb/CMakeLists.txt
++++ b/modules/rocksdb/CMakeLists.txt
+@@ -59,7 +59,7 @@ add_library(caffe2_rocksdb ${CMAKE_CURRENT_SOURCE_DIR}/rocksdb.cc)
+ target_link_libraries(caffe2_rocksdb PUBLIC torch_library)
+ target_link_libraries(caffe2_rocksdb PRIVATE ${RocksDB_LIBRARIES})
+ target_include_directories(caffe2_rocksdb PRIVATE ${RocksDB_INCLUDE_DIR})
+-install(TARGETS caffe2_rocksdb DESTINATION lib)
++install(TARGETS caffe2_rocksdb DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+ # ---[ Last, Append the library to Caffe2_MODULES, if we are building with
+ # the main repo.
+diff --git a/test/cpp/c10d/CMakeLists.txt b/test/cpp/c10d/CMakeLists.txt
+index bf91460c4b..ebbd476fa9 100644
+--- a/test/cpp/c10d/CMakeLists.txt
++++ b/test/cpp/c10d/CMakeLists.txt
+@@ -51,7 +51,7 @@ if(USE_CUDA)
+ if(INSTALL_TEST)
+ install(TARGETS ProcessGroupNCCLTest DESTINATION bin)
+ install(TARGETS ProcessGroupNCCLErrorsTest DESTINATION bin)
+- install(TARGETS c10d_cuda_test DESTINATION lib)
++ install(TARGETS c10d_cuda_test DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ endif()
+ endif()
+ else()
+diff --git a/test/cpp/jit/CMakeLists.txt b/test/cpp/jit/CMakeLists.txt
+index 60b43b81fc..9cf34a1620 100644
+--- a/test/cpp/jit/CMakeLists.txt
++++ b/test/cpp/jit/CMakeLists.txt
+@@ -32,9 +32,9 @@ endif()
+ target_link_libraries(backend_with_compiler torch)
+
+ if(INSTALL_TEST)
+- install(TARGETS torchbind_test DESTINATION lib)
+- install(TARGETS jitbackend_test DESTINATION lib)
+- install(TARGETS backend_with_compiler DESTINATION lib)
++ install(TARGETS torchbind_test DESTINATION ${CMAKE_INSTALL_LIBDIR})
++ install(TARGETS jitbackend_test DESTINATION ${CMAKE_INSTALL_LIBDIR})
++ install(TARGETS backend_with_compiler DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ endif()
+
+ # Build the cpp gtest binary containing the cpp-only tests.
+diff --git a/torch/csrc/deploy/CMakeLists.txt b/torch/csrc/deploy/CMakeLists.txt
+index 61fe8c1bb8..28575979dd 100644
+--- a/torch/csrc/deploy/CMakeLists.txt
++++ b/torch/csrc/deploy/CMakeLists.txt
+@@ -80,4 +80,4 @@ if(INSTALL_TEST)
+ install(TARGETS test_deploy_gpu DESTINATION bin)
+ endif()
+
+-install(TARGETS torch_deploy DESTINATION lib)
++install(TARGETS torch_deploy DESTINATION ${CMAKE_INSTALL_LIBDIR})
diff --git a/sci-libs/caffe2/metadata.xml b/sci-libs/caffe2/metadata.xml
index da10df6e0739..48cf68b11224 100644
--- a/sci-libs/caffe2/metadata.xml
+++ b/sci-libs/caffe2/metadata.xml
@@ -6,7 +6,13 @@
<name>Tupone Alfredo</name>
</maintainer>
<use>
+ <flag name="ffmpeg">Add support for video processing operators</flag>
<flag name="nnpack">Use NNPACK</flag>
+ <flag name="numpy">Add support for math operations through numpy</flag>
+ <flag name="opencl">Use OpenCL</flag>
+ <flag name="opencv">Add support for image processing operators</flag>
+ <flag name="openmp">Use OpenMP for parallel code</flag>
+ <flag name="qnnpack">Use QNNPACK</flag>
<flag name="xnnpack">Use XNNPACK</flag>
</use>
<upstream>