File supercollider.spec of Package supercollider

#
# spec file for package supercollider
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


Name:           supercollider
Version:        3.11.0
Release:        lp151.2.5
Summary:        Programming environment for audio synthesis and composition
License:        GPL-3.0
Group:          Productivity/Multimedia/Sound/Utilities
Url:            http://supercollider.github.io/
Source0:        https://github.com/supercollider/supercollider/releases/download/Version-%{version}/SuperCollider-%{version}-Source-linux.tar.bz2
Packager:  Alessandro de Oliveira Faria (A.K.A CABELO) <cabelo@opensuse.org>
BuildRequires:  libqt5-qtsvg-devel libqt5-qtwebengine-devel libqt5-qtwebsockets-devel 
BuildRequires:  alsa-lib-devel
BuildRequires:  avahi-devel
BuildRequires:  cmake
BuildRequires:  emacs-nox
BuildRequires:  fdupes
BuildRequires:  fftw3-devel
BuildRequires:  gcc-c++
BuildRequires:  libQt5WebKit5-devel 
BuildRequires:  libQt5WebKitWidgets-devel 
BuildRequires:  libX11-devel
BuildRequires:  libXt-devel
BuildRequires:  libcurl-devel
BuildRequires:  libcwiid-devel
BuildRequires:  libicu-devel
BuildRequires:  libjack-devel
BuildRequires:  libqt5-qtbase-devel
BuildRequires:  libqt5-qtlocation-devel
BuildRequires:  libqt5-qtsensors-devel
BuildRequires:  libqt5-qttools-devel
BuildRequires:  libsndfile-devel
BuildRequires:  libtool
BuildRequires:  libudev-devel
BuildRequires:  pkgconfig
BuildRequires:  readline-devel
BuildRequires:  ruby
BuildRequires:  w3m
BuildRequires:  yaml-cpp-devel
BuildRequires:  pkgconfig(atomic_ops)
Requires:       jack
Requires(post): desktop-file-utils
Requires(post): shared-mime-info
Requires(postun): desktop-file-utils
Requires(postun): shared-mime-info
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
SuperCollider is a platform for audio synthesis and algorithmic composition,
used by musicians, artists, and researchers working with sound.
SuperCollider consists of three separate components:
  1. scsynth or supernova - audio engine (the "server")
  2. sclang - programming language runtime interpreter including Qt graphical user interfaces
  3. IDE (integrated development environment) - an editor for writing code and running supercollider

%package devel
Summary:        Development files for SuperCollider
Group:          Development/Libraries/C and C++
Requires:       alsa-devel
Requires:       avahi-devel
Requires:       libjack-devel
Requires:       libsndfile-devel
Requires:       libudev-devel
Requires:       pkgconfig
Requires:       supercollider = %{version}-%{release}

%description devel
This package includes include files and libraries neede to develop
SuperCollider applications

%package emacs
Summary:        SuperCollider support for Emacs
Group:          Development/Tools/IDE
Requires:       supercollider = %{version}-%{release}

%description emacs
SuperCollider support for the Emacs text editor.

%package gedit
Summary:        SuperCollider support for GEdit
Group:          Development/Tools/IDE
Requires:       supercollider = %{version}-%{release}

%description gedit
SuperCollider support for the GEdit text editor.


%prep
%setup -q -n SuperCollider-Source

%build
# remove exec flag from boost
find external_libraries/boost -type f -exec chmod -x {} \;

%cmake \
%ifarch %{ix86} x86_64
	-DSSE=ON \
	-DSSE2=ON \
	-DSC_VIM=ON \
%else
	-DSUPERNOVA=OFF -DNATIVE=ON \
	-DSSE=OFF \
	-DSSE2=OFF \
	-DSC_VIM=ON \
%endif
%if 0%{?suse_version} > 1320
	-DCMAKE_CXX_FLAGS="-fext-numeric-literals %{optflags}" \
%endif
	-DSUPERNOVA=ON

make %{?_smp_mflags} clean
make %{?_smp_mflags}

%install
%cmake_install

# install external libraries needed to build external ugens
mkdir -p %{buildroot}%{_includedir}/SuperCollider/external_libraries
pushd external_libraries/
tar cf - boost* nova* | (cd %{buildroot}%{_includedir}/SuperCollider/external_libraries; tar xpf -)
popd

# install the version file
install -m0644 SCVersion.txt %{buildroot}%{_includedir}/SuperCollider/

# Remove unneeded
rm -rf %{buildroot}%{_datadir}/doc/SuperCollider

%fdupes %{buildroot}%{_includedir}/SuperCollider
%fdupes -s %{buildroot}%{_datadir}

%post
/sbin/ldconfig
%desktop_database_post
%mime_database_post

%postun
/sbin/ldconfig
%desktop_database_postun
%mime_database_postun

%files
%defattr(-,root,root,-)
%doc AUTHORS COPYING README*
%{_bindir}/sclang
# in doc
%exclude %{_datadir}/SuperCollider/AUTHORS
%exclude %{_datadir}/SuperCollider/COPYING
%exclude %{_datadir}/SuperCollider/ChangeLog
%exclude %{_datadir}/SuperCollider/CHANGELOG.md
%exclude %{_datadir}/SuperCollider/README.md
%exclude %{_datadir}/SuperCollider/README_LINUX.md
%{_datadir}/SuperCollider
%exclude %{_datadir}/SuperCollider/Extensions/*
%{_datadir}/pixmaps/supercollider*
%{_datadir}/mime/packages/supercollider.xml
# scsynth
%{_bindir}/scsynth
%dir %{_libdir}/SuperCollider
%{_libdir}/SuperCollider/plugins
%{_bindir}/supernova
# ide
%{_bindir}/scide
%{_datadir}/applications/SuperColliderIDE.desktop
%{_datadir}/pixmaps/sc_ide.svg

%files devel
%defattr(-,root,root,-)
%{_includedir}/SuperCollider

%files emacs
%defattr(-,root,root,-)
%doc editors/sc-el/README.md
%{_datadir}/emacs/site-lisp/SuperCollider
%{_datadir}/SuperCollider/Extensions/scide_scel


%files gedit
%defattr(-,root,root,-)
%doc editors/sced/README.md
%dir %{_libdir}/gedit
%dir %{_libdir}/gedit/plugins
%{_libdir}/gedit/plugins/*
%dir %{_datadir}/gtksourceview-3.0
%dir %{_datadir}/gtksourceview-3.0/language-specs
%{_datadir}/gtksourceview-3.0/language-specs/supercollider.lang

%changelog
* Fri Mar  3 2017 rpm@fthiessen.de
- Update to version 3.8.0
- Fixed build on openSUSE Tumbleweed (boost int128 and c++11)
  * https://svn.boost.org/trac/boost/ticket/9240
- Replaced supercollider.patch with fix-cmake-link-threads.patch
- Dropped unneeded and overzealous "stripchars"
- Added fix-desktop.patch to fix desktop file and install mime info
  properly
- Added x64-libdir.patch to fix installation- and search-directories
  on 64bit architectures.
* Thu Apr 28 2016 vogre.z@gmail.com
- switched spec to point release instead of git snapshot
- updated to 3.7.1
  this patch release includes small enhancements and bug fixes.
  full project changelog is available at:
  https://github.com/supercollider/supercollider/blob/Version-3.7.1/CHANGELOG.md
* Fri Dec 18 2015 olaf@aepfle.de
- Fix build in Leap and Tumbleweed
* Thu Sep 17 2015 prusnak@opensuse.org
- updated to 3.7.0 snapshot
* Mon Oct 27 2014 prusnak@opensuse.org
- updated package to be based on Fedora CCRMA package
  by Fernando Lopez-Lezcano
* Sun Apr 27 2014 prusnak@opensuse.org
- updated to 3.6.6
* Thu Jun 13 2013 prusnak@opensuse.org
- updated to 3.6.5
* Fri Jan 25 2013 toddrme2178@gmail.com
- Updated to 3.6.2
- Split editors
* Thu Mar 22 2012 prusnak@opensuse.org
- updated to 3.5.0
* Wed Jan 11 2012 prusnak@opensuse.org
- spec cleanup
* Fri Nov  4 2011 d.pashov@gmail.com
- initial package
openSUSE Build Service is sponsored by