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 <nico...@debian.org> ]
+  * New upstream release.
+  * Debhelper 13.
+  * Fix license of upstream sources: GPL-2+ -> GPL-3+. Close: #FIXME.
+
+ -- Anselm Lingnau <ling...@debian.org>  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 <ling...@debian.org>
 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 <moin...@free.fr>
 Source: http://moinejf.free.fr/
-License: GPL-2+
 
 Files: *
 Copyright: 1998-2020 Jean-François Moine (http://moinejf.free.fr)
            1996-1998 Michael Methfessel <m...@ihp-ffo.de>
-License: GPL-2+
-
-Files: debian/*
-Copyright: 2004-2018 Anselm Lingnau <ling...@debian.org>
+           2004-2018 Anselm Lingnau <ling...@debian.org>
            2018-2020 Nicolas Boulenguez <nico...@debian.org»
-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)

Reply via email to