From patchwork Thu May 4 08:08:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sughosha X-Patchwork-Id: 49785 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 6665627BBEA; Thu, 4 May 2023 09:10:17 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 0F73A27BBE2 for ; Thu, 4 May 2023 09:10:16 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1puU2N-0000ju-Ej; Thu, 04 May 2023 04:10:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1puU2M-0000jk-Rc for guix-patches@gnu.org; Thu, 04 May 2023 04:10:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1puU2M-0001ku-Gc for guix-patches@gnu.org; Thu, 04 May 2023 04:10:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1puU2M-0000OD-D9 for guix-patches@gnu.org; Thu, 04 May 2023 04:10:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#63254] [PATCH v2 5/5] gnu: zynaddsubfx: Switch to Zyn-Fusion interface. References: In-Reply-To: Resent-From: Sughosha Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 04 May 2023 08:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 63254 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "63254@debbugs.gnu.org" <63254@debbugs.gnu.org> Received: via spool by 63254-submit@debbugs.gnu.org id=B63254.16831877441422 (code B ref 63254); Thu, 04 May 2023 08:10:02 +0000 Received: (at 63254) by debbugs.gnu.org; 4 May 2023 08:09:04 +0000 Received: from localhost ([127.0.0.1]:48442 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1puU1P-0000Mr-UI for submit@debbugs.gnu.org; Thu, 04 May 2023 04:09:04 -0400 Received: from mail-4318.protonmail.ch ([185.70.43.18]:34885) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1puU1N-0000MG-DL for 63254@debbugs.gnu.org; Thu, 04 May 2023 04:09:02 -0400 Date: Thu, 04 May 2023 08:08:40 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me; s=protonmail; t=1683187735; x=1683446935; bh=NrhNPXXwpTzm8ENyVvyA9W8ugzPIgNInxvOEYhrDsuk=; h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=Ap5jLtA/Pg4xbmotE5LpuTf//TKdS5aiwnElHcEMDVL+UCA9Q1nLjVFEk0Z8k3/bm Lcu5yoh3uk9YYr9ziPTf+ZmkoCFweoHpcr2W+oRxt8g4cPjcp4GQZ2fK73n37TEtZj JEsuswarXOXh1byfyRIG5dJ4vyodvIEF+lPBaWQm5FLNwIgdiTbB4E+IMxtncPRKnQ ESj+8qWPpTo3zPbYUXgqvBg3ze90+AF6hsYJWDWtKnP/+rsYtfysAB7P3LX9jVczuT xKI2bXukjM7NWlwYF5fkMVmwvMO6Bacff1juCStw8cVNA4ecaHGJ3b/ROmraTzJOVj B7qAbsdmRMF5A== Message-ID: <-2siIY5xXyaTI0gYpFtMUsLXMaoxvyvIsF1dJnSezYdvH455hqiujH284uNEX17tHD3mHoMGwoGNiov6DJjVZF83T_QBzBVzqHoDORqAt-E=@proton.me> Feedback-ID: 45211691:user:proton MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Sughosha X-ACL-Warn: , Sughosha via Guix-patches X-Patchwork-Original-From: Sughosha via Guix-patches via From: Sughosha Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/music.scm (zynaddsubfx)[source]: Add a patches. [arguments]: Add configure flags and patch-paths phase. [inputs]: Remove ntk and add rtosc and mruby-zest. [home-page]: Change home-page. * gnu/packages/patches/zynaddsubfx-3.0.6-system-rtosc.patch: New file. * gnu/local.mk: Register the patch file. --- gnu/local.mk | 1 + gnu/packages/music.scm | 28 ++++- .../zynaddsubfx-3.0.6-system-rtosc.patch | 106 ++++++++++++++++++ 3 files changed, 130 insertions(+), 5 deletions(-) create mode 100644 gnu/packages/patches/zynaddsubfx-3.0.6-system-rtosc.patch diff --git a/gnu/local.mk b/gnu/local.mk index 6f213b2e7f..8a20f54e9f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2072,6 +2072,7 @@ dist_patch_DATA = \ %D%/packages/patches/yggdrasil-extra-config.patch \ %D%/packages/patches/zig-do-not-link-against-librt.patch \ %D%/packages/patches/zig-use-system-paths.patch \ + %D%/packages/patches/zynaddsubfx-3.0.6-system-rtosc.patch \ %D%/packages/patches/zsh-egrep-failing-test.patch MISC_DISTRO_FILES = \ diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 446580dc52..ec19318b6f 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -157,6 +157,7 @@ (define-module (gnu packages music) #:use-module (gnu packages man) #:use-module (gnu packages mp3) #:use-module (gnu packages mpd) + #:use-module (gnu packages mruby-xyz) #:use-module (gnu packages ncurses) #:use-module (gnu packages netpbm) #:use-module (gnu packages pcre) @@ -3175,10 +3176,18 @@ (define-public zynaddsubfx version "/zynaddsubfx-" version ".tar.bz2")) (sha256 (base32 - "1bkirvcg0lz1i7ypnz3dyh218yhrqpnijxs8n3wlgwbcixvn1lfb")))) + "1bkirvcg0lz1i7ypnz3dyh218yhrqpnijxs8n3wlgwbcixvn1lfb")) + (patches + (search-patches + "zynaddsubfx-3.0.6-system-rtosc.patch")))) (build-system cmake-build-system) (arguments - `(#:phases + `(#:configure-flags `("-DGuiModule=zest" + ,(string-append "-DZYN_DATADIR=" + (assoc-ref %outputs "out") + "/share/zynaddsubfx") + "-DZYN_SYSTEM_RTOSC=ON") + #:phases (modify-phases %standard-phases ;; Move SSE compiler optimization flags from generic target to ;; athlon64 and core2 targets, because otherwise the build would fail @@ -3188,10 +3197,19 @@ (define-public zynaddsubfx (substitute* "src/CMakeLists.txt" (("-msse -msse2 -mfpmath=sse") "") (("-march=(athlon64|core2)" flag) - (string-append flag " -msse -msse2 -mfpmath=sse")))))))) + (string-append flag " -msse -msse2 -mfpmath=sse"))))) + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/main.cpp" + (("\\./zyn-fusion") + (search-input-file inputs "/bin/zyn-fusion"))) + (substitute* "src/Plugin/ZynAddSubFX/ZynAddSubFX-UI-Zest.cpp" + (("\\./libzest\\.so") + (search-input-file inputs "/lib/libzest.so")))))))) (inputs (list liblo - ntk + rtosc + mruby-zest mesa alsa-lib jack-1 @@ -3203,7 +3221,7 @@ (define-public zynaddsubfx (native-inputs (list pkg-config ruby)) - (home-page "https://zynaddsubfx.sf.net/") + (home-page "https://zynaddsubfx.sourceforge.io/") (synopsis "Software synthesizer") (description "ZynAddSubFX is a feature heavy realtime software synthesizer. It offers diff --git a/gnu/packages/patches/zynaddsubfx-3.0.6-system-rtosc.patch b/gnu/packages/patches/zynaddsubfx-3.0.6-system-rtosc.patch new file mode 100644 index 0000000000..edf22c389b --- /dev/null +++ b/gnu/packages/patches/zynaddsubfx-3.0.6-system-rtosc.patch @@ -0,0 +1,106 @@ +Adding the option ZYN_SYSTEM_RTOSC to let the use of the system provided RtOsc +instead of using the bundled one. + +--- a/CMakeLists.txt 2022-01-22 02:46:21.000000000 +0100 ++++ b/CMakeLists.txt 2023-05-03 23:17:58.411667901 +0200 +@@ -10,24 +10,34 @@ + add_definitions(-DZYN_DATADIR="${ZYN_DATADIR}") + endif() + ++option(ZYN_SYSTEM_RTOSC "Use system provided librtosc and librtosc-cpp" OFF) ++ + #Include RTOSC +-if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/rtosc/CMakeLists.txt") +- message(STATUS "RTOSC NOT FOUND") +- message(STATUS "Attempting to checkout submodule") +- find_package(Git REQUIRED) +- execute_process(COMMAND git submodule update --init --recursive) ++if(ZYN_SYSTEM_RTOSC) ++ include(FindPkgConfig) ++ pkg_check_modules(RTOSC REQUIRED librtosc) ++ pkg_check_modules(RTOSC_CPP REQUIRED librtosc-cpp) ++ include_directories(${RTOSC_INCLUDE_DIR}) ++ message(STATUS "Found system provided librtosc and librtosc-cpp...") ++else() + if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/rtosc/CMakeLists.txt") +- message(FATAL_ERROR "FAILED TO CHECKOUT RTOSC\n" +- "please check file permissions and your network") ++ message(STATUS "RTOSC NOT FOUND") ++ message(STATUS "Attempting to checkout submodule") ++ find_package(Git REQUIRED) ++ execute_process(COMMAND git submodule update --init --recursive) ++ if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/rtosc/CMakeLists.txt") ++ message(FATAL_ERROR "FAILED TO CHECKOUT RTOSC\n" ++ "please check file permissions and your network") ++ endif() ++ else() ++ message(STATUS "Found Rtosc Submodule...") + endif() +-else() +- message(STATUS "Found Rtosc Submodule...") +-endif() + +-set(RTOSC_NO_INSTALL TRUE) +-include("rtosc/cmake/ColorMessage.cmake") +-add_subdirectory(rtosc) +-include_directories(rtosc/include) ++ set(RTOSC_NO_INSTALL TRUE) ++ include("rtosc/cmake/ColorMessage.cmake") ++ add_subdirectory(rtosc) ++ include_directories(rtosc/include) ++endif() + + enable_testing() + include(CTestConfig.cmake) +--- a/src/CMakeLists.txt 2022-01-22 02:46:21.000000000 +0100 ++++ b/src/CMakeLists.txt 2023-05-03 23:17:58.411667901 +0200 +@@ -575,13 +575,27 @@ + set(PTHREAD_LIBRARY pthread) + endif() + +-target_link_libraries(zynaddsubfx_core +- ${ZLIB_LIBRARIES} +- ${FFTW3F_LIBRARIES} +- ${MXML_LIBRARIES} +- ${OS_LIBRARIES} +- ${PTHREAD_LIBRARY} +- rtosc rtosc-cpp) ++if(ZYN_SYSTEM_RTOSC) ++ target_link_libraries(zynaddsubfx_core ++ ${ZLIB_LIBRARIES} ++ ${FFTW3F_LIBRARIES} ++ ${MXML_LIBRARIES} ++ ${OS_LIBRARIES} ++ ${PTHREAD_LIBRARY} ++ ${RTOSC_LIBRARIES} ++ ${RTOSC_CPP_LIBRARIES} ++ ) ++else() ++ target_link_libraries(zynaddsubfx_core ++ ${ZLIB_LIBRARIES} ++ ${FFTW3F_LIBRARIES} ++ ${MXML_LIBRARIES} ++ ${OS_LIBRARIES} ++ ${PTHREAD_LIBRARY} ++ rtosc ++ rtosc-cpp ++ ) ++endif() + + if(IwyuErr) + message (STATUS "Include what you use: ${IwyuErr}") + + +When ZYN_SYSTEM_RTOSC is ON, port-checker file is not available and the test +fails. + +--- a/src/Tests/CMakeLists.txt 2022-01-22 02:46:21.000000000 +0100 ++++ b/src/Tests/CMakeLists.txt 2023-05-04 00:19:01.635383149 +0200 +@@ -65,7 +65,6 @@ + + if(LIBLO_FOUND) + cp_script(check-ports.rb) +- add_test(PortChecker check-ports.rb) + endif() + add_executable(save-osc SaveOSC.cpp) + target_link_libraries(save-osc