|
|
|
@ -3,15 +3,6 @@
|
|
|
|
|
# Since this has never worked, we do not have %%files entries for the result.
|
|
|
|
|
%bcond_with introspection
|
|
|
|
|
|
|
|
|
|
# Fails with
|
|
|
|
|
# CMake Error: Error required internal CMake variable not set, cmake may not be
|
|
|
|
|
# built correctly.
|
|
|
|
|
# Missing variable is:
|
|
|
|
|
# CMAKE_FIND_LIBRARY_PREFIXES
|
|
|
|
|
#
|
|
|
|
|
# When/if this is fixed, we will probably want a -doc subpackage.
|
|
|
|
|
%bcond_with gtkdoc
|
|
|
|
|
|
|
|
|
|
Name: libinstpatch
|
|
|
|
|
Version: 1.1.6
|
|
|
|
|
%global api_version 1.0
|
|
|
|
@ -20,20 +11,36 @@ Release: %autorelease
|
|
|
|
|
Summary: Instrument file software library
|
|
|
|
|
|
|
|
|
|
URL: http://www.swamiproject.org/
|
|
|
|
|
# The entire source is LGPLv2 except:
|
|
|
|
|
#
|
|
|
|
|
# Public Domain:
|
|
|
|
|
# libinstpatch/md5.{c,h}
|
|
|
|
|
# examples/*
|
|
|
|
|
#
|
|
|
|
|
# The resulting effective license is LGPLv2.
|
|
|
|
|
License: LGPLv2
|
|
|
|
|
# The entire source is LGPL-2.1-only, except:
|
|
|
|
|
# • The following are LicenseRef-Fedora-Public-Domain:
|
|
|
|
|
# - libinstpatch/md5.{c,h}
|
|
|
|
|
# The algorithm is due to Ron Rivest. This code was
|
|
|
|
|
# written by Colin Plumb in 1993, no copyright is claimed.
|
|
|
|
|
# This code is in the public domain; do with it what you wish.
|
|
|
|
|
# - examples/create_sf2.c
|
|
|
|
|
# Use this example as you please (public domain)
|
|
|
|
|
# - examples/split_sfont.c
|
|
|
|
|
# Public domain use as you please
|
|
|
|
|
# Texts were added to public-domain-text.txt in fedora-license-data:
|
|
|
|
|
# https://gitlab.com/fedora/legal/fedora-license-data/-/merge_requests/228
|
|
|
|
|
License: LGPL-2.1-only AND LicenseRef-Fedora-Public-Domain
|
|
|
|
|
# Additionally, the following unused files are removed in %%prep:
|
|
|
|
|
# • The following are GPL-2.0-only:
|
|
|
|
|
# - utils/ipatch_convert.c
|
|
|
|
|
#
|
|
|
|
|
# GPLv2:
|
|
|
|
|
# utils/ipatch_convert.c
|
|
|
|
|
%global forgeurl https://github.com/swami/%{name}/
|
|
|
|
|
Source0: %{forgeurl}/archive/v%{version}/%{name}-%{version}.tar.gz
|
|
|
|
|
# …and the following files are used only for build-time testing and do not
|
|
|
|
|
# contribute to the licenses of the binary RPMs:
|
|
|
|
|
# • The following are LicenseRef-Fedora-Public-Domain:
|
|
|
|
|
# - tests/*.py
|
|
|
|
|
# License: Public Domain
|
|
|
|
|
SourceLicense: %{license} AND GPL-2.0-only
|
|
|
|
|
|
|
|
|
|
%global forgeurl https://github.com/swami/libinstpatch
|
|
|
|
|
Source0: %{forgeurl}/archive/v%{version}/libinstpatch-%{version}.tar.gz
|
|
|
|
|
|
|
|
|
|
# Fix warning from libinstpatch-scan.c (gtkdoc)
|
|
|
|
|
# https://github.com/swami/libinstpatch/pull/71
|
|
|
|
|
Patch0: %{forgeurl}/pull/71.patch
|
|
|
|
|
|
|
|
|
|
BuildRequires: cmake
|
|
|
|
|
BuildRequires: gcc
|
|
|
|
@ -43,10 +50,8 @@ BuildRequires: pkgconfig(gobject-2.0)
|
|
|
|
|
BuildRequires: pkgconfig(glib-2.0)
|
|
|
|
|
BuildRequires: pkgconfig(gthread-2.0)
|
|
|
|
|
BuildRequires: pkgconfig(sndfile)
|
|
|
|
|
%if %{with gtkdoc}
|
|
|
|
|
# GTKDOC_ENABLED
|
|
|
|
|
BuildRequires: pkgconfig(gtk-doc)
|
|
|
|
|
%endif
|
|
|
|
|
%if %{with introspection}
|
|
|
|
|
# INTROSPECTION_ENABLED
|
|
|
|
|
BuildRequires: pkgconfig(gobject-introspection-1.0)
|
|
|
|
@ -69,68 +74,98 @@ patch files into, which can then be edited, converted, compressed and saved.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%package devel
|
|
|
|
|
Summary: Development files for %{name}
|
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
|
Summary: Development files for libinstpatch
|
|
|
|
|
# The entire source is LGPL-2.1-only, except:
|
|
|
|
|
# • The following are LicenseRef-Fedora-Public-Domain:
|
|
|
|
|
# - libinstpatch/md5.{c,h}
|
|
|
|
|
# - examples/create_sf2.c
|
|
|
|
|
# - examples/split_sfont.c
|
|
|
|
|
# See the comment above the License field for the base package for full
|
|
|
|
|
# details.
|
|
|
|
|
# None of the LicenseRef-Fedora-Public-Domain files are included in this
|
|
|
|
|
# subpackage.
|
|
|
|
|
License: LGPL-2.1-only
|
|
|
|
|
|
|
|
|
|
Requires: libinstpatch%{?_isa} = %{version}-%{release}
|
|
|
|
|
Requires: glib2-devel%{?_isa}
|
|
|
|
|
Requires: libsndfile-devel%{?_isa}
|
|
|
|
|
|
|
|
|
|
%description devel
|
|
|
|
|
The %{name}-devel package contains libraries and header files for
|
|
|
|
|
developing applications that use %{name}.
|
|
|
|
|
The libinstpatch-devel package contains libraries and header files for
|
|
|
|
|
developing applications that use libinstpatch.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%if %{with gtkdoc}
|
|
|
|
|
%package doc
|
|
|
|
|
Summary: Documentation and examples for %{name}
|
|
|
|
|
Summary: Documentation and examples for libinstpatch
|
|
|
|
|
BuildArch: noarch
|
|
|
|
|
# The entire source is LGPL-2.1-only, except:
|
|
|
|
|
# • The following are LicenseRef-Fedora-Public-Domain:
|
|
|
|
|
# - libinstpatch/md5.{c,h}
|
|
|
|
|
# - examples/create_sf2.c
|
|
|
|
|
# - examples/split_sfont.c
|
|
|
|
|
# See the comment above the License field for the base package for full
|
|
|
|
|
# details.
|
|
|
|
|
#
|
|
|
|
|
# The examples are included in this subpackage. The License is implicitly the
|
|
|
|
|
# same as the base package.
|
|
|
|
|
|
|
|
|
|
%description doc
|
|
|
|
|
The %{name}-doc package contains documentation and examples for
|
|
|
|
|
%{name}.
|
|
|
|
|
%endif
|
|
|
|
|
The libinstpatch-doc package contains documentation and examples for
|
|
|
|
|
libinstpatch.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
|
%autosetup
|
|
|
|
|
%autosetup -p1
|
|
|
|
|
|
|
|
|
|
# Remove example for nonexistent Python bindings
|
|
|
|
|
find examples -type f -name '*.py' -print -delete
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
# We cannot reliably build gtkdoc documentation at the same time as the
|
|
|
|
|
# library. It appears that gtkdoc-scangobj attempts to link the library before
|
|
|
|
|
# it is built.
|
|
|
|
|
#
|
|
|
|
|
# The best fix would be to find the missing dependency relationship or other
|
|
|
|
|
# problem in the CMake build scripts, but this is not quite obvious.
|
|
|
|
|
#
|
|
|
|
|
# Historically this could be worked around by setting _smp_ncpus_max to 1, but
|
|
|
|
|
# this has stopped working.
|
|
|
|
|
#
|
|
|
|
|
# Instead, we build with gtkdoc documentation disabled to get the library, then
|
|
|
|
|
# enable the gtkdoc documentation and rebuild. This guarantees the library is
|
|
|
|
|
# ready when gtkdoc-scangobj runs.
|
|
|
|
|
#
|
|
|
|
|
# See: 1.1.6: build with GTKDOC_ENABLED=ON fails
|
|
|
|
|
# https://github.com/swami/libinstpatch/issues/65
|
|
|
|
|
|
|
|
|
|
%cmake \
|
|
|
|
|
-DGTKDOC_ENABLED:BOOL=%{?with_gtkdoc:ON}%{!?with_gtkdoc:OFF} \
|
|
|
|
|
-DGTKDOC_ENABLED:BOOL=OFF \
|
|
|
|
|
-DINTROSPECTION_ENABLED:BOOL=\
|
|
|
|
|
%{?with_introspection:ON}%{!?with_introspection:OFF} \
|
|
|
|
|
-GNinja
|
|
|
|
|
%cmake_build
|
|
|
|
|
|
|
|
|
|
# Enable the GTK docs and build again.
|
|
|
|
|
%{__cmake} %{_vpath_builddir} -DGTKDOC_ENABLED:BOOL=ON
|
|
|
|
|
%cmake_build
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
|
%cmake_install
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%files
|
|
|
|
|
%license COPYING
|
|
|
|
|
%if %{without gtkdoc}
|
|
|
|
|
%doc ABOUT-NLS
|
|
|
|
|
%doc AUTHORS
|
|
|
|
|
%doc ChangeLog
|
|
|
|
|
%doc README.md
|
|
|
|
|
%doc TODO.tasks
|
|
|
|
|
%endif
|
|
|
|
|
%{_libdir}/%{name}-%{api_version}.so.%{so_version}
|
|
|
|
|
%{_libdir}/%{name}-%{api_version}.so.%{so_version}.*
|
|
|
|
|
%{_libdir}/libinstpatch-%{api_version}.so.%{so_version}{,.*}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%files devel
|
|
|
|
|
%if %{without gtkdoc}
|
|
|
|
|
%doc examples
|
|
|
|
|
%endif
|
|
|
|
|
%{_includedir}/%{name}-%{so_version}
|
|
|
|
|
%{_libdir}/%{name}-%{api_version}.so
|
|
|
|
|
%{_libdir}/pkgconfig/%{name}-%{api_version}.pc
|
|
|
|
|
%{_includedir}/libinstpatch-%{so_version}/
|
|
|
|
|
%{_libdir}/libinstpatch-%{api_version}.so
|
|
|
|
|
%{_libdir}/pkgconfig/libinstpatch-%{api_version}.pc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%if %{with gtkdoc}
|
|
|
|
|
%files doc
|
|
|
|
|
%license COPYING
|
|
|
|
|
%doc ABOUT-NLS
|
|
|
|
@ -138,9 +173,9 @@ find examples -type f -name '*.py' -print -delete
|
|
|
|
|
%doc ChangeLog
|
|
|
|
|
%doc README.md
|
|
|
|
|
%doc TODO.tasks
|
|
|
|
|
%doc examples
|
|
|
|
|
# TODO: built gtkdoc documentation
|
|
|
|
|
%endif
|
|
|
|
|
%doc examples/
|
|
|
|
|
# gtkdoc
|
|
|
|
|
%doc %{_vpath_builddir}/docs/reference/html/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|