Accepting request 755049 from multimedia:libs

- Build Leap with python2
- Update to release 1.16.0
- Rebase lv2pkgconfig.patch, lv2core.pc is no longer built.
- Remove incorporated reproducible.patch.
- Use python3

OBS-URL: https://build.opensuse.org/request/show/755049
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/lv2?expand=0&rev=15
This commit is contained in:
Dominique Leuenberger 2019-12-11 11:09:09 +00:00 committed by Git OBS Bridge
commit eedd229820
6 changed files with 68 additions and 140 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b8052683894c04efd748c81b95dd065d274d4e856c8b9e58b7c3da3db4e71d32
size 386438

3
lv2-1.16.0.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dec3727d7bd34a413a344a820678848e7f657b5c6019a0571c61df76d7bdf1de
size 502116

View File

@ -1,3 +1,38 @@
-------------------------------------------------------------------
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

View File

@ -1,7 +1,7 @@
#
# spec file for package lv2
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -12,19 +12,20 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# Documentation doesn't build for less than Tumbleweed
%if 0%{suse_version} > 1320
%define asciidocs 1
# build Leap:15 with python2 it fails with 3
%if 0%{?suse_version} > 1500
%define _waf python3 waf
%else
%define asciidocs 0
%define _waf python2 waf
%endif
Name: lv2
Version: 1.14.0
Version: 1.16.0
Release: 0
Summary: Plugin standard for audio systems
License: ISC
@ -34,10 +35,12 @@ Source0: http://lv2plug.in/spec/lv2-%{version}.tar.bz2
Source1: lv2-rpmlintrc
# Patch-Fix-Upstream lv2pkgconfig.patch davejplater@gmail.com -- Add "/" to end of -I directory because otherwise pkg-config outputs nothing.
Patch0: lv2pkgconfig.patch
# Patch-Fix-Upstream reproducible.patch bmwiedemann
Patch1: reproducible.patch
BuildRequires: pkg-config
%if 0%{?suse_version} > 1500
BuildRequires: python3-rdflib
%else
BuildRequires: python-rdflib
%endif
BuildRequires: pkgconfig(gtk+-2.0) >= 2.18.0
BuildRequires: pkgconfig(sndfile) >= 1.0.0
%if %{asciidocs} == 1
@ -45,8 +48,12 @@ BuildRequires: pkgconfig(sndfile) >= 1.0.0
BuildRequires: asciidoc
BuildRequires: doxygen
BuildRequires: graphviz
%if 0%{?suse_version} > 1500
BuildRequires: python3-Pygments
%else
BuildRequires: python-Pygments
%endif
%endif
%description
LV2 is a portable plugin standard for audio systems, similar in scope to LADSPA,
@ -169,13 +176,16 @@ This package contains the LV2 API documentation.
%prep
%setup -q
%patch0
%patch1 -p1
%autopatch -p1
%build
%if 0%{?suse_version} > 1500
for i in `grep -rl "/usr/bin/env python"`;do sed -i '1s/^#!.*/#!\/usr\/bin\/python3/' ${i} ;done
%endif
export CFLAGS='%{optflags}'
export CXXFLAGS='%{optflags}'
./waf configure -v \
%_waf configure -v \
--prefix=%{_prefix} \
--lv2dir=%{_libdir}/%{name} \
--libdir=%{_libdir} \
@ -185,17 +195,20 @@ export CXXFLAGS='%{optflags}'
%endif
--debug
./waf %{?_smp_mflags} -vvv build
%_waf %{?_smp_mflags} -vvv build
%install
./waf install --lv2dir=%{_libdir}/%{name} --destdir=%{buildroot}
%_waf install --lv2dir=%{_libdir}/%{name} --destdir=%{buildroot}
%if %{asciidocs} == 1
mv -t . %{buildroot}%{_defaultdocdir}/lv2/lv2plug.in
%endif
chmod 0755 %{buildroot}%{_bindir}/lv2_validate
%files
%defattr(0644,root,root,0755)
%doc COPYING NEWS README.md
%doc NEWS README.md
%license COPYING
%{_bindir}/lv2_validate
%{_libdir}/lv2/
%exclude %{_libdir}/lv2/eg-amp.lv2/
%exclude %{_libdir}/lv2/eg-metro.lv2/
@ -210,7 +223,6 @@ mv -t . %{buildroot}%{_defaultdocdir}/lv2/lv2plug.in
%{_includedir}/lv2.h
%{_includedir}/lv2/
%{_libdir}/pkgconfig/lv2.pc
%{_libdir}/pkgconfig/lv2core.pc
%files examples
%defattr(0644,root,root,0755)

View File

@ -1,17 +1,7 @@
Index: lv2/lv2plug.in/ns/lv2core/lv2core.pc.in
Index: lv2-1.16.0/lv2.pc.in
===================================================================
--- lv2/lv2plug.in/ns/lv2core/lv2core.pc.in.orig 2014-12-04 00:07:38.000000000 +0200
+++ lv2/lv2plug.in/ns/lv2core/lv2core.pc.in 2017-03-12 13:33:58.384142906 +0200
@@ -7,4 +7,4 @@ Name: lv2core
Version: @LV2CORE_VERSION@
Description: An audio plugin interface specification.
Libs:
-Cflags: -I${includedir}
+Cflags: -I${includedir}/
Index: lv2.pc.in
===================================================================
--- lv2.pc.in.orig 2014-12-04 00:07:38.000000000 +0200
+++ lv2.pc.in 2017-03-12 13:35:21.026937142 +0200
--- lv2-1.16.0.orig/lv2.pc.in 2018-09-04 01:06:23.000000000 +0200
+++ lv2-1.16.0/lv2.pc.in 2019-12-04 09:42:44.128378371 +0200
@@ -4,4 +4,4 @@ includedir=@INCLUDEDIR@
Name: LV2
Version: @VERSION@

View File

@ -1,109 +0,0 @@
Author: Bernhard M. Wiedemann <bwiedemann suse de>
Date: 2018-04-16
https://github.com/drobilla/lv2/pull/21
https://github.com/drobilla/lv2/pull/22
make lv2 package build reproducible
Index: lv2-1.14.0/lv2specgen/lv2specgen.py
===================================================================
--- lv2-1.14.0.orig/lv2specgen/lv2specgen.py
+++ lv2-1.14.0/lv2specgen/lv2specgen.py
@@ -45,6 +45,7 @@ import optparse
import os
import re
import sys
+import time
import xml.sax.saxutils
import xml.dom
import xml.dom.minidom
@@ -113,7 +114,7 @@ def findStatements(model, s, p, o):
def findOne(m, s, p, o):
l = findStatements(m, s, p, o)
try:
- return l.next()
+ return sorted(l)[0]
except:
return None
@@ -396,7 +397,7 @@ def rdfsPropertyInfo(term, m):
domains = findStatements(m, term, rdfs.domain, None)
domainsdoc = ""
first = True
- for d in domains:
+ for d in sorted(domains):
union = findOne(m, getObject(d), owl.unionOf, None)
if union:
uris = parseCollection(m, getObject(union))
@@ -414,7 +415,7 @@ def rdfsPropertyInfo(term, m):
ranges = findStatements(m, term, rdfs.range, None)
rangesdoc = ""
first = True
- for r in ranges:
+ for r in sorted(ranges):
union = findOne(m, getObject(r), owl.unionOf, None)
if union:
uris = parseCollection(m, getObject(union))
@@ -477,13 +478,14 @@ def rdfsClassInfo(term, m):
restrictions.append(getSubject(meta_type))
if len(superclasses) > 0:
+ superclasses.sort()
doc += "\n<tr><th>Sub-class of</th>"
first = True
for superclass in superclasses:
doc += getProperty(getTermLink(superclass), first)
first = False
- for r in restrictions:
+ for r in sorted(restrictions):
props = findStatements(m, r, None, None)
onProp = None
comment = None
@@ -529,6 +531,7 @@ def rdfsClassInfo(term, m):
# Find out about properties which have rdfs:domain of t
d = classdomains.get(str(term), "")
if d:
+ d.sort()
dlist = ''
first = True
for k in d:
@@ -539,6 +542,7 @@ def rdfsClassInfo(term, m):
# Find out about properties which have rdfs:range of t
r = classranges.get(str(term), "")
if r:
+ r.sort()
rlist = ''
first = True
for k in r:
@@ -606,7 +610,7 @@ def rdfsInstanceInfo(term, m):
doc = ""
first = True
- for match in findStatements(m, term, rdf.type, None):
+ for match in sorted(findStatements(m, term, rdf.type, None)):
doc += getProperty(getTermLink(getObject(match),
term,
rdf.type),
@@ -942,7 +946,7 @@ def releaseChangeset(m, release, prefix=
entry = ''
#entry = '<dd><ul>\n'
- for i in findStatements(m, getObject(changeset), dcs.item, None):
+ for i in sorted(findStatements(m, getObject(changeset), dcs.item, None)):
item = getObject(i)
label = findOne(m, item, rdfs.label, None)
if not label:
@@ -1276,8 +1280,9 @@ def specgen(specloc, indir, style_uri, d
else:
template = template.replace('@COMMENT@', '')
- template = template.replace('@DATE@', datetime.datetime.utcnow().strftime('%F'))
- template = template.replace('@TIME@', datetime.datetime.utcnow().strftime('%F %H:%M UTC'))
+ build_date = datetime.datetime.utcfromtimestamp(int(os.environ.get('SOURCE_DATE_EPOCH', time.time())))
+ template = template.replace('@DATE@', build_date.strftime('%F'))
+ template = template.replace('@TIME@', build_date.strftime('%F %H:%M UTC'))
return template