From 702a6d0679eb8bdb735aff31f3ed00e0e9eb41cc Mon Sep 17 00:00:00 2001 From: Gwyn Ciesla Date: Jun 08 2017 14:27:08 +0000 Subject: Python 3 support. --- diff --git a/portmidi.spec b/portmidi.spec index 48c10e5..716ca62 100644 --- a/portmidi.spec +++ b/portmidi.spec @@ -1,7 +1,7 @@ Summary: Real-time Midi I/O Library Name: portmidi Version: 217 -Release: 16%{?dist} +Release: 17%{?dist} License: MIT Group: System Environment/Libraries URL: http://portmedia.sourceforge.net/ @@ -18,6 +18,7 @@ BuildRequires: desktop-file-utils BuildRequires: java-devel >= 1.7 BuildRequires: jpackage-utils BuildRequires: python2-devel +BuildRequires: python3-devel BuildRequires: doxygen BuildRequires: tex(latex) @@ -50,6 +51,18 @@ real-time MIDI input/output library. This package contains the python bindings of PortMidi libraries. It can send and receive MIDI data in real-time from Python. +%package -n python3-%{name} +Summary: Python 3 wrapper for %{name} +Group: System Environment/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description -n python3-%{name} +PortMedia is a set of simple clean APIs and cross-platform library +implementations for music and other media. PortMidi sub-project provides a +real-time MIDI input/output library. This package contains the python +bindings of PortMidi libraries. It can send and receive MIDI data in +real-time from Python 3. + %package tools Summary: Tools to configure and use %{name} Group: Applications/Multimedia @@ -102,12 +115,21 @@ make %{?_smp_flags} doxygen # Build python modules -PYTHON_VER=$(python -c "from sys import version; print (version[:3])") -PYTHON_INC=$(python -c "from distutils.sysconfig import get_python_inc; print get_python_inc()") +PYTHON2_VER=$(python2 -c "from sys import version; print (version[:3])") +PYTHON2_INC=$(python2 -c "from distutils.sysconfig import get_python_inc; print get_python_inc()") +PYTHON3_VER=$(python3 -c "from sys import version; print (version[:3])")m +PYTHON3_INC=$(python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") +cp -pr pm_python/pyportmidi pm_python/pyportmidi3 pushd pm_python/pyportmidi gcc %{optflags} -pthread -fPIC -c -o _pyportmidi.o -I../../pm_common \ - -I../../porttime -I$PYTHON_INC _pyportmidi.c - gcc -shared -o _pyportmidi.so _pyportmidi.o -lportmidi -lpython$PYTHON_VER \ + -I../../porttime -I$PYTHON2_INC _pyportmidi.c + gcc -shared -o _pyportmidi.so _pyportmidi.o -lportmidi -lpython$PYTHON2_VER \ + -L../../build/Release +popd +pushd pm_python/pyportmidi3 + gcc %{optflags} -pthread -fPIC -c -o _pyportmidi.o -I../../pm_common \ + -I../../porttime -I$PYTHON3_INC _pyportmidi.c + gcc -shared -o _pyportmidi.so _pyportmidi.o -lportmidi -lpython$PYTHON3_VER \ -L../../build/Release popd @@ -141,15 +163,21 @@ desktop-file-install \ install -pm 644 pm_common/pmutil.h %{buildroot}%{_includedir}/ # Install python modules -mkdir -p %{buildroot}%{python_sitearch}/pyportmidi +mkdir -p %{buildroot}%{python2_sitearch}/pyportmidi pushd pm_python/pyportmidi - install -pm 755 _pyportmidi.so %{buildroot}%{python_sitearch}/pyportmidi/ - install -pm 644 *.py %{buildroot}%{python_sitearch}/pyportmidi/ + install -pm 755 _pyportmidi.so %{buildroot}%{python2_sitearch}/pyportmidi/ + install -pm 644 *.py %{buildroot}%{python2_sitearch}/pyportmidi/ +popd +mkdir -p %{buildroot}%{python3_sitearch}/pyportmidi +pushd pm_python/pyportmidi3 + install -pm 755 _pyportmidi.so %{buildroot}%{python3_sitearch}/pyportmidi/ + install -pm 644 *.py %{buildroot}%{python3_sitearch}/pyportmidi/ popd # we don't want to provide private python extension libs %{?filter_setup: -%filter_provides_in %{python_sitearch}/.*\.so$ +%filter_provides_in %{python2_sitearch}/.*\.so$ +%filter_provides_in %{python3_sitearch}/.*\.so$ %filter_setup } @@ -177,7 +205,11 @@ rm -f %{buildroot}%{_libdir}/libportmidi_s.so %files -n python-%{name} %doc pm_python/README_PYTHON.txt -%{python_sitearch}/pyportmidi/ +%{python2_sitearch}/pyportmidi/ + +%files -n python3-%{name} +%doc pm_python/README_PYTHON.txt +%{python3_sitearch}/pyportmidi/ %files devel %doc README.txt @@ -186,6 +218,9 @@ rm -f %{buildroot}%{_libdir}/libportmidi_s.so %{_libdir}/lib*.so %changelog +* Thu Jun 08 2017 Gwyn Ciesla - 217-17 +- Python 3 support. + * Sat Feb 11 2017 Fedora Release Engineering - 217-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild