ignatenkobrain pushed to rtfilter (f23). "Initial import (..more)"
by notificationsï¼ fedoraproject.org
From 354fb45f6de5c2865a53398cf8348813b4b91eef Mon Sep 17 00:00:00 2001
From: Igor Gnatenko <i.gnatenko.brain(a)gmail.com>
Date: Mon, 30 Nov 2015 23:26:58 +0100
Subject: Initial import
Signed-off-by: Igor Gnatenko <i.gnatenko.brain(a)gmail.com>
---
.gitignore | 1 +
rtfilter.spec | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sources | 1 +
3 files changed, 77 insertions(+)
create mode 100644 rtfilter.spec
diff --git a/.gitignore b/.gitignore
index e69de29..167fb57 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/rtfilter-1.1.tar.gz
diff --git a/rtfilter.spec b/rtfilter.spec
new file mode 100644
index 0000000..fc60f2b
--- /dev/null
+++ b/rtfilter.spec
@@ -0,0 +1,75 @@
+Name: rtfilter
+Version: 1.1
+Release: 1%{?dist}
+Summary: Realtime digital filtering functions for multichannel signals
+
+# LGPLv3: src/*
+# GPLv3: examples/*
+License: GPLv3 and LGPLv3
+URL: http://cnbi.epfl.ch/software/rtfilter.html
+Source0: https://github.com/nbourdau/rtfilter/archive/%{name}-%{version}.tar.gz
+
+BuildRequires: gcc
+BuildRequires: automake autoconf libtool
+
+%description
+rtfilter provides a library written in C implementing realtime digital
+filtering functions for multichannel signals (i.e. filtering multiple
+signals with the same filter). It implements FIR, IIR filters and
+downsampler for float and double data type (both for real and complex
+valued signal). Additional functions are also provided to design few
+usual filters: Butterworth, Chebyshev, windowed sinc, analytical filter...
+
+One of the main differences from other libraries providing digital signal
+processing is that the filter functions have been specifically designed and
+optimized for multichannel signals (from few channels to several hundred).
+If data allows it, the library automatically switch to optimized SIMD
+(Single Instruction Multiple Data) code, allowing to reduce by 3~4 the time
+spent in processing the data.
+
+%package devel
+Summary: Development files for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description devel
+The %{name}-devel package contains libraries and header files for
+developing applications that use %{name}.
+
+%prep
+%autosetup -n %{name}-%{name}-%{version}
+
+%build
+autoreconf -vfi
+%configure
+%make_build
+
+%install
+%make_install
+
+# drop libtool
+find %{buildroot} -name '*.la' -exec rm -f {} ';'
+# drop installed copying in docdir
+rm -f %{buildroot}%{_docdir}/%{name}/COPYING
+
+%check
+make check
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%files
+%license COPYING
+%doc AUTHORS NEWS README
+%{_libdir}/lib%{name}.so.*
+
+%files devel
+%doc %{_docdir}/%{name}/examples
+%{_libdir}/lib%{name}.so
+%{_libdir}/pkgconfig/%{name}.pc
+%{_includedir}/rtf*.h
+%{_mandir}/man3/rtf*.3*
+
+%changelog
+* Sun Nov 29 2015 Igor Gnatenko <i.gnatenko.brain(a)gmail.com> - 1.1-1
+- Initial package
diff --git a/sources b/sources
index e69de29..764d91a 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+a0ab03e1ac8a5260224d308fa6b7d8e3 rtfilter-1.1.tar.gz
--
cgit v0.11.2
http://pkgs.fedoraproject.org/cgit/rtfilter.git/commit/?h=f23&id=354fb45f...
4Â years
ignatenkobrain pushed to rtfilter (master). "Initial import (..more)"
by notificationsï¼ fedoraproject.org
From 354fb45f6de5c2865a53398cf8348813b4b91eef Mon Sep 17 00:00:00 2001
From: Igor Gnatenko <i.gnatenko.brain(a)gmail.com>
Date: Mon, 30 Nov 2015 23:26:58 +0100
Subject: Initial import
Signed-off-by: Igor Gnatenko <i.gnatenko.brain(a)gmail.com>
---
.gitignore | 1 +
rtfilter.spec | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sources | 1 +
3 files changed, 77 insertions(+)
create mode 100644 rtfilter.spec
diff --git a/.gitignore b/.gitignore
index e69de29..167fb57 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/rtfilter-1.1.tar.gz
diff --git a/rtfilter.spec b/rtfilter.spec
new file mode 100644
index 0000000..fc60f2b
--- /dev/null
+++ b/rtfilter.spec
@@ -0,0 +1,75 @@
+Name: rtfilter
+Version: 1.1
+Release: 1%{?dist}
+Summary: Realtime digital filtering functions for multichannel signals
+
+# LGPLv3: src/*
+# GPLv3: examples/*
+License: GPLv3 and LGPLv3
+URL: http://cnbi.epfl.ch/software/rtfilter.html
+Source0: https://github.com/nbourdau/rtfilter/archive/%{name}-%{version}.tar.gz
+
+BuildRequires: gcc
+BuildRequires: automake autoconf libtool
+
+%description
+rtfilter provides a library written in C implementing realtime digital
+filtering functions for multichannel signals (i.e. filtering multiple
+signals with the same filter). It implements FIR, IIR filters and
+downsampler for float and double data type (both for real and complex
+valued signal). Additional functions are also provided to design few
+usual filters: Butterworth, Chebyshev, windowed sinc, analytical filter...
+
+One of the main differences from other libraries providing digital signal
+processing is that the filter functions have been specifically designed and
+optimized for multichannel signals (from few channels to several hundred).
+If data allows it, the library automatically switch to optimized SIMD
+(Single Instruction Multiple Data) code, allowing to reduce by 3~4 the time
+spent in processing the data.
+
+%package devel
+Summary: Development files for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description devel
+The %{name}-devel package contains libraries and header files for
+developing applications that use %{name}.
+
+%prep
+%autosetup -n %{name}-%{name}-%{version}
+
+%build
+autoreconf -vfi
+%configure
+%make_build
+
+%install
+%make_install
+
+# drop libtool
+find %{buildroot} -name '*.la' -exec rm -f {} ';'
+# drop installed copying in docdir
+rm -f %{buildroot}%{_docdir}/%{name}/COPYING
+
+%check
+make check
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%files
+%license COPYING
+%doc AUTHORS NEWS README
+%{_libdir}/lib%{name}.so.*
+
+%files devel
+%doc %{_docdir}/%{name}/examples
+%{_libdir}/lib%{name}.so
+%{_libdir}/pkgconfig/%{name}.pc
+%{_includedir}/rtf*.h
+%{_mandir}/man3/rtf*.3*
+
+%changelog
+* Sun Nov 29 2015 Igor Gnatenko <i.gnatenko.brain(a)gmail.com> - 1.1-1
+- Initial package
diff --git a/sources b/sources
index e69de29..764d91a 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+a0ab03e1ac8a5260224d308fa6b7d8e3 rtfilter-1.1.tar.gz
--
cgit v0.11.2
http://pkgs.fedoraproject.org/cgit/rtfilter.git/commit/?h=master&id=354fb...
4Â years
orion pushed to openvpn (master). "Remove commented out old plugin
steps"
by notificationsï¼ fedoraproject.org
From 25e299eb53190c7b43d96ef44b407eaba16e02a1 Mon Sep 17 00:00:00 2001
From: Orion Poplawski <orion(a)cora.nwra.com>
Date: Mon, 30 Nov 2015 15:11:37 -0700
Subject: Remove commented out old plugin steps
---
openvpn.spec | 12 ------------
1 file changed, 12 deletions(-)
diff --git a/openvpn.spec b/openvpn.spec
index bc2241a..bf03c8a 100644
--- a/openvpn.spec
+++ b/openvpn.spec
@@ -92,11 +92,6 @@ find contrib sample -type f -perm /100 \
--docdir=%{_pkgdocdir}
%{__make}
-## Build plugins
-#for plugin in %{plugins} ; do
-# %{__make} -C src/plugins/$plugin
-#done
-
#%check
## Test Crypto:
#./src/openvpn/openvpn --genkey --secret key
@@ -140,13 +135,6 @@ install -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
#rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/easy-rsa/Windows
cp %{SOURCE2} %{SOURCE3} sample/sample-config-files/
-#mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/lib
-#for plugin in %{plugins} ; do
-# install -m 0755 src/plugins/$plugin/openvpn-$plugin.so \
-# $RPM_BUILD_ROOT%{_libdir}/%{name}/plugin/lib/openvpn-$plugin.so
-# cp src/plugins/$plugin/README plugin/$plugin.txt
-#done
-
%{__make} install DESTDIR=$RPM_BUILD_ROOT
find $RPM_BUILD_ROOT -name '*.la' | xargs rm -f
--
cgit v0.11.2
http://pkgs.fedoraproject.org/cgit/openvpn.git/commit/?h=master&id=25e299...
4Â years
orion pushed to openvpn-auth-ldap (master). "Fix plugin location (bug
#1270984)"
by notificationsï¼ fedoraproject.org
From 5ec348f0e9bccced9c3a8e1c79261398819b2b72 Mon Sep 17 00:00:00 2001
From: Orion Poplawski <orion(a)cora.nwra.com>
Date: Mon, 30 Nov 2015 15:06:20 -0700
Subject: Fix plugin location (bug #1270984)
---
openvpn-auth-ldap.spec | 22 ++++++++++++++++------
1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/openvpn-auth-ldap.spec b/openvpn-auth-ldap.spec
index f5995de..ea13ae0 100644
--- a/openvpn-auth-ldap.spec
+++ b/openvpn-auth-ldap.spec
@@ -1,7 +1,7 @@
Summary: OpenVPN plugin for LDAP authentication
Name: openvpn-auth-ldap
Version: 2.0.3
-Release: 17%{?dist}
+Release: 18%{?dist}
License: BSD
Group: Applications/Internet
URL: http://code.google.com/p/openvpn-auth-ldap/
@@ -36,7 +36,7 @@ LDAP for OpenVPN 2.x.
%patch3 -p0 -b .gnustep
%patch4 -p1 -b .remoteAddress
# Fix plugin from the instructions in the included README
-sed -i 's|^plugin .*| plugin %{_libdir}/openvpn/plugin/lib/openvpn-auth-ldap.so "/etc/openvpn/auth/ldap.conf"|g' README
+sed -i 's|^plugin .*| plugin %{_libdir}/openvpn/plugins/openvpn-auth-ldap.so "/etc/openvpn/auth/ldap.conf"|g' README
# Install the one required OpenVPN plugin header
install -p -m 0644 %{SOURCE1} .
autoconf
@@ -50,7 +50,7 @@ autoheader
%if 0%{?fedora} || 0%{?rhel} >= 7
--with-objc-runtime=modern \
%endif
- --libdir=%{_libdir}/openvpn/plugin/lib \
+ --libdir=%{_libdir}/openvpn/plugins \
--with-openvpn="`pwd`"
make %{?_smp_mflags}
@@ -58,11 +58,16 @@ make %{?_smp_mflags}
%install
rm -rf %{buildroot}
# Main plugin
-mkdir -p %{buildroot}%{_libdir}/openvpn/plugin/lib
+mkdir -p %{buildroot}%{_libdir}/openvpn/plugins
make install DESTDIR=%{buildroot}
# Example config file
install -D -p -m 0600 auth-ldap.conf \
%{buildroot}%{_sysconfdir}/openvpn/auth/ldap.conf
+# Compatibility
+%if ( 0%{?fedora} && 0%{?fedora} < 24 ) || ( 0%{?rhel} && 0%{?rhel} < 8 )
+mkdir -p %{buildroot}%{_libdir}/openvpn/plugin/lib
+ln -s ../../plugins/openvpn-auth-ldap.so %{buildroot}%{_libdir}/openvpn/plugin/lib
+%endif
%clean
@@ -70,14 +75,19 @@ rm -rf %{buildroot}
%files
-%defattr(-,root,root,-)
%doc LICENSE README auth-ldap.conf
%dir %{_sysconfdir}/openvpn/auth/
%config(noreplace) %{_sysconfdir}/openvpn/auth/ldap.conf
-%{_libdir}/openvpn/plugin/lib/openvpn-auth-ldap.so
+%{_libdir}/openvpn/plugins/openvpn-auth-ldap.so
+%if ( 0%{?fedora} && 0%{?fedora} < 24 ) || ( 0%{?rhel} && 0%{?rhel} < 8 )
+%{_libdir}/openvpn/plugin
+%endif
%changelog
+* Mon Nov 30 2015 Orion Poplaski <orion(a)cora.nwra.com> - 2.0.3-18
+- Fix plugin location (bug #1270984)
+
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.0.3-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
--
cgit v0.11.2
http://pkgs.fedoraproject.org/cgit/openvpn-auth-ldap.git/commit/?h=master...
4Â years
ignatenkobrain pushed to xdffileio (f23). "Initial import (..more)"
by notificationsï¼ fedoraproject.org
From 1905e79b13a0a819e0ba85c621d3d6ceef5667c1 Mon Sep 17 00:00:00 2001
From: Igor Gnatenko <i.gnatenko.brain(a)gmail.com>
Date: Mon, 30 Nov 2015 22:58:33 +0100
Subject: Initial import
Signed-off-by: Igor Gnatenko <i.gnatenko.brain(a)gmail.com>
---
.gitignore | 1 +
sources | 1 +
xdffileio.spec | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 72 insertions(+)
create mode 100644 xdffileio.spec
diff --git a/.gitignore b/.gitignore
index e69de29..7f2182b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/xdffileio-0.3.tar.gz
diff --git a/sources b/sources
index e69de29..40b82ec 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+5e90c98526b51153e88086c05c3bc6ea xdffileio-0.3.tar.gz
diff --git a/xdffileio.spec b/xdffileio.spec
new file mode 100644
index 0000000..8a17cc3
--- /dev/null
+++ b/xdffileio.spec
@@ -0,0 +1,70 @@
+Name: xdffileio
+Version: 0.3
+Release: 1%{?dist}
+Summary: Unified interface to read/write EEG file format in realtime
+
+License: LGPLv3+
+URL: http://cnbi.epfl.ch/software/xdffileio.html
+Source0: https://github.com/nbourdau/xdffileio/archive/%{name}-%{version}.tar.gz
+
+BuildRequires: gcc
+BuildRequires: automake autoconf
+BuildRequires: gnulib-devel
+
+%description
+xdffileio provides a unified interface to read/write EEG file format in
+realtime. It has been designed to provide a consistent and common interface
+to all supported file formats while minimizing the CPU cost on the main loop.
+It thus performs all the expensive operation (scaling, data convertion and
+file operation) in a separated thread.
+
+%package devel
+Summary: Development files for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description devel
+The %{name}-devel package contains libraries and header files for
+developing applications that use %{name}.
+
+%prep
+%autosetup -n %{name}-%{name}-%{version}
+
+%build
+./autogen.sh
+
+%configure \
+%ifarch %{ix86}
+ CFLAGS='-march=pentium4'
+%endif
+
+%make_build V=1
+
+%install
+%make_install
+
+rm -f %{buildroot}%{_libdir}/lib%{name}.la
+rm -vrf %{buildroot}%{_docdir}/%{name}
+
+%check
+make check V=1
+rm -vrf doc/example/{.dirstamp,.deps,*.o}
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%files
+%license COPYING
+%doc README NEWS AUTHORS
+%{_libdir}/lib%{name}.so.*
+
+%files devel
+%doc doc/example/
+%{_includedir}/xdfio.h
+%{_mandir}/man3/xdf_*.3*
+%{_libdir}/lib%{name}.so
+%{_libdir}/pkgconfig/%{name}.pc
+
+%changelog
+* Sun Nov 29 2015 Igor Gnatenko <i.gnatenko.brain(a)gmail.com> - 0.3-1
+- Initial package
--
cgit v0.11.2
http://pkgs.fedoraproject.org/cgit/xdffileio.git/commit/?h=f23&id=1905e79...
4Â years
ignatenkobrain pushed to xdffileio (master). "Initial import (..more)"
by notificationsï¼ fedoraproject.org
From 1905e79b13a0a819e0ba85c621d3d6ceef5667c1 Mon Sep 17 00:00:00 2001
From: Igor Gnatenko <i.gnatenko.brain(a)gmail.com>
Date: Mon, 30 Nov 2015 22:58:33 +0100
Subject: Initial import
Signed-off-by: Igor Gnatenko <i.gnatenko.brain(a)gmail.com>
---
.gitignore | 1 +
sources | 1 +
xdffileio.spec | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 72 insertions(+)
create mode 100644 xdffileio.spec
diff --git a/.gitignore b/.gitignore
index e69de29..7f2182b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/xdffileio-0.3.tar.gz
diff --git a/sources b/sources
index e69de29..40b82ec 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+5e90c98526b51153e88086c05c3bc6ea xdffileio-0.3.tar.gz
diff --git a/xdffileio.spec b/xdffileio.spec
new file mode 100644
index 0000000..8a17cc3
--- /dev/null
+++ b/xdffileio.spec
@@ -0,0 +1,70 @@
+Name: xdffileio
+Version: 0.3
+Release: 1%{?dist}
+Summary: Unified interface to read/write EEG file format in realtime
+
+License: LGPLv3+
+URL: http://cnbi.epfl.ch/software/xdffileio.html
+Source0: https://github.com/nbourdau/xdffileio/archive/%{name}-%{version}.tar.gz
+
+BuildRequires: gcc
+BuildRequires: automake autoconf
+BuildRequires: gnulib-devel
+
+%description
+xdffileio provides a unified interface to read/write EEG file format in
+realtime. It has been designed to provide a consistent and common interface
+to all supported file formats while minimizing the CPU cost on the main loop.
+It thus performs all the expensive operation (scaling, data convertion and
+file operation) in a separated thread.
+
+%package devel
+Summary: Development files for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description devel
+The %{name}-devel package contains libraries and header files for
+developing applications that use %{name}.
+
+%prep
+%autosetup -n %{name}-%{name}-%{version}
+
+%build
+./autogen.sh
+
+%configure \
+%ifarch %{ix86}
+ CFLAGS='-march=pentium4'
+%endif
+
+%make_build V=1
+
+%install
+%make_install
+
+rm -f %{buildroot}%{_libdir}/lib%{name}.la
+rm -vrf %{buildroot}%{_docdir}/%{name}
+
+%check
+make check V=1
+rm -vrf doc/example/{.dirstamp,.deps,*.o}
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%files
+%license COPYING
+%doc README NEWS AUTHORS
+%{_libdir}/lib%{name}.so.*
+
+%files devel
+%doc doc/example/
+%{_includedir}/xdfio.h
+%{_mandir}/man3/xdf_*.3*
+%{_libdir}/lib%{name}.so
+%{_libdir}/pkgconfig/%{name}.pc
+
+%changelog
+* Sun Nov 29 2015 Igor Gnatenko <i.gnatenko.brain(a)gmail.com> - 0.3-1
+- Initial package
--
cgit v0.11.2
http://pkgs.fedoraproject.org/cgit/xdffileio.git/commit/?h=master&id=1905...
4Â years
ignatenkobrain pushed to eegdev (master). "Initial import (..more)"
by notificationsï¼ fedoraproject.org
From cafe9dbb04e0158e430ea11c19707b51e1b97230 Mon Sep 17 00:00:00 2001
From: Igor Gnatenko <i.gnatenko.brain(a)gmail.com>
Date: Mon, 30 Nov 2015 22:52:53 +0100
Subject: Initial import
Signed-off-by: Igor Gnatenko <i.gnatenko.brain(a)gmail.com>
---
.gitignore | 1 +
eegdev.spec | 107 ++++++++++++++++++++++++++++
fix-biosemi-close-hangups.patch | 63 +++++++++++++++++
fix-biosemi-on-bigendian.patch | 39 ++++++++++
fix-bison-grammar-file.patch | 81 +++++++++++++++++++++
fix-racecond-in-biosemi-tests.patch | 137 ++++++++++++++++++++++++++++++++++++
fix-unaligned-memory-access.patch | 46 ++++++++++++
include-config_h.patch | 91 ++++++++++++++++++++++++
sources | 1 +
9 files changed, 566 insertions(+)
create mode 100644 eegdev.spec
create mode 100644 fix-biosemi-close-hangups.patch
create mode 100644 fix-biosemi-on-bigendian.patch
create mode 100644 fix-bison-grammar-file.patch
create mode 100644 fix-racecond-in-biosemi-tests.patch
create mode 100644 fix-unaligned-memory-access.patch
create mode 100644 include-config_h.patch
diff --git a/.gitignore b/.gitignore
index e69de29..0586eb9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/eegdev-0.2.tar.bz2
diff --git a/eegdev.spec b/eegdev.spec
new file mode 100644
index 0000000..369de83
--- /dev/null
+++ b/eegdev.spec
@@ -0,0 +1,107 @@
+Name: eegdev
+Version: 0.2
+Release: 1%{?dist}
+Summary: Library to acquire data from various EEG recording devices
+
+License: LGPLv3+
+URL: http://cnbi.epfl.ch/software/eegdev.html
+Source0: http://download.sourceforge.net/eegdev/%{name}-%{version}.tar.bz2
+Patch0: fix-biosemi-on-bigendian.patch
+Patch1: fix-racecond-in-biosemi-tests.patch
+Patch2: fix-biosemi-close-hangups.patch
+Patch3: fix-bison-grammar-file.patch
+Patch4: include-config_h.patch
+Patch5: fix-unaligned-memory-access.patch
+
+BuildRequires: gcc
+BuildRequires: automake autoconf
+BuildRequires: gnulib-devel
+BuildRequires: bison flex
+# EEGfile backend
+BuildRequires: xdffileio-devel
+# Biosemi backend
+BuildRequires: libusbx-devel
+# Neurosky backend
+BuildRequires: bluez-libs-devel
+# Tobi interface A backend
+BuildRequires: expat-devel
+
+%description
+eegdev is a library that provides a unified interface for accessing various EEG
+(and other biosignals) acquisition systems. This interface has been designed to
+be both flexible and efficient. The device specific part is implemented by the
+mean of plugins which makes adding new device backend fairly easy even if the
+library does not support them yet officially.
+
+The core library not only provides to users a unified and consistent interfaces
+to the acquisition device but it also provides many functionalities to the
+device backends (plugins) ranging from configuration to data casting and scaling
+making writing new device backend an easy task.
+
+%package devel
+Summary: Development files for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description devel
+The %{name}-devel package contains libraries and header files for
+developing applications that use %{name}.
+
+%package plugins
+Summary: Plugins for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description plugins
+Plugins for %{name}.
+
+%prep
+%autosetup -p1
+
+# drop bundled libs
+rm -rf lib/*
+
+# do not run neurosky test (requires /dev/rfcomm0)
+sed -i -e '/TESTS += sysneurosky/d' tests/Makefile.am
+
+%build
+./autogen.sh
+%configure --enable-corelib-build \
+ --with-xdf \
+ --with-act2 \
+ --with-neurosky \
+ --with-tia
+make %{?_smp_mflags}
+
+%install
+%make_install
+
+find %{buildroot} -name '*.la' -exec rm -f {} ';'
+
+%check
+make check
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%files
+%license COPYING
+%doc AUTHORS NEWS
+%{_libdir}/lib%{name}.so.*
+%dir %{_libdir}/%{name}/
+%{_mandir}/man5/%{name}-open-options.5*
+
+%files devel
+%doc %{_docdir}/%{name}
+%{_libdir}/lib%{name}.so
+%{_libdir}/pkgconfig/%{name}.pc
+%{_includedir}/%{name}*.h
+%{_mandir}/man3/egd_*.3*
+
+%files plugins
+%{_libdir}/%{name}/*
+%exclude %{_mandir}/man5/%{name}-open-options.5*
+%{_mandir}/man5/%{name}-*.5*
+
+%changelog
+* Sun Nov 29 2015 Igor Gnatenko <i.gnatenko.brain(a)gmail.com> - 0.2-1
+- Initial package
diff --git a/fix-biosemi-close-hangups.patch b/fix-biosemi-close-hangups.patch
new file mode 100644
index 0000000..d67b7c9
--- /dev/null
+++ b/fix-biosemi-close-hangups.patch
@@ -0,0 +1,63 @@
+Description: fix possible hangups of egd_close on biosemi
+ When stopping the handshake, URB can report of URB failure because of
+ timeout. This patch makes sure that whenever a URB is not resubmitted, this
+ will be indicated by reducing the number of running transfers
+ (a2dev->num_running). This should also fix the hang when closing a device
+ that has failed during acquisition.
+Origin: upstream, http://cnbisrv02.epfl.ch/cgit/eegdev.git/commit/?id=cdf41d
+Bug-Debian: http://bugs.debian.org/673681
+Author: Nicolas Bourdaud <nicolas.bourdaud(a)gmail.com>
+Last-Update: 2012-05-23
+Applied-Upstream: yes
+
+diff --git a/src/plugins/biosemi.c b/src/plugins/biosemi.c
+index 473edde..6e5e4aa 100644
+--- a/src/plugins/biosemi.c
++++ b/src/plugins/biosemi.c
+@@ -393,7 +393,7 @@ void process_usbbuf(struct act2_eegdev* a2dev, uint32_t* buf, ssize_t bs)
+ #endif
+ static void LIBUSB_CALL req_completion_fn(struct libusb_transfer *transfer)
+ {
+- int ret;
++ int ret, requeue = 1;
+ struct act2_eegdev* a2dev = transfer->user_data;
+ const struct core_interface* ci = &(a2dev->dev.ci);
+
+@@ -405,20 +405,24 @@ static void LIBUSB_CALL req_completion_fn(struct libusb_transfer *transfer)
+ // Check that no error occured
+ if ((ret = proc_libusb_transfer_ret(transfer->status))) {
+ ci->report_error(&(a2dev->dev), ret);
+- return;
++ requeue = 0;
+ }
+
+- // requeue again the chunk buffer if still running
+ pthread_mutex_lock(&a2dev->mtx);
+- if (a2dev->resubmit) {
+- // Try submit
+- if ((ret = libusb_submit_transfer(transfer))) {
+- ci->report_error(&(a2dev->dev),
+- proc_libusb_error(ret));
+- a2dev->num_running--;
+- }
+- } else if (!--(a2dev->num_running))
++
++ // requeue again the chunk buffer if still running
++ requeue = a2dev->resubmit ? requeue : 0;
++ if (requeue && (ret = libusb_submit_transfer(transfer))) {
++ ci->report_error(&(a2dev->dev), proc_libusb_error(ret));
++ requeue = 0;
++ }
++
++ // Signal main thread that this urb stopped
++ if (!requeue) {
++ a2dev->num_running--;
+ pthread_cond_signal(&a2dev->cond);
++ }
++
+ pthread_mutex_unlock(&a2dev->mtx);
+ }
+
+--
+1.7.10
+
diff --git a/fix-biosemi-on-bigendian.patch b/fix-biosemi-on-bigendian.patch
new file mode 100644
index 0000000..4ca939f
--- /dev/null
+++ b/fix-biosemi-on-bigendian.patch
@@ -0,0 +1,39 @@
+Subject: fix biosemi execution on big endian architectures
+ replace preprocessor conditional on WORD_BIGENDIAN by WORDS_BIGENDIAN.
+Origin: upstream, http://cnbisrv02.epfl.ch/cgit/eegdev.git/commit/?id=be3fc5
+Author: Nicolas Bourdaud <nicolas.bourdaud(a)gmail.com>
+Last-Update: 2012-05-21
+diff --git a/src/plugins/biosemi.c b/src/plugins/biosemi.c
+index 4ec9c7c..473edde 100644
+--- a/src/plugins/biosemi.c
++++ b/src/plugins/biosemi.c
+@@ -32,11 +32,11 @@
+ #include <eegdev-pluginapi.h>
+
+ #ifndef le_to_cpu_32
+-# if WORD_BIGENDIAN
++# if WORDS_BIGENDIAN
+ # define le_to_cpu_u32(data) bswap_32(data)
+ # else
+ # define le_to_cpu_u32(data) (data)
+-# endif //WORD_BIGENDIAN
++# endif //WORDS_BIGENDIAN
+ #endif
+
+ // It should ABSOLUTELY be a power of two or the read call will fail
+@@ -367,10 +367,10 @@ void process_usbbuf(struct act2_eegdev* a2dev, uint32_t* buf, ssize_t bs)
+ int i, start, slen = a2dev->samplelen, inoffset = a2dev->inoffset;
+ const struct core_interface* ci = &(a2dev->dev.ci);
+
+-#if WORD_BIGENDIAN
++#if WORDS_BIGENDIAN
+ for (i=0; i<bs; i++)
+ buf[i] = bswap_32(buf[i]);
+-#endif //WORD_BIGENDIAN
++#endif //WORDS_BIGENDIAN
+
+ // check presence synchro code and shift trigger value
+ start = (slen - inoffset) % slen;
+--
+1.7.10
+
diff --git a/fix-bison-grammar-file.patch b/fix-bison-grammar-file.patch
new file mode 100644
index 0000000..b4a99e5
--- /dev/null
+++ b/fix-bison-grammar-file.patch
@@ -0,0 +1,81 @@
+From: Dejan Latinovic <Dejan.Latinovic(a)imgtec.com>
+Date: Tue, 11 Mar 2014 18:16:39 +0100
+Description: FTBFS: conflicting types for 'cff_parse'
+ Changes to bison input files (src/core/conffile.y and src/core/confline.y),
+ in order to adapt to newer bison version.
+Debian-Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=720833
+
+--- a/src/core/conffile.y
++++ b/src/core/conffile.y
+@@ -17,9 +17,11 @@
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+ %define api.pure
++%no-lines
+ %name-prefix "cff_"
+ %defines "conffile.tab.h"
+ %parse-param { struct cfdata *pp }
++%lex-param { yyscan_t cff_scaninfo }
+ %{
+ #if HAVE_CONFIG_H
+ # include <config.h>
+@@ -28,6 +30,11 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include "configuration.h"
++#ifndef YY_TYPEDEF_YY_SCANNER_T
++#define YY_TYPEDEF_YY_SCANNER_T
++typedef void* yyscan_t;
++#endif
++#include "conffile.h"
+ %}
+
+ %union value {
+@@ -36,9 +43,7 @@
+
+ %{
+ #include "conffile.lex.h"
+-#include "conffile.h"
+-#define YYLEX_PARAM pp->scaninfo
+-
++#define cff_scaninfo pp->scaninfo
+ static int yyerror(struct cfdata *pp, const char* s);
+ %}
+
+--- a/src/core/confline.y
++++ b/src/core/confline.y
+@@ -17,9 +17,11 @@
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+ %define api.pure
++%no-lines
+ %name-prefix "cfl_"
+ %defines "confline.tab.h"
+ %parse-param { struct cfldata *pp }
++%lex-param { yyscan_t cfl_scaninfo }
+ %{
+ #if HAVE_CONFIG_H
+ # include <config.h>
+@@ -28,6 +30,11 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include "configuration.h"
++#ifndef YY_TYPEDEF_YY_SCANNER_T
++#define YY_TYPEDEF_YY_SCANNER_T
++typedef void* yyscan_t;
++#endif
++#include "confline.h"
+ %}
+
+ %union value {
+@@ -36,9 +43,7 @@
+
+ %{
+ #include "confline.lex.h"
+-#include "confline.h"
+-#define YYLEX_PARAM pp->scaninfo
+-
++#define cfl_scaninfo pp->scaninfo
+ static int yyerror(struct cfldata *pp, const char* s);
+ %}
+
diff --git a/fix-racecond-in-biosemi-tests.patch b/fix-racecond-in-biosemi-tests.patch
new file mode 100644
index 0000000..40052fe
--- /dev/null
+++ b/fix-racecond-in-biosemi-tests.patch
@@ -0,0 +1,137 @@
+Description: fix race conditions in biosemi tests
+ Fix two race conditions in the synchronous transfer and in transfer queues
+ destruction of the fake libusb library. In addition to these fixes, the
+ synchronous transfer wrapper has slightly been rewritten to avoid the use
+ of stack allocated objects for synchronization: this is done solely to
+ avoid the false positives with helgrind (which have masked until now the
+ previous race conditions).
+Origin: upstream, http://cnbisrv02.epfl.ch/cgit/eegdev.git/commit/?id=88b1ff
+Bug-Debian: http://bugs.debian.org/673681
+Author: Nicolas Bourdaud <nicolas.bourdaud(a)gmail.com>
+Last-Update: 2012-05-21
+
+diff --git a/tests/fakelibs/activetwo.c b/tests/fakelibs/activetwo.c
+index 1e95ced..f11ce0e 100644
+--- a/tests/fakelibs/activetwo.c
++++ b/tests/fakelibs/activetwo.c
+@@ -95,13 +95,16 @@ void init_queue(struct event_queue* queue)
+
+
+ static
+-void destroy_queue(struct event_queue* queue)
++void destroy_queue(struct event_queue* queue, pthread_t thid)
+ {
+ pthread_mutex_lock(&queue->lock);
+ queue->free = 1;
+ pthread_cond_signal(&queue->cond);
+ pthread_mutex_unlock(&queue->lock);
+
++ if (thid)
++ pthread_join(thid, NULL);
++
+ pthread_cond_destroy(&queue->cond);
+ pthread_mutex_destroy(&queue->lock);
+ }
+@@ -471,12 +474,8 @@ void init_device(struct libusb_device_handle* dev, struct libusb_context* ctx)
+ static
+ void destroy_device(struct libusb_device_handle* dev)
+ {
+- destroy_queue(&dev->ep_in);
+- destroy_queue(&dev->ep_out);
+-
+- pthread_join(dev->th_ep_in, NULL);
+- pthread_join(dev->th_ep_out, NULL);
+-
++ destroy_queue(&dev->ep_in, dev->th_ep_in);
++ destroy_queue(&dev->ep_out, dev->th_ep_out);
+ }
+
+
+@@ -499,7 +498,7 @@ int libusb_init(libusb_context **context)
+ LIBUSB_CALL
+ void libusb_exit(libusb_context *ctx)
+ {
+- destroy_queue(&ctx->queue);
++ destroy_queue(&ctx->queue, 0);
+ free(ctx);
+ }
+
+@@ -507,6 +506,7 @@ void libusb_exit(libusb_context *ctx)
+ LIBUSB_CALL
+ int libusb_handle_events_timeout(libusb_context *ctx, struct timeval *tv)
+ {
++ int free_xfer;
+ struct libusb_transfer* xfer = NULL;
+ struct timespec tots, curr, *to = NULL;
+
+@@ -521,8 +521,9 @@ int libusb_handle_events_timeout(libusb_context *ctx, struct timeval *tv)
+ // Get transfer one by one
+ while ((xfer = dequeue_transfer(&ctx->queue, to))) {
+ to = NULL;
++ free_xfer = xfer->flags & LIBUSB_TRANSFER_FREE_TRANSFER;
+ xfer->callback(xfer);
+- if (xfer->flags & LIBUSB_TRANSFER_FREE_TRANSFER)
++ if (free_xfer)
+ libusb_free_transfer(xfer);
+ }
+
+@@ -631,35 +632,37 @@ int libusb_bulk_transfer(libusb_device_handle *dev,
+ int *actual_length, unsigned int timeout)
+ {
+ int retval = 0;
+- struct sync_data user_data = {
+- .done = 0,
+- .cond = PTHREAD_COND_INITIALIZER,
+- .lock = PTHREAD_MUTEX_INITIALIZER
+- };
++ struct sync_data* user_data;
++ struct libusb_transfer* xfer;
+
+- struct libusb_transfer xfer = {.num_iso_packets = 0};
++ // Initialize sychronization primitives
++ user_data = calloc(1, sizeof(*user_data));
++ pthread_mutex_init(&user_data->lock, NULL);
++ pthread_cond_init(&user_data->cond, NULL);
+
+ // Submit asynchronous transfer
+- libusb_fill_bulk_transfer(&xfer, dev, endpoint, data, length,
+- sync_transfer_cb, &user_data, timeout);
+- libusb_submit_transfer(&xfer);
++ xfer = libusb_alloc_transfer(0);
++ libusb_fill_bulk_transfer(xfer, dev, endpoint, data, length,
++ sync_transfer_cb, user_data, timeout);
++ libusb_submit_transfer(xfer);
+
+ // wait for completion
+- pthread_mutex_lock(&user_data.lock);
+- while (!user_data.done)
+- pthread_cond_wait(&user_data.cond, &user_data.lock);
+- pthread_mutex_unlock(&user_data.lock);
++ pthread_mutex_lock(&user_data->lock);
++ while (!user_data->done)
++ pthread_cond_wait(&user_data->cond, &user_data->lock);
++ pthread_mutex_unlock(&user_data->lock);
+
+- *actual_length = user_data.actual_length;
+- if (user_data.status == LIBUSB_TRANSFER_COMPLETED)
++ *actual_length = user_data->actual_length;
++ if (user_data->status == LIBUSB_TRANSFER_COMPLETED)
+ retval = 0;
+- else if (user_data.status == LIBUSB_TRANSFER_TIMED_OUT)
++ else if (user_data->status == LIBUSB_TRANSFER_TIMED_OUT)
+ retval = LIBUSB_ERROR_TIMEOUT;
+
++ libusb_free_transfer(xfer);
+
+- pthread_cond_destroy(&user_data.cond);
+- pthread_mutex_destroy(&user_data.lock);
+-
++ pthread_cond_destroy(&user_data->cond);
++ pthread_mutex_destroy(&user_data->lock);
++ free(user_data);
+
+ return retval;
+ }
+--
+1.7.10
+
diff --git a/fix-unaligned-memory-access.patch b/fix-unaligned-memory-access.patch
new file mode 100644
index 0000000..9e11e28
--- /dev/null
+++ b/fix-unaligned-memory-access.patch
@@ -0,0 +1,46 @@
+From: Dejan Latinovic <Dejan.Latinovic(a)imgtec.com>
+Date: Tue, 11 Mar 2014 18:16:39 +0100
+Description: Fix unaligned memory access errors on MIPS systems
+ This patch fixes unaligned memory access errors on MIPS systems.
+Debian-Bug:
+
+--- a/src/core/typecast.c 2014-03-17 17:03:03.868239764 +0000
++++ b/src/core/typecast.c 2014-03-17 17:07:18.253726412 +0000
+@@ -37,6 +37,28 @@ static void cast_##tsrc##_##tdst (void*
+ } \
+ }
+
++// Prototype of a generic type scale and cast function for unaligned memory access
++#define DEFINE_CASTUNALIGNED_FN(tsrc, tdst) \
++static void cast_##tsrc##_##tdst (void* restrict d, const void* restrict s, union gval sc, size_t len) \
++{ \
++ union dstdata \
++ { \
++ tdst Data; \
++ unsigned int intData[2]; \
++ }; \
++ const tsrc* src = s; \
++ union dstdata *dst = d; \
++ tdst scale = sc.val##tdst; \
++ while(len) \
++ { \
++ union dstdata dst_tmp; \
++ dst_tmp.Data = scale * ((tdst)(*src)); \
++ dst->intData[0] = dst_tmp.intData[0]; \
++ dst->intData[1] = dst_tmp.intData[1]; \
++ src++; dst++; \
++ len -= sizeof(*src); \
++ } \
++}
+ // Prototype of a generic type cast function
+ #define DEFINE_CASTNOSC_FN(tsrc, tdst) \
+ static void castnosc_##tsrc##_##tdst (void* restrict d, const void* restrict s, union gval sc, size_t len) \
+@@ -60,7 +82,7 @@ static void identity(void* restrict d, c
+
+ // Declaration/definition of type cast and scale functions
+ DEFINE_CAST_FN(int32_t, int32_t)
+-DEFINE_CAST_FN(int32_t, double)
++DEFINE_CASTUNALIGNED_FN(int32_t, double)
+ DEFINE_CAST_FN(double, int32_t)
+ DEFINE_CAST_FN(int32_t, float)
+ DEFINE_CAST_FN(float, int32_t)
diff --git a/include-config_h.patch b/include-config_h.patch
new file mode 100644
index 0000000..0984c5e
--- /dev/null
+++ b/include-config_h.patch
@@ -0,0 +1,91 @@
+From: Dejan Latinovic <Dejan.Latinovic(a)imgtec.com>
+Date: Tue, 11 Mar 2014 18:16:39 +0100
+Description: include "config.h" before including system headers
+ The following source files were modified to include "config.h" before
+ including system headers (due to changes in gnulib).
+Debian-Bug:
+
+--- a/doc/examples/library-usage/acquisition.c
++++ b/doc/examples/library-usage/acquisition.c
+@@ -15,6 +15,9 @@
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
++#if HAVE_CONFIG_H
++#include <config.h>
++#endif
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <stdint.h>
+--- a/doc/examples/library-usage/eegdev_acq.c
++++ b/doc/examples/library-usage/eegdev_acq.c
+@@ -15,6 +15,9 @@
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
++#if HAVE_CONFIG_H
++#include <config.h>
++#endif
+ #include <stdint.h>
+ #include <stdlib.h>
+ #include <stdio.h>
+--- a/doc/examples/library-usage/recinxdf.c
++++ b/doc/examples/library-usage/recinxdf.c
+@@ -15,6 +15,9 @@
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
++#if HAVE_CONFIG_H
++#include <config.h>
++#endif
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <stdio.h>
+--- a/tests/sysbiosemi.c
++++ b/tests/sysbiosemi.c
+@@ -17,6 +17,9 @@
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+ //#include <sys/time.h>
++#if HAVE_CONFIG_H
++#include <config.h>
++#endif
+ #include <time.h>
+ #include <string.h>
+ #include <stdlib.h>
+--- a/tests/syseegfile.c
++++ b/tests/syseegfile.c
+@@ -17,6 +17,9 @@
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+ //#include <sys/time.h>
++#if HAVE_CONFIG_H
++#include <config.h>
++#endif
+ #include <time.h>
+ #include <string.h>
+ #include <stdlib.h>
+--- a/tests/sysneurosky.c
++++ b/tests/sysneurosky.c
+@@ -17,6 +17,9 @@
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+ //#include <sys/time.h>
++#if HAVE_CONFIG_H
++#include <config.h>
++#endif
+ #include <time.h>
+ #include <string.h>
+ #include <stdlib.h>
+--- a/tests/systobiia.c
++++ b/tests/systobiia.c
+@@ -16,6 +16,9 @@
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+ //#include <sys/time.h>
++#if HAVE_CONFIG_H
++#include <config.h>
++#endif
+ #include <time.h>
+ #include <string.h>
+ #include <stdlib.h>
diff --git a/sources b/sources
index e69de29..85779ce 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+4508e0c8fedfc122c01a73149036d23d eegdev-0.2.tar.bz2
--
cgit v0.11.2
http://pkgs.fedoraproject.org/cgit/eegdev.git/commit/?h=master&id=cafe9db...
4Â years