@@ -0,0 +1,5 @@ | |||||
distrho-juce7 (6:7.0.0~git2022-06-22-16255740-1kxstudio2) focal; urgency=medium | |||||
* Initial package | |||||
-- falkTX <falktx@falktx.com> Sun, 17 Apr 2022 15:05:47 +0100 |
@@ -0,0 +1,47 @@ | |||||
Source: distrho-juce7 | |||||
Section: devel | |||||
Priority: optional | |||||
Maintainer: falkTX <falktx@falktx.com> | |||||
Build-Depends: debhelper-compat (= 13), | |||||
kxstudio-build-scripts, | |||||
cmake, | |||||
pkg-config, | |||||
libfreetype6-dev, | |||||
libgl1-mesa-dev | libglvnd-dev, | |||||
libx11-dev, | |||||
libxcomposite-dev, | |||||
libxcursor-dev, | |||||
libxrandr-dev, | |||||
libxrender-dev | |||||
Standards-Version: 4.5.0 | |||||
Homepage: https://github.com/DISTRHO/JUCE/ | |||||
Rules-Requires-Root: no | |||||
Package: distrho-juce7-bin | |||||
Architecture: any | |||||
Depends: ${shlibs:Depends}, ${misc:Depends} | |||||
Description: cross-platform C++ framework with DISTRHO/KXStudio changes | |||||
JUCE is an open-source cross-platform C++ application framework for creating | |||||
high quality desktop and mobile applications, including LV2, VST2, VST3, AU, | |||||
AUv3 and AAX audio plug-ins. | |||||
. | |||||
This package provides the DISTRHO/KXStudio fork of JUCE, version 7. | |||||
Package: distrho-juce7-dev | |||||
Architecture: all | |||||
Depends: ${misc:Depends}, distrho-juce7-bin, | |||||
cmake, | |||||
pkg-config, | |||||
libfreetype6-dev, | |||||
libgl1-mesa-dev | libglvnd-dev, | |||||
libx11-dev, | |||||
libxcomposite-dev, | |||||
libxcursor-dev, | |||||
libxrandr-dev, | |||||
libxrender-dev | |||||
Description: cross-platform C++ framework with DISTRHO/KXStudio changes | |||||
JUCE is an open-source cross-platform C++ application framework for creating | |||||
high quality desktop and mobile applications, including LV2, VST2, VST3, AU, | |||||
AUv3 and AAX audio plug-ins. | |||||
. | |||||
This package provides the DISTRHO/KXStudio fork of JUCE, version 7. |
@@ -0,0 +1 @@ | |||||
/opt/kxstudio/bin |
@@ -0,0 +1,2 @@ | |||||
/opt/kxstudio/include | |||||
/opt/kxstudio/lib |
@@ -0,0 +1 @@ | |||||
/opt/kxstudio/lib/cmake/JUCE7/JUCEConfig.cmake /opt/kxstudio/lib/cmake/JUCE7/JUCE6Config.cmake |
@@ -0,0 +1,13 @@ | |||||
diff --git a/extras/Build/CMake/JUCEUtils.cmake b/extras/Build/CMake/JUCEUtils.cmake | |||||
index 58e65087c..cb13f9fee 100644 | |||||
--- a/extras/Build/CMake/JUCEUtils.cmake | |||||
+++ b/extras/Build/CMake/JUCEUtils.cmake | |||||
@@ -84,7 +84,7 @@ define_property(TARGET PROPERTY JUCE_COPY_PLUGIN_AFTER_BUILD INHERITED | |||||
FULL_DOCS "Whether or not plugins should be copied after building") | |||||
set_property(GLOBAL PROPERTY JUCE_COPY_PLUGIN_AFTER_BUILD FALSE) | |||||
-if((CMAKE_SYSTEM_NAME STREQUAL "Linux") OR (CMAKE_SYSTEM_NAME MATCHES ".*BSD")) | |||||
+if((CMAKE_SYSTEM_NAME STREQUAL "LinuxIgnoredForKXStudio") OR (CMAKE_SYSTEM_NAME MATCHES ".*BSD")) | |||||
_juce_create_pkgconfig_target(JUCE_CURL_LINUX_DEPS libcurl) | |||||
_juce_create_pkgconfig_target(JUCE_BROWSER_LINUX_DEPS webkit2gtk-4.0 gtk+-x11-3.0) | |||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") |
@@ -0,0 +1,21 @@ | |||||
diff --git a/modules/juce_audio_devices/juce_audio_devices.h b/modules/juce_audio_devices/juce_audio_devices.h | |||||
index 567322216..45edf2174 100644 | |||||
--- a/modules/juce_audio_devices/juce_audio_devices.h | |||||
+++ b/modules/juce_audio_devices/juce_audio_devices.h | |||||
@@ -42,7 +42,6 @@ | |||||
dependencies: juce_audio_basics, juce_events | |||||
OSXFrameworks: CoreAudio CoreMIDI AudioToolbox | |||||
iOSFrameworks: CoreAudio CoreMIDI AudioToolbox AVFoundation | |||||
- linuxPackages: alsa | |||||
mingwLibs: winmm | |||||
END_JUCE_MODULE_DECLARATION | |||||
@@ -106,7 +105,7 @@ | |||||
Enables ALSA audio devices (Linux only). | |||||
*/ | |||||
#ifndef JUCE_ALSA | |||||
- #define JUCE_ALSA 1 | |||||
+ #define JUCE_ALSA 0 | |||||
#endif | |||||
/** Config: JUCE_JACK |
@@ -0,0 +1,109 @@ | |||||
diff --git a/extras/Build/CMake/JUCEConfig.cmake.in b/extras/Build/CMake/JUCEConfig.cmake.in | |||||
index 6a96e24e5..17b0911f4 100644 | |||||
--- a/extras/Build/CMake/JUCEConfig.cmake.in | |||||
+++ b/extras/Build/CMake/JUCEConfig.cmake.in | |||||
@@ -22,10 +22,12 @@ | |||||
include("${CMAKE_CURRENT_LIST_DIR}/LV2_HELPER.cmake") | |||||
-if(NOT TARGET juce::juceaide) | |||||
- add_executable(juce::juceaide IMPORTED) | |||||
- set_target_properties(juce::juceaide PROPERTIES | |||||
- IMPORTED_LOCATION "@PACKAGE_JUCEAIDE_PATH@") | |||||
+set(PACKAGE_PREFIX_DIR "@CMAKE_INSTALL_PREFIX@") | |||||
+ | |||||
+if(NOT TARGET juceaide7) | |||||
+ add_executable(juceaide7 IMPORTED) | |||||
+ set_target_properties(juceaide7 PROPERTIES | |||||
+ IMPORTED_LOCATION "${PACKAGE_PREFIX_DIR}/bin/juceaide7") | |||||
endif() | |||||
check_required_components("@PROJECT_NAME@") | |||||
diff --git a/extras/Build/CMake/JUCEUtils.cmake b/extras/Build/CMake/JUCEUtils.cmake | |||||
index 58e65087c..33f90f750 100644 | |||||
--- a/extras/Build/CMake/JUCEUtils.cmake | |||||
+++ b/extras/Build/CMake/JUCEUtils.cmake | |||||
@@ -192,7 +192,7 @@ function(_juce_add_au_resource_fork shared_code_target au_target) | |||||
# In the end, it's simplest to generate a special single-purpose appconfig just for the | |||||
# resource compiler. | |||||
add_custom_command(OUTPUT "${secret_au_plugindefines}" | |||||
- COMMAND juce::juceaide auplugindefines "${defs_file}" "${secret_au_plugindefines}" | |||||
+ COMMAND juceaide7 auplugindefines "${defs_file}" "${secret_au_plugindefines}" | |||||
DEPENDS "${defs_file}" | |||||
VERBATIM) | |||||
@@ -414,7 +414,7 @@ function(juce_add_binary_data target) | |||||
file(WRITE "${input_file_list}" "${newline_delimited_input}") | |||||
add_custom_command(OUTPUT ${binary_file_names} | |||||
- COMMAND juce::juceaide binarydata "${JUCE_ARG_NAMESPACE}" "${JUCE_ARG_HEADER_NAME}" | |||||
+ COMMAND juceaide7 binarydata "${JUCE_ARG_NAMESPACE}" "${JUCE_ARG_HEADER_NAME}" | |||||
${juce_binary_data_folder} "${input_file_list}" | |||||
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} | |||||
DEPENDS "${input_file_list}" | |||||
@@ -498,7 +498,7 @@ function(juce_generate_juce_header target) | |||||
set(extra_args) | |||||
add_custom_command(OUTPUT "${juce_header}" | |||||
- COMMAND juce::juceaide header "${defs_file}" "${juce_header}" ${extra_args} | |||||
+ COMMAND juceaide7 header "${defs_file}" "${juce_header}" ${extra_args} | |||||
DEPENDS "${defs_file}" | |||||
VERBATIM) | |||||
endfunction() | |||||
@@ -506,23 +506,23 @@ endfunction() | |||||
# ================================================================================================== | |||||
function(_juce_execute_juceaide) | |||||
- if(NOT TARGET juce::juceaide) | |||||
+ if(NOT TARGET juceaide7) | |||||
message(FATAL_ERROR "The juceaide target does not exist") | |||||
endif() | |||||
- get_target_property(juceaide_location juce::juceaide IMPORTED_LOCATION) | |||||
+ get_target_property(juceaide7_location juceaide7 IMPORTED_LOCATION) | |||||
- if(NOT EXISTS "${juceaide_location}") | |||||
- message(FATAL_ERROR "juceaide was imported, but it doesn't exist!") | |||||
+ if(NOT EXISTS "${juceaide7_location}") | |||||
+ message(FATAL_ERROR "juceaide7 was imported, but it doesn't exist!") | |||||
endif() | |||||
- execute_process(COMMAND "${juceaide_location}" ${ARGN} | |||||
+ execute_process(COMMAND "${juceaide7_location}" ${ARGN} | |||||
RESULT_VARIABLE result_variable | |||||
OUTPUT_VARIABLE output | |||||
ERROR_VARIABLE output) | |||||
if(result_variable) | |||||
- message(FATAL_ERROR "Running juceaide failed:\n${output}") | |||||
+ message(FATAL_ERROR "Running juceaide7 failed:\n${output}") | |||||
endif() | |||||
endfunction() | |||||
@@ -659,7 +659,7 @@ function(_juce_configure_bundle source_target dest_target) | |||||
MACOSX_BUNDLE_INFO_PLIST "${this_output_plist}") | |||||
add_custom_command(OUTPUT "${this_output_pkginfo}" | |||||
- COMMAND juce::juceaide pkginfo "${juce_kind_string}" "${this_output_pkginfo}" | |||||
+ COMMAND juceaide7 pkginfo "${juce_kind_string}" "${this_output_pkginfo}" | |||||
VERBATIM) | |||||
set(output_folder "$<TARGET_BUNDLE_CONTENT_DIR:${dest_target}>") | |||||
@@ -751,7 +751,7 @@ function(_juce_add_resources_rc source_target dest_target) | |||||
set(resource_rc_file "${juce_library_code}/resources.rc") | |||||
add_custom_command(OUTPUT "${resource_rc_file}" | |||||
- COMMAND juce::juceaide rcfile "${input_info_file}" "${resource_rc_file}" | |||||
+ COMMAND juceaide7 rcfile "${input_info_file}" "${resource_rc_file}" | |||||
${dependency} | |||||
VERBATIM) | |||||
@@ -1024,7 +1024,7 @@ function(_juce_set_plugin_target_properties shared_code_target kind) | |||||
set_target_properties(${target_name} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${output_path}") | |||||
add_custom_command(TARGET ${target_name} POST_BUILD | |||||
- COMMAND juce::juce_lv2_helper "$<TARGET_FILE:${target_name}>" | |||||
+ COMMAND juce7_lv2_helper "$<TARGET_FILE:${target_name}>" | |||||
VERBATIM) | |||||
_juce_set_copy_properties(${shared_code_target} ${target_name} "${output_path}" JUCE_LV2_COPY_DIR) |
@@ -0,0 +1,19 @@ | |||||
diff --git a/extras/Build/CMake/JUCEUtils.cmake b/extras/Build/CMake/JUCEUtils.cmake | |||||
index 58e65087c..6fe706eec 100644 | |||||
--- a/extras/Build/CMake/JUCEUtils.cmake | |||||
+++ b/extras/Build/CMake/JUCEUtils.cmake | |||||
@@ -121,10 +121,10 @@ function(_juce_set_default_properties) | |||||
set_property(GLOBAL PROPERTY JUCE_LV2_COPY_DIR "$ENV{APPDATA}/LV2") | |||||
set_property(GLOBAL PROPERTY JUCE_UNITY_COPY_DIR "$ENV{APPDATA}/Unity") | |||||
elseif((CMAKE_SYSTEM_NAME STREQUAL "Linux") OR (CMAKE_SYSTEM_NAME MATCHES ".*BSD")) | |||||
- set_property(GLOBAL PROPERTY JUCE_LV2_COPY_DIR "$ENV{HOME}/.lv2") | |||||
- set_property(GLOBAL PROPERTY JUCE_VST_COPY_DIR "$ENV{HOME}/.vst") | |||||
- set_property(GLOBAL PROPERTY JUCE_VST3_COPY_DIR "$ENV{HOME}/.vst3") | |||||
- set_property(GLOBAL PROPERTY JUCE_UNITY_COPY_DIR "$ENV{HOME}/.unity") | |||||
+ set_property(GLOBAL PROPERTY JUCE_LV2_COPY_DIR "$ENV{DESTDIR}/usr/lib/lv2") | |||||
+ set_property(GLOBAL PROPERTY JUCE_VST_COPY_DIR "$ENV{DESTDIR}/usr/lib/vst") | |||||
+ set_property(GLOBAL PROPERTY JUCE_VST3_COPY_DIR "$ENV{DESTDIR}/usr/lib/vst3") | |||||
+ set_property(GLOBAL PROPERTY JUCE_UNITY_COPY_DIR "$ENV{DESTDIR}/usr/lib/unity") | |||||
endif() | |||||
endfunction() | |||||
@@ -0,0 +1,26 @@ | |||||
diff --git a/extras/Projucer/Builds/LinuxMakefile/Makefile b/extras/Projucer/Builds/LinuxMakefile/Makefile | |||||
index 96ff38d2e..91729d424 100644 | |||||
--- a/extras/Projucer/Builds/LinuxMakefile/Makefile | |||||
+++ b/extras/Projucer/Builds/LinuxMakefile/Makefile | |||||
@@ -60,7 +60,7 @@ ifeq ($(CONFIG),Release) | |||||
TARGET_ARCH := | |||||
endif | |||||
- JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60106" "-DJUCE_MODULE_AVAILABLE_juce_build_tools=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_LOG_ASSERTIONS=1" "-DJUCE_USE_CURL=1" "-DJUCE_LOAD_CURL_SYMBOLS_LAZILY=1" "-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_WEB_BROWSER=0" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=6.1.6" "-DJUCE_APP_VERSION_HEX=0x60106" $(shell $(PKG_CONFIG) --cflags freetype2) -pthread -I../../JuceLibraryCode -I../../../Build -I../../../../modules $(CPPFLAGS) | |||||
+ JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60106" "-DJUCE_MODULE_AVAILABLE_juce_build_tools=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_LOG_ASSERTIONS=1" "-DJUCE_USE_CURL=0" "-DJUCE_LOAD_CURL_SYMBOLS_LAZILY=1" "-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_WEB_BROWSER=0" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=6.1.6" "-DJUCE_APP_VERSION_HEX=0x60106" $(shell $(PKG_CONFIG) --cflags freetype2) -pthread -I../../JuceLibraryCode -I../../../Build -I../../../../modules $(CPPFLAGS) | |||||
JUCE_CPPFLAGS_APP := "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0" "-DJucePlugin_Build_LV2=0" | |||||
JUCE_TARGET_APP := Projucer | |||||
diff --git a/extras/Projucer/Source/Project/jucer_Project.h b/extras/Projucer/Source/Project/jucer_Project.h | |||||
index b84d91da6..0ae17c508 100644 | |||||
--- a/extras/Projucer/Source/Project/jucer_Project.h | |||||
+++ b/extras/Projucer/Source/Project/jucer_Project.h | |||||
@@ -161,7 +161,7 @@ public: | |||||
static String getPluginDefinesFilename() { return "JucePluginDefines.h"; } | |||||
static String getJuceSourceHFilename() { return "JuceHeader.h"; } | |||||
static String getJuceLV2DefinesFilename() { return "JuceLV2Defines.h"; } | |||||
- static String getLV2FileWriterName() { return "juce_lv2_helper"; } | |||||
+ static String getLV2FileWriterName() { return "juce7_lv2_helper"; } | |||||
//============================================================================== | |||||
template <class FileType> |
@@ -0,0 +1,13 @@ | |||||
diff --git a/modules/juce_gui_basics/juce_gui_basics.h b/modules/juce_gui_basics/juce_gui_basics.h | |||||
index 28097d128..fe635da32 100644 | |||||
--- a/modules/juce_gui_basics/juce_gui_basics.h | |||||
+++ b/modules/juce_gui_basics/juce_gui_basics.h | |||||
@@ -88,7 +88,7 @@ | |||||
the availability of Xinerama is queried during runtime. | |||||
*/ | |||||
#ifndef JUCE_USE_XINERAMA | |||||
- #define JUCE_USE_XINERAMA 1 | |||||
+ #define JUCE_USE_XINERAMA 0 | |||||
#endif | |||||
/** Config: JUCE_USE_XSHM |
@@ -0,0 +1,6 @@ | |||||
01_kxstudio-build.patch | |||||
02_skip-alsa-dependency.patch | |||||
03_versioned-juceaide.patch | |||||
04_copy-to-destdir.patch | |||||
05_projucer-setup.patch | |||||
06_disable-xinerama.patch |
@@ -0,0 +1,32 @@ | |||||
#!/usr/bin/make -f | |||||
include /usr/share/dpkg/kxstudio.mk | |||||
override_dh_auto_configure: | |||||
dh_auto_configure -- \ | |||||
-DCMAKE_BUILD_TYPE=Release \ | |||||
-DCMAKE_INSTALL_PREFIX=/opt/kxstudio \ | |||||
-DJUCE_BUILD_HELPER_TOOLS=ON \ | |||||
-DJUCE_INSTALL_DESTINATION=lib/cmake/JUCE7 | |||||
override_dh_auto_build: | |||||
dh_auto_build | |||||
make -C extras/Projucer/Builds/LinuxMakefile CONFIG=Release | |||||
override_dh_auto_clean: | |||||
dh_auto_clean | |||||
rm -rf extras/Projucer/Builds/LinuxMakefile/build | |||||
override_dh_auto_install: | |||||
dh_auto_install | |||||
install -d $(CURDIR)/debian/tmp/opt/kxstudio/bin | |||||
install -m 755 $(CURDIR)/extras/Projucer/Builds/LinuxMakefile/build/Projucer \ | |||||
$(CURDIR)/debian/tmp/opt/kxstudio/bin/Projucer7 | |||||
install -m 755 $(CURDIR)/obj-*/extras/Build/juceaide/juceaide_artefacts/Release/juceaide \ | |||||
$(CURDIR)/debian/tmp/opt/kxstudio/bin/juceaide7 | |||||
mv $(CURDIR)/debian/tmp/opt/kxstudio/bin/JUCE-6.1.6/juce_lv2_helper \ | |||||
$(CURDIR)/debian/tmp/opt/kxstudio/bin/juce7_lv2_helper | |||||
rmdir $(CURDIR)/debian/tmp/opt/kxstudio/bin/JUCE-6.1.6 | |||||
%: | |||||
dh $@ -Scmake |
@@ -0,0 +1 @@ | |||||
3.0 (quilt) |
@@ -0,0 +1 @@ | |||||
/usr/share/man/man1/sndfile-interleave.1 /usr/share/man/man1/sndfile-deinterleave.1 |