%global has_luajit 0 %global luajit_version 2.1 Name: csound Version: 6.13.0 Release: 1%{?dist} Summary: A sound synthesis language and library URL: http://csound.github.io/ License: LGPLv2+ Source0: https://github.com/csound/csound/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz Source1: https://github.com/csound/manual/archive/Csound%{version}_manual_html.zip Patch1: 0001-Add-support-for-using-xdg-open-for-opening-help.patch Patch2: 0002-Default-to-PulseAudio.patch Patch3: 0003-use-standard-plugins-path.patch Patch4: 0004-fix-naming-conflicts.patch BuildRequires: gcc gcc-c++ BuildRequires: bison BuildRequires: bluez-libs-devel BuildRequires: boost-devel BuildRequires: cmake BuildRequires: CUnit-devel BuildRequires: docbook-style-xsl BuildRequires: dssi-devel BuildRequires: eigen3-static BuildRequires: flex BuildRequires: fltk-fluid BuildRequires: fluidsynth-devel BuildRequires: gettext-devel BuildRequires: gmm-devel BuildRequires: jack-audio-connection-kit-devel BuildRequires: java-devel BuildRequires: jpackage-utils BuildRequires: libcurl-devel BuildRequires: liblo-devel BuildRequires: libpng-devel BuildRequires: libsamplerate-devel BuildRequires: libsndfile-devel BuildRequires: libvorbis-devel BuildRequires: libxslt %if 0%{?has_luajit} BuildRequires: luajit-devel %endif BuildRequires: portaudio-devel BuildRequires: portmidi-devel BuildRequires: pulseaudio-libs-devel BuildRequires: python2-devel BuildRequires: python2-setuptools BuildRequires: python2-tkinter BuildRequires: python2-pygments BuildRequires: stk-devel BuildRequires: swig BuildRequires: wiiuse-devel # These obsoletes can be removed in Fedora 31 Obsoletes: %{name}-javadoc < 6.10.0-1%{?dist} Provides: %{name}-javadoc = 6.10.0-1%{?dist} Obsoletes: %{name}-lua < 6.10.0-1%{?dist} Provides: %{name}-lua = 6.10.0-1%{?dist} %global luaver %(lua -v | sed -r 's/Lua ([[:digit:]]+\\.[[:digit:]]+).*/\\1/') %description Csound is a sound and music synthesis system, providing facilities for composition and performance over a wide range of platforms. It is not restricted to any style of music, having been used for many years in at least classical, pop, techno, ambient... %package devel Summary: Csound development files and libraries Requires: %{name}%{?_isa} = %{version}-%{release} %description devel Contains headers and libraries for developing applications that use Csound. %package -n python2-csound %{?python_provide:%python_provide python2-csound} # Remove before F30 Provides: %{name}-python%{?_isa} = %{version}-%{release} Obsoletes: %{name}-python < %{version}-%{release} Summary: Python Csound development files and libraries Requires: %{name}%{?_isa} = %{version}-%{release} Requires: python2 %description -n python2-csound Contains Python language bindings for developing Python applications that use Csound. %package -n python2-csound-devel Summary: Csound python development files and libraries # Remove before F30 Provides: %{name}-python-devel%{?_isa} = %{version}-%{release} Obsoletes: %{name}-python-devel < %{version}-%{release} Requires: python2-%{name}%{?_isa} = %{version}-%{release} %description -n python2-csound-devel Contains libraries for developing against CSound python bindings. %package java Summary: Java Csound support Requires: %{name}%{?_isa} = %{version}-%{release} Requires: java-headless Requires: jpackage-utils %description java Contains Java language bindings for developing and running Java applications that use Csound. %if 0%{?has_luajit} %package lua Summary: Lua Csound support Requires: %{name}%{?_isa} = %{version}-%{release} %description lua Contains Lua language bindings for developing and running Lua applications that use Csound. %endif %package csoundac Summary: An FLTK and python frontend for Csound Requires: %{name}-python%{?_isa} = %{version}-%{release} Requires: xdg-utils %description csoundac Contains an FLTK and python frontend for Csound %package fltk Summary: FLTK plugins for Csound Requires: %{name}%{?_isa} = %{version}-%{release} Requires: fltk %description fltk Contains FLTK plugins for csound %package jack Summary: Jack Audio plugins for Csound Requires: %{name}%{?_isa} = %{version}-%{release} Requires: jack-audio-connection-kit %description jack Contains Jack Audio plugins for Csound %package fluidsynth Summary: Fluidsyth soundfont plugin for Csound Requires: %{name}%{?_isa} = %{version}-%{release} %description fluidsynth Contains Fluidsynth soundfont plugin for Csound. %package dssi Summary: Disposable Soft Synth Interface (DSSI) plugin for Csound Requires: %{name}%{?_isa} = %{version}-%{release} Requires: dssi %description dssi Disposable Soft Synth Interface (DSSI) plugin for Csound %package osc Summary: Open Sound Control (OSC) plugin for Csound Requires: %{name}%{?_isa} = %{version}-%{release} %description osc Open Sound Control (OSC) plugin for Csound %package portaudio Summary: PortAudio plugin for Csound Requires: %{name}%{?_isa} = %{version}-%{release} %description portaudio PortAudio plugin for Csound %package stk Summary: STK (Synthesis ToolKit in C++) plugin for Csound Requires: %{name}%{?_isa} = %{version}-%{release} %description stk STK (Synthesis ToolKit in C++) plugin for Csound %package virtual-keyboard Summary: Virtual MIDI keyboard plugin for Csound Requires: %{name}%{?_isa} = %{version}-%{release} Requires: fltk %description virtual-keyboard A virtual MIDI keyboard plugin for Csound %package wiimote Summary: Wiimote plugin for Csound Requires: %{name}%{?_isa} = %{version}-%{release} %description wiimote A Wiimote plugin for Csound %package manual Summary: Csound manual License: GFDL Requires: %{name} = %{version}-%{release} BuildArch: noarch %description manual Canonical Reference Manual for Csound. %prep %autosetup -p1 # setup the manual %setup -q -T -D -a 1 # Fix luajit version find ./ -name CMakeLists.txt -exec sed -i 's|luajit-2.0|luajit-%{luajit_version}|g' {} \; # Fix end of line encodings %define fix_line_encoding() \ sed -i.orig 's/\\r\\n/\\n/;s/\\r/\\n/g' %1; \ touch -r %1.orig %1; \ rm -f %1.orig; for csd in $(find html/examples -name \*.csd); do %fix_line_encoding $csd done %fix_line_encoding html/examples/128,8-torus %fix_line_encoding html/examples/128-spiral-8,16,128,2,1over2 %fix_line_encoding html/examples/128-stringcircular %fix_line_encoding html/examples/string-128.matrix # Fix spurious executable bits chmod a-x html/examples/* %build %if "%{_libdir}" == "%{_prefix}/lib64" %global uselib64 ON %else %global uselib64 OFF %endif # Terrible hack %ifarch %{arm} sed -i 's*//#define PFFFT_SIMD_DISABLE*#define PFFFT_SIMD_DISABLE*' OOps/pffft.c %endif %cmake -DUSE_LIB64:BOOL=%{uselib64} -DBUILD_JAVA_INTERFACE:BOOL=ON \ -DSWIG_ADD_LIBRARY:BOOL=OFF -DBUILD_JACK_OPCODES:BOOL=ON \ -DPYTHON_MODULE_INSTALL_DIR:STRING="%{python2_sitearch}" \ %if 0%{?has_luajit} -DLUA_MODULE_INSTALL_DIR:STRING="%{libdir}/lua/%{luaver}" \ %endif -DBUILD_CSOUND_AC:BOOL=ON -DBUILD_CSOUND_AC_PYTHON_INTERFACE:BOOL=ON \ %ifarch %{x86} -DHAS_SSE2:BOOL=OFF -DHAS_FPMATH_SSE:BOOL=OFF \ %endif %ifarch %{arm} aarch64 -DHAVE_NEON:BOOL=OFF \ %endif -DBUILD_STK_OPCODES:BOOL=ON -DBUILD_PADSYNTH_OPCODES:BOOL=OFF %make_build %install %make_install # Fix the Java installation install -dm 755 %{buildroot}%{_javadir} (cd %{buildroot}%{_javadir}; ln -s %{_libdir}/%{name}/java/csnd.jar .) # Help the debuginfo generator ln -s ../csound_orclex.c Engine/csound_orclex.c ln -s ../csound_prelex.c Engine/csound_prelex.c rm -rf %{buildroot}%{_datadir}/cmake/Csound/ %find_lang %{name}6 %ldconfig_scriptlets %ldconfig_scriptlets -n python2-csound %ldconfig_scriptlets csoundac %check # make csdtests %files -f %{name}6.lang %license COPYING %doc README.md Release_Notes %{_bindir}/atsa %{_bindir}/cs %{_bindir}/csanalyze %{_bindir}/csb64enc %{_bindir}/csbeats %{_bindir}/csdebugger %{_bindir}/csound %{_bindir}/cvanal %{_bindir}/dnoise %{_bindir}/cs-envext %{_bindir}/cs-extract %{_bindir}/cs-extractor %{_bindir}/het_export %{_bindir}/het_import %{_bindir}/hetro %{_bindir}/lpanal %{_bindir}/lpc_export %{_bindir}/lpc_import %{_bindir}/makecsd %{_bindir}/cs-mixer %{_bindir}/pvanal %{_bindir}/pv_export %{_bindir}/pv_import %{_bindir}/pvlook %{_bindir}/cs-scale %{_bindir}/cs-scot %{_bindir}/scsort %{_bindir}/sdif2ad %{_bindir}/cs-sndinfo %{_bindir}/cs-srconv %{_bindir}/cs-src_conv %{_libdir}/lib%{name}64.so.6.0 %dir %{_libdir}/%{name}/plugins-6.0 #%{_libdir}/%{name}/plugins-6.0/csladspa.so %{_libdir}/%{name}/plugins-6.0/libampmidid.so %{_libdir}/%{name}/plugins-6.0/libarrayops.so %{_libdir}/%{name}/plugins-6.0/libbeosc.so %{_libdir}/%{name}/plugins-6.0/libbuchla.so %{_libdir}/%{name}/plugins-6.0/libcellular.so %{_libdir}/%{name}/plugins-6.0/libchua.so %{_libdir}/%{name}/plugins-6.0/libcontrol.so %{_libdir}/%{name}/plugins-6.0/libcs_date.so %{_libdir}/%{name}/plugins-6.0/libdoppler.so %{_libdir}/%{name}/plugins-6.0/libemugens.so %{_libdir}/%{name}/plugins-6.0/libexciter.so %{_libdir}/%{name}/plugins-6.0/libfareygen.so %{_libdir}/%{name}/plugins-6.0/libfractalnoise.so %{_libdir}/%{name}/plugins-6.0/libframebuffer.so %{_libdir}/%{name}/plugins-6.0/libftsamplebank.so %{_libdir}/%{name}/plugins-6.0/libgetftargs.so %{_libdir}/%{name}/plugins-6.0/libimage.so %{_libdir}/%{name}/plugins-6.0/libipmidi.so %{_libdir}/%{name}/plugins-6.0/libjoystick.so #%{_libdir}/%{name}/plugins-6.0/liblinear_algebra.so %{_libdir}/%{name}/plugins-6.0/libliveconv.so %{_libdir}/%{name}/plugins-6.0/libmixer.so %{_libdir}/%{name}/plugins-6.0/libplaterev.so %{_libdir}/%{name}/plugins-6.0/libpvsops.so %{_libdir}/%{name}/plugins-6.0/libquadbezier.so %{_libdir}/%{name}/plugins-6.0/librtalsa.so %{_libdir}/%{name}/plugins-6.0/librtpulse.so %{_libdir}/%{name}/plugins-6.0/libscansyn.so %{_libdir}/%{name}/plugins-6.0/libscugens.so %{_libdir}/%{name}/plugins-6.0/libserial.so %{_libdir}/%{name}/plugins-6.0/libselect.so %{_libdir}/%{name}/plugins-6.0/libsignalflowgraph.so %{_libdir}/%{name}/plugins-6.0/libstackops.so %{_libdir}/%{name}/plugins-6.0/libstdutil.so %{_libdir}/%{name}/plugins-6.0/libsystem_call.so %{_libdir}/%{name}/plugins-6.0/liburandom.so %files devel %{_includedir}/%{name}/ %{_libdir}/lib%{name}64.so %{_libdir}/libcsnd6.so %files -n python2-csound %{_libdir}/libcsnd6.so.6.0 %{_libdir}/%{name}/plugins-6.0/libpy.so %{python2_sitearch}/_csnd* %{python2_sitearch}/csnd* %{python2_sitearch}/*csound.py* %files -n python2-csound-devel #%{_libdir}/libCsoundAC.so %if 0%{?has_luajit} %files lua %{_libdir}/%{name}/plugins-6.0/libLuaCsound.so %{_libdir}/lua/%{luaver}/* %endif %files java %{_libdir}/lib_jcsound6.so %{_libdir}/csnd6.jar %{_javadir}/csnd.jar %files csoundac #%{python2_sitearch}/CsoundAC.* #%{python2_sitearch}/_CsoundAC.* #%{_libdir}/libCsoundAC.so.* %files fltk %{_libdir}/%{name}/plugins-6.0/libwidgets.so %files jack %{_libdir}/%{name}/plugins-6.0/libjacko.so %{_libdir}/%{name}/plugins-6.0/librtjack.so %{_libdir}/%{name}/plugins-6.0/libjackTransport.so %files fluidsynth %{_libdir}/%{name}/plugins-6.0/libfluidOpcodes.so %files dssi %{_libdir}/%{name}/plugins-6.0/libdssi4cs.so %files osc %{_libdir}/%{name}/plugins-6.0/libosc.so %files portaudio %{_libdir}/%{name}/plugins-6.0/librtpa.so %files stk %{_libdir}/%{name}/plugins-6.0/libstkops.so %files virtual-keyboard %{_libdir}/%{name}/plugins-6.0/libvirtual.so %files wiimote %{_libdir}/%{name}/plugins-6.0/libwiimote.so %files manual %doc html/ %changelog * Fri Jul 12 2019 Peter Robinson 6.13.0-1 - Update to Csound 6.13.0 * Sun Jun 9 2019 Peter Robinson 6.12.2-1 - Update to Csound 6.12.2 * Thu Jan 31 2019 Fedora Release Engineering - 6.10.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Thu Jul 12 2018 Fedora Release Engineering - 6.10.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Wed Apr 25 2018 Peter Robinson 6.10.0-2 - Fix upgrade path * Sun Feb 25 2018 Peter Robinson 6.10.0-1 - Update to Csound 6.10.0 - Obsolete javadocs support (deprecated upstream) - Packaging updates from Hlöðver Sigurðsson * Wed Feb 07 2018 Fedora Release Engineering - 6.03.2-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek - 6.03.2-16 - Python 2 binary package renamed to python2-csound See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 * Wed Aug 02 2017 Fedora Release Engineering - 6.03.2-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 6.03.2-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Fri Feb 10 2017 Fedora Release Engineering - 6.03.2-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Mon Aug 29 2016 Igor Gnatenko - 6.03.2-12 - Rebuild for LuaJIT 2.1.0 * Tue Jul 19 2016 Fedora Release Engineering - 6.03.2-11 - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages * Wed Feb 03 2016 Fedora Release Engineering - 6.03.2-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Sat Dec 19 2015 Kalev Lember - 6.03.2-9 - Rebuilt for libwiiuse soname bump * Wed Jul 29 2015 Fedora Release Engineering - 6.03.2-8 - Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 * Wed Jul 22 2015 David Tardon - 6.03.2-7 - rebuild for Boost 1.58 * Wed Jun 17 2015 Fedora Release Engineering - 6.03.2-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Sat May 02 2015 Kalev Lember - 6.03.2-5 - Rebuilt for GCC 5 C++11 ABI change * Tue Jan 27 2015 Petr Machata - 6.03.2-4 - Rebuild for boost 1.57.0 * Tue Sep 30 2014 Dan Horák - 6.03.2-3 - luajit available only on selected arches * Wed Sep 24 2014 Peter Robinson 6.03.2-2 - Fix separation of jack into it's subpackage * Tue Sep 16 2014 Jerry James - 6.03.2-1 - Update to 6.03.2 - Fix installation - Fix license handling - Add wiimote subpackage, wiiuse-devel BR, and bluez-libs-devel BR (bz 1142457) * Fri Aug 29 2014 Peter Robinson 6.03.1-1 - Update to 6.03.1 - Spec file fixups * Mon Jul 28 2014 Jerry James - 6.03.0-1 - Update to 6.03.0 (bz 1094866; fixes bzs 1057580, 1067182, and 1106095) - Change project URL to github page - Update BRs and reorganize for readability - Bring back the manual sources; the manual subpackage has the GFDL license - Obsolete the -gui and -tk subpackages (no longer supported upstream) - Add -csoundac, -lua, -portaudio, and -stk subpackages