+++ /dev/null
-diff -dur freewheeling-4a03065f9d2f520cbd37dd560b4cae5685418153.orig/data/Makefile.am freewheeling-4a03065f9d2f520cbd37dd560b4cae5685418153/data/Makefile.am
---- freewheeling-4a03065f9d2f520cbd37dd560b4cae5685418153.orig/data/Makefile.am 2017-02-24 19:47:23.000000000 +0100
-+++ freewheeling-4a03065f9d2f520cbd37dd560b4cae5685418153/data/Makefile.am 2017-03-10 19:16:00.106740825 +0100
-@@ -3,4 +3,4 @@
- fweelin_DATA = *.txt *.xml basic.sf2 vera.ttf verabd.ttf gdb-stackdump-cmds
-
- install-data-hook:
-- sed -ie "s/<freewheeling version=\"_FWEELIN_VERSION_\">/<freewheeling version=\"${VERSION}\">/" $(fweelindir)/fweelin.xml
-+ sed -ie "s/<freewheeling version=\"_FWEELIN_VERSION_\">/<freewheeling version=\"${VERSION}\">/" $(DESTDIR)$(fweelindir)/fweelin.xml
+++ /dev/null
-diff -dur freewheeling-4a03065f9d2f520cbd37dd560b4cae5685418153.orig/src/fweelin_block.cc freewheeling-4a03065f9d2f520cbd37dd560b4cae5685418153/src/fweelin_block.cc
---- freewheeling-4a03065f9d2f520cbd37dd560b4cae5685418153.orig/src/fweelin_block.cc 2017-02-24 19:47:23.000000000 +0100
-+++ freewheeling-4a03065f9d2f520cbd37dd560b4cae5685418153/src/fweelin_block.cc 2017-03-17 11:14:39.000000000 +0100
-@@ -1000,7 +1000,10 @@
- BlockExtendedData *curxt = cur->xt;
- while (curxt != 0) {
- BlockExtendedData *tmpxt = curxt->next;
-- delete curxt;
-+ if (curxt->GetType() == T_BED_ExtraChannel)
-+ ((BED_ExtraChannel *)curxt)->RTDelete();
-+ else
-+ delete curxt;
- curxt = tmpxt;
- }
-
-diff -dur freewheeling-4a03065f9d2f520cbd37dd560b4cae5685418153.orig/src/fweelin_mem.h freewheeling-4a03065f9d2f520cbd37dd560b4cae5685418153/src/fweelin_mem.h
---- freewheeling-4a03065f9d2f520cbd37dd560b4cae5685418153.orig/src/fweelin_mem.h 2017-02-24 19:47:23.000000000 +0100
-+++ freewheeling-4a03065f9d2f520cbd37dd560b4cae5685418153/src/fweelin_mem.h 2017-03-17 11:12:46.000000000 +0100
-@@ -132,12 +132,10 @@
- exit(1);
- };
- void operator delete(void *d) {
-- //printf("ERROR: Preallocated type can not be deleted directly\n");
-- //exit(1);
--
-- // We used to give an error message-
-- // now we pass this delete on to RTDelete
-- ((Preallocated *) d)->RTDelete();
-+ // cannot pass to RTDelete as this would end with two delete executed
-+ // and destructor called twice
-+ printf("ERROR: Preallocated type can not be deleted directly\n");
-+ exit(1);
- }
-
- // Realtime-safe function to get a new instance of this class
+++ /dev/null
-diff -dur -x '*~' freewheeling-4a03065f9d2f520cbd37dd560b4cae5685418153.orig/src/fweelin_config.cc freewheeling-4a03065f9d2f520cbd37dd560b4cae5685418153/src/fweelin_config.cc
---- freewheeling-4a03065f9d2f520cbd37dd560b4cae5685418153.orig/src/fweelin_config.cc 2017-02-24 19:47:23.000000000 +0100
-+++ freewheeling-4a03065f9d2f520cbd37dd560b4cae5685418153/src/fweelin_config.cc 2017-03-10 19:12:37.894574426 +0100
-@@ -690,7 +690,7 @@
- int str_len = strlen(str_base)+4;
- char basebuf[str_len];
- if (contnum == 0)
-- sprintf(basebuf,str_base);
-+ sprintf(basebuf,"%s",str_base);
- else
- snprintf(basebuf,str_len,"%s%d",str_base,contnum);
-
-@@ -1140,7 +1140,7 @@
- int str_len = strlen(str_base)+4;
- char buf[str_len];
- if (contnum == 0)
-- sprintf(buf,str_base);
-+ sprintf(buf,"%s",str_base);
- else
- snprintf(buf,str_len,"%s%d",str_base,contnum);
-
-@@ -3284,7 +3284,7 @@
- if (n != 0) {
- nw->filename = new char[xmlStrlen(n)+1];
- strcpy(nw->filename,(char*)n);
-- printf(nw->filename);
-+ printf("%s",nw->filename);
- xmlFree(n);
- }
-
-
-%define commit 4a03065f9d2f520cbd37dd560b4cae5685418153
-
Summary: Freewheeling Live Looper
Name: freewheeling
-Version: 0.6.1
-Release: 0.git.2
+Version: 0.6.4
+Release: 1
License: GPL v2
Group: Applications
-Source0: https://github.com/free-wheeling/freewheeling/archive/%{commit}/%{name}-%{commit}.tar.gz
-# Source0-md5: ac66a2eecd4992ae0e377458cb529448
-Patch0: format_string.patch
-Patch1: destdir.patch
-Patch2: config.patch
-Patch3: double_free.patch
+Source0: https://github.com/free-wheeling/freewheeling/archive/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: 7a76624759929fe819d3a0d0dc8c0bb3
+Patch0: config.patch
URL: https://github.com/free-wheeling/freewheeling/
BuildRequires: SDL-devel
BuildRequires: SDL_gfx-devel
interface for instrumentalists to capture audio loops in real-time.
%prep
-%setup -q -n %{name}-%{commit}
-
+%setup -q
%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
%build
-%{__libtoolize}
-%{__aclocal}
-%{__autoconf}
-%{__automake}
-
%configure \
--enable-fluidsynth