--- a/setup.py +++ b/setup.py @@ -102,7 +102,7 @@ # Set up options for compiling the _rtmidi Extension if cythonize: - sources = [join(SRC_DIR, "_rtmidi.pyx"), join(SRC_DIR, "rtmidi", "RtMidi.cpp")] + sources = [join(SRC_DIR, "_rtmidi.pyx")] elif exists(join(SRC_DIR, "_rtmidi.cpp")): cythonize = lambda x: x # noqa sources = [join(SRC_DIR, "_rtmidi.cpp"), join(SRC_DIR, "rtmidi", "RtMidi.cpp")] @@ -145,18 +145,13 @@ if sys.platform.startswith('linux'): - if alsa and find_library('asound'): - define_macros.append(("__LINUX_ALSA__", None)) - libraries.append('asound') + if not find_library('rtmidi'): + sys.exit("Failed to find librtmidi") - if jack: - check_for_jack(define_macros, libraries) - - if not find_library('pthread'): - sys.exit("The 'pthread' library is required to build python-rtmidi on" - "Linux. Please install the libc6 development package.") - - libraries.append("pthread") + res = subprocess.check_output(['pkg-config', '--variable', 'includedir', 'rtmidi']) + rtmidi_include_dir = res.decode().strip() + include_dirs.append(rtmidi_include_dir) + libraries.append('rtmidi') elif sys.platform.startswith('darwin'): if jack: check_for_jack(define_macros, libraries) @@ -197,7 +192,7 @@ # Finally, set up our distribution setup( packages=['rtmidi'], - ext_modules=cythonize(extensions), + ext_modules=cythonize(extensions, include_path=[ rtmidi_include_dir ]), tests_require=[], # Test dependencies are handled by tox # On systems without a RTC (e.g. Raspberry Pi), system time will be the # Unix epoch when booted without network connection, which makes zip fail, --- a/tests/test_rtmidi.py +++ b/tests/test_rtmidi.py @@ -54,11 +54,6 @@ else: self.assertEqual(res, rtmidi.API_UNSPECIFIED) - def test_get_rtmidi_version(self): - version = rtmidi.get_rtmidi_version() - self.assertTrue(isinstance(version, string_types)) - self.assertEqual(version, '4.0.0') - class BaseTests: NOTE_ON = [0x90, 48, 100]