5d78e52
Name:		faust
00cb829
Version:	0.9.46
03ce540
Release:	14%{?dist}
5d78e52
Summary:	Compiled language for real-time audio signal processing
5d78e52
# Examples are BSD
5d78e52
# The rest is GPLv2+
5d78e52
License:	GPLv2+ and BSD
5d78e52
URL:		http://faust.grame.fr/
c013bb9
Source0:	http://downloads.sourceforge.net/project/faudiostream/%{name}-%{version}.tar.gz
be5c4e2
# Build osclib as a shared library
be5c4e2
Patch0:		faust-osclib-shared.patch
57f2bd6
# gcc-4.7 compile fix
57f2bd6
Patch1:		faust-gcc47.patch
25e7291
BuildRequires:	doxygen
25e7291
BuildRequires:	graphviz
5d78e52
5d78e52
%description
5d78e52
Faust AUdio STreams is a functional programming language for real-time audio
5d78e52
signal processing. Its programming model combines two approaches : functional
5d78e52
programming and block diagram composition. You can think of FAUST as a
5d78e52
structured block diagram language with a textual syntax.
5d78e52
5d78e52
FAUST is intended for developers who need to develop efficient C/C++ audio
5d78e52
plugins for existing systems or full standalone audio applications. Thanks to
5d78e52
some specific compilation techniques and powerful optimizations, the C++ code
5d78e52
generated by the Faust compiler is usually very fast. It can generally compete
5d78e52
with (and sometimes outperform) hand-written C code.
5d78e52
5d78e52
Programming with FAUST is somehow like working with electronic circuits and 
5d78e52
signals. A FAUST program is a list of definitions that defines a signal 
5d78e52
processor block-diagram : a piece of code that produces output signals
5d78e52
according to its input signals (and maybe some user interface parameters)
5d78e52
5d78e52
%package doc
5d78e52
Summary:	Documentation for %{name}
5d78e52
License:	GPLv2+
65946a3
BuildArch:	noarch
5d78e52
Requires:	%{name} = %{version}-%{release}
5d78e52
5d78e52
%description doc
5d78e52
Faust AUdio STreams is a functional programming language for real-time audio
5d78e52
signal processing. This package provides documentation files to help with 
5d78e52
writing programs with faust.
5d78e52
be5c4e2
%package osclib
be5c4e2
Summary:	OSCLib Library
be5c4e2
License:	GPLv2+ and MIT
be5c4e2
Requires:	%{name} = %{version}-%{release}
be5c4e2
be5c4e2
%description osclib
be5c4e2
Faust AUdio STreams is a functional programming language for real-time audio
be5c4e2
signal processing. This package provides osclib.
be5c4e2
be5c4e2
%package osclib-devel
be5c4e2
Summary:	Headers for the OSCLib Library
be5c4e2
License:	GPLv2+ and MIT
be5c4e2
Requires:	%{name}-osclib = %{version}-%{release}
be5c4e2
be5c4e2
%description osclib-devel
be5c4e2
Faust AUdio STreams is a functional programming language for real-time audio
be5c4e2
signal processing. This package provides the development files for osclib.
be5c4e2
be5c4e2
5d78e52
%package tools
5d78e52
Summary:	3rd party tools written for %{name}
5d78e52
License:	GPLv2+
65946a3
BuildArch:	noarch
be5c4e2
Requires:	%{name}-osclib-devel = %{version}-%{release}
5d78e52
5d78e52
%description tools
5d78e52
Faust AUdio STreams is a functional programming language for real-time audio
5d78e52
signal processing. These additional tools are provided by various contributors
5d78e52
to help the building process of applications and plugins with Faust.
5d78e52
5d78e52
%package kate
5d78e52
Summary:	Kate/Kwrite plugin for %{name}
5d78e52
License:	GPLv2+
65946a3
BuildArch:	noarch
5d78e52
Requires:	%{name} = %{version}-%{release}
5d78e52
5d78e52
%description kate
5d78e52
Faust AUdio STreams is a functional programming language for real-time audio
5d78e52
signal processing. This package provides Faust code syntax highlighting support
5d78e52
for KDE's Kate/Kwrite.
5d78e52
5d78e52
%prep
9ff8b37
%setup -q
be5c4e2
%patch0 -p1
57f2bd6
%patch1 -p1
5d78e52
5d78e52
# For installation in the correct location and for preserving timestamps:
5d78e52
# The Makefile normally puts noarch files in $prefix/lib. We change
5d78e52
# this to $prefix/share
be5c4e2
# Also don't build the osclib until upstream supports shared libs
be5c4e2
#	-e '/osclib/d'				\
be5c4e2
sed -i	-e 's|/lib/|/share/|g'			\
5d78e52
	-e 's| -r | -pr |'			\
5d78e52
	-e 's| -m | -pm |'			\
5d78e52
	Makefile
5d78e52
sed -i 's|/lib|/share|g' compiler/parser/enrobage.cpp
be5c4e2
sed -i 's|install |install -pm 755 |' tools/faust2appls/Makefile
5d78e52
5d78e52
# Fix optflags
be5c4e2
sed -i 's|-O3|%{optflags} -fPIC	|' compiler/Makefile.unix \
be5c4e2
			architecture/osclib/faust/Makefile \
be5c4e2
			architecture/osclib/oscpack/Makefile
5d78e52
5d78e52
# Fix permissions
5d78e52
chmod -x compiler/draw/device/SVGDev.* architecture/VST/PkgInfo
be5c4e2
chmod +x tools/faust2appls/faust2*
7e265e9
chmod -x tools/faust2pd/faust2*
5d78e52
5d78e52
# Fix encoding
65946a3
for i in examples syntax-highlighting; do
65946a3
	iconv -f iso8859-1 -t utf8 $i/README -o tmpfile
65946a3
	touch -r $i/README tmpfile
65946a3
	mv -f tmpfile $i/README
65946a3
done
5d78e52
be5c4e2
# To distinguish doc files
be5c4e2
for i in changelog license readme; do
be5c4e2
	mv architecture/osclib/faust/$i.txt architecture/osclib/faust/$i.faustOSC.txt
be5c4e2
done
be5c4e2
for i in CHANGES LICENSE README TODO; do
be5c4e2
	mv architecture/osclib/oscpack/$i architecture/osclib/oscpack/$i.osscpack.txt
be5c4e2
done
be5c4e2
be5c4e2
5d78e52
%build
5d78e52
# Build the main executable
be5c4e2
make PREFIX=%{_prefix} LIBDIR=%{_libdir} %{?_smp_mflags}
9ff8b37
5d78e52
5d78e52
%install
5d78e52
mkdir -p %{buildroot}%{_bindir}
be5c4e2
mkdir -p %{buildroot}%{_datadir}/%{name}
be5c4e2
make install PREFIX=%{_prefix} LIBDIR=%{_libdir} INCLUDEDIR=%{_includedir} DESTDIR=%{buildroot}
5d78e52
5d78e52
# Sort out the documentation
5d78e52
mv documentation/faust-quick-reference-src/illustrations/ documentation
5d78e52
rm -fr documentation/faust-quick-reference-src
5d78e52
5d78e52
# Install tools
5d78e52
cp -a tools/%{name}2sc-*/%{name}2sc %{buildroot}%{_bindir}
5d78e52
mv tools/%{name}2sc-*/README README.supercollider
5d78e52
5d78e52
cp -a tools/%{name}2appls/%{name}2* %{buildroot}%{_bindir}
5d78e52
mv tools/%{name}2appls/README README.appls
5d78e52
5d78e52
# Install the kate plugin
5d78e52
mkdir -p %{buildroot}%{_datadir}/kde4/apps/katepart/syntax/
5d78e52
cp -a syntax-highlighting/%{name}.xml \
5d78e52
	%{buildroot}%{_datadir}/kde4/apps/katepart/syntax/
5d78e52
be5c4e2
be5c4e2
%post osclib -p /sbin/ldconfig
be5c4e2
%postun osclib -p /sbin/ldconfig
5d78e52
5d78e52
%files
9ff8b37
%doc COPYING README examples WHATSNEW
5d78e52
%{_bindir}/%{name}
5d78e52
%{_datadir}/%{name}/
5d78e52
be5c4e2
%files osclib
be5c4e2
%doc architecture/osclib/*.txt architecture/osclib/faust/*.txt architecture/osclib/oscpack/*.txt
be5c4e2
%{_libdir}/*.so.*
be5c4e2
be5c4e2
%files osclib-devel
be5c4e2
%{_libdir}/*.so
be5c4e2
%{_includedir}/*.h
be5c4e2
5d78e52
%files doc
9ff8b37
%doc documentation/* 
5d78e52
5d78e52
%files tools
be5c4e2
%doc tools/README README.supercollider README.appls tools/%{name}2pd
5d78e52
%{_bindir}/%{name}2*
5d78e52
5d78e52
%files kate
5d78e52
%doc syntax-highlighting/README
5d78e52
%{_datadir}/kde4/apps/katepart/syntax/%{name}.xml
5d78e52
5d78e52
%changelog
03ce540
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.46-14
03ce540
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
03ce540
a01e782
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.46-13
a01e782
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
a01e782
ee1404a
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.46-12
ee1404a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
ee1404a
cc69108
* Mon May 15 2017 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.46-11
cc69108
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
cc69108
95851c8
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.46-10
95851c8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
95851c8
4c55d78
* Sun Jul 10 2016 Jon Ciesla <limburgher@gmail.com> - 0.9.46-9
4c55d78
- Drop kdesdk Requires, retired.
4c55d78
16e8d85
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.46-8
16e8d85
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
16e8d85
4fc98fd
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.46-7
4fc98fd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
4fc98fd
9143bdd
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 0.9.46-6
9143bdd
- Rebuilt for GCC 5 C++11 ABI change
9143bdd
d052e4f
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.46-5
d052e4f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
d052e4f
28fd57b
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.46-4
28fd57b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
28fd57b
4cec20d
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.46-3
4cec20d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
4cec20d
6ce34ca
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.46-2
6ce34ca
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
6ce34ca
00cb829
* Fri Aug 31 2012 Jon Ciesla <limburgher@gmail.com> - 0.9.46-1
00cb829
- New upstream.
00cb829
7db2d30
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.43-5
7db2d30
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
7db2d30
e9c657e
* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.43-4
e9c657e
- Rebuilt for c++ ABI breakage
e9c657e
57f2bd6
* Tue Jan 10 2012 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.9.43-3
57f2bd6
- gcc-4.7 compile fix
57f2bd6
7e265e9
* Sun Nov 27 2011 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.9.43-2
7e265e9
- Drop executable permission on faust2pd.pure to avoid an unavailable dependency.
7e265e9
be5c4e2
* Fri Nov 25 2011 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.9.43-1
be5c4e2
- Update to 0.9.43
be5c4e2
1a253a1
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.30-2
1a253a1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
1a253a1
f938a08
* Thu Nov 25 2010 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.9.30-1
f938a08
- Update to 0.9.30
f938a08
9ff8b37
* Mon May 31 2010 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.9.24-1
9ff8b37
- Update to 0.9.24
9ff8b37
- Don't bundle the source documentation. It is only needed by faust developers, not users.
9ff8b37
c013bb9
* Sat May 15 2010 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.9.22-1
c013bb9
- Update to 0.9.22
c013bb9
65946a3
* Sun Jan 31 2010 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.9.10-1
65946a3
- Update to 0.9.10
65946a3
13f857f
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.9.4-3.b
13f857f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
13f857f
5d78e52
* Sat Mar 21 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.9.9.4-2.b
5d78e52
- Fix the year of the previous changelog entry
5d78e52
- Install the nonbinary files in %%{_datadir}/%%{name}/
5d78e52
- Add Requires: %%{name}=%%{version}-%%{release} to the doc subpackage
5d78e52
5d78e52
* Mon Mar 16 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.9.9.4-1.b
5d78e52
- Initial build