Compare commits

...

14 Commits
i9ce ... epel9

Author SHA1 Message Date
Benjamin A. Beasley 9c437bb028 Add a SourceLicense field
2 months ago
Benjamin A. Beasley b1d381347f Fix a typo in a spec-file comment
6 months ago
Benjamin A. Beasley 08f3b308e4 Use a more reliable workaround for gtkdoc dependency bug
6 months ago
Benjamin A. Beasley af337a7ca8 Reduce macro indirection in the spec file
6 months ago
Benjamin A. Beasley 933f996b92 Update the rpmlintrc file
6 months ago
Benjamin A. Beasley ad49998b3a Safer enforcement of serial build
6 months ago
Benjamin A. Beasley cd76e9ac68 Set _smp_build_ncpus instead of using %constrain_build
6 months ago
Benjamin A. Beasley ff5a203208 Note that public-domain texts were added to license data (close RHBZ#2177295)
6 months ago
Benjamin A. Beasley 56bee712d9 Fix warning from libinstpatch-scan.c (gtkdoc)
6 months ago
Benjamin A. Beasley b80a2bee25 Use constrain_build instead of setting _smp_build_ncpus
6 months ago
Benjamin A. Beasley 05851b41a8 Indicate dirs. in files list with trailing slashes
6 months ago
Benjamin A. Beasley 9571b748ac Trivially simplify one files list
6 months ago
Benjamin A. Beasley b79f868d2d Enable gtkdoc documentation; build a -doc subpackage
6 months ago
Benjamin A. Beasley 36fc4f2f37 Update License to SPDX
6 months ago

@ -0,0 +1,26 @@
From 1cb55c72f3a7c52832ef7684dba8b12fd835bf06 Mon Sep 17 00:00:00 2001
From: "Benjamin A. Beasley" <code@musicinmybrain.net>
Date: Wed, 18 Jan 2023 10:36:15 -0500
Subject: [PATCH] Fix warning from libinstpatch-scan.c (gtkdoc)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fixes warning ”implicit declaration of function ipatch_init
---
docs/reference/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/reference/CMakeLists.txt b/docs/reference/CMakeLists.txt
index c9ea3f6..3097736 100644
--- a/docs/reference/CMakeLists.txt
+++ b/docs/reference/CMakeLists.txt
@@ -36,7 +36,7 @@ if (GTKDOC_FOUND)
IGNOREHEADERS ${ignore_headers}
SCANOPTS ${CMAKE_CURRENT_BINARY_DIR}/../../libinstpatch/version.h
SCANOBJOPTS --type-init-func=ipatch_init\(\)
- CFLAGS -I${CMAKE_SOURCE_DIR}
+ CFLAGS -I${CMAKE_SOURCE_DIR} -include libinstpatch/misc.h
LDFLAGS -L${CMAKE_CURRENT_BINARY_DIR}/../../libinstpatch -linstpatch-1.0
LDPATH ${CMAKE_CURRENT_BINARY_DIR}/../../libinstpatch
DEPENDS instpatch-1.0

@ -1,2 +1,4 @@
# These are not real spelling errors...
addFilter(r'spelling-error .*(\(en_US\)| en_US) (wavetable) ')
addFilter(r" spelling-error \('([Ww]avetable)s?',")
# This copylib has no versioning
addFilter(r" unversioned-explicit-provides bundled(md5-plumb)"

@ -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

Loading…
Cancel
Save