Package: release.debian.org Severity: normal User: release.debian....@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) <aelmahmo...@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-de...@lists.alioth.debian.org> Uploaders: أحمد المحمودي (Ahmed El-Mahmoudy) <aelmahmo...@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 <sai...@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
signature.asc
Description: PGP signature