Browse Source

Add distrho-juce7 package

Signed-off-by: falkTX <falktx@falktx.com>
master
falkTX 2 years ago
parent
commit
a60e50ca17
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
15 changed files with 297 additions and 0 deletions
  1. +5
    -0
      sources/libs/distrho-juce7/debian/changelog
  2. +47
    -0
      sources/libs/distrho-juce7/debian/control
  3. +1
    -0
      sources/libs/distrho-juce7/debian/distrho-juce7-bin.install
  4. +2
    -0
      sources/libs/distrho-juce7/debian/distrho-juce7-dev.install
  5. +1
    -0
      sources/libs/distrho-juce7/debian/distrho-juce7-dev.links
  6. +13
    -0
      sources/libs/distrho-juce7/debian/patches/01_kxstudio-build.patch
  7. +21
    -0
      sources/libs/distrho-juce7/debian/patches/02_skip-alsa-dependency.patch
  8. +109
    -0
      sources/libs/distrho-juce7/debian/patches/03_versioned-juceaide.patch
  9. +19
    -0
      sources/libs/distrho-juce7/debian/patches/04_copy-to-destdir.patch
  10. +26
    -0
      sources/libs/distrho-juce7/debian/patches/05_projucer-setup.patch
  11. +13
    -0
      sources/libs/distrho-juce7/debian/patches/06_disable-xinerama.patch
  12. +6
    -0
      sources/libs/distrho-juce7/debian/patches/series
  13. +32
    -0
      sources/libs/distrho-juce7/debian/rules
  14. +1
    -0
      sources/libs/distrho-juce7/debian/source/format
  15. +1
    -0
      sources/libs/libsndfile-static/debian/sndfile-programs.links

+ 5
- 0
sources/libs/distrho-juce7/debian/changelog View File

@@ -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

+ 47
- 0
sources/libs/distrho-juce7/debian/control View File

@@ -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.

+ 1
- 0
sources/libs/distrho-juce7/debian/distrho-juce7-bin.install View File

@@ -0,0 +1 @@
/opt/kxstudio/bin

+ 2
- 0
sources/libs/distrho-juce7/debian/distrho-juce7-dev.install View File

@@ -0,0 +1,2 @@
/opt/kxstudio/include
/opt/kxstudio/lib

+ 1
- 0
sources/libs/distrho-juce7/debian/distrho-juce7-dev.links View File

@@ -0,0 +1 @@
/opt/kxstudio/lib/cmake/JUCE7/JUCEConfig.cmake /opt/kxstudio/lib/cmake/JUCE7/JUCE6Config.cmake

+ 13
- 0
sources/libs/distrho-juce7/debian/patches/01_kxstudio-build.patch View File

@@ -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")

+ 21
- 0
sources/libs/distrho-juce7/debian/patches/02_skip-alsa-dependency.patch View File

@@ -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

+ 109
- 0
sources/libs/distrho-juce7/debian/patches/03_versioned-juceaide.patch View File

@@ -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)

+ 19
- 0
sources/libs/distrho-juce7/debian/patches/04_copy-to-destdir.patch View File

@@ -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()

+ 26
- 0
sources/libs/distrho-juce7/debian/patches/05_projucer-setup.patch View File

@@ -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>

+ 13
- 0
sources/libs/distrho-juce7/debian/patches/06_disable-xinerama.patch View File

@@ -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

+ 6
- 0
sources/libs/distrho-juce7/debian/patches/series View File

@@ -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

+ 32
- 0
sources/libs/distrho-juce7/debian/rules View File

@@ -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

+ 1
- 0
sources/libs/distrho-juce7/debian/source/format View File

@@ -0,0 +1 @@
3.0 (quilt)

+ 1
- 0
sources/libs/libsndfile-static/debian/sndfile-programs.links View File

@@ -0,0 +1 @@
/usr/share/man/man1/sndfile-interleave.1 /usr/share/man/man1/sndfile-deinterleave.1

Loading…
Cancel
Save