summary refs log tree commit diff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2016-09-26 10:47:58 +0200
committerRicardo Wurmus <rekado@elephly.net>2016-09-26 10:47:58 +0200
commit204adc301785073bc07a936d4f3c494876f68449 (patch)
tree0c680669c74ace0ec1bbc614d48df8ec877334ae
parent3ef08dceb3689470191e2c74758efc3d3c4219f3 (diff)
downloadguix-204adc301785073bc07a936d4f3c494876f68449.tar.gz
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.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/audio.scm5
-rw-r--r--gnu/packages/patches/azr3.patch151
3 files changed, 156 insertions, 1 deletions
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<<setw(2)<<setfill('0')<<iter->first<<' '<<iter->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);