Package: abcm2ps
Version: 8.14.7-0.2
Severity: normal
Tags: patch
Hello.
Upstream has released two versions, 8.14.8 and 8.14.9.
The license granted by the upstream author has changed from GPL-2+ to
GPL-3+, but debian/copyright has not been updated GPL-2+ (I have
missed this when packaging 8.14.2-0.1).
It is common to distribute the packaging work under the same license
than the upstream material, but of course this decision is yours.
Do you agree to relicense for the packaging from GPL-2+ to GPL-3+?
May I proceed to an NMU with the attached changes?
May I add myself to Uploaders and update the package without this
bug/NMU cycle in the future?
--- a/abcm2ps.h
+++ b/abcm2ps.h
@@ -532,8 +532,8 @@
int dblrepbar, decoerr, dynalign, flatbeams, flatbeamgracing, infoline;
int gchordbox, graceslurs, graceword,gracespace, hyphencont;
int keywarn, landscape, linewarn;
- int measurebox, measurefirst, measurenb, micronewps;
- int oneperpage;
+ int measurebox, measurefirst, measurenb;
+ int nedo, oneperpage;
#ifdef HAVE_PANGO
int pango;
#endif
--- a/abcparse.c
+++ b/abcparse.c
@@ -1585,13 +1585,17 @@
if (microscale == 0) {
d--;
d += (n - 1) << 8; /* short [ (n-1) | (d-1) ] */
- for (n = 1; n < MAXMICRO; n++) {
+ if (d == 0) {
+ n = MAXMICRO - 1;
+ } else {
+ for (n = 1; n < MAXMICRO; n++) {
if (parse.micro_tb[n] == d)
break;
if (parse.micro_tb[n] == 0) {
parse.micro_tb[n] = d;
break;
}
+ }
}
if (n == MAXMICRO) {
syntax("Too many microtone accidentals", p);
--- a/configure
+++ b/configure
@@ -1,8 +1,8 @@
#! /bin/sh
# (automatic update)
-VERSION=8.14.7
-VDATE=2020-02-19
+VERSION=8.14.9
+VDATE=2020-06-21
CC=gcc
PKG_CONFIG=pkg-config
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,14 @@
+abcm2ps (8.14.9-1) UNRELEASED; urgency=medium
+
+ * Change license of packaging sources: GPL-2+ -> GPL-3+.
+
+ [ Nicolas Boulenguez <[email protected]> ]
+ * New upstream release.
+ * Debhelper 13.
+ * Fix license of upstream sources: GPL-2+ -> GPL-3+. Close: #FIXME.
+
+ -- Anselm Lingnau <[email protected]> Sat, 31 Oct 2020 10:04:28 +0000
+
abcm2ps (8.14.7-0.2) unstable; urgency=medium
* Non-maintainer upload.
--- a/debian/control
+++ b/debian/control
@@ -3,7 +3,7 @@
Priority: optional
Maintainer: Anselm Lingnau <[email protected]>
Build-Depends:
- debhelper-compat (= 12),
+ debhelper-compat (= 13),
libfreetype6-dev,
libpango1.0-dev,
pkg-config,
--- a/debian/copyright
+++ b/debian/copyright
@@ -2,23 +2,17 @@
Upstream-Name: abcm2ps
Upstream-Contact: Jean-François Moine <[email protected]>
Source: http://moinejf.free.fr/
-License: GPL-2+
Files: *
Copyright: 1998-2020 Jean-François Moine (http://moinejf.free.fr)
1996-1998 Michael Methfessel <[email protected]>
-License: GPL-2+
-
-Files: debian/*
-Copyright: 2004-2018 Anselm Lingnau <[email protected]>
+ 2004-2018 Anselm Lingnau <[email protected]>
2018-2020 Nicolas Boulenguez <[email protected]»
-License: GPL-2+
-
-License: GPL-2+
- This program is free software; you can redistribute it
+License: GPL-3+
+ This program is free software: you can redistribute it
and/or modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later
+ version 3 of the License, or (at your option) any later
version.
.
This program is distributed in the hope that it will be
@@ -27,11 +21,6 @@
PURPOSE. See the GNU General Public License for more
details.
.
- You should have received a copy of the GNU General Public
- License along with this package; if not, write to the Free
- Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- Boston, MA 02110-1301 USA
- .
On Debian systems, the full text of the GNU General Public
- License version 2 can be found in the file
- `/usr/share/common-licenses/GPL-2'.
+ License version 3 can be found in the file
+ `/usr/share/common-licenses/GPL-3'.
--- a/draw.c
+++ b/draw.c
@@ -3,7 +3,7 @@
*
* This file is part of abcm2ps.
*
- * Copyright (C) 1998-2019 Jean-François Moine (http://moinejf.free.fr)
+ * Copyright (C) 1998-2020 Jean-François Moine (http://moinejf.free.fr)
* Adapted from abc2ps, Copyright (C) 1996-1998 Michael Methfessel
*
* This program is free software; you can redistribute it and/or modify it
@@ -983,6 +983,9 @@
}
a2b("%d %s%d ", n, acc_tb[acc & 0x07], d);
} else {
+ if (acc >> 3 != 0
+ && cfmt.nedo) // %%MIDI temperamentequal <nedo>
+ n = ((((n >> 8) + 1) * 12) - 1) * 256 + cfmt.nedo - 1;
a2b("%s%d ", acc_tb[acc & 0x07], n);
}
}
@@ -2873,10 +2876,16 @@
x1 = s1->x - 7;
if (s2->dur > s2->prev->dur) {
- if (s2->next)
- x2 = s2->next->x - s2->next->wl - 8;
- else
- x2 = realwidth - 6;
+ sy = s2->next;
+ if (!sy // maybe a note in an overlay voice
+ || sy->time != s2->time + s2->dur) {
+ for (sy = s2->ts_next; sy; sy = sy->ts_next) {
+ if ((sy->sflags & S_SEQST)
+ && sy->time >= s2->time + s2->dur)
+ break;
+ }
+ }
+ x2 = sy ? sy->x - sy->wl - 5 : realwidth - 6;
} else {
x2 = s2->x + 2;
if (s2->u.note.notes[s2->nhd].shhd > 0)
@@ -4617,17 +4626,18 @@
s2 = s->prev;
if (!s2)
break;
- x2 = s2->x;
- if (s2->type != BAR)
- x2 += s2->wr;
+ if (s2->type == BAR)
+ x2 = s2->x;
+ else
+ x2 = s->x - s->xmx;
staff = s->staff;
x = xstaff[staff];
if (x >= 0) {
if (x >= x2)
continue;
draw_staff(staff, x, x2);
+ xstaff[staff] = s->x;
}
- xstaff[staff] = s->x;
break;
default:
//fixme:does not work for "%%staves K: M: $" */
--- a/format.c
+++ b/format.c
@@ -95,7 +95,6 @@
{"measurefirst", &cfmt.measurefirst, FORMAT_I, 0},
{"measurefont", &cfmt.font_tb[MEASUREFONT], FORMAT_F, 2},
{"measurenb", &cfmt.measurenb, FORMAT_I, 0},
- {"micronewps", &cfmt.micronewps, FORMAT_B, 0},
{"musicfont", &cfmt.musicfont, FORMAT_S, 1},
{"musicspace", &cfmt.musicspace, FORMAT_U, 0},
{"notespacingfactor", &cfmt.notespacingfactor, FORMAT_R, 1},
--- a/music.c
+++ b/music.c
@@ -3330,6 +3330,9 @@
// if bar already, keep it in sequence
voice = p_voice - voice_tb;
+ bar_start = p_voice->bar_start;
+ p_voice->bar_start = 0;
+
if (last_s
&& last_s->voice == voice && last_s->type == BAR) {
p_voice->last_sym = last_s;
@@ -3337,10 +3340,8 @@
continue;
}
- bar_start = p_voice->bar_start;
if (!bar_start)
continue;
- p_voice->bar_start = 0;
if (cursys->voice[voice].range < 0
|| cursys->voice[voice].second
--- a/parse.c
+++ b/parse.c
@@ -5430,6 +5430,26 @@
return s;
}
break;
+ case 'M':
+ if (strcmp(w, "MIDI") == 0
+ && strncmp(p, "temperamentequal", 16) == 0) {
+ int n;
+
+ if (cfmt.nedo) {
+ error(1, s, "%%%%MIDI temperamentequal redefined");
+ return s;
+ }
+ p += 16;
+ while (isspace((unsigned char) *p))
+ p++;
+ n = atoi(p);
+ if (n < 7 || n > 53) {
+ error(1, s, "Bad value in %%%%MIDI temperamentequal");
+ return s;
+ }
+ cfmt.nedo = n;
+ }
+ break;
case 'n':
if (strcmp(w, "newpage") == 0) {
if (epsf || !in_fname)