Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.1:ARM:Staging
hydrogen
hydrogen.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File hydrogen.spec of Package hydrogen
# # spec file for package hydrogen # # Copyright (c) 2018 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/ # %define soversion 0 %define soage 0 %define sorevision 0 # WARNING: ATM librubberband2 support is experimental currently it is recommended that you disable # this config option to ensure backwards compatibility with songs created under 0.9.5 which use # rubberband. Use the rubberband -cli package instead. %define librubberband 0 Name: hydrogen Version: 0.9.7 Release: 0 Summary: A Real-Time Drum Machine and Sequencer # NOTE: Don't forget to update the libsuffix macro. License: GPL-2.0+ Group: Productivity/Multimedia/Sound/Midi Url: http://www.hydrogen-music.org/ Source0: %{name}-%{version}.tar.gz Source1: h2cli.1 Source2: COPYING # Fixup the desktop file. Patch0: hydrogen-0.9.6-desktop.patch # Remove current date and time from sources. Patch1: hydrogen-no-current-time.patch # libhydrogencore has no soname and installs in _libexecdir Patch2: hydrogen-0.9.6-lib64.patch # PATCH-FIX-UPSTREAM hydrogen-gcc47.patch boris@steki.net -- Fix build with gcc 4.7. Patch3: hydrogen-gcc47.patch BuildRequires: cmake BuildRequires: doxygen BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: help2man BuildRequires: hicolor-icon-theme BuildRequires: ladspa BuildRequires: ladspa-devel BuildRequires: pkgconfig BuildRequires: update-desktop-files BuildRequires: util-linux BuildRequires: pkgconfig(Qt3Support) BuildRequires: pkgconfig(QtCLucene) BuildRequires: pkgconfig(QtCore) BuildRequires: pkgconfig(QtDBus) BuildRequires: pkgconfig(QtDeclarative) BuildRequires: pkgconfig(QtDesigner) BuildRequires: pkgconfig(QtDesignerComponents) BuildRequires: pkgconfig(QtGui) BuildRequires: pkgconfig(QtHelp) BuildRequires: pkgconfig(QtMultimedia) BuildRequires: pkgconfig(QtNetwork) BuildRequires: pkgconfig(QtOpenGL) BuildRequires: pkgconfig(QtScript) BuildRequires: pkgconfig(QtScriptTools) BuildRequires: pkgconfig(QtSql) BuildRequires: pkgconfig(QtSvg) BuildRequires: pkgconfig(QtTest) BuildRequires: pkgconfig(QtUiTools) BuildRequires: pkgconfig(QtXml) BuildRequires: pkgconfig(QtXmlPatterns) BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(flac) BuildRequires: pkgconfig(flac++) BuildRequires: pkgconfig(jack) BuildRequires: pkgconfig(libarchive) BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(lrdf) BuildRequires: pkgconfig(portaudio-2.0) BuildRequires: pkgconfig(raptor2) BuildRequires: pkgconfig(sndfile) BuildRequires: pkgconfig(zlib) #%%if 0%%{?suse_version} <= 1140 #BuildRequires: libqt4-devel-doc-data #%%endif #pkgconfig(ladspa-1.13) %if 0%{?librubberband} == 1 BuildRequires: pkgconfig(rubberband) %else BuildRequires: rubberband-cli Requires: rubberband-cli %endif %description Hydrogen is a software synthesizer which can be used alone, emulating a drum machine based on patterns, or via an external MIDI keyboard/sequencer software. It features a modular and graphical interface based on QT4, has a sample-based stereo audio engine, with import of sound samples in PCM formats. Furthermore, a pattern-based sequencer with the ability to chain patterns into a song. Up to 64 ticks per pattern with individual level per event and variable pattern length are possible. 32 instrument tracks with volume, mute, solo, pan capabilities are provided, and there is multi-layer support for instruments (up to 16 samples for each instrument). Human velocity, human time, pitch and swing functions are implemented as well. %package -n libhydrogen-core%{soversion} Summary: Library essential for the hydrogen drum machine software Group: System/Libraries %description -n libhydrogen-core%{soversion} Hydrogen is a software synthesizer which can be used alone, emulating a drum machine based on patterns, or via an external MIDI keyboard/sequencer software. This library is the core of hydrogen's operation. %package -n libhydrogen-core-devel Summary: Development files and headers for libhydrogen-core Group: Development/Libraries/C and C++ Requires: libhydrogen-core%{soversion} = %{version}-%{release} %description -n libhydrogen-core-devel These are the headers needed to develop apps that link with libhydrogen-core. %prep %setup -q %patch0 %patch1 %patch2 %patch3 # copy licence with correct fsf address install -m 0644 %{SOURCE2} ./ %build mkdir -p Build && pushd Build cmake -L ../ -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \ -DCMAKE_LIBRARY_ARCHITECTURE:STRING=%{_arch} \ -DCMAKE_CXX_FLAGS:STRING="%{optflags} -ggdb" \ -DCMAKE_C_FLAGS:STRING="%{optflags} -ggdb" \ -DCMAKE_BUILD_TYPE:STRING=Release \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=on \ -DWANT_SHARED:BOOL=on \ -DWANT_LIBARCHIVE:BOOL=on \ -DWANT_LRDF:BOOL=off \ -DLADSPA_INCLUDE_DIR:PATH=%{_includedir} \ -DLADSPA_LIBRARIES:PATH=%{_libdir}/ladspa \ -DCMAKE_CURRENT_LIBRARY_DIR:PATH="%{_lib}" \ -Dcoreversion:STRING=%{soversion} \ -Dsoage:STRING=%{soage} \ -Dsorevision:STRING=%{sorevision} \ # For some reason cmake won't produce a correct soname with only the version so this is a hack to fix it. pushd src/core/CMakeFiles/hydrogen-core.dir && \ cat link.txt|sed 's/-soname,libhydrogen-core.so.0.0.0/-soname,libhydrogen-core.so.0/'>\ link.txt~;mv link.txt~ link.txt cat relink.txt|sed 's/-soname,libhydrogen-core.so.0.0.0/-soname,libhydrogen-core.so.0/'>\ relink.txt~;mv relink.txt~ relink.txt popd make %{?_smp_mflags} # LD_LIBRARY_PATH=%%{_libdir}/mpi/gcc/openmpi/%%{_lib} # LD_RUN_PATH=%%{_libdir} popd %install #export QTDIR=%%{_libdir}/qt4/ pushd Build %make_install VERBOSE_MAKEFILE=1 # libhydrogen-core's internal SONAME = libhydrogen-core.so.0 so we provide a link. cd %{buildroot}%{_libdir} && ln -s libhydrogen-core.so.0.0.0 libhydrogen-core.so.0 popd # Install the h2cli man page created by help2man mkdir -p %{buildroot}%{_mandir}/man1 install -pm 0644 %{SOURCE1} %{buildroot}%{_mandir}/man1/ # Move hydrogen man page to the correct directory mv %{buildroot}%{_prefix}/man/man1/hydrogen.1 %{buildroot}%{_mandir}/man1/ # temporary link i18n files from usr/share/hydrogen/data/i18n to _datadir/locale for find_lang to find. ln -s %{_datadir}/hydrogen/data/i18n %{buildroot}%{_datadir}/locale %find_lang %{name} %{name}.lang --without-kde --with-qt --all-name --without-mo rm -rf %{buildroot}%{_datadir}/locale cat %{name}.lang # Set executable bit on scripts in buildroot/_datadir/name/data/i18n for i in $(find %{buildroot}%{_datadir}/hydrogen/data/i18n -type f -perm 0644 -print0|xargs -0r grep -l '#!'); \ do chmod 0755 ${i}; done rm -f %{buildroot}%{_datadir}/hydrogen/data/i18n/stats.py %fdupes -s %{buildroot}%{_datadir} # Make icon avalable for desktop file mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/ \ && pushd %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/ ln -s ../../../../%{name}/data/img/gray/h2-icon.svg h2-icon.svg #usr/share/hydrogen/data/img/gray/h2-icon.svg popd && %suse_update_desktop_file -i %{name} AudioVideo Sequencer %post %desktop_database_post %postun %desktop_database_postun %files -f %{name}.lang %{_bindir}/* %doc AUTHORS ChangeLog README.txt %license COPYING %dir %{_datadir}/%{name}/* %dir %{_datadir}/%{name} %dir %{_datadir}/appdata %{_mandir}/man1/hydrogen.1%{ext_man} %{_mandir}/man1/h2cli.1%{ext_man} %{_datadir}/%{name}/data/* %{_datadir}/appdata/%{name}.appdata.xml %{_datadir}/applications/%{name}.desktop %{_datadir}/icons/hicolor/scalable/apps/h2-icon.svg %post -n libhydrogen-core%{soversion} -p /sbin/ldconfig %postun -n libhydrogen-core%{soversion} -p /sbin/ldconfig %files -n libhydrogen-core%{soversion} %{_libdir}/libhydrogen-core.so.%{soversion}* %files -n libhydrogen-core-devel %dir %{_includedir}/%{name} %{_includedir}/%{name}/* %{_libdir}/libhydrogen-core.so %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor