Bug#883709: python-rtmidi: build should use librtmidi-dev or drop the dependency

2019-01-12 Thread Nicolas Boulenguez
Source: python-rtmidi
Version: 1.2.0~rc1-2
Followup-For: Bug #883709

Hello.

My previous suggestions for python-rtmidi were buggy in many respects.
Especially, the build time tests now fail.
The attached patch hopefully fixes all remaining issues.

The problem with tests was introduced by the "patch", so I am using
the same bug log. Reopening it would only cause confusion, though.

I have submitted a patch to rtmidi that should eventually allow
python-rtmidi to use the unpatched rtmidi library. For now, the
python-rtmidi author has good reasons to use a patched version.

I have also changed the upstream version, because the special meaning
of ~ in Debian was confusing uscan and there is no reason for it
anyway.  You have to decide whether to revert this part of my patch,
or rename the orig tarball.

I can prepare an NMU if this helps.

Thanks.
>From 84a98d282897b07d2f5689cadbb25004d2206132 Mon Sep 17 00:00:00 2001
From: Nicolas Boulenguez 
Date: Sat, 5 Jan 2019 17:20:47 +0100
Subject: [PATCH] Fix test. Revert to embedded RtMidi. Debhelper 12.

* Revert to the embedded RtMidi, explain why in README.source.
* Fix upstream version in this changelog (remove ~).
* Switch to debhelper compatibility level 12.
* Add forgotten Rules-Requires-Root: no field.
* Let the run time test check a C call in addition to basic import.
  Prevent the rtmidi subdirectory hiding the installed one.

The upstream tarball must be renamed according to the new version.
---
 debian/README.source  | 11 +++
 debian/changelog  | 12 
 debian/compat |  1 -
 debian/control|  5 +-
 .../build-with-packaged-rtmidi-header.diff| 31 
 debian/patches/series |  2 -
 .../patches/update-for-rtmidi-3.0.0~ds1.diff  | 71 ---
 debian/rules  | 13 +---
 debian/tests/control  |  3 +-
 9 files changed, 30 insertions(+), 119 deletions(-)
 create mode 100644 debian/README.source
 delete mode 100644 debian/compat
 delete mode 100644 debian/patches/build-with-packaged-rtmidi-header.diff
 delete mode 100644 debian/patches/series
 delete mode 100644 debian/patches/update-for-rtmidi-3.0.0~ds1.diff

diff --git a/debian/README.source b/debian/README.source
new file mode 100644
index 000..fbf8b92
--- /dev/null
+++ b/debian/README.source
@@ -0,0 +1,11 @@
+The upstream maintainer recompiles and links statically with RtMidi
+instead of using the packaged librtmidi-dev in order to increase
+RT_SYSEX_BUFFER_SIZE 8192.
+
+He also updates to latest version.
+At the time of this writing, commit
+  5591559e38d11d121c70b5697ec63992d96f4195
+of python-rtmidi picks src/RtMidi.{cpp,h} from commit
+  cadfcf6, between 3.0.0 and next unreleased version.
+
+ -- Nicolas Boulenguez , Sat,  5 Jan 2019 13:14:09 +0100
diff --git a/debian/changelog b/debian/changelog
index 3fc..ab375ff 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,15 @@
+python-rtmidi (1.2.0rc1-3) unstable; urgency=medium
+
+  [ Nicolas Boulenguez ]
+  * Revert to the embedded RtMidi, explain why in README.source.
+  * Fix upstream version in this changelog (remove ~).
+  * Switch to debhelper compatibility level 12.
+  * Add forgotten Rules-Requires-Root: no field.
+  * Let the run time test check a C call in addition to basic import.
+Prevent the rtmidi subdirectory hiding the installed one.
+
+ -- Josue Ortega   Sat, 05 Jan 2019 09:15:49 +0100
+
 python-rtmidi (1.2.0~rc1-2) unstable; urgency=medium
 
   [ Nicolas Boulenguez ]
diff --git a/debian/compat b/debian/compat
deleted file mode 100644
index b4de394..000
--- a/debian/compat
+++ /dev/null
@@ -1 +0,0 @@
-11
diff --git a/debian/control b/debian/control
index 4fe22c9..81b9b8f 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,8 @@ Source: python-rtmidi
 Section: python
 Priority: optional
 Maintainer: Josue Ortega 
-Build-Depends: debhelper (>=11),
+Build-Depends:
+ debhelper-compat (=12),
  dh-python,
  python3-all,
  python3-all-dev,
@@ -10,10 +11,10 @@ Build-Depends: debhelper (>=11),
  cython3 (>= 0.25.2),
  libasound-dev,
  libjack-dev,
- librtmidi-dev,
  python3-pytest,
  python3-mock
 Standards-Version: 4.3.0
+Rules-Requires-Root: no
 Homepage: http://trac.chrisarndt.de/code/wiki/python-rtmidi
 Vcs-Git: https://salsa.debian.org/debian/python-rtmidi.git
 Vcs-Browser: https://salsa.debian.org/debian/python-rtmidi
diff --git a/debian/patches/build-with-packaged-rtmidi-header.diff b/debian/patches/build-with-packaged-rtmidi-header.diff
deleted file mode 100644
index a4da362..000
--- a/debian/patches/build-with-packaged-rtmidi-header.diff
+++ /dev/null
@@ -1,31 +0,0 @@
-Description: build with packaged librtmidi-dev
- Embedded source copies are generally discouraged.
- More specifically, at the time of this writing:
-  - The two methods below have been removed from rtmidi.
-Python-rtmidi, 

Bug#883709: python-rtmidi: build should use librtmidi-dev or drop the dependency

2017-12-06 Thread Nicolas Boulenguez
Source: python-rtmidi
Version: 1.1.0
Severity: minor

Hello.

python-rtmidi builds whithout librtmidi-dev. This probably means that
- it ignores the headers from librtmidi-dev, and
  compiles from sources in the rtmidi/ subdirectory instead.
- the resulting object is not linked to librtimid
  (at least, by ld. Python probably attempts to load it directly later)
- dpkg-shlibdeps fails to detect the dependency and set shlib:Depends
- you need to update the librtmidiXX version in debian/control manually.

More generally, source copies should be avoided in Debian.  I suggest
that you link against the packaged librtmidi if possible.

Thanks.