The package rpms/muse.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/muse.git/commit/?id=ac3dc9843f447....
Change:
-%ifarch x86_64
Thanks.
Full change:
============
commit 06d66399b3a99de4b486013486438e4a73b6a641
Author: Orcan Ogetbil <orcan(a)localhost.localdomain>
Date: Mon Jan 8 22:00:27 2018 -0500
removed old patches, added patches needed for 3.0
diff --git a/muse-gcc6.patch b/muse-gcc6.patch
deleted file mode 100644
index e857c64..0000000
--- a/muse-gcc6.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-diff -rupN
muse-2.2.1.org/muse/lv2host.cpp muse-2.2.1/muse/lv2host.cpp
----
muse-2.2.1.org/muse/lv2host.cpp 2015-01-28 15:43:21.000000000 -0500
-+++ muse-2.2.1/muse/lv2host.cpp 2016-02-07 13:58:15.147861459 -0500
-@@ -904,7 +904,7 @@ void LV2Synth::lv2state_InitMidiPorts(LV
- synth->mapUrid(LV2_ATOM__Sequence)
- );
- state->midiInPorts [i].buffer = buffer;
-- state->idx2EvtPorts.insert(std::make_pair<uint32_t, LV2EvBuf
*>(state->midiInPorts [i].index, buffer));
-+ state->idx2EvtPorts.insert(std::make_pair/*<uint32_t, LV2EvBuf
*>*/(state->midiInPorts [i].index, buffer));
- }
-
- for(size_t i = 0; i < state->midiOutPorts.size(); i++)
-@@ -915,7 +915,7 @@ void LV2Synth::lv2state_InitMidiPorts(LV
- synth->mapUrid(LV2_ATOM__Sequence)
- );
- state->midiOutPorts [i].buffer = buffer;
-- state->idx2EvtPorts.insert(std::make_pair<uint32_t, LV2EvBuf
*>(state->midiOutPorts [i].index, buffer));
-+ state->idx2EvtPorts.insert(std::make_pair/*<uint32_t, LV2EvBuf
*>*/(state->midiOutPorts [i].index, buffer));
- }
-
- }
-@@ -1668,9 +1668,9 @@ void LV2Synth::lv2prg_updatePrograms(LV2
- extPrg.useIndex = true;
- extPrg.name = QString(pDescr->name);
-
-- state->index2prg.insert(std::make_pair<uint32_t, lv2ExtProgram>(iPrg,
extPrg));
-+ state->index2prg.insert(std::make_pair/*<uint32_t,
lv2ExtProgram>*/(iPrg, extPrg));
- uint32_t midiprg = ((extPrg.bank & 0xff) << 8) + extPrg.prog;
-- state->prg2index.insert(std::make_pair<uint32_t, uint32_t>(midiprg,
iPrg));
-+ state->prg2index.insert(std::make_pair/*<uint32_t,
uint32_t>*/(midiprg, iPrg));
- ++iPrg;
- }
- }
-@@ -2277,7 +2277,7 @@ LV2Synth::LV2Synth(const QFileInfo &fi,
- const char *strUiType = lilv_node_as_string(pluginUIType); //internal uis
are preferred
- std::cerr << "Plugin " << label.toStdString() <<
" supports ui of type " << strUiType << std::endl;
- #endif
-- _pluginUiTypes.insert(std::make_pair<const LilvUI *, std::pair<bool,
const LilvNode *> >(ui, std::make_pair<bool, const LilvNode *>(false,
pluginUIType)));
-+ _pluginUiTypes.insert(std::make_pair/*<const LilvUI *, std::pair<bool,
const LilvNode *> >*/(ui, std::make_pair/*<bool, const LilvNode *>*/(false,
pluginUIType)));
- }
- else
- {
-@@ -2299,7 +2299,7 @@ LV2Synth::LV2Synth(const QFileInfo &fi,
- #ifdef DEBUG_LV2
- std::cerr << "Plugin " << label.toStdString()
<< " supports ui of type " << LV2_UI_EXTERNAL << std::endl;
- #endif
-- _pluginUiTypes.insert(std::make_pair<const LilvUI *,
std::pair<bool, const LilvNode *> >(ui, std::make_pair<bool, const LilvNode
*>(true, pluginUIType)));
-+ _pluginUiTypes.insert(std::make_pair/*<const LilvUI *,
std::pair<bool, const LilvNode *> >*/(ui, std::make_pair/*<bool, const
LilvNode *>*/(true, pluginUIType)));
- }
-
- nit = lilv_nodes_next(nUiClss, nit);
-@@ -2326,7 +2326,7 @@ LV2Synth::LV2Synth(const QFileInfo &fi,
- if (pLabels != NULL)
- {
- const LilvNode* pLabel = lilv_nodes_get_first(pLabels);
-- _presets.insert(std::make_pair<QString, LilvNode
*>(lilv_node_as_string(pLabel), lilv_node_duplicate(preset)));
-+ _presets.insert(std::make_pair/*<QString, LilvNode
*>*/(lilv_node_as_string(pLabel), lilv_node_duplicate(preset)));
- lilv_nodes_free(pLabels);
- }
- else
-@@ -4114,7 +4114,7 @@ void LV2SynthIF::populatePatchPopup(MusE
- submenu = new MusEGui::PopupMenu(menu->parent());
- submenu->setTitle(QString("Bank #") + QString::number(bank +
1));
- menu->addMenu(submenu);
-- submenus.insert(std::make_pair<int, MusEGui::PopupMenu *>(bank,
submenu));
-+ submenus.insert(std::make_pair/*<int, MusEGui::PopupMenu *>*/(bank,
submenu));
-
- }
-
-diff -rupN
muse-2.2.1.org/muse/midiedit/ecanvas.cpp muse-2.2.1/muse/midiedit/ecanvas.cpp
----
muse-2.2.1.org/muse/midiedit/ecanvas.cpp 2015-01-28 15:43:21.000000000 -0500
-+++ muse-2.2.1/muse/midiedit/ecanvas.cpp 2016-02-07 13:40:10.257682898 -0500
-@@ -271,8 +271,8 @@ void EventCanvas::selectAtTick(unsigned
-
- while (i != items.end()) {
- CItem* cur=i->second;
-- unsigned int curtk=abs(cur->x() + cur->part()->tick() - tick);
-- unsigned int neartk=abs(nearest->x() + nearest->part()->tick()
- tick);
-+ unsigned int curtk=abs(cur->x() + int(cur->part()->tick() -
tick));
-+ unsigned int neartk=abs(nearest->x() +
int(nearest->part()->tick() - tick));
-
- if (curtk < neartk) {
- nearest=cur;
-diff -rupN
muse-2.2.1.org/muse/sync.cpp muse-2.2.1/muse/sync.cpp
----
muse-2.2.1.org/muse/sync.cpp 2015-01-28 15:43:21.000000000 -0500
-+++ muse-2.2.1/muse/sync.cpp 2016-02-07 14:06:27.980673369 -0500
-@@ -961,7 +961,7 @@ void MidiSeq::realtimeSystemInput(int po
- if(_preDetect && pole == 0)
- {
- double real_tempo = 60.0/(avg_diff * 24.0);
-- double real_tempo_diff = abs(real_tempo -
_lastRealTempo);
-+ double real_tempo_diff = fabs(real_tempo -
_lastRealTempo);
-
- // If the tempo changed a large amount, reset.
- if(real_tempo_diff >= 10.0) // TODO:
User-adjustable?
-@@ -1009,7 +1009,7 @@ void MidiSeq::realtimeSystemInput(int po
- if(pole == fin_idx)
- {
- double real_tempo = 60.0/(avg_diff * 24.0);
-- double real_tempo_diff = abs(real_tempo -
_lastRealTempo);
-+ double real_tempo_diff = fabs(real_tempo -
_lastRealTempo);
-
- if(real_tempo_diff >= _tempoQuantizeAmount/2.0) //
Anti-hysteresis
- {
-diff -rupN
muse-2.2.1.org/muse/widgets/knob_and_meter.cpp
muse-2.2.1/muse/widgets/knob_and_meter.cpp
----
muse-2.2.1.org/muse/widgets/knob_and_meter.cpp 2015-01-28 15:43:21.000000000 -0500
-+++ muse-2.2.1/muse/widgets/knob_and_meter.cpp 2016-02-07 13:05:44.525872090 -0500
-@@ -171,7 +171,7 @@ void KnobWithMeter::drawKnob(QPainter* p
- QPen pn;
- pn.setCapStyle(Qt::FlatCap);
-
-- pn.setColor(d_shinyColor.lighter(l_const + abs(value() * l_slope)));
-+ pn.setColor(d_shinyColor.lighter(l_const + fabs(value() * l_slope)));
- pn.setWidth(d_shineWidth * 2);
- p->setPen(pn);
- p->drawArc(aRect, 0, 360 * 16);
-diff -rupN
muse-2.2.1.org/muse/widgets/knob.cpp muse-2.2.1/muse/widgets/knob.cpp
----
muse-2.2.1.org/muse/widgets/knob.cpp 2015-01-28 15:43:21.000000000 -0500
-+++ muse-2.2.1/muse/widgets/knob.cpp 2016-02-07 12:44:50.150460578 -0500
-@@ -172,7 +172,7 @@ void Knob::drawKnob(QPainter* p, const Q
- QPen pn;
- pn.setCapStyle(Qt::FlatCap);
-
-- pn.setColor(d_shinyColor.lighter(l_const + abs(value() * l_slope)));
-+ pn.setColor(d_shinyColor.lighter(l_const + fabs(value() * l_slope)));
- pn.setWidth(d_shineWidth * 2);
- p->setPen(pn);
- p->drawArc(aRect, 0, 360 * 16);
diff --git a/muse-gcc7.patch b/muse-gcc7.patch
deleted file mode 100644
index c2f43b4..0000000
--- a/muse-gcc7.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -rupN
muse-2.2.1.org/muse/waveedit/wavecanvas.cpp
muse-2.2.1/muse/waveedit/wavecanvas.cpp
----
muse-2.2.1.org/muse/waveedit/wavecanvas.cpp 2015-01-28 15:43:21.000000000 -0500
-+++ muse-2.2.1/muse/waveedit/wavecanvas.cpp 2017-02-13 01:57:35.202222728 -0500
-@@ -275,8 +275,8 @@ void WaveCanvas::selectAtFrame(unsigned
-
- while (i != items.end()) {
- CItem* cur=i->second;
-- unsigned int curf=abs(cur->x() + cur->part()->frame() -
frame);
-- unsigned int nearf=abs(nearest->x() + nearest->part()->frame()
- frame);
-+ unsigned int curf=abs(cur->x() + (int)cur->part()->frame() -
(int)frame);
-+ unsigned int nearf=abs(nearest->x() +
(int)nearest->part()->frame() - (int)frame);
-
- if (curf < nearf) {
- nearest=cur;
diff --git a/muse-glibc227.patch b/muse-glibc227.patch
new file mode 100644
index 0000000..7c9e509
--- /dev/null
+++ b/muse-glibc227.patch
@@ -0,0 +1,116 @@
+diff -rupN
muse-3.0.org/muse/muse_math.h muse-3.0/muse/muse_math.h
+---
muse-3.0.org/muse/muse_math.h 2017-04-07 12:53:52.000000000 -0400
++++ muse-3.0/muse/muse_math.h 2018-01-07 23:50:42.463942943 -0500
+@@ -31,7 +31,7 @@
+ // Convert value to dB, rounding to nearest .000001 due to inaccuracy with log.
+ #define muse_val2dbr(x) (round(log10(x) * 20000000.0) * 0.000001)
+ // Convert dB to val.
+-#define muse_db2val(x) pow10(x * 0.05)
++#define muse_db2val(x) exp10(x * 0.05)
+ // Round to the nearest .000001
+ #define muse_round2micro(x) (round(x * 1000000.0) * 0.000001)
+
+diff -rupN
muse-3.0.org/muse/widgets/mmath.cpp muse-3.0/muse/widgets/mmath.cpp
+---
muse-3.0.org/muse/widgets/mmath.cpp 2017-01-19 17:42:17.000000000 -0500
++++ muse-3.0/muse/widgets/mmath.cpp 2018-01-07 23:49:51.655142530 -0500
+@@ -131,7 +131,7 @@ double qwtCeil125( double x)
+
+ lx = log10(fabs(x));
+ p10 = floor(lx);
+- fr = pow10(lx - p10);
++ fr = exp10(lx - p10);
+ if (fr <=1.0)
+ fr = 1.0;
+ else if (fr <= 2.0)
+@@ -140,7 +140,7 @@ double qwtCeil125( double x)
+ fr = 5.0;
+ else
+ fr = 10.0;
+- rv = fr * pow10(p10);
++ rv = fr * exp10(p10);
+ return sign * rv;
+ }
+
+@@ -168,7 +168,7 @@ double qwtFloor125( double x)
+
+ lx = log10(fabs(x));
+ p10 = floor(lx);
+- fr = pow10(lx - p10);
++ fr = exp10(lx - p10);
+ if (fr >= 10.0)
+ fr = 10.0;
+ else if (fr >= 5.0)
+@@ -177,7 +177,7 @@ double qwtFloor125( double x)
+ fr = 2.0;
+ else
+ fr = 1.0;
+- rv = fr * pow10(p10);
++ rv = fr * exp10(p10);
+ return sign * rv;
+ }
+
+diff -rupN
muse-3.0.org/muse/widgets/scldiv.cpp muse-3.0/muse/widgets/scldiv.cpp
+---
muse-3.0.org/muse/widgets/scldiv.cpp 2017-01-19 17:42:17.000000000 -0500
++++ muse-3.0/muse/widgets/scldiv.cpp 2018-01-07 23:49:51.655142530 -0500
+@@ -453,8 +453,8 @@ bool ScaleDiv::buildLogDiv(int maxMajSte
+ lFirst = ceil((log10(d_lBound) - step_eps * d_majStep) / d_majStep) * d_majStep;
+ lLast = floor((log10(d_hBound) + step_eps * d_majStep) / d_majStep) * d_majStep;
+
+- firstTick = pow10(lFirst);
+- lastTick = pow10(lLast);
++ firstTick = exp10(lFirst);
++ lastTick = exp10(lLast);
+
+ nMaj = MusECore::qwtMin(10000, int(rint(MusECore::qwtAbs(lLast - lFirst) /
d_majStep)) + 1);
+
+@@ -514,7 +514,7 @@ bool ScaleDiv::buildLogDiv(int maxMajSte
+ if (i >= 0)
+ val = d_majMarks[i];
+ else
+- val = d_majMarks[0] / pow10(d_majStep);
++ val = d_majMarks[0] / exp10(d_majStep);
+
+ for (k=k0; k<= kmax; k+=kstep)
+ {
+@@ -555,7 +555,7 @@ bool ScaleDiv::buildLogDiv(int maxMajSte
+ buffer.resize((d_majMarks.size() + 1) * nMin );
+
+ // substep factor = 10^substeps
+- minFactor = MusECore::qwtMax(pow10(minStep), 10.0);
++ minFactor = MusECore::qwtMax(exp10(minStep), 10.0);
+
+ // Are there minor ticks below the first major tick?
+ if ( d_lBound < firstTick )
+@@ -569,7 +569,7 @@ bool ScaleDiv::buildLogDiv(int maxMajSte
+ if (i >= 0)
+ val = d_majMarks[i];
+ else
+- val = firstTick / pow10(d_majStep);
++ val = firstTick / exp10(d_majStep);
+
+ for (k=0; k< nMin; k++)
+ {
+diff -rupN
muse-3.0.org/synti/organ/organ.cpp muse-3.0/synti/organ/organ.cpp
+---
muse-3.0.org/synti/organ/organ.cpp 2017-08-17 12:35:43.000000000 -0400
++++ muse-3.0/synti/organ/organ.cpp 2018-01-07 23:50:07.895078736 -0500
+@@ -103,7 +103,7 @@ Organ::Organ(int sr)
+
+ // centibels to amplitude conversion
+ for (int i = 0; i < MAX_ATTENUATION; i++)
+- cb2amp_tab[i] = pow10(double(i) / -200.0);
++ cb2amp_tab[i] = exp10(double(i) / -200.0);
+
+ for (int i = 0; i < 128; ++i) {
+ double freq = 8.176 * exp(double(i)*log(2.0)/12.0);
+diff -rupN
muse-3.0.org/synti/vam/vam.cpp muse-3.0/synti/vam/vam.cpp
+---
muse-3.0.org/synti/vam/vam.cpp 2017-01-19 17:42:17.000000000 -0500
++++ muse-3.0/synti/vam/vam.cpp 2018-01-07 23:49:51.656142526 -0500
+@@ -337,7 +337,7 @@ bool VAM::init(const char* name)
+ int i;
+ float tmp;
+ for(i = 0; i < CB_AMP_SIZE; i++) {
+- cb2amp_tab[i] = pow10(double(i) / -300.0);
++ cb2amp_tab[i] = exp10(double(i) / -300.0);
+ //cb2amp_tab[i] = 1.0 - i/(float)CB_AMP_SIZE;
+ }
+ for(i = 0; i < LIN2EXP_SIZE; i++) {
diff --git a/muse-makepair.patch b/muse-makepair.patch
new file mode 100644
index 0000000..d19cd9a
--- /dev/null
+++ b/muse-makepair.patch
@@ -0,0 +1,12 @@
+diff -rupN
muse-3.0.org/muse/vst_native.cpp muse-3.0/muse/vst_native.cpp
+---
muse-3.0.org/muse/vst_native.cpp 2017-12-17 13:47:00.000000000 -0500
++++ muse-3.0/muse/vst_native.cpp 2018-01-07 23:25:08.155954949 -0500
+@@ -470,7 +470,7 @@ static void scanVstNativeLib(QFileInfo&
+ VstIntPtr id = plugin->dispatcher(plugin, 24 + 46 /* effShellGetNextPlugin
*/, 0, 0, cPlugName, 0);
+ if(id != 0 && cPlugName [0] != 0)
+ {
+- shellPlugs.insert(std::make_pair<int, std::string>(id,
std::string(cPlugName)));
++ shellPlugs.insert(std::make_pair(id, std::string(cPlugName)));
+ }
+ else
+ break;
commit ac3dc9843f4476b0c9adc25d489ffe40067a1e23
Author: Orcan Ogetbil <orcan(a)localhost.localdomain>
Date: Mon Jan 8 21:57:59 2018 -0500
Update to 3.0
diff --git a/.gitignore b/.gitignore
index 2f7eca3..20459df 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,3 +9,4 @@
/muse-2.1.1.tar.gz
/muse-2.1.2.tar.gz
/muse-2.2.1.tar.gz
+/muse-3.0.tar.gz
diff --git a/muse.spec b/muse.spec
index 18adb11..6f89c2f 100644
--- a/muse.spec
+++ b/muse.spec
@@ -1,23 +1,16 @@
-%global maj 2.2
+%global maj 3.0
# No need to provide & require internal libraries
%filter_provides_in %{_libdir}/%{name}-%{maj}.*/.*/.*\.so$
%filter_from_requires /libmuse_.*\.so.*/d
%filter_setup
-# lv2 gtk2 helper target
-%ifarch x86_64
-%global LV2_GTK_HELPER lv2Gtk2Helper64.so
-%else
-%global LV2_GTK_HELPER lv2Gtk2Helper32.so
-%endif
-
Name: muse
Summary: Midi/Audio Music Sequencer
# Epoch is set to 1 for PlanetCCRMA compatibility.
# See:
https://fedoraproject.org/wiki/AudioCreation
Epoch: 1
-Version: 2.2.1
-Release: 8%{?dist}
+Version: 3.0
+Release: 1%{?dist}
# original freeverb plugin was public domain
# givertcap (not built) is GPLv2
# The rest, including the core of muse is distributed under GPLv2+
@@ -25,11 +18,10 @@ License: Public Domain and GPLv2 and GPLv2+ and LGPLv2+
Group: Applications/Multimedia
URL:
http://www.muse-sequencer.org/
Source0:
https://downloads.sourceforge.net/project/lmuse/%{name}-%{maj}/%{name}-%{...
-
-# Fixed upstream
-Patch0: muse-gcc6.patch
-# Fixed upstream
-Patch1: muse-gcc7.patch
+# FIX build issue due to use of GNU extensions. Upstreamed.
+Patch0: muse-glibc227.patch
+# FIX build against newer gcc. Upstreamed.
+Patch1: muse-makepair.patch
BuildRequires: alsa-lib-devel
BuildRequires: cmake
@@ -39,14 +31,18 @@ BuildRequires: fluidsynth-devel
BuildRequires: jack-audio-connection-kit-devel
BuildRequires: ladspa-devel
BuildRequires: lash-devel
+BuildRequires: libinstpatch-devel
BuildRequires: liblo-devel
BuildRequires: lilv-devel
BuildRequires: libsamplerate-devel
BuildRequires: libsndfile-devel
BuildRequires: pkgconfig
-BuildRequires: python2-devel
-BuildRequires: qt4-devel
-
+BuildRequires: qt5-qtsvg-devel
+BuildRequires: qt5-qttools-static
+# Only Fedora > 27 has recent enough rtaudio
+%if 0%{fedora} > 27
+BuildRequires: rtaudio-devel
+%endif
# For lv2 plugins
BuildRequires: gtkmm24-devel
@@ -61,27 +57,17 @@ for Linux.
%prep
%setup -q
+%patch0 -p1 -b .gnusource
+%patch1 -p1 -b .makepair
-%patch0 -p1 -b .gcc6
-%patch1 -p1 -b .gcc7
-
-# remove precompiled binaries
-find . -name "*.so" -exec rm {} \;
-
-# install only the helper with the appropriate bitness
-sed -i "s|\(install(FILES\).*|\1 %LV2_GTK_HELPER|"
muse/lv2Gtk2Helper/CMakeLists.txt
-
-# Module dependency fix. This is fixed in upstream trunk
-sed -i 's|awl|awl widgets|' muse/liste/CMakeLists.txt
synti/deicsonze/CMakeLists.txt muse/instruments/CMakeLists.txt
%build
-make -C muse/lv2Gtk2Helper/ %LV2_GTK_HELPER DEBUGFLAGS="%{optflags}
-std=gnu++14" FLAGS32= FLAGS64=
-
+export CMAKE_CXX_FLAGS="-D_GNU_SOURCE"
mkdir -p %{_target_platform}
pushd %{_target_platform}
%{cmake} .. \
- -DMusE_DOC_DIR=%{_pkgdocdir}/ \
- -DENABLE_PYTHON=1
+ -DMusE_DOC_DIR=%{_pkgdocdir}/
+
make %{?_smp_mflags}
@@ -112,6 +98,7 @@ update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null
|| :
%files
+%license COPYING
%{_pkgdocdir}
%{_bindir}/%{name}*
%{_bindir}/grepmidi
@@ -124,6 +111,9 @@ update-mime-database %{?fedora:-n} %{_datadir}/mime &>
/dev/null || :
%{_datadir}/mime/packages/muse.xml
%changelog
+* Sun Jan 07 2018 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot] com> - 3.0-1
+- Update to 3.0
+
* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> -
1:2.2.1-8
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
diff --git a/sources b/sources
index cbbeb9a..83b5f8f 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-985e96c9513d0b2baad8386bc0adc4d8 muse-2.2.1.tar.gz
+SHA512 (muse-3.0.tar.gz) =
688b87ad093d137446b8b1f65937e0ddccc6077a308d974e939c5c91acb9cb7d8fe2809b6c4782d08ad0ffd7680adc1550dfa58cc8c438a5be13c232130aad5c