Package: release.debian.org Severity: normal User: release.debian.org@packages.debian.org Usertags: unblock Please unblock package drawtiming [ Reason ] Fixes RC bug #984038 [Tests] autopkgtest & Piuparts testsed OK: https://piuparts.debian.org/sid/source/d/drawtiming.html https://salsa.debian.org/electronics-team/drawtiming/-/pipelines/508918 [ Checklist ] [*] all changes are documented in the d/changelog [*] I reviewed all changes and I approve them [*] attach debdiff against the package in testing unblock drawtiming/0.7.1-8 -- أحمد المحمودي (Ahmed El-Mahmoudy) Digital design engineer GPG KeyIDs: 4096R/A7EF5671 2048R/EDDDA1B7 GPG Fingerprints: 6E2E E4BB 72E2 F417 D066 6ABF 7B30 B496 A7EF 5761 8206 A196 2084 7E6D 0DF8 B176 BC19 6A94 EDDD A1B7
diff --git a/debian/changelog b/debian/changelog
index 72d0df3..335b42e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,20 @@
+drawtiming (0.7.1-8) unstable; urgency=medium
+
+ [ Aymeric Agon-Rambosson ]
+ * Add repair-build-c++-17.patch (Closes: #984038).
+ * d/control:
+ - Add bison to Build-Depends (needed by upstream Makefile).
+ - Replace graphicsmagick with imagemagick to avoid segfault during
+ tests.
+ - Replace gsfonts with fonts-urw-base35 (transition), and add
+ fonts-urw-base35 as explicit runtime dependency to prevent segfault.
+
+ [ أحمد المحمودي (Ahmed El-Mahmoudy) ]
+ * Add gitlab-ci.yml
+ * d/gbp.conf: switch to bullseye branch
+
+ -- أحمد المحمودي (Ahmed El-Mahmoudy) <aelmahmoudy@users.sourceforge.net> Sat, 04 Mar 2023 03:07:13 +0100
+
drawtiming (0.7.1-7) unstable; urgency=medium
[ Dima Kogan ]
diff --git a/debian/control b/debian/control
index ac4079c..5448bb6 100644
--- a/debian/control
+++ b/debian/control
@@ -3,7 +3,12 @@ Section: electronics
Priority: optional
Maintainer: Debian Electronics Team <pkg-electronics-devel@lists.alioth.debian.org>
Uploaders: أحمد المحمودي (Ahmed El-Mahmoudy) <aelmahmoudy@users.sourceforge.net>
-Build-Depends: debhelper (>= 10), graphicsmagick-libmagick-dev-compat, pkg-config, gsfonts
+Build-Depends:
+ debhelper (>= 10),
+ libmagick++-6.q16-dev,
+ fonts-urw-base35,
+ pkg-config,
+ bison
Standards-Version: 4.1.5
Homepage: http://drawtiming.sourceforge.net/
Vcs-Git: https://salsa.debian.org/electronics-team/drawtiming.git
@@ -11,7 +16,7 @@ Vcs-Browser: https://salsa.debian.org/electronics-team/drawtiming
Package: drawtiming
Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}, fonts-urw-base35
Description: tool for documenting hardware designs through timing diagrams
Drawtiming is a command-line tool for documenting hardware designs through
timing diagrams. In inputs textual signal descriptions and outputs image
diff --git a/debian/gbp.conf b/debian/gbp.conf
index f9636dc..c3d8c22 100644
--- a/debian/gbp.conf
+++ b/debian/gbp.conf
@@ -1,3 +1,3 @@
[DEFAULT]
pristine-tar = False
-debian-branch = pkg-debian
+debian-branch = bullseye
diff --git a/debian/gitlab-ci.yml b/debian/gitlab-ci.yml
new file mode 100644
index 0000000..5c575a1
--- /dev/null
+++ b/debian/gitlab-ci.yml
@@ -0,0 +1,6 @@
+include:
+ - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
+ - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
+
+variables:
+ RELEASE: 'unstable'
diff --git a/debian/patches/repair-build-c++-17.patch b/debian/patches/repair-build-c++-17.patch
new file mode 100644
index 0000000..8c48ae4
--- /dev/null
+++ b/debian/patches/repair-build-c++-17.patch
@@ -0,0 +1,208 @@
+Description: Fix compile failures for newer g++ release
+Author: Thomas Sailer <sailer@ife.ee.ethz.ch>
+Forwarded: yes
+Comment: Found on https://sourceforge.net/p/drawtiming/patches/12/
+--- a/src/parser.yy
++++ b/src/parser.yy
+@@ -42,13 +42,13 @@ statements:
+ statement { $$ = $1; deps.push_back ($1); }
+ | statements ',' statement { $$ = $3; deps.push_back ($3); }
+ | statements ';' statement { $$ = $3; deps.clear (); deps.push_back ($3); }
+-| statements CAUSE statement { $$ = $3; data.add_dependencies ($3, deps);
++| statements CAUSE statement { $$ = $3; data_.add_dependencies ($3, deps);
+ deps.clear (); deps.push_back ($3); }
+-| statements DELAY statement { $$ = $3; data.add_delay ($3, $1, $2); }
++| statements DELAY statement { $$ = $3; data_.add_delay ($3, $1, $2); }
+
+ statement:
+-SYMBOL '=' SYMBOL { $$ = $1; data.set_value ($1, n, timing::sigvalue ($3)); }
+-| SYMBOL '=' STRING { $$ = $1; data.set_value ($1, n, timing::sigvalue ($3, timing::STATE)); }
++SYMBOL '=' SYMBOL { $$ = $1; data_.set_value ($1, n, timing::sigvalue ($3)); }
++| SYMBOL '=' STRING { $$ = $1; data_.set_value ($1, n, timing::sigvalue ($3, timing::STATE)); }
+ | SYMBOL { $$ = $1; };
+
+ %%
+--- a/src/globals.h
++++ b/src/globals.h
+@@ -22,7 +22,7 @@
+ #define YYSTYPE std::string
+
+ extern unsigned n;
+-extern timing::data data;
++extern timing::data data_;
+ extern timing::signal_sequence deps;
+
+ #endif
+--- a/src/timing.cc
++++ b/src/timing.cc
+@@ -113,16 +113,16 @@ sigdata &sigdata::operator= (const sigda
+
+ // ------------------------------------------------------------
+
+-data::data (void) : maxlen (0) {
++timing::data::data (void) : maxlen (0) {
+ }
+
+-data::data (const data &d) {
++timing::data::data (const timing::data &d) {
+ *this = d;
+ }
+
+ // ------------------------------------------------------------
+
+-data &data::operator= (const data &d) {
++timing::data &timing::data::operator= (const timing::data &d) {
+ maxlen = d.maxlen;
+ signals = d.signals;
+ sequence = d.sequence;
+@@ -132,7 +132,7 @@ data &data::operator= (const data &d) {
+
+ // ------------------------------------------------------------
+
+-sigdata &data::find_signal (const signame &name) {
++sigdata &timing::data::find_signal (const signame &name) {
+ signal_database::iterator i = signals.find (name);
+ if (i == signals.end ()) {
+ i = signals.insert (signal_database::value_type (name, sigdata ())).first;
+@@ -143,7 +143,7 @@ sigdata &data::find_signal (const signam
+
+ // ------------------------------------------------------------
+
+-const sigdata &data::find_signal (const signame &name) const {
++const sigdata &timing::data::find_signal (const signame &name) const {
+ signal_database::const_iterator i = signals.find (name);
+ if (i == signals.end ())
+ throw not_found (name);
+@@ -152,7 +152,7 @@ const sigdata &data::find_signal (const
+
+ // ------------------------------------------------------------
+
+-void data::add_dependency (const signame &name, const signame &dep) {
++void timing::data::add_dependency (const signame &name, const signame &dep) {
+ // find the signal
+ sigdata &sig = find_signal (name);
+ sigdata &trigger = find_signal (dep);
+@@ -168,14 +168,14 @@ void data::add_dependency (const signame
+
+ // ------------------------------------------------------------
+
+-void data::add_dependencies (const signame &name, const signal_sequence &deps) {
++void timing::data::add_dependencies (const signame &name, const signal_sequence &deps) {
+ for (signal_sequence::const_iterator j = deps.begin (); j != deps.end (); ++ j)
+ add_dependency (name, *j);
+ }
+
+ // ------------------------------------------------------------
+
+-void data::add_delay (const signame &name, const signame &dep, const string &text) {
++void timing::data::add_delay (const signame &name, const signame &dep, const string &text) {
+ // a delay always indicates a dependency
+ // (but would require a way to select which is rendered)
+ // add_dependency (name, dep);
+@@ -206,7 +206,7 @@ void data::add_delay (const signame &nam
+
+ // ------------------------------------------------------------
+
+-void data::set_value (const signame &name, unsigned n, const sigvalue &value) {
++void timing::data::set_value (const signame &name, unsigned n, const sigvalue &value) {
+ // find the signal
+ sigdata &sig = find_signal (name);
+
+@@ -228,7 +228,7 @@ void data::set_value (const signame &nam
+
+ // ------------------------------------------------------------
+
+-void data::pad (unsigned n) {
++void timing::data::pad (unsigned n) {
+ // pad all sequences to length n
+ if (n > maxlen)
+ maxlen = n;
+@@ -250,7 +250,7 @@ ostream &operator<< (ostream &f, const s
+
+ // ------------------------------------------------------------
+
+-ostream &operator<< (ostream &f, const data &data) {
++ostream &operator<< (ostream &f, const timing::data &data) {
+ f << "signals: " << endl;
+ for (signal_sequence::const_iterator i = data.sequence.begin ();
+ i != data.sequence.end (); ++ i)
+@@ -288,7 +288,7 @@ ostream &operator<< (ostream &f, const d
+ // ------------------------------------------------------------
+ // calculate the required label width
+
+-static int label_width (const data &d) {
++static int label_width (const timing::data &d) {
+ int labelWidth = 0;
+
+ #ifndef LITE
+@@ -319,7 +319,7 @@ static int label_width (const data &d) {
+ // ------------------------------------------------------------
+ // calculate the basic height and width required before scaling
+
+-static void base_size (const data &d, int &w, int &h) {
++static void base_size (const timing::data &d, int &w, int &h) {
+
+ vCellHsep = vCellHt / 8;
+ vCellH=vCellHt-vCellHsep;
+@@ -596,7 +596,7 @@ static void draw_delay (gc &gc, int x0,
+
+ // ------------------------------------------------------------
+
+-static void render_common (gc& gc, const data &d,
++static void render_common (gc& gc, const timing::data &d,
+ double hscale, double vscale) {
+
+ gc.push ();
+@@ -650,7 +650,7 @@ static void render_common (gc& gc, const
+
+ // ------------------------------------------------------------
+
+-void timing::render (gc &gc, const data &d, double scale) {
++void timing::render (gc &gc, const timing::data &d, double scale) {
+ int base_width, base_height;
+ base_size (d, base_width, base_height);
+
+@@ -662,7 +662,7 @@ void timing::render (gc &gc, const data
+
+ // ------------------------------------------------------------
+
+-void timing::render (gc &gc, const data &d, int w, int h, bool fixAspect) {
++void timing::render (gc &gc, const timing::data &d, int w, int h, bool fixAspect) {
+ int base_width, base_height;
+ base_size (d, base_width, base_height);
+
+--- a/src/main.cc
++++ b/src/main.cc
+@@ -44,7 +44,7 @@ static void banner (void);
+ static void freesoft (void);
+
+ unsigned n;
+-timing::data data;
++timing::data data_;
+ timing::signal_sequence deps;
+ string outfile;
+ int verbose = 0;
+@@ -87,9 +87,9 @@ static void render_it (timing::gc& gc, i
+ int width, int height, double scale)
+ {
+ if (flags & FLAG_PAGESIZE)
+- render (gc, data, width, height, (flags & FLAG_ASPECT));
++ render (gc, data_, width, height, (flags & FLAG_ASPECT));
+ else
+- render (gc, data, scale);
++ render (gc, data_, scale);
+ }
+
+ int main (int argc, char *argv[]) {
+@@ -193,9 +193,9 @@ int main (int argc, char *argv[]) {
+ }
+ }
+
+- data.pad (n);
++ data_.pad (n);
+ if (verbose)
+- cout << data;
++ cout << data_;
+
+ if (outfile.empty ())
+ return 0;
diff --git a/debian/patches/series b/debian/patches/series
index 70f6873..a61e53a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,4 @@ manpage-fix.diff
missing-includes.diff
switch_LDFLAGS_LDADD.diff
test_workaround.diff
+repair-build-c++-17.patch
Attachment:
signature.asc
Description: PGP signature