Sync from SUSE:SLFO:Main lv2 revision d0de51c0cc509bb49e542b084001edc7

This commit is contained in:
Adrian Schröter 2024-05-03 16:27:29 +02:00
commit e347c67934
5 changed files with 576 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

11
001-lv2-docdir.patch Normal file
View File

@ -0,0 +1,11 @@
--- meson.build.orig 2022-09-10 03:27:03.000000000 +1000
+++ meson.build 2022-12-26 15:51:33.806909081 +1000
@@ -11,7 +11,7 @@
'c_std=c99',
])
-lv2_docdir = get_option('datadir') / 'doc' / 'lv2'
+lv2_docdir = get_option('datadir') / 'doc' / 'packages' / 'lv2'
lv2_source_root = meson.current_source_dir()
lv2_build_root = meson.current_build_dir()

BIN
lv2-1.18.10.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

312
lv2.changes Normal file
View File

@ -0,0 +1,312 @@
-------------------------------------------------------------------
Tue May 2 11:01:08 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org>
- Do not buildrequire cmake: the build uses meson.
-------------------------------------------------------------------
Mon Dec 26 06:31:00 UTC 2022 - Konstantin Voinov <kv@kott.no-ip.biz>
- switch to meson
- Update to 1.18.10
* add 001-lv2-docdir.patch
* remove old patches: lv2pkgconfig.patch build-with-python3.patch
* set noarch for docs
1.18.10 changes:
* Fix includedir in pkg-config file
* Fix missing example plugin UI binaries
* Only install lv2specgen when required Python modules are found
* Replace change history data with a plain text NEWS file
1.18.8 changes:
* Fix documentation build with Python 3.7
* Fix documentation build with meson 0.56.2
* Fix lv2.h missing from installation
* eg-midigate: Fix output timing
* eg-sampler: Add resampling via libsamplerate
* eg-sampler: Fix potentially corrupt notification events
* lv2core: Fix inconsistent plugin class labels
* lv2specgen: Fix installed data paths
1.18.6 changes:
* Add dark mode style for documentation
* Clean up and modernize Python support code
* Fix or avoid new compiler and tool warnings
* Rearrange source tree to be directly usable by dependants
* Remove archaic properties from foaf vocabulary
* Replace canonical dcs ontology with a minimal version for LV2
* Separate API headers from data
* Switch to Meson build system
-------------------------------------------------------------------
Sun Jun 5 00:26:48 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 1.18.4:
* Fix build issues with newer toolchains.
* Fix spelling errors.
* atom: Fix spelling errors.
* patch: Fix spelling errors.
* patch: Fix type and range of patch:value.
* patch: Make the type of patch:wildcard more precise.
* state: Fix spelling errors.
* ui: Deprecate ui:resize.
* ui: Fix spelling errors.
-------------------------------------------------------------------
Fri Feb 5 00:41:59 UTC 2021 - Simon Lees <sflees@suse.de>
- Big ugly patch to force waf to use python3 everywhere, python2
is no longer available for build in SLE core
* build-with-python3.patch
-------------------------------------------------------------------
Sun Jan 24 17:54:25 UTC 2021 - Dirk Müller <dmueller@suse.com>
- update to 1.18.2:
* Various code cleanups and infrastructure improvements.
* eg-sampler: Save and restore gain parameter value.
* state: Fix state:StateChanged URI in metadata and documentation.
-------------------------------------------------------------------
Thu Nov 26 12:22:00 UTC 2020 - Martin Liška <mliska@suse.cz>
- Update rpmlintrc format to work with rpmlint2.
-------------------------------------------------------------------
Wed Oct 7 08:23:41 UTC 2020 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 1.18.0
* Improve documentation.
* Separate extended documentation from primary data.
* core: Add lv2:Markdown datatype.
* core: Deprecate lv2:reportsLatency.
* patch: Fix incorrect type of patch:sequenceNumber.
* port-groups: Remove incorrect type of pg:letterCode.
* port-groups: Replace broken links with detailed Ambisonic
channel descriptions.
* state: Add state:freePath feature.
* ui: Add ui:requestValue feature.
* ui: Add ui:scaleFactor, ui:foregroundColor, and
ui:backgroundColor properties.
* ui: Deprecate ui:binary.
* worker: Improve documentation.
-------------------------------------------------------------------
Sun Dec 8 09:36:46 UTC 2019 - Dave Plater <davejplater@gmail.com>
- Build Leap with python2
-------------------------------------------------------------------
Wed Dec 4 08:05:16 UTC 2019 - Dave Plater <davejplater@gmail.com>
- Update to release 1.16.0
- Rebase lv2pkgconfig.patch, lv2core.pc is no longer built.
- Remove incorporated reproducible.patch.
- Use python3
- Upstream changes:
*Aggressively deprecate uri-map and event extensions.
*Add lv2_validate utility.
*eg-midigate: Respond to "all notes off" MIDI message.
*eg-sampler: Add waveform display to UI.
*Add core/attributes.h utility header.
*Upgrade build system and fix building with Python 3.7.
*Install headers to simpler paths.
*Simplify use of lv2specgen.
*atom: Add lv2_atom_object_get_typed() for easy type-safe access.
to object properties.
*core: Add lv2:MIDIPlugin class.
*core: Rework port restrictions so that presets can be validated.
*midi: Fix incorrect range of midi:chunk.
*options: Relax range of opts:requiredOption and
opts:supportedOption
*patch: Add patch:context property.
*patch: Add patch:accept property.
*state: Add state:StateChanged for notification events.
*time: Clarify time:beat origin.
*units: Fix outdated port description in documentation.
*units: Remove overly restrictive domain from units:unit.
-------------------------------------------------------------------
Mon Jul 9 19:36:47 UTC 2018 - bwiedemann@suse.com
- Add reproducible.patch to make lv2 package build reproducible (boo#1047218)
-------------------------------------------------------------------
Wed Mar 21 13:09:17 UTC 2018 - dimstar@opensuse.org
- Don't require lv2-examples by the devel project: the examples can
be handy, but are not needed to build other stuff.
-------------------------------------------------------------------
Wed Mar 15 12:00:39 UTC 2017 - jengelh@inai.de
- Trim irrelevant parts from description.
-------------------------------------------------------------------
Sun Mar 12 10:05:27 UTC 2017 - davejplater@gmail.com
- Update 1.14.0 stable
- Added lv2pkgconfig.patch to fix .pc files.
- Upstream changes:
* eg-sampler: Support thread-safe state restoration.
* eg-sampler: Fix handling of state file paths.
* eg-scope: Don't feed back UI state updates.
* lv2core: Add lv2_util.h with lv2_features_data() and
lv2_features_query().
* lv2core: Add lv2:enabled designation.
* buf-size: Add bufsz:nominalBlockLength option.
* buf-size: Add bufsz:coarseBlockLength feature.
* log: Add lv2_log_logger_set_map() for changing the URI map of
an existing logger.
* state: Add LV2_STATE_ERR_NO_SPACE status flag.
* state: Add state:threadSafeRestore feature for dropout-free
state restoration.
* time: Define LV2_TIME_PREFIX.
* worker: Improve documentation.
* ui: Improve documentation.
* ui: Add missing property labels.
-------------------------------------------------------------------
Sun Dec 13 17:30:45 UTC 2015 - davejplater@gmail.com
- Update to lv2 (1.12.0) stable.
- Disable documentation build for less than Tumbleweed,
- Upstream changes:
*Fix merging of version histories in specification documentation
*eg-sampler: Support patch:Get, and request initial state from UI
*Simplify property restrictions by removing redundancy.
*eg-sampler: Add gain parameter.
*Improve API documentation.
*lv2core: Add extern C and visibility attribute to LV2_SYMBOL_EXPORT
*lv2core: Add lv2:isSideChain port property.
*lv2core: Relax domain of lv2:minimum lv2:maximum and lv2:default
so they can be used to describe properties/parameters as well.
*parameters: Add range to parameters so hosts know how to control them.
*patch: Define patch:Get with no subject to implicitly apply to
reciever. This can be used by UIs to get an initial description
of a plugin.
*patch: Add patch:Copy method.
*units: Add lv2:Parameter to domain of units:unit.
*units: Fix non-existent port type in examples.
-------------------------------------------------------------------
Fri Jan 9 00:02:55 UTC 2015 - ecsos@opensuse.org
- Update to 1.10.0
* Upgrade to waf 1.7.16.
* lv2specgen: Display deprecated warning on classes
marked owl:deprecated.
* Fix -Wconversion warnings in headers.
* lv2core: Clarify lv2_descriptor() and lv2_lib_descriptor()
documentation.
* atom: Add lv2_atom_sequence_clear() and
lv2_atom_sequence_append_event() helper functions.
* atom: Add lv2_atom_forge_is_object_type() and
lv2_atom_forge_is_blank() to ease backwards compatibility.
* atom: Deprecate Blank and Resource in favour of just Object.
* atom: Add lv2_atom_forge_key() for terser object writing.
* event: Minor documentation improvements.
* patch: Add patch:sequenceNumber for associating replies with
requests.
* ui: Fix identifier typos in documentation.
* ui: Add show interface so UIs can gracefully degrade to
separate windows if hosts can not use their widget directly.
-------------------------------------------------------------------
Tue Nov 11 11:51:45 UTC 2014 - olaf@aepfle.de
- Fix build in SLE_11
cairo is too old for scope files
doc macro behaves different
-------------------------------------------------------------------
Fri Jul 11 16:53:57 UTC 2014 - reddwarf@opensuse.org
- Update to 1.8.0
* Install lv2specgen for use by other projects.
* lv2specgen: Fix links to externally defined terms.
* Add scope example plugin from Robin Gareus.
* lv2core: Add lv2:prototype for property inheritance.
* atom: Make lv2_atom_*_is_end() arguments const.
* log: Add missing include <string.h> to logger.h for memset.
* ui: Fix LV2_UI_INVALID_PORT_INDEX identifier in documentation.
-------------------------------------------------------------------
Sat Aug 17 12:29:54 UTC 2013 - reddwarf@opensuse.org
- Update to 1.6.0
* Upgrade to waf 1.7.11.
* Fix lv2specgen usage from command line.
* atom: Fix crash in forge.h when pushing atoms to a full buffer.
* ui: Add idle interface so native UIs and foreign toolkits can drive their event
loops.
* ui: Add ui:updateRate property.
* Add metronome example plugin to demonstrate sample accurate tempo sync.
* Generate book-style HTML documentation from example plugins.
* lv2core: Make lv2:Parameter rdfs:subClassOf rdf:Property.
* lv2core: Set range of lv2:designation to lv2:Designation.
* lv2core: Add lv2:control for designating primary event-based control ports.
* lv2core: Add lv2:EnvelopePlugin class.
* lv2core: Reserve minor version 0 for unstable development plugins.
* atom: Fix lv2_atom_sequence_end().
* atom: Remove atom:stringType in favour of owl:onDatatype so generic tools can
understand and validate atom literals.
* atom: Improve atom documentation.
* buf-size: Fix typo in bufsz:sequenceSize label.
* event: Fix incorrect return type in lv2_event_get().
* log: Add logger convenience API.
* options: Set the range of opts:requiredOption and opts:supportedOption to opts:Option.
* patch: Add patch:readable and patch:writable for describing available properties.
* patch: Make patch:Set a compact message for setting one property.
* state: Add state:loadDefaultState feature so plugins can have their default state
loaded without hard-coding default state as a special case.
* ui: Fix incorrect linker flag in ui:makeSONameResident documentation.
-------------------------------------------------------------------
Tue Oct 23 22:24:06 UTC 2012 - reddwarf@opensuse.org
- Update to 1.2.0
* Use stricter datatype definitions conformant with the XSD and OWL
specifications for better validation.
* Move all project metadata for extensions (e.g. change log) to separate files to
spare hosts from loading them during discovery.
* lv2core: Use consistent label style.
* atom: Fix lv2_atom_object_next() on 32-bit platforms.
* atom: Fix outdated documentation in forge.h.
* atom: Add lv2_atom_object_body_get().
* atom: Add LV2_ATOM_CONTENTS_CONST and LV2_ATOM_BODY_CONST.
* atom: Fix implicit conversions in forge.h that are invalid in C++11.
* atom: Use consistent label style.
* buf-size: Initial release.
* dynmanifest: Use consistent label style.
* event: Use consistent label style.
* event: Use more precise domain and range for EventPort properties.
* event: Remove asserts from event-helper.h.
* event: Make event iterator gracefully handle optional ports.
* midi: Add C definitions for message types and standard controllers.
* midi: Remove non-standard midi:Tick message type.
* midi: Add midi:binding and midi:channel predicates.
* midi: Use consistent label style.
* midi: Add midi:HexByte datatype for status bytes and masks.
* midi: Fix definition of SystemExclusive status byte.
* morph: Initial release.
* options: Initial release.
* parameters: Add parameters.h of URI defines for convenience.
* parameters: Use consistent label style.
* parameters: Add param:sampleRate.
* port-groups: Use consistent label style.
* port-props: Use consistent label style.
* presets: Use consistent label style.
* resize-port: Initial release.
* state: Use consistent label style.
* time: Use consistent label style.
* urid: Fix typo in urid:unmap documentation.
- Remove lv2-1.0.0-underlinking.patch and lv2-1.0.0-no_g++.patch. Applied upstream.
-------------------------------------------------------------------
Wed Aug 1 22:55:27 UTC 2012 - reddwarf@opensuse.org
- The first unified LV2 release

227
lv2.spec Normal file
View File

@ -0,0 +1,227 @@
#
# spec file for package lv2
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define asciidocs 1
Name: lv2
Version: 1.18.10
Release: 0
Summary: Plugin standard for audio systems
License: ISC
Group: System/Libraries
URL: https://lv2plug.in/
Source0: https://lv2plug.in/spec/lv2-%{version}.tar.xz
# Patch to use default docdir for documentation
Patch0: 001-lv2-docdir.patch
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: meson
BuildRequires: pkgconfig
BuildRequires: python3-Markdown
BuildRequires: python3-lxml
BuildRequires: python3-rdflib
BuildRequires: serdi
BuildRequires: sord
BuildRequires: pkgconfig(gtk+-2.0) >= 2.18.0
BuildRequires: pkgconfig(samplerate)
BuildRequires: pkgconfig(sndfile) >= 1.0.0
%if %{asciidocs} == 1
# Documentation build requirements.
BuildRequires: asciidoc
BuildRequires: codespell
BuildRequires: doxygen
BuildRequires: graphviz
BuildRequires: python3-Pygments
%endif
%description
LV2 is a portable plugin standard for audio systems, similar in scope to LADSPA,
VST, AU, and others. It defines a C API for code and a format for data files
which collectively describe a plugin. LV2 consists of a simple core (roughly
equivalent in power to LADSPA) which can be extended to support more advanced
functionality. This allows the interface to be "grown" to accommodate the needs
of real software as they arise.
LV2 is both a stable interface and a forward-moving project: there is a stable
set of "official" extensions in use while new functionality is actively
developed. Anyone can extend LV2, which allows developers to try out new ideas
and ensure they work in practice. Good extensions are vetted by the community
and included in the official distribution so they can be relied on to be widely
supported. This open development model means developers can always scratch their
itch without a central authority getting in the way. The current stable release
includes most functionality required by modern plugins, including:
* Audio, control, "control voltage" (audio-rate control), and event
(e.g. MIDI) input and output
* Expressive open-ended port metadata, including:
- "Meaningful" controls (e.g. gain or envelope attack) allowing intelligent
host control or UI generation
- Control units (e.g. Hz, octaves, dB)
- Multi-channel port groups (e.g. stereo, 5.1 surround, ambisonics
* Embeddable GUIs in any toolkit, with support for a full plugin/UI split
(including network transparency in capable hosts)
* Ability to bundle any files (e.g. samples or impulses) with plugins
* Presets (bundled and/or user saved)
* Plugin state saving and restoring
* Host-managed logging
* Non-realtime plugin worker methods (simple and portable host-managed
threading)
* Message-based plugin communication, allowing plugins/UIs to have advanced
interfaces without host support or specifications getting in the way
* Transport awareness, both real time and tempo time (bars, beats, etc-.)
LV2 has graceful compatibility "baked in": for example, a simple amplifier
plugin might have audio in/out with a gain control, and function in any host.
The same plugin could have a fancy GUI and transport awareness which optionally
work in hosts that support these features. Conversely, hosts know not to load
plugins that require features it does not support.
See the specification index for complete documentation. If you are a host or
plugin author and need missing functionality, please file a ticket or let us
know your requirements on the mailing list. LV2 is a community project that
depends on your feedback to improve - unknown requirements are unmet
requirements!
%package devel
Summary: Development files for LV2
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
# It actually replaces the old lv2core-devel package. But since the versioning
# went crazy (from 6.0 to 1.0.0) and nothing actually ever required it better to
# avoid the provides/obsoletes. We may want to split this and create a new
# lv2core-devel package in the future (but we need a rpm depenency extractor for
# LV2 bundles).
#Provides: lv2core-devel
#Obsoletes: lv2core-devel
%description devel
LV2 is a plugin standard for audio systems, similar in scope to LADSPA,
VST, AU, and others. It defines a C API for code and a format for data files
which collectively describe a plugin. LV2 consists of a core (roughly
equivalent in power to LADSPA) which can be extended to support more
functionality. This allows the interface to be "grown" to accommodate the needs
of real software as they arise.
LV2 is both a stable interface and a forward-moving project: there is a stable
set of "official" extensions in use while new functionality is actively
developed. Most functionality required by modern plugins is available, including:
* Audio, control, "control voltage" (audio-rate control), and event
(e.g. MIDI) input and output
* Expressive open-ended port metadata, including:
- "Meaningful" controls (e.g. gain or envelope attack) allowing intelligent
host control or UI generation
- Control units (e.g. Hz, octaves, dB)
- Multi-channel port groups (e.g. stereo, 5.1 surround, ambisonics
* Embeddable GUIs in any toolkit, with support for a full plugin/UI split
(including network transparency in capable hosts)
* Ability to bundle any files (e.g. samples or impulses) with plugins
* Presets (bundled and/or user saved)
* Plugin state saving and restoring
* Host-managed logging
* Non-realtime plugin worker methods (simple and portable host-managed
threading)
* Message-based plugin communication, allowing plugins/UIs to have advanced
interfaces without host support or specifications getting in the way
* Transport awareness, both real time and tempo time (bars, beats, etc-.)
%package examples
Summary: LV2 example plugins
Group: Productivity/Multimedia/Sound/Editors and Convertors
Requires: %{name} = %{version}
%description examples
LV2 is a plugin standard for audio systems, similar in scope to LADSPA,
VST, AU, and others. It defines a C API for code and a format for data files
which collectively describe a plugin. LV2 consists of a core (roughly
equivalent in power to LADSPA) which can be extended to support more
functionality.
This package contains LV2 example plugins.
%if %{asciidocs} == 1
%package docs
Summary: LV2 documentation
Group: Documentation/Other
BuildArch: noarch
Requires: %{name} = %{version}
%description docs
LV2 is a plugin standard for audio systems, similar in scope to LADSPA,
VST, AU, and others. It defines a C API for code and a format for data files
which collectively describe a plugin. LV2 consists of a core (roughly
equivalent in power to LADSPA) which can be extended to support more
functionality.
This package contains the LV2 API documentation.
%endif
%prep
%setup -q
%autopatch -p0
%build
%meson -D old_headers=true \
%if %{asciidocs} == 1
-D docs=enabled \
%endif
%meson_build
%install
%meson_install
%fdupes -s %{buildroot}%{_includedir}
sed -i '1s/^#!.*/#!\/usr\/bin\/python3/' %{buildroot}%{_bindir}/lv2specgen.py
%files
%defattr(0644,root,root,0755)
%doc NEWS README.md
%license COPYING
%attr(0755,root,root) %{_bindir}/lv2_validate
%{_libdir}/lv2/
%exclude %{_libdir}/lv2/eg-amp.lv2/
%exclude %{_libdir}/lv2/eg-metro.lv2/
%exclude %{_libdir}/lv2/eg-midigate.lv2/
%exclude %{_libdir}/lv2/eg-sampler.lv2/
%exclude %{_libdir}/lv2/eg-scope.lv2/
%files devel
%defattr(0644,root,root,0755)
%attr(0755,root,root) %{_bindir}/lv2specgen.py
%{_datadir}/lv2specgen
%{_includedir}/lv2.h
%{_includedir}/lv2/
%{_libdir}/pkgconfig/lv2.pc
%files examples
%defattr(0644,root,root,0755)
%{_libdir}/lv2/eg-amp.lv2/
%{_libdir}/lv2/eg-metro.lv2/
%{_libdir}/lv2/eg-midigate.lv2/
%{_libdir}/lv2/eg-sampler.lv2/
%{_libdir}/lv2/eg-scope.lv2/
%if %{asciidocs} == 1
%files docs
%defattr(0644,root,root,0755)
%doc %{_defaultdocdir}/lv2/ns
%doc %{_defaultdocdir}/lv2/c
%doc %{_defaultdocdir}/lv2/style
%endif
%changelog