%global debug_package %{nil} Name: faust Version: 2.14.4 Release: 18%{?dist} Summary: Compiled language for real-time audio signal processing # Examples are BSD # The rest is GPLv2+ License: GPLv2+ and BSD URL: http://faust.grame.fr/ Source0: http://downloads.sourceforge.net/project/faudiostream/faust/src/%{name}-%{version}.tar.gz Source1: https://github.com/grame-cncm/faustlibraries/archive/master.zip BuildRequires: gcc-c++ BuildRequires: doxygen BuildRequires: graphviz BuildRequires: cmake BuildRequires: unzip BuildRequires: pandoc BuildRequires: python2 BuildRequires: texlive-latex BuildRequires: texlive-collection-basic BuildRequires: texlive-collection-fontsrecommended %description Faust AUdio STreams is a functional programming language for real-time audio signal processing. Its programming model combines two approaches : functional programming and block diagram composition. You can think of FAUST as a structured block diagram language with a textual syntax. FAUST is intended for developers who need to develop efficient C/C++ audio plugins for existing systems or full standalone audio applications. Thanks to some specific compilation techniques and powerful optimizations, the C++ code generated by the Faust compiler is usually very fast. It can generally compete with (and sometimes outperform) hand-written C code. Programming with FAUST is somehow like working with electronic circuits and signals. A FAUST program is a list of definitions that defines a signal processor block-diagram : a piece of code that produces output signals according to its input signals (and maybe some user interface parameters) %package doc Summary: Documentation for %{name} License: GPLv2+ BuildArch: noarch Requires: %{name} = %{version}-%{release} %description doc Faust AUdio STreams is a functional programming language for real-time audio signal processing. This package provides documentation files to help with writing programs with faust. %package osclib Summary: OSCLib Library License: GPLv2+ and MIT Requires: %{name} = %{version}-%{release} %description osclib Faust AUdio STreams is a functional programming language for real-time audio signal processing. This package provides osclib. %package osclib-devel Summary: Headers for the OSCLib Library License: GPLv2+ and MIT Requires: %{name}-osclib = %{version}-%{release} %description osclib-devel Faust AUdio STreams is a functional programming language for real-time audio signal processing. This package provides the development files for osclib. %package tools Summary: 3rd party tools written for %{name} License: GPLv2+ BuildArch: noarch Requires: %{name}-osclib-devel = %{version}-%{release} Requires: python2 %description tools Faust AUdio STreams is a functional programming language for real-time audio signal processing. These additional tools are provided by various contributors to help the building process of applications and plugins with Faust. %package kate Summary: Kate/Kwrite plugin for %{name} License: GPLv2+ BuildArch: noarch Requires: %{name} = %{version}-%{release} %description kate Faust AUdio STreams is a functional programming language for real-time audio signal processing. This package provides Faust code syntax highlighting support for KDE's Kate/Kwrite. %package stdlib Summary: standard libraries for %{name} License: GPLv2+ BuildArch: noarch Requires: %{name} = %{version}-%{release} %description stdlib Faust AUdio STreams is a functional programming language for real-time audio signal processing. These libraries are part of the standard Faust libraries. %prep %setup -q # For installation in the correct location and for preserving timestamps: # The Makefile normally puts noarch files in $prefix/lib. We change # this to $prefix/share # Also don't build the osclib until upstream supports shared libs # -e '/osclib/d' \ sed -i -e 's|/lib/|/share/|g' \ -e 's| -r | -pr |' \ -e 's| -m | -pm |' \ Makefile sed -i 's|/lib|/share|g' compiler/parser/enrobage.cpp sed -i 's|install |install -pm 755 |' tools/faust2appls/Makefile # Fix optflags sed -i 's|-O3|%{optflags} -fPIC |' compiler/parser/Makefile \ architecture/osclib/faust/Makefile \ architecture/osclib/oscpack/Makefile # Fix permissions chmod -x compiler/draw/device/SVGDev.* architecture/VST/PkgInfo chmod +x tools/faust2appls/faust2* chmod -x tools/faust2pd/faust2* # Fix encoding for i in examples syntax-highlighting; do iconv -f iso8859-1 -t utf8 $i/README.md -o tmpfile touch -r $i/README.md tmpfile mv -f tmpfile $i/README.md done # To distinguish doc files mv architecture/osclib/faust/changelog.txt architecture/osclib/faust/changelog.faustOSC.txt mv architecture/osclib/faust/license.txt architecture/osclib/faust/license.faustOSC.txt mv architecture/osclib/faust/README.md architecture/osclib/faust/README.faustOSC.md for i in CHANGES LICENSE README TODO; do mv architecture/osclib/oscpack/$i architecture/osclib/oscpack/$i.osscpack.txt done # fix python2 shebang sed -i -e "s/env python/env python2/g" tools/faust2appls/faust2atomsnippets # install lib in the good directory sed -i -e "s/\$(BUILDLOCATION)\/lib/\$(BUILDLOCATION)\/%{_lib}/g" Makefile sed -i -e "s/\$(PREFIX)\/lib\//\$(PREFIX)\/%{_lib}\//g" architecture/osclib/faust/Makefile %build # Build the main executable make PREFIX=%{_prefix} LIBDIR=%{_libdir} MODE=SHARED %{?_smp_mflags} cd architecture/osclib/oscpack make lib %install mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_datadir}/%{name} mkdir -p %{buildroot}%{_libdir} make install PREFIX=%{_prefix} LIBDIR=%{_libdir} INCLUDEDIR=%{_includedir} DESTDIR=%{buildroot} # install liboscpack manually pushd . cd architecture/osclib/oscpack cp liboscpack.so.1.1.0 %{buildroot}%{_libdir} cd %{buildroot}%{_libdir} ln -s liboscpack.so.1.1.0 liboscpack.so.1 ln -s liboscpack.so.1 liboscpack.so popd # Sort out the documentation mv documentation/faust-quick-reference-src/illustrations/ documentation rm -fr documentation/faust-quick-reference-src # Install tools cp -a tools/%{name}2sc-*/%{name}2sc %{buildroot}%{_bindir} mv tools/%{name}2sc-*/README README.supercollider cp -a tools/%{name}2appls/%{name}2* %{buildroot}%{_bindir} mv tools/%{name}2appls/README README.appls # Install the kate plugin mkdir -p %{buildroot}%{_datadir}/kde4/apps/katepart/syntax/ cp -a syntax-highlighting/%{name}.xml \ %{buildroot}%{_datadir}/kde4/apps/katepart/syntax/ # move the .a library %ifarch x86_64 amd64 mkdir -p %{buildroot}%{_libdir}/ mv %{buildroot}/usr/lib/*.a %{buildroot}%{_libdir}/ %endif # copy faustlib unzip %{SOURCE1} cd faustlibraries-master sed -i -e "s/FAUST2MD=.*/FAUST2MD=faust2md/g" generateDoc export PATH=%{buildroot}%{_bindir}/:$PATH ./generateDoc mkdir -p %{buildroot}%{_datadir}/faust/ cp *.lib old/*.lib %{buildroot}%{_datadir}/faust/ mkdir -p %{buildroot}%{_datadir}/faust/doc/ cp doc/library.html %{buildroot}%{_datadir}/faust/doc/ cp doc/library.pdf %{buildroot}%{_datadir}/faust/doc/ mv README.md README-stdlib.md %ldconfig_scriptlets osclib %files %doc README.md examples WHATSNEW %{_bindir}/%{name} %{_datadir}/%{name}/ %{_mandir}/* %files osclib %doc architecture/osclib/README.md %{_libdir}/*.so.* %files osclib-devel %{_includedir}/* %{_libdir}/*.so %{_libdir}/*.a %files doc %doc documentation/* %files tools %doc tools/README.md README.supercollider README.appls tools/%{name}2pd %{_bindir}/%{name}2* %{_bindir}/encoderunitypackage %{_bindir}/faustoptflags %{_bindir}/faustpath %{_bindir}/sound2reader %files kate %doc syntax-highlighting/README.md %{_datadir}/kde4/apps/katepart/syntax/%{name}.xml %files stdlib %doc faustlibraries-master/README-stdlib.md %{_datadir}/faust/doc/library.html %{_datadir}/faust/doc/library.pdf %{_datadir}/faust/*.lib %changelog * Wed Jan 15 2020 Yann Collette - 2.14.4-18 - Update to 2.14.4-18. Add stdlib * Mon Jan 13 2020 Yann Collette - 2.14.4-17 - Update to 2.14.4-17 * Thu Jul 25 2019 Fedora Release Engineering - 0.9.46-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Thu Jan 31 2019 Fedora Release Engineering - 0.9.46-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Fri Jul 13 2018 Fedora Release Engineering - 0.9.46-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Wed Feb 07 2018 Fedora Release Engineering - 0.9.46-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Wed Aug 02 2017 Fedora Release Engineering - 0.9.46-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 0.9.46-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Mon May 15 2017 Fedora Release Engineering - 0.9.46-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild * Fri Feb 10 2017 Fedora Release Engineering - 0.9.46-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Sun Jul 10 2016 Jon Ciesla - 0.9.46-9 - Drop kdesdk Requires, retired. * Wed Feb 03 2016 Fedora Release Engineering - 0.9.46-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Wed Jun 17 2015 Fedora Release Engineering - 0.9.46-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Sat May 02 2015 Kalev Lember - 0.9.46-6 - Rebuilt for GCC 5 C++11 ABI change * Sat Aug 16 2014 Fedora Release Engineering - 0.9.46-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Sat Jun 07 2014 Fedora Release Engineering - 0.9.46-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Sat Aug 03 2013 Fedora Release Engineering - 0.9.46-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Wed Feb 13 2013 Fedora Release Engineering - 0.9.46-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Fri Aug 31 2012 Jon Ciesla - 0.9.46-1 - New upstream. * Thu Jul 19 2012 Fedora Release Engineering - 0.9.43-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Tue Feb 28 2012 Fedora Release Engineering - 0.9.43-4 - Rebuilt for c++ ABI breakage * Tue Jan 10 2012 Orcan Ogetbil - 0.9.43-3 - gcc-4.7 compile fix * Sun Nov 27 2011 Orcan Ogetbil - 0.9.43-2 - Drop executable permission on faust2pd.pure to avoid an unavailable dependency. * Fri Nov 25 2011 Orcan Ogetbil - 0.9.43-1 - Update to 0.9.43 * Tue Feb 08 2011 Fedora Release Engineering - 0.9.30-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Thu Nov 25 2010 Orcan Ogetbil - 0.9.30-1 - Update to 0.9.30 * Mon May 31 2010 Orcan Ogetbil - 0.9.24-1 - Update to 0.9.24 - Don't bundle the source documentation. It is only needed by faust developers, not users. * Sat May 15 2010 Orcan Ogetbil - 0.9.22-1 - Update to 0.9.22 * Sun Jan 31 2010 Orcan Ogetbil - 0.9.10-1 - Update to 0.9.10 * Fri Jul 24 2009 Fedora Release Engineering - 0.9.9.4-3.b - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Sat Mar 21 2009 Orcan Ogetbil - 0.9.9.4-2.b - Fix the year of the previous changelog entry - Install the nonbinary files in %%{_datadir}/%%{name}/ - Add Requires: %%{name}=%%{version}-%%{release} to the doc subpackage * Mon Mar 16 2009 Orcan Ogetbil - 0.9.9.4-1.b - Initial build