diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/audio/opl3bankeditor')
5 files changed, 487 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/audio/opl3bankeditor/0001-opl3bankeditor-Look-for-system-installed-Rt-libs.patch b/nixpkgs/pkgs/tools/audio/opl3bankeditor/0001-opl3bankeditor-Look-for-system-installed-Rt-libs.patch new file mode 100644 index 000000000000..36adff53a011 --- /dev/null +++ b/nixpkgs/pkgs/tools/audio/opl3bankeditor/0001-opl3bankeditor-Look-for-system-installed-Rt-libs.patch @@ -0,0 +1,200 @@ +From 11711398a1ec16f4eaeac8523b77165a560b69cc Mon Sep 17 00:00:00 2001 +From: OPNA2608 <christoph.neidahl@gmail.com> +Date: Sun, 13 Jun 2021 13:55:53 +0200 +Subject: [PATCH] Look for system-installed Rt libs + +--- + CMakeLists.txt | 159 +++++++++++++++++++++++++++++++------------------ + 1 file changed, 102 insertions(+), 57 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f3e53c3..027c1b1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -50,15 +50,6 @@ message("!! Optional feature summary:") + message("!! RtMidi: ${USE_RTMIDI}") + message("!! RtAudio: ${USE_RTAUDIO}") + +-if(USE_RTAUDIO) +- if(CMAKE_SYSTEM_NAME STREQUAL "Linux") +- pkg_check_modules(JACK "jack") +- message("!! -- Jack driver: ${JACK_FOUND}") +- pkg_check_modules(PULSEAUDIO "libpulse-simple") +- message("!! -- Pulseaudio driver: ${PULSEAUDIO_FOUND}") +- endif() +-endif() +- + if(ENABLE_PLOTS) + message("!! Qwt: ${QWT_LIBRARY}") + endif() +@@ -250,65 +241,119 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") + endif() + + if(USE_RTMIDI) +- add_library(RtMidi STATIC "src/midi/external/rtmidi/RtMidi.cpp") +- target_include_directories(RtMidi PUBLIC "src/midi/external/rtmidi") +- if(CMAKE_SYSTEM_NAME STREQUAL "Linux") +- target_compile_definitions(RtMidi PUBLIC "__LINUX_ALSA__") +- target_link_libraries(RtMidi PUBLIC "asound") +- elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows") +- target_compile_definitions(RtMidi PUBLIC "__WINDOWS_MM__") +- target_link_libraries(RtMidi PUBLIC "winmm") +- elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") +- target_compile_definitions(RtMidi PUBLIC "__MACOSX_CORE__") +- find_library(COREMIDI_LIBRARY "CoreMIDI") +- target_link_libraries(RtMidi PUBLIC "${COREMIDI_LIBRARY}") ++ if(PKG_CONFIG_FOUND) ++ pkg_check_modules(RTMIDI rtmidi) ++ if(RTMIDI_FOUND) ++ message("Using system-installed RtMidi found by pkg-config.") ++ target_link_libraries(OPL3BankEditor PUBLIC ${RTMIDI_LDFLAGS}) ++ target_include_directories(OPL3BankEditor PUBLIC ${RTMIDI_INCLUDE_DIRS}) ++ target_compile_options(OPL3BankEditor PUBLIC ${RTMIDI_CFLAGS}) ++ endif() + endif() ++ ++ if(NOT RTMIDI_FOUND) ++ find_library(RTMIDI_LIBRARY "rtmidi") ++ find_path(RTMIDI_INCLUDE_DIRS "RtMidi.h") ++ message("RtMidi library: ${RTMIDI_LIBRARY}") ++ message("RtMidi header directory: ${RTMIDI_INCLUDE_DIRS}") ++ if(NOT RTMIDI_LIBRARY-NOTFOUND AND NOT RTMIDI_INCLUDE_DIRS STREQUAL RTMIDI_INCLUDE_DIRS-NOTFOUND) ++ message("Using system-installed RtMidi.") ++ set(RTMIDI_FOUND TRUE) ++ target_link_libraries(OPL3BankEditor PUBLIC ${RTMIDI_LIBRARY}) ++ target_include_directories(OPL3BankEditor PUBLIC ${RTMIDI_INCLUDE_DIRS}) ++ endif() ++ endif() ++ ++ if(NOT RTMIDI_FOUND) ++ message("Using bundled RtMidi.") ++ add_library(RtMidi STATIC "src/midi/external/rtmidi/RtMidi.cpp") ++ target_include_directories(RtMidi PUBLIC "src/midi/external/rtmidi") ++ if(CMAKE_SYSTEM_NAME STREQUAL "Linux") ++ target_compile_definitions(RtMidi PUBLIC "__LINUX_ALSA__") ++ target_link_libraries(RtMidi PUBLIC "asound") ++ elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows") ++ target_compile_definitions(RtMidi PUBLIC "__WINDOWS_MM__") ++ target_link_libraries(RtMidi PUBLIC "winmm") ++ elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") ++ target_compile_definitions(RtMidi PUBLIC "__MACOSX_CORE__") ++ find_library(COREMIDI_LIBRARY "CoreMIDI") ++ target_link_libraries(RtMidi PUBLIC "${COREMIDI_LIBRARY}") ++ endif() ++ target_link_libraries(OPL3BankEditor PRIVATE RtMidi) ++ endif() ++ + target_sources(OPL3BankEditor PRIVATE "src/midi/midi_rtmidi.cpp") + target_compile_definitions(OPL3BankEditor PRIVATE "ENABLE_MIDI") +- target_link_libraries(OPL3BankEditor PRIVATE RtMidi) + endif() + + if(USE_RTAUDIO) +- add_library(RtAudio STATIC "src/audio/external/rtaudio/RtAudio.cpp") +- target_include_directories(RtAudio PUBLIC "src/audio/external/rtaudio") +- if(CMAKE_SYSTEM_NAME STREQUAL "Linux") +- target_compile_definitions(RtAudio PUBLIC "__LINUX_ALSA__") +- target_link_libraries(RtAudio PUBLIC "asound") +- if(JACK_FOUND) +- target_compile_definitions(RtAudio PUBLIC "__UNIX_JACK__") +- target_include_directories(RtAudio PUBLIC ${JACK_INCLUDE_DIRS}) +- link_directories(${JACK_LIBRARY_DIRS}) +- target_link_libraries(RtAudio PUBLIC ${JACK_LIBRARIES}) ++ if(PKG_CONFIG_FOUND) ++ pkg_check_modules(RTAUDIO rtaudio) ++ if(RTAUDIO_FOUND) ++ message("Using system-installed RtAudio found by pkg-config.") ++ target_link_libraries(OPL3BankEditor PUBLIC ${RTAUDIO_LDFLAGS}) ++ target_include_directories(OPL3BankEditor PUBLIC ${RTAUDIO_INCLUDE_DIRS}) ++ target_compile_options(OPL3BankEditor PUBLIC ${RTAUDIO_CFLAGS}) ++ endif() ++ endif() ++ ++ if(NOT RTAUDIO_FOUND) ++ find_library(RTAUDIO_LIBRARY "rtaudio") ++ find_path(RTAUDIO_INCLUDE_DIRS "RtAudio.h") ++ message("RtAudio library: ${RTAUDIO_LIBRARY}") ++ message("RtAudio header directory: ${RTAUDIO_INCLUDE_DIRS}") ++ if(NOT RTAUDIO_LIBRARY-NOTFOUND AND NOT RTAUDIO_INCLUDE_DIRS STREQUAL RTAUDIO_INCLUDE_DIRS-NOTFOUND) ++ message("Using system-installed RtAudio.") ++ set(RTAUDIO_FOUND TRUE) ++ target_link_libraries(OPL3BankEditor PUBLIC ${RTAUDIO_LIBRARY}) ++ target_include_directories(OPL3BankEditor PUBLIC ${RTAUDIO_INCLUDE_DIRS}) + endif() +- if(PULSEAUDIO_FOUND) +- target_compile_definitions(RtAudio PUBLIC "__LINUX_PULSE__") +- target_include_directories(RtAudio PUBLIC ${PULSEAUDIO_INCLUDE_DIRS}) +- link_directories(${PULSEAUDIO_LIBRARY_DIRS}) +- target_link_libraries(RtAudio PUBLIC ${PULSEAUDIO_LIBRARIES}) ++ endif() ++ ++ if(NOT RTAUDIO_FOUND) ++ message("Using bundled RtAudio.") ++ add_library(RtAudio STATIC "src/audio/external/rtaudio/RtAudio.cpp") ++ target_include_directories(RtAudio PUBLIC "src/audio/external/rtaudio") ++ if(CMAKE_SYSTEM_NAME STREQUAL "Linux") ++ target_compile_definitions(RtAudio PUBLIC "__LINUX_ALSA__") ++ target_link_libraries(RtAudio PUBLIC "asound") ++ if(JACK_FOUND) ++ target_compile_definitions(RtAudio PUBLIC "__UNIX_JACK__") ++ target_include_directories(RtAudio PUBLIC ${JACK_INCLUDE_DIRS}) ++ link_directories(${JACK_LIBRARY_DIRS}) ++ target_link_libraries(RtAudio PUBLIC ${JACK_LIBRARIES}) ++ endif() ++ if(PULSEAUDIO_FOUND) ++ target_compile_definitions(RtAudio PUBLIC "__LINUX_PULSE__") ++ target_include_directories(RtAudio PUBLIC ${PULSEAUDIO_INCLUDE_DIRS}) ++ link_directories(${PULSEAUDIO_LIBRARY_DIRS}) ++ target_link_libraries(RtAudio PUBLIC ${PULSEAUDIO_LIBRARIES}) ++ endif() ++ elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows") ++ target_compile_definitions(RtAudio PUBLIC "__WINDOWS_DS__") ++ target_link_libraries(RtAudio PUBLIC "dsound" "ole32") ++ target_compile_definitions(RtAudio PUBLIC "__WINDOWS_WASAPI__") ++ target_link_libraries(RtAudio PUBLIC "ksguid") ++ target_compile_definitions(RtAudio PUBLIC "__WINDOWS_ASIO__") ++ target_include_directories(RtAudio PRIVATE ++ "src/audio/external/rtaudio/include") ++ target_sources(RtAudio PRIVATE ++ "src/audio/external/rtaudio/include/asio.cpp" ++ "src/audio/external/rtaudio/include/asiodrivers.cpp" ++ "src/audio/external/rtaudio/include/asiolist.cpp" ++ "src/audio/external/rtaudio/include/iasiothiscallresolver.cpp") ++ elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") ++ target_compile_definitions(RtAudio PUBLIC "__MACOSX_CORE__") ++ find_library(COREAUDIO_LIBRARY "CoreAudio") ++ target_link_libraries(RtAudio PUBLIC "${COREAUDIO_LIBRARY}") ++ find_library(COREFOUNDATION_LIBRARY "CoreFoundation") ++ target_link_libraries(RtAudio PUBLIC "${COREFOUNDATION_LIBRARY}") + endif() +- elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows") +- target_compile_definitions(RtAudio PUBLIC "__WINDOWS_DS__") +- target_link_libraries(RtAudio PUBLIC "dsound" "ole32") +- target_compile_definitions(RtAudio PUBLIC "__WINDOWS_WASAPI__") +- target_link_libraries(RtAudio PUBLIC "ksguid") +- target_compile_definitions(RtAudio PUBLIC "__WINDOWS_ASIO__") +- target_include_directories(RtAudio PRIVATE +- "src/audio/external/rtaudio/include") +- target_sources(RtAudio PRIVATE +- "src/audio/external/rtaudio/include/asio.cpp" +- "src/audio/external/rtaudio/include/asiodrivers.cpp" +- "src/audio/external/rtaudio/include/asiolist.cpp" +- "src/audio/external/rtaudio/include/iasiothiscallresolver.cpp") +- elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") +- target_compile_definitions(RtAudio PUBLIC "__MACOSX_CORE__") +- find_library(COREAUDIO_LIBRARY "CoreAudio") +- target_link_libraries(RtAudio PUBLIC "${COREAUDIO_LIBRARY}") +- find_library(COREFOUNDATION_LIBRARY "CoreFoundation") +- target_link_libraries(RtAudio PUBLIC "${COREFOUNDATION_LIBRARY}") ++ target_link_libraries(OPL3BankEditor PRIVATE RtAudio) + endif() ++ + target_sources(OPL3BankEditor PRIVATE "src/audio/ao_rtaudio.cpp") + target_compile_definitions(OPL3BankEditor PRIVATE "ENABLE_AUDIO_TESTING") +- target_link_libraries(OPL3BankEditor PRIVATE RtAudio) + endif() + + add_executable(measurer_tool +-- +2.29.3 + diff --git a/nixpkgs/pkgs/tools/audio/opl3bankeditor/0001-opn2bankeditor-Look-for-system-installed-Rt-libs.patch b/nixpkgs/pkgs/tools/audio/opl3bankeditor/0001-opn2bankeditor-Look-for-system-installed-Rt-libs.patch new file mode 100644 index 000000000000..f62c3236b33f --- /dev/null +++ b/nixpkgs/pkgs/tools/audio/opl3bankeditor/0001-opn2bankeditor-Look-for-system-installed-Rt-libs.patch @@ -0,0 +1,200 @@ +From 69c993dacc7dc0cb9d105c3dfa764cd7be5c343e Mon Sep 17 00:00:00 2001 +From: OPNA2608 <christoph.neidahl@gmail.com> +Date: Sun, 13 Jun 2021 14:21:17 +0200 +Subject: [PATCH] Look for system-installed Rt libs + +--- + CMakeLists.txt | 159 +++++++++++++++++++++++++++++++------------------ + 1 file changed, 102 insertions(+), 57 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f428dc4..18ba8c3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -41,15 +41,6 @@ message("!! Optional feature summary:") + message("!! RtMidi: ${USE_RTMIDI}") + message("!! RtAudio: ${USE_RTAUDIO}") + +-if(USE_RTAUDIO) +- if(CMAKE_SYSTEM_NAME STREQUAL "Linux") +- pkg_check_modules(JACK "jack") +- message("!! -- Jack driver: ${JACK_FOUND}") +- pkg_check_modules(PULSEAUDIO "libpulse-simple") +- message("!! -- Pulseaudio driver: ${PULSEAUDIO_FOUND}") +- endif() +-endif() +- + if(ENABLE_PLOTS) + message("!! Qwt: ${QWT_LIBRARY}") + endif() +@@ -198,65 +189,119 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") + endif() + + if(USE_RTMIDI) +- add_library(RtMidi STATIC "src/midi/external/rtmidi/RtMidi.cpp") +- target_include_directories(RtMidi PUBLIC "src/midi/external/rtmidi") +- if(CMAKE_SYSTEM_NAME STREQUAL "Linux") +- target_compile_definitions(RtMidi PUBLIC "__LINUX_ALSA__") +- target_link_libraries(RtMidi PUBLIC "asound") +- elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows") +- target_compile_definitions(RtMidi PUBLIC "__WINDOWS_MM__") +- target_link_libraries(RtMidi PUBLIC "winmm") +- elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") +- target_compile_definitions(RtMidi PUBLIC "__MACOSX_CORE__") +- find_library(COREMIDI_LIBRARY "CoreMIDI") +- target_link_libraries(RtMidi PUBLIC "${COREMIDI_LIBRARY}") ++ if(PKG_CONFIG_FOUND) ++ pkg_check_modules(RTMIDI rtmidi) ++ if(RTMIDI_FOUND) ++ message("Using system-installed RtMidi found by pkg-config.") ++ target_link_libraries(OPN2BankEditor PUBLIC ${RTMIDI_LDFLAGS}) ++ target_include_directories(OPN2BankEditor PUBLIC ${RTMIDI_INCLUDE_DIRS}) ++ target_compile_options(OPN2BankEditor PUBLIC ${RTMIDI_CFLAGS}) ++ endif() ++ endif() ++ ++ if(NOT RTMIDI_FOUND) ++ find_library(RTMIDI_LIBRARY "rtmidi") ++ find_path(RTMIDI_INCLUDE_DIRS "RtMidi.h") ++ message("RtMidi library: ${RTMIDI_LIBRARY}") ++ message("RtMidi header directory: ${RTMIDI_INCLUDE_DIRS}") ++ if(NOT RTMIDI_LIBRARY-NOTFOUND AND NOT RTMIDI_INCLUDE_DIRS STREQUAL RTMIDI_INCLUDE_DIRS-NOTFOUND) ++ message("Using system-installed RtMidi.") ++ set(RTMIDI_FOUND TRUE) ++ target_link_libraries(OPN2BankEditor PUBLIC ${RTMIDI_LIBRARY}) ++ target_include_directories(OPN2BankEditor PUBLIC ${RTMIDI_INCLUDE_DIRS}) ++ endif() ++ endif() ++ ++ if(NOT RTMIDI_FOUND) ++ message("Using bundled RtMidi.") ++ add_library(RtMidi STATIC "src/midi/external/rtmidi/RtMidi.cpp") ++ target_include_directories(RtMidi PUBLIC "src/midi/external/rtmidi") ++ if(CMAKE_SYSTEM_NAME STREQUAL "Linux") ++ target_compile_definitions(RtMidi PUBLIC "__LINUX_ALSA__") ++ target_link_libraries(RtMidi PUBLIC "asound") ++ elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows") ++ target_compile_definitions(RtMidi PUBLIC "__WINDOWS_MM__") ++ target_link_libraries(RtMidi PUBLIC "winmm") ++ elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") ++ target_compile_definitions(RtMidi PUBLIC "__MACOSX_CORE__") ++ find_library(COREMIDI_LIBRARY "CoreMIDI") ++ target_link_libraries(RtMidi PUBLIC "${COREMIDI_LIBRARY}") ++ endif() ++ target_link_libraries(OPN2BankEditor PRIVATE RtMidi) + endif() ++ + target_sources(OPN2BankEditor PRIVATE "src/midi/midi_rtmidi.cpp") + target_compile_definitions(OPN2BankEditor PRIVATE "ENABLE_MIDI") +- target_link_libraries(OPN2BankEditor PRIVATE RtMidi) + endif() + + if(USE_RTAUDIO) +- add_library(RtAudio STATIC "src/audio/external/rtaudio/RtAudio.cpp") +- target_include_directories(RtAudio PUBLIC "src/audio/external/rtaudio") +- if(CMAKE_SYSTEM_NAME STREQUAL "Linux") +- target_compile_definitions(RtAudio PUBLIC "__LINUX_ALSA__") +- target_link_libraries(RtAudio PUBLIC "asound") +- if(JACK_FOUND) +- target_compile_definitions(RtAudio PUBLIC "__UNIX_JACK__") +- target_include_directories(RtAudio PUBLIC ${JACK_INCLUDE_DIRS}) +- link_directories(${JACK_LIBRARY_DIRS}) +- target_link_libraries(RtAudio PUBLIC ${JACK_LIBRARIES}) ++ if(PKG_CONFIG_FOUND) ++ pkg_check_modules(RTAUDIO rtaudio) ++ if(RTAUDIO_FOUND) ++ message("Using system-installed RtAudio found by pkg-config.") ++ target_link_libraries(OPN2BankEditor PUBLIC ${RTAUDIO_LDFLAGS}) ++ target_include_directories(OPN2BankEditor PUBLIC ${RTAUDIO_INCLUDE_DIRS}) ++ target_compile_options(OPN2BankEditor PUBLIC ${RTAUDIO_CFLAGS}) + endif() +- if(PULSEAUDIO_FOUND) +- target_compile_definitions(RtAudio PUBLIC "__LINUX_PULSE__") +- target_include_directories(RtAudio PUBLIC ${PULSEAUDIO_INCLUDE_DIRS}) +- link_directories(${PULSEAUDIO_LIBRARY_DIRS}) +- target_link_libraries(RtAudio PUBLIC ${PULSEAUDIO_LIBRARIES}) ++ endif() ++ ++ if(NOT RTAUDIO_FOUND) ++ find_library(RTAUDIO_LIBRARY "rtaudio") ++ find_path(RTAUDIO_INCLUDE_DIRS "RtAudio.h") ++ message("RtAudio library: ${RTAUDIO_LIBRARY}") ++ message("RtAudio header directory: ${RTAUDIO_INCLUDE_DIRS}") ++ if(NOT RTAUDIO_LIBRARY-NOTFOUND AND NOT RTAUDIO_INCLUDE_DIRS STREQUAL RTAUDIO_INCLUDE_DIRS-NOTFOUND) ++ message("Using system-installed RtAudio.") ++ set(RTAUDIO_FOUND TRUE) ++ target_link_libraries(OPN2BankEditor PUBLIC ${RTAUDIO_LIBRARY}) ++ target_include_directories(OPN2BankEditor PUBLIC ${RTAUDIO_INCLUDE_DIRS}) + endif() +- elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows") +- target_compile_definitions(RtAudio PUBLIC "__WINDOWS_DS__") +- target_link_libraries(RtAudio PUBLIC "dsound" "ole32") +- target_compile_definitions(RtAudio PUBLIC "__WINDOWS_WASAPI__") +- target_link_libraries(RtAudio PUBLIC "ksguid") +- target_compile_definitions(RtAudio PUBLIC "__WINDOWS_ASIO__") +- target_include_directories(RtAudio PRIVATE +- "src/audio/external/rtaudio/include") +- target_sources(RtAudio PRIVATE +- "src/audio/external/rtaudio/include/asio.cpp" +- "src/audio/external/rtaudio/include/asiodrivers.cpp" +- "src/audio/external/rtaudio/include/asiolist.cpp" +- "src/audio/external/rtaudio/include/iasiothiscallresolver.cpp") +- elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") +- target_compile_definitions(RtAudio PUBLIC "__MACOSX_CORE__") +- find_library(COREAUDIO_LIBRARY "CoreAudio") +- target_link_libraries(RtAudio PUBLIC "${COREAUDIO_LIBRARY}") +- find_library(COREFOUNDATION_LIBRARY "CoreFoundation") +- target_link_libraries(RtAudio PUBLIC "${COREFOUNDATION_LIBRARY}") + endif() ++ ++ if(NOT RTAUDIO_FOUND) ++ message("Using bundled RtAudio.") ++ add_library(RtAudio STATIC "src/audio/external/rtaudio/RtAudio.cpp") ++ target_include_directories(RtAudio PUBLIC "src/audio/external/rtaudio") ++ if(CMAKE_SYSTEM_NAME STREQUAL "Linux") ++ target_compile_definitions(RtAudio PUBLIC "__LINUX_ALSA__") ++ target_link_libraries(RtAudio PUBLIC "asound") ++ if(JACK_FOUND) ++ target_compile_definitions(RtAudio PUBLIC "__UNIX_JACK__") ++ target_include_directories(RtAudio PUBLIC ${JACK_INCLUDE_DIRS}) ++ link_directories(${JACK_LIBRARY_DIRS}) ++ target_link_libraries(RtAudio PUBLIC ${JACK_LIBRARIES}) ++ endif() ++ if(PULSEAUDIO_FOUND) ++ target_compile_definitions(RtAudio PUBLIC "__LINUX_PULSE__") ++ target_include_directories(RtAudio PUBLIC ${PULSEAUDIO_INCLUDE_DIRS}) ++ link_directories(${PULSEAUDIO_LIBRARY_DIRS}) ++ target_link_libraries(RtAudio PUBLIC ${PULSEAUDIO_LIBRARIES}) ++ endif() ++ elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows") ++ target_compile_definitions(RtAudio PUBLIC "__WINDOWS_DS__") ++ target_link_libraries(RtAudio PUBLIC "dsound" "ole32") ++ target_compile_definitions(RtAudio PUBLIC "__WINDOWS_WASAPI__") ++ target_link_libraries(RtAudio PUBLIC "ksguid") ++ target_compile_definitions(RtAudio PUBLIC "__WINDOWS_ASIO__") ++ target_include_directories(RtAudio PRIVATE ++ "src/audio/external/rtaudio/include") ++ target_sources(RtAudio PRIVATE ++ "src/audio/external/rtaudio/include/asio.cpp" ++ "src/audio/external/rtaudio/include/asiodrivers.cpp" ++ "src/audio/external/rtaudio/include/asiolist.cpp" ++ "src/audio/external/rtaudio/include/iasiothiscallresolver.cpp") ++ elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") ++ target_compile_definitions(RtAudio PUBLIC "__MACOSX_CORE__") ++ find_library(COREAUDIO_LIBRARY "CoreAudio") ++ target_link_libraries(RtAudio PUBLIC "${COREAUDIO_LIBRARY}") ++ find_library(COREFOUNDATION_LIBRARY "CoreFoundation") ++ target_link_libraries(RtAudio PUBLIC "${COREFOUNDATION_LIBRARY}") ++ endif() ++ target_link_libraries(OPN2BankEditor PRIVATE RtAudio) ++ endif() ++ + target_sources(OPN2BankEditor PRIVATE "src/audio/ao_rtaudio.cpp") + target_compile_definitions(OPN2BankEditor PRIVATE "ENABLE_AUDIO_TESTING") +- target_link_libraries(OPN2BankEditor PRIVATE RtAudio) + endif() + + add_executable(measurer_tool +-- +2.29.3 + diff --git a/nixpkgs/pkgs/tools/audio/opl3bankeditor/common.nix b/nixpkgs/pkgs/tools/audio/opl3bankeditor/common.nix new file mode 100644 index 000000000000..9f6972ce9540 --- /dev/null +++ b/nixpkgs/pkgs/tools/audio/opl3bankeditor/common.nix @@ -0,0 +1,69 @@ +{ pname, chip, version, sha256, extraPatches ? [] }: + +{ mkDerivation +, stdenv +, lib +, fetchFromGitHub +, dos2unix +, cmake +, pkg-config +, qttools +, qtbase +, qwt +, rtaudio +, rtmidi +}: + +let + binname = "${chip} Bank Editor"; + mainProgram = "${lib.strings.toLower chip}_bank_editor"; +in +mkDerivation rec { + inherit pname version; + + src = fetchFromGitHub { + owner = "Wohlstand"; + repo = pname; + rev = "v${version}"; + inherit sha256; + }; + + prePatch = '' + dos2unix CMakeLists.txt + ''; + + patches = extraPatches; + + nativeBuildInputs = [ + dos2unix + cmake + pkg-config + qttools + ]; + + buildInputs = [ + qtbase + qwt + rtaudio + rtmidi + ]; + + postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir $out/{bin,Applications} + mv "${binname}.app" $out/Applications/ + + install_name_tool -change {,${qwt}/lib/}libqwt.6.dylib "$out/Applications/${binname}.app/Contents/MacOS/${binname}" + wrapQtApp "$out/Applications/${binname}.app/Contents/MacOS/${binname}" + + ln -s "$out/Applications/${binname}.app/Contents/MacOS/${binname}" $out/bin/${mainProgram} + ''; + + meta = with lib; { + inherit mainProgram; + description = "A small cross-platform editor of the ${chip} FM banks of different formats"; + homepage = src.meta.homepage; + license = licenses.gpl3Plus; + platforms = platforms.all; + maintainers = with maintainers; [ OPNA2608 ]; + }; +} diff --git a/nixpkgs/pkgs/tools/audio/opl3bankeditor/default.nix b/nixpkgs/pkgs/tools/audio/opl3bankeditor/default.nix new file mode 100644 index 000000000000..85762bb69b96 --- /dev/null +++ b/nixpkgs/pkgs/tools/audio/opl3bankeditor/default.nix @@ -0,0 +1,9 @@ +import ./common.nix rec { + pname = "opl3bankeditor"; + chip = "OPL3"; + version = "1.5.1"; + sha256 = "08krbxlxgmc7i2r2k6d6wgi0m6k8hh3j60xf21kz4kp023w613sa"; + extraPatches = [ + ./0001-opl3bankeditor-Look-for-system-installed-Rt-libs.patch + ]; +} diff --git a/nixpkgs/pkgs/tools/audio/opl3bankeditor/opn2bankeditor.nix b/nixpkgs/pkgs/tools/audio/opl3bankeditor/opn2bankeditor.nix new file mode 100644 index 000000000000..d9c4bbe1511d --- /dev/null +++ b/nixpkgs/pkgs/tools/audio/opl3bankeditor/opn2bankeditor.nix @@ -0,0 +1,9 @@ +import ./common.nix rec { + pname = "opn2bankeditor"; + chip = "OPN2"; + version = "1.3"; + sha256 = "0niam6a6y57msbl0xj23g6l7gisv4a670q0k1zqfm34804532a32"; + extraPatches = [ + ./0001-opn2bankeditor-Look-for-system-installed-Rt-libs.patch + ]; +} |