commit 93210506badfd2753a1437feb08ca87f1efb005b Author: Toshaan Bharvani Date: Sat Oct 8 22:20:26 2022 +0200 initial package creation Signed-off-by: Toshaan Bharvani diff --git a/SOURCES/.gitkeeper b/SOURCES/.gitkeeper new file mode 100644 index 0000000..e69de29 diff --git a/SPECS/lv2.spec b/SPECS/lv2.spec new file mode 100644 index 0000000..acd8022 --- /dev/null +++ b/SPECS/lv2.spec @@ -0,0 +1,365 @@ +%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} + +Name: lv2 +Version: 1.18.8 +Release: 4%{?dist} +Summary: Audio Plugin Standard + +# lv2specgen template.html is CC-AT-SA +License: ISC +URL: https://lv2plug.in +Source: https://lv2plug.in/spec/lv2-%{version}.tar.xz + +BuildRequires: asciidoc +Buildrequires: cairo-devel >= 1.8.10 +BuildRequires: doxygen +BuildRequires: gcc-c++ +BuildRequires: graphviz +BuildRequires: libsndfile-devel +BuildRequires: meson +BuildRequires: pkgconfig(samplerate) +BuildRequires: python3-pygments +Buildrequires: python3-rdflib +Buildrequires: python3-markdown +Buildrequires: python3-lxml + +# this package replaces lv2core +Provides: lv2core = 6.0-4 +Obsoletes: lv2core < 6.0-4 +Provides: lv2-ui = 2.4-5 +Obsoletes: lv2-ui < 2.4-5 + +%description +LV2 is a standard for plugins and matching host applications, mainly +targeted at audio processing and generation. + +There are a large number of open source and free software synthesis +packages in use or development at this time. This API ('LV2') attempts +to give programmers the ability to write simple 'plugin' audio +processors in C/C++ and link them dynamically ('plug') into a range of +these packages ('hosts'). It should be possible for any host and any +plugin to communicate completely through this interface. + +LV2 is a successor to LADSPA, created to address the limitations of +LADSPA which many hosts have outgrown. + +%package devel +Summary: API for the LV2 Audio Plugin Standard + +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: python3-rdflib +Requires: python3-markdown +Provides: lv2core-devel = 6.0-4 +Obsoletes: lv2core-devel < 6.0-4 +Provides: lv2-ui-devel = 2.4-5 +Obsoletes: lv2-ui-devel < 2.4-5 + +%description devel +lv2-devel contains the lv2.h header file and headers for all of the +LV2 specification extensions and bundles. + +Definitive technical documentation on LV2 plug-ins for both the host +and plug-in is contained within copious comments within the lv2.h +header file. + +%package doc +Summary: Documentation for the LV2 Audio Plugin Standard +BuildArch: noarch +Obsoletes: %{name}-docs < 1.6.0-2 +Provides: %{name}-docs = %{version}-%{release} + +%description doc +Documentation for the LV2 plugin API. + +%package example-plugins +Summary: Examples of the LV2 Audio Plugin Standard +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description example-plugins +Example plugins for the LV2 Audio Plugin Standard. + +%prep +%autosetup -p1 +# Fix wrong interpreter in lv2specgen.py +sed -i '1s|^#!.*|#!%{__python3}|' lv2specgen/lv2specgen.py + +%build +%meson \ + -D docs=enabled \ + -D old_headers=true \ + -D tests=disabled + +%meson_build + +%install +%meson_install + +# Let RPM pick docs in the files section +rm -fr %{buildroot}%{_docdir}/%{name} + +%pretrans devel -p +-- Remove all symlinks existed in lv2-devel-1.18.2-2.fc36 + +hdir = "%{_includedir}/%{name}" +pdir = hdir .. "/lv2plug.in" + +-- List parent directories in reverse order +-- inside lv2 specific directories +parent_dirs = {} +table.insert(parent_dirs, pdir .. "/ns/extensions") +table.insert(parent_dirs, pdir .. "/ns/ext") +table.insert(parent_dirs, pdir .. "/ns") +table.insert(parent_dirs, hdir) + +for i = 1, #parent_dirs, 1 do -- not use ipairs here to guarantee order + parent = parent_dirs[i] + + dir_entry = posix.dir(parent) + if not(dir_entry) then + goto skip_2 + end + for j, path in pairs(dir_entry) do + exclude_list = {"." , ".."} + for k, ex in ipairs(exclude_list) do + if path == ex then + goto skip_1 + end + end + + fullpath = parent .. "/" + fullpath = fullpath .. path + st = posix.stat(fullpath) + if st and st.type == "link" then + os.remove(fullpath) + end + + ::skip_1:: + end + ::skip_2:: +end + +-- Remove extra symlinks +pathlist = {} +table.insert(pathlist, "%{_inclduedir}/lv2.h") +for i = 1, #pathlist, 1 do + fullpath = pathlist[i] + st = posix.stat(fullpath) + if st and st.type == "link" then + os.remove(fullpath) + end +end + +%files +%license COPYING +%doc NEWS README.md +%dir %{_libdir}/%{name}/ +%{_libdir}/%{name}/atom.lv2 +%{_libdir}/%{name}/buf-size.lv2 +%{_libdir}/%{name}/core.lv2 +%{_libdir}/%{name}/data-access.lv2 +%{_libdir}/%{name}/dynmanifest.lv2 +%{_libdir}/%{name}/event.lv2 +%{_libdir}/%{name}/instance-access.lv2 +%{_libdir}/%{name}/log.lv2 +%{_libdir}/%{name}/midi.lv2 +%{_libdir}/%{name}/morph.lv2 +%{_libdir}/%{name}/options.lv2 +%{_libdir}/%{name}/parameters.lv2 +%{_libdir}/%{name}/patch.lv2 +%{_libdir}/%{name}/port-groups.lv2 +%{_libdir}/%{name}/port-props.lv2 +%{_libdir}/%{name}/presets.lv2 +%{_libdir}/%{name}/resize-port.lv2 +%{_libdir}/%{name}/schemas.lv2 +%{_libdir}/%{name}/state.lv2 +%{_libdir}/%{name}/time.lv2 +%{_libdir}/%{name}/ui.lv2 +%{_libdir}/%{name}/units.lv2 +%{_libdir}/%{name}/uri-map.lv2 +%{_libdir}/%{name}/urid.lv2 +%{_libdir}/%{name}/worker.lv2 + +%files devel +%{_bindir}/lv2specgen.py +%{_bindir}/lv2_validate +%{_datadir}/lv2specgen +%{_includedir}/%{name}/ +%{_libdir}/pkgconfig/%{name}.pc +%{_includedir}/lv2.h + +%files example-plugins +%{_libdir}/%{name}/eg-amp.lv2 +%{_libdir}/%{name}/eg-fifths.lv2 +%{_libdir}/%{name}/eg-metro.lv2 +%{_libdir}/%{name}/eg-midigate.lv2 +%{_libdir}/%{name}/eg-params.lv2 +%{_libdir}/%{name}/eg-sampler.lv2 +%{_libdir}/%{name}/eg-scope.lv2 + +%files doc +%doc %{_vpath_builddir}/doc/* + +%changelog +* Fri Sep 30 2022 Mamoru TASAKA - 1.18.8-4 +- Fix pretrans lua script error for first installation (not upgrade) + (#2131236) + +* Fri Sep 23 2022 Mamoru TASAKA - 1.18.8-3 +- Remove all symlinks in previous -devel subpackage in %%pre_trans + to ensure update transaction (#2123422) + +* Sat Sep 17 2022 Guido Aulisi - 1.18.8-2 +- Readd old headers #2127286 + +* Tue Aug 30 2022 Simone Caronni - 1.18.8-1 +- Update to 1.18.8, switch to Meson. +- Update docs installation. +- Drop gcc/python-devel build requirements. +- Avoid exclude directives in the files section so build ids are not duplicated. + +* Thu Jul 21 2022 Fedora Release Engineering - 1.18.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jul 02 2022 Guido Aulisi - 1.18.4-1 +- Update to 1.18.4 + +* Thu Jan 20 2022 Fedora Release Engineering - 1.18.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Oct 08 2021 Guido Aulisi - 1.18.2-1 +- Update to 1.18.2 +- Add BR gcc-c++ + +* Thu Jul 22 2021 Fedora Release Engineering - 1.18.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 1.18.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Aug 26 2020 Guido Aulisi - 1.18.0-1 +- Update to 1.18.0 +- Add missing BR + +* Tue Jul 28 2020 Fedora Release Engineering - 1.16.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jan 29 2020 Fedora Release Engineering - 1.16.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 1.16.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue Apr 23 2019 Guido Aulisi - 1.16.0-1 +- Update to 1.16.0 +- Use python3 +- Some spec cleanup + +* Tue Feb 19 2019 Guido Aulisi - 1.14.0-9 +- Add missing dependency in devel package + +* Fri Feb 01 2019 Fedora Release Engineering - 1.14.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sun Jul 15 2018 Guido Aulisi - 1.14.0-7 +- Fix FTBFS due to the move of /usr/bin/python into a separate package + +* Fri Jul 13 2018 Fedora Release Engineering - 1.14.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Iryna Shcherbina - 1.14.0-5 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Thu Aug 03 2017 Fedora Release Engineering - 1.14.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.14.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Mar 27 2017 Guido Aulisi - 1.14.0-2 +- Fix wrong interpreter in lv2specgen.py + +* Mon Mar 13 2017 Guido Aulisi - 1.14.0-1 +- Update to 1.14.0 +- Move examples to the example-plugins subpackage +- Provide debuginfo for the examples +- Use hardened LDFLAGS +- Enable syntax highlighting in doc subpackage +- Remove deprecated Group tags + +* Fri Feb 10 2017 Fedora Release Engineering - 1.12.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Sep 16 2016 Brendan Jones - 1.12.0-1 +- Update to 1.12.0 + +* Thu Feb 04 2016 Fedora Release Engineering - 1.10.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 1.10.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue Aug 19 2014 Brendan Jones 1.10.0-2 +- Add missing libsndfile + +* Tue Aug 19 2014 Brendan Jones 1.10.0-1 +- Update to 1.10.0 + +* Sun Aug 17 2014 Fedora Release Engineering - 1.8.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 1.8.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu Jan 09 2014 Brendan Jones 1.8.0-1 +- Upstream maintenance release +- Add example plugins + +* Sun Sep 22 2013 Michael Schwendt - 1.6.0-2 +- Don't duplicate -doc package contents in base package (#913540). +- Define and use %%_pkgdocdir as suggested by the Unversioned Docdirs + change for Fedora 20 (#993908). +- Pass --docdir= to waf. +- Use Group Documentation in -doc subpackage. +- Rename -docs package to -doc as recommended in the guidelines. +- The documentation subpackage does not need the base package. + +* Fri Aug 23 2013 Brendan Jones 1.6.0-1 +- Update to 1.6.0 + +* Sat Aug 03 2013 Fedora Release Engineering - 1.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue May 21 2013 Brendan Jones 1.4.0-1 +- New upstream release + +* Thu Feb 14 2013 Fedora Release Engineering - 1.2.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sat Oct 20 2012 Brendan Jones 1.2.0-1 +- New upstream release + +* Thu Jul 19 2012 Fedora Release Engineering - 1.0.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Jun 13 2012 Brendan Jones 1.0.0-7 +- Remove date from doxygen footers + +* Sat Apr 21 2012 Brendan Jones - 1.0.0-6 +- Re-suppress debuginfo + +* Sat Apr 21 2012 Brendan Jones - 1.0.0-5 +- libsndfile no longer required + +* Sat Apr 21 2012 Brendan Jones - 1.0.0-4 +- remove examples + +* Fri Apr 20 2012 Brendan Jones - 1.0.0-3 +- dd libsndfile BR + +* Fri Apr 20 2012 Brendan Jones - 1.0.0-2 +- Remove debuginfo supression, correct changelog + +* Fri Apr 20 2012 Brendan Jones - 1.0.0-1 +- Created +