File muse.spec of Package muse
#
# spec file for package muse
#
# Copyright (c) 2020 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 version_short 4.2
%{?sle15_python_module_pythons}
Name: muse
Version: 4.2.1
Release: 0
Summary: MIDI Music Editor
License: GPL-2.0-or-later
Group: Productivity/Multimedia/Sound/Midi
URL: https://muse-sequencer.github.io/
#Source: https://github.com/muse-sequencer/muse/archive/muse_%%{sversion}/%%{name}-%%{version}.tar.gz
Source: https://github.com/muse-sequencer/muse/archive/%{version}/%{name}-%{version}.tar.gz
BuildRequires: gcc
BuildRequires: automake
BuildRequires: dos2unix
BuildRequires: cmake >= 2.4
BuildRequires: extra-cmake-modules
BuildRequires: cpp
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: fluidsynth-dssi
BuildRequires: gtk2-devel
BuildRequires: gtk2-tools
BuildRequires: lash-devel >= 0.2
BuildRequires: liblo-devel >= 0.29
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: %{python_module base >= 3.8}
BuildRequires: %{python_module qt5}
BuildRequires: %{python_module Pyro5}
BuildRequires: pkgconfig(Qt5Core) >= 5.1.0
BuildRequires: pkgconfig(Qt5UiTools) >= 5.1.0
BuildRequires: pkgconfig(Qt5Widgets) >= 5.1.0
BuildRequires: pkgconfig(Qt5Svg)
BuildRequires: pkgconfig(alsa) >= 1.1.3
BuildRequires: pkgconfig(dssi) >= 1.1.1
BuildRequires: pkgconfig(fluidsynth) >= 1.1.9
BuildRequires: pkgconfig(gtkmm-2.4)
BuildRequires: pkgconfig(jack) >= 0.125
BuildRequires: pkgconfig(libccaudio2)
BuildRequires: pkgconfig(libinstpatch-1.0)
BuildRequires: pkgconfig(lilv-0) >= 0.24.0
BuildRequires: pkgconfig(lv2) >= 1.18.0
BuildRequires: pkgconfig(rtaudio) >= 5.0.0
BuildRequires: pkgconfig(samplerate) >= 0.1.9
BuildRequires: pkgconfig(sndfile) >= 1.0.28
BuildRequires: pkgconfig(sord-0) >= 0.16.0
BuildRequires: pkgconfig(uuid) >= 0.0.1
BuildRequires: pkgconfig(lrdf) >= 0.5
BuildRequires: pkgconfig(rubberband) >= 1.8.1
Requires: alsa
Requires: alsa-plugins-jack
Requires: dssi
Requires: fluidsynth
Requires: fluidsynth-dssi
Requires: jack
Requires: lash
Requires: %{python_flavor}-Pyro5
Recommends: qjackctl
%description
MusE is a MIDI/Audio sequencer with recording and editing capabilities written originally by Werner Schweer
now developed and maintained by the MusE development team. MusE aims to be a complete multitrack virtual
studio for Linux, it is published under the GNU General Public License.
MusE features include:
Midi sequencing
Realtime record/playback
Midi file import/export
Midi part, as used in the arranger, import/export
Input filter
Midi editing with:
Piano roll
Drum editor
List view
Score editor
Internal synth plugins including:
Fluidsynth soundfont (sf2) capable softsynth
Deicsonze FM synth emulating DX11
Standardized synth plugin formats: DSSI, VST
External synth support both hardware and software
Scriptable editing interface
Experimental python automation interface
Audio sequencing
Realtime Record/Playback several mono/stereo inputs/outputs.
Graphical editing of automation
Several types of audio tracks
Audio inputs
Audio outputs
Wave tracks
Group tracks
Aux outputs
Standardized plugin formats: LADSPA, DSSI, VST, LV2
Drag and drop import and arranging of:
Plugins and plugin presets
Parts
Midi files
Audio files
Aux outputs
%prep
%setup -q -n %{name}-%{version}
# rpmlintrc
find src/share/scripts -type f -exec sed -i -e 's|\/usr\/bin\/env python3|\/usr\/bin\/python%{python_bin_suffix}|g' {} \;
rm -rf src/README.win32
%if 0%{?suse_version} > 1500
sed -i -e 's|-Wno-error|-Wno-error `pkgconf --cflags atkmm-1.6`|' src/muse/lv2Gtk2Support/CMakeLists.txt
%endif
%build
export CFLAGS="%{optflags} -fPIE"
export CXXFLAGS="%{optflags} -fPIE"
export LDFLAGS="-pie"
mkdir src/build
cd src/build
# FIXME: you should use %%cmake macros
cmake .. -DCMAKE_BUILD_TYPE=release \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DCMAKE_INSTALL_LIBDIR=%{_libdir} \
-DMusE_DOC_DIR=%{_defaultdocdir}/%{name} \
%if 0%{?suse_version} > 1500
-DMODULES_BUILD_STATIC=ON \
%endif
-DENABLE_PYTHON=ON
make %{?_smp_mflags}
%install
cd src/build
%make_install
cd ..
%fdupes %{buildroot}%{_datadir}
%files
%license LICENSE src/share/scoreglyphs/LICENSE src/COPYING src/libdivide_LICENSE
%doc README.md src/README* src/SECURITY
%dir %{_datadir}/icons/hicolor
%dir %{_datadir}/icons/hicolor/*
%dir %{_datadir}/icons/hicolor/*/apps/
%dir %{_datadir}/metainfo
%dir %{_libdir}/%{name}-%{version_short}
%{_bindir}/*
%{_libdir}/%{name}-%{version_short}/*
%{_datadir}/%{name}-%{version_short}
%{_datadir}/applications/*.desktop
%{_datadir}/icons/hicolor/*/apps/muse.png
%{_docdir}/%{name}
%{_mandir}/man1/grepmidi.1%{?ext_man}
%{_mandir}/man1/muse4.1%{?ext_man}
%{_datadir}/mime/packages/muse.xml
%{_datadir}/metainfo/io.github.muse_sequencer.Muse.appdata.xml
%changelog