%global __provides_exclude ^(libsndfile[.]so.*)$ %global __requires_exclude_from (^libstdc[+][+].so([(][)][(]64bit[)])$|^libstdc[+][+].so$) %global __requires_exclude %{__requires_exclude_from}|libc.so %global __requires_exclude %{__requires_exclude}|libc.so()(64bit) %global __requires_exclude %{__requires_exclude}|libc.so(LIBC) %global __requires_exclude %{__requires_exclude}|libc.so(LIBC)(64bit) %global __requires_exclude %{__requires_exclude}|libdl.so %global __requires_exclude %{__requires_exclude}|libdl.so()(64bit) %global __requires_exclude %{__requires_exclude}|libm.so %global __requires_exclude %{__requires_exclude}|libm.so()(64bit) %global __requires_exclude %{__requires_exclude}|libm.so(LIBC) %global __requires_exclude %{__requires_exclude}|libm.so(LIBC)(64bit) Name: faust Version: 2.79.3 Release: 1%{?dist} Summary: Compiled language for real-time audio signal processing # Examples are BSD # The rest is GPLv2+ License: GPL-2.0-or-later AND MIT AND GPL-3.0-or-later AND BSD-3-Clause AND LGPL-3.0-or-later AND LGPL-2.1-or-later AND Apache-2.0 AND AML AND BSL-1.0 URL: https://faust.grame.fr/ Source0: https://github.com/grame-cncm/faust/releases/download/%{version}/%{name}-%{version}.tar.gz Patch0: includes.patch BuildRequires: gcc-c++ BuildRequires: doxygen BuildRequires: graphviz BuildRequires: make BuildRequires: libmicrohttpd-devel BuildRequires: llvm-devel BuildRequires: cmake BuildRequires: zlib-devel BuildRequires: libxml2-devel BuildRequires: ncurses-static %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: GPL-2.0-or-later 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: GPL-2.0-or-later 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: GPL-2.0-or-later 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: GPL-2.0-or-later BuildArch: noarch Requires: %{name}-osclib-devel = %{version}-%{release} %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: GPL-2.0-or-later 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. %prep %setup -q %patch -P 0 -p0 # 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 for i in changelog license; do mv architecture/osclib/faust/$i.txt architecture/osclib/faust/$i.faustOSC.txt done for i in CHANGES LICENSE README TODO; do mv architecture/osclib/oscpack/$i architecture/osclib/oscpack/$i.osscpack.txt done %build # Build the main executable make all PREFIX=%{_prefix} LIBDIR=%{_libdir} %{?_smp_mflags} %install mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_datadir}/%{name} make install PREFIX=%{_prefix} LIBDIR=%{_libdir} INCLUDEDIR=%{_includedir} DESTDIR=%{buildroot} # Sort out the documentation mv documentation/misc/* documentation rm -fr documentation/faust-quick-reference-src documentation/misc # Install tools cp -a tools/%{name}2appls/%{name}2* %{buildroot}%{_bindir} mv tools/%{name}2appls/README.md 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/ find %{buildroot} -type f -name '*.a' -print0 | xargs -0 rm %ldconfig_scriptlets osclib %files %doc COPYING.txt README.md examples WHATSNEW.md %{_bindir}/%{name} %{_bindir}/encoderunitypackage %{_bindir}/faust-config %{_bindir}/faustoptflags %{_bindir}/faustpath %{_bindir}/faustremote %{_bindir}/filename2ident %{_bindir}/sound2reader %{_bindir}/usage.sh %{_datadir}/%{name}/ %files osclib %doc architecture/osclib/*.md architecture/osclib/faust/*.txt architecture/osclib/oscpack/*.txt %{_prefix}/lib/libOSCFaust.so.1* %{_prefix}/lib/libfaust.so.2* %{_prefix}/lib/libfaustmachine.so.0* %{_prefix}/lib/libfaustmachine.so.1* %{_prefix}/lib/libHTTPDFaust.so.0* %{_mandir}/man1/faust.1* %files osclib-devel %{_prefix}/lib/*.so %{_includedir}/faust/ %files doc %doc documentation/* %files tools %doc README.appls tools/%{name}2pd %{_bindir}/%{name}2* %files kate %{_datadir}/kde4/apps/katepart/syntax/%{name}.xml %changelog * Wed Mar 12 2025 Gwyn Ciesla - 2.79.3-1 - 2.79.3 * Mon Feb 17 2025 Gwyn Ciesla - 2.77.3-1 - 2.77.3 * Thu Jan 16 2025 Fedora Release Engineering - 0.9.46-30 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild * Wed Jul 17 2024 Fedora Release Engineering - 0.9.46-29 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild * Wed Jan 24 2024 Fedora Release Engineering - 0.9.46-28 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Fri Jan 19 2024 Fedora Release Engineering - 0.9.46-27 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Wed Jul 19 2023 Fedora Release Engineering - 0.9.46-26 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Tue Mar 07 2023 Gwyn Ciesla - 0.9.46-25 - migrated to SPDX license * Thu Jan 19 2023 Fedora Release Engineering - 0.9.46-24 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Thu Jul 21 2022 Fedora Release Engineering - 0.9.46-23 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Thu Jan 20 2022 Fedora Release Engineering - 0.9.46-22 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Wed Jul 21 2021 Fedora Release Engineering - 0.9.46-21 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Tue Jan 26 2021 Fedora Release Engineering - 0.9.46-20 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Mon Jul 27 2020 Fedora Release Engineering - 0.9.46-19 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Tue Jan 28 2020 Fedora Release Engineering - 0.9.46-18 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * 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