]> git.pld-linux.org Git - packages/portmidi.git/blobdiff - portmidi.spec
- added format patch (fixes build with -Werror=format-security)
[packages/portmidi.git] / portmidi.spec
index ad8bd219a17b734bcc1325ab2b7402e58aa71863..5f5a86740b11d0ce6d9abef257d94c2f0697a844 100644 (file)
@@ -1,21 +1,29 @@
 #
-# TODO: try to build with java enabled
+# TODO: fix build doxygen documentaton
 #
 Summary:       Portable Real-Time MIDI library
 Summary(pl.UTF-8):     Przenośna biblioteka MIDI czasu rzeczywistego
 Name:          portmidi
-Version:       200
-Release:       1
+Version:       217
+Release:       4
 License:       MIT-like
 Group:         Libraries
 Source0:       http://downloads.sourceforge.net/portmedia/%{version}/%{name}-src-%{version}.zip
-# Source0-md5: 26053a105d938395227bb6ae1d78643b
-Patch0:                %{name}-make.patch
-Patch1:                %{name}-disable_java.patch
+# Source0-md5: 03f46fd3947e2ef4c8c465baaf832241
+Source1:       pmdefaults.desktop
+Patch0:                %{name}-cmake.patch
+Patch1:                %{name}-format.patch
 URL:           http://portmedia.sourceforge.net/
 BuildRequires: alsa-lib-devel >= 0.9
-BuildRequires: dos2unix
-BuildRequires: libtool
+BuildRequires: cmake >= 2.6
+#BuildRequires:        doxygen
+BuildRequires: jdk >= 1.5
+BuildRequires: jpackage-utils
+BuildRequires: rpmbuild(macros) >= 1.600
+BuildRequires: sed >= 4.0
+#BuildRequires:        texlive-format-pdflatex
+#BuildRequires:        texlive-latex-extend
+#BuildRequires:        texlive-xetex
 BuildRequires: unzip
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -31,6 +39,7 @@ Summary(pl.UTF-8):    Pliki nagłówkowe biblioteki PortMidi
 Group:         Development/Libraries
 Requires:      %{name} = %{version}-%{release}
 Requires:      alsa-lib-devel >= 0.9
+Obsoletes:     portmidi-static
 
 %description devel
 Header files for PortMidi library.
@@ -38,27 +47,72 @@ Header files for PortMidi library.
 %description devel -l pl.UTF-8
 Pliki nagłówkowe biblioteki PortMidi.
 
-%prep
-%setup -q -n %{name}
+%package tools
+Summary:       Tools to configure and use portmidi
+Summary(pl.UTF-8):     Narzędzia do konfiguracji i używania portmidi
+Group:         Applications/Multimedia
+Requires:      %{name} = %{version}-%{release}
+Requires:      jre >= 1.5
+Requires:      jpackage-utils
+
+%description tools
+Tools to configure and use portmidi.
 
-dos2unix pm_linux/Makefile
+%description tools -l pl.UTF-8
+Narzędzia do konfiguracji i używania portmidi.
 
+%prep
+%setup -q -n %{name}
 %patch0 -p1
 %patch1 -p1
 
+# Add shebang, lib and class path
+%{__sed} -i -e 's|^java|#!/bin/sh\njava \\\
+       -Djava.library.path=%{_libdir}/%{name}/|' \
+       -e 's|%{_javadir}/|%{_libdir}/%{name}/|' \
+       pm_java/pmdefaults/pmdefaults
+
 %build
-%{__make} -j1 -f pm_linux/Makefile \
-       CC="%{__cc}" \
-       OPTFLAGS="%{rpmcflags}" \
-       PMFLAGS="-DNEWBUFFER%{?debug: -DPM_CHECK_ERRORS}" \
-       libdir=%{_libdir}
+export JAVA_HOME=%{java_home}
+%cmake \
+       -DCMAKE_CXX_COMPILER_WORKS=1 -DCMAKE_CXX_COMPILER="%{__cc}" \
+       -DCMAKE_CACHEFILE_DIR=%{_builddir}/%{name}/build \
+       -DVERSION=%{version}
+
+%{__make} -j 1
+
+# TODO: fix "undefined refernce" errors
+%if 0
+# Build the doxygen documentation
+doxygen
+%{__make} -C latex
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_libdir}/%{name},%{_datadir}/icons/hicolor/128x128/apps,%{_desktopdir}}
+
+%{__make} install \
+       DESTDIR=$RPM_BUILD_ROOT
+
+# Install the test applications
+for app in latency midiclock midithread midithru mm qtest sysex test; do
+       install build/PLD/$app $RPM_BUILD_ROOT%{_libdir}/%{name}
+done
+
+# PLD's jni library location is different
+mv $RPM_BUILD_ROOT%{_libdir}/libpmjni.so $RPM_BUILD_ROOT%{_libdir}/%{name}
+mv $RPM_BUILD_ROOT%{_javadir}/pmdefaults.jar $RPM_BUILD_ROOT%{_libdir}/%{name}
 
-%{__make} -f pm_linux/Makefile install \
-       DESTDIR=$RPM_BUILD_ROOT \
-       libdir=%{_libdir}
+# pmdefaults icon
+cp -a pm_java/pmdefaults/pmdefaults-icon.png \
+       $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/128x128/apps
+
+# desktop file
+install %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
+
+# remove duplicate library
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libportmidi_s.so
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -69,17 +123,29 @@ rm -rf $RPM_BUILD_ROOT
 %files
 %defattr(644,root,root,755)
 %doc CHANGELOG.txt README.txt license.txt pm_linux/README_LINUX.txt
-%attr(755,root,root) %{_libdir}/libportmidi.so.*.*.*
-%attr(755,root,root) %{_libdir}/libporttime.so.*.*.*
+%attr(755,root,root) %{_libdir}/libportmidi.so.*.*
 %attr(755,root,root) %ghost %{_libdir}/libportmidi.so.0
-%attr(755,root,root) %ghost %{_libdir}/libporttime.so.0
 
 %files devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libportmidi.so
-%attr(755,root,root) %{_libdir}/libporttime.so
-%{_libdir}/libportmidi.la
-%{_libdir}/libporttime.la
-%{_includedir}/pmutil.h
 %{_includedir}/portmidi.h
 %{_includedir}/porttime.h
+
+%files tools
+%defattr(644,root,root,755)
+%doc pm_java/pmdefaults/README.txt pm_cl/*
+%attr(755,root,root) %{_bindir}/pmdefaults
+%dir %{_libdir}/portmidi
+%attr(755,root,root) %{_libdir}/portmidi/latency
+%attr(755,root,root) %{_libdir}/portmidi/libpmjni.so
+%attr(755,root,root) %{_libdir}/portmidi/midiclock
+%attr(755,root,root) %{_libdir}/portmidi/midithread
+%attr(755,root,root) %{_libdir}/portmidi/midithru
+%attr(755,root,root) %{_libdir}/portmidi/mm
+%attr(755,root,root) %{_libdir}/portmidi/pmdefaults.jar
+%attr(755,root,root) %{_libdir}/portmidi/qtest
+%attr(755,root,root) %{_libdir}/portmidi/sysex
+%attr(755,root,root) %{_libdir}/portmidi/test
+%{_desktopdir}/pmdefaults.desktop
+%{_iconsdir}/hicolor/128x128/apps/pmdefaults-icon.png
This page took 0.063409 seconds and 4 git commands to generate.