From b728da4a9ae43bb6dae6f777d449416a1ffbf164 Mon Sep 17 00:00:00 2001
From: j1nx
Date: Thu, 5 Jan 2023 11:11:12 +0100
Subject: [PATCH] Add deepfilternet ladspa plugin / library for denoising
---
.../configs/rpi3_64-gui_defconfig | 1 +
.../configs/rpi4_64-gui_defconfig | 1 +
.../deepfilternet-ladspa.mk | 13 ++--
.../hdf5/0002-CMakeInstallation.cmake.patch | 76 +++++++++++++++++++
4 files changed, 84 insertions(+), 7 deletions(-)
create mode 100644 buildroot-external/package/hdf5/0002-CMakeInstallation.cmake.patch
diff --git a/buildroot-external/configs/rpi3_64-gui_defconfig b/buildroot-external/configs/rpi3_64-gui_defconfig
index 380ec24a..f5206acf 100644
--- a/buildroot-external/configs/rpi3_64-gui_defconfig
+++ b/buildroot-external/configs/rpi3_64-gui_defconfig
@@ -545,6 +545,7 @@ BR2_PACKAGE_HOST_RUSTC=y
BR2_PACKAGE_HOST_RUST=y
BR2_PACKAGE_BARESIP=y
BR2_PACKAGE_BTSPEAKER=y
+BR2_PACKAGE_DEEPFILTERNET_LADSPA=y
BR2_PACKAGE_FANN=y
BR2_PACKAGE_GROWDISK_SERVICE=y
BR2_PACKAGE_HOSTNAME_SERVICE=y
diff --git a/buildroot-external/configs/rpi4_64-gui_defconfig b/buildroot-external/configs/rpi4_64-gui_defconfig
index 5c6baa9b..b8ad50b2 100644
--- a/buildroot-external/configs/rpi4_64-gui_defconfig
+++ b/buildroot-external/configs/rpi4_64-gui_defconfig
@@ -545,6 +545,7 @@ BR2_PACKAGE_HOST_RUSTC=y
BR2_PACKAGE_HOST_RUST=y
BR2_PACKAGE_BARESIP=y
BR2_PACKAGE_BTSPEAKER=y
+BR2_PACKAGE_DEEPFILTERNET_LADSPA=y
BR2_PACKAGE_FANN=y
BR2_PACKAGE_GROWDISK_SERVICE=y
BR2_PACKAGE_HOSTNAME_SERVICE=y
diff --git a/buildroot-external/package/deepfilternet-ladspa/deepfilternet-ladspa.mk b/buildroot-external/package/deepfilternet-ladspa/deepfilternet-ladspa.mk
index b6889cad..45743ba6 100644
--- a/buildroot-external/package/deepfilternet-ladspa/deepfilternet-ladspa.mk
+++ b/buildroot-external/package/deepfilternet-ladspa/deepfilternet-ladspa.mk
@@ -6,18 +6,17 @@
DEEPFILTERNET_LADSPA_VERSION = 27b5f07be6caba1abec7907fcca89ba906732800
DEEPFILTERNET_LADSPA_SITE = $(call github,Rikorose,DeepFilterNet,$(DEEPFILTERNET_LADSPA_VERSION))
-
+DEEPFILTERNET_LADSPA_SUBDIR = ladspa
DEEPFILTERNET_LADSPA_DEPENDENCIES = host-rustc host-pkgconf hdf5
DEEPFILTERNET_LADSPA_CARGO_ENV = PKG_CONFIG_ALLOW_CROSS=1
DEEPFILTERNET_LADSPA_BIN_DIR = target/$(RUSTC_TARGET_NAME)/release
-#define DEEPFILTERNET_LADSPA_INSTALL_TARGET_CMDS
-# $(INSTALL) -D -m 0755 $(@D)/$(DEEPFILTERNET_LADSPA_BIN_DIR)/DEEPFILTERNET_LADSPA \
-# $(TARGET_DIR)/usr/bin/DEEPFILTERNET_LADSPA
-# $(INSTALL) -D -m 0644 $(BR2_EXTERNAL_OPENVOICEOS_PATH)/package/DEEPFILTERNET_LADSPA/DEEPFILTERNET_LADSPA.conf \
-# $(TARGET_DIR)/etc/DEEPFILTERNET_LADSPA.conf
-#endef
+define DEEPFILTERNET_LADSPA_INSTALL_TARGET_CMDS
+ mkdir -p $(TARGET_DIR)/usr/lib/ladspa
+ $(INSTALL) -D -m 0644 $(@D)/$(DEEPFILTERNET_LADSPA_BIN_DIR)/libdeep_filter_ladspa.so \
+ $(TARGET_DIR)/usr/lib/ladspa/libdeep_filter_ladspa.so
+endef
$(eval $(cargo-package))
diff --git a/buildroot-external/package/hdf5/0002-CMakeInstallation.cmake.patch b/buildroot-external/package/hdf5/0002-CMakeInstallation.cmake.patch
new file mode 100644
index 00000000..76ec3e0f
--- /dev/null
+++ b/buildroot-external/package/hdf5/0002-CMakeInstallation.cmake.patch
@@ -0,0 +1,76 @@
+--- a/CMakeInstallation.cmake
++++ b/CMakeInstallation.cmake
+@@ -31,7 +31,7 @@
+ if (HDF5_EXPORTED_TARGETS)
+ install (
+ EXPORT ${HDF5_EXPORTED_TARGETS}
+- DESTINATION ${HDF5_INSTALL_CMAKE_DIR}
++ DESTINATION "lib/cmake"
+ FILE ${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-targets.cmake
+ NAMESPACE ${HDF_PACKAGE_NAMESPACE}
+ COMPONENT configinstall
+@@ -67,12 +67,12 @@
+ # Configure the hdf5-config.cmake file for the build directory
+ #-----------------------------------------------------------------------------
+ set (INCLUDE_INSTALL_DIR ${HDF5_INSTALL_INCLUDE_DIR})
+-set (SHARE_INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/${HDF5_INSTALL_CMAKE_DIR}" )
++set (SHARE_INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/lib/cmake" )
+ set (CURRENT_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}" )
+ configure_package_config_file (
+ ${HDF_RESOURCES_DIR}/hdf5-config.cmake.in
+ "${HDF5_BINARY_DIR}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config.cmake"
+- INSTALL_DESTINATION "${HDF5_INSTALL_CMAKE_DIR}"
++ INSTALL_DESTINATION "lib/cmake"
+ PATH_VARS INCLUDE_INSTALL_DIR SHARE_INSTALL_DIR CURRENT_BUILD_DIR
+ INSTALL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}"
+ )
+@@ -81,19 +81,19 @@
+ # Configure the hdf5-config.cmake file for the install directory
+ #-----------------------------------------------------------------------------
+ set (INCLUDE_INSTALL_DIR ${HDF5_INSTALL_INCLUDE_DIR})
+-set (SHARE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${HDF5_INSTALL_CMAKE_DIR}" )
++set (SHARE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib/cmake" )
+ set (CURRENT_BUILD_DIR "${CMAKE_INSTALL_PREFIX}" )
+ configure_package_config_file (
+ ${HDF_RESOURCES_DIR}/hdf5-config.cmake.in
+ "${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config.cmake"
+- INSTALL_DESTINATION "${HDF5_INSTALL_CMAKE_DIR}"
++ INSTALL_DESTINATION "lib/cmake"
+ PATH_VARS INCLUDE_INSTALL_DIR SHARE_INSTALL_DIR CURRENT_BUILD_DIR
+ )
+
+ if (NOT HDF5_EXTERNALLY_CONFIGURED)
+ install (
+ FILES ${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config.cmake
+- DESTINATION ${HDF5_INSTALL_CMAKE_DIR}
++ DESTINATION "lib/cmake"
+ COMPONENT configinstall
+ )
+ endif ()
+@@ -109,7 +109,7 @@
+ )
+ install (
+ FILES ${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake
+- DESTINATION ${HDF5_INSTALL_CMAKE_DIR}
++ DESTINATION "lib/cmake"
+ COMPONENT configinstall
+ )
+ endif ()
+@@ -195,7 +195,7 @@
+ if (NOT HDF5_EXTERNALLY_CONFIGURED)
+ install (
+ FILES ${HDF5_SOURCE_DIR}/COPYING
+- DESTINATION ${HDF5_INSTALL_DATA_DIR}
++ DESTINATION "share/doc/hdf5"
+ COMPONENT hdfdocuments
+ )
+ if (EXISTS "${HDF5_SOURCE_DIR}/release_docs" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/release_docs")
+@@ -238,7 +238,7 @@
+ endif ()
+ install (
+ FILES ${release_files}
+- DESTINATION ${HDF5_INSTALL_DATA_DIR}
++ DESTINATION "share/doc/hdf5"
+ COMPONENT hdfdocuments
+ )
+ endif ()