From 1b1cfa1ff15b37984d0b7c74207f19368c930d4f Mon Sep 17 00:00:00 2001 From: falkTX Date: Sun, 8 May 2022 15:55:56 +0100 Subject: [PATCH] Add lv2 and sratom, fixup fluidsynth and libsamplerate Signed-off-by: falkTX --- .../libs/fluidsynth-static/debian/changelog | 2 +- sources/libs/fluidsynth-static/debian/control | 2 +- .../debian/patches/02_force-libs.patch | 2 +- .../libsamplerate-static/debian/changelog | 2 +- .../libs/libsamplerate-static/debian/control | 2 +- sources/libs/lv2/debian/changelog | 5 + sources/libs/lv2/debian/control | 45 ++ ...a58b32839491335b5bcbda46e11c4b209cbc.patch | 21 + ...5453bc12ac1d91183d3bc3642e4055c9aa26.patch | 135 ++++++ ...32eade7b08360fbadf6d16ed7a1ee7481faf.patch | 25 + ...59daacc377a2dba97723097338fceffd6ef8.patch | 36 ++ ...f1d357f278b1b3fd1eb2fd8354cd6c6a226a.patch | 24 + ...46878c9127afbe60e69f0afa3e64632a20c7.patch | 27 ++ ...1be2808471f99437e1effef0c83be4688b57.patch | 70 +++ ...bde78f3422e4f9415ff452fcd858ee544cd0.patch | 134 ++++++ ...a3c2806f846c104ba2e0c5816886ab310c1b.patch | 74 +++ ...31462274bb6c395ff1b63cf7c1016d7bb088.patch | 298 ++++++++++++ ...02500176b328a6a5752df2a170538cc9594c.patch | 104 ++++ ...20958acf5b88f366e5bc99e3009a7beca104.patch | 245 ++++++++++ ...57d4c563601fc993d164dff3d4b0cffc5420.patch | 449 ++++++++++++++++++ ...2f853820810bc1203aa8507600c1d6e44a68.patch | 76 +++ ...d4c13380da4e06fe9497c41a251038eaf5d4.patch | 43 ++ ...7285f93ec2304553dfc8c6bbbfbe05566b04.patch | 25 + ...51290ce42c2542b427ea0402930e5af7d899.patch | 24 + ...839d8d3607e7055d4f370880e1438bf9ca23.patch | 90 ++++ ...c7df1a6158c79d23029df183c09b10b88cad.patch | 34 ++ ...7e661558983f6811f1281f21c5073d0d19c6.patch | 65 +++ ...fc1a4724ed153d3ffebb04e67faff50766d5.patch | 111 +++++ ...b96062ac5942fe797a6bae84f22a92e18b45.patch | 23 + ...8f419edeb85f54e6e0442515fc8be410ad5b.patch | 36 ++ ...0e32d87f91ffe434f0f58c6cc0c8ff77ff5e.patch | 62 +++ sources/libs/lv2/debian/patches/series | 24 + sources/libs/lv2/debian/rules | 34 ++ sources/libs/lv2/debian/source/format | 1 + sources/libs/sratom-static/debian/changelog | 5 + sources/libs/sratom-static/debian/control | 30 ++ .../debian/patches/01_dont-run-ldconfig.patch | 12 + .../debian/patches/02_hidden-sratom-api.patch | 21 + .../debian/patches/03_fix-libs.patch | 9 + .../libs/sratom-static/debian/patches/series | 3 + sources/libs/sratom-static/debian/rules | 29 ++ .../libs/sratom-static/debian/source/format | 1 + 42 files changed, 2455 insertions(+), 5 deletions(-) create mode 100644 sources/libs/lv2/debian/changelog create mode 100644 sources/libs/lv2/debian/control create mode 100644 sources/libs/lv2/debian/patches/001_ba34a58b32839491335b5bcbda46e11c4b209cbc.patch create mode 100644 sources/libs/lv2/debian/patches/002_db715453bc12ac1d91183d3bc3642e4055c9aa26.patch create mode 100644 sources/libs/lv2/debian/patches/003_446232eade7b08360fbadf6d16ed7a1ee7481faf.patch create mode 100644 sources/libs/lv2/debian/patches/004_611759daacc377a2dba97723097338fceffd6ef8.patch create mode 100644 sources/libs/lv2/debian/patches/005_ff22f1d357f278b1b3fd1eb2fd8354cd6c6a226a.patch create mode 100644 sources/libs/lv2/debian/patches/006_253346878c9127afbe60e69f0afa3e64632a20c7.patch create mode 100644 sources/libs/lv2/debian/patches/007_89321be2808471f99437e1effef0c83be4688b57.patch create mode 100644 sources/libs/lv2/debian/patches/008_7485bde78f3422e4f9415ff452fcd858ee544cd0.patch create mode 100644 sources/libs/lv2/debian/patches/009_e0b9a3c2806f846c104ba2e0c5816886ab310c1b.patch create mode 100644 sources/libs/lv2/debian/patches/010_50f531462274bb6c395ff1b63cf7c1016d7bb088.patch create mode 100644 sources/libs/lv2/debian/patches/011_b37402500176b328a6a5752df2a170538cc9594c.patch create mode 100644 sources/libs/lv2/debian/patches/012_3a4020958acf5b88f366e5bc99e3009a7beca104.patch create mode 100644 sources/libs/lv2/debian/patches/013_a5fe57d4c563601fc993d164dff3d4b0cffc5420.patch create mode 100644 sources/libs/lv2/debian/patches/014_fe222f853820810bc1203aa8507600c1d6e44a68.patch create mode 100644 sources/libs/lv2/debian/patches/015_8817d4c13380da4e06fe9497c41a251038eaf5d4.patch create mode 100644 sources/libs/lv2/debian/patches/016_3f6e7285f93ec2304553dfc8c6bbbfbe05566b04.patch create mode 100644 sources/libs/lv2/debian/patches/017_7f7451290ce42c2542b427ea0402930e5af7d899.patch create mode 100644 sources/libs/lv2/debian/patches/018_0fb0839d8d3607e7055d4f370880e1438bf9ca23.patch create mode 100644 sources/libs/lv2/debian/patches/019_6cefc7df1a6158c79d23029df183c09b10b88cad.patch create mode 100644 sources/libs/lv2/debian/patches/101_79067e661558983f6811f1281f21c5073d0d19c6.patch create mode 100644 sources/libs/lv2/debian/patches/102_b0e2fc1a4724ed153d3ffebb04e67faff50766d5.patch create mode 100644 sources/libs/lv2/debian/patches/103_6820b96062ac5942fe797a6bae84f22a92e18b45.patch create mode 100644 sources/libs/lv2/debian/patches/104_6cf78f419edeb85f54e6e0442515fc8be410ad5b.patch create mode 100644 sources/libs/lv2/debian/patches/105_0fe90e32d87f91ffe434f0f58c6cc0c8ff77ff5e.patch create mode 100644 sources/libs/lv2/debian/patches/series create mode 100755 sources/libs/lv2/debian/rules create mode 100644 sources/libs/lv2/debian/source/format create mode 100644 sources/libs/sratom-static/debian/changelog create mode 100644 sources/libs/sratom-static/debian/control create mode 100644 sources/libs/sratom-static/debian/patches/01_dont-run-ldconfig.patch create mode 100644 sources/libs/sratom-static/debian/patches/02_hidden-sratom-api.patch create mode 100644 sources/libs/sratom-static/debian/patches/03_fix-libs.patch create mode 100644 sources/libs/sratom-static/debian/patches/series create mode 100755 sources/libs/sratom-static/debian/rules create mode 100644 sources/libs/sratom-static/debian/source/format diff --git a/sources/libs/fluidsynth-static/debian/changelog b/sources/libs/fluidsynth-static/debian/changelog index 0c51513..0d1aeb8 100644 --- a/sources/libs/fluidsynth-static/debian/changelog +++ b/sources/libs/fluidsynth-static/debian/changelog @@ -1,4 +1,4 @@ -fluidsynth-static (6:1.1.11-1kxstudio3) focal; urgency=medium +fluidsynth-static (6:1.1.11-1kxstudio4) focal; urgency=medium * Initial package diff --git a/sources/libs/fluidsynth-static/debian/control b/sources/libs/fluidsynth-static/debian/control index bb3a8a6..7434f03 100644 --- a/sources/libs/fluidsynth-static/debian/control +++ b/sources/libs/fluidsynth-static/debian/control @@ -6,7 +6,7 @@ Build-Depends: debhelper-compat (= 13), kxstudio-build-scripts, cmake, pkg-config, - libsndfile-static, + libsndfile-static (>= 6:1.1.0-2kxstudio2), libglib2.0-dev Standards-Version: 4.5.0 Homepage: https://www.fluidsynth.org/ diff --git a/sources/libs/fluidsynth-static/debian/patches/02_force-libs.patch b/sources/libs/fluidsynth-static/debian/patches/02_force-libs.patch index 9bffec8..c6efb17 100644 --- a/sources/libs/fluidsynth-static/debian/patches/02_force-libs.patch +++ b/sources/libs/fluidsynth-static/debian/patches/02_force-libs.patch @@ -5,5 +5,5 @@ Description: Software SoundFont synth Version: @VERSION@ -Libs: -L${libdir} -lfluidsynth -+Libs: -L${libdir} -lfluidsynth -lglib-2.0 -lgthread-2.0 -lsndfile -lFLAC -lvorbisenc -lvorbis -logg -lpthread -lrt -lm ++Libs: -L${libdir} -lfluidsynth -lglib-2.0 -lgthread-2.0 -lsndfile -lmp3lame -lmpg123 -lopus -lFLAC -lvorbisenc -lvorbis -logg -lpthread -lrt -lm Cflags: -I${includedir} diff --git a/sources/libs/libsamplerate-static/debian/changelog b/sources/libs/libsamplerate-static/debian/changelog index 8486ca4..5efdf3c 100644 --- a/sources/libs/libsamplerate-static/debian/changelog +++ b/sources/libs/libsamplerate-static/debian/changelog @@ -1,4 +1,4 @@ -libsamplerate-static (6:0.2.2-1kxstudio1) focal; urgency=medium +libsamplerate-static (6:0.2.2-1kxstudio2) focal; urgency=medium * Initial package diff --git a/sources/libs/libsamplerate-static/debian/control b/sources/libs/libsamplerate-static/debian/control index d4ab31a..72e659d 100644 --- a/sources/libs/libsamplerate-static/debian/control +++ b/sources/libs/libsamplerate-static/debian/control @@ -8,7 +8,7 @@ Build-Depends: debhelper-compat (= 13), automake, libtool, pkg-config, - libsndfile-static, + libsndfile-static (>= 6:1.1.0-2kxstudio2), fftw3-static Standards-Version: 4.5.0 Homepage: http://www.mega-nerd.com/SRC/ diff --git a/sources/libs/lv2/debian/changelog b/sources/libs/lv2/debian/changelog new file mode 100644 index 0000000..d83f028 --- /dev/null +++ b/sources/libs/lv2/debian/changelog @@ -0,0 +1,5 @@ +lv2 (6:1.18.2-1kxstudio1) focal; urgency=medium + + * Initial package + + -- falkTX Sun, 17 Apr 2022 15:05:47 +0100 diff --git a/sources/libs/lv2/debian/control b/sources/libs/lv2/debian/control new file mode 100644 index 0000000..f5bc05f --- /dev/null +++ b/sources/libs/lv2/debian/control @@ -0,0 +1,45 @@ +Source: lv2 +Section: libs +Priority: optional +Maintainer: falkTX +Build-Depends: debhelper-compat (= 13), + kxstudio-build-scripts, + python3, + pkg-config, + libsndfile-static, + libsamplerate-static, + libgtk2.0-dev, + lcov +Standards-Version: 4.5.0 +Homepage: http://lv2plug.in/ +Rules-Requires-Root: no + +Package: lv2-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Depends: ${misc:Depends}, ${shlibs:Depends}, sordi +# mod-sdk-lv2, kxstudio-lv2-extensions +Description: LV2 audio plugin specification + LV2 is a simple but extensible successor of LADSPA plugins, + intended to address the limitations of LADSPA which many + applications have outgrown. + . + This package contains the LV2 audio plugin specification, + with all the official extension packages, as well as example + plugins, lv2specgen, and additional data. + . + Implementations are encouraged to abandon the “copy paste + headers” practice and depend on this package instead. + +Package: lv2-examples +Section: sound +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends} +Provides: lv2-plugin +Description: LV2 audio plugin specification (example plugins) + LV2 is a simple but extensible successor of LADSPA plugins, + intended to address the limitations of LADSPA which many + applications have outgrown. + . + This package contains some LV2 example plugins. diff --git a/sources/libs/lv2/debian/patches/001_ba34a58b32839491335b5bcbda46e11c4b209cbc.patch b/sources/libs/lv2/debian/patches/001_ba34a58b32839491335b5bcbda46e11c4b209cbc.patch new file mode 100644 index 0000000..bcb5299 --- /dev/null +++ b/sources/libs/lv2/debian/patches/001_ba34a58b32839491335b5bcbda46e11c4b209cbc.patch @@ -0,0 +1,21 @@ +From ba34a58b32839491335b5bcbda46e11c4b209cbc Mon Sep 17 00:00:00 2001 +From: Alexandros Theodotou +Date: Fri, 12 Feb 2021 07:52:56 +0000 +Subject: [PATCH] Add missing LV2_CORE__enabled define + +--- + lv2/core/lv2.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lv2/core/lv2.h b/lv2/core/lv2.h +index 82bc7ab8..783fe864 100644 +--- a/lv2/core/lv2.h ++++ b/lv2/core/lv2.h +@@ -105,6 +105,7 @@ + #define LV2_CORE__default LV2_CORE_PREFIX "default" ///< http://lv2plug.in/ns/lv2core#default + #define LV2_CORE__designation LV2_CORE_PREFIX "designation" ///< http://lv2plug.in/ns/lv2core#designation + #define LV2_CORE__documentation LV2_CORE_PREFIX "documentation" ///< http://lv2plug.in/ns/lv2core#documentation ++#define LV2_CORE__enabled LV2_CORE_PREFIX "enabled" ///< http://lv2plug.in/ns/lv2core#enabled + #define LV2_CORE__enumeration LV2_CORE_PREFIX "enumeration" ///< http://lv2plug.in/ns/lv2core#enumeration + #define LV2_CORE__extensionData LV2_CORE_PREFIX "extensionData" ///< http://lv2plug.in/ns/lv2core#extensionData + #define LV2_CORE__freeWheeling LV2_CORE_PREFIX "freeWheeling" ///< http://lv2plug.in/ns/lv2core#freeWheeling diff --git a/sources/libs/lv2/debian/patches/002_db715453bc12ac1d91183d3bc3642e4055c9aa26.patch b/sources/libs/lv2/debian/patches/002_db715453bc12ac1d91183d3bc3642e4055c9aa26.patch new file mode 100644 index 0000000..edc7037 --- /dev/null +++ b/sources/libs/lv2/debian/patches/002_db715453bc12ac1d91183d3bc3642e4055c9aa26.patch @@ -0,0 +1,135 @@ +From db715453bc12ac1d91183d3bc3642e4055c9aa26 Mon Sep 17 00:00:00 2001 +From: Reuben Thomas +Date: Wed, 17 Feb 2021 23:32:12 +0000 +Subject: [PATCH] Fix typos in docstrings + +--- + lv2/atom/forge.h | 6 +++--- + lv2/core/lv2.h | 2 +- + lv2/dynmanifest/dynmanifest.h | 2 +- + lv2/event/event.h | 2 +- + lv2/log/logger.h | 2 +- + lv2/state/state.h | 2 +- + lv2/ui/ui.h | 6 +++--- + 7 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/lv2/atom/forge.h b/lv2/atom/forge.h +index 714df7e5..5cf3551e 100644 +--- a/lv2/atom/forge.h ++++ b/lv2/atom/forge.h +@@ -27,8 +27,8 @@ + must be popped when the container is finished. + + All output is written to a user-provided buffer or sink function. This +- makes it popssible to create create atoms on the stack, on the heap, in LV2 +- port buffers, in a ringbuffer, or elsewhere, all using the same API. ++ makes it possible to create atoms on the stack, on the heap, in LV2 port ++ buffers, in a ringbuffer, or elsewhere, all using the same API. + + This entire API is realtime safe if used with a buffer or a realtime safe + sink, except lv2_atom_forge_init() which is only realtime safe if the URI +@@ -282,7 +282,7 @@ lv2_atom_forge_set_sink(LV2_Atom_Forge* forge, + /** + Write raw output. This is used internally, but is also useful for writing + atom types not explicitly supported by the forge API. Note the caller is +- responsible for ensuring the output is approriately padded. ++ responsible for ensuring the output is appropriately padded. + */ + static inline LV2_Atom_Forge_Ref + lv2_atom_forge_raw(LV2_Atom_Forge* forge, const void* data, uint32_t size) +diff --git a/lv2/core/lv2.h b/lv2/core/lv2.h +index 783fe864..84c40a50 100644 +--- a/lv2/core/lv2.h ++++ b/lv2/core/lv2.h +@@ -338,7 +338,7 @@ typedef struct LV2_Descriptor { + void (*cleanup)(LV2_Handle instance); + + /** +- Return additional plugin data defined by some extenion. ++ Return additional plugin data defined by some extension. + + A typical use of this facility is to return a struct containing function + pointers to extend the LV2_Descriptor API. +diff --git a/lv2/dynmanifest/dynmanifest.h b/lv2/dynmanifest/dynmanifest.h +index 6181f71e..674577b5 100644 +--- a/lv2/dynmanifest/dynmanifest.h ++++ b/lv2/dynmanifest/dynmanifest.h +@@ -84,7 +84,7 @@ lv2_dyn_manifest_open(LV2_Dyn_Manifest_Handle* handle, + + a lv2:Plugin . + +- The objects that are elegible for exposure are those that would need to be ++ The objects that are eligible for exposure are those that would need to be + represented by a subject node in a static manifest. + + @param handle Dynamic manifest generator handle. +diff --git a/lv2/event/event.h b/lv2/event/event.h +index d55d5cf4..045ac124 100644 +--- a/lv2/event/event.h ++++ b/lv2/event/event.h +@@ -61,7 +61,7 @@ LV2_DISABLE_DEPRECATION_WARNINGS + + /** + The best Pulses Per Quarter Note for tempo-based uint32_t timestamps. +- Equal to 2^12 * 5 * 7 * 9 * 11 * 13 * 17, which is evenly divisble ++ Equal to 2^12 * 5 * 7 * 9 * 11 * 13 * 17, which is evenly divisible + by all integers from 1 through 18 inclusive, and powers of 2 up to 2^12. + */ + LV2_DEPRECATED +diff --git a/lv2/log/logger.h b/lv2/log/logger.h +index e12b0eb4..d6919a2f 100644 +--- a/lv2/log/logger.h ++++ b/lv2/log/logger.h +@@ -23,7 +23,7 @@ + + Convenience API for easy logging in plugin code. This API provides simple + wrappers for logging from a plugin, which automatically fall back to +- printing to stderr if host support is unavailabe. ++ printing to stderr if host support is unavailable. + + @{ + */ +diff --git a/lv2/state/state.h b/lv2/state/state.h +index 70972d84..e526d855 100644 +--- a/lv2/state/state.h ++++ b/lv2/state/state.h +@@ -76,7 +76,7 @@ typedef enum { + Values with this flag contain no pointers or references to other areas + of memory. It is safe to copy POD values with a simple memcpy and store + them for the duration of the process. A POD value is not necessarily +- safe to trasmit between processes or machines (for example, filenames ++ safe to transmit between processes or machines (for example, filenames + are POD), see LV2_STATE_IS_PORTABLE for details. + + Implementations MUST NOT attempt to copy or serialise a non-POD value if +diff --git a/lv2/ui/ui.h b/lv2/ui/ui.h +index 61b3b54b..fb41d90d 100644 +--- a/lv2/ui/ui.h ++++ b/lv2/ui/ui.h +@@ -202,7 +202,7 @@ typedef struct LV2UI_Descriptor { + + By default, the host should only call this function for lv2:ControlPort + inputs. However, the UI can request updates for other ports statically +- with ui:portNotification or dynamicaly with ui:portSubscribe. ++ with ui:portNotification or dynamically with ui:portSubscribe. + + The UI MUST NOT retain any reference to `buffer` after this function + returns, it is only valid for the duration of the call. +@@ -357,7 +357,7 @@ typedef enum { + /** + Completed successfully. + +- The host will set the parameter later if the user choses a new value. ++ The host will set the parameter later if the user chooses a new value. + */ + LV2UI_REQUEST_VALUE_SUCCESS, + +@@ -405,7 +405,7 @@ typedef struct { + any parameter value. + + This function returns immediately, and the return value indicates +- whether the host can fulfill the request. The host may notify the ++ whether the host can fulfil the request. The host may notify the + plugin about the new parameter value, for example when a file is + selected by the user, via the usual mechanism. Typically, the host will + send a message to the plugin that sets the new parameter value, and the diff --git a/sources/libs/lv2/debian/patches/003_446232eade7b08360fbadf6d16ed7a1ee7481faf.patch b/sources/libs/lv2/debian/patches/003_446232eade7b08360fbadf6d16ed7a1ee7481faf.patch new file mode 100644 index 0000000..af523b0 --- /dev/null +++ b/sources/libs/lv2/debian/patches/003_446232eade7b08360fbadf6d16ed7a1ee7481faf.patch @@ -0,0 +1,25 @@ +From 446232eade7b08360fbadf6d16ed7a1ee7481faf Mon Sep 17 00:00:00 2001 +From: Filipe Coelho +Date: Wed, 10 Mar 2021 14:00:47 +0000 +Subject: [PATCH] eg-sampler: Fix out of bounds sample read after loading new + file + +--- + plugins/eg-sampler.lv2/sampler.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/plugins/eg-sampler.lv2/sampler.c b/plugins/eg-sampler.lv2/sampler.c +index 6c64df51..1efad3cb 100644 +--- a/plugins/eg-sampler.lv2/sampler.c ++++ b/plugins/eg-sampler.lv2/sampler.c +@@ -211,6 +211,10 @@ work_response(LV2_Handle instance, uint32_t size, const void* data) + // Install the new sample + self->sample = *(Sample* const*)data; + ++ // Stop playing previous sample, which can be larger than new one ++ self->frame = 0; ++ self->play = false; ++ + // Schedule work to free the old sample + SampleMessage msg = {{sizeof(Sample*), self->uris.eg_freeSample}, old_sample}; + self->schedule->schedule_work(self->schedule->handle, sizeof(msg), &msg); diff --git a/sources/libs/lv2/debian/patches/004_611759daacc377a2dba97723097338fceffd6ef8.patch b/sources/libs/lv2/debian/patches/004_611759daacc377a2dba97723097338fceffd6ef8.patch new file mode 100644 index 0000000..45d1f63 --- /dev/null +++ b/sources/libs/lv2/debian/patches/004_611759daacc377a2dba97723097338fceffd6ef8.patch @@ -0,0 +1,36 @@ +From 611759daacc377a2dba97723097338fceffd6ef8 Mon Sep 17 00:00:00 2001 +From: David Robillard +Date: Wed, 10 Mar 2021 13:55:56 -0500 +Subject: [PATCH] Fix warnings with VS2019 + +--- + lv2/core/lv2_util.h | 2 +- + plugins/eg-metro.lv2/metro.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lv2/core/lv2_util.h b/lv2/core/lv2_util.h +index 5dab8a02..f3766aaf 100644 +--- a/lv2/core/lv2_util.h ++++ b/lv2/core/lv2_util.h +@@ -81,7 +81,7 @@ lv2_features_query(const LV2_Feature* const* features, ...) + const char* uri = NULL; + while ((uri = va_arg(args, const char*))) { + void** data = va_arg(args, void**); +- bool required = va_arg(args, int); ++ bool required = (bool)va_arg(args, int); + + *data = lv2_features_data(features, uri); + if (required && !*data) { +diff --git a/plugins/eg-metro.lv2/metro.c b/plugins/eg-metro.lv2/metro.c +index 46ca41b8..87a90292 100644 +--- a/plugins/eg-metro.lv2/metro.c ++++ b/plugins/eg-metro.lv2/metro.c +@@ -223,7 +223,7 @@ play(Metro* self, uint32_t begin, uint32_t end) + switch (self->state) { + case STATE_ATTACK: + // Amplitude increases from 0..1 until attack_len +- output[i] = self->wave[self->wave_offset] * self->elapsed_len / ++ output[i] = self->wave[self->wave_offset] * (float)self->elapsed_len / + (float)self->attack_len; + if (self->elapsed_len >= self->attack_len) { + self->state = STATE_DECAY; diff --git a/sources/libs/lv2/debian/patches/005_ff22f1d357f278b1b3fd1eb2fd8354cd6c6a226a.patch b/sources/libs/lv2/debian/patches/005_ff22f1d357f278b1b3fd1eb2fd8354cd6c6a226a.patch new file mode 100644 index 0000000..9b9047a --- /dev/null +++ b/sources/libs/lv2/debian/patches/005_ff22f1d357f278b1b3fd1eb2fd8354cd6c6a226a.patch @@ -0,0 +1,24 @@ +From ff22f1d357f278b1b3fd1eb2fd8354cd6c6a226a Mon Sep 17 00:00:00 2001 +From: David Robillard +Date: Thu, 11 Mar 2021 13:33:31 -0500 +Subject: [PATCH] Add missing class label + +--- + schemas.lv2/dcs.ttl | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/schemas.lv2/dcs.ttl b/schemas.lv2/dcs.ttl +index 37b1e109..44bf294e 100644 +--- a/schemas.lv2/dcs.ttl ++++ b/schemas.lv2/dcs.ttl +@@ -180,7 +180,9 @@ dcs:file + rdfs:comment "A file involved in the change."@en ; + rdfs:domain dcs:Change . + +-dbug:Issue a rdfs:Class . ++dbug:Issue ++ a rdfs:Class ; ++ rdfs:label "Issue"@en . + + dcs:fixes + a owl:ObjectProperty ; diff --git a/sources/libs/lv2/debian/patches/006_253346878c9127afbe60e69f0afa3e64632a20c7.patch b/sources/libs/lv2/debian/patches/006_253346878c9127afbe60e69f0afa3e64632a20c7.patch new file mode 100644 index 0000000..59b073d --- /dev/null +++ b/sources/libs/lv2/debian/patches/006_253346878c9127afbe60e69f0afa3e64632a20c7.patch @@ -0,0 +1,27 @@ +From 253346878c9127afbe60e69f0afa3e64632a20c7 Mon Sep 17 00:00:00 2001 +From: David Robillard +Date: Thu, 11 Mar 2021 13:33:42 -0500 +Subject: [PATCH] Remove subclass cycle + +It's unfortunate to diverge from the canonical document, but most of these +third-party schemas already do anyway. This may be technically fine according +to rdfs (I'm not sure), but it's better for the LV2 universe as a whole to +consistently eliminate such things. +--- + schemas.lv2/dct.ttl | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/schemas.lv2/dct.ttl b/schemas.lv2/dct.ttl +index 5cdd5047..d8fd1962 100644 +--- a/schemas.lv2/dct.ttl ++++ b/schemas.lv2/dct.ttl +@@ -22,8 +22,7 @@ dcterms:AgentClass + dcterms:description "Examples of Agent Class include groups seen as classes, such as students, women, charities, lecturers."@en-us ; + rdfs:comment "A group of agents."@en-us ; + rdfs:isDefinedBy dcterms: ; +- rdfs:label "Agent Class"@en-us ; +- rdfs:subClassOf dcterms:AgentClass . ++ rdfs:label "Agent Class"@en-us . + + dcterms:LicenseDocument + a rdfs:Class ; diff --git a/sources/libs/lv2/debian/patches/007_89321be2808471f99437e1effef0c83be4688b57.patch b/sources/libs/lv2/debian/patches/007_89321be2808471f99437e1effef0c83be4688b57.patch new file mode 100644 index 0000000..19f279a --- /dev/null +++ b/sources/libs/lv2/debian/patches/007_89321be2808471f99437e1effef0c83be4688b57.patch @@ -0,0 +1,70 @@ +From 89321be2808471f99437e1effef0c83be4688b57 Mon Sep 17 00:00:00 2001 +From: David Robillard +Date: Thu, 11 Mar 2021 13:40:13 -0500 +Subject: [PATCH] Fix whitespace in xsd.ttl + +--- + schemas.lv2/xsd.ttl | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/schemas.lv2/xsd.ttl b/schemas.lv2/xsd.ttl +index 54d3ad8c..d22687b3 100644 +--- a/schemas.lv2/xsd.ttl ++++ b/schemas.lv2/xsd.ttl +@@ -166,7 +166,7 @@ xsd:float + + xsd:fractionDigits + a rdf:Property , +- owl:DatatypeProperty ; ++ owl:DatatypeProperty ; + rdfs:comment "The total number of digits to the right of the decimal point required to represent a value." ; + rdfs:label "fraction digits" ; + rdfs:range xsd:nonNegativeInteger . +@@ -277,25 +277,25 @@ xsd:long + + xsd:maxExclusive + a rdf:Property , +- owl:DatatypeProperty ; ++ owl:DatatypeProperty ; + rdfs:comment "The exclusive upper bound of an ordered datatype." ; + rdfs:label "max exclusive" . + + xsd:maxInclusive + a rdf:Property , +- owl:DatatypeProperty ; ++ owl:DatatypeProperty ; + rdfs:comment "The inclusive upper bound of an ordered datatype." ; + rdfs:label "max inclusive" . + + xsd:minExclusive + a rdf:Property , +- owl:DatatypeProperty ; ++ owl:DatatypeProperty ; + rdfs:comment "The exclusive lower bound of an ordered datatype." ; + rdfs:label "min exclusive" . + + xsd:minInclusive + a rdf:Property , +- owl:DatatypeProperty ; ++ owl:DatatypeProperty ; + rdfs:comment "The inclusive lower bound of an ordered datatype." ; + rdfs:label "min inclusive" . + +@@ -346,7 +346,7 @@ xsd:normalizedString + + xsd:pattern + a rdf:Property , +- owl:DatatypeProperty ; ++ owl:DatatypeProperty ; + rdfs:comment "A regular expression that matches complete valid literals." ; + rdfs:label "pattern" . + +@@ -425,7 +425,7 @@ xsd:token + + xsd:totalDigits + a rdf:Property , +- owl:DatatypeProperty ; ++ owl:DatatypeProperty ; + rdfs:comment "The maximum number of decimal digits required to represent a value." ; + rdfs:label "total digits" ; + rdfs:range xsd:positiveInteger . diff --git a/sources/libs/lv2/debian/patches/008_7485bde78f3422e4f9415ff452fcd858ee544cd0.patch b/sources/libs/lv2/debian/patches/008_7485bde78f3422e4f9415ff452fcd858ee544cd0.patch new file mode 100644 index 0000000..a432734 --- /dev/null +++ b/sources/libs/lv2/debian/patches/008_7485bde78f3422e4f9415ff452fcd858ee544cd0.patch @@ -0,0 +1,134 @@ +From 7485bde78f3422e4f9415ff452fcd858ee544cd0 Mon Sep 17 00:00:00 2001 +From: David Robillard +Date: Thu, 11 Mar 2021 13:40:30 -0500 +Subject: [PATCH] Fix pattern restrictions in xsd.ttl + +This fixes the patterns to properly match the spec (several were too strict or +otherwise impresive), and also reduces the regex syntax used to a basic and +nearly universal subset (without the use of counted replication) that should be +supported and handled consistently by even a very basic implementation. +--- + schemas.lv2/xsd.ttl | 26 ++++++++++++++------------ + 1 file changed, 14 insertions(+), 12 deletions(-) + +diff --git a/schemas.lv2/xsd.ttl b/schemas.lv2/xsd.ttl +index d22687b3..01be2e4d 100644 +--- a/schemas.lv2/xsd.ttl ++++ b/schemas.lv2/xsd.ttl +@@ -61,7 +61,7 @@ xsd:base64Binary + owl:onDatatype xsd:anySimpleType ; + owl:withRestrictions ( + [ +- xsd:pattern "(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?" ++ xsd:pattern "(([A-Za-z0-9+/] *[A-Za-z0-9+/] *[A-Za-z0-9+/] *[A-Za-z0-9+/] *)*(([A-Za-z0-9+/] *[A-Za-z0-9+/] *[A-Za-z0-9+/] *[A-Za-z0-9+/])|([A-Za-z0-9+/] *[A-Za-z0-9+/] *[AEIMQUYcgkosw048] *=)|([A-Za-z0-9+/] *[AQgw] *= *=)))?" + ] [ + xsd:whiteSpace "collapse" + ] +@@ -73,7 +73,7 @@ xsd:boolean + owl:onDatatype xsd:anySimpleType ; + owl:withRestrictions ( + [ +- xsd:pattern "(true|false)" ++ xsd:pattern "(true|false|0|1)" + ] [ + xsd:whiteSpace "collapse" + ] +@@ -97,7 +97,7 @@ xsd:date + owl:onDatatype xsd:anySimpleType ; + owl:withRestrictions ( + [ +- xsd:pattern "-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" ++ xsd:pattern "-?[0-9][0-9][0-9][0-9][0-9]*-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])(Z|[-+][0-2][0-9]:[0-5][0-9])?" + ] [ + xsd:whiteSpace "collapse" + ] +@@ -109,7 +109,7 @@ xsd:dateTime + owl:onDatatype xsd:anySimpleType ; + owl:withRestrictions ( + [ +- xsd:pattern "-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" ++ xsd:pattern "-?[0-9][0-9][0-9][0-9][0-9]*-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([0-1][0-9])|(2[0-4])):[0-5][0-9]:[0-5][0-9](.[0-9]+)?(Z|[-+][0-2][0-9]:[0-5][0-9])?" + ] [ + xsd:whiteSpace "collapse" + ] +@@ -122,7 +122,7 @@ xsd:decimal + owl:onDatatype xsd:anySimpleType ; + owl:withRestrictions ( + [ +- xsd:pattern "[+-]?[0-9]*\\.?[0-9]*" ++ xsd:pattern "-?INF|NaN|[+-]?(([0-9]+[.]?[0-9]*)|([0-9]*[.]?[0-9]+))([eE][-+]?[0-9]+)?" + ] [ + xsd:whiteSpace "collapse" + ] +@@ -135,7 +135,7 @@ xsd:double + owl:onDatatype xsd:anySimpleType ; + owl:withRestrictions ( + [ +- xsd:pattern "[+-]?[0-9]*\\.?[0-9]*([eE][-+]?[0-9]+)?" ++ xsd:pattern "-?INF|NaN|[+-]?(([0-9]+[.]?[0-9]*)|([0-9]*[.]?[0-9]+))([eE][-+]?[0-9]+)?" + ] [ + xsd:whiteSpace "collapse" + ] +@@ -147,6 +147,8 @@ xsd:duration + owl:onDatatype xsd:anySimpleType ; + owl:withRestrictions ( + [ ++ xsd:pattern "-?P([0-9]+Y)?([0-9]+M)?([0-9]+D)?(T([0-9]+H)?([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?)?" ++ ] [ + xsd:whiteSpace "collapse" + ] + ) . +@@ -158,7 +160,7 @@ xsd:float + owl:onDatatype xsd:anySimpleType ; + owl:withRestrictions ( + [ +- xsd:pattern "[+-]?[0-9]*\\.?[0-9]*([eE][-+]?[0-9]+)?" ++ xsd:pattern "-?INF|NaN|[+-]?(([0-9]+[.]?[0-9]*)|([0-9]*[.]?[0-9]+))([eE][-+]?[0-9]+)?" + ] [ + xsd:whiteSpace "collapse" + ] +@@ -223,7 +225,7 @@ xsd:hexBinary + owl:onDatatype xsd:anySimpleType ; + owl:withRestrictions ( + [ +- xsd:pattern "[0-9A-F]*" ++ xsd:pattern "([0-9A-Fa-f][0-9A-Fa-f])*" + ] [ + xsd:whiteSpace "collapse" + ] +@@ -259,7 +261,7 @@ xsd:language + owl:onDatatype xsd:token ; + owl:withRestrictions ( + [ +- xsd:pattern "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" ++ xsd:pattern "[a-zA-Z][a-zA-Z]?[a-zA-Z]?[a-zA-Z]?[a-zA-Z]?[a-zA-Z]?[a-zA-Z]?[a-zA-Z]?(-[a-zA-Z0-9][a-zA-Z0-9]?[a-zA-Z0-9]?[a-zA-Z0-9]?[a-zA-Z0-9]?[a-zA-Z0-9]?[a-zA-Z0-9]?[a-zA-Z0-9]?)*" + ] + ) . + +@@ -315,7 +317,7 @@ xsd:nonNegativeInteger + owl:onDatatype xsd:integer ; + owl:withRestrictions ( + [ +- xsd:pattern "[0-9]*" ++ xsd:pattern "[+]?[0-9]+" + ] [ + xsd:minInclusive 0 + ] +@@ -371,7 +373,7 @@ xsd:positiveInteger + owl:onDatatype xsd:nonNegativeInteger ; + owl:withRestrictions ( + [ +- xsd:pattern "[+]?[0-9]+" ++ xsd:pattern "[+]?[0-9]*[1-9]+[0-9]*" + ] [ + xsd:minInclusive 1 + ] +@@ -406,7 +408,7 @@ xsd:time + owl:onDatatype xsd:anySimpleType ; + owl:withRestrictions ( + [ +- xsd:pattern "[1-2][0-9]:[0-5][0-9]:[0-5][0-9].[0-9][0-9][0-9]" ++ xsd:pattern "(([0-1][0-9])|(2[0-4])):[0-5][0-9]:[0-5][0-9](.[0-9]+)?(Z|[-+][0-2][0-9]:[0-5][0-9])?" + ] [ + xsd:whiteSpace "collapse" + ] diff --git a/sources/libs/lv2/debian/patches/009_e0b9a3c2806f846c104ba2e0c5816886ab310c1b.patch b/sources/libs/lv2/debian/patches/009_e0b9a3c2806f846c104ba2e0c5816886ab310c1b.patch new file mode 100644 index 0000000..886639b --- /dev/null +++ b/sources/libs/lv2/debian/patches/009_e0b9a3c2806f846c104ba2e0c5816886ab310c1b.patch @@ -0,0 +1,74 @@ +From e0b9a3c2806f846c104ba2e0c5816886ab310c1b Mon Sep 17 00:00:00 2001 +From: David Robillard +Date: Thu, 11 Mar 2021 13:45:29 -0500 +Subject: [PATCH] Sort xsd.ttl + +--- + schemas.lv2/xsd.ttl | 36 ++++++++++++++++++------------------ + 1 file changed, 18 insertions(+), 18 deletions(-) + +diff --git a/schemas.lv2/xsd.ttl b/schemas.lv2/xsd.ttl +index 01be2e4d..47030624 100644 +--- a/schemas.lv2/xsd.ttl ++++ b/schemas.lv2/xsd.ttl +@@ -7,9 +7,6 @@ xsd: + a owl:Ontology ; + rdfs:comment "XML Schema Datatypes" . + +-xsd:anySimpleType +- a rdfs:Datatype . +- + xsd:ENTITY + a rdfs:Datatype ; + owl:onDatatype xsd:NCName . +@@ -44,6 +41,9 @@ xsd:QName + ] + ) . + ++xsd:anySimpleType ++ a rdfs:Datatype . ++ + xsd:anyURI + a rdfs:Datatype ; + rdfs:label "URI reference" ; +@@ -352,21 +352,6 @@ xsd:pattern + rdfs:comment "A regular expression that matches complete valid literals." ; + rdfs:label "pattern" . + +-xsd:whiteSpace +- a rdf:Property , +- owl:DatatypeProperty ; +- rdfs:comment "A string that describes whitespace normalization for a string type." ; +- rdfs:label "white space" ; +- rdfs:range [ +- a rdfs:Datatype ; +- owl:onDatatype xsd:string ; +- owl:withRestrictions ( +- [ +- xsd:pattern "(preserve|replace|collapse)" +- ] +- ) +- ] . +- + xsd:positiveInteger + a rdfs:Datatype ; + rdfs:label "positive integer" ; +@@ -472,3 +457,18 @@ xsd:unsignedShort + ] + ) . + ++xsd:whiteSpace ++ a rdf:Property , ++ owl:DatatypeProperty ; ++ rdfs:comment "A string that describes whitespace normalization for a string type." ; ++ rdfs:label "white space" ; ++ rdfs:range [ ++ a rdfs:Datatype ; ++ owl:onDatatype xsd:string ; ++ owl:withRestrictions ( ++ [ ++ xsd:pattern "(preserve|replace|collapse)" ++ ] ++ ) ++ ] . ++ diff --git a/sources/libs/lv2/debian/patches/010_50f531462274bb6c395ff1b63cf7c1016d7bb088.patch b/sources/libs/lv2/debian/patches/010_50f531462274bb6c395ff1b63cf7c1016d7bb088.patch new file mode 100644 index 0000000..df786d4 --- /dev/null +++ b/sources/libs/lv2/debian/patches/010_50f531462274bb6c395ff1b63cf7c1016d7bb088.patch @@ -0,0 +1,298 @@ +From 50f531462274bb6c395ff1b63cf7c1016d7bb088 Mon Sep 17 00:00:00 2001 +From: David Robillard +Date: Thu, 11 Mar 2021 13:55:08 -0500 +Subject: [PATCH] Remove unused datatypes from xsd.ttl + +This data costs memory, and I think it is better to not present things that +aren't useful to LV2 implementations at all here. + +The whitespace annotations could be useful for cleaning up literals, but this +isn't currently used (and tends to be baked in to implementations anyway), so +remove them as well. If necessary they can be added later easily enough. +--- + schemas.lv2/xsd.ttl | 152 +++++--------------------------------------- + 1 file changed, 16 insertions(+), 136 deletions(-) + +diff --git a/schemas.lv2/xsd.ttl b/schemas.lv2/xsd.ttl +index 47030624..007d84ed 100644 +--- a/schemas.lv2/xsd.ttl ++++ b/schemas.lv2/xsd.ttl +@@ -7,52 +7,15 @@ xsd: + a owl:Ontology ; + rdfs:comment "XML Schema Datatypes" . + +-xsd:ENTITY +- a rdfs:Datatype ; +- owl:onDatatype xsd:NCName . +- +-xsd:ID +- a rdfs:Datatype ; +- owl:onDatatype xsd:NCName . +- +-xsd:IDREF +- a rdfs:Datatype ; +- owl:onDatatype xsd:NCName . +- +-xsd:NCName +- a rdfs:Datatype ; +- owl:onDatatype xsd:Name . +- +-xsd:NMTOKEN +- a rdfs:Datatype ; +- owl:onDatatype xsd:token . +- +-xsd:Name +- a rdfs:Datatype ; +- owl:onDatatype xsd:token . +- +-xsd:QName +- a rdfs:Datatype ; +- rdfs:label "XML qualified name" ; +- owl:onDatatype xsd:anySimpleType ; +- owl:withRestrictions ( +- [ +- xsd:whiteSpace "collapse" +- ] +- ) . +- + xsd:anySimpleType +- a rdfs:Datatype . ++ a rdfs:Datatype ; ++ rdfs:comment "The base class of any primitive XSD dataype." ; ++ rdfs:label "any simple type" . + + xsd:anyURI + a rdfs:Datatype ; +- rdfs:label "URI reference" ; +- owl:onDatatype xsd:anySimpleType ; +- owl:withRestrictions ( +- [ +- xsd:whiteSpace "collapse" +- ] +- ) . ++ rdfs:label "any URI" ; ++ owl:onDatatype xsd:anySimpleType . + + xsd:base64Binary + a rdfs:Datatype ; +@@ -62,8 +25,6 @@ xsd:base64Binary + owl:withRestrictions ( + [ + xsd:pattern "(([A-Za-z0-9+/] *[A-Za-z0-9+/] *[A-Za-z0-9+/] *[A-Za-z0-9+/] *)*(([A-Za-z0-9+/] *[A-Za-z0-9+/] *[A-Za-z0-9+/] *[A-Za-z0-9+/])|([A-Za-z0-9+/] *[A-Za-z0-9+/] *[AEIMQUYcgkosw048] *=)|([A-Za-z0-9+/] *[AQgw] *= *=)))?" +- ] [ +- xsd:whiteSpace "collapse" + ] + ) . + +@@ -74,8 +35,6 @@ xsd:boolean + owl:withRestrictions ( + [ + xsd:pattern "(true|false|0|1)" +- ] [ +- xsd:whiteSpace "collapse" + ] + ) . + +@@ -85,9 +44,9 @@ xsd:byte + owl:onDatatype xsd:short ; + owl:withRestrictions ( + [ +- xsd:minInclusive -128 +- ] [ + xsd:maxInclusive 127 ++ ] [ ++ xsd:minInclusive -128 + ] + ) . + +@@ -98,8 +57,6 @@ xsd:date + owl:withRestrictions ( + [ + xsd:pattern "-?[0-9][0-9][0-9][0-9][0-9]*-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])(Z|[-+][0-2][0-9]:[0-5][0-9])?" +- ] [ +- xsd:whiteSpace "collapse" + ] + ) . + +@@ -110,8 +67,6 @@ xsd:dateTime + owl:withRestrictions ( + [ + xsd:pattern "-?[0-9][0-9][0-9][0-9][0-9]*-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([0-1][0-9])|(2[0-4])):[0-5][0-9]:[0-5][0-9](.[0-9]+)?(Z|[-+][0-2][0-9]:[0-5][0-9])?" +- ] [ +- xsd:whiteSpace "collapse" + ] + ) . + +@@ -123,8 +78,6 @@ xsd:decimal + owl:withRestrictions ( + [ + xsd:pattern "-?INF|NaN|[+-]?(([0-9]+[.]?[0-9]*)|([0-9]*[.]?[0-9]+))([eE][-+]?[0-9]+)?" +- ] [ +- xsd:whiteSpace "collapse" + ] + ) . + +@@ -136,8 +89,6 @@ xsd:double + owl:withRestrictions ( + [ + xsd:pattern "-?INF|NaN|[+-]?(([0-9]+[.]?[0-9]*)|([0-9]*[.]?[0-9]+))([eE][-+]?[0-9]+)?" +- ] [ +- xsd:whiteSpace "collapse" + ] + ) . + +@@ -173,51 +124,6 @@ xsd:fractionDigits + rdfs:label "fraction digits" ; + rdfs:range xsd:nonNegativeInteger . + +-xsd:gDay +- a rdfs:Datatype ; +- owl:onDatatype xsd:anySimpleType ; +- owl:withRestrictions ( +- [ +- xsd:whiteSpace "collapse" +- ] +- ) . +- +-xsd:gMonth +- a rdfs:Datatype ; +- owl:onDatatype xsd:anySimpleType ; +- owl:withRestrictions ( +- [ +- xsd:whiteSpace "collapse" +- ] +- ) . +- +-xsd:gMonthDay +- a rdfs:Datatype ; +- owl:onDatatype xsd:anySimpleType ; +- owl:withRestrictions ( +- [ +- xsd:whiteSpace "collapse" +- ] +- ) . +- +-xsd:gYear +- a rdfs:Datatype ; +- owl:onDatatype xsd:anySimpleType ; +- owl:withRestrictions ( +- [ +- xsd:whiteSpace "collapse" +- ] +- ) . +- +-xsd:gYearMonth +- a rdfs:Datatype ; +- owl:onDatatype xsd:anySimpleType ; +- owl:withRestrictions ( +- [ +- xsd:whiteSpace "collapse" +- ] +- ) . +- + xsd:hexBinary + a rdfs:Datatype ; + rdfs:comment "Hex-encoded arbitrary binary data." ; +@@ -226,8 +132,6 @@ xsd:hexBinary + owl:withRestrictions ( + [ + xsd:pattern "([0-9A-Fa-f][0-9A-Fa-f])*" +- ] [ +- xsd:whiteSpace "collapse" + ] + ) . + +@@ -237,9 +141,9 @@ xsd:int + owl:onDatatype xsd:long ; + owl:withRestrictions ( + [ +- xsd:minInclusive -2147483648 +- ] [ + xsd:maxInclusive 2147483647 ++ ] [ ++ xsd:minInclusive -2147483648 + ] + ) . + +@@ -271,9 +175,9 @@ xsd:long + owl:onDatatype xsd:integer ; + owl:withRestrictions ( + [ +- xsd:minInclusive -9223372036854775808 +- ] [ + xsd:maxInclusive 9223372036854775807 ++ ] [ ++ xsd:minInclusive -9223372036854775808 + ] + ) . + +@@ -339,12 +243,7 @@ xsd:normalizedString + a rdfs:Datatype ; + rdfs:comment "The set of strings that do not contain the carriage return (#xD), line feed (#xA) nor tab (#x9) characters." ; + rdfs:label "normalized string" ; +- owl:onDatatype xsd:string ; +- owl:withRestrictions ( +- [ +- xsd:whiteSpace "replace" +- ] +- ) . ++ owl:onDatatype xsd:string . + + xsd:pattern + a rdf:Property , +@@ -370,9 +269,9 @@ xsd:short + owl:onDatatype xsd:int ; + owl:withRestrictions ( + [ +- xsd:minInclusive -32768 +- ] [ + xsd:maxInclusive 32767 ++ ] [ ++ xsd:minInclusive -32768 + ] + ) . + +@@ -380,12 +279,7 @@ xsd:string + a rdfs:Datatype ; + rdfs:comment "A character string." ; + rdfs:label "string" ; +- owl:onDatatype xsd:anySimpleType ; +- owl:withRestrictions ( +- [ +- xsd:whiteSpace "preserve" +- ] +- ) . ++ owl:onDatatype xsd:anySimpleType . + + xsd:time + a rdfs:Datatype ; +@@ -394,8 +288,6 @@ xsd:time + owl:withRestrictions ( + [ + xsd:pattern "(([0-1][0-9])|(2[0-4])):[0-5][0-9]:[0-5][0-9](.[0-9]+)?(Z|[-+][0-2][0-9]:[0-5][0-9])?" +- ] [ +- xsd:whiteSpace "collapse" + ] + ) . + +@@ -403,19 +295,7 @@ xsd:token + a rdfs:Datatype ; + rdfs:comment "The set of strings that do not contain the carriage return (#xD), line feed (#xA) nor tab (#x9) characters, that have no leading or trailing spaces (#x20) and that have no internal sequences of two or more spaces." ; + rdfs:label "token" ; +- owl:onDatatype xsd:normalizedString ; +- owl:withRestrictions ( +- [ +- xsd:whiteSpace "collapse" +- ] +- ) . +- +-xsd:totalDigits +- a rdf:Property , +- owl:DatatypeProperty ; +- rdfs:comment "The maximum number of decimal digits required to represent a value." ; +- rdfs:label "total digits" ; +- rdfs:range xsd:positiveInteger . ++ owl:onDatatype xsd:normalizedString . + + xsd:unsignedByte + a rdfs:Datatype ; diff --git a/sources/libs/lv2/debian/patches/011_b37402500176b328a6a5752df2a170538cc9594c.patch b/sources/libs/lv2/debian/patches/011_b37402500176b328a6a5752df2a170538cc9594c.patch new file mode 100644 index 0000000..3eac06f --- /dev/null +++ b/sources/libs/lv2/debian/patches/011_b37402500176b328a6a5752df2a170538cc9594c.patch @@ -0,0 +1,104 @@ +From b37402500176b328a6a5752df2a170538cc9594c Mon Sep 17 00:00:00 2001 +From: David Robillard +Date: Thu, 11 Mar 2021 14:47:36 -0500 +Subject: [PATCH] Use matching datatypes for fixed-size bounds in xsd.ttl + +This avoids the need to do any datatype conversion for handling bounds. In +particular, it avoids troublesome range issues, like the maximum +xsd:unsignedLong being too large to fit in an xsd:long, which is likely what an +implementation without bigint support uses to represent xsd:integer. + +So, avoid all of that by simply using the exact datatype in bounds for that +datatype, which makes more sense anyway. +--- + schemas.lv2/xsd.ttl | 24 ++++++++++++------------ + 1 file changed, 12 insertions(+), 12 deletions(-) + +diff --git a/schemas.lv2/xsd.ttl b/schemas.lv2/xsd.ttl +index 007d84ed..cb983634 100644 +--- a/schemas.lv2/xsd.ttl ++++ b/schemas.lv2/xsd.ttl +@@ -44,9 +44,9 @@ xsd:byte + owl:onDatatype xsd:short ; + owl:withRestrictions ( + [ +- xsd:maxInclusive 127 ++ xsd:maxInclusive "127"^^xsd:byte + ] [ +- xsd:minInclusive -128 ++ xsd:minInclusive "-128"^^xsd:byte + ] + ) . + +@@ -141,9 +141,9 @@ xsd:int + owl:onDatatype xsd:long ; + owl:withRestrictions ( + [ +- xsd:maxInclusive 2147483647 ++ xsd:maxInclusive "2147483647"^^xsd:int + ] [ +- xsd:minInclusive -2147483648 ++ xsd:minInclusive "-2147483648"^^xsd:int + ] + ) . + +@@ -175,9 +175,9 @@ xsd:long + owl:onDatatype xsd:integer ; + owl:withRestrictions ( + [ +- xsd:maxInclusive 9223372036854775807 ++ xsd:maxInclusive "9223372036854775807"^^xsd:long + ] [ +- xsd:minInclusive -9223372036854775808 ++ xsd:minInclusive "-9223372036854775808"^^xsd:long + ] + ) . + +@@ -269,9 +269,9 @@ xsd:short + owl:onDatatype xsd:int ; + owl:withRestrictions ( + [ +- xsd:maxInclusive 32767 ++ xsd:maxInclusive "32767"^^xsd:short + ] [ +- xsd:minInclusive -32768 ++ xsd:minInclusive "-32768"^^xsd:short + ] + ) . + +@@ -303,7 +303,7 @@ xsd:unsignedByte + owl:onDatatype xsd:unsignedShort ; + owl:withRestrictions ( + [ +- xsd:maxInclusive 255 ++ xsd:maxInclusive "255"^^xsd:unsignedByte + ] + ) . + +@@ -313,7 +313,7 @@ xsd:unsignedInt + owl:onDatatype xsd:unsignedLong ; + owl:withRestrictions ( + [ +- xsd:maxInclusive 4294967295 ++ xsd:maxInclusive "4294967295"^^xsd:unsignedInt + ] + ) . + +@@ -323,7 +323,7 @@ xsd:unsignedLong + owl:onDatatype xsd:nonNegativeInteger ; + owl:withRestrictions ( + [ +- xsd:maxInclusive 18446744073709551615 ++ xsd:maxInclusive "18446744073709551615"^^xsd:unsignedLong + ] + ) . + +@@ -333,7 +333,7 @@ xsd:unsignedShort + owl:onDatatype xsd:unsignedInt ; + owl:withRestrictions ( + [ +- xsd:maxInclusive 65535 ++ xsd:maxInclusive "65535"^^xsd:unsignedShort + ] + ) . + diff --git a/sources/libs/lv2/debian/patches/012_3a4020958acf5b88f366e5bc99e3009a7beca104.patch b/sources/libs/lv2/debian/patches/012_3a4020958acf5b88f366e5bc99e3009a7beca104.patch new file mode 100644 index 0000000..f6f215f --- /dev/null +++ b/sources/libs/lv2/debian/patches/012_3a4020958acf5b88f366e5bc99e3009a7beca104.patch @@ -0,0 +1,245 @@ +From 3a4020958acf5b88f366e5bc99e3009a7beca104 Mon Sep 17 00:00:00 2001 +From: David Robillard +Date: Fri, 12 Mar 2021 20:12:01 -0500 +Subject: [PATCH] Add owl:imports to ontologies + +These are required by OWL tools to use vocabulary from another ontology. +Though we don't use OWL tools in LV2, they are at least useful for sanity +checking the semantic side of things. These properties are also nice to have +anyway, since they clearly describe the dependencies between specifications. +--- + lv2/atom/atom.ttl | 5 ++++- + lv2/buf-size/buf-size.ttl | 4 +++- + lv2/core/lv2core.ttl | 3 ++- + lv2/event/event.ttl | 3 ++- + lv2/log/log.ttl | 3 ++- + lv2/morph/morph.ttl | 3 ++- + lv2/options/options.ttl | 3 ++- + lv2/parameters/parameters.ttl | 5 ++++- + lv2/port-groups/port-groups.ttl | 3 ++- + lv2/port-props/port-props.ttl | 3 ++- + lv2/presets/presets.ttl | 3 ++- + lv2/resize-port/resize-port.ttl | 3 ++- + lv2/state/state.ttl | 3 ++- + lv2/ui/ui.ttl | 5 +++-- + lv2/urid/urid.ttl | 3 ++- + 15 files changed, 36 insertions(+), 16 deletions(-) + +diff --git a/lv2/atom/atom.ttl b/lv2/atom/atom.ttl +index ddfb430d..ef221ad3 100644 +--- a/lv2/atom/atom.ttl ++++ b/lv2/atom/atom.ttl +@@ -14,7 +14,10 @@ + , + ; + rdfs:label "LV2 Atom" ; +- rdfs:comment "A generic value container and several data types." . ++ rdfs:comment "A generic value container and several data types." ; ++ owl:imports , ++ , ++ . + + atom:cType + a rdf:Property , +diff --git a/lv2/buf-size/buf-size.ttl b/lv2/buf-size/buf-size.ttl +index 88631982..c78d2cc8 100644 +--- a/lv2/buf-size/buf-size.ttl ++++ b/lv2/buf-size/buf-size.ttl +@@ -11,7 +11,9 @@ + rdfs:label "LV2 Buf Size" ; + rdfs:comment "Access to, and restrictions on, buffer sizes." ; + rdfs:seeAlso , +- . ++ ; ++ owl:imports , ++ . + + bufsz:boundedBlockLength + a lv2:Feature ; +diff --git a/lv2/core/lv2core.ttl b/lv2/core/lv2core.ttl +index f5836c6e..87541693 100644 +--- a/lv2/core/lv2core.ttl ++++ b/lv2/core/lv2core.ttl +@@ -11,7 +11,8 @@ + rdfs:comment "An extensible open standard for audio plugins." ; + rdfs:seeAlso , + , +- . ++ ; ++ owl:imports doap: . + + lv2:Specification + a rdfs:Class , +diff --git a/lv2/event/event.ttl b/lv2/event/event.ttl +index de400d43..3114fc58 100644 +--- a/lv2/event/event.ttl ++++ b/lv2/event/event.ttl +@@ -11,7 +11,8 @@ + rdfs:comment "A port-based real-time generic event interface." ; + rdfs:seeAlso , + , +- . ++ ; ++ owl:imports . + + ev:EventPort + a rdfs:Class ; +diff --git a/lv2/log/log.ttl b/lv2/log/log.ttl +index 46cba45e..a8c42367 100644 +--- a/lv2/log/log.ttl ++++ b/lv2/log/log.ttl +@@ -10,7 +10,8 @@ + rdfs:label "LV2 Log" ; + rdfs:comment "A feature for writing log messages." ; + rdfs:seeAlso , +- . ++ ; ++ owl:imports . + + log:Entry + a rdfs:Class ; +diff --git a/lv2/morph/morph.ttl b/lv2/morph/morph.ttl +index 303293da..a771e030 100644 +--- a/lv2/morph/morph.ttl ++++ b/lv2/morph/morph.ttl +@@ -13,7 +13,8 @@ + rdfs:label "LV2 Morph" ; + rdfs:comment "Ports that can dynamically change type." ; + rdfs:seeAlso , +- . ++ ; ++ owl:imports . + + morph:MorphPort + a rdfs:Class , +diff --git a/lv2/options/options.ttl b/lv2/options/options.ttl +index f8388da8..78defeff 100644 +--- a/lv2/options/options.ttl ++++ b/lv2/options/options.ttl +@@ -10,7 +10,8 @@ + rdfs:label "LV2 Options" ; + rdfs:comment "Runtime options for LV2 plugins and UIs." ; + rdfs:seeAlso , +- . ++ ; ++ owl:imports . + + opts:Option + a rdfs:Class ; +diff --git a/lv2/parameters/parameters.ttl b/lv2/parameters/parameters.ttl +index 5c3dadf9..99878127 100644 +--- a/lv2/parameters/parameters.ttl ++++ b/lv2/parameters/parameters.ttl +@@ -11,7 +11,10 @@ + a owl:Ontology ; + rdfs:label "LV2 Parameters" ; + rdfs:comment "Common parameters for audio processing." ; +- rdfs:seeAlso . ++ rdfs:seeAlso ; ++ owl:imports , ++ , ++ . + + param:ControlGroup + a rdfs:Class ; +diff --git a/lv2/port-groups/port-groups.ttl b/lv2/port-groups/port-groups.ttl +index d248f28b..5173aa09 100644 +--- a/lv2/port-groups/port-groups.ttl ++++ b/lv2/port-groups/port-groups.ttl +@@ -9,7 +9,8 @@ + a owl:Ontology ; + rdfs:label "LV2 Port Groups" ; + rdfs:comment "Multi-channel groups of LV2 ports." ; +- rdfs:seeAlso . ++ rdfs:seeAlso ; ++ owl:imports . + + pg:Group + a rdfs:Class ; +diff --git a/lv2/port-props/port-props.ttl b/lv2/port-props/port-props.ttl +index 1ddeed07..ea25c6bd 100644 +--- a/lv2/port-props/port-props.ttl ++++ b/lv2/port-props/port-props.ttl +@@ -9,7 +9,8 @@ + a owl:Ontology ; + rdfs:label "LV2 Port Properties" ; + rdfs:comment "Various properties for LV2 plugin ports." ; +- rdfs:seeAlso . ++ rdfs:seeAlso ; ++ owl:imports . + + pprops:trigger + a lv2:PortProperty ; +diff --git a/lv2/presets/presets.ttl b/lv2/presets/presets.ttl +index c1caf43c..156f0813 100644 +--- a/lv2/presets/presets.ttl ++++ b/lv2/presets/presets.ttl +@@ -9,7 +9,8 @@ + a owl:Ontology ; + rdfs:label "LV2 Presets" ; + rdfs:comment "Presets for LV2 plugins." ; +- rdfs:seeAlso . ++ rdfs:seeAlso ; ++ owl:imports . + + pset:Bank + a rdfs:Class ; +diff --git a/lv2/resize-port/resize-port.ttl b/lv2/resize-port/resize-port.ttl +index 29cd18b3..a6712e71 100644 +--- a/lv2/resize-port/resize-port.ttl ++++ b/lv2/resize-port/resize-port.ttl +@@ -10,7 +10,8 @@ + rdfs:label "LV2 Resize Port" ; + rdfs:comment "Dynamically sized LV2 port buffers." ; + rdfs:seeAlso , +- . ++ ; ++ owl:imports . + + rsz:resize + a lv2:Feature ; +diff --git a/lv2/state/state.ttl b/lv2/state/state.ttl +index 19ccaa22..48537c82 100644 +--- a/lv2/state/state.ttl ++++ b/lv2/state/state.ttl +@@ -9,7 +9,8 @@ + rdfs:label "LV2 State" ; + rdfs:comment "An interface for LV2 plugins to save and restore state." ; + rdfs:seeAlso , +- . ++ ; ++ owl:imports . + + state:interface + a lv2:ExtensionData ; +diff --git a/lv2/ui/ui.ttl b/lv2/ui/ui.ttl +index 61f8bcac..654f1d7a 100644 +--- a/lv2/ui/ui.ttl ++++ b/lv2/ui/ui.ttl +@@ -10,9 +10,10 @@ + a owl:Ontology ; + rdfs:label "LV2 UI" ; + rdfs:comment "User interfaces for LV2 plugins." ; +- owl:imports ; + rdfs:seeAlso , +- . ++ ; ++ owl:imports , ++ . + + ui:UI + a rdfs:Class , +diff --git a/lv2/urid/urid.ttl b/lv2/urid/urid.ttl +index 2c44b561..53aa1e57 100644 +--- a/lv2/urid/urid.ttl ++++ b/lv2/urid/urid.ttl +@@ -8,7 +8,8 @@ + rdfs:label "LV2 URID" ; + rdfs:comment "Features for mapping URIs to and from integers." ; + rdfs:seeAlso , +- . ++ ; ++ owl:imports . + + urid:map + a lv2:Feature ; diff --git a/sources/libs/lv2/debian/patches/013_a5fe57d4c563601fc993d164dff3d4b0cffc5420.patch b/sources/libs/lv2/debian/patches/013_a5fe57d4c563601fc993d164dff3d4b0cffc5420.patch new file mode 100644 index 0000000..d43ca67 --- /dev/null +++ b/sources/libs/lv2/debian/patches/013_a5fe57d4c563601fc993d164dff3d4b0cffc5420.patch @@ -0,0 +1,449 @@ +From a5fe57d4c563601fc993d164dff3d4b0cffc5420 Mon Sep 17 00:00:00 2001 +From: David Robillard +Date: Fri, 12 Mar 2021 21:14:08 -0500 +Subject: [PATCH] Strengthen and clean up doap.ttl + +This adds more specific property types to support validation, and removed +doap:anon-root since it is unused by LV2 (and frankly I don't even know what +it's supposed to mean). +--- + schemas.lv2/doap.ttl | 166 ++++++++++++++++++++++--------------------- + 1 file changed, 84 insertions(+), 82 deletions(-) + +diff --git a/schemas.lv2/doap.ttl b/schemas.lv2/doap.ttl +index 9067da5b..c8daf593 100644 +--- a/schemas.lv2/doap.ttl ++++ b/schemas.lv2/doap.ttl +@@ -1,16 +1,13 @@ ++@prefix dct: . ++@prefix doap: . ++@prefix foaf: . ++@prefix owl: . + @prefix rdf: . + @prefix rdfs: . +-@prefix owl: . +-@prefix vs: . +-@prefix foaf: . +-@prefix doap: . +-@prefix dct: . +- +-# dct:rights "Copyright © 2004-2009 Edd Dumbill" + + doap: + a owl:Ontology ; +- dct:description "Das Vokabular \"Description of a Project (DOAP)\", beschrieben durch W3C RDF Schema and the Web Ontology Language."@de , ++ rdfs:comment "Das Vokabular \"Description of a Project (DOAP)\", beschrieben durch W3C RDF Schema and the Web Ontology Language."@de , + """El vocabulario Description of a Project (DOAP, Descripción de un Proyecto), descrito usando RDF Schema de W3C + y Web Ontology Language."""@es , + """Le vocabulaire Description Of A Project (DOAP, Description D'Un Projet), +@@ -153,8 +150,7 @@ doap:Specification + a rdfs:Class ; + rdfs:comment """A specification of a system's aspects, technical or otherwise."""@en ; + rdfs:isDefinedBy doap: ; +- rdfs:label "Specification"@en ; +- rdfs:subClassOf rdfs:Resource . ++ rdfs:label "Specification"@en . + + doap:Version + a rdfs:Class ; +@@ -170,40 +166,25 @@ doap:Version + "Versión"@es , + "Verze"@cs . + +-doap:anon-root +- a rdf:Property ; +- rdfs:comment "Dépôt pour accès anonyme."@fr , +- "Repositorio para acceso anónimo."@es , +- "Repository for anonymous access."@en , +- "Repository für anonymen Zugriff"@de , +- "Úložiště pro anonymní přístup."@cs ; +- rdfs:domain doap:Repository ; +- rdfs:isDefinedBy doap: ; +- rdfs:label "Anonymes Root"@de , +- "anonymní kořen"@cs , +- "anonymous root"@en , +- "racine anonyme"@fr , +- "raíz anónima"@es ; +- rdfs:range rdfs:Literal . +- + doap:audience +- a rdf:Property ; ++ a rdf:Property , ++ owl:DatatypeProperty ; + rdfs:comment "Description of target user base"@en ; + rdfs:domain doap:Project ; + rdfs:isDefinedBy doap: ; +- rdfs:label "audience"@en ; +- rdfs:range rdfs:Literal . ++ rdfs:label "audience"@en . + + doap:blog +- a rdf:Property ; ++ a rdf:Property , ++ owl:ObjectProperty ; + rdfs:comment "URI of a blog related to a project"@en ; + rdfs:domain doap:Project ; + rdfs:isDefinedBy doap: ; +- rdfs:label "blog"@en ; +- rdfs:range rdfs:Resource . ++ rdfs:label "blog"@en . + + doap:browse +- a rdf:Property ; ++ a rdf:Property , ++ owl:ObjectProperty ; + rdfs:comment "Interface web au dépôt."@fr , + "Interface web del repositorio."@es , + "Web browser interface to repository."@en , +@@ -218,7 +199,8 @@ doap:browse + "visualiser"@fr . + + doap:bug-database +- a rdf:Property ; ++ a rdf:Property , ++ owl:ObjectProperty ; + rdfs:comment "Bug tracker for a project."@en , + "Bug tracker para un proyecto."@es , + "Fehlerdatenbank eines Projektes."@de , +@@ -233,7 +215,8 @@ doap:bug-database + "suivi des bugs"@fr . + + doap:category +- a rdf:Property ; ++ a rdf:Property , ++ owl:ObjectProperty ; + rdfs:comment "A category of project."@en , + "Eine Kategorie eines Projektes."@de , + "Kategorie projektu."@cs , +@@ -248,7 +231,8 @@ doap:category + "kategorie"@cs . + + doap:created +- a rdf:Property ; ++ a rdf:Property , ++ owl:DatatypeProperty ; + rdfs:comment "Date when something was created, in YYYY-MM-DD form. e.g. 2004-04-05"@en , + "Date à laquelle a été créé quelque chose, au format AAAA-MM-JJ (par ex. 2004-04-05)"@fr , + "Datum, kdy bylo něco vytvořeno ve formátu RRRR-MM-DD, např. 2004-04-05"@cs , +@@ -259,11 +243,11 @@ doap:created + "created"@en , + "créé"@fr , + "erstellt"@de , +- "vytvořeno"@cs ; +- rdfs:range rdfs:Literal . ++ "vytvořeno"@cs . + + doap:description +- a rdf:Property ; ++ a rdf:Property , ++ owl:DatatypeProperty ; + rdfs:comment "Beschreibung eines Projekts als einfacher Text mit der Länge von 2 bis 4 Sätzen."@de , + "Descripción en texto plano de un proyecto, de 2 a 4 enunciados de longitud."@es , + "Plain text description of a project, of 2-4 sentences in length."@en , +@@ -274,11 +258,11 @@ doap:description + "descripción"@es , + "description"@en , + "description"@fr , +- "popis"@cs ; +- rdfs:range rdfs:Literal . ++ "popis"@cs . + + doap:developer +- a rdf:Property ; ++ a rdf:Property , ++ owl:ObjectProperty ; + rdfs:comment "Desarrollador de software para el proyecto."@es , + "Developer of software for the project."@en , + "Développeur pour le projet."@fr , +@@ -294,7 +278,8 @@ doap:developer + rdfs:range foaf:Person . + + doap:documenter +- a rdf:Property ; ++ a rdf:Property , ++ owl:ObjectProperty ; + rdfs:comment "Collaborateur à la documentation du projet."@fr , + "Contributor of documentation to the project."@en , + "Mitarbeiter an der Dokumentation eines Projektes."@de , +@@ -310,7 +295,8 @@ doap:documenter + rdfs:range foaf:Person . + + doap:download-mirror +- a rdf:Property ; ++ a rdf:Property , ++ owl:ObjectProperty ; + rdfs:comment "Miroir de la page de téléchargement du programme."@fr , + "Mirror de la página web de descarga."@es , + "Mirror of software download web page."@en , +@@ -325,7 +311,8 @@ doap:download-mirror + "zrcadlo stránky pro stažení"@cs . + + doap:download-page +- a rdf:Property ; ++ a rdf:Property , ++ owl:ObjectProperty ; + rdfs:comment "Page web à partir de laquelle on peut télécharger le programme."@fr , + "Página web de la cuál se puede bajar el software."@es , + "Web page from which the project software can be downloaded."@en , +@@ -340,7 +327,8 @@ doap:download-page + "stránka pro stažení"@cs . + + doap:file-release +- a rdf:Property ; ++ a rdf:Property , ++ owl:ObjectProperty ; + rdfs:comment "URI adresa stažení asociované s revizí."@cs , + "URI of download associated with this release."@en ; + rdfs:domain doap:Version ; +@@ -349,7 +337,8 @@ doap:file-release + "soubor revize"@cs . + + doap:helper +- a rdf:Property ; ++ a rdf:Property , ++ owl:ObjectProperty ; + rdfs:comment "Colaborador del proyecto."@es , + "Collaborateur au projet."@fr , + "Project contributor."@en , +@@ -386,7 +375,8 @@ doap:homepage + rdfs:subPropertyOf foaf:homepage . + + doap:implements +- a rdf:Property ; ++ a rdf:Property , ++ owl:ObjectProperty ; + rdfs:comment "A specification that a project implements. Could be a standard, API or legally defined level of conformance."@en ; + rdfs:domain doap:Project ; + rdfs:isDefinedBy doap: ; +@@ -394,12 +384,12 @@ doap:implements + rdfs:range doap:Specification . + + doap:language +- a rdf:Property ; ++ a rdf:Property , ++ owl:DatatypeProperty ; + rdfs:comment "ISO language code a project has been translated into"@en ; + rdfs:domain doap:Project ; + rdfs:isDefinedBy doap: ; +- rdfs:label "language"@en ; +- rdfs:range rdfs:Literal . ++ rdfs:label "language"@en . + + doap:license + a rdf:Property ; +@@ -416,7 +406,8 @@ doap:license + "license"@en . + + doap:location +- a rdf:Property ; ++ a rdf:Property , ++ owl:ObjectProperty ; + rdfs:comment """Emplacement d'un dépôt."""@fr , + "Location of a repository."@en , + "Lokation eines Repositorys."@de , +@@ -431,7 +422,8 @@ doap:location + "umístění úložiště"@cs . + + doap:mailing-list +- a rdf:Property ; ++ a rdf:Property , ++ owl:ObjectProperty ; + rdfs:comment "Domovská stránka nebo e–mailová adresa e–mailové diskuse."@cs , + "Homepage der Mailing Liste oder E-Mail Adresse."@de , + "Mailing list home page or email address."@en , +@@ -446,7 +438,8 @@ doap:mailing-list + "mailing list"@en . + + doap:maintainer +- a rdf:Property ; ++ a rdf:Property , ++ owl:ObjectProperty ; + rdfs:comment "Desarrollador principal de un proyecto, un líder de proyecto."@es , + """Développeur principal d'un projet, un meneur du projet."""@fr , + "Hauptentwickler eines Projektes, der Projektleiter"@de , +@@ -462,7 +455,8 @@ doap:maintainer + rdfs:range foaf:Person . + + doap:module +- a rdf:Property ; ++ a rdf:Property , ++ owl:ObjectProperty ; + rdfs:comment "Jméno modulu v CVS, BitKeeper nebo Arch úložišti."@cs , + "Modul-Name eines Subversion, CVS, BitKeeper oder Arch Repositorys."@de , + "Module name of a Subversion, CVS, BitKeeper or Arch repository."@en , +@@ -484,7 +478,8 @@ doap:module + "módulo"@es . + + doap:name +- a rdf:Property ; ++ a rdf:Property , ++ owl:AnnotationProperty ; + rdfs:comment "A name of something."@en , + "Der Name von Irgendwas"@de , + "El nombre de algo."@es , +@@ -496,7 +491,6 @@ doap:name + "name"@en , + "nom"@fr , + "nombre"@es ; +- rdfs:range rdfs:Literal ; + rdfs:subPropertyOf rdfs:label . + + doap:old-homepage +@@ -521,7 +515,8 @@ doap:old-homepage + rdfs:subPropertyOf foaf:homepage . + + doap:os +- a rdf:Property ; ++ a rdf:Property , ++ owl:DatatypeProperty ; + rdfs:comment "Betriebssystem auf dem das Projekt eingesetzt werden kann. Diese Eigenschaft kann ausgelassen werden, wenn das Projekt nicht BS-spezifisch ist."@de , + "Operating system that a project is limited to. Omit this property if the project is not OS-specific."@en , + "Operační systém, na jehož použití je projekt limitován. Vynechejte tuto vlastnost, pokud je projekt nezávislý na operačním systému."@cs , +@@ -536,20 +531,20 @@ doap:os + "operating system"@en , + "operační systém"@cs , + "sistema operativo"@es , +- """système d'exploitation"""@fr ; +- rdfs:range rdfs:Literal . ++ """système d'exploitation"""@fr . + + doap:platform +- a rdf:Property ; ++ a rdf:Property , ++ owl:DatatypeProperty ; + rdfs:comment "Indicator of software platform (non-OS specific), e.g. Java, Firefox, ECMA CLR"@en ; + rdfs:domain doap:Project , + doap:Version ; + rdfs:isDefinedBy doap: ; +- rdfs:label "platform"@en ; +- rdfs:range rdfs:Literal . ++ rdfs:label "platform"@en . + + doap:programming-language +- a rdf:Property ; ++ a rdf:Property , ++ owl:DatatypeProperty ; + rdfs:comment """Langage de programmation avec lequel un projet est implémenté, + ou avec lequel il est prévu de l'utiliser."""@fr , + "Lenguaje de programación en el que un proyecto es implementado o con el cuál pretende usarse."@es , +@@ -562,11 +557,11 @@ doap:programming-language + "langage de programmation"@fr , + "lenguaje de programación"@es , + "programming language"@en , +- "programovací jazyk"@cs ; +- rdfs:range rdfs:Literal . ++ "programovací jazyk"@cs . + + doap:release +- a rdf:Property ; ++ a rdf:Property , ++ owl:ObjectProperty ; + rdfs:comment "A project release."@en , + "Ein Release (Version) eines Projekts."@de , + "Relase (verze) projektu."@cs , +@@ -582,7 +577,8 @@ doap:release + rdfs:range doap:Version . + + doap:repository +- a rdf:Property ; ++ a rdf:Property , ++ owl:ObjectProperty ; + rdfs:comment "Dépôt du code source."@fr , + "Quellcode-Versionierungssystem."@de , + "Repositorio del código fuente."@es , +@@ -598,7 +594,8 @@ doap:repository + rdfs:range doap:Repository . + + doap:revision +- a rdf:Property ; ++ a rdf:Property , ++ owl:DatatypeProperty ; + rdfs:comment """Identifiant de révision d'une release du programme."""@fr , + "Identifikátor zpřístupněné revize softwaru."@cs , + "Indentificador de la versión de un release de software."@es , +@@ -610,11 +607,11 @@ doap:revision + "revision"@en , + "révision"@fr , + "versión"@es , +- "verze"@cs ; +- rdfs:range rdfs:Literal . ++ "verze"@cs . + + doap:screenshots +- a rdf:Property ; ++ a rdf:Property , ++ owl:ObjectProperty ; + rdfs:comment """Page web avec des captures d'écran du projet."""@fr , + "Página web con capturas de pantalla del proyecto."@es , + "Web page with screenshots of project."@en , +@@ -629,15 +626,16 @@ doap:screenshots + "snímek obrazovky"@cs . + + doap:service-endpoint +- a rdf:Property ; ++ a rdf:Property , ++ owl:ObjectProperty ; + rdfs:comment "The URI of a web service endpoint where software as a service may be accessed"@en ; + rdfs:domain doap:Project ; + rdfs:isDefinedBy doap: ; +- rdfs:label "service endpoint"@en ; +- rdfs:range rdfs:Resource . ++ rdfs:label "service endpoint"@en . + + doap:shortdesc +- a rdf:Property ; ++ a rdf:Property , ++ owl:DatatypeProperty ; + rdfs:comment "Descripción corta (8 o 9 palabras) en texto plano de un proyecto."@es , + "Krátký (8 nebo 9 slov) čistě textový popis projektu."@cs , + "Kurzbeschreibung (8 oder 9 Wörter) eines Projects als einfacher Text."@de , +@@ -648,11 +646,11 @@ doap:shortdesc + "descripción corta"@es , + "description courte"@fr , + "krátký popis"@cs , +- "short description"@en ; +- rdfs:range rdfs:Literal . ++ "short description"@en . + + doap:tester +- a rdf:Property ; ++ a rdf:Property , ++ owl:ObjectProperty ; + rdfs:comment "A tester or other quality control contributor."@en , + "Ein Tester oder anderer Mitarbeiter der Qualitätskontrolle."@de , + "Tester nebo jiný spoluautor kontrolující kvalitu."@cs , +@@ -668,7 +666,8 @@ doap:tester + rdfs:range foaf:Person . + + doap:translator +- a rdf:Property ; ++ a rdf:Property , ++ owl:ObjectProperty ; + rdfs:comment "Collaborateur à la traduction du projet."@fr , + "Contributor of translations to the project."@en , + "Mitarbeiter an den Übersetzungen eines Projektes."@de , +@@ -684,7 +683,8 @@ doap:translator + rdfs:range foaf:Person . + + doap:vendor +- a rdf:Property ; ++ a rdf:Property , ++ owl:ObjectProperty ; + rdfs:comment "Vendor organization: commercial, free or otherwise"@en ; + rdfs:domain doap:Project ; + rdfs:isDefinedBy doap: ; +@@ -692,7 +692,8 @@ doap:vendor + rdfs:range foaf:Organization . + + doap:wiki +- a rdf:Property ; ++ a rdf:Property , ++ owl:ObjectProperty ; + rdfs:comment """L'URL du Wiki pour la discussion collaborative sur le projet."""@fr , + "URL adresa wiki projektu pro společné diskuse."@cs , + "URL del Wiki para discusión colaborativa del proyecto."@es , +@@ -705,3 +706,4 @@ doap:wiki + "wiki"@en , + "wiki"@es , + "wiki"@fr . ++ diff --git a/sources/libs/lv2/debian/patches/014_fe222f853820810bc1203aa8507600c1d6e44a68.patch b/sources/libs/lv2/debian/patches/014_fe222f853820810bc1203aa8507600c1d6e44a68.patch new file mode 100644 index 0000000..033b96f --- /dev/null +++ b/sources/libs/lv2/debian/patches/014_fe222f853820810bc1203aa8507600c1d6e44a68.patch @@ -0,0 +1,76 @@ +From fe222f853820810bc1203aa8507600c1d6e44a68 Mon Sep 17 00:00:00 2001 +From: David Robillard +Date: Fri, 12 Mar 2021 22:42:58 -0500 +Subject: [PATCH] Simplify dcs.ttl + +I am not sure if anonymous classes like this are "officially" invalid for OWL, +but they cause problems with some tools. So, just replace them with the class +we actually use. With this, tools have no problem loading dcs.ttl as an OWL +Full ontology. +--- + schemas.lv2/dcs.ttl | 20 ++++++-------------- + 1 file changed, 6 insertions(+), 14 deletions(-) + +diff --git a/schemas.lv2/dcs.ttl b/schemas.lv2/dcs.ttl +index 44bf294e..b961190e 100644 +--- a/schemas.lv2/dcs.ttl ++++ b/schemas.lv2/dcs.ttl +@@ -50,14 +50,14 @@ dcs:ToDoList + rdfs:isDefinedBy dcs: ; + rdfs:label "To-Do List"@en ; + rdfs:comment "A collection of planned changes."@en ; +- rdfs:subClassOf _:FutureChangeSet . ++ rdfs:subClassOf dcs:ChangeSet . + + dcs:WishList + a owl:Class ; + rdfs:isDefinedBy dcs: ; + rdfs:label "Wish List"@en ; + rdfs:comment "A collection of desired changes."@en ; +- rdfs:subClassOf _:FutureChangeSet . ++ rdfs:subClassOf dcs:ChangeSet . + + dcs:Change + a owl:Class ; +@@ -140,20 +140,12 @@ dcs:BackCompat + rdfs:comment "A change that breaks backwards compatibility, changing documented or tested behaviour."@en ; + rdfs:subClassOf dcs:Change. + +-_:FutureChangeSet +- a owl:Class ; +- rdfs:subClassOf rdf:Bag , dcs:ChangeSet . +- +-_:VersionOrEvent +- a owl:Class ; +- owl:unionOf (doap:Version event:Event) . +- + dcs:changeset + a owl:ObjectProperty ; + rdfs:isDefinedBy dcs: ; + rdfs:label "change set"@en ; + rdfs:comment "A change set may be associated with a particular software version in which those changes were released; or with an event which caused those changes."@en ; +- rdfs:domain _:VersionOrEvent ; ++ rdfs:domain doap:Version ; + rdfs:range dcs:ChangeSet . + + dcs:versus +@@ -162,7 +154,7 @@ dcs:versus + rdfs:label "versus"@en ; + rdfs:comment "The previous version or event which a changeset has changed from."@en ; + rdfs:domain dcs:ChangeSet ; +- rdfs:range _:VersionOrEvent . ++ rdfs:range doap:Version . + + dcs:item + a owl:ObjectProperty ; +@@ -233,8 +225,8 @@ dcs:milestone + a owl:ObjectProperty ; + rdfs:isDefinedBy dcs: ; + rdfs:label "milestone"@en ; +- rdfs:domain _:FutureChangeSet ; +- rdfs:range _:VersionOrEvent . ++ rdfs:domain dcs:ChangeSet ; ++ rdfs:range doap:Version . + + dcs:tasks + a owl:ObjectProperty ; diff --git a/sources/libs/lv2/debian/patches/015_8817d4c13380da4e06fe9497c41a251038eaf5d4.patch b/sources/libs/lv2/debian/patches/015_8817d4c13380da4e06fe9497c41a251038eaf5d4.patch new file mode 100644 index 0000000..524d4de --- /dev/null +++ b/sources/libs/lv2/debian/patches/015_8817d4c13380da4e06fe9497c41a251038eaf5d4.patch @@ -0,0 +1,43 @@ +From 8817d4c13380da4e06fe9497c41a251038eaf5d4 Mon Sep 17 00:00:00 2001 +From: David Robillard +Date: Fri, 12 Mar 2021 23:36:23 -0500 +Subject: [PATCH] Fix type and range of patch:value + +This was obviously wrong. I'm not sure how this happened, probably a +copy/paste mistake. +--- + lv2/patch/patch.ttl | 4 +--- + wscript | 3 +++ + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/lv2/patch/patch.ttl b/lv2/patch/patch.ttl +index 78040094..0fb2012f 100644 +--- a/lv2/patch/patch.ttl ++++ b/lv2/patch/patch.ttl +@@ -230,11 +230,9 @@ patch:subject + rdfs:comment "The subject this message applies to." . + + patch:value +- a rdf:Property , +- owl:DatatypeProperty ; ++ a rdf:Property ; + rdfs:label "value" ; + rdfs:domain patch:Set ; +- rdfs:range rdf:Property ; + rdfs:comment "The value of a property in a patch:Set message." . + + patch:wildcard +diff --git a/wscript b/wscript +index 6ecb0d92..37a24e86 100644 +--- a/wscript ++++ b/wscript +@@ -686,6 +686,9 @@ def test_vocabularies(check, specs, files): + # Check that all properties are either datatype or object properties + for r in sorted(model.triples([None, rdf.type, rdf.Property])): + subject = r[0] ++ if str(subject) == 'http://lv2plug.in/ns/ext/patch#value': ++ continue # patch:value is just a "promiscuous" rdf:Property ++ + types = list(model.objects(subject, rdf.type)) + + check(lambda: ((owl.DatatypeProperty in types) or diff --git a/sources/libs/lv2/debian/patches/016_3f6e7285f93ec2304553dfc8c6bbbfbe05566b04.patch b/sources/libs/lv2/debian/patches/016_3f6e7285f93ec2304553dfc8c6bbbfbe05566b04.patch new file mode 100644 index 0000000..49fd2d2 --- /dev/null +++ b/sources/libs/lv2/debian/patches/016_3f6e7285f93ec2304553dfc8c6bbbfbe05566b04.patch @@ -0,0 +1,25 @@ +From 3f6e7285f93ec2304553dfc8c6bbbfbe05566b04 Mon Sep 17 00:00:00 2001 +From: David Robillard +Date: Fri, 12 Mar 2021 23:36:30 -0500 +Subject: [PATCH] Make the type of patch:wildcard more precise + +It is more or less meaningless to have an explicit type of rdfs:Resource, and +some tools don't like it, since everything (including classes and properties) +is a Resource. Since this is an individual, owl:Thing is a better type. +--- + lv2/patch/patch.ttl | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lv2/patch/patch.ttl b/lv2/patch/patch.ttl +index 0fb2012f..c7f6d769 100644 +--- a/lv2/patch/patch.ttl ++++ b/lv2/patch/patch.ttl +@@ -236,7 +236,7 @@ patch:value + rdfs:comment "The value of a property in a patch:Set message." . + + patch:wildcard +- a rdfs:Resource ; ++ a owl:Thing ; + rdfs:label "wildcard" ; + rdfs:comment "A wildcard that matches any resource." . + diff --git a/sources/libs/lv2/debian/patches/017_7f7451290ce42c2542b427ea0402930e5af7d899.patch b/sources/libs/lv2/debian/patches/017_7f7451290ce42c2542b427ea0402930e5af7d899.patch new file mode 100644 index 0000000..c537e86 --- /dev/null +++ b/sources/libs/lv2/debian/patches/017_7f7451290ce42c2542b427ea0402930e5af7d899.patch @@ -0,0 +1,24 @@ +From 7f7451290ce42c2542b427ea0402930e5af7d899 Mon Sep 17 00:00:00 2001 +From: David Robillard +Date: Sat, 13 Mar 2021 12:44:44 -0500 +Subject: [PATCH] Remove old link to SVN repository + +--- + lv2/core/meta.ttl | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/lv2/core/meta.ttl b/lv2/core/meta.ttl +index b626a0c9..5d646e58 100644 +--- a/lv2/core/meta.ttl ++++ b/lv2/core/meta.ttl +@@ -25,10 +25,6 @@ THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH R + doap:homepage ; + doap:mailing-list ; + doap:programming-language "C" ; +- doap:repository [ +- a doap:SVNRepository ; +- doap:location +- ] ; + doap:developer , + ; + doap:helper meta:larsl , diff --git a/sources/libs/lv2/debian/patches/018_0fb0839d8d3607e7055d4f370880e1438bf9ca23.patch b/sources/libs/lv2/debian/patches/018_0fb0839d8d3607e7055d4f370880e1438bf9ca23.patch new file mode 100644 index 0000000..7fbf28b --- /dev/null +++ b/sources/libs/lv2/debian/patches/018_0fb0839d8d3607e7055d4f370880e1438bf9ca23.patch @@ -0,0 +1,90 @@ +From 0fb0839d8d3607e7055d4f370880e1438bf9ca23 Mon Sep 17 00:00:00 2001 +From: David Robillard +Date: Sat, 13 Mar 2021 13:05:39 -0500 +Subject: [PATCH] Remove some unused Doxygen configuration keys + +These cause warnings with some versions of Doxygen, but all used default values +anyway, so they can simply be removed without any effect. +--- + doc/reference.doxygen.in | 40 ---------------------------------------- + 1 file changed, 40 deletions(-) + +diff --git a/doc/reference.doxygen.in b/doc/reference.doxygen.in +index 053b5426..6c29295a 100644 +--- a/doc/reference.doxygen.in ++++ b/doc/reference.doxygen.in +@@ -93,14 +93,6 @@ ALLOW_UNICODE_NAMES = NO + + OUTPUT_LANGUAGE = English + +-# The OUTPUT_TEXT_DIRECTION tag is used to specify the direction in which all +-# documentation generated by doxygen is written. Doxygen will use this +-# information to generate all generated output in the proper direction. +-# Possible values are: None, LTR, RTL and Context. +-# The default value is: None. +- +-OUTPUT_TEXT_DIRECTION = None +- + # If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member + # descriptions after the members that are listed in the file and class + # documentation (similar to Javadoc). Set to NO to disable this. +@@ -271,14 +263,6 @@ OPTIMIZE_FOR_FORTRAN = NO + + OPTIMIZE_OUTPUT_VHDL = NO + +-# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice +-# sources only. Doxygen will then generate output that is more tailored for that +-# language. For instance, namespaces will be presented as modules, types will be +-# separated into more groups, etc. +-# The default value is: NO. +- +-OPTIMIZE_OUTPUT_SLICE = NO +- + # Doxygen selects the parser to use depending on the extension of the files it + # parses. With this tag you can assign which parser to use for a given + # extension. Doxygen has a built-in mapping, but you can override or extend it +@@ -1682,15 +1666,6 @@ LATEX_CMD_NAME = latex + + MAKEINDEX_CMD_NAME = makeindex + +-# The LATEX_MAKEINDEX_CMD tag can be used to specify the command name to +-# generate index for LaTeX. +-# Note: This tag is used in the generated output file (.tex). +-# See also: MAKEINDEX_CMD_NAME for the part in the Makefile / make.bat. +-# The default value is: \makeindex. +-# This tag requires that the tag GENERATE_LATEX is set to YES. +- +-LATEX_MAKEINDEX_CMD = \makeindex +- + # If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX + # documents. This may be useful for small projects and may help to save some + # trees in general. +@@ -1825,14 +1800,6 @@ LATEX_BIB_STYLE = plain + + LATEX_TIMESTAMP = NO + +-# The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute) +-# path from which the emoji images will be read. If a relative path is entered, +-# it will be relative to the LATEX_OUTPUT directory. If left blank the +-# LATEX_OUTPUT directory will be used. +-# This tag requires that the tag GENERATE_LATEX is set to YES. +- +-LATEX_EMOJI_DIRECTORY = +- + #--------------------------------------------------------------------------- + # Configuration options related to the RTF output + #--------------------------------------------------------------------------- +@@ -1970,13 +1937,6 @@ XML_OUTPUT = xml + + XML_PROGRAMLISTING = YES + +-# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include +-# namespace members in file scope as well, matching the HTML output. +-# The default value is: NO. +-# This tag requires that the tag GENERATE_XML is set to YES. +- +-XML_NS_MEMB_FILE_SCOPE = NO +- + #--------------------------------------------------------------------------- + # Configuration options related to the DOCBOOK output + #--------------------------------------------------------------------------- diff --git a/sources/libs/lv2/debian/patches/019_6cefc7df1a6158c79d23029df183c09b10b88cad.patch b/sources/libs/lv2/debian/patches/019_6cefc7df1a6158c79d23029df183c09b10b88cad.patch new file mode 100644 index 0000000..ab9c4e0 --- /dev/null +++ b/sources/libs/lv2/debian/patches/019_6cefc7df1a6158c79d23029df183c09b10b88cad.patch @@ -0,0 +1,34 @@ +From 6cefc7df1a6158c79d23029df183c09b10b88cad Mon Sep 17 00:00:00 2001 +From: David Robillard +Date: Sat, 13 Mar 2021 14:12:48 -0500 +Subject: [PATCH] Simplify rdfs:label restrictions + +Using someValuesFrom here is redundant and overly complex, since the property +range specifies that it is for literals anyway. So, simply replace it with a +minCardinality of 1. +--- + lv2/presets/presets.ttl | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lv2/presets/presets.ttl b/lv2/presets/presets.ttl +index 156f0813..60189ead 100644 +--- a/lv2/presets/presets.ttl ++++ b/lv2/presets/presets.ttl +@@ -18,7 +18,7 @@ pset:Bank + rdfs:subClassOf [ + a owl:Restriction ; + owl:onProperty rdfs:label ; +- owl:someValuesFrom xsd:string ; ++ owl:minCardinality 1 ; + rdfs:comment "A Bank MUST have at least one string rdfs:label." + ] ; + rdfs:comment "A bank of presets." . +@@ -31,7 +31,7 @@ pset:Preset + rdfs:subClassOf [ + a owl:Restriction ; + owl:onProperty rdfs:label ; +- owl:someValuesFrom xsd:string ; ++ owl:minCardinality 1 ; + rdfs:comment "A Preset MUST have at least one string rdfs:label." + ] . + diff --git a/sources/libs/lv2/debian/patches/101_79067e661558983f6811f1281f21c5073d0d19c6.patch b/sources/libs/lv2/debian/patches/101_79067e661558983f6811f1281f21c5073d0d19c6.patch new file mode 100644 index 0000000..8c1f624 --- /dev/null +++ b/sources/libs/lv2/debian/patches/101_79067e661558983f6811f1281f21c5073d0d19c6.patch @@ -0,0 +1,65 @@ +From 79067e661558983f6811f1281f21c5073d0d19c6 Mon Sep 17 00:00:00 2001 +From: falkTX +Date: Wed, 10 Mar 2021 14:22:10 +0000 +Subject: [PATCH] eg-sampler: Convert an arbitrary non-mono audio files to mono + +Signed-off-by: falkTX +--- + plugins/eg-sampler.lv2/sampler.c | 28 ++++++++++++++++++++++++---- + 1 file changed, 24 insertions(+), 4 deletions(-) + +diff --git a/plugins/eg-sampler.lv2/sampler.c b/plugins/eg-sampler.lv2/sampler.c +index 6c64df51..9675003d 100644 +--- a/plugins/eg-sampler.lv2/sampler.c ++++ b/plugins/eg-sampler.lv2/sampler.c +@@ -95,6 +95,23 @@ typedef struct { + Sample* sample; + } SampleMessage; + ++/** ++ Convert an arbitrary non-mono audio buffer to mono. ++ ++ This simply ignores the data on all channels but the first. ++*/ ++static sf_count_t ++convert_to_mono(float *data, sf_count_t num_input_frames, uint32_t channels) ++{ ++ sf_count_t num_output_frames = 0; ++ ++ for (sf_count_t i = 0; i < num_input_frames * channels; i += channels) { ++ data[num_output_frames++] = data[i]; ++ } ++ ++ return num_output_frames; ++} ++ + /** + Load a new sample and return it. + +@@ -115,9 +132,7 @@ load_sample(LV2_Log_Logger* logger, const char* path) + bool error = true; + if (!sndfile || !info->frames) { + lv2_log_error(logger, "Failed to open %s\n", path); +- } else if (info->channels != 1) { +- lv2_log_error(logger, "%s has %d channels\n", path, info->channels); +- } else if (!(data = (float*)malloc(sizeof(float) * info->frames))) { ++ } else if (!(data = (float*)malloc(sizeof(float) * info->frames * info->channels))) { + lv2_log_error(logger, "Failed to allocate memory for sample\n"); + } else { + error = false; +@@ -131,9 +146,14 @@ load_sample(LV2_Log_Logger* logger, const char* path) + } + + sf_seek(sndfile, 0ul, SEEK_SET); +- sf_read_float(sndfile, data, info->frames); ++ sf_read_float(sndfile, data, info->frames * info->channels); + sf_close(sndfile); + ++ if (info->channels != 1) { ++ info->frames = convert_to_mono(data, info->frames, info->channels); ++ info->channels = 1; ++ } ++ + // Fill sample struct and return it + sample->data = data; + sample->path = (char*)malloc(path_len + 1); diff --git a/sources/libs/lv2/debian/patches/102_b0e2fc1a4724ed153d3ffebb04e67faff50766d5.patch b/sources/libs/lv2/debian/patches/102_b0e2fc1a4724ed153d3ffebb04e67faff50766d5.patch new file mode 100644 index 0000000..270a543 --- /dev/null +++ b/sources/libs/lv2/debian/patches/102_b0e2fc1a4724ed153d3ffebb04e67faff50766d5.patch @@ -0,0 +1,111 @@ +From b0e2fc1a4724ed153d3ffebb04e67faff50766d5 Mon Sep 17 00:00:00 2001 +From: falkTX +Date: Mon, 15 Mar 2021 11:09:48 +0000 +Subject: [PATCH] eg-sampler: add resampling via libsamplerate + +--- + plugins/eg-sampler.lv2/sampler.c | 36 +++++++++++++++++++++++++++++--- + plugins/eg-sampler.lv2/wscript | 1 + + 2 files changed, 34 insertions(+), 3 deletions(-) + +diff --git a/plugins/eg-sampler.lv2/sampler.c b/plugins/eg-sampler.lv2/sampler.c +index 9675003d..21a28c8d 100644 +--- a/plugins/eg-sampler.lv2/sampler.c ++++ b/plugins/eg-sampler.lv2/sampler.c +@@ -34,6 +34,7 @@ + #include "lv2/worker/worker.h" + + #include ++#include + + #include + #include +@@ -80,6 +81,7 @@ typedef struct { + bool activated; + bool gain_changed; + bool sample_changed; ++ int sample_rate; + } Sampler; + + /** +@@ -120,7 +122,7 @@ convert_to_mono(float *data, sf_count_t num_input_frames, uint32_t channels) + not modified. + */ + static Sample* +-load_sample(LV2_Log_Logger* logger, const char* path) ++load_sample(LV2_Log_Logger* logger, const char* path, int sample_rate) + { + lv2_log_trace(logger, "Loading %s\n", path); + +@@ -154,6 +156,33 @@ load_sample(LV2_Log_Logger* logger, const char* path) + info->channels = 1; + } + ++ if (info->samplerate != sample_rate) { ++ lv2_log_trace(logger, "Converting sample rate..\n"); ++ ++ const double src_ratio = (double)sample_rate/(double)info->samplerate; ++ const int output_size = ceil(info->frames * src_ratio); ++ float* const output_buffer = malloc(sizeof(float) * output_size); ++ ++ SRC_DATA src_data; ++ src_data.data_in = data; ++ src_data.data_out = output_buffer; ++ src_data.input_frames = info->frames; ++ src_data.output_frames = output_size; ++ src_data.src_ratio = src_ratio; ++ ++ if (src_simple(&src_data, SRC_SINC_BEST_QUALITY, 1) != 0) { ++ lv2_log_error(logger, "Sample rate conversion failed, eg-sampler will use unconverted sample\n"); ++ free(output_buffer); ++ } else { ++ // set new amount of frames ++ info->frames = src_data.output_frames_gen; ++ // swap buffers ++ free(data); ++ data = output_buffer; ++ lv2_log_trace(logger, "Conversion finished\n"); ++ } ++ } ++ + // Fill sample struct and return it + sample->data = data; + sample->path = (char*)malloc(path_len + 1); +@@ -204,7 +233,7 @@ work(LV2_Handle instance, + } + + // Load sample. +- Sample* sample = load_sample(&self->logger, path); ++ Sample* sample = load_sample(&self->logger, path, self->sample_rate); + if (sample) { + // Send new sample to run() to be applied + respond(handle, sizeof(Sample*), &sample); +@@ -298,6 +327,7 @@ instantiate(const LV2_Descriptor* descriptor, + + self->gain = 1.0f; + self->gain_dB = 0.0f; ++ self->sample_rate = (int)rate; + + return (LV2_Handle)self; + } +@@ -585,7 +615,7 @@ restore(LV2_Handle instance, + if (!self->activated || !schedule) { + // No scheduling available, load sample immediately + lv2_log_trace(&self->logger, "Synchronous restore\n"); +- Sample* sample = load_sample(&self->logger, path); ++ Sample* sample = load_sample(&self->logger, path, self->sample_rate); + if (sample) { + free_sample(self, self->sample); + self->sample = sample; +diff --git a/plugins/eg-sampler.lv2/wscript b/plugins/eg-sampler.lv2/wscript +index 8c640c10..4d9debc6 100644 +--- a/plugins/eg-sampler.lv2/wscript ++++ b/plugins/eg-sampler.lv2/wscript +@@ -22,6 +22,7 @@ def configure(conf): + + conf.check_pkg('lv2 >= 1.2.1', uselib_store='LV2') + conf.check_pkg('sndfile >= 1.0.0', uselib_store='SNDFILE') ++ conf.check_pkg('samplerate >= 0.1.0', uselib_store='SAMPLERATE') + conf.check_pkg('gtk+-2.0 >= 2.18.0', + uselib_store='GTK2', + system=True, diff --git a/sources/libs/lv2/debian/patches/103_6820b96062ac5942fe797a6bae84f22a92e18b45.patch b/sources/libs/lv2/debian/patches/103_6820b96062ac5942fe797a6bae84f22a92e18b45.patch new file mode 100644 index 0000000..3433609 --- /dev/null +++ b/sources/libs/lv2/debian/patches/103_6820b96062ac5942fe797a6bae84f22a92e18b45.patch @@ -0,0 +1,23 @@ +From 6820b96062ac5942fe797a6bae84f22a92e18b45 Mon Sep 17 00:00:00 2001 +From: falkTX +Date: Mon, 15 Mar 2021 12:15:06 +0000 +Subject: [PATCH] Make sure to link against libsamplerate + +Signed-off-by: falkTX +--- + plugins/eg-sampler.lv2/wscript | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/plugins/eg-sampler.lv2/wscript b/plugins/eg-sampler.lv2/wscript +index 4d9debc6..115d8a00 100644 +--- a/plugins/eg-sampler.lv2/wscript ++++ b/plugins/eg-sampler.lv2/wscript +@@ -53,7 +53,7 @@ def build(bld): + name = 'sampler', + target = 'lv2/%s/sampler' % bundle, + install_path = '${LV2DIR}/%s' % bundle, +- use = ['M', 'SNDFILE', 'LV2']) ++ use = ['M', 'SNDFILE', 'SAMPLERATE', 'LV2']) + + # Build UI library + if bld.env.HAVE_GTK2: diff --git a/sources/libs/lv2/debian/patches/104_6cf78f419edeb85f54e6e0442515fc8be410ad5b.patch b/sources/libs/lv2/debian/patches/104_6cf78f419edeb85f54e6e0442515fc8be410ad5b.patch new file mode 100644 index 0000000..df1137a --- /dev/null +++ b/sources/libs/lv2/debian/patches/104_6cf78f419edeb85f54e6e0442515fc8be410ad5b.patch @@ -0,0 +1,36 @@ +From 6cf78f419edeb85f54e6e0442515fc8be410ad5b Mon Sep 17 00:00:00 2001 +From: Timothy Krause +Date: Tue, 30 Nov 2021 06:26:10 -0700 +Subject: [PATCH] write the output upto the event and then update the state. + +--- + plugins/eg-midigate.lv2/midigate.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/plugins/eg-midigate.lv2/midigate.c b/plugins/eg-midigate.lv2/midigate.c +index 53794405..db110336 100644 +--- a/plugins/eg-midigate.lv2/midigate.c ++++ b/plugins/eg-midigate.lv2/midigate.c +@@ -160,7 +160,11 @@ run(LV2_Handle instance, uint32_t sample_count) + uint32_t offset = 0; + + LV2_ATOM_SEQUENCE_FOREACH (self->control, ev) { +- if (ev->body.type == self->uris.midi_MidiEvent) { ++ ++ write_output(self, offset, ev->time.frames - offset); ++ offset = (uint32_t)ev->time.frames; ++ ++ if (ev->body.type == self->uris.midi_MidiEvent) { + const uint8_t* const msg = (const uint8_t*)(ev + 1); + switch (lv2_midi_message_type(msg)) { + case LV2_MIDI_MSG_NOTE_ON: +@@ -185,9 +189,6 @@ run(LV2_Handle instance, uint32_t sample_count) + break; + } + } +- +- write_output(self, offset, ev->time.frames - offset); +- offset = (uint32_t)ev->time.frames; + } + + write_output(self, offset, sample_count - offset); diff --git a/sources/libs/lv2/debian/patches/105_0fe90e32d87f91ffe434f0f58c6cc0c8ff77ff5e.patch b/sources/libs/lv2/debian/patches/105_0fe90e32d87f91ffe434f0f58c6cc0c8ff77ff5e.patch new file mode 100644 index 0000000..58f131e --- /dev/null +++ b/sources/libs/lv2/debian/patches/105_0fe90e32d87f91ffe434f0f58c6cc0c8ff77ff5e.patch @@ -0,0 +1,62 @@ +From 0fe90e32d87f91ffe434f0f58c6cc0c8ff77ff5e Mon Sep 17 00:00:00 2001 +From: Filipe Coelho +Date: Sun, 8 May 2022 15:21:56 +0100 +Subject: [PATCH] Remove example plugins from lv2_validate + +The `lv2_validate` tool is meant for checking syntax of files against the LV2 spec. +Don't think checking the syntax of the example plugins is useful, plus they might not even be available is one passes `--no-plugins` during build setup. +--- + util/lv2_validate.in | 14 -------------- + 1 file changed, 14 deletions(-) + +diff --git a/util/lv2_validate.in b/util/lv2_validate.in +index d30cd850..2295f989 100755 +--- a/util/lv2_validate.in ++++ b/util/lv2_validate.in +@@ -14,23 +14,15 @@ sord_validate \ + "$LV2DIR/patch.lv2/manifest.ttl" \ + "$LV2DIR/patch.lv2/patch.meta.ttl" \ + "$LV2DIR/patch.lv2/patch.ttl" \ +- "$LV2DIR/eg-amp.lv2/manifest.ttl" \ +- "$LV2DIR/eg-amp.lv2/amp.ttl" \ +- "$LV2DIR/eg-fifths.lv2/manifest.ttl" \ +- "$LV2DIR/eg-fifths.lv2/fifths.ttl" \ + "$LV2DIR/port-props.lv2/manifest.ttl" \ + "$LV2DIR/port-props.lv2/port-props.meta.ttl" \ + "$LV2DIR/port-props.lv2/port-props.ttl" \ +- "$LV2DIR/eg-midigate.lv2/manifest.ttl" \ +- "$LV2DIR/eg-midigate.lv2/midigate.ttl" \ + "$LV2DIR/worker.lv2/worker.meta.ttl" \ + "$LV2DIR/worker.lv2/manifest.ttl" \ + "$LV2DIR/worker.lv2/worker.ttl" \ + "$LV2DIR/buf-size.lv2/manifest.ttl" \ + "$LV2DIR/buf-size.lv2/buf-size.meta.ttl" \ + "$LV2DIR/buf-size.lv2/buf-size.ttl" \ +- "$LV2DIR/eg-scope.lv2/manifest.ttl" \ +- "$LV2DIR/eg-scope.lv2/examploscope.ttl" \ + "$LV2DIR/midi.lv2/midi.meta.ttl" \ + "$LV2DIR/midi.lv2/manifest.ttl" \ + "$LV2DIR/midi.lv2/midi.ttl" \ +@@ -55,8 +47,6 @@ sord_validate \ + "$LV2DIR/port-groups.lv2/manifest.ttl" \ + "$LV2DIR/port-groups.lv2/port-groups.ttl" \ + "$LV2DIR/port-groups.lv2/port-groups.meta.ttl" \ +- "$LV2DIR/eg-sampler.lv2/manifest.ttl" \ +- "$LV2DIR/eg-sampler.lv2/sampler.ttl" \ + "$LV2DIR/ui.lv2/manifest.ttl" \ + "$LV2DIR/ui.lv2/ui.ttl" \ + "$LV2DIR/ui.lv2/ui.meta.ttl" \ +@@ -77,13 +67,9 @@ sord_validate \ + "$LV2DIR/core.lv2/lv2core.doap.ttl" \ + "$LV2DIR/core.lv2/meta.ttl" \ + "$LV2DIR/core.lv2/people.ttl" \ +- "$LV2DIR/eg-metro.lv2/manifest.ttl" \ +- "$LV2DIR/eg-metro.lv2/metro.ttl" \ + "$LV2DIR/presets.lv2/manifest.ttl" \ + "$LV2DIR/presets.lv2/presets.ttl" \ + "$LV2DIR/presets.lv2/presets.meta.ttl" \ +- "$LV2DIR/eg-params.lv2/manifest.ttl" \ +- "$LV2DIR/eg-params.lv2/params.ttl" \ + "$LV2DIR/urid.lv2/manifest.ttl" \ + "$LV2DIR/urid.lv2/urid.ttl" \ + "$LV2DIR/urid.lv2/urid.meta.ttl" \ diff --git a/sources/libs/lv2/debian/patches/series b/sources/libs/lv2/debian/patches/series new file mode 100644 index 0000000..158f25a --- /dev/null +++ b/sources/libs/lv2/debian/patches/series @@ -0,0 +1,24 @@ +001_ba34a58b32839491335b5bcbda46e11c4b209cbc.patch +002_db715453bc12ac1d91183d3bc3642e4055c9aa26.patch +003_446232eade7b08360fbadf6d16ed7a1ee7481faf.patch +004_611759daacc377a2dba97723097338fceffd6ef8.patch +005_ff22f1d357f278b1b3fd1eb2fd8354cd6c6a226a.patch +006_253346878c9127afbe60e69f0afa3e64632a20c7.patch +007_89321be2808471f99437e1effef0c83be4688b57.patch +008_7485bde78f3422e4f9415ff452fcd858ee544cd0.patch +009_e0b9a3c2806f846c104ba2e0c5816886ab310c1b.patch +010_50f531462274bb6c395ff1b63cf7c1016d7bb088.patch +011_b37402500176b328a6a5752df2a170538cc9594c.patch +012_3a4020958acf5b88f366e5bc99e3009a7beca104.patch +013_a5fe57d4c563601fc993d164dff3d4b0cffc5420.patch +014_fe222f853820810bc1203aa8507600c1d6e44a68.patch +015_8817d4c13380da4e06fe9497c41a251038eaf5d4.patch +016_3f6e7285f93ec2304553dfc8c6bbbfbe05566b04.patch +017_7f7451290ce42c2542b427ea0402930e5af7d899.patch +018_0fb0839d8d3607e7055d4f370880e1438bf9ca23.patch +019_6cefc7df1a6158c79d23029df183c09b10b88cad.patch +101_79067e661558983f6811f1281f21c5073d0d19c6.patch +102_b0e2fc1a4724ed153d3ffebb04e67faff50766d5.patch +103_6820b96062ac5942fe797a6bae84f22a92e18b45.patch +104_6cf78f419edeb85f54e6e0442515fc8be410ad5b.patch +105_0fe90e32d87f91ffe434f0f58c6cc0c8ff77ff5e.patch diff --git a/sources/libs/lv2/debian/rules b/sources/libs/lv2/debian/rules new file mode 100755 index 0000000..ab27e58 --- /dev/null +++ b/sources/libs/lv2/debian/rules @@ -0,0 +1,34 @@ +#!/usr/bin/make -f + +include /usr/share/dpkg/kxstudio.mk + +WAF = python3 ./waf + +override_dh_auto_configure: + $(WAF) configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --strict \ + --test + +override_dh_auto_build: + $(WAF) + +override_dh_auto_clean: + $(WAF) clean || true + +override_dh_auto_install: + $(WAF) install --destdir=$(CURDIR)/debian/tmp + +override_dh_auto_test: + $(WAF) test + +override_dh_install: + dh_install + rm -rf debian/lv2-dev/usr/lib/lv2/eg*.lv2 + # move .pc files to a multiarch directory + mkdir debian/lv2-dev/usr/lib/$(DEB_HOST_MULTIARCH) + mv debian/lv2-dev/usr/lib/pkgconfig debian/lv2-dev/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig + +%: + dh $@ diff --git a/sources/libs/lv2/debian/source/format b/sources/libs/lv2/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/sources/libs/lv2/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/sources/libs/sratom-static/debian/changelog b/sources/libs/sratom-static/debian/changelog new file mode 100644 index 0000000..d575b15 --- /dev/null +++ b/sources/libs/sratom-static/debian/changelog @@ -0,0 +1,5 @@ +sratom-static (6:0.6.8-1kxstudio1) focal; urgency=medium + + * Initial package + + -- falkTX Sun, 17 Apr 2022 15:05:47 +0100 diff --git a/sources/libs/sratom-static/debian/control b/sources/libs/sratom-static/debian/control new file mode 100644 index 0000000..f1727a5 --- /dev/null +++ b/sources/libs/sratom-static/debian/control @@ -0,0 +1,30 @@ +Source: sratom-static +Section: libs +Priority: optional +Maintainer: falkTX +Build-Depends: debhelper-compat (= 13), + kxstudio-build-scripts, + python3, + pkg-config, + libsord-static, + lv2-dev (>= 6:1.18.2-1kxstudio1) +Standards-Version: 4.5.0 +Homepage: http://drobilla.net/software/sratom/ +Rules-Requires-Root: no + +Package: libsratom-static +Architecture: any +Depends: ${misc:Depends}, libsord-static, lv2-dev +Conflicts: sratom-static +Breaks: sratom-static +Description: library for serialising LV2 atoms to/from Turtle (static) + Sratom is a new C library for serialising LV2 atoms to/from Turtle. + It is intended to be a full serialisation solution for LV2 atoms, + allowing implementations to serialise binary atoms to strings and + read them back again. This is particularly useful for saving plugin + state, or implementing plugin control with network transparency. + Sratom uses Serd and Sord to do the work, it is a small library + implemented in a single source file, suitable for direct inclusion + in projects if avoiding a dependency is desired. + . + This package provides the static library used in KXStudio builds. diff --git a/sources/libs/sratom-static/debian/patches/01_dont-run-ldconfig.patch b/sources/libs/sratom-static/debian/patches/01_dont-run-ldconfig.patch new file mode 100644 index 0000000..bfc0ed9 --- /dev/null +++ b/sources/libs/sratom-static/debian/patches/01_dont-run-ldconfig.patch @@ -0,0 +1,12 @@ +diff --git a/wscript b/wscript +index 4e8ebde..41e784c 100644 +--- a/wscript ++++ b/wscript +@@ -231,7 +231,6 @@ def build(bld): + if bld.env.DOCS: + bld.recurse('doc/c') + +- bld.add_post_fun(autowaf.run_ldconfig) + + + def test(tst): diff --git a/sources/libs/sratom-static/debian/patches/02_hidden-sratom-api.patch b/sources/libs/sratom-static/debian/patches/02_hidden-sratom-api.patch new file mode 100644 index 0000000..2b1219b --- /dev/null +++ b/sources/libs/sratom-static/debian/patches/02_hidden-sratom-api.patch @@ -0,0 +1,21 @@ +diff --git a/include/sratom/sratom.h b/include/sratom/sratom.h +index 26966ee..61f2e20 100644 +--- a/include/sratom/sratom.h ++++ b/include/sratom/sratom.h +@@ -30,15 +30,7 @@ + #include + #include + +-#if defined(_WIN32) && !defined(SRATOM_STATIC) && defined(SRATOM_INTERNAL) +-# define SRATOM_API __declspec(dllexport) +-#elif defined(_WIN32) && !defined(SRATOM_STATIC) +-# define SRATOM_API __declspec(dllimport) +-#elif defined(__GNUC__) +-# define SRATOM_API __attribute__((visibility("default"))) +-#else +-# define SRATOM_API +-#endif ++#define SRATOM_API + + #ifdef __cplusplus + extern "C" { diff --git a/sources/libs/sratom-static/debian/patches/03_fix-libs.patch b/sources/libs/sratom-static/debian/patches/03_fix-libs.patch new file mode 100644 index 0000000..57bde11 --- /dev/null +++ b/sources/libs/sratom-static/debian/patches/03_fix-libs.patch @@ -0,0 +1,9 @@ +--- sratom-static-0.4.4.orig/sratom.pc.in ++++ sratom-static-0.4.4/sratom.pc.in +@@ -7,5 +7,5 @@ Name: Sratom + Version: @SRATOM_VERSION@ + Description: LV2 Atom RDF serialisation library + Requires: @SRATOM_PKG_DEPS@ +-Libs: -L${libdir} -l@LIB_SRATOM@ ++Libs: -L${libdir} -l@LIB_SRATOM@ -lsord-0 -lserd-0 -lm + Cflags: -I${includedir}/sratom-@SRATOM_MAJOR_VERSION@ diff --git a/sources/libs/sratom-static/debian/patches/series b/sources/libs/sratom-static/debian/patches/series new file mode 100644 index 0000000..24885ac --- /dev/null +++ b/sources/libs/sratom-static/debian/patches/series @@ -0,0 +1,3 @@ +01_dont-run-ldconfig.patch +02_hidden-sratom-api.patch +03_fix-libs.patch diff --git a/sources/libs/sratom-static/debian/rules b/sources/libs/sratom-static/debian/rules new file mode 100755 index 0000000..c88a920 --- /dev/null +++ b/sources/libs/sratom-static/debian/rules @@ -0,0 +1,29 @@ +#!/usr/bin/make -f + +KXSTUDIO_NO_FASTMATH = y +include /usr/share/dpkg/kxstudio.mk + +WAF = python3 ./waf + +override_dh_auto_configure: + $(WAF) configure \ + --static \ + --no-shared \ + --prefix=/opt/kxstudio \ + --strict \ + --test + +override_dh_auto_build: + $(WAF) + +override_dh_auto_clean: + $(WAF) clean || true + +override_dh_auto_install: + $(WAF) install --destdir=$(CURDIR)/debian/tmp + +override_dh_auto_test: + $(WAF) test + +%: + dh $@ diff --git a/sources/libs/sratom-static/debian/source/format b/sources/libs/sratom-static/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/sources/libs/sratom-static/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt)