From 204adc301785073bc07a936d4f3c494876f68449 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 26 Sep 2016 10:47:58 +0200 Subject: gnu: azr3: Fix libsigc++ build errors. * gnu/packages/audio.scm (azr3)[arguments]: Add "-std=gnu++11" flag. [source]: Add patch. * gnu/packages/patches/azr3.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/audio.scm | 5 +- gnu/packages/patches/azr3.patch | 151 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 156 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/azr3.patch diff --git a/gnu/local.mk b/gnu/local.mk index 2f06ec46f6..c2cdf8b448 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -458,6 +458,7 @@ dist_patch_DATA = \ %D%/packages/patches/avahi-localstatedir.patch \ %D%/packages/patches/avidemux-install-to-lib.patch \ %D%/packages/patches/awesome-reproducible-png.patch \ + %D%/packages/patches/azr3.patch \ %D%/packages/patches/bash-completion-directories.patch \ %D%/packages/patches/bigloo-gc-shebangs.patch \ %D%/packages/patches/binutils-ld-new-dtags.patch \ diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index d818216047..9699a55030 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -266,12 +266,15 @@ engineers, musicians, soundtrack editors and composers.") ".tar.bz2")) (sha256 (base32 - "18mdw6nc0vgj6k9rsy0x8w64wvzld0frqshrxxbxfj9qi9843vlc")))) + "18mdw6nc0vgj6k9rsy0x8w64wvzld0frqshrxxbxfj9qi9843vlc")) + (patches (search-patches "azr3.patch")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target #:make-flags (list "LV2PEG=ttl2c" + "CXXFLAGS=-std=gnu++11" + "CFLAGS=-std=gnu++11" (string-append "prefix=" %output) (string-append "pkgdatadir=" %output "/share/azr3-jack")))) (inputs diff --git a/gnu/packages/patches/azr3.patch b/gnu/packages/patches/azr3.patch new file mode 100644 index 0000000000..5849383c5b --- /dev/null +++ b/gnu/packages/patches/azr3.patch @@ -0,0 +1,151 @@ +This patch adds the "sigc" and "std" namespace prefixes where needed. It also +replaces a double single-argument "bind" with a single two-argument "bind", +because the former would confuse the compiler. + +The patch has been sent to the developer on 2016-09-26. + +--- azr3-jack-1.2.3/azr3/knob.cpp 2016-09-26 10:29:27.653375902 +0200 ++++ azr3-jack-1.2.3/azr3/knob.cpp 2016-09-26 10:29:38.693430647 +0200 +@@ -44,7 +44,7 @@ + set_size_request(44, 44); + add_events(EXPOSURE_MASK | BUTTON1_MOTION_MASK | + BUTTON_PRESS_MASK | SCROLL_MASK); +- m_adj.signal_value_changed().connect(mem_fun(*this, &Knob::queue_draw)); ++ m_adj.signal_value_changed().connect(sigc::mem_fun(*this, &Knob::queue_draw)); + } + + +--- azr3-jack-1.2.3/azr3/drawbar.cpp 2016-09-26 10:27:40.632845216 +0200 ++++ azr3-jack-1.2.3/azr3/drawbar.cpp 2016-09-26 10:27:48.952886473 +0200 +@@ -37,7 +37,7 @@ + set_size_request(22, 150); + add_events(EXPOSURE_MASK | BUTTON1_MOTION_MASK | + BUTTON_PRESS_MASK | SCROLL_MASK); +- m_adj.signal_value_changed().connect(mem_fun(*this, &Drawbar::queue_draw)); ++ m_adj.signal_value_changed().connect(sigc::mem_fun(*this, &Drawbar::queue_draw)); + } + + +--- azr3-jack-1.2.3/azr3/switch.cpp 2016-09-26 10:28:48.169180111 +0200 ++++ azr3-jack-1.2.3/azr3/switch.cpp 2016-09-26 10:28:55.713217520 +0200 +@@ -49,7 +49,7 @@ + } + set_size_request(m_width, m_height); + add_events(EXPOSURE_MASK | BUTTON_PRESS_MASK | SCROLL_MASK); +- m_adj.signal_value_changed().connect(mem_fun(*this, &Switch::queue_draw)); ++ m_adj.signal_value_changed().connect(sigc::mem_fun(*this, &Switch::queue_draw)); + } + + +--- azr3-jack-1.2.3/azr3/azr3gui.cpp 2016-09-26 09:05:10.106963561 +0200 ++++ azr3-jack-1.2.3/azr3/azr3gui.cpp 2016-09-26 10:26:47.480581648 +0200 +@@ -73,19 +73,19 @@ + m_tbox = add_textbox(m_fbox, pixmap, 391, 19, 3, 140, 39); + m_tbox->add_events(SCROLL_MASK); + m_tbox->signal_scroll_display. +- connect(mem_fun(*this, &AZR3GUI::display_scroll)); ++ connect(sigc::mem_fun(*this, &AZR3GUI::display_scroll)); + m_splitpoint_adj = new Adjustment(0, 0, 1); + m_adj[n_splitpoint] = m_splitpoint_adj; + m_splitpoint_adj->signal_value_changed(). +- connect(mem_fun(*this, &AZR3GUI::splitpoint_changed)); ++ connect(sigc::mem_fun(*this, &AZR3GUI::splitpoint_changed)); + Menu* menu = create_menu(); + m_tbox->signal_button_press_event(). +- connect(bind(mem_fun(*this, &AZR3GUI::popup_menu), menu)); ++ connect(sigc::bind(sigc::mem_fun(*this, &AZR3GUI::popup_menu), menu)); + + // keyboard split switch + m_splitswitch = add_switch(m_fbox, -1, 537, 49, Switch::Mini); + m_splitswitch->get_adjustment().signal_value_changed(). +- connect(mem_fun(*this, &AZR3GUI::splitbox_clicked)); ++ connect(sigc::mem_fun(*this, &AZR3GUI::splitbox_clicked)); + + // upper knobs + add_switch(m_fbox, n_mono, 61, 105, Switch::Mini); +@@ -141,8 +141,8 @@ + // mode switcher + Widget* eb = add_clickbox(m_fbox, 14, 319, 14, 44); + eb->signal_button_press_event(). +- connect(sigc::hide(bind(bind(mem_fun(*this, &AZR3GUI::change_mode), +- ref(m_fbox)), false))); ++ connect(sigc::hide(sigc::bind(sigc::mem_fun(*this, &AZR3GUI::change_mode), ++ false, std::ref(m_fbox)))); + m_fx_widgets.push_back(eb); + + // Mr Valve controls +@@ -182,8 +182,8 @@ + // mode switcher 2 + Widget* eb2 = add_clickbox(m_vbox, 14, 53, 14, 44); + eb2->signal_button_press_event(). +- connect(sigc::hide(bind(bind(mem_fun(*this, &AZR3GUI::change_mode), +- ref(m_fbox)), true))); ++ connect(sigc::hide(sigc::bind(sigc::mem_fun(*this, &AZR3GUI::change_mode), ++ true, std::ref(m_fbox)))); + + // vibrato controls + add_switch(m_vbox, n_1_vibrato, 39, 17, Switch::Green); +@@ -352,9 +352,9 @@ + knob->set_style(s); + if (port >= 0 && port < m_adj.size()) { + knob->get_adjustment().signal_value_changed(). +- connect(compose(bind<0>(mem_fun(*this, &AZR3GUI::control_changed), port), +- mem_fun(knob->get_adjustment(), +- &Adjustment::get_value))); ++ connect(compose(sigc::bind<0>(sigc::mem_fun(*this, &AZR3GUI::control_changed), port), ++ sigc::mem_fun(knob->get_adjustment(), ++ &Adjustment::get_value))); + assert(m_adj[port] == 0); + m_adj[port] = &knob->get_adjustment(); + } +@@ -382,8 +382,8 @@ + db->set_style(s); + if (port >= 0 && port < m_adj.size()) { + db->get_adjustment().signal_value_changed(). +- connect(compose(bind<0>(mem_fun(*this, &AZR3GUI::control_changed), port), +- mem_fun(db->get_adjustment(), &Adjustment::get_value))); ++ connect(compose(sigc::bind<0>(sigc::mem_fun(*this, &AZR3GUI::control_changed), port), ++ sigc::mem_fun(db->get_adjustment(), &Adjustment::get_value))); + assert(m_adj[port] == 0); + m_adj[port] = &db->get_adjustment(); + } +@@ -397,8 +397,8 @@ + fbox.put(*sw, xoffset, yoffset); + if (port >= 0 && port < m_adj.size()) { + sw->get_adjustment().signal_value_changed(). +- connect(compose(bind<0>(mem_fun(*this, &AZR3GUI::control_changed),port), +- mem_fun(sw->get_adjustment(), &Adjustment::get_value))); ++ connect(compose(sigc::bind<0>(sigc::mem_fun(*this, &AZR3GUI::control_changed),port), ++ sigc::mem_fun(sw->get_adjustment(), &Adjustment::get_value))); + assert(m_adj[port] == 0); + m_adj[port] = &sw->get_adjustment(); + } +@@ -489,7 +489,7 @@ + oss<first<<' '<second.substr(0, 23); + MenuItem* item = manage(new MenuItem(oss.str())); + item->signal_activate(). +- connect(bind(mem_fun(*this, &AZR3GUI::program_changed), iter->first)); ++ connect(sigc::bind(sigc::mem_fun(*this, &AZR3GUI::program_changed), iter->first)); + m_program_menu->items().push_back(*item); + item->show(); + item->get_child()->modify_bg(STATE_NORMAL, m_menu_bg); +@@ -503,8 +503,8 @@ + for (int i = 0; i < 128; ++i) { + MenuItem* item = manage(new MenuItem(note2str(i))); + item->signal_activate(). +- connect(bind(mem_fun(*m_splitpoint_adj, &Adjustment::set_value), +- i / 128.0)); ++ connect(sigc::bind(sigc::mem_fun(*m_splitpoint_adj, &Adjustment::set_value), ++ i / 128.0)); + m_split_menu->items().push_back(*item); + item->show(); + item->get_child()->modify_bg(STATE_NORMAL, m_menu_bg); +@@ -533,7 +533,7 @@ + + MenuItem* save_item = manage(new MenuItem("Save program")); + save_item->signal_activate(). +- connect(mem_fun(*this, &AZR3GUI::save_program)); ++ connect(sigc::mem_fun(*this, &AZR3GUI::save_program)); + save_item->show(); + save_item->get_child()->modify_fg(STATE_NORMAL, m_menu_bg); + save_item->get_child()->modify_fg(STATE_NORMAL, m_menu_fg); -- cgit v1.2.3